summaryrefslogtreecommitdiff
path: root/mysql-test
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test')
-rw-r--r--mysql-test/Makefile.am28
-rw-r--r--mysql-test/extra/binlog_tests/binlog.test17
-rw-r--r--mysql-test/extra/binlog_tests/blackhole.test25
-rw-r--r--mysql-test/extra/binlog_tests/ctype_cp932.test6
-rw-r--r--mysql-test/extra/binlog_tests/database.test15
-rw-r--r--mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test322
-rw-r--r--mysql-test/extra/binlog_tests/mix_innodb_myisam_side_effects.test294
-rw-r--r--mysql-test/extra/rpl_tests/rpl_charset.test (renamed from mysql-test/extra/rpl_tests/rpl_stm_charset.test)32
-rw-r--r--mysql-test/extra/rpl_tests/rpl_extraMaster_Col.test1041
-rw-r--r--mysql-test/extra/rpl_tests/rpl_extraSlave_Col.test219
-rw-r--r--mysql-test/extra/rpl_tests/rpl_foreign_key.test31
-rw-r--r--mysql-test/extra/rpl_tests/rpl_loaddata.test7
-rw-r--r--mysql-test/extra/rpl_tests/rpl_log.test8
-rw-r--r--mysql-test/extra/rpl_tests/rpl_max_relay_size.test15
-rw-r--r--mysql-test/extra/rpl_tests/rpl_ndb_2multi_basic.test119
-rw-r--r--mysql-test/extra/rpl_tests/rpl_ndb_2multi_eng.test1
-rw-r--r--mysql-test/extra/rpl_tests/rpl_ndb_apply_status.test21
-rw-r--r--mysql-test/extra/rpl_tests/rpl_reset_slave.test8
-rw-r--r--mysql-test/extra/rpl_tests/rpl_row_basic.test55
-rw-r--r--mysql-test/extra/rpl_tests/rpl_row_charset.test177
-rw-r--r--mysql-test/extra/rpl_tests/rpl_row_tabledefs.test39
-rw-r--r--mysql-test/extra/rpl_tests/rpl_truncate_helper.test14
-rw-r--r--mysql-test/include/commit.inc745
-rw-r--r--mysql-test/include/connect2.inc56
-rw-r--r--mysql-test/include/ctype_common.inc27
-rw-r--r--mysql-test/include/ctype_german.inc40
-rw-r--r--mysql-test/include/ctype_like_range_f1f2.inc25
-rw-r--r--mysql-test/include/ctype_regex.inc42
-rw-r--r--mysql-test/include/ddl_i18n.check_views.inc12
-rw-r--r--mysql-test/include/deadlock.inc27
-rw-r--r--mysql-test/include/delete_anonymous_users.inc2
-rw-r--r--mysql-test/include/diff_tables.inc122
-rw-r--r--mysql-test/include/gis_keys.inc46
-rw-r--r--mysql-test/include/handler.inc227
-rw-r--r--mysql-test/include/have_binlog_format_row_or_statement.inc7
-rw-r--r--mysql-test/include/have_bug25714.inc2
-rw-r--r--mysql-test/include/have_community_features.inc4
-rw-r--r--mysql-test/include/have_innodb.inc2
-rw-r--r--mysql-test/include/have_local_infile.inc4
-rw-r--r--mysql-test/include/have_multi_ndb.inc44
-rw-r--r--mysql-test/include/innodb_rollback_on_timeout.inc4
-rw-r--r--mysql-test/include/mix1.inc388
-rw-r--r--mysql-test/include/ndb_master-slave.inc3
-rw-r--r--mysql-test/include/ndb_wait_connected.inc26
-rw-r--r--mysql-test/include/partition_1.inc750
-rw-r--r--mysql-test/include/ps_modify.inc1
-rw-r--r--mysql-test/include/ps_query.inc4
-rw-r--r--mysql-test/include/query_cache_sql_prepare.inc218
-rw-r--r--mysql-test/include/reset_master_and_slave.inc10
-rw-r--r--mysql-test/include/rpl_events.inc2
-rw-r--r--mysql-test/include/rpl_multi_engine2.inc91
-rw-r--r--mysql-test/include/rpl_udf.inc20
-rw-r--r--mysql-test/include/set_binlog_format_mixed.sql2
-rw-r--r--mysql-test/include/set_binlog_format_row.sql2
-rw-r--r--mysql-test/include/set_binlog_format_statement.sql2
-rw-r--r--mysql-test/include/show_binary_logs.inc5
-rw-r--r--mysql-test/include/show_binlog_events.inc2
-rw-r--r--mysql-test/include/show_binlog_events2.inc4
-rw-r--r--mysql-test/include/show_master_logs.inc5
-rw-r--r--mysql-test/include/show_master_status.inc5
-rw-r--r--mysql-test/include/show_slave_status2.inc8
-rw-r--r--mysql-test/include/test_fieldsize.inc40
-rw-r--r--mysql-test/include/wait_condition.inc5
-rw-r--r--mysql-test/include/wait_for_binlog_event.inc33
-rw-r--r--mysql-test/include/wait_for_slave_sql_error.inc33
-rw-r--r--mysql-test/include/wait_for_slave_sql_to_stop.inc5
-rw-r--r--mysql-test/include/wait_for_slave_to_stop.inc2
-rw-r--r--mysql-test/include/windows.inc9
-rw-r--r--mysql-test/lib/My/Config.pm422
-rw-r--r--mysql-test/lib/mtr_cases.pl397
-rw-r--r--mysql-test/lib/mtr_misc.pl108
-rw-r--r--mysql-test/lib/mtr_process.pl21
-rw-r--r--mysql-test/lib/mtr_report.pl181
-rw-r--r--mysql-test/lib/mtr_timer.pl31
-rw-r--r--mysql-test/mysql-test-run-shell.sh13
-rwxr-xr-xmysql-test/mysql-test-run.pl385
-rw-r--r--mysql-test/r/almost_full.result29
-rw-r--r--mysql-test/r/alter_table.result18
-rw-r--r--mysql-test/r/analyze.result8
-rw-r--r--mysql-test/r/archive.result24
-rw-r--r--mysql-test/r/auto_increment.result12
-rw-r--r--mysql-test/r/bdb_notembedded.result35
-rw-r--r--mysql-test/r/bigint.result6
-rw-r--r--mysql-test/r/binlog_unsafe.result13
-rw-r--r--mysql-test/r/case.result24
-rw-r--r--mysql-test/r/cast.result24
-rw-r--r--mysql-test/r/change_user.result46
-rw-r--r--mysql-test/r/comments.result15
-rw-r--r--mysql-test/r/commit_1innodb.result884
-rw-r--r--mysql-test/r/compare.result38
-rw-r--r--mysql-test/r/compress.result6
-rw-r--r--mysql-test/r/connect.result103
-rw-r--r--mysql-test/r/create.result211
-rw-r--r--mysql-test/r/csv.result121
-rw-r--r--mysql-test/r/csv_not_null.result53
-rw-r--r--mysql-test/r/ctype_ascii.result177
-rw-r--r--mysql-test/r/ctype_big5.result70
-rw-r--r--mysql-test/r/ctype_collate.result4
-rw-r--r--mysql-test/r/ctype_cp1250_ch.result186
-rw-r--r--mysql-test/r/ctype_cp932_binlog_stm.result6
-rwxr-xr-xmysql-test/r/ctype_eucjpms.result34
-rw-r--r--mysql-test/r/ctype_euckr.result111
-rw-r--r--mysql-test/r/ctype_gb2312.result70
-rw-r--r--mysql-test/r/ctype_gbk.result70
-rw-r--r--mysql-test/r/ctype_latin1_de.result35
-rw-r--r--mysql-test/r/ctype_recoding.result14
-rw-r--r--mysql-test/r/ctype_sjis.result34
-rw-r--r--mysql-test/r/ctype_uca.result133
-rw-r--r--mysql-test/r/ctype_ucs.result250
-rw-r--r--mysql-test/r/ctype_ucs2_def.result10
-rw-r--r--mysql-test/r/ctype_ujis.result34
-rw-r--r--mysql-test/r/ctype_utf8.result158
-rw-r--r--mysql-test/r/date_formats.result68
-rw-r--r--mysql-test/r/ddl_i18n_koi8r.result56
-rw-r--r--mysql-test/r/ddl_i18n_utf8.result56
-rw-r--r--mysql-test/r/deadlock_innodb.result11
-rw-r--r--mysql-test/r/default.result2
-rw-r--r--mysql-test/r/delayed.result56
-rw-r--r--mysql-test/r/delete.result56
-rw-r--r--mysql-test/r/derived.result3
-rw-r--r--mysql-test/r/distinct.result14
-rw-r--r--mysql-test/r/drop.result34
-rw-r--r--mysql-test/r/endspace.result2
-rw-r--r--mysql-test/r/events_1.result (renamed from mysql-test/r/events.result)309
-rw-r--r--mysql-test/r/events_2.result321
-rw-r--r--mysql-test/r/events_bugs.result136
-rw-r--r--mysql-test/r/events_logs_tests.result164
-rw-r--r--mysql-test/r/events_scheduling.result5
-rw-r--r--mysql-test/r/events_trans.result2
-rw-r--r--mysql-test/r/explain.result20
-rw-r--r--mysql-test/r/federated.result183
-rw-r--r--mysql-test/r/federated_server.result10
-rw-r--r--mysql-test/r/flush.result17
-rw-r--r--mysql-test/r/flush_read_lock_kill.result3
-rw-r--r--mysql-test/r/fulltext.result10
-rw-r--r--mysql-test/r/func_crypt.result2
-rw-r--r--mysql-test/r/func_encrypt.result2
-rw-r--r--mysql-test/r/func_gconcat.result129
-rw-r--r--mysql-test/r/func_group.result42
-rw-r--r--mysql-test/r/func_if.result2
-rw-r--r--mysql-test/r/func_in.result7
-rw-r--r--mysql-test/r/func_like.result4
-rw-r--r--mysql-test/r/func_math.result57
-rw-r--r--mysql-test/r/func_misc.result68
-rw-r--r--mysql-test/r/func_regexp.result21
-rw-r--r--mysql-test/r/func_sapdb.result5
-rw-r--r--mysql-test/r/func_set.result32
-rw-r--r--mysql-test/r/func_str.result105
-rw-r--r--mysql-test/r/func_time.result66
-rw-r--r--mysql-test/r/gis-rtree.result35
-rw-r--r--mysql-test/r/gis.result109
-rw-r--r--mysql-test/r/grant.result125
-rw-r--r--mysql-test/r/grant2.result18
-rw-r--r--mysql-test/r/grant3.result139
-rw-r--r--mysql-test/r/group_by.result344
-rw-r--r--mysql-test/r/group_min_max.result79
-rw-r--r--mysql-test/r/handler_innodb.result213
-rw-r--r--mysql-test/r/handler_myisam.result213
-rw-r--r--mysql-test/r/have_community_features.require2
-rw-r--r--mysql-test/r/have_local_infile.require2
-rw-r--r--mysql-test/r/heap.result1
-rw-r--r--mysql-test/r/heap_btree.result15
-rw-r--r--mysql-test/r/index_merge_myisam.result2
-rw-r--r--mysql-test/r/information_schema.result244
-rw-r--r--mysql-test/r/information_schema_db.result21
-rw-r--r--mysql-test/r/innodb-semi-consistent.result37
-rw-r--r--mysql-test/r/innodb-ucs2.result1
-rw-r--r--mysql-test/r/innodb.result218
-rw-r--r--mysql-test/r/innodb_autoinc_lock_mode_zero.result39
-rw-r--r--mysql-test/r/innodb_bug34053.result1
-rw-r--r--mysql-test/r/innodb_gis.result39
-rw-r--r--mysql-test/r/innodb_mysql.result424
-rw-r--r--mysql-test/r/innodb_timeout_rollback.result1
-rw-r--r--mysql-test/r/insert.result134
-rw-r--r--mysql-test/r/insert_notembedded.result19
-rw-r--r--mysql-test/r/insert_select.result12
-rw-r--r--mysql-test/r/join.result164
-rw-r--r--mysql-test/r/join_outer_innodb.result4
-rw-r--r--mysql-test/r/key.result96
-rw-r--r--mysql-test/r/key_cache.result2
-rw-r--r--mysql-test/r/kill.result14
-rw-r--r--mysql-test/r/limit.result9
-rw-r--r--mysql-test/r/lock.result70
-rw-r--r--mysql-test/r/lock_multi.result65
-rw-r--r--mysql-test/r/log_state.result79
-rw-r--r--mysql-test/r/log_tables.result371
-rw-r--r--mysql-test/r/lowercase_view.result21
-rw-r--r--mysql-test/r/merge-big.result26
-rw-r--r--mysql-test/r/merge.result1156
-rw-r--r--mysql-test/r/merge_innodb.result37
-rw-r--r--mysql-test/r/metadata.result2
-rw-r--r--mysql-test/r/mix2_myisam.result1
-rw-r--r--mysql-test/r/multi_update.result19
-rw-r--r--mysql-test/r/myisam.result255
-rw-r--r--mysql-test/r/myisampack.result29
-rw-r--r--mysql-test/r/mysql.result15
-rw-r--r--mysql-test/r/mysql_comments.result62
-rw-r--r--mysql-test/r/mysql_upgrade.result32
-rw-r--r--mysql-test/r/mysqlbinlog.result197
-rw-r--r--mysql-test/r/mysqlbinlog2.result508
-rw-r--r--mysql-test/r/mysqlcheck.result61
-rw-r--r--mysql-test/r/mysqldump-compat.result4
-rw-r--r--mysql-test/r/mysqldump-no-binlog.result1
-rw-r--r--mysql-test/r/mysqldump.result267
-rw-r--r--mysql-test/r/mysqlshow.result2
-rw-r--r--mysql-test/r/mysqlslap.result18
-rw-r--r--mysql-test/r/mysqltest.result28
-rw-r--r--mysql-test/r/named_pipe.result2153
-rw-r--r--mysql-test/r/negation_elimination.result2
-rw-r--r--mysql-test/r/no-threads.result7
-rw-r--r--mysql-test/r/not_embedded_server.result9
-rw-r--r--mysql-test/r/null.result37
-rw-r--r--mysql-test/r/null_key.result18
-rw-r--r--mysql-test/r/olap.result19
-rw-r--r--mysql-test/r/order_by.result355
-rw-r--r--mysql-test/r/outfile_loaddata.result103
-rw-r--r--mysql-test/r/packet.result8
-rw-r--r--mysql-test/r/parser.result73
-rw-r--r--mysql-test/r/parser_precedence.result747
-rw-r--r--mysql-test/r/partition.result275
-rw-r--r--mysql-test/r/partition_02myisam.result1725
-rw-r--r--mysql-test/r/partition_archive.result91
-rw-r--r--mysql-test/r/partition_blackhole.result7
-rw-r--r--mysql-test/r/partition_csv.result15
-rw-r--r--mysql-test/r/partition_datatype.result334
-rw-r--r--mysql-test/r/partition_error.result28
-rw-r--r--mysql-test/r/partition_hash.result15
-rw-r--r--mysql-test/r/partition_innodb.result49
-rw-r--r--mysql-test/r/partition_mgm.result10
-rw-r--r--mysql-test/r/partition_not_windows.result88
-rw-r--r--mysql-test/r/partition_pruning.result28
-rw-r--r--mysql-test/r/partition_range.result35
-rw-r--r--mysql-test/r/partition_symlink.result121
-rw-r--r--mysql-test/r/partition_windows.result40
-rw-r--r--mysql-test/r/plugin.result37
-rw-r--r--mysql-test/r/plugin_load.result3
-rw-r--r--mysql-test/r/profiling.result415
-rw-r--r--mysql-test/r/ps.result222
-rw-r--r--mysql-test/r/ps_1general.result6
-rw-r--r--mysql-test/r/ps_2myisam.result22
-rw-r--r--mysql-test/r/ps_3innodb.result22
-rw-r--r--mysql-test/r/ps_4heap.result22
-rw-r--r--mysql-test/r/ps_5merge.result44
-rw-r--r--mysql-test/r/ps_ddl.result3607
-rw-r--r--mysql-test/r/query_cache.result86
-rw-r--r--mysql-test/r/query_cache_debug.result24
-rw-r--r--mysql-test/r/query_cache_notembedded.result33
-rw-r--r--mysql-test/r/query_cache_ps_no_prot.result158
-rw-r--r--mysql-test/r/query_cache_ps_ps_prot.result158
-rw-r--r--mysql-test/r/query_cache_with_views.result (renamed from mysql-test/r/view_query_cache.result)0
-rw-r--r--mysql-test/r/range.result31
-rw-r--r--mysql-test/r/read_only.result28
-rw-r--r--mysql-test/r/renamedb.result43
-rw-r--r--mysql-test/r/repair.result27
-rw-r--r--mysql-test/r/row.result9
-rw-r--r--mysql-test/r/rpl_colSize.result179
-rw-r--r--mysql-test/r/rpl_extraColmaster_innodb.resultbin0 -> 24418 bytes
-rw-r--r--mysql-test/r/rpl_extraColmaster_myisam.resultbin0 -> 24418 bytes
-rw-r--r--mysql-test/r/select.result397
-rw-r--r--mysql-test/r/select_found.result2
-rw-r--r--mysql-test/r/shm.result2155
-rw-r--r--mysql-test/r/show_check.result90
-rw-r--r--mysql-test/r/skip_grants.result8
-rw-r--r--mysql-test/r/sp-code.result201
-rw-r--r--mysql-test/r/sp-error.result178
-rw-r--r--mysql-test/r/sp-security.result8
-rw-r--r--mysql-test/r/sp.result468
-rw-r--r--mysql-test/r/sp_gis.result4
-rw-r--r--mysql-test/r/sp_notembedded.result34
-rw-r--r--mysql-test/r/sp_trans_log.result1
-rw-r--r--mysql-test/r/sql_mode.result10
-rw-r--r--mysql-test/r/ssl.result6
-rw-r--r--mysql-test/r/ssl_compress.result6
-rw-r--r--mysql-test/r/status.result79
-rw-r--r--mysql-test/r/strict.result37
-rw-r--r--mysql-test/r/strict_autoinc_4bdb.result28
-rw-r--r--mysql-test/r/subselect.result305
-rw-r--r--mysql-test/r/subselect3.result2
-rw-r--r--mysql-test/r/subselect_notembedded.result101
-rw-r--r--mysql-test/r/symlink.result79
-rw-r--r--mysql-test/r/system_mysql_db.result24
-rw-r--r--mysql-test/r/tablelock.result9
-rw-r--r--mysql-test/r/temp_table.result2
-rw-r--r--mysql-test/r/trigger-trans.result19
-rw-r--r--mysql-test/r/trigger.result77
-rw-r--r--mysql-test/r/trigger_notembedded.result (renamed from mysql-test/r/trigger-grant.result)19
-rw-r--r--mysql-test/r/type_binary.result1
-rw-r--r--mysql-test/r/type_bit.result66
-rw-r--r--mysql-test/r/type_bit_innodb.result2
-rw-r--r--mysql-test/r/type_blob.result16
-rw-r--r--mysql-test/r/type_date.result128
-rw-r--r--mysql-test/r/type_datetime.result134
-rw-r--r--mysql-test/r/type_decimal.result158
-rw-r--r--mysql-test/r/type_enum.result2
-rw-r--r--mysql-test/r/type_float.result16
-rw-r--r--mysql-test/r/type_newdecimal.result20
-rw-r--r--mysql-test/r/type_ranges.result26
-rw-r--r--mysql-test/r/type_set.result9
-rw-r--r--mysql-test/r/type_timestamp.result8
-rw-r--r--mysql-test/r/udf.result52
-rw-r--r--mysql-test/r/udf_skip_grants.result5
-rw-r--r--mysql-test/r/union.result75
-rw-r--r--mysql-test/r/upgrade.result25
-rw-r--r--mysql-test/r/user_var-binlog.result10
-rw-r--r--mysql-test/r/user_var.result18
-rw-r--r--mysql-test/r/variables+c.result7
-rw-r--r--mysql-test/r/variables-notembedded.result17
-rw-r--r--mysql-test/r/variables.result53
-rw-r--r--mysql-test/r/variables_debug.result12
-rw-r--r--mysql-test/r/view.result229
-rw-r--r--mysql-test/r/view_grant.result68
-rw-r--r--mysql-test/r/warnings.result41
-rw-r--r--mysql-test/r/windows.result1
-rw-r--r--mysql-test/r/windows_shm.result2
-rw-r--r--mysql-test/r/xml.result36
-rw-r--r--mysql-test/std_data/bug30435_10k_items.txt10000
-rw-r--r--mysql-test/std_data/bug30435_5k.txt5000
-rw-r--r--mysql-test/std_data/corrupt-relay-bin.000624bin0 -> 91418 bytes
-rw-r--r--mysql-test/std_data/funcs_1/innodb_tb1.txt (renamed from mysql-test/suite/funcs_1/data/innodb_tb1.txt)0
-rw-r--r--mysql-test/std_data/funcs_1/innodb_tb2.txt (renamed from mysql-test/suite/funcs_1/data/innodb_tb2.txt)0
-rw-r--r--mysql-test/std_data/funcs_1/innodb_tb3.txt (renamed from mysql-test/suite/funcs_1/data/innodb_tb3.txt)0
-rw-r--r--mysql-test/std_data/funcs_1/innodb_tb4.txt (renamed from mysql-test/suite/funcs_1/data/innodb_tb4.txt)0
-rw-r--r--mysql-test/std_data/funcs_1/load_file.txt1
-rw-r--r--mysql-test/std_data/funcs_1/memory_tb1.txt (renamed from mysql-test/suite/funcs_1/data/memory_tb1.txt)0
-rw-r--r--mysql-test/std_data/funcs_1/memory_tb2.txt (renamed from mysql-test/suite/funcs_1/data/memory_tb2.txt)0
-rw-r--r--mysql-test/std_data/funcs_1/memory_tb3.txt (renamed from mysql-test/suite/funcs_1/data/memory_tb3.txt)0
-rw-r--r--mysql-test/std_data/funcs_1/memory_tb4.txt (renamed from mysql-test/suite/funcs_1/data/memory_tb4.txt)0
-rw-r--r--mysql-test/std_data/funcs_1/myisam_tb1.txt (renamed from mysql-test/suite/funcs_1/data/myisam_tb1.txt)0
-rw-r--r--mysql-test/std_data/funcs_1/myisam_tb2.txt (renamed from mysql-test/suite/funcs_1/data/myisam_tb2.txt)0
-rw-r--r--mysql-test/std_data/funcs_1/myisam_tb3.txt (renamed from mysql-test/suite/funcs_1/data/myisam_tb3.txt)0
-rw-r--r--mysql-test/std_data/funcs_1/myisam_tb4.txt (renamed from mysql-test/suite/funcs_1/data/myisam_tb4.txt)0
-rw-r--r--mysql-test/std_data/funcs_1/ndb_tb1.txt (renamed from mysql-test/suite/funcs_1/data/ndb_tb1.txt)0
-rw-r--r--mysql-test/std_data/funcs_1/ndb_tb2.txt (renamed from mysql-test/suite/funcs_1/data/ndb_tb2.txt)0
-rw-r--r--mysql-test/std_data/funcs_1/ndb_tb3.txt (renamed from mysql-test/suite/funcs_1/data/ndb_tb3.txt)0
-rw-r--r--mysql-test/std_data/funcs_1/ndb_tb4.txt (renamed from mysql-test/suite/funcs_1/data/ndb_tb4.txt)0
-rw-r--r--mysql-test/std_data/funcs_1/t3.txt (renamed from mysql-test/suite/funcs_1/data/t3.txt)0
-rw-r--r--mysql-test/std_data/funcs_1/t4.txt (renamed from mysql-test/suite/funcs_1/data/t4.txt)0
-rw-r--r--mysql-test/std_data/funcs_1/t7.txt (renamed from mysql-test/suite/funcs_1/data/t7.txt)0
-rw-r--r--mysql-test/std_data/funcs_1/t9.txt (renamed from mysql-test/suite/funcs_1/data/t9.txt)0
-rw-r--r--mysql-test/std_data/ndb_backup50/BACKUP-2-0.1.Databin0 -> 19084 bytes
-rw-r--r--mysql-test/std_data/ndb_backup50/BACKUP-2-0.2.Databin0 -> 16392 bytes
-rw-r--r--mysql-test/std_data/ndb_backup50/BACKUP-2.1.ctlbin0 -> 2592 bytes
-rw-r--r--mysql-test/std_data/ndb_backup50/BACKUP-2.1.logbin0 -> 44 bytes
-rw-r--r--mysql-test/std_data/ndb_backup50/BACKUP-2.2.ctlbin0 -> 2592 bytes
-rw-r--r--mysql-test/std_data/ndb_backup50/BACKUP-2.2.logbin0 -> 44 bytes
-rw-r--r--mysql-test/std_data/ndb_backup51_data_be/BACKUP-1-0.1.Databin0 -> 43068 bytes
-rw-r--r--mysql-test/std_data/ndb_backup51_data_be/BACKUP-1-0.2.Databin0 -> 30276 bytes
-rw-r--r--mysql-test/std_data/ndb_backup51_data_be/BACKUP-1.1.ctlbin0 -> 33964 bytes
-rw-r--r--mysql-test/std_data/ndb_backup51_data_be/BACKUP-1.1.logbin0 -> 44 bytes
-rw-r--r--mysql-test/std_data/ndb_backup51_data_be/BACKUP-1.2.ctlbin0 -> 33964 bytes
-rw-r--r--mysql-test/std_data/ndb_backup51_data_be/BACKUP-1.2.logbin0 -> 44 bytes
-rw-r--r--mysql-test/std_data/ndb_backup51_data_le/BACKUP-1-0.1.Databin0 -> 23788 bytes
-rw-r--r--mysql-test/std_data/ndb_backup51_data_le/BACKUP-1-0.2.Databin0 -> 49556 bytes
-rw-r--r--mysql-test/std_data/ndb_backup51_data_le/BACKUP-1.1.ctlbin0 -> 33964 bytes
-rw-r--r--mysql-test/std_data/ndb_backup51_data_le/BACKUP-1.1.logbin0 -> 44 bytes
-rw-r--r--mysql-test/std_data/ndb_backup51_data_le/BACKUP-1.2.ctlbin0 -> 33964 bytes
-rw-r--r--mysql-test/std_data/ndb_backup51_data_le/BACKUP-1.2.logbin0 -> 44 bytes
-rw-r--r--mysql-test/std_data/parts/part_supported_sql_funcs_int_ch1.inc (renamed from mysql-test/suite/parts/inc/part_supported_sql_funcs_int_ch1.inc)0
-rw-r--r--mysql-test/std_data/parts/part_supported_sql_funcs_int_date.inc (renamed from mysql-test/suite/parts/inc/part_supported_sql_funcs_int_date.inc)0
-rw-r--r--mysql-test/std_data/parts/part_supported_sql_funcs_int_float.inc (renamed from mysql-test/suite/parts/inc/part_supported_sql_funcs_int_float.inc)0
-rw-r--r--mysql-test/std_data/parts/part_supported_sql_funcs_int_int.inc (renamed from mysql-test/suite/parts/inc/part_supported_sql_funcs_int_int.inc)0
-rw-r--r--mysql-test/std_data/parts/part_supported_sql_funcs_int_time.inc (renamed from mysql-test/suite/parts/inc/part_supported_sql_funcs_int_time.inc)0
-rw-r--r--mysql-test/suite/binlog/combinations8
-rw-r--r--mysql-test/suite/binlog/r/binlog_base64_flag.result68
-rw-r--r--mysql-test/suite/binlog/r/binlog_database.result56
-rw-r--r--mysql-test/suite/binlog/r/binlog_innodb.result34
-rw-r--r--mysql-test/suite/binlog/r/binlog_killed.result131
-rw-r--r--mysql-test/suite/binlog/r/binlog_killed_simulate.result33
-rw-r--r--mysql-test/suite/binlog/r/binlog_multi_engine.result24
-rw-r--r--mysql-test/suite/binlog/r/binlog_old_versions.result71
-rw-r--r--mysql-test/suite/binlog/r/binlog_row_binlog.result1630
-rw-r--r--mysql-test/suite/binlog/r/binlog_row_ctype_cp932.result127
-rw-r--r--mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result497
-rw-r--r--mysql-test/suite/binlog/r/binlog_start_comment.result15
-rw-r--r--mysql-test/suite/binlog/r/binlog_stm_binlog.result15
-rw-r--r--mysql-test/suite/binlog/r/binlog_stm_blackhole.result29
-rwxr-xr-xmysql-test/suite/binlog/r/binlog_stm_ctype_cp932.result127
-rw-r--r--mysql-test/suite/binlog/r/binlog_stm_ctype_ucs.result7
-rw-r--r--mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result451
-rw-r--r--mysql-test/suite/binlog/r/binlog_stm_ps.result2
-rw-r--r--mysql-test/suite/binlog/r/binlog_unsafe.result222
-rw-r--r--mysql-test/suite/binlog/std_data/binlog_old_version_4_1.000001bin0 -> 149436 bytes
-rw-r--r--mysql-test/suite/binlog/std_data/bug32407.001bin0 -> 368 bytes
-rw-r--r--mysql-test/suite/binlog/std_data/ver_5_1-telco.001bin0 -> 150385 bytes
-rw-r--r--mysql-test/suite/binlog/std_data/ver_5_1-wl2325_r.001bin0 -> 705 bytes
-rw-r--r--mysql-test/suite/binlog/std_data/ver_5_1-wl2325_s.001bin0 -> 149796 bytes
-rw-r--r--mysql-test/suite/binlog/std_data/ver_5_1_17.001bin0 -> 150385 bytes
-rw-r--r--mysql-test/suite/binlog/std_data/ver_5_1_23.001bin0 -> 150402 bytes
-rw-r--r--mysql-test/suite/binlog/t/binlog_base64_flag.test106
-rw-r--r--mysql-test/suite/binlog/t/binlog_database.test12
-rw-r--r--mysql-test/suite/binlog/t/binlog_innodb.test39
-rw-r--r--mysql-test/suite/binlog/t/binlog_killed.test325
-rw-r--r--mysql-test/suite/binlog/t/binlog_killed_simulate-master.opt1
-rw-r--r--mysql-test/suite/binlog/t/binlog_killed_simulate.test69
-rw-r--r--mysql-test/suite/binlog/t/binlog_multi_engine.test22
-rw-r--r--mysql-test/suite/binlog/t/binlog_old_versions.test163
-rw-r--r--mysql-test/suite/binlog/t/binlog_row_mix_innodb_myisam.test20
-rw-r--r--mysql-test/suite/binlog/t/binlog_start_comment.test24
-rw-r--r--mysql-test/suite/binlog/t/binlog_stm_mix_innodb_myisam.test142
-rw-r--r--mysql-test/suite/binlog/t/binlog_stm_ps.test2
-rw-r--r--mysql-test/suite/binlog/t/binlog_unsafe.test259
-rw-r--r--mysql-test/suite/bugs/data/rpl_bug12691.dat3
-rw-r--r--mysql-test/suite/bugs/r/rpl_bug12691.result34
-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/t/rpl_bug12691.test53
-rw-r--r--mysql-test/suite/bugs/t/rpl_bug23533.test43
-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/funcs_1/README.txt164
-rw-r--r--mysql-test/suite/funcs_1/datadict/basics_mixed1.inc53
-rw-r--r--mysql-test/suite/funcs_1/datadict/basics_mixed2.inc55
-rw-r--r--mysql-test/suite/funcs_1/datadict/basics_mixed3.inc42
-rw-r--r--mysql-test/suite/funcs_1/datadict/charset_collation.inc122
-rw-r--r--mysql-test/suite/funcs_1/datadict/columns.inc87
-rw-r--r--mysql-test/suite/funcs_1/datadict/datadict.pre54
-rw-r--r--mysql-test/suite/funcs_1/datadict/datadict_bug_12777.inc12
-rw-r--r--mysql-test/suite/funcs_1/datadict/datadict_load.inc111
-rw-r--r--mysql-test/suite/funcs_1/datadict/datadict_master.inc3917
-rw-r--r--mysql-test/suite/funcs_1/datadict/datadict_priv.inc110
-rw-r--r--mysql-test/suite/funcs_1/datadict/datadict_show_schema.inc56
-rw-r--r--mysql-test/suite/funcs_1/datadict/datadict_show_table_design.inc28
-rw-r--r--mysql-test/suite/funcs_1/datadict/datadict_tables.inc62
-rw-r--r--mysql-test/suite/funcs_1/datadict/datadict_tables_error.inc33
-rw-r--r--mysql-test/suite/funcs_1/datadict/datadict_tables_error_1.inc80
-rwxr-xr-xmysql-test/suite/funcs_1/datadict/datadict_tables_error_1044.inc51
-rw-r--r--mysql-test/suite/funcs_1/datadict/datadict_tables_error_1049.inc49
-rw-r--r--mysql-test/suite/funcs_1/datadict/datadict_tables_error_1051.inc49
-rw-r--r--mysql-test/suite/funcs_1/datadict/datadict_tables_error_1146.inc49
-rw-r--r--mysql-test/suite/funcs_1/datadict/datadict_tables_error_1288.inc49
-rw-r--r--mysql-test/suite/funcs_1/datadict/is_table_query.inc42
-rw-r--r--mysql-test/suite/funcs_1/datadict/processlist_priv.inc434
-rw-r--r--mysql-test/suite/funcs_1/datadict/processlist_val.inc309
-rw-r--r--mysql-test/suite/funcs_1/datadict/statistics.inc55
-rw-r--r--mysql-test/suite/funcs_1/datadict/table_constraints.inc45
-rw-r--r--mysql-test/suite/funcs_1/datadict/tables1.inc39
-rw-r--r--mysql-test/suite/funcs_1/datadict/tables2.inc47
-rw-r--r--mysql-test/suite/funcs_1/include/cleanup.inc21
-rw-r--r--mysql-test/suite/funcs_1/include/create_database.inc6
-rw-r--r--mysql-test/suite/funcs_1/include/create_user_lowest_priv.inc10
-rw-r--r--mysql-test/suite/funcs_1/include/create_user_no_super.inc11
-rw-r--r--mysql-test/suite/funcs_1/include/innodb_tb1.inc119
-rw-r--r--mysql-test/suite/funcs_1/include/innodb_tb2.inc106
-rw-r--r--mysql-test/suite/funcs_1/include/innodb_tb3.inc122
-rw-r--r--mysql-test/suite/funcs_1/include/innodb_tb4.inc106
-rw-r--r--mysql-test/suite/funcs_1/include/memory_tb1.inc107
-rw-r--r--mysql-test/suite/funcs_1/include/memory_tb2.inc109
-rw-r--r--mysql-test/suite/funcs_1/include/memory_tb3.inc114
-rw-r--r--mysql-test/suite/funcs_1/include/memory_tb4.inc109
-rw-r--r--mysql-test/suite/funcs_1/include/myisam_tb1.inc118
-rw-r--r--mysql-test/suite/funcs_1/include/myisam_tb2.inc138
-rw-r--r--mysql-test/suite/funcs_1/include/myisam_tb3.inc122
-rw-r--r--mysql-test/suite/funcs_1/include/myisam_tb4.inc136
-rw-r--r--mysql-test/suite/funcs_1/include/ndb_tb1.inc119
-rw-r--r--mysql-test/suite/funcs_1/include/ndb_tb2.inc108
-rw-r--r--mysql-test/suite/funcs_1/include/ndb_tb3.inc122
-rw-r--r--mysql-test/suite/funcs_1/include/ndb_tb4.inc106
-rw-r--r--mysql-test/suite/funcs_1/include/sp_tb.inc87
-rw-r--r--mysql-test/suite/funcs_1/r/charset_collation_1.result312
-rw-r--r--mysql-test/suite/funcs_1/r/charset_collation_2.result314
-rw-r--r--mysql-test/suite/funcs_1/r/charset_collation_3.result309
-rw-r--r--mysql-test/suite/funcs_1/r/innodb__datadict.result15268
-rw-r--r--mysql-test/suite/funcs_1/r/innodb__load.result1
-rw-r--r--mysql-test/suite/funcs_1/r/innodb_bitdata.result64
-rw-r--r--mysql-test/suite/funcs_1/r/innodb_cursors.result78
-rw-r--r--mysql-test/suite/funcs_1/r/innodb_func_view.result2232
-rw-r--r--mysql-test/suite/funcs_1/r/innodb_storedproc.result4232
-rw-r--r--[-rwxr-xr-x]mysql-test/suite/funcs_1/r/innodb_storedproc_02.result64
-rw-r--r--[-rwxr-xr-x]mysql-test/suite/funcs_1/r/innodb_storedproc_03.result50
-rw-r--r--mysql-test/suite/funcs_1/r/innodb_storedproc_06.result53
-rw-r--r--[-rwxr-xr-x]mysql-test/suite/funcs_1/r/innodb_storedproc_07.result58
-rw-r--r--[-rwxr-xr-x]mysql-test/suite/funcs_1/r/innodb_storedproc_08.result158
-rw-r--r--[-rwxr-xr-x]mysql-test/suite/funcs_1/r/innodb_storedproc_10.result165
-rw-r--r--mysql-test/suite/funcs_1/r/innodb_trig_0102.result177
-rw-r--r--mysql-test/suite/funcs_1/r/innodb_trig_03.result203
-rw-r--r--mysql-test/suite/funcs_1/r/innodb_trig_03e.result35
-rw-r--r--mysql-test/suite/funcs_1/r/innodb_trig_0407.result159
-rw-r--r--mysql-test/suite/funcs_1/r/innodb_trig_08.result288
-rw-r--r--mysql-test/suite/funcs_1/r/innodb_trig_09.result159
-rw-r--r--mysql-test/suite/funcs_1/r/innodb_trig_1011ext.result127
-rw-r--r--mysql-test/suite/funcs_1/r/innodb_trig_frkey.result121
-rw-r--r--mysql-test/suite/funcs_1/r/innodb_triggers.result2331
-rw-r--r--mysql-test/suite/funcs_1/r/innodb_views.result12635
-rw-r--r--mysql-test/suite/funcs_1/r/is_basics_mixed.result602
-rw-r--r--mysql-test/suite/funcs_1/r/is_character_sets.result78
-rw-r--r--mysql-test/suite/funcs_1/r/is_collation_character_set_applicability.result76
-rw-r--r--mysql-test/suite/funcs_1/r/is_collations.result90
-rw-r--r--mysql-test/suite/funcs_1/r/is_column_privileges.result372
-rw-r--r--mysql-test/suite/funcs_1/r/is_column_privileges_is_mysql_test.result37
-rw-r--r--mysql-test/suite/funcs_1/r/is_columns.result486
-rw-r--r--mysql-test/suite/funcs_1/r/is_columns_innodb.result1140
-rw-r--r--mysql-test/suite/funcs_1/r/is_columns_is.result656
-rw-r--r--mysql-test/suite/funcs_1/r/is_columns_memory.result1086
-rw-r--r--mysql-test/suite/funcs_1/r/is_columns_myisam.result1217
-rw-r--r--mysql-test/suite/funcs_1/r/is_columns_mysql.result499
-rw-r--r--mysql-test/suite/funcs_1/r/is_columns_ndb.result228
-rw-r--r--mysql-test/suite/funcs_1/r/is_engines.result84
-rw-r--r--mysql-test/suite/funcs_1/r/is_engines_archive.result8
-rw-r--r--mysql-test/suite/funcs_1/r/is_engines_blackhole.result8
-rw-r--r--mysql-test/suite/funcs_1/r/is_engines_csv.result8
-rw-r--r--mysql-test/suite/funcs_1/r/is_engines_federated.result8
-rw-r--r--mysql-test/suite/funcs_1/r/is_engines_innodb.result8
-rw-r--r--mysql-test/suite/funcs_1/r/is_engines_memory.result8
-rw-r--r--mysql-test/suite/funcs_1/r/is_engines_merge.result8
-rw-r--r--mysql-test/suite/funcs_1/r/is_engines_myisam.result8
-rw-r--r--mysql-test/suite/funcs_1/r/is_engines_ndb.result8
-rw-r--r--mysql-test/suite/funcs_1/r/is_events.result148
-rw-r--r--mysql-test/suite/funcs_1/r/is_key_column_usage.result370
-rw-r--r--mysql-test/suite/funcs_1/r/is_routines.result635
-rw-r--r--mysql-test/suite/funcs_1/r/is_schema_privileges.result304
-rw-r--r--mysql-test/suite/funcs_1/r/is_schema_privileges_is_mysql_test.result53
-rw-r--r--mysql-test/suite/funcs_1/r/is_schemata.result181
-rw-r--r--mysql-test/suite/funcs_1/r/is_schemata_is_mysql_test.result42
-rw-r--r--mysql-test/suite/funcs_1/r/is_statistics.result352
-rw-r--r--mysql-test/suite/funcs_1/r/is_statistics_is.result17
-rw-r--r--mysql-test/suite/funcs_1/r/is_statistics_mysql.result65
-rw-r--r--mysql-test/suite/funcs_1/r/is_table_constraints.result310
-rw-r--r--mysql-test/suite/funcs_1/r/is_table_constraints_is.result17
-rw-r--r--mysql-test/suite/funcs_1/r/is_table_constraints_mysql.result41
-rw-r--r--mysql-test/suite/funcs_1/r/is_table_privileges.result336
-rw-r--r--mysql-test/suite/funcs_1/r/is_tables.result419
-rw-r--r--mysql-test/suite/funcs_1/r/is_tables_innodb.result1073
-rw-r--r--mysql-test/suite/funcs_1/r/is_tables_is.result1277
-rw-r--r--mysql-test/suite/funcs_1/r/is_tables_memory.result1062
-rw-r--r--mysql-test/suite/funcs_1/r/is_tables_myisam.result1102
-rw-r--r--mysql-test/suite/funcs_1/r/is_tables_mysql.result562
-rw-r--r--mysql-test/suite/funcs_1/r/is_tables_ndb.result542
-rw-r--r--mysql-test/suite/funcs_1/r/is_triggers.result228
-rw-r--r--mysql-test/suite/funcs_1/r/is_user_privileges.result400
-rw-r--r--mysql-test/suite/funcs_1/r/is_views.result242
-rw-r--r--mysql-test/suite/funcs_1/r/memory__datadict.result15166
-rw-r--r--mysql-test/suite/funcs_1/r/memory__load.result1
-rw-r--r--mysql-test/suite/funcs_1/r/memory_bitdata.result65
-rw-r--r--mysql-test/suite/funcs_1/r/memory_cursors.result75
-rw-r--r--mysql-test/suite/funcs_1/r/memory_func_view.result2232
-rw-r--r--mysql-test/suite/funcs_1/r/memory_storedproc.result4232
-rw-r--r--[-rwxr-xr-x]mysql-test/suite/funcs_1/r/memory_storedproc_02.result64
-rw-r--r--[-rwxr-xr-x]mysql-test/suite/funcs_1/r/memory_storedproc_03.result50
-rw-r--r--mysql-test/suite/funcs_1/r/memory_storedproc_06.result53
-rw-r--r--[-rwxr-xr-x]mysql-test/suite/funcs_1/r/memory_storedproc_07.result58
-rw-r--r--[-rwxr-xr-x]mysql-test/suite/funcs_1/r/memory_storedproc_08.result158
-rw-r--r--[-rwxr-xr-x]mysql-test/suite/funcs_1/r/memory_storedproc_10.result165
-rw-r--r--mysql-test/suite/funcs_1/r/memory_trig_0102.result167
-rw-r--r--mysql-test/suite/funcs_1/r/memory_trig_03.result193
-rw-r--r--mysql-test/suite/funcs_1/r/memory_trig_03e.result33
-rw-r--r--mysql-test/suite/funcs_1/r/memory_trig_0407.result149
-rw-r--r--mysql-test/suite/funcs_1/r/memory_trig_08.result278
-rw-r--r--mysql-test/suite/funcs_1/r/memory_trig_09.result149
-rw-r--r--mysql-test/suite/funcs_1/r/memory_trig_1011ext.result117
-rw-r--r--mysql-test/suite/funcs_1/r/memory_triggers.result2262
-rw-r--r--mysql-test/suite/funcs_1/r/memory_views.result12639
-rw-r--r--mysql-test/suite/funcs_1/r/myisam__datadict.result15420
-rw-r--r--mysql-test/suite/funcs_1/r/myisam__load.result1
-rw-r--r--mysql-test/suite/funcs_1/r/myisam_bitdata.result73
-rw-r--r--mysql-test/suite/funcs_1/r/myisam_cursors.result81
-rw-r--r--mysql-test/suite/funcs_1/r/myisam_func_view.result2232
-rw-r--r--mysql-test/suite/funcs_1/r/myisam_storedproc.result4232
-rw-r--r--[-rwxr-xr-x]mysql-test/suite/funcs_1/r/myisam_storedproc_02.result64
-rw-r--r--[-rwxr-xr-x]mysql-test/suite/funcs_1/r/myisam_storedproc_03.result50
-rw-r--r--mysql-test/suite/funcs_1/r/myisam_storedproc_06.result53
-rw-r--r--[-rwxr-xr-x]mysql-test/suite/funcs_1/r/myisam_storedproc_07.result58
-rw-r--r--[-rwxr-xr-x]mysql-test/suite/funcs_1/r/myisam_storedproc_08.result158
-rw-r--r--[-rwxr-xr-x]mysql-test/suite/funcs_1/r/myisam_storedproc_10.result165
-rw-r--r--mysql-test/suite/funcs_1/r/myisam_trig_0102.result177
-rw-r--r--mysql-test/suite/funcs_1/r/myisam_trig_03.result203
-rw-r--r--mysql-test/suite/funcs_1/r/myisam_trig_03e.result33
-rw-r--r--mysql-test/suite/funcs_1/r/myisam_trig_0407.result159
-rw-r--r--mysql-test/suite/funcs_1/r/myisam_trig_08.result288
-rw-r--r--mysql-test/suite/funcs_1/r/myisam_trig_09.result159
-rw-r--r--mysql-test/suite/funcs_1/r/myisam_trig_1011ext.result127
-rw-r--r--mysql-test/suite/funcs_1/r/myisam_triggers.result2266
-rw-r--r--mysql-test/suite/funcs_1/r/myisam_views.result14425
-rw-r--r--mysql-test/suite/funcs_1/r/ndb__datadict.result14921
-rw-r--r--mysql-test/suite/funcs_1/r/ndb__load.result1
-rw-r--r--mysql-test/suite/funcs_1/r/ndb_bitdata.result64
-rw-r--r--mysql-test/suite/funcs_1/r/ndb_cursors.result79
-rw-r--r--mysql-test/suite/funcs_1/r/ndb_func_view.result2077
-rw-r--r--mysql-test/suite/funcs_1/r/ndb_storedproc.result4232
-rw-r--r--mysql-test/suite/funcs_1/r/ndb_storedproc_02.result64
-rw-r--r--mysql-test/suite/funcs_1/r/ndb_storedproc_03.result50
-rw-r--r--mysql-test/suite/funcs_1/r/ndb_storedproc_06.result53
-rw-r--r--mysql-test/suite/funcs_1/r/ndb_storedproc_07.result58
-rw-r--r--mysql-test/suite/funcs_1/r/ndb_storedproc_08.result158
-rw-r--r--mysql-test/suite/funcs_1/r/ndb_storedproc_10.result173
-rw-r--r--mysql-test/suite/funcs_1/r/ndb_trig_0102.result181
-rw-r--r--mysql-test/suite/funcs_1/r/ndb_trig_03.result205
-rw-r--r--mysql-test/suite/funcs_1/r/ndb_trig_03e.result35
-rw-r--r--mysql-test/suite/funcs_1/r/ndb_trig_0407.result161
-rw-r--r--mysql-test/suite/funcs_1/r/ndb_trig_08.result293
-rw-r--r--mysql-test/suite/funcs_1/r/ndb_trig_09.result161
-rw-r--r--mysql-test/suite/funcs_1/r/ndb_trig_1011ext.result129
-rw-r--r--mysql-test/suite/funcs_1/r/ndb_views.result12642
-rw-r--r--mysql-test/suite/funcs_1/r/processlist_priv_no_prot.result475
-rw-r--r--mysql-test/suite/funcs_1/r/processlist_priv_ps.result475
-rw-r--r--mysql-test/suite/funcs_1/r/processlist_val_no_prot.result155
-rw-r--r--mysql-test/suite/funcs_1/r/processlist_val_ps.result155
-rw-r--r--mysql-test/suite/funcs_1/storedproc/cleanup_sp_tb.inc5
-rw-r--r--mysql-test/suite/funcs_1/storedproc/load_sp_tb.inc124
-rw-r--r--[-rwxr-xr-x]mysql-test/suite/funcs_1/storedproc/storedproc_02.inc331
-rw-r--r--[-rwxr-xr-x]mysql-test/suite/funcs_1/storedproc/storedproc_03.inc86
-rw-r--r--[-rwxr-xr-x]mysql-test/suite/funcs_1/storedproc/storedproc_06.inc69
-rw-r--r--[-rwxr-xr-x]mysql-test/suite/funcs_1/storedproc/storedproc_07.inc0
-rw-r--r--[-rwxr-xr-x]mysql-test/suite/funcs_1/storedproc/storedproc_08.inc0
-rw-r--r--[-rwxr-xr-x]mysql-test/suite/funcs_1/storedproc/storedproc_08_show.inc0
-rw-r--r--[-rwxr-xr-x]mysql-test/suite/funcs_1/storedproc/storedproc_10.inc115
-rw-r--r--mysql-test/suite/funcs_1/storedproc/storedproc_master.inc4946
-rw-r--r--mysql-test/suite/funcs_1/t/charset_collation_1.test30
-rw-r--r--mysql-test/suite/funcs_1/t/charset_collation_2.test24
-rw-r--r--mysql-test/suite/funcs_1/t/charset_collation_3.test24
-rw-r--r--mysql-test/suite/funcs_1/t/disabled.def7
-rw-r--r--mysql-test/suite/funcs_1/t/innodb__datadict.test7
-rw-r--r--mysql-test/suite/funcs_1/t/innodb__load.test47
-rw-r--r--mysql-test/suite/funcs_1/t/innodb_bitdata.test29
-rw-r--r--mysql-test/suite/funcs_1/t/innodb_cursors.test27
-rw-r--r--mysql-test/suite/funcs_1/t/innodb_storedproc.test3
-rw-r--r--[-rwxr-xr-x]mysql-test/suite/funcs_1/t/innodb_storedproc_02.test0
-rw-r--r--[-rwxr-xr-x]mysql-test/suite/funcs_1/t/innodb_storedproc_03.test0
-rw-r--r--[-rwxr-xr-x]mysql-test/suite/funcs_1/t/innodb_storedproc_06.test0
-rw-r--r--[-rwxr-xr-x]mysql-test/suite/funcs_1/t/innodb_storedproc_07.test0
-rw-r--r--[-rwxr-xr-x]mysql-test/suite/funcs_1/t/innodb_storedproc_08.test0
-rw-r--r--[-rwxr-xr-x]mysql-test/suite/funcs_1/t/innodb_storedproc_10.test0
-rw-r--r--mysql-test/suite/funcs_1/t/innodb_trig_0102.test26
-rw-r--r--mysql-test/suite/funcs_1/t/innodb_trig_03.test26
-rw-r--r--mysql-test/suite/funcs_1/t/innodb_trig_03e.test24
-rw-r--r--mysql-test/suite/funcs_1/t/innodb_trig_0407.test26
-rw-r--r--mysql-test/suite/funcs_1/t/innodb_trig_08.test26
-rw-r--r--mysql-test/suite/funcs_1/t/innodb_trig_09.test26
-rw-r--r--mysql-test/suite/funcs_1/t/innodb_trig_1011ext.test26
-rw-r--r--mysql-test/suite/funcs_1/t/innodb_trig_frkey.test26
-rw-r--r--mysql-test/suite/funcs_1/t/innodb_views.test46
-rw-r--r--mysql-test/suite/funcs_1/t/is_basics_mixed.test503
-rw-r--r--mysql-test/suite/funcs_1/t/is_character_sets.test107
-rw-r--r--mysql-test/suite/funcs_1/t/is_collation_character_set_applicability.test108
-rw-r--r--mysql-test/suite/funcs_1/t/is_collations.test114
-rw-r--r--mysql-test/suite/funcs_1/t/is_column_privileges.test351
-rw-r--r--mysql-test/suite/funcs_1/t/is_column_privileges_is_mysql_test.test58
-rw-r--r--mysql-test/suite/funcs_1/t/is_columns.test444
-rw-r--r--mysql-test/suite/funcs_1/t/is_columns_innodb.test21
-rw-r--r--mysql-test/suite/funcs_1/t/is_columns_is.test19
-rw-r--r--mysql-test/suite/funcs_1/t/is_columns_memory.test21
-rw-r--r--mysql-test/suite/funcs_1/t/is_columns_myisam.test21
-rw-r--r--mysql-test/suite/funcs_1/t/is_columns_mysql.test13
-rw-r--r--mysql-test/suite/funcs_1/t/is_columns_ndb.test33
-rw-r--r--mysql-test/suite/funcs_1/t/is_engines.test126
-rw-r--r--mysql-test/suite/funcs_1/t/is_engines_archive.test15
-rw-r--r--mysql-test/suite/funcs_1/t/is_engines_blackhole.test15
-rw-r--r--mysql-test/suite/funcs_1/t/is_engines_csv.test15
-rw-r--r--mysql-test/suite/funcs_1/t/is_engines_federated.test15
-rw-r--r--mysql-test/suite/funcs_1/t/is_engines_innodb.test15
-rw-r--r--mysql-test/suite/funcs_1/t/is_engines_memory.test14
-rw-r--r--mysql-test/suite/funcs_1/t/is_engines_merge.test14
-rw-r--r--mysql-test/suite/funcs_1/t/is_engines_myisam.test14
-rw-r--r--mysql-test/suite/funcs_1/t/is_engines_ndb.test15
-rw-r--r--mysql-test/suite/funcs_1/t/is_events.test169
-rw-r--r--mysql-test/suite/funcs_1/t/is_key_column_usage.test344
-rw-r--r--mysql-test/suite/funcs_1/t/is_routines.test475
-rw-r--r--mysql-test/suite/funcs_1/t/is_schema_privileges.test336
-rw-r--r--mysql-test/suite/funcs_1/t/is_schema_privileges_is_mysql_test.test58
-rw-r--r--mysql-test/suite/funcs_1/t/is_schemata.test246
-rw-r--r--mysql-test/suite/funcs_1/t/is_schemata_is_mysql_test.test58
-rw-r--r--mysql-test/suite/funcs_1/t/is_statistics.test379
-rw-r--r--mysql-test/suite/funcs_1/t/is_statistics_is.test14
-rw-r--r--mysql-test/suite/funcs_1/t/is_statistics_mysql.test15
-rw-r--r--mysql-test/suite/funcs_1/t/is_table_constraints.test331
-rw-r--r--mysql-test/suite/funcs_1/t/is_table_constraints_is.test14
-rw-r--r--mysql-test/suite/funcs_1/t/is_table_constraints_mysql.test14
-rw-r--r--mysql-test/suite/funcs_1/t/is_table_privileges.test349
-rw-r--r--mysql-test/suite/funcs_1/t/is_tables.test474
-rw-r--r--mysql-test/suite/funcs_1/t/is_tables_innodb.test22
-rw-r--r--mysql-test/suite/funcs_1/t/is_tables_is.test18
-rw-r--r--mysql-test/suite/funcs_1/t/is_tables_memory.test22
-rw-r--r--mysql-test/suite/funcs_1/t/is_tables_myisam.test22
-rw-r--r--mysql-test/suite/funcs_1/t/is_tables_mysql.test14
-rw-r--r--mysql-test/suite/funcs_1/t/is_tables_ndb.test34
-rw-r--r--mysql-test/suite/funcs_1/t/is_triggers.test257
-rw-r--r--mysql-test/suite/funcs_1/t/is_user_privileges.test347
-rw-r--r--mysql-test/suite/funcs_1/t/is_views.test308
-rw-r--r--mysql-test/suite/funcs_1/t/memory__datadict.test5
-rw-r--r--mysql-test/suite/funcs_1/t/memory__load.test45
-rw-r--r--mysql-test/suite/funcs_1/t/memory_bitdata.test28
-rw-r--r--mysql-test/suite/funcs_1/t/memory_cursors.test27
-rw-r--r--mysql-test/suite/funcs_1/t/memory_storedproc.test2
-rw-r--r--[-rwxr-xr-x]mysql-test/suite/funcs_1/t/memory_storedproc_02.test4
-rw-r--r--[-rwxr-xr-x]mysql-test/suite/funcs_1/t/memory_storedproc_03.test4
-rw-r--r--[-rwxr-xr-x]mysql-test/suite/funcs_1/t/memory_storedproc_06.test4
-rw-r--r--[-rwxr-xr-x]mysql-test/suite/funcs_1/t/memory_storedproc_07.test4
-rw-r--r--[-rwxr-xr-x]mysql-test/suite/funcs_1/t/memory_storedproc_08.test4
-rw-r--r--[-rwxr-xr-x]mysql-test/suite/funcs_1/t/memory_storedproc_10.test4
-rw-r--r--mysql-test/suite/funcs_1/t/memory_trig_0102.test26
-rw-r--r--mysql-test/suite/funcs_1/t/memory_trig_03.test26
-rw-r--r--mysql-test/suite/funcs_1/t/memory_trig_03e.test25
-rw-r--r--mysql-test/suite/funcs_1/t/memory_trig_0407.test26
-rw-r--r--mysql-test/suite/funcs_1/t/memory_trig_08.test26
-rw-r--r--mysql-test/suite/funcs_1/t/memory_trig_09.test26
-rw-r--r--mysql-test/suite/funcs_1/t/memory_trig_1011ext.test26
-rw-r--r--mysql-test/suite/funcs_1/t/memory_views.test46
-rw-r--r--mysql-test/suite/funcs_1/t/myisam__datadict.test5
-rw-r--r--mysql-test/suite/funcs_1/t/myisam__load.test45
-rw-r--r--mysql-test/suite/funcs_1/t/myisam_bitdata.test28
-rw-r--r--mysql-test/suite/funcs_1/t/myisam_cursors.test27
-rw-r--r--mysql-test/suite/funcs_1/t/myisam_storedproc.test2
-rw-r--r--[-rwxr-xr-x]mysql-test/suite/funcs_1/t/myisam_storedproc_02.test4
-rw-r--r--[-rwxr-xr-x]mysql-test/suite/funcs_1/t/myisam_storedproc_03.test4
-rw-r--r--[-rwxr-xr-x]mysql-test/suite/funcs_1/t/myisam_storedproc_06.test4
-rw-r--r--[-rwxr-xr-x]mysql-test/suite/funcs_1/t/myisam_storedproc_07.test4
-rw-r--r--[-rwxr-xr-x]mysql-test/suite/funcs_1/t/myisam_storedproc_08.test4
-rw-r--r--[-rwxr-xr-x]mysql-test/suite/funcs_1/t/myisam_storedproc_10.test4
-rw-r--r--mysql-test/suite/funcs_1/t/myisam_trig_0102.test26
-rw-r--r--mysql-test/suite/funcs_1/t/myisam_trig_03.test26
-rw-r--r--mysql-test/suite/funcs_1/t/myisam_trig_03e.test26
-rw-r--r--mysql-test/suite/funcs_1/t/myisam_trig_0407.test26
-rw-r--r--mysql-test/suite/funcs_1/t/myisam_trig_08.test26
-rw-r--r--mysql-test/suite/funcs_1/t/myisam_trig_09.test26
-rw-r--r--mysql-test/suite/funcs_1/t/myisam_trig_1011ext.test26
-rw-r--r--mysql-test/suite/funcs_1/t/myisam_views.test45
-rw-r--r--mysql-test/suite/funcs_1/t/ndb__datadict.test7
-rw-r--r--mysql-test/suite/funcs_1/t/ndb__load.test47
-rw-r--r--mysql-test/suite/funcs_1/t/ndb_bitdata.test30
-rw-r--r--mysql-test/suite/funcs_1/t/ndb_cursors.test29
-rw-r--r--mysql-test/suite/funcs_1/t/ndb_storedproc.test9
-rw-r--r--mysql-test/suite/funcs_1/t/ndb_trig_0102.test26
-rw-r--r--mysql-test/suite/funcs_1/t/ndb_trig_03.test28
-rw-r--r--mysql-test/suite/funcs_1/t/ndb_trig_03e.test27
-rw-r--r--mysql-test/suite/funcs_1/t/ndb_trig_0407.test26
-rw-r--r--mysql-test/suite/funcs_1/t/ndb_trig_08.test26
-rw-r--r--mysql-test/suite/funcs_1/t/ndb_trig_09.test26
-rw-r--r--mysql-test/suite/funcs_1/t/ndb_trig_1011ext.test26
-rw-r--r--mysql-test/suite/funcs_1/t/ndb_views.test46
-rw-r--r--mysql-test/suite/funcs_1/t/processlist_priv_no_prot.test30
-rw-r--r--mysql-test/suite/funcs_1/t/processlist_priv_ps.test29
-rw-r--r--mysql-test/suite/funcs_1/t/processlist_val_no_prot.test25
-rw-r--r--mysql-test/suite/funcs_1/t/processlist_val_ps.test24
-rw-r--r--mysql-test/suite/funcs_1/t/suite.opt2
-rw-r--r--mysql-test/suite/funcs_1/triggers/trig_frkey.inc2
-rw-r--r--mysql-test/suite/funcs_1/triggers/trig_frkey2.inc102
-rw-r--r--mysql-test/suite/funcs_1/triggers/triggers_0102.inc226
-rw-r--r--mysql-test/suite/funcs_1/triggers/triggers_03.inc80
-rw-r--r--mysql-test/suite/funcs_1/triggers/triggers_03e_columns.inc22
-rw-r--r--mysql-test/suite/funcs_1/triggers/triggers_03e_db_level.inc18
-rw-r--r--mysql-test/suite/funcs_1/triggers/triggers_03e_db_table_mix.inc16
-rw-r--r--mysql-test/suite/funcs_1/triggers/triggers_03e_definer.inc18
-rw-r--r--mysql-test/suite/funcs_1/triggers/triggers_03e_global_db_mix.inc16
-rw-r--r--mysql-test/suite/funcs_1/triggers/triggers_03e_prepare.inc12
-rw-r--r--mysql-test/suite/funcs_1/triggers/triggers_03e_table_level.inc18
-rw-r--r--mysql-test/suite/funcs_1/triggers/triggers_03e_transaction.inc6
-rw-r--r--mysql-test/suite/funcs_1/triggers/triggers_0407.inc208
-rw-r--r--mysql-test/suite/funcs_1/triggers/triggers_08.inc267
-rw-r--r--mysql-test/suite/funcs_1/triggers/triggers_09.inc150
-rw-r--r--mysql-test/suite/funcs_1/triggers/triggers_1011ext.inc19
-rw-r--r--mysql-test/suite/funcs_1/triggers/triggers_master.test2818
-rw-r--r--mysql-test/suite/funcs_1/views/func_view.inc184
-rw-r--r--mysql-test/suite/funcs_1/views/views_master.inc794
-rw-r--r--mysql-test/suite/funcs_2/r/innodb_charset.result6
-rw-r--r--mysql-test/suite/funcs_2/r/memory_charset.result6
-rw-r--r--mysql-test/suite/funcs_2/r/myisam_charset.result6
-rw-r--r--mysql-test/suite/funcs_2/r/ndb_charset.result254
-rw-r--r--mysql-test/suite/funcs_2/t/disabled.def6
-rw-r--r--mysql-test/suite/im/r/im_cmd_line.result (renamed from mysql-test/r/im_cmd_line.result)0
-rw-r--r--mysql-test/suite/im/r/im_daemon_life_cycle.result (renamed from mysql-test/r/im_daemon_life_cycle.result)0
-rw-r--r--mysql-test/suite/im/r/im_instance_conf.result (renamed from mysql-test/r/im_instance_conf.result)0
-rw-r--r--mysql-test/suite/im/r/im_life_cycle.result (renamed from mysql-test/r/im_life_cycle.result)0
-rw-r--r--mysql-test/suite/im/r/im_options.result (renamed from mysql-test/r/im_options.result)0
-rw-r--r--mysql-test/suite/im/r/im_utils.result (renamed from mysql-test/r/im_utils.result)0
-rw-r--r--mysql-test/suite/im/t/disabled.def20
-rw-r--r--mysql-test/suite/im/t/im_check_env.inc (renamed from mysql-test/include/im_check_env.inc)0
-rw-r--r--mysql-test/suite/im/t/im_cmd_line.imtest (renamed from mysql-test/t/im_cmd_line.imtest)2
-rw-r--r--mysql-test/suite/im/t/im_daemon_life_cycle-im.opt (renamed from mysql-test/t/im_daemon_life_cycle-im.opt)0
-rw-r--r--mysql-test/suite/im/t/im_daemon_life_cycle.imtest (renamed from mysql-test/t/im_daemon_life_cycle.imtest)48
-rw-r--r--mysql-test/suite/im/t/im_instance_conf-im.opt (renamed from mysql-test/t/im_instance_conf-im.opt)0
-rw-r--r--mysql-test/suite/im/t/im_instance_conf.imtest (renamed from mysql-test/t/im_instance_conf.imtest)2
-rw-r--r--mysql-test/suite/im/t/im_life_cycle-im.opt (renamed from mysql-test/t/im_life_cycle-im.opt)0
-rw-r--r--mysql-test/suite/im/t/im_life_cycle.imtest (renamed from mysql-test/t/im_life_cycle.imtest)14
-rw-r--r--mysql-test/suite/im/t/im_options-im.opt (renamed from mysql-test/t/im_options-im.opt)0
-rw-r--r--mysql-test/suite/im/t/im_options.imtest (renamed from mysql-test/t/im_options.imtest)2
-rw-r--r--mysql-test/suite/im/t/im_utils-im.opt (renamed from mysql-test/t/im_utils-im.opt)0
-rw-r--r--mysql-test/suite/im/t/im_utils.imtest (renamed from mysql-test/t/im_utils.imtest)8
-rwxr-xr-xmysql-test/suite/im/t/kill_n_check.sh (renamed from mysql-test/t/kill_n_check.sh)0
-rwxr-xr-xmysql-test/suite/im/t/log.sh (renamed from mysql-test/t/log.sh)0
-rw-r--r--mysql-test/suite/im/t/utils.sh (renamed from mysql-test/t/utils.sh)0
-rwxr-xr-xmysql-test/suite/im/t/wait_for_process.sh (renamed from mysql-test/t/wait_for_process.sh)0
-rwxr-xr-xmysql-test/suite/im/t/wait_for_socket.sh (renamed from mysql-test/t/wait_for_socket.sh)0
-rw-r--r--mysql-test/suite/manual/r/rpl_replication_delay.result136
-rw-r--r--mysql-test/suite/manual/t/rpl_replication_delay-slave.opt1
-rw-r--r--mysql-test/suite/manual/t/rpl_replication_delay.test71
-rw-r--r--mysql-test/suite/ndb/r/ndb_alter_table.result8
-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.result24
-rw-r--r--mysql-test/suite/ndb/r/ndb_binlog_basic.result3
-rw-r--r--mysql-test/suite/ndb/r/ndb_binlog_format.result2
-rw-r--r--mysql-test/suite/ndb/r/ndb_binlog_multi.result4
-rw-r--r--mysql-test/suite/ndb/r/ndb_blob.result21
-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_charset.result8
-rw-r--r--mysql-test/suite/ndb/r/ndb_condition_pushdown.result28
-rw-r--r--mysql-test/suite/ndb/r/ndb_dd_basic.result31
-rw-r--r--mysql-test/suite/ndb/r/ndb_dd_ddl.result8
-rw-r--r--mysql-test/suite/ndb/r/ndb_dd_dump.result234
-rw-r--r--mysql-test/suite/ndb/r/ndb_gis.result4
-rw-r--r--mysql-test/suite/ndb/r/ndb_index_unique.result14
-rw-r--r--mysql-test/suite/ndb/r/ndb_insert.result169
-rw-r--r--mysql-test/suite/ndb/r/ndb_lock_table.result11
-rw-r--r--mysql-test/suite/ndb/r/ndb_multi.result22
-rw-r--r--mysql-test/suite/ndb/r/ndb_multi_row.result1
-rw-r--r--mysql-test/suite/ndb/r/ndb_partition_key.result24
-rw-r--r--mysql-test/suite/ndb/r/ndb_partition_range.result8
-rw-r--r--mysql-test/suite/ndb/r/ndb_read_multi_range.result19
-rw-r--r--mysql-test/suite/ndb/r/ndb_restore.result55
-rw-r--r--mysql-test/suite/ndb/r/ndb_restore_compat.result5
-rw-r--r--mysql-test/suite/ndb/r/ndb_restore_different_endian_data.result200
-rw-r--r--mysql-test/suite/ndb/r/ndb_row_format.result2
-rw-r--r--mysql-test/suite/ndb/r/ndb_single_user.result10
-rw-r--r--mysql-test/suite/ndb/r/ndb_temporary.result2
-rw-r--r--mysql-test/suite/ndb/r/ndb_update.result14
-rw-r--r--mysql-test/suite/ndb/r/ndb_update_no_read.result75
-rw-r--r--mysql-test/suite/ndb/r/partition_03ndb.result1361
-rw-r--r--mysql-test/suite/ndb/r/ps_7ndb.result22
-rw-r--r--mysql-test/suite/ndb/t/disabled.def7
-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.test22
-rw-r--r--mysql-test/suite/ndb/t/ndb_binlog_basic.test10
-rw-r--r--mysql-test/suite/ndb/t/ndb_binlog_ddl_multi.test2
-rw-r--r--mysql-test/suite/ndb/t/ndb_binlog_discover.test2
-rw-r--r--mysql-test/suite/ndb/t/ndb_binlog_ignore_db.test2
-rw-r--r--mysql-test/suite/ndb/t/ndb_binlog_log_bin.test2
-rw-r--r--mysql-test/suite/ndb/t/ndb_binlog_multi.test2
-rw-r--r--mysql-test/suite/ndb/t/ndb_blob.test20
-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_condition_pushdown.test298
-rw-r--r--mysql-test/suite/ndb/t/ndb_dd_basic.test31
-rw-r--r--mysql-test/suite/ndb/t/ndb_dd_ddl.test17
-rw-r--r--mysql-test/suite/ndb/t/ndb_dd_dump.test57
-rw-r--r--mysql-test/suite/ndb/t/ndb_insert.test138
-rw-r--r--mysql-test/suite/ndb/t/ndb_lock_table.test15
-rw-r--r--mysql-test/suite/ndb/t/ndb_multi.test33
-rw-r--r--mysql-test/suite/ndb/t/ndb_multi_row.test5
-rw-r--r--mysql-test/suite/ndb/t/ndb_partition_key.test17
-rw-r--r--mysql-test/suite/ndb/t/ndb_partition_range.test5
-rw-r--r--mysql-test/suite/ndb/t/ndb_read_multi_range.test23
-rw-r--r--mysql-test/suite/ndb/t/ndb_restore.test30
-rw-r--r--mysql-test/suite/ndb/t/ndb_restore_compat.test6
-rw-r--r--mysql-test/suite/ndb/t/ndb_restore_different_endian_data.test185
-rw-r--r--mysql-test/suite/ndb/t/ndb_update.test5
-rw-r--r--mysql-test/suite/ndb/t/ndb_update_no_read.test79
-rw-r--r--mysql-test/suite/ndb/t/partition_03ndb.test26
-rw-r--r--mysql-test/suite/ndb_team/r/ndb_autodiscover.result (renamed from mysql-test/suite/ndb/r/ndb_autodiscover.result)0
-rw-r--r--mysql-test/suite/ndb_team/r/ndb_autodiscover2.result (renamed from mysql-test/suite/ndb/r/ndb_autodiscover2.result)0
-rw-r--r--mysql-test/suite/ndb_team/r/ndb_autodiscover3.result (renamed from mysql-test/suite/ndb/r/ndb_autodiscover3.result)0
-rw-r--r--mysql-test/suite/ndb_team/r/ndb_backup_print.result (renamed from mysql-test/suite/ndb/r/ndb_backup_print.result)0
-rw-r--r--mysql-test/suite/ndb_team/r/ndb_dd_backuprestore.result (renamed from mysql-test/suite/ndb/r/ndb_dd_backuprestore.result)0
-rw-r--r--mysql-test/suite/ndb_team/r/rpl_ndb_dd_advance.result (renamed from mysql-test/suite/rpl_ndb/r/rpl_ndb_dd_advance.result)0
-rw-r--r--mysql-test/suite/ndb_team/r/rpl_ndb_extraColMaster.result2284
-rw-r--r--mysql-test/suite/ndb_team/r/rpl_ndb_mix_innodb.result (renamed from mysql-test/suite/rpl_ndb/r/rpl_ndb_mix_innodb.result)18
-rw-r--r--mysql-test/suite/ndb_team/t/disabled.def20
-rw-r--r--mysql-test/suite/ndb_team/t/ndb_autodiscover.test (renamed from mysql-test/suite/ndb/t/ndb_autodiscover.test)1
-rw-r--r--mysql-test/suite/ndb_team/t/ndb_autodiscover2-master.opt (renamed from mysql-test/suite/ndb/t/ndb_autodiscover2-master.opt)0
-rw-r--r--mysql-test/suite/ndb_team/t/ndb_autodiscover2.test (renamed from mysql-test/suite/ndb/t/ndb_autodiscover2.test)0
-rw-r--r--mysql-test/suite/ndb_team/t/ndb_autodiscover3.test (renamed from mysql-test/suite/ndb/t/ndb_autodiscover3.test)2
-rw-r--r--mysql-test/suite/ndb_team/t/ndb_backup_print.test (renamed from mysql-test/suite/ndb/t/ndb_backup_print.test)0
-rw-r--r--mysql-test/suite/ndb_team/t/ndb_dd_backuprestore.test (renamed from mysql-test/suite/ndb/t/ndb_dd_backuprestore.test)0
-rw-r--r--mysql-test/suite/ndb_team/t/rpl_ndb_dd_advance.test (renamed from mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_advance.test)2
-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.opt (renamed from mysql-test/suite/rpl_ndb/t/rpl_ndb_mix_innodb-master.opt)0
-rw-r--r--mysql-test/suite/ndb_team/t/rpl_ndb_mix_innodb.test (renamed from mysql-test/suite/rpl_ndb/t/rpl_ndb_mix_innodb.test)0
-rw-r--r--mysql-test/suite/parts/inc/methods1.inc18
-rw-r--r--mysql-test/suite/parts/inc/part_blocked_sql_funcs_main.inc65
-rw-r--r--mysql-test/suite/parts/inc/part_supported_sql_funcs_delete.inc3
-rw-r--r--mysql-test/suite/parts/inc/part_supported_sql_funcs_main.inc89
-rw-r--r--mysql-test/suite/parts/inc/partition.pre173
-rw-r--r--mysql-test/suite/parts/inc/partition_10.inc (renamed from mysql-test/include/partition_10.inc)10
-rw-r--r--mysql-test/suite/parts/inc/partition_11.inc (renamed from mysql-test/include/partition_11.inc)6
-rw-r--r--mysql-test/suite/parts/inc/partition_12.inc (renamed from mysql-test/include/partition_12.inc)10
-rw-r--r--mysql-test/suite/parts/inc/partition_20.inc15
-rw-r--r--mysql-test/suite/parts/inc/partition_alter1.inc51
-rw-r--r--mysql-test/suite/parts/inc/partition_alter2.inc82
-rw-r--r--mysql-test/suite/parts/inc/partition_alter3.inc46
-rw-r--r--mysql-test/suite/parts/inc/partition_alter4.inc39
-rw-r--r--mysql-test/suite/parts/inc/partition_alter_1.inc36
-rw-r--r--mysql-test/suite/parts/inc/partition_alter_11.inc16
-rw-r--r--mysql-test/suite/parts/inc/partition_alter_13.inc16
-rw-r--r--mysql-test/suite/parts/inc/partition_alter_41.inc20
-rw-r--r--mysql-test/suite/parts/inc/partition_basic.inc70
-rw-r--r--mysql-test/suite/parts/inc/partition_basic_symlink.inc44
-rw-r--r--mysql-test/suite/parts/inc/partition_bigint.inc20
-rw-r--r--mysql-test/suite/parts/inc/partition_binary.inc27
-rw-r--r--mysql-test/suite/parts/inc/partition_bit.inc33
-rw-r--r--mysql-test/suite/parts/inc/partition_blob.inc20
-rw-r--r--mysql-test/suite/parts/inc/partition_blocked_sql_funcs.inc34
-rw-r--r--mysql-test/suite/parts/inc/partition_char.inc24
-rw-r--r--mysql-test/suite/parts/inc/partition_check.inc153
-rw-r--r--mysql-test/suite/parts/inc/partition_check_drop.inc12
-rw-r--r--mysql-test/suite/parts/inc/partition_check_read.inc6
-rw-r--r--mysql-test/suite/parts/inc/partition_check_read1.inc4
-rw-r--r--mysql-test/suite/parts/inc/partition_check_read2.inc4
-rw-r--r--mysql-test/suite/parts/inc/partition_cleanup.inc4
-rw-r--r--mysql-test/suite/parts/inc/partition_date.inc24
-rw-r--r--mysql-test/suite/parts/inc/partition_datetime.inc24
-rw-r--r--mysql-test/suite/parts/inc/partition_decimal.inc34
-rw-r--r--mysql-test/suite/parts/inc/partition_directory.inc81
-rw-r--r--mysql-test/suite/parts/inc/partition_double.inc34
-rw-r--r--mysql-test/suite/parts/inc/partition_engine.inc78
-rw-r--r--mysql-test/suite/parts/inc/partition_enum.inc51
-rw-r--r--mysql-test/suite/parts/inc/partition_float.inc34
-rw-r--r--mysql-test/suite/parts/inc/partition_int.inc20
-rw-r--r--mysql-test/suite/parts/inc/partition_key_16col.inc20
-rw-r--r--mysql-test/suite/parts/inc/partition_key_32col.inc28
-rw-r--r--mysql-test/suite/parts/inc/partition_key_4col.inc20
-rw-r--r--mysql-test/suite/parts/inc/partition_key_8col.inc20
-rw-r--r--mysql-test/suite/parts/inc/partition_layout.inc (renamed from mysql-test/include/partition_layout.inc)3
-rw-r--r--mysql-test/suite/parts/inc/partition_layout_check1.inc11
-rw-r--r--mysql-test/suite/parts/inc/partition_layout_check2.inc14
-rw-r--r--mysql-test/suite/parts/inc/partition_mediumint.inc20
-rw-r--r--mysql-test/suite/parts/inc/partition_methods1.inc182
-rw-r--r--mysql-test/suite/parts/inc/partition_methods2.inc217
-rw-r--r--mysql-test/suite/parts/inc/partition_set.inc58
-rw-r--r--mysql-test/suite/parts/inc/partition_smallint.inc20
-rw-r--r--mysql-test/suite/parts/inc/partition_supported_sql_funcs.inc13
-rw-r--r--mysql-test/suite/parts/inc/partition_syntax.inc119
-rw-r--r--mysql-test/suite/parts/inc/partition_syntax_1.inc44
-rw-r--r--mysql-test/suite/parts/inc/partition_syntax_2.inc14
-rw-r--r--mysql-test/suite/parts/inc/partition_text.inc21
-rw-r--r--mysql-test/suite/parts/inc/partition_time.inc24
-rw-r--r--mysql-test/suite/parts/inc/partition_timestamp.inc24
-rw-r--r--mysql-test/suite/parts/inc/partition_tinyint.inc20
-rw-r--r--mysql-test/suite/parts/inc/partition_trigg1.inc10
-rw-r--r--mysql-test/suite/parts/inc/partition_trigg2.inc8
-rw-r--r--mysql-test/suite/parts/inc/partition_trigg3.inc28
-rw-r--r--mysql-test/suite/parts/inc/partition_value.inc16
-rw-r--r--mysql-test/suite/parts/inc/partition_varbinary.inc20
-rw-r--r--mysql-test/suite/parts/inc/partition_varchar.inc20
-rw-r--r--mysql-test/suite/parts/inc/partition_year.inc20
-rw-r--r--mysql-test/suite/parts/r/ndb_partition_key.result7
-rw-r--r--mysql-test/suite/parts/r/part_blocked_sql_func_innodb.result996
-rw-r--r--mysql-test/suite/parts/r/part_blocked_sql_func_myisam.result996
-rw-r--r--mysql-test/suite/parts/r/part_supported_sql_func_innodb.result4268
-rw-r--r--mysql-test/suite/parts/r/part_supported_sql_func_myisam.result4268
-rw-r--r--mysql-test/suite/parts/r/partition_alter1_innodb.result1690
-rw-r--r--mysql-test/suite/parts/r/partition_alter1_myisam.result778
-rw-r--r--mysql-test/suite/parts/r/partition_alter2_innodb.result2410
-rw-r--r--mysql-test/suite/parts/r/partition_alter2_myisam.result1738
-rw-r--r--mysql-test/suite/parts/r/partition_alter3_innodb.result171
-rw-r--r--mysql-test/suite/parts/r/partition_alter3_myisam.result543
-rw-r--r--mysql-test/suite/parts/r/partition_alter4_innodb.result298
-rw-r--r--mysql-test/suite/parts/r/partition_alter4_myisam.result362
-rw-r--r--mysql-test/suite/parts/r/partition_basic_innodb.result8988
-rw-r--r--mysql-test/suite/parts/r/partition_basic_myisam.result8312
-rw-r--r--mysql-test/suite/parts/r/partition_basic_symlink_innodb.result32
-rw-r--r--mysql-test/suite/parts/r/partition_basic_symlink_myisam.result20558
-rw-r--r--mysql-test/suite/parts/r/partition_bit_innodb.result86
-rw-r--r--mysql-test/suite/parts/r/partition_bit_myisam.result84
-rw-r--r--mysql-test/suite/parts/r/partition_char_innodb.result439
-rw-r--r--mysql-test/suite/parts/r/partition_char_myisam.result747
-rw-r--r--mysql-test/suite/parts/r/partition_datetime_innodb.result122
-rw-r--r--mysql-test/suite/parts/r/partition_datetime_myisam.result122
-rw-r--r--mysql-test/suite/parts/r/partition_decimal_innodb.result110
-rw-r--r--mysql-test/suite/parts/r/partition_decimal_myisam.result110
-rw-r--r--mysql-test/suite/parts/r/partition_engine_innodb.result1494
-rw-r--r--mysql-test/suite/parts/r/partition_engine_myisam.result1550
-rw-r--r--mysql-test/suite/parts/r/partition_float_innodb.result328
-rw-r--r--mysql-test/suite/parts/r/partition_float_myisam.result328
-rw-r--r--mysql-test/suite/parts/r/partition_int_innodb.result90
-rw-r--r--mysql-test/suite/parts/r/partition_int_myisam.result90
-rw-r--r--mysql-test/suite/parts/r/partition_special_innodb.result88
-rw-r--r--mysql-test/suite/parts/r/partition_special_myisam.result88
-rw-r--r--mysql-test/suite/parts/r/partition_syntax_innodb.result135
-rw-r--r--mysql-test/suite/parts/r/partition_syntax_myisam.result135
-rw-r--r--mysql-test/suite/parts/r/rpl_partition.result2
-rw-r--r--mysql-test/suite/parts/t/disabled.def17
-rw-r--r--mysql-test/suite/parts/t/ndb_partition_key.test12
-rw-r--r--mysql-test/suite/parts/t/part_blocked_sql_func_innodb.test6
-rw-r--r--mysql-test/suite/parts/t/part_blocked_sql_func_myisam.test4
-rw-r--r--mysql-test/suite/parts/t/part_supported_sql_func_innodb.test4
-rw-r--r--mysql-test/suite/parts/t/part_supported_sql_func_myisam.test4
-rw-r--r--mysql-test/suite/parts/t/part_supported_sql_func_ndb.test4
-rw-r--r--mysql-test/suite/parts/t/partition_alter1_innodb.test9
-rw-r--r--mysql-test/suite/parts/t/partition_alter1_myisam.test7
-rw-r--r--mysql-test/suite/parts/t/partition_alter1_ndb.test9
-rw-r--r--mysql-test/suite/parts/t/partition_alter2_innodb.test9
-rw-r--r--mysql-test/suite/parts/t/partition_alter2_myisam.test7
-rw-r--r--mysql-test/suite/parts/t/partition_alter2_ndb.test9
-rw-r--r--mysql-test/suite/parts/t/partition_alter3_innodb.test9
-rw-r--r--mysql-test/suite/parts/t/partition_alter3_myisam.test7
-rw-r--r--mysql-test/suite/parts/t/partition_alter4_innodb.test7
-rw-r--r--mysql-test/suite/parts/t/partition_alter4_myisam.test5
-rw-r--r--mysql-test/suite/parts/t/partition_basic_innodb.test13
-rw-r--r--mysql-test/suite/parts/t/partition_basic_myisam.test7
-rw-r--r--mysql-test/suite/parts/t/partition_basic_ndb.test11
-rw-r--r--mysql-test/suite/parts/t/partition_basic_symlink_innodb.test163
-rw-r--r--mysql-test/suite/parts/t/partition_basic_symlink_myisam.test86
-rw-r--r--mysql-test/suite/parts/t/partition_bit_innodb.test4
-rw-r--r--mysql-test/suite/parts/t/partition_bit_myisam.test3
-rw-r--r--mysql-test/suite/parts/t/partition_bit_ndb.test4
-rw-r--r--mysql-test/suite/parts/t/partition_char_innodb.test11
-rw-r--r--mysql-test/suite/parts/t/partition_char_myisam.test21
-rw-r--r--mysql-test/suite/parts/t/partition_datetime_innodb.test8
-rw-r--r--mysql-test/suite/parts/t/partition_datetime_myisam.test7
-rw-r--r--mysql-test/suite/parts/t/partition_decimal_innodb.test5
-rw-r--r--mysql-test/suite/parts/t/partition_decimal_myisam.test3
-rw-r--r--mysql-test/suite/parts/t/partition_engine_innodb.test9
-rw-r--r--mysql-test/suite/parts/t/partition_engine_myisam.test7
-rw-r--r--mysql-test/suite/parts/t/partition_engine_ndb.test7
-rw-r--r--mysql-test/suite/parts/t/partition_float_innodb.test12
-rw-r--r--mysql-test/suite/parts/t/partition_float_myisam.test4
-rw-r--r--mysql-test/suite/parts/t/partition_int_innodb.test8
-rw-r--r--mysql-test/suite/parts/t/partition_int_myisam.test7
-rw-r--r--mysql-test/suite/parts/t/partition_int_ndb.test7
-rw-r--r--mysql-test/suite/parts/t/partition_sessions.test31
-rw-r--r--mysql-test/suite/parts/t/partition_special_innodb.test7
-rw-r--r--mysql-test/suite/parts/t/partition_special_myisam.test6
-rw-r--r--mysql-test/suite/parts/t/partition_syntax_innodb.test9
-rw-r--r--mysql-test/suite/parts/t/partition_syntax_myisam.test7
-rw-r--r--mysql-test/suite/parts/t/partition_syntax_ndb.test9
-rw-r--r--mysql-test/suite/parts/t/partition_value_innodb.test9
-rw-r--r--mysql-test/suite/parts/t/partition_value_myisam.test7
-rw-r--r--mysql-test/suite/parts/t/partition_value_ndb.test9
-rw-r--r--mysql-test/suite/parts/t/rpl_partition.test1
-rw-r--r--mysql-test/suite/rpl/combinations8
-rw-r--r--mysql-test/suite/rpl/data/rpl_bug28618.dat3
-rw-r--r--mysql-test/suite/rpl/include/rpl_mixed_check_select.inc8
-rw-r--r--mysql-test/suite/rpl/include/rpl_mixed_check_view.inc4
-rw-r--r--mysql-test/suite/rpl/include/rpl_mixed_ddl.inc2
-rw-r--r--mysql-test/suite/rpl/include/rpl_mixed_dml.inc16
-rw-r--r--mysql-test/suite/rpl/r/rpl_000015.result14
-rw-r--r--mysql-test/suite/rpl/r/rpl_binlog_grant.result56
-rw-r--r--mysql-test/suite/rpl/r/rpl_bug31076.result69
-rw-r--r--mysql-test/suite/rpl/r/rpl_bug33931.result43
-rw-r--r--mysql-test/suite/rpl/r/rpl_change_master.result4
-rw-r--r--mysql-test/suite/rpl/r/rpl_charset.result (renamed from mysql-test/suite/rpl/r/rpl_row_charset.result)57
-rw-r--r--mysql-test/suite/rpl/r/rpl_colSize.result179
-rw-r--r--mysql-test/suite/rpl/r/rpl_create_database.result24
-rw-r--r--mysql-test/suite/rpl/r/rpl_drop_view.result27
-rw-r--r--mysql-test/suite/rpl/r/rpl_dual_pos_advance.result40
-rw-r--r--mysql-test/suite/rpl/r/rpl_events.result4
-rw-r--r--mysql-test/suite/rpl/r/rpl_extraCol_innodb.result278
-rw-r--r--mysql-test/suite/rpl/r/rpl_extraCol_myisam.result278
-rw-r--r--mysql-test/suite/rpl/r/rpl_extraColmaster_innodb.result3423
-rw-r--r--mysql-test/suite/rpl/r/rpl_extraColmaster_myisam.result3423
-rw-r--r--mysql-test/suite/rpl/r/rpl_flushlog_loop.result13
-rw-r--r--mysql-test/suite/rpl/r/rpl_foreign_key_innodb.result13
-rw-r--r--mysql-test/suite/rpl/r/rpl_found_rows.result233
-rw-r--r--mysql-test/suite/rpl/r/rpl_get_lock.result2
-rw-r--r--mysql-test/suite/rpl/r/rpl_grant.result34
-rw-r--r--mysql-test/suite/rpl/r/rpl_idempotency.result226
-rw-r--r--mysql-test/suite/rpl/r/rpl_ignore_table.result2
-rw-r--r--mysql-test/suite/rpl/r/rpl_incident.result4
-rw-r--r--mysql-test/suite/rpl/r/rpl_init_slave.result3
-rw-r--r--mysql-test/suite/rpl/r/rpl_innodb_bug28430.result167
-rw-r--r--mysql-test/suite/rpl/r/rpl_innodb_bug30888.result35
-rw-r--r--mysql-test/suite/rpl/r/rpl_innodb_bug30919.result1043
-rw-r--r--mysql-test/suite/rpl/r/rpl_innodb_mixed_dml.result269
-rw-r--r--mysql-test/suite/rpl/r/rpl_invoked_features.result38
-rw-r--r--mysql-test/suite/rpl/r/rpl_load_from_master.result18
-rw-r--r--mysql-test/suite/rpl/r/rpl_loaddata.result3
-rw-r--r--mysql-test/suite/rpl/r/rpl_loaddata_fatal.result4
-rw-r--r--mysql-test/suite/rpl/r/rpl_loaddata_map.result26
-rw-r--r--mysql-test/suite/rpl/r/rpl_log_pos.result10
-rw-r--r--mysql-test/suite/rpl/r/rpl_master_pos_wait.result8
-rw-r--r--mysql-test/suite/rpl/r/rpl_packet.result42
-rw-r--r--mysql-test/suite/rpl/r/rpl_ps.result50
-rw-r--r--mysql-test/suite/rpl/r/rpl_rbr_to_sbr.result4
-rw-r--r--mysql-test/suite/rpl/r/rpl_report.result33
-rw-r--r--mysql-test/suite/rpl/r/rpl_rotate_logs.result39
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_basic_11bugs.result37
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result25
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result25
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_colSize.result754
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_create_table.result105
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_flsh_tbls.result4
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_inexist_tbl.result4
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_log.result154
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_log_innodb.result166
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_max_relay_size.result30
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_mysqlbinlog.result48
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_mystery22.result2
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_reset_slave.result16
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result94
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result94
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_trig001.result3
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_unsafe_funcs.result22
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_until.result16
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_view01.result3
-rw-r--r--mysql-test/suite/rpl/r/rpl_server_id.result34
-rw-r--r--mysql-test/suite/rpl/r/rpl_server_id1.result23
-rw-r--r--mysql-test/suite/rpl/r/rpl_skip_error.result118
-rw-r--r--mysql-test/suite/rpl/r/rpl_slave_skip.result212
-rw-r--r--mysql-test/suite/rpl/r/rpl_sp_effects.result41
-rw-r--r--mysql-test/suite/rpl/r/rpl_start_stop_slave.result2
-rw-r--r--mysql-test/suite/rpl/r/rpl_stm_charset.result270
-rw-r--r--mysql-test/suite/rpl/r/rpl_stm_log.result146
-rw-r--r--mysql-test/suite/rpl/r/rpl_stm_max_relay_size.result30
-rw-r--r--mysql-test/suite/rpl/r/rpl_stm_reset_slave.result16
-rw-r--r--mysql-test/suite/rpl/r/rpl_stm_until.result16
-rw-r--r--mysql-test/suite/rpl/r/rpl_switch_stm_row_mixed.result80
-rw-r--r--mysql-test/suite/rpl/r/rpl_temporary_errors.result83
-rw-r--r--mysql-test/suite/rpl/r/rpl_timezone.result18
-rw-r--r--mysql-test/suite/rpl/r/rpl_trigger.result12
-rw-r--r--mysql-test/suite/rpl/r/rpl_truncate_2myisam.result42
-rw-r--r--mysql-test/suite/rpl/r/rpl_truncate_3innodb.result54
-rw-r--r--mysql-test/suite/rpl/r/rpl_truncate_7ndb_2.result68
-rw-r--r--mysql-test/suite/rpl/r/rpl_udf.result52
-rw-r--r--mysql-test/suite/rpl/r/rpl_user.result45
-rw-r--r--mysql-test/suite/rpl/r/rpl_user_variables.result16
-rw-r--r--mysql-test/suite/rpl/r/rpl_variables.result591
-rw-r--r--mysql-test/suite/rpl/r/rpl_variables_stm.result526
-rw-r--r--mysql-test/suite/rpl/t/disabled.def24
-rw-r--r--mysql-test/suite/rpl/t/rpl_000015.test10
-rw-r--r--mysql-test/suite/rpl/t/rpl_binlog_grant.test44
-rw-r--r--mysql-test/suite/rpl/t/rpl_bug31076.test136
-rw-r--r--mysql-test/suite/rpl/t/rpl_bug33931-slave.opt1
-rw-r--r--mysql-test/suite/rpl/t/rpl_bug33931.test37
-rw-r--r--mysql-test/suite/rpl/t/rpl_change_master.test12
-rw-r--r--mysql-test/suite/rpl/t/rpl_charset.test3
-rw-r--r--mysql-test/suite/rpl/t/rpl_colSize.test220
-rw-r--r--mysql-test/suite/rpl/t/rpl_create_database.test8
-rw-r--r--mysql-test/suite/rpl/t/rpl_critical_errors.test3
-rw-r--r--mysql-test/suite/rpl/t/rpl_drop_temp.test14
-rw-r--r--mysql-test/suite/rpl/t/rpl_drop_view.test31
-rw-r--r--mysql-test/suite/rpl/t/rpl_dual_pos_advance-slave.opt1
-rw-r--r--mysql-test/suite/rpl/t/rpl_dual_pos_advance.test67
-rw-r--r--mysql-test/suite/rpl/t/rpl_err_ignoredtable.test5
-rw-r--r--mysql-test/suite/rpl/t/rpl_events.test10
-rw-r--r--mysql-test/suite/rpl/t/rpl_extraColmaster_innodb-master.opt1
-rw-r--r--mysql-test/suite/rpl/t/rpl_extraColmaster_innodb-slave.opt1
-rw-r--r--mysql-test/suite/rpl/t/rpl_extraColmaster_innodb.test16
-rw-r--r--mysql-test/suite/rpl/t/rpl_extraColmaster_myisam.test15
-rw-r--r--mysql-test/suite/rpl/t/rpl_flushlog_loop.test38
-rw-r--r--mysql-test/suite/rpl/t/rpl_found_rows.test256
-rw-r--r--mysql-test/suite/rpl/t/rpl_grant.test20
-rw-r--r--mysql-test/suite/rpl/t/rpl_idempotency-master.opt2
-rw-r--r--mysql-test/suite/rpl/t/rpl_idempotency-slave.opt2
-rw-r--r--mysql-test/suite/rpl/t/rpl_idempotency.test415
-rw-r--r--mysql-test/suite/rpl/t/rpl_ignore_table.test11
-rw-r--r--mysql-test/suite/rpl/t/rpl_init_slave.test10
-rw-r--r--mysql-test/suite/rpl/t/rpl_innodb-master.opt1
-rw-r--r--mysql-test/suite/rpl/t/rpl_innodb_bug28430-master.opt1
-rw-r--r--mysql-test/suite/rpl/t/rpl_innodb_bug28430-slave.opt1
-rw-r--r--mysql-test/suite/rpl/t/rpl_innodb_bug28430.test154
-rw-r--r--mysql-test/suite/rpl/t/rpl_innodb_bug30888.test66
-rw-r--r--mysql-test/suite/rpl/t/rpl_innodb_bug30919-master.opt1
-rw-r--r--mysql-test/suite/rpl/t/rpl_innodb_bug30919.test68
-rw-r--r--mysql-test/suite/rpl/t/rpl_insert.test14
-rw-r--r--mysql-test/suite/rpl/t/rpl_invoked_features.test90
-rw-r--r--mysql-test/suite/rpl/t/rpl_load_from_master.test6
-rw-r--r--mysql-test/suite/rpl/t/rpl_loaddata_map-master.opt1
-rw-r--r--mysql-test/suite/rpl/t/rpl_loaddata_map-slave.opt1
-rw-r--r--mysql-test/suite/rpl/t/rpl_loaddata_map.test54
-rw-r--r--mysql-test/suite/rpl/t/rpl_loadfile.test7
-rw-r--r--mysql-test/suite/rpl/t/rpl_log_pos.test10
-rw-r--r--mysql-test/suite/rpl/t/rpl_master_pos_wait.test11
-rw-r--r--mysql-test/suite/rpl/t/rpl_misc_functions.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_optimize.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_packet.test16
-rw-r--r--mysql-test/suite/rpl/t/rpl_ps.test95
-rw-r--r--mysql-test/suite/rpl/t/rpl_relayspace.test5
-rw-r--r--mysql-test/suite/rpl/t/rpl_report-slave.opt2
-rw-r--r--mysql-test/suite/rpl/t/rpl_report.test21
-rw-r--r--mysql-test/suite/rpl/t/rpl_rotate_logs.test18
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_basic_11bugs.test40
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_charset.test9
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_colSize.test168
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_create_table.test10
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_flsh_tbls.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_mysqlbinlog.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_mystery22.test7
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_sp001.test6
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_sp005.test5
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_stop_middle.test3
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_trig001.test19
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_trig003.test8
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_unsafe_funcs.test35
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_until.test4
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_view01.test16
-rw-r--r--mysql-test/suite/rpl/t/rpl_server_id.test29
-rw-r--r--mysql-test/suite/rpl/t/rpl_server_id1.test17
-rw-r--r--mysql-test/suite/rpl/t/rpl_session_var.test3
-rw-r--r--mysql-test/suite/rpl/t/rpl_skip_error-slave.opt2
-rw-r--r--mysql-test/suite/rpl/t/rpl_skip_error.test75
-rw-r--r--mysql-test/suite/rpl/t/rpl_slave_skip-slave.opt1
-rw-r--r--mysql-test/suite/rpl/t/rpl_slave_skip.test239
-rw-r--r--mysql-test/suite/rpl/t/rpl_slave_status.test5
-rw-r--r--mysql-test/suite/rpl/t/rpl_sp.test3
-rw-r--r--mysql-test/suite/rpl/t/rpl_sp_effects.test50
-rw-r--r--mysql-test/suite/rpl/t/rpl_ssl.test32
-rw-r--r--mysql-test/suite/rpl/t/rpl_ssl1.test3
-rw-r--r--mysql-test/suite/rpl/t/rpl_start_stop_slave.test9
-rw-r--r--mysql-test/suite/rpl/t/rpl_stm_charset.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_stm_mystery22.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_stm_until.test12
-rw-r--r--mysql-test/suite/rpl/t/rpl_switch_stm_row_mixed.test39
-rw-r--r--mysql-test/suite/rpl/t/rpl_temporary.test19
-rw-r--r--mysql-test/suite/rpl/t/rpl_temporary_errors-slave.opt3
-rw-r--r--mysql-test/suite/rpl/t/rpl_temporary_errors.test31
-rw-r--r--mysql-test/suite/rpl/t/rpl_timezone.test27
-rw-r--r--mysql-test/suite/rpl/t/rpl_trigger.test17
-rw-r--r--mysql-test/suite/rpl/t/rpl_trunc_temp.test7
-rw-r--r--mysql-test/suite/rpl/t/rpl_user.test61
-rw-r--r--mysql-test/suite/rpl/t/rpl_user_variables.test19
-rw-r--r--mysql-test/suite/rpl/t/rpl_variables-master.opt1
-rw-r--r--mysql-test/suite/rpl/t/rpl_variables.test747
-rw-r--r--mysql-test/suite/rpl/t/rpl_variables_stm.test636
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_2innodb.result62
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_2myisam.result58
-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.result805
-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_charset.result201
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_simplex.result9
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_ctype_ucs2_def.result20
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_dd_partitions.result44
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_ddl.result40
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_extraCol.result277
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb2ndb.result855
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_log.result155
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_myisam2ndb.result855
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_stm_innodb.result18
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_transaction.result110
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_row_basic_7ndb.result29
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_truncate_7ndb.result60
-rw-r--r--mysql-test/suite/rpl_ndb/t/disabled.def17
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_2innodb-master.opt2
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_2innodb-slave.opt2
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_2innodb.test19
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_2myisam-master.opt2
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_2myisam-slave.opt2
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_2myisam.test17
-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.test18
-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.test40
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_UUID.test2
-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_bank.test2
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_basic.test23
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_blob.test1
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_blob2.test1
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_charset.test8
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_circular.test1
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_simplex.test2
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_commit_afterflush.test1
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_basic.test2
-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.test2
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_ddl.test2
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_delete_nowhere.test1
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_do_db.test1
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_do_table.test1
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_extraCol.test2
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_func003.test1
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_idempotent.test2
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb2ndb-slave.opt2
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb2ndb.test3
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb_trans.test1
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_insert_ignore.test1
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_multi.test7
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_update2.test2
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_update3.test1
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_myisam2ndb-master.opt1
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_myisam2ndb-slave.opt2
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_myisam2ndb.test2
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_rep_ignore.test1
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_row_001.test1
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_sp003.test1
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_sp006.test1
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_sync.test2
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_transaction-master.opt1
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_transaction-slave.opt1
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_transaction.test131
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_trig004.test1
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndbapi_multi.test2
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_row_basic_7ndb.test2
-rw-r--r--mysql-test/suite/stress/include/ddl3.inc2
-rw-r--r--mysql-test/suite/stress/r/ddl_archive.result16
-rw-r--r--mysql-test/suite/stress/r/ddl_csv.result16
-rw-r--r--mysql-test/suite/stress/r/ddl_innodb.result16
-rw-r--r--mysql-test/suite/stress/r/ddl_memory.result16
-rw-r--r--mysql-test/suite/stress/r/ddl_myisam.result16
-rw-r--r--mysql-test/suite/stress/r/ddl_ndb.result16
-rw-r--r--mysql-test/suite/stress/t/ddl_ndb.test2
-rw-r--r--mysql-test/t/almost_full.test41
-rw-r--r--mysql-test/t/analyze.test14
-rw-r--r--mysql-test/t/archive.test47
-rw-r--r--mysql-test/t/auto_increment.test2
-rw-r--r--mysql-test/t/backup.test11
-rw-r--r--mysql-test/t/bdb_notembedded.test38
-rw-r--r--mysql-test/t/bigint.test9
-rw-r--r--mysql-test/t/binlog_unsafe.test18
-rw-r--r--mysql-test/t/bootstrap.test7
-rw-r--r--mysql-test/t/case.test23
-rw-r--r--mysql-test/t/cast.test22
-rw-r--r--mysql-test/t/change_user.test46
-rw-r--r--mysql-test/t/comments.test31
-rw-r--r--mysql-test/t/commit_1innodb.test6
-rw-r--r--mysql-test/t/compare.test31
-rw-r--r--mysql-test/t/connect.test190
-rw-r--r--mysql-test/t/create.test239
-rw-r--r--mysql-test/t/csv.test110
-rw-r--r--mysql-test/t/csv_alter_table.test56
-rw-r--r--mysql-test/t/csv_not_null.test100
-rw-r--r--mysql-test/t/ctype_ascii.test13
-rw-r--r--mysql-test/t/ctype_big5.test2
-rw-r--r--mysql-test/t/ctype_cp1250_ch.test10
-rw-r--r--mysql-test/t/ctype_eucjpms.test3
-rw-r--r--mysql-test/t/ctype_euckr.test25
-rw-r--r--mysql-test/t/ctype_gb2312.test2
-rw-r--r--mysql-test/t/ctype_gbk.test2
-rw-r--r--mysql-test/t/ctype_latin1_de.test1
-rw-r--r--mysql-test/t/ctype_recoding.test10
-rw-r--r--mysql-test/t/ctype_sjis.test2
-rw-r--r--mysql-test/t/ctype_uca.test6
-rw-r--r--mysql-test/t/ctype_ucs.test64
-rw-r--r--mysql-test/t/ctype_ucs2_def.test13
-rw-r--r--mysql-test/t/ctype_ujis.test2
-rw-r--r--mysql-test/t/ctype_utf8.test75
-rw-r--r--mysql-test/t/ddl_i18n_koi8r.test8
-rw-r--r--mysql-test/t/ddl_i18n_utf8.test8
-rw-r--r--mysql-test/t/delayed.test62
-rw-r--r--mysql-test/t/delete.test73
-rw-r--r--mysql-test/t/derived.test3
-rw-r--r--mysql-test/t/disabled.def17
-rw-r--r--mysql-test/t/distinct.test2
-rw-r--r--mysql-test/t/drop.test62
-rw-r--r--mysql-test/t/events_1.test (renamed from mysql-test/t/events.test)370
-rw-r--r--mysql-test/t/events_2.test411
-rw-r--r--mysql-test/t/events_bugs-master.opt1
-rw-r--r--mysql-test/t/events_bugs.test259
-rw-r--r--mysql-test/t/events_logs_tests.test174
-rw-r--r--mysql-test/t/events_scheduling.test17
-rw-r--r--mysql-test/t/explain.test28
-rw-r--r--mysql-test/t/federated.test106
-rw-r--r--mysql-test/t/federated_server.test14
-rw-r--r--mysql-test/t/flush.test31
-rw-r--r--mysql-test/t/flush_read_lock_kill.test18
-rw-r--r--mysql-test/t/fulltext.test8
-rw-r--r--mysql-test/t/func_gconcat.test95
-rw-r--r--mysql-test/t/func_group.test56
-rw-r--r--mysql-test/t/func_in.test8
-rw-r--r--mysql-test/t/func_math.test37
-rw-r--r--mysql-test/t/func_misc.test87
-rw-r--r--mysql-test/t/func_regexp.test34
-rw-r--r--mysql-test/t/func_sapdb.test1
-rw-r--r--mysql-test/t/func_set.test19
-rw-r--r--mysql-test/t/func_str.test32
-rw-r--r--mysql-test/t/func_time.test79
-rw-r--r--mysql-test/t/gis-rtree.test36
-rw-r--r--mysql-test/t/gis.test61
-rw-r--r--mysql-test/t/grant.test189
-rw-r--r--mysql-test/t/grant2.test32
-rw-r--r--mysql-test/t/grant3.test126
-rw-r--r--mysql-test/t/group_by.test132
-rw-r--r--mysql-test/t/group_min_max.test25
-rw-r--r--mysql-test/t/heap_btree.test18
-rw-r--r--mysql-test/t/information_schema.test218
-rw-r--r--mysql-test/t/information_schema_chmod.test2
-rw-r--r--mysql-test/t/innodb-semi-consistent-master.opt1
-rw-r--r--mysql-test/t/innodb-semi-consistent.test50
-rw-r--r--mysql-test/t/innodb-ucs2.test4
-rw-r--r--mysql-test/t/innodb.test241
-rw-r--r--mysql-test/t/innodb_autoinc_lock_mode_zero-master.opt1
-rw-r--r--mysql-test/t/innodb_autoinc_lock_mode_zero.test44
-rw-r--r--mysql-test/t/innodb_bug34053.test50
-rw-r--r--mysql-test/t/innodb_gis.test1
-rw-r--r--mysql-test/t/innodb_mysql.test3
-rw-r--r--mysql-test/t/insert.test101
-rw-r--r--mysql-test/t/insert_notembedded.test35
-rw-r--r--mysql-test/t/insert_select.test12
-rw-r--r--mysql-test/t/join.test29
-rw-r--r--mysql-test/t/key.test60
-rw-r--r--mysql-test/t/kill.test29
-rw-r--r--mysql-test/t/limit.test17
-rw-r--r--mysql-test/t/loaddata.test24
-rw-r--r--mysql-test/t/lock.test65
-rw-r--r--mysql-test/t/lock_multi.test263
-rw-r--r--mysql-test/t/log_state.test58
-rw-r--r--mysql-test/t/log_tables.test233
-rw-r--r--mysql-test/t/lowercase_view.test23
-rw-r--r--mysql-test/t/merge-big.test82
-rw-r--r--mysql-test/t/merge.test896
-rw-r--r--mysql-test/t/merge_innodb.test41
-rw-r--r--mysql-test/t/multi_update.test38
-rw-r--r--mysql-test/t/myisam.test260
-rw-r--r--mysql-test/t/myisampack.test33
-rw-r--r--mysql-test/t/mysql.test35
-rw-r--r--mysql-test/t/mysql_client_test-master.opt2
-rw-r--r--mysql-test/t/mysql_client_test.test4
-rw-r--r--mysql-test/t/mysql_comments.sql218
-rw-r--r--mysql-test/t/mysql_comments.test37
-rw-r--r--mysql-test/t/mysqladmin.test3
-rw-r--r--mysql-test/t/mysqlbinlog.test71
-rw-r--r--mysql-test/t/mysqlbinlog2.test3
-rw-r--r--mysql-test/t/mysqlcheck.test49
-rw-r--r--mysql-test/t/mysqldump-compat.opt1
-rw-r--r--mysql-test/t/mysqldump-compat.test13
-rw-r--r--mysql-test/t/mysqldump-no-binlog-master.opt1
-rw-r--r--mysql-test/t/mysqldump-no-binlog.test6
-rw-r--r--mysql-test/t/mysqldump.test106
-rw-r--r--mysql-test/t/mysqlslap.test15
-rw-r--r--mysql-test/t/mysqltest.test169
-rw-r--r--mysql-test/t/named_pipe-master.opt1
-rw-r--r--mysql-test/t/named_pipe.test14
-rw-r--r--mysql-test/t/no-threads.test11
-rw-r--r--mysql-test/t/not_embedded_server.test34
-rw-r--r--mysql-test/t/null.test29
-rw-r--r--mysql-test/t/null_key.test23
-rw-r--r--mysql-test/t/olap.test18
-rw-r--r--mysql-test/t/order_by.test108
-rw-r--r--mysql-test/t/order_fill_sortbuf-master.opt2
-rw-r--r--mysql-test/t/outfile_loaddata.test113
-rw-r--r--mysql-test/t/parser.test70
-rw-r--r--mysql-test/t/parser_precedence.test333
-rw-r--r--mysql-test/t/partition.test390
-rw-r--r--mysql-test/t/partition_02myisam.test25
-rw-r--r--mysql-test/t/partition_archive.test107
-rw-r--r--mysql-test/t/partition_blackhole.test24
-rw-r--r--mysql-test/t/partition_csv.test38
-rw-r--r--mysql-test/t/partition_datatype.test232
-rw-r--r--mysql-test/t/partition_error.test31
-rw-r--r--mysql-test/t/partition_hash.test26
-rw-r--r--mysql-test/t/partition_innodb.test56
-rw-r--r--mysql-test/t/partition_mgm.test19
-rw-r--r--mysql-test/t/partition_not_windows.test169
-rw-r--r--mysql-test/t/partition_pruning.test31
-rw-r--r--mysql-test/t/partition_range.test73
-rw-r--r--mysql-test/t/partition_symlink.test170
-rw-r--r--mysql-test/t/partition_windows.test37
-rw-r--r--mysql-test/t/plugin.test50
-rw-r--r--mysql-test/t/plugin_load-master.opt3
-rw-r--r--mysql-test/t/plugin_load.test3
-rw-r--r--mysql-test/t/profiling.test266
-rw-r--r--mysql-test/t/ps.test206
-rw-r--r--mysql-test/t/ps_1general.test2
-rw-r--r--mysql-test/t/ps_ddl.test1839
-rw-r--r--mysql-test/t/query_cache.test125
-rw-r--r--mysql-test/t/query_cache_debug.test46
-rw-r--r--mysql-test/t/query_cache_notembedded.test36
-rw-r--r--mysql-test/t/query_cache_with_views.test (renamed from mysql-test/t/view_query_cache.test)0
-rw-r--r--mysql-test/t/range.test37
-rw-r--r--mysql-test/t/read_only.test35
-rw-r--r--mysql-test/t/renamedb.test71
-rw-r--r--mysql-test/t/repair.test31
-rw-r--r--mysql-test/t/row.test13
-rw-r--r--mysql-test/t/select.test353
-rw-r--r--mysql-test/t/shm-master.opt (renamed from mysql-test/t/windows_shm-master.opt)2
-rw-r--r--mysql-test/t/shm.test19
-rw-r--r--mysql-test/t/show_check.test89
-rw-r--r--mysql-test/t/skip_grants.test10
-rw-r--r--mysql-test/t/sp-code.test77
-rw-r--r--mysql-test/t/sp-destruct.test1
-rw-r--r--mysql-test/t/sp-error.test263
-rw-r--r--mysql-test/t/sp.test687
-rw-r--r--mysql-test/t/sp_notembedded.test106
-rw-r--r--mysql-test/t/sql_mode.test29
-rw-r--r--mysql-test/t/status.test82
-rw-r--r--mysql-test/t/strict.test1
-rw-r--r--mysql-test/t/subselect.test288
-rw-r--r--mysql-test/t/subselect_notembedded.test96
-rw-r--r--mysql-test/t/symlink.test123
-rw-r--r--mysql-test/t/system_mysql_db_fix50117.test2
-rw-r--r--mysql-test/t/tablelock.test13
-rw-r--r--mysql-test/t/trigger-trans.test32
-rw-r--r--mysql-test/t/trigger.test95
-rw-r--r--mysql-test/t/trigger_notembedded.test (renamed from mysql-test/t/trigger-grant.test)34
-rw-r--r--mysql-test/t/type_bit.test61
-rw-r--r--mysql-test/t/type_blob.test9
-rw-r--r--mysql-test/t/type_date.test93
-rw-r--r--mysql-test/t/type_datetime.test112
-rw-r--r--mysql-test/t/type_decimal.test116
-rw-r--r--mysql-test/t/type_float.test21
-rw-r--r--mysql-test/t/type_newdecimal.test21
-rw-r--r--mysql-test/t/type_set.test20
-rw-r--r--mysql-test/t/udf.test54
-rw-r--r--mysql-test/t/udf_skip_grants-master.opt1
-rw-r--r--mysql-test/t/udf_skip_grants.test28
-rw-r--r--mysql-test/t/union.test66
-rw-r--r--mysql-test/t/upgrade.test30
-rw-r--r--mysql-test/t/user_var.test27
-rw-r--r--mysql-test/t/variables+c.test11
-rw-r--r--mysql-test/t/variables-notembedded-master.opt1
-rw-r--r--mysql-test/t/variables-notembedded.test30
-rw-r--r--mysql-test/t/variables.test24
-rw-r--r--mysql-test/t/variables_debug.test12
-rw-r--r--mysql-test/t/view.test279
-rw-r--r--mysql-test/t/view_grant.test51
-rw-r--r--mysql-test/t/warnings.test34
-rw-r--r--mysql-test/t/windows.test3
-rw-r--r--mysql-test/t/windows_shm.test9
-rw-r--r--mysql-test/t/xml.test19
-rw-r--r--mysql-test/valgrind.supp13
1493 files changed, 227072 insertions, 139816 deletions
diff --git a/mysql-test/Makefile.am b/mysql-test/Makefile.am
index e1b0f29e253..339c7574895 100644
--- a/mysql-test/Makefile.am
+++ b/mysql-test/Makefile.am
@@ -18,7 +18,6 @@
## Process this file with automake to create Makefile.in
SUBDIRS = ndb
-DIST_SUBDIRS=ndb
benchdir_root= $(prefix)
testdir = $(benchdir_root)/mysql-test
@@ -43,7 +42,12 @@ dist-hook:
$(distdir)/std_data \
$(distdir)/std_data/ndb_backup50 \
$(distdir)/std_data/ndb_backup51 \
- $(distdir)/lib
+ $(distdir)/std_data/ndb_backup51_data_be \
+ $(distdir)/std_data/ndb_backup51_data_le \
+ $(distdir)/std_data/parts \
+ $(distdir)/lib \
+ $(distdir)/std_data/funcs_1 \
+ $(distdir)/lib/My
-$(INSTALL_DATA) $(srcdir)/t/*.def $(distdir)/t
$(INSTALL_DATA) $(srcdir)/t/*.test $(distdir)/t
-$(INSTALL_DATA) $(srcdir)/t/*.imtest $(distdir)/t
@@ -56,6 +60,7 @@ dist-hook:
-$(INSTALL_DATA) $(srcdir)/extra/binlog_tests/*.opt $(distdir)/extra/binlog_tests
-$(INSTALL_DATA) $(srcdir)/extra/rpl_tests/*.opt $(distdir)/extra/rpl_tests
$(INSTALL_DATA) $(srcdir)/include/*.inc $(distdir)/include
+ $(INSTALL_DATA) $(srcdir)/include/*.sql $(distdir)/include
$(INSTALL_DATA) $(srcdir)/include/*.test $(distdir)/include
$(INSTALL_DATA) $(srcdir)/r/*.result $(srcdir)/r/*.require $(distdir)/r
$(INSTALL_DATA) $(srcdir)/std_data/Moscow_leap $(distdir)/std_data
@@ -68,7 +73,12 @@ dist-hook:
$(INSTALL_DATA) $(srcdir)/std_data/*.cnf $(distdir)/std_data
$(INSTALL_DATA) $(srcdir)/std_data/ndb_backup50/BACKUP* $(distdir)/std_data/ndb_backup50
$(INSTALL_DATA) $(srcdir)/std_data/ndb_backup51/BACKUP* $(distdir)/std_data/ndb_backup51
+ $(INSTALL_DATA) $(srcdir)/std_data/ndb_backup51_data_be/BACKUP* $(distdir)/std_data/ndb_backup51_data_be
+ $(INSTALL_DATA) $(srcdir)/std_data/ndb_backup51_data_le/BACKUP* $(distdir)/std_data/ndb_backup51_data_le
+ $(INSTALL_DATA) $(srcdir)/std_data/parts/part_* $(distdir)/std_data/parts
+ $(INSTALL_DATA) $(srcdir)/std_data/funcs_1/* $(distdir)/std_data/funcs_1
$(INSTALL_DATA) $(srcdir)/lib/*.pl $(distdir)/lib
+ $(INSTALL_DATA) $(srcdir)/lib/My/*.pm $(distdir)/lib/My
-rm -rf `find $(distdir)/suite -type d -name SCCS` $(distdir)/suite/row_lock
install-data-local:
@@ -81,7 +91,12 @@ install-data-local:
$(DESTDIR)$(testdir)/std_data \
$(DESTDIR)$(testdir)/std_data/ndb_backup50 \
$(DESTDIR)$(testdir)/std_data/ndb_backup51 \
- $(DESTDIR)$(testdir)/lib
+ $(DESTDIR)$(testdir)/std_data/ndb_backup51_data_be \
+ $(DESTDIR)$(testdir)/std_data/ndb_backup51_data_le \
+ $(DESTDIR)$(testdir)/std_data/parts \
+ $(DESTDIR)$(testdir)/lib \
+ $(DESTDIR)$(testdir)/std_data/funcs_1 \
+ $(DESTDIR)$(testdir)/lib/My
$(INSTALL_DATA) $(srcdir)/README $(DESTDIR)$(testdir)
-$(INSTALL_DATA) $(srcdir)/t/*.def $(DESTDIR)$(testdir)/t
$(INSTALL_DATA) $(srcdir)/t/*.test $(DESTDIR)$(testdir)/t
@@ -98,6 +113,7 @@ install-data-local:
-$(INSTALL_DATA) $(srcdir)/extra/binlog_tests/*.opt $(DESTDIR)$(testdir)/extra/binlog_tests
-$(INSTALL_DATA) $(srcdir)/extra/rpl_tests/*.opt $(DESTDIR)$(testdir)/extra/rpl_tests
$(INSTALL_DATA) $(srcdir)/include/*.inc $(DESTDIR)$(testdir)/include
+ $(INSTALL_DATA) $(srcdir)/include/*.sql $(DESTDIR)$(testdir)/include
$(INSTALL_DATA) $(srcdir)/include/*.test $(DESTDIR)$(testdir)/include
$(INSTALL_DATA) $(srcdir)/std_data/*.dat $(DESTDIR)$(testdir)/std_data
$(INSTALL_DATA) $(srcdir)/std_data/*.*001 $(DESTDIR)$(testdir)/std_data
@@ -111,7 +127,12 @@ install-data-local:
$(INSTALL_DATA) $(srcdir)/std_data/*.cnf $(DESTDIR)$(testdir)/std_data
$(INSTALL_DATA) $(srcdir)/std_data/ndb_backup50/BACKUP* $(DESTDIR)$(testdir)/std_data/ndb_backup50
$(INSTALL_DATA) $(srcdir)/std_data/ndb_backup51/BACKUP* $(DESTDIR)$(testdir)/std_data/ndb_backup51
+ $(INSTALL_DATA) $(srcdir)/std_data/ndb_backup51_data_be/BACKUP* $(DESTDIR)$(testdir)/std_data/ndb_backup51_data_be
+ $(INSTALL_DATA) $(srcdir)/std_data/ndb_backup51_data_le/BACKUP* $(DESTDIR)$(testdir)/std_data/ndb_backup51_data_le
+ $(INSTALL_DATA) $(srcdir)/std_data/parts/part_* $(DESTDIR)$(testdir)/std_data/parts
+ $(INSTALL_DATA) $(srcdir)/std_data/funcs_1/* $(distdir)/std_data/funcs_1
$(INSTALL_DATA) $(srcdir)/lib/*.pl $(DESTDIR)$(testdir)/lib
+ $(INSTALL_DATA) $(srcdir)/lib/My/*.pm $(DESTDIR)$(testdir)/lib/My
for f in `(cd $(srcdir); find suite -type f | egrep -v 'SCCS|row_lock')`; \
do \
d=$(DESTDIR)$(testdir)/`dirname $$f`; \
@@ -147,6 +168,7 @@ SUFFIXES = .sh
-e 's!@''PERL''@!@PERL@!' \
-e 's!@''VERSION''@!@VERSION@!' \
-e 's!@''MYSQL_TCP_PORT''@!@MYSQL_TCP_PORT@!' \
+ -e 's!@''MYSQL_TCP_PORT_DEFAULT''@!@MYSQL_TCP_PORT_DEFAULT@!' \
-e 's!@''MYSQL_BASE_VERSION''@!@MYSQL_BASE_VERSION@!' \
-e 's!@''MYSQL_UNIX_ADDR''@!@MYSQL_UNIX_ADDR@!' \
-e 's!@''MYSQL_TCP_PORT''@!@MYSQL_TCP_PORT@!' \
diff --git a/mysql-test/extra/binlog_tests/binlog.test b/mysql-test/extra/binlog_tests/binlog.test
index 0d2ed7ad509..48fc5a81c7b 100644
--- a/mysql-test/extra/binlog_tests/binlog.test
+++ b/mysql-test/extra/binlog_tests/binlog.test
@@ -108,6 +108,23 @@ drop table t1;
set global binlog_cache_size=@bcs;
set session autocommit = @ac;
+#
+# Bug#33798: prepared statements improperly handle large unsigned ints
+#
+--disable_warnings
+drop table if exists t1;
+--enable_warnings
+reset master;
+create table t1 (a bigint unsigned, b bigint(20) unsigned);
+prepare stmt from "insert into t1 values (?,?)";
+set @a= 9999999999999999;
+set @b= 14632475938453979136;
+execute stmt using @a, @b;
+deallocate prepare stmt;
+drop table t1;
+--replace_regex /\/\* xid=.* \*\//\/* XID *\// /table_id: [0-9]+/table_id: #/ /Server ver: [^,]*,/Server version,/
+show binlog events from 0;
+
--echo End of 5.0 tests
# Test of a too big SET INSERT_ID: see if the truncated value goes
diff --git a/mysql-test/extra/binlog_tests/blackhole.test b/mysql-test/extra/binlog_tests/blackhole.test
index 1ca59955d76..59d31c3a08b 100644
--- a/mysql-test/extra/binlog_tests/blackhole.test
+++ b/mysql-test/extra/binlog_tests/blackhole.test
@@ -126,7 +126,12 @@ select * from t2;
select * from t3;
let $VERSION=`select version()`;
-source include/show_binlog_events.inc;
+--replace_result $VERSION VERSION
+--replace_column 2 # 4 # 5 #
+--replace_regex /\/\* xid=.* \*\//\/* XID *\// /table_id: [0-9]+/table_id: #/
+--replace_regex /file_id=[0-9]+/file_id=#/
+show binlog events;
+
drop table t1,t2,t3;
#
@@ -134,6 +139,15 @@ drop table t1,t2,t3;
# table
#
CREATE TABLE t1(a INT) ENGINE=BLACKHOLE;
+# NOTE: After exchanging open_ltable() by open_and_lock_tables() in
+# handle_delayed_insert() to fix problems with MERGE tables (Bug#26379),
+# problems with INSERT DELAYED and BLACKHOLE popped up. open_ltable()
+# does not check if the binlogging capabilities of the statement and the
+# table match. So the below used to succeed. But since INSERT DELAYED
+# switches to row-based logging in mixed-mode and BLACKHOLE cannot do
+# row-based logging, it could not really work. Until this problem is
+# correctly fixed, we have that error here.
+--error ER_BINLOG_LOGGING_IMPOSSIBLE
INSERT DELAYED INTO t1 VALUES(1);
DROP TABLE t1;
@@ -169,7 +183,14 @@ start transaction;
insert into t1 values(2);
rollback;
set autocommit=1;
-source include/show_binlog_events.inc;
+
+let $VERSION=`select version()`;
+--replace_result $VERSION VERSION
+--replace_column 2 # 4 # 5 #
+--replace_regex /\/\* xid=.* \*\//\/* XID *\// /table_id: [0-9]+/table_id: #/
+--replace_regex /file_id=[0-9]+/file_id=#/
+show binlog events;
+
drop table if exists t1;
# End of 5.1 tests
diff --git a/mysql-test/extra/binlog_tests/ctype_cp932.test b/mysql-test/extra/binlog_tests/ctype_cp932.test
index 0839f5d43aa..33247550d62 100644
--- a/mysql-test/extra/binlog_tests/ctype_cp932.test
+++ b/mysql-test/extra/binlog_tests/ctype_cp932.test
@@ -8,6 +8,10 @@ drop table if exists t3;
drop table if exists t4;
--enable_warnings
+SET @test_character_set= 'cp932';
+SET @test_collation= 'cp932_japanese_ci';
+-- source include/ctype_common.inc
+
set names cp932;
set character_set_database = cp932;
@@ -400,8 +404,10 @@ DROP TABLE t4;
SET collation_connection='cp932_japanese_ci';
-- source include/ctype_filesort.inc
+-- source include/ctype_like_range_f1f2.inc
SET collation_connection='cp932_bin';
-- source include/ctype_filesort.inc
+-- source include/ctype_like_range_f1f2.inc
#
# Bug#29333 myisam corruption with
diff --git a/mysql-test/extra/binlog_tests/database.test b/mysql-test/extra/binlog_tests/database.test
new file mode 100644
index 00000000000..11a8f53a6d7
--- /dev/null
+++ b/mysql-test/extra/binlog_tests/database.test
@@ -0,0 +1,15 @@
+source include/have_log_bin.inc;
+source include/not_embedded.inc;
+
+# Checking that the drop of a database does not replicate anything in
+# addition to the drop of the database
+
+reset master;
+create database testing_1;
+use testing_1;
+create table t1 (a int);
+create function sf1 (a int) returns int return a+1;
+create trigger tr1 before insert on t1 for each row insert into t2 values (2*new.a);
+create procedure sp1 (a int) insert into t1 values(a);
+drop database testing_1;
+source include/show_binlog_events.inc;
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 7141bd1abb9..6879089a1b7 100644
--- a/mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test
+++ b/mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test
@@ -7,7 +7,7 @@
-- source include/have_log_bin.inc
-- source include/have_innodb.inc
--- source include/have_debug.inc
+
--disable_warnings
drop table if exists t1, t2;
@@ -315,4 +315,324 @@ disconnect con3;
connection con4;
select get_lock("a",10); # wait for rollback to finish
+flush logs;
+
+# we check that the error code of the "ROLLBACK" event is 0 and not
+# ER_SERVER_SHUTDOWN (i.e. disconnection just rolls back transaction
+# and does not make slave to stop)
+if (`select @@binlog_format = 'ROW'`)
+{
+ --exec $MYSQL_BINLOG --start-position=524 $MYSQLTEST_VARDIR/log/master-bin.000001 > $MYSQLTEST_VARDIR/tmp/mix_innodb_myisam_binlog.output
+}
+
+if (`select @@binlog_format = 'STATEMENT' || @@binlog_format = 'MIXED'`)
+{
+ --exec $MYSQL_BINLOG --start-position=555 $MYSQLTEST_VARDIR/log/master-bin.000001 > $MYSQLTEST_VARDIR/tmp/mix_innodb_myisam_binlog.output
+}
+
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+eval select
+(@a:=load_file("$MYSQLTEST_VARDIR/tmp/mix_innodb_myisam_binlog.output"))
+is not null;
+--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
+eval select
+@a like "%#%error_code=0%ROLLBACK\\n/*!*/;%ROLLBACK /* added by mysqlbinlog */;%" OR
+@a like "%#%error_code=0%ROLLBACK\\r\\n/*!*/;%ROLLBACK /* added by mysqlbinlog */;%",
+@a not like "%#%error_code=%error_code=%";
+drop table t1, t2;
+
+#
+# Bug #27417 thd->no_trans_update.stmt lost value inside of SF-exec-stack
+# bug #28960 non-trans temp table changes with insert .. select
+# not binlogged after rollback
+#
+# testing appearence of insert into temp_table in binlog.
+# There are two branches of execution that require different setup.
+
+## send_eof() branch
+
+# prepare
+
+create temporary table tt (a int unique);
+create table ti (a int) engine=innodb;
+reset master;
+
+# action
+
+begin;
+insert into ti values (1);
+insert into ti values (2) ;
+insert into tt select * from ti;
+rollback;
+
+# check
+
+select count(*) from tt /* 2 */;
+source include/show_binlog_events.inc;
+select count(*) from ti /* zero */;
+insert into ti select * from tt;
+select * from ti /* that is what slave would miss - a bug */;
+
+
+## send_error() branch
+delete from ti;
+delete from tt where a=1;
+reset master;
+
+# action
+
+begin;
+insert into ti values (1);
+insert into ti values (2) /* to make the dup error in the following */;
+--error ER_DUP_ENTRY
+insert into tt select * from ti /* one affected and error */;
+rollback;
+
+# check
+
+source include/show_binlog_events.inc;
+select count(*) from ti /* zero */;
+insert into ti select * from tt;
+select * from tt /* that is what otherwise slave missed - the bug */;
+
+drop table ti, tt;
+
+
+#
+# Bug #27417 thd->no_trans_update.stmt lost value inside of SF-exec-stack
+#
+# Testing asserts: if there is a side effect of modifying non-transactional
+# table thd->no_trans_update.stmt must be TRUE;
+# the assert is active with debug build
+#
+
+--disable_warnings
+drop function if exists bug27417;
+drop table if exists t1,t2;
+--enable_warnings
+# side effect table
+CREATE TABLE t1 (a int NOT NULL auto_increment primary key) ENGINE=MyISAM;
+# target tables
+CREATE TABLE t2 (a int NOT NULL auto_increment, PRIMARY KEY (a));
+
+delimiter |;
+create function bug27417(n int)
+RETURNS int(11)
+begin
+ insert into t1 values (null);
+ return n;
+end|
+delimiter ;|
+
+reset master;
+
+# execute
+
+insert into t2 values (bug27417(1));
+insert into t2 select bug27417(2);
+reset master;
+
+--error ER_DUP_ENTRY
+insert into t2 values (bug27417(2));
+source include/show_binlog_events.inc; /* only (!) with fixes for #23333 will show there is the query */;
+select count(*) from t1 /* must be 3 */;
+
+reset master;
+select count(*) from t2;
+delete from t2 where a=bug27417(3);
+select count(*) from t2 /* nothing got deleted */;
+source include/show_binlog_events.inc; /* the query must be in regardless of #23333 */;
+select count(*) from t1 /* must be 5 */;
+
+--enable_info
+delete t2 from t2 where t2.a=bug27417(100) /* must not affect t2 */;
+--disable_info
+select count(*) from t1 /* must be 7 */;
+
+# function bug27417 remains for the following testing of bug#23333
+drop table t1,t2;
+
+#
+# Bug#23333 using the patch (and the test) for bug#27471
+#
+# throughout the bug tests
+# t1 - non-trans side effects gatherer;
+# t2 - transactional table;
+#
+
+CREATE TABLE t1 (a int NOT NULL auto_increment primary key) ENGINE=MyISAM;
+CREATE TABLE t2 (a int, PRIMARY KEY (a)) ENGINE=InnoDB;
+CREATE TABLE t3 (a int, PRIMARY KEY (a), b int unique) ENGINE=MyISAM;
+CREATE TABLE t4 (a int, PRIMARY KEY (a), b int unique) ENGINE=Innodb;
+CREATE TABLE t5 (a int, PRIMARY KEY (a)) ENGINE=InnoDB;
+
+
+#
+# INSERT
+#
+
+# prepare
+
+ insert into t2 values (1);
+ reset master;
+
+# execute
+
+ --error ER_DUP_ENTRY
+ insert into t2 values (bug27417(1));
+
+# check
+
+ source include/show_binlog_events.inc; /* the output must denote there is the query */;
+ select count(*) from t1 /* must be 1 */;
+
+#
+# INSERT SELECT
+#
+
+# prepare
+ delete from t1;
+ delete from t2;
+ insert into t2 values (2);
+ reset master;
+
+# execute
+
+ --error ER_DUP_ENTRY
+ insert into t2 select bug27417(1) union select bug27417(2);
+
+# check
+
+ source include/show_binlog_events.inc; /* the output must denote there is the query */;
+ select count(*) from t1 /* must be 2 */;
+
+#
+# UPDATE inc multi-update
+#
+
+# prepare
+ delete from t1;
+ insert into t3 values (1,1),(2,3),(3,4);
+ reset master;
+
+# execute
+ --error ER_DUP_ENTRY
+ update t3 set b=b+bug27417(1);
+
+# check
+ source include/show_binlog_events.inc; /* the output must denote there is the query */;
+ select count(*) from t1 /* must be 2 */;
+
+## multi_update::send_eof() branch
+
+# prepare
+ delete from t3;
+ delete from t4;
+ insert into t3 values (1,1);
+ insert into t4 values (1,1),(2,2);
+
+ reset master;
+
+# execute
+ --error ER_DUP_ENTRY
+ UPDATE t4,t3 SET t4.a=t3.a + bug27417(1) /* top level non-ta table */;
+
+# check
+ source include/show_binlog_events.inc; /* the output must denote there is the query */;
+ select count(*) from t1 /* must be 4 */;
+
+## send_error() branch of multi_update
+
+# prepare
+ delete from t1;
+ delete from t3;
+ delete from t4;
+ insert into t3 values (1,1),(2,2);
+ insert into t4 values (1,1),(2,2);
+
+ reset master;
+
+# execute
+ --error ER_DUP_ENTRY
+ UPDATE t3,t4 SET t3.a=t4.a + bug27417(1);
+
+# check
+ select count(*) from t1 /* must be 1 */;
+
+# cleanup
+ drop table t4;
+
+
+#
+# DELETE incl multi-delete
+#
+
+# prepare
+ delete from t1;
+ delete from t2;
+ delete from t3;
+ insert into t2 values (1);
+ insert into t3 values (1,1);
+ create trigger trg_del before delete on t2 for each row
+ insert into t3 values (bug27417(1), 2);
+ reset master;
+
+# execute
+ --error ER_DUP_ENTRY
+ delete from t2;
+# check
+ source include/show_binlog_events.inc; /* the output must denote there is the query */;
+ select count(*) from t1 /* must be 1 */;
+
+# cleanup
+ drop trigger trg_del;
+
+# prepare
+ delete from t1;
+ delete from t2;
+ delete from t5;
+ create trigger trg_del_t2 after delete on t2 for each row
+ insert into t1 values (1);
+ insert into t2 values (2),(3);
+ insert into t5 values (1),(2);
+ reset master;
+
+# execute
+ --error ER_DUP_ENTRY
+ delete t2.* from t2,t5 where t2.a=t5.a + 1;
+
+# check
+ source include/show_binlog_events.inc; /* the output must denote there is the query */;
+ select count(*) from t1 /* must be 1 */;
+
+
+#
+# LOAD DATA
+#
+
+# prepare
+ delete from t1;
+ create table t4 (a int default 0, b int primary key) engine=innodb;
+ insert into t4 values (0, 17);
+ reset master;
+
+# execute
+ --error ER_DUP_ENTRY
+ load data infile '../std_data_ln/rpl_loaddata.dat' into table t4 (a, @b) set b= @b + bug27417(2);
+# check
+ select * from t4;
+ select count(*) from t1 /* must be 2 */;
+ source include/show_binlog_events.inc; /* the output must denote there is the query */;
+
+#
+# bug#23333 cleanup
+#
+
+
+drop trigger trg_del_t2;
+drop table t1,t2,t3,t4,t5;
+drop function bug27417;
+
+
+--echo end of tests
diff --git a/mysql-test/extra/binlog_tests/mix_innodb_myisam_side_effects.test b/mysql-test/extra/binlog_tests/mix_innodb_myisam_side_effects.test
new file mode 100644
index 00000000000..0a0bef4ca4d
--- /dev/null
+++ b/mysql-test/extra/binlog_tests/mix_innodb_myisam_side_effects.test
@@ -0,0 +1,294 @@
+# the file to be sourced from binlog.binlog_mix_innodb_myisam
+
+#
+# Bug #27417 thd->no_trans_update.stmt lost value inside of SF-exec-stack
+# bug #28960 non-trans temp table changes with insert .. select
+# not binlogged after rollback
+#
+# testing appearence of insert into temp_table in binlog.
+# There are two branches of execution that require different setup.
+
+# checking binlog content filled with row-based events due to
+# a used stored function modifies non-transactional table
+
+## send_eof() branch
+
+# prepare
+
+create temporary table tt (a int unique);
+create table ti (a int) engine=innodb;
+reset master;
+
+# action
+
+begin;
+insert into ti values (1);
+insert into ti values (2) ;
+insert into tt select * from ti;
+rollback;
+
+# check
+
+select count(*) from tt /* 2 */;
+source include/show_binlog_events.inc;
+select count(*) from ti /* zero */;
+insert into ti select * from tt;
+select * from ti /* that is what slave would miss - bug#28960 */;
+
+
+## send_error() branch
+delete from ti;
+delete from tt where a=1;
+reset master;
+
+# action
+
+begin;
+insert into ti values (1);
+insert into ti values (2) /* to make the dup error in the following */;
+--error ER_DUP_ENTRY
+insert into tt select * from ti /* one affected and error */;
+rollback;
+
+# check
+
+source include/show_binlog_events.inc; # nothing in binlog with row bilog format
+select count(*) from ti /* zero */;
+insert into ti select * from tt;
+select * from tt /* that is what otherwise slave missed - the bug */;
+
+drop table ti;
+
+
+#
+# Bug #27417 thd->no_trans_update.stmt lost value inside of SF-exec-stack
+#
+# Testing asserts: if there is a side effect of modifying non-transactional
+# table thd->no_trans_update.stmt must be TRUE;
+# the assert is active with debug build
+#
+
+--disable_warnings
+drop function if exists bug27417;
+drop table if exists t1,t2;
+--enable_warnings
+# side effect table
+CREATE TABLE t1 (a int NOT NULL auto_increment primary key) ENGINE=MyISAM;
+# target tables
+CREATE TABLE t2 (a int NOT NULL auto_increment, PRIMARY KEY (a));
+
+delimiter |;
+create function bug27417(n int)
+RETURNS int(11)
+begin
+ insert into t1 values (null);
+ return n;
+end|
+delimiter ;|
+
+reset master;
+
+# execute
+
+insert into t2 values (bug27417(1));
+insert into t2 select bug27417(2);
+reset master;
+
+--error ER_DUP_ENTRY
+insert into t2 values (bug27417(2));
+source include/show_binlog_events.inc; #only (!) with fixes for #23333 will show there is the query
+select count(*) from t1 /* must be 3 */;
+
+reset master;
+select count(*) from t2;
+delete from t2 where a=bug27417(3);
+select count(*) from t2 /* nothing got deleted */;
+source include/show_binlog_events.inc; # the query must be in regardless of #23333
+select count(*) from t1 /* must be 5 */;
+
+--enable_info
+delete t2 from t2 where t2.a=bug27417(100) /* must not affect t2 */;
+--disable_info
+select count(*) from t1 /* must be 7 */;
+
+# function bug27417 remains for the following testing of bug#23333
+drop table t1,t2;
+
+#
+# Bug#23333 using the patch (and the test) for bug#27471
+# throughout the bug tests
+# t1 - non-trans side effects gatherer;
+# t2 - transactional table;
+#
+CREATE TABLE t1 (a int NOT NULL auto_increment primary key) ENGINE=MyISAM;
+CREATE TABLE t2 (a int, PRIMARY KEY (a)) ENGINE=InnoDB;
+CREATE TABLE t3 (a int, PRIMARY KEY (a), b int unique) ENGINE=MyISAM;
+CREATE TABLE t4 (a int, PRIMARY KEY (a), b int unique) ENGINE=Innodb;
+CREATE TABLE t5 (a int, PRIMARY KEY (a)) ENGINE=InnoDB;
+
+
+#
+# INSERT
+#
+
+# prepare
+
+ insert into t2 values (1);
+ reset master;
+
+# execute
+
+ --error ER_DUP_ENTRY
+ insert into t2 values (bug27417(1));
+
+# check
+
+ source include/show_binlog_events.inc; # must be event of the query
+ select count(*) from t1 /* must be 1 */;
+
+#
+# INSERT SELECT
+#
+
+# prepare
+ delete from t1;
+ delete from t2;
+ insert into t2 values (2);
+ reset master;
+
+# execute
+
+ --error ER_DUP_ENTRY
+ insert into t2 select bug27417(1) union select bug27417(2);
+
+# check
+
+ source include/show_binlog_events.inc; # must be events of the query
+ select count(*) from t1 /* must be 2 */;
+
+#
+# UPDATE inc multi-update
+#
+
+# prepare
+ delete from t1;
+ insert into t3 values (1,1),(2,3),(3,4);
+ reset master;
+
+# execute
+ --error ER_DUP_ENTRY
+ update t3 set b=b+bug27417(1);
+
+# check
+ source include/show_binlog_events.inc; # must be events of the query
+ select count(*) from t1 /* must be 2 */;
+
+## multi_update::send_eof() branch
+
+# prepare
+ delete from t3;
+ delete from t4;
+ insert into t3 values (1,1);
+ insert into t4 values (1,1),(2,2);
+
+ reset master;
+
+# execute
+ --error ER_DUP_ENTRY
+ UPDATE t4,t3 SET t4.a=t3.a + bug27417(1) /* top level non-ta table */;
+
+# check
+ source include/show_binlog_events.inc; # the offset must denote there is the query
+ select count(*) from t1 /* must be 4 */;
+
+## send_error() branch of multi_update
+
+# prepare
+ delete from t1;
+ delete from t3;
+ delete from t4;
+ insert into t3 values (1,1),(2,2);
+ insert into t4 values (1,1),(2,2);
+
+ reset master;
+
+# execute
+ --error ER_DUP_ENTRY
+ UPDATE t3,t4 SET t3.a=t4.a + bug27417(1);
+
+# check
+ select count(*) from t1 /* must be 1 */;
+
+# cleanup
+ drop table t4;
+
+
+#
+# DELETE incl multi-delete
+#
+
+# prepare
+ delete from t1;
+ delete from t2;
+ delete from t3;
+ insert into t2 values (1);
+ insert into t3 values (1,1);
+ create trigger trg_del before delete on t2 for each row
+ insert into t3 values (bug27417(1), 2);
+ reset master;
+
+# execute
+ --error ER_DUP_ENTRY
+ delete from t2;
+# check
+ source include/show_binlog_events.inc; # the offset must denote there is the query
+ select count(*) from t1 /* must be 1 */;
+
+# cleanup
+ drop trigger trg_del;
+
+# prepare
+ delete from t1;
+ delete from t2;
+ delete from t5;
+ create trigger trg_del_t2 after delete on t2 for each row
+ insert into t1 values (1);
+ insert into t2 values (2),(3);
+ insert into t5 values (1),(2);
+ reset master;
+
+# execute
+ --error ER_DUP_ENTRY
+ delete t2.* from t2,t5 where t2.a=t5.a + 1;
+
+# check
+ source include/show_binlog_events.inc; # must be events of the query
+ select count(*) from t1 /* must be 1 */;
+
+
+#
+# LOAD DATA
+#
+
+# prepare
+ delete from t1;
+ create table t4 (a int default 0, b int primary key) engine=innodb;
+ insert into t4 values (0, 17);
+ reset master;
+
+# execute
+ --error ER_DUP_ENTRY
+ load data infile '../std_data_ln/rpl_loaddata.dat' into table t4 (a, @b) set b= @b + bug27417(2);
+# check
+ select * from t4;
+ select count(*) from t1 /* must be 2 */;
+ source include/show_binlog_events.inc; # must be events of the query
+
+#
+# bug#23333 cleanup
+#
+
+
+drop trigger trg_del_t2;
+drop table t1,t2,t3,t4,t5;
+drop function bug27417;
diff --git a/mysql-test/extra/rpl_tests/rpl_stm_charset.test b/mysql-test/extra/rpl_tests/rpl_charset.test
index 629ccdf69f7..8bcb60b0227 100644
--- a/mysql-test/extra/rpl_tests/rpl_stm_charset.test
+++ b/mysql-test/extra/rpl_tests/rpl_charset.test
@@ -1,9 +1,6 @@
# Replication of character sets.
# This test will fail if the server/client does not support enough charsets.
-# Requires statement logging
--- source include/have_binlog_format_mixed_or_statement.inc
-
source include/master-slave.inc;
--disable_warnings
set timestamp=1000000000;
@@ -52,14 +49,10 @@ insert into t1 (b) values(@@character_set_client);
# collation_client does not exist
insert into t1 (b) values(@@character_set_connection);
insert into t1 (b) values(@@collation_connection);
---disable_query_log
-select "--- --master--" as "";
---enable_query_log
+--echo --- --master--
select * from t1 order by a;
sync_slave_with_master;
---disable_query_log
-select "--- --slave--" as "";
---enable_query_log
+--echo --- --slave--
select * from mysqltest2.t1 order by a;
connection master;
@@ -70,14 +63,10 @@ insert into t1 (b) values(LEAST("Müller","Muffler"));
set collation_connection=latin1_german2_ci;
insert into t1 (b) values(@@collation_connection);
insert into t1 (b) values(LEAST("Müller","Muffler"));
---disable_query_log
-select "--- --master--" as "";
---enable_query_log
+--echo --- --master--
select * from t1 order by a;
sync_slave_with_master;
---disable_query_log
-select "--- --slave--" as "";
---enable_query_log
+--echo --- --slave--
select * from mysqltest2.t1 order by a;
# Presently charset info is not logged with LOAD DATA but it will
@@ -96,20 +85,15 @@ connection master;
set @a= _cp850 'Müller' collate cp850_general_ci;
truncate table t1;
insert into t1 (b) values(collation(@a));
---disable_query_log
-select "--- --master--" as "";
---enable_query_log
+--echo --- --master--
select * from t1 order by a;
sync_slave_with_master;
---disable_query_log
-select "--- --slave--" as "";
---enable_query_log
+--echo --- --slave--
select * from mysqltest2.t1 order by a;
connection master;
drop database mysqltest2;
drop database mysqltest3;
-source include/show_binlog_events.inc;
sync_slave_with_master;
# Check that we can change global.collation_server (since 5.0.3)
@@ -153,10 +137,6 @@ sync_slave_with_master;
select hex(c1), hex(c2) from t1;
connection master;
-# Let's have a look at generated SETs.
-flush logs;
---replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
---exec $MYSQL_BINLOG --short-form $MYSQLTEST_VARDIR/log/master-bin.000001
drop table t1;
sync_slave_with_master;
diff --git a/mysql-test/extra/rpl_tests/rpl_extraMaster_Col.test b/mysql-test/extra/rpl_tests/rpl_extraMaster_Col.test
new file mode 100644
index 00000000000..5abd04b98ef
--- /dev/null
+++ b/mysql-test/extra/rpl_tests/rpl_extraMaster_Col.test
@@ -0,0 +1,1041 @@
+#############################################################
+# 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
+#
+
+# Def on master: t (f_1 type_m_1,... f_s type_m_s, f_s1, f_m)
+# Def on slave: t (f_1 type_s_1,... f_s type_s_s)
+# where type_mi,type_si (0 < i-1 <s1) pairs are compatible types (WL#3228)
+# Arbitrary paramaters of the test are:
+# 1. the tables type
+# 2. the types of the extra master's column f_s1,..., f_m
+# 3. the numbers of common columns `s'
+# 4. and extra columns `m' are par
+#
+# optionally
+#
+# 5. vary the common columns type within compatible ranges.
+
+#
+# constant size column type:
+
+#BIGINT
+#BLOB
+#DATE
+#DATETIME
+#FLOAT
+#INT, INTEGER
+#LONGBLOB
+#LONGTEXT
+#MEDIUMBLOB
+#MEDIUMINT
+#MEDIUMTEXT
+#REAL
+#SMALLINT
+#TEXT
+#TIME
+#TIMESTAMP
+#TINYBLOB
+#TINYINT
+#TINYTEXT
+#YEAR
+
+# variable size column types:
+
+#BINARY(M)
+#BIT(M)
+#CHAR(M)
+#DECIMAL(M,D)
+#DOUBLE[P]
+#ENUM
+#FLOAT(p)
+#NUMERIC(M,D)
+#SET
+#VARBINARY(M)
+#VARCHAR(M)
+#
+
+let $binformat = `SHOW VARIABLES LIKE '%binlog_format%'`;
+--echo
+--echo ***********************************************************
+--echo ***********************************************************
+--echo ***************** Start of Testing ************************
+--echo ***********************************************************
+--echo ***********************************************************
+--echo * This test format == $binformat and engine == $engine_type
+--echo ***********************************************************
+--echo ***********************************************************
+--echo
+--echo ***** Testing more columns on the Master *****
+--echo
+connection master;
+eval 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=$engine_type;
+--echo
+--echo * Alter Table on Slave and drop columns f5 through f11 *
+--echo
+sync_slave_with_master;
+alter table t1 drop f5, drop f6, drop f7, drop f8, drop f9, drop f10, drop f11;
+
+--echo
+--echo * Insert data in Master then update and delete some rows*
+--echo
+connection master;
+let $j= 50;
+--disable_query_log
+while ($j)
+{
+ eval INSERT INTO t1 VALUES ($j, $j, $j, 'second', 2.0, 'kaks', 2,
+ 'got stolen from the paradise',
+ 'very fat blob', b'01010101010101',
+ 0x123456);
+ dec $j;
+}
+let $j= 30;
+while ($j)
+{
+ eval update t1 set f4= 'next' where f1=$j;
+ dec $j;
+ dec $j;
+ eval delete from t1 where f1=$j;
+ dec $j;
+}
+--enable_query_log
+
+--echo * Select count and 20 rows from Master *
+--echo
+SELECT COUNT(*) FROM t1;
+--echo
+SELECT f1,f2,f3,f4,f5,f6,f7,f8,f9,
+ hex(f10),hex(f11) FROM t1 ORDER BY f3 LIMIT 20;
+
+#connection slave;
+sync_slave_with_master;
+--echo
+--echo * Select count and 20 rows from Slave *
+--echo
+SELECT COUNT(*) FROM t1;
+--echo
+SELECT * FROM t1 ORDER BY f3 LIMIT 20;
+
+--echo
+--echo * Show Slave Status *
+--echo
+--replace_column 1 # 4 # 7 # 8 # 9 # 22 # 23 # 33 # 35 # 36 #
+--query_vertical show slave status;
+--echo
+
+### Altering table def scenario
+--echo
+--echo ***** Testing Altering table def scenario *****
+--echo
+
+connection master;
+
+ eval 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=$engine_type;
+--echo
+ eval 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=$engine_type;
+
+--echo
+# no ENUM and SET
+ eval 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=$engine_type;
+
+--echo
+ eval 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=$engine_type;
+--echo
+--echo ** Alter tables on slave and drop columns **
+--echo
+#connection slave;
+ sync_slave_with_master;
+ 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;
+
+--echo
+--echo ** Insert Data into Master **
+connection 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');
+ 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';
+ 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'
+ );
+
+ 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
+ );
+--echo
+--echo ** Sync slave with master **
+--echo ** Do selects from tables **
+--echo
+#connection slave;
+ sync_slave_with_master;
+
+ select * from t1 order by f3;
+ select * from t2 order by f1;
+ select * from t3 order by f1;
+ select * from t4 order by f1;
+ select * from t31 order by f3;
+
+connection master;
+--echo
+--echo ** Do updates master **
+--echo
+ 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=0, f27=NULL, f35='f35 new value' where f3=3;
+
+--echo
+--echo ** Delete from Master **
+--echo
+
+ delete from t1;
+ delete from t2;
+ delete from t3;
+ delete from t4;
+ delete from t31;
+
+--echo
+--echo ** Check slave status **
+--echo
+#connection slave;
+ sync_slave_with_master;
+ select * from t31;
+
+--replace_result $MASTER_MYPORT MASTER_PORT
+--replace_column 1 # 4 # 7 # 8 # 9 # 22 # 23 # 33 # 35 # 36 #
+--query_vertical show slave status;
+
+#### Clean Up ####
+
+connection master;
+--disable_warnings
+--disable_query_log
+ DROP TABLE t1,t2,t3,t4,t31;
+
+######################################################
+#connection slave;
+ sync_slave_with_master;
+--enable_query_log
+--enable_warnings
+--echo
+--echo ****************************************
+--echo * columns in master at middle of table *
+--echo * Expect: Proper error message *
+--echo ****************************************
+--echo
+--echo ** Stop and Reset Slave **
+--echo
+STOP SLAVE;
+RESET SLAVE;
+--echo
+--echo ** create table slave side **
+eval CREATE TABLE t10 (a INT PRIMARY KEY, b BLOB, c CHAR(5)
+ ) ENGINE=$engine_type;
+
+--echo
+--echo ** Connect to master and create table **
+--echo
+--connection master
+eval CREATE TABLE t10 (a INT KEY, b BLOB, f DOUBLE DEFAULT '233',
+ c CHAR(5), e INT DEFAULT '1')ENGINE=$engine_type;
+RESET MASTER;
+
+--echo
+--echo *** Start Slave ***
+connection slave;
+START SLAVE;
+
+--echo
+--echo *** Master Data Insert ***
+connection master;
+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);
+
+--echo
+--echo ********************************************
+--echo *** Expect slave to fail with Error 1523 ***
+--echo ********************************************
+--echo
+connection slave;
+wait_for_slave_to_stop;
+--replace_result $MASTER_MYPORT MASTER_PORT
+--replace_column 1 # 4 # 7 # 8 # 9 # 22 # 23 # 33 # 35 # 36 #
+--query_vertical SHOW SLAVE STATUS
+SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
+START SLAVE;
+
+--echo
+--echo *** Drop t10 ***
+connection master;
+DROP TABLE t10;
+sync_slave_with_master;
+
+############################################
+############## Continued ###################
+############################################
+--echo
+--echo *********************************************
+--echo * More columns in master at middle of table *
+--echo * Expect: Proper error message *
+--echo *********************************************
+--echo
+--echo *** Create t11 on slave ***
+STOP SLAVE;
+RESET SLAVE;
+
+eval CREATE TABLE t11 (a INT PRIMARY KEY, b BLOB, c VARCHAR(254)
+ ) ENGINE=$engine_type;
+
+--echo
+--echo *** Create t11 on Master ***
+connection master;
+eval CREATE TABLE t11 (a INT KEY, b BLOB, f TEXT,
+ c CHAR(5) DEFAULT 'test', e INT DEFAULT '1')ENGINE=$engine_type;
+
+RESET MASTER;
+
+--echo
+--echo *** Start Slave ***
+connection slave;
+START SLAVE;
+
+--echo
+--echo *** Master Data Insert ***
+connection master;
+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);
+
+--echo
+--echo ********************************************
+--echo *** Expect slave to fail with Error 1523 ***
+--echo ********************************************
+--echo
+connection slave;
+wait_for_slave_to_stop;
+--replace_result $MASTER_MYPORT MASTER_PORT
+--replace_column 1 # 4 # 7 # 8 # 9 # 22 # 23 # 33 # 35 # 36 #
+--query_vertical SHOW SLAVE STATUS
+SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
+START SLAVE;
+
+--echo
+--echo *** Drop t11 ***
+connection master;
+DROP TABLE t11;
+sync_slave_with_master;
+
+############################################
+############## Continued ###################
+############################################
+--echo
+--echo *********************************************
+--echo * More columns in master at middle of table *
+--echo * Expect: This one should pass blob-text *
+--echo *********************************************
+--echo
+--echo *** Create t12 on slave ***
+STOP SLAVE;
+RESET SLAVE;
+eval CREATE TABLE t12 (a INT PRIMARY KEY, b BLOB, c BLOB
+ ) ENGINE=$engine_type;
+
+--echo
+--echo *** Create t12 on Master ***
+connection master;
+eval CREATE TABLE t12 (a INT KEY, b BLOB, f TEXT,
+ c CHAR(5) DEFAULT 'test', e INT DEFAULT '1')ENGINE=$engine_type;
+
+RESET MASTER;
+
+--echo
+--echo *** Start Slave ***
+connection slave;
+START SLAVE;
+
+--echo
+--echo *** Master Data Insert ***
+connection master;
+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);
+--echo
+SELECT a,hex(b),f,c,e FROM t12 ORDER BY a;
+
+--echo
+--echo *** Select on Slave ***
+sync_slave_with_master;
+SELECT a,hex(b),c FROM t12 ORDER BY a;
+
+--echo
+--echo *** Drop t12 ***
+connection master;
+DROP TABLE t12;
+sync_slave_with_master;
+
+############################################
+############## Continued ###################
+############################################
+--echo
+--echo ****************************************************
+--echo * - Alter Master adding columns at middle of table *
+--echo * Expect: columns added *
+--echo ****************************************************
+--echo
+--echo
+--echo *** Create t14 on slave ***
+STOP SLAVE;
+RESET SLAVE;
+eval CREATE TABLE t14 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
+ ) ENGINE=$engine_type;
+
+--echo
+--echo *** Create t14 on Master ***
+connection master;
+eval CREATE TABLE t14 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
+ c6 INT DEFAULT '1',
+ c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
+ )ENGINE=$engine_type;
+
+RESET MASTER;
+
+--echo
+--echo *** Start Slave ***
+connection slave;
+START SLAVE;
+
+--echo
+--echo *** Master Data Insert ***
+connection master;
+ALTER TABLE t14 ADD COLUMN c2 DECIMAL(8,2) AFTER c1;
+ALTER TABLE t14 ADD COLUMN c3 TEXT AFTER c2;
+--echo
+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);
+--echo
+--replace_column 7 CURRENT_TIMESTAMP
+SELECT c1,c2,c3,hex(c4),c5,c6,c7 FROM t14 ORDER BY c1;
+
+--echo
+--echo *** Select on Slave ****
+sync_slave_with_master;
+SELECT c1,c2,c3,hex(c4),c5 FROM t14 ORDER BY c1;
+
+####################################################
+--echo
+--echo ****************************************************
+--echo * - Alter Master Dropping columns from the middle. *
+--echo * Expect: columns dropped *
+--echo ****************************************************
+--echo
+--echo *** connect to master and drop columns ***
+connection master;
+ALTER TABLE t14 DROP COLUMN c2;
+ALTER TABLE t14 DROP COLUMN c7;
+--echo
+--echo *** Select from Master ***
+SELECT c1,c3,hex(c4),c5,c6 FROM t14 ORDER BY c1;
+--echo
+
+--echo ************
+--echo * Bug30415 *
+--echo ************
+# Uncomment below once fixed
+
+#--echo *** Select from Slave ***
+#sync_slave_with_master;
+#SELECT c1,c2,c3,hex(c4),c5 FROM t14 ORDER BY c1;
+
+# Bug30415
+# Remove below once fixed
+#***************************
+connection slave;
+wait_for_slave_to_stop;
+--replace_result $MASTER_MYPORT MASTER_PORT
+--replace_column 1 # 4 # 7 # 8 # 9 # 22 # 23 # 33 # 35 # 36 #
+--query_vertical SHOW SLAVE STATUS
+#***************************
+
+STOP SLAVE;
+RESET SLAVE;
+
+--echo
+--echo *** Drop t14 ***
+DROP TABLE t14;
+
+connection master;
+DROP TABLE t14;
+RESET MASTER;
+
+connection slave;
+START SLAVE;
+
+#################################################
+--echo
+--echo *************************************************
+--echo * - Alter Master adding columns at end of table *
+--echo * Expect: Error 1054 *
+--echo *************************************************
+--echo
+--echo *** Create t15 on slave ***
+STOP SLAVE;
+RESET SLAVE;
+eval CREATE TABLE t15 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
+ ) ENGINE=$engine_type;
+
+--echo
+--echo *** Create t15 on Master ***
+connection master;
+eval CREATE TABLE t15 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
+ c6 INT DEFAULT '1',
+ c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
+ )ENGINE=$engine_type;
+
+RESET MASTER;
+
+--echo
+--echo *** Start Slave ***
+connection slave;
+START SLAVE;
+
+--echo
+--echo *** Master Data Insert ***
+connection master;
+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);
+--replace_column 5 CURRENT_TIMESTAMP
+SELECT c1,hex(c4),c5,c6,c7,c2 FROM t15 ORDER BY c1;
+
+--echo
+--echo ********************************************
+--echo *** Expect slave to fail with Error 1054 ***
+--echo ********************************************
+--echo
+connection slave;
+wait_for_slave_to_stop;
+--replace_result $MASTER_MYPORT MASTER_PORT
+--replace_column 1 # 4 # 7 # 8 # 9 # 22 # 23 # 33 # 35 # 36 #
+--query_vertical SHOW SLAVE STATUS
+STOP SLAVE;
+RESET SLAVE;
+
+--echo
+--echo *** Drop t15 ***
+DROP TABLE t15;
+
+connection master;
+DROP TABLE t15;
+RESET MASTER;
+
+connection slave;
+START SLAVE;
+
+####################################################
+--echo
+--echo ************************************************
+--echo * - Create index on Master column not on slave *
+--echo * Expect:Warning *
+--echo ************************************************
+--echo
+--echo *** Create t16 on slave ***
+STOP SLAVE;
+RESET SLAVE;
+eval CREATE TABLE t16 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
+ ) ENGINE=$engine_type;
+
+--echo
+--echo *** Create t16 on Master ***
+connection master;
+eval CREATE TABLE t16 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
+ c6 INT DEFAULT '1',
+ c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
+ )ENGINE=$engine_type;
+
+RESET MASTER;
+
+--echo
+--echo *** Start Slave ***
+connection slave;
+START SLAVE;
+
+--echo
+--echo *** Master Create Index and Data Insert ***
+connection master;
+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);
+--replace_column 5 CURRENT_TIMESTAMP
+SELECT c1,hex(c4),c5,c6,c7 FROM t16 ORDER BY c1;
+
+# Uncomment the below when bug 30434 is patched
+
+#--echo *** Select on Slave ****
+#sync_slave_with_master;
+#SELECT c1,hex(c4),c5 FROM t16 ORDER BY c1;
+#
+#--echo *** Drop t16 ***
+#connection master;
+#DROP TABLE t16;
+#sync_slave_with_master;
+
+# Remove the below when bug 30434 is patched
+#*******************************************
+--echo
+--echo *****************
+--echo *** BUG 30434 ***
+--echo *****************
+--echo
+connection slave;
+wait_for_slave_to_stop;
+--replace_result $MASTER_MYPORT MASTER_PORT
+--replace_column 1 # 4 # 7 # 8 # 9 # 22 # 23 # 33 # 35 # 36 #
+--query_vertical SHOW SLAVE STATUS
+STOP SLAVE;
+RESET SLAVE;
+
+--echo
+--echo *** Drop t16 ***
+DROP TABLE t16;
+
+connection master;
+DROP TABLE t16;
+RESET MASTER;
+
+connection slave;
+START SLAVE;
+#*******************************************
+
+####################################################
+--echo
+--echo *****************************************************
+--echo * - Delete rows using column on Master not on slave *
+--echo * Expect: Rows Deleted *
+--echo *****************************************************
+--echo
+--echo *** Create t17 on slave ***
+STOP SLAVE;
+RESET SLAVE;
+eval CREATE TABLE t17 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
+ ) ENGINE=$engine_type;
+
+--echo
+--echo *** Create t17 on Master ***
+connection master;
+eval CREATE TABLE t17 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
+ c6 INT DEFAULT '1',
+ c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
+ )ENGINE=$engine_type;
+
+RESET MASTER;
+
+--echo
+--echo *** Start Slave ***
+connection slave;
+START SLAVE;
+
+--echo
+--echo *** Master Data Insert ***
+connection master;
+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);
+--replace_column 5 CURRENT_TIMESTAMP
+SELECT c1,hex(c4),c5,c6,c7 FROM t17 ORDER BY c1;
+
+--echo
+--echo ** Select * from Slave **
+sync_slave_with_master;
+SELECT c1,hex(c4),c5 FROM t17 ORDER BY c1;
+
+--echo
+--echo ** Delete from master **
+connection master;
+DELETE FROM t17 WHERE c6 = 3;
+--replace_column 5 CURRENT_TIMESTAMP
+SELECT c1,hex(c4),c5,c6,c7 FROM t17 ORDER BY c1;
+
+--echo
+--echo ** Check slave **
+sync_slave_with_master;
+SELECT c1,hex(c4),c5 FROM t17 ORDER BY c1;
+
+
+connection master;
+DROP TABLE t17;
+sync_slave_with_master;
+--echo
+
+####################################################
+--echo
+--echo *****************************************************
+--echo * - Update row using column on Master not on slave *
+--echo * Expect: Rows updated *
+--echo *****************************************************
+--echo
+--echo ** Bug30674 **
+--echo
+--echo *** Create t18 on slave ***
+--echo
+
+STOP SLAVE;
+RESET SLAVE;
+eval CREATE TABLE t18 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
+ ) ENGINE=$engine_type;
+
+--echo
+--echo *** Create t18 on Master ***
+connection master;
+eval CREATE TABLE t18 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
+ c6 INT DEFAULT '1',
+ c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
+ )ENGINE=$engine_type;
+
+RESET MASTER;
+
+--echo
+--echo *** Start Slave ***
+connection slave;
+START SLAVE;
+
+--echo
+--echo *** Master Data Insert ***
+connection master;
+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);
+--replace_column 5 CURRENT_TIMESTAMP
+SELECT c1,hex(c4),c5,c6,c7 FROM t18 ORDER BY c1;
+
+--echo
+--echo ** Select * from Slave **
+sync_slave_with_master;
+SELECT c1,hex(c4),c5 FROM t18 ORDER BY c1;
+
+--echo
+--echo ** update from master **
+connection master;
+UPDATE t18 SET c5 = 'TEST' WHERE c6 = 3;
+
+--replace_column 5 CURRENT_TIMESTAMP
+SELECT c1,hex(c4),c5,c6,c7 FROM t18 ORDER BY c1;
+
+--echo
+--echo ** Check slave **
+sync_slave_with_master;
+SELECT c1,hex(c4),c5 FROM t18 ORDER BY c1;
+
+connection master;
+DROP TABLE t18;
+sync_slave_with_master;
+--echo
+
+####################################################
+--echo
+--echo *****************************************************
+--echo * - Insert UUID column on Master not on slave *
+--echo * Expect: Rows inserted *
+--echo *****************************************************
+--echo
+--echo *** Create t5 on slave ***
+STOP SLAVE;
+RESET SLAVE;
+eval CREATE TABLE t5 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
+ ) ENGINE=$engine_type;
+
+--echo
+--echo *** Create t5 on Master ***
+connection master;
+eval CREATE TABLE t5 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
+ c6 LONG,
+ c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
+ )ENGINE=$engine_type;
+
+RESET MASTER;
+
+--echo
+--echo *** Start Slave ***
+connection slave;
+START SLAVE;
+
+--echo
+--echo *** Master Data Insert ***
+connection master;
+set @b1 = 'b1b1b1b1';
+INSERT INTO t5 () VALUES(1,@b1,'Kyle',UUID(),DEFAULT),
+ (2,@b1,'JOE',UUID(),DEFAULT),
+ (3,@b1,'QA',UUID(),DEFAULT);
+--replace_column 4 UUID 5 TIME
+SELECT c1,hex(c4),c5,c6,c7 FROM t5 ORDER BY c1;
+
+--echo
+--echo ** Select * from Slave **
+sync_slave_with_master;
+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_extraSlave_Col.test
index abeef5f2903..7e726828a1e 100644
--- a/mysql-test/extra/rpl_tests/rpl_extraSlave_Col.test
+++ b/mysql-test/extra/rpl_tests/rpl_extraSlave_Col.test
@@ -10,7 +10,7 @@
########### 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,t15,t16,t17;
+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
@@ -71,38 +71,47 @@ sync_slave_with_master;
############################################
## BUG22086
-#--echo *** Create t2 on slave ***
-#STOP SLAVE;
-#RESET SLAVE;
-#eval CREATE TABLE t2 (a INT, b INT PRIMARY KEY, c CHAR(5),
-# d FLOAT DEFAULT '2.00',
-# e CHAR(5) DEFAULT 'TEST2')
-# ENGINE=$engine_type;
-#
-#--echo *** Create t2 on Master ***
-#connection master;
-#eval CREATE TABLE t2 (a INT PRIMARY KEY, b INT, c CHAR(10)
-# ) ENGINE=$engine_type;
-#RESET MASTER;
-#
-#--echo *** Start Slave ***
-#connection slave;
-#START SLAVE;
-#
-#--echo *** Master Data Insert ***
-#connection master;
-#
-#INSERT INTO t2 () VALUES(1,2,'Kyle, TEX'),(2,1,'JOE AUSTIN'),(3,4,'QA TESTING');
-#SELECT * FROM t2 ORDER BY a;
+--echo *** Create t2 on slave ***
+STOP SLAVE;
+RESET SLAVE;
+eval CREATE TABLE t2 (a INT, b INT PRIMARY KEY, c CHAR(5),
+ d FLOAT DEFAULT '2.00',
+ e CHAR(5) DEFAULT 'TEST2')
+ ENGINE=$engine_type;
-#--echo *** Select from slave ***
-#sync_slave_with_master;
-#SELECT * FROM t2 ORDER BY a;
+--echo *** Create t2 on Master ***
+connection master;
+eval CREATE TABLE t2 (a INT PRIMARY KEY, b INT, c CHAR(10)
+ ) ENGINE=$engine_type;
+RESET MASTER;
-#--echo *** Drop t2 ***
-#connection master;
-#DROP TABLE t2;
-#sync_slave_with_master;
+--echo *** Master Data Insert ***
+connection master;
+
+INSERT INTO t2 () VALUES(1,2,'Kyle, TEX'),(2,1,'JOE AUSTIN'),(3,4,'QA TESTING');
+SELECT * FROM t2 ORDER BY a;
+
+--echo *** Start Slave ***
+connection slave;
+START SLAVE;
+wait_for_slave_to_stop;
+--replace_result $MASTER_MYPORT MASTER_PORT
+--replace_column 1 # 4 # 7 # 8 # 9 # 16 # 22 # 23 # 33 # 35 # 36 #
+--query_vertical SHOW SLAVE STATUS
+STOP SLAVE;
+RESET SLAVE;
+SELECT * FROM t2 ORDER BY a;
+
+connection master;
+RESET MASTER;
+
+connection slave;
+START SLAVE;
+
+--echo *** Drop t2 ***
+connection master;
+DROP TABLE t2;
+sync_slave_with_master;
####################################
### Try to replicate BLOB to INT ###
@@ -140,7 +149,7 @@ INSERT INTO t3 () VALUES(@b1,2,'Kyle, TEX'),(@b1,1,'JOE AUSTIN'),(@b1,4,'QA TEST
connection slave;
--source include/wait_for_slave_sql_to_stop.inc
--replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 # 7 # 8 # 9 # 22 # 23 # 33 #
+--replace_column 1 # 4 # 7 # 8 # 9 # 16 # 22 # 23 # 33 # 35 # 36 #
--query_vertical SHOW SLAVE STATUS
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
START SLAVE;
@@ -185,7 +194,7 @@ INSERT INTO t4 () VALUES(100.22,2,'Kyle, TEX'),(200.26,1,'JOE AUSTIN'),
connection slave;
--source include/wait_for_slave_sql_to_stop.inc
--replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 # 7 # 8 # 9 # 22 # 23 # 33 #
+--replace_column 1 # 4 # 7 # 8 # 9 # 16 # 22 # 23 # 33 # 35 # 36 #
--query_vertical SHOW SLAVE STATUS
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
START SLAVE;
@@ -230,7 +239,7 @@ INSERT INTO t5 () VALUES(1,'Kyle',200.23,1,'b1b1',23.00098),
connection slave;
--source include/wait_for_slave_sql_to_stop.inc
--replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 # 7 # 8 # 9 # 22 # 23 # 33 #
+--replace_column 1 # 4 # 7 # 8 # 9 # 16 # 22 # 23 # 33 # 35 # 36 #
--query_vertical SHOW SLAVE STATUS
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
START SLAVE;
@@ -276,7 +285,7 @@ INSERT INTO t6 () VALUES(1,'Kyle',200.23,1),
connection slave;
--source include/wait_for_slave_sql_to_stop.inc
--replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 # 7 # 8 # 9 # 22 # 23 # 33 #
+--replace_column 1 # 4 # 7 # 8 # 9 # 16 # 22 # 23 # 33 # 35 # 36 #
--query_vertical SHOW SLAVE STATUS
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=3;
#START SLAVE;
@@ -378,7 +387,7 @@ INSERT INTO t8 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
#connection slave;
#wait_for_slave_to_stop;
#--replace_result $MASTER_MYPORT MASTER_PORT
-#--replace_column 1 # 7 # 8 # 9 # 22 # 23 # 33 #
+#--replace_column 1 # 4 # 7 # 8 # 9 # 16 # 22 # 23 # 33 # 35 # 36 #
#--query_vertical SHOW SLAVE STATUS
#SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
#START SLAVE;
@@ -394,45 +403,38 @@ sync_slave_with_master;
# added columns do not have default values#
# Expect: Proper error message #
###########################################
-# Commented out due to Bug #23907 Extra Slave Col is not
-# erroring on extra col with no default values.
+# Bug#22234, Bug#23907 Extra Slave Col is not
+# erroring on extra col with no default values.
########################################################
#--echo *** Create t9 on slave ***
-#STOP SLAVE;
-#RESET SLAVE;
-#eval CREATE TABLE t9 (a INT KEY, b BLOB, c CHAR(5),
-# d TIMESTAMP,
-# e INT DEFAULT '1')ENGINE=$engine_type;
-
-#--echo *** Create t9 on Master ***
-#connection master;
-#eval CREATE TABLE t9 (a INT PRIMARY KEY, b BLOB, c CHAR(5)
-# ) ENGINE=$engine_type;
-#RESET MASTER;
+STOP SLAVE;
+RESET SLAVE;
+eval CREATE TABLE t9 (a INT KEY, b BLOB, c CHAR(5),
+ d TIMESTAMP,
+ e INT NOT NULL) ENGINE=$engine_type;
-#--echo *** Start Slave ***
-#connection slave;
-#START SLAVE;
+--echo *** Create t9 on Master ***
+connection master;
+eval CREATE TABLE t9 (a INT PRIMARY KEY, b BLOB, c CHAR(5)
+ ) ENGINE=$engine_type;
+RESET MASTER;
-#--echo *** Master Data Insert ***
-#connection master;
-#set @b1 = 'b1b1b1b1';
-#set @b1 = concat(@b1,@b1);
-#INSERT INTO t9 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
+--echo *** Start Slave ***
+connection slave;
+START SLAVE;
-#--echo *************************************************
-#--echo ** Currently giving wrong error see bug#22234 ***
-#--echo *************************************************
-#sync_slave_with_master;
-#connection slave;
+--echo *** Master Data Insert ***
+connection master;
+set @b1 = 'b1b1b1b1';
+set @b1 = concat(@b1,@b1);
+INSERT INTO t9 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
-#--echo *** Select from T9 ***
-#--source include/wait_for_slave_sql_to_stop.inc
-#--replace_result $MASTER_MYPORT MASTER_PORT
-#--replace_column 1 # 7 # 8 # 9 # 22 # 23 # 33 #
-#--query_vertical SHOW SLAVE STATUS
-#SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
-#START SLAVE;
+--source include/wait_for_slave_sql_to_stop.inc
+--replace_result $MASTER_MYPORT MASTER_PORT
+--replace_column 1 # 4 # 7 # 8 # 9 # 16 # 22 # 23 # 33 # 35 # 36 #
+--query_vertical SHOW SLAVE STATUS
+SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
+START SLAVE;
#--echo *** Drop t9 ***
#connection master;
@@ -471,7 +473,7 @@ INSERT INTO t10 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
connection slave;
--source include/wait_for_slave_sql_to_stop.inc
--replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 # 7 # 8 # 9 # 22 # 23 # 33 #
+--replace_column 1 # 4 # 7 # 8 # 9 # 16 # 22 # 23 # 33 # 35 # 36 #
--query_vertical SHOW SLAVE STATUS
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
START SLAVE;
@@ -515,7 +517,7 @@ INSERT INTO t11 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
connection slave;
--source include/wait_for_slave_sql_to_stop.inc
--replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 # 7 # 8 # 9 # 22 # 23 # 33 #
+--replace_column 1 # 4 # 7 # 8 # 9 # 16 # 22 # 23 # 33 # 35 # 36 #
--query_vertical SHOW SLAVE STATUS
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
START SLAVE;
@@ -653,6 +655,68 @@ sync_slave_with_master;
--replace_column 7 CURRENT_TIMESTAMP
SELECT * FROM t14 ORDER BY c1;
+####################################################
+# - Alter Master drop column at end of table #
+# Expect: column dropped #
+####################################################
+
+--echo *** Create t14a on slave ***
+STOP SLAVE;
+RESET SLAVE;
+eval CREATE TABLE t14a (c1 INT KEY, c4 BLOB, c5 CHAR(5),
+ c6 INT DEFAULT '1',
+ c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
+ )ENGINE=$engine_type;
+
+--echo *** Create t14a on Master ***
+connection master;
+eval CREATE TABLE t14a (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
+ ) ENGINE=$engine_type;
+RESET MASTER;
+
+--echo *** Start Slave ***
+connection slave;
+START SLAVE;
+
+--echo *** Master Data Insert ***
+connection master;
+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;
+--echo *** Select on Slave ****
+sync_slave_with_master;
+--replace_column 5 CURRENT_TIMESTAMP
+SELECT * FROM t14a ORDER BY c1;
+STOP SLAVE;
+RESET SLAVE;
+
+--echo *** Master Drop c5 ***
+connection master;
+ALTER TABLE t14a DROP COLUMN c5;
+RESET MASTER;
+
+--echo *** Start Slave ***
+connection slave;
+START SLAVE;
+
+--echo *** Master Data Insert ***
+connection master;
+set @b1 = 'b1b1b1b1';
+set @b1 = concat(@b1,@b1);
+
+INSERT INTO t14a () VALUES(4,@b1),
+ (5,@b1),
+ (6,@b1);
+SELECT * FROM t14a ORDER BY c1;
+
+--echo *** Select on Slave ****
+sync_slave_with_master;
+--replace_column 5 CURRENT_TIMESTAMP
+SELECT * FROM t14a ORDER BY c1;
####################################################
# - Alter Master Dropping columns from the middle. #
@@ -725,9 +789,9 @@ ALTER TABLE t15 ADD COLUMN c6 INT AFTER c5;
connection slave;
--source include/wait_for_slave_sql_to_stop.inc
--replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 # 7 # 8 # 9 # 22 # 23 # 33 #
+--replace_column 1 # 4 # 7 # 8 # 9 # 16 # 22 # 23 # 33 # 35 # 36 #
--query_vertical SHOW SLAVE STATUS
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
+SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
START SLAVE;
--echo *** Try to insert in master ****
@@ -735,6 +799,8 @@ connection master;
INSERT INTO t15 () VALUES(5,2.00,'Replication Testing',@b1,'Buda',2);
SELECT * FROM t15 ORDER BY c1;
+#SHOW BINLOG EVENTS;
+
--echo *** Try to select from slave ****
sync_slave_with_master;
--replace_column 7 CURRENT_TIMESTAMP
@@ -834,7 +900,7 @@ INSERT INTO t17 () VALUES(9223372036854775807,2,'Kyle, TEX');
connection slave;
--source include/wait_for_slave_sql_to_stop.inc
--replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 # 7 # 8 # 9 # 22 # 23 # 33 #
+--replace_column 1 # 4 # 7 # 8 # 9 # 16 # 22 # 23 # 33 # 35 # 36 #
--query_vertical SHOW SLAVE STATUS
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
START SLAVE;
@@ -847,7 +913,10 @@ sync_slave_with_master;
#### 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,t15,t16,t17;
+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
diff --git a/mysql-test/extra/rpl_tests/rpl_foreign_key.test b/mysql-test/extra/rpl_tests/rpl_foreign_key.test
index 583f2d85554..8755bf5aa87 100644
--- a/mysql-test/extra/rpl_tests/rpl_foreign_key.test
+++ b/mysql-test/extra/rpl_tests/rpl_foreign_key.test
@@ -32,3 +32,34 @@ SET FOREIGN_KEY_CHECKS=0;
DROP TABLE IF EXISTS t1,t2,t3;
SET FOREIGN_KEY_CHECKS=1;
sync_slave_with_master;
+
+#
+# Bug #32468 delete rows event on a table with foreign key constraint fails
+#
+
+connection master;
+
+eval create table t1 (b int primary key) engine = $engine_type;
+eval create table t2 (a int primary key, b int, foreign key (b) references t1(b))
+ engine = $engine_type;
+
+insert into t1 set b=1;
+insert into t2 set a=1, b=1;
+
+set foreign_key_checks=0;
+set @@session.binlog_format=row;
+delete from t1;
+
+--echo must sync w/o a problem (could not with the buggy code)
+sync_slave_with_master;
+select count(*) from t1 /* must be zero */;
+
+
+# cleanup for bug#32468
+
+connection master;
+drop table t2,t1;
+
+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 bb6afd73034..8f32ee674f8 100644
--- a/mysql-test/extra/rpl_tests/rpl_loaddata.test
+++ b/mysql-test/extra/rpl_tests/rpl_loaddata.test
@@ -39,13 +39,6 @@ sync_with_master;
select * from t1;
select * from t3;
-# We want to be sure that LOAD DATA is in the slave's binlog.
-# But we can't simply read this binlog, because as the slave has not been
-# restarted for this test, the file_id is uncertain (would cause test
-# failures). So instead, we test if the binlog looks long enough to
-# contain LOAD DATA. Since 5.0.3 we assume that binlog of 1292 is ok.
-# If LOAD DATA was not logged, the binlog would be shorter.
-show master status;
connection master;
diff --git a/mysql-test/extra/rpl_tests/rpl_log.test b/mysql-test/extra/rpl_tests/rpl_log.test
index 7000d30e399..078d3d4557d 100644
--- a/mysql-test/extra/rpl_tests/rpl_log.test
+++ b/mysql-test/extra/rpl_tests/rpl_log.test
@@ -70,6 +70,10 @@ eval create table t3 (a int)ENGINE=$engine_type;
# Sync slave and force it to start on another binary log
+#show rows of t1 on master
+connection master;
+select * from t1 order by 1 asc;
+
save_master_pos;
connection slave;
# Note that the above 'slave start' will cause a 3rd rotate event (a fake one)
@@ -79,6 +83,8 @@ start slave;
let $result_pattern= '%127.0.0.1%root%master-bin.000002%slave-relay-bin.000005%Yes%Yes%0%0%None%';
--source include/wait_slave_status.inc
sync_with_master;
+#check t1 on slave to ensure whether it's identical with on master
+select * from t1 order by 1 asc;
flush logs;
stop slave;
connection master;
@@ -142,5 +148,5 @@ drop table t1;
# End of 4.1 tests
-sync_with_master;
+sync_slave_with_master;
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 6b84cf67d58..5b546bbd891 100644
--- a/mysql-test/extra/rpl_tests/rpl_max_relay_size.test
+++ b/mysql-test/extra/rpl_tests/rpl_max_relay_size.test
@@ -43,7 +43,7 @@ set global max_relay_log_size=8192-1; # mapped to 4096
select @@global.max_relay_log_size;
start slave;
sync_with_master;
-source include/show_slave_status.inc;
+source include/show_slave_status2.inc;
--echo #
--echo # Test 2
@@ -55,7 +55,7 @@ set global max_relay_log_size=(5*4096);
query_vertical select @@global.max_relay_log_size;
start slave;
sync_with_master;
-source include/show_slave_status.inc;
+source include/show_slave_status2.inc;
--echo #
--echo # Test 3: max_relay_log_size = 0
@@ -67,7 +67,7 @@ set global max_relay_log_size=0;
query_vertical select @@global.max_relay_log_size;
start slave;
sync_with_master;
-source include/show_slave_status.inc;
+source include/show_slave_status2.inc;
--echo #
--echo # Test 4: Tests below are mainly to ensure that we have not coded with wrong assumptions
@@ -78,7 +78,7 @@ reset slave;
# test of relay log rotation when the slave is stopped
# (to make sure it does not crash).
flush logs;
-source include/show_slave_status.inc;
+source include/show_slave_status2.inc;
--echo #
--echo # Test 5
@@ -96,7 +96,7 @@ create table t1 (a int);
save_master_pos;
connection slave;
sync_with_master;
-source include/show_slave_status.inc;
+source include/show_slave_status2.inc;
--echo #
--echo # Test 6: one more rotation, to be sure Relay_Log_Space is correctly updated
@@ -108,13 +108,12 @@ drop table t1;
save_master_pos;
connection slave;
sync_with_master;
-source include/show_slave_status.inc;
+source include/show_slave_status2.inc;
connection master;
# test that the absence of relay logs does not make a master crash
flush logs;
--- replace_column 3 <Binlog_Ignore_DB>
-query_vertical show master status;
+source include/show_master_status.inc;
# Restore max_binlog_size
connection slave;
diff --git a/mysql-test/extra/rpl_tests/rpl_ndb_2multi_basic.test b/mysql-test/extra/rpl_tests/rpl_ndb_2multi_basic.test
new file mode 100644
index 00000000000..16f8116d92e
--- /dev/null
+++ b/mysql-test/extra/rpl_tests/rpl_ndb_2multi_basic.test
@@ -0,0 +1,119 @@
+#######################################
+# Author: Rafal Somla #
+# Date: 2006-08-20 #
+# Purpose: Test replication of basic #
+# table operations in various setups #
+# #
+# Based on rpl_ndb_2multi_eng.test by #
+# JBM #
+#######################################
+
+--echo --- Doing pre test cleanup ---
+
+connection master;
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_query_log
+
+#################################################
+--echo --- 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));
+
+--echo --- Show table on master ---
+
+SHOW CREATE TABLE t1;
+
+--echo --- Show table on slave ---
+
+sync_slave_with_master;
+SHOW CREATE TABLE t1;
+
+--source include/rpl_multi_engine2.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;
+# note: table with no PK can't contain blobs if it is to be replicated.
+ALTER TABLE t1 MODIFY vc char(32);
+
+--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;
+
+--source include/rpl_multi_engine2.inc
+
+#################################################
+--echo --- Check that replication works when slave has more columns than master
+connection 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");
+
+--echo --- Add columns on slave ---
+--sync_slave_with_master
+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;
+
+--echo --- Show changed table on slave ---
+
+SHOW CREATE TABLE t1;
+SELECT *
+FROM t1
+ORDER BY id;
+
+--source include/rpl_multi_engine2.inc
+TRUNCATE TABLE t1;
+
+#################################################
+--echo --- Check that replication works when master has more columns than slave
+connection master;
+
+--echo --- Remove columns on slave ---
+--sync_slave_with_master
+ALTER TABLE t1 DROP COLUMN v;
+ALTER TABLE t1 DROP COLUMN u;
+ALTER TABLE t1 DROP COLUMN t;
+ALTER TABLE t1 DROP COLUMN y;
+
+--echo --- Show changed table on slave ---
+
+SHOW CREATE TABLE t1;
+
+--source include/rpl_multi_engine2.inc
+TRUNCATE TABLE t1;
+
+#################################################
+--echo --- Do Cleanup --
+connection master;
+DROP TABLE IF EXISTS t1;
+
+sync_slave_with_master;
+connection master;
diff --git a/mysql-test/extra/rpl_tests/rpl_ndb_2multi_eng.test b/mysql-test/extra/rpl_tests/rpl_ndb_2multi_eng.test
index 7f19245c0b9..1677aaf8277 100644
--- a/mysql-test/extra/rpl_tests/rpl_ndb_2multi_eng.test
+++ b/mysql-test/extra/rpl_tests/rpl_ndb_2multi_eng.test
@@ -342,5 +342,6 @@ SHOW CREATE TABLE t1;
--echo --- Do Cleanup ---
DROP TABLE IF EXISTS t1;
+sync_slave_with_master;
# End of 5.1 test case
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 926c4106d6d..4677f6da25d 100644
--- a/mysql-test/extra/rpl_tests/rpl_ndb_apply_status.test
+++ b/mysql-test/extra/rpl_tests/rpl_ndb_apply_status.test
@@ -50,17 +50,30 @@ insert into t1 values (1,2);
--echo
connection master;
-# here is actually a bug, since there is no begin statement, the
-# query is autocommitted, and end_pos shows end of the insert and not
-# end of the commit
+--echo # Now check that that is in the apply_status table is consistant
+--echo # with what is in the binlog
+--echo
+--echo # since insert is done with transactional engine, expect a BEGIN
+--echo # at <start_pos>
+--echo
--replace_result $start_pos <start_pos>
--replace_column 5 #
--eval show binlog events from $start_pos limit 1
+
+--echo
+--echo # Now the insert, one step after
+--echo
+--replace_result $start_pos <start_pos>
+--replace_column 2 # 5 #
+--eval show binlog events from $start_pos limit 1,1
+
+--echo
+--echo # and the COMMIT should be at <end_pos>
--echo
--replace_result $start_pos <start_pos> $end_pos <end_pos>
--replace_column 2 #
--replace_regex /\/\* xid=.* \*\//\/* XID *\// /table_id: [0-9]+/table_id: #/
---eval show binlog events from $start_pos limit 1,1
+--eval show binlog events from $start_pos limit 2,1
--echo
diff --git a/mysql-test/extra/rpl_tests/rpl_reset_slave.test b/mysql-test/extra/rpl_tests/rpl_reset_slave.test
index 83b39d3299a..2cc041a35e1 100644
--- a/mysql-test/extra/rpl_tests/rpl_reset_slave.test
+++ b/mysql-test/extra/rpl_tests/rpl_reset_slave.test
@@ -13,18 +13,18 @@ connection master;
save_master_pos;
connection slave;
sync_with_master;
-source include/show_slave_status.inc;
+source include/show_slave_status2.inc;
stop slave;
change master to master_user='test';
-source include/show_slave_status.inc;
+source include/show_slave_status2.inc;
reset slave;
-source include/show_slave_status.inc;
+source include/show_slave_status2.inc;
start slave;
sync_with_master;
-source include/show_slave_status.inc;
+source include/show_slave_status2.inc;
# test of crash with temp tables & RESET SLAVE
# (test to see if RESET SLAVE clears temp tables in memory and disk)
diff --git a/mysql-test/extra/rpl_tests/rpl_row_basic.test b/mysql-test/extra/rpl_tests/rpl_row_basic.test
index 6de254d9931..48ddbaf244a 100644
--- a/mysql-test/extra/rpl_tests/rpl_row_basic.test
+++ b/mysql-test/extra/rpl_tests/rpl_row_basic.test
@@ -174,11 +174,18 @@ sync_slave_with_master;
INSERT INTO t7 VALUES (1,3), (2,6), (3,9);
SELECT * FROM t7 ORDER BY C1;
+# since bug#31552/31609 idempotency is not default any longer. In order
+# the preceeding test INSERT INTO t7 to pass the mode is switched
+# temprorarily
+set @@global.slave_exec_mode= 'IDEMPOTENT';
+
connection master;
--echo --- on master: new values inserted ---
INSERT INTO t7 VALUES (1,2), (2,4), (3,6);
SELECT * FROM t7 ORDER BY C1;
sync_slave_with_master;
+
+set @@global.slave_exec_mode= default;
--echo --- on slave: old values should be overwritten by replicated values ---
SELECT * FROM t7 ORDER BY C1;
@@ -206,20 +213,57 @@ SELECT * FROM t8 ORDER BY a;
INSERT INTO t8 VALUES (1,2,3), (2,4,6), (3,6,9);
SELECT * FROM t8 ORDER BY a;
+# since bug#31552/31609 idempotency is not default any longer. In order
+# the preceeding test INSERT INTO t8 to pass the mode is switched
+# temprorarily
+set @@global.slave_exec_mode= 'IDEMPOTENT';
+
connection master;
--echo --- on master ---
# We insert a row that will cause conflict on the primary key but not
# on the other keys.
INSERT INTO t8 VALUES (2,4,8);
sync_slave_with_master;
+set @@global.slave_exec_mode= default;
+
--echo --- on slave ---
SELECT * FROM t8 ORDER BY a;
-#
-# Test conflicting operations when changing in a table referenced by a
-# foreign key. We'll reuse the above table and just add a table that
-# references it.
-#
+# BUG#31552: Replication breaks when deleting rows from out-of-sync
+# table without PK
+
+--echo **** Test for BUG#31552 ****
+
+--echo **** On Master ****
+# Clean up t1 so that we can use it.
+connection master;
+DELETE FROM t1;
+sync_slave_with_master;
+
+# Just to get a clean binary log
+source include/reset_master_and_slave.inc;
+
+--echo **** On Master ****
+connection master;
+INSERT INTO t1 VALUES ('K','K'), ('L','L'), ('M','M');
+--echo **** On Master ****
+sync_slave_with_master;
+# since bug#31552/31609 idempotency is not default any longer. In order
+# the following test DELETE FROM t1 to pass the mode is switched
+# temprorarily
+set @@global.slave_exec_mode= 'IDEMPOTENT';
+DELETE FROM t1 WHERE C1 = 'L';
+
+connection master;
+DELETE FROM t1;
+query_vertical SELECT COUNT(*) FROM t1 ORDER BY c1,c2;
+sync_slave_with_master;
+set @@global.slave_exec_mode= default;
+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;
+query_vertical SELECT COUNT(*) FROM t1 ORDER BY c1,c2;
#
# cleanup
@@ -227,3 +271,4 @@ SELECT * FROM t8 ORDER BY a;
connection master;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7,t8;
+sync_slave_with_master;
diff --git a/mysql-test/extra/rpl_tests/rpl_row_charset.test b/mysql-test/extra/rpl_tests/rpl_row_charset.test
deleted file mode 100644
index a21ed5bb841..00000000000
--- a/mysql-test/extra/rpl_tests/rpl_row_charset.test
+++ /dev/null
@@ -1,177 +0,0 @@
-# Replication of character sets.
-# This test will fail if the server/client does not support enough charsets.
-
---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;
-create database mysqltest3;
---disable_query_log
-select "--- --master--" as "";
---enable_query_log
-show create database mysqltest2;
-show create database mysqltest3;
-sync_slave_with_master;
---disable_query_log
-select "--- --slave--" as "";
---enable_query_log
-show create database mysqltest2;
-show create database mysqltest3;
-
-connection master;
-set @@collation_server=armscii8_bin;
-drop database mysqltest3;
-create database mysqltest3;
---disable_query_log
-select "--- --master--" as "";
---enable_query_log
-show create database mysqltest3;
-sync_slave_with_master;
---disable_query_log
-select "--- --slave--" as "";
---enable_query_log
-show create database mysqltest3;
-
-connection master;
-use mysqltest2;
-create table t1 (a int auto_increment primary key, b varchar(100));
-set character_set_client=cp850, collation_connection=latin2_croatian_ci;
-insert into t1 (b) values(@@character_set_server);
-insert into t1 (b) values(@@collation_server);
-# character_set_database and collation_database are not tested as they
-# needn't be replicated (Bar said in Jan 2005).
-insert into t1 (b) values(@@character_set_client);
-# collation_client does not exist
-insert into t1 (b) values(@@character_set_connection);
-insert into t1 (b) values(@@collation_connection);
---disable_query_log
-select "--- --master--" as "";
---enable_query_log
-select * from t1 order by a;
-sync_slave_with_master;
---disable_query_log
-select "--- --slave--" as "";
---enable_query_log
-select * from mysqltest2.t1 order by a;
-
-select "--- --muller--" as "";
-connection master;
-set character_set_client=latin1, collation_connection=latin1_german1_ci;
-truncate table t1;
-insert into t1 (b) values(@@collation_connection);
-insert into t1 (b) values(LEAST("Müller","Muffler"));
-set collation_connection=latin1_german2_ci;
-insert into t1 (b) values(@@collation_connection);
-insert into t1 (b) values(LEAST("Müller","Muffler"));
---disable_query_log
-select "--- --master--" as "";
---enable_query_log
-select * from t1 order by a;
-sync_slave_with_master;
---disable_query_log
-select "--- --slave--" as "";
---enable_query_log
-select * from mysqltest2.t1 order by a;
-
-# Presently charset info is not logged with LOAD DATA but it will
-# change in Jan 2005 when Dmitri pushes his new LOAD DATA,
-# before 5.0.3 goes out. When done, LOAD DATA INFILE should be tested
-# here.
-
-# See if user var is prefixed with collation in binlog and replicated well.
-# Note: replication of user variables is broken as far as derivation is
-# concerned. That's because when we store a user variable in the binlog,
-# we lose its derivation. So later on the slave, it's impossible to
-# know if the collation was explicit or not, so we use DERIVATION_NONE,
-# which provokes error messages (like 'Illegal mix of collation') when
-# we replay the master's INSERT/etc statements.
-
-
-select "--- --INSERT--" as "";
-connection master;
-set @a= _cp850 'Müller' collate cp850_general_ci;
-truncate table t1;
-insert into t1 (b) values(collation(@a));
---disable_query_log
-select "--- --master--" as "";
---enable_query_log
-select * from t1 order by a;
-sync_slave_with_master;
---disable_query_log
-select "--- --slave--" as "";
---enable_query_log
-select * from mysqltest2.t1 order by a;
-
-connection master;
-drop database mysqltest2;
-drop database mysqltest3;
-source include/show_binlog_events.inc;
-sync_slave_with_master;
-
-# Check that we can change global.collation_server (since 5.0.3)
-
-select "--- --global--" as "";
-set global character_set_server=latin2;
-set global character_set_server=latin1; # back
-connection master;
-set global character_set_server=latin2;
-set global character_set_server=latin1; # back
-
-# Check that SET ONE_SHOT is really one shot
-
-select "--- --oneshot--" as "";
-set one_shot @@character_set_server=latin5;
-set @@max_join_size=1000;
-select @@character_set_server;
-select @@character_set_server;
-set @@character_set_server=latin5;
-select @@character_set_server;
-select @@character_set_server;
-
-# ONE_SHOT on not charset/collation stuff is not allowed
--- error 1382
-set one_shot max_join_size=10;
-
-# Test of wrong character set numbers;
-error 1115;
-set character_set_client=9999999;
-error 1273;
-set collation_server=9999998;
-
-# This one was contributed by Sergey Petrunia (BUG#3943)
-
-select "--- --3943--" as "";
-use test;
-CREATE TABLE t1 (c1 VARBINARY(255), c2 VARBINARY(255));
-SET CHARACTER_SET_CLIENT=koi8r,
- CHARACTER_SET_CONNECTION=cp1251,
- CHARACTER_SET_RESULTS=koi8r;
-INSERT INTO t1 (c1, c2) VALUES ('îÕ, ÚÁ ÒÙÂÁÌËÕ','îÕ, ÚÁ ÒÙÂÁÌËÕ');
-select hex(c1), hex(c2) from t1;
-sync_slave_with_master;
-select hex(c1), hex(c2) from t1;
-
-connection master;
-# Let's have a look at generated SETs.
---replace_result $MYSQLTEST_VARDIR MYSQL_TEST_DIR/var
-#--exec $MYSQL_BINLOG --short-form $MYSQLTEST_VARDIR/log/master-bin.000001
-drop table t1;
-sync_slave_with_master;
-
-#
-# BUG#6676: Derivation of variables must be correct on slave
-#
-select "--- --6676--" as "";
-connection master;
-eval create table `t1` (
- `pk` varchar(10) not null default '',
- primary key (`pk`)
-) engine=$engine_type default charset=latin1;
-set @p=_latin1 'test';
-update t1 set pk='test' where pk=@p;
-drop table t1;
-sync_slave_with_master;
diff --git a/mysql-test/extra/rpl_tests/rpl_row_tabledefs.test b/mysql-test/extra/rpl_tests/rpl_row_tabledefs.test
index 3903c0b0be1..0e391cb0f37 100644
--- a/mysql-test/extra/rpl_tests/rpl_row_tabledefs.test
+++ b/mysql-test/extra/rpl_tests/rpl_row_tabledefs.test
@@ -46,7 +46,7 @@ ALTER TABLE t1_bit
ALTER TABLE t1_char ADD x CHAR(20) DEFAULT 'Just a test';
# ... and add one non-nullable INT column last in table 't1_text'
# with no default,
-ALTER TABLE t1_nodef ADD x INT NOT NULL;
+ALTER TABLE t1_nodef ADD x INT NOT NULL, ADD y INT NOT NULL, ADD z INT NOT NULL;
# ... and remove the last column in t2
ALTER TABLE t2 DROP b;
# ... change the type of the single column in table 't4'
@@ -69,6 +69,11 @@ ALTER TABLE t8 ADD e1 INT NOT NULL DEFAULT 0, ADD e2 INT NOT NULL DEFAULT 0,
# Insert some values for tables on slave side. These should not be
# modified when the row from the master is applied.
+# since bug#31552/31609 idempotency is not default any longer. In order
+# the following INSERTs to pass the mode is switched temprorarily
+set @@global.slave_exec_mode= 'IDEMPOTENT';
+
+# so the inserts are going to be overriden
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');
@@ -86,6 +91,8 @@ SELECT * FROM t1_bit ORDER BY a;
SELECT * FROM t1_char ORDER BY a;
--echo **** On Slave ****
sync_slave_with_master;
+set @@global.slave_exec_mode= default;
+
SELECT a,b,x FROM t1_int ORDER BY a;
SELECT a,b,HEX(x),HEX(y),HEX(z) FROM t1_bit ORDER BY a;
SELECT a,b,x FROM t1_char ORDER BY a;
@@ -115,24 +122,28 @@ INSERT INTO t1_nodef VALUES (1,2);
connection slave;
--source include/wait_for_slave_sql_to_stop.inc
--replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 # 7 # 8 # 9 # 22 # 23 # 33 #
+--replace_column 1 # 4 # 7 # 8 # 9 # 20 <Last_Error> 22 # 23 # 33 # 36 <Last_IO_Error> 38 <Last_SQL_Error>
--query_vertical SHOW SLAVE STATUS
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
START SLAVE;
+#
+# Replicating to tables with fewer columns at the end works as of WL#3228
+#
connection master;
INSERT INTO t9 VALUES (2);
sync_slave_with_master;
# Now slave is guaranteed to be running
connection master;
+--echo **** On Master ****
INSERT INTO t2 VALUES (2,4);
-connection slave;
---source include/wait_for_slave_sql_to_stop.inc
+SELECT * FROM t2;
+sync_slave_with_master;
+--echo **** On Slave ****
+SELECT * FROM t2;
--replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 # 7 # 8 # 9 # 22 # 23 # 33 #
+--replace_column 1 # 4 # 7 # 8 # 9 # 20 <Last_Error> 22 # 23 # 33 # 36 <Last_IO_Error> 38 <Last_SQL_Error>
--query_vertical SHOW SLAVE STATUS
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
-START SLAVE;
connection master;
INSERT INTO t9 VALUES (4);
@@ -143,7 +154,7 @@ INSERT INTO t4 VALUES (4);
connection slave;
--source include/wait_for_slave_sql_to_stop.inc
--replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 # 7 # 8 # 9 # 22 # 23 # 33 #
+--replace_column 1 # 4 # 7 # 8 # 9 # 20 <Last_Error> 22 # 23 # 33 # 36 <Last_IO_Error> 38 <Last_SQL_Error>
--query_vertical SHOW SLAVE STATUS
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
START SLAVE;
@@ -157,7 +168,7 @@ INSERT INTO t5 VALUES (5,10,25);
connection slave;
--source include/wait_for_slave_sql_to_stop.inc
--replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 # 7 # 8 # 9 # 22 # 23 # 33 #
+--replace_column 1 # 4 # 7 # 8 # 9 # 20 <Last_Error> 22 # 23 # 33 # 36 <Last_IO_Error> 38 <Last_SQL_Error>
--query_vertical SHOW SLAVE STATUS
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
START SLAVE;
@@ -171,7 +182,7 @@ INSERT INTO t6 VALUES (6,12,36);
connection slave;
--source include/wait_for_slave_sql_to_stop.inc
--replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 # 7 # 8 # 9 # 22 # 23 # 33 #
+--replace_column 1 # 4 # 7 # 8 # 9 # 20 <Last_Error> 22 # 23 # 33 # 36 <Last_IO_Error> 38 <Last_SQL_Error>
--query_vertical SHOW SLAVE STATUS
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
START SLAVE;
@@ -179,8 +190,8 @@ START SLAVE;
connection master;
INSERT INTO t9 VALUES (6);
sync_slave_with_master;
---replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 # 7 # 8 # 9 # 22 # 23 # 33 #
+--replace_result $SLAVE_MYPORT SLAVE_PORT
+--replace_column 1 # 4 # 7 # 8 # 9 # 20 <Last_Error> 22 # 23 # 33 # 36 <Last_IO_Error> 38 <Last_SQL_Error>
--query_vertical SHOW SLAVE STATUS
# Testing some tables extra field that can be null and cannot be null
@@ -211,8 +222,8 @@ sync_slave_with_master;
--echo **** On Slave ****
connection slave;
-INSERT INTO t1_nodef VALUES (1,2,3);
-INSERT INTO t1_nodef VALUES (2,4,6);
+INSERT INTO t1_nodef VALUES (1,2,3,4,5);
+INSERT INTO t1_nodef VALUES (2,4,6,8,10);
--echo **** On Master ****
connection master;
diff --git a/mysql-test/extra/rpl_tests/rpl_truncate_helper.test b/mysql-test/extra/rpl_tests/rpl_truncate_helper.test
index 64a8de7c6a0..76db74acfa1 100644
--- a/mysql-test/extra/rpl_tests/rpl_truncate_helper.test
+++ b/mysql-test/extra/rpl_tests/rpl_truncate_helper.test
@@ -1,17 +1,16 @@
-
---disable_query_log
---disable_warnings
connection slave;
STOP SLAVE;
+source include/wait_for_slave_to_stop.inc;
connection master;
+--disable_warnings
DROP TABLE IF EXISTS t1;
-RESET MASTER;
+--enable_warnings
connection slave;
+--disable_warnings
DROP TABLE IF EXISTS t1;
+--enable_warnings
RESET SLAVE;
START SLAVE;
---enable_warnings
---enable_query_log
--echo **** On Master ****
connection master;
@@ -38,3 +37,6 @@ connection master;
DROP TABLE t1;
let $SERVER_VERSION=`select version()`;
source include/show_binlog_events.inc;
+
+connection master;
+RESET MASTER;
diff --git a/mysql-test/include/commit.inc b/mysql-test/include/commit.inc
new file mode 100644
index 00000000000..5c1baa562c5
--- /dev/null
+++ b/mysql-test/include/commit.inc
@@ -0,0 +1,745 @@
+## Bug#12713 (Error in a stored function called from a SELECT doesn't cause
+## ROLLBACK of statem)
+
+##
+## Pre-Requisites :
+## - $engine_type should be set
+##
+
+set sql_mode=no_engine_substitution;
+eval set storage_engine = $engine_type;
+set autocommit=1;
+
+--disable_warnings
+drop table if exists t1;
+drop table if exists t2;
+drop table if exists t3;
+drop function if exists f2;
+drop procedure if exists bug12713_call;
+drop procedure if exists bug12713_dump_spvars;
+drop procedure if exists dummy;
+--enable_warnings
+
+create table t1 (a int);
+create table t2 (a int unique);
+create table t3 (a int);
+
+# a workaround for Bug#32633: Can not create any routine if
+# SQL_MODE=no_engine_substitution
+
+set sql_mode=default;
+
+insert into t1 (a) values (1), (2);
+insert into t3 (a) values (1), (2);
+
+delimiter |;
+
+## Cause a failure every time
+create function f2(x int) returns int
+begin
+ insert into t2 (a) values (x);
+ insert into t2 (a) values (x);
+ return x;
+end|
+
+delimiter ;|
+
+set autocommit=0;
+
+flush status;
+##============================================================================
+## Design notes
+##
+## In each case, statement rollback is expected.
+## for transactional engines, the rollback should be properly executed
+## for non transactional engines, the rollback may cause warnings.
+##
+## The test pattern is as follows
+## - insert 1000+N
+## - statement with a side effect, that fails to insert N twice
+## - a statement rollback is expected (expecting 1 row 1000+N only) in t2
+## - a rollback is performed
+## - expecting a clean table t2.
+##============================================================================
+
+insert into t2 (a) values (1001);
+--error ER_DUP_ENTRY
+insert into t1 (a) values (f2(1));
+select * from t2;
+rollback;
+select * from t2;
+
+insert into t2 (a) values (1002);
+--error ER_DUP_ENTRY
+insert into t3 (a) select f2(2) from t1;
+select * from t2;
+rollback;
+select * from t2;
+
+insert into t2 (a) values (1003);
+--error ER_DUP_ENTRY
+update t1 set a= a + f2(3);
+select * from t2;
+rollback;
+select * from t2;
+
+insert into t2 (a) values (1004);
+--error ER_DUP_ENTRY
+update t1, t3 set t1.a = 0, t3.a = 0 where (f2(4) = 4) and (t1.a = t3.a);
+select * from t2;
+rollback;
+select * from t2;
+
+insert into t2 (a) values (1005);
+--error ER_DUP_ENTRY
+delete from t1 where (a = f2(5));
+select * from t2;
+rollback;
+select * from t2;
+
+insert into t2 (a) values (1006);
+--error ER_DUP_ENTRY
+delete from t1, t3 using t1, t3 where (f2(6) = 6) ;
+select * from t2;
+rollback;
+select * from t2;
+
+insert into t2 (a) values (1007);
+--error ER_DUP_ENTRY
+replace t1 values (f2(7));
+select * from t2;
+rollback;
+select * from t2;
+
+insert into t2 (a) values (1008);
+--error ER_DUP_ENTRY
+replace into t3 (a) select f2(8) from t1;
+select * from t2;
+rollback;
+select * from t2;
+
+insert into t2 (a) values (1009);
+--error ER_DUP_ENTRY
+select f2(9) from t1 ;
+select * from t2;
+rollback;
+select * from t2;
+
+insert into t2 (a) values (1010);
+--error ER_DUP_ENTRY
+show databases where (f2(10) = 10);
+select * from t2;
+rollback;
+select * from t2;
+
+insert into t2 (a) values (1011);
+--error ER_DUP_ENTRY
+show tables where (f2(11) = 11);
+select * from t2;
+rollback;
+select * from t2;
+
+insert into t2 (a) values (1012);
+--error ER_DUP_ENTRY
+show triggers where (f2(12) = 12);
+select * from t2;
+rollback;
+select * from t2;
+
+insert into t2 (a) values (1013);
+--error ER_DUP_ENTRY
+show table status where (f2(13) = 13);
+select * from t2;
+rollback;
+select * from t2;
+
+insert into t2 (a) values (1014);
+--error ER_DUP_ENTRY
+show open tables where (f2(14) = 14);
+select * from t2;
+rollback;
+select * from t2;
+
+insert into t2 (a) values (1015);
+--error ER_DUP_ENTRY
+show columns in mysql.proc where (f2(15) = 15);
+select * from t2;
+rollback;
+select * from t2;
+
+insert into t2 (a) values (1016);
+--error ER_DUP_ENTRY
+show status where (f2(16) = 16);
+select * from t2;
+rollback;
+select * from t2;
+
+insert into t2 (a) values (1017);
+--error ER_DUP_ENTRY
+show variables where (f2(17) = 17);
+select * from t2;
+rollback;
+select * from t2;
+
+insert into t2 (a) values (1018);
+--error ER_DUP_ENTRY
+show charset where (f2(18) = 18);
+select * from t2;
+rollback;
+select * from t2;
+
+insert into t2 (a) values (1019);
+--error ER_DUP_ENTRY
+show collation where (f2(19) = 19);
+select * from t2;
+rollback;
+select * from t2;
+
+--echo # We need at least one procedure to make sure the WHERE clause is
+--echo # evaluated
+create procedure dummy() begin end;
+insert into t2 (a) values (1020);
+--error ER_DUP_ENTRY
+show procedure status where (f2(20) = 20);
+select * from t2;
+rollback;
+select * from t2;
+drop procedure dummy;
+
+insert into t2 (a) values (1021);
+--error ER_DUP_ENTRY
+show function status where (f2(21) = 21);
+select * from t2;
+rollback;
+select * from t2;
+
+insert into t2 (a) values (1022);
+prepare stmt from "insert into t1 (a) values (f2(22))";
+--error ER_DUP_ENTRY
+execute stmt;
+select * from t2;
+rollback;
+select * from t2;
+
+insert into t2 (a) values (1023);
+do (f2(23));
+select * from t2;
+rollback;
+select * from t2;
+
+## Please note :
+## This will insert a record 1024 in t1 (statement commit)
+## This will insert a record 24 in t1 (statement commit)
+## then will rollback the second insert only (24) (statement rollback)
+## then will rollback the complete transaction (transaction rollback)
+
+delimiter |;
+
+create procedure bug12713_call ()
+begin
+ insert into t2 (a) values (24);
+ insert into t2 (a) values (24);
+end|
+
+delimiter ;|
+
+insert into t2 (a) values (1024);
+--error ER_DUP_ENTRY
+call bug12713_call();
+select * from t2;
+rollback;
+select * from t2;
+
+--echo =======================================================================
+--echo Testing select_to_file
+--echo =======================================================================
+
+insert into t2 (a) values (1025);
+
+--replace_result $MYSQLTEST_VARDIR ..
+--error ER_DUP_ENTRY
+eval select f2(25) into outfile "$MYSQLTEST_VARDIR/tmp/dml.out" from t1;
+select * from t2;
+rollback;
+select * from t2;
+--remove_file $MYSQLTEST_VARDIR/tmp/dml.out
+
+insert into t2 (a) values (1026);
+--replace_result $MYSQLTEST_VARDIR ..
+--error ER_DUP_ENTRY
+eval load data infile "../std_data_ln/words.dat" into table t1 (a) set a:=f2(26);
+
+select * from t2;
+rollback;
+select * from t2;
+
+--echo =======================================================================
+--echo Testing select_dumpvar
+--echo =======================================================================
+
+insert into t2 (a) values (1027);
+--error ER_DUP_ENTRY
+select f2(27) into @foo;
+select * from t2;
+rollback;
+select * from t2;
+
+--echo =======================================================================
+--echo Testing Select_fetch_into_spvars
+--echo =======================================================================
+
+delimiter |;
+
+create procedure bug12713_dump_spvars ()
+begin
+ declare foo int;
+
+ declare continue handler for sqlexception
+ begin
+ select "Exception trapped";
+ end;
+
+ select f2(28) into foo;
+ select * from t2;
+end|
+
+delimiter ;|
+
+insert into t2 (a) values (1028);
+call bug12713_dump_spvars ();
+rollback;
+select * from t2;
+
+--echo =======================================================================
+--echo Cleanup
+--echo =======================================================================
+
+set autocommit=default;
+
+drop table t1;
+drop table t2;
+drop table t3;
+drop function f2;
+drop procedure bug12713_call;
+drop procedure bug12713_dump_spvars;
+--echo #
+--echo # Bug#12713 Error in a stored function called from a SELECT doesn't
+--echo # cause ROLLBACK of statem
+--echo #
+--echo # Verify that two-phase commit is not issued for read-only
+--echo # transactions.
+--echo #
+--echo # Verify that two-phase commit is issued for read-write transactions,
+--echo # even if the change is done inside a stored function called from
+--echo # SELECT or SHOW statement.
+--echo #
+set autocommit=0;
+--disable_warnings
+drop table if exists t1;
+drop table if exists t2;
+drop function if exists f1;
+drop procedure if exists p_verify_status_increment;
+--enable_warnings
+
+# Save binlog_format in a user variable. References to system
+# variables are "unsafe", meaning they are written as rows instead of
+# as statements to the binlog, if the loggging mode is 'mixed'. But
+# we don't want p_verify_status_increment to affect the logging mode.
+# Hence, we save binlog_format in a user variable (which is not
+# unsafe) and use that inside p_verify_status_increment.
+set @binlog_format=@@global.binlog_format;
+
+set sql_mode=no_engine_substitution;
+create table t1 (a int unique);
+create table t2 (a int) engine=myisam;
+set sql_mode=default;
+--echo #
+--echo # An auxiliary procedure to track Handler_prepare and Handler_commit
+--echo # statistics.
+--echo #
+delimiter |;
+create procedure
+p_verify_status_increment(commit_inc_mixed int, prepare_inc_mixed int,
+ commit_inc_row int, prepare_inc_row int)
+begin
+ declare commit_inc int;
+ declare prepare_inc int;
+ declare old_commit_count int default ifnull(@commit_count, 0);
+ declare old_prepare_count int default ifnull(@prepare_count, 0);
+ declare c_res int;
+# Use a cursor to have just one access to I_S instead of 2, it is very slow
+# and amounts for over 90% of test CPU time
+ declare c cursor for
+ select variable_value
+ from information_schema.session_status
+ where variable_name='Handler_commit' or variable_name='Handler_prepare'
+ order by variable_name;
+
+ if @binlog_format = 'ROW' then
+ set commit_inc= commit_inc_row;
+ set prepare_inc= prepare_inc_row;
+ else
+ set commit_inc= commit_inc_mixed;
+ set prepare_inc= prepare_inc_mixed;
+ end if;
+
+ open c;
+ fetch c into c_res;
+ set @commit_count=c_res;
+ fetch c into c_res;
+ set @prepare_count=c_res;
+ close c;
+
+ if old_commit_count + commit_inc <> @commit_count then
+ select concat("Expected commit increment: ", commit_inc,
+ " actual: ", @commit_count - old_commit_count)
+ as 'ERROR';
+ elseif old_prepare_count + prepare_inc <> @prepare_count then
+ select concat("Expected prepare increment: ", prepare_inc,
+ " actual: ", @prepare_count - old_prepare_count)
+ as 'ERROR';
+ else
+ select '' as 'SUCCESS';
+ end if;
+end|
+delimiter ;|
+--echo # Reset Handler_commit and Handler_prepare counters
+flush status;
+--echo #
+--echo # 1. Read-only statement: SELECT
+--echo #
+select * from t1;
+call p_verify_status_increment(1, 0, 1, 0);
+commit;
+call p_verify_status_increment(1, 0, 1, 0);
+
+--echo # 2. Read-write statement: INSERT, insert 1 row.
+--echo #
+insert into t1 (a) values (1);
+call p_verify_status_increment(2, 2, 2, 2);
+commit;
+call p_verify_status_increment(2, 2, 2, 2);
+
+--echo # 3. Read-write statement: UPDATE, update 1 row.
+--echo #
+update t1 set a=2;
+call p_verify_status_increment(2, 2, 2, 2);
+commit;
+call p_verify_status_increment(2, 2, 2, 2);
+
+--echo # 4. Read-write statement: UPDATE, update 0 rows, 1 row matches WHERE
+--echo #
+update t1 set a=2;
+call p_verify_status_increment(2, 2, 1, 0);
+commit;
+call p_verify_status_increment(2, 2, 1, 0);
+
+--echo # 5. Read-write statement: UPDATE, update 0 rows, 0 rows match WHERE
+--echo #
+--echo # In mixed replication mode, there is a read-only transaction
+--echo # in InnoDB and also the statement is written to the binary log.
+--echo # So we have two commits but no 2pc, since the first engine's
+--echo # transaction is read-only.
+--echo # In the row level replication mode, we only have the read-only
+--echo # transaction in InnoDB and nothing is written to the binary log.
+--echo #
+update t1 set a=3 where a=1;
+call p_verify_status_increment(2, 0, 1, 0);
+commit;
+call p_verify_status_increment(2, 0, 1, 0);
+
+--echo # 6. Read-write statement: DELETE, delete 0 rows.
+--echo #
+delete from t1 where a=1;
+call p_verify_status_increment(2, 0, 1, 0);
+commit;
+call p_verify_status_increment(2, 0, 1, 0);
+
+--echo # 7. Read-write statement: DELETE, delete 1 row.
+--echo #
+delete from t1 where a=2;
+call p_verify_status_increment(2, 2, 2, 2);
+commit;
+call p_verify_status_increment(2, 2, 2, 2);
+
+--echo # 8. Read-write statement: unqualified DELETE
+--echo #
+--echo # In statement or mixed replication mode, we call
+--echo # handler::ha_delete_all_rows() and write statement text
+--echo # to the binary log. This results in two read-write transactions.
+--echo # In row level replication mode, we do not call
+--echo # handler::ha_delete_all_rows(), but delete rows one by one.
+--echo # Since there are no rows, nothing is written to the binary log.
+--echo # Thus we have just one read-only transaction in InnoDB.
+delete from t1;
+call p_verify_status_increment(2, 2, 1, 0);
+commit;
+call p_verify_status_increment(2, 2, 1, 0);
+
+--echo # 9. Read-write statement: REPLACE, change 1 row.
+--echo #
+replace t1 set a=1;
+call p_verify_status_increment(2, 2, 2, 2);
+commit;
+call p_verify_status_increment(2, 2, 2, 2);
+
+--echo # 10. Read-write statement: REPLACE, change 0 rows.
+--echo #
+replace t1 set a=1;
+call p_verify_status_increment(2, 2, 1, 0);
+commit;
+call p_verify_status_increment(2, 2, 1, 0);
+
+--echo # 11. Read-write statement: IODKU, change 1 row.
+--echo #
+insert t1 set a=1 on duplicate key update a=a+1;
+call p_verify_status_increment(2, 2, 2, 2);
+select * from t1;
+call p_verify_status_increment(1, 0, 1, 0);
+commit;
+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);
+commit;
+call p_verify_status_increment(1, 0, 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);
+commit;
+call p_verify_status_increment(1, 0, 1, 0);
+
+--echo # 14. Read-write statement: INSERT IGNORE, change 1 row.
+--echo #
+insert ignore t1 set a=1;
+call p_verify_status_increment(2, 2, 2, 2);
+commit;
+call p_verify_status_increment(2, 2, 2, 2);
+--echo # 15. Read-write statement: UPDATE IGNORE, change 0 rows.
+--echo #
+update ignore t1 set a=2 where a=1;
+call p_verify_status_increment(2, 2, 1, 0);
+commit;
+call p_verify_status_increment(2, 2, 1, 0);
+--echo #
+--echo # Create a stored function that modifies a
+--echo # non-transactional table. Demonstrate that changes in
+--echo # non-transactional tables do not affect the two phase commit
+--echo # algorithm.
+--echo #
+delimiter |;
+create function f1() returns int
+begin
+ insert t2 set a=2;
+ return 2;
+end|
+delimiter ;|
+call p_verify_status_increment(0, 0, 0, 0);
+
+--echo # 16. A function changes non-trans-table.
+--echo #
+select f1();
+call p_verify_status_increment(0, 0, 0, 0);
+commit;
+call p_verify_status_increment(0, 0, 0, 0);
+
+--echo # 17. Read-only statement, a function changes non-trans-table.
+--echo #
+select f1() from t1;
+call p_verify_status_increment(1, 0, 1, 0);
+commit;
+call p_verify_status_increment(1, 0, 1, 0);
+
+--echo # 18. Read-write statement: UPDATE, change 0 (transactional) rows.
+--echo #
+select count(*) from t2;
+update t1 set a=2 where a=f1()+10;
+select count(*) from t2;
+call p_verify_status_increment(2, 0, 2, 0);
+commit;
+call p_verify_status_increment(2, 0, 2, 0);
+--echo #
+--echo # Replace the non-transactional table with a temporary
+--echo # transactional table. Demonstrate that a change to a temporary
+--echo # transactional table does not provoke 2-phase commit, although
+--echo # does trigger a commit and a binlog write (in statement mode).
+--echo #
+drop table t2;
+set sql_mode=no_engine_substitution;
+create temporary table t2 (a int);
+call p_verify_status_increment(0, 0, 0, 0);
+set sql_mode=default;
+--echo # 19. A function changes temp-trans-table.
+--echo #
+select f1();
+--echo # Two commits because a binary log record is written
+call p_verify_status_increment(2, 0, 1, 0);
+commit;
+call p_verify_status_increment(2, 0, 1, 0);
+
+--echo # 20. Read-only statement, a function changes non-trans-table.
+--echo #
+select f1() from t1;
+--echo # Two commits because a binary log record is written
+call p_verify_status_increment(2, 0, 1, 0);
+commit;
+call p_verify_status_increment(2, 0, 1, 0);
+
+--echo # 21. Read-write statement: UPDATE, change 0 (transactional) rows.
+--echo #
+update t1 set a=2 where a=f1()+10;
+call p_verify_status_increment(2, 0, 1, 0);
+commit;
+call p_verify_status_increment(2, 0, 1, 0);
+
+--echo # 22. DDL: ALTER TEMPORARY TABLE, should not cause a 2pc
+--echo #
+alter table t2 add column b int default 5;
+--echo # A commit is done internally by ALTER.
+call p_verify_status_increment(2, 0, 2, 0);
+commit;
+--echo # There is nothing left to commit
+call p_verify_status_increment(0, 0, 0, 0);
+
+--echo # 23. DDL: RENAME TEMPORARY TABLE, does not start a transaction
+--echo
+--echo # No test because of Bug#8729 "rename table fails on temporary table"
+
+--echo # 24. DDL: TRUNCATE TEMPORARY TABLE, does not start a transaction
+--echo
+truncate table t2;
+call p_verify_status_increment(2, 0, 2, 0);
+commit;
+--echo # There is nothing left to commit
+call p_verify_status_increment(0, 0, 0, 0);
+
+--echo # 25. Read-write statement: unqualified DELETE
+--echo
+delete from t2;
+call p_verify_status_increment(2, 0, 1, 0);
+commit;
+--echo # There is nothing left to commit
+call p_verify_status_increment(2, 0, 1, 0);
+
+--echo # 25. DDL: DROP TEMPORARY TABLE, does not start a transaction
+--echo #
+drop temporary table t2;
+call p_verify_status_increment(0, 0, 0, 0);
+commit;
+call p_verify_status_increment(0, 0, 0, 0);
+
+--echo # 26. Verify that SET AUTOCOMMIT issues an implicit commit
+--echo #
+insert t1 set a=3;
+call p_verify_status_increment(2, 2, 2, 2);
+set autocommit=1;
+call p_verify_status_increment(2, 2, 2, 2);
+rollback;
+select a from t1 where a=3;
+call p_verify_status_increment(1, 0, 1, 0);
+delete from t1 where a=3;
+call p_verify_status_increment(2, 2, 2, 2);
+commit;
+call p_verify_status_increment(0, 0, 0, 0);
+set autocommit=0;
+call p_verify_status_increment(0, 0, 0, 0);
+insert t1 set a=3;
+call p_verify_status_increment(2, 2, 2, 2);
+--echo # Sic: not actually changing the value of autocommit
+set autocommit=0;
+call p_verify_status_increment(0, 0, 0, 0);
+rollback;
+select a from t1 where a=3;
+call p_verify_status_increment(1, 0, 1, 0);
+
+--echo # 27. Savepoint management
+--echo #
+insert t1 set a=3;
+call p_verify_status_increment(2, 2, 2, 2);
+savepoint a;
+call p_verify_status_increment(0, 0, 0, 0);
+insert t1 set a=4;
+--echo # Sic: a bug. Binlog did not register itself this time.
+call p_verify_status_increment(1, 0, 1, 0);
+release savepoint a;
+rollback;
+call p_verify_status_increment(0, 0, 0, 0);
+select a from t1 where a=3;
+call p_verify_status_increment(1, 0, 1, 0);
+commit;
+call p_verify_status_increment(1, 0, 1, 0);
+
+--echo # 28. Read-write statement: DO
+--echo #
+create table t2 (a int);
+call p_verify_status_increment(0, 0, 0, 0);
+do (select f1() from t1 where a=2);
+call p_verify_status_increment(2, 2, 2, 2);
+commit;
+call p_verify_status_increment(2, 2, 2, 2);
+
+--echo # 29. Read-write statement: MULTI-DELETE
+--echo #
+delete t1, t2 from t1 join t2 on (t1.a=t2.a) where t1.a=2;
+commit;
+call p_verify_status_increment(4, 4, 4, 4);
+
+--echo # 30. Read-write statement: INSERT-SELECT, MULTI-UPDATE, REPLACE-SELECT
+--echo #
+insert into t2 select a from t1;
+commit;
+replace into t2 select a from t1;
+commit;
+call p_verify_status_increment(8, 8, 8, 8);
+#
+# Multi-update is one of the few remaining statements that still
+# locks the tables at prepare step (and hence starts the transaction.
+# Disable the PS protocol, since in this protocol we get a different
+# number of commmits (there is an extra commit after prepare
+#
+--disable_ps_protocol
+update t1, t2 set t1.a=4, t2.a=8 where t1.a=t2.a and t1.a=1;
+--enable_ps_protocol
+commit;
+call p_verify_status_increment(4, 4, 4, 4);
+
+--echo # 31. DDL: various DDL with transactional tables
+--echo #
+--echo # Sic: no table is created.
+create table if not exists t2 (a int) select 6 union select 7;
+--echo # Sic: first commits the statement, and then the transaction.
+call p_verify_status_increment(4, 4, 4, 4);
+create table t3 select a from t2;
+call p_verify_status_increment(4, 4, 4, 4);
+alter table t3 add column (b int);
+call p_verify_status_increment(2, 0, 2, 0);
+alter table t3 rename t4;
+call p_verify_status_increment(1, 0, 1, 0);
+rename table t4 to t3;
+call p_verify_status_increment(1, 0, 1, 0);
+truncate table t3;
+call p_verify_status_increment(2, 2, 2, 2);
+create view v1 as select * from t2;
+call p_verify_status_increment(1, 0, 1, 0);
+check table t1;
+call p_verify_status_increment(3, 0, 3, 0);
+--echo # Sic: after this bug is fixed, CHECK leaves no pending transaction
+commit;
+call p_verify_status_increment(0, 0, 0, 0);
+check table t1, t2, t3;
+call p_verify_status_increment(6, 0, 6, 0);
+commit;
+call p_verify_status_increment(0, 0, 0, 0);
+drop view v1;
+call p_verify_status_increment(0, 0, 0, 0);
+
+--echo #
+--echo # Cleanup
+--echo #
+drop table t1, t2, t3;
+drop procedure p_verify_status_increment;
+drop function f1;
diff --git a/mysql-test/include/connect2.inc b/mysql-test/include/connect2.inc
new file mode 100644
index 00000000000..6b830a909ed
--- /dev/null
+++ b/mysql-test/include/connect2.inc
@@ -0,0 +1,56 @@
+# include/connect2.inc
+#
+# SUMMARY
+#
+# Make several attempts to connect.
+#
+# USAGE
+#
+# EXAMPLE
+#
+# connect.test
+#
+
+--disable_query_log
+
+let $wait_counter= 300;
+if ($wait_timeout)
+{
+ let $wait_counter= `SELECT $wait_timeout * 10`;
+}
+# Reset $wait_timeout so that its value won't be used on subsequent
+# calls, and default will be used instead.
+let $wait_timeout= 0;
+
+--echo # -- Establishing connection '$con_name' (user: $con_user_name)...
+
+while ($wait_counter)
+{
+ --disable_abort_on_error
+ --disable_result_log
+ --connect ($con_name,localhost,$con_user_name)
+ --enable_result_log
+ --enable_abort_on_error
+
+ let $error = $mysql_errno;
+
+ if (!$error)
+ {
+ let $wait_counter= 0;
+ }
+ if ($error)
+ {
+ real_sleep 0.1;
+ dec $wait_counter;
+ }
+}
+if ($error)
+{
+ --echo # -- Error: can not establish connection '$con_name'.
+}
+if (!$error)
+{
+ --echo # -- Connection '$con_name' has been established.
+}
+
+--enable_query_log
diff --git a/mysql-test/include/ctype_common.inc b/mysql-test/include/ctype_common.inc
index 202c508a9c9..7d92c3c7b8f 100644
--- a/mysql-test/include/ctype_common.inc
+++ b/mysql-test/include/ctype_common.inc
@@ -13,6 +13,8 @@
SET @safe_character_set_server= @@character_set_server;
SET @safe_collation_server= @@collation_server;
+SET @safe_character_set_client= @@character_set_client;
+SET @safe_character_set_results= @@character_set_results;
SET character_set_server= @test_character_set;
SET collation_server= @test_collation;
CREATE DATABASE d1;
@@ -51,8 +53,33 @@ SELECT c1 as want1result from t1 where c1 like 'locatio%';
SELECT c1 as want1result from t1 where c1 like 'location%';
DROP TABLE t1;
+#
+# Bug #31070: crash during conversion of charsets
+# Bug #32726: crash with cast in order by clause and cp932 charset
+#
+create table t1 (a set('a') not null);
+insert into t1 values (),();
+select cast(a as char(1)) from t1;
+select a sounds like a from t1;
+select 1 from t1 order by cast(a as char(1));
+drop table t1;
+
+#
+# Bug#27580 SPACE() function collation bug?
+#
+set names utf8;
+create table t1 (
+ name varchar(10),
+ level smallint unsigned);
+show create table t1;
+insert into t1 values ('string',1);
+select concat(name,space(level)), concat(name, repeat(' ',level)) from t1;
+drop table t1;
+
DROP DATABASE d1;
# Restore settings
USE test;
SET character_set_server= @safe_character_set_server;
SET collation_server= @safe_collation_server;
+SET character_set_client= @safe_character_set_client;
+SET character_set_results= @safe_character_set_results;
diff --git a/mysql-test/include/ctype_german.inc b/mysql-test/include/ctype_german.inc
new file mode 100644
index 00000000000..14d09358bea
--- /dev/null
+++ b/mysql-test/include/ctype_german.inc
@@ -0,0 +1,40 @@
+#
+# Bug #27877 incorrect german order in utf8_general_ci
+#
+# Testing if "SHARP S" is equal to "S",
+# like in latin1_german1_ci, utf8_general_ci, ucs2_general_ci
+# Or if "SHART S" is equal to "SS",
+# like in latin1_german2_ci, utf8_unicode_ci, ucs2_unicode_ci
+#
+# Also testing A-uml, O-uml, U-uml
+#
+
+--disable_warnings
+drop table if exists t1;
+--enable_warnings
+
+#
+# Create a table with a varchar(x) column,
+# using current values of
+# @@character_set_connection and @@collation_connection.
+#
+
+create table t1 as select repeat(' ', 64) as s1;
+select collation(s1) from t1;
+delete from t1;
+
+#
+# Populate data
+#
+
+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);
+
+#
+# Check order
+#
+select s1, hex(s1) from t1 order by s1, binary s1;
+select group_concat(s1 order by binary s1) from t1 group by s1;
+drop table t1;
diff --git a/mysql-test/include/ctype_like_range_f1f2.inc b/mysql-test/include/ctype_like_range_f1f2.inc
new file mode 100644
index 00000000000..54ea1b4c665
--- /dev/null
+++ b/mysql-test/include/ctype_like_range_f1f2.inc
@@ -0,0 +1,25 @@
+#
+# Bug#32510 LIKE search fails with indexed 'eucjpms' and 'ujis' char column
+#
+# Testing my_ctype_like_range_xxx
+# (used in LIKE optimization for an indexed column)
+#
+
+# Create table using @@character_set_connection and @@collation_connection
+# for the string columns.
+
+CREATE TABLE t1 AS
+SELECT 10 AS a, REPEAT('a',20) AS b, REPEAT('a',8) AS c, REPEAT('a',8) AS d;
+ALTER TABLE t1 ADD PRIMARY KEY(a), ADD KEY(b);
+
+INSERT INTO t1 (a, b) VALUES (1, repeat(0xF1F2,5));
+INSERT INTO t1 (a, b) VALUES (2, repeat(0xF1F2,10));
+INSERT INTO t1 (a, b) VALUES (3, repeat(0xF1F2,11));
+INSERT INTO t1 (a, b) VALUES (4, repeat(0xF1F2,12));
+
+# Check pattern (important for ucs2, utf16, utf32)
+SELECT hex(concat(repeat(0xF1F2, 10), '%'));
+
+--echo 3 rows expected
+SELECT a, hex(b), c FROM t1 WHERE b LIKE concat(repeat(0xF1F2,10), '%');
+DROP TABLE t1;
diff --git a/mysql-test/include/ctype_regex.inc b/mysql-test/include/ctype_regex.inc
new file mode 100644
index 00000000000..0e6b4c41607
--- /dev/null
+++ b/mysql-test/include/ctype_regex.inc
@@ -0,0 +1,42 @@
+#
+# To test a desired collation, set session.collation_connection to
+# this collation before including this file
+#
+
+--disable_warnings
+drop table if exists t1;
+--enable_warnings
+
+#
+# Create a table with two varchar(64) null-able column,
+# using current values of
+# @@character_set_connection and @@collation_connection.
+#
+
+create table t1 as
+select repeat(' ', 64) as s1, repeat(' ',64) as s2
+union
+select null, null;
+show create table t1;
+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;
+
+drop table t1;
diff --git a/mysql-test/include/ddl_i18n.check_views.inc b/mysql-test/include/ddl_i18n.check_views.inc
index 727f3506e4a..db3ad02f459 100644
--- a/mysql-test/include/ddl_i18n.check_views.inc
+++ b/mysql-test/include/ddl_i18n.check_views.inc
@@ -9,6 +9,10 @@ SHOW CREATE VIEW v1|
SHOW CREATE VIEW v2|
+--echo
+
+SHOW CREATE VIEW v3|
+
# - Check INFORMATION_SCHEMA;
--echo
@@ -20,6 +24,10 @@ SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE table_name = 'v1'|
SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE table_name = 'v2'|
+--echo
+
+SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE table_name = 'v3'|
+
# - Execute the views;
--echo
@@ -30,3 +38,7 @@ SELECT COLLATION(c1), COLLATION(c2) FROM v1|
--echo
SELECT COLLATION(c1) FROM v2|
+
+--echo
+
+SELECT * FROM v3|
diff --git a/mysql-test/include/deadlock.inc b/mysql-test/include/deadlock.inc
index 41c68f39320..89c34abc871 100644
--- a/mysql-test/include/deadlock.inc
+++ b/mysql-test/include/deadlock.inc
@@ -144,4 +144,29 @@ disconnect con1;
disconnect con2;
drop table t1, t2;
-# End of 4.1 tests
+--echo End of 4.1 tests
+
+#
+# Bug#25164 create table `a` as select * from `A` hangs
+#
+
+set storage_engine=innodb;
+
+--disable_warnings
+drop table if exists a;
+drop table if exists A;
+--enable_warnings
+
+create table A (c int);
+insert into A (c) values (0);
+--error 0,ER_LOCK_DEADLOCK,ER_UPDATE_TABLE_USED
+create table a as select * from A;
+drop table A;
+
+--disable_warnings
+drop table if exists a;
+--enable_warnings
+
+set storage_engine=default;
+
+--echo End of 5.0 tests.
diff --git a/mysql-test/include/delete_anonymous_users.inc b/mysql-test/include/delete_anonymous_users.inc
index 9f642223748..704e74ae4a3 100644
--- a/mysql-test/include/delete_anonymous_users.inc
+++ b/mysql-test/include/delete_anonymous_users.inc
@@ -1,5 +1,7 @@
# Remove anonymous users added by add_anonymous_users.inc
+disable_warnings;
disable_query_log;
DELETE FROM mysql.user where host='localhost' and user='';
FLUSH PRIVILEGES;
enable_query_log;
+enable_warnings;
diff --git a/mysql-test/include/diff_tables.inc b/mysql-test/include/diff_tables.inc
new file mode 100644
index 00000000000..d15dd56b35d
--- /dev/null
+++ b/mysql-test/include/diff_tables.inc
@@ -0,0 +1,122 @@
+# ==== Purpose ====
+#
+# Check if the two given tables (possibly residing on different
+# master/slave servers) are equal.
+#
+# ==== 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:
+#
+# [master:|slave:]database.table
+#
+# 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".
+#
+# - 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 ====
+#
+# - It is currently not possible to use this for tables that are
+# supposed to be different, because if the files are different:
+# - 'diff' produces system-dependent output,
+# - the output includes the absolute path of the compared files,
+# - the output includes a timestamp.
+# To fix that, we'd probably have to use SQL to compute the
+# symmetric difference between the tables. I'm not sure how to do
+# that efficiently. If we implement this, it would be nice to
+# compare the table definitions too.
+#
+# - It actually compares the result of "SELECT * FROM table ORDER BY
+# col1, col2, ..., colN INTO OUTFILE 'file'". Hence, it is assumed
+# that the comparison orders for both tables are equal and that two
+# rows that are equal in the comparison order cannot differ, e.g.,
+# by character case.
+
+
+# ==== 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 $_diff_conn_master=`SELECT SUBSTR('$_diff_table', 1, 7) = 'master:'`;
+ if ($_diff_conn_master) {
+ let $_diff_table=`SELECT SUBSTR('$_diff_table', 8)`;
+ connection master;
+ }
+ let $_diff_conn_slave=`SELECT SUBSTR('$_diff_table', 1, 6) = 'slave:'`;
+ if ($_diff_conn_slave) {
+ let $_diff_table=`SELECT SUBSTR('$_diff_table', 7)`;
+ connection slave;
+ }
+
+ # 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;
+ }
+
+ # 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;
+ }
+
+ # 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';
+
+ # Do the same for $diff_table_1.
+ dec $_diff_i;
+ let $_diff_table=$diff_table_1;
+}
+
+
+# ==== 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;
diff --git a/mysql-test/include/gis_keys.inc b/mysql-test/include/gis_keys.inc
new file mode 100644
index 00000000000..c75311f062a
--- /dev/null
+++ b/mysql-test/include/gis_keys.inc
@@ -0,0 +1,46 @@
+--source include/have_geometry.inc
+
+#
+# Spatial objects with keys
+#
+
+#
+# Bug #30825: Problems when putting a non-spatial index on a GIS column
+#
+
+CREATE TABLE t1 (p POINT);
+CREATE TABLE t2 (p POINT, INDEX(p));
+INSERT INTO t1 VALUES (POINTFROMTEXT('POINT(1 2)'));
+INSERT INTO t2 VALUES (POINTFROMTEXT('POINT(1 2)'));
+
+# no index, returns 1 as expected
+SELECT COUNT(*) FROM t1 WHERE p=POINTFROMTEXT('POINT(1 2)');
+
+# with index, returns 1 as expected
+# EXPLAIN shows that the index is not used though
+# due to the "most rows covered anyway, so a scan is more effective" rule
+EXPLAIN
+SELECT COUNT(*) FROM t2 WHERE p=POINTFROMTEXT('POINT(1 2)');
+SELECT COUNT(*) FROM t2 WHERE p=POINTFROMTEXT('POINT(1 2)');
+
+# adding another row to the table so that
+# the "most rows covered" rule doesn't kick in anymore
+# now EXPLAIN shows the index used on the table
+# and we're getting the wrong result again
+INSERT INTO t1 VALUES (POINTFROMTEXT('POINT(1 2)'));
+INSERT INTO t2 VALUES (POINTFROMTEXT('POINT(1 2)'));
+EXPLAIN
+SELECT COUNT(*) FROM t1 WHERE p=POINTFROMTEXT('POINT(1 2)');
+SELECT COUNT(*) FROM t1 WHERE p=POINTFROMTEXT('POINT(1 2)');
+
+EXPLAIN
+SELECT COUNT(*) FROM t2 WHERE p=POINTFROMTEXT('POINT(1 2)');
+SELECT COUNT(*) FROM t2 WHERE p=POINTFROMTEXT('POINT(1 2)');
+
+EXPLAIN
+SELECT COUNT(*) FROM t2 IGNORE INDEX(p) WHERE p=POINTFROMTEXT('POINT(1 2)');
+SELECT COUNT(*) FROM t2 IGNORE INDEX(p) WHERE p=POINTFROMTEXT('POINT(1 2)');
+
+DROP TABLE t1, t2;
+
+--echo End of 5.0 tests
diff --git a/mysql-test/include/handler.inc b/mysql-test/include/handler.inc
index 67fff16c577..485b2e881d3 100644
--- a/mysql-test/include/handler.inc
+++ b/mysql-test/include/handler.inc
@@ -465,3 +465,230 @@ select * from t1;
# Just to be sure and not confuse the next test case writer.
drop table if exists t1;
+#
+# Bug#25856 - HANDLER table OPEN in one connection lock DROP TABLE in another one
+#
+--disable_warnings
+drop table if exists t1;
+--enable_warnings
+eval create table t1 (a int) ENGINE=$other_engine_type;
+--echo --> client 2
+connection con2;
+--error 1031
+handler t1 open;
+--echo --> client 1
+connection default;
+drop table t1;
+
+#
+# Bug#30632 HANDLER read failure causes hang
+#
+--disable_warnings
+drop table if exists t1;
+--enable_warnings
+create table t1 (a int);
+handler t1 open as t1_alias;
+--error 1176
+handler t1_alias read a next;
+--error 1054
+handler t1_alias READ a next where inexistent > 0;
+--error 1176
+handler t1_alias read a next;
+--error 1054
+handler t1_alias READ a next where inexistent > 0;
+handler t1_alias close;
+drop table t1;
+
+#
+# Bug#21587 FLUSH TABLES causes server crash when used with HANDLER statements
+#
+
+--disable_warnings
+drop table if exists t1,t2;
+--enable_warnings
+create table t1 (c1 int);
+create table t2 (c1 int);
+insert into t1 values (1);
+insert into t2 values (2);
+--echo connection: default
+handler t1 open;
+handler t1 read first;
+connect (flush,localhost,root,,);
+connection flush;
+--echo connection: flush
+--send flush tables;
+connection default;
+--echo connection: default
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = "Flushing tables";
+--source include/wait_condition.inc
+handler t2 open;
+handler t2 read first;
+handler t1 read next;
+handler t1 close;
+handler t2 close;
+connection flush;
+reap;
+connection default;
+drop table t1,t2;
+disconnect flush;
+
+#
+# Bug#31409 RENAME TABLE causes server crash or deadlock when used with HANDLER statements
+#
+
+--disable_warnings
+drop table if exists t1,t2;
+--enable_warnings
+create table t1 (c1 int);
+--echo connection: default
+handler t1 open;
+handler t1 read first;
+connect (flush,localhost,root,,);
+connection flush;
+--echo connection: flush
+--send rename table t1 to t2;
+connection default;
+--echo connection: default
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = "Waiting for table" and info = "rename table t1 to t2";
+--source include/wait_condition.inc
+handler t2 open;
+handler t2 read first;
+--error ER_NO_SUCH_TABLE
+handler t1 read next;
+handler t1 close;
+handler t2 close;
+connection flush;
+reap;
+connection default;
+drop table t2;
+disconnect flush;
+
+#
+# Bug#30882 Dropping a temporary table inside a stored function may cause a server crash
+#
+# Test HANDLER statements in conjunction with temporary tables. While the temporary table
+# is open by a HANDLER, no other statement can access it.
+#
+
+--disable_warnings
+drop table if exists t1;
+--enable_warnings
+create temporary table t1 (a int, b char(1), key a(a), key b(a,b));
+insert into t1 values (0,"a"),(1,"b"),(2,"c"),(3,"d"),(4,"e"),
+ (5,"f"),(6,"g"),(7,"h"),(8,"i"),(9,"j");
+select a,b from t1;
+handler t1 open as a1;
+handler a1 read a first;
+handler a1 read a next;
+handler a1 read a next;
+--error ER_CANT_REOPEN_TABLE
+select a,b from t1;
+handler a1 read a prev;
+handler a1 read a prev;
+handler a1 read a=(6) where b="g";
+handler a1 close;
+select a,b from t1;
+handler t1 open as a2;
+handler a2 read a first;
+handler a2 read a last;
+handler a2 read a prev;
+handler a2 close;
+drop table t1;
+
+#
+# Bug#31397 Inconsistent drop table behavior of handler tables.
+#
+
+--disable_warnings
+drop table if exists t1,t2;
+--enable_warnings
+create table t1 (a int);
+handler t1 open as t1_alias;
+drop table t1;
+create table t1 (a int);
+handler t1 open as t1_alias;
+flush tables;
+drop table t1;
+create table t1 (a int);
+handler t1 open as t1_alias;
+handler t1_alias close;
+drop table t1;
+create table t1 (a int);
+handler t1 open as t1_alias;
+handler t1_alias read first;
+drop table t1;
+--error ER_UNKNOWN_TABLE
+handler t1_alias read next;
+
+# Test that temporary tables associated with handlers are properly dropped.
+
+create table t1 (a int);
+create temporary table t2 (a int, key(a));
+handler t1 open as a1;
+handler t2 open as a2;
+handler a2 read a first;
+drop table t1, t2;
+--error ER_UNKNOWN_TABLE
+handler a2 read a next;
+--error ER_UNKNOWN_TABLE
+handler a1 close;
+
+# Alter table drop handlers
+
+create table t1 (a int, key(a));
+create table t2 like t1;
+handler t1 open as a1;
+handler t2 open as a2;
+handler a1 read a first;
+handler a2 read a first;
+alter table t1 add b int;
+--error ER_UNKNOWN_TABLE
+handler a1 close;
+handler a2 close;
+drop table t1, t2;
+
+# Rename table drop handlers
+
+create table t1 (a int, key(a));
+handler t1 open as a1;
+handler a1 read a first;
+rename table t1 to t2;
+--error ER_UNKNOWN_TABLE
+handler a1 read a first;
+drop table t2;
+
+# Optimize table drop handlers
+
+create table t1 (a int, key(a));
+create table t2 like t1;
+handler t1 open as a1;
+handler t2 open as a2;
+handler a1 read a first;
+handler a2 read a first;
+optimize table t1;
+--error ER_UNKNOWN_TABLE
+handler a1 close;
+handler a2 close;
+drop table t1, t2;
+
+# Flush tables causes handlers reopen
+
+create table t1 (a int, b char(1), key a(a), key b(a,b));
+insert into t1 values (0,"a"),(1,"b"),(2,"c"),(3,"d"),(4,"e"),
+ (5,"f"),(6,"g"),(7,"h"),(8,"i"),(9,"j");
+handler t1 open;
+handler t1 read a first;
+handler t1 read a next;
+flush tables;
+handler t1 read a next;
+handler t1 read a next;
+flush tables with read lock;
+handler t1 read a next;
+unlock tables;
+drop table t1;
+--error ER_UNKNOWN_TABLE
+handler t1 read a next;
diff --git a/mysql-test/include/have_binlog_format_row_or_statement.inc b/mysql-test/include/have_binlog_format_row_or_statement.inc
new file mode 100644
index 00000000000..c89df82eb80
--- /dev/null
+++ b/mysql-test/include/have_binlog_format_row_or_statement.inc
@@ -0,0 +1,7 @@
+--source include/have_log_bin.inc
+
+-- require r/have_binlog_format_statement.require
+--disable_query_log
+--replace_result ROW STATEMENT
+show variables like "binlog_format";
+--enable_query_log
diff --git a/mysql-test/include/have_bug25714.inc b/mysql-test/include/have_bug25714.inc
index 0c995cd0d4c..0c09ae1a035 100644
--- a/mysql-test/include/have_bug25714.inc
+++ b/mysql-test/include/have_bug25714.inc
@@ -3,5 +3,5 @@
#
--require r/have_bug25714.require
disable_query_log;
-eval select LENGTH("MYSQL_BUG25714") > 0 as "have_bug25714_exe";
+eval select LENGTH("$MYSQL_BUG25714") > 0 as "have_bug25714_exe";
enable_query_log;
diff --git a/mysql-test/include/have_community_features.inc b/mysql-test/include/have_community_features.inc
new file mode 100644
index 00000000000..01ed6142500
--- /dev/null
+++ b/mysql-test/include/have_community_features.inc
@@ -0,0 +1,4 @@
+--require r/have_community_features.require
+--disable_query_log
+show variables like "have_community_features";
+--enable_query_log
diff --git a/mysql-test/include/have_innodb.inc b/mysql-test/include/have_innodb.inc
index cbffe6a2574..8944cc46f3e 100644
--- a/mysql-test/include/have_innodb.inc
+++ b/mysql-test/include/have_innodb.inc
@@ -1,4 +1,4 @@
disable_query_log;
--require r/true.require
-select (support = 'YES' or support = 'DEFAULT') as `TRUE` from information_schema.engines where engine = 'innodb';
+select (support = 'YES' or support = 'DEFAULT' or support = 'ENABLED') as `TRUE` from information_schema.engines where engine = 'innodb';
enable_query_log;
diff --git a/mysql-test/include/have_local_infile.inc b/mysql-test/include/have_local_infile.inc
new file mode 100644
index 00000000000..4a1362c6e30
--- /dev/null
+++ b/mysql-test/include/have_local_infile.inc
@@ -0,0 +1,4 @@
+--require r/have_local_infile.require
+disable_query_log;
+show variables like 'local_infile';
+enable_query_log;
diff --git a/mysql-test/include/have_multi_ndb.inc b/mysql-test/include/have_multi_ndb.inc
index deda22b64c0..8dbfa2aa034 100644
--- a/mysql-test/include/have_multi_ndb.inc
+++ b/mysql-test/include/have_multi_ndb.inc
@@ -4,27 +4,49 @@ connect (server2,127.0.0.1,root,,test,$MASTER_MYPORT1,);
# Check that server1 has NDB support
connection server1;
+let $engines_table= query_get_value(SHOW TABLES FROM information_schema LIKE 'ENGINES', Tables_in_information_schema (ENGINES), 1);
disable_query_log;
---disable_warnings
-drop table if exists t1, t2;
---enable_warnings
-flush tables;
+if (`SELECT 1 FROM dual WHERE '$engines_table' = 'engines'`)
+{
--require r/true.require
-select (support = 'YES' or support = 'DEFAULT') as `TRUE` from information_schema.engines where engine = 'ndbcluster';
+SELECT (support = 'YES' or support = 'DEFAULT' or support = 'ENABLED') as `TRUE` FROM information_schema.engines WHERE engine = 'ndbcluster';
--source include/ndb_not_readonly.inc
+}
enable_query_log;
# Check that server2 has NDB support
connection server2;
+let $engines_table= query_get_value(SHOW TABLES FROM information_schema LIKE 'ENGINES', Tables_in_information_schema (ENGINES), 1);
disable_query_log;
---disable_warnings
-drop table if exists t1, t2;
---enable_warnings
-flush tables;
+if (`SELECT 1 FROM dual WHERE '$engines_table' = 'engines'`)
+{
--require r/true.require
-select (support = 'YES' or support = 'DEFAULT') as `TRUE` from information_schema.engines where engine = 'ndbcluster';
+SELECT (support = 'YES' or support = 'DEFAULT' or support = 'ENABLED') as `TRUE` FROM information_schema.engines WHERE engine = 'ndbcluster';
--source include/ndb_not_readonly.inc
+}
+enable_query_log;
+
+# cleanup
+
+connection server1;
+disable_query_log;
+disable_warnings;
+--error 0,1051
+drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9,t10;
+flush tables;
+flush status;
+enable_warnings;
+enable_query_log;
+
+connection server2;
+disable_query_log;
+disable_warnings;
+--error 0,1051
+drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9,t10;
+flush tables;
+flush status;
+enable_warnings;
enable_query_log;
-# Set the default connection to 'server1'
+# Set the default connection
connection server1;
diff --git a/mysql-test/include/innodb_rollback_on_timeout.inc b/mysql-test/include/innodb_rollback_on_timeout.inc
index 73c7374c79e..6be47397e4b 100644
--- a/mysql-test/include/innodb_rollback_on_timeout.inc
+++ b/mysql-test/include/innodb_rollback_on_timeout.inc
@@ -2,6 +2,10 @@
# Bug #24200: Provide backwards compatibility mode for 4.x "rollback on
# transaction timeout"
#
+--disable_warnings
+drop table if exists t1;
+--enable_warnings
+
show variables like 'innodb_rollback_on_timeout';
create table t1 (a int unsigned not null primary key) engine = innodb;
insert into t1 values (1);
diff --git a/mysql-test/include/mix1.inc b/mysql-test/include/mix1.inc
index 32a3e6b3ebd..a4cd6019be8 100644
--- a/mysql-test/include/mix1.inc
+++ b/mysql-test/include/mix1.inc
@@ -29,6 +29,7 @@ eval SET SESSION STORAGE_ENGINE = $engine_type;
--disable_warnings
drop table if exists t1,t2,t3,t1m,t1i,t2m,t2i,t4;
+drop procedure if exists p1;
--enable_warnings
@@ -722,7 +723,6 @@ set @@sort_buffer_size=default;
DROP TABLE t1,t2;
-#
# Test of behaviour with CREATE ... SELECT
#
@@ -939,6 +939,170 @@ alter table t1 add index(a(1024));
show create table t1;
drop table t1;
+#
+# Bug #28570: handler::index_read() is called with different find_flag when
+# ORDER BY is used
+#
+
+CREATE TABLE t1 (
+ a INT,
+ b INT,
+ KEY (b)
+) ENGINE=InnoDB;
+
+INSERT INTO t1 VALUES (1,10), (2,10), (2,20), (3,30);
+
+START TRANSACTION;
+SELECT * FROM t1 WHERE b=20 FOR UPDATE;
+
+--connect (conn2, localhost, root,,test)
+
+# This statement gives a "failed: 1205: Lock wait timeout exceeded; try
+# restarting transaction" message when the bug is present.
+START TRANSACTION;
+SELECT * FROM t1 WHERE b=10 ORDER BY A FOR UPDATE;
+ROLLBACK;
+
+--disconnect conn2
+--connection default
+
+ROLLBACK;
+DROP TABLE t1;
+
+#
+# Bug#30596: GROUP BY optimization gives wrong result order
+#
+CREATE TABLE t1(
+ a INT,
+ b INT NOT NULL,
+ c INT NOT NULL,
+ d INT,
+ UNIQUE KEY (c,b)
+) engine=innodb;
+
+INSERT INTO t1 VALUES (1,1,1,50), (1,2,3,40), (2,1,3,4);
+
+EXPLAIN SELECT c,b,d FROM t1 GROUP BY c,b,d;
+SELECT c,b,d FROM t1 GROUP BY c,b,d;
+EXPLAIN SELECT c,b,d FROM t1 GROUP BY c,b,d ORDER BY NULL;
+SELECT c,b,d FROM t1 GROUP BY c,b,d ORDER BY NULL;
+EXPLAIN SELECT c,b,d FROM t1 ORDER BY c,b,d;
+SELECT c,b,d FROM t1 ORDER BY c,b,d;
+
+EXPLAIN SELECT c,b,d FROM t1 GROUP BY c,b;
+SELECT c,b,d FROM t1 GROUP BY c,b;
+EXPLAIN SELECT c,b FROM t1 GROUP BY c,b;
+SELECT c,b FROM t1 GROUP BY c,b;
+
+DROP TABLE t1;
+
+#
+# Bug #31001: ORDER BY DESC in InnoDB not working
+#
+CREATE TABLE t1 (a INT, b INT, PRIMARY KEY (a), INDEX b (b)) ENGINE=InnoDB;
+INSERT INTO t1(a,b) VALUES (1,1), (2,2), (3,2);
+
+#The two queries below should produce different results, but they don't.
+query_vertical EXPLAIN SELECT * FROM t1 WHERE b=2 ORDER BY a ASC;
+SELECT * FROM t1 WHERE b=2 ORDER BY a ASC;
+query_vertical EXPLAIN SELECT * FROM t1 WHERE b=2 ORDER BY a DESC;
+SELECT * FROM t1 WHERE b=2 ORDER BY a DESC;
+
+query_vertical EXPLAIN SELECT * FROM t1 ORDER BY b ASC, a ASC;
+SELECT * FROM t1 ORDER BY b ASC, a ASC;
+query_vertical EXPLAIN SELECT * FROM t1 ORDER BY b DESC, a DESC;
+SELECT * FROM t1 ORDER BY b DESC, a DESC;
+query_vertical EXPLAIN SELECT * FROM t1 ORDER BY b ASC, a DESC;
+SELECT * FROM t1 ORDER BY b ASC, a DESC;
+query_vertical EXPLAIN SELECT * FROM t1 ORDER BY b DESC, a ASC;
+SELECT * FROM t1 ORDER BY b DESC, a ASC;
+
+DROP TABLE t1;
+
+###########################################################################
+
+--echo
+--echo #
+--echo # Bug#27610: ALTER TABLE ROW_FORMAT=... does not rebuild the table.
+--echo #
+
+--echo
+--echo # - prepare;
+--echo
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+
+--echo
+
+CREATE TABLE t1(c INT)
+ ENGINE = InnoDB
+ ROW_FORMAT = COMPACT;
+
+--echo
+--echo # - initial check;
+--echo
+
+SELECT table_schema, table_name, row_format
+FROM INFORMATION_SCHEMA.TABLES
+WHERE table_schema = DATABASE() AND table_name = 't1';
+
+--echo
+--echo # - change ROW_FORMAT and check;
+--echo
+
+ALTER TABLE t1 ROW_FORMAT = REDUNDANT;
+
+--echo
+
+SELECT table_schema, table_name, row_format
+FROM INFORMATION_SCHEMA.TABLES
+WHERE table_schema = DATABASE() AND table_name = 't1';
+
+--echo
+--echo # - that's it, cleanup.
+--echo
+
+DROP TABLE t1;
+
+###########################################################################
+
+#
+# Bug #31137: Assertion failed: primary_key_no == -1 || primary_key_no == 0
+#
+create table t1(a char(10) not null, unique key aa(a(1)),
+ b char(4) not null, unique key bb(b(4))) engine=innodb;
+desc t1;
+show create table t1;
+drop table t1;
+
+#
+# Bug #32815: query with ORDER BY and a possible ref_or_null access
+#
+
+CREATE TABLE t1 (id int, type char(6), d int, INDEX idx(id,d)) ENGINE=InnoDB;
+INSERT INTO t1 VALUES
+ (191, 'member', 1), (NULL, 'member', 3), (NULL, 'member', 4), (201, 'member', 2);
+
+EXPLAIN SELECT * FROM t1 WHERE id=191 OR id IS NULL ORDER BY d;
+SELECT * FROM t1 WHERE id=191 OR id IS NULL ORDER BY d;
+
+DROP TABLE t1;
+
+#
+# Bug #34223: Assertion failed: (optp->var_type & 127) == 8,
+# file .\my_getopt.c, line 830
+#
+
+set @my_innodb_autoextend_increment=@@global.innodb_autoextend_increment;
+set global innodb_autoextend_increment=8;
+set global innodb_autoextend_increment=@my_innodb_autoextend_increment;
+
+set @my_innodb_commit_concurrency=@@global.innodb_commit_concurrency;
+set global innodb_commit_concurrency=0;
+set global innodb_commit_concurrency=@my_innodb_commit_concurrency;
+
--echo End of 5.0 tests
# Fix for BUG#19243 "wrong LAST_INSERT_ID() after ON DUPLICATE KEY
@@ -1066,4 +1230,226 @@ select @b:=f2 from t1;
select if(@a=@b,"ok","wrong");
drop table t1;
+#
+# Bug #31310: Locked rows silently skipped in read-committed isolation level.
+#
+
+connect (con1,localhost,root,,);
+connect (con2,localhost,root,,);
+SET SESSION AUTOCOMMIT = 0;
+SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
+--echo # Switch to connection con1
+connection con1;
+
+eval
+CREATE TABLE t1 (a INT PRIMARY KEY, b VARCHAR(256))
+ENGINE = $engine_type;
+INSERT INTO t1 VALUES (1,2);
+
+--echo # 1. test for locking:
+
+BEGIN;
+--enable_info
+UPDATE t1 SET b = 12 WHERE a = 1;
+--disable_info
+SELECT * FROM t1;
+
+--echo # Switch to connection con2
+connection con2;
+
+--enable_info
+--disable_abort_on_error
+--error ER_LOCK_WAIT_TIMEOUT
+UPDATE t1 SET b = 21 WHERE a = 1;
+--disable_info
+
+--echo # Switch to connection con1
+connection con1;
+SELECT * FROM t1;
+ROLLBACK;
+
+--echo # 2. test for serialized update:
+
+CREATE TABLE t2 (a INT);
+
+TRUNCATE t1;
+INSERT INTO t1 VALUES (1,'init');
+
+DELIMITER |;
+CREATE PROCEDURE p1()
+BEGIN
+ UPDATE t1 SET b = CONCAT(b, '+con2') WHERE a = 1;
+ INSERT INTO t2 VALUES ();
+END|
+DELIMITER ;|
+
+BEGIN;
+--enable_info
+UPDATE t1 SET b = CONCAT(b, '+con1') WHERE a = 1;
+--disable_info
+SELECT * FROM t1;
+
+--echo # Switch to connection con2
+connection con2;
+
+--send CALL p1;
+
+--echo # Switch to connection con1
+connection con1;
+SELECT * FROM t1;
+COMMIT;
+
+let $bug31310 = 1;
+while ($bug31310)
+{
+ let $bug31310= `SELECT 1 - COUNT(*) FROM t2`;
+}
+
+SELECT * FROM t1;
+
+--echo # Switch to connection con2
+connection con2;
+SELECT * FROM t1;
+
+--echo # Switch to connection con1
+connection con1;
+
+--echo # 3. test for updated key column:
+
+TRUNCATE t1;
+TRUNCATE t2;
+
+INSERT INTO t1 VALUES (1,'init');
+
+BEGIN;
+--enable_info
+UPDATE t1 SET a = 2, b = CONCAT(b, '+con1') WHERE a = 1;
+--disable_info
+SELECT * FROM t1;
+
+--echo # Switch to connection con2
+connection con2;
+
+--send CALL p1;
+
+--echo # Switch to connection con1
+connection con1;
+SELECT * FROM t1;
+COMMIT;
+
+let $bug31310 = 1;
+while ($bug31310)
+{
+ let $bug31310= `SELECT 1 - COUNT(*) FROM t2`;
+}
+
+SELECT * FROM t1;
+
+--echo # Switch to connection con2
+connection con2;
+SELECT * FROM t1;
+
+connection default;
+disconnect con1;
+disconnect con2;
+DROP PROCEDURE p1;
+DROP TABLE t1, t2;
+# Bug#30747 Create table with identical constraint names behaves incorrectly
+#
+
+if ($test_foreign_keys)
+{
+ CREATE TABLE t1 (a INT NOT NULL, b INT NOT NULL, PRIMARY KEY (a,b)) engine=innodb;
+ --error ER_WRONG_FK_DEF
+ CREATE TABLE t2 (c INT NOT NULL, d INT NOT NULL, PRIMARY KEY (c,d),
+ CONSTRAINT c2 FOREIGN KEY f2 (c) REFERENCES t1 (a,b) ON UPDATE NO ACTION) engine=innodb;
+ --error ER_WRONG_FK_DEF
+ CREATE TABLE t2 (c INT NOT NULL, d INT NOT NULL, PRIMARY KEY (c,d),
+ CONSTRAINT c2 FOREIGN KEY (c) REFERENCES t1 (a,b) ON UPDATE NO ACTION) engine=innodb;
+ CREATE TABLE t2 (c INT NOT NULL, d INT NOT NULL, PRIMARY KEY (c,d),
+ CONSTRAINT c1 FOREIGN KEY c2 (c) REFERENCES t1 (a) ON DELETE NO ACTION,
+ CONSTRAINT c2 FOREIGN KEY (c) REFERENCES t1 (a) ON UPDATE NO ACTION) engine=innodb;
+ ALTER TABLE t2 DROP FOREIGN KEY c2;
+ DROP TABLE t2;
+ --error ER_WRONG_FK_DEF
+ CREATE TABLE t2 (c INT NOT NULL, d INT NOT NULL, PRIMARY KEY (c,d),
+ FOREIGN KEY (c) REFERENCES t1 (a,k) ON UPDATE NO ACTION) engine=innodb;
+ --error ER_WRONG_FK_DEF
+ CREATE TABLE t2 (c INT NOT NULL, d INT NOT NULL, PRIMARY KEY (c,d),
+ FOREIGN KEY f1 (c) REFERENCES t1 (a,k) ON UPDATE NO ACTION) engine=innodb;
+ CREATE TABLE t2 (c INT NOT NULL, d INT NOT NULL, PRIMARY KEY (c,d),
+ CONSTRAINT c1 FOREIGN KEY f1 (c) REFERENCES t1 (a) ON DELETE NO ACTION,
+ CONSTRAINT c2 FOREIGN KEY (c) REFERENCES t1 (a) ON UPDATE NO ACTION,
+ FOREIGN KEY f3 (c) REFERENCES t1 (a) ON UPDATE NO ACTION,
+ FOREIGN KEY (c) REFERENCES t1 (a) ON UPDATE NO ACTION) engine=innodb;
+ SHOW CREATE TABLE t2;
+ DROP TABLE t2;
+ DROP TABLE t1;
+}
+
+#
+# Bug #26447: "ALTER TABLE .. ORDER" does not work with InnoDB and
+# auto_increment keys
+#
+create table t1 (a int auto_increment primary key) engine=innodb;
+alter table t1 order by a;
+drop table t1;
+
+#
+# Bug #33697: ORDER BY primary key DESC vs. ref access + filesort
+# (reproduced only with InnoDB tables)
+#
+
+CREATE TABLE t1
+ (vid integer NOT NULL,
+ tid integer NOT NULL,
+ idx integer NOT NULL,
+ name varchar(128) NOT NULL,
+ type varchar(128) NULL,
+ PRIMARY KEY(idx, vid, tid),
+ UNIQUE(vid, tid, name)
+) ENGINE=InnoDB;
+
+INSERT INTO t1 VALUES
+ (1,1,1,'pk',NULL),(2,1,1,'pk',NULL),(3,1,1,'pk',NULL),(4,1,1,'c1',NULL),
+ (5,1,1,'pk',NULL),(1,1,2,'c1',NULL),(2,1,2,'c1',NULL),(3,1,2,'c1',NULL),
+ (4,1,2,'c2',NULL),(5,1,2,'c1',NULL),(2,1,3,'c2',NULL),(3,1,3,'c2',NULL),
+ (4,1,3,'pk',NULL),(5,1,3,'c2',NULL),
+ (2,1,4,'c_extra',NULL),(3,1,4,'c_extra',NULL);
+
+EXPLAIN SELECT * FROM t1 WHERE tid = 1 AND vid = 3 ORDER BY idx DESC;
+
+SELECT * FROM t1 WHERE tid = 1 AND vid = 3 ORDER BY idx DESC;
+
+DROP TABLE t1;
+
+#
+# Bug#21704: Renaming column does not update FK definition.
+#
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+DROP TABLE IF EXISTS t2;
+--enable_warnings
+
+CREATE TABLE t1(id INT PRIMARY KEY)
+ ENGINE=innodb;
+
+CREATE TABLE t2(
+ t1_id INT PRIMARY KEY,
+ CONSTRAINT fk1 FOREIGN KEY (t1_id) REFERENCES t1(id))
+ ENGINE=innodb;
+
+--echo
+
+--disable_result_log
+--error ER_ERROR_ON_RENAME
+ALTER TABLE t1 CHANGE id id2 INT;
+--enable_result_log
+
+--echo
+
+DROP TABLE t2;
+DROP TABLE t1;
+
--echo End of 5.1 tests
diff --git a/mysql-test/include/ndb_master-slave.inc b/mysql-test/include/ndb_master-slave.inc
index 1568072202b..0bf4b701f0c 100644
--- a/mysql-test/include/ndb_master-slave.inc
+++ b/mysql-test/include/ndb_master-slave.inc
@@ -1,3 +1,6 @@
+# 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,);
diff --git a/mysql-test/include/ndb_wait_connected.inc b/mysql-test/include/ndb_wait_connected.inc
new file mode 100644
index 00000000000..cfea94db1f1
--- /dev/null
+++ b/mysql-test/include/ndb_wait_connected.inc
@@ -0,0 +1,26 @@
+# Check that mysqld has reconnected to ndbd after
+# restart of ndbd
+#
+--disable_query_log
+--disable_result_log
+let $mysql_errno= 1;
+let $counter= 600;
+while ($mysql_errno)
+{
+ --error 0,157
+ CREATE TABLE ndb_wait_connected (a int primary key);
+ if ($mysql_errno)
+ {
+ if (!$counter)
+ {
+ die Failed waiting for mysqld to reconnect to ndbd;
+ }
+ dec $counter;
+ --sleep 0.1
+ }
+}
+DROP TABLE ndb_wait_connected;
+--enable_query_log
+--enable_result_log
+
+
diff --git a/mysql-test/include/partition_1.inc b/mysql-test/include/partition_1.inc
deleted file mode 100644
index b0094db2efe..00000000000
--- a/mysql-test/include/partition_1.inc
+++ /dev/null
@@ -1,750 +0,0 @@
--- source include/have_partition.inc
-
-# include/partition_1.inc
-#
-# Partitionong tests
-#
-# Attention: The variable
-# $engine -- Storage engine to be tested.
-# must be set within the script sourcing this file.
-#
---disable_abort_on_error
-SET AUTOCOMMIT= 1;
-
-##### Disabled testcases, because of open bugs #####
---echo
---echo #------------------------------------------------------------------------
---echo # There are several testcases disabled because ouf the open bugs
---echo # #15407 , #15408 , #15890 , #15961 , #13447 , #15966 , #15968, #16370
---echo #------------------------------------------------------------------------
-# Bug#15407 Partitions: crash if subpartition
-let $fixed_bug15407= 0;
-# Bug#15408 Partitions: subpartition names are not unique
-let $fixed_bug15408= 0;
-# Bug#15890 Partitions: Strange interpretation of partition number
-let $fixed_bug15890= 0;
-# Bug#15961 Partitions: Creation of subpart. table without subpart. rule not rejected
-let $fixed_bug15961= 0;
-# Bug#13447 Partitions: crash with alter table
-let $fixed_bug13447= 0;
-# Bug#15966 Partitions: crash if session default engine <> engine used in create table
-let $fixed_bug15966= 0;
-# Bug#15968 Partitions: crash when INSERT with f1 = -1 into PARTITION BY HASH(f1)
-let $fixed_bug15968= 0;
-# Bug #16370 Partitions: subpartitions names not mentioned in SHOW CREATE TABLE output
-let $fixed_bug16370= 0;
-
-##### Option, for displaying files #####
-#
-# Attention: Displaying the directory content via "ls $MYSQLTEST_VARDIR/master-data/test/t*"
-# is probably not portable.
-# let $ls= 0; disables the execution of "ls ....."
-let $ls= 0;
-
-################################################################################
-# Partitioning syntax
-#
-# CREATE TABLE .... (column-list ..)
-# PARTITION BY
-# KEY '(' ( column-list ) ')'
-# | RANGE '(' ( expr ) ')'
-# | LIST '(' ( expr ) ')'
-# | HASH '(' ( expr ) ')'
-# [PARTITIONS num ]
-# [SUBPARTITION BY
-# KEY '(' ( column-list ) ')'
-# | HASH '(' ( expr ) ')'
-# [SUBPARTITIONS num ]
-# ]
-# [ '('
-# ( PARTITION logical-name
-# [ VALUES LESS THAN '(' ( expr | MAX_VALUE ) ')' ]
-# [ VALUES IN '(' (expr)+ ')' ]
-# [ TABLESPACE tablespace-name ]
-# [ [ STORAGE ] ENGINE [ '=' ] storage-engine-name ]
-# [ NODEGROUP nodegroup-id ]
-# [ '('
-# ( SUBPARTITION logical-name
-# [ TABLESPACE tablespace-name ]
-# [ STORAGE ENGINE = storage-engine-name ]
-# [ NODEGROUP nodegroup-id ]
-# )+
-# ')'
-# )+
-# ')'
-# ]
-################################################################################
-
---echo
---echo #------------------------------------------------------------------------
---echo # 0. Setting of auxiliary variables + Creation of an auxiliary table
---echo # needed in all testcases
---echo #------------------------------------------------------------------------
-let $max_row= `SELECT @max_row`;
-let $max_row_div2= `SELECT @max_row DIV 2`;
-let $max_row_div3= `SELECT @max_row DIV 3`;
-let $max_row_div4= `SELECT @max_row DIV 4`;
-let $max_int_4= 2147483647;
---disable_warnings
-DROP TABLE IF EXISTS t0_template;
---enable_warnings
-CREATE TABLE t0_template ( f1 INTEGER, f2 char(20), PRIMARY KEY(f1))
-ENGINE = MEMORY;
---echo # Logging of <max_row> INSERTs into t0_template suppressed
---disable_query_log
-let $num= $max_row;
-while ($num)
-{
- eval INSERT INTO t0_template SET f1 = $num, f2 = '---$num---';
-
- dec $num;
-}
---enable_query_log
-
---echo
---echo #------------------------------------------------------------------------
---echo # 1. Some syntax checks
---echo #------------------------------------------------------------------------
---echo # 1.1 Subpartioned table without subpartitioning rule must be rejected
---disable_warnings
-DROP TABLE IF EXISTS t1;
---enable_warnings
-if ($fixed_bug15961)
-{
-# Bug#15961 Partitions: Creation of subpart. table without subpart. rule not rejected
---error 9999
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1)
-( PARTITION part1 VALUES LESS THAN (1000) (SUBPARTITION subpart11));
-}
---echo # FIXME Implement testcases, where it is checked that all create and
---echo # alter table statements
---echo # - with missing mandatory parameters are rejected
---echo # - with optional parameters are accepted
---echo # - with wrong combinations of optional parameters are rejected
---echo # - ............
-
---echo
---echo #------------------------------------------------------------------------
---echo # 2. Checks where the engine is assigned on all supported (CREATE TABLE
---echo # statement) positions + basic operations on the tables
---echo # Storage engine mixups are currently (2005-12-23) not supported
---echo #------------------------------------------------------------------------
---disable_warnings
-DROP TABLE IF EXISTS t1;
---enable_warnings
-
---echo # 2.1 non partitioned table (for comparison)
-eval CREATE TABLE t1 ( f1 INTEGER, f2 char(20)) ENGINE = $engine;
-# MLML Full size (as check of check routine)
---source include/partition_10.inc
-DROP TABLE t1;
-#
---echo # 2.2 Assignment of storage engine just after column list only
-eval CREATE TABLE t1 ( f1 INTEGER, f2 char(20)) ENGINE = $engine
- PARTITION BY HASH(f1) PARTITIONS 2;
---source include/partition_10.inc
-DROP TABLE t1;
-#
---echo # 2.3 Assignment of storage engine just after partition or subpartition
---echo # name only
-eval CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
- PARTITION BY HASH(f1)
- ( PARTITION part1 STORAGE ENGINE = $engine,
- PARTITION part2 STORAGE ENGINE = $engine
- );
---source include/partition_10.inc
-DROP TABLE t1;
-eval CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
- PARTITION BY RANGE(f1)
- SUBPARTITION BY HASH(f1)
- ( PARTITION part1 VALUES LESS THAN ($max_row_div2)
- (SUBPARTITION subpart11 STORAGE ENGINE = $engine,
- SUBPARTITION subpart12 STORAGE ENGINE = $engine),
- PARTITION part2 VALUES LESS THAN ($max_int_4)
- (SUBPARTITION subpart21 STORAGE ENGINE = $engine,
- SUBPARTITION subpart22 STORAGE ENGINE = $engine)
- );
---source include/partition_10.inc
-DROP TABLE t1;
-#
---echo # 2.4 Some but not all named partitions or subpartitions get a storage
---echo # engine assigned
-eval CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
- PARTITION BY HASH(f1)
- ( PARTITION part1 STORAGE ENGINE = $engine,
- PARTITION part2
- );
---source include/partition_10.inc
-DROP TABLE t1;
-eval CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
- PARTITION BY HASH(f1)
- ( PARTITION part1 ,
- PARTITION part2 STORAGE ENGINE = $engine
- );
---source include/partition_10.inc
-DROP TABLE t1;
-eval CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
- PARTITION BY RANGE(f1)
- SUBPARTITION BY HASH(f1)
- ( PARTITION part1 VALUES LESS THAN ($max_row_div2)
- (SUBPARTITION subpart11,
- SUBPARTITION subpart12 STORAGE ENGINE = $engine),
- PARTITION part2 VALUES LESS THAN ($max_int_4)
- (SUBPARTITION subpart21 STORAGE ENGINE = $engine,
- SUBPARTITION subpart22 STORAGE ENGINE = $engine)
- );
---source include/partition_10.inc
-DROP TABLE t1;
-eval CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
- PARTITION BY RANGE(f1)
- SUBPARTITION BY HASH(f1)
- ( PARTITION part1 VALUES LESS THAN ($max_row_div2)
- (SUBPARTITION subpart11 STORAGE ENGINE = $engine,
- SUBPARTITION subpart12 STORAGE ENGINE = $engine),
- PARTITION part2 VALUES LESS THAN ($max_int_4)
- (SUBPARTITION subpart21,
- SUBPARTITION subpart22 )
- );
---source include/partition_10.inc
-DROP TABLE t1;
-#
---echo # 2.5 Storage engine assignment after partition name + after name of
---echo # subpartitions belonging to another partition
-eval CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
- PARTITION BY RANGE(f1)
- SUBPARTITION BY HASH(f1)
- ( PARTITION part1 VALUES LESS THAN ($max_row_div2) ENGINE = $engine
- (SUBPARTITION subpart11,
- SUBPARTITION subpart12),
- PARTITION part2 VALUES LESS THAN ($max_int_4)
- (SUBPARTITION subpart21 STORAGE ENGINE = $engine,
- SUBPARTITION subpart22 STORAGE ENGINE = $engine)
- );
---source include/partition_10.inc
-DROP TABLE t1;
-eval CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
- PARTITION BY RANGE(f1)
- SUBPARTITION BY HASH(f1)
- ( PARTITION part1 VALUES LESS THAN ($max_row_div2)
- (SUBPARTITION subpart11 STORAGE ENGINE = $engine,
- SUBPARTITION subpart12 STORAGE ENGINE = $engine),
- PARTITION part2 VALUES LESS THAN ($max_int_4) ENGINE = $engine
- (SUBPARTITION subpart21,
- SUBPARTITION subpart22)
- );
---source include/partition_10.inc
-DROP TABLE t1;
-#
---echo # 2.6 Precedence of storage engine assignments
---echo # 2.6.1 Storage engine assignment after column list + after partition
---echo # or subpartition name
-eval CREATE TABLE t1 ( f1 INTEGER, f2 char(20)) ENGINE = $engine
- PARTITION BY HASH(f1)
- ( PARTITION part1 STORAGE ENGINE = $engine,
- PARTITION part2 STORAGE ENGINE = $engine
- );
---source include/partition_10.inc
-DROP TABLE t1;
-eval CREATE TABLE t1 ( f1 INTEGER, f2 char(20)) ENGINE = $engine
- PARTITION BY RANGE(f1)
- SUBPARTITION BY HASH(f1)
- ( PARTITION part1 VALUES LESS THAN ($max_row_div2)
- (SUBPARTITION subpart11 STORAGE ENGINE = $engine,
- SUBPARTITION subpart12 STORAGE ENGINE = $engine),
- PARTITION part2 VALUES LESS THAN ($max_int_4)
- (SUBPARTITION subpart21 STORAGE ENGINE = $engine,
- SUBPARTITION subpart22 STORAGE ENGINE = $engine)
- );
---source include/partition_10.inc
-DROP TABLE t1;
---echo # 2.6.2 Storage engine assignment after partition name + after
---echo # subpartition name
-# in partition part + in sub partition part
-eval CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
- PARTITION BY RANGE(f1)
- SUBPARTITION BY HASH(f1)
- ( PARTITION part1 VALUES LESS THAN ($max_row_div2) STORAGE ENGINE = $engine
- (SUBPARTITION subpart11 STORAGE ENGINE = $engine,
- SUBPARTITION subpart12 STORAGE ENGINE = $engine),
- PARTITION part2 VALUES LESS THAN ($max_int_4)
- (SUBPARTITION subpart21 STORAGE ENGINE = $engine,
- SUBPARTITION subpart22 STORAGE ENGINE = $engine)
- );
---source include/partition_10.inc
-DROP TABLE t1;
-
---echo # 2.7 Session default engine differs from engine used within create table
-eval SET SESSION storage_engine=$engine_other;
-if ($fixed_bug15966)
-{
-# Bug#15966 Partitions: crash if session default engine <> engine used in create table
-eval CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) ( PARTITION part1 ENGINE = $engine);
---source include/partition_10.inc
-DROP TABLE t1;
-# Bug#15966 Partitions: crash if session default engine <> engine used in create table
-eval CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
- PARTITION BY RANGE(f1)
- SUBPARTITION BY HASH(f1)
- ( PARTITION part1 VALUES LESS THAN (1000)
- (SUBPARTITION subpart11 STORAGE ENGINE = $engine,
- SUBPARTITION subpart12 STORAGE ENGINE = $engine));
---source include/partition_10.inc
-DROP TABLE t1;
-}
-eval SET SESSION storage_engine=$engine;
-
-
---echo
---echo #------------------------------------------------------------------------
---echo # 3. Check assigning the number of partitions and subpartitions
---echo # with and without named partitions/subpartitions
---echo #------------------------------------------------------------------------
---disable_warnings
-DROP TABLE IF EXISTS t1;
---enable_warnings
---echo # 3.1 (positive) without partition/subpartition number assignment
---echo # 3.1.1 no partition number, no named partitions
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1);
---source include/partition_10.inc
-DROP TABLE t1;
---echo # 3.1.2 no partition number, named partitions
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) (PARTITION part1, PARTITION part2);
---source include/partition_10.inc
-DROP TABLE t1;
-# Attention: Several combinations are impossible
-# If subpartitioning exists
-# - partitioning algorithm must be RANGE or LIST
-# This implies the assignment of named partitions.
-# - subpartitioning algorithm must be HASH or KEY
---echo # 3.1.3 variations on no partition/subpartition number, named partitions,
---echo # different subpartitions are/are not named
-#
-# Partition name -- "properties"
-# part1 -- first/non last
-# part2 -- non first/non last
-# part3 -- non first/ last
-#
-# Testpattern:
-# named subpartitions in
-# Partition part1 part2 part3
-# N N N
-# N N Y
-# N Y N
-# N Y Y
-# Y N N
-# Y N Y
-# Y Y N
-# Y Y Y
---disable_query_log
-let $part0= CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1) SUBPARTITION BY HASH(f1);
-#
-eval SET @aux = '(PARTITION part1 VALUES LESS THAN ($max_row_div2),';
-let $part1_N= `SELECT @AUX`;
-eval SET @aux = '(PARTITION part1 VALUES LESS THAN ($max_row_div2)
-(SUBPARTITION subpart11 , SUBPARTITION subpart12 ),';
-let $part1_Y= `SELECT @AUX`;
-#
-eval SET @aux = 'PARTITION part2 VALUES LESS THAN ($max_row),';
-let $part2_N= `SELECT @AUX`;
-eval SET @aux = 'PARTITION part2 VALUES LESS THAN ($max_row)
-(SUBPARTITION subpart21 , SUBPARTITION subpart22 ),';
-let $part2_Y= `SELECT @AUX`;
-#
-eval SET @aux = 'PARTITION part3 VALUES LESS THAN ($max_int_4))';
-let $part3_N= `SELECT @AUX`;
-eval SET @aux = 'PARTITION part3 VALUES LESS THAN ($max_int_4)
-(SUBPARTITION subpart31 , SUBPARTITION subpart32 ))';
-let $part3_Y= `SELECT @AUX`;
---enable_query_log
-
-eval $part0 $part1_N $part2_N $part3_N ;
-DROP TABLE t1;
-# Bug#15407 Partitions: crash if subpartition
-if ($fixed_bug15407)
-{
-eval $part0 $part1_N $part2_N $part3_Y ;
---source include/partition_10.inc
-DROP TABLE t1;
-eval $part0 $part1_N $part2_Y $part3_N ;
---source include/partition_10.inc
-DROP TABLE t1;
-eval $part0 $part1_N $part2_Y $part3_Y ;
---source include/partition_10.inc
-DROP TABLE t1;
-eval $part0 $part1_Y $part2_N $part3_N ;
---source include/partition_10.inc
-DROP TABLE t1;
-eval $part0 $part1_Y $part2_N $part3_Y ;
---source include/partition_10.inc
-DROP TABLE t1;
-eval $part0 $part1_Y $part2_Y $part3_N ;
---source include/partition_10.inc
-DROP TABLE t1;
-}
-eval $part0 $part1_Y $part2_Y $part3_Y ;
---source include/partition_10.inc
-DROP TABLE t1;
-
---echo # 3.2 partition/subpartition numbers good and bad values and notations
---disable_warnings
-DROP TABLE IF EXISTS t1;
---enable_warnings
---echo # 3.2.1 partition/subpartition numbers INTEGER notation
-# ML: "positive/negative" is my private judgement. It need no to correspond
-# with the server response.
-# (positive) number = 2
-let $part_number= 2;
---source include/partition_11.inc
-# (positive) special case number = 1
-let $part_number= 1;
---source include/partition_11.inc
-# (negative) 0 is non sense
-let $part_number= 0;
---source include/partition_11.inc
-# (negative) -1 is non sense
-let $part_number= -1;
---source include/partition_11.inc
-# (negative) 1000000 is too huge
-let $part_number= 1000000;
---source include/partition_11.inc
-
-if ($fixed_bug15890)
-{
---echo # 3.2.2 partition/subpartition numbers DECIMAL notation
-# (positive) number = 2.0
-let $part_number= 2.0;
---source include/partition_11.inc
-# (negative) -2.0 is non sense
-let $part_number= -2.0;
---source include/partition_11.inc
-# (negative) case number = 0.0 is non sense
-let $part_number= 0.0;
---source include/partition_11.inc
-# Bug#15890 Partitions: Strange interpretation of partition number
-# (negative) number = 1.5 is non sense
-let $part_number= 1.5;
---source include/partition_11.inc
-# (negative) number is too huge
-let $part_number= 999999999999999999999999999999.999999999999999999999999999999;
---source include/partition_11.inc
-# (negative) number is nearly zero
-let $part_number= 0.000000000000000000000000000001;
---source include/partition_11.inc
-
---echo # 3.2.3 partition/subpartition numbers FLOAT notation
-##### FLOAT notation
-# (positive) number = 2.0E+0
-let $part_number= 2.0E+0;
---source include/partition_11.inc
-# Bug#15890 Partitions: Strange interpretation of partition number
-# (positive) number = 0.2E+1
-let $part_number= 0.2E+1;
---source include/partition_11.inc
-# (negative) -2.0E+0 is non sense
-let $part_number= -2.0E+0;
---source include/partition_11.inc
-# (negative) 0.15E+1 is non sense
-let $part_number= 0.15E+1;
---source include/partition_11.inc
-# (negative) 0.0E+300 is zero
-let $part_number= 0.0E+300;
---source include/partition_11.inc
-# Bug#15890 Partitions: Strange interpretation of partition number
-# (negative) 1E+300 is too huge
-let $part_number= 1E+300;
---source include/partition_11.inc
-# (negative) 1E-300 is nearly zero
-let $part_number= 1E-300;
---source include/partition_11.inc
-}
-
---echo # 3.2.4 partition/subpartition numbers STRING notation
-##### STRING notation
-# (negative?) case number = '2'
-let $part_number= '2';
---source include/partition_11.inc
-# (negative?) case number = '2.0'
-let $part_number= '2.0';
---source include/partition_11.inc
-# (negative?) case number = '0.2E+1'
-let $part_number= '0.2E+1';
---source include/partition_11.inc
-# (negative) Strings starts with digit, but 'A' follows
-let $part_number= '2A';
---source include/partition_11.inc
-# (negative) Strings starts with 'A', but digit follows
-let $part_number= 'A2';
---source include/partition_11.inc
-# (negative) empty string
-let $part_number= '';
---source include/partition_11.inc
-# (negative) string without any digits
-let $part_number= 'GARBAGE';
---source include/partition_11.inc
-
---echo # 3.2.5 partition/subpartition numbers other notations
-# (negative) Strings starts with digit, but 'A' follows
-let $part_number= 2A;
---source include/partition_11.inc
-# (negative) Strings starts with 'A', but digit follows
-let $part_number= A2;
---source include/partition_11.inc
-# (negative) string without any digits
-let $part_number= GARBAGE;
---source include/partition_11.inc
-
-# (negative?) double quotes
-let $part_number= "2";
---source include/partition_11.inc
-# (negative) Strings starts with digit, but 'A' follows
-let $part_number= "2A";
---source include/partition_11.inc
-# (negative) Strings starts with 'A', but digit follows
-let $part_number= "A2";
---source include/partition_11.inc
-# (negative) string without any digits
-let $part_number= "GARBAGE";
---source include/partition_11.inc
-
---echo # 3.3 Mixups of assigned partition/subpartition numbers and names
---echo # 3.3.1 (positive) number of partition/subpartition
---echo # = number of named partition/subpartition
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) PARTITIONS 2 ( PARTITION part1, PARTITION part2 ) ;
-SHOW CREATE TABLE t1;
-DROP TABLE t1;
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1) PARTITIONS 2
-SUBPARTITION BY HASH(f1) SUBPARTITIONS 2
-( PARTITION part1 VALUES LESS THAN (1000)
- (SUBPARTITION subpart11, SUBPARTITION subpart12),
- PARTITION part2 VALUES LESS THAN (2147483647)
- (SUBPARTITION subpart21, SUBPARTITION subpart22)
-);
---source include/partition_layout.inc
-DROP TABLE t1;
---echo # 3.3.2 (positive) number of partition/subpartition ,
---echo # 0 (= no) named partition/subpartition
---echo # already checked above
---echo # 3.3.3 (negative) number of partitions/subpartitions
---echo # > number of named partitions/subpartitions
---error 1064
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) PARTITIONS 2 ( PARTITION part1 ) ;
-# Wrong number of named subpartitions in first partition
---error 1064
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1)
-SUBPARTITION BY HASH(f1) SUBPARTITIONS 2
-( PARTITION part1 VALUES LESS THAN (1000)
- (SUBPARTITION subpart11 ),
- PARTITION part2 VALUES LESS THAN (2147483647)
- (SUBPARTITION subpart21, SUBPARTITION subpart22)
-);
-# Wrong number of named subpartitions in non first/non last partition
---error 1064
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1)
-SUBPARTITION BY HASH(f1) 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 (2147483647)
- (SUBPARTITION subpart31, SUBPARTITION subpart32)
-);
-# Wrong number of named subpartitions in last partition
---error 1064
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1) PARTITIONS 2
-SUBPARTITION BY HASH(f1) SUBPARTITIONS 2
-( PARTITION part1 VALUES LESS THAN (1000)
- (SUBPARTITION subpart11, SUBPARTITION subpart12),
- PARTITION part2 VALUES LESS THAN (2147483647)
- (SUBPARTITION subpart21 )
-);
---echo # 3.3.4 (negative) number of partitions < number of named partitions
---error 1064
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) PARTITIONS 1 ( PARTITION part1, PARTITION part2 ) ;
-# Wrong number of named subpartitions in first partition
---error 1064
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1)
-SUBPARTITION BY HASH(f1) SUBPARTITIONS 1
-( PARTITION part1 VALUES LESS THAN (1000)
- (SUBPARTITION subpart11, SUBPARTITION subpart12),
- PARTITION part2 VALUES LESS THAN (2147483647)
- (SUBPARTITION subpart21, SUBPARTITION subpart22)
-);
-# Wrong number of named subpartitions in non first/non last partition
---error 1064
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1)
-SUBPARTITION BY HASH(f1) 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 (2147483647)
- (SUBPARTITION subpart31, SUBPARTITION subpart32)
-);
-# Wrong number of named subpartitions in last partition
---error 1064
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1)
-SUBPARTITION BY HASH(f1) SUBPARTITIONS 1
-( PARTITION part1 VALUES LESS THAN (1000)
- (SUBPARTITION subpart11, SUBPARTITION subpart12),
- PARTITION part2 VALUES LESS THAN (2147483647)
- (SUBPARTITION subpart21, SUBPARTITION subpart22)
-);
-
-
---echo
---echo #------------------------------------------------------------------------
---echo # 4. Checks of logical partition/subpartition name
---echo # file name clashes during CREATE TABLE
---echo #------------------------------------------------------------------------
---disable_warnings
-DROP TABLE IF EXISTS t1;
---enable_warnings
-
---echo # 4.1 (negative) A partition name used more than once
---error ER_SAME_NAME_PARTITION
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) (PARTITION part1, PARTITION part1);
-#
-if ($fixed_bug15408)
-{
-# Bug#15408 Partitions: subpartition names are not unique
---error ER_SAME_NAME_PARTITION
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1)
-SUBPARTITION BY HASH(f1)
-( PARTITION part1 VALUES LESS THAN (1000)
- (SUBPARTITION subpart11, SUBPARTITION subpart11)
-);
-}
---echo # FIXME Implement testcases with filename problems
---echo # existing file of other table --- partition/subpartition file name
---echo # partition/subpartition file name --- file of the same table
-
---echo
---echo #------------------------------------------------------------------------
---echo # 5. Alter table experiments
---echo #------------------------------------------------------------------------
---disable_warnings
-DROP TABLE IF EXISTS t1;
---enable_warnings
---echo # 5.1 alter table add partition
---echo # 5.1.1 (negative) add partition to non partitioned table
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20));
---source include/partition_layout.inc
-# MyISAM gets ER_PARTITION_MGMT_ON_NONPARTITIONED and NDB 1005
-# The error code of NDB differs, because all NDB tables are partitioned even
-# if the CREATE TABLE does not contain a partitioning clause.
---error ER_PARTITION_MGMT_ON_NONPARTITIONED,1005
-ALTER TABLE t1 ADD PARTITION (PARTITION part1);
---source include/partition_layout.inc
-DROP TABLE t1;
-
---echo # 5.1.2 Add one partition to a table with one partition
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1);
---source include/partition_layout.inc
-eval INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 1 AND $max_row_div2 - 1;
---disable_query_log
-eval SELECT $engine = 'NDB' INTO @aux;
-let $my_exit= `SELECT @aux`;
-if ($my_exit)
-{
- exit;
-}
---enable_query_log
-ALTER TABLE t1 ADD PARTITION (PARTITION part1);
---source include/partition_12.inc
-DROP TABLE t1;
-
---echo # 5.1.3 Several times add one partition to a table with some partitions
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) (PARTITION part1, PARTITION part3);
---source include/partition_layout.inc
-eval INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 1 AND $max_row_div2 - 1;
-# Partition name before first existing partition name
-ALTER TABLE t1 ADD PARTITION (PARTITION part0);
---source include/partition_12.inc
-DELETE FROM t1;
-eval INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 1 AND $max_row_div2 - 1;
-# Partition name between existing partition names
-ALTER TABLE t1 ADD PARTITION (PARTITION part2);
---source include/partition_12.inc
-DELETE FROM t1;
-eval INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 1 AND $max_row_div2 - 1;
-if ($fixed_bug13447)
-{
-# Partition name after all existing partition names
-# Bug#13447 Partitions: crash with alter table
-ALTER TABLE t1 ADD PARTITION (PARTITION part4);
-}
---source include/partition_12.inc
-DROP TABLE t1;
-
---echo # 5.1.4 Add several partitions to a table with some partitions
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) (PARTITION part1, PARTITION part3);
---source include/partition_layout.inc
-eval INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 1 AND $max_row_div2 - 1;
-if ($fixed_bug13447)
-{
-# Bug#13447 Partitions: crash with alter table
-ALTER TABLE t1 ADD PARTITION (PARTITION part0, PARTITION part2, PARTITION part4);
-}
---source include/partition_12.inc
-DROP TABLE t1;
-
---echo # 5.1.5 (negative) Add partitions to a table with some partitions
---echo # clash on new and already existing partition names
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) (PARTITION part1, PARTITION part2, PARTITION part3);
-# Clash on first/non last partition name
---error ER_SAME_NAME_PARTITION
-ALTER TABLE t1 ADD PARTITION (PARTITION part1);
-# Clash on non first/non last partition name
---error ER_SAME_NAME_PARTITION
-ALTER TABLE t1 ADD PARTITION (PARTITION part2);
-# Clash on non first/last partition name
---error ER_SAME_NAME_PARTITION
-ALTER TABLE t1 ADD PARTITION (PARTITION part3);
-# Clash on all partition names
---error ER_SAME_NAME_PARTITION
-ALTER TABLE t1 ADD PARTITION (PARTITION part1, PARTITION part2, PARTITION part3);
-DROP TABLE t1;
-
-# FIXME Is there any way to add a subpartition to an already existing partition
-
---echo # 5.2 alter table add subpartition
---echo # 5.2.1 Add one subpartition to a table with subpartitioning rule and
---echo # no explicit defined subpartitions
-eval CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1)
-SUBPARTITION BY HASH(f1)
-(PARTITION part1 VALUES LESS THAN ($max_row_div2));
-if ($fixed_bug16370)
-{
---source include/partition_layout.inc
-}
-eval INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 1 AND $max_row_div2 - 1;
-eval ALTER TABLE t1 ADD PARTITION (PARTITION part2 VALUES LESS THAN ($max_int_4)
- (SUBPARTITION subpart21));
-if ($fixed_bug16370)
-{
---source include/partition_12.inc
-}
-DROP TABLE t1;
-DROP TABLE if exists t0_template;
diff --git a/mysql-test/include/ps_modify.inc b/mysql-test/include/ps_modify.inc
index f66f888261d..4cde18b97d1 100644
--- a/mysql-test/include/ps_modify.inc
+++ b/mysql-test/include/ps_modify.inc
@@ -108,6 +108,7 @@ execute stmt1 using @arg00, @arg01;
select a,b from t1 where a=@arg00;
set @arg00=NULL;
set @arg01=2;
+--error 1048
execute stmt1 using @arg00, @arg01;
select a,b from t1 order by a;
set @arg00=0;
diff --git a/mysql-test/include/ps_query.inc b/mysql-test/include/ps_query.inc
index e96d666eaec..ae6027a0e07 100644
--- a/mysql-test/include/ps_query.inc
+++ b/mysql-test/include/ps_query.inc
@@ -434,8 +434,8 @@ execute stmt1 ;
let $1= 3 ;
while ($1)
{
- prepare stmt1 from ' SELECT a as ccc from t1 where a+1=
- (SELECT 1+ccc from t1 where ccc+1=a+1 and a=1) ';
+ 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 ;
deallocate prepare stmt1 ;
dec $1 ;
diff --git a/mysql-test/include/query_cache_sql_prepare.inc b/mysql-test/include/query_cache_sql_prepare.inc
index cf6d4c26959..1842d5412bb 100644
--- a/mysql-test/include/query_cache_sql_prepare.inc
+++ b/mysql-test/include/query_cache_sql_prepare.inc
@@ -275,5 +275,223 @@ drop table t1;
--echo ---- disconnect connection con1 ----
disconnect con1;
+#
+# Bug #25843 Changing default database between PREPARE and EXECUTE of statement
+# breaks binlog.
+#
+# There were actually two problems discovered by this bug:
+#
+# 1. Default (current) database is not fixed at the creation time.
+# That leads to wrong output of DATABASE() function.
+#
+# 2. Database attributes (@@collation_database) are not fixed at the creation
+# time. That leads to wrong resultset.
+#
+# Binlog breakage and Query Cache wrong output happened because of the first
+# problem.
+#
+
+--echo ########################################################################
+--echo #
+--echo # BUG#25843: Changing default database between PREPARE and EXECUTE of
+--echo # statement breaks binlog.
+--echo #
+--echo ########################################################################
+
+###############################################################################
+
+--echo
+--echo #
+--echo # Check that default database and its attributes are fixed at the
+--echo # creation time.
+--echo #
+
+# Prepare data structures.
+
+--echo
+--disable_warnings
+DROP DATABASE IF EXISTS mysqltest1;
+DROP DATABASE IF EXISTS mysqltest2;
+--enable_warnings
+
+--echo
+CREATE DATABASE mysqltest1 COLLATE utf8_unicode_ci;
+CREATE DATABASE mysqltest2 COLLATE utf8_general_ci;
+
+--echo
+CREATE TABLE mysqltest1.t1(msg VARCHAR(255));
+CREATE TABLE mysqltest2.t1(msg VARCHAR(255));
+
+# - Create a prepared statement with mysqltest1 as default database;
+
+--echo
+
+use mysqltest1;
+
+PREPARE stmt_a_1 FROM 'INSERT INTO t1 VALUES(DATABASE())';
+PREPARE stmt_a_2 FROM 'INSERT INTO t1 VALUES(@@collation_database)';
+
+# - Execute on mysqltest1.
+
+--echo
+
+EXECUTE stmt_a_1;
+EXECUTE stmt_a_2;
+
+# - Execute on mysqltest2.
+
+--echo
+
+use mysqltest2;
+
+EXECUTE stmt_a_1;
+EXECUTE stmt_a_2;
+
+# - Check the results;
+
+--echo
+SELECT * FROM mysqltest1.t1;
+
+--echo
+SELECT * FROM mysqltest2.t1;
+
+# - Drop prepared statements.
+
+--echo
+DROP PREPARE stmt_a_1;
+DROP PREPARE stmt_a_2;
+
+###############################################################################
+
+--echo
+--echo #
+--echo # The Query Cache test case.
+--echo #
+
+--echo
+DELETE FROM mysqltest1.t1;
+DELETE FROM mysqltest2.t1;
+
+--echo
+INSERT INTO mysqltest1.t1 VALUES('mysqltest1.t1');
+INSERT INTO mysqltest2.t1 VALUES('mysqltest2.t1');
+
+--echo
+use mysqltest1;
+PREPARE stmt_b_1 FROM 'SELECT * FROM t1';
+
+--echo
+use mysqltest2;
+PREPARE stmt_b_2 FROM 'SELECT * FROM t1';
+
+--echo
+EXECUTE stmt_b_1;
+
+--echo
+EXECUTE stmt_b_2;
+
+--echo
+use mysqltest1;
+
+--echo
+EXECUTE stmt_b_1;
+
+--echo
+EXECUTE stmt_b_2;
+
+--echo
+DROP PREPARE stmt_b_1;
+DROP PREPARE stmt_b_2;
+
+# Cleanup.
+
+--echo
+use test;
+
+--echo
+DROP DATABASE mysqltest1;
+DROP DATABASE mysqltest2;
+
+###############################################################################
+
+--echo
+--echo #
+--echo # Check that prepared statements work properly when there is no current
+--echo # database.
+--echo #
+
+--echo
+CREATE DATABASE mysqltest1 COLLATE utf8_unicode_ci;
+CREATE DATABASE mysqltest2 COLLATE utf8_general_ci;
+
+--echo
+use mysqltest1;
+
+--echo
+PREPARE stmt_c_1 FROM 'SELECT DATABASE(), @@collation_database';
+
+--echo
+use mysqltest2;
+
+--echo
+PREPARE stmt_c_2 FROM 'SELECT DATABASE(), @@collation_database';
+
+--echo
+DROP DATABASE mysqltest2;
+
+--echo
+SELECT DATABASE(), @@collation_database;
+
+# -- Here we have: current db: NULL; stmt db: mysqltest1;
+--echo
+EXECUTE stmt_c_1;
+
+--echo
+SELECT DATABASE(), @@collation_database;
+
+# -- Here we have: current db: NULL; stmt db: mysqltest2 (non-existent);
+--echo
+EXECUTE stmt_c_2;
+
+--echo
+SELECT DATABASE(), @@collation_database;
+
+# -- Create prepared statement, which has no current database.
+
+--echo
+PREPARE stmt_c_3 FROM 'SELECT DATABASE(), @@collation_database';
+
+# -- Here we have: current db: NULL; stmt db: NULL;
+--echo
+EXECUTE stmt_c_3;
+
+--echo
+use mysqltest1;
+
+# -- Here we have: current db: mysqltest1; stmt db: mysqltest2 (non-existent);
+--echo
+EXECUTE stmt_c_2;
+
+--echo
+SELECT DATABASE(), @@collation_database;
+
+# -- Here we have: current db: mysqltest1; stmt db: NULL;
+--echo
+EXECUTE stmt_c_3;
+
+--echo
+SELECT DATABASE(), @@collation_database;
+
+--echo
+DROP DATABASE mysqltest1;
+
+--echo
+use test;
+
+--echo
+--echo ########################################################################
+
+###############################################################################
+
set @@global.query_cache_size=@initial_query_cache_size;
flush status; # reset Qcache status variables for next tests
diff --git a/mysql-test/include/reset_master_and_slave.inc b/mysql-test/include/reset_master_and_slave.inc
new file mode 100644
index 00000000000..c2d4120ddc9
--- /dev/null
+++ b/mysql-test/include/reset_master_and_slave.inc
@@ -0,0 +1,10 @@
+--echo **** Resetting master and slave ****
+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;
diff --git a/mysql-test/include/rpl_events.inc b/mysql-test/include/rpl_events.inc
index 4b57468b2d7..e1bf5500923 100644
--- a/mysql-test/include/rpl_events.inc
+++ b/mysql-test/include/rpl_events.inc
@@ -147,4 +147,6 @@ DROP EVENT test.slave_terminate;
--echo "Cleanup"
connection master;
DROP TABLE t1;
+sync_slave_with_master;
+connection master;
diff --git a/mysql-test/include/rpl_multi_engine2.inc b/mysql-test/include/rpl_multi_engine2.inc
new file mode 100644
index 00000000000..e683a1d5838
--- /dev/null
+++ b/mysql-test/include/rpl_multi_engine2.inc
@@ -0,0 +1,91 @@
+#############################################################
+# Author: Rafal
+# Date: 2007-08-20
+# based on rpl_multi_engine3.inc
+#############################################################
+
+connection slave;
+STOP SLAVE;
+RESET SLAVE;
+
+connection master;
+RESET MASTER;
+
+connection slave;
+START SLAVE;
+
+--echo --- Populate t1 with data ---
+connection master;
+--disable_query_log
+INSERT INTO t1 VALUES(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");
+INSERT INTO t1 VALUES(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");
+INSERT INTO t1 VALUES(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");
+INSERT INTO t1 VALUES(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");
+INSERT INTO t1 VALUES(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");
+--enable_query_log
+
+--echo --- Select from t1 on master ---
+select *
+from t1
+order by id;
+
+sync_slave_with_master;
+--echo --- Select from t1 on slave ---
+select *
+from t1
+order by id;
+
+--echo --- Perform basic operation on master ---
+--echo --- and ensure replicated correctly ---
+connection master;
+
+--echo --- Update t1 on master --
+UPDATE t1 SET b1 = 0, bc='updated', t="2006-02-22"
+WHERE id < 100
+ORDER BY id;
+
+--echo --- Check the update on master ---
+SELECT *
+FROM t1
+WHERE id < 100
+ORDER BY id;
+
+# Must give injector thread a little time to get update
+# into the binlog other wise we will miss the update.
+
+sync_slave_with_master;
+--echo --- Check Update on slave ---
+SELECT *
+FROM t1
+WHERE id < 100
+ORDER BY id;
+
+connection master;
+--echo --- Remove a record from t1 on master ---
+# Note: there is an error in replication of Delete_row
+# from NDB to MyISAM (BUG#28538). However, if there is
+# only one row in Delete_row event then it works fine,
+# as this test demonstrates.
+DELETE FROM t1 WHERE id = 412;
+
+--echo --- Show current count on master for t1 ---
+SELECT COUNT(*) FROM t1;
+
+sync_slave_with_master;
+--echo --- Show current count on slave for t1 ---
+SELECT COUNT(*) FROM t1;
+
+connection master;
+TRUNCATE TABLE t1;
+sync_slave_with_master;
+connection master;
diff --git a/mysql-test/include/rpl_udf.inc b/mysql-test/include/rpl_udf.inc
index d9e19cda484..30f39d79d49 100644
--- a/mysql-test/include/rpl_udf.inc
+++ b/mysql-test/include/rpl_udf.inc
@@ -35,7 +35,7 @@ eval CREATE FUNCTION myfunc_int RETURNS INTEGER SONAME "$UDF_EXAMPLE_LIB";
--error ER_CANT_FIND_DL_ENTRY
eval CREATE FUNCTION myfunc_nonexist RETURNS INTEGER SONAME "$UDF_EXAMPLE_LIB";
--replace_column 3 UDF_LIB
-SELECT * FROM mysql.func;
+SELECT * FROM mysql.func ORDER BY name;
--disable_info
save_master_pos;
@@ -46,7 +46,7 @@ sync_with_master;
--echo "Running on the slave"
--enable_info
--replace_column 3 UDF_LIB
-SELECT * FROM mysql.func;
+SELECT * FROM mysql.func ORDER BY name;
--disable_info
connection master;
@@ -81,7 +81,7 @@ connection master;
--enable_info
DROP FUNCTION myfunc_double;
DROP FUNCTION myfunc_int;
-SELECT * FROM mysql.func;
+SELECT * FROM mysql.func ORDER BY name;
--disable_info
sync_slave_with_master;
@@ -89,7 +89,7 @@ sync_slave_with_master;
# Check to see if the UDFs were dropped on the slave
--echo "Running on the slave"
--enable_info
-SELECT * FROM mysql.func;
+SELECT * FROM mysql.func ORDER BY name;
--disable_info
connection master;
@@ -108,7 +108,7 @@ DROP TABLE t1;
--enable_info
CREATE FUNCTION myfuncsql_int(i INT) RETURNS INTEGER DETERMINISTIC RETURN i;
CREATE FUNCTION myfuncsql_double(d DOUBLE) RETURNS INTEGER DETERMINISTIC RETURN d * 2.00;
-SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%';
+SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%' ORDER BY name;
--disable_info
sync_slave_with_master;
@@ -116,7 +116,7 @@ sync_slave_with_master;
# Check to see that UDF CREATE statements were replicated
--echo "Running on the slave"
--enable_info
-SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%';
+SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%' ORDER BY name;
--disable_info
connection master;
@@ -147,7 +147,7 @@ connection master;
--enable_info
ALTER FUNCTION myfuncsql_int COMMENT "This was altered.";
ALTER FUNCTION myfuncsql_double COMMENT "This was altered.";
-SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%';
+SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%' ORDER BY name;
--disable_info
sync_slave_with_master;
@@ -155,7 +155,7 @@ sync_slave_with_master;
# Check to see if data was replicated
--echo "Running on the slave"
--enable_info
-SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%';
+SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%' ORDER BY name;
# Check to see that the functions are available for execution on the slave
SELECT myfuncsql_int(25);
@@ -169,7 +169,7 @@ connection master;
--enable_info
DROP FUNCTION myfuncsql_double;
DROP FUNCTION myfuncsql_int;
-SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%';
+SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%' ORDER BY name;
--disable_info
sync_slave_with_master;
@@ -177,7 +177,7 @@ sync_slave_with_master;
# Check to see if the UDFs were dropped on the slave
--echo "Running on the slave"
--enable_info
-SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%';
+SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%' ORDER BY name;
--disable_info
connection master;
diff --git a/mysql-test/include/set_binlog_format_mixed.sql b/mysql-test/include/set_binlog_format_mixed.sql
new file mode 100644
index 00000000000..836992d1080
--- /dev/null
+++ b/mysql-test/include/set_binlog_format_mixed.sql
@@ -0,0 +1,2 @@
+SET GLOBAL BINLOG_FORMAT=MIXED;
+SET SESSION BINLOG_FORMAT=MIXED;
diff --git a/mysql-test/include/set_binlog_format_row.sql b/mysql-test/include/set_binlog_format_row.sql
new file mode 100644
index 00000000000..49f34c8ccd1
--- /dev/null
+++ b/mysql-test/include/set_binlog_format_row.sql
@@ -0,0 +1,2 @@
+SET GLOBAL BINLOG_FORMAT=ROW;
+SET SESSION BINLOG_FORMAT=ROW;
diff --git a/mysql-test/include/set_binlog_format_statement.sql b/mysql-test/include/set_binlog_format_statement.sql
new file mode 100644
index 00000000000..ed286e7e3cc
--- /dev/null
+++ b/mysql-test/include/set_binlog_format_statement.sql
@@ -0,0 +1,2 @@
+SET GLOBAL BINLOG_FORMAT=STATEMENT;
+SET SESSION BINLOG_FORMAT=STATEMENT;
diff --git a/mysql-test/include/show_binary_logs.inc b/mysql-test/include/show_binary_logs.inc
new file mode 100644
index 00000000000..c3729a8f9b9
--- /dev/null
+++ b/mysql-test/include/show_binary_logs.inc
@@ -0,0 +1,5 @@
+# show binary logs
+
+# mask out the binlog position
+-- replace_column 2 #
+show binary logs;
diff --git a/mysql-test/include/show_binlog_events.inc b/mysql-test/include/show_binlog_events.inc
index 7377b4a0fed..fcdf84102aa 100644
--- a/mysql-test/include/show_binlog_events.inc
+++ b/mysql-test/include/show_binlog_events.inc
@@ -1,5 +1,5 @@
--let $binlog_start=106
--replace_result $binlog_start <binlog_start>
--replace_column 2 # 4 # 5 #
---replace_regex /\/\* xid=.* \*\//\/* XID *\// /table_id: [0-9]+/table_id: #/
+--replace_regex /\/\* xid=.* \*\//\/* XID *\// /table_id: [0-9]+/table_id: #/ /file_id=[0-9]+/file_id=#/
--eval show binlog events from $binlog_start
diff --git a/mysql-test/include/show_binlog_events2.inc b/mysql-test/include/show_binlog_events2.inc
index 234b7e06fcf..5dd272c562d 100644
--- a/mysql-test/include/show_binlog_events2.inc
+++ b/mysql-test/include/show_binlog_events2.inc
@@ -1,7 +1,3 @@
-#
-# Differs slightly from show_binlog events in showing server_id
-# which is important for some tests
-#
--let $binlog_start=106
--replace_result $binlog_start <binlog_start>
--replace_column 2 # 5 #
diff --git a/mysql-test/include/show_master_logs.inc b/mysql-test/include/show_master_logs.inc
new file mode 100644
index 00000000000..4792ebd9651
--- /dev/null
+++ b/mysql-test/include/show_master_logs.inc
@@ -0,0 +1,5 @@
+# show master logs
+
+# mask out the binlog position
+-- replace_column 2 #
+query_vertical show master logs;
diff --git a/mysql-test/include/show_master_status.inc b/mysql-test/include/show_master_status.inc
new file mode 100644
index 00000000000..b7b32a65df4
--- /dev/null
+++ b/mysql-test/include/show_master_status.inc
@@ -0,0 +1,5 @@
+# show master status
+
+# mask out the binlog position
+-- replace_column 2 # 3 <Binlog_Do_DB> 4 <Binlog_Ignore_DB>
+show master status;
diff --git a/mysql-test/include/show_slave_status2.inc b/mysql-test/include/show_slave_status2.inc
new file mode 100644
index 00000000000..9c4e14c62c2
--- /dev/null
+++ b/mysql-test/include/show_slave_status2.inc
@@ -0,0 +1,8 @@
+# Include file to show the slave status, masking out some information
+# that varies depending on where the test is executed.
+
+# masked out log positions
+
+--replace_result $MASTER_MYPORT MASTER_PORT
+--replace_column 1 # 7 # 8 # 9 # 16 # 22 # 23 # 33 # 35 # 36 #
+query_vertical SHOW SLAVE STATUS;
diff --git a/mysql-test/include/test_fieldsize.inc b/mysql-test/include/test_fieldsize.inc
new file mode 100644
index 00000000000..cbe63e26318
--- /dev/null
+++ b/mysql-test/include/test_fieldsize.inc
@@ -0,0 +1,40 @@
+#
+# include/test_fieldsize.inc
+#
+# This include file is designed to create a table with one column
+# whose size on the master is greater than that on the slave. The
+# test should fail with an error on the slave.
+#
+
+connection master;
+DROP TABLE IF EXISTS t1;
+
+sync_slave_with_master;
+STOP SLAVE;
+RESET SLAVE;
+eval $test_table_slave;
+
+connection master;
+eval $test_table_master;
+RESET MASTER;
+
+eval $test_insert;
+
+connection slave;
+START SLAVE;
+wait_for_slave_to_stop;
+--replace_result $MASTER_MYPORT MASTER_PORT
+--replace_column 1 # 4 # 7 # 8 # 9 # 16 # 22 # 23 # 33 # 35 # 36 #
+--query_vertical SHOW SLAVE STATUS
+
+# The following should be 0
+SELECT COUNT(*) FROM t1;
+STOP SLAVE;
+RESET SLAVE;
+
+connection master;
+RESET MASTER;
+
+connection slave;
+START SLAVE;
+
diff --git a/mysql-test/include/wait_condition.inc b/mysql-test/include/wait_condition.inc
index 2e6bd276aac..a41d8080c9b 100644
--- a/mysql-test/include/wait_condition.inc
+++ b/mysql-test/include/wait_condition.inc
@@ -17,6 +17,7 @@
# let $wait_condition=
# SELECT c = 3 FROM t;
# --source include/wait_condition.inc
+# --echo Executed the test condition $wait_condition_reps times
#
# EXAMPLE
# events_bugs.test, events_time_zone.test
@@ -33,9 +34,13 @@ if ($wait_timeout)
# calls, and default will be used instead.
let $wait_timeout= 0;
+# Keep track of how many times the wait condition is tested
+# This is used by some tests (e.g., main.status)
+let $wait_condition_reps= 0;
while ($wait_counter)
{
let $success= `$wait_condition`;
+ inc $wait_condition_reps;
if ($success)
{
let $wait_counter= 0;
diff --git a/mysql-test/include/wait_for_binlog_event.inc b/mysql-test/include/wait_for_binlog_event.inc
new file mode 100644
index 00000000000..2a57c191413
--- /dev/null
+++ b/mysql-test/include/wait_for_binlog_event.inc
@@ -0,0 +1,33 @@
+# include/wait_for_binlog_event.inc
+#
+# SUMMARY
+#
+# Waits until SHOW BINLOG EVENTS has returned in last event a specified substring.
+#
+# USAGE
+#
+# let $wait_binlog_event= DROP;
+# --source include/wait_for_binlog_event.inc
+
+let $_loop_count= 300;
+let $_last_event= ;
+let $_event_pos= 1;
+
+while (`SELECT INSTR("$_last_event","$wait_binlog_event") = 0`)
+{
+ dec $_loop_count;
+ if (!$_loop_count)
+ {
+ SHOW BINLOG EVENTS;
+ --die ERROR: failed while waiting for $wait_binlog_event in binlog
+ }
+ 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"`)
+ {
+ inc $_event_pos;
+ let $_last_event= $_event;
+ let $_event= query_get_value(SHOW BINLOG EVENTS, Info, $_event_pos);
+ }
+}
diff --git a/mysql-test/include/wait_for_slave_sql_error.inc b/mysql-test/include/wait_for_slave_sql_error.inc
new file mode 100644
index 00000000000..6780edbe2f0
--- /dev/null
+++ b/mysql-test/include/wait_for_slave_sql_error.inc
@@ -0,0 +1,33 @@
+###################################################
+#Author: Sven
+#Date: 2007-10-09
+#Purpose: Wait until the slave has an error in the
+# sql thread, as indicated by
+# "SHOW SLAVE STATUS", or at most 30
+# seconds.
+#Details:
+# 1) Fill in and setup variables
+# 2) loop, looking for sql error on slave
+# 3) If it loops too long, die.
+####################################################
+connection slave;
+let $row_number= 1;
+let $run= 1;
+let $counter= 300;
+
+while ($run)
+{
+ let $sql_result= query_get_value("SHOW SLAVE STATUS", Last_SQL_Errno, $row_number);
+ let $run= `SELECT '$sql_result' = '0'`;
+ if ($run) {
+ real_sleep 0.1;
+ if (!$counter){
+ --echo "Failed while waiting for slave to produce an error in its sql thread"
+ --replace_result $MASTER_MYPORT MASTER_PORT
+ --replace_column 1 # 7 # 8 # 9 # 22 # 23 # 33 #
+ query_vertical SHOW SLAVE STATUS;
+ exit;
+ }
+ dec $counter;
+ }
+}
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 7f435142901..cb5c437a586 100644
--- a/mysql-test/include/wait_for_slave_sql_to_stop.inc
+++ b/mysql-test/include/wait_for_slave_sql_to_stop.inc
@@ -9,7 +9,10 @@
# sql threads to stop
# 3) If loops too long die.
####################################################
-connection slave;
+if (!$keep_connection)
+{
+ connection slave;
+}
let $row_number= 1;
let $run= 1;
let $counter= 300;
diff --git a/mysql-test/include/wait_for_slave_to_stop.inc b/mysql-test/include/wait_for_slave_to_stop.inc
index 95e0ac67dd5..5bd2d0338f8 100644
--- a/mysql-test/include/wait_for_slave_to_stop.inc
+++ b/mysql-test/include/wait_for_slave_to_stop.inc
@@ -28,6 +28,8 @@ while ($run)
sleep 0.1;
if (!$counter){
--echo "Failed while waiting for slave to stop"
+ --replace_result $MASTER_MYPORT MASTER_PORT
+ --replace_column 1 # 7 # 8 # 9 # 22 # 23 # 33 #
query_vertical SHOW SLAVE STATUS;
exit;
}
diff --git a/mysql-test/include/windows.inc b/mysql-test/include/windows.inc
index 3d64efbafc7..88553d8aa59 100644
--- a/mysql-test/include/windows.inc
+++ b/mysql-test/include/windows.inc
@@ -1,4 +1,5 @@
---require r/windows.require
-disable_query_log;
-select convert(@@version_compile_os using latin1) IN ("Win32","Win64","Windows") as "TRUE";
-enable_query_log;
+if (`select convert(@@version_compile_os using latin1) IN ("Win32","Win64","Windows") = 0`)
+{
+ skip Need windows;
+}
+
diff --git a/mysql-test/lib/My/Config.pm b/mysql-test/lib/My/Config.pm
new file mode 100644
index 00000000000..5491e341ddc
--- /dev/null
+++ b/mysql-test/lib/My/Config.pm
@@ -0,0 +1,422 @@
+# -*- cperl -*-
+
+package My::Config::Option;
+
+use strict;
+use warnings;
+
+
+sub new {
+ my ($class, $option_name, $option_value)= @_;
+ my $self= bless { name => $option_name,
+ value => $option_value
+ }, $class;
+ return $self;
+}
+
+
+sub name {
+ my ($self)= @_;
+ return $self->{name};
+}
+
+
+sub value {
+ my ($self)= @_;
+ return $self->{value};
+}
+
+
+package My::Config::Group;
+
+use strict;
+use warnings;
+
+
+sub new {
+ my ($class, $group_name)= @_;
+ my $self= bless { name => $group_name,
+ options => [],
+ options_by_name => {},
+ }, $class;
+ return $self;
+}
+
+
+sub insert {
+ my ($self, $option_name, $value, $if_not_exist)= @_;
+ my $option= $self->option($option_name);
+ if (defined($option) and !$if_not_exist) {
+ $option->{value}= $value;
+ }
+ else {
+ my $option= My::Config::Option->new($option_name, $value);
+ # Insert option in list
+ push(@{$self->{options}}, $option);
+ # Insert option in hash
+ $self->{options_by_name}->{$option_name}= $option;
+ }
+ return $option;
+}
+
+sub remove {
+ my ($self, $option_name)= @_;
+
+ # Check that option exists
+ my $option= $self->option($option_name);
+
+ return undef unless defined $option;
+
+ # Remove from the hash
+ delete($self->{options_by_name}->{$option_name}) or die;
+
+ # Remove from the array
+ @{$self->{options}}= grep { $_->name ne $option_name } @{$self->{options}};
+
+ return $option;
+}
+
+
+sub options {
+ my ($self)= @_;
+ return @{$self->{options}};
+}
+
+
+sub name {
+ my ($self)= @_;
+ return $self->{name};
+}
+
+
+#
+# Return a specific option in the group
+#
+sub option {
+ my ($self, $option_name)= @_;
+
+ return $self->{options_by_name}->{$option_name};
+}
+
+
+#
+# Return a specific value for an option in the group
+#
+sub value {
+ my ($self, $option_name)= @_;
+ my $option= $self->option($option_name);
+
+ die "No option named '$option_name' in this group"
+ if ! defined($option);
+
+ return $option->value();
+}
+
+
+package My::Config;
+
+use strict;
+use warnings;
+use IO::File;
+use File::Basename;
+
+#
+# Constructor for My::Config
+# - represents a my.cnf config file
+#
+# Array of arrays
+#
+sub new {
+ my ($class, $path)= @_;
+ my $group_name= undef;
+
+ my $self= bless { groups => [] }, $class;
+ my $F= IO::File->new($path, "<")
+ or die "Could not open '$path': $!";
+
+ while ( my $line= <$F> ) {
+ chomp($line);
+
+ # [group]
+ if ( $line =~ /\[(.*)\]/ ) {
+ # New group found
+ $group_name= $1;
+ #print "group: $group_name\n";
+
+ $self->insert($group_name, undef, undef);
+ }
+
+ # Magic #! comments
+ elsif ( $line =~ /^#\!/) {
+ my $magic= $line;
+ die "Found magic comment '$magic' outside of group"
+ unless $group_name;
+
+ #print "$magic\n";
+ $self->insert($group_name, $magic, undef);
+ }
+
+ # Comments
+ elsif ( $line =~ /^#/ || $line =~ /^;/) {
+ # Skip comment
+ next;
+ }
+
+ # Empty lines
+ elsif ( $line =~ /^$/ ) {
+ # Skip empty lines
+ next;
+ }
+
+ # !include <filename>
+ elsif ( $line =~ /^\!include\s*(.*?)\s*$/ ) {
+ my $include_file_name= dirname($path)."/".$1;
+ # Check that the file exists
+ die "The include file '$include_file_name' does not exist"
+ unless -f $include_file_name;
+
+ $self->append(My::Config->new($include_file_name));
+ }
+
+ # <option>
+ elsif ( $line =~ /^([\@\w-]+)\s*$/ ) {
+ my $option= $1;
+
+ die "Found option '$option' outside of group"
+ unless $group_name;
+
+ #print "$option\n";
+ $self->insert($group_name, $option, undef);
+ }
+
+ # <option>=<value>
+ elsif ( $line =~ /^([\@\w-]+)\s*=\s*(.*?)\s*$/ ) {
+ my $option= $1;
+ my $value= $2;
+
+ die "Found option '$option=$value' outside of group"
+ unless $group_name;
+
+ #print "$option=$value\n";
+ $self->insert($group_name, $option, $value);
+ } else {
+ die "Unexpected line '$line' found in '$path'";
+ }
+
+ }
+ undef $F; # Close the file
+
+ return $self;
+}
+
+#
+# Insert a new group if it does not already exist
+# and add option if defined
+#
+sub insert {
+ my ($self, $group_name, $option, $value, $if_not_exist)= @_;
+ my $group;
+
+ # Create empty array for the group if it doesn't exist
+ if ( !$self->group_exists($group_name) ) {
+ $group= $self->_group_insert($group_name);
+ }
+ else {
+ $group= $self->group($group_name);
+ }
+
+ if ( defined $option ) {
+ #print "option: $option, value: $value\n";
+
+ # Add the option to the group
+ $group->insert($option, $value, $if_not_exist);
+ }
+}
+
+#
+# Remove a option, given group and option name
+#
+sub remove {
+ my ($self, $group_name, $option_name)= @_;
+ my $group= $self->group($group_name);
+
+ die "group '$group_name' does not exist"
+ unless defined($group);
+
+ $group->remove($option_name) or
+ die "option '$option_name' does not exist";
+}
+
+
+
+#
+# Check if group with given name exists in config
+#
+sub group_exists {
+ my ($self, $group_name)= @_;
+
+ foreach my $group ($self->groups()) {
+ return 1 if $group->{name} eq $group_name;
+ }
+ return 0;
+}
+
+
+#
+# Insert a new group into config
+#
+sub _group_insert {
+ my ($self, $group_name)= @_;
+ caller eq __PACKAGE__ or die;
+
+ # Check that group does not already exist
+ die "Group already exists" if $self->group_exists($group_name);
+
+ my $group= My::Config::Group->new($group_name);
+ push(@{$self->{groups}}, $group);
+ return $group;
+}
+
+
+#
+# Append a configuration to current config
+#
+sub append {
+ my ($self, $from)= @_;
+
+ foreach my $group ($from->groups()) {
+ foreach my $option ($group->options()) {
+ $self->insert($group->name(), $option->name(), $option->value());
+ }
+
+ }
+}
+
+
+#
+# Return a list with all the groups in config
+#
+sub groups {
+ my ($self)= @_;
+ return ( @{$self->{groups}} );
+}
+
+
+#
+# Return a list of all the groups in config
+# starting with the given string
+#
+sub like {
+ my ($self, $prefix)= @_;
+ return ( grep ( $_->{name} =~ /^$prefix/, $self->groups()) );
+}
+
+
+#
+# Return the first group in config
+# starting with the given string
+#
+sub first_like {
+ my ($self, $prefix)= @_;
+ return ($self->like($prefix))[0];
+}
+
+
+#
+# Return a specific group in the config
+#
+sub group {
+ my ($self, $group_name)= @_;
+
+ foreach my $group ( $self->groups() ) {
+ return $group if $group->{name} eq $group_name;
+ }
+ return undef;
+}
+
+
+#
+# Return a list of all options in a specific group in the config
+#
+sub options_in_group {
+ my ($self, $group_name)= @_;
+
+ my $group= $self->group($group_name);
+ return () unless defined $group;
+ return $group->options();
+}
+
+
+#
+# Return a value given group and option name
+#
+sub value {
+ my ($self, $group_name, $option_name)= @_;
+ my $group= $self->group($group_name);
+
+ die "group '$group_name' does not exist"
+ unless defined($group);
+
+ my $option= $group->option($option_name);
+ die "option '$option_name' does not exist"
+ unless defined($option);
+
+ return $option->value();
+}
+
+
+#
+# Check if an option exists
+#
+sub exists {
+ my ($self, $group_name, $option_name)= @_;
+ my $group= $self->group($group_name);
+
+ die "group '$group_name' does not exist"
+ unless defined($group);
+
+ my $option= $group->option($option_name);
+ return defined($option);
+}
+
+
+# Overload "to string"-operator with 'stringify'
+use overload
+ '""' => \&stringify;
+
+#
+# Return the config as a string in my.cnf file format
+#
+sub stringify {
+ my ($self)= @_;
+ my $res;
+
+ foreach my $group ($self->groups()) {
+ $res .= "[$group->{name}]\n";
+
+ foreach my $option ($group->options()) {
+ $res .= $option->name();
+ my $value= $option->value();
+ if (defined $value) {
+ $res .= "=$value";
+ }
+ $res .= "\n";
+ }
+ $res .= "\n";
+ }
+ return $res;
+}
+
+
+#
+# Save the config to named file
+#
+sub save {
+ my ($self, $path)= @_;
+ my $F= IO::File->new($path, ">")
+ or die "Could not open '$path': $!";
+ print $F $self;
+ undef $F; # Close the file
+}
+
+1;
diff --git a/mysql-test/lib/mtr_cases.pl b/mysql-test/lib/mtr_cases.pl
index 2becb7f9865..2ca2669eb7f 100644
--- a/mysql-test/lib/mtr_cases.pl
+++ b/mysql-test/lib/mtr_cases.pl
@@ -22,12 +22,32 @@ use File::Basename;
use IO::File();
use strict;
+use My::Config;
+
sub collect_test_cases ($);
-sub collect_one_suite ($$);
+sub collect_one_suite ($);
sub collect_one_test_case ($$$$$$$$$);
sub mtr_options_from_test_file($$);
+my $do_test;
+my $skip_test;
+
+sub init_pattern {
+ my ($from, $what)= @_;
+ if ( $from =~ /^[a-z0-9]$/ ) {
+ # Does not contain any regex, make the pattern match
+ # beginning of string
+ $from= "^$from";
+ }
+ # Check that pattern is a valid regex
+ eval { "" =~/$from/; 1 } or
+ mtr_error("Invalid regex '$from' passed to $what\nPerl says: $@");
+ return $from;
+}
+
+
+
##############################################################################
#
# Collect information about test cases we are to run
@@ -35,12 +55,15 @@ sub mtr_options_from_test_file($$);
##############################################################################
sub collect_test_cases ($) {
+ $do_test= init_pattern($::opt_do_test, "--do-test");
+ $skip_test= init_pattern($::opt_skip_test, "--skip-test");
+
my $suites= shift; # Semicolon separated list of test suites
my $cases = []; # Array of hash
foreach my $suite (split(",", $suites))
{
- collect_one_suite($suite, $cases);
+ push(@$cases, collect_one_suite($suite));
}
@@ -48,12 +71,14 @@ sub collect_test_cases ($) {
{
# Check that the tests specified was found
# in at least one suite
- foreach my $tname ( @::opt_cases )
+ foreach my $test_name_spec ( @::opt_cases )
{
my $found= 0;
+ my ($sname, $tname, $extension)= split_testname($test_name_spec);
foreach my $test ( @$cases )
{
- if ( mtr_match_extension($test->{'name'}, $tname) )
+ # test->{name} is always in suite.name format
+ if ( $test->{name} =~ /.*\.$tname/ )
{
$found= 1;
}
@@ -143,27 +168,63 @@ sub collect_test_cases ($) {
}
-sub collect_one_suite($$)
+# Valid extensions and their corresonding component id
+my %exts = ( 'test' => 'mysqld',
+ 'imtest' => 'im'
+ );
+
+
+# Returns (suitename, testname, extension)
+sub split_testname {
+ my ($test_name)= @_;
+
+ # Get rid of directory part and split name on .'s
+ my @parts= split(/\./, basename($test_name));
+
+ if (@parts == 1){
+ # Only testname given, ex: alias
+ return (undef , $parts[0], undef);
+ } elsif (@parts == 2) {
+ # Either testname.test or suite.testname given
+ # Ex. main.alias or alias.test
+
+ if (defined $exts{$parts[1]})
+ {
+ return (undef , $parts[0], $parts[1]);
+ }
+ else
+ {
+ return ($parts[0], $parts[1], undef);
+ }
+
+ } elsif (@parts == 3) {
+ # Fully specified suitename.testname.test
+ # ex main.alias.test
+ return ( $parts[0], $parts[1], $parts[2]);
+ }
+
+ mtr_error("Illegal format of test name: $test_name");
+}
+
+
+sub collect_one_suite($)
{
my $suite= shift; # Test suite name
- my $cases= shift; # List of test cases
+ my @cases; # Array of hash
mtr_verbose("Collecting: $suite");
- my $testdir;
- my $resdir;
-
- if ( $suite eq "main" )
+ my $suitedir= "$::glob_mysql_test_dir"; # Default
+ if ( $suite ne "main" )
{
- $testdir= "$::glob_mysql_test_dir/t";
- $resdir= "$::glob_mysql_test_dir/r";
- }
- else
- {
- $testdir= "$::glob_mysql_test_dir/suite/$suite/t";
- $resdir= "$::glob_mysql_test_dir/suite/$suite/r";
+ $suitedir= mtr_path_exists("$suitedir/suite/$suite",
+ "$suitedir/$suite");
+ mtr_verbose("suitedir: $suitedir");
}
+ my $testdir= "$suitedir/t";
+ my $resdir= "$suitedir/r";
+
# ----------------------------------------------------------------------
# Build a hash of disabled testcases for this suite
# ----------------------------------------------------------------------
@@ -191,73 +252,55 @@ sub collect_one_suite($$)
if ( @::opt_cases )
{
- # Collect in specified order, no sort
- foreach my $tname ( @::opt_cases )
+ # Collect in specified order
+ foreach my $test_name_spec ( @::opt_cases )
{
- my $elem= undef;
- my $component_id= undef;
+ my ($sname, $tname, $extension)= split_testname($test_name_spec);
- # Get rid of directory part (path). Leave the extension since it is used
- # to understand type of the test.
+ # The test name parts have now been defined
+ #print " suite_name: $sname\n";
+ #print " tname: $tname\n";
+ #print " extension: $extension\n";
- $tname = basename($tname);
+ # Check cirrect suite if suitename is defined
+ next if (defined $sname and $suite ne $sname);
- # Check if the extenstion has been specified.
-
- if ( mtr_match_extension($tname, "test") )
- {
- $elem= $tname;
- $tname=~ s/\.test$//;
- $component_id= 'mysqld';
- }
- elsif ( mtr_match_extension($tname, "imtest") )
- {
- $elem= $tname;
- $tname =~ s/\.imtest$//;
- $component_id= 'im';
- }
-
- # If target component is known, check that the specified test case
- # exists.
- #
- # Otherwise, try to guess the target component.
-
- if ( $component_id )
+ my $component_id;
+ if ( defined $extension )
{
- if ( ! -f "$testdir/$elem")
+ my $full_name= "$testdir/$tname.$extension";
+ # Extension was specified, check if the test exists
+ if ( ! -f $full_name)
{
- mtr_error("Test case $tname ($testdir/$elem) is not found");
+ # This is only an error if suite was specified, otherwise it
+ # could exist in another suite
+ mtr_error("Test '$full_name' was not found in suite '$sname'")
+ if $sname;
+
+ next;
}
+ $component_id= $exts{$extension};
}
else
{
- my $mysqld_test_exists = -f "$testdir/$tname.test";
- my $im_test_exists = -f "$testdir/$tname.imtest";
+ # No extension was specified
+ my ($ext, $component);
+ while (($ext, $component)= each %exts) {
+ my $full_name= "$testdir/$tname.$ext";
- if ( $mysqld_test_exists and $im_test_exists )
- {
- mtr_error("Ambiguous test case name ($tname)");
- }
- elsif ( ! $mysqld_test_exists and ! $im_test_exists )
- {
- # Silently skip, could exist in another suite
- next;
- }
- elsif ( $mysqld_test_exists )
- {
- $elem= "$tname.test";
- $component_id= 'mysqld';
- }
- elsif ( $im_test_exists )
- {
- $elem= "$tname.imtest";
- $component_id= 'im';
- }
+ if ( ! -f $full_name ) {
+ next;
+ }
+ $component_id= $component;
+ $extension= $ext;
+ }
+ # Test not found here, could exist in other suite
+ next unless $component_id;
}
collect_one_test_case($testdir,$resdir,$suite,$tname,
- $elem,$cases,\%disabled,$component_id,
- $suite_opts);
+ "$tname.$extension",\@cases,\%disabled,
+ $component_id,$suite_opts);
}
}
else
@@ -283,17 +326,171 @@ sub collect_one_suite($$)
}
# Skip tests that does not match the --do-test= filter
- next if $::opt_do_test and
- ! defined mtr_match_prefix($elem,$::opt_do_test);
+ next if ($do_test and not $tname =~ /$do_test/o);
collect_one_test_case($testdir,$resdir,$suite,$tname,
- $elem,$cases,\%disabled,$component_id,
+ $elem,\@cases,\%disabled,$component_id,
$suite_opts);
}
closedir TESTDIR;
}
- return $cases;
+
+ # Return empty list if no testcases found
+ return if (@cases == 0);
+
+ # ----------------------------------------------------------------------
+ # Read combinations for this suite and build testcases x combinations
+ # if any combinations exists
+ # ----------------------------------------------------------------------
+ if ( ! $::opt_skip_combination )
+ {
+ my @combinations;
+ my $combination_file= "$suitedir/combinations";
+ #print "combination_file: $combination_file\n";
+ if (@::opt_combinations)
+ {
+ # take the combination from command-line
+ mtr_verbose("Take the combination from command line");
+ foreach my $combination (@::opt_combinations) {
+ my $comb= {};
+ $comb->{name}= $combination;
+ push(@{$comb->{comb_opt}}, $combination);
+ push(@combinations, $comb);
+ }
+ }
+ elsif (-f $combination_file )
+ {
+ # Read combinations file in my.cnf format
+ mtr_verbose("Read combinations file");
+ my $config= My::Config->new($combination_file);
+
+ foreach my $group ($config->groups()) {
+ my $comb= {};
+ $comb->{name}= $group->name();
+ foreach my $option ( $group->options() ) {
+ push(@{$comb->{comb_opt}}, $option->name()."=".$option->value());
+ }
+ push(@combinations, $comb);
+ }
+ }
+
+ if (@combinations)
+ {
+ print " - adding combinations\n";
+ #print_testcases(@cases);
+
+ my @new_cases;
+ foreach my $comb (@combinations)
+ {
+ foreach my $test (@cases)
+ {
+ #print $test->{name}, " ", $comb, "\n";
+ my $new_test= {};
+
+ while (my ($key, $value) = each(%$test)) {
+ if (ref $value eq "ARRAY") {
+ push(@{$new_test->{$key}}, @$value);
+ } else {
+ $new_test->{$key}= $value;
+ }
+ }
+
+ # Append the combination options to master_opt and slave_opt
+ push(@{$new_test->{master_opt}}, @{$comb->{comb_opt}});
+ push(@{$new_test->{slave_opt}}, @{$comb->{comb_opt}});
+
+ # Add combination name shrt name
+ $new_test->{combination}= $comb->{name};
+
+ # Add the new test to new test cases list
+ push(@new_cases, $new_test);
+ }
+ }
+ #print_testcases(@new_cases);
+ @cases= @new_cases;
+ #print_testcases(@cases);
+ }
+ }
+
+ optimize_cases(\@cases);
+ #print_testcases(@cases);
+
+ return @cases;
+}
+
+
+#
+# Loop through all test cases
+# - optimize which test to run by skipping unnecessary ones
+# - update settings if necessary
+#
+sub optimize_cases {
+ my ($cases)= @_;
+
+ foreach my $tinfo ( @$cases )
+ {
+ # Skip processing if already marked as skipped
+ next if $tinfo->{skip};
+
+ # Replication test needs an adjustment of binlog format
+ if (mtr_match_prefix($tinfo->{'name'}, "rpl"))
+ {
+
+ # =======================================================
+ # Get binlog-format used by this test from master_opt
+ # =======================================================
+ my $test_binlog_format;
+ foreach my $opt ( @{$tinfo->{master_opt}} ) {
+ $test_binlog_format= $test_binlog_format ||
+ mtr_match_prefix($opt, "--binlog-format=");
+ }
+ # print $tinfo->{name}." uses ".$test_binlog_format."\n";
+
+ # =======================================================
+ # If a special binlog format was selected with
+ # --mysqld=--binlog-format=x, skip all test with different
+ # binlog-format
+ # =======================================================
+ if (defined $::used_binlog_format and
+ $test_binlog_format and
+ $::used_binlog_format ne $test_binlog_format)
+ {
+ $tinfo->{'skip'}= 1;
+ $tinfo->{'comment'}= "Requires --binlog-format='$test_binlog_format'";
+ next;
+ }
+
+ # =======================================================
+ # Check that testcase supports the designated binlog-format
+ # =======================================================
+ if ($test_binlog_format and defined $tinfo->{'sup_binlog_formats'} )
+ {
+ my $supported=
+ grep { $_ eq $test_binlog_format } @{$tinfo->{'sup_binlog_formats'}};
+ if ( !$supported )
+ {
+ $tinfo->{'skip'}= 1;
+ $tinfo->{'comment'}=
+ "Doesn't support --binlog-format='$test_binlog_format'";
+ next;
+ }
+ }
+
+ # =======================================================
+ # Use dynamic switching of binlog-format if mtr started
+ # w/o --mysqld=--binlog-format=xxx and combinations.
+ # =======================================================
+ if (!defined $tinfo->{'combination'} and
+ !defined $::used_binlog_format)
+ {
+ $test_binlog_format= $tinfo->{'sup_binlog_formats'}->[0];
+ }
+
+ # Save binlog format for dynamic switching
+ $tinfo->{binlog_format}= $test_binlog_format;
+ }
+ }
}
@@ -328,7 +525,7 @@ sub collect_one_test_case($$$$$$$$$) {
my $tinfo= {};
- $tinfo->{'name'}= "$suite.$tname";
+ $tinfo->{'name'}= basename($suite) . ".$tname";
$tinfo->{'result_file'}= "$resdir/$tname.result";
$tinfo->{'component_id'} = $component_id;
push(@$cases, $tinfo);
@@ -337,7 +534,7 @@ sub collect_one_test_case($$$$$$$$$) {
# Skip some tests but include in list, just mark them to skip
# ----------------------------------------------------------------------
- if ( $::opt_skip_test and defined mtr_match_prefix($tname,$::opt_skip_test) )
+ if ( $skip_test and $tname =~ /$skip_test/o )
{
$tinfo->{'skip'}= 1;
return;
@@ -383,6 +580,7 @@ sub collect_one_test_case($$$$$$$$$) {
$tinfo->{'slave_opt'}= [];
$tinfo->{'slave_mi'}= [];
+
# Add suite opts
foreach my $opt ( @$suite_opts )
{
@@ -596,14 +794,6 @@ sub collect_one_test_case($$$$$$$$$) {
return;
}
- if ( defined $tinfo->{'binlog_format'} and
- ! ( $tinfo->{'binlog_format'} eq $::used_binlog_format ) )
- {
- $tinfo->{'skip'}= 1;
- $tinfo->{'comment'}= "Requiring binlog format '$tinfo->{'binlog_format'}'";
- return;
- }
-
if ( $tinfo->{'need_debug'} && ! $::debug_compiled_binaries )
{
$tinfo->{'skip'}= 1;
@@ -683,15 +873,23 @@ sub collect_one_test_case($$$$$$$$$) {
our @tags=
(
["include/have_innodb.inc", "innodb_test", 1],
- ["include/have_binlog_format_row.inc", "binlog_format", "row"],
+ ["include/have_binlog_format_row.inc", "sup_binlog_formats", ["row"]],
["include/have_log_bin.inc", "need_binlog", 1],
- ["include/have_binlog_format_statement.inc", "binlog_format", "statement"],
- ["include/have_binlog_format_mixed.inc", "binlog_format", "mixed"],
+ ["include/have_binlog_format_statement.inc",
+ "sup_binlog_formats", ["statement"]],
+ ["include/have_binlog_format_mixed.inc", "sup_binlog_formats", ["mixed"]],
+ ["include/have_binlog_format_mixed_or_row.inc",
+ "sup_binlog_formats", ["mixed","row"]],
+ ["include/have_binlog_format_mixed_or_statement.inc",
+ "sup_binlog_formats", ["mixed","statement"]],
+ ["include/have_binlog_format_row_or_statement.inc",
+ "sup_binlog_formats", ["row","statement"]],
["include/big_test.inc", "big_test", 1],
["include/have_debug.inc", "need_debug", 1],
["include/have_ndb.inc", "ndb_test", 1],
["include/have_multi_ndb.inc", "ndb_test", 1],
["include/have_ndb_extra.inc", "ndb_extra", 1],
+ ["include/ndb_master-slave.inc", "ndb_test", 1],
["require_manager", "require_manager", 1],
);
@@ -712,8 +910,8 @@ sub mtr_options_from_test_file($$) {
{
if ( index($line, $tag->[0]) >= 0 )
{
- # Tag matched, assign value to "tinfo"
- $tinfo->{"$tag->[1]"}= $tag->[2];
+ # Tag matched, assign value to "tinfo"
+ $tinfo->{"$tag->[1]"}= $tag->[2];
}
}
@@ -734,8 +932,29 @@ sub mtr_options_from_test_file($$) {
mtr_options_from_test_file($tinfo, $sourced_file);
}
}
+ }
+}
+
+
+sub print_testcases {
+ my (@cases)= @_;
+ print "=" x 60, "\n";
+ foreach my $test (@cases){
+ print "[", $test->{name}, "]", "\n";
+ while ((my ($key, $value)) = each(%$test)) {
+ print " ", $key, "=";
+ if (ref $value eq "ARRAY") {
+ print join(", ", @$value);
+ } else {
+ print $value;
+ }
+ print "\n";
+ }
+ print "\n";
}
+ print "=" x 60, "\n";
}
+
1;
diff --git a/mysql-test/lib/mtr_misc.pl b/mysql-test/lib/mtr_misc.pl
index dc22f88bd7f..0173e8b8572 100644
--- a/mysql-test/lib/mtr_misc.pl
+++ b/mysql-test/lib/mtr_misc.pl
@@ -19,9 +19,8 @@
# same name.
use strict;
+use File::Find;
-sub mtr_full_hostname ();
-sub mtr_short_hostname ();
sub mtr_native_path($);
sub mtr_init_args ($);
sub mtr_add_arg ($$@);
@@ -31,6 +30,7 @@ sub mtr_file_exists(@);
sub mtr_exe_exists(@);
sub mtr_exe_maybe_exists(@);
sub mtr_copy_dir($$);
+sub mtr_rmtree($);
sub mtr_same_opts($$);
sub mtr_cmp_opts($$);
@@ -40,30 +40,6 @@ sub mtr_cmp_opts($$);
#
##############################################################################
-# We want the fully qualified host name and hostname() may have returned
-# only the short name. So we use the resolver to find out.
-# Note that this might fail on some platforms
-
-sub mtr_full_hostname () {
-
- my $hostname= hostname();
- if ( $hostname !~ /\./ )
- {
- my $address= gethostbyname($hostname)
- or mtr_error("Couldn't resolve $hostname : $!");
- my $fullname= gethostbyaddr($address, AF_INET);
- $hostname= $fullname if $fullname;
- }
- return $hostname;
-}
-
-sub mtr_short_hostname () {
-
- my $hostname= hostname();
- $hostname =~ s/\..+$//;
- return $hostname;
-}
-
# Convert path to OS native format
sub mtr_native_path($)
{
@@ -226,6 +202,57 @@ sub mtr_copy_dir($$) {
}
+sub mtr_rmtree($) {
+ my ($dir)= @_;
+ mtr_verbose("mtr_rmtree: $dir");
+
+ # Try to use File::Path::rmtree. Recent versions
+ # handles removal of directories and files that don't
+ # have full permissions, while older versions
+ # may have a problem with that and we use our own version
+
+ eval { rmtree($dir); };
+ if ( $@ ) {
+ mtr_warning("rmtree($dir) failed, trying with File::Find...");
+
+ my $errors= 0;
+
+ # chmod
+ find( {
+ no_chdir => 1,
+ wanted => sub {
+ chmod(0777, $_)
+ or mtr_warning("couldn't chmod(0777, $_): $!") and $errors++;
+ }
+ },
+ $dir
+ );
+
+ # rm
+ finddepth( {
+ no_chdir => 1,
+ wanted => sub {
+ my $file= $_;
+ # Use special underscore (_) filehandle, caches stat info
+ if (!-l $file and -d _ ) {
+ rmdir($file) or
+ mtr_warning("couldn't rmdir($file): $!") and $errors++;
+ } else {
+ unlink($file)
+ or mtr_warning("couldn't unlink($file): $!") and $errors++;
+ }
+ }
+ },
+ $dir
+ );
+
+ mtr_error("Failed to remove '$dir'") if $errors;
+
+ mtr_report("OK, that worked!");
+ }
+}
+
+
sub mtr_same_opts ($$) {
my $l1= shift;
my $l2= shift;
@@ -253,4 +280,33 @@ sub mtr_cmp_opts ($$) {
return 0; # They are the same
}
+#
+# Compare two arrays and put all unequal elements into a new one
+#
+sub mtr_diff_opts ($$) {
+ my $l1= shift;
+ my $l2= shift;
+ my $f;
+ my $l= [];
+ foreach my $e1 (@$l1)
+ {
+ $f= undef;
+ foreach my $e2 (@$l2)
+ {
+ $f= 1 unless ($e1 ne $e2);
+ }
+ push(@$l, $e1) unless (defined $f);
+ }
+ foreach my $e2 (@$l2)
+ {
+ $f= undef;
+ foreach my $e1 (@$l1)
+ {
+ $f= 1 unless ($e1 ne $e2);
+ }
+ push(@$l, $e2) unless (defined $f);
+ }
+ return $l;
+}
+
1;
diff --git a/mysql-test/lib/mtr_process.pl b/mysql-test/lib/mtr_process.pl
index 69026d2c72f..8fd900330da 100644
--- a/mysql-test/lib/mtr_process.pl
+++ b/mysql-test/lib/mtr_process.pl
@@ -99,25 +99,26 @@ sub spawn_impl ($$$$$$$) {
if ( $::opt_script_debug )
{
- print STDERR "\n";
- print STDERR "#### ", "-" x 78, "\n";
- print STDERR "#### ", "STDIN $input\n" if $input;
- print STDERR "#### ", "STDOUT $output\n" if $output;
- print STDERR "#### ", "STDERR $error\n" if $error;
- print STDERR "#### ", "$mode : $path ", join(" ",@$arg_list_t), "\n";
- print STDERR "#### ", "spawn options:\n";
+ mtr_report("");
+ mtr_debug("-" x 73);
+ mtr_debug("STDIN $input") if $input;
+ mtr_debug("STDOUT $output") if $output;
+ mtr_debug("STDERR $error") if $error;
+ mtr_debug("$mode: $path ", join(" ",@$arg_list_t));
+ mtr_debug("spawn options:");
if ($spawn_opts)
{
foreach my $key (sort keys %{$spawn_opts})
{
- print STDERR "#### ", " - $key: $spawn_opts->{$key}\n";
+ mtr_debug(" - $key: $spawn_opts->{$key}");
}
}
else
{
- print STDERR "#### ", " none\n";
+ mtr_debug(" none");
}
- print STDERR "#### ", "-" x 78, "\n";
+ mtr_debug("-" x 73);
+ mtr_report("");
}
mtr_error("Can't spawn with empty \"path\"") unless defined $path;
diff --git a/mysql-test/lib/mtr_report.pl b/mysql-test/lib/mtr_report.pl
index fa38e8507f8..eb8d942ab6e 100644
--- a/mysql-test/lib/mtr_report.pl
+++ b/mysql-test/lib/mtr_report.pl
@@ -19,6 +19,7 @@
# same name.
use strict;
+use warnings;
sub mtr_report_test_name($);
sub mtr_report_test_passed($);
@@ -26,7 +27,6 @@ sub mtr_report_test_failed($);
sub mtr_report_test_skipped($);
sub mtr_report_test_not_skipped_though_disabled($);
-sub mtr_show_failed_diff ($);
sub mtr_report_stats ($);
sub mtr_print_line ();
sub mtr_print_thick_line ();
@@ -38,6 +38,9 @@ sub mtr_child_error (@);
sub mtr_debug (@);
sub mtr_verbose (@);
+my $tot_real_time= 0;
+
+
##############################################################################
#
@@ -45,44 +48,15 @@ sub mtr_verbose (@);
#
##############################################################################
-# We can't use diff -u or diff -a as these are not portable
-
-sub mtr_show_failed_diff ($) {
- my $tinfo= shift;
-
- # The reject and log files have been dumped to
- # to filenames based on the result_file's name
- my $base_file= mtr_match_extension($tinfo->{'result_file'},
- "result"); # Trim extension
- my $reject_file= "$base_file.reject";
- my $result_file= "$base_file.result";
- my $log_file= "$base_file.log";
-
- my $diffopts= $::opt_udiff ? "-u" : "-c";
-
- if ( -f $reject_file )
- {
- print "Below are the diffs between actual and expected results:\n";
- print "-------------------------------------------------------\n";
- # FIXME check result code?!
- mtr_run("diff",[$diffopts,$result_file,$reject_file], "", "", "", "");
- print "-------------------------------------------------------\n";
- print "Please follow the instructions outlined at\n";
- print "http://www.mysql.com/doc/en/Reporting_mysqltest_bugs.html\n";
- print "to find the reason to this problem and how to report this.\n\n";
- }
-
- if ( -f $log_file )
- {
- print "Result from queries before failure can be found in $log_file\n";
- # FIXME Maybe a tail -f -n 10 $log_file here
- }
-}
-
sub mtr_report_test_name ($) {
my $tinfo= shift;
+ my $tname= $tinfo->{name};
+
+ $tname.= " '$tinfo->{combination}'"
+ if defined $tinfo->{combination};
- printf "%-30s ", $tinfo->{'name'};
+ _mtr_log($tname);
+ printf "%-30s ", $tname;
}
sub mtr_report_test_skipped ($) {
@@ -91,15 +65,15 @@ sub mtr_report_test_skipped ($) {
$tinfo->{'result'}= 'MTR_RES_SKIPPED';
if ( $tinfo->{'disable'} )
{
- print "[ disabled ] $tinfo->{'comment'}\n";
+ mtr_report("[ disabled ] $tinfo->{'comment'}");
}
elsif ( $tinfo->{'comment'} )
{
- print "[ skipped ] $tinfo->{'comment'}\n";
+ mtr_report("[ skipped ] $tinfo->{'comment'}");
}
else
{
- print "[ skipped ]\n";
+ mtr_report("[ skipped ]");
}
}
@@ -127,11 +101,11 @@ sub mtr_report_test_passed ($) {
if ( $::opt_timer and -f "$::opt_vardir/log/timer" )
{
$timer= mtr_fromfile("$::opt_vardir/log/timer");
- $::glob_tot_real_time += ($timer/1000);
+ $tot_real_time += ($timer/1000);
$timer= sprintf "%12s", $timer;
}
$tinfo->{'result'}= 'MTR_RES_PASSED';
- print "[ pass ] $timer\n";
+ mtr_report("[ pass ] $timer");
}
sub mtr_report_test_failed ($) {
@@ -140,27 +114,34 @@ sub mtr_report_test_failed ($) {
$tinfo->{'result'}= 'MTR_RES_FAILED';
if ( defined $tinfo->{'timeout'} )
{
- print "[ fail ] timeout\n";
+ mtr_report("[ fail ] timeout");
return;
}
else
{
- print "[ fail ]\n";
+ mtr_report("[ fail ]");
}
if ( $tinfo->{'comment'} )
{
- print "\nERROR: $tinfo->{'comment'}\n";
+ # The test failure has been detected by mysql-test-run.pl
+ # when starting the servers or due to other error, the reason for
+ # failing the test is saved in "comment"
+ mtr_report("\nERROR: $tinfo->{'comment'}");
}
elsif ( -f $::path_timefile )
{
- print "\nErrors are (from $::path_timefile) :\n";
+ # Test failure was detected by test tool and it's report
+ # about what failed has been saved to file. Display the report.
+ print "\n";
print mtr_fromfile($::path_timefile); # FIXME print_file() instead
- print "\n(the last lines may be the most important ones)\n";
+ print "\n";
}
else
{
- print "\nUnexpected termination, probably when starting mysqld\n";
+ # Neither this script or the test tool has recorded info
+ # about why the test has failed. Should be debugged.
+ mtr_report("\nUnexpected termination, probably when starting mysqld");;
}
}
@@ -219,7 +200,7 @@ sub mtr_report_stats ($) {
"of what went wrong.\n",
"If you want to report this error, please read first ",
"the documentation at\n",
- "http://www.mysql.com/doc/en/MySQL_test_suite.html\n";
+ "http://dev.mysql.com/doc/mysql/en/mysql-test-suite.html\n";
}
if (!$::opt_extern)
{
@@ -228,8 +209,10 @@ sub mtr_report_stats ($) {
if ( $::opt_timer )
{
- print
- "Spent $::glob_tot_real_time seconds actually executing testcases\n"
+ use English;
+
+ mtr_report("Spent", sprintf("%.3f", $tot_real_time),"of",
+ time - $BASETIME, "seconds executing testcases");
}
# ----------------------------------------------------------------------
@@ -255,6 +238,7 @@ sub mtr_report_stats ($) {
"\\[ERROR\\]",
"^Error:", "^==.* at 0x",
"InnoDB: Warning",
+ "InnoDB: Error",
"^safe_mutex:",
"missing DBUG_RETURN",
"mysqld: Warning",
@@ -295,6 +279,14 @@ sub mtr_report_stats ($) {
/Failed to open log/ or
/Failed to open the existing master info file/ or
/Forcing shutdown of [0-9]* plugins/ or
+ /Can't open shared library .*\bha_example\b/ or
+ /Couldn't load plugin .*\bha_example\b/ or
+
+ # Due to timing issues, it might be that this warning
+ # is printed when the server shuts down and the
+ # computer is loaded.
+ /Forcing close of thread \d+ user: '.*?'/ or
+
/Got error [0-9]* when reading table/ or
/Incorrect definition of table/ or
/Incorrect information in file/ or
@@ -324,12 +316,14 @@ sub mtr_report_stats ($) {
/Slave: Error .*Unknown table/ or
/Slave: Error in Write_rows event: / or
/Slave: Field .* of table .* has no default value/ or
+ /Slave: Field .* doesn't have a default value/ or
/Slave: Query caused different errors on master and slave/ or
/Slave: Table .* doesn't exist/ or
/Slave: Table width mismatch/ or
/Slave: The incident LOST_EVENTS occured on the master/ or
/Slave: Unknown error.* 1105/ or
/Slave: Can't drop database.* database doesn't exist/ or
+ /Slave SQL:.*(?:Error_code: \d+|Query:.*)/ or
/Sort aborted/ or
/Time-out in NDB/ or
/Warning:\s+One can only use the --user.*root/ or
@@ -355,19 +349,61 @@ sub mtr_report_stats ($) {
/\QError in Log_event::read_log_event(): 'Sanity check failed', data_len: 258, event_type: 49\E/ or
/Statement is not safe to log in statement format/ or
+ # test case for Bug#bug29807 copies a stray frm into database
+ /InnoDB: Error: table `test`.`bug29807` does not exist in the InnoDB internal/ or
+ /Cannot find or open table test\/bug29807 from/ or
+
+ # innodb foreign key tests that fail in ALTER or RENAME produce this
+ /InnoDB: Error: in ALTER TABLE `test`.`t[12]`/ or
+ /InnoDB: Error: in RENAME TABLE table `test`.`t1`/ or
+ /InnoDB: Error: table `test`.`t[12]` does not exist in the InnoDB internal/ or
+
# Test case for Bug#14233 produces the following warnings:
/Stored routine 'test'.'bug14233_1': invalid value in column mysql.proc/ or
/Stored routine 'test'.'bug14233_2': invalid value in column mysql.proc/ or
/Stored routine 'test'.'bug14233_3': invalid value in column mysql.proc/ or
- # BUG#29807 - innodb_mysql.test: Cannot find table test/t2
- # from the internal data dictionary
- /Cannot find table test\/bug29807 from the internal data dictionary/ or
-
# BUG#29839 - lowercase_table3.test: Cannot find table test/T1
# from the internal data dictiona
- /Cannot find table test\/BUG29839 from the internal data dictionary/
- )
+ /Cannot find table test\/BUG29839 from the internal data dictionary/ or
+ # 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'/ or
+
+ # 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/ or
+ /Slave: Can't DROP 'c7'.* 1091/ or
+ /Slave: Key column 'c6'.* 1072/ or
+
+ # rpl_idempotency.test produces warnings for the slave.
+ ($testname eq 'rpl.rpl_idempotency' and
+ (/Slave: Can\'t find record in \'t1\' Error_code: 1032/ or
+ /Slave: Cannot add or update a child row: a foreign key constraint fails .* Error_code: 1452/
+ )) or
+
+ # These tests does "kill" on queries, causing sporadic errors when writing to logs
+ (($testname eq 'rpl.rpl_skip_error' or
+ $testname eq 'rpl.rpl_err_ignoredtable' or
+ $testname eq 'binlog.binlog_killed_simulate' or
+ $testname eq 'binlog.binlog_killed') and
+ (/Failed to write to mysql\.\w+_log/
+ )) or
+
+ # rpl_bug33931 has deliberate failures
+ ($testname eq 'rpl.rpl_bug33931' and
+ (/Failed during slave.*thread initialization/
+ )) or
+
+ # rpl_temporary has an error on slave that can be ignored
+ ($testname eq 'rpl.rpl_temporary' and
+ (/Slave: Can\'t find record in \'user\' Error_code: 1032/
+ )) or
+
+ # Test case for Bug#31590 produces the following error:
+ /Out of sort memory; increase server sort buffer size/
+ )
{
next; # Skip these lines
}
@@ -483,35 +519,66 @@ sub mtr_print_header () {
##############################################################################
#
-# Misc
+# Log and reporting functions
#
##############################################################################
+use IO::File;
+
+my $log_file_ref= undef;
+
+sub mtr_log_init ($) {
+ my ($filename)= @_;
+
+ mtr_error("Log is already open") if defined $log_file_ref;
+
+ $log_file_ref= IO::File->new($filename, "a") or
+ mtr_warning("Could not create logfile $filename: $!");
+}
+
+sub _mtr_log (@) {
+ print $log_file_ref join(" ", @_),"\n"
+ if defined $log_file_ref;
+}
+
sub mtr_report (@) {
+ # Print message to screen and log
+ _mtr_log(@_);
print join(" ", @_),"\n";
}
sub mtr_warning (@) {
+ # Print message to screen and log
+ _mtr_log("WARNING: ", @_);
print STDERR "mysql-test-run: WARNING: ",join(" ", @_),"\n";
}
sub mtr_error (@) {
+ # Print message to screen and log
+ _mtr_log("ERROR: ", @_);
print STDERR "mysql-test-run: *** ERROR: ",join(" ", @_),"\n";
mtr_exit(1);
}
sub mtr_child_error (@) {
+ # Print message to screen and log
+ _mtr_log("ERROR(child): ", @_);
print STDERR "mysql-test-run: *** ERROR(child): ",join(" ", @_),"\n";
exit(1);
}
sub mtr_debug (@) {
+ # Only print if --script-debug is used
if ( $::opt_script_debug )
{
+ _mtr_log("###: ", @_);
print STDERR "####: ",join(" ", @_),"\n";
}
}
+
sub mtr_verbose (@) {
+ # Always print to log, print to screen only when --verbose is used
+ _mtr_log("> ",@_);
if ( $::opt_verbose )
{
print STDERR "> ",join(" ", @_),"\n";
diff --git a/mysql-test/lib/mtr_timer.pl b/mysql-test/lib/mtr_timer.pl
index 86a9f58514f..326fbea74ec 100644
--- a/mysql-test/lib/mtr_timer.pl
+++ b/mysql-test/lib/mtr_timer.pl
@@ -18,7 +18,6 @@
# and is part of the translation of the Bourne shell script with the
# same name.
-use Socket;
use Errno;
use strict;
@@ -52,12 +51,10 @@ sub mtr_init_timers () {
sub mtr_timer_start($$$) {
my ($timers,$name,$duration)= @_;
- mtr_verbose("mtr_timer_start: $name, $duration");
-
if ( exists $timers->{'timers'}->{$name} )
{
# We have an old running timer, kill it
- mtr_verbose("There is an old timer running");
+ mtr_warning("There is an old timer running");
mtr_timer_stop($timers,$name);
}
@@ -75,22 +72,22 @@ sub mtr_timer_start($$$) {
}
else
{
- mtr_error("can't fork");
+ mtr_error("can't fork timer, error: $!");
}
}
if ( $tpid )
{
# Parent, record the information
- mtr_verbose("timer parent, record info($name, $tpid, $duration)");
+ mtr_verbose("Starting timer for '$name',",
+ "duration: $duration, pid: $tpid");
$timers->{'timers'}->{$name}->{'pid'}= $tpid;
$timers->{'timers'}->{$name}->{'duration'}= $duration;
$timers->{'pids'}->{$tpid}= $name;
}
else
{
- # Child, redirect output and exec
- # FIXME do we need to redirect streams?
+ # Child, install signal handlers and sleep for "duration"
# Don't do the ^C cleanup in the timeout child processes!
# There is actually a race here, if we get ^C after fork(), but before
@@ -98,13 +95,13 @@ sub mtr_timer_start($$$) {
$SIG{INT}= 'DEFAULT';
$SIG{TERM}= sub {
- mtr_verbose("timer woke up, exiting!");
+ mtr_verbose("timer $$ woke up, exiting!");
exit(0);
};
$0= "mtr_timer(timers,$name,$duration)";
sleep($duration);
- mtr_verbose("timer expired after $duration seconds");
+ mtr_verbose("timer $$ expired after $duration seconds");
exit(0);
}
}
@@ -114,12 +111,10 @@ sub mtr_timer_start($$$) {
sub mtr_timer_stop ($$) {
my ($timers,$name)= @_;
- mtr_verbose("mtr_timer_stop: $name");
-
if ( exists $timers->{'timers'}->{$name} )
{
my $tpid= $timers->{'timers'}->{$name}->{'pid'};
- mtr_verbose("Stopping timer with pid $tpid");
+ mtr_verbose("Stopping timer for '$name' with pid $tpid");
# FIXME as Cygwin reuses pids fast, maybe check that is
# the expected process somehow?!
@@ -134,11 +129,8 @@ sub mtr_timer_stop ($$) {
return 1;
}
- else
- {
- mtr_error("Asked to stop timer \"$name\" not started");
- return 0;
- }
+
+ mtr_error("Asked to stop timer '$name' not started");
}
@@ -158,7 +150,8 @@ sub mtr_timer_timeout ($$) {
return "" unless exists $timers->{'pids'}->{$pid};
- # We got a timeout, return the name ot the timer
+ # Got a timeout(the process with $pid is recorded as being a timer)
+ # return the name of the timer
return $timers->{'pids'}->{$pid};
}
diff --git a/mysql-test/mysql-test-run-shell.sh b/mysql-test/mysql-test-run-shell.sh
index 54323c878a9..ea8ce1b76d4 100644
--- a/mysql-test/mysql-test-run-shell.sh
+++ b/mysql-test/mysql-test-run-shell.sh
@@ -23,7 +23,16 @@ USE_MANAGER=0
MY_TZ=GMT-3
TZ=$MY_TZ; export TZ # for UNIX_TIMESTAMP tests to work
LOCAL_SOCKET=@MYSQL_UNIX_ADDR@
-MYSQL_TCP_PORT=@MYSQL_TCP_PORT@
+
+if [ -z "$MYSQL_TCP_PORT" ]; then
+ MYSQL_TCP_PORT=@MYSQL_TCP_PORT@
+ if [ @MYSQL_TCP_PORT_DEFAULT@ -eq 0 ]; then
+ ESP=`getent services mysql/tcp`
+ if [ $? -eq 0 ]; then
+ MYSQL_TCP_PORT=`echo "$ESP"|sed -e's-^[a-z]*[ ]*\([0-9]*\)/[a-z]*$-\1-g'`
+ fi
+ fi
+fi
umask 022
@@ -981,7 +990,7 @@ show_failed_diff ()
$DIFF -c $result_file $reject_file
echo "-------------------------------------------------------"
echo "Please follow the instructions outlined at"
- echo "http://dev.mysql.com/doc/mysql/en/reporting-mysqltest-bugs.html"
+ echo "http://forge.mysql.com/wiki/MySQL_Internals_Porting#Debugging_a_MySQL_Server"
echo "to find the reason to this problem and how to report this."
echo ""
fi
diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl
index dba463bb0d2..373aecf77aa 100755
--- a/mysql-test/mysql-test-run.pl
+++ b/mysql-test/mysql-test-run.pl
@@ -52,6 +52,9 @@
# "perl -d:Trace mysql-test-run.pl"
#
+
+use lib "lib/";
+
$Devel::Trace::TRACE= 0; # Don't trace boring init stuff
#require 5.6.1;
@@ -61,7 +64,6 @@ use File::Copy;
use File::Temp qw /tempdir/;
use Cwd;
use Getopt::Long;
-use Sys::Hostname;
use IO::Socket;
use IO::Socket::INET;
use strict;
@@ -83,7 +85,6 @@ require "lib/mtr_io.pl";
require "lib/mtr_gcov.pl";
require "lib/mtr_gprof.pl";
require "lib/mtr_report.pl";
-require "lib/mtr_diff.pl";
require "lib/mtr_match.pl";
require "lib/mtr_misc.pl";
require "lib/mtr_stress.pl";
@@ -101,7 +102,6 @@ $Devel::Trace::TRACE= 1;
our $mysql_version_id;
our $glob_mysql_test_dir= undef;
our $glob_mysql_bench_dir= undef;
-our $glob_hostname= undef;
our $glob_scriptname= undef;
our $glob_timers= undef;
our $glob_use_embedded_server= 0;
@@ -132,7 +132,18 @@ our $opt_vs_config = $ENV{'MTR_VS_CONFIG'};
our $default_vardir;
our $opt_usage;
-our $opt_suites= "main,binlog,rpl,rpl_ndb,ndb"; # Default suites to run
+our $opt_suites;
+our $opt_suites_default= "main,binlog,rpl,rpl_ndb,ndb"; # Default suites to run
+our @extra_suites=
+(
+ ["mysql-5.1-new-ndb", "ndb_team"],
+ ["mysql-5.1-new-ndb-merge", "ndb_team"],
+ ["mysql-5.1-telco-6.2", "ndb_team"],
+ ["mysql-5.1-telco-6.2-merge", "ndb_team"],
+ ["mysql-5.1-telco-6.3", "ndb_team"],
+ ["mysql-6.0-ndb", "ndb_team"],
+);
+
our $opt_script_debug= 0; # Script debugging, enable with --script-debug
our $opt_verbose= 0; # Verbose output, enable with --verbose
@@ -167,6 +178,9 @@ our $opt_bench= 0;
our $opt_small_bench= 0;
our $opt_big_test= 0;
+our @opt_combinations;
+our $opt_skip_combination;
+
our @opt_extra_mysqld_opt;
our $opt_compress;
@@ -234,7 +248,6 @@ my $opt_report_features;
our $opt_check_testcases;
our $opt_mark_progress;
-our $opt_skip;
our $opt_skip_rpl;
our $max_slave_num= 0;
our $max_master_num= 1;
@@ -259,13 +272,13 @@ our $opt_timer= 1;
our $opt_user;
-our $opt_valgrind= 0;
-our $opt_valgrind_mysqld= 0;
-our $opt_valgrind_mysqltest= 0;
-our $default_valgrind_options= "--show-reachable=yes";
-our $opt_valgrind_options;
-our $opt_valgrind_path;
-our $opt_callgrind;
+my $opt_valgrind= 0;
+my $opt_valgrind_mysqld= 0;
+my $opt_valgrind_mysqltest= 0;
+my @default_valgrind_args= ("--show-reachable=yes");
+my @valgrind_args;
+my $opt_valgrind_path;
+my $opt_callgrind;
our $opt_stress= "";
our $opt_stress_suite= "main";
@@ -277,13 +290,8 @@ our $opt_stress_test_duration= 0;
our $opt_stress_init_file= "";
our $opt_stress_test_file= "";
-our $opt_wait_for_master;
-our $opt_wait_for_slave;
-
our $opt_warnings;
-our $opt_udiff;
-
our $opt_skip_ndbcluster= 0;
our $opt_skip_ndbcluster_slave= 0;
our $opt_with_ndbcluster= 0;
@@ -307,7 +315,6 @@ our @data_dir_lst;
our $used_binlog_format;
our $used_default_engine;
our $debug_compiled_binaries;
-our $glob_tot_real_time= 0;
our %mysqld_variables;
@@ -405,6 +412,27 @@ sub main () {
else
{
# Figure out which tests we are going to run
+ if (!$opt_suites)
+ {
+ # use default and add any extra_suites as defined
+ $opt_suites= $opt_suites_default;
+ my $ccc= dirname($glob_mysql_test_dir);
+ my $found= 1; # BUG#34761 - disable this feature
+ while (!$found and !($ccc eq "/") and !($ccc eq ""))
+ {
+ my $ddd= basename($ccc);
+ foreach my $extra_suite (@extra_suites)
+ {
+ if ($extra_suite->[0] eq "$ddd")
+ {
+ $opt_suites= "$extra_suite->[1],$opt_suites";
+ $found= 1;
+ }
+ }
+ $ccc= dirname($ccc);
+ }
+ }
+
my $tests= collect_test_cases($opt_suites);
# Turn off NDB and other similar options if no tests use it
@@ -471,20 +499,28 @@ sub main () {
#
##############################################################################
+#
+# When an option is no longer used by this program, it must be explicitly
+# ignored or else it will be passed through to mysqld. GetOptions will call
+# this subroutine once for each such option on the command line. See
+# Getopt::Long documentation.
+#
+
+sub warn_about_removed_option {
+ my ($option, $value, $hash_value) = @_;
+
+ warn "WARNING: This option is no longer used, and is ignored: --$option\n";
+}
+
sub command_line_setup () {
# These are defaults for things that are set on the command line
my $opt_comment;
- $opt_master_myport= 9306;
- $opt_slave_myport= 9308;
- $opt_ndbcluster_port= 9310;
- $opt_ndbcluster_port_slave= 9311;
- $im_port= 9312;
- $im_mysqld1_port= 9313;
- $im_mysqld2_port= 9314;
-
+ # Magic number -69.4 results in traditional test ports starting from 9306.
+ set_mtr_build_thread_ports(-69.4);
+
# If so requested, we try to avail ourselves of a unique build thread number.
if ( $ENV{'MTR_BUILD_THREAD'} ) {
if ( lc($ENV{'MTR_BUILD_THREAD'}) eq 'auto' ) {
@@ -507,6 +543,15 @@ sub command_line_setup () {
# Read the command line
# Note: Keep list, and the order, in sync with usage at end of this file
+ # Options that are no longer used must still be processed, because all
+ # unprocessed options are passed directly to mysqld. The user will be
+ # warned that the option is being ignored.
+ #
+ # Put the complete option string here. For example, to remove the --suite
+ # option, remove it from GetOptions() below and put 'suite|suites=s' here.
+ my @removed_options = (
+ );
+
Getopt::Long::Configure("pass_through");
GetOptions(
# Control what engine/variation to run
@@ -539,6 +584,8 @@ sub command_line_setup () {
'skip-im' => \$opt_skip_im,
'skip-test=s' => \$opt_skip_test,
'big-test' => \$opt_big_test,
+ 'combination=s' => \@opt_combinations,
+ 'skip-combination' => \$opt_skip_combination,
# Specify ports
'master_port=i' => \$opt_master_myport,
@@ -584,7 +631,18 @@ sub command_line_setup () {
'valgrind|valgrind-all' => \$opt_valgrind,
'valgrind-mysqltest' => \$opt_valgrind_mysqltest,
'valgrind-mysqld' => \$opt_valgrind_mysqld,
- 'valgrind-options=s' => \$opt_valgrind_options,
+ 'valgrind-options=s' => sub {
+ my ($opt, $value)= @_;
+ # Deprecated option unless it's what we know pushbuild uses
+ if ($value eq "--gen-suppressions=all --show-reachable=yes") {
+ push(@valgrind_args, $_) for (split(' ', $value));
+ return;
+ }
+ die("--valgrind-options=s is deprecated. Use ",
+ "--valgrind-option=s, to be specified several",
+ " times if necessary");
+ },
+ 'valgrind-option=s' => \@valgrind_args,
'valgrind-path=s' => \$opt_valgrind_path,
'callgrind' => \$opt_callgrind,
@@ -619,12 +677,14 @@ sub command_line_setup () {
'start-dirty' => \$opt_start_dirty,
'start-and-exit' => \$opt_start_and_exit,
'timer!' => \$opt_timer,
- 'unified-diff|udiff' => \$opt_udiff,
'user=s' => \$opt_user,
'testcase-timeout=i' => \$opt_testcase_timeout,
'suite-timeout=i' => \$opt_suite_timeout,
'warnings|log-warnings' => \$opt_warnings,
+ # Options which are no longer used
+ (map { $_ => \&warn_about_removed_option } @removed_options),
+
'help|h' => \$opt_usage,
) or usage("Can't read options");
@@ -655,8 +715,6 @@ sub command_line_setup () {
$source_dist= 1;
}
- $glob_hostname= mtr_short_hostname();
-
# Find the absolute path to the test directory
$glob_mysql_test_dir= cwd();
if ( $glob_cygwin_perl )
@@ -748,6 +806,7 @@ sub command_line_setup () {
if (!$opt_extern)
{
$exe_mysqld= mtr_exe_exists (vs_config_dirs('sql', 'mysqld'),
+ vs_config_dirs('sql', 'mysqld-debug'),
"$glob_basedir/sql/mysqld",
"$path_client_bindir/mysqld-max-nt",
"$path_client_bindir/mysqld-max",
@@ -801,20 +860,23 @@ sub command_line_setup () {
# --------------------------------------------------------------------------
# Find out type of logging that are being used
# --------------------------------------------------------------------------
- # NOTE if the default binlog format is changed, this has to be changed
- $used_binlog_format= "statement";
if (!$opt_extern && $mysql_version_id >= 50100 )
{
- $used_binlog_format= "mixed"; # Default value for binlog format
-
foreach my $arg ( @opt_extra_mysqld_opt )
{
if ( $arg =~ /binlog[-_]format=(\S+)/ )
{
- $used_binlog_format= $1;
+ $used_binlog_format= $1;
}
}
- mtr_report("Using binlog format '$used_binlog_format'");
+ if (defined $used_binlog_format)
+ {
+ mtr_report("Using binlog format '$used_binlog_format'");
+ }
+ else
+ {
+ mtr_report("Using dynamic switching of binlog format");
+ }
}
@@ -932,27 +994,11 @@ sub command_line_setup () {
mtr_error("Will not run in record mode without a specific test case");
}
- # --------------------------------------------------------------------------
- # Embedded server flag
- # --------------------------------------------------------------------------
- if ( $opt_embedded_server )
+ if ( $opt_record )
{
- $glob_use_embedded_server= 1;
- push(@glob_test_mode, "embedded");
- $opt_skip_rpl= 1; # We never run replication with embedded
- $opt_skip_ndbcluster= 1; # Turn off use of NDB cluster
- $opt_skip_ssl= 1; # Turn off use of SSL
-
- # Turn off use of bin log
- push(@opt_extra_mysqld_opt, "--skip-log-bin");
-
- if ( $opt_extern )
- {
- mtr_error("Can't use --extern with --embedded-server");
- }
+ $opt_skip_combination = 1;
}
-
# --------------------------------------------------------------------------
# ps protcol flag
# --------------------------------------------------------------------------
@@ -1009,7 +1055,7 @@ sub command_line_setup () {
# --------------------------------------------------------------------------
# Check valgrind arguments
# --------------------------------------------------------------------------
- if ( $opt_valgrind or $opt_valgrind_path or defined $opt_valgrind_options)
+ if ( $opt_valgrind or $opt_valgrind_path or @valgrind_args)
{
mtr_report("Turning on valgrind for all executables");
$opt_valgrind= 1;
@@ -1034,29 +1080,32 @@ sub command_line_setup () {
$opt_valgrind_mysqld= 1;
# Set special valgrind options unless options passed on command line
- $opt_valgrind_options="--trace-children=yes"
- unless defined $opt_valgrind_options;
+ push(@valgrind_args, "--trace-children=yes")
+ unless @valgrind_args;
}
if ( $opt_valgrind )
{
# Set valgrind_options to default unless already defined
- $opt_valgrind_options=$default_valgrind_options
- unless defined $opt_valgrind_options;
+ push(@valgrind_args, @default_valgrind_args)
+ unless @valgrind_args;
- mtr_report("Running valgrind with options \"$opt_valgrind_options\"");
+ mtr_report("Running valgrind with options \"",
+ join(" ", @valgrind_args), "\"");
}
if ( ! $opt_testcase_timeout )
{
$opt_testcase_timeout= $default_testcase_timeout;
$opt_testcase_timeout*= 10 if $opt_valgrind;
+ $opt_testcase_timeout*= 10 if ($opt_debug and $glob_win32);
}
if ( ! $opt_suite_timeout )
{
$opt_suite_timeout= $default_suite_timeout;
$opt_suite_timeout*= 6 if $opt_valgrind;
+ $opt_suite_timeout*= 6 if ($opt_debug and $glob_win32);
}
if ( ! $opt_user )
@@ -1337,6 +1386,7 @@ sub set_mtr_build_thread_ports($) {
}
# Up to two masters, up to three slaves
+ # A magic value in command_line_setup depends on these equations.
$opt_master_myport= $mtr_build_thread * 10 + 10000; # and 1
$opt_slave_myport= $opt_master_myport + 2; # and 3 4
$opt_ndbcluster_port= $opt_master_myport + 5;
@@ -1386,6 +1436,7 @@ sub datadir_list_setup () {
sub collect_mysqld_features () {
my $found_variable_list_start= 0;
+ my $tmpdir= tempdir(CLEANUP => 0); # Directory removed by this function
#
# Execute "mysqld --help --verbose" to get a list
@@ -1396,7 +1447,7 @@ sub collect_mysqld_features () {
#
# --datadir must exist, mysqld will chdir into it
#
- my $list= `$exe_mysqld --no-defaults --datadir=$path_language --language=$path_language --skip-grant-tables --verbose --help`;
+ my $list= `$exe_mysqld --no-defaults --datadir=$tmpdir --language=$path_language --skip-grant-tables --verbose --help`;
foreach my $line (split('\n', $list))
{
@@ -1451,7 +1502,7 @@ sub collect_mysqld_features () {
}
}
}
-
+ rmtree($tmpdir);
mtr_error("Could not find version of MySQL") unless $mysql_version_id;
mtr_error("Could not find variabes list") unless $found_variable_list_start;
@@ -1693,7 +1744,7 @@ sub generate_cmdline_mysqldump ($) {
my($mysqld) = @_;
return
mtr_native_path($exe_mysqldump) .
- " --no-defaults -uroot --debug-info " .
+ " --no-defaults -uroot --debug-check " .
"--port=$mysqld->{'port'} " .
"--socket=$mysqld->{'path_sock'} --password=";
}
@@ -1946,7 +1997,7 @@ sub environment_setup () {
# ----------------------------------------------------
my $cmdline_mysqlcheck=
mtr_native_path($exe_mysqlcheck) .
- " --no-defaults --debug-info -uroot " .
+ " --no-defaults --debug-check -uroot " .
"--port=$master->[0]->{'port'} " .
"--socket=$master->[0]->{'path_sock'} --password=";
@@ -1998,7 +2049,7 @@ sub environment_setup () {
# ----------------------------------------------------
my $cmdline_mysqlimport=
mtr_native_path($exe_mysqlimport) .
- " -uroot --debug-info " .
+ " -uroot --debug-check " .
"--port=$master->[0]->{'port'} " .
"--socket=$master->[0]->{'path_sock'} --password=";
@@ -2015,7 +2066,7 @@ sub environment_setup () {
# ----------------------------------------------------
my $cmdline_mysqlshow=
mtr_native_path($exe_mysqlshow) .
- " -uroot --debug-info " .
+ " -uroot --debug-check " .
"--port=$master->[0]->{'port'} " .
"--socket=$master->[0]->{'path_sock'} --password=";
@@ -2031,7 +2082,7 @@ sub environment_setup () {
# ----------------------------------------------------
my $cmdline_mysqlbinlog=
mtr_native_path($exe_mysqlbinlog) .
- " --no-defaults --disable-force-if-open --debug-info";
+ " --no-defaults --disable-force-if-open --debug-check";
if ( !$opt_extern && $mysql_version_id >= 50000 )
{
$cmdline_mysqlbinlog .=" --character-sets-dir=$path_charsetsdir";
@@ -2049,7 +2100,7 @@ sub environment_setup () {
# ----------------------------------------------------
my $cmdline_mysql=
mtr_native_path($exe_mysql) .
- " --no-defaults --debug-info --host=localhost --user=root --password= " .
+ " --no-defaults --debug-check --host=localhost --user=root --password= " .
"--port=$master->[0]->{'port'} " .
"--socket=$master->[0]->{'path_sock'} ".
"--character-sets-dir=$path_charsetsdir";
@@ -2122,6 +2173,22 @@ sub environment_setup () {
($lib_example_plugin ? "--plugin_dir=" . dirname($lib_example_plugin) : "");
# ----------------------------------------------------
+ # Setup env so childs can execute myisampack and myisamchk
+ # ----------------------------------------------------
+ $ENV{'MYISAMCHK'}= mtr_native_path(mtr_exe_exists(
+ vs_config_dirs('storage/myisam', 'myisamchk'),
+ vs_config_dirs('myisam', 'myisamchk'),
+ "$path_client_bindir/myisamchk",
+ "$glob_basedir/storage/myisam/myisamchk",
+ "$glob_basedir/myisam/myisamchk"));
+ $ENV{'MYISAMPACK'}= mtr_native_path(mtr_exe_exists(
+ vs_config_dirs('storage/myisam', 'myisampack'),
+ vs_config_dirs('myisam', 'myisampack'),
+ "$path_client_bindir/myisampack",
+ "$glob_basedir/storage/myisam/myisampack",
+ "$glob_basedir/myisam/myisampack"));
+
+ # ----------------------------------------------------
# We are nice and report a bit about our settings
# ----------------------------------------------------
if (!$opt_extern)
@@ -2228,7 +2295,7 @@ sub remove_stale_vardir () {
{
# Remove the directory which the link points at
mtr_verbose("Removing " . readlink($opt_vardir));
- rmtree(readlink($opt_vardir));
+ mtr_rmtree(readlink($opt_vardir));
# Remove the "var" symlink
mtr_verbose("unlink($opt_vardir)");
@@ -2256,7 +2323,7 @@ sub remove_stale_vardir () {
foreach my $bin ( glob("$opt_vardir/*") )
{
mtr_verbose("Removing bin $bin");
- rmtree($bin);
+ mtr_rmtree($bin);
}
}
}
@@ -2264,7 +2331,7 @@ sub remove_stale_vardir () {
{
# Remove the entire "var" dir
mtr_verbose("Removing $opt_vardir/");
- rmtree("$opt_vardir/");
+ mtr_rmtree("$opt_vardir/");
}
if ( $opt_mem )
@@ -2273,7 +2340,7 @@ sub remove_stale_vardir () {
# remove the $opt_mem dir to assure the symlink
# won't point at an old directory
mtr_verbose("Removing $opt_mem");
- rmtree($opt_mem);
+ mtr_rmtree($opt_mem);
}
}
@@ -2286,11 +2353,11 @@ sub remove_stale_vardir () {
# Remove the var/ dir in mysql-test dir if any
# this could be an old symlink that shouldn't be there
mtr_verbose("Removing $default_vardir");
- rmtree($default_vardir);
+ mtr_rmtree($default_vardir);
# Remove the "var" dir
mtr_verbose("Removing $opt_vardir/");
- rmtree("$opt_vardir/");
+ mtr_rmtree("$opt_vardir/");
}
}
@@ -2480,6 +2547,7 @@ sub vs_config_dirs ($$) {
}
return ("$glob_basedir/$path_part/release/$exe",
+ "$glob_basedir/$path_part/relwithdebinfo/$exe",
"$glob_basedir/$path_part/debug/$exe");
}
@@ -2942,13 +3010,16 @@ sub initialize_servers () {
}
}
check_running_as_root();
+
+ mtr_log_init("$opt_vardir/log/mysql-test-run.log");
+
}
sub mysql_install_db () {
install_db('master', $master->[0]->{'path_myddir'});
- if ($max_master_num)
+ if ($max_master_num > 1)
{
copy_install_db('master', $master->[1]->{'path_myddir'});
}
@@ -3110,11 +3181,16 @@ sub install_db ($$) {
mtr_appendfile_to_file("$path_sql_dir/fill_help_tables.sql",
$bootstrap_sql_file);
+ # Remove anonymous users
+ mtr_tofile($bootstrap_sql_file,
+ "DELETE FROM mysql.user where user= '';");
+
# Log bootstrap command
my $path_bootstrap_log= "$opt_vardir/log/bootstrap.log";
mtr_tofile($path_bootstrap_log,
"$exe_mysqld_bootstrap " . join(" ", @$args) . "\n");
+
if ( mtr_run($exe_mysqld_bootstrap, $args, $bootstrap_sql_file,
$path_bootstrap_log, $path_bootstrap_log,
"", { append_log_file => 1 }) != 0 )
@@ -3239,7 +3315,7 @@ sub restore_slave_databases ($) {
{
my $data_dir= $slave->[$idx]->{'path_myddir'};
my $name= basename($data_dir);
- rmtree($data_dir);
+ mtr_rmtree($data_dir);
mtr_copy_dir("$path_snapshot/$name", $data_dir);
}
}
@@ -3321,6 +3397,7 @@ sub run_testcase_check_skip_test($)
sub do_before_run_mysqltest($)
{
my $tinfo= shift;
+ my $args;
# Remove old files produced by mysqltest
my $base_file= mtr_match_extension($tinfo->{'result_file'},
@@ -3341,6 +3418,28 @@ sub do_before_run_mysqltest($)
# if script decided to run mysqltest cluster _is_ installed ok
$ENV{'NDB_STATUS_OK'} = "YES";
}
+ if (defined $tinfo->{binlog_format} and $mysql_version_id > 50100 )
+ {
+ # Dynamically switch binlog format of
+ # master, slave is always restarted
+ foreach my $server ( @$master )
+ {
+ next unless ($server->{'pid'});
+
+ mtr_init_args(\$args);
+ mtr_add_arg($args, "--no-defaults");
+ mtr_add_arg($args, "--user=root");
+ mtr_add_arg($args, "--port=$server->{'port'}");
+ mtr_add_arg($args, "--socket=$server->{'path_sock'}");
+
+ my $sql= "include/set_binlog_format_".$tinfo->{binlog_format}.".sql";
+ mtr_verbose("Setting binlog format:", $tinfo->{binlog_format});
+ if (mtr_run($exe_mysql, $args, $sql, "", "", "") != 0)
+ {
+ mtr_error("Failed to switch binlog format");
+ }
+ }
+ }
}
}
@@ -3412,56 +3511,6 @@ sub find_testcase_skipped_reason($)
}
-sub analyze_testcase_failure_sync_with_master($)
-{
- my ($tinfo)= @_;
-
- my $args;
- mtr_init_args(\$args);
-
- mtr_add_arg($args, "--no-defaults");
- mtr_add_arg($args, "--silent");
- mtr_add_arg($args, "--skip-safemalloc");
- mtr_add_arg($args, "--tmpdir=%s", $opt_tmpdir);
- mtr_add_arg($args, "--character-sets-dir=%s", $path_charsetsdir);
-
- mtr_add_arg($args, "--socket=%s", $master->[0]->{'path_sock'});
- mtr_add_arg($args, "--port=%d", $master->[0]->{'port'});
- mtr_add_arg($args, "--database=test");
- mtr_add_arg($args, "--user=%s", $opt_user);
- mtr_add_arg($args, "--password=");
-
- # Run the test file and append output to log file
- mtr_run_test($exe_mysqltest,$args,
- "include/analyze_failure_sync_with_master.test",
- "$path_timefile", "$path_timefile","",
- { append_log_file => 1 });
-
-}
-
-sub analyze_testcase_failure($)
-{
- my ($tinfo)= @_;
-
- # Open mysqltest.log
- my $F= IO::File->new($path_timefile)
- or return;
-
- while ( my $line= <$F> )
- {
- # Look for "mysqltest: At line nnn: <error>
- if ( $line =~ /mysqltest: At line [0-9]*: (.*)/ )
- {
- my $error= $1;
- # Look for "could not sync with master"
- if ( $error =~ /could not sync with master/ )
- {
- analyze_testcase_failure_sync_with_master($tinfo);
- }
- }
- }
-}
-
##############################################################################
#
# Run a single test case
@@ -3561,10 +3610,6 @@ sub run_testcase ($) {
}
elsif ( $res == 1 )
{
- if ( $opt_force )
- {
- analyze_testcase_failure($tinfo);
- }
# Test case failure reported by mysqltest
report_failure_and_restart($tinfo);
}
@@ -3598,7 +3643,7 @@ sub run_testcase ($) {
sub save_installed_db () {
mtr_report("Saving snapshot of installed databases");
- rmtree($path_snapshot);
+ mtr_rmtree($path_snapshot);
foreach my $data_dir (@data_dir_lst)
{
@@ -3645,7 +3690,7 @@ sub restore_installed_db ($) {
{
my $name= basename($data_dir);
save_files_before_restore($test_name, $data_dir);
- rmtree("$data_dir");
+ mtr_rmtree("$data_dir");
mtr_copy_dir("$path_snapshot/$name", "$data_dir");
}
@@ -3655,7 +3700,7 @@ sub restore_installed_db ($) {
{
foreach my $ndbd (@{$cluster->{'ndbds'}})
{
- rmtree("$ndbd->{'path_fs'}" );
+ mtr_rmtree("$ndbd->{'path_fs'}" );
}
}
}
@@ -3670,7 +3715,6 @@ sub report_failure_and_restart ($) {
my $tinfo= shift;
mtr_report_test_failed($tinfo);
- mtr_show_failed_diff($tinfo);
print "\n";
if ( $opt_force )
{
@@ -3679,13 +3723,13 @@ sub report_failure_and_restart ($) {
# Restore the snapshot of the installed test db
restore_installed_db($tinfo->{'name'});
- print "Resuming Tests\n\n";
+ mtr_report("Resuming Tests\n");
return;
}
my $test_mode= join(" ", @::glob_test_mode) || "default";
- print "Aborting: $tinfo->{'name'} failed in $test_mode mode. ";
- print "To continue, re-run with '--force'.\n";
+ mtr_report("Aborting: $tinfo->{'name'} failed in $test_mode mode. ");
+ mtr_report("To continue, re-run with '--force'.");
if ( ! $glob_debugger and
! $opt_extern and
! $glob_use_embedded_server )
@@ -3821,6 +3865,20 @@ sub mysqld_arguments ($$$$) {
mtr_add_arg($args, "%s--language=%s", $prefix, $path_language);
mtr_add_arg($args, "%s--tmpdir=$opt_tmpdir", $prefix);
+ # Increase default connect_timeout to avoid intermittent
+ # disconnects when test servers are put under load
+ # see BUG#28359
+ mtr_add_arg($args, "%s--connect-timeout=60", $prefix);
+
+
+ # 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
+ my $euid= $>;
+ if (!$glob_win32 and $euid == 0 and
+ grep(/^--user/, @$extra_opt, @opt_extra_mysqld_opt) == 0) {
+ mtr_add_arg($args, "%s--user=root", $prefix);
+ }
+
if ( $opt_valgrind_mysqld )
{
mtr_add_arg($args, "%s--skip-safemalloc", $prefix);
@@ -3925,7 +3983,7 @@ sub mysqld_arguments ($$$$) {
my $slave_load_path= "../tmp";
mtr_add_arg($args, "%s--slave-load-tmpdir=%s", $prefix,
$slave_load_path);
- mtr_add_arg($args, "%s--set-variable=slave_net_timeout=10", $prefix);
+ mtr_add_arg($args, "%s--set-variable=slave_net_timeout=120", $prefix);
if ( @$slave_master_info )
{
@@ -4111,6 +4169,9 @@ sub mysqld_start ($$$) {
$wait_for_pid_file= 0;
}
+ # Remove the pidfile
+ unlink($mysqld->{'path_pid'});
+
if ( defined $exe )
{
$pid= mtr_spawn($exe, $args, "",
@@ -4144,11 +4205,11 @@ sub mysqld_start ($$$) {
sub stop_all_servers () {
- print "Stopping All Servers\n";
+ mtr_report("Stopping All Servers");
if ( ! $opt_skip_im )
{
- print "Shutting-down Instance Manager\n";
+ mtr_report("Shutting-down Instance Manager");
unless (mtr_im_stop($instance_manager, "stop_all_servers"))
{
mtr_error("Failed to stop Instance Manager.")
@@ -4160,7 +4221,7 @@ sub stop_all_servers () {
my $pid;
# Start shutdown of all started masters
- foreach my $mysqld (@{$master}, @{$slave})
+ foreach my $mysqld (@{$slave}, @{$master})
{
if ( $mysqld->{'pid'} )
{
@@ -4275,10 +4336,19 @@ sub run_testcase_need_master_restart($)
elsif (! mtr_same_opts($master->[0]->{'start_opts'},
$tinfo->{'master_opt'}) )
{
- $do_restart= 1;
- mtr_verbose("Restart master: running with different options '" .
- join(" ", @{$tinfo->{'master_opt'}}) . "' != '" .
- join(" ", @{$master->[0]->{'start_opts'}}) . "'" );
+ # Chech that diff is binlog format only
+ my $diff_opts= mtr_diff_opts($master->[0]->{'start_opts'},$tinfo->{'master_opt'});
+ if (scalar(@$diff_opts) eq 2)
+ {
+ $do_restart= 1 unless ($diff_opts->[0] =~/^--binlog-format=/ and $diff_opts->[1] =~/^--binlog-format=/);
+ }
+ else
+ {
+ $do_restart= 1;
+ mtr_verbose("Restart master: running with different options '" .
+ join(" ", @{$tinfo->{'master_opt'}}) . "' != '" .
+ join(" ", @{$master->[0]->{'start_opts'}}) . "'" );
+ }
}
elsif( ! $master->[0]->{'pid'} )
{
@@ -4858,6 +4928,9 @@ sub run_mysqltest ($) {
mtr_add_arg($args, "--test-file=%s", $tinfo->{'path'});
+ # Number of lines of resut to include in failure report
+ mtr_add_arg($args, "--tail-lines=20");
+
if ( defined $tinfo->{'result_file'} ) {
mtr_add_arg($args, "--result-file=%s", $tinfo->{'result_file'});
}
@@ -5111,7 +5184,7 @@ sub valgrind_arguments {
}
# Add valgrind options, can be overriden by user
- mtr_add_arg($args, '%s', $_) for (split(' ', $opt_valgrind_options));
+ mtr_add_arg($args, '%s', $_) for (@valgrind_args);
mtr_add_arg($args, $$exe);
@@ -5184,16 +5257,23 @@ Options to control what test suites or cases to run
skip-ndb[cluster] Skip all tests that need cluster
skip-ndb[cluster]-slave Skip all tests that need a slave cluster
ndb-extra Run extra tests from ndb directory
- do-test=PREFIX Run test cases which name are prefixed with PREFIX
+ do-test=PREFIX or REGEX
+ Run test cases which name are prefixed with PREFIX
+ or fulfills REGEX
+ skip-test=PREFIX or REGEX
+ Skip test cases which name are prefixed with PREFIX
+ or fulfills REGEX
start-from=PREFIX Run test cases starting from test prefixed with PREFIX
suite[s]=NAME1,..,NAMEN Collect tests in suites from the comma separated
list of suite names.
- The default is: "$opt_suites"
+ The default is: "$opt_suites_default"
skip-rpl Skip the replication test cases.
skip-im Don't start IM, and skip the IM test cases
- skip-test=PREFIX Skip test cases which name are prefixed with PREFIX
big-test Set the environment variable BIG_TEST, which can be
checked from test cases.
+ combination="ARG1 .. ARG2" Specify a set of "mysqld" arguments for one
+ combination.
+ skip-combination Skip any combination options and combinations files
Options that specify ports
@@ -5249,12 +5329,14 @@ Options for coverage, profiling etc
gcov FIXME
gprof FIXME
valgrind Run the "mysqltest" and "mysqld" executables using
- valgrind with options($default_valgrind_options)
+ valgrind with default options
valgrind-all Synonym for --valgrind
valgrind-mysqltest Run the "mysqltest" and "mysql_client_test" executable
with valgrind
valgrind-mysqld Run the "mysqld" executable with valgrind
- valgrind-options=ARGS Options to give valgrind, replaces default options
+ valgrind-options=ARGS Deprecated, use --valgrind-option
+ valgrind-option=ARGS Option to give valgrind, replaces default option(s),
+ can be specified more then once
valgrind-path=[EXE] Path to the valgrind executable
callgrind Instruct valgrind to use callgrind
@@ -5271,7 +5353,6 @@ Misc options
fast Don't try to clean up from earlier runs
reorder Reorder tests to get fewer server restarts
help Get this help text
- unified-diff | udiff When presenting differences, use unified diff
testcase-timeout=MINUTES Max test case run time (default $default_testcase_timeout)
suite-timeout=MINUTES Max test suite run time (default $default_suite_timeout)
diff --git a/mysql-test/r/almost_full.result b/mysql-test/r/almost_full.result
new file mode 100644
index 00000000000..eb28f12fa51
--- /dev/null
+++ b/mysql-test/r/almost_full.result
@@ -0,0 +1,29 @@
+drop table if exists t1;
+set global myisam_data_pointer_size=2;
+CREATE TABLE t1 (a int auto_increment primary key not null, b longtext) ENGINE=MyISAM;
+DELETE FROM t1 WHERE a=1 or a=5;
+INSERT INTO t1 SET b=repeat('a',600);
+ERROR HY000: The table 't1' is full
+CHECK TABLE t1 EXTENDED;
+Table Op Msg_type Msg_text
+test.t1 check warning Datafile is almost full, 65448 of 65534 used
+test.t1 check status OK
+UPDATE t1 SET b=repeat('a', 800) where a=10;
+ERROR HY000: The table 't1' is full
+CHECK TABLE t1 EXTENDED;
+Table Op Msg_type Msg_text
+test.t1 check warning Datafile is almost full, 65448 of 65534 used
+test.t1 check status OK
+INSERT INTO t1 SET b=repeat('a',400);
+CHECK TABLE t1 EXTENDED;
+Table Op Msg_type Msg_text
+test.t1 check warning Datafile is almost full, 65448 of 65534 used
+test.t1 check status OK
+DELETE FROM t1 WHERE a=2 or a=6;
+UPDATE t1 SET b=repeat('a', 600) where a=11;
+CHECK TABLE t1 EXTENDED;
+Table Op Msg_type Msg_text
+test.t1 check warning Datafile is almost full, 65448 of 65534 used
+test.t1 check status OK
+drop table t1;
+set global myisam_data_pointer_size=default;
diff --git a/mysql-test/r/alter_table.result b/mysql-test/r/alter_table.result
index 7c0ac177cb5..3cec1f546d2 100644
--- a/mysql-test/r/alter_table.result
+++ b/mysql-test/r/alter_table.result
@@ -54,7 +54,7 @@ SHOW FULL COLUMNS FROM t1;
Field Type Collation Null Key Default Extra Privileges Comment
GROUP_ID int(10) unsigned NULL NO PRI 0 #
LANG_ID smallint(5) unsigned NULL NO PRI 0 #
-NAME char(80) latin1_swedish_ci NO MUL #
+NAME char(80) latin1_swedish_ci NO MUL NULL #
DROP TABLE t1;
create table t1 (n int);
insert into t1 values(9),(3),(12),(10);
@@ -539,7 +539,7 @@ F2E5F1F2
drop table t1;
create table t1 ( a timestamp );
alter table t1 add unique ( a(1) );
-ERROR HY000: Incorrect sub part key; the used key part isn't a string, the used length is longer than the key part, or the storage engine doesn't support unique sub keys
+ERROR HY000: Incorrect prefix key; the used key part isn't a string, the used length is longer than the key part, or the storage engine doesn't support unique prefix keys
drop table t1;
drop table if exists t1;
create table t1 (a int, key(a));
@@ -953,12 +953,12 @@ t1 CREATE TABLE `t1` (
KEY `b_2` (`b`(50))
) ENGINE=MyISAM DEFAULT CHARSET=latin1
CREATE TABLE t2 (a INT, KEY (a(20)));
-ERROR HY000: Incorrect sub part key; the used key part isn't a string, the used length is longer than the key part, or the storage engine doesn't support unique sub keys
+ERROR HY000: Incorrect prefix key; the used key part isn't a string, the used length is longer than the key part, or the storage engine doesn't support unique prefix keys
ALTER TABLE t1 ADD d INT;
ALTER TABLE t1 ADD KEY (d(20));
-ERROR HY000: Incorrect sub part key; the used key part isn't a string, the used length is longer than the key part, or the storage engine doesn't support unique sub keys
+ERROR HY000: Incorrect prefix key; the used key part isn't a string, the used length is longer than the key part, or the storage engine doesn't support unique prefix keys
ALTER TABLE t1 ADD e GEOMETRY NOT NULL, ADD SPATIAL KEY (e(30));
-ERROR HY000: Incorrect sub part key; the used key part isn't a string, the used length is longer than the key part, or the storage engine doesn't support unique sub keys
+ERROR HY000: Incorrect prefix key; the used key part isn't a string, the used length is longer than the key part, or the storage engine doesn't support unique prefix keys
DROP TABLE t1;
CREATE TABLE t1 (s CHAR(8) BINARY);
INSERT INTO t1 VALUES ('test');
@@ -1125,7 +1125,7 @@ INDEX(`int_field`)
);
DESCRIBE t1;
Field Type Null Key Default Extra
-int_field int(10) unsigned NO MUL
+int_field int(10) unsigned NO MUL NULL
char_field char(10) YES NULL
SHOW INDEXES FROM t1;
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
@@ -1146,16 +1146,16 @@ unsigned_int_field char_field
5 pet
DESCRIBE t2;
Field Type Null Key Default Extra
-unsigned_int_field int(10) unsigned NO MUL
+unsigned_int_field int(10) unsigned NO MUL NULL
char_field char(10) YES NULL
DESCRIBE t2;
Field Type Null Key Default Extra
-unsigned_int_field int(10) unsigned NO MUL
+unsigned_int_field int(10) unsigned NO MUL NULL
char_field char(10) YES NULL
ALTER TABLE t2 MODIFY unsigned_int_field BIGINT UNSIGNED NOT NULL;
DESCRIBE t2;
Field Type Null Key Default Extra
-unsigned_int_field bigint(20) unsigned NO MUL
+unsigned_int_field bigint(20) unsigned NO MUL NULL
char_field char(10) YES NULL
DROP TABLE t2;
CREATE TABLE t1 (f1 INT, f2 INT, f3 INT);
diff --git a/mysql-test/r/analyze.result b/mysql-test/r/analyze.result
index 7b476c3cca2..c3dbb846402 100644
--- a/mysql-test/r/analyze.result
+++ b/mysql-test/r/analyze.result
@@ -56,3 +56,11 @@ show index from t1;
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
t1 1 a 1 a A 5 NULL NULL YES BTREE
drop table t1;
+End of 4.1 tests
+create table t1(a int);
+analyze table t1 extended;
+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 'extended' at line 1
+optimize table t1 extended;
+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 'extended' at line 1
+drop table t1;
+End of 5.0 tests
diff --git a/mysql-test/r/archive.result b/mysql-test/r/archive.result
index 36b013703d8..e9eb50fc805 100644
--- a/mysql-test/r/archive.result
+++ b/mysql-test/r/archive.result
@@ -2619,7 +2619,7 @@ auto fld1 companynr fld3 fld4 fld5 fld6
INSERT INTO t2 VALUES (2,011401,37,'breaking','dreaded','Steinberg','W');
INSERT INTO t2 VALUES (3,011402,37,'Romans','scholastics','jarring','');
INSERT INTO t2 VALUES (4,011403,37,'intercepted','audiology','tinily','');
-OPTIMIZE TABLE t2 EXTENDED;
+OPTIMIZE TABLE t2;
Table Op Msg_type Msg_text
test.t2 optimize status OK
SELECT * FROM t2;
@@ -11124,10 +11124,11 @@ auto fld1 companynr fld3 fld4 fld5 fld6
SELECT COUNT(auto) FROM t2;
COUNT(auto)
1213
-INSERT DELAYED INTO t2 VALUES (4,011403,37,'intercepted','audiology','tinily','');
+INSERT DELAYED INTO t2 VALUES (99999,011403,37,'the','delayed','insert','');
+INSERT INTO t2 VALUES (100000,000001,00,'after','delayed','insert','');
SELECT COUNT(auto) FROM t2;
COUNT(auto)
-1214
+1215
ALTER TABLE t2 DROP COLUMN fld6;
SHOW CREATE TABLE t2;
Table Create Table
@@ -11139,7 +11140,7 @@ t2 CREATE TABLE `t2` (
`fld4` char(35) NOT NULL DEFAULT '',
`fld5` char(35) NOT NULL DEFAULT ''
) ENGINE=ARCHIVE DEFAULT CHARSET=latin1
-SELECT * FROM t2;
+SELECT * FROM t2 WHERE auto != 100000;
auto fld1 companynr fld3 fld4 fld5
1 000001 00 Omaha teethe neat
2 011401 37 breaking dreaded Steinberg
@@ -12354,7 +12355,7 @@ auto fld1 companynr fld3 fld4 fld5
2 011401 37 breaking dreaded Steinberg
3 011402 37 Romans scholastics jarring
4 011403 37 intercepted audiology tinily
-4 011403 37 intercepted audiology tinily
+99999 011403 37 the delayed insert
CREATE TABLE `t5` (
`a` int(11) NOT NULL auto_increment,
b char(12),
@@ -12664,7 +12665,7 @@ t6 CREATE TABLE `t6` (
`b` tinyblob,
`c` int(11) DEFAULT NULL,
KEY `a` (`a`)
-) ENGINE=ARCHIVE DEFAULT CHARSET=latin1
+) ENGINE=ARCHIVE AUTO_INCREMENT=36 DEFAULT CHARSET=latin1
DROP TABLE t1, t2, t4, t5, t6;
create table t1 (i int) engine=archive;
insert into t1 values (1);
@@ -12682,3 +12683,14 @@ check table t1 extended;
Table Op Msg_type Msg_text
test.t1 check status OK
drop table t1;
+CREATE TABLE t1(a VARCHAR(510)) ENGINE = ARCHIVE;
+INSERT INTO t1(a) VALUES ('');
+SELECT * FROM t1 ORDER BY a;
+DROP TABLE t1;
+CREATE TABLE t1(a INT NOT NULL AUTO_INCREMENT, b BLOB, KEY(a)) ENGINE=archive;
+INSERT INTO t1 VALUES (NULL, NULL),(NULL, NULL);
+FLUSH TABLE t1;
+SELECT * FROM t1 ORDER BY a;
+a b
+1 NULL
+2 NULL
diff --git a/mysql-test/r/auto_increment.result b/mysql-test/r/auto_increment.result
index 54c2df34a7f..bc9daf43f14 100644
--- a/mysql-test/r/auto_increment.result
+++ b/mysql-test/r/auto_increment.result
@@ -231,8 +231,7 @@ a b
204 7
delete from t1 where a=0;
update t1 set a=NULL where b=6;
-Warnings:
-Warning 1048 Column 'a' cannot be null
+ERROR 23000: Column 'a' cannot be null
update t1 set a=300 where b=7;
SET SQL_MODE='';
insert into t1(a,b)values(NULL,8);
@@ -247,7 +246,7 @@ a b
1 1
200 2
201 4
-0 6
+203 6
300 7
301 8
400 9
@@ -263,6 +262,7 @@ a b
1 1
200 2
201 4
+203 6
300 7
301 8
400 9
@@ -273,20 +273,20 @@ a b
405 14
delete from t1 where a=0;
update t1 set a=NULL where b=13;
-Warnings:
-Warning 1048 Column 'a' cannot be null
+ERROR 23000: Column 'a' cannot be null
update t1 set a=500 where b=14;
select * from t1 order by b;
a b
1 1
200 2
201 4
+203 6
300 7
301 8
400 9
401 10
402 11
-0 13
+404 13
500 14
drop table t1;
create table t1 (a bigint);
diff --git a/mysql-test/r/bdb_notembedded.result b/mysql-test/r/bdb_notembedded.result
deleted file mode 100644
index 14cb5fad915..00000000000
--- a/mysql-test/r/bdb_notembedded.result
+++ /dev/null
@@ -1,35 +0,0 @@
-set autocommit=1;
-reset master;
-create table bug16206 (a int);
-insert into bug16206 values(1);
-start transaction;
-insert into bug16206 values(2);
-commit;
-show binlog events;
-Log_name Pos Event_type Server_id End_log_pos Info
-f n Format_desc 1 n Server ver: VERSION, Binlog ver: 4
-f n Query 1 n use `test`; create table bug16206 (a int)
-f n Query 1 n use `test`; insert into bug16206 values(1)
-f n Query 1 n use `test`; insert into bug16206 values(2)
-drop table bug16206;
-reset master;
-create table bug16206 (a int) engine= bdb;
-insert into bug16206 values(0);
-insert into bug16206 values(1);
-start transaction;
-insert into bug16206 values(2);
-commit;
-insert into bug16206 values(3);
-show binlog events;
-Log_name Pos Event_type Server_id End_log_pos Info
-f n Format_desc 1 n Server ver: VERSION, Binlog ver: 4
-f n Query 1 n use `test`; create table bug16206 (a int) engine= bdb
-f n Query 1 n use `test`; insert into bug16206 values(0)
-f n Query 1 n use `test`; insert into bug16206 values(1)
-f n Query 1 n use `test`; BEGIN
-f n Query 1 n use `test`; insert into bug16206 values(2)
-f n Query 1 n use `test`; COMMIT
-f n Query 1 n use `test`; insert into bug16206 values(3)
-drop table bug16206;
-set autocommit=0;
-End of 5.0 tests
diff --git a/mysql-test/r/bigint.result b/mysql-test/r/bigint.result
index 0d6cf8e7d30..4a5b8fcf4aa 100644
--- a/mysql-test/r/bigint.result
+++ b/mysql-test/r/bigint.result
@@ -170,6 +170,12 @@ t2.value64=t1.value64;
value64 value32 value64 value32
9223372036854775807 2 9223372036854775807 4
drop table t1, t2;
+create table t1 (sint64 bigint not null);
+insert into t1 values (-9223372036854775808);
+select * from t1;
+sint64
+-9223372036854775808
+drop table t1;
create table t1 select 1 as 'a';
show create table t1;
Table Create Table
diff --git a/mysql-test/r/binlog_unsafe.result b/mysql-test/r/binlog_unsafe.result
deleted file mode 100644
index 624c7feec1f..00000000000
--- a/mysql-test/r/binlog_unsafe.result
+++ /dev/null
@@ -1,13 +0,0 @@
-SET BINLOG_FORMAT=STATEMENT;
-CREATE TABLE t1 (a CHAR(40));
-CREATE TABLE t2 (a INT AUTO_INCREMENT PRIMARY KEY);
-CREATE TABLE t3 (b INT AUTO_INCREMENT PRIMARY KEY);
-CREATE VIEW v1(a,b) AS SELECT a,b FROM t2,t3;
-INSERT INTO t1 SELECT UUID();
-Warnings:
-Warning 1589 Statement is not safe to log in statement format.
-SHOW WARNINGS;
-Level Warning
-Code 1589
-Message Statement is not safe to log in statement format.
-DROP TABLE t1,t2,t3;
diff --git a/mysql-test/r/case.result b/mysql-test/r/case.result
index 9ee64ee6dbd..0c0e2d623c8 100644
--- a/mysql-test/r/case.result
+++ b/mysql-test/r/case.result
@@ -1,4 +1,4 @@
-drop table if exists t1,t2;
+drop table if exists t1, t2;
select CASE "b" when "a" then 1 when "b" then 2 END;
CASE "b" when "a" then 1 when "b" then 2 END
2
@@ -27,7 +27,7 @@ explain extended select CASE 1 when 1 then "one" WHEN 2 then "two" ELSE "more" E
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 (case 1 when 1 then _latin1'one' when 2 then _latin1'two' else _latin1'more' end) AS `CASE 1 when 1 then "one" WHEN 2 then "two" ELSE "more" END`
+Note 1003 select (case 1 when 1 then 'one' when 2 then 'two' else 'more' end) AS `CASE 1 when 1 then "one" WHEN 2 then "two" ELSE "more" END`
select CASE 2.0 when 1 then "one" WHEN 2.0 then "two" ELSE "more" END;
CASE 2.0 when 1 then "one" WHEN 2.0 then "two" ELSE "more" END
two
@@ -147,7 +147,7 @@ COALESCE('a' COLLATE latin1_bin,'b');
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 coalesce(1) AS `COALESCE(1)`,coalesce(1.0) AS `COALESCE(1.0)`,coalesce(_latin1'a') AS `COALESCE('a')`,coalesce(1,1.0) AS `COALESCE(1,1.0)`,coalesce(1,_latin1'1') AS `COALESCE(1,'1')`,coalesce(1.1,_latin1'1') AS `COALESCE(1.1,'1')`,coalesce((_latin1'a' collate latin1_bin),_latin1'b') AS `COALESCE('a' COLLATE latin1_bin,'b')`
+Note 1003 select coalesce(1) AS `COALESCE(1)`,coalesce(1.0) AS `COALESCE(1.0)`,coalesce('a') AS `COALESCE('a')`,coalesce(1,1.0) AS `COALESCE(1,1.0)`,coalesce(1,'1') AS `COALESCE(1,'1')`,coalesce(1.1,'1') AS `COALESCE(1.1,'1')`,coalesce(('a' collate latin1_bin),'b') AS `COALESCE('a' COLLATE latin1_bin,'b')`
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
@@ -200,3 +200,21 @@ CEMPNUM EMPMUM1 EMPNUM2
0.00 0 0.00
2.00 2 NULL
DROP TABLE t1,t2;
+End of 4.1 tests
+create table t1 (a int, b bigint unsigned);
+create table t2 (c int);
+insert into t1 (a, b) values (1,4572794622775114594), (2,18196094287899841997),
+(3,11120436154190595086);
+insert into t2 (c) values (1), (2), (3);
+select t1.a, (case t1.a when 0 then 0 else t1.b end) d from t1
+join t2 on t1.a=t2.c order by d;
+a d
+1 4572794622775114594
+3 11120436154190595086
+2 18196094287899841997
+select t1.a, (case t1.a when 0 then 0 else t1.b end) d from t1
+join t2 on t1.a=t2.c where b=11120436154190595086 order by d;
+a d
+3 11120436154190595086
+drop table t1, t2;
+End of 5.0 tests
diff --git a/mysql-test/r/cast.result b/mysql-test/r/cast.result
index afd0a5a990e..c1af92c5f8d 100644
--- a/mysql-test/r/cast.result
+++ b/mysql-test/r/cast.result
@@ -414,4 +414,28 @@ NULL
NULL
20070719
drop table t1;
+CREATE TABLE t1 (f1 DATE);
+INSERT INTO t1 VALUES ('2007-07-19'), (NULL);
+SELECT HOUR(f1),
+MINUTE(f1),
+SECOND(f1) FROM t1;
+HOUR(f1) MINUTE(f1) SECOND(f1)
+0 0 0
+NULL NULL NULL
+SELECT HOUR(CAST('2007-07-19' AS DATE)),
+MINUTE(CAST('2007-07-19' AS DATE)),
+SECOND(CAST('2007-07-19' AS DATE));
+HOUR(CAST('2007-07-19' AS DATE)) MINUTE(CAST('2007-07-19' AS DATE)) SECOND(CAST('2007-07-19' AS DATE))
+0 0 0
+SELECT HOUR(CAST(NULL AS DATE)),
+MINUTE(CAST(NULL AS DATE)),
+SECOND(CAST(NULL AS DATE));
+HOUR(CAST(NULL AS DATE)) MINUTE(CAST(NULL AS DATE)) SECOND(CAST(NULL AS DATE))
+NULL NULL NULL
+SELECT HOUR(NULL),
+MINUTE(NULL),
+SECOND(NULL);
+HOUR(NULL) MINUTE(NULL) SECOND(NULL)
+NULL NULL NULL
+DROP TABLE t1;
End of 5.0 tests
diff --git a/mysql-test/r/change_user.result b/mysql-test/r/change_user.result
new file mode 100644
index 00000000000..28b55dfd5e5
--- /dev/null
+++ b/mysql-test/r/change_user.result
@@ -0,0 +1,46 @@
+Bug#20023
+SELECT @@session.sql_big_selects;
+@@session.sql_big_selects
+1
+SELECT @@global.max_join_size;
+@@global.max_join_size
+18446744073709551615
+change_user
+SELECT @@session.sql_big_selects;
+@@session.sql_big_selects
+1
+SELECT @@global.max_join_size;
+@@global.max_join_size
+18446744073709551615
+SET @@global.max_join_size = 10000;
+SET @@session.max_join_size = default;
+change_user
+SELECT @@session.sql_big_selects;
+@@session.sql_big_selects
+0
+SET @@global.max_join_size = -1;
+SET @@session.max_join_size = default;
+change_user
+SELECT @@session.sql_big_selects;
+@@session.sql_big_selects
+1
+Bug#31418
+SELECT IS_FREE_LOCK('bug31418');
+IS_FREE_LOCK('bug31418')
+1
+SELECT IS_USED_LOCK('bug31418');
+IS_USED_LOCK('bug31418')
+NULL
+SELECT GET_LOCK('bug31418', 1);
+GET_LOCK('bug31418', 1)
+1
+SELECT IS_USED_LOCK('bug31418') = CONNECTION_ID();
+IS_USED_LOCK('bug31418') = CONNECTION_ID()
+1
+change_user
+SELECT IS_FREE_LOCK('bug31418');
+IS_FREE_LOCK('bug31418')
+1
+SELECT IS_USED_LOCK('bug31418');
+IS_USED_LOCK('bug31418')
+NULL
diff --git a/mysql-test/r/comments.result b/mysql-test/r/comments.result
index 98921c561d1..d8ac68e2468 100644
--- a/mysql-test/r/comments.result
+++ b/mysql-test/r/comments.result
@@ -36,3 +36,18 @@ select 1/*!999992*/;
select 1 + /*!00000 2 */ + 3 /*!99999 noise*/ + 4;
1 + 2 + 3 + 4
10
+drop table if exists table_28779;
+create table table_28779 (a int);
+prepare bar from "DELETE FROM table_28779 WHERE a = 7 OR 1=1/*' AND b = 'bar';";
+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 '/*' AND b = 'bar'' at line 1
+prepare bar from "DELETE FROM table_28779 WHERE a = 7 OR 1=1/*' AND b = 'bar';*";
+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 '/*' AND b = 'bar';*' at line 1
+prepare bar from "DELETE FROM table_28779 WHERE a = 7 OR 1=1/*! AND 2=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 '' at line 1
+prepare bar from "DELETE FROM table_28779 WHERE a = 7 OR 1=1/*! AND 2=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 ';*' at line 1
+prepare bar from "DELETE FROM table_28779 WHERE a = 7 OR 1=1/*!98765' AND b = 'bar';";
+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 '/*!98765' AND b = 'bar'' at line 1
+prepare bar from "DELETE FROM table_28779 WHERE a = 7 OR 1=1/*!98765' AND b = 'bar';*";
+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 '/*!98765' AND b = 'bar';*' at line 1
+drop table table_28779;
diff --git a/mysql-test/r/commit_1innodb.result b/mysql-test/r/commit_1innodb.result
new file mode 100644
index 00000000000..ed0034cfc99
--- /dev/null
+++ b/mysql-test/r/commit_1innodb.result
@@ -0,0 +1,884 @@
+set sql_mode=no_engine_substitution;
+set storage_engine = InnoDB;
+set autocommit=1;
+drop table if exists t1;
+drop table if exists t2;
+drop table if exists t3;
+drop function if exists f2;
+drop procedure if exists bug12713_call;
+drop procedure if exists bug12713_dump_spvars;
+drop procedure if exists dummy;
+create table t1 (a int);
+create table t2 (a int unique);
+create table t3 (a int);
+set sql_mode=default;
+insert into t1 (a) values (1), (2);
+insert into t3 (a) values (1), (2);
+create function f2(x int) returns int
+begin
+insert into t2 (a) values (x);
+insert into t2 (a) values (x);
+return x;
+end|
+set autocommit=0;
+flush status;
+insert into t2 (a) values (1001);
+insert into t1 (a) values (f2(1));
+ERROR 23000: Duplicate entry '1' for key 'a'
+select * from t2;
+a
+1001
+rollback;
+select * from t2;
+a
+insert into t2 (a) values (1002);
+insert into t3 (a) select f2(2) from t1;
+ERROR 23000: Duplicate entry '2' for key 'a'
+select * from t2;
+a
+1002
+rollback;
+select * from t2;
+a
+insert into t2 (a) values (1003);
+update t1 set a= a + f2(3);
+ERROR 23000: Duplicate entry '3' for key 'a'
+select * from t2;
+a
+1003
+rollback;
+select * from t2;
+a
+insert into t2 (a) values (1004);
+update t1, t3 set t1.a = 0, t3.a = 0 where (f2(4) = 4) and (t1.a = t3.a);
+ERROR 23000: Duplicate entry '4' for key 'a'
+select * from t2;
+a
+1004
+rollback;
+select * from t2;
+a
+insert into t2 (a) values (1005);
+delete from t1 where (a = f2(5));
+ERROR 23000: Duplicate entry '5' for key 'a'
+select * from t2;
+a
+1005
+rollback;
+select * from t2;
+a
+insert into t2 (a) values (1006);
+delete from t1, t3 using t1, t3 where (f2(6) = 6) ;
+ERROR 23000: Duplicate entry '6' for key 'a'
+select * from t2;
+a
+1006
+rollback;
+select * from t2;
+a
+insert into t2 (a) values (1007);
+replace t1 values (f2(7));
+ERROR 23000: Duplicate entry '7' for key 'a'
+select * from t2;
+a
+1007
+rollback;
+select * from t2;
+a
+insert into t2 (a) values (1008);
+replace into t3 (a) select f2(8) from t1;
+ERROR 23000: Duplicate entry '8' for key 'a'
+select * from t2;
+a
+1008
+rollback;
+select * from t2;
+a
+insert into t2 (a) values (1009);
+select f2(9) from t1 ;
+ERROR 23000: Duplicate entry '9' for key 'a'
+select * from t2;
+a
+1009
+rollback;
+select * from t2;
+a
+insert into t2 (a) values (1010);
+show databases where (f2(10) = 10);
+ERROR 23000: Duplicate entry '10' for key 'a'
+select * from t2;
+a
+1010
+rollback;
+select * from t2;
+a
+insert into t2 (a) values (1011);
+show tables where (f2(11) = 11);
+ERROR 23000: Duplicate entry '11' for key 'a'
+select * from t2;
+a
+1011
+rollback;
+select * from t2;
+a
+insert into t2 (a) values (1012);
+show triggers where (f2(12) = 12);
+ERROR 23000: Duplicate entry '12' for key 'a'
+select * from t2;
+a
+1012
+rollback;
+select * from t2;
+a
+insert into t2 (a) values (1013);
+show table status where (f2(13) = 13);
+ERROR 23000: Duplicate entry '13' for key 'a'
+select * from t2;
+a
+1013
+rollback;
+select * from t2;
+a
+insert into t2 (a) values (1014);
+show open tables where (f2(14) = 14);
+ERROR 23000: Duplicate entry '14' for key 'a'
+select * from t2;
+a
+1014
+rollback;
+select * from t2;
+a
+insert into t2 (a) values (1015);
+show columns in mysql.proc where (f2(15) = 15);
+ERROR 23000: Duplicate entry '15' for key 'a'
+select * from t2;
+a
+1015
+rollback;
+select * from t2;
+a
+insert into t2 (a) values (1016);
+show status where (f2(16) = 16);
+ERROR 23000: Duplicate entry '16' for key 'a'
+select * from t2;
+a
+1016
+rollback;
+select * from t2;
+a
+insert into t2 (a) values (1017);
+show variables where (f2(17) = 17);
+ERROR 23000: Duplicate entry '17' for key 'a'
+select * from t2;
+a
+1017
+rollback;
+select * from t2;
+a
+insert into t2 (a) values (1018);
+show charset where (f2(18) = 18);
+ERROR 23000: Duplicate entry '18' for key 'a'
+select * from t2;
+a
+1018
+rollback;
+select * from t2;
+a
+insert into t2 (a) values (1019);
+show collation where (f2(19) = 19);
+ERROR 23000: Duplicate entry '19' for key 'a'
+select * from t2;
+a
+1019
+rollback;
+select * from t2;
+a
+# We need at least one procedure to make sure the WHERE clause is
+# evaluated
+create procedure dummy() begin end;
+insert into t2 (a) values (1020);
+show procedure status where (f2(20) = 20);
+ERROR 23000: Duplicate entry '20' for key 'a'
+select * from t2;
+a
+1020
+rollback;
+select * from t2;
+a
+drop procedure dummy;
+insert into t2 (a) values (1021);
+show function status where (f2(21) = 21);
+ERROR 23000: Duplicate entry '21' for key 'a'
+select * from t2;
+a
+1021
+rollback;
+select * from t2;
+a
+insert into t2 (a) values (1022);
+prepare stmt from "insert into t1 (a) values (f2(22))";
+execute stmt;
+ERROR 23000: Duplicate entry '22' for key 'a'
+select * from t2;
+a
+1022
+rollback;
+select * from t2;
+a
+insert into t2 (a) values (1023);
+do (f2(23));
+Warnings:
+Error 1062 Duplicate entry '23' for key 'a'
+select * from t2;
+a
+1023
+rollback;
+select * from t2;
+a
+create procedure bug12713_call ()
+begin
+insert into t2 (a) values (24);
+insert into t2 (a) values (24);
+end|
+insert into t2 (a) values (1024);
+call bug12713_call();
+ERROR 23000: Duplicate entry '24' for key 'a'
+select * from t2;
+a
+24
+1024
+rollback;
+select * from t2;
+a
+=======================================================================
+Testing select_to_file
+=======================================================================
+insert into t2 (a) values (1025);
+select f2(25) into outfile "../tmp/dml.out" from t1;
+ERROR 23000: Duplicate entry '25' for key 'a'
+select * from t2;
+a
+1025
+rollback;
+select * from t2;
+a
+insert into t2 (a) values (1026);
+load data infile "../std_data_ln/words.dat" into table t1 (a) set a:=f2(26);
+ERROR 23000: Duplicate entry '26' for key 'a'
+select * from t2;
+a
+1026
+rollback;
+select * from t2;
+a
+=======================================================================
+Testing select_dumpvar
+=======================================================================
+insert into t2 (a) values (1027);
+select f2(27) into @foo;
+ERROR 23000: Duplicate entry '27' for key 'a'
+select * from t2;
+a
+1027
+rollback;
+select * from t2;
+a
+=======================================================================
+Testing Select_fetch_into_spvars
+=======================================================================
+create procedure bug12713_dump_spvars ()
+begin
+declare foo int;
+declare continue handler for sqlexception
+begin
+select "Exception trapped";
+end;
+select f2(28) into foo;
+select * from t2;
+end|
+insert into t2 (a) values (1028);
+call bug12713_dump_spvars ();
+Exception trapped
+Exception trapped
+a
+1028
+rollback;
+select * from t2;
+a
+=======================================================================
+Cleanup
+=======================================================================
+set autocommit=default;
+drop table t1;
+drop table t2;
+drop table t3;
+drop function f2;
+drop procedure bug12713_call;
+drop procedure bug12713_dump_spvars;
+#
+# Bug#12713 Error in a stored function called from a SELECT doesn't
+# cause ROLLBACK of statem
+#
+# Verify that two-phase commit is not issued for read-only
+# transactions.
+#
+# Verify that two-phase commit is issued for read-write transactions,
+# even if the change is done inside a stored function called from
+# SELECT or SHOW statement.
+#
+set autocommit=0;
+drop table if exists t1;
+drop table if exists t2;
+drop function if exists f1;
+drop procedure if exists p_verify_status_increment;
+set @binlog_format=@@global.binlog_format;
+set sql_mode=no_engine_substitution;
+create table t1 (a int unique);
+create table t2 (a int) engine=myisam;
+set sql_mode=default;
+#
+# An auxiliary procedure to track Handler_prepare and Handler_commit
+# statistics.
+#
+create procedure
+p_verify_status_increment(commit_inc_mixed int, prepare_inc_mixed int,
+commit_inc_row int, prepare_inc_row int)
+begin
+declare commit_inc int;
+declare prepare_inc int;
+declare old_commit_count int default ifnull(@commit_count, 0);
+declare old_prepare_count int default ifnull(@prepare_count, 0);
+declare c_res int;
+# Use a cursor to have just one access to I_S instead of 2, it is very slow
+# and amounts for over 90% of test CPU time
+declare c cursor for
+select variable_value
+from information_schema.session_status
+where variable_name='Handler_commit' or variable_name='Handler_prepare'
+ order by variable_name;
+if @binlog_format = 'ROW' then
+set commit_inc= commit_inc_row;
+set prepare_inc= prepare_inc_row;
+else
+set commit_inc= commit_inc_mixed;
+set prepare_inc= prepare_inc_mixed;
+end if;
+open c;
+fetch c into c_res;
+set @commit_count=c_res;
+fetch c into c_res;
+set @prepare_count=c_res;
+close c;
+if old_commit_count + commit_inc <> @commit_count then
+select concat("Expected commit increment: ", commit_inc,
+" actual: ", @commit_count - old_commit_count)
+as 'ERROR';
+elseif old_prepare_count + prepare_inc <> @prepare_count then
+select concat("Expected prepare increment: ", prepare_inc,
+" actual: ", @prepare_count - old_prepare_count)
+as 'ERROR';
+else
+select '' as 'SUCCESS';
+end if;
+end|
+# Reset Handler_commit and Handler_prepare counters
+flush status;
+#
+# 1. Read-only statement: SELECT
+#
+select * from t1;
+a
+call p_verify_status_increment(1, 0, 1, 0);
+SUCCESS
+
+commit;
+call p_verify_status_increment(1, 0, 1, 0);
+SUCCESS
+
+# 2. Read-write statement: INSERT, insert 1 row.
+#
+insert into t1 (a) values (1);
+call p_verify_status_increment(2, 2, 2, 2);
+SUCCESS
+
+commit;
+call p_verify_status_increment(2, 2, 2, 2);
+SUCCESS
+
+# 3. Read-write statement: UPDATE, update 1 row.
+#
+update t1 set a=2;
+call p_verify_status_increment(2, 2, 2, 2);
+SUCCESS
+
+commit;
+call p_verify_status_increment(2, 2, 2, 2);
+SUCCESS
+
+# 4. Read-write statement: UPDATE, update 0 rows, 1 row matches WHERE
+#
+update t1 set a=2;
+call p_verify_status_increment(2, 2, 1, 0);
+SUCCESS
+
+commit;
+call p_verify_status_increment(2, 2, 1, 0);
+SUCCESS
+
+# 5. Read-write statement: UPDATE, update 0 rows, 0 rows match WHERE
+#
+# In mixed replication mode, there is a read-only transaction
+# in InnoDB and also the statement is written to the binary log.
+# So we have two commits but no 2pc, since the first engine's
+# transaction is read-only.
+# In the row level replication mode, we only have the read-only
+# transaction in InnoDB and nothing is written to the binary log.
+#
+update t1 set a=3 where a=1;
+call p_verify_status_increment(2, 0, 1, 0);
+SUCCESS
+
+commit;
+call p_verify_status_increment(2, 0, 1, 0);
+SUCCESS
+
+# 6. Read-write statement: DELETE, delete 0 rows.
+#
+delete from t1 where a=1;
+call p_verify_status_increment(2, 0, 1, 0);
+SUCCESS
+
+commit;
+call p_verify_status_increment(2, 0, 1, 0);
+SUCCESS
+
+# 7. Read-write statement: DELETE, delete 1 row.
+#
+delete from t1 where a=2;
+call p_verify_status_increment(2, 2, 2, 2);
+SUCCESS
+
+commit;
+call p_verify_status_increment(2, 2, 2, 2);
+SUCCESS
+
+# 8. Read-write statement: unqualified DELETE
+#
+# In statement or mixed replication mode, we call
+# handler::ha_delete_all_rows() and write statement text
+# to the binary log. This results in two read-write transactions.
+# In row level replication mode, we do not call
+# handler::ha_delete_all_rows(), but delete rows one by one.
+# Since there are no rows, nothing is written to the binary log.
+# Thus we have just one read-only transaction in InnoDB.
+delete from t1;
+call p_verify_status_increment(2, 2, 1, 0);
+SUCCESS
+
+commit;
+call p_verify_status_increment(2, 2, 1, 0);
+SUCCESS
+
+# 9. Read-write statement: REPLACE, change 1 row.
+#
+replace t1 set a=1;
+call p_verify_status_increment(2, 2, 2, 2);
+SUCCESS
+
+commit;
+call p_verify_status_increment(2, 2, 2, 2);
+SUCCESS
+
+# 10. Read-write statement: REPLACE, change 0 rows.
+#
+replace t1 set a=1;
+call p_verify_status_increment(2, 2, 1, 0);
+SUCCESS
+
+commit;
+call p_verify_status_increment(2, 2, 1, 0);
+SUCCESS
+
+# 11. Read-write statement: IODKU, change 1 row.
+#
+insert t1 set a=1 on duplicate key update a=a+1;
+call p_verify_status_increment(2, 2, 2, 2);
+SUCCESS
+
+select * from t1;
+a
+2
+call p_verify_status_increment(1, 0, 1, 0);
+SUCCESS
+
+commit;
+call p_verify_status_increment(2, 2, 2, 2);
+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);
+SUCCESS
+
+commit;
+call p_verify_status_increment(1, 0, 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);
+SUCCESS
+
+commit;
+call p_verify_status_increment(1, 0, 1, 0);
+SUCCESS
+
+# 14. Read-write statement: INSERT IGNORE, change 1 row.
+#
+insert ignore t1 set a=1;
+call p_verify_status_increment(2, 2, 2, 2);
+SUCCESS
+
+commit;
+call p_verify_status_increment(2, 2, 2, 2);
+SUCCESS
+
+# 15. Read-write statement: UPDATE IGNORE, change 0 rows.
+#
+update ignore t1 set a=2 where a=1;
+call p_verify_status_increment(2, 2, 1, 0);
+SUCCESS
+
+commit;
+call p_verify_status_increment(2, 2, 1, 0);
+SUCCESS
+
+#
+# Create a stored function that modifies a
+# non-transactional table. Demonstrate that changes in
+# non-transactional tables do not affect the two phase commit
+# algorithm.
+#
+create function f1() returns int
+begin
+insert t2 set a=2;
+return 2;
+end|
+call p_verify_status_increment(0, 0, 0, 0);
+SUCCESS
+
+# 16. A function changes non-trans-table.
+#
+select f1();
+f1()
+2
+call p_verify_status_increment(0, 0, 0, 0);
+SUCCESS
+
+commit;
+call p_verify_status_increment(0, 0, 0, 0);
+SUCCESS
+
+# 17. Read-only statement, a function changes non-trans-table.
+#
+select f1() from t1;
+f1()
+2
+2
+call p_verify_status_increment(1, 0, 1, 0);
+SUCCESS
+
+commit;
+call p_verify_status_increment(1, 0, 1, 0);
+SUCCESS
+
+# 18. Read-write statement: UPDATE, change 0 (transactional) rows.
+#
+select count(*) from t2;
+count(*)
+3
+update t1 set a=2 where a=f1()+10;
+select count(*) from t2;
+count(*)
+5
+call p_verify_status_increment(2, 0, 2, 0);
+SUCCESS
+
+commit;
+call p_verify_status_increment(2, 0, 2, 0);
+SUCCESS
+
+#
+# Replace the non-transactional table with a temporary
+# transactional table. Demonstrate that a change to a temporary
+# transactional table does not provoke 2-phase commit, although
+# does trigger a commit and a binlog write (in statement mode).
+#
+drop table t2;
+set sql_mode=no_engine_substitution;
+create temporary table t2 (a int);
+call p_verify_status_increment(0, 0, 0, 0);
+SUCCESS
+
+set sql_mode=default;
+# 19. A function changes temp-trans-table.
+#
+select f1();
+f1()
+2
+# Two commits because a binary log record is written
+call p_verify_status_increment(2, 0, 1, 0);
+SUCCESS
+
+commit;
+call p_verify_status_increment(2, 0, 1, 0);
+SUCCESS
+
+# 20. Read-only statement, a function changes non-trans-table.
+#
+select f1() from t1;
+f1()
+2
+2
+# Two commits because a binary log record is written
+call p_verify_status_increment(2, 0, 1, 0);
+SUCCESS
+
+commit;
+call p_verify_status_increment(2, 0, 1, 0);
+SUCCESS
+
+# 21. Read-write statement: UPDATE, change 0 (transactional) rows.
+#
+update t1 set a=2 where a=f1()+10;
+call p_verify_status_increment(2, 0, 1, 0);
+SUCCESS
+
+commit;
+call p_verify_status_increment(2, 0, 1, 0);
+SUCCESS
+
+# 22. DDL: ALTER TEMPORARY TABLE, should not cause a 2pc
+#
+alter table t2 add column b int default 5;
+# A commit is done internally by ALTER.
+call p_verify_status_increment(2, 0, 2, 0);
+SUCCESS
+
+commit;
+# There is nothing left to commit
+call p_verify_status_increment(0, 0, 0, 0);
+SUCCESS
+
+# 23. DDL: RENAME TEMPORARY TABLE, does not start a transaction
+
+# No test because of Bug#8729 "rename table fails on temporary table"
+# 24. DDL: TRUNCATE TEMPORARY TABLE, does not start a transaction
+
+truncate table t2;
+call p_verify_status_increment(2, 0, 2, 0);
+SUCCESS
+
+commit;
+# There is nothing left to commit
+call p_verify_status_increment(0, 0, 0, 0);
+SUCCESS
+
+# 25. Read-write statement: unqualified DELETE
+
+delete from t2;
+call p_verify_status_increment(2, 0, 1, 0);
+SUCCESS
+
+commit;
+# There is nothing left to commit
+call p_verify_status_increment(2, 0, 1, 0);
+SUCCESS
+
+# 25. DDL: DROP TEMPORARY TABLE, does not start a transaction
+#
+drop temporary table t2;
+call p_verify_status_increment(0, 0, 0, 0);
+SUCCESS
+
+commit;
+call p_verify_status_increment(0, 0, 0, 0);
+SUCCESS
+
+# 26. Verify that SET AUTOCOMMIT issues an implicit commit
+#
+insert t1 set a=3;
+call p_verify_status_increment(2, 2, 2, 2);
+SUCCESS
+
+set autocommit=1;
+call p_verify_status_increment(2, 2, 2, 2);
+SUCCESS
+
+rollback;
+select a from t1 where a=3;
+a
+3
+call p_verify_status_increment(1, 0, 1, 0);
+SUCCESS
+
+delete from t1 where a=3;
+call p_verify_status_increment(2, 2, 2, 2);
+SUCCESS
+
+commit;
+call p_verify_status_increment(0, 0, 0, 0);
+SUCCESS
+
+set autocommit=0;
+call p_verify_status_increment(0, 0, 0, 0);
+SUCCESS
+
+insert t1 set a=3;
+call p_verify_status_increment(2, 2, 2, 2);
+SUCCESS
+
+# Sic: not actually changing the value of autocommit
+set autocommit=0;
+call p_verify_status_increment(0, 0, 0, 0);
+SUCCESS
+
+rollback;
+select a from t1 where a=3;
+a
+call p_verify_status_increment(1, 0, 1, 0);
+SUCCESS
+
+# 27. Savepoint management
+#
+insert t1 set a=3;
+call p_verify_status_increment(2, 2, 2, 2);
+SUCCESS
+
+savepoint a;
+call p_verify_status_increment(0, 0, 0, 0);
+SUCCESS
+
+insert t1 set a=4;
+# Sic: a bug. Binlog did not register itself this time.
+call p_verify_status_increment(1, 0, 1, 0);
+SUCCESS
+
+release savepoint a;
+rollback;
+call p_verify_status_increment(0, 0, 0, 0);
+SUCCESS
+
+select a from t1 where a=3;
+a
+call p_verify_status_increment(1, 0, 1, 0);
+SUCCESS
+
+commit;
+call p_verify_status_increment(1, 0, 1, 0);
+SUCCESS
+
+# 28. Read-write statement: DO
+#
+create table t2 (a int);
+call p_verify_status_increment(0, 0, 0, 0);
+SUCCESS
+
+do (select f1() from t1 where a=2);
+call p_verify_status_increment(2, 2, 2, 2);
+SUCCESS
+
+commit;
+call p_verify_status_increment(2, 2, 2, 2);
+SUCCESS
+
+# 29. Read-write statement: MULTI-DELETE
+#
+delete t1, t2 from t1 join t2 on (t1.a=t2.a) where t1.a=2;
+commit;
+call p_verify_status_increment(4, 4, 4, 4);
+SUCCESS
+
+# 30. Read-write statement: INSERT-SELECT, MULTI-UPDATE, REPLACE-SELECT
+#
+insert into t2 select a from t1;
+commit;
+replace into t2 select a from t1;
+commit;
+call p_verify_status_increment(8, 8, 8, 8);
+SUCCESS
+
+update t1, t2 set t1.a=4, t2.a=8 where t1.a=t2.a and t1.a=1;
+commit;
+call p_verify_status_increment(4, 4, 4, 4);
+SUCCESS
+
+# 31. DDL: various DDL with transactional tables
+#
+# Sic: no table is created.
+create table if not exists t2 (a int) select 6 union select 7;
+Warnings:
+Note 1050 Table 't2' already exists
+# Sic: first commits the statement, and then the transaction.
+call p_verify_status_increment(4, 4, 4, 4);
+SUCCESS
+
+create table t3 select a from t2;
+call p_verify_status_increment(4, 4, 4, 4);
+SUCCESS
+
+alter table t3 add column (b int);
+call p_verify_status_increment(2, 0, 2, 0);
+SUCCESS
+
+alter table t3 rename t4;
+call p_verify_status_increment(1, 0, 1, 0);
+SUCCESS
+
+rename table t4 to t3;
+call p_verify_status_increment(1, 0, 1, 0);
+SUCCESS
+
+truncate table t3;
+call p_verify_status_increment(2, 2, 2, 2);
+SUCCESS
+
+create view v1 as select * from t2;
+call p_verify_status_increment(1, 0, 1, 0);
+SUCCESS
+
+check table t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+call p_verify_status_increment(3, 0, 3, 0);
+SUCCESS
+
+# Sic: after this bug is fixed, CHECK leaves no pending transaction
+commit;
+call p_verify_status_increment(0, 0, 0, 0);
+SUCCESS
+
+check table t1, t2, t3;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+test.t2 check status OK
+test.t3 check status OK
+call p_verify_status_increment(6, 0, 6, 0);
+SUCCESS
+
+commit;
+call p_verify_status_increment(0, 0, 0, 0);
+SUCCESS
+
+drop view v1;
+call p_verify_status_increment(0, 0, 0, 0);
+SUCCESS
+
+#
+# Cleanup
+#
+drop table t1, t2, t3;
+drop procedure p_verify_status_increment;
+drop function f1;
diff --git a/mysql-test/r/compare.result b/mysql-test/r/compare.result
index c141b255716..44c258d7611 100644
--- a/mysql-test/r/compare.result
+++ b/mysql-test/r/compare.result
@@ -53,3 +53,41 @@ a b
Warnings:
Warning 1292 Truncated incorrect DOUBLE value: ''
drop table if exists t1;
+CREATE TABLE t1 (b int(2) zerofill, c int(2) zerofill);
+INSERT INTO t1 (b,c) VALUES (1,2), (1,1), (2,2);
+SELECT CONCAT(b,c), CONCAT(b,c) = '0101' FROM t1;
+CONCAT(b,c) CONCAT(b,c) = '0101'
+0102 0
+0101 1
+0202 0
+EXPLAIN EXTENDED SELECT b,c FROM t1 WHERE b = 1 AND CONCAT(b,c) = '0101';
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 Using where
+Warnings:
+Note 1003 select `test`.`t1`.`b` AS `b`,`test`.`t1`.`c` AS `c` from `test`.`t1` where ((`test`.`t1`.`b` = 1) and (concat('01',`test`.`t1`.`c`) = '0101'))
+SELECT b,c FROM t1 WHERE b = 1 AND CONCAT(b,c) = '0101';
+b c
+01 01
+CREATE TABLE t2 (a int);
+INSERT INTO t2 VALUES (1),(2);
+SELECT a,
+(SELECT COUNT(*) FROM t1
+WHERE b = t2.a AND CONCAT(b,c) = CONCAT('0',t2.a,'01')) x
+FROM t2 ORDER BY a;
+a x
+1 1
+2 0
+EXPLAIN EXTENDED
+SELECT a,
+(SELECT COUNT(*) FROM t1
+WHERE b = t2.a AND CONCAT(b,c) = CONCAT('0',t2.a,'01')) x
+FROM t2 ORDER BY a;
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 PRIMARY t2 ALL NULL NULL NULL NULL 2 100.00 Using filesort
+2 DEPENDENT SUBQUERY t1 ALL NULL NULL NULL NULL 3 100.00 Using where
+Warnings:
+Note 1276 Field or reference 'test.t2.a' of SELECT #2 was resolved in SELECT #1
+Note 1276 Field or reference 'test.t2.a' of SELECT #2 was resolved in SELECT #1
+Note 1003 select `test`.`t2`.`a` AS `a`,(select count(0) AS `COUNT(*)` from `test`.`t1` where ((`test`.`t1`.`b` = `test`.`t2`.`a`) and (concat(`test`.`t1`.`b`,`test`.`t1`.`c`) = concat('0',`test`.`t2`.`a`,'01')))) AS `x` from `test`.`t2` order by `test`.`t2`.`a`
+DROP TABLE t1,t2;
+End of 5.0 tests
diff --git a/mysql-test/r/compress.result b/mysql-test/r/compress.result
index 68206c0dc0e..1d3752f09e7 100644
--- a/mysql-test/r/compress.result
+++ b/mysql-test/r/compress.result
@@ -611,11 +611,11 @@ id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t3 ref period period 4 test.t1.period 4181
explain select * from t3 as t1,t3 where t1.period=t3.period order by t3.period limit 10;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t3 ALL period NULL NULL NULL 41810 Using filesort
+1 SIMPLE t3 index period period 4 NULL 1
1 SIMPLE t1 ref period period 4 test.t3.period 4181
explain select * from t3 as t1,t3 where t1.period=t3.period order by t1.period limit 10;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL period NULL NULL NULL 41810 Using filesort
+1 SIMPLE t1 index period period 4 NULL 1
1 SIMPLE t3 ref period period 4 test.t1.period 4181
select period from t1;
period
@@ -1511,7 +1511,7 @@ explain extended select count(*),min(fld4),max(fld4),sum(fld1),avg(fld1),std(fld
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t2 ALL NULL NULL NULL NULL 1199 100.00 Using where
Warnings:
-Note 1003 select count(0) AS `count(*)`,min(`test`.`t2`.`fld4`) AS `min(fld4)`,max(`test`.`t2`.`fld4`) AS `max(fld4)`,sum(`test`.`t2`.`fld1`) AS `sum(fld1)`,avg(`test`.`t2`.`fld1`) AS `avg(fld1)`,std(`test`.`t2`.`fld1`) AS `std(fld1)`,variance(`test`.`t2`.`fld1`) AS `variance(fld1)` from `test`.`t2` where ((`test`.`t2`.`companynr` = 34) and (`test`.`t2`.`fld4` <> _latin1''))
+Note 1003 select count(0) AS `count(*)`,min(`test`.`t2`.`fld4`) AS `min(fld4)`,max(`test`.`t2`.`fld4`) AS `max(fld4)`,sum(`test`.`t2`.`fld1`) AS `sum(fld1)`,avg(`test`.`t2`.`fld1`) AS `avg(fld1)`,std(`test`.`t2`.`fld1`) AS `std(fld1)`,variance(`test`.`t2`.`fld1`) AS `variance(fld1)` from `test`.`t2` where ((`test`.`t2`.`companynr` = 34) and (`test`.`t2`.`fld4` <> ''))
select companynr,count(*),min(fld4),max(fld4),sum(fld1),avg(fld1),std(fld1),variance(fld1) from t2 group by companynr limit 3;
companynr count(*) min(fld4) max(fld4) sum(fld1) avg(fld1) std(fld1) variance(fld1)
00 82 Anthony windmills 10355753 126289.6707 115550.9757 13352027981.7087
diff --git a/mysql-test/r/connect.result b/mysql-test/r/connect.result
index 25cf4f90e6d..727433d3032 100644
--- a/mysql-test/r/connect.result
+++ b/mysql-test/r/connect.result
@@ -115,3 +115,106 @@ create temporary table t2(id integer not null auto_increment primary key);
set @id := 1;
delete from t1 where id like @id;
drop table t1;
+# ------------------------------------------------------------------
+# -- End of 4.1 tests
+# ------------------------------------------------------------------
+
+# -- Bug#33507: Event scheduler creates more threads than max_connections
+# -- which results in user lockout.
+
+GRANT USAGE ON *.* TO mysqltest_u1@localhost;
+
+SET GLOBAL max_connections = 3;
+SET GLOBAL event_scheduler = ON;
+
+# -- Waiting for Event Scheduler to start...
+
+# -- Disconnecting default connection...
+
+# -- Check that we allow exactly three user connections, no matter how
+# -- many threads are running.
+
+# -- Connecting (1)...
+# -- Establishing connection 'con_1' (user: mysqltest_u1)...
+# -- Connection 'con_1' has been established.
+
+# -- Connecting (2)...
+# -- Establishing connection 'con_2' (user: mysqltest_u1)...
+# -- Connection 'con_2' has been established.
+
+# -- Connecting (3)...
+# -- Establishing connection 'con_3' (user: mysqltest_u1)...
+# -- Connection 'con_3' has been established.
+
+# -- Connecting (4) [should fail]...
+# -- Establishing connection 'con_4' (user: mysqltest_u1)...
+# -- Error: can not establish connection 'con_4'.
+
+# -- Check that we allow one extra SUPER-user connection.
+
+# -- Connecting super (1)...
+# -- Establishing connection 'con_super_1' (user: root)...
+# -- Connection 'con_super_1' has been established.
+
+# -- Connecting super (2) [should fail]...
+# -- Establishing connection 'con_super_2' (user: root)...
+# -- Error: can not establish connection 'con_super_2'.
+
+# -- Ensure that we have Event Scheduler thread, 3 ordinary user
+# -- connections and one extra super-user connection.
+SELECT user FROM information_schema.processlist ORDER BY id;
+user
+event_scheduler
+mysqltest_u1
+mysqltest_u1
+mysqltest_u1
+root
+
+# -- Resetting variables...
+SET GLOBAL max_connections = 151;
+
+# -- Stopping Event Scheduler...
+SET GLOBAL event_scheduler = OFF;
+
+# -- Waiting for Event Scheduler to stop...
+
+# -- That's it. Closing connections...
+
+# -- Restoring default connection...
+
+# -- Waiting for connections to close...
+
+DROP USER mysqltest_u1@localhost;
+
+# -- End of Bug#33507.
+
+# -- Bug#35074: max_used_connections is not correct.
+
+FLUSH STATUS;
+
+SHOW STATUS LIKE 'max_used_connections';
+Variable_name Value
+Max_used_connections 1
+
+# -- Starting Event Scheduler...
+SET GLOBAL event_scheduler = ON;
+# -- Waiting for Event Scheduler to start...
+
+# -- Opening a new connection to check max_used_connections...
+
+# -- Check that max_used_connections hasn't changed.
+SHOW STATUS LIKE 'max_used_connections';
+Variable_name Value
+Max_used_connections 2
+
+# -- Closing new connection...
+
+# -- Stopping Event Scheduler...
+SET GLOBAL event_scheduler = OFF;
+# -- Waiting for Event Scheduler to stop...
+
+# -- End of Bug#35074.
+
+# ------------------------------------------------------------------
+# -- End of 5.1 tests
+# ------------------------------------------------------------------
diff --git a/mysql-test/r/create.result b/mysql-test/r/create.result
index 84a620336dc..85ce830025d 100644
--- a/mysql-test/r/create.result
+++ b/mysql-test/r/create.result
@@ -438,12 +438,12 @@ explain t2;
Field Type Null Key Default Extra
a int(11) YES NULL
b bigint(11) NO 0
-c bigint(11) NO 0
+c bigint(11) unsigned NO 0
d date YES NULL
e varchar(1) NO
f datetime YES NULL
g time YES NULL
-h longblob NO
+h longblob NO NULL
dd time YES NULL
select * from t2;
a b c d e f g h dd
@@ -594,7 +594,7 @@ create table t1 (a int);
create table t1 select * from t1;
ERROR HY000: You can't specify target table 't1' for update in FROM clause
create table t2 union = (t1) select * from t1;
-ERROR HY000: You can't specify target table 't1' for update in FROM clause
+ERROR HY000: 'test.t2' is not BASE TABLE
flush tables with read lock;
unlock tables;
drop table t1;
@@ -1545,6 +1545,20 @@ Handler_read_prev 0
Handler_read_rnd 0
Handler_read_rnd_next 7
drop table t1,t2;
+CREATE TABLE t1(c1 VARCHAR(33), KEY USING BTREE (c1));
+DROP TABLE t1;
+CREATE TABLE t1(c1 VARCHAR(33), KEY (c1) USING BTREE);
+DROP TABLE t1;
+CREATE TABLE t1(c1 VARCHAR(33), KEY USING BTREE (c1) USING HASH) ENGINE=MEMORY;
+SHOW INDEX FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
+t1 1 c1 1 c1 NULL 0 NULL NULL YES HASH
+DROP TABLE t1;
+CREATE TABLE t1(c1 VARCHAR(33), KEY USING HASH (c1) USING BTREE) ENGINE=MEMORY;
+SHOW INDEX FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
+t1 1 c1 1 c1 A NULL NULL NULL YES BTREE
+DROP TABLE t1;
End of 5.0 tests
CREATE TABLE t1 (a int, b int);
insert into t1 values (1,1),(1,2);
@@ -1588,14 +1602,6 @@ CREATE DATABASE aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
ERROR 42000: Incorrect database name 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
DROP DATABASE aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa;
ERROR 42000: Incorrect database name 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
-RENAME DATABASE aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa TO a;
-ERROR 42000: Unknown database 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
-RENAME DATABASE mysqltest TO aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa;
-ERROR 42000: Incorrect database name 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
-create database mysqltest;
-RENAME DATABASE mysqltest TO aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa;
-ERROR 42000: Incorrect database name 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
-drop database mysqltest;
USE aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa;
ERROR 42000: Incorrect database name 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
SHOW CREATE DATABASE aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa;
@@ -1699,4 +1705,187 @@ ERROR 42000: Identifier name 'очень_очень_очень_очень_оче
drop view имÑ_вью_кодировке_утф8_длиной_больше_чем_42;
drop table имÑ_таблицы_в_кодировке_утф8_длиной_больше_чем_48;
set names default;
+drop table if exists t1,t2,t3;
+drop function if exists f1;
+create function f1() returns int
+begin
+declare res int;
+create temporary table t3 select 1 i;
+set res:= (select count(*) from t1);
+drop temporary table t3;
+return res;
+end|
+create table t1 as select 1;
+create table t2 as select f1() from t1;
+drop table t1,t2;
+drop function f1;
+create table t1 like information_schema.processlist;
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `ID` bigint(4) NOT NULL DEFAULT '0',
+ `USER` varchar(16) NOT NULL DEFAULT '',
+ `HOST` varchar(64) NOT NULL DEFAULT '',
+ `DB` varchar(64) DEFAULT NULL,
+ `COMMAND` varchar(16) NOT NULL DEFAULT '',
+ `TIME` bigint(7) NOT NULL DEFAULT '0',
+ `STATE` varchar(64) DEFAULT NULL,
+ `INFO` longtext
+) ENGINE=MyISAM DEFAULT CHARSET=utf8
+drop table t1;
+create temporary table t1 like information_schema.processlist;
+show create table t1;
+Table Create Table
+t1 CREATE TEMPORARY TABLE `t1` (
+ `ID` bigint(4) NOT NULL DEFAULT '0',
+ `USER` varchar(16) NOT NULL DEFAULT '',
+ `HOST` varchar(64) NOT NULL DEFAULT '',
+ `DB` varchar(64) DEFAULT NULL,
+ `COMMAND` varchar(16) NOT NULL DEFAULT '',
+ `TIME` bigint(7) NOT NULL DEFAULT '0',
+ `STATE` varchar(64) DEFAULT NULL,
+ `INFO` longtext
+) ENGINE=MyISAM DEFAULT CHARSET=utf8
+drop table t1;
+create table t1 like information_schema.character_sets;
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `CHARACTER_SET_NAME` varchar(64) NOT NULL DEFAULT '',
+ `DEFAULT_COLLATE_NAME` varchar(64) NOT NULL DEFAULT '',
+ `DESCRIPTION` varchar(60) NOT NULL DEFAULT '',
+ `MAXLEN` bigint(3) NOT NULL DEFAULT '0'
+) ENGINE=MEMORY DEFAULT CHARSET=utf8
+drop table t1;
+
+# --
+# -- Bug#21380: DEFAULT definition not always transfered by CREATE
+# -- TABLE/SELECT to the new table.
+# --
+
+DROP TABLE IF EXISTS t1;
+DROP TABLE IF EXISTS t2;
+
+CREATE TABLE t1(
+c1 INT DEFAULT 12 COMMENT 'column1',
+c2 INT NULL COMMENT 'column2',
+c3 INT NOT NULL COMMENT 'column3',
+c4 VARCHAR(255) CHARACTER SET utf8 NOT NULL DEFAULT 'a',
+c5 VARCHAR(255) COLLATE utf8_unicode_ci NULL DEFAULT 'b',
+c6 VARCHAR(255))
+COLLATE latin1_bin;
+
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` int(11) DEFAULT '12' COMMENT 'column1',
+ `c2` int(11) DEFAULT NULL COMMENT 'column2',
+ `c3` int(11) NOT NULL COMMENT 'column3',
+ `c4` varchar(255) CHARACTER SET utf8 NOT NULL DEFAULT 'a',
+ `c5` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT 'b',
+ `c6` varchar(255) COLLATE latin1_bin DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_bin
+
+CREATE TABLE t2 AS SELECT * FROM t1;
+
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `c1` int(11) DEFAULT '12' COMMENT 'column1',
+ `c2` int(11) DEFAULT NULL COMMENT 'column2',
+ `c3` int(11) NOT NULL COMMENT 'column3',
+ `c4` varchar(255) CHARACTER SET utf8 NOT NULL DEFAULT 'a',
+ `c5` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT 'b',
+ `c6` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+
+DROP TABLE t2;
+
+# -- End of test case for Bug#21380.
+
+# --
+# -- Bug#18834: ALTER TABLE ADD INDEX on table with two timestamp fields
+# --
+
+DROP TABLE IF EXISTS t1;
+DROP TABLE IF EXISTS t2;
+DROP TABLE IF EXISTS t3;
+
+CREATE TABLE t1(c1 TIMESTAMP, c2 TIMESTAMP);
+
+SET sql_mode = NO_ZERO_DATE;
+
+CREATE TABLE t2(c1 TIMESTAMP, c2 TIMESTAMP DEFAULT 0);
+ERROR 42000: Invalid default value for 'c2'
+
+CREATE TABLE t2(c1 TIMESTAMP, c2 TIMESTAMP);
+ERROR 42000: Invalid default value for 'c2'
+
+# -- Check that NULL column still can be created.
+CREATE TABLE t2(c1 TIMESTAMP NULL);
+
+# -- Check ALTER TABLE.
+ALTER TABLE t1 ADD INDEX(c1);
+ERROR 42000: Invalid default value for 'c2'
+
+# -- Check DATETIME.
+SET sql_mode = '';
+
+CREATE TABLE t3(c1 DATETIME NOT NULL);
+INSERT INTO t3 VALUES (0);
+
+SET sql_mode = TRADITIONAL;
+
+ALTER TABLE t3 ADD INDEX(c1);
+ERROR 22007: Incorrect datetime value: '0000-00-00 00:00:00' for column 'c1' at row 1
+
+# -- Cleanup.
+SET sql_mode = '';
+DROP TABLE t1;
+DROP TABLE t2;
+DROP TABLE t3;
+
+# -- End of Bug#18834.
+
+# --
+# -- Bug#34274: Invalid handling of 'DEFAULT 0' for YEAR data type.
+# --
+
+DROP TABLE IF EXISTS t1;
+
+CREATE TABLE t1(c1 YEAR DEFAULT 2008, c2 YEAR DEFAULT 0);
+
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` year(4) DEFAULT '2008',
+ `c2` year(4) DEFAULT '0000'
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+
+INSERT INTO t1 VALUES();
+
+SELECT * FROM t1;
+c1 c2
+2008 0000
+
+ALTER TABLE t1 MODIFY c1 YEAR DEFAULT 0;
+
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` year(4) DEFAULT '0000',
+ `c2` year(4) DEFAULT '0000'
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+
+INSERT INTO t1 VALUES();
+
+SELECT * FROM t1;
+c1 c2
+2008 0000
+0000 0000
+
+DROP TABLE t1;
+
+# -- End of Bug#34274
+
End of 5.1 tests
diff --git a/mysql-test/r/csv.result b/mysql-test/r/csv.result
index 86ba5002af8..b91272f7e59 100644
--- a/mysql-test/r/csv.result
+++ b/mysql-test/r/csv.result
@@ -4929,7 +4929,7 @@ Note 1051 Unknown table 't2'
Note 1051 Unknown table 't3'
Note 1051 Unknown table 't4'
DROP TABLE IF EXISTS bug13894;
-CREATE TABLE bug13894 ( val integer ) ENGINE = CSV;
+CREATE TABLE bug13894 ( val integer not null ) ENGINE = CSV;
INSERT INTO bug13894 VALUES (5);
INSERT INTO bug13894 VALUES (10);
INSERT INTO bug13894 VALUES (11);
@@ -4949,7 +4949,7 @@ val
11
DROP TABLE bug13894;
DROP TABLE IF EXISTS bug14672;
-CREATE TABLE bug14672 (c1 integer) engine = CSV;
+CREATE TABLE bug14672 (c1 integer not null) engine = CSV;
INSERT INTO bug14672 VALUES (1), (2), (3);
SELECT * FROM bug14672;
c1
@@ -4975,7 +4975,7 @@ c1
4
5
DROP TABLE bug14672;
-CREATE TABLE test_concurrent_insert ( val integer ) ENGINE = CSV;
+CREATE TABLE test_concurrent_insert ( val integer not null ) ENGINE = CSV;
LOCK TABLES test_concurrent_insert READ LOCAL;
INSERT INTO test_concurrent_insert VALUES (1);
SELECT * FROM test_concurrent_insert;
@@ -4992,7 +4992,7 @@ val
2
UNLOCK TABLES;
DROP TABLE test_concurrent_insert;
-CREATE TABLE test_repair_table ( val integer ) ENGINE = CSV;
+CREATE TABLE test_repair_table ( val integer not null ) ENGINE = CSV;
CHECK TABLE test_repair_table;
Table Op Msg_type Msg_text
test.test_repair_table check status OK
@@ -5000,7 +5000,7 @@ REPAIR TABLE test_repair_table;
Table Op Msg_type Msg_text
test.test_repair_table repair status OK
DROP TABLE test_repair_table;
-CREATE TABLE test_repair_table2 ( val integer ) ENGINE = CSV;
+CREATE TABLE test_repair_table2 ( val integer not null ) ENGINE = CSV;
SELECT * from test_repair_table2;
val
Warnings:
@@ -5011,7 +5011,7 @@ CHECK TABLE test_repair_table2;
Table Op Msg_type Msg_text
test.test_repair_table2 check status OK
DROP TABLE test_repair_table2;
-CREATE TABLE test_repair_table3 ( val integer ) ENGINE = CSV;
+CREATE TABLE test_repair_table3 ( val integer not null ) ENGINE = CSV;
CHECK TABLE test_repair_table3;
Table Op Msg_type Msg_text
test.test_repair_table3 check error Corrupt
@@ -5114,7 +5114,7 @@ num magic_no company_name founded
1 0102 CORRECT 1876
1 0102 CORRECT2 1876
DROP TABLE test_repair_table5;
-create table t1 (a int) engine=csv;
+create table t1 (a int not null) engine=csv;
insert t1 values (1);
delete from t1;
affected rows: 1
@@ -5138,7 +5138,7 @@ insert t1 values (1),(2),(3),(4),(5);
truncate table t1;
affected rows: 0
drop table t1;
-create table t1 (v varchar(32));
+create table t1 (v varchar(32) not null);
insert into t1 values ('def'),('abc'),('hij'),('3r4f');
select * from t1;
v
@@ -5193,8 +5193,8 @@ select * from t1 where i between 2 and 4 and v in ('def','3r4f','lmn');
i v
4 3r4f
drop table t1;
-create table bug15205 (val int(11) default null) engine=csv;
-create table bug15205_2 (val int(11) default null) engine=csv;
+create table bug15205 (val int(11) not null) engine=csv;
+create table bug15205_2 (val int(11) not null) engine=csv;
select * from bug15205;
ERROR HY000: Can't get stat of './test/bug15205.CSV' (Errcode: 2)
select * from bug15205_2;
@@ -5205,8 +5205,8 @@ drop table bug15205;
drop table bug15205_2;
set names latin1;
create table t1 (
-c varchar(1),
-name varchar(64)
+c varchar(1) not null,
+name varchar(64) not null
) character set latin1 engine=csv;
insert into t1 values (0xC0,'LATIN CAPITAL LETTER A WITH GRAVE');
insert into t1 values (0xE0,'LATIN SMALL LETTER A WITH GRAVE');
@@ -5224,9 +5224,9 @@ FE þ LATIN SMALL LETTER THORN
FF ÿ LATIN SMALL LETTER Y WITH DIAERESIS
drop table t1;
End of 5.0 tests
-create table bug22080_1 (id int,string varchar(64)) Engine=CSV;
-create table bug22080_2 (id int,string varchar(64)) Engine=CSV;
-create table bug22080_3 (id int,string varchar(64)) Engine=CSV;
+create table bug22080_1 (id int not null,string varchar(64) not null) Engine=CSV;
+create table bug22080_2 (id int not null,string varchar(64) not null) Engine=CSV;
+create table bug22080_3 (id int not null,string varchar(64) not null) Engine=CSV;
insert into bug22080_1 values(1,'string');
insert into bug22080_1 values(2,'string');
insert into bug22080_1 values(3,'string');
@@ -5237,7 +5237,7 @@ check table bug22080_3;
Table Op Msg_type Msg_text
test.bug22080_3 check error Corrupt
drop tables bug22080_1,bug22080_2,bug22080_3;
-create table float_test (id float,string varchar(64)) Engine=CSV;
+create table float_test (id float not null,string varchar(64) not null) Engine=CSV;
insert into float_test values(1.0,'string');
insert into float_test values(2.23,'serg.g');
insert into float_test values(0.03,'string');
@@ -5254,14 +5254,14 @@ id string
9.67 string
drop table float_test;
CREATE TABLE `bug21328` (
-`col1` int(11) DEFAULT NULL,
-`col2` int(11) DEFAULT NULL,
-`col3` int(11) DEFAULT NULL
+`col1` int(11) NOT NULL,
+`col2` int(11) NOT NULL,
+`col3` int(11) NOT NULL
) ENGINE=CSV;
-insert into bug21328 values (1,NULL,NULL);
+insert into bug21328 values (1,0,0);
alter table bug21328 engine=myisam;
drop table bug21328;
-create table t1(a blob, b int) engine=csv;
+create table t1(a blob not null, b int not null) engine=csv;
insert into t1 values('a', 1);
flush tables;
update t1 set b=2;
@@ -5269,7 +5269,7 @@ select * from t1;
a b
a 2
drop table t1;
-create table t1(a int) engine=csv;
+create table t1(a int not null) engine=csv;
insert into t1 values(-1), (-123.34), (2), (-23);
select * from t1;
a
@@ -5281,7 +5281,7 @@ check table t1;
Table Op Msg_type Msg_text
test.t1 check status OK
drop table t1;
-create table t1(a int, b int) engine=csv;
+create table t1(a int not null, b int not null) engine=csv;
repair table t1;
Table Op Msg_type Msg_text
test.t1 repair Warning Data truncated for column 'a' at row 5
@@ -5299,7 +5299,7 @@ check table t1;
Table Op Msg_type Msg_text
test.t1 check status OK
drop table t1;
-create table t1(a int) engine=csv;
+create table t1(a int not null) engine=csv;
insert into t1 values (0), (1), (2);
delete from t1 limit 2;
check table t1;
@@ -5315,4 +5315,77 @@ test.t1 check status OK
select * from t1;
a
drop table t1;
+create table t1(a datetime not null) engine=csv;
+insert into t1 values();
+Warnings:
+Warning 1364 Field 'a' doesn't have a default value
+select * from t1;
+a
+0000-00-00 00:00:00
+drop table t1;
+create table t1(a set('foo','bar') not null) engine=csv;
+insert into t1 values();
+Warnings:
+Warning 1364 Field 'a' doesn't have a default value
+select * from t1;
+a
+
+drop table t1;
+create table t1(a varchar(32) not null) engine=csv;
+insert into t1 values();
+Warnings:
+Warning 1364 Field 'a' doesn't have a default value
+select * from t1;
+a
+
+drop table t1;
+create table t1(a int not null) engine=csv;
+insert into t1 values();
+Warnings:
+Warning 1364 Field 'a' doesn't have a default value
+select * from t1;
+a
+0
+drop table t1;
+create table t1(a blob not null) engine=csv;
+insert into t1 values();
+Warnings:
+Warning 1364 Field 'a' doesn't have a default value
+select * from t1;
+a
+
+drop table t1;
+create table t1(a bit(1) not null) engine=csv;
+insert into t1 values();
+Warnings:
+Warning 1364 Field 'a' doesn't have a default value
+select BIN(a) from t1;
+BIN(a)
+0
+drop table t1;
+create table t1(a enum('foo','bar') default null) engine=csv;
+ERROR 42000: The storage engine for the table doesn't support nullable columns
+create table t1(a enum('foo','bar') default 'foo') engine=csv;
+ERROR 42000: The storage engine for the table doesn't support nullable columns
+create table t1(a enum('foo','bar') default 'foo' not null) engine=csv;
+insert into t1 values();
+select * from t1;
+a
+foo
+drop table t1;
+CREATE TABLE t1(a INT) ENGINE=CSV;
+ERROR 42000: The storage engine for the table doesn't support nullable columns
+SHOW WARNINGS;
+Level Code Message
+Error 1178 The storage engine for the table doesn't support nullable columns
+Error 1005 Can't create table 'test.t1' (errno: 138)
+create table t1 (c1 tinyblob not null) engine=csv;
+insert into t1 values("This");
+update t1 set c1="That" where c1="This";
+affected rows: 1
+info: Rows matched: 1 Changed: 1 Warnings: 0
+select * from t1;
+c1
+That
+drop table t1;
End of 5.1 tests
diff --git a/mysql-test/r/csv_not_null.result b/mysql-test/r/csv_not_null.result
new file mode 100644
index 00000000000..77026b8f056
--- /dev/null
+++ b/mysql-test/r/csv_not_null.result
@@ -0,0 +1,53 @@
+# ===== csv_not_null.1 =====
+DROP TABLE IF EXISTS t1, t2;
+# === Will fail -- no NOT NULL ===
+CREATE TABLE t1 (a int) ENGINE = CSV;
+ERROR 42000: The storage engine for the table doesn't support nullable columns
+# === Good CREATE ===
+CREATE TABLE t1 (a int NOT NULL) ENGINE = CSV;
+# === Will fail -- ALL columns need NOT NULL ==
+CREATE TABLE t2 (a int NOT NULL, b char(20)) ENGINE = CSV;
+ERROR 42000: The storage engine for the table doesn't support nullable columns
+DROP TABLE t1;
+# ===== csv_not_null.2 =====
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 (a int NOT NULL, b blob NOT NULL, c CHAR(20) NOT NULL,
+d VARCHAR(20) NOT NULL, e enum('foo','bar') NOT NULL,f DATE NOT NULL)
+ENGINE = CSV;
+# === should result in default for each datatype ===
+INSERT INTO t1 VALUES();
+SELECT * FROM t1;
+a b c d e f
+0 foo 0000-00-00
+SELECT * FROM t1;
+a b c d e f
+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 abc def ghi bar 1999-12-31
+# === insert failures ===
+INSERT INTO t1 VALUES(NULL,'ab','a','b','foo','2007-01-01');
+ERROR 23000: Column 'a' cannot be null
+INSERT INTO t1 VALUES(default(a),default(b), default(c), default(d),
+default(e), default(f));
+ERROR HY000: Field 'a' doesn't have a default value
+DROP TABLE t1;
+# ===== csv_not_null.3 =====
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 (a int NOT NULL, b char(10) NOT NULL) ENGINE = CSV;
+INSERT INTO t1 VALUES();
+SELECT * FROM t1;
+a b
+0
+UPDATE t1 set b = 'new_value' where a = 0;
+SELECT * FROM t1;
+a b
+0 new_value
+UPDATE t1 set b = NULL where b = 'new_value';
+ERROR 23000: Column 'b' cannot be null
+SELECT * FROM t1;
+a b
+0 new_value
+DROP TABLE t1;
diff --git a/mysql-test/r/ctype_ascii.result b/mysql-test/r/ctype_ascii.result
new file mode 100644
index 00000000000..06362486073
--- /dev/null
+++ b/mysql-test/r/ctype_ascii.result
@@ -0,0 +1,177 @@
+set names ascii;
+select 'e'='`';
+'e'='`'
+0
+select 'y'='~';
+'y'='~'
+0
+create table t1 (a char(1) character set ascii);
+insert into t1 (a) values (' '), ('a'), ('b'), ('c'), ('d'), ('e'), ('f'), ('g'), ('h'), ('i'), ('j'), ('k'), ('l'), ('m'), ('n'), ('o'), ('p'), ('q'), ('r'), ('s'), ('t'), ('u'), ('v'), ('w'), ('x'), ('y'), ('z'), ('A'), ('B'), ('C'), ('D'), ('E'), ('F'), ('G'), ('H'), ('I'), ('J'), ('K'), ('L'), ('M'), ('N'), ('O'), ('P'), ('Q'), ('R'), ('S'), ('T'), ('U'), ('V'), ('W'), ('X'), ('Y'), ('Z'), ('!'), ('@'), ('#'), ('$'), ('%'), ('^'), ('&'), ('*'), ('('), (')'), ('_'), ('+'), ('`'), ('~'), ('1'), ('2'), ('3'), ('4'), ('5'), ('6'), ('7'), ('8'), ('9'), ('0'), ('['), (']'), ('\\'), ('|'), ('}'), ('{'), ('"'), (':'), (''''), (';'), ('/'), ('.'), (','), ('?'), ('>'), ('<'), ('\n'), ('\t'), ('\a'), ('\f'), ('\v');
+select t1a.a, t1b.a from t1 as t1a, t1 as t1b where t1a.a=t1b.a order by binary t1a.a, binary t1b.a;
+a a
+
+
+
+
+
+! !
+" "
+# #
+$ $
+% %
+& &
+' '
+( (
+) )
+* *
++ +
+, ,
+. .
+/ /
+0 0
+1 1
+2 2
+3 3
+4 4
+5 5
+6 6
+7 7
+8 8
+9 9
+: :
+; ;
+< <
+> >
+? ?
+@ @
+A A
+A a
+A a
+B B
+B b
+C C
+C c
+D D
+D d
+E E
+E e
+F F
+F f
+F f
+G G
+G g
+H H
+H h
+I I
+I i
+J J
+J j
+K K
+K k
+L L
+L l
+M M
+M m
+N N
+N n
+O O
+O o
+P P
+P p
+Q Q
+Q q
+R R
+R r
+S S
+S s
+T T
+T t
+U U
+U u
+V V
+V v
+V v
+W W
+W w
+X X
+X x
+Y Y
+Y y
+Z Z
+Z z
+[ [
+\ \
+] ]
+^ ^
+_ _
+` `
+a A
+a A
+a a
+a a
+a a
+a a
+b B
+b b
+c C
+c c
+d D
+d d
+e E
+e e
+f F
+f F
+f f
+f f
+f f
+f f
+g G
+g g
+h H
+h h
+i I
+i i
+j J
+j j
+k K
+k k
+l L
+l l
+m M
+m m
+n N
+n n
+o O
+o o
+p P
+p p
+q Q
+q q
+r R
+r r
+s S
+s s
+t T
+t t
+u U
+u u
+v V
+v V
+v v
+v v
+v v
+v v
+w W
+w w
+x X
+x x
+y Y
+y y
+z Z
+z z
+{ {
+| |
+} }
+~ ~
+drop table t1;
+End of 5.0 tests.
diff --git a/mysql-test/r/ctype_big5.result b/mysql-test/r/ctype_big5.result
index 6d318a445f5..b88ea14b559 100644
--- a/mysql-test/r/ctype_big5.result
+++ b/mysql-test/r/ctype_big5.result
@@ -3,6 +3,8 @@ SET @test_character_set= 'big5';
SET @test_collation= 'big5_chinese_ci';
SET @safe_character_set_server= @@character_set_server;
SET @safe_collation_server= @@collation_server;
+SET @safe_character_set_client= @@character_set_client;
+SET @safe_character_set_results= @@character_set_results;
SET character_set_server= @test_character_set;
SET collation_server= @test_collation;
CREATE DATABASE d1;
@@ -52,10 +54,44 @@ SELECT c1 as want1result from t1 where c1 like 'location%';
want1result
location
DROP TABLE t1;
+create table t1 (a set('a') not null);
+insert into t1 values (),();
+Warnings:
+Warning 1364 Field 'a' doesn't have a default value
+select cast(a as char(1)) from t1;
+cast(a as char(1))
+
+
+select a sounds like a from t1;
+a sounds like a
+1
+1
+select 1 from t1 order by cast(a as char(1));
+1
+1
+1
+drop table t1;
+set names utf8;
+create table t1 (
+name varchar(10),
+level smallint unsigned);
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `name` varchar(10) default NULL,
+ `level` smallint(5) unsigned default NULL
+) ENGINE=MyISAM DEFAULT CHARSET=big5
+insert into t1 values ('string',1);
+select concat(name,space(level)), concat(name, repeat(' ',level)) from t1;
+concat(name,space(level)) concat(name, repeat(' ',level))
+string string
+drop table t1;
DROP DATABASE d1;
USE test;
SET character_set_server= @safe_character_set_server;
SET collation_server= @safe_collation_server;
+SET character_set_client= @safe_character_set_client;
+SET character_set_results= @safe_character_set_results;
SET NAMES big5;
SET collation_connection='big5_chinese_ci';
create table t1 select repeat('a',4000) a;
@@ -107,6 +143,23 @@ select c1 as c2h from t1 where c1 like 'ab#_def' escape '#';
c2h
ab_def
drop table t1;
+CREATE TABLE t1 AS
+SELECT 10 AS a, REPEAT('a',20) AS b, REPEAT('a',8) AS c, REPEAT('a',8) AS d;
+ALTER TABLE t1 ADD PRIMARY KEY(a), ADD KEY(b);
+INSERT INTO t1 (a, b) VALUES (1, repeat(0xF1F2,5));
+INSERT INTO t1 (a, b) VALUES (2, repeat(0xF1F2,10));
+INSERT INTO t1 (a, b) VALUES (3, repeat(0xF1F2,11));
+INSERT INTO t1 (a, b) VALUES (4, repeat(0xF1F2,12));
+SELECT hex(concat(repeat(0xF1F2, 10), '%'));
+hex(concat(repeat(0xF1F2, 10), '%'))
+F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F225
+3 rows expected
+SELECT a, hex(b), c FROM t1 WHERE b LIKE concat(repeat(0xF1F2,10), '%');
+a hex(b) c
+2 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+3 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+4 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+DROP TABLE t1;
SET collation_connection='big5_bin';
create table t1 select repeat('a',4000) a;
delete from t1;
@@ -157,6 +210,23 @@ select c1 as c2h from t1 where c1 like 'ab#_def' escape '#';
c2h
ab_def
drop table t1;
+CREATE TABLE t1 AS
+SELECT 10 AS a, REPEAT('a',20) AS b, REPEAT('a',8) AS c, REPEAT('a',8) AS d;
+ALTER TABLE t1 ADD PRIMARY KEY(a), ADD KEY(b);
+INSERT INTO t1 (a, b) VALUES (1, repeat(0xF1F2,5));
+INSERT INTO t1 (a, b) VALUES (2, repeat(0xF1F2,10));
+INSERT INTO t1 (a, b) VALUES (3, repeat(0xF1F2,11));
+INSERT INTO t1 (a, b) VALUES (4, repeat(0xF1F2,12));
+SELECT hex(concat(repeat(0xF1F2, 10), '%'));
+hex(concat(repeat(0xF1F2, 10), '%'))
+F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F225
+3 rows expected
+SELECT a, hex(b), c FROM t1 WHERE b LIKE concat(repeat(0xF1F2,10), '%');
+a hex(b) c
+2 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+3 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+4 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+DROP TABLE t1;
SET NAMES big5;
CREATE TABLE t1 (a text) character set big5;
INSERT INTO t1 VALUES ('ùØ');
diff --git a/mysql-test/r/ctype_collate.result b/mysql-test/r/ctype_collate.result
index f476ec68371..69b48ee2952 100644
--- a/mysql-test/r/ctype_collate.result
+++ b/mysql-test/r/ctype_collate.result
@@ -488,7 +488,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SHOW FIELDS FROM t1;
Field Type Null Key Default Extra
-latin1_f char(32) NO
+latin1_f char(32) NO NULL
ALTER TABLE t1 CHANGE latin1_f
latin1_f CHAR(32) CHARACTER SET latin1 COLLATE latin1_bin;
SHOW CREATE TABLE t1;
@@ -519,7 +519,7 @@ explain extended SELECT charset('a'),collation('a'),coercibility('a'),'a'='A';
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 charset(_latin1'a') AS `charset('a')`,collation(_latin1'a') AS `collation('a')`,coercibility(_latin1'a') AS `coercibility('a')`,(_latin1'a' = _latin1'A') AS `'a'='A'`
+Note 1003 select charset('a') AS `charset('a')`,collation('a') AS `collation('a')`,coercibility('a') AS `coercibility('a')`,('a' = 'A') AS `'a'='A'`
SET CHARACTER SET koi8r;
SHOW VARIABLES LIKE 'collation_client';
Variable_name Value
diff --git a/mysql-test/r/ctype_cp1250_ch.result b/mysql-test/r/ctype_cp1250_ch.result
index 4b02fa2182a..7f0cdf3f17b 100644
--- a/mysql-test/r/ctype_cp1250_ch.result
+++ b/mysql-test/r/ctype_cp1250_ch.result
@@ -3,6 +3,192 @@ DROP TABLE IF EXISTS t1;
SHOW COLLATION LIKE 'cp1250_czech_cs';
Collation Charset Id Default Compiled Sortlen
cp1250_czech_cs cp1250 34 Yes 2
+SET @test_character_set= 'cp1250';
+SET @test_collation= 'cp1250_general_ci';
+SET @safe_character_set_server= @@character_set_server;
+SET @safe_collation_server= @@collation_server;
+SET @safe_character_set_client= @@character_set_client;
+SET @safe_character_set_results= @@character_set_results;
+SET character_set_server= @test_character_set;
+SET collation_server= @test_collation;
+CREATE DATABASE d1;
+USE d1;
+CREATE TABLE t1 (c CHAR(10), KEY(c));
+SHOW FULL COLUMNS FROM t1;
+Field Type Collation Null Key Default Extra Privileges Comment
+c char(10) cp1250_general_ci YES MUL NULL
+INSERT INTO t1 VALUES ('aaa'),('aaaa'),('aaaaa');
+SELECT c as want3results FROM t1 WHERE c LIKE 'aaa%';
+want3results
+aaa
+aaaa
+aaaaa
+DROP TABLE t1;
+CREATE TABLE t1 (c1 varchar(15), KEY c1 (c1(2)));
+SHOW FULL COLUMNS FROM t1;
+Field Type Collation Null Key Default Extra Privileges Comment
+c1 varchar(15) cp1250_general_ci YES MUL NULL
+INSERT INTO t1 VALUES ('location'),('loberge'),('lotre'),('boabab');
+SELECT c1 as want3results from t1 where c1 like 'l%';
+want3results
+location
+loberge
+lotre
+SELECT c1 as want3results from t1 where c1 like 'lo%';
+want3results
+location
+loberge
+lotre
+SELECT c1 as want1result from t1 where c1 like 'loc%';
+want1result
+location
+SELECT c1 as want1result from t1 where c1 like 'loca%';
+want1result
+location
+SELECT c1 as want1result from t1 where c1 like 'locat%';
+want1result
+location
+SELECT c1 as want1result from t1 where c1 like 'locati%';
+want1result
+location
+SELECT c1 as want1result from t1 where c1 like 'locatio%';
+want1result
+location
+SELECT c1 as want1result from t1 where c1 like 'location%';
+want1result
+location
+DROP TABLE t1;
+create table t1 (a set('a') not null);
+insert into t1 values (),();
+Warnings:
+Warning 1364 Field 'a' doesn't have a default value
+select cast(a as char(1)) from t1;
+cast(a as char(1))
+
+
+select a sounds like a from t1;
+a sounds like a
+1
+1
+select 1 from t1 order by cast(a as char(1));
+1
+1
+1
+drop table t1;
+set names utf8;
+create table t1 (
+name varchar(10),
+level smallint unsigned);
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `name` varchar(10) DEFAULT NULL,
+ `level` smallint(5) unsigned DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=cp1250
+insert into t1 values ('string',1);
+select concat(name,space(level)), concat(name, repeat(' ',level)) from t1;
+concat(name,space(level)) concat(name, repeat(' ',level))
+string string
+drop table t1;
+DROP DATABASE d1;
+USE test;
+SET character_set_server= @safe_character_set_server;
+SET collation_server= @safe_collation_server;
+SET character_set_client= @safe_character_set_client;
+SET character_set_results= @safe_character_set_results;
+SET @test_character_set= 'cp1250';
+SET @test_collation= 'cp1250_czech_cs';
+SET @safe_character_set_server= @@character_set_server;
+SET @safe_collation_server= @@collation_server;
+SET @safe_character_set_client= @@character_set_client;
+SET @safe_character_set_results= @@character_set_results;
+SET character_set_server= @test_character_set;
+SET collation_server= @test_collation;
+CREATE DATABASE d1;
+USE d1;
+CREATE TABLE t1 (c CHAR(10), KEY(c));
+SHOW FULL COLUMNS FROM t1;
+Field Type Collation Null Key Default Extra Privileges Comment
+c char(10) cp1250_czech_cs YES MUL NULL
+INSERT INTO t1 VALUES ('aaa'),('aaaa'),('aaaaa');
+SELECT c as want3results FROM t1 WHERE c LIKE 'aaa%';
+want3results
+aaa
+aaaa
+aaaaa
+DROP TABLE t1;
+CREATE TABLE t1 (c1 varchar(15), KEY c1 (c1(2)));
+SHOW FULL COLUMNS FROM t1;
+Field Type Collation Null Key Default Extra Privileges Comment
+c1 varchar(15) cp1250_czech_cs YES MUL NULL
+INSERT INTO t1 VALUES ('location'),('loberge'),('lotre'),('boabab');
+SELECT c1 as want3results from t1 where c1 like 'l%';
+want3results
+location
+loberge
+lotre
+SELECT c1 as want3results from t1 where c1 like 'lo%';
+want3results
+location
+loberge
+lotre
+SELECT c1 as want1result from t1 where c1 like 'loc%';
+want1result
+location
+SELECT c1 as want1result from t1 where c1 like 'loca%';
+want1result
+location
+SELECT c1 as want1result from t1 where c1 like 'locat%';
+want1result
+location
+SELECT c1 as want1result from t1 where c1 like 'locati%';
+want1result
+location
+SELECT c1 as want1result from t1 where c1 like 'locatio%';
+want1result
+location
+SELECT c1 as want1result from t1 where c1 like 'location%';
+want1result
+location
+DROP TABLE t1;
+create table t1 (a set('a') not null);
+insert into t1 values (),();
+Warnings:
+Warning 1364 Field 'a' doesn't have a default value
+select cast(a as char(1)) from t1;
+cast(a as char(1))
+
+
+select a sounds like a from t1;
+a sounds like a
+1
+1
+select 1 from t1 order by cast(a as char(1));
+1
+1
+1
+drop table t1;
+set names utf8;
+create table t1 (
+name varchar(10),
+level smallint unsigned);
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `name` varchar(10) COLLATE cp1250_czech_cs DEFAULT NULL,
+ `level` smallint(5) unsigned DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=cp1250 COLLATE=cp1250_czech_cs
+insert into t1 values ('string',1);
+select concat(name,space(level)), concat(name, repeat(' ',level)) from t1;
+concat(name,space(level)) concat(name, repeat(' ',level))
+string string
+drop table t1;
+DROP DATABASE d1;
+USE test;
+SET character_set_server= @safe_character_set_server;
+SET collation_server= @safe_collation_server;
+SET character_set_client= @safe_character_set_client;
+SET character_set_results= @safe_character_set_results;
CREATE TABLE t1 (a char(16)) character set cp1250 collate cp1250_czech_cs;
INSERT INTO t1 VALUES ('');
SELECT a, length(a), a='', a=' ', a=' ' FROM t1;
diff --git a/mysql-test/r/ctype_cp932_binlog_stm.result b/mysql-test/r/ctype_cp932_binlog_stm.result
index c6ca7a3f008..946c06f1e07 100644
--- a/mysql-test/r/ctype_cp932_binlog_stm.result
+++ b/mysql-test/r/ctype_cp932_binlog_stm.result
@@ -40,9 +40,9 @@ IN ind DECIMAL(10,2))
BEGIN
INSERT INTO t4 VALUES (ins1, ins2, ind);
END
-master-bin.000001 783 Query 1 999 use `test`; INSERT INTO t4 VALUES ( NAME_CONST('ins1',_latin1 0x466F6F2773206120426172), NAME_CONST('ins2',_cp932 0xED40ED41ED42), NAME_CONST('ind',47.93))
-master-bin.000001 999 Query 1 1085 use `test`; DROP PROCEDURE bug18293
-master-bin.000001 1085 Query 1 1161 use `test`; DROP TABLE t4
+master-bin.000001 783 Query 1 991 use `test`; INSERT INTO t4 VALUES ( NAME_CONST('ins1',_latin1 0x466F6F2773206120426172), NAME_CONST('ins2',_cp932 0xED40ED41ED42), NAME_CONST('ind',47.93))
+master-bin.000001 991 Query 1 1080 use `test`; DROP PROCEDURE bug18293
+master-bin.000001 1080 Query 1 1159 use `test`; DROP TABLE t4
End of 5.0 tests
SHOW BINLOG EVENTS FROM 364;
ERROR HY000: Error when executing command SHOW BINLOG EVENTS: Wrong offset or I/O error
diff --git a/mysql-test/r/ctype_eucjpms.result b/mysql-test/r/ctype_eucjpms.result
index ad9666d0c86..21aa38b7fe6 100755
--- a/mysql-test/r/ctype_eucjpms.result
+++ b/mysql-test/r/ctype_eucjpms.result
@@ -9809,6 +9809,23 @@ eucjpms_japanese_ci 6109
eucjpms_japanese_ci 61
eucjpms_japanese_ci 6120
drop table t1;
+CREATE TABLE t1 AS
+SELECT 10 AS a, REPEAT('a',20) AS b, REPEAT('a',8) AS c, REPEAT('a',8) AS d;
+ALTER TABLE t1 ADD PRIMARY KEY(a), ADD KEY(b);
+INSERT INTO t1 (a, b) VALUES (1, repeat(0xF1F2,5));
+INSERT INTO t1 (a, b) VALUES (2, repeat(0xF1F2,10));
+INSERT INTO t1 (a, b) VALUES (3, repeat(0xF1F2,11));
+INSERT INTO t1 (a, b) VALUES (4, repeat(0xF1F2,12));
+SELECT hex(concat(repeat(0xF1F2, 10), '%'));
+hex(concat(repeat(0xF1F2, 10), '%'))
+F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F225
+3 rows expected
+SELECT a, hex(b), c FROM t1 WHERE b LIKE concat(repeat(0xF1F2,10), '%');
+a hex(b) c
+2 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+3 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+4 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+DROP TABLE t1;
SET collation_connection='eucjpms_bin';
create table t1 select repeat('a',4000) a;
delete from t1;
@@ -9819,6 +9836,23 @@ eucjpms_bin 6109
eucjpms_bin 61
eucjpms_bin 6120
drop table t1;
+CREATE TABLE t1 AS
+SELECT 10 AS a, REPEAT('a',20) AS b, REPEAT('a',8) AS c, REPEAT('a',8) AS d;
+ALTER TABLE t1 ADD PRIMARY KEY(a), ADD KEY(b);
+INSERT INTO t1 (a, b) VALUES (1, repeat(0xF1F2,5));
+INSERT INTO t1 (a, b) VALUES (2, repeat(0xF1F2,10));
+INSERT INTO t1 (a, b) VALUES (3, repeat(0xF1F2,11));
+INSERT INTO t1 (a, b) VALUES (4, repeat(0xF1F2,12));
+SELECT hex(concat(repeat(0xF1F2, 10), '%'));
+hex(concat(repeat(0xF1F2, 10), '%'))
+F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F225
+3 rows expected
+SELECT a, hex(b), c FROM t1 WHERE b LIKE concat(repeat(0xF1F2,10), '%');
+a hex(b) c
+2 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+3 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+4 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+DROP TABLE t1;
select hex(convert(_eucjpms 0xA5FE41 using ucs2));
hex(convert(_eucjpms 0xA5FE41 using ucs2))
003F0041
diff --git a/mysql-test/r/ctype_euckr.result b/mysql-test/r/ctype_euckr.result
index 6017bc07763..6490044ea1a 100644
--- a/mysql-test/r/ctype_euckr.result
+++ b/mysql-test/r/ctype_euckr.result
@@ -3,6 +3,8 @@ SET @test_character_set= 'euckr';
SET @test_collation= 'euckr_korean_ci';
SET @safe_character_set_server= @@character_set_server;
SET @safe_collation_server= @@collation_server;
+SET @safe_character_set_client= @@character_set_client;
+SET @safe_character_set_results= @@character_set_results;
SET character_set_server= @test_character_set;
SET collation_server= @test_collation;
CREATE DATABASE d1;
@@ -52,10 +54,44 @@ SELECT c1 as want1result from t1 where c1 like 'location%';
want1result
location
DROP TABLE t1;
+create table t1 (a set('a') not null);
+insert into t1 values (),();
+Warnings:
+Warning 1364 Field 'a' doesn't have a default value
+select cast(a as char(1)) from t1;
+cast(a as char(1))
+
+
+select a sounds like a from t1;
+a sounds like a
+1
+1
+select 1 from t1 order by cast(a as char(1));
+1
+1
+1
+drop table t1;
+set names utf8;
+create table t1 (
+name varchar(10),
+level smallint unsigned);
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `name` varchar(10) DEFAULT NULL,
+ `level` smallint(5) unsigned DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=euckr
+insert into t1 values ('string',1);
+select concat(name,space(level)), concat(name, repeat(' ',level)) from t1;
+concat(name,space(level)) concat(name, repeat(' ',level))
+string string
+drop table t1;
DROP DATABASE d1;
USE test;
SET character_set_server= @safe_character_set_server;
SET collation_server= @safe_collation_server;
+SET character_set_client= @safe_character_set_client;
+SET character_set_results= @safe_character_set_results;
SET NAMES euckr;
SET collation_connection='euckr_korean_ci';
create table t1 select repeat('a',4000) a;
@@ -107,6 +143,23 @@ select c1 as c2h from t1 where c1 like 'ab#_def' escape '#';
c2h
ab_def
drop table t1;
+CREATE TABLE t1 AS
+SELECT 10 AS a, REPEAT('a',20) AS b, REPEAT('a',8) AS c, REPEAT('a',8) AS d;
+ALTER TABLE t1 ADD PRIMARY KEY(a), ADD KEY(b);
+INSERT INTO t1 (a, b) VALUES (1, repeat(0xF1F2,5));
+INSERT INTO t1 (a, b) VALUES (2, repeat(0xF1F2,10));
+INSERT INTO t1 (a, b) VALUES (3, repeat(0xF1F2,11));
+INSERT INTO t1 (a, b) VALUES (4, repeat(0xF1F2,12));
+SELECT hex(concat(repeat(0xF1F2, 10), '%'));
+hex(concat(repeat(0xF1F2, 10), '%'))
+F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F225
+3 rows expected
+SELECT a, hex(b), c FROM t1 WHERE b LIKE concat(repeat(0xF1F2,10), '%');
+a hex(b) c
+2 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+3 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+4 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+DROP TABLE t1;
SET collation_connection='euckr_bin';
create table t1 select repeat('a',4000) a;
delete from t1;
@@ -157,6 +210,23 @@ select c1 as c2h from t1 where c1 like 'ab#_def' escape '#';
c2h
ab_def
drop table t1;
+CREATE TABLE t1 AS
+SELECT 10 AS a, REPEAT('a',20) AS b, REPEAT('a',8) AS c, REPEAT('a',8) AS d;
+ALTER TABLE t1 ADD PRIMARY KEY(a), ADD KEY(b);
+INSERT INTO t1 (a, b) VALUES (1, repeat(0xF1F2,5));
+INSERT INTO t1 (a, b) VALUES (2, repeat(0xF1F2,10));
+INSERT INTO t1 (a, b) VALUES (3, repeat(0xF1F2,11));
+INSERT INTO t1 (a, b) VALUES (4, repeat(0xF1F2,12));
+SELECT hex(concat(repeat(0xF1F2, 10), '%'));
+hex(concat(repeat(0xF1F2, 10), '%'))
+F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F225
+3 rows expected
+SELECT a, hex(b), c FROM t1 WHERE b LIKE concat(repeat(0xF1F2,10), '%');
+a hex(b) c
+2 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+3 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+4 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+DROP TABLE t1;
SET NAMES euckr;
CREATE TABLE t1 (a text) character set euckr;
INSERT INTO t1 VALUES (0xA2E6),(0xFEF7);
@@ -165,3 +235,44 @@ hex(a)
A2E6
FEF7
DROP TABLE t1;
+create table t1 (s1 varchar(5) character set euckr);
+insert into t1 values (0xA141);
+insert into t1 values (0xA15A);
+insert into t1 values (0xA161);
+insert into t1 values (0xA17A);
+insert into t1 values (0xA181);
+insert into t1 values (0xA1FE);
+insert into t1 values (0xA140);
+Warnings:
+Warning 1366 Incorrect string value: '\xA1@' for column 's1' at row 1
+insert into t1 values (0xA15B);
+Warnings:
+Warning 1366 Incorrect string value: '\xA1[' for column 's1' at row 1
+insert into t1 values (0xA160);
+Warnings:
+Warning 1366 Incorrect string value: '\xA1`' for column 's1' at row 1
+insert into t1 values (0xA17B);
+Warnings:
+Warning 1366 Incorrect string value: '\xA1{' for column 's1' at row 1
+insert into t1 values (0xA180);
+Warnings:
+Warning 1366 Incorrect string value: '\xA1\x80' for column 's1' at row 1
+insert into t1 values (0xA1FF);
+Warnings:
+Warning 1366 Incorrect string value: '\xA1\xFF' for column 's1' at row 1
+select hex(s1), hex(convert(s1 using utf8)) from t1 order by binary s1;
+hex(s1) hex(convert(s1 using utf8))
+
+
+
+
+
+
+A141 ECA2A5
+A15A ECA381
+A161 ECA382
+A17A ECA3A5
+A181 ECA3A6
+A1FE EFBFA2
+drop table t1;
+End of 5.0 tests
diff --git a/mysql-test/r/ctype_gb2312.result b/mysql-test/r/ctype_gb2312.result
index 314c336bab9..2f789ab5b13 100644
--- a/mysql-test/r/ctype_gb2312.result
+++ b/mysql-test/r/ctype_gb2312.result
@@ -3,6 +3,8 @@ SET @test_character_set= 'gb2312';
SET @test_collation= 'gb2312_chinese_ci';
SET @safe_character_set_server= @@character_set_server;
SET @safe_collation_server= @@collation_server;
+SET @safe_character_set_client= @@character_set_client;
+SET @safe_character_set_results= @@character_set_results;
SET character_set_server= @test_character_set;
SET collation_server= @test_collation;
CREATE DATABASE d1;
@@ -52,10 +54,44 @@ SELECT c1 as want1result from t1 where c1 like 'location%';
want1result
location
DROP TABLE t1;
+create table t1 (a set('a') not null);
+insert into t1 values (),();
+Warnings:
+Warning 1364 Field 'a' doesn't have a default value
+select cast(a as char(1)) from t1;
+cast(a as char(1))
+
+
+select a sounds like a from t1;
+a sounds like a
+1
+1
+select 1 from t1 order by cast(a as char(1));
+1
+1
+1
+drop table t1;
+set names utf8;
+create table t1 (
+name varchar(10),
+level smallint unsigned);
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `name` varchar(10) DEFAULT NULL,
+ `level` smallint(5) unsigned DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=gb2312
+insert into t1 values ('string',1);
+select concat(name,space(level)), concat(name, repeat(' ',level)) from t1;
+concat(name,space(level)) concat(name, repeat(' ',level))
+string string
+drop table t1;
DROP DATABASE d1;
USE test;
SET character_set_server= @safe_character_set_server;
SET collation_server= @safe_collation_server;
+SET character_set_client= @safe_character_set_client;
+SET character_set_results= @safe_character_set_results;
SET NAMES gb2312;
SET collation_connection='gb2312_chinese_ci';
create table t1 select repeat('a',4000) a;
@@ -107,6 +143,23 @@ select c1 as c2h from t1 where c1 like 'ab#_def' escape '#';
c2h
ab_def
drop table t1;
+CREATE TABLE t1 AS
+SELECT 10 AS a, REPEAT('a',20) AS b, REPEAT('a',8) AS c, REPEAT('a',8) AS d;
+ALTER TABLE t1 ADD PRIMARY KEY(a), ADD KEY(b);
+INSERT INTO t1 (a, b) VALUES (1, repeat(0xF1F2,5));
+INSERT INTO t1 (a, b) VALUES (2, repeat(0xF1F2,10));
+INSERT INTO t1 (a, b) VALUES (3, repeat(0xF1F2,11));
+INSERT INTO t1 (a, b) VALUES (4, repeat(0xF1F2,12));
+SELECT hex(concat(repeat(0xF1F2, 10), '%'));
+hex(concat(repeat(0xF1F2, 10), '%'))
+F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F225
+3 rows expected
+SELECT a, hex(b), c FROM t1 WHERE b LIKE concat(repeat(0xF1F2,10), '%');
+a hex(b) c
+2 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+3 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+4 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+DROP TABLE t1;
SET collation_connection='gb2312_bin';
create table t1 select repeat('a',4000) a;
delete from t1;
@@ -157,6 +210,23 @@ select c1 as c2h from t1 where c1 like 'ab#_def' escape '#';
c2h
ab_def
drop table t1;
+CREATE TABLE t1 AS
+SELECT 10 AS a, REPEAT('a',20) AS b, REPEAT('a',8) AS c, REPEAT('a',8) AS d;
+ALTER TABLE t1 ADD PRIMARY KEY(a), ADD KEY(b);
+INSERT INTO t1 (a, b) VALUES (1, repeat(0xF1F2,5));
+INSERT INTO t1 (a, b) VALUES (2, repeat(0xF1F2,10));
+INSERT INTO t1 (a, b) VALUES (3, repeat(0xF1F2,11));
+INSERT INTO t1 (a, b) VALUES (4, repeat(0xF1F2,12));
+SELECT hex(concat(repeat(0xF1F2, 10), '%'));
+hex(concat(repeat(0xF1F2, 10), '%'))
+F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F225
+3 rows expected
+SELECT a, hex(b), c FROM t1 WHERE b LIKE concat(repeat(0xF1F2,10), '%');
+a hex(b) c
+2 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+3 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+4 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+DROP TABLE t1;
SET NAMES gb2312;
CREATE TABLE t1 (a text) character set gb2312;
INSERT INTO t1 VALUES (0xA2A1),(0xD7FE);
diff --git a/mysql-test/r/ctype_gbk.result b/mysql-test/r/ctype_gbk.result
index 3f5d8b0d8c6..98a6839be4c 100644
--- a/mysql-test/r/ctype_gbk.result
+++ b/mysql-test/r/ctype_gbk.result
@@ -3,6 +3,8 @@ SET @test_character_set= 'gbk';
SET @test_collation= 'gbk_chinese_ci';
SET @safe_character_set_server= @@character_set_server;
SET @safe_collation_server= @@collation_server;
+SET @safe_character_set_client= @@character_set_client;
+SET @safe_character_set_results= @@character_set_results;
SET character_set_server= @test_character_set;
SET collation_server= @test_collation;
CREATE DATABASE d1;
@@ -52,10 +54,44 @@ SELECT c1 as want1result from t1 where c1 like 'location%';
want1result
location
DROP TABLE t1;
+create table t1 (a set('a') not null);
+insert into t1 values (),();
+Warnings:
+Warning 1364 Field 'a' doesn't have a default value
+select cast(a as char(1)) from t1;
+cast(a as char(1))
+
+
+select a sounds like a from t1;
+a sounds like a
+1
+1
+select 1 from t1 order by cast(a as char(1));
+1
+1
+1
+drop table t1;
+set names utf8;
+create table t1 (
+name varchar(10),
+level smallint unsigned);
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `name` varchar(10) DEFAULT NULL,
+ `level` smallint(5) unsigned DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=gbk
+insert into t1 values ('string',1);
+select concat(name,space(level)), concat(name, repeat(' ',level)) from t1;
+concat(name,space(level)) concat(name, repeat(' ',level))
+string string
+drop table t1;
DROP DATABASE d1;
USE test;
SET character_set_server= @safe_character_set_server;
SET collation_server= @safe_collation_server;
+SET character_set_client= @safe_character_set_client;
+SET character_set_results= @safe_character_set_results;
SET NAMES gbk;
SET collation_connection='gbk_chinese_ci';
create table t1 select repeat('a',4000) a;
@@ -107,6 +143,23 @@ select c1 as c2h from t1 where c1 like 'ab#_def' escape '#';
c2h
ab_def
drop table t1;
+CREATE TABLE t1 AS
+SELECT 10 AS a, REPEAT('a',20) AS b, REPEAT('a',8) AS c, REPEAT('a',8) AS d;
+ALTER TABLE t1 ADD PRIMARY KEY(a), ADD KEY(b);
+INSERT INTO t1 (a, b) VALUES (1, repeat(0xF1F2,5));
+INSERT INTO t1 (a, b) VALUES (2, repeat(0xF1F2,10));
+INSERT INTO t1 (a, b) VALUES (3, repeat(0xF1F2,11));
+INSERT INTO t1 (a, b) VALUES (4, repeat(0xF1F2,12));
+SELECT hex(concat(repeat(0xF1F2, 10), '%'));
+hex(concat(repeat(0xF1F2, 10), '%'))
+F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F225
+3 rows expected
+SELECT a, hex(b), c FROM t1 WHERE b LIKE concat(repeat(0xF1F2,10), '%');
+a hex(b) c
+2 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+3 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+4 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+DROP TABLE t1;
SET collation_connection='gbk_bin';
create table t1 select repeat('a',4000) a;
delete from t1;
@@ -157,6 +210,23 @@ select c1 as c2h from t1 where c1 like 'ab#_def' escape '#';
c2h
ab_def
drop table t1;
+CREATE TABLE t1 AS
+SELECT 10 AS a, REPEAT('a',20) AS b, REPEAT('a',8) AS c, REPEAT('a',8) AS d;
+ALTER TABLE t1 ADD PRIMARY KEY(a), ADD KEY(b);
+INSERT INTO t1 (a, b) VALUES (1, repeat(0xF1F2,5));
+INSERT INTO t1 (a, b) VALUES (2, repeat(0xF1F2,10));
+INSERT INTO t1 (a, b) VALUES (3, repeat(0xF1F2,11));
+INSERT INTO t1 (a, b) VALUES (4, repeat(0xF1F2,12));
+SELECT hex(concat(repeat(0xF1F2, 10), '%'));
+hex(concat(repeat(0xF1F2, 10), '%'))
+F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F225
+3 rows expected
+SELECT a, hex(b), c FROM t1 WHERE b LIKE concat(repeat(0xF1F2,10), '%');
+a hex(b) c
+2 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+3 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+4 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+DROP TABLE t1;
SET NAMES gbk;
CREATE TABLE t1 (a text) character set gbk;
INSERT INTO t1 VALUES (0xA3A0),(0xA1A1);
diff --git a/mysql-test/r/ctype_latin1_de.result b/mysql-test/r/ctype_latin1_de.result
index 5733877237d..f826199bb1f 100644
--- a/mysql-test/r/ctype_latin1_de.result
+++ b/mysql-test/r/ctype_latin1_de.result
@@ -326,6 +326,41 @@ latin1_german2_ci 6109
latin1_german2_ci 61
latin1_german2_ci 6120
drop table t1;
+drop table if exists t1;
+create table t1 as select repeat(' ', 64) as s1;
+select collation(s1) from t1;
+collation(s1)
+latin1_german2_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
+ae 6165
+ä E4
+o 6F
+oe 6F65
+ö F6
+s 73
+ss 7373
+ß DF
+u 75
+ue 7565
+ü FC
+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 NAMES latin1;
CREATE TABLE t1 (
col1 varchar(255) NOT NULL default ''
diff --git a/mysql-test/r/ctype_recoding.result b/mysql-test/r/ctype_recoding.result
index e85d379c932..304e37facb1 100644
--- a/mysql-test/r/ctype_recoding.result
+++ b/mysql-test/r/ctype_recoding.result
@@ -54,7 +54,7 @@ Table Create Table
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='ËÏÍÍÅÎÔÁÒÉÊ ÔÁÂÌÉÃÙ'
SHOW FIELDS FROM ÔÁÂÌÉÃÁ;
Field Type Null Key Default Extra
-ÐÏÌÅ char(32) NO
+ÐÏÌÅ char(32) NO NULL
SET CHARACTER SET cp1251;
SHOW TABLES;
Tables_in_test
@@ -66,7 +66,7 @@ Table Create Table
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='êîììåíòàðèé òàáëèöû'
SHOW FIELDS FROM òàáëèöà;
Field Type Null Key Default Extra
-ïîëå char(32) NO
+ïîëå char(32) NO NULL
SET CHARACTER SET utf8;
SHOW TABLES;
Tables_in_test
@@ -78,7 +78,7 @@ Table Create Table
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='комментарий таблицы'
SHOW FIELDS FROM таблица;
Field Type Null Key Default Extra
-поле char(32) NO
+поле char(32) NO NULL
SET CHARACTER SET koi8r;
DROP TABLE ÔÁÂÌÉÃÁ;
SET CHARACTER SET default;
@@ -187,6 +187,14 @@ select * from t1 where a=_latin1'×ÁÓÑ';
ERROR HY000: Illegal mix of collations (cp1251_general_ci,IMPLICIT) and (latin1_swedish_ci,COERCIBLE) for operation '='
drop table t1;
set names latin1;
+set names ascii;
+create table t1 (a char(1) character set latin1);
+insert into t1 values ('a');
+select * from t1 where a='a';
+a
+a
+drop table t1;
+set names latin1;
create table t1 (a char(10) character set utf8 collate utf8_bin);
insert into t1 values (' xxx');
select * from t1 where a=lpad('xxx',10,' ');
diff --git a/mysql-test/r/ctype_sjis.result b/mysql-test/r/ctype_sjis.result
index 1c9d540d574..91d6ebd9795 100644
--- a/mysql-test/r/ctype_sjis.result
+++ b/mysql-test/r/ctype_sjis.result
@@ -121,6 +121,23 @@ select c1 as c2h from t1 where c1 like 'ab#_def' escape '#';
c2h
ab_def
drop table t1;
+CREATE TABLE t1 AS
+SELECT 10 AS a, REPEAT('a',20) AS b, REPEAT('a',8) AS c, REPEAT('a',8) AS d;
+ALTER TABLE t1 ADD PRIMARY KEY(a), ADD KEY(b);
+INSERT INTO t1 (a, b) VALUES (1, repeat(0xF1F2,5));
+INSERT INTO t1 (a, b) VALUES (2, repeat(0xF1F2,10));
+INSERT INTO t1 (a, b) VALUES (3, repeat(0xF1F2,11));
+INSERT INTO t1 (a, b) VALUES (4, repeat(0xF1F2,12));
+SELECT hex(concat(repeat(0xF1F2, 10), '%'));
+hex(concat(repeat(0xF1F2, 10), '%'))
+F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F225
+3 rows expected
+SELECT a, hex(b), c FROM t1 WHERE b LIKE concat(repeat(0xF1F2,10), '%');
+a hex(b) c
+2 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+3 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+4 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+DROP TABLE t1;
SET collation_connection='sjis_bin';
create table t1 select repeat('a',4000) a;
delete from t1;
@@ -171,6 +188,23 @@ select c1 as c2h from t1 where c1 like 'ab#_def' escape '#';
c2h
ab_def
drop table t1;
+CREATE TABLE t1 AS
+SELECT 10 AS a, REPEAT('a',20) AS b, REPEAT('a',8) AS c, REPEAT('a',8) AS d;
+ALTER TABLE t1 ADD PRIMARY KEY(a), ADD KEY(b);
+INSERT INTO t1 (a, b) VALUES (1, repeat(0xF1F2,5));
+INSERT INTO t1 (a, b) VALUES (2, repeat(0xF1F2,10));
+INSERT INTO t1 (a, b) VALUES (3, repeat(0xF1F2,11));
+INSERT INTO t1 (a, b) VALUES (4, repeat(0xF1F2,12));
+SELECT hex(concat(repeat(0xF1F2, 10), '%'));
+hex(concat(repeat(0xF1F2, 10), '%'))
+F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F225
+3 rows expected
+SELECT a, hex(b), c FROM t1 WHERE b LIKE concat(repeat(0xF1F2,10), '%');
+a hex(b) c
+2 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+3 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+4 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+DROP TABLE t1;
SET NAMES sjis;
SELECT HEX('²“‘@Œ\') FROM DUAL;
HEX('²“‘@Œ\')
diff --git a/mysql-test/r/ctype_uca.result b/mysql-test/r/ctype_uca.result
index 889702e380c..04727f84ff2 100644
--- a/mysql-test/r/ctype_uca.result
+++ b/mysql-test/r/ctype_uca.result
@@ -2538,6 +2538,8 @@ SET @test_character_set= 'utf8';
SET @test_collation= 'utf8_swedish_ci';
SET @safe_character_set_server= @@character_set_server;
SET @safe_collation_server= @@collation_server;
+SET @safe_character_set_client= @@character_set_client;
+SET @safe_character_set_results= @@character_set_results;
SET character_set_server= @test_character_set;
SET collation_server= @test_collation;
CREATE DATABASE d1;
@@ -2587,10 +2589,44 @@ SELECT c1 as want1result from t1 where c1 like 'location%';
want1result
location
DROP TABLE t1;
+create table t1 (a set('a') not null);
+insert into t1 values (),();
+Warnings:
+Warning 1364 Field 'a' doesn't have a default value
+select cast(a as char(1)) from t1;
+cast(a as char(1))
+
+
+select a sounds like a from t1;
+a sounds like a
+1
+1
+select 1 from t1 order by cast(a as char(1));
+1
+1
+1
+drop table t1;
+set names utf8;
+create table t1 (
+name varchar(10),
+level smallint unsigned);
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `name` varchar(10) COLLATE utf8_swedish_ci DEFAULT NULL,
+ `level` smallint(5) unsigned DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_swedish_ci
+insert into t1 values ('string',1);
+select concat(name,space(level)), concat(name, repeat(' ',level)) from t1;
+concat(name,space(level)) concat(name, repeat(' ',level))
+string string
+drop table t1;
DROP DATABASE d1;
USE test;
SET character_set_server= @safe_character_set_server;
SET collation_server= @safe_collation_server;
+SET character_set_client= @safe_character_set_client;
+SET character_set_results= @safe_character_set_results;
create table t1 (a varchar(1)) character set utf8 collate utf8_estonian_ci;
insert into t1 values ('A'),('B'),('C'),('a'),('b'),('c');
select a, a regexp '[a]' from t1 order by binary a;
@@ -2630,6 +2666,41 @@ 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)
+utf8_unicode_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
+ss 7373
+ß C39F
+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;
CREATE TABLE t1 (id int, a varchar(30) character set utf8);
INSERT INTO t1 VALUES (1, _ucs2 0x01310069), (2, _ucs2 0x01310131);
INSERT INTO t1 VALUES (3, _ucs2 0x00690069), (4, _ucs2 0x01300049);
@@ -2754,4 +2825,66 @@ a
c
ch
drop table t1;
+set collation_connection=ucs2_unicode_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 ucs2 COLLATE ucs2_unicode_ci DEFAULT NULL,
+ `s2` varchar(64) CHARACTER SET ucs2 COLLATE ucs2_unicode_ci 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;
+CREATE TABLE t1 AS
+SELECT 10 AS a, REPEAT('a',20) AS b, REPEAT('a',8) AS c, REPEAT('a',8) AS d;
+ALTER TABLE t1 ADD PRIMARY KEY(a), ADD KEY(b);
+INSERT INTO t1 (a, b) VALUES (1, repeat(0xF1F2,5));
+INSERT INTO t1 (a, b) VALUES (2, repeat(0xF1F2,10));
+INSERT INTO t1 (a, b) VALUES (3, repeat(0xF1F2,11));
+INSERT INTO t1 (a, b) VALUES (4, repeat(0xF1F2,12));
+SELECT hex(concat(repeat(0xF1F2, 10), '%'));
+hex(concat(repeat(0xF1F2, 10), '%'))
+F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F20025
+3 rows expected
+SELECT a, hex(b), c FROM t1 WHERE b LIKE concat(repeat(0xF1F2,10), '%');
+a hex(b) c
+2 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+3 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+4 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+DROP TABLE t1;
+set names utf8;
End for 5.0 tests
diff --git a/mysql-test/r/ctype_ucs.result b/mysql-test/r/ctype_ucs.result
index 3720aa2910b..20dd85834dd 100644
--- a/mysql-test/r/ctype_ucs.result
+++ b/mysql-test/r/ctype_ucs.result
@@ -1,4 +1,97 @@
DROP TABLE IF EXISTS t1;
+SET @test_character_set= 'ucs2';
+SET @test_collation= 'ucs2_general_ci';
+SET @safe_character_set_server= @@character_set_server;
+SET @safe_collation_server= @@collation_server;
+SET @safe_character_set_client= @@character_set_client;
+SET @safe_character_set_results= @@character_set_results;
+SET character_set_server= @test_character_set;
+SET collation_server= @test_collation;
+CREATE DATABASE d1;
+USE d1;
+CREATE TABLE t1 (c CHAR(10), KEY(c));
+SHOW FULL COLUMNS FROM t1;
+Field Type Collation Null Key Default Extra Privileges Comment
+c char(10) ucs2_general_ci YES MUL NULL
+INSERT INTO t1 VALUES ('aaa'),('aaaa'),('aaaaa');
+SELECT c as want3results FROM t1 WHERE c LIKE 'aaa%';
+want3results
+aaa
+aaaa
+aaaaa
+DROP TABLE t1;
+CREATE TABLE t1 (c1 varchar(15), KEY c1 (c1(2)));
+SHOW FULL COLUMNS FROM t1;
+Field Type Collation Null Key Default Extra Privileges Comment
+c1 varchar(15) ucs2_general_ci YES MUL NULL
+INSERT INTO t1 VALUES ('location'),('loberge'),('lotre'),('boabab');
+SELECT c1 as want3results from t1 where c1 like 'l%';
+want3results
+location
+loberge
+lotre
+SELECT c1 as want3results from t1 where c1 like 'lo%';
+want3results
+location
+loberge
+lotre
+SELECT c1 as want1result from t1 where c1 like 'loc%';
+want1result
+location
+SELECT c1 as want1result from t1 where c1 like 'loca%';
+want1result
+location
+SELECT c1 as want1result from t1 where c1 like 'locat%';
+want1result
+location
+SELECT c1 as want1result from t1 where c1 like 'locati%';
+want1result
+location
+SELECT c1 as want1result from t1 where c1 like 'locatio%';
+want1result
+location
+SELECT c1 as want1result from t1 where c1 like 'location%';
+want1result
+location
+DROP TABLE t1;
+create table t1 (a set('a') not null);
+insert into t1 values (),();
+Warnings:
+Warning 1364 Field 'a' doesn't have a default value
+select cast(a as char(1)) from t1;
+cast(a as char(1))
+
+
+select a sounds like a from t1;
+a sounds like a
+1
+1
+select 1 from t1 order by cast(a as char(1));
+1
+1
+1
+drop table t1;
+set names utf8;
+create table t1 (
+name varchar(10),
+level smallint unsigned);
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `name` varchar(10) DEFAULT NULL,
+ `level` smallint(5) unsigned DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=ucs2
+insert into t1 values ('string',1);
+select concat(name,space(level)), concat(name, repeat(' ',level)) from t1;
+concat(name,space(level)) concat(name, repeat(' ',level))
+string string
+drop table t1;
+DROP DATABASE d1;
+USE test;
+SET character_set_server= @safe_character_set_server;
+SET collation_server= @safe_collation_server;
+SET character_set_client= @safe_character_set_client;
+SET character_set_results= @safe_character_set_results;
SET NAMES latin1;
SET character_set_connection=ucs2;
select 'a' = 'a', 'a' = 'a ', 'a ' = 'a';
@@ -613,6 +706,58 @@ 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)
+ucs2_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 0061
+ä 00E4
+ae 00610065
+o 006F
+ö 00F6
+oe 006F0065
+s 0073
+ß 00DF
+ss 00730073
+u 0075
+ü 00FC
+ue 00750065
+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;
+CREATE TABLE t1 AS
+SELECT 10 AS a, REPEAT('a',20) AS b, REPEAT('a',8) AS c, REPEAT('a',8) AS d;
+ALTER TABLE t1 ADD PRIMARY KEY(a), ADD KEY(b);
+INSERT INTO t1 (a, b) VALUES (1, repeat(0xF1F2,5));
+INSERT INTO t1 (a, b) VALUES (2, repeat(0xF1F2,10));
+INSERT INTO t1 (a, b) VALUES (3, repeat(0xF1F2,11));
+INSERT INTO t1 (a, b) VALUES (4, repeat(0xF1F2,12));
+SELECT hex(concat(repeat(0xF1F2, 10), '%'));
+hex(concat(repeat(0xF1F2, 10), '%'))
+F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F20025
+3 rows expected
+SELECT a, hex(b), c FROM t1 WHERE b LIKE concat(repeat(0xF1F2,10), '%');
+a hex(b) c
+2 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+3 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+4 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+DROP TABLE t1;
SET NAMES latin1;
SET collation_connection='ucs2_bin';
create table t1 select repeat('a',4000) a;
@@ -642,6 +787,23 @@ select c1 as c2h from t1 where c1 like 'ab#_def' escape '#';
c2h
ab_def
drop table t1;
+CREATE TABLE t1 AS
+SELECT 10 AS a, REPEAT('a',20) AS b, REPEAT('a',8) AS c, REPEAT('a',8) AS d;
+ALTER TABLE t1 ADD PRIMARY KEY(a), ADD KEY(b);
+INSERT INTO t1 (a, b) VALUES (1, repeat(0xF1F2,5));
+INSERT INTO t1 (a, b) VALUES (2, repeat(0xF1F2,10));
+INSERT INTO t1 (a, b) VALUES (3, repeat(0xF1F2,11));
+INSERT INTO t1 (a, b) VALUES (4, repeat(0xF1F2,12));
+SELECT hex(concat(repeat(0xF1F2, 10), '%'));
+hex(concat(repeat(0xF1F2, 10), '%'))
+F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F20025
+3 rows expected
+SELECT a, hex(b), c FROM t1 WHERE b LIKE concat(repeat(0xF1F2,10), '%');
+a hex(b) c
+2 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+3 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+4 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+DROP TABLE t1;
select hex(substr(_ucs2 0x00e400e50068,1));
hex(substr(_ucs2 0x00e400e50068,1))
00E400E50068
@@ -811,6 +973,20 @@ quote(name)
????????
????????????????
drop table bug20536;
+set names ucs2;
+ERROR 42000: Variable 'character_set_client' can't be set to the value of 'ucs2'
+set names ucs2 collate ucs2_bin;
+ERROR 42000: Variable 'character_set_client' can't be set to the value of 'ucs2'
+set character_set_client= ucs2;
+ERROR 42000: Variable 'character_set_client' can't be set to the value of 'ucs2'
+set character_set_client= concat('ucs', substr('2', 1));
+ERROR 42000: Variable 'character_set_client' can't be set to the value of 'ucs2'
+CREATE TABLE t1(a TEXT CHARSET ucs2 COLLATE ucs2_unicode_ci);
+INSERT INTO t1 VALUES('abcd');
+SELECT * FROM t1 WHERE MATCH(a) AGAINST ('+abcd' IN BOOLEAN MODE);
+a
+abcd
+DROP TABLE t1;
End of 4.1 tests
CREATE TABLE t1 (a varchar(64) character set ucs2, b decimal(10,3));
INSERT INTO t1 VALUES ("1.1", 0), ("2.1", 0);
@@ -896,4 +1072,78 @@ select hex(convert(s1 using latin1)) from t1;
hex(convert(s1 using latin1))
7F
drop table t1;
+create table t1 (a varchar(15) character set ascii not null, b int);
+insert into t1 values ('a',1);
+select concat(a,if(b<10,_ucs2 0x0061,_ucs2 0x0062)) from t1;
+concat(a,if(b<10,_ucs2 0x0061,_ucs2 0x0062))
+aa
+select concat(a,if(b>10,_ucs2 0x0061,_ucs2 0x0062)) from t1;
+concat(a,if(b>10,_ucs2 0x0061,_ucs2 0x0062))
+ab
+select * from t1 where a=if(b<10,_ucs2 0x0061,_ucs2 0x0062);
+a b
+a 1
+select * from t1 where a=if(b>10,_ucs2 0x0061,_ucs2 0x0062);
+a b
+select concat(a,if(b<10,_ucs2 0x00C0,_ucs2 0x0062)) from t1;
+ERROR HY000: Illegal mix of collations (ascii_general_ci,IMPLICIT) and (ucs2_general_ci,COERCIBLE) for operation 'concat'
+select concat(a,if(b>10,_ucs2 0x00C0,_ucs2 0x0062)) from t1;
+ERROR HY000: Illegal mix of collations (ascii_general_ci,IMPLICIT) and (ucs2_general_ci,COERCIBLE) for operation 'concat'
+select concat(a,if(b<10,_ucs2 0x0062,_ucs2 0x00C0)) from t1;
+ERROR HY000: Illegal mix of collations (ascii_general_ci,IMPLICIT) and (ucs2_general_ci,COERCIBLE) for operation 'concat'
+select concat(a,if(b>10,_ucs2 0x0062,_ucs2 0x00C0)) from t1;
+ERROR HY000: Illegal mix of collations (ascii_general_ci,IMPLICIT) and (ucs2_general_ci,COERCIBLE) for operation 'concat'
+select * from t1 where a=if(b<10,_ucs2 0x00C0,_ucs2 0x0062);
+ERROR HY000: Illegal mix of collations (ascii_general_ci,IMPLICIT) and (ucs2_general_ci,COERCIBLE) for operation '='
+select * from t1 where a=if(b<10,_ucs2 0x0062,_ucs2 0x00C0);
+ERROR HY000: Illegal mix of collations (ascii_general_ci,IMPLICIT) and (ucs2_general_ci,COERCIBLE) for operation '='
+drop table t1;
+set collation_connection=ucs2_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 ucs2 DEFAULT NULL,
+ `s2` varchar(64) CHARACTER SET ucs2 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 latin1;
+select hex(char(0x41 using ucs2));
+hex(char(0x41 using ucs2))
+0041
End of 5.0 tests
diff --git a/mysql-test/r/ctype_ucs2_def.result b/mysql-test/r/ctype_ucs2_def.result
index 6fd45428368..005d46062fb 100644
--- a/mysql-test/r/ctype_ucs2_def.result
+++ b/mysql-test/r/ctype_ucs2_def.result
@@ -21,4 +21,14 @@ INSERT INTO t1 VALUES('A', 'A'), ('B', 'B'), ('C', 'C');
INSERT INTO t1 VALUES('A ', 'A ');
ERROR 23000: Duplicate entry '' for key 'key1'
DROP TABLE t1;
+CREATE TABLE t1 (
+c1 CHAR(255) CHARACTER SET UCS2 COLLATE UCS2_BIN NOT NULL,
+KEY(c1)
+) ENGINE=MyISAM;
+INSERT INTO t1 VALUES ('marshall\'s');
+INSERT INTO t1 VALUES ('marsh');
+CHECK TABLE t1 EXTENDED;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+DROP TABLE t1;
End of 5.0 tests
diff --git a/mysql-test/r/ctype_ujis.result b/mysql-test/r/ctype_ujis.result
index d95b8cf9efb..540ba178756 100644
--- a/mysql-test/r/ctype_ujis.result
+++ b/mysql-test/r/ctype_ujis.result
@@ -2257,6 +2257,23 @@ select c1 as c2h from t1 where c1 like 'ab#_def' escape '#';
c2h
ab_def
drop table t1;
+CREATE TABLE t1 AS
+SELECT 10 AS a, REPEAT('a',20) AS b, REPEAT('a',8) AS c, REPEAT('a',8) AS d;
+ALTER TABLE t1 ADD PRIMARY KEY(a), ADD KEY(b);
+INSERT INTO t1 (a, b) VALUES (1, repeat(0xF1F2,5));
+INSERT INTO t1 (a, b) VALUES (2, repeat(0xF1F2,10));
+INSERT INTO t1 (a, b) VALUES (3, repeat(0xF1F2,11));
+INSERT INTO t1 (a, b) VALUES (4, repeat(0xF1F2,12));
+SELECT hex(concat(repeat(0xF1F2, 10), '%'));
+hex(concat(repeat(0xF1F2, 10), '%'))
+F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F225
+3 rows expected
+SELECT a, hex(b), c FROM t1 WHERE b LIKE concat(repeat(0xF1F2,10), '%');
+a hex(b) c
+2 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+3 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+4 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+DROP TABLE t1;
SET collation_connection='ujis_bin';
create table t1 select repeat('a',4000) a;
delete from t1;
@@ -2307,6 +2324,23 @@ select c1 as c2h from t1 where c1 like 'ab#_def' escape '#';
c2h
ab_def
drop table t1;
+CREATE TABLE t1 AS
+SELECT 10 AS a, REPEAT('a',20) AS b, REPEAT('a',8) AS c, REPEAT('a',8) AS d;
+ALTER TABLE t1 ADD PRIMARY KEY(a), ADD KEY(b);
+INSERT INTO t1 (a, b) VALUES (1, repeat(0xF1F2,5));
+INSERT INTO t1 (a, b) VALUES (2, repeat(0xF1F2,10));
+INSERT INTO t1 (a, b) VALUES (3, repeat(0xF1F2,11));
+INSERT INTO t1 (a, b) VALUES (4, repeat(0xF1F2,12));
+SELECT hex(concat(repeat(0xF1F2, 10), '%'));
+hex(concat(repeat(0xF1F2, 10), '%'))
+F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F225
+3 rows expected
+SELECT a, hex(b), c FROM t1 WHERE b LIKE concat(repeat(0xF1F2,10), '%');
+a hex(b) c
+2 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+3 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+4 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+DROP TABLE t1;
select hex(convert(_ujis 0xA5FE41 using ucs2));
hex(convert(_ujis 0xA5FE41 using ucs2))
003F0041
diff --git a/mysql-test/r/ctype_utf8.result b/mysql-test/r/ctype_utf8.result
index 4778e9a6296..12e6c9bb492 100644
--- a/mysql-test/r/ctype_utf8.result
+++ b/mysql-test/r/ctype_utf8.result
@@ -267,6 +267,51 @@ b
select * from t1 where a = 'b' and a != 'b';
a
drop table t1;
+set collation_connection=utf8_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 utf8 DEFAULT NULL,
+ `s2` varchar(64) CHARACTER SET utf8 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 utf8;
set names utf8;
select 'ваÑÑ' rlike '[[:<:]]ваÑÑ[[:>:]]';
'ваÑÑ' rlike '[[:<:]]ваÑÑ[[:>:]]'
@@ -894,6 +939,41 @@ 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)
+utf8_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='utf8_bin';
create table t1 select repeat('a',4000) a;
delete from t1;
@@ -1538,12 +1618,12 @@ char(53647 using utf8)
Ñ
select char(0xff,0x8f using utf8);
char(0xff,0x8f using utf8)
-ÿ
+
Warnings:
Warning 1300 Invalid utf8 character string: 'FF8F'
select convert(char(0xff,0x8f) using utf8);
convert(char(0xff,0x8f) using utf8)
-ÿ
+
Warnings:
Warning 1300 Invalid utf8 character string: 'FF8F'
set sql_mode=traditional;
@@ -1639,6 +1719,42 @@ coercibility(col1) collation(col1)
0 utf8_swedish_ci
drop view v1, v2;
drop table t1;
+set names utf8;
+create table t1 (a varchar(10) character set latin1, b int);
+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 utf8;
+create table t1 (a varchar(10) character set latin1, b int);
+insert into t1 values ('a',1);
+select concat(a, if(b>10, _utf8'x', _utf8'y')) from t1;
+concat(a, if(b>10, _utf8'x', _utf8'y'))
+ay
+select concat(a, if(b>10, _utf8'æ', _utf8'ß')) 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 utf8;
+create table t1 (a varchar(10) character set latin1, b int);
+insert into t1 values ('a',1);
+select concat(a, if(b>10, _utf8 0x78, _utf8 0x79)) from t1;
+concat(a, if(b>10, _utf8 0x78, _utf8 0x79))
+ay
+select concat(a, if(b>10, _utf8 0xC3A6, _utf8 0xC3AF)) 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 utf8;
+create table t1 (a varchar(10) character set latin1, b int);
+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 (utf8_general_ci,COERCIBLE) for operation 'concat'
+drop table t1;
CREATE TABLE t1 (
colA int(11) NOT NULL,
colB varchar(255) character set utf8 NOT NULL,
@@ -1694,3 +1810,41 @@ i
1
н1234567890
DROP TABLE t1, t2;
+set sql_mode=traditional;
+select hex(char(0xFF using utf8));
+hex(char(0xFF using utf8))
+NULL
+Warnings:
+Error 1300 Invalid utf8 character string: 'FF'
+select hex(convert(0xFF using utf8));
+hex(convert(0xFF using utf8))
+NULL
+Warnings:
+Error 1300 Invalid utf8 character string: 'FF'
+select hex(_utf8 0x616263FF);
+ERROR HY000: Invalid utf8 character string: 'FF'
+select hex(_utf8 X'616263FF');
+ERROR HY000: Invalid utf8 character string: 'FF'
+select hex(_utf8 B'001111111111');
+ERROR HY000: Invalid utf8 character string: 'FF'
+select (_utf8 X'616263FF');
+ERROR HY000: Invalid utf8 character string: 'FF'
+set sql_mode=default;
+select hex(char(0xFF using utf8));
+hex(char(0xFF using utf8))
+
+Warnings:
+Warning 1300 Invalid utf8 character string: 'FF'
+select hex(convert(0xFF using utf8));
+hex(convert(0xFF using utf8))
+
+Warnings:
+Warning 1300 Invalid utf8 character string: 'FF'
+select hex(_utf8 0x616263FF);
+ERROR HY000: Invalid utf8 character string: 'FF'
+select hex(_utf8 X'616263FF');
+ERROR HY000: Invalid utf8 character string: 'FF'
+select hex(_utf8 B'001111111111');
+ERROR HY000: Invalid utf8 character string: 'FF'
+select (_utf8 X'616263FF');
+ERROR HY000: Invalid utf8 character string: 'FF'
diff --git a/mysql-test/r/date_formats.result b/mysql-test/r/date_formats.result
index 11717679b42..dfd8244ef77 100644
--- a/mysql-test/r/date_formats.result
+++ b/mysql-test/r/date_formats.result
@@ -80,7 +80,7 @@ select STR_TO_DATE('2004.12.12 22.30.61','%Y.%m.%d %T');
STR_TO_DATE('2004.12.12 22.30.61','%Y.%m.%d %T')
NULL
Warnings:
-Error 1411 Incorrect time value: '22.30.61' for function str_to_time
+Error 1411 Incorrect time value: '22.30.61' for function str_to_date
create table t1 (date char(30), format char(30) not null);
insert into t1 values
('2003-01-02 10:11:12', '%Y-%m-%d %H:%i:%S'),
@@ -352,21 +352,21 @@ Tuesday 52 2001 %W %u %x NULL
7 53 1998 %w %u %Y NULL
NULL %m.%d.%Y NULL
Warnings:
-Error 1411 Incorrect datetime value: '2003-01-02 10:11:12 PM' for function str_to_time
-Error 1411 Incorrect datetime value: '2003-01-02 10:11:12.123456' for function str_to_time
-Error 1411 Incorrect datetime value: '2003-01-02 10:11:12AM' for function str_to_time
-Error 1411 Incorrect datetime value: '2003-01-02 10:11:12AN' for function str_to_time
-Error 1411 Incorrect datetime value: '2003-01-02 10:11:12 PM' for function str_to_time
-Error 1411 Incorrect datetime value: '10:20:10AM' for function str_to_time
-Error 1411 Incorrect datetime value: '15 Septembei 2001' for function str_to_time
-Error 1411 Incorrect datetime value: '15 Ju 2001' for function str_to_time
-Error 1411 Incorrect datetime value: 'Sund 15 MA' for function str_to_time
-Error 1411 Incorrect datetime value: 'Thursdai 12 1998' for function str_to_time
-Error 1411 Incorrect datetime value: 'Sunday 01 2001' for function str_to_time
-Error 1411 Incorrect datetime value: 'Tuesday 52 2001' for function str_to_time
-Error 1411 Incorrect datetime value: 'Tuesday 52 2001' for function str_to_time
-Error 1411 Incorrect datetime value: 'Tuesday 52 2001' for function str_to_time
-Error 1411 Incorrect datetime value: '7 53 1998' for function str_to_time
+Error 1411 Incorrect datetime value: '2003-01-02 10:11:12 PM' for function str_to_date
+Error 1411 Incorrect datetime value: '2003-01-02 10:11:12.123456' for function str_to_date
+Error 1411 Incorrect datetime value: '2003-01-02 10:11:12AM' for function str_to_date
+Error 1411 Incorrect datetime value: '2003-01-02 10:11:12AN' for function str_to_date
+Error 1411 Incorrect datetime value: '2003-01-02 10:11:12 PM' for function str_to_date
+Error 1411 Incorrect datetime value: '10:20:10AM' for function str_to_date
+Error 1411 Incorrect datetime value: '15 Septembei 2001' for function str_to_date
+Error 1411 Incorrect datetime value: '15 Ju 2001' for function str_to_date
+Error 1411 Incorrect datetime value: 'Sund 15 MA' for function str_to_date
+Error 1411 Incorrect datetime value: 'Thursdai 12 1998' for function str_to_date
+Error 1411 Incorrect datetime value: 'Sunday 01 2001' for function str_to_date
+Error 1411 Incorrect datetime value: 'Tuesday 52 2001' for function str_to_date
+Error 1411 Incorrect datetime value: 'Tuesday 52 2001' for function str_to_date
+Error 1411 Incorrect datetime value: 'Tuesday 52 2001' for function str_to_date
+Error 1411 Incorrect datetime value: '7 53 1998' for function str_to_date
select date,format,concat(str_to_date(date, format),'') as con from t1;
date format con
2003-01-02 10:11:12 PM %Y-%m-%d %H:%i:%S %p NULL
@@ -386,21 +386,21 @@ Tuesday 52 2001 %W %u %x NULL
7 53 1998 %w %u %Y NULL
NULL %m.%d.%Y NULL
Warnings:
-Error 1411 Incorrect datetime value: '2003-01-02 10:11:12 PM' for function str_to_time
-Error 1411 Incorrect datetime value: '2003-01-02 10:11:12.123456' for function str_to_time
-Error 1411 Incorrect datetime value: '2003-01-02 10:11:12AM' for function str_to_time
-Error 1411 Incorrect datetime value: '2003-01-02 10:11:12AN' for function str_to_time
-Error 1411 Incorrect datetime value: '2003-01-02 10:11:12 PM' for function str_to_time
-Error 1411 Incorrect datetime value: '10:20:10AM' for function str_to_time
-Error 1411 Incorrect datetime value: '15 Septembei 2001' for function str_to_time
-Error 1411 Incorrect datetime value: '15 Ju 2001' for function str_to_time
-Error 1411 Incorrect datetime value: 'Sund 15 MA' for function str_to_time
-Error 1411 Incorrect datetime value: 'Thursdai 12 1998' for function str_to_time
-Error 1411 Incorrect datetime value: 'Sunday 01 2001' for function str_to_time
-Error 1411 Incorrect datetime value: 'Tuesday 52 2001' for function str_to_time
-Error 1411 Incorrect datetime value: 'Tuesday 52 2001' for function str_to_time
-Error 1411 Incorrect datetime value: 'Tuesday 52 2001' for function str_to_time
-Error 1411 Incorrect datetime value: '7 53 1998' for function str_to_time
+Error 1411 Incorrect datetime value: '2003-01-02 10:11:12 PM' for function str_to_date
+Error 1411 Incorrect datetime value: '2003-01-02 10:11:12.123456' for function str_to_date
+Error 1411 Incorrect datetime value: '2003-01-02 10:11:12AM' for function str_to_date
+Error 1411 Incorrect datetime value: '2003-01-02 10:11:12AN' for function str_to_date
+Error 1411 Incorrect datetime value: '2003-01-02 10:11:12 PM' for function str_to_date
+Error 1411 Incorrect datetime value: '10:20:10AM' for function str_to_date
+Error 1411 Incorrect datetime value: '15 Septembei 2001' for function str_to_date
+Error 1411 Incorrect datetime value: '15 Ju 2001' for function str_to_date
+Error 1411 Incorrect datetime value: 'Sund 15 MA' for function str_to_date
+Error 1411 Incorrect datetime value: 'Thursdai 12 1998' for function str_to_date
+Error 1411 Incorrect datetime value: 'Sunday 01 2001' for function str_to_date
+Error 1411 Incorrect datetime value: 'Tuesday 52 2001' for function str_to_date
+Error 1411 Incorrect datetime value: 'Tuesday 52 2001' for function str_to_date
+Error 1411 Incorrect datetime value: 'Tuesday 52 2001' for function str_to_date
+Error 1411 Incorrect datetime value: '7 53 1998' for function str_to_date
truncate table t1;
insert into t1 values
('10:20:10AM', '%h:%i:%s'),
@@ -440,12 +440,12 @@ select str_to_date('15-01-2001 12:59:59', GET_FORMAT(DATE,'USA'));
str_to_date('15-01-2001 12:59:59', GET_FORMAT(DATE,'USA'))
NULL
Warnings:
-Error 1411 Incorrect datetime value: '15-01-2001 12:59:59' for function str_to_time
+Error 1411 Incorrect datetime value: '15-01-2001 12:59:59' for function str_to_date
explain extended select makedate(1997,1), addtime("31.12.97 11.59.59.999999 PM", "1 1.1.1.000002"),subtime("31.12.97 11.59.59.999999 PM", "1 1.1.1.000002"),timediff("01.01.97 11:59:59.000001 PM","31.12.95 11:59:59.000002 PM"),cast(str_to_date("15-01-2001 12:59:59", "%d-%m-%Y %H:%i:%S") as TIME), maketime(23,11,12),microsecond("1997-12-31 23:59:59.000001");
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 makedate(1997,1) AS `makedate(1997,1)`,addtime(_latin1'31.12.97 11.59.59.999999 PM',_latin1'1 1.1.1.000002') AS `addtime("31.12.97 11.59.59.999999 PM", "1 1.1.1.000002")`,subtime(_latin1'31.12.97 11.59.59.999999 PM',_latin1'1 1.1.1.000002') AS `subtime("31.12.97 11.59.59.999999 PM", "1 1.1.1.000002")`,timediff(_latin1'01.01.97 11:59:59.000001 PM',_latin1'31.12.95 11:59:59.000002 PM') AS `timediff("01.01.97 11:59:59.000001 PM","31.12.95 11:59:59.000002 PM")`,cast(str_to_date(_latin1'15-01-2001 12:59:59',_latin1'%d-%m-%Y %H:%i:%S') as time) AS `cast(str_to_date("15-01-2001 12:59:59", "%d-%m-%Y %H:%i:%S") as TIME)`,maketime(23,11,12) AS `maketime(23,11,12)`,microsecond(_latin1'1997-12-31 23:59:59.000001') AS `microsecond("1997-12-31 23:59:59.000001")`
+Note 1003 select makedate(1997,1) AS `makedate(1997,1)`,addtime('31.12.97 11.59.59.999999 PM','1 1.1.1.000002') AS `addtime("31.12.97 11.59.59.999999 PM", "1 1.1.1.000002")`,subtime('31.12.97 11.59.59.999999 PM','1 1.1.1.000002') AS `subtime("31.12.97 11.59.59.999999 PM", "1 1.1.1.000002")`,timediff('01.01.97 11:59:59.000001 PM','31.12.95 11:59:59.000002 PM') AS `timediff("01.01.97 11:59:59.000001 PM","31.12.95 11:59:59.000002 PM")`,cast(str_to_date('15-01-2001 12:59:59','%d-%m-%Y %H:%i:%S') as time) AS `cast(str_to_date("15-01-2001 12:59:59", "%d-%m-%Y %H:%i:%S") as TIME)`,maketime(23,11,12) AS `maketime(23,11,12)`,microsecond('1997-12-31 23:59:59.000001') AS `microsecond("1997-12-31 23:59:59.000001")`
create table t1 (d date);
insert into t1 values ('2004-07-14'),('2005-07-14');
select date_format(d,"%d") from t1 order by 1;
@@ -478,7 +478,7 @@ str_to_date(a,b)
create table t2 select str_to_date(a,b) from t1;
describe t2;
Field Type Null Key Default Extra
-str_to_date(a,b) binary(29) YES NULL
+str_to_date(a,b) datetime YES NULL
select str_to_date("2003-01-02 10:11:12.0012", "%Y-%m-%d %H:%i:%S.%f") as f1,
str_to_date("2003-01-02 10:11:12.0012", "%Y-%m-%d %H:%i:%S") as f2,
str_to_date("2003-01-02", "%Y-%m-%d") as f3,
diff --git a/mysql-test/r/ddl_i18n_koi8r.result b/mysql-test/r/ddl_i18n_koi8r.result
index 3d38319df21..34cea2a5a7d 100644
--- a/mysql-test/r/ddl_i18n_koi8r.result
+++ b/mysql-test/r/ddl_i18n_koi8r.result
@@ -16,24 +16,34 @@ FROM t1|
CREATE VIEW v2 AS SELECT _utf8'теÑÑ‚' as c1|
+CREATE VIEW v3 AS SELECT _utf8'теÑÑ‚'|
+
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 _koi8r'ÔÅÓÔ' AS `c1`,`t1`.`ËÏÌ` AS `c2` from `t1` koi8r koi8r_general_ci
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select 'ÔÅÓÔ' AS `c1`,`t1`.`ËÏÌ` AS `c2` from `t1` koi8r koi8r_general_ci
SHOW CREATE VIEW v2|
View Create View character_set_client collation_connection
v2 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v2` AS select _utf8'теÑÑ‚' AS `c1` koi8r koi8r_general_ci
+SHOW CREATE VIEW v3|
+View Create View character_set_client collation_connection
+v3 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v3` AS select _utf8'теÑÑ‚' AS `ÔÅÓÔ` koi8r koi8r_general_ci
+
SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE table_name = 'v1'|
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE CHARACTER_SET_CLIENT COLLATION_CONNECTION
-NULL mysqltest1 v1 SELECT 'ÔÅÓÔ' AS c1, ËÏÌ AS c2 NONE YES root@localhost DEFINER koi8r koi8r_general_ci
+NULL mysqltest1 v1 select 'ÔÅÓÔ' AS `c1`,`mysqltest1`.`t1`.`ËÏÌ` AS `c2` from `mysqltest1`.`t1` NONE YES root@localhost DEFINER koi8r koi8r_general_ci
SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE table_name = 'v2'|
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE CHARACTER_SET_CLIENT COLLATION_CONNECTION
-NULL mysqltest1 v2 SELECT 'ÔÅÓÔ' as c1 NONE NO root@localhost DEFINER koi8r koi8r_general_ci
+NULL mysqltest1 v2 select 'ÔÅÓÔ' AS `c1` NONE NO root@localhost DEFINER koi8r koi8r_general_ci
+
+SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE table_name = 'v3'|
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE CHARACTER_SET_CLIENT COLLATION_CONNECTION
+NULL mysqltest1 v3 select 'ÔÅÓÔ' AS `ÔÅÓÔ` NONE NO root@localhost DEFINER koi8r koi8r_general_ci
SELECT COLLATION(c1), COLLATION(c2) FROM v1|
@@ -44,6 +54,10 @@ SELECT COLLATION(c1) FROM v2|
COLLATION(c1)
utf8_general_ci
+SELECT * FROM v3|
+ÔÅÓÔ
+ÔÅÓÔ
+
ALTER DATABASE mysqltest1 COLLATE cp866_general_ci|
@@ -53,26 +67,35 @@ SET @@character_set_results= cp1251|
SET @@collation_connection= cp1251_general_ci|
SELECT * FROM mysqltest1.v1|
SELECT * FROM mysqltest1.v2|
+SELECT * FROM mysqltest1.v3|
use mysqltest1|
set names koi8r|
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 _koi8r'ÔÅÓÔ' AS `c1`,`t1`.`ËÏÌ` AS `c2` from `t1` koi8r koi8r_general_ci
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select 'ÔÅÓÔ' AS `c1`,`t1`.`ËÏÌ` AS `c2` from `t1` koi8r koi8r_general_ci
SHOW CREATE VIEW v2|
View Create View character_set_client collation_connection
v2 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v2` AS select _utf8'теÑÑ‚' AS `c1` koi8r koi8r_general_ci
+SHOW CREATE VIEW v3|
+View Create View character_set_client collation_connection
+v3 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v3` AS select _utf8'теÑÑ‚' AS `ÔÅÓÔ` koi8r koi8r_general_ci
+
SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE table_name = 'v1'|
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE CHARACTER_SET_CLIENT COLLATION_CONNECTION
-NULL mysqltest1 v1 SELECT 'ÔÅÓÔ' AS c1, ËÏÌ AS c2 NONE YES root@localhost DEFINER koi8r koi8r_general_ci
+NULL mysqltest1 v1 select 'ÔÅÓÔ' AS `c1`,`mysqltest1`.`t1`.`ËÏÌ` AS `c2` from `mysqltest1`.`t1` NONE YES root@localhost DEFINER koi8r koi8r_general_ci
SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE table_name = 'v2'|
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE CHARACTER_SET_CLIENT COLLATION_CONNECTION
-NULL mysqltest1 v2 SELECT 'ÔÅÓÔ' as c1 NONE NO root@localhost DEFINER koi8r koi8r_general_ci
+NULL mysqltest1 v2 select 'ÔÅÓÔ' AS `c1` NONE NO root@localhost DEFINER koi8r koi8r_general_ci
+
+SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE table_name = 'v3'|
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE CHARACTER_SET_CLIENT COLLATION_CONNECTION
+NULL mysqltest1 v3 select 'ÔÅÓÔ' AS `ÔÅÓÔ` NONE NO root@localhost DEFINER koi8r koi8r_general_ci
SELECT COLLATION(c1), COLLATION(c2) FROM v1|
@@ -83,6 +106,10 @@ SELECT COLLATION(c1) FROM v2|
COLLATION(c1)
utf8_general_ci
+SELECT * FROM v3|
+ÔÅÓÔ
+ÔÅÓÔ
+
---> Dumping mysqltest1 to ddl_i18n_koi8r.views.mysqltest1.sql
@@ -97,27 +124,36 @@ SET @@character_set_results= cp1251|
SET @@collation_connection= cp1251_general_ci|
SELECT * FROM mysqltest1.v1|
SELECT * FROM mysqltest1.v2|
+SELECT * FROM mysqltest1.v3|
use mysqltest1|
set names koi8r|
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 _koi8r'ÔÅÓÔ' AS `c1`,`t1`.`ËÏÌ` AS `c2` from `t1` koi8r koi8r_general_ci
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select 'ÔÅÓÔ' AS `c1`,`t1`.`ËÏÌ` AS `c2` from `t1` koi8r koi8r_general_ci
SHOW CREATE VIEW v2|
View Create View character_set_client collation_connection
v2 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v2` AS select _utf8'теÑÑ‚' AS `c1` koi8r koi8r_general_ci
+SHOW CREATE VIEW v3|
+View Create View character_set_client collation_connection
+v3 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v3` AS select _utf8'теÑÑ‚' AS `ÔÅÓÔ` koi8r koi8r_general_ci
+
SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE table_name = 'v1'|
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE CHARACTER_SET_CLIENT COLLATION_CONNECTION
-NULL mysqltest1 v1 select 'ÔÅÓÔ' AS `c1`,`t1`.`ËÏÌ` AS `c2` from `t1` NONE YES root@localhost DEFINER koi8r koi8r_general_ci
+NULL mysqltest1 v1 select 'ÔÅÓÔ' AS `c1`,`mysqltest1`.`t1`.`ËÏÌ` AS `c2` from `mysqltest1`.`t1` NONE YES root@localhost DEFINER koi8r koi8r_general_ci
SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE table_name = 'v2'|
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE CHARACTER_SET_CLIENT COLLATION_CONNECTION
NULL mysqltest1 v2 select 'ÔÅÓÔ' AS `c1` NONE NO root@localhost DEFINER koi8r koi8r_general_ci
+SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE table_name = 'v3'|
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE CHARACTER_SET_CLIENT COLLATION_CONNECTION
+NULL mysqltest1 v3 select 'ÔÅÓÔ' AS `ÔÅÓÔ` NONE NO root@localhost DEFINER koi8r koi8r_general_ci
+
SELECT COLLATION(c1), COLLATION(c2) FROM v1|
COLLATION(c1) COLLATION(c2)
@@ -127,6 +163,10 @@ SELECT COLLATION(c1) FROM v2|
COLLATION(c1)
utf8_general_ci
+SELECT * FROM v3|
+ÔÅÓÔ
+ÔÅÓÔ
+
---> connection: default
use test|
DROP DATABASE mysqltest1|
diff --git a/mysql-test/r/ddl_i18n_utf8.result b/mysql-test/r/ddl_i18n_utf8.result
index b8e690bfeb7..cf5dac3dc7c 100644
--- a/mysql-test/r/ddl_i18n_utf8.result
+++ b/mysql-test/r/ddl_i18n_utf8.result
@@ -16,24 +16,34 @@ FROM t1|
CREATE VIEW v2 AS SELECT _koi8r'ÔÅÓÔ' as c1|
+CREATE VIEW v3 AS SELECT _koi8r'ÔÅÓÔ'|
+
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 _utf8'теÑÑ‚' AS `c1`,`t1`.`кол` AS `c2` from `t1` utf8 utf8_general_ci
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select 'теÑÑ‚' AS `c1`,`t1`.`кол` AS `c2` from `t1` utf8 utf8_general_ci
SHOW CREATE VIEW v2|
View Create View character_set_client collation_connection
v2 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v2` AS select _koi8r'ÔÅÓÔ' AS `c1` utf8 utf8_general_ci
+SHOW CREATE VIEW v3|
+View Create View character_set_client collation_connection
+v3 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v3` AS select _koi8r'ÔÅÓÔ' AS `теÑÑ‚` utf8 utf8_general_ci
+
SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE table_name = 'v1'|
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE CHARACTER_SET_CLIENT COLLATION_CONNECTION
-NULL mysqltest1 v1 SELECT 'теÑÑ‚' AS c1, кол AS c2 NONE YES root@localhost DEFINER utf8 utf8_general_ci
+NULL mysqltest1 v1 select 'теÑÑ‚' AS `c1`,`mysqltest1`.`t1`.`кол` AS `c2` from `mysqltest1`.`t1` NONE YES root@localhost DEFINER utf8 utf8_general_ci
SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE table_name = 'v2'|
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE CHARACTER_SET_CLIENT COLLATION_CONNECTION
-NULL mysqltest1 v2 SELECT 'теÑÑ‚' as c1 NONE NO root@localhost DEFINER utf8 utf8_general_ci
+NULL mysqltest1 v2 select 'теÑÑ‚' AS `c1` NONE NO root@localhost DEFINER utf8 utf8_general_ci
+
+SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE table_name = 'v3'|
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE CHARACTER_SET_CLIENT COLLATION_CONNECTION
+NULL mysqltest1 v3 select 'теÑÑ‚' AS `теÑÑ‚` NONE NO root@localhost DEFINER utf8 utf8_general_ci
SELECT COLLATION(c1), COLLATION(c2) FROM v1|
@@ -44,6 +54,10 @@ SELECT COLLATION(c1) FROM v2|
COLLATION(c1)
koi8r_general_ci
+SELECT * FROM v3|
+теÑÑ‚
+теÑÑ‚
+
ALTER DATABASE mysqltest1 COLLATE cp866_general_ci|
@@ -53,26 +67,35 @@ SET @@character_set_results= cp1251|
SET @@collation_connection= cp1251_general_ci|
SELECT * FROM mysqltest1.v1|
SELECT * FROM mysqltest1.v2|
+SELECT * FROM mysqltest1.v3|
use mysqltest1|
set names utf8|
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 _utf8'теÑÑ‚' AS `c1`,`t1`.`кол` AS `c2` from `t1` utf8 utf8_general_ci
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select 'теÑÑ‚' AS `c1`,`t1`.`кол` AS `c2` from `t1` utf8 utf8_general_ci
SHOW CREATE VIEW v2|
View Create View character_set_client collation_connection
v2 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v2` AS select _koi8r'ÔÅÓÔ' AS `c1` utf8 utf8_general_ci
+SHOW CREATE VIEW v3|
+View Create View character_set_client collation_connection
+v3 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v3` AS select _koi8r'ÔÅÓÔ' AS `теÑÑ‚` utf8 utf8_general_ci
+
SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE table_name = 'v1'|
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE CHARACTER_SET_CLIENT COLLATION_CONNECTION
-NULL mysqltest1 v1 SELECT 'теÑÑ‚' AS c1, кол AS c2 NONE YES root@localhost DEFINER utf8 utf8_general_ci
+NULL mysqltest1 v1 select 'теÑÑ‚' AS `c1`,`mysqltest1`.`t1`.`кол` AS `c2` from `mysqltest1`.`t1` NONE YES root@localhost DEFINER utf8 utf8_general_ci
SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE table_name = 'v2'|
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE CHARACTER_SET_CLIENT COLLATION_CONNECTION
-NULL mysqltest1 v2 SELECT 'теÑÑ‚' as c1 NONE NO root@localhost DEFINER utf8 utf8_general_ci
+NULL mysqltest1 v2 select 'теÑÑ‚' AS `c1` NONE NO root@localhost DEFINER utf8 utf8_general_ci
+
+SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE table_name = 'v3'|
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE CHARACTER_SET_CLIENT COLLATION_CONNECTION
+NULL mysqltest1 v3 select 'теÑÑ‚' AS `теÑÑ‚` NONE NO root@localhost DEFINER utf8 utf8_general_ci
SELECT COLLATION(c1), COLLATION(c2) FROM v1|
@@ -83,6 +106,10 @@ SELECT COLLATION(c1) FROM v2|
COLLATION(c1)
koi8r_general_ci
+SELECT * FROM v3|
+теÑÑ‚
+теÑÑ‚
+
---> Dumping mysqltest1 to ddl_i18n_utf8views.mysqltest1.sql
@@ -97,27 +124,36 @@ SET @@character_set_results= cp1251|
SET @@collation_connection= cp1251_general_ci|
SELECT * FROM mysqltest1.v1|
SELECT * FROM mysqltest1.v2|
+SELECT * FROM mysqltest1.v3|
use mysqltest1|
set names utf8|
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 _utf8'теÑÑ‚' AS `c1`,`t1`.`кол` AS `c2` from `t1` utf8 utf8_general_ci
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select 'теÑÑ‚' AS `c1`,`t1`.`кол` AS `c2` from `t1` utf8 utf8_general_ci
SHOW CREATE VIEW v2|
View Create View character_set_client collation_connection
v2 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v2` AS select _koi8r'ÔÅÓÔ' AS `c1` utf8 utf8_general_ci
+SHOW CREATE VIEW v3|
+View Create View character_set_client collation_connection
+v3 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v3` AS select _koi8r'ÔÅÓÔ' AS `теÑÑ‚` utf8 utf8_general_ci
+
SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE table_name = 'v1'|
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE CHARACTER_SET_CLIENT COLLATION_CONNECTION
-NULL mysqltest1 v1 select 'теÑÑ‚' AS `c1`,`t1`.`кол` AS `c2` from `t1` NONE YES root@localhost DEFINER utf8 utf8_general_ci
+NULL mysqltest1 v1 select 'теÑÑ‚' AS `c1`,`mysqltest1`.`t1`.`кол` AS `c2` from `mysqltest1`.`t1` NONE YES root@localhost DEFINER utf8 utf8_general_ci
SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE table_name = 'v2'|
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE CHARACTER_SET_CLIENT COLLATION_CONNECTION
NULL mysqltest1 v2 select 'теÑÑ‚' AS `c1` NONE NO root@localhost DEFINER utf8 utf8_general_ci
+SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE table_name = 'v3'|
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE CHARACTER_SET_CLIENT COLLATION_CONNECTION
+NULL mysqltest1 v3 select 'теÑÑ‚' AS `теÑÑ‚` NONE NO root@localhost DEFINER utf8 utf8_general_ci
+
SELECT COLLATION(c1), COLLATION(c2) FROM v1|
COLLATION(c1) COLLATION(c2)
@@ -127,6 +163,10 @@ SELECT COLLATION(c1) FROM v2|
COLLATION(c1)
koi8r_general_ci
+SELECT * FROM v3|
+теÑÑ‚
+теÑÑ‚
+
---> connection: default
use test|
DROP DATABASE mysqltest1|
diff --git a/mysql-test/r/deadlock_innodb.result b/mysql-test/r/deadlock_innodb.result
index a0686d1c844..7a4874d6aab 100644
--- a/mysql-test/r/deadlock_innodb.result
+++ b/mysql-test/r/deadlock_innodb.result
@@ -112,3 +112,14 @@ id x
commit;
# Switch to connection default + disconnect con1 and con2
drop table t1, t2;
+End of 4.1 tests
+set storage_engine=innodb;
+drop table if exists a;
+drop table if exists A;
+create table A (c int);
+insert into A (c) values (0);
+create table a as select * from A;
+drop table A;
+drop table if exists a;
+set storage_engine=default;
+End of 5.0 tests.
diff --git a/mysql-test/r/default.result b/mysql-test/r/default.result
index cf9ef4f8f8b..e65e015eff9 100644
--- a/mysql-test/r/default.result
+++ b/mysql-test/r/default.result
@@ -115,7 +115,7 @@ Warning 1364 Field 'd' doesn't have a default value
desc bug20691;
Field Type Null Key Default Extra
i int(11) YES NULL
-d datetime NO
+d datetime NO NULL
dn datetime NO 0000-00-00 00:00:00
insert into bug20691 values (3, DEFAULT, DEFAULT), (3, '1975-07-10 07:10:03', '1978-01-13 14:08:51'), (3, DEFAULT, DEFAULT);
Warnings:
diff --git a/mysql-test/r/delayed.result b/mysql-test/r/delayed.result
index fb8dc9af71a..bcda6ddb6ab 100644
--- a/mysql-test/r/delayed.result
+++ b/mysql-test/r/delayed.result
@@ -73,13 +73,13 @@ a
13
DROP TABLE t1;
SET @bug20627_old_auto_increment_offset=
-@@auto_increment_offset= 2;
+@@auto_increment_offset;
SET @bug20627_old_auto_increment_increment=
-@@auto_increment_increment= 3;
+@@auto_increment_increment;
SET @bug20627_old_session_auto_increment_offset=
-@@session.auto_increment_offset= 4;
+@@session.auto_increment_offset;
SET @bug20627_old_session_auto_increment_increment=
-@@session.auto_increment_increment= 5;
+@@session.auto_increment_increment;
SET @@auto_increment_offset= 2;
SET @@auto_increment_increment= 3;
SET @@session.auto_increment_offset= 4;
@@ -116,13 +116,13 @@ SET @@session.auto_increment_offset=
SET @@session.auto_increment_increment=
@bug20627_old_session_auto_increment_increment;
SET @bug20830_old_auto_increment_offset=
-@@auto_increment_offset= 2;
+@@auto_increment_offset;
SET @bug20830_old_auto_increment_increment=
-@@auto_increment_increment= 3;
+@@auto_increment_increment;
SET @bug20830_old_session_auto_increment_offset=
-@@session.auto_increment_offset= 4;
+@@session.auto_increment_offset;
SET @bug20830_old_session_auto_increment_increment=
-@@session.auto_increment_increment= 5;
+@@session.auto_increment_increment;
SET @@auto_increment_offset= 2;
SET @@auto_increment_increment= 3;
SET @@session.auto_increment_offset= 4;
@@ -250,8 +250,38 @@ SELECT HEX(a) FROM t1;
HEX(a)
1
DROP TABLE t1;
-CREATE TABLE t1(c1 INT) ENGINE=MyISAM;
-CREATE TABLE t2(c1 INT) ENGINE=MERGE UNION=(t1);
-INSERT DELAYED INTO t2 VALUES(1);
-ERROR HY000: Table storage engine for 't2' doesn't have this option
-DROP TABLE t1, t2;
+CREATE TABLE t1 (a INT);
+INSERT DELAYED INTO t1 SET b= b();
+ERROR 42S22: Unknown column 'b' in 'field list'
+DROP TABLE t1;
+End of 5.0 tests
+DROP TABLE IF EXISTS t1,t2;
+SET SQL_MODE='NO_AUTO_VALUE_ON_ZERO';
+CREATE TABLE `t1` (
+`id` int(11) PRIMARY KEY auto_increment,
+`f1` varchar(10) NOT NULL UNIQUE
+);
+INSERT DELAYED INTO t1 VALUES(0,"test1");
+SELECT * FROM t1;
+id f1
+0 test1
+SET SQL_MODE='PIPES_AS_CONCAT';
+INSERT DELAYED INTO t1 VALUES(0,'a' || 'b');
+SELECT * FROM t1;
+id f1
+0 test1
+1 ab
+SET SQL_MODE='ERROR_FOR_DIVISION_BY_ZERO,STRICT_ALL_TABLES';
+INSERT DELAYED INTO t1 VALUES(mod(1,0),"test3");
+ERROR 22012: Division by 0
+CREATE TABLE t2 (
+`id` int(11) PRIMARY KEY auto_increment,
+`f1` date
+);
+SET SQL_MODE='NO_ZERO_DATE,STRICT_ALL_TABLES,NO_ZERO_IN_DATE';
+INSERT DELAYED INTO t2 VALUES (0,'0000-00-00');
+ERROR 22007: Incorrect date value: '0000-00-00' for column 'f1' at row 1
+INSERT DELAYED INTO t2 VALUES (0,'2007-00-00');
+ERROR 22007: Incorrect date value: '2007-00-00' for column 'f1' at row 1
+DROP TABLE t1,t2;
+End of 5.1 tests
diff --git a/mysql-test/r/delete.result b/mysql-test/r/delete.result
index 4bdf1c770d3..eb93c69d960 100644
--- a/mysql-test/r/delete.result
+++ b/mysql-test/r/delete.result
@@ -183,6 +183,17 @@ select @a;
@a
1
drop table t1;
+CREATE TABLE t1 (
+`date` date ,
+`time` time ,
+`seq` int(10) unsigned NOT NULL auto_increment,
+PRIMARY KEY (`seq`),
+KEY `seq` (`seq`),
+KEY `time` (`time`),
+KEY `date` (`date`)
+);
+DELETE FROM t1 ORDER BY date ASC, time ASC LIMIT 1;
+drop table t1;
End of 4.1 tests
CREATE TABLE t1 (a int not null,b int not null);
CREATE TABLE t2 (a int not null, b int not null, primary key (a,b));
@@ -223,3 +234,48 @@ ERROR 42S22: Unknown column 't2.x' in 'order clause'
DELETE FROM t1 ORDER BY (SELECT x);
ERROR 42S22: Unknown column 'x' in 'field list'
DROP TABLE t1;
+CREATE TABLE t1 (
+a INT
+);
+CREATE TABLE t2 (
+a INT
+);
+CREATE DATABASE db1;
+CREATE TABLE db1.t1 (
+a INT
+);
+INSERT INTO db1.t1 (a) SELECT * FROM t1;
+CREATE DATABASE db2;
+CREATE TABLE db2.t1 (
+a INT
+);
+INSERT INTO db2.t1 (a) SELECT * FROM t2;
+DELETE FROM t1 alias USING t1, t2 alias WHERE t1.a = alias.a;
+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 'alias USING t1, t2 alias WHERE t1.a = alias.a' at line 1
+DELETE FROM alias USING t1, t2 alias WHERE t1.a = alias.a;
+DELETE FROM t1, alias USING t1, t2 alias WHERE t1.a = alias.a;
+DELETE FROM t1, t2 USING t1, t2 alias WHERE t1.a = alias.a;
+ERROR 42S02: Unknown table 't2' in MULTI DELETE
+DELETE FROM db1.t1 alias USING db1.t1, db2.t1 alias WHERE db1.t1.a = alias.a;
+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 'alias USING db1.t1, db2.t1 alias WHERE db1.t1.a = alias.a' at line 1
+DELETE FROM alias USING db1.t1, db2.t1 alias WHERE db1.t1.a = alias.a;
+ERROR 42S02: Unknown table 'alias' in MULTI DELETE
+DELETE FROM db2.alias USING db1.t1, db2.t1 alias WHERE db1.t1.a = alias.a;
+DELETE FROM t1 USING t1 WHERE a = 1;
+SELECT * FROM t1;
+a
+DELETE FROM t1 alias USING t1 alias WHERE a = 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 'alias USING t1 alias WHERE a = 2' at line 1
+SELECT * FROM t1;
+a
+DROP TABLE t1, t2;
+DROP DATABASE db1;
+DROP DATABASE db2;
+CREATE FUNCTION f1() RETURNS INT RETURN 1;
+CREATE TABLE t1 (a INT);
+INSERT INTO t1 VALUES (0);
+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;
+End of 5.0 tests
diff --git a/mysql-test/r/derived.result b/mysql-test/r/derived.result
index 7da82ada121..306c51fb8cf 100644
--- a/mysql-test/r/derived.result
+++ b/mysql-test/r/derived.result
@@ -326,7 +326,8 @@ id select_type table type possible_keys key key_len ref rows Extra
2 DERIVED t2 index PRIMARY PRIMARY 4 NULL 2 Using where; Using index
drop table t2;
CREATE TABLE `t1` ( `itemid` int(11) NOT NULL default '0', `grpid` varchar(15) NOT NULL default '', `vendor` int(11) NOT NULL default '0', `date_` date NOT NULL default '0000-00-00', `price` decimal(12,2) NOT NULL default '0.00', PRIMARY KEY (`itemid`,`grpid`,`vendor`,`date_`), KEY `itemid` (`itemid`,`vendor`), KEY `itemid_2` (`itemid`,`date_`));
-insert into t1 values (128, 'rozn', 2, now(), 10),(128, 'rozn', 1, now(), 10);
+insert into t1 values (128, 'rozn', 2, curdate(), 10),
+(128, 'rozn', 1, curdate(), 10);
SELECT MIN(price) min, MAX(price) max, AVG(price) avg FROM (SELECT SUBSTRING( MAX(concat(date_,";",price)), 12) price FROM t1 WHERE itemid=128 AND grpid='rozn' GROUP BY itemid, grpid, vendor) lastprices;
min max avg
10.00 10.00 10
diff --git a/mysql-test/r/distinct.result b/mysql-test/r/distinct.result
index 002dbc6ccb5..b2a9eb04c04 100644
--- a/mysql-test/r/distinct.result
+++ b/mysql-test/r/distinct.result
@@ -209,16 +209,16 @@ id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 index NULL PRIMARY 4 NULL 4 Using index
explain SELECT distinct t1.a from t1 order by a desc limit 1;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index NULL PRIMARY 4 NULL 4 Using index
+1 SIMPLE t1 index NULL PRIMARY 4 NULL 1 Using index
explain SELECT distinct a from t3 order by a desc limit 2;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t3 index NULL a 5 NULL 204 Using index
+1 SIMPLE t3 index NULL a 5 NULL 40 Using index
explain SELECT distinct a,b from t3 order by a+1;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t3 ALL NULL NULL NULL NULL 204 Using temporary; Using filesort
-explain SELECT distinct a,b from t3 order by a limit 10;
+explain SELECT distinct a,b from t3 order by a limit 2;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t3 index NULL a 5 NULL 204 Using temporary
+1 SIMPLE t3 index NULL a 5 NULL 2 Using temporary
explain SELECT a,b from t3 group by a,b order by a+1;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t3 ALL NULL NULL NULL NULL 204 Using temporary; Using filesort
@@ -526,10 +526,10 @@ id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 index NULL PRIMARY 4 NULL 3 Using index
EXPLAIN SELECT a,b FROM t1 GROUP BY a,b;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 3
+1 SIMPLE t1 ALL NULL NULL NULL NULL 3 Using filesort
EXPLAIN SELECT DISTINCT a,b FROM t1 GROUP BY a,b;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 3
+1 SIMPLE t1 ALL NULL NULL NULL NULL 3 Using filesort
CREATE TABLE t2(a INT, b INT NOT NULL, c INT NOT NULL, d INT,
PRIMARY KEY (a,b));
INSERT INTO t2 VALUES (1,1,1,50), (1,2,3,40), (2,1,3,4);
@@ -554,7 +554,7 @@ id select_type table type possible_keys key key_len ref rows Extra
CREATE UNIQUE INDEX c_b_unq ON t2 (c,b);
EXPLAIN SELECT DISTINCT a,b,d FROM t2 GROUP BY c,b,d;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t2 ALL NULL NULL NULL NULL 3
+1 SIMPLE t2 ALL NULL NULL NULL NULL 3 Using filesort
DROP TABLE t1,t2;
create table t1 (id int, dsc varchar(50));
insert into t1 values (1, "line number one"), (2, "line number two"), (3, "line number three");
diff --git a/mysql-test/r/drop.result b/mysql-test/r/drop.result
index ff11905aa34..cd6877b2967 100644
--- a/mysql-test/r/drop.result
+++ b/mysql-test/r/drop.result
@@ -85,3 +85,37 @@ select 1;
1
unlock tables;
End of 5.0 tests
+create database mysql_test;
+create table mysql_test.t1(f1 int);
+create table mysql_test.`#sql-347f_7` (f1 int);
+create table mysql_test.`#sql-347f_8` (f1 int);
+drop table mysql_test.`#sql-347f_8`;
+drop database mysql_test;
+
+# --
+# -- Bug#29958: Weird message on DROP DATABASE if mysql.proc does not
+# -- exist.
+# --
+DROP DATABASE IF EXISTS mysql_test;
+CREATE DATABASE mysql_test;
+DROP TABLE mysql.proc;
+DROP DATABASE mysql_test;
+Warnings:
+Error 1146 Table 'mysql.proc' doesn't exist
+
+# --
+# -- End of Bug#29958.
+# --
+
+create database mysqltestbug26703;
+use mysqltestbug26703;
+create table `#mysql50#abc``def` ( id int );
+create table `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa` (a int);
+ERROR 42000: Incorrect table name 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+create table `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa` (a int);
+create table `#mysql50#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa` (a int);
+create table `#mysql50#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa` (a int);
+ERROR 42000: Incorrect table name '#mysql50#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+use test;
+drop database mysqltestbug26703;
+End of 5.1 tests
diff --git a/mysql-test/r/endspace.result b/mysql-test/r/endspace.result
index 6fb33dee826..9c8d12362c4 100644
--- a/mysql-test/r/endspace.result
+++ b/mysql-test/r/endspace.result
@@ -154,7 +154,7 @@ teststring
teststring
explain select * from t1 order by text1;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index NULL key1 34 NULL 3
+1 SIMPLE t1 ALL NULL NULL NULL NULL 3 Using filesort
alter table t1 modify text1 char(32) binary not null;
select * from t1 order by text1;
text1
diff --git a/mysql-test/r/events.result b/mysql-test/r/events_1.result
index 579f5907882..e7b645f5556 100644
--- a/mysql-test/r/events.result
+++ b/mysql-test/r/events_1.result
@@ -309,7 +309,7 @@ ERROR HY000: Unknown event 'intact_check'
DROP EVENT no_such_event;
ERROR HY000: Unknown event 'no_such_event'
CREATE EVENT intact_check_1 ON SCHEDULE EVERY 5 HOUR DO SELECT 5;
-ERROR HY000: Cannot load from mysql.event. The table is probably corrupted
+ERROR HY000: Failed to store event name. Error code 2 from storage engine.
ALTER EVENT intact_check_1 ON SCHEDULE EVERY 8 HOUR DO SELECT 8;
ERROR HY000: Unknown event 'intact_check_1'
ALTER EVENT intact_check_1 RENAME TO intact_check_2;
@@ -403,9 +403,10 @@ ERROR 42S02: Table 'mysql.event' doesn't exist
DROP DATABASE IF EXISTS mysqltest_no_such_database;
Warnings:
Note 1008 Can't drop database 'mysqltest_no_such_database'; database doesn't exist
-Error 1146 Table 'mysql.event' doesn't exist
CREATE DATABASE mysqltest_db2;
DROP DATABASE mysqltest_db2;
+Warnings:
+Error 1146 Table 'mysql.event' doesn't exist
OK, there is an unnecessary warning about the non-existent table
but it's not easy to fix and no one complained about it.
A similar warning is printed if mysql.proc is missing.
@@ -424,308 +425,4 @@ 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
-create event e_26 on schedule at '2017-01-01 00:00:00' disable do set @a = 5;
-select db, name, body, definer, convert_tz(execute_at, 'UTC', 'SYSTEM'), on_completion from mysql.event;
-db name body definer convert_tz(execute_at, 'UTC', 'SYSTEM') on_completion
-events_test e_26 set @a = 5 root@localhost 2017-01-01 00:00:00 DROP
-drop event e_26;
-create event e_26 on schedule at NULL disable do set @a = 5;
-ERROR HY000: Incorrect AT value: 'NULL'
-create event e_26 on schedule at 'definitely not a datetime' disable do set @a = 5;
-ERROR HY000: Incorrect AT value: 'definitely not a datetime'
-set names utf8;
-create event задачка on schedule every 123 minute starts now() ends now() + interval 1 month do select 1;
-drop event задачка;
-set event_scheduler=off;
-ERROR HY000: Variable 'event_scheduler' is a GLOBAL variable and should be set with SET GLOBAL
-set global event_scheduler=3;
-ERROR 42000: Variable 'event_scheduler' can't be set to the value of '3'
-set global event_scheduler=disabled;
-ERROR 42000: Variable 'event_scheduler' can't be set to the value of 'disabled'
-"DISABLE the scheduler. Testing that it does not work when the variable is 0"
-set global event_scheduler=off;
-select definer, name, db from mysql.event;
-definer name db
-select get_lock("test_lock1", 20);
-get_lock("test_lock1", 20)
-1
-create event закачка on schedule every 10 hour do select get_lock("test_lock1", 20);
-"Should return 1 row"
-select definer, name, db from mysql.event;
-definer name db
-root@localhost закачка events_test
-"Should be only 1 process"
-select /*1*/ user, host, db, command, state, info from information_schema.processlist where (command!='Daemon' || user='event_scheduler') and (info is null or info not like '%processlist%') order by info;
-user host db command state info
-select release_lock("test_lock1");
-release_lock("test_lock1")
-1
-drop event закачка;
-"Should have 0 events"
-select count(*) from mysql.event;
-count(*)
-0
-"ENABLE the scheduler and get a lock"
-set global event_scheduler=on;
-select get_lock("test_lock2", 20);
-get_lock("test_lock2", 20)
-1
-"Create an event which tries to acquire a mutex. The event locks on the mutex"
-create event закачка on schedule every 10 hour do select get_lock("test_lock2", 20);
-"Let some time pass to the event starts"
-"Should have only 2 processes: the scheduler and the locked event"
-select /*2*/ user, host, db, command, state, info from information_schema.processlist where (command!='Daemon' || user='event_scheduler') and (info is null or info not like '%processlist%') order by info;
-user host db command state info
-event_scheduler localhost NULL Daemon Waiting for next activation NULL
-root localhost events_test Connect User lock select get_lock("test_lock2", 20)
-"Release the mutex, the event worker should finish."
-"Release the mutex, the event worker should finish."
-select release_lock("test_lock2");
-release_lock("test_lock2")
-1
-drop event закачка;
-set global event_scheduler=1;
-select get_lock("test_lock2_1", 20);
-get_lock("test_lock2_1", 20)
-1
-create event закачка21 on schedule every 10 hour do select get_lock("test_lock2_1", 20);
-"Should have only 3 processes: the scheduler, our conn and the locked event"
-select /*3*/ user, host, db, command, state, info from information_schema.processlist where (command!='Daemon' || user='event_scheduler') and (info is null or info not like '%processlist%') order by info;
-user host db command state info
-event_scheduler localhost NULL Daemon Waiting for next activation NULL
-root localhost events_test Connect User lock select get_lock("test_lock2_1", 20)
-set global event_scheduler=off;
-"Should have only our process now:"
-select /*4*/ user, host, db, command, state, info from information_schema.processlist where (command!='Daemon' || user='event_scheduler') and (info is null or info not like '%processlist%') order by info;
-user host db command state info
-root localhost events_test Connect User lock select get_lock("test_lock2_1", 20)
-drop event закачка21;
-create table t_16 (s1 int);
-create trigger t_16_bi before insert on t_16 for each row create event e_16 on schedule every 1 second do set @a=5;
-ERROR HY000: Recursion of EVENT DDL statements is forbidden when body is present
-drop table t_16;
-create event white_space
-on schedule every 10 hour
-disable
-do
-select 1;
-select event_schema, event_name, definer, event_definition from information_schema.events where event_name='white_space';
-event_schema event_name definer event_definition
-events_test white_space root@localhost select 1
-drop event white_space;
-create event white_space on schedule every 10 hour disable do
-select 2;
-select event_schema, event_name, definer, event_definition from information_schema.events where event_name='white_space';
-event_schema event_name definer event_definition
-events_test white_space root@localhost select 2
-drop event white_space;
-create event white_space on schedule every 10 hour disable do select 3;
-select event_schema, event_name, definer, event_definition from information_schema.events where event_name='white_space';
-event_schema event_name definer event_definition
-events_test white_space root@localhost select 3
-drop event white_space;
-create event e1 on schedule every 1 year do set @a = 5;
-create table t1 (s1 int);
-create trigger t1_ai after insert on t1 for each row show create event e1;
-ERROR 0A000: Not allowed to return a result set from a trigger
-drop table t1;
-drop event e1;
-SHOW EVENTS FROM aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa;
-ERROR 42000: Incorrect database name 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
-SHOW EVENTS FROM ``;
-ERROR 42000: Incorrect database name ''
-SHOW EVENTS FROM `events\\test`;
-Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
-
-LOCK TABLES mode.
-
-create table t1 (a int);
-create event e1 on schedule every 10 hour do select 1;
-lock table t1 read;
-show create event e1;
-Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
-e1 SYSTEM CREATE EVENT `e1` ON SCHEDULE EVERY 10 HOUR STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8 utf8_general_ci latin1_swedish_ci
-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
-alter event e2 disable;
-ERROR HY000: Table 'event' was not locked with LOCK TABLES
-alter event e2 rename to e3;
-ERROR HY000: Table 'event' was not locked with LOCK TABLES
-drop event e2;
-ERROR HY000: Table 'event' was not locked with LOCK TABLES
-drop event e1;
-ERROR HY000: Table 'event' was not locked with LOCK TABLES
-unlock tables;
-lock table t1 write;
-show create event e1;
-Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
-e1 SYSTEM CREATE EVENT `e1` ON SCHEDULE EVERY 10 HOUR STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8 utf8_general_ci latin1_swedish_ci
-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
-alter event e2 disable;
-ERROR HY000: Table 'event' was not locked with LOCK TABLES
-alter event e2 rename to e3;
-ERROR HY000: Table 'event' was not locked with LOCK TABLES
-drop event e2;
-ERROR HY000: Table 'event' was not locked with LOCK TABLES
-drop event e1;
-ERROR HY000: Table 'event' was not locked with LOCK TABLES
-unlock tables;
-lock table t1 read, mysql.event read;
-show create event e1;
-Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
-e1 SYSTEM CREATE EVENT `e1` ON SCHEDULE EVERY 10 HOUR STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8 utf8_general_ci latin1_swedish_ci
-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
-alter event e2 disable;
-ERROR HY000: Table 'event' was locked with a READ lock and can't be updated
-alter event e2 rename to e3;
-ERROR HY000: Table 'event' was locked with a READ lock and can't be updated
-drop event e2;
-ERROR HY000: Table 'event' was locked with a READ lock and can't be updated
-drop event e1;
-ERROR HY000: Table 'event' was locked with a READ lock and can't be updated
-unlock tables;
-lock table t1 write, mysql.event read;
-show create event e1;
-Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
-e1 SYSTEM CREATE EVENT `e1` ON SCHEDULE EVERY 10 HOUR STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8 utf8_general_ci latin1_swedish_ci
-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
-alter event e2 disable;
-ERROR HY000: Table 'event' was locked with a READ lock and can't be updated
-alter event e2 rename to e3;
-ERROR HY000: Table 'event' was locked with a READ lock and can't be updated
-drop event e2;
-ERROR HY000: Table 'event' was locked with a READ lock and can't be updated
-drop event e1;
-ERROR HY000: Table 'event' was locked with a READ lock and can't be updated
-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
-lock table t1 write, mysql.event write;
-ERROR HY000: You can't combine write-locking of system tables with other tables or lock types
-lock table mysql.event write;
-show create event e1;
-Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
-e1 SYSTEM CREATE EVENT `e1` ON SCHEDULE EVERY 10 HOUR STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8 utf8_general_ci latin1_swedish_ci
-select event_name from information_schema.events;
-event_name
-e1
-create event e2 on schedule every 10 hour do select 1;
-alter event e2 disable;
-alter event e2 rename to e3;
-drop event e3;
-drop event e1;
-unlock tables;
-Make sure we have left no events
-select event_name from information_schema.events;
-event_name
-
-Events in sub-statements, events and prelocking
-
-
-create event e1 on schedule every 10 hour do select 1;
-create function f1() returns int
-begin
-show create event e1;
-return 1;
-end|
-ERROR 0A000: Not allowed to return a result set from a function
-create trigger trg before insert on t1 for each row
-begin
-show create event e1;
-end|
-ERROR 0A000: Not allowed to return a result set from a trigger
-create function f1() returns int
-begin
-select event_name from information_schema.events;
-return 1;
-end|
-ERROR 0A000: Not allowed to return a result set from a function
-create trigger trg before insert on t1 for each row
-begin
-select event_name from information_schema.events;
-end|
-ERROR 0A000: Not allowed to return a result set from a trigger
-create function f1() returns int
-begin
-create event e2 on schedule every 10 hour do select 1;
-return 1;
-end|
-ERROR HY000: Recursion of EVENT DDL statements is forbidden when body is present
-create function f1() returns int
-begin
-alter event e1 rename to e2;
-return 1;
-end|
-ERROR HY000: Explicit or implicit commit is not allowed in stored function or trigger.
-create function f1() returns int
-begin
-drop event e2;
-return 1;
-end|
-ERROR HY000: Explicit or implicit commit is not allowed in stored function or trigger.
-----------------------------------------------------------------------
-create trigger trg before insert on t1 for each row
-begin
-set new.a= f1();
-end|
-create function f1() returns int
-begin
-call p1();
-return 0;
-end|
-create procedure p1()
-begin
-select event_name from information_schema.events;
-end|
-insert into t1 (a) values (1)|
-ERROR 0A000: Not allowed to return a result set from a trigger
-drop procedure p1|
-create procedure p1()
-begin
-show create event e1;
-end|
-insert into t1 (a) values (1)|
-ERROR 0A000: Not allowed to return a result set from a trigger
-drop procedure p1|
-create procedure p1()
-begin
-create temporary table tmp select event_name from information_schema.events;
-end|
-expected to work, since we redirect the output into a tmp table
-insert into t1 (a) values (1)|
-select * from tmp|
-event_name
-e1
-drop temporary table tmp|
-drop procedure p1|
-create procedure p1()
-begin
-alter event e1 rename to e2;
-end|
-insert into t1 (a) values (1)|
-ERROR HY000: Explicit or implicit commit is not allowed in stored function or trigger.
-drop procedure p1|
-create procedure p1()
-begin
-drop event e1;
-end|
-insert into t1 (a) values (1)|
-ERROR HY000: Explicit or implicit commit is not allowed in stored function or trigger.
-drop table t1|
-drop event e1|
drop database events_test;
diff --git a/mysql-test/r/events_2.result b/mysql-test/r/events_2.result
new file mode 100644
index 00000000000..9da8c37edae
--- /dev/null
+++ b/mysql-test/r/events_2.result
@@ -0,0 +1,321 @@
+drop database if exists events_test;
+create database events_test;
+use events_test;
+create event e_26 on schedule at '2017-01-01 00:00:00' disable do set @a = 5;
+select db, name, body, definer, convert_tz(execute_at, 'UTC', 'SYSTEM'), on_completion from mysql.event;
+db name body definer convert_tz(execute_at, 'UTC', 'SYSTEM') on_completion
+events_test e_26 set @a = 5 root@localhost 2017-01-01 00:00:00 DROP
+drop event e_26;
+create event e_26 on schedule at NULL disable do set @a = 5;
+ERROR HY000: Incorrect AT value: 'NULL'
+create event e_26 on schedule at 'definitely not a datetime' disable do set @a = 5;
+ERROR HY000: Incorrect AT value: 'definitely not a datetime'
+set names utf8;
+create event задачка on schedule every 123 minute starts now() ends now() + interval 1 month do select 1;
+drop event задачка;
+set event_scheduler=off;
+ERROR HY000: Variable 'event_scheduler' is a GLOBAL variable and should be set with SET GLOBAL
+set global event_scheduler=3;
+ERROR 42000: Variable 'event_scheduler' can't be set to the value of '3'
+set global event_scheduler=disabled;
+ERROR 42000: Variable 'event_scheduler' can't be set to the value of 'disabled'
+"DISABLE the scheduler. Testing that it does not work when the variable is 0"
+set global event_scheduler=off;
+select definer, name, db from mysql.event;
+definer name db
+select get_lock("test_lock1", 20);
+get_lock("test_lock1", 20)
+1
+create event закачка on schedule every 10 hour do select get_lock("test_lock1", 20);
+"Should return 1 row"
+select definer, name, db from mysql.event;
+definer name db
+root@localhost закачка events_test
+"Should be only 0 process"
+select /*1*/ user, host, db, command, state, info
+from information_schema.processlist
+where (user='event_scheduler')
+order by info;
+user host db command state info
+select release_lock("test_lock1");
+release_lock("test_lock1")
+1
+drop event закачка;
+"Should have 0 events"
+select count(*) from mysql.event;
+count(*)
+0
+"ENABLE the scheduler and get a lock"
+set global event_scheduler=on;
+select get_lock("test_lock2", 20);
+get_lock("test_lock2", 20)
+1
+"Create an event which tries to acquire a mutex. The event locks on the mutex"
+create event закачка on schedule every 10 hour do select get_lock("test_lock2", 20);
+"Should have only 2 processes: the scheduler and the locked event"
+select /*2*/ user, host, db, command, state, info
+from information_schema.processlist
+where (info like "select get_lock%" OR user='event_scheduler')
+order by info;
+user host db command state info
+event_scheduler localhost NULL Daemon Waiting for next activation NULL
+root localhost events_test Connect User lock select get_lock("test_lock2", 20)
+"Release the mutex, the event worker should finish."
+select release_lock("test_lock2");
+release_lock("test_lock2")
+1
+drop event закачка;
+set global event_scheduler=1;
+select get_lock("test_lock2_1", 20);
+get_lock("test_lock2_1", 20)
+1
+create event закачка21 on schedule every 10 hour do select get_lock("test_lock2_1", 20);
+"Should have only 2 processes: the scheduler and the locked event"
+select /*3*/ user, host, db, command, state, info
+from information_schema.processlist
+where (info like "select get_lock%" OR user='event_scheduler')
+order by info;
+user host db command state info
+event_scheduler localhost NULL Daemon Waiting for next activation NULL
+root localhost events_test Connect User lock select get_lock("test_lock2_1", 20)
+set global event_scheduler=off;
+"Should have only our process now:"
+select /*4*/ user, host, db, command, state, info
+from information_schema.processlist
+where (info like "select get_lock%" OR user='event_scheduler')
+order by info;
+user host db command state info
+root localhost events_test Connect User lock select get_lock("test_lock2_1", 20)
+select release_lock("test_lock2_1");
+release_lock("test_lock2_1")
+1
+drop event закачка21;
+create table t_16 (s1 int);
+create trigger t_16_bi before insert on t_16 for each row create event e_16 on schedule every 1 second do set @a=5;
+ERROR HY000: Recursion of EVENT DDL statements is forbidden when body is present
+drop table t_16;
+create event white_space
+on schedule every 10 hour
+disable
+do
+select 1;
+select event_schema, event_name, definer, event_definition from information_schema.events where event_name='white_space';
+event_schema event_name definer event_definition
+events_test white_space root@localhost select 1
+drop event white_space;
+create event white_space on schedule every 10 hour disable do
+select 2;
+select event_schema, event_name, definer, event_definition from information_schema.events where event_name='white_space';
+event_schema event_name definer event_definition
+events_test white_space root@localhost select 2
+drop event white_space;
+create event white_space on schedule every 10 hour disable do select 3;
+select event_schema, event_name, definer, event_definition from information_schema.events where event_name='white_space';
+event_schema event_name definer event_definition
+events_test white_space root@localhost select 3
+drop event white_space;
+create event e1 on schedule every 1 year do set @a = 5;
+create table t1 (s1 int);
+create trigger t1_ai after insert on t1 for each row show create event e1;
+ERROR 0A000: Not allowed to return a result set from a trigger
+drop table t1;
+drop event e1;
+SHOW EVENTS FROM aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa;
+ERROR 42000: Incorrect database name 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+SHOW EVENTS FROM ``;
+ERROR 42000: Incorrect database name ''
+SHOW EVENTS FROM `events\\test`;
+Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
+
+LOCK TABLES mode.
+
+create table t1 (a int);
+create event e1 on schedule every 10 hour do select 1;
+lock table t1 read;
+show create event e1;
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+e1 SYSTEM CREATE EVENT `e1` ON SCHEDULE EVERY 10 HOUR STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8 utf8_general_ci latin1_swedish_ci
+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
+alter event e2 disable;
+ERROR HY000: Table 'event' was not locked with LOCK TABLES
+alter event e2 rename to e3;
+ERROR HY000: Table 'event' was not locked with LOCK TABLES
+drop event e2;
+ERROR HY000: Table 'event' was not locked with LOCK TABLES
+drop event e1;
+ERROR HY000: Table 'event' was not locked with LOCK TABLES
+unlock tables;
+lock table t1 write;
+show create event e1;
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+e1 SYSTEM CREATE EVENT `e1` ON SCHEDULE EVERY 10 HOUR STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8 utf8_general_ci latin1_swedish_ci
+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
+alter event e2 disable;
+ERROR HY000: Table 'event' was not locked with LOCK TABLES
+alter event e2 rename to e3;
+ERROR HY000: Table 'event' was not locked with LOCK TABLES
+drop event e2;
+ERROR HY000: Table 'event' was not locked with LOCK TABLES
+drop event e1;
+ERROR HY000: Table 'event' was not locked with LOCK TABLES
+unlock tables;
+lock table t1 read, mysql.event read;
+show create event e1;
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+e1 SYSTEM CREATE EVENT `e1` ON SCHEDULE EVERY 10 HOUR STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8 utf8_general_ci latin1_swedish_ci
+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
+alter event e2 disable;
+ERROR HY000: Table 'event' was locked with a READ lock and can't be updated
+alter event e2 rename to e3;
+ERROR HY000: Table 'event' was locked with a READ lock and can't be updated
+drop event e2;
+ERROR HY000: Table 'event' was locked with a READ lock and can't be updated
+drop event e1;
+ERROR HY000: Table 'event' was locked with a READ lock and can't be updated
+unlock tables;
+lock table t1 write, mysql.event read;
+show create event e1;
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+e1 SYSTEM CREATE EVENT `e1` ON SCHEDULE EVERY 10 HOUR STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8 utf8_general_ci latin1_swedish_ci
+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
+alter event e2 disable;
+ERROR HY000: Table 'event' was locked with a READ lock and can't be updated
+alter event e2 rename to e3;
+ERROR HY000: Table 'event' was locked with a READ lock and can't be updated
+drop event e2;
+ERROR HY000: Table 'event' was locked with a READ lock and can't be updated
+drop event e1;
+ERROR HY000: Table 'event' was locked with a READ lock and can't be updated
+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
+lock table t1 write, mysql.event write;
+ERROR HY000: You can't combine write-locking of system tables with other tables or lock types
+lock table mysql.event write;
+show create event e1;
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+e1 SYSTEM CREATE EVENT `e1` ON SCHEDULE EVERY 10 HOUR STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8 utf8_general_ci latin1_swedish_ci
+select event_name from information_schema.events;
+event_name
+e1
+create event e2 on schedule every 10 hour do select 1;
+alter event e2 disable;
+alter event e2 rename to e3;
+drop event e3;
+drop event e1;
+unlock tables;
+Make sure we have left no events
+select event_name from information_schema.events;
+event_name
+
+Events in sub-statements, events and prelocking
+
+
+create event e1 on schedule every 10 hour do select 1;
+create function f1() returns int
+begin
+show create event e1;
+return 1;
+end|
+ERROR 0A000: Not allowed to return a result set from a function
+create trigger trg before insert on t1 for each row
+begin
+show create event e1;
+end|
+ERROR 0A000: Not allowed to return a result set from a trigger
+create function f1() returns int
+begin
+select event_name from information_schema.events;
+return 1;
+end|
+ERROR 0A000: Not allowed to return a result set from a function
+create trigger trg before insert on t1 for each row
+begin
+select event_name from information_schema.events;
+end|
+ERROR 0A000: Not allowed to return a result set from a trigger
+create function f1() returns int
+begin
+create event e2 on schedule every 10 hour do select 1;
+return 1;
+end|
+ERROR HY000: Recursion of EVENT DDL statements is forbidden when body is present
+create function f1() returns int
+begin
+alter event e1 rename to e2;
+return 1;
+end|
+ERROR HY000: Explicit or implicit commit is not allowed in stored function or trigger.
+create function f1() returns int
+begin
+drop event e2;
+return 1;
+end|
+ERROR HY000: Explicit or implicit commit is not allowed in stored function or trigger.
+----------------------------------------------------------------------
+create trigger trg before insert on t1 for each row
+begin
+set new.a= f1();
+end|
+create function f1() returns int
+begin
+call p1();
+return 0;
+end|
+create procedure p1()
+begin
+select event_name from information_schema.events;
+end|
+insert into t1 (a) values (1)|
+ERROR 0A000: Not allowed to return a result set from a trigger
+drop procedure p1|
+create procedure p1()
+begin
+show create event e1;
+end|
+insert into t1 (a) values (1)|
+ERROR 0A000: Not allowed to return a result set from a trigger
+drop procedure p1|
+create procedure p1()
+begin
+create temporary table tmp select event_name from information_schema.events;
+end|
+expected to work, since we redirect the output into a tmp table
+insert into t1 (a) values (1)|
+select * from tmp|
+event_name
+e1
+drop temporary table tmp|
+drop procedure p1|
+create procedure p1()
+begin
+alter event e1 rename to e2;
+end|
+insert into t1 (a) values (1)|
+ERROR HY000: Explicit or implicit commit is not allowed in stored function or trigger.
+drop procedure p1|
+create procedure p1()
+begin
+drop event e1;
+end|
+insert into t1 (a) values (1)|
+ERROR HY000: Explicit or implicit commit is not allowed in stored function or trigger.
+drop table t1|
+drop event e1|
+drop database events_test;
diff --git a/mysql-test/r/events_bugs.result b/mysql-test/r/events_bugs.result
index 1bfa0e84f72..814cf42d16c 100644
--- a/mysql-test/r/events_bugs.result
+++ b/mysql-test/r/events_bugs.result
@@ -3,6 +3,10 @@ drop database if exists mysqltest_db1;
drop database if exists mysqltest_db2;
create database events_test;
use events_test;
+select * from information_schema.global_variables where variable_name like 'event_scheduler';
+VARIABLE_NAME VARIABLE_VALUE
+EVENT_SCHEDULER ON
+SET GLOBAL event_scheduler = 'OFF';
CREATE EVENT lower_case ON SCHEDULE EVERY 1 MINUTE DO SELECT 1;
CREATE EVENT Lower_case ON SCHEDULE EVERY 2 MINUTE DO SELECT 2;
ERROR HY000: Event 'Lower_case' already exists
@@ -31,7 +35,7 @@ create event e_55 on schedule at 10000101000000 do drop table t;
ERROR HY000: Incorrect AT value: '10000101000000'
create event e_55 on schedule at 20000101000000 do drop table t;
Warnings:
-Note 1585 Event execution time is in the past and ON COMPLETION NOT PRESERVE is set. The event was dropped immediately after creation.
+Note 1588 Event execution time is in the past and ON COMPLETION NOT PRESERVE is set. The event was dropped immediately after creation.
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
create event e_55 on schedule at 20200101000000 starts 10000101000000 do drop table t;
@@ -457,22 +461,22 @@ CREATE EVENT e4 ON SCHEDULE EVERY 1 HOUR STARTS '1999-01-01 00:00:00'
DO
SELECT 1;
Warnings:
-Note 1585 Event execution time is in the past and ON COMPLETION NOT PRESERVE is set. The event was dropped immediately after creation.
+Note 1588 Event execution time is in the past and ON COMPLETION NOT PRESERVE is set. The event was dropped immediately after creation.
CREATE EVENT e4 ON SCHEDULE EVERY 1 HOUR STARTS '1999-01-01 00:00:00'
ENDS '1999-01-02 00:00:00' DISABLE
DO
SELECT 1;
Warnings:
-Note 1585 Event execution time is in the past and ON COMPLETION NOT PRESERVE is set. The event was dropped immediately after creation.
+Note 1588 Event execution time is in the past and ON COMPLETION NOT PRESERVE is set. The event was dropped immediately after creation.
CREATE EVENT e4 ON SCHEDULE AT '1999-01-01 00:00:00' DO
SELECT 1;
Warnings:
-Note 1585 Event execution time is in the past and ON COMPLETION NOT PRESERVE is set. The event was dropped immediately after creation.
+Note 1588 Event execution time is in the past and ON COMPLETION NOT PRESERVE is set. The event was dropped immediately after creation.
CREATE EVENT e4 ON SCHEDULE AT '1999-01-01 00:00:00' DISABLE
DO
SELECT 1;
Warnings:
-Note 1585 Event execution time is in the past and ON COMPLETION NOT PRESERVE is set. The event was dropped immediately after creation.
+Note 1588 Event execution time is in the past and ON COMPLETION NOT PRESERVE is set. The event was dropped immediately after creation.
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 +05:00 RECURRING NULL 1 DAY 2006-01-01 00:00:00 NULL ENABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
@@ -482,19 +486,19 @@ The following should succeed giving a warning.
ALTER EVENT e1 ON SCHEDULE EVERY 1 HOUR STARTS '1999-01-01 00:00:00'
ENDS '1999-01-02 00:00:00' ON COMPLETION PRESERVE;
Warnings:
-Note 1541 Event execution time is in the past. Event has been disabled
+Note 1544 Event execution time is in the past. Event has been disabled
CREATE EVENT e4 ON SCHEDULE EVERY 1 HOUR STARTS '1999-01-01 00:00:00'
ENDS '1999-01-02 00:00:00' ON COMPLETION PRESERVE
DO
SELECT 1;
Warnings:
-Note 1541 Event execution time is in the past. Event has been disabled
+Note 1544 Event execution time is in the past. Event has been disabled
CREATE EVENT e5 ON SCHEDULE AT '1999-01-01 00:00:00'
ON COMPLETION PRESERVE
DO
SELECT 1;
Warnings:
-Note 1541 Event execution time is in the past. Event has been disabled
+Note 1544 Event execution time is in the past. Event has been disabled
The following should succeed without warnings.
ALTER EVENT e2 ON SCHEDULE EVERY 1 HOUR STARTS '1999-01-01 00:00:00';
ALTER EVENT e3 ON SCHEDULE EVERY 1 HOUR STARTS '1999-01-01 00:00:00'
@@ -610,7 +614,6 @@ id ev_nm ev_cnt
6 ev_sched_1823 6
DROP TABLE event_log;
SET GLOBAL event_scheduler = OFF;
-DROP DATABASE events_test;
SET GLOBAL event_scheduler= ON;
CREATE EVENT bug28641 ON SCHEDULE AT '2038.01.18 03:00:00'
DO BEGIN
@@ -618,3 +621,118 @@ SELECT 1;
END;|
SET GLOBAL event_scheduler= OFF;
DROP EVENT bug28641;
+
+#####################################################################
+#
+# BUG#31111: --read-only crashes MySQL (events fail to load).
+#
+#####################################################################
+
+DROP USER mysqltest_u1@localhost;
+DROP EVENT IF EXISTS e1;
+DROP EVENT IF EXISTS e2;
+
+GRANT EVENT ON *.* TO mysqltest_u1@localhost;
+
+SET GLOBAL READ_ONLY = 1;
+
+#
+# Connection: u1_con (mysqltest_u1@localhost/events_test).
+#
+
+CREATE EVENT e1 ON SCHEDULE AT '2020-01-01 00:00:00' DO SET @a = 1;
+ERROR HY000: The MySQL server is running with the --read-only option so it cannot execute this statement
+
+ALTER EVENT e1 COMMENT 'comment';
+ERROR HY000: The MySQL server is running with the --read-only option so it cannot execute this statement
+
+DROP EVENT e1;
+ERROR HY000: The MySQL server is running with the --read-only option so it cannot execute this statement
+
+#
+# Connection: root_con (root@localhost/events_test).
+#
+
+CREATE EVENT e1 ON SCHEDULE AT '2020-01-01 00:00:00' DO SET @a = 1;
+
+ALTER EVENT e1 COMMENT 'comment';
+
+DROP EVENT e1;
+
+SET GLOBAL READ_ONLY = 0;
+
+#
+# Connection: u1_con (mysqltest_u1@localhost/test).
+#
+
+CREATE EVENT e1 ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 SECOND DO SET @a = 1;
+CREATE EVENT e2 ON SCHEDULE EVERY 1 SECOND DO SET @a = 1;
+
+SELECT
+event_name,
+last_executed IS NULL,
+definer
+FROM INFORMATION_SCHEMA.EVENTS
+WHERE event_schema = 'events_test';
+event_name last_executed IS NULL definer
+e1 1 mysqltest_u1@localhost
+e2 1 mysqltest_u1@localhost
+
+#
+# Connection: root_con (root@localhost/events_test).
+#
+
+SET GLOBAL READ_ONLY = 1;
+
+SET GLOBAL EVENT_SCHEDULER = ON;
+
+# Waiting for the event scheduler to execute and drop event e1...
+
+# Waiting for the event scheduler to execute and update event e2...
+
+SET GLOBAL EVENT_SCHEDULER = OFF;
+
+SELECT
+event_name,
+last_executed IS NULL,
+definer
+FROM INFORMATION_SCHEMA.EVENTS
+WHERE event_schema = 'events_test';
+event_name last_executed IS NULL definer
+e2 0 mysqltest_u1@localhost
+
+DROP EVENT e1;
+ERROR HY000: Unknown event 'e1'
+
+# Cleanup.
+
+DROP EVENT e2;
+
+SET GLOBAL READ_ONLY = 0;
+
+#
+# Connection: default
+#
+
+DROP USER mysqltest_u1@localhost;
+
+#####################################################################
+#
+# End of BUG#31111.
+#
+#####################################################################
+
+drop procedure if exists p;
+set @old_mode= @@sql_mode;
+set @@sql_mode= pow(2,32)-1;
+create event e1 on schedule every 1 day do select 1;
+select @@sql_mode;
+@@sql_mode
+REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,?,ONLY_FULL_GROUP_BY,NO_UNSIGNED_SUBTRACTION,NO_DIR_IN_CREATE,POSTGRESQL,ORACLE,MSSQL,DB2,MAXDB,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS,MYSQL323,MYSQL40,ANSI,NO_AUTO_VALUE_ON_ZERO,NO_BACKSLASH_ESCAPES,STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ALLOW_INVALID_DATES,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER,HIGH_NOT_PRECEDENCE,NO_ENGINE_SUBSTITUTION,PAD_CHAR_TO_FULL_LENGTH
+set @@sql_mode= @old_mode;
+select replace(@full_mode, '?', 'NOT_USED') into @full_mode;
+select replace(@full_mode, 'ALLOW_INVALID_DATES', 'INVALID_DATES') into @full_mode;
+select name from mysql.event where name = 'p' and sql_mode = @full_mode;
+name
+drop event e1;
+DROP DATABASE events_test;
diff --git a/mysql-test/r/events_logs_tests.result b/mysql-test/r/events_logs_tests.result
index 0d49060f4a9..b7faf56f466 100644
--- a/mysql-test/r/events_logs_tests.result
+++ b/mysql-test/r/events_logs_tests.result
@@ -1,100 +1,72 @@
-CREATE DATABASE IF NOT EXISTS events_test;
-USE events_test;
-"We use procedure here because its statements won't be logged into the general log"
-"If we had used normal select that are logged in different ways depending on whether"
-"the test suite is run in normal mode or with --ps-protocol"
-CREATE procedure select_general_log()
-BEGIN
-SELECT user_host, argument FROM mysql.general_log WHERE argument LIKE '%alabala%';
-END|
-"Check General Query Log"
-CALL select_general_log();
+drop database if exists events_test;
+create database if not exists events_test;
+use events_test;
+
+We use procedure here because its statements won't be
+logged into the general log. If we had used normal select
+that are logged in different ways depending on whether the
+test suite is run in normal mode or with --ps-protocol
+
+create procedure select_general_log()
+begin
+select user_host, argument from mysql.general_log
+where argument like '%events_logs_test%';
+end|
+
+Check that general query log works, but sub-statements
+of the stored procedure do not leave traces in it.
+
+truncate mysql.general_log;
+select 'events_logs_tests' as outside_event;
+outside_event
+events_logs_tests
+call select_general_log();
user_host argument
-USER_HOST CREATE procedure select_general_log()
-BEGIN
-SELECT user_host, argument FROM mysql.general_log WHERE argument LIKE '%alabala%';
-END
-SET GLOBAL event_scheduler=on;
-TRUNCATE mysql.general_log;
-CREATE EVENT log_general ON SCHEDULE EVERY 1 MINUTE DO SELECT 'alabala', SLEEP(1) FROM DUAL;
-"Wait the scheduler to start"
-"Should see 2 rows - the 'SELECT' is in the middle. The other two are selects from general_log"
-CALL select_general_log();
+USER_HOST select 'events_logs_tests' as outside_event
+
+Check that unlike sub-statements of stored procedures,
+sub-statements of events are present in the general log.
+
+set global event_scheduler=on;
+truncate mysql.general_log;
+create event ev_log_general on schedule at now() on completion not preserve do select 'events_logs_test' as inside_event;
+call select_general_log();
user_host argument
-USER_HOST CREATE EVENT log_general ON SCHEDULE EVERY 1 MINUTE DO SELECT 'alabala', SLEEP(1) FROM DUAL
-USER_HOST SELECT 'alabala', SLEEP(1) FROM DUAL
-DROP PROCEDURE select_general_log;
-DROP EVENT log_general;
-SET GLOBAL event_scheduler=off;
-"Check slow query log"
-"Save the values"
-SET @old_global_long_query_time:=(select get_value());
-SET @old_session_long_query_time:=@@long_query_time;
-SHOW VARIABLES LIKE 'log_slow_queries';
+USER_HOST create event ev_log_general on schedule at now() on completion not preserve do select 'events_logs_test' as inside_event
+USER_HOST select 'events_logs_test' as inside_event
+
+Check slow query log
+
+Ensure that slow logging is on
+show variables like 'log_slow_queries';
Variable_name Value
log_slow_queries ON
-DROP FUNCTION get_value;
-"Make it quite long"
-SET SESSION long_query_time=300;
-TRUNCATE mysql.slow_log;
-SELECT user_host, query_time, db, sql_text FROM mysql.slow_log;
-user_host query_time db sql_text
-"Set new values"
-SET GLOBAL long_query_time=4;
-SET SESSION long_query_time=1;
-"Check that logging is working"
-SELECT SLEEP(2);
-SLEEP(2)
-0
-SELECT user_host, query_time, db, sql_text FROM mysql.slow_log;
-user_host query_time db sql_text
-USER_HOST SLEEPVAL events_test SELECT SLEEP(2)
-SET SESSION long_query_time=300;
-"Make it quite long"
-TRUNCATE mysql.slow_log;
-CREATE TABLE slow_event_test (slo_val tinyint, val tinyint);
-SET SESSION long_query_time=1;
-"This won't go to the slow log"
-SELECT * FROM slow_event_test;
-slo_val val
-SET SESSION long_query_time=1;
-SET GLOBAL event_scheduler=on;
-SET GLOBAL long_query_time=20;
-CREATE EVENT long_event ON SCHEDULE EVERY 1 MINUTE DO INSERT INTO slow_event_test SELECT @@long_query_time, SLEEP(1.5);
-"Sleep some more time than the actual event run will take"
-SHOW VARIABLES LIKE 'event_scheduler';
-Variable_name Value
-event_scheduler ON
-"Check our table. Should see 1 row"
-SELECT * FROM slow_event_test;
-slo_val val
-20 0
-"Check slow log. Should not see anything because 1.5 is under the threshold of 20 for GLOBAL, though over SESSION which is 1"
-"This should show that the GLOBAL value is regarded and not the SESSION one of the current connection"
-SELECT user_host, query_time, db, sql_text FROM mysql.slow_log;
-user_host query_time db sql_text
-"Another test to show that GLOBAL is regarded and not SESSION."
-"This should go to the slow log"
-SET SESSION long_query_time=10;
-DROP EVENT long_event;
-SET GLOBAL long_query_time=1;
-CREATE EVENT long_event2 ON SCHEDULE EVERY 1 MINUTE DO INSERT INTO slow_event_test SELECT @@long_query_time, SLEEP(2);
-"Sleep some more time than the actual event run will take"
-"Check our table. Should see 2 rows"
-SELECT * FROM slow_event_test;
-slo_val val
-20 0
-1 0
-"Check slow log. Should see 1 row because 2 is over the threshold of 1 for GLOBAL, though under SESSION which is 10"
-SELECT user_host, query_time, db, sql_text FROM mysql.slow_log;
-user_host query_time db sql_text
-USER_HOST SLEEPVAL events_test INSERT INTO slow_event_test SELECT @@long_query_time, SLEEP(2)
-DROP EVENT long_event2;
-"Make it quite long"
-SET SESSION long_query_time=300;
-TRUNCATE mysql.slow_log;
-DROP TABLE slow_event_test;
-SET GLOBAL long_query_time =@old_global_long_query_time;
-SET SESSION long_query_time =@old_session_long_query_time;
-DROP DATABASE events_test;
-SET GLOBAL event_scheduler=off;
+
+Demonstrate that session value has no effect
+
+set @@session.long_query_time=1;
+set @@global.long_query_time=300;
+truncate mysql.slow_log;
+create event ev_log_general on schedule at now() on completion not preserve
+do select 'events_logs_test' as inside_event, sleep(1.5);
+
+Nothing should be logged
+
+select user_host, db, sql_text from mysql.slow_log
+where sql_text like 'select \'events_logs_test\'%';
+user_host db sql_text
+set @@global.long_query_time=1;
+truncate mysql.slow_log;
+create event ev_log_general on schedule at now() on completion not preserve
+do select 'events_logs_test' as inside_event, sleep(1.5);
+
+Event sub-statement should be logged.
+
+select user_host, db, sql_text from mysql.slow_log
+where sql_text like 'select \'events_logs_test\'%';
+user_host db sql_text
+USER_HOST events_test select 'events_logs_test' as inside_event, sleep(1.5)
+drop database events_test;
+set global event_scheduler=off;
+set @@global.long_query_time=default;
+set @@session.long_query_time=default;
diff --git a/mysql-test/r/events_scheduling.result b/mysql-test/r/events_scheduling.result
index d45bffcd7ff..b7d4578bede 100644
--- a/mysql-test/r/events_scheduling.result
+++ b/mysql-test/r/events_scheduling.result
@@ -78,11 +78,6 @@ FROM INFORMATION_SCHEMA.EVENTS
WHERE EVENT_SCHEMA=DATABASE() AND EVENT_NAME='event_2';
IF(TIME_TO_SEC(TIMEDIFF(ENDS,STARTS))=6, 'OK', 'ERROR')
OK
-SELECT IF(LAST_EXECUTED-ENDS < 3, 'OK', 'ERROR')
-FROM INFORMATION_SCHEMA.EVENTS
-WHERE EVENT_SCHEMA=DATABASE() AND EVENT_NAME='event_2';
-IF(LAST_EXECUTED-ENDS < 3, 'OK', 'ERROR')
-OK
"Already dropped because ended. Therefore an error."
DROP EVENT event_3;
ERROR HY000: Unknown event 'event_3'
diff --git a/mysql-test/r/events_trans.result b/mysql-test/r/events_trans.result
index 1f87bcea68e..16ec64b4c50 100644
--- a/mysql-test/r/events_trans.result
+++ b/mysql-test/r/events_trans.result
@@ -63,7 +63,7 @@ begin work;
insert into t1 (a) values ("OK: create event if not exists");
create event if not exists e1 on schedule every 2 day do select 2;
Warnings:
-Note 1534 Event 'e1' already exists
+Note 1537 Event 'e1' already exists
rollback work;
select * from t1;
a
diff --git a/mysql-test/r/explain.result b/mysql-test/r/explain.result
index 6f348447fbb..2ce8b8c384f 100644
--- a/mysql-test/r/explain.result
+++ b/mysql-test/r/explain.result
@@ -87,3 +87,23 @@ Warnings:
Note 1003 select '1' AS `f1`,'1' AS `f2` from `test`.`t1` having 1
drop view v1;
drop table t1;
+CREATE TABLE t1(c INT);
+INSERT INTO t1 VALUES (),();
+CREATE TABLE t2 (b INT,
+KEY(b),KEY(b),KEY(b),KEY(b),KEY(b),
+KEY(b),KEY(b),KEY(b),KEY(b),KEY(b),
+KEY(b),KEY(b),KEY(b),KEY(b),KEY(b),
+KEY(b),KEY(b),KEY(b),KEY(b),KEY(b),
+KEY(b),KEY(b),KEY(b),KEY(b),KEY(b),
+KEY(b),KEY(b),KEY(b),KEY(b),KEY(b),
+KEY(b),KEY(b),KEY(b),KEY(b),KEY(b),
+KEY(b),KEY(b),KEY(b),KEY(b),KEY(b));
+INSERT INTO t2 VALUES (),(),();
+EXPLAIN SELECT 1 FROM
+(SELECT 1 FROM t2,t1 WHERE b < c GROUP BY 1 LIMIT 1) AS d2;
+id select_type table type possible_keys key key_len ref rows Extra
+X X X X X X X X X const row not found
+X X X X X X X X X
+X X X X X X X X X Range checked for each record (index map: 0xFFFFFFFFFF)
+DROP TABLE t2;
+DROP TABLE t1;
diff --git a/mysql-test/r/federated.result b/mysql-test/r/federated.result
index ca936cd5fde..b7c666dd39a 100644
--- a/mysql-test/r/federated.result
+++ b/mysql-test/r/federated.result
@@ -14,6 +14,9 @@ Warnings:
Note 1051 Unknown table 't1'
CREATE TABLE federated.t1 (
`id` int(20) NOT NULL,
+`group` int NOT NULL default 0,
+`a\\b` int NOT NULL default 0,
+`a\\` int NOT NULL default 0,
`name` varchar(32) NOT NULL default ''
)
DEFAULT CHARSET=latin1;
@@ -22,6 +25,9 @@ Warnings:
Note 1051 Unknown table 't1'
CREATE TABLE federated.t1 (
`id` int(20) NOT NULL,
+`group` int NOT NULL default 0,
+`a\\b` inT NOT NULL default 0,
+`a\\` int NOT NULL default 0,
`name` varchar(32) NOT NULL default ''
)
ENGINE="FEDERATED" DEFAULT CHARSET=latin1
@@ -29,6 +35,9 @@ CONNECTION='mysql://root@127.0.0.1:@/too/many/items/federated/t1';
ERROR HY000: Can't create federated table. The data source connection string 'mysql://root@127.0.0.1:@/too/many/items/federated/t1' is not in the correct format
CREATE TABLE federated.t1 (
`id` int(20) NOT NULL,
+`group` int NOT NULL default 0,
+`a\\b` iNt NOT NULL default 0,
+`a\\` int NOT NULL default 0,
`name` varchar(32) NOT NULL default ''
)
ENGINE="FEDERATED" DEFAULT CHARSET=latin1
@@ -36,6 +45,9 @@ CONNECTION='mysql://root@127.0.0.1';
ERROR HY000: Can't create federated table. The data source connection string 'mysql://root@127.0.0.1' is not in the correct format
CREATE TABLE federated.t1 (
`id` int(20) NOT NULL,
+`group` int NOT NULL default 0,
+`a\\b` iNT NOT NULL default 0,
+`a\\` int NOT NULL default 0,
`name` varchar(32) NOT NULL default ''
)
ENGINE="FEDERATED" DEFAULT CHARSET=latin1
@@ -45,6 +57,9 @@ ERROR HY000: The foreign data source you are trying to reference does not exist.
DROP TABLE federated.t1;
CREATE TABLE federated.t1 (
`id` int(20) NOT NULL,
+`group` int NOT NULL default 0,
+`a\\b` Int NOT NULL default 0,
+`a\\` int NOT NULL default 0,
`name` varchar(32) NOT NULL default ''
)
ENGINE="FEDERATED" DEFAULT CHARSET=latin1
@@ -54,16 +69,25 @@ ERROR HY000: Unable to connect to foreign data source: Access denied for user 'u
DROP TABLE federated.t1;
CREATE TABLE federated.t1 (
`id` int(20) NOT NULL,
+`group` int NOT NULL default 0,
+`a\\b` InT NOT NULL default 0,
+`a\\` int NOT NULL default 0,
`name` varchar(32) NOT NULL default ''
)
ENGINE="FEDERATED" DEFAULT CHARSET=latin1
CONNECTION='mysql://root@127.0.0.1:SLAVE_PORT/federated/t1';
INSERT INTO federated.t1 (id, name) VALUES (1, 'foo');
INSERT INTO federated.t1 (id, name) VALUES (2, 'fee');
+INSERT INTO federated.t1 (id, `group`) VALUES (3, 42);
+INSERT INTO federated.t1 (id, `a\\b`) VALUES (4, 23);
+INSERT INTO federated.t1 (id, `a\\`) VALUES (5, 1);
SELECT * FROM federated.t1;
-id name
-1 foo
-2 fee
+id group a\\b a\\ name
+1 0 0 0 foo
+2 0 0 0 fee
+3 42 0 0
+4 0 23 0
+5 0 0 1
DELETE FROM federated.t1;
DROP TABLE federated.t1;
DROP TABLE IF EXISTS federated.t2;
@@ -1920,6 +1944,20 @@ a b
2 Curly
drop table federated.t1;
drop table federated.t1;
+
+Bug#18287 create federated table always times out, error 1159 ' '
+
+Test that self-references work
+
+create table federated.t1 (a int primary key);
+create table federated.t2 (a int primary key)
+ENGINE=FEDERATED
+connection='mysql://root@127.0.0.1:SLAVE_PORT/federated/t1';
+insert into federated.t1 (a) values (1);
+select * from federated.t2;
+a
+1
+drop table federated.t1, federated.t2;
CREATE TABLE federated.t1 (a INT PRIMARY KEY) DEFAULT CHARSET=utf8;
CREATE TABLE federated.t1 (a INT PRIMARY KEY)
ENGINE=FEDERATED
@@ -1941,6 +1979,145 @@ a
2
DROP TABLE federated.t1;
DROP TABLE federated.t1;
+create table t1 (a varchar(256));
+drop view if exists v1;
+create view v1 as select a from t1;
+create table t1
+(a varchar(256)) engine=federated
+connection='mysql://root@127.0.0.1:SLAVE_PORT/test/v1';
+select 1 from t1 order by a;
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+drop table t1;
+drop table t1;
+drop view v1;
+CREATE TABLE t1 (a INT, b INT, KEY(a,b));
+INSERT INTO t1 VALUES(NULL,1),(1,NULL),(NULL,NULL),(1,1),(2,2);
+CREATE TABLE t1 (a INT, b INT, KEY(a,b)) ENGINE=federated
+CONNECTION='mysql://root@127.0.0.1:SLAVE_PORT/test/t1';
+SELECT * FROM t1 WHERE a IS NULL;
+a b
+NULL NULL
+NULL 1
+SELECT * FROM t1 WHERE a IS NOT NULL;
+a b
+1 NULL
+1 1
+2 2
+SELECT * FROM t1 WHERE a=1 AND b=1;
+a b
+1 1
+SELECT * FROM t1 WHERE a IS NULL AND b=1;
+a b
+NULL 1
+SELECT * FROM t1 WHERE a IS NOT NULL AND b=1;
+a b
+1 1
+DROP TABLE t1;
+DROP TABLE t1;
+CREATE TABLE t1 (a INT) ENGINE=federated CONNECTION='mysql://@:://';
+DROP TABLE t1;
+create server 's1' foreign data wrapper 'mysql' options (port 3306);
+drop server 's1';
End of 5.1 tests
DROP TABLE IF EXISTS federated.t1;
DROP DATABASE IF EXISTS federated;
diff --git a/mysql-test/r/federated_server.result b/mysql-test/r/federated_server.result
index 0905aabb075..32717b4f0e3 100644
--- a/mysql-test/r/federated_server.result
+++ b/mysql-test/r/federated_server.result
@@ -253,6 +253,14 @@ drop user guest_usage@localhost;
drop user guest_select@localhost;
drop table federated.t1;
drop server 's1';
+create server 's1' foreign data wrapper 'mysql' options (port 3306);
+alter server 's1' options
+(host 'localhost', database '', user '',
+password '', socket '', owner '', port 3306);
+alter server 's1' options
+(host 'localhost', database 'database1', user '',
+password '', socket '', owner '', port 3306);
+drop server 's1';
# End of 5.1 tests
use test;
create procedure p1 ()
@@ -262,7 +270,7 @@ DECLARE e INT DEFAULT 0;
DECLARE i INT;
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET e = e + 1;
SET i = sleep(5);
-WHILE v < 20000 do
+WHILE v < 10000 do
CREATE SERVER s
FOREIGN DATA WRAPPER mysql
OPTIONS (USER 'Remote', HOST '192.168.1.106', DATABASE 'test');
diff --git a/mysql-test/r/flush.result b/mysql-test/r/flush.result
index dcbffd6f7c8..f1b6c471943 100644
--- a/mysql-test/r/flush.result
+++ b/mysql-test/r/flush.result
@@ -55,6 +55,23 @@ flush tables with read lock;
insert into t2 values(1);
unlock tables;
drop table t1, t2;
+drop table if exists t1, t2;
+set session low_priority_updates=1;
+create table t1 (a int);
+create table t2 (b int);
+lock tables t1 write;
+flush tables with read lock;
+ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
+unlock tables;
+lock tables t1 read, t2 write;
+flush tables with read lock;
+ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
+unlock tables;
+lock tables t1 read;
+flush tables with read lock;
+unlock tables;
+drop table t1, t2;
+set session low_priority_updates=default;
End of 5.0 tests
set @old_general_log= @@general_log;
set @old_read_only= @@read_only;
diff --git a/mysql-test/r/flush_read_lock_kill.result b/mysql-test/r/flush_read_lock_kill.result
index 6703b6bd533..0b599f343f7 100644
--- a/mysql-test/r/flush_read_lock_kill.result
+++ b/mysql-test/r/flush_read_lock_kill.result
@@ -1,3 +1,5 @@
+set @old_concurrent_insert= @@global.concurrent_insert;
+set @@global.concurrent_insert= 0;
drop table if exists t1;
create table t1 (kill_id int);
insert into t1 values(connection_id());
@@ -7,3 +9,4 @@ select ((@id := kill_id) - kill_id) from t1;
0
kill connection @id;
drop table t1;
+set @@global.concurrent_insert= @old_concurrent_insert;
diff --git a/mysql-test/r/fulltext.result b/mysql-test/r/fulltext.result
index 96ebb9bf254..2fc00073448 100644
--- a/mysql-test/r/fulltext.result
+++ b/mysql-test/r/fulltext.result
@@ -17,7 +17,7 @@ explain extended select * from t1 where MATCH(a,b) AGAINST ("collections");
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 fulltext a a 0 1 100.00 Using where
Warnings:
-Note 1003 select `test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b` from `test`.`t1` where (match `test`.`t1`.`a`,`test`.`t1`.`b` against (_latin1'collections'))
+Note 1003 select `test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b` from `test`.`t1` where (match `test`.`t1`.`a`,`test`.`t1`.`b` against ('collections'))
select * from t1 where MATCH(a,b) AGAINST ("indexes");
a b
Full-text indexes are called collections
@@ -87,7 +87,7 @@ explain extended select * from t1 where MATCH(a,b) AGAINST("support -collections
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 fulltext a a 0 1 100.00 Using where
Warnings:
-Note 1003 select `test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b` from `test`.`t1` where (match `test`.`t1`.`a`,`test`.`t1`.`b` against (_latin1'support -collections' in boolean mode))
+Note 1003 select `test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b` from `test`.`t1` where (match `test`.`t1`.`a`,`test`.`t1`.`b` against ('support -collections' in boolean mode))
select * from t1 where MATCH(a,b) AGAINST("support collections" IN BOOLEAN MODE);
a b
MySQL has now support for full-text search
@@ -476,6 +476,12 @@ ALTER TABLE t1 DISABLE KEYS;
SELECT * FROM t1 WHERE MATCH(a) AGAINST('test');
ERROR HY000: Can't find FULLTEXT index matching the column list
DROP TABLE t1;
+CREATE TABLE t1(a TEXT);
+INSERT INTO t1 VALUES(' aaaaa aaaa');
+SELECT * FROM t1 WHERE MATCH(a) AGAINST ('"aaaa"' IN BOOLEAN MODE);
+a
+ aaaaa aaaa
+DROP TABLE t1;
CREATE TABLE t1(a VARCHAR(20), FULLTEXT(a));
INSERT INTO t1 VALUES('Offside'),('City Of God');
SELECT a FROM t1 WHERE MATCH a AGAINST ('+city of*' IN BOOLEAN MODE);
diff --git a/mysql-test/r/func_crypt.result b/mysql-test/r/func_crypt.result
index 32377c9ba63..25b921681c5 100644
--- a/mysql-test/r/func_crypt.result
+++ b/mysql-test/r/func_crypt.result
@@ -91,7 +91,7 @@ explain extended select password('idkfa '), old_password('idkfa');
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 password(_latin1'idkfa ') AS `password('idkfa ')`,old_password(_latin1'idkfa') AS `old_password('idkfa')`
+Note 1003 select password('idkfa ') AS `password('idkfa ')`,old_password('idkfa') AS `old_password('idkfa')`
select encrypt('1234','_.');
encrypt('1234','_.')
#
diff --git a/mysql-test/r/func_encrypt.result b/mysql-test/r/func_encrypt.result
index dc2b5498b2a..04af76429f8 100644
--- a/mysql-test/r/func_encrypt.result
+++ b/mysql-test/r/func_encrypt.result
@@ -182,4 +182,4 @@ explain extended select des_decrypt(des_encrypt("hello",4),'password2'), des_dec
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 des_decrypt(des_encrypt(_latin1'hello',4),_latin1'password2') AS `des_decrypt(des_encrypt("hello",4),'password2')`,des_decrypt(des_encrypt(_latin1'hello',_latin1'hidden')) AS `des_decrypt(des_encrypt("hello","hidden"))`
+Note 1003 select des_decrypt(des_encrypt('hello',4),'password2') AS `des_decrypt(des_encrypt("hello",4),'password2')`,des_decrypt(des_encrypt('hello','hidden')) AS `des_decrypt(des_encrypt("hello","hidden"))`
diff --git a/mysql-test/r/func_gconcat.result b/mysql-test/r/func_gconcat.result
index b17c5e5409c..04f83788571 100644
--- a/mysql-test/r/func_gconcat.result
+++ b/mysql-test/r/func_gconcat.result
@@ -271,7 +271,7 @@ group_concat(distinct s1 order by s2)
c,b,a
select group_concat(distinct s1 order by s2) from t1;
group_concat(distinct s1 order by s2)
-c,b,a,c
+c,b,a
drop table t1;
create table t1 (a int, c int);
insert into t1 values (1, 2), (2, 3), (2, 4), (3, 5);
@@ -825,4 +825,131 @@ id group_concat(b.name)
1 óra,óra
2 óra,óra
drop table t1;
+create table t1(a bit not null);
+insert into t1 values (), (), ();
+Warnings:
+Warning 1364 Field 'a' doesn't have a default value
+select group_concat(distinct a) from t1;
+group_concat(distinct a)
+0
+select group_concat(distinct a order by a) from t1;
+group_concat(distinct a order by a)
+0
+drop table t1;
+create table t1(a bit(2) not null);
+insert into t1 values (1), (0), (0), (3), (1);
+select group_concat(distinct a) from t1;
+group_concat(distinct a)
+1,0,3
+select group_concat(distinct a order by a) from t1;
+group_concat(distinct a order by a)
+0,1,3
+select group_concat(distinct a order by a desc) from t1;
+group_concat(distinct a order by a desc)
+3,1,0
+drop table t1;
+create table t1(a bit(2), b varchar(10), c bit);
+insert into t1 values (1, 'a', 0), (0, 'b', 1), (0, 'c', 0), (3, 'd', 1),
+(1, 'e', 1), (3, 'f', 1), (0, 'g', 1);
+select group_concat(distinct a, c) from t1;
+group_concat(distinct a, c)
+10,01,00,31,11
+select group_concat(distinct a, c order by a) from t1;
+group_concat(distinct a, c order by a)
+00,01,11,10,31
+select group_concat(distinct a, c) from t1;
+group_concat(distinct a, c)
+10,01,00,31,11
+select group_concat(distinct a, c order by a, c) from t1;
+group_concat(distinct a, c order by a, c)
+00,01,10,11,31
+select group_concat(distinct a, c order by a desc, c desc) from t1;
+group_concat(distinct a, c order by a desc, c desc)
+31,11,10,01,00
+drop table t1;
+create table t1 (f1 char(20));
+insert into t1 values (''),('');
+select group_concat(distinct f1) from t1;
+group_concat(distinct f1)
+
+select group_concat(f1) from t1;
+group_concat(f1)
+,
+drop table t1;
+CREATE TABLE t1 (a INT, b INT);
+INSERT INTO t1 VALUES (1, 1), (2, 2), (2, 3);
+SELECT GROUP_CONCAT(DISTINCT a ORDER BY b) FROM t1;
+GROUP_CONCAT(DISTINCT a ORDER BY b)
+1,2
+SELECT GROUP_CONCAT(DISTINCT a ORDER BY b DESC) FROM t1;
+GROUP_CONCAT(DISTINCT a ORDER BY b DESC)
+2,1
+SELECT GROUP_CONCAT(DISTINCT a) FROM t1;
+GROUP_CONCAT(DISTINCT a)
+1,2
+SELECT GROUP_CONCAT(DISTINCT a + 1 ORDER BY 3 - b) FROM t1;
+GROUP_CONCAT(DISTINCT a + 1 ORDER BY 3 - b)
+3,2
+SELECT GROUP_CONCAT(DISTINCT a + 1 ORDER BY b) FROM t1;
+GROUP_CONCAT(DISTINCT a + 1 ORDER BY b)
+2,3
+SELECT GROUP_CONCAT(a ORDER BY 3 - b) FROM t1;
+GROUP_CONCAT(a ORDER BY 3 - b)
+2,2,1
+CREATE TABLE t2 (a INT, b INT, c INT, d INT);
+INSERT INTO t2 VALUES (1,1, 1,1), (1,1, 2,2), (1,2, 2,1), (2,1, 1,2);
+SELECT GROUP_CONCAT(DISTINCT a, b ORDER BY c, d) FROM t2;
+GROUP_CONCAT(DISTINCT a, b ORDER BY c, d)
+11,21,12
+SELECT GROUP_CONCAT(DISTINCT a, b ORDER BY d, c) FROM t2;
+GROUP_CONCAT(DISTINCT a, b ORDER BY d, c)
+11,12,21
+CREATE TABLE t3 (a INT, b INT, c INT);
+INSERT INTO t3 VALUES (1, 1, 1), (2, 1, 2), (3, 2, 1);
+SELECT GROUP_CONCAT(DISTINCT a, b ORDER BY b, c) FROM t3;
+GROUP_CONCAT(DISTINCT a, b ORDER BY b, c)
+11,21,32
+SELECT GROUP_CONCAT(DISTINCT a, b ORDER BY c, b) FROM t3;
+GROUP_CONCAT(DISTINCT a, b ORDER BY c, b)
+11,32,21
+SELECT GROUP_CONCAT(DISTINCT a, b ORDER BY a, b) FROM t1;
+GROUP_CONCAT(DISTINCT a, b ORDER BY a, b)
+11,22,23
+SELECT GROUP_CONCAT(DISTINCT b, a ORDER BY a, b) FROM t1;
+GROUP_CONCAT(DISTINCT b, a ORDER BY a, b)
+11,22,32
+SELECT GROUP_CONCAT(DISTINCT a, b ORDER BY b, a) FROM t1;
+GROUP_CONCAT(DISTINCT a, b ORDER BY b, a)
+11,22,23
+SELECT GROUP_CONCAT(DISTINCT b, a ORDER BY a, b) FROM t1;
+GROUP_CONCAT(DISTINCT b, a ORDER BY a, b)
+11,22,32
+SELECT GROUP_CONCAT(DISTINCT a ORDER BY a, b) FROM t1;
+GROUP_CONCAT(DISTINCT a ORDER BY a, b)
+1,2
+SELECT GROUP_CONCAT(DISTINCT b ORDER BY b, a) FROM t1;
+GROUP_CONCAT(DISTINCT b ORDER BY b, a)
+1,2,3
+SELECT GROUP_CONCAT(DISTINCT a, b ORDER BY a) FROM t1;
+GROUP_CONCAT(DISTINCT a, b ORDER BY a)
+11,23,22
+SELECT GROUP_CONCAT(DISTINCT b, a ORDER BY b) FROM t1;
+GROUP_CONCAT(DISTINCT b, a ORDER BY b)
+11,22,32
+DROP TABLE t1, t2, t3;
+CREATE TABLE t1(a INT);
+INSERT INTO t1 VALUES (),();
+SELECT s1.d1 FROM
+(
+SELECT
+t1.a as d1,
+GROUP_CONCAT(DISTINCT t1.a) AS d2
+FROM
+t1 AS t1,
+t1 AS t2
+GROUP BY 1
+) AS s1;
+d1
+NULL
+DROP TABLE t1;
End of 5.0 tests
diff --git a/mysql-test/r/func_group.result b/mysql-test/r/func_group.result
index fce01ffd171..4c1abb160c6 100644
--- a/mysql-test/r/func_group.result
+++ b/mysql-test/r/func_group.result
@@ -1368,4 +1368,46 @@ SELECT MIN(a), MIN(b) FROM t5 WHERE a = 1 and b > 1;
MIN(a) MIN(b)
1 2
DROP TABLE t1, t2, t3, t4, t5;
+CREATE TABLE t1 (a INT);
+INSERT INTO t1 values (),(),();
+SELECT (SELECT SLEEP(0) FROM t1 ORDER BY AVG(DISTINCT a) ) as x FROM t1
+GROUP BY x;
+x
+0
+SELECT 1 FROM t1 GROUP BY (SELECT SLEEP(0) FROM t1 ORDER BY AVG(DISTINCT a) );
+1
+1
+DROP TABLE t1;
+CREATE TABLE t1 (a int, b date NOT NULL, KEY k1 (a,b));
+SELECT MIN(b) FROM t1 WHERE a=1 AND b>'2007-08-01';
+MIN(b)
+NULL
+DROP TABLE t1;
+CREATE TABLE t1 (a INT);
+INSERT INTO t1 VALUES (1),(2),(3),(4);
+SET SQL_MODE=ONLY_FULL_GROUP_BY;
+SELECT a FROM t1 HAVING COUNT(*)>2;
+ERROR 42000: Mixing of GROUP columns (MIN(),MAX(),COUNT(),...) with no GROUP columns is illegal if there is no GROUP BY clause
+SELECT COUNT(*), a FROM t1;
+ERROR 42000: Mixing of GROUP columns (MIN(),MAX(),COUNT(),...) with no GROUP columns is illegal if there is no GROUP BY clause
+SET SQL_MODE=DEFAULT;
+SELECT a FROM t1 HAVING COUNT(*)>2;
+a
+1
+SELECT COUNT(*), a FROM t1;
+COUNT(*) a
+4 1
+DROP TABLE t1;
+set SQL_MODE=ONLY_FULL_GROUP_BY;
+CREATE TABLE t1 (a INT);
+INSERT INTO t1 VALUES (1),(2),(3),(4);
+CREATE VIEW v1 AS SELECT a,(a + 1) AS y FROM t1;
+EXPLAIN EXTENDED SELECT y FROM v1 GROUP BY v1.y;
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 4 100.00 Using temporary; Using filesort
+Warnings:
+Note 1003 select (`test`.`t1`.`a` + 1) AS `y` from `test`.`t1` group by (`test`.`t1`.`a` + 1)
+DROP VIEW v1;
+DROP TABLE t1;
+SET SQL_MODE=DEFAULT;
End of 5.0 tests
diff --git a/mysql-test/r/func_if.result b/mysql-test/r/func_if.result
index e9a17324397..42a2aa840ea 100644
--- a/mysql-test/r/func_if.result
+++ b/mysql-test/r/func_if.result
@@ -43,7 +43,7 @@ explain extended select if(u=1,st,binary st) s from t1 where st like "%a%" order
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 7 100.00 Using where; Using filesort
Warnings:
-Note 1003 select if((`test`.`t1`.`u` = 1),`test`.`t1`.`st`,cast(`test`.`t1`.`st` as char charset binary)) AS `s` from `test`.`t1` where (`test`.`t1`.`st` like _latin1'%a%') order by if((`test`.`t1`.`u` = 1),`test`.`t1`.`st`,cast(`test`.`t1`.`st` as char charset binary))
+Note 1003 select if((`test`.`t1`.`u` = 1),`test`.`t1`.`st`,cast(`test`.`t1`.`st` as char charset binary)) AS `s` from `test`.`t1` where (`test`.`t1`.`st` like '%a%') order by if((`test`.`t1`.`u` = 1),`test`.`t1`.`st`,cast(`test`.`t1`.`st` as char charset binary))
select nullif(u, 1) from t1;
nullif(u, 1)
NULL
diff --git a/mysql-test/r/func_in.result b/mysql-test/r/func_in.result
index 4f64d39ccc0..6e1f9bd8188 100644
--- a/mysql-test/r/func_in.result
+++ b/mysql-test/r/func_in.result
@@ -146,7 +146,7 @@ explain extended select * from t1 where 'a' in (a,b,c collate latin1_bin);
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 2 100.00 Using where
Warnings:
-Note 1003 select `test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b`,`test`.`t1`.`c` AS `c` from `test`.`t1` where (_latin1'a' in (`test`.`t1`.`a`,`test`.`t1`.`b`,(`test`.`t1`.`c` collate latin1_bin)))
+Note 1003 select `test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b`,`test`.`t1`.`c` AS `c` from `test`.`t1` where ('a' in (`test`.`t1`.`a`,`test`.`t1`.`b`,(`test`.`t1`.`c` collate latin1_bin)))
drop table t1;
set names utf8;
create table t1 (a char(10) character set utf8 not null);
@@ -564,4 +564,9 @@ explain select f2 from t2 where f2 in (1,'b');
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 index t2f2 t2f2 5 NULL 3 Using where; Using index
drop table t1, t2;
+create table t1 (a time, key(a));
+insert into t1 values (),(),(),(),(),(),(),(),(),();
+select a from t1 where a not in (a,a,a) group by a;
+a
+drop table t1;
End of 5.1 tests
diff --git a/mysql-test/r/func_like.result b/mysql-test/r/func_like.result
index 5de5962efeb..9338a76e320 100644
--- a/mysql-test/r/func_like.result
+++ b/mysql-test/r/func_like.result
@@ -5,12 +5,12 @@ explain extended select * from t1 where a like 'abc%';
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 index a a 13 NULL 5 20.00 Using where; Using index
Warnings:
-Note 1003 select `test`.`t1`.`a` AS `a` from `test`.`t1` where (`test`.`t1`.`a` like _latin1'abc%')
+Note 1003 select `test`.`t1`.`a` AS `a` from `test`.`t1` where (`test`.`t1`.`a` like 'abc%')
explain extended select * from t1 where a like concat('abc','%');
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 index a a 13 NULL 5 20.00 Using where; Using index
Warnings:
-Note 1003 select `test`.`t1`.`a` AS `a` from `test`.`t1` where (`test`.`t1`.`a` like concat(_latin1'abc',_latin1'%'))
+Note 1003 select `test`.`t1`.`a` AS `a` from `test`.`t1` where (`test`.`t1`.`a` like concat('abc','%'))
select * from t1 where a like "abc%";
a
abc
diff --git a/mysql-test/r/func_math.result b/mysql-test/r/func_math.result
index e2e93796afe..b4a07f18521 100644
--- a/mysql-test/r/func_math.result
+++ b/mysql-test/r/func_math.result
@@ -369,4 +369,61 @@ mod(5, cast(-2 as unsigned)) mod(5, 18446744073709551614) mod(5, -2)
select pow(cast(-2 as unsigned), 5), pow(18446744073709551614, 5), pow(-2, 5);
pow(cast(-2 as unsigned), 5) pow(18446744073709551614, 5) pow(-2, 5)
2.1359870359209e+96 2.1359870359209e+96 -32
+CREATE TABLE t1 (a timestamp, b varchar(20), c bit(1));
+INSERT INTO t1 VALUES('1998-09-23', 'str1', 1), ('2003-03-25', 'str2', 0);
+SELECT a DIV 900 y FROM t1 GROUP BY y;
+y
+22201025555
+22255916666
+SELECT DISTINCT a DIV 900 y FROM t1;
+y
+22201025555
+22255916666
+SELECT b DIV 900 y FROM t1 GROUP BY y;
+y
+0
+SELECT c DIV 900 y FROM t1 GROUP BY y;
+y
+0
+DROP TABLE t1;
+CREATE TABLE t1(a LONGBLOB);
+INSERT INTO t1 VALUES('1'),('2'),('3');
+SELECT DISTINCT (a DIV 254576881) FROM t1;
+(a DIV 254576881)
+0
+SELECT (a DIV 254576881) FROM t1 UNION ALL
+SELECT (a DIV 254576881) FROM t1;
+(a DIV 254576881)
+0
+0
+0
+0
+0
+0
+DROP TABLE t1;
+CREATE TABLE t1(a SET('a','b','c'));
+INSERT INTO t1 VALUES ('a');
+SELECT a DIV 2 FROM t1 UNION SELECT a DIV 2 FROM t1;
+a DIV 2
+0
+DROP TABLE t1;
End of 5.0 tests
+SELECT 1e308 + 1e308;
+1e308 + 1e308
+NULL
+SELECT -1e308 - 1e308;
+-1e308 - 1e308
+NULL
+SELECT 1e300 * 1e300;
+1e300 * 1e300
+NULL
+SELECT 1e300 / 1e-300;
+1e300 / 1e-300
+NULL
+SELECT EXP(750);
+EXP(750)
+NULL
+SELECT POW(10, 309);
+POW(10, 309)
+NULL
+End of 5.1 tests
diff --git a/mysql-test/r/func_misc.result b/mysql-test/r/func_misc.result
index 86b237d9afe..a6b912b4e0a 100644
--- a/mysql-test/r/func_misc.result
+++ b/mysql-test/r/func_misc.result
@@ -1,3 +1,4 @@
+DROP TABLE IF EXISTS t1, t2;
select format(1.5555,0),format(123.5555,1),format(1234.5555,2),format(12345.55555,3),format(123456.5555,4),format(1234567.5555,5),format("12345.2399",2);
format(1.5555,0) format(123.5555,1) format(1234.5555,2) format(12345.55555,3) format(123456.5555,4) format(1234567.5555,5) format("12345.2399",2)
2 123.6 1,234.56 12,345.556 123,456.5555 1,234,567.55550 12,345.24
@@ -56,7 +57,6 @@ select a from t1 where mid(a+0,6,3) = ( mid(20040106123400,6,3) );
a
2004-01-06 12:34:00
drop table t1;
-DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (conn CHAR(7), connection_id INT);
INSERT INTO t1 VALUES ('default', CONNECTION_ID());
SELECT GET_LOCK('bug16501',600);
@@ -190,4 +190,70 @@ ERROR 21000: Operand should contain 1 column(s)
drop table table_26093;
drop function func_26093_a;
drop function func_26093_b;
+SELECT NAME_CONST('test', NOW());
+ERROR HY000: Incorrect arguments to NAME_CONST
+SELECT NAME_CONST('test', UPPER('test'));
+ERROR HY000: Incorrect arguments to NAME_CONST
+SELECT NAME_CONST('test', NULL);
+test
+NULL
+SELECT NAME_CONST('test', 1);
+test
+1
+SELECT NAME_CONST('test', -1);
+test
+-1
+SELECT NAME_CONST('test', 1.0);
+test
+1.0
+SELECT NAME_CONST('test', -1.0);
+test
+-1.0
+SELECT NAME_CONST('test', 'test');
+test
+test
+CREATE TABLE t1 (a INT);
+INSERT INTO t1 VALUES (1),(2),(3);
+SELECT NAME_CONST('flag',1) * MAX(a) FROM t1;
+NAME_CONST('flag',1) * MAX(a)
+3
+SELECT NAME_CONST('flag',1.5) * MAX(a) FROM t1;
+NAME_CONST('flag',1.5) * MAX(a)
+4.5
+SELECT NAME_CONST('flag',-1) * MAX(a) FROM t1;
+NAME_CONST('flag',-1) * MAX(a)
+-3
+SELECT NAME_CONST('flag',-1.5) * MAX(a) FROM t1;
+NAME_CONST('flag',-1.5) * MAX(a)
+-4.5
+SELECT NAME_CONST('flag', SQRT(4)) * MAX(a) FROM t1;
+ERROR HY000: Incorrect arguments to NAME_CONST
+SELECT NAME_CONST('flag',-SQRT(4)) * MAX(a) FROM t1;
+ERROR HY000: Incorrect arguments to NAME_CONST
+DROP TABLE t1;
+CREATE TABLE t1 (a int);
+INSERT INTO t1 VALUES (5), (2);
+SELECT NAME_CONST(x,2) FROM (SELECT a x FROM t1) t;
+ERROR HY000: Incorrect arguments to NAME_CONST
+DROP TABLE t1;
+CREATE TABLE t1(a INT);
+INSERT INTO t1 VALUES (), (), ();
+SELECT NAME_CONST(a, '1') FROM t1;
+ERROR HY000: Incorrect arguments to NAME_CONST
+SET INSERT_ID= NAME_CONST(a, a);
+ERROR HY000: Incorrect arguments to NAME_CONST
+DROP TABLE t1;
+create table t1 (a int not null);
+insert into t1 values (-1), (-2);
+select min(a) from t1 group by inet_ntoa(a);
+min(a)
+-2
+drop table t1;
+SELECT NAME_CONST('var', 'value') COLLATE latin1_general_cs;
+NAME_CONST('var', 'value') COLLATE latin1_general_cs
+value
End of 5.0 tests
+select connection_id() > 0;
+connection_id() > 0
+1
+End of tests
diff --git a/mysql-test/r/func_regexp.result b/mysql-test/r/func_regexp.result
index 4e35c2a1348..794ae79973a 100644
--- a/mysql-test/r/func_regexp.result
+++ b/mysql-test/r/func_regexp.result
@@ -1,5 +1,17 @@
drop table if exists t1;
-create table t1 (s1 char(64),s2 char(64));
+set names latin1;
+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) DEFAULT NULL,
+ `s2` varchar(64) 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]+$');
@@ -40,7 +52,7 @@ explain extended select * from t1 where xxx regexp('is a test of some long text
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 system NULL NULL NULL NULL 1 100.00
Warnings:
-Note 1003 select 'this is a test of some long text to see what happens' AS `xxx` from `test`.`t1` where ('this is a test of some long text to see what happens' regexp _latin1'is a test of some long text to')
+Note 1003 select 'this is a test of some long text to see what happens' AS `xxx` from `test`.`t1` where ('this is a test of some long text to see what happens' regexp 'is a test of some long text to')
select * from t1 where xxx regexp('is a test of some long text to ');
xxx
this is a test of some long text to see what happens
@@ -98,3 +110,8 @@ R2
R3
deallocate prepare stmt1;
drop table t1;
+End of 4.1 tests
+SELECT 1 REGEXP NULL;
+1 REGEXP NULL
+NULL
+End of 5.0 tests
diff --git a/mysql-test/r/func_sapdb.result b/mysql-test/r/func_sapdb.result
index b7dbfc670a8..942073e3fbd 100644
--- a/mysql-test/r/func_sapdb.result
+++ b/mysql-test/r/func_sapdb.result
@@ -93,6 +93,9 @@ makedate(9999,365)
select makedate(9999,366);
makedate(9999,366)
NULL
+select makedate(100,1);
+makedate(100,1)
+0100-01-01
select addtime("1997-12-31 23:59:59.999999", "1 1:1:1.000002");
addtime("1997-12-31 23:59:59.999999", "1 1:1:1.000002")
1998-01-02 01:01:01.000001
@@ -196,7 +199,7 @@ f2 datetime YES NULL
f3 time YES NULL
f4 time YES NULL
f5 time YES NULL
-f6 time NO 00:00:00
+f6 time YES NULL
f7 datetime YES NULL
f8 date YES NULL
f9 time YES NULL
diff --git a/mysql-test/r/func_set.result b/mysql-test/r/func_set.result
index 5f6ddb020f2..3f9f7b85731 100644
--- a/mysql-test/r/func_set.result
+++ b/mysql-test/r/func_set.result
@@ -5,7 +5,7 @@ explain extended select INTERVAL(55,10,20,30,40,50,60,70,80,90,100),interval(3,1
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 interval((55,10,20,30,40,50,60,70,80,90,100)) AS `INTERVAL(55,10,20,30,40,50,60,70,80,90,100)`,interval((3,1,(1 + 1),(((1 + 1) + 1) + 1))) AS `interval(3,1,1+1,1+1+1+1)`,field(_latin1'IBM',_latin1'NCA',_latin1'ICL',_latin1'SUN',_latin1'IBM',_latin1'DIGITAL') AS `field("IBM","NCA","ICL","SUN","IBM","DIGITAL")`,field(_latin1'A',_latin1'B',_latin1'C') AS `field("A","B","C")`,elt(2,_latin1'ONE',_latin1'TWO',_latin1'THREE') AS `elt(2,"ONE","TWO","THREE")`,interval((0,1,2,3,4)) AS `interval(0,1,2,3,4)`,(elt(1,1,2,3) | 0) AS `elt(1,1,2,3)|0`,(elt(1,1.1,1.2,1.3) + 0) AS `elt(1,1.1,1.2,1.3)+0`
+Note 1003 select interval((55,10,20,30,40,50,60,70,80,90,100)) AS `INTERVAL(55,10,20,30,40,50,60,70,80,90,100)`,interval((3,1,(1 + 1),(((1 + 1) + 1) + 1))) AS `interval(3,1,1+1,1+1+1+1)`,field('IBM','NCA','ICL','SUN','IBM','DIGITAL') AS `field("IBM","NCA","ICL","SUN","IBM","DIGITAL")`,field('A','B','C') AS `field("A","B","C")`,elt(2,'ONE','TWO','THREE') AS `elt(2,"ONE","TWO","THREE")`,interval((0,1,2,3,4)) AS `interval(0,1,2,3,4)`,(elt(1,1,2,3) | 0) AS `elt(1,1,2,3)|0`,(elt(1,1.1,1.2,1.3) + 0) AS `elt(1,1.1,1.2,1.3)+0`
SELECT INTERVAL(13, 7, 14, 21, 28, 35, 42, 49, 56);
INTERVAL(13, 7, 14, 21, 28, 35, 42, 49, 56)
1
@@ -73,3 +73,33 @@ find_in_set(binary 'a', 'A,B,C')
select find_in_set('1','3,1,');
find_in_set('1','3,1,')
2
+End of 4.1 tests
+SELECT INTERVAL(0.0, NULL);
+INTERVAL(0.0, NULL)
+1
+SELECT INTERVAL(0.0, CAST(NULL AS DECIMAL));
+INTERVAL(0.0, CAST(NULL AS DECIMAL))
+1
+SELECT INTERVAL(0.0, CAST(DATE(NULL) AS DECIMAL));
+INTERVAL(0.0, CAST(DATE(NULL) AS DECIMAL))
+1
+SELECT INTERVAL(0.0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
+INTERVAL(0.0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL)
+8
+SELECT INTERVAL(0.0, CAST(NULL AS DECIMAL), CAST(NULL AS DECIMAL),
+CAST(NULL AS DECIMAL), CAST(NULL AS DECIMAL), CAST(NULL AS DECIMAL),
+CAST(NULL AS DECIMAL), CAST(NULL AS DECIMAL), CAST(NULL AS DECIMAL));
+INTERVAL(0.0, CAST(NULL AS DECIMAL), CAST(NULL AS DECIMAL),
+CAST(NULL AS DECIMAL), CAST(NULL AS DECIMAL), CAST(NULL AS DECIMAL),
+CAST(NULL AS DECIMAL), CAST(NULL AS DECIMAL), CAST(NULL AS DECIMAL))
+8
+SELECT INTERVAL(0.0, CAST(DATE(NULL) AS DECIMAL), CAST(DATE(NULL) AS DECIMAL),
+CAST(DATE(NULL) AS DECIMAL), CAST(DATE(NULL) AS DECIMAL),
+CAST(DATE(NULL) AS DECIMAL), CAST(DATE(NULL) AS DECIMAL),
+CAST(DATE(NULL) AS DECIMAL), CAST(DATE(NULL) AS DECIMAL));
+INTERVAL(0.0, CAST(DATE(NULL) AS DECIMAL), CAST(DATE(NULL) AS DECIMAL),
+CAST(DATE(NULL) AS DECIMAL), CAST(DATE(NULL) AS DECIMAL),
+CAST(DATE(NULL) AS DECIMAL), CAST(DATE(NULL) AS DECIMAL),
+CAST(DATE(NULL) AS DECIMAL), CAST(DATE(NULL) AS DECIMAL))
+8
+End of 5.0 tests
diff --git a/mysql-test/r/func_str.result b/mysql-test/r/func_str.result
index 6fbb9c811a7..78748a4622f 100644
--- a/mysql-test/r/func_str.result
+++ b/mysql-test/r/func_str.result
@@ -722,11 +722,11 @@ Warning 1265 Data truncated for column 'format(130,10)' at row 1
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `bin(130)` varchar(64) NOT NULL DEFAULT '',
- `oct(130)` varchar(64) NOT NULL DEFAULT '',
- `conv(130,16,10)` varchar(64) NOT NULL DEFAULT '',
+ `bin(130)` varchar(64) DEFAULT NULL,
+ `oct(130)` varchar(64) DEFAULT NULL,
+ `conv(130,16,10)` varchar(64) DEFAULT NULL,
`hex(130)` varchar(6) NOT NULL DEFAULT '',
- `char(130)` varbinary(1) NOT NULL DEFAULT '',
+ `char(130)` varbinary(4) NOT NULL DEFAULT '',
`format(130,10)` varchar(4) NOT NULL DEFAULT '',
`left(_latin2'a',1)` varchar(1) CHARACTER SET latin2 NOT NULL DEFAULT '',
`right(_latin2'a',1)` varchar(1) CHARACTER SET latin2 NOT NULL DEFAULT '',
@@ -817,57 +817,57 @@ explain extended select md5('hello');
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 md5(_latin1'hello') AS `md5('hello')`
+Note 1003 select md5('hello') AS `md5('hello')`
explain extended select sha('abc');
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 sha(_latin1'abc') AS `sha('abc')`
+Note 1003 select sha('abc') AS `sha('abc')`
explain extended select sha1('abc');
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 sha(_latin1'abc') AS `sha1('abc')`
+Note 1003 select sha('abc') AS `sha1('abc')`
explain extended select soundex('');
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 soundex(_latin1'') AS `soundex('')`
+Note 1003 select soundex('') AS `soundex('')`
explain extended select 'mood' sounds like 'mud';
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 (soundex(_latin1'mood') = soundex(_latin1'mud')) AS `'mood' sounds like 'mud'`
+Note 1003 select (soundex('mood') = soundex('mud')) AS `'mood' sounds like 'mud'`
explain extended select aes_decrypt(aes_encrypt('abc','1'),'1');
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 aes_decrypt(aes_encrypt(_latin1'abc',_latin1'1'),_latin1'1') AS `aes_decrypt(aes_encrypt('abc','1'),'1')`
+Note 1003 select aes_decrypt(aes_encrypt('abc','1'),'1') AS `aes_decrypt(aes_encrypt('abc','1'),'1')`
explain extended select concat('*',space(5),'*');
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(_latin1'*',repeat(_latin1' ',5),_latin1'*') AS `concat('*',space(5),'*')`
+Note 1003 select concat('*',repeat(' ',5),'*') AS `concat('*',space(5),'*')`
explain extended select reverse('abc');
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 reverse(_latin1'abc') AS `reverse('abc')`
+Note 1003 select reverse('abc') AS `reverse('abc')`
explain extended select rpad('a',4,'1');
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 rpad(_latin1'a',4,_latin1'1') AS `rpad('a',4,'1')`
+Note 1003 select rpad('a',4,'1') AS `rpad('a',4,'1')`
explain extended select lpad('a',4,'1');
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 lpad(_latin1'a',4,_latin1'1') AS `lpad('a',4,'1')`
+Note 1003 select lpad('a',4,'1') AS `lpad('a',4,'1')`
explain extended select concat_ws(',','',NULL,'a');
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_ws(_latin1',',_latin1'',NULL,_latin1'a') AS `concat_ws(',','',NULL,'a')`
+Note 1003 select concat_ws(',','',NULL,'a') AS `concat_ws(',','',NULL,'a')`
explain extended select make_set(255,_latin2'a', _latin2'b', _latin2'c');
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
@@ -882,7 +882,7 @@ explain extended select locate("a","b",2);
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 locate(_latin1'a',_latin1'b',2) AS `locate("a","b",2)`
+Note 1003 select locate('a','b',2) AS `locate("a","b",2)`
explain extended select format(130,10);
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
@@ -907,7 +907,7 @@ explain extended select binary 'HE';
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 cast(_latin1'HE' as char charset binary) AS `binary 'HE'`
+Note 1003 select cast('HE' as char charset binary) AS `binary 'HE'`
explain extended select export_set(255,_latin2'y', _latin2'n', _latin2' ');
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
@@ -917,7 +917,7 @@ explain extended select FIELD('b' COLLATE latin1_bin,'A','B');
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 field((_latin1'b' collate latin1_bin),_latin1'A',_latin1'B') AS `FIELD('b' COLLATE latin1_bin,'A','B')`
+Note 1003 select field(('b' collate latin1_bin),'A','B') AS `FIELD('b' COLLATE latin1_bin,'A','B')`
explain extended select FIND_IN_SET(_latin1'B', _latin1'a,b,c,d');
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
@@ -937,37 +937,37 @@ explain extended select length('\n\t\r\b\0\_\%\\');
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 length(_latin1'\n \r\0\\_\\%\\') AS `length('\n\t\r\b\0\_\%\\')`
+Note 1003 select length('\n \r\0\\_\\%\\') AS `length('\n\t\r\b\0\_\%\\')`
explain extended select bit_length('\n\t\r\b\0\_\%\\');
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 bit_length(_latin1'\n \r\0\\_\\%\\') AS `bit_length('\n\t\r\b\0\_\%\\')`
+Note 1003 select bit_length('\n \r\0\\_\\%\\') AS `bit_length('\n\t\r\b\0\_\%\\')`
explain extended select bit_length('\n\t\r\b\0\_\%\\');
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 bit_length(_latin1'\n \r\0\\_\\%\\') AS `bit_length('\n\t\r\b\0\_\%\\')`
+Note 1003 select bit_length('\n \r\0\\_\\%\\') AS `bit_length('\n\t\r\b\0\_\%\\')`
explain extended select concat('monty',' was here ','again');
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(_latin1'monty',_latin1' was here ',_latin1'again') AS `concat('monty',' was here ','again')`
+Note 1003 select concat('monty',' was here ','again') AS `concat('monty',' was here ','again')`
explain extended select length('hello');
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 length(_latin1'hello') AS `length('hello')`
+Note 1003 select length('hello') AS `length('hello')`
explain extended select char(ascii('h'));
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 char(ascii(_latin1'h')) AS `char(ascii('h'))`
+Note 1003 select char(ascii('h')) AS `char(ascii('h'))`
explain extended select ord('h');
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 ord(_latin1'h') AS `ord('h')`
+Note 1003 select ord('h') AS `ord('h')`
explain extended select quote(1/0);
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
@@ -977,17 +977,17 @@ explain extended select crc32("123");
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 crc32(_latin1'123') AS `crc32("123")`
+Note 1003 select crc32('123') AS `crc32("123")`
explain extended select replace('aaaa','a','b');
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 replace(_latin1'aaaa',_latin1'a',_latin1'b') AS `replace('aaaa','a','b')`
+Note 1003 select replace('aaaa','a','b') AS `replace('aaaa','a','b')`
explain extended select insert('txs',2,1,'hi');
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 insert(_latin1'txs',2,1,_latin1'hi') AS `insert('txs',2,1,'hi')`
+Note 1003 select insert('txs',2,1,'hi') AS `insert('txs',2,1,'hi')`
explain extended select left(_latin2'a',1);
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
@@ -1012,12 +1012,12 @@ explain extended select SUBSTR('abcdefg',3,2);
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 substr(_latin1'abcdefg',3,2) AS `SUBSTR('abcdefg',3,2)`
+Note 1003 select substr('abcdefg',3,2) AS `SUBSTR('abcdefg',3,2)`
explain extended select substring_index("1abcd;2abcd;3abcd;4abcd", ';', 2);
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 substring_index(_latin1'1abcd;2abcd;3abcd;4abcd',_latin1';',2) AS `substring_index("1abcd;2abcd;3abcd;4abcd", ';', 2)`
+Note 1003 select substring_index('1abcd;2abcd;3abcd;4abcd',';',2) AS `substring_index("1abcd;2abcd;3abcd;4abcd", ';', 2)`
explain extended select trim(_latin2' a ');
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
@@ -1037,7 +1037,7 @@ explain extended select decode(encode(repeat("a",100000),"monty"),"monty");
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 decode(encode(repeat(_latin1'a',100000),_latin1'monty'),_latin1'monty') AS `decode(encode(repeat("a",100000),"monty"),"monty")`
+Note 1003 select decode(encode(repeat('a',100000),'monty'),'monty') AS `decode(encode(repeat("a",100000),"monty"),"monty")`
SELECT lpad(12345, 5, "#");
lpad(12345, 5, "#")
12345
@@ -1282,39 +1282,51 @@ EXPLAIN EXTENDED SELECT s FROM t1 WHERE TRIM(s) > 'ab';
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 2 100.00 Using where
Warnings:
-Note 1003 select `test`.`t1`.`s` AS `s` from `test`.`t1` where (trim(`test`.`t1`.`s`) > _latin1'ab')
+Note 1003 select `test`.`t1`.`s` AS `s` from `test`.`t1` where (trim(`test`.`t1`.`s`) > 'ab')
EXPLAIN EXTENDED SELECT s FROM t1 WHERE TRIM('y' FROM s) > 'ab';
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 2 100.00 Using where
Warnings:
-Note 1003 select `test`.`t1`.`s` AS `s` from `test`.`t1` where (trim(both _latin1'y' from `test`.`t1`.`s`) > _latin1'ab')
+Note 1003 select `test`.`t1`.`s` AS `s` from `test`.`t1` where (trim(both 'y' from `test`.`t1`.`s`) > 'ab')
EXPLAIN EXTENDED SELECT s FROM t1 WHERE TRIM(LEADING 'y' FROM s) > 'ab';
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 2 100.00 Using where
Warnings:
-Note 1003 select `test`.`t1`.`s` AS `s` from `test`.`t1` where (trim(leading _latin1'y' from `test`.`t1`.`s`) > _latin1'ab')
+Note 1003 select `test`.`t1`.`s` AS `s` from `test`.`t1` where (trim(leading 'y' from `test`.`t1`.`s`) > 'ab')
EXPLAIN EXTENDED SELECT s FROM t1 WHERE TRIM(TRAILING 'y' FROM s) > 'ab';
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 2 100.00 Using where
Warnings:
-Note 1003 select `test`.`t1`.`s` AS `s` from `test`.`t1` where (trim(trailing _latin1'y' from `test`.`t1`.`s`) > _latin1'ab')
+Note 1003 select `test`.`t1`.`s` AS `s` from `test`.`t1` where (trim(trailing 'y' from `test`.`t1`.`s`) > 'ab')
EXPLAIN EXTENDED SELECT s FROM t1 WHERE TRIM(BOTH 'y' FROM s) > 'ab';
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 2 100.00 Using where
Warnings:
-Note 1003 select `test`.`t1`.`s` AS `s` from `test`.`t1` where (trim(both _latin1'y' from `test`.`t1`.`s`) > _latin1'ab')
+Note 1003 select `test`.`t1`.`s` AS `s` from `test`.`t1` where (trim(both 'y' from `test`.`t1`.`s`) > 'ab')
DROP TABLE t1;
create table t1(f1 varchar(4));
explain extended select encode(f1,'zxcv') as 'enc' from t1;
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 system NULL NULL NULL NULL 0 0.00 const row not found
Warnings:
-Note 1003 select encode('',_latin1'zxcv') AS `enc` from `test`.`t1`
+Note 1003 select encode('','zxcv') AS `enc` from `test`.`t1`
explain extended select decode(f1,'zxcv') as 'enc' from t1;
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 system NULL NULL NULL NULL 0 0.00 const row not found
Warnings:
-Note 1003 select decode('',_latin1'zxcv') AS `enc` from `test`.`t1`
+Note 1003 select decode('','zxcv') AS `enc` from `test`.`t1`
+drop table t1;
+create table t1 (a bigint not null)engine=myisam;
+insert into t1 set a = 1024*1024*1024*4;
+delete from t1 order by (inet_ntoa(a)) desc limit 10;
+drop table t1;
+create table t1 (a char(36) not null)engine=myisam;
+insert ignore into t1 set a = ' ';
+insert ignore into t1 set a = ' ';
+select * from t1 order by (oct(a));
+a
+
+
drop table t1;
End of 4.1 tests
create table t1 (d decimal default null);
@@ -1378,7 +1390,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t2 const PRIMARY PRIMARY 12 const 1 100.00 Using index
1 SIMPLE t1 ref code code 13 const 3 100.00 Using where; Using index
Warnings:
-Note 1003 select `test`.`t1`.`code` AS `code`,'a12' AS `id` from `test`.`t1` join `test`.`t2` where ((`test`.`t1`.`code` = _latin1'a12') and (length(`test`.`t1`.`code`) = 5))
+Note 1003 select `test`.`t1`.`code` AS `code`,'a12' AS `id` from `test`.`t1` join `test`.`t2` where ((`test`.`t1`.`code` = 'a12') and (length(`test`.`t1`.`code`) = 5))
DROP TABLE t1,t2;
select encode(NULL, NULL);
encode(NULL, NULL)
@@ -1419,6 +1431,11 @@ benchmark(100, NULL)
select benchmark(NULL, 1+1);
benchmark(NULL, 1+1)
NULL
+select benchmark(-1, 1);
+benchmark(-1, 1)
+NULL
+Warnings:
+Error 1411 Incorrect count value: '-1' for function benchmark
set @password="password";
set @my_data="clear text to encode";
select md5(encode(@my_data, "password"));
@@ -2486,4 +2503,14 @@ SUBSTR(a,1,len)
ba
DROP TABLE t1;
+CREATE TABLE t1 AS SELECT CHAR(0x414243) as c1;
+SELECT HEX(c1) from t1;
+HEX(c1)
+414243
+DROP TABLE t1;
+CREATE VIEW v1 AS SELECT CHAR(0x414243) as c1;
+SELECT HEX(c1) from v1;
+HEX(c1)
+414243
+DROP VIEW v1;
End of 5.0 tests
diff --git a/mysql-test/r/func_time.result b/mysql-test/r/func_time.result
index 044e1860e02..cc0fb88b791 100644
--- a/mysql-test/r/func_time.result
+++ b/mysql-test/r/func_time.result
@@ -666,6 +666,8 @@ timestampadd(SQL_TSI_SECOND, 1, date)
select timestampadd(SQL_TSI_FRAC_SECOND, 1, date) from t1;
timestampadd(SQL_TSI_FRAC_SECOND, 1, date)
2003-01-02 00:00:00.000001
+Warnings:
+Warning 1287 The syntax 'FRAC_SECOND' is deprecated and will be removed in MySQL 6.2. Please use MICROSECOND instead
select timestampdiff(MONTH, '2001-02-01', '2001-05-01') as a;
a
3
@@ -699,6 +701,8 @@ a
select timestampdiff(SQL_TSI_FRAC_SECOND, '2001-02-01 12:59:59.120000', '2001-05-01 12:58:58.119999') as a;
a
7689538999999
+Warnings:
+Warning 1287 The syntax 'FRAC_SECOND' is deprecated and will be removed in MySQL 6.2. Please use MICROSECOND instead
select timestampdiff(SQL_TSI_DAY, '1986-02-01', '1986-03-01') as a1,
timestampdiff(SQL_TSI_DAY, '1900-02-01', '1900-03-01') as a2,
timestampdiff(SQL_TSI_DAY, '1996-02-01', '1996-03-01') as a3,
@@ -839,7 +843,7 @@ explain extended select period_add("9602",-12),period_diff(199505,"9404"),from_d
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 period_add(_latin1'9602',-(12)) AS `period_add("9602",-12)`,period_diff(199505,_latin1'9404') AS `period_diff(199505,"9404")`,from_days(to_days(_latin1'960101')) AS `from_days(to_days("960101"))`,dayofmonth(_latin1'1997-01-02') AS `dayofmonth("1997-01-02")`,month(_latin1'1997-01-02') AS `month("1997-01-02")`,monthname(_latin1'1972-03-04') AS `monthname("1972-03-04")`,dayofyear(_latin1'0000-00-00') AS `dayofyear("0000-00-00")`,hour(_latin1'1997-03-03 23:03:22') AS `HOUR("1997-03-03 23:03:22")`,minute(_latin1'23:03:22') AS `MINUTE("23:03:22")`,second(230322) AS `SECOND(230322)`,quarter(980303) AS `QUARTER(980303)`,week(_latin1'1998-03-03',0) AS `WEEK("1998-03-03")`,yearweek(_latin1'2000-01-01',1) AS `yearweek("2000-01-01",1)`,week(19950101,1) AS `week(19950101,1)`,year(_latin1'98-02-03') AS `year("98-02-03")`,(weekday(curdate()) - weekday(now())) AS `weekday(curdate())-weekday(now())`,dayname(_latin1'1962-03-03') AS `dayname("1962-03-03")`,unix_timestamp() AS `unix_timestamp()`,sec_to_time((time_to_sec(_latin1'0:30:47') / 6.21)) AS `sec_to_time(time_to_sec("0:30:47")/6.21)`,curtime() AS `curtime()`,utc_time() AS `utc_time()`,curdate() AS `curdate()`,utc_date() AS `utc_date()`,utc_timestamp() AS `utc_timestamp()`,date_format(_latin1'1997-01-02 03:04:05',_latin1'%M %W %D %Y %y %m %d %h %i %s %w') AS `date_format("1997-01-02 03:04:05", "%M %W %D %Y %y %m %d %h %i %s %w")`,from_unixtime(unix_timestamp(_latin1'1994-03-02 10:11:12')) AS `from_unixtime(unix_timestamp("1994-03-02 10:11:12"))`,(_latin1'1997-12-31 23:59:59' + interval 1 second) AS `"1997-12-31 23:59:59" + INTERVAL 1 SECOND`,(_latin1'1998-01-01 00:00:00' - interval 1 second) AS `"1998-01-01 00:00:00" - INTERVAL 1 SECOND`,(_latin1'1997-12-31' + interval 1 day) AS `INTERVAL 1 DAY + "1997-12-31"`,extract(year from _latin1'1999-01-02 10:11:12') AS `extract(YEAR FROM "1999-01-02 10:11:12")`,(_latin1'1997-12-31 23:59:59' + interval 1 second) AS `date_add("1997-12-31 23:59:59",INTERVAL 1 SECOND)`
+Note 1003 select period_add('9602',-(12)) AS `period_add("9602",-12)`,period_diff(199505,'9404') AS `period_diff(199505,"9404")`,from_days(to_days('960101')) AS `from_days(to_days("960101"))`,dayofmonth('1997-01-02') AS `dayofmonth("1997-01-02")`,month('1997-01-02') AS `month("1997-01-02")`,monthname('1972-03-04') AS `monthname("1972-03-04")`,dayofyear('0000-00-00') AS `dayofyear("0000-00-00")`,hour('1997-03-03 23:03:22') AS `HOUR("1997-03-03 23:03:22")`,minute('23:03:22') AS `MINUTE("23:03:22")`,second(230322) AS `SECOND(230322)`,quarter(980303) AS `QUARTER(980303)`,week('1998-03-03',0) AS `WEEK("1998-03-03")`,yearweek('2000-01-01',1) AS `yearweek("2000-01-01",1)`,week(19950101,1) AS `week(19950101,1)`,year('98-02-03') AS `year("98-02-03")`,(weekday(curdate()) - weekday(now())) AS `weekday(curdate())-weekday(now())`,dayname('1962-03-03') AS `dayname("1962-03-03")`,unix_timestamp() AS `unix_timestamp()`,sec_to_time((time_to_sec('0:30:47') / 6.21)) AS `sec_to_time(time_to_sec("0:30:47")/6.21)`,curtime() AS `curtime()`,utc_time() AS `utc_time()`,curdate() AS `curdate()`,utc_date() AS `utc_date()`,utc_timestamp() AS `utc_timestamp()`,date_format('1997-01-02 03:04:05','%M %W %D %Y %y %m %d %h %i %s %w') AS `date_format("1997-01-02 03:04:05", "%M %W %D %Y %y %m %d %h %i %s %w")`,from_unixtime(unix_timestamp('1994-03-02 10:11:12')) AS `from_unixtime(unix_timestamp("1994-03-02 10:11:12"))`,('1997-12-31 23:59:59' + interval 1 second) AS `"1997-12-31 23:59:59" + INTERVAL 1 SECOND`,('1998-01-01 00:00:00' - interval 1 second) AS `"1998-01-01 00:00:00" - INTERVAL 1 SECOND`,('1997-12-31' + interval 1 day) AS `INTERVAL 1 DAY + "1997-12-31"`,extract(year from '1999-01-02 10:11:12') AS `extract(YEAR FROM "1999-01-02 10:11:12")`,('1997-12-31 23:59:59' + interval 1 second) AS `date_add("1997-12-31 23:59:59",INTERVAL 1 SECOND)`
SET @TMP='2007-08-01 12:22:49';
CREATE TABLE t1 (d DATETIME);
INSERT INTO t1 VALUES ('2007-08-01 12:22:59');
@@ -1027,6 +1031,15 @@ fmtddate field2
Sep-4 12:00AM abcd
DROP TABLE testBug8868;
SET NAMES DEFAULT;
+CREATE TABLE t1 (
+a TIMESTAMP
+);
+INSERT INTO t1 VALUES (now()), (now());
+SELECT 1 FROM t1 ORDER BY MAKETIME(1, 1, a);
+1
+1
+1
+DROP TABLE t1;
(select time_format(timediff(now(), DATE_SUB(now(),INTERVAL 5 DAY)),'%H') As H)
union
(select time_format(timediff(now(), DATE_SUB(now(),INTERVAL 5 DAY)),'%H') As H);
@@ -1060,7 +1073,8 @@ timestampdiff(SQL_TSI_FRAC_SECOND, '2001-02-01 12:59:59.120000', '2001-05-01 12:
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 timestampdiff(WEEK,_latin1'2001-02-01',_latin1'2001-05-01') AS `a1`,timestampdiff(SECOND_FRAC,_latin1'2001-02-01 12:59:59.120000',_latin1'2001-05-01 12:58:58.119999') AS `a2`
+Warning 1287 The syntax 'FRAC_SECOND' is deprecated and will be removed in MySQL 6.2. Please use MICROSECOND instead
+Note 1003 select timestampdiff(WEEK,'2001-02-01','2001-05-01') AS `a1`,timestampdiff(SECOND_FRAC,'2001-02-01 12:59:59.120000','2001-05-01 12:58:58.119999') AS `a2`
select time_format('100:00:00', '%H %k %h %I %l');
time_format('100:00:00', '%H %k %h %I %l')
100 100 04 04 4
@@ -1222,6 +1236,54 @@ SELECT TIME_FORMAT(SEC_TO_TIME(a),"%H:%i:%s") FROM (SELECT 3020399 AS a UNION SE
TIME_FORMAT(SEC_TO_TIME(a),"%H:%i:%s")
838:59:58
838:59:59
+set names latin1;
+create table t1 (a varchar(15) character set ascii not null);
+insert into t1 values ('070514-000000');
+select concat(a,ifnull(min(date_format(now(), '%Y-%m-%d')),' ull')) from t1;
+concat(a,ifnull(min(date_format(now(), '%Y-%m-%d')),' ull'))
+#
+set names swe7;
+select concat(a,ifnull(min(date_format(now(), '%Y-%m-%d')),' ull')) from t1;
+ERROR HY000: Illegal mix of collations (ascii_general_ci,IMPLICIT) and (swe7_swedish_ci,COERCIBLE) for operation 'concat'
+set names latin1;
+set lc_time_names=fr_FR;
+select concat(a,ifnull(min(date_format(now(), '%Y-%m-%d')),' ull')) from t1;
+ERROR HY000: Illegal mix of collations (ascii_general_ci,IMPLICIT) and (latin1_swedish_ci,COERCIBLE) for operation 'concat'
+set lc_time_names=en_US;
+drop table t1;
+select DATE_ADD('20071108181000', INTERVAL 1 DAY);
+DATE_ADD('20071108181000', INTERVAL 1 DAY)
+2007-11-09 18:10:00
+select DATE_ADD(20071108181000, INTERVAL 1 DAY);
+DATE_ADD(20071108181000, INTERVAL 1 DAY)
+2007-11-09 18:10:00
+select DATE_ADD('20071108', INTERVAL 1 DAY);
+DATE_ADD('20071108', INTERVAL 1 DAY)
+2007-11-09
+select DATE_ADD(20071108, INTERVAL 1 DAY);
+DATE_ADD(20071108, INTERVAL 1 DAY)
+2007-11-09
+select LAST_DAY('2007-12-06 08:59:19.05') - INTERVAL 1 SECOND;
+LAST_DAY('2007-12-06 08:59:19.05') - INTERVAL 1 SECOND
+2007-12-30 23:59:59
+SELECT TIMESTAMPADD(FRAC_SECOND, 1, '2008-02-18');
+TIMESTAMPADD(FRAC_SECOND, 1, '2008-02-18')
+2008-02-18 00:00:00.000001
+Warnings:
+Warning 1287 The syntax 'FRAC_SECOND' is deprecated and will be removed in MySQL 6.2. Please use MICROSECOND instead
+SELECT TIMESTAMPDIFF(FRAC_SECOND, '2008-02-17', '2008-02-18');
+TIMESTAMPDIFF(FRAC_SECOND, '2008-02-17', '2008-02-18')
+86400000000
+Warnings:
+Warning 1287 The syntax 'FRAC_SECOND' is deprecated and will be removed in MySQL 6.2. Please use MICROSECOND instead
+SELECT DATE_ADD('2008-02-18', INTERVAL 1 FRAC_SECOND);
+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 'FRAC_SECOND)' at line 1
+SELECT DATE_SUB('2008-02-18', INTERVAL 1 FRAC_SECOND);
+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 'FRAC_SECOND)' at line 1
+SELECT '2008-02-18' + INTERVAL 1 FRAC_SECOND;
+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 'FRAC_SECOND' at line 1
+SELECT '2008-02-18' - INTERVAL 1 FRAC_SECOND;
+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 'FRAC_SECOND' at line 1
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)
diff --git a/mysql-test/r/gis-rtree.result b/mysql-test/r/gis-rtree.result
index 6e3aebe8d47..f8e0085bf59 100644
--- a/mysql-test/r/gis-rtree.result
+++ b/mysql-test/r/gis-rtree.result
@@ -167,7 +167,7 @@ count(*)
150
EXPLAIN SELECT fid, AsText(g) FROM t1 WHERE Within(g, GeomFromText('Polygon((140 140,160 140,160 160,140 160,140 140))'));
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range g g 32 NULL 8 Using where
+1 SIMPLE t1 range g g 34 NULL 8 Using where
SELECT fid, AsText(g) FROM t1 WHERE Within(g, GeomFromText('Polygon((140 140,160 140,160 160,140 160,140 140))'));
fid AsText(g)
1 LINESTRING(150 150,150 150)
@@ -301,7 +301,7 @@ count(*)
EXPLAIN SELECT fid, AsText(g) FROM t2 WHERE Within(g,
GeomFromText('Polygon((40 40,60 40,60 60,40 60,40 40))'));
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t2 range g g 32 NULL 4 Using where
+1 SIMPLE t2 range g g 34 NULL 4 Using where
SELECT fid, AsText(g) FROM t2 WHERE Within(g,
GeomFromText('Polygon((40 40,60 40,60 60,40 60,40 40))'));
fid AsText(g)
@@ -1425,6 +1425,37 @@ CHECK TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
test.t1 check status OK
DROP TABLE t1;
+create table t1 (a geometry not null, spatial index(a));
+insert into t1 values (PointFromWKB(POINT(1.1517219314031e+164, 131072)));
+insert into t1 values (PointFromWKB(POINT(9.1248812352444e+192, 2.9740338169556e+284)));
+insert into t1 values (PointFromWKB(POINT(4.7783097267365e-299, -0)));
+insert into t1 values (PointFromWKB(POINT(1.49166814624e-154, 2.0880974297595e-53)));
+insert into t1 values (PointFromWKB(POINT(4.0917382598702e+149, 1.2024538023802e+111)));
+insert into t1 values (PointFromWKB(POINT(2.0349165139404e+236, 2.9993936277913e-241)));
+insert into t1 values (PointFromWKB(POINT(2.5243548967072e-29, 1.2024538023802e+111)));
+insert into t1 values (PointFromWKB(POINT(0, 6.9835074892995e-251)));
+insert into t1 values (PointFromWKB(POINT(2.0880974297595e-53, 3.1050361846014e+231)));
+insert into t1 values (PointFromWKB(POINT(2.8728483499323e-188, 2.4600631144627e+260)));
+insert into t1 values (PointFromWKB(POINT(3.0517578125e-05, 2.0349165139404e+236)));
+insert into t1 values (PointFromWKB(POINT(1.1517219314031e+164, 1.1818212630766e-125)));
+insert into t1 values (PointFromWKB(POINT(2.481040258324e-265, 5.7766220027675e-275)));
+insert into t1 values (PointFromWKB(POINT(2.0880974297595e-53, 2.5243548967072e-29)));
+insert into t1 values (PointFromWKB(POINT(5.7766220027675e-275, 9.9464647281957e+86)));
+insert into t1 values (PointFromWKB(POINT(2.2181357552967e+130, 3.7857669957337e-270)));
+insert into t1 values (PointFromWKB(POINT(4.5767114681874e-246, 3.6893488147419e+19)));
+insert into t1 values (PointFromWKB(POINT(4.5767114681874e-246, 3.7537584144024e+255)));
+insert into t1 values (PointFromWKB(POINT(3.7857669957337e-270, 1.8033161362863e-130)));
+insert into t1 values (PointFromWKB(POINT(0, 5.8774717541114e-39)));
+insert into t1 values (PointFromWKB(POINT(1.1517219314031e+164, 2.2761049594727e-159)));
+insert into t1 values (PointFromWKB(POINT(6.243497100632e+144, 3.7857669957337e-270)));
+insert into t1 values (PointFromWKB(POINT(3.7857669957337e-270, 2.6355494858076e-82)));
+insert into t1 values (PointFromWKB(POINT(2.0349165139404e+236, 3.8518598887745e-34)));
+insert into t1 values (PointFromWKB(POINT(4.6566128730774e-10, 2.0880974297595e-53)));
+insert into t1 values (PointFromWKB(POINT(2.0880974297595e-53, 1.8827498946116e-183)));
+insert into t1 values (PointFromWKB(POINT(1.8033161362863e-130, 9.1248812352444e+192)));
+insert into t1 values (PointFromWKB(POINT(4.7783097267365e-299, 2.2761049594727e-159)));
+insert into t1 values (PointFromWKB(POINT(1.94906280228e+289, 1.2338789709327e-178)));
+drop table t1;
CREATE TABLE t1(foo GEOMETRY NOT NULL, SPATIAL INDEX(foo) );
INSERT INTO t1(foo) VALUES (NULL);
ERROR 23000: Column 'foo' cannot be null
diff --git a/mysql-test/r/gis.result b/mysql-test/r/gis.result
index f68559fa8ea..d91e21e9399 100644
--- a/mysql-test/r/gis.result
+++ b/mysql-test/r/gis.result
@@ -9,35 +9,35 @@ CREATE TABLE gis_geometrycollection (fid INTEGER NOT NULL PRIMARY KEY, g GEOMET
CREATE TABLE gis_geometry (fid INTEGER NOT NULL PRIMARY KEY, g GEOMETRY);
SHOW FIELDS FROM gis_point;
Field Type Null Key Default Extra
-fid int(11) NO PRI
+fid int(11) NO PRI NULL
g point YES NULL
SHOW FIELDS FROM gis_line;
Field Type Null Key Default Extra
-fid int(11) NO PRI
+fid int(11) NO PRI NULL
g linestring YES NULL
SHOW FIELDS FROM gis_polygon;
Field Type Null Key Default Extra
-fid int(11) NO PRI
+fid int(11) NO PRI NULL
g polygon YES NULL
SHOW FIELDS FROM gis_multi_point;
Field Type Null Key Default Extra
-fid int(11) NO PRI
+fid int(11) NO PRI NULL
g multipoint YES NULL
SHOW FIELDS FROM gis_multi_line;
Field Type Null Key Default Extra
-fid int(11) NO PRI
+fid int(11) NO PRI NULL
g multilinestring YES NULL
SHOW FIELDS FROM gis_multi_polygon;
Field Type Null Key Default Extra
-fid int(11) NO PRI
+fid int(11) NO PRI NULL
g multipolygon YES NULL
SHOW FIELDS FROM gis_geometrycollection;
Field Type Null Key Default Extra
-fid int(11) NO PRI
+fid int(11) NO PRI NULL
g geometrycollection YES NULL
SHOW FIELDS FROM gis_geometry;
Field Type Null Key Default Extra
-fid int(11) NO PRI
+fid int(11) NO PRI NULL
g geometry YES NULL
INSERT INTO gis_point VALUES
(101, PointFromText('POINT(10 10)')),
@@ -430,7 +430,7 @@ mln multilinestring YES NULL
mpg multipolygon YES NULL
gc geometrycollection YES NULL
gm geometry YES NULL
-fid int(11) NO
+fid int(11) NO NULL
DROP TABLE t1;
SELECT AsText(GeometryFromWKB(AsWKB(GeometryFromText('POINT(1 4)'))));
AsText(GeometryFromWKB(AsWKB(GeometryFromText('POINT(1 4)'))))
@@ -439,12 +439,12 @@ explain extended SELECT AsText(GeometryFromWKB(AsWKB(GeometryFromText('POINT(1 4
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 astext(geometryfromwkb(aswkb(geometryfromtext(_latin1'POINT(1 4)')))) AS `AsText(GeometryFromWKB(AsWKB(GeometryFromText('POINT(1 4)'))))`
+Note 1003 select astext(geometryfromwkb(aswkb(geometryfromtext('POINT(1 4)')))) AS `AsText(GeometryFromWKB(AsWKB(GeometryFromText('POINT(1 4)'))))`
explain extended SELECT AsText(GeometryFromWKB(AsWKB(PointFromText('POINT(1 4)'))));
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 astext(geometryfromwkb(aswkb(geometryfromtext(_latin1'POINT(1 4)')))) AS `AsText(GeometryFromWKB(AsWKB(PointFromText('POINT(1 4)'))))`
+Note 1003 select astext(geometryfromwkb(aswkb(geometryfromtext('POINT(1 4)')))) AS `AsText(GeometryFromWKB(AsWKB(PointFromText('POINT(1 4)'))))`
SELECT SRID(GeomFromText('LineString(1 1,2 2)',101));
SRID(GeomFromText('LineString(1 1,2 2)',101))
101
@@ -452,7 +452,7 @@ explain extended SELECT SRID(GeomFromText('LineString(1 1,2 2)',101));
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 srid(geometryfromtext(_latin1'LineString(1 1,2 2)',101)) AS `SRID(GeomFromText('LineString(1 1,2 2)',101))`
+Note 1003 select srid(geometryfromtext('LineString(1 1,2 2)',101)) AS `SRID(GeomFromText('LineString(1 1,2 2)',101))`
explain extended select issimple(MultiPoint(Point(3, 6), Point(4, 10))), issimple(Point(3, 6));
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
@@ -680,7 +680,7 @@ def test t1 t1 g g 255 4294967295 0 Y 144 0 63
g
select asbinary(g) from t1;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def asbinary(g) 252 16777216 0 Y 128 0 63
+def asbinary(g) 252 4294967295 0 Y 128 0 63
asbinary(g)
drop table t1;
create table t1 (a TEXT, b GEOMETRY NOT NULL, SPATIAL KEY(b));
@@ -736,6 +736,44 @@ SELECT * FROM t1;
a
NULL
DROP TABLE t1;
+CREATE TABLE `t1` ( `col9` set('a'), `col89` date);
+INSERT INTO `t1` VALUES ('','0000-00-00');
+select geomfromtext(col9,col89) as a from t1;
+a
+NULL
+DROP TABLE t1;
+CREATE TABLE t1 (
+geomdata polygon NOT NULL,
+SPATIAL KEY index_geom (geomdata)
+) ENGINE=MyISAM DEFAULT CHARSET=latin2 DELAY_KEY_WRITE=1 ROW_FORMAT=FIXED;
+CREATE TABLE t2 (
+geomdata polygon NOT NULL,
+SPATIAL KEY index_geom (geomdata)
+) ENGINE=MyISAM DEFAULT CHARSET=latin2 DELAY_KEY_WRITE=1 ROW_FORMAT=FIXED;
+CREATE TABLE t3
+select
+aswkb(ws.geomdata) AS geomdatawkb
+from
+t1 ws
+union
+select
+aswkb(ws.geomdata) AS geomdatawkb
+from
+t2 ws;
+describe t3;
+Field Type Null Key Default Extra
+geomdatawkb longblob YES NULL
+drop table t1;
+drop table t2;
+drop table t3;
+create table t1(col1 geometry default null,col15 geometrycollection not
+null,spatial index(col15),index(col1(15)))engine=myisam;
+insert into t1 set col15 = GeomFromText('POINT(6 5)');
+insert into t1 set col15 = GeomFromText('POINT(6 5)');
+check table t1 extended;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+drop table t1;
End of 4.1 tests
create table t1 (s1 geometry not null,s2 char(100));
create trigger t1_bu before update on t1 for each row set new.s1 = null;
@@ -889,6 +927,51 @@ drop table t1, t2;
SELECT 1;
1
1
+CREATE TABLE t1 (p POINT);
+CREATE TABLE t2 (p POINT, INDEX(p));
+INSERT INTO t1 VALUES (POINTFROMTEXT('POINT(1 2)'));
+INSERT INTO t2 VALUES (POINTFROMTEXT('POINT(1 2)'));
+SELECT COUNT(*) FROM t1 WHERE p=POINTFROMTEXT('POINT(1 2)');
+COUNT(*)
+1
+EXPLAIN
+SELECT COUNT(*) FROM t2 WHERE p=POINTFROMTEXT('POINT(1 2)');
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 system p NULL NULL NULL 1
+SELECT COUNT(*) FROM t2 WHERE p=POINTFROMTEXT('POINT(1 2)');
+COUNT(*)
+1
+INSERT INTO t1 VALUES (POINTFROMTEXT('POINT(1 2)'));
+INSERT INTO t2 VALUES (POINTFROMTEXT('POINT(1 2)'));
+EXPLAIN
+SELECT COUNT(*) FROM t1 WHERE p=POINTFROMTEXT('POINT(1 2)');
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 2 Using where
+SELECT COUNT(*) FROM t1 WHERE p=POINTFROMTEXT('POINT(1 2)');
+COUNT(*)
+2
+EXPLAIN
+SELECT COUNT(*) FROM t2 WHERE p=POINTFROMTEXT('POINT(1 2)');
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 ref p p 28 const 1 Using where
+SELECT COUNT(*) FROM t2 WHERE p=POINTFROMTEXT('POINT(1 2)');
+COUNT(*)
+2
+EXPLAIN
+SELECT COUNT(*) FROM t2 IGNORE INDEX(p) WHERE p=POINTFROMTEXT('POINT(1 2)');
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 ALL NULL NULL NULL NULL 2 Using where
+SELECT COUNT(*) FROM t2 IGNORE INDEX(p) WHERE p=POINTFROMTEXT('POINT(1 2)');
+COUNT(*)
+2
+DROP TABLE t1, t2;
+End of 5.0 tests
+create table `t1` (`col002` point)engine=myisam;
+insert into t1 values (),(),();
+select min(`col002`) from t1 union select `col002` from t1;
+min(`col002`)
+NULL
+drop table t1;
End of 5.0 tests
create table t1 (f1 tinyint(1), f2 char(1), f3 varchar(1), f4 geometry, f5 datetime);
create view v1 as select * from t1;
diff --git a/mysql-test/r/grant.result b/mysql-test/r/grant.result
index 0d4dad39882..a56cce50259 100644
--- a/mysql-test/r/grant.result
+++ b/mysql-test/r/grant.result
@@ -529,7 +529,7 @@ Db char(64) NO PRI
User char(16) NO PRI
Table_name char(64) NO PRI
Grantor char(77) NO MUL
-Timestamp timestamp NO CURRENT_TIMESTAMP
+Timestamp timestamp NO CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP
Table_priv set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view','Trigger') NO
Column_priv set('Select','Insert','Update','References') NO
use test;
@@ -1194,6 +1194,7 @@ ERROR 42000: SELECT command denied to user 'mysqltest_2'@'localhost' for table '
DROP DATABASE mysqltest1;
DROP DATABASE mysqltest2;
DROP USER mysqltest_1@localhost;
+DROP USER mysqltest_2@localhost;
use test;
CREATE TABLE t1 (f1 int, f2 int);
INSERT INTO t1 VALUES(1,1), (2,2);
@@ -1210,9 +1211,35 @@ SELECT * FROM test.t1;
f1 f2
1 1
2 2
+REVOKE UPDATE (f1) ON `test`.`t1` FROM 'mysqltest_1'@'localhost';
+REVOKE SELECT ON `test`.* FROM 'mysqltest_1'@'localhost';
+REVOKE ALL ON db27878.* FROM 'mysqltest_1'@'localhost';
+DROP USER mysqltest_1@localhost;
DROP DATABASE db27878;
use test;
DROP TABLE t1;
+drop table if exists test;
+Warnings:
+Note 1051 Unknown table 'test'
+drop function if exists test_function;
+Warnings:
+Note 1305 FUNCTION test_function does not exist
+drop view if exists v1;
+Warnings:
+Note 1051 Unknown table 'test.v1'
+create table test (col1 varchar(30));
+create function test_function() returns varchar(30)
+begin
+declare tmp varchar(30);
+select col1 from test limit 1 into tmp;
+return '1';
+end|
+create view v1 as select test.* from test where test.col1=test_function();
+grant update (col1) on v1 to 'greg'@'localhost';
+drop user 'greg'@'localhost';
+drop view v1;
+drop table test;
+drop function test_function;
End of 5.0 tests
set names utf8;
grant select on test.* to юзер_юзер@localhost;
@@ -1223,3 +1250,99 @@ drop user юзер_юзер@localhost;
grant select on test.* to очень_длинный_юзер@localhost;
ERROR HY000: String 'очень_длинный_юзер' is too long for user name (should be no longer than 16)
set names default;
+create database mysqltest;
+use mysqltest;
+grant create on mysqltest.* to mysqltest@localhost;
+create table t1 (i INT);
+insert into t1 values (1);
+ERROR 42000: INSERT command denied to user 'mysqltest'@'localhost' for table 't1'
+create table t2 (i INT);
+create table t4 (i INT);
+grant select, insert on mysqltest.t2 to mysqltest@localhost;
+grant insert on mysqltest.t4 to mysqltest@localhost;
+grant create, insert on mysqltest.t5 to mysqltest@localhost;
+grant create, insert on mysqltest.t6 to mysqltest@localhost;
+flush privileges;
+insert into t2 values (1);
+create table if not exists t1 select * from t2;
+ERROR 42000: INSERT command denied to user 'mysqltest'@'localhost' for table 't1'
+create table if not exists t3 select * from t2;
+ERROR 42000: INSERT command denied to user 'mysqltest'@'localhost' for table 't3'
+create table if not exists t4 select * from t2;
+Warnings:
+Note 1050 Table 't4' already exists
+create table if not exists t5 select * from t2;
+create table t6 select * from t2;
+create table t7 select * from t2;
+ERROR 42000: INSERT command denied to user 'mysqltest'@'localhost' for table 't7'
+create table t4 select * from t2;
+ERROR 42S01: Table 't4' already exists
+create table t1 select * from t2;
+ERROR 42000: INSERT command denied to user 'mysqltest'@'localhost' for table 't1'
+drop table t1,t2,t4,t5,t6;
+revoke create on mysqltest.* from mysqltest@localhost;
+revoke select, insert on mysqltest.t2 from mysqltest@localhost;
+revoke insert on mysqltest.t4 from mysqltest@localhost;
+revoke create, insert on mysqltest.t5 from mysqltest@localhost;
+revoke create, insert on mysqltest.t6 from mysqltest@localhost;
+drop user mysqltest@localhost;
+drop database mysqltest;
+use test;
+FLUSH PRIVILEGES without procs_priv table.
+RENAME TABLE mysql.procs_priv TO mysql.procs_gone;
+FLUSH PRIVILEGES;
+ERROR 42S02: Table 'mysql.procs_priv' doesn't exist
+Assigning privileges without procs_priv table.
+CREATE DATABASE mysqltest1;
+CREATE PROCEDURE mysqltest1.test() SQL SECURITY DEFINER
+SELECT 1;
+GRANT EXECUTE ON FUNCTION mysqltest1.test TO mysqltest_1@localhost;
+ERROR 42S02: Table 'mysql.procs_priv' doesn't exist
+GRANT ALL PRIVILEGES ON test.* TO mysqltest_1@localhost;
+CALL mysqltest1.test();
+1
+1
+DROP DATABASE mysqltest1;
+RENAME TABLE mysql.procs_gone TO mysql.procs_priv;
+DROP USER mysqltest_1@localhost;
+FLUSH PRIVILEGES;
+CREATE DATABASE dbbug33464;
+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';
+END//
+CREATE FUNCTION fn1() returns char(50) SQL SECURITY INVOKER
+BEGIN
+return 1;
+END//
+CREATE FUNCTION fn2() returns char(50) SQL SECURITY DEFINER
+BEGIN
+return 2;
+END//
+USE dbbug33464;
+
+root@localhost dbbug33464
+SELECT fn1();
+fn1()
+1
+SELECT fn2();
+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;
+DROP DATABASE dbbug33464;
+End of 5.1 tests
diff --git a/mysql-test/r/grant2.result b/mysql-test/r/grant2.result
index 21bad4fddcb..b94de265d0c 100644
--- a/mysql-test/r/grant2.result
+++ b/mysql-test/r/grant2.result
@@ -422,4 +422,22 @@ revoke all privileges, grant option from mysqltest_1@localhost;
revoke all privileges, grant option from mysqltest_2@localhost;
drop user mysqltest_1@localhost;
drop user mysqltest_2@localhost;
+CREATE DATABASE db1;
+USE db1;
+CREATE TABLE t1 (a INT, b INT);
+INSERT INTO t1 VALUES (1,1),(2,2);
+CREATE TABLE t2 (b INT, c INT);
+INSERT INTO t2 VALUES (1,100),(2,200);
+GRANT SELECT ON t1 TO mysqltest1@localhost;
+GRANT SELECT (b) ON t2 TO mysqltest1@localhost;
+USE db1;
+SELECT c FROM t2;
+ERROR 42000: SELECT command denied to user 'mysqltest1'@'localhost' for column 'c' in table 't2'
+SELECT * FROM t2;
+ERROR 42000: SELECT command denied to user 'mysqltest1'@'localhost' for column 'c' in table 't2'
+SELECT * FROM t1 JOIN t2 USING (b);
+ERROR 42000: SELECT command denied to user 'mysqltest1'@'localhost' for column 'c' in table 't2'
+DROP TABLE db1.t1, db1.t2;
+DROP USER mysqltest1@localhost;
+DROP DATABASE db1;
End of 5.0 tests
diff --git a/mysql-test/r/grant3.result b/mysql-test/r/grant3.result
index 6193c4fd49d..f38848111ad 100644
--- a/mysql-test/r/grant3.result
+++ b/mysql-test/r/grant3.result
@@ -16,3 +16,142 @@ delete from mysql.db where user like 'mysqltest\_%';
delete from mysql.tables_priv where user like 'mysqltest\_%';
delete from mysql.columns_priv where user like 'mysqltest\_%';
flush privileges;
+grant select on test.* to CUser@localhost;
+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;
+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;
+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;
+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';
+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;
+CREATE DATABASE mysqltest_1;
+CREATE TABLE mysqltest_1.t1 (a INT);
+CREATE USER 'mysqltest1'@'%';
+GRANT SELECT, UPDATE ON `mysqltest_1`.* TO 'mysqltest1'@'%';
+REVOKE SELECT ON `mysqltest_1`.* FROM 'mysqltest1'@'%';
+GRANT SELECT, UPDATE ON `mysqltest\_1`.* TO 'mysqltest1'@'%';
+FLUSH PRIVILEGES;
+SHOW GRANTS;
+Grants for mysqltest1@%
+GRANT USAGE ON *.* TO 'mysqltest1'@'%'
+GRANT SELECT, UPDATE ON `mysqltest\_1`.* TO 'mysqltest1'@'%'
+GRANT UPDATE ON `mysqltest_1`.* TO 'mysqltest1'@'%'
+SELECT * FROM mysqltest_1.t1;
+a
+DROP USER 'mysqltest1'@'%';
+DROP DATABASE mysqltest_1;
+End of 5.0 tests
diff --git a/mysql-test/r/group_by.result b/mysql-test/r/group_by.result
index faa1bc1d661..268f290ddca 100644
--- a/mysql-test/r/group_by.result
+++ b/mysql-test/r/group_by.result
@@ -1064,6 +1064,71 @@ select t1.f1,t.* from t1, t1 t group by 1;
ERROR 42000: 'test.t.f1' isn't in GROUP BY
drop table t1;
SET SQL_MODE = '';
+CREATE TABLE t1(
+id INT AUTO_INCREMENT PRIMARY KEY,
+c1 INT NOT NULL,
+c2 INT NOT NULL,
+UNIQUE KEY (c2,c1));
+INSERT INTO t1(c1,c2) VALUES (5,1), (4,1), (3,5), (2,3), (1,3);
+SELECT * FROM t1 ORDER BY c1;
+id c1 c2
+5 1 3
+4 2 3
+3 3 5
+2 4 1
+1 5 1
+SELECT * FROM t1 GROUP BY id ORDER BY c1;
+id c1 c2
+5 1 3
+4 2 3
+3 3 5
+2 4 1
+1 5 1
+SELECT * FROM t1 GROUP BY id ORDER BY id DESC;
+id c1 c2
+5 1 3
+4 2 3
+3 3 5
+2 4 1
+1 5 1
+SELECT * FROM t1 GROUP BY c2 ,c1, id ORDER BY c2, c1;
+id c1 c2
+2 4 1
+1 5 1
+5 1 3
+4 2 3
+3 3 5
+SELECT * FROM t1 GROUP BY c2, c1, id ORDER BY c2 DESC, c1;
+id c1 c2
+3 3 5
+5 1 3
+4 2 3
+2 4 1
+1 5 1
+SELECT * FROM t1 GROUP BY c2, c1, id ORDER BY c2 DESC, c1 DESC;
+id c1 c2
+3 3 5
+4 2 3
+5 1 3
+1 5 1
+2 4 1
+SELECT * FROM t1 GROUP BY c2 ORDER BY c2, c1;
+id c1 c2
+1 5 1
+4 2 3
+3 3 5
+SELECT * FROM t1 GROUP BY c2 ORDER BY c2 DESC, c1;
+id c1 c2
+3 3 5
+4 2 3
+1 5 1
+SELECT * FROM t1 GROUP BY c2 ORDER BY c2 DESC, c1 DESC;
+id c1 c2
+3 3 5
+4 2 3
+1 5 1
+DROP TABLE t1;
+End of 5.0 tests
CREATE TABLE t1 (a INT, b INT,
PRIMARY KEY (a),
KEY i2(a,b));
@@ -1096,7 +1161,153 @@ id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 index NULL PRIMARY 4 NULL 144 Using index
EXPLAIN SELECT a FROM t1 IGNORE INDEX FOR ORDER BY (PRIMARY,i2) ORDER BY a;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index NULL PRIMARY 4 NULL 144 Using index; Using filesort
+1 SIMPLE t1 index NULL PRIMARY 4 NULL 144 Using index
+SELECT a FROM t1 IGNORE INDEX FOR ORDER BY (PRIMARY,i2) ORDER BY a;
+a
+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
+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
+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
EXPLAIN SELECT a FROM t1 IGNORE INDEX FOR ORDER BY (PRIMARY)
IGNORE INDEX FOR GROUP BY (i2) GROUP BY a;
id select_type table type possible_keys key key_len ref rows Extra
@@ -1129,7 +1340,7 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
EXPLAIN SELECT a FROM t1 USE INDEX FOR JOIN (i2)
USE INDEX FOR GROUP BY (i2) GROUP BY a;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index NULL i2 9 NULL 144 Using index
+1 SIMPLE t1 # NULL i2 # NULL # #
EXPLAIN SELECT a FROM t1 FORCE INDEX FOR JOIN (i2)
FORCE INDEX FOR GROUP BY (i2) GROUP BY a;
id select_type table type possible_keys key key_len ref rows Extra
@@ -1161,7 +1372,7 @@ CREATE TABLE t2 (a INT, b INT, KEY(a));
INSERT INTO t2 VALUES (1, 1), (2, 2), (3,3), (4,4);
EXPLAIN SELECT a, SUM(b) FROM t2 GROUP BY a LIMIT 2;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t2 index NULL a 5 NULL 4
+1 SIMPLE t2 index NULL a 5 NULL 2
EXPLAIN SELECT a, SUM(b) FROM t2 IGNORE INDEX (a) GROUP BY a LIMIT 2;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 ALL NULL NULL NULL NULL 4 Using temporary; Using filesort
@@ -1176,3 +1387,130 @@ old OFF
SET @@old = off;
ERROR HY000: Variable 'old' is a read only variable
DROP TABLE t1, t2;
+CREATE TABLE t1(
+a INT,
+b INT NOT NULL,
+c INT NOT NULL,
+d INT,
+UNIQUE KEY (c,b)
+);
+INSERT INTO t1 VALUES (1,1,1,50), (1,2,3,40), (2,1,3,4);
+CREATE TABLE t2(
+a INT,
+b INT,
+UNIQUE KEY(a,b)
+);
+INSERT INTO t2 VALUES (NULL, NULL), (NULL, NULL), (NULL, 1), (1, NULL), (1, 1), (1,2);
+EXPLAIN SELECT c,b,d FROM t1 GROUP BY c,b,d;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 3 Using filesort
+SELECT c,b,d FROM t1 GROUP BY c,b,d;
+c b d
+1 1 50
+3 1 4
+3 2 40
+EXPLAIN SELECT c,b,d FROM t1 GROUP BY c,b,d ORDER BY NULL;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 3
+SELECT c,b,d FROM t1 GROUP BY c,b,d ORDER BY NULL;
+c b d
+1 1 50
+3 2 40
+3 1 4
+EXPLAIN SELECT c,b,d FROM t1 ORDER BY c,b,d;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 3 Using filesort
+SELECT c,b,d FROM t1 ORDER BY c,b,d;
+c b d
+1 1 50
+3 1 4
+3 2 40
+EXPLAIN SELECT c,b,d FROM t1 GROUP BY c,b;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 3 Using filesort
+SELECT c,b,d FROM t1 GROUP BY c,b;
+c b d
+1 1 50
+3 1 4
+3 2 40
+EXPLAIN SELECT c,b FROM t1 GROUP BY c,b;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index NULL c 8 NULL 3 Using index
+SELECT c,b FROM t1 GROUP BY c,b;
+c b
+1 1
+3 1
+3 2
+EXPLAIN SELECT a,b from t2 ORDER BY a,b;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 index NULL a 10 NULL 6 Using index
+SELECT a,b from t2 ORDER BY a,b;
+a b
+NULL NULL
+NULL NULL
+NULL 1
+1 NULL
+1 1
+1 2
+EXPLAIN SELECT a,b from t2 GROUP BY a,b;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 index NULL a 10 NULL 6 Using index
+SELECT a,b from t2 GROUP BY a,b;
+a b
+NULL NULL
+NULL 1
+1 NULL
+1 1
+1 2
+EXPLAIN SELECT a from t2 GROUP BY a;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 index NULL a 10 NULL 6 Using index
+SELECT a from t2 GROUP BY a;
+a
+NULL
+1
+EXPLAIN SELECT b from t2 GROUP BY b;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 index NULL a 10 NULL 6 Using index; Using temporary; Using filesort
+SELECT b from t2 GROUP BY b;
+b
+NULL
+1
+2
+DROP TABLE t1;
+CREATE TABLE t1 ( a INT, b INT );
+SELECT b c, (SELECT a FROM t1 WHERE b = c)
+FROM t1;
+c (SELECT a FROM t1 WHERE b = c)
+SELECT b c, (SELECT a FROM t1 WHERE b = c)
+FROM t1
+HAVING b = 10;
+c (SELECT a FROM t1 WHERE b = c)
+SELECT MAX(b) c, (SELECT a FROM t1 WHERE b = c)
+FROM t1
+HAVING b = 10;
+ERROR 42S22: Reference 'c' not supported (reference to group function)
+SET @old_sql_mode = @@sql_mode;
+SET @@sql_mode='ONLY_FULL_GROUP_BY';
+SELECT b c, (SELECT a FROM t1 WHERE b = c)
+FROM t1;
+c (SELECT a FROM t1 WHERE b = c)
+SELECT b c, (SELECT a FROM t1 WHERE b = c)
+FROM t1
+HAVING b = 10;
+ERROR 42000: non-grouping field 'b' is used in HAVING clause
+SELECT MAX(b) c, (SELECT a FROM t1 WHERE b = c)
+FROM t1
+HAVING b = 10;
+ERROR 42S22: Reference 'c' not supported (reference to group function)
+INSERT INTO t1 VALUES (1, 1);
+SELECT b c, (SELECT a FROM t1 WHERE b = c)
+FROM t1;
+c (SELECT a FROM t1 WHERE b = c)
+1 1
+INSERT INTO t1 VALUES (2, 1);
+SELECT b c, (SELECT a FROM t1 WHERE b = c)
+FROM t1;
+ERROR 21000: Subquery returns more than 1 row
+DROP TABLE t1;
+SET @@sql_mode = @old_sql_mode;
diff --git a/mysql-test/r/group_min_max.result b/mysql-test/r/group_min_max.result
index b6bf7260dc2..bdc8d586f4e 100644
--- a/mysql-test/r/group_min_max.result
+++ b/mysql-test/r/group_min_max.result
@@ -1562,7 +1562,7 @@ explain extended select distinct a1,a2,b,c from t1 where (a2 >= 'b') and (b = 'a
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 index NULL idx_t1_1 163 NULL 128 50.78 Using where; Using index
Warnings:
-Note 1003 select distinct `test`.`t1`.`a1` AS `a1`,`test`.`t1`.`a2` AS `a2`,`test`.`t1`.`b` AS `b`,`test`.`t1`.`c` AS `c` from `test`.`t1` where ((`test`.`t1`.`c` = _latin1'i121') and (`test`.`t1`.`b` = _latin1'a') and (`test`.`t1`.`a2` >= _latin1'b'))
+Note 1003 select distinct `test`.`t1`.`a1` AS `a1`,`test`.`t1`.`a2` AS `a2`,`test`.`t1`.`b` AS `b`,`test`.`t1`.`c` AS `c` from `test`.`t1` where ((`test`.`t1`.`c` = 'i121') and (`test`.`t1`.`b` = 'a') and (`test`.`t1`.`a2` >= 'b'))
explain select distinct a1,a2,b from t1 where (a1 > 'a') and (a2 > 'a') and (b = 'c');
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 range idx_t1_0,idx_t1_1,idx_t1_2 idx_t1_1 147 NULL 14 Using where; Using index for group-by
@@ -1579,7 +1579,7 @@ explain extended select distinct a1,a2,b,c from t2 where (a2 >= 'b') and (b = 'a
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t2 index NULL idx_t2_1 163 NULL 164 50.61 Using where; Using index
Warnings:
-Note 1003 select distinct `test`.`t2`.`a1` AS `a1`,`test`.`t2`.`a2` AS `a2`,`test`.`t2`.`b` AS `b`,`test`.`t2`.`c` AS `c` from `test`.`t2` where ((`test`.`t2`.`c` = _latin1'i121') and (`test`.`t2`.`b` = _latin1'a') and (`test`.`t2`.`a2` >= _latin1'b'))
+Note 1003 select distinct `test`.`t2`.`a1` AS `a1`,`test`.`t2`.`a2` AS `a2`,`test`.`t2`.`b` AS `b`,`test`.`t2`.`c` AS `c` from `test`.`t2` where ((`test`.`t2`.`c` = 'i121') and (`test`.`t2`.`b` = 'a') and (`test`.`t2`.`a2` >= 'b'))
explain select distinct a1,a2,b from t2 where (a1 > 'a') and (a2 > 'a') and (b = 'c');
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 range idx_t2_0,idx_t2_1,idx_t2_2 idx_t2_1 146 NULL # Using where; Using index for group-by
@@ -1808,7 +1808,7 @@ explain extended select count(distinct a1,a2,b) from t1 where (a1 > 'a') and (a2
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 index idx_t1_0,idx_t1_1,idx_t1_2 idx_t1_2 147 NULL 128 75.00 Using where; Using index
Warnings:
-Note 1003 select count(distinct `test`.`t1`.`a1`,`test`.`t1`.`a2`,`test`.`t1`.`b`) AS `count(distinct a1,a2,b)` from `test`.`t1` where ((`test`.`t1`.`b` = _latin1'c') and (`test`.`t1`.`a1` > _latin1'a') and (`test`.`t1`.`a2` > _latin1'a'))
+Note 1003 select count(distinct `test`.`t1`.`a1`,`test`.`t1`.`a2`,`test`.`t1`.`b`) AS `count(distinct a1,a2,b)` from `test`.`t1` where ((`test`.`t1`.`b` = 'c') and (`test`.`t1`.`a1` > 'a') and (`test`.`t1`.`a2` > 'a'))
explain select count(distinct b) from t1 where (a2 >= 'b') and (b = 'a');
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 index NULL idx_t1_2 147 NULL 128 Using where; Using index
@@ -1816,7 +1816,7 @@ explain extended select ord(a1) + count(distinct a1,a2,b) from t1 where (a1 > 'a
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 index idx_t1_0,idx_t1_1,idx_t1_2 idx_t1_2 147 NULL 128 75.00 Using where; Using index
Warnings:
-Note 1003 select (ord(`test`.`t1`.`a1`) + count(distinct `test`.`t1`.`a1`,`test`.`t1`.`a2`,`test`.`t1`.`b`)) AS `ord(a1) + count(distinct a1,a2,b)` from `test`.`t1` where ((`test`.`t1`.`a1` > _latin1'a') and (`test`.`t1`.`a2` > _latin1'a'))
+Note 1003 select (ord(`test`.`t1`.`a1`) + count(distinct `test`.`t1`.`a1`,`test`.`t1`.`a2`,`test`.`t1`.`b`)) AS `ord(a1) + count(distinct a1,a2,b)` from `test`.`t1` where ((`test`.`t1`.`a1` > 'a') and (`test`.`t1`.`a2` > 'a'))
select count(distinct a1,a2,b) from t1 where (a2 >= 'b') and (b = 'a');
count(distinct a1,a2,b)
4
@@ -1924,19 +1924,19 @@ where (a1 = 'b' or a1 = 'd' or a1 = 'a' or a1 = 'c') and (a2 > 'a') and (c > 'a1
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 range idx_t1_0,idx_t1_1,idx_t1_2 idx_t1_1 130 NULL 76 85.53 Using where; Using index
Warnings:
-Note 1003 select `test`.`t1`.`a1` AS `a1`,`test`.`t1`.`a2` AS `a2`,min(`test`.`t1`.`b`) AS `min(b)`,max(`test`.`t1`.`b`) AS `max(b)` from `test`.`t1` where (((`test`.`t1`.`a1` = _latin1'b') or (`test`.`t1`.`a1` = _latin1'd') or (`test`.`t1`.`a1` = _latin1'a') or (`test`.`t1`.`a1` = _latin1'c')) and (`test`.`t1`.`a2` > _latin1'a') and (`test`.`t1`.`c` > _latin1'a111')) group by `test`.`t1`.`a1`,`test`.`t1`.`a2`
+Note 1003 select `test`.`t1`.`a1` AS `a1`,`test`.`t1`.`a2` AS `a2`,min(`test`.`t1`.`b`) AS `min(b)`,max(`test`.`t1`.`b`) AS `max(b)` from `test`.`t1` where (((`test`.`t1`.`a1` = 'b') or (`test`.`t1`.`a1` = 'd') or (`test`.`t1`.`a1` = 'a') or (`test`.`t1`.`a1` = 'c')) and (`test`.`t1`.`a2` > 'a') and (`test`.`t1`.`c` > 'a111')) group by `test`.`t1`.`a1`,`test`.`t1`.`a2`
explain extended select a1,a2,b,min(c),max(c) from t1
where (a1 = 'b' or a1 = 'd' or a1 = 'a' or a1 = 'c') and (a2 > 'a') and (d > 'xy2') group by a1,a2,b;
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 ALL idx_t1_0,idx_t1_1,idx_t1_2 NULL NULL NULL 128 50.78 Using where; Using temporary; Using filesort
Warnings:
-Note 1003 select `test`.`t1`.`a1` AS `a1`,`test`.`t1`.`a2` AS `a2`,`test`.`t1`.`b` AS `b`,min(`test`.`t1`.`c`) AS `min(c)`,max(`test`.`t1`.`c`) AS `max(c)` from `test`.`t1` where (((`test`.`t1`.`a1` = _latin1'b') or (`test`.`t1`.`a1` = _latin1'd') or (`test`.`t1`.`a1` = _latin1'a') or (`test`.`t1`.`a1` = _latin1'c')) and (`test`.`t1`.`a2` > _latin1'a') and (`test`.`t1`.`d` > _latin1'xy2')) group by `test`.`t1`.`a1`,`test`.`t1`.`a2`,`test`.`t1`.`b`
+Note 1003 select `test`.`t1`.`a1` AS `a1`,`test`.`t1`.`a2` AS `a2`,`test`.`t1`.`b` AS `b`,min(`test`.`t1`.`c`) AS `min(c)`,max(`test`.`t1`.`c`) AS `max(c)` from `test`.`t1` where (((`test`.`t1`.`a1` = 'b') or (`test`.`t1`.`a1` = 'd') or (`test`.`t1`.`a1` = 'a') or (`test`.`t1`.`a1` = 'c')) and (`test`.`t1`.`a2` > 'a') and (`test`.`t1`.`d` > 'xy2')) group by `test`.`t1`.`a1`,`test`.`t1`.`a2`,`test`.`t1`.`b`
explain extended select a1,a2,b,c from t1
where (a1 = 'b' or a1 = 'd' or a1 = 'a' or a1 = 'c') and (a2 > 'a') and (d > 'xy2') group by a1,a2,b,c;
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 ALL idx_t1_0,idx_t1_1,idx_t1_2 NULL NULL NULL 128 50.78 Using where; Using temporary; Using filesort
Warnings:
-Note 1003 select `test`.`t1`.`a1` AS `a1`,`test`.`t1`.`a2` AS `a2`,`test`.`t1`.`b` AS `b`,`test`.`t1`.`c` AS `c` from `test`.`t1` where (((`test`.`t1`.`a1` = _latin1'b') or (`test`.`t1`.`a1` = _latin1'd') or (`test`.`t1`.`a1` = _latin1'a') or (`test`.`t1`.`a1` = _latin1'c')) and (`test`.`t1`.`a2` > _latin1'a') and (`test`.`t1`.`d` > _latin1'xy2')) group by `test`.`t1`.`a1`,`test`.`t1`.`a2`,`test`.`t1`.`b`,`test`.`t1`.`c`
+Note 1003 select `test`.`t1`.`a1` AS `a1`,`test`.`t1`.`a2` AS `a2`,`test`.`t1`.`b` AS `b`,`test`.`t1`.`c` AS `c` from `test`.`t1` where (((`test`.`t1`.`a1` = 'b') or (`test`.`t1`.`a1` = 'd') or (`test`.`t1`.`a1` = 'a') or (`test`.`t1`.`a1` = 'c')) and (`test`.`t1`.`a2` > 'a') and (`test`.`t1`.`d` > 'xy2')) group by `test`.`t1`.`a1`,`test`.`t1`.`a2`,`test`.`t1`.`b`,`test`.`t1`.`c`
explain select a1,a2,b,max(c),min(c) from t2 where (a2 = 'a') and (b = 'b') or (b < 'b') group by a1;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 index NULL idx_t2_1 163 NULL 164 Using where; Using index
@@ -1944,7 +1944,7 @@ explain extended select a1,a2,b from t1 where (a1 = 'b' or a1 = 'd' or a1 = 'a'
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 range idx_t1_0,idx_t1_1,idx_t1_2 idx_t1_1 130 NULL 76 85.53 Using where; Using index
Warnings:
-Note 1003 select `test`.`t1`.`a1` AS `a1`,`test`.`t1`.`a2` AS `a2`,`test`.`t1`.`b` AS `b` from `test`.`t1` where (((`test`.`t1`.`a1` = _latin1'b') or (`test`.`t1`.`a1` = _latin1'd') or (`test`.`t1`.`a1` = _latin1'a') or (`test`.`t1`.`a1` = _latin1'c')) and (`test`.`t1`.`a2` > _latin1'a') and (`test`.`t1`.`c` > _latin1'a111')) group by `test`.`t1`.`a1`,`test`.`t1`.`a2`,`test`.`t1`.`b`
+Note 1003 select `test`.`t1`.`a1` AS `a1`,`test`.`t1`.`a2` AS `a2`,`test`.`t1`.`b` AS `b` from `test`.`t1` where (((`test`.`t1`.`a1` = 'b') or (`test`.`t1`.`a1` = 'd') or (`test`.`t1`.`a1` = 'a') or (`test`.`t1`.`a1` = 'c')) and (`test`.`t1`.`a2` > 'a') and (`test`.`t1`.`c` > 'a111')) group by `test`.`t1`.`a1`,`test`.`t1`.`a2`,`test`.`t1`.`b`
explain select a1,a2,min(b),c from t2 where (a2 = 'a') and (c = 'a111') group by a1;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 index NULL idx_t2_1 163 NULL 164 Using where; Using index
@@ -1963,20 +1963,20 @@ id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 128 Using temporary; Using filesort
explain select a1,a2,count(a2) from t1 group by a1,a2,b;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index NULL idx_t1_1 163 NULL 128 Using index
+1 SIMPLE t1 index NULL idx_t1_2 147 NULL 128 Using index
explain extended select a1,a2,count(a2) from t1 where (a1 > 'a') group by a1,a2,b;
id select_type table type possible_keys key key_len ref rows filtered Extra
-1 SIMPLE t1 index idx_t1_0,idx_t1_1,idx_t1_2 idx_t1_1 163 NULL 128 75.00 Using where; Using index
+1 SIMPLE t1 index idx_t1_0,idx_t1_1,idx_t1_2 idx_t1_2 147 NULL 128 75.00 Using where; Using index
Warnings:
-Note 1003 select `test`.`t1`.`a1` AS `a1`,`test`.`t1`.`a2` AS `a2`,count(`test`.`t1`.`a2`) AS `count(a2)` from `test`.`t1` where (`test`.`t1`.`a1` > _latin1'a') group by `test`.`t1`.`a1`,`test`.`t1`.`a2`,`test`.`t1`.`b`
+Note 1003 select `test`.`t1`.`a1` AS `a1`,`test`.`t1`.`a2` AS `a2`,count(`test`.`t1`.`a2`) AS `count(a2)` from `test`.`t1` where (`test`.`t1`.`a1` > 'a') group by `test`.`t1`.`a1`,`test`.`t1`.`a2`,`test`.`t1`.`b`
explain extended select sum(ord(a1)) from t1 where (a1 > 'a') group by a1,a2,b;
id select_type table type possible_keys key key_len ref rows filtered Extra
-1 SIMPLE t1 index idx_t1_0,idx_t1_1,idx_t1_2 idx_t1_1 163 NULL 128 75.00 Using where; Using index
+1 SIMPLE t1 index idx_t1_0,idx_t1_1,idx_t1_2 idx_t1_2 147 NULL 128 75.00 Using where; Using index
Warnings:
-Note 1003 select sum(ord(`test`.`t1`.`a1`)) AS `sum(ord(a1))` from `test`.`t1` where (`test`.`t1`.`a1` > _latin1'a') group by `test`.`t1`.`a1`,`test`.`t1`.`a2`,`test`.`t1`.`b`
+Note 1003 select sum(ord(`test`.`t1`.`a1`)) AS `sum(ord(a1))` from `test`.`t1` where (`test`.`t1`.`a1` > 'a') group by `test`.`t1`.`a1`,`test`.`t1`.`a2`,`test`.`t1`.`b`
explain select distinct(a1) from t1 where ord(a2) = 98;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index NULL idx_t1_1 163 NULL 128 Using where; Using index
+1 SIMPLE t1 index NULL idx_t1_2 147 NULL 128 Using where; Using index
select distinct(a1) from t1 where ord(a2) = 98;
a1
a
@@ -2256,7 +2256,7 @@ EXPLAIN SELECT 1 FROM t1 AS t1_outer WHERE
a IN (SELECT max(b) FROM t1 GROUP BY a HAVING a < 2);
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY t1_outer index NULL a 10 NULL 15 Using where; Using index
-2 DEPENDENT SUBQUERY t1 index NULL a 10 NULL 15 Using index
+2 DEPENDENT SUBQUERY t1 index NULL a 10 NULL 1 Using index
EXPLAIN SELECT 1 FROM t1 AS t1_outer GROUP BY a HAVING
a > (SELECT max(b) FROM t1 GROUP BY a HAVING a < 2);
id select_type table type possible_keys key key_len ref rows Extra
@@ -2299,8 +2299,7 @@ Handler_read_next 0
FLUSH STATUS;
DELETE FROM t3 WHERE (SELECT (SELECT MAX(b) FROM t1 GROUP BY a HAVING a < 2) x
FROM t1) > 10000;
-Warnings:
-Error 1242 Subquery returns more than 1 row
+ERROR 21000: Subquery returns more than 1 row
SHOW STATUS LIKE 'handler_read__e%';
Variable_name Value
Handler_read_key 8
@@ -2327,3 +2326,49 @@ a
2
4
DROP TABLE t1;
+CREATE TABLE t1 (a INT, b INT);
+INSERT INTO t1 (a, b) VALUES (1,1), (1,2), (1,3);
+INSERT INTO t1 SELECT a + 1, b FROM t1;
+INSERT INTO t1 SELECT a + 2, b FROM t1;
+EXPLAIN
+SELECT a, MIN(b), MAX(b) FROM t1 GROUP BY a ORDER BY a DESC;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 12 Using temporary; Using filesort
+SELECT a, MIN(b), MAX(b) FROM t1 GROUP BY a ORDER BY a DESC;
+a MIN(b) MAX(b)
+4 1 3
+3 1 3
+2 1 3
+1 1 3
+CREATE INDEX break_it ON t1 (a, b);
+EXPLAIN
+SELECT a, MIN(b), MAX(b) FROM t1 GROUP BY a ORDER BY a;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 range NULL break_it 10 NULL 7 Using index for group-by
+SELECT a, MIN(b), MAX(b) FROM t1 GROUP BY a ORDER BY a;
+a MIN(b) MAX(b)
+1 1 3
+2 1 3
+3 1 3
+4 1 3
+EXPLAIN
+SELECT a, MIN(b), MAX(b) FROM t1 GROUP BY a ORDER BY a DESC;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 range NULL break_it 10 NULL 7 Using index for group-by; Using temporary; Using filesort
+SELECT a, MIN(b), MAX(b) FROM t1 GROUP BY a ORDER BY a DESC;
+a MIN(b) MAX(b)
+4 1 3
+3 1 3
+2 1 3
+1 1 3
+EXPLAIN
+SELECT a, MIN(b), MAX(b), AVG(b) FROM t1 GROUP BY a ORDER BY a DESC;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index NULL break_it 10 NULL 12 Using index
+SELECT a, MIN(b), MAX(b), AVG(b) FROM t1 GROUP BY a ORDER BY a DESC;
+a MIN(b) MAX(b) AVG(b)
+4 1 3 2.0000
+3 1 3 2.0000
+2 1 3 2.0000
+1 1 3 2.0000
+DROP TABLE t1;
diff --git a/mysql-test/r/handler_innodb.result b/mysql-test/r/handler_innodb.result
index 1bd50612a3f..9d269f78d10 100644
--- a/mysql-test/r/handler_innodb.result
+++ b/mysql-test/r/handler_innodb.result
@@ -515,3 +515,216 @@ ERROR 42S02: Table 'test.t1' doesn't exist
drop table if exists t1;
Warnings:
Note 1051 Unknown table 't1'
+drop table if exists t1;
+create table t1 (a int) ENGINE=MEMORY;
+--> client 2
+handler t1 open;
+ERROR HY000: Table storage engine for 't1' doesn't have this option
+--> client 1
+drop table t1;
+drop table if exists t1;
+create table t1 (a int);
+handler t1 open as t1_alias;
+handler t1_alias read a next;
+ERROR 42000: Key 'a' doesn't exist in table 't1_alias'
+handler t1_alias READ a next where inexistent > 0;
+ERROR 42S22: Unknown column 'inexistent' in 'field list'
+handler t1_alias read a next;
+ERROR 42000: Key 'a' doesn't exist in table 't1_alias'
+handler t1_alias READ a next where inexistent > 0;
+ERROR 42S22: Unknown column 'inexistent' in 'field list'
+handler t1_alias close;
+drop table t1;
+drop table if exists t1,t2;
+create table t1 (c1 int);
+create table t2 (c1 int);
+insert into t1 values (1);
+insert into t2 values (2);
+connection: default
+handler t1 open;
+handler t1 read first;
+c1
+1
+connection: flush
+flush tables;;
+connection: default
+handler t2 open;
+handler t2 read first;
+c1
+2
+handler t1 read next;
+c1
+1
+handler t1 close;
+handler t2 close;
+drop table t1,t2;
+drop table if exists t1,t2;
+create table t1 (c1 int);
+connection: default
+handler t1 open;
+handler t1 read first;
+c1
+connection: flush
+rename table t1 to t2;;
+connection: default
+handler t2 open;
+handler t2 read first;
+c1
+handler t1 read next;
+ERROR 42S02: Table 'test.t1' doesn't exist
+handler t1 close;
+handler t2 close;
+drop table t2;
+drop table if exists t1;
+create temporary table t1 (a int, b char(1), key a(a), key b(a,b));
+insert into t1 values (0,"a"),(1,"b"),(2,"c"),(3,"d"),(4,"e"),
+(5,"f"),(6,"g"),(7,"h"),(8,"i"),(9,"j");
+select a,b from t1;
+a b
+0 a
+1 b
+2 c
+3 d
+4 e
+5 f
+6 g
+7 h
+8 i
+9 j
+handler t1 open as a1;
+handler a1 read a first;
+a b
+0 a
+handler a1 read a next;
+a b
+1 b
+handler a1 read a next;
+a b
+2 c
+select a,b from t1;
+ERROR HY000: Can't reopen table: 'a1'
+handler a1 read a prev;
+a b
+1 b
+handler a1 read a prev;
+a b
+0 a
+handler a1 read a=(6) where b="g";
+a b
+6 g
+handler a1 close;
+select a,b from t1;
+a b
+0 a
+1 b
+2 c
+3 d
+4 e
+5 f
+6 g
+7 h
+8 i
+9 j
+handler t1 open as a2;
+handler a2 read a first;
+a b
+0 a
+handler a2 read a last;
+a b
+9 j
+handler a2 read a prev;
+a b
+8 i
+handler a2 close;
+drop table t1;
+drop table if exists t1,t2;
+create table t1 (a int);
+handler t1 open as t1_alias;
+drop table t1;
+create table t1 (a int);
+handler t1 open as t1_alias;
+flush tables;
+drop table t1;
+create table t1 (a int);
+handler t1 open as t1_alias;
+handler t1_alias close;
+drop table t1;
+create table t1 (a int);
+handler t1 open as t1_alias;
+handler t1_alias read first;
+a
+drop table t1;
+handler t1_alias read next;
+ERROR 42S02: Unknown table 't1_alias' in HANDLER
+create table t1 (a int);
+create temporary table t2 (a int, key(a));
+handler t1 open as a1;
+handler t2 open as a2;
+handler a2 read a first;
+a
+drop table t1, t2;
+handler a2 read a next;
+ERROR 42S02: Unknown table 'a2' in HANDLER
+handler a1 close;
+ERROR 42S02: Unknown table 'a1' in HANDLER
+create table t1 (a int, key(a));
+create table t2 like t1;
+handler t1 open as a1;
+handler t2 open as a2;
+handler a1 read a first;
+a
+handler a2 read a first;
+a
+alter table t1 add b int;
+handler a1 close;
+ERROR 42S02: Unknown table 'a1' in HANDLER
+handler a2 close;
+drop table t1, t2;
+create table t1 (a int, key(a));
+handler t1 open as a1;
+handler a1 read a first;
+a
+rename table t1 to t2;
+handler a1 read a first;
+ERROR 42S02: Unknown table 'a1' in HANDLER
+drop table t2;
+create table t1 (a int, key(a));
+create table t2 like t1;
+handler t1 open as a1;
+handler t2 open as a2;
+handler a1 read a first;
+a
+handler a2 read a first;
+a
+optimize table t1;
+Table Op Msg_type Msg_text
+test.t1 optimize status OK
+handler a1 close;
+ERROR 42S02: Unknown table 'a1' in HANDLER
+handler a2 close;
+drop table t1, t2;
+create table t1 (a int, b char(1), key a(a), key b(a,b));
+insert into t1 values (0,"a"),(1,"b"),(2,"c"),(3,"d"),(4,"e"),
+(5,"f"),(6,"g"),(7,"h"),(8,"i"),(9,"j");
+handler t1 open;
+handler t1 read a first;
+a b
+0 a
+handler t1 read a next;
+a b
+1 b
+flush tables;
+handler t1 read a next;
+a b
+0 a
+handler t1 read a next;
+a b
+1 b
+flush tables with read lock;
+handler t1 read a next;
+a b
+0 a
+unlock tables;
+drop table t1;
+handler t1 read a next;
+ERROR 42S02: Unknown table 't1' in HANDLER
diff --git a/mysql-test/r/handler_myisam.result b/mysql-test/r/handler_myisam.result
index beb1a40c318..0b27b07c4d2 100644
--- a/mysql-test/r/handler_myisam.result
+++ b/mysql-test/r/handler_myisam.result
@@ -515,3 +515,216 @@ ERROR 42S02: Table 'test.t1' doesn't exist
drop table if exists t1;
Warnings:
Note 1051 Unknown table 't1'
+drop table if exists t1;
+create table t1 (a int) ENGINE=MEMORY;
+--> client 2
+handler t1 open;
+ERROR HY000: Table storage engine for 't1' doesn't have this option
+--> client 1
+drop table t1;
+drop table if exists t1;
+create table t1 (a int);
+handler t1 open as t1_alias;
+handler t1_alias read a next;
+ERROR 42000: Key 'a' doesn't exist in table 't1_alias'
+handler t1_alias READ a next where inexistent > 0;
+ERROR 42S22: Unknown column 'inexistent' in 'field list'
+handler t1_alias read a next;
+ERROR 42000: Key 'a' doesn't exist in table 't1_alias'
+handler t1_alias READ a next where inexistent > 0;
+ERROR 42S22: Unknown column 'inexistent' in 'field list'
+handler t1_alias close;
+drop table t1;
+drop table if exists t1,t2;
+create table t1 (c1 int);
+create table t2 (c1 int);
+insert into t1 values (1);
+insert into t2 values (2);
+connection: default
+handler t1 open;
+handler t1 read first;
+c1
+1
+connection: flush
+flush tables;;
+connection: default
+handler t2 open;
+handler t2 read first;
+c1
+2
+handler t1 read next;
+c1
+1
+handler t1 close;
+handler t2 close;
+drop table t1,t2;
+drop table if exists t1,t2;
+create table t1 (c1 int);
+connection: default
+handler t1 open;
+handler t1 read first;
+c1
+connection: flush
+rename table t1 to t2;;
+connection: default
+handler t2 open;
+handler t2 read first;
+c1
+handler t1 read next;
+ERROR 42S02: Table 'test.t1' doesn't exist
+handler t1 close;
+handler t2 close;
+drop table t2;
+drop table if exists t1;
+create temporary table t1 (a int, b char(1), key a(a), key b(a,b));
+insert into t1 values (0,"a"),(1,"b"),(2,"c"),(3,"d"),(4,"e"),
+(5,"f"),(6,"g"),(7,"h"),(8,"i"),(9,"j");
+select a,b from t1;
+a b
+0 a
+1 b
+2 c
+3 d
+4 e
+5 f
+6 g
+7 h
+8 i
+9 j
+handler t1 open as a1;
+handler a1 read a first;
+a b
+0 a
+handler a1 read a next;
+a b
+1 b
+handler a1 read a next;
+a b
+2 c
+select a,b from t1;
+ERROR HY000: Can't reopen table: 'a1'
+handler a1 read a prev;
+a b
+1 b
+handler a1 read a prev;
+a b
+0 a
+handler a1 read a=(6) where b="g";
+a b
+6 g
+handler a1 close;
+select a,b from t1;
+a b
+0 a
+1 b
+2 c
+3 d
+4 e
+5 f
+6 g
+7 h
+8 i
+9 j
+handler t1 open as a2;
+handler a2 read a first;
+a b
+0 a
+handler a2 read a last;
+a b
+9 j
+handler a2 read a prev;
+a b
+8 i
+handler a2 close;
+drop table t1;
+drop table if exists t1,t2;
+create table t1 (a int);
+handler t1 open as t1_alias;
+drop table t1;
+create table t1 (a int);
+handler t1 open as t1_alias;
+flush tables;
+drop table t1;
+create table t1 (a int);
+handler t1 open as t1_alias;
+handler t1_alias close;
+drop table t1;
+create table t1 (a int);
+handler t1 open as t1_alias;
+handler t1_alias read first;
+a
+drop table t1;
+handler t1_alias read next;
+ERROR 42S02: Unknown table 't1_alias' in HANDLER
+create table t1 (a int);
+create temporary table t2 (a int, key(a));
+handler t1 open as a1;
+handler t2 open as a2;
+handler a2 read a first;
+a
+drop table t1, t2;
+handler a2 read a next;
+ERROR 42S02: Unknown table 'a2' in HANDLER
+handler a1 close;
+ERROR 42S02: Unknown table 'a1' in HANDLER
+create table t1 (a int, key(a));
+create table t2 like t1;
+handler t1 open as a1;
+handler t2 open as a2;
+handler a1 read a first;
+a
+handler a2 read a first;
+a
+alter table t1 add b int;
+handler a1 close;
+ERROR 42S02: Unknown table 'a1' in HANDLER
+handler a2 close;
+drop table t1, t2;
+create table t1 (a int, key(a));
+handler t1 open as a1;
+handler a1 read a first;
+a
+rename table t1 to t2;
+handler a1 read a first;
+ERROR 42S02: Unknown table 'a1' in HANDLER
+drop table t2;
+create table t1 (a int, key(a));
+create table t2 like t1;
+handler t1 open as a1;
+handler t2 open as a2;
+handler a1 read a first;
+a
+handler a2 read a first;
+a
+optimize table t1;
+Table Op Msg_type Msg_text
+test.t1 optimize status Table is already up to date
+handler a1 close;
+ERROR 42S02: Unknown table 'a1' in HANDLER
+handler a2 close;
+drop table t1, t2;
+create table t1 (a int, b char(1), key a(a), key b(a,b));
+insert into t1 values (0,"a"),(1,"b"),(2,"c"),(3,"d"),(4,"e"),
+(5,"f"),(6,"g"),(7,"h"),(8,"i"),(9,"j");
+handler t1 open;
+handler t1 read a first;
+a b
+0 a
+handler t1 read a next;
+a b
+1 b
+flush tables;
+handler t1 read a next;
+a b
+0 a
+handler t1 read a next;
+a b
+1 b
+flush tables with read lock;
+handler t1 read a next;
+a b
+0 a
+unlock tables;
+drop table t1;
+handler t1 read a next;
+ERROR 42S02: Unknown table 't1' in HANDLER
diff --git a/mysql-test/r/have_community_features.require b/mysql-test/r/have_community_features.require
new file mode 100644
index 00000000000..9233bba91e1
--- /dev/null
+++ b/mysql-test/r/have_community_features.require
@@ -0,0 +1,2 @@
+Variable_name Value
+have_community_features YES
diff --git a/mysql-test/r/have_local_infile.require b/mysql-test/r/have_local_infile.require
new file mode 100644
index 00000000000..124540f7b77
--- /dev/null
+++ b/mysql-test/r/have_local_infile.require
@@ -0,0 +1,2 @@
+Variable_name Value
+local_infile ON
diff --git a/mysql-test/r/heap.result b/mysql-test/r/heap.result
index ddf675e2f73..a2c208ee3e1 100644
--- a/mysql-test/r/heap.result
+++ b/mysql-test/r/heap.result
@@ -256,6 +256,7 @@ set @a=repeat(' ',20);
insert into t1 values (concat('+',@a),concat('+',@a),concat('+',@a));
Warnings:
Note 1265 Data truncated for column 'v' at row 1
+Note 1265 Data truncated for column 'c' at row 1
select concat('*',v,'*',c,'*',t,'*') from t1;
concat('*',v,'*',c,'*',t,'*')
*+ *+*+ *
diff --git a/mysql-test/r/heap_btree.result b/mysql-test/r/heap_btree.result
index ab4b892170a..9db03855c01 100644
--- a/mysql-test/r/heap_btree.result
+++ b/mysql-test/r/heap_btree.result
@@ -307,6 +307,13 @@ UNIQUE USING BTREE(c1)
) ENGINE= MEMORY DEFAULT CHARSET= utf8;
INSERT INTO t1 VALUES('1'), ('2');
DROP TABLE t1;
+CREATE TABLE t1 (a INT, KEY USING BTREE(a)) ENGINE=MEMORY;
+INSERT INTO t1 VALUES(1),(2),(2);
+DELETE FROM t1 WHERE a=2;
+SELECT * FROM t1;
+a
+1
+DROP TABLE t1;
End of 4.1 tests
CREATE TABLE t1(val INT, KEY USING BTREE(val)) ENGINE=memory;
INSERT INTO t1 VALUES(0);
@@ -321,4 +328,12 @@ DROP TABLE t1;
CREATE TABLE t1 (a INT, UNIQUE USING BTREE(a)) ENGINE=MEMORY;
INSERT INTO t1 VALUES(NULL),(NULL);
DROP TABLE t1;
+create table t1(a varchar(255), b varchar(255),
+key using btree (a,b)) engine=memory;
+insert into t1 values (1, 1), (3, 3), (2, 2), (NULL, 1), (NULL, NULL), (0, 0);
+select * from t1 where a is null;
+a b
+NULL NULL
+NULL 1
+drop table t1;
End of 5.0 tests
diff --git a/mysql-test/r/index_merge_myisam.result b/mysql-test/r/index_merge_myisam.result
index 9d7d06f7f1b..1827871861e 100644
--- a/mysql-test/r/index_merge_myisam.result
+++ b/mysql-test/r/index_merge_myisam.result
@@ -342,6 +342,8 @@ create table t4 (a int);
insert into t4 values (1),(4),(3);
set @save_join_buffer_size=@@join_buffer_size;
set join_buffer_size= 4000;
+Warnings:
+Warning 1292 Truncated incorrect join_buffer_size value: '4000'
explain select max(A.key1 + B.key1 + A.key2 + B.key2 + A.key3 + B.key3 + A.key4 + B.key4 + A.key5 + B.key5)
from t0 as A force index(i1,i2), t0 as B force index (i1,i2)
where (A.key1 < 500000 or A.key2 < 3)
diff --git a/mysql-test/r/information_schema.result b/mysql-test/r/information_schema.result
index 804c15f6aa1..f42b201b8b7 100644
--- a/mysql-test/r/information_schema.result
+++ b/mysql-test/r/information_schema.result
@@ -50,6 +50,7 @@ KEY_COLUMN_USAGE
PARTITIONS
PLUGINS
PROCESSLIST
+PROFILING
REFERENTIAL_CONSTRAINTS
ROUTINES
SCHEMATA
@@ -196,7 +197,6 @@ t1 a select
show columns from mysqltest.t1;
Field Type Null Key Default Extra
a int(11) YES NULL
-b varchar(30) YES MUL NULL
select table_name, column_name, privileges from information_schema.columns
where table_schema = 'mysqltest' and table_name = 'v1';
table_name column_name privileges
@@ -289,8 +289,8 @@ explain select a.ROUTINE_NAME from information_schema.ROUTINES a,
information_schema.SCHEMATA b where
a.ROUTINE_SCHEMA = b.SCHEMA_NAME;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE # ALL NULL NULL NULL NULL 2
-1 SIMPLE # ALL NULL NULL NULL NULL 2 Using where; Using join buffer
+1 SIMPLE # ALL NULL NULL NULL NULL NULL
+1 SIMPLE # ALL NULL NULL NULL NULL NULL Using where; Using join buffer
select a.ROUTINE_NAME, b.name from information_schema.ROUTINES a,
mysql.proc b where a.ROUTINE_NAME = convert(b.name using utf8) order by 1;
ROUTINE_NAME name
@@ -355,7 +355,7 @@ mysql
test
explain select * from v0;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE # ALL NULL NULL NULL NULL 2
+1 SIMPLE # ALL NULL NULL NULL NULL NULL
create view v1 (c) as select table_name from information_schema.tables
where table_name="v1";
select * from v1;
@@ -387,11 +387,11 @@ show keys from v4;
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
select * from information_schema.views where TABLE_NAME like "v%";
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE CHARACTER_SET_CLIENT COLLATION_CONNECTION
-NULL test v0 select schema_name from information_schema.schemata NONE NO root@localhost DEFINER latin1 latin1_swedish_ci
-NULL test v1 select table_name from information_schema.tables NONE NO root@localhost DEFINER latin1 latin1_swedish_ci
-NULL test v2 select column_name from information_schema.columns NONE NO root@localhost DEFINER latin1 latin1_swedish_ci
-NULL test v3 select CHARACTER_SET_NAME from information_schema.character_sets NONE NO root@localhost DEFINER latin1 latin1_swedish_ci
-NULL test v4 select COLLATION_NAME from information_schema.collations NONE NO root@localhost DEFINER latin1 latin1_swedish_ci
+NULL test v0 select `schemata`.`SCHEMA_NAME` AS `c` from `information_schema`.`schemata` NONE NO root@localhost DEFINER latin1 latin1_swedish_ci
+NULL test v1 select `tables`.`TABLE_NAME` AS `c` from `information_schema`.`tables` where (`tables`.`TABLE_NAME` = 'v1') NONE NO root@localhost DEFINER latin1 latin1_swedish_ci
+NULL test v2 select `columns`.`COLUMN_NAME` AS `c` from `information_schema`.`columns` where (`columns`.`TABLE_NAME` = 'v2') NONE NO root@localhost DEFINER latin1 latin1_swedish_ci
+NULL test v3 select `character_sets`.`CHARACTER_SET_NAME` AS `c` from `information_schema`.`character_sets` where (`character_sets`.`CHARACTER_SET_NAME` like 'latin1%') NONE NO root@localhost DEFINER latin1 latin1_swedish_ci
+NULL test v4 select `collations`.`COLLATION_NAME` AS `c` from `information_schema`.`collations` where (`collations`.`COLLATION_NAME` like 'latin1%') NONE NO root@localhost DEFINER latin1 latin1_swedish_ci
drop view v0, v1, v2, v3, v4;
create table t1 (a int);
grant select,update,insert on t1 to mysqltest_1@localhost;
@@ -484,9 +484,9 @@ create view v2 (c) as select a from t1 WITH LOCAL CHECK OPTION;
create view v3 (c) as select a from t1 WITH CASCADED CHECK OPTION;
select * from information_schema.views;
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE CHARACTER_SET_CLIENT COLLATION_CONNECTION
-NULL test v1 select a from t1 with check option CASCADED YES root@localhost DEFINER latin1 latin1_swedish_ci
-NULL test v2 select a from t1 WITH LOCAL CHECK OPTION LOCAL YES root@localhost DEFINER latin1 latin1_swedish_ci
-NULL test v3 select a from t1 WITH CASCADED CHECK OPTION CASCADED YES root@localhost DEFINER latin1 latin1_swedish_ci
+NULL test v1 select `test`.`t1`.`a` AS `c` from `test`.`t1` CASCADED YES root@localhost DEFINER latin1 latin1_swedish_ci
+NULL test v2 select `test`.`t1`.`a` AS `c` from `test`.`t1` LOCAL YES root@localhost DEFINER latin1 latin1_swedish_ci
+NULL test v3 select `test`.`t1`.`a` AS `c` from `test`.`t1` CASCADED YES root@localhost DEFINER latin1 latin1_swedish_ci
grant select (a) on test.t1 to joe@localhost with grant option;
select * from INFORMATION_SCHEMA.COLUMN_PRIVILEGES;
GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
@@ -579,12 +579,12 @@ proc sql_data_access enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL
proc is_deterministic enum('YES','NO')
proc security_type enum('INVOKER','DEFINER')
proc param_list blob
-proc returns char(64)
+proc returns longblob
proc body longblob
proc definer char(77)
proc created timestamp
proc modified timestamp
-proc sql_mode set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE')
+proc sql_mode set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE','NO_ENGINE_SUBSTITUTION','PAD_CHAR_TO_FULL_LENGTH')
proc comment char(64)
proc character_set_client char(32)
proc collation_connection char(32)
@@ -679,17 +679,11 @@ where table_schema='test';
table_name
v2
v3
-Warnings:
-Warning 1356 View 'test.v2' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
-Warning 1356 View 'test.v3' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
select table_name from information_schema.views
where table_schema='test';
table_name
v2
v3
-Warnings:
-Warning 1356 View 'test.v2' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
-Warning 1356 View 'test.v3' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
select column_name from information_schema.columns
where table_schema='test';
column_name
@@ -854,7 +848,7 @@ delete from mysql.db where user='mysqltest_4';
flush privileges;
SELECT table_schema, count(*) FROM information_schema.TABLES where table_name<>'ndb_binlog_index' AND table_name<>'ndb_apply_status' GROUP BY TABLE_SCHEMA;
table_schema count(*)
-information_schema 27
+information_schema 28
mysql 22
create table t1 (i int, j int);
create trigger trg1 before insert on t1 for each row
@@ -1043,7 +1037,7 @@ b NULL
use test;
show columns from t1;
Field Type Null Key Default Extra
-a int(11) NO
+a int(11) NO NULL
b int(11) YES NULL
drop table t1;
CREATE TABLE t1 (a int);
@@ -1144,11 +1138,13 @@ DROP FUNCTION func2;
select column_type, group_concat(table_schema, '.', table_name), count(*) as num
from information_schema.columns where
table_schema='information_schema' and
-(column_type = 'varchar(7)' or column_type = 'varchar(20)')
+(column_type = 'varchar(7)' or column_type = 'varchar(20)'
+ or column_type = 'varchar(27)')
group by column_type order by num;
column_type group_concat(table_schema, '.', table_name) num
+varchar(27) information_schema.COLUMNS 1
varchar(7) information_schema.ROUTINES,information_schema.VIEWS 2
-varchar(20) information_schema.COLUMNS,information_schema.FILES,information_schema.FILES,information_schema.PLUGINS,information_schema.PLUGINS,information_schema.PLUGINS 6
+varchar(20) information_schema.FILES,information_schema.FILES,information_schema.PLUGINS,information_schema.PLUGINS,information_schema.PLUGINS,information_schema.PROFILING 6
create table t1(f1 char(1) not null, f2 char(9) not null)
default character set utf8;
select CHARACTER_MAXIMUM_LENGTH, CHARACTER_OCTET_LENGTH from
@@ -1175,7 +1171,7 @@ select * from information_schema.views
where table_name='v1' or table_name='v2';
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE CHARACTER_SET_CLIENT COLLATION_CONNECTION
NULL test v1 NONE YES root@localhost DEFINER latin1 latin1_swedish_ci
-NULL test v2 select 1 NONE NO mysqltest_1@localhost DEFINER latin1 latin1_swedish_ci
+NULL test v2 select 1 AS `1` NONE NO mysqltest_1@localhost DEFINER latin1 latin1_swedish_ci
drop view v1, v2;
drop table t1;
drop user mysqltest_1@localhost;
@@ -1253,6 +1249,7 @@ KEY_COLUMN_USAGE CONSTRAINT_SCHEMA
PARTITIONS TABLE_SCHEMA
PLUGINS PLUGIN_NAME
PROCESSLIST ID
+PROFILING QUERY_ID
REFERENTIAL_CONSTRAINTS CONSTRAINT_SCHEMA
ROUTINES ROUTINE_SCHEMA
SCHEMATA SCHEMA_NAME
@@ -1295,6 +1292,7 @@ KEY_COLUMN_USAGE CONSTRAINT_SCHEMA
PARTITIONS TABLE_SCHEMA
PLUGINS PLUGIN_NAME
PROCESSLIST ID
+PROFILING QUERY_ID
REFERENTIAL_CONSTRAINTS CONSTRAINT_SCHEMA
ROUTINES ROUTINE_SCHEMA
SCHEMATA SCHEMA_NAME
@@ -1337,11 +1335,11 @@ from information_schema.tables
order by object_schema;
explain select * from v1;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE tables ALL NULL NULL NULL NULL 2 Using filesort
+1 SIMPLE tables ALL NULL NULL NULL NULL NULL Open_frm_only; Scanned all databases; Using filesort
explain select * from (select table_name from information_schema.tables) as a;
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY <derived2> system NULL NULL NULL NULL 0 const row not found
-2 DERIVED tables ALL NULL NULL NULL NULL 2
+2 DERIVED tables ALL NULL NULL NULL NULL NULL Skip_open_table; Scanned all databases
drop view v1;
create table t1 (f1 int(11));
create table t2 (f1 int(11), f2 int(11));
@@ -1388,6 +1386,7 @@ KEY_COLUMN_USAGE information_schema.KEY_COLUMN_USAGE 1
PARTITIONS information_schema.PARTITIONS 1
PLUGINS information_schema.PLUGINS 1
PROCESSLIST information_schema.PROCESSLIST 1
+PROFILING information_schema.PROFILING 1
REFERENTIAL_CONSTRAINTS information_schema.REFERENTIAL_CONSTRAINTS 1
ROUTINES information_schema.ROUTINES 1
SCHEMATA information_schema.SCHEMATA 1
@@ -1416,7 +1415,67 @@ alter database;
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
alter database 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 '' at line 1
+create database mysqltest;
+create table mysqltest.t1(a int, b int, c int);
+create trigger mysqltest.t1_ai after insert on mysqltest.t1
+for each row set @a = new.a + new.b + new.c;
+grant select(b) on mysqltest.t1 to mysqltest_1@localhost;
+select trigger_name from information_schema.triggers
+where event_object_table='t1';
+trigger_name
+t1_ai
+show triggers from mysqltest;
+Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
+t1_ai INSERT t1 set @a = new.a + new.b + new.c AFTER NULL root@localhost latin1 latin1_swedish_ci latin1_swedish_ci
+show columns from t1;
+Field Type Null Key Default Extra
+b int(11) YES NULL
+select column_name from information_schema.columns where table_name='t1';
+column_name
+b
+show triggers;
+Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
+select trigger_name from information_schema.triggers
+where event_object_table='t1';
+trigger_name
+drop user mysqltest_1@localhost;
+drop database mysqltest;
+create table t1 (
+f1 varchar(50),
+f2 varchar(50) not null,
+f3 varchar(50) default '',
+f4 varchar(50) default NULL,
+f5 bigint not null,
+f6 bigint not null default 10,
+f7 datetime not null,
+f8 datetime default '2006-01-01'
+);
+select column_default from information_schema.columns where table_name= 't1';
+column_default
+NULL
+NULL
+
+NULL
+NULL
+10
+NULL
+2006-01-01 00:00:00
+show columns from t1;
+Field Type Null Key Default Extra
+f1 varchar(50) YES NULL
+f2 varchar(50) NO NULL
+f3 varchar(50) YES
+f4 varchar(50) YES NULL
+f5 bigint(20) NO NULL
+f6 bigint(20) NO 10
+f7 datetime NO NULL
+f8 datetime YES 2006-01-01 00:00:00
+drop table t1;
End of 5.0 tests.
+show fields from information_schema.table_names;
+ERROR 42S02: Unknown table 'table_names' in information_schema
+show keys from information_schema.table_names;
+ERROR 42S02: Unknown table 'table_names' in information_schema
select * from information_schema.engines WHERE ENGINE="MyISAM";
ENGINE SUPPORT COMMENT TRANSACTIONS XA SAVEPOINTS
MyISAM DEFAULT Default engine as of MySQL 3.23 with great performance NO NO NO
@@ -1445,4 +1504,135 @@ ABORTED_CONNECTS
BINLOG_CACHE_DISK_USE
DROP TABLE server_status;
SET GLOBAL event_scheduler=0;
+explain select table_name from information_schema.views where
+table_schema='test' and table_name='v1';
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE views ALL NULL TABLE_SCHEMA,TABLE_NAME NULL NULL NULL Using where; Open_frm_only; Scanned 0 databases
+explain select * from information_schema.tables;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE tables ALL NULL NULL NULL NULL NULL Open_full_table; Scanned all databases
+explain select * from information_schema.collations;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE collations ALL NULL NULL NULL NULL NULL
+explain select * from information_schema.tables where
+table_schema='test' and table_name= 't1';
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE tables ALL NULL TABLE_SCHEMA,TABLE_NAME NULL NULL NULL Using where; Open_full_table; Scanned 0 databases
+explain select table_name, table_type from information_schema.tables
+where table_schema='test';
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE tables ALL NULL TABLE_SCHEMA NULL NULL NULL Using where; Open_frm_only; Scanned 1 database
+explain select b.table_name
+from information_schema.tables a, information_schema.columns b
+where a.table_name='t1' and a.table_schema='test' and b.table_name=a.table_name;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE a ALL NULL TABLE_SCHEMA,TABLE_NAME NULL NULL NULL Using where; Skip_open_table; Scanned 0 databases
+1 SIMPLE b ALL NULL NULL NULL NULL NULL Using where; Open_frm_only; Scanned all databases; Using join buffer
+SELECT * FROM INFORMATION_SCHEMA.SCHEMATA
+WHERE SCHEMA_NAME = 'mysqltest';
+CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
+SELECT * FROM INFORMATION_SCHEMA.SCHEMATA
+WHERE SCHEMA_NAME = '';
+CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
+SELECT * FROM INFORMATION_SCHEMA.SCHEMATA
+WHERE SCHEMA_NAME = 'test';
+CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
+NULL test latin1 latin1_swedish_ci NULL
+select count(*) from INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA='mysql' AND TABLE_NAME='nonexisting';
+count(*)
+0
+select count(*) from INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA='mysql' AND TABLE_NAME='';
+count(*)
+0
+select count(*) from INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA='' AND TABLE_NAME='';
+count(*)
+0
+select count(*) from INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA='' AND TABLE_NAME='nonexisting';
+count(*)
+0
+CREATE VIEW v1
+AS SELECT *
+FROM information_schema.tables;
+SELECT VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS where TABLE_NAME = 'v1';
+VIEW_DEFINITION
+select `tables`.`TABLE_CATALOG` AS `TABLE_CATALOG`,`tables`.`TABLE_SCHEMA` AS `TABLE_SCHEMA`,`tables`.`TABLE_NAME` AS `TABLE_NAME`,`tables`.`TABLE_TYPE` AS `TABLE_TYPE`,`tables`.`ENGINE` AS `ENGINE`,`tables`.`VERSION` AS `VERSION`,`tables`.`ROW_FORMAT` AS `ROW_FORMAT`,`tables`.`TABLE_ROWS` AS `TABLE_ROWS`,`tables`.`AVG_ROW_LENGTH` AS `AVG_ROW_LENGTH`,`tables`.`DATA_LENGTH` AS `DATA_LENGTH`,`tables`.`MAX_DATA_LENGTH` AS `MAX_DATA_LENGTH`,`tables`.`INDEX_LENGTH` AS `INDEX_LENGTH`,`tables`.`DATA_FREE` AS `DATA_FREE`,`tables`.`AUTO_INCREMENT` AS `AUTO_INCREMENT`,`tables`.`CREATE_TIME` AS `CREATE_TIME`,`tables`.`UPDATE_TIME` AS `UPDATE_TIME`,`tables`.`CHECK_TIME` AS `CHECK_TIME`,`tables`.`TABLE_COLLATION` AS `TABLE_COLLATION`,`tables`.`CHECKSUM` AS `CHECKSUM`,`tables`.`CREATE_OPTIONS` AS `CREATE_OPTIONS`,`tables`.`TABLE_COMMENT` AS `TABLE_COMMENT` from `information_schema`.`tables`
+DROP VIEW v1;
+SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA
+WHERE SCHEMA_NAME ='information_schema';
+SCHEMA_NAME
+information_schema
+SELECT TABLE_COLLATION FROM INFORMATION_SCHEMA.TABLES
+WHERE TABLE_SCHEMA='mysql' and TABLE_NAME= 'db';
+TABLE_COLLATION
+utf8_bin
+select * from information_schema.columns where table_schema = NULL;
+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
+select * from `information_schema`.`COLUMNS` where `TABLE_NAME` = NULL;
+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
+select * from `information_schema`.`KEY_COLUMN_USAGE` where `TABLE_SCHEMA` = NULL;
+CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
+select * from `information_schema`.`KEY_COLUMN_USAGE` where `TABLE_NAME` = NULL;
+CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
+select * from `information_schema`.`PARTITIONS` where `TABLE_SCHEMA` = NULL;
+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
+select * from `information_schema`.`PARTITIONS` where `TABLE_NAME` = NULL;
+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
+select * from `information_schema`.`REFERENTIAL_CONSTRAINTS` where `CONSTRAINT_SCHEMA` = NULL;
+CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME UNIQUE_CONSTRAINT_CATALOG UNIQUE_CONSTRAINT_SCHEMA UNIQUE_CONSTRAINT_NAME MATCH_OPTION UPDATE_RULE DELETE_RULE TABLE_NAME REFERENCED_TABLE_NAME
+select * from `information_schema`.`REFERENTIAL_CONSTRAINTS` where `TABLE_NAME` = NULL;
+CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME UNIQUE_CONSTRAINT_CATALOG UNIQUE_CONSTRAINT_SCHEMA UNIQUE_CONSTRAINT_NAME MATCH_OPTION UPDATE_RULE DELETE_RULE TABLE_NAME REFERENCED_TABLE_NAME
+select * from information_schema.schemata where schema_name = NULL;
+CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
+select * from `information_schema`.`STATISTICS` where `TABLE_SCHEMA` = NULL;
+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
+select * from `information_schema`.`STATISTICS` where `TABLE_NAME` = NULL;
+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
+select * from information_schema.tables where table_schema = NULL;
+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
+select * from information_schema.tables where table_catalog = NULL;
+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
+select * from information_schema.tables where table_name = NULL;
+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
+select * from `information_schema`.`TABLE_CONSTRAINTS` where `TABLE_SCHEMA` = NULL;
+CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE
+select * from `information_schema`.`TABLE_CONSTRAINTS` where `TABLE_NAME` = NULL;
+CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE
+select * from `information_schema`.`TRIGGERS` where `EVENT_OBJECT_SCHEMA` = NULL;
+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
+select * from `information_schema`.`TRIGGERS` where `EVENT_OBJECT_TABLE` = NULL;
+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
+select * from `information_schema`.`VIEWS` where `TABLE_SCHEMA` = NULL;
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE CHARACTER_SET_CLIENT COLLATION_CONNECTION
+select * from `information_schema`.`VIEWS` where `TABLE_NAME` = NULL;
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE CHARACTER_SET_CLIENT COLLATION_CONNECTION
+explain extended select 1 from information_schema.tables;
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE tables ALL NULL NULL NULL NULL NULL NULL Skip_open_table; Scanned all databases
+Warnings:
+Note 1003 select 1 AS `1` from `information_schema`.`tables`
+use information_schema;
+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
+show events from information_schema;
+Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
+show events where Db= 'information_schema';
+Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
+use test;
+#
+# Bug#34166: Server crash in SHOW OPEN TABLES and prelocking
+#
+drop table if exists t1;
+drop function if exists f1;
+create table t1 (a int);
+create function f1() returns int
+begin
+insert into t1 (a) values (1);
+return 0;
+end|
+show open tables where f1()=0;
+show open tables where f1()=0;
+drop table t1;
+drop function f1;
+select * from information_schema.tables where 1=sleep(100000);
+select * from information_schema.columns where 1=sleep(100000);
End of 5.1 tests.
diff --git a/mysql-test/r/information_schema_db.result b/mysql-test/r/information_schema_db.result
index a0fd33ac068..eff5f117c50 100644
--- a/mysql-test/r/information_schema_db.result
+++ b/mysql-test/r/information_schema_db.result
@@ -19,6 +19,7 @@ KEY_COLUMN_USAGE
PARTITIONS
PLUGINS
PROCESSLIST
+PROFILING
REFERENTIAL_CONSTRAINTS
ROUTINES
SCHEMATA
@@ -74,11 +75,11 @@ drop table t1;
select table_name, table_type, table_comment from information_schema.tables
where table_schema='inf%' and func2();
table_name table_type table_comment
-v1 VIEW View 'inf%.v1' references invalid table(s) or column(s) or function(s) or define
+v1 VIEW VIEW
select table_name, table_type, table_comment from information_schema.tables
where table_schema='inf%' and func2();
table_name table_type table_comment
-v1 VIEW View 'inf%.v1' references invalid table(s) or column(s) or function(s) or define
+v1 VIEW VIEW
drop view v1;
drop function func1;
drop function func2;
@@ -127,7 +128,7 @@ grant show view on v6 to testdb_2@localhost;
create table t2 (f1 char(4));
create definer=`no_such_user`@`no_such_host` view v7 as select * from t2;
Warnings:
-Note 1449 There is no 'no_such_user'@'no_such_host' registered
+Note 1449 The user specified as a definer ('no_such_user'@'no_such_host') does not exist
show fields from testdb_1.v6;
Field Type Null Key Default Extra
f1 char(4) YES NULL
@@ -141,9 +142,9 @@ Warnings:
Warning 1356 View 'testdb_1.v7' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
show fields from testdb_1.v7;
Field Type Null Key Default Extra
-f1 null YES NULL
+f1 char(4) YES NULL
Warnings:
-Note 1449 There is no 'no_such_user'@'no_such_host' registered
+Note 1449 The user specified as a definer ('no_such_user'@'no_such_host') does not exist
create table t3 (f1 char(4), f2 char(4));
create view v3 as select f1,f2 from t3;
grant insert(f1), insert(f2) on v3 to testdb_2@localhost;
@@ -151,21 +152,19 @@ create view v2 as select f1 from testdb_1.v1;
create view v4 as select f1,f2 from testdb_1.v3;
show fields from testdb_1.v5;
Field Type Null Key Default Extra
-f1 char(4) YES NULL
show create view testdb_1.v5;
View Create View character_set_client collation_connection
v5 CREATE ALGORITHM=UNDEFINED DEFINER=`testdb_1`@`localhost` SQL SECURITY DEFINER VIEW `testdb_1`.`v5` AS select `testdb_1`.`t1`.`f1` AS `f1` from `testdb_1`.`t1` latin1 latin1_swedish_ci
show fields from testdb_1.v6;
Field Type Null Key Default Extra
-f1 char(4) YES NULL
show create view testdb_1.v6;
View Create View character_set_client collation_connection
v6 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `testdb_1`.`v6` AS select `testdb_1`.`t1`.`f1` AS `f1` from `testdb_1`.`t1` latin1 latin1_swedish_ci
show fields from testdb_1.v7;
Field Type Null Key Default Extra
-f1 null YES NULL
+f1 char(4) YES NULL
Warnings:
-Note 1449 There is no 'no_such_user'@'no_such_host' registered
+Note 1449 The user specified as a definer ('no_such_user'@'no_such_host') does not exist
show create view testdb_1.v7;
View Create View character_set_client collation_connection
v7 CREATE ALGORITHM=UNDEFINED DEFINER=`no_such_user`@`no_such_host` SQL SECURITY DEFINER VIEW `v7` AS select `testdb_1`.`t2`.`f1` AS `f1` from `t2` latin1 latin1_swedish_ci
@@ -191,7 +190,7 @@ show create view v4;
ERROR HY000: EXPLAIN/SHOW can not be issued; lacking privileges for underlying table
show fields from v4;
Field Type Null Key Default Extra
-f1 null YES NULL
+f1 char(4) YES NULL
f2 char(4) YES NULL
show fields from v2;
Field Type Null Key Default Extra
@@ -211,7 +210,7 @@ v2
select view_definition from information_schema.views a
where a.table_name = 'v2';
view_definition
-select f1 from testdb_1.v1
+select `v1`.`f1` AS `f1` from `testdb_1`.`v1`
select view_definition from information_schema.views a
where a.table_name = 'testdb_1.v1';
view_definition
diff --git a/mysql-test/r/innodb-semi-consistent.result b/mysql-test/r/innodb-semi-consistent.result
new file mode 100644
index 00000000000..f1139390f20
--- /dev/null
+++ b/mysql-test/r/innodb-semi-consistent.result
@@ -0,0 +1,37 @@
+drop table if exists t1;
+set session transaction isolation level read committed;
+create table t1(a int not null) engine=innodb DEFAULT CHARSET=latin1;
+insert into t1 values (1),(2),(3),(4),(5),(6),(7);
+set autocommit=0;
+select * from t1 where a=3 lock in share mode;
+a
+3
+set session transaction isolation level read committed;
+set autocommit=0;
+update t1 set a=10 where a=5;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+commit;
+update t1 set a=10 where a=5;
+select * from t1 where a=2 for update;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+select * from t1 where a=2 limit 1 for update;
+a
+2
+update t1 set a=11 where a=6;
+update t1 set a=12 where a=2;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+update t1 set a=13 where a=1;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+commit;
+update t1 set a=14 where a=1;
+commit;
+select * from t1;
+a
+14
+2
+3
+4
+10
+11
+7
+drop table t1;
diff --git a/mysql-test/r/innodb-ucs2.result b/mysql-test/r/innodb-ucs2.result
index a1c73c912b2..b6bff7d5f42 100644
--- a/mysql-test/r/innodb-ucs2.result
+++ b/mysql-test/r/innodb-ucs2.result
@@ -1,3 +1,4 @@
+drop table if exists t1, t2;
create table t1 (
a int, b char(10), c char(10), filler char(10), primary key(a, b(2)), unique key (a, c(2))
) character set utf8 engine = innodb;
diff --git a/mysql-test/r/innodb.result b/mysql-test/r/innodb.result
index 804c4b81c17..0cd276852bf 100644
--- a/mysql-test/r/innodb.result
+++ b/mysql-test/r/innodb.result
@@ -472,43 +472,6 @@ a b
3 3
drop table t1,t2;
CREATE TABLE t1 (
-id int(11) NOT NULL auto_increment,
-ggid varchar(32) binary DEFAULT '' NOT NULL,
-email varchar(64) DEFAULT '' NOT NULL,
-passwd varchar(32) binary DEFAULT '' NOT NULL,
-PRIMARY KEY (id),
-UNIQUE ggid (ggid)
-) ENGINE=innodb;
-insert into t1 (ggid,passwd) values ('test1','xxx');
-insert into t1 (ggid,passwd) values ('test2','yyy');
-insert into t1 (ggid,passwd) values ('test2','this will fail');
-ERROR 23000: Duplicate entry 'test2' for key 'ggid'
-insert into t1 (ggid,id) values ('this will fail',1);
-ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
-select * from t1 where ggid='test1';
-id ggid email passwd
-1 test1 xxx
-select * from t1 where passwd='xxx';
-id ggid email passwd
-1 test1 xxx
-select * from t1 where id=2;
-id ggid email passwd
-2 test2 yyy
-replace into t1 (ggid,id) values ('this will work',1);
-replace into t1 (ggid,passwd) values ('test2','this will work');
-update t1 set id=100,ggid='test2' where id=1;
-ERROR 23000: Duplicate entry 'test2' for key 'ggid'
-select * from t1;
-id ggid email passwd
-1 this will work
-3 test2 this will work
-select * from t1 where id=1;
-id ggid email passwd
-1 this will work
-select * from t1 where id=999;
-id ggid email passwd
-drop table t1;
-CREATE TABLE t1 (
user_name varchar(12),
password text,
subscribed char(1),
@@ -947,7 +910,7 @@ id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 index NULL PRIMARY 4 NULL #
explain select * from t1 order by b;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index NULL b 4 NULL #
+1 SIMPLE t1 ALL NULL NULL NULL NULL # Using filesort
explain select * from t1 order by c;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL # Using filesort
@@ -962,7 +925,7 @@ id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 index NULL b 4 NULL # Using index
explain select a,b from t1;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index NULL b 4 NULL # Using index
+1 SIMPLE t1 index NULL PRIMARY 4 NULL #
explain select a,b,c from t1;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL #
@@ -1086,38 +1049,31 @@ n d
1 30
2 20
drop table t1,t2;
-CREATE TABLE `t1` (
-`a` int(11) NOT NULL auto_increment,
-`b` int(11) default NULL,
-PRIMARY KEY (`a`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 ;
-CREATE TABLE `t2` (
-`a` int(11) NOT NULL auto_increment,
-`b` int(11) default NULL,
-PRIMARY KEY (`a`)
-) ENGINE=INNODB DEFAULT CHARSET=latin1 ;
-insert into t1 values (1,1),(2,2);
-insert into t2 values (1,1),(4,4);
-reset master;
-UPDATE t2,t1 SET t2.a=t1.a+2;
-ERROR 23000: Duplicate entry '3' for key 'PRIMARY'
-select * from t2 /* must be (3,1), (4,4) */;
-a b
-1 1
-4 4
-show master status /* there must no UPDATE in binlog */;
-File Position Binlog_Do_DB Binlog_Ignore_DB
-master-bin.000001 106
-delete from t1;
-delete from t2;
-insert into t1 values (1,2),(3,4),(4,4);
-insert into t2 values (1,2),(3,4),(4,4);
-reset master;
-UPDATE t2,t1 SET t2.a=t2.b where t2.a=t1.a;
-ERROR 23000: Duplicate entry '4' for key 'PRIMARY'
-show master status /* there must be no UPDATE query event */;
-File Position Binlog_Do_DB Binlog_Ignore_DB
-master-bin.000001 106
+drop table if exists t1, t2;
+CREATE TABLE t1 (a int, PRIMARY KEY (a));
+CREATE TABLE t2 (a int, PRIMARY KEY (a)) ENGINE=InnoDB;
+create trigger trg_del_t2 after delete on t2 for each row
+insert into t1 values (1);
+insert into t1 values (1);
+insert into t2 values (1),(2);
+delete t2 from t2;
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
+select count(*) from t2 /* must be 2 as restored after rollback caused by the error */;
+count(*)
+2
+drop table t1, t2;
+drop table if exists t1, t2;
+CREATE TABLE t1 (a int, PRIMARY KEY (a));
+CREATE TABLE t2 (a int, PRIMARY KEY (a)) ENGINE=InnoDB;
+create trigger trg_del_t2 after delete on t2 for each row
+insert into t1 values (1);
+insert into t1 values (1);
+insert into t2 values (1),(2);
+delete t2 from t2;
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
+select count(*) from t2 /* must be 2 as restored after rollback caused by the error */;
+count(*)
+2
drop table t1, t2;
create table t1 (a int, b int) engine=innodb;
insert into t1 values(20,null);
@@ -1210,14 +1166,14 @@ UPDATE t1 set a=a+100 where b between 2 and 3 and a < 1000;
SELECT * from t1;
a b
1 1
-102 2
-103 3
4 4
5 5
6 6
7 7
8 8
9 9
+102 2
+103 3
drop table t1;
CREATE TABLE t1 (a int not null primary key, b int not null, key (b)) engine=innodb;
CREATE TABLE t2 (a int not null primary key, b int not null, key (b)) engine=innodb;
@@ -1241,7 +1197,6 @@ a b
update t1,t2 set t1.a=t1.a+100 where t1.a=101;
select * from t1;
a b
-201 1
102 2
103 3
104 4
@@ -1253,10 +1208,11 @@ a b
110 10
111 11
112 12
+201 1
update t1,t2 set t1.b=t1.b+10 where t1.b=2;
select * from t1;
a b
-201 1
+102 12
103 3
104 4
105 5
@@ -1266,34 +1222,34 @@ a b
109 9
110 10
111 11
-102 12
112 12
+201 1
update t1,t2 set t1.b=t1.b+2,t2.b=t1.b+10 where t1.b between 3 and 5 and t1.a=t2.a+100;
select * from t1;
a b
-201 1
+102 12
103 5
104 6
-106 6
105 7
+106 6
107 7
108 8
109 9
110 10
111 11
-102 12
112 12
+201 1
select * from t2;
a b
1 1
2 2
+3 13
+4 14
+5 15
6 6
7 7
8 8
9 9
-3 13
-4 14
-5 15
drop table t1,t2;
CREATE TABLE t2 ( NEXT_T BIGINT NOT NULL PRIMARY KEY) ENGINE=MyISAM;
CREATE TABLE t1 ( B_ID INTEGER NOT NULL PRIMARY KEY) ENGINE=InnoDB;
@@ -1344,11 +1300,11 @@ insert into t1 (id) values (null),(null),(null),(null),(null);
update t1 set fk=69 where fk is null order by id limit 1;
SELECT * from t1;
id fk
+1 69
2 NULL
3 NULL
4 NULL
5 NULL
-1 69
drop table t1;
create table t1 (a int not null, b int not null, key (a));
insert into t1 values (1,1),(1,2),(1,3),(3,1),(3,2),(3,3),(3,1),(3,2),(3,3),(2,1),(2,2),(2,3);
@@ -1784,13 +1740,13 @@ Variable_name Value
Innodb_page_size 16384
show status like "Innodb_rows_deleted";
Variable_name Value
-Innodb_rows_deleted 72
+Innodb_rows_deleted 71
show status like "Innodb_rows_inserted";
Variable_name Value
-Innodb_rows_inserted 1088
+Innodb_rows_inserted 1084
show status like "Innodb_rows_updated";
Variable_name Value
-Innodb_rows_updated 888
+Innodb_rows_updated 885
show status like "Innodb_row_lock_waits";
Variable_name Value
Innodb_row_lock_waits 0
@@ -1825,6 +1781,8 @@ show variables like "innodb_thread_concurrency";
Variable_name Value
innodb_thread_concurrency 8
set global innodb_thread_concurrency=1001;
+Warnings:
+Warning 1292 Truncated incorrect thread_concurrency value: '1001'
show variables like "innodb_thread_concurrency";
Variable_name Value
innodb_thread_concurrency 1000
@@ -1844,6 +1802,8 @@ show variables like "innodb_concurrency_tickets";
Variable_name Value
innodb_concurrency_tickets 1000
set global innodb_concurrency_tickets=0;
+Warnings:
+Warning 1292 Truncated incorrect concurrency_tickets value: '0'
show variables like "innodb_concurrency_tickets";
Variable_name Value
innodb_concurrency_tickets 1
@@ -1876,6 +1836,7 @@ set @a=repeat(' ',20);
insert into t1 values (concat('+',@a),concat('+',@a),concat('+',@a));
Warnings:
Note 1265 Data truncated for column 'v' at row 1
+Note 1265 Data truncated for column 'c' at row 1
select concat('*',v,'*',c,'*',t,'*') from t1;
concat('*',v,'*',c,'*',t,'*')
*+ *+*+ *
@@ -2477,8 +2438,8 @@ insert into t1 (b) values (1);
replace into t1 (b) values (2), (1), (3);
select * from t1;
a b
-3 1
2 2
+3 1
4 3
truncate table t1;
insert into t1 (b) values (1);
@@ -2487,8 +2448,8 @@ replace into t1 (b) values (1);
replace into t1 (b) values (3);
select * from t1;
a b
-3 1
2 2
+3 1
4 3
drop table t1;
create table t1 (rowid int not null auto_increment, val int not null,primary
@@ -3222,3 +3183,84 @@ c25 CHAR(255), c26 CHAR(255), c27 CHAR(255), c28 CHAR(255),
c29 CHAR(255), c30 CHAR(255), c31 CHAR(255), c32 CHAR(255)
) 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
+DROP TABLE IF EXISTS t1;
+Warnings:
+Note 1051 Unknown table 't1'
+CREATE TABLE t1(
+id BIGINT(20) NOT NULL AUTO_INCREMENT PRIMARY KEY
+) ENGINE=InnoDB;
+INSERT INTO t1 VALUES(-10);
+SELECT * FROM t1;
+id
+-10
+INSERT INTO t1 VALUES(NULL);
+SELECT * FROM t1;
+id
+-10
+1
+DROP TABLE t1;
+SET TX_ISOLATION='read-committed';
+SET AUTOCOMMIT=0;
+DROP TABLE IF EXISTS t1, t2;
+Warnings:
+Note 1051 Unknown table 't1'
+Note 1051 Unknown table 't2'
+CREATE TABLE t1 ( a int ) ENGINE=InnoDB;
+CREATE TABLE t2 LIKE t1;
+SELECT * FROM t2;
+a
+SET TX_ISOLATION='read-committed';
+SET AUTOCOMMIT=0;
+INSERT INTO t1 VALUES (1);
+COMMIT;
+SELECT * FROM t1 WHERE a=1;
+a
+1
+SET TX_ISOLATION='read-committed';
+SET AUTOCOMMIT=0;
+SELECT * FROM t2;
+a
+SET TX_ISOLATION='read-committed';
+SET AUTOCOMMIT=0;
+INSERT INTO t1 VALUES (2);
+COMMIT;
+SELECT * FROM t1 WHERE a=2;
+a
+2
+SELECT * FROM t1 WHERE a=2;
+a
+2
+DROP TABLE t1;
+DROP TABLE t2;
+create table t1 (i int, j int) engine=innodb;
+insert into t1 (i, j) values (1, 1), (2, 2);
+update t1 set j = 2;
+affected rows: 1
+info: Rows matched: 2 Changed: 1 Warnings: 0
+drop table t1;
+create table t1 (id int) comment='this is a comment' engine=innodb;
+select table_comment, data_free > 0 as data_free_is_set
+from information_schema.tables
+where table_schema='test' and table_name = 't1';
+table_comment data_free_is_set
+this is a comment 1
+drop table t1;
+CREATE TABLE t1 (
+c1 INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+c2 VARCHAR(128) NOT NULL,
+PRIMARY KEY(c1)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=100;
+CREATE TABLE t2 (
+c1 INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+c2 INT(10) UNSIGNED DEFAULT NULL,
+PRIMARY KEY(c1)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=200;
+SELECT AUTO_INCREMENT FROM INFORMATION_SCHEMA.TABLES WHERE table_name = 't2';
+AUTO_INCREMENT
+200
+ALTER TABLE t2 ADD CONSTRAINT t1_t2_1 FOREIGN KEY(c1) REFERENCES t1(c1);
+SELECT AUTO_INCREMENT FROM INFORMATION_SCHEMA.TABLES WHERE table_name = 't2';
+AUTO_INCREMENT
+200
+DROP TABLE t2;
+DROP TABLE t1;
diff --git a/mysql-test/r/innodb_autoinc_lock_mode_zero.result b/mysql-test/r/innodb_autoinc_lock_mode_zero.result
new file mode 100644
index 00000000000..3d016684338
--- /dev/null
+++ b/mysql-test/r/innodb_autoinc_lock_mode_zero.result
@@ -0,0 +1,39 @@
+drop table if exists t1;
+CREATE TABLE t1 (
+id int(11) NOT NULL auto_increment,
+ggid varchar(32) binary DEFAULT '' NOT NULL,
+email varchar(64) DEFAULT '' NOT NULL,
+passwd varchar(32) binary DEFAULT '' NOT NULL,
+PRIMARY KEY (id),
+UNIQUE ggid (ggid)
+) ENGINE=innodb;
+insert into t1 (ggid,passwd) values ('test1','xxx');
+insert into t1 (ggid,passwd) values ('test2','yyy');
+insert into t1 (ggid,passwd) values ('test2','this will fail');
+ERROR 23000: Duplicate entry 'test2' for key 'ggid'
+insert into t1 (ggid,id) values ('this will fail',1);
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
+select * from t1 where ggid='test1';
+id ggid email passwd
+1 test1 xxx
+select * from t1 where passwd='xxx';
+id ggid email passwd
+1 test1 xxx
+select * from t1 where id=2;
+id ggid email passwd
+2 test2 yyy
+replace into t1 (ggid,id) values ('this will work',1);
+replace into t1 (ggid,passwd) values ('test2','this will work');
+update t1 set id=100,ggid='test2' where id=1;
+ERROR 23000: Duplicate entry 'test2' for key 'ggid'
+select * from t1;
+id ggid email passwd
+1 this will work
+3 test2 this will work
+select * from t1 where id=1;
+id ggid email passwd
+1 this will work
+select * from t1 where id=999;
+id ggid email passwd
+drop table t1;
+End of tests
diff --git a/mysql-test/r/innodb_bug34053.result b/mysql-test/r/innodb_bug34053.result
new file mode 100644
index 00000000000..195775f74c8
--- /dev/null
+++ b/mysql-test/r/innodb_bug34053.result
@@ -0,0 +1 @@
+SET storage_engine=InnoDB;
diff --git a/mysql-test/r/innodb_gis.result b/mysql-test/r/innodb_gis.result
index 7f54a78087b..ef8bdcc5f3e 100644
--- a/mysql-test/r/innodb_gis.result
+++ b/mysql-test/r/innodb_gis.result
@@ -546,5 +546,44 @@ Overlaps(@horiz1, @point2)
0
DROP TABLE t1;
End of 5.0 tests
+CREATE TABLE t1 (p POINT);
+CREATE TABLE t2 (p POINT, INDEX(p));
+INSERT INTO t1 VALUES (POINTFROMTEXT('POINT(1 2)'));
+INSERT INTO t2 VALUES (POINTFROMTEXT('POINT(1 2)'));
+SELECT COUNT(*) FROM t1 WHERE p=POINTFROMTEXT('POINT(1 2)');
+COUNT(*)
+1
+EXPLAIN
+SELECT COUNT(*) FROM t2 WHERE p=POINTFROMTEXT('POINT(1 2)');
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 ref p p 28 const 1 Using where
+SELECT COUNT(*) FROM t2 WHERE p=POINTFROMTEXT('POINT(1 2)');
+COUNT(*)
+1
+INSERT INTO t1 VALUES (POINTFROMTEXT('POINT(1 2)'));
+INSERT INTO t2 VALUES (POINTFROMTEXT('POINT(1 2)'));
+EXPLAIN
+SELECT COUNT(*) FROM t1 WHERE p=POINTFROMTEXT('POINT(1 2)');
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 2 Using where
+SELECT COUNT(*) FROM t1 WHERE p=POINTFROMTEXT('POINT(1 2)');
+COUNT(*)
+2
+EXPLAIN
+SELECT COUNT(*) FROM t2 WHERE p=POINTFROMTEXT('POINT(1 2)');
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 ref p p 28 const 1 Using where
+SELECT COUNT(*) FROM t2 WHERE p=POINTFROMTEXT('POINT(1 2)');
+COUNT(*)
+2
+EXPLAIN
+SELECT COUNT(*) FROM t2 IGNORE INDEX(p) WHERE p=POINTFROMTEXT('POINT(1 2)');
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 ALL NULL NULL NULL NULL 2 Using where
+SELECT COUNT(*) FROM t2 IGNORE INDEX(p) WHERE p=POINTFROMTEXT('POINT(1 2)');
+COUNT(*)
+2
+DROP TABLE t1, t2;
+End of 5.0 tests
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/r/innodb_mysql.result b/mysql-test/r/innodb_mysql.result
index 26000fa27b7..c7f5e72bb8b 100644
--- a/mysql-test/r/innodb_mysql.result
+++ b/mysql-test/r/innodb_mysql.result
@@ -1,5 +1,8 @@
+set global innodb_support_xa=default;
+set session innodb_support_xa=default;
SET SESSION STORAGE_ENGINE = InnoDB;
drop table if exists t1,t2,t3,t1m,t1i,t2m,t2i,t4;
+drop procedure if exists p1;
create table t1 (
c_id int(11) not null default '0',
org_id int(11) default null,
@@ -352,13 +355,13 @@ EXPLAIN
SELECT COUNT(*) FROM t2 LEFT JOIN t1 ON t2.fkey = t1.id
WHERE t1.name LIKE 'A%';
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index PRIMARY,name name 23 NULL 3 Using where; Using index
+1 SIMPLE t1 index PRIMARY,name PRIMARY 4 NULL 3 Using where
1 SIMPLE t2 ref fkey fkey 5 test.t1.id 1 Using where; Using index
EXPLAIN
SELECT COUNT(*) FROM t2 LEFT JOIN t1 ON t2.fkey = t1.id
WHERE t1.name LIKE 'A%' OR FALSE;
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 t2 index NULL PRIMARY 4 NULL 5
1 SIMPLE t1 eq_ref PRIMARY PRIMARY 4 test.t2.fkey 1 Using where
DROP TABLE t1,t2;
CREATE TABLE t1 (
@@ -388,6 +391,7 @@ id select_type table type possible_keys key key_len ref rows Extra
SELECT DISTINCT t1.name, t1.dept FROM t1 WHERE t1.name='rs5';
name dept
DROP TABLE t1;
+drop table if exists t1;
show variables like 'innodb_rollback_on_timeout';
Variable_name Value
innodb_rollback_on_timeout OFF
@@ -450,6 +454,7 @@ tes 1234
drop table test;
set global query_cache_type=@save_qcache_type;
set global query_cache_size=@save_qcache_size;
+drop table if exists t1;
show variables like 'innodb_rollback_on_timeout';
Variable_name Value
innodb_rollback_on_timeout OFF
@@ -672,6 +677,8 @@ INSERT INTO t1(b,c) SELECT b,c FROM t2;
UPDATE t2 SET c='2007-01-03';
INSERT INTO t1(b,c) SELECT b,c FROM t2;
set @@sort_buffer_size=8192;
+Warnings:
+Warning 1292 Truncated incorrect sort_buffer_size value: '8192'
SELECT COUNT(*) FROM t1;
COUNT(*)
3072
@@ -774,6 +781,7 @@ EXPLAIN SELECT SQL_BIG_RESULT b, SUM(c) FROM t1 GROUP BY b;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 128 Using filesort
DROP TABLE t1;
+drop table if exists t1;
show variables like 'innodb_rollback_on_timeout';
Variable_name Value
innodb_rollback_on_timeout OFF
@@ -879,13 +887,13 @@ EXPLAIN SELECT * FROM t1 WHERE b BETWEEN 1 AND 2 ORDER BY a;
id 1
select_type SIMPLE
table t1
-type range
+type index
possible_keys bkey
-key bkey
-key_len 5
+key PRIMARY
+key_len 4
ref NULL
-rows 16
-Extra Using where; Using index; Using filesort
+rows 32
+Extra Using where
SELECT * FROM t1 WHERE b BETWEEN 1 AND 2 ORDER BY a;
a b
1 2
@@ -974,13 +982,13 @@ EXPLAIN SELECT * FROM t2 WHERE b=1 ORDER BY a;
id 1
select_type SIMPLE
table t2
-type ref
+type index
possible_keys bkey
-key bkey
-key_len 5
-ref const
-rows 8
-Extra Using where; Using index; Using filesort
+key PRIMARY
+key_len 4
+ref NULL
+rows 16
+Extra Using where; Using index
SELECT * FROM t2 WHERE b=1 ORDER BY a;
a b c
1 1 1
@@ -1123,6 +1131,237 @@ t1 CREATE TABLE `t1` (
KEY `a` (`a`(255))
) ENGINE=InnoDB DEFAULT CHARSET=utf8
drop table t1;
+CREATE TABLE t1 (
+a INT,
+b INT,
+KEY (b)
+) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1,10), (2,10), (2,20), (3,30);
+START TRANSACTION;
+SELECT * FROM t1 WHERE b=20 FOR UPDATE;
+a b
+2 20
+START TRANSACTION;
+SELECT * FROM t1 WHERE b=10 ORDER BY A FOR UPDATE;
+a b
+1 10
+2 10
+ROLLBACK;
+ROLLBACK;
+DROP TABLE t1;
+CREATE TABLE t1(
+a INT,
+b INT NOT NULL,
+c INT NOT NULL,
+d INT,
+UNIQUE KEY (c,b)
+) engine=innodb;
+INSERT INTO t1 VALUES (1,1,1,50), (1,2,3,40), (2,1,3,4);
+EXPLAIN SELECT c,b,d FROM t1 GROUP BY c,b,d;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 3 Using filesort
+SELECT c,b,d FROM t1 GROUP BY c,b,d;
+c b d
+1 1 50
+3 1 4
+3 2 40
+EXPLAIN SELECT c,b,d FROM t1 GROUP BY c,b,d ORDER BY NULL;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 3
+SELECT c,b,d FROM t1 GROUP BY c,b,d ORDER BY NULL;
+c b d
+1 1 50
+3 1 4
+3 2 40
+EXPLAIN SELECT c,b,d FROM t1 ORDER BY c,b,d;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 3 Using filesort
+SELECT c,b,d FROM t1 ORDER BY c,b,d;
+c b d
+1 1 50
+3 1 4
+3 2 40
+EXPLAIN SELECT c,b,d FROM t1 GROUP BY c,b;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index NULL c 8 NULL 3
+SELECT c,b,d FROM t1 GROUP BY c,b;
+c b d
+1 1 50
+3 1 4
+3 2 40
+EXPLAIN SELECT c,b FROM t1 GROUP BY c,b;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index NULL c 8 NULL 3 Using index
+SELECT c,b FROM t1 GROUP BY c,b;
+c b
+1 1
+3 1
+3 2
+DROP TABLE t1;
+CREATE TABLE t1 (a INT, b INT, PRIMARY KEY (a), INDEX b (b)) ENGINE=InnoDB;
+INSERT INTO t1(a,b) VALUES (1,1), (2,2), (3,2);
+EXPLAIN SELECT * FROM t1 WHERE b=2 ORDER BY a ASC;
+id 1
+select_type SIMPLE
+table t1
+type ref
+possible_keys b
+key b
+key_len 5
+ref const
+rows 1
+Extra Using where; Using index
+SELECT * FROM t1 WHERE b=2 ORDER BY a ASC;
+a b
+2 2
+3 2
+EXPLAIN SELECT * FROM t1 WHERE b=2 ORDER BY a DESC;
+id 1
+select_type SIMPLE
+table t1
+type ref
+possible_keys b
+key b
+key_len 5
+ref const
+rows 1
+Extra Using where; Using index
+SELECT * FROM t1 WHERE b=2 ORDER BY a DESC;
+a b
+3 2
+2 2
+EXPLAIN SELECT * FROM t1 ORDER BY b ASC, a ASC;
+id 1
+select_type SIMPLE
+table t1
+type index
+possible_keys NULL
+key b
+key_len 5
+ref NULL
+rows 3
+Extra Using index
+SELECT * FROM t1 ORDER BY b ASC, a ASC;
+a b
+1 1
+2 2
+3 2
+EXPLAIN SELECT * FROM t1 ORDER BY b DESC, a DESC;
+id 1
+select_type SIMPLE
+table t1
+type index
+possible_keys NULL
+key b
+key_len 5
+ref NULL
+rows 3
+Extra Using index
+SELECT * FROM t1 ORDER BY b DESC, a DESC;
+a b
+3 2
+2 2
+1 1
+EXPLAIN SELECT * FROM t1 ORDER BY b ASC, a DESC;
+id 1
+select_type SIMPLE
+table t1
+type index
+possible_keys NULL
+key PRIMARY
+key_len 4
+ref NULL
+rows 3
+Extra Using filesort
+SELECT * FROM t1 ORDER BY b ASC, a DESC;
+a b
+1 1
+3 2
+2 2
+EXPLAIN SELECT * FROM t1 ORDER BY b DESC, a ASC;
+id 1
+select_type SIMPLE
+table t1
+type index
+possible_keys NULL
+key PRIMARY
+key_len 4
+ref NULL
+rows 3
+Extra Using filesort
+SELECT * FROM t1 ORDER BY b DESC, a ASC;
+a b
+2 2
+3 2
+1 1
+DROP TABLE t1;
+
+#
+# Bug#27610: ALTER TABLE ROW_FORMAT=... does not rebuild the table.
+#
+
+# - prepare;
+
+DROP TABLE IF EXISTS t1;
+
+CREATE TABLE t1(c INT)
+ENGINE = InnoDB
+ROW_FORMAT = COMPACT;
+
+# - initial check;
+
+SELECT table_schema, table_name, row_format
+FROM INFORMATION_SCHEMA.TABLES
+WHERE table_schema = DATABASE() AND table_name = 't1';
+table_schema table_name row_format
+test t1 Compact
+
+# - change ROW_FORMAT and check;
+
+ALTER TABLE t1 ROW_FORMAT = REDUNDANT;
+
+SELECT table_schema, table_name, row_format
+FROM INFORMATION_SCHEMA.TABLES
+WHERE table_schema = DATABASE() AND table_name = 't1';
+table_schema table_name row_format
+test t1 Redundant
+
+# - that's it, cleanup.
+
+DROP TABLE t1;
+create table t1(a char(10) not null, unique key aa(a(1)),
+b char(4) not null, unique key bb(b(4))) engine=innodb;
+desc t1;
+Field Type Null Key Default Extra
+a char(10) NO UNI NULL
+b char(4) NO PRI NULL
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` char(10) NOT NULL,
+ `b` char(4) NOT NULL,
+ UNIQUE KEY `bb` (`b`),
+ UNIQUE KEY `aa` (`a`(1))
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+drop table t1;
+CREATE TABLE t1 (id int, type char(6), d int, INDEX idx(id,d)) ENGINE=InnoDB;
+INSERT INTO t1 VALUES
+(191, 'member', 1), (NULL, 'member', 3), (NULL, 'member', 4), (201, 'member', 2);
+EXPLAIN SELECT * FROM t1 WHERE id=191 OR id IS NULL ORDER BY d;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL idx NULL NULL NULL 4 Using where; Using filesort
+SELECT * FROM t1 WHERE id=191 OR id IS NULL ORDER BY d;
+id type d
+191 member 1
+NULL member 3
+NULL member 4
+DROP TABLE t1;
+set @my_innodb_autoextend_increment=@@global.innodb_autoextend_increment;
+set global innodb_autoextend_increment=8;
+set global innodb_autoextend_increment=@my_innodb_autoextend_increment;
+set @my_innodb_commit_concurrency=@@global.innodb_commit_concurrency;
+set global innodb_commit_concurrency=0;
+set global innodb_commit_concurrency=@my_innodb_commit_concurrency;
End of 5.0 tests
CREATE TABLE `t2` (
`k` int(11) NOT NULL auto_increment,
@@ -1255,4 +1494,163 @@ select if(@a=@b,"ok","wrong");
if(@a=@b,"ok","wrong")
ok
drop table t1;
+SET SESSION AUTOCOMMIT = 0;
+SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
+# Switch to connection con1
+CREATE TABLE t1 (a INT PRIMARY KEY, b VARCHAR(256))
+ENGINE = InnoDB;
+INSERT INTO t1 VALUES (1,2);
+# 1. test for locking:
+BEGIN;
+UPDATE t1 SET b = 12 WHERE a = 1;
+affected rows: 1
+info: Rows matched: 1 Changed: 1 Warnings: 0
+SELECT * FROM t1;
+a b
+1 12
+# Switch to connection con2
+UPDATE t1 SET b = 21 WHERE a = 1;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+# Switch to connection con1
+SELECT * FROM t1;
+a b
+1 12
+ROLLBACK;
+# 2. test for serialized update:
+CREATE TABLE t2 (a INT);
+TRUNCATE t1;
+INSERT INTO t1 VALUES (1,'init');
+CREATE PROCEDURE p1()
+BEGIN
+UPDATE t1 SET b = CONCAT(b, '+con2') WHERE a = 1;
+INSERT INTO t2 VALUES ();
+END|
+BEGIN;
+UPDATE t1 SET b = CONCAT(b, '+con1') WHERE a = 1;
+affected rows: 1
+info: Rows matched: 1 Changed: 1 Warnings: 0
+SELECT * FROM t1;
+a b
+1 init+con1
+# Switch to connection con2
+CALL p1;;
+# Switch to connection con1
+SELECT * FROM t1;
+a b
+1 init+con1
+COMMIT;
+SELECT * FROM t1;
+a b
+1 init+con1
+# Switch to connection con2
+SELECT * FROM t1;
+a b
+1 init+con1+con2
+# Switch to connection con1
+# 3. test for updated key column:
+TRUNCATE t1;
+TRUNCATE t2;
+INSERT INTO t1 VALUES (1,'init');
+BEGIN;
+UPDATE t1 SET a = 2, b = CONCAT(b, '+con1') WHERE a = 1;
+affected rows: 1
+info: Rows matched: 1 Changed: 1 Warnings: 0
+SELECT * FROM t1;
+a b
+2 init+con1
+# Switch to connection con2
+CALL p1;;
+# Switch to connection con1
+SELECT * FROM t1;
+a b
+2 init+con1
+COMMIT;
+SELECT * FROM t1;
+a b
+2 init+con1
+# Switch to connection con2
+SELECT * FROM t1;
+a b
+2 init+con1
+DROP PROCEDURE p1;
+DROP TABLE t1, t2;
+CREATE TABLE t1 (a INT NOT NULL, b INT NOT NULL, PRIMARY KEY (a,b)) engine=innodb;
+CREATE TABLE t2 (c INT NOT NULL, d INT NOT NULL, PRIMARY KEY (c,d),
+CONSTRAINT c2 FOREIGN KEY f2 (c) REFERENCES t1 (a,b) ON UPDATE NO ACTION) engine=innodb;
+ERROR 42000: Incorrect foreign key definition for 'f2': Key reference and table reference don't match
+CREATE TABLE t2 (c INT NOT NULL, d INT NOT NULL, PRIMARY KEY (c,d),
+CONSTRAINT c2 FOREIGN KEY (c) REFERENCES t1 (a,b) ON UPDATE NO ACTION) engine=innodb;
+ERROR 42000: Incorrect foreign key definition for 'c2': Key reference and table reference don't match
+CREATE TABLE t2 (c INT NOT NULL, d INT NOT NULL, PRIMARY KEY (c,d),
+CONSTRAINT c1 FOREIGN KEY c2 (c) REFERENCES t1 (a) ON DELETE NO ACTION,
+CONSTRAINT c2 FOREIGN KEY (c) REFERENCES t1 (a) ON UPDATE NO ACTION) engine=innodb;
+ALTER TABLE t2 DROP FOREIGN KEY c2;
+DROP TABLE t2;
+CREATE TABLE t2 (c INT NOT NULL, d INT NOT NULL, PRIMARY KEY (c,d),
+FOREIGN KEY (c) REFERENCES t1 (a,k) ON UPDATE NO ACTION) engine=innodb;
+ERROR 42000: Incorrect foreign key definition for 'foreign key without name': Key reference and table reference don't match
+CREATE TABLE t2 (c INT NOT NULL, d INT NOT NULL, PRIMARY KEY (c,d),
+FOREIGN KEY f1 (c) REFERENCES t1 (a,k) ON UPDATE NO ACTION) engine=innodb;
+ERROR 42000: Incorrect foreign key definition for 'f1': Key reference and table reference don't match
+CREATE TABLE t2 (c INT NOT NULL, d INT NOT NULL, PRIMARY KEY (c,d),
+CONSTRAINT c1 FOREIGN KEY f1 (c) REFERENCES t1 (a) ON DELETE NO ACTION,
+CONSTRAINT c2 FOREIGN KEY (c) REFERENCES t1 (a) ON UPDATE NO ACTION,
+FOREIGN KEY f3 (c) REFERENCES t1 (a) ON UPDATE NO ACTION,
+FOREIGN KEY (c) REFERENCES t1 (a) ON UPDATE NO ACTION) engine=innodb;
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `c` int(11) NOT NULL,
+ `d` int(11) NOT NULL,
+ PRIMARY KEY (`c`,`d`),
+ CONSTRAINT `c1` FOREIGN KEY (`c`) REFERENCES `t1` (`a`) ON DELETE NO ACTION,
+ CONSTRAINT `c2` FOREIGN KEY (`c`) REFERENCES `t1` (`a`) ON UPDATE NO ACTION,
+ CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`c`) REFERENCES `t1` (`a`) ON UPDATE NO ACTION,
+ CONSTRAINT `t2_ibfk_2` FOREIGN KEY (`c`) REFERENCES `t1` (`a`) ON UPDATE NO ACTION
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+DROP TABLE t2;
+DROP TABLE t1;
+create table t1 (a int auto_increment primary key) engine=innodb;
+alter table t1 order by a;
+Warnings:
+Warning 1105 ORDER BY ignored as there is a user-defined clustered index in the table 't1'
+drop table t1;
+CREATE TABLE t1
+(vid integer NOT NULL,
+tid integer NOT NULL,
+idx integer NOT NULL,
+name varchar(128) NOT NULL,
+type varchar(128) NULL,
+PRIMARY KEY(idx, vid, tid),
+UNIQUE(vid, tid, name)
+) ENGINE=InnoDB;
+INSERT INTO t1 VALUES
+(1,1,1,'pk',NULL),(2,1,1,'pk',NULL),(3,1,1,'pk',NULL),(4,1,1,'c1',NULL),
+(5,1,1,'pk',NULL),(1,1,2,'c1',NULL),(2,1,2,'c1',NULL),(3,1,2,'c1',NULL),
+(4,1,2,'c2',NULL),(5,1,2,'c1',NULL),(2,1,3,'c2',NULL),(3,1,3,'c2',NULL),
+(4,1,3,'pk',NULL),(5,1,3,'c2',NULL),
+(2,1,4,'c_extra',NULL),(3,1,4,'c_extra',NULL);
+EXPLAIN SELECT * FROM t1 WHERE tid = 1 AND vid = 3 ORDER BY idx DESC;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index vid PRIMARY 12 NULL 16 Using where
+SELECT * FROM t1 WHERE tid = 1 AND vid = 3 ORDER BY idx DESC;
+vid tid idx name type
+3 1 4 c_extra NULL
+3 1 3 c2 NULL
+3 1 2 c1 NULL
+3 1 1 pk NULL
+DROP TABLE t1;
+DROP TABLE IF EXISTS t1;
+DROP TABLE IF EXISTS t2;
+CREATE TABLE t1(id INT PRIMARY KEY)
+ENGINE=innodb;
+CREATE TABLE t2(
+t1_id INT PRIMARY KEY,
+CONSTRAINT fk1 FOREIGN KEY (t1_id) REFERENCES t1(id))
+ENGINE=innodb;
+
+ALTER TABLE t1 CHANGE id id2 INT;
+
+DROP TABLE t2;
+DROP TABLE t1;
End of 5.1 tests
diff --git a/mysql-test/r/innodb_timeout_rollback.result b/mysql-test/r/innodb_timeout_rollback.result
index b25a2bbd815..e2da6ba8af7 100644
--- a/mysql-test/r/innodb_timeout_rollback.result
+++ b/mysql-test/r/innodb_timeout_rollback.result
@@ -1,3 +1,4 @@
+drop table if exists t1;
show variables like 'innodb_rollback_on_timeout';
Variable_name Value
innodb_rollback_on_timeout ON
diff --git a/mysql-test/r/insert.result b/mysql-test/r/insert.result
index 8dbba4d454a..919aff4bfb7 100644
--- a/mysql-test/r/insert.result
+++ b/mysql-test/r/insert.result
@@ -499,4 +499,138 @@ i
2
2
DROP TABLE t1, t2;
+CREATE TABLE t1 (
+a char(20) NOT NULL,
+b char(7) DEFAULT NULL,
+c char(4) DEFAULT NULL
+);
+INSERT INTO t1(a,b,c) VALUES (9.999999e+0, 9.999999e+0, 9.999e+0);
+INSERT INTO t1(a,b,c) VALUES (1.225e-05, 1.225e-05, 1.225e-05);
+Warnings:
+Warning 1265 Data truncated for column 'c' at row 1
+INSERT INTO t1(a,b) VALUES (1.225e-04, 1.225e-04);
+INSERT INTO t1(a,b) VALUES (1.225e-01, 1.225e-01);
+INSERT INTO t1(a,b) VALUES (1.225877e-01, 1.225877e-01);
+INSERT INTO t1(a,b) VALUES (1.225e+01, 1.225e+01);
+INSERT INTO t1(a,b,c) VALUES (1.225e+01, 1.225e+01, 1.225e+01);
+INSERT INTO t1(a,b) VALUES (1.225e+05, 1.225e+05);
+INSERT INTO t1(a,b) VALUES (1.225e+10, 1.225e+10);
+INSERT INTO t1(a,b) VALUES (1.225e+15, 1.225e+15);
+INSERT INTO t1(a,b) VALUES (5000000e+0, 5000000e+0);
+INSERT INTO t1(a,b) VALUES (1.25e+78, 1.25e+78);
+INSERT INTO t1(a,b) VALUES (1.25e-94, 1.25e-94);
+INSERT INTO t1(a,b) VALUES (1.25e+203, 1.25e+203);
+INSERT INTO t1(a,b) VALUES (1.25e-175, 1.25e-175);
+INSERT INTO t1(a,c) VALUES (1.225e+0, 1.225e+0);
+INSERT INTO t1(a,c) VALUES (1.37e+0, 1.37e+0);
+INSERT INTO t1(a,c) VALUES (-1.37e+0, -1.37e+0);
+Warnings:
+Warning 1265 Data truncated for column 'c' at row 1
+INSERT INTO t1(a,c) VALUES (1.87e-3, 1.87e-3);
+Warnings:
+Warning 1265 Data truncated for column 'c' at row 1
+INSERT INTO t1(a,c) VALUES (-1.87e-2, -1.87e-2);
+Warnings:
+Warning 1265 Data truncated for column 'c' at row 1
+INSERT INTO t1(a,c) VALUES (5000e+0, 5000e+0);
+INSERT INTO t1(a,c) VALUES (-5000e+0, -5000e+0);
+Warnings:
+Warning 1265 Data truncated for column 'c' at row 1
+SELECT * FROM t1;
+a b c
+9.999999 10 10
+1.225e-05 1.2e-05 1e-0
+0.0001225 0.00012 NULL
+0.1225 0.1225 NULL
+0.1225877 0.12259 NULL
+12.25 12.25 NULL
+12.25 12.25 12.2
+122500 122500 NULL
+12250000000 1.2e+10 NULL
+1.225e+15 1.2e+15 NULL
+5000000 5000000 NULL
+1.25e+78 1.2e+78 NULL
+1.25e-94 1.2e-94 NULL
+1.25e+203 1e+203 NULL
+1.25e-175 1e-175 NULL
+1.225 NULL 1.23
+1.37 NULL 1.37
+-1.37 NULL -1.3
+0.00187 NULL 0.00
+-0.0187 NULL -0.0
+5000 NULL 5000
+-5000 NULL -500
+DROP TABLE t1;
+CREATE TABLE t1 (
+a char(20) NOT NULL,
+b char(7) DEFAULT NULL,
+c char(5)
+);
+INSERT INTO t1(a,b,c) VALUES (9.999999e+0, 9.999999e+0, 9.999e+0);
+INSERT INTO t1(a,b,c) VALUES (1.225e-05, 1.225e-05, 1.225e-05);
+INSERT INTO t1(a,b) VALUES (1.225e-04, 1.225e-04);
+INSERT INTO t1(a,b) VALUES (1.225e-01, 1.225e-01);
+INSERT INTO t1(a,b) VALUES (1.225877e-01, 1.225877e-01);
+INSERT INTO t1(a,b) VALUES (1.225e+01, 1.225e+01);
+INSERT INTO t1(a,b,c) VALUES (1.225e+01, 1.225e+01, 1.225e+01);
+INSERT INTO t1(a,b) VALUES (1.225e+05, 1.225e+05);
+INSERT INTO t1(a,b) VALUES (1.225e+10, 1.225e+10);
+INSERT INTO t1(a,b) VALUES (1.225e+15, 1.225e+15);
+INSERT INTO t1(a,b) VALUES (5000000e+0, 5000000e+0);
+INSERT INTO t1(a,b) VALUES (1.25e+78, 1.25e+78);
+INSERT INTO t1(a,b) VALUES (1.25e-94, 1.25e-94);
+INSERT INTO t1(a,b) VALUES (1.25e+203, 1.25e+203);
+INSERT INTO t1(a,b) VALUES (1.25e-175, 1.25e-175);
+INSERT INTO t1(a,c) VALUES (1.225e+0, 1.225e+0);
+INSERT INTO t1(a,c) VALUES (1.37e+0, 1.37e+0);
+INSERT INTO t1(a,c) VALUES (-1.37e+0, -1.37e+0);
+INSERT INTO t1(a,c) VALUES (1.87e-3, 1.87e-3);
+INSERT INTO t1(a,c) VALUES (-1.87e-2, -1.87e-2);
+Warnings:
+Warning 1265 Data truncated for column 'c' at row 1
+INSERT INTO t1(a,c) VALUES (5000e+0, 5000e+0);
+INSERT INTO t1(a,c) VALUES (-5000e+0, -5000e+0);
+SELECT * FROM t1;
+a b c
+9.999999 10 9.999
+1.225e-05 1.2e-05 1e-05
+0.0001225 0.00012 NULL
+0.1225 0.1225 NULL
+0.1225877 0.12259 NULL
+12.25 12.25 NULL
+12.25 12.25 12.25
+122500 122500 NULL
+12250000000 1.2e+10 NULL
+1.225e+15 1.2e+15 NULL
+5000000 5000000 NULL
+1.25e+78 1.2e+78 NULL
+1.25e-94 1.2e-94 NULL
+1.25e+203 1e+203 NULL
+1.25e-175 1e-175 NULL
+1.225 NULL 1.225
+1.37 NULL 1.37
+-1.37 NULL -1.37
+0.00187 NULL 0.002
+-0.0187 NULL -0.01
+5000 NULL 5000
+-5000 NULL -5000
+DROP TABLE t1;
+CREATE TABLE t (a CHAR(10),b INT);
+INSERT INTO t VALUES (),(),();
+INSERT INTO t(a) SELECT rand() FROM t;
+DROP TABLE t;
+CREATE TABLE t1 (c1 INT NOT NULL);
+INSERT INTO t1 VALUES(4188.32999999999992724042385816574096679687500),
+('4188.32999999999992724042385816574096679687500'), (4188);
+SELECT * FROM t1;
+c1
+4188
+4188
+4188
+CREATE TABLE t2 (c1 BIGINT);
+INSERT INTO t2 VALUES('15449237462.0000000000');
+SELECT * FROM t2;
+c1
+15449237462
+DROP TABLE t1, t2;
End of 5.0 tests.
diff --git a/mysql-test/r/insert_notembedded.result b/mysql-test/r/insert_notembedded.result
index 816060b7ec9..ac69cb65972 100644
--- a/mysql-test/r/insert_notembedded.result
+++ b/mysql-test/r/insert_notembedded.result
@@ -105,3 +105,22 @@ DROP VIEW view_target2;
DROP VIEW view_target3;
DROP USER user20989@localhost;
DROP DATABASE meow;
+connection: default
+set low_priority_updates=1;
+drop table if exists t1;
+create table t1 (a int, b int, unique key t1$a (a));
+lock table t1 read;
+connection: update
+set low_priority_updates=1;
+show variables like 'low_priority_updates';
+Variable_name Value
+low_priority_updates ON
+insert into t1 values (1, 2) ON DUPLICATE KEY UPDATE b = 2;;
+connection: select
+select * from t1;
+a b
+connection: default
+select * from t1;
+a b
+drop table t1;
+set low_priority_updates=default;
diff --git a/mysql-test/r/insert_select.result b/mysql-test/r/insert_select.result
index 2604e4bf648..780e91ea73f 100644
--- a/mysql-test/r/insert_select.result
+++ b/mysql-test/r/insert_select.result
@@ -816,3 +816,15 @@ id prev_id join_id
3 2 0
4 3 0
DROP TABLE t1,t2;
+#
+# Bug#30384: Having SQL_BUFFER_RESULT option in the
+# CREATE .. KEY(..) .. SELECT led to creating corrupted index.
+#
+create table t1(f1 int);
+insert into t1 values(1),(2),(3);
+create table t2 (key(f1)) engine=myisam select sql_buffer_result f1 from t1;
+check table t2 extended;
+Table Op Msg_type Msg_text
+test.t2 check status OK
+drop table t1,t2;
+##################################################################
diff --git a/mysql-test/r/join.result b/mysql-test/r/join.result
index fcb141a3510..9b799fccf06 100644
--- a/mysql-test/r/join.result
+++ b/mysql-test/r/join.result
@@ -897,4 +897,168 @@ select '^^: The above should be ~= 20 + cost(select * from t1). Value less than
Z
^^: The above should be ~= 20 + cost(select * from t1). Value less than 20 is an error
drop table t1, t2;
+CREATE TABLE t1 (a INT PRIMARY KEY, b INT);
+CREATE TABLE t2 (c INT PRIMARY KEY, d INT);
+INSERT INTO t1 VALUES(1,NULL),(2,NULL),(3,NULL),(4,NULL);
+INSERT INTO t1 SELECT a + 4, b FROM t1;
+INSERT INTO t1 SELECT a + 8, b FROM t1;
+INSERT INTO t1 SELECT a + 16, b FROM t1;
+INSERT INTO t1 SELECT a + 32, b FROM t1;
+INSERT INTO t1 SELECT a + 64, b FROM t1;
+INSERT INTO t2 SELECT a, b FROM t1;
+EXPLAIN SELECT * FROM t1 JOIN t2 ON b=c ORDER BY a LIMIT 2;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index NULL PRIMARY 4 NULL 2
+1 SIMPLE t2 eq_ref PRIMARY PRIMARY 4 test.t1.b 1
+EXPLAIN SELECT * FROM t1 JOIN t2 ON a=c ORDER BY a LIMIT 2;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index PRIMARY PRIMARY 4 NULL 2
+1 SIMPLE t2 eq_ref PRIMARY PRIMARY 4 test.t1.a 1
+SELECT * FROM t1 JOIN t2 ON b=c ORDER BY a LIMIT 2;
+a b c d
+SELECT * FROM t1 JOIN t2 ON a=c ORDER BY a LIMIT 2;
+a b c d
+1 NULL 1 NULL
+2 NULL 2 NULL
+EXPLAIN SELECT * FROM t1 JOIN t2 ON b=c ORDER BY a;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 128 Using filesort
+1 SIMPLE t2 eq_ref PRIMARY PRIMARY 4 test.t1.b 1
+EXPLAIN SELECT * FROM t1 JOIN t2 ON a=c ORDER BY a;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL PRIMARY NULL NULL NULL 128 Using filesort
+1 SIMPLE t2 eq_ref PRIMARY PRIMARY 4 test.t1.a 1
+SELECT * FROM t1 JOIN t2 ON b=c ORDER BY a;
+a b c d
+SELECT * FROM t1 JOIN t2 ON a=c ORDER BY a;
+a b c d
+1 NULL 1 NULL
+2 NULL 2 NULL
+3 NULL 3 NULL
+4 NULL 4 NULL
+5 NULL 5 NULL
+6 NULL 6 NULL
+7 NULL 7 NULL
+8 NULL 8 NULL
+9 NULL 9 NULL
+10 NULL 10 NULL
+11 NULL 11 NULL
+12 NULL 12 NULL
+13 NULL 13 NULL
+14 NULL 14 NULL
+15 NULL 15 NULL
+16 NULL 16 NULL
+17 NULL 17 NULL
+18 NULL 18 NULL
+19 NULL 19 NULL
+20 NULL 20 NULL
+21 NULL 21 NULL
+22 NULL 22 NULL
+23 NULL 23 NULL
+24 NULL 24 NULL
+25 NULL 25 NULL
+26 NULL 26 NULL
+27 NULL 27 NULL
+28 NULL 28 NULL
+29 NULL 29 NULL
+30 NULL 30 NULL
+31 NULL 31 NULL
+32 NULL 32 NULL
+33 NULL 33 NULL
+34 NULL 34 NULL
+35 NULL 35 NULL
+36 NULL 36 NULL
+37 NULL 37 NULL
+38 NULL 38 NULL
+39 NULL 39 NULL
+40 NULL 40 NULL
+41 NULL 41 NULL
+42 NULL 42 NULL
+43 NULL 43 NULL
+44 NULL 44 NULL
+45 NULL 45 NULL
+46 NULL 46 NULL
+47 NULL 47 NULL
+48 NULL 48 NULL
+49 NULL 49 NULL
+50 NULL 50 NULL
+51 NULL 51 NULL
+52 NULL 52 NULL
+53 NULL 53 NULL
+54 NULL 54 NULL
+55 NULL 55 NULL
+56 NULL 56 NULL
+57 NULL 57 NULL
+58 NULL 58 NULL
+59 NULL 59 NULL
+60 NULL 60 NULL
+61 NULL 61 NULL
+62 NULL 62 NULL
+63 NULL 63 NULL
+64 NULL 64 NULL
+65 NULL 65 NULL
+66 NULL 66 NULL
+67 NULL 67 NULL
+68 NULL 68 NULL
+69 NULL 69 NULL
+70 NULL 70 NULL
+71 NULL 71 NULL
+72 NULL 72 NULL
+73 NULL 73 NULL
+74 NULL 74 NULL
+75 NULL 75 NULL
+76 NULL 76 NULL
+77 NULL 77 NULL
+78 NULL 78 NULL
+79 NULL 79 NULL
+80 NULL 80 NULL
+81 NULL 81 NULL
+82 NULL 82 NULL
+83 NULL 83 NULL
+84 NULL 84 NULL
+85 NULL 85 NULL
+86 NULL 86 NULL
+87 NULL 87 NULL
+88 NULL 88 NULL
+89 NULL 89 NULL
+90 NULL 90 NULL
+91 NULL 91 NULL
+92 NULL 92 NULL
+93 NULL 93 NULL
+94 NULL 94 NULL
+95 NULL 95 NULL
+96 NULL 96 NULL
+97 NULL 97 NULL
+98 NULL 98 NULL
+99 NULL 99 NULL
+100 NULL 100 NULL
+101 NULL 101 NULL
+102 NULL 102 NULL
+103 NULL 103 NULL
+104 NULL 104 NULL
+105 NULL 105 NULL
+106 NULL 106 NULL
+107 NULL 107 NULL
+108 NULL 108 NULL
+109 NULL 109 NULL
+110 NULL 110 NULL
+111 NULL 111 NULL
+112 NULL 112 NULL
+113 NULL 113 NULL
+114 NULL 114 NULL
+115 NULL 115 NULL
+116 NULL 116 NULL
+117 NULL 117 NULL
+118 NULL 118 NULL
+119 NULL 119 NULL
+120 NULL 120 NULL
+121 NULL 121 NULL
+122 NULL 122 NULL
+123 NULL 123 NULL
+124 NULL 124 NULL
+125 NULL 125 NULL
+126 NULL 126 NULL
+127 NULL 127 NULL
+128 NULL 128 NULL
+DROP TABLE IF EXISTS t1,t2;
End of 5.0 tests.
diff --git a/mysql-test/r/join_outer_innodb.result b/mysql-test/r/join_outer_innodb.result
index e8a2d6f668b..24a11b12b03 100644
--- a/mysql-test/r/join_outer_innodb.result
+++ b/mysql-test/r/join_outer_innodb.result
@@ -8,12 +8,12 @@ EXPLAIN
SELECT COUNT(*) FROM t2 LEFT JOIN t1 ON t2.fkey = t1.id
WHERE t1.name LIKE 'A%';
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index PRIMARY,name name 23 NULL 3 Using where; Using index
+1 SIMPLE t1 index PRIMARY,name PRIMARY 4 NULL 3 Using where
1 SIMPLE t2 ref fkey fkey 5 test.t1.id 1 Using where; Using index
EXPLAIN
SELECT COUNT(*) FROM t2 LEFT JOIN t1 ON t2.fkey = t1.id
WHERE t1.name LIKE 'A%' OR FALSE;
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 t2 index NULL PRIMARY 4 NULL 5
1 SIMPLE t1 eq_ref PRIMARY PRIMARY 4 test.t2.fkey 1 Using where
DROP TABLE t1,t2;
diff --git a/mysql-test/r/key.result b/mysql-test/r/key.result
index e348a387252..fcc09a0244d 100644
--- a/mysql-test/r/key.result
+++ b/mysql-test/r/key.result
@@ -336,8 +336,8 @@ UNIQUE i1idx (i1),
UNIQUE i2idx (i2));
desc t1;
Field Type Null Key Default Extra
-i1 int(11) NO PRI
-i2 int(11) NO UNI
+i1 int(11) NO PRI NULL
+i2 int(11) NO UNI NULL
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
@@ -392,27 +392,27 @@ drop table t1;
create table t1 (a int not null primary key, b varchar(20) not null unique);
desc t1;
Field Type Null Key Default Extra
-a int(11) NO PRI
-b varchar(20) NO UNI
+a int(11) NO PRI NULL
+b varchar(20) NO UNI NULL
drop table t1;
create table t1 (a int not null primary key, b int not null unique);
desc t1;
Field Type Null Key Default Extra
-a int(11) NO PRI
-b int(11) NO UNI
+a int(11) NO PRI NULL
+b int(11) NO UNI NULL
drop table t1;
create table t1 (a int not null primary key, b varchar(20) not null, unique (b(10)));
desc t1;
Field Type Null Key Default Extra
-a int(11) NO PRI
-b varchar(20) NO UNI
+a int(11) NO PRI NULL
+b varchar(20) NO UNI NULL
drop table t1;
create table t1 (a int not null primary key, b varchar(20) not null, c varchar(20) not null, unique(b(10),c(10)));
desc t1;
Field Type Null Key Default Extra
-a int(11) NO PRI
-b varchar(20) NO MUL
-c varchar(20) NO
+a int(11) NO PRI NULL
+b varchar(20) NO MUL NULL
+c varchar(20) NO NULL
drop table t1;
create table t1 (
c1 int,
@@ -530,3 +530,77 @@ ORDER BY c.b, c.d
a b c d e f g h i j a b c d
2 2 1 2004-11-30 12:00:00 1 0 0 0 0 0 2 3388000 -553000 NULL
DROP TABLE t1, t2;
+create table t1(a int not null, key aa(a),
+b char(10) not null, unique key bb(b(1)),
+c char(4) not null, unique key cc(c));
+desc t1;
+Field Type Null Key Default Extra
+a int(11) NO MUL NULL
+b char(10) NO UNI NULL
+c char(4) NO PRI NULL
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) NOT NULL,
+ `b` char(10) NOT NULL,
+ `c` char(4) NOT NULL,
+ UNIQUE KEY `cc` (`c`),
+ UNIQUE KEY `bb` (`b`(1)),
+ KEY `aa` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+drop table t1;
+create table t1(a int not null, key aa(a),
+b char(10) not null, unique key bb(b(1)),
+c char(4) not null);
+desc t1;
+Field Type Null Key Default Extra
+a int(11) NO MUL NULL
+b char(10) NO UNI NULL
+c char(4) NO NULL
+alter table t1 add unique key cc(c);
+desc t1;
+Field Type Null Key Default Extra
+a int(11) NO MUL NULL
+b char(10) NO UNI NULL
+c char(4) NO PRI NULL
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) NOT NULL,
+ `b` char(10) NOT NULL,
+ `c` char(4) NOT NULL,
+ UNIQUE KEY `cc` (`c`),
+ UNIQUE KEY `bb` (`b`(1)),
+ KEY `aa` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+drop table t1;
+End of 5.0 tests
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 (a INT PRIMARY KEY AUTO_INCREMENT);
+INSERT INTO t1 VALUES (), (), ();
+SELECT 1 AS c1
+FROM t1
+ORDER BY (
+SELECT 1 AS c2
+FROM t1
+GROUP BY GREATEST(LAST_INSERT_ID(), t1.a) ASC
+LIMIT 1);
+c1
+1
+1
+1
+DROP TABLE t1;
+CREATE TABLE t1 (a INT, b INT, INDEX (a,b));
+INSERT INTO t1 (a, b)
+VALUES
+(1,1), (1,2), (1,3), (1,4), (1,5),
+(2,2), (2,3), (2,1), (3,1), (4,1), (4,2), (4,3), (4,4), (4,5), (4,6);
+EXPLAIN SELECT 1 FROM t1 AS t1_outer WHERE
+(SELECT max(b) FROM t1 GROUP BY a HAVING a < 2) > 12;
+id select_type table type possible_keys key key_len ref rows Extra
+1 PRIMARY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE
+2 SUBQUERY t1 range NULL a 5 NULL 8 Using index for group-by
+SELECT 1 as RES FROM t1 AS t1_outer WHERE
+(SELECT max(b) FROM t1 GROUP BY a HAVING a < 2) > 12;
+RES
+DROP TABLE t1;
diff --git a/mysql-test/r/key_cache.result b/mysql-test/r/key_cache.result
index 08d8059f61b..9ada5dc0784 100644
--- a/mysql-test/r/key_cache.result
+++ b/mysql-test/r/key_cache.result
@@ -276,6 +276,8 @@ Variable_name Value
Key_blocks_unused KEY_BLOCKS_UNUSED
set global keycache2.key_buffer_size=0;
set global keycache3.key_buffer_size=100;
+Warnings:
+Warning 1292 Truncated incorrect key_buffer_size value: '100'
set global keycache3.key_buffer_size=0;
create table t1 (mytext text, FULLTEXT (mytext));
insert t1 values ('aaabbb');
diff --git a/mysql-test/r/kill.result b/mysql-test/r/kill.result
index a08be429a83..8b6830d4798 100644
--- a/mysql-test/r/kill.result
+++ b/mysql-test/r/kill.result
@@ -1,3 +1,5 @@
+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());
@@ -125,3 +127,15 @@ drop function bug27563;
drop procedure proc27563;
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;
+#
+# 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
+SELECT 1;
+Got one of the listed errors
+set @@global.concurrent_insert= @old_concurrent_insert;
diff --git a/mysql-test/r/limit.result b/mysql-test/r/limit.result
index 01d7d7ca218..2acf74162a4 100644
--- a/mysql-test/r/limit.result
+++ b/mysql-test/r/limit.result
@@ -94,6 +94,9 @@ drop table t1;
prepare s from "select 1 limit ?";
set @a='qwe';
execute s using @a;
+1
+set @a=-1;
+execute s using @a;
ERROR HY000: Incorrect arguments to EXECUTE
prepare s from "select 1 limit 1, ?";
execute s using @a;
@@ -101,4 +104,10 @@ ERROR HY000: Incorrect arguments to EXECUTE
prepare s from "select 1 limit ?, ?";
execute s using @a, @a;
ERROR HY000: Incorrect arguments to EXECUTE
+set @a=14632475938453979136;
+execute s using @a, @a;
+1
+set @a=-14632475938453979136;
+execute s using @a, @a;
+ERROR HY000: Incorrect arguments to EXECUTE
End of 5.0 tests
diff --git a/mysql-test/r/lock.result b/mysql-test/r/lock.result
index e2000a9ec91..6152e403637 100644
--- a/mysql-test/r/lock.result
+++ b/mysql-test/r/lock.result
@@ -96,4 +96,74 @@ ERROR HY000: You can't combine write-locking of system tables with other tables
LOCK TABLES mysql.time_zone READ, mysql.proc WRITE;
ERROR HY000: You can't combine write-locking of system tables with other tables or lock types
DROP TABLE t1;
+
+Bug#5719 impossible to lock VIEW
+
+Just covering existing behaviour with tests.
+Consistency has not been found here.
+
+drop view if exists v_bug5719;
+drop table if exists t1, t2, t3;
+create table t1 (a int);
+create temporary table t2 (a int);
+create table t3 (a int);
+create view v_bug5719 as select 1;
+lock table v_bug5719 write;
+select * from t1;
+ERROR HY000: Table 't1' was not locked with LOCK TABLES
+
+Allowed to select from a temporary talbe under LOCK TABLES
+
+select * from t2;
+a
+select * from t3;
+ERROR HY000: Table 't3' was not locked with LOCK TABLES
+select * from v_bug5719;
+1
+1
+drop view v_bug5719;
+
+sic: did not left LOCK TABLES mode automatically
+
+select * from t1;
+ERROR HY000: Table 't1' was not locked with LOCK TABLES
+unlock tables;
+create view v_bug5719 as select * from t1;
+lock tables v_bug5719 write;
+select * from v_bug5719;
+a
+
+Allowed to use an underlying table under LOCK TABLES <view>
+
+select * from t1;
+a
+
+Allowed to select from a temporary table under LOCK TABLES
+
+select * from t2;
+a
+select * from t3;
+ERROR HY000: Table 't3' was not locked with LOCK TABLES
+drop table t1;
+
+sic: left LOCK TABLES mode
+
+select * from t3;
+a
+select * from v_bug5719;
+ERROR HY000: View 'test.v_bug5719' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
+unlock tables;
+drop view v_bug5719;
+
+When limitation to use temporary tables in views is removed, please
+add a test that shows what happens under LOCK TABLES when a view
+references a temporary table, is locked, and the underlying table
+is dropped.
+
+create view v_bug5719 as select * from t2;
+ERROR HY000: View's SELECT refers to a temporary table 't2'
+
+Cleanup.
+
+drop table t2, t3;
End of 5.1 tests.
diff --git a/mysql-test/r/lock_multi.result b/mysql-test/r/lock_multi.result
index 2445b3e0c69..cd05fc1473f 100644
--- a/mysql-test/r/lock_multi.result
+++ b/mysql-test/r/lock_multi.result
@@ -13,9 +13,9 @@ insert into t1 values (1);
lock tables t1 read;
update low_priority t1 set n = 4;
select n from t1;
-unlock tables;
n
1
+unlock tables;
drop table t1;
create table t1 (a int, b int);
create table t2 (c int, d int);
@@ -43,6 +43,7 @@ insert t1 select * from t2;
drop table t2;
ERROR 42S02: Table 'test.t2' doesn't exist
drop table t1;
+End of 4.1 tests
create table t1(a int);
lock tables t1 write;
show columns from t1;
@@ -91,7 +92,65 @@ DROP DATABASE mysqltest_1;
ERROR HY000: Can't drop database 'mysqltest_1'; database doesn't exist
create table t1 (f1 int(12) unsigned not null auto_increment, primary key(f1)) engine=innodb;
lock tables t1 write;
-alter table t1 auto_increment=0; alter table t1 auto_increment=0; alter table t1 auto_increment=0; alter table t1 auto_increment=0; alter table t1 auto_increment=0; //
-alter table t1 auto_increment=0; alter table t1 auto_increment=0; alter table t1 auto_increment=0; alter table t1 auto_increment=0; alter table t1 auto_increment=0; //
+alter table t1 auto_increment=0;
+alter table t1 auto_increment=0;
+unlock tables;
+drop table t1;
+End of 5.0 tests
+create table t1 (i int);
+lock table t1 read;
+update t1 set i= 10;;
+select * from t1;;
+kill query ID;
+i
+ERROR 70100: Query execution was interrupted
+unlock tables;
+drop table t1;
+drop table if exists t1;
+create table t1 (a int) ENGINE=MEMORY;
+--> client 2
+handler t1 open;
+ERROR HY000: Table storage engine for 't1' doesn't have this option
+--> client 1
+drop table t1;
+drop table if exists t1;
+create table t1 (i int);
+connection: default
+lock tables t1 write;
+connection: flush
+flush tables with read lock;;
+connection: default
+alter table t1 add column j int;
+connection: insert
+insert into t1 values (1,2);;
+connection: default
+unlock tables;
+connection: flush
+select * from t1;
+i j
unlock tables;
+select * from t1;
+i j
+1 2
drop table t1;
+drop table if exists t1;
+create table t1 (i int);
+connection: default
+lock tables t1 write;
+connection: flush
+flush tables with read lock;;
+connection: default
+flush tables;
+unlock tables;
+drop table t1;
+drop table if exists t1,t2;
+create table t1 (a int);
+flush status;
+lock tables t1 read;
+insert into t1 values(1);;
+unlock tables;
+drop table t1;
+select @tlwa < @tlwb;
+@tlwa < @tlwb
+1
+End of 5.1 tests
diff --git a/mysql-test/r/log_state.result b/mysql-test/r/log_state.result
index 0c6be16b9b7..8ecfe3b2094 100644
--- a/mysql-test/r/log_state.result
+++ b/mysql-test/r/log_state.result
@@ -37,14 +37,14 @@ set session long_query_time=1;
select sleep(2);
sleep(2)
0
-select * from mysql.slow_log;
+select * from mysql.slow_log where sql_text NOT LIKE '%slow_log%';
start_time user_host query_time lock_time rows_sent rows_examined db last_insert_id insert_id server_id sql_text
set global slow_query_log= ON;
set session long_query_time=1;
select sleep(2);
sleep(2)
0
-select * from mysql.slow_log;
+select * from mysql.slow_log where sql_text NOT LIKE '%slow_log%';
start_time user_host query_time lock_time rows_sent rows_examined db last_insert_id insert_id server_id sql_text
TIMESTAMP USER_HOST QUERY_TIME 00:00:00 1 0 test 0 0 1 select sleep(2)
show global variables
@@ -175,3 +175,78 @@ SET GLOBAL slow_query_log = ON;
SET GLOBAL READ_ONLY = OFF;
SET GLOBAL general_log = @old_general_log_state;
SET GLOBAL slow_query_log = @old_slow_log_state;
+SET @old_general_log_state = @@global.general_log;
+SET @old_slow_log_state = @@global.slow_query_log;
+SHOW VARIABLES LIKE 'general_log';
+Variable_name Value
+general_log ON
+SHOW VARIABLES LIKE 'log';
+Variable_name Value
+log ON
+SELECT @@general_log, @@log;
+@@general_log @@log
+1 1
+SET GLOBAL log = 0;
+SHOW VARIABLES LIKE 'general_log';
+Variable_name Value
+general_log OFF
+SHOW VARIABLES LIKE 'log';
+Variable_name Value
+log OFF
+SELECT @@general_log, @@log;
+@@general_log @@log
+0 0
+SET GLOBAL general_log = 1;
+SHOW VARIABLES LIKE 'general_log';
+Variable_name Value
+general_log ON
+SHOW VARIABLES LIKE 'log';
+Variable_name Value
+log ON
+SELECT @@general_log, @@log;
+@@general_log @@log
+1 1
+SHOW VARIABLES LIKE 'slow_query_log';
+Variable_name Value
+slow_query_log OFF
+SHOW VARIABLES LIKE 'log_slow_queries';
+Variable_name Value
+log_slow_queries OFF
+SELECT @@slow_query_log, @@log_slow_queries;
+@@slow_query_log @@log_slow_queries
+0 0
+SET GLOBAL log_slow_queries = 0;
+SHOW VARIABLES LIKE 'slow_query_log';
+Variable_name Value
+slow_query_log OFF
+SHOW VARIABLES LIKE 'log_slow_queries';
+Variable_name Value
+log_slow_queries OFF
+SELECT @@slow_query_log, @@log_slow_queries;
+@@slow_query_log @@log_slow_queries
+0 0
+SET GLOBAL slow_query_log = 1;
+SHOW VARIABLES LIKE 'slow_query_log';
+Variable_name Value
+slow_query_log ON
+SHOW VARIABLES LIKE 'log_slow_queries';
+Variable_name Value
+log_slow_queries ON
+SELECT @@slow_query_log, @@log_slow_queries;
+@@slow_query_log @@log_slow_queries
+1 1
+SET GLOBAL general_log = @old_general_log_state;
+SET GLOBAL slow_query_log = @old_slow_log_state;
+set @old_general_log_file= @@global.general_log_file;
+set @old_slow_query_log_file= @@global.slow_query_log_file;
+set global general_log_file= concat('/not exiting path/log.maste', 'r');
+ERROR 42000: Variable 'general_log_file' can't be set to the value of '/not exiting path/log.master'
+set global general_log_file= NULL;
+ERROR 42000: Variable 'general_log_file' can't be set to the value of 'NULL'
+set global slow_query_log_file= concat('/not exiting path/log.maste', 'r');
+ERROR 42000: Variable 'slow_query_log_file' can't be set to the value of '/not exiting path/log.master'
+set global slow_query_log_file= NULL;
+ERROR 42000: Variable 'slow_query_log_file' can't be set to the value of 'NULL'
+set global general_log_file= @old_general_log_file;
+set global slow_query_log_file= @old_slow_query_log_file;
+End of 5.1 tests
diff --git a/mysql-test/r/log_tables.result b/mysql-test/r/log_tables.result
index 9e67d328849..2a4cee9fbbc 100644
--- a/mysql-test/r/log_tables.result
+++ b/mysql-test/r/log_tables.result
@@ -42,20 +42,20 @@ show create table mysql.general_log;
Table Create Table
general_log CREATE TABLE `general_log` (
`event_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- `user_host` mediumtext,
- `thread_id` int(11) DEFAULT NULL,
- `server_id` int(11) DEFAULT NULL,
- `command_type` varchar(64) DEFAULT NULL,
- `argument` mediumtext
+ `user_host` mediumtext NOT NULL,
+ `thread_id` int(11) NOT NULL,
+ `server_id` int(11) NOT NULL,
+ `command_type` varchar(64) NOT NULL,
+ `argument` mediumtext NOT NULL
) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='General log'
show fields from mysql.general_log;
Field Type Null Key Default Extra
-event_time timestamp NO CURRENT_TIMESTAMP
-user_host mediumtext YES NULL
-thread_id int(11) YES NULL
-server_id int(11) YES NULL
-command_type varchar(64) YES NULL
-argument mediumtext YES NULL
+event_time timestamp NO CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP
+user_host mediumtext NO NULL
+thread_id int(11) NO NULL
+server_id int(11) NO NULL
+command_type varchar(64) NO NULL
+argument mediumtext NO NULL
show create table mysql.slow_log;
Table Create Table
slow_log CREATE TABLE `slow_log` (
@@ -65,25 +65,25 @@ slow_log CREATE TABLE `slow_log` (
`lock_time` time NOT NULL,
`rows_sent` int(11) NOT NULL,
`rows_examined` int(11) NOT NULL,
- `db` varchar(512) DEFAULT NULL,
- `last_insert_id` int(11) DEFAULT NULL,
- `insert_id` int(11) DEFAULT NULL,
- `server_id` int(11) DEFAULT NULL,
+ `db` varchar(512) NOT NULL,
+ `last_insert_id` int(11) NOT NULL,
+ `insert_id` int(11) NOT NULL,
+ `server_id` int(11) NOT NULL,
`sql_text` mediumtext NOT NULL
) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='Slow log'
show fields from mysql.slow_log;
Field Type Null Key Default Extra
-start_time timestamp NO CURRENT_TIMESTAMP
-user_host mediumtext NO
-query_time time NO
-lock_time time NO
-rows_sent int(11) NO
-rows_examined int(11) NO
-db varchar(512) YES NULL
-last_insert_id int(11) YES NULL
-insert_id int(11) YES NULL
-server_id int(11) YES NULL
-sql_text mediumtext NO
+start_time timestamp NO CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP
+user_host mediumtext NO NULL
+query_time time NO NULL
+lock_time time NO NULL
+rows_sent int(11) NO NULL
+rows_examined int(11) NO NULL
+db varchar(512) NO NULL
+last_insert_id int(11) NO NULL
+insert_id int(11) NO NULL
+server_id int(11) NO NULL
+sql_text mediumtext NO NULL
flush logs;
flush tables;
SET GLOBAL GENERAL_LOG=ON;
@@ -107,6 +107,17 @@ Database Table In_use Name_locked
SET GLOBAL GENERAL_LOG=ON;
SET GLOBAL SLOW_QUERY_LOG=ON;
truncate table mysql.general_log;
+set names binary;
+select _koi8r'ÔÅÓÔ' as test;
+test
+ÔÅÓÔ
+select * from mysql.general_log;
+event_time user_host thread_id server_id command_type argument
+TIMESTAMP USER_HOST THREAD_ID 1 Query set names binary
+TIMESTAMP USER_HOST THREAD_ID 1 Query select _koi8r'\xD4\xC5\xD3\xD4' as test
+TIMESTAMP USER_HOST THREAD_ID 1 Query select * from mysql.general_log
+set names utf8;
+truncate table mysql.general_log;
set names utf8;
create table bug16905 (s char(15) character set utf8 default 'пуÑто');
insert into bug16905 values ('новое');
@@ -141,11 +152,11 @@ show create table mysql.general_log;
Table Create Table
general_log CREATE TABLE `general_log` (
`event_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- `user_host` mediumtext,
- `thread_id` int(11) DEFAULT NULL,
- `server_id` int(11) DEFAULT NULL,
- `command_type` varchar(64) DEFAULT NULL,
- `argument` mediumtext
+ `user_host` mediumtext NOT NULL,
+ `thread_id` int(11) NOT NULL,
+ `server_id` int(11) NOT NULL,
+ `command_type` varchar(64) NOT NULL,
+ `argument` mediumtext NOT NULL
) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='General log'
show create table mysql.slow_log;
Table Create Table
@@ -156,10 +167,10 @@ slow_log CREATE TABLE `slow_log` (
`lock_time` time NOT NULL,
`rows_sent` int(11) NOT NULL,
`rows_examined` int(11) NOT NULL,
- `db` varchar(512) DEFAULT NULL,
- `last_insert_id` int(11) DEFAULT NULL,
- `insert_id` int(11) DEFAULT NULL,
- `server_id` int(11) DEFAULT NULL,
+ `db` varchar(512) NOT NULL,
+ `last_insert_id` int(11) NOT NULL,
+ `insert_id` int(11) NOT NULL,
+ `server_id` int(11) NOT NULL,
`sql_text` mediumtext NOT NULL
) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='Slow log'
alter table mysql.general_log engine=myisam;
@@ -168,11 +179,11 @@ show create table mysql.general_log;
Table Create Table
general_log CREATE TABLE `general_log` (
`event_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- `user_host` mediumtext,
- `thread_id` int(11) DEFAULT NULL,
- `server_id` int(11) DEFAULT NULL,
- `command_type` varchar(64) DEFAULT NULL,
- `argument` mediumtext
+ `user_host` mediumtext NOT NULL,
+ `thread_id` int(11) NOT NULL,
+ `server_id` int(11) NOT NULL,
+ `command_type` varchar(64) NOT NULL,
+ `argument` mediumtext NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='General log'
show create table mysql.slow_log;
Table Create Table
@@ -183,10 +194,10 @@ slow_log CREATE TABLE `slow_log` (
`lock_time` time NOT NULL,
`rows_sent` int(11) NOT NULL,
`rows_examined` int(11) NOT NULL,
- `db` varchar(512) DEFAULT NULL,
- `last_insert_id` int(11) DEFAULT NULL,
- `insert_id` int(11) DEFAULT NULL,
- `server_id` int(11) DEFAULT NULL,
+ `db` varchar(512) NOT NULL,
+ `last_insert_id` int(11) NOT NULL,
+ `insert_id` int(11) NOT NULL,
+ `server_id` int(11) NOT NULL,
`sql_text` mediumtext NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Slow log'
set global general_log='ON';
@@ -241,11 +252,11 @@ use mysql;
CREATE TABLE `general_log` (
`event_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP,
-`user_host` mediumtext,
-`thread_id` int(11) DEFAULT NULL,
-`server_id` int(11) DEFAULT NULL,
-`command_type` varchar(64) DEFAULT NULL,
-`argument` mediumtext
+`user_host` mediumtext NOT NULL,
+`thread_id` int(11) NOT NULL,
+`server_id` int(11) NOT NULL,
+`command_type` varchar(64) NOT NULL,
+`argument` mediumtext NOT NULL
) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='General log';
CREATE TABLE `slow_log` (
`start_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
@@ -255,10 +266,10 @@ ON UPDATE CURRENT_TIMESTAMP,
`lock_time` time NOT NULL,
`rows_sent` int(11) NOT NULL,
`rows_examined` int(11) NOT NULL,
-`db` varchar(512) DEFAULT NULL,
-`last_insert_id` int(11) DEFAULT NULL,
-`insert_id` int(11) DEFAULT NULL,
-`server_id` int(11) DEFAULT NULL,
+`db` varchar(512) NOT NULL,
+`last_insert_id` int(11) NOT NULL,
+`insert_id` int(11) NOT NULL,
+`server_id` int(11) NOT NULL,
`sql_text` mediumtext NOT NULL
) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='Slow log';
set global general_log='ON';
@@ -270,6 +281,10 @@ use mysql;
lock tables general_log read local, help_category read local;
ERROR HY000: You can't use locks with log tables.
unlock tables;
+drop table if exists mysql.renamed_general_log;
+drop table if exists mysql.renamed_slow_log;
+drop table if exists mysql.general_log_new;
+drop table if exists mysql.slow_log_new;
use mysql;
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'
@@ -399,9 +414,9 @@ My own slow query sleep(2)
My own slow query 0
SELECT * FROM mysql.slow_log WHERE seq >= 2 LIMIT 3;
start_time user_host query_time lock_time rows_sent rows_examined db last_insert_id insert_id server_id sql_text seq
-START_TIME USER_HOST QUERY_TIME 00:00:00 1 0 test NULL NULL 1 SELECT "My own slow query", sleep(2) 2
-START_TIME USER_HOST QUERY_TIME 00:00:00 1 0 test NULL NULL 1 SELECT "My own slow query", sleep(2) 3
-START_TIME USER_HOST QUERY_TIME 00:00:00 1 0 test NULL NULL 1 SELECT "My own slow query", sleep(2) 4
+START_TIME USER_HOST QUERY_TIME 00:00:00 1 0 test 0 0 1 SELECT "My own slow query", sleep(2) 2
+START_TIME USER_HOST QUERY_TIME 00:00:00 1 0 test 0 0 1 SELECT "My own slow query", sleep(2) 3
+START_TIME USER_HOST QUERY_TIME 00:00:00 1 0 test 0 0 1 SELECT "My own slow query", sleep(2) 4
SET GLOBAL slow_query_log = 0;
SET SESSION long_query_time =@old_long_query_time;
FLUSH LOGS;
@@ -601,3 +616,247 @@ DROP PROCEDURE IF EXISTS `db_17876.archiveGeneralLog`;
DROP DATABASE IF EXISTS `db_17876`;
SET GLOBAL general_log = @old_general_log_state;
SET GLOBAL slow_query_log = @old_slow_log_state;
+select CONNECTION_ID() into @thread_id;
+truncate table mysql.general_log;
+set @old_general_log_state = @@global.general_log;
+set global general_log = on;
+set @lparam = "000 001 002 003 004 005 006 007 008 009"
+ "010 011 012 013 014 015 016 017 018 019"
+ "020 021 022 023 024 025 026 027 028 029"
+ "030 031 032 033 034 035 036 037 038 039"
+ "040 041 042 043 044 045 046 047 048 049"
+ "050 051 052 053 054 055 056 057 058 059"
+ "060 061 062 063 064 065 066 067 068 069"
+ "070 071 072 073 074 075 076 077 078 079"
+ "080 081 082 083 084 085 086 087 088 089"
+ "090 091 092 093 094 095 096 097 098 099"
+ "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 146 147 148 149"
+ "150 151 152 153 154 155 156 157 158 159"
+ "160 161 162 163 164 165 166 167 168 169"
+ "170 171 172 173 174 175 176 177 178 179"
+ "180 181 182 183 184 185 186 187 188 189"
+ "190 191 192 193 194 195 196 197 198 199"
+ "200 201 202 203 204 205 206 207 208 209"
+ "210 211 212 213 214 215 216 217 218 219"
+ "220 221 222 223 224 225 226 227 228 229"
+ "230 231 232 233 234 235 236 237 238 239"
+ "240 241 242 243 244 245 246 247 248 249"
+ "250 251 252 253 254 255 256 257 258 259"
+ "260 261 262 263 264 265 266 267 268 269"
+ "270 271 272 273 274 275 276 277 278 279"
+ "280 281 282 283 284 285 286 287 288 289"
+ "290 291 292 293 294 295 296 297 298 299"
+ "300 301 302 303 304 305 306 307 308 309"
+ "310 311 312 313 314 315 316 317 318 319"
+ "320 321 322 323 324 325 326 327 328 329"
+ "330 331 332 333 334 335 336 337 338 339"
+ "340 341 342 343 344 345 346 347 348 349"
+ "350 351 352 353 354 355 356 357 358 359"
+ "360 361 362 363 364 365 366 367 368 369"
+ "370 371 372 373 374 375 376 377 378 379"
+ "380 381 382 383 384 385 386 387 388 389"
+ "390 391 392 393 394 395 396 397 398 399"
+ "400 401 402 403 404 405 406 407 408 409"
+ "410 411 412 413 414 415 416 417 418 419"
+ "420 421 422 423 424 425 426 427 428 429"
+ "430 431 432 433 434 435 436 437 438 439"
+ "440 441 442 443 444 445 446 447 448 449"
+ "450 451 452 453 454 455 456 457 458 459"
+ "460 461 462 463 464 465 466 467 468 469"
+ "470 471 472 473 474 475 476 477 478 479"
+ "480 481 482 483 484 485 486 487 488 489"
+ "490 491 492 493 494 495 496 497 498 499"
+ "500 501 502 503 504 505 506 507 508 509"
+ "510 511 512 513 514 515 516 517 518 519"
+ "520 521 522 523 524 525 526 527 528 529"
+ "530 531 532 533 534 535 536 537 538 539"
+ "540 541 542 543 544 545 546 547 548 549"
+ "550 551 552 553 554 555 556 557 558 559"
+ "560 561 562 563 564 565 566 567 568 569"
+ "570 571 572 573 574 575 576 577 578 579"
+ "580 581 582 583 584 585 586 587 588 589"
+ "590 591 592 593 594 595 596 597 598 599"
+ "600 601 602 603 604 605 606 607 608 609"
+ "610 611 612 613 614 615 616 617 618 619"
+ "620 621 622 623 624 625 626 627 628 629"
+ "630 631 632 633 634 635 636 637 638 639"
+ "640 641 642 643 644 645 646 647 648 649"
+ "650 651 652 653 654 655 656 657 658 659"
+ "660 661 662 663 664 665 666 667 668 669"
+ "670 671 672 673 674 675 676 677 678 679"
+ "680 681 682 683 684 685 686 687 688 689"
+ "690 691 692 693 694 695 696 697 698 699"
+ "700 701 702 703 704 705 706 707 708 709"
+ "710 711 712 713 714 715 716 717 718 719"
+ "720 721 722 723 724 725 726 727 728 729"
+ "730 731 732 733 734 735 736 737 738 739"
+ "740 741 742 743 744 745 746 747 748 749"
+ "750 751 752 753 754 755 756 757 758 759"
+ "760 761 762 763 764 765 766 767 768 769"
+ "770 771 772 773 774 775 776 777 778 779"
+ "780 781 782 783 784 785 786 787 788 789"
+ "790 791 792 793 794 795 796 797 798 799"
+ "800 801 802 803 804 805 806 807 808 809"
+ "810 811 812 813 814 815 816 817 818 819"
+ "820 821 822 823 824 825 826 827 828 829"
+ "830 831 832 833 834 835 836 837 838 839"
+ "840 841 842 843 844 845 846 847 848 849"
+ "850 851 852 853 854 855 856 857 858 859"
+ "860 861 862 863 864 865 866 867 868 869"
+ "870 871 872 873 874 875 876 877 878 879"
+ "880 881 882 883 884 885 886 887 888 889"
+ "890 891 892 893 894 895 896 897 898 899"
+ "900 901 902 903 904 905 906 907 908 909"
+ "910 911 912 913 914 915 916 917 918 919"
+ "920 921 922 923 924 925 926 927 928 929"
+ "930 931 932 933 934 935 936 937 938 939"
+ "940 941 942 943 944 945 946 947 948 949"
+ "950 951 952 953 954 955 956 957 958 959"
+ "960 961 962 963 964 965 966 967 968 969"
+ "970 971 972 973 974 975 976 977 978 979"
+ "980 981 982 983 984 985 986 987 988 989"
+ "990 991 992 993 994 995 996 997 998 999";
+prepare long_query from "select ? as long_query";
+execute long_query using @lparam;
+set global general_log = off;
+select command_type, argument from mysql.general_log where thread_id = @thread_id;
+command_type argument
+Query set @lparam = "000 001 002 003 004 005 006 007 008 009"
+ "010 011 012 013 014 015 016 017 018 019"
+ "020 021 022 023 024 025 026 027 028 029"
+ "030 031 032 033 034 035 036 037 038 039"
+ "040 041 042 043 044 045 046 047 048 049"
+ "050 051 052 053 054 055 056 057 058 059"
+ "060 061 062 063 064 065 066 067 068 069"
+ "070 071 072 073 074 075 076 077 078 079"
+ "080 081 082 083 084 085 086 087 088 089"
+ "090 091 092 093 094 095 096 097 098 099"
+ "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 146 147 148 149"
+ "150 151 152 153 154 155 156 157 158 159"
+ "160 161 162 163 164 165 166 167 168 169"
+ "170 171 172 173 174 175 176 177 178 179"
+ "180 181 182 183 184 185 186 187 188 189"
+ "190 191 192 193 194 195 196 197 198 199"
+ "200 201 202 203 204 205 206 207 208 209"
+ "210 211 212 213 214 215 216 217 218 219"
+ "220 221 222 223 224 225 226 227 228 229"
+ "230 231 232 233 234 235 236 237 238 239"
+ "240 241 242 243 244 245 246 247 248 249"
+ "250 251 252 253 254 255 256 257 258 259"
+ "260 261 262 263 264 265 266 267 268 269"
+ "270 271 272 273 274 275 276 277 278 279"
+ "280 281 282 283 284 285 286 287 288 289"
+ "290 291 292 293 294 295 296 297 298 299"
+ "300 301 302 303 304 305 306 307 308 309"
+ "310 311 312 313 314 315 316 317 318 319"
+ "320 321 322 323 324 325 326 327 328 329"
+ "330 331 332 333 334 335 336 337 338 339"
+ "340 341 342 343 344 345 346 347 348 349"
+ "350 351 352 353 354 355 356 357 358 359"
+ "360 361 362 363 364 365 366 367 368 369"
+ "370 371 372 373 374 375 376 377 378 379"
+ "380 381 382 383 384 385 386 387 388 389"
+ "390 391 392 393 394 395 396 397 398 399"
+ "400 401 402 403 404 405 406 407 408 409"
+ "410 411 412 413 414 415 416 417 418 419"
+ "420 421 422 423 424 425 426 427 428 429"
+ "430 431 432 433 434 435 436 437 438 439"
+ "440 441 442 443 444 445 446 447 448 449"
+ "450 451 452 453 454 455 456 457 458 459"
+ "460 461 462 463 464 465 466 467 468 469"
+ "470 471 472 473 474 475 476 477 478 479"
+ "480 481 482 483 484 485 486 487 488 489"
+ "490 491 492 493 494 495 496 497 498 499"
+ "500 501 502 503 504 505 506 507 508 509"
+ "510 511 512 513 514 515 516 517 518 519"
+ "520 521 522 523 524 525 526 527 528 529"
+ "530 531 532 533 534 535 536 537 538 539"
+ "540 541 542 543 544 545 546 547 548 549"
+ "550 551 552 553 554 555 556 557 558 559"
+ "560 561 562 563 564 565 566 567 568 569"
+ "570 571 572 573 574 575 576 577 578 579"
+ "580 581 582 583 584 585 586 587 588 589"
+ "590 591 592 593 594 595 596 597 598 599"
+ "600 601 602 603 604 605 606 607 608 609"
+ "610 611 612 613 614 615 616 617 618 619"
+ "620 621 622 623 624 625 626 627 628 629"
+ "630 631 632 633 634 635 636 637 638 639"
+ "640 641 642 643 644 645 646 647 648 649"
+ "650 651 652 653 654 655 656 657 658 659"
+ "660 661 662 663 664 665 666 667 668 669"
+ "670 671 672 673 674 675 676 677 678 679"
+ "680 681 682 683 684 685 686 687 688 689"
+ "690 691 692 693 694 695 696 697 698 699"
+ "700 701 702 703 704 705 706 707 708 709"
+ "710 711 712 713 714 715 716 717 718 719"
+ "720 721 722 723 724 725 726 727 728 729"
+ "730 731 732 733 734 735 736 737 738 739"
+ "740 741 742 743 744 745 746 747 748 749"
+ "750 751 752 753 754 755 756 757 758 759"
+ "760 761 762 763 764 765 766 767 768 769"
+ "770 771 772 773 774 775 776 777 778 779"
+ "780 781 782 783 784 785 786 787 788 789"
+ "790 791 792 793 794 795 796 797 798 799"
+ "800 801 802 803 804 805 806 807 808 809"
+ "810 811 812 813 814 815 816 817 818 819"
+ "820 821 822 823 824 825 826 827 828 829"
+ "830 831 832 833 834 835 836 837 838 839"
+ "840 841 842 843 844 845 846 847 848 849"
+ "850 851 852 853 854 855 856 857 858 859"
+ "860 861 862 863 864 865 866 867 868 869"
+ "870 871 872 873 874 875 876 877 878 879"
+ "880 881 882 883 884 885 886 887 888 889"
+ "890 891 892 893 894 895 896 897 898 899"
+ "900 901 902 903 904 905 906 907 908 909"
+ "910 911 912 913 914 915 916 917 918 919"
+ "920 921 922 923 924 925 926 927 928 929"
+ "930 931 932 933 934 935 936 937 938 939"
+ "940 941 942 943 944 945 946 947 948 949"
+ "950 951 952 953 954 955 956 957 958 959"
+ "960 961 962 963 964 965 966 967 968 969"
+ "970 971 972 973 974 975 976 977 978 979"
+ "980 981 982 983 984 985 986 987 988 989"
+ "990 991 992 993 994 995 996 997 998 999"
+Query prepare long_query from "select ? as long_query"
+Prepare select ? as long_query
+Query execute long_query using @lparam
+Execute select '000 001 002 003 004 005 006 007 008 009010 011 012 013 014 015 016 017 018 019020 021 022 023 024 025 026 027 028 029030 031 032 033 034 035 036 037 038 039040 041 042 043 044 045 046 047 048 049050 051 052 053 054 055 056 057 058 059060 061 062 063 064 065 066 067 068 069070 071 072 073 074 075 076 077 078 079080 081 082 083 084 085 086 087 088 089090 091 092 093 094 095 096 097 098 099100 101 102 103 104 105 106 107 108 109110 111 112 113 114 115 116 117 118 119120 121 122 123 124 125 126 127 128 129130 131 132 133 134 135 136 137 138 139140 141 142 143 144 145 146 147 148 149150 151 152 153 154 155 156 157 158 159160 161 162 163 164 165 166 167 168 169170 171 172 173 174 175 176 177 178 179180 181 182 183 184 185 186 187 188 189190 191 192 193 194 195 196 197 198 199200 201 202 203 204 205 206 207 208 209210 211 212 213 214 215 216 217 218 219220 221 222 223 224 225 226 227 228 229230 231 232 233 234 235 236 237 238 239240 241 242 243 244 245 246 247 248 249250 251 252 253 254 255 256 257 258 259260 261 262 263 264 265 266 267 268 269270 271 272 273 274 275 276 277 278 279280 281 282 283 284 285 286 287 288 289290 291 292 293 294 295 296 297 298 299300 301 302 303 304 305 306 307 308 309310 311 312 313 314 315 316 317 318 319320 321 322 323 324 325 326 327 328 329330 331 332 333 334 335 336 337 338 339340 341 342 343 344 345 346 347 348 349350 351 352 353 354 355 356 357 358 359360 361 362 363 364 365 366 367 368 369370 371 372 373 374 375 376 377 378 379380 381 382 383 384 385 386 387 388 389390 391 392 393 394 395 396 397 398 399400 401 402 403 404 405 406 407 408 409410 411 412 413 414 415 416 417 418 419420 421 422 423 424 425 426 427 428 429430 431 432 433 434 435 436 437 438 439440 441 442 443 444 445 446 447 448 449450 451 452 453 454 455 456 457 458 459460 461 462 463 464 465 466 467 468 469470 471 472 473 474 475 476 477 478 479480 481 482 483 484 485 486 487 488 489490 491 492 493 494 495 496 497 498 499500 501 502 503 504 505 506 507 508 509510 511 512 513 514 515 516 517 518 519520 521 522 523 524 525 526 527 528 529530 531 532 533 534 535 536 537 538 539540 541 542 543 544 545 546 547 548 549550 551 552 553 554 555 556 557 558 559560 561 562 563 564 565 566 567 568 569570 571 572 573 574 575 576 577 578 579580 581 582 583 584 585 586 587 588 589590 591 592 593 594 595 596 597 598 599600 601 602 603 604 605 606 607 608 609610 611 612 613 614 615 616 617 618 619620 621 622 623 624 625 626 627 628 629630 631 632 633 634 635 636 637 638 639640 641 642 643 644 645 646 647 648 649650 651 652 653 654 655 656 657 658 659660 661 662 663 664 665 666 667 668 669670 671 672 673 674 675 676 677 678 679680 681 682 683 684 685 686 687 688 689690 691 692 693 694 695 696 697 698 699700 701 702 703 704 705 706 707 708 709710 711 712 713 714 715 716 717 718 719720 721 722 723 724 725 726 727 728 729730 731 732 733 734 735 736 737 738 739740 741 742 743 744 745 746 747 748 749750 751 752 753 754 755 756 757 758 759760 761 762 763 764 765 766 767 768 769770 771 772 773 774 775 776 777 778 779780 781 782 783 784 785 786 787 788 789790 791 792 793 794 795 796 797 798 799800 801 802 803 804 805 806 807 808 809810 811 812 813 814 815 816 817 818 819820 821 822 823 824 825 826 827 828 829830 831 832 833 834 835 836 837 838 839840 841 842 843 844 845 846 847 848 849850 851 852 853 854 855 856 857 858 859860 861 862 863 864 865 866 867 868 869870 871 872 873 874 875 876 877 878 879880 881 882 883 884 885 886 887 888 889890 891 892 893 894 895 896 897 898 899900 901 902 903 904 905 906 907 908 909910 911 912 913 914 915 916 917 918 919920 921 922 923 924 925 926 927 928 929930 931 932 933 934 935 936 937 938 939940 941 942 943 944 945 946 947 948 949950 951 952 953 954 955 956 957 958 959960 961 962 963 964 965 966 967 968 969970 971 972 973 974 975 976 977 978 979980 981 982 983 984 985 986 987 988 989990 991 992 993 994 995 996 997 998 999' as long_query
+Query set global general_log = off
+deallocate prepare long_query;
+set global general_log = @old_general_log_state;
+SET @old_slow_log_state = @@global.slow_query_log;
+SET SESSION long_query_time = 0;
+SET GLOBAL slow_query_log = ON;
+FLUSH LOGS;
+TRUNCATE TABLE mysql.slow_log;
+CREATE TABLE t1 (f1 SERIAL,f2 INT, f3 INT, PRIMARY KEY(f1), KEY(f2));
+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);
+SELECT SQL_NO_CACHE 'Bug#31700 - SCAN',f1,f2,f3,SLEEP(1.1) FROM t1 WHERE f3=4;
+Bug#31700 - SCAN f1 f2 f3 SLEEP(1.1)
+Bug#31700 - SCAN 4 4 4 0
+SELECT SQL_NO_CACHE 'Bug#31700 - KEY', f1,f2,f3,SLEEP(1.1) FROM t1 WHERE f2=3;
+Bug#31700 - KEY f1 f2 f3 SLEEP(1.1)
+Bug#31700 - KEY 3 3 3 0
+SELECT SQL_NO_CACHE 'Bug#31700 - PK', f1,f2,f3,SLEEP(1.1) FROM t1 WHERE f1=2;
+Bug#31700 - PK f1 f2 f3 SLEEP(1.1)
+Bug#31700 - PK 2 2 2 0
+SELECT start_time, rows_examined, rows_sent, sql_text FROM mysql.slow_log WHERE sql_text LIKE '%Bug#31700%' ORDER BY start_time;
+start_time rows_examined rows_sent sql_text
+TIMESTAMP 4 1 SELECT SQL_NO_CACHE 'Bug#31700 - SCAN',f1,f2,f3,SLEEP(1.1) FROM t1 WHERE f3=4
+TIMESTAMP 1 1 SELECT SQL_NO_CACHE 'Bug#31700 - KEY', f1,f2,f3,SLEEP(1.1) FROM t1 WHERE f2=3
+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;
+SET GLOBAL slow_query_log = @old_slow_log_state;
+SET SESSION long_query_time =@old_long_query_time;
diff --git a/mysql-test/r/lowercase_view.result b/mysql-test/r/lowercase_view.result
index 3653461c6b8..c37dc41c495 100644
--- a/mysql-test/r/lowercase_view.result
+++ b/mysql-test/r/lowercase_view.result
@@ -119,7 +119,7 @@ create table t1Aa (col1 int);
create view v1Aa as select col1 from t1Aa as AaA;
show create view v1AA;
View Create View character_set_client collation_connection
-v1aa CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1aa` AS select `aaa`.`col1` AS `col1` from `t1aa` `AaA` latin1 latin1_swedish_ci
+v1aa CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1aa` AS select `aaa`.`col1` AS `col1` from `t1aa` `aaa` latin1 latin1_swedish_ci
drop view v1AA;
select Aaa.col1 from t1Aa as AaA;
col1
@@ -128,6 +128,23 @@ drop view v1AA;
create view v1Aa as select AaA.col1 from t1Aa as AaA;
show create view v1AA;
View Create View character_set_client collation_connection
-v1aa CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1aa` AS select `aaa`.`col1` AS `col1` from `t1aa` `AaA` latin1 latin1_swedish_ci
+v1aa CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1aa` AS select `aaa`.`col1` AS `col1` from `t1aa` `aaa` latin1 latin1_swedish_ci
drop view v1AA;
drop table t1Aa;
+CREATE TABLE t1 (a int, b int);
+select X.a from t1 AS X group by X.b having (X.a = 1);
+a
+select X.a from t1 AS X group by X.b having (x.a = 1);
+a
+select X.a from t1 AS X group by X.b having (x.b = 1);
+a
+CREATE OR REPLACE VIEW v1 AS
+select X.a from t1 AS X group by X.b having (X.a = 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 `x`.`a` AS `a` from `t1` `x` group by `x`.`b` having (`x`.`a` = 1) latin1 latin1_swedish_ci
+SELECT * FROM v1;
+a
+DROP VIEW v1;
+DROP TABLE t1;
+End of 5.0 tests.
diff --git a/mysql-test/r/merge-big.result b/mysql-test/r/merge-big.result
new file mode 100644
index 00000000000..e34ebbd9578
--- /dev/null
+++ b/mysql-test/r/merge-big.result
@@ -0,0 +1,26 @@
+drop table if exists t1,t2,t3,t4,t5,t6;
+#
+# Bug#26379 - Combination of FLUSH TABLE and REPAIR TABLE
+# corrupts a MERGE table
+# Problem #3
+#
+CREATE TABLE t1 (c1 INT) ENGINE= MyISAM;
+LOCK TABLE t1 WRITE;
+# connection con1
+SET SESSION debug="+d,sleep_open_and_lock_after_open";
+INSERT INTO t1 VALUES (1);
+# connection default
+# Let INSERT go into thr_multi_lock().
+# Kick INSERT out of thr_multi_lock().
+FLUSH TABLES;
+# Let INSERT go through open_tables() where it sleeps.
+# Unlock and close table and wait for con1 to close too.
+FLUSH TABLES;
+# This should give no result.
+SELECT * FROM t1;
+c1
+UNLOCK TABLES;
+# connection con1
+SET SESSION debug="-d,sleep_open_and_lock_after_open";
+# connection default
+DROP TABLE t1;
diff --git a/mysql-test/r/merge.result b/mysql-test/r/merge.result
index bb4fc654b38..4c05000573c 100644
--- a/mysql-test/r/merge.result
+++ b/mysql-test/r/merge.result
@@ -86,7 +86,7 @@ a b
19 Testing
explain select a from t3 order by a desc limit 10;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t3 index NULL a 4 NULL 1131 Using index
+1 SIMPLE t3 index NULL a 4 NULL 10 Using index
select a from t3 order by a desc limit 10;
a
699
@@ -584,9 +584,7 @@ insert into t1 values (1);
insert into t2 values (2);
create temporary table t3 (a int not null) ENGINE=MERGE UNION=(t1,t2);
select * from t3;
-a
-1
-2
+ERROR HY000: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
create temporary table t4 (a int not null);
create temporary table t5 (a int not null);
insert into t4 values (1);
@@ -597,6 +595,54 @@ a
1
2
drop table t6, t3, t1, t2, t4, t5;
+create temporary table t1 (a int not null);
+create temporary table t2 (a int not null);
+insert into t1 values (1);
+insert into t2 values (2);
+create table t3 (a int not null) ENGINE=MERGE UNION=(t1,t2);
+select * from t3;
+ERROR HY000: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
+drop table t3, t2, t1;
+create table t1 (a int not null);
+create temporary table t2 (a int not null);
+insert into t1 values (1);
+insert into t2 values (2);
+create table t3 (a int not null) ENGINE=MERGE UNION=(t1,t2);
+select * from t3;
+ERROR HY000: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
+drop table t3;
+create temporary table t3 (a int not null) ENGINE=MERGE UNION=(t1,t2);
+select * from t3;
+ERROR HY000: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
+drop table t3, t2, t1;
+# CREATE...SELECT is not implemented for MERGE tables.
+CREATE TEMPORARY TABLE t1 (c1 INT NOT NULL);
+CREATE TEMPORARY TABLE t2 (c1 INT NOT NULL);
+CREATE TABLE t3 (c1 INT NOT NULL);
+INSERT INTO t3 VALUES (3), (33);
+LOCK TABLES t3 READ;
+CREATE TEMPORARY TABLE t4 (c1 INT NOT NULL) ENGINE=MERGE UNION=(t1,t2)
+INSERT_METHOD=LAST SELECT * FROM t3;
+ERROR HY000: 'test.t4' is not BASE TABLE
+SELECT * FROM t4;
+ERROR HY000: Table 't4' was not locked with LOCK TABLES
+UNLOCK TABLES;
+CREATE TEMPORARY TABLE t4 (c1 INT NOT NULL) ENGINE=MERGE UNION=(t1,t2)
+INSERT_METHOD=LAST;
+INSERT INTO t4 SELECT * FROM t3;
+# Alter temporary MERGE table.
+ALTER TABLE t4 UNION=(t1);
+LOCK TABLES t4 WRITE;
+# Alter temporary MERGE table under LOCk tables.
+ALTER TABLE t4 UNION=(t1,t2);
+UNLOCK TABLES;
+# MERGE table and function.
+CREATE FUNCTION f1 () RETURNS INT RETURN (SELECT max(c1) FROM t3);
+SELECT * FROM t4 WHERE c1 < f1();
+c1
+3
+DROP FUNCTION f1;
+DROP TABLE t4, t3, t2, t1;
CREATE TABLE t1 (
fileset_id tinyint(3) unsigned NOT NULL default '0',
file_code varchar(32) NOT NULL default '',
@@ -650,11 +696,11 @@ create table t2 (a int);
insert into t1 values (0);
insert into t2 values (1);
create table t3 engine=merge union=(t1, t2) select * from t1;
-ERROR HY000: You can't specify target table 't1' for update in FROM clause
+ERROR HY000: 'test.t3' is not BASE TABLE
create table t3 engine=merge union=(t1, t2) select * from t2;
-ERROR HY000: You can't specify target table 't2' for update in FROM clause
+ERROR HY000: 'test.t3' is not BASE TABLE
create table t3 engine=merge union=(t1, t2) select (select max(a) from t2);
-ERROR HY000: You can't specify target table 't2' for update in FROM clause
+ERROR HY000: 'test.t3' is not BASE TABLE
drop table t1, t2;
create table t1 (
a double(14,4),
@@ -784,7 +830,7 @@ ERROR HY000: Unable to open underlying table which is differently defined or of
DROP TABLE t1, t2;
CREATE TABLE t2(a INT) ENGINE=MERGE UNION=(t3);
SELECT * FROM t2;
-ERROR HY000: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
+ERROR 42S02: Table 'test.t3' doesn't exist
DROP TABLE t2;
CREATE TABLE t1(a INT, b TEXT);
CREATE TABLE tm1(a TEXT, b INT) ENGINE=MERGE UNION=(t1);
@@ -849,20 +895,17 @@ drop table t2;
drop table t1;
CREATE TABLE tm1(a INT) ENGINE=MERGE UNION=(t1, t2);
SELECT * FROM tm1;
-ERROR HY000: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
+ERROR 42S02: Table 'test.t1' doesn't exist
CHECK TABLE tm1;
Table Op Msg_type Msg_text
-test.tm1 check Error Table 'test.t1' is differently defined or of non-MyISAM type or doesn't exist
-test.tm1 check Error Table 'test.t2' is differently defined or of non-MyISAM type or doesn't exist
-test.tm1 check Error Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
+test.tm1 check Error Table 'test.t1' doesn't exist
test.tm1 check error Corrupt
CREATE TABLE t1(a INT);
SELECT * FROM tm1;
-ERROR HY000: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
+ERROR 42S02: Table 'test.t2' doesn't exist
CHECK TABLE tm1;
Table Op Msg_type Msg_text
-test.tm1 check Error Table 'test.t2' is differently defined or of non-MyISAM type or doesn't exist
-test.tm1 check Error Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
+test.tm1 check Error Table 'test.t2' doesn't exist
test.tm1 check error Corrupt
CREATE TABLE t2(a BLOB);
SELECT * FROM tm1;
@@ -879,4 +922,1087 @@ CHECK TABLE tm1;
Table Op Msg_type Msg_text
test.tm1 check status OK
DROP TABLE tm1, t1, t2;
+CREATE TABLE t1(c1 INT);
+CREATE TABLE t2 (c1 INT) ENGINE=MERGE UNION=(t1) INSERT_METHOD=FIRST;
+CREATE TABLE IF NOT EXISTS t1 SELECT * FROM t2;
+ERROR HY000: You can't specify target table 't1' for update in FROM clause
+DROP TABLE t1, t2;
+CREATE TABLE t1 (id INT NOT NULL, ref INT NOT NULL, INDEX (id)) ENGINE=MyISAM;
+CREATE TABLE t2 LIKE t1;
+INSERT INTO t2 (id, ref) VALUES (1,3), (2,1), (3,2), (4,5), (4,4);
+INSERT INTO t1 SELECT * FROM t2;
+INSERT INTO t1 SELECT * FROM t2;
+CREATE TABLE t3 (id INT NOT NULL, ref INT NOT NULL, INDEX (id)) ENGINE=MERGE
+UNION(t1);
+SELECT * FROM t3 AS a INNER JOIN t3 AS b USING (id) WHERE a.ref < b.ref;
+id ref ref
+4 4 5
+4 4 5
+4 4 5
+4 4 5
+SELECT * FROM t3;
+id ref
+1 3
+2 1
+3 2
+4 5
+4 4
+1 3
+2 1
+3 2
+4 5
+4 4
+DELETE FROM a USING t3 AS a INNER JOIN t3 AS b USING (id) WHERE a.ref < b.ref;
+SELECT * FROM t3;
+id ref
+1 3
+2 1
+3 2
+4 5
+1 3
+2 1
+3 2
+4 5
+DROP TABLE t1, t2, t3;
+CREATE TABLE t1(a INT);
+CREATE TABLE m1(a INT) ENGINE=MERGE;
+SHOW CREATE TABLE m1;
+Table Create Table
+m1 CREATE TABLE `m1` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=MRG_MyISAM DEFAULT CHARSET=latin1
+DROP TABLE m1;
+CREATE TABLE m1(a INT) ENGINE=MERGE UNION=();
+SHOW CREATE TABLE m1;
+Table Create Table
+m1 CREATE TABLE `m1` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=MRG_MyISAM DEFAULT CHARSET=latin1
+ALTER TABLE m1 UNION=(t1);
+ALTER TABLE m1 UNION=();
+SHOW CREATE TABLE m1;
+Table Create Table
+m1 CREATE TABLE `m1` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=MRG_MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1, m1;
End of 5.0 tests
+create table t1 (c1 int, index(c1));
+create table t2 (c1 int, index(c1)) engine=merge union=(t1);
+insert into t1 values (1);
+flush tables;
+select * from t2;
+c1
+1
+flush tables;
+truncate table t1;
+insert into t1 values (1);
+flush tables;
+select * from t2;
+c1
+1
+truncate table t1;
+insert into t1 values (1);
+drop table t1,t2;
+#
+# Extra tests for TRUNCATE.
+#
+# Truncate MERGE table.
+CREATE TABLE t1 (c1 INT, INDEX(c1));
+CREATE TABLE t2 (c1 INT, INDEX(c1));
+CREATE TABLE t3 (c1 INT, INDEX(c1)) ENGINE=MRG_MYISAM UNION=(t1,t2);
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (2);
+SELECT * FROM t3;
+c1
+1
+2
+TRUNCATE TABLE t3;
+SELECT * FROM t3;
+c1
+#
+# Truncate child table.
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (2);
+TRUNCATE TABLE t1;
+SELECT * FROM t3;
+c1
+2
+#
+# Truncate MERGE table under locked tables.
+LOCK TABLE t1 WRITE, t2 WRITE, t3 WRITE;
+INSERT INTO t1 VALUES (1);
+TRUNCATE TABLE t3;
+ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
+SELECT * FROM t3;
+c1
+1
+2
+#
+# Truncate child table under locked tables.
+TRUNCATE TABLE t1;
+ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
+SELECT * FROM t3;
+c1
+1
+2
+UNLOCK TABLES;
+DROP TABLE t1, t2, t3;
+#
+# Truncate temporary MERGE table.
+CREATE TEMPORARY TABLE t1 (c1 INT, INDEX(c1));
+CREATE TEMPORARY TABLE t2 (c1 INT, INDEX(c1));
+CREATE TEMPORARY TABLE t3 (c1 INT, INDEX(c1)) ENGINE=MRG_MYISAM UNION=(t1,t2);
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (2);
+SELECT * FROM t3;
+c1
+1
+2
+TRUNCATE TABLE t3;
+SELECT * FROM t3;
+c1
+#
+# Truncate temporary child table.
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (2);
+TRUNCATE TABLE t1;
+SELECT * FROM t3;
+c1
+2
+#
+# Truncate temporary MERGE table under locked tables.
+INSERT INTO t1 VALUES (1);
+CREATE TABLE t4 (c1 INT, INDEX(c1));
+LOCK TABLE t4 WRITE;
+TRUNCATE TABLE t3;
+ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
+SELECT * FROM t3;
+c1
+1
+2
+#
+# Truncate temporary child table under locked tables.
+TRUNCATE TABLE t1;
+ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
+SELECT * FROM t3;
+c1
+1
+2
+UNLOCK TABLES;
+DROP TABLE t1, t2, t3, t4;
+CREATE TABLE t1 (c1 INT) ENGINE= MyISAM;
+CREATE TABLE t2 (c1 INT) ENGINE= MRG_MYISAM UNION= (t1) INSERT_METHOD= LAST;
+REPAIR TABLE t1;
+INSERT INTO t2 VALUES (1);
+Table Op Msg_type Msg_text
+test.t1 repair status OK
+DROP TABLE t1, t2;
+CREATE TABLE t1 (c1 INT) ENGINE= MyISAM;
+CREATE TABLE t2 (c1 INT) ENGINE= MRG_MYISAM UNION= (t1) INSERT_METHOD= LAST;
+LOCK TABLE t1 WRITE;
+INSERT INTO t2 VALUES (1);
+REPAIR TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 repair status OK
+UNLOCK TABLES;
+DROP TABLE t1, t2;
+CREATE TABLE t1 (c1 INT) ENGINE= MyISAM;
+LOCK TABLE t1 WRITE;
+INSERT INTO t1 VALUES (1);
+FLUSH TABLES;
+FLUSH TABLES;
+SELECT * FROM t1;
+c1
+UNLOCK TABLES;
+DROP TABLE t1;
+#
+# Extra tests for Bug#26379 - Combination of FLUSH TABLE and
+# REPAIR TABLE corrupts a MERGE table
+#
+# CREATE ... SELECT is disabled for MERGE tables.
+#
+CREATE TABLE t1(c1 INT);
+INSERT INTO t1 VALUES (1);
+CREATE TABLE t2 (c1 INT) ENGINE=MRG_MYISAM UNION=(t1) INSERT_METHOD=LAST;
+CREATE TABLE t3 ENGINE=MRG_MYISAM INSERT_METHOD=LAST SELECT * FROM t2;
+ERROR HY000: Table 't3' is read only
+SHOW CREATE TABLE t3;
+ERROR 42S02: Table 'test.t3' doesn't exist
+CREATE TABLE t3 ENGINE=MRG_MYISAM UNION=(t1) INSERT_METHOD=LAST
+SELECT * FROM t2;
+ERROR HY000: 'test.t3' is not BASE TABLE
+SHOW CREATE TABLE t3;
+ERROR 42S02: Table 'test.t3' doesn't exist
+DROP TABLE t1, t2;
+#
+# CREATE ... LIKE
+#
+# 1. Create like.
+CREATE TABLE t1 (c1 INT);
+CREATE TABLE t2 (c1 INT);
+CREATE TABLE t3 (c1 INT) ENGINE=MRG_MYISAM UNION=(t1,t2)
+INSERT_METHOD=LAST;
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (2);
+INSERT INTO t3 VALUES (3);
+CREATE TABLE t4 LIKE t3;
+SHOW CREATE TABLE t4;
+Table Create Table
+t4 CREATE TABLE `t4` (
+ `c1` int(11) DEFAULT NULL
+) ENGINE=MRG_MyISAM DEFAULT CHARSET=latin1
+INSERT INTO t4 VALUES (4);
+ERROR HY000: Table 't4' is read only
+DROP TABLE t4;
+#
+# 1. Create like with locked tables.
+LOCK TABLES t3 WRITE, t2 WRITE, t1 WRITE;
+CREATE TABLE t4 LIKE t3;
+SHOW CREATE TABLE t4;
+ERROR HY000: Table 't4' was not locked with LOCK TABLES
+INSERT INTO t4 VALUES (4);
+ERROR HY000: Table 't4' was not locked with LOCK TABLES
+UNLOCK TABLES;
+SHOW CREATE TABLE t4;
+Table Create Table
+t4 CREATE TABLE `t4` (
+ `c1` int(11) DEFAULT NULL
+) ENGINE=MRG_MyISAM DEFAULT CHARSET=latin1
+INSERT INTO t4 VALUES (4);
+ERROR HY000: Table 't4' is read only
+DROP TABLE t4;
+#
+# Rename child.
+#
+# 1. Normal rename of non-MERGE table.
+CREATE TABLE t4 (c1 INT);
+INSERT INTO t4 VALUES (4);
+SELECT * FROM t4 ORDER BY c1;
+c1
+4
+RENAME TABLE t4 TO t5;
+SELECT * FROM t5 ORDER BY c1;
+c1
+4
+RENAME TABLE t5 TO t4;
+SELECT * FROM t4 ORDER BY c1;
+c1
+4
+DROP TABLE t4;
+#
+# 2. Normal rename.
+SELECT * FROM t3 ORDER BY c1;
+c1
+1
+2
+3
+RENAME TABLE t2 TO t5;
+SELECT * FROM t3 ORDER BY c1;
+ERROR 42S02: Table 'test.t2' doesn't exist
+RENAME TABLE t5 TO t2;
+SELECT * FROM t3 ORDER BY c1;
+c1
+1
+2
+3
+#
+# 3. Normal rename with locked tables.
+LOCK TABLES t1 WRITE, t2 WRITE, t3 WRITE;
+SELECT * FROM t3 ORDER BY c1;
+c1
+1
+2
+3
+RENAME TABLE t2 TO t5;
+ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
+SELECT * FROM t3 ORDER BY c1;
+c1
+1
+2
+3
+RENAME TABLE t5 TO t2;
+ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
+SELECT * FROM t3 ORDER BY c1;
+c1
+1
+2
+3
+UNLOCK TABLES;
+#
+# 4. Alter table rename.
+ALTER TABLE t2 RENAME TO t5;
+SELECT * FROM t3 ORDER BY c1;
+ERROR 42S02: Table 'test.t2' doesn't exist
+ALTER TABLE t5 RENAME TO t2;
+SELECT * FROM t3 ORDER BY c1;
+c1
+1
+2
+3
+#
+# 5. Alter table rename with locked tables.
+LOCK TABLES t1 WRITE, t2 WRITE, t3 WRITE;
+ALTER TABLE t2 RENAME TO t5;
+SELECT * FROM t3 ORDER BY c1;
+ERROR HY000: Table 't3' was not locked with LOCK TABLES
+ALTER TABLE t5 RENAME TO t2;
+ERROR HY000: Table 't5' was not locked with LOCK TABLES
+UNLOCK TABLES;
+ALTER TABLE t5 RENAME TO t2;
+SELECT * FROM t3 ORDER BY c1;
+c1
+1
+2
+3
+#
+# Rename parent.
+#
+# 1. Normal rename with locked tables.
+LOCK TABLES t1 WRITE, t2 WRITE, t3 WRITE;
+SELECT * FROM t3 ORDER BY c1;
+c1
+1
+2
+3
+RENAME TABLE t3 TO t5;
+ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
+SELECT * FROM t3 ORDER BY c1;
+c1
+1
+2
+3
+RENAME TABLE t5 TO t3;
+ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
+SELECT * FROM t3 ORDER BY c1;
+c1
+1
+2
+3
+#
+# 5. Alter table rename with locked tables.
+ALTER TABLE t3 RENAME TO t5;
+SELECT * FROM t5 ORDER BY c1;
+ERROR HY000: Table 't5' was not locked with LOCK TABLES
+ALTER TABLE t5 RENAME TO t3;
+ERROR HY000: Table 't5' was not locked with LOCK TABLES
+UNLOCK TABLES;
+ALTER TABLE t5 RENAME TO t3;
+SELECT * FROM t3 ORDER BY c1;
+c1
+1
+2
+3
+DROP TABLE t1, t2, t3;
+#
+# Drop locked tables.
+#
+# 1. Drop parent.
+CREATE TABLE t1 (c1 INT, INDEX(c1));
+CREATE TABLE t2 (c1 INT, INDEX(c1)) ENGINE=MRG_MYISAM UNION=(t1)
+INSERT_METHOD=LAST;
+LOCK TABLES t1 WRITE, t2 WRITE;
+INSERT INTO t1 VALUES (1);
+DROP TABLE t2;
+SELECT * FROM t2;
+ERROR HY000: Table 't2' was not locked with LOCK TABLES
+SELECT * FROM t1;
+c1
+1
+UNLOCK TABLES;
+# 2. Drop child.
+CREATE TABLE t2 (c1 INT, INDEX(c1)) ENGINE=MRG_MYISAM UNION=(t1)
+INSERT_METHOD=LAST;
+LOCK TABLES t1 WRITE, t2 WRITE;
+INSERT INTO t1 VALUES (1);
+DROP TABLE t1;
+SELECT * FROM t2;
+ERROR 42S02: Table 'test.t1' doesn't exist
+SELECT * FROM t1;
+ERROR 42S02: Table 'test.t1' doesn't exist
+UNLOCK TABLES;
+DROP TABLE t2;
+#
+# ALTER TABLE. Change child list.
+#
+CREATE TABLE t1 (c1 INT, INDEX(c1));
+CREATE TABLE t2 (c1 INT, INDEX(c1));
+CREATE TABLE t3 (c1 INT, INDEX(c1));
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (2);
+INSERT INTO t3 VALUES (3);
+CREATE TABLE t4 (c1 INT, INDEX(c1)) ENGINE=MRG_MYISAM UNION=(t3,t2)
+INSERT_METHOD=LAST;
+# Shrink child list.
+ALTER TABLE t4 UNION=(t3);
+SHOW CREATE TABLE t4;
+Table Create Table
+t4 CREATE TABLE `t4` (
+ `c1` int(11) DEFAULT NULL,
+ KEY `c1` (`c1`)
+) ENGINE=MRG_MyISAM DEFAULT CHARSET=latin1 INSERT_METHOD=LAST UNION=(`t3`)
+SELECT * FROM t4 ORDER BY c1;
+c1
+3
+# Extend child list.
+ALTER TABLE t4 UNION=(t3,t2);
+SHOW CREATE TABLE t4;
+Table Create Table
+t4 CREATE TABLE `t4` (
+ `c1` int(11) DEFAULT NULL,
+ KEY `c1` (`c1`)
+) ENGINE=MRG_MyISAM DEFAULT CHARSET=latin1 INSERT_METHOD=LAST UNION=(`t3`,`t2`)
+SELECT * FROM t4 ORDER BY c1;
+c1
+2
+3
+#
+# ALTER TABLE under LOCK TABLES. Change child list.
+#
+LOCK TABLES t4 WRITE, t3 WRITE, t2 WRITE;
+# Shrink child list.
+ALTER TABLE t4 UNION=(t3);
+ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
+# Extend child list within locked tables.
+ALTER TABLE t4 UNION=(t3,t2);
+ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
+# Extend child list beyond locked tables.
+ALTER TABLE t4 UNION=(t3,t2,t1);
+ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
+SHOW CREATE TABLE t4;
+Table Create Table
+t4 CREATE TABLE `t4` (
+ `c1` int(11) DEFAULT NULL,
+ KEY `c1` (`c1`)
+) ENGINE=MRG_MyISAM DEFAULT CHARSET=latin1 INSERT_METHOD=LAST UNION=(`t3`,`t2`)
+SELECT * FROM t4 ORDER BY c1;
+c1
+2
+3
+UNLOCK TABLES;
+DROP TABLE t4;
+#
+# ALTER TABLE under LOCK TABLES. Grave change, table re-creation.
+#
+CREATE TABLE t4 (c1 INT, INDEX(c1)) ENGINE=MRG_MYISAM UNION=(t1,t2,t3)
+INSERT_METHOD=LAST;
+# Lock parent first and then children.
+LOCK TABLES t4 WRITE, t3 WRITE, t2 WRITE, t1 WRITE;
+ALTER TABLE t4 DROP INDEX c1, ADD UNIQUE INDEX (c1);
+SELECT * FROM t4 ORDER BY c1;
+c1
+1
+2
+3
+ALTER TABLE t2 DROP INDEX c1, ADD UNIQUE INDEX (c1);
+SELECT * FROM t4 ORDER BY c1;
+c1
+1
+2
+3
+UNLOCK TABLES;
+# Lock children first and then parent.
+LOCK TABLES t1 WRITE, t2 WRITE, t3 WRITE, t4 WRITE;
+ALTER TABLE t4 DROP INDEX c1, ADD UNIQUE INDEX (c1);
+SELECT * FROM t4 ORDER BY c1;
+c1
+1
+2
+3
+ALTER TABLE t2 DROP INDEX c1, ADD UNIQUE INDEX (c1);
+SELECT * FROM t4 ORDER BY c1;
+c1
+1
+2
+3
+UNLOCK TABLES;
+# Lock parent between children.
+LOCK TABLES t3 WRITE, t2 WRITE, t4 WRITE, t1 WRITE;
+ALTER TABLE t4 DROP INDEX c1, ADD UNIQUE INDEX (c1);
+SELECT * FROM t4 ORDER BY c1;
+c1
+1
+2
+3
+ALTER TABLE t2 DROP INDEX c1, ADD UNIQUE INDEX (c1);
+SELECT * FROM t4 ORDER BY c1;
+c1
+1
+2
+3
+UNLOCK TABLES;
+DROP TABLE t1, t2, t3, t4;
+#
+# ALTER TABLE under LOCK TABLES. Simple change, no re-creation.
+#
+CREATE TABLE t1 (c1 INT);
+CREATE TABLE t2 (c1 INT);
+CREATE TABLE t3 (c1 INT);
+CREATE TABLE t4 (c1 INT) ENGINE=MRG_MYISAM UNION=(t1,t2,t3)
+INSERT_METHOD=LAST;
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (2);
+INSERT INTO t3 VALUES (3);
+# Lock parent first and then children.
+LOCK TABLES t4 WRITE, t3 WRITE, t2 WRITE, t1 WRITE;
+ALTER TABLE t4 ALTER COLUMN c1 SET DEFAULT 44;
+SELECT * FROM t4 ORDER BY c1;
+c1
+1
+2
+3
+ALTER TABLE t2 ALTER COLUMN c1 SET DEFAULT 22;
+SELECT * FROM t4 ORDER BY c1;
+c1
+1
+2
+3
+UNLOCK TABLES;
+# Lock children first and then parent.
+LOCK TABLES t1 WRITE, t2 WRITE, t3 WRITE, t4 WRITE;
+ALTER TABLE t4 ALTER COLUMN c1 SET DEFAULT 44;
+SELECT * FROM t4 ORDER BY c1;
+c1
+1
+2
+3
+ALTER TABLE t2 ALTER COLUMN c1 SET DEFAULT 22;
+SELECT * FROM t4 ORDER BY c1;
+c1
+1
+2
+3
+UNLOCK TABLES;
+# Lock parent between children.
+LOCK TABLES t3 WRITE, t2 WRITE, t4 WRITE, t1 WRITE;
+ALTER TABLE t4 ALTER COLUMN c1 SET DEFAULT 44;
+SELECT * FROM t4 ORDER BY c1;
+c1
+1
+2
+3
+ALTER TABLE t2 ALTER COLUMN c1 SET DEFAULT 22;
+SELECT * FROM t4 ORDER BY c1;
+c1
+1
+2
+3
+UNLOCK TABLES;
+#
+# FLUSH TABLE under LOCK TABLES.
+#
+# Lock parent first and then children.
+LOCK TABLES t4 WRITE, t3 WRITE, t2 WRITE, t1 WRITE;
+FLUSH TABLE t4;
+SELECT * FROM t4 ORDER BY c1;
+c1
+1
+2
+3
+FLUSH TABLE t2;
+SELECT * FROM t4 ORDER BY c1;
+c1
+1
+2
+3
+FLUSH TABLES;
+SELECT * FROM t4 ORDER BY c1;
+c1
+1
+2
+3
+UNLOCK TABLES;
+# Lock children first and then parent.
+LOCK TABLES t1 WRITE, t2 WRITE, t3 WRITE, t4 WRITE;
+FLUSH TABLE t4;
+SELECT * FROM t4 ORDER BY c1;
+c1
+1
+2
+3
+FLUSH TABLE t2;
+SELECT * FROM t4 ORDER BY c1;
+c1
+1
+2
+3
+FLUSH TABLES;
+SELECT * FROM t4 ORDER BY c1;
+c1
+1
+2
+3
+UNLOCK TABLES;
+# Lock parent between children.
+LOCK TABLES t3 WRITE, t2 WRITE, t4 WRITE, t1 WRITE;
+FLUSH TABLE t4;
+SELECT * FROM t4 ORDER BY c1;
+c1
+1
+2
+3
+FLUSH TABLE t2;
+SELECT * FROM t4 ORDER BY c1;
+c1
+1
+2
+3
+FLUSH TABLES;
+SELECT * FROM t4 ORDER BY c1;
+c1
+1
+2
+3
+UNLOCK TABLES;
+#
+# Triggers
+#
+# Trigger on parent
+DELETE FROM t4 WHERE c1 = 4;
+CREATE TRIGGER t4_ai AFTER INSERT ON t4 FOR EACH ROW SET @a=1;
+SET @a=0;
+INSERT INTO t4 VALUES (4);
+SELECT @a;
+@a
+1
+SELECT * FROM t4 ORDER BY c1;
+c1
+1
+2
+3
+4
+DROP TRIGGER t4_ai;
+# Trigger on parent under LOCK TABLES
+LOCK TABLES t3 WRITE, t2 WRITE, t4 WRITE, t1 WRITE;
+CREATE TRIGGER t4_ai AFTER INSERT ON t4 FOR EACH ROW SET @a=1;
+SET @a=0;
+INSERT INTO t4 VALUES (4);
+SELECT @a;
+@a
+1
+SELECT * FROM t4 ORDER BY c1;
+c1
+1
+2
+3
+4
+4
+DROP TRIGGER t4_ai;
+UNLOCK TABLES;
+#
+# Trigger on child
+DELETE FROM t4 WHERE c1 = 4;
+CREATE TRIGGER t3_ai AFTER INSERT ON t3 FOR EACH ROW SET @a=1;
+SET @a=0;
+INSERT INTO t4 VALUES (4);
+SELECT @a;
+@a
+0
+INSERT INTO t3 VALUES (33);
+SELECT @a;
+@a
+1
+SELECT * FROM t4 ORDER BY c1;
+c1
+1
+2
+3
+4
+33
+DROP TRIGGER t3_ai;
+# Trigger on child under LOCK TABLES
+LOCK TABLES t3 WRITE, t2 WRITE, t4 WRITE, t1 WRITE;
+CREATE TRIGGER t3_ai AFTER INSERT ON t3 FOR EACH ROW SET @a=1;
+SET @a=0;
+INSERT INTO t4 VALUES (4);
+SELECT @a;
+@a
+0
+INSERT INTO t3 VALUES (33);
+SELECT @a;
+@a
+1
+SELECT * FROM t4 ORDER BY c1;
+c1
+1
+2
+3
+4
+4
+33
+33
+DELETE FROM t4 WHERE c1 = 33;
+DROP TRIGGER t3_ai;
+#
+# Trigger with table use on child
+DELETE FROM t4 WHERE c1 = 4;
+CREATE TRIGGER t3_ai AFTER INSERT ON t3 FOR EACH ROW INSERT INTO t2 VALUES(22);
+INSERT INTO t4 VALUES (4);
+SELECT * FROM t4 ORDER BY c1;
+c1
+1
+2
+3
+4
+INSERT INTO t3 VALUES (33);
+SELECT * FROM t4 ORDER BY c1;
+c1
+1
+2
+3
+4
+22
+33
+DELETE FROM t4 WHERE c1 = 22;
+DELETE FROM t4 WHERE c1 = 33;
+DROP TRIGGER t3_ai;
+# Trigger with table use on child under LOCK TABLES
+LOCK TABLES t3 WRITE, t2 WRITE, t4 WRITE, t1 WRITE;
+CREATE TRIGGER t3_ai AFTER INSERT ON t3 FOR EACH ROW INSERT INTO t2 VALUES(22);
+INSERT INTO t4 VALUES (4);
+SELECT * FROM t4 ORDER BY c1;
+c1
+1
+2
+3
+4
+4
+INSERT INTO t3 VALUES (33);
+SELECT * FROM t4 ORDER BY c1;
+c1
+1
+2
+3
+4
+4
+22
+33
+DROP TRIGGER t3_ai;
+DELETE FROM t4 WHERE c1 = 22;
+DELETE FROM t4 WHERE c1 = 33;
+UNLOCK TABLES;
+#
+# Repair
+#
+REPAIR TABLE t4;
+Table Op Msg_type Msg_text
+test.t4 repair note The storage engine for the table doesn't support repair
+REPAIR TABLE t2;
+Table Op Msg_type Msg_text
+test.t2 repair status OK
+SELECT * FROM t4 ORDER BY c1;
+c1
+1
+2
+3
+4
+4
+LOCK TABLES t3 WRITE, t2 WRITE, t4 WRITE, t1 WRITE;
+REPAIR TABLE t4;
+Table Op Msg_type Msg_text
+test.t4 repair note The storage engine for the table doesn't support repair
+REPAIR TABLE t2;
+Table Op Msg_type Msg_text
+test.t2 repair status OK
+SELECT * FROM t4 ORDER BY c1;
+c1
+1
+2
+3
+4
+4
+UNLOCK TABLES;
+#
+# Optimize
+#
+OPTIMIZE TABLE t4;
+Table Op Msg_type Msg_text
+test.t4 optimize note The storage engine for the table doesn't support optimize
+OPTIMIZE TABLE t2;
+Table Op Msg_type Msg_text
+test.t2 optimize status OK
+SELECT * FROM t4 ORDER BY c1;
+c1
+1
+2
+3
+4
+4
+LOCK TABLES t3 WRITE, t2 WRITE, t4 WRITE, t1 WRITE;
+OPTIMIZE TABLE t4;
+Table Op Msg_type Msg_text
+test.t4 optimize note The storage engine for the table doesn't support optimize
+OPTIMIZE TABLE t2;
+Table Op Msg_type Msg_text
+test.t2 optimize status Table is already up to date
+SELECT * FROM t4 ORDER BY c1;
+c1
+1
+2
+3
+4
+4
+UNLOCK TABLES;
+#
+# Checksum
+#
+CHECKSUM TABLE t4;
+Table Checksum
+test.t4 46622073
+CHECKSUM TABLE t2;
+Table Checksum
+test.t2 3700403066
+SELECT * FROM t4 ORDER BY c1;
+c1
+1
+2
+3
+4
+4
+LOCK TABLES t3 WRITE, t2 WRITE, t4 WRITE, t1 WRITE;
+CHECKSUM TABLE t4;
+Table Checksum
+test.t4 46622073
+CHECKSUM TABLE t2;
+Table Checksum
+test.t2 3700403066
+SELECT * FROM t4 ORDER BY c1;
+c1
+1
+2
+3
+4
+4
+UNLOCK TABLES;
+#
+# Insert delayed
+#
+INSERT DELAYED INTO t4 VALUES(44);
+DELETE FROM t4 WHERE c1 = 44;
+INSERT DELAYED INTO t3 VALUES(33);
+SELECT * FROM t4 ORDER BY c1;
+c1
+1
+2
+3
+4
+4
+33
+LOCK TABLES t3 WRITE, t2 WRITE, t4 WRITE, t1 WRITE;
+INSERT DELAYED INTO t4 VALUES(444);
+Got one of the listed errors
+INSERT DELAYED INTO t3 VALUES(333);
+Got one of the listed errors
+SELECT * FROM t4 ORDER BY c1;
+c1
+1
+2
+3
+4
+4
+33
+UNLOCK TABLES;
+DROP TABLE t1, t2, t3, t4;
+#
+# Recursive inclusion of merge tables in their union clauses.
+#
+CREATE TABLE t1 (c1 INT, INDEX(c1));
+CREATE TABLE t2 (c1 INT, INDEX(c1)) ENGINE=MRG_MYISAM UNION=(t1)
+INSERT_METHOD=LAST;
+CREATE TABLE t3 (c1 INT, INDEX(c1)) ENGINE=MRG_MYISAM UNION=(t2,t1)
+INSERT_METHOD=LAST;
+ALTER TABLE t2 UNION=(t3,t1);
+SELECT * FROM t2;
+ERROR HY000: Table 't3' is differently defined or of non-MyISAM type or doesn't exist
+DROP TABLE t1, t2, t3;
+CREATE TABLE t1 (c1 INT) ENGINE= MyISAM;
+CREATE TABLE t2 (c1 INT) ENGINE= MyISAM;
+CREATE TABLE t3 (c1 INT) ENGINE= MRG_MYISAM UNION= (t1, t2);
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (2);
+SELECT * FROM t3;
+c1
+1
+2
+TRUNCATE TABLE t1;
+SELECT * FROM t3;
+c1
+2
+DROP TABLE t1, t2, t3;
+CREATE TABLE t1 (id INTEGER, grp TINYINT, id_rev INTEGER);
+SET @rnd_max= 2147483647;
+SET @rnd= RAND();
+SET @id = CAST(@rnd * @rnd_max AS UNSIGNED);
+SET @id_rev= @rnd_max - @id;
+SET @grp= CAST(127.0 * @rnd AS UNSIGNED);
+INSERT INTO t1 (id, grp, id_rev) VALUES (@id, @grp, @id_rev);
+SET @rnd= RAND();
+SET @id = CAST(@rnd * @rnd_max AS UNSIGNED);
+SET @id_rev= @rnd_max - @id;
+SET @grp= CAST(127.0 * @rnd AS UNSIGNED);
+INSERT INTO t1 (id, grp, id_rev) VALUES (@id, @grp, @id_rev);
+SET @rnd= RAND();
+SET @id = CAST(@rnd * @rnd_max AS UNSIGNED);
+SET @id_rev= @rnd_max - @id;
+SET @grp= CAST(127.0 * @rnd AS UNSIGNED);
+INSERT INTO t1 (id, grp, id_rev) VALUES (@id, @grp, @id_rev);
+SET @rnd= RAND();
+SET @id = CAST(@rnd * @rnd_max AS UNSIGNED);
+SET @id_rev= @rnd_max - @id;
+SET @grp= CAST(127.0 * @rnd AS UNSIGNED);
+INSERT INTO t1 (id, grp, id_rev) VALUES (@id, @grp, @id_rev);
+SET @rnd= RAND();
+SET @id = CAST(@rnd * @rnd_max AS UNSIGNED);
+SET @id_rev= @rnd_max - @id;
+SET @grp= CAST(127.0 * @rnd AS UNSIGNED);
+INSERT INTO t1 (id, grp, id_rev) VALUES (@id, @grp, @id_rev);
+SET @rnd= RAND();
+SET @id = CAST(@rnd * @rnd_max AS UNSIGNED);
+SET @id_rev= @rnd_max - @id;
+SET @grp= CAST(127.0 * @rnd AS UNSIGNED);
+INSERT INTO t1 (id, grp, id_rev) VALUES (@id, @grp, @id_rev);
+SET @rnd= RAND();
+SET @id = CAST(@rnd * @rnd_max AS UNSIGNED);
+SET @id_rev= @rnd_max - @id;
+SET @grp= CAST(127.0 * @rnd AS UNSIGNED);
+INSERT INTO t1 (id, grp, id_rev) VALUES (@id, @grp, @id_rev);
+SET @rnd= RAND();
+SET @id = CAST(@rnd * @rnd_max AS UNSIGNED);
+SET @id_rev= @rnd_max - @id;
+SET @grp= CAST(127.0 * @rnd AS UNSIGNED);
+INSERT INTO t1 (id, grp, id_rev) VALUES (@id, @grp, @id_rev);
+SET @rnd= RAND();
+SET @id = CAST(@rnd * @rnd_max AS UNSIGNED);
+SET @id_rev= @rnd_max - @id;
+SET @grp= CAST(127.0 * @rnd AS UNSIGNED);
+INSERT INTO t1 (id, grp, id_rev) VALUES (@id, @grp, @id_rev);
+SET @rnd= RAND();
+SET @id = CAST(@rnd * @rnd_max AS UNSIGNED);
+SET @id_rev= @rnd_max - @id;
+SET @grp= CAST(127.0 * @rnd AS UNSIGNED);
+INSERT INTO t1 (id, grp, id_rev) VALUES (@id, @grp, @id_rev);
+set @@read_buffer_size=2*1024*1024;
+CREATE TABLE t2 SELECT * FROM t1;
+INSERT INTO t1 (id, grp, id_rev) SELECT id, grp, id_rev FROM t2;
+INSERT INTO t2 (id, grp, id_rev) SELECT id, grp, id_rev FROM t1;
+INSERT INTO t1 (id, grp, id_rev) SELECT id, grp, id_rev FROM t2;
+INSERT INTO t2 (id, grp, id_rev) SELECT id, grp, id_rev FROM t1;
+INSERT INTO t1 (id, grp, id_rev) SELECT id, grp, id_rev FROM t2;
+CREATE TABLE t3 (id INTEGER, grp TINYINT, id_rev INTEGER)
+ENGINE= MRG_MYISAM UNION= (t1, t2);
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+130
+SELECT COUNT(*) FROM t2;
+COUNT(*)
+80
+SELECT COUNT(*) FROM t3;
+COUNT(*)
+210
+SELECT COUNT(DISTINCT a1.id) FROM t3 AS a1, t3 AS a2
+WHERE a1.id = a2.id GROUP BY a2.grp;
+TRUNCATE TABLE t1;
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+0
+SELECT COUNT(*) FROM t2;
+COUNT(*)
+80
+SELECT COUNT(*) FROM t3;
+COUNT(*)
+80
+DROP TABLE t1, t2, t3;
+CREATE TABLE t1 (c1 INT) ENGINE=MyISAM;
+CREATE TABLE t2 (c1 INT) ENGINE=MRG_MYISAM UNION=(t1) INSERT_METHOD=LAST;
+INSERT INTO t2 VALUES (1);
+SELECT * FROM t2;
+c1
+1
+LOCK TABLES t2 WRITE, t1 WRITE;
+FLUSH TABLES;
+REPAIR TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 repair status OK
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+REPAIR TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 repair status OK
+UNLOCK TABLES;
+CHECK TABLE t1 EXTENDED;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+LOCK TABLES t2 WRITE, t1 WRITE;
+REPAIR TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 repair status OK
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+REPAIR TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 repair status OK
+UNLOCK TABLES;
+CHECK TABLE t1 EXTENDED;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+DROP TABLE t1, t2;
+CREATE TABLE t1 ( a INT ) ENGINE=MyISAM;
+CREATE TABLE m1 ( a INT ) ENGINE=MRG_MYISAM UNION=(t1);
+LOCK TABLES t1 WRITE, m1 WRITE;
+FLUSH TABLE t1;
+UNLOCK TABLES;
+DROP TABLE m1, t1;
+CREATE TABLE t1 ( a INT ) ENGINE=MyISAM;
+CREATE TABLE m1 ( a INT ) ENGINE=MRG_MYISAM UNION=(t1);
+LOCK TABLES m1 WRITE, t1 WRITE;
+FLUSH TABLE t1;
+UNLOCK TABLES;
+DROP TABLE m1, t1;
+CREATE TABLE t1 (c1 INT, c2 INT) ENGINE= MyISAM;
+CREATE TABLE t2 (c1 INT, c2 INT) ENGINE= MyISAM;
+CREATE TABLE t3 (c1 INT, c2 INT) ENGINE= MRG_MYISAM UNION(t1, t2);
+INSERT INTO t1 VALUES (1, 1);
+INSERT INTO t2 VALUES (2, 2);
+SELECT * FROM t3;
+c1 c2
+1 1
+2 2
+ALTER TABLE t1 ENGINE= MEMORY;
+INSERT INTO t1 VALUES (0, 0);
+SELECT * FROM t3;
+ERROR HY000: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
+DROP TABLE t1, t2, t3;
+CREATE TABLE t1 (c1 INT, KEY(c1));
+CREATE TABLE t2 (c1 INT, KEY(c1)) ENGINE=MRG_MYISAM UNION=(t1)
+INSERT_METHOD=FIRST;
+LOCK TABLE t1 WRITE, t2 WRITE;
+FLUSH TABLES t2, t1;
+OPTIMIZE TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 optimize status Table is already up to date
+FLUSH TABLES t1;
+UNLOCK TABLES;
+FLUSH TABLES;
+INSERT INTO t1 VALUES (1);
+LOCK TABLE t1 WRITE, t2 WRITE;
+FLUSH TABLES t2, t1;
+OPTIMIZE TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 optimize status OK
+FLUSH TABLES t1;
+UNLOCK TABLES;
+DROP TABLE t1, t2;
+CREATE TABLE t1 (ID INT) ENGINE=MYISAM;
+CREATE TABLE m1 (ID INT) ENGINE=MRG_MYISAM UNION=(t1) INSERT_METHOD=FIRST;
+INSERT INTO t1 VALUES ();
+INSERT INTO m1 VALUES ();
+LOCK TABLE t1 WRITE, m1 WRITE;
+FLUSH TABLES m1, t1;
+OPTIMIZE TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 optimize status OK
+FLUSH TABLES m1, t1;
+UNLOCK TABLES;
+DROP TABLE t1, m1;
diff --git a/mysql-test/r/merge_innodb.result b/mysql-test/r/merge_innodb.result
new file mode 100644
index 00000000000..f6057d279b1
--- /dev/null
+++ b/mysql-test/r/merge_innodb.result
@@ -0,0 +1,37 @@
+DROP TABLE IF EXISTS t1, t2, t3, t4, t5;
+CREATE TABLE t1 (c1 varchar(100)) ENGINE=MyISAM;
+CREATE TABLE t2 (c1 varchar(100)) ENGINE=MyISAM;
+CREATE TABLE t3 (c1 varchar(100)) ENGINE=InnoDB;
+INSERT INTO t1 VALUES ('Ann'), ('Alice');
+INSERT INTO t2 VALUES ('Bob'), ('Brian');
+INSERT INTO t3 VALUES ('Chris'), ('Charlie');
+CREATE TABLE t4 (c1 varchar(100)) ENGINE=MRG_MYISAM UNION=(t1,t2)
+INSERT_METHOD=LAST;
+CREATE TABLE t5 (c1 varchar(100)) ENGINE=MRG_MYISAM UNION=(t1,t3)
+INSERT_METHOD=LAST;
+SELECT * FROM t5;
+ERROR HY000: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
+SELECT * FROM t4;
+c1
+Ann
+Alice
+Bob
+Brian
+ALTER TABLE t2 ENGINE=InnoDB;
+SELECT * FROM t4;
+ERROR HY000: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
+DELETE FROM t2 LIMIT 1;
+SELECT * FROM t4;
+ERROR HY000: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
+INSERT INTO t4 VALUES ('Beware');
+ERROR HY000: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
+SELECT * FROM t4;
+ERROR HY000: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
+SELECT * FROM t2;
+c1
+Brian
+SELECT * FROM t1;
+c1
+Ann
+Alice
+DROP TABLE t1, t2, t3, t4, t5;
diff --git a/mysql-test/r/metadata.result b/mysql-test/r/metadata.result
index 4a776b6a253..76c6ae7d034 100644
--- a/mysql-test/r/metadata.result
+++ b/mysql-test/r/metadata.result
@@ -21,7 +21,7 @@ def test t1 t1 g g 5 4 0 Y 32768 3 63
def test t1 t1 h h 246 7 0 Y 0 4 63
def test t1 t1 i i 13 4 0 Y 32864 0 63
def test t1 t1 j j 10 10 0 Y 128 0 63
-def test t1 t1 k k 7 19 0 N 1249 0 63
+def test t1 t1 k k 7 19 0 N 9441 0 63
def test t1 t1 l l 12 19 0 Y 128 0 63
def test t1 t1 m m 254 1 0 Y 256 0 8
def test t1 t1 n n 254 3 0 Y 2048 0 8
diff --git a/mysql-test/r/mix2_myisam.result b/mysql-test/r/mix2_myisam.result
index cabc4de8d21..ee10f265933 100644
--- a/mysql-test/r/mix2_myisam.result
+++ b/mysql-test/r/mix2_myisam.result
@@ -1415,6 +1415,7 @@ set @a=repeat(' ',20);
insert into t1 values (concat('+',@a),concat('+',@a),concat('+',@a));
Warnings:
Note 1265 Data truncated for column 'v' at row 1
+Note 1265 Data truncated for column 'c' at row 1
select concat('*',v,'*',c,'*',t,'*') from t1;
concat('*',v,'*',c,'*',t,'*')
*+ *+*+ *
diff --git a/mysql-test/r/multi_update.result b/mysql-test/r/multi_update.result
index 55e47756312..421a63cd54c 100644
--- a/mysql-test/r/multi_update.result
+++ b/mysql-test/r/multi_update.result
@@ -614,6 +614,7 @@ CREATE TABLE `t2` (
`b` int(11) default NULL,
PRIMARY KEY (`a`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 ;
+set @sav_binlog_format= @@session.binlog_format;
set @@session.binlog_format= mixed;
insert into t1 values (1,1),(2,2);
insert into t2 values (1,1),(4,4);
@@ -638,4 +639,22 @@ show master status /* there must be the UPDATE query event */;
File Position Binlog_Do_DB Binlog_Ignore_DB
master-bin.000001 212
drop table t1, t2;
+set @@session.binlog_format= @sav_binlog_format;
+drop table if exists t1, t2, t3;
+CREATE TABLE t1 (a int, PRIMARY KEY (a));
+CREATE TABLE t2 (a int, PRIMARY KEY (a));
+CREATE TABLE t3 (a int, PRIMARY KEY (a)) ENGINE=MyISAM;
+create trigger trg_del_t3 before delete on t3 for each row insert into t1 values (1);
+insert into t2 values (1),(2);
+insert into t3 values (1),(2);
+reset master;
+delete t3.* from t2,t3 where t2.a=t3.a;
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
+select count(*) from t1 /* must be 1 */;
+count(*)
+1
+select count(*) from t3 /* must be 1 */;
+count(*)
+1
+drop table t1, t2, t3;
end of tests
diff --git a/mysql-test/r/myisam.result b/mysql-test/r/myisam.result
index 73661897ee1..112a7b7649b 100644
--- a/mysql-test/r/myisam.result
+++ b/mysql-test/r/myisam.result
@@ -606,24 +606,6 @@ select count(*) from t1 where a is null;
count(*)
2
drop table t1;
-create table t1 (c1 int, index(c1));
-create table t2 (c1 int, index(c1)) engine=merge union=(t1);
-insert into t1 values (1);
-flush tables;
-select * from t2;
-c1
-1
-flush tables;
-truncate table t1;
-insert into t1 values (1);
-flush tables;
-select * from t2;
-c1
-1
-truncate table t1;
-ERROR HY000: MyISAM table 't1' is in use (most likely by a MERGE table). Try FLUSH TABLES.
-insert into t1 values (1);
-drop table t1,t2;
create table t1 (c1 int, c2 varchar(4) not null default '',
key(c2(3))) default charset=utf8;
insert into t1 values (1,'A'), (2, 'B'), (3, 'A');
@@ -1104,6 +1086,7 @@ set @a=repeat(' ',20);
insert into t1 values (concat('+',@a),concat('+',@a),concat('+',@a));
Warnings:
Note 1265 Data truncated for column 'v' at row 1
+Note 1265 Data truncated for column 'c' at row 1
select concat('*',v,'*',c,'*',t,'*') from t1;
concat('*',v,'*',c,'*',t,'*')
*+ *+*+ *
@@ -1794,6 +1777,61 @@ SELECT a FROM t1 FORCE INDEX (inx) WHERE a=1;
a
1
DROP TABLE t1;
+CREATE TABLE t1 (c1 INT, c2 INT, UNIQUE INDEX (c1), INDEX (c2)) ENGINE=MYISAM;
+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 MyISAM 10 Fixed 0 # # # 1024 # # # # # # #
+INSERT INTO t1 VALUES (1,1);
+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 MyISAM 10 Fixed 1 # # # 3072 # # # # # # #
+ALTER TABLE t1 DISABLE KEYS;
+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 MyISAM 10 Fixed 1 # # # 3072 # # # # # # #
+ALTER TABLE t1 ENABLE KEYS;
+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 MyISAM 10 Fixed 1 # # # 3072 # # # # # # #
+ALTER TABLE t1 DISABLE KEYS;
+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 MyISAM 10 Fixed 1 # # # 3072 # # # # # # #
+ALTER TABLE t1 ENABLE KEYS;
+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 MyISAM 10 Fixed 1 # # # 3072 # # # # # # #
+# Enable keys with parallel repair
+SET @@myisam_repair_threads=2;
+ALTER TABLE t1 DISABLE KEYS;
+ALTER TABLE t1 ENABLE KEYS;
+SET @@myisam_repair_threads=1;
+CHECK TABLE t1 EXTENDED;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+DROP TABLE t1;
+CREATE TABLE t1 (id int NOT NULL, ref int NOT NULL, INDEX (id)) ENGINE=MyISAM;
+CREATE TABLE t2 LIKE t1;
+INSERT INTO t2 (id, ref) VALUES (1,3), (2,1), (3,2), (4,5), (4,4);
+INSERT INTO t1 SELECT * FROM t2;
+SELECT * FROM t1 AS a INNER JOIN t1 AS b USING (id) WHERE a.ref < b.ref;
+id ref ref
+4 4 5
+SELECT * FROM t1;
+id ref
+1 3
+2 1
+3 2
+4 5
+4 4
+DELETE FROM a USING t1 AS a INNER JOIN t1 AS b USING (id) WHERE a.ref < b.ref;
+SELECT * FROM t1;
+id ref
+1 3
+2 1
+3 2
+4 5
+DROP TABLE t1, t2;
End of 5.0 tests
create table t1 (a int not null, key `a` (a) key_block_size=1024);
show create table t1;
@@ -1986,4 +2024,185 @@ CHECK TABLE t1;
Table Op Msg_type Msg_text
test.t1 check status OK
DROP TABLE t1;
+CREATE TABLE t1 (
+c1 CHAR(130),
+c2 VARCHAR(1)
+) ENGINE=MyISAM;
+INSERT INTO t1 VALUES(REPEAT("a",128), 'b');
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+1
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+REPAIR TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 repair status OK
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+1
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+DROP TABLE t1;
+CREATE TABLE t1 (
+c1 CHAR(130),
+c2 VARCHAR(1)
+) ENGINE=MyISAM;
+INSERT INTO t1 VALUES(REPEAT("a",128), 'b');
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+1
+CHECK TABLE t1 EXTENDED;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+REPAIR TABLE t1 EXTENDED;
+Table Op Msg_type Msg_text
+test.t1 repair status OK
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+1
+CHECK TABLE t1 EXTENDED;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+DROP TABLE t1;
+CREATE TABLE t1 (
+c1 CHAR(130),
+c2 VARCHAR(1)
+) ENGINE=MyISAM;
+INSERT INTO t1 VALUES(REPEAT("a",128), 'b');
+INSERT INTO t1 VALUES('b', 'b');
+INSERT INTO t1 VALUES('c', 'b');
+DELETE FROM t1 WHERE c1='b';
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+2
+OPTIMIZE TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 optimize status OK
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+2
+DROP TABLE t1;
+CREATE TABLE t1 (
+c1 CHAR(130),
+c2 VARCHAR(1),
+KEY (c1)
+) ENGINE=MyISAM;
+# Insert 100 rows. Query log disabled.
+UPDATE t1 SET c1=REPEAT("a",128) LIMIT 90;
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+100
+ALTER TABLE t1 ENGINE=MyISAM;
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+100
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+CHECK TABLE t1 EXTENDED;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+DROP TABLE t1;
+CREATE TABLE t1 (
+c1 CHAR(50),
+c2 VARCHAR(1)
+) ENGINE=MyISAM DEFAULT CHARSET UTF8;
+INSERT INTO t1 VALUES(REPEAT(_utf8 x'e0ae85',43), 'b');
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+1
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+REPAIR TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 repair status OK
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+1
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+DROP TABLE t1;
+CREATE TABLE t1 (
+c1 CHAR(50),
+c2 VARCHAR(1)
+) ENGINE=MyISAM DEFAULT CHARSET UTF8;
+INSERT INTO t1 VALUES(REPEAT(_utf8 x'e0ae85',43), 'b');
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+1
+CHECK TABLE t1 EXTENDED;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+REPAIR TABLE t1 EXTENDED;
+Table Op Msg_type Msg_text
+test.t1 repair status OK
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+1
+CHECK TABLE t1 EXTENDED;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+DROP TABLE t1;
+CREATE TABLE t1 (
+c1 CHAR(50),
+c2 VARCHAR(1)
+) ENGINE=MyISAM DEFAULT CHARSET UTF8;
+INSERT INTO t1 VALUES(REPEAT(_utf8 x'e0ae85',43), 'b');
+INSERT INTO t1 VALUES('b', 'b');
+INSERT INTO t1 VALUES('c', 'b');
+DELETE FROM t1 WHERE c1='b';
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+2
+OPTIMIZE TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 optimize status OK
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+2
+DROP TABLE t1;
+CREATE TABLE t1 (
+c1 CHAR(50),
+c2 VARCHAR(1),
+KEY (c1)
+) ENGINE=MyISAM DEFAULT CHARSET UTF8;
+# Insert 100 rows. Query log disabled.
+UPDATE t1 SET c1=REPEAT(_utf8 x'e0ae85',43) LIMIT 90;
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+100
+ALTER TABLE t1 ENGINE=MyISAM;
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+100
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+CHECK TABLE t1 EXTENDED;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+DROP TABLE t1;
+CREATE TABLE t1 (
+c1 VARCHAR(10) NOT NULL,
+c2 CHAR(10) DEFAULT NULL,
+c3 VARCHAR(10) NOT NULL,
+KEY (c1),
+KEY (c2)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 PACK_KEYS=0;
+
+MyISAM file: MYSQLTEST_VARDIR/master-data/test/t1
+Record format: Packed
+Character set: utf8_general_ci (33)
+Data records: 0 Deleted blocks: 0
+Recordlength: 94
+
+table description:
+Key Start Len Index Type
+1 2 30 multip. varchar
+2 33 30 multip. char NULL
+DROP TABLE t1;
End of 5.1 tests
diff --git a/mysql-test/r/myisampack.result b/mysql-test/r/myisampack.result
new file mode 100644
index 00000000000..5f39d318234
--- /dev/null
+++ b/mysql-test/r/myisampack.result
@@ -0,0 +1,29 @@
+CREATE TABLE t1(c1 DOUBLE, c2 DOUBLE, c3 DOUBLE, c4 DOUBLE, c5 DOUBLE,
+c6 DOUBLE, c7 DOUBLE, c8 DOUBLE, c9 DOUBLE, a INT PRIMARY KEY);
+INSERT INTO t1 VALUES
+(-3.31168791059336e-06,-3.19054655887874e-06,-1.06528081684847e-05,-1.227278240089e-06,-1.66718069164799e-06,-2.59038972510885e-06,-2.83145227805303e-06,-4.09678491270648e-07,-2.22610091291797e-06,6),
+(0.0030743000272545,2.53222044316438e-05,2.78674650061845e-05,1.95914465544536e-05,1.7347572525984e-05,1.87513810069614e-05,1.69882826885005e-05,2.44449336987598e-05,1.89914629921774e-05,9),
+(2.85229319423495e-05,3.05970988282259e-05,3.77161100113133e-05,2.3055238978766e-05,2.08241267364615e-05,2.28009504270553e-05,2.12070165658947e-05,2.84350091565409e-05,2.3366822910704e-05,3),
+(0,0,0,0,0,0,0,0,0,12),
+(3.24544577570754e-05,3.44619021870993e-05,4.37561613201124e-05,2.57556808726748e-05,2.3195354640561e-05,2.58532400758869e-05,2.34934241667179e-05,3.1621640063232e-05,2.58229982746189e-05,19),
+(2.53222044316438e-05,0.00445071933455582,2.97447268116016e-05,2.12379514059868e-05,1.86777776502663e-05,2.0170058676712e-05,1.8946030385445e-05,2.66040037173511e-05,2.09161899668946e-05,20),
+(3.03462382611645e-05,3.26517930083994e-05,3.5242025468662e-05,2.53219745106391e-05,2.24384532945004e-05,2.4052346047657e-05,2.23865572957053e-05,3.1634313969082e-05,2.48285463481801e-05,21),
+(1.95914465544536e-05,2.12379514059868e-05,2.27808649037128e-05,0.000341724375366877,1.4512761275113e-05,1.56475828693953e-05,1.44372366441415e-05,2.07952121981765e-05,1.61488256935919e-05,28),
+(1.7347572525984e-05,1.86777776502663e-05,2.04116907052727e-05,1.4512761275113e-05,0.000432162526082388,1.38116514014465e-05,1.2712914948904e-05,1.82503165178506e-05,1.43043075345922e-05,30),
+(1.68339762136661e-05,1.77836497166611e-05,2.36328309295222e-05,1.30183423732016e-05,1.18674654241553e-05,1.32467273128652e-05,1.24581739117775e-05,1.55624190959406e-05,1.33010638508213e-05,31),
+(1.89643062824415e-05,2.06997140070717e-05,2.29045490159364e-05,1.57918175731019e-05,1.39864987449492e-05,1.50580274578455e-05,1.45908734129609e-05,1.95329296993327e-05,1.5814709481221e-05,32),
+(1.69882826885005e-05,1.8946030385445e-05,2.00820439721439e-05,1.44372366441415e-05,1.2712914948904e-05,1.35209686474184e-05,0.00261563314789896,1.78285095864627e-05,1.46699314500019e-05,34),
+(2.0278186540684e-05,2.18923409729654e-05,2.39981539939738e-05,1.71774589459438e-05,1.54654355357383e-05,1.62731485707636e-05,1.49253140625051e-05,2.18229800160297e-05,1.71923561673718e-05,35),
+(2.44449336987598e-05,2.66040037173511e-05,2.84860148925308e-05,2.07952121981765e-05,1.82503165178506e-05,1.97667730441441e-05,1.78285095864627e-05,0.00166478601822712,2.0299952103232e-05,36),
+(1.89914629921774e-05,2.09161899668946e-05,2.26026841007872e-05,1.61488256935919e-05,1.43043075345922e-05,1.52609063290127e-05,1.46699314500019e-05,2.0299952103232e-05,0.00306670170971682,39),
+(0,0,0,0,0,0,0,0,0,41),
+(0,0,0,0,0,0,0,0,0,17),
+(0,0,0,0,0,0,0,0,0,18),
+(2.51880677333017e-05,2.63051795435778e-05,2.79874748974906e-05,2.02888886670845e-05,1.8178636318197e-05,1.91308527003585e-05,1.83260023644133e-05,2.4422300558171e-05,1.96411467520551e-05,44),
+(2.22402118719591e-05,2.37546284320705e-05,2.58463051055541e-05,1.83391609130854e-05,1.6300720519646e-05,1.74559091886791e-05,1.63733785575587e-05,2.26616253279828e-05,1.79541237435621e-05,45),
+(3.01092775359837e-05,3.23865212934412e-05,4.09444584045994e-05,0,2.15470966302776e-05,2.39082636344032e-05,2.28296706429177e-05,2.9007671511595e-05,2.44201138973326e-05,46);
+FLUSH TABLES;
+CHECK TABLE t1 EXTENDED;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+DROP TABLE t1;
diff --git a/mysql-test/r/mysql.result b/mysql-test/r/mysql.result
index f5b369f246a..a4d96c1c243 100644
--- a/mysql-test/r/mysql.result
+++ b/mysql-test/r/mysql.result
@@ -91,7 +91,7 @@ i j k
NULL 1 NULL
Field Type Null Key Default Extra
i int(11) YES NULL
-j int(11) NO
+j int(11) NO NULL
k int(11) YES NULL
+------+---+------+
| i | j | k |
@@ -102,7 +102,7 @@ k int(11) YES NULL
| Field | Type | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| i | int(11) | YES | | NULL | |
-| j | int(11) | NO | | | |
+| j | int(11) | NO | | NULL | |
| k | int(11) | YES | | NULL | |
+-------+---------+------+-----+---------+-------+
i s1
@@ -176,5 +176,16 @@ ERROR at line 1: DELIMITER cannot contain a backslash character
ERROR at line 1: DELIMITER cannot contain a backslash character
1
1
+1
+1
+This is a file starting with UTF8 BOM 0xEFBBBF
+This is a file starting with UTF8 BOM 0xEFBBBF
End of 5.0 tests
WARNING: --server-arg option not supported in this configuration.
+Warning (Code 1286): Unknown table engine 'nonexistent'
+Warning (Code 1266): Using storage engine MyISAM for table 't2'
+Warning (Code 1286): Unknown table engine 'nonexistent2'
+Warning (Code 1266): Using storage engine MyISAM for table 't2'
+Error (Code 1050): Table 't2' already exists
+drop tables t1, t2;
+End of tests
diff --git a/mysql-test/r/mysql_comments.result b/mysql-test/r/mysql_comments.result
new file mode 100644
index 00000000000..7f1c0b50c5e
--- /dev/null
+++ b/mysql-test/r/mysql_comments.result
@@ -0,0 +1,62 @@
+drop table if exists t1;
+drop function if exists foofct;
+drop procedure if exists empty;
+drop procedure if exists foosp;
+drop procedure if exists nicesp;
+drop trigger if exists t1_empty;
+drop trigger if exists t1_bi;
+"Pass 1 : --disable-comments"
+1
+1
+2
+2
+foofct("call 1")
+call 1
+Function sql_mode Create Function character_set_client collation_connection Database Collation
+foofct CREATE DEFINER=`root`@`localhost` FUNCTION `foofct`(x char(20)) RETURNS char(20) CHARSET latin1\nreturn\n\n\n\nx latin1 latin1_swedish_ci latin1_swedish_ci
+foofct("call 2")
+call 2
+Function sql_mode Create Function character_set_client collation_connection Database Collation
+foofct CREATE DEFINER=`root`@`localhost` FUNCTION `foofct`(x char(20)) RETURNS char(20) CHARSET latin1\nbegin\n \n \n \n\n \n\n \n return x;\nend latin1 latin1_swedish_ci latin1_swedish_ci
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+empty CREATE DEFINER=`root`@`localhost` PROCEDURE `empty`()\nbegin\nend latin1 latin1_swedish_ci latin1_swedish_ci
+id data
+foo 42
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+foosp CREATE DEFINER=`root`@`localhost` PROCEDURE `foosp`()\ninsert into test.t1\n\n\n\n\n \n\n \n values ("foo", 42) latin1 latin1_swedish_ci latin1_swedish_ci
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+nicesp CREATE DEFINER=`root`@`localhost` PROCEDURE `nicesp`(a int)\nbegin\n \n declare b int;\n declare c float;\n\n \n \n\n \nend latin1 latin1_swedish_ci latin1_swedish_ci
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation
+t1_empty CREATE DEFINER=`root`@`localhost` trigger t1_empty after delete on t1\nfor each row\nbegin\nend latin1 latin1_swedish_ci latin1_swedish_ci
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation
+t1_bi CREATE DEFINER=`root`@`localhost` trigger t1_bi before insert on t1\nfor each row\nbegin\n\n\n\n \n declare b int;\n declare c float;\n\n \n \n\n \n set NEW.data := 12;\nend latin1 latin1_swedish_ci latin1_swedish_ci
+id data
+trig 12
+"Pass 2 : --enable-comments"
+1
+1
+2
+2
+foofct("call 1")
+call 1
+Function sql_mode Create Function character_set_client collation_connection Database Collation
+foofct CREATE DEFINER=`root`@`localhost` FUNCTION `foofct`(x char(20)) RETURNS char(20) CHARSET latin1\nreturn\n-- comment 1a\n# comment 1b\n/* comment 1c */\nx # after body, on same line latin1 latin1_swedish_ci latin1_swedish_ci
+foofct("call 2")
+call 2
+Function sql_mode Create Function character_set_client collation_connection Database Collation
+foofct CREATE DEFINER=`root`@`localhost` FUNCTION `foofct`(x char(20)) RETURNS char(20) CHARSET latin1\nbegin\n -- comment 1a\n # comment 1b\n /*\n comment 1c\n */\n\n -- empty line below\n\n -- empty line above\n return x;\nend latin1 latin1_swedish_ci latin1_swedish_ci
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+empty CREATE DEFINER=`root`@`localhost` PROCEDURE `empty`()\nbegin\nend latin1 latin1_swedish_ci latin1_swedish_ci
+id data
+foo 42
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+foosp CREATE DEFINER=`root`@`localhost` PROCEDURE `foosp`()\ninsert into test.t1\n## These comments are part of the procedure body, and should be kept.\n# Comment 2a\n-- Comment 2b\n/* Comment 2c */\n -- empty line below\n\n -- empty line above\n values ("foo", 42) # comment 3, still part of the body latin1 latin1_swedish_ci latin1_swedish_ci
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+nicesp CREATE DEFINER=`root`@`localhost` PROCEDURE `nicesp`(a int)\nbegin\n -- declare some variables here\n declare b int;\n declare c float;\n\n -- do more stuff here\n -- commented nicely and so on\n\n -- famous last words ...\nend latin1 latin1_swedish_ci latin1_swedish_ci
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation
+t1_empty CREATE DEFINER=`root`@`localhost` trigger t1_empty after delete on t1\nfor each row\nbegin\nend latin1 latin1_swedish_ci latin1_swedish_ci
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation
+t1_bi CREATE DEFINER=`root`@`localhost` trigger t1_bi before insert on t1\nfor each row\nbegin\n# comment 1a\n-- comment 1b\n/*\n comment 1c\n*/\n -- declare some variables here\n declare b int;\n declare c float;\n\n -- do more stuff here\n -- commented nicely and so on\n\n -- famous last words ...\n set NEW.data := 12;\nend latin1 latin1_swedish_ci latin1_swedish_ci
+id data
+trig 12
+End of 5.0 tests
diff --git a/mysql-test/r/mysql_upgrade.result b/mysql-test/r/mysql_upgrade.result
index 30ece1b121a..31846f68b7b 100644
--- a/mysql-test/r/mysql_upgrade.result
+++ b/mysql-test/r/mysql_upgrade.result
@@ -3,7 +3,9 @@ mysql.columns_priv OK
mysql.db OK
mysql.event OK
mysql.func OK
-mysql.general_log OK
+mysql.general_log
+Error : You can't use locks with log tables.
+status : OK
mysql.help_category OK
mysql.help_keyword OK
mysql.help_relation OK
@@ -14,7 +16,9 @@ mysql.plugin OK
mysql.proc OK
mysql.procs_priv OK
mysql.servers OK
-mysql.slow_log OK
+mysql.slow_log
+Error : You can't use locks with log tables.
+status : OK
mysql.tables_priv OK
mysql.time_zone OK
mysql.time_zone_leap_second OK
@@ -29,7 +33,9 @@ mysql.columns_priv OK
mysql.db OK
mysql.event OK
mysql.func OK
-mysql.general_log OK
+mysql.general_log
+Error : You can't use locks with log tables.
+status : OK
mysql.help_category OK
mysql.help_keyword OK
mysql.help_relation OK
@@ -40,7 +46,9 @@ mysql.plugin OK
mysql.proc OK
mysql.procs_priv OK
mysql.servers OK
-mysql.slow_log OK
+mysql.slow_log
+Error : You can't use locks with log tables.
+status : OK
mysql.tables_priv OK
mysql.time_zone OK
mysql.time_zone_leap_second OK
@@ -55,7 +63,9 @@ mysql.columns_priv OK
mysql.db OK
mysql.event OK
mysql.func OK
-mysql.general_log OK
+mysql.general_log
+Error : You can't use locks with log tables.
+status : OK
mysql.help_category OK
mysql.help_keyword OK
mysql.help_relation OK
@@ -66,7 +76,9 @@ mysql.plugin OK
mysql.proc OK
mysql.procs_priv OK
mysql.servers OK
-mysql.slow_log OK
+mysql.slow_log
+Error : You can't use locks with log tables.
+status : OK
mysql.tables_priv OK
mysql.time_zone OK
mysql.time_zone_leap_second OK
@@ -83,7 +95,9 @@ mysql.columns_priv OK
mysql.db OK
mysql.event OK
mysql.func OK
-mysql.general_log OK
+mysql.general_log
+Error : You can't use locks with log tables.
+status : OK
mysql.help_category OK
mysql.help_keyword OK
mysql.help_relation OK
@@ -94,7 +108,9 @@ mysql.plugin OK
mysql.proc OK
mysql.procs_priv OK
mysql.servers OK
-mysql.slow_log OK
+mysql.slow_log
+Error : You can't use locks with log tables.
+status : OK
mysql.tables_priv OK
mysql.time_zone OK
mysql.time_zone_leap_second OK
diff --git a/mysql-test/r/mysqlbinlog.result b/mysql-test/r/mysqlbinlog.result
index f10ae4b4df5..7c5fdf5f3d0 100644
--- a/mysql-test/r/mysqlbinlog.result
+++ b/mysql-test/r/mysqlbinlog.result
@@ -19,28 +19,41 @@ DELIMITER /*!*/;
ROLLBACK/*!*/;
use test/*!*/;
SET TIMESTAMP=1000000000/*!*/;
+SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
SET @@session.sql_mode=0/*!*/;
+SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
-drop table if exists t1,t2,t3,t4,t5,t03,t04/*!*/;
+SET @@session.lc_time_names=0/*!*/;
+SET @@session.collation_database=DEFAULT/*!*/;
+drop table if exists t1,t2,t3,t4,t5,t03,t04
+/*!*/;
SET TIMESTAMP=1000000000/*!*/;
-create table t1 (word varchar(20))/*!*/;
+create table t1 (word varchar(20))
+/*!*/;
SET TIMESTAMP=1000000000/*!*/;
-create table t2 (id int auto_increment not null primary key)/*!*/;
+create table t2 (id int auto_increment not null primary key)
+/*!*/;
SET TIMESTAMP=1000000000/*!*/;
-insert into t1 values ("abirvalg")/*!*/;
+insert into t1 values ("abirvalg")
+/*!*/;
SET INSERT_ID=1/*!*/;
SET TIMESTAMP=1000000000/*!*/;
-insert into t2 values ()/*!*/;
+insert into t2 values ()
+/*!*/;
SET TIMESTAMP=1000000000/*!*/;
-load data LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-1-0' INTO table t1/*!*/;
+load data LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO table t1
+/*!*/;
SET TIMESTAMP=1000000000/*!*/;
-load data LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-2-0' INTO table t1/*!*/;
+load data LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO table t1
+/*!*/;
SET TIMESTAMP=1000000000/*!*/;
-load data LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-3-0' INTO table t1/*!*/;
+load data LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO table t1
+/*!*/;
SET TIMESTAMP=1000000000/*!*/;
-load data LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-4-0' INTO table t1/*!*/;
+load data LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO table t1
+/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
@@ -52,11 +65,16 @@ ROLLBACK /* added by mysqlbinlog */;
DELIMITER /*!*/;
use test/*!*/;
SET TIMESTAMP=1000000000/*!*/;
+SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
SET @@session.sql_mode=0/*!*/;
+SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
-insert into t1 values ("Alas")/*!*/;
+SET @@session.lc_time_names=0/*!*/;
+SET @@session.collation_database=DEFAULT/*!*/;
+insert into t1 values ("Alas")
+/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
@@ -79,11 +97,16 @@ ROLLBACK /* added by mysqlbinlog */;
DELIMITER /*!*/;
use test/*!*/;
SET TIMESTAMP=1000000000/*!*/;
+SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
SET @@session.sql_mode=0/*!*/;
+SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
-insert into t1 values ("Alas")/*!*/;
+SET @@session.lc_time_names=0/*!*/;
+SET @@session.collation_database=DEFAULT/*!*/;
+insert into t1 values ("Alas")
+/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
@@ -96,28 +119,41 @@ DELIMITER /*!*/;
ROLLBACK/*!*/;
use test/*!*/;
SET TIMESTAMP=1000000000/*!*/;
+SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
SET @@session.sql_mode=0/*!*/;
+SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
-drop table if exists t1,t2,t3,t4,t5,t03,t04/*!*/;
+SET @@session.lc_time_names=0/*!*/;
+SET @@session.collation_database=DEFAULT/*!*/;
+drop table if exists t1,t2,t3,t4,t5,t03,t04
+/*!*/;
SET TIMESTAMP=1000000000/*!*/;
-create table t1 (word varchar(20))/*!*/;
+create table t1 (word varchar(20))
+/*!*/;
SET TIMESTAMP=1000000000/*!*/;
-create table t2 (id int auto_increment not null primary key)/*!*/;
+create table t2 (id int auto_increment not null primary key)
+/*!*/;
SET TIMESTAMP=1000000000/*!*/;
-insert into t1 values ("abirvalg")/*!*/;
+insert into t1 values ("abirvalg")
+/*!*/;
SET INSERT_ID=1/*!*/;
SET TIMESTAMP=1000000000/*!*/;
-insert into t2 values ()/*!*/;
+insert into t2 values ()
+/*!*/;
SET TIMESTAMP=1000000000/*!*/;
-load data LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-1-2' INTO table t1/*!*/;
+load data LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO table t1
+/*!*/;
SET TIMESTAMP=1000000000/*!*/;
-load data LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-2-2' INTO table t1/*!*/;
+load data LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO table t1
+/*!*/;
SET TIMESTAMP=1000000000/*!*/;
-load data LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-3-2' INTO table t1/*!*/;
+load data LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO table t1
+/*!*/;
SET TIMESTAMP=1000000000/*!*/;
-load data LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-4-2' INTO table t1/*!*/;
+load data LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO table t1
+/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
@@ -129,11 +165,16 @@ ROLLBACK /* added by mysqlbinlog */;
DELIMITER /*!*/;
use test/*!*/;
SET TIMESTAMP=1000000000/*!*/;
+SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
SET @@session.sql_mode=0/*!*/;
+SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
-insert into t1 values ("Alas")/*!*/;
+SET @@session.lc_time_names=0/*!*/;
+SET @@session.collation_database=DEFAULT/*!*/;
+insert into t1 values ("Alas")
+/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
@@ -156,11 +197,16 @@ ROLLBACK /* added by mysqlbinlog */;
DELIMITER /*!*/;
use test/*!*/;
SET TIMESTAMP=1000000000/*!*/;
+SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
SET @@session.sql_mode=0/*!*/;
+SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
-insert into t1 values ("Alas")/*!*/;
+SET @@session.lc_time_names=0/*!*/;
+SET @@session.collation_database=DEFAULT/*!*/;
+insert into t1 values ("Alas")
+/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
@@ -173,9 +219,15 @@ DELIMITER /*!*/;
ROLLBACK/*!*/;
use test/*!*/;
SET TIMESTAMP=1108844556/*!*/;
-BEGIN/*!*/;
+SET @@session.pseudo_thread_id=999999999/*!*/;
+SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
+SET @@session.lc_time_names=0/*!*/;
+SET @@session.collation_database=DEFAULT/*!*/;
+BEGIN
+/*!*/;
SET TIMESTAMP=1108844555/*!*/;
-insert t1 values (1)/*!*/;
+insert t1 values (1)
+/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
@@ -185,9 +237,15 @@ ROLLBACK /* added by mysqlbinlog */;
DELIMITER /*!*/;
use test/*!*/;
SET TIMESTAMP=1108844556/*!*/;
-BEGIN/*!*/;
+SET @@session.pseudo_thread_id=999999999/*!*/;
+SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
+SET @@session.lc_time_names=0/*!*/;
+SET @@session.collation_database=DEFAULT/*!*/;
+BEGIN
+/*!*/;
SET TIMESTAMP=1108844555/*!*/;
-insert t1 values (1)/*!*/;
+insert t1 values (1)
+/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
@@ -239,14 +297,19 @@ ERROR 42000: PROCEDURE test.p1 does not exist
DELIMITER /*!*/;
use test/*!*/;
SET TIMESTAMP=1000000000/*!*/;
+SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
SET @@session.sql_mode=0/*!*/;
+SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
+SET @@session.lc_time_names=0/*!*/;
+SET @@session.collation_database=DEFAULT/*!*/;
CREATE DEFINER=`root`@`localhost` procedure p1()
begin
select 1;
-end/*!*/;
+end
+/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
@@ -284,31 +347,44 @@ flush logs;
DELIMITER /*!*/;
use test/*!*/;
SET TIMESTAMP=1000000000/*!*/;
+SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
SET @@session.sql_mode=0/*!*/;
+SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
-create table t1 (a varchar(64) character set utf8)/*!*/;
+SET @@session.lc_time_names=0/*!*/;
+SET @@session.collation_database=DEFAULT/*!*/;
+create table t1 (a varchar(64) character set utf8)
+/*!*/;
SET TIMESTAMP=1000000000/*!*/;
-load data LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-6-0' INTO table t1/*!*/;
+load data LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO table t1
+/*!*/;
SET TIMESTAMP=1000000000/*!*/;
SET @@session.collation_database=7/*!*/;
-load data LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-7-0' INTO table t1/*!*/;
+load data LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO table t1
+/*!*/;
SET TIMESTAMP=1000000000/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
-load data LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-8-0' INTO table t1/*!*/;
+load data LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO table t1
+/*!*/;
SET TIMESTAMP=1000000000/*!*/;
-load data LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-9-0' INTO table t1/*!*/;
+load data LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO table t1
+/*!*/;
SET TIMESTAMP=1000000000/*!*/;
SET @@session.collation_database=7/*!*/;
-load data LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-a-0' INTO table t1/*!*/;
+load data LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-a-0' INTO table t1
+/*!*/;
SET TIMESTAMP=1000000000/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
-load data LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-b-0' INTO table t1/*!*/;
+load data LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-b-0' INTO table t1
+/*!*/;
SET TIMESTAMP=1000000000/*!*/;
-load data LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-c-0' INTO table t1 character set koi8r/*!*/;
+load data LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-c-0' INTO table t1 character set koi8r
+/*!*/;
SET TIMESTAMP=1000000000/*!*/;
-drop table t1/*!*/;
+drop table t1
+/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
@@ -326,6 +402,55 @@ flush logs;
drop table t1;
1
drop table t1;
+shell> mysqlbinlog std_data/corrupt-relay-bin.000624 > var/tmp/bug31793.sql
End of 5.0 tests
flush logs;
+BUG#31611: Security risk with BINLOG statement
+SET BINLOG_FORMAT=ROW;
+CREATE DATABASE mysqltest1;
+CREATE USER untrusted@localhost;
+GRANT SELECT ON mysqltest1.* TO untrusted@localhost;
+SHOW GRANTS FOR untrusted@localhost;
+Grants for untrusted@localhost
+GRANT USAGE ON *.* TO 'untrusted'@'localhost'
+GRANT SELECT ON `mysqltest1`.* TO 'untrusted'@'localhost'
+USE mysqltest1;
+CREATE TABLE t1 (a INT, b CHAR(64));
+flush logs;
+INSERT INTO t1 VALUES (1,USER());
+flush logs;
+mysqlbinlog var/log/master-bin.000017 > var/tmp/bug31611.sql
+mysql mysqltest1 -uuntrusted < var/tmp/bug31611.sql
+INSERT INTO t1 VALUES (1,USER());
+ERROR 42000: INSERT command denied to user 'untrusted'@'localhost' for table 't1'
+SELECT * FROM t1;
+a b
+1 root@localhost
+DROP DATABASE mysqltest1;
+DROP USER untrusted@localhost;
+BUG#32580: mysqlbinlog cannot read binlog event with user variables
+USE test;
+SET BINLOG_FORMAT = STATEMENT;
+FLUSH LOGS;
+CREATE TABLE t1 (a_real FLOAT, an_int INT, a_decimal DECIMAL(5,2), a_string CHAR(32));
+SET @a_real = rand(20) * 1000;
+SET @an_int = 1000;
+SET @a_decimal = CAST(rand(19) * 999 AS DECIMAL(5,2));
+SET @a_string = 'Just a test';
+INSERT INTO t1 VALUES (@a_real, @an_int, @a_decimal, @a_string);
+FLUSH LOGS;
+SELECT * FROM t1;
+a_real 158.883
+an_int 1000
+a_decimal 907.79
+a_string Just a test
+DROP TABLE t1;
+>> mysqlbinlog var/log/master-bin.000019 > var/tmp/bug32580.sql
+>> mysql test < var/tmp/bug32580.sql
+SELECT * FROM t1;
+a_real 158.883
+an_int 1000
+a_decimal 907.79
+a_string Just a test
+DROP TABLE t1;
End of 5.1 tests
diff --git a/mysql-test/r/mysqlbinlog2.result b/mysql-test/r/mysqlbinlog2.result
index bb73ebde777..89fc4b87d29 100644
--- a/mysql-test/r/mysqlbinlog2.result
+++ b/mysql-test/r/mysqlbinlog2.result
@@ -18,55 +18,39 @@ insert into t1 values(null, "f");
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
-# at {pos}
-#{yymmdd} {HH:MM:SS} server id 1 end_log_pos {pos} Start: binlog v 4, server v 5.1.18-beta-debug-log created {yymmdd} {HH:MM:SS} at startup
ROLLBACK/*!*/;
-# at {pos}
-#{yymmdd} {HH:MM:SS} server id 1 end_log_pos {pos} Query thread_id={integer} exec_time={integer} error_code=0
use test/*!*/;
SET TIMESTAMP=1579609942/*!*/;
+SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
SET @@session.sql_mode=0/*!*/;
+SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
-create table t1 (a int auto_increment not null primary key, b char(3))/*!*/;
-# at {pos}
-#{yymmdd} {HH:MM:SS} server id 1 end_log_pos {pos} Intvar
+SET @@session.lc_time_names=0/*!*/;
+SET @@session.collation_database=DEFAULT/*!*/;
+create table t1 (a int auto_increment not null primary key, b char(3))
+/*!*/;
SET INSERT_ID=1/*!*/;
-# at {pos}
-#{yymmdd} {HH:MM:SS} server id 1 end_log_pos {pos} Query thread_id={integer} exec_time={integer} error_code=0
SET TIMESTAMP=1579609942/*!*/;
-insert into t1 values(null, "a")/*!*/;
-# at {pos}
-#{yymmdd} {HH:MM:SS} server id 1 end_log_pos {pos} Intvar
+insert into t1 values(null, "a")
+/*!*/;
SET INSERT_ID=2/*!*/;
-# at {pos}
-#{yymmdd} {HH:MM:SS} server id 1 end_log_pos {pos} Query thread_id={integer} exec_time={integer} error_code=0
SET TIMESTAMP=1579609942/*!*/;
-insert into t1 values(null, "b")/*!*/;
-# at {pos}
-#{yymmdd} {HH:MM:SS} server id 1 end_log_pos {pos} Intvar
+insert into t1 values(null, "b")
+/*!*/;
SET INSERT_ID=3/*!*/;
-# at {pos}
-#{yymmdd} {HH:MM:SS} server id 1 end_log_pos {pos} Query thread_id={integer} exec_time={integer} error_code=0
SET TIMESTAMP=1579609944/*!*/;
-insert into t1 values(null, "c")/*!*/;
-# at {pos}
-#{yymmdd} {HH:MM:SS} server id 1 end_log_pos {pos} Intvar
+insert into t1 values(null, "c")
+/*!*/;
SET INSERT_ID=4/*!*/;
-# at {pos}
-#{yymmdd} {HH:MM:SS} server id 1 end_log_pos {pos} Query thread_id={integer} exec_time={integer} error_code=0
SET TIMESTAMP=1579609946/*!*/;
-insert into t1 values(null, "d")/*!*/;
-# at {pos}
-#{yymmdd} {HH:MM:SS} server id 1 end_log_pos {pos} Intvar
+insert into t1 values(null, "d")
+/*!*/;
SET INSERT_ID=5/*!*/;
-# at {pos}
-#{yymmdd} {HH:MM:SS} server id 1 end_log_pos {pos} Query thread_id={integer} exec_time={integer} error_code=0
SET TIMESTAMP=1579609946/*!*/;
-insert into t1 values(null, "e")/*!*/;
-# at {pos}
-#{yymmdd} {HH:MM:SS} server id 1 end_log_pos {pos} Rotate to master-bin.000002 pos: {pos}
+insert into t1 values(null, "e")
+/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
@@ -80,23 +64,32 @@ ROLLBACK/*!*/;
SET INSERT_ID=1/*!*/;
use test/*!*/;
SET TIMESTAMP=1579609942/*!*/;
+SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
SET @@session.sql_mode=0/*!*/;
+SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
-insert into t1 values(null, "a")/*!*/;
+SET @@session.lc_time_names=0/*!*/;
+SET @@session.collation_database=DEFAULT/*!*/;
+insert into t1 values(null, "a")
+/*!*/;
SET INSERT_ID=2/*!*/;
SET TIMESTAMP=1579609942/*!*/;
-insert into t1 values(null, "b")/*!*/;
+insert into t1 values(null, "b")
+/*!*/;
SET INSERT_ID=3/*!*/;
SET TIMESTAMP=1579609944/*!*/;
-insert into t1 values(null, "c")/*!*/;
+insert into t1 values(null, "c")
+/*!*/;
SET INSERT_ID=4/*!*/;
SET TIMESTAMP=1579609946/*!*/;
-insert into t1 values(null, "d")/*!*/;
+insert into t1 values(null, "d")
+/*!*/;
SET INSERT_ID=5/*!*/;
SET TIMESTAMP=1579609946/*!*/;
-insert into t1 values(null, "e")/*!*/;
+insert into t1 values(null, "e")
+/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
@@ -106,17 +99,24 @@ ROLLBACK /* added by mysqlbinlog */;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
+ROLLBACK/*!*/;
SET INSERT_ID=4/*!*/;
use test/*!*/;
SET TIMESTAMP=1579609946/*!*/;
+SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
SET @@session.sql_mode=0/*!*/;
+SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
-insert into t1 values(null, "d")/*!*/;
+SET @@session.lc_time_names=0/*!*/;
+SET @@session.collation_database=DEFAULT/*!*/;
+insert into t1 values(null, "d")
+/*!*/;
SET INSERT_ID=5/*!*/;
SET TIMESTAMP=1579609946/*!*/;
-insert into t1 values(null, "e")/*!*/;
+insert into t1 values(null, "e")
+/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
@@ -129,20 +129,28 @@ DELIMITER /*!*/;
ROLLBACK/*!*/;
use test/*!*/;
SET TIMESTAMP=1579609942/*!*/;
+SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
SET @@session.sql_mode=0/*!*/;
+SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
-create table t1 (a int auto_increment not null primary key, b char(3))/*!*/;
+SET @@session.lc_time_names=0/*!*/;
+SET @@session.collation_database=DEFAULT/*!*/;
+create table t1 (a int auto_increment not null primary key, b char(3))
+/*!*/;
SET INSERT_ID=1/*!*/;
SET TIMESTAMP=1579609942/*!*/;
-insert into t1 values(null, "a")/*!*/;
+insert into t1 values(null, "a")
+/*!*/;
SET INSERT_ID=2/*!*/;
SET TIMESTAMP=1579609942/*!*/;
-insert into t1 values(null, "b")/*!*/;
+insert into t1 values(null, "b")
+/*!*/;
SET INSERT_ID=3/*!*/;
SET TIMESTAMP=1579609944/*!*/;
-insert into t1 values(null, "c")/*!*/;
+insert into t1 values(null, "c")
+/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
@@ -152,14 +160,20 @@ ROLLBACK /* added by mysqlbinlog */;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
+ROLLBACK/*!*/;
SET INSERT_ID=4/*!*/;
use test/*!*/;
SET TIMESTAMP=1579609946/*!*/;
+SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
SET @@session.sql_mode=0/*!*/;
+SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
-insert into t1 values(null, "d")/*!*/;
+SET @@session.lc_time_names=0/*!*/;
+SET @@session.collation_database=DEFAULT/*!*/;
+insert into t1 values(null, "d")
+/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
@@ -173,17 +187,24 @@ ROLLBACK/*!*/;
SET INSERT_ID=3/*!*/;
use test/*!*/;
SET TIMESTAMP=1579609944/*!*/;
+SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
SET @@session.sql_mode=0/*!*/;
+SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
-insert into t1 values(null, "c")/*!*/;
+SET @@session.lc_time_names=0/*!*/;
+SET @@session.collation_database=DEFAULT/*!*/;
+insert into t1 values(null, "c")
+/*!*/;
SET INSERT_ID=4/*!*/;
SET TIMESTAMP=1579609946/*!*/;
-insert into t1 values(null, "d")/*!*/;
+insert into t1 values(null, "d")
+/*!*/;
SET INSERT_ID=5/*!*/;
SET TIMESTAMP=1579609946/*!*/;
-insert into t1 values(null, "e")/*!*/;
+insert into t1 values(null, "e")
+/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
@@ -196,17 +217,24 @@ DELIMITER /*!*/;
ROLLBACK/*!*/;
use test/*!*/;
SET TIMESTAMP=1579609942/*!*/;
+SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
SET @@session.sql_mode=0/*!*/;
+SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
-create table t1 (a int auto_increment not null primary key, b char(3))/*!*/;
+SET @@session.lc_time_names=0/*!*/;
+SET @@session.collation_database=DEFAULT/*!*/;
+create table t1 (a int auto_increment not null primary key, b char(3))
+/*!*/;
SET INSERT_ID=1/*!*/;
SET TIMESTAMP=1579609942/*!*/;
-insert into t1 values(null, "a")/*!*/;
+insert into t1 values(null, "a")
+/*!*/;
SET INSERT_ID=2/*!*/;
SET TIMESTAMP=1579609942/*!*/;
-insert into t1 values(null, "b")/*!*/;
+insert into t1 values(null, "b")
+/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
@@ -220,36 +248,51 @@ DELIMITER /*!*/;
ROLLBACK/*!*/;
use test/*!*/;
SET TIMESTAMP=1579609942/*!*/;
+SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
SET @@session.sql_mode=0/*!*/;
+SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
-create table t1 (a int auto_increment not null primary key, b char(3))/*!*/;
+SET @@session.lc_time_names=0/*!*/;
+SET @@session.collation_database=DEFAULT/*!*/;
+create table t1 (a int auto_increment not null primary key, b char(3))
+/*!*/;
SET INSERT_ID=1/*!*/;
SET TIMESTAMP=1579609942/*!*/;
-insert into t1 values(null, "a")/*!*/;
+insert into t1 values(null, "a")
+/*!*/;
SET INSERT_ID=2/*!*/;
SET TIMESTAMP=1579609942/*!*/;
-insert into t1 values(null, "b")/*!*/;
+insert into t1 values(null, "b")
+/*!*/;
SET INSERT_ID=3/*!*/;
SET TIMESTAMP=1579609944/*!*/;
-insert into t1 values(null, "c")/*!*/;
+insert into t1 values(null, "c")
+/*!*/;
SET INSERT_ID=4/*!*/;
SET TIMESTAMP=1579609946/*!*/;
-insert into t1 values(null, "d")/*!*/;
+insert into t1 values(null, "d")
+/*!*/;
SET INSERT_ID=5/*!*/;
SET TIMESTAMP=1579609946/*!*/;
-insert into t1 values(null, "e")/*!*/;
+insert into t1 values(null, "e")
+/*!*/;
DELIMITER ;
DELIMITER /*!*/;
SET INSERT_ID=6/*!*/;
use test/*!*/;
SET TIMESTAMP=1579609943/*!*/;
+SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
SET @@session.sql_mode=0/*!*/;
+SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
-insert into t1 values(null, "f")/*!*/;
+SET @@session.lc_time_names=0/*!*/;
+SET @@session.collation_database=DEFAULT/*!*/;
+insert into t1 values(null, "f")
+/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
@@ -263,33 +306,47 @@ ROLLBACK/*!*/;
SET INSERT_ID=1/*!*/;
use test/*!*/;
SET TIMESTAMP=1579609942/*!*/;
+SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
SET @@session.sql_mode=0/*!*/;
+SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
-insert into t1 values(null, "a")/*!*/;
+SET @@session.lc_time_names=0/*!*/;
+SET @@session.collation_database=DEFAULT/*!*/;
+insert into t1 values(null, "a")
+/*!*/;
SET INSERT_ID=2/*!*/;
SET TIMESTAMP=1579609942/*!*/;
-insert into t1 values(null, "b")/*!*/;
+insert into t1 values(null, "b")
+/*!*/;
SET INSERT_ID=3/*!*/;
SET TIMESTAMP=1579609944/*!*/;
-insert into t1 values(null, "c")/*!*/;
+insert into t1 values(null, "c")
+/*!*/;
SET INSERT_ID=4/*!*/;
SET TIMESTAMP=1579609946/*!*/;
-insert into t1 values(null, "d")/*!*/;
+insert into t1 values(null, "d")
+/*!*/;
SET INSERT_ID=5/*!*/;
SET TIMESTAMP=1579609946/*!*/;
-insert into t1 values(null, "e")/*!*/;
+insert into t1 values(null, "e")
+/*!*/;
DELIMITER ;
DELIMITER /*!*/;
SET INSERT_ID=6/*!*/;
use test/*!*/;
SET TIMESTAMP=1579609943/*!*/;
+SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
SET @@session.sql_mode=0/*!*/;
+SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
-insert into t1 values(null, "f")/*!*/;
+SET @@session.lc_time_names=0/*!*/;
+SET @@session.collation_database=DEFAULT/*!*/;
+insert into t1 values(null, "f")
+/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
@@ -299,27 +356,39 @@ ROLLBACK /* added by mysqlbinlog */;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
+ROLLBACK/*!*/;
SET INSERT_ID=4/*!*/;
use test/*!*/;
SET TIMESTAMP=1579609946/*!*/;
+SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
SET @@session.sql_mode=0/*!*/;
+SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
-insert into t1 values(null, "d")/*!*/;
+SET @@session.lc_time_names=0/*!*/;
+SET @@session.collation_database=DEFAULT/*!*/;
+insert into t1 values(null, "d")
+/*!*/;
SET INSERT_ID=5/*!*/;
SET TIMESTAMP=1579609946/*!*/;
-insert into t1 values(null, "e")/*!*/;
+insert into t1 values(null, "e")
+/*!*/;
DELIMITER ;
DELIMITER /*!*/;
SET INSERT_ID=6/*!*/;
use test/*!*/;
SET TIMESTAMP=1579609943/*!*/;
+SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
SET @@session.sql_mode=0/*!*/;
+SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
-insert into t1 values(null, "f")/*!*/;
+SET @@session.lc_time_names=0/*!*/;
+SET @@session.collation_database=DEFAULT/*!*/;
+insert into t1 values(null, "f")
+/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
@@ -332,26 +401,36 @@ DELIMITER /*!*/;
ROLLBACK/*!*/;
use test/*!*/;
SET TIMESTAMP=1579609942/*!*/;
+SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
SET @@session.sql_mode=0/*!*/;
+SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
-create table t1 (a int auto_increment not null primary key, b char(3))/*!*/;
+SET @@session.lc_time_names=0/*!*/;
+SET @@session.collation_database=DEFAULT/*!*/;
+create table t1 (a int auto_increment not null primary key, b char(3))
+/*!*/;
SET INSERT_ID=1/*!*/;
SET TIMESTAMP=1579609942/*!*/;
-insert into t1 values(null, "a")/*!*/;
+insert into t1 values(null, "a")
+/*!*/;
SET INSERT_ID=2/*!*/;
SET TIMESTAMP=1579609942/*!*/;
-insert into t1 values(null, "b")/*!*/;
+insert into t1 values(null, "b")
+/*!*/;
SET INSERT_ID=3/*!*/;
SET TIMESTAMP=1579609944/*!*/;
-insert into t1 values(null, "c")/*!*/;
+insert into t1 values(null, "c")
+/*!*/;
SET INSERT_ID=4/*!*/;
SET TIMESTAMP=1579609946/*!*/;
-insert into t1 values(null, "d")/*!*/;
+insert into t1 values(null, "d")
+/*!*/;
SET INSERT_ID=5/*!*/;
SET TIMESTAMP=1579609946/*!*/;
-insert into t1 values(null, "e")/*!*/;
+insert into t1 values(null, "e")
+/*!*/;
DELIMITER ;
DELIMITER /*!*/;
SET INSERT_ID=6/*!*/;
@@ -368,27 +447,39 @@ ROLLBACK/*!*/;
SET INSERT_ID=3/*!*/;
use test/*!*/;
SET TIMESTAMP=1579609944/*!*/;
+SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
SET @@session.sql_mode=0/*!*/;
+SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
-insert into t1 values(null, "c")/*!*/;
+SET @@session.lc_time_names=0/*!*/;
+SET @@session.collation_database=DEFAULT/*!*/;
+insert into t1 values(null, "c")
+/*!*/;
SET INSERT_ID=4/*!*/;
SET TIMESTAMP=1579609946/*!*/;
-insert into t1 values(null, "d")/*!*/;
+insert into t1 values(null, "d")
+/*!*/;
SET INSERT_ID=5/*!*/;
SET TIMESTAMP=1579609946/*!*/;
-insert into t1 values(null, "e")/*!*/;
+insert into t1 values(null, "e")
+/*!*/;
DELIMITER ;
DELIMITER /*!*/;
SET INSERT_ID=6/*!*/;
use test/*!*/;
SET TIMESTAMP=1579609943/*!*/;
+SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
SET @@session.sql_mode=0/*!*/;
+SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
-insert into t1 values(null, "f")/*!*/;
+SET @@session.lc_time_names=0/*!*/;
+SET @@session.collation_database=DEFAULT/*!*/;
+insert into t1 values(null, "f")
+/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
@@ -401,17 +492,24 @@ DELIMITER /*!*/;
ROLLBACK/*!*/;
use test/*!*/;
SET TIMESTAMP=1579609942/*!*/;
+SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
SET @@session.sql_mode=0/*!*/;
+SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
-create table t1 (a int auto_increment not null primary key, b char(3))/*!*/;
+SET @@session.lc_time_names=0/*!*/;
+SET @@session.collation_database=DEFAULT/*!*/;
+create table t1 (a int auto_increment not null primary key, b char(3))
+/*!*/;
SET INSERT_ID=1/*!*/;
SET TIMESTAMP=1579609942/*!*/;
-insert into t1 values(null, "a")/*!*/;
+insert into t1 values(null, "a")
+/*!*/;
SET INSERT_ID=2/*!*/;
SET TIMESTAMP=1579609942/*!*/;
-insert into t1 values(null, "b")/*!*/;
+insert into t1 values(null, "b")
+/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
@@ -424,26 +522,36 @@ DELIMITER /*!*/;
ROLLBACK/*!*/;
use test/*!*/;
SET TIMESTAMP=1579609942/*!*/;
+SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
SET @@session.sql_mode=0/*!*/;
+SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
-create table t1 (a int auto_increment not null primary key, b char(3))/*!*/;
+SET @@session.lc_time_names=0/*!*/;
+SET @@session.collation_database=DEFAULT/*!*/;
+create table t1 (a int auto_increment not null primary key, b char(3))
+/*!*/;
SET INSERT_ID=1/*!*/;
SET TIMESTAMP=1579609942/*!*/;
-insert into t1 values(null, "a")/*!*/;
+insert into t1 values(null, "a")
+/*!*/;
SET INSERT_ID=2/*!*/;
SET TIMESTAMP=1579609942/*!*/;
-insert into t1 values(null, "b")/*!*/;
+insert into t1 values(null, "b")
+/*!*/;
SET INSERT_ID=3/*!*/;
SET TIMESTAMP=1579609944/*!*/;
-insert into t1 values(null, "c")/*!*/;
+insert into t1 values(null, "c")
+/*!*/;
SET INSERT_ID=4/*!*/;
SET TIMESTAMP=1579609946/*!*/;
-insert into t1 values(null, "d")/*!*/;
+insert into t1 values(null, "d")
+/*!*/;
SET INSERT_ID=5/*!*/;
SET TIMESTAMP=1579609946/*!*/;
-insert into t1 values(null, "e")/*!*/;
+insert into t1 values(null, "e")
+/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
@@ -457,23 +565,32 @@ ROLLBACK/*!*/;
SET INSERT_ID=1/*!*/;
use test/*!*/;
SET TIMESTAMP=1579609942/*!*/;
+SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
SET @@session.sql_mode=0/*!*/;
+SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
-insert into t1 values(null, "a")/*!*/;
+SET @@session.lc_time_names=0/*!*/;
+SET @@session.collation_database=DEFAULT/*!*/;
+insert into t1 values(null, "a")
+/*!*/;
SET INSERT_ID=2/*!*/;
SET TIMESTAMP=1579609942/*!*/;
-insert into t1 values(null, "b")/*!*/;
+insert into t1 values(null, "b")
+/*!*/;
SET INSERT_ID=3/*!*/;
SET TIMESTAMP=1579609944/*!*/;
-insert into t1 values(null, "c")/*!*/;
+insert into t1 values(null, "c")
+/*!*/;
SET INSERT_ID=4/*!*/;
SET TIMESTAMP=1579609946/*!*/;
-insert into t1 values(null, "d")/*!*/;
+insert into t1 values(null, "d")
+/*!*/;
SET INSERT_ID=5/*!*/;
SET TIMESTAMP=1579609946/*!*/;
-insert into t1 values(null, "e")/*!*/;
+insert into t1 values(null, "e")
+/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
@@ -486,14 +603,20 @@ DELIMITER /*!*/;
SET INSERT_ID=4/*!*/;
use test/*!*/;
SET TIMESTAMP=1579609946/*!*/;
+SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
SET @@session.sql_mode=0/*!*/;
+SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
-insert into t1 values(null, "d")/*!*/;
+SET @@session.lc_time_names=0/*!*/;
+SET @@session.collation_database=DEFAULT/*!*/;
+insert into t1 values(null, "d")
+/*!*/;
SET INSERT_ID=5/*!*/;
SET TIMESTAMP=1579609946/*!*/;
-insert into t1 values(null, "e")/*!*/;
+insert into t1 values(null, "e")
+/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
@@ -506,20 +629,28 @@ DELIMITER /*!*/;
ROLLBACK/*!*/;
use test/*!*/;
SET TIMESTAMP=1579609942/*!*/;
+SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
SET @@session.sql_mode=0/*!*/;
+SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
-create table t1 (a int auto_increment not null primary key, b char(3))/*!*/;
+SET @@session.lc_time_names=0/*!*/;
+SET @@session.collation_database=DEFAULT/*!*/;
+create table t1 (a int auto_increment not null primary key, b char(3))
+/*!*/;
SET INSERT_ID=1/*!*/;
SET TIMESTAMP=1579609942/*!*/;
-insert into t1 values(null, "a")/*!*/;
+insert into t1 values(null, "a")
+/*!*/;
SET INSERT_ID=2/*!*/;
SET TIMESTAMP=1579609942/*!*/;
-insert into t1 values(null, "b")/*!*/;
+insert into t1 values(null, "b")
+/*!*/;
SET INSERT_ID=3/*!*/;
SET TIMESTAMP=1579609944/*!*/;
-insert into t1 values(null, "c")/*!*/;
+insert into t1 values(null, "c")
+/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
@@ -532,11 +663,16 @@ DELIMITER /*!*/;
SET INSERT_ID=4/*!*/;
use test/*!*/;
SET TIMESTAMP=1579609946/*!*/;
+SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
SET @@session.sql_mode=0/*!*/;
+SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
-insert into t1 values(null, "d")/*!*/;
+SET @@session.lc_time_names=0/*!*/;
+SET @@session.collation_database=DEFAULT/*!*/;
+insert into t1 values(null, "d")
+/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
@@ -550,17 +686,24 @@ ROLLBACK/*!*/;
SET INSERT_ID=3/*!*/;
use test/*!*/;
SET TIMESTAMP=1579609944/*!*/;
+SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
SET @@session.sql_mode=0/*!*/;
+SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
-insert into t1 values(null, "c")/*!*/;
+SET @@session.lc_time_names=0/*!*/;
+SET @@session.collation_database=DEFAULT/*!*/;
+insert into t1 values(null, "c")
+/*!*/;
SET INSERT_ID=4/*!*/;
SET TIMESTAMP=1579609946/*!*/;
-insert into t1 values(null, "d")/*!*/;
+insert into t1 values(null, "d")
+/*!*/;
SET INSERT_ID=5/*!*/;
SET TIMESTAMP=1579609946/*!*/;
-insert into t1 values(null, "e")/*!*/;
+insert into t1 values(null, "e")
+/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
@@ -573,17 +716,24 @@ DELIMITER /*!*/;
ROLLBACK/*!*/;
use test/*!*/;
SET TIMESTAMP=1579609942/*!*/;
+SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
SET @@session.sql_mode=0/*!*/;
+SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
-create table t1 (a int auto_increment not null primary key, b char(3))/*!*/;
+SET @@session.lc_time_names=0/*!*/;
+SET @@session.collation_database=DEFAULT/*!*/;
+create table t1 (a int auto_increment not null primary key, b char(3))
+/*!*/;
SET INSERT_ID=1/*!*/;
SET TIMESTAMP=1579609942/*!*/;
-insert into t1 values(null, "a")/*!*/;
+insert into t1 values(null, "a")
+/*!*/;
SET INSERT_ID=2/*!*/;
SET TIMESTAMP=1579609942/*!*/;
-insert into t1 values(null, "b")/*!*/;
+insert into t1 values(null, "b")
+/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
@@ -596,36 +746,51 @@ DELIMITER /*!*/;
ROLLBACK/*!*/;
use test/*!*/;
SET TIMESTAMP=1579609942/*!*/;
+SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
SET @@session.sql_mode=0/*!*/;
+SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
-create table t1 (a int auto_increment not null primary key, b char(3))/*!*/;
+SET @@session.lc_time_names=0/*!*/;
+SET @@session.collation_database=DEFAULT/*!*/;
+create table t1 (a int auto_increment not null primary key, b char(3))
+/*!*/;
SET INSERT_ID=1/*!*/;
SET TIMESTAMP=1579609942/*!*/;
-insert into t1 values(null, "a")/*!*/;
+insert into t1 values(null, "a")
+/*!*/;
SET INSERT_ID=2/*!*/;
SET TIMESTAMP=1579609942/*!*/;
-insert into t1 values(null, "b")/*!*/;
+insert into t1 values(null, "b")
+/*!*/;
SET INSERT_ID=3/*!*/;
SET TIMESTAMP=1579609944/*!*/;
-insert into t1 values(null, "c")/*!*/;
+insert into t1 values(null, "c")
+/*!*/;
SET INSERT_ID=4/*!*/;
SET TIMESTAMP=1579609946/*!*/;
-insert into t1 values(null, "d")/*!*/;
+insert into t1 values(null, "d")
+/*!*/;
SET INSERT_ID=5/*!*/;
SET TIMESTAMP=1579609946/*!*/;
-insert into t1 values(null, "e")/*!*/;
+insert into t1 values(null, "e")
+/*!*/;
DELIMITER ;
DELIMITER /*!*/;
SET INSERT_ID=6/*!*/;
use test/*!*/;
SET TIMESTAMP=1579609943/*!*/;
+SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
SET @@session.sql_mode=0/*!*/;
+SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
-insert into t1 values(null, "f")/*!*/;
+SET @@session.lc_time_names=0/*!*/;
+SET @@session.collation_database=DEFAULT/*!*/;
+insert into t1 values(null, "f")
+/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
@@ -639,33 +804,47 @@ ROLLBACK/*!*/;
SET INSERT_ID=1/*!*/;
use test/*!*/;
SET TIMESTAMP=1579609942/*!*/;
+SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
SET @@session.sql_mode=0/*!*/;
+SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
-insert into t1 values(null, "a")/*!*/;
+SET @@session.lc_time_names=0/*!*/;
+SET @@session.collation_database=DEFAULT/*!*/;
+insert into t1 values(null, "a")
+/*!*/;
SET INSERT_ID=2/*!*/;
SET TIMESTAMP=1579609942/*!*/;
-insert into t1 values(null, "b")/*!*/;
+insert into t1 values(null, "b")
+/*!*/;
SET INSERT_ID=3/*!*/;
SET TIMESTAMP=1579609944/*!*/;
-insert into t1 values(null, "c")/*!*/;
+insert into t1 values(null, "c")
+/*!*/;
SET INSERT_ID=4/*!*/;
SET TIMESTAMP=1579609946/*!*/;
-insert into t1 values(null, "d")/*!*/;
+insert into t1 values(null, "d")
+/*!*/;
SET INSERT_ID=5/*!*/;
SET TIMESTAMP=1579609946/*!*/;
-insert into t1 values(null, "e")/*!*/;
+insert into t1 values(null, "e")
+/*!*/;
DELIMITER ;
DELIMITER /*!*/;
SET INSERT_ID=6/*!*/;
use test/*!*/;
SET TIMESTAMP=1579609943/*!*/;
+SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
SET @@session.sql_mode=0/*!*/;
+SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
-insert into t1 values(null, "f")/*!*/;
+SET @@session.lc_time_names=0/*!*/;
+SET @@session.collation_database=DEFAULT/*!*/;
+insert into t1 values(null, "f")
+/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
@@ -678,24 +857,35 @@ DELIMITER /*!*/;
SET INSERT_ID=4/*!*/;
use test/*!*/;
SET TIMESTAMP=1579609946/*!*/;
+SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
SET @@session.sql_mode=0/*!*/;
+SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
-insert into t1 values(null, "d")/*!*/;
+SET @@session.lc_time_names=0/*!*/;
+SET @@session.collation_database=DEFAULT/*!*/;
+insert into t1 values(null, "d")
+/*!*/;
SET INSERT_ID=5/*!*/;
SET TIMESTAMP=1579609946/*!*/;
-insert into t1 values(null, "e")/*!*/;
+insert into t1 values(null, "e")
+/*!*/;
DELIMITER ;
DELIMITER /*!*/;
SET INSERT_ID=6/*!*/;
use test/*!*/;
SET TIMESTAMP=1579609943/*!*/;
+SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
SET @@session.sql_mode=0/*!*/;
+SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
-insert into t1 values(null, "f")/*!*/;
+SET @@session.lc_time_names=0/*!*/;
+SET @@session.collation_database=DEFAULT/*!*/;
+insert into t1 values(null, "f")
+/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
@@ -708,26 +898,36 @@ DELIMITER /*!*/;
ROLLBACK/*!*/;
use test/*!*/;
SET TIMESTAMP=1579609942/*!*/;
+SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
SET @@session.sql_mode=0/*!*/;
+SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
-create table t1 (a int auto_increment not null primary key, b char(3))/*!*/;
+SET @@session.lc_time_names=0/*!*/;
+SET @@session.collation_database=DEFAULT/*!*/;
+create table t1 (a int auto_increment not null primary key, b char(3))
+/*!*/;
SET INSERT_ID=1/*!*/;
SET TIMESTAMP=1579609942/*!*/;
-insert into t1 values(null, "a")/*!*/;
+insert into t1 values(null, "a")
+/*!*/;
SET INSERT_ID=2/*!*/;
SET TIMESTAMP=1579609942/*!*/;
-insert into t1 values(null, "b")/*!*/;
+insert into t1 values(null, "b")
+/*!*/;
SET INSERT_ID=3/*!*/;
SET TIMESTAMP=1579609944/*!*/;
-insert into t1 values(null, "c")/*!*/;
+insert into t1 values(null, "c")
+/*!*/;
SET INSERT_ID=4/*!*/;
SET TIMESTAMP=1579609946/*!*/;
-insert into t1 values(null, "d")/*!*/;
+insert into t1 values(null, "d")
+/*!*/;
SET INSERT_ID=5/*!*/;
SET TIMESTAMP=1579609946/*!*/;
-insert into t1 values(null, "e")/*!*/;
+insert into t1 values(null, "e")
+/*!*/;
DELIMITER ;
DELIMITER /*!*/;
SET INSERT_ID=6/*!*/;
@@ -744,27 +944,39 @@ ROLLBACK/*!*/;
SET INSERT_ID=3/*!*/;
use test/*!*/;
SET TIMESTAMP=1579609944/*!*/;
+SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
SET @@session.sql_mode=0/*!*/;
+SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
-insert into t1 values(null, "c")/*!*/;
+SET @@session.lc_time_names=0/*!*/;
+SET @@session.collation_database=DEFAULT/*!*/;
+insert into t1 values(null, "c")
+/*!*/;
SET INSERT_ID=4/*!*/;
SET TIMESTAMP=1579609946/*!*/;
-insert into t1 values(null, "d")/*!*/;
+insert into t1 values(null, "d")
+/*!*/;
SET INSERT_ID=5/*!*/;
SET TIMESTAMP=1579609946/*!*/;
-insert into t1 values(null, "e")/*!*/;
+insert into t1 values(null, "e")
+/*!*/;
DELIMITER ;
DELIMITER /*!*/;
SET INSERT_ID=6/*!*/;
use test/*!*/;
SET TIMESTAMP=1579609943/*!*/;
+SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
SET @@session.sql_mode=0/*!*/;
+SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
-insert into t1 values(null, "f")/*!*/;
+SET @@session.lc_time_names=0/*!*/;
+SET @@session.collation_database=DEFAULT/*!*/;
+insert into t1 values(null, "f")
+/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
@@ -777,17 +989,24 @@ DELIMITER /*!*/;
ROLLBACK/*!*/;
use test/*!*/;
SET TIMESTAMP=1579609942/*!*/;
+SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
SET @@session.sql_mode=0/*!*/;
+SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
-create table t1 (a int auto_increment not null primary key, b char(3))/*!*/;
+SET @@session.lc_time_names=0/*!*/;
+SET @@session.collation_database=DEFAULT/*!*/;
+create table t1 (a int auto_increment not null primary key, b char(3))
+/*!*/;
SET INSERT_ID=1/*!*/;
SET TIMESTAMP=1579609942/*!*/;
-insert into t1 values(null, "a")/*!*/;
+insert into t1 values(null, "a")
+/*!*/;
SET INSERT_ID=2/*!*/;
SET TIMESTAMP=1579609942/*!*/;
-insert into t1 values(null, "b")/*!*/;
+insert into t1 values(null, "b")
+/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
@@ -800,29 +1019,40 @@ DELIMITER /*!*/;
ROLLBACK/*!*/;
use test/*!*/;
SET TIMESTAMP=1579609942/*!*/;
+SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
SET @@session.sql_mode=0/*!*/;
+SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
-create table t1 (a int auto_increment not null primary key, b char(3))/*!*/;
+SET @@session.lc_time_names=0/*!*/;
+SET @@session.collation_database=DEFAULT/*!*/;
+create table t1 (a int auto_increment not null primary key, b char(3))
+/*!*/;
SET INSERT_ID=1/*!*/;
SET TIMESTAMP=1579609942/*!*/;
-insert into t1 values(null, "a")/*!*/;
+insert into t1 values(null, "a")
+/*!*/;
SET INSERT_ID=2/*!*/;
SET TIMESTAMP=1579609942/*!*/;
-insert into t1 values(null, "b")/*!*/;
+insert into t1 values(null, "b")
+/*!*/;
SET INSERT_ID=3/*!*/;
SET TIMESTAMP=1579609944/*!*/;
-insert into t1 values(null, "c")/*!*/;
+insert into t1 values(null, "c")
+/*!*/;
SET INSERT_ID=4/*!*/;
SET TIMESTAMP=1579609946/*!*/;
-insert into t1 values(null, "d")/*!*/;
+insert into t1 values(null, "d")
+/*!*/;
SET INSERT_ID=5/*!*/;
SET TIMESTAMP=1579609946/*!*/;
-insert into t1 values(null, "e")/*!*/;
+insert into t1 values(null, "e")
+/*!*/;
SET INSERT_ID=6/*!*/;
SET TIMESTAMP=1579609943/*!*/;
-insert into t1 values(null, "f")/*!*/;
+insert into t1 values(null, "f")
+/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
diff --git a/mysql-test/r/mysqlcheck.result b/mysql-test/r/mysqlcheck.result
index b8ada0adff9..b8fdd04d24a 100644
--- a/mysql-test/r/mysqlcheck.result
+++ b/mysql-test/r/mysqlcheck.result
@@ -1,4 +1,4 @@
-DROP TABLE IF EXISTS t1;
+DROP TABLE IF EXISTS t1, `t``1`, `t 1`;
drop view if exists v1;
drop database if exists client_test_db;
mysql.columns_priv OK
@@ -57,4 +57,63 @@ test.t1 OK
test.t1 OK
drop view v1;
drop table t1;
+create table `t``1`(a int);
+create table `t 1`(a int);
+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 view v_bug25347 as select * from t_bug25347;
+insert into t_bug25347 values (1),(2),(3);
+flush tables;
+removing and creating
+d_bug25347.t_bug25347
+Error : Incorrect file format 't_bug25347'
+error : Corrupt
+insert into t_bug25347 values (4),(5),(6);
+ERROR HY000: Incorrect file format 't_bug25347'
+d_bug25347.t_bug25347
+warning : Number of rows changed from 0 to 3
+status : OK
+insert into t_bug25347 values (7),(8),(9);
+select * from t_bug25347;
+a
+1
+2
+3
+7
+8
+9
+select * from v_bug25347;
+a
+1
+2
+3
+7
+8
+9
+drop view v_bug25347;
+drop table t_bug25347;
+drop database d_bug25347;
+use test;
End of 5.0 tests
+create table t1(a int);
+create view v1 as select * from t1;
+show tables;
+Tables_in_test
+t1
+v1
+show tables;
+Tables_in_test
+t1
+#mysql50#v-1
+v1
+show tables;
+Tables_in_test
+t1
+v1
+v-1
+drop view v1, `v-1`;
+drop table t1;
diff --git a/mysql-test/r/mysqldump-compat.result b/mysql-test/r/mysqldump-compat.result
new file mode 100644
index 00000000000..f15cc7a1d7a
--- /dev/null
+++ b/mysql-test/r/mysqldump-compat.result
@@ -0,0 +1,4 @@
+CREATE DATABASE mysqldump_30126;
+USE mysqldump_30126;
+CREATE TABLE t1 (c1 int);
+DROP DATABASE mysqldump_30126;
diff --git a/mysql-test/r/mysqldump-no-binlog.result b/mysql-test/r/mysqldump-no-binlog.result
new file mode 100644
index 00000000000..78bc19b7cba
--- /dev/null
+++ b/mysql-test/r/mysqldump-no-binlog.result
@@ -0,0 +1 @@
+mysqldump: Error: Binlogging on server not active
diff --git a/mysql-test/r/mysqldump.result b/mysql-test/r/mysqldump.result
index 58bcac42f9c..ffacd1cdee6 100644
--- a/mysql-test/r/mysqldump.result
+++ b/mysql-test/r/mysqldump.result
@@ -2011,7 +2011,7 @@ SET character_set_client = @saved_cs_client;
/*!50001 SET collation_connection = latin1_swedish_ci */;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */
-/*!50001 VIEW `v2` AS select `t2`.`a` AS `a` from `t2` where (`t2`.`a` like _latin1'a%') */
+/*!50001 VIEW `v2` AS select `t2`.`a` AS `a` from `t2` where (`t2`.`a` like 'a%') */
/*!50002 WITH CASCADED CHECK OPTION */;
/*!50001 SET character_set_client = @saved_cs_client */;
/*!50001 SET character_set_results = @saved_cs_results */;
@@ -2182,7 +2182,7 @@ SET character_set_client = @saved_cs_client;
/*!50001 SET collation_connection = latin1_swedish_ci */;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */
-/*!50001 VIEW `v2` AS select `t2`.`a` AS `a` from `t2` where (`t2`.`a` like _latin1'a%') */
+/*!50001 VIEW `v2` AS select `t2`.`a` AS `a` from `t2` where (`t2`.`a` like 'a%') */
/*!50002 WITH CASCADED CHECK OPTION */;
/*!50001 SET character_set_client = @saved_cs_client */;
/*!50001 SET character_set_results = @saved_cs_results */;
@@ -3805,6 +3805,28 @@ c1
2
DROP TABLE t1,t2;
#
+# Bug#29815: new option for suppressing last line of mysqldump:
+# "Dump completed on"
+#
+# --skip-dump-date:
+--
+
+
+
+-- Dump completed
+# --dump-date:
+--
+
+
+
+-- Dump completed on DATE
+# --dump-date (default):
+--
+
+
+
+-- Dump completed on DATE
+#
# End of 5.0 tests
#
drop table if exists t1;
@@ -3848,181 +3870,6 @@ UNLOCK TABLES;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
DROP TABLE t1;
-create table t1 (a text , b text);
-create table t2 (a text , b text);
-insert t1 values ("Duck, Duck", "goose");
-insert t1 values ("Duck, Duck", "pidgeon");
-insert t2 values ("We the people", "in order to perform");
-insert t2 values ("a more perfect", "union");
-select * from t1;
-a b
-Duck, Duck goose
-Duck, Duck pidgeon
-select * from t2;
-a b
-We the people in order to perform
-a more perfect union
-test.t1: Records: 2 Deleted: 0 Skipped: 0 Warnings: 0
-test.t2: Records: 2 Deleted: 0 Skipped: 0 Warnings: 0
-select * from t1;
-a b
-Duck, Duck goose
-Duck, Duck pidgeon
-Duck, Duck goose
-Duck, Duck pidgeon
-select * from t2;
-a b
-We the people in order to perform
-a more perfect union
-We the people in order to perform
-a more perfect union
-create table words(a varchar(255));
-create table words2(b varchar(255));
-select * from t1;
-a b
-Duck, Duck goose
-Duck, Duck pidgeon
-Duck, Duck goose
-Duck, Duck pidgeon
-Duck, Duck goose
-Duck, Duck pidgeon
-select * from t2;
-a b
-We the people in order to perform
-a more perfect union
-We the people in order to perform
-a more perfect union
-We the people in order to perform
-a more perfect union
-select * from words;
-a
-Aarhus
-Aaron
-Ababa
-aback
-abaft
-abandon
-abandoned
-abandoning
-abandonment
-abandons
-Aarhus
-Aaron
-Ababa
-aback
-abaft
-abandon
-abandoned
-abandoning
-abandonment
-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 words2;
-b
-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 words;
-mysql-import: Error: 1146, Table 'test.words' doesn't exist, when using table: words
-drop table t1;
-drop table t2;
-drop table words2;
#
# BUG# 16853: mysqldump doesn't show events
#
@@ -4177,5 +4024,71 @@ set names latin1;
# Cleanup.
DROP DATABASE mysqldump_test_db;
#
+# BUG#29938: wrong behavior of mysqldump --skip-events
+# with --all-databases
+#
+TRUNCATE mysql.event;
+USE test;
+CREATE event e29938 ON SCHEDULE AT '2035-12-31 20:01:23' DO SET @bug29938=29938;
+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
+test e29938 root@localhost SYSTEM ONE TIME 2035-12-31 20:01:23 NULL NULL NULL NULL ENABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
+TRUNCATE mysql.event;
+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#31113 mysqldump 5.1 can't handle a dash ("-") in database names
+#
+create database `test-database`;
+use `test-database`;
+create table test (a int);
+DROP TABLE IF EXISTS `test`;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
+CREATE TABLE `test` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+SET character_set_client = @saved_cs_client;
+LOCK TABLES `test` WRITE;
+/*!40000 ALTER TABLE `test` DISABLE KEYS */;
+/*!40000 ALTER TABLE `test` ENABLE KEYS */;
+UNLOCK TABLES;
+drop database `test-database`;
+use test;
+
+# -----------------------------------------------------------------
+# -- Bug#30217: Views: changes in metadata behaviour between 5.0 and 5.1.
+# -----------------------------------------------------------------
+
+DROP DATABASE IF EXISTS mysqldump_test_db;
+CREATE DATABASE mysqldump_test_db;
+use mysqldump_test_db;
+
+CREATE VIEW v1(x, y) AS SELECT 'a', 'a';
+
+SELECT view_definition
+FROM INFORMATION_SCHEMA.VIEWS
+WHERE table_schema = 'mysqldump_test_db' AND table_name = 'v1';
+view_definition
+select 'a' AS `x`,'a' AS `y`
+
+---> Dumping mysqldump_test_db to bug30217.sql
+
+DROP DATABASE mysqldump_test_db;
+use test;
+
+---> Restoring mysqldump_test_db...
+
+SELECT view_definition
+FROM INFORMATION_SCHEMA.VIEWS
+WHERE table_schema = 'mysqldump_test_db' AND table_name = 'v1';
+view_definition
+select 'a' AS `x`,'a' AS `y`
+
+DROP DATABASE mysqldump_test_db;
+
+# -- End of test case for Bug#32538.
+
+#
# End of 5.1 tests
#
diff --git a/mysql-test/r/mysqlshow.result b/mysql-test/r/mysqlshow.result
index 14d8e4f464b..42081c309d0 100644
--- a/mysql-test/r/mysqlshow.result
+++ b/mysql-test/r/mysqlshow.result
@@ -93,6 +93,7 @@ Database: information_schema
| PARTITIONS |
| PLUGINS |
| PROCESSLIST |
+| PROFILING |
| REFERENTIAL_CONSTRAINTS |
| ROUTINES |
| SCHEMATA |
@@ -125,6 +126,7 @@ Database: INFORMATION_SCHEMA
| PARTITIONS |
| PLUGINS |
| PROCESSLIST |
+| PROFILING |
| REFERENTIAL_CONSTRAINTS |
| ROUTINES |
| SCHEMATA |
diff --git a/mysql-test/r/mysqlslap.result b/mysql-test/r/mysqlslap.result
index cc8bc3dac31..4cb01490407 100644
--- a/mysql-test/r/mysqlslap.result
+++ b/mysql-test/r/mysqlslap.result
@@ -129,7 +129,6 @@ INSERT INTO t1 VALUES (1, 'This is a test');
insert into t2 values ('test', 'test2');
select * from t1;
select * from t2;
-select * from t1;
DROP SCHEMA IF EXISTS `mysqlslap`;
DROP SCHEMA IF EXISTS `mysqlslap`;
CREATE SCHEMA `mysqlslap`;
@@ -141,7 +140,6 @@ INSERT INTO t1 VALUES (1, 'This is a test');
insert into t2 values ('test', 'test2');
select * from t1;
select * from t2;
-select * from t1;
DROP SCHEMA IF EXISTS `mysqlslap`;
DROP SCHEMA IF EXISTS `mysqlslap`;
CREATE SCHEMA `mysqlslap`;
@@ -153,6 +151,7 @@ INSERT INTO t1 VALUES (1, 'This is a test');
insert into t2 values ('test', 'test2');
SHOW TABLES;
select * from t1;
+select * from t2;
SHOW TABLES;
DROP SCHEMA IF EXISTS `mysqlslap`;
DROP SCHEMA IF EXISTS `mysqlslap`;
@@ -165,6 +164,7 @@ INSERT INTO t1 VALUES (1, 'This is a test');
insert into t2 values ('test', 'test2');
SHOW TABLES;
select * from t1;
+select * from t2;
SHOW TABLES;
DROP SCHEMA IF EXISTS `mysqlslap`;
DROP SCHEMA IF EXISTS `mysqlslap`;
@@ -177,13 +177,17 @@ INSERT INTO t1 VALUES (1, 'This is a test');
insert into t2 values ('test', 'test2');
SET AUTOCOMMIT=0;
SHOW TABLES;
+SET AUTOCOMMIT=0;
select * from t1;
+COMMIT;
select * from t2;
COMMIT;
select * from t1;
+COMMIT;
select * from t2;
COMMIT;
select * from t1;
+COMMIT;
select * from t2;
COMMIT;
COMMIT;
@@ -199,15 +203,25 @@ INSERT INTO t1 VALUES (1, 'This is a test');
insert into t2 values ('test', 'test2');
SET AUTOCOMMIT=0;
SHOW TABLES;
+SET AUTOCOMMIT=0;
select * from t1;
+COMMIT;
select * from t2;
COMMIT;
select * from t1;
+COMMIT;
select * from t2;
COMMIT;
select * from t1;
+COMMIT;
select * from t2;
COMMIT;
COMMIT;
SHOW TABLES;
DROP SCHEMA IF EXISTS `mysqlslap`;
+#
+# Bug #29985: mysqlslap -- improper handling of resultsets in SPROCs
+#
+DROP PROCEDURE IF EXISTS p1;
+CREATE PROCEDURE p1() SELECT 1;
+DROP PROCEDURE p1;
diff --git a/mysql-test/r/mysqltest.result b/mysql-test/r/mysqltest.result
index 55f78d22272..a7df1a523cf 100644
--- a/mysql-test/r/mysqltest.result
+++ b/mysql-test/r/mysqltest.result
@@ -280,8 +280,20 @@ let $B = changed value of B;
var2: content of variable 1
var3: content of variable 1 content of variable 1
length of var3 is longer than 0
+var1
+hi 1 hi there
+var2
+2
+var2 again
+2
+var3 two columns with same name
+1 2 3
+var4 from query that returns NULL
+var5 from query that returns no row
+failing query in let
+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 file ./non_existingFile
+mysqltest: At line 1: Could not open file './non_existingFile'
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
@@ -340,6 +352,8 @@ here is the sourced script
In loop
here is the sourced script
here is the sourced script
+"hello"
+"hello"
mysqltest: At line 1: Missing argument to sleep
mysqltest: At line 1: Missing argument to real_sleep
mysqltest: At line 1: Invalid argument to sleep "abc"
@@ -461,7 +475,6 @@ root@localhost
--------------------------------------------------------------------------------
this will be executed
this will be executed
-mysqltest: Result length mismatch
mysqltest: The test didn't produce any output
Failing multi statement query
mysqltest: At line 3: query 'create table t1 (a int primary key);
@@ -473,6 +486,8 @@ mysqltest: At line 3: query 'create table t1 (a int primary key);
insert into t1 values (1);
select 'select-me';
insertz 'error query'' 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 'insertz 'error query'' at line 1
+
+More results from queries before failure can be found in MYSQLTEST_VARDIR/log/bug11731.log
drop table t1;
Multi statement using expected error
create table t1 (a int primary key);
@@ -520,17 +535,19 @@ drop table t1;
mysqltest: At line 1: Missing required argument 'filename' to command 'remove_file'
mysqltest: At line 1: Missing required argument 'filename' to command 'write_file'
mysqltest: At line 1: End of file encountered before 'EOF' delimiter was found
+Content for test_file1
+mysqltest: At line 1: File already exist: 'MYSQLTEST_VARDIR/tmp/test_file1.tmp'
Some data
for cat_file command
of mysqltest
-mysqltest: At line 1: Failed to open file non_existing_file
+mysqltest: At line 1: Failed to open file 'non_existing_file'
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'
mysqltest: At line 1: Missing required argument 'mode' to command 'chmod'
mysqltest: At line 1: You must write a 4 digit octal number for mode
mysqltest: At line 1: You must write a 4 digit octal number for mode
-mysqltest: At line 1: Missing required argument 'file' to command 'chmod'
+mysqltest: At line 1: Missing required argument 'filename' to command 'chmod'
mysqltest: At line 1: You must write a 4 digit octal number for mode
mysqltest: At line 1: You must write a 4 digit octal number for mode
hello
@@ -705,4 +722,7 @@ a int(11) YES NULL
b varchar(255) YES NULL
c datetime YES NULL
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)
End of tests
diff --git a/mysql-test/r/named_pipe.result b/mysql-test/r/named_pipe.result
new file mode 100644
index 00000000000..32e96fa27b7
--- /dev/null
+++ b/mysql-test/r/named_pipe.result
@@ -0,0 +1,2153 @@
+drop table if exists t1,t2,t3,t4;
+CREATE TABLE t1 (
+Period smallint(4) unsigned zerofill DEFAULT '0000' NOT NULL,
+Varor_period smallint(4) unsigned DEFAULT '0' NOT NULL
+);
+INSERT INTO t1 VALUES (9410,9412);
+select period from t1;
+period
+9410
+select * from t1;
+Period Varor_period
+9410 9412
+select t1.* from t1;
+Period Varor_period
+9410 9412
+CREATE TABLE t2 (
+auto int not null auto_increment,
+fld1 int(6) unsigned zerofill DEFAULT '000000' NOT NULL,
+companynr tinyint(2) unsigned zerofill DEFAULT '00' NOT NULL,
+fld3 char(30) DEFAULT '' NOT NULL,
+fld4 char(35) DEFAULT '' NOT NULL,
+fld5 char(35) DEFAULT '' NOT NULL,
+fld6 char(4) DEFAULT '' NOT NULL,
+UNIQUE fld1 (fld1),
+KEY fld3 (fld3),
+PRIMARY KEY (auto)
+);
+select t2.fld3 from t2 where companynr = 58 and fld3 like "%imaginable%";
+fld3
+imaginable
+select fld3 from t2 where fld3 like "%cultivation" ;
+fld3
+cultivation
+select t2.fld3,companynr from t2 where companynr = 57+1 order by fld3;
+fld3 companynr
+concoct 58
+druggists 58
+engrossing 58
+Eurydice 58
+exclaimers 58
+ferociousness 58
+hopelessness 58
+Huey 58
+imaginable 58
+judges 58
+merging 58
+ostrich 58
+peering 58
+Phelps 58
+presumes 58
+Ruth 58
+sentences 58
+Shylock 58
+straggled 58
+synergy 58
+thanking 58
+tying 58
+unlocks 58
+select fld3,companynr from t2 where companynr = 58 order by fld3;
+fld3 companynr
+concoct 58
+druggists 58
+engrossing 58
+Eurydice 58
+exclaimers 58
+ferociousness 58
+hopelessness 58
+Huey 58
+imaginable 58
+judges 58
+merging 58
+ostrich 58
+peering 58
+Phelps 58
+presumes 58
+Ruth 58
+sentences 58
+Shylock 58
+straggled 58
+synergy 58
+thanking 58
+tying 58
+unlocks 58
+select fld3 from t2 order by fld3 desc limit 10;
+fld3
+youthfulness
+yelped
+Wotan
+workers
+Witt
+witchcraft
+Winsett
+Willy
+willed
+wildcats
+select fld3 from t2 order by fld3 desc limit 5;
+fld3
+youthfulness
+yelped
+Wotan
+workers
+Witt
+select fld3 from t2 order by fld3 desc limit 5,5;
+fld3
+witchcraft
+Winsett
+Willy
+willed
+wildcats
+select t2.fld3 from t2 where fld3 = 'honeysuckle';
+fld3
+honeysuckle
+select t2.fld3 from t2 where fld3 LIKE 'honeysuckl_';
+fld3
+honeysuckle
+select t2.fld3 from t2 where fld3 LIKE 'hon_ysuckl_';
+fld3
+honeysuckle
+select t2.fld3 from t2 where fld3 LIKE 'honeysuckle%';
+fld3
+honeysuckle
+select t2.fld3 from t2 where fld3 LIKE 'h%le';
+fld3
+honeysuckle
+select t2.fld3 from t2 where fld3 LIKE 'honeysuckle_';
+fld3
+select t2.fld3 from t2 where fld3 LIKE 'don_t_find_me_please%';
+fld3
+explain select t2.fld3 from t2 where fld3 = 'honeysuckle';
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 ref fld3 fld3 30 const 1 Using where; Using index
+explain select fld3 from t2 ignore index (fld3) where fld3 = 'honeysuckle';
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 ALL NULL NULL NULL NULL 1199 Using where
+explain select fld3 from t2 use index (fld1) where fld3 = 'honeysuckle';
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 ALL NULL NULL NULL NULL 1199 Using where
+explain select fld3 from t2 use index (fld3) where fld3 = 'honeysuckle';
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 ref fld3 fld3 30 const 1 Using where; Using index
+explain select fld3 from t2 use index (fld1,fld3) where fld3 = 'honeysuckle';
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 ref fld3 fld3 30 const 1 Using where; Using index
+explain select fld3 from t2 ignore index (fld3,not_used);
+ERROR 42000: Key 'not_used' doesn't exist in table 't2'
+explain select fld3 from t2 use index (not_used);
+ERROR 42000: Key 'not_used' doesn't exist in table 't2'
+select t2.fld3 from t2 where fld3 >= 'honeysuckle' and fld3 <= 'honoring' order by fld3;
+fld3
+honeysuckle
+honoring
+explain select t2.fld3 from t2 where fld3 >= 'honeysuckle' and fld3 <= 'honoring' order by fld3;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 range fld3 fld3 30 NULL 2 Using where; Using index
+select fld1,fld3 from t2 where fld3="Colombo" or fld3 = "nondecreasing" order by fld3;
+fld1 fld3
+148504 Colombo
+068305 Colombo
+000000 nondecreasing
+select fld1,fld3 from t2 where companynr = 37 and fld3 = 'appendixes';
+fld1 fld3
+232605 appendixes
+1232605 appendixes
+1232606 appendixes
+1232607 appendixes
+1232608 appendixes
+1232609 appendixes
+select fld1 from t2 where fld1=250501 or fld1="250502";
+fld1
+250501
+250502
+explain select fld1 from t2 where fld1=250501 or fld1="250502";
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 range fld1 fld1 4 NULL 2 Using where; Using index
+select fld1 from t2 where fld1=250501 or fld1=250502 or fld1 >= 250505 and fld1 <= 250601 or fld1 between 250501 and 250502;
+fld1
+250501
+250502
+250505
+250601
+explain select fld1 from t2 where fld1=250501 or fld1=250502 or fld1 >= 250505 and fld1 <= 250601 or fld1 between 250501 and 250502;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 range fld1 fld1 4 NULL 4 Using where; Using index
+select fld1,fld3 from t2 where companynr = 37 and fld3 like 'f%';
+fld1 fld3
+218401 faithful
+018007 fanatic
+228311 fated
+018017 featherweight
+218022 feed
+088303 feminine
+058004 Fenton
+038017 fetched
+018054 fetters
+208101 fiftieth
+238007 filial
+013606 fingerings
+218008 finishers
+038205 firearm
+188505 fitting
+202301 Fitzpatrick
+238008 fixedly
+012001 flanking
+018103 flint
+018104 flopping
+188007 flurried
+013602 foldout
+226205 foothill
+232102 forgivably
+228306 forthcoming
+186002 freakish
+208113 freest
+231315 freezes
+036002 funereal
+226209 furnishings
+198006 furthermore
+select fld3 from t2 where fld3 like "L%" and fld3 = "ok";
+fld3
+select fld3 from t2 where (fld3 like "C%" and fld3 = "Chantilly");
+fld3
+Chantilly
+select fld1,fld3 from t2 where fld1 like "25050%";
+fld1 fld3
+250501 poisoning
+250502 Iraqis
+250503 heaving
+250504 population
+250505 bomb
+select fld1,fld3 from t2 where fld1 like "25050_";
+fld1 fld3
+250501 poisoning
+250502 Iraqis
+250503 heaving
+250504 population
+250505 bomb
+select distinct companynr from t2;
+companynr
+00
+37
+36
+50
+58
+29
+40
+53
+65
+41
+34
+68
+select distinct companynr from t2 order by companynr;
+companynr
+00
+29
+34
+36
+37
+40
+41
+50
+53
+58
+65
+68
+select distinct companynr from t2 order by companynr desc;
+companynr
+68
+65
+58
+53
+50
+41
+40
+37
+36
+34
+29
+00
+select distinct t2.fld3,period from t2,t1 where companynr=37 and fld3 like "O%";
+fld3 period
+obliterates 9410
+offload 9410
+opaquely 9410
+organizer 9410
+overestimating 9410
+overlay 9410
+select distinct fld3 from t2 where companynr = 34 order by fld3;
+fld3
+absentee
+accessed
+ahead
+alphabetic
+Asiaticizations
+attitude
+aye
+bankruptcies
+belays
+Blythe
+bomb
+boulevard
+bulldozes
+cannot
+caressing
+charcoal
+checksumming
+chess
+clubroom
+colorful
+cosy
+creator
+crying
+Darius
+diffusing
+duality
+Eiffel
+Epiphany
+Ernestine
+explorers
+exterminated
+famine
+forked
+Gershwins
+heaving
+Hodges
+Iraqis
+Italianization
+Lagos
+landslide
+libretto
+Majorca
+mastering
+narrowed
+occurred
+offerers
+Palestine
+Peruvianizes
+pharmaceutic
+poisoning
+population
+Pygmalion
+rats
+realest
+recording
+regimented
+retransmitting
+reviver
+rouses
+scars
+sicker
+sleepwalk
+stopped
+sugars
+translatable
+uncles
+unexpected
+uprisings
+versatility
+vest
+select distinct fld3 from t2 limit 10;
+fld3
+abates
+abiding
+Abraham
+abrogating
+absentee
+abut
+accessed
+accruing
+accumulating
+accuracies
+select distinct fld3 from t2 having fld3 like "A%" limit 10;
+fld3
+abates
+abiding
+Abraham
+abrogating
+absentee
+abut
+accessed
+accruing
+accumulating
+accuracies
+select distinct substring(fld3,1,3) from t2 where fld3 like "A%";
+substring(fld3,1,3)
+aba
+abi
+Abr
+abs
+abu
+acc
+acq
+acu
+Ade
+adj
+Adl
+adm
+Ado
+ads
+adv
+aer
+aff
+afi
+afl
+afo
+agi
+ahe
+aim
+air
+Ald
+alg
+ali
+all
+alp
+alr
+ama
+ame
+amm
+ana
+and
+ane
+Ang
+ani
+Ann
+Ant
+api
+app
+aqu
+Ara
+arc
+Arm
+arr
+Art
+Asi
+ask
+asp
+ass
+ast
+att
+aud
+Aug
+aut
+ave
+avo
+awe
+aye
+Azt
+select distinct substring(fld3,1,3) as a from t2 having a like "A%" order by a limit 10;
+a
+aba
+abi
+Abr
+abs
+abu
+acc
+acq
+acu
+Ade
+adj
+select distinct substring(fld3,1,3) from t2 where fld3 like "A%" limit 10;
+substring(fld3,1,3)
+aba
+abi
+Abr
+abs
+abu
+acc
+acq
+acu
+Ade
+adj
+select distinct substring(fld3,1,3) as a from t2 having a like "A%" limit 10;
+a
+aba
+abi
+Abr
+abs
+abu
+acc
+acq
+acu
+Ade
+adj
+create table t3 (
+period int not null,
+name char(32) not null,
+companynr int not null,
+price double(11,0),
+price2 double(11,0),
+key (period),
+key (name)
+);
+create temporary table tmp engine = myisam select * from t3;
+insert into t3 select * from tmp;
+insert into tmp select * from t3;
+insert into t3 select * from tmp;
+insert into tmp select * from t3;
+insert into t3 select * from tmp;
+insert into tmp select * from t3;
+insert into t3 select * from tmp;
+insert into tmp select * from t3;
+insert into t3 select * from tmp;
+insert into tmp select * from t3;
+insert into t3 select * from tmp;
+insert into tmp select * from t3;
+insert into t3 select * from tmp;
+insert into tmp select * from t3;
+insert into t3 select * from tmp;
+insert into tmp select * from t3;
+insert into t3 select * from tmp;
+alter table t3 add t2nr int not null auto_increment primary key first;
+drop table tmp;
+SET SQL_BIG_TABLES=1;
+select distinct concat(fld3," ",fld3) as namn from t2,t3 where t2.fld1=t3.t2nr order by namn limit 10;
+namn
+Abraham Abraham
+abrogating abrogating
+admonishing admonishing
+Adolph Adolph
+afield afield
+aging aging
+ammonium ammonium
+analyzable analyzable
+animals animals
+animized animized
+SET SQL_BIG_TABLES=0;
+select distinct concat(fld3," ",fld3) from t2,t3 where t2.fld1=t3.t2nr order by fld3 limit 10;
+concat(fld3," ",fld3)
+Abraham Abraham
+abrogating abrogating
+admonishing admonishing
+Adolph Adolph
+afield afield
+aging aging
+ammonium ammonium
+analyzable analyzable
+animals animals
+animized animized
+select distinct fld5 from t2 limit 10;
+fld5
+neat
+Steinberg
+jarring
+tinily
+balled
+persist
+attainments
+fanatic
+measures
+rightfulness
+select distinct fld3,count(*) from t2 group by companynr,fld3 limit 10;
+fld3 count(*)
+affixed 1
+and 1
+annoyers 1
+Anthony 1
+assayed 1
+assurers 1
+attendants 1
+bedlam 1
+bedpost 1
+boasted 1
+SET SQL_BIG_TABLES=1;
+select distinct fld3,count(*) from t2 group by companynr,fld3 limit 10;
+fld3 count(*)
+affixed 1
+and 1
+annoyers 1
+Anthony 1
+assayed 1
+assurers 1
+attendants 1
+bedlam 1
+bedpost 1
+boasted 1
+SET SQL_BIG_TABLES=0;
+select distinct fld3,repeat("a",length(fld3)),count(*) from t2 group by companynr,fld3 limit 100,10;
+fld3 repeat("a",length(fld3)) count(*)
+circus aaaaaa 1
+cited aaaaa 1
+Colombo aaaaaaa 1
+congresswoman aaaaaaaaaaaaa 1
+contrition aaaaaaaaaa 1
+corny aaaaa 1
+cultivation aaaaaaaaaaa 1
+definiteness aaaaaaaaaaaa 1
+demultiplex aaaaaaaaaaa 1
+disappointing aaaaaaaaaaaaa 1
+select distinct companynr,rtrim(space(512+companynr)) from t3 order by 1,2;
+companynr rtrim(space(512+companynr))
+37
+78
+101
+154
+311
+447
+512
+select distinct fld3 from t2,t3 where t2.companynr = 34 and t2.fld1=t3.t2nr order by fld3;
+fld3
+explain select t3.t2nr,fld3 from t2,t3 where t2.companynr = 34 and t2.fld1=t3.t2nr order by t3.t2nr,fld3;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 ALL fld1 NULL NULL NULL 1199 Using where; Using temporary; Using filesort
+1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t2.fld1 1 Using where; Using index
+explain select * from t3 as t1,t3 where t1.period=t3.period order by t3.period;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL period NULL NULL NULL 41810 Using temporary; Using filesort
+1 SIMPLE t3 ref period period 4 test.t1.period 4181
+explain select * from t3 as t1,t3 where t1.period=t3.period order by t3.period limit 10;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t3 index period period 4 NULL 1
+1 SIMPLE t1 ref period period 4 test.t3.period 4181
+explain select * from t3 as t1,t3 where t1.period=t3.period order by t1.period limit 10;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index period period 4 NULL 1
+1 SIMPLE t3 ref period period 4 test.t1.period 4181
+select period from t1;
+period
+9410
+select period from t1 where period=1900;
+period
+select fld3,period from t1,t2 where fld1 = 011401 order by period;
+fld3 period
+breaking 9410
+select fld3,period from t2,t3 where t2.fld1 = 011401 and t2.fld1=t3.t2nr and t3.period=1001;
+fld3 period
+breaking 1001
+explain select fld3,period from t2,t3 where t2.fld1 = 011401 and t3.t2nr=t2.fld1 and 1001 = t3.period;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 const fld1 fld1 4 const 1
+1 SIMPLE t3 const PRIMARY,period PRIMARY 4 const 1
+select fld3,period from t2,t1 where companynr*10 = 37*10;
+fld3 period
+breaking 9410
+Romans 9410
+intercepted 9410
+bewilderingly 9410
+astound 9410
+admonishing 9410
+sumac 9410
+flanking 9410
+combed 9410
+subjective 9410
+scatterbrain 9410
+Eulerian 9410
+Kane 9410
+overlay 9410
+perturb 9410
+goblins 9410
+annihilates 9410
+Wotan 9410
+snatching 9410
+concludes 9410
+laterally 9410
+yelped 9410
+grazing 9410
+Baird 9410
+celery 9410
+misunderstander 9410
+handgun 9410
+foldout 9410
+mystic 9410
+succumbed 9410
+Nabisco 9410
+fingerings 9410
+aging 9410
+afield 9410
+ammonium 9410
+boat 9410
+intelligibility 9410
+Augustine 9410
+teethe 9410
+dreaded 9410
+scholastics 9410
+audiology 9410
+wallet 9410
+parters 9410
+eschew 9410
+quitter 9410
+neat 9410
+Steinberg 9410
+jarring 9410
+tinily 9410
+balled 9410
+persist 9410
+attainments 9410
+fanatic 9410
+measures 9410
+rightfulness 9410
+capably 9410
+impulsive 9410
+starlet 9410
+terminators 9410
+untying 9410
+announces 9410
+featherweight 9410
+pessimist 9410
+daughter 9410
+decliner 9410
+lawgiver 9410
+stated 9410
+readable 9410
+attrition 9410
+cascade 9410
+motors 9410
+interrogate 9410
+pests 9410
+stairway 9410
+dopers 9410
+testicle 9410
+Parsifal 9410
+leavings 9410
+postulation 9410
+squeaking 9410
+contrasted 9410
+leftover 9410
+whiteners 9410
+erases 9410
+Punjab 9410
+Merritt 9410
+Quixotism 9410
+sweetish 9410
+dogging 9410
+scornfully 9410
+bellow 9410
+bills 9410
+cupboard 9410
+sureties 9410
+puddings 9410
+fetters 9410
+bivalves 9410
+incurring 9410
+Adolph 9410
+pithed 9410
+Miles 9410
+trimmings 9410
+tragedies 9410
+skulking 9410
+flint 9410
+flopping 9410
+relaxing 9410
+offload 9410
+suites 9410
+lists 9410
+animized 9410
+multilayer 9410
+standardizes 9410
+Judas 9410
+vacuuming 9410
+dentally 9410
+humanness 9410
+inch 9410
+Weissmuller 9410
+irresponsibly 9410
+luckily 9410
+culled 9410
+medical 9410
+bloodbath 9410
+subschema 9410
+animals 9410
+Micronesia 9410
+repetitions 9410
+Antares 9410
+ventilate 9410
+pityingly 9410
+interdependent 9410
+Graves 9410
+neonatal 9410
+chafe 9410
+honoring 9410
+realtor 9410
+elite 9410
+funereal 9410
+abrogating 9410
+sorters 9410
+Conley 9410
+lectured 9410
+Abraham 9410
+Hawaii 9410
+cage 9410
+hushes 9410
+Simla 9410
+reporters 9410
+Dutchman 9410
+descendants 9410
+groupings 9410
+dissociate 9410
+coexist 9410
+Beebe 9410
+Taoism 9410
+Connally 9410
+fetched 9410
+checkpoints 9410
+rusting 9410
+galling 9410
+obliterates 9410
+traitor 9410
+resumes 9410
+analyzable 9410
+terminator 9410
+gritty 9410
+firearm 9410
+minima 9410
+Selfridge 9410
+disable 9410
+witchcraft 9410
+betroth 9410
+Manhattanize 9410
+imprint 9410
+peeked 9410
+swelling 9410
+interrelationships 9410
+riser 9410
+Gandhian 9410
+peacock 9410
+bee 9410
+kanji 9410
+dental 9410
+scarf 9410
+chasm 9410
+insolence 9410
+syndicate 9410
+alike 9410
+imperial 9410
+convulsion 9410
+railway 9410
+validate 9410
+normalizes 9410
+comprehensive 9410
+chewing 9410
+denizen 9410
+schemer 9410
+chronicle 9410
+Kline 9410
+Anatole 9410
+partridges 9410
+brunch 9410
+recruited 9410
+dimensions 9410
+Chicana 9410
+announced 9410
+praised 9410
+employing 9410
+linear 9410
+quagmire 9410
+western 9410
+relishing 9410
+serving 9410
+scheduling 9410
+lore 9410
+eventful 9410
+arteriole 9410
+disentangle 9410
+cured 9410
+Fenton 9410
+avoidable 9410
+drains 9410
+detectably 9410
+husky 9410
+impelling 9410
+undoes 9410
+evened 9410
+squeezes 9410
+destroyer 9410
+rudeness 9410
+beaner 9410
+boorish 9410
+Everhart 9410
+encompass 9410
+mushrooms 9410
+Alison 9410
+externally 9410
+pellagra 9410
+cult 9410
+creek 9410
+Huffman 9410
+Majorca 9410
+governing 9410
+gadfly 9410
+reassigned 9410
+intentness 9410
+craziness 9410
+psychic 9410
+squabbled 9410
+burlesque 9410
+capped 9410
+extracted 9410
+DiMaggio 9410
+exclamation 9410
+subdirectory 9410
+Gothicism 9410
+feminine 9410
+metaphysically 9410
+sanding 9410
+Miltonism 9410
+freakish 9410
+index 9410
+straight 9410
+flurried 9410
+denotative 9410
+coming 9410
+commencements 9410
+gentleman 9410
+gifted 9410
+Shanghais 9410
+sportswriting 9410
+sloping 9410
+navies 9410
+leaflet 9410
+shooter 9410
+Joplin 9410
+babies 9410
+assails 9410
+admiring 9410
+swaying 9410
+Goldstine 9410
+fitting 9410
+Norwalk 9410
+analogy 9410
+deludes 9410
+cokes 9410
+Clayton 9410
+exhausts 9410
+causality 9410
+sating 9410
+icon 9410
+throttles 9410
+communicants 9410
+dehydrate 9410
+priceless 9410
+publicly 9410
+incidentals 9410
+commonplace 9410
+mumbles 9410
+furthermore 9410
+cautioned 9410
+parametrized 9410
+registration 9410
+sadly 9410
+positioning 9410
+babysitting 9410
+eternal 9410
+hoarder 9410
+congregates 9410
+rains 9410
+workers 9410
+sags 9410
+unplug 9410
+garage 9410
+boulder 9410
+specifics 9410
+Teresa 9410
+Winsett 9410
+convenient 9410
+buckboards 9410
+amenities 9410
+resplendent 9410
+sews 9410
+participated 9410
+Simon 9410
+certificates 9410
+Fitzpatrick 9410
+Evanston 9410
+misted 9410
+textures 9410
+save 9410
+count 9410
+rightful 9410
+chaperone 9410
+Lizzy 9410
+clenched 9410
+effortlessly 9410
+accessed 9410
+beaters 9410
+Hornblower 9410
+vests 9410
+indulgences 9410
+infallibly 9410
+unwilling 9410
+excrete 9410
+spools 9410
+crunches 9410
+overestimating 9410
+ineffective 9410
+humiliation 9410
+sophomore 9410
+star 9410
+rifles 9410
+dialysis 9410
+arriving 9410
+indulge 9410
+clockers 9410
+languages 9410
+Antarctica 9410
+percentage 9410
+ceiling 9410
+specification 9410
+regimented 9410
+ciphers 9410
+pictures 9410
+serpents 9410
+allot 9410
+realized 9410
+mayoral 9410
+opaquely 9410
+hostess 9410
+fiftieth 9410
+incorrectly 9410
+decomposition 9410
+stranglings 9410
+mixture 9410
+electroencephalography 9410
+similarities 9410
+charges 9410
+freest 9410
+Greenberg 9410
+tinting 9410
+expelled 9410
+warm 9410
+smoothed 9410
+deductions 9410
+Romano 9410
+bitterroot 9410
+corset 9410
+securing 9410
+environing 9410
+cute 9410
+Crays 9410
+heiress 9410
+inform 9410
+avenge 9410
+universals 9410
+Kinsey 9410
+ravines 9410
+bestseller 9410
+equilibrium 9410
+extents 9410
+relatively 9410
+pressure 9410
+critiques 9410
+befouled 9410
+rightfully 9410
+mechanizing 9410
+Latinizes 9410
+timesharing 9410
+Aden 9410
+embassies 9410
+males 9410
+shapelessly 9410
+mastering 9410
+Newtonian 9410
+finishers 9410
+abates 9410
+teem 9410
+kiting 9410
+stodgy 9410
+feed 9410
+guitars 9410
+airships 9410
+store 9410
+denounces 9410
+Pyle 9410
+Saxony 9410
+serializations 9410
+Peruvian 9410
+taxonomically 9410
+kingdom 9410
+stint 9410
+Sault 9410
+faithful 9410
+Ganymede 9410
+tidiness 9410
+gainful 9410
+contrary 9410
+Tipperary 9410
+tropics 9410
+theorizers 9410
+renew 9410
+already 9410
+terminal 9410
+Hegelian 9410
+hypothesizer 9410
+warningly 9410
+journalizing 9410
+nested 9410
+Lars 9410
+saplings 9410
+foothill 9410
+labeled 9410
+imperiously 9410
+reporters 9410
+furnishings 9410
+precipitable 9410
+discounts 9410
+excises 9410
+Stalin 9410
+despot 9410
+ripeness 9410
+Arabia 9410
+unruly 9410
+mournfulness 9410
+boom 9410
+slaughter 9410
+Sabine 9410
+handy 9410
+rural 9410
+organizer 9410
+shipyard 9410
+civics 9410
+inaccuracy 9410
+rules 9410
+juveniles 9410
+comprised 9410
+investigations 9410
+stabilizes 9410
+seminaries 9410
+Hunter 9410
+sporty 9410
+test 9410
+weasels 9410
+CERN 9410
+tempering 9410
+afore 9410
+Galatean 9410
+techniques 9410
+error 9410
+veranda 9410
+severely 9410
+Cassites 9410
+forthcoming 9410
+guides 9410
+vanish 9410
+lied 9410
+sawtooth 9410
+fated 9410
+gradually 9410
+widens 9410
+preclude 9410
+evenhandedly 9410
+percentage 9410
+disobedience 9410
+humility 9410
+gleaning 9410
+petted 9410
+bloater 9410
+minion 9410
+marginal 9410
+apiary 9410
+measures 9410
+precaution 9410
+repelled 9410
+primary 9410
+coverings 9410
+Artemia 9410
+navigate 9410
+spatial 9410
+Gurkha 9410
+meanwhile 9410
+Melinda 9410
+Butterfield 9410
+Aldrich 9410
+previewing 9410
+glut 9410
+unaffected 9410
+inmate 9410
+mineral 9410
+impending 9410
+meditation 9410
+ideas 9410
+miniaturizes 9410
+lewdly 9410
+title 9410
+youthfulness 9410
+creak 9410
+Chippewa 9410
+clamored 9410
+freezes 9410
+forgivably 9410
+reduce 9410
+McGovern 9410
+Nazis 9410
+epistle 9410
+socializes 9410
+conceptions 9410
+Kevin 9410
+uncovering 9410
+chews 9410
+appendixes 9410
+appendixes 9410
+appendixes 9410
+appendixes 9410
+appendixes 9410
+appendixes 9410
+raining 9410
+infest 9410
+compartment 9410
+minting 9410
+ducks 9410
+roped 9410
+waltz 9410
+Lillian 9410
+repressions 9410
+chillingly 9410
+noncritical 9410
+lithograph 9410
+spongers 9410
+parenthood 9410
+posed 9410
+instruments 9410
+filial 9410
+fixedly 9410
+relives 9410
+Pandora 9410
+watering 9410
+ungrateful 9410
+secures 9410
+poison 9410
+dusted 9410
+encompasses 9410
+presentation 9410
+Kantian 9410
+select fld3,period,price,price2 from t2,t3 where t2.fld1=t3.t2nr and period >= 1001 and period <= 1002 and t2.companynr = 37 order by fld3,period, price;
+fld3 period price price2
+admonishing 1002 28357832 8723648
+analyzable 1002 28357832 8723648
+annihilates 1001 5987435 234724
+Antares 1002 28357832 8723648
+astound 1001 5987435 234724
+audiology 1001 5987435 234724
+Augustine 1002 28357832 8723648
+Baird 1002 28357832 8723648
+bewilderingly 1001 5987435 234724
+breaking 1001 5987435 234724
+Conley 1001 5987435 234724
+dentally 1002 28357832 8723648
+dissociate 1002 28357832 8723648
+elite 1001 5987435 234724
+eschew 1001 5987435 234724
+Eulerian 1001 5987435 234724
+flanking 1001 5987435 234724
+foldout 1002 28357832 8723648
+funereal 1002 28357832 8723648
+galling 1002 28357832 8723648
+Graves 1001 5987435 234724
+grazing 1001 5987435 234724
+groupings 1001 5987435 234724
+handgun 1001 5987435 234724
+humility 1002 28357832 8723648
+impulsive 1002 28357832 8723648
+inch 1001 5987435 234724
+intelligibility 1001 5987435 234724
+jarring 1001 5987435 234724
+lawgiver 1001 5987435 234724
+lectured 1002 28357832 8723648
+Merritt 1002 28357832 8723648
+neonatal 1001 5987435 234724
+offload 1002 28357832 8723648
+parters 1002 28357832 8723648
+pityingly 1002 28357832 8723648
+puddings 1002 28357832 8723648
+Punjab 1001 5987435 234724
+quitter 1002 28357832 8723648
+realtor 1001 5987435 234724
+relaxing 1001 5987435 234724
+repetitions 1001 5987435 234724
+resumes 1001 5987435 234724
+Romans 1002 28357832 8723648
+rusting 1001 5987435 234724
+scholastics 1001 5987435 234724
+skulking 1002 28357832 8723648
+stated 1002 28357832 8723648
+suites 1002 28357832 8723648
+sureties 1001 5987435 234724
+testicle 1002 28357832 8723648
+tinily 1002 28357832 8723648
+tragedies 1001 5987435 234724
+trimmings 1001 5987435 234724
+vacuuming 1001 5987435 234724
+ventilate 1001 5987435 234724
+wallet 1001 5987435 234724
+Weissmuller 1002 28357832 8723648
+Wotan 1002 28357832 8723648
+select t2.fld1,fld3,period,price,price2 from t2,t3 where t2.fld1>= 18201 and t2.fld1 <= 18811 and t2.fld1=t3.t2nr and period = 1001 and t2.companynr = 37;
+fld1 fld3 period price price2
+018201 relaxing 1001 5987435 234724
+018601 vacuuming 1001 5987435 234724
+018801 inch 1001 5987435 234724
+018811 repetitions 1001 5987435 234724
+create table t4 (
+companynr tinyint(2) unsigned zerofill NOT NULL default '00',
+companyname char(30) NOT NULL default '',
+PRIMARY KEY (companynr),
+UNIQUE KEY companyname(companyname)
+) ENGINE=MyISAM MAX_ROWS=50 PACK_KEYS=1 COMMENT='companynames';
+select STRAIGHT_JOIN t2.companynr,companyname from t4,t2 where t2.companynr=t4.companynr group by t2.companynr;
+companynr companyname
+00 Unknown
+29 company 1
+34 company 2
+36 company 3
+37 company 4
+40 company 5
+41 company 6
+50 company 11
+53 company 7
+58 company 8
+65 company 9
+68 company 10
+select SQL_SMALL_RESULT t2.companynr,companyname from t4,t2 where t2.companynr=t4.companynr group by t2.companynr;
+companynr companyname
+00 Unknown
+29 company 1
+34 company 2
+36 company 3
+37 company 4
+40 company 5
+41 company 6
+50 company 11
+53 company 7
+58 company 8
+65 company 9
+68 company 10
+select * from t1,t1 t12;
+Period Varor_period Period Varor_period
+9410 9412 9410 9412
+select t2.fld1,t22.fld1 from t2,t2 t22 where t2.fld1 >= 250501 and t2.fld1 <= 250505 and t22.fld1 >= 250501 and t22.fld1 <= 250505;
+fld1 fld1
+250501 250501
+250502 250501
+250503 250501
+250504 250501
+250505 250501
+250501 250502
+250502 250502
+250503 250502
+250504 250502
+250505 250502
+250501 250503
+250502 250503
+250503 250503
+250504 250503
+250505 250503
+250501 250504
+250502 250504
+250503 250504
+250504 250504
+250505 250504
+250501 250505
+250502 250505
+250503 250505
+250504 250505
+250505 250505
+insert into t2 (fld1, companynr) values (999999,99);
+select t2.companynr,companyname from t2 left join t4 using (companynr) where t4.companynr is null;
+companynr companyname
+99 NULL
+select count(*) from t2 left join t4 using (companynr) where t4.companynr is not null;
+count(*)
+1199
+explain select t2.companynr,companyname from t2 left join t4 using (companynr) where t4.companynr is null;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 ALL NULL NULL NULL NULL 1200
+1 SIMPLE t4 eq_ref PRIMARY PRIMARY 1 test.t2.companynr 1 Using where; Not exists
+explain select t2.companynr,companyname from t4 left join t2 using (companynr) where t2.companynr is null;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t4 ALL NULL NULL NULL NULL 12
+1 SIMPLE t2 ALL NULL NULL NULL NULL 1200 Using where; Not exists
+select companynr,companyname from t2 left join t4 using (companynr) where companynr is null;
+companynr companyname
+select count(*) from t2 left join t4 using (companynr) where companynr is not null;
+count(*)
+1200
+explain select companynr,companyname from t2 left join t4 using (companynr) where companynr is null;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Impossible WHERE
+explain select companynr,companyname from t4 left join t2 using (companynr) where companynr is null;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Impossible WHERE
+delete from t2 where fld1=999999;
+explain select t2.companynr,companyname from t4 left join t2 using (companynr) where t2.companynr > 0;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 ALL NULL NULL NULL NULL 1199 Using where
+1 SIMPLE t4 eq_ref PRIMARY PRIMARY 1 test.t2.companynr 1
+explain select t2.companynr,companyname from t4 left join t2 using (companynr) where t2.companynr > 0 or t2.companynr < 0;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 ALL NULL NULL NULL NULL 1199 Using where
+1 SIMPLE t4 eq_ref PRIMARY PRIMARY 1 test.t2.companynr 1
+explain select t2.companynr,companyname from t4 left join t2 using (companynr) where t2.companynr > 0 and t4.companynr > 0;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 ALL NULL NULL NULL NULL 1199 Using where
+1 SIMPLE t4 eq_ref PRIMARY PRIMARY 1 test.t2.companynr 1
+explain select companynr,companyname from t4 left join t2 using (companynr) where companynr > 0;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t4 ALL PRIMARY NULL NULL NULL 12 Using where
+1 SIMPLE t2 ALL NULL NULL NULL NULL 1199
+explain select companynr,companyname from t4 left join t2 using (companynr) where companynr > 0 or companynr < 0;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t4 ALL PRIMARY NULL NULL NULL 12 Using where
+1 SIMPLE t2 ALL NULL NULL NULL NULL 1199
+explain select companynr,companyname from t4 left join t2 using (companynr) where companynr > 0 and companynr > 0;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t4 ALL PRIMARY NULL NULL NULL 12 Using where
+1 SIMPLE t2 ALL NULL NULL NULL NULL 1199
+explain select t2.companynr,companyname from t4 left join t2 using (companynr) where t2.companynr > 0 or t2.companynr is null;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t4 ALL NULL NULL NULL NULL 12
+1 SIMPLE t2 ALL NULL NULL NULL NULL 1199 Using where
+explain select t2.companynr,companyname from t4 left join t2 using (companynr) where t2.companynr > 0 or t2.companynr < 0 or t4.companynr > 0;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t4 ALL PRIMARY NULL NULL NULL 12
+1 SIMPLE t2 ALL NULL NULL NULL NULL 1199 Using where
+explain select t2.companynr,companyname from t4 left join t2 using (companynr) where ifnull(t2.companynr,1)>0;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t4 ALL NULL NULL NULL NULL 12
+1 SIMPLE t2 ALL NULL NULL NULL NULL 1199 Using where
+explain select companynr,companyname from t4 left join t2 using (companynr) where companynr > 0 or companynr is null;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t4 ALL PRIMARY NULL NULL NULL 12 Using where
+1 SIMPLE t2 ALL NULL NULL NULL NULL 1199
+explain select companynr,companyname from t4 left join t2 using (companynr) where companynr > 0 or companynr < 0 or companynr > 0;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t4 ALL PRIMARY NULL NULL NULL 12 Using where
+1 SIMPLE t2 ALL NULL NULL NULL NULL 1199
+explain select companynr,companyname from t4 left join t2 using (companynr) where ifnull(companynr,1)>0;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where
+1 SIMPLE t2 ALL NULL NULL NULL NULL 1199
+select distinct t2.companynr,t4.companynr from t2,t4 where t2.companynr=t4.companynr+1;
+companynr companynr
+37 36
+41 40
+explain select distinct t2.companynr,t4.companynr from t2,t4 where t2.companynr=t4.companynr+1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t4 index NULL PRIMARY 1 NULL 12 Using index; Using temporary
+1 SIMPLE t2 ALL NULL NULL NULL NULL 1199 Using where; Using join buffer
+select t2.fld1,t2.companynr,fld3,period from t3,t2 where t2.fld1 = 38208 and t2.fld1=t3.t2nr and period = 1008 or t2.fld1 = 38008 and t2.fld1 =t3.t2nr and period = 1008;
+fld1 companynr fld3 period
+038008 37 reporters 1008
+038208 37 Selfridge 1008
+select t2.fld1,t2.companynr,fld3,period from t3,t2 where (t2.fld1 = 38208 or t2.fld1 = 38008) and t2.fld1=t3.t2nr and period>=1008 and period<=1009;
+fld1 companynr fld3 period
+038008 37 reporters 1008
+038208 37 Selfridge 1008
+select t2.fld1,t2.companynr,fld3,period from t3,t2 where (t3.t2nr = 38208 or t3.t2nr = 38008) and t2.fld1=t3.t2nr and period>=1008 and period<=1009;
+fld1 companynr fld3 period
+038008 37 reporters 1008
+038208 37 Selfridge 1008
+select period from t1 where (((period > 0) or period < 10000 or (period = 1900)) and (period=1900 and period <= 1901) or (period=1903 and (period=1903)) and period>=1902) or ((period=1904 or period=1905) or (period=1906 or period>1907)) or (period=1908 and period = 1909);
+period
+9410
+select period from t1 where ((period > 0 and period < 1) or (((period > 0 and period < 100) and (period > 10)) or (period > 10)) or (period > 0 and (period > 5 or period > 6)));
+period
+9410
+select a.fld1 from t2 as a,t2 b where ((a.fld1 = 250501 and a.fld1=b.fld1) or a.fld1=250502 or a.fld1=250503 or (a.fld1=250505 and a.fld1<=b.fld1 and b.fld1>=a.fld1)) and a.fld1=b.fld1;
+fld1
+250501
+250502
+250503
+250505
+select fld1 from t2 where fld1 in (250502,98005,98006,250503,250605,250606) and fld1 >=250502 and fld1 not in (250605,250606);
+fld1
+250502
+250503
+select fld1 from t2 where fld1 between 250502 and 250504;
+fld1
+250502
+250503
+250504
+select fld3 from t2 where (((fld3 like "_%L%" ) or (fld3 like "%ok%")) and ( fld3 like "L%" or fld3 like "G%")) and fld3 like "L%" ;
+fld3
+label
+labeled
+labeled
+landslide
+laterally
+leaflet
+lewdly
+Lillian
+luckily
+select count(*) from t1;
+count(*)
+1
+select companynr,count(*),sum(fld1) from t2 group by companynr;
+companynr count(*) sum(fld1)
+00 82 10355753
+29 95 14473298
+34 70 17788966
+36 215 22786296
+37 588 83602098
+40 37 6618386
+41 52 12816335
+50 11 1595438
+53 4 793210
+58 23 2254293
+65 10 2284055
+68 12 3097288
+select companynr,count(*) from t2 group by companynr order by companynr desc limit 5;
+companynr count(*)
+68 12
+65 10
+58 23
+53 4
+50 11
+select count(*),min(fld4),max(fld4),sum(fld1),avg(fld1),std(fld1),variance(fld1) from t2 where companynr = 34 and fld4<>"";
+count(*) min(fld4) max(fld4) sum(fld1) avg(fld1) std(fld1) variance(fld1)
+70 absentee vest 17788966 254128.0857 3272.5940 10709871.3069
+explain extended select count(*),min(fld4),max(fld4),sum(fld1),avg(fld1),std(fld1),variance(fld1) from t2 where companynr = 34 and fld4<>"";
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t2 ALL NULL NULL NULL NULL 1199 100.00 Using where
+Warnings:
+Note 1003 select count(0) AS `count(*)`,min(`test`.`t2`.`fld4`) AS `min(fld4)`,max(`test`.`t2`.`fld4`) AS `max(fld4)`,sum(`test`.`t2`.`fld1`) AS `sum(fld1)`,avg(`test`.`t2`.`fld1`) AS `avg(fld1)`,std(`test`.`t2`.`fld1`) AS `std(fld1)`,variance(`test`.`t2`.`fld1`) AS `variance(fld1)` from `test`.`t2` where ((`test`.`t2`.`companynr` = 34) and (`test`.`t2`.`fld4` <> ''))
+select companynr,count(*),min(fld4),max(fld4),sum(fld1),avg(fld1),std(fld1),variance(fld1) from t2 group by companynr limit 3;
+companynr count(*) min(fld4) max(fld4) sum(fld1) avg(fld1) std(fld1) variance(fld1)
+00 82 Anthony windmills 10355753 126289.6707 115550.9757 13352027981.7087
+29 95 abut wetness 14473298 152350.5053 8368.5480 70032594.9026
+34 70 absentee vest 17788966 254128.0857 3272.5940 10709871.3069
+select companynr,t2nr,count(price),sum(price),min(price),max(price),avg(price) from t3 where companynr = 37 group by companynr,t2nr limit 10;
+companynr t2nr count(price) sum(price) min(price) max(price) avg(price)
+37 1 1 5987435 5987435 5987435 5987435.0000
+37 2 1 28357832 28357832 28357832 28357832.0000
+37 3 1 39654943 39654943 39654943 39654943.0000
+37 11 1 5987435 5987435 5987435 5987435.0000
+37 12 1 28357832 28357832 28357832 28357832.0000
+37 13 1 39654943 39654943 39654943 39654943.0000
+37 21 1 5987435 5987435 5987435 5987435.0000
+37 22 1 28357832 28357832 28357832 28357832.0000
+37 23 1 39654943 39654943 39654943 39654943.0000
+37 31 1 5987435 5987435 5987435 5987435.0000
+select /*! SQL_SMALL_RESULT */ companynr,t2nr,count(price),sum(price),min(price),max(price),avg(price) from t3 where companynr = 37 group by companynr,t2nr limit 10;
+companynr t2nr count(price) sum(price) min(price) max(price) avg(price)
+37 1 1 5987435 5987435 5987435 5987435.0000
+37 2 1 28357832 28357832 28357832 28357832.0000
+37 3 1 39654943 39654943 39654943 39654943.0000
+37 11 1 5987435 5987435 5987435 5987435.0000
+37 12 1 28357832 28357832 28357832 28357832.0000
+37 13 1 39654943 39654943 39654943 39654943.0000
+37 21 1 5987435 5987435 5987435 5987435.0000
+37 22 1 28357832 28357832 28357832 28357832.0000
+37 23 1 39654943 39654943 39654943 39654943.0000
+37 31 1 5987435 5987435 5987435 5987435.0000
+select companynr,count(price),sum(price),min(price),max(price),avg(price) from t3 group by companynr ;
+companynr count(price) sum(price) min(price) max(price) avg(price)
+37 12543 309394878010 5987435 39654943 24666736.6667
+78 8362 414611089292 726498 98439034 49582766.0000
+101 4181 3489454238 834598 834598 834598.0000
+154 4181 4112197254950 983543950 983543950 983543950.0000
+311 4181 979599938 234298 234298 234298.0000
+447 4181 9929180954 2374834 2374834 2374834.0000
+512 4181 3288532102 786542 786542 786542.0000
+select distinct mod(companynr,10) from t4 group by companynr;
+mod(companynr,10)
+0
+9
+4
+6
+7
+1
+3
+8
+5
+select distinct 1 from t4 group by companynr;
+1
+1
+select count(distinct fld1) from t2;
+count(distinct fld1)
+1199
+select companynr,count(distinct fld1) from t2 group by companynr;
+companynr count(distinct fld1)
+00 82
+29 95
+34 70
+36 215
+37 588
+40 37
+41 52
+50 11
+53 4
+58 23
+65 10
+68 12
+select companynr,count(*) from t2 group by companynr;
+companynr count(*)
+00 82
+29 95
+34 70
+36 215
+37 588
+40 37
+41 52
+50 11
+53 4
+58 23
+65 10
+68 12
+select companynr,count(distinct concat(fld1,repeat(65,1000))) from t2 group by companynr;
+companynr count(distinct concat(fld1,repeat(65,1000)))
+00 82
+29 95
+34 70
+36 215
+37 588
+40 37
+41 52
+50 11
+53 4
+58 23
+65 10
+68 12
+select companynr,count(distinct concat(fld1,repeat(65,200))) from t2 group by companynr;
+companynr count(distinct concat(fld1,repeat(65,200)))
+00 82
+29 95
+34 70
+36 215
+37 588
+40 37
+41 52
+50 11
+53 4
+58 23
+65 10
+68 12
+select companynr,count(distinct floor(fld1/100)) from t2 group by companynr;
+companynr count(distinct floor(fld1/100))
+00 47
+29 35
+34 14
+36 69
+37 108
+40 16
+41 11
+50 9
+53 1
+58 1
+65 1
+68 1
+select companynr,count(distinct concat(repeat(65,1000),floor(fld1/100))) from t2 group by companynr;
+companynr count(distinct concat(repeat(65,1000),floor(fld1/100)))
+00 47
+29 35
+34 14
+36 69
+37 108
+40 16
+41 11
+50 9
+53 1
+58 1
+65 1
+68 1
+select sum(fld1),fld3 from t2 where fld3="Romans" group by fld1 limit 10;
+sum(fld1) fld3
+11402 Romans
+select name,count(*) from t3 where name='cloakroom' group by name;
+name count(*)
+cloakroom 4181
+select name,count(*) from t3 where name='cloakroom' and price>10 group by name;
+name count(*)
+cloakroom 4181
+select count(*) from t3 where name='cloakroom' and price2=823742;
+count(*)
+4181
+select name,count(*) from t3 where name='cloakroom' and price2=823742 group by name;
+name count(*)
+cloakroom 4181
+select name,count(*) from t3 where name >= "extramarital" and price <= 39654943 group by name;
+name count(*)
+extramarital 4181
+gazer 4181
+gems 4181
+Iranizes 4181
+spates 4181
+tucked 4181
+violinist 4181
+select t2.fld3,count(*) from t2,t3 where t2.fld1=158402 and t3.name=t2.fld3 group by t3.name;
+fld3 count(*)
+spates 4181
+select companynr|0,companyname from t4 group by 1;
+companynr|0 companyname
+0 Unknown
+29 company 1
+34 company 2
+36 company 3
+37 company 4
+40 company 5
+41 company 6
+50 company 11
+53 company 7
+58 company 8
+65 company 9
+68 company 10
+select t2.companynr,companyname,count(*) from t2,t4 where t2.companynr=t4.companynr group by t2.companynr order by companyname;
+companynr companyname count(*)
+29 company 1 95
+68 company 10 12
+50 company 11 11
+34 company 2 70
+36 company 3 215
+37 company 4 588
+40 company 5 37
+41 company 6 52
+53 company 7 4
+58 company 8 23
+65 company 9 10
+00 Unknown 82
+select t2.fld1,count(*) from t2,t3 where t2.fld1=158402 and t3.name=t2.fld3 group by t3.name;
+fld1 count(*)
+158402 4181
+select sum(Period)/count(*) from t1;
+sum(Period)/count(*)
+9410.0000
+select companynr,count(price) as "count",sum(price) as "sum" ,abs(sum(price)/count(price)-avg(price)) as "diff",(0+count(price))*companynr as func from t3 group by companynr;
+companynr count sum diff func
+37 12543 309394878010 0.0000 464091
+78 8362 414611089292 0.0000 652236
+101 4181 3489454238 0.0000 422281
+154 4181 4112197254950 0.0000 643874
+311 4181 979599938 0.0000 1300291
+447 4181 9929180954 0.0000 1868907
+512 4181 3288532102 0.0000 2140672
+select companynr,sum(price)/count(price) as avg from t3 group by companynr having avg > 70000000 order by avg;
+companynr avg
+154 983543950.0000
+select companynr,count(*) from t2 group by companynr order by 2 desc;
+companynr count(*)
+37 588
+36 215
+29 95
+00 82
+34 70
+41 52
+40 37
+58 23
+68 12
+50 11
+65 10
+53 4
+select companynr,count(*) from t2 where companynr > 40 group by companynr order by 2 desc;
+companynr count(*)
+41 52
+58 23
+68 12
+50 11
+65 10
+53 4
+select t2.fld4,t2.fld1,count(price),sum(price),min(price),max(price),avg(price) from t3,t2 where t3.companynr = 37 and t2.fld1 = t3.t2nr group by fld1,t2.fld4;
+fld4 fld1 count(price) sum(price) min(price) max(price) avg(price)
+teethe 000001 1 5987435 5987435 5987435 5987435.0000
+dreaded 011401 1 5987435 5987435 5987435 5987435.0000
+scholastics 011402 1 28357832 28357832 28357832 28357832.0000
+audiology 011403 1 39654943 39654943 39654943 39654943.0000
+wallet 011501 1 5987435 5987435 5987435 5987435.0000
+parters 011701 1 5987435 5987435 5987435 5987435.0000
+eschew 011702 1 28357832 28357832 28357832 28357832.0000
+quitter 011703 1 39654943 39654943 39654943 39654943.0000
+neat 012001 1 5987435 5987435 5987435 5987435.0000
+Steinberg 012003 1 39654943 39654943 39654943 39654943.0000
+balled 012301 1 5987435 5987435 5987435 5987435.0000
+persist 012302 1 28357832 28357832 28357832 28357832.0000
+attainments 012303 1 39654943 39654943 39654943 39654943.0000
+capably 012501 1 5987435 5987435 5987435 5987435.0000
+impulsive 012602 1 28357832 28357832 28357832 28357832.0000
+starlet 012603 1 39654943 39654943 39654943 39654943.0000
+featherweight 012701 1 5987435 5987435 5987435 5987435.0000
+pessimist 012702 1 28357832 28357832 28357832 28357832.0000
+daughter 012703 1 39654943 39654943 39654943 39654943.0000
+lawgiver 013601 1 5987435 5987435 5987435 5987435.0000
+stated 013602 1 28357832 28357832 28357832 28357832.0000
+readable 013603 1 39654943 39654943 39654943 39654943.0000
+testicle 013801 1 5987435 5987435 5987435 5987435.0000
+Parsifal 013802 1 28357832 28357832 28357832 28357832.0000
+leavings 013803 1 39654943 39654943 39654943 39654943.0000
+squeaking 013901 1 5987435 5987435 5987435 5987435.0000
+contrasted 016001 1 5987435 5987435 5987435 5987435.0000
+leftover 016201 1 5987435 5987435 5987435 5987435.0000
+whiteners 016202 1 28357832 28357832 28357832 28357832.0000
+erases 016301 1 5987435 5987435 5987435 5987435.0000
+Punjab 016302 1 28357832 28357832 28357832 28357832.0000
+Merritt 016303 1 39654943 39654943 39654943 39654943.0000
+sweetish 018001 1 5987435 5987435 5987435 5987435.0000
+dogging 018002 1 28357832 28357832 28357832 28357832.0000
+scornfully 018003 1 39654943 39654943 39654943 39654943.0000
+fetters 018012 1 28357832 28357832 28357832 28357832.0000
+bivalves 018013 1 39654943 39654943 39654943 39654943.0000
+skulking 018021 1 5987435 5987435 5987435 5987435.0000
+flint 018022 1 28357832 28357832 28357832 28357832.0000
+flopping 018023 1 39654943 39654943 39654943 39654943.0000
+Judas 018032 1 28357832 28357832 28357832 28357832.0000
+vacuuming 018033 1 39654943 39654943 39654943 39654943.0000
+medical 018041 1 5987435 5987435 5987435 5987435.0000
+bloodbath 018042 1 28357832 28357832 28357832 28357832.0000
+subschema 018043 1 39654943 39654943 39654943 39654943.0000
+interdependent 018051 1 5987435 5987435 5987435 5987435.0000
+Graves 018052 1 28357832 28357832 28357832 28357832.0000
+neonatal 018053 1 39654943 39654943 39654943 39654943.0000
+sorters 018061 1 5987435 5987435 5987435 5987435.0000
+epistle 018062 1 28357832 28357832 28357832 28357832.0000
+Conley 018101 1 5987435 5987435 5987435 5987435.0000
+lectured 018102 1 28357832 28357832 28357832 28357832.0000
+Abraham 018103 1 39654943 39654943 39654943 39654943.0000
+cage 018201 1 5987435 5987435 5987435 5987435.0000
+hushes 018202 1 28357832 28357832 28357832 28357832.0000
+Simla 018402 1 28357832 28357832 28357832 28357832.0000
+reporters 018403 1 39654943 39654943 39654943 39654943.0000
+coexist 018601 1 5987435 5987435 5987435 5987435.0000
+Beebe 018602 1 28357832 28357832 28357832 28357832.0000
+Taoism 018603 1 39654943 39654943 39654943 39654943.0000
+Connally 018801 1 5987435 5987435 5987435 5987435.0000
+fetched 018802 1 28357832 28357832 28357832 28357832.0000
+checkpoints 018803 1 39654943 39654943 39654943 39654943.0000
+gritty 018811 1 5987435 5987435 5987435 5987435.0000
+firearm 018812 1 28357832 28357832 28357832 28357832.0000
+minima 019101 1 5987435 5987435 5987435 5987435.0000
+Selfridge 019102 1 28357832 28357832 28357832 28357832.0000
+disable 019103 1 39654943 39654943 39654943 39654943.0000
+witchcraft 019201 1 5987435 5987435 5987435 5987435.0000
+betroth 030501 1 5987435 5987435 5987435 5987435.0000
+Manhattanize 030502 1 28357832 28357832 28357832 28357832.0000
+imprint 030503 1 39654943 39654943 39654943 39654943.0000
+swelling 031901 1 5987435 5987435 5987435 5987435.0000
+interrelationships 036001 1 5987435 5987435 5987435 5987435.0000
+riser 036002 1 28357832 28357832 28357832 28357832.0000
+bee 038001 1 5987435 5987435 5987435 5987435.0000
+kanji 038002 1 28357832 28357832 28357832 28357832.0000
+dental 038003 1 39654943 39654943 39654943 39654943.0000
+railway 038011 1 5987435 5987435 5987435 5987435.0000
+validate 038012 1 28357832 28357832 28357832 28357832.0000
+normalizes 038013 1 39654943 39654943 39654943 39654943.0000
+Kline 038101 1 5987435 5987435 5987435 5987435.0000
+Anatole 038102 1 28357832 28357832 28357832 28357832.0000
+partridges 038103 1 39654943 39654943 39654943 39654943.0000
+recruited 038201 1 5987435 5987435 5987435 5987435.0000
+dimensions 038202 1 28357832 28357832 28357832 28357832.0000
+Chicana 038203 1 39654943 39654943 39654943 39654943.0000
+select t3.companynr,fld3,sum(price) from t3,t2 where t2.fld1 = t3.t2nr and t3.companynr = 512 group by companynr,fld3;
+companynr fld3 sum(price)
+512 boat 786542
+512 capably 786542
+512 cupboard 786542
+512 decliner 786542
+512 descendants 786542
+512 dopers 786542
+512 erases 786542
+512 Micronesia 786542
+512 Miles 786542
+512 skies 786542
+select t2.companynr,count(*),min(fld3),max(fld3),sum(price),avg(price) from t2,t3 where t3.companynr >= 30 and t3.companynr <= 58 and t3.t2nr = t2.fld1 and 1+1=2 group by t2.companynr;
+companynr count(*) min(fld3) max(fld3) sum(price) avg(price)
+00 1 Omaha Omaha 5987435 5987435.0000
+36 1 dubbed dubbed 28357832 28357832.0000
+37 83 Abraham Wotan 1908978016 22999735.1325
+50 2 scribbled tapestry 68012775 34006387.5000
+select t3.companynr+0,t3.t2nr,fld3,sum(price) from t3,t2 where t2.fld1 = t3.t2nr and t3.companynr = 37 group by 1,t3.t2nr,fld3,fld3,fld3,fld3,fld3 order by fld1;
+t3.companynr+0 t2nr fld3 sum(price)
+37 1 Omaha 5987435
+37 11401 breaking 5987435
+37 11402 Romans 28357832
+37 11403 intercepted 39654943
+37 11501 bewilderingly 5987435
+37 11701 astound 5987435
+37 11702 admonishing 28357832
+37 11703 sumac 39654943
+37 12001 flanking 5987435
+37 12003 combed 39654943
+37 12301 Eulerian 5987435
+37 12302 dubbed 28357832
+37 12303 Kane 39654943
+37 12501 annihilates 5987435
+37 12602 Wotan 28357832
+37 12603 snatching 39654943
+37 12701 grazing 5987435
+37 12702 Baird 28357832
+37 12703 celery 39654943
+37 13601 handgun 5987435
+37 13602 foldout 28357832
+37 13603 mystic 39654943
+37 13801 intelligibility 5987435
+37 13802 Augustine 28357832
+37 13803 teethe 39654943
+37 13901 scholastics 5987435
+37 16001 audiology 5987435
+37 16201 wallet 5987435
+37 16202 parters 28357832
+37 16301 eschew 5987435
+37 16302 quitter 28357832
+37 16303 neat 39654943
+37 18001 jarring 5987435
+37 18002 tinily 28357832
+37 18003 balled 39654943
+37 18012 impulsive 28357832
+37 18013 starlet 39654943
+37 18021 lawgiver 5987435
+37 18022 stated 28357832
+37 18023 readable 39654943
+37 18032 testicle 28357832
+37 18033 Parsifal 39654943
+37 18041 Punjab 5987435
+37 18042 Merritt 28357832
+37 18043 Quixotism 39654943
+37 18051 sureties 5987435
+37 18052 puddings 28357832
+37 18053 tapestry 39654943
+37 18061 trimmings 5987435
+37 18062 humility 28357832
+37 18101 tragedies 5987435
+37 18102 skulking 28357832
+37 18103 flint 39654943
+37 18201 relaxing 5987435
+37 18202 offload 28357832
+37 18402 suites 28357832
+37 18403 lists 39654943
+37 18601 vacuuming 5987435
+37 18602 dentally 28357832
+37 18603 humanness 39654943
+37 18801 inch 5987435
+37 18802 Weissmuller 28357832
+37 18803 irresponsibly 39654943
+37 18811 repetitions 5987435
+37 18812 Antares 28357832
+37 19101 ventilate 5987435
+37 19102 pityingly 28357832
+37 19103 interdependent 39654943
+37 19201 Graves 5987435
+37 30501 neonatal 5987435
+37 30502 scribbled 28357832
+37 30503 chafe 39654943
+37 31901 realtor 5987435
+37 36001 elite 5987435
+37 36002 funereal 28357832
+37 38001 Conley 5987435
+37 38002 lectured 28357832
+37 38003 Abraham 39654943
+37 38011 groupings 5987435
+37 38012 dissociate 28357832
+37 38013 coexist 39654943
+37 38101 rusting 5987435
+37 38102 galling 28357832
+37 38103 obliterates 39654943
+37 38201 resumes 5987435
+37 38202 analyzable 28357832
+37 38203 terminator 39654943
+select sum(price) from t3,t2 where t2.fld1 = t3.t2nr and t3.companynr = 512 and t3.t2nr = 38008 and t2.fld1 = 38008 or t2.fld1= t3.t2nr and t3.t2nr = 38008 and t2.fld1 = 38008;
+sum(price)
+234298
+select t2.fld1,sum(price) from t3,t2 where t2.fld1 = t3.t2nr and t3.companynr = 512 and t3.t2nr = 38008 and t2.fld1 = 38008 or t2.fld1 = t3.t2nr and t3.t2nr = 38008 and t2.fld1 = 38008 or t3.t2nr = t2.fld1 and t2.fld1 = 38008 group by t2.fld1;
+fld1 sum(price)
+038008 234298
+explain select fld3 from t2 where 1>2 or 2>3;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Impossible WHERE
+explain select fld3 from t2 where fld1=fld1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 ALL NULL NULL NULL NULL 1199
+select companynr,fld1 from t2 HAVING fld1=250501 or fld1=250502;
+companynr fld1
+34 250501
+34 250502
+select companynr,fld1 from t2 WHERE fld1>=250501 HAVING fld1<=250502;
+companynr fld1
+34 250501
+34 250502
+select companynr,count(*) as count,sum(fld1) as sum from t2 group by companynr having count > 40 and sum/count >= 120000;
+companynr count sum
+00 82 10355753
+29 95 14473298
+34 70 17788966
+37 588 83602098
+41 52 12816335
+select companynr from t2 group by companynr having count(*) > 40 and sum(fld1)/count(*) >= 120000 ;
+companynr
+00
+29
+34
+37
+41
+select t2.companynr,companyname,count(*) from t2,t4 where t2.companynr=t4.companynr group by companyname having t2.companynr >= 40;
+companynr companyname count(*)
+68 company 10 12
+50 company 11 11
+40 company 5 37
+41 company 6 52
+53 company 7 4
+58 company 8 23
+65 company 9 10
+select count(*) from t2;
+count(*)
+1199
+select count(*) from t2 where fld1 < 098024;
+count(*)
+387
+select min(fld1) from t2 where fld1>= 098024;
+min(fld1)
+98024
+select max(fld1) from t2 where fld1>= 098024;
+max(fld1)
+1232609
+select count(*) from t3 where price2=76234234;
+count(*)
+4181
+select count(*) from t3 where companynr=512 and price2=76234234;
+count(*)
+4181
+explain select min(fld1),max(fld1),count(*) from t2;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Select tables optimized away
+select min(fld1),max(fld1),count(*) from t2;
+min(fld1) max(fld1) count(*)
+0 1232609 1199
+select min(t2nr),max(t2nr) from t3 where t2nr=2115 and price2=823742;
+min(t2nr) max(t2nr)
+2115 2115
+select count(*),min(t2nr),max(t2nr) from t3 where name='spates' and companynr=78;
+count(*) min(t2nr) max(t2nr)
+4181 4 41804
+select t2nr,count(*) from t3 where name='gems' group by t2nr limit 20;
+t2nr count(*)
+9 1
+19 1
+29 1
+39 1
+49 1
+59 1
+69 1
+79 1
+89 1
+99 1
+109 1
+119 1
+129 1
+139 1
+149 1
+159 1
+169 1
+179 1
+189 1
+199 1
+select max(t2nr) from t3 where price=983543950;
+max(t2nr)
+41807
+select t1.period from t3 = t1 limit 1;
+period
+1001
+select t1.period from t1 as t1 limit 1;
+period
+9410
+select t1.period as "Nuvarande period" from t1 as t1 limit 1;
+Nuvarande period
+9410
+select period as ok_period from t1 limit 1;
+ok_period
+9410
+select period as ok_period from t1 group by ok_period limit 1;
+ok_period
+9410
+select 1+1 as summa from t1 group by summa limit 1;
+summa
+2
+select period as "Nuvarande period" from t1 group by "Nuvarande period" limit 1;
+Nuvarande period
+9410
+show tables;
+Tables_in_test
+t1
+t2
+t3
+t4
+show tables from test like "s%";
+Tables_in_test (s%)
+show tables from test like "t?";
+Tables_in_test (t?)
+show full columns from t2;
+Field Type Collation Null Key Default Extra Privileges Comment
+auto int(11) NULL NO PRI NULL auto_increment #
+fld1 int(6) unsigned zerofill NULL NO UNI 000000 #
+companynr tinyint(2) unsigned zerofill NULL NO 00 #
+fld3 char(30) latin1_swedish_ci NO MUL #
+fld4 char(35) latin1_swedish_ci NO #
+fld5 char(35) latin1_swedish_ci NO #
+fld6 char(4) latin1_swedish_ci NO #
+show full columns from t2 from test like 'f%';
+Field Type Collation Null Key Default Extra Privileges Comment
+fld1 int(6) unsigned zerofill NULL NO UNI 000000 #
+fld3 char(30) latin1_swedish_ci NO MUL #
+fld4 char(35) latin1_swedish_ci NO #
+fld5 char(35) latin1_swedish_ci NO #
+fld6 char(4) latin1_swedish_ci NO #
+show full columns from t2 from test like 's%';
+Field Type Collation Null Key Default Extra Privileges Comment
+show keys from t2;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
+t2 0 PRIMARY 1 auto A 1199 NULL NULL BTREE
+t2 0 fld1 1 fld1 A 1199 NULL NULL BTREE
+t2 1 fld3 1 fld3 A NULL NULL NULL BTREE
+drop table t4, t3, t2, t1;
+CREATE TABLE t1 (
+cont_nr int(11) NOT NULL auto_increment,
+ver_nr int(11) NOT NULL default '0',
+aufnr int(11) NOT NULL default '0',
+username varchar(50) NOT NULL default '',
+hdl_nr int(11) NOT NULL default '0',
+eintrag date NOT NULL default '0000-00-00',
+st_klasse varchar(40) NOT NULL default '',
+st_wert varchar(40) NOT NULL default '',
+st_zusatz varchar(40) NOT NULL default '',
+st_bemerkung varchar(255) NOT NULL default '',
+kunden_art varchar(40) NOT NULL default '',
+mcbs_knr int(11) default NULL,
+mcbs_aufnr int(11) NOT NULL default '0',
+schufa_status char(1) default '?',
+bemerkung text,
+wirknetz text,
+wf_igz int(11) NOT NULL default '0',
+tarifcode varchar(80) default NULL,
+recycle char(1) default NULL,
+sim varchar(30) default NULL,
+mcbs_tpl varchar(30) default NULL,
+emp_nr int(11) NOT NULL default '0',
+laufzeit int(11) default NULL,
+hdl_name varchar(30) default NULL,
+prov_hdl_nr int(11) NOT NULL default '0',
+auto_wirknetz varchar(50) default NULL,
+auto_billing varchar(50) default NULL,
+touch timestamp NOT NULL,
+kategorie varchar(50) default NULL,
+kundentyp varchar(20) NOT NULL default '',
+sammel_rech_msisdn varchar(30) NOT NULL default '',
+p_nr varchar(9) NOT NULL default '',
+suffix char(3) NOT NULL default '',
+PRIMARY KEY (cont_nr),
+KEY idx_aufnr(aufnr),
+KEY idx_hdl_nr(hdl_nr),
+KEY idx_st_klasse(st_klasse),
+KEY ver_nr(ver_nr),
+KEY eintrag_idx(eintrag),
+KEY emp_nr_idx(emp_nr),
+KEY wf_igz(wf_igz),
+KEY touch(touch),
+KEY hdl_tag(eintrag,hdl_nr),
+KEY prov_hdl_nr(prov_hdl_nr),
+KEY mcbs_aufnr(mcbs_aufnr),
+KEY kundentyp(kundentyp),
+KEY p_nr(p_nr,suffix)
+) ENGINE=MyISAM;
+INSERT INTO t1 VALUES (3359356,405,3359356,'Mustermann Musterfrau',52500,'2000-05-20','workflow','Auftrag erledigt','Originalvertrag eingegangen und geprüft','','privat',1485525,2122316,'+','','N',1909160,'MobilComSuper92000D2',NULL,NULL,'MS9ND2',3,24,'MobilCom Shop Koeln',52500,NULL,'auto',20010202105916,'Mobilfunk','PP','','','');
+INSERT INTO t1 VALUES (3359357,468,3359357,'Mustermann Musterfrau',7001,'2000-05-20','workflow','Auftrag erledigt','Originalvertrag eingegangen und geprüft','','privat',1503580,2139699,'+','','P',1909171,'MobilComSuper9D1T10SFreisprech(Akquise)',NULL,NULL,'MS9NS1',327,24,'MobilCom Intern',7003,NULL,'auto',20010202105916,'Mobilfunk','PP','','','');
+INSERT INTO t1 VALUES (3359358,407,3359358,'Mustermann Musterfrau',7001,'2000-05-20','workflow','Auftrag erledigt','Originalvertrag eingegangen und geprüft','','privat',1501358,2137473,'N','','N',1909159,'MobilComSuper92000D2',NULL,NULL,'MS9ND2',325,24,'MobilCom Intern',7003,NULL,'auto',20010202105916,'Mobilfunk','PP','','','');
+INSERT INTO t1 VALUES (3359359,468,3359359,'Mustermann Musterfrau',7001,'2000-05-20','workflow','Auftrag erledigt','Originalvertrag eingegangen und geprüft','','privat',1507831,2143894,'+','','P',1909162,'MobilComSuper9D1T10SFreisprech(Akquise)',NULL,NULL,'MS9NS1',327,24,'MobilCom Intern',7003,NULL,'auto',20010202105916,'Mobilfunk','PP','','','');
+INSERT INTO t1 VALUES (3359360,0,0,'Mustermann Musterfrau',29674907,'2000-05-20','workflow','Auftrag erledigt','Originalvertrag eingegangen und geprüft','','privat',1900169997,2414578,'+',NULL,'N',1909148,'',NULL,NULL,'RV99066_2',20,NULL,'POS',29674907,NULL,NULL,20010202105916,'Mobilfunk','','','97317481','007');
+INSERT INTO t1 VALUES (3359361,406,3359361,'Mustermann Musterfrau',7001,'2000-05-20','workflow','Auftrag storniert','','(7001-84):Storno, Kd. möchte nicht mehr','privat',NULL,0,'+','','P',1909150,'MobilComSuper92000D1(Akquise)',NULL,NULL,'MS9ND1',325,24,'MobilCom Intern',7003,NULL,'auto',20010202105916,'Mobilfunk','PP','','','');
+INSERT INTO t1 VALUES (3359362,406,3359362,'Mustermann Musterfrau',7001,'2000-05-20','workflow','Auftrag erledigt','Originalvertrag eingegangen und geprüft','','privat',1509984,2145874,'+','','P',1909154,'MobilComSuper92000D1(Akquise)',NULL,NULL,'MS9ND1',327,24,'MobilCom Intern',7003,NULL,'auto',20010202105916,'Mobilfunk','PP','','','');
+SELECT ELT(FIELD(kundentyp,'PP','PPA','PG','PGA','FK','FKA','FP','FPA','K','KA','V','VA',''), 'Privat (Private Nutzung)','Privat (Private Nutzung) Sitz im Ausland','Privat (geschaeftliche Nutzung)','Privat (geschaeftliche Nutzung) Sitz im Ausland','Firma (Kapitalgesellschaft)','Firma (Kapitalgesellschaft) Sitz im Ausland','Firma (Personengesellschaft)','Firma (Personengesellschaft) Sitz im Ausland','oeff. rechtl. Koerperschaft','oeff. rechtl. Koerperschaft Sitz im Ausland','Eingetragener Verein','Eingetragener Verein Sitz im Ausland','Typ unbekannt') AS Kundentyp ,kategorie FROM t1 WHERE hdl_nr < 2000000 AND kategorie IN ('Prepaid','Mobilfunk') AND st_klasse = 'Workflow' GROUP BY kundentyp ORDER BY kategorie;
+Kundentyp kategorie
+Privat (Private Nutzung) Mobilfunk
+Warnings:
+Warning 1052 Column 'kundentyp' in group statement is ambiguous
+drop table t1;
diff --git a/mysql-test/r/negation_elimination.result b/mysql-test/r/negation_elimination.result
index ccb8e87b714..91a4c273832 100644
--- a/mysql-test/r/negation_elimination.result
+++ b/mysql-test/r/negation_elimination.result
@@ -387,5 +387,5 @@ explain extended select a, not(not(a)), not(a <= 2 and not(a)), not(a not like "
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 index NULL a 5 NULL 5 100.00 Using where; Using index
Warnings:
-Note 1003 select `test`.`t1`.`a` AS `a`,(`test`.`t1`.`a` <> 0) AS `not(not(a))`,((`test`.`t1`.`a` > 2) or `test`.`t1`.`a`) AS `not(a <= 2 and not(a))`,(`test`.`t1`.`a` like _latin1'1') AS `not(a not like "1")`,(`test`.`t1`.`a` in (1,2)) AS `not (a not in (1,2))`,(`test`.`t1`.`a` = 2) AS `not(a != 2)` from `test`.`t1` where `test`.`t1`.`a` having `test`.`t1`.`a`
+Note 1003 select `test`.`t1`.`a` AS `a`,(`test`.`t1`.`a` <> 0) AS `not(not(a))`,((`test`.`t1`.`a` > 2) or `test`.`t1`.`a`) AS `not(a <= 2 and not(a))`,(`test`.`t1`.`a` like '1') AS `not(a not like "1")`,(`test`.`t1`.`a` in (1,2)) AS `not (a not in (1,2))`,(`test`.`t1`.`a` = 2) AS `not(a != 2)` from `test`.`t1` where `test`.`t1`.`a` having `test`.`t1`.`a`
drop table t1;
diff --git a/mysql-test/r/no-threads.result b/mysql-test/r/no-threads.result
index 50e52138be8..9bc2dad6e2a 100644
--- a/mysql-test/r/no-threads.result
+++ b/mysql-test/r/no-threads.result
@@ -4,3 +4,10 @@ select 1+1;
select 1+2;
1+2
3
+SHOW GLOBAL VARIABLES LIKE 'thread_handling';
+Variable_name Value
+thread_handling no-threads
+select @@session.thread_handling;
+ERROR HY000: Variable 'thread_handling' is a GLOBAL variable
+set GLOBAL thread_handling='one-thread';
+ERROR HY000: Variable 'thread_handling' is a read only variable
diff --git a/mysql-test/r/not_embedded_server.result b/mysql-test/r/not_embedded_server.result
index 63351d187b6..1b734136e6c 100644
--- a/mysql-test/r/not_embedded_server.result
+++ b/mysql-test/r/not_embedded_server.result
@@ -1,5 +1,12 @@
prepare stmt1 from ' SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST WHERE COMMAND!=\'Daemon\' ';
execute stmt1;
ID USER HOST DB COMMAND TIME STATE INFO
-number root localhost test Query time preparing SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST WHERE COMMAND!='Daemon'
+number root localhost test Query time executing SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST WHERE COMMAND!='Daemon'
deallocate prepare stmt1;
+FLUSH STATUS;
+SHOW GLOBAL STATUS LIKE 'com_select';
+Variable_name Value
+Com_select 102
+SHOW GLOBAL STATUS LIKE 'com_select';
+Variable_name Value
+Com_select 102
diff --git a/mysql-test/r/null.result b/mysql-test/r/null.result
index bf9d9764db2..64b8aa74af3 100644
--- a/mysql-test/r/null.result
+++ b/mysql-test/r/null.result
@@ -1,4 +1,4 @@
-drop table if exists t1;
+drop table if exists t1, t2;
select null,\N,isnull(null),isnull(1/0),isnull(1/0 = null),ifnull(null,1),ifnull(null,"TRUE"),ifnull("TRUE","ERROR"),1/0 is null,1 is not null;
NULL NULL isnull(null) isnull(1/0) isnull(1/0 = null) ifnull(null,1) ifnull(null,"TRUE") ifnull("TRUE","ERROR") 1/0 is null 1 is not null
NULL NULL 1 1 1 1 TRUE TRUE 1 1
@@ -6,7 +6,7 @@ explain extended select null,\N,isnull(null),isnull(1/0),isnull(1/0 = null),ifnu
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 NULL AS `NULL`,NULL AS `NULL`,isnull(NULL) AS `isnull(null)`,isnull((1 / 0)) AS `isnull(1/0)`,isnull(((1 / 0) = NULL)) AS `isnull(1/0 = null)`,ifnull(NULL,1) AS `ifnull(null,1)`,ifnull(NULL,_latin1'TRUE') AS `ifnull(null,"TRUE")`,ifnull(_latin1'TRUE',_latin1'ERROR') AS `ifnull("TRUE","ERROR")`,isnull((1 / 0)) AS `1/0 is null`,(1 is not null) AS `1 is not null`
+Note 1003 select NULL AS `NULL`,NULL AS `NULL`,isnull(NULL) AS `isnull(null)`,isnull((1 / 0)) AS `isnull(1/0)`,isnull(((1 / 0) = NULL)) AS `isnull(1/0 = null)`,ifnull(NULL,1) AS `ifnull(null,1)`,ifnull(NULL,'TRUE') AS `ifnull(null,"TRUE")`,ifnull('TRUE','ERROR') AS `ifnull("TRUE","ERROR")`,isnull((1 / 0)) AS `1/0 is null`,(1 is not null) AS `1 is not null`
select 1 | NULL,1 & NULL,1+NULL,1-NULL;
1 | NULL 1 & NULL 1+NULL 1-NULL
NULL NULL NULL NULL
@@ -49,7 +49,7 @@ explain extended select inet_ntoa(null),inet_aton(null),inet_aton("122.256"),ine
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 inet_ntoa(NULL) AS `inet_ntoa(null)`,inet_aton(NULL) AS `inet_aton(null)`,inet_aton(_latin1'122.256') AS `inet_aton("122.256")`,inet_aton(_latin1'122.226.') AS `inet_aton("122.226.")`,inet_aton(_latin1'') AS `inet_aton("")`
+Note 1003 select inet_ntoa(NULL) AS `inet_ntoa(null)`,inet_aton(NULL) AS `inet_aton(null)`,inet_aton('122.256') AS `inet_aton("122.256")`,inet_aton('122.226.') AS `inet_aton("122.226.")`,inet_aton('') AS `inet_aton("")`
create table t1 (x int);
insert into t1 values (null);
select * from t1 where x != 0;
@@ -93,11 +93,9 @@ INSERT INTO t1 SET a = "", d= "2003-01-14 03:54:55";
Warnings:
Warning 1265 Data truncated for column 'd' at row 1
UPDATE t1 SET d=1/NULL;
-Warnings:
-Warning 1265 Data truncated for column 'd' at row 1
+ERROR 23000: Column 'd' cannot be null
UPDATE t1 SET d=NULL;
-Warnings:
-Warning 1048 Column 'd' cannot be null
+ERROR 23000: Column 'd' cannot be null
INSERT INTO t1 (a) values (null);
ERROR 23000: Column 'a' cannot be null
INSERT INTO t1 (a) values (1/null);
@@ -132,7 +130,7 @@ Warning 1048 Column 'd' cannot be null
Warning 1048 Column 'd' cannot be null
select * from t1;
a b c d
- 0 0000-00-00 00:00:00 0
+ 0 0000-00-00 00:00:00 2003
0 0000-00-00 00:00:00 0
0 0000-00-00 00:00:00 0
0 0000-00-00 00:00:00 0
@@ -320,3 +318,26 @@ bug19145c CREATE TABLE `bug19145c` (
drop table bug19145a;
drop table bug19145b;
drop table bug19145c;
+# End of 4.1 tests
+#
+# Bug #31471: decimal_bin_size: Assertion `scale >= 0 &&
+# precision > 0 && scale <= precision'
+#
+CREATE TABLE t1 (a DECIMAL (1, 0) ZEROFILL, b DECIMAL (1, 0) ZEROFILL);
+INSERT INTO t1 (a, b) VALUES (0, 0);
+CREATE TABLE t2 SELECT IFNULL(a, b) FROM t1;
+DESCRIBE t2;
+Field Type Null Key Default Extra
+IFNULL(a, b) decimal(1,0) unsigned YES NULL
+DROP TABLE t2;
+CREATE TABLE t2 SELECT IFNULL(a, NULL) FROM t1;
+DESCRIBE t2;
+Field Type Null Key Default Extra
+IFNULL(a, NULL) decimal(1,0) YES NULL
+DROP TABLE t2;
+CREATE TABLE t2 SELECT IFNULL(NULL, b) FROM t1;
+DESCRIBE t2;
+Field Type Null Key Default Extra
+IFNULL(NULL, b) decimal(1,0) YES NULL
+DROP TABLE t1, t2;
+# End of 5.0 tests
diff --git a/mysql-test/r/null_key.result b/mysql-test/r/null_key.result
index 8a440284c53..58c587fe588 100644
--- a/mysql-test/r/null_key.result
+++ b/mysql-test/r/null_key.result
@@ -429,3 +429,21 @@ Handler_read_prev 0
Handler_read_rnd 0
Handler_read_rnd_next 5
DROP TABLE t1,t2,t3,t4;
+CREATE TABLE t1 (
+a int(11) default NULL,
+b int(11) default NULL,
+KEY a (a,b)
+);
+INSERT INTO t1 VALUES (0,10),(0,11),(0,12);
+CREATE TABLE t2 (
+a int(11) default NULL,
+b int(11) default NULL,
+KEY a (a)
+);
+INSERT INTO t2 VALUES (3,NULL),(3,11),(3,12);
+SELECT * FROM t2 inner join t1 WHERE ( t1.a = 0 OR t1.a IS NULL) AND t2.a = 3 AND t2.b = t1.b;
+a b a b
+3 11 0 11
+3 12 0 12
+drop table t1, t2;
+End of 5.0 tests
diff --git a/mysql-test/r/olap.result b/mysql-test/r/olap.result
index 67c45b698ce..4540c9d5218 100644
--- a/mysql-test/r/olap.result
+++ b/mysql-test/r/olap.result
@@ -715,3 +715,22 @@ a SUM(a)
4 4
NULL 14
DROP TABLE t1;
+#
+# Bug#31095: Unexpected NULL constant caused server crash.
+#
+create table t1(a int);
+insert into t1 values (1),(2),(3);
+select count(a) from t1 group by null with rollup;
+count(a)
+3
+3
+drop table t1;
+##############################################################
+CREATE TABLE t1(a INT);
+INSERT INTO t1 VALUES(0);
+SELECT 1 FROM t1 GROUP BY (DATE(NULL)) WITH ROLLUP;
+1
+1
+1
+DROP TABLE t1;
+End of 5.0 tests
diff --git a/mysql-test/r/order_by.result b/mysql-test/r/order_by.result
index 25fbeadf21b..4320a7764de 100644
--- a/mysql-test/r/order_by.result
+++ b/mysql-test/r/order_by.result
@@ -1073,3 +1073,358 @@ id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 const PRIMARY,b b 5 const 1
1 SIMPLE t2 ref a a 5 const 2 Using where; Using index
DROP TABLE t1,t2;
+CREATE TABLE t1(
+id int auto_increment PRIMARY KEY, c2 int, c3 int, INDEX k2(c2), INDEX k3(c3));
+INSERT INTO t1 (c2,c3) VALUES
+(31,34),(35,38),(34,31),(32,35),(31,39),
+(11,14),(15,18),(14,11),(12,15),(11,19);
+INSERT INTO t1 (c2,c3) SELECT c2,c3 FROM t1;
+INSERT INTO t1 (c2,c3) SELECT c2,c3 FROM t1;
+INSERT INTO t1 (c2,c3) SELECT c2,c3 FROM t1;
+INSERT INTO t1 (c2,c3) SELECT c2,c3 FROM t1;
+INSERT INTO t1 (c2,c3) SELECT c2,c3 FROM t1;
+INSERT INTO t1 (c2,c3) SELECT c2,c3 FROM t1;
+INSERT INTO t1 (c2,c3) SELECT c2,c3 FROM t1;
+INSERT INTO t1 (c2,c3) SELECT c2,c3 FROM t1;
+INSERT INTO t1 (c2,c3) SELECT c2,c3 FROM t1;
+INSERT INTO t1 (c2,c3) SELECT c2,c3 FROM t1;
+INSERT INTO t1 (c2,c3) SELECT c2,c3 FROM t1;
+INSERT INTO t1 (c2,c3) SELECT c2,c3 FROM t1;
+UPDATE t1 SET c2=20 WHERE id%100 = 0;
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+40960
+CREATE TABLE t2 LIKE t1;
+INSERT INTO t2 SELECT * FROM t1 ORDER BY id;
+EXPLAIN SELECT id,c3 FROM t2 WHERE c2=11 ORDER BY c3 LIMIT 20;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 index k2 k3 5 NULL 111 Using where
+EXPLAIN SELECT id,c3 FROM t2 WHERE c2=11 ORDER BY c3 LIMIT 4000;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 ref k2 k2 5 const 7341 Using where; Using filesort
+EXPLAIN SELECT id,c3 FROM t2 WHERE c2 BETWEEN 10 AND 12 ORDER BY c3 LIMIT 20;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 index k2 k3 5 NULL 73 Using where
+EXPLAIN SELECT id,c3 FROM t2 WHERE c2 BETWEEN 20 AND 30 ORDER BY c3 LIMIT 4000;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 range k2 k2 5 NULL 386 Using where; Using filesort
+SELECT id,c3 FROM t2 WHERE c2=11 ORDER BY c3 LIMIT 20;
+id c3
+6 14
+16 14
+26 14
+36 14
+46 14
+56 14
+66 14
+76 14
+86 14
+96 14
+106 14
+116 14
+126 14
+136 14
+146 14
+156 14
+166 14
+176 14
+186 14
+196 14
+DROP TABLE t1,t2;
+CREATE TABLE t1 (
+a INT,
+b INT,
+PRIMARY KEY (a),
+KEY ab(a, b)
+);
+INSERT INTO t1 VALUES (1,1),(2,2),(3,3),(4,4);
+INSERT INTO t1 SELECT a + 4, b + 4 FROM t1;
+INSERT INTO t1 SELECT a + 8, b + 8 FROM t1;
+INSERT INTO t1 SELECT a +16, b +16 FROM t1;
+INSERT INTO t1 SELECT a +32, b +32 FROM t1;
+INSERT INTO t1 SELECT a +64, b +64 FROM t1;
+EXPLAIN SELECT a FROM t1 IGNORE INDEX FOR GROUP BY (a, ab) GROUP BY a;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 range NULL ab 4 NULL 10 Using index for group-by
+SELECT a FROM t1 IGNORE INDEX FOR GROUP BY (a, ab) GROUP BY a;
+a
+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
+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
+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
+SELECT @tmp_tables_after = @tmp_tables_before ;
+@tmp_tables_after = @tmp_tables_before
+1
+EXPLAIN SELECT a FROM t1 IGNORE INDEX FOR ORDER BY (a, ab) ORDER BY a;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index NULL PRIMARY 4 NULL 128 Using index
+SELECT a FROM t1 IGNORE INDEX FOR ORDER BY (a, ab) ORDER BY a;
+a
+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
+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
+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
+SELECT @tmp_tables_after = @tmp_tables_before;
+@tmp_tables_after = @tmp_tables_before
+1
+DROP TABLE t1;
+#
+# Bug#31590: Wrong error message on sort buffer being too small.
+#
+create table t1(a int, b tinytext);
+insert into t1 values (1,2),(3,2);
+set session sort_buffer_size= 30000;
+Warnings:
+Warning 1292 Truncated incorrect sort_buffer_size value: '30000'
+set session max_sort_length= 2180;
+select * from t1 order by b;
+ERROR HY001: Out of sort memory; increase server sort buffer size
+drop table t1;
diff --git a/mysql-test/r/outfile_loaddata.result b/mysql-test/r/outfile_loaddata.result
new file mode 100644
index 00000000000..4a9bdcf412d
--- /dev/null
+++ b/mysql-test/r/outfile_loaddata.result
@@ -0,0 +1,103 @@
+DROP TABLE IF EXISTS t1, t2;
+#
+# Bug#31663 FIELDS TERMINATED BY special character
+#
+CREATE TABLE t1 (i1 int, i2 int, c1 VARCHAR(256), c2 VARCHAR(256));
+INSERT INTO t1 VALUES (101, 202, '-r-', '=raker=');
+# FIELDS TERMINATED BY 'raker', warning:
+SELECT * INTO OUTFILE 'MYSQLTEST_VARDIR/tmp/bug31663.txt' FIELDS TERMINATED BY 'raker' FROM t1;
+Warnings:
+Warning 1475 First character of the FIELDS TERMINATED string is ambiguous; please use non-optional and non-empty FIELDS ENCLOSED BY
+SELECT LOAD_FILE('MYSQLTEST_VARDIR/tmp/bug31663.txt');
+LOAD_FILE('MYSQLTEST_VARDIR/tmp/bug31663.txt')
+101raker202raker-r-raker=raker=
+
+CREATE TABLE t2 SELECT * FROM t1;
+LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/bug31663.txt' INTO TABLE t2 FIELDS TERMINATED BY 'raker';
+Warnings:
+Warning 1262 Row 1 was truncated; it contained more data than there were input columns
+SELECT * FROM t2;
+i1 i2 c1 c2
+101 202 -r- =raker=
+101 202 -r- =
+DROP TABLE t2;
+# Only numeric fields, FIELDS TERMINATED BY 'r', no warnings:
+SELECT i1, i2 INTO OUTFILE 'MYSQLTEST_VARDIR/tmp/bug31663.txt' FIELDS TERMINATED BY 'r' FROM t1;
+SELECT LOAD_FILE('MYSQLTEST_VARDIR/tmp/bug31663.txt');
+LOAD_FILE('MYSQLTEST_VARDIR/tmp/bug31663.txt')
+101r202
+
+CREATE TABLE t2 SELECT i1, i2 FROM t1;
+LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/bug31663.txt' INTO TABLE t2 FIELDS TERMINATED BY 'r';
+SELECT i1, i2 FROM t2;
+i1 i2
+101 202
+101 202
+DROP TABLE t2;
+# FIELDS TERMINATED BY '0', warning:
+SELECT * INTO OUTFILE 'MYSQLTEST_VARDIR/tmp/bug31663.txt' FIELDS TERMINATED BY '0' FROM t1;
+Warnings:
+Warning 1475 First character of the FIELDS TERMINATED string is ambiguous; please use non-optional and non-empty FIELDS ENCLOSED BY
+SELECT LOAD_FILE('MYSQLTEST_VARDIR/tmp/bug31663.txt');
+LOAD_FILE('MYSQLTEST_VARDIR/tmp/bug31663.txt')
+10102020-r-0=raker=
+
+CREATE TABLE t2 SELECT * FROM t1;
+LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/bug31663.txt' INTO TABLE t2 FIELDS TERMINATED BY '0';
+Warnings:
+Warning 1262 Row 1 was truncated; it contained more data than there were input columns
+SELECT * FROM t2;
+i1 i2 c1 c2
+101 202 -r- =raker=
+1 1 2 2
+DROP TABLE t2;
+# FIELDS OPTIONALLY ENCLOSED BY '"' TERMINATED BY '0', warning:
+SELECT * INTO OUTFILE 'MYSQLTEST_VARDIR/tmp/bug31663.txt' FIELDS OPTIONALLY ENCLOSED BY '"' TERMINATED BY '0' FROM t1;
+Warnings:
+Warning 1475 First character of the FIELDS TERMINATED string is ambiguous; please use non-optional and non-empty FIELDS ENCLOSED BY
+SELECT LOAD_FILE('MYSQLTEST_VARDIR/tmp/bug31663.txt');
+LOAD_FILE('MYSQLTEST_VARDIR/tmp/bug31663.txt')
+10102020"-r-"0"=raker="
+
+CREATE TABLE t2 SELECT * FROM t1;
+LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/bug31663.txt' INTO TABLE t2 FIELDS OPTIONALLY ENCLOSED BY '"' TERMINATED BY '0';
+Warnings:
+Warning 1262 Row 1 was truncated; it contained more data than there were input columns
+SELECT * FROM t2;
+i1 i2 c1 c2
+101 202 -r- =raker=
+1 1 2 2
+DROP TABLE t2;
+# Only string fields, FIELDS OPTIONALLY ENCLOSED BY '"' TERMINATED BY '0', no warnings:
+SELECT c1, c2 INTO OUTFILE 'MYSQLTEST_VARDIR/tmp/bug31663.txt' FIELDS OPTIONALLY ENCLOSED BY '"' TERMINATED BY '0' FROM t1;
+SELECT LOAD_FILE('MYSQLTEST_VARDIR/tmp/bug31663.txt');
+LOAD_FILE('MYSQLTEST_VARDIR/tmp/bug31663.txt')
+"-r-"0"=raker="
+
+CREATE TABLE t2 SELECT c1, c2 FROM t1;
+LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/bug31663.txt' INTO TABLE t2 FIELDS OPTIONALLY ENCLOSED BY '"' TERMINATED BY '0';
+SELECT c1, c2 FROM t2;
+c1 c2
+-r- =raker=
+-r- =raker=
+DROP TABLE t2;
+DROP TABLE t1;
+#
+# Bug#32533: SELECT INTO OUTFILE never escapes multibyte character
+#
+CREATE TABLE t1 (c1 VARCHAR(256));
+INSERT INTO t1 VALUES (0xC3);
+SELECT HEX(c1) FROM t1;
+HEX(c1)
+C3
+SELECT * INTO OUTFILE 'MYSQLTEST_VARDIR/tmp/bug32533.txt' FIELDS ENCLOSED BY 0xC3 FROM t1;
+TRUNCATE t1;
+SELECT HEX(LOAD_FILE('MYSQLTEST_VARDIR/tmp/bug32533.txt'));
+HEX(LOAD_FILE('MYSQLTEST_VARDIR/tmp/bug32533.txt'))
+C35CC3C30A
+LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/bug32533.txt' INTO TABLE t1 FIELDS ENCLOSED BY 0xC3;
+SELECT HEX(c1) FROM t1;
+HEX(c1)
+C3
+DROP TABLE t1;
+# End of 5.0 tests.
diff --git a/mysql-test/r/packet.result b/mysql-test/r/packet.result
index dfb5595e02d..df0d9ff9adc 100644
--- a/mysql-test/r/packet.result
+++ b/mysql-test/r/packet.result
@@ -1,7 +1,15 @@
set global max_allowed_packet=100;
+Warnings:
+Warning 1292 Truncated incorrect max_allowed_packet value: '100'
set max_allowed_packet=100;
+Warnings:
+Warning 1292 Truncated incorrect max_allowed_packet value: '100'
set global net_buffer_length=100;
+Warnings:
+Warning 1292 Truncated incorrect net_buffer_length value: '100'
set net_buffer_length=100;
+Warnings:
+Warning 1292 Truncated incorrect net_buffer_length value: '100'
SELECT length("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") as len;
len
1024
diff --git a/mysql-test/r/parser.result b/mysql-test/r/parser.result
index cb44a235f25..e10bcba36c2 100644
--- a/mysql-test/r/parser.result
+++ b/mysql-test/r/parser.result
@@ -273,6 +273,16 @@ create table VAR_SAMP(a int);
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 'VAR_SAMP(a int)' at line 1
create table VAR_SAMP (a int);
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 'VAR_SAMP (a int)' at line 1
+DROP TABLE IF EXISTS table_25930_a;
+DROP TABLE IF EXISTS table_25930_b;
+SET SQL_MODE = 'ANSI_QUOTES';
+CREATE TABLE table_25930_a ( "blah" INT );
+CREATE TABLE table_25930_b SELECT "blah" - 1 FROM table_25930_a;
+desc table_25930_b;
+Field Type Null Key Default Extra
+"blah" - 1 bigint(12) YES NULL
+DROP TABLE table_25930_a;
+DROP TABLE table_25930_b;
SET @@sql_mode=@save_sql_mode;
select pi(3.14);
ERROR 42000: Incorrect parameter count in the call to native function 'pi'
@@ -474,3 +484,66 @@ select atan(10, 20 "p2");
ERROR 42000: Incorrect parameters in the call to native function 'atan'
select atan(10 AS p1, 20 AS p2);
ERROR 42000: Incorrect parameters in the call to native function 'atan'
+DROP TABLE IF EXISTS t1;
+SELECT STR_TO_DATE('10:00 PM', '%h:%i %p') + INTERVAL 10 MINUTE;
+STR_TO_DATE('10:00 PM', '%h:%i %p') + INTERVAL 10 MINUTE
+NULL
+SELECT STR_TO_DATE('10:00 PM', '%h:%i %p') + INTERVAL (INTERVAL(1,2,3) + 1) MINUTE;
+STR_TO_DATE('10:00 PM', '%h:%i %p') + INTERVAL (INTERVAL(1,2,3) + 1) MINUTE
+NULL
+SELECT "1997-12-31 23:59:59" + INTERVAL 1 SECOND;
+"1997-12-31 23:59:59" + INTERVAL 1 SECOND
+1998-01-01 00:00:00
+SELECT 1 + INTERVAL(1,0,1,2) + 1;
+1 + INTERVAL(1,0,1,2) + 1
+4
+SELECT INTERVAL(1^1,0,1,2) + 1;
+INTERVAL(1^1,0,1,2) + 1
+2
+SELECT INTERVAL(1,0+1,2,3) * 5.5;
+INTERVAL(1,0+1,2,3) * 5.5
+5.5
+SELECT INTERVAL(3,3,1+3,4+4) / 0.5;
+INTERVAL(3,3,1+3,4+4) / 0.5
+2.0000
+SELECT (INTERVAL(1,0,1,2) + 5) * 7 + INTERVAL(1,0,1,2) / 2;
+(INTERVAL(1,0,1,2) + 5) * 7 + INTERVAL(1,0,1,2) / 2
+50.0000
+SELECT INTERVAL(1,0,1,2) + 1, 5 * INTERVAL(1,0,1,2);
+INTERVAL(1,0,1,2) + 1 5 * INTERVAL(1,0,1,2)
+3 10
+SELECT INTERVAL(0,(1*5)/2) + INTERVAL(5,4,3);
+INTERVAL(0,(1*5)/2) + INTERVAL(5,4,3)
+2
+SELECT 1^1 + INTERVAL 1+1 SECOND & 1 + INTERVAL 1+1 SECOND;
+1^1 + INTERVAL 1+1 SECOND & 1 + INTERVAL 1+1 SECOND
+NULL
+SELECT 1%2 - INTERVAL 1^1 SECOND | 1%2 - INTERVAL 1^1 SECOND;
+1%2 - INTERVAL 1^1 SECOND | 1%2 - INTERVAL 1^1 SECOND
+NULL
+CREATE TABLE t1 (a INT, b DATETIME);
+INSERT INTO t1 VALUES (INTERVAL(3,2,1) + 1, "1997-12-31 23:59:59" + INTERVAL 1 SECOND);
+SELECT * FROM t1 WHERE a = INTERVAL(3,2,1) + 1;
+a b
+3 1998-01-01 00:00:00
+DROP TABLE t1;
+DROP TABLE IF EXISTS t1,t2,t3;
+CREATE TABLE t1 (a1 INT, a2 INT, a3 INT, a4 DATETIME);
+CREATE TABLE t2 LIKE t1;
+CREATE TABLE t3 LIKE t1;
+SELECT t1.* FROM t1 AS t0, { OJ t2 INNER JOIN t1 ON (t1.a1=t2.a1) } WHERE t0.a3=2;
+a1 a2 a3 a4
+SELECT t1.*,t2.* FROM { OJ ((t1 INNER JOIN t2 ON (t1.a1=t2.a2)) LEFT OUTER JOIN t3 ON t3.a3=t2.a1)};
+a1 a2 a3 a4 a1 a2 a3 a4
+SELECT t1.*,t2.* FROM { OJ ((t1 LEFT OUTER JOIN t2 ON t1.a3=t2.a2) INNER JOIN t3 ON (t3.a1=t2.a2))};
+a1 a2 a3 a4 a1 a2 a3 a4
+SELECT t1.*,t2.* FROM { OJ (t1 LEFT OUTER JOIN t2 ON t1.a1=t2.a2) CROSS JOIN t3 ON (t3.a2=t2.a3)};
+a1 a2 a3 a4 a1 a2 a3 a4
+SELECT * FROM {oj t1 LEFT OUTER JOIN t2 ON t1.a1=t2.a3} WHERE t1.a2 > 10;
+a1 a2 a3 a4 a1 a2 a3 a4
+SELECT {fn CONCAT(a1,a2)} FROM t1;
+{fn CONCAT(a1,a2)}
+UPDATE t3 SET a4={d '1789-07-14'} WHERE a1=0;
+SELECT a1, a4 FROM t2 WHERE a4 LIKE {fn UCASE('1789-07-14')};
+a1 a4
+DROP TABLE t1, t2, t3;
diff --git a/mysql-test/r/parser_precedence.result b/mysql-test/r/parser_precedence.result
new file mode 100644
index 00000000000..cf301ec677b
--- /dev/null
+++ b/mysql-test/r/parser_precedence.result
@@ -0,0 +1,747 @@
+drop table if exists t1_30237_bool;
+create table t1_30237_bool(A boolean, B boolean, C boolean);
+insert into t1_30237_bool values
+(FALSE, FALSE, FALSE),
+(FALSE, FALSE, NULL),
+(FALSE, FALSE, TRUE),
+(FALSE, NULL, FALSE),
+(FALSE, NULL, NULL),
+(FALSE, NULL, TRUE),
+(FALSE, TRUE, FALSE),
+(FALSE, TRUE, NULL),
+(FALSE, TRUE, TRUE),
+(NULL, FALSE, FALSE),
+(NULL, FALSE, NULL),
+(NULL, FALSE, TRUE),
+(NULL, NULL, FALSE),
+(NULL, NULL, NULL),
+(NULL, NULL, TRUE),
+(NULL, TRUE, FALSE),
+(NULL, TRUE, NULL),
+(NULL, TRUE, TRUE),
+(TRUE, FALSE, FALSE),
+(TRUE, FALSE, NULL),
+(TRUE, FALSE, TRUE),
+(TRUE, NULL, FALSE),
+(TRUE, NULL, NULL),
+(TRUE, NULL, TRUE),
+(TRUE, TRUE, FALSE),
+(TRUE, TRUE, NULL),
+(TRUE, TRUE, TRUE) ;
+Testing OR, XOR, AND
+select A, B, A OR B, A XOR B, A AND B
+from t1_30237_bool where C is null order by A, B;
+A B A OR B A XOR B A AND B
+NULL NULL NULL NULL NULL
+NULL 0 NULL NULL 0
+NULL 1 1 NULL NULL
+0 NULL NULL NULL 0
+0 0 0 0 0
+0 1 1 1 0
+1 NULL 1 NULL NULL
+1 0 1 1 0
+1 1 1 0 1
+Testing that OR is associative
+select A, B, C, (A OR B) OR C, A OR (B OR C), A OR B OR C
+from t1_30237_bool order by A, B, C;
+A B C (A OR B) OR C A OR (B OR C) A OR B OR C
+NULL NULL NULL NULL NULL NULL
+NULL NULL 0 NULL NULL NULL
+NULL NULL 1 1 1 1
+NULL 0 NULL NULL NULL NULL
+NULL 0 0 NULL NULL NULL
+NULL 0 1 1 1 1
+NULL 1 NULL 1 1 1
+NULL 1 0 1 1 1
+NULL 1 1 1 1 1
+0 NULL NULL NULL NULL NULL
+0 NULL 0 NULL NULL NULL
+0 NULL 1 1 1 1
+0 0 NULL NULL NULL NULL
+0 0 0 0 0 0
+0 0 1 1 1 1
+0 1 NULL 1 1 1
+0 1 0 1 1 1
+0 1 1 1 1 1
+1 NULL NULL 1 1 1
+1 NULL 0 1 1 1
+1 NULL 1 1 1 1
+1 0 NULL 1 1 1
+1 0 0 1 1 1
+1 0 1 1 1 1
+1 1 NULL 1 1 1
+1 1 0 1 1 1
+1 1 1 1 1 1
+select count(*) from t1_30237_bool
+where ((A OR B) OR C) != (A OR (B OR C));
+count(*)
+0
+Testing that XOR is associative
+select A, B, C, (A XOR B) XOR C, A XOR (B XOR C), A XOR B XOR C
+from t1_30237_bool order by A, B, C;
+A B C (A XOR B) XOR C A XOR (B XOR C) A XOR B XOR C
+NULL NULL NULL NULL NULL NULL
+NULL NULL 0 NULL NULL NULL
+NULL NULL 1 NULL NULL NULL
+NULL 0 NULL NULL NULL NULL
+NULL 0 0 NULL NULL NULL
+NULL 0 1 NULL NULL NULL
+NULL 1 NULL NULL NULL NULL
+NULL 1 0 NULL NULL NULL
+NULL 1 1 NULL NULL NULL
+0 NULL NULL NULL NULL NULL
+0 NULL 0 NULL NULL NULL
+0 NULL 1 NULL NULL NULL
+0 0 NULL NULL NULL NULL
+0 0 0 0 0 0
+0 0 1 1 1 1
+0 1 NULL NULL NULL NULL
+0 1 0 1 1 1
+0 1 1 0 0 0
+1 NULL NULL NULL NULL NULL
+1 NULL 0 NULL NULL NULL
+1 NULL 1 NULL NULL NULL
+1 0 NULL NULL NULL NULL
+1 0 0 1 1 1
+1 0 1 0 0 0
+1 1 NULL NULL NULL NULL
+1 1 0 0 0 0
+1 1 1 1 1 1
+select count(*) from t1_30237_bool
+where ((A XOR B) XOR C) != (A XOR (B XOR C));
+count(*)
+0
+Testing that AND is associative
+select A, B, C, (A AND B) AND C, A AND (B AND C), A AND B AND C
+from t1_30237_bool order by A, B, C;
+A B C (A AND B) AND C A AND (B AND C) A AND B AND C
+NULL NULL NULL NULL NULL NULL
+NULL NULL 0 0 0 0
+NULL NULL 1 NULL NULL NULL
+NULL 0 NULL 0 0 0
+NULL 0 0 0 0 0
+NULL 0 1 0 0 0
+NULL 1 NULL NULL NULL NULL
+NULL 1 0 0 0 0
+NULL 1 1 NULL NULL NULL
+0 NULL NULL 0 0 0
+0 NULL 0 0 0 0
+0 NULL 1 0 0 0
+0 0 NULL 0 0 0
+0 0 0 0 0 0
+0 0 1 0 0 0
+0 1 NULL 0 0 0
+0 1 0 0 0 0
+0 1 1 0 0 0
+1 NULL NULL NULL NULL NULL
+1 NULL 0 0 0 0
+1 NULL 1 NULL NULL NULL
+1 0 NULL 0 0 0
+1 0 0 0 0 0
+1 0 1 0 0 0
+1 1 NULL NULL NULL NULL
+1 1 0 0 0 0
+1 1 1 1 1 1
+select count(*) from t1_30237_bool
+where ((A AND B) AND C) != (A AND (B AND C));
+count(*)
+0
+Testing that AND has precedence over OR
+select A, B, C, (A OR B) AND C, A OR (B AND C), A OR B AND C
+from t1_30237_bool order by A, B, C;
+A B C (A OR B) AND C A OR (B AND C) A OR B AND C
+NULL NULL NULL NULL NULL NULL
+NULL NULL 0 0 NULL NULL
+NULL NULL 1 NULL NULL NULL
+NULL 0 NULL NULL NULL NULL
+NULL 0 0 0 NULL NULL
+NULL 0 1 NULL NULL NULL
+NULL 1 NULL NULL NULL NULL
+NULL 1 0 0 NULL NULL
+NULL 1 1 1 1 1
+0 NULL NULL NULL NULL NULL
+0 NULL 0 0 0 0
+0 NULL 1 NULL NULL NULL
+0 0 NULL 0 0 0
+0 0 0 0 0 0
+0 0 1 0 0 0
+0 1 NULL NULL NULL NULL
+0 1 0 0 0 0
+0 1 1 1 1 1
+1 NULL NULL NULL 1 1
+1 NULL 0 0 1 1
+1 NULL 1 1 1 1
+1 0 NULL NULL 1 1
+1 0 0 0 1 1
+1 0 1 1 1 1
+1 1 NULL NULL 1 1
+1 1 0 0 1 1
+1 1 1 1 1 1
+select count(*) from t1_30237_bool
+where (A OR (B AND C)) != (A OR B AND C);
+count(*)
+0
+select A, B, C, (A AND B) OR C, A AND (B OR C), A AND B OR C
+from t1_30237_bool order by A, B, C;
+A B C (A AND B) OR C A AND (B OR C) A AND B OR C
+NULL NULL NULL NULL NULL NULL
+NULL NULL 0 NULL NULL NULL
+NULL NULL 1 1 NULL 1
+NULL 0 NULL NULL NULL NULL
+NULL 0 0 0 0 0
+NULL 0 1 1 NULL 1
+NULL 1 NULL NULL NULL NULL
+NULL 1 0 NULL NULL NULL
+NULL 1 1 1 NULL 1
+0 NULL NULL NULL 0 NULL
+0 NULL 0 0 0 0
+0 NULL 1 1 0 1
+0 0 NULL NULL 0 NULL
+0 0 0 0 0 0
+0 0 1 1 0 1
+0 1 NULL NULL 0 NULL
+0 1 0 0 0 0
+0 1 1 1 0 1
+1 NULL NULL NULL NULL NULL
+1 NULL 0 NULL NULL NULL
+1 NULL 1 1 1 1
+1 0 NULL NULL NULL NULL
+1 0 0 0 0 0
+1 0 1 1 1 1
+1 1 NULL 1 1 1
+1 1 0 1 1 1
+1 1 1 1 1 1
+select count(*) from t1_30237_bool
+where ((A AND B) OR C) != (A AND B OR C);
+count(*)
+0
+Testing that AND has precedence over XOR
+select A, B, C, (A XOR B) AND C, A XOR (B AND C), A XOR B AND C
+from t1_30237_bool order by A, B, C;
+A B C (A XOR B) AND C A XOR (B AND C) A XOR B AND C
+NULL NULL NULL NULL NULL NULL
+NULL NULL 0 0 NULL NULL
+NULL NULL 1 NULL NULL NULL
+NULL 0 NULL NULL NULL NULL
+NULL 0 0 0 NULL NULL
+NULL 0 1 NULL NULL NULL
+NULL 1 NULL NULL NULL NULL
+NULL 1 0 0 NULL NULL
+NULL 1 1 NULL NULL NULL
+0 NULL NULL NULL NULL NULL
+0 NULL 0 0 0 0
+0 NULL 1 NULL NULL NULL
+0 0 NULL 0 0 0
+0 0 0 0 0 0
+0 0 1 0 0 0
+0 1 NULL NULL NULL NULL
+0 1 0 0 0 0
+0 1 1 1 1 1
+1 NULL NULL NULL NULL NULL
+1 NULL 0 0 1 1
+1 NULL 1 NULL NULL NULL
+1 0 NULL NULL 1 1
+1 0 0 0 1 1
+1 0 1 1 1 1
+1 1 NULL 0 NULL NULL
+1 1 0 0 1 1
+1 1 1 0 0 0
+select count(*) from t1_30237_bool
+where (A XOR (B AND C)) != (A XOR B AND C);
+count(*)
+0
+select A, B, C, (A AND B) XOR C, A AND (B XOR C), A AND B XOR C
+from t1_30237_bool order by A, B, C;
+A B C (A AND B) XOR C A AND (B XOR C) A AND B XOR C
+NULL NULL NULL NULL NULL NULL
+NULL NULL 0 NULL NULL NULL
+NULL NULL 1 NULL NULL NULL
+NULL 0 NULL NULL NULL NULL
+NULL 0 0 0 0 0
+NULL 0 1 1 NULL 1
+NULL 1 NULL NULL NULL NULL
+NULL 1 0 NULL NULL NULL
+NULL 1 1 NULL 0 NULL
+0 NULL NULL NULL 0 NULL
+0 NULL 0 0 0 0
+0 NULL 1 1 0 1
+0 0 NULL NULL 0 NULL
+0 0 0 0 0 0
+0 0 1 1 0 1
+0 1 NULL NULL 0 NULL
+0 1 0 0 0 0
+0 1 1 1 0 1
+1 NULL NULL NULL NULL NULL
+1 NULL 0 NULL NULL NULL
+1 NULL 1 NULL NULL NULL
+1 0 NULL NULL NULL NULL
+1 0 0 0 0 0
+1 0 1 1 1 1
+1 1 NULL NULL NULL NULL
+1 1 0 1 1 1
+1 1 1 0 0 0
+select count(*) from t1_30237_bool
+where ((A AND B) XOR C) != (A AND B XOR C);
+count(*)
+0
+Testing that XOR has precedence over OR
+select A, B, C, (A XOR B) OR C, A XOR (B OR C), A XOR B OR C
+from t1_30237_bool order by A, B, C;
+A B C (A XOR B) OR C A XOR (B OR C) A XOR B OR C
+NULL NULL NULL NULL NULL NULL
+NULL NULL 0 NULL NULL NULL
+NULL NULL 1 1 NULL 1
+NULL 0 NULL NULL NULL NULL
+NULL 0 0 NULL NULL NULL
+NULL 0 1 1 NULL 1
+NULL 1 NULL NULL NULL NULL
+NULL 1 0 NULL NULL NULL
+NULL 1 1 1 NULL 1
+0 NULL NULL NULL NULL NULL
+0 NULL 0 NULL NULL NULL
+0 NULL 1 1 1 1
+0 0 NULL NULL NULL NULL
+0 0 0 0 0 0
+0 0 1 1 1 1
+0 1 NULL 1 1 1
+0 1 0 1 1 1
+0 1 1 1 1 1
+1 NULL NULL NULL NULL NULL
+1 NULL 0 NULL NULL NULL
+1 NULL 1 1 0 1
+1 0 NULL 1 NULL 1
+1 0 0 1 1 1
+1 0 1 1 0 1
+1 1 NULL NULL 0 NULL
+1 1 0 0 0 0
+1 1 1 1 0 1
+select count(*) from t1_30237_bool
+where ((A XOR B) OR C) != (A XOR B OR C);
+count(*)
+0
+select A, B, C, (A OR B) XOR C, A OR (B XOR C), A OR B XOR C
+from t1_30237_bool order by A, B, C;
+A B C (A OR B) XOR C A OR (B XOR C) A OR B XOR C
+NULL NULL NULL NULL NULL NULL
+NULL NULL 0 NULL NULL NULL
+NULL NULL 1 NULL NULL NULL
+NULL 0 NULL NULL NULL NULL
+NULL 0 0 NULL NULL NULL
+NULL 0 1 NULL 1 1
+NULL 1 NULL NULL NULL NULL
+NULL 1 0 1 1 1
+NULL 1 1 0 NULL NULL
+0 NULL NULL NULL NULL NULL
+0 NULL 0 NULL NULL NULL
+0 NULL 1 NULL NULL NULL
+0 0 NULL NULL NULL NULL
+0 0 0 0 0 0
+0 0 1 1 1 1
+0 1 NULL NULL NULL NULL
+0 1 0 1 1 1
+0 1 1 0 0 0
+1 NULL NULL NULL 1 1
+1 NULL 0 1 1 1
+1 NULL 1 0 1 1
+1 0 NULL NULL 1 1
+1 0 0 1 1 1
+1 0 1 0 1 1
+1 1 NULL NULL 1 1
+1 1 0 1 1 1
+1 1 1 0 1 1
+select count(*) from t1_30237_bool
+where (A OR (B XOR C)) != (A OR B XOR C);
+count(*)
+0
+drop table t1_30237_bool;
+Testing that NOT has precedence over OR
+select (NOT FALSE) OR TRUE, NOT (FALSE OR TRUE), NOT FALSE OR TRUE;
+(NOT FALSE) OR TRUE NOT (FALSE OR TRUE) NOT FALSE OR TRUE
+1 0 1
+Testing that NOT has precedence over XOR
+select (NOT FALSE) XOR FALSE, NOT (FALSE XOR FALSE), NOT FALSE XOR FALSE;
+(NOT FALSE) XOR FALSE NOT (FALSE XOR FALSE) NOT FALSE XOR FALSE
+1 1 1
+Testing that NOT has precedence over AND
+select (NOT FALSE) AND FALSE, NOT (FALSE AND FALSE), NOT FALSE AND FALSE;
+(NOT FALSE) AND FALSE NOT (FALSE AND FALSE) NOT FALSE AND FALSE
+0 1 0
+Testing that NOT is associative
+select NOT NOT TRUE, NOT NOT NOT FALSE;
+NOT NOT TRUE NOT NOT NOT FALSE
+1 1
+Testing that IS has precedence over NOT
+select (NOT NULL) IS TRUE, NOT (NULL IS TRUE), NOT NULL IS TRUE;
+(NOT NULL) IS TRUE NOT (NULL IS TRUE) NOT NULL IS TRUE
+0 1 1
+select (NOT NULL) IS NOT TRUE, NOT (NULL IS NOT TRUE), NOT NULL IS NOT TRUE;
+(NOT NULL) IS NOT TRUE NOT (NULL IS NOT TRUE) NOT NULL IS NOT TRUE
+1 0 0
+select (NOT NULL) IS FALSE, NOT (NULL IS FALSE), NOT NULL IS FALSE;
+(NOT NULL) IS FALSE NOT (NULL IS FALSE) NOT NULL IS FALSE
+0 1 1
+select (NOT NULL) IS NOT FALSE, NOT (NULL IS NOT FALSE), NOT NULL IS NOT FALSE;
+(NOT NULL) IS NOT FALSE NOT (NULL IS NOT FALSE) NOT NULL IS NOT FALSE
+1 0 0
+select (NOT TRUE) IS UNKNOWN, NOT (TRUE IS UNKNOWN), NOT TRUE IS UNKNOWN;
+(NOT TRUE) IS UNKNOWN NOT (TRUE IS UNKNOWN) NOT TRUE IS UNKNOWN
+0 1 1
+select (NOT TRUE) IS NOT UNKNOWN, NOT (TRUE IS NOT UNKNOWN), NOT TRUE IS NOT UNKNOWN;
+(NOT TRUE) IS NOT UNKNOWN NOT (TRUE IS NOT UNKNOWN) NOT TRUE IS NOT UNKNOWN
+1 0 0
+select (NOT TRUE) IS NULL, NOT (TRUE IS NULL), NOT TRUE IS NULL;
+(NOT TRUE) IS NULL NOT (TRUE IS NULL) NOT TRUE IS NULL
+0 1 1
+select (NOT TRUE) IS NOT NULL, NOT (TRUE IS NOT NULL), NOT TRUE IS NOT NULL;
+(NOT TRUE) IS NOT NULL NOT (TRUE IS NOT NULL) NOT TRUE IS NOT NULL
+1 0 0
+Testing that IS [NOT] TRUE/FALSE/UNKNOWN predicates are not associative
+select TRUE IS TRUE IS TRUE IS TRUE;
+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 'IS TRUE IS TRUE' at line 1
+select FALSE IS NOT TRUE IS NOT TRUE IS NOT TRUE;
+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 'IS NOT TRUE IS NOT TRUE' at line 1
+select NULL IS FALSE IS FALSE IS FALSE;
+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 'IS FALSE IS FALSE' at line 1
+select TRUE IS NOT FALSE IS NOT FALSE IS NOT FALSE;
+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 'IS NOT FALSE IS NOT FALSE' at line 1
+select FALSE IS UNKNOWN IS UNKNOWN IS UNKNOWN;
+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 'IS UNKNOWN IS UNKNOWN' at line 1
+select TRUE IS NOT UNKNOWN IS NOT UNKNOWN IS NOT UNKNOWN;
+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 'IS NOT UNKNOWN IS NOT UNKNOWN' at line 1
+Testing that IS [NOT] NULL predicates are associative
+select FALSE IS NULL IS NULL IS NULL;
+FALSE IS NULL IS NULL IS NULL
+0
+select TRUE IS NOT NULL IS NOT NULL IS NOT NULL;
+TRUE IS NOT NULL IS NOT NULL IS NOT NULL
+1
+Testing that comparison operators are left associative
+select 1 <=> 2 <=> 2, (1 <=> 2) <=> 2, 1 <=> (2 <=> 2);
+1 <=> 2 <=> 2 (1 <=> 2) <=> 2 1 <=> (2 <=> 2)
+0 0 1
+select 1 = 2 = 2, (1 = 2) = 2, 1 = (2 = 2);
+1 = 2 = 2 (1 = 2) = 2 1 = (2 = 2)
+0 0 1
+select 1 != 2 != 3, (1 != 2) != 3, 1 != (2 != 3);
+1 != 2 != 3 (1 != 2) != 3 1 != (2 != 3)
+1 1 0
+select 1 <> 2 <> 3, (1 <> 2) <> 3, 1 <> (2 <> 3);
+1 <> 2 <> 3 (1 <> 2) <> 3 1 <> (2 <> 3)
+1 1 0
+select 1 < 2 < 3, (1 < 2) < 3, 1 < (2 < 3);
+1 < 2 < 3 (1 < 2) < 3 1 < (2 < 3)
+1 1 0
+select 3 <= 2 <= 1, (3 <= 2) <= 1, 3 <= (2 <= 1);
+3 <= 2 <= 1 (3 <= 2) <= 1 3 <= (2 <= 1)
+1 1 0
+select 1 > 2 > 3, (1 > 2) > 3, 1 > (2 > 3);
+1 > 2 > 3 (1 > 2) > 3 1 > (2 > 3)
+0 0 1
+select 1 >= 2 >= 3, (1 >= 2) >= 3, 1 >= (2 >= 3);
+1 >= 2 >= 3 (1 >= 2) >= 3 1 >= (2 >= 3)
+0 0 1
+Testing that | is associative
+select 0xF0 | 0x0F | 0x55, (0xF0 | 0x0F) | 0x55, 0xF0 | (0x0F | 0x55);
+0xF0 | 0x0F | 0x55 (0xF0 | 0x0F) | 0x55 0xF0 | (0x0F | 0x55)
+255 255 255
+Testing that & is associative
+select 0xF5 & 0x5F & 0x55, (0xF5 & 0x5F) & 0x55, 0xF5 & (0x5F & 0x55);
+0xF5 & 0x5F & 0x55 (0xF5 & 0x5F) & 0x55 0xF5 & (0x5F & 0x55)
+85 85 85
+Testing that << is left associative
+select 4 << 3 << 2, (4 << 3) << 2, 4 << (3 << 2);
+4 << 3 << 2 (4 << 3) << 2 4 << (3 << 2)
+128 128 16384
+Testing that >> is left associative
+select 256 >> 3 >> 2, (256 >> 3) >> 2, 256 >> (3 >> 2);
+256 >> 3 >> 2 (256 >> 3) >> 2 256 >> (3 >> 2)
+8 8 256
+Testing that & has precedence over |
+select 0xF0 & 0x0F | 0x55, (0xF0 & 0x0F) | 0x55, 0xF0 & (0x0F | 0x55);
+0xF0 & 0x0F | 0x55 (0xF0 & 0x0F) | 0x55 0xF0 & (0x0F | 0x55)
+85 85 80
+select 0x55 | 0xF0 & 0x0F, (0x55 | 0xF0) & 0x0F, 0x55 | (0xF0 & 0x0F);
+0x55 | 0xF0 & 0x0F (0x55 | 0xF0) & 0x0F 0x55 | (0xF0 & 0x0F)
+85 5 85
+Testing that << has precedence over |
+select 0x0F << 4 | 0x0F, (0x0F << 4) | 0x0F, 0x0F << (4 | 0x0F);
+0x0F << 4 | 0x0F (0x0F << 4) | 0x0F 0x0F << (4 | 0x0F)
+255 255 491520
+select 0x0F | 0x0F << 4, (0x0F | 0x0F) << 4, 0x0F | (0x0F << 4);
+0x0F | 0x0F << 4 (0x0F | 0x0F) << 4 0x0F | (0x0F << 4)
+255 240 255
+Testing that >> has precedence over |
+select 0xF0 >> 4 | 0xFF, (0xF0 >> 4) | 0xFF, 0xF0 >> (4 | 0xFF);
+0xF0 >> 4 | 0xFF (0xF0 >> 4) | 0xFF 0xF0 >> (4 | 0xFF)
+255 255 0
+select 0xFF | 0xF0 >> 4, (0xFF | 0xF0) >> 4, 0xFF | (0xF0 >> 4);
+0xFF | 0xF0 >> 4 (0xFF | 0xF0) >> 4 0xFF | (0xF0 >> 4)
+255 15 255
+Testing that << has precedence over &
+select 0x0F << 4 & 0xF0, (0x0F << 4) & 0xF0, 0x0F << (4 & 0xF0);
+0x0F << 4 & 0xF0 (0x0F << 4) & 0xF0 0x0F << (4 & 0xF0)
+240 240 15
+select 0xF0 & 0x0F << 4, (0xF0 & 0x0F) << 4, 0xF0 & (0x0F << 4);
+0xF0 & 0x0F << 4 (0xF0 & 0x0F) << 4 0xF0 & (0x0F << 4)
+240 0 240
+Testing that >> has precedence over &
+select 0xF0 >> 4 & 0x55, (0xF0 >> 4) & 0x55, 0xF0 >> (4 & 0x55);
+0xF0 >> 4 & 0x55 (0xF0 >> 4) & 0x55 0xF0 >> (4 & 0x55)
+5 5 15
+select 0x0F & 0xF0 >> 4, (0x0F & 0xF0) >> 4, 0x0F & (0xF0 >> 4);
+0x0F & 0xF0 >> 4 (0x0F & 0xF0) >> 4 0x0F & (0xF0 >> 4)
+15 0 15
+Testing that >> and << have the same precedence
+select 0xFF >> 4 << 2, (0xFF >> 4) << 2, 0xFF >> (4 << 2);
+0xFF >> 4 << 2 (0xFF >> 4) << 2 0xFF >> (4 << 2)
+60 60 0
+select 0x0F << 4 >> 2, (0x0F << 4) >> 2, 0x0F << (4 >> 2);
+0x0F << 4 >> 2 (0x0F << 4) >> 2 0x0F << (4 >> 2)
+60 60 30
+Testing that binary + is associative
+select 1 + 2 + 3, (1 + 2) + 3, 1 + (2 + 3);
+1 + 2 + 3 (1 + 2) + 3 1 + (2 + 3)
+6 6 6
+Testing that binary - is left associative
+select 1 - 2 - 3, (1 - 2) - 3, 1 - (2 - 3);
+1 - 2 - 3 (1 - 2) - 3 1 - (2 - 3)
+-4 -4 2
+Testing that binary + and binary - have the same precedence
+select 1 + 2 - 3, (1 + 2) - 3, 1 + (2 - 3);
+1 + 2 - 3 (1 + 2) - 3 1 + (2 - 3)
+0 0 0
+select 1 - 2 + 3, (1 - 2) + 3, 1 - (2 + 3);
+1 - 2 + 3 (1 - 2) + 3 1 - (2 + 3)
+2 2 -4
+Testing that binary + has precedence over |
+select 0xF0 + 0x0F | 0x55, (0xF0 + 0x0F) | 0x55, 0xF0 + (0x0F | 0x55);
+0xF0 + 0x0F | 0x55 (0xF0 + 0x0F) | 0x55 0xF0 + (0x0F | 0x55)
+255 255 335
+select 0x55 | 0xF0 + 0x0F, (0x55 | 0xF0) + 0x0F, 0x55 | (0xF0 + 0x0F);
+0x55 | 0xF0 + 0x0F (0x55 | 0xF0) + 0x0F 0x55 | (0xF0 + 0x0F)
+255 260 255
+Testing that binary + has precedence over &
+select 0xF0 + 0x0F & 0x55, (0xF0 + 0x0F) & 0x55, 0xF0 + (0x0F & 0x55);
+0xF0 + 0x0F & 0x55 (0xF0 + 0x0F) & 0x55 0xF0 + (0x0F & 0x55)
+85 85 245
+select 0x55 & 0xF0 + 0x0F, (0x55 & 0xF0) + 0x0F, 0x55 & (0xF0 + 0x0F);
+0x55 & 0xF0 + 0x0F (0x55 & 0xF0) + 0x0F 0x55 & (0xF0 + 0x0F)
+85 95 85
+Testing that binary + has precedence over <<
+select 2 + 3 << 4, (2 + 3) << 4, 2 + (3 << 4);
+2 + 3 << 4 (2 + 3) << 4 2 + (3 << 4)
+80 80 50
+select 3 << 4 + 2, (3 << 4) + 2, 3 << (4 + 2);
+3 << 4 + 2 (3 << 4) + 2 3 << (4 + 2)
+192 50 192
+Testing that binary + has precedence over >>
+select 4 + 3 >> 2, (4 + 3) >> 2, 4 + (3 >> 2);
+4 + 3 >> 2 (4 + 3) >> 2 4 + (3 >> 2)
+1 1 4
+select 3 >> 2 + 1, (3 >> 2) + 1, 3 >> (2 + 1);
+3 >> 2 + 1 (3 >> 2) + 1 3 >> (2 + 1)
+0 1 0
+Testing that binary - has precedence over |
+select 0xFF - 0x0F | 0x55, (0xFF - 0x0F) | 0x55, 0xFF - (0x0F | 0x55);
+0xFF - 0x0F | 0x55 (0xFF - 0x0F) | 0x55 0xFF - (0x0F | 0x55)
+245 245 160
+select 0x55 | 0xFF - 0xF0, (0x55 | 0xFF) - 0xF0, 0x55 | (0xFF - 0xF0);
+0x55 | 0xFF - 0xF0 (0x55 | 0xFF) - 0xF0 0x55 | (0xFF - 0xF0)
+95 15 95
+Testing that binary - has precedence over &
+select 0xFF - 0xF0 & 0x55, (0xFF - 0xF0) & 0x55, 0xFF - (0xF0 & 0x55);
+0xFF - 0xF0 & 0x55 (0xFF - 0xF0) & 0x55 0xFF - (0xF0 & 0x55)
+5 5 175
+select 0x55 & 0xFF - 0xF0, (0x55 & 0xFF) - 0xF0, 0x55 & (0xFF - 0xF0);
+0x55 & 0xFF - 0xF0 (0x55 & 0xFF) - 0xF0 0x55 & (0xFF - 0xF0)
+5 -155 5
+Testing that binary - has precedence over <<
+select 16 - 3 << 2, (16 - 3) << 2, 16 - (3 << 2);
+16 - 3 << 2 (16 - 3) << 2 16 - (3 << 2)
+52 52 4
+select 4 << 3 - 2, (4 << 3) - 2, 4 << (3 - 2);
+4 << 3 - 2 (4 << 3) - 2 4 << (3 - 2)
+8 30 8
+Testing that binary - has precedence over >>
+select 16 - 3 >> 2, (16 - 3) >> 2, 16 - (3 >> 2);
+16 - 3 >> 2 (16 - 3) >> 2 16 - (3 >> 2)
+3 3 16
+select 16 >> 3 - 2, (16 >> 3) - 2, 16 >> (3 - 2);
+16 >> 3 - 2 (16 >> 3) - 2 16 >> (3 - 2)
+8 0 8
+Testing that * is associative
+select 2 * 3 * 4, (2 * 3) * 4, 2 * (3 * 4);
+2 * 3 * 4 (2 * 3) * 4 2 * (3 * 4)
+24 24 24
+Testing that * has precedence over |
+select 2 * 0x40 | 0x0F, (2 * 0x40) | 0x0F, 2 * (0x40 | 0x0F);
+2 * 0x40 | 0x0F (2 * 0x40) | 0x0F 2 * (0x40 | 0x0F)
+143 143 158
+select 0x0F | 2 * 0x40, (0x0F | 2) * 0x40, 0x0F | (2 * 0x40);
+0x0F | 2 * 0x40 (0x0F | 2) * 0x40 0x0F | (2 * 0x40)
+143 960 143
+Testing that * has precedence over &
+select 2 * 0x40 & 0x55, (2 * 0x40) & 0x55, 2 * (0x40 & 0x55);
+2 * 0x40 & 0x55 (2 * 0x40) & 0x55 2 * (0x40 & 0x55)
+0 0 128
+select 0xF0 & 2 * 0x40, (0xF0 & 2) * 0x40, 0xF0 & (2 * 0x40);
+0xF0 & 2 * 0x40 (0xF0 & 2) * 0x40 0xF0 & (2 * 0x40)
+128 0 128
+Testing that * has precedence over <<
+select 5 * 3 << 4, (5 * 3) << 4, 5 * (3 << 4);
+5 * 3 << 4 (5 * 3) << 4 5 * (3 << 4)
+240 240 240
+select 2 << 3 * 4, (2 << 3) * 4, 2 << (3 * 4);
+2 << 3 * 4 (2 << 3) * 4 2 << (3 * 4)
+8192 64 8192
+Testing that * has precedence over >>
+select 3 * 4 >> 2, (3 * 4) >> 2, 3 * (4 >> 2);
+3 * 4 >> 2 (3 * 4) >> 2 3 * (4 >> 2)
+3 3 3
+select 4 >> 2 * 3, (4 >> 2) * 3, 4 >> (2 * 3);
+4 >> 2 * 3 (4 >> 2) * 3 4 >> (2 * 3)
+0 3 0
+Testing that * has precedence over binary +
+select 2 * 3 + 4, (2 * 3) + 4, 2 * (3 + 4);
+2 * 3 + 4 (2 * 3) + 4 2 * (3 + 4)
+10 10 14
+select 2 + 3 * 4, (2 + 3) * 4, 2 + (3 * 4);
+2 + 3 * 4 (2 + 3) * 4 2 + (3 * 4)
+14 20 14
+Testing that * has precedence over binary -
+select 4 * 3 - 2, (4 * 3) - 2, 4 * (3 - 2);
+4 * 3 - 2 (4 * 3) - 2 4 * (3 - 2)
+10 10 4
+select 4 - 3 * 2, (4 - 3) * 2, 4 - (3 * 2);
+4 - 3 * 2 (4 - 3) * 2 4 - (3 * 2)
+-2 2 -2
+Testing that / is left associative
+select 15 / 5 / 3, (15 / 5) / 3, 15 / (5 / 3);
+15 / 5 / 3 (15 / 5) / 3 15 / (5 / 3)
+1.00000000 1.00000000 9.0000
+Testing that / has precedence over |
+select 105 / 5 | 2, (105 / 5) | 2, 105 / (5 | 2);
+105 / 5 | 2 (105 / 5) | 2 105 / (5 | 2)
+23 23 15.0000
+select 105 | 2 / 5, (105 | 2) / 5, 105 | (2 / 5);
+105 | 2 / 5 (105 | 2) / 5 105 | (2 / 5)
+105 21.4000 105
+Testing that / has precedence over &
+select 105 / 5 & 0x0F, (105 / 5) & 0x0F, 105 / (5 & 0x0F);
+105 / 5 & 0x0F (105 / 5) & 0x0F 105 / (5 & 0x0F)
+5 5 21.0000
+select 0x0F & 105 / 5, (0x0F & 105) / 5, 0x0F & (105 / 5);
+0x0F & 105 / 5 (0x0F & 105) / 5 0x0F & (105 / 5)
+5 1.8000 5
+Testing that / has precedence over <<
+select 0x80 / 4 << 2, (0x80 / 4) << 2, 0x80 / (4 << 2);
+0x80 / 4 << 2 (0x80 / 4) << 2 0x80 / (4 << 2)
+128 128 8.0000
+select 0x80 << 4 / 2, (0x80 << 4) / 2, 0x80 << (4 / 2);
+0x80 << 4 / 2 (0x80 << 4) / 2 0x80 << (4 / 2)
+512 1024.0000 512
+Testing that / has precedence over >>
+select 0x80 / 4 >> 2, (0x80 / 4) >> 2, 0x80 / (4 >> 2);
+0x80 / 4 >> 2 (0x80 / 4) >> 2 0x80 / (4 >> 2)
+8 8 128.0000
+select 0x80 >> 4 / 2, (0x80 >> 4) / 2, 0x80 >> (4 / 2);
+0x80 >> 4 / 2 (0x80 >> 4) / 2 0x80 >> (4 / 2)
+32 4.0000 32
+Testing that / has precedence over binary +
+select 0x80 / 2 + 2, (0x80 / 2) + 2, 0x80 / (2 + 2);
+0x80 / 2 + 2 (0x80 / 2) + 2 0x80 / (2 + 2)
+66.0000 66.0000 32.0000
+select 0x80 + 2 / 2, (0x80 + 2) / 2, 0x80 + (2 / 2);
+0x80 + 2 / 2 (0x80 + 2) / 2 0x80 + (2 / 2)
+129.0000 65.0000 129.0000
+Testing that / has precedence over binary -
+select 0x80 / 4 - 2, (0x80 / 4) - 2, 0x80 / (4 - 2);
+0x80 / 4 - 2 (0x80 / 4) - 2 0x80 / (4 - 2)
+30.0000 30.0000 64.0000
+select 0x80 - 4 / 2, (0x80 - 4) / 2, 0x80 - (4 / 2);
+0x80 - 4 / 2 (0x80 - 4) / 2 0x80 - (4 / 2)
+126.0000 62.0000 126.0000
+Testing that ^ is associative
+select 0xFF ^ 0xF0 ^ 0x0F, (0xFF ^ 0xF0) ^ 0x0F, 0xFF ^ (0xF0 ^ 0x0F);
+0xFF ^ 0xF0 ^ 0x0F (0xFF ^ 0xF0) ^ 0x0F 0xFF ^ (0xF0 ^ 0x0F)
+0 0 0
+select 0xFF ^ 0xF0 ^ 0x55, (0xFF ^ 0xF0) ^ 0x55, 0xFF ^ (0xF0 ^ 0x55);
+0xFF ^ 0xF0 ^ 0x55 (0xFF ^ 0xF0) ^ 0x55 0xFF ^ (0xF0 ^ 0x55)
+90 90 90
+Testing that ^ has precedence over |
+select 0xFF ^ 0xF0 | 0x0F, (0xFF ^ 0xF0) | 0x0F, 0xFF ^ (0xF0 | 0x0F);
+0xFF ^ 0xF0 | 0x0F (0xFF ^ 0xF0) | 0x0F 0xFF ^ (0xF0 | 0x0F)
+15 15 0
+select 0xF0 | 0xFF ^ 0xF0, (0xF0 | 0xFF) ^ 0xF0, 0xF0 | (0xFF ^ 0xF0);
+0xF0 | 0xFF ^ 0xF0 (0xF0 | 0xFF) ^ 0xF0 0xF0 | (0xFF ^ 0xF0)
+255 15 255
+Testing that ^ has precedence over &
+select 0xFF ^ 0xF0 & 0x0F, (0xFF ^ 0xF0) & 0x0F, 0xFF ^ (0xF0 & 0x0F);
+0xFF ^ 0xF0 & 0x0F (0xFF ^ 0xF0) & 0x0F 0xFF ^ (0xF0 & 0x0F)
+15 15 255
+select 0x0F & 0xFF ^ 0xF0, (0x0F & 0xFF) ^ 0xF0, 0x0F & (0xFF ^ 0xF0);
+0x0F & 0xFF ^ 0xF0 (0x0F & 0xFF) ^ 0xF0 0x0F & (0xFF ^ 0xF0)
+15 255 15
+Testing that ^ has precedence over <<
+select 0xFF ^ 0xF0 << 2, (0xFF ^ 0xF0) << 2, 0xFF ^ (0xF0 << 2);
+0xFF ^ 0xF0 << 2 (0xFF ^ 0xF0) << 2 0xFF ^ (0xF0 << 2)
+60 60 831
+select 0x0F << 2 ^ 0xFF, (0x0F << 2) ^ 0xFF, 0x0F << (2 ^ 0xFF);
+0x0F << 2 ^ 0xFF (0x0F << 2) ^ 0xFF 0x0F << (2 ^ 0xFF)
+0 195 0
+Testing that ^ has precedence over >>
+select 0xFF ^ 0xF0 >> 2, (0xFF ^ 0xF0) >> 2, 0xFF ^ (0xF0 >> 2);
+0xFF ^ 0xF0 >> 2 (0xFF ^ 0xF0) >> 2 0xFF ^ (0xF0 >> 2)
+3 3 195
+select 0xFF >> 2 ^ 0xF0, (0xFF >> 2) ^ 0xF0, 0xFF >> (2 ^ 0xF0);
+0xFF >> 2 ^ 0xF0 (0xFF >> 2) ^ 0xF0 0xFF >> (2 ^ 0xF0)
+0 207 0
+Testing that ^ has precedence over binary +
+select 0xFF ^ 0xF0 + 0x0F, (0xFF ^ 0xF0) + 0x0F, 0xFF ^ (0xF0 + 0x0F);
+0xFF ^ 0xF0 + 0x0F (0xFF ^ 0xF0) + 0x0F 0xFF ^ (0xF0 + 0x0F)
+30 30 0
+select 0x0F + 0xFF ^ 0xF0, (0x0F + 0xFF) ^ 0xF0, 0x0F + (0xFF ^ 0xF0);
+0x0F + 0xFF ^ 0xF0 (0x0F + 0xFF) ^ 0xF0 0x0F + (0xFF ^ 0xF0)
+30 510 30
+Testing that ^ has precedence over binary -
+select 0xFF ^ 0xF0 - 1, (0xFF ^ 0xF0) - 1, 0xFF ^ (0xF0 - 1);
+0xFF ^ 0xF0 - 1 (0xFF ^ 0xF0) - 1 0xFF ^ (0xF0 - 1)
+14 14 16
+select 0x55 - 0x0F ^ 0x55, (0x55 - 0x0F) ^ 0x55, 0x55 - (0x0F ^ 0x55);
+0x55 - 0x0F ^ 0x55 (0x55 - 0x0F) ^ 0x55 0x55 - (0x0F ^ 0x55)
+-5 19 -5
+Testing that ^ has precedence over *
+select 0xFF ^ 0xF0 * 2, (0xFF ^ 0xF0) * 2, 0xFF ^ (0xF0 * 2);
+0xFF ^ 0xF0 * 2 (0xFF ^ 0xF0) * 2 0xFF ^ (0xF0 * 2)
+30 30 287
+select 2 * 0xFF ^ 0xF0, (2 * 0xFF) ^ 0xF0, 2 * (0xFF ^ 0xF0);
+2 * 0xFF ^ 0xF0 (2 * 0xFF) ^ 0xF0 2 * (0xFF ^ 0xF0)
+30 270 30
+Testing that ^ has precedence over /
+select 0xFF ^ 0xF0 / 2, (0xFF ^ 0xF0) / 2, 0xFF ^ (0xF0 / 2);
+0xFF ^ 0xF0 / 2 (0xFF ^ 0xF0) / 2 0xFF ^ (0xF0 / 2)
+7.5000 7.5000 135
+select 0xF2 / 2 ^ 0xF0, (0xF2 / 2) ^ 0xF0, 0xF2 / (2 ^ 0xF0);
+0xF2 / 2 ^ 0xF0 (0xF2 / 2) ^ 0xF0 0xF2 / (2 ^ 0xF0)
+1.0000 137 1.0000
+Testing that ^ has precedence over %
+select 0xFF ^ 0xF0 % 0x20, (0xFF ^ 0xF0) % 0x20, 0xFF ^ (0xF0 % 0x20);
+0xFF ^ 0xF0 % 0x20 (0xFF ^ 0xF0) % 0x20 0xFF ^ (0xF0 % 0x20)
+15 15 239
+select 0xFF % 0x20 ^ 0xF0, (0xFF % 0x20) ^ 0xF0, 0xFF % (0x20 ^ 0xF0);
+0xFF % 0x20 ^ 0xF0 (0xFF % 0x20) ^ 0xF0 0xFF % (0x20 ^ 0xF0)
+47 239 47
+Testing that ^ has precedence over DIV
+select 0xFF ^ 0xF0 DIV 2, (0xFF ^ 0xF0) DIV 2, 0xFF ^ (0xF0 DIV 2);
+0xFF ^ 0xF0 DIV 2 (0xFF ^ 0xF0) DIV 2 0xFF ^ (0xF0 DIV 2)
+7 7 135
+select 0xF2 DIV 2 ^ 0xF0, (0xF2 DIV 2) ^ 0xF0, 0xF2 DIV (2 ^ 0xF0);
+0xF2 DIV 2 ^ 0xF0 (0xF2 DIV 2) ^ 0xF0 0xF2 DIV (2 ^ 0xF0)
+1 137 1
+Testing that ^ has precedence over MOD
+select 0xFF ^ 0xF0 MOD 0x20, (0xFF ^ 0xF0) MOD 0x20, 0xFF ^ (0xF0 MOD 0x20);
+0xFF ^ 0xF0 MOD 0x20 (0xFF ^ 0xF0) MOD 0x20 0xFF ^ (0xF0 MOD 0x20)
+15 15 239
+select 0xFF MOD 0x20 ^ 0xF0, (0xFF MOD 0x20) ^ 0xF0, 0xFF MOD (0x20 ^ 0xF0);
+0xFF MOD 0x20 ^ 0xF0 (0xFF MOD 0x20) ^ 0xF0 0xFF MOD (0x20 ^ 0xF0)
+47 239 47
diff --git a/mysql-test/r/partition.result b/mysql-test/r/partition.result
index 5d985d053fc..b13010f8471 100644
--- a/mysql-test/r/partition.result
+++ b/mysql-test/r/partition.result
@@ -1,4 +1,35 @@
drop table if exists t1;
+create table t1 (a int) partition by list ((a/3)*10 div 1)
+(partition p0 values in (0), partition p1 values in (1));
+ERROR HY000: This partition function is not allowed
+CREATE TABLE t1 (
+d DATE NOT NULL
+)
+PARTITION BY RANGE( YEAR(d) ) (
+PARTITION p0 VALUES LESS THAN (1960),
+PARTITION p1 VALUES LESS THAN (1970),
+PARTITION p2 VALUES LESS THAN (1980),
+PARTITION p3 VALUES LESS THAN (1990)
+);
+ALTER TABLE t1 ADD PARTITION (
+PARTITION `p5` VALUES LESS THAN (2010)
+COMMENT 'APSTART \' APEND'
+);
+SELECT * FROM t1 LIMIT 1;
+d
+DROP TABLE t1;
+create table t1 (id int auto_increment, s1 int, primary key (id));
+insert into t1 values (null,1);
+insert into t1 values (null,6);
+select * from t1;
+id s1
+1 1
+2 6
+alter table t1 partition by range (id) (
+partition p0 values less than (3),
+partition p1 values less than maxvalue
+);
+drop table t1;
create table t1 (a int)
partition by key(a)
partitions 0.2+e1;
@@ -16,15 +47,6 @@ partition by key(a)
partitions 1e+300;
ERROR 42000: Only integers allowed as number here near '1e+300' at line 3
create table t1 (a int)
-partition by key (a)
-(partition p0 DATA DIRECTORY 'part-data' INDEX DIRECTORY 'part-data');
-ERROR 42000: Incorrect table name 'part-data'
-create table t1 (a int)
-partition by key (a)
-(partition p0,
-partition p1 DATA DIRECTORY 'part-data' INDEX DIRECTORY 'part-data');
-ERROR 42000: Incorrect table name 'part-data'
-create table t1 (a int)
partition by list (a)
(partition p0 values in (1));
create procedure pz()
@@ -33,11 +55,6 @@ call pz();
call pz();
drop procedure pz;
drop table t1;
-create table t1 (a int)
-engine = csv
-partition by list (a)
-(partition p0 values in (null));
-ERROR HY000: Engine cannot be used in partitioned tables
create table t1 (a bigint)
partition by range (a)
(partition p0 values less than (0xFFFFFFFFFFFFFFFF),
@@ -68,11 +85,6 @@ a
18446744073709551614
drop table t1;
create table t1 (a int)
-engine = csv
-partition by list (a)
-(partition p0 values in (null));
-ERROR HY000: Engine cannot be used in partitioned tables
-create table t1 (a int)
partition by key(a)
(partition p0 engine = MEMORY);
drop table t1;
@@ -271,6 +283,13 @@ select * from t1 where a = 4;
a b
4 4
drop table t1;
+CREATE TABLE t1 (c1 INT, c2 INT, PRIMARY KEY USING BTREE (c1,c2)) ENGINE=MEMORY
+PARTITION BY KEY(c2,c1) PARTITIONS 4;
+INSERT INTO t1 VALUES (0,0),(1,1),(2,2),(3,3),(4,4),(5,5),(6,6);
+SELECT * FROM t1 WHERE c1 = 4;
+c1 c2
+4 4
+DROP TABLE t1;
CREATE TABLE t1 (a int)
PARTITION BY LIST (a)
PARTITIONS 1
@@ -317,19 +336,7 @@ PARTITION BY LIST (a)
(PARTITION x1 VALUES IN (10), PARTITION x2 VALUES IN (20));
analyze table t1;
Table Op Msg_type Msg_text
-test.t1 analyze status OK
-drop table t1;
-CREATE TABLE `t1` (
-`id` int(11) default NULL
-) ENGINE=BLACKHOLE DEFAULT CHARSET=latin1 PARTITION BY HASH (id) ;
-SELECT * FROM t1;
-id
-drop table t1;
-CREATE TABLE `t1` (
-`id` int(11) default NULL
-) ENGINE=BLACKHOLE DEFAULT CHARSET=latin1 PARTITION BY HASH (id) ;
-SELECT * FROM t1;
-id
+test.t1 analyze note The storage engine for the table doesn't support analyze
drop table t1;
create table t1
(a int)
@@ -523,11 +530,9 @@ t1 CREATE TABLE `t1` (
alter table t1
partition by key(a)
(partition p0, partition p1 engine=heap);
-ERROR HY000: The mix of handlers in the partitions is not allowed in this version of MySQL
alter table t1
partition by key(a)
(partition p0 engine=heap, partition p1);
-ERROR HY000: The mix of handlers in the partitions is not allowed in this version of MySQL
alter table t1
engine=heap
partition by key (a)
@@ -709,7 +714,7 @@ partition by range (a)
alter table t1 add partition (partition p1 values in (2));
ERROR HY000: Only LIST PARTITIONING can use VALUES IN in partition definition
alter table t1 add partition (partition p1);
-ERROR HY000: RANGE PARTITIONING requires definition of VALUES LESS THAN for each partition
+ERROR HY000: Syntax error: RANGE PARTITIONING requires definition of VALUES LESS THAN for each partition
drop table t1;
create table t1 (a int)
partition by list (a)
@@ -717,7 +722,7 @@ partition by list (a)
alter table t1 add partition (partition p1 values less than (2));
ERROR HY000: Only RANGE PARTITIONING can use VALUES LESS THAN in partition definition
alter table t1 add partition (partition p1);
-ERROR HY000: LIST PARTITIONING requires definition of VALUES IN for each partition
+ERROR HY000: Syntax error: LIST PARTITIONING requires definition of VALUES IN for each partition
drop table t1;
create table t1 (a int)
partition by hash (a)
@@ -1032,9 +1037,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 MyISAM 10 Fixed 1 14 14 0 0 7 NULL NULL NULL NULL latin1_swedish_ci NULL partitioned
ALTER TABLE t1 OPTIMIZE PARTITION p0;
-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 1 7 7 0 1024 0 NULL NULL NULL NULL latin1_swedish_ci NULL partitioned
+ERROR 42000: The storage engine for the table doesn't support optimize partition
DROP TABLE t1;
CREATE TABLE t1 (a int, index(a)) PARTITION BY KEY(a);
ALTER TABLE t1 DISABLE KEYS;
@@ -1049,19 +1052,13 @@ test.t1 repair note The storage engine for the table doesn't support repair
OPTIMIZE TABLE t1;
Table Op Msg_type Msg_text
test.t1 optimize note The storage engine for the table doesn't support optimize
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check note The storage engine for the table doesn't support check
+ANALYZE TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 analyze note The storage engine for the table doesn't support analyze
drop table t1;
-create database db99;
-use db99;
-create table t1 (a int not null)
-engine=archive
-partition by list (a)
-(partition p0 values in (1), partition p1 values in (2));
-insert into t1 values (1), (2);
-create index inx on t1 (a);
-alter table t1 add partition (partition p2 values in (3));
-alter table t1 drop partition p2;
-use test;
-drop database db99;
drop procedure if exists mysqltest_1;
create table t1 (a int)
partition by list (a)
@@ -1206,25 +1203,6 @@ SELECT t2.id FROM t2 WHERE t2.id IN (SELECT id FROM t1 WHERE status = 'Verified'
id
22589
drop table t1, t2;
-set @org_mode=@@sql_mode;
-set @@sql_mode='NO_DIR_IN_CREATE';
-select @@sql_mode;
-@@sql_mode
-NO_DIR_IN_CREATE
-create table t1 (i int )
-partition by range (i)
-(
-partition p01 values less than (1000)
-data directory='/not/existing'
- index directory='/not/existing'
-);
-show create table t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `i` int(11) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (i) (PARTITION p01 VALUES LESS THAN (1000) ENGINE = MyISAM) */
-DROP TABLE t1, t2;
-set @@sql_mode=@org_mode;
create table t1 (c1 varchar(255),c2 tinyint,primary key(c1))
partition by key (c1) partitions 10 ;
insert into t1 values ('aaa','1') on duplicate key update c2 = c2 + 1;
@@ -1259,6 +1237,10 @@ INSERT INTO t1 SELECT a + 8, b FROM t1;
ALTER TABLE t1 ADD PARTITION (PARTITION p1 VALUES LESS THAN (64));
ALTER TABLE t1 DROP PARTITION p1;
DROP TABLE t1;
+create table t (s1 int) engine=myisam partition by key (s1);
+create trigger t_ad after delete on t for each row insert into t values (old.s1);
+insert into t values (1);
+drop table t;
USE mysql;
SET GLOBAL general_log = 0;
ALTER TABLE general_log ENGINE = MyISAM;
@@ -1267,4 +1249,157 @@ ALTER TABLE general_log PARTITION BY RANGE (TO_DAYS(event_time))
ERROR HY000: Incorrect usage of PARTITION and log table
ALTER TABLE general_log ENGINE = CSV;
SET GLOBAL general_log = default;
+use test;
+create table t2 (b int);
+create table t1 (b int)
+PARTITION BY RANGE (t2.b) (
+PARTITION p1 VALUES LESS THAN (10),
+PARTITION p2 VALUES LESS THAN (20)
+) select * from t2;
+ERROR 42S22: Unknown column 't2.b' in 'partition function'
+create table t1 (a int)
+PARTITION BY RANGE (b) (
+PARTITION p1 VALUES LESS THAN (10),
+PARTITION p2 VALUES LESS THAN (20)
+) select * from t2;
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (b) (PARTITION p1 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION p2 VALUES LESS THAN (20) ENGINE = MyISAM) */
+drop table t1, t2;
+create table t1
+(s1 timestamp on update current_timestamp, s2 int)
+partition by key(s1) partitions 3;
+insert into t1 values (null,null);
+drop table t1;
+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;
+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);
+c1
+-6862346
+drop table t1;
+CREATE TABLE t1(a int)
+PARTITION BY RANGE (a) (
+PARTITION p1 VALUES LESS THAN (10),
+PARTITION p2 VALUES LESS THAN (20)
+);
+ALTER TABLE t1 OPTIMIZE PARTITION p1 EXTENDED;
+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 'EXTENDED' at line 1
+ALTER TABLE t1 ANALYZE PARTITION p1 EXTENDED;
+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 'EXTENDED' at line 1
+ALTER TABLE t1 ANALYZE PARTITION p1;
+ERROR 42000: The storage engine for the table doesn't support analyze partition
+ALTER TABLE t1 CHECK PARTITION p1;
+ERROR 42000: The storage engine for the table doesn't support check partition
+ALTER TABLE t1 REPAIR PARTITION p1;
+ERROR 42000: The storage engine for the table doesn't support repair partition
+ALTER TABLE t1 OPTIMIZE PARTITION p1;
+ERROR 42000: The storage engine for the table doesn't support optimize partition
+DROP TABLE t1;
+CREATE TABLE t1 (s1 BIGINT UNSIGNED)
+PARTITION BY RANGE (s1) (
+PARTITION p0 VALUES LESS THAN (0),
+PARTITION p1 VALUES LESS THAN (1),
+PARTITION p2 VALUES LESS THAN (18446744073709551615)
+);
+INSERT INTO t1 VALUES (0), (18446744073709551614);
+INSERT INTO t1 VALUES (18446744073709551615);
+ERROR HY000: Table has no partition for value 18446744073709551615
+DROP TABLE t1;
+CREATE TABLE t1 (s1 BIGINT UNSIGNED)
+PARTITION BY RANGE (s1) (
+PARTITION p0 VALUES LESS THAN (0),
+PARTITION p1 VALUES LESS THAN (1),
+PARTITION p2 VALUES LESS THAN (18446744073709551614),
+PARTITION p3 VALUES LESS THAN MAXVALUE
+);
+INSERT INTO t1 VALUES (-1), (0), (18446744073709551613),
+(18446744073709551614), (18446744073709551615);
+Warnings:
+Warning 1264 Out of range value for column 's1' at row 1
+SELECT * FROM t1;
+s1
+0
+0
+18446744073709551613
+18446744073709551614
+18446744073709551615
+SELECT * FROM t1 WHERE s1 = 0;
+s1
+0
+0
+SELECT * FROM t1 WHERE s1 = 18446744073709551614;
+s1
+18446744073709551614
+SELECT * FROM t1 WHERE s1 = 18446744073709551615;
+s1
+18446744073709551615
+DROP TABLE t1;
+CREATE TABLE t1 (s1 BIGINT UNSIGNED)
+PARTITION BY RANGE (s1) (
+PARTITION p0 VALUES LESS THAN (0),
+PARTITION p1 VALUES LESS THAN (1),
+PARTITION p2 VALUES LESS THAN (18446744073709551615),
+PARTITION p3 VALUES LESS THAN MAXVALUE
+);
+DROP TABLE t1;
+CREATE TABLE t1
+(int_column INT, char_column CHAR(5),
+PRIMARY KEY(char_column,int_column))
+PARTITION BY KEY(char_column,int_column)
+PARTITIONS 101;
+INSERT INTO t1 (int_column, char_column) VALUES
+( 39868 ,'zZZRW'),
+( 545592 ,'zZzSD'),
+( 4936 ,'zzzsT'),
+( 9274 ,'ZzZSX'),
+( 970185 ,'ZZzTN'),
+( 786036 ,'zZzTO'),
+( 37240 ,'zZzTv'),
+( 313801 ,'zzzUM'),
+( 782427 ,'ZZZva'),
+( 907955 ,'zZZvP'),
+( 453491 ,'zzZWV'),
+( 756594 ,'ZZZXU'),
+( 718061 ,'ZZzZH');
+SELECT * FROM t1 ORDER BY char_column DESC;
+int_column char_column
+718061 ZZzZH
+756594 ZZZXU
+453491 zzZWV
+907955 zZZvP
+782427 ZZZva
+313801 zzzUM
+37240 zZzTv
+786036 zZzTO
+970185 ZZzTN
+9274 ZzZSX
+4936 zzzsT
+545592 zZzSD
+39868 zZZRW
+DROP TABLE t1;
+CREATE TABLE t1(id MEDIUMINT NOT NULL AUTO_INCREMENT,
+user CHAR(25), PRIMARY KEY(id))
+PARTITION BY RANGE(id)
+SUBPARTITION BY hash(id) subpartitions 2
+(PARTITION pa1 values less than (10),
+PARTITION pa2 values less than (20),
+PARTITION pa11 values less than MAXVALUE);
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `id` mediumint(9) NOT NULL AUTO_INCREMENT,
+ `user` char(25) DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM AUTO_INCREMENT=16 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (id) SUBPARTITION BY HASH (id) SUBPARTITIONS 2 (PARTITION pa1 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION pa2 VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION pa11 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
+drop table t1;
End of 5.1 tests
diff --git a/mysql-test/r/partition_02myisam.result b/mysql-test/r/partition_02myisam.result
deleted file mode 100644
index 55263e4f8ce..00000000000
--- a/mysql-test/r/partition_02myisam.result
+++ /dev/null
@@ -1,1725 +0,0 @@
-SET SESSION storage_engine='MYISAM';
-SET @max_row = 200;
-SET AUTOCOMMIT= 1;
-
-#------------------------------------------------------------------------
-# There are several testcases disabled because ouf the open bugs
-# #15407 , #15408 , #15890 , #15961 , #13447 , #15966 , #15968, #16370
-#------------------------------------------------------------------------
-
-#------------------------------------------------------------------------
-# 0. Setting of auxiliary variables + Creation of an auxiliary table
-# needed in all testcases
-#------------------------------------------------------------------------
-DROP TABLE IF EXISTS t0_template;
-CREATE TABLE t0_template ( f1 INTEGER, f2 char(20), PRIMARY KEY(f1))
-ENGINE = MEMORY;
-# Logging of <max_row> INSERTs into t0_template suppressed
-
-#------------------------------------------------------------------------
-# 1. Some syntax checks
-#------------------------------------------------------------------------
-# 1.1 Subpartioned table without subpartitioning rule must be rejected
-DROP TABLE IF EXISTS t1;
-# FIXME Implement testcases, where it is checked that all create and
-# alter table statements
-# - with missing mandatory parameters are rejected
-# - with optional parameters are accepted
-# - with wrong combinations of optional parameters are rejected
-# - ............
-
-#------------------------------------------------------------------------
-# 2. 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;
-# 2.1 non partitioned table (for comparison)
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20)) ENGINE = 'MYISAM';
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) DEFAULT NULL,
- `f2` char(20) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 1 AND 200;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-UPDATE t1 SET f1 = f1 + 200
-WHERE f1 BETWEEN 100 - 50 AND 100 + 50;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 100 + 50 + 200 )
-AS my_value FROM t1;
-my_value
-1
-DELETE FROM t1
-WHERE f1 BETWEEN 100 - 50 + 200 AND 100 + 50 + 200;
-SELECT (COUNT(*) = 200 - 50 - 50 - 1) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SET f1 = 0 , f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 0 AND f2 = '#######';
-my_value
-1
-INSERT INTO t1 SET f1 = 200 + 1, f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 1 AND f2 = '#######';
-my_value
-1
-UPDATE t1 SET f1 = 200 + 2, f2 = 'ZZZZZZZ'
- WHERE f1 = 0 AND f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-my_value
-1
-DELETE FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-SELECT COUNT(*) = 0 AS my_value FROM t1 WHERE f2 = 'ZZZZZZZ';
-my_value
-1
-TRUNCATE t1;
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-DROP TABLE t1;
-# 2.2 Assignment of storage engine just after column list only
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20)) ENGINE = 'MYISAM'
-PARTITION BY HASH(f1) PARTITIONS 2;
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) DEFAULT NULL,
- `f2` char(20) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f1) PARTITIONS 2 */
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 1 AND 200;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-UPDATE t1 SET f1 = f1 + 200
-WHERE f1 BETWEEN 100 - 50 AND 100 + 50;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 100 + 50 + 200 )
-AS my_value FROM t1;
-my_value
-1
-DELETE FROM t1
-WHERE f1 BETWEEN 100 - 50 + 200 AND 100 + 50 + 200;
-SELECT (COUNT(*) = 200 - 50 - 50 - 1) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SET f1 = 0 , f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 0 AND f2 = '#######';
-my_value
-1
-INSERT INTO t1 SET f1 = 200 + 1, f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 1 AND f2 = '#######';
-my_value
-1
-UPDATE t1 SET f1 = 200 + 2, f2 = 'ZZZZZZZ'
- WHERE f1 = 0 AND f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-my_value
-1
-DELETE FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-SELECT COUNT(*) = 0 AS my_value FROM t1 WHERE f2 = 'ZZZZZZZ';
-my_value
-1
-TRUNCATE t1;
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-DROP TABLE t1;
-# 2.3 Assignment of storage engine just after partition or subpartition
-# name only
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1)
-( PARTITION part1 STORAGE ENGINE = 'MYISAM',
-PARTITION part2 STORAGE ENGINE = 'MYISAM'
-);
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) DEFAULT NULL,
- `f2` char(20) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f1) (PARTITION part1 ENGINE = MyISAM, PARTITION part2 ENGINE = MyISAM) */
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 1 AND 200;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-UPDATE t1 SET f1 = f1 + 200
-WHERE f1 BETWEEN 100 - 50 AND 100 + 50;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 100 + 50 + 200 )
-AS my_value FROM t1;
-my_value
-1
-DELETE FROM t1
-WHERE f1 BETWEEN 100 - 50 + 200 AND 100 + 50 + 200;
-SELECT (COUNT(*) = 200 - 50 - 50 - 1) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SET f1 = 0 , f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 0 AND f2 = '#######';
-my_value
-1
-INSERT INTO t1 SET f1 = 200 + 1, f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 1 AND f2 = '#######';
-my_value
-1
-UPDATE t1 SET f1 = 200 + 2, f2 = 'ZZZZZZZ'
- WHERE f1 = 0 AND f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-my_value
-1
-DELETE FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-SELECT COUNT(*) = 0 AS my_value FROM t1 WHERE f2 = 'ZZZZZZZ';
-my_value
-1
-TRUNCATE t1;
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-DROP TABLE t1;
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1)
-SUBPARTITION BY HASH(f1)
-( PARTITION part1 VALUES LESS THAN (100)
-(SUBPARTITION subpart11 STORAGE ENGINE = 'MYISAM',
-SUBPARTITION subpart12 STORAGE ENGINE = 'MYISAM'),
-PARTITION part2 VALUES LESS THAN (2147483647)
-(SUBPARTITION subpart21 STORAGE ENGINE = 'MYISAM',
-SUBPARTITION subpart22 STORAGE ENGINE = 'MYISAM')
-);
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) DEFAULT NULL,
- `f2` char(20) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f1) SUBPARTITION BY HASH (f1) (PARTITION part1 VALUES LESS THAN (100) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (2147483647) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM)) */
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 1 AND 200;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-UPDATE t1 SET f1 = f1 + 200
-WHERE f1 BETWEEN 100 - 50 AND 100 + 50;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 100 + 50 + 200 )
-AS my_value FROM t1;
-my_value
-1
-DELETE FROM t1
-WHERE f1 BETWEEN 100 - 50 + 200 AND 100 + 50 + 200;
-SELECT (COUNT(*) = 200 - 50 - 50 - 1) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SET f1 = 0 , f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 0 AND f2 = '#######';
-my_value
-1
-INSERT INTO t1 SET f1 = 200 + 1, f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 1 AND f2 = '#######';
-my_value
-1
-UPDATE t1 SET f1 = 200 + 2, f2 = 'ZZZZZZZ'
- WHERE f1 = 0 AND f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-my_value
-1
-DELETE FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-SELECT COUNT(*) = 0 AS my_value FROM t1 WHERE f2 = 'ZZZZZZZ';
-my_value
-1
-TRUNCATE t1;
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-DROP TABLE t1;
-# 2.4 Some but not all named partitions or subpartitions get a storage
-# engine assigned
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1)
-( PARTITION part1 STORAGE ENGINE = 'MYISAM',
-PARTITION part2
-);
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) DEFAULT NULL,
- `f2` char(20) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f1) (PARTITION part1 ENGINE = MyISAM, PARTITION part2 ENGINE = MyISAM) */
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 1 AND 200;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-UPDATE t1 SET f1 = f1 + 200
-WHERE f1 BETWEEN 100 - 50 AND 100 + 50;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 100 + 50 + 200 )
-AS my_value FROM t1;
-my_value
-1
-DELETE FROM t1
-WHERE f1 BETWEEN 100 - 50 + 200 AND 100 + 50 + 200;
-SELECT (COUNT(*) = 200 - 50 - 50 - 1) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SET f1 = 0 , f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 0 AND f2 = '#######';
-my_value
-1
-INSERT INTO t1 SET f1 = 200 + 1, f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 1 AND f2 = '#######';
-my_value
-1
-UPDATE t1 SET f1 = 200 + 2, f2 = 'ZZZZZZZ'
- WHERE f1 = 0 AND f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-my_value
-1
-DELETE FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-SELECT COUNT(*) = 0 AS my_value FROM t1 WHERE f2 = 'ZZZZZZZ';
-my_value
-1
-TRUNCATE t1;
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-DROP TABLE t1;
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1)
-( PARTITION part1 ,
-PARTITION part2 STORAGE ENGINE = 'MYISAM'
-);
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) DEFAULT NULL,
- `f2` char(20) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f1) (PARTITION part1 ENGINE = MyISAM, PARTITION part2 ENGINE = MyISAM) */
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 1 AND 200;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-UPDATE t1 SET f1 = f1 + 200
-WHERE f1 BETWEEN 100 - 50 AND 100 + 50;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 100 + 50 + 200 )
-AS my_value FROM t1;
-my_value
-1
-DELETE FROM t1
-WHERE f1 BETWEEN 100 - 50 + 200 AND 100 + 50 + 200;
-SELECT (COUNT(*) = 200 - 50 - 50 - 1) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SET f1 = 0 , f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 0 AND f2 = '#######';
-my_value
-1
-INSERT INTO t1 SET f1 = 200 + 1, f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 1 AND f2 = '#######';
-my_value
-1
-UPDATE t1 SET f1 = 200 + 2, f2 = 'ZZZZZZZ'
- WHERE f1 = 0 AND f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-my_value
-1
-DELETE FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-SELECT COUNT(*) = 0 AS my_value FROM t1 WHERE f2 = 'ZZZZZZZ';
-my_value
-1
-TRUNCATE t1;
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-DROP TABLE t1;
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1)
-SUBPARTITION BY HASH(f1)
-( PARTITION part1 VALUES LESS THAN (100)
-(SUBPARTITION subpart11,
-SUBPARTITION subpart12 STORAGE ENGINE = 'MYISAM'),
-PARTITION part2 VALUES LESS THAN (2147483647)
-(SUBPARTITION subpart21 STORAGE ENGINE = 'MYISAM',
-SUBPARTITION subpart22 STORAGE ENGINE = 'MYISAM')
-);
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) DEFAULT NULL,
- `f2` char(20) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f1) SUBPARTITION BY HASH (f1) (PARTITION part1 VALUES LESS THAN (100) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (2147483647) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM)) */
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 1 AND 200;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-UPDATE t1 SET f1 = f1 + 200
-WHERE f1 BETWEEN 100 - 50 AND 100 + 50;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 100 + 50 + 200 )
-AS my_value FROM t1;
-my_value
-1
-DELETE FROM t1
-WHERE f1 BETWEEN 100 - 50 + 200 AND 100 + 50 + 200;
-SELECT (COUNT(*) = 200 - 50 - 50 - 1) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SET f1 = 0 , f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 0 AND f2 = '#######';
-my_value
-1
-INSERT INTO t1 SET f1 = 200 + 1, f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 1 AND f2 = '#######';
-my_value
-1
-UPDATE t1 SET f1 = 200 + 2, f2 = 'ZZZZZZZ'
- WHERE f1 = 0 AND f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-my_value
-1
-DELETE FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-SELECT COUNT(*) = 0 AS my_value FROM t1 WHERE f2 = 'ZZZZZZZ';
-my_value
-1
-TRUNCATE t1;
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-DROP TABLE t1;
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1)
-SUBPARTITION BY HASH(f1)
-( PARTITION part1 VALUES LESS THAN (100)
-(SUBPARTITION subpart11 STORAGE ENGINE = 'MYISAM',
-SUBPARTITION subpart12 STORAGE ENGINE = 'MYISAM'),
-PARTITION part2 VALUES LESS THAN (2147483647)
-(SUBPARTITION subpart21,
-SUBPARTITION subpart22 )
-);
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) DEFAULT NULL,
- `f2` char(20) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f1) SUBPARTITION BY HASH (f1) (PARTITION part1 VALUES LESS THAN (100) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (2147483647) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM)) */
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 1 AND 200;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-UPDATE t1 SET f1 = f1 + 200
-WHERE f1 BETWEEN 100 - 50 AND 100 + 50;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 100 + 50 + 200 )
-AS my_value FROM t1;
-my_value
-1
-DELETE FROM t1
-WHERE f1 BETWEEN 100 - 50 + 200 AND 100 + 50 + 200;
-SELECT (COUNT(*) = 200 - 50 - 50 - 1) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SET f1 = 0 , f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 0 AND f2 = '#######';
-my_value
-1
-INSERT INTO t1 SET f1 = 200 + 1, f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 1 AND f2 = '#######';
-my_value
-1
-UPDATE t1 SET f1 = 200 + 2, f2 = 'ZZZZZZZ'
- WHERE f1 = 0 AND f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-my_value
-1
-DELETE FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-SELECT COUNT(*) = 0 AS my_value FROM t1 WHERE f2 = 'ZZZZZZZ';
-my_value
-1
-TRUNCATE t1;
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-DROP TABLE t1;
-# 2.5 Storage engine assignment after partition name + after name of
-# subpartitions belonging to another partition
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1)
-SUBPARTITION BY HASH(f1)
-( PARTITION part1 VALUES LESS THAN (100) ENGINE = 'MYISAM'
-(SUBPARTITION subpart11,
-SUBPARTITION subpart12),
-PARTITION part2 VALUES LESS THAN (2147483647)
-(SUBPARTITION subpart21 STORAGE ENGINE = 'MYISAM',
-SUBPARTITION subpart22 STORAGE ENGINE = 'MYISAM')
-);
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) DEFAULT NULL,
- `f2` char(20) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f1) SUBPARTITION BY HASH (f1) (PARTITION part1 VALUES LESS THAN (100) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (2147483647) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM)) */
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 1 AND 200;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-UPDATE t1 SET f1 = f1 + 200
-WHERE f1 BETWEEN 100 - 50 AND 100 + 50;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 100 + 50 + 200 )
-AS my_value FROM t1;
-my_value
-1
-DELETE FROM t1
-WHERE f1 BETWEEN 100 - 50 + 200 AND 100 + 50 + 200;
-SELECT (COUNT(*) = 200 - 50 - 50 - 1) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SET f1 = 0 , f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 0 AND f2 = '#######';
-my_value
-1
-INSERT INTO t1 SET f1 = 200 + 1, f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 1 AND f2 = '#######';
-my_value
-1
-UPDATE t1 SET f1 = 200 + 2, f2 = 'ZZZZZZZ'
- WHERE f1 = 0 AND f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-my_value
-1
-DELETE FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-SELECT COUNT(*) = 0 AS my_value FROM t1 WHERE f2 = 'ZZZZZZZ';
-my_value
-1
-TRUNCATE t1;
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-DROP TABLE t1;
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1)
-SUBPARTITION BY HASH(f1)
-( PARTITION part1 VALUES LESS THAN (100)
-(SUBPARTITION subpart11 STORAGE ENGINE = 'MYISAM',
-SUBPARTITION subpart12 STORAGE ENGINE = 'MYISAM'),
-PARTITION part2 VALUES LESS THAN (2147483647) ENGINE = 'MYISAM'
-(SUBPARTITION subpart21,
-SUBPARTITION subpart22)
-);
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) DEFAULT NULL,
- `f2` char(20) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f1) SUBPARTITION BY HASH (f1) (PARTITION part1 VALUES LESS THAN (100) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (2147483647) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM)) */
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 1 AND 200;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-UPDATE t1 SET f1 = f1 + 200
-WHERE f1 BETWEEN 100 - 50 AND 100 + 50;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 100 + 50 + 200 )
-AS my_value FROM t1;
-my_value
-1
-DELETE FROM t1
-WHERE f1 BETWEEN 100 - 50 + 200 AND 100 + 50 + 200;
-SELECT (COUNT(*) = 200 - 50 - 50 - 1) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SET f1 = 0 , f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 0 AND f2 = '#######';
-my_value
-1
-INSERT INTO t1 SET f1 = 200 + 1, f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 1 AND f2 = '#######';
-my_value
-1
-UPDATE t1 SET f1 = 200 + 2, f2 = 'ZZZZZZZ'
- WHERE f1 = 0 AND f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-my_value
-1
-DELETE FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-SELECT COUNT(*) = 0 AS my_value FROM t1 WHERE f2 = 'ZZZZZZZ';
-my_value
-1
-TRUNCATE t1;
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-DROP TABLE t1;
-# 2.6 Precedence of storage engine assignments
-# 2.6.1 Storage engine assignment after column list + after partition
-# or subpartition name
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20)) ENGINE = 'MYISAM'
-PARTITION BY HASH(f1)
-( PARTITION part1 STORAGE ENGINE = 'MYISAM',
-PARTITION part2 STORAGE ENGINE = 'MYISAM'
-);
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) DEFAULT NULL,
- `f2` char(20) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f1) (PARTITION part1 ENGINE = MyISAM, PARTITION part2 ENGINE = MyISAM) */
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 1 AND 200;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-UPDATE t1 SET f1 = f1 + 200
-WHERE f1 BETWEEN 100 - 50 AND 100 + 50;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 100 + 50 + 200 )
-AS my_value FROM t1;
-my_value
-1
-DELETE FROM t1
-WHERE f1 BETWEEN 100 - 50 + 200 AND 100 + 50 + 200;
-SELECT (COUNT(*) = 200 - 50 - 50 - 1) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SET f1 = 0 , f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 0 AND f2 = '#######';
-my_value
-1
-INSERT INTO t1 SET f1 = 200 + 1, f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 1 AND f2 = '#######';
-my_value
-1
-UPDATE t1 SET f1 = 200 + 2, f2 = 'ZZZZZZZ'
- WHERE f1 = 0 AND f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-my_value
-1
-DELETE FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-SELECT COUNT(*) = 0 AS my_value FROM t1 WHERE f2 = 'ZZZZZZZ';
-my_value
-1
-TRUNCATE t1;
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-DROP TABLE t1;
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20)) ENGINE = 'MYISAM'
-PARTITION BY RANGE(f1)
-SUBPARTITION BY HASH(f1)
-( PARTITION part1 VALUES LESS THAN (100)
-(SUBPARTITION subpart11 STORAGE ENGINE = 'MYISAM',
-SUBPARTITION subpart12 STORAGE ENGINE = 'MYISAM'),
-PARTITION part2 VALUES LESS THAN (2147483647)
-(SUBPARTITION subpart21 STORAGE ENGINE = 'MYISAM',
-SUBPARTITION subpart22 STORAGE ENGINE = 'MYISAM')
-);
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) DEFAULT NULL,
- `f2` char(20) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f1) SUBPARTITION BY HASH (f1) (PARTITION part1 VALUES LESS THAN (100) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (2147483647) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM)) */
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 1 AND 200;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-UPDATE t1 SET f1 = f1 + 200
-WHERE f1 BETWEEN 100 - 50 AND 100 + 50;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 100 + 50 + 200 )
-AS my_value FROM t1;
-my_value
-1
-DELETE FROM t1
-WHERE f1 BETWEEN 100 - 50 + 200 AND 100 + 50 + 200;
-SELECT (COUNT(*) = 200 - 50 - 50 - 1) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SET f1 = 0 , f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 0 AND f2 = '#######';
-my_value
-1
-INSERT INTO t1 SET f1 = 200 + 1, f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 1 AND f2 = '#######';
-my_value
-1
-UPDATE t1 SET f1 = 200 + 2, f2 = 'ZZZZZZZ'
- WHERE f1 = 0 AND f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-my_value
-1
-DELETE FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-SELECT COUNT(*) = 0 AS my_value FROM t1 WHERE f2 = 'ZZZZZZZ';
-my_value
-1
-TRUNCATE t1;
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-DROP TABLE t1;
-# 2.6.2 Storage engine assignment after partition name + after
-# subpartition name
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1)
-SUBPARTITION BY HASH(f1)
-( PARTITION part1 VALUES LESS THAN (100) STORAGE ENGINE = 'MYISAM'
-(SUBPARTITION subpart11 STORAGE ENGINE = 'MYISAM',
-SUBPARTITION subpart12 STORAGE ENGINE = 'MYISAM'),
-PARTITION part2 VALUES LESS THAN (2147483647)
-(SUBPARTITION subpart21 STORAGE ENGINE = 'MYISAM',
-SUBPARTITION subpart22 STORAGE ENGINE = 'MYISAM')
-);
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) DEFAULT NULL,
- `f2` char(20) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f1) SUBPARTITION BY HASH (f1) (PARTITION part1 VALUES LESS THAN (100) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (2147483647) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM)) */
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 1 AND 200;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-UPDATE t1 SET f1 = f1 + 200
-WHERE f1 BETWEEN 100 - 50 AND 100 + 50;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 100 + 50 + 200 )
-AS my_value FROM t1;
-my_value
-1
-DELETE FROM t1
-WHERE f1 BETWEEN 100 - 50 + 200 AND 100 + 50 + 200;
-SELECT (COUNT(*) = 200 - 50 - 50 - 1) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SET f1 = 0 , f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 0 AND f2 = '#######';
-my_value
-1
-INSERT INTO t1 SET f1 = 200 + 1, f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 1 AND f2 = '#######';
-my_value
-1
-UPDATE t1 SET f1 = 200 + 2, f2 = 'ZZZZZZZ'
- WHERE f1 = 0 AND f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-my_value
-1
-DELETE FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-SELECT COUNT(*) = 0 AS my_value FROM t1 WHERE f2 = 'ZZZZZZZ';
-my_value
-1
-TRUNCATE t1;
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-DROP TABLE t1;
-# 2.7 Session default engine differs from engine used within create table
-SET SESSION storage_engine='MEMORY';
-SET SESSION storage_engine='MYISAM';
-
-#------------------------------------------------------------------------
-# 3. Check assigning the number of partitions and subpartitions
-# with and without named partitions/subpartitions
-#------------------------------------------------------------------------
-DROP TABLE IF EXISTS t1;
-# 3.1 (positive) without partition/subpartition number assignment
-# 3.1.1 no partition number, no named partitions
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1);
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) DEFAULT NULL,
- `f2` char(20) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f1) */
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 1 AND 200;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-UPDATE t1 SET f1 = f1 + 200
-WHERE f1 BETWEEN 100 - 50 AND 100 + 50;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 100 + 50 + 200 )
-AS my_value FROM t1;
-my_value
-1
-DELETE FROM t1
-WHERE f1 BETWEEN 100 - 50 + 200 AND 100 + 50 + 200;
-SELECT (COUNT(*) = 200 - 50 - 50 - 1) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SET f1 = 0 , f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 0 AND f2 = '#######';
-my_value
-1
-INSERT INTO t1 SET f1 = 200 + 1, f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 1 AND f2 = '#######';
-my_value
-1
-UPDATE t1 SET f1 = 200 + 2, f2 = 'ZZZZZZZ'
- WHERE f1 = 0 AND f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-my_value
-1
-DELETE FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-SELECT COUNT(*) = 0 AS my_value FROM t1 WHERE f2 = 'ZZZZZZZ';
-my_value
-1
-TRUNCATE t1;
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-DROP TABLE t1;
-# 3.1.2 no partition number, named partitions
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) (PARTITION part1, PARTITION part2);
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) DEFAULT NULL,
- `f2` char(20) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f1) (PARTITION part1 ENGINE = MyISAM, PARTITION part2 ENGINE = MyISAM) */
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 1 AND 200;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-UPDATE t1 SET f1 = f1 + 200
-WHERE f1 BETWEEN 100 - 50 AND 100 + 50;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 100 + 50 + 200 )
-AS my_value FROM t1;
-my_value
-1
-DELETE FROM t1
-WHERE f1 BETWEEN 100 - 50 + 200 AND 100 + 50 + 200;
-SELECT (COUNT(*) = 200 - 50 - 50 - 1) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SET f1 = 0 , f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 0 AND f2 = '#######';
-my_value
-1
-INSERT INTO t1 SET f1 = 200 + 1, f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 1 AND f2 = '#######';
-my_value
-1
-UPDATE t1 SET f1 = 200 + 2, f2 = 'ZZZZZZZ'
- WHERE f1 = 0 AND f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-my_value
-1
-DELETE FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-SELECT COUNT(*) = 0 AS my_value FROM t1 WHERE f2 = 'ZZZZZZZ';
-my_value
-1
-TRUNCATE t1;
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-DROP TABLE t1;
-# 3.1.3 variations on no partition/subpartition number, named partitions,
-# different subpartitions are/are not named
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1) SUBPARTITION BY HASH(f1) (PARTITION part1 VALUES LESS THAN (100), PARTITION part2 VALUES LESS THAN (200), PARTITION part3 VALUES LESS THAN (2147483647)) ;
-DROP TABLE t1;
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1) SUBPARTITION BY HASH(f1) (PARTITION part1 VALUES LESS THAN (100)
-(SUBPARTITION subpart11 , SUBPARTITION subpart12 ), PARTITION part2 VALUES LESS THAN (200)
-(SUBPARTITION subpart21 , SUBPARTITION subpart22 ), PARTITION part3 VALUES LESS THAN (2147483647)
-(SUBPARTITION subpart31 , SUBPARTITION subpart32 )) ;
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) DEFAULT NULL,
- `f2` char(20) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f1) SUBPARTITION BY HASH (f1) (PARTITION part1 VALUES LESS THAN (100) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (200) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM), PARTITION part3 VALUES LESS THAN (2147483647) (SUBPARTITION subpart31 ENGINE = MyISAM, SUBPARTITION subpart32 ENGINE = MyISAM)) */
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 1 AND 200;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-UPDATE t1 SET f1 = f1 + 200
-WHERE f1 BETWEEN 100 - 50 AND 100 + 50;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 100 + 50 + 200 )
-AS my_value FROM t1;
-my_value
-1
-DELETE FROM t1
-WHERE f1 BETWEEN 100 - 50 + 200 AND 100 + 50 + 200;
-SELECT (COUNT(*) = 200 - 50 - 50 - 1) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SET f1 = 0 , f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 0 AND f2 = '#######';
-my_value
-1
-INSERT INTO t1 SET f1 = 200 + 1, f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 1 AND f2 = '#######';
-my_value
-1
-UPDATE t1 SET f1 = 200 + 2, f2 = 'ZZZZZZZ'
- WHERE f1 = 0 AND f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-my_value
-1
-DELETE FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-SELECT COUNT(*) = 0 AS my_value FROM t1 WHERE f2 = 'ZZZZZZZ';
-my_value
-1
-TRUNCATE t1;
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-DROP TABLE t1;
-# 3.2 partition/subpartition numbers good and bad values and notations
-DROP TABLE IF EXISTS t1;
-# 3.2.1 partition/subpartition numbers INTEGER notation
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) PARTITIONS 2;
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) DEFAULT NULL,
- `f2` char(20) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f1) PARTITIONS 2 */
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 1 AND 200;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-UPDATE t1 SET f1 = f1 + 200
-WHERE f1 BETWEEN 100 - 50 AND 100 + 50;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 100 + 50 + 200 )
-AS my_value FROM t1;
-my_value
-1
-DELETE FROM t1
-WHERE f1 BETWEEN 100 - 50 + 200 AND 100 + 50 + 200;
-SELECT (COUNT(*) = 200 - 50 - 50 - 1) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SET f1 = 0 , f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 0 AND f2 = '#######';
-my_value
-1
-INSERT INTO t1 SET f1 = 200 + 1, f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 1 AND f2 = '#######';
-my_value
-1
-UPDATE t1 SET f1 = 200 + 2, f2 = 'ZZZZZZZ'
- WHERE f1 = 0 AND f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-my_value
-1
-DELETE FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-SELECT COUNT(*) = 0 AS my_value FROM t1 WHERE f2 = 'ZZZZZZZ';
-my_value
-1
-TRUNCATE t1;
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-DROP TABLE t1;
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1) SUBPARTITION BY HASH(f1)
-SUBPARTITIONS 2
-(PARTITION part1 VALUES LESS THAN (100), PARTITION part2 VALUES LESS THAN (2147483647));
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) DEFAULT NULL,
- `f2` char(20) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f1) SUBPARTITION BY HASH (f1) SUBPARTITIONS 2 (PARTITION part1 VALUES LESS THAN (100) ENGINE = MyISAM, PARTITION part2 VALUES LESS THAN (2147483647) ENGINE = MyISAM) */
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 1 AND 200;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-UPDATE t1 SET f1 = f1 + 200
-WHERE f1 BETWEEN 100 - 50 AND 100 + 50;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 100 + 50 + 200 )
-AS my_value FROM t1;
-my_value
-1
-DELETE FROM t1
-WHERE f1 BETWEEN 100 - 50 + 200 AND 100 + 50 + 200;
-SELECT (COUNT(*) = 200 - 50 - 50 - 1) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SET f1 = 0 , f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 0 AND f2 = '#######';
-my_value
-1
-INSERT INTO t1 SET f1 = 200 + 1, f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 1 AND f2 = '#######';
-my_value
-1
-UPDATE t1 SET f1 = 200 + 2, f2 = 'ZZZZZZZ'
- WHERE f1 = 0 AND f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-my_value
-1
-DELETE FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-SELECT COUNT(*) = 0 AS my_value FROM t1 WHERE f2 = 'ZZZZZZZ';
-my_value
-1
-TRUNCATE t1;
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-DROP TABLE t1;
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) PARTITIONS 1;
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) DEFAULT NULL,
- `f2` char(20) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f1) PARTITIONS 1 */
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 1 AND 200;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-UPDATE t1 SET f1 = f1 + 200
-WHERE f1 BETWEEN 100 - 50 AND 100 + 50;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 100 + 50 + 200 )
-AS my_value FROM t1;
-my_value
-1
-DELETE FROM t1
-WHERE f1 BETWEEN 100 - 50 + 200 AND 100 + 50 + 200;
-SELECT (COUNT(*) = 200 - 50 - 50 - 1) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SET f1 = 0 , f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 0 AND f2 = '#######';
-my_value
-1
-INSERT INTO t1 SET f1 = 200 + 1, f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 1 AND f2 = '#######';
-my_value
-1
-UPDATE t1 SET f1 = 200 + 2, f2 = 'ZZZZZZZ'
- WHERE f1 = 0 AND f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-my_value
-1
-DELETE FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-SELECT COUNT(*) = 0 AS my_value FROM t1 WHERE f2 = 'ZZZZZZZ';
-my_value
-1
-TRUNCATE t1;
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-DROP TABLE t1;
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1) SUBPARTITION BY HASH(f1)
-SUBPARTITIONS 1
-(PARTITION part1 VALUES LESS THAN (100), PARTITION part2 VALUES LESS THAN (2147483647));
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) DEFAULT NULL,
- `f2` char(20) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f1) SUBPARTITION BY HASH (f1) SUBPARTITIONS 1 (PARTITION part1 VALUES LESS THAN (100) ENGINE = MyISAM, PARTITION part2 VALUES LESS THAN (2147483647) ENGINE = MyISAM) */
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 1 AND 200;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-UPDATE t1 SET f1 = f1 + 200
-WHERE f1 BETWEEN 100 - 50 AND 100 + 50;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 100 + 50 + 200 )
-AS my_value FROM t1;
-my_value
-1
-DELETE FROM t1
-WHERE f1 BETWEEN 100 - 50 + 200 AND 100 + 50 + 200;
-SELECT (COUNT(*) = 200 - 50 - 50 - 1) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SET f1 = 0 , f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 0 AND f2 = '#######';
-my_value
-1
-INSERT INTO t1 SET f1 = 200 + 1, f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 1 AND f2 = '#######';
-my_value
-1
-UPDATE t1 SET f1 = 200 + 2, f2 = 'ZZZZZZZ'
- WHERE f1 = 0 AND f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-my_value
-1
-DELETE FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-SELECT COUNT(*) = 0 AS my_value FROM t1 WHERE f2 = 'ZZZZZZZ';
-my_value
-1
-TRUNCATE t1;
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-DROP TABLE t1;
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) PARTITIONS 0;
-ERROR HY000: Number of partitions = 0 is not an allowed value
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1) SUBPARTITION BY HASH(f1)
-SUBPARTITIONS 0
-(PARTITION part1 VALUES LESS THAN (100), PARTITION part2 VALUES LESS THAN (2147483647));
-ERROR HY000: Number of subpartitions = 0 is not an allowed value
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) 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 2
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1) SUBPARTITION BY HASH(f1)
-SUBPARTITIONS -1
-(PARTITION part1 VALUES LESS THAN (100), PARTITION part2 VALUES LESS THAN (2147483647));
-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 (100), PARTITION part2 VALUES LESS THAN (21' at line 3
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) PARTITIONS 1000000;
-ERROR HY000: Too many partitions (including subpartitions) were defined
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1) SUBPARTITION BY HASH(f1)
-SUBPARTITIONS 1000000
-(PARTITION part1 VALUES LESS THAN (100), PARTITION part2 VALUES LESS THAN (2147483647));
-ERROR HY000: Too many partitions (including subpartitions) were defined
-# 3.2.4 partition/subpartition numbers STRING notation
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) 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 2
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1) SUBPARTITION BY HASH(f1)
-SUBPARTITIONS '2'
-(PARTITION part1 VALUES LESS THAN (100), PARTITION part2 VALUES LESS THAN (2147483647));
-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 (100), PARTITION part2 VALUES LESS THAN (2' at line 3
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) 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 2
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1) SUBPARTITION BY HASH(f1)
-SUBPARTITIONS '2.0'
-(PARTITION part1 VALUES LESS THAN (100), PARTITION part2 VALUES LESS THAN (2147483647));
-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 (100), PARTITION part2 VALUES LESS THAN ' at line 3
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) 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 2
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1) SUBPARTITION BY HASH(f1)
-SUBPARTITIONS '0.2E+1'
-(PARTITION part1 VALUES LESS THAN (100), PARTITION part2 VALUES LESS THAN (2147483647));
-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 (100), PARTITION part2 VALUES LESS TH' at line 3
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) 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 2
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1) SUBPARTITION BY HASH(f1)
-SUBPARTITIONS '2A'
-(PARTITION part1 VALUES LESS THAN (100), PARTITION part2 VALUES LESS THAN (2147483647));
-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 (100), PARTITION part2 VALUES LESS THAN (' at line 3
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) 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 2
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1) SUBPARTITION BY HASH(f1)
-SUBPARTITIONS 'A2'
-(PARTITION part1 VALUES LESS THAN (100), PARTITION part2 VALUES LESS THAN (2147483647));
-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 (100), PARTITION part2 VALUES LESS THAN (' at line 3
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) 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 2
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1) SUBPARTITION BY HASH(f1)
-SUBPARTITIONS ''
-(PARTITION part1 VALUES LESS THAN (100), PARTITION part2 VALUES LESS THAN (2147483647));
-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 (100), PARTITION part2 VALUES LESS THAN (21' at line 3
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) 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 2
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1) SUBPARTITION BY HASH(f1)
-SUBPARTITIONS 'GARBAGE'
-(PARTITION part1 VALUES LESS THAN (100), PARTITION part2 VALUES LESS THAN (2147483647));
-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 (100), PARTITION part2 VALUES LESS T' at line 3
-# 3.2.5 partition/subpartition numbers other notations
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) 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 2
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1) SUBPARTITION BY HASH(f1)
-SUBPARTITIONS 2A
-(PARTITION part1 VALUES LESS THAN (100), PARTITION part2 VALUES LESS THAN (2147483647));
-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 (100), PARTITION part2 VALUES LESS THAN (21' at line 3
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) 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 2
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1) SUBPARTITION BY HASH(f1)
-SUBPARTITIONS A2
-(PARTITION part1 VALUES LESS THAN (100), PARTITION part2 VALUES LESS THAN (2147483647));
-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 (100), PARTITION part2 VALUES LESS THAN (21' at line 3
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) 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 2
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1) SUBPARTITION BY HASH(f1)
-SUBPARTITIONS GARBAGE
-(PARTITION part1 VALUES LESS THAN (100), PARTITION part2 VALUES LESS THAN (2147483647));
-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 (100), PARTITION part2 VALUES LESS THA' at line 3
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) 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 2
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1) SUBPARTITION BY HASH(f1)
-SUBPARTITIONS "2"
-(PARTITION part1 VALUES LESS THAN (100), PARTITION part2 VALUES LESS THAN (2147483647));
-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 (100), PARTITION part2 VALUES LESS THAN (2' at line 3
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) 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 2
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1) SUBPARTITION BY HASH(f1)
-SUBPARTITIONS "2A"
-(PARTITION part1 VALUES LESS THAN (100), PARTITION part2 VALUES LESS THAN (2147483647));
-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 (100), PARTITION part2 VALUES LESS THAN (' at line 3
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) 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 2
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1) SUBPARTITION BY HASH(f1)
-SUBPARTITIONS "A2"
-(PARTITION part1 VALUES LESS THAN (100), PARTITION part2 VALUES LESS THAN (2147483647));
-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 (100), PARTITION part2 VALUES LESS THAN (' at line 3
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) 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 2
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1) SUBPARTITION BY HASH(f1)
-SUBPARTITIONS "GARBAGE"
-(PARTITION part1 VALUES LESS THAN (100), PARTITION part2 VALUES LESS THAN (2147483647));
-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 (100), PARTITION part2 VALUES LESS T' at line 3
-# 3.3 Mixups of assigned partition/subpartition numbers and names
-# 3.3.1 (positive) number of partition/subpartition
-# = number of named partition/subpartition
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) PARTITIONS 2 ( PARTITION part1, PARTITION part2 ) ;
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) DEFAULT NULL,
- `f2` char(20) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f1) (PARTITION part1 ENGINE = MyISAM, PARTITION part2 ENGINE = MyISAM) */
-DROP TABLE t1;
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1) PARTITIONS 2
-SUBPARTITION BY HASH(f1) SUBPARTITIONS 2
-( PARTITION part1 VALUES LESS THAN (1000)
-(SUBPARTITION subpart11, SUBPARTITION subpart12),
-PARTITION part2 VALUES LESS THAN (2147483647)
-(SUBPARTITION subpart21, SUBPARTITION subpart22)
-);
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) DEFAULT NULL,
- `f2` char(20) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f1) SUBPARTITION BY HASH (f1) (PARTITION part1 VALUES LESS THAN (1000) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (2147483647) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM)) */
-DROP TABLE t1;
-# 3.3.2 (positive) number of partition/subpartition ,
-# 0 (= no) named partition/subpartition
-# already checked above
-# 3.3.3 (negative) number of partitions/subpartitions
-# > number of named partitions/subpartitions
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) PARTITIONS 2 ( PARTITION part1 ) ;
-ERROR 42000: Wrong number of partitions defined, mismatch with previous setting near ')' at line 2
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1)
-SUBPARTITION BY HASH(f1) SUBPARTITIONS 2
-( PARTITION part1 VALUES LESS THAN (1000)
-(SUBPARTITION subpart11 ),
-PARTITION part2 VALUES LESS THAN (2147483647)
-(SUBPARTITION subpart21, SUBPARTITION subpart22)
-);
-ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near '),
-PARTITION part2 VALUES LESS THAN (2147483647)
-(SUBPARTITION subpart21, SUBPAR' at line 5
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1)
-SUBPARTITION BY HASH(f1) 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 (2147483647)
-(SUBPARTITION subpart31, SUBPARTITION subpart32)
-);
-ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near '),
-PARTITION part3 VALUES LESS THAN (2147483647)
-(SUBPARTITION subpart31, SUBPAR' at line 7
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1) PARTITIONS 2
-SUBPARTITION BY HASH(f1) SUBPARTITIONS 2
-( PARTITION part1 VALUES LESS THAN (1000)
-(SUBPARTITION subpart11, SUBPARTITION subpart12),
-PARTITION part2 VALUES LESS THAN (2147483647)
-(SUBPARTITION subpart21 )
-);
-ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near ')
-)' at line 7
-# 3.3.4 (negative) number of partitions < number of named partitions
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) PARTITIONS 1 ( PARTITION part1, PARTITION part2 ) ;
-ERROR 42000: Wrong number of partitions defined, mismatch with previous setting near ')' at line 2
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1)
-SUBPARTITION BY HASH(f1) SUBPARTITIONS 1
-( PARTITION part1 VALUES LESS THAN (1000)
-(SUBPARTITION subpart11, SUBPARTITION subpart12),
-PARTITION part2 VALUES LESS THAN (2147483647)
-(SUBPARTITION subpart21, SUBPARTITION subpart22)
-);
-ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near '),
-PARTITION part2 VALUES LESS THAN (2147483647)
-(SUBPARTITION subpart21, SUBPAR' at line 5
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1)
-SUBPARTITION BY HASH(f1) 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 (2147483647)
-(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 5
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1)
-SUBPARTITION BY HASH(f1) SUBPARTITIONS 1
-( PARTITION part1 VALUES LESS THAN (1000)
-(SUBPARTITION subpart11, SUBPARTITION subpart12),
-PARTITION part2 VALUES LESS THAN (2147483647)
-(SUBPARTITION subpart21, SUBPARTITION subpart22)
-);
-ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near '),
-PARTITION part2 VALUES LESS THAN (2147483647)
-(SUBPARTITION subpart21, SUBPAR' at line 5
-
-#------------------------------------------------------------------------
-# 4. Checks of logical partition/subpartition name
-# file name clashes during CREATE TABLE
-#------------------------------------------------------------------------
-DROP TABLE IF EXISTS t1;
-# 4.1 (negative) A partition name used more than once
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) (PARTITION part1, PARTITION part1);
-ERROR HY000: Duplicate partition name part1
-# FIXME Implement testcases with filename problems
-# existing file of other table --- partition/subpartition file name
-# partition/subpartition file name --- file of the same table
-
-#------------------------------------------------------------------------
-# 5. Alter table experiments
-#------------------------------------------------------------------------
-DROP TABLE IF EXISTS t1;
-# 5.1 alter table add partition
-# 5.1.1 (negative) add partition to non partitioned table
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20));
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) DEFAULT NULL,
- `f2` char(20) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-ALTER TABLE t1 ADD PARTITION (PARTITION part1);
-Got one of the listed errors
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) DEFAULT NULL,
- `f2` char(20) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-DROP TABLE t1;
-# 5.1.2 Add one partition to a table with one partition
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1);
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) DEFAULT NULL,
- `f2` char(20) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f1) */
-INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 1 AND 100 - 1;
-ALTER TABLE t1 ADD PARTITION (PARTITION part1);
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) DEFAULT NULL,
- `f2` char(20) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f1) (PARTITION p0 ENGINE = MyISAM, PARTITION part1 ENGINE = MyISAM) */
-INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 100 AND 200;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-UPDATE t1 SET f1 = f1 + 200
-WHERE f1 BETWEEN 100 - 50 AND 100 + 50;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 100 + 50 + 200 )
-AS my_value FROM t1;
-my_value
-1
-DELETE FROM t1
-WHERE f1 BETWEEN 100 - 50 + 200 AND 100 + 50 + 200;
-SELECT (COUNT(*) = 200 - 50 - 50 - 1) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SET f1 = 0 , f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 0 AND f2 = '#######';
-my_value
-1
-INSERT INTO t1 SET f1 = 200 + 1, f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 1 AND f2 = '#######';
-my_value
-1
-UPDATE t1 SET f1 = 200 + 2, f2 = 'ZZZZZZZ'
- WHERE f1 = 0 AND f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-my_value
-1
-DELETE FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-SELECT COUNT(*) = 0 AS my_value FROM t1 WHERE f2 = 'ZZZZZZZ';
-my_value
-1
-TRUNCATE t1;
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-DROP TABLE t1;
-# 5.1.3 Several times add one partition to a table with some partitions
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) (PARTITION part1, PARTITION part3);
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) DEFAULT NULL,
- `f2` char(20) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f1) (PARTITION part1 ENGINE = MyISAM, PARTITION part3 ENGINE = MyISAM) */
-INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 1 AND 100 - 1;
-ALTER TABLE t1 ADD PARTITION (PARTITION part0);
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) DEFAULT NULL,
- `f2` char(20) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f1) (PARTITION part1 ENGINE = MyISAM, PARTITION part3 ENGINE = MyISAM, PARTITION part0 ENGINE = MyISAM) */
-INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 100 AND 200;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-UPDATE t1 SET f1 = f1 + 200
-WHERE f1 BETWEEN 100 - 50 AND 100 + 50;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 100 + 50 + 200 )
-AS my_value FROM t1;
-my_value
-1
-DELETE FROM t1
-WHERE f1 BETWEEN 100 - 50 + 200 AND 100 + 50 + 200;
-SELECT (COUNT(*) = 200 - 50 - 50 - 1) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SET f1 = 0 , f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 0 AND f2 = '#######';
-my_value
-1
-INSERT INTO t1 SET f1 = 200 + 1, f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 1 AND f2 = '#######';
-my_value
-1
-UPDATE t1 SET f1 = 200 + 2, f2 = 'ZZZZZZZ'
- WHERE f1 = 0 AND f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-my_value
-1
-DELETE FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-SELECT COUNT(*) = 0 AS my_value FROM t1 WHERE f2 = 'ZZZZZZZ';
-my_value
-1
-TRUNCATE t1;
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-DELETE FROM t1;
-INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 1 AND 100 - 1;
-ALTER TABLE t1 ADD PARTITION (PARTITION part2);
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) DEFAULT NULL,
- `f2` char(20) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f1) (PARTITION part1 ENGINE = MyISAM, PARTITION part3 ENGINE = MyISAM, PARTITION part0 ENGINE = MyISAM, PARTITION part2 ENGINE = MyISAM) */
-INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 100 AND 200;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-UPDATE t1 SET f1 = f1 + 200
-WHERE f1 BETWEEN 100 - 50 AND 100 + 50;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 100 + 50 + 200 )
-AS my_value FROM t1;
-my_value
-1
-DELETE FROM t1
-WHERE f1 BETWEEN 100 - 50 + 200 AND 100 + 50 + 200;
-SELECT (COUNT(*) = 200 - 50 - 50 - 1) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SET f1 = 0 , f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 0 AND f2 = '#######';
-my_value
-1
-INSERT INTO t1 SET f1 = 200 + 1, f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 1 AND f2 = '#######';
-my_value
-1
-UPDATE t1 SET f1 = 200 + 2, f2 = 'ZZZZZZZ'
- WHERE f1 = 0 AND f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-my_value
-1
-DELETE FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-SELECT COUNT(*) = 0 AS my_value FROM t1 WHERE f2 = 'ZZZZZZZ';
-my_value
-1
-TRUNCATE t1;
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-DELETE FROM t1;
-INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 1 AND 100 - 1;
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) DEFAULT NULL,
- `f2` char(20) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f1) (PARTITION part1 ENGINE = MyISAM, PARTITION part3 ENGINE = MyISAM, PARTITION part0 ENGINE = MyISAM, PARTITION part2 ENGINE = MyISAM) */
-INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 100 AND 200;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-UPDATE t1 SET f1 = f1 + 200
-WHERE f1 BETWEEN 100 - 50 AND 100 + 50;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 100 + 50 + 200 )
-AS my_value FROM t1;
-my_value
-1
-DELETE FROM t1
-WHERE f1 BETWEEN 100 - 50 + 200 AND 100 + 50 + 200;
-SELECT (COUNT(*) = 200 - 50 - 50 - 1) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SET f1 = 0 , f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 0 AND f2 = '#######';
-my_value
-1
-INSERT INTO t1 SET f1 = 200 + 1, f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 1 AND f2 = '#######';
-my_value
-1
-UPDATE t1 SET f1 = 200 + 2, f2 = 'ZZZZZZZ'
- WHERE f1 = 0 AND f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-my_value
-1
-DELETE FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-SELECT COUNT(*) = 0 AS my_value FROM t1 WHERE f2 = 'ZZZZZZZ';
-my_value
-1
-TRUNCATE t1;
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-DROP TABLE t1;
-# 5.1.4 Add several partitions to a table with some partitions
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) (PARTITION part1, PARTITION part3);
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) DEFAULT NULL,
- `f2` char(20) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f1) (PARTITION part1 ENGINE = MyISAM, PARTITION part3 ENGINE = MyISAM) */
-INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 1 AND 100 - 1;
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) DEFAULT NULL,
- `f2` char(20) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f1) (PARTITION part1 ENGINE = MyISAM, PARTITION part3 ENGINE = MyISAM) */
-INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 100 AND 200;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-UPDATE t1 SET f1 = f1 + 200
-WHERE f1 BETWEEN 100 - 50 AND 100 + 50;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 100 + 50 + 200 )
-AS my_value FROM t1;
-my_value
-1
-DELETE FROM t1
-WHERE f1 BETWEEN 100 - 50 + 200 AND 100 + 50 + 200;
-SELECT (COUNT(*) = 200 - 50 - 50 - 1) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SET f1 = 0 , f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 0 AND f2 = '#######';
-my_value
-1
-INSERT INTO t1 SET f1 = 200 + 1, f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 1 AND f2 = '#######';
-my_value
-1
-UPDATE t1 SET f1 = 200 + 2, f2 = 'ZZZZZZZ'
- WHERE f1 = 0 AND f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-my_value
-1
-DELETE FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-SELECT COUNT(*) = 0 AS my_value FROM t1 WHERE f2 = 'ZZZZZZZ';
-my_value
-1
-TRUNCATE t1;
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-DROP TABLE t1;
-# 5.1.5 (negative) Add partitions to a table with some partitions
-# clash on new and already existing partition names
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) (PARTITION part1, PARTITION part2, PARTITION part3);
-ALTER TABLE t1 ADD PARTITION (PARTITION part1);
-ERROR HY000: Duplicate partition name part1
-ALTER TABLE t1 ADD PARTITION (PARTITION part2);
-ERROR HY000: Duplicate partition name part2
-ALTER TABLE t1 ADD PARTITION (PARTITION part3);
-ERROR HY000: Duplicate partition name part3
-ALTER TABLE t1 ADD PARTITION (PARTITION part1, PARTITION part2, PARTITION part3);
-ERROR HY000: Duplicate partition name part1
-DROP TABLE t1;
-# 5.2 alter table add subpartition
-# 5.2.1 Add one subpartition to a table with subpartitioning rule and
-# no explicit defined subpartitions
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1)
-SUBPARTITION BY HASH(f1)
-(PARTITION part1 VALUES LESS THAN (100));
-INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 1 AND 100 - 1;
-ALTER TABLE t1 ADD PARTITION (PARTITION part2 VALUES LESS THAN (2147483647)
-(SUBPARTITION subpart21));
-DROP TABLE t1;
-DROP TABLE if exists t0_template;
diff --git a/mysql-test/r/partition_archive.result b/mysql-test/r/partition_archive.result
new file mode 100644
index 00000000000..5c84b41e81b
--- /dev/null
+++ b/mysql-test/r/partition_archive.result
@@ -0,0 +1,91 @@
+drop database if exists db99;
+drop table if exists t1;
+create database db99;
+use db99;
+create table t1 (a int not null)
+engine=archive
+partition by list (a)
+(partition p0 values in (1), partition p1 values in (2));
+insert into t1 values (1), (2);
+create index inx on t1 (a);
+alter table t1 add partition (partition p2 values in (3));
+alter table t1 drop partition p2;
+use test;
+drop database db99;
+create table t1 (f1 integer) engine= ARCHIVE partition by list(f1)
+(
+partition p1 values in (1),
+partition p2 values in (NULL),
+partition p3 values in (2),
+partition p4 values in (3),
+partition p5 values in (4)
+);
+insert into t1 values (1),(2),(3),(4),(null);
+select * from t1;
+f1
+1
+NULL
+2
+3
+4
+select * from t1 where f1 < 3;
+f1
+1
+2
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null) engine=ARCHIVE
+partition by hash (a + 2)
+partitions 3
+(partition x1 tablespace ts1,
+partition x2 tablespace ts2,
+partition x3 tablespace ts3);
+insert into t1 values (1,1,1);
+insert into t1 values (2,1,1);
+insert into t1 values (3,1,1);
+insert into t1 values (4,1,1);
+insert into t1 values (5,1,1);
+select * from t1;
+a b c
+1 1 1
+4 1 1
+2 1 1
+5 1 1
+3 1 1
+drop table t1;
+create table t1 (a int) engine=archive partition by hash(a);
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (a) */
+drop table t1;
+CREATE TABLE t1(id MEDIUMINT NOT NULL AUTO_INCREMENT,
+f1 VARCHAR(25),
+PRIMARY KEY(id)) ENGINE=ARCHIVE
+PARTITION BY RANGE(id)
+SUBPARTITION BY hash(id) subpartitions 2
+(PARTITION pa1 values less than (10),
+PARTITION pa2 values less than (20),
+PARTITION pa3 values less than (30),
+PARTITION pa4 values less than (40),
+PARTITION pa5 values less than (50),
+PARTITION pa6 values less than (60),
+PARTITION pa7 values less than (70),
+PARTITION pa8 values less than (80),
+PARTITION pa9 values less than (90),
+PARTITION pa10 values less than (100),
+PARTITION pa11 values less than MAXVALUE);
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `id` mediumint(9) NOT NULL AUTO_INCREMENT,
+ `f1` varchar(25) DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=ARCHIVE AUTO_INCREMENT=101 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (id) SUBPARTITION BY HASH (id) SUBPARTITIONS 2 (PARTITION pa1 VALUES LESS THAN (10) ENGINE = ARCHIVE, PARTITION pa2 VALUES LESS THAN (20) ENGINE = ARCHIVE, PARTITION pa3 VALUES LESS THAN (30) ENGINE = ARCHIVE, PARTITION pa4 VALUES LESS THAN (40) ENGINE = ARCHIVE, PARTITION pa5 VALUES LESS THAN (50) ENGINE = ARCHIVE, PARTITION pa6 VALUES LESS THAN (60) ENGINE = ARCHIVE, PARTITION pa7 VALUES LESS THAN (70) ENGINE = ARCHIVE, PARTITION pa8 VALUES LESS THAN (80) ENGINE = ARCHIVE, PARTITION pa9 VALUES LESS THAN (90) ENGINE = ARCHIVE, PARTITION pa10 VALUES LESS THAN (100) ENGINE = ARCHIVE, PARTITION pa11 VALUES LESS THAN MAXVALUE ENGINE = ARCHIVE) */
+select count(*) from t1;
+count(*)
+100
+drop table t1;
diff --git a/mysql-test/r/partition_blackhole.result b/mysql-test/r/partition_blackhole.result
new file mode 100644
index 00000000000..225cc1886fd
--- /dev/null
+++ b/mysql-test/r/partition_blackhole.result
@@ -0,0 +1,7 @@
+DROP TABLE IF EXISTS t1;
+CREATE TABLE `t1` (
+`id` int(11) default NULL
+) ENGINE=BLACKHOLE DEFAULT CHARSET=latin1 PARTITION BY HASH (id) ;
+SELECT * FROM t1;
+id
+DROP TABLE t1;
diff --git a/mysql-test/r/partition_csv.result b/mysql-test/r/partition_csv.result
new file mode 100644
index 00000000000..b5e1dcd9541
--- /dev/null
+++ b/mysql-test/r/partition_csv.result
@@ -0,0 +1,15 @@
+drop table if exists t1;
+create table t1 (a int)
+engine = csv
+partition by list (a)
+(partition p0 values in (null));
+ERROR HY000: Engine cannot be used in partitioned tables
+USE mysql;
+SET GLOBAL general_log = 0;
+ALTER TABLE general_log ENGINE = MyISAM;
+ALTER TABLE general_log PARTITION BY RANGE (TO_DAYS(event_time))
+(PARTITION p0 VALUES LESS THAN (733144),
+PARTITION p1 VALUES LESS THAN (3000000));
+ERROR HY000: Incorrect usage of PARTITION and log table
+ALTER TABLE general_log ENGINE = CSV;
+SET GLOBAL general_log = 1;
diff --git a/mysql-test/r/partition_datatype.result b/mysql-test/r/partition_datatype.result
new file mode 100644
index 00000000000..43d9aac13b7
--- /dev/null
+++ b/mysql-test/r/partition_datatype.result
@@ -0,0 +1,334 @@
+drop table if exists t1;
+# test with not null
+create table t1 (a bit not null) partition by key (a);
+insert into t1 values (b'1');
+select hex(a) from t1 where a = b'1';
+hex(a)
+1
+drop table t1;
+create table t1 (a tinyint not null) partition by key (a);
+insert into t1 values (2);
+select * from t1 where a = 2;
+a
+2
+drop table t1;
+create table t1 (a smallint not null) partition by key (a);
+insert into t1 values (2);
+select * from t1 where a = 2;
+a
+2
+drop table t1;
+create table t1 (a mediumint not null) partition by key (a);
+insert into t1 values (2);
+select * from t1 where a = 2;
+a
+2
+drop table t1;
+create table t1 (a int not null) partition by key (a);
+insert into t1 values (2);
+select * from t1 where a = 2;
+a
+2
+drop table t1;
+create table t1 (a bigint not null) partition by key (a);
+insert into t1 values (2);
+select * from t1 where a = 2;
+a
+2
+drop table t1;
+create table t1 (a float not null) partition by key (a);
+insert into t1 values (0.5);
+select * from t1 where a = 0.5;
+a
+0.5
+drop table t1;
+create table t1 (a double not null) partition by key (a);
+insert into t1 values (0.5);
+select * from t1 where a = 0.5;
+a
+0.5
+drop table t1;
+create table t1 (a decimal(4,2) not null) partition by key (a);
+insert into t1 values (2.1);
+select * from t1 where a = 2.1;
+a
+2.10
+drop table t1;
+create table t1 (a date not null) partition by key (a);
+insert into t1 values ('2001-01-01');
+select * from t1 where a = '2001-01-01';
+a
+2001-01-01
+drop table t1;
+create table t1 (a datetime not null) partition by key (a);
+insert into t1 values ('2001-01-01 01:02:03');
+select * from t1 where a = '2001-01-01 01:02:03';
+a
+2001-01-01 01:02:03
+drop table t1;
+create table t1 (a timestamp not null) partition by key (a);
+insert into t1 values ('2001-01-01 01:02:03');
+select * from t1 where a = '2001-01-01 01:02:03';
+a
+2001-01-01 01:02:03
+drop table t1;
+create table t1 (a time not null) partition by key (a);
+insert into t1 values ('01:02:03');
+select * from t1 where a = '01:02:03';
+a
+01:02:03
+drop table t1;
+create table t1 (a year not null) partition by key (a);
+insert into t1 values ('2001');
+select * from t1 where a = '2001';
+a
+2001
+drop table t1;
+create table t1 (a varchar(10) character set utf8 not null) partition by key (a);
+insert into t1 values ('abc');
+select * from t1 where a = 'abc';
+a
+abc
+drop table t1;
+create table t1 (a varchar(300) character set utf8 not null) partition by key (a);
+insert into t1 values ('abc');
+select * from t1 where a = 'abc';
+a
+abc
+drop table t1;
+create table t1 (a varchar(10) character set latin1 not null) partition by key (a);
+insert into t1 values ('abc');
+select * from t1 where a = 'abc';
+a
+abc
+drop table t1;
+create table t1 (a varchar(300) character set latin1 not null) partition by key (a);
+insert into t1 values ('abc');
+select * from t1 where a = 'abc';
+a
+abc
+drop table t1;
+create table t1 (a char(10) character set utf8 not null) partition by key (a);
+insert into t1 values ('abc');
+select * from t1 where a = 'abc';
+a
+abc
+drop table t1;
+create table t1 (a char(10) character set latin1 not null) partition by key (a);
+insert into t1 values ('abc');
+select * from t1 where a = 'abc';
+a
+abc
+drop table t1;
+create table t1 (a enum('y','n') not null) partition by key (a);
+insert into t1 values ('y');
+select * from t1 where a = 'y';
+a
+y
+drop table t1;
+create table t1 (a set('y','n') not null) partition by key (a);
+insert into t1 values ('y');
+select * from t1 where a = 'y';
+a
+y
+drop table t1;
+# test with null allowed
+create table t1 (a bit) partition by key (a);
+insert into t1 values (b'1');
+insert into t1 values (NULL);
+select hex(a) from t1 where a = b'1';
+hex(a)
+1
+select hex(a) from t1 where a is NULL;
+hex(a)
+NULL
+select hex(a) from t1 order by a;
+hex(a)
+NULL
+1
+drop table t1;
+create table t1 (a tinyint) partition by key (a);
+insert into t1 values (2);
+select * from t1 where a = 2;
+a
+2
+drop table t1;
+create table t1 (a smallint) partition by key (a);
+insert into t1 values (2);
+select * from t1 where a = 2;
+a
+2
+drop table t1;
+create table t1 (a mediumint) partition by key (a);
+insert into t1 values (2);
+select * from t1 where a = 2;
+a
+2
+drop table t1;
+create table t1 (a int) partition by key (a);
+insert into t1 values (2);
+select * from t1 where a = 2;
+a
+2
+drop table t1;
+create table t1 (a bigint) partition by key (a);
+insert into t1 values (2);
+select * from t1 where a = 2;
+a
+2
+drop table t1;
+create table t1 (a float) partition by key (a);
+insert into t1 values (0.5);
+select * from t1 where a = 0.5;
+a
+0.5
+drop table t1;
+create table t1 (a double) partition by key (a);
+insert into t1 values (0.5);
+select * from t1 where a = 0.5;
+a
+0.5
+drop table t1;
+create table t1 (a decimal(4,2)) partition by key (a);
+insert into t1 values (2.1);
+select * from t1 where a = 2.1;
+a
+2.10
+drop table t1;
+create table t1 (a date) partition by key (a);
+insert into t1 values ('2001-01-01');
+select * from t1 where a = '2001-01-01';
+a
+2001-01-01
+drop table t1;
+create table t1 (a datetime) partition by key (a);
+insert into t1 values ('2001-01-01 01:02:03');
+select * from t1 where a = '2001-01-01 01:02:03';
+a
+2001-01-01 01:02:03
+drop table t1;
+create table t1 (a timestamp null) partition by key (a);
+insert into t1 values ('2001-01-01 01:02:03');
+select * from t1 where a = '2001-01-01 01:02:03';
+a
+2001-01-01 01:02:03
+drop table t1;
+create table t1 (a time) partition by key (a);
+insert into t1 values ('01:02:03');
+select * from t1 where a = '01:02:03';
+a
+01:02:03
+drop table t1;
+create table t1 (a year) partition by key (a);
+insert into t1 values ('2001');
+select * from t1 where a = '2001';
+a
+2001
+drop table t1;
+create table t1 (a varchar(10) character set utf8) partition by key (a);
+insert into t1 values ('abc');
+select * from t1 where a = 'abc';
+a
+abc
+drop table t1;
+create table t1 (a varchar(300) character set utf8) partition by key (a);
+insert into t1 values ('abc');
+select * from t1 where a = 'abc';
+a
+abc
+drop table t1;
+create table t1 (a varchar(10) character set latin1) partition by key (a);
+insert into t1 values ('abc');
+select * from t1 where a = 'abc';
+a
+abc
+drop table t1;
+create table t1 (a varchar(300) character set latin1) partition by key (a);
+insert into t1 values ('abc');
+select * from t1 where a = 'abc';
+a
+abc
+drop table t1;
+create table t1 (a char(10) character set utf8) partition by key (a);
+insert into t1 values ('abc');
+select * from t1 where a = 'abc';
+a
+abc
+drop table t1;
+create table t1 (a char(10) character set latin1) partition by key (a);
+insert into t1 values ('abc');
+select * from t1 where a = 'abc';
+a
+abc
+drop table t1;
+create table t1 (a enum('y','n')) partition by key (a);
+insert into t1 values ('y');
+select * from t1 where a = 'y';
+a
+y
+drop table t1;
+create table t1 (a set('y','n')) partition by key (a);
+insert into t1 values ('y');
+select * from t1 where a = 'y';
+a
+y
+drop table t1;
+create table t1 (a varchar(65531)) partition by key (a);
+insert into t1 values ('bbbb');
+insert into t1 values ('aaaa');
+select * from t1 where a = 'aaaa';
+a
+aaaa
+select * from t1 where a like 'aaa%';
+a
+aaaa
+select * from t1 where a = 'bbbb';
+a
+bbbb
+drop table t1;
+create table t1 (a varchar(65532)) partition by key (a);
+insert into t1 values ('bbbb');
+insert into t1 values ('aaaa');
+select * from t1 where a = 'aaaa';
+a
+aaaa
+select * from t1 where a like 'aaa%';
+a
+aaaa
+select * from t1 where a = 'bbbb';
+a
+bbbb
+drop table t1;
+create table t1 (a varchar(65533) not null) partition by key (a);
+insert into t1 values ('bbbb');
+insert into t1 values ('aaaa');
+select * from t1 where a = 'aaaa';
+a
+aaaa
+select * from t1 where a like 'aaa%';
+a
+aaaa
+select * from t1 where a = 'bbbb';
+a
+bbbb
+drop table t1;
+create table t1 (a varchar(65533)) partition by key (a);
+ERROR 42000: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs
+create table t1 (a varchar(65534) not null) partition by key (a);
+ERROR 42000: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs
+create table t1 (a varchar(65535)) partition by key (a);
+ERROR 42000: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs
+create table t1 (a bit(27), primary key (a)) engine=myisam
+partition by hash (a)
+(partition p0, partition p1, partition p2);
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` bit(27) NOT NULL DEFAULT '\0\0\0\0',
+ PRIMARY KEY (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (a) (PARTITION p0 ENGINE = MyISAM, PARTITION p1 ENGINE = MyISAM, PARTITION p2 ENGINE = MyISAM) */
+insert into t1 values (1),(4),(7),(10),(13),(16),(19),(22),(25),(28),(31),(34);
+select hex(a) from t1 where a = 7;
+hex(a)
+7
+drop table t1;
diff --git a/mysql-test/r/partition_error.result b/mysql-test/r/partition_error.result
index 7952c8df609..585447ff333 100644
--- a/mysql-test/r/partition_error.result
+++ b/mysql-test/r/partition_error.result
@@ -1,4 +1,26 @@
drop table if exists 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
+)
+PARTITION BY RANGE (a)
+(
+PARTITION p0 VALUES LESS THAN (1),
+PARTITION p1 VALU ES LESS THAN (2)
+);
+ERROR HY000: Syntax error: RANGE PARTITIONING requires definition of VALUES LESS THAN for each partition
partition by list (a)
partitions 3
(partition x1 values in (1,2,9,4) tablespace ts1,
@@ -351,7 +373,7 @@ partition by range (a)
partitions 2
(partition x1 values less than (4),
partition x2);
-ERROR HY000: RANGE PARTITIONING requires definition of VALUES LESS THAN for each partition
+ERROR HY000: Syntax error: RANGE PARTITIONING requires definition of VALUES LESS THAN for each partition
CREATE TABLE t1 (
a int not null,
b int not null,
@@ -531,7 +553,7 @@ partition by list (a)
partitions 2
(partition x1 values in (4),
partition x2);
-ERROR HY000: LIST PARTITIONING requires definition of VALUES IN for each partition
+ERROR HY000: Syntax error: LIST PARTITIONING requires definition of VALUES IN for each partition
CREATE TABLE t1 (
a int not null,
b int not null,
@@ -551,7 +573,7 @@ partition by list (a)
partitions 2
(partition x1 values in (4,6),
partition x2);
-ERROR HY000: LIST PARTITIONING requires definition of VALUES IN for each partition
+ERROR HY000: Syntax error: LIST PARTITIONING requires definition of VALUES IN for each partition
CREATE TABLE t1 (
a int not null,
b int not null,
diff --git a/mysql-test/r/partition_hash.result b/mysql-test/r/partition_hash.result
index 9a82a36d902..94fefe77a77 100644
--- a/mysql-test/r/partition_hash.result
+++ b/mysql-test/r/partition_hash.result
@@ -1,4 +1,16 @@
drop table if exists t1;
+CREATE TABLE t1 (c1 INT)
+PARTITION BY HASH (c1)
+PARTITIONS 15;
+INSERT INTO t1 VALUES (1), (2), (3), (4), (5);
+ALTER TABLE t1 COALESCE PARTITION 13;
+DROP TABLE t1;
+CREATE TABLE t1 (c1 INT)
+PARTITION BY LINEAR HASH (c1)
+PARTITIONS 5;
+INSERT INTO t1 VALUES (1), (2), (3), (4), (5);
+ALTER TABLE t1 COALESCE PARTITION 3;
+DROP TABLE t1;
create table t1 (a int unsigned)
partition by hash(a div 2)
partitions 4;
@@ -183,3 +195,6 @@ c1 c2 c3
182 abc 2002-11-09
184 abc 2002-11-22
drop table t1;
+CREATE TABLE t1 (c1 INT) ENGINE=MyISAM PARTITION BY HASH(c1) PARTITIONS 1;
+INSERT DELAYED INTO t1 VALUES (1);
+DROP TABLE t1;
diff --git a/mysql-test/r/partition_innodb.result b/mysql-test/r/partition_innodb.result
index 8282cfc212a..6e56f9023eb 100644
--- a/mysql-test/r/partition_innodb.result
+++ b/mysql-test/r/partition_innodb.result
@@ -1,33 +1,45 @@
+# Bug#32948
+CREATE TABLE t1 (c1 INT, PRIMARY KEY (c1)) ENGINE=INNODB;
+CREATE TABLE t2 (c1 INT, PRIMARY KEY (c1),
+FOREIGN KEY (c1) REFERENCES t1 (c1)
+ON DELETE CASCADE)
+ENGINE=INNODB;
+ALTER TABLE t1 PARTITION BY HASH(c1) PARTITIONS 5;
+ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails
+ALTER TABLE t1 ENGINE=MyISAM;
+ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails
+DROP TABLE t2;
+DROP TABLE t1;
create table t1 (a int) engine=innodb partition by hash(a) ;
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 InnoDB 10 Compact 2 8192 16384 0 0 0 NULL NULL NULL NULL latin1_swedish_ci NULL partitioned
+t1 InnoDB 10 Compact 2 8192 16384 0 0 # NULL NULL NULL NULL latin1_swedish_ci NULL partitioned
drop table t1;
create table t1 (a int)
engine = innodb
partition by key (a);
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 InnoDB 10 Compact 2 8192 16384 0 0 0 NULL NULL NULL NULL latin1_swedish_ci NULL partitioned
+t1 InnoDB 10 Compact 2 8192 16384 0 0 # NULL NULL NULL NULL latin1_swedish_ci NULL partitioned
insert into t1 values (0), (1), (2), (3);
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 InnoDB 10 Compact 4 4096 16384 0 0 0 NULL NULL NULL NULL latin1_swedish_ci NULL partitioned
+t1 InnoDB 10 Compact 4 4096 16384 0 0 # NULL NULL NULL NULL latin1_swedish_ci NULL partitioned
drop table t1;
create table t1 (a int auto_increment primary key)
engine = innodb
partition by key (a);
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 InnoDB 10 Compact 2 8192 16384 0 0 0 1 NULL NULL NULL latin1_swedish_ci NULL partitioned
+t1 InnoDB 10 Compact 2 8192 16384 0 0 # 1 NULL NULL NULL latin1_swedish_ci NULL partitioned
insert into t1 values (NULL), (NULL), (NULL), (NULL);
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 InnoDB 10 Compact 4 4096 16384 0 0 0 5 NULL NULL NULL latin1_swedish_ci NULL partitioned
+t1 InnoDB 10 Compact 4 4096 16384 0 0 # 5 NULL NULL NULL latin1_swedish_ci NULL partitioned
insert into t1 values (NULL), (NULL), (NULL), (NULL);
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 InnoDB 10 Compact 8 2048 16384 0 0 0 9 NULL NULL NULL latin1_swedish_ci NULL partitioned
+t1 InnoDB 10 Compact 8 2048 16384 0 0 # 9 NULL NULL NULL latin1_swedish_ci NULL partitioned
drop table t1;
create table t1 (a int)
partition by key (a)
@@ -67,8 +79,7 @@ engine = innodb
partition by list (a)
(partition p0 values in (0));
alter table t1 engine = x;
-Warnings:
-Warning 1286 Unknown table engine 'x'
+ERROR HY000: The mix of handlers in the partitions is not allowed in this version of MySQL
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
@@ -129,3 +140,25 @@ insert into t1 (time, first_name, last_name) values ('2007-02-07', 'Q', 'Robert'
SELECT * FROM t1 WHERE first_name='Andy' OR last_name='Jake';
id time first_name last_name
drop table t1;
+CREATE TABLE t1 (a DOUBLE NOT NULL, KEY(a)) ENGINE=InnoDB
+PARTITION BY KEY(a) PARTITIONS 10;
+INSERT INTO t1 VALUES(1),(2);
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+2
+DROP TABLE t1;
+create table t1 (int_column int, char_column char(5))
+PARTITION BY RANGE (int_column) subpartition by key (char_column) subpartitions 2
+(PARTITION p1 VALUES LESS THAN (5) ENGINE = InnoDB);
+alter table t1
+ENGINE = MyISAM
+PARTITION BY RANGE (int_column)
+subpartition by key (char_column) subpartitions 2
+(PARTITION p1 VALUES LESS THAN (5));
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `int_column` int(11) DEFAULT NULL,
+ `char_column` char(5) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (int_column) SUBPARTITION BY KEY (char_column) SUBPARTITIONS 2 (PARTITION p1 VALUES LESS THAN (5) ENGINE = MyISAM) */
+drop table t1;
diff --git a/mysql-test/r/partition_mgm.result b/mysql-test/r/partition_mgm.result
index 04ac603fea7..9ef220028b3 100644
--- a/mysql-test/r/partition_mgm.result
+++ b/mysql-test/r/partition_mgm.result
@@ -17,12 +17,6 @@ t1 CREATE TABLE `t1` (
`f_date` date DEFAULT NULL,
`f_varchar` varchar(30) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (YEAR(f_date)) PARTITIONS 2 */
-hello/master-data/test/t1#P#p0.MYD
-hello/master-data/test/t1#P#p0.MYI
-hello/master-data/test/t1#P#p1.MYD
-hello/master-data/test/t1#P#p1.MYI
-hello/master-data/test/t1.frm
-hello/master-data/test/t1.par
ALTER TABLE t1 COALESCE PARTITION 1;
SHOW CREATE TABLE t1;
Table Create Table
@@ -30,10 +24,6 @@ t1 CREATE TABLE `t1` (
`f_date` date DEFAULT NULL,
`f_varchar` varchar(30) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (YEAR(f_date)) PARTITIONS 1 */
-hello/master-data/test/t1#P#p0.MYD
-hello/master-data/test/t1#P#p0.MYI
-hello/master-data/test/t1.frm
-hello/master-data/test/t1.par
drop table t1;
create table t1 (a int)
partition by list (a)
diff --git a/mysql-test/r/partition_not_windows.result b/mysql-test/r/partition_not_windows.result
index 31ea300e8ed..44afdea3855 100644
--- a/mysql-test/r/partition_not_windows.result
+++ b/mysql-test/r/partition_not_windows.result
@@ -1,16 +1,66 @@
create table t1 (a int) engine myisam
partition by range (a)
subpartition by hash (a)
-(partition p0 VALUES LESS THAN (1) DATA DIRECTORY = 'MYSQLTEST_VARDIR/master-data/tmpdata' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/master-data/tmpinx'
+(partition p0 VALUES LESS THAN (1) DATA DIRECTORY = 'MYSQLTEST_VARDIR/tmp' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/tmp'
(SUBPARTITION subpart00, SUBPARTITION subpart01));
-Checking if file exists before alter
+# Checking if file exists before alter
ALTER TABLE t1 REORGANIZE PARTITION p0 INTO
-(partition p1 VALUES LESS THAN (1) DATA DIRECTORY = 'MYSQLTEST_VARDIR/master-data/tmpdata' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/master-data/tmpinx'
+(partition p1 VALUES LESS THAN (1) DATA DIRECTORY = 'MYSQLTEST_VARDIR/tmp' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/tmp'
(SUBPARTITION subpart10, SUBPARTITION subpart11),
-partition p2 VALUES LESS THAN (2) DATA DIRECTORY = 'MYSQLTEST_VARDIR/master-data/tmpdata' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/master-data/tmpinx'
+partition p2 VALUES LESS THAN (2) DATA DIRECTORY = 'MYSQLTEST_VARDIR/tmp' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/tmp'
(SUBPARTITION subpart20, SUBPARTITION subpart21));
-Checking if file exists after alter
+# Checking if file exists after alter
drop table t1;
+set @org_mode=@@sql_mode;
+set @@sql_mode='NO_DIR_IN_CREATE';
+select @@sql_mode;
+@@sql_mode
+NO_DIR_IN_CREATE
+create table t1 (i int )
+partition by range (i)
+(
+partition p01 values less than (1000)
+data directory='/not/existing'
+ index directory='/not/existing'
+);
+Warnings:
+Warning 0 DATA DIRECTORY option ignored
+Warning 0 INDEX DIRECTORY option ignored
+show create table t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `i` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (i) (PARTITION p01 VALUES LESS THAN (1000) ENGINE = MyISAM) */
+DROP TABLE t1, t2;
+set @@sql_mode=@org_mode;
+CREATE TABLE t1(a INT)
+PARTITION BY KEY (a)
+(PARTITION p0 DATA DIRECTORY 'TEST_DIR/master-data/test');
+ERROR HY000: Incorrect arguments to DATA DIRECTORY
+CREATE TABLE t1(a INT)
+PARTITION BY KEY (a)
+(PARTITION p0 INDEX DIRECTORY 'TEST_DIR/master-data/test');
+ERROR HY000: Incorrect arguments to INDEX DIRECTORY
+CREATE TABLE ts (id INT, purchased DATE)
+PARTITION BY RANGE(YEAR(purchased))
+SUBPARTITION BY HASH(TO_DAYS(purchased)) (
+PARTITION p0 VALUES LESS THAN (1990) (
+SUBPARTITION s0a
+DATA DIRECTORY = 'TEST_DIR/master-data/test',
+SUBPARTITION s0b
+DATA DIRECTORY = 'TEST_DIR/master-data/test'
+));
+ERROR HY000: Incorrect arguments to DATA DIRECTORY
+CREATE TABLE ts (id INT, purchased DATE)
+PARTITION BY RANGE(YEAR(purchased))
+SUBPARTITION BY HASH(TO_DAYS(purchased)) (
+PARTITION p0 VALUES LESS THAN (1990) (
+SUBPARTITION s0a
+INDEX DIRECTORY = 'TEST_DIR/master-data/test',
+SUBPARTITION s0b
+INDEX DIRECTORY = 'TEST_DIR/master-data/test'
+));
+ERROR HY000: Incorrect arguments to INDEX DIRECTORY
DROP TABLE IF EXISTS `example`;
CREATE TABLE `example` (
`ID_EXAMPLE` int(10) unsigned NOT NULL AUTO_INCREMENT,
@@ -19,9 +69,27 @@ CREATE TABLE `example` (
PRIMARY KEY (`ID_EXAMPLE`)
) ENGINE = MYISAM
PARTITION BY HASH(ID_EXAMPLE)(
-PARTITION p0 DATA DIRECTORY = '/build/5.1/data/partitiontest/p0Data',
-PARTITION p1 DATA DIRECTORY = '/build/5.1/data/partitiontest/p1Data',
-PARTITION p2 DATA DIRECTORY = '/build/5.1/data/partitiontest/p2Data',
-PARTITION p3 DATA DIRECTORY = '/build/5.1/data/partitiontest/p3Data'
+PARTITION p0 DATA DIRECTORY = 'MYSQLTEST_VARDIR/p0Data'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/p0Index',
+PARTITION p1 DATA DIRECTORY = 'MYSQLTEST_VARDIR/p1Data'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/p1Index',
+PARTITION p2 DATA DIRECTORY = 'MYSQLTEST_VARDIR/p2Data'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/p2Index',
+PARTITION p3 DATA DIRECTORY = 'MYSQLTEST_VARDIR/p3Data'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/p3Index'
+);
+# Checking that MyISAM .MYD and .MYI are in test db and data/idx dir
+DROP TABLE example;
+CREATE TABLE `example` (
+`ID_EXAMPLE` int(10) unsigned NOT NULL AUTO_INCREMENT,
+`DESCRIPTION` varchar(30) NOT NULL,
+`LEVEL` smallint(5) unsigned DEFAULT NULL,
+PRIMARY KEY (`ID_EXAMPLE`)
+) ENGINE = MYISAM
+PARTITION BY HASH(ID_EXAMPLE)(
+PARTITION p0 DATA DIRECTORY = '/not/existent/p0Data',
+PARTITION p1 DATA DIRECTORY = '/not/existent/p1Data',
+PARTITION p2 DATA DIRECTORY = '/not/existent/p2Data',
+PARTITION p3 DATA DIRECTORY = '/not/existent/p3Data'
);
-ERROR HY000: Can't create/write to file '/build/5.1/data/partitiontest/p0Data/example#P#p0.MYD' (Errcode: 2)
+Got one of the listed errors
diff --git a/mysql-test/r/partition_pruning.result b/mysql-test/r/partition_pruning.result
index 9595676016c..396400f9010 100644
--- a/mysql-test/r/partition_pruning.result
+++ b/mysql-test/r/partition_pruning.result
@@ -911,3 +911,31 @@ explain partitions select * from t1 where a>-2 and a <=0;
id select_type table partitions type possible_keys key key_len ref rows Extra
1 SIMPLE t1 p3 ALL NULL NULL NULL NULL 4 Using where
drop table t1;
+CREATE TABLE t1 ( recdate DATETIME NOT NULL )
+PARTITION BY RANGE( TO_DAYS(recdate) ) (
+PARTITION p0 VALUES LESS THAN ( TO_DAYS('2007-03-08') ),
+PARTITION p1 VALUES LESS THAN ( TO_DAYS('2007-04-01') )
+);
+INSERT INTO t1 VALUES ('2007-03-01 12:00:00');
+INSERT INTO t1 VALUES ('2007-03-07 12:00:00');
+INSERT INTO t1 VALUES ('2007-03-08 12:00:00');
+INSERT INTO t1 VALUES ('2007-03-15 12:00:00');
+must use p0 only:
+explain partitions select * from t1 where recdate < '2007-03-08 00:00:00';
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 p0 ALL NULL NULL NULL NULL 2 Using where
+drop table t1;
+CREATE TABLE t1 ( recdate DATETIME NOT NULL )
+PARTITION BY RANGE( YEAR(recdate) ) (
+PARTITION p0 VALUES LESS THAN (2006),
+PARTITION p1 VALUES LESS THAN (2007)
+);
+INSERT INTO t1 VALUES ('2005-03-01 12:00:00');
+INSERT INTO t1 VALUES ('2005-03-01 12:00:00');
+INSERT INTO t1 VALUES ('2006-03-01 12:00:00');
+INSERT INTO t1 VALUES ('2006-03-01 12:00:00');
+must use p0 only:
+explain partitions select * from t1 where recdate < '2006-01-01 00:00:00';
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 p0 ALL NULL NULL NULL NULL 2 Using where
+drop table t1;
diff --git a/mysql-test/r/partition_range.result b/mysql-test/r/partition_range.result
index a61006e87a4..b027ef088ae 100644
--- a/mysql-test/r/partition_range.result
+++ b/mysql-test/r/partition_range.result
@@ -1,4 +1,37 @@
-drop table if exists t1;
+drop table if exists t1, t2;
+create table t1 (a int)
+partition by range (a)
+( partition p0 values less than (maxvalue));
+alter table t1 add partition (partition p1 values less than (100000));
+ERROR HY000: MAXVALUE can only be used in last partition definition
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION p0 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
+drop table t1;
+create table t1 (a integer)
+partition by range (a)
+( partition p0 values less than (4),
+partition p1 values less than (100));
+create trigger tr1 before insert on t1
+for each row begin
+set @a = 1;
+end|
+alter table t1 drop partition p0;
+drop table t1;
+create table t1 (a integer)
+partition by range (a)
+( partition p0 values less than (4),
+partition p1 values less than (100));
+LOCK TABLES t1 WRITE;
+alter table t1 drop partition p0;
+alter table t1 reorganize partition p1 into
+( partition p0 values less than (4),
+partition p1 values less than (100));
+alter table t1 add partition ( partition p2 values less than (200));
+UNLOCK TABLES;
+drop table t1;
create table t1 (a int unsigned)
partition by range (a)
(partition pnull values less than (0),
diff --git a/mysql-test/r/partition_symlink.result b/mysql-test/r/partition_symlink.result
new file mode 100644
index 00000000000..eb92a4f733d
--- /dev/null
+++ b/mysql-test/r/partition_symlink.result
@@ -0,0 +1,121 @@
+DROP TABLE IF EXISTS t1;
+DROP DATABASE IF EXISTS mysqltest2;
+# Creating two non colliding tables mysqltest2.t1 and test.t1
+# test.t1 have partitions in mysqltest2-directory!
+# user root:
+CREATE USER mysqltest_1@localhost;
+CREATE DATABASE mysqltest2;
+USE mysqltest2;
+CREATE TABLE t1 (a INT);
+INSERT INTO t1 VALUES (0);
+# user mysqltest_1:
+USE test;
+CREATE TABLE t1 (a INT)
+PARTITION BY LIST (a) (
+PARTITION p0 VALUES IN (0)
+DATA DIRECTORY 'MYSQLTEST_VARDIR/tmp'
+ INDEX DIRECTORY 'MYSQLTEST_VARDIR/tmp',
+PARTITION p1 VALUES IN (1)
+DATA DIRECTORY 'MYSQLTEST_VARDIR/tmp'
+ INDEX DIRECTORY 'MYSQLTEST_VARDIR/tmp',
+PARTITION p2 VALUES IN (2)
+);
+# without the patch for bug#32091 this would create
+# files mysqltest2/t1.MYD + .MYI and possible overwrite
+# the mysqltest2.t1 table (depending on bug#32111)
+ALTER TABLE t1 REMOVE PARTITIONING;
+INSERT INTO t1 VALUES (1);
+SELECT * FROM t1;
+a
+1
+# user root:
+USE mysqltest2;
+FLUSH TABLES;
+# if the patch works, this should be different
+# and before the patch they were the same!
+SELECT * FROM t1;
+a
+0
+USE test;
+SELECT * FROM t1;
+a
+1
+DROP TABLE t1;
+DROP DATABASE mysqltest2;
+# test that symlinks can not overwrite files when CREATE TABLE
+# user root:
+CREATE DATABASE mysqltest2;
+USE mysqltest2;
+CREATE TABLE t1 (a INT)
+PARTITION BY LIST (a) (
+PARTITION p0 VALUES IN (0)
+DATA DIRECTORY 'MYSQLTEST_VARDIR/tmp'
+ INDEX DIRECTORY 'MYSQLTEST_VARDIR/tmp',
+PARTITION p1 VALUES IN (1)
+DATA DIRECTORY 'MYSQLTEST_VARDIR/tmp'
+ INDEX DIRECTORY 'MYSQLTEST_VARDIR/tmp'
+ );
+# user mysqltest_1:
+USE test;
+CREATE TABLE t1 (a INT)
+PARTITION BY LIST (a) (
+PARTITION p0 VALUES IN (0)
+DATA DIRECTORY 'MYSQLTEST_VARDIR/tmp'
+ INDEX DIRECTORY 'MYSQLTEST_VARDIR/tmp',
+PARTITION p1 VALUES IN (1)
+DATA DIRECTORY 'MYSQLTEST_VARDIR/tmp'
+ INDEX DIRECTORY 'MYSQLTEST_VARDIR/tmp'
+ );
+Got one of the listed errors
+CREATE TABLE t1 (a INT)
+PARTITION BY LIST (a) (
+PARTITION p0 VALUES IN (0)
+DATA DIRECTORY 'MYSQLTEST_VARDIR/tmp'
+ INDEX DIRECTORY 'MYSQLTEST_VARDIR/tmp',
+PARTITION p1 VALUES IN (1)
+DATA DIRECTORY 'MYSQLTEST_VARDIR/tmp'
+ INDEX DIRECTORY 'MYSQLTEST_VARDIR/tmp'
+ );
+Got one of the listed errors
+# user root (cleanup):
+DROP DATABASE mysqltest2;
+USE test;
+DROP USER mysqltest_1@localhost;
+create table t2 (i int )
+partition by range (i)
+(
+partition p01 values less than (1000)
+data directory="MYSQLTEST_VARDIR/tmp"
+ index directory="MYSQLTEST_VARDIR/tmp"
+);
+set @org_mode=@@sql_mode;
+set @@sql_mode='NO_DIR_IN_CREATE';
+select @@sql_mode;
+@@sql_mode
+NO_DIR_IN_CREATE
+create table t1 (i int )
+partition by range (i)
+(
+partition p01 values less than (1000)
+data directory='/not/existing'
+ index directory='/not/existing'
+);
+Warnings:
+Warning 0 DATA DIRECTORY option ignored
+Warning 0 INDEX DIRECTORY option ignored
+show create table t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `i` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (i) (PARTITION p01 VALUES LESS THAN (1000) ENGINE = MyISAM) */
+DROP TABLE t1, t2;
+set @@sql_mode=@org_mode;
+create table t1 (a int)
+partition by key (a)
+(partition p0 DATA DIRECTORY 'part-data' INDEX DIRECTORY 'part-data');
+ERROR 42000: Incorrect table name 'part-data'
+create table t1 (a int)
+partition by key (a)
+(partition p0,
+partition p1 DATA DIRECTORY 'part-data' INDEX DIRECTORY 'part-data');
+ERROR 42000: Incorrect table name 'part-data'
diff --git a/mysql-test/r/partition_windows.result b/mysql-test/r/partition_windows.result
index 1fc9e2ba254..c2d4054deeb 100644
--- a/mysql-test/r/partition_windows.result
+++ b/mysql-test/r/partition_windows.result
@@ -1,14 +1,30 @@
-DROP TABLE IF EXISTS `example`;
-CREATE TABLE `example` (
-`ID_EXAMPLE` int(10) unsigned NOT NULL AUTO_INCREMENT,
-`DESCRIPTION` varchar(30) NOT NULL,
-`LEVEL` smallint(5) unsigned DEFAULT NULL,
-PRIMARY KEY (`ID_EXAMPLE`)
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 (
+c1 int(10) unsigned NOT NULL AUTO_INCREMENT,
+c2 varchar(30) NOT NULL,
+c3 smallint(5) unsigned DEFAULT NULL,
+PRIMARY KEY (c1)
) ENGINE = MYISAM
-PARTITION BY HASH(ID_EXAMPLE)(
-PARTITION p0 DATA DIRECTORY = 'C:/build/5.1/data/partitiontest/p0Data',
-PARTITION p1 DATA DIRECTORY = 'C:/build/5.1/data/partitiontest/p1Data',
-PARTITION p2 DATA DIRECTORY = 'C:/build/5.1/data/partitiontest/p2Data',
-PARTITION p3 DATA DIRECTORY = 'C:/build/5.1/data/partitiontest/p3Data'
+PARTITION BY HASH(c1)(
+PARTITION p0
+DATA DIRECTORY = 'C:/mysqltest/p0Data'
+ INDEX DIRECTORY = 'D:/mysqltest/p0Index',
+PARTITION p1,
+PARTITION p2
+DATA DIRECTORY = 'E:/mysqltest/p2Data'
+ INDEX DIRECTORY = 'F:/mysqltest/p2Index'
);
-ERROR HY000: Can't create/write to file 'C:\build\5.1\data\partitiontest\p0Data\example#P#p0.MYD' (Errcode: 2)
+Warnings:
+Warning 0 DATA DIRECTORY option ignored
+Warning 0 INDEX DIRECTORY option ignored
+Warning 0 DATA DIRECTORY option ignored
+Warning 0 INDEX DIRECTORY option ignored
+INSERT INTO t1 VALUES (NULL, "first", 1);
+INSERT INTO t1 VALUES (NULL, "second", 2);
+INSERT INTO t1 VALUES (NULL, "third", 3);
+ALTER TABLE t1 ADD PARTITION (PARTITION p3 DATA DIRECTORY = 'G:/mysqltest/p3Data' INDEX DIRECTORY = 'H:/mysqltest/p3Index');
+Warnings:
+Warning 0 DATA DIRECTORY option ignored
+Warning 0 INDEX DIRECTORY option ignored
+INSERT INTO t1 VALUES (NULL, "last", 4);
+DROP TABLE t1;
diff --git a/mysql-test/r/plugin.result b/mysql-test/r/plugin.result
index 8628acecf55..782d2a5a9a4 100644
--- a/mysql-test/r/plugin.result
+++ b/mysql-test/r/plugin.result
@@ -17,3 +17,40 @@ UNINSTALL PLUGIN EXAMPLE;
ERROR 42000: PLUGIN EXAMPLE does not exist
UNINSTALL PLUGIN non_exist;
ERROR 42000: PLUGIN non_exist does not exist
+#
+# Bug#32034: check_func_enum() does not check correct values but set it
+# to impossible int val
+#
+INSTALL PLUGIN example SONAME 'ha_example.so';
+SET GLOBAL example_enum_var= e1;
+SET GLOBAL example_enum_var= e2;
+SET GLOBAL example_enum_var= impossible;
+ERROR 42000: Variable 'enum_var' can't be set to the value of 'impossible'
+UNINSTALL PLUGIN example;
+INSTALL PLUGIN example SONAME 'ha_example.so';
+select @@session.sql_mode into @old_sql_mode;
+set session sql_mode='';
+set global example_ulong_var=500;
+select @@global.example_ulong_var;
+@@global.example_ulong_var
+500
+set global example_ulong_var=1111;
+Warnings:
+Warning 1292 Truncated incorrect ulong_var value: '1111'
+select @@global.example_ulong_var;
+@@global.example_ulong_var
+1000
+set session sql_mode='STRICT_ALL_TABLES';
+set global example_ulong_var=500;
+select @@global.example_ulong_var;
+@@global.example_ulong_var
+500
+set global example_ulong_var=1111;
+ERROR 42000: Variable 'ulong_var' can't be set to the value of '1111'
+select @@global.example_ulong_var;
+@@global.example_ulong_var
+500
+set session sql_mode=@old_sql_mode;
+set session old=bla;
+ERROR HY000: Variable 'old' is a read only variable
+UNINSTALL PLUGIN example;
diff --git a/mysql-test/r/plugin_load.result b/mysql-test/r/plugin_load.result
new file mode 100644
index 00000000000..33116cc20ab
--- /dev/null
+++ b/mysql-test/r/plugin_load.result
@@ -0,0 +1,3 @@
+SELECT @@global.example_enum_var = 'e2';
+@@global.example_enum_var = 'e2'
+1
diff --git a/mysql-test/r/profiling.result b/mysql-test/r/profiling.result
new file mode 100644
index 00000000000..a9ada576b4b
--- /dev/null
+++ b/mysql-test/r/profiling.result
@@ -0,0 +1,415 @@
+show profiles;
+Query_ID Duration Query
+show profile all;
+Status Duration CPU_user CPU_system Context_voluntary Context_involuntary Block_ops_in Block_ops_out Messages_sent Messages_received Page_faults_major Page_faults_minor Swaps Source_function Source_file Source_line
+show session variables like 'profil%';
+Variable_name Value
+profiling OFF
+profiling_history_size 15
+select @@profiling;
+@@profiling
+0
+set global profiling = ON;
+ERROR HY000: Variable 'profiling' is a SESSION variable and can't be used with SET GLOBAL
+set global profiling_history_size=100;
+show global variables like 'profil%';
+Variable_name Value
+profiling OFF
+profiling_history_size 100
+set session profiling = ON;
+set session profiling_history_size=30;
+show session variables like 'profil%';
+Variable_name Value
+profiling ON
+profiling_history_size 30
+select @@profiling;
+@@profiling
+1
+create table t1 (
+a int,
+b int
+);
+insert into t1 values (1,1), (2,null), (3, 4);
+insert into t1 values (5,1), (6,null), (7, 4);
+insert into t1 values (1,1), (2,null), (3, 4);
+insert into t1 values (5,1), (6,null), (7, 4);
+select max(x) from (select sum(a) as x from t1 group by b) as teeone;
+max(x)
+20
+insert into t1 select * from t1;
+select count(*) from t1;
+count(*)
+24
+insert into t1 select * from t1;
+insert into t1 select * from t1;
+insert into t1 select * from t1;
+select count(*) from t1;
+count(*)
+192
+insert into t1 select * from t1;
+insert into t1 select * from t1;
+insert into t1 select * from t1;
+select count(*) from t1;
+count(*)
+1536
+select sum(a) from t1;
+sum(a)
+6144
+select sum(a) from t1 group by b;
+sum(a)
+2048
+1536
+2560
+select sum(a) + sum(b) from t1 group by b;
+sum(a) + sum(b)
+NULL
+2048
+4608
+select max(x) from (select sum(a) as x from t1 group by b) as teeone;
+max(x)
+2560
+select '012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890' as big_string;
+big_string
+012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890
+show profiles;
+Query_ID Duration Query
+1 # set session profiling_history_size=30
+2 # show session variables like 'profil%'
+3 # select @@profiling
+4 # create table t1 (
+a int,
+b int
+)
+5 # insert into t1 values (1,1), (2,null), (3, 4)
+6 # insert into t1 values (5,1), (6,null), (7, 4)
+7 # insert into t1 values (1,1), (2,null), (3, 4)
+8 # insert into t1 values (5,1), (6,null), (7, 4)
+9 # select max(x) from (select sum(a) as x from t1 group by b) as teeone
+10 # insert into t1 select * from t1
+11 # select count(*) from t1
+12 # insert into t1 select * from t1
+13 # insert into t1 select * from t1
+14 # insert into t1 select * from t1
+15 # select count(*) from t1
+16 # insert into t1 select * from t1
+17 # insert into t1 select * from t1
+18 # insert into t1 select * from t1
+19 # select count(*) from t1
+20 # select sum(a) from t1
+21 # select sum(a) from t1 group by b
+22 # select sum(a) + sum(b) from t1 group by b
+23 # select max(x) from (select sum(a) as x from t1 group by b) as teeone
+24 # select '0123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345
+show profile for query 15;
+show profile cpu for query 15;
+show profile cpu, block io for query 15;
+show profile cpu for query 9 limit 2 offset 2;
+show profile cpu for query 10 limit 0;
+show profile cpu for query 65534;
+show profile memory;
+show profile block io;
+show profile context switches;
+show profile page faults;
+show profile ipc;
+show profile swaps limit 1 offset 2;
+show profile source;
+show profile all for query 0 limit 0;
+show profile all for query 15;
+select * from information_schema.profiling;
+select query_id, state, duration from information_schema.profiling;
+select query_id, sum(duration) from information_schema.profiling group by query_id;
+select query_id, count(*) from information_schema.profiling group by query_id;
+select sum(duration) from information_schema.profiling;
+select query_id, count(*), sum(duration) from information_schema.profiling group by query_id;
+select CPU_user, CPU_system, Context_voluntary, Context_involuntary, Block_ops_in, Block_ops_out, Messages_sent, Messages_received, Page_faults_major, Page_faults_minor, Swaps, Source_function, Source_file, Source_line from information_schema.profiling;
+drop table if exists t1, t2, t3;
+Warnings:
+Note 1051 Unknown table 't2'
+Note 1051 Unknown table 't3'
+create table t1 (id int );
+create table t2 (id int not null);
+create table t3 (id int not null primary key);
+insert into t1 values (1), (2), (3);
+insert into t2 values (1), (2), (3);
+insert into t3 values (1), (2), (3);
+show profiles;
+Query_ID Duration Query
+10 # insert into t1 select * from t1
+11 # select count(*) from t1
+12 # insert into t1 select * from t1
+13 # insert into t1 select * from t1
+14 # insert into t1 select * from t1
+15 # select count(*) from t1
+16 # insert into t1 select * from t1
+17 # insert into t1 select * from t1
+18 # insert into t1 select * from t1
+19 # select count(*) from t1
+20 # select sum(a) from t1
+21 # select sum(a) from t1 group by b
+22 # select sum(a) + sum(b) from t1 group by b
+23 # select max(x) from (select sum(a) as x from t1 group by b) as teeone
+24 # select '0123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345
+25 # select * from information_schema.profiling
+26 # select query_id, state, duration from information_schema.profiling
+27 # select query_id, sum(duration) from information_schema.profiling group by query_id
+28 # select query_id, count(*) from information_schema.profiling group by query_id
+29 # select sum(duration) from information_schema.profiling
+30 # select query_id, count(*), sum(duration) from information_schema.profiling group by query_id
+31 # select CPU_user, CPU_system, Context_voluntary, Context_involuntary, Block_ops_in, Block_ops_out, Messages_sent, Messages_received, Page_faults_major, Page_faults_minor, Swaps, Source_function, Source_file, Source_line from information_schema.profiling
+32 # drop table if exists t1, t2, t3
+33 # SHOW WARNINGS
+34 # create table t1 (id int )
+35 # create table t2 (id int not null)
+36 # create table t3 (id int not null primary key)
+37 # insert into t1 values (1), (2), (3)
+38 # insert into t2 values (1), (2), (3)
+39 # insert into t3 values (1), (2), (3)
+select * from t1;
+id
+1
+2
+3
+show profiles;
+Query_ID Duration Query
+11 # select count(*) from t1
+12 # insert into t1 select * from t1
+13 # insert into t1 select * from t1
+14 # insert into t1 select * from t1
+15 # select count(*) from t1
+16 # insert into t1 select * from t1
+17 # insert into t1 select * from t1
+18 # insert into t1 select * from t1
+19 # select count(*) from t1
+20 # select sum(a) from t1
+21 # select sum(a) from t1 group by b
+22 # select sum(a) + sum(b) from t1 group by b
+23 # select max(x) from (select sum(a) as x from t1 group by b) as teeone
+24 # select '0123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345
+25 # select * from information_schema.profiling
+26 # select query_id, state, duration from information_schema.profiling
+27 # select query_id, sum(duration) from information_schema.profiling group by query_id
+28 # select query_id, count(*) from information_schema.profiling group by query_id
+29 # select sum(duration) from information_schema.profiling
+30 # select query_id, count(*), sum(duration) from information_schema.profiling group by query_id
+31 # select CPU_user, CPU_system, Context_voluntary, Context_involuntary, Block_ops_in, Block_ops_out, Messages_sent, Messages_received, Page_faults_major, Page_faults_minor, Swaps, Source_function, Source_file, Source_line from information_schema.profiling
+32 # drop table if exists t1, t2, t3
+33 # SHOW WARNINGS
+34 # create table t1 (id int )
+35 # create table t2 (id int not null)
+36 # create table t3 (id int not null primary key)
+37 # insert into t1 values (1), (2), (3)
+38 # insert into t2 values (1), (2), (3)
+39 # insert into t3 values (1), (2), (3)
+40 # select * from t1
+This ^^ should end in "select * from t1;"
+delete from t1;
+insert into t1 values (1), (2), (3);
+insert into t1 values (1), (2), (3);
+select * from t1;
+id
+1
+2
+3
+1
+2
+3
+show profiles;
+Query_ID Duration Query
+15 # select count(*) from t1
+16 # insert into t1 select * from t1
+17 # insert into t1 select * from t1
+18 # insert into t1 select * from t1
+19 # select count(*) from t1
+20 # select sum(a) from t1
+21 # select sum(a) from t1 group by b
+22 # select sum(a) + sum(b) from t1 group by b
+23 # select max(x) from (select sum(a) as x from t1 group by b) as teeone
+24 # select '0123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345
+25 # select * from information_schema.profiling
+26 # select query_id, state, duration from information_schema.profiling
+27 # select query_id, sum(duration) from information_schema.profiling group by query_id
+28 # select query_id, count(*) from information_schema.profiling group by query_id
+29 # select sum(duration) from information_schema.profiling
+30 # select query_id, count(*), sum(duration) from information_schema.profiling group by query_id
+31 # select CPU_user, CPU_system, Context_voluntary, Context_involuntary, Block_ops_in, Block_ops_out, Messages_sent, Messages_received, Page_faults_major, Page_faults_minor, Swaps, Source_function, Source_file, Source_line from information_schema.profiling
+32 # drop table if exists t1, t2, t3
+33 # SHOW WARNINGS
+34 # create table t1 (id int )
+35 # create table t2 (id int not null)
+36 # create table t3 (id int not null primary key)
+37 # insert into t1 values (1), (2), (3)
+38 # insert into t2 values (1), (2), (3)
+39 # insert into t3 values (1), (2), (3)
+40 # select * from t1
+41 # delete from t1
+42 # insert into t1 values (1), (2), (3)
+43 # insert into t1 values (1), (2), (3)
+44 # select * from t1
+set session profiling = OFF;
+select sum(id) from t1;
+sum(id)
+12
+show profiles;
+Query_ID Duration Query
+15 # select count(*) from t1
+16 # insert into t1 select * from t1
+17 # insert into t1 select * from t1
+18 # insert into t1 select * from t1
+19 # select count(*) from t1
+20 # select sum(a) from t1
+21 # select sum(a) from t1 group by b
+22 # select sum(a) + sum(b) from t1 group by b
+23 # select max(x) from (select sum(a) as x from t1 group by b) as teeone
+24 # select '0123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345
+25 # select * from information_schema.profiling
+26 # select query_id, state, duration from information_schema.profiling
+27 # select query_id, sum(duration) from information_schema.profiling group by query_id
+28 # select query_id, count(*) from information_schema.profiling group by query_id
+29 # select sum(duration) from information_schema.profiling
+30 # select query_id, count(*), sum(duration) from information_schema.profiling group by query_id
+31 # select CPU_user, CPU_system, Context_voluntary, Context_involuntary, Block_ops_in, Block_ops_out, Messages_sent, Messages_received, Page_faults_major, Page_faults_minor, Swaps, Source_function, Source_file, Source_line from information_schema.profiling
+32 # drop table if exists t1, t2, t3
+33 # SHOW WARNINGS
+34 # create table t1 (id int )
+35 # create table t2 (id int not null)
+36 # create table t3 (id int not null primary key)
+37 # insert into t1 values (1), (2), (3)
+38 # insert into t2 values (1), (2), (3)
+39 # insert into t3 values (1), (2), (3)
+40 # select * from t1
+41 # delete from t1
+42 # insert into t1 values (1), (2), (3)
+43 # insert into t1 values (1), (2), (3)
+44 # select * from t1
+set session profiling = ON;
+select @@profiling;
+@@profiling
+1
+create function f1() returns varchar(50) return 'hello';
+select @@profiling;
+@@profiling
+1
+select * from t1 where id <> f1();
+id
+1
+2
+3
+1
+2
+3
+select @@profiling;
+@@profiling
+1
+set session profiling = OFF;
+drop table if exists profile_log;
+Warnings:
+Note 1051 Unknown table 'profile_log'
+create table profile_log (how_many int);
+drop procedure if exists p1;
+drop procedure if exists p2;
+drop procedure if exists p3;
+create procedure p1 ()
+modifies sql data
+begin
+set profiling = ON;
+select 'This p1 should show up in profiling';
+insert into profile_log select count(*) from information_schema.profiling;
+end//
+create procedure p2()
+deterministic
+begin
+set profiling = ON;
+call p1();
+select 'This p2 should show up in profiling';
+end//
+create procedure p3 ()
+reads sql data
+begin
+set profiling = ON;
+select 'This p3 should show up in profiling';
+show profile;
+end//
+first call to p1
+call p1;
+select * from profile_log;
+second call to p1
+call p1;
+select * from profile_log;
+third call to p1
+call p1;
+select * from profile_log;
+set session profiling = OFF;
+call p2;
+set session profiling = OFF;
+call p3;
+show profiles;
+drop procedure if exists p1;
+drop procedure if exists p2;
+drop procedure if exists p3;
+drop table if exists profile_log;
+set session profiling = ON;
+drop table if exists t2;
+create table t2 (id int not null);
+create trigger t2_bi before insert on t2 for each row set @x=0;
+select @@profiling;
+@@profiling
+1
+insert into t2 values (1), (2), (3);
+select @@profiling;
+@@profiling
+1
+set session profiling = ON;
+drop table if exists t1, t2;
+create table t1 (id int not null primary key);
+create table t2 (id int not null primary key, id1 int not null);
+select @@profiling;
+@@profiling
+1
+alter table t2 add foreign key (id1) references t1 (id) on delete cascade;
+select @@profiling;
+@@profiling
+1
+lock table t1 write;
+select @@profiling;
+@@profiling
+1
+unlock table;
+select @@profiling;
+@@profiling
+1
+set autocommit=0;
+select @@profiling, @@autocommit;
+@@profiling @@autocommit
+1 0
+begin;
+select @@profiling;
+@@profiling
+1
+insert into t1 values (1);
+insert into t2 values (1,1);
+testing referential integrity cascade
+delete from t1 where id = 1;
+select @@profiling;
+@@profiling
+1
+testing rollback
+rollback;
+select @@profiling;
+@@profiling
+1
+testing commit
+begin;
+select @@profiling;
+@@profiling
+1
+commit;
+select @@profiling;
+@@profiling
+1
+drop table if exists t1, t2, t3;
+drop view if exists v1;
+Warnings:
+Note 1051 Unknown table 'test.v1'
+drop function if exists f1;
+set session profiling = OFF;
+End of 5.0 tests
diff --git a/mysql-test/r/ps.result b/mysql-test/r/ps.result
index edac68a88d6..dbc8620398a 100644
--- a/mysql-test/r/ps.result
+++ b/mysql-test/r/ps.result
@@ -807,6 +807,8 @@ select @@max_prepared_stmt_count;
@@max_prepared_stmt_count
0
set global max_prepared_stmt_count=10000000000000000;
+Warnings:
+Warning 1292 Truncated incorrect max_prepared_stmt_count value: '10000000000000000'
select @@max_prepared_stmt_count;
@@max_prepared_stmt_count
1048576
@@ -1143,6 +1145,11 @@ a
13
DEALLOCATE PREPARE st1;
DROP TABLE t1;
+create table t1 (a int, b tinyint);
+prepare st1 from 'update t1 set b= (str_to_date(a, a))';
+execute st1;
+deallocate prepare st1;
+drop table t1;
End of 4.1 tests.
create table t1 (a varchar(20));
insert into t1 values ('foo');
@@ -1710,6 +1717,204 @@ t1 CREATE TABLE `t1` (
`?` decimal(2,1) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
+drop table if exists t1;
+create table t1 (a bigint unsigned, b bigint(20) unsigned);
+prepare stmt from "insert into t1 values (?,?)";
+set @a= 9999999999999999;
+set @b= 14632475938453979136;
+insert into t1 values (@a, @b);
+select * from t1 where a = @a and b = @b;
+a b
+9999999999999999 14632475938453979136
+execute stmt using @a, @b;
+select * from t1 where a = @a and b = @b;
+a b
+9999999999999999 14632475938453979136
+9999999999999999 14632475938453979136
+deallocate prepare stmt;
+drop table t1;
+drop view if exists v1;
+drop table if exists t1;
+create table t1 (a int, b int);
+insert into t1 values (1,1), (2,2), (3,3);
+insert into t1 values (3,1), (1,2), (2,3);
+prepare stmt from "create view v1 as select * from t1";
+execute stmt;
+drop table t1;
+create table t1 (a int, b int);
+drop view v1;
+execute stmt;
+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`,`t1`.`b` AS `b` from `t1` latin1 latin1_swedish_ci
+drop view v1;
+prepare stmt from "create view v1 (c,d) as select a,b from t1";
+execute stmt;
+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 `c`,`t1`.`b` AS `d` from `t1` latin1 latin1_swedish_ci
+select * from v1;
+c d
+drop view v1;
+execute stmt;
+deallocate prepare stmt;
+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 `c`,`t1`.`b` AS `d` from `t1` latin1 latin1_swedish_ci
+select * from v1;
+c d
+drop view v1;
+prepare stmt from "create view v1 (c) as select b+1 from t1";
+execute stmt;
+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`.`b` + 1) AS `c` from `t1` latin1 latin1_swedish_ci
+select * from v1;
+c
+drop view v1;
+execute stmt;
+deallocate prepare stmt;
+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`.`b` + 1) AS `c` from `t1` latin1 latin1_swedish_ci
+select * from v1;
+c
+drop view v1;
+prepare stmt from "create view v1 (c,d,e,f) as select a,b,a in (select a+2 from t1), a = all (select a from t1) from t1";
+execute stmt;
+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 `c`,`t1`.`b` AS `d`,`t1`.`a` in (select (`t1`.`a` + 2) AS `a+2` from `t1`) AS `e`,`t1`.`a` = all (select `t1`.`a` AS `a` from `t1`) AS `f` from `t1` latin1 latin1_swedish_ci
+select * from v1;
+c d e f
+drop view v1;
+execute stmt;
+deallocate prepare stmt;
+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 `c`,`t1`.`b` AS `d`,`t1`.`a` in (select (`t1`.`a` + 2) AS `a+2` from `t1`) AS `e`,`t1`.`a` = all (select `t1`.`a` AS `a` from `t1`) AS `f` from `t1` latin1 latin1_swedish_ci
+select * from v1;
+c d e f
+drop view v1;
+prepare stmt from "create or replace view v1 as select 1";
+execute stmt;
+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 1 AS `1` latin1 latin1_swedish_ci
+select * from v1;
+1
+1
+execute stmt;
+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 1 AS `1` latin1 latin1_swedish_ci
+deallocate prepare stmt;
+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 1 AS `1` latin1 latin1_swedish_ci
+select * from v1;
+1
+1
+drop view v1;
+prepare stmt from "create view v1 as select 1, 1";
+execute stmt;
+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 1 AS `1`,1 AS `My_exp_1` latin1 latin1_swedish_ci
+select * from v1;
+1 My_exp_1
+1 1
+drop view v1;
+execute stmt;
+deallocate prepare stmt;
+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 1 AS `1`,1 AS `My_exp_1` latin1 latin1_swedish_ci
+select * from v1;
+1 My_exp_1
+1 1
+drop view v1;
+prepare stmt from "create view v1 (x) as select a from t1 where a > 1";
+execute stmt;
+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 `x` from `t1` where (`t1`.`a` > 1) latin1 latin1_swedish_ci
+select * from v1;
+x
+drop view v1;
+execute stmt;
+deallocate prepare stmt;
+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 `x` from `t1` where (`t1`.`a` > 1) latin1 latin1_swedish_ci
+select * from v1;
+x
+drop view v1;
+prepare stmt from "create view v1 as select * from `t1` `b`";
+execute stmt;
+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 `b`.`a` AS `a`,`b`.`b` AS `b` from `t1` `b` latin1 latin1_swedish_ci
+select * from v1;
+a b
+drop view v1;
+execute stmt;
+deallocate prepare stmt;
+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 `b`.`a` AS `a`,`b`.`b` AS `b` from `t1` `b` latin1 latin1_swedish_ci
+select * from v1;
+a b
+drop view v1;
+prepare stmt from "create view v1 (a,b,c) as select * from t1";
+execute stmt;
+ERROR HY000: View's SELECT and view's field list have different column counts
+execute stmt;
+ERROR HY000: View's SELECT and view's field list have different column counts
+deallocate prepare stmt;
+drop table t1;
+create temporary table t1 (a int, b int);
+prepare stmt from "create view v1 as select * from t1";
+execute stmt;
+ERROR HY000: View's SELECT refers to a temporary table 't1'
+execute stmt;
+ERROR HY000: View's SELECT refers to a temporary table 't1'
+deallocate prepare stmt;
+drop table t1;
+prepare stmt from "create view v1 as select * from t1";
+ERROR 42S02: Table 'test.t1' doesn't exist
+prepare stmt from "create view v1 as select * from `t1` `b`";
+ERROR 42S02: Table 'test.t1' doesn't exist
+prepare stmt from "select ?";
+set @arg= 123456789.987654321;
+select @arg;
+@arg
+123456789.987654321
+execute stmt using @arg;
+?
+123456789.987654321
+set @arg= "string";
+select @arg;
+@arg
+string
+execute stmt using @arg;
+?
+string
+set @arg= 123456;
+select @arg;
+@arg
+123456
+execute stmt using @arg;
+?
+123456
+set @arg= cast(-12345.54321 as decimal(20, 10));
+select @arg;
+@arg
+-12345.5432100000
+execute stmt using @arg;
+?
+-12345.5432100000
+deallocate prepare stmt;
End of 5.0 tests.
create procedure proc_1() reset query cache;
call proc_1();
@@ -2680,4 +2885,21 @@ t1 CREATE TABLE `t1` (
KEY `c` (`c`(10))
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
+drop table if exists t1, t2;
+create table t1 (a int, b int);
+create table t2 like t1;
+insert into t1 (a, b) values (1,1), (1,2), (1,3), (1,4), (1,5),
+(2,2), (2,3), (2,1), (3,1), (4,1), (4,2), (4,3), (4,4), (4,5), (4,6);
+insert into t2 select a, max(b) from t1 group by a;
+prepare stmt from "delete from t2 where (select (select max(b) from t1 group
+by a having a < 2) x from t1) > 10000";
+delete from t2 where (select (select max(b) from t1 group
+by a having a < 2) x from t1) > 10000;
+ERROR 21000: Subquery returns more than 1 row
+execute stmt;
+ERROR 21000: Subquery returns more than 1 row
+execute stmt;
+ERROR 21000: Subquery returns more than 1 row
+deallocate prepare stmt;
+drop table t1, t2;
End of 5.1 tests.
diff --git a/mysql-test/r/ps_1general.result b/mysql-test/r/ps_1general.result
index a532324719c..1c5f0e4dfd6 100644
--- a/mysql-test/r/ps_1general.result
+++ b/mysql-test/r/ps_1general.result
@@ -269,7 +269,7 @@ prepare stmt4 from ' show columns from t2 where field in (select ?) ';
SET @arg00="a";
execute stmt4 using @arg00;
Field Type Null Key Default Extra
-a int(11) NO PRI
+a int(11) NO PRI NULL
SET @arg00="b";
execute stmt4 using @arg00;
Field Type Null Key Default Extra
@@ -280,7 +280,7 @@ Field Type Null Key Default Extra
prepare stmt4 from ' show columns from t2 from test like ''a%'' ';
execute stmt4;
Field Type Null Key Default Extra
-a int(11) NO PRI
+a int(11) NO PRI NULL
create index t2_idx on t2(b);
prepare stmt4 from ' show index from t2 from test ';
execute stmt4;
@@ -389,7 +389,7 @@ drop database mysqltest ;
prepare stmt3 from ' describe t2 ';
execute stmt3;
Field Type Null Key Default Extra
-a int(11) NO PRI
+a int(11) NO PRI NULL
b char(10) YES MUL NULL
drop table t2 ;
execute stmt3;
diff --git a/mysql-test/r/ps_2myisam.result b/mysql-test/r/ps_2myisam.result
index afc248c027e..06bfd78a351 100644
--- a/mysql-test/r/ps_2myisam.result
+++ b/mysql-test/r/ps_2myisam.result
@@ -63,7 +63,7 @@ def test t9 t9 c11 c11 246 9 6 Y 0 4 63
def test t9 t9 c12 c12 246 10 6 Y 0 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 1249 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
@@ -783,20 +783,20 @@ a b
2 two
3 three
4 four
-prepare stmt1 from ' SELECT a as ccc from t1 where a+1=
- (SELECT 1+ccc from t1 where ccc+1=a+1 and a=1) ';
+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 where a+1=
- (SELECT 1+ccc from t1 where ccc+1=a+1 and a=1) ';
+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 where a+1=
- (SELECT 1+ccc from t1 where ccc+1=a+1 and a=1) ';
+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
@@ -1303,12 +1303,11 @@ a b
set @arg00=NULL;
set @arg01=2;
execute stmt1 using @arg00, @arg01;
-Warnings:
-Warning 1048 Column 'a' cannot be null
+ERROR 23000: Column 'a' cannot be null
select a,b from t1 order by a;
a b
-0 two
1 one
+2 two
3 three
4 four
set @arg00=0;
@@ -2973,11 +2972,13 @@ 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
@@ -3011,7 +3012,6 @@ 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:
-Note 1265 Data truncated for column 'c13' 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
diff --git a/mysql-test/r/ps_3innodb.result b/mysql-test/r/ps_3innodb.result
index e3f55cee898..f56b1d37a2c 100644
--- a/mysql-test/r/ps_3innodb.result
+++ b/mysql-test/r/ps_3innodb.result
@@ -63,7 +63,7 @@ def test t9 t9 c11 c11 246 9 6 Y 0 4 63
def test t9 t9 c12 c12 246 10 6 Y 0 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 1249 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
@@ -783,20 +783,20 @@ a b
2 two
3 three
4 four
-prepare stmt1 from ' SELECT a as ccc from t1 where a+1=
- (SELECT 1+ccc from t1 where ccc+1=a+1 and a=1) ';
+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 where a+1=
- (SELECT 1+ccc from t1 where ccc+1=a+1 and a=1) ';
+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 where a+1=
- (SELECT 1+ccc from t1 where ccc+1=a+1 and a=1) ';
+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
@@ -1286,12 +1286,11 @@ a b
set @arg00=NULL;
set @arg01=2;
execute stmt1 using @arg00, @arg01;
-Warnings:
-Warning 1048 Column 'a' cannot be null
+ERROR 23000: Column 'a' cannot be null
select a,b from t1 order by a;
a b
-0 two
1 one
+2 two
3 three
4 four
set @arg00=0;
@@ -2956,11 +2955,13 @@ 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
@@ -2994,7 +2995,6 @@ 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:
-Note 1265 Data truncated for column 'c13' 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
diff --git a/mysql-test/r/ps_4heap.result b/mysql-test/r/ps_4heap.result
index fa33dcc395a..0c643facf72 100644
--- a/mysql-test/r/ps_4heap.result
+++ b/mysql-test/r/ps_4heap.result
@@ -64,7 +64,7 @@ def test t9 t9 c11 c11 246 9 6 Y 0 4 63
def test t9 t9 c12 c12 246 10 6 Y 0 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 1249 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
@@ -784,20 +784,20 @@ a b
2 two
3 three
4 four
-prepare stmt1 from ' SELECT a as ccc from t1 where a+1=
- (SELECT 1+ccc from t1 where ccc+1=a+1 and a=1) ';
+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 where a+1=
- (SELECT 1+ccc from t1 where ccc+1=a+1 and a=1) ';
+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 where a+1=
- (SELECT 1+ccc from t1 where ccc+1=a+1 and a=1) ';
+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
@@ -1287,12 +1287,11 @@ a b
set @arg00=NULL;
set @arg01=2;
execute stmt1 using @arg00, @arg01;
-Warnings:
-Warning 1048 Column 'a' cannot be null
+ERROR 23000: Column 'a' cannot be null
select a,b from t1 order by a;
a b
-0 two
1 one
+2 two
3 three
4 four
set @arg00=0;
@@ -2957,11 +2956,13 @@ 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
@@ -2995,7 +2996,6 @@ 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:
-Note 1265 Data truncated for column 'c13' 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
diff --git a/mysql-test/r/ps_5merge.result b/mysql-test/r/ps_5merge.result
index 968342c8a93..bd3cd4ac1fc 100644
--- a/mysql-test/r/ps_5merge.result
+++ b/mysql-test/r/ps_5merge.result
@@ -106,7 +106,7 @@ def test t9 t9 c11 c11 246 9 6 Y 0 4 63
def test t9 t9 c12 c12 246 10 6 Y 0 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 1249 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
@@ -826,20 +826,20 @@ a b
2 two
3 three
4 four
-prepare stmt1 from ' SELECT a as ccc from t1 where a+1=
- (SELECT 1+ccc from t1 where ccc+1=a+1 and a=1) ';
+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 where a+1=
- (SELECT 1+ccc from t1 where ccc+1=a+1 and a=1) ';
+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 where a+1=
- (SELECT 1+ccc from t1 where ccc+1=a+1 and a=1) ';
+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
@@ -1329,12 +1329,11 @@ a b
set @arg00=NULL;
set @arg01=2;
execute stmt1 using @arg00, @arg01;
-Warnings:
-Warning 1048 Column 'a' cannot be null
+ERROR 23000: Column 'a' cannot be null
select a,b from t1 order by a;
a b
-0 two
1 one
+2 two
3 three
4 four
set @arg00=0;
@@ -2893,11 +2892,13 @@ 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
@@ -2931,7 +2932,6 @@ 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:
-Note 1265 Data truncated for column 'c13' 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
@@ -3127,7 +3127,7 @@ def test t9 t9 c11 c11 246 9 6 Y 0 4 63
def test t9 t9 c12 c12 246 10 6 Y 0 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 1249 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
@@ -3847,20 +3847,20 @@ a b
2 two
3 three
4 four
-prepare stmt1 from ' SELECT a as ccc from t1 where a+1=
- (SELECT 1+ccc from t1 where ccc+1=a+1 and a=1) ';
+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 where a+1=
- (SELECT 1+ccc from t1 where ccc+1=a+1 and a=1) ';
+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 where a+1=
- (SELECT 1+ccc from t1 where ccc+1=a+1 and a=1) ';
+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
@@ -4350,12 +4350,11 @@ a b
set @arg00=NULL;
set @arg01=2;
execute stmt1 using @arg00, @arg01;
-Warnings:
-Warning 1048 Column 'a' cannot be null
+ERROR 23000: Column 'a' cannot be null
select a,b from t1 order by a;
a b
-0 two
1 one
+2 two
3 three
4 four
set @arg00=0;
@@ -5914,11 +5913,13 @@ 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
@@ -5952,7 +5953,6 @@ 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:
-Note 1265 Data truncated for column 'c13' 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
diff --git a/mysql-test/r/ps_ddl.result b/mysql-test/r/ps_ddl.result
new file mode 100644
index 00000000000..531d29d219e
--- /dev/null
+++ b/mysql-test/r/ps_ddl.result
@@ -0,0 +1,3607 @@
+SELECT VARIABLE_VALUE from
+INFORMATION_SCHEMA.SESSION_STATUS where variable_name='COM_STMT_REPREPARE'
+into @base_count ;
+set @expected = 0;
+=====================================================================
+Testing 1: NOTHING -> TABLE transitions
+=====================================================================
+drop table if exists t1;
+prepare stmt from 'select * from t1';
+ERROR 42S02: Table 'test.t1' doesn't exist
+=====================================================================
+Testing 2: NOTHING -> TEMPORARY TABLE transitions
+=====================================================================
+=====================================================================
+Testing 3: NOTHING -> VIEW transitions
+=====================================================================
+=====================================================================
+Testing 4: TABLE -> NOTHING transitions
+=====================================================================
+drop table if exists t4;
+create table t4(a int);
+prepare stmt from 'select * from t4';
+execute stmt;
+a
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+a
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop table t4;
+execute stmt;
+ERROR 42S02: Table 'test.t4' doesn't exist
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+ERROR 42S02: Table 'test.t4' doesn't exist
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+=====================================================================
+Testing 5: TABLE -> TABLE (DDL) transitions
+=====================================================================
+drop table if exists t5;
+create table t5(a int);
+prepare stmt from 'select a from t5';
+execute stmt;
+a
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+a
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+alter table t5 add column (b int);
+set @expected = @expected + 1;
+execute stmt;
+a
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+a
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop table t5;
+=====================================================================
+Testing 6: TABLE -> TABLE (TRIGGER) transitions
+=====================================================================
+drop table if exists t6;
+create table t6(a int);
+prepare stmt from 'insert into t6(a) value (?)';
+set @val=1;
+execute stmt using @val;
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+set @val=2;
+execute stmt using @val;
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+create trigger t6_bi before insert on t6 for each row
+begin
+set @message= "t6_bi";
+end
+$$
+set @message="none";
+set @val=3;
+set @expected = @expected + 1;
+execute stmt using @val;
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+select @message;
+@message
+t6_bi
+set @val=4;
+execute stmt using @val;
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+select @message;
+@message
+t6_bi
+prepare stmt from 'insert into t6(a) value (?)';
+set @message="none";
+set @val=5;
+execute stmt using @val;
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+select @message;
+@message
+t6_bi
+set @message="none";
+set @val=6;
+execute stmt using @val;
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+select @message;
+@message
+t6_bi
+create trigger t6_bd before delete on t6 for each row
+begin
+set @message= "t6_bd";
+end
+$$
+set @message="none";
+set @val=7;
+set @expected = @expected + 1;
+execute stmt using @val;
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+select @message;
+@message
+t6_bi
+set @message="none";
+set @val=8;
+execute stmt using @val;
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+select @message;
+@message
+t6_bi
+prepare stmt from 'insert into t6(a) value (?)';
+set @message="none";
+set @val=9;
+execute stmt using @val;
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+select @message;
+@message
+t6_bi
+set @message="none";
+set @val=10;
+execute stmt using @val;
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+select @message;
+@message
+t6_bi
+drop trigger t6_bi;
+create trigger t6_bi before insert on t6 for each row
+begin
+set @message= "t6_bi (2)";
+end
+$$
+set @message="none";
+set @val=11;
+set @expected = @expected + 1;
+execute stmt using @val;
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+select @message;
+@message
+t6_bi (2)
+set @val=12;
+execute stmt using @val;
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+select @message;
+@message
+t6_bi (2)
+prepare stmt from 'insert into t6(a) value (?)';
+set @message="none";
+set @val=13;
+execute stmt using @val;
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+select @message;
+@message
+t6_bi (2)
+set @message="none";
+set @val=14;
+execute stmt using @val;
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+select @message;
+@message
+t6_bi (2)
+drop trigger t6_bd;
+create trigger t6_bd before delete on t6 for each row
+begin
+set @message= "t6_bd (2)";
+end
+$$
+set @message="none";
+set @val=15;
+set @expected = @expected + 1;
+execute stmt using @val;
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+select @message;
+@message
+t6_bi (2)
+set @message="none";
+set @val=16;
+execute stmt using @val;
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+select @message;
+@message
+t6_bi (2)
+prepare stmt from 'insert into t6(a) value (?)';
+set @message="none";
+set @val=17;
+execute stmt using @val;
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+select @message;
+@message
+t6_bi (2)
+set @message="none";
+set @val=18;
+execute stmt using @val;
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+select @message;
+@message
+t6_bi (2)
+drop trigger t6_bi;
+set @message="none";
+set @val=19;
+set @expected = @expected + 1;
+execute stmt using @val;
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+select @message;
+@message
+none
+set @val=20;
+execute stmt using @val;
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+select @message;
+@message
+none
+prepare stmt from 'insert into t6(a) value (?)';
+set @message="none";
+set @val=21;
+execute stmt using @val;
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+select @message;
+@message
+none
+set @val=22;
+execute stmt using @val;
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+select @message;
+@message
+none
+drop trigger t6_bd;
+set @val=23;
+set @expected = @expected + 1;
+execute stmt using @val;
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+select @message;
+@message
+none
+set @val=24;
+execute stmt using @val;
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+select @message;
+@message
+none
+select * from t6 order by a;
+a
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+drop table t6;
+=====================================================================
+Testing 7: TABLE -> TABLE (TRIGGER dependencies) transitions
+=====================================================================
+drop table if exists t7_proc;
+drop table if exists t7_func;
+drop table if exists t7_view;
+drop table if exists t7_table;
+drop table if exists t7_dependent_table;
+drop table if exists t7_table_trigger;
+drop table if exists t7_audit;
+drop procedure if exists audit_proc;
+drop function if exists audit_func;
+drop view if exists audit_view;
+create table t7_proc(a int);
+create table t7_func(a int);
+create table t7_view(a int);
+create table t7_table(a int);
+create table t7_table_trigger(a int);
+create table t7_audit(old_a int, new_a int, reason varchar(50));
+create table t7_dependent_table(old_a int, new_a int, reason varchar(50));
+create procedure audit_proc(a int)
+insert into t7_audit values (NULL, a, "proc v1");
+create function audit_func() returns varchar(50)
+return "func v1";
+create view audit_view as select "view v1" as reason from dual;
+create trigger t7_proc_bi before insert on t7_proc for each row
+call audit_proc(NEW.a);
+create trigger t7_func_bi before insert on t7_func for each row
+insert into t7_audit values (NULL, NEW.a, audit_func());
+create trigger t7_view_bi before insert on t7_view for each row
+insert into t7_audit values (NULL, NEW.a, (select reason from audit_view));
+create trigger t7_table_bi before insert on t7_table for each row
+insert into t7_dependent_table values (NULL, NEW.a, "dependent table");
+create trigger t7_table_trigger_bi before insert on t7_dependent_table
+for each row set NEW.reason="trigger v1";
+prepare stmt_proc from 'insert into t7_proc(a) value (?)';
+set @val=101;
+execute stmt_proc using @val;
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+set @val=102;
+execute stmt_proc using @val;
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop procedure audit_proc;
+create procedure audit_proc(a int)
+insert into t7_audit values (NULL, a, "proc v2");
+set @val=103;
+set @expected = @expected + 1;
+execute stmt_proc using @val;
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+set @val=104;
+execute stmt_proc using @val;
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+prepare stmt_func from 'insert into t7_func(a) value (?)';
+set @val=201;
+execute stmt_func using @val;
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+set @val=202;
+execute stmt_func using @val;
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop function audit_func;
+create function audit_func() returns varchar(50)
+return "func v2";
+set @val=203;
+set @expected = @expected + 1;
+execute stmt_func using @val;
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+set @val=204;
+execute stmt_func using @val;
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+prepare stmt_view from 'insert into t7_view(a) value (?)';
+set @val=301;
+execute stmt_view using @val;
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+set @val=302;
+execute stmt_view using @val;
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop view audit_view;
+create view audit_view as select "view v2" as reason from dual;
+set @val=303;
+set @expected = @expected + 1;
+execute stmt_view using @val;
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+set @val=304;
+execute stmt_view using @val;
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+prepare stmt_table from 'insert into t7_table(a) value (?)';
+set @val=401;
+execute stmt_table using @val;
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+set @val=402;
+execute stmt_table using @val;
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+alter table t7_dependent_table add column comments varchar(100) default NULL;
+set @val=403;
+set @expected = @expected + 1;
+execute stmt_table using @val;
+ERROR 21S01: Column count doesn't match value count at row 1
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+set @val=404;
+set @expected = @expected + 1;
+execute stmt_table using @val;
+ERROR 21S01: Column count doesn't match value count at row 1
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+alter table t7_dependent_table drop column comments;
+set @val=405;
+set @expected = @expected + 1;
+execute stmt_table using @val;
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+set @val=406;
+execute stmt_table using @val;
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+prepare stmt_table_trigger from 'insert into t7_table(a) value (?)';
+set @val=501;
+execute stmt_table_trigger using @val;
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+set @val=502;
+execute stmt_table_trigger using @val;
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop trigger t7_table_trigger_bi;
+create trigger t7_table_trigger_bi before insert on t7_dependent_table
+for each row set NEW.reason="trigger v2";
+set @val=503;
+set @expected = @expected + 1;
+execute stmt_table_trigger using @val;
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+set @val=504;
+execute stmt_table_trigger using @val;
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+select * from t7_audit order by new_a;
+old_a new_a reason
+NULL 101 proc v1
+NULL 102 proc v1
+NULL 103 proc v2
+NULL 104 proc v2
+NULL 201 func v1
+NULL 202 func v1
+NULL 203 func v2
+NULL 204 func v2
+NULL 301 view v1
+NULL 302 view v1
+NULL 303 view v1
+NULL 304 view v1
+select * from t7_dependent_table order by new_a;
+old_a new_a reason
+NULL 401 trigger v1
+NULL 402 trigger v1
+NULL 405 trigger v1
+NULL 406 trigger v1
+NULL 501 trigger v1
+NULL 502 trigger v1
+NULL 503 trigger v2
+NULL 504 trigger v2
+drop table t7_proc;
+drop table t7_func;
+drop table t7_view;
+drop table t7_table;
+drop table t7_dependent_table;
+drop table t7_table_trigger;
+drop table t7_audit;
+drop procedure audit_proc;
+drop function audit_func;
+drop view audit_view;
+=====================================================================
+Testing 8: TABLE -> TEMPORARY TABLE transitions
+=====================================================================
+drop table if exists t8;
+create table t8(a int);
+prepare stmt from 'select * from t8';
+execute stmt;
+a
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+a
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop table t8;
+create temporary table t8(a int);
+set @expected = @expected + 1;
+execute stmt;
+a
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+a
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop table t8;
+=====================================================================
+Testing 9: TABLE -> VIEW transitions
+=====================================================================
+drop table if exists t9;
+drop table if exists t9_b;
+create table t9(a int);
+create table t9_b(a int);
+prepare stmt from 'select * from t9';
+execute stmt;
+a
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+a
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop table t9;
+create view t9 as select * from t9_b;
+set @expected = @expected + 1;
+execute stmt;
+a
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+a
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop view t9;
+drop table t9_b;
+=====================================================================
+Testing 10: TEMPORARY TABLE -> NOTHING transitions
+=====================================================================
+drop temporary table if exists t10;
+create temporary table t10(a int);
+prepare stmt from 'select * from t10';
+execute stmt;
+a
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+a
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop temporary table t10;
+execute stmt;
+ERROR 42S02: Table 'test.t10' doesn't exist
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+ERROR 42S02: Table 'test.t10' doesn't exist
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+=====================================================================
+Testing 11: TEMPORARY TABLE -> TABLE transitions
+=====================================================================
+drop table if exists t11;
+drop temporary table if exists t11;
+create table t11(a int);
+insert into t11(a) value (1);
+create temporary table t11(a int);
+prepare stmt from 'select * from t11';
+execute stmt;
+a
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+a
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop temporary table t11;
+set @expected = @expected + 1;
+execute stmt;
+a
+1
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+a
+1
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+select * from t11;
+a
+1
+drop table t11;
+=====================================================================
+Testing 12: TEMPORARY TABLE -> TEMPORARY TABLE (DDL) transitions
+=====================================================================
+drop temporary table if exists t12;
+create temporary table t12(a int);
+prepare stmt from 'select a from t12';
+execute stmt;
+a
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+a
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop temporary table t12;
+create temporary table t12(a int, b int);
+set @expected = @expected + 1;
+execute stmt;
+a
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+a
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+select * from t12;
+a b
+drop table t12;
+=====================================================================
+Testing 13: TEMPORARY TABLE -> VIEW transitions
+=====================================================================
+drop temporary table if exists t13;
+drop table if exists t13_b;
+create temporary table t13(a int);
+create table t13_b(a int);
+prepare stmt from 'select * from t13';
+execute stmt;
+a
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+a
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop temporary table t13;
+create view t13 as select * from t13_b;
+set @expected = @expected + 1;
+execute stmt;
+a
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+a
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop view t13;
+drop table t13_b;
+=====================================================================
+Testing 14: VIEW -> NOTHING transitions
+=====================================================================
+drop view if exists t14;
+drop table if exists t14_b;
+create table t14_b(a int);
+create view t14 as select * from t14_b;
+prepare stmt from 'select * from t14';
+execute stmt;
+a
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+a
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop view t14;
+set @expected = @expected + 1;
+execute stmt;
+ERROR 42S02: Table 'test.t14' doesn't exist
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+set @expected = @expected + 1;
+execute stmt;
+ERROR 42S02: Table 'test.t14' doesn't exist
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop table t14_b;
+=====================================================================
+Testing 15: VIEW -> TABLE transitions
+=====================================================================
+drop view if exists t15;
+drop table if exists t15_b;
+create table t15_b(a int);
+create view t15 as select * from t15_b;
+prepare stmt from 'select * from t15';
+execute stmt;
+a
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+a
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop view t15;
+create table t15(a int);
+set @expected = @expected + 1;
+execute stmt;
+a
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+a
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop table t15_b;
+drop table t15;
+=====================================================================
+Testing 16: VIEW -> TEMPORARY TABLE transitions
+=====================================================================
+drop view if exists t16;
+drop table if exists t16_b;
+create table t16_b(a int);
+create view t16 as select * from t16_b;
+prepare stmt from 'select * from t16';
+execute stmt;
+a
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+a
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop view t16;
+create temporary table t16(a int);
+set @expected = @expected + 1;
+execute stmt;
+a
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+a
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop table t16_b;
+drop temporary table t16;
+=====================================================================
+Testing 17: VIEW -> VIEW (DDL) transitions
+=====================================================================
+drop view if exists t17;
+drop table if exists t17_b;
+create table t17_b(a int);
+insert into t17_b values (10), (20), (30);
+create view t17 as select a, 2*a as b, 3*a as c from t17_b;
+select * from t17;
+a b c
+10 20 30
+20 40 60
+30 60 90
+prepare stmt from 'select * from t17';
+execute stmt;
+a b c
+10 20 30
+20 40 60
+30 60 90
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+a b c
+10 20 30
+20 40 60
+30 60 90
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop view t17;
+create view t17 as select a, 2*a as b, 5*a as c from t17_b;
+select * from t17;
+a b c
+10 20 50
+20 40 100
+30 60 150
+set @expected = @expected + 1;
+execute stmt;
+a b c
+10 20 50
+20 40 100
+30 60 150
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+a b c
+10 20 50
+20 40 100
+30 60 150
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop table t17_b;
+drop view t17;
+=====================================================================
+Testing 18: VIEW -> VIEW (VIEW dependencies) transitions
+=====================================================================
+drop table if exists t18;
+drop table if exists t18_dependent_table;
+drop view if exists t18_func;
+drop view if exists t18_view;
+drop view if exists t18_table;
+drop function if exists view_func;
+drop view if exists view_view;
+create table t18(a int);
+insert into t18 values (1), (2), (3);
+create function view_func(x int) returns int
+return x+1;
+create view view_view as select "view v1" as reason from dual;
+create table t18_dependent_table(a int);
+create view t18_func as select a, view_func(a) as b from t18;
+create view t18_view as select a, reason as b from t18, view_view;
+create view t18_table as select * from t18;
+prepare stmt_func from 'select * from t18_func';
+execute stmt_func;
+a b
+1 2
+2 3
+3 4
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt_func;
+a b
+1 2
+2 3
+3 4
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop function view_func;
+create function view_func(x int) returns int
+return x*x;
+set @expected = @expected + 1;
+execute stmt_func;
+a b
+1 1
+2 4
+3 9
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt_func;
+a b
+1 1
+2 4
+3 9
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+prepare stmt_view from 'select * from t18_view';
+execute stmt_view;
+a b
+1 view v1
+2 view v1
+3 view v1
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt_view;
+a b
+1 view v1
+2 view v1
+3 view v1
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop view view_view;
+create view view_view as select "view v2" as reason from dual;
+set @expected = @expected + 1;
+execute stmt_view;
+a b
+1 view v2
+2 view v2
+3 view v2
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt_view;
+a b
+1 view v2
+2 view v2
+3 view v2
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+prepare stmt_table from 'select * from t18_table';
+execute stmt_table;
+a
+1
+2
+3
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt_table;
+a
+1
+2
+3
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+alter table t18 add column comments varchar(50) default NULL;
+set @expected = @expected + 1;
+execute stmt_table;
+a
+1
+2
+3
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt_table;
+a
+1
+2
+3
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop table t18;
+drop table t18_dependent_table;
+drop view t18_func;
+drop view t18_view;
+drop view t18_table;
+drop function view_func;
+drop view view_view;
+=====================================================================
+Testing 19: Special tables (INFORMATION_SCHEMA)
+=====================================================================
+drop procedure if exists proc_19;
+prepare stmt from
+'select ROUTINE_SCHEMA, ROUTINE_NAME, ROUTINE_TYPE
+ from INFORMATION_SCHEMA.ROUTINES where
+ routine_name=\'proc_19\'';
+create procedure proc_19() select "hi there";
+execute stmt;
+ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE
+test proc_19 PROCEDURE
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE
+test proc_19 PROCEDURE
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop procedure proc_19;
+create procedure proc_19() select "hi there, again";
+execute stmt;
+ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE
+test proc_19 PROCEDURE
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE
+test proc_19 PROCEDURE
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop procedure proc_19;
+=====================================================================
+Testing 20: Special tables (log tables)
+=====================================================================
+prepare stmt from
+'select * from mysql.general_log where argument=\'IMPOSSIBLE QUERY STRING\'';
+execute stmt;
+event_time user_host thread_id server_id command_type argument
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+event_time user_host thread_id server_id command_type argument
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+event_time user_host thread_id server_id command_type argument
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+event_time user_host thread_id server_id command_type argument
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+=====================================================================
+Testing 21: Special tables (system tables)
+=====================================================================
+drop procedure if exists proc_21;
+prepare stmt from
+'select type, db, name from mysql.proc where name=\'proc_21\'';
+create procedure proc_21() select "hi there";
+execute stmt;
+type db name
+PROCEDURE test proc_21
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+type db name
+PROCEDURE test proc_21
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop procedure proc_21;
+create procedure proc_21() select "hi there, again";
+execute stmt;
+type db name
+PROCEDURE test proc_21
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+type db name
+PROCEDURE test proc_21
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop procedure proc_21;
+=====================================================================
+Testing 22: Special tables (views temp tables)
+=====================================================================
+drop table if exists t22_b;
+drop view if exists t22;
+create table t22_b(a int);
+create algorithm=temptable view t22 as select a*a as a2 from t22_b;
+show create view t22;
+View Create View character_set_client collation_connection
+t22 CREATE ALGORITHM=TEMPTABLE DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `t22` AS select (`t22_b`.`a` * `t22_b`.`a`) AS `a2` from `t22_b` latin1 latin1_swedish_ci
+prepare stmt from 'select * from t22';
+insert into t22_b values (1), (2), (3);
+execute stmt;
+a2
+1
+4
+9
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+a2
+1
+4
+9
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+insert into t22_b values (4), (5), (6);
+execute stmt;
+a2
+1
+4
+9
+16
+25
+36
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+a2
+1
+4
+9
+16
+25
+36
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop table t22_b;
+drop view t22;
+=====================================================================
+Testing 23: Special tables (internal join tables)
+=====================================================================
+drop table if exists t23_a;
+drop table if exists t23_b;
+create table t23_a(a int);
+create table t23_b(b int);
+prepare stmt from 'select * from t23_a join t23_b';
+insert into t23_a values (1), (2), (3);
+insert into t23_b values (10), (20), (30);
+execute stmt;
+a b
+1 10
+2 10
+3 10
+1 20
+2 20
+3 20
+1 30
+2 30
+3 30
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+a b
+1 10
+2 10
+3 10
+1 20
+2 20
+3 20
+1 30
+2 30
+3 30
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+insert into t23_a values (4);
+insert into t23_b values (40);
+execute stmt;
+a b
+1 10
+2 10
+3 10
+4 10
+1 20
+2 20
+3 20
+4 20
+1 30
+2 30
+3 30
+4 30
+1 40
+2 40
+3 40
+4 40
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+a b
+1 10
+2 10
+3 10
+4 10
+1 20
+2 20
+3 20
+4 20
+1 30
+2 30
+3 30
+4 30
+1 40
+2 40
+3 40
+4 40
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop table t23_a;
+drop table t23_b;
+=====================================================================
+Testing 24: Special statements
+=====================================================================
+drop table if exists t24_alter;
+create table t24_alter(a int);
+prepare stmt from 'alter table t24_alter add column b int';
+execute stmt;
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop table t24_alter;
+create table t24_alter(a1 int, a2 int);
+execute stmt;
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+alter table t24_alter drop column b;
+execute stmt;
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+alter table t24_alter drop column b;
+execute stmt;
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop table t24_alter;
+drop table if exists t24_repair;
+create table t24_repair(a int);
+insert into t24_repair values (1), (2), (3);
+prepare stmt from 'repair table t24_repair';
+execute stmt;
+Table Op Msg_type Msg_text
+test.t24_repair repair status OK
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop table t24_repair;
+create table t24_repair(a1 int, a2 int);
+insert into t24_repair values (1, 10), (2, 20), (3, 30);
+execute stmt;
+Table Op Msg_type Msg_text
+test.t24_repair repair status OK
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+alter table t24_repair add column b varchar(50) default NULL;
+execute stmt;
+Table Op Msg_type Msg_text
+test.t24_repair repair status OK
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+alter table t24_repair drop column b;
+execute stmt;
+Table Op Msg_type Msg_text
+test.t24_repair repair status OK
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop table t24_repair;
+drop table if exists t24_analyze;
+create table t24_analyze(a int);
+insert into t24_analyze values (1), (2), (3);
+prepare stmt from 'analyze table t24_analyze';
+execute stmt;
+Table Op Msg_type Msg_text
+test.t24_analyze analyze status OK
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop table t24_analyze;
+create table t24_analyze(a1 int, a2 int);
+insert into t24_analyze values (1, 10), (2, 20), (3, 30);
+execute stmt;
+Table Op Msg_type Msg_text
+test.t24_analyze analyze status OK
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+alter table t24_analyze add column b varchar(50) default NULL;
+execute stmt;
+Table Op Msg_type Msg_text
+test.t24_analyze analyze status OK
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+alter table t24_analyze drop column b;
+execute stmt;
+Table Op Msg_type Msg_text
+test.t24_analyze analyze status OK
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop table t24_analyze;
+drop table if exists t24_optimize;
+create table t24_optimize(a int);
+insert into t24_optimize values (1), (2), (3);
+prepare stmt from 'optimize table t24_optimize';
+execute stmt;
+Table Op Msg_type Msg_text
+test.t24_optimize optimize status OK
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop table t24_optimize;
+create table t24_optimize(a1 int, a2 int);
+insert into t24_optimize values (1, 10), (2, 20), (3, 30);
+execute stmt;
+Table Op Msg_type Msg_text
+test.t24_optimize optimize status OK
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+alter table t24_optimize add column b varchar(50) default NULL;
+execute stmt;
+Table Op Msg_type Msg_text
+test.t24_optimize optimize status OK
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+alter table t24_optimize drop column b;
+execute stmt;
+Table Op Msg_type Msg_text
+test.t24_optimize optimize status OK
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop table t24_optimize;
+drop procedure if exists changing_proc;
+prepare stmt from 'show create procedure changing_proc';
+execute stmt;
+ERROR 42000: PROCEDURE changing_proc does not exist
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+ERROR 42000: PROCEDURE changing_proc does not exist
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+create procedure changing_proc() begin end;
+execute stmt;
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+changing_proc CREATE DEFINER=`root`@`localhost` PROCEDURE `changing_proc`()
+begin end latin1 latin1_swedish_ci latin1_swedish_ci
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+changing_proc CREATE DEFINER=`root`@`localhost` PROCEDURE `changing_proc`()
+begin end latin1 latin1_swedish_ci latin1_swedish_ci
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop procedure changing_proc;
+create procedure changing_proc(x int, y int) begin end;
+execute stmt;
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+changing_proc CREATE DEFINER=`root`@`localhost` PROCEDURE `changing_proc`(x int, y int)
+begin end latin1 latin1_swedish_ci latin1_swedish_ci
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+changing_proc CREATE DEFINER=`root`@`localhost` PROCEDURE `changing_proc`(x int, y int)
+begin end latin1 latin1_swedish_ci latin1_swedish_ci
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop procedure changing_proc;
+execute stmt;
+ERROR 42000: PROCEDURE changing_proc does not exist
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+ERROR 42000: PROCEDURE changing_proc does not exist
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop function if exists changing_func;
+prepare stmt from 'show create function changing_func';
+execute stmt;
+ERROR 42000: FUNCTION changing_func does not exist
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+ERROR 42000: FUNCTION changing_func does not exist
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+create function changing_func() returns int return 0;
+execute stmt;
+Function sql_mode Create Function character_set_client collation_connection Database Collation
+changing_func CREATE DEFINER=`root`@`localhost` FUNCTION `changing_func`() RETURNS int(11)
+return 0 latin1 latin1_swedish_ci latin1_swedish_ci
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+Function sql_mode Create Function character_set_client collation_connection Database Collation
+changing_func CREATE DEFINER=`root`@`localhost` FUNCTION `changing_func`() RETURNS int(11)
+return 0 latin1 latin1_swedish_ci latin1_swedish_ci
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop function changing_func;
+create function changing_func(x int, y int) returns int return x+y;
+execute stmt;
+Function sql_mode Create Function character_set_client collation_connection Database Collation
+changing_func CREATE DEFINER=`root`@`localhost` FUNCTION `changing_func`(x int, y int) RETURNS int(11)
+return x+y latin1 latin1_swedish_ci latin1_swedish_ci
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+Function sql_mode Create Function character_set_client collation_connection Database Collation
+changing_func CREATE DEFINER=`root`@`localhost` FUNCTION `changing_func`(x int, y int) RETURNS int(11)
+return x+y latin1 latin1_swedish_ci latin1_swedish_ci
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop function changing_func;
+execute stmt;
+ERROR 42000: FUNCTION changing_func does not exist
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+ERROR 42000: FUNCTION changing_func does not exist
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop table if exists t24_trigger;
+create table t24_trigger(a int);
+prepare stmt from 'show create trigger t24_bi;';
+execute stmt;
+ERROR HY000: Trigger does not exist
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+ERROR HY000: Trigger does not exist
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+create trigger t24_bi before insert on t24_trigger for each row
+begin
+set @message= "t24_bi";
+end
+$$
+execute stmt;
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation
+t24_bi CREATE DEFINER=`root`@`localhost` trigger t24_bi before insert on t24_trigger for each row
+begin
+set @message= "t24_bi";
+end latin1 latin1_swedish_ci latin1_swedish_ci
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation
+t24_bi CREATE DEFINER=`root`@`localhost` trigger t24_bi before insert on t24_trigger for each row
+begin
+set @message= "t24_bi";
+end latin1 latin1_swedish_ci latin1_swedish_ci
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop trigger t24_bi;
+create trigger t24_bi before insert on t24_trigger for each row
+begin
+set @message= "t24_bi (2)";
+end
+$$
+set @expected = @expected + 1;
+execute stmt;
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation
+t24_bi CREATE DEFINER=`root`@`localhost` trigger t24_bi before insert on t24_trigger for each row
+begin
+set @message= "t24_bi (2)";
+end latin1 latin1_swedish_ci latin1_swedish_ci
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation
+t24_bi CREATE DEFINER=`root`@`localhost` trigger t24_bi before insert on t24_trigger for each row
+begin
+set @message= "t24_bi (2)";
+end latin1 latin1_swedish_ci latin1_swedish_ci
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop trigger t24_bi;
+execute stmt;
+ERROR HY000: Trigger does not exist
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+ERROR HY000: Trigger does not exist
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop table t24_trigger;
+=====================================================================
+Testing 25: Testing the strength of TABLE_SHARE version
+=====================================================================
+drop table if exists t25_num_col;
+create table t25_num_col(a int);
+prepare stmt from 'select a from t25_num_col';
+execute stmt;
+a
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+a
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+alter table t25_num_col add column b varchar(50) default NULL;
+set @expected = @expected + 1;
+execute stmt;
+a
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+a
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop table t25_num_col;
+drop table if exists t25_col_name;
+create table t25_col_name(a int);
+prepare stmt from 'select * from t25_col_name';
+execute stmt;
+a
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+a
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+alter table t25_col_name change a b int;
+set @expected = @expected + 1;
+execute stmt;
+ERROR HY000: Prepared statement result set has changed, rebind needed
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+set @expected = @expected + 1;
+execute stmt;
+ERROR HY000: Prepared statement result set has changed, rebind needed
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop table t25_col_name;
+drop table if exists t25_col_type;
+create table t25_col_type(a int);
+prepare stmt from 'select * from t25_col_type';
+execute stmt;
+a
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+a
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+alter table t25_col_type change a a varchar(10);
+set @expected = @expected + 1;
+execute stmt;
+ERROR HY000: Prepared statement result set has changed, rebind needed
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+set @expected = @expected + 1;
+execute stmt;
+ERROR HY000: Prepared statement result set has changed, rebind needed
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop table t25_col_type;
+drop table if exists t25_col_type_length;
+create table t25_col_type_length(a varchar(10));
+prepare stmt from 'select * from t25_col_type_length';
+execute stmt;
+a
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+a
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+alter table t25_col_type_length change a a varchar(20);
+set @expected = @expected + 1;
+execute stmt;
+ERROR HY000: Prepared statement result set has changed, rebind needed
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+set @expected = @expected + 1;
+execute stmt;
+ERROR HY000: Prepared statement result set has changed, rebind needed
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop table t25_col_type_length;
+drop table if exists t25_col_null;
+create table t25_col_null(a varchar(10));
+prepare stmt from 'select * from t25_col_null';
+execute stmt;
+a
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+a
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+alter table t25_col_null change a a varchar(10) NOT NULL;
+set @expected = @expected + 1;
+execute stmt;
+ERROR HY000: Prepared statement result set has changed, rebind needed
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+set @expected = @expected + 1;
+execute stmt;
+ERROR HY000: Prepared statement result set has changed, rebind needed
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop table t25_col_null;
+drop table if exists t25_col_default;
+create table t25_col_default(a int, b int DEFAULT 10);
+prepare stmt from 'insert into t25_col_default(a) values (?)';
+set @val=1;
+execute stmt using @val;
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+set @val=2;
+execute stmt using @val;
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+alter table t25_col_default change b b int DEFAULT 20;
+set @val=3;
+set @expected = @expected + 1;
+execute stmt using @val;
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+set @val=4;
+execute stmt using @val;
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+select * from t25_col_default;
+a b
+1 10
+2 10
+3 20
+4 20
+drop table t25_col_default;
+drop table if exists t25_index;
+create table t25_index(a varchar(10));
+prepare stmt from 'select * from t25_index';
+execute stmt;
+a
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+a
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+create index i1 on t25_index(a);
+set @expected = @expected + 1;
+execute stmt;
+a
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+a
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop table t25_index;
+drop table if exists t25_index_unique;
+create table t25_index_unique(a varchar(10), b varchar(10));
+create index i1 on t25_index_unique(a, b);
+show create table t25_index_unique;
+Table Create Table
+t25_index_unique CREATE TABLE `t25_index_unique` (
+ `a` varchar(10) DEFAULT NULL,
+ `b` varchar(10) DEFAULT NULL,
+ KEY `i1` (`a`,`b`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+prepare stmt from 'select * from t25_index_unique';
+execute stmt;
+a b
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+a b
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+alter table t25_index_unique drop index i1;
+create unique index i1 on t25_index_unique(a, b);
+show create table t25_index_unique;
+Table Create Table
+t25_index_unique CREATE TABLE `t25_index_unique` (
+ `a` varchar(10) DEFAULT NULL,
+ `b` varchar(10) DEFAULT NULL,
+ UNIQUE KEY `i1` (`a`,`b`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+set @expected = @expected + 1;
+execute stmt;
+a b
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+a b
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop table t25_index_unique;
+=====================================================================
+Testing reported bugs
+=====================================================================
+drop table if exists table_12093;
+drop function if exists func_12093;
+drop function if exists func_12093_unrelated;
+drop procedure if exists proc_12093;
+create table table_12093(a int);
+create function func_12093()
+returns int
+begin
+return (select count(*) from table_12093);
+end//
+create procedure proc_12093(a int)
+begin
+select * from table_12093;
+end//
+create function func_12093_unrelated() returns int return 2;
+create procedure proc_12093_unrelated() begin end;
+prepare stmt_sf from 'select func_12093();';
+prepare stmt_sp from 'call proc_12093(func_12093())';
+execute stmt_sf;
+func_12093()
+0
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt_sp;
+a
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop function func_12093_unrelated;
+drop procedure proc_12093_unrelated;
+execute stmt_sf;
+func_12093()
+0
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt_sp;
+a
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt_sf;
+func_12093()
+0
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt_sp;
+a
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+deallocate prepare stmt_sf;
+deallocate prepare stmt_sp;
+drop table table_12093;
+drop function func_12093;
+drop procedure proc_12093;
+drop function if exists func_21294;
+create function func_21294() returns int return 10;
+prepare stmt from "select func_21294()";
+execute stmt;
+func_21294()
+10
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop function func_21294;
+create function func_21294() returns int return 10;
+execute stmt;
+func_21294()
+10
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop function func_21294;
+create function func_21294() returns int return 20;
+set @expected = @expected + 1;
+execute stmt;
+func_21294()
+20
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+deallocate prepare stmt;
+drop function func_21294;
+drop table if exists t_27420_100;
+drop table if exists t_27420_101;
+drop view if exists v_27420;
+create table t_27420_100(a int);
+insert into t_27420_100 values (1), (2);
+create table t_27420_101(a int);
+insert into t_27420_101 values (1), (2);
+create view v_27420 as select t_27420_100.a X, t_27420_101.a Y
+from t_27420_100, t_27420_101
+where t_27420_100.a=t_27420_101.a;
+prepare stmt from 'select * from v_27420';
+execute stmt;
+X Y
+1 1
+2 2
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop view v_27420;
+create table v_27420(X int, Y int);
+set @expected = @expected + 1;
+execute stmt;
+X Y
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop table v_27420;
+create table v_27420 (a int, b int, filler char(200));
+set @expected = @expected + 1;
+execute stmt;
+ERROR HY000: Prepared statement result set has changed, rebind needed
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+deallocate prepare stmt;
+drop table t_27420_100;
+drop table t_27420_101;
+drop table v_27420;
+drop table if exists t_27430_1;
+drop table if exists t_27430_2;
+create table t_27430_1 (a int not null, oref int not null, key(a));
+insert into t_27430_1 values
+(1, 1),
+(1, 1234),
+(2, 3),
+(2, 1234),
+(3, 1234);
+create table t_27430_2 (a int not null, oref int not null);
+insert into t_27430_2 values
+(1, 1),
+(2, 2),
+(1234, 3),
+(1234, 4);
+prepare stmt from
+'select oref, a, a in (select a from t_27430_1 where oref=t_27430_2.oref) Z from t_27430_2';
+execute stmt;
+oref a Z
+1 1 1
+2 2 0
+3 1234 0
+4 1234 0
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+oref a Z
+1 1 1
+2 2 0
+3 1234 0
+4 1234 0
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop table t_27430_1, t_27430_2;
+create table t_27430_1 (a int, oref int, key(a));
+insert into t_27430_1 values
+(1, 1),
+(1, NULL),
+(2, 3),
+(2, NULL),
+(3, NULL);
+create table t_27430_2 (a int, oref int);
+insert into t_27430_2 values
+(1, 1),
+(2,2),
+(NULL, 3),
+(NULL, 4);
+set @expected = @expected + 1;
+execute stmt;
+ERROR HY000: Prepared statement result set has changed, rebind needed
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+set @expected = @expected + 1;
+execute stmt;
+ERROR HY000: Prepared statement result set has changed, rebind needed
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+deallocate prepare stmt;
+drop table t_27430_1;
+drop table t_27430_2;
+drop table if exists t_27690_1;
+drop view if exists v_27690_1;
+drop table if exists v_27690_2;
+create table t_27690_1 (a int, b int);
+insert into t_27690_1 values (1,1),(2,2);
+create table v_27690_1 as select * from t_27690_1;
+create table v_27690_2 as select * from t_27690_1;
+prepare stmt from 'select * from v_27690_1, v_27690_2';
+execute stmt;
+a b a b
+1 1 1 1
+2 2 1 1
+1 1 2 2
+2 2 2 2
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+a b a b
+1 1 1 1
+2 2 1 1
+1 1 2 2
+2 2 2 2
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+drop table v_27690_1;
+execute stmt;
+ERROR 42S02: Table 'test.v_27690_1' doesn't exist
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+ERROR 42S02: Table 'test.v_27690_1' doesn't exist
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+create view v_27690_1 as select A.a, A.b from t_27690_1 A, t_27690_1 B;
+set @expected = @expected + 1;
+execute stmt;
+a b a b
+1 1 1 1
+2 2 1 1
+1 1 1 1
+2 2 1 1
+1 1 2 2
+2 2 2 2
+1 1 2 2
+2 2 2 2
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+execute stmt;
+a b a b
+1 1 1 1
+2 2 1 1
+1 1 1 1
+2 2 1 1
+1 1 2 2
+2 2 2 2
+1 1 2 2
+2 2 2 2
+SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+AS `CHECK`,
+(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+where variable_name='COM_STMT_REPREPARE' ;
+CHECK OFFSET
+PASSED 0
+deallocate prepare stmt;
+drop table t_27690_1;
+drop view v_27690_1;
+drop table v_27690_2;
diff --git a/mysql-test/r/query_cache.result b/mysql-test/r/query_cache.result
index 2e226ea84bc..34c86d6c8c6 100644
--- a/mysql-test/r/query_cache.result
+++ b/mysql-test/r/query_cache.result
@@ -1650,57 +1650,59 @@ a (select count(*) from t2)
3 0
4 0
drop table t1,t2;
+#
+# Bug#25132 disabled query cache: Qcache_free_blocks = 1
+#
+set global query_cache_size=100000;
+set global query_cache_size=0;
+set global query_cache_type=0;
+show status like 'Qcache_free_blocks';
+Variable_name Value
+Qcache_free_blocks 0
+Restore default values.
set GLOBAL query_cache_type=default;
set GLOBAL query_cache_limit=default;
set GLOBAL query_cache_min_res_unit=default;
set GLOBAL query_cache_size=default;
-End of 5.0 tests
-drop database if exists db1;
-drop database if exists db2;
-set GLOBAL query_cache_size=15*1024*1024;
-create database db1;
-use db1;
-create table t1(c1 int)engine=myisam;
-insert into t1(c1) values (1);
-select * from db1.t1 f;
-c1
-1
-show status like 'Qcache_queries_in_cache';
+FLUSH STATUS;
+SET GLOBAL query_cache_size=10*1024*1024;
+SET @save_concurrent_insert= @@concurrent_insert;
+SET GLOBAL concurrent_insert= 0;
+CREATE TABLE t1 (c1 INT NOT NULL) ENGINE=MyISAM;
+INSERT INTO t1 (c1) VALUES (1), (2);
+SHOW GLOBAL VARIABLES LIKE 'concurrent_insert';
Variable_name Value
-Qcache_queries_in_cache 1
-rename schema db1 to db2;
-show status like 'Qcache_queries_in_cache';
+concurrent_insert 0
+SHOW STATUS LIKE 'Qcache_hits';
Variable_name Value
-Qcache_queries_in_cache 0
-drop database db2;
-set global query_cache_size=default;
-drop database if exists db1;
-drop database if exists db3;
-set GLOBAL query_cache_size=15*1024*1024;
-create database db1;
-create database db3;
-use db1;
-create table t1(c1 int) engine=myisam;
-use db3;
-create table t1(c1 int) engine=myisam;
-use db1;
-insert into t1(c1) values (1);
-use mysql;
-select * from db1.t1;
+Qcache_hits 0
+SELECT * FROM t1;
c1
1
-select c1+1 from db1.t1;
-c1+1
2
-select * from db3.t1;
+SELECT * FROM t1;
c1
-show status like 'Qcache_queries_in_cache';
-Variable_name Value
-Qcache_queries_in_cache 3
-rename schema db1 to db2;
-show status like 'Qcache_queries_in_cache';
+1
+2
+SHOW STATUS LIKE 'Qcache_hits';
Variable_name Value
-Qcache_queries_in_cache 1
-drop database db2;
-drop database db3;
+Qcache_hits 1
+DROP TABLE t1;
+SET GLOBAL concurrent_insert= @save_concurrent_insert;
+SET GLOBAL query_cache_size= default;
+End of 5.0 tests
+CREATE TABLE t1 (a ENUM('rainbow'));
+INSERT INTO t1 VALUES (),(),(),(),();
+SELECT 1 FROM t1 GROUP BY (SELECT 1 FROM t1 ORDER BY AVG(LAST_INSERT_ID()));
+1
+1
+DROP TABLE t1;
+CREATE TABLE t1 (a LONGBLOB);
+INSERT INTO t1 SET a = 'aaaa';
+INSERT INTO t1 SET a = 'aaaa';
+SELECT 1 FROM t1 GROUP BY
+(SELECT LAST_INSERT_ID() FROM t1 ORDER BY MIN(a) ASC LIMIT 1);
+1
+1
+DROP TABLE t1;
End of 5.1 tests
diff --git a/mysql-test/r/query_cache_debug.result b/mysql-test/r/query_cache_debug.result
new file mode 100644
index 00000000000..f177bfac836
--- /dev/null
+++ b/mysql-test/r/query_cache_debug.result
@@ -0,0 +1,24 @@
+flush status;
+set query_cache_type=DEMAND;
+set global query_cache_size= 1024*1024*512;
+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,wait_in_query_cache_insert';
+select SQL_CACHE * from t1;;
+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;
+Show query cache status.
+show status like 'Qcache_queries_in_cache';
+Variable_name Value
+Qcache_queries_in_cache 0
+set global query_cache_size= 0;
+use test;
+drop table t1;
diff --git a/mysql-test/r/query_cache_notembedded.result b/mysql-test/r/query_cache_notembedded.result
index 05ef28a3180..ec78c2267d2 100644
--- a/mysql-test/r/query_cache_notembedded.result
+++ b/mysql-test/r/query_cache_notembedded.result
@@ -347,3 +347,36 @@ drop table t1;
drop function f1;
set GLOBAL query_cache_size=0;
SET GLOBAL log_bin_trust_function_creators = 0;
+DROP DATABASE IF EXISTS bug30269;
+FLUSH STATUS;
+CREATE DATABASE bug30269;
+USE bug30269;
+CREATE TABLE test1 (id int, name varchar(23));
+CREATE VIEW view1 AS SELECT * FROM test1;
+INSERT INTO test1 VALUES (5, 'testit');
+GRANT SELECT (id) ON TABLE bug30269.test1 TO 'bug30269'@'localhost';
+GRANT SELECT ON TABLE bug30269.view1 TO 'bug30269'@'localhost';
+set global query_cache_size= 81920;
+USE bug30269;
+show status like 'Qcache_queries_in_cache';
+Variable_name Value
+Qcache_queries_in_cache 0
+# Select statement not stored in query cache because of column privileges.
+SELECT id FROM test1 WHERE id>2;
+id
+5
+show status like 'Qcache_queries_in_cache';
+Variable_name Value
+Qcache_queries_in_cache 0
+SELECT id FROM view1 WHERE id>2;
+id
+5
+show status like 'Qcache_queries_in_cache';
+Variable_name Value
+Qcache_queries_in_cache 1
+DROP DATABASE bug30269;
+DROP USER 'bug30269'@'localhost';
+set GLOBAL query_cache_type=default;
+set GLOBAL query_cache_limit=default;
+set GLOBAL query_cache_min_res_unit=default;
+set GLOBAL query_cache_size=default;
diff --git a/mysql-test/r/query_cache_ps_no_prot.result b/mysql-test/r/query_cache_ps_no_prot.result
index 29d16d8a619..0efb2540c64 100644
--- a/mysql-test/r/query_cache_ps_no_prot.result
+++ b/mysql-test/r/query_cache_ps_no_prot.result
@@ -371,5 +371,163 @@ Variable_name Value
Qcache_hits 21
drop table t1;
---- disconnect connection con1 ----
+########################################################################
+#
+# BUG#25843: Changing default database between PREPARE and EXECUTE of
+# statement breaks binlog.
+#
+########################################################################
+
+#
+# Check that default database and its attributes are fixed at the
+# creation time.
+#
+
+DROP DATABASE IF EXISTS mysqltest1;
+DROP DATABASE IF EXISTS mysqltest2;
+
+CREATE DATABASE mysqltest1 COLLATE utf8_unicode_ci;
+CREATE DATABASE mysqltest2 COLLATE utf8_general_ci;
+
+CREATE TABLE mysqltest1.t1(msg VARCHAR(255));
+CREATE TABLE mysqltest2.t1(msg VARCHAR(255));
+
+use mysqltest1;
+PREPARE stmt_a_1 FROM 'INSERT INTO t1 VALUES(DATABASE())';
+PREPARE stmt_a_2 FROM 'INSERT INTO t1 VALUES(@@collation_database)';
+
+EXECUTE stmt_a_1;
+EXECUTE stmt_a_2;
+
+use mysqltest2;
+EXECUTE stmt_a_1;
+EXECUTE stmt_a_2;
+
+SELECT * FROM mysqltest1.t1;
+msg
+mysqltest1
+utf8_unicode_ci
+mysqltest1
+utf8_unicode_ci
+
+SELECT * FROM mysqltest2.t1;
+msg
+
+DROP PREPARE stmt_a_1;
+DROP PREPARE stmt_a_2;
+
+#
+# The Query Cache test case.
+#
+
+DELETE FROM mysqltest1.t1;
+DELETE FROM mysqltest2.t1;
+
+INSERT INTO mysqltest1.t1 VALUES('mysqltest1.t1');
+INSERT INTO mysqltest2.t1 VALUES('mysqltest2.t1');
+
+use mysqltest1;
+PREPARE stmt_b_1 FROM 'SELECT * FROM t1';
+
+use mysqltest2;
+PREPARE stmt_b_2 FROM 'SELECT * FROM t1';
+
+EXECUTE stmt_b_1;
+msg
+mysqltest1.t1
+
+EXECUTE stmt_b_2;
+msg
+mysqltest2.t1
+
+use mysqltest1;
+
+EXECUTE stmt_b_1;
+msg
+mysqltest1.t1
+
+EXECUTE stmt_b_2;
+msg
+mysqltest2.t1
+
+DROP PREPARE stmt_b_1;
+DROP PREPARE stmt_b_2;
+
+use test;
+
+DROP DATABASE mysqltest1;
+DROP DATABASE mysqltest2;
+
+#
+# Check that prepared statements work properly when there is no current
+# database.
+#
+
+CREATE DATABASE mysqltest1 COLLATE utf8_unicode_ci;
+CREATE DATABASE mysqltest2 COLLATE utf8_general_ci;
+
+use mysqltest1;
+
+PREPARE stmt_c_1 FROM 'SELECT DATABASE(), @@collation_database';
+
+use mysqltest2;
+
+PREPARE stmt_c_2 FROM 'SELECT DATABASE(), @@collation_database';
+
+DROP DATABASE mysqltest2;
+
+SELECT DATABASE(), @@collation_database;
+DATABASE() @@collation_database
+NULL latin1_swedish_ci
+
+EXECUTE stmt_c_1;
+DATABASE() @@collation_database
+mysqltest1 utf8_unicode_ci
+
+SELECT DATABASE(), @@collation_database;
+DATABASE() @@collation_database
+NULL latin1_swedish_ci
+
+EXECUTE stmt_c_2;
+DATABASE() @@collation_database
+NULL latin1_swedish_ci
+Warnings:
+Note 1049 Unknown database 'mysqltest2'
+
+SELECT DATABASE(), @@collation_database;
+DATABASE() @@collation_database
+NULL latin1_swedish_ci
+
+PREPARE stmt_c_3 FROM 'SELECT DATABASE(), @@collation_database';
+
+EXECUTE stmt_c_3;
+DATABASE() @@collation_database
+NULL latin1_swedish_ci
+
+use mysqltest1;
+
+EXECUTE stmt_c_2;
+DATABASE() @@collation_database
+NULL latin1_swedish_ci
+Warnings:
+Note 1049 Unknown database 'mysqltest2'
+
+SELECT DATABASE(), @@collation_database;
+DATABASE() @@collation_database
+mysqltest1 utf8_unicode_ci
+
+EXECUTE stmt_c_3;
+DATABASE() @@collation_database
+NULL latin1_swedish_ci
+
+SELECT DATABASE(), @@collation_database;
+DATABASE() @@collation_database
+mysqltest1 utf8_unicode_ci
+
+DROP DATABASE mysqltest1;
+
+use test;
+
+########################################################################
set @@global.query_cache_size=@initial_query_cache_size;
flush status;
diff --git a/mysql-test/r/query_cache_ps_ps_prot.result b/mysql-test/r/query_cache_ps_ps_prot.result
index ba675d57f50..dc0c4a0193a 100644
--- a/mysql-test/r/query_cache_ps_ps_prot.result
+++ b/mysql-test/r/query_cache_ps_ps_prot.result
@@ -371,5 +371,163 @@ Variable_name Value
Qcache_hits 19
drop table t1;
---- disconnect connection con1 ----
+########################################################################
+#
+# BUG#25843: Changing default database between PREPARE and EXECUTE of
+# statement breaks binlog.
+#
+########################################################################
+
+#
+# Check that default database and its attributes are fixed at the
+# creation time.
+#
+
+DROP DATABASE IF EXISTS mysqltest1;
+DROP DATABASE IF EXISTS mysqltest2;
+
+CREATE DATABASE mysqltest1 COLLATE utf8_unicode_ci;
+CREATE DATABASE mysqltest2 COLLATE utf8_general_ci;
+
+CREATE TABLE mysqltest1.t1(msg VARCHAR(255));
+CREATE TABLE mysqltest2.t1(msg VARCHAR(255));
+
+use mysqltest1;
+PREPARE stmt_a_1 FROM 'INSERT INTO t1 VALUES(DATABASE())';
+PREPARE stmt_a_2 FROM 'INSERT INTO t1 VALUES(@@collation_database)';
+
+EXECUTE stmt_a_1;
+EXECUTE stmt_a_2;
+
+use mysqltest2;
+EXECUTE stmt_a_1;
+EXECUTE stmt_a_2;
+
+SELECT * FROM mysqltest1.t1;
+msg
+mysqltest1
+utf8_unicode_ci
+mysqltest1
+utf8_unicode_ci
+
+SELECT * FROM mysqltest2.t1;
+msg
+
+DROP PREPARE stmt_a_1;
+DROP PREPARE stmt_a_2;
+
+#
+# The Query Cache test case.
+#
+
+DELETE FROM mysqltest1.t1;
+DELETE FROM mysqltest2.t1;
+
+INSERT INTO mysqltest1.t1 VALUES('mysqltest1.t1');
+INSERT INTO mysqltest2.t1 VALUES('mysqltest2.t1');
+
+use mysqltest1;
+PREPARE stmt_b_1 FROM 'SELECT * FROM t1';
+
+use mysqltest2;
+PREPARE stmt_b_2 FROM 'SELECT * FROM t1';
+
+EXECUTE stmt_b_1;
+msg
+mysqltest1.t1
+
+EXECUTE stmt_b_2;
+msg
+mysqltest2.t1
+
+use mysqltest1;
+
+EXECUTE stmt_b_1;
+msg
+mysqltest1.t1
+
+EXECUTE stmt_b_2;
+msg
+mysqltest2.t1
+
+DROP PREPARE stmt_b_1;
+DROP PREPARE stmt_b_2;
+
+use test;
+
+DROP DATABASE mysqltest1;
+DROP DATABASE mysqltest2;
+
+#
+# Check that prepared statements work properly when there is no current
+# database.
+#
+
+CREATE DATABASE mysqltest1 COLLATE utf8_unicode_ci;
+CREATE DATABASE mysqltest2 COLLATE utf8_general_ci;
+
+use mysqltest1;
+
+PREPARE stmt_c_1 FROM 'SELECT DATABASE(), @@collation_database';
+
+use mysqltest2;
+
+PREPARE stmt_c_2 FROM 'SELECT DATABASE(), @@collation_database';
+
+DROP DATABASE mysqltest2;
+
+SELECT DATABASE(), @@collation_database;
+DATABASE() @@collation_database
+NULL latin1_swedish_ci
+
+EXECUTE stmt_c_1;
+DATABASE() @@collation_database
+mysqltest1 utf8_unicode_ci
+
+SELECT DATABASE(), @@collation_database;
+DATABASE() @@collation_database
+NULL latin1_swedish_ci
+
+EXECUTE stmt_c_2;
+DATABASE() @@collation_database
+NULL latin1_swedish_ci
+Warnings:
+Note 1049 Unknown database 'mysqltest2'
+
+SELECT DATABASE(), @@collation_database;
+DATABASE() @@collation_database
+NULL latin1_swedish_ci
+
+PREPARE stmt_c_3 FROM 'SELECT DATABASE(), @@collation_database';
+
+EXECUTE stmt_c_3;
+DATABASE() @@collation_database
+NULL latin1_swedish_ci
+
+use mysqltest1;
+
+EXECUTE stmt_c_2;
+DATABASE() @@collation_database
+NULL latin1_swedish_ci
+Warnings:
+Note 1049 Unknown database 'mysqltest2'
+
+SELECT DATABASE(), @@collation_database;
+DATABASE() @@collation_database
+mysqltest1 utf8_unicode_ci
+
+EXECUTE stmt_c_3;
+DATABASE() @@collation_database
+NULL latin1_swedish_ci
+
+SELECT DATABASE(), @@collation_database;
+DATABASE() @@collation_database
+mysqltest1 utf8_unicode_ci
+
+DROP DATABASE mysqltest1;
+
+use test;
+
+########################################################################
set @@global.query_cache_size=@initial_query_cache_size;
flush status;
diff --git a/mysql-test/r/view_query_cache.result b/mysql-test/r/query_cache_with_views.result
index 03430bd504b..03430bd504b 100644
--- a/mysql-test/r/view_query_cache.result
+++ b/mysql-test/r/query_cache_with_views.result
diff --git a/mysql-test/r/range.result b/mysql-test/r/range.result
index 108264b3bf2..f67a8f4cae6 100644
--- a/mysql-test/r/range.result
+++ b/mysql-test/r/range.result
@@ -1135,6 +1135,37 @@ item started price
A1 2005-11-01 08:00:00 1000.000
A1 2005-11-15 00:00:00 2000.000
DROP TABLE t1;
+
+BUG#32198 "Comparison of DATE with DATETIME still not using indexes correctly"
+
+CREATE TABLE t1 (
+id int(11) NOT NULL auto_increment,
+dateval date default NULL,
+PRIMARY KEY (id),
+KEY dateval (dateval)
+) AUTO_INCREMENT=173;
+INSERT INTO t1 VALUES
+(1,'2007-01-01'),(2,'2007-01-02'),(3,'2007-01-03'),(4,'2007-01-04'),
+(5,'2007-01-05'),(6,'2007-01-06'),(7,'2007-01-07'),(8,'2007-01-08'),
+(9,'2007-01-09'),(10,'2007-01-10'),(11,'2007-01-11');
+This must use range access:
+explain select * from t1 where dateval >= '2007-01-01 00:00:00' and dateval <= '2007-01-02 23:59:59';
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 range dateval dateval 4 NULL 2 Using where
+drop table t1;
+CREATE TABLE t1 (
+a varchar(32), index (a)
+) DEFAULT CHARSET=latin1 COLLATE=latin1_bin;
+INSERT INTO t1 VALUES
+('B'), ('A'), ('A'), ('C'), ('B'), ('A'), ('A');
+SELECT a FROM t1 WHERE a='b' OR a='B';
+a
+B
+B
+EXPLAIN SELECT a FROM t1 WHERE a='b' OR a='B';
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 range a a 35 NULL 3 Using where; Using index
+DROP TABLE t1;
create table t1 (a int);
insert into t1 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
create table t2 (a int, b int, filler char(100));
diff --git a/mysql-test/r/read_only.result b/mysql-test/r/read_only.result
index f270f1ed5ad..cf81566f4e5 100644
--- a/mysql-test/r/read_only.result
+++ b/mysql-test/r/read_only.result
@@ -97,3 +97,31 @@ Note 1051 Unknown table 'ttt'
set global read_only=0;
drop table t1,t2;
drop user test@localhost;
+#
+# Bug #27440 read_only allows create and drop database
+#
+set global read_only= 1;
+drop database if exists mysqltest_db1;
+drop database if exists mysqltest_db2;
+delete from mysql.user where User like 'mysqltest_%';
+delete from mysql.db where User like 'mysqltest_%';
+delete from mysql.tables_priv where User like 'mysqltest_%';
+delete from mysql.columns_priv where User like 'mysqltest_%';
+flush privileges;
+grant all on mysqltest_db2.* to `mysqltest_u1`@`%`;
+create database mysqltest_db1;
+grant all on mysqltest_db1.* to `mysqltest_u1`@`%`;
+flush privileges;
+create database mysqltest_db2;
+ERROR HY000: The MySQL server is running with the --read-only option so it cannot execute this statement
+show databases like '%mysqltest_db2%';
+Database (%mysqltest_db2%)
+drop database mysqltest_db1;
+ERROR HY000: The MySQL server is running with the --read-only option so it cannot execute this statement
+delete from mysql.user where User like 'mysqltest_%';
+delete from mysql.db where User like 'mysqltest_%';
+delete from mysql.tables_priv where User like 'mysqltest_%';
+delete from mysql.columns_priv where User like 'mysqltest_%';
+flush privileges;
+drop database mysqltest_db1;
+set global read_only=0;
diff --git a/mysql-test/r/renamedb.result b/mysql-test/r/renamedb.result
index b22322fbe8d..ff8f89592fc 100644
--- a/mysql-test/r/renamedb.result
+++ b/mysql-test/r/renamedb.result
@@ -1,33 +1,12 @@
-drop database if exists testdb1;
-create database testdb1 default character set latin2;
-use testdb1;
-create table t1 (a int);
-insert into t1 values (1),(2),(3);
-show create database testdb1;
-Database Create Database
-testdb1 CREATE DATABASE `testdb1` /*!40100 DEFAULT CHARACTER SET latin2 */
-show tables;
-Tables_in_testdb1
-t1
rename database testdb1 to testdb2;
-show create database testdb1;
-ERROR 42000: Unknown database 'testdb1'
-show create database testdb2;
-Database Create Database
-testdb2 CREATE DATABASE `testdb2` /*!40100 DEFAULT CHARACTER SET latin2 */
-select database();
-database()
-testdb2
-show tables;
-Tables_in_testdb2
-t1
-select a from t1 order by a;
-a
-1
-2
-3
-drop database testdb2;
-create database testdb1;
-rename database testdb1 to testdb1;
-ERROR HY000: Can't create database 'testdb1'; database exists
-drop database testdb1;
+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 'database testdb1 to testdb2' at line 1
+ALTER DATABASE wrong UPGRADE DATA DIRECTORY NAME;
+ERROR HY000: Incorrect usage of ALTER DATABASE UPGRADE DATA DIRECTORY NAME and name
+ALTER DATABASE `#mysql41#not-supported` UPGRADE DATA DIRECTORY NAME;
+ERROR HY000: Incorrect usage of ALTER DATABASE UPGRADE DATA DIRECTORY NAME and name
+ALTER DATABASE `#mysql51#not-yet` UPGRADE DATA DIRECTORY NAME;
+ERROR HY000: Incorrect usage of ALTER DATABASE UPGRADE DATA DIRECTORY NAME and name
+ALTER DATABASE `#mysql50#` UPGRADE DATA DIRECTORY NAME;
+ERROR HY000: Incorrect usage of ALTER DATABASE UPGRADE DATA DIRECTORY NAME and name
+ALTER DATABASE `#mysql50#upgrade-me` UPGRADE DATA DIRECTORY NAME;
+ERROR 42000: Unknown database '#mysql50#upgrade-me'
diff --git a/mysql-test/r/repair.result b/mysql-test/r/repair.result
index 7fc09c43f4b..8c0671ad740 100644
--- a/mysql-test/r/repair.result
+++ b/mysql-test/r/repair.result
@@ -88,6 +88,33 @@ test.t1 repair status OK
SET myisam_repair_threads=@@global.myisam_repair_threads;
SET myisam_sort_buffer_size=@@global.myisam_sort_buffer_size;
DROP TABLE t1;
+CREATE TABLE t1(a CHAR(255), KEY(a));
+SET myisam_sort_buffer_size=4496;
+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'),('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'),('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');
+SET myisam_repair_threads=2;
+REPAIR TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 repair status OK
+SET myisam_repair_threads=@@global.myisam_repair_threads;
+SET myisam_sort_buffer_size=@@global.myisam_sort_buffer_size;
+DROP TABLE t1;
+End of 4.1 tests
DROP TABLE IF EXISTS tt1;
CREATE TEMPORARY TABLE tt1 (c1 INT);
REPAIR TABLE tt1 USE_FRM;
diff --git a/mysql-test/r/row.result b/mysql-test/r/row.result
index d3d7988316e..3feaa6255c1 100644
--- a/mysql-test/r/row.result
+++ b/mysql-test/r/row.result
@@ -434,3 +434,12 @@ SELECT @x;
@x
99
DROP TABLE t1;
+CREATE TABLE t1 (a INT, b INT);
+INSERT INTO t1 VALUES (1,1);
+SELECT ROW(a, 1) IN (SELECT SUM(b), 1) FROM t1 GROUP BY a;
+ROW(a, 1) IN (SELECT SUM(b), 1)
+1
+SELECT ROW(a, 1) IN (SELECT SUM(b), 3) FROM t1 GROUP BY a;
+ROW(a, 1) IN (SELECT SUM(b), 3)
+0
+DROP TABLE t1;
diff --git a/mysql-test/r/rpl_colSize.result b/mysql-test/r/rpl_colSize.result
new file mode 100644
index 00000000000..91456742833
--- /dev/null
+++ b/mysql-test/r/rpl_colSize.result
@@ -0,0 +1,179 @@
+stop slave;
+drop table if exists t1,t2,t3,t4,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;
+**** Testing WL#3228 changes. ****
+*** Create "wider" table on slave ***
+STOP SLAVE;
+RESET SLAVE;
+CREATE TABLE t1 (
+a float (47),
+b double (143,9),
+c decimal (65,30),
+d numeric (4,0),
+e bit (32),
+f char (21),
+g varchar (1300),
+h binary (33),
+j varbinary (200),
+k enum ('5','6','7', '8','9','0'),
+l set ('1','2','3','4','5','6','7','8','9','0','11','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29'),
+m TINYBLOB,
+n BLOB,
+o MEDIUMBLOB,
+p LONGBLOB,
+q TINYTEXT,
+r TEXT,
+s MEDIUMTEXT,
+t LONGTEXT
+);
+*** Create same table on master but with narrow columns ***
+CREATE TABLE t1 (
+a float (44),
+b double (10,3),
+c decimal (10,2),
+d numeric (3,0),
+e bit (16),
+f char (10),
+g varchar (100),
+h binary (20),
+j varbinary (20),
+k enum ('5','6','7'),
+l set ('1','2','3','4','5','6','7','8','9','0'),
+m TINYBLOB,
+n BLOB,
+o MEDIUMBLOB,
+p LONGBLOB,
+q TINYTEXT,
+r TEXT,
+s MEDIUMTEXT,
+t LONGTEXT
+);
+RESET MASTER;
+*** Start replication ***
+START SLAVE;
+*** Insert data on master and display it. ***
+INSERT INTO t1 () VALUES (
+17.567,
+2.123,
+10.20,
+125,
+hex(64),
+'TEST',
+'This is a test',
+'binary data',
+'more binary data',
+'6',
+'7',
+"blob 1",
+"blob 2",
+"blob 3",
+"blob 4",
+"text 1",
+"text 2",
+"text 3",
+"text 4");
+SELECT * FROM t1 ORDER BY a;
+a b c d e f g h j k l m n o p q r s t
+17.567 2.123 10.20 125 # TEST This is a test # more binary data 6 7 blob 1 blob 2 blob 3 blob 4 text 1 text 2 text 3 text 4
+*** Select data from slave to compare ***
+SELECT * FROM t1 ORDER BY a;
+a b c d e f g h j k l m n o p q r s t
+17.567 2.123000000 10.200000000000000000000000000000 125 # TEST This is a test # more binary data 6 7 blob 1 blob 2 blob 3 blob 4 text 1 text 2 text 3 text 4
+DROP TABLE t1;
+Create varchar table on master
+CREATE TABLE t1 (
+a VARCHAR(50),
+b VARCHAR(100),
+c VARCHAR(300),
+d CHAR(5)
+);
+Alter varchar table on slave
+ALTER TABLE t1 CHANGE COLUMN a a VARCHAR(100);
+ALTER TABLE t1 CHANGE COLUMN b b VARCHAR(400);
+ALTER TABLE t1 CHANGE COLUMN c c VARCHAR(500);
+ALTER TABLE t1 CHANGE COLUMN d d CHAR(100);
+Insert some values and select them on master
+INSERT INTO t1 VALUES ("This is a test of col a.",
+"This is another test of col b.",
+"This is a test of the large col c.",
+"Col d");
+SELECT * FROM t1;
+a b c d
+This is a test of col a. This is another test of col b. This is a test of the large col c. Col d
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` varchar(50) DEFAULT NULL,
+ `b` varchar(100) DEFAULT NULL,
+ `c` varchar(300) DEFAULT NULL,
+ `d` char(5) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+Insert some values and select them on slave
+SELECT * FROM t1;
+a b c d
+This is a test of col a. This is another test of col b. This is a test of the large col c. Col d
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` varchar(100) DEFAULT NULL,
+ `b` varchar(400) DEFAULT NULL,
+ `c` varchar(500) DEFAULT NULL,
+ `d` char(100) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+Create bit table on master
+CREATE TABLE t1 (
+a BIT(7),
+b BIT(8),
+c BIT(21),
+d BIT(11),
+e BIT(11)
+);
+Create bit table on slave
+DROP TABLE t1;
+CREATE TABLE t1 (
+a BIT(16),
+b BIT(22),
+c BIT(54),
+d BIT(25),
+e BIT(13)
+);
+Insert some values and select them on master
+INSERT INTO t1 VALUES (
+b'1010101',
+b'10101011',
+b'101010110101010101111',
+b'10101010101',
+b'10101011111'
+ );
+SELECT BIN(a), BIN(b), BIN(c), BIN(d), BIN(e) FROM t1;
+BIN(a) BIN(b) BIN(c) BIN(d) BIN(e)
+1010101 10101011 101010110101010101111 10101010101 10101011111
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` bit(7) DEFAULT NULL,
+ `b` bit(8) DEFAULT NULL,
+ `c` bit(21) DEFAULT NULL,
+ `d` bit(11) DEFAULT NULL,
+ `e` bit(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+Insert some values and select them on master
+SELECT BIN(a), BIN(b), BIN(c), BIN(d), BIN(e) FROM t1;
+BIN(a) BIN(b) BIN(c) BIN(d) BIN(e)
+1010101 10101011 101010110101010101111 10101010101 10101011111
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` bit(16) DEFAULT NULL,
+ `b` bit(22) DEFAULT NULL,
+ `c` bit(54) DEFAULT NULL,
+ `d` bit(25) DEFAULT NULL,
+ `e` bit(13) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+*** Cleanup ***
+DROP TABLE t1;
diff --git a/mysql-test/r/rpl_extraColmaster_innodb.result b/mysql-test/r/rpl_extraColmaster_innodb.result
new file mode 100644
index 00000000000..27d6592a7ad
--- /dev/null
+++ b/mysql-test/r/rpl_extraColmaster_innodb.result
Binary files differ
diff --git a/mysql-test/r/rpl_extraColmaster_myisam.result b/mysql-test/r/rpl_extraColmaster_myisam.result
new file mode 100644
index 00000000000..9a77ae6ca19
--- /dev/null
+++ b/mysql-test/r/rpl_extraColmaster_myisam.result
Binary files differ
diff --git a/mysql-test/r/select.result b/mysql-test/r/select.result
index a148d1029df..4b2464af688 100644
--- a/mysql-test/r/select.result
+++ b/mysql-test/r/select.result
@@ -607,11 +607,11 @@ id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t3 ref period period 4 test.t1.period 4181
explain select * from t3 as t1,t3 where t1.period=t3.period order by t3.period limit 10;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t3 ALL period NULL NULL NULL 41810 Using filesort
+1 SIMPLE t3 index period period 4 NULL 1
1 SIMPLE t1 ref period period 4 test.t3.period 4181
explain select * from t3 as t1,t3 where t1.period=t3.period order by t1.period limit 10;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL period NULL NULL NULL 41810 Using filesort
+1 SIMPLE t1 index period period 4 NULL 1
1 SIMPLE t3 ref period period 4 test.t1.period 4181
select period from t1;
period
@@ -1507,7 +1507,7 @@ explain extended select count(*),min(fld4),max(fld4),sum(fld1),avg(fld1),std(fld
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t2 ALL NULL NULL NULL NULL 1199 100.00 Using where
Warnings:
-Note 1003 select count(0) AS `count(*)`,min(`test`.`t2`.`fld4`) AS `min(fld4)`,max(`test`.`t2`.`fld4`) AS `max(fld4)`,sum(`test`.`t2`.`fld1`) AS `sum(fld1)`,avg(`test`.`t2`.`fld1`) AS `avg(fld1)`,std(`test`.`t2`.`fld1`) AS `std(fld1)`,variance(`test`.`t2`.`fld1`) AS `variance(fld1)` from `test`.`t2` where ((`test`.`t2`.`companynr` = 34) and (`test`.`t2`.`fld4` <> _latin1''))
+Note 1003 select count(0) AS `count(*)`,min(`test`.`t2`.`fld4`) AS `min(fld4)`,max(`test`.`t2`.`fld4`) AS `max(fld4)`,sum(`test`.`t2`.`fld1`) AS `sum(fld1)`,avg(`test`.`t2`.`fld1`) AS `avg(fld1)`,std(`test`.`t2`.`fld1`) AS `std(fld1)`,variance(`test`.`t2`.`fld1`) AS `variance(fld1)` from `test`.`t2` where ((`test`.`t2`.`companynr` = 34) and (`test`.`t2`.`fld4` <> ''))
select companynr,count(*),min(fld4),max(fld4),sum(fld1),avg(fld1),std(fld1),variance(fld1) from t2 group by companynr limit 3;
companynr count(*) min(fld4) max(fld4) sum(fld1) avg(fld1) std(fld1) variance(fld1)
00 82 Anthony windmills 10355753 126289.6707 115550.9757 13352027981.7087
@@ -2827,6 +2827,14 @@ FFFFFFFFFFFFFFFF 7FFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFF 7FFFFFFFFFFFFFFF
8FFFFFFFFFFFFFFF 7FFFFFFFFFFFFFFF
drop table t1;
+CREATE TABLE t1 (c0 int);
+CREATE TABLE t2 (c0 int);
+INSERT INTO t1 VALUES(@@connect_timeout);
+INSERT INTO t2 VALUES(@@connect_timeout);
+SELECT * FROM t1 JOIN t2 ON t1.c0 = t2.c0 WHERE (t1.c0 <=> @@connect_timeout);
+c0 c0
+X X
+DROP TABLE t1, t2;
End of 4.1 tests
CREATE TABLE t1 (
K2C4 varchar(4) character set latin1 collate latin1_bin NOT NULL default '',
@@ -3233,40 +3241,40 @@ drop table t1, t2 ,t3;
create table t1(f1 int, f2 date);
insert into t1 values(1,'2005-01-01'),(2,'2005-09-01'),(3,'2005-09-30'),
(4,'2005-10-01'),(5,'2005-12-30');
-select * from t1 where f2 >= 0;
+select * from t1 where f2 >= 0 order by f2;
f1 f2
1 2005-01-01
2 2005-09-01
3 2005-09-30
4 2005-10-01
5 2005-12-30
-select * from t1 where f2 >= '0000-00-00';
+select * from t1 where f2 >= '0000-00-00' order by f2;
f1 f2
1 2005-01-01
2 2005-09-01
3 2005-09-30
4 2005-10-01
5 2005-12-30
-select * from t1 where f2 >= '2005-09-31';
+select * from t1 where f2 >= '2005-09-31' order by f2;
f1 f2
4 2005-10-01
5 2005-12-30
-select * from t1 where f2 >= '2005-09-3a';
+select * from t1 where f2 >= '2005-09-3a' order by f2;
f1 f2
+3 2005-09-30
4 2005-10-01
5 2005-12-30
Warnings:
Warning 1292 Incorrect date value: '2005-09-3a' for column 'f2' at row 1
-select * from t1 where f2 <= '2005-09-31';
+select * from t1 where f2 <= '2005-09-31' order by f2;
f1 f2
1 2005-01-01
2 2005-09-01
3 2005-09-30
-select * from t1 where f2 <= '2005-09-3a';
+select * from t1 where f2 <= '2005-09-3a' order by f2;
f1 f2
1 2005-01-01
2 2005-09-01
-3 2005-09-30
Warnings:
Warning 1292 Incorrect date value: '2005-09-3a' for column 'f2' at row 1
drop table t1;
@@ -3980,4 +3988,373 @@ id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE f1 index inx inx 10 NULL 7 Using where; Using index
1 SIMPLE f2 ref inx inx 5 test.f1.b 1 Using where; Using index
DROP TABLE t1;
+CREATE TABLE t1 (c1 INT, c2 INT);
+INSERT INTO t1 VALUES (1,11), (2,22), (2,22);
+EXPLAIN SELECT c1 FROM t1 WHERE (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT COUNT(c2)))))))))))))))))))))))))))))))) > 0;
+id select_type table type possible_keys key key_len ref rows Extra
+1 PRIMARY t1 ALL NULL NULL NULL NULL 3 Using where
+31 DEPENDENT SUBQUERY NULL NULL NULL NULL NULL NULL NULL No tables used
+32 DEPENDENT SUBQUERY NULL NULL NULL NULL NULL NULL NULL No tables used
+EXPLAIN SELECT c1 FROM t1 WHERE (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT COUNT(c2))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) > 0;
+ERROR HY000: Too high level of nesting for select
+DROP TABLE t1;
+CREATE TABLE t1 (
+c1 int(11) NOT NULL AUTO_INCREMENT,
+c2 varchar(1000) DEFAULT NULL,
+c3 bigint(20) DEFAULT NULL,
+c4 bigint(20) DEFAULT NULL,
+PRIMARY KEY (c1)
+);
+EXPLAIN EXTENDED
+SELECT join_2.c1
+FROM
+t1 AS join_0,
+t1 AS join_1,
+t1 AS join_2,
+t1 AS join_3,
+t1 AS join_4,
+t1 AS join_5,
+t1 AS join_6,
+t1 AS join_7
+WHERE
+join_0.c1=join_1.c1 AND
+join_1.c1=join_2.c1 AND
+join_2.c1=join_3.c1 AND
+join_3.c1=join_4.c1 AND
+join_4.c1=join_5.c1 AND
+join_5.c1=join_6.c1 AND
+join_6.c1=join_7.c1
+OR
+join_0.c2 < '?' AND
+join_1.c2 < '?' AND
+join_2.c2 > '?' AND
+join_2.c2 < '!' AND
+join_3.c2 > '?' AND
+join_4.c2 = '?' AND
+join_5.c2 <> '?' AND
+join_6.c2 <> '?' AND
+join_7.c2 >= '?' AND
+join_0.c1=join_1.c1 AND
+join_1.c1=join_2.c1 AND
+join_2.c1=join_3.c1 AND
+join_3.c1=join_4.c1 AND
+join_4.c1=join_5.c1 AND
+join_5.c1=join_6.c1 AND
+join_6.c1=join_7.c1
+GROUP BY
+join_3.c1,
+join_2.c1,
+join_7.c1,
+join_1.c1,
+join_0.c1;
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
+Warnings:
+Note 1003 select '0' AS `c1` from `test`.`t1` `join_0` join `test`.`t1` `join_1` join `test`.`t1` `join_2` join `test`.`t1` `join_3` join `test`.`t1` `join_4` join `test`.`t1` `join_5` join `test`.`t1` `join_6` join `test`.`t1` `join_7` where 0 group by '0','0','0','0','0'
+SHOW WARNINGS;
+Level Code Message
+Note 1003 select '0' AS `c1` from `test`.`t1` `join_0` join `test`.`t1` `join_1` join `test`.`t1` `join_2` join `test`.`t1` `join_3` join `test`.`t1` `join_4` join `test`.`t1` `join_5` join `test`.`t1` `join_6` join `test`.`t1` `join_7` where 0 group by '0','0','0','0','0'
+DROP TABLE t1;
+SELECT 1 AS ` `;
+
+1
+Warnings:
+Warning 1474 Name ' ' has become ''
+SELECT 1 AS ` `;
+
+1
+Warnings:
+Warning 1474 Name ' ' has become ''
+SELECT 1 AS ` x`;
+x
+1
+Warnings:
+Warning 1466 Leading spaces are removed from name ' x'
+CREATE VIEW v1 AS SELECT 1 AS ``;
+ERROR 42000: Incorrect column name ''
+CREATE VIEW v1 AS SELECT 1 AS ` `;
+ERROR 42000: Incorrect column name ' '
+CREATE VIEW v1 AS SELECT 1 AS ` `;
+ERROR 42000: Incorrect column name ' '
+CREATE VIEW v1 AS SELECT (SELECT 1 AS ` `);
+ERROR 42000: Incorrect column name ' '
+CREATE VIEW v1 AS SELECT 1 AS ` x`;
+Warnings:
+Warning 1466 Leading spaces are removed from name ' x'
+SELECT `x` FROM v1;
+x
+1
+ALTER VIEW v1 AS SELECT 1 AS ` `;
+ERROR 42000: Incorrect column name ' '
+DROP VIEW v1;
+select str_to_date('2007-10-09','%Y-%m-%d') between '2007/10/01 00:00:00 GMT'
+ and '2007/10/20 00:00:00 GMT';
+str_to_date('2007-10-09','%Y-%m-%d') between '2007/10/01 00:00:00 GMT'
+ and '2007/10/20 00:00:00 GMT'
+1
+Warnings:
+Warning 1292 Truncated incorrect datetime value: '2007/10/01 00:00:00 GMT'
+Warning 1292 Truncated incorrect datetime value: '2007/10/20 00:00:00 GMT'
+select str_to_date('2007-10-09','%Y-%m-%d') > '2007/10/01 00:00:00 GMT-6';
+str_to_date('2007-10-09','%Y-%m-%d') > '2007/10/01 00:00:00 GMT-6'
+1
+Warnings:
+Warning 1292 Truncated incorrect date value: '2007/10/01 00:00:00 GMT-6'
+select str_to_date('2007-10-09','%Y-%m-%d') <= '2007/10/2000:00:00 GMT-6';
+str_to_date('2007-10-09','%Y-%m-%d') <= '2007/10/2000:00:00 GMT-6'
+1
+Warnings:
+Warning 1292 Truncated incorrect date value: '2007/10/2000:00:00 GMT-6'
+select str_to_date('2007-10-01','%Y-%m-%d') = '2007-10-1 00:00:00 GMT-6';
+str_to_date('2007-10-01','%Y-%m-%d') = '2007-10-1 00:00:00 GMT-6'
+1
+Warnings:
+Warning 1292 Truncated incorrect date value: '2007-10-1 00:00:00 GMT-6'
+select str_to_date('2007-10-01','%Y-%m-%d') = '2007-10-01 x00:00:00 GMT-6';
+str_to_date('2007-10-01','%Y-%m-%d') = '2007-10-01 x00:00:00 GMT-6'
+1
+Warnings:
+Warning 1292 Truncated incorrect date value: '2007-10-01 x00:00:00 GMT-6'
+select str_to_date('2007-10-01','%Y-%m-%d %H:%i:%s') = '2007-10-01 00:00:00 GMT-6';
+str_to_date('2007-10-01','%Y-%m-%d %H:%i:%s') = '2007-10-01 00:00:00 GMT-6'
+1
+Warnings:
+Warning 1292 Truncated incorrect datetime value: '2007-10-01 00:00:00 GMT-6'
+select str_to_date('2007-10-01','%Y-%m-%d %H:%i:%s') = '2007-10-01 00:x00:00 GMT-6';
+str_to_date('2007-10-01','%Y-%m-%d %H:%i:%s') = '2007-10-01 00:x00:00 GMT-6'
+1
+Warnings:
+Warning 1292 Truncated incorrect datetime value: '2007-10-01 00:x00:00 GMT-6'
+select str_to_date('2007-10-01','%Y-%m-%d %H:%i:%s') = '2007-10-01 x12:34:56 GMT-6';
+str_to_date('2007-10-01','%Y-%m-%d %H:%i:%s') = '2007-10-01 x12:34:56 GMT-6'
+1
+Warnings:
+Warning 1292 Truncated incorrect datetime value: '2007-10-01 x12:34:56 GMT-6'
+select str_to_date('2007-10-01 12:34:00','%Y-%m-%d %H:%i:%s') = '2007-10-01 12:34x:56 GMT-6';
+str_to_date('2007-10-01 12:34:00','%Y-%m-%d %H:%i:%s') = '2007-10-01 12:34x:56 GMT-6'
+1
+Warnings:
+Warning 1292 Truncated incorrect datetime value: '2007-10-01 12:34x:56 GMT-6'
+select str_to_date('2007-10-01 12:34:56','%Y-%m-%d %H:%i:%s') = '2007-10-01 12:34x:56 GMT-6';
+str_to_date('2007-10-01 12:34:56','%Y-%m-%d %H:%i:%s') = '2007-10-01 12:34x:56 GMT-6'
+0
+Warnings:
+Warning 1292 Truncated incorrect datetime value: '2007-10-01 12:34x:56 GMT-6'
+select str_to_date('2007-10-01 12:34:56','%Y-%m-%d %H:%i:%s') = '2007-10-01 12:34:56';
+str_to_date('2007-10-01 12:34:56','%Y-%m-%d %H:%i:%s') = '2007-10-01 12:34:56'
+1
+select str_to_date('2007-10-01','%Y-%m-%d') = '2007-10-01 12:00:00';
+str_to_date('2007-10-01','%Y-%m-%d') = '2007-10-01 12:00:00'
+0
+select str_to_date('2007-10-01 12','%Y-%m-%d %H') = '2007-10-01 12:00:00';
+str_to_date('2007-10-01 12','%Y-%m-%d %H') = '2007-10-01 12:00:00'
+1
+select str_to_date('2007-10-01 12:34','%Y-%m-%d %H') = '2007-10-01 12:00:00';
+str_to_date('2007-10-01 12:34','%Y-%m-%d %H') = '2007-10-01 12:00:00'
+1
+Warnings:
+Warning 1292 Truncated incorrect datetime value: '2007-10-01 12:34'
+select str_to_date('2007-02-30 12:34','%Y-%m-%d %H:%i') = '2007-02-30 12:34';
+str_to_date('2007-02-30 12:34','%Y-%m-%d %H:%i') = '2007-02-30 12:34'
+1
+select str_to_date('2007-10-00 12:34','%Y-%m-%d %H:%i') = '2007-10-00 12:34';
+str_to_date('2007-10-00 12:34','%Y-%m-%d %H:%i') = '2007-10-00 12:34'
+1
+select str_to_date('2007-10-00','%Y-%m-%d') between '2007/09/01 00:00:00'
+ and '2007/10/20 00:00:00';
+str_to_date('2007-10-00','%Y-%m-%d') between '2007/09/01 00:00:00'
+ and '2007/10/20 00:00:00'
+1
+set SQL_MODE=TRADITIONAL;
+select str_to_date('2007-10-00 12:34','%Y-%m-%d %H:%i') = '2007-10-00 12:34';
+str_to_date('2007-10-00 12:34','%Y-%m-%d %H:%i') = '2007-10-00 12:34'
+0
+Warnings:
+Warning 1292 Truncated incorrect datetime value: '2007-10-00 12:34'
+select str_to_date('2007-10-01 12:34','%Y-%m-%d %H:%i') = '2007-10-00 12:34';
+str_to_date('2007-10-01 12:34','%Y-%m-%d %H:%i') = '2007-10-00 12:34'
+0
+Warnings:
+Warning 1292 Truncated incorrect datetime value: '2007-10-00 12:34'
+select str_to_date('2007-10-00 12:34','%Y-%m-%d %H:%i') = '2007-10-01 12:34';
+str_to_date('2007-10-00 12:34','%Y-%m-%d %H:%i') = '2007-10-01 12:34'
+0
+Warnings:
+Warning 1292 Truncated incorrect datetime value: '2007-10-00 12:34:00'
+select str_to_date('2007-10-00','%Y-%m-%d') between '2007/09/01'
+ and '2007/10/20';
+str_to_date('2007-10-00','%Y-%m-%d') between '2007/09/01'
+ and '2007/10/20'
+0
+Warnings:
+Warning 1292 Incorrect datetime value: '2007-10-00' for column '2007/09/01' at row 1
+Warning 1292 Incorrect datetime value: '2007-10-00' for column '2007/10/20' at row 1
+set SQL_MODE=DEFAULT;
+select str_to_date('2007-10-00','%Y-%m-%d') between '' and '2007/10/20';
+str_to_date('2007-10-00','%Y-%m-%d') between '' and '2007/10/20'
+1
+Warnings:
+Warning 1292 Truncated incorrect datetime value: ''
+select str_to_date('','%Y-%m-%d') between '2007/10/01' and '2007/10/20';
+str_to_date('','%Y-%m-%d') between '2007/10/01' and '2007/10/20'
+0
+select str_to_date('','%Y-%m-%d %H:%i') = '2007-10-01 12:34';
+str_to_date('','%Y-%m-%d %H:%i') = '2007-10-01 12:34'
+0
+select str_to_date(NULL,'%Y-%m-%d %H:%i') = '2007-10-01 12:34';
+str_to_date(NULL,'%Y-%m-%d %H:%i') = '2007-10-01 12:34'
+NULL
+select str_to_date('2007-10-00 12:34','%Y-%m-%d %H:%i') = '';
+str_to_date('2007-10-00 12:34','%Y-%m-%d %H:%i') = ''
+0
+Warnings:
+Warning 1292 Truncated incorrect datetime value: ''
+select str_to_date('1','%Y-%m-%d') = '1';
+str_to_date('1','%Y-%m-%d') = '1'
+0
+Warnings:
+Warning 1292 Truncated incorrect date value: '1'
+select str_to_date('1','%Y-%m-%d') = '1';
+str_to_date('1','%Y-%m-%d') = '1'
+0
+Warnings:
+Warning 1292 Truncated incorrect date value: '1'
+select str_to_date('','%Y-%m-%d') = '';
+str_to_date('','%Y-%m-%d') = ''
+0
+Warnings:
+Warning 1292 Truncated incorrect date value: ''
+select str_to_date('1000-01-01','%Y-%m-%d') between '0000-00-00' and NULL;
+str_to_date('1000-01-01','%Y-%m-%d') between '0000-00-00' and NULL
+0
+select str_to_date('1000-01-01','%Y-%m-%d') between NULL and '2000-00-00';
+str_to_date('1000-01-01','%Y-%m-%d') between NULL and '2000-00-00'
+0
+select str_to_date('1000-01-01','%Y-%m-%d') between NULL and NULL;
+str_to_date('1000-01-01','%Y-%m-%d') between NULL and NULL
+0
+CREATE TABLE t1 (c11 INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY);
+CREATE TABLE t2 (c21 INT UNSIGNED NOT NULL,
+c22 INT DEFAULT NULL,
+KEY(c21, c22));
+CREATE TABLE t3 (c31 INT UNSIGNED NOT NULL DEFAULT 0,
+c32 INT DEFAULT NULL,
+c33 INT NOT NULL,
+c34 INT UNSIGNED DEFAULT 0,
+KEY (c33, c34, c32));
+INSERT INTO t1 values (),(),(),(),();
+INSERT INTO t2 SELECT a.c11, b.c11 FROM t1 a, t1 b;
+INSERT INTO t3 VALUES (1, 1, 1, 0),
+(2, 2, 0, 0),
+(3, 3, 1, 0),
+(4, 4, 0, 0),
+(5, 5, 1, 0);
+SELECT c32 FROM t1, t2, t3 WHERE t1.c11 IN (1, 3, 5) AND
+t3.c31 = t1.c11 AND t2.c21 = t1.c11 AND
+t3.c33 = 1 AND t2.c22 in (1, 3)
+ORDER BY c32;
+c32
+1
+1
+3
+3
+5
+5
+SELECT c32 FROM t1, t2, t3 WHERE t1.c11 IN (1, 3, 5) AND
+t3.c31 = t1.c11 AND t2.c21 = t1.c11 AND
+t3.c33 = 1 AND t2.c22 in (1, 3)
+ORDER BY c32 DESC;
+c32
+5
+5
+3
+3
+1
+1
+DROP TABLE t1, t2, t3;
+
+#
+# Bug#30736: Row Size Too Large Error Creating a Table and
+# Inserting Data.
+#
+DROP TABLE IF EXISTS t1;
+DROP TABLE IF EXISTS t2;
+
+CREATE TABLE t1(
+c1 DECIMAL(10, 2),
+c2 FLOAT);
+
+INSERT INTO t1 VALUES (0, 1), (2, 3), (4, 5);
+
+CREATE TABLE t2(
+c3 DECIMAL(10, 2))
+SELECT
+c1 * c2 AS c3
+FROM t1;
+
+SELECT * FROM t1;
+c1 c2
+0.00 1
+2.00 3
+4.00 5
+
+SELECT * FROM t2;
+c3
+0.00
+6.00
+20.00
+
+DROP TABLE t1;
+DROP TABLE t2;
+
+CREATE TABLE t1 (c1 BIGINT NOT NULL);
+INSERT INTO t1 (c1) VALUES (1);
+SELECT * FROM t1 WHERE c1 > NULL + 1;
+c1
+DROP TABLE t1;
+
+CREATE TABLE t1 (a VARCHAR(10) NOT NULL PRIMARY KEY);
+INSERT INTO t1 (a) VALUES ('foo0'), ('bar0'), ('baz0');
+SELECT * FROM t1 WHERE a IN (CONCAT('foo', 0), 'bar');
+a
+foo0
+DROP TABLE t1;
+CREATE TABLE t1 (a INT, b INT);
+CREATE TABLE t2 (a INT, c INT, KEY(a));
+INSERT INTO t1 VALUES (1, 1), (2, 2);
+INSERT INTO t2 VALUES (1, 1), (1, 2), (1, 3), (1, 4), (1, 5),
+(2, 1), (2, 2), (2, 3), (2, 4), (2, 5),
+(3, 1), (3, 2), (3, 3), (3, 4), (3, 5),
+(4, 1), (4, 2), (4, 3), (4, 4), (4, 5);
+FLUSH STATUS;
+SELECT DISTINCT b FROM t1 LEFT JOIN t2 USING(a) WHERE c <= 3;
+b
+1
+2
+SHOW STATUS LIKE 'Handler_read%';
+Variable_name Value
+Handler_read_first 0
+Handler_read_key 2
+Handler_read_next 0
+Handler_read_prev 0
+Handler_read_rnd 0
+Handler_read_rnd_next 6
+DROP TABLE t1, t2;
End of 5.0 tests
+create table t1(a INT, KEY (a));
+INSERT INTO t1 VALUES (1),(2),(3),(4),(5);
+SELECT a FROM t1 ORDER BY a LIMIT 2;
+a
+1
+2
+SELECT a FROM t1 ORDER BY a LIMIT 2,4294967296;
+a
+3
+4
+5
+SELECT a FROM t1 ORDER BY a LIMIT 2,4294967297;
+a
+3
+4
+5
+DROP TABLE t1;
diff --git a/mysql-test/r/select_found.result b/mysql-test/r/select_found.result
index 7abd65beb46..7896f8a9f4e 100644
--- a/mysql-test/r/select_found.result
+++ b/mysql-test/r/select_found.result
@@ -84,7 +84,7 @@ UNIQUE KEY e_n (email,name)
EXPLAIN SELECT SQL_CALC_FOUND_ROWS DISTINCT email FROM t2 LEFT JOIN t1 ON kid = t2.id WHERE t1.id IS NULL LIMIT 10;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 system PRIMARY,kid NULL NULL NULL 0 const row not found
-1 SIMPLE t2 index NULL e_n 104 NULL 200
+1 SIMPLE t2 index NULL e_n 104 NULL 10
SELECT SQL_CALC_FOUND_ROWS DISTINCT email FROM t2 LEFT JOIN t1 ON kid = t2.id WHERE t1.id IS NULL LIMIT 10;
email
email1
diff --git a/mysql-test/r/shm.result b/mysql-test/r/shm.result
new file mode 100644
index 00000000000..36ab17c1e4d
--- /dev/null
+++ b/mysql-test/r/shm.result
@@ -0,0 +1,2155 @@
+drop table if exists t1,t2,t3,t4;
+CREATE TABLE t1 (
+Period smallint(4) unsigned zerofill DEFAULT '0000' NOT NULL,
+Varor_period smallint(4) unsigned DEFAULT '0' NOT NULL
+);
+INSERT INTO t1 VALUES (9410,9412);
+select period from t1;
+period
+9410
+select * from t1;
+Period Varor_period
+9410 9412
+select t1.* from t1;
+Period Varor_period
+9410 9412
+CREATE TABLE t2 (
+auto int not null auto_increment,
+fld1 int(6) unsigned zerofill DEFAULT '000000' NOT NULL,
+companynr tinyint(2) unsigned zerofill DEFAULT '00' NOT NULL,
+fld3 char(30) DEFAULT '' NOT NULL,
+fld4 char(35) DEFAULT '' NOT NULL,
+fld5 char(35) DEFAULT '' NOT NULL,
+fld6 char(4) DEFAULT '' NOT NULL,
+UNIQUE fld1 (fld1),
+KEY fld3 (fld3),
+PRIMARY KEY (auto)
+);
+select t2.fld3 from t2 where companynr = 58 and fld3 like "%imaginable%";
+fld3
+imaginable
+select fld3 from t2 where fld3 like "%cultivation" ;
+fld3
+cultivation
+select t2.fld3,companynr from t2 where companynr = 57+1 order by fld3;
+fld3 companynr
+concoct 58
+druggists 58
+engrossing 58
+Eurydice 58
+exclaimers 58
+ferociousness 58
+hopelessness 58
+Huey 58
+imaginable 58
+judges 58
+merging 58
+ostrich 58
+peering 58
+Phelps 58
+presumes 58
+Ruth 58
+sentences 58
+Shylock 58
+straggled 58
+synergy 58
+thanking 58
+tying 58
+unlocks 58
+select fld3,companynr from t2 where companynr = 58 order by fld3;
+fld3 companynr
+concoct 58
+druggists 58
+engrossing 58
+Eurydice 58
+exclaimers 58
+ferociousness 58
+hopelessness 58
+Huey 58
+imaginable 58
+judges 58
+merging 58
+ostrich 58
+peering 58
+Phelps 58
+presumes 58
+Ruth 58
+sentences 58
+Shylock 58
+straggled 58
+synergy 58
+thanking 58
+tying 58
+unlocks 58
+select fld3 from t2 order by fld3 desc limit 10;
+fld3
+youthfulness
+yelped
+Wotan
+workers
+Witt
+witchcraft
+Winsett
+Willy
+willed
+wildcats
+select fld3 from t2 order by fld3 desc limit 5;
+fld3
+youthfulness
+yelped
+Wotan
+workers
+Witt
+select fld3 from t2 order by fld3 desc limit 5,5;
+fld3
+witchcraft
+Winsett
+Willy
+willed
+wildcats
+select t2.fld3 from t2 where fld3 = 'honeysuckle';
+fld3
+honeysuckle
+select t2.fld3 from t2 where fld3 LIKE 'honeysuckl_';
+fld3
+honeysuckle
+select t2.fld3 from t2 where fld3 LIKE 'hon_ysuckl_';
+fld3
+honeysuckle
+select t2.fld3 from t2 where fld3 LIKE 'honeysuckle%';
+fld3
+honeysuckle
+select t2.fld3 from t2 where fld3 LIKE 'h%le';
+fld3
+honeysuckle
+select t2.fld3 from t2 where fld3 LIKE 'honeysuckle_';
+fld3
+select t2.fld3 from t2 where fld3 LIKE 'don_t_find_me_please%';
+fld3
+explain select t2.fld3 from t2 where fld3 = 'honeysuckle';
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 ref fld3 fld3 30 const 1 Using where; Using index
+explain select fld3 from t2 ignore index (fld3) where fld3 = 'honeysuckle';
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 ALL NULL NULL NULL NULL 1199 Using where
+explain select fld3 from t2 use index (fld1) where fld3 = 'honeysuckle';
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 ALL NULL NULL NULL NULL 1199 Using where
+explain select fld3 from t2 use index (fld3) where fld3 = 'honeysuckle';
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 ref fld3 fld3 30 const 1 Using where; Using index
+explain select fld3 from t2 use index (fld1,fld3) where fld3 = 'honeysuckle';
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 ref fld3 fld3 30 const 1 Using where; Using index
+explain select fld3 from t2 ignore index (fld3,not_used);
+ERROR 42000: Key 'not_used' doesn't exist in table 't2'
+explain select fld3 from t2 use index (not_used);
+ERROR 42000: Key 'not_used' doesn't exist in table 't2'
+select t2.fld3 from t2 where fld3 >= 'honeysuckle' and fld3 <= 'honoring' order by fld3;
+fld3
+honeysuckle
+honoring
+explain select t2.fld3 from t2 where fld3 >= 'honeysuckle' and fld3 <= 'honoring' order by fld3;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 range fld3 fld3 30 NULL 2 Using where; Using index
+select fld1,fld3 from t2 where fld3="Colombo" or fld3 = "nondecreasing" order by fld3;
+fld1 fld3
+148504 Colombo
+068305 Colombo
+000000 nondecreasing
+select fld1,fld3 from t2 where companynr = 37 and fld3 = 'appendixes';
+fld1 fld3
+232605 appendixes
+1232605 appendixes
+1232606 appendixes
+1232607 appendixes
+1232608 appendixes
+1232609 appendixes
+select fld1 from t2 where fld1=250501 or fld1="250502";
+fld1
+250501
+250502
+explain select fld1 from t2 where fld1=250501 or fld1="250502";
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 range fld1 fld1 4 NULL 2 Using where; Using index
+select fld1 from t2 where fld1=250501 or fld1=250502 or fld1 >= 250505 and fld1 <= 250601 or fld1 between 250501 and 250502;
+fld1
+250501
+250502
+250505
+250601
+explain select fld1 from t2 where fld1=250501 or fld1=250502 or fld1 >= 250505 and fld1 <= 250601 or fld1 between 250501 and 250502;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 range fld1 fld1 4 NULL 4 Using where; Using index
+select fld1,fld3 from t2 where companynr = 37 and fld3 like 'f%';
+fld1 fld3
+218401 faithful
+018007 fanatic
+228311 fated
+018017 featherweight
+218022 feed
+088303 feminine
+058004 Fenton
+038017 fetched
+018054 fetters
+208101 fiftieth
+238007 filial
+013606 fingerings
+218008 finishers
+038205 firearm
+188505 fitting
+202301 Fitzpatrick
+238008 fixedly
+012001 flanking
+018103 flint
+018104 flopping
+188007 flurried
+013602 foldout
+226205 foothill
+232102 forgivably
+228306 forthcoming
+186002 freakish
+208113 freest
+231315 freezes
+036002 funereal
+226209 furnishings
+198006 furthermore
+select fld3 from t2 where fld3 like "L%" and fld3 = "ok";
+fld3
+select fld3 from t2 where (fld3 like "C%" and fld3 = "Chantilly");
+fld3
+Chantilly
+select fld1,fld3 from t2 where fld1 like "25050%";
+fld1 fld3
+250501 poisoning
+250502 Iraqis
+250503 heaving
+250504 population
+250505 bomb
+select fld1,fld3 from t2 where fld1 like "25050_";
+fld1 fld3
+250501 poisoning
+250502 Iraqis
+250503 heaving
+250504 population
+250505 bomb
+select distinct companynr from t2;
+companynr
+00
+37
+36
+50
+58
+29
+40
+53
+65
+41
+34
+68
+select distinct companynr from t2 order by companynr;
+companynr
+00
+29
+34
+36
+37
+40
+41
+50
+53
+58
+65
+68
+select distinct companynr from t2 order by companynr desc;
+companynr
+68
+65
+58
+53
+50
+41
+40
+37
+36
+34
+29
+00
+select distinct t2.fld3,period from t2,t1 where companynr=37 and fld3 like "O%";
+fld3 period
+obliterates 9410
+offload 9410
+opaquely 9410
+organizer 9410
+overestimating 9410
+overlay 9410
+select distinct fld3 from t2 where companynr = 34 order by fld3;
+fld3
+absentee
+accessed
+ahead
+alphabetic
+Asiaticizations
+attitude
+aye
+bankruptcies
+belays
+Blythe
+bomb
+boulevard
+bulldozes
+cannot
+caressing
+charcoal
+checksumming
+chess
+clubroom
+colorful
+cosy
+creator
+crying
+Darius
+diffusing
+duality
+Eiffel
+Epiphany
+Ernestine
+explorers
+exterminated
+famine
+forked
+Gershwins
+heaving
+Hodges
+Iraqis
+Italianization
+Lagos
+landslide
+libretto
+Majorca
+mastering
+narrowed
+occurred
+offerers
+Palestine
+Peruvianizes
+pharmaceutic
+poisoning
+population
+Pygmalion
+rats
+realest
+recording
+regimented
+retransmitting
+reviver
+rouses
+scars
+sicker
+sleepwalk
+stopped
+sugars
+translatable
+uncles
+unexpected
+uprisings
+versatility
+vest
+select distinct fld3 from t2 limit 10;
+fld3
+abates
+abiding
+Abraham
+abrogating
+absentee
+abut
+accessed
+accruing
+accumulating
+accuracies
+select distinct fld3 from t2 having fld3 like "A%" limit 10;
+fld3
+abates
+abiding
+Abraham
+abrogating
+absentee
+abut
+accessed
+accruing
+accumulating
+accuracies
+select distinct substring(fld3,1,3) from t2 where fld3 like "A%";
+substring(fld3,1,3)
+aba
+abi
+Abr
+abs
+abu
+acc
+acq
+acu
+Ade
+adj
+Adl
+adm
+Ado
+ads
+adv
+aer
+aff
+afi
+afl
+afo
+agi
+ahe
+aim
+air
+Ald
+alg
+ali
+all
+alp
+alr
+ama
+ame
+amm
+ana
+and
+ane
+Ang
+ani
+Ann
+Ant
+api
+app
+aqu
+Ara
+arc
+Arm
+arr
+Art
+Asi
+ask
+asp
+ass
+ast
+att
+aud
+Aug
+aut
+ave
+avo
+awe
+aye
+Azt
+select distinct substring(fld3,1,3) as a from t2 having a like "A%" order by a limit 10;
+a
+aba
+abi
+Abr
+abs
+abu
+acc
+acq
+acu
+Ade
+adj
+select distinct substring(fld3,1,3) from t2 where fld3 like "A%" limit 10;
+substring(fld3,1,3)
+aba
+abi
+Abr
+abs
+abu
+acc
+acq
+acu
+Ade
+adj
+select distinct substring(fld3,1,3) as a from t2 having a like "A%" limit 10;
+a
+aba
+abi
+Abr
+abs
+abu
+acc
+acq
+acu
+Ade
+adj
+create table t3 (
+period int not null,
+name char(32) not null,
+companynr int not null,
+price double(11,0),
+price2 double(11,0),
+key (period),
+key (name)
+);
+create temporary table tmp engine = myisam select * from t3;
+insert into t3 select * from tmp;
+insert into tmp select * from t3;
+insert into t3 select * from tmp;
+insert into tmp select * from t3;
+insert into t3 select * from tmp;
+insert into tmp select * from t3;
+insert into t3 select * from tmp;
+insert into tmp select * from t3;
+insert into t3 select * from tmp;
+insert into tmp select * from t3;
+insert into t3 select * from tmp;
+insert into tmp select * from t3;
+insert into t3 select * from tmp;
+insert into tmp select * from t3;
+insert into t3 select * from tmp;
+insert into tmp select * from t3;
+insert into t3 select * from tmp;
+alter table t3 add t2nr int not null auto_increment primary key first;
+drop table tmp;
+SET SQL_BIG_TABLES=1;
+select distinct concat(fld3," ",fld3) as namn from t2,t3 where t2.fld1=t3.t2nr order by namn limit 10;
+namn
+Abraham Abraham
+abrogating abrogating
+admonishing admonishing
+Adolph Adolph
+afield afield
+aging aging
+ammonium ammonium
+analyzable analyzable
+animals animals
+animized animized
+SET SQL_BIG_TABLES=0;
+select distinct concat(fld3," ",fld3) from t2,t3 where t2.fld1=t3.t2nr order by fld3 limit 10;
+concat(fld3," ",fld3)
+Abraham Abraham
+abrogating abrogating
+admonishing admonishing
+Adolph Adolph
+afield afield
+aging aging
+ammonium ammonium
+analyzable analyzable
+animals animals
+animized animized
+select distinct fld5 from t2 limit 10;
+fld5
+neat
+Steinberg
+jarring
+tinily
+balled
+persist
+attainments
+fanatic
+measures
+rightfulness
+select distinct fld3,count(*) from t2 group by companynr,fld3 limit 10;
+fld3 count(*)
+affixed 1
+and 1
+annoyers 1
+Anthony 1
+assayed 1
+assurers 1
+attendants 1
+bedlam 1
+bedpost 1
+boasted 1
+SET SQL_BIG_TABLES=1;
+select distinct fld3,count(*) from t2 group by companynr,fld3 limit 10;
+fld3 count(*)
+affixed 1
+and 1
+annoyers 1
+Anthony 1
+assayed 1
+assurers 1
+attendants 1
+bedlam 1
+bedpost 1
+boasted 1
+SET SQL_BIG_TABLES=0;
+select distinct fld3,repeat("a",length(fld3)),count(*) from t2 group by companynr,fld3 limit 100,10;
+fld3 repeat("a",length(fld3)) count(*)
+circus aaaaaa 1
+cited aaaaa 1
+Colombo aaaaaaa 1
+congresswoman aaaaaaaaaaaaa 1
+contrition aaaaaaaaaa 1
+corny aaaaa 1
+cultivation aaaaaaaaaaa 1
+definiteness aaaaaaaaaaaa 1
+demultiplex aaaaaaaaaaa 1
+disappointing aaaaaaaaaaaaa 1
+select distinct companynr,rtrim(space(512+companynr)) from t3 order by 1,2;
+companynr rtrim(space(512+companynr))
+37
+78
+101
+154
+311
+447
+512
+select distinct fld3 from t2,t3 where t2.companynr = 34 and t2.fld1=t3.t2nr order by fld3;
+fld3
+explain select t3.t2nr,fld3 from t2,t3 where t2.companynr = 34 and t2.fld1=t3.t2nr order by t3.t2nr,fld3;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 ALL fld1 NULL NULL NULL 1199 Using where; Using temporary; Using filesort
+1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t2.fld1 1 Using where; Using index
+explain select * from t3 as t1,t3 where t1.period=t3.period order by t3.period;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL period NULL NULL NULL 41810 Using temporary; Using filesort
+1 SIMPLE t3 ref period period 4 test.t1.period 4181
+explain select * from t3 as t1,t3 where t1.period=t3.period order by t3.period limit 10;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t3 index period period 4 NULL 1
+1 SIMPLE t1 ref period period 4 test.t3.period 4181
+explain select * from t3 as t1,t3 where t1.period=t3.period order by t1.period limit 10;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index period period 4 NULL 1
+1 SIMPLE t3 ref period period 4 test.t1.period 4181
+select period from t1;
+period
+9410
+select period from t1 where period=1900;
+period
+select fld3,period from t1,t2 where fld1 = 011401 order by period;
+fld3 period
+breaking 9410
+select fld3,period from t2,t3 where t2.fld1 = 011401 and t2.fld1=t3.t2nr and t3.period=1001;
+fld3 period
+breaking 1001
+explain select fld3,period from t2,t3 where t2.fld1 = 011401 and t3.t2nr=t2.fld1 and 1001 = t3.period;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 const fld1 fld1 4 const 1
+1 SIMPLE t3 const PRIMARY,period PRIMARY 4 const 1
+select fld3,period from t2,t1 where companynr*10 = 37*10;
+fld3 period
+breaking 9410
+Romans 9410
+intercepted 9410
+bewilderingly 9410
+astound 9410
+admonishing 9410
+sumac 9410
+flanking 9410
+combed 9410
+subjective 9410
+scatterbrain 9410
+Eulerian 9410
+Kane 9410
+overlay 9410
+perturb 9410
+goblins 9410
+annihilates 9410
+Wotan 9410
+snatching 9410
+concludes 9410
+laterally 9410
+yelped 9410
+grazing 9410
+Baird 9410
+celery 9410
+misunderstander 9410
+handgun 9410
+foldout 9410
+mystic 9410
+succumbed 9410
+Nabisco 9410
+fingerings 9410
+aging 9410
+afield 9410
+ammonium 9410
+boat 9410
+intelligibility 9410
+Augustine 9410
+teethe 9410
+dreaded 9410
+scholastics 9410
+audiology 9410
+wallet 9410
+parters 9410
+eschew 9410
+quitter 9410
+neat 9410
+Steinberg 9410
+jarring 9410
+tinily 9410
+balled 9410
+persist 9410
+attainments 9410
+fanatic 9410
+measures 9410
+rightfulness 9410
+capably 9410
+impulsive 9410
+starlet 9410
+terminators 9410
+untying 9410
+announces 9410
+featherweight 9410
+pessimist 9410
+daughter 9410
+decliner 9410
+lawgiver 9410
+stated 9410
+readable 9410
+attrition 9410
+cascade 9410
+motors 9410
+interrogate 9410
+pests 9410
+stairway 9410
+dopers 9410
+testicle 9410
+Parsifal 9410
+leavings 9410
+postulation 9410
+squeaking 9410
+contrasted 9410
+leftover 9410
+whiteners 9410
+erases 9410
+Punjab 9410
+Merritt 9410
+Quixotism 9410
+sweetish 9410
+dogging 9410
+scornfully 9410
+bellow 9410
+bills 9410
+cupboard 9410
+sureties 9410
+puddings 9410
+fetters 9410
+bivalves 9410
+incurring 9410
+Adolph 9410
+pithed 9410
+Miles 9410
+trimmings 9410
+tragedies 9410
+skulking 9410
+flint 9410
+flopping 9410
+relaxing 9410
+offload 9410
+suites 9410
+lists 9410
+animized 9410
+multilayer 9410
+standardizes 9410
+Judas 9410
+vacuuming 9410
+dentally 9410
+humanness 9410
+inch 9410
+Weissmuller 9410
+irresponsibly 9410
+luckily 9410
+culled 9410
+medical 9410
+bloodbath 9410
+subschema 9410
+animals 9410
+Micronesia 9410
+repetitions 9410
+Antares 9410
+ventilate 9410
+pityingly 9410
+interdependent 9410
+Graves 9410
+neonatal 9410
+chafe 9410
+honoring 9410
+realtor 9410
+elite 9410
+funereal 9410
+abrogating 9410
+sorters 9410
+Conley 9410
+lectured 9410
+Abraham 9410
+Hawaii 9410
+cage 9410
+hushes 9410
+Simla 9410
+reporters 9410
+Dutchman 9410
+descendants 9410
+groupings 9410
+dissociate 9410
+coexist 9410
+Beebe 9410
+Taoism 9410
+Connally 9410
+fetched 9410
+checkpoints 9410
+rusting 9410
+galling 9410
+obliterates 9410
+traitor 9410
+resumes 9410
+analyzable 9410
+terminator 9410
+gritty 9410
+firearm 9410
+minima 9410
+Selfridge 9410
+disable 9410
+witchcraft 9410
+betroth 9410
+Manhattanize 9410
+imprint 9410
+peeked 9410
+swelling 9410
+interrelationships 9410
+riser 9410
+Gandhian 9410
+peacock 9410
+bee 9410
+kanji 9410
+dental 9410
+scarf 9410
+chasm 9410
+insolence 9410
+syndicate 9410
+alike 9410
+imperial 9410
+convulsion 9410
+railway 9410
+validate 9410
+normalizes 9410
+comprehensive 9410
+chewing 9410
+denizen 9410
+schemer 9410
+chronicle 9410
+Kline 9410
+Anatole 9410
+partridges 9410
+brunch 9410
+recruited 9410
+dimensions 9410
+Chicana 9410
+announced 9410
+praised 9410
+employing 9410
+linear 9410
+quagmire 9410
+western 9410
+relishing 9410
+serving 9410
+scheduling 9410
+lore 9410
+eventful 9410
+arteriole 9410
+disentangle 9410
+cured 9410
+Fenton 9410
+avoidable 9410
+drains 9410
+detectably 9410
+husky 9410
+impelling 9410
+undoes 9410
+evened 9410
+squeezes 9410
+destroyer 9410
+rudeness 9410
+beaner 9410
+boorish 9410
+Everhart 9410
+encompass 9410
+mushrooms 9410
+Alison 9410
+externally 9410
+pellagra 9410
+cult 9410
+creek 9410
+Huffman 9410
+Majorca 9410
+governing 9410
+gadfly 9410
+reassigned 9410
+intentness 9410
+craziness 9410
+psychic 9410
+squabbled 9410
+burlesque 9410
+capped 9410
+extracted 9410
+DiMaggio 9410
+exclamation 9410
+subdirectory 9410
+Gothicism 9410
+feminine 9410
+metaphysically 9410
+sanding 9410
+Miltonism 9410
+freakish 9410
+index 9410
+straight 9410
+flurried 9410
+denotative 9410
+coming 9410
+commencements 9410
+gentleman 9410
+gifted 9410
+Shanghais 9410
+sportswriting 9410
+sloping 9410
+navies 9410
+leaflet 9410
+shooter 9410
+Joplin 9410
+babies 9410
+assails 9410
+admiring 9410
+swaying 9410
+Goldstine 9410
+fitting 9410
+Norwalk 9410
+analogy 9410
+deludes 9410
+cokes 9410
+Clayton 9410
+exhausts 9410
+causality 9410
+sating 9410
+icon 9410
+throttles 9410
+communicants 9410
+dehydrate 9410
+priceless 9410
+publicly 9410
+incidentals 9410
+commonplace 9410
+mumbles 9410
+furthermore 9410
+cautioned 9410
+parametrized 9410
+registration 9410
+sadly 9410
+positioning 9410
+babysitting 9410
+eternal 9410
+hoarder 9410
+congregates 9410
+rains 9410
+workers 9410
+sags 9410
+unplug 9410
+garage 9410
+boulder 9410
+specifics 9410
+Teresa 9410
+Winsett 9410
+convenient 9410
+buckboards 9410
+amenities 9410
+resplendent 9410
+sews 9410
+participated 9410
+Simon 9410
+certificates 9410
+Fitzpatrick 9410
+Evanston 9410
+misted 9410
+textures 9410
+save 9410
+count 9410
+rightful 9410
+chaperone 9410
+Lizzy 9410
+clenched 9410
+effortlessly 9410
+accessed 9410
+beaters 9410
+Hornblower 9410
+vests 9410
+indulgences 9410
+infallibly 9410
+unwilling 9410
+excrete 9410
+spools 9410
+crunches 9410
+overestimating 9410
+ineffective 9410
+humiliation 9410
+sophomore 9410
+star 9410
+rifles 9410
+dialysis 9410
+arriving 9410
+indulge 9410
+clockers 9410
+languages 9410
+Antarctica 9410
+percentage 9410
+ceiling 9410
+specification 9410
+regimented 9410
+ciphers 9410
+pictures 9410
+serpents 9410
+allot 9410
+realized 9410
+mayoral 9410
+opaquely 9410
+hostess 9410
+fiftieth 9410
+incorrectly 9410
+decomposition 9410
+stranglings 9410
+mixture 9410
+electroencephalography 9410
+similarities 9410
+charges 9410
+freest 9410
+Greenberg 9410
+tinting 9410
+expelled 9410
+warm 9410
+smoothed 9410
+deductions 9410
+Romano 9410
+bitterroot 9410
+corset 9410
+securing 9410
+environing 9410
+cute 9410
+Crays 9410
+heiress 9410
+inform 9410
+avenge 9410
+universals 9410
+Kinsey 9410
+ravines 9410
+bestseller 9410
+equilibrium 9410
+extents 9410
+relatively 9410
+pressure 9410
+critiques 9410
+befouled 9410
+rightfully 9410
+mechanizing 9410
+Latinizes 9410
+timesharing 9410
+Aden 9410
+embassies 9410
+males 9410
+shapelessly 9410
+mastering 9410
+Newtonian 9410
+finishers 9410
+abates 9410
+teem 9410
+kiting 9410
+stodgy 9410
+feed 9410
+guitars 9410
+airships 9410
+store 9410
+denounces 9410
+Pyle 9410
+Saxony 9410
+serializations 9410
+Peruvian 9410
+taxonomically 9410
+kingdom 9410
+stint 9410
+Sault 9410
+faithful 9410
+Ganymede 9410
+tidiness 9410
+gainful 9410
+contrary 9410
+Tipperary 9410
+tropics 9410
+theorizers 9410
+renew 9410
+already 9410
+terminal 9410
+Hegelian 9410
+hypothesizer 9410
+warningly 9410
+journalizing 9410
+nested 9410
+Lars 9410
+saplings 9410
+foothill 9410
+labeled 9410
+imperiously 9410
+reporters 9410
+furnishings 9410
+precipitable 9410
+discounts 9410
+excises 9410
+Stalin 9410
+despot 9410
+ripeness 9410
+Arabia 9410
+unruly 9410
+mournfulness 9410
+boom 9410
+slaughter 9410
+Sabine 9410
+handy 9410
+rural 9410
+organizer 9410
+shipyard 9410
+civics 9410
+inaccuracy 9410
+rules 9410
+juveniles 9410
+comprised 9410
+investigations 9410
+stabilizes 9410
+seminaries 9410
+Hunter 9410
+sporty 9410
+test 9410
+weasels 9410
+CERN 9410
+tempering 9410
+afore 9410
+Galatean 9410
+techniques 9410
+error 9410
+veranda 9410
+severely 9410
+Cassites 9410
+forthcoming 9410
+guides 9410
+vanish 9410
+lied 9410
+sawtooth 9410
+fated 9410
+gradually 9410
+widens 9410
+preclude 9410
+evenhandedly 9410
+percentage 9410
+disobedience 9410
+humility 9410
+gleaning 9410
+petted 9410
+bloater 9410
+minion 9410
+marginal 9410
+apiary 9410
+measures 9410
+precaution 9410
+repelled 9410
+primary 9410
+coverings 9410
+Artemia 9410
+navigate 9410
+spatial 9410
+Gurkha 9410
+meanwhile 9410
+Melinda 9410
+Butterfield 9410
+Aldrich 9410
+previewing 9410
+glut 9410
+unaffected 9410
+inmate 9410
+mineral 9410
+impending 9410
+meditation 9410
+ideas 9410
+miniaturizes 9410
+lewdly 9410
+title 9410
+youthfulness 9410
+creak 9410
+Chippewa 9410
+clamored 9410
+freezes 9410
+forgivably 9410
+reduce 9410
+McGovern 9410
+Nazis 9410
+epistle 9410
+socializes 9410
+conceptions 9410
+Kevin 9410
+uncovering 9410
+chews 9410
+appendixes 9410
+appendixes 9410
+appendixes 9410
+appendixes 9410
+appendixes 9410
+appendixes 9410
+raining 9410
+infest 9410
+compartment 9410
+minting 9410
+ducks 9410
+roped 9410
+waltz 9410
+Lillian 9410
+repressions 9410
+chillingly 9410
+noncritical 9410
+lithograph 9410
+spongers 9410
+parenthood 9410
+posed 9410
+instruments 9410
+filial 9410
+fixedly 9410
+relives 9410
+Pandora 9410
+watering 9410
+ungrateful 9410
+secures 9410
+poison 9410
+dusted 9410
+encompasses 9410
+presentation 9410
+Kantian 9410
+select fld3,period,price,price2 from t2,t3 where t2.fld1=t3.t2nr and period >= 1001 and period <= 1002 and t2.companynr = 37 order by fld3,period, price;
+fld3 period price price2
+admonishing 1002 28357832 8723648
+analyzable 1002 28357832 8723648
+annihilates 1001 5987435 234724
+Antares 1002 28357832 8723648
+astound 1001 5987435 234724
+audiology 1001 5987435 234724
+Augustine 1002 28357832 8723648
+Baird 1002 28357832 8723648
+bewilderingly 1001 5987435 234724
+breaking 1001 5987435 234724
+Conley 1001 5987435 234724
+dentally 1002 28357832 8723648
+dissociate 1002 28357832 8723648
+elite 1001 5987435 234724
+eschew 1001 5987435 234724
+Eulerian 1001 5987435 234724
+flanking 1001 5987435 234724
+foldout 1002 28357832 8723648
+funereal 1002 28357832 8723648
+galling 1002 28357832 8723648
+Graves 1001 5987435 234724
+grazing 1001 5987435 234724
+groupings 1001 5987435 234724
+handgun 1001 5987435 234724
+humility 1002 28357832 8723648
+impulsive 1002 28357832 8723648
+inch 1001 5987435 234724
+intelligibility 1001 5987435 234724
+jarring 1001 5987435 234724
+lawgiver 1001 5987435 234724
+lectured 1002 28357832 8723648
+Merritt 1002 28357832 8723648
+neonatal 1001 5987435 234724
+offload 1002 28357832 8723648
+parters 1002 28357832 8723648
+pityingly 1002 28357832 8723648
+puddings 1002 28357832 8723648
+Punjab 1001 5987435 234724
+quitter 1002 28357832 8723648
+realtor 1001 5987435 234724
+relaxing 1001 5987435 234724
+repetitions 1001 5987435 234724
+resumes 1001 5987435 234724
+Romans 1002 28357832 8723648
+rusting 1001 5987435 234724
+scholastics 1001 5987435 234724
+skulking 1002 28357832 8723648
+stated 1002 28357832 8723648
+suites 1002 28357832 8723648
+sureties 1001 5987435 234724
+testicle 1002 28357832 8723648
+tinily 1002 28357832 8723648
+tragedies 1001 5987435 234724
+trimmings 1001 5987435 234724
+vacuuming 1001 5987435 234724
+ventilate 1001 5987435 234724
+wallet 1001 5987435 234724
+Weissmuller 1002 28357832 8723648
+Wotan 1002 28357832 8723648
+select t2.fld1,fld3,period,price,price2 from t2,t3 where t2.fld1>= 18201 and t2.fld1 <= 18811 and t2.fld1=t3.t2nr and period = 1001 and t2.companynr = 37;
+fld1 fld3 period price price2
+018201 relaxing 1001 5987435 234724
+018601 vacuuming 1001 5987435 234724
+018801 inch 1001 5987435 234724
+018811 repetitions 1001 5987435 234724
+create table t4 (
+companynr tinyint(2) unsigned zerofill NOT NULL default '00',
+companyname char(30) NOT NULL default '',
+PRIMARY KEY (companynr),
+UNIQUE KEY companyname(companyname)
+) ENGINE=MyISAM MAX_ROWS=50 PACK_KEYS=1 COMMENT='companynames';
+select STRAIGHT_JOIN t2.companynr,companyname from t4,t2 where t2.companynr=t4.companynr group by t2.companynr;
+companynr companyname
+00 Unknown
+29 company 1
+34 company 2
+36 company 3
+37 company 4
+40 company 5
+41 company 6
+50 company 11
+53 company 7
+58 company 8
+65 company 9
+68 company 10
+select SQL_SMALL_RESULT t2.companynr,companyname from t4,t2 where t2.companynr=t4.companynr group by t2.companynr;
+companynr companyname
+00 Unknown
+29 company 1
+34 company 2
+36 company 3
+37 company 4
+40 company 5
+41 company 6
+50 company 11
+53 company 7
+58 company 8
+65 company 9
+68 company 10
+select * from t1,t1 t12;
+Period Varor_period Period Varor_period
+9410 9412 9410 9412
+select t2.fld1,t22.fld1 from t2,t2 t22 where t2.fld1 >= 250501 and t2.fld1 <= 250505 and t22.fld1 >= 250501 and t22.fld1 <= 250505;
+fld1 fld1
+250501 250501
+250502 250501
+250503 250501
+250504 250501
+250505 250501
+250501 250502
+250502 250502
+250503 250502
+250504 250502
+250505 250502
+250501 250503
+250502 250503
+250503 250503
+250504 250503
+250505 250503
+250501 250504
+250502 250504
+250503 250504
+250504 250504
+250505 250504
+250501 250505
+250502 250505
+250503 250505
+250504 250505
+250505 250505
+insert into t2 (fld1, companynr) values (999999,99);
+select t2.companynr,companyname from t2 left join t4 using (companynr) where t4.companynr is null;
+companynr companyname
+99 NULL
+select count(*) from t2 left join t4 using (companynr) where t4.companynr is not null;
+count(*)
+1199
+explain select t2.companynr,companyname from t2 left join t4 using (companynr) where t4.companynr is null;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 ALL NULL NULL NULL NULL 1200
+1 SIMPLE t4 eq_ref PRIMARY PRIMARY 1 test.t2.companynr 1 Using where; Not exists
+explain select t2.companynr,companyname from t4 left join t2 using (companynr) where t2.companynr is null;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t4 ALL NULL NULL NULL NULL 12
+1 SIMPLE t2 ALL NULL NULL NULL NULL 1200 Using where; Not exists
+select companynr,companyname from t2 left join t4 using (companynr) where companynr is null;
+companynr companyname
+select count(*) from t2 left join t4 using (companynr) where companynr is not null;
+count(*)
+1200
+explain select companynr,companyname from t2 left join t4 using (companynr) where companynr is null;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Impossible WHERE
+explain select companynr,companyname from t4 left join t2 using (companynr) where companynr is null;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Impossible WHERE
+delete from t2 where fld1=999999;
+explain select t2.companynr,companyname from t4 left join t2 using (companynr) where t2.companynr > 0;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 ALL NULL NULL NULL NULL 1199 Using where
+1 SIMPLE t4 eq_ref PRIMARY PRIMARY 1 test.t2.companynr 1
+explain select t2.companynr,companyname from t4 left join t2 using (companynr) where t2.companynr > 0 or t2.companynr < 0;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 ALL NULL NULL NULL NULL 1199 Using where
+1 SIMPLE t4 eq_ref PRIMARY PRIMARY 1 test.t2.companynr 1
+explain select t2.companynr,companyname from t4 left join t2 using (companynr) where t2.companynr > 0 and t4.companynr > 0;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 ALL NULL NULL NULL NULL 1199 Using where
+1 SIMPLE t4 eq_ref PRIMARY PRIMARY 1 test.t2.companynr 1
+explain select companynr,companyname from t4 left join t2 using (companynr) where companynr > 0;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t4 ALL PRIMARY NULL NULL NULL 12 Using where
+1 SIMPLE t2 ALL NULL NULL NULL NULL 1199
+explain select companynr,companyname from t4 left join t2 using (companynr) where companynr > 0 or companynr < 0;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t4 ALL PRIMARY NULL NULL NULL 12 Using where
+1 SIMPLE t2 ALL NULL NULL NULL NULL 1199
+explain select companynr,companyname from t4 left join t2 using (companynr) where companynr > 0 and companynr > 0;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t4 ALL PRIMARY NULL NULL NULL 12 Using where
+1 SIMPLE t2 ALL NULL NULL NULL NULL 1199
+explain select t2.companynr,companyname from t4 left join t2 using (companynr) where t2.companynr > 0 or t2.companynr is null;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t4 ALL NULL NULL NULL NULL 12
+1 SIMPLE t2 ALL NULL NULL NULL NULL 1199 Using where
+explain select t2.companynr,companyname from t4 left join t2 using (companynr) where t2.companynr > 0 or t2.companynr < 0 or t4.companynr > 0;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t4 ALL PRIMARY NULL NULL NULL 12
+1 SIMPLE t2 ALL NULL NULL NULL NULL 1199 Using where
+explain select t2.companynr,companyname from t4 left join t2 using (companynr) where ifnull(t2.companynr,1)>0;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t4 ALL NULL NULL NULL NULL 12
+1 SIMPLE t2 ALL NULL NULL NULL NULL 1199 Using where
+explain select companynr,companyname from t4 left join t2 using (companynr) where companynr > 0 or companynr is null;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t4 ALL PRIMARY NULL NULL NULL 12 Using where
+1 SIMPLE t2 ALL NULL NULL NULL NULL 1199
+explain select companynr,companyname from t4 left join t2 using (companynr) where companynr > 0 or companynr < 0 or companynr > 0;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t4 ALL PRIMARY NULL NULL NULL 12 Using where
+1 SIMPLE t2 ALL NULL NULL NULL NULL 1199
+explain select companynr,companyname from t4 left join t2 using (companynr) where ifnull(companynr,1)>0;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where
+1 SIMPLE t2 ALL NULL NULL NULL NULL 1199
+select distinct t2.companynr,t4.companynr from t2,t4 where t2.companynr=t4.companynr+1;
+companynr companynr
+37 36
+41 40
+explain select distinct t2.companynr,t4.companynr from t2,t4 where t2.companynr=t4.companynr+1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t4 index NULL PRIMARY 1 NULL 12 Using index; Using temporary
+1 SIMPLE t2 ALL NULL NULL NULL NULL 1199 Using where; Using join buffer
+select t2.fld1,t2.companynr,fld3,period from t3,t2 where t2.fld1 = 38208 and t2.fld1=t3.t2nr and period = 1008 or t2.fld1 = 38008 and t2.fld1 =t3.t2nr and period = 1008;
+fld1 companynr fld3 period
+038008 37 reporters 1008
+038208 37 Selfridge 1008
+select t2.fld1,t2.companynr,fld3,period from t3,t2 where (t2.fld1 = 38208 or t2.fld1 = 38008) and t2.fld1=t3.t2nr and period>=1008 and period<=1009;
+fld1 companynr fld3 period
+038008 37 reporters 1008
+038208 37 Selfridge 1008
+select t2.fld1,t2.companynr,fld3,period from t3,t2 where (t3.t2nr = 38208 or t3.t2nr = 38008) and t2.fld1=t3.t2nr and period>=1008 and period<=1009;
+fld1 companynr fld3 period
+038008 37 reporters 1008
+038208 37 Selfridge 1008
+select period from t1 where (((period > 0) or period < 10000 or (period = 1900)) and (period=1900 and period <= 1901) or (period=1903 and (period=1903)) and period>=1902) or ((period=1904 or period=1905) or (period=1906 or period>1907)) or (period=1908 and period = 1909);
+period
+9410
+select period from t1 where ((period > 0 and period < 1) or (((period > 0 and period < 100) and (period > 10)) or (period > 10)) or (period > 0 and (period > 5 or period > 6)));
+period
+9410
+select a.fld1 from t2 as a,t2 b where ((a.fld1 = 250501 and a.fld1=b.fld1) or a.fld1=250502 or a.fld1=250503 or (a.fld1=250505 and a.fld1<=b.fld1 and b.fld1>=a.fld1)) and a.fld1=b.fld1;
+fld1
+250501
+250502
+250503
+250505
+select fld1 from t2 where fld1 in (250502,98005,98006,250503,250605,250606) and fld1 >=250502 and fld1 not in (250605,250606);
+fld1
+250502
+250503
+select fld1 from t2 where fld1 between 250502 and 250504;
+fld1
+250502
+250503
+250504
+select fld3 from t2 where (((fld3 like "_%L%" ) or (fld3 like "%ok%")) and ( fld3 like "L%" or fld3 like "G%")) and fld3 like "L%" ;
+fld3
+label
+labeled
+labeled
+landslide
+laterally
+leaflet
+lewdly
+Lillian
+luckily
+select count(*) from t1;
+count(*)
+1
+select companynr,count(*),sum(fld1) from t2 group by companynr;
+companynr count(*) sum(fld1)
+00 82 10355753
+29 95 14473298
+34 70 17788966
+36 215 22786296
+37 588 83602098
+40 37 6618386
+41 52 12816335
+50 11 1595438
+53 4 793210
+58 23 2254293
+65 10 2284055
+68 12 3097288
+select companynr,count(*) from t2 group by companynr order by companynr desc limit 5;
+companynr count(*)
+68 12
+65 10
+58 23
+53 4
+50 11
+select count(*),min(fld4),max(fld4),sum(fld1),avg(fld1),std(fld1),variance(fld1) from t2 where companynr = 34 and fld4<>"";
+count(*) min(fld4) max(fld4) sum(fld1) avg(fld1) std(fld1) variance(fld1)
+70 absentee vest 17788966 254128.0857 3272.5940 10709871.3069
+explain extended select count(*),min(fld4),max(fld4),sum(fld1),avg(fld1),std(fld1),variance(fld1) from t2 where companynr = 34 and fld4<>"";
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t2 ALL NULL NULL NULL NULL 1199 100.00 Using where
+Warnings:
+Note 1003 select count(0) AS `count(*)`,min(`test`.`t2`.`fld4`) AS `min(fld4)`,max(`test`.`t2`.`fld4`) AS `max(fld4)`,sum(`test`.`t2`.`fld1`) AS `sum(fld1)`,avg(`test`.`t2`.`fld1`) AS `avg(fld1)`,std(`test`.`t2`.`fld1`) AS `std(fld1)`,variance(`test`.`t2`.`fld1`) AS `variance(fld1)` from `test`.`t2` where ((`test`.`t2`.`companynr` = 34) and (`test`.`t2`.`fld4` <> ''))
+select companynr,count(*),min(fld4),max(fld4),sum(fld1),avg(fld1),std(fld1),variance(fld1) from t2 group by companynr limit 3;
+companynr count(*) min(fld4) max(fld4) sum(fld1) avg(fld1) std(fld1) variance(fld1)
+00 82 Anthony windmills 10355753 126289.6707 115550.9757 13352027981.7087
+29 95 abut wetness 14473298 152350.5053 8368.5480 70032594.9026
+34 70 absentee vest 17788966 254128.0857 3272.5940 10709871.3069
+select companynr,t2nr,count(price),sum(price),min(price),max(price),avg(price) from t3 where companynr = 37 group by companynr,t2nr limit 10;
+companynr t2nr count(price) sum(price) min(price) max(price) avg(price)
+37 1 1 5987435 5987435 5987435 5987435.0000
+37 2 1 28357832 28357832 28357832 28357832.0000
+37 3 1 39654943 39654943 39654943 39654943.0000
+37 11 1 5987435 5987435 5987435 5987435.0000
+37 12 1 28357832 28357832 28357832 28357832.0000
+37 13 1 39654943 39654943 39654943 39654943.0000
+37 21 1 5987435 5987435 5987435 5987435.0000
+37 22 1 28357832 28357832 28357832 28357832.0000
+37 23 1 39654943 39654943 39654943 39654943.0000
+37 31 1 5987435 5987435 5987435 5987435.0000
+select /*! SQL_SMALL_RESULT */ companynr,t2nr,count(price),sum(price),min(price),max(price),avg(price) from t3 where companynr = 37 group by companynr,t2nr limit 10;
+companynr t2nr count(price) sum(price) min(price) max(price) avg(price)
+37 1 1 5987435 5987435 5987435 5987435.0000
+37 2 1 28357832 28357832 28357832 28357832.0000
+37 3 1 39654943 39654943 39654943 39654943.0000
+37 11 1 5987435 5987435 5987435 5987435.0000
+37 12 1 28357832 28357832 28357832 28357832.0000
+37 13 1 39654943 39654943 39654943 39654943.0000
+37 21 1 5987435 5987435 5987435 5987435.0000
+37 22 1 28357832 28357832 28357832 28357832.0000
+37 23 1 39654943 39654943 39654943 39654943.0000
+37 31 1 5987435 5987435 5987435 5987435.0000
+select companynr,count(price),sum(price),min(price),max(price),avg(price) from t3 group by companynr ;
+companynr count(price) sum(price) min(price) max(price) avg(price)
+37 12543 309394878010 5987435 39654943 24666736.6667
+78 8362 414611089292 726498 98439034 49582766.0000
+101 4181 3489454238 834598 834598 834598.0000
+154 4181 4112197254950 983543950 983543950 983543950.0000
+311 4181 979599938 234298 234298 234298.0000
+447 4181 9929180954 2374834 2374834 2374834.0000
+512 4181 3288532102 786542 786542 786542.0000
+select distinct mod(companynr,10) from t4 group by companynr;
+mod(companynr,10)
+0
+9
+4
+6
+7
+1
+3
+8
+5
+select distinct 1 from t4 group by companynr;
+1
+1
+select count(distinct fld1) from t2;
+count(distinct fld1)
+1199
+select companynr,count(distinct fld1) from t2 group by companynr;
+companynr count(distinct fld1)
+00 82
+29 95
+34 70
+36 215
+37 588
+40 37
+41 52
+50 11
+53 4
+58 23
+65 10
+68 12
+select companynr,count(*) from t2 group by companynr;
+companynr count(*)
+00 82
+29 95
+34 70
+36 215
+37 588
+40 37
+41 52
+50 11
+53 4
+58 23
+65 10
+68 12
+select companynr,count(distinct concat(fld1,repeat(65,1000))) from t2 group by companynr;
+companynr count(distinct concat(fld1,repeat(65,1000)))
+00 82
+29 95
+34 70
+36 215
+37 588
+40 37
+41 52
+50 11
+53 4
+58 23
+65 10
+68 12
+select companynr,count(distinct concat(fld1,repeat(65,200))) from t2 group by companynr;
+companynr count(distinct concat(fld1,repeat(65,200)))
+00 82
+29 95
+34 70
+36 215
+37 588
+40 37
+41 52
+50 11
+53 4
+58 23
+65 10
+68 12
+select companynr,count(distinct floor(fld1/100)) from t2 group by companynr;
+companynr count(distinct floor(fld1/100))
+00 47
+29 35
+34 14
+36 69
+37 108
+40 16
+41 11
+50 9
+53 1
+58 1
+65 1
+68 1
+select companynr,count(distinct concat(repeat(65,1000),floor(fld1/100))) from t2 group by companynr;
+companynr count(distinct concat(repeat(65,1000),floor(fld1/100)))
+00 47
+29 35
+34 14
+36 69
+37 108
+40 16
+41 11
+50 9
+53 1
+58 1
+65 1
+68 1
+select sum(fld1),fld3 from t2 where fld3="Romans" group by fld1 limit 10;
+sum(fld1) fld3
+11402 Romans
+select name,count(*) from t3 where name='cloakroom' group by name;
+name count(*)
+cloakroom 4181
+select name,count(*) from t3 where name='cloakroom' and price>10 group by name;
+name count(*)
+cloakroom 4181
+select count(*) from t3 where name='cloakroom' and price2=823742;
+count(*)
+4181
+select name,count(*) from t3 where name='cloakroom' and price2=823742 group by name;
+name count(*)
+cloakroom 4181
+select name,count(*) from t3 where name >= "extramarital" and price <= 39654943 group by name;
+name count(*)
+extramarital 4181
+gazer 4181
+gems 4181
+Iranizes 4181
+spates 4181
+tucked 4181
+violinist 4181
+select t2.fld3,count(*) from t2,t3 where t2.fld1=158402 and t3.name=t2.fld3 group by t3.name;
+fld3 count(*)
+spates 4181
+select companynr|0,companyname from t4 group by 1;
+companynr|0 companyname
+0 Unknown
+29 company 1
+34 company 2
+36 company 3
+37 company 4
+40 company 5
+41 company 6
+50 company 11
+53 company 7
+58 company 8
+65 company 9
+68 company 10
+select t2.companynr,companyname,count(*) from t2,t4 where t2.companynr=t4.companynr group by t2.companynr order by companyname;
+companynr companyname count(*)
+29 company 1 95
+68 company 10 12
+50 company 11 11
+34 company 2 70
+36 company 3 215
+37 company 4 588
+40 company 5 37
+41 company 6 52
+53 company 7 4
+58 company 8 23
+65 company 9 10
+00 Unknown 82
+select t2.fld1,count(*) from t2,t3 where t2.fld1=158402 and t3.name=t2.fld3 group by t3.name;
+fld1 count(*)
+158402 4181
+select sum(Period)/count(*) from t1;
+sum(Period)/count(*)
+9410.0000
+select companynr,count(price) as "count",sum(price) as "sum" ,abs(sum(price)/count(price)-avg(price)) as "diff",(0+count(price))*companynr as func from t3 group by companynr;
+companynr count sum diff func
+37 12543 309394878010 0.0000 464091
+78 8362 414611089292 0.0000 652236
+101 4181 3489454238 0.0000 422281
+154 4181 4112197254950 0.0000 643874
+311 4181 979599938 0.0000 1300291
+447 4181 9929180954 0.0000 1868907
+512 4181 3288532102 0.0000 2140672
+select companynr,sum(price)/count(price) as avg from t3 group by companynr having avg > 70000000 order by avg;
+companynr avg
+154 983543950.0000
+select companynr,count(*) from t2 group by companynr order by 2 desc;
+companynr count(*)
+37 588
+36 215
+29 95
+00 82
+34 70
+41 52
+40 37
+58 23
+68 12
+50 11
+65 10
+53 4
+select companynr,count(*) from t2 where companynr > 40 group by companynr order by 2 desc;
+companynr count(*)
+41 52
+58 23
+68 12
+50 11
+65 10
+53 4
+select t2.fld4,t2.fld1,count(price),sum(price),min(price),max(price),avg(price) from t3,t2 where t3.companynr = 37 and t2.fld1 = t3.t2nr group by fld1,t2.fld4;
+fld4 fld1 count(price) sum(price) min(price) max(price) avg(price)
+teethe 000001 1 5987435 5987435 5987435 5987435.0000
+dreaded 011401 1 5987435 5987435 5987435 5987435.0000
+scholastics 011402 1 28357832 28357832 28357832 28357832.0000
+audiology 011403 1 39654943 39654943 39654943 39654943.0000
+wallet 011501 1 5987435 5987435 5987435 5987435.0000
+parters 011701 1 5987435 5987435 5987435 5987435.0000
+eschew 011702 1 28357832 28357832 28357832 28357832.0000
+quitter 011703 1 39654943 39654943 39654943 39654943.0000
+neat 012001 1 5987435 5987435 5987435 5987435.0000
+Steinberg 012003 1 39654943 39654943 39654943 39654943.0000
+balled 012301 1 5987435 5987435 5987435 5987435.0000
+persist 012302 1 28357832 28357832 28357832 28357832.0000
+attainments 012303 1 39654943 39654943 39654943 39654943.0000
+capably 012501 1 5987435 5987435 5987435 5987435.0000
+impulsive 012602 1 28357832 28357832 28357832 28357832.0000
+starlet 012603 1 39654943 39654943 39654943 39654943.0000
+featherweight 012701 1 5987435 5987435 5987435 5987435.0000
+pessimist 012702 1 28357832 28357832 28357832 28357832.0000
+daughter 012703 1 39654943 39654943 39654943 39654943.0000
+lawgiver 013601 1 5987435 5987435 5987435 5987435.0000
+stated 013602 1 28357832 28357832 28357832 28357832.0000
+readable 013603 1 39654943 39654943 39654943 39654943.0000
+testicle 013801 1 5987435 5987435 5987435 5987435.0000
+Parsifal 013802 1 28357832 28357832 28357832 28357832.0000
+leavings 013803 1 39654943 39654943 39654943 39654943.0000
+squeaking 013901 1 5987435 5987435 5987435 5987435.0000
+contrasted 016001 1 5987435 5987435 5987435 5987435.0000
+leftover 016201 1 5987435 5987435 5987435 5987435.0000
+whiteners 016202 1 28357832 28357832 28357832 28357832.0000
+erases 016301 1 5987435 5987435 5987435 5987435.0000
+Punjab 016302 1 28357832 28357832 28357832 28357832.0000
+Merritt 016303 1 39654943 39654943 39654943 39654943.0000
+sweetish 018001 1 5987435 5987435 5987435 5987435.0000
+dogging 018002 1 28357832 28357832 28357832 28357832.0000
+scornfully 018003 1 39654943 39654943 39654943 39654943.0000
+fetters 018012 1 28357832 28357832 28357832 28357832.0000
+bivalves 018013 1 39654943 39654943 39654943 39654943.0000
+skulking 018021 1 5987435 5987435 5987435 5987435.0000
+flint 018022 1 28357832 28357832 28357832 28357832.0000
+flopping 018023 1 39654943 39654943 39654943 39654943.0000
+Judas 018032 1 28357832 28357832 28357832 28357832.0000
+vacuuming 018033 1 39654943 39654943 39654943 39654943.0000
+medical 018041 1 5987435 5987435 5987435 5987435.0000
+bloodbath 018042 1 28357832 28357832 28357832 28357832.0000
+subschema 018043 1 39654943 39654943 39654943 39654943.0000
+interdependent 018051 1 5987435 5987435 5987435 5987435.0000
+Graves 018052 1 28357832 28357832 28357832 28357832.0000
+neonatal 018053 1 39654943 39654943 39654943 39654943.0000
+sorters 018061 1 5987435 5987435 5987435 5987435.0000
+epistle 018062 1 28357832 28357832 28357832 28357832.0000
+Conley 018101 1 5987435 5987435 5987435 5987435.0000
+lectured 018102 1 28357832 28357832 28357832 28357832.0000
+Abraham 018103 1 39654943 39654943 39654943 39654943.0000
+cage 018201 1 5987435 5987435 5987435 5987435.0000
+hushes 018202 1 28357832 28357832 28357832 28357832.0000
+Simla 018402 1 28357832 28357832 28357832 28357832.0000
+reporters 018403 1 39654943 39654943 39654943 39654943.0000
+coexist 018601 1 5987435 5987435 5987435 5987435.0000
+Beebe 018602 1 28357832 28357832 28357832 28357832.0000
+Taoism 018603 1 39654943 39654943 39654943 39654943.0000
+Connally 018801 1 5987435 5987435 5987435 5987435.0000
+fetched 018802 1 28357832 28357832 28357832 28357832.0000
+checkpoints 018803 1 39654943 39654943 39654943 39654943.0000
+gritty 018811 1 5987435 5987435 5987435 5987435.0000
+firearm 018812 1 28357832 28357832 28357832 28357832.0000
+minima 019101 1 5987435 5987435 5987435 5987435.0000
+Selfridge 019102 1 28357832 28357832 28357832 28357832.0000
+disable 019103 1 39654943 39654943 39654943 39654943.0000
+witchcraft 019201 1 5987435 5987435 5987435 5987435.0000
+betroth 030501 1 5987435 5987435 5987435 5987435.0000
+Manhattanize 030502 1 28357832 28357832 28357832 28357832.0000
+imprint 030503 1 39654943 39654943 39654943 39654943.0000
+swelling 031901 1 5987435 5987435 5987435 5987435.0000
+interrelationships 036001 1 5987435 5987435 5987435 5987435.0000
+riser 036002 1 28357832 28357832 28357832 28357832.0000
+bee 038001 1 5987435 5987435 5987435 5987435.0000
+kanji 038002 1 28357832 28357832 28357832 28357832.0000
+dental 038003 1 39654943 39654943 39654943 39654943.0000
+railway 038011 1 5987435 5987435 5987435 5987435.0000
+validate 038012 1 28357832 28357832 28357832 28357832.0000
+normalizes 038013 1 39654943 39654943 39654943 39654943.0000
+Kline 038101 1 5987435 5987435 5987435 5987435.0000
+Anatole 038102 1 28357832 28357832 28357832 28357832.0000
+partridges 038103 1 39654943 39654943 39654943 39654943.0000
+recruited 038201 1 5987435 5987435 5987435 5987435.0000
+dimensions 038202 1 28357832 28357832 28357832 28357832.0000
+Chicana 038203 1 39654943 39654943 39654943 39654943.0000
+select t3.companynr,fld3,sum(price) from t3,t2 where t2.fld1 = t3.t2nr and t3.companynr = 512 group by companynr,fld3;
+companynr fld3 sum(price)
+512 boat 786542
+512 capably 786542
+512 cupboard 786542
+512 decliner 786542
+512 descendants 786542
+512 dopers 786542
+512 erases 786542
+512 Micronesia 786542
+512 Miles 786542
+512 skies 786542
+select t2.companynr,count(*),min(fld3),max(fld3),sum(price),avg(price) from t2,t3 where t3.companynr >= 30 and t3.companynr <= 58 and t3.t2nr = t2.fld1 and 1+1=2 group by t2.companynr;
+companynr count(*) min(fld3) max(fld3) sum(price) avg(price)
+00 1 Omaha Omaha 5987435 5987435.0000
+36 1 dubbed dubbed 28357832 28357832.0000
+37 83 Abraham Wotan 1908978016 22999735.1325
+50 2 scribbled tapestry 68012775 34006387.5000
+select t3.companynr+0,t3.t2nr,fld3,sum(price) from t3,t2 where t2.fld1 = t3.t2nr and t3.companynr = 37 group by 1,t3.t2nr,fld3,fld3,fld3,fld3,fld3 order by fld1;
+t3.companynr+0 t2nr fld3 sum(price)
+37 1 Omaha 5987435
+37 11401 breaking 5987435
+37 11402 Romans 28357832
+37 11403 intercepted 39654943
+37 11501 bewilderingly 5987435
+37 11701 astound 5987435
+37 11702 admonishing 28357832
+37 11703 sumac 39654943
+37 12001 flanking 5987435
+37 12003 combed 39654943
+37 12301 Eulerian 5987435
+37 12302 dubbed 28357832
+37 12303 Kane 39654943
+37 12501 annihilates 5987435
+37 12602 Wotan 28357832
+37 12603 snatching 39654943
+37 12701 grazing 5987435
+37 12702 Baird 28357832
+37 12703 celery 39654943
+37 13601 handgun 5987435
+37 13602 foldout 28357832
+37 13603 mystic 39654943
+37 13801 intelligibility 5987435
+37 13802 Augustine 28357832
+37 13803 teethe 39654943
+37 13901 scholastics 5987435
+37 16001 audiology 5987435
+37 16201 wallet 5987435
+37 16202 parters 28357832
+37 16301 eschew 5987435
+37 16302 quitter 28357832
+37 16303 neat 39654943
+37 18001 jarring 5987435
+37 18002 tinily 28357832
+37 18003 balled 39654943
+37 18012 impulsive 28357832
+37 18013 starlet 39654943
+37 18021 lawgiver 5987435
+37 18022 stated 28357832
+37 18023 readable 39654943
+37 18032 testicle 28357832
+37 18033 Parsifal 39654943
+37 18041 Punjab 5987435
+37 18042 Merritt 28357832
+37 18043 Quixotism 39654943
+37 18051 sureties 5987435
+37 18052 puddings 28357832
+37 18053 tapestry 39654943
+37 18061 trimmings 5987435
+37 18062 humility 28357832
+37 18101 tragedies 5987435
+37 18102 skulking 28357832
+37 18103 flint 39654943
+37 18201 relaxing 5987435
+37 18202 offload 28357832
+37 18402 suites 28357832
+37 18403 lists 39654943
+37 18601 vacuuming 5987435
+37 18602 dentally 28357832
+37 18603 humanness 39654943
+37 18801 inch 5987435
+37 18802 Weissmuller 28357832
+37 18803 irresponsibly 39654943
+37 18811 repetitions 5987435
+37 18812 Antares 28357832
+37 19101 ventilate 5987435
+37 19102 pityingly 28357832
+37 19103 interdependent 39654943
+37 19201 Graves 5987435
+37 30501 neonatal 5987435
+37 30502 scribbled 28357832
+37 30503 chafe 39654943
+37 31901 realtor 5987435
+37 36001 elite 5987435
+37 36002 funereal 28357832
+37 38001 Conley 5987435
+37 38002 lectured 28357832
+37 38003 Abraham 39654943
+37 38011 groupings 5987435
+37 38012 dissociate 28357832
+37 38013 coexist 39654943
+37 38101 rusting 5987435
+37 38102 galling 28357832
+37 38103 obliterates 39654943
+37 38201 resumes 5987435
+37 38202 analyzable 28357832
+37 38203 terminator 39654943
+select sum(price) from t3,t2 where t2.fld1 = t3.t2nr and t3.companynr = 512 and t3.t2nr = 38008 and t2.fld1 = 38008 or t2.fld1= t3.t2nr and t3.t2nr = 38008 and t2.fld1 = 38008;
+sum(price)
+234298
+select t2.fld1,sum(price) from t3,t2 where t2.fld1 = t3.t2nr and t3.companynr = 512 and t3.t2nr = 38008 and t2.fld1 = 38008 or t2.fld1 = t3.t2nr and t3.t2nr = 38008 and t2.fld1 = 38008 or t3.t2nr = t2.fld1 and t2.fld1 = 38008 group by t2.fld1;
+fld1 sum(price)
+038008 234298
+explain select fld3 from t2 where 1>2 or 2>3;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Impossible WHERE
+explain select fld3 from t2 where fld1=fld1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 ALL NULL NULL NULL NULL 1199
+select companynr,fld1 from t2 HAVING fld1=250501 or fld1=250502;
+companynr fld1
+34 250501
+34 250502
+select companynr,fld1 from t2 WHERE fld1>=250501 HAVING fld1<=250502;
+companynr fld1
+34 250501
+34 250502
+select companynr,count(*) as count,sum(fld1) as sum from t2 group by companynr having count > 40 and sum/count >= 120000;
+companynr count sum
+00 82 10355753
+29 95 14473298
+34 70 17788966
+37 588 83602098
+41 52 12816335
+select companynr from t2 group by companynr having count(*) > 40 and sum(fld1)/count(*) >= 120000 ;
+companynr
+00
+29
+34
+37
+41
+select t2.companynr,companyname,count(*) from t2,t4 where t2.companynr=t4.companynr group by companyname having t2.companynr >= 40;
+companynr companyname count(*)
+68 company 10 12
+50 company 11 11
+40 company 5 37
+41 company 6 52
+53 company 7 4
+58 company 8 23
+65 company 9 10
+select count(*) from t2;
+count(*)
+1199
+select count(*) from t2 where fld1 < 098024;
+count(*)
+387
+select min(fld1) from t2 where fld1>= 098024;
+min(fld1)
+98024
+select max(fld1) from t2 where fld1>= 098024;
+max(fld1)
+1232609
+select count(*) from t3 where price2=76234234;
+count(*)
+4181
+select count(*) from t3 where companynr=512 and price2=76234234;
+count(*)
+4181
+explain select min(fld1),max(fld1),count(*) from t2;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Select tables optimized away
+select min(fld1),max(fld1),count(*) from t2;
+min(fld1) max(fld1) count(*)
+0 1232609 1199
+select min(t2nr),max(t2nr) from t3 where t2nr=2115 and price2=823742;
+min(t2nr) max(t2nr)
+2115 2115
+select count(*),min(t2nr),max(t2nr) from t3 where name='spates' and companynr=78;
+count(*) min(t2nr) max(t2nr)
+4181 4 41804
+select t2nr,count(*) from t3 where name='gems' group by t2nr limit 20;
+t2nr count(*)
+9 1
+19 1
+29 1
+39 1
+49 1
+59 1
+69 1
+79 1
+89 1
+99 1
+109 1
+119 1
+129 1
+139 1
+149 1
+159 1
+169 1
+179 1
+189 1
+199 1
+select max(t2nr) from t3 where price=983543950;
+max(t2nr)
+41807
+select t1.period from t3 = t1 limit 1;
+period
+1001
+select t1.period from t1 as t1 limit 1;
+period
+9410
+select t1.period as "Nuvarande period" from t1 as t1 limit 1;
+Nuvarande period
+9410
+select period as ok_period from t1 limit 1;
+ok_period
+9410
+select period as ok_period from t1 group by ok_period limit 1;
+ok_period
+9410
+select 1+1 as summa from t1 group by summa limit 1;
+summa
+2
+select period as "Nuvarande period" from t1 group by "Nuvarande period" limit 1;
+Nuvarande period
+9410
+show tables;
+Tables_in_test
+t1
+t2
+t3
+t4
+show tables from test like "s%";
+Tables_in_test (s%)
+show tables from test like "t?";
+Tables_in_test (t?)
+show full columns from t2;
+Field Type Collation Null Key Default Extra Privileges Comment
+auto int(11) NULL NO PRI NULL auto_increment #
+fld1 int(6) unsigned zerofill NULL NO UNI 000000 #
+companynr tinyint(2) unsigned zerofill NULL NO 00 #
+fld3 char(30) latin1_swedish_ci NO MUL #
+fld4 char(35) latin1_swedish_ci NO #
+fld5 char(35) latin1_swedish_ci NO #
+fld6 char(4) latin1_swedish_ci NO #
+show full columns from t2 from test like 'f%';
+Field Type Collation Null Key Default Extra Privileges Comment
+fld1 int(6) unsigned zerofill NULL NO UNI 000000 #
+fld3 char(30) latin1_swedish_ci NO MUL #
+fld4 char(35) latin1_swedish_ci NO #
+fld5 char(35) latin1_swedish_ci NO #
+fld6 char(4) latin1_swedish_ci NO #
+show full columns from t2 from test like 's%';
+Field Type Collation Null Key Default Extra Privileges Comment
+show keys from t2;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
+t2 0 PRIMARY 1 auto A 1199 NULL NULL BTREE
+t2 0 fld1 1 fld1 A 1199 NULL NULL BTREE
+t2 1 fld3 1 fld3 A NULL NULL NULL BTREE
+drop table t4, t3, t2, t1;
+CREATE TABLE t1 (
+cont_nr int(11) NOT NULL auto_increment,
+ver_nr int(11) NOT NULL default '0',
+aufnr int(11) NOT NULL default '0',
+username varchar(50) NOT NULL default '',
+hdl_nr int(11) NOT NULL default '0',
+eintrag date NOT NULL default '0000-00-00',
+st_klasse varchar(40) NOT NULL default '',
+st_wert varchar(40) NOT NULL default '',
+st_zusatz varchar(40) NOT NULL default '',
+st_bemerkung varchar(255) NOT NULL default '',
+kunden_art varchar(40) NOT NULL default '',
+mcbs_knr int(11) default NULL,
+mcbs_aufnr int(11) NOT NULL default '0',
+schufa_status char(1) default '?',
+bemerkung text,
+wirknetz text,
+wf_igz int(11) NOT NULL default '0',
+tarifcode varchar(80) default NULL,
+recycle char(1) default NULL,
+sim varchar(30) default NULL,
+mcbs_tpl varchar(30) default NULL,
+emp_nr int(11) NOT NULL default '0',
+laufzeit int(11) default NULL,
+hdl_name varchar(30) default NULL,
+prov_hdl_nr int(11) NOT NULL default '0',
+auto_wirknetz varchar(50) default NULL,
+auto_billing varchar(50) default NULL,
+touch timestamp NOT NULL,
+kategorie varchar(50) default NULL,
+kundentyp varchar(20) NOT NULL default '',
+sammel_rech_msisdn varchar(30) NOT NULL default '',
+p_nr varchar(9) NOT NULL default '',
+suffix char(3) NOT NULL default '',
+PRIMARY KEY (cont_nr),
+KEY idx_aufnr(aufnr),
+KEY idx_hdl_nr(hdl_nr),
+KEY idx_st_klasse(st_klasse),
+KEY ver_nr(ver_nr),
+KEY eintrag_idx(eintrag),
+KEY emp_nr_idx(emp_nr),
+KEY wf_igz(wf_igz),
+KEY touch(touch),
+KEY hdl_tag(eintrag,hdl_nr),
+KEY prov_hdl_nr(prov_hdl_nr),
+KEY mcbs_aufnr(mcbs_aufnr),
+KEY kundentyp(kundentyp),
+KEY p_nr(p_nr,suffix)
+) ENGINE=MyISAM;
+INSERT INTO t1 VALUES (3359356,405,3359356,'Mustermann Musterfrau',52500,'2000-05-20','workflow','Auftrag erledigt','Originalvertrag eingegangen und geprüft','','privat',1485525,2122316,'+','','N',1909160,'MobilComSuper92000D2',NULL,NULL,'MS9ND2',3,24,'MobilCom Shop Koeln',52500,NULL,'auto',20010202105916,'Mobilfunk','PP','','','');
+INSERT INTO t1 VALUES (3359357,468,3359357,'Mustermann Musterfrau',7001,'2000-05-20','workflow','Auftrag erledigt','Originalvertrag eingegangen und geprüft','','privat',1503580,2139699,'+','','P',1909171,'MobilComSuper9D1T10SFreisprech(Akquise)',NULL,NULL,'MS9NS1',327,24,'MobilCom Intern',7003,NULL,'auto',20010202105916,'Mobilfunk','PP','','','');
+INSERT INTO t1 VALUES (3359358,407,3359358,'Mustermann Musterfrau',7001,'2000-05-20','workflow','Auftrag erledigt','Originalvertrag eingegangen und geprüft','','privat',1501358,2137473,'N','','N',1909159,'MobilComSuper92000D2',NULL,NULL,'MS9ND2',325,24,'MobilCom Intern',7003,NULL,'auto',20010202105916,'Mobilfunk','PP','','','');
+INSERT INTO t1 VALUES (3359359,468,3359359,'Mustermann Musterfrau',7001,'2000-05-20','workflow','Auftrag erledigt','Originalvertrag eingegangen und geprüft','','privat',1507831,2143894,'+','','P',1909162,'MobilComSuper9D1T10SFreisprech(Akquise)',NULL,NULL,'MS9NS1',327,24,'MobilCom Intern',7003,NULL,'auto',20010202105916,'Mobilfunk','PP','','','');
+INSERT INTO t1 VALUES (3359360,0,0,'Mustermann Musterfrau',29674907,'2000-05-20','workflow','Auftrag erledigt','Originalvertrag eingegangen und geprüft','','privat',1900169997,2414578,'+',NULL,'N',1909148,'',NULL,NULL,'RV99066_2',20,NULL,'POS',29674907,NULL,NULL,20010202105916,'Mobilfunk','','','97317481','007');
+INSERT INTO t1 VALUES (3359361,406,3359361,'Mustermann Musterfrau',7001,'2000-05-20','workflow','Auftrag storniert','','(7001-84):Storno, Kd. möchte nicht mehr','privat',NULL,0,'+','','P',1909150,'MobilComSuper92000D1(Akquise)',NULL,NULL,'MS9ND1',325,24,'MobilCom Intern',7003,NULL,'auto',20010202105916,'Mobilfunk','PP','','','');
+INSERT INTO t1 VALUES (3359362,406,3359362,'Mustermann Musterfrau',7001,'2000-05-20','workflow','Auftrag erledigt','Originalvertrag eingegangen und geprüft','','privat',1509984,2145874,'+','','P',1909154,'MobilComSuper92000D1(Akquise)',NULL,NULL,'MS9ND1',327,24,'MobilCom Intern',7003,NULL,'auto',20010202105916,'Mobilfunk','PP','','','');
+SELECT ELT(FIELD(kundentyp,'PP','PPA','PG','PGA','FK','FKA','FP','FPA','K','KA','V','VA',''), 'Privat (Private Nutzung)','Privat (Private Nutzung) Sitz im Ausland','Privat (geschaeftliche Nutzung)','Privat (geschaeftliche Nutzung) Sitz im Ausland','Firma (Kapitalgesellschaft)','Firma (Kapitalgesellschaft) Sitz im Ausland','Firma (Personengesellschaft)','Firma (Personengesellschaft) Sitz im Ausland','oeff. rechtl. Koerperschaft','oeff. rechtl. Koerperschaft Sitz im Ausland','Eingetragener Verein','Eingetragener Verein Sitz im Ausland','Typ unbekannt') AS Kundentyp ,kategorie FROM t1 WHERE hdl_nr < 2000000 AND kategorie IN ('Prepaid','Mobilfunk') AND st_klasse = 'Workflow' GROUP BY kundentyp ORDER BY kategorie;
+Kundentyp kategorie
+Privat (Private Nutzung) Mobilfunk
+Warnings:
+Warning 1052 Column 'kundentyp' in group statement is ambiguous
+drop table t1;
+mysqld is alive
+End of 5.0 tests.
diff --git a/mysql-test/r/show_check.result b/mysql-test/r/show_check.result
index 75585974a32..d1eb213670e 100644
--- a/mysql-test/r/show_check.result
+++ b/mysql-test/r/show_check.result
@@ -228,7 +228,7 @@ show full columns from t1;
Field Type Collation Null Key Default Extra Privileges Comment
test_set set('val1','val2','val3') latin1_swedish_ci NO select,insert,update,references
name char(20) latin1_swedish_ci YES O'Brien select,insert,update,references O'Brien as default
-c int(11) NULL NO select,insert,update,references int column
+c int(11) NULL NO NULL select,insert,update,references int column
c-b int(11) NULL YES NULL select,insert,update,references name with a minus
space 2 int(11) NULL YES NULL select,insert,update,references name with a space
drop table t1;
@@ -662,53 +662,44 @@ t1 NULL NULL NULL NULL # # # # NULL NULL NULL NULL NULL NULL NULL NULL Incorrect
show create table t1;
ERROR HY000: Incorrect information in file: './test/t1.frm'
drop table if exists t1;
-CREATE TABLE txt1(a int);
-CREATE TABLE tyt2(a int);
-CREATE TABLE urkunde(a int);
+
+# Bug#12183: SHOW OPEN TABLES behavior doesn't match grammar.
+
+DROP DATABASE IF EXISTS mysqltest1;
+CREATE DATABASE mysqltest1;
+use mysqltest1;
+
+CREATE TABLE t1(a INT);
+CREATE TABLE t2(a INT);
+
FLUSH TABLES;
-SELECT 1 FROM mysql.db, mysql.proc, mysql.user, mysql.time_zone, mysql.time_zone_name, txt1, tyt2, urkunde LIMIT 0;
+
+SELECT 1 FROM t1;
1
-SHOW OPEN TABLES;
-Database Table In_use Name_locked
-mysql db 0 0
-test urkunde 0 0
-mysql time_zone 0 0
-mysql general_log 0 0
-test txt1 0 0
-mysql proc 0 0
-test tyt2 0 0
-mysql user 0 0
-mysql time_zone_name 0 0
-SHOW OPEN TABLES FROM mysql;
+SELECT 1 FROM t2;
+1
+
+SHOW OPEN TABLES FROM mysqltest1;
Database Table In_use Name_locked
-mysql db 0 0
-mysql time_zone 0 0
-mysql general_log 0 0
-mysql proc 0 0
-mysql user 0 0
-mysql time_zone_name 0 0
-SHOW OPEN TABLES FROM mysql LIKE 'u%';
+mysqltest1 t1 0 0
+mysqltest1 t2 0 0
+
+SHOW OPEN TABLES FROM mysqltest1 LIKE 'z%';
Database Table In_use Name_locked
-mysql user 0 0
-SHOW OPEN TABLES LIKE 't%';
+
+SHOW OPEN TABLES FROM mysqltest1 LIKE 't1%';
Database Table In_use Name_locked
-mysql time_zone 0 0
-test txt1 0 0
-test tyt2 0 0
-mysql time_zone_name 0 0
-SHOW OPEN TABLES LIKE '%o%';
+mysqltest1 t1 0 0
+
+SHOW OPEN TABLES FROM mysqltest1 LIKE '%1%';
Database Table In_use Name_locked
-mysql time_zone 0 0
-mysql general_log 0 0
-mysql proc 0 0
-mysql time_zone_name 0 0
+mysqltest1 t1 0 0
+
FLUSH TABLES;
-SHOW OPEN TABLES;
-Database Table In_use Name_locked
-mysql general_log 0 0
-DROP TABLE txt1;
-DROP TABLE tyt2;
-DROP TABLE urkunde;
+
+DROP DATABASE mysqltest1;
+use test;
+
SHOW TABLES FROM non_existing_database;
ERROR 42000: Unknown database 'non_existing_database'
End of 4.1 tests
@@ -979,7 +970,7 @@ def COLUMNS CHARACTER_SET_NAME CHARACTER_SET_NAME 253 192 0 Y 0 0 33
def COLUMNS COLLATION_NAME COLLATION_NAME 253 192 0 Y 0 0 33
def COLUMNS COLUMN_TYPE COLUMN_TYPE 252 589815 7 N 17 0 33
def COLUMNS COLUMN_KEY COLUMN_KEY 253 9 3 N 1 0 33
-def COLUMNS EXTRA EXTRA 253 60 0 N 1 0 33
+def COLUMNS EXTRA EXTRA 253 81 0 N 1 0 33
def COLUMNS PRIVILEGES PRIVILEGES 253 240 31 N 1 0 33
def COLUMNS COLUMN_COMMENT COLUMN_COMMENT 253 765 0 N 1 0 33
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT
@@ -998,9 +989,9 @@ def COLUMNS COLUMN_TYPE Type 252 589815 7 N 17 0 33
def COLUMNS IS_NULLABLE Null 253 9 2 N 1 0 33
def COLUMNS COLUMN_KEY Key 253 9 3 N 1 0 33
def COLUMNS COLUMN_DEFAULT Default 252 589815 0 Y 16 0 33
-def COLUMNS EXTRA Extra 253 60 0 N 1 0 33
+def COLUMNS EXTRA Extra 253 81 0 N 1 0 33
Field Type Null Key Default Extra
-c int(11) NO PRI
+c int(11) NO PRI NULL
----------------------------------------------------------------
SHOW TRIGGERS LIKE 't1';
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
@@ -1075,7 +1066,7 @@ Catalog Database Table Table_alias Column Column_alias Type Length Max length Is
def VIEWS TABLE_CATALOG TABLE_CATALOG 253 1536 0 Y 0 0 33
def VIEWS TABLE_SCHEMA TABLE_SCHEMA 253 192 4 N 1 0 33
def VIEWS TABLE_NAME TABLE_NAME 253 192 2 N 1 0 33
-def VIEWS VIEW_DEFINITION VIEW_DEFINITION 252 589815 8 N 17 0 33
+def VIEWS VIEW_DEFINITION VIEW_DEFINITION 252 589815 15 N 17 0 33
def VIEWS CHECK_OPTION CHECK_OPTION 253 24 4 N 1 0 33
def VIEWS IS_UPDATABLE IS_UPDATABLE 253 9 2 N 1 0 33
def VIEWS DEFINER DEFINER 253 231 14 N 1 0 33
@@ -1083,7 +1074,7 @@ def VIEWS SECURITY_TYPE SECURITY_TYPE 253 21 7 N 1 0 33
def VIEWS CHARACTER_SET_CLIENT CHARACTER_SET_CLIENT 253 96 6 N 1 0 33
def VIEWS COLLATION_CONNECTION COLLATION_CONNECTION 253 96 6 N 1 0 33
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE CHARACTER_SET_CLIENT COLLATION_CONNECTION
-NULL test v1 SELECT 1 NONE NO root@localhost DEFINER binary binary
+NULL test v1 select 1 AS `1` NONE NO root@localhost DEFINER binary binary
----------------------------------------------------------------
SHOW CREATE PROCEDURE p1;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
@@ -1404,7 +1395,7 @@ CREATE EVENT ev1 ON SCHEDULE AT '2030-01-01 00:00:00' DO SELECT 'ÔÅÓÔ' AS test;
set names utf8;
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 _koi8r'теÑÑ‚' AS `test` koi8r koi8r_general_ci
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select 'теÑÑ‚' AS `test` koi8r koi8r_general_ci
SHOW CREATE PROCEDURE p1;
Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
p1 CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`()
@@ -1427,4 +1418,9 @@ DROP FUNCTION f1;
DROP TABLE t1;
DROP EVENT ev1;
SHOW TABLE TYPES;
+CREATE USER test_u@localhost;
+GRANT PROCESS ON *.* TO test_u@localhost;
+SHOW ENGINE MYISAM MUTEX;
+SHOW ENGINE MYISAM STATUS;
+DROP USER test_u@localhost;
End of 5.1 tests
diff --git a/mysql-test/r/skip_grants.result b/mysql-test/r/skip_grants.result
index 6bb8cbea2f1..b523f2edc9f 100644
--- a/mysql-test/r/skip_grants.result
+++ b/mysql-test/r/skip_grants.result
@@ -72,3 +72,11 @@ count(*)
select count(*) from information_schema.USER_PRIVILEGES;
count(*)
0
+End of 5.0 tests
+#
+# Bug#29817 Queries with UDF fail with non-descriptive error
+# if mysql.proc is missing
+#
+select no_such_function(1);
+ERROR 42000: FUNCTION test.no_such_function does not exist
+End of 5.1 tests
diff --git a/mysql-test/r/sp-code.result b/mysql-test/r/sp-code.result
index b2bcfff0fdb..f9c6914468c 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 95 "call sudoku_init()"
+3 stmt 94 "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 95 "call sudoku_count()"
+7 stmt 94 "call sudoku_count()"
8 stmt 6 "insert into sudoku_schedule (row,col)..."
9 set v_scounter@2 0
10 set v_i@3 1
@@ -324,29 +324,29 @@ Pos Instruction
0 set str@1 NULL
1 set_case_expr (12) 0 i@0
2 jump_if_not 5(12) (case_expr@0 = 1)
-3 set str@1 _latin1'1'
+3 set str@1 '1'
4 jump 12
5 jump_if_not 8(12) (case_expr@0 = 2)
-6 set str@1 _latin1'2'
+6 set str@1 '2'
7 jump 12
8 jump_if_not 11(12) (case_expr@0 = 3)
-9 set str@1 _latin1'3'
+9 set str@1 '3'
10 jump 12
-11 set str@1 _latin1'unknown'
+11 set str@1 'unknown'
12 stmt 0 "SELECT str"
SHOW PROCEDURE CODE proc_19194_searched;
Pos Instruction
0 set str@1 NULL
1 jump_if_not 4(11) (i@0 = 1)
-2 set str@1 _latin1'1'
+2 set str@1 '1'
3 jump 11
4 jump_if_not 7(11) (i@0 = 2)
-5 set str@1 _latin1'2'
+5 set str@1 '2'
6 jump 11
7 jump_if_not 10(11) (i@0 = 3)
-8 set str@1 _latin1'3'
+8 set str@1 '3'
9 jump 11
-10 set str@1 _latin1'unknown'
+10 set str@1 'unknown'
11 stmt 0 "SELECT str"
SHOW PROCEDURE CODE proc_19194_nested_1;
Pos Instruction
@@ -354,59 +354,59 @@ Pos Instruction
1 set str_j@3 NULL
2 set_case_expr (27) 0 i@0
3 jump_if_not 6(27) (case_expr@0 = 10)
-4 set str_i@2 _latin1'10'
+4 set str_i@2 '10'
5 jump 27
6 jump_if_not 20(27) (case_expr@0 = 20)
-7 set str_i@2 _latin1'20'
+7 set str_i@2 '20'
8 jump_if_not 11(18) (j@1 = 1)
-9 set str_j@3 _latin1'1'
+9 set str_j@3 '1'
10 jump 18
11 jump_if_not 14(18) (j@1 = 2)
-12 set str_j@3 _latin1'2'
+12 set str_j@3 '2'
13 jump 18
14 jump_if_not 17(18) (j@1 = 3)
-15 set str_j@3 _latin1'3'
+15 set str_j@3 '3'
16 jump 18
-17 set str_j@3 _latin1'unknown'
+17 set str_j@3 'unknown'
18 stmt 0 "select "i was 20""
19 jump 27
20 jump_if_not 23(27) (case_expr@0 = 30)
-21 set str_i@2 _latin1'30'
+21 set str_i@2 '30'
22 jump 27
23 jump_if_not 26(27) (case_expr@0 = 40)
-24 set str_i@2 _latin1'40'
+24 set str_i@2 '40'
25 jump 27
-26 set str_i@2 _latin1'unknown'
+26 set str_i@2 'unknown'
27 stmt 0 "SELECT str_i, str_j"
SHOW PROCEDURE CODE proc_19194_nested_2;
Pos Instruction
0 set str_i@2 NULL
1 set str_j@3 NULL
2 jump_if_not 5(27) (i@0 = 10)
-3 set str_i@2 _latin1'10'
+3 set str_i@2 '10'
4 jump 27
5 jump_if_not 20(27) (i@0 = 20)
-6 set str_i@2 _latin1'20'
+6 set str_i@2 '20'
7 set_case_expr (18) 0 j@1
8 jump_if_not 11(18) (case_expr@0 = 1)
-9 set str_j@3 _latin1'1'
+9 set str_j@3 '1'
10 jump 18
11 jump_if_not 14(18) (case_expr@0 = 2)
-12 set str_j@3 _latin1'2'
+12 set str_j@3 '2'
13 jump 18
14 jump_if_not 17(18) (case_expr@0 = 3)
-15 set str_j@3 _latin1'3'
+15 set str_j@3 '3'
16 jump 18
-17 set str_j@3 _latin1'unknown'
+17 set str_j@3 'unknown'
18 stmt 0 "select "i was 20""
19 jump 27
20 jump_if_not 23(27) (i@0 = 30)
-21 set str_i@2 _latin1'30'
+21 set str_i@2 '30'
22 jump 27
23 jump_if_not 26(27) (i@0 = 40)
-24 set str_i@2 _latin1'40'
+24 set str_i@2 '40'
25 jump 27
-26 set str_i@2 _latin1'unknown'
+26 set str_i@2 'unknown'
27 stmt 0 "SELECT str_i, str_j"
SHOW PROCEDURE CODE proc_19194_nested_3;
Pos Instruction
@@ -414,59 +414,59 @@ Pos Instruction
1 set str_j@3 NULL
2 set_case_expr (28) 0 i@0
3 jump_if_not 6(28) (case_expr@0 = 10)
-4 set str_i@2 _latin1'10'
+4 set str_i@2 '10'
5 jump 28
6 jump_if_not 21(28) (case_expr@0 = 20)
-7 set str_i@2 _latin1'20'
+7 set str_i@2 '20'
8 set_case_expr (19) 1 j@1
9 jump_if_not 12(19) (case_expr@1 = 1)
-10 set str_j@3 _latin1'1'
+10 set str_j@3 '1'
11 jump 19
12 jump_if_not 15(19) (case_expr@1 = 2)
-13 set str_j@3 _latin1'2'
+13 set str_j@3 '2'
14 jump 19
15 jump_if_not 18(19) (case_expr@1 = 3)
-16 set str_j@3 _latin1'3'
+16 set str_j@3 '3'
17 jump 19
-18 set str_j@3 _latin1'unknown'
+18 set str_j@3 'unknown'
19 stmt 0 "select "i was 20""
20 jump 28
21 jump_if_not 24(28) (case_expr@0 = 30)
-22 set str_i@2 _latin1'30'
+22 set str_i@2 '30'
23 jump 28
24 jump_if_not 27(28) (case_expr@0 = 40)
-25 set str_i@2 _latin1'40'
+25 set str_i@2 '40'
26 jump 28
-27 set str_i@2 _latin1'unknown'
+27 set str_i@2 'unknown'
28 stmt 0 "SELECT str_i, str_j"
SHOW PROCEDURE CODE proc_19194_nested_4;
Pos Instruction
0 set str_i@2 NULL
1 set str_j@3 NULL
2 jump_if_not 5(26) (i@0 = 10)
-3 set str_i@2 _latin1'10'
+3 set str_i@2 '10'
4 jump 26
5 jump_if_not 19(26) (i@0 = 20)
-6 set str_i@2 _latin1'20'
+6 set str_i@2 '20'
7 jump_if_not 10(17) (j@1 = 1)
-8 set str_j@3 _latin1'1'
+8 set str_j@3 '1'
9 jump 17
10 jump_if_not 13(17) (j@1 = 2)
-11 set str_j@3 _latin1'2'
+11 set str_j@3 '2'
12 jump 17
13 jump_if_not 16(17) (j@1 = 3)
-14 set str_j@3 _latin1'3'
+14 set str_j@3 '3'
15 jump 17
-16 set str_j@3 _latin1'unknown'
+16 set str_j@3 'unknown'
17 stmt 0 "select "i was 20""
18 jump 26
19 jump_if_not 22(26) (i@0 = 30)
-20 set str_i@2 _latin1'30'
+20 set str_i@2 '30'
21 jump 26
22 jump_if_not 25(26) (i@0 = 40)
-23 set str_i@2 _latin1'40'
+23 set str_i@2 '40'
24 jump 26
-25 set str_i@2 _latin1'unknown'
+25 set str_i@2 'unknown'
26 stmt 0 "SELECT str_i, str_j"
CALL proc_19194_nested_1(10, 1);
str_i str_j
@@ -733,6 +733,115 @@ optimizer: keep hreturn
drop table t1;
drop procedure proc_26977_broken;
drop procedure proc_26977_works;
+drop procedure if exists proc_33618_h;
+drop procedure if exists proc_33618_c;
+create procedure proc_33618_h(num int)
+begin
+declare count1 int default '0';
+declare vb varchar(30);
+declare last_row int;
+while(num>=1) do
+set num=num-1;
+begin
+declare cur1 cursor for select `a` from t_33618;
+declare continue handler for not found set last_row = 1;
+set last_row:=0;
+open cur1;
+rep1:
+repeat
+begin
+declare exit handler for 1062 begin end;
+fetch cur1 into vb;
+if (last_row = 1) then
+## should generate a hpop instruction here
+leave rep1;
+end if;
+end;
+until last_row=1
+end repeat;
+close cur1;
+end;
+end while;
+end//
+create procedure proc_33618_c(num int)
+begin
+declare count1 int default '0';
+declare vb varchar(30);
+declare last_row int;
+while(num>=1) do
+set num=num-1;
+begin
+declare cur1 cursor for select `a` from t_33618;
+declare continue handler for not found set last_row = 1;
+set last_row:=0;
+open cur1;
+rep1:
+repeat
+begin
+declare cur2 cursor for select `b` from t_33618;
+fetch cur1 into vb;
+if (last_row = 1) then
+## should generate a cpop instruction here
+leave rep1;
+end if;
+end;
+until last_row=1
+end repeat;
+close cur1;
+end;
+end while;
+end//
+show procedure code proc_33618_h;
+Pos Instruction
+0 set count1@1 '0'
+1 set vb@2 NULL
+2 set last_row@3 NULL
+3 jump_if_not 24(24) (num@0 >= 1)
+4 set num@0 (num@0 - 1)
+5 cpush cur1@0
+6 hpush_jump 9 4 CONTINUE
+7 set last_row@3 1
+8 hreturn 4
+9 set last_row@3 0
+10 copen cur1@0
+11 hpush_jump 13 4 EXIT
+12 hreturn 0 17
+13 cfetch cur1@0 vb@2
+14 jump_if_not 17(17) (last_row@3 = 1)
+15 hpop 1
+16 jump 19
+17 hpop 1
+18 jump_if_not 11(19) (last_row@3 = 1)
+19 cclose cur1@0
+20 hpop 1
+21 cpop 1
+22 jump 3
+show procedure code proc_33618_c;
+Pos Instruction
+0 set count1@1 '0'
+1 set vb@2 NULL
+2 set last_row@3 NULL
+3 jump_if_not 23(23) (num@0 >= 1)
+4 set num@0 (num@0 - 1)
+5 cpush cur1@0
+6 hpush_jump 9 4 CONTINUE
+7 set last_row@3 1
+8 hreturn 4
+9 set last_row@3 0
+10 copen cur1@0
+11 cpush cur2@1
+12 cfetch cur1@0 vb@2
+13 jump_if_not 16(16) (last_row@3 = 1)
+14 cpop 1
+15 jump 18
+16 cpop 1
+17 jump_if_not 11(18) (last_row@3 = 1)
+18 cclose cur1@0
+19 hpop 1
+20 cpop 1
+21 jump 3
+drop procedure proc_33618_h;
+drop procedure proc_33618_c;
End of 5.0 tests.
CREATE PROCEDURE p1()
BEGIN
diff --git a/mysql-test/r/sp-error.result b/mysql-test/r/sp-error.result
index 675a59f1fb7..bc2ab13fe5f 100644
--- a/mysql-test/r/sp-error.result
+++ b/mysql-test/r/sp-error.result
@@ -142,7 +142,10 @@ declare c cursor for insert into test.t1 values ("foo", 42);
open c;
close c;
end|
-ERROR 42000: Cursor statement must be a SELECT
+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 into test.t1 values ("foo", 42);
+open c;
+close c;
+end' at line 3
create procedure p()
begin
declare x int;
@@ -969,6 +972,18 @@ CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW BEGIN create user 'mysqltest
ERROR HY000: Explicit or implicit commit is not allowed in stored function or trigger.
CREATE FUNCTION bug_13627_f() returns int BEGIN create user 'mysqltest_1'; return 1; END |
ERROR HY000: Explicit or implicit commit is not allowed in stored function or trigger.
+CREATE TRIGGER bug21975 BEFORE INSERT ON t1 FOR EACH ROW BEGIN grant select on t1 to 'mysqltest_1'; END |
+ERROR HY000: Explicit or implicit commit is not allowed in stored function or trigger.
+CREATE FUNCTION bug21975() returns int BEGIN grant select on t1 to 'mysqltest_1'; return 1; END |
+ERROR HY000: Explicit or implicit commit is not allowed in stored function or trigger.
+CREATE TRIGGER bug21975 BEFORE INSERT ON t1 FOR EACH ROW BEGIN revoke select on t1 from 'mysqltest_1'; END |
+ERROR HY000: Explicit or implicit commit is not allowed in stored function or trigger.
+CREATE FUNCTION bug21975() returns int BEGIN revoke select on t1 from 'mysqltest_1'; return 1; END |
+ERROR HY000: Explicit or implicit commit is not allowed in stored function or trigger.
+CREATE TRIGGER bug21975 BEFORE INSERT ON t1 FOR EACH ROW BEGIN revoke all privileges on *.* from 'mysqltest_1'; END |
+ERROR HY000: Explicit or implicit commit is not allowed in stored function or trigger.
+CREATE FUNCTION bug21975() returns int BEGIN revoke all privileges on *.* from 'mysqltest_1'; return 1; END |
+ERROR HY000: Explicit or implicit commit is not allowed in stored function or trigger.
CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW BEGIN drop user 'mysqltest_1'; END |
ERROR HY000: Explicit or implicit commit is not allowed in stored function or trigger.
CREATE FUNCTION bug_13627_f() returns int BEGIN drop user 'mysqltest_1'; return 1; END |
@@ -1211,7 +1226,7 @@ ERROR 42S02: Unknown table 'c' in field list
drop procedure bug15091;
drop function if exists bug16896;
create aggregate function bug16896() returns int return 1;
-ERROR 42000: AGGREGATE is not supported for stored functions
+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 '() returns int return 1' at line 1
DROP PROCEDURE IF EXISTS bug14702;
CREATE IF NOT EXISTS PROCEDURE bug14702()
BEGIN
@@ -1413,7 +1428,6 @@ create function bug20701() returns varchar(25) binary return "test";
ERROR 42000: This version of MySQL doesn't yet support 'return value collation'
create function bug20701() returns varchar(25) return "test";
drop function bug20701;
-End of 5.1 tests
create procedure proc_26503_error_1()
begin
retry:
@@ -1466,3 +1480,161 @@ end
until true end repeat retry;
end//
ERROR 42000: LEAVE with no matching label: retry
+drop procedure if exists proc_28360;
+drop function if exists func_28360;
+CREATE PROCEDURE proc_28360()
+BEGIN
+ALTER DATABASE `#mysql50#upgrade-me` UPGRADE DATA DIRECTORY NAME;
+END//
+ERROR HY000: Can't drop or alter a DATABASE from within another stored routine
+CREATE FUNCTION func_28360() RETURNS int
+BEGIN
+ALTER DATABASE `#mysql50#upgrade-me` UPGRADE DATA DIRECTORY NAME;
+RETURN 0;
+END//
+ERROR HY000: Can't drop or alter a DATABASE from within another stored routine
+DROP PROCEDURE IF EXISTS p1;
+CREATE PROCEDURE p1()
+BEGIN
+DECLARE c char(100);
+DECLARE cur1 CURSOR FOR SHOW TABLES;
+OPEN cur1;
+FETCH cur1 INTO c;
+select c;
+CLOSE cur1;
+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 'SHOW TABLES;
+OPEN cur1;
+FETCH cur1 INTO c;
+select c;
+CLOSE cur1;
+END' at line 4
+DROP DATABASE IF EXISTS mysqltest;
+CREATE DATABASE mysqltest;
+USE mysqltest;
+DROP DATABASE mysqltest;
+SELECT inexistent(), 1 + ,;
+ERROR 42000: FUNCTION inexistent does not exist
+SELECT inexistent();
+ERROR 42000: FUNCTION inexistent does not exist
+SELECT .inexistent();
+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
+SELECT ..inexistent();
+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 '.inexistent()' at line 1
+USE test;
+create function f1() returns int
+begin
+set @test = 1, password = password('foo');
+return 1;
+end|
+ERROR HY000: Not allowed to set autocommit from a stored function or trigger
+create trigger t1
+before insert on t2 for each row set password = password('foo');|
+ERROR HY000: Not allowed to set autocommit from a stored function or trigger
+drop function if exists f1;
+drop function if exists f2;
+drop table if exists t1, t2;
+create function f1() returns int
+begin
+drop temporary table t1;
+return 1;
+end|
+create temporary table t1 as select f1();
+ERROR HY000: Can't reopen table: 't1'
+create function f2() returns int
+begin
+create temporary table t2 as select f1();
+return 1;
+end|
+create temporary table t1 as select f2();
+ERROR HY000: Can't reopen table: 't1'
+drop function f1;
+drop function f2;
+create function f1() returns int
+begin
+drop temporary table t2,t1;
+return 1;
+end|
+create function f2() returns int
+begin
+create temporary table t2 as select f1();
+return 1;
+end|
+create temporary table t1 as select f2();
+ERROR HY000: Can't reopen table: 't2'
+drop function f1;
+drop function f2;
+create temporary table t2(a int);
+select * from t2;
+a
+create function f2() returns int
+begin
+drop temporary table t2;
+return 1;
+end|
+select f2();
+f2()
+1
+drop function f2;
+drop table t2;
+ERROR 42S02: Unknown table 't2'
+End of 5.1 tests
+drop procedure if exists proc_33983_a;
+drop procedure if exists proc_33983_b;
+drop procedure if exists proc_33983_c;
+drop procedure if exists proc_33983_d;
+create procedure proc_33983_a()
+begin
+label1:
+begin
+label2:
+begin
+select 1;
+end label1;
+end;
+end|
+ERROR 42000: End-label label1 without match
+create procedure proc_33983_b()
+begin
+label1:
+repeat
+label2:
+repeat
+select 1;
+until FALSE end repeat label1;
+until FALSE end repeat;
+end|
+ERROR 42000: End-label label1 without match
+create procedure proc_33983_c()
+begin
+label1:
+while TRUE do
+label2:
+while TRUE do
+select 1;
+end while label1;
+end while;
+end|
+ERROR 42000: End-label label1 without match
+create procedure proc_33983_d()
+begin
+label1:
+loop
+label2:
+loop
+select 1;
+end loop label1;
+end loop;
+end|
+ERROR 42000: End-label label1 without match
+drop procedure if exists p1;
+create procedure p1()
+begin
+create table t1 (a int) type=MyISAM;
+drop table t1;
+end|
+Warnings:
+Warning 1287 The syntax 'TYPE=storage_engine' is deprecated and will be removed in MySQL 5.2. Please use 'ENGINE=storage_engine' instead
+call p1();
+call p1();
+drop procedure p1;
diff --git a/mysql-test/r/sp-security.result b/mysql-test/r/sp-security.result
index 1a1645ca971..cf26f0076d7 100644
--- a/mysql-test/r/sp-security.result
+++ b/mysql-test/r/sp-security.result
@@ -357,10 +357,10 @@ ERROR 42000: Access denied; you need the SUPER privilege for this operation
use mysqltest;
CREATE DEFINER='a @ b @ c'@localhost PROCEDURE wl2897_p3() SELECT 3;
Warnings:
-Note 1449 There is no 'a @ b @ c'@'localhost' registered
+Note 1449 The user specified as a definer ('a @ b @ c'@'localhost') does not exist
CREATE DEFINER='a @ b @ c'@localhost FUNCTION wl2897_f3() RETURNS INT RETURN 3;
Warnings:
-Note 1449 There is no 'a @ b @ c'@'localhost' registered
+Note 1449 The user specified as a definer ('a @ b @ c'@'localhost') does not exist
---> connection: con1root
use mysqltest;
@@ -420,9 +420,9 @@ DROP USER mysqltest_1@localhost;
---> connection: mysqltest_2_con
use mysqltest;
CALL bug13198_p1();
-ERROR HY000: There is no 'mysqltest_1'@'localhost' registered
+ERROR HY000: The user specified as a definer ('mysqltest_1'@'localhost') does not exist
SELECT bug13198_f1();
-ERROR HY000: There is no 'mysqltest_1'@'localhost' registered
+ERROR HY000: The user specified as a definer ('mysqltest_1'@'localhost') does not exist
---> connection: root
DROP USER mysqltest_2@localhost;
diff --git a/mysql-test/r/sp.result b/mysql-test/r/sp.result
index ebdab4a3f89..0a2c9a2da85 100644
--- a/mysql-test/r/sp.result
+++ b/mysql-test/r/sp.result
@@ -2469,7 +2469,7 @@ Database (foo)
Level Code Message
Field Type Null Key Default Extra
id char(16) NO
-data int(11) NO
+data int(11) NO NULL
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
Database Table In_use Name_locked
Privilege Context Comment
@@ -2523,7 +2523,7 @@ Database (foo)
Level Code Message
Field Type Null Key Default Extra
id char(16) NO
-data int(11) NO
+data int(11) NO NULL
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
Database Table In_use Name_locked
Privilege Context Comment
@@ -4914,7 +4914,7 @@ create table t3 as select * from v1|
show create table t3|
Table Create Table
t3 CREATE TABLE `t3` (
- `j` bigint(11) DEFAULT NULL
+ `j` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
select * from t3|
j
@@ -5670,7 +5670,7 @@ drop function if exists pi;
create function pi() returns varchar(50)
return "pie, my favorite desert.";
Warnings:
-Note 1582 This function 'pi' has the same name as a native function
+Note 1585 This function 'pi' has the same name as a native function
SET @save_sql_mode=@@sql_mode;
SET SQL_MODE='IGNORE_SPACE';
select pi(), pi ();
@@ -5719,15 +5719,15 @@ use test;
create function `database`() returns varchar(50)
return "Stored function database";
Warnings:
-Note 1582 This function 'database' has the same name as a native function
+Note 1585 This function 'database' has the same name as a native function
create function `current_user`() returns varchar(50)
return "Stored function current_user";
Warnings:
-Note 1582 This function 'current_user' has the same name as a native function
+Note 1585 This function 'current_user' has the same name as a native function
create function md5(x varchar(50)) returns varchar(50)
return "Stored function md5";
Warnings:
-Note 1582 This function 'md5' has the same name as a native function
+Note 1585 This function 'md5' has the same name as a native function
SET SQL_MODE='IGNORE_SPACE';
select database(), database ();
database() database ()
@@ -6546,4 +6546,456 @@ DROP VIEW v1;
DROP FUNCTION f1;
DROP FUNCTION f2;
DROP TABLE t1;
-End of 5.0 tests
+create function f1()
+returns int(11)
+not deterministic
+contains sql
+sql security definer
+comment ''
+begin
+declare x int(11);
+set x=-1;
+return x;
+end|
+create view v1 as select 1 as one, f1() as days;
+show create view test.v1;
+View Create View character_set_client collation_connection
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `test`.`v1` AS select 1 AS `one`,`f1`() AS `days` latin1 latin1_swedish_ci
+select column_name from information_schema.columns
+where table_name='v1' and table_schema='test';
+column_name
+one
+days
+drop view v1;
+drop function f1;
+
+# Bug#13675.
+
+DROP PROCEDURE IF EXISTS p1;
+DROP PROCEDURE IF EXISTS p2;
+DROP TABLE IF EXISTS t1;
+
+CREATE PROCEDURE p1(v DATETIME) CREATE TABLE t1 SELECT v;
+CREATE PROCEDURE p2(v INT) CREATE TABLE t1 SELECT v;
+
+CALL p1(NOW());
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `v` datetime DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+
+DROP TABLE t1;
+
+CALL p1('text');
+Warnings:
+Warning 1264 Out of range value for column 'v' at row 1
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `v` datetime DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+
+DROP TABLE t1;
+
+CALL p2(10);
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `v` bigint(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+
+DROP TABLE t1;
+
+CALL p2('text');
+Warnings:
+Warning 1366 Incorrect integer value: 'text' for column 'v' at row 1
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `v` bigint(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+
+DROP TABLE t1;
+
+DROP PROCEDURE p1;
+DROP PROCEDURE p2;
+
+#
+# Bug#31035.
+#
+
+#
+# - Prepare.
+#
+
+DROP TABLE IF EXISTS t1;
+DROP FUNCTION IF EXISTS f1;
+DROP FUNCTION IF EXISTS f2;
+DROP FUNCTION IF EXISTS f3;
+DROP FUNCTION IF EXISTS f4;
+
+#
+# - Create required objects.
+#
+
+CREATE TABLE t1(c1 INT);
+
+INSERT INTO t1 VALUES (1), (2), (3);
+
+CREATE FUNCTION f1()
+RETURNS INT
+NOT DETERMINISTIC
+RETURN 1;
+
+CREATE FUNCTION f2(p INT)
+RETURNS INT
+NOT DETERMINISTIC
+RETURN 1;
+
+CREATE FUNCTION f3()
+RETURNS INT
+DETERMINISTIC
+RETURN 1;
+
+CREATE FUNCTION f4(p INT)
+RETURNS INT
+DETERMINISTIC
+RETURN 1;
+
+#
+# - Check.
+#
+
+SELECT f1() AS a FROM t1 GROUP BY a;
+a
+1
+
+SELECT f2(@a) AS a FROM t1 GROUP BY a;
+a
+1
+
+SELECT f3() AS a FROM t1 GROUP BY a;
+a
+1
+
+SELECT f4(0) AS a FROM t1 GROUP BY a;
+a
+1
+
+SELECT f4(@a) AS a FROM t1 GROUP BY a;
+a
+1
+
+#
+# - Cleanup.
+#
+
+DROP TABLE t1;
+DROP FUNCTION f1;
+DROP FUNCTION f2;
+DROP FUNCTION f3;
+DROP FUNCTION f4;
+
+#
+# Bug#31191.
+#
+
+#
+# - Prepare.
+#
+
+DROP TABLE IF EXISTS t1;
+DROP TABLE IF EXISTS t2;
+DROP FUNCTION IF EXISTS f1;
+
+#
+# - Create required objects.
+#
+
+CREATE TABLE t1 (
+id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+barcode INT(8) UNSIGNED ZEROFILL nOT NULL,
+PRIMARY KEY (id),
+UNIQUE KEY barcode (barcode)
+);
+
+INSERT INTO t1 (id, barcode) VALUES (1, 12345678);
+INSERT INTO t1 (id, barcode) VALUES (2, 12345679);
+
+CREATE TABLE test.t2 (
+id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+barcode BIGINT(11) UNSIGNED ZEROFILL NOT NULL,
+PRIMARY KEY (id)
+);
+
+INSERT INTO test.t2 (id, barcode) VALUES (1, 12345106708);
+INSERT INTO test.t2 (id, barcode) VALUES (2, 12345106709);
+
+CREATE FUNCTION f1(p INT(8))
+RETURNS BIGINT(11) UNSIGNED
+READS SQL DATA
+RETURN FLOOR(p/1000)*1000000 + 100000 + FLOOR((p MOD 1000)/10)*100 + (p MOD 10);
+
+#
+# - Check.
+#
+
+SELECT DISTINCT t1.barcode, f1(t1.barcode)
+FROM t1
+INNER JOIN t2
+ON f1(t1.barcode) = t2.barcode
+WHERE t1.barcode=12345678;
+barcode f1(t1.barcode)
+12345678 12345106708
+
+#
+# - Cleanup.
+#
+
+DROP TABLE t1;
+DROP TABLE t2;
+DROP FUNCTION f1;
+
+#
+# Bug#31226.
+#
+
+#
+# - Prepare.
+#
+
+DROP TABLE IF EXISTS t1;
+DROP FUNCTION IF EXISTS f1;
+
+#
+# - Create required objects.
+#
+
+CREATE TABLE t1(id INT);
+
+INSERT INTO t1 VALUES (1), (2), (3);
+
+CREATE FUNCTION f1()
+RETURNS DATETIME
+NOT DETERMINISTIC NO SQL
+RETURN NOW();
+
+#
+# - Check.
+#
+
+SELECT f1() FROM t1 GROUP BY 1;
+f1()
+<timestamp>
+
+#
+# - Cleanup.
+#
+
+DROP TABLE t1;
+DROP FUNCTION f1;
+
+DROP PROCEDURE IF EXISTS db28318_a.t1;
+DROP PROCEDURE IF EXISTS db28318_b.t2;
+DROP DATABASE IF EXISTS db28318_a;
+DROP DATABASE IF EXISTS db28318_b;
+CREATE DATABASE db28318_a;
+CREATE DATABASE db28318_b;
+CREATE PROCEDURE db28318_a.t1() SELECT "db28318_a.t1";
+CREATE PROCEDURE db28318_b.t2() CALL t1();
+use db28318_a;
+CALL db28318_b.t2();
+ERROR 42000: PROCEDURE db28318_b.t1 does not exist
+DROP PROCEDURE db28318_a.t1;
+DROP PROCEDURE db28318_b.t2;
+DROP DATABASE db28318_a;
+DROP DATABASE db28318_b;
+use test;
+DROP TABLE IF EXISTS t1;
+DROP PROCEDURE IF EXISTS bug29770;
+CREATE TABLE t1(a int);
+CREATE PROCEDURE bug29770()
+BEGIN
+DECLARE CONTINUE HANDLER FOR SQLSTATE '42S22' SET @state:= 'run';
+DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET @exception:= 'run';
+SELECT x FROM t1;
+END|
+CALL bug29770();
+SELECT @state, @exception;
+@state @exception
+run NULL
+DROP TABLE t1;
+DROP PROCEDURE bug29770;
+use test;
+drop table if exists t_33618;
+drop procedure if exists proc_33618;
+create table t_33618 (`a` int, unique(`a`), `b` varchar(30)) engine=myisam;
+insert into t_33618 (`a`,`b`) values (1,'1'),(2,'2');
+create procedure proc_33618(num int)
+begin
+declare count1 int default '0';
+declare vb varchar(30);
+declare last_row int;
+while(num>=1) do
+set num=num-1;
+begin
+declare cur1 cursor for select `a` from t_33618;
+declare continue handler for not found set last_row = 1;
+set last_row:=0;
+open cur1;
+rep1:
+repeat
+begin
+declare exit handler for 1062 begin end;
+fetch cur1 into vb;
+if (last_row = 1) then
+leave rep1;
+end if;
+end;
+until last_row=1
+end repeat;
+close cur1;
+end;
+end while;
+end//
+call proc_33618(20);
+drop table t_33618;
+drop procedure proc_33618;
+#
+# Bug#30787: Stored function ignores user defined alias.
+#
+use test;
+drop function if exists func30787;
+create table t1(f1 int);
+insert into t1 values(1),(2);
+create function func30787(p1 int) returns int
+begin
+return p1;
+end |
+select (select func30787(f1)) as ttt from t1;
+ttt
+1
+2
+drop function func30787;
+drop table t1;
+# ------------------------------------------------------------------
+# -- End of 5.0 tests
+# ------------------------------------------------------------------
+
+#
+# Bug#20550.
+#
+
+#
+# - Prepare.
+#
+
+DROP VIEW IF EXISTS v1;
+DROP VIEW IF EXISTS v2;
+DROP FUNCTION IF EXISTS f1;
+DROP FUNCTION IF EXISTS f2;
+
+#
+# - Create required objects.
+#
+
+CREATE FUNCTION f1() RETURNS VARCHAR(65525) RETURN 'Hello';
+
+CREATE FUNCTION f2() RETURNS TINYINT RETURN 1;
+
+CREATE VIEW v1 AS SELECT f1();
+
+CREATE VIEW v2 AS SELECT f2();
+
+#
+# - Check.
+#
+
+SELECT DATA_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'v1';
+DATA_TYPE
+varchar
+
+SELECT DATA_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'v2';
+DATA_TYPE
+tinyint
+
+#
+# - Cleanup.
+#
+
+DROP FUNCTION f1;
+DROP FUNCTION f2;
+DROP VIEW v1;
+DROP VIEW v2;
+
+#
+# - Bug#24923: prepare.
+#
+
+DROP FUNCTION IF EXISTS f1;
+
+#
+# - Bug#24923: create required objects.
+#
+
+CREATE FUNCTION f1(p INT)
+RETURNS ENUM ('Very_long_enum_element_identifier',
+'Another_very_long_enum_element_identifier')
+BEGIN
+CASE p
+WHEN 1 THEN
+RETURN 'Very_long_enum_element_identifier';
+ELSE
+RETURN 'Another_very_long_enum_element_identifier';
+END CASE;
+END|
+
+#
+# - Bug#24923: check.
+#
+
+SELECT f1(1);
+f1(1)
+Very_long_enum_element_identifier
+
+SELECT f1(2);
+f1(2)
+Another_very_long_enum_element_identifier
+
+SHOW CREATE FUNCTION f1;
+Function sql_mode Create Function character_set_client collation_connection Database Collation
+f1 CREATE DEFINER=`root`@`localhost` FUNCTION `f1`(p INT) RETURNS enum('Very_long_enum_element_identifier','Another_very_long_enum_element_identifier') CHARSET latin1
+BEGIN
+CASE p
+WHEN 1 THEN
+RETURN 'Very_long_enum_element_identifier';
+ELSE
+RETURN 'Another_very_long_enum_element_identifier';
+END CASE;
+END latin1 latin1_swedish_ci latin1_swedish_ci
+#
+# - Bug#24923: cleanup.
+#
+
+DROP FUNCTION f1;
+
+drop procedure if exists p;
+set @old_mode= @@sql_mode;
+set @@sql_mode= pow(2,32)-1;
+select @@sql_mode into @full_mode;
+create procedure p() begin end;
+call p();
+select @@sql_mode;
+@@sql_mode
+REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,?,ONLY_FULL_GROUP_BY,NO_UNSIGNED_SUBTRACTION,NO_DIR_IN_CREATE,POSTGRESQL,ORACLE,MSSQL,DB2,MAXDB,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS,MYSQL323,MYSQL40,ANSI,NO_AUTO_VALUE_ON_ZERO,NO_BACKSLASH_ESCAPES,STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ALLOW_INVALID_DATES,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER,HIGH_NOT_PRECEDENCE,NO_ENGINE_SUBSTITUTION,PAD_CHAR_TO_FULL_LENGTH
+set @@sql_mode= @old_mode;
+select replace(@full_mode, '?', 'NOT_USED') into @full_mode;
+select replace(@full_mode, 'ALLOW_INVALID_DATES', 'INVALID_DATES') into @full_mode;
+select name from mysql.proc where name = 'p' and sql_mode = @full_mode;
+name
+p
+drop procedure p;
+# ------------------------------------------------------------------
+# -- End of 5.1 tests
+# ------------------------------------------------------------------
diff --git a/mysql-test/r/sp_gis.result b/mysql-test/r/sp_gis.result
index b4fe0872d64..7a76507754f 100644
--- a/mysql-test/r/sp_gis.result
+++ b/mysql-test/r/sp_gis.result
@@ -7,11 +7,11 @@ return 1;
create function x() returns int
return 2;
Warnings:
-Note 1582 This function 'x' has the same name as a native function
+Note 1585 This function 'x' has the same name as a native function
create function y() returns int
return 3;
Warnings:
-Note 1582 This function 'y' has the same name as a native function
+Note 1585 This function 'y' has the same name as a native function
select a();
a()
1
diff --git a/mysql-test/r/sp_notembedded.result b/mysql-test/r/sp_notembedded.result
index 0b1fa565d28..d15efc6d7d7 100644
--- a/mysql-test/r/sp_notembedded.result
+++ b/mysql-test/r/sp_notembedded.result
@@ -1,3 +1,5 @@
+set @old_concurrent_insert= @@global.concurrent_insert;
+set @@global.concurrent_insert= 0;
drop table if exists t1,t3;
drop procedure if exists bug4902|
create procedure bug4902()
@@ -17,11 +19,11 @@ begin
show processlist;
end|
call bug4902_2()|
-Id User Host db Command Time State Info
-# root localhost test Query # NULL show processlist
+show warnings|
+Level Code Message
call bug4902_2()|
-Id User Host db Command Time State Info
-# root localhost test Query # NULL show processlist
+show warnings|
+Level Code Message
drop procedure bug4902_2|
drop table if exists t1|
create table t1 (
@@ -208,3 +210,27 @@ GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
drop user mysqltest_1@localhost;
drop procedure 15298_1;
drop procedure 15298_2;
+drop table if exists t1;
+drop procedure if exists p1;
+create table t1 (value varchar(15));
+create procedure p1() update t1 set value='updated' where value='old';
+call p1();
+insert into t1 (value) values ("old");
+select get_lock('b26162',120);
+get_lock('b26162',120)
+1
+select 'rl_acquirer', value from t1 where get_lock('b26162',120);;
+set session low_priority_updates=on;
+call p1();;
+select 'rl_contender', value from t1;
+rl_contender value
+rl_contender old
+select release_lock('b26162');
+release_lock('b26162')
+1
+rl_acquirer value
+rl_acquirer old
+drop procedure p1;
+drop table t1;
+set session low_priority_updates=default;
+set @@global.concurrent_insert= @old_concurrent_insert;
diff --git a/mysql-test/r/sp_trans_log.result b/mysql-test/r/sp_trans_log.result
index a835b06858b..7a6173b89e2 100644
--- a/mysql-test/r/sp_trans_log.result
+++ b/mysql-test/r/sp_trans_log.result
@@ -16,6 +16,7 @@ insert into t2 values (bug23333(),1)|
ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
show binlog events from 106 /* with fixes for #23333 will show there is the query */|
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Query 1 # #
master-bin.000001 # Table_map 1 # #
master-bin.000001 # Table_map 1 # #
master-bin.000001 # Write_rows 1 # #
diff --git a/mysql-test/r/sql_mode.result b/mysql-test/r/sql_mode.result
index 2b34ff8c021..401340f204c 100644
--- a/mysql-test/r/sql_mode.result
+++ b/mysql-test/r/sql_mode.result
@@ -496,3 +496,13 @@ xb x
xcx
drop table t1;
SET @@SQL_MODE=@OLD_SQL_MODE;
+create user mysqltest_32753@localhost;
+set @OLD_SQL_MODE=@@SESSION.SQL_MODE;
+set session sql_mode='PAD_CHAR_TO_FULL_LENGTH';
+flush privileges;
+select current_user();
+current_user()
+mysqltest_32753@localhost
+set session sql_mode=@OLD_SQL_MODE;
+flush privileges;
+drop user mysqltest_32753@localhost;
diff --git a/mysql-test/r/ssl.result b/mysql-test/r/ssl.result
index 1f1a6ec9e22..9ad515a53a3 100644
--- a/mysql-test/r/ssl.result
+++ b/mysql-test/r/ssl.result
@@ -608,11 +608,11 @@ id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t3 ref period period 4 test.t1.period 4181
explain select * from t3 as t1,t3 where t1.period=t3.period order by t3.period limit 10;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t3 ALL period NULL NULL NULL 41810 Using filesort
+1 SIMPLE t3 index period period 4 NULL 1
1 SIMPLE t1 ref period period 4 test.t3.period 4181
explain select * from t3 as t1,t3 where t1.period=t3.period order by t1.period limit 10;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL period NULL NULL NULL 41810 Using filesort
+1 SIMPLE t1 index period period 4 NULL 1
1 SIMPLE t3 ref period period 4 test.t1.period 4181
select period from t1;
period
@@ -1508,7 +1508,7 @@ explain extended select count(*),min(fld4),max(fld4),sum(fld1),avg(fld1),std(fld
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t2 ALL NULL NULL NULL NULL 1199 100.00 Using where
Warnings:
-Note 1003 select count(0) AS `count(*)`,min(`test`.`t2`.`fld4`) AS `min(fld4)`,max(`test`.`t2`.`fld4`) AS `max(fld4)`,sum(`test`.`t2`.`fld1`) AS `sum(fld1)`,avg(`test`.`t2`.`fld1`) AS `avg(fld1)`,std(`test`.`t2`.`fld1`) AS `std(fld1)`,variance(`test`.`t2`.`fld1`) AS `variance(fld1)` from `test`.`t2` where ((`test`.`t2`.`companynr` = 34) and (`test`.`t2`.`fld4` <> _latin1''))
+Note 1003 select count(0) AS `count(*)`,min(`test`.`t2`.`fld4`) AS `min(fld4)`,max(`test`.`t2`.`fld4`) AS `max(fld4)`,sum(`test`.`t2`.`fld1`) AS `sum(fld1)`,avg(`test`.`t2`.`fld1`) AS `avg(fld1)`,std(`test`.`t2`.`fld1`) AS `std(fld1)`,variance(`test`.`t2`.`fld1`) AS `variance(fld1)` from `test`.`t2` where ((`test`.`t2`.`companynr` = 34) and (`test`.`t2`.`fld4` <> ''))
select companynr,count(*),min(fld4),max(fld4),sum(fld1),avg(fld1),std(fld1),variance(fld1) from t2 group by companynr limit 3;
companynr count(*) min(fld4) max(fld4) sum(fld1) avg(fld1) std(fld1) variance(fld1)
00 82 Anthony windmills 10355753 126289.6707 115550.9757 13352027981.7087
diff --git a/mysql-test/r/ssl_compress.result b/mysql-test/r/ssl_compress.result
index e77fcefeafd..1bd427a65e2 100644
--- a/mysql-test/r/ssl_compress.result
+++ b/mysql-test/r/ssl_compress.result
@@ -611,11 +611,11 @@ id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t3 ref period period 4 test.t1.period 4181
explain select * from t3 as t1,t3 where t1.period=t3.period order by t3.period limit 10;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t3 ALL period NULL NULL NULL 41810 Using filesort
+1 SIMPLE t3 index period period 4 NULL 1
1 SIMPLE t1 ref period period 4 test.t3.period 4181
explain select * from t3 as t1,t3 where t1.period=t3.period order by t1.period limit 10;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL period NULL NULL NULL 41810 Using filesort
+1 SIMPLE t1 index period period 4 NULL 1
1 SIMPLE t3 ref period period 4 test.t1.period 4181
select period from t1;
period
@@ -1511,7 +1511,7 @@ explain extended select count(*),min(fld4),max(fld4),sum(fld1),avg(fld1),std(fld
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t2 ALL NULL NULL NULL NULL 1199 100.00 Using where
Warnings:
-Note 1003 select count(0) AS `count(*)`,min(`test`.`t2`.`fld4`) AS `min(fld4)`,max(`test`.`t2`.`fld4`) AS `max(fld4)`,sum(`test`.`t2`.`fld1`) AS `sum(fld1)`,avg(`test`.`t2`.`fld1`) AS `avg(fld1)`,std(`test`.`t2`.`fld1`) AS `std(fld1)`,variance(`test`.`t2`.`fld1`) AS `variance(fld1)` from `test`.`t2` where ((`test`.`t2`.`companynr` = 34) and (`test`.`t2`.`fld4` <> _latin1''))
+Note 1003 select count(0) AS `count(*)`,min(`test`.`t2`.`fld4`) AS `min(fld4)`,max(`test`.`t2`.`fld4`) AS `max(fld4)`,sum(`test`.`t2`.`fld1`) AS `sum(fld1)`,avg(`test`.`t2`.`fld1`) AS `avg(fld1)`,std(`test`.`t2`.`fld1`) AS `std(fld1)`,variance(`test`.`t2`.`fld1`) AS `variance(fld1)` from `test`.`t2` where ((`test`.`t2`.`companynr` = 34) and (`test`.`t2`.`fld4` <> ''))
select companynr,count(*),min(fld4),max(fld4),sum(fld1),avg(fld1),std(fld1),variance(fld1) from t2 group by companynr limit 3;
companynr count(*) min(fld4) max(fld4) sum(fld1) avg(fld1) std(fld1) variance(fld1)
00 82 Anthony windmills 10355753 126289.6707 115550.9757 13352027981.7087
diff --git a/mysql-test/r/status.result b/mysql-test/r/status.result
index 8f10625744b..fc78f4ad40f 100644
--- a/mysql-test/r/status.result
+++ b/mysql-test/r/status.result
@@ -8,6 +8,8 @@ VARIABLE_NAME VARIABLE_VALUE
TABLE_LOCKS_IMMEDIATE 2
TABLE_LOCKS_WAITED 0
SET SQL_LOG_BIN=0;
+set @old_general_log = @@global.general_log;
+set global general_log = 'OFF';
drop table if exists t1;
create table t1(n int) engine=myisam;
insert into t1 values(1);
@@ -16,15 +18,11 @@ unlock tables;
lock tables t1 read;
update t1 set n = 3;
unlock tables;
-show status like 'Table_lock%';
+show status like 'Table_locks_waited';
Variable_name Value
-Table_locks_immediate 17
Table_locks_waited 1
-select * from information_schema.session_status where variable_name like 'Table_lock%';
-VARIABLE_NAME VARIABLE_VALUE
-TABLE_LOCKS_IMMEDIATE 18
-TABLE_LOCKS_WAITED 1
drop table t1;
+set global general_log = @old_general_log;
select 1;
1
1
@@ -92,6 +90,54 @@ SELECT * FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME LIKE 'max_us
VARIABLE_NAME VARIABLE_VALUE
MAX_USED_CONNECTIONS 4
SET GLOBAL thread_cache_size=@save_thread_cache_size;
+CREATE TABLE t1 ( a INT );
+INSERT INTO t1 VALUES (1), (2);
+SELECT a FROM t1 LIMIT 1;
+a
+1
+SHOW SESSION STATUS LIKE 'Last_query_cost';
+Variable_name Value
+Last_query_cost 2.402418
+EXPLAIN SELECT a FROM t1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 2
+SHOW SESSION STATUS LIKE 'Last_query_cost';
+Variable_name Value
+Last_query_cost 2.402418
+SELECT a FROM t1 UNION SELECT a FROM t1 ORDER BY a;
+a
+1
+2
+SHOW SESSION STATUS LIKE 'Last_query_cost';
+Variable_name Value
+Last_query_cost 0.000000
+EXPLAIN SELECT a FROM t1 UNION SELECT a FROM t1 ORDER BY a;
+id select_type table type possible_keys key key_len ref rows Extra
+1 PRIMARY t1 ALL NULL NULL NULL NULL 2
+2 UNION t1 ALL NULL NULL NULL NULL 2
+NULL UNION RESULT <union1,2> ALL NULL NULL NULL NULL NULL Using filesort
+SHOW SESSION STATUS LIKE 'Last_query_cost';
+Variable_name Value
+Last_query_cost 0.000000
+SELECT a IN (SELECT a FROM t1) FROM t1 LIMIT 1;
+a IN (SELECT a FROM t1)
+1
+SHOW SESSION STATUS LIKE 'Last_query_cost';
+Variable_name Value
+Last_query_cost 0.000000
+SELECT (SELECT a FROM t1 LIMIT 1) x FROM t1 LIMIT 1;
+x
+1
+SHOW SESSION STATUS LIKE 'Last_query_cost';
+Variable_name Value
+Last_query_cost 0.000000
+SELECT * FROM t1 a, t1 b LIMIT 1;
+a a
+1 1
+SHOW SESSION STATUS LIKE 'Last_query_cost';
+Variable_name Value
+Last_query_cost 4.805836
+DROP TABLE t1;
show status like 'com_show_status';
Variable_name Value
Com_show_status 3
@@ -116,3 +162,24 @@ Variable_name Value
Com_show_status 8
rnd_diff tmp_table_diff
20 8
+show global status like 'Com%function%';
+Variable_name Value
+Com_alter_function 0
+Com_create_function 0
+Com_drop_function 0
+Com_show_function_code 0
+Com_show_function_status 0
+create function f1 (x INTEGER) returns integer
+begin
+declare ret integer;
+set ret = x * 10;
+return ret;
+end //
+drop function f1;
+show global status like 'Com%function%';
+Variable_name Value
+Com_alter_function 0
+Com_create_function 1
+Com_drop_function 1
+Com_show_function_code 0
+Com_show_function_status 0
diff --git a/mysql-test/r/strict.result b/mysql-test/r/strict.result
index c1dccd53035..ef58a760297 100644
--- a/mysql-test/r/strict.result
+++ b/mysql-test/r/strict.result
@@ -215,11 +215,11 @@ ERROR 22007: Incorrect date value: '2004-10-00 15:30:00' for column 'col1' at ro
INSERT INTO t1 (col1) VALUES(STR_TO_DATE('31.9.2004 15.30','%d.%m.%Y %H.%i'));
ERROR 22007: Incorrect date value: '2004-09-31 15:30:00' for column 'col1' at row 1
INSERT INTO t1 (col1) VALUES(STR_TO_DATE('32.10.2004 15.30','%d.%m.%Y %H.%i'));
-ERROR HY000: Incorrect datetime value: '32.10.2004 15.30' for function str_to_time
+ERROR HY000: Incorrect datetime value: '32.10.2004 15.30' for function str_to_date
INSERT INTO t1 (col1) VALUES(STR_TO_DATE('29.02.2003 15.30','%d.%m.%Y %H.%i'));
ERROR 22007: Incorrect date value: '2003-02-29 15:30:00' for column 'col1' at row 1
INSERT INTO t1 (col1) VALUES(STR_TO_DATE('15.13.2004 15.30','%d.%m.%Y %H.%i'));
-ERROR HY000: Incorrect datetime value: '15.13.2004 15.30' for function str_to_time
+ERROR HY000: Incorrect datetime value: '15.13.2004 15.30' for function str_to_date
INSERT INTO t1 (col1) VALUES(STR_TO_DATE('00.00.0000','%d.%m.%Y'));
ERROR 22007: Incorrect date value: '0000-00-00' for column 'col1' at row 1
INSERT INTO t1 (col2) VALUES(STR_TO_DATE('31.10.0000 15.30','%d.%m.%Y %H.%i'));
@@ -230,11 +230,11 @@ ERROR 22007: Incorrect datetime value: '2004-10-00 15:30:00' for column 'col2' a
INSERT INTO t1 (col2) VALUES(STR_TO_DATE('31.9.2004 15.30','%d.%m.%Y %H.%i'));
ERROR 22007: Incorrect datetime value: '2004-09-31 15:30:00' for column 'col2' at row 1
INSERT INTO t1 (col2) VALUES(STR_TO_DATE('32.10.2004 15.30','%d.%m.%Y %H.%i'));
-ERROR HY000: Incorrect datetime value: '32.10.2004 15.30' for function str_to_time
+ERROR HY000: Incorrect datetime value: '32.10.2004 15.30' for function str_to_date
INSERT INTO t1 (col2) VALUES(STR_TO_DATE('29.02.2003 15.30','%d.%m.%Y %H.%i'));
ERROR 22007: Incorrect datetime value: '2003-02-29 15:30:00' for column 'col2' at row 1
INSERT INTO t1 (col2) VALUES(STR_TO_DATE('15.13.2004 15.30','%d.%m.%Y %H.%i'));
-ERROR HY000: Incorrect datetime value: '15.13.2004 15.30' for function str_to_time
+ERROR HY000: Incorrect datetime value: '15.13.2004 15.30' for function str_to_date
INSERT INTO t1 (col2) VALUES(STR_TO_DATE('00.00.0000','%d.%m.%Y'));
ERROR 22007: Incorrect datetime value: '0000-00-00' for column 'col2' at row 1
INSERT INTO t1 (col3) VALUES(STR_TO_DATE('31.10.0000 15.30','%d.%m.%Y %H.%i'));
@@ -246,11 +246,11 @@ ERROR 22007: Incorrect datetime value: '2004-10-00 15:30:00' for column 'col3' a
INSERT INTO t1 (col3) VALUES(STR_TO_DATE('31.9.2004 15.30','%d.%m.%Y %H.%i'));
ERROR 22007: Incorrect datetime value: '2004-09-31 15:30:00' for column 'col3' at row 1
INSERT INTO t1 (col3) VALUES(STR_TO_DATE('32.10.2004 15.30','%d.%m.%Y %H.%i'));
-ERROR HY000: Incorrect datetime value: '32.10.2004 15.30' for function str_to_time
+ERROR HY000: Incorrect datetime value: '32.10.2004 15.30' for function str_to_date
INSERT INTO t1 (col3) VALUES(STR_TO_DATE('29.02.2003 15.30','%d.%m.%Y %H.%i'));
ERROR 22007: Incorrect datetime value: '2003-02-29 15:30:00' for column 'col3' at row 1
INSERT INTO t1 (col3) VALUES(STR_TO_DATE('15.13.2004 15.30','%d.%m.%Y %H.%i'));
-ERROR HY000: Incorrect datetime value: '15.13.2004 15.30' for function str_to_time
+ERROR HY000: Incorrect datetime value: '15.13.2004 15.30' for function str_to_date
INSERT INTO t1 (col3) VALUES(STR_TO_DATE('00.00.0000','%d.%m.%Y'));
ERROR 22007: Incorrect datetime value: '0000-00-00' for column 'col3' at row 1
drop table t1;
@@ -895,7 +895,6 @@ ERROR 22003: Out of range value for column 'col1' at row 1
INSERT INTO t1 (col2) VALUES ('-1.2E-3');
ERROR 22003: Out of range value for column 'col2' at row 1
UPDATE t1 SET col1 =col1 * 5000 WHERE col1 > 0;
-ERROR 22003: Out of range value for column 'col1' at row 3
UPDATE t1 SET col2 =col2 / 0 WHERE col2 > 0;
ERROR 22012: Division by 0
UPDATE t1 SET col2= MOD(col2,0) WHERE col2 > 0;
@@ -923,10 +922,10 @@ SELECT * FROM t1;
col1 col2
-2.2e-307 0
1e-303 0
-1.7e+308 1.7e+308
+NULL 1.7e+308
-2.2e-307 0
-2e-307 0
-1.7e+308 1.7e+308
+NULL 1.7e+308
0 NULL
2 NULL
NULL NULL
@@ -934,6 +933,8 @@ NULL NULL
DROP TABLE t1;
CREATE TABLE t1 (col1 CHAR(5), col2 VARCHAR(6));
INSERT INTO t1 VALUES ('hello', 'hello'),('he', 'he'),('hello ', 'hello ');
+Warnings:
+Note 1265 Data truncated for column 'col1' at row 3
INSERT INTO t1 (col1) VALUES ('hellobob');
ERROR 22001: Data too long for column 'col1' at row 1
INSERT INTO t1 (col2) VALUES ('hellobob');
@@ -1070,24 +1071,24 @@ create table t1 (col1 datetime);
insert into t1 values(STR_TO_DATE('31.10.2004 15.30 abc','%d.%m.%Y %H.%i'));
ERROR 22007: Truncated incorrect datetime value: '31.10.2004 15.30 abc'
insert into t1 values(STR_TO_DATE('32.10.2004 15.30','%d.%m.%Y %H.%i'));
-ERROR HY000: Incorrect datetime value: '32.10.2004 15.30' for function str_to_time
+ERROR HY000: Incorrect datetime value: '32.10.2004 15.30' for function str_to_date
insert into t1 values(STR_TO_DATE('2004.12.12 22:22:33 AM','%Y.%m.%d %r'));
-ERROR HY000: Incorrect time value: '22:22:33 AM' for function str_to_time
+ERROR HY000: Incorrect time value: '22:22:33 AM' for function str_to_date
insert into t1 values(STR_TO_DATE('2004.12.12 abc','%Y.%m.%d %T'));
-ERROR HY000: Incorrect time value: 'abc' for function str_to_time
+ERROR HY000: Incorrect time value: 'abc' for function str_to_date
set sql_mode='';
insert into t1 values(STR_TO_DATE('31.10.2004 15.30 abc','%d.%m.%Y %H.%i'));
Warnings:
Warning 1292 Truncated incorrect datetime value: '31.10.2004 15.30 abc'
insert into t1 values(STR_TO_DATE('32.10.2004 15.30','%d.%m.%Y %H.%i'));
Warnings:
-Error 1411 Incorrect datetime value: '32.10.2004 15.30' for function str_to_time
+Error 1411 Incorrect datetime value: '32.10.2004 15.30' for function str_to_date
insert into t1 values(STR_TO_DATE('2004.12.12 22:22:33 AM','%Y.%m.%d %r'));
Warnings:
-Error 1411 Incorrect time value: '22:22:33 AM' for function str_to_time
+Error 1411 Incorrect time value: '22:22:33 AM' for function str_to_date
insert into t1 values(STR_TO_DATE('2004.12.12 abc','%Y.%m.%d %T'));
Warnings:
-Error 1411 Incorrect time value: 'abc' for function str_to_time
+Error 1411 Incorrect time value: 'abc' for function str_to_date
insert into t1 values(STR_TO_DATE('31.10.2004 15.30','%d.%m.%Y %H.%i'));
insert into t1 values(STR_TO_DATE('2004.12.12 11:22:33 AM','%Y.%m.%d %r'));
insert into t1 values(STR_TO_DATE('2004.12.12 10:22:59','%Y.%m.%d %T'));
@@ -1105,9 +1106,9 @@ select count(*) from t1 where STR_TO_DATE('2004.12.12 10:22:61','%Y.%m.%d %T') I
count(*)
7
Warnings:
-Error 1411 Incorrect datetime value: '2004.12.12 10:22:61' for function str_to_time
-Error 1411 Incorrect datetime value: '2004.12.12 10:22:61' for function str_to_time
-Error 1411 Incorrect datetime value: '2004.12.12 10:22:61' for function str_to_time
+Error 1411 Incorrect datetime value: '2004.12.12 10:22:61' for function str_to_date
+Error 1411 Incorrect datetime value: '2004.12.12 10:22:61' for function str_to_date
+Error 1411 Incorrect datetime value: '2004.12.12 10:22:61' for function str_to_date
drop table t1;
create table t1 (col1 char(3), col2 integer);
insert into t1 (col1) values (cast(1000 as char(3)));
diff --git a/mysql-test/r/strict_autoinc_4bdb.result b/mysql-test/r/strict_autoinc_4bdb.result
deleted file mode 100644
index 2e8980e435b..00000000000
--- a/mysql-test/r/strict_autoinc_4bdb.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 = 'BDB' ;
-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/r/subselect.result b/mysql-test/r/subselect.result
index 40b9e489577..c739507f61b 100644
--- a/mysql-test/r/subselect.result
+++ b/mysql-test/r/subselect.result
@@ -77,10 +77,9 @@ ERROR HY000: Incorrect usage of PROCEDURE and subquery
SELECT 1 FROM (SELECT 1) a PROCEDURE ANALYSE((SELECT 1));
ERROR HY000: Incorrect parameters to procedure 'ANALYSE'
SELECT (SELECT 1) as a FROM (SELECT 1) b WHERE (SELECT a) IS NULL;
-a
+ERROR 42S22: Unknown column 'a' in 'field list'
SELECT (SELECT 1) as a FROM (SELECT 1) b WHERE (SELECT a) IS NOT NULL;
-a
-1
+ERROR 42S22: Unknown column 'a' in 'field list'
SELECT (SELECT 1,2,3) = ROW(1,2,3);
(SELECT 1,2,3) = ROW(1,2,3)
1
@@ -394,13 +393,13 @@ EXPLAIN EXTENDED SELECT DISTINCT date FROM t1 WHERE date='2002-08-03';
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 index NULL PRIMARY 43 NULL 2 100.00 Using where; Using index
Warnings:
-Note 1003 select distinct `test`.`t1`.`date` AS `date` from `test`.`t1` where (`test`.`t1`.`date` = _latin1'2002-08-03')
+Note 1003 select distinct `test`.`t1`.`date` AS `date` from `test`.`t1` where (`test`.`t1`.`date` = '2002-08-03')
EXPLAIN EXTENDED SELECT (SELECT DISTINCT date FROM t1 WHERE date='2002-08-03');
id select_type table type possible_keys key key_len ref rows filtered Extra
1 PRIMARY NULL NULL NULL NULL NULL NULL NULL NULL No tables used
2 SUBQUERY t1 index NULL PRIMARY 43 NULL 2 100.00 Using where; Using index
Warnings:
-Note 1003 select (select distinct `test`.`t1`.`date` AS `date` from `test`.`t1` where (`test`.`t1`.`date` = _latin1'2002-08-03')) AS `(SELECT DISTINCT date FROM t1 WHERE date='2002-08-03')`
+Note 1003 select (select distinct `test`.`t1`.`date` AS `date` from `test`.`t1` where (`test`.`t1`.`date` = '2002-08-03')) AS `(SELECT DISTINCT date FROM t1 WHERE date='2002-08-03')`
SELECT DISTINCT date FROM t1 WHERE date='2002-08-03';
date
2002-08-03
@@ -541,13 +540,13 @@ EXPLAIN EXTENDED SELECT MAX(numreponse) FROM t1 WHERE numeropost='1';
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Select tables optimized away
Warnings:
-Note 1003 select max(`test`.`t1`.`numreponse`) AS `MAX(numreponse)` from `test`.`t1` where (`test`.`t1`.`numeropost` = _latin1'1')
+Note 1003 select max(`test`.`t1`.`numreponse`) AS `MAX(numreponse)` from `test`.`t1` where (`test`.`t1`.`numeropost` = '1')
EXPLAIN EXTENDED SELECT numreponse FROM t1 WHERE numeropost='1' AND numreponse=(SELECT MAX(numreponse) FROM t1 WHERE numeropost='1');
id select_type table type possible_keys key key_len ref rows filtered Extra
1 PRIMARY t1 const PRIMARY,numreponse PRIMARY 7 const,const 1 100.00 Using index
2 SUBQUERY NULL NULL NULL NULL NULL NULL NULL NULL Select tables optimized away
Warnings:
-Note 1003 select '3' AS `numreponse` from `test`.`t1` where (('1' = _latin1'1'))
+Note 1003 select '3' AS `numreponse` from `test`.`t1` where (('1' = '1'))
drop table t1;
CREATE TABLE t1 (a int(1));
INSERT INTO t1 VALUES (1);
@@ -1025,7 +1024,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra
1 PRIMARY t1 system NULL NULL NULL NULL 0 0.00 const row not found
2 UNCACHEABLE SUBQUERY t1 system NULL NULL NULL NULL 0 0.00 const row not found
Warnings:
-Note 1003 select (select encrypt(_latin1'test') AS `ENCRYPT('test')` from `test`.`t1`) AS `(SELECT ENCRYPT('test') FROM t1)` from `test`.`t1`
+Note 1003 select (select encrypt('test') AS `ENCRYPT('test')` from `test`.`t1`) AS `(SELECT ENCRYPT('test') FROM t1)` from `test`.`t1`
EXPLAIN EXTENDED SELECT (SELECT BENCHMARK(1,1) FROM t1) FROM t1;
id select_type table type possible_keys key key_len ref rows filtered Extra
1 PRIMARY t1 system NULL NULL NULL NULL 0 0.00 const row not found
@@ -1307,7 +1306,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra
1 PRIMARY t2 index NULL PRIMARY 4 NULL 4 100.00 Using where; Using index
2 DEPENDENT SUBQUERY t1 unique_subquery PRIMARY PRIMARY 4 func 1 100.00 Using where
Warnings:
-Note 1003 select `test`.`t2`.`a` AS `a` from `test`.`t2` where <in_optimizer>(`test`.`t2`.`a`,<exists>(<primary_index_lookup>(<cache>(`test`.`t2`.`a`) in t1 on PRIMARY where (`test`.`t1`.`b` <> 30))))
+Note 1003 select `test`.`t2`.`a` AS `a` from `test`.`t2` where <in_optimizer>(`test`.`t2`.`a`,<exists>(<primary_index_lookup>(<cache>(`test`.`t2`.`a`) in t1 on PRIMARY where ((`test`.`t1`.`b` <> 30) and (<cache>(`test`.`t2`.`a`) = `test`.`t1`.`a`)))))
select * from t2 where t2.a in (select t1.a from t1,t3 where t1.b=t3.a);
a
2
@@ -1315,8 +1314,8 @@ a
explain extended select * from t2 where t2.a in (select t1.a from t1,t3 where t1.b=t3.a);
id select_type table type possible_keys key key_len ref rows filtered Extra
1 PRIMARY t2 index NULL PRIMARY 4 NULL 4 100.00 Using where; Using index
-2 DEPENDENT SUBQUERY t1 eq_ref PRIMARY PRIMARY 4 func 1 100.00 Using where
-2 DEPENDENT SUBQUERY t3 eq_ref PRIMARY PRIMARY 4 test.t1.b 1 100.00 Using where; Using index
+2 DEPENDENT SUBQUERY t1 eq_ref PRIMARY PRIMARY 4 func 1 100.00
+2 DEPENDENT SUBQUERY t3 eq_ref PRIMARY PRIMARY 4 test.t1.b 1 100.00 Using index
Warnings:
Note 1003 select `test`.`t2`.`a` AS `a` from `test`.`t2` where <in_optimizer>(`test`.`t2`.`a`,<exists>(select 1 AS `Not_used` from `test`.`t1` join `test`.`t3` where ((`test`.`t3`.`a` = `test`.`t1`.`b`) and (<cache>(`test`.`t2`.`a`) = `test`.`t1`.`a`))))
drop table t1, t2, t3;
@@ -1334,9 +1333,9 @@ a
explain extended select * from t2 where t2.a in (select a from t1);
id select_type table type possible_keys key key_len ref rows filtered Extra
1 PRIMARY t2 index NULL a 5 NULL 4 100.00 Using where; Using index
-2 DEPENDENT SUBQUERY t1 index_subquery a a 5 func 1001 100.00 Using index
+2 DEPENDENT SUBQUERY t1 index_subquery a a 5 func 1001 100.00 Using index; Using where
Warnings:
-Note 1003 select `test`.`t2`.`a` AS `a` from `test`.`t2` where <in_optimizer>(`test`.`t2`.`a`,<exists>(<index_lookup>(<cache>(`test`.`t2`.`a`) in t1 on a)))
+Note 1003 select `test`.`t2`.`a` AS `a` from `test`.`t2` where <in_optimizer>(`test`.`t2`.`a`,<exists>(<index_lookup>(<cache>(`test`.`t2`.`a`) in t1 on a where (<cache>(`test`.`t2`.`a`) = `test`.`t1`.`a`))))
select * from t2 where t2.a in (select a from t1 where t1.b <> 30);
a
2
@@ -1346,7 +1345,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra
1 PRIMARY t2 index NULL a 5 NULL 4 100.00 Using where; Using index
2 DEPENDENT SUBQUERY t1 index_subquery a a 5 func 1001 100.00 Using index; Using where
Warnings:
-Note 1003 select `test`.`t2`.`a` AS `a` from `test`.`t2` where <in_optimizer>(`test`.`t2`.`a`,<exists>(<index_lookup>(<cache>(`test`.`t2`.`a`) in t1 on a where (`test`.`t1`.`b` <> 30))))
+Note 1003 select `test`.`t2`.`a` AS `a` from `test`.`t2` where <in_optimizer>(`test`.`t2`.`a`,<exists>(<index_lookup>(<cache>(`test`.`t2`.`a`) in t1 on a where ((`test`.`t1`.`b` <> 30) and (<cache>(`test`.`t2`.`a`) = `test`.`t1`.`a`)))))
select * from t2 where t2.a in (select t1.a from t1,t3 where t1.b=t3.a);
a
2
@@ -1373,7 +1372,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra
1 PRIMARY t2 index NULL a 5 NULL 4 100.00 Using where; Using index
2 DEPENDENT SUBQUERY t1 index_subquery a a 5 func 1001 100.00 Using index; Using where
Warnings:
-Note 1003 select `test`.`t2`.`a` AS `a` from `test`.`t2` where <in_optimizer>(`test`.`t2`.`a`,<exists>(<index_lookup>(<cache>(`test`.`t2`.`a`) in t1 on a where (`test`.`t1`.`b` <> 30))))
+Note 1003 select `test`.`t2`.`a` AS `a` from `test`.`t2` where <in_optimizer>(`test`.`t2`.`a`,<exists>(<index_lookup>(<cache>(`test`.`t2`.`a`) in t1 on a where ((`test`.`t1`.`b` <> 30) and (<cache>(`test`.`t2`.`a`) = `test`.`t1`.`a`)))))
drop table t1, t2, t3;
create table t1 (a int, b int);
create table t2 (a int, b int);
@@ -1482,7 +1481,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra
1 PRIMARY t1 index NULL s1 6 NULL 3 100.00 Using index
2 DEPENDENT SUBQUERY t2 index_subquery s1 s1 6 func 2 100.00 Using index; Using where; Full scan on NULL key
Warnings:
-Note 1003 select `test`.`t1`.`s1` AS `s1`,(not(<in_optimizer>(`test`.`t1`.`s1`,<exists>(<index_lookup>(<cache>(`test`.`t1`.`s1`) in t2 on s1 checking NULL where (`test`.`t2`.`s1` < _latin1'a2') having trigcond(<is_not_null_test>(`test`.`t2`.`s1`))))))) AS `s1 NOT IN (SELECT s1 FROM t2 WHERE s1 < 'a2')` from `test`.`t1`
+Note 1003 select `test`.`t1`.`s1` AS `s1`,(not(<in_optimizer>(`test`.`t1`.`s1`,<exists>(<index_lookup>(<cache>(`test`.`t1`.`s1`) in t2 on s1 checking NULL where (`test`.`t2`.`s1` < 'a2') having trigcond(<is_not_null_test>(`test`.`t2`.`s1`))))))) AS `s1 NOT IN (SELECT s1 FROM t2 WHERE s1 < 'a2')` from `test`.`t1`
drop table t1,t2;
create table t2 (a int, b int);
create table t3 (a int);
@@ -1737,7 +1736,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra
1 PRIMARY t1 ALL NULL NULL NULL NULL 12 100.00 Using where
2 DEPENDENT SUBQUERY t1 unique_subquery PRIMARY PRIMARY 4 func 1 100.00 Using index; Using where
Warnings:
-Note 1003 select `test`.`t1`.`id` AS `id`,`test`.`t1`.`text` AS `text` from `test`.`t1` where (not(<in_optimizer>(`test`.`t1`.`id`,<exists>(<primary_index_lookup>(<cache>(`test`.`t1`.`id`) in t1 on PRIMARY where (`test`.`t1`.`id` < 8))))))
+Note 1003 select `test`.`t1`.`id` AS `id`,`test`.`t1`.`text` AS `text` from `test`.`t1` where (not(<in_optimizer>(`test`.`t1`.`id`,<exists>(<primary_index_lookup>(<cache>(`test`.`t1`.`id`) in t1 on PRIMARY where ((`test`.`t1`.`id` < 8) and (<cache>(`test`.`t1`.`id`) = `test`.`t1`.`id`)))))))
explain extended select * from t1 as tt where not exists (select id from t1 where id < 8 and (id = tt.id or id is null) having id is not null);
id select_type table type possible_keys key key_len ref rows filtered Extra
1 PRIMARY tt ALL NULL NULL NULL NULL 12 100.00 Using where
@@ -2304,24 +2303,27 @@ drop table t1,t2;
CREATE TABLE t1 ( a int, b int );
CREATE TABLE t2 ( c int, d int );
INSERT INTO t1 VALUES (1,2), (2,3), (3,4);
-SELECT a AS abc, b FROM t1 WHERE b = (SELECT MIN(b) FROM t1 WHERE a=abc);
+SELECT a AS abc, b FROM t1 outr WHERE b =
+(SELECT MIN(b) FROM t1 WHERE a=outr.a);
abc b
1 2
2 3
3 4
-INSERT INTO t2 SELECT a AS abc, b FROM t1 WHERE b = (SELECT MIN(b) FROM t1 WHERE a=abc);
+INSERT INTO t2 SELECT a AS abc, b FROM t1 outr WHERE b =
+(SELECT MIN(b) FROM t1 WHERE a=outr.a);
select * from t2;
c d
1 2
2 3
3 4
-CREATE TABLE t3 SELECT a AS abc, b FROM t1 WHERE b = (SELECT MIN(b) FROM t1 WHERE a=abc);
+CREATE TABLE t3 SELECT a AS abc, b FROM t1 outr WHERE b =
+(SELECT MIN(b) FROM t1 WHERE a=outr.a);
select * from t3;
abc b
1 2
2 3
3 4
-prepare stmt1 from "INSERT INTO t2 SELECT a AS abc, b FROM t1 WHERE b = (SELECT MIN(b) FROM t1 WHERE a=abc);";
+prepare stmt1 from "INSERT INTO t2 SELECT a AS abc, b FROM t1 outr WHERE b = (SELECT MIN(b) FROM t1 WHERE a=outr.a);";
execute stmt1;
deallocate prepare stmt1;
select * from t2;
@@ -2333,7 +2335,7 @@ c d
2 3
3 4
drop table t3;
-prepare stmt1 from "CREATE TABLE t3 SELECT a AS abc, b FROM t1 WHERE b = (SELECT MIN(b) FROM t1 WHERE a=abc);";
+prepare stmt1 from "CREATE TABLE t3 SELECT a AS abc, b FROM t1 outr WHERE b = (SELECT MIN(b) FROM t1 WHERE a=outr.a);";
execute stmt1;
select * from t3;
abc b
@@ -2515,7 +2517,9 @@ INSERT INTO t1 VALUES ('ASM','American Samoa','Oceania','Polynesia',199.00,0,680
INSERT INTO t1 VALUES ('ATF','French Southern territories','Antarctica','Antarctica',7780.00,0,0,NULL,0.00,NULL,'Terres australes françaises','Nonmetropolitan Territory of France','Jacques Chirac',NULL,'TF');
INSERT INTO t1 VALUES ('UMI','United States Minor Outlying Islands','Oceania','Micronesia/Caribbean',16.00,0,0,NULL,0.00,NULL,'United States Minor Outlying Islands','Dependent Territory of the US','George W. Bush',NULL,'UM');
/*!40000 ALTER TABLE t1 ENABLE KEYS */;
-SELECT DISTINCT Continent AS c FROM t1 WHERE Code <> SOME ( SELECT Code FROM t1 WHERE Continent = c AND Population < 200);
+SELECT DISTINCT Continent AS c FROM t1 outr WHERE
+Code <> SOME ( SELECT Code FROM t1 WHERE Continent = outr.Continent AND
+Population < 200);
c
Oceania
drop table t1;
@@ -2816,19 +2820,19 @@ id select_type table type possible_keys key key_len ref rows filtered Extra
1 PRIMARY t1 ALL NULL NULL NULL NULL 8 100.00
2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 9 100.00 Using where
Warnings:
-Note 1003 select `test`.`t1`.`one` AS `one`,`test`.`t1`.`two` AS `two`,<in_optimizer>((`test`.`t1`.`one`,`test`.`t1`.`two`),<exists>(select `test`.`t2`.`one` AS `one`,`test`.`t2`.`two` AS `two` from `test`.`t2` where ((`test`.`t2`.`flag` = _latin1'0') and trigcond(((<cache>(`test`.`t1`.`one`) = `test`.`t2`.`one`) or isnull(`test`.`t2`.`one`))) and trigcond(((<cache>(`test`.`t1`.`two`) = `test`.`t2`.`two`) or isnull(`test`.`t2`.`two`)))) having (trigcond(<is_not_null_test>(`test`.`t2`.`one`)) and trigcond(<is_not_null_test>(`test`.`t2`.`two`))))) AS `test` from `test`.`t1`
+Note 1003 select `test`.`t1`.`one` AS `one`,`test`.`t1`.`two` AS `two`,<in_optimizer>((`test`.`t1`.`one`,`test`.`t1`.`two`),<exists>(select `test`.`t2`.`one` AS `one`,`test`.`t2`.`two` AS `two` from `test`.`t2` where ((`test`.`t2`.`flag` = '0') and trigcond(((<cache>(`test`.`t1`.`one`) = `test`.`t2`.`one`) or isnull(`test`.`t2`.`one`))) and trigcond(((<cache>(`test`.`t1`.`two`) = `test`.`t2`.`two`) or isnull(`test`.`t2`.`two`)))) having (trigcond(<is_not_null_test>(`test`.`t2`.`one`)) and trigcond(<is_not_null_test>(`test`.`t2`.`two`))))) AS `test` from `test`.`t1`
explain extended SELECT one,two from t1 where ROW(one,two) IN (SELECT one,two FROM t2 WHERE flag = 'N');
id select_type table type possible_keys key key_len ref rows filtered Extra
1 PRIMARY t1 ALL NULL NULL NULL NULL 8 100.00 Using where
2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 9 100.00 Using where
Warnings:
-Note 1003 select `test`.`t1`.`one` AS `one`,`test`.`t1`.`two` AS `two` from `test`.`t1` where <in_optimizer>((`test`.`t1`.`one`,`test`.`t1`.`two`),<exists>(select `test`.`t2`.`one` AS `one`,`test`.`t2`.`two` AS `two` from `test`.`t2` where ((`test`.`t2`.`flag` = _latin1'N') and (<cache>(`test`.`t1`.`one`) = `test`.`t2`.`one`) and (<cache>(`test`.`t1`.`two`) = `test`.`t2`.`two`))))
+Note 1003 select `test`.`t1`.`one` AS `one`,`test`.`t1`.`two` AS `two` from `test`.`t1` where <in_optimizer>((`test`.`t1`.`one`,`test`.`t1`.`two`),<exists>(select `test`.`t2`.`one` AS `one`,`test`.`t2`.`two` AS `two` from `test`.`t2` where ((`test`.`t2`.`flag` = 'N') and (<cache>(`test`.`t1`.`one`) = `test`.`t2`.`one`) and (<cache>(`test`.`t1`.`two`) = `test`.`t2`.`two`))))
explain extended SELECT one,two,ROW(one,two) IN (SELECT one,two FROM t2 WHERE flag = '0' group by one,two) as 'test' from t1;
id select_type table type possible_keys key key_len ref rows filtered Extra
1 PRIMARY t1 ALL NULL NULL NULL NULL 8 100.00
2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 9 100.00 Using where; Using temporary; Using filesort
Warnings:
-Note 1003 select `test`.`t1`.`one` AS `one`,`test`.`t1`.`two` AS `two`,<in_optimizer>((`test`.`t1`.`one`,`test`.`t1`.`two`),<exists>(select `test`.`t2`.`one` AS `one`,`test`.`t2`.`two` AS `two` from `test`.`t2` where (`test`.`t2`.`flag` = _latin1'0') group by `test`.`t2`.`one`,`test`.`t2`.`two` having (trigcond(((<cache>(`test`.`t1`.`one`) = `test`.`t2`.`one`) or isnull(`test`.`t2`.`one`))) and trigcond(((<cache>(`test`.`t1`.`two`) = `test`.`t2`.`two`) or isnull(`test`.`t2`.`two`))) and trigcond(<is_not_null_test>(`test`.`t2`.`one`)) and trigcond(<is_not_null_test>(`test`.`t2`.`two`))))) AS `test` from `test`.`t1`
+Note 1003 select `test`.`t1`.`one` AS `one`,`test`.`t1`.`two` AS `two`,<in_optimizer>((`test`.`t1`.`one`,`test`.`t1`.`two`),<exists>(select `test`.`t2`.`one` AS `one`,`test`.`t2`.`two` AS `two` from `test`.`t2` where (`test`.`t2`.`flag` = '0') group by `test`.`t2`.`one`,`test`.`t2`.`two` having (trigcond(((<cache>(`test`.`t1`.`one`) = `test`.`t2`.`one`) or isnull(`test`.`t2`.`one`))) and trigcond(((<cache>(`test`.`t1`.`two`) = `test`.`t2`.`two`) or isnull(`test`.`t2`.`two`))) and trigcond(<is_not_null_test>(`test`.`t2`.`one`)) and trigcond(<is_not_null_test>(`test`.`t2`.`two`))))) AS `test` from `test`.`t1`
DROP TABLE t1,t2;
CREATE TABLE t1 (a char(5), b char(5));
INSERT INTO t1 VALUES (NULL,'aaa'), ('aaa','aaa');
@@ -3419,7 +3423,7 @@ EXPLAIN
SELECT * FROM t1 WHERE (a,b) = ANY (SELECT a, max(b) FROM t1 GROUP BY a);
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY t1 ALL NULL NULL NULL NULL 9 Using where
-2 DEPENDENT SUBQUERY t1 index NULL a 8 NULL 9 Using filesort
+2 DEPENDENT SUBQUERY t1 index NULL a 8 NULL 1 Using filesort
DROP TABLE t1;
create table t1( f1 int,f2 int);
insert into t1 values (1,1),(2,2);
@@ -3558,22 +3562,19 @@ SELECT sql_no_cache * FROM t1 WHERE NOT EXISTS
(SELECT i FROM t1) UNION
(SELECT i FROM t1)
);
-i
+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 'UNION
+(SELECT i FROM t1)
+)' at line 3
SELECT * FROM t1
WHERE NOT EXISTS (((SELECT i FROM t1) UNION (SELECT i FROM t1)));
-i
+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 'UNION (SELECT i FROM t1)))' at line 2
explain select ((select t11.i from t1 t11) union (select t12.i from t1 t12))
from 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 'union (select t12.i from t1 t12))
from t1' at line 1
explain select * from t1 where not exists
((select t11.i from t1 t11) union (select t12.i from t1 t12));
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t1 system NULL NULL NULL NULL 0 const row not found
-2 SUBQUERY NULL NULL NULL NULL NULL NULL NULL No tables used
-3 SUBQUERY NULL NULL NULL NULL NULL NULL NULL no matching row in const table
-4 UNION t12 system NULL NULL NULL NULL 0 const row not found
-NULL UNION RESULT <union2,4> ALL NULL NULL NULL NULL NULL
+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 'union (select t12.i from t1 t12))' at line 2
DROP TABLE t1;
CREATE TABLE t1 (a VARCHAR(250), b INT auto_increment, PRIMARY KEY (b));
insert into t1 (a) values (FLOOR(rand() * 100));
@@ -3666,6 +3667,8 @@ CREATE TABLE t1 (a int, b int auto_increment, PRIMARY KEY (b));
CREATE TABLE t2 (x int auto_increment, y int, z int,
PRIMARY KEY (x), FOREIGN KEY (y) REFERENCES t1 (b));
SET SESSION sort_buffer_size = 32 * 1024;
+Warnings:
+Warning 1292 Truncated incorrect sort_buffer_size value: '32768'
SELECT SQL_NO_CACHE COUNT(*)
FROM (SELECT a, b, (SELECT x FROM t2 WHERE y=b ORDER BY z DESC LIMIT 1) c
FROM t1) t;
@@ -4101,6 +4104,8 @@ INSERT INTO `t1` VALUES ('asdf','2007-02-08 01:11:26');
INSERT INTO `t2` VALUES ('abcdefghijk');
INSERT INTO `t2` VALUES ('asdf');
SET session sort_buffer_size=8192;
+Warnings:
+Warning 1292 Truncated incorrect sort_buffer_size value: '8192'
SELECT (SELECT 1 FROM t1 WHERE t1.a=t2.a ORDER BY t1.b LIMIT 1) AS d1 FROM t2;
d1
1
@@ -4139,6 +4144,236 @@ SELECT (SELECT SUM(t1.a) FROM t2 WHERE a=1) FROM t1;
(SELECT SUM(t1.a) FROM t2 WHERE a=1)
3
DROP TABLE t1,t2;
+CREATE TABLE t1 (a1 INT, a2 INT);
+CREATE TABLE t2 (b1 INT, b2 INT);
+INSERT INTO t1 VALUES (100, 200);
+INSERT INTO t1 VALUES (101, 201);
+INSERT INTO t2 VALUES (101, 201);
+INSERT INTO t2 VALUES (103, 203);
+SELECT ((a1,a2) IN (SELECT * FROM t2 WHERE b2 > 0)) IS NULL FROM t1;
+((a1,a2) IN (SELECT * FROM t2 WHERE b2 > 0)) IS NULL
+0
+0
+DROP TABLE t1, t2;
+create table t1(a int,b int,key(a),key(b));
+insert into t1(a,b) values (1,2),(2,1),(2,3),(3,4),(5,4),(5,5),
+(6,7),(7,4),(5,3);
+5
+4
+3
+2
+1
+26
+25
+24
+23
+22
+21
+20
+19
+18
+17
+16
+15
+14
+13
+12
+11
+10
+9
+8
+7
+6
+5
+4
+3
+2
+1
+drop table t1;
+CREATE TABLE t1 (s1 BINARY(5), s2 VARBINARY(5));
+INSERT INTO t1 VALUES (0x41,0x41), (0x42,0x42), (0x43,0x43);
+SELECT s1, s2 FROM t1 WHERE s2 IN (SELECT s1 FROM t1);
+s1 s2
+SELECT s1, s2 FROM t1 WHERE (s2, 10) IN (SELECT s1, 10 FROM t1);
+s1 s2
+CREATE INDEX I1 ON t1 (s1);
+CREATE INDEX I2 ON t1 (s2);
+SELECT s1, s2 FROM t1 WHERE s2 IN (SELECT s1 FROM t1);
+s1 s2
+SELECT s1, s2 FROM t1 WHERE (s2, 10) IN (SELECT s1, 10 FROM t1);
+s1 s2
+TRUNCATE t1;
+INSERT INTO t1 VALUES (0x41,0x41);
+SELECT * FROM t1 WHERE s1 = (SELECT s2 FROM t1);
+s1 s2
+DROP TABLE t1;
+CREATE TABLE t1 (a1 VARBINARY(2) NOT NULL DEFAULT '0', PRIMARY KEY (a1));
+CREATE TABLE t2 (a2 BINARY(2) default '0', INDEX (a2));
+CREATE TABLE t3 (a3 BINARY(2) default '0');
+INSERT INTO t1 VALUES (1),(2),(3),(4);
+INSERT INTO t2 VALUES (1),(2),(3);
+INSERT INTO t3 VALUES (1),(2),(3);
+SELECT LEFT(t2.a2, 1) FROM t2,t3 WHERE t3.a3=t2.a2;
+LEFT(t2.a2, 1)
+1
+2
+3
+SELECT t1.a1, t1.a1 in (SELECT t2.a2 FROM t2,t3 WHERE t3.a3=t2.a2) FROM t1;
+a1 t1.a1 in (SELECT t2.a2 FROM t2,t3 WHERE t3.a3=t2.a2)
+1 0
+2 0
+3 0
+4 0
+DROP TABLE t1,t2,t3;
+CREATE TABLE t1 (a1 BINARY(3) PRIMARY KEY, b1 VARBINARY(3));
+CREATE TABLE t2 (a2 VARBINARY(3) PRIMARY KEY);
+CREATE TABLE t3 (a3 VARBINARY(3) PRIMARY KEY);
+INSERT INTO t1 VALUES (1,10), (2,20), (3,30), (4,40);
+INSERT INTO t2 VALUES (2), (3), (4), (5);
+INSERT INTO t3 VALUES (10), (20), (30);
+SELECT LEFT(t1.a1,1) FROM t1,t3 WHERE t1.b1=t3.a3;
+LEFT(t1.a1,1)
+1
+2
+3
+SELECT a2 FROM t2 WHERE t2.a2 IN (SELECT t1.a1 FROM t1,t3 WHERE t1.b1=t3.a3);
+a2
+DROP TABLE t1, t2, t3;
+CREATE TABLE t1 (a CHAR(1), b VARCHAR(10));
+INSERT INTO t1 VALUES ('a', 'aa');
+INSERT INTO t1 VALUES ('a', 'aaa');
+SELECT a,b FROM t1 WHERE b IN (SELECT a FROM t1);
+a b
+CREATE INDEX I1 ON t1 (a);
+CREATE INDEX I2 ON t1 (b);
+EXPLAIN SELECT a,b FROM t1 WHERE b IN (SELECT a FROM t1);
+id select_type table type possible_keys key key_len ref rows Extra
+1 PRIMARY t1 ALL NULL NULL NULL NULL 2 Using where
+2 DEPENDENT SUBQUERY t1 index_subquery I1 I1 2 func 2 Using index; Using where
+SELECT a,b FROM t1 WHERE b IN (SELECT a FROM t1);
+a b
+CREATE TABLE t2 (a VARCHAR(1), b VARCHAR(10));
+INSERT INTO t2 SELECT * FROM t1;
+CREATE INDEX I1 ON t2 (a);
+CREATE INDEX I2 ON t2 (b);
+EXPLAIN SELECT a,b FROM t2 WHERE b IN (SELECT a FROM t2);
+id select_type table type possible_keys key key_len ref rows Extra
+1 PRIMARY t2 ALL NULL NULL NULL NULL 2 Using where
+2 DEPENDENT SUBQUERY t2 index_subquery I1 I1 4 func 2 Using index; Using where
+SELECT a,b FROM t2 WHERE b IN (SELECT a FROM t2);
+a b
+EXPLAIN
+SELECT a,b FROM t1 WHERE b IN (SELECT a FROM t1 WHERE LENGTH(a)<500);
+id select_type table type possible_keys key key_len ref rows Extra
+1 PRIMARY t1 ALL NULL NULL NULL NULL 2 Using where
+2 DEPENDENT SUBQUERY t1 index_subquery I1 I1 2 func 2 Using index; Using where
+SELECT a,b FROM t1 WHERE b IN (SELECT a FROM t1 WHERE LENGTH(a)<500);
+a b
+DROP TABLE t1,t2;
+CREATE TABLE t1(a INT, b INT);
+INSERT INTO t1 VALUES (1,1), (1,2), (2,3), (2,4);
+EXPLAIN
+SELECT a AS out_a, MIN(b) FROM t1
+WHERE b > (SELECT MIN(b) FROM t1 WHERE a = out_a)
+GROUP BY a;
+ERROR 42S22: Unknown column 'out_a' in 'where clause'
+SELECT a AS out_a, MIN(b) FROM t1
+WHERE b > (SELECT MIN(b) FROM t1 WHERE a = out_a)
+GROUP BY a;
+ERROR 42S22: Unknown column 'out_a' in 'where clause'
+EXPLAIN
+SELECT a AS out_a, MIN(b) FROM t1 t1_outer
+WHERE b > (SELECT MIN(b) FROM t1 WHERE a = t1_outer.a)
+GROUP BY a;
+id select_type table type possible_keys key key_len ref rows Extra
+1 PRIMARY t1_outer ALL NULL NULL NULL NULL 4 Using where; Using temporary; Using filesort
+2 DEPENDENT SUBQUERY t1 ALL NULL NULL NULL NULL 4 Using where
+SELECT a AS out_a, MIN(b) FROM t1 t1_outer
+WHERE b > (SELECT MIN(b) FROM t1 WHERE a = t1_outer.a)
+GROUP BY a;
+out_a MIN(b)
+1 2
+2 4
+DROP TABLE t1;
+CREATE TABLE t1 (a INT);
+CREATE TABLE t2 (a INT);
+INSERT INTO t1 VALUES (1),(2);
+INSERT INTO t2 VALUES (1),(2);
+SELECT 2 FROM t1 WHERE EXISTS ((SELECT 1 FROM t2 WHERE t1.a=t2.a));
+2
+2
+2
+EXPLAIN EXTENDED
+SELECT 2 FROM t1 WHERE EXISTS ((SELECT 1 FROM t2 WHERE t1.a=t2.a));
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 PRIMARY t1 ALL NULL NULL NULL NULL 2 100.00 Using where
+2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 2 100.00 Using where
+Warnings:
+Note 1276 Field or reference 'test.t1.a' of SELECT #2 was resolved in SELECT #1
+Note 1003 select 2 AS `2` from `test`.`t1` where exists(select 1 AS `1` from `test`.`t2` where (`test`.`t1`.`a` = `test`.`t2`.`a`))
+EXPLAIN EXTENDED
+SELECT 2 FROM t1 WHERE EXISTS ((SELECT 1 FROM t2 WHERE t1.a=t2.a) UNION
+(SELECT 1 FROM t2 WHERE t1.a = t2.a));
+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 'UNION
+(SELECT 1 FROM t2 WHERE t1.a = t2.a))' at line 2
+DROP TABLE t1,t2;
+create table t1(f11 int, f12 int);
+create table t2(f21 int unsigned not null, f22 int, f23 varchar(10));
+insert into t1 values(1,1),(2,2), (3, 3);
+set session sort_buffer_size= 33*1024;
+select count(*) from t1 where f12 =
+(select f22 from t2 where f22 = f12 order by f21 desc, f22, f23 limit 1);
+count(*)
+3
+drop table t1,t2;
+CREATE TABLE t4 (
+f7 varchar(32) collate utf8_bin NOT NULL default '',
+f10 varchar(32) collate utf8_bin default NULL,
+PRIMARY KEY (f7)
+);
+INSERT INTO t4 VALUES(1,1), (2,null);
+CREATE TABLE t2 (
+f4 varchar(32) collate utf8_bin NOT NULL default '',
+f2 varchar(50) collate utf8_bin default NULL,
+f3 varchar(10) collate utf8_bin default NULL,
+PRIMARY KEY (f4),
+UNIQUE KEY uk1 (f2)
+);
+INSERT INTO t2 VALUES(1,1,null), (2,2,null);
+CREATE TABLE t1 (
+f8 varchar(32) collate utf8_bin NOT NULL default '',
+f1 varchar(10) collate utf8_bin default NULL,
+f9 varchar(32) collate utf8_bin default NULL,
+PRIMARY KEY (f8)
+);
+INSERT INTO t1 VALUES (1,'P',1), (2,'P',1), (3,'R',2);
+CREATE TABLE t3 (
+f6 varchar(32) collate utf8_bin NOT NULL default '',
+f5 varchar(50) collate utf8_bin default NULL,
+PRIMARY KEY (f6)
+);
+INSERT INTO t3 VALUES (1,null), (2,null);
+SELECT
+IF(t1.f1 = 'R', a1.f2, t2.f2) AS a4,
+IF(t1.f1 = 'R', a1.f3, t2.f3) AS f3,
+SUM(
+IF(
+(SELECT VPC.f2
+FROM t2 VPC, t4 a2, t2 a3
+WHERE
+VPC.f4 = a2.f10 AND a3.f2 = a4
+LIMIT 1) IS NULL,
+0,
+t3.f5
+)
+) AS a6
+FROM
+t2, t3, t1 JOIN t2 a1 ON t1.f9 = a1.f4
+GROUP BY a4;
+a4 f3 a6
+1 NULL NULL
+2 NULL NULL
+DROP TABLE t1, t2, t3, t4;
End of 5.0 tests.
CREATE TABLE t1 (a int, b int);
INSERT INTO t1 VALUES (2,22),(1,11),(2,22);
diff --git a/mysql-test/r/subselect3.result b/mysql-test/r/subselect3.result
index 2f3ea31a2a4..ac492caf89a 100644
--- a/mysql-test/r/subselect3.result
+++ b/mysql-test/r/subselect3.result
@@ -757,6 +757,6 @@ a
EXPLAIN SELECT a FROM t1 WHERE a NOT IN (SELECT a FROM t2);
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY t1 ALL NULL NULL NULL NULL 4 Using where
-2 DEPENDENT SUBQUERY t2 unique_subquery PRIMARY PRIMARY 4 func 1 Using index
+2 DEPENDENT SUBQUERY t2 unique_subquery PRIMARY PRIMARY 4 func 1 Using index; Using where
DROP TABLE t1;
End of 5.0 tests
diff --git a/mysql-test/r/subselect_notembedded.result b/mysql-test/r/subselect_notembedded.result
index 44ae055425e..90aadcae398 100644
--- a/mysql-test/r/subselect_notembedded.result
+++ b/mysql-test/r/subselect_notembedded.result
@@ -1,3 +1,104 @@
purge master logs before (select adddate(current_timestamp(), interval -4 day));
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 adddate(current_timestamp(), interval -4 day))' at line 1
purge master logs before adddate(current_timestamp(), interval -4 day);
+create table t1(a int,b int,key(a),key(b));
+insert into t1(a,b) values (1,2),(2,1),(2,3),(3,4),(5,4),(5,5),
+(6,7),(7,4),(5,3);
+select sum(a),a from t1 where a> (
+select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+select sum(a) from t1 where a> ( select sum(a) from t1
+)group by b limit 1)group by b limit 1
+)group by b limit 1)group by b limit 1)group by b limit 1
+)group by b limit 1)group by b limit 1)group by b limit 1
+)group by b limit 1)group by b limit 1)group by b limit 1)
+group by a;
+sum(a) a
+select sum(a),a from t1 where a> (
+select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+select sum(a) from t1
+)group by b limit 1)group by b limit 1)group by b limit 1
+)group by b limit 1)group by b limit 1)group by b limit 1
+)group by b limit 1)group by b limit 1)group by b limit 1
+)group by b limit 1)group by b limit 1)group by b limit 1
+)group by b limit 1)group by b limit 1)group by b limit 1
+)group by b limit 1)group by b limit 1)group by b limit 1
+)group by b limit 1)group by b limit 1)group by b limit 1
+)group by b limit 1)group by b limit 1)group by b limit 1
+)group by b limit 1)group by b limit 1)group by b limit 1
+)group by b limit 1)group by b limit 1)group by b limit 1)
+group by a;
+ERROR HY000: Thread stack overrun detected
+explain select sum(a),a from t1 where a> (
+select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+select sum(a) from t1 where a> ( select sum(a) from t1
+)group by b limit 1)group by b limit 1
+)group by b limit 1)group by b limit 1)group by b limit 1
+)group by b limit 1)group by b limit 1)group by b limit 1
+)group by b limit 1)group by b limit 1)group by b limit 1)
+group by a;
+id select_type table type possible_keys key key_len ref rows Extra
+1 PRIMARY t1 index a a 5 NULL 9 Using where; Using index
+2 SUBQUERY t1 index a b 5 NULL 9 Using where; Using filesort
+3 SUBQUERY t1 index a b 5 NULL 9 Using where; Using filesort
+4 SUBQUERY t1 index a b 5 NULL 9 Using where; Using filesort
+5 SUBQUERY t1 index a b 5 NULL 9 Using where; Using filesort
+6 SUBQUERY t1 index a b 5 NULL 9 Using where; Using filesort
+7 SUBQUERY t1 index a b 5 NULL 9 Using where; Using filesort
+8 SUBQUERY t1 index a b 5 NULL 9 Using where; Using filesort
+9 SUBQUERY t1 index a b 5 NULL 9 Using where; Using filesort
+10 SUBQUERY t1 index a b 5 NULL 9 Using where; Using filesort
+11 SUBQUERY t1 index a b 5 NULL 9 Using where; Using filesort
+12 SUBQUERY t1 range a a 5 NULL 1 Using where; Using temporary; Using filesort
+13 SUBQUERY t1 index NULL a 5 NULL 9 Using index
+explain select sum(a),a from t1 where a> (
+select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+select sum(a) from t1
+)group by b limit 1)group by b limit 1)group by b limit 1
+)group by b limit 1)group by b limit 1)group by b limit 1
+)group by b limit 1)group by b limit 1)group by b limit 1
+)group by b limit 1)group by b limit 1)group by b limit 1
+)group by b limit 1)group by b limit 1)group by b limit 1
+)group by b limit 1)group by b limit 1)group by b limit 1
+)group by b limit 1)group by b limit 1)group by b limit 1
+)group by b limit 1)group by b limit 1)group by b limit 1
+)group by b limit 1)group by b limit 1)group by b limit 1
+)group by b limit 1)group by b limit 1)group by b limit 1)
+group by a;
+ERROR HY000: Thread stack overrun detected
+drop table t1;
diff --git a/mysql-test/r/symlink.result b/mysql-test/r/symlink.result
index aba60f757c6..bda0d7d1451 100644
--- a/mysql-test/r/symlink.result
+++ b/mysql-test/r/symlink.result
@@ -22,6 +22,7 @@ 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";
insert into t9 select * from t1;
check table t9;
Table Op Msg_type Msg_text
@@ -54,10 +55,16 @@ t9 CREATE TABLE `t9` (
`d` int(11) NOT NULL,
PRIMARY KEY (`a`)
) ENGINE=MyISAM AUTO_INCREMENT=16725 DEFAULT CHARSET=latin1 DATA DIRECTORY='MYSQLTEST_VARDIR/tmp/' INDEX DIRECTORY='MYSQLTEST_VARDIR/run/'
+create table t1 (a int not null auto_increment, b char(16) not null, primary key (a)) engine=myisam data directory="tmp";
Got one of the listed errors
+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";
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="not-hard-path";
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";
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";
Got one of the listed errors
alter table t9 rename mysqltest.t9;
select count(*) from mysqltest.t9;
@@ -74,6 +81,7 @@ t9 CREATE TABLE `t9` (
) ENGINE=MyISAM AUTO_INCREMENT=16725 DEFAULT CHARSET=latin1 DATA DIRECTORY='MYSQLTEST_VARDIR/tmp/' INDEX DIRECTORY='MYSQLTEST_VARDIR/run/'
drop database mysqltest;
create table t1 (a int not null) engine=myisam;
+alter table t1 data directory="MYSQLTEST_VARDIR/tmp";
Warnings:
Warning 0 DATA DIRECTORY option ignored
show create table t1;
@@ -82,6 +90,7 @@ t1 CREATE TABLE `t1` (
`a` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
alter table t1 add b int;
+alter table t1 data directory="MYSQLTEST_VARDIR/log";
Warnings:
Warning 0 DATA DIRECTORY option ignored
show create table t1;
@@ -90,6 +99,7 @@ t1 CREATE TABLE `t1` (
`a` int(11) NOT NULL,
`b` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
+alter table t1 index directory="MYSQLTEST_VARDIR/log";
Warnings:
Warning 0 INDEX DIRECTORY option ignored
show create table t1;
@@ -99,23 +109,23 @@ t1 CREATE TABLE `t1` (
`b` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `i` int(11) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-drop table t1;
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `i` int(11) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-drop table t1;
+CREATE TABLE t1(a INT)
+DATA DIRECTORY='TEST_DIR/tmp'
+INDEX DIRECTORY='TEST_DIR/tmp';
+Got one of the listed errors
+CREATE TABLE t2(a INT)
+DATA DIRECTORY='TEST_DIR/tmp'
+INDEX DIRECTORY='TEST_DIR/tmp';
+RENAME TABLE t2 TO t1;
+ERROR HY000: Can't create/write to file 'TEST_DIR/tmp/t1.MYI' (Errcode: 17)
+DROP TABLE t2;
+create temporary table t1 (a int) engine=myisam data directory="MYSQLTEST_VARDIR/log" select 9 a;
show create table t1;
Table Create Table
t1 CREATE TEMPORARY TABLE `t1` (
`a` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='MYSQLTEST_VARDIR/log/'
+create temporary table t1 (a int) engine=myisam data directory="MYSQLTEST_VARDIR/log" select 99 a;
show create table t1;
Table Create Table
t1 CREATE TEMPORARY TABLE `t1` (
@@ -133,26 +143,33 @@ a
42
drop table t1;
End of 4.1 tests
-CREATE DATABASE db1;
-CREATE DATABASE db2;
-USE db2;
-INSERT INTO db2.t1 VALUES (1);
-SELECT * FROM db2.t1;
-b
-1
-RESET QUERY CACHE;
-USE db1;
SET SESSION keep_files_on_create = TRUE;
CREATE TABLE t1 (a INT) ENGINE MYISAM;
Got one of the listed errors
-CREATE TABLE t3 (a INT) Engine=MyISAM;
-INSERT INTO t3 VALUES (1),(2),(3);
-TRUNCATE TABLE t3;
-SELECT * from t3;
-a
-SET SESSION keep_files_on_create = DEFAULT;
-DROP TABLE db2.t1, db1.t3;
-DROP DATABASE db1;
-DROP DATABASE db2;
-USE test;
+SET SESSION keep_files_on_create = FALSE;
+CREATE TABLE t1 (a INT) ENGINE MYISAM;
+DROP TABLE t1;
End of 5.0 tests
+CREATE TABLE t1(a INT)
+INDEX DIRECTORY='TEST_DIR/master-data/mysql';
+ERROR HY000: Incorrect arguments to INDEX DIRECTORY
+CREATE TABLE t1(a INT)
+DATA DIRECTORY='TEST_DIR/master-data/test';
+ERROR HY000: Incorrect arguments to DATA DIRECTORY
+CREATE TABLE t1(a INT)
+DATA DIRECTORY='TEST_DIR/master-data/';
+ERROR HY000: Incorrect arguments to DATA DIRECTORY
+CREATE TABLE t1(a INT)
+INDEX DIRECTORY='TEST_DIR/master-data';
+ERROR HY000: Incorrect arguments to INDEX DIRECTORY
+CREATE TABLE t1(a INT)
+INDEX DIRECTORY='TEST_DIR/master-data_var';
+ERROR HY000: Can't create/write to file 'TEST_DIR/master-data_var/t1.MYI' (Errcode: 2)
+SET @OLD_SQL_MODE=@@SQL_MODE, @@SQL_MODE='NO_DIR_IN_CREATE';
+CREATE TABLE t1(a INT) DATA DIRECTORY='MYSQLTEST_VARDIR/tmp' INDEX DIRECTORY='MYSQLTEST_VARDIR/tmp';
+Warnings:
+Warning 0 DATA DIRECTORY option ignored
+Warning 0 INDEX DIRECTORY option ignored
+DROP TABLE t1;
+SET @@SQL_MODE=@OLD_SQL_MODE;
+End of 5.1 tests
diff --git a/mysql-test/r/system_mysql_db.result b/mysql-test/r/system_mysql_db.result
index 7696afdf06d..171b53ebf09 100644
--- a/mysql-test/r/system_mysql_db.result
+++ b/mysql-test/r/system_mysql_db.result
@@ -196,12 +196,12 @@ proc CREATE TABLE `proc` (
`is_deterministic` enum('YES','NO') NOT NULL DEFAULT 'NO',
`security_type` enum('INVOKER','DEFINER') NOT NULL DEFAULT 'DEFINER',
`param_list` blob NOT NULL,
- `returns` char(64) NOT NULL DEFAULT '',
+ `returns` longblob NOT NULL,
`body` longblob NOT NULL,
`definer` char(77) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
`created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`modified` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
- `sql_mode` set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE') NOT NULL DEFAULT '',
+ `sql_mode` set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE','NO_ENGINE_SUBSTITUTION','PAD_CHAR_TO_FULL_LENGTH') NOT NULL DEFAULT '',
`comment` char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
`character_set_client` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
`collation_connection` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
@@ -226,7 +226,7 @@ event CREATE TABLE `event` (
`ends` datetime DEFAULT NULL,
`status` enum('ENABLED','DISABLED','SLAVESIDE_DISABLED') NOT NULL DEFAULT 'ENABLED',
`on_completion` enum('DROP','PRESERVE') NOT NULL DEFAULT 'DROP',
- `sql_mode` set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE') NOT NULL DEFAULT '',
+ `sql_mode` set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE','NO_ENGINE_SUBSTITUTION','PAD_CHAR_TO_FULL_LENGTH') NOT NULL DEFAULT '',
`comment` char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
`originator` int(10) NOT NULL,
`time_zone` char(64) CHARACTER SET latin1 NOT NULL DEFAULT 'SYSTEM',
@@ -240,11 +240,11 @@ show create table general_log;
Table Create Table
general_log CREATE TABLE `general_log` (
`event_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- `user_host` mediumtext,
- `thread_id` int(11) DEFAULT NULL,
- `server_id` int(11) DEFAULT NULL,
- `command_type` varchar(64) DEFAULT NULL,
- `argument` mediumtext
+ `user_host` mediumtext NOT NULL,
+ `thread_id` int(11) NOT NULL,
+ `server_id` int(11) NOT NULL,
+ `command_type` varchar(64) NOT NULL,
+ `argument` mediumtext NOT NULL
) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='General log'
show create table slow_log;
Table Create Table
@@ -255,10 +255,10 @@ slow_log CREATE TABLE `slow_log` (
`lock_time` time NOT NULL,
`rows_sent` int(11) NOT NULL,
`rows_examined` int(11) NOT NULL,
- `db` varchar(512) DEFAULT NULL,
- `last_insert_id` int(11) DEFAULT NULL,
- `insert_id` int(11) DEFAULT NULL,
- `server_id` int(11) DEFAULT NULL,
+ `db` varchar(512) NOT NULL,
+ `last_insert_id` int(11) NOT NULL,
+ `insert_id` int(11) NOT NULL,
+ `server_id` int(11) NOT NULL,
`sql_text` mediumtext NOT NULL
) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='Slow log'
show tables;
diff --git a/mysql-test/r/tablelock.result b/mysql-test/r/tablelock.result
index 2ffd8f928a9..6923ad40916 100644
--- a/mysql-test/r/tablelock.result
+++ b/mysql-test/r/tablelock.result
@@ -46,3 +46,12 @@ CREATE TABLE t2 (a int);
lock tables t1 write,t1 as b write, t2 write, t2 as c read;
drop table t2,t1;
unlock tables;
+create temporary table t1(f1 int);
+lock tables t1 write;
+insert into t1 values (1);
+show columns from t1;
+Field Type Null Key Default Extra
+f1 int(11) YES NULL
+insert into t1 values(2);
+drop table t1;
+unlock tables;
diff --git a/mysql-test/r/temp_table.result b/mysql-test/r/temp_table.result
index 46724de4281..1c846700346 100644
--- a/mysql-test/r/temp_table.result
+++ b/mysql-test/r/temp_table.result
@@ -112,7 +112,7 @@ v1 CREATE TEMPORARY TABLE `v1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
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 _latin1'This is view' AS `A` latin1 latin1_swedish_ci
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select 'This is view' AS `A` latin1 latin1_swedish_ci
drop view v1;
select * from v1;
A
diff --git a/mysql-test/r/trigger-trans.result b/mysql-test/r/trigger-trans.result
index cd5f629564f..dccaa27c5fd 100644
--- a/mysql-test/r/trigger-trans.result
+++ b/mysql-test/r/trigger-trans.result
@@ -140,4 +140,23 @@ select * from t3;
c
1
drop table t1, t2, t3;
+DROP TABLE IF EXISTS t1;
+DROP TABLE IF EXISTS t2;
+CREATE TABLE t1(a INT PRIMARY KEY) ENGINE=innodb;
+CREATE TABLE t2(b INT, FOREIGN KEY(b) REFERENCES t1(a)) ENGINE=innodb;
+INSERT INTO t1 VALUES (1);
+CREATE TRIGGER t1_bd BEFORE DELETE ON t1 FOR EACH ROW SET @a = 1;
+CREATE TRIGGER t1_ad AFTER DELETE ON t1 FOR EACH ROW SET @b = 1;
+SET @a = 0;
+SET @b = 0;
+TRUNCATE t1;
+SELECT @a, @b;
+@a @b
+0 0
+INSERT INTO t1 VALUES (1);
+DELETE FROM t1;
+SELECT @a, @b;
+@a @b
+1 1
+DROP TABLE t2, t1;
End of 5.0 tests
diff --git a/mysql-test/r/trigger.result b/mysql-test/r/trigger.result
index 189722bfe9b..e7f5c41513b 100644
--- a/mysql-test/r/trigger.result
+++ b/mysql-test/r/trigger.result
@@ -1978,3 +1978,80 @@ a
1
drop table table_25411_a;
drop table table_25411_b;
+DROP TRIGGER IF EXISTS trg;
+SHOW CREATE TRIGGER trg;
+ERROR HY000: Trigger does not exist
+drop table if exists t1;
+create table t1 (i int, j int);
+create trigger t1_bi before insert on t1 for each row begin end;
+create trigger t1_bi before insert on t1 for each row begin end;
+ERROR 42000: This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table'
+drop trigger t1_bi;
+drop trigger t1_bi;
+ERROR HY000: Trigger does not exist
+lock tables t1 read;
+create trigger t1_bi before insert on t1 for each row begin end;
+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 begin end;
+ERROR HY000: Table 't1' was locked with a READ lock and can't be updated
+drop trigger t1_bi;
+ERROR HY000: Trigger does not exist
+unlock tables;
+create trigger t1_bi before insert on t1 for each row begin end;
+lock tables t1 read;
+create trigger t1_bi before insert on t1 for each row begin end;
+ERROR HY000: Table 't1' was locked with a READ lock and can't be updated
+drop trigger t1_bi;
+ERROR HY000: Table 't1' was locked with a READ lock and can't be updated
+unlock tables;
+drop trigger t1_bi;
+lock tables t1 write;
+create trigger b1_bi before insert on t1 for each row set new.i = new.i + 10;
+insert into t1 values (10, 10);
+drop trigger b1_bi;
+insert into t1 values (10, 10);
+select * from t1;
+i j
+20 10
+10 10
+unlock tables;
+drop table t1;
+drop table if exists t1, t2;
+drop trigger if exists trg1;
+drop trigger if exists trg2;
+create table t1 (a int);
+create table t2 (b int);
+create trigger trg1 after update on t1 for each row set @a= @a+1;
+create trigger trg2 after update on t2 for each row set @b= @b+1;
+insert into t1 values (1), (2), (3);
+insert into t2 values (1), (2), (3);
+set @a= 0;
+set @b= 0;
+update t1, t2 set t1.a= t1.a, t2.b= t2.b;
+select @a, @b;
+@a @b
+3 3
+update t1, t2 set t1.a= t2.b, t2.b= t1.a;
+select @a, @b;
+@a @b
+6 6
+update t1 set a= a;
+select @a, @b;
+@a @b
+9 6
+update t2 set b= b;
+select @a, @b;
+@a @b
+9 9
+update t1 set a= 1;
+select @a, @b;
+@a @b
+12 9
+update t2 set b= 1;
+select @a, @b;
+@a @b
+12 12
+drop trigger trg1;
+drop trigger trg2;
+drop table t1, t2;
+End of 5.1 tests.
diff --git a/mysql-test/r/trigger-grant.result b/mysql-test/r/trigger_notembedded.result
index 14b8c98f2fa..1e13bff03b1 100644
--- a/mysql-test/r/trigger-grant.result
+++ b/mysql-test/r/trigger_notembedded.result
@@ -133,9 +133,9 @@ CREATE DEFINER='mysqltest_nonexs'@'localhost'
FOR EACH ROW
SET @new_sum = 0;
Warnings:
-Note 1449 There is no 'mysqltest_nonexs'@'localhost' registered
+Note 1449 The user specified as a definer ('mysqltest_nonexs'@'localhost') does not exist
INSERT INTO t1 VALUES(6);
-ERROR HY000: There is no 'mysqltest_nonexs'@'localhost' registered
+ERROR HY000: The user specified as a definer ('mysqltest_nonexs'@'localhost') does not exist
SHOW TRIGGERS;
Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
trg1 INSERT t1 SET @new_sum = 0 BEFORE NULL mysqltest_inv@localhost latin1 latin1_swedish_ci latin1_swedish_ci
@@ -448,3 +448,18 @@ DROP TABLE t1;
DROP DATABASE mysqltest_db1;
USE test;
End of 5.0 tests.
+drop table if exists t1;
+create table t1 (i int);
+connection: default
+lock tables t1 write;
+connection: flush
+flush tables with read lock;;
+connection: default
+create trigger t1_bi before insert on t1 for each row begin end;
+unlock tables;
+connection: flush
+unlock tables;
+select * from t1;
+i
+drop table t1;
+End of 5.1 tests.
diff --git a/mysql-test/r/type_binary.result b/mysql-test/r/type_binary.result
index 432c58272a2..00f4183aec3 100644
--- a/mysql-test/r/type_binary.result
+++ b/mysql-test/r/type_binary.result
@@ -125,6 +125,7 @@ create table t1 (c char(2), vc varchar(2));
insert into t1 values(0x4120, 0x4120);
insert into t1 values(0x412020, 0x412020);
Warnings:
+Note 1265 Data truncated for column 'c' at row 1
Note 1265 Data truncated for column 'vc' at row 1
drop table t1;
set @old_sql_mode= @@sql_mode, sql_mode= 'traditional';
diff --git a/mysql-test/r/type_bit.result b/mysql-test/r/type_bit.result
index 8d7843cc0b1..fee0df9ab02 100644
--- a/mysql-test/r/type_bit.result
+++ b/mysql-test/r/type_bit.result
@@ -269,6 +269,8 @@ a+0 b+0
56 379
68 454
set @@max_length_for_sort_data=0;
+Warnings:
+Warning 1292 Truncated incorrect max_length_for_sort_data value: '0'
select a+0, b+0 from t1 where a > 40 and a < 70 order by 2;
a+0 b+0
57 135
@@ -618,6 +620,70 @@ bit_field int_field
 2
handler t1 close;
drop table t1;
+CREATE TABLE t1 (b BIT(2), a VARCHAR(5));
+INSERT INTO t1 (b, a) VALUES (1, "x"), (3, "zz"), (0, "y"), (3, "z");
+SELECT b+0, COUNT(DISTINCT a) FROM t1 GROUP BY b;
+b+0 COUNT(DISTINCT a)
+0 1
+1 1
+3 2
+DROP TABLE t1;
+CREATE TABLE t1 (a CHAR(5), b BIT(2));
+INSERT INTO t1 (b, a) VALUES (1, "x"), (3, "zz"), (0, "y"), (3, "z");
+SELECT b+0, COUNT(DISTINCT a) FROM t1 GROUP BY b;
+b+0 COUNT(DISTINCT a)
+0 1
+1 1
+3 2
+DROP TABLE t1;
+CREATE TABLE t1 (a INT, b BIT(2));
+INSERT INTO t1 (b, a) VALUES (1, 1), (3, 2), (0, 3), (3, 4);
+SELECT b+0, COUNT(DISTINCT a) FROM t1 GROUP BY b;
+b+0 COUNT(DISTINCT a)
+0 1
+1 1
+3 2
+DROP TABLE t1;
+CREATE TABLE t1 (b BIT);
+INSERT INTO t1 (b) VALUES (1), (0);
+SELECT DISTINCT b FROM t1;
+Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
+def test t1 t1 b b 16 1 1 Y 32 0 63
+b
+#
+#
+SELECT b FROM t1 GROUP BY b;
+Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
+def test t1 t1 b b 16 1 1 Y 32 0 63
+b
+#
+#
+DROP TABLE t1;
+CREATE TABLE t1 (a int, b bit(2));
+INSERT INTO t1 VALUES (3, 2), (2, 3), (2, 0), (3, 2), (3, 1);
+SELECT COUNT(DISTINCT b) FROM t1 GROUP BY a;
+COUNT(DISTINCT b)
+2
+2
+DROP TABLE t1;
+create table t2 (a int, b bit(2), c char(10));
+INSERT INTO t2 VALUES (3, 2, 'two'), (2, 3, 'three'), (2, 0, 'zero'),
+(3, 2, 'two'), (3, 1, 'one');
+SELECT COUNT(DISTINCT b,c) FROM t2 GROUP BY a;
+COUNT(DISTINCT b,c)
+2
+2
+DROP TABLE t2;
+CREATE TABLE t1(a BIT(13), KEY(a));
+INSERT INTO t1(a) VALUES
+(65535),(65525),(65535),(65535),(65535),(65535),(65535),(65535),(65535),(65535);
+EXPLAIN SELECT 1 FROM t1 GROUP BY a;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 range NULL a 3 NULL 6 Using index for group-by
+SELECT 1 FROM t1 GROUP BY a;
+1
+1
+DROP TABLE t1;
End of 5.0 tests
create table t1(a bit(7));
insert into t1 values(0x40);
diff --git a/mysql-test/r/type_bit_innodb.result b/mysql-test/r/type_bit_innodb.result
index 97331408b40..a9c3cae1770 100644
--- a/mysql-test/r/type_bit_innodb.result
+++ b/mysql-test/r/type_bit_innodb.result
@@ -269,6 +269,8 @@ a+0 b+0
56 379
68 454
set @@max_length_for_sort_data=0;
+Warnings:
+Warning 1292 Truncated incorrect max_length_for_sort_data value: '0'
select a+0, b+0 from t1 where a > 40 and a < 70 order by 2;
a+0 b+0
57 135
diff --git a/mysql-test/r/type_blob.result b/mysql-test/r/type_blob.result
index 7a129a16de6..6337df13d03 100644
--- a/mysql-test/r/type_blob.result
+++ b/mysql-test/r/type_blob.result
@@ -519,7 +519,7 @@ coercibility(load_file('MYSQLTEST_VARDIR/std_data_ln/words.dat'));
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 charset(load_file(_latin1'MYSQLTEST_VARDIR/std_data_ln/words.dat')) AS `charset(load_file('MYSQLTEST_VARDIR/std_data_ln/words.dat'))`,collation(load_file(_latin1'MYSQLTEST_VARDIR/std_data_ln/words.dat')) AS `collation(load_file('MYSQLTEST_VARDIR/std_data_ln/words.dat'))`,coercibility(load_file(_latin1'MYSQLTEST_VARDIR/std_data_ln/words.dat')) AS `coercibility(load_file('MYSQLTEST_VARDIR/std_data_ln/words.dat'))`
+Note 1003 select charset(load_file('MYSQLTEST_VARDIR/std_data_ln/words.dat')) AS `charset(load_file('MYSQLTEST_VARDIR/std_data_ln/words.dat'))`,collation(load_file('MYSQLTEST_VARDIR/std_data_ln/words.dat')) AS `collation(load_file('MYSQLTEST_VARDIR/std_data_ln/words.dat'))`,coercibility(load_file('MYSQLTEST_VARDIR/std_data_ln/words.dat')) AS `coercibility(load_file('MYSQLTEST_VARDIR/std_data_ln/words.dat'))`
update t1 set imagem=load_file('MYSQLTEST_VARDIR/std_data_ln/words.dat') where id=1;
select if(imagem is null, "ERROR", "OK"),length(imagem) from t1 where id = 1;
if(imagem is null, "ERROR", "OK") length(imagem)
@@ -807,6 +807,20 @@ set @@sql_mode='TRADITIONAL';
create table t1 (a text default '');
ERROR 42000: BLOB/TEXT column 'a' can't have a default value
set @@sql_mode='';
+CREATE TABLE t (c TEXT CHARSET ASCII);
+INSERT INTO t (c) VALUES (REPEAT('1',65537));
+Warnings:
+Warning 1265 Data truncated for column 'c' at row 1
+INSERT INTO t (c) VALUES (REPEAT('2',65536));
+Warnings:
+Warning 1265 Data truncated for column 'c' at row 1
+INSERT INTO t (c) VALUES (REPEAT('3',65535));
+SELECT LENGTH(c), CHAR_LENGTH(c) FROM t;
+LENGTH(c) CHAR_LENGTH(c)
+65535 65535
+65535 65535
+65535 65535
+DROP TABLE t;
drop table if exists b15776;
create table b15776 (data blob(2147483647));
drop table b15776;
diff --git a/mysql-test/r/type_date.result b/mysql-test/r/type_date.result
index d6a01727813..7cb71831bce 100644
--- a/mysql-test/r/type_date.result
+++ b/mysql-test/r/type_date.result
@@ -145,3 +145,131 @@ d dt ts
0000-00-00 0000-00-00 00:00:00 0000-00-00 00:00:00
2001-11-11 2001-11-11 00:00:00 2001-11-11 00:00:00
drop table t1;
+CREATE TABLE t1 (
+a INT
+);
+INSERT INTO t1 VALUES (1);
+INSERT INTO t1 VALUES (NULL);
+SELECT str_to_date( '', a ) FROM t1;
+str_to_date( '', a )
+0000-00-00 00:00:00
+NULL
+DROP TABLE t1;
+CREATE TABLE t1 (a DATE, b int, PRIMARY KEY (a,b));
+INSERT INTO t1 VALUES (DATE(NOW()), 1);
+SELECT COUNT(*) FROM t1 WHERE a = NOW();
+COUNT(*)
+0
+EXPLAIN SELECT COUNT(*) FROM t1 WHERE a = NOW();
+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
+INSERT INTO t1 VALUES (DATE(NOW()), 2);
+SELECT COUNT(*) FROM t1 WHERE a = NOW();
+COUNT(*)
+0
+EXPLAIN SELECT COUNT(*) FROM t1 WHERE a = NOW();
+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 COUNT(*) FROM t1 WHERE a = NOW() AND b = 1;
+COUNT(*)
+0
+EXPLAIN SELECT COUNT(*) FROM t1 WHERE a = NOW() AND b = 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
+ALTER TABLE t1 DROP PRIMARY KEY;
+SELECT COUNT(*) FROM t1 WHERE a = NOW();
+COUNT(*)
+0
+EXPLAIN SELECT COUNT(*) FROM t1 WHERE a = NOW();
+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;
+CREATE TABLE t1 (a DATE);
+CREATE TABLE t2 (a DATE);
+CREATE INDEX i ON t1 (a);
+INSERT INTO t1 VALUES ('0000-00-00'),('0000-00-00');
+INSERT INTO t2 VALUES ('0000-00-00'),('0000-00-00');
+SELECT * FROM t1 WHERE a = '0000-00-00';
+a
+0000-00-00
+0000-00-00
+SELECT * FROM t2 WHERE a = '0000-00-00';
+a
+0000-00-00
+0000-00-00
+SET SQL_MODE=TRADITIONAL;
+EXPLAIN SELECT * FROM t1 WHERE a = '0000-00-00';
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ref i i 4 const 1 Using where; Using index
+Warnings:
+Warning 1292 Incorrect date value: '0000-00-00' for column 'a' at row 1
+Warning 1292 Incorrect date value: '0000-00-00' for column 'a' at row 1
+SELECT * FROM t1 WHERE a = '0000-00-00';
+a
+0000-00-00
+0000-00-00
+Warnings:
+Warning 1292 Incorrect date value: '0000-00-00' for column 'a' at row 1
+Warning 1292 Incorrect date value: '0000-00-00' for column 'a' at row 1
+SELECT * FROM t2 WHERE a = '0000-00-00';
+a
+0000-00-00
+0000-00-00
+Warnings:
+Warning 1292 Incorrect date value: '0000-00-00' for column 'a' at row 1
+Warning 1292 Incorrect date value: '0000-00-00' for column 'a' at row 1
+INSERT INTO t1 VALUES ('0000-00-00');
+ERROR 22007: Incorrect date value: '0000-00-00' for column 'a' at row 1
+SET SQL_MODE=DEFAULT;
+DROP TABLE t1,t2;
+CREATE TABLE t1 (a DATE);
+CREATE TABLE t2 (a DATE);
+CREATE INDEX i ON t1 (a);
+INSERT INTO t1 VALUES ('1000-00-00'),('1000-00-00');
+INSERT INTO t2 VALUES ('1000-00-00'),('1000-00-00');
+SELECT * FROM t1 WHERE a = '1000-00-00';
+a
+1000-00-00
+1000-00-00
+SELECT * FROM t2 WHERE a = '1000-00-00';
+a
+1000-00-00
+1000-00-00
+SET SQL_MODE=TRADITIONAL;
+EXPLAIN SELECT * FROM t1 WHERE a = '1000-00-00';
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ref i i 4 const 1 Using where; Using index
+Warnings:
+Warning 1292 Incorrect date value: '1000-00-00' for column 'a' at row 1
+Warning 1292 Incorrect date value: '1000-00-00' for column 'a' at row 1
+SELECT * FROM t1 WHERE a = '1000-00-00';
+a
+1000-00-00
+1000-00-00
+Warnings:
+Warning 1292 Incorrect date value: '1000-00-00' for column 'a' at row 1
+Warning 1292 Incorrect date value: '1000-00-00' for column 'a' at row 1
+SELECT * FROM t2 WHERE a = '1000-00-00';
+a
+1000-00-00
+1000-00-00
+Warnings:
+Warning 1292 Incorrect date value: '1000-00-00' for column 'a' at row 1
+Warning 1292 Incorrect date value: '1000-00-00' for column 'a' at row 1
+INSERT INTO t1 VALUES ('1000-00-00');
+ERROR 22007: Incorrect date value: '1000-00-00' for column 'a' at row 1
+SET SQL_MODE=DEFAULT;
+DROP TABLE t1,t2;
+CREATE TABLE t1 SELECT curdate() AS f1;
+SELECT hour(f1), minute(f1), second(f1) FROM t1;
+hour(f1) minute(f1) second(f1)
+0 0 0
+DROP TABLE t1;
+End of 5.0 tests
+create table t1 (a date, primary key (a))engine=memory;
+insert into t1 values ('0000-01-01'), ('0000-00-01'), ('0001-01-01');
+select * from t1 where a between '0000-00-01' and '0000-00-02';
+a
+0000-00-01
+drop table t1;
+End of 5.1 tests
diff --git a/mysql-test/r/type_datetime.result b/mysql-test/r/type_datetime.result
index ffe4bac142d..d485c468a39 100644
--- a/mysql-test/r/type_datetime.result
+++ b/mysql-test/r/type_datetime.result
@@ -59,6 +59,8 @@ t
drop table t1;
CREATE TABLE t1 (a timestamp, b date, c time, d datetime);
insert into t1 (b,c,d) values(now(),curtime(),now());
+Warnings:
+Note 1265 Data truncated for column 'b' at row 1
select date_format(a,"%Y-%m-%d")=b,right(a+0,6)=c+0,a=d+0 from t1;
date_format(a,"%Y-%m-%d")=b right(a+0,6)=c+0 a=d+0
1 1 1
@@ -427,6 +429,138 @@ f1
Warnings:
Warning 1292 Incorrect datetime value: '2007010100000' for column 'f1' at row 1
drop table t1;
+#
+# Bug#27216: functions with parameters of different date types may
+# return wrong type of the result.
+#
+create table t1 (f1 date, f2 datetime, f3 varchar(20));
+create table t2 as select coalesce(f1,f1) as f4 from t1;
+desc t2;
+Field Type Null Key Default Extra
+f4 date YES NULL
+create table t3 as select coalesce(f1,f2) as f4 from t1;
+desc t3;
+Field Type Null Key Default Extra
+f4 datetime YES NULL
+create table t4 as select coalesce(f2,f2) as f4 from t1;
+desc t4;
+Field Type Null Key Default Extra
+f4 datetime YES NULL
+create table t5 as select coalesce(f1,f3) as f4 from t1;
+desc t5;
+Field Type Null Key Default Extra
+f4 varbinary(20) YES NULL
+create table t6 as select coalesce(f2,f3) as f4 from t1;
+desc t6;
+Field Type Null Key Default Extra
+f4 varbinary(20) YES NULL
+create table t7 as select coalesce(makedate(1997,1),f2) as f4 from t1;
+desc t7;
+Field Type Null Key Default Extra
+f4 datetime YES NULL
+create table t8 as select coalesce(cast('01-01-01' as datetime),f2) as f4
+from t1;
+desc t8;
+Field Type Null Key Default Extra
+f4 datetime YES NULL
+create table t9 as select case when 1 then cast('01-01-01' as date)
+when 0 then cast('01-01-01' as date) end as f4 from t1;
+desc t9;
+Field Type Null Key Default Extra
+f4 date YES NULL
+create table t10 as select case when 1 then cast('01-01-01' as datetime)
+when 0 then cast('01-01-01' as datetime) end as f4 from t1;
+desc t10;
+Field Type Null Key Default Extra
+f4 datetime YES NULL
+create table t11 as select if(1, cast('01-01-01' as datetime),
+cast('01-01-01' as date)) as f4 from t1;
+desc t11;
+Field Type Null Key Default Extra
+f4 datetime YES NULL
+create table t12 as select least(cast('01-01-01' as datetime),
+cast('01-01-01' as date)) as f4 from t1;
+desc t12;
+Field Type Null Key Default Extra
+f4 datetime YES NULL
+create table t13 as select ifnull(cast('01-01-01' as datetime),
+cast('01-01-01' as date)) as f4 from t1;
+desc t13;
+Field Type Null Key Default Extra
+f4 datetime YES NULL
+drop tables t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12,t13;
+###################################################################
+create table t1 (f1 time);
+insert into t1 set f1 = '45:44:44';
+insert into t1 set f1 = '15:44:44';
+select * from t1 where (convert(f1,datetime)) != 1;
+f1
+15:44:44
+Warnings:
+Warning 1292 Incorrect datetime value: '0000-00-00 45:44:44'
+drop table t1;
+create table t1 (a tinyint);
+insert into t1 values (), (), ();
+select sum(a) from t1 group by convert(a, datetime);
+sum(a)
+NULL
+drop table t1;
+create table t1 (id int(10) not null, cur_date datetime not null);
+create table t2 (id int(10) not null, cur_date date not null);
+insert into t1 (id, cur_date) values (1, '2007-04-25 18:30:22');
+insert into t2 (id, cur_date) values (1, '2007-04-25');
+explain extended
+select * from t1
+where id in (select id from t1 as x1 where (t1.cur_date is null));
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 PRIMARY NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
+2 DEPENDENT SUBQUERY NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE
+Warnings:
+Note 1276 Field or reference 'test.t1.cur_date' of SELECT #2 was resolved in SELECT #1
+Note 1003 select '1' AS `id`,'2007-04-25 18:30:22' AS `cur_date` from `test`.`t1` where <in_optimizer>('1',<exists>(select 1 AS `Not_used` from `test`.`t1` `x1` where 0))
+select * from t1
+where id in (select id from t1 as x1 where (t1.cur_date is null));
+id cur_date
+explain extended
+select * from t2
+where id in (select id from t2 as x1 where (t2.cur_date is null));
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 PRIMARY NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
+2 DEPENDENT SUBQUERY NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE
+Warnings:
+Note 1276 Field or reference 'test.t2.cur_date' of SELECT #2 was resolved in SELECT #1
+Note 1003 select '1' AS `id`,'2007-04-25' AS `cur_date` from `test`.`t2` where <in_optimizer>('1',<exists>(select 1 AS `Not_used` from `test`.`t2` `x1` where 0))
+select * from t2
+where id in (select id from t2 as x1 where (t2.cur_date is null));
+id cur_date
+insert into t1 (id, cur_date) values (2, '2007-04-26 18:30:22');
+insert into t2 (id, cur_date) values (2, '2007-04-26');
+explain extended
+select * from t1
+where id in (select id from t1 as x1 where (t1.cur_date is null));
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 PRIMARY t1 ALL NULL NULL NULL NULL 2 100.00 Using where
+2 DEPENDENT SUBQUERY x1 ALL NULL NULL NULL NULL 2 100.00 Using where
+Warnings:
+Note 1276 Field or reference 'test.t1.cur_date' of SELECT #2 was resolved in SELECT #1
+Note 1003 select `test`.`t1`.`id` AS `id`,`test`.`t1`.`cur_date` AS `cur_date` from `test`.`t1` where <in_optimizer>(`test`.`t1`.`id`,<exists>(select 1 AS `Not_used` from `test`.`t1` `x1` where ((`test`.`t1`.`cur_date` = 0) and (<cache>(`test`.`t1`.`id`) = `test`.`x1`.`id`))))
+select * from t1
+where id in (select id from t1 as x1 where (t1.cur_date is null));
+id cur_date
+explain extended
+select * from t2
+where id in (select id from t2 as x1 where (t2.cur_date is null));
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 PRIMARY t2 ALL NULL NULL NULL NULL 2 100.00 Using where
+2 DEPENDENT SUBQUERY x1 ALL NULL NULL NULL NULL 2 100.00 Using where
+Warnings:
+Note 1276 Field or reference 'test.t2.cur_date' of SELECT #2 was resolved in SELECT #1
+Note 1003 select `test`.`t2`.`id` AS `id`,`test`.`t2`.`cur_date` AS `cur_date` from `test`.`t2` where <in_optimizer>(`test`.`t2`.`id`,<exists>(select 1 AS `Not_used` from `test`.`t2` `x1` where ((`test`.`t2`.`cur_date` = 0) and (<cache>(`test`.`t2`.`id`) = `test`.`x1`.`id`))))
+select * from t2
+where id in (select id from t2 as x1 where (t2.cur_date is null));
+id cur_date
+drop table t1,t2;
+End of 5.0 tests
set @org_mode=@@sql_mode;
create table t1 (da date default '1962-03-03 23:33:34', dt datetime default '1962-03-03');
Warnings:
diff --git a/mysql-test/r/type_decimal.result b/mysql-test/r/type_decimal.result
index efac8cbe580..3e5f6a9b504 100644
--- a/mysql-test/r/type_decimal.result
+++ b/mysql-test/r/type_decimal.result
@@ -683,6 +683,7 @@ select * from t1;
a b
123.12345 123.1
drop table t1;
+End of 4.1 tests
CREATE TABLE t1
(EMPNUM CHAR(3) NOT NULL,
HOURS DECIMAL(5));
@@ -785,10 +786,6 @@ from (select 1 as s,'t' as t union select null, null ) as sub1;
select group_concat(t) from t1 group by week(date)/10;
group_concat(t)
t
-Warnings:
-Warning 1292 Incorrect datetime value: '0000-00-00'
-Warning 1292 Incorrect datetime value: '0000-00-00'
-Warning 1292 Incorrect datetime value: '0000-00-00'
drop table t1;
CREATE TABLE t1 (
qty decimal(16,6) default NULL,
@@ -797,5 +794,156 @@ dps tinyint(3) unsigned default NULL
INSERT INTO t1 VALUES (1.1325,3);
SELECT ROUND(qty,3), dps, ROUND(qty,dps) FROM t1;
ROUND(qty,3) dps ROUND(qty,dps)
-1.133 3 1.133
+1.133 3 1.133000
DROP TABLE t1;
+SELECT 1 % .123456789123456789123456789123456789123456789123456789123456789123456789123456789 AS '%';
+%
+0.012345687012345687012345687012345687012345687012345687012345687012345687000000000
+SELECT MOD(1, .123456789123456789123456789123456789123456789123456789123456789123456789123456789) AS 'MOD()';
+MOD()
+0.012345687012345687012345687012345687012345687012345687012345687012345687000000000
+create table t1 (f1 decimal(6,6),f2 decimal(6,6) zerofill);
+insert into t1 values (-0.123456,0.123456);
+select group_concat(f1),group_concat(f2) from t1;
+group_concat(f1) group_concat(f2)
+-0.123456 0.123456
+drop table t1;
+create table t1 (
+ua_id decimal(22,0) not null,
+ua_invited_by_id decimal(22,0) default NULL,
+primary key(ua_id)
+);
+insert into t1 values (123, NULL), (456, NULL);
+this must not produce error 1048:
+select * from t1 where ua_invited_by_id not in (select ua_id from t1);
+ua_id ua_invited_by_id
+drop table t1;
+DROP TABLE IF EXISTS t3;
+DROP TABLE IF EXISTS t4;
+CREATE TABLE t1( a NUMERIC, b INT );
+INSERT INTO t1 VALUES (123456, 40), (123456, 40);
+SELECT TRUNCATE( a, b ) AS c FROM t1 ORDER BY c;
+c
+123456
+123456
+SELECT ROUND( a, b ) AS c FROM t1 ORDER BY c;
+c
+123456
+123456
+SELECT ROUND( a, 100 ) AS c FROM t1 ORDER BY c;
+c
+123456.000000000000000000000000000000
+123456.000000000000000000000000000000
+CREATE TABLE t2( a NUMERIC, b INT );
+INSERT INTO t2 VALUES (123456, 100);
+SELECT TRUNCATE( a, b ) AS c FROM t2 ORDER BY c;
+c
+123456
+SELECT ROUND( a, b ) AS c FROM t2 ORDER BY c;
+c
+123456
+CREATE TABLE t3( a DECIMAL, b INT );
+INSERT INTO t3 VALUES (123456, 40), (123456, 40);
+SELECT TRUNCATE( a, b ) AS c FROM t3 ORDER BY c;
+c
+123456
+123456
+SELECT ROUND( a, b ) AS c FROM t3 ORDER BY c;
+c
+123456
+123456
+SELECT ROUND( a, 100 ) AS c FROM t3 ORDER BY c;
+c
+123456.000000000000000000000000000000
+123456.000000000000000000000000000000
+CREATE TABLE t4( a DECIMAL, b INT );
+INSERT INTO t4 VALUES (123456, 40), (123456, 40);
+SELECT TRUNCATE( a, b ) AS c FROM t4 ORDER BY c;
+c
+123456
+123456
+SELECT ROUND( a, b ) AS c FROM t4 ORDER BY c;
+c
+123456
+123456
+SELECT ROUND( a, 100 ) AS c FROM t4 ORDER BY c;
+c
+123456.000000000000000000000000000000
+123456.000000000000000000000000000000
+delete from t1;
+INSERT INTO t1 VALUES (1234567890, 20), (999.99, 5);
+Warnings:
+Note 1265 Data truncated for column 'a' at row 2
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` decimal(10,0) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+select round(a,b) as c from t1 order by c;
+c
+1000
+1234567890
+DROP TABLE t1, t2, t3, t4;
+CREATE TABLE t1( a DECIMAL(4, 3), b INT );
+INSERT INTO t1 VALUES ( 1, 5 ), ( 2, 4 ), ( 3, 3 ), ( 4, 2 ), ( 5, 1 );
+SELECT a, b, ROUND( a, b ) AS c FROM t1 ORDER BY c;
+a b c
+1.000 5 1.000
+2.000 4 2.000
+3.000 3 3.000
+4.000 2 4.000
+5.000 1 5.000
+SELECT a, b, ROUND( a, b ) AS c FROM t1 ORDER BY c DESC;
+a b c
+5.000 1 5.000
+4.000 2 4.000
+3.000 3 3.000
+2.000 4 2.000
+1.000 5 1.000
+CREATE TABLE t2 ( a INT, b INT, c DECIMAL(5, 4) );
+INSERT INTO t2 VALUES ( 0, 1, 1.2345 ), ( 1, 2, 1.2345 ),
+( 3, 3, 1.2345 ), ( 2, 4, 1.2345 );
+SELECT a, b, MAX(ROUND(c, a))
+FROM t2
+GROUP BY a, b
+ORDER BY b;
+a b MAX(ROUND(c, a))
+0 1 1.0000
+1 2 1.2000
+3 3 1.2350
+2 4 1.2300
+SELECT a, b, ROUND(c, a)
+FROM t2;
+a b ROUND(c, a)
+0 1 1.0000
+1 2 1.2000
+3 3 1.2350
+2 4 1.2300
+CREATE TABLE t3( a INT, b DECIMAL(6, 3) );
+INSERT INTO t3 VALUES( 0, 1.5 );
+SELECT ROUND( b, a ) FROM t3;
+ROUND( b, a )
+2.000
+CREATE TABLE t4( a INT, b DECIMAL( 12, 0) );
+INSERT INTO t4 VALUES( -9, 1.5e9 );
+SELECT ROUND( b, a ) FROM t4;
+ROUND( b, a )
+2000000000
+CREATE TABLE t5( a INT, b DECIMAL( 13, 12 ) );
+INSERT INTO t5 VALUES( 0, 1.5 );
+INSERT INTO t5 VALUES( 9, 1.5e-9 );
+SELECT ROUND( b, a ) FROM t5;
+ROUND( b, a )
+2.000000000000
+0.000000002000
+CREATE TABLE t6( a INT );
+INSERT INTO t6 VALUES( 6 / 8 );
+SELECT * FROM t6;
+a
+1
+SELECT ROUND(20061108085411.000002);
+ROUND(20061108085411.000002)
+20061108085411
+DROP TABLE t1, t2, t3, t4, t5, t6;
+End of 5.0 tests
diff --git a/mysql-test/r/type_enum.result b/mysql-test/r/type_enum.result
index 051cfe61384..813f912c5af 100644
--- a/mysql-test/r/type_enum.result
+++ b/mysql-test/r/type_enum.result
@@ -1675,7 +1675,7 @@ t1 CREATE TABLE `t1` (
show columns from t1;
Field Type Null Key Default Extra
a int(11) YES 1
-b enum('value','öäü_value','ÊÃÕ') NO
+b enum('value','öäü_value','ÊÃÕ') NO NULL
drop table t1;
CREATE TABLE t1 (c enum('a', 'A') BINARY);
INSERT INTO t1 VALUES ('a'),('A');
diff --git a/mysql-test/r/type_float.result b/mysql-test/r/type_float.result
index 33ad3928835..6fbc8268a64 100644
--- a/mysql-test/r/type_float.result
+++ b/mysql-test/r/type_float.result
@@ -344,6 +344,22 @@ create table t1 (s1 float(0,2));
ERROR 42000: For float(M,D), double(M,D) or decimal(M,D), M must be >= D (column 's1').
create table t1 (s1 float(1,2));
ERROR 42000: For float(M,D), double(M,D) or decimal(M,D), M must be >= D (column 's1').
+CREATE TABLE t1 (
+f1 real zerofill,
+f2 double zerofill,
+f3 float zerofill);
+INSERT INTO t1 VALUES ( 0.314152e+1, 0.314152e+1, 0.314152e+1);
+PREPARE stmt1 FROM 'select f1, f2, f3 FROM t1';
+select f1, f2, f3 FROM t1;
+f1 f2 f3
+0000000000000003.14152 0000000000000003.14152 000003.14152
+select f1, f2, f3 FROM t1;
+f1 f2 f3
+0000000000000003.14152 0000000000000003.14152 000003.14152
+EXECUTE stmt1;
+f1 f2 f3
+0000000000000003.14152 0000000000000003.14152 000003.14152
+DROP TABLE t1;
create table t1 (f1 double(200, 0));
insert into t1 values (1e199), (-1e199);
insert into t1 values (1e200), (-1e200);
diff --git a/mysql-test/r/type_newdecimal.result b/mysql-test/r/type_newdecimal.result
index 24be10a7a29..71be41b106f 100644
--- a/mysql-test/r/type_newdecimal.result
+++ b/mysql-test/r/type_newdecimal.result
@@ -1509,6 +1509,26 @@ SELECT 1 FROM t1 GROUP BY @b := @a, @b;
1
1
DROP TABLE t1;
+CREATE TABLE t1 SELECT 0.123456789012345678901234567890123456 AS f1;
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+DESC t1;
+Field Type Null Key Default Extra
+f1 decimal(31,30) NO 0.000000000000000000000000000000
+SELECT f1 FROM t1;
+f1
+0.123456789012345678901234567890
+DROP TABLE t1;
+CREATE TABLE t1 SELECT 123451234512345123451234512345123451234512345.678906789067890678906789067890678906789067890 AS f1;
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+DESC t1;
+Field Type Null Key Default Extra
+f1 decimal(59,30) NO 0.000000000000000000000000000000
+SELECT f1 FROM t1;
+f1
+99999999999999999999999999999.999999999999999999999999999999
+DROP TABLE t1;
End of 5.0 tests
select cast(143.481 as decimal(4,1));
cast(143.481 as decimal(4,1))
diff --git a/mysql-test/r/type_ranges.result b/mysql-test/r/type_ranges.result
index 22580c155f3..6e08067d8a4 100644
--- a/mysql-test/r/type_ranges.result
+++ b/mysql-test/r/type_ranges.result
@@ -57,15 +57,15 @@ ushort smallint(5) unsigned zerofill NULL NO MUL 00000 #
umedium mediumint(8) unsigned NULL NO MUL 0 #
ulong int(11) unsigned NULL NO MUL 0 #
ulonglong bigint(13) unsigned NULL NO MUL 0 #
-time_stamp timestamp NULL NO CURRENT_TIMESTAMP #
+time_stamp timestamp NULL NO CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP #
date_field date NULL YES NULL #
time_field time NULL YES NULL #
date_time datetime NULL YES NULL #
blob_col blob NULL YES NULL #
tinyblob_col tinyblob NULL YES NULL #
-mediumblob_col mediumblob NULL NO #
-longblob_col longblob NULL NO #
-options enum('one','two','tree') latin1_swedish_ci NO MUL #
+mediumblob_col mediumblob NULL NO NULL #
+longblob_col longblob NULL NO NULL #
+options enum('one','two','tree') latin1_swedish_ci NO MUL NULL #
flags set('one','two','tree') latin1_swedish_ci NO #
show keys from t1;
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
@@ -214,7 +214,7 @@ Field Type Collation Null Key Default Extra Privileges Comment
auto int(5) unsigned NULL NO MUL NULL auto_increment #
string char(10) latin1_swedish_ci YES newdefault #
tiny tinyint(4) NULL NO MUL 0 #
-short smallint(6) NULL NO MUL #
+short smallint(6) NULL NO MUL NULL #
medium mediumint(8) NULL NO MUL 0 #
long_int int(11) NULL NO 0 #
longlong bigint(13) NULL NO MUL 0 #
@@ -225,14 +225,14 @@ ushort smallint(5) unsigned zerofill NULL NO 00000 #
umedium mediumint(8) unsigned NULL NO MUL 0 #
ulong int(11) unsigned NULL NO MUL 0 #
ulonglong bigint(13) unsigned NULL NO MUL 0 #
-time_stamp timestamp NULL NO CURRENT_TIMESTAMP #
+time_stamp timestamp NULL NO CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP #
date_field char(10) latin1_swedish_ci YES NULL #
time_field time NULL YES NULL #
date_time datetime NULL YES NULL #
new_blob_col varchar(20) latin1_swedish_ci YES NULL #
tinyblob_col tinyblob NULL YES NULL #
-mediumblob_col mediumblob NULL NO #
-options enum('one','two','tree') latin1_swedish_ci NO MUL #
+mediumblob_col mediumblob NULL NO NULL #
+options enum('one','two','tree') latin1_swedish_ci NO MUL NULL #
flags set('one','two','tree') latin1_swedish_ci NO #
new_field char(10) latin1_swedish_ci NO new #
show full columns from t2;
@@ -240,7 +240,7 @@ Field Type Collation Null Key Default Extra Privileges Comment
auto int(5) unsigned NULL NO 0 #
string char(10) latin1_swedish_ci YES newdefault #
tiny tinyint(4) NULL NO 0 #
-short smallint(6) NULL NO #
+short smallint(6) NULL NO NULL #
medium mediumint(8) NULL NO 0 #
long_int int(11) NULL NO 0 #
longlong bigint(13) NULL NO 0 #
@@ -257,8 +257,8 @@ time_field time NULL YES NULL #
date_time datetime NULL YES NULL #
new_blob_col varchar(20) latin1_swedish_ci YES NULL #
tinyblob_col tinyblob NULL YES NULL #
-mediumblob_col mediumblob NULL NO #
-options enum('one','two','tree') latin1_swedish_ci NO #
+mediumblob_col mediumblob NULL NO NULL #
+options enum('one','two','tree') latin1_swedish_ci NO NULL #
flags set('one','two','tree') latin1_swedish_ci NO #
new_field char(10) latin1_swedish_ci NO new #
select t1.auto,t2.auto from t1,t2 where t1.auto=t2.auto and ((t1.string<>t2.string and (t1.string is not null or t2.string is not null)) or (t1.tiny<>t2.tiny and (t1.tiny is not null or t2.tiny is not null)) or (t1.short<>t2.short and (t1.short is not null or t2.short is not null)) or (t1.medium<>t2.medium and (t1.medium is not null or t2.medium is not null)) or (t1.long_int<>t2.long_int and (t1.long_int is not null or t2.long_int is not null)) or (t1.longlong<>t2.longlong and (t1.longlong is not null or t2.longlong is not null)) or (t1.real_float<>t2.real_float and (t1.real_float is not null or t2.real_float is not null)) or (t1.real_double<>t2.real_double and (t1.real_double is not null or t2.real_double is not null)) or (t1.utiny<>t2.utiny and (t1.utiny is not null or t2.utiny is not null)) or (t1.ushort<>t2.ushort and (t1.ushort is not null or t2.ushort is not null)) or (t1.umedium<>t2.umedium and (t1.umedium is not null or t2.umedium is not null)) or (t1.ulong<>t2.ulong and (t1.ulong is not null or t2.ulong is not null)) or (t1.ulonglong<>t2.ulonglong and (t1.ulonglong is not null or t2.ulonglong is not null)) or (t1.time_stamp<>t2.time_stamp and (t1.time_stamp is not null or t2.time_stamp is not null)) or (t1.date_field<>t2.date_field and (t1.date_field is not null or t2.date_field is not null)) or (t1.time_field<>t2.time_field and (t1.time_field is not null or t2.time_field is not null)) or (t1.date_time<>t2.date_time and (t1.date_time is not null or t2.date_time is not null)) or (t1.new_blob_col<>t2.new_blob_col and (t1.new_blob_col is not null or t2.new_blob_col is not null)) or (t1.tinyblob_col<>t2.tinyblob_col and (t1.tinyblob_col is not null or t2.tinyblob_col is not null)) or (t1.mediumblob_col<>t2.mediumblob_col and (t1.mediumblob_col is not null or t2.mediumblob_col is not null)) or (t1.options<>t2.options and (t1.options is not null or t2.options is not null)) or (t1.flags<>t2.flags and (t1.flags is not null or t2.flags is not null)) or (t1.new_field<>t2.new_field and (t1.new_field is not null or t2.new_field is not null)));
@@ -276,8 +276,8 @@ t1 int(1) NULL NO 0 #
t2 varchar(1) latin1_swedish_ci NO #
t3 varchar(256) latin1_swedish_ci NO #
t4 varbinary(256) NULL NO #
-t5 longtext latin1_swedish_ci NO #
-t6 longblob NULL NO #
+t5 longtext latin1_swedish_ci NO NULL #
+t6 longblob NULL NO NULL #
t7 char(0) latin1_swedish_ci NO #
t8 binary(0) NULL NO #
select t1,t2,length(t3),length(t4),length(t5),length(t6),t7,t8 from t2;
diff --git a/mysql-test/r/type_set.result b/mysql-test/r/type_set.result
index 877400ab7e1..e36f21f2996 100644
--- a/mysql-test/r/type_set.result
+++ b/mysql-test/r/type_set.result
@@ -85,3 +85,12 @@ t1 CREATE TABLE `t1` (
`f1` set('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','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','61','62','63','64','1') DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
+CREATE TABLE t1(c set('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','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','61','62','63','64'));
+INSERT INTO t1 VALUES(7);
+INSERT INTO t1 VALUES(9223372036854775808);
+SELECT * FROM t1;
+c
+1,2,3
+64
+DROP TABLE t1;
+End of 5.0 tests
diff --git a/mysql-test/r/type_timestamp.result b/mysql-test/r/type_timestamp.result
index 7caf7e78fe9..596dcbf432c 100644
--- a/mysql-test/r/type_timestamp.result
+++ b/mysql-test/r/type_timestamp.result
@@ -251,7 +251,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
show columns from t1;
Field Type Null Key Default Extra
-t1 timestamp NO 2003-01-01 00:00:00
+t1 timestamp NO 2003-01-01 00:00:00 on update CURRENT_TIMESTAMP
t2 datetime YES NULL
drop table t1;
create table t1 (t1 timestamp default now() on update now(), t2 datetime);
@@ -276,7 +276,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
show columns from t1;
Field Type Null Key Default Extra
-t1 timestamp NO CURRENT_TIMESTAMP
+t1 timestamp NO CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP
t2 datetime YES NULL
drop table t1;
create table t1 (t1 timestamp, t2 datetime, t3 timestamp);
@@ -302,7 +302,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
show columns from t1;
Field Type Null Key Default Extra
-t1 timestamp NO CURRENT_TIMESTAMP
+t1 timestamp NO CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP
t2 datetime YES NULL
t3 timestamp NO 0000-00-00 00:00:00
drop table t1;
@@ -328,7 +328,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
show columns from t1;
Field Type Null Key Default Extra
-t1 timestamp NO CURRENT_TIMESTAMP
+t1 timestamp NO CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP
t2 datetime YES NULL
truncate table t1;
insert into t1 values ('2004-04-01 00:00:00', '2004-04-01 00:00:00');
diff --git a/mysql-test/r/udf.result b/mysql-test/r/udf.result
index f1e47905f5d..15410ac2039 100644
--- a/mysql-test/r/udf.result
+++ b/mysql-test/r/udf.result
@@ -11,7 +11,7 @@ RETURNS STRING SONAME "UDF_EXAMPLE_LIB";
CREATE AGGREGATE FUNCTION avgcost
RETURNS REAL SONAME "UDF_EXAMPLE_LIB";
select myfunc_double();
-ERROR HY000: myfunc_double must have at least one argument
+ERROR HY000: Can't initialize function 'myfunc_double'; myfunc_double must have at least one argument
select myfunc_double(1);
myfunc_double(1)
49.00
@@ -24,26 +24,26 @@ select myfunc_int();
myfunc_int()
0
select lookup();
-ERROR HY000: Wrong arguments to lookup; Use the source
+ERROR HY000: Can't initialize function 'lookup'; Wrong arguments to lookup; Use the source
select lookup("127.0.0.1");
lookup("127.0.0.1")
127.0.0.1
select lookup(127,0,0,1);
-ERROR HY000: Wrong arguments to lookup; Use the source
+ERROR HY000: Can't initialize function 'lookup'; Wrong arguments to lookup; Use the source
select lookup("localhost");
lookup("localhost")
127.0.0.1
select reverse_lookup();
-ERROR HY000: Wrong number of arguments to reverse_lookup; Use the source
+ERROR HY000: Can't initialize function 'reverse_lookup'; Wrong number of arguments to reverse_lookup; Use the source
select reverse_lookup("127.0.0.1");
select reverse_lookup(127,0,0,1);
select reverse_lookup("localhost");
reverse_lookup("localhost")
NULL
select avgcost();
-ERROR HY000: wrong number of arguments: AVGCOST() requires two arguments
+ERROR HY000: Can't initialize function 'avgcost'; wrong number of arguments: AVGCOST() requires two arguments
select avgcost(100,23.76);
-ERROR HY000: wrong argument type: AVGCOST() requires an INT and a REAL
+ERROR HY000: Can't initialize function 'avgcost'; wrong argument type: AVGCOST() requires an INT and a REAL
create table t1(sum int, price float(24));
insert into t1 values(100, 50.00), (100, 100.00);
select avgcost(sum, price) from t1;
@@ -95,10 +95,10 @@ FR
DROP TABLE bug19904;
CREATE DEFINER=CURRENT_USER() FUNCTION should_not_parse
RETURNS STRING SONAME "should_not_parse.so";
-ERROR HY000: Incorrect usage of SONAME and DEFINER
+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 'RETURNS STRING SONAME "should_not_parse.so"' at line 2
CREATE DEFINER=someone@somewhere FUNCTION should_not_parse
RETURNS STRING SONAME "should_not_parse.so";
-ERROR HY000: Incorrect usage of SONAME and DEFINER
+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 'RETURNS STRING SONAME "should_not_parse.so"' at line 2
create table t1(f1 int);
insert into t1 values(1),(2);
explain select myfunc_int(f1) from t1 order by 1;
@@ -214,7 +214,7 @@ DROP FUNCTION IF EXISTS metaphon;
CREATE FUNCTION metaphon(a int) RETURNS int
return 0;
CREATE FUNCTION metaphon RETURNS STRING SONAME "UDF_EXAMPLE_LIB";
-ERROR HY000: Function 'metaphon' already exists
+DROP FUNCTION metaphon;
DROP FUNCTION metaphon;
CREATE FUNCTION metaphon RETURNS STRING SONAME "UDF_EXAMPLE_LIB";
CREATE FUNCTION metaphon(a int) RETURNS int
@@ -334,6 +334,13 @@ Qcache_queries_in_cache 0
drop table t1;
drop function metaphon;
set GLOBAL query_cache_size=default;
+DROP DATABASE IF EXISTS mysqltest;
+CREATE DATABASE mysqltest;
+USE mysqltest;
+DROP DATABASE mysqltest;
+CREATE FUNCTION metaphon RETURNS STRING SONAME "UDF_EXAMPLE_LIB";
+DROP FUNCTION metaphon;
+USE test;
CREATE TABLE const_len_bug (
str_const varchar(4000),
result1 varchar(4000),
@@ -358,4 +365,31 @@ DROP FUNCTION check_const_len;
DROP PROCEDURE check_const_len_sp;
DROP TRIGGER check_const_len_trigger;
DROP TABLE const_len_bug;
+CREATE FUNCTION sequence RETURNS INTEGER SONAME "UDF_EXAMPLE_LIB";
+CREATE TABLE t1 (a INT);
+CREATE TABLE t2 (a INT PRIMARY KEY);
+INSERT INTO t1 VALUES (4),(3),(2),(1);
+INSERT INTO t2 SELECT * FROM t1;
+SELECT sequence() AS seq, a FROM t1 ORDER BY seq ASC;
+seq a
+1 4
+2 3
+3 2
+4 1
+SELECT sequence() AS seq, a FROM t1 ORDER BY seq DESC;
+seq a
+4 1
+3 2
+2 3
+1 4
+SELECT * FROM t1 WHERE a = sequence();
+a
+SELECT * FROM t2 WHERE a = sequence();
+a
+1
+2
+3
+4
+DROP FUNCTION sequence;
+DROP TABLE t1,t2;
End of 5.0 tests.
diff --git a/mysql-test/r/udf_skip_grants.result b/mysql-test/r/udf_skip_grants.result
new file mode 100644
index 00000000000..8d7081ebf6f
--- /dev/null
+++ b/mysql-test/r/udf_skip_grants.result
@@ -0,0 +1,5 @@
+CREATE FUNCTION a RETURNS STRING SONAME '';
+ERROR HY000: Can't initialize function 'a'; UDFs are unavailable with the --skip-grant-tables option
+DROP FUNCTION a;
+ERROR 42000: FUNCTION test.a does not exist
+End of 5.0 tests
diff --git a/mysql-test/r/union.result b/mysql-test/r/union.result
index 6fc630ec33c..295451867c8 100644
--- a/mysql-test/r/union.result
+++ b/mysql-test/r/union.result
@@ -1445,4 +1445,79 @@ select @var;
1
(select 2) union (select 1 into @var);
ERROR 42000: Result consisted of more than one row
+CREATE TABLE t1 (a int);
+INSERT INTO t1 VALUES (10), (20);
+CREATE TABLE t2 (b int);
+INSERT INTO t2 VALUES (10), (50), (50);
+SELECT a,1 FROM t1
+UNION
+SELECT b, COUNT(*) FROM t2 GROUP BY b WITH ROLLUP
+ORDER BY a;
+a 1
+NULL 3
+10 1
+20 1
+50 2
+SELECT a,1 FROM t1
+UNION
+SELECT b, COUNT(*) FROM t2 GROUP BY b WITH ROLLUP
+ORDER BY a DESC;
+a 1
+50 2
+20 1
+10 1
+NULL 3
+SELECT a,1 FROM t1
+UNION
+SELECT b, COUNT(*) FROM t2 GROUP BY b WITH ROLLUP
+ORDER BY a ASC LIMIT 3;
+a 1
+NULL 3
+10 1
+20 1
+SELECT a,1 FROM t1
+UNION ALL
+SELECT b, COUNT(*) FROM t2 GROUP BY b WITH ROLLUP
+ORDER BY a DESC;
+a 1
+50 2
+20 1
+10 1
+10 1
+NULL 3
+SELECT a,1 FROM t1
+UNION
+(SELECT b, COUNT(*) FROM t2 GROUP BY b WITH ROLLUP ORDER BY a);
+ERROR HY000: Incorrect usage of CUBE/ROLLUP and ORDER BY
+SELECT a,1 FROM t1
+UNION ALL
+SELECT b, COUNT(*) FROM t2 GROUP BY b WITH ROLLUP ORDER BY a
+UNION
+SELECT 1,1;
+ERROR HY000: Incorrect usage of UNION and ORDER BY
+DROP TABLE t1,t2;
+CREATE TABLE t1 (a INT);
+INSERT INTO t1 VALUES (1), (2), (3);
+CREATE TABLE t2 SELECT * FROM (SELECT NULL) a UNION SELECT a FROM t1;
+DESC t2;
+Field Type Null Key Default Extra
+NULL int(11) YES NULL
+CREATE TABLE t3 SELECT a FROM t1 UNION SELECT * FROM (SELECT NULL) a;
+DESC t3;
+Field Type Null Key Default Extra
+a int(11) YES NULL
+CREATE TABLE t4 SELECT NULL;
+DESC t4;
+Field Type Null Key Default Extra
+NULL binary(0) YES NULL
+CREATE TABLE t5 SELECT NULL UNION SELECT NULL;
+DESC t5;
+Field Type Null Key Default Extra
+NULL binary(0) YES NULL
+CREATE TABLE t6
+SELECT * FROM (SELECT * FROM (SELECT NULL)a) b UNION SELECT a FROM t1;
+DESC t6;
+Field Type Null Key Default Extra
+NULL int(11) YES NULL
+DROP TABLE t1, t2, t3, t4, t5, t6;
End of 5.0 tests
diff --git a/mysql-test/r/upgrade.result b/mysql-test/r/upgrade.result
index 76e0359c405..adf81efe8e3 100644
--- a/mysql-test/r/upgrade.result
+++ b/mysql-test/r/upgrade.result
@@ -59,3 +59,28 @@ drop table `txu@0023p@0023p1`;
drop table `txu#p#p1`;
truncate t1;
drop table t1;
+drop database if exists `tabc`;
+drop database if exists `a-b-c`;
+create database `tabc` default character set latin2;
+create table tabc.t1 (a int);
+FLUSH TABLES;
+show databases like '%a-b-c%';
+Database (%a-b-c%)
+#mysql50#a-b-c
+ALTER DATABASE `#mysql50#a-b-c` UPGRADE DATA DIRECTORY NAME;
+show databases like '%a-b-c%';
+Database (%a-b-c%)
+a-b-c
+show create database `a-b-c`;
+Database Create Database
+a-b-c CREATE DATABASE `a-b-c` /*!40100 DEFAULT CHARACTER SET latin2 */
+show tables in `a-b-c`;
+Tables_in_a-b-c
+t1
+show create table `a-b-c`.`t1`;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin2
+drop database `a-b-c`;
+drop database `tabc`;
diff --git a/mysql-test/r/user_var-binlog.result b/mysql-test/r/user_var-binlog.result
index b76b399c9e2..3a7d59798ae 100644
--- a/mysql-test/r/user_var-binlog.result
+++ b/mysql-test/r/user_var-binlog.result
@@ -21,15 +21,21 @@ ROLLBACK/*!*/;
SET @`a b`:=_latin1 0x68656C6C6F COLLATE `latin1_swedish_ci`/*!*/;
use test/*!*/;
SET TIMESTAMP=10000/*!*/;
+SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
SET @@session.sql_mode=0/*!*/;
+SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
-INSERT INTO t1 VALUES(@`a b`)/*!*/;
+SET @@session.lc_time_names=0/*!*/;
+SET @@session.collation_database=DEFAULT/*!*/;
+INSERT INTO t1 VALUES(@`a b`)
+/*!*/;
SET @`var1`:=_latin1 0x273B616161 COLLATE `latin1_swedish_ci`/*!*/;
SET @`var2`:=_binary 0x61 COLLATE `binary`/*!*/;
SET TIMESTAMP=10000/*!*/;
-insert into t1 values (@var1),(@var2)/*!*/;
+insert into t1 values (@var1),(@var2)
+/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
diff --git a/mysql-test/r/user_var.result b/mysql-test/r/user_var.result
index 6fd7b39f226..2cd132ce03c 100644
--- a/mysql-test/r/user_var.result
+++ b/mysql-test/r/user_var.result
@@ -353,3 +353,21 @@ select @a:=f4, count(f4) from t1 group by 1 desc;
2.6 1
1.6 4
drop table t1;
+create table t1 (f1 int);
+insert into t1 values (2), (1);
+select @i := f1 as j from t1 order by 1;
+j
+1
+2
+drop table t1;
+create table t1(a int);
+insert into t1 values(5),(4),(4),(3),(2),(2),(2),(1);
+set @rownum := 0;
+set @rank := 0;
+set @prev_score := NULL;
+select @rownum := @rownum + 1 as row,
+@rank := IF(@prev_score!=a, @rownum, @rank) as rank,
+@prev_score := a as score
+from t1 order by score desc;
+drop table t1;
+End of 5.1 tests
diff --git a/mysql-test/r/variables+c.result b/mysql-test/r/variables+c.result
new file mode 100644
index 00000000000..7a2976d1267
--- /dev/null
+++ b/mysql-test/r/variables+c.result
@@ -0,0 +1,7 @@
+show global status like "Uptime_%";
+Variable_name Value
+Uptime_since_flush_status #
+flush status;
+show global status like "Uptime_%";
+Variable_name Value
+Uptime_since_flush_status #
diff --git a/mysql-test/r/variables-notembedded.result b/mysql-test/r/variables-notembedded.result
new file mode 100644
index 00000000000..48a1719e2c7
--- /dev/null
+++ b/mysql-test/r/variables-notembedded.result
@@ -0,0 +1,17 @@
+---- Init ----
+set @my_slave_net_timeout =@@global.slave_net_timeout;
+---- Test ----
+set global slave_net_timeout=100;
+set global sql_slave_skip_counter=100;
+show variables like 'slave_compressed_protocol';
+Variable_name Value
+slave_compressed_protocol OFF
+show variables like 'slave_load_tmpdir';
+Variable_name Value
+slave_load_tmpdir SLAVE_LOAD_TMPDIR
+show variables like 'slave_skip_errors';
+Variable_name Value
+slave_skip_errors 3,100,137,643,1752
+---- Clean Up ----
+set global slave_net_timeout=default;
+set global sql_slave_skip_counter= 0;
diff --git a/mysql-test/r/variables.result b/mysql-test/r/variables.result
index ff43993cfdb..e5c3c860c93 100644
--- a/mysql-test/r/variables.result
+++ b/mysql-test/r/variables.result
@@ -220,10 +220,10 @@ select * from information_schema.global_variables where variable_name like 'myis
VARIABLE_NAME VARIABLE_VALUE
MYISAM_MAX_SORT_FILE_SIZE 1048576
set GLOBAL myisam_max_sort_file_size=default;
-show variables like 'myisam_max_sort_file_size';
+show global variables like 'myisam_max_sort_file_size';
Variable_name Value
myisam_max_sort_file_size FILE_SIZE
-select * from information_schema.session_variables where variable_name like 'myisam_max_sort_file_size';
+select * from information_schema.global_variables where variable_name like 'myisam_max_sort_file_size';
VARIABLE_NAME VARIABLE_VALUE
MYISAM_MAX_SORT_FILE_SIZE FILE_SIZE
set global net_retry_count=10, session net_retry_count=10;
@@ -279,6 +279,8 @@ NET_READ_TIMEOUT 600
NET_RETRY_COUNT 10
NET_WRITE_TIMEOUT 500
set net_buffer_length=1;
+Warnings:
+Warning 1292 Truncated incorrect net_buffer_length value: '1'
show variables like 'net_buffer_length';
Variable_name Value
net_buffer_length 1024
@@ -286,6 +288,8 @@ select * from information_schema.session_variables where variable_name like 'net
VARIABLE_NAME VARIABLE_VALUE
NET_BUFFER_LENGTH 1024
set net_buffer_length=2000000000;
+Warnings:
+Warning 1292 Truncated incorrect net_buffer_length value: '2000000000'
show variables like 'net_buffer_length';
Variable_name Value
net_buffer_length 1048576
@@ -310,14 +314,14 @@ show variables like '%alloc%';
Variable_name Value
query_alloc_block_size 8192
query_prealloc_size 8192
-range_alloc_block_size 2048
+range_alloc_block_size 4096
transaction_alloc_block_size 8192
transaction_prealloc_size 4096
select * from information_schema.session_variables where variable_name like '%alloc%' order by 1;
VARIABLE_NAME VARIABLE_VALUE
QUERY_ALLOC_BLOCK_SIZE 8192
QUERY_PREALLOC_SIZE 8192
-RANGE_ALLOC_BLOCK_SIZE 2048
+RANGE_ALLOC_BLOCK_SIZE 4096
TRANSACTION_ALLOC_BLOCK_SIZE 8192
TRANSACTION_PREALLOC_SIZE 4096
set @@range_alloc_block_size=1024*16;
@@ -349,14 +353,14 @@ show variables like '%alloc%';
Variable_name Value
query_alloc_block_size 8192
query_prealloc_size 8192
-range_alloc_block_size 2048
+range_alloc_block_size 4096
transaction_alloc_block_size 8192
transaction_prealloc_size 4096
select * from information_schema.session_variables where variable_name like '%alloc%' order by 1;
VARIABLE_NAME VARIABLE_VALUE
QUERY_ALLOC_BLOCK_SIZE 8192
QUERY_PREALLOC_SIZE 8192
-RANGE_ALLOC_BLOCK_SIZE 2048
+RANGE_ALLOC_BLOCK_SIZE 4096
TRANSACTION_ALLOC_BLOCK_SIZE 8192
TRANSACTION_PREALLOC_SIZE 4096
SELECT @@version LIKE 'non-existent';
@@ -414,6 +418,8 @@ select @@autocommit, @@big_tables;
@@autocommit @@big_tables
1 1
set global binlog_cache_size=100;
+Warnings:
+Warning 1292 Truncated incorrect binlog_cache_size value: '100'
set bulk_insert_buffer_size=100;
set character set cp1251_koi8;
set character set default;
@@ -442,17 +448,34 @@ set global flush_time=100;
set insert_id=1;
set interactive_timeout=100;
set join_buffer_size=100;
+Warnings:
+Warning 1292 Truncated incorrect join_buffer_size value: '100'
set last_insert_id=1;
set global local_infile=1;
-set long_query_time=100;
+set long_query_time=0.000001;
+select @@long_query_time;
+@@long_query_time
+0.000001
+set long_query_time=100.000001;
+select @@long_query_time;
+@@long_query_time
+100.000001
set low_priority_updates=1;
set max_allowed_packet=100;
+Warnings:
+Warning 1292 Truncated incorrect max_allowed_packet value: '100'
set global max_binlog_cache_size=100;
+Warnings:
+Warning 1292 Truncated incorrect max_binlog_cache_size value: '100'
set global max_binlog_size=100;
+Warnings:
+Warning 1292 Truncated incorrect max_binlog_size value: '100'
set global max_connect_errors=100;
set global max_connections=100;
set global max_delayed_threads=100;
set max_heap_table_size=100;
+Warnings:
+Warning 1292 Truncated incorrect max_heap_table_size value: '100'
set max_join_size=100;
set max_sort_length=100;
set max_tmp_tables=100;
@@ -463,17 +486,25 @@ select @@max_user_connections;
set global max_write_lock_count=100;
set myisam_sort_buffer_size=100;
set net_buffer_length=100;
+Warnings:
+Warning 1292 Truncated incorrect net_buffer_length value: '100'
set net_read_timeout=100;
set net_write_timeout=100;
set global query_cache_limit=100;
set global query_cache_size=100;
set global query_cache_type=demand;
set read_buffer_size=100;
+Warnings:
+Warning 1292 Truncated incorrect read_buffer_size value: '100'
set read_rnd_buffer_size=100;
+Warnings:
+Warning 1292 Truncated incorrect read_rnd_buffer_size value: '100'
set global rpl_recovery_rank=100;
set global server_id=100;
set global slow_launch_time=100;
set sort_buffer_size=100;
+Warnings:
+Warning 1292 Truncated incorrect sort_buffer_size value: '100'
set @@max_sp_recursion_depth=10;
select @@max_sp_recursion_depth;
@@max_sp_recursion_depth
@@ -513,9 +544,12 @@ set storage_engine=myisam;
set global thread_cache_size=100;
set timestamp=1, timestamp=default;
set tmp_table_size=100;
+Warnings:
+Warning 1292 Truncated incorrect tmp_table_size value: '100'
set tx_isolation="READ-COMMITTED";
set wait_timeout=100;
set log_warnings=1;
+set global log_warnings=1;
select @@session.insert_id;
@@session.insert_id
1
@@ -681,6 +715,8 @@ SELECT * FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME LIKE 'MYI
VARIABLE_NAME VARIABLE_VALUE
MYISAM_DATA_POINTER_SIZE 7
SET GLOBAL table_open_cache=-1;
+Warnings:
+Warning 1292 Truncated incorrect table_open_cache value: '0'
SHOW VARIABLES LIKE 'table_open_cache';
Variable_name Value
table_open_cache 1
@@ -789,6 +825,9 @@ set @@query_prealloc_size = @test;
select @@query_prealloc_size = @test;
@@query_prealloc_size = @test
1
+set global sql_mode=repeat('a',80);
+ERROR 42000: Variable 'sql_mode' can't be set to the value of 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+End of 4.1 tests
create table t1 (a int);
select a into @x from t1;
Warnings:
diff --git a/mysql-test/r/variables_debug.result b/mysql-test/r/variables_debug.result
new file mode 100644
index 00000000000..9cd133dddb1
--- /dev/null
+++ b/mysql-test/r/variables_debug.result
@@ -0,0 +1,12 @@
+set debug= 'T';
+select @@debug;
+@@debug
+T
+set debug= '+P';
+select @@debug;
+@@debug
+P:T
+set debug= '-P';
+select @@debug;
+@@debug
+T
diff --git a/mysql-test/r/view.result b/mysql-test/r/view.result
index 8a926d44f5f..fef88e3bd64 100644
--- a/mysql-test/r/view.result
+++ b/mysql-test/r/view.result
@@ -625,7 +625,7 @@ drop table t1;
create table t1 (a int, b int);
create view v1 as select a, sum(b) from t1 group by a;
select b from v1 use index (some_index) where b=1;
-ERROR 42000: Key 'some_index' doesn't exist in table 'v1'
+ERROR HY000: Incorrect usage of index hints and VIEW
drop view v1;
drop table t1;
create table t1 (col1 char(5),col2 char(5));
@@ -2701,27 +2701,26 @@ CREATE TABLE t1(
fName varchar(25) NOT NULL,
lName varchar(25) NOT NULL,
DOB date NOT NULL,
+test_date date NOT NULL,
uID int unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY);
-INSERT INTO t1(fName, lName, DOB) VALUES
-('Hank', 'Hill', '1964-09-29'),
-('Tom', 'Adams', '1908-02-14'),
-('Homer', 'Simpson', '1968-03-05');
+INSERT INTO t1(fName, lName, DOB, test_date) VALUES
+('Hank', 'Hill', '1964-09-29', '2007-01-01'),
+('Tom', 'Adams', '1908-02-14', '2007-01-01'),
+('Homer', 'Simpson', '1968-03-05', '2007-01-01');
CREATE VIEW v1 AS
-SELECT (year(now())-year(DOB)) AS Age
+SELECT (year(test_date)-year(DOB)) AS Age
FROM t1 HAVING Age < 75;
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 (year(now()) - year(`t1`.`DOB`)) AS `Age` from `t1` having (`Age` < 75) latin1 latin1_swedish_ci
-set timestamp=1136066400;
-SELECT (year(now())-year(DOB)) AS Age FROM t1 HAVING Age < 75;
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select (year(`t1`.`test_date`) - year(`t1`.`DOB`)) AS `Age` from `t1` having (`Age` < 75) latin1 latin1_swedish_ci
+SELECT (year(test_date)-year(DOB)) AS Age FROM t1 HAVING Age < 75;
Age
-42
-38
-set timestamp=1136066400;
+43
+39
SELECT * FROM v1;
Age
-42
-38
+43
+39
DROP VIEW v1;
DROP TABLE t1;
CREATE TABLE t1 (id int NOT NULL PRIMARY KEY, a char(6) DEFAULT 'xxx');
@@ -3062,7 +3061,7 @@ TheEnd
TheEnd
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 _latin1'The\ZEnd' AS `TheEnd` latin1 latin1_swedish_ci
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select 'The\ZEnd' AS `TheEnd` latin1 latin1_swedish_ci
DROP VIEW v1;
CREATE TABLE t1 (mydate DATETIME);
INSERT INTO t1 VALUES
@@ -3559,7 +3558,105 @@ table_name is_updatable
v1 NO
drop view v1;
drop table t1;
-End of 5.0 tests.
+CREATE TABLE t1 (a INT);
+INSERT INTO t1 VALUES (1),(2);
+CREATE VIEW v1 AS SELECT * FROM t1;
+SELECT * FROM v1 USE KEY(non_existant);
+ERROR HY000: Incorrect usage of index hints and VIEW
+SELECT * FROM v1 FORCE KEY(non_existant);
+ERROR HY000: Incorrect usage of index hints and VIEW
+SELECT * FROM v1 IGNORE KEY(non_existant);
+ERROR HY000: Incorrect usage of index hints and VIEW
+DROP VIEW v1;
+DROP TABLE t1;
+CREATE TABLE t1 (a INT NOT NULL AUTO_INCREMENT, b INT NOT NULL DEFAULT 0,
+PRIMARY KEY(a), KEY (b));
+INSERT INTO t1 VALUES (),(),(),(),(),(),(),(),(),(),(),(),(),(),();
+CREATE VIEW v1 AS SELECT * FROM t1 FORCE KEY (PRIMARY,b) ORDER BY a;
+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`,`t1`.`b` AS `b` from `t1` FORCE INDEX (PRIMARY) FORCE INDEX (`b`) order by `t1`.`a` latin1 latin1_swedish_ci
+EXPLAIN SELECT * FROM v1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index NULL PRIMARY 4 NULL 15
+CREATE VIEW v2 AS SELECT * FROM t1 USE KEY () ORDER BY a;
+SHOW CREATE VIEW v2;
+View Create View character_set_client collation_connection
+v2 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v2` AS select `t1`.`a` AS `a`,`t1`.`b` AS `b` from `t1` USE INDEX () order by `t1`.`a` latin1 latin1_swedish_ci
+EXPLAIN SELECT * FROM v2;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 15 Using filesort
+CREATE VIEW v3 AS SELECT * FROM t1 IGNORE KEY (b) ORDER BY a;
+SHOW CREATE VIEW v3;
+View Create View character_set_client collation_connection
+v3 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v3` AS select `t1`.`a` AS `a`,`t1`.`b` AS `b` from `t1` IGNORE INDEX (`b`) order by `t1`.`a` latin1 latin1_swedish_ci
+EXPLAIN SELECT * FROM v3;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 15 Using filesort
+DROP VIEW v1;
+DROP VIEW v2;
+DROP VIEW v3;
+DROP TABLE t1;
+#
+# Bug#29477: Not all fields of the target table were checked to have
+# a default value when inserting into a view.
+#
+create table t1(f1 int, f2 int not null);
+create view v1 as select f1 from t1;
+insert into v1 values(1);
+Warnings:
+Warning 1423 Field of view 'test.v1' underlying table doesn't have a default value
+set @old_mode=@@sql_mode;
+set @@sql_mode=traditional;
+insert into v1 values(1);
+ERROR HY000: Field of view 'test.v1' underlying table doesn't have a default value
+set @@sql_mode=@old_mode;
+drop view v1;
+drop table t1;
+create table t1 (a int, key(a));
+create table t2 (c int);
+create view v1 as select a b from t1;
+create view v2 as select 1 a from t2, v1 where c in
+(select 1 from t1 where b = a);
+insert into t1 values (1), (1);
+insert into t2 values (1), (1);
+prepare stmt from "select * from v2 where a = 1";
+execute stmt;
+a
+1
+1
+1
+1
+drop view v1, v2;
+drop table t1, t2;
+CREATE TABLE t1 (a INT);
+CREATE VIEW v1 AS SELECT p.a AS a FROM t1 p, t1 q;
+INSERT INTO t1 VALUES (1), (1);
+SELECT MAX(a), COUNT(DISTINCT a) FROM v1 GROUP BY a;
+MAX(a) COUNT(DISTINCT a)
+1 1
+DROP VIEW v1;
+DROP TABLE t1;
+# -----------------------------------------------------------------
+# -- Bug#34337: Server crash when Altering a view using a table name.
+# -----------------------------------------------------------------
+
+DROP TABLE IF EXISTS t1;
+
+CREATE TABLE t1(c1 INT);
+
+SELECT * FROM t1;
+c1
+ALTER ALGORITHM=TEMPTABLE SQL SECURITY INVOKER VIEW t1 (c2) AS SELECT (1);
+ERROR HY000: 'test.t1' is not VIEW
+
+DROP TABLE t1;
+
+# -- End of test case for Bug#34337.
+
+# -----------------------------------------------------------------
+# -- End of 5.0 tests.
+# -----------------------------------------------------------------
DROP DATABASE IF EXISTS `d-1`;
CREATE DATABASE `d-1`;
USE `d-1`;
@@ -3579,4 +3676,102 @@ DROP TABLE `t-2`;
DROP VIEW `v-2`;
DROP DATABASE `d-1`;
USE test;
-End of 5.1 tests.
+
+#
+# Bug#26676: VIEW using old table schema in a session.
+#
+
+DROP VIEW IF EXISTS v1;
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1(c1 INT, c2 INT);
+INSERT INTO t1 VALUES (1, 2), (3, 4);
+
+SELECT * FROM t1;
+c1 c2
+1 2
+3 4
+
+CREATE VIEW v1 AS SELECT * FROM t1;
+
+SELECT * FROM v1;
+c1 c2
+1 2
+3 4
+
+ALTER TABLE t1 ADD COLUMN c3 INT AFTER c2;
+
+SELECT * FROM t1;
+c1 c2 c3
+1 2 NULL
+3 4 NULL
+
+SELECT * FROM v1;
+c1 c2
+1 2
+3 4
+
+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`.`c1` AS `c1`,`t1`.`c2` AS `c2` from `t1` latin1 latin1_swedish_ci
+
+DROP VIEW v1;
+DROP TABLE t1;
+
+# End of test case for Bug#26676.
+
+# -----------------------------------------------------------------
+# -- Bug#32538: View definition picks up character set, but not collation
+# -----------------------------------------------------------------
+
+DROP VIEW IF EXISTS v1;
+
+SET collation_connection = latin1_general_ci;
+CREATE VIEW v1 AS SELECT _latin1 'text1' AS c1, 'text2' AS c2;
+
+SELECT COLLATION(c1), COLLATION(c2) FROM v1;
+COLLATION(c1) COLLATION(c2)
+latin1_swedish_ci latin1_general_ci
+
+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 _latin1'text1' AS `c1`,'text2' AS `c2` latin1 latin1_general_ci
+
+SELECT * FROM v1 WHERE c1 = 'text1';
+ERROR HY000: Illegal mix of collations (latin1_swedish_ci,COERCIBLE) and (latin1_general_ci,COERCIBLE) for operation '='
+
+SELECT * FROM v1 WHERE c2 = 'text2';
+c1 c2
+text1 text2
+
+use test;
+SET names latin1;
+
+SELECT COLLATION(c1), COLLATION(c2) FROM v1;
+COLLATION(c1) COLLATION(c2)
+latin1_swedish_ci latin1_general_ci
+
+SELECT * FROM v1 WHERE c1 = 'text1';
+c1 c2
+text1 text2
+
+SELECT * FROM v1 WHERE c2 = 'text2';
+ERROR HY000: Illegal mix of collations (latin1_general_ci,COERCIBLE) and (latin1_swedish_ci,COERCIBLE) for operation '='
+
+DROP VIEW v1;
+
+# -- End of test case for Bug#32538.
+
+drop view if exists a;
+drop procedure if exists p;
+create procedure p()
+begin
+declare continue handler for sqlexception begin end;
+create view a as select 1;
+end|
+call p();
+call p();
+drop view a;
+drop procedure p;
+# -----------------------------------------------------------------
+# -- End of 5.1 tests.
+# -----------------------------------------------------------------
diff --git a/mysql-test/r/view_grant.result b/mysql-test/r/view_grant.result
index 49c98d8e03f..3585635d0f9 100644
--- a/mysql-test/r/view_grant.result
+++ b/mysql-test/r/view_grant.result
@@ -469,6 +469,7 @@ use test;
REVOKE ALL PRIVILEGES, GRANT OPTION FROM mysqltest_1@localhost;
drop database mysqltest;
drop view if exists v1;
+drop table if exists t1;
create table t1 as select * from mysql.user where user='';
delete from mysql.user where user='';
flush privileges;
@@ -514,10 +515,10 @@ drop user mysqltest_1@localhost;
drop database mysqltest;
create definer=some_user@`` sql security invoker view v1 as select 1;
Warnings:
-Note 1449 There is no 'some_user'@'' registered
+Note 1449 The user specified as a definer ('some_user'@'') does not exist
create definer=some_user@localhost sql security invoker view v2 as select 1;
Warnings:
-Note 1449 There is no 'some_user'@'localhost' registered
+Note 1449 The user specified as a definer ('some_user'@'localhost') does not exist
show create view v1;
View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`some_user`@`` SQL SECURITY INVOKER VIEW `v1` AS select 1 AS `1` latin1 latin1_swedish_ci
@@ -600,14 +601,14 @@ CREATE TABLE t1 (a INT PRIMARY KEY);
INSERT INTO t1 VALUES (1), (2), (3);
CREATE DEFINER = 'no-such-user'@localhost VIEW v AS SELECT a from t1;
Warnings:
-Note 1449 There is no 'no-such-user'@'localhost' registered
+Note 1449 The user specified as a definer ('no-such-user'@'localhost') does not exist
SHOW CREATE VIEW v;
View Create View character_set_client collation_connection
v CREATE ALGORITHM=UNDEFINED DEFINER=`no-such-user`@`localhost` SQL SECURITY DEFINER VIEW `v` AS select `test`.`t1`.`a` AS `a` from `t1` latin1 latin1_swedish_ci
Warnings:
Warning 1356 View 'test.v' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
SELECT * FROM v;
-ERROR HY000: There is no 'no-such-user'@'localhost' registered
+ERROR HY000: The user specified as a definer ('no-such-user'@'localhost') does not exist
DROP VIEW v;
DROP TABLE t1;
USE test;
@@ -721,7 +722,7 @@ SELECT * FROM v1;
ERROR 42000: SELECT command denied to user 'inv_17254'@'localhost' for table 'v1'
for a superuser
SELECT * FROM v1;
-ERROR HY000: There is no 'def_17254'@'localhost' registered
+ERROR HY000: The user specified as a definer ('def_17254'@'localhost') does not exist
DROP USER inv_17254@localhost;
DROP DATABASE db17254;
DROP DATABASE IF EXISTS mysqltest_db1;
@@ -778,15 +779,60 @@ GRANT CREATE VIEW ON db26813.v2 TO u26813@localhost;
GRANT DROP, CREATE VIEW ON db26813.v3 TO u26813@localhost;
GRANT SELECT ON db26813.t1 TO u26813@localhost;
ALTER VIEW v1 AS SELECT f2 FROM t1;
-ERROR 42000: CREATE VIEW command denied to user 'u26813'@'localhost' for table 'v1'
+ERROR 42000: Access denied; you need the SUPER privilege for this operation
ALTER VIEW v2 AS SELECT f2 FROM t1;
-ERROR 42000: DROP command denied to user 'u26813'@'localhost' for table 'v2'
+ERROR 42000: Access denied; you need the SUPER privilege for this operation
ALTER VIEW v3 AS SELECT f2 FROM t1;
+ERROR 42000: Access denied; you need the SUPER privilege for this operation
SHOW CREATE VIEW v3;
View Create View character_set_client collation_connection
-v3 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v3` AS select `t1`.`f2` AS `f2` from `t1` latin1 latin1_swedish_ci
+v3 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v3` AS select `t1`.`f1` AS `f1` from `t1` latin1 latin1_swedish_ci
DROP USER u26813@localhost;
DROP DATABASE db26813;
+#
+# Bug#29908: A user can gain additional access through the ALTER VIEW.
+#
+CREATE DATABASE mysqltest_29908;
+USE mysqltest_29908;
+CREATE TABLE t1(f1 INT, f2 INT);
+CREATE USER u29908_1@localhost;
+CREATE DEFINER = u29908_1@localhost VIEW v1 AS SELECT f1 FROM t1;
+CREATE DEFINER = u29908_1@localhost SQL SECURITY INVOKER VIEW v2 AS
+SELECT f1 FROM t1;
+GRANT DROP, CREATE VIEW, SHOW VIEW ON mysqltest_29908.v1 TO u29908_1@localhost;
+GRANT DROP, CREATE VIEW, SHOW VIEW ON mysqltest_29908.v2 TO u29908_1@localhost;
+GRANT SELECT ON mysqltest_29908.t1 TO u29908_1@localhost;
+CREATE USER u29908_2@localhost;
+GRANT DROP, CREATE VIEW ON mysqltest_29908.v1 TO u29908_2@localhost;
+GRANT DROP, CREATE VIEW, SHOW VIEW ON mysqltest_29908.v2 TO u29908_2@localhost;
+GRANT SELECT ON mysqltest_29908.t1 TO u29908_2@localhost;
+ALTER VIEW v1 AS SELECT f2 FROM t1;
+ERROR 42000: Access denied; you need the SUPER privilege for this operation
+ALTER VIEW v2 AS SELECT f2 FROM t1;
+ERROR 42000: Access denied; you need the SUPER privilege for this operation
+SHOW CREATE VIEW v2;
+View Create View character_set_client collation_connection
+v2 CREATE ALGORITHM=UNDEFINED DEFINER=`u29908_1`@`localhost` SQL SECURITY INVOKER VIEW `v2` AS select `t1`.`f1` AS `f1` from `t1` latin1 latin1_swedish_ci
+ALTER VIEW v1 AS SELECT f2 FROM t1;
+SHOW CREATE VIEW v1;
+View Create View character_set_client collation_connection
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`u29908_1`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f2` AS `f2` from `t1` latin1 latin1_swedish_ci
+ALTER VIEW v2 AS SELECT f2 FROM t1;
+SHOW CREATE VIEW v2;
+View Create View character_set_client collation_connection
+v2 CREATE ALGORITHM=UNDEFINED DEFINER=`u29908_1`@`localhost` SQL SECURITY INVOKER VIEW `v2` AS select `t1`.`f2` AS `f2` from `t1` latin1 latin1_swedish_ci
+ALTER VIEW v1 AS SELECT f1 FROM t1;
+SHOW CREATE VIEW v1;
+View Create View character_set_client collation_connection
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`u29908_1`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `f1` from `t1` latin1 latin1_swedish_ci
+ALTER VIEW v2 AS SELECT f1 FROM t1;
+SHOW CREATE VIEW v2;
+View Create View character_set_client collation_connection
+v2 CREATE ALGORITHM=UNDEFINED DEFINER=`u29908_1`@`localhost` SQL SECURITY INVOKER VIEW `v2` AS select `t1`.`f1` AS `f1` from `t1` latin1 latin1_swedish_ci
+DROP USER u29908_1@localhost;
+DROP USER u29908_2@localhost;
+DROP DATABASE mysqltest_29908;
+#######################################################################
DROP DATABASE IF EXISTS mysqltest1;
DROP DATABASE IF EXISTS mysqltest2;
CREATE DATABASE mysqltest1;
@@ -886,13 +932,15 @@ View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`i` AS `i` from `t1` latin1 latin1_swedish_ci
ALTER DEFINER=no_such@user_1 VIEW v1 AS SELECT * FROM t1;
Warnings:
-Note 1449 There is no 'no_such'@'user_1' registered
+Note 1449 The user specified as a definer ('no_such'@'user_1') does not exist
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`no_such`@`user_1` SQL SECURITY DEFINER VIEW `v1` AS select `test`.`t1`.`i` AS `i` from `t1` 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
ALTER ALGORITHM=MERGE VIEW v1 AS SELECT * FROM t1;
+Warnings:
+Note 1449 The user specified as a definer ('no_such'@'user_1') does not exist
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=MERGE DEFINER=`no_such`@`user_1` SQL SECURITY DEFINER VIEW `v1` AS select `test`.`t1`.`i` AS `i` from `t1` latin1 latin1_swedish_ci
@@ -900,7 +948,7 @@ 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
ALTER ALGORITHM=TEMPTABLE DEFINER=no_such@user_2 VIEW v1 AS SELECT * FROM t1;
Warnings:
-Note 1449 There is no 'no_such'@'user_2' registered
+Note 1449 The user specified as a definer ('no_such'@'user_2') does not exist
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=TEMPTABLE DEFINER=`no_such`@`user_2` SQL SECURITY DEFINER VIEW `v1` AS select `test`.`t1`.`i` AS `i` from `t1` latin1 latin1_swedish_ci
diff --git a/mysql-test/r/warnings.result b/mysql-test/r/warnings.result
index 2929328a9b1..653309efa42 100644
--- a/mysql-test/r/warnings.result
+++ b/mysql-test/r/warnings.result
@@ -98,8 +98,7 @@ Warning 1265 Data truncated for column 'c' at row 1
Warning 1265 Data truncated for column 'c' at row 2
alter table t1 add d char(2);
update t1 set a=NULL where a=10;
-Warnings:
-Warning 1048 Column 'a' cannot be null
+ERROR 23000: Column 'a' cannot be null
update t1 set c='mysql ab' where c='test';
Warnings:
Warning 1265 Data truncated for column 'c' at row 4
@@ -277,4 +276,42 @@ DROP TABLE t3;
DROP PROCEDURE sp1;
DROP PROCEDURE sp2;
DROP PROCEDURE sp3;
+create table t1 (c_char char(255), c_varchar varchar(255), c_tinytext tinytext);
+create table t2 (c_tinyblob tinyblob);
+set @c = repeat(' ', 256);
+set @q = repeat('q', 256);
+set sql_mode = '';
+insert into t1 values(@c, @c, @c);
+Warnings:
+Note 1265 Data truncated for column 'c_char' at row 1
+Note 1265 Data truncated for column 'c_varchar' at row 1
+Note 1265 Data truncated for column 'c_tinytext' at row 1
+insert into t2 values(@c);
+Warnings:
+Warning 1265 Data truncated for column 'c_tinyblob' at row 1
+insert into t1 values(@q, @q, @q);
+Warnings:
+Warning 1265 Data truncated for column 'c_char' at row 1
+Warning 1265 Data truncated for column 'c_varchar' at row 1
+Warning 1265 Data truncated for column 'c_tinytext' at row 1
+insert into t2 values(@q);
+Warnings:
+Warning 1265 Data truncated for column 'c_tinyblob' at row 1
+set sql_mode = 'traditional';
+insert into t1 values(@c, @c, @c);
+Warnings:
+Note 1265 Data truncated for column 'c_char' at row 1
+Note 1265 Data truncated for column 'c_varchar' at row 1
+Note 1265 Data truncated for column 'c_tinytext' at row 1
+insert into t2 values(@c);
+ERROR 22001: Data too long for column 'c_tinyblob' at row 1
+insert into t1 values(@q, NULL, NULL);
+ERROR 22001: Data too long for column 'c_char' at row 1
+insert into t1 values(NULL, @q, NULL);
+ERROR 22001: Data too long for column 'c_varchar' at row 1
+insert into t1 values(NULL, NULL, @q);
+ERROR 22001: Data too long for column 'c_tinytext' at row 1
+insert into t2 values(@q);
+ERROR 22001: Data too long for column 'c_tinyblob' at row 1
+drop table t1, t2;
End of 5.0 tests
diff --git a/mysql-test/r/windows.result b/mysql-test/r/windows.result
index c97d3dd8867..e58a891838a 100644
--- a/mysql-test/r/windows.result
+++ b/mysql-test/r/windows.result
@@ -19,6 +19,7 @@ id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
2 SUBQUERY NULL NULL NULL NULL NULL NULL NULL No tables used
End of 5.0 tests.
+drop procedure if exists proc_1;
create procedure proc_1() install plugin my_plug soname '\\root\\some_plugin.dll';
call proc_1();
ERROR HY000: No paths allowed for shared library
diff --git a/mysql-test/r/windows_shm.result b/mysql-test/r/windows_shm.result
deleted file mode 100644
index c60049bece8..00000000000
--- a/mysql-test/r/windows_shm.result
+++ /dev/null
@@ -1,2 +0,0 @@
-mysqld is alive
-End of 5.0 tests.
diff --git a/mysql-test/r/xml.result b/mysql-test/r/xml.result
index 95ad19a886f..56c884343e3 100644
--- a/mysql-test/r/xml.result
+++ b/mysql-test/r/xml.result
@@ -647,32 +647,32 @@ select extractValue('<a>a','/a');
extractValue('<a>a','/a')
NULL
Warnings:
-Warning 1522 Incorrect XML value: 'parse error at line 1 pos 5: unexpected END-OF-INPUT'
+Warning 1525 Incorrect XML value: 'parse error at line 1 pos 5: unexpected END-OF-INPUT'
select extractValue('<a>a<','/a');
extractValue('<a>a<','/a')
NULL
Warnings:
-Warning 1522 Incorrect XML value: 'parse error at line 1 pos 6: END-OF-INPUT unexpected (ident or '/' wanted)'
+Warning 1525 Incorrect XML value: 'parse error at line 1 pos 6: END-OF-INPUT unexpected (ident or '/' wanted)'
select extractValue('<a>a</','/a');
extractValue('<a>a</','/a')
NULL
Warnings:
-Warning 1522 Incorrect XML value: 'parse error at line 1 pos 7: END-OF-INPUT unexpected (ident wanted)'
+Warning 1525 Incorrect XML value: 'parse error at line 1 pos 7: END-OF-INPUT unexpected (ident wanted)'
select extractValue('<a>a</a','/a');
extractValue('<a>a</a','/a')
NULL
Warnings:
-Warning 1522 Incorrect XML value: 'parse error at line 1 pos 8: END-OF-INPUT unexpected ('>' wanted)'
+Warning 1525 Incorrect XML value: 'parse error at line 1 pos 8: END-OF-INPUT unexpected ('>' wanted)'
select extractValue('<a>a</a></b>','/a');
extractValue('<a>a</a></b>','/a')
NULL
Warnings:
-Warning 1522 Incorrect XML value: 'parse error at line 1 pos 12: '</b>' unexpected (END-OF-INPUT wanted)'
+Warning 1525 Incorrect XML value: 'parse error at line 1 pos 12: '</b>' unexpected (END-OF-INPUT wanted)'
select extractValue('<a b=>a</a>','/a');
extractValue('<a b=>a</a>','/a')
NULL
Warnings:
-Warning 1522 Incorrect XML value: 'parse error at line 1 pos 7: '>' unexpected (ident or string wanted)'
+Warning 1525 Incorrect XML value: 'parse error at line 1 pos 7: '>' unexpected (ident or string wanted)'
select extractValue('<e>1</e>','position()');
ERROR HY000: XPATH syntax error: ''
select extractValue('<e>1</e>','last()');
@@ -723,17 +723,17 @@ select extractValue('<zot><tim0><01>10:39:15</01><02>140</02></tim0></zot>','//*
extractValue('<zot><tim0><01>10:39:15</01><02>140</02></tim0></zot>','//*')
NULL
Warnings:
-Warning 1522 Incorrect XML value: 'parse error at line 1 pos 13: unknown token unexpected (ident or '/' wanted)'
+Warning 1525 Incorrect XML value: 'parse error at line 1 pos 13: unknown token unexpected (ident or '/' wanted)'
select extractValue('<.>test</.>','//*');
extractValue('<.>test</.>','//*')
NULL
Warnings:
-Warning 1522 Incorrect XML value: 'parse error at line 1 pos 2: unknown token unexpected (ident or '/' wanted)'
+Warning 1525 Incorrect XML value: 'parse error at line 1 pos 2: unknown token unexpected (ident or '/' wanted)'
select extractValue('<->test</->','//*');
extractValue('<->test</->','//*')
NULL
Warnings:
-Warning 1522 Incorrect XML value: 'parse error at line 1 pos 2: unknown token unexpected (ident or '/' wanted)'
+Warning 1525 Incorrect XML value: 'parse error at line 1 pos 2: unknown token unexpected (ident or '/' wanted)'
select extractValue('<:>test</:>','//*');
extractValue('<:>test</:>','//*')
test
@@ -1012,3 +1012,21 @@ select ExtractValue('<a>a</a>', '/a[@x=@y0123456789_0123456789_0123456789_012345
ERROR HY000: XPATH error: comparison of two nodesets is not supported: '=@y0123456789_0123456789_0123456'
select ExtractValue('<a>a</a>', '/a[@x=$y0123456789_0123456789_0123456789_0123456789]');
ERROR HY000: Unknown XPATH variable at: '$y0123456789_0123456789_01234567'
+select updatexml(NULL, 1, 1), updatexml(1, NULL, 1), updatexml(1, 1, NULL);
+updatexml(NULL, 1, 1) updatexml(1, NULL, 1) updatexml(1, 1, NULL)
+NULL NULL NULL
+select updatexml(NULL, NULL, 1), updatexml(1, NULL, NULL),
+updatexml(NULL, 1, NULL);
+updatexml(NULL, NULL, 1) updatexml(1, NULL, NULL) updatexml(NULL, 1, NULL)
+NULL NULL NULL
+select updatexml(NULL, NULL, NULL);
+updatexml(NULL, NULL, NULL)
+NULL
+CREATE TABLE t1(a INT NOT NULL);
+INSERT INTO t1 VALUES (0), (0);
+SELECT 1 FROM t1 ORDER BY(UPDATEXML(a, '1', '1'));
+1
+1
+1
+DROP TABLE t1;
+End of 5.1 tests
diff --git a/mysql-test/std_data/bug30435_10k_items.txt b/mysql-test/std_data/bug30435_10k_items.txt
new file mode 100644
index 00000000000..9812045fd89
--- /dev/null
+++ b/mysql-test/std_data/bug30435_10k_items.txt
@@ -0,0 +1,10000 @@
+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
+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
+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
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671
+672
+673
+674
+675
+676
+677
+678
+679
+680
+681
+682
+683
+684
+685
+686
+687
+688
+689
+690
+691
+692
+693
+694
+695
+696
+697
+698
+699
+700
+701
+702
+703
+704
+705
+706
+707
+708
+709
+710
+711
+712
+713
+714
+715
+716
+717
+718
+719
+720
+721
+722
+723
+724
+725
+726
+727
+728
+729
+730
+731
+732
+733
+734
+735
+736
+737
+738
+739
+740
+741
+742
+743
+744
+745
+746
+747
+748
+749
+750
+751
+752
+753
+754
+755
+756
+757
+758
+759
+760
+761
+762
+763
+764
+765
+766
+767
+768
+769
+770
+771
+772
+773
+774
+775
+776
+777
+778
+779
+780
+781
+782
+783
+784
+785
+786
+787
+788
+789
+790
+791
+792
+793
+794
+795
+796
+797
+798
+799
+800
+801
+802
+803
+804
+805
+806
+807
+808
+809
+810
+811
+812
+813
+814
+815
+816
+817
+818
+819
+820
+821
+822
+823
+824
+825
+826
+827
+828
+829
+830
+831
+832
+833
+834
+835
+836
+837
+838
+839
+840
+841
+842
+843
+844
+845
+846
+847
+848
+849
+850
+851
+852
+853
+854
+855
+856
+857
+858
+859
+860
+861
+862
+863
+864
+865
+866
+867
+868
+869
+870
+871
+872
+873
+874
+875
+876
+877
+878
+879
+880
+881
+882
+883
+884
+885
+886
+887
+888
+889
+890
+891
+892
+893
+894
+895
+896
+897
+898
+899
+900
+901
+902
+903
+904
+905
+906
+907
+908
+909
+910
+911
+912
+913
+914
+915
+916
+917
+918
+919
+920
+921
+922
+923
+924
+925
+926
+927
+928
+929
+930
+931
+932
+933
+934
+935
+936
+937
+938
+939
+940
+941
+942
+943
+944
+945
+946
+947
+948
+949
+950
+951
+952
+953
+954
+955
+956
+957
+958
+959
+960
+961
+962
+963
+964
+965
+966
+967
+968
+969
+970
+971
+972
+973
+974
+975
+976
+977
+978
+979
+980
+981
+982
+983
+984
+985
+986
+987
+988
+989
+990
+991
+992
+993
+994
+995
+996
+997
+998
+999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1008
+1009
+1010
+1011
+1012
+1013
+1014
+1015
+1016
+1017
+1018
+1019
+1020
+1021
+1022
+1023
+1024
+1025
+1026
+1027
+1028
+1029
+1030
+1031
+1032
+1033
+1034
+1035
+1036
+1037
+1038
+1039
+1040
+1041
+1042
+1043
+1044
+1045
+1046
+1047
+1048
+1049
+1050
+1051
+1052
+1053
+1054
+1055
+1056
+1057
+1058
+1059
+1060
+1061
+1062
+1063
+1064
+1065
+1066
+1067
+1068
+1069
+1070
+1071
+1072
+1073
+1074
+1075
+1076
+1077
+1078
+1079
+1080
+1081
+1082
+1083
+1084
+1085
+1086
+1087
+1088
+1089
+1090
+1091
+1092
+1093
+1094
+1095
+1096
+1097
+1098
+1099
+1100
+1101
+1102
+1103
+1104
+1105
+1106
+1107
+1108
+1109
+1110
+1111
+1112
+1113
+1114
+1115
+1116
+1117
+1118
+1119
+1120
+1121
+1122
+1123
+1124
+1125
+1126
+1127
+1128
+1129
+1130
+1131
+1132
+1133
+1134
+1135
+1136
+1137
+1138
+1139
+1140
+1141
+1142
+1143
+1144
+1145
+1146
+1147
+1148
+1149
+1150
+1151
+1152
+1153
+1154
+1155
+1156
+1157
+1158
+1159
+1160
+1161
+1162
+1163
+1164
+1165
+1166
+1167
+1168
+1169
+1170
+1171
+1172
+1173
+1174
+1175
+1176
+1177
+1178
+1179
+1180
+1181
+1182
+1183
+1184
+1185
+1186
+1187
+1188
+1189
+1190
+1191
+1192
+1193
+1194
+1195
+1196
+1197
+1198
+1199
+1200
+1201
+1202
+1203
+1204
+1205
+1206
+1207
+1208
+1209
+1210
+1211
+1212
+1213
+1214
+1215
+1216
+1217
+1218
+1219
+1220
+1221
+1222
+1223
+1224
+1225
+1226
+1227
+1228
+1229
+1230
+1231
+1232
+1233
+1234
+1235
+1236
+1237
+1238
+1239
+1240
+1241
+1242
+1243
+1244
+1245
+1246
+1247
+1248
+1249
+1250
+1251
+1252
+1253
+1254
+1255
+1256
+1257
+1258
+1259
+1260
+1261
+1262
+1263
+1264
+1265
+1266
+1267
+1268
+1269
+1270
+1271
+1272
+1273
+1274
+1275
+1276
+1277
+1278
+1279
+1280
+1281
+1282
+1283
+1284
+1285
+1286
+1287
+1288
+1289
+1290
+1291
+1292
+1293
+1294
+1295
+1296
+1297
+1298
+1299
+1300
+1301
+1302
+1303
+1304
+1305
+1306
+1307
+1308
+1309
+1310
+1311
+1312
+1313
+1314
+1315
+1316
+1317
+1318
+1319
+1320
+1321
+1322
+1323
+1324
+1325
+1326
+1327
+1328
+1329
+1330
+1331
+1332
+1333
+1334
+1335
+1336
+1337
+1338
+1339
+1340
+1341
+1342
+1343
+1344
+1345
+1346
+1347
+1348
+1349
+1350
+1351
+1352
+1353
+1354
+1355
+1356
+1357
+1358
+1359
+1360
+1361
+1362
+1363
+1364
+1365
+1366
+1367
+1368
+1369
+1370
+1371
+1372
+1373
+1374
+1375
+1376
+1377
+1378
+1379
+1380
+1381
+1382
+1383
+1384
+1385
+1386
+1387
+1388
+1389
+1390
+1391
+1392
+1393
+1394
+1395
+1396
+1397
+1398
+1399
+1400
+1401
+1402
+1403
+1404
+1405
+1406
+1407
+1408
+1409
+1410
+1411
+1412
+1413
+1414
+1415
+1416
+1417
+1418
+1419
+1420
+1421
+1422
+1423
+1424
+1425
+1426
+1427
+1428
+1429
+1430
+1431
+1432
+1433
+1434
+1435
+1436
+1437
+1438
+1439
+1440
+1441
+1442
+1443
+1444
+1445
+1446
+1447
+1448
+1449
+1450
+1451
+1452
+1453
+1454
+1455
+1456
+1457
+1458
+1459
+1460
+1461
+1462
+1463
+1464
+1465
+1466
+1467
+1468
+1469
+1470
+1471
+1472
+1473
+1474
+1475
+1476
+1477
+1478
+1479
+1480
+1481
+1482
+1483
+1484
+1485
+1486
+1487
+1488
+1489
+1490
+1491
+1492
+1493
+1494
+1495
+1496
+1497
+1498
+1499
+1500
+1501
+1502
+1503
+1504
+1505
+1506
+1507
+1508
+1509
+1510
+1511
+1512
+1513
+1514
+1515
+1516
+1517
+1518
+1519
+1520
+1521
+1522
+1523
+1524
+1525
+1526
+1527
+1528
+1529
+1530
+1531
+1532
+1533
+1534
+1535
+1536
+1537
+1538
+1539
+1540
+1541
+1542
+1543
+1544
+1545
+1546
+1547
+1548
+1549
+1550
+1551
+1552
+1553
+1554
+1555
+1556
+1557
+1558
+1559
+1560
+1561
+1562
+1563
+1564
+1565
+1566
+1567
+1568
+1569
+1570
+1571
+1572
+1573
+1574
+1575
+1576
+1577
+1578
+1579
+1580
+1581
+1582
+1583
+1584
+1585
+1586
+1587
+1588
+1589
+1590
+1591
+1592
+1593
+1594
+1595
+1596
+1597
+1598
+1599
+1600
+1601
+1602
+1603
+1604
+1605
+1606
+1607
+1608
+1609
+1610
+1611
+1612
+1613
+1614
+1615
+1616
+1617
+1618
+1619
+1620
+1621
+1622
+1623
+1624
+1625
+1626
+1627
+1628
+1629
+1630
+1631
+1632
+1633
+1634
+1635
+1636
+1637
+1638
+1639
+1640
+1641
+1642
+1643
+1644
+1645
+1646
+1647
+1648
+1649
+1650
+1651
+1652
+1653
+1654
+1655
+1656
+1657
+1658
+1659
+1660
+1661
+1662
+1663
+1664
+1665
+1666
+1667
+1668
+1669
+1670
+1671
+1672
+1673
+1674
+1675
+1676
+1677
+1678
+1679
+1680
+1681
+1682
+1683
+1684
+1685
+1686
+1687
+1688
+1689
+1690
+1691
+1692
+1693
+1694
+1695
+1696
+1697
+1698
+1699
+1700
+1701
+1702
+1703
+1704
+1705
+1706
+1707
+1708
+1709
+1710
+1711
+1712
+1713
+1714
+1715
+1716
+1717
+1718
+1719
+1720
+1721
+1722
+1723
+1724
+1725
+1726
+1727
+1728
+1729
+1730
+1731
+1732
+1733
+1734
+1735
+1736
+1737
+1738
+1739
+1740
+1741
+1742
+1743
+1744
+1745
+1746
+1747
+1748
+1749
+1750
+1751
+1752
+1753
+1754
+1755
+1756
+1757
+1758
+1759
+1760
+1761
+1762
+1763
+1764
+1765
+1766
+1767
+1768
+1769
+1770
+1771
+1772
+1773
+1774
+1775
+1776
+1777
+1778
+1779
+1780
+1781
+1782
+1783
+1784
+1785
+1786
+1787
+1788
+1789
+1790
+1791
+1792
+1793
+1794
+1795
+1796
+1797
+1798
+1799
+1800
+1801
+1802
+1803
+1804
+1805
+1806
+1807
+1808
+1809
+1810
+1811
+1812
+1813
+1814
+1815
+1816
+1817
+1818
+1819
+1820
+1821
+1822
+1823
+1824
+1825
+1826
+1827
+1828
+1829
+1830
+1831
+1832
+1833
+1834
+1835
+1836
+1837
+1838
+1839
+1840
+1841
+1842
+1843
+1844
+1845
+1846
+1847
+1848
+1849
+1850
+1851
+1852
+1853
+1854
+1855
+1856
+1857
+1858
+1859
+1860
+1861
+1862
+1863
+1864
+1865
+1866
+1867
+1868
+1869
+1870
+1871
+1872
+1873
+1874
+1875
+1876
+1877
+1878
+1879
+1880
+1881
+1882
+1883
+1884
+1885
+1886
+1887
+1888
+1889
+1890
+1891
+1892
+1893
+1894
+1895
+1896
+1897
+1898
+1899
+1900
+1901
+1902
+1903
+1904
+1905
+1906
+1907
+1908
+1909
+1910
+1911
+1912
+1913
+1914
+1915
+1916
+1917
+1918
+1919
+1920
+1921
+1922
+1923
+1924
+1925
+1926
+1927
+1928
+1929
+1930
+1931
+1932
+1933
+1934
+1935
+1936
+1937
+1938
+1939
+1940
+1941
+1942
+1943
+1944
+1945
+1946
+1947
+1948
+1949
+1950
+1951
+1952
+1953
+1954
+1955
+1956
+1957
+1958
+1959
+1960
+1961
+1962
+1963
+1964
+1965
+1966
+1967
+1968
+1969
+1970
+1971
+1972
+1973
+1974
+1975
+1976
+1977
+1978
+1979
+1980
+1981
+1982
+1983
+1984
+1985
+1986
+1987
+1988
+1989
+1990
+1991
+1992
+1993
+1994
+1995
+1996
+1997
+1998
+1999
+2000
+2001
+2002
+2003
+2004
+2005
+2006
+2007
+2008
+2009
+2010
+2011
+2012
+2013
+2014
+2015
+2016
+2017
+2018
+2019
+2020
+2021
+2022
+2023
+2024
+2025
+2026
+2027
+2028
+2029
+2030
+2031
+2032
+2033
+2034
+2035
+2036
+2037
+2038
+2039
+2040
+2041
+2042
+2043
+2044
+2045
+2046
+2047
+2048
+2049
+2050
+2051
+2052
+2053
+2054
+2055
+2056
+2057
+2058
+2059
+2060
+2061
+2062
+2063
+2064
+2065
+2066
+2067
+2068
+2069
+2070
+2071
+2072
+2073
+2074
+2075
+2076
+2077
+2078
+2079
+2080
+2081
+2082
+2083
+2084
+2085
+2086
+2087
+2088
+2089
+2090
+2091
+2092
+2093
+2094
+2095
+2096
+2097
+2098
+2099
+2100
+2101
+2102
+2103
+2104
+2105
+2106
+2107
+2108
+2109
+2110
+2111
+2112
+2113
+2114
+2115
+2116
+2117
+2118
+2119
+2120
+2121
+2122
+2123
+2124
+2125
+2126
+2127
+2128
+2129
+2130
+2131
+2132
+2133
+2134
+2135
+2136
+2137
+2138
+2139
+2140
+2141
+2142
+2143
+2144
+2145
+2146
+2147
+2148
+2149
+2150
+2151
+2152
+2153
+2154
+2155
+2156
+2157
+2158
+2159
+2160
+2161
+2162
+2163
+2164
+2165
+2166
+2167
+2168
+2169
+2170
+2171
+2172
+2173
+2174
+2175
+2176
+2177
+2178
+2179
+2180
+2181
+2182
+2183
+2184
+2185
+2186
+2187
+2188
+2189
+2190
+2191
+2192
+2193
+2194
+2195
+2196
+2197
+2198
+2199
+2200
+2201
+2202
+2203
+2204
+2205
+2206
+2207
+2208
+2209
+2210
+2211
+2212
+2213
+2214
+2215
+2216
+2217
+2218
+2219
+2220
+2221
+2222
+2223
+2224
+2225
+2226
+2227
+2228
+2229
+2230
+2231
+2232
+2233
+2234
+2235
+2236
+2237
+2238
+2239
+2240
+2241
+2242
+2243
+2244
+2245
+2246
+2247
+2248
+2249
+2250
+2251
+2252
+2253
+2254
+2255
+2256
+2257
+2258
+2259
+2260
+2261
+2262
+2263
+2264
+2265
+2266
+2267
+2268
+2269
+2270
+2271
+2272
+2273
+2274
+2275
+2276
+2277
+2278
+2279
+2280
+2281
+2282
+2283
+2284
+2285
+2286
+2287
+2288
+2289
+2290
+2291
+2292
+2293
+2294
+2295
+2296
+2297
+2298
+2299
+2300
+2301
+2302
+2303
+2304
+2305
+2306
+2307
+2308
+2309
+2310
+2311
+2312
+2313
+2314
+2315
+2316
+2317
+2318
+2319
+2320
+2321
+2322
+2323
+2324
+2325
+2326
+2327
+2328
+2329
+2330
+2331
+2332
+2333
+2334
+2335
+2336
+2337
+2338
+2339
+2340
+2341
+2342
+2343
+2344
+2345
+2346
+2347
+2348
+2349
+2350
+2351
+2352
+2353
+2354
+2355
+2356
+2357
+2358
+2359
+2360
+2361
+2362
+2363
+2364
+2365
+2366
+2367
+2368
+2369
+2370
+2371
+2372
+2373
+2374
+2375
+2376
+2377
+2378
+2379
+2380
+2381
+2382
+2383
+2384
+2385
+2386
+2387
+2388
+2389
+2390
+2391
+2392
+2393
+2394
+2395
+2396
+2397
+2398
+2399
+2400
+2401
+2402
+2403
+2404
+2405
+2406
+2407
+2408
+2409
+2410
+2411
+2412
+2413
+2414
+2415
+2416
+2417
+2418
+2419
+2420
+2421
+2422
+2423
+2424
+2425
+2426
+2427
+2428
+2429
+2430
+2431
+2432
+2433
+2434
+2435
+2436
+2437
+2438
+2439
+2440
+2441
+2442
+2443
+2444
+2445
+2446
+2447
+2448
+2449
+2450
+2451
+2452
+2453
+2454
+2455
+2456
+2457
+2458
+2459
+2460
+2461
+2462
+2463
+2464
+2465
+2466
+2467
+2468
+2469
+2470
+2471
+2472
+2473
+2474
+2475
+2476
+2477
+2478
+2479
+2480
+2481
+2482
+2483
+2484
+2485
+2486
+2487
+2488
+2489
+2490
+2491
+2492
+2493
+2494
+2495
+2496
+2497
+2498
+2499
+2500
+2501
+2502
+2503
+2504
+2505
+2506
+2507
+2508
+2509
+2510
+2511
+2512
+2513
+2514
+2515
+2516
+2517
+2518
+2519
+2520
+2521
+2522
+2523
+2524
+2525
+2526
+2527
+2528
+2529
+2530
+2531
+2532
+2533
+2534
+2535
+2536
+2537
+2538
+2539
+2540
+2541
+2542
+2543
+2544
+2545
+2546
+2547
+2548
+2549
+2550
+2551
+2552
+2553
+2554
+2555
+2556
+2557
+2558
+2559
+2560
+2561
+2562
+2563
+2564
+2565
+2566
+2567
+2568
+2569
+2570
+2571
+2572
+2573
+2574
+2575
+2576
+2577
+2578
+2579
+2580
+2581
+2582
+2583
+2584
+2585
+2586
+2587
+2588
+2589
+2590
+2591
+2592
+2593
+2594
+2595
+2596
+2597
+2598
+2599
+2600
+2601
+2602
+2603
+2604
+2605
+2606
+2607
+2608
+2609
+2610
+2611
+2612
+2613
+2614
+2615
+2616
+2617
+2618
+2619
+2620
+2621
+2622
+2623
+2624
+2625
+2626
+2627
+2628
+2629
+2630
+2631
+2632
+2633
+2634
+2635
+2636
+2637
+2638
+2639
+2640
+2641
+2642
+2643
+2644
+2645
+2646
+2647
+2648
+2649
+2650
+2651
+2652
+2653
+2654
+2655
+2656
+2657
+2658
+2659
+2660
+2661
+2662
+2663
+2664
+2665
+2666
+2667
+2668
+2669
+2670
+2671
+2672
+2673
+2674
+2675
+2676
+2677
+2678
+2679
+2680
+2681
+2682
+2683
+2684
+2685
+2686
+2687
+2688
+2689
+2690
+2691
+2692
+2693
+2694
+2695
+2696
+2697
+2698
+2699
+2700
+2701
+2702
+2703
+2704
+2705
+2706
+2707
+2708
+2709
+2710
+2711
+2712
+2713
+2714
+2715
+2716
+2717
+2718
+2719
+2720
+2721
+2722
+2723
+2724
+2725
+2726
+2727
+2728
+2729
+2730
+2731
+2732
+2733
+2734
+2735
+2736
+2737
+2738
+2739
+2740
+2741
+2742
+2743
+2744
+2745
+2746
+2747
+2748
+2749
+2750
+2751
+2752
+2753
+2754
+2755
+2756
+2757
+2758
+2759
+2760
+2761
+2762
+2763
+2764
+2765
+2766
+2767
+2768
+2769
+2770
+2771
+2772
+2773
+2774
+2775
+2776
+2777
+2778
+2779
+2780
+2781
+2782
+2783
+2784
+2785
+2786
+2787
+2788
+2789
+2790
+2791
+2792
+2793
+2794
+2795
+2796
+2797
+2798
+2799
+2800
+2801
+2802
+2803
+2804
+2805
+2806
+2807
+2808
+2809
+2810
+2811
+2812
+2813
+2814
+2815
+2816
+2817
+2818
+2819
+2820
+2821
+2822
+2823
+2824
+2825
+2826
+2827
+2828
+2829
+2830
+2831
+2832
+2833
+2834
+2835
+2836
+2837
+2838
+2839
+2840
+2841
+2842
+2843
+2844
+2845
+2846
+2847
+2848
+2849
+2850
+2851
+2852
+2853
+2854
+2855
+2856
+2857
+2858
+2859
+2860
+2861
+2862
+2863
+2864
+2865
+2866
+2867
+2868
+2869
+2870
+2871
+2872
+2873
+2874
+2875
+2876
+2877
+2878
+2879
+2880
+2881
+2882
+2883
+2884
+2885
+2886
+2887
+2888
+2889
+2890
+2891
+2892
+2893
+2894
+2895
+2896
+2897
+2898
+2899
+2900
+2901
+2902
+2903
+2904
+2905
+2906
+2907
+2908
+2909
+2910
+2911
+2912
+2913
+2914
+2915
+2916
+2917
+2918
+2919
+2920
+2921
+2922
+2923
+2924
+2925
+2926
+2927
+2928
+2929
+2930
+2931
+2932
+2933
+2934
+2935
+2936
+2937
+2938
+2939
+2940
+2941
+2942
+2943
+2944
+2945
+2946
+2947
+2948
+2949
+2950
+2951
+2952
+2953
+2954
+2955
+2956
+2957
+2958
+2959
+2960
+2961
+2962
+2963
+2964
+2965
+2966
+2967
+2968
+2969
+2970
+2971
+2972
+2973
+2974
+2975
+2976
+2977
+2978
+2979
+2980
+2981
+2982
+2983
+2984
+2985
+2986
+2987
+2988
+2989
+2990
+2991
+2992
+2993
+2994
+2995
+2996
+2997
+2998
+2999
+3000
+3001
+3002
+3003
+3004
+3005
+3006
+3007
+3008
+3009
+3010
+3011
+3012
+3013
+3014
+3015
+3016
+3017
+3018
+3019
+3020
+3021
+3022
+3023
+3024
+3025
+3026
+3027
+3028
+3029
+3030
+3031
+3032
+3033
+3034
+3035
+3036
+3037
+3038
+3039
+3040
+3041
+3042
+3043
+3044
+3045
+3046
+3047
+3048
+3049
+3050
+3051
+3052
+3053
+3054
+3055
+3056
+3057
+3058
+3059
+3060
+3061
+3062
+3063
+3064
+3065
+3066
+3067
+3068
+3069
+3070
+3071
+3072
+3073
+3074
+3075
+3076
+3077
+3078
+3079
+3080
+3081
+3082
+3083
+3084
+3085
+3086
+3087
+3088
+3089
+3090
+3091
+3092
+3093
+3094
+3095
+3096
+3097
+3098
+3099
+3100
+3101
+3102
+3103
+3104
+3105
+3106
+3107
+3108
+3109
+3110
+3111
+3112
+3113
+3114
+3115
+3116
+3117
+3118
+3119
+3120
+3121
+3122
+3123
+3124
+3125
+3126
+3127
+3128
+3129
+3130
+3131
+3132
+3133
+3134
+3135
+3136
+3137
+3138
+3139
+3140
+3141
+3142
+3143
+3144
+3145
+3146
+3147
+3148
+3149
+3150
+3151
+3152
+3153
+3154
+3155
+3156
+3157
+3158
+3159
+3160
+3161
+3162
+3163
+3164
+3165
+3166
+3167
+3168
+3169
+3170
+3171
+3172
+3173
+3174
+3175
+3176
+3177
+3178
+3179
+3180
+3181
+3182
+3183
+3184
+3185
+3186
+3187
+3188
+3189
+3190
+3191
+3192
+3193
+3194
+3195
+3196
+3197
+3198
+3199
+3200
+3201
+3202
+3203
+3204
+3205
+3206
+3207
+3208
+3209
+3210
+3211
+3212
+3213
+3214
+3215
+3216
+3217
+3218
+3219
+3220
+3221
+3222
+3223
+3224
+3225
+3226
+3227
+3228
+3229
+3230
+3231
+3232
+3233
+3234
+3235
+3236
+3237
+3238
+3239
+3240
+3241
+3242
+3243
+3244
+3245
+3246
+3247
+3248
+3249
+3250
+3251
+3252
+3253
+3254
+3255
+3256
+3257
+3258
+3259
+3260
+3261
+3262
+3263
+3264
+3265
+3266
+3267
+3268
+3269
+3270
+3271
+3272
+3273
+3274
+3275
+3276
+3277
+3278
+3279
+3280
+3281
+3282
+3283
+3284
+3285
+3286
+3287
+3288
+3289
+3290
+3291
+3292
+3293
+3294
+3295
+3296
+3297
+3298
+3299
+3300
+3301
+3302
+3303
+3304
+3305
+3306
+3307
+3308
+3309
+3310
+3311
+3312
+3313
+3314
+3315
+3316
+3317
+3318
+3319
+3320
+3321
+3322
+3323
+3324
+3325
+3326
+3327
+3328
+3329
+3330
+3331
+3332
+3333
+3334
+3335
+3336
+3337
+3338
+3339
+3340
+3341
+3342
+3343
+3344
+3345
+3346
+3347
+3348
+3349
+3350
+3351
+3352
+3353
+3354
+3355
+3356
+3357
+3358
+3359
+3360
+3361
+3362
+3363
+3364
+3365
+3366
+3367
+3368
+3369
+3370
+3371
+3372
+3373
+3374
+3375
+3376
+3377
+3378
+3379
+3380
+3381
+3382
+3383
+3384
+3385
+3386
+3387
+3388
+3389
+3390
+3391
+3392
+3393
+3394
+3395
+3396
+3397
+3398
+3399
+3400
+3401
+3402
+3403
+3404
+3405
+3406
+3407
+3408
+3409
+3410
+3411
+3412
+3413
+3414
+3415
+3416
+3417
+3418
+3419
+3420
+3421
+3422
+3423
+3424
+3425
+3426
+3427
+3428
+3429
+3430
+3431
+3432
+3433
+3434
+3435
+3436
+3437
+3438
+3439
+3440
+3441
+3442
+3443
+3444
+3445
+3446
+3447
+3448
+3449
+3450
+3451
+3452
+3453
+3454
+3455
+3456
+3457
+3458
+3459
+3460
+3461
+3462
+3463
+3464
+3465
+3466
+3467
+3468
+3469
+3470
+3471
+3472
+3473
+3474
+3475
+3476
+3477
+3478
+3479
+3480
+3481
+3482
+3483
+3484
+3485
+3486
+3487
+3488
+3489
+3490
+3491
+3492
+3493
+3494
+3495
+3496
+3497
+3498
+3499
+3500
+3501
+3502
+3503
+3504
+3505
+3506
+3507
+3508
+3509
+3510
+3511
+3512
+3513
+3514
+3515
+3516
+3517
+3518
+3519
+3520
+3521
+3522
+3523
+3524
+3525
+3526
+3527
+3528
+3529
+3530
+3531
+3532
+3533
+3534
+3535
+3536
+3537
+3538
+3539
+3540
+3541
+3542
+3543
+3544
+3545
+3546
+3547
+3548
+3549
+3550
+3551
+3552
+3553
+3554
+3555
+3556
+3557
+3558
+3559
+3560
+3561
+3562
+3563
+3564
+3565
+3566
+3567
+3568
+3569
+3570
+3571
+3572
+3573
+3574
+3575
+3576
+3577
+3578
+3579
+3580
+3581
+3582
+3583
+3584
+3585
+3586
+3587
+3588
+3589
+3590
+3591
+3592
+3593
+3594
+3595
+3596
+3597
+3598
+3599
+3600
+3601
+3602
+3603
+3604
+3605
+3606
+3607
+3608
+3609
+3610
+3611
+3612
+3613
+3614
+3615
+3616
+3617
+3618
+3619
+3620
+3621
+3622
+3623
+3624
+3625
+3626
+3627
+3628
+3629
+3630
+3631
+3632
+3633
+3634
+3635
+3636
+3637
+3638
+3639
+3640
+3641
+3642
+3643
+3644
+3645
+3646
+3647
+3648
+3649
+3650
+3651
+3652
+3653
+3654
+3655
+3656
+3657
+3658
+3659
+3660
+3661
+3662
+3663
+3664
+3665
+3666
+3667
+3668
+3669
+3670
+3671
+3672
+3673
+3674
+3675
+3676
+3677
+3678
+3679
+3680
+3681
+3682
+3683
+3684
+3685
+3686
+3687
+3688
+3689
+3690
+3691
+3692
+3693
+3694
+3695
+3696
+3697
+3698
+3699
+3700
+3701
+3702
+3703
+3704
+3705
+3706
+3707
+3708
+3709
+3710
+3711
+3712
+3713
+3714
+3715
+3716
+3717
+3718
+3719
+3720
+3721
+3722
+3723
+3724
+3725
+3726
+3727
+3728
+3729
+3730
+3731
+3732
+3733
+3734
+3735
+3736
+3737
+3738
+3739
+3740
+3741
+3742
+3743
+3744
+3745
+3746
+3747
+3748
+3749
+3750
+3751
+3752
+3753
+3754
+3755
+3756
+3757
+3758
+3759
+3760
+3761
+3762
+3763
+3764
+3765
+3766
+3767
+3768
+3769
+3770
+3771
+3772
+3773
+3774
+3775
+3776
+3777
+3778
+3779
+3780
+3781
+3782
+3783
+3784
+3785
+3786
+3787
+3788
+3789
+3790
+3791
+3792
+3793
+3794
+3795
+3796
+3797
+3798
+3799
+3800
+3801
+3802
+3803
+3804
+3805
+3806
+3807
+3808
+3809
+3810
+3811
+3812
+3813
+3814
+3815
+3816
+3817
+3818
+3819
+3820
+3821
+3822
+3823
+3824
+3825
+3826
+3827
+3828
+3829
+3830
+3831
+3832
+3833
+3834
+3835
+3836
+3837
+3838
+3839
+3840
+3841
+3842
+3843
+3844
+3845
+3846
+3847
+3848
+3849
+3850
+3851
+3852
+3853
+3854
+3855
+3856
+3857
+3858
+3859
+3860
+3861
+3862
+3863
+3864
+3865
+3866
+3867
+3868
+3869
+3870
+3871
+3872
+3873
+3874
+3875
+3876
+3877
+3878
+3879
+3880
+3881
+3882
+3883
+3884
+3885
+3886
+3887
+3888
+3889
+3890
+3891
+3892
+3893
+3894
+3895
+3896
+3897
+3898
+3899
+3900
+3901
+3902
+3903
+3904
+3905
+3906
+3907
+3908
+3909
+3910
+3911
+3912
+3913
+3914
+3915
+3916
+3917
+3918
+3919
+3920
+3921
+3922
+3923
+3924
+3925
+3926
+3927
+3928
+3929
+3930
+3931
+3932
+3933
+3934
+3935
+3936
+3937
+3938
+3939
+3940
+3941
+3942
+3943
+3944
+3945
+3946
+3947
+3948
+3949
+3950
+3951
+3952
+3953
+3954
+3955
+3956
+3957
+3958
+3959
+3960
+3961
+3962
+3963
+3964
+3965
+3966
+3967
+3968
+3969
+3970
+3971
+3972
+3973
+3974
+3975
+3976
+3977
+3978
+3979
+3980
+3981
+3982
+3983
+3984
+3985
+3986
+3987
+3988
+3989
+3990
+3991
+3992
+3993
+3994
+3995
+3996
+3997
+3998
+3999
+4000
+4001
+4002
+4003
+4004
+4005
+4006
+4007
+4008
+4009
+4010
+4011
+4012
+4013
+4014
+4015
+4016
+4017
+4018
+4019
+4020
+4021
+4022
+4023
+4024
+4025
+4026
+4027
+4028
+4029
+4030
+4031
+4032
+4033
+4034
+4035
+4036
+4037
+4038
+4039
+4040
+4041
+4042
+4043
+4044
+4045
+4046
+4047
+4048
+4049
+4050
+4051
+4052
+4053
+4054
+4055
+4056
+4057
+4058
+4059
+4060
+4061
+4062
+4063
+4064
+4065
+4066
+4067
+4068
+4069
+4070
+4071
+4072
+4073
+4074
+4075
+4076
+4077
+4078
+4079
+4080
+4081
+4082
+4083
+4084
+4085
+4086
+4087
+4088
+4089
+4090
+4091
+4092
+4093
+4094
+4095
+4096
+4097
+4098
+4099
+4100
+4101
+4102
+4103
+4104
+4105
+4106
+4107
+4108
+4109
+4110
+4111
+4112
+4113
+4114
+4115
+4116
+4117
+4118
+4119
+4120
+4121
+4122
+4123
+4124
+4125
+4126
+4127
+4128
+4129
+4130
+4131
+4132
+4133
+4134
+4135
+4136
+4137
+4138
+4139
+4140
+4141
+4142
+4143
+4144
+4145
+4146
+4147
+4148
+4149
+4150
+4151
+4152
+4153
+4154
+4155
+4156
+4157
+4158
+4159
+4160
+4161
+4162
+4163
+4164
+4165
+4166
+4167
+4168
+4169
+4170
+4171
+4172
+4173
+4174
+4175
+4176
+4177
+4178
+4179
+4180
+4181
+4182
+4183
+4184
+4185
+4186
+4187
+4188
+4189
+4190
+4191
+4192
+4193
+4194
+4195
+4196
+4197
+4198
+4199
+4200
+4201
+4202
+4203
+4204
+4205
+4206
+4207
+4208
+4209
+4210
+4211
+4212
+4213
+4214
+4215
+4216
+4217
+4218
+4219
+4220
+4221
+4222
+4223
+4224
+4225
+4226
+4227
+4228
+4229
+4230
+4231
+4232
+4233
+4234
+4235
+4236
+4237
+4238
+4239
+4240
+4241
+4242
+4243
+4244
+4245
+4246
+4247
+4248
+4249
+4250
+4251
+4252
+4253
+4254
+4255
+4256
+4257
+4258
+4259
+4260
+4261
+4262
+4263
+4264
+4265
+4266
+4267
+4268
+4269
+4270
+4271
+4272
+4273
+4274
+4275
+4276
+4277
+4278
+4279
+4280
+4281
+4282
+4283
+4284
+4285
+4286
+4287
+4288
+4289
+4290
+4291
+4292
+4293
+4294
+4295
+4296
+4297
+4298
+4299
+4300
+4301
+4302
+4303
+4304
+4305
+4306
+4307
+4308
+4309
+4310
+4311
+4312
+4313
+4314
+4315
+4316
+4317
+4318
+4319
+4320
+4321
+4322
+4323
+4324
+4325
+4326
+4327
+4328
+4329
+4330
+4331
+4332
+4333
+4334
+4335
+4336
+4337
+4338
+4339
+4340
+4341
+4342
+4343
+4344
+4345
+4346
+4347
+4348
+4349
+4350
+4351
+4352
+4353
+4354
+4355
+4356
+4357
+4358
+4359
+4360
+4361
+4362
+4363
+4364
+4365
+4366
+4367
+4368
+4369
+4370
+4371
+4372
+4373
+4374
+4375
+4376
+4377
+4378
+4379
+4380
+4381
+4382
+4383
+4384
+4385
+4386
+4387
+4388
+4389
+4390
+4391
+4392
+4393
+4394
+4395
+4396
+4397
+4398
+4399
+4400
+4401
+4402
+4403
+4404
+4405
+4406
+4407
+4408
+4409
+4410
+4411
+4412
+4413
+4414
+4415
+4416
+4417
+4418
+4419
+4420
+4421
+4422
+4423
+4424
+4425
+4426
+4427
+4428
+4429
+4430
+4431
+4432
+4433
+4434
+4435
+4436
+4437
+4438
+4439
+4440
+4441
+4442
+4443
+4444
+4445
+4446
+4447
+4448
+4449
+4450
+4451
+4452
+4453
+4454
+4455
+4456
+4457
+4458
+4459
+4460
+4461
+4462
+4463
+4464
+4465
+4466
+4467
+4468
+4469
+4470
+4471
+4472
+4473
+4474
+4475
+4476
+4477
+4478
+4479
+4480
+4481
+4482
+4483
+4484
+4485
+4486
+4487
+4488
+4489
+4490
+4491
+4492
+4493
+4494
+4495
+4496
+4497
+4498
+4499
+4500
+4501
+4502
+4503
+4504
+4505
+4506
+4507
+4508
+4509
+4510
+4511
+4512
+4513
+4514
+4515
+4516
+4517
+4518
+4519
+4520
+4521
+4522
+4523
+4524
+4525
+4526
+4527
+4528
+4529
+4530
+4531
+4532
+4533
+4534
+4535
+4536
+4537
+4538
+4539
+4540
+4541
+4542
+4543
+4544
+4545
+4546
+4547
+4548
+4549
+4550
+4551
+4552
+4553
+4554
+4555
+4556
+4557
+4558
+4559
+4560
+4561
+4562
+4563
+4564
+4565
+4566
+4567
+4568
+4569
+4570
+4571
+4572
+4573
+4574
+4575
+4576
+4577
+4578
+4579
+4580
+4581
+4582
+4583
+4584
+4585
+4586
+4587
+4588
+4589
+4590
+4591
+4592
+4593
+4594
+4595
+4596
+4597
+4598
+4599
+4600
+4601
+4602
+4603
+4604
+4605
+4606
+4607
+4608
+4609
+4610
+4611
+4612
+4613
+4614
+4615
+4616
+4617
+4618
+4619
+4620
+4621
+4622
+4623
+4624
+4625
+4626
+4627
+4628
+4629
+4630
+4631
+4632
+4633
+4634
+4635
+4636
+4637
+4638
+4639
+4640
+4641
+4642
+4643
+4644
+4645
+4646
+4647
+4648
+4649
+4650
+4651
+4652
+4653
+4654
+4655
+4656
+4657
+4658
+4659
+4660
+4661
+4662
+4663
+4664
+4665
+4666
+4667
+4668
+4669
+4670
+4671
+4672
+4673
+4674
+4675
+4676
+4677
+4678
+4679
+4680
+4681
+4682
+4683
+4684
+4685
+4686
+4687
+4688
+4689
+4690
+4691
+4692
+4693
+4694
+4695
+4696
+4697
+4698
+4699
+4700
+4701
+4702
+4703
+4704
+4705
+4706
+4707
+4708
+4709
+4710
+4711
+4712
+4713
+4714
+4715
+4716
+4717
+4718
+4719
+4720
+4721
+4722
+4723
+4724
+4725
+4726
+4727
+4728
+4729
+4730
+4731
+4732
+4733
+4734
+4735
+4736
+4737
+4738
+4739
+4740
+4741
+4742
+4743
+4744
+4745
+4746
+4747
+4748
+4749
+4750
+4751
+4752
+4753
+4754
+4755
+4756
+4757
+4758
+4759
+4760
+4761
+4762
+4763
+4764
+4765
+4766
+4767
+4768
+4769
+4770
+4771
+4772
+4773
+4774
+4775
+4776
+4777
+4778
+4779
+4780
+4781
+4782
+4783
+4784
+4785
+4786
+4787
+4788
+4789
+4790
+4791
+4792
+4793
+4794
+4795
+4796
+4797
+4798
+4799
+4800
+4801
+4802
+4803
+4804
+4805
+4806
+4807
+4808
+4809
+4810
+4811
+4812
+4813
+4814
+4815
+4816
+4817
+4818
+4819
+4820
+4821
+4822
+4823
+4824
+4825
+4826
+4827
+4828
+4829
+4830
+4831
+4832
+4833
+4834
+4835
+4836
+4837
+4838
+4839
+4840
+4841
+4842
+4843
+4844
+4845
+4846
+4847
+4848
+4849
+4850
+4851
+4852
+4853
+4854
+4855
+4856
+4857
+4858
+4859
+4860
+4861
+4862
+4863
+4864
+4865
+4866
+4867
+4868
+4869
+4870
+4871
+4872
+4873
+4874
+4875
+4876
+4877
+4878
+4879
+4880
+4881
+4882
+4883
+4884
+4885
+4886
+4887
+4888
+4889
+4890
+4891
+4892
+4893
+4894
+4895
+4896
+4897
+4898
+4899
+4900
+4901
+4902
+4903
+4904
+4905
+4906
+4907
+4908
+4909
+4910
+4911
+4912
+4913
+4914
+4915
+4916
+4917
+4918
+4919
+4920
+4921
+4922
+4923
+4924
+4925
+4926
+4927
+4928
+4929
+4930
+4931
+4932
+4933
+4934
+4935
+4936
+4937
+4938
+4939
+4940
+4941
+4942
+4943
+4944
+4945
+4946
+4947
+4948
+4949
+4950
+4951
+4952
+4953
+4954
+4955
+4956
+4957
+4958
+4959
+4960
+4961
+4962
+4963
+4964
+4965
+4966
+4967
+4968
+4969
+4970
+4971
+4972
+4973
+4974
+4975
+4976
+4977
+4978
+4979
+4980
+4981
+4982
+4983
+4984
+4985
+4986
+4987
+4988
+4989
+4990
+4991
+4992
+4993
+4994
+4995
+4996
+4997
+4998
+4999
+5000
+5001
+5002
+5003
+5004
+5005
+5006
+5007
+5008
+5009
+5010
+5011
+5012
+5013
+5014
+5015
+5016
+5017
+5018
+5019
+5020
+5021
+5022
+5023
+5024
+5025
+5026
+5027
+5028
+5029
+5030
+5031
+5032
+5033
+5034
+5035
+5036
+5037
+5038
+5039
+5040
+5041
+5042
+5043
+5044
+5045
+5046
+5047
+5048
+5049
+5050
+5051
+5052
+5053
+5054
+5055
+5056
+5057
+5058
+5059
+5060
+5061
+5062
+5063
+5064
+5065
+5066
+5067
+5068
+5069
+5070
+5071
+5072
+5073
+5074
+5075
+5076
+5077
+5078
+5079
+5080
+5081
+5082
+5083
+5084
+5085
+5086
+5087
+5088
+5089
+5090
+5091
+5092
+5093
+5094
+5095
+5096
+5097
+5098
+5099
+5100
+5101
+5102
+5103
+5104
+5105
+5106
+5107
+5108
+5109
+5110
+5111
+5112
+5113
+5114
+5115
+5116
+5117
+5118
+5119
+5120
+5121
+5122
+5123
+5124
+5125
+5126
+5127
+5128
+5129
+5130
+5131
+5132
+5133
+5134
+5135
+5136
+5137
+5138
+5139
+5140
+5141
+5142
+5143
+5144
+5145
+5146
+5147
+5148
+5149
+5150
+5151
+5152
+5153
+5154
+5155
+5156
+5157
+5158
+5159
+5160
+5161
+5162
+5163
+5164
+5165
+5166
+5167
+5168
+5169
+5170
+5171
+5172
+5173
+5174
+5175
+5176
+5177
+5178
+5179
+5180
+5181
+5182
+5183
+5184
+5185
+5186
+5187
+5188
+5189
+5190
+5191
+5192
+5193
+5194
+5195
+5196
+5197
+5198
+5199
+5200
+5201
+5202
+5203
+5204
+5205
+5206
+5207
+5208
+5209
+5210
+5211
+5212
+5213
+5214
+5215
+5216
+5217
+5218
+5219
+5220
+5221
+5222
+5223
+5224
+5225
+5226
+5227
+5228
+5229
+5230
+5231
+5232
+5233
+5234
+5235
+5236
+5237
+5238
+5239
+5240
+5241
+5242
+5243
+5244
+5245
+5246
+5247
+5248
+5249
+5250
+5251
+5252
+5253
+5254
+5255
+5256
+5257
+5258
+5259
+5260
+5261
+5262
+5263
+5264
+5265
+5266
+5267
+5268
+5269
+5270
+5271
+5272
+5273
+5274
+5275
+5276
+5277
+5278
+5279
+5280
+5281
+5282
+5283
+5284
+5285
+5286
+5287
+5288
+5289
+5290
+5291
+5292
+5293
+5294
+5295
+5296
+5297
+5298
+5299
+5300
+5301
+5302
+5303
+5304
+5305
+5306
+5307
+5308
+5309
+5310
+5311
+5312
+5313
+5314
+5315
+5316
+5317
+5318
+5319
+5320
+5321
+5322
+5323
+5324
+5325
+5326
+5327
+5328
+5329
+5330
+5331
+5332
+5333
+5334
+5335
+5336
+5337
+5338
+5339
+5340
+5341
+5342
+5343
+5344
+5345
+5346
+5347
+5348
+5349
+5350
+5351
+5352
+5353
+5354
+5355
+5356
+5357
+5358
+5359
+5360
+5361
+5362
+5363
+5364
+5365
+5366
+5367
+5368
+5369
+5370
+5371
+5372
+5373
+5374
+5375
+5376
+5377
+5378
+5379
+5380
+5381
+5382
+5383
+5384
+5385
+5386
+5387
+5388
+5389
+5390
+5391
+5392
+5393
+5394
+5395
+5396
+5397
+5398
+5399
+5400
+5401
+5402
+5403
+5404
+5405
+5406
+5407
+5408
+5409
+5410
+5411
+5412
+5413
+5414
+5415
+5416
+5417
+5418
+5419
+5420
+5421
+5422
+5423
+5424
+5425
+5426
+5427
+5428
+5429
+5430
+5431
+5432
+5433
+5434
+5435
+5436
+5437
+5438
+5439
+5440
+5441
+5442
+5443
+5444
+5445
+5446
+5447
+5448
+5449
+5450
+5451
+5452
+5453
+5454
+5455
+5456
+5457
+5458
+5459
+5460
+5461
+5462
+5463
+5464
+5465
+5466
+5467
+5468
+5469
+5470
+5471
+5472
+5473
+5474
+5475
+5476
+5477
+5478
+5479
+5480
+5481
+5482
+5483
+5484
+5485
+5486
+5487
+5488
+5489
+5490
+5491
+5492
+5493
+5494
+5495
+5496
+5497
+5498
+5499
+5500
+5501
+5502
+5503
+5504
+5505
+5506
+5507
+5508
+5509
+5510
+5511
+5512
+5513
+5514
+5515
+5516
+5517
+5518
+5519
+5520
+5521
+5522
+5523
+5524
+5525
+5526
+5527
+5528
+5529
+5530
+5531
+5532
+5533
+5534
+5535
+5536
+5537
+5538
+5539
+5540
+5541
+5542
+5543
+5544
+5545
+5546
+5547
+5548
+5549
+5550
+5551
+5552
+5553
+5554
+5555
+5556
+5557
+5558
+5559
+5560
+5561
+5562
+5563
+5564
+5565
+5566
+5567
+5568
+5569
+5570
+5571
+5572
+5573
+5574
+5575
+5576
+5577
+5578
+5579
+5580
+5581
+5582
+5583
+5584
+5585
+5586
+5587
+5588
+5589
+5590
+5591
+5592
+5593
+5594
+5595
+5596
+5597
+5598
+5599
+5600
+5601
+5602
+5603
+5604
+5605
+5606
+5607
+5608
+5609
+5610
+5611
+5612
+5613
+5614
+5615
+5616
+5617
+5618
+5619
+5620
+5621
+5622
+5623
+5624
+5625
+5626
+5627
+5628
+5629
+5630
+5631
+5632
+5633
+5634
+5635
+5636
+5637
+5638
+5639
+5640
+5641
+5642
+5643
+5644
+5645
+5646
+5647
+5648
+5649
+5650
+5651
+5652
+5653
+5654
+5655
+5656
+5657
+5658
+5659
+5660
+5661
+5662
+5663
+5664
+5665
+5666
+5667
+5668
+5669
+5670
+5671
+5672
+5673
+5674
+5675
+5676
+5677
+5678
+5679
+5680
+5681
+5682
+5683
+5684
+5685
+5686
+5687
+5688
+5689
+5690
+5691
+5692
+5693
+5694
+5695
+5696
+5697
+5698
+5699
+5700
+5701
+5702
+5703
+5704
+5705
+5706
+5707
+5708
+5709
+5710
+5711
+5712
+5713
+5714
+5715
+5716
+5717
+5718
+5719
+5720
+5721
+5722
+5723
+5724
+5725
+5726
+5727
+5728
+5729
+5730
+5731
+5732
+5733
+5734
+5735
+5736
+5737
+5738
+5739
+5740
+5741
+5742
+5743
+5744
+5745
+5746
+5747
+5748
+5749
+5750
+5751
+5752
+5753
+5754
+5755
+5756
+5757
+5758
+5759
+5760
+5761
+5762
+5763
+5764
+5765
+5766
+5767
+5768
+5769
+5770
+5771
+5772
+5773
+5774
+5775
+5776
+5777
+5778
+5779
+5780
+5781
+5782
+5783
+5784
+5785
+5786
+5787
+5788
+5789
+5790
+5791
+5792
+5793
+5794
+5795
+5796
+5797
+5798
+5799
+5800
+5801
+5802
+5803
+5804
+5805
+5806
+5807
+5808
+5809
+5810
+5811
+5812
+5813
+5814
+5815
+5816
+5817
+5818
+5819
+5820
+5821
+5822
+5823
+5824
+5825
+5826
+5827
+5828
+5829
+5830
+5831
+5832
+5833
+5834
+5835
+5836
+5837
+5838
+5839
+5840
+5841
+5842
+5843
+5844
+5845
+5846
+5847
+5848
+5849
+5850
+5851
+5852
+5853
+5854
+5855
+5856
+5857
+5858
+5859
+5860
+5861
+5862
+5863
+5864
+5865
+5866
+5867
+5868
+5869
+5870
+5871
+5872
+5873
+5874
+5875
+5876
+5877
+5878
+5879
+5880
+5881
+5882
+5883
+5884
+5885
+5886
+5887
+5888
+5889
+5890
+5891
+5892
+5893
+5894
+5895
+5896
+5897
+5898
+5899
+5900
+5901
+5902
+5903
+5904
+5905
+5906
+5907
+5908
+5909
+5910
+5911
+5912
+5913
+5914
+5915
+5916
+5917
+5918
+5919
+5920
+5921
+5922
+5923
+5924
+5925
+5926
+5927
+5928
+5929
+5930
+5931
+5932
+5933
+5934
+5935
+5936
+5937
+5938
+5939
+5940
+5941
+5942
+5943
+5944
+5945
+5946
+5947
+5948
+5949
+5950
+5951
+5952
+5953
+5954
+5955
+5956
+5957
+5958
+5959
+5960
+5961
+5962
+5963
+5964
+5965
+5966
+5967
+5968
+5969
+5970
+5971
+5972
+5973
+5974
+5975
+5976
+5977
+5978
+5979
+5980
+5981
+5982
+5983
+5984
+5985
+5986
+5987
+5988
+5989
+5990
+5991
+5992
+5993
+5994
+5995
+5996
+5997
+5998
+5999
+6000
+6001
+6002
+6003
+6004
+6005
+6006
+6007
+6008
+6009
+6010
+6011
+6012
+6013
+6014
+6015
+6016
+6017
+6018
+6019
+6020
+6021
+6022
+6023
+6024
+6025
+6026
+6027
+6028
+6029
+6030
+6031
+6032
+6033
+6034
+6035
+6036
+6037
+6038
+6039
+6040
+6041
+6042
+6043
+6044
+6045
+6046
+6047
+6048
+6049
+6050
+6051
+6052
+6053
+6054
+6055
+6056
+6057
+6058
+6059
+6060
+6061
+6062
+6063
+6064
+6065
+6066
+6067
+6068
+6069
+6070
+6071
+6072
+6073
+6074
+6075
+6076
+6077
+6078
+6079
+6080
+6081
+6082
+6083
+6084
+6085
+6086
+6087
+6088
+6089
+6090
+6091
+6092
+6093
+6094
+6095
+6096
+6097
+6098
+6099
+6100
+6101
+6102
+6103
+6104
+6105
+6106
+6107
+6108
+6109
+6110
+6111
+6112
+6113
+6114
+6115
+6116
+6117
+6118
+6119
+6120
+6121
+6122
+6123
+6124
+6125
+6126
+6127
+6128
+6129
+6130
+6131
+6132
+6133
+6134
+6135
+6136
+6137
+6138
+6139
+6140
+6141
+6142
+6143
+6144
+6145
+6146
+6147
+6148
+6149
+6150
+6151
+6152
+6153
+6154
+6155
+6156
+6157
+6158
+6159
+6160
+6161
+6162
+6163
+6164
+6165
+6166
+6167
+6168
+6169
+6170
+6171
+6172
+6173
+6174
+6175
+6176
+6177
+6178
+6179
+6180
+6181
+6182
+6183
+6184
+6185
+6186
+6187
+6188
+6189
+6190
+6191
+6192
+6193
+6194
+6195
+6196
+6197
+6198
+6199
+6200
+6201
+6202
+6203
+6204
+6205
+6206
+6207
+6208
+6209
+6210
+6211
+6212
+6213
+6214
+6215
+6216
+6217
+6218
+6219
+6220
+6221
+6222
+6223
+6224
+6225
+6226
+6227
+6228
+6229
+6230
+6231
+6232
+6233
+6234
+6235
+6236
+6237
+6238
+6239
+6240
+6241
+6242
+6243
+6244
+6245
+6246
+6247
+6248
+6249
+6250
+6251
+6252
+6253
+6254
+6255
+6256
+6257
+6258
+6259
+6260
+6261
+6262
+6263
+6264
+6265
+6266
+6267
+6268
+6269
+6270
+6271
+6272
+6273
+6274
+6275
+6276
+6277
+6278
+6279
+6280
+6281
+6282
+6283
+6284
+6285
+6286
+6287
+6288
+6289
+6290
+6291
+6292
+6293
+6294
+6295
+6296
+6297
+6298
+6299
+6300
+6301
+6302
+6303
+6304
+6305
+6306
+6307
+6308
+6309
+6310
+6311
+6312
+6313
+6314
+6315
+6316
+6317
+6318
+6319
+6320
+6321
+6322
+6323
+6324
+6325
+6326
+6327
+6328
+6329
+6330
+6331
+6332
+6333
+6334
+6335
+6336
+6337
+6338
+6339
+6340
+6341
+6342
+6343
+6344
+6345
+6346
+6347
+6348
+6349
+6350
+6351
+6352
+6353
+6354
+6355
+6356
+6357
+6358
+6359
+6360
+6361
+6362
+6363
+6364
+6365
+6366
+6367
+6368
+6369
+6370
+6371
+6372
+6373
+6374
+6375
+6376
+6377
+6378
+6379
+6380
+6381
+6382
+6383
+6384
+6385
+6386
+6387
+6388
+6389
+6390
+6391
+6392
+6393
+6394
+6395
+6396
+6397
+6398
+6399
+6400
+6401
+6402
+6403
+6404
+6405
+6406
+6407
+6408
+6409
+6410
+6411
+6412
+6413
+6414
+6415
+6416
+6417
+6418
+6419
+6420
+6421
+6422
+6423
+6424
+6425
+6426
+6427
+6428
+6429
+6430
+6431
+6432
+6433
+6434
+6435
+6436
+6437
+6438
+6439
+6440
+6441
+6442
+6443
+6444
+6445
+6446
+6447
+6448
+6449
+6450
+6451
+6452
+6453
+6454
+6455
+6456
+6457
+6458
+6459
+6460
+6461
+6462
+6463
+6464
+6465
+6466
+6467
+6468
+6469
+6470
+6471
+6472
+6473
+6474
+6475
+6476
+6477
+6478
+6479
+6480
+6481
+6482
+6483
+6484
+6485
+6486
+6487
+6488
+6489
+6490
+6491
+6492
+6493
+6494
+6495
+6496
+6497
+6498
+6499
+6500
+6501
+6502
+6503
+6504
+6505
+6506
+6507
+6508
+6509
+6510
+6511
+6512
+6513
+6514
+6515
+6516
+6517
+6518
+6519
+6520
+6521
+6522
+6523
+6524
+6525
+6526
+6527
+6528
+6529
+6530
+6531
+6532
+6533
+6534
+6535
+6536
+6537
+6538
+6539
+6540
+6541
+6542
+6543
+6544
+6545
+6546
+6547
+6548
+6549
+6550
+6551
+6552
+6553
+6554
+6555
+6556
+6557
+6558
+6559
+6560
+6561
+6562
+6563
+6564
+6565
+6566
+6567
+6568
+6569
+6570
+6571
+6572
+6573
+6574
+6575
+6576
+6577
+6578
+6579
+6580
+6581
+6582
+6583
+6584
+6585
+6586
+6587
+6588
+6589
+6590
+6591
+6592
+6593
+6594
+6595
+6596
+6597
+6598
+6599
+6600
+6601
+6602
+6603
+6604
+6605
+6606
+6607
+6608
+6609
+6610
+6611
+6612
+6613
+6614
+6615
+6616
+6617
+6618
+6619
+6620
+6621
+6622
+6623
+6624
+6625
+6626
+6627
+6628
+6629
+6630
+6631
+6632
+6633
+6634
+6635
+6636
+6637
+6638
+6639
+6640
+6641
+6642
+6643
+6644
+6645
+6646
+6647
+6648
+6649
+6650
+6651
+6652
+6653
+6654
+6655
+6656
+6657
+6658
+6659
+6660
+6661
+6662
+6663
+6664
+6665
+6666
+6667
+6668
+6669
+6670
+6671
+6672
+6673
+6674
+6675
+6676
+6677
+6678
+6679
+6680
+6681
+6682
+6683
+6684
+6685
+6686
+6687
+6688
+6689
+6690
+6691
+6692
+6693
+6694
+6695
+6696
+6697
+6698
+6699
+6700
+6701
+6702
+6703
+6704
+6705
+6706
+6707
+6708
+6709
+6710
+6711
+6712
+6713
+6714
+6715
+6716
+6717
+6718
+6719
+6720
+6721
+6722
+6723
+6724
+6725
+6726
+6727
+6728
+6729
+6730
+6731
+6732
+6733
+6734
+6735
+6736
+6737
+6738
+6739
+6740
+6741
+6742
+6743
+6744
+6745
+6746
+6747
+6748
+6749
+6750
+6751
+6752
+6753
+6754
+6755
+6756
+6757
+6758
+6759
+6760
+6761
+6762
+6763
+6764
+6765
+6766
+6767
+6768
+6769
+6770
+6771
+6772
+6773
+6774
+6775
+6776
+6777
+6778
+6779
+6780
+6781
+6782
+6783
+6784
+6785
+6786
+6787
+6788
+6789
+6790
+6791
+6792
+6793
+6794
+6795
+6796
+6797
+6798
+6799
+6800
+6801
+6802
+6803
+6804
+6805
+6806
+6807
+6808
+6809
+6810
+6811
+6812
+6813
+6814
+6815
+6816
+6817
+6818
+6819
+6820
+6821
+6822
+6823
+6824
+6825
+6826
+6827
+6828
+6829
+6830
+6831
+6832
+6833
+6834
+6835
+6836
+6837
+6838
+6839
+6840
+6841
+6842
+6843
+6844
+6845
+6846
+6847
+6848
+6849
+6850
+6851
+6852
+6853
+6854
+6855
+6856
+6857
+6858
+6859
+6860
+6861
+6862
+6863
+6864
+6865
+6866
+6867
+6868
+6869
+6870
+6871
+6872
+6873
+6874
+6875
+6876
+6877
+6878
+6879
+6880
+6881
+6882
+6883
+6884
+6885
+6886
+6887
+6888
+6889
+6890
+6891
+6892
+6893
+6894
+6895
+6896
+6897
+6898
+6899
+6900
+6901
+6902
+6903
+6904
+6905
+6906
+6907
+6908
+6909
+6910
+6911
+6912
+6913
+6914
+6915
+6916
+6917
+6918
+6919
+6920
+6921
+6922
+6923
+6924
+6925
+6926
+6927
+6928
+6929
+6930
+6931
+6932
+6933
+6934
+6935
+6936
+6937
+6938
+6939
+6940
+6941
+6942
+6943
+6944
+6945
+6946
+6947
+6948
+6949
+6950
+6951
+6952
+6953
+6954
+6955
+6956
+6957
+6958
+6959
+6960
+6961
+6962
+6963
+6964
+6965
+6966
+6967
+6968
+6969
+6970
+6971
+6972
+6973
+6974
+6975
+6976
+6977
+6978
+6979
+6980
+6981
+6982
+6983
+6984
+6985
+6986
+6987
+6988
+6989
+6990
+6991
+6992
+6993
+6994
+6995
+6996
+6997
+6998
+6999
+7000
+7001
+7002
+7003
+7004
+7005
+7006
+7007
+7008
+7009
+7010
+7011
+7012
+7013
+7014
+7015
+7016
+7017
+7018
+7019
+7020
+7021
+7022
+7023
+7024
+7025
+7026
+7027
+7028
+7029
+7030
+7031
+7032
+7033
+7034
+7035
+7036
+7037
+7038
+7039
+7040
+7041
+7042
+7043
+7044
+7045
+7046
+7047
+7048
+7049
+7050
+7051
+7052
+7053
+7054
+7055
+7056
+7057
+7058
+7059
+7060
+7061
+7062
+7063
+7064
+7065
+7066
+7067
+7068
+7069
+7070
+7071
+7072
+7073
+7074
+7075
+7076
+7077
+7078
+7079
+7080
+7081
+7082
+7083
+7084
+7085
+7086
+7087
+7088
+7089
+7090
+7091
+7092
+7093
+7094
+7095
+7096
+7097
+7098
+7099
+7100
+7101
+7102
+7103
+7104
+7105
+7106
+7107
+7108
+7109
+7110
+7111
+7112
+7113
+7114
+7115
+7116
+7117
+7118
+7119
+7120
+7121
+7122
+7123
+7124
+7125
+7126
+7127
+7128
+7129
+7130
+7131
+7132
+7133
+7134
+7135
+7136
+7137
+7138
+7139
+7140
+7141
+7142
+7143
+7144
+7145
+7146
+7147
+7148
+7149
+7150
+7151
+7152
+7153
+7154
+7155
+7156
+7157
+7158
+7159
+7160
+7161
+7162
+7163
+7164
+7165
+7166
+7167
+7168
+7169
+7170
+7171
+7172
+7173
+7174
+7175
+7176
+7177
+7178
+7179
+7180
+7181
+7182
+7183
+7184
+7185
+7186
+7187
+7188
+7189
+7190
+7191
+7192
+7193
+7194
+7195
+7196
+7197
+7198
+7199
+7200
+7201
+7202
+7203
+7204
+7205
+7206
+7207
+7208
+7209
+7210
+7211
+7212
+7213
+7214
+7215
+7216
+7217
+7218
+7219
+7220
+7221
+7222
+7223
+7224
+7225
+7226
+7227
+7228
+7229
+7230
+7231
+7232
+7233
+7234
+7235
+7236
+7237
+7238
+7239
+7240
+7241
+7242
+7243
+7244
+7245
+7246
+7247
+7248
+7249
+7250
+7251
+7252
+7253
+7254
+7255
+7256
+7257
+7258
+7259
+7260
+7261
+7262
+7263
+7264
+7265
+7266
+7267
+7268
+7269
+7270
+7271
+7272
+7273
+7274
+7275
+7276
+7277
+7278
+7279
+7280
+7281
+7282
+7283
+7284
+7285
+7286
+7287
+7288
+7289
+7290
+7291
+7292
+7293
+7294
+7295
+7296
+7297
+7298
+7299
+7300
+7301
+7302
+7303
+7304
+7305
+7306
+7307
+7308
+7309
+7310
+7311
+7312
+7313
+7314
+7315
+7316
+7317
+7318
+7319
+7320
+7321
+7322
+7323
+7324
+7325
+7326
+7327
+7328
+7329
+7330
+7331
+7332
+7333
+7334
+7335
+7336
+7337
+7338
+7339
+7340
+7341
+7342
+7343
+7344
+7345
+7346
+7347
+7348
+7349
+7350
+7351
+7352
+7353
+7354
+7355
+7356
+7357
+7358
+7359
+7360
+7361
+7362
+7363
+7364
+7365
+7366
+7367
+7368
+7369
+7370
+7371
+7372
+7373
+7374
+7375
+7376
+7377
+7378
+7379
+7380
+7381
+7382
+7383
+7384
+7385
+7386
+7387
+7388
+7389
+7390
+7391
+7392
+7393
+7394
+7395
+7396
+7397
+7398
+7399
+7400
+7401
+7402
+7403
+7404
+7405
+7406
+7407
+7408
+7409
+7410
+7411
+7412
+7413
+7414
+7415
+7416
+7417
+7418
+7419
+7420
+7421
+7422
+7423
+7424
+7425
+7426
+7427
+7428
+7429
+7430
+7431
+7432
+7433
+7434
+7435
+7436
+7437
+7438
+7439
+7440
+7441
+7442
+7443
+7444
+7445
+7446
+7447
+7448
+7449
+7450
+7451
+7452
+7453
+7454
+7455
+7456
+7457
+7458
+7459
+7460
+7461
+7462
+7463
+7464
+7465
+7466
+7467
+7468
+7469
+7470
+7471
+7472
+7473
+7474
+7475
+7476
+7477
+7478
+7479
+7480
+7481
+7482
+7483
+7484
+7485
+7486
+7487
+7488
+7489
+7490
+7491
+7492
+7493
+7494
+7495
+7496
+7497
+7498
+7499
+7500
+7501
+7502
+7503
+7504
+7505
+7506
+7507
+7508
+7509
+7510
+7511
+7512
+7513
+7514
+7515
+7516
+7517
+7518
+7519
+7520
+7521
+7522
+7523
+7524
+7525
+7526
+7527
+7528
+7529
+7530
+7531
+7532
+7533
+7534
+7535
+7536
+7537
+7538
+7539
+7540
+7541
+7542
+7543
+7544
+7545
+7546
+7547
+7548
+7549
+7550
+7551
+7552
+7553
+7554
+7555
+7556
+7557
+7558
+7559
+7560
+7561
+7562
+7563
+7564
+7565
+7566
+7567
+7568
+7569
+7570
+7571
+7572
+7573
+7574
+7575
+7576
+7577
+7578
+7579
+7580
+7581
+7582
+7583
+7584
+7585
+7586
+7587
+7588
+7589
+7590
+7591
+7592
+7593
+7594
+7595
+7596
+7597
+7598
+7599
+7600
+7601
+7602
+7603
+7604
+7605
+7606
+7607
+7608
+7609
+7610
+7611
+7612
+7613
+7614
+7615
+7616
+7617
+7618
+7619
+7620
+7621
+7622
+7623
+7624
+7625
+7626
+7627
+7628
+7629
+7630
+7631
+7632
+7633
+7634
+7635
+7636
+7637
+7638
+7639
+7640
+7641
+7642
+7643
+7644
+7645
+7646
+7647
+7648
+7649
+7650
+7651
+7652
+7653
+7654
+7655
+7656
+7657
+7658
+7659
+7660
+7661
+7662
+7663
+7664
+7665
+7666
+7667
+7668
+7669
+7670
+7671
+7672
+7673
+7674
+7675
+7676
+7677
+7678
+7679
+7680
+7681
+7682
+7683
+7684
+7685
+7686
+7687
+7688
+7689
+7690
+7691
+7692
+7693
+7694
+7695
+7696
+7697
+7698
+7699
+7700
+7701
+7702
+7703
+7704
+7705
+7706
+7707
+7708
+7709
+7710
+7711
+7712
+7713
+7714
+7715
+7716
+7717
+7718
+7719
+7720
+7721
+7722
+7723
+7724
+7725
+7726
+7727
+7728
+7729
+7730
+7731
+7732
+7733
+7734
+7735
+7736
+7737
+7738
+7739
+7740
+7741
+7742
+7743
+7744
+7745
+7746
+7747
+7748
+7749
+7750
+7751
+7752
+7753
+7754
+7755
+7756
+7757
+7758
+7759
+7760
+7761
+7762
+7763
+7764
+7765
+7766
+7767
+7768
+7769
+7770
+7771
+7772
+7773
+7774
+7775
+7776
+7777
+7778
+7779
+7780
+7781
+7782
+7783
+7784
+7785
+7786
+7787
+7788
+7789
+7790
+7791
+7792
+7793
+7794
+7795
+7796
+7797
+7798
+7799
+7800
+7801
+7802
+7803
+7804
+7805
+7806
+7807
+7808
+7809
+7810
+7811
+7812
+7813
+7814
+7815
+7816
+7817
+7818
+7819
+7820
+7821
+7822
+7823
+7824
+7825
+7826
+7827
+7828
+7829
+7830
+7831
+7832
+7833
+7834
+7835
+7836
+7837
+7838
+7839
+7840
+7841
+7842
+7843
+7844
+7845
+7846
+7847
+7848
+7849
+7850
+7851
+7852
+7853
+7854
+7855
+7856
+7857
+7858
+7859
+7860
+7861
+7862
+7863
+7864
+7865
+7866
+7867
+7868
+7869
+7870
+7871
+7872
+7873
+7874
+7875
+7876
+7877
+7878
+7879
+7880
+7881
+7882
+7883
+7884
+7885
+7886
+7887
+7888
+7889
+7890
+7891
+7892
+7893
+7894
+7895
+7896
+7897
+7898
+7899
+7900
+7901
+7902
+7903
+7904
+7905
+7906
+7907
+7908
+7909
+7910
+7911
+7912
+7913
+7914
+7915
+7916
+7917
+7918
+7919
+7920
+7921
+7922
+7923
+7924
+7925
+7926
+7927
+7928
+7929
+7930
+7931
+7932
+7933
+7934
+7935
+7936
+7937
+7938
+7939
+7940
+7941
+7942
+7943
+7944
+7945
+7946
+7947
+7948
+7949
+7950
+7951
+7952
+7953
+7954
+7955
+7956
+7957
+7958
+7959
+7960
+7961
+7962
+7963
+7964
+7965
+7966
+7967
+7968
+7969
+7970
+7971
+7972
+7973
+7974
+7975
+7976
+7977
+7978
+7979
+7980
+7981
+7982
+7983
+7984
+7985
+7986
+7987
+7988
+7989
+7990
+7991
+7992
+7993
+7994
+7995
+7996
+7997
+7998
+7999
+8000
+8001
+8002
+8003
+8004
+8005
+8006
+8007
+8008
+8009
+8010
+8011
+8012
+8013
+8014
+8015
+8016
+8017
+8018
+8019
+8020
+8021
+8022
+8023
+8024
+8025
+8026
+8027
+8028
+8029
+8030
+8031
+8032
+8033
+8034
+8035
+8036
+8037
+8038
+8039
+8040
+8041
+8042
+8043
+8044
+8045
+8046
+8047
+8048
+8049
+8050
+8051
+8052
+8053
+8054
+8055
+8056
+8057
+8058
+8059
+8060
+8061
+8062
+8063
+8064
+8065
+8066
+8067
+8068
+8069
+8070
+8071
+8072
+8073
+8074
+8075
+8076
+8077
+8078
+8079
+8080
+8081
+8082
+8083
+8084
+8085
+8086
+8087
+8088
+8089
+8090
+8091
+8092
+8093
+8094
+8095
+8096
+8097
+8098
+8099
+8100
+8101
+8102
+8103
+8104
+8105
+8106
+8107
+8108
+8109
+8110
+8111
+8112
+8113
+8114
+8115
+8116
+8117
+8118
+8119
+8120
+8121
+8122
+8123
+8124
+8125
+8126
+8127
+8128
+8129
+8130
+8131
+8132
+8133
+8134
+8135
+8136
+8137
+8138
+8139
+8140
+8141
+8142
+8143
+8144
+8145
+8146
+8147
+8148
+8149
+8150
+8151
+8152
+8153
+8154
+8155
+8156
+8157
+8158
+8159
+8160
+8161
+8162
+8163
+8164
+8165
+8166
+8167
+8168
+8169
+8170
+8171
+8172
+8173
+8174
+8175
+8176
+8177
+8178
+8179
+8180
+8181
+8182
+8183
+8184
+8185
+8186
+8187
+8188
+8189
+8190
+8191
+8192
+8193
+8194
+8195
+8196
+8197
+8198
+8199
+8200
+8201
+8202
+8203
+8204
+8205
+8206
+8207
+8208
+8209
+8210
+8211
+8212
+8213
+8214
+8215
+8216
+8217
+8218
+8219
+8220
+8221
+8222
+8223
+8224
+8225
+8226
+8227
+8228
+8229
+8230
+8231
+8232
+8233
+8234
+8235
+8236
+8237
+8238
+8239
+8240
+8241
+8242
+8243
+8244
+8245
+8246
+8247
+8248
+8249
+8250
+8251
+8252
+8253
+8254
+8255
+8256
+8257
+8258
+8259
+8260
+8261
+8262
+8263
+8264
+8265
+8266
+8267
+8268
+8269
+8270
+8271
+8272
+8273
+8274
+8275
+8276
+8277
+8278
+8279
+8280
+8281
+8282
+8283
+8284
+8285
+8286
+8287
+8288
+8289
+8290
+8291
+8292
+8293
+8294
+8295
+8296
+8297
+8298
+8299
+8300
+8301
+8302
+8303
+8304
+8305
+8306
+8307
+8308
+8309
+8310
+8311
+8312
+8313
+8314
+8315
+8316
+8317
+8318
+8319
+8320
+8321
+8322
+8323
+8324
+8325
+8326
+8327
+8328
+8329
+8330
+8331
+8332
+8333
+8334
+8335
+8336
+8337
+8338
+8339
+8340
+8341
+8342
+8343
+8344
+8345
+8346
+8347
+8348
+8349
+8350
+8351
+8352
+8353
+8354
+8355
+8356
+8357
+8358
+8359
+8360
+8361
+8362
+8363
+8364
+8365
+8366
+8367
+8368
+8369
+8370
+8371
+8372
+8373
+8374
+8375
+8376
+8377
+8378
+8379
+8380
+8381
+8382
+8383
+8384
+8385
+8386
+8387
+8388
+8389
+8390
+8391
+8392
+8393
+8394
+8395
+8396
+8397
+8398
+8399
+8400
+8401
+8402
+8403
+8404
+8405
+8406
+8407
+8408
+8409
+8410
+8411
+8412
+8413
+8414
+8415
+8416
+8417
+8418
+8419
+8420
+8421
+8422
+8423
+8424
+8425
+8426
+8427
+8428
+8429
+8430
+8431
+8432
+8433
+8434
+8435
+8436
+8437
+8438
+8439
+8440
+8441
+8442
+8443
+8444
+8445
+8446
+8447
+8448
+8449
+8450
+8451
+8452
+8453
+8454
+8455
+8456
+8457
+8458
+8459
+8460
+8461
+8462
+8463
+8464
+8465
+8466
+8467
+8468
+8469
+8470
+8471
+8472
+8473
+8474
+8475
+8476
+8477
+8478
+8479
+8480
+8481
+8482
+8483
+8484
+8485
+8486
+8487
+8488
+8489
+8490
+8491
+8492
+8493
+8494
+8495
+8496
+8497
+8498
+8499
+8500
+8501
+8502
+8503
+8504
+8505
+8506
+8507
+8508
+8509
+8510
+8511
+8512
+8513
+8514
+8515
+8516
+8517
+8518
+8519
+8520
+8521
+8522
+8523
+8524
+8525
+8526
+8527
+8528
+8529
+8530
+8531
+8532
+8533
+8534
+8535
+8536
+8537
+8538
+8539
+8540
+8541
+8542
+8543
+8544
+8545
+8546
+8547
+8548
+8549
+8550
+8551
+8552
+8553
+8554
+8555
+8556
+8557
+8558
+8559
+8560
+8561
+8562
+8563
+8564
+8565
+8566
+8567
+8568
+8569
+8570
+8571
+8572
+8573
+8574
+8575
+8576
+8577
+8578
+8579
+8580
+8581
+8582
+8583
+8584
+8585
+8586
+8587
+8588
+8589
+8590
+8591
+8592
+8593
+8594
+8595
+8596
+8597
+8598
+8599
+8600
+8601
+8602
+8603
+8604
+8605
+8606
+8607
+8608
+8609
+8610
+8611
+8612
+8613
+8614
+8615
+8616
+8617
+8618
+8619
+8620
+8621
+8622
+8623
+8624
+8625
+8626
+8627
+8628
+8629
+8630
+8631
+8632
+8633
+8634
+8635
+8636
+8637
+8638
+8639
+8640
+8641
+8642
+8643
+8644
+8645
+8646
+8647
+8648
+8649
+8650
+8651
+8652
+8653
+8654
+8655
+8656
+8657
+8658
+8659
+8660
+8661
+8662
+8663
+8664
+8665
+8666
+8667
+8668
+8669
+8670
+8671
+8672
+8673
+8674
+8675
+8676
+8677
+8678
+8679
+8680
+8681
+8682
+8683
+8684
+8685
+8686
+8687
+8688
+8689
+8690
+8691
+8692
+8693
+8694
+8695
+8696
+8697
+8698
+8699
+8700
+8701
+8702
+8703
+8704
+8705
+8706
+8707
+8708
+8709
+8710
+8711
+8712
+8713
+8714
+8715
+8716
+8717
+8718
+8719
+8720
+8721
+8722
+8723
+8724
+8725
+8726
+8727
+8728
+8729
+8730
+8731
+8732
+8733
+8734
+8735
+8736
+8737
+8738
+8739
+8740
+8741
+8742
+8743
+8744
+8745
+8746
+8747
+8748
+8749
+8750
+8751
+8752
+8753
+8754
+8755
+8756
+8757
+8758
+8759
+8760
+8761
+8762
+8763
+8764
+8765
+8766
+8767
+8768
+8769
+8770
+8771
+8772
+8773
+8774
+8775
+8776
+8777
+8778
+8779
+8780
+8781
+8782
+8783
+8784
+8785
+8786
+8787
+8788
+8789
+8790
+8791
+8792
+8793
+8794
+8795
+8796
+8797
+8798
+8799
+8800
+8801
+8802
+8803
+8804
+8805
+8806
+8807
+8808
+8809
+8810
+8811
+8812
+8813
+8814
+8815
+8816
+8817
+8818
+8819
+8820
+8821
+8822
+8823
+8824
+8825
+8826
+8827
+8828
+8829
+8830
+8831
+8832
+8833
+8834
+8835
+8836
+8837
+8838
+8839
+8840
+8841
+8842
+8843
+8844
+8845
+8846
+8847
+8848
+8849
+8850
+8851
+8852
+8853
+8854
+8855
+8856
+8857
+8858
+8859
+8860
+8861
+8862
+8863
+8864
+8865
+8866
+8867
+8868
+8869
+8870
+8871
+8872
+8873
+8874
+8875
+8876
+8877
+8878
+8879
+8880
+8881
+8882
+8883
+8884
+8885
+8886
+8887
+8888
+8889
+8890
+8891
+8892
+8893
+8894
+8895
+8896
+8897
+8898
+8899
+8900
+8901
+8902
+8903
+8904
+8905
+8906
+8907
+8908
+8909
+8910
+8911
+8912
+8913
+8914
+8915
+8916
+8917
+8918
+8919
+8920
+8921
+8922
+8923
+8924
+8925
+8926
+8927
+8928
+8929
+8930
+8931
+8932
+8933
+8934
+8935
+8936
+8937
+8938
+8939
+8940
+8941
+8942
+8943
+8944
+8945
+8946
+8947
+8948
+8949
+8950
+8951
+8952
+8953
+8954
+8955
+8956
+8957
+8958
+8959
+8960
+8961
+8962
+8963
+8964
+8965
+8966
+8967
+8968
+8969
+8970
+8971
+8972
+8973
+8974
+8975
+8976
+8977
+8978
+8979
+8980
+8981
+8982
+8983
+8984
+8985
+8986
+8987
+8988
+8989
+8990
+8991
+8992
+8993
+8994
+8995
+8996
+8997
+8998
+8999
+9000
+9001
+9002
+9003
+9004
+9005
+9006
+9007
+9008
+9009
+9010
+9011
+9012
+9013
+9014
+9015
+9016
+9017
+9018
+9019
+9020
+9021
+9022
+9023
+9024
+9025
+9026
+9027
+9028
+9029
+9030
+9031
+9032
+9033
+9034
+9035
+9036
+9037
+9038
+9039
+9040
+9041
+9042
+9043
+9044
+9045
+9046
+9047
+9048
+9049
+9050
+9051
+9052
+9053
+9054
+9055
+9056
+9057
+9058
+9059
+9060
+9061
+9062
+9063
+9064
+9065
+9066
+9067
+9068
+9069
+9070
+9071
+9072
+9073
+9074
+9075
+9076
+9077
+9078
+9079
+9080
+9081
+9082
+9083
+9084
+9085
+9086
+9087
+9088
+9089
+9090
+9091
+9092
+9093
+9094
+9095
+9096
+9097
+9098
+9099
+9100
+9101
+9102
+9103
+9104
+9105
+9106
+9107
+9108
+9109
+9110
+9111
+9112
+9113
+9114
+9115
+9116
+9117
+9118
+9119
+9120
+9121
+9122
+9123
+9124
+9125
+9126
+9127
+9128
+9129
+9130
+9131
+9132
+9133
+9134
+9135
+9136
+9137
+9138
+9139
+9140
+9141
+9142
+9143
+9144
+9145
+9146
+9147
+9148
+9149
+9150
+9151
+9152
+9153
+9154
+9155
+9156
+9157
+9158
+9159
+9160
+9161
+9162
+9163
+9164
+9165
+9166
+9167
+9168
+9169
+9170
+9171
+9172
+9173
+9174
+9175
+9176
+9177
+9178
+9179
+9180
+9181
+9182
+9183
+9184
+9185
+9186
+9187
+9188
+9189
+9190
+9191
+9192
+9193
+9194
+9195
+9196
+9197
+9198
+9199
+9200
+9201
+9202
+9203
+9204
+9205
+9206
+9207
+9208
+9209
+9210
+9211
+9212
+9213
+9214
+9215
+9216
+9217
+9218
+9219
+9220
+9221
+9222
+9223
+9224
+9225
+9226
+9227
+9228
+9229
+9230
+9231
+9232
+9233
+9234
+9235
+9236
+9237
+9238
+9239
+9240
+9241
+9242
+9243
+9244
+9245
+9246
+9247
+9248
+9249
+9250
+9251
+9252
+9253
+9254
+9255
+9256
+9257
+9258
+9259
+9260
+9261
+9262
+9263
+9264
+9265
+9266
+9267
+9268
+9269
+9270
+9271
+9272
+9273
+9274
+9275
+9276
+9277
+9278
+9279
+9280
+9281
+9282
+9283
+9284
+9285
+9286
+9287
+9288
+9289
+9290
+9291
+9292
+9293
+9294
+9295
+9296
+9297
+9298
+9299
+9300
+9301
+9302
+9303
+9304
+9305
+9306
+9307
+9308
+9309
+9310
+9311
+9312
+9313
+9314
+9315
+9316
+9317
+9318
+9319
+9320
+9321
+9322
+9323
+9324
+9325
+9326
+9327
+9328
+9329
+9330
+9331
+9332
+9333
+9334
+9335
+9336
+9337
+9338
+9339
+9340
+9341
+9342
+9343
+9344
+9345
+9346
+9347
+9348
+9349
+9350
+9351
+9352
+9353
+9354
+9355
+9356
+9357
+9358
+9359
+9360
+9361
+9362
+9363
+9364
+9365
+9366
+9367
+9368
+9369
+9370
+9371
+9372
+9373
+9374
+9375
+9376
+9377
+9378
+9379
+9380
+9381
+9382
+9383
+9384
+9385
+9386
+9387
+9388
+9389
+9390
+9391
+9392
+9393
+9394
+9395
+9396
+9397
+9398
+9399
+9400
+9401
+9402
+9403
+9404
+9405
+9406
+9407
+9408
+9409
+9410
+9411
+9412
+9413
+9414
+9415
+9416
+9417
+9418
+9419
+9420
+9421
+9422
+9423
+9424
+9425
+9426
+9427
+9428
+9429
+9430
+9431
+9432
+9433
+9434
+9435
+9436
+9437
+9438
+9439
+9440
+9441
+9442
+9443
+9444
+9445
+9446
+9447
+9448
+9449
+9450
+9451
+9452
+9453
+9454
+9455
+9456
+9457
+9458
+9459
+9460
+9461
+9462
+9463
+9464
+9465
+9466
+9467
+9468
+9469
+9470
+9471
+9472
+9473
+9474
+9475
+9476
+9477
+9478
+9479
+9480
+9481
+9482
+9483
+9484
+9485
+9486
+9487
+9488
+9489
+9490
+9491
+9492
+9493
+9494
+9495
+9496
+9497
+9498
+9499
+9500
+9501
+9502
+9503
+9504
+9505
+9506
+9507
+9508
+9509
+9510
+9511
+9512
+9513
+9514
+9515
+9516
+9517
+9518
+9519
+9520
+9521
+9522
+9523
+9524
+9525
+9526
+9527
+9528
+9529
+9530
+9531
+9532
+9533
+9534
+9535
+9536
+9537
+9538
+9539
+9540
+9541
+9542
+9543
+9544
+9545
+9546
+9547
+9548
+9549
+9550
+9551
+9552
+9553
+9554
+9555
+9556
+9557
+9558
+9559
+9560
+9561
+9562
+9563
+9564
+9565
+9566
+9567
+9568
+9569
+9570
+9571
+9572
+9573
+9574
+9575
+9576
+9577
+9578
+9579
+9580
+9581
+9582
+9583
+9584
+9585
+9586
+9587
+9588
+9589
+9590
+9591
+9592
+9593
+9594
+9595
+9596
+9597
+9598
+9599
+9600
+9601
+9602
+9603
+9604
+9605
+9606
+9607
+9608
+9609
+9610
+9611
+9612
+9613
+9614
+9615
+9616
+9617
+9618
+9619
+9620
+9621
+9622
+9623
+9624
+9625
+9626
+9627
+9628
+9629
+9630
+9631
+9632
+9633
+9634
+9635
+9636
+9637
+9638
+9639
+9640
+9641
+9642
+9643
+9644
+9645
+9646
+9647
+9648
+9649
+9650
+9651
+9652
+9653
+9654
+9655
+9656
+9657
+9658
+9659
+9660
+9661
+9662
+9663
+9664
+9665
+9666
+9667
+9668
+9669
+9670
+9671
+9672
+9673
+9674
+9675
+9676
+9677
+9678
+9679
+9680
+9681
+9682
+9683
+9684
+9685
+9686
+9687
+9688
+9689
+9690
+9691
+9692
+9693
+9694
+9695
+9696
+9697
+9698
+9699
+9700
+9701
+9702
+9703
+9704
+9705
+9706
+9707
+9708
+9709
+9710
+9711
+9712
+9713
+9714
+9715
+9716
+9717
+9718
+9719
+9720
+9721
+9722
+9723
+9724
+9725
+9726
+9727
+9728
+9729
+9730
+9731
+9732
+9733
+9734
+9735
+9736
+9737
+9738
+9739
+9740
+9741
+9742
+9743
+9744
+9745
+9746
+9747
+9748
+9749
+9750
+9751
+9752
+9753
+9754
+9755
+9756
+9757
+9758
+9759
+9760
+9761
+9762
+9763
+9764
+9765
+9766
+9767
+9768
+9769
+9770
+9771
+9772
+9773
+9774
+9775
+9776
+9777
+9778
+9779
+9780
+9781
+9782
+9783
+9784
+9785
+9786
+9787
+9788
+9789
+9790
+9791
+9792
+9793
+9794
+9795
+9796
+9797
+9798
+9799
+9800
+9801
+9802
+9803
+9804
+9805
+9806
+9807
+9808
+9809
+9810
+9811
+9812
+9813
+9814
+9815
+9816
+9817
+9818
+9819
+9820
+9821
+9822
+9823
+9824
+9825
+9826
+9827
+9828
+9829
+9830
+9831
+9832
+9833
+9834
+9835
+9836
+9837
+9838
+9839
+9840
+9841
+9842
+9843
+9844
+9845
+9846
+9847
+9848
+9849
+9850
+9851
+9852
+9853
+9854
+9855
+9856
+9857
+9858
+9859
+9860
+9861
+9862
+9863
+9864
+9865
+9866
+9867
+9868
+9869
+9870
+9871
+9872
+9873
+9874
+9875
+9876
+9877
+9878
+9879
+9880
+9881
+9882
+9883
+9884
+9885
+9886
+9887
+9888
+9889
+9890
+9891
+9892
+9893
+9894
+9895
+9896
+9897
+9898
+9899
+9900
+9901
+9902
+9903
+9904
+9905
+9906
+9907
+9908
+9909
+9910
+9911
+9912
+9913
+9914
+9915
+9916
+9917
+9918
+9919
+9920
+9921
+9922
+9923
+9924
+9925
+9926
+9927
+9928
+9929
+9930
+9931
+9932
+9933
+9934
+9935
+9936
+9937
+9938
+9939
+9940
+9941
+9942
+9943
+9944
+9945
+9946
+9947
+9948
+9949
+9950
+9951
+9952
+9953
+9954
+9955
+9956
+9957
+9958
+9959
+9960
+9961
+9962
+9963
+9964
+9965
+9966
+9967
+9968
+9969
+9970
+9971
+9972
+9973
+9974
+9975
+9976
+9977
+9978
+9979
+9980
+9981
+9982
+9983
+9984
+9985
+9986
+9987
+9988
+9989
+9990
+9991
+9992
+9993
+9994
+9995
+9996
+9997
+9998
+9999
+10000
diff --git a/mysql-test/std_data/bug30435_5k.txt b/mysql-test/std_data/bug30435_5k.txt
new file mode 100644
index 00000000000..7d1714969fc
--- /dev/null
+++ b/mysql-test/std_data/bug30435_5k.txt
@@ -0,0 +1,5000 @@
+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
+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
+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
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671
+672
+673
+674
+675
+676
+677
+678
+679
+680
+681
+682
+683
+684
+685
+686
+687
+688
+689
+690
+691
+692
+693
+694
+695
+696
+697
+698
+699
+700
+701
+702
+703
+704
+705
+706
+707
+708
+709
+710
+711
+712
+713
+714
+715
+716
+717
+718
+719
+720
+721
+722
+723
+724
+725
+726
+727
+728
+729
+730
+731
+732
+733
+734
+735
+736
+737
+738
+739
+740
+741
+742
+743
+744
+745
+746
+747
+748
+749
+750
+751
+752
+753
+754
+755
+756
+757
+758
+759
+760
+761
+762
+763
+764
+765
+766
+767
+768
+769
+770
+771
+772
+773
+774
+775
+776
+777
+778
+779
+780
+781
+782
+783
+784
+785
+786
+787
+788
+789
+790
+791
+792
+793
+794
+795
+796
+797
+798
+799
+800
+801
+802
+803
+804
+805
+806
+807
+808
+809
+810
+811
+812
+813
+814
+815
+816
+817
+818
+819
+820
+821
+822
+823
+824
+825
+826
+827
+828
+829
+830
+831
+832
+833
+834
+835
+836
+837
+838
+839
+840
+841
+842
+843
+844
+845
+846
+847
+848
+849
+850
+851
+852
+853
+854
+855
+856
+857
+858
+859
+860
+861
+862
+863
+864
+865
+866
+867
+868
+869
+870
+871
+872
+873
+874
+875
+876
+877
+878
+879
+880
+881
+882
+883
+884
+885
+886
+887
+888
+889
+890
+891
+892
+893
+894
+895
+896
+897
+898
+899
+900
+901
+902
+903
+904
+905
+906
+907
+908
+909
+910
+911
+912
+913
+914
+915
+916
+917
+918
+919
+920
+921
+922
+923
+924
+925
+926
+927
+928
+929
+930
+931
+932
+933
+934
+935
+936
+937
+938
+939
+940
+941
+942
+943
+944
+945
+946
+947
+948
+949
+950
+951
+952
+953
+954
+955
+956
+957
+958
+959
+960
+961
+962
+963
+964
+965
+966
+967
+968
+969
+970
+971
+972
+973
+974
+975
+976
+977
+978
+979
+980
+981
+982
+983
+984
+985
+986
+987
+988
+989
+990
+991
+992
+993
+994
+995
+996
+997
+998
+999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1008
+1009
+1010
+1011
+1012
+1013
+1014
+1015
+1016
+1017
+1018
+1019
+1020
+1021
+1022
+1023
+1024
+1025
+1026
+1027
+1028
+1029
+1030
+1031
+1032
+1033
+1034
+1035
+1036
+1037
+1038
+1039
+1040
+1041
+1042
+1043
+1044
+1045
+1046
+1047
+1048
+1049
+1050
+1051
+1052
+1053
+1054
+1055
+1056
+1057
+1058
+1059
+1060
+1061
+1062
+1063
+1064
+1065
+1066
+1067
+1068
+1069
+1070
+1071
+1072
+1073
+1074
+1075
+1076
+1077
+1078
+1079
+1080
+1081
+1082
+1083
+1084
+1085
+1086
+1087
+1088
+1089
+1090
+1091
+1092
+1093
+1094
+1095
+1096
+1097
+1098
+1099
+1100
+1101
+1102
+1103
+1104
+1105
+1106
+1107
+1108
+1109
+1110
+1111
+1112
+1113
+1114
+1115
+1116
+1117
+1118
+1119
+1120
+1121
+1122
+1123
+1124
+1125
+1126
+1127
+1128
+1129
+1130
+1131
+1132
+1133
+1134
+1135
+1136
+1137
+1138
+1139
+1140
+1141
+1142
+1143
+1144
+1145
+1146
+1147
+1148
+1149
+1150
+1151
+1152
+1153
+1154
+1155
+1156
+1157
+1158
+1159
+1160
+1161
+1162
+1163
+1164
+1165
+1166
+1167
+1168
+1169
+1170
+1171
+1172
+1173
+1174
+1175
+1176
+1177
+1178
+1179
+1180
+1181
+1182
+1183
+1184
+1185
+1186
+1187
+1188
+1189
+1190
+1191
+1192
+1193
+1194
+1195
+1196
+1197
+1198
+1199
+1200
+1201
+1202
+1203
+1204
+1205
+1206
+1207
+1208
+1209
+1210
+1211
+1212
+1213
+1214
+1215
+1216
+1217
+1218
+1219
+1220
+1221
+1222
+1223
+1224
+1225
+1226
+1227
+1228
+1229
+1230
+1231
+1232
+1233
+1234
+1235
+1236
+1237
+1238
+1239
+1240
+1241
+1242
+1243
+1244
+1245
+1246
+1247
+1248
+1249
+1250
+1251
+1252
+1253
+1254
+1255
+1256
+1257
+1258
+1259
+1260
+1261
+1262
+1263
+1264
+1265
+1266
+1267
+1268
+1269
+1270
+1271
+1272
+1273
+1274
+1275
+1276
+1277
+1278
+1279
+1280
+1281
+1282
+1283
+1284
+1285
+1286
+1287
+1288
+1289
+1290
+1291
+1292
+1293
+1294
+1295
+1296
+1297
+1298
+1299
+1300
+1301
+1302
+1303
+1304
+1305
+1306
+1307
+1308
+1309
+1310
+1311
+1312
+1313
+1314
+1315
+1316
+1317
+1318
+1319
+1320
+1321
+1322
+1323
+1324
+1325
+1326
+1327
+1328
+1329
+1330
+1331
+1332
+1333
+1334
+1335
+1336
+1337
+1338
+1339
+1340
+1341
+1342
+1343
+1344
+1345
+1346
+1347
+1348
+1349
+1350
+1351
+1352
+1353
+1354
+1355
+1356
+1357
+1358
+1359
+1360
+1361
+1362
+1363
+1364
+1365
+1366
+1367
+1368
+1369
+1370
+1371
+1372
+1373
+1374
+1375
+1376
+1377
+1378
+1379
+1380
+1381
+1382
+1383
+1384
+1385
+1386
+1387
+1388
+1389
+1390
+1391
+1392
+1393
+1394
+1395
+1396
+1397
+1398
+1399
+1400
+1401
+1402
+1403
+1404
+1405
+1406
+1407
+1408
+1409
+1410
+1411
+1412
+1413
+1414
+1415
+1416
+1417
+1418
+1419
+1420
+1421
+1422
+1423
+1424
+1425
+1426
+1427
+1428
+1429
+1430
+1431
+1432
+1433
+1434
+1435
+1436
+1437
+1438
+1439
+1440
+1441
+1442
+1443
+1444
+1445
+1446
+1447
+1448
+1449
+1450
+1451
+1452
+1453
+1454
+1455
+1456
+1457
+1458
+1459
+1460
+1461
+1462
+1463
+1464
+1465
+1466
+1467
+1468
+1469
+1470
+1471
+1472
+1473
+1474
+1475
+1476
+1477
+1478
+1479
+1480
+1481
+1482
+1483
+1484
+1485
+1486
+1487
+1488
+1489
+1490
+1491
+1492
+1493
+1494
+1495
+1496
+1497
+1498
+1499
+1500
+1501
+1502
+1503
+1504
+1505
+1506
+1507
+1508
+1509
+1510
+1511
+1512
+1513
+1514
+1515
+1516
+1517
+1518
+1519
+1520
+1521
+1522
+1523
+1524
+1525
+1526
+1527
+1528
+1529
+1530
+1531
+1532
+1533
+1534
+1535
+1536
+1537
+1538
+1539
+1540
+1541
+1542
+1543
+1544
+1545
+1546
+1547
+1548
+1549
+1550
+1551
+1552
+1553
+1554
+1555
+1556
+1557
+1558
+1559
+1560
+1561
+1562
+1563
+1564
+1565
+1566
+1567
+1568
+1569
+1570
+1571
+1572
+1573
+1574
+1575
+1576
+1577
+1578
+1579
+1580
+1581
+1582
+1583
+1584
+1585
+1586
+1587
+1588
+1589
+1590
+1591
+1592
+1593
+1594
+1595
+1596
+1597
+1598
+1599
+1600
+1601
+1602
+1603
+1604
+1605
+1606
+1607
+1608
+1609
+1610
+1611
+1612
+1613
+1614
+1615
+1616
+1617
+1618
+1619
+1620
+1621
+1622
+1623
+1624
+1625
+1626
+1627
+1628
+1629
+1630
+1631
+1632
+1633
+1634
+1635
+1636
+1637
+1638
+1639
+1640
+1641
+1642
+1643
+1644
+1645
+1646
+1647
+1648
+1649
+1650
+1651
+1652
+1653
+1654
+1655
+1656
+1657
+1658
+1659
+1660
+1661
+1662
+1663
+1664
+1665
+1666
+1667
+1668
+1669
+1670
+1671
+1672
+1673
+1674
+1675
+1676
+1677
+1678
+1679
+1680
+1681
+1682
+1683
+1684
+1685
+1686
+1687
+1688
+1689
+1690
+1691
+1692
+1693
+1694
+1695
+1696
+1697
+1698
+1699
+1700
+1701
+1702
+1703
+1704
+1705
+1706
+1707
+1708
+1709
+1710
+1711
+1712
+1713
+1714
+1715
+1716
+1717
+1718
+1719
+1720
+1721
+1722
+1723
+1724
+1725
+1726
+1727
+1728
+1729
+1730
+1731
+1732
+1733
+1734
+1735
+1736
+1737
+1738
+1739
+1740
+1741
+1742
+1743
+1744
+1745
+1746
+1747
+1748
+1749
+1750
+1751
+1752
+1753
+1754
+1755
+1756
+1757
+1758
+1759
+1760
+1761
+1762
+1763
+1764
+1765
+1766
+1767
+1768
+1769
+1770
+1771
+1772
+1773
+1774
+1775
+1776
+1777
+1778
+1779
+1780
+1781
+1782
+1783
+1784
+1785
+1786
+1787
+1788
+1789
+1790
+1791
+1792
+1793
+1794
+1795
+1796
+1797
+1798
+1799
+1800
+1801
+1802
+1803
+1804
+1805
+1806
+1807
+1808
+1809
+1810
+1811
+1812
+1813
+1814
+1815
+1816
+1817
+1818
+1819
+1820
+1821
+1822
+1823
+1824
+1825
+1826
+1827
+1828
+1829
+1830
+1831
+1832
+1833
+1834
+1835
+1836
+1837
+1838
+1839
+1840
+1841
+1842
+1843
+1844
+1845
+1846
+1847
+1848
+1849
+1850
+1851
+1852
+1853
+1854
+1855
+1856
+1857
+1858
+1859
+1860
+1861
+1862
+1863
+1864
+1865
+1866
+1867
+1868
+1869
+1870
+1871
+1872
+1873
+1874
+1875
+1876
+1877
+1878
+1879
+1880
+1881
+1882
+1883
+1884
+1885
+1886
+1887
+1888
+1889
+1890
+1891
+1892
+1893
+1894
+1895
+1896
+1897
+1898
+1899
+1900
+1901
+1902
+1903
+1904
+1905
+1906
+1907
+1908
+1909
+1910
+1911
+1912
+1913
+1914
+1915
+1916
+1917
+1918
+1919
+1920
+1921
+1922
+1923
+1924
+1925
+1926
+1927
+1928
+1929
+1930
+1931
+1932
+1933
+1934
+1935
+1936
+1937
+1938
+1939
+1940
+1941
+1942
+1943
+1944
+1945
+1946
+1947
+1948
+1949
+1950
+1951
+1952
+1953
+1954
+1955
+1956
+1957
+1958
+1959
+1960
+1961
+1962
+1963
+1964
+1965
+1966
+1967
+1968
+1969
+1970
+1971
+1972
+1973
+1974
+1975
+1976
+1977
+1978
+1979
+1980
+1981
+1982
+1983
+1984
+1985
+1986
+1987
+1988
+1989
+1990
+1991
+1992
+1993
+1994
+1995
+1996
+1997
+1998
+1999
+2000
+2001
+2002
+2003
+2004
+2005
+2006
+2007
+2008
+2009
+2010
+2011
+2012
+2013
+2014
+2015
+2016
+2017
+2018
+2019
+2020
+2021
+2022
+2023
+2024
+2025
+2026
+2027
+2028
+2029
+2030
+2031
+2032
+2033
+2034
+2035
+2036
+2037
+2038
+2039
+2040
+2041
+2042
+2043
+2044
+2045
+2046
+2047
+2048
+2049
+2050
+2051
+2052
+2053
+2054
+2055
+2056
+2057
+2058
+2059
+2060
+2061
+2062
+2063
+2064
+2065
+2066
+2067
+2068
+2069
+2070
+2071
+2072
+2073
+2074
+2075
+2076
+2077
+2078
+2079
+2080
+2081
+2082
+2083
+2084
+2085
+2086
+2087
+2088
+2089
+2090
+2091
+2092
+2093
+2094
+2095
+2096
+2097
+2098
+2099
+2100
+2101
+2102
+2103
+2104
+2105
+2106
+2107
+2108
+2109
+2110
+2111
+2112
+2113
+2114
+2115
+2116
+2117
+2118
+2119
+2120
+2121
+2122
+2123
+2124
+2125
+2126
+2127
+2128
+2129
+2130
+2131
+2132
+2133
+2134
+2135
+2136
+2137
+2138
+2139
+2140
+2141
+2142
+2143
+2144
+2145
+2146
+2147
+2148
+2149
+2150
+2151
+2152
+2153
+2154
+2155
+2156
+2157
+2158
+2159
+2160
+2161
+2162
+2163
+2164
+2165
+2166
+2167
+2168
+2169
+2170
+2171
+2172
+2173
+2174
+2175
+2176
+2177
+2178
+2179
+2180
+2181
+2182
+2183
+2184
+2185
+2186
+2187
+2188
+2189
+2190
+2191
+2192
+2193
+2194
+2195
+2196
+2197
+2198
+2199
+2200
+2201
+2202
+2203
+2204
+2205
+2206
+2207
+2208
+2209
+2210
+2211
+2212
+2213
+2214
+2215
+2216
+2217
+2218
+2219
+2220
+2221
+2222
+2223
+2224
+2225
+2226
+2227
+2228
+2229
+2230
+2231
+2232
+2233
+2234
+2235
+2236
+2237
+2238
+2239
+2240
+2241
+2242
+2243
+2244
+2245
+2246
+2247
+2248
+2249
+2250
+2251
+2252
+2253
+2254
+2255
+2256
+2257
+2258
+2259
+2260
+2261
+2262
+2263
+2264
+2265
+2266
+2267
+2268
+2269
+2270
+2271
+2272
+2273
+2274
+2275
+2276
+2277
+2278
+2279
+2280
+2281
+2282
+2283
+2284
+2285
+2286
+2287
+2288
+2289
+2290
+2291
+2292
+2293
+2294
+2295
+2296
+2297
+2298
+2299
+2300
+2301
+2302
+2303
+2304
+2305
+2306
+2307
+2308
+2309
+2310
+2311
+2312
+2313
+2314
+2315
+2316
+2317
+2318
+2319
+2320
+2321
+2322
+2323
+2324
+2325
+2326
+2327
+2328
+2329
+2330
+2331
+2332
+2333
+2334
+2335
+2336
+2337
+2338
+2339
+2340
+2341
+2342
+2343
+2344
+2345
+2346
+2347
+2348
+2349
+2350
+2351
+2352
+2353
+2354
+2355
+2356
+2357
+2358
+2359
+2360
+2361
+2362
+2363
+2364
+2365
+2366
+2367
+2368
+2369
+2370
+2371
+2372
+2373
+2374
+2375
+2376
+2377
+2378
+2379
+2380
+2381
+2382
+2383
+2384
+2385
+2386
+2387
+2388
+2389
+2390
+2391
+2392
+2393
+2394
+2395
+2396
+2397
+2398
+2399
+2400
+2401
+2402
+2403
+2404
+2405
+2406
+2407
+2408
+2409
+2410
+2411
+2412
+2413
+2414
+2415
+2416
+2417
+2418
+2419
+2420
+2421
+2422
+2423
+2424
+2425
+2426
+2427
+2428
+2429
+2430
+2431
+2432
+2433
+2434
+2435
+2436
+2437
+2438
+2439
+2440
+2441
+2442
+2443
+2444
+2445
+2446
+2447
+2448
+2449
+2450
+2451
+2452
+2453
+2454
+2455
+2456
+2457
+2458
+2459
+2460
+2461
+2462
+2463
+2464
+2465
+2466
+2467
+2468
+2469
+2470
+2471
+2472
+2473
+2474
+2475
+2476
+2477
+2478
+2479
+2480
+2481
+2482
+2483
+2484
+2485
+2486
+2487
+2488
+2489
+2490
+2491
+2492
+2493
+2494
+2495
+2496
+2497
+2498
+2499
+2500
+2501
+2502
+2503
+2504
+2505
+2506
+2507
+2508
+2509
+2510
+2511
+2512
+2513
+2514
+2515
+2516
+2517
+2518
+2519
+2520
+2521
+2522
+2523
+2524
+2525
+2526
+2527
+2528
+2529
+2530
+2531
+2532
+2533
+2534
+2535
+2536
+2537
+2538
+2539
+2540
+2541
+2542
+2543
+2544
+2545
+2546
+2547
+2548
+2549
+2550
+2551
+2552
+2553
+2554
+2555
+2556
+2557
+2558
+2559
+2560
+2561
+2562
+2563
+2564
+2565
+2566
+2567
+2568
+2569
+2570
+2571
+2572
+2573
+2574
+2575
+2576
+2577
+2578
+2579
+2580
+2581
+2582
+2583
+2584
+2585
+2586
+2587
+2588
+2589
+2590
+2591
+2592
+2593
+2594
+2595
+2596
+2597
+2598
+2599
+2600
+2601
+2602
+2603
+2604
+2605
+2606
+2607
+2608
+2609
+2610
+2611
+2612
+2613
+2614
+2615
+2616
+2617
+2618
+2619
+2620
+2621
+2622
+2623
+2624
+2625
+2626
+2627
+2628
+2629
+2630
+2631
+2632
+2633
+2634
+2635
+2636
+2637
+2638
+2639
+2640
+2641
+2642
+2643
+2644
+2645
+2646
+2647
+2648
+2649
+2650
+2651
+2652
+2653
+2654
+2655
+2656
+2657
+2658
+2659
+2660
+2661
+2662
+2663
+2664
+2665
+2666
+2667
+2668
+2669
+2670
+2671
+2672
+2673
+2674
+2675
+2676
+2677
+2678
+2679
+2680
+2681
+2682
+2683
+2684
+2685
+2686
+2687
+2688
+2689
+2690
+2691
+2692
+2693
+2694
+2695
+2696
+2697
+2698
+2699
+2700
+2701
+2702
+2703
+2704
+2705
+2706
+2707
+2708
+2709
+2710
+2711
+2712
+2713
+2714
+2715
+2716
+2717
+2718
+2719
+2720
+2721
+2722
+2723
+2724
+2725
+2726
+2727
+2728
+2729
+2730
+2731
+2732
+2733
+2734
+2735
+2736
+2737
+2738
+2739
+2740
+2741
+2742
+2743
+2744
+2745
+2746
+2747
+2748
+2749
+2750
+2751
+2752
+2753
+2754
+2755
+2756
+2757
+2758
+2759
+2760
+2761
+2762
+2763
+2764
+2765
+2766
+2767
+2768
+2769
+2770
+2771
+2772
+2773
+2774
+2775
+2776
+2777
+2778
+2779
+2780
+2781
+2782
+2783
+2784
+2785
+2786
+2787
+2788
+2789
+2790
+2791
+2792
+2793
+2794
+2795
+2796
+2797
+2798
+2799
+2800
+2801
+2802
+2803
+2804
+2805
+2806
+2807
+2808
+2809
+2810
+2811
+2812
+2813
+2814
+2815
+2816
+2817
+2818
+2819
+2820
+2821
+2822
+2823
+2824
+2825
+2826
+2827
+2828
+2829
+2830
+2831
+2832
+2833
+2834
+2835
+2836
+2837
+2838
+2839
+2840
+2841
+2842
+2843
+2844
+2845
+2846
+2847
+2848
+2849
+2850
+2851
+2852
+2853
+2854
+2855
+2856
+2857
+2858
+2859
+2860
+2861
+2862
+2863
+2864
+2865
+2866
+2867
+2868
+2869
+2870
+2871
+2872
+2873
+2874
+2875
+2876
+2877
+2878
+2879
+2880
+2881
+2882
+2883
+2884
+2885
+2886
+2887
+2888
+2889
+2890
+2891
+2892
+2893
+2894
+2895
+2896
+2897
+2898
+2899
+2900
+2901
+2902
+2903
+2904
+2905
+2906
+2907
+2908
+2909
+2910
+2911
+2912
+2913
+2914
+2915
+2916
+2917
+2918
+2919
+2920
+2921
+2922
+2923
+2924
+2925
+2926
+2927
+2928
+2929
+2930
+2931
+2932
+2933
+2934
+2935
+2936
+2937
+2938
+2939
+2940
+2941
+2942
+2943
+2944
+2945
+2946
+2947
+2948
+2949
+2950
+2951
+2952
+2953
+2954
+2955
+2956
+2957
+2958
+2959
+2960
+2961
+2962
+2963
+2964
+2965
+2966
+2967
+2968
+2969
+2970
+2971
+2972
+2973
+2974
+2975
+2976
+2977
+2978
+2979
+2980
+2981
+2982
+2983
+2984
+2985
+2986
+2987
+2988
+2989
+2990
+2991
+2992
+2993
+2994
+2995
+2996
+2997
+2998
+2999
+3000
+3001
+3002
+3003
+3004
+3005
+3006
+3007
+3008
+3009
+3010
+3011
+3012
+3013
+3014
+3015
+3016
+3017
+3018
+3019
+3020
+3021
+3022
+3023
+3024
+3025
+3026
+3027
+3028
+3029
+3030
+3031
+3032
+3033
+3034
+3035
+3036
+3037
+3038
+3039
+3040
+3041
+3042
+3043
+3044
+3045
+3046
+3047
+3048
+3049
+3050
+3051
+3052
+3053
+3054
+3055
+3056
+3057
+3058
+3059
+3060
+3061
+3062
+3063
+3064
+3065
+3066
+3067
+3068
+3069
+3070
+3071
+3072
+3073
+3074
+3075
+3076
+3077
+3078
+3079
+3080
+3081
+3082
+3083
+3084
+3085
+3086
+3087
+3088
+3089
+3090
+3091
+3092
+3093
+3094
+3095
+3096
+3097
+3098
+3099
+3100
+3101
+3102
+3103
+3104
+3105
+3106
+3107
+3108
+3109
+3110
+3111
+3112
+3113
+3114
+3115
+3116
+3117
+3118
+3119
+3120
+3121
+3122
+3123
+3124
+3125
+3126
+3127
+3128
+3129
+3130
+3131
+3132
+3133
+3134
+3135
+3136
+3137
+3138
+3139
+3140
+3141
+3142
+3143
+3144
+3145
+3146
+3147
+3148
+3149
+3150
+3151
+3152
+3153
+3154
+3155
+3156
+3157
+3158
+3159
+3160
+3161
+3162
+3163
+3164
+3165
+3166
+3167
+3168
+3169
+3170
+3171
+3172
+3173
+3174
+3175
+3176
+3177
+3178
+3179
+3180
+3181
+3182
+3183
+3184
+3185
+3186
+3187
+3188
+3189
+3190
+3191
+3192
+3193
+3194
+3195
+3196
+3197
+3198
+3199
+3200
+3201
+3202
+3203
+3204
+3205
+3206
+3207
+3208
+3209
+3210
+3211
+3212
+3213
+3214
+3215
+3216
+3217
+3218
+3219
+3220
+3221
+3222
+3223
+3224
+3225
+3226
+3227
+3228
+3229
+3230
+3231
+3232
+3233
+3234
+3235
+3236
+3237
+3238
+3239
+3240
+3241
+3242
+3243
+3244
+3245
+3246
+3247
+3248
+3249
+3250
+3251
+3252
+3253
+3254
+3255
+3256
+3257
+3258
+3259
+3260
+3261
+3262
+3263
+3264
+3265
+3266
+3267
+3268
+3269
+3270
+3271
+3272
+3273
+3274
+3275
+3276
+3277
+3278
+3279
+3280
+3281
+3282
+3283
+3284
+3285
+3286
+3287
+3288
+3289
+3290
+3291
+3292
+3293
+3294
+3295
+3296
+3297
+3298
+3299
+3300
+3301
+3302
+3303
+3304
+3305
+3306
+3307
+3308
+3309
+3310
+3311
+3312
+3313
+3314
+3315
+3316
+3317
+3318
+3319
+3320
+3321
+3322
+3323
+3324
+3325
+3326
+3327
+3328
+3329
+3330
+3331
+3332
+3333
+3334
+3335
+3336
+3337
+3338
+3339
+3340
+3341
+3342
+3343
+3344
+3345
+3346
+3347
+3348
+3349
+3350
+3351
+3352
+3353
+3354
+3355
+3356
+3357
+3358
+3359
+3360
+3361
+3362
+3363
+3364
+3365
+3366
+3367
+3368
+3369
+3370
+3371
+3372
+3373
+3374
+3375
+3376
+3377
+3378
+3379
+3380
+3381
+3382
+3383
+3384
+3385
+3386
+3387
+3388
+3389
+3390
+3391
+3392
+3393
+3394
+3395
+3396
+3397
+3398
+3399
+3400
+3401
+3402
+3403
+3404
+3405
+3406
+3407
+3408
+3409
+3410
+3411
+3412
+3413
+3414
+3415
+3416
+3417
+3418
+3419
+3420
+3421
+3422
+3423
+3424
+3425
+3426
+3427
+3428
+3429
+3430
+3431
+3432
+3433
+3434
+3435
+3436
+3437
+3438
+3439
+3440
+3441
+3442
+3443
+3444
+3445
+3446
+3447
+3448
+3449
+3450
+3451
+3452
+3453
+3454
+3455
+3456
+3457
+3458
+3459
+3460
+3461
+3462
+3463
+3464
+3465
+3466
+3467
+3468
+3469
+3470
+3471
+3472
+3473
+3474
+3475
+3476
+3477
+3478
+3479
+3480
+3481
+3482
+3483
+3484
+3485
+3486
+3487
+3488
+3489
+3490
+3491
+3492
+3493
+3494
+3495
+3496
+3497
+3498
+3499
+3500
+3501
+3502
+3503
+3504
+3505
+3506
+3507
+3508
+3509
+3510
+3511
+3512
+3513
+3514
+3515
+3516
+3517
+3518
+3519
+3520
+3521
+3522
+3523
+3524
+3525
+3526
+3527
+3528
+3529
+3530
+3531
+3532
+3533
+3534
+3535
+3536
+3537
+3538
+3539
+3540
+3541
+3542
+3543
+3544
+3545
+3546
+3547
+3548
+3549
+3550
+3551
+3552
+3553
+3554
+3555
+3556
+3557
+3558
+3559
+3560
+3561
+3562
+3563
+3564
+3565
+3566
+3567
+3568
+3569
+3570
+3571
+3572
+3573
+3574
+3575
+3576
+3577
+3578
+3579
+3580
+3581
+3582
+3583
+3584
+3585
+3586
+3587
+3588
+3589
+3590
+3591
+3592
+3593
+3594
+3595
+3596
+3597
+3598
+3599
+3600
+3601
+3602
+3603
+3604
+3605
+3606
+3607
+3608
+3609
+3610
+3611
+3612
+3613
+3614
+3615
+3616
+3617
+3618
+3619
+3620
+3621
+3622
+3623
+3624
+3625
+3626
+3627
+3628
+3629
+3630
+3631
+3632
+3633
+3634
+3635
+3636
+3637
+3638
+3639
+3640
+3641
+3642
+3643
+3644
+3645
+3646
+3647
+3648
+3649
+3650
+3651
+3652
+3653
+3654
+3655
+3656
+3657
+3658
+3659
+3660
+3661
+3662
+3663
+3664
+3665
+3666
+3667
+3668
+3669
+3670
+3671
+3672
+3673
+3674
+3675
+3676
+3677
+3678
+3679
+3680
+3681
+3682
+3683
+3684
+3685
+3686
+3687
+3688
+3689
+3690
+3691
+3692
+3693
+3694
+3695
+3696
+3697
+3698
+3699
+3700
+3701
+3702
+3703
+3704
+3705
+3706
+3707
+3708
+3709
+3710
+3711
+3712
+3713
+3714
+3715
+3716
+3717
+3718
+3719
+3720
+3721
+3722
+3723
+3724
+3725
+3726
+3727
+3728
+3729
+3730
+3731
+3732
+3733
+3734
+3735
+3736
+3737
+3738
+3739
+3740
+3741
+3742
+3743
+3744
+3745
+3746
+3747
+3748
+3749
+3750
+3751
+3752
+3753
+3754
+3755
+3756
+3757
+3758
+3759
+3760
+3761
+3762
+3763
+3764
+3765
+3766
+3767
+3768
+3769
+3770
+3771
+3772
+3773
+3774
+3775
+3776
+3777
+3778
+3779
+3780
+3781
+3782
+3783
+3784
+3785
+3786
+3787
+3788
+3789
+3790
+3791
+3792
+3793
+3794
+3795
+3796
+3797
+3798
+3799
+3800
+3801
+3802
+3803
+3804
+3805
+3806
+3807
+3808
+3809
+3810
+3811
+3812
+3813
+3814
+3815
+3816
+3817
+3818
+3819
+3820
+3821
+3822
+3823
+3824
+3825
+3826
+3827
+3828
+3829
+3830
+3831
+3832
+3833
+3834
+3835
+3836
+3837
+3838
+3839
+3840
+3841
+3842
+3843
+3844
+3845
+3846
+3847
+3848
+3849
+3850
+3851
+3852
+3853
+3854
+3855
+3856
+3857
+3858
+3859
+3860
+3861
+3862
+3863
+3864
+3865
+3866
+3867
+3868
+3869
+3870
+3871
+3872
+3873
+3874
+3875
+3876
+3877
+3878
+3879
+3880
+3881
+3882
+3883
+3884
+3885
+3886
+3887
+3888
+3889
+3890
+3891
+3892
+3893
+3894
+3895
+3896
+3897
+3898
+3899
+3900
+3901
+3902
+3903
+3904
+3905
+3906
+3907
+3908
+3909
+3910
+3911
+3912
+3913
+3914
+3915
+3916
+3917
+3918
+3919
+3920
+3921
+3922
+3923
+3924
+3925
+3926
+3927
+3928
+3929
+3930
+3931
+3932
+3933
+3934
+3935
+3936
+3937
+3938
+3939
+3940
+3941
+3942
+3943
+3944
+3945
+3946
+3947
+3948
+3949
+3950
+3951
+3952
+3953
+3954
+3955
+3956
+3957
+3958
+3959
+3960
+3961
+3962
+3963
+3964
+3965
+3966
+3967
+3968
+3969
+3970
+3971
+3972
+3973
+3974
+3975
+3976
+3977
+3978
+3979
+3980
+3981
+3982
+3983
+3984
+3985
+3986
+3987
+3988
+3989
+3990
+3991
+3992
+3993
+3994
+3995
+3996
+3997
+3998
+3999
+4000
+4001
+4002
+4003
+4004
+4005
+4006
+4007
+4008
+4009
+4010
+4011
+4012
+4013
+4014
+4015
+4016
+4017
+4018
+4019
+4020
+4021
+4022
+4023
+4024
+4025
+4026
+4027
+4028
+4029
+4030
+4031
+4032
+4033
+4034
+4035
+4036
+4037
+4038
+4039
+4040
+4041
+4042
+4043
+4044
+4045
+4046
+4047
+4048
+4049
+4050
+4051
+4052
+4053
+4054
+4055
+4056
+4057
+4058
+4059
+4060
+4061
+4062
+4063
+4064
+4065
+4066
+4067
+4068
+4069
+4070
+4071
+4072
+4073
+4074
+4075
+4076
+4077
+4078
+4079
+4080
+4081
+4082
+4083
+4084
+4085
+4086
+4087
+4088
+4089
+4090
+4091
+4092
+4093
+4094
+4095
+4096
+4097
+4098
+4099
+4100
+4101
+4102
+4103
+4104
+4105
+4106
+4107
+4108
+4109
+4110
+4111
+4112
+4113
+4114
+4115
+4116
+4117
+4118
+4119
+4120
+4121
+4122
+4123
+4124
+4125
+4126
+4127
+4128
+4129
+4130
+4131
+4132
+4133
+4134
+4135
+4136
+4137
+4138
+4139
+4140
+4141
+4142
+4143
+4144
+4145
+4146
+4147
+4148
+4149
+4150
+4151
+4152
+4153
+4154
+4155
+4156
+4157
+4158
+4159
+4160
+4161
+4162
+4163
+4164
+4165
+4166
+4167
+4168
+4169
+4170
+4171
+4172
+4173
+4174
+4175
+4176
+4177
+4178
+4179
+4180
+4181
+4182
+4183
+4184
+4185
+4186
+4187
+4188
+4189
+4190
+4191
+4192
+4193
+4194
+4195
+4196
+4197
+4198
+4199
+4200
+4201
+4202
+4203
+4204
+4205
+4206
+4207
+4208
+4209
+4210
+4211
+4212
+4213
+4214
+4215
+4216
+4217
+4218
+4219
+4220
+4221
+4222
+4223
+4224
+4225
+4226
+4227
+4228
+4229
+4230
+4231
+4232
+4233
+4234
+4235
+4236
+4237
+4238
+4239
+4240
+4241
+4242
+4243
+4244
+4245
+4246
+4247
+4248
+4249
+4250
+4251
+4252
+4253
+4254
+4255
+4256
+4257
+4258
+4259
+4260
+4261
+4262
+4263
+4264
+4265
+4266
+4267
+4268
+4269
+4270
+4271
+4272
+4273
+4274
+4275
+4276
+4277
+4278
+4279
+4280
+4281
+4282
+4283
+4284
+4285
+4286
+4287
+4288
+4289
+4290
+4291
+4292
+4293
+4294
+4295
+4296
+4297
+4298
+4299
+4300
+4301
+4302
+4303
+4304
+4305
+4306
+4307
+4308
+4309
+4310
+4311
+4312
+4313
+4314
+4315
+4316
+4317
+4318
+4319
+4320
+4321
+4322
+4323
+4324
+4325
+4326
+4327
+4328
+4329
+4330
+4331
+4332
+4333
+4334
+4335
+4336
+4337
+4338
+4339
+4340
+4341
+4342
+4343
+4344
+4345
+4346
+4347
+4348
+4349
+4350
+4351
+4352
+4353
+4354
+4355
+4356
+4357
+4358
+4359
+4360
+4361
+4362
+4363
+4364
+4365
+4366
+4367
+4368
+4369
+4370
+4371
+4372
+4373
+4374
+4375
+4376
+4377
+4378
+4379
+4380
+4381
+4382
+4383
+4384
+4385
+4386
+4387
+4388
+4389
+4390
+4391
+4392
+4393
+4394
+4395
+4396
+4397
+4398
+4399
+4400
+4401
+4402
+4403
+4404
+4405
+4406
+4407
+4408
+4409
+4410
+4411
+4412
+4413
+4414
+4415
+4416
+4417
+4418
+4419
+4420
+4421
+4422
+4423
+4424
+4425
+4426
+4427
+4428
+4429
+4430
+4431
+4432
+4433
+4434
+4435
+4436
+4437
+4438
+4439
+4440
+4441
+4442
+4443
+4444
+4445
+4446
+4447
+4448
+4449
+4450
+4451
+4452
+4453
+4454
+4455
+4456
+4457
+4458
+4459
+4460
+4461
+4462
+4463
+4464
+4465
+4466
+4467
+4468
+4469
+4470
+4471
+4472
+4473
+4474
+4475
+4476
+4477
+4478
+4479
+4480
+4481
+4482
+4483
+4484
+4485
+4486
+4487
+4488
+4489
+4490
+4491
+4492
+4493
+4494
+4495
+4496
+4497
+4498
+4499
+4500
+4501
+4502
+4503
+4504
+4505
+4506
+4507
+4508
+4509
+4510
+4511
+4512
+4513
+4514
+4515
+4516
+4517
+4518
+4519
+4520
+4521
+4522
+4523
+4524
+4525
+4526
+4527
+4528
+4529
+4530
+4531
+4532
+4533
+4534
+4535
+4536
+4537
+4538
+4539
+4540
+4541
+4542
+4543
+4544
+4545
+4546
+4547
+4548
+4549
+4550
+4551
+4552
+4553
+4554
+4555
+4556
+4557
+4558
+4559
+4560
+4561
+4562
+4563
+4564
+4565
+4566
+4567
+4568
+4569
+4570
+4571
+4572
+4573
+4574
+4575
+4576
+4577
+4578
+4579
+4580
+4581
+4582
+4583
+4584
+4585
+4586
+4587
+4588
+4589
+4590
+4591
+4592
+4593
+4594
+4595
+4596
+4597
+4598
+4599
+4600
+4601
+4602
+4603
+4604
+4605
+4606
+4607
+4608
+4609
+4610
+4611
+4612
+4613
+4614
+4615
+4616
+4617
+4618
+4619
+4620
+4621
+4622
+4623
+4624
+4625
+4626
+4627
+4628
+4629
+4630
+4631
+4632
+4633
+4634
+4635
+4636
+4637
+4638
+4639
+4640
+4641
+4642
+4643
+4644
+4645
+4646
+4647
+4648
+4649
+4650
+4651
+4652
+4653
+4654
+4655
+4656
+4657
+4658
+4659
+4660
+4661
+4662
+4663
+4664
+4665
+4666
+4667
+4668
+4669
+4670
+4671
+4672
+4673
+4674
+4675
+4676
+4677
+4678
+4679
+4680
+4681
+4682
+4683
+4684
+4685
+4686
+4687
+4688
+4689
+4690
+4691
+4692
+4693
+4694
+4695
+4696
+4697
+4698
+4699
+4700
+4701
+4702
+4703
+4704
+4705
+4706
+4707
+4708
+4709
+4710
+4711
+4712
+4713
+4714
+4715
+4716
+4717
+4718
+4719
+4720
+4721
+4722
+4723
+4724
+4725
+4726
+4727
+4728
+4729
+4730
+4731
+4732
+4733
+4734
+4735
+4736
+4737
+4738
+4739
+4740
+4741
+4742
+4743
+4744
+4745
+4746
+4747
+4748
+4749
+4750
+4751
+4752
+4753
+4754
+4755
+4756
+4757
+4758
+4759
+4760
+4761
+4762
+4763
+4764
+4765
+4766
+4767
+4768
+4769
+4770
+4771
+4772
+4773
+4774
+4775
+4776
+4777
+4778
+4779
+4780
+4781
+4782
+4783
+4784
+4785
+4786
+4787
+4788
+4789
+4790
+4791
+4792
+4793
+4794
+4795
+4796
+4797
+4798
+4799
+4800
+4801
+4802
+4803
+4804
+4805
+4806
+4807
+4808
+4809
+4810
+4811
+4812
+4813
+4814
+4815
+4816
+4817
+4818
+4819
+4820
+4821
+4822
+4823
+4824
+4825
+4826
+4827
+4828
+4829
+4830
+4831
+4832
+4833
+4834
+4835
+4836
+4837
+4838
+4839
+4840
+4841
+4842
+4843
+4844
+4845
+4846
+4847
+4848
+4849
+4850
+4851
+4852
+4853
+4854
+4855
+4856
+4857
+4858
+4859
+4860
+4861
+4862
+4863
+4864
+4865
+4866
+4867
+4868
+4869
+4870
+4871
+4872
+4873
+4874
+4875
+4876
+4877
+4878
+4879
+4880
+4881
+4882
+4883
+4884
+4885
+4886
+4887
+4888
+4889
+4890
+4891
+4892
+4893
+4894
+4895
+4896
+4897
+4898
+4899
+4900
+4901
+4902
+4903
+4904
+4905
+4906
+4907
+4908
+4909
+4910
+4911
+4912
+4913
+4914
+4915
+4916
+4917
+4918
+4919
+4920
+4921
+4922
+4923
+4924
+4925
+4926
+4927
+4928
+4929
+4930
+4931
+4932
+4933
+4934
+4935
+4936
+4937
+4938
+4939
+4940
+4941
+4942
+4943
+4944
+4945
+4946
+4947
+4948
+4949
+4950
+4951
+4952
+4953
+4954
+4955
+4956
+4957
+4958
+4959
+4960
+4961
+4962
+4963
+4964
+4965
+4966
+4967
+4968
+4969
+4970
+4971
+4972
+4973
+4974
+4975
+4976
+4977
+4978
+4979
+4980
+4981
+4982
+4983
+4984
+4985
+4986
+4987
+4988
+4989
+4990
+4991
+4992
+4993
+4994
+4995
+4996
+4997
+4998
+4999
+5000
diff --git a/mysql-test/std_data/corrupt-relay-bin.000624 b/mysql-test/std_data/corrupt-relay-bin.000624
new file mode 100644
index 00000000000..21b4901211c
--- /dev/null
+++ b/mysql-test/std_data/corrupt-relay-bin.000624
Binary files differ
diff --git a/mysql-test/suite/funcs_1/data/innodb_tb1.txt b/mysql-test/std_data/funcs_1/innodb_tb1.txt
index 4c20ed1661b..4c20ed1661b 100644
--- a/mysql-test/suite/funcs_1/data/innodb_tb1.txt
+++ b/mysql-test/std_data/funcs_1/innodb_tb1.txt
diff --git a/mysql-test/suite/funcs_1/data/innodb_tb2.txt b/mysql-test/std_data/funcs_1/innodb_tb2.txt
index 8ae7dea6df4..8ae7dea6df4 100644
--- a/mysql-test/suite/funcs_1/data/innodb_tb2.txt
+++ b/mysql-test/std_data/funcs_1/innodb_tb2.txt
diff --git a/mysql-test/suite/funcs_1/data/innodb_tb3.txt b/mysql-test/std_data/funcs_1/innodb_tb3.txt
index a01cc36da54..a01cc36da54 100644
--- a/mysql-test/suite/funcs_1/data/innodb_tb3.txt
+++ b/mysql-test/std_data/funcs_1/innodb_tb3.txt
diff --git a/mysql-test/suite/funcs_1/data/innodb_tb4.txt b/mysql-test/std_data/funcs_1/innodb_tb4.txt
index 5092371d093..5092371d093 100644
--- a/mysql-test/suite/funcs_1/data/innodb_tb4.txt
+++ b/mysql-test/std_data/funcs_1/innodb_tb4.txt
diff --git a/mysql-test/std_data/funcs_1/load_file.txt b/mysql-test/std_data/funcs_1/load_file.txt
new file mode 100644
index 00000000000..930ac1cf371
--- /dev/null
+++ b/mysql-test/std_data/funcs_1/load_file.txt
@@ -0,0 +1 @@
+Here is content from load_file
diff --git a/mysql-test/suite/funcs_1/data/memory_tb1.txt b/mysql-test/std_data/funcs_1/memory_tb1.txt
index e266c70f9b8..e266c70f9b8 100644
--- a/mysql-test/suite/funcs_1/data/memory_tb1.txt
+++ b/mysql-test/std_data/funcs_1/memory_tb1.txt
diff --git a/mysql-test/suite/funcs_1/data/memory_tb2.txt b/mysql-test/std_data/funcs_1/memory_tb2.txt
index 8ae7dea6df4..8ae7dea6df4 100644
--- a/mysql-test/suite/funcs_1/data/memory_tb2.txt
+++ b/mysql-test/std_data/funcs_1/memory_tb2.txt
diff --git a/mysql-test/suite/funcs_1/data/memory_tb3.txt b/mysql-test/std_data/funcs_1/memory_tb3.txt
index 2c0433304a8..2c0433304a8 100644
--- a/mysql-test/suite/funcs_1/data/memory_tb3.txt
+++ b/mysql-test/std_data/funcs_1/memory_tb3.txt
diff --git a/mysql-test/suite/funcs_1/data/memory_tb4.txt b/mysql-test/std_data/funcs_1/memory_tb4.txt
index 5a0f0da3415..5a0f0da3415 100644
--- a/mysql-test/suite/funcs_1/data/memory_tb4.txt
+++ b/mysql-test/std_data/funcs_1/memory_tb4.txt
diff --git a/mysql-test/suite/funcs_1/data/myisam_tb1.txt b/mysql-test/std_data/funcs_1/myisam_tb1.txt
index da21f6c71d0..da21f6c71d0 100644
--- a/mysql-test/suite/funcs_1/data/myisam_tb1.txt
+++ b/mysql-test/std_data/funcs_1/myisam_tb1.txt
diff --git a/mysql-test/suite/funcs_1/data/myisam_tb2.txt b/mysql-test/std_data/funcs_1/myisam_tb2.txt
index 4fb43f72a1c..4fb43f72a1c 100644
--- a/mysql-test/suite/funcs_1/data/myisam_tb2.txt
+++ b/mysql-test/std_data/funcs_1/myisam_tb2.txt
diff --git a/mysql-test/suite/funcs_1/data/myisam_tb3.txt b/mysql-test/std_data/funcs_1/myisam_tb3.txt
index 785e51e6b95..785e51e6b95 100644
--- a/mysql-test/suite/funcs_1/data/myisam_tb3.txt
+++ b/mysql-test/std_data/funcs_1/myisam_tb3.txt
diff --git a/mysql-test/suite/funcs_1/data/myisam_tb4.txt b/mysql-test/std_data/funcs_1/myisam_tb4.txt
index 510c6bd3cf9..510c6bd3cf9 100644
--- a/mysql-test/suite/funcs_1/data/myisam_tb4.txt
+++ b/mysql-test/std_data/funcs_1/myisam_tb4.txt
diff --git a/mysql-test/suite/funcs_1/data/ndb_tb1.txt b/mysql-test/std_data/funcs_1/ndb_tb1.txt
index 4c20ed1661b..4c20ed1661b 100644
--- a/mysql-test/suite/funcs_1/data/ndb_tb1.txt
+++ b/mysql-test/std_data/funcs_1/ndb_tb1.txt
diff --git a/mysql-test/suite/funcs_1/data/ndb_tb2.txt b/mysql-test/std_data/funcs_1/ndb_tb2.txt
index 8ae7dea6df4..8ae7dea6df4 100644
--- a/mysql-test/suite/funcs_1/data/ndb_tb2.txt
+++ b/mysql-test/std_data/funcs_1/ndb_tb2.txt
diff --git a/mysql-test/suite/funcs_1/data/ndb_tb3.txt b/mysql-test/std_data/funcs_1/ndb_tb3.txt
index a01cc36da54..a01cc36da54 100644
--- a/mysql-test/suite/funcs_1/data/ndb_tb3.txt
+++ b/mysql-test/std_data/funcs_1/ndb_tb3.txt
diff --git a/mysql-test/suite/funcs_1/data/ndb_tb4.txt b/mysql-test/std_data/funcs_1/ndb_tb4.txt
index 5092371d093..5092371d093 100644
--- a/mysql-test/suite/funcs_1/data/ndb_tb4.txt
+++ b/mysql-test/std_data/funcs_1/ndb_tb4.txt
diff --git a/mysql-test/suite/funcs_1/data/t3.txt b/mysql-test/std_data/funcs_1/t3.txt
index a2287c20d43..a2287c20d43 100644
--- a/mysql-test/suite/funcs_1/data/t3.txt
+++ b/mysql-test/std_data/funcs_1/t3.txt
diff --git a/mysql-test/suite/funcs_1/data/t4.txt b/mysql-test/std_data/funcs_1/t4.txt
index 4e2ab19b47c..4e2ab19b47c 100644
--- a/mysql-test/suite/funcs_1/data/t4.txt
+++ b/mysql-test/std_data/funcs_1/t4.txt
diff --git a/mysql-test/suite/funcs_1/data/t7.txt b/mysql-test/std_data/funcs_1/t7.txt
index e3c9aa4c58f..e3c9aa4c58f 100644
--- a/mysql-test/suite/funcs_1/data/t7.txt
+++ b/mysql-test/std_data/funcs_1/t7.txt
diff --git a/mysql-test/suite/funcs_1/data/t9.txt b/mysql-test/std_data/funcs_1/t9.txt
index bac7a54fee5..bac7a54fee5 100644
--- a/mysql-test/suite/funcs_1/data/t9.txt
+++ b/mysql-test/std_data/funcs_1/t9.txt
diff --git a/mysql-test/std_data/ndb_backup50/BACKUP-2-0.1.Data b/mysql-test/std_data/ndb_backup50/BACKUP-2-0.1.Data
new file mode 100644
index 00000000000..09e63064666
--- /dev/null
+++ b/mysql-test/std_data/ndb_backup50/BACKUP-2-0.1.Data
Binary files differ
diff --git a/mysql-test/std_data/ndb_backup50/BACKUP-2-0.2.Data b/mysql-test/std_data/ndb_backup50/BACKUP-2-0.2.Data
new file mode 100644
index 00000000000..a8332239d8f
--- /dev/null
+++ b/mysql-test/std_data/ndb_backup50/BACKUP-2-0.2.Data
Binary files differ
diff --git a/mysql-test/std_data/ndb_backup50/BACKUP-2.1.ctl b/mysql-test/std_data/ndb_backup50/BACKUP-2.1.ctl
new file mode 100644
index 00000000000..f54103a2a44
--- /dev/null
+++ b/mysql-test/std_data/ndb_backup50/BACKUP-2.1.ctl
Binary files differ
diff --git a/mysql-test/std_data/ndb_backup50/BACKUP-2.1.log b/mysql-test/std_data/ndb_backup50/BACKUP-2.1.log
new file mode 100644
index 00000000000..5564f952e66
--- /dev/null
+++ b/mysql-test/std_data/ndb_backup50/BACKUP-2.1.log
Binary files differ
diff --git a/mysql-test/std_data/ndb_backup50/BACKUP-2.2.ctl b/mysql-test/std_data/ndb_backup50/BACKUP-2.2.ctl
new file mode 100644
index 00000000000..f54103a2a44
--- /dev/null
+++ b/mysql-test/std_data/ndb_backup50/BACKUP-2.2.ctl
Binary files differ
diff --git a/mysql-test/std_data/ndb_backup50/BACKUP-2.2.log b/mysql-test/std_data/ndb_backup50/BACKUP-2.2.log
new file mode 100644
index 00000000000..5564f952e66
--- /dev/null
+++ b/mysql-test/std_data/ndb_backup50/BACKUP-2.2.log
Binary files differ
diff --git a/mysql-test/std_data/ndb_backup51_data_be/BACKUP-1-0.1.Data b/mysql-test/std_data/ndb_backup51_data_be/BACKUP-1-0.1.Data
new file mode 100644
index 00000000000..2df8080956a
--- /dev/null
+++ b/mysql-test/std_data/ndb_backup51_data_be/BACKUP-1-0.1.Data
Binary files differ
diff --git a/mysql-test/std_data/ndb_backup51_data_be/BACKUP-1-0.2.Data b/mysql-test/std_data/ndb_backup51_data_be/BACKUP-1-0.2.Data
new file mode 100644
index 00000000000..9033c2735e1
--- /dev/null
+++ b/mysql-test/std_data/ndb_backup51_data_be/BACKUP-1-0.2.Data
Binary files differ
diff --git a/mysql-test/std_data/ndb_backup51_data_be/BACKUP-1.1.ctl b/mysql-test/std_data/ndb_backup51_data_be/BACKUP-1.1.ctl
new file mode 100644
index 00000000000..30fd0a2dda1
--- /dev/null
+++ b/mysql-test/std_data/ndb_backup51_data_be/BACKUP-1.1.ctl
Binary files differ
diff --git a/mysql-test/std_data/ndb_backup51_data_be/BACKUP-1.1.log b/mysql-test/std_data/ndb_backup51_data_be/BACKUP-1.1.log
new file mode 100644
index 00000000000..39f7244b014
--- /dev/null
+++ b/mysql-test/std_data/ndb_backup51_data_be/BACKUP-1.1.log
Binary files differ
diff --git a/mysql-test/std_data/ndb_backup51_data_be/BACKUP-1.2.ctl b/mysql-test/std_data/ndb_backup51_data_be/BACKUP-1.2.ctl
new file mode 100644
index 00000000000..30fd0a2dda1
--- /dev/null
+++ b/mysql-test/std_data/ndb_backup51_data_be/BACKUP-1.2.ctl
Binary files differ
diff --git a/mysql-test/std_data/ndb_backup51_data_be/BACKUP-1.2.log b/mysql-test/std_data/ndb_backup51_data_be/BACKUP-1.2.log
new file mode 100644
index 00000000000..39f7244b014
--- /dev/null
+++ b/mysql-test/std_data/ndb_backup51_data_be/BACKUP-1.2.log
Binary files differ
diff --git a/mysql-test/std_data/ndb_backup51_data_le/BACKUP-1-0.1.Data b/mysql-test/std_data/ndb_backup51_data_le/BACKUP-1-0.1.Data
new file mode 100644
index 00000000000..45d4d536c02
--- /dev/null
+++ b/mysql-test/std_data/ndb_backup51_data_le/BACKUP-1-0.1.Data
Binary files differ
diff --git a/mysql-test/std_data/ndb_backup51_data_le/BACKUP-1-0.2.Data b/mysql-test/std_data/ndb_backup51_data_le/BACKUP-1-0.2.Data
new file mode 100644
index 00000000000..2c6f93e93b6
--- /dev/null
+++ b/mysql-test/std_data/ndb_backup51_data_le/BACKUP-1-0.2.Data
Binary files differ
diff --git a/mysql-test/std_data/ndb_backup51_data_le/BACKUP-1.1.ctl b/mysql-test/std_data/ndb_backup51_data_le/BACKUP-1.1.ctl
new file mode 100644
index 00000000000..949b7d0be8b
--- /dev/null
+++ b/mysql-test/std_data/ndb_backup51_data_le/BACKUP-1.1.ctl
Binary files differ
diff --git a/mysql-test/std_data/ndb_backup51_data_le/BACKUP-1.1.log b/mysql-test/std_data/ndb_backup51_data_le/BACKUP-1.1.log
new file mode 100644
index 00000000000..3686d2718a2
--- /dev/null
+++ b/mysql-test/std_data/ndb_backup51_data_le/BACKUP-1.1.log
Binary files differ
diff --git a/mysql-test/std_data/ndb_backup51_data_le/BACKUP-1.2.ctl b/mysql-test/std_data/ndb_backup51_data_le/BACKUP-1.2.ctl
new file mode 100644
index 00000000000..949b7d0be8b
--- /dev/null
+++ b/mysql-test/std_data/ndb_backup51_data_le/BACKUP-1.2.ctl
Binary files differ
diff --git a/mysql-test/std_data/ndb_backup51_data_le/BACKUP-1.2.log b/mysql-test/std_data/ndb_backup51_data_le/BACKUP-1.2.log
new file mode 100644
index 00000000000..3686d2718a2
--- /dev/null
+++ b/mysql-test/std_data/ndb_backup51_data_le/BACKUP-1.2.log
Binary files differ
diff --git a/mysql-test/suite/parts/inc/part_supported_sql_funcs_int_ch1.inc b/mysql-test/std_data/parts/part_supported_sql_funcs_int_ch1.inc
index 8ae6e5fc807..8ae6e5fc807 100644
--- a/mysql-test/suite/parts/inc/part_supported_sql_funcs_int_ch1.inc
+++ b/mysql-test/std_data/parts/part_supported_sql_funcs_int_ch1.inc
diff --git a/mysql-test/suite/parts/inc/part_supported_sql_funcs_int_date.inc b/mysql-test/std_data/parts/part_supported_sql_funcs_int_date.inc
index 9eb41fb007b..9eb41fb007b 100644
--- a/mysql-test/suite/parts/inc/part_supported_sql_funcs_int_date.inc
+++ b/mysql-test/std_data/parts/part_supported_sql_funcs_int_date.inc
diff --git a/mysql-test/suite/parts/inc/part_supported_sql_funcs_int_float.inc b/mysql-test/std_data/parts/part_supported_sql_funcs_int_float.inc
index 34d8b1d1c4d..34d8b1d1c4d 100644
--- a/mysql-test/suite/parts/inc/part_supported_sql_funcs_int_float.inc
+++ b/mysql-test/std_data/parts/part_supported_sql_funcs_int_float.inc
diff --git a/mysql-test/suite/parts/inc/part_supported_sql_funcs_int_int.inc b/mysql-test/std_data/parts/part_supported_sql_funcs_int_int.inc
index d2f5c82a241..d2f5c82a241 100644
--- a/mysql-test/suite/parts/inc/part_supported_sql_funcs_int_int.inc
+++ b/mysql-test/std_data/parts/part_supported_sql_funcs_int_int.inc
diff --git a/mysql-test/suite/parts/inc/part_supported_sql_funcs_int_time.inc b/mysql-test/std_data/parts/part_supported_sql_funcs_int_time.inc
index 941ba418f32..941ba418f32 100644
--- a/mysql-test/suite/parts/inc/part_supported_sql_funcs_int_time.inc
+++ b/mysql-test/std_data/parts/part_supported_sql_funcs_int_time.inc
diff --git a/mysql-test/suite/binlog/combinations b/mysql-test/suite/binlog/combinations
new file mode 100644
index 00000000000..ea25611a5d4
--- /dev/null
+++ b/mysql-test/suite/binlog/combinations
@@ -0,0 +1,8 @@
+[row]
+--binlog-format=row
+
+[stmt]
+--binlog-format=statement
+
+[mix]
+--binlog-format=mixed
diff --git a/mysql-test/suite/binlog/r/binlog_base64_flag.result b/mysql-test/suite/binlog/r/binlog_base64_flag.result
new file mode 100644
index 00000000000..557f584fcc1
--- /dev/null
+++ b/mysql-test/suite/binlog/r/binlog_base64_flag.result
@@ -0,0 +1,68 @@
+==== Test BUG#32407 ====
+select * from t1;
+a
+1
+1
+==== Test BINLOG statement w/o FD event ====
+BINLOG '
+SVtYRxMBAAAAKQAAADQBAAAAABAAAAAAAAAABHRlc3QAAnQxAAEDAAE=
+SVtYRxcBAAAAIgAAAFYBAAAQABAAAAAAAAEAAf/+AgAAAA==
+';
+ERROR HY000: The BINLOG statement of type `Table_map` was not preceded by a format description BINLOG statement.
+select * from t1;
+a
+1
+1
+==== Test BINLOG statement with FD event ====
+BINLOG '
+ODdYRw8BAAAAZgAAAGoAAAABAAQANS4xLjIzLXJjLWRlYnVnLWxvZwAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAA4N1hHEzgNAAgAEgAEBAQEEgAAUwAEGggAAAAICAgC
+';
+BINLOG '
+TFtYRxMBAAAAKQAAAH8BAAAAABAAAAAAAAAABHRlc3QAAnQxAAEDAAE=
+TFtYRxcBAAAAIgAAAKEBAAAQABAAAAAAAAEAAf/+AwAAAA==
+';
+select * from t1;
+a
+1
+1
+3
+==== Test --base64-output=never on a binlog with row events ====
+/*!40019 SET @@session.max_insert_delayed_threads=0*/;
+/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
+DELIMITER /*!*/;
+# at 4
+<#>ROLLBACK/*!*/;
+# at 102
+<#>use test/*!*/;
+SET TIMESTAMP=1196959712/*!*/;
+<#>SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
+SET @@session.sql_mode=0/*!*/;
+SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
+/*!\C latin1 *//*!*/;
+SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
+SET @@session.lc_time_names=0/*!*/;
+SET @@session.collation_database=DEFAULT/*!*/;
+create table t1 (a int) engine= myisam
+/*!*/;
+# at 203
+DELIMITER ;
+# End of log file
+ROLLBACK /* added by mysqlbinlog */;
+/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+==== Test non-matching FD event and Row event ====
+BINLOG '
+4CdYRw8BAAAAYgAAAGYAAAAAAAQANS4xLjE1LW5kYi02LjEuMjQtZGVidWctbG9nAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAADgJ1hHEzgNAAgAEgAEBAQEEgAATwAEGggICAg=
+';
+BINLOG '
+Dl1YRxMBAAAAKQAAADQBAAAAABAAAAAAAAAABHRlc3QAAnQxAAEDAAE=
+Dl1YRxcBAAAAIgAAAFYBAAAQABAAAAAAAAEAAf/+BQAAAA==
+';
+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
+select * from t1;
+a
+1
+1
+3
+drop table t1;
diff --git a/mysql-test/suite/binlog/r/binlog_database.result b/mysql-test/suite/binlog/r/binlog_database.result
new file mode 100644
index 00000000000..7deffb86244
--- /dev/null
+++ b/mysql-test/suite/binlog/r/binlog_database.result
@@ -0,0 +1,56 @@
+set binlog_format=statement;
+reset master;
+create database testing_1;
+use testing_1;
+create table t1 (a int);
+create function sf1 (a int) returns int return a+1;
+create trigger tr1 before insert on t1 for each row insert into t2 values (2*new.a);
+create procedure sp1 (a int) insert into t1 values(a);
+drop database testing_1;
+show binlog events from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Query # # create database testing_1
+master-bin.000001 # Query # # use `testing_1`; create table t1 (a int)
+master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` function sf1 (a int) returns int return a+1
+master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` trigger tr1 before insert on t1 for each row insert into t2 values (2*new.a)
+master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` procedure sp1 (a int) insert into t1 values(a)
+master-bin.000001 # Query # # drop database testing_1
+set binlog_format=mixed;
+reset master;
+create database testing_1;
+use testing_1;
+create table t1 (a int);
+create function sf1 (a int) returns int return a+1;
+create trigger tr1 before insert on t1 for each row insert into t2 values (2*new.a);
+create procedure sp1 (a int) insert into t1 values(a);
+drop database testing_1;
+show binlog events from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Query # # create database testing_1
+master-bin.000001 # Query # # use `testing_1`; create table t1 (a int)
+master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` function sf1 (a int) returns int return a+1
+master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` trigger tr1 before insert on t1 for each row insert into t2 values (2*new.a)
+master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` procedure sp1 (a int) insert into t1 values(a)
+master-bin.000001 # Query # # drop database testing_1
+set binlog_format=row;
+reset master;
+create database testing_1;
+use testing_1;
+create table t1 (a int);
+create function sf1 (a int) returns int return a+1;
+create trigger tr1 before insert on t1 for each row insert into t2 values (2*new.a);
+create procedure sp1 (a int) insert into t1 values(a);
+drop database testing_1;
+show binlog events from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Query # # create database testing_1
+master-bin.000001 # Query # # use `testing_1`; create table t1 (a int)
+master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` function sf1 (a int) returns int return a+1
+master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` trigger tr1 before insert on t1 for each row insert into t2 values (2*new.a)
+master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` procedure sp1 (a int) insert into t1 values(a)
+master-bin.000001 # Query # # drop database testing_1
+show databases;
+Database
+information_schema
+mysql
+test
diff --git a/mysql-test/suite/binlog/r/binlog_innodb.result b/mysql-test/suite/binlog/r/binlog_innodb.result
index 9dfb6544811..896d8f734fc 100644
--- a/mysql-test/suite/binlog/r/binlog_innodb.result
+++ b/mysql-test/suite/binlog/r/binlog_innodb.result
@@ -66,6 +66,7 @@ COMMIT;
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 INT) ENGINE=INNODB
+master-bin.000001 # Query # # use `test`; BEGIN
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6)
master-bin.000001 # Xid # # COMMIT /* XID */
master-bin.000001 # Query # # use `test`; BEGIN
@@ -135,4 +136,37 @@ show status like "binlog_cache_disk_use";
Variable_name Value
Binlog_cache_disk_use 1
drop table t1;
+CREATE TABLE `t1` (
+`a` int(11) NOT NULL auto_increment,
+`b` int(11) default NULL,
+PRIMARY KEY (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 ;
+CREATE TABLE `t2` (
+`a` int(11) NOT NULL auto_increment,
+`b` int(11) default NULL,
+PRIMARY KEY (`a`)
+) ENGINE=INNODB DEFAULT CHARSET=latin1 ;
+insert into t1 values (1,1),(2,2);
+insert into t2 values (1,1),(4,4);
+reset master;
+UPDATE t2,t1 SET t2.a=t1.a+2;
+ERROR 23000: Duplicate entry '3' for key 'PRIMARY'
+select * from t2 /* must be (3,1), (4,4) */;
+a b
+1 1
+4 4
+show master status /* there must no UPDATE in binlog */;
+File Position Binlog_Do_DB Binlog_Ignore_DB
+master-bin.000001 106
+delete from t1;
+delete from t2;
+insert into t1 values (1,2),(3,4),(4,4);
+insert into t2 values (1,2),(3,4),(4,4);
+reset master;
+UPDATE t2,t1 SET t2.a=t2.b where t2.a=t1.a;
+ERROR 23000: Duplicate entry '4' for key 'PRIMARY'
+show master status /* there must be no UPDATE query event */;
+File Position Binlog_Do_DB Binlog_Ignore_DB
+master-bin.000001 106
+drop table t1, t2;
End of tests
diff --git a/mysql-test/suite/binlog/r/binlog_killed.result b/mysql-test/suite/binlog/r/binlog_killed.result
index ba4f38fb4c1..72fda535b6f 100644
--- a/mysql-test/suite/binlog/r/binlog_killed.result
+++ b/mysql-test/suite/binlog/r/binlog_killed.result
@@ -9,4 +9,135 @@ insert into t2 values (null, null), (null, get_lock("a", 10));
select @result /* must be zero either way */;
@result
0
+select RELEASE_LOCK("a");
+RELEASE_LOCK("a")
+1
+delete from t1;
+delete from t2;
+insert into t1 values (1,1),(2,2);
+begin;
+update t1 set b=11 where a=2;
+begin;
+update t1 set b=b+10;
+kill query ID;
+rollback;
+rollback;
+select * from t1 order by a /* must be the same as before (1,1),(2,2) */;
+a b
+1 1
+2 2
+begin;
+delete from t1 where a=2;
+begin;
+delete from t1 where a=2;
+kill query ID;
+rollback;
+rollback;
+select * from t1 order by a /* must be the same as before (1,1),(2,2) */;
+a b
+1 1
+2 2
+drop table if exists t4;
+create table t4 (a int, b int) engine=innodb;
+insert into t4 values (3, 3);
+begin;
+insert into t1 values (3, 3);
+begin;
+insert into t1 select * from t4 for update;
+kill query ID;
+rollback;
+rollback;
+select * from t1 /* must be the same as before (1,1),(2,2) */;
+a b
+1 1
+2 2
+drop table t4;
+create table t4 (a int, b int) ENGINE=MyISAM /* for killing update and delete */;
+create function bug27563(n int)
+RETURNS int(11)
+DETERMINISTIC
+begin
+if @b > 0 then
+select get_lock("a", 20) into @a;
+else
+set @b= 1;
+end if;
+return n;
+end|
+delete from t4;
+insert into t4 values (1,1), (1,1);
+reset master;
+select get_lock("a", 20);
+get_lock("a", 20)
+1
+set @b= 0;
+update t4 set b=b + bug27563(b);
+select count(*) FROM INFORMATION_SCHEMA.PROCESSLIST where state='User lock';
+count(*)
+1
+kill query ID;
+ERROR 70100: Query execution was interrupted
+select * from t4 order by b /* must be (1,1), (1,2) */;
+a b
+1 1
+1 2
+select @b /* must be 1 at the end of a stmt calling bug27563() */;
+@b
+1
+must have the update query event more to FD
+show binlog events from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # User var # # @`b`=0
+master-bin.000001 # Query # # use `test`; update t4 set b=b + bug27563(b)
+select
+(@a:=load_file("MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog"))
+is not null;
+(@a:=load_file("MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog"))
+is not null
+1
+select 0 /* must return 0 to mean the killed query is in */;
+0
+0
+select RELEASE_LOCK("a");
+RELEASE_LOCK("a")
+1
+delete from t4;
+insert into t4 values (1,1), (2,2);
+reset master;
+select get_lock("a", 20);
+get_lock("a", 20)
+1
+set @b= 0;
+delete from t4 where b=bug27563(1) or b=bug27563(2);
+select count(*) FROM INFORMATION_SCHEMA.PROCESSLIST where state='User lock';
+count(*)
+1
+kill query ID;
+ERROR 70100: Query execution was interrupted
+select count(*) from t4 /* must be 1 */;
+count(*)
+1
+select @b /* must be 1 at the end of a stmt calling bug27563() */;
+@b
+1
+must have the delete query event more to FD
+show binlog events from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # User var # # @`b`=0
+master-bin.000001 # Query # # use `test`; delete from t4 where b=bug27563(1) or b=bug27563(2)
+select
+(@a:=load_file("MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog"))
+is not null;
+(@a:=load_file("MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog"))
+is not null
+1
+select 0 /* must return 0 to mean the killed query is in */;
+0
+0
+select RELEASE_LOCK("a");
+RELEASE_LOCK("a")
+1
+drop table t4;
+drop function bug27563;
drop table t1,t2,t3;
+end of the tests
diff --git a/mysql-test/suite/binlog/r/binlog_killed_simulate.result b/mysql-test/suite/binlog/r/binlog_killed_simulate.result
new file mode 100644
index 00000000000..c0087316420
--- /dev/null
+++ b/mysql-test/suite/binlog/r/binlog_killed_simulate.result
@@ -0,0 +1,33 @@
+drop table if exists t1,t2;
+create table t1 (a int) engine=MyISAM;
+insert into t1 set a=1;
+reset master;
+update t1 set a=2 /* will be "killed" after work has been done */;
+select
+(@a:=load_file("MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog"))
+is not null;
+(@a:=load_file("MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog"))
+is not null
+1
+select 1 /* must return 1 as query completed before got killed*/;
+1
+1
+create table t2 (a int, b int) ENGINE=MyISAM;
+reset master;
+load data infile '../std_data_ln/rpl_loaddata.dat' into table t2 /* will be "killed" in the middle */;
+ERROR 70100: Query execution was interrupted
+show binlog events from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Begin_load_query # # ;file_id=#;block_len=12
+master-bin.000001 # Execute_load_query # # use `test`; load data infile '../std_data_ln/rpl_loaddata.dat' into table t2 /* will be "killed" in the middle */ ;file_id=#
+select
+(@a:=load_file("MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog"))
+is not null;
+(@a:=load_file("MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog"))
+is not null
+1
+select 0 /* must return 0 to mean the killed query is in */;
+0
+0
+drop table t1,t2;
+end of the tests
diff --git a/mysql-test/suite/binlog/r/binlog_multi_engine.result b/mysql-test/suite/binlog/r/binlog_multi_engine.result
index d605fbfaf67..8574a2351a1 100644
--- a/mysql-test/suite/binlog/r/binlog_multi_engine.result
+++ b/mysql-test/suite/binlog/r/binlog_multi_engine.result
@@ -3,8 +3,8 @@ CREATE TABLE t1b (b INT, c INT) ENGINE=BLACKHOLE;
CREATE TABLE t1n (e INT, f INT) ENGINE=NDB;
RESET MASTER;
SET SESSION BINLOG_FORMAT=STATEMENT;
-INSERT INTO t1m VALUES (1,1), (1,2), (2,1), (2,2);
INSERT INTO t1b VALUES (1,1), (1,2), (2,1), (2,2);
+INSERT INTO t1m VALUES (1,1), (1,2), (2,1), (2,2);
UPDATE t1m, t1b SET m = 2, b = 3 WHERE n = c;
*** Please look in binlog_multi_engine.test if you have a diff here ****
START TRANSACTION;
@@ -17,26 +17,28 @@ TRUNCATE t1b;
TRUNCATE t1n;
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; INSERT INTO t1m VALUES (1,1), (1,2), (2,1), (2,2)
+master-bin.000001 # Query # # use `test`; BEGIN
master-bin.000001 # Query # # use `test`; INSERT INTO t1b VALUES (1,1), (1,2), (2,1), (2,2)
+master-bin.000001 # Query # # use `test`; COMMIT
+master-bin.000001 # Query # # use `test`; INSERT INTO t1m VALUES (1,1), (1,2), (2,1), (2,2)
master-bin.000001 # Query # # use `test`; UPDATE t1m, t1b SET m = 2, b = 3 WHERE n = c
master-bin.000001 # Query # # use `test`; BEGIN
master-bin.000001 # Query # # use `test`; INSERT INTO t1n VALUES (1,1), (1,2), (2,1), (2,2)
master-bin.000001 # Query # # use `test`; UPDATE t1m, t1n SET m = 2, e = 3 WHERE n = f
master-bin.000001 # Query # # use `test`; UPDATE t1n, t1b SET e = 2, b = 3 WHERE f = c
master-bin.000001 # Query # # use `test`; COMMIT
-master-bin.000001 # Query # # use `test`; TRUNCATE t1m
-master-bin.000001 # Query # # use `test`; TRUNCATE t1b
master-bin.000001 # Query # # BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t1n)
master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Query # # use `test`; TRUNCATE t1m
+master-bin.000001 # Query # # use `test`; TRUNCATE t1b
master-bin.000001 # Query # # use `test`; TRUNCATE t1n
RESET MASTER;
SET SESSION BINLOG_FORMAT=MIXED;
-INSERT INTO t1m VALUES (1,1), (1,2), (2,1), (2,2);
INSERT INTO t1b VALUES (1,1), (1,2), (2,1), (2,2);
+INSERT INTO t1m VALUES (1,1), (1,2), (2,1), (2,2);
INSERT INTO t1n VALUES (1,1), (1,2), (2,1), (2,2);
UPDATE t1m, t1b SET m = 2, b = 3 WHERE n = c;
UPDATE t1m, t1n SET m = 2, e = 3 WHERE n = f;
@@ -48,18 +50,19 @@ TRUNCATE t1b;
TRUNCATE t1n;
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; INSERT INTO t1m VALUES (1,1), (1,2), (2,1), (2,2)
+master-bin.000001 # Query # # use `test`; BEGIN
master-bin.000001 # Query # # use `test`; INSERT INTO t1b VALUES (1,1), (1,2), (2,1), (2,2)
-master-bin.000001 # Query # # use `test`; UPDATE t1m, t1b SET m = 2, b = 3 WHERE n = c
-master-bin.000001 # Query # # use `test`; TRUNCATE t1m
-master-bin.000001 # Query # # use `test`; TRUNCATE t1b
+master-bin.000001 # Query # # use `test`; COMMIT
+master-bin.000001 # Query # # use `test`; INSERT INTO t1m VALUES (1,1), (1,2), (2,1), (2,2)
master-bin.000001 # Query # # BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t1n)
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: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Query # # use `test`; UPDATE t1m, t1b SET m = 2, b = 3 WHERE n = c
+master-bin.000001 # Query # # use `test`; TRUNCATE t1m
+master-bin.000001 # Query # # use `test`; TRUNCATE t1b
master-bin.000001 # Query # # use `test`; TRUNCATE t1n
RESET MASTER;
SET SESSION BINLOG_FORMAT=ROW;
@@ -81,7 +84,6 @@ master-bin.000001 # Query # # BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t1n)
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: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
RESET MASTER;
diff --git a/mysql-test/suite/binlog/r/binlog_old_versions.result b/mysql-test/suite/binlog/r/binlog_old_versions.result
new file mode 100644
index 00000000000..77289252b4c
--- /dev/null
+++ b/mysql-test/suite/binlog/r/binlog_old_versions.result
@@ -0,0 +1,71 @@
+DROP TABLE IF EXISTS t1, t2, t3;
+==== Read modern binlog (version 5.1.23) ====
+SELECT * FROM t1 ORDER BY a;
+a b
+0 last_insert_id
+1 one
+3 last stm in trx: next event should be xid
+4 four
+674568 random
+SELECT * FROM t2 ORDER BY a;
+a b
+3 first stm in trx
+SELECT COUNT(*) FROM t3;
+COUNT(*)
+17920
+DROP TABLE t1, t2, t3;
+==== Read binlog from version 5.1.17 ====
+SELECT * FROM t1 ORDER BY a;
+a b
+0 last_insert_id
+1 one
+3 last stm in trx: next event should be xid
+4 four
+764247 random
+SELECT * FROM t2 ORDER BY a;
+a b
+3 first stm in trx
+SELECT COUNT(*) FROM t3;
+COUNT(*)
+17920
+DROP TABLE t1, t2, t3;
+==== Read binlog from version 4.1 ====
+SELECT * FROM t1 ORDER BY a;
+a b
+0 last_insert_id
+4 four
+190243 random
+SELECT COUNT(*) FROM t3;
+COUNT(*)
+17920
+DROP TABLE t1, t3;
+==== Read binlog from alcatel tree (mysql-5.1-wl2325-5.0-drop6) ====
+SELECT * FROM t1 ORDER BY a;
+a b
+0 last_insert_id
+1 one
+3 last stm in trx: next event should be xid
+4 four
+781729 random
+SELECT * FROM t2 ORDER BY a;
+a b
+3 first stm in trx
+SELECT COUNT(*) FROM t3;
+COUNT(*)
+17920
+DROP TABLE t1, t2, t3;
+==== Read binlog from ndb tree (mysql-5.1-telco-6.1) ====
+SELECT * FROM t1 ORDER BY a;
+a b
+0 last_insert_id
+1 one
+3 last stm in trx: next event should be xid
+4 four
+703356 random
+SELECT * FROM t2 ORDER BY a;
+a b
+3 first stm in trx
+SELECT COUNT(*) FROM t3;
+COUNT(*)
+17920
+DROP TABLE t1, t2, t3;
diff --git a/mysql-test/suite/binlog/r/binlog_row_binlog.result b/mysql-test/suite/binlog/r/binlog_row_binlog.result
index 1d1656889f4..8da441d5865 100644
--- a/mysql-test/suite/binlog/r/binlog_row_binlog.result
+++ b/mysql-test/suite/binlog/r/binlog_row_binlog.result
@@ -250,14 +250,14 @@ Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 4 Format_desc 1 106 Server version, Binlog ver: 4
master-bin.000001 106 Query 1 205 use `test`; create table t1(n int) engine=innodb
master-bin.000001 205 Query 1 273 use `test`; BEGIN
-master-bin.000001 273 Table_map 1 312 table_id: # (test.t1)
-master-bin.000001 312 Write_rows 1 346 table_id: # flags: STMT_END_F
-master-bin.000001 346 Table_map 1 385 table_id: # (test.t1)
-master-bin.000001 385 Write_rows 1 419 table_id: # flags: STMT_END_F
-master-bin.000001 419 Table_map 1 458 table_id: # (test.t1)
-master-bin.000001 458 Write_rows 1 492 table_id: # flags: STMT_END_F
-master-bin.000001 492 Xid 1 519 COMMIT /* XID */
-master-bin.000001 519 Query 1 595 use `test`; drop table t1
+master-bin.000001 273 Table_map 1 314 table_id: # (test.t1)
+master-bin.000001 314 Write_rows 1 348 table_id: # flags: STMT_END_F
+master-bin.000001 348 Table_map 1 389 table_id: # (test.t1)
+master-bin.000001 389 Write_rows 1 423 table_id: # flags: STMT_END_F
+master-bin.000001 423 Table_map 1 464 table_id: # (test.t1)
+master-bin.000001 464 Write_rows 1 498 table_id: # flags: STMT_END_F
+master-bin.000001 498 Xid 1 525 COMMIT /* XID */
+master-bin.000001 525 Query 1 601 use `test`; drop table t1
set @bcs = @@binlog_cache_size;
set global binlog_cache_size=4096;
reset master;
@@ -267,811 +267,827 @@ Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 4 Format_desc 1 106 Server version, Binlog ver: 4
master-bin.000001 106 Query 1 206 use `test`; create table t1 (a int) engine=innodb
master-bin.000001 206 Query 1 274 use `test`; BEGIN
-master-bin.000001 274 Table_map 1 313 table_id: # (test.t1)
-master-bin.000001 313 Write_rows 1 347 table_id: # flags: STMT_END_F
-master-bin.000001 347 Table_map 1 386 table_id: # (test.t1)
-master-bin.000001 386 Write_rows 1 420 table_id: # flags: STMT_END_F
-master-bin.000001 420 Table_map 1 459 table_id: # (test.t1)
-master-bin.000001 459 Write_rows 1 493 table_id: # flags: STMT_END_F
-master-bin.000001 493 Table_map 1 532 table_id: # (test.t1)
-master-bin.000001 532 Write_rows 1 566 table_id: # flags: STMT_END_F
-master-bin.000001 566 Table_map 1 605 table_id: # (test.t1)
-master-bin.000001 605 Write_rows 1 639 table_id: # flags: STMT_END_F
-master-bin.000001 639 Table_map 1 678 table_id: # (test.t1)
-master-bin.000001 678 Write_rows 1 712 table_id: # flags: STMT_END_F
-master-bin.000001 712 Table_map 1 751 table_id: # (test.t1)
-master-bin.000001 751 Write_rows 1 785 table_id: # flags: STMT_END_F
-master-bin.000001 785 Table_map 1 824 table_id: # (test.t1)
-master-bin.000001 824 Write_rows 1 858 table_id: # flags: STMT_END_F
-master-bin.000001 858 Table_map 1 897 table_id: # (test.t1)
-master-bin.000001 897 Write_rows 1 931 table_id: # flags: STMT_END_F
-master-bin.000001 931 Table_map 1 970 table_id: # (test.t1)
-master-bin.000001 970 Write_rows 1 1004 table_id: # flags: STMT_END_F
-master-bin.000001 1004 Table_map 1 1043 table_id: # (test.t1)
-master-bin.000001 1043 Write_rows 1 1077 table_id: # flags: STMT_END_F
-master-bin.000001 1077 Table_map 1 1116 table_id: # (test.t1)
-master-bin.000001 1116 Write_rows 1 1150 table_id: # flags: STMT_END_F
-master-bin.000001 1150 Table_map 1 1189 table_id: # (test.t1)
-master-bin.000001 1189 Write_rows 1 1223 table_id: # flags: STMT_END_F
-master-bin.000001 1223 Table_map 1 1262 table_id: # (test.t1)
-master-bin.000001 1262 Write_rows 1 1296 table_id: # flags: STMT_END_F
-master-bin.000001 1296 Table_map 1 1335 table_id: # (test.t1)
-master-bin.000001 1335 Write_rows 1 1369 table_id: # flags: STMT_END_F
-master-bin.000001 1369 Table_map 1 1408 table_id: # (test.t1)
-master-bin.000001 1408 Write_rows 1 1442 table_id: # flags: STMT_END_F
-master-bin.000001 1442 Table_map 1 1481 table_id: # (test.t1)
-master-bin.000001 1481 Write_rows 1 1515 table_id: # flags: STMT_END_F
-master-bin.000001 1515 Table_map 1 1554 table_id: # (test.t1)
-master-bin.000001 1554 Write_rows 1 1588 table_id: # flags: STMT_END_F
-master-bin.000001 1588 Table_map 1 1627 table_id: # (test.t1)
-master-bin.000001 1627 Write_rows 1 1661 table_id: # flags: STMT_END_F
-master-bin.000001 1661 Table_map 1 1700 table_id: # (test.t1)
-master-bin.000001 1700 Write_rows 1 1734 table_id: # flags: STMT_END_F
-master-bin.000001 1734 Table_map 1 1773 table_id: # (test.t1)
-master-bin.000001 1773 Write_rows 1 1807 table_id: # flags: STMT_END_F
-master-bin.000001 1807 Table_map 1 1846 table_id: # (test.t1)
-master-bin.000001 1846 Write_rows 1 1880 table_id: # flags: STMT_END_F
-master-bin.000001 1880 Table_map 1 1919 table_id: # (test.t1)
-master-bin.000001 1919 Write_rows 1 1953 table_id: # flags: STMT_END_F
-master-bin.000001 1953 Table_map 1 1992 table_id: # (test.t1)
-master-bin.000001 1992 Write_rows 1 2026 table_id: # flags: STMT_END_F
-master-bin.000001 2026 Table_map 1 2065 table_id: # (test.t1)
-master-bin.000001 2065 Write_rows 1 2099 table_id: # flags: STMT_END_F
-master-bin.000001 2099 Table_map 1 2138 table_id: # (test.t1)
-master-bin.000001 2138 Write_rows 1 2172 table_id: # flags: STMT_END_F
-master-bin.000001 2172 Table_map 1 2211 table_id: # (test.t1)
-master-bin.000001 2211 Write_rows 1 2245 table_id: # flags: STMT_END_F
-master-bin.000001 2245 Table_map 1 2284 table_id: # (test.t1)
-master-bin.000001 2284 Write_rows 1 2318 table_id: # flags: STMT_END_F
-master-bin.000001 2318 Table_map 1 2357 table_id: # (test.t1)
-master-bin.000001 2357 Write_rows 1 2391 table_id: # flags: STMT_END_F
-master-bin.000001 2391 Table_map 1 2430 table_id: # (test.t1)
-master-bin.000001 2430 Write_rows 1 2464 table_id: # flags: STMT_END_F
-master-bin.000001 2464 Table_map 1 2503 table_id: # (test.t1)
-master-bin.000001 2503 Write_rows 1 2537 table_id: # flags: STMT_END_F
-master-bin.000001 2537 Table_map 1 2576 table_id: # (test.t1)
-master-bin.000001 2576 Write_rows 1 2610 table_id: # flags: STMT_END_F
-master-bin.000001 2610 Table_map 1 2649 table_id: # (test.t1)
-master-bin.000001 2649 Write_rows 1 2683 table_id: # flags: STMT_END_F
-master-bin.000001 2683 Table_map 1 2722 table_id: # (test.t1)
-master-bin.000001 2722 Write_rows 1 2756 table_id: # flags: STMT_END_F
-master-bin.000001 2756 Table_map 1 2795 table_id: # (test.t1)
-master-bin.000001 2795 Write_rows 1 2829 table_id: # flags: STMT_END_F
-master-bin.000001 2829 Table_map 1 2868 table_id: # (test.t1)
-master-bin.000001 2868 Write_rows 1 2902 table_id: # flags: STMT_END_F
-master-bin.000001 2902 Table_map 1 2941 table_id: # (test.t1)
-master-bin.000001 2941 Write_rows 1 2975 table_id: # flags: STMT_END_F
-master-bin.000001 2975 Table_map 1 3014 table_id: # (test.t1)
-master-bin.000001 3014 Write_rows 1 3048 table_id: # flags: STMT_END_F
-master-bin.000001 3048 Table_map 1 3087 table_id: # (test.t1)
-master-bin.000001 3087 Write_rows 1 3121 table_id: # flags: STMT_END_F
-master-bin.000001 3121 Table_map 1 3160 table_id: # (test.t1)
-master-bin.000001 3160 Write_rows 1 3194 table_id: # flags: STMT_END_F
-master-bin.000001 3194 Table_map 1 3233 table_id: # (test.t1)
-master-bin.000001 3233 Write_rows 1 3267 table_id: # flags: STMT_END_F
-master-bin.000001 3267 Table_map 1 3306 table_id: # (test.t1)
-master-bin.000001 3306 Write_rows 1 3340 table_id: # flags: STMT_END_F
-master-bin.000001 3340 Table_map 1 3379 table_id: # (test.t1)
-master-bin.000001 3379 Write_rows 1 3413 table_id: # flags: STMT_END_F
-master-bin.000001 3413 Table_map 1 3452 table_id: # (test.t1)
-master-bin.000001 3452 Write_rows 1 3486 table_id: # flags: STMT_END_F
-master-bin.000001 3486 Table_map 1 3525 table_id: # (test.t1)
-master-bin.000001 3525 Write_rows 1 3559 table_id: # flags: STMT_END_F
-master-bin.000001 3559 Table_map 1 3598 table_id: # (test.t1)
-master-bin.000001 3598 Write_rows 1 3632 table_id: # flags: STMT_END_F
-master-bin.000001 3632 Table_map 1 3671 table_id: # (test.t1)
-master-bin.000001 3671 Write_rows 1 3705 table_id: # flags: STMT_END_F
-master-bin.000001 3705 Table_map 1 3744 table_id: # (test.t1)
-master-bin.000001 3744 Write_rows 1 3778 table_id: # flags: STMT_END_F
-master-bin.000001 3778 Table_map 1 3817 table_id: # (test.t1)
-master-bin.000001 3817 Write_rows 1 3851 table_id: # flags: STMT_END_F
-master-bin.000001 3851 Table_map 1 3890 table_id: # (test.t1)
-master-bin.000001 3890 Write_rows 1 3924 table_id: # flags: STMT_END_F
-master-bin.000001 3924 Table_map 1 3963 table_id: # (test.t1)
-master-bin.000001 3963 Write_rows 1 3997 table_id: # flags: STMT_END_F
-master-bin.000001 3997 Table_map 1 4036 table_id: # (test.t1)
-master-bin.000001 4036 Write_rows 1 4070 table_id: # flags: STMT_END_F
-master-bin.000001 4070 Table_map 1 4109 table_id: # (test.t1)
-master-bin.000001 4109 Write_rows 1 4143 table_id: # flags: STMT_END_F
-master-bin.000001 4143 Table_map 1 4182 table_id: # (test.t1)
-master-bin.000001 4182 Write_rows 1 4216 table_id: # flags: STMT_END_F
-master-bin.000001 4216 Table_map 1 4255 table_id: # (test.t1)
-master-bin.000001 4255 Write_rows 1 4289 table_id: # flags: STMT_END_F
-master-bin.000001 4289 Table_map 1 4328 table_id: # (test.t1)
-master-bin.000001 4328 Write_rows 1 4362 table_id: # flags: STMT_END_F
-master-bin.000001 4362 Table_map 1 4401 table_id: # (test.t1)
-master-bin.000001 4401 Write_rows 1 4435 table_id: # flags: STMT_END_F
-master-bin.000001 4435 Table_map 1 4474 table_id: # (test.t1)
-master-bin.000001 4474 Write_rows 1 4508 table_id: # flags: STMT_END_F
-master-bin.000001 4508 Table_map 1 4547 table_id: # (test.t1)
-master-bin.000001 4547 Write_rows 1 4581 table_id: # flags: STMT_END_F
-master-bin.000001 4581 Table_map 1 4620 table_id: # (test.t1)
-master-bin.000001 4620 Write_rows 1 4654 table_id: # flags: STMT_END_F
-master-bin.000001 4654 Table_map 1 4693 table_id: # (test.t1)
-master-bin.000001 4693 Write_rows 1 4727 table_id: # flags: STMT_END_F
-master-bin.000001 4727 Table_map 1 4766 table_id: # (test.t1)
-master-bin.000001 4766 Write_rows 1 4800 table_id: # flags: STMT_END_F
-master-bin.000001 4800 Table_map 1 4839 table_id: # (test.t1)
-master-bin.000001 4839 Write_rows 1 4873 table_id: # flags: STMT_END_F
-master-bin.000001 4873 Table_map 1 4912 table_id: # (test.t1)
-master-bin.000001 4912 Write_rows 1 4946 table_id: # flags: STMT_END_F
-master-bin.000001 4946 Table_map 1 4985 table_id: # (test.t1)
-master-bin.000001 4985 Write_rows 1 5019 table_id: # flags: STMT_END_F
-master-bin.000001 5019 Table_map 1 5058 table_id: # (test.t1)
-master-bin.000001 5058 Write_rows 1 5092 table_id: # flags: STMT_END_F
-master-bin.000001 5092 Table_map 1 5131 table_id: # (test.t1)
-master-bin.000001 5131 Write_rows 1 5165 table_id: # flags: STMT_END_F
-master-bin.000001 5165 Table_map 1 5204 table_id: # (test.t1)
-master-bin.000001 5204 Write_rows 1 5238 table_id: # flags: STMT_END_F
-master-bin.000001 5238 Table_map 1 5277 table_id: # (test.t1)
-master-bin.000001 5277 Write_rows 1 5311 table_id: # flags: STMT_END_F
-master-bin.000001 5311 Table_map 1 5350 table_id: # (test.t1)
-master-bin.000001 5350 Write_rows 1 5384 table_id: # flags: STMT_END_F
-master-bin.000001 5384 Table_map 1 5423 table_id: # (test.t1)
-master-bin.000001 5423 Write_rows 1 5457 table_id: # flags: STMT_END_F
-master-bin.000001 5457 Table_map 1 5496 table_id: # (test.t1)
-master-bin.000001 5496 Write_rows 1 5530 table_id: # flags: STMT_END_F
-master-bin.000001 5530 Table_map 1 5569 table_id: # (test.t1)
-master-bin.000001 5569 Write_rows 1 5603 table_id: # flags: STMT_END_F
-master-bin.000001 5603 Table_map 1 5642 table_id: # (test.t1)
-master-bin.000001 5642 Write_rows 1 5676 table_id: # flags: STMT_END_F
-master-bin.000001 5676 Table_map 1 5715 table_id: # (test.t1)
+master-bin.000001 274 Table_map 1 315 table_id: # (test.t1)
+master-bin.000001 315 Write_rows 1 349 table_id: # flags: STMT_END_F
+master-bin.000001 349 Table_map 1 390 table_id: # (test.t1)
+master-bin.000001 390 Write_rows 1 424 table_id: # flags: STMT_END_F
+master-bin.000001 424 Table_map 1 465 table_id: # (test.t1)
+master-bin.000001 465 Write_rows 1 499 table_id: # flags: STMT_END_F
+master-bin.000001 499 Table_map 1 540 table_id: # (test.t1)
+master-bin.000001 540 Write_rows 1 574 table_id: # flags: STMT_END_F
+master-bin.000001 574 Table_map 1 615 table_id: # (test.t1)
+master-bin.000001 615 Write_rows 1 649 table_id: # flags: STMT_END_F
+master-bin.000001 649 Table_map 1 690 table_id: # (test.t1)
+master-bin.000001 690 Write_rows 1 724 table_id: # flags: STMT_END_F
+master-bin.000001 724 Table_map 1 765 table_id: # (test.t1)
+master-bin.000001 765 Write_rows 1 799 table_id: # flags: STMT_END_F
+master-bin.000001 799 Table_map 1 840 table_id: # (test.t1)
+master-bin.000001 840 Write_rows 1 874 table_id: # flags: STMT_END_F
+master-bin.000001 874 Table_map 1 915 table_id: # (test.t1)
+master-bin.000001 915 Write_rows 1 949 table_id: # flags: STMT_END_F
+master-bin.000001 949 Table_map 1 990 table_id: # (test.t1)
+master-bin.000001 990 Write_rows 1 1024 table_id: # flags: STMT_END_F
+master-bin.000001 1024 Table_map 1 1065 table_id: # (test.t1)
+master-bin.000001 1065 Write_rows 1 1099 table_id: # flags: STMT_END_F
+master-bin.000001 1099 Table_map 1 1140 table_id: # (test.t1)
+master-bin.000001 1140 Write_rows 1 1174 table_id: # flags: STMT_END_F
+master-bin.000001 1174 Table_map 1 1215 table_id: # (test.t1)
+master-bin.000001 1215 Write_rows 1 1249 table_id: # flags: STMT_END_F
+master-bin.000001 1249 Table_map 1 1290 table_id: # (test.t1)
+master-bin.000001 1290 Write_rows 1 1324 table_id: # flags: STMT_END_F
+master-bin.000001 1324 Table_map 1 1365 table_id: # (test.t1)
+master-bin.000001 1365 Write_rows 1 1399 table_id: # flags: STMT_END_F
+master-bin.000001 1399 Table_map 1 1440 table_id: # (test.t1)
+master-bin.000001 1440 Write_rows 1 1474 table_id: # flags: STMT_END_F
+master-bin.000001 1474 Table_map 1 1515 table_id: # (test.t1)
+master-bin.000001 1515 Write_rows 1 1549 table_id: # flags: STMT_END_F
+master-bin.000001 1549 Table_map 1 1590 table_id: # (test.t1)
+master-bin.000001 1590 Write_rows 1 1624 table_id: # flags: STMT_END_F
+master-bin.000001 1624 Table_map 1 1665 table_id: # (test.t1)
+master-bin.000001 1665 Write_rows 1 1699 table_id: # flags: STMT_END_F
+master-bin.000001 1699 Table_map 1 1740 table_id: # (test.t1)
+master-bin.000001 1740 Write_rows 1 1774 table_id: # flags: STMT_END_F
+master-bin.000001 1774 Table_map 1 1815 table_id: # (test.t1)
+master-bin.000001 1815 Write_rows 1 1849 table_id: # flags: STMT_END_F
+master-bin.000001 1849 Table_map 1 1890 table_id: # (test.t1)
+master-bin.000001 1890 Write_rows 1 1924 table_id: # flags: STMT_END_F
+master-bin.000001 1924 Table_map 1 1965 table_id: # (test.t1)
+master-bin.000001 1965 Write_rows 1 1999 table_id: # flags: STMT_END_F
+master-bin.000001 1999 Table_map 1 2040 table_id: # (test.t1)
+master-bin.000001 2040 Write_rows 1 2074 table_id: # flags: STMT_END_F
+master-bin.000001 2074 Table_map 1 2115 table_id: # (test.t1)
+master-bin.000001 2115 Write_rows 1 2149 table_id: # flags: STMT_END_F
+master-bin.000001 2149 Table_map 1 2190 table_id: # (test.t1)
+master-bin.000001 2190 Write_rows 1 2224 table_id: # flags: STMT_END_F
+master-bin.000001 2224 Table_map 1 2265 table_id: # (test.t1)
+master-bin.000001 2265 Write_rows 1 2299 table_id: # flags: STMT_END_F
+master-bin.000001 2299 Table_map 1 2340 table_id: # (test.t1)
+master-bin.000001 2340 Write_rows 1 2374 table_id: # flags: STMT_END_F
+master-bin.000001 2374 Table_map 1 2415 table_id: # (test.t1)
+master-bin.000001 2415 Write_rows 1 2449 table_id: # flags: STMT_END_F
+master-bin.000001 2449 Table_map 1 2490 table_id: # (test.t1)
+master-bin.000001 2490 Write_rows 1 2524 table_id: # flags: STMT_END_F
+master-bin.000001 2524 Table_map 1 2565 table_id: # (test.t1)
+master-bin.000001 2565 Write_rows 1 2599 table_id: # flags: STMT_END_F
+master-bin.000001 2599 Table_map 1 2640 table_id: # (test.t1)
+master-bin.000001 2640 Write_rows 1 2674 table_id: # flags: STMT_END_F
+master-bin.000001 2674 Table_map 1 2715 table_id: # (test.t1)
+master-bin.000001 2715 Write_rows 1 2749 table_id: # flags: STMT_END_F
+master-bin.000001 2749 Table_map 1 2790 table_id: # (test.t1)
+master-bin.000001 2790 Write_rows 1 2824 table_id: # flags: STMT_END_F
+master-bin.000001 2824 Table_map 1 2865 table_id: # (test.t1)
+master-bin.000001 2865 Write_rows 1 2899 table_id: # flags: STMT_END_F
+master-bin.000001 2899 Table_map 1 2940 table_id: # (test.t1)
+master-bin.000001 2940 Write_rows 1 2974 table_id: # flags: STMT_END_F
+master-bin.000001 2974 Table_map 1 3015 table_id: # (test.t1)
+master-bin.000001 3015 Write_rows 1 3049 table_id: # flags: STMT_END_F
+master-bin.000001 3049 Table_map 1 3090 table_id: # (test.t1)
+master-bin.000001 3090 Write_rows 1 3124 table_id: # flags: STMT_END_F
+master-bin.000001 3124 Table_map 1 3165 table_id: # (test.t1)
+master-bin.000001 3165 Write_rows 1 3199 table_id: # flags: STMT_END_F
+master-bin.000001 3199 Table_map 1 3240 table_id: # (test.t1)
+master-bin.000001 3240 Write_rows 1 3274 table_id: # flags: STMT_END_F
+master-bin.000001 3274 Table_map 1 3315 table_id: # (test.t1)
+master-bin.000001 3315 Write_rows 1 3349 table_id: # flags: STMT_END_F
+master-bin.000001 3349 Table_map 1 3390 table_id: # (test.t1)
+master-bin.000001 3390 Write_rows 1 3424 table_id: # flags: STMT_END_F
+master-bin.000001 3424 Table_map 1 3465 table_id: # (test.t1)
+master-bin.000001 3465 Write_rows 1 3499 table_id: # flags: STMT_END_F
+master-bin.000001 3499 Table_map 1 3540 table_id: # (test.t1)
+master-bin.000001 3540 Write_rows 1 3574 table_id: # flags: STMT_END_F
+master-bin.000001 3574 Table_map 1 3615 table_id: # (test.t1)
+master-bin.000001 3615 Write_rows 1 3649 table_id: # flags: STMT_END_F
+master-bin.000001 3649 Table_map 1 3690 table_id: # (test.t1)
+master-bin.000001 3690 Write_rows 1 3724 table_id: # flags: STMT_END_F
+master-bin.000001 3724 Table_map 1 3765 table_id: # (test.t1)
+master-bin.000001 3765 Write_rows 1 3799 table_id: # flags: STMT_END_F
+master-bin.000001 3799 Table_map 1 3840 table_id: # (test.t1)
+master-bin.000001 3840 Write_rows 1 3874 table_id: # flags: STMT_END_F
+master-bin.000001 3874 Table_map 1 3915 table_id: # (test.t1)
+master-bin.000001 3915 Write_rows 1 3949 table_id: # flags: STMT_END_F
+master-bin.000001 3949 Table_map 1 3990 table_id: # (test.t1)
+master-bin.000001 3990 Write_rows 1 4024 table_id: # flags: STMT_END_F
+master-bin.000001 4024 Table_map 1 4065 table_id: # (test.t1)
+master-bin.000001 4065 Write_rows 1 4099 table_id: # flags: STMT_END_F
+master-bin.000001 4099 Table_map 1 4140 table_id: # (test.t1)
+master-bin.000001 4140 Write_rows 1 4174 table_id: # flags: STMT_END_F
+master-bin.000001 4174 Table_map 1 4215 table_id: # (test.t1)
+master-bin.000001 4215 Write_rows 1 4249 table_id: # flags: STMT_END_F
+master-bin.000001 4249 Table_map 1 4290 table_id: # (test.t1)
+master-bin.000001 4290 Write_rows 1 4324 table_id: # flags: STMT_END_F
+master-bin.000001 4324 Table_map 1 4365 table_id: # (test.t1)
+master-bin.000001 4365 Write_rows 1 4399 table_id: # flags: STMT_END_F
+master-bin.000001 4399 Table_map 1 4440 table_id: # (test.t1)
+master-bin.000001 4440 Write_rows 1 4474 table_id: # flags: STMT_END_F
+master-bin.000001 4474 Table_map 1 4515 table_id: # (test.t1)
+master-bin.000001 4515 Write_rows 1 4549 table_id: # flags: STMT_END_F
+master-bin.000001 4549 Table_map 1 4590 table_id: # (test.t1)
+master-bin.000001 4590 Write_rows 1 4624 table_id: # flags: STMT_END_F
+master-bin.000001 4624 Table_map 1 4665 table_id: # (test.t1)
+master-bin.000001 4665 Write_rows 1 4699 table_id: # flags: STMT_END_F
+master-bin.000001 4699 Table_map 1 4740 table_id: # (test.t1)
+master-bin.000001 4740 Write_rows 1 4774 table_id: # flags: STMT_END_F
+master-bin.000001 4774 Table_map 1 4815 table_id: # (test.t1)
+master-bin.000001 4815 Write_rows 1 4849 table_id: # flags: STMT_END_F
+master-bin.000001 4849 Table_map 1 4890 table_id: # (test.t1)
+master-bin.000001 4890 Write_rows 1 4924 table_id: # flags: STMT_END_F
+master-bin.000001 4924 Table_map 1 4965 table_id: # (test.t1)
+master-bin.000001 4965 Write_rows 1 4999 table_id: # flags: STMT_END_F
+master-bin.000001 4999 Table_map 1 5040 table_id: # (test.t1)
+master-bin.000001 5040 Write_rows 1 5074 table_id: # flags: STMT_END_F
+master-bin.000001 5074 Table_map 1 5115 table_id: # (test.t1)
+master-bin.000001 5115 Write_rows 1 5149 table_id: # flags: STMT_END_F
+master-bin.000001 5149 Table_map 1 5190 table_id: # (test.t1)
+master-bin.000001 5190 Write_rows 1 5224 table_id: # flags: STMT_END_F
+master-bin.000001 5224 Table_map 1 5265 table_id: # (test.t1)
+master-bin.000001 5265 Write_rows 1 5299 table_id: # flags: STMT_END_F
+master-bin.000001 5299 Table_map 1 5340 table_id: # (test.t1)
+master-bin.000001 5340 Write_rows 1 5374 table_id: # flags: STMT_END_F
+master-bin.000001 5374 Table_map 1 5415 table_id: # (test.t1)
+master-bin.000001 5415 Write_rows 1 5449 table_id: # flags: STMT_END_F
+master-bin.000001 5449 Table_map 1 5490 table_id: # (test.t1)
+master-bin.000001 5490 Write_rows 1 5524 table_id: # flags: STMT_END_F
+master-bin.000001 5524 Table_map 1 5565 table_id: # (test.t1)
+master-bin.000001 5565 Write_rows 1 5599 table_id: # flags: STMT_END_F
+master-bin.000001 5599 Table_map 1 5640 table_id: # (test.t1)
+master-bin.000001 5640 Write_rows 1 5674 table_id: # flags: STMT_END_F
+master-bin.000001 5674 Table_map 1 5715 table_id: # (test.t1)
master-bin.000001 5715 Write_rows 1 5749 table_id: # flags: STMT_END_F
-master-bin.000001 5749 Table_map 1 5788 table_id: # (test.t1)
-master-bin.000001 5788 Write_rows 1 5822 table_id: # flags: STMT_END_F
-master-bin.000001 5822 Table_map 1 5861 table_id: # (test.t1)
-master-bin.000001 5861 Write_rows 1 5895 table_id: # flags: STMT_END_F
-master-bin.000001 5895 Table_map 1 5934 table_id: # (test.t1)
-master-bin.000001 5934 Write_rows 1 5968 table_id: # flags: STMT_END_F
-master-bin.000001 5968 Table_map 1 6007 table_id: # (test.t1)
-master-bin.000001 6007 Write_rows 1 6041 table_id: # flags: STMT_END_F
-master-bin.000001 6041 Table_map 1 6080 table_id: # (test.t1)
-master-bin.000001 6080 Write_rows 1 6114 table_id: # flags: STMT_END_F
-master-bin.000001 6114 Table_map 1 6153 table_id: # (test.t1)
-master-bin.000001 6153 Write_rows 1 6187 table_id: # flags: STMT_END_F
-master-bin.000001 6187 Table_map 1 6226 table_id: # (test.t1)
-master-bin.000001 6226 Write_rows 1 6260 table_id: # flags: STMT_END_F
-master-bin.000001 6260 Table_map 1 6299 table_id: # (test.t1)
-master-bin.000001 6299 Write_rows 1 6333 table_id: # flags: STMT_END_F
-master-bin.000001 6333 Table_map 1 6372 table_id: # (test.t1)
-master-bin.000001 6372 Write_rows 1 6406 table_id: # flags: STMT_END_F
-master-bin.000001 6406 Table_map 1 6445 table_id: # (test.t1)
-master-bin.000001 6445 Write_rows 1 6479 table_id: # flags: STMT_END_F
-master-bin.000001 6479 Table_map 1 6518 table_id: # (test.t1)
-master-bin.000001 6518 Write_rows 1 6552 table_id: # flags: STMT_END_F
-master-bin.000001 6552 Table_map 1 6591 table_id: # (test.t1)
-master-bin.000001 6591 Write_rows 1 6625 table_id: # flags: STMT_END_F
-master-bin.000001 6625 Table_map 1 6664 table_id: # (test.t1)
-master-bin.000001 6664 Write_rows 1 6698 table_id: # flags: STMT_END_F
-master-bin.000001 6698 Table_map 1 6737 table_id: # (test.t1)
-master-bin.000001 6737 Write_rows 1 6771 table_id: # flags: STMT_END_F
-master-bin.000001 6771 Table_map 1 6810 table_id: # (test.t1)
-master-bin.000001 6810 Write_rows 1 6844 table_id: # flags: STMT_END_F
-master-bin.000001 6844 Table_map 1 6883 table_id: # (test.t1)
-master-bin.000001 6883 Write_rows 1 6917 table_id: # flags: STMT_END_F
-master-bin.000001 6917 Table_map 1 6956 table_id: # (test.t1)
-master-bin.000001 6956 Write_rows 1 6990 table_id: # flags: STMT_END_F
-master-bin.000001 6990 Table_map 1 7029 table_id: # (test.t1)
-master-bin.000001 7029 Write_rows 1 7063 table_id: # flags: STMT_END_F
-master-bin.000001 7063 Table_map 1 7102 table_id: # (test.t1)
-master-bin.000001 7102 Write_rows 1 7136 table_id: # flags: STMT_END_F
-master-bin.000001 7136 Table_map 1 7175 table_id: # (test.t1)
-master-bin.000001 7175 Write_rows 1 7209 table_id: # flags: STMT_END_F
-master-bin.000001 7209 Table_map 1 7248 table_id: # (test.t1)
-master-bin.000001 7248 Write_rows 1 7282 table_id: # flags: STMT_END_F
-master-bin.000001 7282 Table_map 1 7321 table_id: # (test.t1)
-master-bin.000001 7321 Write_rows 1 7355 table_id: # flags: STMT_END_F
-master-bin.000001 7355 Table_map 1 7394 table_id: # (test.t1)
-master-bin.000001 7394 Write_rows 1 7428 table_id: # flags: STMT_END_F
-master-bin.000001 7428 Table_map 1 7467 table_id: # (test.t1)
-master-bin.000001 7467 Write_rows 1 7501 table_id: # flags: STMT_END_F
-master-bin.000001 7501 Table_map 1 7540 table_id: # (test.t1)
-master-bin.000001 7540 Write_rows 1 7574 table_id: # flags: STMT_END_F
-master-bin.000001 7574 Table_map 1 7613 table_id: # (test.t1)
-master-bin.000001 7613 Write_rows 1 7647 table_id: # flags: STMT_END_F
-master-bin.000001 7647 Table_map 1 7686 table_id: # (test.t1)
-master-bin.000001 7686 Write_rows 1 7720 table_id: # flags: STMT_END_F
-master-bin.000001 7720 Table_map 1 7759 table_id: # (test.t1)
-master-bin.000001 7759 Write_rows 1 7793 table_id: # flags: STMT_END_F
-master-bin.000001 7793 Table_map 1 7832 table_id: # (test.t1)
-master-bin.000001 7832 Write_rows 1 7866 table_id: # flags: STMT_END_F
-master-bin.000001 7866 Table_map 1 7905 table_id: # (test.t1)
-master-bin.000001 7905 Write_rows 1 7939 table_id: # flags: STMT_END_F
-master-bin.000001 7939 Table_map 1 7978 table_id: # (test.t1)
-master-bin.000001 7978 Write_rows 1 8012 table_id: # flags: STMT_END_F
-master-bin.000001 8012 Table_map 1 8051 table_id: # (test.t1)
-master-bin.000001 8051 Write_rows 1 8085 table_id: # flags: STMT_END_F
-master-bin.000001 8085 Table_map 1 8124 table_id: # (test.t1)
-master-bin.000001 8124 Write_rows 1 8158 table_id: # flags: STMT_END_F
-master-bin.000001 8158 Table_map 1 8197 table_id: # (test.t1)
-master-bin.000001 8197 Write_rows 1 8231 table_id: # flags: STMT_END_F
-master-bin.000001 8231 Table_map 1 8270 table_id: # (test.t1)
-master-bin.000001 8270 Write_rows 1 8304 table_id: # flags: STMT_END_F
-master-bin.000001 8304 Table_map 1 8343 table_id: # (test.t1)
-master-bin.000001 8343 Write_rows 1 8377 table_id: # flags: STMT_END_F
-master-bin.000001 8377 Table_map 1 8416 table_id: # (test.t1)
-master-bin.000001 8416 Write_rows 1 8450 table_id: # flags: STMT_END_F
-master-bin.000001 8450 Table_map 1 8489 table_id: # (test.t1)
-master-bin.000001 8489 Write_rows 1 8523 table_id: # flags: STMT_END_F
-master-bin.000001 8523 Table_map 1 8562 table_id: # (test.t1)
-master-bin.000001 8562 Write_rows 1 8596 table_id: # flags: STMT_END_F
-master-bin.000001 8596 Table_map 1 8635 table_id: # (test.t1)
-master-bin.000001 8635 Write_rows 1 8669 table_id: # flags: STMT_END_F
-master-bin.000001 8669 Table_map 1 8708 table_id: # (test.t1)
-master-bin.000001 8708 Write_rows 1 8742 table_id: # flags: STMT_END_F
-master-bin.000001 8742 Table_map 1 8781 table_id: # (test.t1)
-master-bin.000001 8781 Write_rows 1 8815 table_id: # flags: STMT_END_F
-master-bin.000001 8815 Table_map 1 8854 table_id: # (test.t1)
-master-bin.000001 8854 Write_rows 1 8888 table_id: # flags: STMT_END_F
-master-bin.000001 8888 Table_map 1 8927 table_id: # (test.t1)
-master-bin.000001 8927 Write_rows 1 8961 table_id: # flags: STMT_END_F
-master-bin.000001 8961 Table_map 1 9000 table_id: # (test.t1)
-master-bin.000001 9000 Write_rows 1 9034 table_id: # flags: STMT_END_F
-master-bin.000001 9034 Table_map 1 9073 table_id: # (test.t1)
-master-bin.000001 9073 Write_rows 1 9107 table_id: # flags: STMT_END_F
-master-bin.000001 9107 Table_map 1 9146 table_id: # (test.t1)
-master-bin.000001 9146 Write_rows 1 9180 table_id: # flags: STMT_END_F
-master-bin.000001 9180 Table_map 1 9219 table_id: # (test.t1)
-master-bin.000001 9219 Write_rows 1 9253 table_id: # flags: STMT_END_F
-master-bin.000001 9253 Table_map 1 9292 table_id: # (test.t1)
-master-bin.000001 9292 Write_rows 1 9326 table_id: # flags: STMT_END_F
-master-bin.000001 9326 Table_map 1 9365 table_id: # (test.t1)
-master-bin.000001 9365 Write_rows 1 9399 table_id: # flags: STMT_END_F
-master-bin.000001 9399 Table_map 1 9438 table_id: # (test.t1)
-master-bin.000001 9438 Write_rows 1 9472 table_id: # flags: STMT_END_F
-master-bin.000001 9472 Table_map 1 9511 table_id: # (test.t1)
-master-bin.000001 9511 Write_rows 1 9545 table_id: # flags: STMT_END_F
-master-bin.000001 9545 Table_map 1 9584 table_id: # (test.t1)
-master-bin.000001 9584 Write_rows 1 9618 table_id: # flags: STMT_END_F
-master-bin.000001 9618 Table_map 1 9657 table_id: # (test.t1)
-master-bin.000001 9657 Write_rows 1 9691 table_id: # flags: STMT_END_F
-master-bin.000001 9691 Table_map 1 9730 table_id: # (test.t1)
-master-bin.000001 9730 Write_rows 1 9764 table_id: # flags: STMT_END_F
-master-bin.000001 9764 Table_map 1 9803 table_id: # (test.t1)
-master-bin.000001 9803 Write_rows 1 9837 table_id: # flags: STMT_END_F
-master-bin.000001 9837 Table_map 1 9876 table_id: # (test.t1)
-master-bin.000001 9876 Write_rows 1 9910 table_id: # flags: STMT_END_F
-master-bin.000001 9910 Table_map 1 9949 table_id: # (test.t1)
-master-bin.000001 9949 Write_rows 1 9983 table_id: # flags: STMT_END_F
-master-bin.000001 9983 Table_map 1 10022 table_id: # (test.t1)
-master-bin.000001 10022 Write_rows 1 10056 table_id: # flags: STMT_END_F
-master-bin.000001 10056 Table_map 1 10095 table_id: # (test.t1)
-master-bin.000001 10095 Write_rows 1 10129 table_id: # flags: STMT_END_F
-master-bin.000001 10129 Table_map 1 10168 table_id: # (test.t1)
-master-bin.000001 10168 Write_rows 1 10202 table_id: # flags: STMT_END_F
-master-bin.000001 10202 Table_map 1 10241 table_id: # (test.t1)
-master-bin.000001 10241 Write_rows 1 10275 table_id: # flags: STMT_END_F
-master-bin.000001 10275 Table_map 1 10314 table_id: # (test.t1)
-master-bin.000001 10314 Write_rows 1 10348 table_id: # flags: STMT_END_F
-master-bin.000001 10348 Table_map 1 10387 table_id: # (test.t1)
-master-bin.000001 10387 Write_rows 1 10421 table_id: # flags: STMT_END_F
-master-bin.000001 10421 Table_map 1 10460 table_id: # (test.t1)
-master-bin.000001 10460 Write_rows 1 10494 table_id: # flags: STMT_END_F
-master-bin.000001 10494 Table_map 1 10533 table_id: # (test.t1)
-master-bin.000001 10533 Write_rows 1 10567 table_id: # flags: STMT_END_F
-master-bin.000001 10567 Table_map 1 10606 table_id: # (test.t1)
-master-bin.000001 10606 Write_rows 1 10640 table_id: # flags: STMT_END_F
-master-bin.000001 10640 Table_map 1 10679 table_id: # (test.t1)
-master-bin.000001 10679 Write_rows 1 10713 table_id: # flags: STMT_END_F
-master-bin.000001 10713 Table_map 1 10752 table_id: # (test.t1)
-master-bin.000001 10752 Write_rows 1 10786 table_id: # flags: STMT_END_F
-master-bin.000001 10786 Table_map 1 10825 table_id: # (test.t1)
-master-bin.000001 10825 Write_rows 1 10859 table_id: # flags: STMT_END_F
-master-bin.000001 10859 Table_map 1 10898 table_id: # (test.t1)
-master-bin.000001 10898 Write_rows 1 10932 table_id: # flags: STMT_END_F
-master-bin.000001 10932 Table_map 1 10971 table_id: # (test.t1)
-master-bin.000001 10971 Write_rows 1 11005 table_id: # flags: STMT_END_F
-master-bin.000001 11005 Table_map 1 11044 table_id: # (test.t1)
-master-bin.000001 11044 Write_rows 1 11078 table_id: # flags: STMT_END_F
-master-bin.000001 11078 Table_map 1 11117 table_id: # (test.t1)
-master-bin.000001 11117 Write_rows 1 11151 table_id: # flags: STMT_END_F
-master-bin.000001 11151 Table_map 1 11190 table_id: # (test.t1)
+master-bin.000001 5749 Table_map 1 5790 table_id: # (test.t1)
+master-bin.000001 5790 Write_rows 1 5824 table_id: # flags: STMT_END_F
+master-bin.000001 5824 Table_map 1 5865 table_id: # (test.t1)
+master-bin.000001 5865 Write_rows 1 5899 table_id: # flags: STMT_END_F
+master-bin.000001 5899 Table_map 1 5940 table_id: # (test.t1)
+master-bin.000001 5940 Write_rows 1 5974 table_id: # flags: STMT_END_F
+master-bin.000001 5974 Table_map 1 6015 table_id: # (test.t1)
+master-bin.000001 6015 Write_rows 1 6049 table_id: # flags: STMT_END_F
+master-bin.000001 6049 Table_map 1 6090 table_id: # (test.t1)
+master-bin.000001 6090 Write_rows 1 6124 table_id: # flags: STMT_END_F
+master-bin.000001 6124 Table_map 1 6165 table_id: # (test.t1)
+master-bin.000001 6165 Write_rows 1 6199 table_id: # flags: STMT_END_F
+master-bin.000001 6199 Table_map 1 6240 table_id: # (test.t1)
+master-bin.000001 6240 Write_rows 1 6274 table_id: # flags: STMT_END_F
+master-bin.000001 6274 Table_map 1 6315 table_id: # (test.t1)
+master-bin.000001 6315 Write_rows 1 6349 table_id: # flags: STMT_END_F
+master-bin.000001 6349 Table_map 1 6390 table_id: # (test.t1)
+master-bin.000001 6390 Write_rows 1 6424 table_id: # flags: STMT_END_F
+master-bin.000001 6424 Table_map 1 6465 table_id: # (test.t1)
+master-bin.000001 6465 Write_rows 1 6499 table_id: # flags: STMT_END_F
+master-bin.000001 6499 Table_map 1 6540 table_id: # (test.t1)
+master-bin.000001 6540 Write_rows 1 6574 table_id: # flags: STMT_END_F
+master-bin.000001 6574 Table_map 1 6615 table_id: # (test.t1)
+master-bin.000001 6615 Write_rows 1 6649 table_id: # flags: STMT_END_F
+master-bin.000001 6649 Table_map 1 6690 table_id: # (test.t1)
+master-bin.000001 6690 Write_rows 1 6724 table_id: # flags: STMT_END_F
+master-bin.000001 6724 Table_map 1 6765 table_id: # (test.t1)
+master-bin.000001 6765 Write_rows 1 6799 table_id: # flags: STMT_END_F
+master-bin.000001 6799 Table_map 1 6840 table_id: # (test.t1)
+master-bin.000001 6840 Write_rows 1 6874 table_id: # flags: STMT_END_F
+master-bin.000001 6874 Table_map 1 6915 table_id: # (test.t1)
+master-bin.000001 6915 Write_rows 1 6949 table_id: # flags: STMT_END_F
+master-bin.000001 6949 Table_map 1 6990 table_id: # (test.t1)
+master-bin.000001 6990 Write_rows 1 7024 table_id: # flags: STMT_END_F
+master-bin.000001 7024 Table_map 1 7065 table_id: # (test.t1)
+master-bin.000001 7065 Write_rows 1 7099 table_id: # flags: STMT_END_F
+master-bin.000001 7099 Table_map 1 7140 table_id: # (test.t1)
+master-bin.000001 7140 Write_rows 1 7174 table_id: # flags: STMT_END_F
+master-bin.000001 7174 Table_map 1 7215 table_id: # (test.t1)
+master-bin.000001 7215 Write_rows 1 7249 table_id: # flags: STMT_END_F
+master-bin.000001 7249 Table_map 1 7290 table_id: # (test.t1)
+master-bin.000001 7290 Write_rows 1 7324 table_id: # flags: STMT_END_F
+master-bin.000001 7324 Table_map 1 7365 table_id: # (test.t1)
+master-bin.000001 7365 Write_rows 1 7399 table_id: # flags: STMT_END_F
+master-bin.000001 7399 Table_map 1 7440 table_id: # (test.t1)
+master-bin.000001 7440 Write_rows 1 7474 table_id: # flags: STMT_END_F
+master-bin.000001 7474 Table_map 1 7515 table_id: # (test.t1)
+master-bin.000001 7515 Write_rows 1 7549 table_id: # flags: STMT_END_F
+master-bin.000001 7549 Table_map 1 7590 table_id: # (test.t1)
+master-bin.000001 7590 Write_rows 1 7624 table_id: # flags: STMT_END_F
+master-bin.000001 7624 Table_map 1 7665 table_id: # (test.t1)
+master-bin.000001 7665 Write_rows 1 7699 table_id: # flags: STMT_END_F
+master-bin.000001 7699 Table_map 1 7740 table_id: # (test.t1)
+master-bin.000001 7740 Write_rows 1 7774 table_id: # flags: STMT_END_F
+master-bin.000001 7774 Table_map 1 7815 table_id: # (test.t1)
+master-bin.000001 7815 Write_rows 1 7849 table_id: # flags: STMT_END_F
+master-bin.000001 7849 Table_map 1 7890 table_id: # (test.t1)
+master-bin.000001 7890 Write_rows 1 7924 table_id: # flags: STMT_END_F
+master-bin.000001 7924 Table_map 1 7965 table_id: # (test.t1)
+master-bin.000001 7965 Write_rows 1 7999 table_id: # flags: STMT_END_F
+master-bin.000001 7999 Table_map 1 8040 table_id: # (test.t1)
+master-bin.000001 8040 Write_rows 1 8074 table_id: # flags: STMT_END_F
+master-bin.000001 8074 Table_map 1 8115 table_id: # (test.t1)
+master-bin.000001 8115 Write_rows 1 8149 table_id: # flags: STMT_END_F
+master-bin.000001 8149 Table_map 1 8190 table_id: # (test.t1)
+master-bin.000001 8190 Write_rows 1 8224 table_id: # flags: STMT_END_F
+master-bin.000001 8224 Table_map 1 8265 table_id: # (test.t1)
+master-bin.000001 8265 Write_rows 1 8299 table_id: # flags: STMT_END_F
+master-bin.000001 8299 Table_map 1 8340 table_id: # (test.t1)
+master-bin.000001 8340 Write_rows 1 8374 table_id: # flags: STMT_END_F
+master-bin.000001 8374 Table_map 1 8415 table_id: # (test.t1)
+master-bin.000001 8415 Write_rows 1 8449 table_id: # flags: STMT_END_F
+master-bin.000001 8449 Table_map 1 8490 table_id: # (test.t1)
+master-bin.000001 8490 Write_rows 1 8524 table_id: # flags: STMT_END_F
+master-bin.000001 8524 Table_map 1 8565 table_id: # (test.t1)
+master-bin.000001 8565 Write_rows 1 8599 table_id: # flags: STMT_END_F
+master-bin.000001 8599 Table_map 1 8640 table_id: # (test.t1)
+master-bin.000001 8640 Write_rows 1 8674 table_id: # flags: STMT_END_F
+master-bin.000001 8674 Table_map 1 8715 table_id: # (test.t1)
+master-bin.000001 8715 Write_rows 1 8749 table_id: # flags: STMT_END_F
+master-bin.000001 8749 Table_map 1 8790 table_id: # (test.t1)
+master-bin.000001 8790 Write_rows 1 8824 table_id: # flags: STMT_END_F
+master-bin.000001 8824 Table_map 1 8865 table_id: # (test.t1)
+master-bin.000001 8865 Write_rows 1 8899 table_id: # flags: STMT_END_F
+master-bin.000001 8899 Table_map 1 8940 table_id: # (test.t1)
+master-bin.000001 8940 Write_rows 1 8974 table_id: # flags: STMT_END_F
+master-bin.000001 8974 Table_map 1 9015 table_id: # (test.t1)
+master-bin.000001 9015 Write_rows 1 9049 table_id: # flags: STMT_END_F
+master-bin.000001 9049 Table_map 1 9090 table_id: # (test.t1)
+master-bin.000001 9090 Write_rows 1 9124 table_id: # flags: STMT_END_F
+master-bin.000001 9124 Table_map 1 9165 table_id: # (test.t1)
+master-bin.000001 9165 Write_rows 1 9199 table_id: # flags: STMT_END_F
+master-bin.000001 9199 Table_map 1 9240 table_id: # (test.t1)
+master-bin.000001 9240 Write_rows 1 9274 table_id: # flags: STMT_END_F
+master-bin.000001 9274 Table_map 1 9315 table_id: # (test.t1)
+master-bin.000001 9315 Write_rows 1 9349 table_id: # flags: STMT_END_F
+master-bin.000001 9349 Table_map 1 9390 table_id: # (test.t1)
+master-bin.000001 9390 Write_rows 1 9424 table_id: # flags: STMT_END_F
+master-bin.000001 9424 Table_map 1 9465 table_id: # (test.t1)
+master-bin.000001 9465 Write_rows 1 9499 table_id: # flags: STMT_END_F
+master-bin.000001 9499 Table_map 1 9540 table_id: # (test.t1)
+master-bin.000001 9540 Write_rows 1 9574 table_id: # flags: STMT_END_F
+master-bin.000001 9574 Table_map 1 9615 table_id: # (test.t1)
+master-bin.000001 9615 Write_rows 1 9649 table_id: # flags: STMT_END_F
+master-bin.000001 9649 Table_map 1 9690 table_id: # (test.t1)
+master-bin.000001 9690 Write_rows 1 9724 table_id: # flags: STMT_END_F
+master-bin.000001 9724 Table_map 1 9765 table_id: # (test.t1)
+master-bin.000001 9765 Write_rows 1 9799 table_id: # flags: STMT_END_F
+master-bin.000001 9799 Table_map 1 9840 table_id: # (test.t1)
+master-bin.000001 9840 Write_rows 1 9874 table_id: # flags: STMT_END_F
+master-bin.000001 9874 Table_map 1 9915 table_id: # (test.t1)
+master-bin.000001 9915 Write_rows 1 9949 table_id: # flags: STMT_END_F
+master-bin.000001 9949 Table_map 1 9990 table_id: # (test.t1)
+master-bin.000001 9990 Write_rows 1 10024 table_id: # flags: STMT_END_F
+master-bin.000001 10024 Table_map 1 10065 table_id: # (test.t1)
+master-bin.000001 10065 Write_rows 1 10099 table_id: # flags: STMT_END_F
+master-bin.000001 10099 Table_map 1 10140 table_id: # (test.t1)
+master-bin.000001 10140 Write_rows 1 10174 table_id: # flags: STMT_END_F
+master-bin.000001 10174 Table_map 1 10215 table_id: # (test.t1)
+master-bin.000001 10215 Write_rows 1 10249 table_id: # flags: STMT_END_F
+master-bin.000001 10249 Table_map 1 10290 table_id: # (test.t1)
+master-bin.000001 10290 Write_rows 1 10324 table_id: # flags: STMT_END_F
+master-bin.000001 10324 Table_map 1 10365 table_id: # (test.t1)
+master-bin.000001 10365 Write_rows 1 10399 table_id: # flags: STMT_END_F
+master-bin.000001 10399 Table_map 1 10440 table_id: # (test.t1)
+master-bin.000001 10440 Write_rows 1 10474 table_id: # flags: STMT_END_F
+master-bin.000001 10474 Table_map 1 10515 table_id: # (test.t1)
+master-bin.000001 10515 Write_rows 1 10549 table_id: # flags: STMT_END_F
+master-bin.000001 10549 Table_map 1 10590 table_id: # (test.t1)
+master-bin.000001 10590 Write_rows 1 10624 table_id: # flags: STMT_END_F
+master-bin.000001 10624 Table_map 1 10665 table_id: # (test.t1)
+master-bin.000001 10665 Write_rows 1 10699 table_id: # flags: STMT_END_F
+master-bin.000001 10699 Table_map 1 10740 table_id: # (test.t1)
+master-bin.000001 10740 Write_rows 1 10774 table_id: # flags: STMT_END_F
+master-bin.000001 10774 Table_map 1 10815 table_id: # (test.t1)
+master-bin.000001 10815 Write_rows 1 10849 table_id: # flags: STMT_END_F
+master-bin.000001 10849 Table_map 1 10890 table_id: # (test.t1)
+master-bin.000001 10890 Write_rows 1 10924 table_id: # flags: STMT_END_F
+master-bin.000001 10924 Table_map 1 10965 table_id: # (test.t1)
+master-bin.000001 10965 Write_rows 1 10999 table_id: # flags: STMT_END_F
+master-bin.000001 10999 Table_map 1 11040 table_id: # (test.t1)
+master-bin.000001 11040 Write_rows 1 11074 table_id: # flags: STMT_END_F
+master-bin.000001 11074 Table_map 1 11115 table_id: # (test.t1)
+master-bin.000001 11115 Write_rows 1 11149 table_id: # flags: STMT_END_F
+master-bin.000001 11149 Table_map 1 11190 table_id: # (test.t1)
master-bin.000001 11190 Write_rows 1 11224 table_id: # flags: STMT_END_F
-master-bin.000001 11224 Table_map 1 11263 table_id: # (test.t1)
-master-bin.000001 11263 Write_rows 1 11297 table_id: # flags: STMT_END_F
-master-bin.000001 11297 Table_map 1 11336 table_id: # (test.t1)
-master-bin.000001 11336 Write_rows 1 11370 table_id: # flags: STMT_END_F
-master-bin.000001 11370 Table_map 1 11409 table_id: # (test.t1)
-master-bin.000001 11409 Write_rows 1 11443 table_id: # flags: STMT_END_F
-master-bin.000001 11443 Table_map 1 11482 table_id: # (test.t1)
-master-bin.000001 11482 Write_rows 1 11516 table_id: # flags: STMT_END_F
-master-bin.000001 11516 Table_map 1 11555 table_id: # (test.t1)
-master-bin.000001 11555 Write_rows 1 11589 table_id: # flags: STMT_END_F
-master-bin.000001 11589 Table_map 1 11628 table_id: # (test.t1)
-master-bin.000001 11628 Write_rows 1 11662 table_id: # flags: STMT_END_F
-master-bin.000001 11662 Table_map 1 11701 table_id: # (test.t1)
-master-bin.000001 11701 Write_rows 1 11735 table_id: # flags: STMT_END_F
-master-bin.000001 11735 Table_map 1 11774 table_id: # (test.t1)
-master-bin.000001 11774 Write_rows 1 11808 table_id: # flags: STMT_END_F
-master-bin.000001 11808 Table_map 1 11847 table_id: # (test.t1)
-master-bin.000001 11847 Write_rows 1 11881 table_id: # flags: STMT_END_F
-master-bin.000001 11881 Table_map 1 11920 table_id: # (test.t1)
-master-bin.000001 11920 Write_rows 1 11954 table_id: # flags: STMT_END_F
-master-bin.000001 11954 Table_map 1 11993 table_id: # (test.t1)
-master-bin.000001 11993 Write_rows 1 12027 table_id: # flags: STMT_END_F
-master-bin.000001 12027 Table_map 1 12066 table_id: # (test.t1)
-master-bin.000001 12066 Write_rows 1 12100 table_id: # flags: STMT_END_F
-master-bin.000001 12100 Table_map 1 12139 table_id: # (test.t1)
-master-bin.000001 12139 Write_rows 1 12173 table_id: # flags: STMT_END_F
-master-bin.000001 12173 Table_map 1 12212 table_id: # (test.t1)
-master-bin.000001 12212 Write_rows 1 12246 table_id: # flags: STMT_END_F
-master-bin.000001 12246 Table_map 1 12285 table_id: # (test.t1)
-master-bin.000001 12285 Write_rows 1 12319 table_id: # flags: STMT_END_F
-master-bin.000001 12319 Table_map 1 12358 table_id: # (test.t1)
-master-bin.000001 12358 Write_rows 1 12392 table_id: # flags: STMT_END_F
-master-bin.000001 12392 Table_map 1 12431 table_id: # (test.t1)
-master-bin.000001 12431 Write_rows 1 12465 table_id: # flags: STMT_END_F
-master-bin.000001 12465 Table_map 1 12504 table_id: # (test.t1)
-master-bin.000001 12504 Write_rows 1 12538 table_id: # flags: STMT_END_F
-master-bin.000001 12538 Table_map 1 12577 table_id: # (test.t1)
-master-bin.000001 12577 Write_rows 1 12611 table_id: # flags: STMT_END_F
-master-bin.000001 12611 Table_map 1 12650 table_id: # (test.t1)
-master-bin.000001 12650 Write_rows 1 12684 table_id: # flags: STMT_END_F
-master-bin.000001 12684 Table_map 1 12723 table_id: # (test.t1)
-master-bin.000001 12723 Write_rows 1 12757 table_id: # flags: STMT_END_F
-master-bin.000001 12757 Table_map 1 12796 table_id: # (test.t1)
-master-bin.000001 12796 Write_rows 1 12830 table_id: # flags: STMT_END_F
-master-bin.000001 12830 Table_map 1 12869 table_id: # (test.t1)
-master-bin.000001 12869 Write_rows 1 12903 table_id: # flags: STMT_END_F
-master-bin.000001 12903 Table_map 1 12942 table_id: # (test.t1)
-master-bin.000001 12942 Write_rows 1 12976 table_id: # flags: STMT_END_F
-master-bin.000001 12976 Table_map 1 13015 table_id: # (test.t1)
-master-bin.000001 13015 Write_rows 1 13049 table_id: # flags: STMT_END_F
-master-bin.000001 13049 Table_map 1 13088 table_id: # (test.t1)
-master-bin.000001 13088 Write_rows 1 13122 table_id: # flags: STMT_END_F
-master-bin.000001 13122 Table_map 1 13161 table_id: # (test.t1)
-master-bin.000001 13161 Write_rows 1 13195 table_id: # flags: STMT_END_F
-master-bin.000001 13195 Table_map 1 13234 table_id: # (test.t1)
-master-bin.000001 13234 Write_rows 1 13268 table_id: # flags: STMT_END_F
-master-bin.000001 13268 Table_map 1 13307 table_id: # (test.t1)
-master-bin.000001 13307 Write_rows 1 13341 table_id: # flags: STMT_END_F
-master-bin.000001 13341 Table_map 1 13380 table_id: # (test.t1)
-master-bin.000001 13380 Write_rows 1 13414 table_id: # flags: STMT_END_F
-master-bin.000001 13414 Table_map 1 13453 table_id: # (test.t1)
-master-bin.000001 13453 Write_rows 1 13487 table_id: # flags: STMT_END_F
-master-bin.000001 13487 Table_map 1 13526 table_id: # (test.t1)
-master-bin.000001 13526 Write_rows 1 13560 table_id: # flags: STMT_END_F
-master-bin.000001 13560 Table_map 1 13599 table_id: # (test.t1)
-master-bin.000001 13599 Write_rows 1 13633 table_id: # flags: STMT_END_F
-master-bin.000001 13633 Table_map 1 13672 table_id: # (test.t1)
-master-bin.000001 13672 Write_rows 1 13706 table_id: # flags: STMT_END_F
-master-bin.000001 13706 Table_map 1 13745 table_id: # (test.t1)
-master-bin.000001 13745 Write_rows 1 13779 table_id: # flags: STMT_END_F
-master-bin.000001 13779 Table_map 1 13818 table_id: # (test.t1)
-master-bin.000001 13818 Write_rows 1 13852 table_id: # flags: STMT_END_F
-master-bin.000001 13852 Table_map 1 13891 table_id: # (test.t1)
-master-bin.000001 13891 Write_rows 1 13925 table_id: # flags: STMT_END_F
-master-bin.000001 13925 Table_map 1 13964 table_id: # (test.t1)
-master-bin.000001 13964 Write_rows 1 13998 table_id: # flags: STMT_END_F
-master-bin.000001 13998 Table_map 1 14037 table_id: # (test.t1)
-master-bin.000001 14037 Write_rows 1 14071 table_id: # flags: STMT_END_F
-master-bin.000001 14071 Table_map 1 14110 table_id: # (test.t1)
-master-bin.000001 14110 Write_rows 1 14144 table_id: # flags: STMT_END_F
-master-bin.000001 14144 Table_map 1 14183 table_id: # (test.t1)
-master-bin.000001 14183 Write_rows 1 14217 table_id: # flags: STMT_END_F
-master-bin.000001 14217 Table_map 1 14256 table_id: # (test.t1)
-master-bin.000001 14256 Write_rows 1 14290 table_id: # flags: STMT_END_F
-master-bin.000001 14290 Table_map 1 14329 table_id: # (test.t1)
-master-bin.000001 14329 Write_rows 1 14363 table_id: # flags: STMT_END_F
-master-bin.000001 14363 Table_map 1 14402 table_id: # (test.t1)
-master-bin.000001 14402 Write_rows 1 14436 table_id: # flags: STMT_END_F
-master-bin.000001 14436 Table_map 1 14475 table_id: # (test.t1)
-master-bin.000001 14475 Write_rows 1 14509 table_id: # flags: STMT_END_F
-master-bin.000001 14509 Table_map 1 14548 table_id: # (test.t1)
-master-bin.000001 14548 Write_rows 1 14582 table_id: # flags: STMT_END_F
-master-bin.000001 14582 Table_map 1 14621 table_id: # (test.t1)
-master-bin.000001 14621 Write_rows 1 14655 table_id: # flags: STMT_END_F
-master-bin.000001 14655 Table_map 1 14694 table_id: # (test.t1)
-master-bin.000001 14694 Write_rows 1 14728 table_id: # flags: STMT_END_F
-master-bin.000001 14728 Table_map 1 14767 table_id: # (test.t1)
-master-bin.000001 14767 Write_rows 1 14801 table_id: # flags: STMT_END_F
-master-bin.000001 14801 Table_map 1 14840 table_id: # (test.t1)
-master-bin.000001 14840 Write_rows 1 14874 table_id: # flags: STMT_END_F
-master-bin.000001 14874 Table_map 1 14913 table_id: # (test.t1)
-master-bin.000001 14913 Write_rows 1 14947 table_id: # flags: STMT_END_F
-master-bin.000001 14947 Table_map 1 14986 table_id: # (test.t1)
-master-bin.000001 14986 Write_rows 1 15020 table_id: # flags: STMT_END_F
-master-bin.000001 15020 Table_map 1 15059 table_id: # (test.t1)
-master-bin.000001 15059 Write_rows 1 15093 table_id: # flags: STMT_END_F
-master-bin.000001 15093 Table_map 1 15132 table_id: # (test.t1)
-master-bin.000001 15132 Write_rows 1 15166 table_id: # flags: STMT_END_F
-master-bin.000001 15166 Table_map 1 15205 table_id: # (test.t1)
-master-bin.000001 15205 Write_rows 1 15239 table_id: # flags: STMT_END_F
-master-bin.000001 15239 Table_map 1 15278 table_id: # (test.t1)
-master-bin.000001 15278 Write_rows 1 15312 table_id: # flags: STMT_END_F
-master-bin.000001 15312 Table_map 1 15351 table_id: # (test.t1)
-master-bin.000001 15351 Write_rows 1 15385 table_id: # flags: STMT_END_F
-master-bin.000001 15385 Table_map 1 15424 table_id: # (test.t1)
-master-bin.000001 15424 Write_rows 1 15458 table_id: # flags: STMT_END_F
-master-bin.000001 15458 Table_map 1 15497 table_id: # (test.t1)
-master-bin.000001 15497 Write_rows 1 15531 table_id: # flags: STMT_END_F
-master-bin.000001 15531 Table_map 1 15570 table_id: # (test.t1)
-master-bin.000001 15570 Write_rows 1 15604 table_id: # flags: STMT_END_F
-master-bin.000001 15604 Table_map 1 15643 table_id: # (test.t1)
-master-bin.000001 15643 Write_rows 1 15677 table_id: # flags: STMT_END_F
-master-bin.000001 15677 Table_map 1 15716 table_id: # (test.t1)
-master-bin.000001 15716 Write_rows 1 15750 table_id: # flags: STMT_END_F
-master-bin.000001 15750 Table_map 1 15789 table_id: # (test.t1)
-master-bin.000001 15789 Write_rows 1 15823 table_id: # flags: STMT_END_F
-master-bin.000001 15823 Table_map 1 15862 table_id: # (test.t1)
-master-bin.000001 15862 Write_rows 1 15896 table_id: # flags: STMT_END_F
-master-bin.000001 15896 Table_map 1 15935 table_id: # (test.t1)
-master-bin.000001 15935 Write_rows 1 15969 table_id: # flags: STMT_END_F
-master-bin.000001 15969 Table_map 1 16008 table_id: # (test.t1)
-master-bin.000001 16008 Write_rows 1 16042 table_id: # flags: STMT_END_F
-master-bin.000001 16042 Table_map 1 16081 table_id: # (test.t1)
-master-bin.000001 16081 Write_rows 1 16115 table_id: # flags: STMT_END_F
-master-bin.000001 16115 Table_map 1 16154 table_id: # (test.t1)
-master-bin.000001 16154 Write_rows 1 16188 table_id: # flags: STMT_END_F
-master-bin.000001 16188 Table_map 1 16227 table_id: # (test.t1)
-master-bin.000001 16227 Write_rows 1 16261 table_id: # flags: STMT_END_F
-master-bin.000001 16261 Table_map 1 16300 table_id: # (test.t1)
-master-bin.000001 16300 Write_rows 1 16334 table_id: # flags: STMT_END_F
-master-bin.000001 16334 Table_map 1 16373 table_id: # (test.t1)
-master-bin.000001 16373 Write_rows 1 16407 table_id: # flags: STMT_END_F
-master-bin.000001 16407 Table_map 1 16446 table_id: # (test.t1)
-master-bin.000001 16446 Write_rows 1 16480 table_id: # flags: STMT_END_F
-master-bin.000001 16480 Table_map 1 16519 table_id: # (test.t1)
-master-bin.000001 16519 Write_rows 1 16553 table_id: # flags: STMT_END_F
-master-bin.000001 16553 Table_map 1 16592 table_id: # (test.t1)
-master-bin.000001 16592 Write_rows 1 16626 table_id: # flags: STMT_END_F
-master-bin.000001 16626 Table_map 1 16665 table_id: # (test.t1)
+master-bin.000001 11224 Table_map 1 11265 table_id: # (test.t1)
+master-bin.000001 11265 Write_rows 1 11299 table_id: # flags: STMT_END_F
+master-bin.000001 11299 Table_map 1 11340 table_id: # (test.t1)
+master-bin.000001 11340 Write_rows 1 11374 table_id: # flags: STMT_END_F
+master-bin.000001 11374 Table_map 1 11415 table_id: # (test.t1)
+master-bin.000001 11415 Write_rows 1 11449 table_id: # flags: STMT_END_F
+master-bin.000001 11449 Table_map 1 11490 table_id: # (test.t1)
+master-bin.000001 11490 Write_rows 1 11524 table_id: # flags: STMT_END_F
+master-bin.000001 11524 Table_map 1 11565 table_id: # (test.t1)
+master-bin.000001 11565 Write_rows 1 11599 table_id: # flags: STMT_END_F
+master-bin.000001 11599 Table_map 1 11640 table_id: # (test.t1)
+master-bin.000001 11640 Write_rows 1 11674 table_id: # flags: STMT_END_F
+master-bin.000001 11674 Table_map 1 11715 table_id: # (test.t1)
+master-bin.000001 11715 Write_rows 1 11749 table_id: # flags: STMT_END_F
+master-bin.000001 11749 Table_map 1 11790 table_id: # (test.t1)
+master-bin.000001 11790 Write_rows 1 11824 table_id: # flags: STMT_END_F
+master-bin.000001 11824 Table_map 1 11865 table_id: # (test.t1)
+master-bin.000001 11865 Write_rows 1 11899 table_id: # flags: STMT_END_F
+master-bin.000001 11899 Table_map 1 11940 table_id: # (test.t1)
+master-bin.000001 11940 Write_rows 1 11974 table_id: # flags: STMT_END_F
+master-bin.000001 11974 Table_map 1 12015 table_id: # (test.t1)
+master-bin.000001 12015 Write_rows 1 12049 table_id: # flags: STMT_END_F
+master-bin.000001 12049 Table_map 1 12090 table_id: # (test.t1)
+master-bin.000001 12090 Write_rows 1 12124 table_id: # flags: STMT_END_F
+master-bin.000001 12124 Table_map 1 12165 table_id: # (test.t1)
+master-bin.000001 12165 Write_rows 1 12199 table_id: # flags: STMT_END_F
+master-bin.000001 12199 Table_map 1 12240 table_id: # (test.t1)
+master-bin.000001 12240 Write_rows 1 12274 table_id: # flags: STMT_END_F
+master-bin.000001 12274 Table_map 1 12315 table_id: # (test.t1)
+master-bin.000001 12315 Write_rows 1 12349 table_id: # flags: STMT_END_F
+master-bin.000001 12349 Table_map 1 12390 table_id: # (test.t1)
+master-bin.000001 12390 Write_rows 1 12424 table_id: # flags: STMT_END_F
+master-bin.000001 12424 Table_map 1 12465 table_id: # (test.t1)
+master-bin.000001 12465 Write_rows 1 12499 table_id: # flags: STMT_END_F
+master-bin.000001 12499 Table_map 1 12540 table_id: # (test.t1)
+master-bin.000001 12540 Write_rows 1 12574 table_id: # flags: STMT_END_F
+master-bin.000001 12574 Table_map 1 12615 table_id: # (test.t1)
+master-bin.000001 12615 Write_rows 1 12649 table_id: # flags: STMT_END_F
+master-bin.000001 12649 Table_map 1 12690 table_id: # (test.t1)
+master-bin.000001 12690 Write_rows 1 12724 table_id: # flags: STMT_END_F
+master-bin.000001 12724 Table_map 1 12765 table_id: # (test.t1)
+master-bin.000001 12765 Write_rows 1 12799 table_id: # flags: STMT_END_F
+master-bin.000001 12799 Table_map 1 12840 table_id: # (test.t1)
+master-bin.000001 12840 Write_rows 1 12874 table_id: # flags: STMT_END_F
+master-bin.000001 12874 Table_map 1 12915 table_id: # (test.t1)
+master-bin.000001 12915 Write_rows 1 12949 table_id: # flags: STMT_END_F
+master-bin.000001 12949 Table_map 1 12990 table_id: # (test.t1)
+master-bin.000001 12990 Write_rows 1 13024 table_id: # flags: STMT_END_F
+master-bin.000001 13024 Table_map 1 13065 table_id: # (test.t1)
+master-bin.000001 13065 Write_rows 1 13099 table_id: # flags: STMT_END_F
+master-bin.000001 13099 Table_map 1 13140 table_id: # (test.t1)
+master-bin.000001 13140 Write_rows 1 13174 table_id: # flags: STMT_END_F
+master-bin.000001 13174 Table_map 1 13215 table_id: # (test.t1)
+master-bin.000001 13215 Write_rows 1 13249 table_id: # flags: STMT_END_F
+master-bin.000001 13249 Table_map 1 13290 table_id: # (test.t1)
+master-bin.000001 13290 Write_rows 1 13324 table_id: # flags: STMT_END_F
+master-bin.000001 13324 Table_map 1 13365 table_id: # (test.t1)
+master-bin.000001 13365 Write_rows 1 13399 table_id: # flags: STMT_END_F
+master-bin.000001 13399 Table_map 1 13440 table_id: # (test.t1)
+master-bin.000001 13440 Write_rows 1 13474 table_id: # flags: STMT_END_F
+master-bin.000001 13474 Table_map 1 13515 table_id: # (test.t1)
+master-bin.000001 13515 Write_rows 1 13549 table_id: # flags: STMT_END_F
+master-bin.000001 13549 Table_map 1 13590 table_id: # (test.t1)
+master-bin.000001 13590 Write_rows 1 13624 table_id: # flags: STMT_END_F
+master-bin.000001 13624 Table_map 1 13665 table_id: # (test.t1)
+master-bin.000001 13665 Write_rows 1 13699 table_id: # flags: STMT_END_F
+master-bin.000001 13699 Table_map 1 13740 table_id: # (test.t1)
+master-bin.000001 13740 Write_rows 1 13774 table_id: # flags: STMT_END_F
+master-bin.000001 13774 Table_map 1 13815 table_id: # (test.t1)
+master-bin.000001 13815 Write_rows 1 13849 table_id: # flags: STMT_END_F
+master-bin.000001 13849 Table_map 1 13890 table_id: # (test.t1)
+master-bin.000001 13890 Write_rows 1 13924 table_id: # flags: STMT_END_F
+master-bin.000001 13924 Table_map 1 13965 table_id: # (test.t1)
+master-bin.000001 13965 Write_rows 1 13999 table_id: # flags: STMT_END_F
+master-bin.000001 13999 Table_map 1 14040 table_id: # (test.t1)
+master-bin.000001 14040 Write_rows 1 14074 table_id: # flags: STMT_END_F
+master-bin.000001 14074 Table_map 1 14115 table_id: # (test.t1)
+master-bin.000001 14115 Write_rows 1 14149 table_id: # flags: STMT_END_F
+master-bin.000001 14149 Table_map 1 14190 table_id: # (test.t1)
+master-bin.000001 14190 Write_rows 1 14224 table_id: # flags: STMT_END_F
+master-bin.000001 14224 Table_map 1 14265 table_id: # (test.t1)
+master-bin.000001 14265 Write_rows 1 14299 table_id: # flags: STMT_END_F
+master-bin.000001 14299 Table_map 1 14340 table_id: # (test.t1)
+master-bin.000001 14340 Write_rows 1 14374 table_id: # flags: STMT_END_F
+master-bin.000001 14374 Table_map 1 14415 table_id: # (test.t1)
+master-bin.000001 14415 Write_rows 1 14449 table_id: # flags: STMT_END_F
+master-bin.000001 14449 Table_map 1 14490 table_id: # (test.t1)
+master-bin.000001 14490 Write_rows 1 14524 table_id: # flags: STMT_END_F
+master-bin.000001 14524 Table_map 1 14565 table_id: # (test.t1)
+master-bin.000001 14565 Write_rows 1 14599 table_id: # flags: STMT_END_F
+master-bin.000001 14599 Table_map 1 14640 table_id: # (test.t1)
+master-bin.000001 14640 Write_rows 1 14674 table_id: # flags: STMT_END_F
+master-bin.000001 14674 Table_map 1 14715 table_id: # (test.t1)
+master-bin.000001 14715 Write_rows 1 14749 table_id: # flags: STMT_END_F
+master-bin.000001 14749 Table_map 1 14790 table_id: # (test.t1)
+master-bin.000001 14790 Write_rows 1 14824 table_id: # flags: STMT_END_F
+master-bin.000001 14824 Table_map 1 14865 table_id: # (test.t1)
+master-bin.000001 14865 Write_rows 1 14899 table_id: # flags: STMT_END_F
+master-bin.000001 14899 Table_map 1 14940 table_id: # (test.t1)
+master-bin.000001 14940 Write_rows 1 14974 table_id: # flags: STMT_END_F
+master-bin.000001 14974 Table_map 1 15015 table_id: # (test.t1)
+master-bin.000001 15015 Write_rows 1 15049 table_id: # flags: STMT_END_F
+master-bin.000001 15049 Table_map 1 15090 table_id: # (test.t1)
+master-bin.000001 15090 Write_rows 1 15124 table_id: # flags: STMT_END_F
+master-bin.000001 15124 Table_map 1 15165 table_id: # (test.t1)
+master-bin.000001 15165 Write_rows 1 15199 table_id: # flags: STMT_END_F
+master-bin.000001 15199 Table_map 1 15240 table_id: # (test.t1)
+master-bin.000001 15240 Write_rows 1 15274 table_id: # flags: STMT_END_F
+master-bin.000001 15274 Table_map 1 15315 table_id: # (test.t1)
+master-bin.000001 15315 Write_rows 1 15349 table_id: # flags: STMT_END_F
+master-bin.000001 15349 Table_map 1 15390 table_id: # (test.t1)
+master-bin.000001 15390 Write_rows 1 15424 table_id: # flags: STMT_END_F
+master-bin.000001 15424 Table_map 1 15465 table_id: # (test.t1)
+master-bin.000001 15465 Write_rows 1 15499 table_id: # flags: STMT_END_F
+master-bin.000001 15499 Table_map 1 15540 table_id: # (test.t1)
+master-bin.000001 15540 Write_rows 1 15574 table_id: # flags: STMT_END_F
+master-bin.000001 15574 Table_map 1 15615 table_id: # (test.t1)
+master-bin.000001 15615 Write_rows 1 15649 table_id: # flags: STMT_END_F
+master-bin.000001 15649 Table_map 1 15690 table_id: # (test.t1)
+master-bin.000001 15690 Write_rows 1 15724 table_id: # flags: STMT_END_F
+master-bin.000001 15724 Table_map 1 15765 table_id: # (test.t1)
+master-bin.000001 15765 Write_rows 1 15799 table_id: # flags: STMT_END_F
+master-bin.000001 15799 Table_map 1 15840 table_id: # (test.t1)
+master-bin.000001 15840 Write_rows 1 15874 table_id: # flags: STMT_END_F
+master-bin.000001 15874 Table_map 1 15915 table_id: # (test.t1)
+master-bin.000001 15915 Write_rows 1 15949 table_id: # flags: STMT_END_F
+master-bin.000001 15949 Table_map 1 15990 table_id: # (test.t1)
+master-bin.000001 15990 Write_rows 1 16024 table_id: # flags: STMT_END_F
+master-bin.000001 16024 Table_map 1 16065 table_id: # (test.t1)
+master-bin.000001 16065 Write_rows 1 16099 table_id: # flags: STMT_END_F
+master-bin.000001 16099 Table_map 1 16140 table_id: # (test.t1)
+master-bin.000001 16140 Write_rows 1 16174 table_id: # flags: STMT_END_F
+master-bin.000001 16174 Table_map 1 16215 table_id: # (test.t1)
+master-bin.000001 16215 Write_rows 1 16249 table_id: # flags: STMT_END_F
+master-bin.000001 16249 Table_map 1 16290 table_id: # (test.t1)
+master-bin.000001 16290 Write_rows 1 16324 table_id: # flags: STMT_END_F
+master-bin.000001 16324 Table_map 1 16365 table_id: # (test.t1)
+master-bin.000001 16365 Write_rows 1 16399 table_id: # flags: STMT_END_F
+master-bin.000001 16399 Table_map 1 16440 table_id: # (test.t1)
+master-bin.000001 16440 Write_rows 1 16474 table_id: # flags: STMT_END_F
+master-bin.000001 16474 Table_map 1 16515 table_id: # (test.t1)
+master-bin.000001 16515 Write_rows 1 16549 table_id: # flags: STMT_END_F
+master-bin.000001 16549 Table_map 1 16590 table_id: # (test.t1)
+master-bin.000001 16590 Write_rows 1 16624 table_id: # flags: STMT_END_F
+master-bin.000001 16624 Table_map 1 16665 table_id: # (test.t1)
master-bin.000001 16665 Write_rows 1 16699 table_id: # flags: STMT_END_F
-master-bin.000001 16699 Table_map 1 16738 table_id: # (test.t1)
-master-bin.000001 16738 Write_rows 1 16772 table_id: # flags: STMT_END_F
-master-bin.000001 16772 Table_map 1 16811 table_id: # (test.t1)
-master-bin.000001 16811 Write_rows 1 16845 table_id: # flags: STMT_END_F
-master-bin.000001 16845 Table_map 1 16884 table_id: # (test.t1)
-master-bin.000001 16884 Write_rows 1 16918 table_id: # flags: STMT_END_F
-master-bin.000001 16918 Table_map 1 16957 table_id: # (test.t1)
-master-bin.000001 16957 Write_rows 1 16991 table_id: # flags: STMT_END_F
-master-bin.000001 16991 Table_map 1 17030 table_id: # (test.t1)
-master-bin.000001 17030 Write_rows 1 17064 table_id: # flags: STMT_END_F
-master-bin.000001 17064 Table_map 1 17103 table_id: # (test.t1)
-master-bin.000001 17103 Write_rows 1 17137 table_id: # flags: STMT_END_F
-master-bin.000001 17137 Table_map 1 17176 table_id: # (test.t1)
-master-bin.000001 17176 Write_rows 1 17210 table_id: # flags: STMT_END_F
-master-bin.000001 17210 Table_map 1 17249 table_id: # (test.t1)
-master-bin.000001 17249 Write_rows 1 17283 table_id: # flags: STMT_END_F
-master-bin.000001 17283 Table_map 1 17322 table_id: # (test.t1)
-master-bin.000001 17322 Write_rows 1 17356 table_id: # flags: STMT_END_F
-master-bin.000001 17356 Table_map 1 17395 table_id: # (test.t1)
-master-bin.000001 17395 Write_rows 1 17429 table_id: # flags: STMT_END_F
-master-bin.000001 17429 Table_map 1 17468 table_id: # (test.t1)
-master-bin.000001 17468 Write_rows 1 17502 table_id: # flags: STMT_END_F
-master-bin.000001 17502 Table_map 1 17541 table_id: # (test.t1)
-master-bin.000001 17541 Write_rows 1 17575 table_id: # flags: STMT_END_F
-master-bin.000001 17575 Table_map 1 17614 table_id: # (test.t1)
-master-bin.000001 17614 Write_rows 1 17648 table_id: # flags: STMT_END_F
-master-bin.000001 17648 Table_map 1 17687 table_id: # (test.t1)
-master-bin.000001 17687 Write_rows 1 17721 table_id: # flags: STMT_END_F
-master-bin.000001 17721 Table_map 1 17760 table_id: # (test.t1)
-master-bin.000001 17760 Write_rows 1 17794 table_id: # flags: STMT_END_F
-master-bin.000001 17794 Table_map 1 17833 table_id: # (test.t1)
-master-bin.000001 17833 Write_rows 1 17867 table_id: # flags: STMT_END_F
-master-bin.000001 17867 Table_map 1 17906 table_id: # (test.t1)
-master-bin.000001 17906 Write_rows 1 17940 table_id: # flags: STMT_END_F
-master-bin.000001 17940 Table_map 1 17979 table_id: # (test.t1)
-master-bin.000001 17979 Write_rows 1 18013 table_id: # flags: STMT_END_F
-master-bin.000001 18013 Table_map 1 18052 table_id: # (test.t1)
-master-bin.000001 18052 Write_rows 1 18086 table_id: # flags: STMT_END_F
-master-bin.000001 18086 Table_map 1 18125 table_id: # (test.t1)
-master-bin.000001 18125 Write_rows 1 18159 table_id: # flags: STMT_END_F
-master-bin.000001 18159 Table_map 1 18198 table_id: # (test.t1)
-master-bin.000001 18198 Write_rows 1 18232 table_id: # flags: STMT_END_F
-master-bin.000001 18232 Table_map 1 18271 table_id: # (test.t1)
-master-bin.000001 18271 Write_rows 1 18305 table_id: # flags: STMT_END_F
-master-bin.000001 18305 Table_map 1 18344 table_id: # (test.t1)
-master-bin.000001 18344 Write_rows 1 18378 table_id: # flags: STMT_END_F
-master-bin.000001 18378 Table_map 1 18417 table_id: # (test.t1)
-master-bin.000001 18417 Write_rows 1 18451 table_id: # flags: STMT_END_F
-master-bin.000001 18451 Table_map 1 18490 table_id: # (test.t1)
-master-bin.000001 18490 Write_rows 1 18524 table_id: # flags: STMT_END_F
-master-bin.000001 18524 Table_map 1 18563 table_id: # (test.t1)
-master-bin.000001 18563 Write_rows 1 18597 table_id: # flags: STMT_END_F
-master-bin.000001 18597 Table_map 1 18636 table_id: # (test.t1)
-master-bin.000001 18636 Write_rows 1 18670 table_id: # flags: STMT_END_F
-master-bin.000001 18670 Table_map 1 18709 table_id: # (test.t1)
-master-bin.000001 18709 Write_rows 1 18743 table_id: # flags: STMT_END_F
-master-bin.000001 18743 Table_map 1 18782 table_id: # (test.t1)
-master-bin.000001 18782 Write_rows 1 18816 table_id: # flags: STMT_END_F
-master-bin.000001 18816 Table_map 1 18855 table_id: # (test.t1)
-master-bin.000001 18855 Write_rows 1 18889 table_id: # flags: STMT_END_F
-master-bin.000001 18889 Table_map 1 18928 table_id: # (test.t1)
-master-bin.000001 18928 Write_rows 1 18962 table_id: # flags: STMT_END_F
-master-bin.000001 18962 Table_map 1 19001 table_id: # (test.t1)
-master-bin.000001 19001 Write_rows 1 19035 table_id: # flags: STMT_END_F
-master-bin.000001 19035 Table_map 1 19074 table_id: # (test.t1)
-master-bin.000001 19074 Write_rows 1 19108 table_id: # flags: STMT_END_F
-master-bin.000001 19108 Table_map 1 19147 table_id: # (test.t1)
-master-bin.000001 19147 Write_rows 1 19181 table_id: # flags: STMT_END_F
-master-bin.000001 19181 Table_map 1 19220 table_id: # (test.t1)
-master-bin.000001 19220 Write_rows 1 19254 table_id: # flags: STMT_END_F
-master-bin.000001 19254 Table_map 1 19293 table_id: # (test.t1)
-master-bin.000001 19293 Write_rows 1 19327 table_id: # flags: STMT_END_F
-master-bin.000001 19327 Table_map 1 19366 table_id: # (test.t1)
-master-bin.000001 19366 Write_rows 1 19400 table_id: # flags: STMT_END_F
-master-bin.000001 19400 Table_map 1 19439 table_id: # (test.t1)
-master-bin.000001 19439 Write_rows 1 19473 table_id: # flags: STMT_END_F
-master-bin.000001 19473 Table_map 1 19512 table_id: # (test.t1)
-master-bin.000001 19512 Write_rows 1 19546 table_id: # flags: STMT_END_F
-master-bin.000001 19546 Table_map 1 19585 table_id: # (test.t1)
-master-bin.000001 19585 Write_rows 1 19619 table_id: # flags: STMT_END_F
-master-bin.000001 19619 Table_map 1 19658 table_id: # (test.t1)
-master-bin.000001 19658 Write_rows 1 19692 table_id: # flags: STMT_END_F
-master-bin.000001 19692 Table_map 1 19731 table_id: # (test.t1)
-master-bin.000001 19731 Write_rows 1 19765 table_id: # flags: STMT_END_F
-master-bin.000001 19765 Table_map 1 19804 table_id: # (test.t1)
-master-bin.000001 19804 Write_rows 1 19838 table_id: # flags: STMT_END_F
-master-bin.000001 19838 Table_map 1 19877 table_id: # (test.t1)
-master-bin.000001 19877 Write_rows 1 19911 table_id: # flags: STMT_END_F
-master-bin.000001 19911 Table_map 1 19950 table_id: # (test.t1)
-master-bin.000001 19950 Write_rows 1 19984 table_id: # flags: STMT_END_F
-master-bin.000001 19984 Table_map 1 20023 table_id: # (test.t1)
-master-bin.000001 20023 Write_rows 1 20057 table_id: # flags: STMT_END_F
-master-bin.000001 20057 Table_map 1 20096 table_id: # (test.t1)
-master-bin.000001 20096 Write_rows 1 20130 table_id: # flags: STMT_END_F
-master-bin.000001 20130 Table_map 1 20169 table_id: # (test.t1)
-master-bin.000001 20169 Write_rows 1 20203 table_id: # flags: STMT_END_F
-master-bin.000001 20203 Table_map 1 20242 table_id: # (test.t1)
-master-bin.000001 20242 Write_rows 1 20276 table_id: # flags: STMT_END_F
-master-bin.000001 20276 Table_map 1 20315 table_id: # (test.t1)
-master-bin.000001 20315 Write_rows 1 20349 table_id: # flags: STMT_END_F
-master-bin.000001 20349 Table_map 1 20388 table_id: # (test.t1)
-master-bin.000001 20388 Write_rows 1 20422 table_id: # flags: STMT_END_F
-master-bin.000001 20422 Table_map 1 20461 table_id: # (test.t1)
-master-bin.000001 20461 Write_rows 1 20495 table_id: # flags: STMT_END_F
-master-bin.000001 20495 Table_map 1 20534 table_id: # (test.t1)
-master-bin.000001 20534 Write_rows 1 20568 table_id: # flags: STMT_END_F
-master-bin.000001 20568 Table_map 1 20607 table_id: # (test.t1)
-master-bin.000001 20607 Write_rows 1 20641 table_id: # flags: STMT_END_F
-master-bin.000001 20641 Table_map 1 20680 table_id: # (test.t1)
-master-bin.000001 20680 Write_rows 1 20714 table_id: # flags: STMT_END_F
-master-bin.000001 20714 Table_map 1 20753 table_id: # (test.t1)
-master-bin.000001 20753 Write_rows 1 20787 table_id: # flags: STMT_END_F
-master-bin.000001 20787 Table_map 1 20826 table_id: # (test.t1)
-master-bin.000001 20826 Write_rows 1 20860 table_id: # flags: STMT_END_F
-master-bin.000001 20860 Table_map 1 20899 table_id: # (test.t1)
-master-bin.000001 20899 Write_rows 1 20933 table_id: # flags: STMT_END_F
-master-bin.000001 20933 Table_map 1 20972 table_id: # (test.t1)
-master-bin.000001 20972 Write_rows 1 21006 table_id: # flags: STMT_END_F
-master-bin.000001 21006 Table_map 1 21045 table_id: # (test.t1)
-master-bin.000001 21045 Write_rows 1 21079 table_id: # flags: STMT_END_F
-master-bin.000001 21079 Table_map 1 21118 table_id: # (test.t1)
-master-bin.000001 21118 Write_rows 1 21152 table_id: # flags: STMT_END_F
-master-bin.000001 21152 Table_map 1 21191 table_id: # (test.t1)
-master-bin.000001 21191 Write_rows 1 21225 table_id: # flags: STMT_END_F
-master-bin.000001 21225 Table_map 1 21264 table_id: # (test.t1)
-master-bin.000001 21264 Write_rows 1 21298 table_id: # flags: STMT_END_F
-master-bin.000001 21298 Table_map 1 21337 table_id: # (test.t1)
-master-bin.000001 21337 Write_rows 1 21371 table_id: # flags: STMT_END_F
-master-bin.000001 21371 Table_map 1 21410 table_id: # (test.t1)
-master-bin.000001 21410 Write_rows 1 21444 table_id: # flags: STMT_END_F
-master-bin.000001 21444 Table_map 1 21483 table_id: # (test.t1)
-master-bin.000001 21483 Write_rows 1 21517 table_id: # flags: STMT_END_F
-master-bin.000001 21517 Table_map 1 21556 table_id: # (test.t1)
-master-bin.000001 21556 Write_rows 1 21590 table_id: # flags: STMT_END_F
-master-bin.000001 21590 Table_map 1 21629 table_id: # (test.t1)
-master-bin.000001 21629 Write_rows 1 21663 table_id: # flags: STMT_END_F
-master-bin.000001 21663 Table_map 1 21702 table_id: # (test.t1)
-master-bin.000001 21702 Write_rows 1 21736 table_id: # flags: STMT_END_F
-master-bin.000001 21736 Table_map 1 21775 table_id: # (test.t1)
-master-bin.000001 21775 Write_rows 1 21809 table_id: # flags: STMT_END_F
-master-bin.000001 21809 Table_map 1 21848 table_id: # (test.t1)
-master-bin.000001 21848 Write_rows 1 21882 table_id: # flags: STMT_END_F
-master-bin.000001 21882 Table_map 1 21921 table_id: # (test.t1)
-master-bin.000001 21921 Write_rows 1 21955 table_id: # flags: STMT_END_F
-master-bin.000001 21955 Table_map 1 21994 table_id: # (test.t1)
-master-bin.000001 21994 Write_rows 1 22028 table_id: # flags: STMT_END_F
-master-bin.000001 22028 Table_map 1 22067 table_id: # (test.t1)
-master-bin.000001 22067 Write_rows 1 22101 table_id: # flags: STMT_END_F
-master-bin.000001 22101 Table_map 1 22140 table_id: # (test.t1)
+master-bin.000001 16699 Table_map 1 16740 table_id: # (test.t1)
+master-bin.000001 16740 Write_rows 1 16774 table_id: # flags: STMT_END_F
+master-bin.000001 16774 Table_map 1 16815 table_id: # (test.t1)
+master-bin.000001 16815 Write_rows 1 16849 table_id: # flags: STMT_END_F
+master-bin.000001 16849 Table_map 1 16890 table_id: # (test.t1)
+master-bin.000001 16890 Write_rows 1 16924 table_id: # flags: STMT_END_F
+master-bin.000001 16924 Table_map 1 16965 table_id: # (test.t1)
+master-bin.000001 16965 Write_rows 1 16999 table_id: # flags: STMT_END_F
+master-bin.000001 16999 Table_map 1 17040 table_id: # (test.t1)
+master-bin.000001 17040 Write_rows 1 17074 table_id: # flags: STMT_END_F
+master-bin.000001 17074 Table_map 1 17115 table_id: # (test.t1)
+master-bin.000001 17115 Write_rows 1 17149 table_id: # flags: STMT_END_F
+master-bin.000001 17149 Table_map 1 17190 table_id: # (test.t1)
+master-bin.000001 17190 Write_rows 1 17224 table_id: # flags: STMT_END_F
+master-bin.000001 17224 Table_map 1 17265 table_id: # (test.t1)
+master-bin.000001 17265 Write_rows 1 17299 table_id: # flags: STMT_END_F
+master-bin.000001 17299 Table_map 1 17340 table_id: # (test.t1)
+master-bin.000001 17340 Write_rows 1 17374 table_id: # flags: STMT_END_F
+master-bin.000001 17374 Table_map 1 17415 table_id: # (test.t1)
+master-bin.000001 17415 Write_rows 1 17449 table_id: # flags: STMT_END_F
+master-bin.000001 17449 Table_map 1 17490 table_id: # (test.t1)
+master-bin.000001 17490 Write_rows 1 17524 table_id: # flags: STMT_END_F
+master-bin.000001 17524 Table_map 1 17565 table_id: # (test.t1)
+master-bin.000001 17565 Write_rows 1 17599 table_id: # flags: STMT_END_F
+master-bin.000001 17599 Table_map 1 17640 table_id: # (test.t1)
+master-bin.000001 17640 Write_rows 1 17674 table_id: # flags: STMT_END_F
+master-bin.000001 17674 Table_map 1 17715 table_id: # (test.t1)
+master-bin.000001 17715 Write_rows 1 17749 table_id: # flags: STMT_END_F
+master-bin.000001 17749 Table_map 1 17790 table_id: # (test.t1)
+master-bin.000001 17790 Write_rows 1 17824 table_id: # flags: STMT_END_F
+master-bin.000001 17824 Table_map 1 17865 table_id: # (test.t1)
+master-bin.000001 17865 Write_rows 1 17899 table_id: # flags: STMT_END_F
+master-bin.000001 17899 Table_map 1 17940 table_id: # (test.t1)
+master-bin.000001 17940 Write_rows 1 17974 table_id: # flags: STMT_END_F
+master-bin.000001 17974 Table_map 1 18015 table_id: # (test.t1)
+master-bin.000001 18015 Write_rows 1 18049 table_id: # flags: STMT_END_F
+master-bin.000001 18049 Table_map 1 18090 table_id: # (test.t1)
+master-bin.000001 18090 Write_rows 1 18124 table_id: # flags: STMT_END_F
+master-bin.000001 18124 Table_map 1 18165 table_id: # (test.t1)
+master-bin.000001 18165 Write_rows 1 18199 table_id: # flags: STMT_END_F
+master-bin.000001 18199 Table_map 1 18240 table_id: # (test.t1)
+master-bin.000001 18240 Write_rows 1 18274 table_id: # flags: STMT_END_F
+master-bin.000001 18274 Table_map 1 18315 table_id: # (test.t1)
+master-bin.000001 18315 Write_rows 1 18349 table_id: # flags: STMT_END_F
+master-bin.000001 18349 Table_map 1 18390 table_id: # (test.t1)
+master-bin.000001 18390 Write_rows 1 18424 table_id: # flags: STMT_END_F
+master-bin.000001 18424 Table_map 1 18465 table_id: # (test.t1)
+master-bin.000001 18465 Write_rows 1 18499 table_id: # flags: STMT_END_F
+master-bin.000001 18499 Table_map 1 18540 table_id: # (test.t1)
+master-bin.000001 18540 Write_rows 1 18574 table_id: # flags: STMT_END_F
+master-bin.000001 18574 Table_map 1 18615 table_id: # (test.t1)
+master-bin.000001 18615 Write_rows 1 18649 table_id: # flags: STMT_END_F
+master-bin.000001 18649 Table_map 1 18690 table_id: # (test.t1)
+master-bin.000001 18690 Write_rows 1 18724 table_id: # flags: STMT_END_F
+master-bin.000001 18724 Table_map 1 18765 table_id: # (test.t1)
+master-bin.000001 18765 Write_rows 1 18799 table_id: # flags: STMT_END_F
+master-bin.000001 18799 Table_map 1 18840 table_id: # (test.t1)
+master-bin.000001 18840 Write_rows 1 18874 table_id: # flags: STMT_END_F
+master-bin.000001 18874 Table_map 1 18915 table_id: # (test.t1)
+master-bin.000001 18915 Write_rows 1 18949 table_id: # flags: STMT_END_F
+master-bin.000001 18949 Table_map 1 18990 table_id: # (test.t1)
+master-bin.000001 18990 Write_rows 1 19024 table_id: # flags: STMT_END_F
+master-bin.000001 19024 Table_map 1 19065 table_id: # (test.t1)
+master-bin.000001 19065 Write_rows 1 19099 table_id: # flags: STMT_END_F
+master-bin.000001 19099 Table_map 1 19140 table_id: # (test.t1)
+master-bin.000001 19140 Write_rows 1 19174 table_id: # flags: STMT_END_F
+master-bin.000001 19174 Table_map 1 19215 table_id: # (test.t1)
+master-bin.000001 19215 Write_rows 1 19249 table_id: # flags: STMT_END_F
+master-bin.000001 19249 Table_map 1 19290 table_id: # (test.t1)
+master-bin.000001 19290 Write_rows 1 19324 table_id: # flags: STMT_END_F
+master-bin.000001 19324 Table_map 1 19365 table_id: # (test.t1)
+master-bin.000001 19365 Write_rows 1 19399 table_id: # flags: STMT_END_F
+master-bin.000001 19399 Table_map 1 19440 table_id: # (test.t1)
+master-bin.000001 19440 Write_rows 1 19474 table_id: # flags: STMT_END_F
+master-bin.000001 19474 Table_map 1 19515 table_id: # (test.t1)
+master-bin.000001 19515 Write_rows 1 19549 table_id: # flags: STMT_END_F
+master-bin.000001 19549 Table_map 1 19590 table_id: # (test.t1)
+master-bin.000001 19590 Write_rows 1 19624 table_id: # flags: STMT_END_F
+master-bin.000001 19624 Table_map 1 19665 table_id: # (test.t1)
+master-bin.000001 19665 Write_rows 1 19699 table_id: # flags: STMT_END_F
+master-bin.000001 19699 Table_map 1 19740 table_id: # (test.t1)
+master-bin.000001 19740 Write_rows 1 19774 table_id: # flags: STMT_END_F
+master-bin.000001 19774 Table_map 1 19815 table_id: # (test.t1)
+master-bin.000001 19815 Write_rows 1 19849 table_id: # flags: STMT_END_F
+master-bin.000001 19849 Table_map 1 19890 table_id: # (test.t1)
+master-bin.000001 19890 Write_rows 1 19924 table_id: # flags: STMT_END_F
+master-bin.000001 19924 Table_map 1 19965 table_id: # (test.t1)
+master-bin.000001 19965 Write_rows 1 19999 table_id: # flags: STMT_END_F
+master-bin.000001 19999 Table_map 1 20040 table_id: # (test.t1)
+master-bin.000001 20040 Write_rows 1 20074 table_id: # flags: STMT_END_F
+master-bin.000001 20074 Table_map 1 20115 table_id: # (test.t1)
+master-bin.000001 20115 Write_rows 1 20149 table_id: # flags: STMT_END_F
+master-bin.000001 20149 Table_map 1 20190 table_id: # (test.t1)
+master-bin.000001 20190 Write_rows 1 20224 table_id: # flags: STMT_END_F
+master-bin.000001 20224 Table_map 1 20265 table_id: # (test.t1)
+master-bin.000001 20265 Write_rows 1 20299 table_id: # flags: STMT_END_F
+master-bin.000001 20299 Table_map 1 20340 table_id: # (test.t1)
+master-bin.000001 20340 Write_rows 1 20374 table_id: # flags: STMT_END_F
+master-bin.000001 20374 Table_map 1 20415 table_id: # (test.t1)
+master-bin.000001 20415 Write_rows 1 20449 table_id: # flags: STMT_END_F
+master-bin.000001 20449 Table_map 1 20490 table_id: # (test.t1)
+master-bin.000001 20490 Write_rows 1 20524 table_id: # flags: STMT_END_F
+master-bin.000001 20524 Table_map 1 20565 table_id: # (test.t1)
+master-bin.000001 20565 Write_rows 1 20599 table_id: # flags: STMT_END_F
+master-bin.000001 20599 Table_map 1 20640 table_id: # (test.t1)
+master-bin.000001 20640 Write_rows 1 20674 table_id: # flags: STMT_END_F
+master-bin.000001 20674 Table_map 1 20715 table_id: # (test.t1)
+master-bin.000001 20715 Write_rows 1 20749 table_id: # flags: STMT_END_F
+master-bin.000001 20749 Table_map 1 20790 table_id: # (test.t1)
+master-bin.000001 20790 Write_rows 1 20824 table_id: # flags: STMT_END_F
+master-bin.000001 20824 Table_map 1 20865 table_id: # (test.t1)
+master-bin.000001 20865 Write_rows 1 20899 table_id: # flags: STMT_END_F
+master-bin.000001 20899 Table_map 1 20940 table_id: # (test.t1)
+master-bin.000001 20940 Write_rows 1 20974 table_id: # flags: STMT_END_F
+master-bin.000001 20974 Table_map 1 21015 table_id: # (test.t1)
+master-bin.000001 21015 Write_rows 1 21049 table_id: # flags: STMT_END_F
+master-bin.000001 21049 Table_map 1 21090 table_id: # (test.t1)
+master-bin.000001 21090 Write_rows 1 21124 table_id: # flags: STMT_END_F
+master-bin.000001 21124 Table_map 1 21165 table_id: # (test.t1)
+master-bin.000001 21165 Write_rows 1 21199 table_id: # flags: STMT_END_F
+master-bin.000001 21199 Table_map 1 21240 table_id: # (test.t1)
+master-bin.000001 21240 Write_rows 1 21274 table_id: # flags: STMT_END_F
+master-bin.000001 21274 Table_map 1 21315 table_id: # (test.t1)
+master-bin.000001 21315 Write_rows 1 21349 table_id: # flags: STMT_END_F
+master-bin.000001 21349 Table_map 1 21390 table_id: # (test.t1)
+master-bin.000001 21390 Write_rows 1 21424 table_id: # flags: STMT_END_F
+master-bin.000001 21424 Table_map 1 21465 table_id: # (test.t1)
+master-bin.000001 21465 Write_rows 1 21499 table_id: # flags: STMT_END_F
+master-bin.000001 21499 Table_map 1 21540 table_id: # (test.t1)
+master-bin.000001 21540 Write_rows 1 21574 table_id: # flags: STMT_END_F
+master-bin.000001 21574 Table_map 1 21615 table_id: # (test.t1)
+master-bin.000001 21615 Write_rows 1 21649 table_id: # flags: STMT_END_F
+master-bin.000001 21649 Table_map 1 21690 table_id: # (test.t1)
+master-bin.000001 21690 Write_rows 1 21724 table_id: # flags: STMT_END_F
+master-bin.000001 21724 Table_map 1 21765 table_id: # (test.t1)
+master-bin.000001 21765 Write_rows 1 21799 table_id: # flags: STMT_END_F
+master-bin.000001 21799 Table_map 1 21840 table_id: # (test.t1)
+master-bin.000001 21840 Write_rows 1 21874 table_id: # flags: STMT_END_F
+master-bin.000001 21874 Table_map 1 21915 table_id: # (test.t1)
+master-bin.000001 21915 Write_rows 1 21949 table_id: # flags: STMT_END_F
+master-bin.000001 21949 Table_map 1 21990 table_id: # (test.t1)
+master-bin.000001 21990 Write_rows 1 22024 table_id: # flags: STMT_END_F
+master-bin.000001 22024 Table_map 1 22065 table_id: # (test.t1)
+master-bin.000001 22065 Write_rows 1 22099 table_id: # flags: STMT_END_F
+master-bin.000001 22099 Table_map 1 22140 table_id: # (test.t1)
master-bin.000001 22140 Write_rows 1 22174 table_id: # flags: STMT_END_F
-master-bin.000001 22174 Table_map 1 22213 table_id: # (test.t1)
-master-bin.000001 22213 Write_rows 1 22247 table_id: # flags: STMT_END_F
-master-bin.000001 22247 Table_map 1 22286 table_id: # (test.t1)
-master-bin.000001 22286 Write_rows 1 22320 table_id: # flags: STMT_END_F
-master-bin.000001 22320 Table_map 1 22359 table_id: # (test.t1)
-master-bin.000001 22359 Write_rows 1 22393 table_id: # flags: STMT_END_F
-master-bin.000001 22393 Table_map 1 22432 table_id: # (test.t1)
-master-bin.000001 22432 Write_rows 1 22466 table_id: # flags: STMT_END_F
-master-bin.000001 22466 Table_map 1 22505 table_id: # (test.t1)
-master-bin.000001 22505 Write_rows 1 22539 table_id: # flags: STMT_END_F
-master-bin.000001 22539 Table_map 1 22578 table_id: # (test.t1)
-master-bin.000001 22578 Write_rows 1 22612 table_id: # flags: STMT_END_F
-master-bin.000001 22612 Table_map 1 22651 table_id: # (test.t1)
-master-bin.000001 22651 Write_rows 1 22685 table_id: # flags: STMT_END_F
-master-bin.000001 22685 Table_map 1 22724 table_id: # (test.t1)
-master-bin.000001 22724 Write_rows 1 22758 table_id: # flags: STMT_END_F
-master-bin.000001 22758 Table_map 1 22797 table_id: # (test.t1)
-master-bin.000001 22797 Write_rows 1 22831 table_id: # flags: STMT_END_F
-master-bin.000001 22831 Table_map 1 22870 table_id: # (test.t1)
-master-bin.000001 22870 Write_rows 1 22904 table_id: # flags: STMT_END_F
-master-bin.000001 22904 Table_map 1 22943 table_id: # (test.t1)
-master-bin.000001 22943 Write_rows 1 22977 table_id: # flags: STMT_END_F
-master-bin.000001 22977 Table_map 1 23016 table_id: # (test.t1)
-master-bin.000001 23016 Write_rows 1 23050 table_id: # flags: STMT_END_F
-master-bin.000001 23050 Table_map 1 23089 table_id: # (test.t1)
-master-bin.000001 23089 Write_rows 1 23123 table_id: # flags: STMT_END_F
-master-bin.000001 23123 Table_map 1 23162 table_id: # (test.t1)
-master-bin.000001 23162 Write_rows 1 23196 table_id: # flags: STMT_END_F
-master-bin.000001 23196 Table_map 1 23235 table_id: # (test.t1)
-master-bin.000001 23235 Write_rows 1 23269 table_id: # flags: STMT_END_F
-master-bin.000001 23269 Table_map 1 23308 table_id: # (test.t1)
-master-bin.000001 23308 Write_rows 1 23342 table_id: # flags: STMT_END_F
-master-bin.000001 23342 Table_map 1 23381 table_id: # (test.t1)
-master-bin.000001 23381 Write_rows 1 23415 table_id: # flags: STMT_END_F
-master-bin.000001 23415 Table_map 1 23454 table_id: # (test.t1)
-master-bin.000001 23454 Write_rows 1 23488 table_id: # flags: STMT_END_F
-master-bin.000001 23488 Table_map 1 23527 table_id: # (test.t1)
-master-bin.000001 23527 Write_rows 1 23561 table_id: # flags: STMT_END_F
-master-bin.000001 23561 Table_map 1 23600 table_id: # (test.t1)
-master-bin.000001 23600 Write_rows 1 23634 table_id: # flags: STMT_END_F
-master-bin.000001 23634 Table_map 1 23673 table_id: # (test.t1)
-master-bin.000001 23673 Write_rows 1 23707 table_id: # flags: STMT_END_F
-master-bin.000001 23707 Table_map 1 23746 table_id: # (test.t1)
-master-bin.000001 23746 Write_rows 1 23780 table_id: # flags: STMT_END_F
-master-bin.000001 23780 Table_map 1 23819 table_id: # (test.t1)
-master-bin.000001 23819 Write_rows 1 23853 table_id: # flags: STMT_END_F
-master-bin.000001 23853 Table_map 1 23892 table_id: # (test.t1)
-master-bin.000001 23892 Write_rows 1 23926 table_id: # flags: STMT_END_F
-master-bin.000001 23926 Table_map 1 23965 table_id: # (test.t1)
-master-bin.000001 23965 Write_rows 1 23999 table_id: # flags: STMT_END_F
-master-bin.000001 23999 Table_map 1 24038 table_id: # (test.t1)
-master-bin.000001 24038 Write_rows 1 24072 table_id: # flags: STMT_END_F
-master-bin.000001 24072 Table_map 1 24111 table_id: # (test.t1)
-master-bin.000001 24111 Write_rows 1 24145 table_id: # flags: STMT_END_F
-master-bin.000001 24145 Table_map 1 24184 table_id: # (test.t1)
-master-bin.000001 24184 Write_rows 1 24218 table_id: # flags: STMT_END_F
-master-bin.000001 24218 Table_map 1 24257 table_id: # (test.t1)
-master-bin.000001 24257 Write_rows 1 24291 table_id: # flags: STMT_END_F
-master-bin.000001 24291 Table_map 1 24330 table_id: # (test.t1)
-master-bin.000001 24330 Write_rows 1 24364 table_id: # flags: STMT_END_F
-master-bin.000001 24364 Table_map 1 24403 table_id: # (test.t1)
-master-bin.000001 24403 Write_rows 1 24437 table_id: # flags: STMT_END_F
-master-bin.000001 24437 Table_map 1 24476 table_id: # (test.t1)
-master-bin.000001 24476 Write_rows 1 24510 table_id: # flags: STMT_END_F
-master-bin.000001 24510 Table_map 1 24549 table_id: # (test.t1)
-master-bin.000001 24549 Write_rows 1 24583 table_id: # flags: STMT_END_F
-master-bin.000001 24583 Table_map 1 24622 table_id: # (test.t1)
-master-bin.000001 24622 Write_rows 1 24656 table_id: # flags: STMT_END_F
-master-bin.000001 24656 Table_map 1 24695 table_id: # (test.t1)
-master-bin.000001 24695 Write_rows 1 24729 table_id: # flags: STMT_END_F
-master-bin.000001 24729 Table_map 1 24768 table_id: # (test.t1)
-master-bin.000001 24768 Write_rows 1 24802 table_id: # flags: STMT_END_F
-master-bin.000001 24802 Table_map 1 24841 table_id: # (test.t1)
-master-bin.000001 24841 Write_rows 1 24875 table_id: # flags: STMT_END_F
-master-bin.000001 24875 Table_map 1 24914 table_id: # (test.t1)
-master-bin.000001 24914 Write_rows 1 24948 table_id: # flags: STMT_END_F
-master-bin.000001 24948 Table_map 1 24987 table_id: # (test.t1)
-master-bin.000001 24987 Write_rows 1 25021 table_id: # flags: STMT_END_F
-master-bin.000001 25021 Table_map 1 25060 table_id: # (test.t1)
-master-bin.000001 25060 Write_rows 1 25094 table_id: # flags: STMT_END_F
-master-bin.000001 25094 Table_map 1 25133 table_id: # (test.t1)
-master-bin.000001 25133 Write_rows 1 25167 table_id: # flags: STMT_END_F
-master-bin.000001 25167 Table_map 1 25206 table_id: # (test.t1)
-master-bin.000001 25206 Write_rows 1 25240 table_id: # flags: STMT_END_F
-master-bin.000001 25240 Table_map 1 25279 table_id: # (test.t1)
-master-bin.000001 25279 Write_rows 1 25313 table_id: # flags: STMT_END_F
-master-bin.000001 25313 Table_map 1 25352 table_id: # (test.t1)
-master-bin.000001 25352 Write_rows 1 25386 table_id: # flags: STMT_END_F
-master-bin.000001 25386 Table_map 1 25425 table_id: # (test.t1)
-master-bin.000001 25425 Write_rows 1 25459 table_id: # flags: STMT_END_F
-master-bin.000001 25459 Table_map 1 25498 table_id: # (test.t1)
-master-bin.000001 25498 Write_rows 1 25532 table_id: # flags: STMT_END_F
-master-bin.000001 25532 Table_map 1 25571 table_id: # (test.t1)
-master-bin.000001 25571 Write_rows 1 25605 table_id: # flags: STMT_END_F
-master-bin.000001 25605 Table_map 1 25644 table_id: # (test.t1)
-master-bin.000001 25644 Write_rows 1 25678 table_id: # flags: STMT_END_F
-master-bin.000001 25678 Table_map 1 25717 table_id: # (test.t1)
-master-bin.000001 25717 Write_rows 1 25751 table_id: # flags: STMT_END_F
-master-bin.000001 25751 Table_map 1 25790 table_id: # (test.t1)
-master-bin.000001 25790 Write_rows 1 25824 table_id: # flags: STMT_END_F
-master-bin.000001 25824 Table_map 1 25863 table_id: # (test.t1)
-master-bin.000001 25863 Write_rows 1 25897 table_id: # flags: STMT_END_F
-master-bin.000001 25897 Table_map 1 25936 table_id: # (test.t1)
-master-bin.000001 25936 Write_rows 1 25970 table_id: # flags: STMT_END_F
-master-bin.000001 25970 Table_map 1 26009 table_id: # (test.t1)
-master-bin.000001 26009 Write_rows 1 26043 table_id: # flags: STMT_END_F
-master-bin.000001 26043 Table_map 1 26082 table_id: # (test.t1)
-master-bin.000001 26082 Write_rows 1 26116 table_id: # flags: STMT_END_F
-master-bin.000001 26116 Table_map 1 26155 table_id: # (test.t1)
-master-bin.000001 26155 Write_rows 1 26189 table_id: # flags: STMT_END_F
-master-bin.000001 26189 Table_map 1 26228 table_id: # (test.t1)
-master-bin.000001 26228 Write_rows 1 26262 table_id: # flags: STMT_END_F
-master-bin.000001 26262 Table_map 1 26301 table_id: # (test.t1)
-master-bin.000001 26301 Write_rows 1 26335 table_id: # flags: STMT_END_F
-master-bin.000001 26335 Table_map 1 26374 table_id: # (test.t1)
-master-bin.000001 26374 Write_rows 1 26408 table_id: # flags: STMT_END_F
-master-bin.000001 26408 Table_map 1 26447 table_id: # (test.t1)
-master-bin.000001 26447 Write_rows 1 26481 table_id: # flags: STMT_END_F
-master-bin.000001 26481 Table_map 1 26520 table_id: # (test.t1)
-master-bin.000001 26520 Write_rows 1 26554 table_id: # flags: STMT_END_F
-master-bin.000001 26554 Table_map 1 26593 table_id: # (test.t1)
-master-bin.000001 26593 Write_rows 1 26627 table_id: # flags: STMT_END_F
-master-bin.000001 26627 Table_map 1 26666 table_id: # (test.t1)
-master-bin.000001 26666 Write_rows 1 26700 table_id: # flags: STMT_END_F
-master-bin.000001 26700 Table_map 1 26739 table_id: # (test.t1)
-master-bin.000001 26739 Write_rows 1 26773 table_id: # flags: STMT_END_F
-master-bin.000001 26773 Table_map 1 26812 table_id: # (test.t1)
-master-bin.000001 26812 Write_rows 1 26846 table_id: # flags: STMT_END_F
-master-bin.000001 26846 Table_map 1 26885 table_id: # (test.t1)
-master-bin.000001 26885 Write_rows 1 26919 table_id: # flags: STMT_END_F
-master-bin.000001 26919 Table_map 1 26958 table_id: # (test.t1)
-master-bin.000001 26958 Write_rows 1 26992 table_id: # flags: STMT_END_F
-master-bin.000001 26992 Table_map 1 27031 table_id: # (test.t1)
-master-bin.000001 27031 Write_rows 1 27065 table_id: # flags: STMT_END_F
-master-bin.000001 27065 Table_map 1 27104 table_id: # (test.t1)
-master-bin.000001 27104 Write_rows 1 27138 table_id: # flags: STMT_END_F
-master-bin.000001 27138 Table_map 1 27177 table_id: # (test.t1)
-master-bin.000001 27177 Write_rows 1 27211 table_id: # flags: STMT_END_F
-master-bin.000001 27211 Table_map 1 27250 table_id: # (test.t1)
-master-bin.000001 27250 Write_rows 1 27284 table_id: # flags: STMT_END_F
-master-bin.000001 27284 Table_map 1 27323 table_id: # (test.t1)
-master-bin.000001 27323 Write_rows 1 27357 table_id: # flags: STMT_END_F
-master-bin.000001 27357 Table_map 1 27396 table_id: # (test.t1)
-master-bin.000001 27396 Write_rows 1 27430 table_id: # flags: STMT_END_F
-master-bin.000001 27430 Table_map 1 27469 table_id: # (test.t1)
-master-bin.000001 27469 Write_rows 1 27503 table_id: # flags: STMT_END_F
-master-bin.000001 27503 Table_map 1 27542 table_id: # (test.t1)
-master-bin.000001 27542 Write_rows 1 27576 table_id: # flags: STMT_END_F
-master-bin.000001 27576 Table_map 1 27615 table_id: # (test.t1)
+master-bin.000001 22174 Table_map 1 22215 table_id: # (test.t1)
+master-bin.000001 22215 Write_rows 1 22249 table_id: # flags: STMT_END_F
+master-bin.000001 22249 Table_map 1 22290 table_id: # (test.t1)
+master-bin.000001 22290 Write_rows 1 22324 table_id: # flags: STMT_END_F
+master-bin.000001 22324 Table_map 1 22365 table_id: # (test.t1)
+master-bin.000001 22365 Write_rows 1 22399 table_id: # flags: STMT_END_F
+master-bin.000001 22399 Table_map 1 22440 table_id: # (test.t1)
+master-bin.000001 22440 Write_rows 1 22474 table_id: # flags: STMT_END_F
+master-bin.000001 22474 Table_map 1 22515 table_id: # (test.t1)
+master-bin.000001 22515 Write_rows 1 22549 table_id: # flags: STMT_END_F
+master-bin.000001 22549 Table_map 1 22590 table_id: # (test.t1)
+master-bin.000001 22590 Write_rows 1 22624 table_id: # flags: STMT_END_F
+master-bin.000001 22624 Table_map 1 22665 table_id: # (test.t1)
+master-bin.000001 22665 Write_rows 1 22699 table_id: # flags: STMT_END_F
+master-bin.000001 22699 Table_map 1 22740 table_id: # (test.t1)
+master-bin.000001 22740 Write_rows 1 22774 table_id: # flags: STMT_END_F
+master-bin.000001 22774 Table_map 1 22815 table_id: # (test.t1)
+master-bin.000001 22815 Write_rows 1 22849 table_id: # flags: STMT_END_F
+master-bin.000001 22849 Table_map 1 22890 table_id: # (test.t1)
+master-bin.000001 22890 Write_rows 1 22924 table_id: # flags: STMT_END_F
+master-bin.000001 22924 Table_map 1 22965 table_id: # (test.t1)
+master-bin.000001 22965 Write_rows 1 22999 table_id: # flags: STMT_END_F
+master-bin.000001 22999 Table_map 1 23040 table_id: # (test.t1)
+master-bin.000001 23040 Write_rows 1 23074 table_id: # flags: STMT_END_F
+master-bin.000001 23074 Table_map 1 23115 table_id: # (test.t1)
+master-bin.000001 23115 Write_rows 1 23149 table_id: # flags: STMT_END_F
+master-bin.000001 23149 Table_map 1 23190 table_id: # (test.t1)
+master-bin.000001 23190 Write_rows 1 23224 table_id: # flags: STMT_END_F
+master-bin.000001 23224 Table_map 1 23265 table_id: # (test.t1)
+master-bin.000001 23265 Write_rows 1 23299 table_id: # flags: STMT_END_F
+master-bin.000001 23299 Table_map 1 23340 table_id: # (test.t1)
+master-bin.000001 23340 Write_rows 1 23374 table_id: # flags: STMT_END_F
+master-bin.000001 23374 Table_map 1 23415 table_id: # (test.t1)
+master-bin.000001 23415 Write_rows 1 23449 table_id: # flags: STMT_END_F
+master-bin.000001 23449 Table_map 1 23490 table_id: # (test.t1)
+master-bin.000001 23490 Write_rows 1 23524 table_id: # flags: STMT_END_F
+master-bin.000001 23524 Table_map 1 23565 table_id: # (test.t1)
+master-bin.000001 23565 Write_rows 1 23599 table_id: # flags: STMT_END_F
+master-bin.000001 23599 Table_map 1 23640 table_id: # (test.t1)
+master-bin.000001 23640 Write_rows 1 23674 table_id: # flags: STMT_END_F
+master-bin.000001 23674 Table_map 1 23715 table_id: # (test.t1)
+master-bin.000001 23715 Write_rows 1 23749 table_id: # flags: STMT_END_F
+master-bin.000001 23749 Table_map 1 23790 table_id: # (test.t1)
+master-bin.000001 23790 Write_rows 1 23824 table_id: # flags: STMT_END_F
+master-bin.000001 23824 Table_map 1 23865 table_id: # (test.t1)
+master-bin.000001 23865 Write_rows 1 23899 table_id: # flags: STMT_END_F
+master-bin.000001 23899 Table_map 1 23940 table_id: # (test.t1)
+master-bin.000001 23940 Write_rows 1 23974 table_id: # flags: STMT_END_F
+master-bin.000001 23974 Table_map 1 24015 table_id: # (test.t1)
+master-bin.000001 24015 Write_rows 1 24049 table_id: # flags: STMT_END_F
+master-bin.000001 24049 Table_map 1 24090 table_id: # (test.t1)
+master-bin.000001 24090 Write_rows 1 24124 table_id: # flags: STMT_END_F
+master-bin.000001 24124 Table_map 1 24165 table_id: # (test.t1)
+master-bin.000001 24165 Write_rows 1 24199 table_id: # flags: STMT_END_F
+master-bin.000001 24199 Table_map 1 24240 table_id: # (test.t1)
+master-bin.000001 24240 Write_rows 1 24274 table_id: # flags: STMT_END_F
+master-bin.000001 24274 Table_map 1 24315 table_id: # (test.t1)
+master-bin.000001 24315 Write_rows 1 24349 table_id: # flags: STMT_END_F
+master-bin.000001 24349 Table_map 1 24390 table_id: # (test.t1)
+master-bin.000001 24390 Write_rows 1 24424 table_id: # flags: STMT_END_F
+master-bin.000001 24424 Table_map 1 24465 table_id: # (test.t1)
+master-bin.000001 24465 Write_rows 1 24499 table_id: # flags: STMT_END_F
+master-bin.000001 24499 Table_map 1 24540 table_id: # (test.t1)
+master-bin.000001 24540 Write_rows 1 24574 table_id: # flags: STMT_END_F
+master-bin.000001 24574 Table_map 1 24615 table_id: # (test.t1)
+master-bin.000001 24615 Write_rows 1 24649 table_id: # flags: STMT_END_F
+master-bin.000001 24649 Table_map 1 24690 table_id: # (test.t1)
+master-bin.000001 24690 Write_rows 1 24724 table_id: # flags: STMT_END_F
+master-bin.000001 24724 Table_map 1 24765 table_id: # (test.t1)
+master-bin.000001 24765 Write_rows 1 24799 table_id: # flags: STMT_END_F
+master-bin.000001 24799 Table_map 1 24840 table_id: # (test.t1)
+master-bin.000001 24840 Write_rows 1 24874 table_id: # flags: STMT_END_F
+master-bin.000001 24874 Table_map 1 24915 table_id: # (test.t1)
+master-bin.000001 24915 Write_rows 1 24949 table_id: # flags: STMT_END_F
+master-bin.000001 24949 Table_map 1 24990 table_id: # (test.t1)
+master-bin.000001 24990 Write_rows 1 25024 table_id: # flags: STMT_END_F
+master-bin.000001 25024 Table_map 1 25065 table_id: # (test.t1)
+master-bin.000001 25065 Write_rows 1 25099 table_id: # flags: STMT_END_F
+master-bin.000001 25099 Table_map 1 25140 table_id: # (test.t1)
+master-bin.000001 25140 Write_rows 1 25174 table_id: # flags: STMT_END_F
+master-bin.000001 25174 Table_map 1 25215 table_id: # (test.t1)
+master-bin.000001 25215 Write_rows 1 25249 table_id: # flags: STMT_END_F
+master-bin.000001 25249 Table_map 1 25290 table_id: # (test.t1)
+master-bin.000001 25290 Write_rows 1 25324 table_id: # flags: STMT_END_F
+master-bin.000001 25324 Table_map 1 25365 table_id: # (test.t1)
+master-bin.000001 25365 Write_rows 1 25399 table_id: # flags: STMT_END_F
+master-bin.000001 25399 Table_map 1 25440 table_id: # (test.t1)
+master-bin.000001 25440 Write_rows 1 25474 table_id: # flags: STMT_END_F
+master-bin.000001 25474 Table_map 1 25515 table_id: # (test.t1)
+master-bin.000001 25515 Write_rows 1 25549 table_id: # flags: STMT_END_F
+master-bin.000001 25549 Table_map 1 25590 table_id: # (test.t1)
+master-bin.000001 25590 Write_rows 1 25624 table_id: # flags: STMT_END_F
+master-bin.000001 25624 Table_map 1 25665 table_id: # (test.t1)
+master-bin.000001 25665 Write_rows 1 25699 table_id: # flags: STMT_END_F
+master-bin.000001 25699 Table_map 1 25740 table_id: # (test.t1)
+master-bin.000001 25740 Write_rows 1 25774 table_id: # flags: STMT_END_F
+master-bin.000001 25774 Table_map 1 25815 table_id: # (test.t1)
+master-bin.000001 25815 Write_rows 1 25849 table_id: # flags: STMT_END_F
+master-bin.000001 25849 Table_map 1 25890 table_id: # (test.t1)
+master-bin.000001 25890 Write_rows 1 25924 table_id: # flags: STMT_END_F
+master-bin.000001 25924 Table_map 1 25965 table_id: # (test.t1)
+master-bin.000001 25965 Write_rows 1 25999 table_id: # flags: STMT_END_F
+master-bin.000001 25999 Table_map 1 26040 table_id: # (test.t1)
+master-bin.000001 26040 Write_rows 1 26074 table_id: # flags: STMT_END_F
+master-bin.000001 26074 Table_map 1 26115 table_id: # (test.t1)
+master-bin.000001 26115 Write_rows 1 26149 table_id: # flags: STMT_END_F
+master-bin.000001 26149 Table_map 1 26190 table_id: # (test.t1)
+master-bin.000001 26190 Write_rows 1 26224 table_id: # flags: STMT_END_F
+master-bin.000001 26224 Table_map 1 26265 table_id: # (test.t1)
+master-bin.000001 26265 Write_rows 1 26299 table_id: # flags: STMT_END_F
+master-bin.000001 26299 Table_map 1 26340 table_id: # (test.t1)
+master-bin.000001 26340 Write_rows 1 26374 table_id: # flags: STMT_END_F
+master-bin.000001 26374 Table_map 1 26415 table_id: # (test.t1)
+master-bin.000001 26415 Write_rows 1 26449 table_id: # flags: STMT_END_F
+master-bin.000001 26449 Table_map 1 26490 table_id: # (test.t1)
+master-bin.000001 26490 Write_rows 1 26524 table_id: # flags: STMT_END_F
+master-bin.000001 26524 Table_map 1 26565 table_id: # (test.t1)
+master-bin.000001 26565 Write_rows 1 26599 table_id: # flags: STMT_END_F
+master-bin.000001 26599 Table_map 1 26640 table_id: # (test.t1)
+master-bin.000001 26640 Write_rows 1 26674 table_id: # flags: STMT_END_F
+master-bin.000001 26674 Table_map 1 26715 table_id: # (test.t1)
+master-bin.000001 26715 Write_rows 1 26749 table_id: # flags: STMT_END_F
+master-bin.000001 26749 Table_map 1 26790 table_id: # (test.t1)
+master-bin.000001 26790 Write_rows 1 26824 table_id: # flags: STMT_END_F
+master-bin.000001 26824 Table_map 1 26865 table_id: # (test.t1)
+master-bin.000001 26865 Write_rows 1 26899 table_id: # flags: STMT_END_F
+master-bin.000001 26899 Table_map 1 26940 table_id: # (test.t1)
+master-bin.000001 26940 Write_rows 1 26974 table_id: # flags: STMT_END_F
+master-bin.000001 26974 Table_map 1 27015 table_id: # (test.t1)
+master-bin.000001 27015 Write_rows 1 27049 table_id: # flags: STMT_END_F
+master-bin.000001 27049 Table_map 1 27090 table_id: # (test.t1)
+master-bin.000001 27090 Write_rows 1 27124 table_id: # flags: STMT_END_F
+master-bin.000001 27124 Table_map 1 27165 table_id: # (test.t1)
+master-bin.000001 27165 Write_rows 1 27199 table_id: # flags: STMT_END_F
+master-bin.000001 27199 Table_map 1 27240 table_id: # (test.t1)
+master-bin.000001 27240 Write_rows 1 27274 table_id: # flags: STMT_END_F
+master-bin.000001 27274 Table_map 1 27315 table_id: # (test.t1)
+master-bin.000001 27315 Write_rows 1 27349 table_id: # flags: STMT_END_F
+master-bin.000001 27349 Table_map 1 27390 table_id: # (test.t1)
+master-bin.000001 27390 Write_rows 1 27424 table_id: # flags: STMT_END_F
+master-bin.000001 27424 Table_map 1 27465 table_id: # (test.t1)
+master-bin.000001 27465 Write_rows 1 27499 table_id: # flags: STMT_END_F
+master-bin.000001 27499 Table_map 1 27540 table_id: # (test.t1)
+master-bin.000001 27540 Write_rows 1 27574 table_id: # flags: STMT_END_F
+master-bin.000001 27574 Table_map 1 27615 table_id: # (test.t1)
master-bin.000001 27615 Write_rows 1 27649 table_id: # flags: STMT_END_F
-master-bin.000001 27649 Table_map 1 27688 table_id: # (test.t1)
-master-bin.000001 27688 Write_rows 1 27722 table_id: # flags: STMT_END_F
-master-bin.000001 27722 Table_map 1 27761 table_id: # (test.t1)
-master-bin.000001 27761 Write_rows 1 27795 table_id: # flags: STMT_END_F
-master-bin.000001 27795 Table_map 1 27834 table_id: # (test.t1)
-master-bin.000001 27834 Write_rows 1 27868 table_id: # flags: STMT_END_F
-master-bin.000001 27868 Table_map 1 27907 table_id: # (test.t1)
-master-bin.000001 27907 Write_rows 1 27941 table_id: # flags: STMT_END_F
-master-bin.000001 27941 Table_map 1 27980 table_id: # (test.t1)
-master-bin.000001 27980 Write_rows 1 28014 table_id: # flags: STMT_END_F
-master-bin.000001 28014 Table_map 1 28053 table_id: # (test.t1)
-master-bin.000001 28053 Write_rows 1 28087 table_id: # flags: STMT_END_F
-master-bin.000001 28087 Table_map 1 28126 table_id: # (test.t1)
-master-bin.000001 28126 Write_rows 1 28160 table_id: # flags: STMT_END_F
-master-bin.000001 28160 Table_map 1 28199 table_id: # (test.t1)
-master-bin.000001 28199 Write_rows 1 28233 table_id: # flags: STMT_END_F
-master-bin.000001 28233 Table_map 1 28272 table_id: # (test.t1)
-master-bin.000001 28272 Write_rows 1 28306 table_id: # flags: STMT_END_F
-master-bin.000001 28306 Table_map 1 28345 table_id: # (test.t1)
-master-bin.000001 28345 Write_rows 1 28379 table_id: # flags: STMT_END_F
-master-bin.000001 28379 Table_map 1 28418 table_id: # (test.t1)
-master-bin.000001 28418 Write_rows 1 28452 table_id: # flags: STMT_END_F
-master-bin.000001 28452 Table_map 1 28491 table_id: # (test.t1)
-master-bin.000001 28491 Write_rows 1 28525 table_id: # flags: STMT_END_F
-master-bin.000001 28525 Table_map 1 28564 table_id: # (test.t1)
-master-bin.000001 28564 Write_rows 1 28598 table_id: # flags: STMT_END_F
-master-bin.000001 28598 Table_map 1 28637 table_id: # (test.t1)
-master-bin.000001 28637 Write_rows 1 28671 table_id: # flags: STMT_END_F
-master-bin.000001 28671 Table_map 1 28710 table_id: # (test.t1)
-master-bin.000001 28710 Write_rows 1 28744 table_id: # flags: STMT_END_F
-master-bin.000001 28744 Table_map 1 28783 table_id: # (test.t1)
-master-bin.000001 28783 Write_rows 1 28817 table_id: # flags: STMT_END_F
-master-bin.000001 28817 Table_map 1 28856 table_id: # (test.t1)
-master-bin.000001 28856 Write_rows 1 28890 table_id: # flags: STMT_END_F
-master-bin.000001 28890 Table_map 1 28929 table_id: # (test.t1)
-master-bin.000001 28929 Write_rows 1 28963 table_id: # flags: STMT_END_F
-master-bin.000001 28963 Table_map 1 29002 table_id: # (test.t1)
-master-bin.000001 29002 Write_rows 1 29036 table_id: # flags: STMT_END_F
-master-bin.000001 29036 Table_map 1 29075 table_id: # (test.t1)
-master-bin.000001 29075 Write_rows 1 29109 table_id: # flags: STMT_END_F
-master-bin.000001 29109 Table_map 1 29148 table_id: # (test.t1)
-master-bin.000001 29148 Write_rows 1 29182 table_id: # flags: STMT_END_F
-master-bin.000001 29182 Table_map 1 29221 table_id: # (test.t1)
-master-bin.000001 29221 Write_rows 1 29255 table_id: # flags: STMT_END_F
-master-bin.000001 29255 Table_map 1 29294 table_id: # (test.t1)
-master-bin.000001 29294 Write_rows 1 29328 table_id: # flags: STMT_END_F
-master-bin.000001 29328 Table_map 1 29367 table_id: # (test.t1)
-master-bin.000001 29367 Write_rows 1 29401 table_id: # flags: STMT_END_F
-master-bin.000001 29401 Table_map 1 29440 table_id: # (test.t1)
-master-bin.000001 29440 Write_rows 1 29474 table_id: # flags: STMT_END_F
-master-bin.000001 29474 Xid 1 29501 COMMIT /* XID */
-master-bin.000001 29501 Rotate 1 29545 master-bin.000002;pos=4
+master-bin.000001 27649 Table_map 1 27690 table_id: # (test.t1)
+master-bin.000001 27690 Write_rows 1 27724 table_id: # flags: STMT_END_F
+master-bin.000001 27724 Table_map 1 27765 table_id: # (test.t1)
+master-bin.000001 27765 Write_rows 1 27799 table_id: # flags: STMT_END_F
+master-bin.000001 27799 Table_map 1 27840 table_id: # (test.t1)
+master-bin.000001 27840 Write_rows 1 27874 table_id: # flags: STMT_END_F
+master-bin.000001 27874 Table_map 1 27915 table_id: # (test.t1)
+master-bin.000001 27915 Write_rows 1 27949 table_id: # flags: STMT_END_F
+master-bin.000001 27949 Table_map 1 27990 table_id: # (test.t1)
+master-bin.000001 27990 Write_rows 1 28024 table_id: # flags: STMT_END_F
+master-bin.000001 28024 Table_map 1 28065 table_id: # (test.t1)
+master-bin.000001 28065 Write_rows 1 28099 table_id: # flags: STMT_END_F
+master-bin.000001 28099 Table_map 1 28140 table_id: # (test.t1)
+master-bin.000001 28140 Write_rows 1 28174 table_id: # flags: STMT_END_F
+master-bin.000001 28174 Table_map 1 28215 table_id: # (test.t1)
+master-bin.000001 28215 Write_rows 1 28249 table_id: # flags: STMT_END_F
+master-bin.000001 28249 Table_map 1 28290 table_id: # (test.t1)
+master-bin.000001 28290 Write_rows 1 28324 table_id: # flags: STMT_END_F
+master-bin.000001 28324 Table_map 1 28365 table_id: # (test.t1)
+master-bin.000001 28365 Write_rows 1 28399 table_id: # flags: STMT_END_F
+master-bin.000001 28399 Table_map 1 28440 table_id: # (test.t1)
+master-bin.000001 28440 Write_rows 1 28474 table_id: # flags: STMT_END_F
+master-bin.000001 28474 Table_map 1 28515 table_id: # (test.t1)
+master-bin.000001 28515 Write_rows 1 28549 table_id: # flags: STMT_END_F
+master-bin.000001 28549 Table_map 1 28590 table_id: # (test.t1)
+master-bin.000001 28590 Write_rows 1 28624 table_id: # flags: STMT_END_F
+master-bin.000001 28624 Table_map 1 28665 table_id: # (test.t1)
+master-bin.000001 28665 Write_rows 1 28699 table_id: # flags: STMT_END_F
+master-bin.000001 28699 Table_map 1 28740 table_id: # (test.t1)
+master-bin.000001 28740 Write_rows 1 28774 table_id: # flags: STMT_END_F
+master-bin.000001 28774 Table_map 1 28815 table_id: # (test.t1)
+master-bin.000001 28815 Write_rows 1 28849 table_id: # flags: STMT_END_F
+master-bin.000001 28849 Table_map 1 28890 table_id: # (test.t1)
+master-bin.000001 28890 Write_rows 1 28924 table_id: # flags: STMT_END_F
+master-bin.000001 28924 Table_map 1 28965 table_id: # (test.t1)
+master-bin.000001 28965 Write_rows 1 28999 table_id: # flags: STMT_END_F
+master-bin.000001 28999 Table_map 1 29040 table_id: # (test.t1)
+master-bin.000001 29040 Write_rows 1 29074 table_id: # flags: STMT_END_F
+master-bin.000001 29074 Table_map 1 29115 table_id: # (test.t1)
+master-bin.000001 29115 Write_rows 1 29149 table_id: # flags: STMT_END_F
+master-bin.000001 29149 Table_map 1 29190 table_id: # (test.t1)
+master-bin.000001 29190 Write_rows 1 29224 table_id: # flags: STMT_END_F
+master-bin.000001 29224 Table_map 1 29265 table_id: # (test.t1)
+master-bin.000001 29265 Write_rows 1 29299 table_id: # flags: STMT_END_F
+master-bin.000001 29299 Table_map 1 29340 table_id: # (test.t1)
+master-bin.000001 29340 Write_rows 1 29374 table_id: # flags: STMT_END_F
+master-bin.000001 29374 Table_map 1 29415 table_id: # (test.t1)
+master-bin.000001 29415 Write_rows 1 29449 table_id: # flags: STMT_END_F
+master-bin.000001 29449 Table_map 1 29490 table_id: # (test.t1)
+master-bin.000001 29490 Write_rows 1 29524 table_id: # flags: STMT_END_F
+master-bin.000001 29524 Table_map 1 29565 table_id: # (test.t1)
+master-bin.000001 29565 Write_rows 1 29599 table_id: # flags: STMT_END_F
+master-bin.000001 29599 Table_map 1 29640 table_id: # (test.t1)
+master-bin.000001 29640 Write_rows 1 29674 table_id: # flags: STMT_END_F
+master-bin.000001 29674 Table_map 1 29715 table_id: # (test.t1)
+master-bin.000001 29715 Write_rows 1 29749 table_id: # flags: STMT_END_F
+master-bin.000001 29749 Table_map 1 29790 table_id: # (test.t1)
+master-bin.000001 29790 Write_rows 1 29824 table_id: # flags: STMT_END_F
+master-bin.000001 29824 Table_map 1 29865 table_id: # (test.t1)
+master-bin.000001 29865 Write_rows 1 29899 table_id: # flags: STMT_END_F
+master-bin.000001 29899 Table_map 1 29940 table_id: # (test.t1)
+master-bin.000001 29940 Write_rows 1 29974 table_id: # flags: STMT_END_F
+master-bin.000001 29974 Table_map 1 30015 table_id: # (test.t1)
+master-bin.000001 30015 Write_rows 1 30049 table_id: # flags: STMT_END_F
+master-bin.000001 30049 Table_map 1 30090 table_id: # (test.t1)
+master-bin.000001 30090 Write_rows 1 30124 table_id: # flags: STMT_END_F
+master-bin.000001 30124 Table_map 1 30165 table_id: # (test.t1)
+master-bin.000001 30165 Write_rows 1 30199 table_id: # flags: STMT_END_F
+master-bin.000001 30199 Table_map 1 30240 table_id: # (test.t1)
+master-bin.000001 30240 Write_rows 1 30274 table_id: # flags: STMT_END_F
+master-bin.000001 30274 Xid 1 30301 COMMIT /* XID */
+master-bin.000001 30301 Rotate 1 30345 master-bin.000002;pos=4
drop table t1;
set global binlog_cache_size=@bcs;
set session autocommit = @ac;
+drop table if exists t1;
+reset master;
+create table t1 (a bigint unsigned, b bigint(20) unsigned);
+prepare stmt from "insert into t1 values (?,?)";
+set @a= 9999999999999999;
+set @b= 14632475938453979136;
+execute stmt using @a, @b;
+deallocate prepare stmt;
+drop table t1;
+show binlog events from 0;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 4 Format_desc 1 106 Server version, Binlog ver: 4
+master-bin.000001 106 Query 1 227 use `test`; create table t1 (a bigint unsigned, b bigint(20) unsigned)
+master-bin.000001 227 Table_map 1 269 table_id: # (test.t1)
+master-bin.000001 269 Write_rows 1 315 table_id: # flags: STMT_END_F
+master-bin.000001 315 Query 1 391 use `test`; drop table t1
End of 5.0 tests
reset master;
create table t1 (id tinyint auto_increment primary key);
@@ -1099,9 +1115,11 @@ master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `test`; drop table t1
master-bin.000001 # Query # # use `test`; create table t1 (a int)
+master-bin.000001 # Query # # use `test`; BEGIN
master-bin.000001 # Query # # use `test`; CREATE TABLE IF NOT EXISTS `t2` (
`a` int(11) DEFAULT NULL
)
+master-bin.000001 # Query # # use `test`; COMMIT
master-bin.000001 # Query # # use `test`; CREATE TABLE IF NOT EXISTS `t3` (
`a` int(11) DEFAULT NULL
)
@@ -1124,9 +1142,11 @@ master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `test`; drop table t1
master-bin.000001 # Query # # use `test`; create table t1 (a int)
+master-bin.000001 # Query # # use `test`; BEGIN
master-bin.000001 # Query # # use `test`; CREATE TABLE IF NOT EXISTS `t2` (
`a` int(11) DEFAULT NULL
)
+master-bin.000001 # Query # # use `test`; COMMIT
master-bin.000001 # Query # # use `test`; CREATE TABLE IF NOT EXISTS `t3` (
`a` int(11) DEFAULT NULL
)
diff --git a/mysql-test/suite/binlog/r/binlog_row_ctype_cp932.result b/mysql-test/suite/binlog/r/binlog_row_ctype_cp932.result
index ef9f76b7d9c..43108222866 100644
--- a/mysql-test/suite/binlog/r/binlog_row_ctype_cp932.result
+++ b/mysql-test/suite/binlog/r/binlog_row_ctype_cp932.result
@@ -2,6 +2,99 @@ drop table if exists t1;
drop table if exists t2;
drop table if exists t3;
drop table if exists t4;
+SET @test_character_set= 'cp932';
+SET @test_collation= 'cp932_japanese_ci';
+SET @safe_character_set_server= @@character_set_server;
+SET @safe_collation_server= @@collation_server;
+SET @safe_character_set_client= @@character_set_client;
+SET @safe_character_set_results= @@character_set_results;
+SET character_set_server= @test_character_set;
+SET collation_server= @test_collation;
+CREATE DATABASE d1;
+USE d1;
+CREATE TABLE t1 (c CHAR(10), KEY(c));
+SHOW FULL COLUMNS FROM t1;
+Field Type Collation Null Key Default Extra Privileges Comment
+c char(10) cp932_japanese_ci YES MUL NULL
+INSERT INTO t1 VALUES ('aaa'),('aaaa'),('aaaaa');
+SELECT c as want3results FROM t1 WHERE c LIKE 'aaa%';
+want3results
+aaa
+aaaa
+aaaaa
+DROP TABLE t1;
+CREATE TABLE t1 (c1 varchar(15), KEY c1 (c1(2)));
+SHOW FULL COLUMNS FROM t1;
+Field Type Collation Null Key Default Extra Privileges Comment
+c1 varchar(15) cp932_japanese_ci YES MUL NULL
+INSERT INTO t1 VALUES ('location'),('loberge'),('lotre'),('boabab');
+SELECT c1 as want3results from t1 where c1 like 'l%';
+want3results
+location
+loberge
+lotre
+SELECT c1 as want3results from t1 where c1 like 'lo%';
+want3results
+location
+loberge
+lotre
+SELECT c1 as want1result from t1 where c1 like 'loc%';
+want1result
+location
+SELECT c1 as want1result from t1 where c1 like 'loca%';
+want1result
+location
+SELECT c1 as want1result from t1 where c1 like 'locat%';
+want1result
+location
+SELECT c1 as want1result from t1 where c1 like 'locati%';
+want1result
+location
+SELECT c1 as want1result from t1 where c1 like 'locatio%';
+want1result
+location
+SELECT c1 as want1result from t1 where c1 like 'location%';
+want1result
+location
+DROP TABLE t1;
+create table t1 (a set('a') not null);
+insert into t1 values (),();
+Warnings:
+Warning 1364 Field 'a' doesn't have a default value
+select cast(a as char(1)) from t1;
+cast(a as char(1))
+
+
+select a sounds like a from t1;
+a sounds like a
+1
+1
+select 1 from t1 order by cast(a as char(1));
+1
+1
+1
+drop table t1;
+set names utf8;
+create table t1 (
+name varchar(10),
+level smallint unsigned);
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `name` varchar(10) DEFAULT NULL,
+ `level` smallint(5) unsigned DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=cp932
+insert into t1 values ('string',1);
+select concat(name,space(level)), concat(name, repeat(' ',level)) from t1;
+concat(name,space(level)) concat(name, repeat(' ',level))
+string string
+drop table t1;
+DROP DATABASE d1;
+USE test;
+SET character_set_server= @safe_character_set_server;
+SET collation_server= @safe_collation_server;
+SET character_set_client= @safe_character_set_client;
+SET character_set_results= @safe_character_set_results;
set names cp932;
set character_set_database = cp932;
CREATE TABLE t1(c1 CHAR(1)) DEFAULT CHARACTER SET = cp932;
@@ -11325,6 +11418,23 @@ cp932_japanese_ci 6109
cp932_japanese_ci 61
cp932_japanese_ci 6120
drop table t1;
+CREATE TABLE t1 AS
+SELECT 10 AS a, REPEAT('a',20) AS b, REPEAT('a',8) AS c, REPEAT('a',8) AS d;
+ALTER TABLE t1 ADD PRIMARY KEY(a), ADD KEY(b);
+INSERT INTO t1 (a, b) VALUES (1, repeat(0xF1F2,5));
+INSERT INTO t1 (a, b) VALUES (2, repeat(0xF1F2,10));
+INSERT INTO t1 (a, b) VALUES (3, repeat(0xF1F2,11));
+INSERT INTO t1 (a, b) VALUES (4, repeat(0xF1F2,12));
+SELECT hex(concat(repeat(0xF1F2, 10), '%'));
+hex(concat(repeat(0xF1F2, 10), '%'))
+F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F225
+3 rows expected
+SELECT a, hex(b), c FROM t1 WHERE b LIKE concat(repeat(0xF1F2,10), '%');
+a hex(b) c
+2 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+3 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+4 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+DROP TABLE t1;
SET collation_connection='cp932_bin';
create table t1 select repeat('a',4000) a;
delete from t1;
@@ -11335,6 +11445,23 @@ cp932_bin 6109
cp932_bin 61
cp932_bin 6120
drop table t1;
+CREATE TABLE t1 AS
+SELECT 10 AS a, REPEAT('a',20) AS b, REPEAT('a',8) AS c, REPEAT('a',8) AS d;
+ALTER TABLE t1 ADD PRIMARY KEY(a), ADD KEY(b);
+INSERT INTO t1 (a, b) VALUES (1, repeat(0xF1F2,5));
+INSERT INTO t1 (a, b) VALUES (2, repeat(0xF1F2,10));
+INSERT INTO t1 (a, b) VALUES (3, repeat(0xF1F2,11));
+INSERT INTO t1 (a, b) VALUES (4, repeat(0xF1F2,12));
+SELECT hex(concat(repeat(0xF1F2, 10), '%'));
+hex(concat(repeat(0xF1F2, 10), '%'))
+F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F225
+3 rows expected
+SELECT a, hex(b), c FROM t1 WHERE b LIKE concat(repeat(0xF1F2,10), '%');
+a hex(b) c
+2 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+3 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+4 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+DROP TABLE t1;
create table t2 (a char(1));
insert into t2 values ('0'),('1'),('2'),('3'),('4'),('5'),('6'),('7');
insert into t2 values ('8'),('9'),('A'),('B'),('C'),('D'),('E'),('F');
diff --git a/mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result b/mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result
index 6ac942176c7..d26913da2b2 100644
--- a/mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result
+++ b/mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result
@@ -113,6 +113,7 @@ insert into t1 values(9);
insert into t2 select * from t1;
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Query # # use `test`; BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
@@ -126,6 +127,7 @@ begin;
insert into t2 select * from t1;
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Query # # use `test`; BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
@@ -135,6 +137,7 @@ insert into t1 values(11);
commit;
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Query # # use `test`; BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
@@ -260,10 +263,12 @@ master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Query # # use `test`; BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Delete_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
master-bin.000001 # Query # # use `test`; alter table t2 engine=MyISAM
+master-bin.000001 # Query # # use `test`; BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
@@ -366,6 +371,7 @@ master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS t2
master-bin.000001 # Query # # use `test`; CREATE TABLE t2 (a int, b int, primary key (a)) engine=innodb
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # use `test`; BEGIN
master-bin.000001 # Query # # use `test`; TRUNCATE table t2
master-bin.000001 # Xid # # COMMIT /* XID */
master-bin.000001 # Table_map # # table_id: # (test.t1)
@@ -373,7 +379,7 @@ master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `test`; BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t2)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Query # # use `test`; COMMIT
master-bin.000001 # Query # # use `test`; DROP TABLE t2
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
@@ -383,8 +389,9 @@ master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # use `test`; BEGIN
master-bin.000001 # Query # # use `test`; TRUNCATE table t2
-master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Query # # use `test`; COMMIT
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
@@ -408,8 +415,490 @@ is not null;
is not null
1
select
-@a like "%#%error_code=0%ROLLBACK/*!*/;%ROLLBACK /* added by mysqlbinlog */;%",
+@a like "%#%error_code=0%ROLLBACK\n/*!*/;%ROLLBACK /* added by mysqlbinlog */;%" OR
+@a like "%#%error_code=0%ROLLBACK\r\n/*!*/;%ROLLBACK /* added by mysqlbinlog */;%",
@a not like "%#%error_code=%error_code=%";
-@a like "%#%error_code=0%ROLLBACK/*!*/;%ROLLBACK /* added by mysqlbinlog */;%" @a not like "%#%error_code=%error_code=%"
+@a like "%#%error_code=0%ROLLBACK\n/*!*/;%ROLLBACK /* added by mysqlbinlog */;%" OR
+@a like "%#%error_code=0%ROLLBACK\r\n/*!*/;%ROLLBACK /* added by mysqlbinlog */;%" @a not like "%#%error_code=%error_code=%"
1 1
drop table t1, t2;
+create temporary table tt (a int unique);
+create table ti (a int) engine=innodb;
+reset master;
+begin;
+insert into ti values (1);
+insert into ti values (2) ;
+insert into tt select * from ti;
+rollback;
+Warnings:
+Warning 1196 Some non-transactional changed tables couldn't be rolled back
+select count(*) from tt /* 2 */;
+count(*)
+2
+show binlog events from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Query # # use `test`; BEGIN
+master-bin.000001 # Table_map # # table_id: # (test.ti)
+master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Table_map # # table_id: # (test.ti)
+master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # use `test`; ROLLBACK
+select count(*) from ti /* zero */;
+count(*)
+0
+insert into ti select * from tt;
+select * from ti /* that is what slave would miss - a bug */;
+a
+1
+2
+delete from ti;
+delete from tt where a=1;
+reset master;
+begin;
+insert into ti values (1);
+insert into ti values (2) /* to make the dup error in the following */;
+insert into tt select * from ti /* one affected and error */;
+ERROR 23000: Duplicate entry '2' for key 'a'
+rollback;
+show binlog events from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+select count(*) from ti /* zero */;
+count(*)
+0
+insert into ti select * from tt;
+select * from tt /* that is what otherwise slave missed - the bug */;
+a
+1
+2
+drop table ti, tt;
+drop function if exists bug27417;
+drop table if exists t1,t2;
+CREATE TABLE t1 (a int NOT NULL auto_increment primary key) ENGINE=MyISAM;
+CREATE TABLE t2 (a int NOT NULL auto_increment, PRIMARY KEY (a));
+create function bug27417(n int)
+RETURNS int(11)
+begin
+insert into t1 values (null);
+return n;
+end|
+reset master;
+insert into t2 values (bug27417(1));
+insert into t2 select bug27417(2);
+reset master;
+insert into t2 values (bug27417(2));
+ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
+show binlog events from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Table_map # # table_id: # (test.t2)
+master-bin.000001 # Table_map # # table_id: # (test.t1)
+master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+/* only (!) with fixes for #23333 will show there is the query */;
+select count(*) from t1 /* must be 3 */;
+count(*)
+3
+reset master;
+select count(*) from t2;
+count(*)
+2
+delete from t2 where a=bug27417(3);
+select count(*) from t2 /* nothing got deleted */;
+count(*)
+2
+show binlog events from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Table_map # # table_id: # (test.t2)
+master-bin.000001 # Table_map # # table_id: # (test.t1)
+master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+/* the query must be in regardless of #23333 */;
+select count(*) from t1 /* must be 5 */;
+count(*)
+5
+delete t2 from t2 where t2.a=bug27417(100) /* must not affect t2 */;
+affected rows: 0
+select count(*) from t1 /* must be 7 */;
+count(*)
+7
+drop table t1,t2;
+CREATE TABLE t1 (a int NOT NULL auto_increment primary key) ENGINE=MyISAM;
+CREATE TABLE t2 (a int, PRIMARY KEY (a)) ENGINE=InnoDB;
+CREATE TABLE t3 (a int, PRIMARY KEY (a), b int unique) ENGINE=MyISAM;
+CREATE TABLE t4 (a int, PRIMARY KEY (a), b int unique) ENGINE=Innodb;
+CREATE TABLE t5 (a int, PRIMARY KEY (a)) ENGINE=InnoDB;
+insert into t2 values (1);
+reset master;
+insert into t2 values (bug27417(1));
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
+show binlog events from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Query # # use `test`; BEGIN
+master-bin.000001 # Table_map # # table_id: # (test.t2)
+master-bin.000001 # Table_map # # table_id: # (test.t1)
+master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # use `test`; ROLLBACK
+/* the output must denote there is the query */;
+select count(*) from t1 /* must be 1 */;
+count(*)
+1
+delete from t1;
+delete from t2;
+insert into t2 values (2);
+reset master;
+insert into t2 select bug27417(1) union select bug27417(2);
+ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
+show binlog events from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Query # # use `test`; BEGIN
+master-bin.000001 # Table_map # # table_id: # (test.t2)
+master-bin.000001 # Table_map # # table_id: # (test.t1)
+master-bin.000001 # Write_rows # # table_id: #
+master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # use `test`; ROLLBACK
+/* the output must denote there is the query */;
+select count(*) from t1 /* must be 2 */;
+count(*)
+2
+delete from t1;
+insert into t3 values (1,1),(2,3),(3,4);
+reset master;
+update t3 set b=b+bug27417(1);
+ERROR 23000: Duplicate entry '4' for key 'b'
+show binlog events from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Table_map # # table_id: # (test.t3)
+master-bin.000001 # Table_map # # table_id: # (test.t1)
+master-bin.000001 # Write_rows # # table_id: #
+master-bin.000001 # Update_rows # # table_id: #
+master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+/* the output must denote there is the query */;
+select count(*) from t1 /* must be 2 */;
+count(*)
+2
+delete from t3;
+delete from t4;
+insert into t3 values (1,1);
+insert into t4 values (1,1),(2,2);
+reset master;
+UPDATE t4,t3 SET t4.a=t3.a + bug27417(1) /* top level non-ta table */;
+ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
+show binlog events from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Query # # use `test`; BEGIN
+master-bin.000001 # Table_map # # table_id: # (test.t4)
+master-bin.000001 # Table_map # # table_id: # (test.t1)
+master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # use `test`; ROLLBACK
+/* the output must denote there is the query */;
+select count(*) from t1 /* must be 4 */;
+count(*)
+4
+delete from t1;
+delete from t3;
+delete from t4;
+insert into t3 values (1,1),(2,2);
+insert into t4 values (1,1),(2,2);
+reset master;
+UPDATE t3,t4 SET t3.a=t4.a + bug27417(1);
+ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
+select count(*) from t1 /* must be 1 */;
+count(*)
+2
+drop table t4;
+delete from t1;
+delete from t2;
+delete from t3;
+insert into t2 values (1);
+insert into t3 values (1,1);
+create trigger trg_del before delete on t2 for each row
+insert into t3 values (bug27417(1), 2);
+reset master;
+delete from t2;
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
+show binlog events from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Query # # use `test`; BEGIN
+master-bin.000001 # Table_map # # table_id: # (test.t2)
+master-bin.000001 # Table_map # # table_id: # (test.t3)
+master-bin.000001 # Table_map # # table_id: # (test.t1)
+master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # use `test`; ROLLBACK
+/* the output must denote there is the query */;
+select count(*) from t1 /* must be 1 */;
+count(*)
+1
+drop trigger trg_del;
+delete from t1;
+delete from t2;
+delete from t5;
+create trigger trg_del_t2 after delete on t2 for each row
+insert into t1 values (1);
+insert into t2 values (2),(3);
+insert into t5 values (1),(2);
+reset master;
+delete t2.* from t2,t5 where t2.a=t5.a + 1;
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
+show binlog events from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Query # # use `test`; BEGIN
+master-bin.000001 # Table_map # # table_id: # (test.t2)
+master-bin.000001 # Table_map # # table_id: # (test.t1)
+master-bin.000001 # Delete_rows # # table_id: #
+master-bin.000001 # Write_rows # # table_id: #
+master-bin.000001 # Delete_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # use `test`; ROLLBACK
+/* the output must denote there is the query */;
+select count(*) from t1 /* must be 1 */;
+count(*)
+1
+delete from t1;
+create table t4 (a int default 0, b int primary key) engine=innodb;
+insert into t4 values (0, 17);
+reset master;
+load data infile '../std_data_ln/rpl_loaddata.dat' into table t4 (a, @b) set b= @b + bug27417(2);
+ERROR 23000: Duplicate entry '17' for key 'PRIMARY'
+select * from t4;
+a b
+0 17
+select count(*) from t1 /* must be 2 */;
+count(*)
+2
+show binlog events from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Query # # use `test`; BEGIN
+master-bin.000001 # Table_map # # table_id: # (test.t4)
+master-bin.000001 # Table_map # # table_id: # (test.t1)
+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 # # use `test`; ROLLBACK
+/* the output must denote there is the query */;
+drop trigger trg_del_t2;
+drop table t1,t2,t3,t4,t5;
+drop function bug27417;
+end of tests
+create temporary table tt (a int unique);
+create table ti (a int) engine=innodb;
+reset master;
+begin;
+insert into ti values (1);
+insert into ti values (2) ;
+insert into tt select * from ti;
+rollback;
+Warnings:
+Warning 1196 Some non-transactional changed tables couldn't be rolled back
+select count(*) from tt /* 2 */;
+count(*)
+2
+show binlog events from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Query # # use `test`; BEGIN
+master-bin.000001 # Table_map # # table_id: # (test.ti)
+master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Table_map # # table_id: # (test.ti)
+master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # use `test`; ROLLBACK
+select count(*) from ti /* zero */;
+count(*)
+0
+insert into ti select * from tt;
+select * from ti /* that is what slave would miss - bug#28960 */;
+a
+1
+2
+delete from ti;
+delete from tt where a=1;
+reset master;
+begin;
+insert into ti values (1);
+insert into ti values (2) /* to make the dup error in the following */;
+insert into tt select * from ti /* one affected and error */;
+ERROR 23000: Duplicate entry '2' for key 'a'
+rollback;
+show binlog events from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+select count(*) from ti /* zero */;
+count(*)
+0
+insert into ti select * from tt;
+select * from tt /* that is what otherwise slave missed - the bug */;
+a
+1
+2
+drop table ti;
+drop function if exists bug27417;
+drop table if exists t1,t2;
+CREATE TABLE t1 (a int NOT NULL auto_increment primary key) ENGINE=MyISAM;
+CREATE TABLE t2 (a int NOT NULL auto_increment, PRIMARY KEY (a));
+create function bug27417(n int)
+RETURNS int(11)
+begin
+insert into t1 values (null);
+return n;
+end|
+reset master;
+insert into t2 values (bug27417(1));
+insert into t2 select bug27417(2);
+reset master;
+insert into t2 values (bug27417(2));
+ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
+show binlog events from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Intvar # # INSERT_ID=3
+master-bin.000001 # Query # # use `test`; insert into t2 values (bug27417(2))
+select count(*) from t1 /* must be 3 */;
+count(*)
+3
+reset master;
+select count(*) from t2;
+count(*)
+2
+delete from t2 where a=bug27417(3);
+select count(*) from t2 /* nothing got deleted */;
+count(*)
+2
+show binlog events from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Intvar # # INSERT_ID=4
+master-bin.000001 # Query # # use `test`; delete from t2 where a=bug27417(3)
+select count(*) from t1 /* must be 5 */;
+count(*)
+5
+delete t2 from t2 where t2.a=bug27417(100) /* must not affect t2 */;
+affected rows: 0
+select count(*) from t1 /* must be 7 */;
+count(*)
+7
+drop table t1,t2;
+CREATE TABLE t1 (a int NOT NULL auto_increment primary key) ENGINE=MyISAM;
+CREATE TABLE t2 (a int, PRIMARY KEY (a)) ENGINE=InnoDB;
+CREATE TABLE t3 (a int, PRIMARY KEY (a), b int unique) ENGINE=MyISAM;
+CREATE TABLE t4 (a int, PRIMARY KEY (a), b int unique) ENGINE=Innodb;
+CREATE TABLE t5 (a int, PRIMARY KEY (a)) ENGINE=InnoDB;
+insert into t2 values (1);
+reset master;
+insert into t2 values (bug27417(1));
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
+show binlog events from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Query # # use `test`; BEGIN
+master-bin.000001 # Intvar # # INSERT_ID=1
+master-bin.000001 # Query # # use `test`; insert into t2 values (bug27417(1))
+master-bin.000001 # Query # # use `test`; ROLLBACK
+select count(*) from t1 /* must be 1 */;
+count(*)
+1
+delete from t1;
+delete from t2;
+insert into t2 values (2);
+reset master;
+insert into t2 select bug27417(1) union select bug27417(2);
+ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
+show binlog events from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Query # # use `test`; BEGIN
+master-bin.000001 # Intvar # # INSERT_ID=2
+master-bin.000001 # Query # # use `test`; insert into t2 select bug27417(1) union select bug27417(2)
+master-bin.000001 # Query # # use `test`; ROLLBACK
+select count(*) from t1 /* must be 2 */;
+count(*)
+2
+delete from t1;
+insert into t3 values (1,1),(2,3),(3,4);
+reset master;
+update t3 set b=b+bug27417(1);
+ERROR 23000: Duplicate entry '4' for key 'b'
+show binlog events from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Intvar # # INSERT_ID=4
+master-bin.000001 # Query # # use `test`; update t3 set b=b+bug27417(1)
+select count(*) from t1 /* must be 2 */;
+count(*)
+2
+delete from t3;
+delete from t4;
+insert into t3 values (1,1);
+insert into t4 values (1,1),(2,2);
+reset master;
+UPDATE t4,t3 SET t4.a=t3.a + bug27417(1) /* top level non-ta table */;
+ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
+show binlog events from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Intvar # # INSERT_ID=6
+master-bin.000001 # Query # # use `test`; UPDATE t4,t3 SET t4.a=t3.a + bug27417(1) /* top level non-ta table */
+select count(*) from t1 /* must be 4 */;
+count(*)
+4
+delete from t1;
+delete from t3;
+delete from t4;
+insert into t3 values (1,1),(2,2);
+insert into t4 values (1,1),(2,2);
+reset master;
+UPDATE t3,t4 SET t3.a=t4.a + bug27417(1);
+ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
+select count(*) from t1 /* must be 1 */;
+count(*)
+1
+drop table t4;
+delete from t1;
+delete from t2;
+delete from t3;
+insert into t2 values (1);
+insert into t3 values (1,1);
+create trigger trg_del before delete on t2 for each row
+insert into t3 values (bug27417(1), 2);
+reset master;
+delete from t2;
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
+show binlog events from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Query # # use `test`; BEGIN
+master-bin.000001 # Intvar # # INSERT_ID=9
+master-bin.000001 # Query # # use `test`; delete from t2
+master-bin.000001 # Query # # use `test`; ROLLBACK
+select count(*) from t1 /* must be 1 */;
+count(*)
+1
+drop trigger trg_del;
+delete from t1;
+delete from t2;
+delete from t5;
+create trigger trg_del_t2 after delete on t2 for each row
+insert into t1 values (1);
+insert into t2 values (2),(3);
+insert into t5 values (1),(2);
+reset master;
+delete t2.* from t2,t5 where t2.a=t5.a + 1;
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
+show binlog events from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Query # # use `test`; BEGIN
+master-bin.000001 # Query # # use `test`; delete t2.* from t2,t5 where t2.a=t5.a + 1
+master-bin.000001 # Query # # use `test`; ROLLBACK
+select count(*) from t1 /* must be 1 */;
+count(*)
+1
+delete from t1;
+create table t4 (a int default 0, b int primary key) engine=innodb;
+insert into t4 values (0, 17);
+reset master;
+load data infile '../std_data_ln/rpl_loaddata.dat' into table t4 (a, @b) set b= @b + bug27417(2);
+ERROR 23000: Duplicate entry '17' for key 'PRIMARY'
+select * from t4;
+a b
+0 17
+select count(*) from t1 /* must be 2 */;
+count(*)
+2
+show binlog events from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Query # # use `test`; BEGIN
+master-bin.000001 # Intvar # # INSERT_ID=10
+master-bin.000001 # User var # # @`b`=_latin1 0x3135 COLLATE latin1_swedish_ci
+master-bin.000001 # Begin_load_query # # ;file_id=#;block_len=12
+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_ln/rpl_loaddata.dat' into table t4 (a, @b) set b= @b + bug27417(2) ;file_id=#
+master-bin.000001 # Query # # use `test`; ROLLBACK
+drop trigger trg_del_t2;
+drop table t1,t2,t3,t4,t5;
+drop function bug27417;
diff --git a/mysql-test/suite/binlog/r/binlog_start_comment.result b/mysql-test/suite/binlog/r/binlog_start_comment.result
new file mode 100644
index 00000000000..162968195f2
--- /dev/null
+++ b/mysql-test/suite/binlog/r/binlog_start_comment.result
@@ -0,0 +1,15 @@
+reset master;
+drop table if exists t1,t2;
+create table t1 (word varchar(20)) -- create table t1;
+create table t2 (word varchar(20)) -- create table t2;
+load data infile '../std_data_ln/words.dat' into table t1 -- load data to t1;
+insert into t2 values ("Ada");
+flush logs;
+select * from t2;
+word
+Ada
+flush logs;
+select * from t2;
+word
+Ada
+drop table t1,t2;
diff --git a/mysql-test/suite/binlog/r/binlog_stm_binlog.result b/mysql-test/suite/binlog/r/binlog_stm_binlog.result
index 80908e6b450..54a2ceda9b3 100644
--- a/mysql-test/suite/binlog/r/binlog_stm_binlog.result
+++ b/mysql-test/suite/binlog/r/binlog_stm_binlog.result
@@ -579,6 +579,21 @@ master-bin.000001 36593 Rotate 1 36637 master-bin.000002;pos=4
drop table t1;
set global binlog_cache_size=@bcs;
set session autocommit = @ac;
+drop table if exists t1;
+reset master;
+create table t1 (a bigint unsigned, b bigint(20) unsigned);
+prepare stmt from "insert into t1 values (?,?)";
+set @a= 9999999999999999;
+set @b= 14632475938453979136;
+execute stmt using @a, @b;
+deallocate prepare stmt;
+drop table t1;
+show binlog events from 0;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 4 Format_desc 1 106 Server version, Binlog ver: 4
+master-bin.000001 106 Query 1 227 use `test`; create table t1 (a bigint unsigned, b bigint(20) unsigned)
+master-bin.000001 227 Query 1 351 use `test`; insert into t1 values (9999999999999999,14632475938453979136)
+master-bin.000001 351 Query 1 427 use `test`; drop table t1
End of 5.0 tests
reset master;
create table t1 (id tinyint auto_increment primary key);
diff --git a/mysql-test/suite/binlog/r/binlog_stm_blackhole.result b/mysql-test/suite/binlog/r/binlog_stm_blackhole.result
index a1c83ffc73d..a96d2fd1bab 100644
--- a/mysql-test/suite/binlog/r/binlog_stm_blackhole.result
+++ b/mysql-test/suite/binlog/r/binlog_stm_blackhole.result
@@ -73,7 +73,7 @@ explain extended select * from t1 where MATCH(a,b) AGAINST ("collections");
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 fulltext a a 0 1 100.00 Using where
Warnings:
-Note 1003 select `test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b` from `test`.`t1` where (match `test`.`t1`.`a`,`test`.`t1`.`b` against (_latin1'collections'))
+Note 1003 select `test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b` from `test`.`t1` where (match `test`.`t1`.`a`,`test`.`t1`.`b` against ('collections'))
select * from t1 where MATCH(a,b) AGAINST ("indexes");
a b
Full-text indexes are called collections
@@ -104,26 +104,44 @@ select * from t2;
a
select * from t3;
a
-show binlog events from <binlog_start>;
+show binlog events;
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Format_desc # # Server ver: VERSION, Binlog ver: 4
master-bin.000001 # Query # # use `test`; drop table t1,t2
master-bin.000001 # Query # # use `test`; create table t1 (a int) engine=blackhole
+master-bin.000001 # Query # # use `test`; BEGIN
master-bin.000001 # Query # # use `test`; delete from t1 where a=10
+master-bin.000001 # Query # # use `test`; COMMIT
+master-bin.000001 # Query # # use `test`; BEGIN
master-bin.000001 # Query # # use `test`; update t1 set a=11 where a=15
+master-bin.000001 # Query # # use `test`; COMMIT
+master-bin.000001 # Query # # use `test`; BEGIN
master-bin.000001 # Query # # use `test`; insert into t1 values(1)
+master-bin.000001 # Query # # use `test`; COMMIT
+master-bin.000001 # Query # # use `test`; BEGIN
master-bin.000001 # Query # # use `test`; insert ignore into t1 values(1)
+master-bin.000001 # Query # # use `test`; COMMIT
+master-bin.000001 # Query # # use `test`; BEGIN
master-bin.000001 # Query # # use `test`; replace into t1 values(100)
+master-bin.000001 # Query # # use `test`; COMMIT
master-bin.000001 # Query # # use `test`; create table t2 (a varchar(200)) engine=blackhole
-master-bin.000001 # Begin_load_query # # ;file_id=1;block_len=581
-master-bin.000001 # Execute_load_query # # use `test`; load data infile '../std_data_ln/words.dat' into table t2 ;file_id=1
+master-bin.000001 # Query # # use `test`; BEGIN
+master-bin.000001 # Begin_load_query # # ;file_id=#;block_len=581
+master-bin.000001 # Execute_load_query # # use `test`; load data infile '../std_data_ln/words.dat' into table t2 ;file_id=#
+master-bin.000001 # Query # # use `test`; COMMIT
master-bin.000001 # Query # # use `test`; alter table t1 add b int
master-bin.000001 # Query # # use `test`; alter table t1 drop b
master-bin.000001 # Query # # use `test`; create table t3 like t1
+master-bin.000001 # Query # # use `test`; BEGIN
master-bin.000001 # Query # # use `test`; insert into t1 select * from t3
+master-bin.000001 # Query # # use `test`; COMMIT
+master-bin.000001 # Query # # use `test`; BEGIN
master-bin.000001 # Query # # use `test`; replace into t1 select * from t3
+master-bin.000001 # Query # # use `test`; COMMIT
drop table t1,t2,t3;
CREATE TABLE t1(a INT) ENGINE=BLACKHOLE;
INSERT DELAYED INTO t1 VALUES(1);
+ERROR HY000: Binary logging not possible. Message: Row-based format required for this statement, but not allowed by this combination of engines
DROP TABLE t1;
CREATE TABLE t1(a INT, b INT) ENGINE=BLACKHOLE;
DELETE FROM t1 WHERE a=10;
@@ -146,8 +164,9 @@ start transaction;
insert into t1 values(2);
rollback;
set autocommit=1;
-show binlog events from <binlog_start>;
+show binlog events;
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Format_desc # # Server ver: VERSION, Binlog ver: 4
master-bin.000001 # Query # # use `test`; create table t1 (a int) engine=blackhole
master-bin.000001 # Query # # use `test`; BEGIN
master-bin.000001 # Query # # use `test`; insert into t1 values(1)
diff --git a/mysql-test/suite/binlog/r/binlog_stm_ctype_cp932.result b/mysql-test/suite/binlog/r/binlog_stm_ctype_cp932.result
index ef9f76b7d9c..43108222866 100755
--- a/mysql-test/suite/binlog/r/binlog_stm_ctype_cp932.result
+++ b/mysql-test/suite/binlog/r/binlog_stm_ctype_cp932.result
@@ -2,6 +2,99 @@ drop table if exists t1;
drop table if exists t2;
drop table if exists t3;
drop table if exists t4;
+SET @test_character_set= 'cp932';
+SET @test_collation= 'cp932_japanese_ci';
+SET @safe_character_set_server= @@character_set_server;
+SET @safe_collation_server= @@collation_server;
+SET @safe_character_set_client= @@character_set_client;
+SET @safe_character_set_results= @@character_set_results;
+SET character_set_server= @test_character_set;
+SET collation_server= @test_collation;
+CREATE DATABASE d1;
+USE d1;
+CREATE TABLE t1 (c CHAR(10), KEY(c));
+SHOW FULL COLUMNS FROM t1;
+Field Type Collation Null Key Default Extra Privileges Comment
+c char(10) cp932_japanese_ci YES MUL NULL
+INSERT INTO t1 VALUES ('aaa'),('aaaa'),('aaaaa');
+SELECT c as want3results FROM t1 WHERE c LIKE 'aaa%';
+want3results
+aaa
+aaaa
+aaaaa
+DROP TABLE t1;
+CREATE TABLE t1 (c1 varchar(15), KEY c1 (c1(2)));
+SHOW FULL COLUMNS FROM t1;
+Field Type Collation Null Key Default Extra Privileges Comment
+c1 varchar(15) cp932_japanese_ci YES MUL NULL
+INSERT INTO t1 VALUES ('location'),('loberge'),('lotre'),('boabab');
+SELECT c1 as want3results from t1 where c1 like 'l%';
+want3results
+location
+loberge
+lotre
+SELECT c1 as want3results from t1 where c1 like 'lo%';
+want3results
+location
+loberge
+lotre
+SELECT c1 as want1result from t1 where c1 like 'loc%';
+want1result
+location
+SELECT c1 as want1result from t1 where c1 like 'loca%';
+want1result
+location
+SELECT c1 as want1result from t1 where c1 like 'locat%';
+want1result
+location
+SELECT c1 as want1result from t1 where c1 like 'locati%';
+want1result
+location
+SELECT c1 as want1result from t1 where c1 like 'locatio%';
+want1result
+location
+SELECT c1 as want1result from t1 where c1 like 'location%';
+want1result
+location
+DROP TABLE t1;
+create table t1 (a set('a') not null);
+insert into t1 values (),();
+Warnings:
+Warning 1364 Field 'a' doesn't have a default value
+select cast(a as char(1)) from t1;
+cast(a as char(1))
+
+
+select a sounds like a from t1;
+a sounds like a
+1
+1
+select 1 from t1 order by cast(a as char(1));
+1
+1
+1
+drop table t1;
+set names utf8;
+create table t1 (
+name varchar(10),
+level smallint unsigned);
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `name` varchar(10) DEFAULT NULL,
+ `level` smallint(5) unsigned DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=cp932
+insert into t1 values ('string',1);
+select concat(name,space(level)), concat(name, repeat(' ',level)) from t1;
+concat(name,space(level)) concat(name, repeat(' ',level))
+string string
+drop table t1;
+DROP DATABASE d1;
+USE test;
+SET character_set_server= @safe_character_set_server;
+SET collation_server= @safe_collation_server;
+SET character_set_client= @safe_character_set_client;
+SET character_set_results= @safe_character_set_results;
set names cp932;
set character_set_database = cp932;
CREATE TABLE t1(c1 CHAR(1)) DEFAULT CHARACTER SET = cp932;
@@ -11325,6 +11418,23 @@ cp932_japanese_ci 6109
cp932_japanese_ci 61
cp932_japanese_ci 6120
drop table t1;
+CREATE TABLE t1 AS
+SELECT 10 AS a, REPEAT('a',20) AS b, REPEAT('a',8) AS c, REPEAT('a',8) AS d;
+ALTER TABLE t1 ADD PRIMARY KEY(a), ADD KEY(b);
+INSERT INTO t1 (a, b) VALUES (1, repeat(0xF1F2,5));
+INSERT INTO t1 (a, b) VALUES (2, repeat(0xF1F2,10));
+INSERT INTO t1 (a, b) VALUES (3, repeat(0xF1F2,11));
+INSERT INTO t1 (a, b) VALUES (4, repeat(0xF1F2,12));
+SELECT hex(concat(repeat(0xF1F2, 10), '%'));
+hex(concat(repeat(0xF1F2, 10), '%'))
+F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F225
+3 rows expected
+SELECT a, hex(b), c FROM t1 WHERE b LIKE concat(repeat(0xF1F2,10), '%');
+a hex(b) c
+2 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+3 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+4 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+DROP TABLE t1;
SET collation_connection='cp932_bin';
create table t1 select repeat('a',4000) a;
delete from t1;
@@ -11335,6 +11445,23 @@ cp932_bin 6109
cp932_bin 61
cp932_bin 6120
drop table t1;
+CREATE TABLE t1 AS
+SELECT 10 AS a, REPEAT('a',20) AS b, REPEAT('a',8) AS c, REPEAT('a',8) AS d;
+ALTER TABLE t1 ADD PRIMARY KEY(a), ADD KEY(b);
+INSERT INTO t1 (a, b) VALUES (1, repeat(0xF1F2,5));
+INSERT INTO t1 (a, b) VALUES (2, repeat(0xF1F2,10));
+INSERT INTO t1 (a, b) VALUES (3, repeat(0xF1F2,11));
+INSERT INTO t1 (a, b) VALUES (4, repeat(0xF1F2,12));
+SELECT hex(concat(repeat(0xF1F2, 10), '%'));
+hex(concat(repeat(0xF1F2, 10), '%'))
+F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F225
+3 rows expected
+SELECT a, hex(b), c FROM t1 WHERE b LIKE concat(repeat(0xF1F2,10), '%');
+a hex(b) c
+2 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+3 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+4 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
+DROP TABLE t1;
create table t2 (a char(1));
insert into t2 values ('0'),('1'),('2'),('3'),('4'),('5'),('6'),('7');
insert into t2 values ('8'),('9'),('A'),('B'),('C'),('D'),('E'),('F');
diff --git a/mysql-test/suite/binlog/r/binlog_stm_ctype_ucs.result b/mysql-test/suite/binlog/r/binlog_stm_ctype_ucs.result
index c789c618876..1b14686a97d 100644
--- a/mysql-test/suite/binlog/r/binlog_stm_ctype_ucs.result
+++ b/mysql-test/suite/binlog/r/binlog_stm_ctype_ucs.result
@@ -15,11 +15,16 @@ ROLLBACK/*!*/;
SET @`v`:=_ucs2 0x006100620063 COLLATE `ucs2_general_ci`/*!*/;
use test/*!*/;
SET TIMESTAMP=10000/*!*/;
+SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
SET @@session.sql_mode=0/*!*/;
+SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
-insert into t2 values (@v)/*!*/;
+SET @@session.lc_time_names=0/*!*/;
+SET @@session.collation_database=DEFAULT/*!*/;
+insert into t2 values (@v)
+/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
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 5ef36861c30..60104a64d94 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
@@ -100,6 +100,7 @@ insert into t1 values(9);
insert into t2 select * from t1;
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Query # # use `test`; BEGIN
master-bin.000001 # Query # # use `test`; insert into t1 values(9)
master-bin.000001 # Xid # # COMMIT /* XID */
master-bin.000001 # Query # # use `test`; insert into t2 select * from t1
@@ -111,6 +112,7 @@ begin;
insert into t2 select * from t1;
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Query # # use `test`; BEGIN
master-bin.000001 # Query # # use `test`; insert into t1 values(10)
master-bin.000001 # Xid # # COMMIT /* XID */
master-bin.000001 # Query # # use `test`; insert into t2 select * from t1
@@ -118,6 +120,7 @@ insert into t1 values(11);
commit;
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Query # # use `test`; BEGIN
master-bin.000001 # Query # # use `test`; insert into t1 values(10)
master-bin.000001 # Xid # # COMMIT /* XID */
master-bin.000001 # Query # # use `test`; insert into t2 select * from t1
@@ -233,18 +236,22 @@ master-bin.000001 # Query # # use `test`; BEGIN
master-bin.000001 # Query # # use `test`; insert into t1 values(16)
master-bin.000001 # Query # # use `test`; insert into t1 values(18)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Query # # use `test`; BEGIN
master-bin.000001 # Query # # use `test`; delete from t1
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Query # # use `test`; BEGIN
master-bin.000001 # Query # # use `test`; delete from t2
master-bin.000001 # Xid # # COMMIT /* XID */
master-bin.000001 # Query # # use `test`; alter table t2 engine=MyISAM
+master-bin.000001 # Query # # use `test`; BEGIN
master-bin.000001 # Query # # use `test`; insert into t1 values (1)
master-bin.000001 # Xid # # COMMIT /* XID */
master-bin.000001 # Query # # use `test`; insert into t2 values (20)
master-bin.000001 # Query # # use `test`; drop table t1,t2
master-bin.000001 # Query # # use `test`; create temporary table ti (a int) engine=innodb
+master-bin.000001 # Query # # use `test`; BEGIN
master-bin.000001 # Query # # use `test`; insert into ti values(1)
-master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Query # # use `test`; COMMIT
master-bin.000001 # Query # # use `test`; create temporary table t1 (a int) engine=myisam
master-bin.000001 # Query # # use `test`; insert t1 values (1)
master-bin.000001 # Query # # use `test`; create table t0 (n int)
@@ -339,6 +346,7 @@ master-bin.000001 # Query # # use `test`; INSERT INTO t1 values (3,3)
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS t2
master-bin.000001 # Query # # use `test`; CREATE TABLE t2 (a int, b int, primary key (a)) engine=innodb
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (4,4)
+master-bin.000001 # Query # # use `test`; BEGIN
master-bin.000001 # Query # # use `test`; TRUNCATE table t2
master-bin.000001 # Xid # # COMMIT /* XID */
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (5,5)
@@ -348,12 +356,13 @@ master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE t2 (a int, b in
master-bin.000001 # Query # # use `test`; INSERT INTO t1 values (7,7)
master-bin.000001 # Query # # use `test`; INSERT INTO t1 values (8,8)
master-bin.000001 # Query # # use `test`; INSERT INTO t1 values (9,9)
+master-bin.000001 # Query # # use `test`; BEGIN
master-bin.000001 # Query # # use `test`; TRUNCATE table t2
-master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Query # # use `test`; COMMIT
master-bin.000001 # Query # # use `test`; INSERT INTO t1 values (10,10)
master-bin.000001 # Query # # use `test`; BEGIN
master-bin.000001 # Query # # use `test`; INSERT INTO t2 values (100,100)
-master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Query # # use `test`; COMMIT
master-bin.000001 # Query # # use `test`; DROP TABLE t1,t2
reset master;
create table t1 (a int) engine=innodb;
@@ -375,17 +384,16 @@ is not null;
is not null
1
select
-@a like "%#%error_code=0%ROLLBACK/*!*/;%ROLLBACK /* added by mysqlbinlog */;%",
+@a like "%#%error_code=0%ROLLBACK\n/*!*/;%ROLLBACK /* added by mysqlbinlog */;%" OR
+@a like "%#%error_code=0%ROLLBACK\r\n/*!*/;%ROLLBACK /* added by mysqlbinlog */;%",
@a not like "%#%error_code=%error_code=%";
-@a like "%#%error_code=0%ROLLBACK/*!*/;%ROLLBACK /* added by mysqlbinlog */;%" @a not like "%#%error_code=%error_code=%"
+@a like "%#%error_code=0%ROLLBACK\n/*!*/;%ROLLBACK /* added by mysqlbinlog */;%" OR
+@a like "%#%error_code=0%ROLLBACK\r\n/*!*/;%ROLLBACK /* added by mysqlbinlog */;%" @a not like "%#%error_code=%error_code=%"
1 1
drop table t1, t2;
-create table tt (a int unique);
+create temporary table tt (a int unique);
create table ti (a int) engine=innodb;
reset master;
-show master status;
-File Position Binlog_Do_DB Binlog_Ignore_DB
-master-bin.000001 106
begin;
insert into ti values (1);
insert into ti values (2) ;
@@ -396,16 +404,13 @@ Warning 1196 Some non-transactional changed tables couldn't be rolled back
select count(*) from tt /* 2 */;
count(*)
2
-show master status;
-File Position Binlog_Do_DB Binlog_Ignore_DB
-master-bin.000001 515
-show binlog events from 106;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query 1 # use `test`; BEGIN
-master-bin.000001 # Query 1 # use `test`; insert into ti values (1)
-master-bin.000001 # Query 1 # use `test`; insert into ti values (2)
-master-bin.000001 # Query 1 # use `test`; insert into tt select * from ti
-master-bin.000001 # Query 1 # use `test`; ROLLBACK
+show binlog events from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Query # # use `test`; BEGIN
+master-bin.000001 # Query # # use `test`; insert into ti values (1)
+master-bin.000001 # Query # # use `test`; insert into ti values (2)
+master-bin.000001 # Query # # use `test`; insert into tt select * from ti
+master-bin.000001 # Query # # use `test`; ROLLBACK
select count(*) from ti /* zero */;
count(*)
0
@@ -417,9 +422,6 @@ a
delete from ti;
delete from tt where a=1;
reset master;
-show master status;
-File Position Binlog_Do_DB Binlog_Ignore_DB
-master-bin.000001 106
begin;
insert into ti values (1);
insert into ti values (2) /* to make the dup error in the following */;
@@ -428,16 +430,13 @@ ERROR 23000: Duplicate entry '2' for key 'a'
rollback;
Warnings:
Warning 1196 Some non-transactional changed tables couldn't be rolled back
-show master status;
-File Position Binlog_Do_DB Binlog_Ignore_DB
-master-bin.000001 589
-show binlog events from 106;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query 1 # use `test`; BEGIN
-master-bin.000001 # Query 1 # use `test`; insert into ti values (1)
-master-bin.000001 # Query 1 # use `test`; insert into ti values (2) /* to make the dup error in the following */
-master-bin.000001 # Query 1 # use `test`; insert into tt select * from ti /* one affected and error */
-master-bin.000001 # Query 1 # use `test`; ROLLBACK
+show binlog events from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Query # # use `test`; BEGIN
+master-bin.000001 # Query # # use `test`; insert into ti values (1)
+master-bin.000001 # Query # # use `test`; insert into ti values (2) /* to make the dup error in the following */
+master-bin.000001 # Query # # use `test`; insert into tt select * from ti /* one affected and error */
+master-bin.000001 # Query # # use `test`; ROLLBACK
select count(*) from ti /* zero */;
count(*)
0
@@ -446,12 +445,12 @@ select * from tt /* that is what otherwise slave missed - the bug */;
a
1
2
-drop table ti,tt;
+drop table ti, tt;
drop function if exists bug27417;
drop table if exists t1,t2;
CREATE TABLE t1 (a int NOT NULL auto_increment primary key) ENGINE=MyISAM;
CREATE TABLE t2 (a int NOT NULL auto_increment, PRIMARY KEY (a));
-create function bug27417(n int)
+create function bug27417(n int)
RETURNS int(11)
begin
insert into t1 values (null);
@@ -463,6 +462,11 @@ insert into t2 select bug27417(2);
reset master;
insert into t2 values (bug27417(2));
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
+show binlog events from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Intvar # # INSERT_ID=3
+master-bin.000001 # Query # # use `test`; insert into t2 values (bug27417(2))
+/* only (!) with fixes for #23333 will show there is the query */;
select count(*) from t1 /* must be 3 */;
count(*)
3
@@ -474,6 +478,11 @@ delete from t2 where a=bug27417(3);
select count(*) from t2 /* nothing got deleted */;
count(*)
2
+show binlog events from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Intvar # # INSERT_ID=4
+master-bin.000001 # Query # # use `test`; delete from t2 where a=bug27417(3)
+/* the query must be in regardless of #23333 */;
select count(*) from t1 /* must be 5 */;
count(*)
5
@@ -482,6 +491,380 @@ affected rows: 0
select count(*) from t1 /* must be 7 */;
count(*)
7
+drop table t1,t2;
+CREATE TABLE t1 (a int NOT NULL auto_increment primary key) ENGINE=MyISAM;
+CREATE TABLE t2 (a int, PRIMARY KEY (a)) ENGINE=InnoDB;
+CREATE TABLE t3 (a int, PRIMARY KEY (a), b int unique) ENGINE=MyISAM;
+CREATE TABLE t4 (a int, PRIMARY KEY (a), b int unique) ENGINE=Innodb;
+CREATE TABLE t5 (a int, PRIMARY KEY (a)) ENGINE=InnoDB;
+insert into t2 values (1);
+reset master;
+insert into t2 values (bug27417(1));
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
+show binlog events from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Query # # use `test`; BEGIN
+master-bin.000001 # Intvar # # INSERT_ID=1
+master-bin.000001 # Query # # use `test`; insert into t2 values (bug27417(1))
+master-bin.000001 # Query # # use `test`; ROLLBACK
+/* the output must denote there is the query */;
+select count(*) from t1 /* must be 1 */;
+count(*)
+1
+delete from t1;
+delete from t2;
+insert into t2 values (2);
+reset master;
+insert into t2 select bug27417(1) union select bug27417(2);
+ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
+show binlog events from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Query # # use `test`; BEGIN
+master-bin.000001 # Intvar # # INSERT_ID=2
+master-bin.000001 # Query # # use `test`; insert into t2 select bug27417(1) union select bug27417(2)
+master-bin.000001 # Query # # use `test`; ROLLBACK
+/* the output must denote there is the query */;
+select count(*) from t1 /* must be 2 */;
+count(*)
+2
+delete from t1;
+insert into t3 values (1,1),(2,3),(3,4);
+reset master;
+update t3 set b=b+bug27417(1);
+ERROR 23000: Duplicate entry '4' for key 'b'
+show binlog events from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Intvar # # INSERT_ID=4
+master-bin.000001 # Query # # use `test`; update t3 set b=b+bug27417(1)
+/* the output must denote there is the query */;
+select count(*) from t1 /* must be 2 */;
+count(*)
+2
+delete from t3;
+delete from t4;
+insert into t3 values (1,1);
+insert into t4 values (1,1),(2,2);
+reset master;
+UPDATE t4,t3 SET t4.a=t3.a + bug27417(1) /* top level non-ta table */;
+ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
+show binlog events from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Intvar # # INSERT_ID=6
+master-bin.000001 # Query # # use `test`; UPDATE t4,t3 SET t4.a=t3.a + bug27417(1) /* top level non-ta table */
+/* the output must denote there is the query */;
+select count(*) from t1 /* must be 4 */;
+count(*)
+4
+delete from t1;
+delete from t3;
+delete from t4;
+insert into t3 values (1,1),(2,2);
+insert into t4 values (1,1),(2,2);
+reset master;
+UPDATE t3,t4 SET t3.a=t4.a + bug27417(1);
+ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
+select count(*) from t1 /* must be 1 */;
+count(*)
+1
+drop table t4;
+delete from t1;
+delete from t2;
+delete from t3;
+insert into t2 values (1);
+insert into t3 values (1,1);
+create trigger trg_del before delete on t2 for each row
+insert into t3 values (bug27417(1), 2);
+reset master;
+delete from t2;
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
+show binlog events from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Query # # use `test`; BEGIN
+master-bin.000001 # Intvar # # INSERT_ID=9
+master-bin.000001 # Query # # use `test`; delete from t2
+master-bin.000001 # Query # # use `test`; ROLLBACK
+/* the output must denote there is the query */;
+select count(*) from t1 /* must be 1 */;
+count(*)
+1
+drop trigger trg_del;
+delete from t1;
+delete from t2;
+delete from t5;
+create trigger trg_del_t2 after delete on t2 for each row
+insert into t1 values (1);
+insert into t2 values (2),(3);
+insert into t5 values (1),(2);
+reset master;
+delete t2.* from t2,t5 where t2.a=t5.a + 1;
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
+show binlog events from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Query # # use `test`; BEGIN
+master-bin.000001 # Query # # use `test`; delete t2.* from t2,t5 where t2.a=t5.a + 1
+master-bin.000001 # Query # # use `test`; ROLLBACK
+/* the output must denote there is the query */;
+select count(*) from t1 /* must be 1 */;
+count(*)
+1
+delete from t1;
+create table t4 (a int default 0, b int primary key) engine=innodb;
+insert into t4 values (0, 17);
+reset master;
+load data infile '../std_data_ln/rpl_loaddata.dat' into table t4 (a, @b) set b= @b + bug27417(2);
+ERROR 23000: Duplicate entry '17' for key 'PRIMARY'
+select * from t4;
+a b
+0 17
+select count(*) from t1 /* must be 2 */;
+count(*)
+2
+show binlog events from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Query # # use `test`; BEGIN
+master-bin.000001 # Intvar # # INSERT_ID=10
+master-bin.000001 # Begin_load_query # # ;file_id=#;block_len=12
+master-bin.000001 # Intvar # # INSERT_ID=10
+master-bin.000001 # Execute_load_query # # use `test`; load data infile '../std_data_ln/rpl_loaddata.dat' into table t4 (a, @b) set b= @b + bug27417(2) ;file_id=#
+master-bin.000001 # Query # # use `test`; ROLLBACK
+/* the output must denote there is the query */;
+drop trigger trg_del_t2;
+drop table t1,t2,t3,t4,t5;
drop function bug27417;
+end of tests
+set @@session.binlog_format=statement;
+create temporary table tt (a int unique);
+create table ti (a int) engine=innodb;
+reset master;
+begin;
+insert into ti values (1);
+insert into ti values (2) ;
+insert into tt select * from ti;
+rollback;
+Warnings:
+Warning 1196 Some non-transactional changed tables couldn't be rolled back
+select count(*) from tt /* 2 */;
+count(*)
+2
+show binlog events from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Query # # use `test`; BEGIN
+master-bin.000001 # Query # # use `test`; insert into ti values (1)
+master-bin.000001 # Query # # use `test`; insert into ti values (2)
+master-bin.000001 # Query # # use `test`; insert into tt select * from ti
+master-bin.000001 # Query # # use `test`; ROLLBACK
+select count(*) from ti /* zero */;
+count(*)
+0
+insert into ti select * from tt;
+select * from ti /* that is what slave would miss - bug#28960 */;
+a
+1
+2
+delete from ti;
+delete from tt where a=1;
+reset master;
+begin;
+insert into ti values (1);
+insert into ti values (2) /* to make the dup error in the following */;
+insert into tt select * from ti /* one affected and error */;
+ERROR 23000: Duplicate entry '2' for key 'a'
+rollback;
+Warnings:
+Warning 1196 Some non-transactional changed tables couldn't be rolled back
+show binlog events from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Query # # use `test`; BEGIN
+master-bin.000001 # Query # # use `test`; insert into ti values (1)
+master-bin.000001 # Query # # use `test`; insert into ti values (2) /* to make the dup error in the following */
+master-bin.000001 # Query # # use `test`; insert into tt select * from ti /* one affected and error */
+master-bin.000001 # Query # # use `test`; ROLLBACK
+select count(*) from ti /* zero */;
+count(*)
+0
+insert into ti select * from tt;
+select * from tt /* that is what otherwise slave missed - the bug */;
+a
+1
+2
+drop table ti;
+drop function if exists bug27417;
+drop table if exists t1,t2;
+CREATE TABLE t1 (a int NOT NULL auto_increment primary key) ENGINE=MyISAM;
+CREATE TABLE t2 (a int NOT NULL auto_increment, PRIMARY KEY (a));
+create function bug27417(n int)
+RETURNS int(11)
+begin
+insert into t1 values (null);
+return n;
+end|
+reset master;
+insert into t2 values (bug27417(1));
+insert into t2 select bug27417(2);
+reset master;
+insert into t2 values (bug27417(2));
+ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
+show binlog events from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Intvar # # INSERT_ID=3
+master-bin.000001 # Query # # use `test`; insert into t2 values (bug27417(2))
+select count(*) from t1 /* must be 3 */;
+count(*)
+3
+reset master;
+select count(*) from t2;
+count(*)
+2
+delete from t2 where a=bug27417(3);
+select count(*) from t2 /* nothing got deleted */;
+count(*)
+2
+show binlog events from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Intvar # # INSERT_ID=4
+master-bin.000001 # Query # # use `test`; delete from t2 where a=bug27417(3)
+select count(*) from t1 /* must be 5 */;
+count(*)
+5
+delete t2 from t2 where t2.a=bug27417(100) /* must not affect t2 */;
+affected rows: 0
+select count(*) from t1 /* must be 7 */;
+count(*)
+7
drop table t1,t2;
+CREATE TABLE t1 (a int NOT NULL auto_increment primary key) ENGINE=MyISAM;
+CREATE TABLE t2 (a int, PRIMARY KEY (a)) ENGINE=InnoDB;
+CREATE TABLE t3 (a int, PRIMARY KEY (a), b int unique) ENGINE=MyISAM;
+CREATE TABLE t4 (a int, PRIMARY KEY (a), b int unique) ENGINE=Innodb;
+CREATE TABLE t5 (a int, PRIMARY KEY (a)) ENGINE=InnoDB;
+insert into t2 values (1);
+reset master;
+insert into t2 values (bug27417(1));
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
+show binlog events from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Query # # use `test`; BEGIN
+master-bin.000001 # Intvar # # INSERT_ID=1
+master-bin.000001 # Query # # use `test`; insert into t2 values (bug27417(1))
+master-bin.000001 # Query # # use `test`; ROLLBACK
+select count(*) from t1 /* must be 1 */;
+count(*)
+1
+delete from t1;
+delete from t2;
+insert into t2 values (2);
+reset master;
+insert into t2 select bug27417(1) union select bug27417(2);
+ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
+show binlog events from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Query # # use `test`; BEGIN
+master-bin.000001 # Intvar # # INSERT_ID=2
+master-bin.000001 # Query # # use `test`; insert into t2 select bug27417(1) union select bug27417(2)
+master-bin.000001 # Query # # use `test`; ROLLBACK
+select count(*) from t1 /* must be 2 */;
+count(*)
+2
+delete from t1;
+insert into t3 values (1,1),(2,3),(3,4);
+reset master;
+update t3 set b=b+bug27417(1);
+ERROR 23000: Duplicate entry '4' for key 'b'
+show binlog events from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Intvar # # INSERT_ID=4
+master-bin.000001 # Query # # use `test`; update t3 set b=b+bug27417(1)
+select count(*) from t1 /* must be 2 */;
+count(*)
+2
+delete from t3;
+delete from t4;
+insert into t3 values (1,1);
+insert into t4 values (1,1),(2,2);
+reset master;
+UPDATE t4,t3 SET t4.a=t3.a + bug27417(1) /* top level non-ta table */;
+ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
+show binlog events from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Intvar # # INSERT_ID=6
+master-bin.000001 # Query # # use `test`; UPDATE t4,t3 SET t4.a=t3.a + bug27417(1) /* top level non-ta table */
+select count(*) from t1 /* must be 4 */;
+count(*)
+4
+delete from t1;
+delete from t3;
+delete from t4;
+insert into t3 values (1,1),(2,2);
+insert into t4 values (1,1),(2,2);
+reset master;
+UPDATE t3,t4 SET t3.a=t4.a + bug27417(1);
+ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
+select count(*) from t1 /* must be 1 */;
+count(*)
+1
+drop table t4;
+delete from t1;
+delete from t2;
+delete from t3;
+insert into t2 values (1);
+insert into t3 values (1,1);
+create trigger trg_del before delete on t2 for each row
+insert into t3 values (bug27417(1), 2);
+reset master;
+delete from t2;
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
+show binlog events from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Query # # use `test`; BEGIN
+master-bin.000001 # Intvar # # INSERT_ID=9
+master-bin.000001 # Query # # use `test`; delete from t2
+master-bin.000001 # Query # # use `test`; ROLLBACK
+select count(*) from t1 /* must be 1 */;
+count(*)
+1
+drop trigger trg_del;
+delete from t1;
+delete from t2;
+delete from t5;
+create trigger trg_del_t2 after delete on t2 for each row
+insert into t1 values (1);
+insert into t2 values (2),(3);
+insert into t5 values (1),(2);
+reset master;
+delete t2.* from t2,t5 where t2.a=t5.a + 1;
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
+show binlog events from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Query # # use `test`; BEGIN
+master-bin.000001 # Query # # use `test`; delete t2.* from t2,t5 where t2.a=t5.a + 1
+master-bin.000001 # Query # # use `test`; ROLLBACK
+select count(*) from t1 /* must be 1 */;
+count(*)
+1
+delete from t1;
+create table t4 (a int default 0, b int primary key) engine=innodb;
+insert into t4 values (0, 17);
+reset master;
+load data infile '../std_data_ln/rpl_loaddata.dat' into table t4 (a, @b) set b= @b + bug27417(2);
+ERROR 23000: Duplicate entry '17' for key 'PRIMARY'
+select * from t4;
+a b
+0 17
+select count(*) from t1 /* must be 2 */;
+count(*)
+2
+show binlog events from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Query # # use `test`; BEGIN
+master-bin.000001 # Intvar # # INSERT_ID=10
+master-bin.000001 # User var # # @`b`=_latin1 0x3135 COLLATE latin1_swedish_ci
+master-bin.000001 # Begin_load_query # # ;file_id=#;block_len=12
+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_ln/rpl_loaddata.dat' into table t4 (a, @b) set b= @b + bug27417(2) ;file_id=#
+master-bin.000001 # Query # # use `test`; ROLLBACK
+drop trigger trg_del_t2;
+drop table t1,t2,t3,t4,t5;
+drop function bug27417;
+set @@session.binlog_format=@@global.binlog_format;
end of tests
diff --git a/mysql-test/suite/binlog/r/binlog_stm_ps.result b/mysql-test/suite/binlog/r/binlog_stm_ps.result
index 47934665116..1cf7429987e 100644
--- a/mysql-test/suite/binlog/r/binlog_stm_ps.result
+++ b/mysql-test/suite/binlog/r/binlog_stm_ps.result
@@ -10,6 +10,8 @@ execute s using @a;
prepare s from "insert into t1 select 100 limit ?";
set @a=100;
execute s using @a;
+Warnings:
+Warning 1592 Statement is not safe to log in statement format.
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)
diff --git a/mysql-test/suite/binlog/r/binlog_unsafe.result b/mysql-test/suite/binlog/r/binlog_unsafe.result
new file mode 100644
index 00000000000..1f7b217dc31
--- /dev/null
+++ b/mysql-test/suite/binlog/r/binlog_unsafe.result
@@ -0,0 +1,222 @@
+==== Setup tables ====
+CREATE TABLE t1 (a INT);
+CREATE TABLE t2 (a CHAR(40));
+CREATE TABLE t3 (a INT AUTO_INCREMENT PRIMARY KEY);
+CREATE TABLE trigger_table (a CHAR(7));
+CREATE TABLE trigger_table2 (a INT);
+==== Non-deterministic statements ====
+INSERT DELAYED INTO t1 VALUES (5);
+==== Some variables that *should* be unsafe ====
+---- Insert directly ----
+INSERT INTO t1 VALUES (@@global.sync_binlog);
+Warnings:
+Warning 1592 Statement is not safe to log in statement format.
+INSERT INTO t1 VALUES (@@session.insert_id);
+Warnings:
+Warning 1592 Statement is not safe to log in statement format.
+INSERT INTO t1 VALUES (@@global.auto_increment_increment);
+Warnings:
+Warning 1592 Statement is not safe to log in statement format.
+INSERT INTO t2 SELECT UUID();
+Warnings:
+Warning 1592 Statement is not safe to log in statement format.
+INSERT INTO t2 VALUES (@@session.sql_mode);
+Warnings:
+Warning 1592 Statement is not safe to log in statement format.
+INSERT INTO t2 VALUES (@@global.init_slave);
+Warnings:
+Warning 1592 Statement is not safe to log in statement format.
+INSERT INTO t2 VALUES (@@hostname);
+Warnings:
+Warning 1592 Statement is not safe to log in statement format.
+---- Insert from stored procedure ----
+CREATE PROCEDURE proc()
+BEGIN
+INSERT INTO t1 VALUES (@@global.sync_binlog);
+INSERT INTO t1 VALUES (@@session.insert_id);
+INSERT INTO t1 VALUES (@@global.auto_increment_increment);
+INSERT INTO t2 SELECT UUID();
+INSERT INTO t2 VALUES (@@session.sql_mode);
+INSERT INTO t2 VALUES (@@global.init_slave);
+INSERT INTO t2 VALUES (@@hostname);
+END|
+CALL proc();
+Warnings:
+Warning 1592 Statement is not safe to log in statement format.
+Warning 1592 Statement is not safe to log in statement format.
+Warning 1592 Statement is not safe to log in statement format.
+Warning 1592 Statement is not safe to log in statement format.
+Warning 1592 Statement is not safe to log in statement format.
+Warning 1592 Statement is not safe to log in statement format.
+Warning 1592 Statement is not safe to log in statement format.
+---- Insert from stored function ----
+CREATE FUNCTION func()
+RETURNS INT
+BEGIN
+INSERT INTO t1 VALUES (@@global.sync_binlog);
+INSERT INTO t1 VALUES (@@session.insert_id);
+INSERT INTO t1 VALUES (@@global.auto_increment_increment);
+INSERT INTO t2 SELECT UUID();
+INSERT INTO t2 VALUES (@@session.sql_mode);
+INSERT INTO t2 VALUES (@@global.init_slave);
+INSERT INTO t2 VALUES (@@hostname);
+RETURN 0;
+END|
+SELECT func();
+func()
+0
+Warnings:
+Warning 1592 Statement is not safe to log in statement format.
+Warning 1592 Statement is not safe to log in statement format.
+Warning 1592 Statement is not safe to log in statement format.
+Warning 1592 Statement is not safe to log in statement format.
+Warning 1592 Statement is not safe to log in statement format.
+Warning 1592 Statement is not safe to log in statement format.
+Warning 1592 Statement is not safe to log in statement format.
+---- Insert from trigger ----
+CREATE TRIGGER trig
+BEFORE INSERT ON trigger_table
+FOR EACH ROW
+BEGIN
+INSERT INTO t1 VALUES (@@global.sync_binlog);
+INSERT INTO t1 VALUES (@@session.insert_id);
+INSERT INTO t1 VALUES (@@global.auto_increment_increment);
+INSERT INTO t2 SELECT UUID();
+INSERT INTO t2 VALUES (@@session.sql_mode);
+INSERT INTO t2 VALUES (@@global.init_slave);
+INSERT INTO t2 VALUES (@@hostname);
+END|
+INSERT INTO trigger_table VALUES ('bye.');
+Warnings:
+Warning 1592 Statement is not safe to log in statement format.
+Warning 1592 Statement is not safe to log in statement format.
+Warning 1592 Statement is not safe to log in statement format.
+Warning 1592 Statement is not safe to log in statement format.
+Warning 1592 Statement is not safe to log in statement format.
+Warning 1592 Statement is not safe to log in statement format.
+Warning 1592 Statement is not safe to log in statement format.
+Warning 1592 Statement is not safe to log in statement format.
+---- Insert from prepared statement ----
+PREPARE p1 FROM 'INSERT INTO t1 VALUES (@@global.sync_binlog)';
+PREPARE p2 FROM 'INSERT INTO t1 VALUES (@@session.insert_id)';
+PREPARE p3 FROM 'INSERT INTO t1 VALUES (@@global.auto_increment_increment)';
+PREPARE p4 FROM 'INSERT INTO t2 SELECT UUID()';
+PREPARE p5 FROM 'INSERT INTO t2 VALUES (@@session.sql_mode)';
+PREPARE p6 FROM 'INSERT INTO t2 VALUES (@@global.init_slave)';
+PREPARE p7 FROM 'INSERT INTO t2 VALUES (@@hostname)';
+EXECUTE p1;
+Warnings:
+Warning 1592 Statement is not safe to log in statement format.
+EXECUTE p2;
+Warnings:
+Warning 1592 Statement is not safe to log in statement format.
+EXECUTE p3;
+Warnings:
+Warning 1592 Statement is not safe to log in statement format.
+EXECUTE p4;
+Warnings:
+Warning 1592 Statement is not safe to log in statement format.
+EXECUTE p5;
+Warnings:
+Warning 1592 Statement is not safe to log in statement format.
+EXECUTE p6;
+Warnings:
+Warning 1592 Statement is not safe to log in statement format.
+EXECUTE p7;
+Warnings:
+Warning 1592 Statement is not safe to log in statement format.
+---- Insert from nested call of triggers / functions / procedures ----
+CREATE PROCEDURE proc1()
+INSERT INTO trigger_table VALUES ('ha!')|
+CREATE FUNCTION func2()
+RETURNS INT
+BEGIN
+CALL proc1();
+RETURN 0;
+END|
+CREATE TRIGGER trig3
+BEFORE INSERT ON trigger_table2
+FOR EACH ROW
+BEGIN
+DECLARE tmp INT;
+SELECT func2() INTO tmp;
+END|
+CREATE PROCEDURE proc4()
+INSERT INTO trigger_table2 VALUES (1)|
+CREATE FUNCTION func5()
+RETURNS INT
+BEGIN
+CALL proc4;
+RETURN 0;
+END|
+PREPARE prep6 FROM 'SELECT func5()'|
+EXECUTE prep6;
+func5()
+0
+Warnings:
+Warning 1592 Statement is not safe to log in statement format.
+Warning 1592 Statement is not safe to log in statement format.
+Warning 1592 Statement is not safe to log in statement format.
+Warning 1592 Statement is not safe to log in statement format.
+Warning 1592 Statement is not safe to log in statement format.
+Warning 1592 Statement is not safe to log in statement format.
+Warning 1592 Statement is not safe to log in statement format.
+==== Variables that should *not* be unsafe ====
+INSERT INTO t1 VALUES (@@session.pseudo_thread_id);
+INSERT INTO t1 VALUES (@@session.pseudo_thread_id);
+INSERT INTO t1 VALUES (@@session.foreign_key_checks);
+INSERT INTO t1 VALUES (@@session.sql_auto_is_null);
+INSERT INTO t1 VALUES (@@session.unique_checks);
+INSERT INTO t1 VALUES (@@session.auto_increment_increment);
+INSERT INTO t1 VALUES (@@session.auto_increment_offset);
+INSERT INTO t2 VALUES (@@session.character_set_client);
+INSERT INTO t2 VALUES (@@session.collation_connection);
+INSERT INTO t2 VALUES (@@session.collation_server);
+INSERT INTO t2 VALUES (@@session.time_zone);
+INSERT INTO t2 VALUES (@@session.lc_time_names);
+INSERT INTO t2 VALUES (@@session.collation_database);
+INSERT INTO t2 VALUES (@@session.timestamp);
+INSERT INTO t2 VALUES (@@session.last_insert_id);
+SET @my_var= 4711;
+INSERT INTO t1 VALUES (@my_var);
+SET insert_id=12;
+INSERT INTO t3 VALUES (NULL);
+==== Clean up ====
+DROP PROCEDURE proc;
+DROP FUNCTION func;
+DROP TRIGGER trig;
+DROP PROCEDURE proc1;
+DROP FUNCTION func2;
+DROP TRIGGER trig3;
+DROP PROCEDURE proc4;
+DROP FUNCTION func5;
+DROP PREPARE prep6;
+DROP TABLE t1, t2, t3, trigger_table, trigger_table2;
+CREATE TABLE t1(a INT, b INT, KEY(a), PRIMARY KEY(b));
+INSERT INTO t1 SELECT * FROM t1 LIMIT 1;
+Warnings:
+Warning 1592 Statement is not safe to log in statement format.
+REPLACE INTO t1 SELECT * FROM t1 LIMIT 1;
+Warnings:
+Warning 1592 Statement is not safe to log in statement format.
+UPDATE t1 SET a=1 LIMIT 1;
+Warnings:
+Warning 1592 Statement is not safe to log in statement format.
+DELETE FROM t1 LIMIT 1;
+Warnings:
+Warning 1592 Statement is not safe to log in statement format.
+CREATE PROCEDURE p1()
+BEGIN
+INSERT INTO t1 SELECT * FROM t1 LIMIT 1;
+REPLACE INTO t1 SELECT * FROM t1 LIMIT 1;
+UPDATE t1 SET a=1 LIMIT 1;
+DELETE FROM t1 LIMIT 1;
+END|
+CALL p1();
+Warnings:
+Warning 1592 Statement is not safe to log in statement format.
+Warning 1592 Statement is not safe to log in statement format.
+Warning 1592 Statement is not safe to log in statement format.
+Warning 1592 Statement is not safe to log in statement format.
+DROP PROCEDURE p1;
+DROP TABLE t1;
diff --git a/mysql-test/suite/binlog/std_data/binlog_old_version_4_1.000001 b/mysql-test/suite/binlog/std_data/binlog_old_version_4_1.000001
new file mode 100644
index 00000000000..66db9668d46
--- /dev/null
+++ b/mysql-test/suite/binlog/std_data/binlog_old_version_4_1.000001
Binary files differ
diff --git a/mysql-test/suite/binlog/std_data/bug32407.001 b/mysql-test/suite/binlog/std_data/bug32407.001
new file mode 100644
index 00000000000..c73243707ef
--- /dev/null
+++ b/mysql-test/suite/binlog/std_data/bug32407.001
Binary files differ
diff --git a/mysql-test/suite/binlog/std_data/ver_5_1-telco.001 b/mysql-test/suite/binlog/std_data/ver_5_1-telco.001
new file mode 100644
index 00000000000..76856cb04a2
--- /dev/null
+++ b/mysql-test/suite/binlog/std_data/ver_5_1-telco.001
Binary files differ
diff --git a/mysql-test/suite/binlog/std_data/ver_5_1-wl2325_r.001 b/mysql-test/suite/binlog/std_data/ver_5_1-wl2325_r.001
new file mode 100644
index 00000000000..47071c011f9
--- /dev/null
+++ b/mysql-test/suite/binlog/std_data/ver_5_1-wl2325_r.001
Binary files differ
diff --git a/mysql-test/suite/binlog/std_data/ver_5_1-wl2325_s.001 b/mysql-test/suite/binlog/std_data/ver_5_1-wl2325_s.001
new file mode 100644
index 00000000000..4302bfed879
--- /dev/null
+++ b/mysql-test/suite/binlog/std_data/ver_5_1-wl2325_s.001
Binary files differ
diff --git a/mysql-test/suite/binlog/std_data/ver_5_1_17.001 b/mysql-test/suite/binlog/std_data/ver_5_1_17.001
new file mode 100644
index 00000000000..9b6e200e492
--- /dev/null
+++ b/mysql-test/suite/binlog/std_data/ver_5_1_17.001
Binary files differ
diff --git a/mysql-test/suite/binlog/std_data/ver_5_1_23.001 b/mysql-test/suite/binlog/std_data/ver_5_1_23.001
new file mode 100644
index 00000000000..0e9a9d1470a
--- /dev/null
+++ b/mysql-test/suite/binlog/std_data/ver_5_1_23.001
Binary files differ
diff --git a/mysql-test/suite/binlog/t/binlog_base64_flag.test b/mysql-test/suite/binlog/t/binlog_base64_flag.test
new file mode 100644
index 00000000000..a25c6b68420
--- /dev/null
+++ b/mysql-test/suite/binlog/t/binlog_base64_flag.test
@@ -0,0 +1,106 @@
+# This test case verifies that the mysqlbinlog --base64-output=X flags
+# work as expected, and that BINLOG statements with row events fail if
+# they are not preceded by BINLOG statements with Format description
+# events.
+#
+# See also BUG#32407.
+
+
+# BINLOG statement does not work in embedded mode.
+source include/not_embedded.inc;
+
+
+# Test to show BUG#32407. This reads a binlog created with the
+# mysql-5.1-telco-6.1 tree, specifically at the tag
+# mysql-5.1.15-ndb-6.1.23, and applies it to the database. The test
+# should fail before BUG#32407 was fixed and succeed afterwards.
+--echo ==== Test BUG#32407 ====
+
+# The binlog contains row events equivalent to:
+# CREATE TABLE t1 (a int) engine = myisam
+# INSERT INTO t1 VALUES (1), (1)
+exec $MYSQL_BINLOG suite/binlog/std_data/bug32407.001 | $MYSQL;
+# The above line should succeed and t1 should contain two ones
+select * from t1;
+
+
+# Test that a BINLOG statement encoding a row event fails unless a
+# Format_description_event as been supplied with an earlier BINLOG
+# statement.
+--echo ==== Test BINLOG statement w/o FD event ====
+
+# This is a binlog statement consisting of one Table_map_log_event and
+# one Write_rows_log_event. Together, they correspond to the
+# following query:
+# INSERT INTO TABLE test.t1 VALUES (2)
+
+error ER_NO_FORMAT_DESCRIPTION_EVENT_BEFORE_BINLOG_STATEMENT;
+BINLOG '
+SVtYRxMBAAAAKQAAADQBAAAAABAAAAAAAAAABHRlc3QAAnQxAAEDAAE=
+SVtYRxcBAAAAIgAAAFYBAAAQABAAAAAAAAEAAf/+AgAAAA==
+';
+# The above line should fail and 2 should not be in the table
+select * from t1;
+
+
+# Test that it works to read a Format_description_log_event with a
+# BINLOG statement, followed by a row-event in base64 from the same
+# version.
+--echo ==== Test BINLOG statement with FD event ====
+
+# This is a binlog statement containing a Format_description_log_event
+# from the same version as the Table_map and Write_rows_log_event.
+BINLOG '
+ODdYRw8BAAAAZgAAAGoAAAABAAQANS4xLjIzLXJjLWRlYnVnLWxvZwAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAA4N1hHEzgNAAgAEgAEBAQEEgAAUwAEGggAAAAICAgC
+';
+
+# This is a Table_map_log_event+Write_rows_log_event corresponding to:
+# INSERT INTO TABLE test.t1 VALUES (3)
+BINLOG '
+TFtYRxMBAAAAKQAAAH8BAAAAABAAAAAAAAAABHRlc3QAAnQxAAEDAAE=
+TFtYRxcBAAAAIgAAAKEBAAAQABAAAAAAAAEAAf/+AwAAAA==
+';
+# The above line should succeed and 3 should be in the table
+select * from t1;
+
+
+# Test that mysqlbinlog stops with an error message when the
+# --base64-output=never flag is used on a binlog with base64 events.
+--echo ==== Test --base64-output=never on a binlog with row events ====
+
+# mysqlbinlog should fail
+--replace_regex /#[0-9][0-9][0-9][0-9][0-9][0-9] .*/<#>/ /SET \@\@session.pseudo_thread_id.*/<#>/
+error 1;
+exec $MYSQL_BINLOG --base64-output=never suite/binlog/std_data/bug32407.001;
+# the above line should output the query log event and then stop
+
+
+# Test that the following fails cleanly: "First, read a
+# Format_description event which has N event types. Then, read an
+# event of type M>N"
+--echo ==== Test non-matching FD event and Row event ====
+
+# This is the Format_description_log_event from
+# bug32407.001, encoded in base64. It contains only the old
+# row events (number of event types is 22)
+BINLOG '
+4CdYRw8BAAAAYgAAAGYAAAAAAAQANS4xLjE1LW5kYi02LjEuMjQtZGVidWctbG9nAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAADgJ1hHEzgNAAgAEgAEBAQEEgAATwAEGggICAg=
+';
+
+# The following is a Write_rows_log_event with event type 23, i.e.,
+# not supported by the Format_description_log_event above. It
+# corresponds to the following query:
+# INSERT INTO t1 VALUES (5)
+error 1149;
+BINLOG '
+Dl1YRxMBAAAAKQAAADQBAAAAABAAAAAAAAAABHRlc3QAAnQxAAEDAAE=
+Dl1YRxcBAAAAIgAAAFYBAAAQABAAAAAAAAEAAf/+BQAAAA==
+';
+# the above line should fail and 5 should not be in the binlog.
+select * from t1;
+
+
+# clean up
+drop table t1;
diff --git a/mysql-test/suite/binlog/t/binlog_database.test b/mysql-test/suite/binlog/t/binlog_database.test
new file mode 100644
index 00000000000..ee236b4e5ea
--- /dev/null
+++ b/mysql-test/suite/binlog/t/binlog_database.test
@@ -0,0 +1,12 @@
+# A wrapper to test that dropping a database is binlogged
+# correctly. We test all three modes in the same file to avoid
+# unecessary server restarts.
+
+set binlog_format=statement;
+source extra/binlog_tests/database.test;
+set binlog_format=mixed;
+source extra/binlog_tests/database.test;
+set binlog_format=row;
+source extra/binlog_tests/database.test;
+
+show databases;
diff --git a/mysql-test/suite/binlog/t/binlog_innodb.test b/mysql-test/suite/binlog/t/binlog_innodb.test
index 3bad61db23a..df99e3786ee 100644
--- a/mysql-test/suite/binlog/t/binlog_innodb.test
+++ b/mysql-test/suite/binlog/t/binlog_innodb.test
@@ -130,4 +130,43 @@ show status like "binlog_cache_use";
show status like "binlog_cache_disk_use";
drop table t1;
+#
+# Bug#27716 multi-update did partially and has not binlogged
+#
+
+CREATE TABLE `t1` (
+ `a` int(11) NOT NULL auto_increment,
+ `b` int(11) default NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 ;
+
+CREATE TABLE `t2` (
+ `a` int(11) NOT NULL auto_increment,
+ `b` int(11) default NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=INNODB DEFAULT CHARSET=latin1 ;
+
+# A. testing multi_update::send_eof() execution branch
+insert into t1 values (1,1),(2,2);
+insert into t2 values (1,1),(4,4);
+reset master;
+--error ER_DUP_ENTRY
+UPDATE t2,t1 SET t2.a=t1.a+2;
+# check
+select * from t2 /* must be (3,1), (4,4) */;
+show master status /* there must no UPDATE in binlog */;
+
+# B. testing multi_update::send_error() execution branch
+delete from t1;
+delete from t2;
+insert into t1 values (1,2),(3,4),(4,4);
+insert into t2 values (1,2),(3,4),(4,4);
+reset master;
+--error ER_DUP_ENTRY
+UPDATE t2,t1 SET t2.a=t2.b where t2.a=t1.a;
+show master status /* there must be no UPDATE query event */;
+
+# cleanup bug#27716
+drop table t1, t2;
+
--echo End of tests
diff --git a/mysql-test/suite/binlog/t/binlog_killed.test b/mysql-test/suite/binlog/t/binlog_killed.test
index 6c0b4b46a4e..ab8a8cd59bd 100644
--- a/mysql-test/suite/binlog/t/binlog_killed.test
+++ b/mysql-test/suite/binlog/t/binlog_killed.test
@@ -39,7 +39,7 @@ connection con2;
reap;
let $rows= `select count(*) from t2 /* must be 2 or 0 */`;
---exec $MYSQL_BINLOG --start-position=134 $MYSQLTEST_VARDIR/log/master-bin.000001 > $MYSQLTEST_VARDIR/tmp/kill_query_calling_sp.binlog
+--exec $MYSQL_BINLOG --force-if-open --start-position=134 $MYSQLTEST_VARDIR/log/master-bin.000001 > $MYSQLTEST_VARDIR/tmp/kill_query_calling_sp.binlog
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
eval select
(@a:=load_file("$MYSQLTEST_VARDIR/tmp/kill_query_calling_sp.binlog"))
@@ -55,194 +55,277 @@ enable_result_log;
select @result /* must be zero either way */;
-# the functions are either *insensitive* to killing or killing can cause
-# strange problmes with the error propagation out of SF's stack
-# Bug#27563, Bug#27565, BUG#24971
-#
-# TODO: use if's block as regression test for the bugs or remove
-#
-if (0)
-{
-delimiter |;
-create function bug27563()
-RETURNS int(11)
-DETERMINISTIC
-begin
- select get_lock("a", 10) into @a;
- return 1;
-end|
-delimiter ;|
-# the function is sensitive to killing requiring innodb though with wrong client error
-# TO FIX in BUG#27565; TODO: remove --error 1105 afterwards
-delimiter |;
-create function bug27565()
-RETURNS int(11)
-DETERMINISTIC
-begin
- select a from t1 where a=1 into @a for update;
- return 1;
-end|
-delimiter ;|
+--remove_file $MYSQLTEST_VARDIR/tmp/kill_query_calling_sp.binlog
+connection con1;
+select RELEASE_LOCK("a");
-reset master;
+#
+# bug#27571 asynchronous setting mysql_`query`::error and Query_log_e::error_code
+#
+# checking that killing inside of select loops is safe as before
+# killing after the loop can be only simulated - another test
-### ta table case: killing causes rollback
+delete from t1;
+delete from t2;
+insert into t1 values (1,1),(2,2);
-# A. autocommit ON
+#
+# simple update
+#
connection con1;
-select get_lock("a", 20);
+begin; update t1 set b=11 where a=2;
connection con2;
let $ID= `select connection_id()`;
-send insert into t1 values (bug27563(),1);
+begin;
+send update t1 set b=b+10;
connection con1;
+--replace_result $ID ID
eval kill query $ID;
+rollback;
+
+# Bug #32148 killi query may be ineffective
+# forced to comment out the test's outcome
+# and mask out ineffective ER_QUERY_INTERRUPTED
+# todo1: revert back upon fixing bug#32148
+# todo2: the tests need refining in that
+# killing should wait till the victim requested
+# its lock (wait_condition available in 5.1 tests)
connection con2;
-# todo (re-record test): after bugs 27563,27565 got fixed affected rows will report zero
---enable_info
-# todo: remove 0 return after fixing Bug#27563
--error 0,ER_QUERY_INTERRUPTED
-reap; ### pb: wrong error
---disable_info
-###--replace_column 2 # 5 #
-### show binlog events from 98 /* nothing in binlog unless Bug#27563 */;
-show master status /* must be only FD event unless Bug#27563 */;
-select count(*) from t1 /* must be zero unless Bug#27563 */;
-
-# M. multi-statement-ta
+reap;
+rollback;
+select * from t1 order by a /* must be the same as before (1,1),(2,2) */;
+
+#
+# multi update
+# commented out as Bug #31807 multi-update,delete killing does not report with ER_QUERY_INTERRUPTED
+# in the way
+#
+# connection con1;
+# begin; update t1 set b=b+10;
+
+# connection con2;
+# send update t1 as t_1,t1 as t_2 set t_1.b=11 where t_2.a=2;
+
+# connection con1;
+# --replace_result $ID ID
+# eval kill query $ID;
+# rollback;
+
+# disable_abort_on_error;
+
+# connection con2;
+# --error HY000,ER_QUERY_INTERRUPTED
+# reap;
+# select * from t1 /* must be the same as before (1,1),(2,2) */;
+
+# enable_abort_on_error;
+#
+# simple delete
+#
+connection con1;
+begin; delete from t1 where a=2;
+
connection con2;
let $ID= `select connection_id()`;
begin;
-send insert into t1 values (bug27563(),1);
+send delete from t1 where a=2;
connection con1;
+--replace_result $ID ID
eval kill query $ID;
+rollback;
+
connection con2;
-# todo (re-record test): after bugs 27563,27565 got fixed affected rows will report zero
---enable_info
-# todo: remove 0 return after fixing Bug#27563
--error 0,ER_QUERY_INTERRUPTED
reap;
---disable_info
-select count(*) from t1 /* must be zero unless Bug#27563 */;
-commit;
+rollback;
+# todo1,2 above
+select * from t1 order by a /* must be the same as before (1,1),(2,2) */;
-### non-ta table case: killing must be recorded in binlog
+#
+# multi delete
+# the same as for multi-update
+#
+# connection con1;
+# begin; delete from t1 where a=2;
-reset master;
+# connection con2;
+# send delete t1 from t1 where t1.a=2;
+
+# connection con1;
+# --replace_result $ID ID
+# eval kill query $ID;
+# rollback;
+
+# connection con2;
+# --error 0,ER_QUERY_INTERRUPTED
+# reap;
+# select * from t1 /* must be the same as before (1,1),(2,2) */;
+#
+# insert select
+#
+connection con1;
+--disable_warnings
+drop table if exists t4;
+--enable_warnings
+create table t4 (a int, b int) engine=innodb;
+insert into t4 values (3, 3);
+begin; insert into t1 values (3, 3);
connection con2;
let $ID= `select connection_id()`;
-send insert into t2 values (bug27563(),1);
+begin;
+send insert into t1 select * from t4 for update;
connection con1;
+--replace_result $ID ID
eval kill query $ID;
+rollback;
connection con2;
-# todo: remove 0 return after fixing Bug#27563
--error 0,ER_QUERY_INTERRUPTED
reap;
-select count(*) from t2 /* must be one */;
-#show binlog events from 98 /* must have the insert on non-ta table */;
-show master status /* must have the insert event more to FD */;
-# the value of the error flag of KILLED_QUERY is tested further
+# todo 1,2 above
+rollback;
+select * from t1 /* must be the same as before (1,1),(2,2) */;
-connection con1;
-select RELEASE_LOCK("a");
+drop table t4; # cleanup for the sub-case
-### test with effective killing of SF()
+###
+## non-ta table case: killing must be recorded in binlog
+###
+create table t4 (a int, b int) ENGINE=MyISAM /* for killing update and delete */;
-delete from t1;
-delete from t2;
-insert into t1 values (1,1);
-insert into t2 values (1,1);
+delimiter |;
+create function bug27563(n int)
+RETURNS int(11)
+DETERMINISTIC
+begin
+ if @b > 0 then
+ select get_lock("a", 20) into @a;
+ else
+ set @b= 1;
+ end if;
+ return n;
+end|
+delimiter ;|
+
+#
+# update
+#
-#
-# Bug#27565
-# test where KILL is propagated as error to the top level
-# still another bug with the error message to the user
-# todo: fix reexecute the result file after fixing
-#
-begin; update t1 set b=0 where a=1;
+delete from t4;
+insert into t4 values (1,1), (1,1);
+reset master;
+connection con1;
+select get_lock("a", 20);
connection con2;
let $ID= `select connection_id()`;
-send update t2 set b=bug27565()-1 where a=1;
+set @b= 0;
+send update t4 set b=b + bug27563(b);
connection con1;
+let $wait_condition= select count(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST where state='User lock';
+source include/wait_condition.inc;
+select count(*) FROM INFORMATION_SCHEMA.PROCESSLIST where state='User lock';
+
+--replace_result $ID ID
eval kill query $ID;
-commit;
connection con2;
-# todo: fix Bug #27565 killed query of SF() is not reported correctly and
-# remove 1105 (wrong)
-#--error ER_QUERY_INTERRUPTED
---error 1105,ER_QUERY_INTERRUPTED
-reap; ### pb: wrong error
-select * from t1 /* must be: (1,0) */;
-select * from t2 /* must be as before: (1,1) */;
+--error ER_QUERY_INTERRUPTED
+reap;
+select * from t4 order by b /* must be (1,1), (1,2) */;
+select @b /* must be 1 at the end of a stmt calling bug27563() */;
+--echo must have the update query event more to FD
+source include/show_binlog_events.inc;
-## bug#22725 with effective and propagating killing
-#
-# top-level ta-table
+# a proof the query is binlogged with an error
+
+--exec $MYSQL_BINLOG --force-if-open --start-position=106 $MYSQLTEST_VARDIR/log/master-bin.000001 > $MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+eval select
+(@a:=load_file("$MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog"))
+is not null;
+--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
+let $error_code= `select @a like "%#%error_code=0%" /* must return 0*/`;
+eval select $error_code /* must return 0 to mean the killed query is in */;
+
+# cleanup for the sub-case
connection con1;
-delete from t3;
+select RELEASE_LOCK("a");
+--remove_file $MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog
+
+#
+# delete
+#
+
+delete from t4;
+insert into t4 values (1,1), (2,2);
reset master;
-begin; update t1 set b=0 where a=1;
+connection con1;
+select get_lock("a", 20);
connection con2;
let $ID= `select connection_id()`;
-# the query won't perform completely since the function gets interrupted
-send insert into t3 values (0,0),(1,bug27565());
+set @b= 0;
+send delete from t4 where b=bug27563(1) or b=bug27563(2);
connection con1;
+let $wait_condition= select count(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST where state='User lock';
+source include/wait_condition.inc;
+select count(*) FROM INFORMATION_SCHEMA.PROCESSLIST where state='User lock';
+--replace_result $ID ID
eval kill query $ID;
-rollback;
connection con2;
-# todo: fix Bug #27565 killed query of SF() is not reported correctly and
-# remove 1105 (wrong)
-#--error ER_QUERY_INTERRUPTED
---error 1105,ER_QUERY_INTERRUPTED
-reap; ### pb: wrong error
-select count(*) from t3 /* must be zero */;
-show master status /* nothing in binlog */;
-
-# top-level non-ta-table
-connection con1;
-delete from t2;
-reset master;
-begin; update t1 set b=0 where a=1;
+--error ER_QUERY_INTERRUPTED
+reap;
+select count(*) from t4 /* must be 1 */;
+select @b /* must be 1 at the end of a stmt calling bug27563() */;
+--echo must have the delete query event more to FD
+source include/show_binlog_events.inc;
-connection con2;
-let $ID= `select connection_id()`;
-# the query won't perform completely since the function gets intrurrupted
-send insert into t2 values (0,0),(1,bug27565()) /* non-ta t2 */;
+# a proof the query is binlogged with an error
+
+--exec $MYSQL_BINLOG --force-if-open --start-position=106 $MYSQLTEST_VARDIR/log/master-bin.000001 > $MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+eval select
+(@a:=load_file("$MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog"))
+is not null;
+--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
+let $error_code= `select @a like "%#%error_code=0%" /* must return 0*/`;
+eval select $error_code /* must return 0 to mean the killed query is in */;
+# cleanup for the sub-case
connection con1;
-eval kill query $ID;
-rollback;
+select RELEASE_LOCK("a");
+--remove_file $MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog
-connection con2;
-# todo: fix Bug #27565 killed query of SF() is not reported correctly and
-# remove 1105 (wrong)
-#--error ER_QUERY_INTERRUPTED
---error 1105,ER_QUERY_INTERRUPTED
-reap; ### pb: wrong error
+drop table t4;
-select count(*) from t2 /* count must be one */;
-show master status /* insert into non-ta must be in binlog */;
+#
+# load data - see simulation tests
+#
+
+
+# bug#27571 cleanup
drop function bug27563;
-drop function bug27565;
-}
-system rm $MYSQLTEST_VARDIR/tmp/kill_query_calling_sp.binlog ;
+
+#
+# common cleanup
+#
drop table t1,t2,t3;
+--echo end of the tests
diff --git a/mysql-test/suite/binlog/t/binlog_killed_simulate-master.opt b/mysql-test/suite/binlog/t/binlog_killed_simulate-master.opt
new file mode 100644
index 00000000000..90c70ecee29
--- /dev/null
+++ b/mysql-test/suite/binlog/t/binlog_killed_simulate-master.opt
@@ -0,0 +1 @@
+--loose-debug=d,simulate_kill_bug27571
diff --git a/mysql-test/suite/binlog/t/binlog_killed_simulate.test b/mysql-test/suite/binlog/t/binlog_killed_simulate.test
new file mode 100644
index 00000000000..cb3b5a6e827
--- /dev/null
+++ b/mysql-test/suite/binlog/t/binlog_killed_simulate.test
@@ -0,0 +1,69 @@
+-- source include/have_debug.inc
+-- source include/have_binlog_format_mixed_or_statement.inc
+#
+# bug#27571 asynchronous setting mysql_$query()'s local error and
+# Query_log_event::error_code
+#
+
+--disable_warnings
+drop table if exists t1,t2;
+--enable_warnings
+
+#
+# Checking that killing upon successful row-loop does not affect binlogging
+#
+
+create table t1 (a int) engine=MyISAM;
+insert into t1 set a=1;
+reset master;
+
+update t1 set a=2 /* will be "killed" after work has been done */;
+
+# a proof the query is binlogged with no error
+#todo: introduce a suite private macro that provides numeric values
+# for some constants like the offset of the first real event
+# that is different between severs versions.
+--exec $MYSQL_BINLOG --force-if-open --start-position=106 $MYSQLTEST_VARDIR/log/master-bin.000001 > $MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+eval select
+(@a:=load_file("$MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog"))
+is not null;
+--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
+let $error_code= `select @a like "%#%error_code=0%" /* must return 1 */`;
+eval select $error_code /* must return 1 as query completed before got killed*/;
+
+# cleanup for the sub-case
+system rm $MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog;
+
+
+#
+# Checking that killing inside of row-loop for LOAD DATA into
+# non-transactional table affects binlogging
+#
+
+create table t2 (a int, b int) ENGINE=MyISAM;
+reset master;
+--error ER_QUERY_INTERRUPTED
+load data infile '../std_data_ln/rpl_loaddata.dat' into table t2 /* will be "killed" in the middle */;
+
+
+# a proof the query is binlogged with an error
+
+source include/show_binlog_events.inc;
+
+--exec $MYSQL_BINLOG --force-if-open --start-position=98 $MYSQLTEST_VARDIR/log/master-bin.000001 > $MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+eval select
+(@a:=load_file("$MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog"))
+is not null;
+--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
+let $error_code= `select @a like "%#%error_code=0%" /* must return 0*/`;
+eval select $error_code /* must return 0 to mean the killed query is in */;
+
+# cleanup for the sub-case
+system rm $MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog;
+
+
+drop table t1,t2;
+
+--echo end of the tests
diff --git a/mysql-test/suite/binlog/t/binlog_multi_engine.test b/mysql-test/suite/binlog/t/binlog_multi_engine.test
index 058aca0f715..bf84eed6ec1 100644
--- a/mysql-test/suite/binlog/t/binlog_multi_engine.test
+++ b/mysql-test/suite/binlog/t/binlog_multi_engine.test
@@ -15,11 +15,16 @@ RESET MASTER;
SET SESSION BINLOG_FORMAT=STATEMENT;
-INSERT INTO t1m VALUES (1,1), (1,2), (2,1), (2,2);
INSERT INTO t1b VALUES (1,1), (1,2), (2,1), (2,2);
+INSERT INTO t1m VALUES (1,1), (1,2), (2,1), (2,2);
UPDATE t1m, t1b SET m = 2, b = 3 WHERE n = c;
+# Here and below we need to wait when some event appears in binlog
+# to avoid unsrted mixing local events and from NDB
+let $wait_binlog_event= t1m, t1b;
+source include/wait_for_binlog_event.inc;
+
echo *** Please look in binlog_multi_engine.test if you have a diff here ****;
START TRANSACTION;
INSERT INTO t1n VALUES (1,1), (1,2), (2,1), (2,2);
@@ -27,20 +32,33 @@ UPDATE t1m, t1n SET m = 2, e = 3 WHERE n = f;
UPDATE t1n, t1b SET e = 2, b = 3 WHERE f = c;
COMMIT;
+let $wait_binlog_event= COMMIT;
+source include/wait_for_binlog_event.inc;
+
TRUNCATE t1m;
TRUNCATE t1b;
TRUNCATE t1n;
+let $wait_binlog_event= t1n;
+source include/wait_for_binlog_event.inc;
+
source include/show_binlog_events.inc;
RESET MASTER;
SET SESSION BINLOG_FORMAT=MIXED;
-INSERT INTO t1m VALUES (1,1), (1,2), (2,1), (2,2);
INSERT INTO t1b VALUES (1,1), (1,2), (2,1), (2,2);
+INSERT INTO t1m VALUES (1,1), (1,2), (2,1), (2,2);
+
+let $wait_binlog_event= t1m;
+source include/wait_for_binlog_event.inc;
+
INSERT INTO t1n VALUES (1,1), (1,2), (2,1), (2,2);
+let $wait_binlog_event= COMMIT;
+source include/wait_for_binlog_event.inc;
+
UPDATE t1m, t1b SET m = 2, b = 3 WHERE n = c;
error ER_BINLOG_LOGGING_IMPOSSIBLE;
UPDATE t1m, t1n SET m = 2, e = 3 WHERE n = f;
diff --git a/mysql-test/suite/binlog/t/binlog_old_versions.test b/mysql-test/suite/binlog/t/binlog_old_versions.test
new file mode 100644
index 00000000000..0ccea406a82
--- /dev/null
+++ b/mysql-test/suite/binlog/t/binlog_old_versions.test
@@ -0,0 +1,163 @@
+# Test that old binlog formats can be read.
+
+# Some previous versions of MySQL use their own binlog format,
+# especially in row-based replication. This test uses saved binlogs
+# from those old versions to test that we can replicate from old
+# versions to the present version.
+
+# Replicating from old versions to new versions is necessary in an
+# online upgrade scenario, where the .
+
+# The previous versions we currently test are:
+# - version 5.1.17 and earlier trees
+# - mysql-5.1-wl2325-xxx trees (AKA alcatel trees)
+# - mysql-5.1-telco-6.1 trees (AKA ndb trees)
+# For completeness, we also test mysql-5.1-new_rpl, which is supposed
+# to be the "correct" version.
+
+# All binlogs were generated with the same commands (listed at the end
+# of this test for reference). The binlogs contain the following
+# events: Table_map, Write_rows, Update_rows, Delete_rows Query, Xid,
+# User_var, Int_var, Rand, Begin_load, Append_file, Execute_load.
+
+# Related bugs: BUG#27779, BUG#31581, BUG#31582, BUG#31583, BUG#32407
+
+source include/not_embedded.inc;
+
+--disable_warnings
+DROP TABLE IF EXISTS t1, t2, t3;
+
+
+--echo ==== Read modern binlog (version 5.1.23) ====
+
+# Read binlog.
+--exec $MYSQL_BINLOG --local-load=$MYSQLTEST_VARDIR/tmp/ suite/binlog/std_data/ver_5_1_23.001 | $MYSQL --local-infile=1
+# Show result.
+SELECT * FROM t1 ORDER BY a;
+SELECT * FROM t2 ORDER BY a;
+SELECT COUNT(*) FROM t3;
+# Reset.
+DROP TABLE t1, t2, t3;
+
+
+--echo ==== Read binlog from version 5.1.17 ====
+
+# Read binlog.
+--exec $MYSQL_BINLOG --local-load=$MYSQLTEST_VARDIR/tmp/ suite/binlog/std_data/ver_5_1_17.001 | $MYSQL --local-infile=1
+# Show result.
+SELECT * FROM t1 ORDER BY a;
+SELECT * FROM t2 ORDER BY a;
+SELECT COUNT(*) FROM t3;
+# Reset.
+DROP TABLE t1, t2, t3;
+
+
+--echo ==== Read binlog from version 4.1 ====
+
+# In this version, neither row-based binlogging nor Xid events
+# existed, so the binlog was generated without the "row-based tests"
+# part and the "get xid event" part, and it does not create table t2.
+
+# Read binlog.
+--exec $MYSQL_BINLOG --local-load=$MYSQLTEST_VARDIR/tmp/ suite/binlog/std_data/binlog_old_version_4_1.000001 | $MYSQL --local-infile=1
+# Show result.
+SELECT * FROM t1 ORDER BY a;
+SELECT COUNT(*) FROM t3;
+# Reset.
+DROP TABLE t1, t3;
+
+
+--echo ==== Read binlog from alcatel tree (mysql-5.1-wl2325-5.0-drop6) ====
+
+# In this version, it was not possible to switch between row-based and
+# statement-based binlogging without restarting the server. So, we
+# have two binlogs; one for row based and one for statement based
+# replication.
+
+# Read rbr binlog.
+--exec $MYSQL_BINLOG --local-load=$MYSQLTEST_VARDIR/tmp/ suite/binlog/std_data/ver_5_1-wl2325_r.001 | $MYSQL --local-infile=1
+# Read stm binlog.
+--exec $MYSQL_BINLOG --local-load=$MYSQLTEST_VARDIR/tmp/ suite/binlog/std_data/ver_5_1-wl2325_s.001 | $MYSQL --local-infile=1
+# Show result.
+SELECT * FROM t1 ORDER BY a;
+SELECT * FROM t2 ORDER BY a;
+SELECT COUNT(*) FROM t3;
+# Reset.
+DROP TABLE t1, t2, t3;
+
+
+--echo ==== Read binlog from ndb tree (mysql-5.1-telco-6.1) ====
+
+# Read binlog.
+--exec $MYSQL_BINLOG --local-load=$MYSQLTEST_VARDIR/tmp/ suite/binlog/std_data/ver_5_1-telco.001 | $MYSQL --local-infile=1
+# Show resulting tablea.
+SELECT * FROM t1 ORDER BY a;
+SELECT * FROM t2 ORDER BY a;
+SELECT COUNT(*) FROM t3;
+# Reset.
+DROP TABLE t1, t2, t3;
+
+
+#### The following commands were used to generate the binlogs ####
+#
+#source include/master-slave.inc;
+#
+## ==== initialize ====
+#USE test;
+#CREATE TABLE t1 (a int, b char(50)) ENGINE = MyISAM;
+#CREATE TABLE t2 (a int, b char(50)) ENGINE = InnoDB;
+#CREATE TABLE t3 (a char(20));
+#
+#
+## ==== row based tests ====
+#SET BINLOG_FORMAT='row';
+#
+## ---- get write, update, and delete rows events ----
+#INSERT INTO t1 VALUES (0, 'one'), (1, 'two');
+#UPDATE t1 SET a=a+1;
+#DELETE FROM t1 WHERE a=2;
+#
+#
+## ==== statement based tests ====
+#SET BINLOG_FORMAT = 'statement';
+#
+## ---- get xid events ----
+#BEGIN;
+#INSERT INTO t2 VALUES (3, 'first stm in trx');
+#INSERT INTO t1 VALUES (3, 'last stm in trx: next event should be xid');
+#COMMIT;
+#
+## ---- get user var events ----
+#SET @x = 4;
+#INSERT INTO t1 VALUES (@x, 'four');
+#
+## ---- get rand event ----
+#INSERT INTO t1 VALUES (RAND() * 1000000, 'random');
+#
+## ---- get intvar event ----
+#INSERT INTO t1 VALUES (LAST_INSERT_ID(), 'last_insert_id');
+#
+## ---- get begin, append and execute load events ----
+## double the file until we have more than 2^17 bytes, so that the
+## event has to be split and we can use Append_file_log_event.
+#
+#SET SQL_LOG_BIN=0;
+#CREATE TABLE temp (a char(20));
+#LOAD DATA INFILE '../std_data_ln/words.dat' INTO TABLE temp;
+#INSERT INTO temp SELECT * FROM temp;
+#INSERT INTO temp SELECT * FROM temp;
+#INSERT INTO temp SELECT * FROM temp;
+#INSERT INTO temp SELECT * FROM temp;
+#INSERT INTO temp SELECT * FROM temp;
+#INSERT INTO temp SELECT * FROM temp;
+#INSERT INTO temp SELECT * FROM temp;
+#INSERT INTO temp SELECT * FROM temp;
+#SELECT a FROM temp INTO OUTFILE 'big_file.dat';
+#DROP TABLE temp;
+#SET SQL_LOG_BIN=1;
+#
+#LOAD DATA INFILE 'big_file.dat' INTO TABLE t3;
+#
+#SELECT * FROM t1 ORDER BY a;
+#SELECT * FROM t2 ORDER BY a;
+#SELECT COUNT(*) FROM t3;
diff --git a/mysql-test/suite/binlog/t/binlog_row_mix_innodb_myisam.test b/mysql-test/suite/binlog/t/binlog_row_mix_innodb_myisam.test
index 346866b01a6..a7722075d6e 100644
--- a/mysql-test/suite/binlog/t/binlog_row_mix_innodb_myisam.test
+++ b/mysql-test/suite/binlog/t/binlog_row_mix_innodb_myisam.test
@@ -12,22 +12,4 @@
--enable_ps_protocol
-# This piece below cannot be put into
-# extra/binlog_tests/mix_innodb_myisam_binlog.test
-# because the argument of --start-position differs between statement-
-# and row-based (and "eval --exec" doesn't work).
-# we check that the error code of the "ROLLBACK" event is 0 and not
-# ER_SERVER_SHUTDOWN (i.e. disconnection just rolls back transaction
-# and does not make slave to stop)
-flush logs;
---exec $MYSQL_BINLOG --start-position=520 $MYSQLTEST_VARDIR/log/master-bin.000001 > $MYSQLTEST_VARDIR/tmp/mix_innodb_myisam_binlog.output
---replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
-eval select
-(@a:=load_file("$MYSQLTEST_VARDIR/tmp/mix_innodb_myisam_binlog.output"))
-is not null;
-
---replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
-eval select
-@a like "%#%error_code=0%ROLLBACK/*!*/;%ROLLBACK /* added by mysqlbinlog */;%",
-@a not like "%#%error_code=%error_code=%";
-drop table t1, t2;
+-- source extra/binlog_tests/mix_innodb_myisam_side_effects.test
diff --git a/mysql-test/suite/binlog/t/binlog_start_comment.test b/mysql-test/suite/binlog/t/binlog_start_comment.test
new file mode 100644
index 00000000000..a5817eb69b7
--- /dev/null
+++ b/mysql-test/suite/binlog/t/binlog_start_comment.test
@@ -0,0 +1,24 @@
+# Test case for bug#32205 Replaying statements from mysqlbinlog fails
+# with a syntax error, replicates fine
+
+source include/have_log_bin.inc;
+source include/have_local_infile.inc;
+
+reset master;
+--disable_warnings
+drop table if exists t1,t2;
+--enable_warnings
+create table t1 (word varchar(20)) -- create table t1;
+create table t2 (word varchar(20)) -- create table t2;
+load data infile '../std_data_ln/words.dat' into table t1 -- load data to t1;
+insert into t2 values ("Ada");
+flush logs;
+select * from t2;
+--exec $MYSQL_BINLOG --local-load=$MYSQLTEST_VARDIR/tmp/ $MYSQLTEST_VARDIR/log/master-bin.000001 > $MYSQLTEST_VARDIR/tmp/binlog_start_comment.binlog
+--exec $MYSQL --local-infile=1 < $MYSQLTEST_VARDIR/tmp/binlog_start_comment.binlog
+flush logs;
+select * from t2;
+
+# clean up
+drop table t1,t2;
+#--system rm $MYSQLTEST_VARDIR/tmp/binlog_start_comment.binlog
diff --git a/mysql-test/suite/binlog/t/binlog_stm_mix_innodb_myisam.test b/mysql-test/suite/binlog/t/binlog_stm_mix_innodb_myisam.test
index 1815f3deb34..e4661526982 100644
--- a/mysql-test/suite/binlog/t/binlog_stm_mix_innodb_myisam.test
+++ b/mysql-test/suite/binlog/t/binlog_stm_mix_innodb_myisam.test
@@ -1,146 +1,12 @@
# This is a wrapper for binlog.test so that the same test case can be used
# For both statement and row based bin logs 9/19/2005 [jbm]
--- source include/have_binlog_format_mixed_or_statement.inc
+-- source include/have_binlog_format_statement.inc
-- source extra/binlog_tests/mix_innodb_myisam_binlog.test
-# This piece below cannot be put into
-# extra/binlog_tests/mix_innodb_myisam_binlog.test
-# because the argument of --start-position differs between statement-
-# and row-based (and "eval --exec" doesn't work).
-# we check that the error code of the "ROLLBACK" event is 0 and not
-# ER_SERVER_SHUTDOWN (i.e. disconnection just rolls back transaction
-# and does not make slave to stop)
-flush logs;
---exec $MYSQL_BINLOG --start-position=555 $MYSQLTEST_VARDIR/log/master-bin.000001 > $MYSQLTEST_VARDIR/tmp/mix_innodb_myisam_binlog.output
---replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
-eval select
-(@a:=load_file("$MYSQLTEST_VARDIR/tmp/mix_innodb_myisam_binlog.output"))
-is not null;
---replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
-eval select
-@a like "%#%error_code=0%ROLLBACK/*!*/;%ROLLBACK /* added by mysqlbinlog */;%",
-@a not like "%#%error_code=%error_code=%";
+set @@session.binlog_format=statement;
+-- source extra/binlog_tests/mix_innodb_myisam_side_effects.test
+set @@session.binlog_format=@@global.binlog_format;
-drop table t1, t2;
-
-#
-# Bug #27417 thd->no_trans_update.stmt lost value inside of SF-exec-stack
-# bug #28960 non-trans temp table changes with insert .. select
-# not binlogged after rollback
-#
-# testing appearence of insert into temp_table in binlog.
-# There are two branches of execution that require different setup.
-
-## send_eof() branch
-
-# prepare
-
-create table tt (a int unique);
-create table ti (a int) engine=innodb;
-reset master;
-show master status;
-
-# action
-
-begin;
-insert into ti values (1);
-insert into ti values (2) ;
-insert into tt select * from ti;
-rollback;
-
-# check
-
-select count(*) from tt /* 2 */;
-show master status;
---replace_column 2 # 5 #
-show binlog events from 106;
-select count(*) from ti /* zero */;
-insert into ti select * from tt;
-select * from ti /* that is what slave would miss - a bug */;
-
-
-## send_error() branch
-delete from ti;
-delete from tt where a=1;
-reset master;
-show master status;
-
-# action
-
-begin;
-insert into ti values (1);
-insert into ti values (2) /* to make the dup error in the following */;
---error ER_DUP_ENTRY
-insert into tt select * from ti /* one affected and error */;
-rollback;
-
-# check
-
-show master status;
---replace_column 2 # 5 #
-show binlog events from 106;
-select count(*) from ti /* zero */;
-insert into ti select * from tt;
-select * from tt /* that is what otherwise slave missed - the bug */;
-
-drop table ti,tt;
-
-
-#
-# Bug #27417 thd->no_trans_update.stmt lost value inside of SF-exec-stack
-#
-# Testing asserts: if there is a side effect of modifying non-transactional
-# table thd->no_trans_update.stmt must be TRUE;
-# the assert is active with debug build
-#
-
---disable_warnings
-drop function if exists bug27417;
-drop table if exists t1,t2;
---enable_warnings
-# side effect table
-CREATE TABLE t1 (a int NOT NULL auto_increment primary key) ENGINE=MyISAM;
-# target tables
-CREATE TABLE t2 (a int NOT NULL auto_increment, PRIMARY KEY (a));
-
-delimiter |;
-create function bug27417(n int)
-RETURNS int(11)
-begin
- insert into t1 values (null);
- return n;
-end|
-delimiter ;|
-
-reset master;
-
-# execute
-
-insert into t2 values (bug27417(1));
-insert into t2 select bug27417(2);
-reset master;
-
---error ER_DUP_ENTRY
-insert into t2 values (bug27417(2));
-#TODO: Andrei: enable this test after 23333 is pushed
-#show master status; /* only (!) with fixes for #23333 will show there is the query */;
-select count(*) from t1 /* must be 3 */;
-
-reset master;
-select count(*) from t2;
-delete from t2 where a=bug27417(3);
-select count(*) from t2 /* nothing got deleted */;
-#TODO: Andrei: enable this test after 23333 is pushed
-#show master status; /* the query must be in regardless of #23333 */;
-select count(*) from t1 /* must be 5 */;
-
---enable_info
-delete t2 from t2 where t2.a=bug27417(100) /* must not affect t2 */;
---disable_info
-select count(*) from t1 /* must be 7 */;
-
-drop function bug27417;
-drop table t1,t2;
--echo end of tests
diff --git a/mysql-test/suite/binlog/t/binlog_stm_ps.test b/mysql-test/suite/binlog/t/binlog_stm_ps.test
index 83add5af3d7..55e3d30ad23 100644
--- a/mysql-test/suite/binlog/t/binlog_stm_ps.test
+++ b/mysql-test/suite/binlog/t/binlog_stm_ps.test
@@ -1,7 +1,7 @@
# This test is to verify replication with PS
-- source include/not_embedded.inc
--- source include/have_binlog_format_mixed_or_statement.inc
+-- source include/have_binlog_format_statement.inc
-- disable_query_log
reset master; # get rid of previous tests binlog
diff --git a/mysql-test/suite/binlog/t/binlog_unsafe.test b/mysql-test/suite/binlog/t/binlog_unsafe.test
new file mode 100644
index 00000000000..0d7059bc31f
--- /dev/null
+++ b/mysql-test/suite/binlog/t/binlog_unsafe.test
@@ -0,0 +1,259 @@
+# ==== Purpose ====
+#
+# Some statements can not be written to the binlog in a safe manner
+# with statement-based replication, either because they rely on
+# features that are local to the server they are replicated from
+# (e.g., @@variables), or because they include nondeterministic
+# queries (e.g., LIMIT), or because the time at which the query is
+# executed cannot be determined (e.g., INSERT DELAYED). Such
+# statements should be marked unsafe. All unsafe statements should
+# give a warning.
+#
+# This test verifies that a warning is generated for statements that
+# should be unsafe, when they are executed under statement mode
+# logging.
+#
+# All variables should be unsafe, with some exceptions. Therefore,
+# this test also verifies that the exceptions do *not* generare a
+# warning.
+#
+#
+# ==== Method ====
+#
+# We try an INSERT DELAYED statement and verify that a warning is
+# issued.
+#
+# We try to insert unsafe variables into a table in several ways:
+# directly with an INSERT statement, from a stored procedure, from a
+# stored function, from a trigger, from a prepared statement, and from
+# a complicated nesting of triggers, functions, procedures, and
+# prepared statements. In all cases, a warning should be issued.
+#
+# We try to insert the variables that should not be unsafe into a
+# table, and verify that *no* warning is issued.
+#
+#
+# ==== Related bugs and worklogs ====
+#
+# WL#3339: Issue warnings when statement-based replication may fail
+# BUG#31168: @@hostname does not replicate
+# BUG#34732: mysqlbinlog does not print default values for auto_increment variables
+# BUG#34768: nondeterministic INSERT using LIMIT logged in stmt mode if binlog_format=mixed
+#
+#
+# ==== Related test cases ====
+#
+# rpl.rpl_variables verifies that variables which cannot be replicated
+# safely in statement mode are replicated correctly in mixed or row
+# mode.
+#
+# rpl.rpl_variables_stm tests the small subset of variables that
+# actually can be replicated safely in statement mode.
+#
+#
+# ==== Todo ====
+#
+# There are several other ways to create unsafe statements: see, e.g.,
+# WL#3339, BUG#34768.
+
+source include/have_log_bin.inc;
+source include/have_binlog_format_statement.inc;
+
+--echo ==== Setup tables ====
+
+CREATE TABLE t1 (a INT);
+CREATE TABLE t2 (a CHAR(40));
+CREATE TABLE t3 (a INT AUTO_INCREMENT PRIMARY KEY);
+CREATE TABLE trigger_table (a CHAR(7));
+CREATE TABLE trigger_table2 (a INT);
+
+
+--echo ==== Non-deterministic statements ====
+
+INSERT DELAYED INTO t1 VALUES (5);
+
+
+--echo ==== Some variables that *should* be unsafe ====
+
+--echo ---- Insert directly ----
+
+INSERT INTO t1 VALUES (@@global.sync_binlog);
+INSERT INTO t1 VALUES (@@session.insert_id);
+INSERT INTO t1 VALUES (@@global.auto_increment_increment);
+INSERT INTO t2 SELECT UUID();
+INSERT INTO t2 VALUES (@@session.sql_mode);
+INSERT INTO t2 VALUES (@@global.init_slave);
+INSERT INTO t2 VALUES (@@hostname);
+
+--echo ---- Insert from stored procedure ----
+
+DELIMITER |;
+CREATE PROCEDURE proc()
+BEGIN
+ INSERT INTO t1 VALUES (@@global.sync_binlog);
+ INSERT INTO t1 VALUES (@@session.insert_id);
+ INSERT INTO t1 VALUES (@@global.auto_increment_increment);
+ INSERT INTO t2 SELECT UUID();
+ INSERT INTO t2 VALUES (@@session.sql_mode);
+ INSERT INTO t2 VALUES (@@global.init_slave);
+ INSERT INTO t2 VALUES (@@hostname);
+END|
+DELIMITER ;|
+
+CALL proc();
+
+--echo ---- Insert from stored function ----
+
+DELIMITER |;
+CREATE FUNCTION func()
+RETURNS INT
+BEGIN
+ INSERT INTO t1 VALUES (@@global.sync_binlog);
+ INSERT INTO t1 VALUES (@@session.insert_id);
+ INSERT INTO t1 VALUES (@@global.auto_increment_increment);
+ INSERT INTO t2 SELECT UUID();
+ INSERT INTO t2 VALUES (@@session.sql_mode);
+ INSERT INTO t2 VALUES (@@global.init_slave);
+ INSERT INTO t2 VALUES (@@hostname);
+ RETURN 0;
+END|
+DELIMITER ;|
+
+SELECT func();
+
+--echo ---- Insert from trigger ----
+
+DELIMITER |;
+CREATE TRIGGER trig
+BEFORE INSERT ON trigger_table
+FOR EACH ROW
+BEGIN
+ INSERT INTO t1 VALUES (@@global.sync_binlog);
+ INSERT INTO t1 VALUES (@@session.insert_id);
+ INSERT INTO t1 VALUES (@@global.auto_increment_increment);
+ INSERT INTO t2 SELECT UUID();
+ INSERT INTO t2 VALUES (@@session.sql_mode);
+ INSERT INTO t2 VALUES (@@global.init_slave);
+ INSERT INTO t2 VALUES (@@hostname);
+END|
+DELIMITER ;|
+
+INSERT INTO trigger_table VALUES ('bye.');
+
+--echo ---- Insert from prepared statement ----
+
+PREPARE p1 FROM 'INSERT INTO t1 VALUES (@@global.sync_binlog)';
+PREPARE p2 FROM 'INSERT INTO t1 VALUES (@@session.insert_id)';
+PREPARE p3 FROM 'INSERT INTO t1 VALUES (@@global.auto_increment_increment)';
+PREPARE p4 FROM 'INSERT INTO t2 SELECT UUID()';
+PREPARE p5 FROM 'INSERT INTO t2 VALUES (@@session.sql_mode)';
+PREPARE p6 FROM 'INSERT INTO t2 VALUES (@@global.init_slave)';
+PREPARE p7 FROM 'INSERT INTO t2 VALUES (@@hostname)';
+
+EXECUTE p1; EXECUTE p2; EXECUTE p3; EXECUTE p4; EXECUTE p5;
+EXECUTE p6; EXECUTE p7;
+
+--echo ---- Insert from nested call of triggers / functions / procedures ----
+
+DELIMITER |;
+
+# proc1: cause trigger 'trig' above to be triggered.
+CREATE PROCEDURE proc1()
+ INSERT INTO trigger_table VALUES ('ha!')|
+
+# func2: call proc1 above.
+CREATE FUNCTION func2()
+RETURNS INT
+BEGIN
+ CALL proc1();
+ RETURN 0;
+END|
+
+# trig3: call func2 above
+CREATE TRIGGER trig3
+BEFORE INSERT ON trigger_table2
+FOR EACH ROW
+BEGIN
+ DECLARE tmp INT;
+ SELECT func2() INTO tmp;
+END|
+
+# proc4: cause trig3 above to be triggered.
+CREATE PROCEDURE proc4()
+ INSERT INTO trigger_table2 VALUES (1)|
+
+# func5: call proc4 above.
+CREATE FUNCTION func5()
+RETURNS INT
+BEGIN
+ CALL proc4;
+ RETURN 0;
+END|
+
+# prep6: call func5() above.
+PREPARE prep6 FROM 'SELECT func5()'|
+
+DELIMITER ;|
+
+# try a complicated call path to trigger 'trig'.
+EXECUTE prep6;
+
+
+--echo ==== Variables that should *not* be unsafe ====
+
+INSERT INTO t1 VALUES (@@session.pseudo_thread_id);
+INSERT INTO t1 VALUES (@@session.pseudo_thread_id);
+INSERT INTO t1 VALUES (@@session.foreign_key_checks);
+INSERT INTO t1 VALUES (@@session.sql_auto_is_null);
+INSERT INTO t1 VALUES (@@session.unique_checks);
+INSERT INTO t1 VALUES (@@session.auto_increment_increment);
+INSERT INTO t1 VALUES (@@session.auto_increment_offset);
+INSERT INTO t2 VALUES (@@session.character_set_client);
+INSERT INTO t2 VALUES (@@session.collation_connection);
+INSERT INTO t2 VALUES (@@session.collation_server);
+INSERT INTO t2 VALUES (@@session.time_zone);
+INSERT INTO t2 VALUES (@@session.lc_time_names);
+INSERT INTO t2 VALUES (@@session.collation_database);
+INSERT INTO t2 VALUES (@@session.timestamp);
+INSERT INTO t2 VALUES (@@session.last_insert_id);
+SET @my_var= 4711;
+INSERT INTO t1 VALUES (@my_var);
+
+# using insert_id implicitly should be ok.
+SET insert_id=12;
+INSERT INTO t3 VALUES (NULL);
+
+
+--echo ==== Clean up ====
+
+DROP PROCEDURE proc;
+DROP FUNCTION func;
+DROP TRIGGER trig;
+DROP PROCEDURE proc1;
+DROP FUNCTION func2;
+DROP TRIGGER trig3;
+DROP PROCEDURE proc4;
+DROP FUNCTION func5;
+DROP PREPARE prep6;
+DROP TABLE t1, t2, t3, trigger_table, trigger_table2;
+#
+# BUG#34768 - nondeterministic INSERT using LIMIT logged in stmt mode if
+# binlog_format=mixed
+#
+CREATE TABLE t1(a INT, b INT, KEY(a), PRIMARY KEY(b));
+INSERT INTO t1 SELECT * FROM t1 LIMIT 1;
+REPLACE INTO t1 SELECT * FROM t1 LIMIT 1;
+UPDATE t1 SET a=1 LIMIT 1;
+DELETE FROM t1 LIMIT 1;
+delimiter |;
+CREATE PROCEDURE p1()
+BEGIN
+ INSERT INTO t1 SELECT * FROM t1 LIMIT 1;
+ REPLACE INTO t1 SELECT * FROM t1 LIMIT 1;
+ UPDATE t1 SET a=1 LIMIT 1;
+ DELETE FROM t1 LIMIT 1;
+END|
+delimiter ;|
+CALL p1();
+DROP PROCEDURE p1;
+DROP TABLE t1;
diff --git a/mysql-test/suite/bugs/data/rpl_bug12691.dat b/mysql-test/suite/bugs/data/rpl_bug12691.dat
new file mode 100644
index 00000000000..de980441c3a
--- /dev/null
+++ b/mysql-test/suite/bugs/data/rpl_bug12691.dat
@@ -0,0 +1,3 @@
+a
+b
+c
diff --git a/mysql-test/suite/bugs/r/rpl_bug12691.result b/mysql-test/suite/bugs/r/rpl_bug12691.result
new file mode 100644
index 00000000000..69d5e8009b0
--- /dev/null
+++ b/mysql-test/suite/bugs/r/rpl_bug12691.result
@@ -0,0 +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;
+
+**** 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;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Format_desc 1 # Server ver: #
+master-bin.000001 # Query 1 # use `test`; CREATE TABLE t1 (b CHAR(10))
+master-bin.000001 # Begin_load_query 1 # ;file_id=#;block_len=#
+master-bin.000001 # Execute_load_query 1 # use `test`; LOAD DATA INFILE FILENAME ;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
new file mode 100644
index 00000000000..1dda75a69b0
--- /dev/null
+++ b/mysql-test/suite/bugs/r/rpl_bug23533.result
@@ -0,0 +1,23 @@
+stop slave;
+drop table if exists t1,t2,t3,t4,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
new file mode 100644
index 00000000000..1f71fbf8fe7
--- /dev/null
+++ b/mysql-test/suite/bugs/r/rpl_bug31582.result
@@ -0,0 +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;
+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
new file mode 100644
index 00000000000..74846607313
--- /dev/null
+++ b/mysql-test/suite/bugs/r/rpl_bug31583.result
@@ -0,0 +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;
+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/t/rpl_bug12691.test b/mysql-test/suite/bugs/t/rpl_bug12691.test
new file mode 100644
index 00000000000..b29c85584a5
--- /dev/null
+++ b/mysql-test/suite/bugs/t/rpl_bug12691.test
@@ -0,0 +1,53 @@
+# 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;
+
+--replace_column 2 # 5 #
+--replace_regex /Server ver: .+/Server ver: #/ /table_id: [0-9]+/table_id: #/ /COMMIT.+xid=[0-9]+.+/#/ /file_id=[0-9]+/file_id=#/ /block_len=[0-9]+/block_len=#/ /'.+'/FILENAME/
+SHOW BINLOG EVENTS;
+
+--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_bug23533.test b/mysql-test/suite/bugs/t/rpl_bug23533.test
new file mode 100644
index 00000000000..397f1102f0e
--- /dev/null
+++ b/mysql-test/suite/bugs/t/rpl_bug23533.test
@@ -0,0 +1,43 @@
+#############################################################
+# 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_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 TABLE t1 (a INT NOT NULL AUTO_INCREMENT, b TEXT, PRIMARY KEY(a)) ENGINE=InnoDB;
+
+--disable_query_log
+let $i= 1000;
+while ($i)
+{
+ eval INSERT INTO t1 VALUES($i, REPEAT('x', 4096));
+ dec $i;
+}
+--enable_query_log
+
+SELECT COUNT(*) FROM t1;
+
+# Copied data from t1 into t2 large than max_binlog_cache_size
+START TRANSACTION;
+--error 1534
+CREATE TABLE t2 SELECT * FROM t1;
+COMMIT;
+SHOW TABLES LIKE 't%';
+
+
+# 5.1 End of Test
diff --git a/mysql-test/suite/bugs/t/rpl_bug31582.test b/mysql-test/suite/bugs/t/rpl_bug31582.test
new file mode 100644
index 00000000000..7ba15eec8ce
--- /dev/null
+++ b/mysql-test/suite/bugs/t/rpl_bug31582.test
@@ -0,0 +1,25 @@
+
+# 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
new file mode 100644
index 00000000000..657e4984b77
--- /dev/null
+++ b/mysql-test/suite/bugs/t/rpl_bug31583.test
@@ -0,0 +1,25 @@
+#
+# 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/funcs_1/README.txt b/mysql-test/suite/funcs_1/README.txt
index 4661864cf5e..65f6226d0f2 100644
--- a/mysql-test/suite/funcs_1/README.txt
+++ b/mysql-test/suite/funcs_1/README.txt
@@ -1,112 +1,54 @@
-Matthias 17.06.2005
--------------------
-1. I changed the database test1 (dropped + created in SP test)
- to test4.
- Please adjust the SP test cases.
-2. There is a difference between my definition of
- innodb_tb4 + memory_tb4
- to the latest table definition used by disha.
- Please adjust the table definition if needed.
-3. The data load files are product of the Disha data generation script
- (downloaded ~20 May ?) + modified by Omer
- These load data fit fairly to the table definitions.
+2008-02-29 Matthias Leich
+=========================
+
+1. The testsuite "funcs_1" is mostly intended for additional (compared
+ to the common regression tests stored in mysql-test/t) checks
+ of features (VIEWS, INFORMATION_SCHEMA, STORED PROCEDURES,...)
+ introduced with MySQL 5.0.
+
+2. There were some extensions of this suite when new information_schema
+ views were introduced. But in most cases the tests for these views
+ were stored within the regression testsuite (mysql-test/t).
+
+ INFORMATION_SCHEMA views introduced with MySQL 5.1
+ ==================================================
+ ENGINES (partially tested here)
+ EVENTS (partially tested here)
+ FILES
+ GLOBAL_STATUS
+ GLOBAL_VARIABLES
+ PARTITIONS
+ PLUGINS
+ PROCESSLIST (full tested here)
+ PROFILING
+ REFERENTIAL_CONSTRAINTS
+ SESSION_STATUS
+ SESSION_VARIABLES
+
+3. Some hints for maintainers of this suite:
+ - SHOW TABLES ... LIKE '<pattern>'
+ does a case sensitive comparison between the tablename and
+ the pattern.
+ The names of the tables within the informationschema are in uppercase.
+ So please use something like
+ SHOW TABLES FOR information_schema LIKE 'TABLES'
+ when you intend to get the same non empty result set on OS with and
+ without case sensitive filesystems and default configuration.
+ - The name of the data dictionary is 'information_schema' (lowercase).
+ - Server on OS with filesystem with case sensitive filenames
+ (= The files 'abc' and 'Abc' can coexist.)
+ + default configuration
+ Example of behaviour:
+ DROP DATABASE information_schema;
+ ERROR 42000: Access denied for user ... to database 'information_schema'
+ DROP DATABASE INFORMATION_SCHEMA;
+ ERROR 42000: Access denied for user ... to database 'INFORMATION_SCHEMA'
+ - Try to unify results by
+ --replace_result $engine_type <engine_to_be_tested>
+ if we could expect that the results for storage engine variants of a
+ test differ only in the engine names.
+ This makes future maintenance easier.
+ - Avoid the use of include/show_msg*.inc.
+ They produce "SQL" noise which annoys during server debugging and can be
+ easy replaced by "--echo ...".
-4. How to execute the "small" test with 10 rows per table.
- Do NOT set the environment variable NO_REFRESH to a
- value <> ''.
- Start the test for example by
- ./mysql-test-run.pl --vardir=/dev/shm/var \
- --force --suite=funcs_1 --do-test=myisam
- The "result" files fit mostly to this variant.
-
- Any database not in ('mysql','test') and any tables
- needed within a testcase ( t/<storage engine>_<test filed>.test )
- will be (re)created at the beginning of the test.
-
-5. How to execute the "big" test with many rows per table.
- Replace the directories
- suite/funcs_1/data and
- suite/funcs_1/r
- with the appropriate ones for the "big" test.
- Set the environment variable NO_REFRESH to a value <> ''.
- Start the test for example by
- ./mysql-test-run.pl --vardir=/dev/shm/var \
- --force --suite=funcs_1 --do-test=myisam
-
- All databases and tables will be (re)created by the script
- <storage engine>__load.test .
-
-6. I am not sure of the files
- ./funcs_1/include/create_<whatever>.inc
- are in the moment needed. I included them, because I
- guess my VIEW testcase example needs them.
-
-I guess the pushed files are far away from being perfect.
-It is a 8 hours hack.
-Please try them, create missing files and come up with improvements.
-
-Good luck !
-
-Matthias 17.06.2005
-===================================================================
-Omer 19.06.2005
----------------
-1. Changed the structure of the memory_tb3 table to include two
- additional column f121, f122. These columns exist for the table in
- the other storage engines as TEXT. Since memory does not support
- TEXT, Disha did not include them. How ever I am using them in the
- Trigger tests so added them to the memory definition as CHAR(50);.
- Also modifyed the DataGen_modiy.pl file to account for these two
- column when generating the data.
- - checked in a new DataGen_modify.pl (create a 'lib' directory
- under 'funcs_1').
- - checked in a new memory_tb3.txt
-2. Added three <storage>_triggers.test files based on Matthias's
- structure above.
-3. Added three <storage>__triggers.result files
-4. Added the Trigger_master.test file in the trigger dierctory
- Note: This is not complete and is still under work
-5. Created a 'lib' directory and added the DataGen*.pl scripts to it
- (exists under the disha suite) but should be here as well).
-Omer 19.06.2005
-===================================================================
-Matthias 12.09.2005
--------------------
- Replace the geometry data types by VARBINARY
- The removal of the geometry data types was necessary, because the
- execution of the funcs_1 testsuite should not depend on the
- availability of the geometry feature.
- Note: There are servers compiled without the geometry feature.
-
- The columns are not removed, but their data type was changed
- VARBINARY. This allows us to omit any changes within the loader
- input files or data generation scripts.
- The replacement of geometry by VARCHAR allows us to use our
-
-Matthias 12.09.2005
-===================================================================
-Matthias 14.09.2005
--------------------
- The results of the <storage_engine>_views testcases suffer when
- executed in "--ps-protocol" mode from the open
- Bug#11589: mysqltest, --ps-protocol, strange output,
- float/double/real with zerofill .
- Implementation of a workaround:
- At the beginning of views_master.inc is a variable $have_bug_11589 .
- If this varable is set to 1, the ps-protocol will be switched
- of for the critical statements.
-Matthias 14.09.2005
-===================================================================
-Carsten 16.09.2005
-------------------
-1. The results of the datadict_<engine> testcases have been changed in nearly
- all occurrencies of --error <n> because now for the INFORMATION_SCHEMA only
- the --error 1044 (ERROR 42000: Access denied for user '..' to database
- 'information_schema') seems to be used.
-2. To get identical results when using "--ps-protocol" some SELECTs FROM
- information_schema has been wrapped to suppress using ps-protocol because
- there are differences.
-3. The test using SELECT .. OUTFILE has been disabled due to bug #13202.
-4. Fixed datadict_<engine>.result files after the change that added 2 columns to
- the VIEWS table (DEFINER varchar(77), SECURITY_TYPE varchar(7)).
-===================================================================
diff --git a/mysql-test/suite/funcs_1/datadict/basics_mixed1.inc b/mysql-test/suite/funcs_1/datadict/basics_mixed1.inc
new file mode 100644
index 00000000000..2cb9cbc700b
--- /dev/null
+++ b/mysql-test/suite/funcs_1/datadict/basics_mixed1.inc
@@ -0,0 +1,53 @@
+# suite/funcs_1/datadict/basics_mixed1.inc
+#
+# Auxiliary script to be sourced by suite/funcs_1/t/is_basics_mixed.test
+#
+# 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.
+#
+
+# 1 Attempt to create tables and views when residing in information_schema
+# 1.1 CREATE TABLE
+USE information_schema;
+let $message= root: create a table with a name of an IS table directly in IS;
+let $dd_part1= CREATE TABLE;
+let $dd_part2= ( c1 INT );
+--source suite/funcs_1/datadict/basics_mixed2.inc
+# FIXME 3.2.1.6: error message ER_UNKNOWN_TABLE is misleading
+--error ER_UNKNOWN_TABLE
+CREATE TABLE t1 (f1 INT, f2 INT, f3 INT);
+#
+# 1.2 CREATE VIEW
+# 1.2.1 Hit on existing INFORMATION_SCHEMA table
+--error ER_DBACCESS_DENIED_ERROR
+CREATE VIEW tables AS SELECT 'garbage';
+--error ER_DBACCESS_DENIED_ERROR
+CREATE VIEW tables AS SELECT * FROM information_schema.tables;
+# 1.2.2 New view
+# ER_DBACCESS_DENIED_ERROR would be better.
+--error ER_UNKNOWN_TABLE
+CREATE VIEW v1 AS SELECT 'garbage';
+
+# 2 Attempt to create tables and views when residing in information_schema
+# 1.1 CREATE TABLE
+USE test;
+let $message= root: create a table with a name of an IS table from other db;
+let $dd_part1= CREATE TABLE information_schema.;
+let $dd_part2= ( c1 INT );
+--source suite/funcs_1/datadict/basics_mixed2.inc
+# FIXME 3.2.1.6: error message ER_UNKNOWN_TABLE is misleading
+--error ER_UNKNOWN_TABLE
+CREATE TABLE information_schema.t1 (f1 INT, f2 INT, f3 INT);
+#
+# Hit on existing INFORMATION_SCHEMA table
+--error ER_DBACCESS_DENIED_ERROR
+CREATE VIEW information_schema.tables AS SELECT 'garbage';
+--error ER_DBACCESS_DENIED_ERROR
+CREATE VIEW information_schema.tables AS
+SELECT * FROM information_schema.tables;
+# New table
+# ER_DBACCESS_DENIED_ERROR would be better.
+--error ER_UNKNOWN_TABLE
+CREATE VIEW information_schema.v1 AS SELECT 'garbage';
diff --git a/mysql-test/suite/funcs_1/datadict/basics_mixed2.inc b/mysql-test/suite/funcs_1/datadict/basics_mixed2.inc
new file mode 100644
index 00000000000..6b1f07798fb
--- /dev/null
+++ b/mysql-test/suite/funcs_1/datadict/basics_mixed2.inc
@@ -0,0 +1,55 @@
+#### suite/funcs_1/datadict/basics_mixed2.inc
+#
+# Auxiliary script to be sourced by suite/funcs_1/datadict/is_basics_mixed1.inc
+#
+# contains all tables from INFORMATION_SCHEMA
+#
+# Usage example(snip of script):
+# let $dd_part1= CREATE TABLE information_schema.;
+# let $dd_part2= ( c1 INT );
+# --source suite/funcs_1/datadict/basics_mixed2.inc
+#
+# We expect to get
+# ERROR 42000: Access denied for user 'root'@'localhost'
+# to database 'information_schema'
+# for every statement.
+#
+# 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.
+#
+
+--error ER_DBACCESS_DENIED_ERROR
+eval $dd_part1 schemata $dd_part2;
+--error ER_DBACCESS_DENIED_ERROR
+eval $dd_part1 tables $dd_part2;
+--error ER_DBACCESS_DENIED_ERROR
+eval $dd_part1 columns $dd_part2;
+--error ER_DBACCESS_DENIED_ERROR
+eval $dd_part1 character_sets $dd_part2;
+--error ER_DBACCESS_DENIED_ERROR
+eval $dd_part1 collations $dd_part2;
+--error ER_DBACCESS_DENIED_ERROR
+eval $dd_part1 collation_character_set_applicability $dd_part2;
+--error ER_DBACCESS_DENIED_ERROR
+eval $dd_part1 routines $dd_part2;
+--error ER_DBACCESS_DENIED_ERROR
+eval $dd_part1 statistics $dd_part2;
+--error ER_DBACCESS_DENIED_ERROR
+eval $dd_part1 views $dd_part2;
+--error ER_DBACCESS_DENIED_ERROR
+eval $dd_part1 user_privileges $dd_part2;
+--error ER_DBACCESS_DENIED_ERROR
+eval $dd_part1 schema_privileges $dd_part2;
+--error ER_DBACCESS_DENIED_ERROR
+eval $dd_part1 table_privileges $dd_part2;
+--error ER_DBACCESS_DENIED_ERROR
+eval $dd_part1 column_privileges $dd_part2;
+--error ER_DBACCESS_DENIED_ERROR
+eval $dd_part1 table_constraints $dd_part2;
+--error ER_DBACCESS_DENIED_ERROR
+eval $dd_part1 key_column_usage $dd_part2;
+--error ER_DBACCESS_DENIED_ERROR
+eval $dd_part1 triggers $dd_part2;
+
diff --git a/mysql-test/suite/funcs_1/datadict/basics_mixed3.inc b/mysql-test/suite/funcs_1/datadict/basics_mixed3.inc
new file mode 100644
index 00000000000..f6a290636d9
--- /dev/null
+++ b/mysql-test/suite/funcs_1/datadict/basics_mixed3.inc
@@ -0,0 +1,42 @@
+#### suite/funcs_1/datadict/basics_mixed3.inc
+#
+# Auxiliary routine to be sourced by suite/funcs_1/t/is_basics_mixed.test
+#
+# Check if INFORMATION_SCHEMA tables contain a schema_name like 'db_data%'.
+#
+# 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.
+#
+
+# No column with the name of a database contained in:
+# character_sets collations collation_character_set_applicability
+# user_privileges
+SELECT DISTINCT table_schema FROM information_schema.columns
+WHERE table_schema LIKE 'db_data%';
+SELECT DISTINCT table_schema FROM information_schema.column_privileges
+WHERE table_schema LIKE 'db_data%';
+SELECT DISTINCT constraint_schema,table_schema
+FROM information_schema.key_column_usage
+WHERE constraint_schema LIKE 'db_data%' OR table_schema LIKE 'db_data%';
+SELECT DISTINCT routine_schema FROM information_schema.routines
+WHERE routine_schema LIKE 'db_data%';
+SELECT DISTINCT schema_name FROM information_schema.schemata
+WHERE schema_name LIKE 'db_data%';
+SELECT DISTINCT table_schema FROM information_schema.schema_privileges
+WHERE table_schema LIKE 'db_data%';
+SELECT DISTINCT table_schema,index_schema FROM information_schema.statistics
+WHERE table_schema LIKE 'db_data%' OR index_schema LIKE 'db_data%';
+SELECT DISTINCT table_schema FROM information_schema.tables
+WHERE table_schema LIKE 'db_data%';
+SELECT DISTINCT constraint_schema,table_schema
+FROM information_schema.table_constraints
+WHERE constraint_schema LIKE 'db_data%' OR table_schema LIKE 'db_data%';
+SELECT DISTINCT table_schema FROM information_schema.table_privileges
+WHERE table_schema LIKE 'db_data%';
+SELECT DISTINCT trigger_schema,event_object_schema
+FROM information_schema.triggers
+WHERE trigger_schema LIKE 'db_data%' OR event_object_schema LIKE 'db_data%';
+SELECT DISTINCT table_schema FROM information_schema.views
+WHERE table_schema LIKE 'db_data%';
diff --git a/mysql-test/suite/funcs_1/datadict/charset_collation.inc b/mysql-test/suite/funcs_1/datadict/charset_collation.inc
new file mode 100644
index 00000000000..f8fc58b082b
--- /dev/null
+++ b/mysql-test/suite/funcs_1/datadict/charset_collation.inc
@@ -0,0 +1,122 @@
+# suite/funcs_1/datadict/charset_collation.inc
+#
+# Tests checking the content of the information_schema tables
+# character_sets
+# collations
+# collation_character_set_applicability
+#
+#
+# The amount and properties of character_sets/collations depend on the
+# build type
+# 2007-12 MySQL 5.0
+# ---------------------------------------------------------------------
+#
+# Variant 1 fits to
+# version_comment MySQL Enterprise Server (Commercial)
+# version_comment MySQL Enterprise Server (GPL)
+# version_comment MySQL Classic Server (Commercial)
+# version_comment MySQL Pushbuild Edition, build <number>
+# (version_comment Source distribution
+# and
+# compile was without "max" - > no collation 'utf8_general_ci')
+#
+# Variant 2 fits to
+# version_comment MySQL Enterprise Server (GPL)
+# version_comment MySQL Classic Server (Commercial)
+# version_comment MySQL Pushbuild Edition, build <number>
+# (version_comment Source distribution
+# and
+# compile was without "max" - > collation 'utf8_general_ci' exists)
+#
+# Difference between variant 1 and 2 is the collation 'utf8_general_ci'.
+#
+# Variant 3 fits to
+# version_comment MySQL Community Server (GPL)
+# version_comment MySQL Cluster Server (Commercial)
+#
+# Difference between variant 3 and 2 is within the collation properties
+# IS_COMPILED and SORTLEN.
+#
+# Created:
+# 2007-12-18 mleich - remove the unstable character_set/collation subtests
+# from include/datadict-master.inc
+# - create this new test
+#
+
+# Create a low privileged user.
+--error 0, ER_CANNOT_USER
+DROP USER dbdict_test@localhost;
+CREATE USER dbdict_test@localhost;
+
+--echo # Establish connection con (user=dbdict_test)
+--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
+connect (con,localhost,dbdict_test,,);
+################################################################################
+#
+# The original requirements for the following tests were:
+#
+# 3.2.2.2: Ensure that the table (information_schema.character_sets) shows the
+# relevant information on every character set for which the current
+# user or PUBLIC have the USAGE privilege.
+#
+# 3.2.2.3: Ensure that the table (information_schema.character_sets) does not
+# show any information on any character set for which the current user
+# or PUBLIC have no USAGE privilege.
+#
+#
+# 3.2.3.2: Ensure that the table (information_schema.collations) shows the
+# relevant information on every collation for which the current user
+# or PUBLIC have the USAGE privilege.
+#
+# 3.2.3.3: Ensure that the table (information_schema.collations) does not show
+# any information on any collations for which the current user and
+# PUBLIC have no USAGE privilege.
+#
+#
+# 3.2.4.2: Ensure that the table
+# information_schema.collation_character_set_applicability
+# shows the relevant information on every collation/character set
+# combination for which the current user or PUBLIC have the USAGE
+# privilege.
+#
+# 3.2.4.3: Ensure that the table
+# information_schema.collation_character_set_applicability
+# does not show any information on any collation/character set
+# combinations for which the current user and PUBLIC have no
+# USAGE privilege.
+#
+# Notes (2007-12-19 mleich):
+# - The requirements are outdated because grant/revoke privilege for using a
+# characterset/collation were never implemented.
+# Therefore the tests should simply check the content of these tables.
+#
+# - The amount of collations/character sets grows with new MySQL releases.
+#
+# - Even within the same release the amount of records within these tables
+# can differ between different build types (community, enterprise, source,...)
+#
+#
+################################################################################
+--echo
+SELECT *
+FROM information_schema.character_sets
+ORDER BY character_set_name;
+
+--echo
+SELECT *
+FROM information_schema.collations
+ORDER BY collation_name;
+
+echo;
+--echo
+SELECT *
+FROM information_schema.collation_character_set_applicability
+ORDER BY collation_name, character_set_name;
+
+
+# Cleanup
+--echo # Switch to connection default + disconnect con
+connection default;
+disconnect con;
+DROP USER dbdict_test@localhost;
+
diff --git a/mysql-test/suite/funcs_1/datadict/columns.inc b/mysql-test/suite/funcs_1/datadict/columns.inc
new file mode 100644
index 00000000000..86f8afeff73
--- /dev/null
+++ b/mysql-test/suite/funcs_1/datadict/columns.inc
@@ -0,0 +1,87 @@
+# suite/funcs_1/datadict/is_columns.inc
+#
+# Auxiliary script to be sourced by
+# is_columns_is
+# is_columns_mysql
+# is_columns_<engine>
+#
+# Purpose:
+# Check the content of information_schema.columns about tables within certain
+# database/s.
+#
+# Usage:
+# The variable $my_where has to
+# - be set before sourcing this script.
+# - contain the first part of the WHERE qualification
+# Example:
+# let $my_where = WHERE table_schema = 'information_schema'
+# AND table_name <> 'profiling';
+# --source suite/funcs_1/datadict/is_columns.inc
+#
+# 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.
+#
+
+--source suite/funcs_1/datadict/datadict_bug_12777.inc
+eval
+SELECT * FROM information_schema.columns
+$my_where
+ORDER BY table_schema, table_name, column_name;
+
+--echo ##########################################################################
+--echo # Show the quotient of CHARACTER_OCTET_LENGTH and CHARACTER_MAXIMUM_LENGTH
+--echo ##########################################################################
+eval
+SELECT DISTINCT
+ CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML,
+ DATA_TYPE,
+ CHARACTER_SET_NAME,
+ COLLATION_NAME
+FROM information_schema.columns
+$my_where
+AND CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH = 1
+ORDER BY CHARACTER_SET_NAME, COLLATION_NAME, COL_CML;
+
+#FIXME 3.2.6.2: check the value 2.0079 tinytext ucs2 ucs2_general_ci
+eval
+SELECT DISTINCT
+ CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML,
+ DATA_TYPE,
+ CHARACTER_SET_NAME,
+ COLLATION_NAME
+FROM information_schema.columns
+$my_where
+AND CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH <> 1
+ORDER BY CHARACTER_SET_NAME, COLLATION_NAME, COL_CML;
+
+eval
+SELECT DISTINCT
+ CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML,
+ DATA_TYPE,
+ CHARACTER_SET_NAME,
+ COLLATION_NAME
+FROM information_schema.columns
+$my_where
+ AND CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH IS NULL
+ORDER BY CHARACTER_SET_NAME, COLLATION_NAME, COL_CML;
+
+echo --> CHAR(0) is allowed (see manual), and here both CHARACHTER_* values;
+echo --> are 0, which is intended behavior, and the result of 0 / 0 IS NULL;
+--source suite/funcs_1/datadict/datadict_bug_12777.inc
+eval
+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
+$my_where
+ORDER BY TABLE_SCHEMA, TABLE_NAME, ORDINAL_POSITION;
+
diff --git a/mysql-test/suite/funcs_1/datadict/datadict.pre b/mysql-test/suite/funcs_1/datadict/datadict.pre
new file mode 100644
index 00000000000..cedc24aad13
--- /dev/null
+++ b/mysql-test/suite/funcs_1/datadict/datadict.pre
@@ -0,0 +1,54 @@
+#### suite/funcs_1/datadict/datadict.pre
+#
+# Auxiliary script which loads prerequisites
+# (variables needed for --replace_result ...)
+# in datadictionary tests.
+#
+# 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.
+#
+--disable_query_log
+
+# Bug#12777 Different size shown for VARCHAR(n) columns (with n> 64)
+# in INFORMATION_SCHEMA
+# This bug was unfortunately (for testers) declared to be no bug.
+# So CHARACTER_MAXIMUM_LENGTH of several <whatever>_CATALOG columns within
+# the INFORMATION_SCHEMA depends on PATH_MAX of the operating system.
+# Workaround for this problem:
+# Get the size of ONE known colum and check the size against some values to
+# be able to use the correct --replace_result statement. Using this only the
+# one pair of 'wrong' values is replaced and not all occurrencies of all
+# possible pairs of values. See bug #12777 for details.
+SELECT character_maximum_length INTO @CML
+FROM information_schema.columns
+WHERE table_schema = 'information_schema'
+ AND table_name = 'columns'
+ AND column_name = 'table_catalog';
+
+let $bug_12777_0512= `SELECT @CML = 512`;
+let $bug_12777_1023= `SELECT @CML = 1023`;
+let $bug_12777_1024= `SELECT @CML = 1024`;
+let $bug_12777_2048= `SELECT @CML = 2048`;
+# 4096 is the value used in the files with expected results.
+let $bug_12777_4095= `SELECT @CML = 4095`;
+if (0)
+{
+ # enable this for debugging only, but NOT in a pushed version, as then the
+ # result changes from OS to OS ...
+ eval SELECT @CML AS 'CML',
+ $bug_12777_0512 AS '512',
+ $bug_12777_1023 AS '1023',
+ $bug_12777_1024 AS '1024',
+ $bug_12777_2048 AS '2048',
+ $bug_12777_4095 AS '4095';
+}
+
+
+# Prepare a variable to be able to suppress machine dependant diffs
+# this can be used in: --replace_result $SERVER_NAME <SERVER_NAME>
+let $SERVER_NAME= `SELECT DISTINCT host FROM mysql.user
+ WHERE host NOT In ("localhost", "127.0.0.1", "%")`;
+--enable_query_log
+
diff --git a/mysql-test/suite/funcs_1/datadict/datadict_bug_12777.inc b/mysql-test/suite/funcs_1/datadict/datadict_bug_12777.inc
index 0bca30b1dc3..5ba969fe4cb 100644
--- a/mysql-test/suite/funcs_1/datadict/datadict_bug_12777.inc
+++ b/mysql-test/suite/funcs_1/datadict/datadict_bug_12777.inc
@@ -2,7 +2,7 @@
#
# columns in INFORMATION_SCHEMA with VARCHAR(4096) on Linux and Intel or AMD
-# processor are shown as VARCHAR(512) on Windows, VARCHAR(1023) on AIX and HPUX,
+# processor are shown as VARCHAR(512) on Windows, VARCHAR(1023) on AIX and HPUX,
# VARCHAR(1024) on Solaris10, ... see below and in bug #12777 for details.
# So we need to replace the output for these systems. There may be other still
# not tested / detected systems.
@@ -10,10 +10,10 @@
# Setting the variables used below has been moved to the beginning of the datadict
# tests to "suite/funcs_1/datadict/datadict_load.inc".
#
-# SELECT character_maximum_length INTO @CML
-# FROM information_schema.columns
-# WHERE table_schema = 'information_schema'
-# AND table_name = 'columns'
+# SELECT character_maximum_length INTO @CML
+# FROM information_schema.columns
+# WHERE table_schema = 'information_schema'
+# AND table_name = 'columns'
# AND column_name = 'table_catalog';
# this enables the --replace_result only if needed, using this we never replace
@@ -31,7 +31,7 @@ if ($bug_12777_0512)
--replace_result 512 4096 1536 12288
}
-# aix52, aix52-64bit, hp3750, hp3750-64bit, hpux11, hpux11-64bit,
+# aix52, aix52-64bit, hp3750, hp3750-64bit, hpux11, hpux11-64bit,
if ($bug_12777_1023)
{
# nnnn 3*n
diff --git a/mysql-test/suite/funcs_1/datadict/datadict_load.inc b/mysql-test/suite/funcs_1/datadict/datadict_load.inc
index 4a9bdc9356d..e3013249faf 100644
--- a/mysql-test/suite/funcs_1/datadict/datadict_load.inc
+++ b/mysql-test/suite/funcs_1/datadict/datadict_load.inc
@@ -12,14 +12,14 @@
--disable_query_log
# ------------------------------------------------------------------------------
-# Get the size of ONE known colum and check the size against some values to
-# be able to use the correct --replace_result statement. Using this only the
-# one pair of 'wrong' values is replaced and not all occurrencies of all
+# Get the size of ONE known colum and check the size against some values to
+# be able to use the correct --replace_result statement. Using this only the
+# one pair of 'wrong' values is replaced and not all occurrencies of all
# possible pairs of values. See bug #12777 for details.
-SELECT character_maximum_length INTO @CML
- FROM information_schema.columns
- WHERE table_schema = 'information_schema'
- AND table_name = 'columns'
+SELECT character_maximum_length INTO @CML
+ FROM information_schema.columns
+ WHERE table_schema = 'information_schema'
+ AND table_name = 'columns'
AND column_name = 'table_catalog';
let $bug_12777_0512= `SELECT @CML = 512`;
@@ -53,7 +53,7 @@ let $SERVER_NAME= `SELECT DISTINCT host FROM mysql.user WHERE host NOT In ("loca
# load tables
# -----------
#
-# this was part of the 3 files $<engine>_datadict.test, but it has been moved
+# this was part of the 4 files $<engine>_datadict.test, but it has been moved
# here to have only one place where all preparation for the test is done.
#
################################################################################
@@ -61,62 +61,61 @@ let $SERVER_NAME= `SELECT DISTINCT host FROM mysql.user WHERE host NOT In ("loca
eval SET @ENGINE_INNODB = IF( '$engine_type' = 'innodb', 1, 0);
eval SET @ENGINE_MEMORY = IF( '$engine_type' = 'memory', 1, 0);
eval SET @ENGINE_MYISAM = IF( '$engine_type' = 'myisam', 1, 0);
+eval SET @ENGINE_NDB = IF( '$engine_type' = 'ndb', 1, 0);
--enable_query_log
let $engine_myisam= `SELECT @ENGINE_MYISAM = 1`;
let $engine_innodb= `SELECT @ENGINE_INNODB = 1`;
let $engine_memory= `SELECT @ENGINE_MEMORY = 1`;
+let $engine_ndb= `SELECT @ENGINE_NDB = 1`;
+# Note: The NDB variant with their own tb1 - tb4 tables is not ready for use.
+let $engine_ndb= 0;
-# Decide, if the objects are to be (re)created
-#
-# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE)
-# That means the current script must not (re)create any object.
-# It can expect, that the objects already exist.
-#
-# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE)
-# That means all objects have to be (re)created within the current script.
-#
-eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1);
-let $run= `SELECT @NO_REFRESH = 0`;
-if ($run)
+--disable_warnings
+DROP DATABASE IF EXISTS test1;
+--enable_warnings
+CREATE DATABASE test1;
+USE test;
+
+if ($engine_innodb)
{
- --disable_warnings
- DROP DATABASE IF EXISTS test1;
- --enable_warnings
- CREATE DATABASE test1;
- USE test;
+ --source suite/funcs_1/include/innodb_tb1.inc
+ --source suite/funcs_1/include/innodb_tb2.inc
+ --source suite/funcs_1/include/innodb_tb3.inc
+ --source suite/funcs_1/include/innodb_tb4.inc
+ USE test1;
+ --source suite/funcs_1/include/innodb_tb2.inc
+}
- # until a statement 'eval --source suite/funcs_1/include/$var_tb1.inc
- # works we need to have similar statements for each $engine
- if ($engine_innodb)
- {
- --source suite/funcs_1/include/innodb_tb1.inc
- --source suite/funcs_1/include/innodb_tb2.inc
- --source suite/funcs_1/include/innodb_tb3.inc
- --source suite/funcs_1/include/innodb_tb4.inc
- USE test1;
- --source suite/funcs_1/include/innodb_tb2.inc
- }
+if ($engine_memory)
+{
+ --source suite/funcs_1/include/memory_tb1.inc
+ --source suite/funcs_1/include/memory_tb2.inc
+ --source suite/funcs_1/include/memory_tb3.inc
+ --source suite/funcs_1/include/memory_tb4.inc
+ USE test1;
+ --source suite/funcs_1/include/memory_tb2.inc
+}
- if ($engine_memory)
- {
- --source suite/funcs_1/include/memory_tb1.inc
- --source suite/funcs_1/include/memory_tb2.inc
- --source suite/funcs_1/include/memory_tb3.inc
- --source suite/funcs_1/include/memory_tb4.inc
- USE test1;
- --source suite/funcs_1/include/memory_tb2.inc
- }
+if ($engine_myisam)
+{
+ --source suite/funcs_1/include/myisam_tb1.inc
+ --source suite/funcs_1/include/myisam_tb2.inc
+ --source suite/funcs_1/include/myisam_tb3.inc
+ --source suite/funcs_1/include/myisam_tb4.inc
+ USE test1;
+ --source suite/funcs_1/include/myisam_tb2.inc
+}
- if ($engine_myisam)
- {
- --source suite/funcs_1/include/myisam_tb1.inc
- --source suite/funcs_1/include/myisam_tb2.inc
- --source suite/funcs_1/include/myisam_tb3.inc
- --source suite/funcs_1/include/myisam_tb4.inc
- USE test1;
- --source suite/funcs_1/include/myisam_tb2.inc
- }
- USE test;
- --source suite/funcs_1/include/sp_tb.inc
+if ($engine_ndb)
+{
+ --source suite/funcs_1/include/ndb_tb1.inc
+ --source suite/funcs_1/include/ndb_tb2.inc
+ --source suite/funcs_1/include/ndb_tb3.inc
+ --source suite/funcs_1/include/ndb_tb4.inc
+ USE test1;
+ --source suite/funcs_1/include/ndb_tb2.inc
}
+
+USE test;
+--source suite/funcs_1/include/sp_tb.inc
diff --git a/mysql-test/suite/funcs_1/datadict/datadict_master.inc b/mysql-test/suite/funcs_1/datadict/datadict_master.inc
deleted file mode 100644
index 618919f8300..00000000000
--- a/mysql-test/suite/funcs_1/datadict/datadict_master.inc
+++ /dev/null
@@ -1,3917 +0,0 @@
-#### suite/funcs_1/datadict/datadict_master.inc
-#
---disable_abort_on_error
-let $message=
-.
-. It is intended that the 3 <engine>__datadict.test files are named this way to be
-. sure they are - in a *full run* of the suite - the first tests done for each
-. storage engine. Using two _ and the order of processing in mysql-test-run.pl
-. ensures this in an easy way.
-.
-. If needed a restart could be implemented later between the storage engines if
-. values changes in the result depending from the position where the
-. *__datadict.test are started. This can be a result of showing e.g. maximum
-. values of the number of rows of tables.
-.
-. This .result file has been checked OK with Linux 5.0.23-bk,
-. ChangeSet@1.2211, 2006-06-28 10:11:43-07:00.
-.;
---source include/show_msg80.inc
-
-################################################################################
-#
- let $message= FIXME: There are subtests that are switched off due to known bugs:;
- --source include/show_msg.inc
- #set variable(s) here to be able to switch crashing sub tests with ONE change HERE.
- #change the variable(s) to enable / disable the crashing parts.
-
- # different 'logics' are used because sometimes codelines needs to be switched off
- # and otherwise some extra statements needs to be executed as long as the bug is not
- # fixed:
- let $have_bug_11589= 1;
-
- #seems not to work: --vertical_results
- eval SELECT $have_bug_11589 AS "have_bug_11589";
- #seems not to work: --horizontal_results
-
- # As long as
- # Bug#11589: mysqltest, --ps-protocol, strange output, float/double/real with zerofill
- # is not fixed, we must switch the ps-protocol for some statements off.
- # If this bug is fixed, please
- # 1. set the following variable to 0
- # 2. check, if the test passes
- # 3. remove the workarounds
- if ($have_bug_11589)
- {
- let $message= There are some statements where the ps-protocol is switched off.
- This may come from the bug listed below, ir from other problems.
- Bug#11589: mysqltest, --ps-protocol, strange output, float/double/real with zerofill;
- --source include/show_msg80.inc
- }
-#
-################################################################################
-
-
-# loading the tables (data is not really needed in this test) is separated to
-# make it easier in this file to show the message above.
---source suite/funcs_1/datadict/datadict_load.inc
-
-#FIXME: - check for remaining change of object names to standards: db_, tb_, v_, u_, ...
-#FIXME: - check warnings when data is loaded (Data truncated for column ...)
-#FIXME: - change connect() to use less users / connections
-#
-#FIXME: - check for additional 'FIXME' here in the script
-
-use information_schema;
---source suite/funcs_1/include/show_connection.inc
-
-
-################################################################################
-#
-# Data Dictionary
-#
-################################################################################
-
-let $message= Testcase 3.2.1.1:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.1.1: Ensure that every INFORMATION_SCHEMA table can be queried
-# with a SELECT statement, just as if it were an ordinary
-# user-defined table.
-################################################################################
-
-# create at least one object for all 'tables' to be checked
---disable_warnings
-DROP DATABASE IF EXISTS db_datadict;
---enable_warnings
-CREATE DATABASE db_datadict;
-USE db_datadict;
-
-CREATE VIEW v1 AS SELECT * FROM information_schema.tables;
-
-# try to get the server's name to be able to clean-up the result from machine
-# specific stuff.
-CREATE OR REPLACE VIEW db_datadict.vu1 as
-SELECT grantee AS u
- FROM information_schema.user_privileges;
-CREATE OR REPLACE VIEW db_datadict.vu as
-SELECT DISTINCT u,
- SUBSTRING( u, LENGTH(SUBSTRING_INDEX(u,_utf8'@',1))+3 )
- AS server,
- SUBSTRING( u, LENGTH(SUBSTRING_INDEX(u,_utf8'@',1))+3,
- LENGTH( SUBSTRING( u,
- LENGTH( SUBSTRING_INDEX(u, _utf8'@',1)) +3 )) - 1 )
- AS Server_Clean
-FROM db_datadict.vu1;
---replace_result $SERVER_NAME <SERVER_NAME>
-SELECT * FROM db_datadict.vu order by u;
-
-delimiter //;
-CREATE PROCEDURE db_datadict.sp_1()
- BEGIN
- SELECT * FROM db_datadict.v1;
- END//
-delimiter ;//
-
-#FIXME 3.2.1.1: add missing objects of each type to have something to select
-#FIXME 3.2.1.1: - FUNCTION
-#FIXME 3.2.1.1: - TRIGGER
-
-USE information_schema;
-SHOW tables;
-
-select * from schemata ORDER BY 2 DESC, 1 ASC;
-
-if ($have_bug_11589)
-{
---disable_ps_protocol
-}
---vertical_results
-#SELECT * FROM tables;
-#
-#FIXME 3.2.1.1: we split the "SELECT * FROM tables" in two parts until
-#FIXME 3.2.1.1: Bug #12397: wrong values shown in column CREATE_OPTIONS of
-#FIXME 3.2.1.1: INFORMATION_SCHEMA.TABLES is solved, one with 'more' and one
-#FIXME 3.2.1.1: with 'less' replace
-# 9 AVG_ROW_LENGTH
-# 10 DATA_LENGTH
-# 11 MAX_DATA_LENGTH
-# 12 INDEX_LENGTH
-# 13 DATA_FREE
-# 15 CREATE_TIME
-# 16 UPDATE_TIME
-# 17 CHECK_TIME
-# 20 CREATE_OPTIONS
---replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss" 20 "#CO#"
-SELECT * FROM tables
- WHERE table_schema = 'information_schema';
-# 9 AVG_ROW_LENGTH
-# 10 DATA_LENGTH
-# 11 MAX_DATA_LENGTH
-# 12 INDEX_LENGTH
-# 13 DATA_FREE
-# 15 CREATE_TIME
-# 16 UPDATE_TIME
-# 17 CHECK_TIME
---replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss"
-SELECT * FROM tables
- WHERE NOT( table_schema = 'information_schema');
---horizontal_results
---enable_ps_protocol
-
-select s.catalog_name, s.schema_name, s.default_character_set_name,
- t.table_type, t.engine
- from schemata s inner join tables t
- ORDER BY s.schema_name, s.default_character_set_name, table_type, engine;
---source suite/funcs_1/datadict/datadict_bug_12777.inc
-select * from columns;
-select * from character_sets;
-select sum(id) from collations;
-select collation_name, character_set_name into @x,@y
- from collation_character_set_applicability limit 1;
- select @x, @y;
-
---replace_column 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss"
-select * from routines;
-
-select count(*) from routines;
-select * from statistics;
-select * from views;
---replace_result $SERVER_NAME <SERVER_NAME>
-select * from user_privileges order by grantee, privilege_type;
-select * from schema_privileges;
-select * from table_privileges;
-select * from column_privileges;
-select * from table_constraints;
-select * from key_column_usage;
-select count(*) as max_recs from key_column_usage;
-
-select max(cardinality) from statistics;
-
-select concat("View '",
- table_name, "' is associated with the database '", table_schema, "'.")
- AS "Who is Who for the Views"
- from views;
-
-select concat("Table or view '", table_name,
- "' is associated with the database '", table_schema, "'.") as "Who is Who"
- from tables;
-
---replace_result $SERVER_NAME <SERVER_NAME>
-select grantee as "user's having select privilege",
- substring( grantee, length(SUBSTRING_INDEX(grantee,_utf8'@',1))+2 )
- from user_privileges where privilege_type = 'select'
- order by grantee;
-
-select all table_schema from schema_privileges limit 0,5;
-
-select distinct(privilege_type) from table_privileges;
-
-select * from column_privileges
- group by table_schema having table_schema = 'db_datadict';
-
-select * from table_constraints limit 0,5;
-select count(*) as max_recs from key_column_usage limit 0,5;
-
-select information_schema.tables.table_name as "table name",
- count(distinct(column_name)) as "no of columns in the table"
- from information_schema.tables left outer join information_schema.columns on
- information_schema.tables.table_name = information_schema.columns.table_name
- group by information_schema.tables.table_name;
-
-# Reference Manual 22.1.16 - we will add more ...:
-# select * from parameters;
-# select * from referential_constraints;
-# select * from triggers;
-
-let $message= root: simple select to check all - and never forget some - tables;
-let $dd_part1= SELECT * FROM;
-let $dd_part2= LIMIT 1;
---source suite/funcs_1/datadict/datadict_tables.inc
-
-# check again, but from different database (will fail due to missing database name)
-use db_datadict;
-
---error 1146
-select * from schemata;
---error 1146
-select * from tables;
---error 1146
-select s.catalog_name, s.schema_name, s.default_character_set_name,
- t.table_type, t.engine
- from schemata s inner join tables t
- ORDER BY s.catalog_name, s.schema_name, s.default_character_set_name;
---error 1146
-select * from columns limit 0, 5;
---error 1146
-select * from character_sets limit 0, 5;
---error 1146
-select * from collations limit 0, 5;
---error 1146
-select * from collation_character_set_applicability limit 0, 5;
---error 1146
-select * from routines limit 0, 5;
---error 1146
-select * from statistics limit 0, 5;
---error 1146
-select * from views limit 0, 5;
---error 1146
-select * from user_privileges limit 0, 5;
---error 1146
-select * from schema_privileges limit 0, 5;
---error 1146
-select * from table_privileges limit 0, 5;
---error 1146
-select * from column_privileges limit 0, 5;
---error 1146
-select * from table_constraints limit 0, 5;
---error 1146
-select * from key_column_usage limit 0, 5;
-# Reference Manual 22.1.16 - we will add more ...:
-# --error 1146
-# select * from parameters;
-# --error 1146
-# select * from referential_constraints;
-# --error 1146
-# select * from triggers;
-let $message= will fail due to missing database name;
-let $dd_part1= SELECT * FROM;
-let $dd_part2=;
---source suite/funcs_1/datadict/datadict_tables_error_1146.inc
-
-# now check from "other" database, but with database name
-select * from information_schema.schemata ORDER BY 2 DESC;
-
-#SELECT * FROM information_schema.tables;
-#
-#FIXME 3.2.1.1: we split the "SELECT * FROM tables" in two parts until
-#FIXME 3.2.1.1: Bug #12397: wrong values shown in column CREATE_OPTIONS of
-#FIXME 3.2.1.1: INFORMATION_SCHEMA.TABLES is solved, one with 'more' and one
-#FIXME 3.2.1.1: with 'less' replace
-# 9 AVG_ROW_LENGTH
-# 10 DATA_LENGTH
-# 11 MAX_DATA_LENGTH
-# 12 INDEX_LENGTH
-# 13 DATA_FREE
-# 15 CREATE_TIME
-# 16 UPDATE_TIME
-# 17 CHRCK_TIME
-# 20 CREATE_OPTIONS
-if ($have_bug_11589)
-{
---disable_ps_protocol
-}
---vertical_results
---replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss" 20 "#CO#"
-SELECT * FROM information_schema.tables
- WHERE table_schema = 'information_schema';
-# 9 AVG_ROW_LENGTH
-# 10 DATA_LENGTH
-# 11 MAX_DATA_LENGTH
-# 12 INDEX_LENGTH
-# 13 DATA_FREE
-# 15 CREATE_TIME
-# 16 UPDATE_TIME
-# 17 CHRCK_TIME
---replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss"
-SELECT * FROM information_schema.tables
- WHERE NOT( table_schema = 'information_schema');
---horizontal_results
---enable_ps_protocol
-
-select s.catalog_name, s.schema_name, s.default_character_set_name,
- t.table_type, t.engine
- from information_schema.schemata s inner join information_schema.tables t
- ORDER BY s.schema_name, s.default_character_set_name, table_type, engine;
-
---source suite/funcs_1/datadict/datadict_bug_12777.inc
-select * from information_schema.columns limit 0, 5;
-select * from information_schema.character_sets limit 0, 5;
-select * from information_schema.collations limit 0, 5;
-select * from information_schema.collation_character_set_applicability limit 0, 5;
---replace_column 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss"
-select * from information_schema.routines limit 0, 5;
-select * from information_schema.statistics limit 0, 5;
-select * from information_schema.views limit 0, 5;
---replace_result $SERVER_NAME <SERVER_NAME>
-select * from information_schema.user_privileges limit 0, 5;
-select * from information_schema.schema_privileges limit 0, 5;
-select * from information_schema.table_privileges limit 0, 5;
-select * from information_schema.column_privileges limit 0, 5;
-select * from information_schema.table_constraints limit 0, 5;
-select * from information_schema.key_column_usage limit 0, 5;
-select count(*) as max_recs from information_schema.key_column_usage limit 0, 5;
-
-# Reference Manual 22.1.16 - we will add more ...:
-# select * from information_schema.parameters;
-# select * from information_schema.referential_constraints;
-# select * from information_schema.triggers;
-
-let $message= root: check with db name;
-let $dd_part1= SELECT COUNT(*) FROM information_schema.;
-let $dd_part2=;
---source suite/funcs_1/datadict/datadict_tables.inc
-
-# cleanup
-USE db_datadict;
-DROP VIEW v1, vu1, vu;
-DROP PROCEDURE db_datadict.sp_1;
-USE information_schema;
-# ------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.1.2:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.1.2: Ensure that queries on an INFORMATION_SCHEMA table can
-# accept all SELECT statement options and are always
-# correctly evaluated.
-################################################################################
-
-# currently here only a subset of select statement options is checked, it's still
-# not possible to check here all possible options
-select catalog_name, schema_name, default_character_set_name
- from schemata where schema_name like '%s%';
-
-select count(*) as tot_tabs from tables;
-select count(*) as the_cols from columns;
-
-select max(maxlen) as the_max from character_sets;
-select * from collations order by id asc limit 0, 5;
-select * from collation_character_set_applicability
- order by character_set_name desc, collation_name limit 0, 5;
-
-select routine_definition from routines;
-select * from statistics group by index_name asc limit 0, 5;
-select concat(table_schema, ', ', table_name, ', ', view_definition) view_info
- from views;
-select concat(table_schema, ', ', table_name) "Table_info"
- from tables ORDER BY 1;
-
---replace_result $SERVER_NAME <SERVER_NAME>
-select distinct grantee from user_privileges order by grantee, privilege_type;
-select * from schema_privileges where table_catalog is null limit 0, 5;
-select * from table_privileges where grantee like '%r%' limit 0, 5;
-
-select * from column_privileges where table_catalog is not null limit 0, 5;
-select HIGH_PRIORITY * from table_constraints
- group by constraint_name desc limit 0, 5;
-select sum(ordinal_position) from key_column_usage;
-
-select * from schemata limit 0,5;
-select * from schemata limit 0,5;
---replace_result $SERVER_NAME <SERVER_NAME>
-select distinct grantee from user_privileges;
---replace_result $SERVER_NAME <SERVER_NAME>
-select all grantee from user_privileges order by grantee, privilege_type;
-
-select id , character_set_name from collations order by id asc limit 10;
-
-select table_catalog from columns
- union all
-select table_catalog from tables limit 0,5;
-select table_catalog from columns
- union
-select table_catalog from tables limit 0,5;
-
-select all schema_name from information_schema.schemata;
-
-# the $ENGINE_TYPE variable is used here ONLY to have 3 different file names in
-# the three datadict testcases innodb_*, memory_* and myisam_*
-eval SELECT *
- INTO OUTFILE '../tmp/out.$ENGINE_TYPE.file'
- FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
- LINES TERMINATED BY '\n'
- FROM schemata LIMIT 0, 5;
-
-USE test;
-
-eval SELECT *
- INTO OUTFILE '../tmp/out.$ENGINE_TYPE.db.file'
- FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
- LINES TERMINATED BY '\n'
- FROM information_schema.schemata
- WHERE schema_name LIKE 'db_%';
-
-# check also with a 'simple' user
-CREATE USER user_3212@localhost;
-GRANT ALL ON db_datadict.* TO user_3212@localhost;
-# OBN: The following line was added following the fix to bug 28181
-# where queries to information_schema will fail if exporting to
-# a file without having the FILE attribute
-GRANT FILE ON *.* TO user_3212@localhost;
-
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (u3212,localhost,user_3212,,db_datadict);
---source suite/funcs_1/include/show_connection.inc
-
-# no db given --> db_datadict.schema does not exist
---error 1146
-eval SELECT *
- INTO OUTFILE '../tmp/out.$ENGINE_TYPE.user.file'
- FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
- LINES TERMINATED BY '\n'
- FROM schemata LIMIT 0, 5;
---error 1146
-eval SELECT *
- FROM schemata LIMIT 0, 5;
-
-eval SELECT *
- INTO OUTFILE '../tmp/out.$ENGINE_TYPE.user.db.file'
- FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
- LINES TERMINATED BY '\n'
- FROM information_schema.schemata
- WHERE schema_name LIKE 'db_%';
-
-eval SELECT *
- FROM information_schema.schemata
- WHERE schema_name LIKE 'db_%';
-
-USE information_schema;
-
-eval SELECT *
- INTO OUTFILE '../tmp/out.$ENGINE_TYPE.user_2.file'
- FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
- LINES TERMINATED BY '\n'
- FROM schemata LIMIT 0, 5;
-
-eval SELECT *
- FROM schemata LIMIT 0, 5;
-
-eval SELECT *
- INTO OUTFILE '../tmp/out.$ENGINE_TYPE.user_2.db.file'
- FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
- LINES TERMINATED BY '\n'
- FROM information_schema.schemata
- WHERE schema_name LIKE 'db_%';
-
-eval SELECT *
- FROM information_schema.schemata
- WHERE schema_name LIKE 'db_%';
-
-disconnect u3212;
-connection default;
-USE information_schema;
---source suite/funcs_1/include/show_connection.inc
-
-use db_datadict;
-select table_catalog "1", table_schema "2", table_name "3", column_name "4"
- from information_schema.columns
-union
-select table_catalog, table_schema, table_name,
- concat( "*** type = ", table_type )
- from information_schema.tables
- order by 3, 4 desc, 1, 2 limit 30;
-
-use information_schema;
---source suite/funcs_1/datadict/datadict_bug_12777.inc
-select table_catalog "1", table_schema "2", table_name "3", column_name "4"
- from columns
-union
-select table_catalog, table_schema, table_name,
- concat( "*** type = ", table_type )
- from tables
- order by 3, 4 desc, 1, 2 limit 30;
-
-# cleanup
-DROP USER user_3212@localhost;
-
-# ------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.1.3:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.1.3: Ensure that no user may execute an INSERT statement on any
-# INFORMATION_SCHEMA table.
-################################################################################
-
-#FIXME: in this block we had --error 1288 until Mid Sep05, check the change!
---error 1044
-insert into schemata (catalog_name, schema_name, default_character_set_name, sql_path)
- values ('null', 'db1', 'latin1', 'null');
---error 1044
-insert into tables (table_schema, table_name)values('db_datadict', 't1');
---error 1044
-insert into columns (table_name, column_name)values('t3', 'f2');
---error 1044
-insert into character_sets (character_set_name, default_collate_name, description, maxlen)
- values('cp1251', 'cp1251_general_ci', 'windows cyrillic', 1);
---error 1044
-insert into collations ( collation_name, character_set_name, id, is_default, is_compiled, sortlen)
- values ('cp1251_bin', 'cp1251', 50, '', '', 0);
---error 1044
-insert into collation_character_set_applicability (collation_name, character_set_name)
- values (' big5_chinese_ci', 'big6');
---error 1044
-insert into routines(routine_name, routine_type ) values ('p2', 'procedure');
---error 1044
-insert into statistics(table_schema, table_name, index_name)
- values ('mysql', 'db', 'primary');
---error 1044
-insert into views(table_schema, table_name) values ('db2', 'v2');
---error 1044
-insert into user_privileges (privilege_type, is_grantable) values ('select', 'yes');
---error 1044
-insert into schema_privileges (table_schema, privilege_type) values('db2', 'insert');
---error 1044
-insert into table_privileges (able_schema, table_name, privilege_type)
- values('db2', 'v2', 'insert');
---error 1044
-insert into column_privileges (table_name, column_name, privilege_type)
- values ('t3', 'f3', 'insert');
---error 1044
-insert into table_constraints ( constraint_schema, constraint_name, table_schema)
- values ('primary', 'mysql', 'user');
---error 1044
-insert into key_column_usage (constraint_schema, constraint_name, table_name)
- values ('mysql', 'primary', 'db');
-
-# insert through a procedure
---disable_warnings
-drop procedure if exists db_datadict.sp_4_1_3;
---enable_warnings
-
-delimiter //;
-create procedure db_datadict.sp_4_1_3()
-begin
- insert into information_schema.schema_privileges (table_schema,privilege_type)
- values('db2','insert');
-end//
-delimiter ;//
-
-#FIXME: check for the diffs Win ./. Linux
-SELECT table_schema, privilege_type FROM information_schema.schema_privileges
- WHERE table_schema LIKE 'db%';
-
---error 1044
-call db_datadict.sp_4_1_3();
-
-#FIXME: check for the diffs Win ./. Linux
-SELECT table_schema, privilege_type FROM information_schema.schema_privileges
- WHERE table_schema LIKE 'db%';
-
-# cleanup
-drop procedure db_datadict.sp_4_1_3;
-
-# insert into information_schema as a limited user
-
-CREATE USER user_4_1_3@localhost;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (u413,localhost,user_4_1_3,,test);
---source suite/funcs_1/include/show_connection.inc
-
-use information_schema;
-
-#FIXME: check later the change from 1288 to 1044 (since Mid Sep05)
---error 1044
-insert into table_constraints ( constraint_schema, constraint_name, table_schema)
- values ('primary', 'mysql', 'user');
-
-connection default;
---source suite/funcs_1/include/show_connection.inc
-# ------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.1.4:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.1.4: Ensure that no user may execute an UPDATE statement on any
-# INFORMATION_SCHEMA table.
-################################################################################
-
-use information_schema;
---source suite/funcs_1/include/show_connection.inc
-
-#FIXME: check later the change from 1288 to 1044 (since Mid Sep05) in the whole next block
---error 1044
-update schemata set schema_name = 'db5' where default_character_set_name = 'latin1';
---error 1044
-update tables set table_schema = 'db_datadict1' where table_name = 't1';
---error 1044
-update columns set table_name = 't4' where column_name = 'f2';
---error 1044
-update character_sets set character_set_name = 'cp1252' where maxlen = 1;
---error 1044
-update collations set collation_name = 'cp1253_bin'
- where character_set_name = 'cp1251';
---error 1044
-update collation_character_set_applicability set collation_name = 'big6_chinese_ci'
- where character_set_name = 'big6';
---error 1044
-update routines set routine_name = p2 where routine_body = 'sql';
---error 1044
-update statistics set table_schema = 'mysql1' where table_name = 'db';
---error 1044
-update views set table_schema = 'db3' where table_name = 'v1';
---error 1044
-update user_privileges set privilege_type = 'insert' where is_grantable = 'yes';
---error 1044
-update schema_privileges set table_schema = 'db2' where privilege_type = 'select';
---error 1044
-update table_privileges set table_name = 'v3' where privilege_type = 'select';
---error 1044
-update column_privileges set table_name = 't4' where column_name = 'f3';
---error 1044
-update table_constraints set constraint_schema = 'primary'
- where table_schema = 'proc';
---error 1044
-update key_column_usage set table_name = 'db1' where constraint_name = 'primary';
-
-# update through a procedure
---disable_warnings
-drop procedure if exists db_datadict.sp_4_1_4;
---enable_warnings
-
-delimiter //;
-create procedure db_datadict.sp_4_1_4()
-begin
- update information_schema.routines set routine_name = 'p2'
- where routine_name = 'sp_4_1_4';
-end//
-delimiter ;//
-
-#FIXME: check for the diffs Win ./. Linux
---replace_column 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss"
-select * from information_schema.routines;
-
---error 1044
-call db_datadict.sp_4_1_4();
-
-#FIXME: check for the diffs Win ./. Linux
---replace_column 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss"
-select * from information_schema.routines;
-
-# cleanup
-drop procedure db_datadict.sp_4_1_4;
-
-# update information_schema as a limited user
-
-connection u413;
-
-use information_schema;
---source suite/funcs_1/include/show_connection.inc
-
-#FIXME: check later the change from 1288 to 1044 (since Mid Sep05)
---error 1044
-update user_privileges set privilege_type = 'insert' where is_grantable = 'yes';
-
-connection default;
---source suite/funcs_1/include/show_connection.inc
-#
-# ------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.1.5:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.1.5: Ensure that no user may execute a DELETE statement on any
-# INFORMATION_SCHEMA table.
-################################################################################
-
-use information_schema;
-
-let $message= root: DELETE FROM any table in IS;
-let $dd_part1= DELETE FROM;
-let $dd_part2=;
---source suite/funcs_1/datadict/datadict_tables_error_1044.inc
-
-#FIXME: check later the change from 1288 to 1044 (since Mid Sep05) in the whole next block
---error 1044
-delete from schemata where schema_name = 'mysql';
---error 1044
-delete from tables where table_name = 'abc';
---error 1044
-delete from columns;
---error 1044
-delete from character_sets;
---error 1044
-delete from collations;
---error 1044
-delete from collation_character_set_applicability;
---error 1044
-delete from routines;
---error 1044
-delete from statistics;
---error 1044
-delete from views;
---error 1044
-delete from user_privileges;
---error 1044
-delete from schema_privileges;
---error 1044
-delete from table_privileges;
---error 1044
-delete from column_privileges;
---error 1044
-delete from table_constraints;
---error 1044
-delete from key_column_usage;
-
-# delete through a procedure
---disable_warnings
-drop procedure if exists db_datadict.sp_4_1_5;
---enable_warnings
-
-delimiter //;
-create procedure db_datadict.sp_4_1_5()
-begin
- delete from information_schema.column_privileges;
-end//
-delimiter ;//
-
---error 1044
-call db_datadict.sp_4_1_5();
-
-# cleanup
-drop procedure db_datadict.sp_4_1_5;
-
-# delete from information_schema as a limited user
-
-connection u413;
-
-use information_schema;
---source suite/funcs_1/include/show_connection.inc
-
-#FIXME: check later the change from 1288 to 1044 (since Mid Sep05)
---error 1044
-delete from tables where table_name = 'abc';
-
-disconnect u413;
-
-connection default;
---source suite/funcs_1/include/show_connection.inc
-
-# cleanup
-DROP USER user_4_1_3@localhost;
-# ------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.1.6:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.1.6: Ensure that no user may create an INFORMATION_SCHEMA base
-# table.
-################################################################################
-
-use information_schema;
-
-let $message= root: create a table with a name of an IS table directly in IS;
-let $dd_part1= CREATE TABLE;
-let $dd_part2= ( c1 INT );
---source suite/funcs_1/datadict/datadict_tables_error_1044.inc
-#FIXME solved - 3.2.1.6: check for better error message - 42S02: Unknown table '<xxx>' in <db> ?
---error 1109
-create table t1 (f1 int, f2 int, f3 int);
-
-use db_datadict;
-
-#FIXME: check correct error message - HY000 Can't create/write to file '.\information_schema\columns.frm' (Errcode: 2)
-let $message= root: create a table with a name of an IS table from other db;
-let $dd_part1= CREATE TABLE information_schema.;
-let $dd_part2= ( c1 INT );
---source suite/funcs_1/datadict/datadict_tables_error_1044.inc
-#FIXME solved - 3.2.1.6: check for better error message - 42S02: Unknown table '<xxx>' in <db> ?
---error 1109
-create table information_schema.t1 (f1 int, f2 int, f3 int);
-
-# create a table in information_schema as a limited user with sufficient permissions
-CREATE USER user_4_1_6@localhost;
-
-grant all on *.* to user_4_1_6@localhost;
-
-FLUSH PRIVILEGES;
-
-SHOW GRANTS FOR user_4_1_6@localhost;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (u2, localhost, user_4_1_6, , information_schema);
---source suite/funcs_1/include/show_connection.inc
-
-use information_schema;
-
-let $message= user: create a table with a name of an IS table directly in IS;
-let $dd_part1= CREATE TABLE;
-let $dd_part2= ( c1 INT );
---source suite/funcs_1/datadict/datadict_tables_error_1044.inc
-#FIXME solved - 3.2.1.6: check for better error message - 42S02: Unknown table '<xxx>' in <db> ?
---error 1109
-create table t1 (f1 int, f2 int, f3 int);
-
-use test;
-
-#FIXME 3.2.1.6: check correct error message - HY000 Can't create/write to file '.\information_schema\columns.frm' (Errcode: 2)
-let $message= user: create a table with a name of an IS table from other db;
-let $dd_part1= CREATE TABLE information_schema.;
-let $dd_part2= ( c1 INT );
---source suite/funcs_1/datadict/datadict_tables_error_1044.inc
-#FIXME solved - 3.2.1.6: check for better error message - 42S02: Unknown table '<xxx>' in <db> ?
---error 1109
-create table information_schema.t1 (f1 int, f2 int, f3 int);
-
-#cleanup
-connection default;
---source suite/funcs_1/include/show_connection.inc
-disconnect u2;
-DROP USER user_4_1_6@localhost;
-# ------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.1.7:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.1.7: Ensure that no user may create an INFORMATION_SCHEMA view.
-################################################################################
-
-use information_schema;
-
-let $message= root: create a view with a name of an IS table directly in IS;
-let $dd_part1= CREATE VIEW ;
-let $dd_part2= AS SELECT * FROM mysql.time_zone;
-#FIXME: check change from error 1 to 1044
---source suite/funcs_1/datadict/datadict_tables_error_1044.inc
-
---error 1109
-CREATE VIEW v1 AS SELECT * FROM information_schema.schemata;
-
-USE db_datadict;
-
-let $message= root: create a view with a name of an IS table from other db;
-let $dd_part1= CREATE VIEW information_schema.;
-let $dd_part2= AS SELECT * FROM mysql.time_zone;
-#FIXME: check change from error 1 to 1044
---source suite/funcs_1/datadict/datadict_tables_error_1044.inc
-
-# ... but creating a view that 'uses' the information_schema is allowed:
-CREATE VIEW v1 AS SELECT * FROM information_schema.columns;
-
-SELECT * FROM v1 LIMIT 5;
-
-# create a view in information_schema as a limited user with sufficient permissions
-CREATE USER user_4_1_7@localhost;
-
-GRANT ALL ON db_datadict.* TO user_4_1_7@localhost;
-#FIXME: check that GRANT ON i_s is no longer allowed
---error 1044
-GRANT ALL ON information_schema.* TO user_4_1_7@localhost;
-
-FLUSH PRIVILEGES;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (u3, localhost, user_4_1_7, , db_datadict);
-use information_schema;
---source suite/funcs_1/include/show_connection.inc
-
-let $message= user: create a view with a name of an IS table directly in IS;
-let $dd_part1= CREATE VIEW ;
-let $dd_part2= AS SELECT * FROM db_datadict.v1;
-#FIXME: check change from error 1 to 1044
---source suite/funcs_1/datadict/datadict_tables_error_1044.inc
---error 1109
-create view v1 as select * from table_privileges;
-
-use db_datadict;
-
-let $message= user: create a view with a name of an IS table from other db;
-let $dd_part1= CREATE VIEW information_schema.;
-let $dd_part2= AS SELECT * FROM db_datadict.v1;
-#FIXME: check change from error 1 to 1044
---source suite/funcs_1/datadict/datadict_tables_error_1044.inc
-disconnect u3;
-
-# cleanup
-connection default;
---source suite/funcs_1/include/show_connection.inc
-DROP USER user_4_1_7@localhost;
-DROP VIEW db_datadict.v1;
-# ------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.1.8:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.1.8: Ensure that no user may create an index on an
-# INFORMATION_SCHEMA table.
-################################################################################
-
-use information_schema;
-
-#FIXME: check later the change from 1288 to 1044 (since Mid Sep05)
---error 1044
-create index i1 on schemata(schema_name);
---error 1044
-create index i2 on tables(table_schema);
---error 1044
-create index i3 on columns(table_name);
-
---error 1044
-create index i4 on character_sets(character_set_name);
---error 1044
-create index i5 on collations( collation_name);
---error 1044
-create index i6 on collation_character_set_applicability(collation_name);
-
---error 1044
-create index i7 on routines(routine_name);
---error 1044
-create index i8 on statistics(table_schema);
---error 1044
-create index i9 on views(table_schema);
-
---error 1044
-create index i10 on user_privileges(privilege_type);
---error 1044
-create index i11 on schema_privileges(table_schema);
---error 1044
-create index i12 on table_privileges(able_schema);
-
---error 1044
-create index i13 on column_privileges(table_name);
---error 1044
-create index i14 on table_constraints(constraint_schema);
---error 1044
-create index i15 on key_column_usage(constraint_schema);
---error 1044
-create index i16 on triggers(trigger_name);
-
-use db_datadict;
---error 1044
-create index i15 on information_schema.key_column_usage(constraint_schema);
-
-use information_schema;
-
-# create an index on an information_schema table as a limited user with sufficient permissions
-CREATE USER user_4_1_8@localhost;
-
-grant select, index on *.* to user_4_1_8@localhost;
-
-FLUSH PRIVILEGES;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (u4, localhost, user_4_1_8, , test);
---source suite/funcs_1/include/show_connection.inc
-
-use information_schema;
-
---error 1044
-create index i1 on schemata(schema_name);
---error 1044
-create index i2 on tables(table_schema);
---error 1044
-create index i3 on columns(table_name);
-
---error 1044
-create index i4 on character_sets(character_set_name);
---error 1044
-create index i5 on collations( collation_name);
---error 1044
-create index i6 on collation_character_set_applicability(collation_name);
-
---error 1044
-create index i7 on routines(routine_name);
---error 1044
-create index i8 on statistics(table_schema);
---error 1044
-create index i9 on views(table_schema);
-
---error 1044
-create index i10 on user_privileges(privilege_type);
---error 1044
-create index i11 on schema_privileges(table_schema);
---error 1044
-create index i12 on table_privileges(able_schema);
-
---error 1044
-create index i13 on column_privileges(table_name);
---error 1044
-create index i14 on table_constraints(constraint_schema);
---error 1044
-create index i15 on key_column_usage(constraint_schema);
---error 1044
-create index i16 on triggers(trigger_name);
-
-use db_datadict;
---error 1044
-create index i15 on information_schema.key_column_usage(constraint_schema);
-
-disconnect u4;
-
-connection default;
---source suite/funcs_1/include/show_connection.inc
-
-# cleanup
-DROP USER user_4_1_8@localhost;
-# ------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.1.9:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.1.9: Ensure that no user may alter the definition of an
-# INFORMATION_SCHEMA table.
-################################################################################
-
-#FIXME: 3.2.1.9 check for better error message than ERROR 42S02: Table 'information_schema.schemata' doesn't exist
-
-# first simple check all known - so we never forget one ...
-let $message= root: alter a table from other db;
-let $dd_part1= ALTER TABLE information_schema.;
-let $dd_part2= ADD f1 INT;
-#FIXME: check change from error 1146 to 1044
---source suite/funcs_1/datadict/datadict_tables_error_1044.inc
-use information_schema;
-let $message= root: alter a table from directly;
-let $dd_part1= ALTER TABLE ;
-let $dd_part2= ADD f1 INT;
-#FIXME: check change from error 1146 to 1044
---source suite/funcs_1/datadict/datadict_tables_error_1044.inc
-# now more detailed checks
---error 1044
-alter table schemata add f1 int;
---error 1044
-alter table tables drop primary key;
---error 1044
-alter table columns add f1 int;
---error 1044
-alter table character_sets disable keys;
---error 1044
-alter table collations enable keys;
---error 1044
-alter table collation_character_set_applicability add f1 int;
---error 1044
-alter table routines discard tablespace;
---error 1044
-alter table statistics import tablespace;
---error 1044
-alter table views drop column table_name;
---error 1044
-alter table user_privileges drop index privilege_type;
---error 1044
-alter table schema_privileges drop column is_grantable;
---error 1044
-alter table table_privileges order by constraint_type;
---error 1044
-alter table column_privileges rename to aaxyz;
---error 1044
-alter table table_constraints order by schema_name;
---error 1044
-alter table key_column_usage rename to information_schema.aabxyz;
---error 1044
-alter table triggers rename to information_schema.sql_mode;
-# Alter an information_schema table as a limited user with sufficient permissions
-
-CREATE USER user_4_1_9@localhost;
-
-grant select, alter, create, insert on *.* to user_4_1_9@localhost;
-
-FLUSH PRIVILEGES;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (u5, localhost, user_4_1_9, , db_datadict);
---source suite/funcs_1/include/show_connection.inc
-
-use db_datadict;
-
-let $message= user: alter a table from other db;
-let $dd_part1= ALTER TABLE information_schema.;
-let $dd_part2= ADD f1 INT;
-#FIXME: check change from error 1146 to 1044
---source suite/funcs_1/datadict/datadict_tables_error_1044.inc
-use information_schema;
-let $message= user: alter a table from directly;
-let $dd_part1= ALTER TABLE ;
-let $dd_part2= ADD f1 INT;
-#FIXME: check change from error 1146 to 1044
---source suite/funcs_1/datadict/datadict_tables_error_1044.inc
-disconnect u5;
-
-# cleanup
-connection default;
---source suite/funcs_1/include/show_connection.inc
-DROP USER user_4_1_9@localhost;
-# ------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.1.10:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.1.10: Ensure that no user may drop an INFORMATION_SCHEMA table.
-################################################################################
-
-use information_schema;
-
-let $message= root: drop a table from IS;
-let $dd_part1= DROP TABLE ;
-let $dd_part2=;
-#FIXME: check change from error 1051 to 1044
---source suite/funcs_1/datadict/datadict_tables_error_1044.inc
-use db_datadict;
-
-let $message= root: drop a table from other db;
-let $dd_part1= DROP TABLE information_schema.;
-let $dd_part2=;
-#FIXME: check change from error 1051 to 1044
---source suite/funcs_1/datadict/datadict_tables_error_1044.inc
-use information_schema;
-
-# drop an information_schema table as a limited user with sufficient permissions
-
-CREATE USER user_4_1_10@localhost;
-
-GRANT SELECT, DROP ON *.* TO user_4_1_10@localhost;
-
-FLUSH PRIVILEGES;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (u6,localhost,user_4_1_10,,db_datadict);
-
-use information_schema;
---source suite/funcs_1/include/show_connection.inc
-
-let $message= user: drop a table from IS;
-let $dd_part1= DROP TABLE ;
-let $dd_part2=;
-#FIXME: check change from error 1051 to 1044
---source suite/funcs_1/datadict/datadict_tables_error_1044.inc
-use db_datadict;
-
-let $message= user: drop a table from other db;
-let $dd_part1= DROP TABLE information_schema.;
-let $dd_part2=;
-#FIXME: check change from error 1051 to 1044
---source suite/funcs_1/datadict/datadict_tables_error_1044.inc
-disconnect u6;
-
-connection default;
---source suite/funcs_1/include/show_connection.inc
-
-# cleanup
-DROP USER user_4_1_10@localhost;
-
-# Try to carry out information_schema modification operations with a user other than root having SUPER privileges
-CREATE USER user_4_1_11@localhost;
-
-GRANT SUPER ON *.* TO user_4_1_11@localhost;
-
-FLUSH PRIVILEGES;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (u7,localhost,user_4_1_11, ,test);
-
-use information_schema;
---source suite/funcs_1/include/show_connection.inc
-
---error 1044
-drop table routines;
-
---error 1044
-alter table collations enable keys;
-
---error 1044
-create index i5 on collations( collation_name );
-
---error 1109
-create view v1 as select * from schemata;
-
---error 1044
-delete from columns;
-
---error 1044
-update columns set table_name = 't4' where column_name = 'f2';
-
---error 1044
-insert into collations ( collation_name, character_set_name, id, is_default,
- is_compiled, sortlen)
- values ('cp1251_bin', 'cp1251', 50, '', '', 0);
-
-disconnect u7;
-
-connection default;
---source suite/funcs_1/include/show_connection.inc
-DROP USER user_4_1_11@localhost;
-# ------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.1.11:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.1.11: Ensure that no user may move an INFORMATION_SCHEMA table
-# to any other database.
-################################################################################
-
---disable_warnings
-DROP DATABASE IF EXISTS db_datadict;
---enable_warnings
-
-CREATE DATABASE db_datadict;
-CREATE USER 'u_6_401011'@'localhost';
-
-#FIXME: check that GRANT ON i_s is no longer allowed
---error 1044
-GRANT ALL ON information_schema.* TO 'u_6_401011'@'localhost';
-GRANT ALL ON db_datadict.* TO 'u_6_401011'@'localhost';
-
-FLUSH PRIVILEGES;
-
---error 1044
-ALTER TABLE information_schema.schemata RENAME db_datadict.schemata;
-
-let $message= root: move table to other DB;
-let $dd_part1= ALTER TABLE information_schema.;
-let $dd_part2= RENAME db_datadict.tb_01;
-#FIXME: check change from error 1146 to 1044
---source suite/funcs_1/datadict/datadict_tables_error_1044.inc
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (u_6_401011, localhost, u_6_401011, , db_datadict);
-
-USE information_schema;
---source suite/funcs_1/include/show_connection.inc
-
---error 1044
-ALTER TABLE information_schema.schemata RENAME db_datadict.schemata;
-
-let $message= user: move table to other DB;
-let $dd_part1= ALTER TABLE information_schema.;
-let $dd_part2= RENAME db_datadict.tb_01;
-#FIXME: check change from error 1146 to 1044
---source suite/funcs_1/datadict/datadict_tables_error_1044.inc
-disconnect u_6_401011;
-
-connection default;
---source suite/funcs_1/include/show_connection.inc
-
-#cleanup
---disable_warnings
-#DROP DATABASE db_datadict;
-DROP TABLE IF EXISTS db_datadict.schemata;
-DROP USER 'u_6_401011'@'localhost';
---enable_warnings
-# ------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.1.12:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.1.12: Ensure that no user may directly add to, alter, or delete
-# any data in an INFORMATION_SCHEMA table.
-################################################################################
-
-# first as root a DELETE check on all tables
-let $message= root: delete from IS tables;
-let $dd_part1= DELETE FROM information_schema.;
-let $dd_part2=;
-#FIXME: check change from error 1288 to 1044
---source suite/funcs_1/datadict/datadict_tables_error_1044.inc
-# check UPDATE for all ...
---error 1044
-UPDATE information_schema.tables SET table_name = 't_4711';
---error 1044
-UPDATE information_schema.columns SET table_name = 't_4711';
---error 1044
-UPDATE information_schema.statistics SET table_name = 't_4711';
---error 1044
-UPDATE information_schema.views SET table_name = 't_4711';
---error 1044
-UPDATE information_schema.table_privileges SET table_name = 't_4711';
---error 1044
-UPDATE information_schema.column_privileges SET table_name = 't_4711';
---error 1044
-UPDATE information_schema.table_constraints SET table_name = 't_4711';
---error 1044
-UPDATE information_schema.key_column_usage SET table_name = 't_4711';
---error 1044
-UPDATE information_schema.schemata SET catalog_name = 't_4711';
---error 1044
-UPDATE information_schema.character_sets SET description = 't_4711';
---error 1044
-UPDATE information_schema.collations SET character_set_name = 't_4711';
---error 1044
-UPDATE information_schema.collation_character_set_applicability
- SET character_set_name = 't_4711';
---error 1044
-UPDATE information_schema.routines SET routine_type = 't_4711';
---error 1044
-UPDATE information_schema.user_privileges SET grantee = 't_4711';
---error 1044
-UPDATE information_schema.schema_privileges SET grantee = 't_4711';
---error 1044
-UPDATE information_schema.triggers SET sql_mode = 't_4711';
-
-CREATE USER 'u_6_401012'@'localhost';
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (u_6_401012, localhost, u_6_401012, , test);
-
-use information_schema;
-
---error 1044
-insert into information_schema.schemata (catalog_name, schema_name,
- default_character_set_name, sql_path)
- values (null, information_schema1, utf16, null);
-#FIXME: check later the change from 1142 to 1044 (since Mid Sep05)
---error 1044
-alter table information_schema.schemata rename db_datadict1.schemata;
-#FIXME: check later the change from 1146 to 1044 (since Mid Sep05)
---error 1044
-alter table information_schema.tables drop column checksum;
---error 1044
-alter table information_schema.statistics modify packed int;
---error 1044
-alter table information_schema.routines modify created int not null;
---error 1044
-alter table information_schema.key_column_usage drop column ordinal_position;
---error 1044
-alter table information_schema.table_privileges
- change privilege_type rights_approved varchar(32);
---error 1044
-update columns set table_name = 't4' where column_name = 'f2';
---error 1044
-delete from information_schema.collations;
-
-disconnect u_6_401012;
-
-# cleanup
-connection default;
---source suite/funcs_1/include/show_connection.inc
-
---disable_warnings
-drop table if exists db_datadict1.schemata;
-DROP USER 'u_6_401012'@'localhost';
---enable_warnings
-#-------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.1.13:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.1.13: Ensure that the creation of any new database object
-# (e.g. table or column) automatically inserts all relevant
-# information on that object into every appropriate
-# INFORMATION_SCHEMA table.
-################################################################################
-
-use information_schema;
-
-let $dbname=db_datadict;
-let $message= first check status >before< creating the objects ...;
---source suite/funcs_1/datadict/datadict_show_schema.inc
-
---disable_warnings
-DROP DATABASE IF EXISTS db_datadict;
---enable_warnings
-CREATE DATABASE db_datadict;
-USE db_datadict;
-
-eval create table res_t_401013(f1 char(10), f2 char(25), f3 int)
- engine = $ENGINE_TYPE;
-create view res_v_401013 as select * from res_t_401013;
-CREATE USER u_6_401013@localhost;
-create procedure sp_6_401013() select 'db_datadict';
-create function fn_6_401013() returns int return 0;
-create index i_6_401013 on res_t_401013(f3);
-
-use information_schema;
-
-let $message= now check whether all new objects exists in IS ...;
---source suite/funcs_1/datadict/datadict_show_schema.inc
-
-# cleanup objects
-use db_datadict;
-drop index i_6_401013 on res_t_401013;
-drop table db_datadict.res_t_401013;
-drop view db_datadict.res_v_401013;
-DROP USER u_6_401013@localhost;
-drop procedure sp_6_401013;
-drop function fn_6_401013;
-drop database db_datadict;
-
-use information_schema;
-
-let $message= and now check whether all objects are removed from IS ...;
---source suite/funcs_1/datadict/datadict_show_schema.inc
-# ------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.1.14:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.1.14: Ensure that the alteration of any existing database object
-# automatically updates all relevant information on that
-# object in every appropriate INFORMATION_SCHEMA table.
-################################################################################
-
---disable_warnings
-DROP DATABASE IF EXISTS db_datadict;
---enable_warnings
-CREATE DATABASE db_datadict;
-USE db_datadict;
-
-create table res_t_401014(f1 char(10), f2 text(25), f3 int);
-create view res_v_401014 as select * from res_t_401014;
-create procedure sp_6_401014() select 'db_datadict';
-create function fn_6_401014() returns int return 0;
-
-# check current information in information_schema
-
-let $dbname=db_datadict;
-let $message= show existing objects >before< changing them ...;
---source suite/funcs_1/datadict/datadict_show_schema.inc
-
-# alter objects
-
-use db_datadict;
-
-alter table res_t_401014 change f1 ff1 int;
-alter table res_t_401014 engine = innodb;
-alter table res_t_401014 change f3 f3_new bigint;
-alter view res_v_401014 as select ff1 from res_t_401014;
-alter procedure sp_6_401014 sql security invoker;
-alter function fn_6_401014 comment 'updated comments';
-alter database db_datadict character set utf8;
-
-# check updated information in information_schema
-let $message= now check whether the changes are visible in IS ...;
---source suite/funcs_1/datadict/datadict_show_schema.inc
-
-
-# cleanup
-
-use db_datadict;
-drop table db_datadict.res_t_401014;
-drop view db_datadict.res_v_401014;
-drop procedure sp_6_401014;
-drop function fn_6_401014;
-drop database db_datadict;
-# ------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.1.15:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.1.15: Ensure that the dropping of any existing database object
-# automatically deletes all relevant information on that
-# object from every appropriate INFORMATION_SCHEMA table.
-################################################################################
-
---disable_warnings
-DROP DATABASE IF EXISTS db_datadict;
---enable_warnings
-CREATE DATABASE db_datadict;
-USE db_datadict;
-
-create table res_t_401015(f1 char(10), f2 text(25), f3 int);
-create view res_v_401015 as select * from res_t_401015;
-CREATE USER u_6_401015@localhost;
-create procedure sp_6_401015() select 'test';
-create function fn_6_401015() returns int return 0;
-create index i_6_401015 on res_t_401015(f3);
-
-let $dbname=db_datadict;
-let $message= show existing objects >before< dropping them ...;
---source suite/funcs_1/datadict/datadict_show_schema.inc
-
-use db_datadict;
-drop index i_6_401015 on res_t_401015;
-drop table db_datadict.res_t_401015;
-drop view db_datadict.res_v_401015;
-DROP USER u_6_401015@localhost;
-drop procedure sp_6_401015;
-drop function fn_6_401015;
-#drop database db_datadict;
-
-let $message= now check they are really gone ...;
---source suite/funcs_1/datadict/datadict_show_schema.inc
-# ------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.1.16:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.1.16: Ensure that no user may use any INFORMATION_SCHEMA table to
-# determine any information on a database and/or its
-# structure unless authorized to get that information.
-################################################################################
-
---disable_warnings
-DROP DATABASE IF EXISTS db_datadict;
---enable_warnings
-CREATE DATABASE db_datadict;
-
-CREATE DATABASE db_hidden;
-USE db_hidden;
-CREATE TABLE tb_hidden ( c1 TEXT );
-
-USE db_datadict;
-
-CREATE TABLE res_t_401016(f1 char(10),f2 text(25),f3 int);
-CREATE TABLE res_t_401016_1(f1 char(10),f2 text(25),f3 int);
-
-CREATE USER 'u_6_401016'@'localhost';
-GRANT SELECT ON db_datadict.res_t_401016 TO 'u_6_401016'@'localhost';
-
-FLUSH PRIVILEGES;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (u_6_401016, localhost, u_6_401016, , test);
-
-USE information_schema;
-
-SELECT table_schema, table_name, engine
- FROM TABLES;
-# WHERE table_name LIKE 'res_t_401016%';
-
-SHOW TABLES;
-SELECT * FROM schemata;
-
-disconnect u_6_401016;
-
-connection default;
---source suite/funcs_1/include/show_connection.inc
-
-#FIXME: check that GRANT ON i_s is no longer allowed
---error 1044
-grant usage on information_schema.* to 'u_6_401016'@'localhost';
-FLUSH PRIVILEGES;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (u_6_401016_1, localhost, u_6_401016, , db_datadict);
-
-USE information_schema;
-SHOW TABLES;
-SELECT * FROM schemata;
-
-disconnect u_6_401016_1;
-
-# all tables are checked again later with permission tests
-
-# cleanup
-connection default;
-use db_datadict;
---source suite/funcs_1/include/show_connection.inc
-DROP USER 'u_6_401016'@'localhost';
-drop table res_t_401016;
-drop table res_t_401016_1;
-DROP DATABASE db_hidden;
-#drop database db_datadict;
-# ------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.1.17:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.1.17: Ensure that the SELECT privilege is granted TO PUBLIC WITH
-# GRANT OPTION on every INFORMATION_SCHEMA table.
-################################################################################
-
-CREATE USER 'u_6_401017'@'localhost';
-
-#FIXME: check that GRANT ON i_s is no longer allowed
---error 1044
-grant select on information_schema.* to u_6_401017@localhost;
-
-FLUSH PRIVILEGES;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (u_6_401017, localhost, u_6_401017, , test);
-
-use information_schema;
-
-select * from collation_character_set_applicability;
-select * from schemata;
-select table_name from tables;
---source suite/funcs_1/datadict/datadict_bug_12777.inc
-select table_name, column_name, column_type from columns;
-select character_set_name from character_sets;
-select collation_name from collations;
-select routine_name, routine_type from routines;
-select table_name, index_name from statistics;
-select table_name from views;
-select privilege_type from user_privileges;
-select grantee, privilege_type from schema_privileges;
-select * from table_privileges;
-select column_name, privilege_type from column_privileges;
-select table_name,constraint_type from table_constraints;
-select table_schema, table_name, column_name from key_column_usage;
-
-disconnect u_6_401017;
-
-# cleanup
-connection default;
---source suite/funcs_1/include/show_connection.inc
-DROP USER 'u_6_401017'@'localhost';
-# ------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.1.18:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.1.18: Ensure that the CREATE VIEW privilege on an
-# INFORMATION_SCHEMA table may be granted to any user.
-################################################################################
-
-CREATE USER 'u_6_401018'@'localhost';
-
-#FIXME: check GRANT on IS
---error 1044
-GRANT CREATE VIEW ON information_schema.* TO 'u_6_401018'@'localhost';
-GRANT ALL ON db_datadict.* TO 'u_6_401018'@'localhost';
-
-SHOW GRANTS FOR 'u_6_401018'@'localhost';
-FLUSH PRIVILEGES;
-
---disable_warnings
-DROP DATABASE IF EXISTS db_datadict;
---enable_warnings
-CREATE DATABASE db_datadict;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (u_6_401018, localhost, u_6_401018, , test);
-
-USE db_datadict;
-
-create view db_datadict.v_401018 as
- select * from information_schema.schemata;
-SELECT * FROM v_401018 ORDER BY 2 DESC;
-
-disconnect u_6_401018;
-
-#cleanup
-connection default;
---source suite/funcs_1/include/show_connection.inc
-DROP USER 'u_6_401018'@'localhost';
-DROP DATABASE db_datadict;
-# ------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.1.19:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.1.19: Ensure that no other privilege on an INFORMATION_SCHEMA
-# table is granted, or may be granted, to any user.
-################################################################################
-
-CREATE USER 'u_6_401019'@'localhost';
-
-#FIXME: check GRANT on IS
---error 1044
-grant alter on information_schema.* to 'u_6_401019'@'localhost';
-
-#FIXME: check GRANT on IS
---error 1044
-grant alter routine on information_schema.* to 'u_6_401019'@'localhost';
-
-#FIXME: check GRANT on IS
---error 1044
-grant create on information_schema.* to 'u_6_401019'@'localhost';
-
-#FIXME: check GRANT on IS
---error 1044
-grant create routine on information_schema.* to 'u_6_401019'@'localhost';
-
-#FIXME: check GRANT on IS
---error 1044
-grant create temporary tables
- on information_schema.* to 'u_6_401019'@'localhost';
-
-#FIXME: check GRANT on IS
---error 1044
-grant delete on information_schema.* to 'u_6_401019'@'localhost';
-
-#FIXME: check GRANT on IS
---error 1044
-grant drop on information_schema.* to 'u_6_401019'@'localhost';
-
-#FIXME: check GRANT on IS
---error 1044
-grant execute on information_schema.* to 'u_6_401019'@'localhost';
-
-#FIXME: check GRANT on IS
---error 1044
-grant index on information_schema.* to 'u_6_401019'@'localhost';
-
-#FIXME: check GRANT on IS
---error 1044
-grant insert on information_schema.* to 'u_6_401019'@'localhost';
-
-#FIXME: check GRANT on IS
---error 1044
-grant lock tables on information_schema.* to 'u_6_401019'@'localhost';
-
-#FIXME: check GRANT on IS
---error 1044
-grant update on information_schema.* to 'u_6_401019'@'localhost';
-
-SELECT * FROM information_schema.table_privileges
- WHERE table_schema = "information_schema";
-SELECT * FROM information_schema.column_privileges
- WHERE table_schema = "information_schema";
-
-# cleanup
-DROP USER 'u_6_401019'@'localhost';
-# ------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.1.20:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.1.20: Ensure that USE INFORMATION_SCHEMA allows the user to
-# switch to the INFORMATION_SCHEMA database, for query
-# purposes only.
-################################################################################
-
-CREATE USER 'u_6_401020'@'localhost';
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (u_6_401020, localhost, u_6_401020, , test);
-
-USE information_schema;
-SELECT * FROM schemata;
-
---error 1109
-CREATE TABLE tb_not_allowed ( col TEXT );
-#FIXME 3.2.1.20: bad message: ERROR 42S02: Unknown table 'tb_not_allowed' in information_schema
-#FIXME 3.2.1.20: better: ERROR 42000: Access denied for user 'u_6_401020'@'localhost' to database 'information_schema'
-
---error 1109
-create view res_v1 as select * from information_schema.schemata;
-
---error 1044
-alter table schemata modify catalog_name varchar(255);
-
---error 1044
-update schemata set catalog_name = 'abc'
- where schema_name = 'information_schema';
-
-delimiter //;
---error ER_BAD_DB_ERROR
-CREATE PROCEDURE sp_3_2_1_20()
- BEGIN
- INSERT INTO information_schema.schema_privileges (table_schema,privilege_type)
- VALUES('db2','insert');
- END//
-delimiter ;//
-
---error 1044
-DELETE FROM schemata WHERE schema_name = 'information_schema';
-
-disconnect u_6_401020;
-
-# cleanup
-connection default;
---source suite/funcs_1/include/show_connection.inc
-DROP USER 'u_6_401020'@'localhost';
-# ------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.2.1:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.2.1: Ensure that the INFORMATION_SCHEMA.CHARACTER_SETS
-# table has the following columns, in the following order:
-#
-# CHARACTER_SET_NAME (shows a character set name),
-# DEFAULT_COLLATE_NAME (shows the name of the default
-# collation for that character set),
-# DESCRIPTION (shows a descriptive name for that character
-# set),
-# MAXLEN (shows the number of bytes used to store each
-# character supported by that character set).
-################################################################################
-
-let $is_table= character_sets;
---source suite/funcs_1/datadict/datadict_show_table_design.inc
-# ------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.2.2:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.2.2: Ensure that the table shows the relevant information on
-# every character set for which the current user or PUBLIC
-# have the USAGE privilege.
-################################################################################
-
---source suite/funcs_1/include/show_connection.inc
-SELECT * FROM information_schema.character_sets;
-# ------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.2.3:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.2.3: Ensure that the table shows the relevant information on
-# every character set for which the current user or PUBLIC
-# have the USAGE privilege.
-################################################################################
-
-# Test requirement is erroneous... we cannot grant / revoke privilege for using
-# a character set.
-# ------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.3.1:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.3.1: Ensure that the INFORMATION_SCHEMA.COLLATIONS
-# table has the following columns, in the following order:
-#
-# COLLATION_NAME (shows a collation name),
-# CHARACTER_SET_NAME (shows the name of the character set to
-# which the collation applies),
-# ID (shows a numeric identifier for that collation/character
-# set combination),
-# IS_DEFAULT (shows whether the collation is the default
-# collation for the character set shown),
-# IS_COMPILED (indicates whether the collation is compiled
-# into the MySQL server),
-# SORTLEN (shows a value related to the amount of memory
-# required to sort strings using this
-# collation/character set combination).
-################################################################################
-
-let $is_table= collations;
---source suite/funcs_1/datadict/datadict_show_table_design.inc
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.3.2:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.3.2: Ensure that the table shows the relevant information on
-# every collation for which the current user or PUBLIC have
-# the USAGE privilege.
-################################################################################
-
-SELECT * FROM collations;
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.3.3:;
---source include/show_msg80.inc
-
-###############################################################################
-# Testcase 3.2.3.3: Ensure that the table does not show any information on any
-# collations for which the current user and PUBLIC have no
-# USAGE privilege.
-################################################################################
-
-# Test requirement is erroneous... we cannot grant / revoke privilege for using
-# a collation.
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.4.1:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.4.1: Ensure that the
-# INFORMATION_SCHEMA.COLLATION_CHARACTER_SET_APPLICABILITY
-# table has the following columns, in the following order:
-#
-# COLLATION_NAME (shows the name of a collation),
-# CHARACTER_SET_NAME (shows the name of a character set to
-# which that collation applies).
-################################################################################
-
-let $is_table= collation_character_set_applicability;
---source suite/funcs_1/datadict/datadict_show_table_design.inc
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.4.2:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.4.2: Ensure that the table shows the relevant information on
-# every collation/character set combination for which the
-# current user or PUBLIC have the USAGE privilege.
-################################################################################
-
-SELECT * FROM collation_character_set_applicability;
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.4.3:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.4.3: Ensure that the table does not show any information on any
-# collation/character set combinations for which the current
-# user and PUBLIC have no USAGE privilege.
-################################################################################
-
-# Test requirement is erroneous... we cannot grant / revoke privilege for using a collation.
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.5.1:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.5.1: Ensure that the INFORMATION_SCHEMA.COLUMN_PRIVILEGES
-# table has the following columns, in the following order:
-#
-# GRANTEE (shows the name of a user who has either granted,
-# or been granted a column privilege),
-# TABLE_CATALOG (always shows NULL),
-# TABLE_SCHEMA (shows the name of the schema, or database,
-# in which the table for which a column privilege has
-# been granted resides),
-# TABLE_NAME (shows the name of the table),
-# COLUMN_NAME (shows the name of the column on which a
-# column privilege has been granted),
-# PRIVILEGE_TYPE (shows the type of privilege that was
-# granted; must be either SELECT, INSERT, UPDATE, or
-# REFERENCES),
-# IS_GRANTABLE (shows whether that privilege was granted
-# WITH GRANT OPTION).
-################################################################################
-
-let $is_table= column_privileges;
---source suite/funcs_1/datadict/datadict_show_table_design.inc
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.5.2 + 3.2.5.3 + 3.2.5.4:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.5.2: Ensure that the table shows the relevant information on
-# every column privilege which has been granted to the
-# current user or PUBLIC, or which was granted by the current
-# user.
-################################################################################
-# Testcase 3.2.5.3: Ensure that the table does not show any information on any
-# column privilege which was granted to any user other than
-# the current user or PUBLIC, or which was granted by any
-# user other than the current user.
-################################################################################
-# Testcase 3.2.5.4: Ensure that the table does not show any information on any
-# privileges that are not column privileges for the current
-# user.
-################################################################################
-
-CREATE USER 'user_1'@'localhost';
-CREATE USER 'user_2'@'localhost';
-CREATE USER 'user_3'@'localhost';
-
---disable_warnings
-DROP DATABASE IF EXISTS db_datadict;
---enable_warnings
-CREATE DATABASE db_datadict;
-USE db_datadict;
-
-CREATE TABLE db_datadict.res_t40502 (f1 INT, f2 DECIMAL, f3 TEXT);
-
-GRANT SELECT(f1, f3) ON db_datadict.res_t40502 TO 'user_1'@'localhost';
-GRANT INSERT(f1) ON db_datadict.res_t40502 TO 'user_1'@'localhost';
-GRANT UPDATE(f2) ON db_datadict.res_t40502 TO 'user_1'@'localhost';
-GRANT SELECT(f2) ON db_datadict.res_t40502 TO 'user_2'@'localhost';
-GRANT INSERT, SELECT ON db_datadict.res_t40502 TO 'user_3'@'localhost';
-GRANT SELECT(f3) ON db_datadict.res_t40502 TO 'user_3'@'localhost';
-
-GRANT INSERT, SELECT ON db_datadict.res_t40502 TO 'user_3'@'localhost' WITH GRANT OPTION;
-GRANT ALL ON db_datadict.* TO 'user_3'@'localhost';
-
-let $select= SELECT * FROM information_schema.column_privileges
- WHERE grantee LIKE "'user%"
- ORDER BY grantee, table_name, column_name, privilege_type;
-eval $select;
-
-let $message= FIXME: Check it is correct that the following GRANT changes ALL privs that user_1 has;
---source include/show_msg.inc
-
-GRANT UPDATE(f3) ON db_datadict.res_t40502 TO 'user_1'@'localhost' WITH GRANT OPTION;
-
-eval $select;
-
-FLUSH PRIVILEGES;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (user_5_1, localhost, user_1, , db_datadict);
-eval $select;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (user_5_2, localhost, user_2, , db_datadict);
-eval $select;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (user_5_3, localhost, user_3, , db_datadict);
-
-let $message= FIXME: check it is correct that granted TABLES doesn_t occur in COLUMN_PRIVILEGES;
---source include/show_msg.inc
-SELECT * FROM information_schema.table_privileges WHERE grantee LIKE "'user%";
-SELECT * FROM information_schema.schema_privileges WHERE grantee LIKE "'user%";
-eval $select;
-GRANT SELECT(f1, f3) ON db_datadict.res_t40502 TO 'user_2'@'localhost';
-
-let $message= FIXME: check whether it is intended that *my* grants to others are *NOT* shown here;
---source include/show_msg.inc
-eval $select;
-
-connection user_5_2;
---source suite/funcs_1/include/show_connection.inc
-eval $select;
-
-disconnect user_5_1;
-disconnect user_5_2;
-disconnect user_5_3;
-
-#cleanup
-connection default;
---source suite/funcs_1/include/show_connection.inc
---disable_warnings
-DROP TABLE IF EXISTS db_datadict.res_t40502;
-DROP DATABASE IF EXISTS db_datadict;
---enable_warnings
-
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP USER 'user_3'@'localhost';
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.6.1:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.6.1: Ensure that the INFORMATION_SCHEMA.COLUMNS table has the
-# following columns, in the following order:
-#
-# TABLE_CATALOG (always shows NULL),
-# TABLE_SCHEMA (shows the name of the database, or schema,
-# in which an accessible table resides),
-# TABLE_NAME (shows the name of an accessible table),
-# COLUMN_NAME (shows the name of a column within that
-# table),
-# ORDINAL_POSITION (shows the ordinal position of that
-# column in that table),
-# COLUMN_DEFAULT (shows the column's default value),
-# IS_NULLABLE (shows whether the column may accept NULL
-# values),
-# DATA_TYPE (shows the column's defined data type; keyword
-# only),
-# CHARACTER_MAXIMUM_LENGTH (shows, for a string column, the
-# column's defined maximum length in characters;
-# otherwise NULL),
-# CHARACTER_OCTET_LENGTH (shows, for a string column, the
-# column's defined maximum length in octets;
-# otherwise NULL),
-# NUMERIC_PRECISION (shows, for a numeric column, the
-# column's or data type's defined precision;
-# otherwise NULL),
-# NUMERIC_SCALE (shows, for a numeric column, the column's
-# or data type's defined scale; otherwise NULL),
-# CHARACTER_SET_NAME (shows, for a character string column,
-# the column's default character set; otherwise NULL),
-# COLLATION_NAME (shows, for a character string column, the
-# column's default collation; otherwise NULL),
-# COLUMN_TYPE (shows the column's complete, defined data
-# type),
-# COLUMN_KEY (shows whether the column is indexed; possible
-# values are PRI if the column is part of a PRIMARY
-# KEY, UNI if the column is part of a UNIQUE key, MUL
-# if the column is part of an index key that allows
-# duplicates),
-# EXTRA (shows any additional column definition information,
-# e.g. whether the column was defined with the
-# AUTO_INCREMENT attribute),
-# PRIVILEGES (shows the privileges available to the user on
-# the column),
-# COLUMN_COMMENT (shows the comment, if any, defined for the
-# comment; otherwise NULL).
-################################################################################
-
-let $is_table= columns;
---source suite/funcs_1/datadict/datadict_show_table_design.inc
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.6.2 + 3.2.6.3:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.6.2: Ensure that the table shows the relevant information on the
-# columns of every table that is accessible to the current
-# user or to PUBLIC.
-################################################################################
-# Testcase 3.2.6.3: Ensure that the table does not show any information on the
-# columns of any table which is not accessible to the current
-# user or PUBLIC.
-################################################################################
-
---disable_warnings
-DROP DATABASE IF EXISTS db_datadict;
---enable_warnings
-CREATE DATABASE db_datadict;
-
-CREATE USER 'user_1'@'localhost';
-CREATE USER 'user_2'@'localhost';
-
-USE db_datadict;
-
-create table t_6_406001(f1 char(10), f2 text, f3 date, f4 int);
-grant select(f1, f2) on db_datadict.t_6_406001 to 'user_1'@'localhost';
-
-create table t_6_406002(f1 char(10), f2 text, f3 date, f4 int);
-GRANT INSERT(f1, f2) ON db_datadict.t_6_406002 TO 'user_2'@'localhost';
-
-FLUSH PRIVILEGES;
-
-let $select= SELECT * FROM information_schema.columns
- ORDER BY table_schema, table_name, ordinal_position;
-
-# show view of user root
---source suite/funcs_1/datadict/datadict_bug_12777.inc
-eval $select;
-
-# reconnect to mysql with user credential of user u_6_406002_1.
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (user_6_1, localhost, user_1, , db_datadict);
---source suite/funcs_1/datadict/datadict_bug_12777.inc
-eval $select;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (user_6_2, localhost, user_2, , db_datadict);
---source suite/funcs_1/datadict/datadict_bug_12777.inc
-eval $select;
-
-disconnect user_6_1;
-disconnect user_6_2;
-
-connection default;
---source suite/funcs_1/include/show_connection.inc
-
-let $message= Show the quotient of COL and CML for all COLUMNS;
---source include/show_msg.inc
-SELECT DISTINCT
- CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML,
- DATA_TYPE,
- CHARACTER_SET_NAME,
- COLLATION_NAME
- FROM information_schema.columns
- WHERE CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH = 1
- ORDER BY CHARACTER_SET_NAME, COLLATION_NAME, COL_CML;
-
-#FIXME 3.2.6.2: check the value 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 CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH <> 1
- ORDER BY CHARACTER_SET_NAME, COLLATION_NAME, COL_CML;
-
-SELECT DISTINCT
- CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML,
- DATA_TYPE,
- CHARACTER_SET_NAME,
- COLLATION_NAME
- FROM information_schema.columns
- WHERE CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH IS NULL
- ORDER BY CHARACTER_SET_NAME, COLLATION_NAME, COL_CML;
-
-echo --> CHAR(0) is allowed (see manual), and here both CHARACHTER_* values;
-echo --> are 0, which is intended behavior, and the result of 0 / 0 IS NULL;
---source suite/funcs_1/datadict/datadict_bug_12777.inc
-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
- ORDER BY TABLE_SCHEMA, TABLE_NAME, ORDINAL_POSITION;
-
-#cleanup
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP TABLE IF EXISTS t_6_406001;
-DROP TABLE IF EXISTS t_6_406002;
-DROP DATABASE IF EXISTS db_datadict;
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.7.1:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.7.1: Ensure that the INFORMATION_SCHEMA.KEY_COLUMN_USAGE
-# table has the following columns, in the following order:
-#
-# CONSTRAINT_CATALOG (always shows NULL),
-# CONSTRAINT_SCHEMA (shows the database, or schema, in which
-# an accessible constraint, or index, resides),
-# CONSTRAINT_NAME (shows the name of the accessible
-# constraint),
-# TABLE_CATALOG (always shows NULL),
-# TABLE_SCHEMA (shows the database, or schema, in which the
-# table constrained by that constraint resides),
-# TABLE_NAME (shows the name of the table constrained by the
-# constraint),
-# COLUMN_NAME (shows the name of a column that is the index
-# key, or part of the index key),
-# ORDINAL_POSITION (shows the ordinal position of the column
-# within the constraint index),
-# POSITION_IN_UNIQUE_CONSTRAINT (shows, for a foreign key
-# column, the ordinal position of the referenced
-# column within the referenced unique index;
-# otherwise NULL).
-# added with 5.0.6: REFERENCED_TABLE_SCHEMA,
-# REFERENCED_TABLE_NAME,
-# REFERENCED_COLUMN_NAME
-################################################################################
-
-let $is_table= key_column_usage;
---source suite/funcs_1/datadict/datadict_show_table_design.inc
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.7.2 + 3.2.7.3:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.7.2: Ensure that the table shows the relevant information on
-# every column, defined to be part of an index key, which is
-# accessible to the current user or to PUBLIC.
-################################################################################
-# Testcase 3.2.7.3: Ensure that the table does not show any information on any
-# indexed column that is not accessible to the current user
-# or PUBLIC.
-################################################################################
-
---disable_warnings
-DROP DATABASE IF EXISTS db_datadict;
---enable_warnings
-CREATE DATABASE db_datadict;
-
-CREATE USER 'user_1'@'localhost';
-CREATE USER 'user_2'@'localhost';
-
-USE db_datadict;
-
-CREATE TABLE t_40701 (
- f1 INT NOT NULL, PRIMARY KEY(f1),
- f2 INT, INDEX f2_ind(f2)
- );
-GRANT SELECT ON t_40701 to 'user_1'@'localhost';
-
-CREATE TABLE t_40702 (
- f1 INT NOT NULL, PRIMARY KEY(f1),
- f2 INT, INDEX f2_ind(f2)
- );
-GRANT SELECT ON t_40702 to 'user_2'@'localhost';
-#FIXME: add foreign keys
-
-FLUSH PRIVILEGES;
-
-let $select= SELECT * FROM information_schema.key_column_usage
- ORDER BY constraint_catalog, constraint_schema, constraint_name,
- table_catalog, table_schema, table_name, ordinal_position;
-
-# show view of user root
-eval $select;
-
-# reconnect to mysql with user credential of user u_6_406002_1.
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (user_7_1, localhost, user_1, , db_datadict);
-eval $select;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (user_7_2, localhost, user_2, , db_datadict);
-eval $select;
-
-disconnect user_7_1;
-disconnect user_7_2;
-
-#cleanup
-connection default;
---source suite/funcs_1/include/show_connection.inc
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP TABLE t_40701;
-DROP TABLE t_40702;
-DROP DATABASE IF EXISTS db_datadict;
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.8.1:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.8.1: Ensure that the INFORMATION_SCHEMA.ROUTINES
-# table has the following columns, in the following order:
-#
-# SPECIFIC_NAME (shows the name of an accessible stored
-# procedure, or routine),
-# ROUTINE_CATALOG (always shows NULL),
-# ROUTINE_SCHEMA (shows the database, or schema, in which
-# the routine resides),
-# ROUTINE_NAME (shows the same stored procedure name),
-# ROUTINE_TYPE (shows whether the stored procedure is a
-# procedure or a function),
-# DTD_IDENTIFIER (shows, for a function, the complete
-# data type definition of the value the function will
-# return; otherwise NULL),
-# ROUTINE_BODY (shows the language in which the stored
-# procedure is written; currently always SQL),
-# ROUTINE_DEFINITION (shows as much of the routine body as
-# is possible in the allotted space),
-# EXTERNAL_NAME (always shows NULL),
-# EXTERNAL_LANGUAGE (always shows NULL),
-# PARAMETER_STYLE (shows the routine's parameter style;
-# always SQL),
-# IS_DETERMINISTIC (shows whether the routine is
-# deterministic),
-# SQL_DATA_ACCESS (shows the routine's defined
-# sql-data-access clause value),
-# SQL_PATH (always shows NULL),
-# SECURITY_TYPE (shows whether the routine's defined
-# security_type is 'definer' or 'invoker'),
-# CREATED (shows the timestamp of the time the routine was
-# created),
-# LAST_ALTERED (shows the timestamp of the time the routine
-# was last altered),
-# SQL_MODE (shows the sql_mode setting at the time the
-# routine was created),
-# ROUTINE_COMMENT (shows the comment, if any, defined for
-# the routine; otherwise NULL),
-# DEFINER (shows the user who created the routine).
-################################################################################
-
-let $is_table= routines;
---source suite/funcs_1/datadict/datadict_show_table_design.inc
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.8.2 + 3.2.8.3:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.8.2: Ensure that the table shows the relevant information on
-# every SQL-invoked routine (i.e. stored procedure) which is
-# accessible to the current user or to PUBLIC.
-################################################################################
-# Testcase 3.2.8.3: Ensure that the table does not show any information on any
-# stored procedure that is not accessible to the current user
-# or PUBLIC.;
-##############################################################################
-
---disable_warnings
-DROP DATABASE IF EXISTS db_datadict;
-DROP DATABASE IF EXISTS db_datadict_2;
---enable_warnings
-
-CREATE DATABASE db_datadict;
-USE db_datadict;
-
-CREATE USER 'user_1'@'localhost';
-CREATE USER 'user_2'@'localhost';
-CREATE USER 'user_3'@'localhost';
-
-CREATE TABLE res_6_408002_1(f1 CHAR(3), f2 TEXT(25), f3 DATE, f4 INT);
-
-INSERT INTO res_6_408002_1(f1, f2, f3, f4)
- VALUES('abc', 'xyz', '1989-11-09', 0815);
-
---disable_warnings
-DROP PROCEDURE IF EXISTS sp_6_408002_1;
---enable_warnings
-
-delimiter //;
-CREATE PROCEDURE sp_6_408002_1()
-BEGIN
- SELECT * FROM db_datadict.res_6_408002_1;
-END//
-delimiter ;//
-
-CREATE DATABASE db_datadict_2;
-USE db_datadict_2;
-
-CREATE TABLE res_6_408002_2(f1 CHAR(3), f2 TEXT(25), f3 DATE, f4 INT);
-
-INSERT INTO res_6_408002_2(f1, f2, f3, f4)
- VALUES('abc', 'xyz', '1990-10-03', 4711);
-
---disable_warnings
-DROP PROCEDURE IF EXISTS sp_6_408002_2;
---enable_warnings
-
-delimiter //;
-CREATE PROCEDURE sp_6_408002_2()
-BEGIN
- SELECT * FROM db_datadict_2.res_6_408002_2;
-END//
-delimiter ;//
-
-GRANT SELECT ON db_datadict_2.* TO 'user_1'@'localhost';
-GRANT EXECUTE ON db_datadict_2.* TO 'user_1'@'localhost';
-
-GRANT EXECUTE ON db_datadict.* TO 'user_1'@'localhost';
-GRANT SELECT ON db_datadict.* TO 'user_2'@'localhost';
-
-GRANT EXECUTE ON PROCEDURE db_datadict_2.sp_6_408002_2 TO 'user_2'@'localhost';
-GRANT EXECUTE ON db_datadict_2.* TO 'user_2'@'localhost';
-FLUSH PRIVILEGES;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (user_8_1, localhost, user_1, , db_datadict);
-
---replace_column 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss"
-SELECT * FROM information_schema.routines;
-disconnect user_8_1;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (user_8_2, localhost, user_2, , db_datadict);
-
---replace_column 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss"
-SELECT * FROM information_schema.routines;
-disconnect user_8_2;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (user_8_3, localhost, user_3, , test);
-
---replace_column 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss"
-SELECT * FROM information_schema.routines;
-disconnect user_8_3;
-
-# clean-up
-connection default;
---source suite/funcs_1/include/show_connection.inc
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP USER 'user_3'@'localhost';
-
-use db_datadict;
-DROP TABLE res_6_408002_1;
-DROP PROCEDURE sp_6_408002_1;
-
-USE db_datadict_2;
-DROP TABLE res_6_408002_2;
-DROP PROCEDURE sp_6_408002_2;
-
-USE test;
-DROP DATABASE db_datadict;
-DROP DATABASE db_datadict_2;
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.8.4:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.8.4: Ensure that a stored procedure with a routine body that is
-# too large to fit into the
-# INFORMATION_SCHEMA.ROUTINES.ROUTINE_DEFINITION column
-# correctly shows as much of the information as is possible
-# within the allotted size.
-################################################################################
-
---disable_warnings
-DROP DATABASE IF EXISTS db_datadict;
---enable_warnings
-
-CREATE DATABASE db_datadict;
-USE db_datadict;
-
-create table res_6_408004_1(f1 longtext , f2 mediumint , f3 longblob , f4 real , f5 year);
-
-insert into res_6_408004_1 values ('abc', 98765 , 99999999 , 98765, 10);
-
---disable_warnings
-drop procedure if exists sp_6_408004;
---enable_warnings
-
-create table res_6_408004_2(f1 longtext , f2 mediumint , f3 longblob , f4 real , f5 year);
-
-insert into res_6_408004_2 values ('abc', 98765 , 99999999 , 98765, 10);
-
-let $message= Checking the max. possible length of (currently) 4 GByte is not possible in this environment here.;
---source include/show_msg.inc
-
-delimiter //;
-create procedure sp_6_408004 ()
-begin
- declare done integer default 0;
- declare variable_number_1 longtext;
- declare variable_number_2 mediumint;
- declare variable_number_3 longblob;
- declare variable_number_4 real;
- declare variable_number_5 year;
- declare cursor_number_1 cursor for select * from res_6_408004_1 limit 0, 10;
- declare cursor_number_2 cursor for select * from res_6_408004_1 limit 0, 10;
- declare cursor_number_3 cursor for select * from res_6_408004_1 limit 0, 10;
- declare cursor_number_4 cursor for select * from res_6_408004_1 limit 0, 10;
- declare cursor_number_5 cursor for select * from res_6_408004_1 limit 0, 10;
- declare continue handler for sqlstate '02000' set done = 1;
- begin
- open cursor_number_1;
- while done <> 1 do
- fetch cursor_number_1 into variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5;
- if done <> 0 then
- insert into res_6_408004_2 values (variable_number_1, variable_number_2, variable_number_3,
- variable_number_4, variable_number_5);
- end if;
- end while;
- begin
- begin
- set done = 0;
- open cursor_number_2;
- while done <> 1 do
- fetch cursor_number_2 into variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5;
- if done <> 0 then
- insert into res_6_408004_2 values(variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5);
- end if;
- end while;
- end;
- set done = 0;
- open cursor_number_3;
- while done <> 1 do
- fetch cursor_number_3 into variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5;
- if done <> 0 then
- insert into res_6_408004_2 values(variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5);
- end if;
- end while;
- end;
- end;
- begin
- set done = 0;
- open cursor_number_4;
- while done <> 1 do
- fetch cursor_number_4 into variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5;
- if done <> 0 then
- insert into res_6_408004_2 values (variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5);
- end if;
- end while;
- end;
- begin
- set @a='test row';
- select @a;
- select @a;
- select @a;
- end;
- begin
- set done = 0;
- open cursor_number_5;
- while done <> 1 do
- fetch cursor_number_5 into variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5;
- if done <> 0 then
- insert into res_6_408004_2 values (variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5);
- end if;
- end while;
- end;
- begin
- set @a='test row';
- select @a;
- select @a;
- select @a;
- end;
-end//
-delimiter ;//
-
-call sp_6_408004 ();
-select * from res_6_408004_2;
-
---vertical_results
---replace_column 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss"
-SELECT *, LENGTH(routine_definition)
- FROM information_schema.routines
- WHERE routine_schema = 'db_datadict';
---horizontal_results
-
-# clean-up
-use db_datadict;
-drop procedure sp_6_408004;
-drop table res_6_408004_1;
-drop table res_6_408004_2;
-use test;
-drop database db_datadict;
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.9.1:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.9.1: Ensure that the INFORMATION_SCHEMA.SCHEMATA
-# table has the following columns, in the following order:
-#
-# CATALOG_NAME (always shows NULL),
-# SCHEMA_NAME (shows the name of a database, or schema, on
-# which the current user or PUBLIC has privileges),
-# DEFAULT_CHARACTER_SET_NAME (shows the name of that
-# database's default character set),
-# DEFAULT_COLLATION_NAME (shows the database default
-# collation)
-# SQL_PATH (always shows NULL).
-################################################################################
-
-let $is_table= schemata;
---source suite/funcs_1/datadict/datadict_show_table_design.inc
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.9.2 + 3.2.9.3:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.9.2: Ensure that the table shows the relevant information for
-# every database on which the current user or PUBLIC have
-# privileges.
-################################################################################
-# Testcase 3.2.9.3: Ensure that the table does not show any information on any
-# databases on which the current user and PUBLIC have no
-# privileges.
-################################################################################
-
-CREATE USER 'user_1'@'localhost';
-CREATE USER 'user_2'@'localhost';
-CREATE USER 'user_3'@'localhost';
-
---disable_warnings
-DROP DATABASE IF EXISTS db_datadict_1;
-DROP DATABASE IF EXISTS db_datadict_2;
---enable_warnings
-
-CREATE DATABASE db_datadict_1;
-CREATE DATABASE db_datadict_2;
-
-GRANT SELECT ON db_datadict_1.* to 'user_1'@'localhost';
-GRANT SELECT ON db_datadict_2.* to 'user_2'@'localhost';
-
-FLUSH PRIVILEGES;
-
-# shows db_1
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (user_9_1, localhost, user_1, , db_datadict_1);
-
-SELECT COUNT(*) FROM information_schema.schemata;
-SELECT * FROM information_schema.schemata;
-disconnect user_9_1;
-
-
-# shows db_2
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (user_9_2, localhost, user_2, , db_datadict_2);
-
-SELECT COUNT(*) FROM information_schema.schemata;
-SELECT * FROM information_schema.schemata;
-disconnect user_9_2;
-
-
-# shows neither db_1 nor db_2
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (user_9_3, localhost, user_3, , test);
-
-SELECT COUNT(*) FROM information_schema.schemata;
-SELECT * FROM information_schema.schemata;
-disconnect user_9_3;
-
-
-# clean-up
-connection default;
---source suite/funcs_1/include/show_connection.inc
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP USER 'user_3'@'localhost';
-DROP DATABASE db_datadict_1;
-DROP DATABASE db_datadict_2;
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.10.1:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.10.1: Ensure that the INFORMATION_SCHEMA.TABLE_CONSTRAINTS
-# table has the following columns, in the following order:
-#
-# CONSTRAINT_CATALOG (always shows NULL),
-# CONSTRAINT_SCHEMA (shows the database, or schema, in which
-# a constraint an accessible table resides),
-# CONSTRAINT_NAME (shows the name of a constraint defined on
-# an accessible table),
-# TABLE_SCHEMA (shows the database, or schema, in which the
-# table resides),
-# TABLE_NAME (shows the name of the table),
-# CONSTRAINT_TYPE (shows the type of the constraint; either
-# 'primary key', 'foreign key', 'unique', 'check').
-################################################################################
-
-let $is_table= table_constraints;
---source suite/funcs_1/datadict/datadict_show_table_design.inc
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.10.2 + 3.2.10.3:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.10.2: Ensure that the table shows the relevant information on all
-# constraints defined on every table for which the current
-# user or PUBLIC have privileges.
-################################################################################
-# Testcase 3.2.10.3: Ensure that the table does not show any information on
-# constraints defined on any table for which the current user
-# and PUBLIC have no privileges.
-################################################################################
-
-CREATE USER 'user_1'@'localhost';
-CREATE USER 'user_2'@'localhost';
-
---disable_warnings
-DROP DATABASE IF EXISTS db_datadict;
-DROP DATABASE IF EXISTS db_datadict_2;
---enable_warnings
-
-CREATE DATABASE db_datadict;
-CREATE DATABASE db_datadict_2;
-
-USE db_datadict;
-
-CREATE TABLE res_6_401003_1(f1 INT NOT NULL, PRIMARY KEY(f1), f2 INT, INDEX f2_ind(f2));
-
-USE db_datadict_2;
-
-CREATE TABLE res_6_401003_2(f1 INT NOT NULL, PRIMARY KEY(f1), f2 INT, INDEX f2_ind(f2));
-
-GRANT SELECT ON db_datadict.res_6_401003_1 TO 'user_1'@'localhost';
-GRANT SELECT ON db_datadict_2.res_6_401003_2 TO 'user_2'@'localhost';
-
-FLUSH PRIVILEGES;
-
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (user_10_1, localhost, user_1, , db_datadict);
-
-SELECT * FROM information_schema.table_constraints;
-SELECT COUNT(*) FROM information_schema.table_constraints;
-disconnect user_10_1;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (user_10_2, localhost, user_2, , db_datadict_2);
-
-SELECT * FROM information_schema.table_constraints;
-SELECT COUNT(*) FROM information_schema.table_constraints;
-disconnect user_10_2;
-
-# clean-up
-connection default;
-use db_datadict;
---source suite/funcs_1/include/show_connection.inc
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP TABLE res_6_401003_1;
-USE db_datadict_2;
-DROP TABLE res_6_401003_2;
-USE test;
-DROP DATABASE db_datadict;
-DROP DATABASE db_datadict_2;
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.11.1:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.11.1: Ensure that the INFORMATION_SCHEMA.TABLE_PRIVILEGES
-# table has the following columns, in the following order:
-#
-# GRANTEE (shows the name of a user who has either granted,
-# or been granted a table privilege),
-# TABLE_CATALOG (always shows NULL),
-# TABLE_SCHEMA (shows the name of the schema, or database,
-# in which the table for which a privilege has been
-# granted resides),
-# TABLE_NAME (shows the name of the table),
-# PRIVILEGE_TYPE (shows the type of privilege that was
-# granted; must be either SELECT, INSERT, UPDATE,
-# DELETE, REFERENCES, ALTER, INDEX, DROP, or CREATE
-# VIEW),
-# IS_GRANTABLE (shows whether that privilege was granted
-# WITH GRANT OPTION).
-################################################################################
-
-let $is_table= table_privileges;
---source suite/funcs_1/datadict/datadict_show_table_design.inc
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.11.2 + 3.2.11.3 + 3.2.11.4:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.11.2: Ensure that the table shows the relevant information on
-# every table privilege which has been granted to the current
-# user or PUBLIC, or which was granted by the current user.
-################################################################################
-# Testcase 3.2.11.3: Ensure that the table does not show any information on any
-# table privilege which was granted to any user other than
-# the current user or PUBLIC, or which was granted by any
-# user other than the current user.
-################################################################################
-# Testcase 3.2.11.4: Ensure that the table does not show any information on any
-# privileges that are not table privileges for the current
-# user.
-################################################################################
-
---disable_warnings
-DROP DATABASE IF EXISTS db_datadict;
---enable_warnings
-
-create database db_datadict;
-
-CREATE USER 'user_1'@'localhost';
-GRANT CREATE, SELECT ON db_datadict.* TO 'user_1'@'localhost' WITH GRANT OPTION;
-CREATE USER 'user_2'@'localhost';
-CREATE USER 'user_3'@'localhost';
-
-use db_datadict;
-
-create table tb1(f1 int, f2 int, f3 int);
-
-grant select on db_datadict.tb1 to 'user_1'@'localhost';
-GRANT ALL on db_datadict.tb1 to 'user_2'@'localhost' WITH GRANT OPTION;
-
-FLUSH PRIVILEGES;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (user_11_1, localhost, user_1, , db_datadict);
-
-CREATE TABLE tb3 (f1 TEXT);
-GRANT SELECT ON db_datadict.tb3 to 'user_3'@'localhost';
-
-SELECT * FROM information_schema.table_privileges
- WHERE table_name LIKE 'tb%';
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (user_11_2, localhost, user_2, , db_datadict);
-
-# we see only table privileges for this user, and not any other privileges
-SELECT * FROM information_schema.table_privileges;
-
-SELECT USER(), COUNT(*)
- FROM information_schema.table_privileges
- WHERE grantee = USER();
-
-SELECT USER(), COUNT(*)
- FROM information_schema.table_privileges
- WHERE grantee = "'user_2'@'localhost'";
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (user_11_3, localhost, user_3, , db_datadict);
-
-# we see only table privileges for this user, and not any other privileges
-SELECT * FROM information_schema.table_privileges;
-
-connection default;
---source suite/funcs_1/include/show_connection.inc
-
-# we see only 'public' table privileges
-SELECT * FROM information_schema.table_privileges;
-
-# clean-up
-connection default;
---source suite/funcs_1/include/show_connection.inc
-disconnect user_11_1;
-disconnect user_11_2;
-disconnect user_11_3;
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP USER 'user_3'@'localhost';
-drop table db_datadict.tb1;
-drop table db_datadict.tb3;
-use test;
-drop database db_datadict;
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.12.1:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.12.1: Ensure that the INFORMATION_SCHEMA.TABLES
-# table has the following columns, in the following order:
-#
-# TABLE_CATALOG (always shows NULL),
-# TABLE_SCHEMA (shows the name of the database, or schema,
-# in which an accessible table resides),
-# TABLE_NAME (shows the name of a table which the current
-# user may access),
-# TABLE_TYPE (shows whether the table is a BASE TABLE, a
-# TEMPORARY table, or a VIEW),
-# ENGINE (shows the storage engine used for the table),
-# VERSION (shows the version number of the table's .frm
-# file),
-# ROW_FORMAT (shows the table's row storage format; either
-# FIXED, DYNAMIC or COMPRESSED),
-# TABLE_ROWS (shows the number of rows in the table),
-# AVG_ROW_LENGTH (shows the average length of the table's
-# rows),
-# DATA_LENGTH (shows the length of the table's data file),
-# MAX_DATA_LENGTH (shows the maximum length of the table's
-# data file),
-# INDEX_LENGTH (shows the length of the index file
-# associated with the table),
-# DATA_FREE (shows the number of allocated, unused bytes),
-# AUTO_INCREMENT (shows the next AUTO_INCREMENT value, where
-# applicable),
-# CREATE_TIME (shows the timestamp of the time the table was
-# created),
-# UPDATE_TIME (shows the timestamp of the time the table's
-# data file was last updated),
-# CHECK_TIME (shows the timestamp of the time the table was
-# last checked),
-# TABLE_COLLATION (shows the table's default collation),
-# CHECKSUM (shows the live checksum value for the table, if
-# any; otherwise NULL),
-# CREATE_OPTIONS (shows any additional options used in the
-# table's definition; otherwise NULL),
-# TABLE_COMMENT (shows the comment added to the table's
-# definition; otherwise NULL).
-################################################################################
-
-let $is_table= tables;
---source suite/funcs_1/datadict/datadict_show_table_design.inc
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.12.2 + 3.2.12.3:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.12.2: Ensure that the table shows the relevant information on
-# every base table and view on which the current user or
-# PUBLIC has privileges.
-################################################################################
-# Testcase 3.2.12.3: Ensure that the table does not show any information on any
-# tables on which the current user and public have no
-# privileges.
-################################################################################
-
---disable_warnings
-DROP DATABASE IF EXISTS db_datadict;
---enable_warnings
-
-create database db_datadict;
-
-CREATE USER 'user_1'@'localhost';
-GRANT CREATE, CREATE VIEW, INSERT, SELECT ON db_datadict.*
- TO 'user_1'@'localhost' WITH GRANT OPTION;
-CREATE USER 'user_2'@'localhost';
-CREATE USER 'user_3'@'localhost';
-
-use db_datadict;
-
-create table tb1(f1 int, f2 int, f3 int);
-
-grant select on db_datadict.tb1 to 'user_1'@'localhost';
-GRANT ALL on db_datadict.tb1 to 'user_2'@'localhost' WITH GRANT OPTION;
-
-FLUSH PRIVILEGES;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (user_12_1, localhost, user_1, , db_datadict);
-
-# tb2 is not granted to anyone
-CREATE TABLE tb2 (f1 DECIMAL);
-CREATE TABLE tb3 (f1 TEXT);
-GRANT SELECT ON db_datadict.tb3 to 'user_3'@'localhost';
-GRANT INSERT ON db_datadict.tb3 to 'user_2'@'localhost';
-
-CREATE VIEW v3 AS SELECT * FROM tb3;
-GRANT SELECT ON db_datadict.v3 to 'user_3'@'localhost';
-
-#FIXME 3.2.12: we split the "SELECT * FROM tables" in two parts until
-#FIXME 3.2.12: Bug #12397: wrong values shown in column CREATE_OPTIONS of
-#FIXME 3.2.12: INFORMATION_SCHEMA.TABLES is solved, one with 'more' and one
-#FIXME 3.2.12: with 'less' replace
-# 9 AVG_ROW_LENGTH
-# 10 DATA_LENGTH
-# 11 MAX_DATA_LENGTH
-# 12 INDEX_LENGTH
-# 13 DATA_FREE
-# 15 CREATE_TIME
-# 16 UPDATE_TIME
-# 17 CHECK_TIME
-# 20 CREATE_OPTIONS
-if ($have_bug_11589)
-{
---disable_ps_protocol
-}
---replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss" 20 "#CO#"
-SELECT * FROM information_schema.tables
- WHERE table_schema = 'information_schema';
-# 9 AVG_ROW_LENGTH
-# 10 DATA_LENGTH
-# 11 MAX_DATA_LENGTH
-# 12 INDEX_LENGTH
-# 13 DATA_FREE
-# 15 CREATE_TIME
-# 16 UPDATE_TIME
-# 17 CHECK_TIME
---replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss"
-SELECT * FROM information_schema.tables
- WHERE NOT( table_schema = 'information_schema');
---enable_ps_protocol
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (user_12_2, localhost, user_2, , db_datadict);
-
-# we see only tables for this user, and not any other
-#FIXME 3.2.12: we split the "SELECT * FROM tables" in two parts until
-#FIXME 3.2.12: Bug #12397: wrong values shown in column CREATE_OPTIONS of
-#FIXME 3.2.12: INFORMATION_SCHEMA.TABLES is solved, one with 'more' and one
-#FIXME 3.2.12: with 'less' replace
-# 9 AVG_ROW_LENGTH
-# 10 DATA_LENGTH
-# 11 MAX_DATA_LENGTH
-# 12 INDEX_LENGTH
-# 13 DATA_FREE
-# 15 CREATE_TIME
-# 16 UPDATE_TIME
-# 17 CHECK_TIME
-# 20 CREATE_OPTIONS
-if ($have_bug_11589)
-{
---disable_ps_protocol
-}
---replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss" 20 "#CO#"
-SELECT * FROM information_schema.tables
- WHERE table_schema = 'information_schema';
-# 9 AVG_ROW_LENGTH
-# 10 DATA_LENGTH
-# 11 MAX_DATA_LENGTH
-# 12 INDEX_LENGTH
-# 13 DATA_FREE
-# 15 CREATE_TIME
-# 16 UPDATE_TIME
-# 17 CHECK_TIME
---replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss"
-SELECT * FROM information_schema.tables
- WHERE NOT( table_schema = 'information_schema');
---enable_ps_protocol
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (user_12_3, localhost, user_3, , db_datadict);
-
-# we see only tables for this user, and not any other
-#
-#FIXME 3.2.12: we split the "SELECT * FROM tables" in two parts until
-#FIXME 3.2.12: Bug #12397: wrong values shown in column CREATE_OPTIONS of
-#FIXME 3.2.12: INFORMATION_SCHEMA.TABLES is solved, one with 'more' and one
-#FIXME 3.2.12: with 'less' replace
-# 9 AVG_ROW_LENGTH
-# 10 DATA_LENGTH
-# 11 MAX_DATA_LENGTH
-# 12 INDEX_LENGTH
-# 13 DATA_FREE
-# 15 CREATE_TIME
-# 16 UPDATE_TIME
-# 17 CHECK_TIME
-# 20 CREATE_OPTIONS
-if ($have_bug_11589)
-{
---disable_ps_protocol
-}
---replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss" 20 "#CO#"
-SELECT * FROM information_schema.tables
- WHERE table_schema = 'information_schema';
-# 9 AVG_ROW_LENGTH
-# 10 DATA_LENGTH
-# 11 MAX_DATA_LENGTH
-# 12 INDEX_LENGTH
-# 13 DATA_FREE
-# 15 CREATE_TIME
-# 16 UPDATE_TIME
-# 17 CHECK_TIME
---replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss"
-SELECT * FROM information_schema.tables
- WHERE NOT( table_schema = 'information_schema');
---enable_ps_protocol
-
-connection default;
---source suite/funcs_1/include/show_connection.inc
-
-# we see only 'public' tables
-#
-#FIXME 3.2.12: we split the "SELECT * FROM tables" in two parts until
-#FIXME 3.2.12: Bug #12397: wrong values shown in column CREATE_OPTIONS of
-#FIXME 3.2.12: INFORMATION_SCHEMA.TABLES is solved, one with 'more' and one
-#FIXME 3.2.12: with 'less' replace
-# 9 AVG_ROW_LENGTH
-# 10 DATA_LENGTH
-# 11 MAX_DATA_LENGTH
-# 12 INDEX_LENGTH
-# 13 DATA_FREE
-# 15 CREATE_TIME
-# 16 UPDATE_TIME
-# 17 CHECK_TIME
-# 20 CREATE_OPTIONS
-if ($have_bug_11589)
-{
---disable_ps_protocol
-}
---replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss" 20 "#CO#"
-SELECT * FROM information_schema.tables
- WHERE table_schema = 'information_schema';
-# 9 AVG_ROW_LENGTH
-# 10 DATA_LENGTH
-# 11 MAX_DATA_LENGTH
-# 12 INDEX_LENGTH
-# 13 DATA_FREE
-# 15 CREATE_TIME
-# 16 UPDATE_TIME
-# 17 CHECK_TIME
---replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss"
-SELECT * FROM information_schema.tables
- WHERE NOT( table_schema = 'information_schema');
---enable_ps_protocol
-
-# clean-up
-disconnect user_12_1;
-disconnect user_12_2;
-disconnect user_12_3;
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP USER 'user_3'@'localhost';
-DROP TABLE db_datadict.tb1;
-DROP TABLE db_datadict.tb3;
-DROP VIEW db_datadict.v3;
-USE test;
-DROP DATABASE db_datadict;
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.13.1:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.13.1: Ensure that the INFORMATION_SCHEMA.VIEWS
-# table has the following columns, in the following order:
-#
-# TABLE_CATALOG (always shows NULL),
-# TABLE_SCHEMA (shows the database, or schema, in which an
-# accessible view resides),
-# TABLE_NAME (shows the name of a view accessible to the
-# current user),
-# VIEW_DEFINITION (shows the SELECT statement that makes
-# up the view's definition),
-# CHECK_OPTION (shows the value of the WITH CHECK OPTION
-# clause used to define the view, either NONE, LOCAL
-# or CASCADED),
-# IS_UPDATABLE (shows whether the view is an updatable
-# view),
-# DEFINER (added with 5.0.14),
-# SECURITY_TYPE (added with 5.0.14).
-################################################################################
-
-let $is_table= views;
---source suite/funcs_1/datadict/datadict_show_table_design.inc
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.13.2 + 3.2.13.3:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.13.2: Ensure that the table shows the relevant information on
-# every view for which the current user or PUBLIC has the
-# SHOW CREATE VIEW privilege.
-################################################################################
-# Testcase 3.2.13.3: Ensure that the table does not show any information on any
-# views for which the current user and PUBLIC have no SHOW
-# CREATE VIEW privilege.
-################################################################################
-
---disable_warnings
-DROP DATABASE IF EXISTS db_datadict;
---enable_warnings
-
-CREATE DATABASE db_datadict;
-
-CREATE USER 'user_1'@'localhost';
-CREATE USER 'user_2'@'localhost';
-CREATE USER 'user_no_views'@'localhost';
-USE db_datadict;
-
-CREATE TABLE tb_401302(f1 INT, f2 INT, f3 INT);
-CREATE VIEW v_granted_to_1 AS SELECT * FROM tb_401302;
-CREATE VIEW v_granted_glob AS SELECT f2, f3 FROM tb_401302;
-
-GRANT SELECT ON db_datadict.tb_401302 TO 'user_1'@'localhost';
-GRANT SELECT ON db_datadict.v_granted_to_1 TO 'user_1'@'localhost';
-GRANT SHOW VIEW, CREATE VIEW ON db_datadict.* TO 'user_2'@'localhost';
-
-FLUSH PRIVILEGES;
-
-SELECT * FROM information_schema.views;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (user_13_1, localhost, user_1, , test);
-
-SELECT * FROM information_schema.views;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (user_13_2, localhost, user_2, , test);
-
-SELECT * FROM information_schema.views;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (user_no_views, localhost, user_no_views, , test);
-
-SELECT * FROM information_schema.views;
-
-# clean-up
-connection default;
---source suite/funcs_1/include/show_connection.inc
-disconnect user_13_1;
-disconnect user_13_2;
-disconnect user_no_views;
-USE db_datadict;
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP USER 'user_no_views'@'localhost';
-DROP VIEW v_granted_to_1;
-DROP TABLE tb_401302;
-DROP VIEW v_granted_glob;
-USE test;
-DROP DATABASE db_datadict;
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.14.1:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.14.1: Ensure that the INFORMATION_SCHEMA.STATISTICS
-# table has the following columns, in the following order:
-#
-# TABLE_CATALOG (always shows NULL),
-# TABLE_SCHEMA (shows the database, or schema, in which a
-# table indexed by an accessible index resides),
-# TABLE_NAME (shows the name of the indexed table),
-# NON_UNIQUE (shows whether the index may contain duplicate
-# values; 0 if it cannot, 1 if it can),
-# INDEX_SCHEMA (shows the database, or schema, in which an
-# accessible index resides),
-# INDEX_NAME (shows the name of an index which the current
-# user may access),
-# SEQ_IN_INDEX (shows the ordinal position of an indexed
-# column within the index),
-# COLUMN_NAME (shows the name of a column that comprises
-# some, or all, of an index key),
-# COLLATION (shows how the column is sorted in the index;
-# either A for ascending or NULL for unsorted
-# columns),
-# CARDINALITY (shows the number of unique values in the
-# index),
-# SUB_PART (shows the number of indexed characters if the
-# index is a prefix index),
-# PACKED (shows how the index key is packed),
-# NULLABLE (shows whether the index column may contain NULL
-# values),
-# INDEX_TYPE (shows the index type; either BTREE, FULLTEXT,
-# HASH or RTREE),
-# COMMENT (shows a comment on the index, if any).
-################################################################################
-
-let $is_table= statistics;
---source suite/funcs_1/datadict/datadict_show_table_design.inc
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.14.2 + 3.2.14.3:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.14.2: Ensure that the table shows the relevant information on
-# every index which the current user or PUBLIC may access
-# (usually because privileges on the indexed table have been
-# granted).
-################################################################################
-# Testcase 3.2.14.3: Ensure that the table does not show any information on any
-# indexes which the current user and PUBLIC may not access.
-################################################################################
-
---disable_warnings
-DROP DATABASE IF EXISTS db_datadict;
-DROP DATABASE IF EXISTS db_datadict_2;
---enable_warnings
-
-CREATE DATABASE db_datadict;
-CREATE DATABASE db_datadict_2;
-
-CREATE USER 'user_1'@'localhost';
-CREATE USER 'user_2'@'localhost';
-USE db_datadict;
-
-create table tb_6_401402_1(f1 int not null, primary key(f1), f2 int, index f2_ind(f2));
-create table tb_6_401402_2(f1 int not null, primary key(f1), f2 int, index f2_ind(f2));
-grant select on db_datadict.tb_6_401402_1 to 'user_1'@'localhost' WITH GRANT OPTION;
-
-USE db_datadict_2;
-
-create table tb_2_1(f1 int not null, primary key(f1), f2 int, index f2_ind(f2));
-create table tb_2_2(f1 int not null, primary key(f1), f2 int, index f2_ind(f2));
-grant select on db_datadict_2.tb_2_1 to 'user_1'@'localhost';
-
-FLUSH PRIVILEGES;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (user_14_1, localhost, user_1, , test);
-SELECT * FROM information_schema.statistics;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (user_14_2, localhost, user_2, , test);
-SELECT * FROM information_schema.statistics;
-
-connection default;
---source suite/funcs_1/include/show_connection.inc
-REVOKE SELECT ON db_datadict.tb_6_401402_1 FROM 'user_1'@'localhost';
-SELECT * FROM information_schema.statistics;
-
-# nothing visible for user_1
-connection user_14_1;
---source suite/funcs_1/include/show_connection.inc
-SELECT * FROM information_schema.statistics;
-
-# no changes visible for user_2
-connection user_14_2;
---source suite/funcs_1/include/show_connection.inc
-SELECT * FROM information_schema.statistics;
-
-# cleanup
-connection default;
---source suite/funcs_1/include/show_connection.inc
-disconnect user_14_1;
-disconnect user_14_2;
-USE db_datadict;
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP TABLE tb_6_401402_1;
-DROP TABLE tb_6_401402_2;
-USE test;
-DROP DATABASE db_datadict;
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.15.1:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.15.1: Ensure that the INFORMATION_SCHEMA.SCHEMA_PRIVILEGES
-# table has the following columns, in the following order:
-#
-# GRANTEE (shows a user to whom a schema privilege has been
-# granted),
-# TABLE_CATALOG (always shows NULL),
-# TABLE_SCHEMA (shows the name of the database, or schema,
-# on which the privilege has been granted),
-# PRIVILEGE_TYPE (shows the granted privilege),
-# IS_GRANTABLE (shows whether the privilege was granted WITH
-# GRANT OPTION).
-################################################################################
-
-let $is_table= schema_privileges;
---source suite/funcs_1/datadict/datadict_show_table_design.inc
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.15.2:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.15.2: Ensure that the table shows the relevant information on
-# every schema-level privilege which has been granted to the
-# current user or to PUBLIC, or has been granted by the
-# current user.
-################################################################################
-
---disable_warnings
-DROP DATABASE IF EXISTS db_datadict;
-DROP DATABASE IF EXISTS db_datadict_2;
---enable_warnings
-
-create database db_datadict;
-create database db_datadict_2;
-
-CREATE USER 'u_6_401502'@'localhost';
-
-use db_datadict;
-
-create table res_6_401502(f1 int, f2 int, f3 int);
-grant insert on db_datadict.* to 'u_6_401502'@'localhost';
-
-FLUSH PRIVILEGES;
-
-SELECT * FROM information_schema.schema_privileges;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (u_6_401502, localhost, u_6_401502, , test);
-
-SELECT * FROM information_schema.schema_privileges;
-
-disconnect u_6_401502;
-
-# clean-up
-
-connection default;
-use db_datadict;
---source suite/funcs_1/include/show_connection.inc
-DROP USER 'u_6_401502'@'localhost';
-drop table res_6_401502;
-use test;
-drop database db_datadict;
-drop database db_datadict_2;
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.15.3 + 3.2.15.4:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.15.3: Ensure that the table does not show any information on any
-# schema-level privileges which have been granted to users
-# other than the current user or to PUBLIC, or that have been
-# granted by any user other than the current user.
-################################################################################
-# Testcase 3.2.15.4: Ensure that the table does not show any information on any
-# privileges that are not schema-level privileges for the
-# current user.
-################################################################################
-
---disable_warnings
-DROP DATABASE IF EXISTS db_datadict;
-DROP DATABASE IF EXISTS db_datadict_2;
---enable_warnings
-
-create database db_datadict;
-create database db_datadict_2;
-
-CREATE USER 'u_6_401503_1'@'localhost';
-CREATE USER 'u_6_401503_2'@'localhost';
-CREATE USER 'u_6_401503_3'@'localhost';
-
-use db_datadict;
-
-create table res_6_401503_1(f1 int, f2 int, f3 int);
-
-use db_datadict_2;
-
-create table res_6_401503_2(f1 int, f2 int, f3 int);
-
-grant update on db_datadict.* to 'u_6_401503_1'@'localhost';
-grant delete on db_datadict_2.* to 'u_6_401503_2'@'localhost';
-
-FLUSH PRIVILEGES;
-
-SELECT * FROM information_schema.schema_privileges;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (u_6_401503_1, localhost, u_6_401503_1, , test);
-
-SELECT * FROM information_schema.schema_privileges;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (u_6_401503_2, localhost, u_6_401503_2, , test);
-
-SELECT * FROM information_schema.schema_privileges;
-
-# should not show anything
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (u_6_401503_3, localhost, u_6_401503_3, , test);
-
-SELECT * FROM information_schema.schema_privileges;
-
-# clean-up
-
-connection default;
---source suite/funcs_1/include/show_connection.inc
-disconnect u_6_401503_1;
-disconnect u_6_401503_2;
-disconnect u_6_401503_3;
-use db_datadict;
-DROP USER 'u_6_401503_1'@'localhost';
-DROP USER 'u_6_401503_2'@'localhost';
-DROP USER 'u_6_401503_3'@'localhost';
-drop table res_6_401503_1;
-use db_datadict_2;
-drop table res_6_401503_2;
-use test;
-drop database db_datadict;
-drop database db_datadict_2;
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.16.1:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.16.1: Ensure that the INFORMATION_SCHEMA.USER_PRIVILEGES
-# table has the following columns, in the following order:
-#
-# GRANTEE (shows a user to whom a user privilege has been
-# granted),
-# TABLE_CATALOG (always shows NULL),
-# PRIVILEGE_TYPE (shows the granted privilege),
-# IS_GRANTABLE (shows whether the privilege was granted WITH
-# GRANT OPTION).
-################################################################################
-
-#-----------
-# Bug #12063 column 'TABLE_SCHEMA' is missing in table
-# INFORMATION_SCHEMA.USER_PRIVILEGE
-# ... is not a bug, it has been added by mistake in the TP requirement document.
-#-----------
-
-let $is_table= user_privileges;
---source suite/funcs_1/datadict/datadict_show_table_design.inc
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.16.2 + 3.2.16.3 + 3.2.16.4:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.16.2: Ensure that the table shows the relevant information on
-# every user privilege which has been granted to the current
-# user or to PUBLIC, or has been granted by the current user.
-################################################################################
-# Testcase 3.2.16.3: Ensure that the table does not show any information on any
-# user privileges which have been granted to users other than
-# the current user or have been granted by any user other
-# than the current user.
-################################################################################
-# Testcase 3.2.16.4: Ensure that the table does not show any information on any
-# privileges that are not user privileges for the current
-# user.
-################################################################################
-
-#FIXME 3.2.16: - when Bug #12269 is fixed a some of the outputs here may be
-#FIXME 3.2.16: deleted as I added them for checking where / which information
-#FIXME 3.2.16: is shown.
-
---disable_warnings
-DROP DATABASE IF EXISTS db_datadict;
---enable_warnings
-
-let $cmd1= SELECT * FROM information_schema.user_privileges
- WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-let $cmd2= SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user;
-let $cmd3= SHOW GRANTS;
-
-CREATE DATABASE db_datadict;
-
-CREATE USER 'user_1'@'localhost';
-CREATE USER 'user_2'@'localhost';
-CREATE USER 'user_3'@'localhost';
-
-GRANT SELECT ON db_datadict.* TO 'user_1'@'localhost';
-GRANT SELECT ON mysql.user TO 'user_1'@'localhost';
-
-GRANT INSERT ON *.* TO 'user_2'@'localhost';
-GRANT UPDATE ON *.* TO 'user_2'@'localhost';
-
-FLUSH PRIVILEGES;
-
-let $message= FIXME (see Bug 12269) Here we expect more than only <USAGE> for user_1;
---source include/show_msg.inc
-eval $cmd1;
-eval $cmd2;
-eval $cmd3;
-
-let $message= add GRANT OPTION db_datadict.* to user_1;
---source include/show_msg.inc
-GRANT UPDATE ON db_datadict.* TO 'user_1'@'localhost' WITH GRANT OPTION;
-
-let $message= FIXME (see Bug 12269) Here the <YES> is missing for the GRANT OPTION for user_1;
---source include/show_msg.inc
-eval $cmd1;
-eval $cmd2;
-eval $cmd3;
-
-FLUSH PRIVILEGES;
-
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (user_16_1, localhost, user_1, , db_datadict);
-eval $cmd1;
-eval $cmd2;
-eval $cmd3;
-
-# add SELECT on *.* to user_1
-let $message= Now add SELECT on *.* to user_1;
---source include/show_msg.inc
-
-connection default;
---source suite/funcs_1/include/show_connection.inc
-GRANT SELECT ON *.* TO 'user_1'@'localhost';
-let $message= Here <SELECT NO> is shown correctly for user_1;
---source include/show_msg.inc
-eval $cmd1;
-eval $cmd2;
-eval $cmd3;
-
-GRANT SELECT ON *.* TO 'user_1'@'localhost' WITH GRANT OPTION;
-let $message= Here <SELECT YES> is shown correctly for user_1;
---source include/show_msg.inc
-eval $cmd1;
-eval $cmd2;
-eval $cmd3;
-
-FLUSH PRIVILEGES;
-eval $cmd1;
-eval $cmd2;
-eval $cmd3;
-
-# check that this appears
-connection user_16_1;
---source suite/funcs_1/include/show_connection.inc
-eval $cmd1;
-eval $cmd2;
-eval $cmd3;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (user_16_2, localhost, user_2, , db_datadict);
-eval $cmd1;
---error 1142
-eval $cmd2;
-eval $cmd3;
-
---replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
-connect (user_16_3, localhost, user_3, , test);
-eval $cmd1;
---error 1142
-eval $cmd2;
-eval $cmd3;
-
-let $message= revoke privileges from user_1;
---source include/show_msg.inc
-
-connection default;
---source suite/funcs_1/include/show_connection.inc
-REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'user_1'@'localhost';
-eval $cmd1;
-eval $cmd2;
-eval $cmd3;
-
-# check for changes
-connection user_16_1;
---source suite/funcs_1/include/show_connection.inc
-eval $cmd1;
---error 1142
-eval $cmd2;
-eval $cmd3;
-
---source suite/funcs_1/include/show_connection.inc
-# checks entered before bug #12269 was reported
-# OK, user_1 has no privs here
---error 1142
-CREATE TABLE db_datadict.tb_55 ( c1 TEXT );
---source suite/funcs_1/include/show_connection.inc
-eval $cmd1;
---error 1142
-eval $cmd2;
-eval $cmd3;
-# OK, user_1 has no privs here
---error 1142
-CREATE TABLE db_datadict.tb_66 ( c1 TEXT );
-
-let $message= add ALL on db_datadict.* (and select on mysql.user) to user_1;
---source include/show_msg.inc
-
-connection default;
---source suite/funcs_1/include/show_connection.inc
-
-GRANT ALL ON db_datadict.* TO 'user_1'@'localhost' WITH GRANT OPTION;
-GRANT SELECT ON mysql.user TO 'user_1'@'localhost';
-eval $cmd1;
-eval $cmd2;
-eval $cmd3;
-
-# check for changes
-connection user_16_1;
---source suite/funcs_1/include/show_connection.inc
-eval $cmd1;
-eval $cmd2;
-eval $cmd3;
-
-# OK, user_1 has no privs here
---error 1142
-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;
---source suite/funcs_1/include/show_connection.inc
-eval $cmd1;
-eval $cmd2;
-eval $cmd3;
-CREATE TABLE tb_57 ( c1 TEXT );
-
-let $message= revoke privileges from user_1;
---source include/show_msg.inc
-
-connection default;
---source suite/funcs_1/include/show_connection.inc
-REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'user_1'@'localhost';
-FLUSH PRIVILEGES;
-eval $cmd1;
-eval $cmd2;
-eval $cmd3;
-
-# check for changes
-connection user_16_1;
---source suite/funcs_1/include/show_connection.inc
-eval $cmd1;
---error 1142
-eval $cmd2;
-eval $cmd3;
-# WORKS, as the existing old privileges are used!
-CREATE TABLE db_datadict.tb_58 ( c1 TEXT );
-# existing privileges are "read" new when USE is called, user has no priviliges
---error 1044
-USE db_datadict;
-#FIXME 3.2.16: check that it is correct that this now 'works': --error 1142
-CREATE TABLE db_datadict.tb_59 ( c1 TEXT );
-
-
-# clean-up
-connection default;
---source suite/funcs_1/include/show_connection.inc
-disconnect user_16_1;
-disconnect user_16_2;
-disconnect user_16_3;
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP USER 'user_3'@'localhost';
-DROP DATABASE IF EXISTS db_datadict;
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.17: Checks on Performance - not here in this script!;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.17.1: Ensure that every INFORMATION_SCHEMA table shows all the
-# correct information, and no incorrect information, for a
-# database to which 100 different users, each of which has a
-# randomly issued set of privileges and access to a
-# randomly chosen set of database objects, have access.
-# The database should contain a mixture of all types of
-# database objects (i.e. tables, views, stored procedures,
-# triggers).
-################################################################################
-
-################################################################################
-# Testcase 3.2.17.2: Ensure that every INFORMATION_SCHEMA table shows all the
-# correct information, and no incorrect information, for 10
-# different databases to which 50 different users, each of
-# which has a randomly issued set of privileges and access
-# to a randomly chosen set of database objects in two or
-# more of the databases, have access. The databases should
-# each contain a mixture of all types of database objects
-# (i.e. tables, views, stored procedures, triggers).
-################################################################################
-
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.18.1:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.18.1: Ensure that the INFORMATION_SCHEMA.TRIGGERS
-# table has the following columns, in the following order:
-#
-#
-# (FIXME - list copied from WL#1996)
-#
-# TRIGGER_CATALOG NULL
-# TRIGGER_SCHEMA
-# TRIGGER_NAME
-# EVENT_MANIPULATION
-# EVENT_OBJECT_CATALOG NULL
-# EVENT_OBJECT_SCHEMA
-# EVENT_OBJECT_TABLE
-# ACTION_ORDER NULL
-# ACTION_CONDITION NULL
-# ACTION_STATEMENT
-# ACTION_ORIENTATION
-# ACTION_TIMING
-# ACTION_REFERENCE_OLD_TABLE NULL
-# ACTION_REFERENCE_NEW_TABLE NULL
-# ACTION_REFERENCE_OLD_ROW
-# ACTION_REFERENCE_NEW_ROW
-# CREATED
-# SQL_MODE
-#
-################################################################################
-
-let $is_table= triggers;
---source suite/funcs_1/datadict/datadict_show_table_design.inc
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.18.2 + 3.2.18.3:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.18.2: Ensure that the table shows the relevant information on
-# every trigger on which the current user or PUBLIC has
-# privileges.
-################################################################################
-# Testcase 3.2.18.3: Ensure that the table does not show any information on any
-# trigger on which the current user and public have no
-# privileges.
-################################################################################
-
-#FIXME 3.2.18.2: to be added.
-#FIXME 3.2.18.2: don't forget to add the test description to QATestPlanV50func
-
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.19.1:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.19.1: Ensure that the INFORMATION_SCHEMA.PARAMETERS
-# table has the following columns, in the following order:
-#
-################################################################################
-
-let $is_table= parameters;
-# when table is implemented remove this and the next 4 lines and "enable" 5th line:
-# and don't forget to add the test description to QATestPlanV50func
-let $message= checking a table that will be implemented later;
---source include/show_msg.inc
---error 1109
-eval DESC $is_table;
-#--source suite/funcs_1/datadict/datadict_show_table_design.inc
-# -------------------------------------------------------------------------------------------------------
-
-let $message= Testcase 3.2.20.1:;
---source include/show_msg80.inc
-
-################################################################################
-# Testcase 3.2.20.1: Ensure that the INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS
-# table has the following columns, in the following order:
-#
-################################################################################
-
-let $is_table= referential_constraints;
-# when table is implemented remove this and the next 4 lines and "enable" 5th line:
-# and don't forget to add the test description to QATestPlanV50func
-#let $message= checking a table that will be implemented later;
-#--source include/show_msg.inc
-#--error 1109
-eval DESC $is_table;
---source suite/funcs_1/datadict/datadict_show_table_design.inc
-# -------------------------------------------------------------------------------------------------------
-
-
-################################################################################
-#
-let $message= *** End of Data Dictionary Tests ***;
---source include/show_msg80.inc
-#
-################################################################################
-
-
-# some cleanup to be sure nothing remains
---disable_warnings
-DROP TABLE IF EXISTS test.tb1;
-DROP TABLE IF EXISTS test.tb2;
-DROP TABLE IF EXISTS test.tb3;
-DROP TABLE IF EXISTS test.tb4;
-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.t7;
-DROP TABLE IF EXISTS test.t8;
-DROP TABLE IF EXISTS test.t9;
-DROP TABLE IF EXISTS test.t10;
-DROP TABLE IF EXISTS test.t11;
-DROP DATABASE IF EXISTS test1;
-DROP DATABASE IF EXISTS test4;
-DROP DATABASE IF EXISTS db_datadict;
-DROP DATABASE IF EXISTS db_datadict_1;
-DROP DATABASE IF EXISTS db_datadict_2;
---enable_warnings
diff --git a/mysql-test/suite/funcs_1/datadict/datadict_priv.inc b/mysql-test/suite/funcs_1/datadict/datadict_priv.inc
new file mode 100644
index 00000000000..8256b51949e
--- /dev/null
+++ b/mysql-test/suite/funcs_1/datadict/datadict_priv.inc
@@ -0,0 +1,110 @@
+############## suite/funcs_1/datadict/datadict_priv.inc ################
+# #
+# DDL and DML operations on information_schema tables #
+# #
+# Creation: #
+# 2007-08 hhunger Implement this test as part of #
+# WL#3982 Test information_schema.processlist #
+# #
+# Last update: #
+# 2007-08-14 mleich Some cleanup #
+# #
+########################################################################
+
+# These variables have to be set before sourcing this file.
+#
+# information_schema table to be tested
+# let $table= processlist;
+#
+# columns of the information_schema table e.g. to use in a select.
+# let $columns= ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO;
+#
+# Where clause for an update.
+# let $update_where= WHERE id=1 ;
+#
+# Column to be used in the SET of an update.
+# let $set_column= user='any_user' ;
+#
+# Where clause of a delete.
+# let $delete_where= WHERE id=1 ;
+#
+# Column to be dropped.
+# let $drop_column= user;
+#
+# Column to be indexed
+# let $index_col= user;
+
+
+# data access
+
+eval CREATE TEMPORARY TABLE test.t_$table AS SELECT * FROM $table;
+
+eval UPDATE test.t_$table SET user='horst' $update_where ;
+
+--error ER_DBACCESS_DENIED_ERROR
+eval INSERT INTO $table SELECT * FROM test.t_$table;
+
+# bug#30208: CREATE TABLE ...LIKE does not accept dbname.tablename:unknown database
+eval DROP TABLE test.t_$table;
+
+--error ER_VIEW_NONUPD_CHECK
+eval CREATE VIEW test.v_$table ($columns) AS SELECT * FROM $table WITH CHECK OPTION;
+
+eval CREATE VIEW test.v_$table ($columns) AS SELECT * FROM $table;
+
+--error ER_DBACCESS_DENIED_ERROR
+eval UPDATE test.v_$TABLE SET TIME=NOW() WHERE id = 1;
+
+eval DROP VIEW test.v_$table;
+
+--error ER_DBACCESS_DENIED_ERROR
+eval UPDATE $table SET $set_column $update_where;
+
+--error ER_DBACCESS_DENIED_ERROR
+eval DELETE FROM $table $delete_where;
+
+# change privileges
+
+--error ER_DBACCESS_DENIED_ERROR
+eval REVOKE ALL ON $table FROM current_user;
+
+--error ER_DBACCESS_DENIED_ERROR
+eval GRANT INSERT,UPDATE ON $table TO current_user;
+
+SHOW GRANTS;
+
+#----------------------------------------------------------------------
+# table access
+
+--error ER_DBACCESS_DENIED_ERROR
+eval CREATE INDEX i_$table ON $table ($index_col);
+
+--error ER_DBACCESS_DENIED_ERROR
+eval DROP TABLE $table;
+
+--error ER_DBACCESS_DENIED_ERROR
+eval ALTER TABLE $table DROP COLUMN $drop_column;
+
+--error ER_DBACCESS_DENIED_ERROR
+eval ALTER TABLE $table ADD COLUMN (my_column INT);
+
+--error ER_UNKNOWN_TABLE
+eval RENAME TABLE $table TO new_$table;
+
+--error ER_DBACCESS_DENIED_ERROR
+eval RENAME TABLE $table TO files;
+
+--error ER_UNKNOWN_TABLE
+eval CREATE TABLE new_$table AS SELECT * FROM $table;
+
+#----------------------------------------------------------------------
+# database access
+
+--error ER_DBACCESS_DENIED_ERROR
+DROP DATABASE information_schema;
+
+--error ER_PARSE_ERROR
+RENAME DATABASE information_schema TO info_schema;
+
+--error ER_DBACCESS_DENIED_ERROR
+ALTER DATABASE information_schema UPGRADE DATA DIRECTORY NAME;
diff --git a/mysql-test/suite/funcs_1/datadict/datadict_show_schema.inc b/mysql-test/suite/funcs_1/datadict/datadict_show_schema.inc
deleted file mode 100644
index 260119f030f..00000000000
--- a/mysql-test/suite/funcs_1/datadict/datadict_show_schema.inc
+++ /dev/null
@@ -1,56 +0,0 @@
-#### suite/funcs_1/datadict/datadict_show_schema.test
-
-# shows content of tables from INFORMATION_SCHEMA
-
-# usage:
-
-# let $message= <a message for the .result file>;
-# let $dbname= <prefix_of_a_cb_name>;
-# --source suite/funcs_1/datadict/datadict_show_schema.test
-
---source include/show_msg.inc
-
-eval select *
- from information_schema.schemata
- where schema_name like '$dbname%';
-
-eval select table_catalog, table_schema, engine
- from information_schema.tables
- where table_schema like '$dbname%';
-
-eval select *
- from information_schema.columns
- where table_schema like '$dbname%';
-
-eval select table_schema, table_name, is_updatable
- from information_schema.views
- where table_schema like '$dbname%';
-
-eval select routine_name, routine_type, security_type, sql_mode
- from information_schema.routines
- where routine_schema like '$dbname%';
-
-eval select table_name, index_schema, index_name, index_type
- from information_schema.statistics
- where table_schema like '$dbname%';
-
---replace_result $SERVER_NAME <SERVER_NAME>
-eval select *
- from information_schema.user_privileges order by grantee, privilege_type;
-# where grantee="'u_6_401013'@'%'";
-
-eval select *
- from information_schema.column_privileges
- where table_schema like '$dbname%';
-
-eval select *
- from information_schema.table_privileges
- where table_schema like '$dbname%';
-
-eval select *
- from information_schema.key_column_usage
- where table_schema like '$dbname%';
-
-eval SELECT *
- FROM information_schema.triggers
- WHERE trigger_schema LIKE '$dbname%';
diff --git a/mysql-test/suite/funcs_1/datadict/datadict_show_table_design.inc b/mysql-test/suite/funcs_1/datadict/datadict_show_table_design.inc
deleted file mode 100644
index e406d80f7f5..00000000000
--- a/mysql-test/suite/funcs_1/datadict/datadict_show_table_design.inc
+++ /dev/null
@@ -1,28 +0,0 @@
-#### suite/funcs_1/datadict/datadict_show_table_design.test
-#
-# - shows design of *one* table from INFORMATION_SCHEMA
-# - used to have identical 'view' on all tested tables
-#
-# Usage:
-#
-# let $is_table= <name of one of the tables>;
-# --source suite/funcs_1/datadict/datadict_show_table_design.test
-
-USE information_schema;
-
---source suite/funcs_1/datadict/datadict_bug_12777.inc
-eval DESC $is_table;
-
---source suite/funcs_1/datadict/datadict_bug_12777.inc
-eval SHOW CREATE TABLE $is_table;
-
-eval SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = '$is_table'
-ORDER BY ordinal_position;
-
---source suite/funcs_1/datadict/datadict_bug_12777.inc
-eval SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = '$is_table'
-ORDER BY ordinal_position;
diff --git a/mysql-test/suite/funcs_1/datadict/datadict_tables.inc b/mysql-test/suite/funcs_1/datadict/datadict_tables.inc
deleted file mode 100644
index 14e39c083b0..00000000000
--- a/mysql-test/suite/funcs_1/datadict/datadict_tables.inc
+++ /dev/null
@@ -1,62 +0,0 @@
-#### suite/funcs_1/datadict/datadict_tables.inc
-
-# contains all tables from INFORMATION_SCHEMA
-
-# usage:
-
-# --source suite/funcs_1/datadict/datadict_tables.inc
-
---source include/show_msg.inc
-
-eval $dd_part1 schemata $dd_part2;
-
-#FIXME: splitting the "SELECT * FROM tables" in two parts until
-#FIXME: Bug #12397: wrong values shown in column CREATE_OPTIONS of INFORMATION_SCHEMA.TABLES
-#FIXME: is solved, like done in the _master.test, cannot be done here, so we replace here
-#FIXME: the result for ALL rows.
-# 9 AVG_ROW_LENGTH
-# 10 DATA_LENGTH
-# 11 MAX_DATA_LENGTH
-## 12 INDEX_LENGTH
-# 13 DATA_FREE
-# 15 CREATE_TIME
-# 16 UPDATE_TIME
-# 20 CREATE_OPTIONS
---replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 20 "#CO#"
-eval $dd_part1 tables $dd_part2;
-
---source suite/funcs_1/datadict/datadict_bug_12777.inc
-eval $dd_part1 columns $dd_part2;
-eval $dd_part1 character_sets $dd_part2;
-eval $dd_part1 collations $dd_part2;
-eval $dd_part1 collation_character_set_applicability $dd_part2;
---replace_column 16 <Created> 17 <Last_Altered>
-eval $dd_part1 routines $dd_part2;
-eval $dd_part1 statistics $dd_part2;
-eval $dd_part1 views $dd_part2;
-eval $dd_part1 user_privileges $dd_part2;
-eval $dd_part1 schema_privileges $dd_part2;
-eval $dd_part1 table_privileges $dd_part2;
-eval $dd_part1 column_privileges $dd_part2;
-eval $dd_part1 table_constraints $dd_part2;
-eval $dd_part1 key_column_usage $dd_part2;
-eval $dd_part1 triggers $dd_part2;
-
-# later planned new tables for INFORMATION_SCHEMA (not before version 5.0.11)
-#
-# (see Reference Manual: 22.1.16. Other INFORMATION_SCHEMA Tables):
-#
-# parameters
-# referential_constraints
-#
-# check them here although they currently does not exist, but using this we
-# immedeatly get notice when they are implemented
-
-#### DON'T FORGET TO ADD THE NEW TABLES TO THE CORRESPONDING FILES
-#### datadict_tables_error_<errno>.test !
-
---error 1109
-eval $dd_part1 parameters $dd_part2;
-
---error 0,1109
-eval $dd_part1 referential_constraints $dd_part2;
diff --git a/mysql-test/suite/funcs_1/datadict/datadict_tables_error.inc b/mysql-test/suite/funcs_1/datadict/datadict_tables_error.inc
deleted file mode 100644
index a551266c447..00000000000
--- a/mysql-test/suite/funcs_1/datadict/datadict_tables_error.inc
+++ /dev/null
@@ -1,33 +0,0 @@
-#### suite/funcs_1/datadict/datadict_tables.inc
-
-# contains all tables from INFORMATION_SCHEMA
-
-# usage:
-
-# --source suite/funcs_1/datadict/datadict_tables.inc
-
-
-#--disable_query_log
-#eval SET @aux= 'This testcase shows the error number $error_no';
-#let $message= `SELECT @aux`;
-#--enable_query_log
---source include/show_msg.inc
-
---disable_abort_on_error
-eval $dd_part1 schemata $dd_part2;
-eval $dd_part1 tables $dd_part2;
-eval $dd_part1 columns $dd_part2;
-eval $dd_part1 character_sets $dd_part2;
-eval $dd_part1 collations $dd_part2;
-eval $dd_part1 collation_character_set_applicability $dd_part2;
-eval $dd_part1 routines $dd_part2;
-eval $dd_part1 statistics $dd_part2;
-eval $dd_part1 views $dd_part2;
-eval $dd_part1 user_privileges $dd_part2;
-eval $dd_part1 schema_privileges $dd_part2;
-eval $dd_part1 table_privileges $dd_part2;
-eval $dd_part1 column_privileges $dd_part2;
-eval $dd_part1 table_constraints $dd_part2;
-eval $dd_part1 key_column_usage $dd_part2;
-eval $dd_part1 triggers $dd_part2;
---enable_abort_on_error
diff --git a/mysql-test/suite/funcs_1/datadict/datadict_tables_error_1.inc b/mysql-test/suite/funcs_1/datadict/datadict_tables_error_1.inc
deleted file mode 100644
index d04459991cc..00000000000
--- a/mysql-test/suite/funcs_1/datadict/datadict_tables_error_1.inc
+++ /dev/null
@@ -1,80 +0,0 @@
-#### suite/funcs_1/datadict/datadict_tables.inc
-
-# contains all tables from INFORMATION_SCHEMA
-
-# usage:
-
-# --source suite/funcs_1/datadict/datadict_tables_err_<no>.inc
-#
-# up to a change of "mysqltest", which makes lines like "eval --error $err_no"
-# possible we will have some different files with the same content except the
-# error numbers.
-
---source include/show_msg.inc
-
-let $message= known error 1 (Can_t create/write to file ...):;
---source include/show_msg.inc
-
---replace_result '\\' '/'
---error 1
-eval $dd_part1 schemata $dd_part2;
-
---replace_result '\\' '/'
---error 1
-eval $dd_part1 tables $dd_part2;
-
---replace_result '\\' '/'
---error 1
-eval $dd_part1 columns $dd_part2;
-
---replace_result '\\' '/'
---error 1
-eval $dd_part1 character_sets $dd_part2;
-
---replace_result '\\' '/'
---error 1
-eval $dd_part1 collations $dd_part2;
-
---replace_result '\\' '/'
---error 1
-eval $dd_part1 collation_character_set_applicability $dd_part2;
-
---replace_result '\\' '/'
---error 1
-eval $dd_part1 routines $dd_part2;
-
---replace_result '\\' '/'
---error 1
-eval $dd_part1 statistics $dd_part2;
-
---replace_result '\\' '/'
---error 1
-eval $dd_part1 views $dd_part2;
-
---replace_result '\\' '/'
---error 1
-eval $dd_part1 user_privileges $dd_part2;
-
---replace_result '\\' '/'
---error 1
-eval $dd_part1 schema_privileges $dd_part2;
-
---replace_result '\\' '/'
---error 1
-eval $dd_part1 table_privileges $dd_part2;
-
---replace_result '\\' '/'
---error 1
-eval $dd_part1 column_privileges $dd_part2;
-
---replace_result '\\' '/'
---error 1
-eval $dd_part1 table_constraints $dd_part2;
-
---replace_result '\\' '/'
---error 1
-eval $dd_part1 key_column_usage $dd_part2;
-
---replace_result '\\' '/'
---error 1
-eval $dd_part1 triggers $dd_part2;
diff --git a/mysql-test/suite/funcs_1/datadict/datadict_tables_error_1044.inc b/mysql-test/suite/funcs_1/datadict/datadict_tables_error_1044.inc
deleted file mode 100755
index a8876ee7db6..00000000000
--- a/mysql-test/suite/funcs_1/datadict/datadict_tables_error_1044.inc
+++ /dev/null
@@ -1,51 +0,0 @@
-#### suite/funcs_1/datadict/datadict_tables_error_1044.inc
-
-# contains all tables from INFORMATION_SCHEMA
-
-# usage:
-
-# --source suite/funcs_1/datadict/datadict_tables_err_<no>.inc
-#
-# up to a change of "mysqltest", which makes lines like "eval --error $err_no"
-# possible we will have some different files with the same content except the
-# error numbers.
-
---source include/show_msg.inc
-
-# e.g.: ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-
-let $message= known error 1044 (ERROR 42000: Access denied for user ... to database ...):;
---source include/show_msg.inc
-
---error 1044
-eval $dd_part1 schemata $dd_part2;
---error 1044
-eval $dd_part1 tables $dd_part2;
---error 1044
-eval $dd_part1 columns $dd_part2;
---error 1044
-eval $dd_part1 character_sets $dd_part2;
---error 1044
-eval $dd_part1 collations $dd_part2;
---error 1044
-eval $dd_part1 collation_character_set_applicability $dd_part2;
---error 1044
-eval $dd_part1 routines $dd_part2;
---error 1044
-eval $dd_part1 statistics $dd_part2;
---error 1044
-eval $dd_part1 views $dd_part2;
---error 1044
-eval $dd_part1 user_privileges $dd_part2;
---error 1044
-eval $dd_part1 schema_privileges $dd_part2;
---error 1044
-eval $dd_part1 table_privileges $dd_part2;
---error 1044
-eval $dd_part1 column_privileges $dd_part2;
---error 1044
-eval $dd_part1 table_constraints $dd_part2;
---error 1044
-eval $dd_part1 key_column_usage $dd_part2;
---error 1044
-eval $dd_part1 triggers $dd_part2;
diff --git a/mysql-test/suite/funcs_1/datadict/datadict_tables_error_1049.inc b/mysql-test/suite/funcs_1/datadict/datadict_tables_error_1049.inc
deleted file mode 100644
index 4b12c836e92..00000000000
--- a/mysql-test/suite/funcs_1/datadict/datadict_tables_error_1049.inc
+++ /dev/null
@@ -1,49 +0,0 @@
-#### suite/funcs_1/datadict/datadict_tables.inc
-
-# contains all tables from INFORMATION_SCHEMA
-
-# usage:
-
-# --source suite/funcs_1/datadict/datadict_tables_err_<no>.inc
-#
-# up to a change of "mysqltest", which makes lines like "eval --error $err_no"
-# possible we will have some different files with the same content except the
-# error numbers.
-
---source include/show_msg.inc
-
-let $message= known error 1049 (ERROR 42000: Unknown database ...):;
---source include/show_msg.inc
-
---error 1049
-eval $dd_part1 schemata $dd_part2;
---error 1049
-eval $dd_part1 tables $dd_part2;
---error 1049
-eval $dd_part1 columns $dd_part2;
---error 1049
-eval $dd_part1 character_sets $dd_part2;
---error 1049
-eval $dd_part1 collations $dd_part2;
---error 1049
-eval $dd_part1 collation_character_set_applicability $dd_part2;
---error 1049
-eval $dd_part1 routines $dd_part2;
---error 1049
-eval $dd_part1 statistics $dd_part2;
---error 1049
-eval $dd_part1 views $dd_part2;
---error 1049
-eval $dd_part1 user_privileges $dd_part2;
---error 1049
-eval $dd_part1 schema_privileges $dd_part2;
---error 1049
-eval $dd_part1 table_privileges $dd_part2;
---error 1049
-eval $dd_part1 column_privileges $dd_part2;
---error 1049
-eval $dd_part1 table_constraints $dd_part2;
---error 1049
-eval $dd_part1 key_column_usage $dd_part2;
---error 1049
-eval $dd_part1 triggers $dd_part2;
diff --git a/mysql-test/suite/funcs_1/datadict/datadict_tables_error_1051.inc b/mysql-test/suite/funcs_1/datadict/datadict_tables_error_1051.inc
deleted file mode 100644
index 109b2ecd7da..00000000000
--- a/mysql-test/suite/funcs_1/datadict/datadict_tables_error_1051.inc
+++ /dev/null
@@ -1,49 +0,0 @@
-#### suite/funcs_1/datadict/datadict_tables.inc
-
-# contains all tables from INFORMATION_SCHEMA
-
-# usage:
-
-# --source suite/funcs_1/datadict/datadict_tables_err_<no>.inc
-#
-# up to a change of "mysqltest", which makes lines like "eval --error $err_no"
-# possible we will have some different files with the same content except the
-# error numbers.
-
---source include/show_msg.inc
-
-let $message= known error 1051:;
---source include/show_msg.inc
-
---error 1051
-eval $dd_part1 schemata $dd_part2;
---error 1051
-eval $dd_part1 tables $dd_part2;
---error 1051
-eval $dd_part1 columns $dd_part2;
---error 1051
-eval $dd_part1 character_sets $dd_part2;
---error 1051
-eval $dd_part1 collations $dd_part2;
---error 1051
-eval $dd_part1 collation_character_set_applicability $dd_part2;
---error 1051
-eval $dd_part1 routines $dd_part2;
---error 1051
-eval $dd_part1 statistics $dd_part2;
---error 1051
-eval $dd_part1 views $dd_part2;
---error 1051
-eval $dd_part1 user_privileges $dd_part2;
---error 1051
-eval $dd_part1 schema_privileges $dd_part2;
---error 1051
-eval $dd_part1 table_privileges $dd_part2;
---error 1051
-eval $dd_part1 column_privileges $dd_part2;
---error 1051
-eval $dd_part1 table_constraints $dd_part2;
---error 1051
-eval $dd_part1 key_column_usage $dd_part2;
---error 1051
-eval $dd_part1 triggers $dd_part2;
diff --git a/mysql-test/suite/funcs_1/datadict/datadict_tables_error_1146.inc b/mysql-test/suite/funcs_1/datadict/datadict_tables_error_1146.inc
deleted file mode 100644
index 5fa6d705b26..00000000000
--- a/mysql-test/suite/funcs_1/datadict/datadict_tables_error_1146.inc
+++ /dev/null
@@ -1,49 +0,0 @@
-#### suite/funcs_1/datadict/datadict_tables.inc
-
-# contains all tables from INFORMATION_SCHEMA
-
-# usage:
-
-# --source suite/funcs_1/datadict/datadict_tables_err_<no>.inc
-#
-# up to a change of "mysqltest", which makes lines like "eval --error $err_no"
-# possible we will have some different files with the same content except the
-# error numbers.
-
---source include/show_msg.inc
-
-let $message= known error 1146:;
---source include/show_msg.inc
-
---error 1146
-eval $dd_part1 schemata $dd_part2;
---error 1146
-eval $dd_part1 tables $dd_part2;
---error 1146
-eval $dd_part1 columns $dd_part2;
---error 1146
-eval $dd_part1 character_sets $dd_part2;
---error 1146
-eval $dd_part1 collations $dd_part2;
---error 1146
-eval $dd_part1 collation_character_set_applicability $dd_part2;
---error 1146
-eval $dd_part1 routines $dd_part2;
---error 1146
-eval $dd_part1 statistics $dd_part2;
---error 1146
-eval $dd_part1 views $dd_part2;
---error 1146
-eval $dd_part1 user_privileges $dd_part2;
---error 1146
-eval $dd_part1 schema_privileges $dd_part2;
---error 1146
-eval $dd_part1 table_privileges $dd_part2;
---error 1146
-eval $dd_part1 column_privileges $dd_part2;
---error 1146
-eval $dd_part1 table_constraints $dd_part2;
---error 1146
-eval $dd_part1 key_column_usage $dd_part2;
---error 1146
-eval $dd_part1 triggers $dd_part2;
diff --git a/mysql-test/suite/funcs_1/datadict/datadict_tables_error_1288.inc b/mysql-test/suite/funcs_1/datadict/datadict_tables_error_1288.inc
deleted file mode 100644
index e64226f0d35..00000000000
--- a/mysql-test/suite/funcs_1/datadict/datadict_tables_error_1288.inc
+++ /dev/null
@@ -1,49 +0,0 @@
-#### suite/funcs_1/datadict/datadict_tables.inc
-
-# contains all tables from INFORMATION_SCHEMA
-
-# usage:
-
-# --source suite/funcs_1/datadict/datadict_tables_err_<no>.inc
-#
-# up to a change of "mysqltest", which makes lines like "eval --error $err_no"
-# possible we will have some different files with the same content except the
-# error numbers.
-
---source include/show_msg.inc
-
-let $message= known error 1288:;
---source include/show_msg.inc
-
---error 1288
-eval $dd_part1 schemata $dd_part2;
---error 1288
-eval $dd_part1 tables $dd_part2;
---error 1288
-eval $dd_part1 columns $dd_part2;
---error 1288
-eval $dd_part1 character_sets $dd_part2;
---error 1288
-eval $dd_part1 collations $dd_part2;
---error 1288
-eval $dd_part1 collation_character_set_applicability $dd_part2;
---error 1288
-eval $dd_part1 routines $dd_part2;
---error 1288
-eval $dd_part1 statistics $dd_part2;
---error 1288
-eval $dd_part1 views $dd_part2;
---error 1288
-eval $dd_part1 user_privileges $dd_part2;
---error 1288
-eval $dd_part1 schema_privileges $dd_part2;
---error 1288
-eval $dd_part1 table_privileges $dd_part2;
---error 1288
-eval $dd_part1 column_privileges $dd_part2;
---error 1288
-eval $dd_part1 table_constraints $dd_part2;
---error 1288
-eval $dd_part1 key_column_usage $dd_part2;
---error 1288
-eval $dd_part1 triggers $dd_part2;
diff --git a/mysql-test/suite/funcs_1/datadict/is_table_query.inc b/mysql-test/suite/funcs_1/datadict/is_table_query.inc
new file mode 100644
index 00000000000..3ed7413167a
--- /dev/null
+++ b/mysql-test/suite/funcs_1/datadict/is_table_query.inc
@@ -0,0 +1,42 @@
+# suite/funcs_1/datadict/is_table_query.inc
+#
+# Check that every INFORMATION_SCHEMA table can be queried with a SELECT
+# statement, just as if it were an ordinary user-defined table.
+# (Requirement 3.2.1.1)
+#
+# The variable $is_table must be set before sourcing this script.
+#
+# 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.
+#
+--disable_warnings
+DROP VIEW IF EXISTS test.v1;
+DROP PROCEDURE IF EXISTS test.p1;
+DROP FUNCTION IF EXISTS test.f1;
+--enable_warnings
+eval CREATE VIEW test.v1 AS SELECT * FROM information_schema.$is_table;
+eval CREATE PROCEDURE test.p1() SELECT * FROM information_schema.$is_table;
+delimiter //;
+eval CREATE FUNCTION test.f1() returns BIGINT
+BEGIN
+ DECLARE counter BIGINT DEFAULT NULL;
+ SELECT COUNT(*) INTO counter FROM information_schema.$is_table;
+ RETURN counter;
+END//
+delimiter ;//
+
+
+# We are not interested to check the content here.
+--echo # Attention: The printing of the next result sets is disabled.
+--disable_result_log
+eval SELECT * FROM information_schema.$is_table;
+SELECT * FROM test.v1;
+CALL test.p1;
+SELECT test.f1();
+--enable_result_log
+
+DROP VIEW test.v1;
+DROP PROCEDURE test.p1;
+DROP FUNCTION test.f1;
diff --git a/mysql-test/suite/funcs_1/datadict/processlist_priv.inc b/mysql-test/suite/funcs_1/datadict/processlist_priv.inc
new file mode 100644
index 00000000000..24df7ef8948
--- /dev/null
+++ b/mysql-test/suite/funcs_1/datadict/processlist_priv.inc
@@ -0,0 +1,434 @@
+############ suite/funcs_1/datadict/processlist_priv.inc ###############
+# #
+# Testing of privileges around #
+# SELECT ... PROCESSLIST/SHOW PROCESSLIST #
+# #
+# Note(mleich): #
+# There is a significant risk to get an unstable test because of #
+# timing issues. #
+# Example1: #
+# 1. Disconnect connection X #
+# 2. Switch to connection Y #
+# 3. SHOW PROCESSLIST might present a record like #
+# <ID> <user> <host> <db> Quit 0 cleaning up NULL #
+# or even a row where connection X is without #
+# "Quit" or "cleaning up". #
+# That means our SHOW PROCESSLIST can come too early. #
+# Solution: #
+# Close the connections at the end of the test. #
+# Example2: #
+# 1. connection X: SHOW PROCESSLIST/GRANT ... etc. #
+# 2. Switch to connection Y #
+# 3. SHOW PROCESSLIST might present a record like #
+# <ID> <user> <host> <db> Query TIME cleaning up <command> #
+# <ID> <user> <host> <db> Query TIME writing to net <command> #
+# Problems happens more often in case of slow filesystem! #
+# First Solution: #
+# Insert a dummy SQL command where the cleanup is most probably #
+# fast before switching to another connection and running #
+# SHOW/SELECT PROCESSLIST. #
+# Suppress writing to protocol by assignment to $variable. #
+# let $my_var= `SELECT 1`; #
+# Even the 'SELECT 1' was in some cases in state #
+# "writing to net". #
+# Final Solution: #
+# --real_sleep 0.3 #
+# This value was at least on my box sufficient. #
+# Please inform us if this test fails so that we can adjust #
+# the sleep time better or switch to poll routines. #
+# #
+# Storage engine variants of this test do not make sense. #
+# - I_S tables use the MEMORY storage engine whenever possible. #
+# - There are some I_S table which need column data types which #
+# are not supported by MEMORY. Example: LONGTEXT/BLOB #
+# MyISAM will be used for such tables. #
+# The column PROCESSLIST.INFO is of data type LONGTEXT #
+# ----> MyISAM #
+# - There is no impact of the GLOBAL(server) or SESSION default #
+# storage engine setting on the engine used for I_S tables. #
+# That means we cannot get NDB or InnoDB instead. #
+# #
+# Creation: #
+# 2007-08 hhunger Implement this test as part of #
+# WL#3982 Test information_schema.processlist #
+# #
+# Last update: #
+# 2007-08-14 mleich Corrections #
+# #
+########################################################################
+
+# The following variables are used in "datadict_priv.inc" and here.
+#
+# information_schema table to be tested
+let $table= processlist;
+#
+# columns of the information_schema table e.g. to use in a select.
+let $columns= ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO;
+#
+# Where clause for an update.
+let $update_where= WHERE id=1 ;
+#
+# Column to be used in the SET of an update.
+let $set_column= user='any_user' ;
+#
+# Where clause of a delete.
+let $delete_where= WHERE id=1 ;
+#
+# Column to be dropped.
+let $drop_column= user;
+#
+# Column to be indexed
+let $index_col= user;
+
+USE information_schema;
+
+--echo ####################################################################################
+--echo 1 Prepare test.
+--echo connection default (user=root)
+--echo ####################################################################################
+
+--echo ####################################################################################
+--echo 1.1 Create two user
+--echo ####################################################################################
+# access to info tables as normal user
+--disable_abort_on_error
+DROP USER ddicttestuser1@'localhost';
+DROP USER ddicttestuser2@'localhost';
+--enable_abort_on_error
+CREATE USER ddicttestuser1@'localhost';
+CREATE USER ddicttestuser2@'localhost';
+SET PASSWORD FOR ddicttestuser1@'localhost' = PASSWORD('ddictpass');
+SET PASSWORD FOR ddicttestuser2@'localhost' = PASSWORD('ddictpass');
+
+--echo ####################################################################################
+--echo 1.2 Establish connection con100 (user=ddicttestuser1 with no PROCESS privilege):
+connect (con100,localhost,ddicttestuser1,ddictpass,information_schema);
+--echo ####################################################################################
+
+
+--echo ####################################################################################
+--echo 2 connection default(user=root with default privileges):
+--echo SHOW/SELECT shows all processes/threads.
+--echo ####################################################################################
+connection default;
+eval SHOW CREATE TABLE $table;
+--replace_column 1 ID 6 TIME
+eval SHOW $table;
+--replace_column 1 ID 6 TIME
+eval SELECT * FROM $table $select_where ORDER BY id;
+--replace_column 1 ID 6 TIME
+eval SELECT $columns FROM $table $select_where ORDER BY id;
+--source suite/funcs_1/datadict/datadict_priv.inc
+--real_sleep 0.3
+
+
+--echo ####################################################################################
+--echo 3 Switch to connection con100 (user=ddicttestuser1 with no PROCESS privilege):
+connection con100;
+--echo SHOW/SELECT shows only the processes (1) of the user.
+--echo ####################################################################################
+eval SHOW CREATE TABLE $table;
+--replace_column 1 ID 6 TIME
+eval SHOW $table;
+--replace_column 1 ID 6 TIME
+eval SELECT * FROM $table $select_where ORDER BY id;
+--replace_column 1 ID 6 TIME
+eval SELECT $columns FROM $table $select_where ORDER BY id;
+--source suite/funcs_1/datadict/datadict_priv.inc
+--real_sleep 0.3
+
+
+--echo ####################################################################################
+--echo 4 Grant PROCESS privilege to ddicttestuser1
+--echo connection default (user=root)
+--echo ####################################################################################
+connection default;
+GRANT PROCESS ON *.* TO ddicttestuser1@'localhost' IDENTIFIED BY 'ddictpass';
+--real_sleep 0.3
+
+--echo ####################################################################################
+--echo 4.1 Existing connection con100 (ddicttestuser1)
+--echo The user ddicttestuser1 has the PROCESS privilege, but the connection was
+--echo established before PROCESS was granted.
+--echo SHOW/SELECT shows only the processes (1) of the user.
+--echo ####################################################################################
+connection con100;
+SHOW GRANTS;
+--replace_column 1 ID 6 TIME
+SHOW processlist;
+--replace_column 1 ID 6 TIME
+SELECT * FROM information_schema.processlist;
+--real_sleep 0.3
+
+--echo ####################################################################################
+--echo 4.2 New connection con101 (ddicttestuser1 with PROCESS privilege)
+--echo SHOW/SELECT shows all processes/threads.
+--echo ####################################################################################
+connect (con101,localhost,ddicttestuser1,ddictpass,information_schema);
+SHOW GRANTS;
+--replace_column 1 ID 6 TIME
+SHOW processlist;
+--replace_column 1 ID 6 TIME
+SELECT * FROM information_schema.processlist;
+--real_sleep 0.3
+
+
+--echo ####################################################################################
+--echo 5 Grant PROCESS privilege to anonymous user.
+--echo connection default (user=root)
+--echo ####################################################################################
+connection default;
+GRANT PROCESS ON *.* TO ''@'localhost';
+--real_sleep 0.3
+
+--echo ####################################################################################
+--echo 5.1 Establish connection (anonymous1,localhost,'',,information_schema)
+--echo anonymous user with PROCESS privilege
+--echo SHOW/SELECT shows all processes/threads.
+--echo ####################################################################################
+connect (anonymous1,localhost,'',,information_schema);
+SHOW GRANTS;
+--replace_column 1 ID 6 TIME
+SHOW processlist;
+--replace_column 1 ID 6 TIME
+SELECT * FROM information_schema.processlist;
+--real_sleep 0.3
+
+
+--echo ####################################################################################
+--echo 6 Revoke PROCESS privilege from ddicttestuser1
+--echo connection default (user=root)
+--echo ####################################################################################
+connection default;
+REVOKE PROCESS ON *.* FROM ddicttestuser1@'localhost' IDENTIFIED BY 'ddictpass';
+--real_sleep 0.3
+
+--echo ####################################################################################
+--echo 6.1 New connection con102 (ddicttestuser1 has no more PROCESS privilege)
+connect (con102,localhost,ddicttestuser1,ddictpass,information_schema);
+--echo Again (compared to state before GRANT PROCESS) only the processes of
+--echo ddicttestuser1 are visible.
+--echo ####################################################################################
+SHOW GRANTS;
+--replace_column 1 ID 6 TIME
+SHOW processlist;
+--replace_column 1 ID 6 TIME
+SELECT * FROM information_schema.processlist;
+--real_sleep 0.3
+
+
+--echo ####################################################################################
+--echo 7 Revoke PROCESS privilege from anonymous user + disconnect ddicttestuser1
+--echo connection default (user=root)
+--echo ####################################################################################
+connection default;
+REVOKE PROCESS ON *.* FROM ''@'localhost';
+--real_sleep 0.3
+
+--echo ####################################################################################
+--echo 7.1 New connection (anonymous2,localhost,'',,information_schema)
+connect (anonymous2,localhost,'',,information_schema);
+--echo The anonymous user has no more the PROCESS privilege
+--echo Again only the processes of the anonymous user are visible.
+--echo ####################################################################################
+SHOW GRANTS FOR ''@'localhost';
+if ($fixed_bug_30395)
+{
+# Bug#30395 strange results after REVOKE PROCESS ON *.* FROM ...
+--replace_column 1 ID 6 TIME
+SHOW processlist;
+}
+--replace_column 1 ID 6 TIME
+SELECT * FROM information_schema.processlist;
+--real_sleep 0.3
+
+
+--echo ####################################################################################
+--echo 8 Grant SUPER (does not imply PROCESS) privilege to ddicttestuser1
+--echo connection default (user=root)
+--echo ####################################################################################
+connection default;
+GRANT SUPER ON *.* TO 'ddicttestuser1'@'localhost';
+--real_sleep 0.3
+
+--echo ####################################################################################
+--echo 8.1 New connection con103 (ddicttestuser1 with SUPER privilege)
+connect (con103,localhost,ddicttestuser1,ddictpass,information_schema);
+--echo Only the processes of ddicttestuser1 user are visible.
+--echo ####################################################################################
+SHOW GRANTS FOR 'ddicttestuser1'@'localhost';
+--replace_column 1 ID 6 TIME
+SHOW processlist;
+--replace_column 1 ID 6 TIME
+SELECT * FROM information_schema.processlist;
+--real_sleep 0.3
+
+
+--echo ####################################################################################
+--echo 9 Revoke SUPER privilege from user ddicttestuser1
+--echo connection default (user=root)
+--echo ####################################################################################
+connection default;
+REVOKE SUPER ON *.* FROM 'ddicttestuser1'@'localhost';
+--real_sleep 0.3
+
+--echo ####################################################################################
+--echo 9.1 New connection con104 (ddicttestuser1 without SUPER privilege)
+connect (con104,localhost,ddicttestuser1,ddictpass,information_schema);
+--echo ddicttestuser1 has no more the SUPER privilege.
+--echo Only the processes of ddicttestuser1 are visible.
+--echo ####################################################################################
+SHOW GRANTS FOR 'ddicttestuser1'@'localhost';
+--replace_column 1 ID 6 TIME
+SHOW processlist;
+--replace_column 1 ID 6 TIME
+SELECT * FROM information_schema.processlist;
+--real_sleep 0.3
+
+
+--echo ####################################################################################
+--echo 10 Grant SUPER privilege with grant option to user ddicttestuser1.
+--echo connection default (user=root)
+--echo ####################################################################################
+connection default;
+GRANT SUPER ON *.* TO 'ddicttestuser1'@'localhost' WITH GRANT OPTION;
+--real_sleep 0.3
+
+--echo ####################################################################################
+--echo 10.1 New connection con105 (ddicttestuser1 with SUPER privilege and GRANT OPTION)
+connect (con105,localhost,ddicttestuser1,ddictpass,information_schema);
+--echo Try to grant PROCESS privilege to user ddicttestuser2 without having it.
+--echo ####################################################################################
+SHOW GRANTS FOR 'ddicttestuser1'@'localhost';
+--error ER_ACCESS_DENIED_ERROR
+GRANT PROCESS ON *.* TO 'ddicttestuser2'@'localhost';
+
+--echo ####################################################################################
+--echo 10.2 Grant SUPER and PROCESS privilege with grant option to user ddicttestuser1
+--echo connection default (user=root)
+--echo ####################################################################################
+connection default;
+GRANT SUPER,PROCESS ON *.* TO 'ddicttestuser1'@'localhost' WITH GRANT OPTION;
+--real_sleep 0.3
+
+--echo ####################################################################################
+--echo 10.3 New connection con106 (ddicttestuser1 with SUPER,PROCESS WITH GRANT OPTION)
+connect (con106,localhost,ddicttestuser1,ddictpass,information_schema);
+--echo Grant PROCESS privilege to user ddicttestuser2
+--echo ####################################################################################
+SHOW GRANTS FOR 'ddicttestuser1'@'localhost';
+GRANT PROCESS ON *.* TO 'ddicttestuser2'@'localhost';
+--real_sleep 0.3
+
+--echo ####################################################################################
+--echo 10.4 New connection con200 (ddicttestuser2 with PROCESS privilege)
+connect (con200,localhost,ddicttestuser2,ddictpass,information_schema);
+--echo ddicttestuser2 has now the PROCESS privilege and sees all connections
+--echo ####################################################################################
+SHOW GRANTS FOR 'ddicttestuser2'@'localhost';
+--replace_column 1 ID 6 TIME
+SHOW processlist;
+--replace_column 1 ID 6 TIME
+SELECT * FROM information_schema.processlist;
+--real_sleep 0.3
+
+
+--echo ####################################################################################
+--echo 11 User ddicttestuser1 revokes PROCESS privilege from user ddicttestuser2
+--echo connection ddicttestuser1;
+--echo ####################################################################################
+connection con106;
+REVOKE PROCESS ON *.* FROM 'ddicttestuser2'@'localhost';
+--real_sleep 0.3
+
+--echo ####################################################################################
+--echo 11.1 New connection con201 (ddicttestuser2)
+connect (con201,localhost,ddicttestuser2,ddictpass,information_schema);
+--echo ddicttestuser2 has no more the PROCESS privilege and can only see own connects
+--echo ####################################################################################
+SHOW GRANTS;
+--replace_column 1 ID 6 TIME
+SHOW processlist;
+--replace_column 1 ID 6 TIME
+SELECT * FROM information_schema.processlist;
+--real_sleep 0.3
+
+--echo ####################################################################################
+--echo 11.2 Revoke SUPER,PROCESS,GRANT OPTION privilege from user ddicttestuser1
+--echo connection default (user=root)
+--echo ####################################################################################
+connection default;
+REVOKE SUPER,PROCESS,GRANT OPTION ON *.* FROM 'ddicttestuser1'@'localhost';
+--real_sleep 0.3
+
+--echo ####################################################################################
+--echo 11.3 New connection con107 (ddicttestuser1)
+connect (con107,localhost,ddicttestuser1,ddictpass,information_schema);
+--echo ddicttestuser1 has no more the PROCESS privilege and can only see own connects
+--echo He is also unable to GRANT the PROCESS privilege to ddicttestuser2
+--echo ####################################################################################
+SHOW GRANTS FOR 'ddicttestuser1'@'localhost';
+--error ER_ACCESS_DENIED_ERROR
+GRANT PROCESS ON *.* TO 'ddicttestuser2'@'localhost';
+--replace_column 1 ID 6 TIME
+SHOW processlist;
+--replace_column 1 ID 6 TIME
+SELECT * FROM information_schema.processlist;
+--real_sleep 0.3
+
+
+--echo ####################################################################################
+--echo 12 Revoke the SELECT privilege from user ddicttestuser1
+--echo connection default (user=root)
+--echo ####################################################################################
+connection default;
+REVOKE SELECT ON *.* FROM 'ddicttestuser1'@'localhost';
+--real_sleep 0.3
+
+--echo ####################################################################################
+--echo 12.1 New connection con108 (ddicttestuser1)
+connect (con108,localhost,ddicttestuser1,ddictpass,information_schema);
+--echo ddicttestuser1 has neither PROCESS nor SELECT privilege
+--echo Manual says: Each MySQL user has the right to access these tables, but can see
+--echo only the rows ...
+--echo Therefore the missing SELECT privilege does not affect SELECTs on PROCESSLIST.
+--echo ####################################################################################
+SHOW GRANTS FOR 'ddicttestuser1'@'localhost';
+--replace_column 1 ID 6 TIME
+SHOW processlist;
+--replace_column 1 ID 6 TIME
+SELECT * FROM information_schema.processlist;
+--real_sleep 0.3
+
+--echo ####################################################################################
+--echo 12.2 Revoke only the SELECT privilege on the information_schema from ddicttestuser1.
+--echo connection default (user=root)
+--echo ####################################################################################
+connection default;
+--error ER_DBACCESS_DENIED_ERROR
+REVOKE SELECT ON information_schema.* FROM 'ddicttestuser3'@'localhost';
+--real_sleep 0.3
+
+
+--echo ####################################################################################
+--echo connection default (user=root)
+--echo Cleanup: close connections, DROP USER etc.
+--echo ####################################################################################
+connection default;
+disconnect con100;
+disconnect con101;
+disconnect con102;
+disconnect con103;
+disconnect con104;
+disconnect con105;
+disconnect con106;
+disconnect con107;
+disconnect con108;
+disconnect con200;
+disconnect con201;
+disconnect anonymous1;
+disconnect anonymous2;
+DROP USER ddicttestuser1@'localhost';
+DROP USER ddicttestuser2@'localhost';
+REVOKE USAGE ON *.* FROM ''@'localhost';
+DROP USER ''@'localhost';
diff --git a/mysql-test/suite/funcs_1/datadict/processlist_val.inc b/mysql-test/suite/funcs_1/datadict/processlist_val.inc
new file mode 100644
index 00000000000..9923190edac
--- /dev/null
+++ b/mysql-test/suite/funcs_1/datadict/processlist_val.inc
@@ -0,0 +1,309 @@
+########### suite/funcs_1/datadict/processlist_val.inc #################
+# #
+# Testing of values within INFORMATION_SCHEMA.PROCESSLIST #
+# #
+# Ensure that the values fit to the current event of the connection #
+# and especially that they change if a connection does nothing or #
+# runs some SQL. #
+# Examples: #
+# - change the default database #
+# - send some time no SQL command to the server #
+# - send a long running query #
+# #
+# Note(mleich): #
+# 1. Please inform me if this test fails because of timing problems. #
+# I tried to avoid instabilities but the values within the column #
+# TIME are very sensible to fluctuations of the machine load. #
+# I had to unify some TIME values with "--replace_result" in cases #
+# where they are too unstable. #
+# 2. Storage engine variants of this test do not make sense. #
+# - I_S tables use the MEMORY storage engine whenever possible. #
+# - There are some I_S table which need column data types which #
+# are not supported by MEMORY. Example: LONGTEXT/BLOB #
+# MyISAM will be used for such tables. #
+# The column PROCESSLIST.INFO is of data type LONGTEXT #
+# ----> MyISAM #
+# - There is no impact of the GLOBAL(server) or SESSION default #
+# storage engine setting on the engine used for I_S tables. #
+# That means we cannot get NDB or InnoDB instead. #
+# 3. The SHOW (FULL) PROCESSLIST command are for comparison. #
+# The main test target is INFORMATION_SCHEMA.PROCESSLIST ! #
+# #
+# Creation: #
+# 2007-08-09 mleich Implement this test as part of #
+# WL#3982 Test information_schema.processlist #
+# 2008-01-05 HHunger Changed time test and long statement test. #
+# It could happen that the long statement test #
+# fail due to timing problems. # # #
+########################################################################
+
+# Basic preparations
+--disable_abort_on_error
+DROP USER ddicttestuser1@'localhost';
+--enable_abort_on_error
+CREATE USER ddicttestuser1@'localhost';
+GRANT ALL ON *.* TO ddicttestuser1@'localhost';
+REVOKE PROCESS ON *.* FROM ddicttestuser1@'localhost';
+SET PASSWORD FOR ddicttestuser1@'localhost' = PASSWORD('ddictpass');
+--disable_warnings
+DROP TABLE IF EXISTS test.t1;
+--enable_warnings
+CREATE TABLE test.t1 (f1 BIGINT);
+
+
+# Show the definition of the PROCESSLIST table
+#--------------------------------------------------------------------------
+SHOW CREATE TABLE INFORMATION_SCHEMA.PROCESSLIST;
+
+
+# Ensure that the values follow the changing default database and statement
+#--------------------------------------------------------------------------
+# - We have now exact one connection. -> One record
+SELECT COUNT(*) FROM INFORMATION_SCHEMA.PROCESSLIST;
+# - Other expected values
+# - USER = 'root'
+# - HOST = 'localhost'
+# - DB = 'test'
+# - Command = 'Query'
+# - TIME = 0, I hope the testing machines are all time fast enough
+# - State IS NULL
+# - INFO must contain the corresponding SHOW/SELECT PROCESSLIST
+USE test;
+--replace_column 1 <ID>
+SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
+--replace_column 1 <ID>
+SHOW FULL PROCESSLIST;
+#
+# Expect to see now DB = 'information_schema'
+USE information_schema;
+--replace_column 1 <ID> 6 <TIME>
+SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
+--replace_column 1 <ID> 6 <TIME>
+SHOW FULL PROCESSLIST;
+#
+# Expect to see now INFO = 'SELECT INFO FROM INFORMATION_SCHEMA.PROCESSLIST;'
+SELECT INFO FROM INFORMATION_SCHEMA.PROCESSLIST;
+
+
+# Ensure that the values for an additional connection are correct
+#--------------------------------------------------------------------------
+SELECT ID INTO @my_proclist_id FROM INFORMATION_SCHEMA.PROCESSLIST;
+--echo
+--echo ----- establish connection ddicttestuser1 (user = ddicttestuser1) -----
+connect (ddicttestuser1,localhost,ddicttestuser1,ddictpass,information_schema);
+#
+--echo
+--echo ----- switch to connection default (user = root) -----
+connection default;
+# - We have now a second connection.
+# First working phase for this connection is "Connect".
+# This is a very short phase and the likelihood to meet it is
+# - nearly zero on average boxes with low parallel load
+# - around some percent on weak or overloaded boxes
+# (Bug#32153 Status output differs - scheduling ?)
+# Therefore we poll till we reach the long lasting phase with:
+# - USER = ddicttestuser1
+# - HOST = 'localhost'
+# - DB = 'information_schema'
+# - Command = 'Sleep'
+# - TIME >= 0 Overloaded boxes can cause that we do not hit TIME = 0.
+# - State IS NULL
+# - INFO must be empty
+#
+let $wait_condition= SELECT id,user,host,db,command,@time:=time,state,info FROM INFORMATION_SCHEMA.PROCESSLIST
+ WHERE COMMAND = 'Sleep' AND TIME > 0;
+--source include/wait_condition.inc
+#
+# Expect to hit TIME > 1.
+SELECT @time > 0;
+#
+--echo # Sleep some time
+# The value of TIME must increase and reach 2 after some sleeps.
+let $wait_timeout= 4;
+let $wait_condition= SELECT id,user,host,db,command,@time2:=time,state,info FROM INFORMATION_SCHEMA.PROCESSLIST
+ WHERE TIME > @time;
+--source include/wait_condition.inc
+#
+# Expect to hit TIME > @time
+SELECT @time < @time2;
+#
+#
+# The second connection must have an ID = my ID + 1;
+SELECT ID = @my_proclist_id + 1 FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE USER = 'ddicttestuser1';
+
+
+# Ensure that the user ddicttestuser1 sees only connections with his username
+# because he has not the PROCESS privilege.
+#----------------------------------------------------------------------------
+--echo
+--echo ----- switch to connection ddicttestuser1 (user = ddicttestuser1) -----
+connection ddicttestuser1;
+--replace_column 1 <ID> 6 <TIME>
+SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
+--replace_column 1 <ID> 6 <TIME>
+SHOW FULL PROCESSLIST;
+
+
+# Ensure that the user ddicttestuser1 sees all connections with his username.
+#----------------------------------------------------------------------------
+--echo
+--echo ----- establish connection con2 (user = ddicttestuser1) ------
+connect (con2,localhost,ddicttestuser1,ddictpass,information_schema);
+#
+# If the testing box is under heavy load we might see connection ddicttestuser1
+# within the short phase INFO = 'SHOW FULL PROCESSLIST' and STATE = 'Writing to net'.
+let $wait_condition= SELECT COUNT(*) FROM INFORMATION_SCHEMA.PROCESSLIST
+ WHERE COMMAND = 'Sleep';
+--source include/wait_condition.inc
+--replace_column 1 <ID> 6 <TIME>
+SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
+--replace_column 1 <ID> 6 <TIME>
+SHOW FULL PROCESSLIST;
+#
+--echo
+--echo ----- switch to connection default (user = root) -----
+connection default;
+--echo ----- close connection con2 -----
+disconnect con2;
+
+
+# Ensure we see correct values if a connection is during work
+#----------------------------------------------------------------------------
+--echo
+--echo ----- switch to connection ddicttestuser1 (user = ddicttestuser1) -----
+connection ddicttestuser1;
+# "Organise" a long running command to be observed by the root user
+--echo
+--echo
+--echo # Send a long enough running statement to the server, but do not
+--echo # wait till the result comes back. We will pull this later.
+send SELECT sleep(2.5),'Command time';
+#
+--echo
+--echo ----- switch to connection default (user = root) -----
+connection default;
+# Sleep a bit so that we can be nearly sure that we see the SELECT of ddicttestuser1.
+# Expect to see within the processlist the other connection just during statement
+# execution.
+# - USER = ddicttestuser1
+# - HOST = 'localhost'
+# - DB = 'information_schema'
+# - Command = 'Query'(run without --ps-protocol)/'Execute' (run --ps-protocol)
+# - TIME = 1, Attention: check with TIME = 0 is not stable
+# - State IS NULL
+# - INFO = "SELECT sleep(2.5),'Command time'"
+--echo # Sleep some time
+# The command must be after some time in work by the server.
+# So poll till INFO is no more NULL and TIME > 0.
+let $wait_condition= SELECT id,user,host,db,command,@time:=time,state,info FROM INFORMATION_SCHEMA.PROCESSLIST
+ WHERE INFO IS NOT NULL AND TIME > 0;
+--source include/wait_condition.inc
+#
+# Expect to see TIME > 0;
+SELECT @time > 0;
+#
+--echo # Sleep some time
+# The value of TIME must increase and reach 2 after some sleeps.
+let $wait_timeout= 2;
+let $wait_condition= SELECT id,user,host,db,command,@time2:=time,state,info FROM INFORMATION_SCHEMA.PROCESSLIST
+ WHERE TIME > @time;
+--source include/wait_condition.inc
+#
+# Expect to see @time < @time2
+SELECT @time < @time2;
+#
+--echo
+--echo ----- switch to connection ddicttestuser1 (user = ddicttestuser1) -----
+connection ddicttestuser1;
+--echo # Pull("reap") the result set from the statement executed with "send".
+reap;
+
+
+# Ensure that SHOW/SELECT processlist can handle extreme long commands
+#----------------------------------------------------------------------------
+--echo
+--echo
+--echo # Send a long (21 KB code and runtime = 2 seconds) statement to the server,
+--echo # but do not wait till the result comes back. We will pull this later.
+# Please do not change the next statement.
+# The annoying long line is intended. Many short lines would be a different test.
+send SELECT sleep(2),'BEGIN this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.END' AS "my_monster_statement";
+#
+--echo
+--echo ----- switch to connection default (user = root) -----
+connection default;
+--echo # Sleep some time
+# The command must be after some time in work by the server.
+# There is a short phase with STATE IS NULL followed by a longer phase
+# with STATE = 'executing'.
+# So poll till INFO is no more NULL AND STATE = 'executing'.
+let $wait_timeout= 9;
+let $wait_condition= SELECT COUNT(*) FROM INFORMATION_SCHEMA.PROCESSLIST
+ WHERE INFO IS NOT NULL AND STATE = 'executing';
+--source include/wait_condition.inc
+#
+# Expect to see that SELECT/SHOW PROCESSLIST can handle my statement monster.
+--replace_column 1 <ID> 5 <COMMAND> 6 <TIME> 7 <STATE>
+SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
+--replace_column 1 <ID> 5 <COMMAND> 6 <TIME> 7 <STATE>
+SHOW FULL PROCESSLIST;
+# SHOW PROCESSLIST truncates INFO after 100 characters.
+--replace_column 1 <ID> 5 <COMMAND> 6 <TIME> 7 <STATE>
+SHOW PROCESSLIST;
+--echo
+--echo ----- switch to connection ddicttestuser1 (user = ddicttestuser1) -----
+connection ddicttestuser1;
+--echo # Pull("reap") the result set from the monster statement executed with "send".
+reap;
+
+# Ensure that we see that a connection "hangs" when colliding with a
+# WRITE TABLE LOCK
+#----------------------------------------------------------------------------
+--echo
+--echo ----- switch to connection default (user = root) -----
+connection default;
+LOCK TABLE test.t1 WRITE;
+#
+--echo
+--echo ----- switch to connection ddicttestuser1 (user = ddicttestuser1) -----
+connection ddicttestuser1;
+--echo # Send a statement to the server, but do not wait till the result
+--echo # comes back. We will pull this later.
+send SELECT COUNT(*) FROM test.t1;
+#
+--echo
+--echo ----- switch to connection default (user = root) -----
+connection default;
+--echo # Sleep some time
+# The command must be after some time in work by the server.
+# So poll till INFO is no more NULL.
+let $wait_timeout= 4;
+let $wait_condition= SELECT COUNT(*) FROM INFORMATION_SCHEMA.PROCESSLIST
+ WHERE INFO IS NOT NULL AND STATE = 'Locked';
+--source include/wait_condition.inc
+#
+# Expect to see the state 'Locked' for the second connection because the SELECT
+# collides with the WRITE TABLE LOCK.
+--replace_column 1 <ID> 6 <TIME>
+SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
+--replace_column 1 <ID> 6 <TIME>
+SHOW FULL PROCESSLIST;
+UNLOCK TABLES;
+#
+--echo
+--echo ----- switch to connection ddicttestuser1 (user = ddicttestuser1) -----
+connection ddicttestuser1;
+--echo # Pull("reap") the result set from the statement executed with "send".
+reap;
+
+
+# Cleanup
+--echo
+--echo ----- switch to connection default (user = root) -----
+connection default;
+--echo
+--echo ----- close connection ddicttestuser1 -----
+disconnect ddicttestuser1;
+DROP USER ddicttestuser1@'localhost';
+DROP TABLE test.t1;
diff --git a/mysql-test/suite/funcs_1/datadict/statistics.inc b/mysql-test/suite/funcs_1/datadict/statistics.inc
new file mode 100644
index 00000000000..00fd7a1b06b
--- /dev/null
+++ b/mysql-test/suite/funcs_1/datadict/statistics.inc
@@ -0,0 +1,55 @@
+# suite/funcs_1/datadict/statistics.inc
+#
+# Auxiliary script to be sourced by
+# is_statistics_is
+# is_statistics_mysql
+# is_statistics_<engine>
+#
+# Purpose:
+# Check the content of information_schema.statistics about tables within the
+# database '$database'.
+#
+# Usage:
+# The variable $database has to be set before sourcing this script.
+# Example:
+# let $database = db_data;
+#
+# 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.
+#
+
+--source suite/funcs_1/datadict/datadict.pre
+
+--disable_warnings
+DROP DATABASE IF EXISTS db_datadict;
+--enable_warnings
+CREATE DATABASE db_datadict;
+
+# Create a low privileged user.
+# Note: The database db_datadict is just a "home" for the low privileged user
+# and not in the focus of testing.
+--error 0,ER_CANNOT_USER
+DROP USER testuser1@localhost;
+CREATE USER testuser1@localhost;
+GRANT SELECT ON db_datadict.* TO testuser1@localhost;
+
+let $my_select = SELECT * FROM information_schema.statistics
+$my_where
+ORDER BY table_schema, table_name, index_name, seq_in_index, column_name;
+--replace_column 10 #CARD#
+eval $my_select;
+
+--echo # Establish connection testuser1 (user=testuser1)
+--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
+connect (testuser1,localhost,testuser1,,db_datadict);
+--replace_column 10 #CARD#
+eval $my_select;
+
+--echo # Switch to connection default and close connection testuser1
+connection default;
+disconnect testuser1;
+DROP USER testuser1@localhost;
+DROP DATABASE db_datadict;
+
diff --git a/mysql-test/suite/funcs_1/datadict/table_constraints.inc b/mysql-test/suite/funcs_1/datadict/table_constraints.inc
new file mode 100644
index 00000000000..9e57976862b
--- /dev/null
+++ b/mysql-test/suite/funcs_1/datadict/table_constraints.inc
@@ -0,0 +1,45 @@
+# suite/funcs_1/datadict/table_constraints.inc
+#
+# Auxiliary script to be sourced by
+# suite/funcs_1/t/is_table_constraints_mysql.test
+# suite/funcs_1/t/is_table_constraints_is.test
+#
+# The variable
+# $table_schema database to be inspected
+# has to be set before sourcing this script.
+#
+# 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.
+#
+
+--disable_warnings
+DROP DATABASE IF EXISTS db_datadict;
+--enable_warnings
+CREATE DATABASE db_datadict;
+
+# Create a low privileged user.
+# Note: The database db_datadict is just a "home" for the low privileged user
+# and not in the focus of testing.
+--error 0,ER_CANNOT_USER
+DROP USER testuser1@localhost;
+CREATE USER testuser1@localhost;
+GRANT SELECT ON db_datadict.* TO testuser1@localhost;
+
+let $my_select = SELECT * FROM information_schema.table_constraints
+WHERE table_schema = '$table_schema'
+ORDER BY table_schema,table_name,constraint_name;
+eval $my_select;
+
+--echo # Establish connection testuser1 (user=testuser1)
+--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
+connect (testuser1,localhost,testuser1,,db_datadict);
+eval $my_select;
+
+--echo # Switch to connection default and close connection testuser1
+connection default;
+disconnect testuser1;
+DROP USER testuser1@localhost;
+DROP DATABASE db_datadict;
+
diff --git a/mysql-test/suite/funcs_1/datadict/tables1.inc b/mysql-test/suite/funcs_1/datadict/tables1.inc
new file mode 100644
index 00000000000..a03304028f6
--- /dev/null
+++ b/mysql-test/suite/funcs_1/datadict/tables1.inc
@@ -0,0 +1,39 @@
+# suite/funcs_1/datadict/tables1.inc
+#
+# Auxiliary script to be sourced by
+# is_tables_mysql.test
+# is_tables_is.test
+# is_tables_<engine>.test
+#
+# 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.
+#
+
+--disable_warnings
+DROP DATABASE IF EXISTS db_datadict;
+--enable_warnings
+CREATE DATABASE db_datadict;
+
+--source suite/funcs_1/datadict/tables2.inc
+
+# Create a low privileged user.
+# Note: The database db_datadict is just a "home" for the low privileged user
+# and not in the focus of testing.
+--error 0,ER_CANNOT_USER
+DROP USER testuser1@localhost;
+CREATE USER testuser1@localhost;
+GRANT SELECT ON db_datadict.* TO testuser1@localhost;
+
+--echo # Establish connection testuser1 (user=testuser1)
+--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
+connect (testuser1,localhost,testuser1,,db_datadict);
+--source suite/funcs_1/datadict/tables2.inc
+
+--echo # Switch to connection default and close connection testuser1
+connection default;
+disconnect testuser1;
+DROP USER testuser1@localhost;
+DROP DATABASE db_datadict;
+
diff --git a/mysql-test/suite/funcs_1/datadict/tables2.inc b/mysql-test/suite/funcs_1/datadict/tables2.inc
new file mode 100644
index 00000000000..1066e52f8f0
--- /dev/null
+++ b/mysql-test/suite/funcs_1/datadict/tables2.inc
@@ -0,0 +1,47 @@
+# suite/funcs_1/datadict/tables2.inc
+#
+# Auxiliary script to be sourced by suite/funcs_1/datadict/tables1.inc.
+#
+# 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.
+#
+################################################################################
+
+# 8 TABLE_ROWS
+# 9 AVG_ROW_LENGTH
+# 10 DATA_LENGTH
+# 11 MAX_DATA_LENGTH
+# 12 INDEX_LENGTH
+# 13 DATA_FREE
+# 15 CREATE_TIME
+# 16 UPDATE_TIME
+# 17 CHECK_TIME
+# 20 CREATE_OPTIONS
+# 21 TABLE_COMMENT User defined comment
+# + InnoDB
+# + NDB: "number_of_replicas: <number>" appended
+# + InnoDB: "InnoDB free: <number_kB> kB" appended
+# <number_kB> depends on tablespace history!
+# The LEFT/INSTR/IF/LENGTH stuff should remove these
+# storage engine specific part.
+let $innodb_pattern = 'InnoDB free';
+let $ndb_pattern = 'number_of_replicas';
+--vertical_results
+--replace_column 8 "#TBLR#" 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "#CRT#" 16 "#UT#" 17 "#CT#" 20 "#CO#" 21 "#TC#"
+eval
+SELECT *,
+ LEFT( table_comment,
+ IF(INSTR(table_comment,$innodb_pattern) = 0
+ AND INSTR(table_comment,$ndb_pattern) = 0,
+ LENGTH(table_comment),
+ INSTR(table_comment,$innodb_pattern)
+ + INSTR(table_comment,$ndb_pattern) - 1))
+ AS "user_comment",
+ '-----------------------------------------------------' AS "Separator"
+FROM information_schema.tables
+$my_where
+ORDER BY table_schema,table_name;
+--horizontal_results
+
diff --git a/mysql-test/suite/funcs_1/include/cleanup.inc b/mysql-test/suite/funcs_1/include/cleanup.inc
new file mode 100644
index 00000000000..ef8b8f01cfa
--- /dev/null
+++ b/mysql-test/suite/funcs_1/include/cleanup.inc
@@ -0,0 +1,21 @@
+# suite/funcs_1/include/cleanup.inc
+#
+# Remove all objects created by sourcing
+# suite/funcs_1/datadict/datadict_load.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;
+DROP TABLE test.tb1;
+DROP TABLE test.tb2;
+DROP TABLE test.tb3;
+DROP TABLE test.tb4;
+
diff --git a/mysql-test/suite/funcs_1/include/create_database.inc b/mysql-test/suite/funcs_1/include/create_database.inc
deleted file mode 100644
index aa11d936aa3..00000000000
--- a/mysql-test/suite/funcs_1/include/create_database.inc
+++ /dev/null
@@ -1,6 +0,0 @@
-##### suite/funcs_1/include/create_database.inc
-
---disable_warnings
-eval DROP DATABASE IF EXISTS $new_database;
---enable_warnings
-eval CREATE DATABASE $new_database;
diff --git a/mysql-test/suite/funcs_1/include/create_user_lowest_priv.inc b/mysql-test/suite/funcs_1/include/create_user_lowest_priv.inc
deleted file mode 100644
index d9ec367b524..00000000000
--- a/mysql-test/suite/funcs_1/include/create_user_lowest_priv.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-##### suite/funcs_1/include/create_user_no_priv.inc
-#
-# $new_user must contain the name (with @<host> if necessary)
-#
-
---error 0,1396
-eval DROP USER $new_user;
-eval CREATE USER $new_user identified by 'PWD';
-# Just to be sure
-eval REVOKE ALL PRIVILEGES, GRANT OPTION FROM $new_user;
diff --git a/mysql-test/suite/funcs_1/include/create_user_no_super.inc b/mysql-test/suite/funcs_1/include/create_user_no_super.inc
deleted file mode 100644
index 0de923bf98b..00000000000
--- a/mysql-test/suite/funcs_1/include/create_user_no_super.inc
+++ /dev/null
@@ -1,11 +0,0 @@
-##### suite/funcs_1/include/create_user_no_super.inc
-#
-# $new_user must contain the name (with @<host> if necessary)
-# of the user to be created
-
---error 0,1396
-eval DROP USER $new_user;
-eval CREATE USER $new_user identified by 'PWD';
-
-eval GRANT ALL ON *.* TO $new_user WITH GRANT OPTION;
-eval REVOKE SUPER ON *.* FROM $new_user;
diff --git a/mysql-test/suite/funcs_1/include/innodb_tb1.inc b/mysql-test/suite/funcs_1/include/innodb_tb1.inc
index 115d8b6318d..4fede496478 100644
--- a/mysql-test/suite/funcs_1/include/innodb_tb1.inc
+++ b/mysql-test/suite/funcs_1/include/innodb_tb1.inc
@@ -4,66 +4,67 @@
drop table if exists tb1 ;
--enable_warnings
create table tb1 (
-f1 char(0),
-f2 char(0) binary,
-f3 char(0) ascii,
-f4 tinytext unicode,
-f5 text,
-f6 mediumtext,
-f7 longtext,
-f8 tinyblob,
+f1 char(0),
+f2 char(0) binary,
+f3 char(0) ascii,
+f4 tinytext unicode,
+f5 text,
+f6 mediumtext,
+f7 longtext,
+f8 tinyblob,
f9 blob,
-f10 mediumblob,
-f11 longblob,
-f12 binary,
-f13 tinyint,
-f14 tinyint unsigned,
-f15 tinyint zerofill,
-f16 tinyint unsigned zerofill,
-f17 smallint,
-f18 smallint unsigned,
-f19 smallint zerofill,
-f20 smallint unsigned zerofill,
-f21 mediumint,
-f22 mediumint unsigned,
-f23 mediumint zerofill,
-f24 mediumint unsigned zerofill,
-f25 int,
-f26 int unsigned,
-f27 int zerofill,
-f28 int unsigned zerofill,
-f29 bigint,
-f30 bigint unsigned,
-f31 bigint zerofill,
-f32 bigint unsigned zerofill,
-f33 decimal,
-f34 decimal unsigned,
-f35 decimal zerofill,
-f36 decimal unsigned zerofill not null DEFAULT 9.9,
-f37 decimal (0) not null DEFAULT 9.9,
-f38 decimal (64) not null DEFAULT 9.9,
-f39 decimal (0) unsigned not null DEFAULT 9.9,
-f40 decimal (64) unsigned not null DEFAULT 9.9,
-f41 decimal (0) zerofill not null DEFAULT 9.9,
-f42 decimal (64) zerofill not null DEFAULT 9.9,
-f43 decimal (0) unsigned zerofill not null DEFAULT 9.9,
-f44 decimal (64) unsigned zerofill not null DEFAULT 9.9,
-f45 decimal (0,0) not null DEFAULT 9.9,
-f46 decimal (63,30) not null DEFAULT 9.9,
-f47 decimal (0,0) unsigned not null DEFAULT 9.9,
-f48 decimal (63,30) unsigned not null DEFAULT 9.9,
-f49 decimal (0,0) zerofill not null DEFAULT 9.9,
-f50 decimal (63,30) zerofill not null DEFAULT 9.9,
-f51 decimal (0,0) unsigned zerofill not null DEFAULT 9.9,
-f52 decimal (63,30) unsigned zerofill not null DEFAULT 9.9,
-f53 numeric not null DEFAULT 99,
-f54 numeric unsigned not null DEFAULT 99,
-f55 numeric zerofill not null DEFAULT 99,
-f56 numeric unsigned zerofill not null DEFAULT 99,
-f57 numeric (0) not null DEFAULT 99,
+f10 mediumblob,
+f11 longblob,
+f12 binary,
+f13 tinyint,
+f14 tinyint unsigned,
+f15 tinyint zerofill,
+f16 tinyint unsigned zerofill,
+f17 smallint,
+f18 smallint unsigned,
+f19 smallint zerofill,
+f20 smallint unsigned zerofill,
+f21 mediumint,
+f22 mediumint unsigned,
+f23 mediumint zerofill,
+f24 mediumint unsigned zerofill,
+f25 int,
+f26 int unsigned,
+f27 int zerofill,
+f28 int unsigned zerofill,
+f29 bigint,
+f30 bigint unsigned,
+f31 bigint zerofill,
+f32 bigint unsigned zerofill,
+f33 decimal,
+f34 decimal unsigned,
+f35 decimal zerofill,
+f36 decimal unsigned zerofill not null DEFAULT 9.9,
+f37 decimal (0) not null DEFAULT 9.9,
+f38 decimal (64) not null DEFAULT 9.9,
+f39 decimal (0) unsigned not null DEFAULT 9.9,
+f40 decimal (64) unsigned not null DEFAULT 9.9,
+f41 decimal (0) zerofill not null DEFAULT 9.9,
+f42 decimal (64) zerofill not null DEFAULT 9.9,
+f43 decimal (0) unsigned zerofill not null DEFAULT 9.9,
+f44 decimal (64) unsigned zerofill not null DEFAULT 9.9,
+f45 decimal (0,0) not null DEFAULT 9.9,
+f46 decimal (63,30) not null DEFAULT 9.9,
+f47 decimal (0,0) unsigned not null DEFAULT 9.9,
+f48 decimal (63,30) unsigned not null DEFAULT 9.9,
+f49 decimal (0,0) zerofill not null DEFAULT 9.9,
+f50 decimal (63,30) zerofill not null DEFAULT 9.9,
+f51 decimal (0,0) unsigned zerofill not null DEFAULT 9.9,
+f52 decimal (63,30) unsigned zerofill not null DEFAULT 9.9,
+f53 numeric not null DEFAULT 99,
+f54 numeric unsigned not null DEFAULT 99,
+f55 numeric zerofill not null DEFAULT 99,
+f56 numeric unsigned zerofill not null DEFAULT 99,
+f57 numeric (0) not null DEFAULT 99,
f58 numeric (64) not null DEFAULT 99
) engine = innodb;
-
---replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
-eval load data infile '$MYSQL_TEST_DIR/suite/funcs_1/data/innodb_tb1.txt' into table tb1 ;
+--replace_result $MYSQLTEST_VARDIR <MYSQLTEST_VARDIR>
+eval
+load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/innodb_tb1.txt'
+into table tb1;
diff --git a/mysql-test/suite/funcs_1/include/innodb_tb2.inc b/mysql-test/suite/funcs_1/include/innodb_tb2.inc
index 99c09c1d963..b9a0910a0af 100644
--- a/mysql-test/suite/funcs_1/include/innodb_tb2.inc
+++ b/mysql-test/suite/funcs_1/include/innodb_tb2.inc
@@ -4,58 +4,60 @@
drop table if exists tb2 ;
--enable_warnings
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",
+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 = innodb;
---replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
-eval load data infile '$MYSQL_TEST_DIR/suite/funcs_1/data/innodb_tb2.txt' into table tb2 ;
+--replace_result $MYSQLTEST_VARDIR <MYSQLTEST_VARDIR>
+eval
+load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/innodb_tb2.txt'
+into table tb2;
diff --git a/mysql-test/suite/funcs_1/include/innodb_tb3.inc b/mysql-test/suite/funcs_1/include/innodb_tb3.inc
index d8397b2b581..b8562d7acf2 100644
--- a/mysql-test/suite/funcs_1/include/innodb_tb3.inc
+++ b/mysql-test/suite/funcs_1/include/innodb_tb3.inc
@@ -4,65 +4,67 @@
drop table if exists tb3 ;
--enable_warnings
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 tinytext,
-f122 text,
-f123 mediumtext,
-f124 longtext unicode,
-f125 tinyblob,
-f126 blob,
-f127 mediumblob,
-f128 longblob,
-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)
+f118 char not null DEFAULT 'a',
+f119 char binary not null DEFAULT b'101',
+f120 char ascii not null DEFAULT b'101',
+f121 tinytext,
+f122 text,
+f123 mediumtext,
+f124 longtext unicode,
+f125 tinyblob,
+f126 blob,
+f127 mediumblob,
+f128 longblob,
+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 = innodb;
---replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
-eval load data infile '$MYSQL_TEST_DIR/suite/funcs_1/data/innodb_tb3.txt' into table tb3 ;
+--replace_result $MYSQLTEST_VARDIR <MYSQLTEST_VARDIR>
+eval
+load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/innodb_tb3.txt'
+into table tb3;
diff --git a/mysql-test/suite/funcs_1/include/innodb_tb4.inc b/mysql-test/suite/funcs_1/include/innodb_tb4.inc
index 2cff9e57075..ef8fc240eca 100644
--- a/mysql-test/suite/funcs_1/include/innodb_tb4.inc
+++ b/mysql-test/suite/funcs_1/include/innodb_tb4.inc
@@ -4,56 +4,56 @@
drop table if exists tb4;
--enable_warnings
create table tb4 (
-f176 numeric (0) unsigned not null DEFAULT 9,
-f177 numeric (64) unsigned not null DEFAULT 9,
-f178 numeric (0) zerofill not null DEFAULT 9,
-f179 numeric (64) zerofill not null DEFAULT 9,
-f180 numeric (0) unsigned zerofill not null DEFAULT 9,
-f181 numeric (64) unsigned zerofill not null DEFAULT 9,
-f182 numeric (0,0) not null DEFAULT 9,
-f183 numeric (63,30) not null DEFAULT 9,
-f184 numeric (0,0) unsigned not null DEFAULT 9,
-f185 numeric (63,30) unsigned not null DEFAULT 9,
-f186 numeric (0,0) zerofill not null DEFAULT 9,
-f187 numeric (63,30) zerofill not null DEFAULT 9,
-f188 numeric (0,0) unsigned zerofill not null DEFAULT 9,
-f189 numeric (63,30) unsigned zerofill not null DEFAULT 9,
-f190 real not null DEFAULT 88.8,
-f191 real unsigned not null DEFAULT 88.8,
-f192 real zerofill not null DEFAULT 88.8,
-f193 real unsigned zerofill not null DEFAULT 88.8,
-f194 double not null DEFAULT 55.5,
-f195 double unsigned not null DEFAULT 55.5,
-f196 double zerofill not null DEFAULT 55.5,
-f197 double unsigned zerofill not null DEFAULT 55.5,
-f198 float,
-f199 float unsigned,
-f200 float zerofill,
-f201 float unsigned zerofill,
-f202 float(0),
-f203 float(23),
-f204 float(0) unsigned,
-f205 float(23) unsigned,
-f206 float(0) zerofill,
-f207 float(23) zerofill,
-f208 float(0) unsigned zerofill,
-f209 float(23) unsigned zerofill,
-f210 float(24),
-f211 float(53),
-f212 float(24) unsigned,
-f213 float(53) unsigned,
-f214 float(24) zerofill,
-f215 float(53) zerofill,
-f216 float(24) unsigned zerofill,
-f217 float(53) unsigned zerofill,
-f218 date,
-f219 time,
-f220 datetime,
-f221 timestamp,
-f222 year,
-f223 year(3),
-f224 year(4),
-f225 enum("1enum","2enum"),
+f176 numeric (0) unsigned not null DEFAULT 9,
+f177 numeric (64) unsigned not null DEFAULT 9,
+f178 numeric (0) zerofill not null DEFAULT 9,
+f179 numeric (64) zerofill not null DEFAULT 9,
+f180 numeric (0) unsigned zerofill not null DEFAULT 9,
+f181 numeric (64) unsigned zerofill not null DEFAULT 9,
+f182 numeric (0,0) not null DEFAULT 9,
+f183 numeric (63,30) not null DEFAULT 9,
+f184 numeric (0,0) unsigned not null DEFAULT 9,
+f185 numeric (63,30) unsigned not null DEFAULT 9,
+f186 numeric (0,0) zerofill not null DEFAULT 9,
+f187 numeric (63,30) zerofill not null DEFAULT 9,
+f188 numeric (0,0) unsigned zerofill not null DEFAULT 9,
+f189 numeric (63,30) unsigned zerofill not null DEFAULT 9,
+f190 real not null DEFAULT 88.8,
+f191 real unsigned not null DEFAULT 88.8,
+f192 real zerofill not null DEFAULT 88.8,
+f193 real unsigned zerofill not null DEFAULT 88.8,
+f194 double not null DEFAULT 55.5,
+f195 double unsigned not null DEFAULT 55.5,
+f196 double zerofill not null DEFAULT 55.5,
+f197 double unsigned zerofill not null DEFAULT 55.5,
+f198 float,
+f199 float unsigned,
+f200 float zerofill,
+f201 float unsigned zerofill,
+f202 float(0),
+f203 float(23),
+f204 float(0) unsigned,
+f205 float(23) unsigned,
+f206 float(0) zerofill,
+f207 float(23) zerofill,
+f208 float(0) unsigned zerofill,
+f209 float(23) unsigned zerofill,
+f210 float(24),
+f211 float(53),
+f212 float(24) unsigned,
+f213 float(53) unsigned,
+f214 float(24) zerofill,
+f215 float(53) zerofill,
+f216 float(24) unsigned zerofill,
+f217 float(53) unsigned zerofill,
+f218 date,
+f219 time,
+f220 datetime,
+f221 timestamp,
+f222 year,
+f223 year(3),
+f224 year(4),
+f225 enum("1enum","2enum"),
f226 set("1set","2set"),
f235 char(0) unicode,
f236 char(90),
@@ -64,5 +64,7 @@ f240 varchar(2000) unicode,
f241 char(100) unicode
) engine = innodb;
---replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
-eval load data infile '$MYSQL_TEST_DIR/suite/funcs_1/data/innodb_tb4.txt' into table tb4 ;
+--replace_result $MYSQLTEST_VARDIR <MYSQLTEST_VARDIR>
+eval
+load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/innodb_tb4.txt'
+into table tb4;
diff --git a/mysql-test/suite/funcs_1/include/memory_tb1.inc b/mysql-test/suite/funcs_1/include/memory_tb1.inc
index 93cc91a4b17..3a4ebb0c484 100644
--- a/mysql-test/suite/funcs_1/include/memory_tb1.inc
+++ b/mysql-test/suite/funcs_1/include/memory_tb1.inc
@@ -1,63 +1,62 @@
##### suite/funcs_1/include/memory_tb1.inc
-set @@global.max_heap_table_size = 4294967295;
-set @@session.max_heap_table_size = 4294967295;
-
--disable_warnings
drop table if exists tb1 ;
--enable_warnings
create table tb1 (
-f1 char,
-f2 char binary,
-f3 char ascii,
-f12 binary,
-f13 tinyint,
-f14 tinyint unsigned,
-f15 tinyint zerofill,
-f16 tinyint unsigned zerofill,
-f17 smallint,
-f18 smallint unsigned,
-f19 smallint zerofill,
-f20 smallint unsigned zerofill,
-f21 mediumint,
-f22 mediumint unsigned,
-f23 mediumint zerofill,
-f24 mediumint unsigned zerofill,
-f25 int,
-f26 int unsigned,
-f27 int zerofill,
-f28 int unsigned zerofill,
-f29 bigint,
-f30 bigint unsigned,
-f31 bigint zerofill,
-f32 bigint unsigned zerofill,
-f33 decimal not null DEFAULT 9.9,
-f34 decimal unsigned not null DEFAULT 9.9,
-f35 decimal zerofill not null DEFAULT 9.9,
-f36 decimal unsigned zerofill not null DEFAULT 9.9,
-f37 decimal (0) not null DEFAULT 9.9,
-f38 decimal (64) not null DEFAULT 9.9,
-f39 decimal (0) unsigned not null DEFAULT 9.9,
-f40 decimal (64) unsigned not null DEFAULT 9.9,
-f41 decimal (0) zerofill not null DEFAULT 9.9,
-f42 decimal (64) zerofill not null DEFAULT 9.9,
-f43 decimal (0) unsigned zerofill not null DEFAULT 9.9,
-f44 decimal (64) unsigned zerofill not null DEFAULT 9.9,
-f45 decimal (0,0) not null DEFAULT 9.9,
-f46 decimal (63,30) not null DEFAULT 9.9,
-f47 decimal (0,0) unsigned not null DEFAULT 9.9,
-f48 decimal (63,30) unsigned not null DEFAULT 9.9,
-f49 decimal (0,0) zerofill not null DEFAULT 9.9,
-f50 decimal (63,30) zerofill not null DEFAULT 9.9,
-f51 decimal (0,0) unsigned zerofill not null DEFAULT 9.9,
-f52 decimal (63,30) unsigned zerofill not null DEFAULT 9.9,
-f53 numeric not null DEFAULT 99,
-f54 numeric unsigned not null DEFAULT 99,
-f55 numeric zerofill not null DEFAULT 99,
-f56 numeric unsigned zerofill not null DEFAULT 99,
-f57 numeric (0) not null DEFAULT 99,
+f1 char,
+f2 char binary,
+f3 char ascii,
+f12 binary,
+f13 tinyint,
+f14 tinyint unsigned,
+f15 tinyint zerofill,
+f16 tinyint unsigned zerofill,
+f17 smallint,
+f18 smallint unsigned,
+f19 smallint zerofill,
+f20 smallint unsigned zerofill,
+f21 mediumint,
+f22 mediumint unsigned,
+f23 mediumint zerofill,
+f24 mediumint unsigned zerofill,
+f25 int,
+f26 int unsigned,
+f27 int zerofill,
+f28 int unsigned zerofill,
+f29 bigint,
+f30 bigint unsigned,
+f31 bigint zerofill,
+f32 bigint unsigned zerofill,
+f33 decimal not null DEFAULT 9.9,
+f34 decimal unsigned not null DEFAULT 9.9,
+f35 decimal zerofill not null DEFAULT 9.9,
+f36 decimal unsigned zerofill not null DEFAULT 9.9,
+f37 decimal (0) not null DEFAULT 9.9,
+f38 decimal (64) not null DEFAULT 9.9,
+f39 decimal (0) unsigned not null DEFAULT 9.9,
+f40 decimal (64) unsigned not null DEFAULT 9.9,
+f41 decimal (0) zerofill not null DEFAULT 9.9,
+f42 decimal (64) zerofill not null DEFAULT 9.9,
+f43 decimal (0) unsigned zerofill not null DEFAULT 9.9,
+f44 decimal (64) unsigned zerofill not null DEFAULT 9.9,
+f45 decimal (0,0) not null DEFAULT 9.9,
+f46 decimal (63,30) not null DEFAULT 9.9,
+f47 decimal (0,0) unsigned not null DEFAULT 9.9,
+f48 decimal (63,30) unsigned not null DEFAULT 9.9,
+f49 decimal (0,0) zerofill not null DEFAULT 9.9,
+f50 decimal (63,30) zerofill not null DEFAULT 9.9,
+f51 decimal (0,0) unsigned zerofill not null DEFAULT 9.9,
+f52 decimal (63,30) unsigned zerofill not null DEFAULT 9.9,
+f53 numeric not null DEFAULT 99,
+f54 numeric unsigned not null DEFAULT 99,
+f55 numeric zerofill not null DEFAULT 99,
+f56 numeric unsigned zerofill not null DEFAULT 99,
+f57 numeric (0) not null DEFAULT 99,
f58 numeric (64) not null DEFAULT 99
) engine = memory;
---replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
-eval load data infile '$MYSQL_TEST_DIR/suite/funcs_1/data/memory_tb1.txt' into table tb1 ;
+--replace_result $MYSQLTEST_VARDIR <MYSQLTEST_VARDIR>
+eval
+load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/memory_tb1.txt'
+into table tb1;
diff --git a/mysql-test/suite/funcs_1/include/memory_tb2.inc b/mysql-test/suite/funcs_1/include/memory_tb2.inc
index 6ee0f064e68..c059e565c64 100644
--- a/mysql-test/suite/funcs_1/include/memory_tb2.inc
+++ b/mysql-test/suite/funcs_1/include/memory_tb2.inc
@@ -1,64 +1,63 @@
##### suite/funcs_1/include/memory_tb2.inc
-set @@global.max_heap_table_size = 4294967295;
-set @@session.max_heap_table_size = 4294967295;
-
--disable_warnings
drop table if exists tb2 ;
--enable_warnings
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",
+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 = memory;
---replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
-eval load data infile '$MYSQL_TEST_DIR/suite/funcs_1/data/memory_tb2.txt' into table tb2 ;
+--replace_result $MYSQLTEST_VARDIR <MYSQLTEST_VARDIR>
+eval
+load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/memory_tb2.txt'
+into table tb2 ;
diff --git a/mysql-test/suite/funcs_1/include/memory_tb3.inc b/mysql-test/suite/funcs_1/include/memory_tb3.inc
index 75dd7d98eee..b5d4bb93f12 100644
--- a/mysql-test/suite/funcs_1/include/memory_tb3.inc
+++ b/mysql-test/suite/funcs_1/include/memory_tb3.inc
@@ -1,66 +1,64 @@
##### suite/funcs_1/include/memory_tb3.inc
-set @@global.max_heap_table_size = 4294967295;
-set @@session.max_heap_table_size = 4294967295;
-
--disable_warnings
drop table if exists tb3;
--enable_warnings
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)
+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 = memory;
---replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
-eval load data infile '$MYSQL_TEST_DIR/suite/funcs_1/data/memory_tb3.txt' into table tb3 ;
-
+--replace_result $MYSQLTEST_VARDIR <MYSQLTEST_VARDIR>
+eval
+load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/memory_tb3.txt'
+into table tb3;
diff --git a/mysql-test/suite/funcs_1/include/memory_tb4.inc b/mysql-test/suite/funcs_1/include/memory_tb4.inc
index c3187d8d4a3..f9cc1d53c52 100644
--- a/mysql-test/suite/funcs_1/include/memory_tb4.inc
+++ b/mysql-test/suite/funcs_1/include/memory_tb4.inc
@@ -1,62 +1,59 @@
##### suite/funcs_1/include/memory_tb4.inc
-set @@global.max_heap_table_size = 4294967295;
-set @@session.max_heap_table_size = 4294967295;
-
--disable_warnings
drop table if exists tb4 ;
--enable_warnings
create table tb4 (
-f176 numeric (0) unsigned not null DEFAULT 9,
-f177 numeric (64) unsigned not null DEFAULT 9,
-f178 numeric (0) zerofill not null DEFAULT 9,
-f179 numeric (64) zerofill not null DEFAULT 9,
-f180 numeric (0) unsigned zerofill not null DEFAULT 9,
-f181 numeric (64) unsigned zerofill not null DEFAULT 9,
-f182 numeric (0,0) not null DEFAULT 9,
-f183 numeric (63,30) not null DEFAULT 9,
-f184 numeric (0,0) unsigned not null DEFAULT 9,
-f185 numeric (63,30) unsigned not null DEFAULT 9,
-f186 numeric (0,0) zerofill not null DEFAULT 9,
-f187 numeric (63,30) zerofill not null DEFAULT 9,
-f188 numeric (0,0) unsigned zerofill not null DEFAULT 9,
-f189 numeric (63,30) unsigned zerofill not null DEFAULT 9,
-f190 real not null DEFAULT 88.8,
-f191 real unsigned not null DEFAULT 88.8,
-f192 real zerofill not null DEFAULT 88.8,
-f193 real unsigned zerofill not null DEFAULT 88.8,
-f194 double not null DEFAULT 55.5,
-f195 double unsigned not null DEFAULT 55.5,
-f196 double zerofill not null DEFAULT 55.5,
-f197 double unsigned zerofill not null DEFAULT 55.5,
-f198 float,
-f199 float unsigned,
-f200 float zerofill,
-f201 float unsigned zerofill,
-f202 float(0),
-f203 float(23),
-f204 float(0) unsigned,
-f205 float(23) unsigned,
-f206 float(0) zerofill,
-f207 float(23) zerofill,
-f208 float(0) unsigned zerofill,
-f209 float(23) unsigned zerofill,
-f210 float(24),
-f211 float(53),
-f212 float(24) unsigned,
-f213 float(53) unsigned,
-f214 float(24) zerofill,
-f215 float(53) zerofill,
-f216 float(24) unsigned zerofill,
-f217 float(53) unsigned zerofill,
-f218 date,
-f219 time,
-f220 datetime,
-f221 timestamp,
-f222 year,
-f223 year(3),
-f224 year(4),
-f225 enum("1enum","2enum"),
+f176 numeric (0) unsigned not null DEFAULT 9,
+f177 numeric (64) unsigned not null DEFAULT 9,
+f178 numeric (0) zerofill not null DEFAULT 9,
+f179 numeric (64) zerofill not null DEFAULT 9,
+f180 numeric (0) unsigned zerofill not null DEFAULT 9,
+f181 numeric (64) unsigned zerofill not null DEFAULT 9,
+f182 numeric (0,0) not null DEFAULT 9,
+f183 numeric (63,30) not null DEFAULT 9,
+f184 numeric (0,0) unsigned not null DEFAULT 9,
+f185 numeric (63,30) unsigned not null DEFAULT 9,
+f186 numeric (0,0) zerofill not null DEFAULT 9,
+f187 numeric (63,30) zerofill not null DEFAULT 9,
+f188 numeric (0,0) unsigned zerofill not null DEFAULT 9,
+f189 numeric (63,30) unsigned zerofill not null DEFAULT 9,
+f190 real not null DEFAULT 88.8,
+f191 real unsigned not null DEFAULT 88.8,
+f192 real zerofill not null DEFAULT 88.8,
+f193 real unsigned zerofill not null DEFAULT 88.8,
+f194 double not null DEFAULT 55.5,
+f195 double unsigned not null DEFAULT 55.5,
+f196 double zerofill not null DEFAULT 55.5,
+f197 double unsigned zerofill not null DEFAULT 55.5,
+f198 float,
+f199 float unsigned,
+f200 float zerofill,
+f201 float unsigned zerofill,
+f202 float(0),
+f203 float(23),
+f204 float(0) unsigned,
+f205 float(23) unsigned,
+f206 float(0) zerofill,
+f207 float(23) zerofill,
+f208 float(0) unsigned zerofill,
+f209 float(23) unsigned zerofill,
+f210 float(24),
+f211 float(53),
+f212 float(24) unsigned,
+f213 float(53) unsigned,
+f214 float(24) zerofill,
+f215 float(53) zerofill,
+f216 float(24) unsigned zerofill,
+f217 float(53) unsigned zerofill,
+f218 date,
+f219 time,
+f220 datetime,
+f221 timestamp,
+f222 year,
+f223 year(3),
+f224 year(4),
+f225 enum("1enum","2enum"),
f226 set("1set","2set"),
f236 char(95) unicode,
f241 char(255) unicode,
@@ -66,5 +63,7 @@ f239 varbinary(0),
f240 varchar(1200) unicode
) engine = memory;
---replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
-eval load data infile '$MYSQL_TEST_DIR/suite/funcs_1/data/memory_tb4.txt' into table tb4 ;
+--replace_result $MYSQLTEST_VARDIR <MYSQLTEST_VARDIR>
+eval
+load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/memory_tb4.txt'
+into table tb4;
diff --git a/mysql-test/suite/funcs_1/include/myisam_tb1.inc b/mysql-test/suite/funcs_1/include/myisam_tb1.inc
index f2a8be4f5d6..da740cffaf3 100644
--- a/mysql-test/suite/funcs_1/include/myisam_tb1.inc
+++ b/mysql-test/suite/funcs_1/include/myisam_tb1.inc
@@ -4,65 +4,67 @@
drop table if exists tb1 ;
--enable_warnings
create table tb1 (
-f1 char,
-f2 char binary,
-f3 char ascii,
-f4 tinytext unicode,
-f5 text,
-f6 mediumtext,
-f7 longtext,
-f8 tinyblob,
+f1 char,
+f2 char binary,
+f3 char ascii,
+f4 tinytext unicode,
+f5 text,
+f6 mediumtext,
+f7 longtext,
+f8 tinyblob,
f9 blob,
-f10 mediumblob,
-f11 longblob,
-f12 binary,
-f13 tinyint,
-f14 tinyint unsigned,
-f15 tinyint zerofill,
-f16 tinyint unsigned zerofill,
-f17 smallint,
-f18 smallint unsigned,
-f19 smallint zerofill,
-f20 smallint unsigned zerofill,
-f21 mediumint,
-f22 mediumint unsigned,
-f23 mediumint zerofill,
-f24 mediumint unsigned zerofill,
-f25 int,
-f26 int unsigned,
-f27 int zerofill,
-f28 int unsigned zerofill,
-f29 bigint,
-f30 bigint unsigned,
-f31 bigint zerofill,
-f32 bigint unsigned zerofill,
-f33 decimal not null DEFAULT 9.9,
-f34 decimal unsigned not null DEFAULT 9.9,
-f35 decimal zerofill not null DEFAULT 9.9,
-f36 decimal unsigned zerofill not null DEFAULT 9.9,
-f37 decimal (0) not null DEFAULT 9.9,
-f38 decimal (64) not null DEFAULT 9.9,
-f39 decimal (0) unsigned not null DEFAULT 9.9,
-f40 decimal (64) unsigned not null DEFAULT 9.9,
-f41 decimal (0) zerofill not null DEFAULT 9.9,
-f42 decimal (64) zerofill not null DEFAULT 9.9,
-f43 decimal (0) unsigned zerofill not null DEFAULT 9.9,
-f44 decimal (64) unsigned zerofill not null DEFAULT 9.9,
-f45 decimal (0,0) not null DEFAULT 9.9,
-f46 decimal (63,30) not null DEFAULT 9.9,
-f47 decimal (0,0) unsigned not null DEFAULT 9.9,
-f48 decimal (63,30) unsigned not null DEFAULT 9.9,
-f49 decimal (0,0) zerofill not null DEFAULT 9.9,
-f50 decimal (63,30) zerofill not null DEFAULT 9.9,
-f51 decimal (0,0) unsigned zerofill not null DEFAULT 9.9,
-f52 decimal (63,30) unsigned zerofill not null DEFAULT 9.9,
-f53 numeric not null DEFAULT 99,
-f54 numeric unsigned not null DEFAULT 99,
-f55 numeric zerofill not null DEFAULT 99,
-f56 numeric unsigned zerofill not null DEFAULT 99,
-f57 numeric (0) not null DEFAULT 99,
+f10 mediumblob,
+f11 longblob,
+f12 binary,
+f13 tinyint,
+f14 tinyint unsigned,
+f15 tinyint zerofill,
+f16 tinyint unsigned zerofill,
+f17 smallint,
+f18 smallint unsigned,
+f19 smallint zerofill,
+f20 smallint unsigned zerofill,
+f21 mediumint,
+f22 mediumint unsigned,
+f23 mediumint zerofill,
+f24 mediumint unsigned zerofill,
+f25 int,
+f26 int unsigned,
+f27 int zerofill,
+f28 int unsigned zerofill,
+f29 bigint,
+f30 bigint unsigned,
+f31 bigint zerofill,
+f32 bigint unsigned zerofill,
+f33 decimal not null DEFAULT 9.9,
+f34 decimal unsigned not null DEFAULT 9.9,
+f35 decimal zerofill not null DEFAULT 9.9,
+f36 decimal unsigned zerofill not null DEFAULT 9.9,
+f37 decimal (0) not null DEFAULT 9.9,
+f38 decimal (64) not null DEFAULT 9.9,
+f39 decimal (0) unsigned not null DEFAULT 9.9,
+f40 decimal (64) unsigned not null DEFAULT 9.9,
+f41 decimal (0) zerofill not null DEFAULT 9.9,
+f42 decimal (64) zerofill not null DEFAULT 9.9,
+f43 decimal (0) unsigned zerofill not null DEFAULT 9.9,
+f44 decimal (64) unsigned zerofill not null DEFAULT 9.9,
+f45 decimal (0,0) not null DEFAULT 9.9,
+f46 decimal (63,30) not null DEFAULT 9.9,
+f47 decimal (0,0) unsigned not null DEFAULT 9.9,
+f48 decimal (63,30) unsigned not null DEFAULT 9.9,
+f49 decimal (0,0) zerofill not null DEFAULT 9.9,
+f50 decimal (63,30) zerofill not null DEFAULT 9.9,
+f51 decimal (0,0) unsigned zerofill not null DEFAULT 9.9,
+f52 decimal (63,30) unsigned zerofill not null DEFAULT 9.9,
+f53 numeric not null DEFAULT 99,
+f54 numeric unsigned not null DEFAULT 99,
+f55 numeric zerofill not null DEFAULT 99,
+f56 numeric unsigned zerofill not null DEFAULT 99,
+f57 numeric (0) not null DEFAULT 99,
f58 numeric (64) not null DEFAULT 99
) engine = myisam;
---replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
-eval load data infile '$MYSQL_TEST_DIR/suite/funcs_1/data/myisam_tb1.txt' into table tb1 ;
+--replace_result $MYSQLTEST_VARDIR <MYSQLTEST_VARDIR>
+eval
+load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/myisam_tb1.txt'
+into table tb1;
diff --git a/mysql-test/suite/funcs_1/include/myisam_tb2.inc b/mysql-test/suite/funcs_1/include/myisam_tb2.inc
index 528031700cb..c878b1853f0 100644
--- a/mysql-test/suite/funcs_1/include/myisam_tb2.inc
+++ b/mysql-test/suite/funcs_1/include/myisam_tb2.inc
@@ -4,77 +4,79 @@
drop table if exists tb2 ;
--enable_warnings
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",
+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",
-f110 VARBINARY(64) null,
-f111 VARBINARY(27) null ,
-f112 VARBINARY(64) null ,
-f113 VARBINARY(192) null ,
-f114 VARBINARY(192) ,
-f115 VARBINARY(27) null ,
-f116 VARBINARY(64) null,
-f117 VARBINARY(192) null
+f110 VARBINARY(64) null,
+f111 VARBINARY(27) null ,
+f112 VARBINARY(64) null ,
+f113 VARBINARY(192) null ,
+f114 VARBINARY(192) ,
+f115 VARBINARY(27) null ,
+f116 VARBINARY(64) null,
+f117 VARBINARY(192) null
) engine = myisam;
# The original columns. They are replaced by varbinary, because the funcs_1 tests should
# not depend on the optional availability of the geometry feature.
-# f110 geometry null,
-# f111 point null ,
-# f112 linestring null ,
-# f113 polygon null ,
-# f114 geometrycollection ,
-# f115 multipoint null ,
-# f116 multilinestring null,
-# f117 multipolygon null
+# f110 geometry null,
+# f111 point null ,
+# f112 linestring null ,
+# f113 polygon null ,
+# f114 geometrycollection ,
+# f115 multipoint null ,
+# f116 multilinestring null,
+# f117 multipolygon null
---replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
-eval load data infile '$MYSQL_TEST_DIR/suite/funcs_1/data/myisam_tb2.txt' into table tb2 ;
+--replace_result $MYSQLTEST_VARDIR <MYSQLTEST_VARDIR>
+eval
+load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/myisam_tb2.txt'
+into table tb2;
diff --git a/mysql-test/suite/funcs_1/include/myisam_tb3.inc b/mysql-test/suite/funcs_1/include/myisam_tb3.inc
index aca35c0e11b..4ee6388f3bc 100644
--- a/mysql-test/suite/funcs_1/include/myisam_tb3.inc
+++ b/mysql-test/suite/funcs_1/include/myisam_tb3.inc
@@ -4,65 +4,67 @@
drop table if exists tb3 ;
--enable_warnings
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 tinytext,
-f122 text,
-f123 mediumtext,
-f124 longtext unicode,
-f125 tinyblob,
-f126 blob,
-f127 mediumblob,
-f128 longblob,
-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)
+f118 char not null DEFAULT 'a',
+f119 char binary not null DEFAULT b'101',
+f120 char ascii not null DEFAULT b'101',
+f121 tinytext,
+f122 text,
+f123 mediumtext,
+f124 longtext unicode,
+f125 tinyblob,
+f126 blob,
+f127 mediumblob,
+f128 longblob,
+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 = myisam;
---replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
-eval load data infile '$MYSQL_TEST_DIR/suite/funcs_1/data/myisam_tb3.txt' into table tb3 ;
+--replace_result $MYSQLTEST_VARDIR <MYSQLTEST_VARDIR>
+eval
+load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/myisam_tb3.txt'
+into table tb3;
diff --git a/mysql-test/suite/funcs_1/include/myisam_tb4.inc b/mysql-test/suite/funcs_1/include/myisam_tb4.inc
index d9051847c45..1f7d19fd061 100644
--- a/mysql-test/suite/funcs_1/include/myisam_tb4.inc
+++ b/mysql-test/suite/funcs_1/include/myisam_tb4.inc
@@ -4,64 +4,64 @@
drop table if exists tb4 ;
--enable_warnings
create table tb4 (
-f176 numeric (0) unsigned not null DEFAULT 9,
-f177 numeric (64) unsigned not null DEFAULT 9,
-f178 numeric (0) zerofill not null DEFAULT 9,
-f179 numeric (64) zerofill not null DEFAULT 9,
-f180 numeric (0) unsigned zerofill not null DEFAULT 9,
-f181 numeric (64) unsigned zerofill not null DEFAULT 9,
-f182 numeric (0,0) not null DEFAULT 9,
-f183 numeric (63,30) not null DEFAULT 9,
-f184 numeric (0,0) unsigned not null DEFAULT 9,
-f185 numeric (63,30) unsigned not null DEFAULT 9,
-f186 numeric (0,0) zerofill not null DEFAULT 9,
-f187 numeric (63,30) zerofill not null DEFAULT 9,
-f188 numeric (0,0) unsigned zerofill not null DEFAULT 9,
-f189 numeric (63,30) unsigned zerofill not null DEFAULT 9,
-f190 real not null DEFAULT 88.8,
-f191 real unsigned not null DEFAULT 88.8,
-f192 real zerofill not null DEFAULT 88.8,
-f193 real unsigned zerofill not null DEFAULT 88.8,
-f194 double not null DEFAULT 55.5,
-f195 double unsigned not null DEFAULT 55.5,
-f196 double zerofill not null DEFAULT 55.5,
-f197 double unsigned zerofill not null DEFAULT 55.5,
-f198 float,
-f199 float unsigned,
-f200 float zerofill,
-f201 float unsigned zerofill,
-f202 float(0),
-f203 float(23),
-f204 float(0) unsigned,
-f205 float(23) unsigned,
-f206 float(0) zerofill,
-f207 float(23) zerofill,
-f208 float(0) unsigned zerofill,
-f209 float(23) unsigned zerofill,
-f210 float(24),
-f211 float(53),
-f212 float(24) unsigned,
-f213 float(53) unsigned,
-f214 float(24) zerofill,
-f215 float(53) zerofill,
-f216 float(24) unsigned zerofill,
-f217 float(53) unsigned zerofill,
-f218 date,
-f219 time,
-f220 datetime,
-f221 timestamp,
-f222 year,
-f223 year(3),
-f224 year(4),
-f225 enum("1enum","2enum"),
-f226 set("1set","2set"),
-f227 VARBINARY(64),
-f228 VARBINARY(27),
-f229 VARBINARY(64),
-f230 VARBINARY(192),
-f231 VARBINARY(192),
-f232 VARBINARY(27),
-f233 VARBINARY(64),
+f176 numeric (0) unsigned not null DEFAULT 9,
+f177 numeric (64) unsigned not null DEFAULT 9,
+f178 numeric (0) zerofill not null DEFAULT 9,
+f179 numeric (64) zerofill not null DEFAULT 9,
+f180 numeric (0) unsigned zerofill not null DEFAULT 9,
+f181 numeric (64) unsigned zerofill not null DEFAULT 9,
+f182 numeric (0,0) not null DEFAULT 9,
+f183 numeric (63,30) not null DEFAULT 9,
+f184 numeric (0,0) unsigned not null DEFAULT 9,
+f185 numeric (63,30) unsigned not null DEFAULT 9,
+f186 numeric (0,0) zerofill not null DEFAULT 9,
+f187 numeric (63,30) zerofill not null DEFAULT 9,
+f188 numeric (0,0) unsigned zerofill not null DEFAULT 9,
+f189 numeric (63,30) unsigned zerofill not null DEFAULT 9,
+f190 real not null DEFAULT 88.8,
+f191 real unsigned not null DEFAULT 88.8,
+f192 real zerofill not null DEFAULT 88.8,
+f193 real unsigned zerofill not null DEFAULT 88.8,
+f194 double not null DEFAULT 55.5,
+f195 double unsigned not null DEFAULT 55.5,
+f196 double zerofill not null DEFAULT 55.5,
+f197 double unsigned zerofill not null DEFAULT 55.5,
+f198 float,
+f199 float unsigned,
+f200 float zerofill,
+f201 float unsigned zerofill,
+f202 float(0),
+f203 float(23),
+f204 float(0) unsigned,
+f205 float(23) unsigned,
+f206 float(0) zerofill,
+f207 float(23) zerofill,
+f208 float(0) unsigned zerofill,
+f209 float(23) unsigned zerofill,
+f210 float(24),
+f211 float(53),
+f212 float(24) unsigned,
+f213 float(53) unsigned,
+f214 float(24) zerofill,
+f215 float(53) zerofill,
+f216 float(24) unsigned zerofill,
+f217 float(53) unsigned zerofill,
+f218 date,
+f219 time,
+f220 datetime,
+f221 timestamp,
+f222 year,
+f223 year(3),
+f224 year(4),
+f225 enum("1enum","2enum"),
+f226 set("1set","2set"),
+f227 VARBINARY(64),
+f228 VARBINARY(27),
+f229 VARBINARY(64),
+f230 VARBINARY(192),
+f231 VARBINARY(192),
+f232 VARBINARY(27),
+f233 VARBINARY(64),
f234 VARBINARY(192),
f235 char(255) unicode,
f236 char(60) ascii,
@@ -75,14 +75,16 @@ f242 bit(30)
# The original columns. They are replaced by varbinary, because the funcs_1 tests should
# not depend on the optional availability of the geometry feature.
-# f227 geometry,
-# f228 point,
-# f229 linestring,
-# f230 polygon,
-# f231 geometrycollection,
-# f232 multipoint,
-# f233 multilinestring,
+# f227 geometry,
+# f228 point,
+# f229 linestring,
+# f230 polygon,
+# f231 geometrycollection,
+# f232 multipoint,
+# f233 multilinestring,
# f234 multipolygon,
---replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
-eval load data infile '$MYSQL_TEST_DIR/suite/funcs_1/data/myisam_tb4.txt' into table tb4 ;
+--replace_result $MYSQLTEST_VARDIR <MYSQLTEST_VARDIR>
+eval
+load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/myisam_tb4.txt'
+into table tb4;
diff --git a/mysql-test/suite/funcs_1/include/ndb_tb1.inc b/mysql-test/suite/funcs_1/include/ndb_tb1.inc
index a93574d0be0..223a323b006 100644
--- a/mysql-test/suite/funcs_1/include/ndb_tb1.inc
+++ b/mysql-test/suite/funcs_1/include/ndb_tb1.inc
@@ -4,66 +4,67 @@
drop table if exists tb1 ;
--enable_warnings
create table tb1 (
-f1 char(0),
-f2 char(0) binary,
-f3 char(0) ascii,
-f4 tinytext unicode,
-f5 text,
-f6 mediumtext,
-f7 longtext,
-f8 tinyblob,
+f1 char(0),
+f2 char(0) binary,
+f3 char(0) ascii,
+f4 tinytext unicode,
+f5 text,
+f6 mediumtext,
+f7 longtext,
+f8 tinyblob,
f9 blob,
-f10 mediumblob,
-f11 longblob,
-f12 binary,
-f13 tinyint,
-f14 tinyint unsigned,
-f15 tinyint zerofill,
-f16 tinyint unsigned zerofill,
-f17 smallint,
-f18 smallint unsigned,
-f19 smallint zerofill,
-f20 smallint unsigned zerofill,
-f21 mediumint,
-f22 mediumint unsigned,
-f23 mediumint zerofill,
-f24 mediumint unsigned zerofill,
-f25 int,
-f26 int unsigned,
-f27 int zerofill,
-f28 int unsigned zerofill,
-f29 bigint,
-f30 bigint unsigned,
-f31 bigint zerofill,
-f32 bigint unsigned zerofill,
-f33 decimal,
-f34 decimal unsigned,
-f35 decimal zerofill,
-f36 decimal unsigned zerofill not null DEFAULT 9.9,
-f37 decimal (0) not null DEFAULT 9.9,
-f38 decimal (64) not null DEFAULT 9.9,
-f39 decimal (0) unsigned not null DEFAULT 9.9,
-f40 decimal (64) unsigned not null DEFAULT 9.9,
-f41 decimal (0) zerofill not null DEFAULT 9.9,
-f42 decimal (64) zerofill not null DEFAULT 9.9,
-f43 decimal (0) unsigned zerofill not null DEFAULT 9.9,
-f44 decimal (64) unsigned zerofill not null DEFAULT 9.9,
-f45 decimal (0,0) not null DEFAULT 9.9,
-f46 decimal (63,30) not null DEFAULT 9.9,
-f47 decimal (0,0) unsigned not null DEFAULT 9.9,
-f48 decimal (63,30) unsigned not null DEFAULT 9.9,
-f49 decimal (0,0) zerofill not null DEFAULT 9.9,
-f50 decimal (63,30) zerofill not null DEFAULT 9.9,
-f51 decimal (0,0) unsigned zerofill not null DEFAULT 9.9,
-f52 decimal (63,30) unsigned zerofill not null DEFAULT 9.9,
-f53 numeric not null DEFAULT 99,
-f54 numeric unsigned not null DEFAULT 99,
-f55 numeric zerofill not null DEFAULT 99,
-f56 numeric unsigned zerofill not null DEFAULT 99,
-f57 numeric (0) not null DEFAULT 99,
+f10 mediumblob,
+f11 longblob,
+f12 binary,
+f13 tinyint,
+f14 tinyint unsigned,
+f15 tinyint zerofill,
+f16 tinyint unsigned zerofill,
+f17 smallint,
+f18 smallint unsigned,
+f19 smallint zerofill,
+f20 smallint unsigned zerofill,
+f21 mediumint,
+f22 mediumint unsigned,
+f23 mediumint zerofill,
+f24 mediumint unsigned zerofill,
+f25 int,
+f26 int unsigned,
+f27 int zerofill,
+f28 int unsigned zerofill,
+f29 bigint,
+f30 bigint unsigned,
+f31 bigint zerofill,
+f32 bigint unsigned zerofill,
+f33 decimal,
+f34 decimal unsigned,
+f35 decimal zerofill,
+f36 decimal unsigned zerofill not null DEFAULT 9.9,
+f37 decimal (0) not null DEFAULT 9.9,
+f38 decimal (64) not null DEFAULT 9.9,
+f39 decimal (0) unsigned not null DEFAULT 9.9,
+f40 decimal (64) unsigned not null DEFAULT 9.9,
+f41 decimal (0) zerofill not null DEFAULT 9.9,
+f42 decimal (64) zerofill not null DEFAULT 9.9,
+f43 decimal (0) unsigned zerofill not null DEFAULT 9.9,
+f44 decimal (64) unsigned zerofill not null DEFAULT 9.9,
+f45 decimal (0,0) not null DEFAULT 9.9,
+f46 decimal (63,30) not null DEFAULT 9.9,
+f47 decimal (0,0) unsigned not null DEFAULT 9.9,
+f48 decimal (63,30) unsigned not null DEFAULT 9.9,
+f49 decimal (0,0) zerofill not null DEFAULT 9.9,
+f50 decimal (63,30) zerofill not null DEFAULT 9.9,
+f51 decimal (0,0) unsigned zerofill not null DEFAULT 9.9,
+f52 decimal (63,30) unsigned zerofill not null DEFAULT 9.9,
+f53 numeric not null DEFAULT 99,
+f54 numeric unsigned not null DEFAULT 99,
+f55 numeric zerofill not null DEFAULT 99,
+f56 numeric unsigned zerofill not null DEFAULT 99,
+f57 numeric (0) not null DEFAULT 99,
f58 numeric (64) not null DEFAULT 99
) engine = ndb;
-
---replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
-eval load data infile '$MYSQL_TEST_DIR/suite/funcs_1/data/ndb_tb1.txt' into table tb1 ;
+--replace_result $MYSQLTEST_VARDIR <MYSQLTEST_VARDIR>
+eval
+load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/ndb_tb1.txt'
+into table tb1 ;
diff --git a/mysql-test/suite/funcs_1/include/ndb_tb2.inc b/mysql-test/suite/funcs_1/include/ndb_tb2.inc
index 4a59ed7bf2d..c1f56b9ece6 100644
--- a/mysql-test/suite/funcs_1/include/ndb_tb2.inc
+++ b/mysql-test/suite/funcs_1/include/ndb_tb2.inc
@@ -4,58 +4,60 @@
drop table if exists tb2 ;
--enable_warnings
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",
+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 = innodb;
+) engine = ndb;
---replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
-eval load data infile '$MYSQL_TEST_DIR/suite/funcs_1/data/ndb_tb2.txt' into table tb2 ;
+--replace_result $MYSQLTEST_VARDIR <MYSQLTEST_VARDIR>
+eval
+load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/ndb_tb2.txt'
+into table tb2 ;
diff --git a/mysql-test/suite/funcs_1/include/ndb_tb3.inc b/mysql-test/suite/funcs_1/include/ndb_tb3.inc
index f77a0807963..77856a7f0be 100644
--- a/mysql-test/suite/funcs_1/include/ndb_tb3.inc
+++ b/mysql-test/suite/funcs_1/include/ndb_tb3.inc
@@ -4,65 +4,67 @@
drop table if exists tb3 ;
--enable_warnings
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 tinytext,
-f122 text,
-f123 mediumtext,
-f124 longtext unicode,
-f125 tinyblob,
-f126 blob,
-f127 mediumblob,
-f128 longblob,
-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)
+f118 char not null DEFAULT 'a',
+f119 char binary not null DEFAULT b'101',
+f120 char ascii not null DEFAULT b'101',
+f121 tinytext,
+f122 text,
+f123 mediumtext,
+f124 longtext unicode,
+f125 tinyblob,
+f126 blob,
+f127 mediumblob,
+f128 longblob,
+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 = ndb;
---replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
-eval load data infile '$MYSQL_TEST_DIR/suite/funcs_1/data/ndb_tb3.txt' into table tb3 ;
+--replace_result $MYSQLTEST_VARDIR <MYSQLTEST_VARDIR>
+eval
+load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/ndb_tb3.txt'
+into table tb3;
diff --git a/mysql-test/suite/funcs_1/include/ndb_tb4.inc b/mysql-test/suite/funcs_1/include/ndb_tb4.inc
index 5639ed8fe00..2a9349e6755 100644
--- a/mysql-test/suite/funcs_1/include/ndb_tb4.inc
+++ b/mysql-test/suite/funcs_1/include/ndb_tb4.inc
@@ -4,56 +4,56 @@
drop table if exists tb4;
--enable_warnings
create table tb4 (
-f176 numeric (0) unsigned not null DEFAULT 9,
-f177 numeric (64) unsigned not null DEFAULT 9,
-f178 numeric (0) zerofill not null DEFAULT 9,
-f179 numeric (64) zerofill not null DEFAULT 9,
-f180 numeric (0) unsigned zerofill not null DEFAULT 9,
-f181 numeric (64) unsigned zerofill not null DEFAULT 9,
-f182 numeric (0,0) not null DEFAULT 9,
-f183 numeric (63,30) not null DEFAULT 9,
-f184 numeric (0,0) unsigned not null DEFAULT 9,
-f185 numeric (63,30) unsigned not null DEFAULT 9,
-f186 numeric (0,0) zerofill not null DEFAULT 9,
-f187 numeric (63,30) zerofill not null DEFAULT 9,
-f188 numeric (0,0) unsigned zerofill not null DEFAULT 9,
-f189 numeric (63,30) unsigned zerofill not null DEFAULT 9,
-f190 real not null DEFAULT 88.8,
-f191 real unsigned not null DEFAULT 88.8,
-f192 real zerofill not null DEFAULT 88.8,
-f193 real unsigned zerofill not null DEFAULT 88.8,
-f194 double not null DEFAULT 55.5,
-f195 double unsigned not null DEFAULT 55.5,
-f196 double zerofill not null DEFAULT 55.5,
-f197 double unsigned zerofill not null DEFAULT 55.5,
-f198 float,
-f199 float unsigned,
-f200 float zerofill,
-f201 float unsigned zerofill,
-f202 float(0),
-f203 float(23),
-f204 float(0) unsigned,
-f205 float(23) unsigned,
-f206 float(0) zerofill,
-f207 float(23) zerofill,
-f208 float(0) unsigned zerofill,
-f209 float(23) unsigned zerofill,
-f210 float(24),
-f211 float(53),
-f212 float(24) unsigned,
-f213 float(53) unsigned,
-f214 float(24) zerofill,
-f215 float(53) zerofill,
-f216 float(24) unsigned zerofill,
-f217 float(53) unsigned zerofill,
-f218 date,
-f219 time,
-f220 datetime,
-f221 timestamp,
-f222 year,
-f223 year(3),
-f224 year(4),
-f225 enum("1enum","2enum"),
+f176 numeric (0) unsigned not null DEFAULT 9,
+f177 numeric (64) unsigned not null DEFAULT 9,
+f178 numeric (0) zerofill not null DEFAULT 9,
+f179 numeric (64) zerofill not null DEFAULT 9,
+f180 numeric (0) unsigned zerofill not null DEFAULT 9,
+f181 numeric (64) unsigned zerofill not null DEFAULT 9,
+f182 numeric (0,0) not null DEFAULT 9,
+f183 numeric (63,30) not null DEFAULT 9,
+f184 numeric (0,0) unsigned not null DEFAULT 9,
+f185 numeric (63,30) unsigned not null DEFAULT 9,
+f186 numeric (0,0) zerofill not null DEFAULT 9,
+f187 numeric (63,30) zerofill not null DEFAULT 9,
+f188 numeric (0,0) unsigned zerofill not null DEFAULT 9,
+f189 numeric (63,30) unsigned zerofill not null DEFAULT 9,
+f190 real not null DEFAULT 88.8,
+f191 real unsigned not null DEFAULT 88.8,
+f192 real zerofill not null DEFAULT 88.8,
+f193 real unsigned zerofill not null DEFAULT 88.8,
+f194 double not null DEFAULT 55.5,
+f195 double unsigned not null DEFAULT 55.5,
+f196 double zerofill not null DEFAULT 55.5,
+f197 double unsigned zerofill not null DEFAULT 55.5,
+f198 float,
+f199 float unsigned,
+f200 float zerofill,
+f201 float unsigned zerofill,
+f202 float(0),
+f203 float(23),
+f204 float(0) unsigned,
+f205 float(23) unsigned,
+f206 float(0) zerofill,
+f207 float(23) zerofill,
+f208 float(0) unsigned zerofill,
+f209 float(23) unsigned zerofill,
+f210 float(24),
+f211 float(53),
+f212 float(24) unsigned,
+f213 float(53) unsigned,
+f214 float(24) zerofill,
+f215 float(53) zerofill,
+f216 float(24) unsigned zerofill,
+f217 float(53) unsigned zerofill,
+f218 date,
+f219 time,
+f220 datetime,
+f221 timestamp,
+f222 year,
+f223 year(3),
+f224 year(4),
+f225 enum("1enum","2enum"),
f226 set("1set","2set"),
f235 char(0) unicode,
f236 char(90),
@@ -64,5 +64,7 @@ f240 varchar(2000) unicode,
f241 char(100) unicode
) engine = ndb;
---replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
-eval load data infile '$MYSQL_TEST_DIR/suite/funcs_1/data/ndb_tb4.txt' into table tb4 ;
+--replace_result $MYSQLTEST_VARDIR <MYSQLTEST_VARDIR>
+eval
+load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/ndb_tb4.txt'
+into table tb4 ;
diff --git a/mysql-test/suite/funcs_1/include/sp_tb.inc b/mysql-test/suite/funcs_1/include/sp_tb.inc
index ef209afc0cf..ae1114fb5f1 100644
--- a/mysql-test/suite/funcs_1/include/sp_tb.inc
+++ b/mysql-test/suite/funcs_1/include/sp_tb.inc
@@ -1,37 +1,50 @@
--disable_abort_on_error
-# ML: Should be set outside when memory
-# set @@global.max_heap_table_size=4294967295;
-# set @@session.max_heap_table_size=4294967295;
-
USE test;
--disable_warnings
DROP TABLE IF EXISTS t1, t2, t4, t10, t11;
--enable_warnings
-eval CREATE TABLE t1 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = $engine_type;
-eval CREATE TABLE t2 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = $engine_type;
-eval CREATE TABLE t4 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = $engine_type;
-eval CREATE TABLE t10 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = $engine_type;
-eval CREATE TABLE t11 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = $engine_type;
---replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
-eval LOAD DATA INFILE '$MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' INTO TABLE t1;
---replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
-eval LOAD DATA INFILE '$MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' INTO TABLE t2;
---replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
-eval LOAD DATA INFILE '$MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' INTO TABLE t4;
---replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
-eval LOAD DATA INFILE '$MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' INTO TABLE t10;
---replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
-eval LOAD DATA INFILE '$MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' INTO TABLE t11;
+eval
+CREATE TABLE t1 (f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
+ENGINE = $engine_type;
+eval
+CREATE TABLE t2 (f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
+ENGINE = $engine_type;
+eval
+CREATE TABLE t4 (f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
+ENGINE = $engine_type;
+eval
+CREATE TABLE t10 (f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
+ENGINE = $engine_type;
+eval
+CREATE TABLE t11 (f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
+ENGINE = $engine_type;
+--replace_result $MYSQLTEST_VARDIR <MYSQLTEST_VARDIR>
+eval
+LOAD DATA INFILE '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/t4.txt' INTO TABLE t1;
+--replace_result $MYSQLTEST_VARDIR <MYSQLTEST_VARDIR>
+eval
+LOAD DATA INFILE '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/t4.txt' INTO TABLE t2;
+--replace_result $MYSQLTEST_VARDIR <MYSQLTEST_VARDIR>
+eval
+LOAD DATA INFILE '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/t4.txt' INTO TABLE t4;
+--replace_result $MYSQLTEST_VARDIR <MYSQLTEST_VARDIR>
+eval
+LOAD DATA INFILE '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/t4.txt' INTO TABLE t10;
+--replace_result $MYSQLTEST_VARDIR <MYSQLTEST_VARDIR>
+eval
+LOAD DATA INFILE '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/t4.txt' INTO TABLE t11;
--disable_warnings
drop TABLE if exists t3;
--enable_warnings
-eval CREATE TABLE t3 (f1 char(20), f2 char(20), f3 integer) ENGINE = $engine_type;
---replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
-eval LOAD DATA INFILE '$MYSQL_TEST_DIR/suite/funcs_1/data/t3.txt' INTO TABLE t3;
+eval
+CREATE TABLE t3 (f1 char(20), f2 char(20), f3 integer) ENGINE = $engine_type;
+--replace_result $MYSQLTEST_VARDIR <MYSQLTEST_VARDIR>
+eval
+LOAD DATA INFILE '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/t3.txt' INTO TABLE t3;
#---------------------------
@@ -41,9 +54,12 @@ drop database if exists test4;
CREATE database test4;
use test4;
-eval CREATE TABLE t6 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = $engine_type;
---replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
-eval LOAD DATA INFILE '$MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' INTO TABLE t6;
+eval
+CREATE TABLE t6 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int)
+ENGINE = $engine_type;
+--replace_result $MYSQLTEST_VARDIR <MYSQLTEST_VARDIR>
+eval
+LOAD DATA INFILE '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/t4.txt' INTO TABLE t6;
#---------------------------
use test;
@@ -51,18 +67,23 @@ use test;
--disable_warnings
drop TABLE if exists t7, t8;
--enable_warnings
-eval CREATE TABLE t7 (f1 char(20), f2 char(25), f3 date, f4 int) ENGINE = $engine_type;
-eval CREATE TABLE t8 (f1 char(20), f2 char(25), f3 date, f4 int) ENGINE = $engine_type;
---replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
-eval LOAD DATA INFILE '$MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' INTO TABLE t7;
---replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
-eval LOAD DATA INFILE '$MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' INTO TABLE t8;
+eval
+CREATE TABLE t7 (f1 char(20),f2 char(25),f3 date,f4 int) ENGINE = $engine_type;
+eval
+CREATE TABLE t8 (f1 char(20),f2 char(25),f3 date,f4 int) ENGINE = $engine_type;
+--replace_result $MYSQLTEST_VARDIR <MYSQLTEST_VARDIR>
+eval
+LOAD DATA INFILE '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/t7.txt' INTO TABLE t7;
+--replace_result $MYSQLTEST_VARDIR <MYSQLTEST_VARDIR>
+eval
+LOAD DATA INFILE '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/t7.txt' INTO TABLE t8;
--disable_warnings
drop TABLE if exists t9;
--enable_warnings
eval CREATE TABLE t9 (f1 int, f2 char(25), f3 int) ENGINE = $engine_type;
---replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
-eval LOAD DATA INFILE '$MYSQL_TEST_DIR/suite/funcs_1/data/t9.txt' INTO TABLE t9;
+--replace_result $MYSQLTEST_VARDIR <MYSQLTEST_VARDIR>
+eval
+LOAD DATA INFILE '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/t9.txt' INTO TABLE t9;
diff --git a/mysql-test/suite/funcs_1/r/charset_collation_1.result b/mysql-test/suite/funcs_1/r/charset_collation_1.result
new file mode 100644
index 00000000000..55ed4b4704c
--- /dev/null
+++ b/mysql-test/suite/funcs_1/r/charset_collation_1.result
@@ -0,0 +1,312 @@
+DROP USER dbdict_test@localhost;
+CREATE USER dbdict_test@localhost;
+# Establish connection con (user=dbdict_test)
+
+SELECT *
+FROM information_schema.character_sets
+ORDER BY character_set_name;
+CHARACTER_SET_NAME DEFAULT_COLLATE_NAME DESCRIPTION MAXLEN
+armscii8 armscii8_general_ci ARMSCII-8 Armenian 1
+ascii ascii_general_ci US ASCII 1
+big5 big5_chinese_ci Big5 Traditional Chinese 2
+binary binary Binary pseudo charset 1
+cp1250 cp1250_general_ci Windows Central European 1
+cp1251 cp1251_general_ci Windows Cyrillic 1
+cp1256 cp1256_general_ci Windows Arabic 1
+cp1257 cp1257_general_ci Windows Baltic 1
+cp850 cp850_general_ci DOS West European 1
+cp852 cp852_general_ci DOS Central European 1
+cp866 cp866_general_ci DOS Russian 1
+cp932 cp932_japanese_ci SJIS for Windows Japanese 2
+dec8 dec8_swedish_ci DEC West European 1
+eucjpms eucjpms_japanese_ci UJIS for Windows Japanese 3
+euckr euckr_korean_ci EUC-KR Korean 2
+gb2312 gb2312_chinese_ci GB2312 Simplified Chinese 2
+gbk gbk_chinese_ci GBK Simplified Chinese 2
+geostd8 geostd8_general_ci GEOSTD8 Georgian 1
+greek greek_general_ci ISO 8859-7 Greek 1
+hebrew hebrew_general_ci ISO 8859-8 Hebrew 1
+hp8 hp8_english_ci HP West European 1
+keybcs2 keybcs2_general_ci DOS Kamenicky Czech-Slovak 1
+koi8r koi8r_general_ci KOI8-R Relcom Russian 1
+koi8u koi8u_general_ci KOI8-U Ukrainian 1
+latin1 latin1_swedish_ci cp1252 West European 1
+latin2 latin2_general_ci ISO 8859-2 Central European 1
+latin5 latin5_turkish_ci ISO 8859-9 Turkish 1
+latin7 latin7_general_ci ISO 8859-13 Baltic 1
+macce macce_general_ci Mac Central European 1
+macroman macroman_general_ci Mac West European 1
+sjis sjis_japanese_ci Shift-JIS Japanese 2
+swe7 swe7_swedish_ci 7bit Swedish 1
+tis620 tis620_thai_ci TIS620 Thai 1
+ucs2 ucs2_general_ci UCS-2 Unicode 2
+ujis ujis_japanese_ci EUC-JP Japanese 3
+utf8 utf8_general_ci UTF-8 Unicode 3
+
+SELECT *
+FROM information_schema.collations
+ORDER BY collation_name;
+COLLATION_NAME CHARACTER_SET_NAME ID IS_DEFAULT IS_COMPILED SORTLEN
+armscii8_bin armscii8 64 0
+armscii8_general_ci armscii8 32 Yes 0
+ascii_bin ascii 65 0
+ascii_general_ci ascii 11 Yes 0
+big5_bin big5 84 Yes 1
+big5_chinese_ci big5 1 Yes Yes 1
+binary binary 63 Yes Yes 1
+cp1250_bin cp1250 66 Yes 1
+cp1250_croatian_ci cp1250 44 Yes 1
+cp1250_czech_cs cp1250 34 Yes 2
+cp1250_general_ci cp1250 26 Yes Yes 1
+cp1250_polish_ci cp1250 99 Yes 1
+cp1251_bin cp1251 50 0
+cp1251_bulgarian_ci cp1251 14 0
+cp1251_general_ci cp1251 51 Yes 0
+cp1251_general_cs cp1251 52 0
+cp1251_ukrainian_ci cp1251 23 0
+cp1256_bin cp1256 67 0
+cp1256_general_ci cp1256 57 Yes 0
+cp1257_bin cp1257 58 0
+cp1257_general_ci cp1257 59 Yes 0
+cp1257_lithuanian_ci cp1257 29 0
+cp850_bin cp850 80 0
+cp850_general_ci cp850 4 Yes 0
+cp852_bin cp852 81 0
+cp852_general_ci cp852 40 Yes 0
+cp866_bin cp866 68 0
+cp866_general_ci cp866 36 Yes 0
+cp932_bin cp932 96 Yes 1
+cp932_japanese_ci cp932 95 Yes Yes 1
+dec8_bin dec8 69 0
+dec8_swedish_ci dec8 3 Yes 0
+eucjpms_bin eucjpms 98 Yes 1
+eucjpms_japanese_ci eucjpms 97 Yes Yes 1
+euckr_bin euckr 85 Yes 1
+euckr_korean_ci euckr 19 Yes Yes 1
+gb2312_bin gb2312 86 Yes 1
+gb2312_chinese_ci gb2312 24 Yes Yes 1
+gbk_bin gbk 87 Yes 1
+gbk_chinese_ci gbk 28 Yes Yes 1
+geostd8_bin geostd8 93 0
+geostd8_general_ci geostd8 92 Yes 0
+greek_bin greek 70 0
+greek_general_ci greek 25 Yes 0
+hebrew_bin hebrew 71 0
+hebrew_general_ci hebrew 16 Yes 0
+hp8_bin hp8 72 0
+hp8_english_ci hp8 6 Yes 0
+keybcs2_bin keybcs2 73 0
+keybcs2_general_ci keybcs2 37 Yes 0
+koi8r_bin koi8r 74 0
+koi8r_general_ci koi8r 7 Yes 0
+koi8u_bin koi8u 75 0
+koi8u_general_ci koi8u 22 Yes 0
+latin1_bin latin1 47 Yes 1
+latin1_danish_ci latin1 15 Yes 1
+latin1_general_ci latin1 48 Yes 1
+latin1_general_cs latin1 49 Yes 1
+latin1_german1_ci latin1 5 Yes 1
+latin1_german2_ci latin1 31 Yes 2
+latin1_spanish_ci latin1 94 Yes 1
+latin1_swedish_ci latin1 8 Yes Yes 1
+latin2_bin latin2 77 Yes 1
+latin2_croatian_ci latin2 27 Yes 1
+latin2_czech_cs latin2 2 Yes 4
+latin2_general_ci latin2 9 Yes Yes 1
+latin2_hungarian_ci latin2 21 Yes 1
+latin5_bin latin5 78 0
+latin5_turkish_ci latin5 30 Yes 0
+latin7_bin latin7 79 0
+latin7_estonian_cs latin7 20 0
+latin7_general_ci latin7 41 Yes 0
+latin7_general_cs latin7 42 0
+macce_bin macce 43 0
+macce_general_ci macce 38 Yes 0
+macroman_bin macroman 53 0
+macroman_general_ci macroman 39 Yes 0
+sjis_bin sjis 88 Yes 1
+sjis_japanese_ci sjis 13 Yes Yes 1
+swe7_bin swe7 82 0
+swe7_swedish_ci swe7 10 Yes 0
+tis620_bin tis620 89 Yes 1
+tis620_thai_ci tis620 18 Yes Yes 4
+ucs2_bin ucs2 90 Yes 1
+ucs2_czech_ci ucs2 138 Yes 8
+ucs2_danish_ci ucs2 139 Yes 8
+ucs2_esperanto_ci ucs2 145 Yes 8
+ucs2_estonian_ci ucs2 134 Yes 8
+ucs2_general_ci ucs2 35 Yes Yes 1
+ucs2_hungarian_ci ucs2 146 Yes 8
+ucs2_icelandic_ci ucs2 129 Yes 8
+ucs2_latvian_ci ucs2 130 Yes 8
+ucs2_lithuanian_ci ucs2 140 Yes 8
+ucs2_persian_ci ucs2 144 Yes 8
+ucs2_polish_ci ucs2 133 Yes 8
+ucs2_romanian_ci ucs2 131 Yes 8
+ucs2_roman_ci ucs2 143 Yes 8
+ucs2_slovak_ci ucs2 141 Yes 8
+ucs2_slovenian_ci ucs2 132 Yes 8
+ucs2_spanish2_ci ucs2 142 Yes 8
+ucs2_spanish_ci ucs2 135 Yes 8
+ucs2_swedish_ci ucs2 136 Yes 8
+ucs2_turkish_ci ucs2 137 Yes 8
+ucs2_unicode_ci ucs2 128 Yes 8
+ujis_bin ujis 91 Yes 1
+ujis_japanese_ci ujis 12 Yes Yes 1
+utf8_bin utf8 83 Yes 1
+utf8_czech_ci utf8 202 Yes 8
+utf8_danish_ci utf8 203 Yes 8
+utf8_esperanto_ci utf8 209 Yes 8
+utf8_estonian_ci utf8 198 Yes 8
+utf8_general_ci utf8 33 Yes Yes 1
+utf8_hungarian_ci utf8 210 Yes 8
+utf8_icelandic_ci utf8 193 Yes 8
+utf8_latvian_ci utf8 194 Yes 8
+utf8_lithuanian_ci utf8 204 Yes 8
+utf8_persian_ci utf8 208 Yes 8
+utf8_polish_ci utf8 197 Yes 8
+utf8_romanian_ci utf8 195 Yes 8
+utf8_roman_ci utf8 207 Yes 8
+utf8_slovak_ci utf8 205 Yes 8
+utf8_slovenian_ci utf8 196 Yes 8
+utf8_spanish2_ci utf8 206 Yes 8
+utf8_spanish_ci utf8 199 Yes 8
+utf8_swedish_ci utf8 200 Yes 8
+utf8_turkish_ci utf8 201 Yes 8
+utf8_unicode_ci utf8 192 Yes 8
+
+
+SELECT *
+FROM information_schema.collation_character_set_applicability
+ORDER BY collation_name, character_set_name;
+COLLATION_NAME CHARACTER_SET_NAME
+armscii8_bin armscii8
+armscii8_general_ci armscii8
+ascii_bin ascii
+ascii_general_ci ascii
+big5_bin big5
+big5_chinese_ci big5
+binary binary
+cp1250_bin cp1250
+cp1250_croatian_ci cp1250
+cp1250_czech_cs cp1250
+cp1250_general_ci cp1250
+cp1250_polish_ci cp1250
+cp1251_bin cp1251
+cp1251_bulgarian_ci cp1251
+cp1251_general_ci cp1251
+cp1251_general_cs cp1251
+cp1251_ukrainian_ci cp1251
+cp1256_bin cp1256
+cp1256_general_ci cp1256
+cp1257_bin cp1257
+cp1257_general_ci cp1257
+cp1257_lithuanian_ci cp1257
+cp850_bin cp850
+cp850_general_ci cp850
+cp852_bin cp852
+cp852_general_ci cp852
+cp866_bin cp866
+cp866_general_ci cp866
+cp932_bin cp932
+cp932_japanese_ci cp932
+dec8_bin dec8
+dec8_swedish_ci dec8
+eucjpms_bin eucjpms
+eucjpms_japanese_ci eucjpms
+euckr_bin euckr
+euckr_korean_ci euckr
+filename filename
+gb2312_bin gb2312
+gb2312_chinese_ci gb2312
+gbk_bin gbk
+gbk_chinese_ci gbk
+geostd8_bin geostd8
+geostd8_general_ci geostd8
+greek_bin greek
+greek_general_ci greek
+hebrew_bin hebrew
+hebrew_general_ci hebrew
+hp8_bin hp8
+hp8_english_ci hp8
+keybcs2_bin keybcs2
+keybcs2_general_ci keybcs2
+koi8r_bin koi8r
+koi8r_general_ci koi8r
+koi8u_bin koi8u
+koi8u_general_ci koi8u
+latin1_bin latin1
+latin1_danish_ci latin1
+latin1_general_ci latin1
+latin1_general_cs latin1
+latin1_german1_ci latin1
+latin1_german2_ci latin1
+latin1_spanish_ci latin1
+latin1_swedish_ci latin1
+latin2_bin latin2
+latin2_croatian_ci latin2
+latin2_czech_cs latin2
+latin2_general_ci latin2
+latin2_hungarian_ci latin2
+latin5_bin latin5
+latin5_turkish_ci latin5
+latin7_bin latin7
+latin7_estonian_cs latin7
+latin7_general_ci latin7
+latin7_general_cs latin7
+macce_bin macce
+macce_general_ci macce
+macroman_bin macroman
+macroman_general_ci macroman
+sjis_bin sjis
+sjis_japanese_ci sjis
+swe7_bin swe7
+swe7_swedish_ci swe7
+tis620_bin tis620
+tis620_thai_ci tis620
+ucs2_bin ucs2
+ucs2_czech_ci ucs2
+ucs2_danish_ci ucs2
+ucs2_esperanto_ci ucs2
+ucs2_estonian_ci ucs2
+ucs2_general_ci ucs2
+ucs2_hungarian_ci ucs2
+ucs2_icelandic_ci ucs2
+ucs2_latvian_ci ucs2
+ucs2_lithuanian_ci ucs2
+ucs2_persian_ci ucs2
+ucs2_polish_ci ucs2
+ucs2_romanian_ci ucs2
+ucs2_roman_ci ucs2
+ucs2_slovak_ci ucs2
+ucs2_slovenian_ci ucs2
+ucs2_spanish2_ci ucs2
+ucs2_spanish_ci ucs2
+ucs2_swedish_ci ucs2
+ucs2_turkish_ci ucs2
+ucs2_unicode_ci ucs2
+ujis_bin ujis
+ujis_japanese_ci ujis
+utf8_bin utf8
+utf8_czech_ci utf8
+utf8_danish_ci utf8
+utf8_esperanto_ci utf8
+utf8_estonian_ci utf8
+utf8_general_ci utf8
+utf8_hungarian_ci utf8
+utf8_icelandic_ci utf8
+utf8_latvian_ci utf8
+utf8_lithuanian_ci utf8
+utf8_persian_ci utf8
+utf8_polish_ci utf8
+utf8_romanian_ci utf8
+utf8_roman_ci utf8
+utf8_slovak_ci utf8
+utf8_slovenian_ci utf8
+utf8_spanish2_ci utf8
+utf8_spanish_ci utf8
+utf8_swedish_ci utf8
+utf8_turkish_ci utf8
+utf8_unicode_ci utf8
+# Switch to connection default + disconnect con
+DROP USER dbdict_test@localhost;
diff --git a/mysql-test/suite/funcs_1/r/charset_collation_2.result b/mysql-test/suite/funcs_1/r/charset_collation_2.result
new file mode 100644
index 00000000000..a9fb15a588c
--- /dev/null
+++ b/mysql-test/suite/funcs_1/r/charset_collation_2.result
@@ -0,0 +1,314 @@
+DROP USER dbdict_test@localhost;
+CREATE USER dbdict_test@localhost;
+# Establish connection con (user=dbdict_test)
+
+SELECT *
+FROM information_schema.character_sets
+ORDER BY character_set_name;
+CHARACTER_SET_NAME DEFAULT_COLLATE_NAME DESCRIPTION MAXLEN
+armscii8 armscii8_general_ci ARMSCII-8 Armenian 1
+ascii ascii_general_ci US ASCII 1
+big5 big5_chinese_ci Big5 Traditional Chinese 2
+binary binary Binary pseudo charset 1
+cp1250 cp1250_general_ci Windows Central European 1
+cp1251 cp1251_general_ci Windows Cyrillic 1
+cp1256 cp1256_general_ci Windows Arabic 1
+cp1257 cp1257_general_ci Windows Baltic 1
+cp850 cp850_general_ci DOS West European 1
+cp852 cp852_general_ci DOS Central European 1
+cp866 cp866_general_ci DOS Russian 1
+cp932 cp932_japanese_ci SJIS for Windows Japanese 2
+dec8 dec8_swedish_ci DEC West European 1
+eucjpms eucjpms_japanese_ci UJIS for Windows Japanese 3
+euckr euckr_korean_ci EUC-KR Korean 2
+gb2312 gb2312_chinese_ci GB2312 Simplified Chinese 2
+gbk gbk_chinese_ci GBK Simplified Chinese 2
+geostd8 geostd8_general_ci GEOSTD8 Georgian 1
+greek greek_general_ci ISO 8859-7 Greek 1
+hebrew hebrew_general_ci ISO 8859-8 Hebrew 1
+hp8 hp8_english_ci HP West European 1
+keybcs2 keybcs2_general_ci DOS Kamenicky Czech-Slovak 1
+koi8r koi8r_general_ci KOI8-R Relcom Russian 1
+koi8u koi8u_general_ci KOI8-U Ukrainian 1
+latin1 latin1_swedish_ci cp1252 West European 1
+latin2 latin2_general_ci ISO 8859-2 Central European 1
+latin5 latin5_turkish_ci ISO 8859-9 Turkish 1
+latin7 latin7_general_ci ISO 8859-13 Baltic 1
+macce macce_general_ci Mac Central European 1
+macroman macroman_general_ci Mac West European 1
+sjis sjis_japanese_ci Shift-JIS Japanese 2
+swe7 swe7_swedish_ci 7bit Swedish 1
+tis620 tis620_thai_ci TIS620 Thai 1
+ucs2 ucs2_general_ci UCS-2 Unicode 2
+ujis ujis_japanese_ci EUC-JP Japanese 3
+utf8 utf8_general_ci UTF-8 Unicode 3
+
+SELECT *
+FROM information_schema.collations
+ORDER BY collation_name;
+COLLATION_NAME CHARACTER_SET_NAME ID IS_DEFAULT IS_COMPILED SORTLEN
+armscii8_bin armscii8 64 0
+armscii8_general_ci armscii8 32 Yes 0
+ascii_bin ascii 65 0
+ascii_general_ci ascii 11 Yes 0
+big5_bin big5 84 Yes 1
+big5_chinese_ci big5 1 Yes Yes 1
+binary binary 63 Yes Yes 1
+cp1250_bin cp1250 66 Yes 1
+cp1250_croatian_ci cp1250 44 Yes 1
+cp1250_czech_cs cp1250 34 Yes 2
+cp1250_general_ci cp1250 26 Yes Yes 1
+cp1250_polish_ci cp1250 99 Yes 1
+cp1251_bin cp1251 50 0
+cp1251_bulgarian_ci cp1251 14 0
+cp1251_general_ci cp1251 51 Yes 0
+cp1251_general_cs cp1251 52 0
+cp1251_ukrainian_ci cp1251 23 0
+cp1256_bin cp1256 67 0
+cp1256_general_ci cp1256 57 Yes 0
+cp1257_bin cp1257 58 0
+cp1257_general_ci cp1257 59 Yes 0
+cp1257_lithuanian_ci cp1257 29 0
+cp850_bin cp850 80 0
+cp850_general_ci cp850 4 Yes 0
+cp852_bin cp852 81 0
+cp852_general_ci cp852 40 Yes 0
+cp866_bin cp866 68 0
+cp866_general_ci cp866 36 Yes 0
+cp932_bin cp932 96 Yes 1
+cp932_japanese_ci cp932 95 Yes Yes 1
+dec8_bin dec8 69 0
+dec8_swedish_ci dec8 3 Yes 0
+eucjpms_bin eucjpms 98 Yes 1
+eucjpms_japanese_ci eucjpms 97 Yes Yes 1
+euckr_bin euckr 85 Yes 1
+euckr_korean_ci euckr 19 Yes Yes 1
+gb2312_bin gb2312 86 Yes 1
+gb2312_chinese_ci gb2312 24 Yes Yes 1
+gbk_bin gbk 87 Yes 1
+gbk_chinese_ci gbk 28 Yes Yes 1
+geostd8_bin geostd8 93 0
+geostd8_general_ci geostd8 92 Yes 0
+greek_bin greek 70 0
+greek_general_ci greek 25 Yes 0
+hebrew_bin hebrew 71 0
+hebrew_general_ci hebrew 16 Yes 0
+hp8_bin hp8 72 0
+hp8_english_ci hp8 6 Yes 0
+keybcs2_bin keybcs2 73 0
+keybcs2_general_ci keybcs2 37 Yes 0
+koi8r_bin koi8r 74 0
+koi8r_general_ci koi8r 7 Yes 0
+koi8u_bin koi8u 75 0
+koi8u_general_ci koi8u 22 Yes 0
+latin1_bin latin1 47 Yes 1
+latin1_danish_ci latin1 15 Yes 1
+latin1_general_ci latin1 48 Yes 1
+latin1_general_cs latin1 49 Yes 1
+latin1_german1_ci latin1 5 Yes 1
+latin1_german2_ci latin1 31 Yes 2
+latin1_spanish_ci latin1 94 Yes 1
+latin1_swedish_ci latin1 8 Yes Yes 1
+latin2_bin latin2 77 Yes 1
+latin2_croatian_ci latin2 27 Yes 1
+latin2_czech_cs latin2 2 Yes 4
+latin2_general_ci latin2 9 Yes Yes 1
+latin2_hungarian_ci latin2 21 Yes 1
+latin5_bin latin5 78 0
+latin5_turkish_ci latin5 30 Yes 0
+latin7_bin latin7 79 0
+latin7_estonian_cs latin7 20 0
+latin7_general_ci latin7 41 Yes 0
+latin7_general_cs latin7 42 0
+macce_bin macce 43 0
+macce_general_ci macce 38 Yes 0
+macroman_bin macroman 53 0
+macroman_general_ci macroman 39 Yes 0
+sjis_bin sjis 88 Yes 1
+sjis_japanese_ci sjis 13 Yes Yes 1
+swe7_bin swe7 82 0
+swe7_swedish_ci swe7 10 Yes 0
+tis620_bin tis620 89 Yes 1
+tis620_thai_ci tis620 18 Yes Yes 4
+ucs2_bin ucs2 90 Yes 1
+ucs2_czech_ci ucs2 138 Yes 8
+ucs2_danish_ci ucs2 139 Yes 8
+ucs2_esperanto_ci ucs2 145 Yes 8
+ucs2_estonian_ci ucs2 134 Yes 8
+ucs2_general_ci ucs2 35 Yes Yes 1
+ucs2_hungarian_ci ucs2 146 Yes 8
+ucs2_icelandic_ci ucs2 129 Yes 8
+ucs2_latvian_ci ucs2 130 Yes 8
+ucs2_lithuanian_ci ucs2 140 Yes 8
+ucs2_persian_ci ucs2 144 Yes 8
+ucs2_polish_ci ucs2 133 Yes 8
+ucs2_romanian_ci ucs2 131 Yes 8
+ucs2_roman_ci ucs2 143 Yes 8
+ucs2_slovak_ci ucs2 141 Yes 8
+ucs2_slovenian_ci ucs2 132 Yes 8
+ucs2_spanish2_ci ucs2 142 Yes 8
+ucs2_spanish_ci ucs2 135 Yes 8
+ucs2_swedish_ci ucs2 136 Yes 8
+ucs2_turkish_ci ucs2 137 Yes 8
+ucs2_unicode_ci ucs2 128 Yes 8
+ujis_bin ujis 91 Yes 1
+ujis_japanese_ci ujis 12 Yes Yes 1
+utf8_bin utf8 83 Yes 1
+utf8_czech_ci utf8 202 Yes 8
+utf8_danish_ci utf8 203 Yes 8
+utf8_esperanto_ci utf8 209 Yes 8
+utf8_estonian_ci utf8 198 Yes 8
+utf8_general_ci utf8 33 Yes Yes 1
+utf8_general_cs utf8 254 Yes 1
+utf8_hungarian_ci utf8 210 Yes 8
+utf8_icelandic_ci utf8 193 Yes 8
+utf8_latvian_ci utf8 194 Yes 8
+utf8_lithuanian_ci utf8 204 Yes 8
+utf8_persian_ci utf8 208 Yes 8
+utf8_polish_ci utf8 197 Yes 8
+utf8_romanian_ci utf8 195 Yes 8
+utf8_roman_ci utf8 207 Yes 8
+utf8_slovak_ci utf8 205 Yes 8
+utf8_slovenian_ci utf8 196 Yes 8
+utf8_spanish2_ci utf8 206 Yes 8
+utf8_spanish_ci utf8 199 Yes 8
+utf8_swedish_ci utf8 200 Yes 8
+utf8_turkish_ci utf8 201 Yes 8
+utf8_unicode_ci utf8 192 Yes 8
+
+
+SELECT *
+FROM information_schema.collation_character_set_applicability
+ORDER BY collation_name, character_set_name;
+COLLATION_NAME CHARACTER_SET_NAME
+armscii8_bin armscii8
+armscii8_general_ci armscii8
+ascii_bin ascii
+ascii_general_ci ascii
+big5_bin big5
+big5_chinese_ci big5
+binary binary
+cp1250_bin cp1250
+cp1250_croatian_ci cp1250
+cp1250_czech_cs cp1250
+cp1250_general_ci cp1250
+cp1250_polish_ci cp1250
+cp1251_bin cp1251
+cp1251_bulgarian_ci cp1251
+cp1251_general_ci cp1251
+cp1251_general_cs cp1251
+cp1251_ukrainian_ci cp1251
+cp1256_bin cp1256
+cp1256_general_ci cp1256
+cp1257_bin cp1257
+cp1257_general_ci cp1257
+cp1257_lithuanian_ci cp1257
+cp850_bin cp850
+cp850_general_ci cp850
+cp852_bin cp852
+cp852_general_ci cp852
+cp866_bin cp866
+cp866_general_ci cp866
+cp932_bin cp932
+cp932_japanese_ci cp932
+dec8_bin dec8
+dec8_swedish_ci dec8
+eucjpms_bin eucjpms
+eucjpms_japanese_ci eucjpms
+euckr_bin euckr
+euckr_korean_ci euckr
+filename filename
+gb2312_bin gb2312
+gb2312_chinese_ci gb2312
+gbk_bin gbk
+gbk_chinese_ci gbk
+geostd8_bin geostd8
+geostd8_general_ci geostd8
+greek_bin greek
+greek_general_ci greek
+hebrew_bin hebrew
+hebrew_general_ci hebrew
+hp8_bin hp8
+hp8_english_ci hp8
+keybcs2_bin keybcs2
+keybcs2_general_ci keybcs2
+koi8r_bin koi8r
+koi8r_general_ci koi8r
+koi8u_bin koi8u
+koi8u_general_ci koi8u
+latin1_bin latin1
+latin1_danish_ci latin1
+latin1_general_ci latin1
+latin1_general_cs latin1
+latin1_german1_ci latin1
+latin1_german2_ci latin1
+latin1_spanish_ci latin1
+latin1_swedish_ci latin1
+latin2_bin latin2
+latin2_croatian_ci latin2
+latin2_czech_cs latin2
+latin2_general_ci latin2
+latin2_hungarian_ci latin2
+latin5_bin latin5
+latin5_turkish_ci latin5
+latin7_bin latin7
+latin7_estonian_cs latin7
+latin7_general_ci latin7
+latin7_general_cs latin7
+macce_bin macce
+macce_general_ci macce
+macroman_bin macroman
+macroman_general_ci macroman
+sjis_bin sjis
+sjis_japanese_ci sjis
+swe7_bin swe7
+swe7_swedish_ci swe7
+tis620_bin tis620
+tis620_thai_ci tis620
+ucs2_bin ucs2
+ucs2_czech_ci ucs2
+ucs2_danish_ci ucs2
+ucs2_esperanto_ci ucs2
+ucs2_estonian_ci ucs2
+ucs2_general_ci ucs2
+ucs2_hungarian_ci ucs2
+ucs2_icelandic_ci ucs2
+ucs2_latvian_ci ucs2
+ucs2_lithuanian_ci ucs2
+ucs2_persian_ci ucs2
+ucs2_polish_ci ucs2
+ucs2_romanian_ci ucs2
+ucs2_roman_ci ucs2
+ucs2_slovak_ci ucs2
+ucs2_slovenian_ci ucs2
+ucs2_spanish2_ci ucs2
+ucs2_spanish_ci ucs2
+ucs2_swedish_ci ucs2
+ucs2_turkish_ci ucs2
+ucs2_unicode_ci ucs2
+ujis_bin ujis
+ujis_japanese_ci ujis
+utf8_bin utf8
+utf8_czech_ci utf8
+utf8_danish_ci utf8
+utf8_esperanto_ci utf8
+utf8_estonian_ci utf8
+utf8_general_ci utf8
+utf8_general_cs utf8
+utf8_hungarian_ci utf8
+utf8_icelandic_ci utf8
+utf8_latvian_ci utf8
+utf8_lithuanian_ci utf8
+utf8_persian_ci utf8
+utf8_polish_ci utf8
+utf8_romanian_ci utf8
+utf8_roman_ci utf8
+utf8_slovak_ci utf8
+utf8_slovenian_ci utf8
+utf8_spanish2_ci utf8
+utf8_spanish_ci utf8
+utf8_swedish_ci utf8
+utf8_turkish_ci utf8
+utf8_unicode_ci utf8
+# Switch to connection default + disconnect con
+DROP USER dbdict_test@localhost;
diff --git a/mysql-test/suite/funcs_1/r/charset_collation_3.result b/mysql-test/suite/funcs_1/r/charset_collation_3.result
new file mode 100644
index 00000000000..b9a2dbe8a98
--- /dev/null
+++ b/mysql-test/suite/funcs_1/r/charset_collation_3.result
@@ -0,0 +1,309 @@
+DROP USER dbdict_test@localhost;
+CREATE USER dbdict_test@localhost;
+# Establish connection con (user=dbdict_test)
+
+SELECT *
+FROM information_schema.character_sets
+ORDER BY character_set_name;
+CHARACTER_SET_NAME DEFAULT_COLLATE_NAME DESCRIPTION MAXLEN
+armscii8 armscii8_general_ci ARMSCII-8 Armenian 1
+ascii ascii_general_ci US ASCII 1
+big5 big5_chinese_ci Big5 Traditional Chinese 2
+binary binary Binary pseudo charset 1
+cp1250 cp1250_general_ci Windows Central European 1
+cp1251 cp1251_general_ci Windows Cyrillic 1
+cp1256 cp1256_general_ci Windows Arabic 1
+cp1257 cp1257_general_ci Windows Baltic 1
+cp850 cp850_general_ci DOS West European 1
+cp852 cp852_general_ci DOS Central European 1
+cp866 cp866_general_ci DOS Russian 1
+cp932 cp932_japanese_ci SJIS for Windows Japanese 2
+dec8 dec8_swedish_ci DEC West European 1
+eucjpms eucjpms_japanese_ci UJIS for Windows Japanese 3
+euckr euckr_korean_ci EUC-KR Korean 2
+gb2312 gb2312_chinese_ci GB2312 Simplified Chinese 2
+gbk gbk_chinese_ci GBK Simplified Chinese 2
+geostd8 geostd8_general_ci GEOSTD8 Georgian 1
+greek greek_general_ci ISO 8859-7 Greek 1
+hebrew hebrew_general_ci ISO 8859-8 Hebrew 1
+hp8 hp8_english_ci HP West European 1
+keybcs2 keybcs2_general_ci DOS Kamenicky Czech-Slovak 1
+koi8r koi8r_general_ci KOI8-R Relcom Russian 1
+koi8u koi8u_general_ci KOI8-U Ukrainian 1
+latin1 latin1_swedish_ci cp1252 West European 1
+latin2 latin2_general_ci ISO 8859-2 Central European 1
+latin5 latin5_turkish_ci ISO 8859-9 Turkish 1
+latin7 latin7_general_ci ISO 8859-13 Baltic 1
+macce macce_general_ci Mac Central European 1
+macroman macroman_general_ci Mac West European 1
+sjis sjis_japanese_ci Shift-JIS Japanese 2
+swe7 swe7_swedish_ci 7bit Swedish 1
+tis620 tis620_thai_ci TIS620 Thai 1
+ucs2 ucs2_general_ci UCS-2 Unicode 2
+ujis ujis_japanese_ci EUC-JP Japanese 3
+utf8 utf8_general_ci UTF-8 Unicode 3
+
+SELECT *
+FROM information_schema.collations
+ORDER BY collation_name;
+COLLATION_NAME CHARACTER_SET_NAME ID IS_DEFAULT IS_COMPILED SORTLEN
+armscii8_bin armscii8 64 Yes 1
+armscii8_general_ci armscii8 32 Yes Yes 1
+ascii_bin ascii 65 Yes 1
+ascii_general_ci ascii 11 Yes Yes 1
+big5_bin big5 84 Yes 1
+big5_chinese_ci big5 1 Yes Yes 1
+binary binary 63 Yes Yes 1
+cp1250_bin cp1250 66 Yes 1
+cp1250_croatian_ci cp1250 44 Yes 1
+cp1250_czech_cs cp1250 34 Yes 2
+cp1250_general_ci cp1250 26 Yes Yes 1
+cp1251_bin cp1251 50 Yes 1
+cp1251_bulgarian_ci cp1251 14 Yes 1
+cp1251_general_ci cp1251 51 Yes Yes 1
+cp1251_general_cs cp1251 52 Yes 1
+cp1251_ukrainian_ci cp1251 23 Yes 1
+cp1256_bin cp1256 67 Yes 1
+cp1256_general_ci cp1256 57 Yes Yes 1
+cp1257_bin cp1257 58 Yes 1
+cp1257_general_ci cp1257 59 Yes Yes 1
+cp1257_lithuanian_ci cp1257 29 Yes 1
+cp850_bin cp850 80 Yes 1
+cp850_general_ci cp850 4 Yes Yes 1
+cp852_bin cp852 81 Yes 1
+cp852_general_ci cp852 40 Yes Yes 1
+cp866_bin cp866 68 Yes 1
+cp866_general_ci cp866 36 Yes Yes 1
+cp932_bin cp932 96 Yes 1
+cp932_japanese_ci cp932 95 Yes Yes 1
+dec8_bin dec8 69 Yes 1
+dec8_swedish_ci dec8 3 Yes Yes 1
+eucjpms_bin eucjpms 98 Yes 1
+eucjpms_japanese_ci eucjpms 97 Yes Yes 1
+euckr_bin euckr 85 Yes 1
+euckr_korean_ci euckr 19 Yes Yes 1
+gb2312_bin gb2312 86 Yes 1
+gb2312_chinese_ci gb2312 24 Yes Yes 1
+gbk_bin gbk 87 Yes 1
+gbk_chinese_ci gbk 28 Yes Yes 1
+geostd8_bin geostd8 93 Yes 1
+geostd8_general_ci geostd8 92 Yes Yes 1
+greek_bin greek 70 Yes 1
+greek_general_ci greek 25 Yes Yes 1
+hebrew_bin hebrew 71 Yes 1
+hebrew_general_ci hebrew 16 Yes Yes 1
+hp8_bin hp8 72 Yes 1
+hp8_english_ci hp8 6 Yes Yes 1
+keybcs2_bin keybcs2 73 Yes 1
+keybcs2_general_ci keybcs2 37 Yes Yes 1
+koi8r_bin koi8r 74 Yes 1
+koi8r_general_ci koi8r 7 Yes Yes 1
+koi8u_bin koi8u 75 Yes 1
+koi8u_general_ci koi8u 22 Yes Yes 1
+latin1_bin latin1 47 Yes 1
+latin1_danish_ci latin1 15 Yes 1
+latin1_general_ci latin1 48 Yes 1
+latin1_general_cs latin1 49 Yes 1
+latin1_german1_ci latin1 5 Yes 1
+latin1_german2_ci latin1 31 Yes 2
+latin1_spanish_ci latin1 94 Yes 1
+latin1_swedish_ci latin1 8 Yes Yes 1
+latin2_bin latin2 77 Yes 1
+latin2_croatian_ci latin2 27 Yes 1
+latin2_czech_cs latin2 2 Yes 4
+latin2_general_ci latin2 9 Yes Yes 1
+latin2_hungarian_ci latin2 21 Yes 1
+latin5_bin latin5 78 Yes 1
+latin5_turkish_ci latin5 30 Yes Yes 1
+latin7_bin latin7 79 Yes 1
+latin7_estonian_cs latin7 20 Yes 1
+latin7_general_ci latin7 41 Yes Yes 1
+latin7_general_cs latin7 42 Yes 1
+macce_bin macce 43 Yes 1
+macce_general_ci macce 38 Yes Yes 1
+macroman_bin macroman 53 Yes 1
+macroman_general_ci macroman 39 Yes Yes 1
+sjis_bin sjis 88 Yes 1
+sjis_japanese_ci sjis 13 Yes Yes 1
+swe7_bin swe7 82 Yes 1
+swe7_swedish_ci swe7 10 Yes Yes 1
+tis620_bin tis620 89 Yes 1
+tis620_thai_ci tis620 18 Yes Yes 4
+ucs2_bin ucs2 90 Yes 1
+ucs2_czech_ci ucs2 138 Yes 8
+ucs2_danish_ci ucs2 139 Yes 8
+ucs2_esperanto_ci ucs2 145 Yes 8
+ucs2_estonian_ci ucs2 134 Yes 8
+ucs2_general_ci ucs2 35 Yes Yes 1
+ucs2_hungarian_ci ucs2 146 Yes 8
+ucs2_icelandic_ci ucs2 129 Yes 8
+ucs2_latvian_ci ucs2 130 Yes 8
+ucs2_lithuanian_ci ucs2 140 Yes 8
+ucs2_persian_ci ucs2 144 Yes 8
+ucs2_polish_ci ucs2 133 Yes 8
+ucs2_romanian_ci ucs2 131 Yes 8
+ucs2_roman_ci ucs2 143 Yes 8
+ucs2_slovak_ci ucs2 141 Yes 8
+ucs2_slovenian_ci ucs2 132 Yes 8
+ucs2_spanish2_ci ucs2 142 Yes 8
+ucs2_spanish_ci ucs2 135 Yes 8
+ucs2_swedish_ci ucs2 136 Yes 8
+ucs2_turkish_ci ucs2 137 Yes 8
+ucs2_unicode_ci ucs2 128 Yes 8
+ujis_bin ujis 91 Yes 1
+ujis_japanese_ci ujis 12 Yes Yes 1
+utf8_bin utf8 83 Yes 1
+utf8_czech_ci utf8 202 Yes 8
+utf8_danish_ci utf8 203 Yes 8
+utf8_esperanto_ci utf8 209 Yes 8
+utf8_estonian_ci utf8 198 Yes 8
+utf8_general_ci utf8 33 Yes Yes 1
+utf8_hungarian_ci utf8 210 Yes 8
+utf8_icelandic_ci utf8 193 Yes 8
+utf8_latvian_ci utf8 194 Yes 8
+utf8_lithuanian_ci utf8 204 Yes 8
+utf8_persian_ci utf8 208 Yes 8
+utf8_polish_ci utf8 197 Yes 8
+utf8_romanian_ci utf8 195 Yes 8
+utf8_roman_ci utf8 207 Yes 8
+utf8_slovak_ci utf8 205 Yes 8
+utf8_slovenian_ci utf8 196 Yes 8
+utf8_spanish2_ci utf8 206 Yes 8
+utf8_spanish_ci utf8 199 Yes 8
+utf8_swedish_ci utf8 200 Yes 8
+utf8_turkish_ci utf8 201 Yes 8
+utf8_unicode_ci utf8 192 Yes 8
+
+
+SELECT *
+FROM information_schema.collation_character_set_applicability
+ORDER BY collation_name, character_set_name;
+COLLATION_NAME CHARACTER_SET_NAME
+armscii8_bin armscii8
+armscii8_general_ci armscii8
+ascii_bin ascii
+ascii_general_ci ascii
+big5_bin big5
+big5_chinese_ci big5
+binary binary
+cp1250_bin cp1250
+cp1250_croatian_ci cp1250
+cp1250_czech_cs cp1250
+cp1250_general_ci cp1250
+cp1251_bin cp1251
+cp1251_bulgarian_ci cp1251
+cp1251_general_ci cp1251
+cp1251_general_cs cp1251
+cp1251_ukrainian_ci cp1251
+cp1256_bin cp1256
+cp1256_general_ci cp1256
+cp1257_bin cp1257
+cp1257_general_ci cp1257
+cp1257_lithuanian_ci cp1257
+cp850_bin cp850
+cp850_general_ci cp850
+cp852_bin cp852
+cp852_general_ci cp852
+cp866_bin cp866
+cp866_general_ci cp866
+cp932_bin cp932
+cp932_japanese_ci cp932
+dec8_bin dec8
+dec8_swedish_ci dec8
+eucjpms_bin eucjpms
+eucjpms_japanese_ci eucjpms
+euckr_bin euckr
+euckr_korean_ci euckr
+gb2312_bin gb2312
+gb2312_chinese_ci gb2312
+gbk_bin gbk
+gbk_chinese_ci gbk
+geostd8_bin geostd8
+geostd8_general_ci geostd8
+greek_bin greek
+greek_general_ci greek
+hebrew_bin hebrew
+hebrew_general_ci hebrew
+hp8_bin hp8
+hp8_english_ci hp8
+keybcs2_bin keybcs2
+keybcs2_general_ci keybcs2
+koi8r_bin koi8r
+koi8r_general_ci koi8r
+koi8u_bin koi8u
+koi8u_general_ci koi8u
+latin1_bin latin1
+latin1_danish_ci latin1
+latin1_general_ci latin1
+latin1_general_cs latin1
+latin1_german1_ci latin1
+latin1_german2_ci latin1
+latin1_spanish_ci latin1
+latin1_swedish_ci latin1
+latin2_bin latin2
+latin2_croatian_ci latin2
+latin2_czech_cs latin2
+latin2_general_ci latin2
+latin2_hungarian_ci latin2
+latin5_bin latin5
+latin5_turkish_ci latin5
+latin7_bin latin7
+latin7_estonian_cs latin7
+latin7_general_ci latin7
+latin7_general_cs latin7
+macce_bin macce
+macce_general_ci macce
+macroman_bin macroman
+macroman_general_ci macroman
+sjis_bin sjis
+sjis_japanese_ci sjis
+swe7_bin swe7
+swe7_swedish_ci swe7
+tis620_bin tis620
+tis620_thai_ci tis620
+ucs2_bin ucs2
+ucs2_czech_ci ucs2
+ucs2_danish_ci ucs2
+ucs2_esperanto_ci ucs2
+ucs2_estonian_ci ucs2
+ucs2_general_ci ucs2
+ucs2_hungarian_ci ucs2
+ucs2_icelandic_ci ucs2
+ucs2_latvian_ci ucs2
+ucs2_lithuanian_ci ucs2
+ucs2_persian_ci ucs2
+ucs2_polish_ci ucs2
+ucs2_romanian_ci ucs2
+ucs2_roman_ci ucs2
+ucs2_slovak_ci ucs2
+ucs2_slovenian_ci ucs2
+ucs2_spanish2_ci ucs2
+ucs2_spanish_ci ucs2
+ucs2_swedish_ci ucs2
+ucs2_turkish_ci ucs2
+ucs2_unicode_ci ucs2
+ujis_bin ujis
+ujis_japanese_ci ujis
+utf8_bin utf8
+utf8_czech_ci utf8
+utf8_danish_ci utf8
+utf8_esperanto_ci utf8
+utf8_estonian_ci utf8
+utf8_general_ci utf8
+utf8_hungarian_ci utf8
+utf8_icelandic_ci utf8
+utf8_latvian_ci utf8
+utf8_lithuanian_ci utf8
+utf8_persian_ci utf8
+utf8_polish_ci utf8
+utf8_romanian_ci utf8
+utf8_roman_ci utf8
+utf8_slovak_ci utf8
+utf8_slovenian_ci utf8
+utf8_spanish2_ci utf8
+utf8_spanish_ci utf8
+utf8_swedish_ci utf8
+utf8_turkish_ci utf8
+utf8_unicode_ci utf8
+# Switch to connection default + disconnect con
+DROP USER dbdict_test@localhost;
diff --git a/mysql-test/suite/funcs_1/r/innodb__datadict.result b/mysql-test/suite/funcs_1/r/innodb__datadict.result
deleted file mode 100644
index 7521ef4303c..00000000000
--- a/mysql-test/suite/funcs_1/r/innodb__datadict.result
+++ /dev/null
@@ -1,15268 +0,0 @@
-
-.
-. It is intended that the 3 <engine>__datadict.test files are named this way to be
-. sure they are - in a *full run* of the suite - the first tests done for each
-. storage engine. Using two _ and the order of processing in mysql-test-run.pl
-. ensures this in an easy way.
-.
-. If needed a restart could be implemented later between the storage engines if
-. values changes in the result depending from the position where the
-. *__datadict.test are started. This can be a result of showing e.g. maximum
-. values of the number of rows of tables.
-.
-. This .result file has been checked OK with Linux 5.0.23-bk,
-. ChangeSet@1.2211, 2006-06-28 10:11:43-07:00.
-.
---------------------------------------------------------------------------------
-
-FIXME: There are subtests that are switched off due to known bugs:
-------------------------------------------------------------------
-SELECT 1 AS "have_bug_11589";
-have_bug_11589
-1
-
-There are some statements where the ps-protocol is switched off.
-This may come from the bug listed below, ir from other problems.
-Bug#11589: mysqltest, --ps-protocol, strange output, float/double/real with zerofill
---------------------------------------------------------------------------------
-SET @NO_REFRESH = IF( '' = '', 0, 1);
-DROP DATABASE IF EXISTS test1;
-CREATE DATABASE test1;
-USE test;
-drop table if exists tb1 ;
-create table tb1 (
-f1 char(0),
-f2 char(0) binary,
-f3 char(0) ascii,
-f4 tinytext unicode,
-f5 text,
-f6 mediumtext,
-f7 longtext,
-f8 tinyblob,
-f9 blob,
-f10 mediumblob,
-f11 longblob,
-f12 binary,
-f13 tinyint,
-f14 tinyint unsigned,
-f15 tinyint zerofill,
-f16 tinyint unsigned zerofill,
-f17 smallint,
-f18 smallint unsigned,
-f19 smallint zerofill,
-f20 smallint unsigned zerofill,
-f21 mediumint,
-f22 mediumint unsigned,
-f23 mediumint zerofill,
-f24 mediumint unsigned zerofill,
-f25 int,
-f26 int unsigned,
-f27 int zerofill,
-f28 int unsigned zerofill,
-f29 bigint,
-f30 bigint unsigned,
-f31 bigint zerofill,
-f32 bigint unsigned zerofill,
-f33 decimal,
-f34 decimal unsigned,
-f35 decimal zerofill,
-f36 decimal unsigned zerofill not null DEFAULT 9.9,
-f37 decimal (0) not null DEFAULT 9.9,
-f38 decimal (64) not null DEFAULT 9.9,
-f39 decimal (0) unsigned not null DEFAULT 9.9,
-f40 decimal (64) unsigned not null DEFAULT 9.9,
-f41 decimal (0) zerofill not null DEFAULT 9.9,
-f42 decimal (64) zerofill not null DEFAULT 9.9,
-f43 decimal (0) unsigned zerofill not null DEFAULT 9.9,
-f44 decimal (64) unsigned zerofill not null DEFAULT 9.9,
-f45 decimal (0,0) not null DEFAULT 9.9,
-f46 decimal (63,30) not null DEFAULT 9.9,
-f47 decimal (0,0) unsigned not null DEFAULT 9.9,
-f48 decimal (63,30) unsigned not null DEFAULT 9.9,
-f49 decimal (0,0) zerofill not null DEFAULT 9.9,
-f50 decimal (63,30) zerofill not null DEFAULT 9.9,
-f51 decimal (0,0) unsigned zerofill not null DEFAULT 9.9,
-f52 decimal (63,30) unsigned zerofill not null DEFAULT 9.9,
-f53 numeric not null DEFAULT 99,
-f54 numeric unsigned not null DEFAULT 99,
-f55 numeric zerofill not null DEFAULT 99,
-f56 numeric unsigned zerofill not null DEFAULT 99,
-f57 numeric (0) not null DEFAULT 99,
-f58 numeric (64) not null DEFAULT 99
-) engine = innodb;
-Warnings:
-Note 1265 Data truncated for column 'f36' at row 1
-Note 1265 Data truncated for column 'f37' at row 1
-Note 1265 Data truncated for column 'f38' at row 1
-Note 1265 Data truncated for column 'f39' at row 1
-Note 1265 Data truncated for column 'f40' at row 1
-Note 1265 Data truncated for column 'f41' at row 1
-Note 1265 Data truncated for column 'f42' at row 1
-Note 1265 Data truncated for column 'f43' at row 1
-Note 1265 Data truncated for column 'f44' at row 1
-Note 1265 Data truncated for column 'f45' at row 1
-Note 1265 Data truncated for column 'f47' at row 1
-Note 1265 Data truncated for column 'f49' at row 1
-Note 1265 Data truncated for column 'f51' at row 1
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/innodb_tb1.txt' into table tb1 ;
-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 = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/innodb_tb2.txt' into table tb2 ;
-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 tinytext,
-f122 text,
-f123 mediumtext,
-f124 longtext unicode,
-f125 tinyblob,
-f126 blob,
-f127 mediumblob,
-f128 longblob,
-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 = innodb;
-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 'MYSQL_TEST_DIR/suite/funcs_1/data/innodb_tb3.txt' into table tb3 ;
-drop table if exists tb4;
-create table tb4 (
-f176 numeric (0) unsigned not null DEFAULT 9,
-f177 numeric (64) unsigned not null DEFAULT 9,
-f178 numeric (0) zerofill not null DEFAULT 9,
-f179 numeric (64) zerofill not null DEFAULT 9,
-f180 numeric (0) unsigned zerofill not null DEFAULT 9,
-f181 numeric (64) unsigned zerofill not null DEFAULT 9,
-f182 numeric (0,0) not null DEFAULT 9,
-f183 numeric (63,30) not null DEFAULT 9,
-f184 numeric (0,0) unsigned not null DEFAULT 9,
-f185 numeric (63,30) unsigned not null DEFAULT 9,
-f186 numeric (0,0) zerofill not null DEFAULT 9,
-f187 numeric (63,30) zerofill not null DEFAULT 9,
-f188 numeric (0,0) unsigned zerofill not null DEFAULT 9,
-f189 numeric (63,30) unsigned zerofill not null DEFAULT 9,
-f190 real not null DEFAULT 88.8,
-f191 real unsigned not null DEFAULT 88.8,
-f192 real zerofill not null DEFAULT 88.8,
-f193 real unsigned zerofill not null DEFAULT 88.8,
-f194 double not null DEFAULT 55.5,
-f195 double unsigned not null DEFAULT 55.5,
-f196 double zerofill not null DEFAULT 55.5,
-f197 double unsigned zerofill not null DEFAULT 55.5,
-f198 float,
-f199 float unsigned,
-f200 float zerofill,
-f201 float unsigned zerofill,
-f202 float(0),
-f203 float(23),
-f204 float(0) unsigned,
-f205 float(23) unsigned,
-f206 float(0) zerofill,
-f207 float(23) zerofill,
-f208 float(0) unsigned zerofill,
-f209 float(23) unsigned zerofill,
-f210 float(24),
-f211 float(53),
-f212 float(24) unsigned,
-f213 float(53) unsigned,
-f214 float(24) zerofill,
-f215 float(53) zerofill,
-f216 float(24) unsigned zerofill,
-f217 float(53) unsigned zerofill,
-f218 date,
-f219 time,
-f220 datetime,
-f221 timestamp,
-f222 year,
-f223 year(3),
-f224 year(4),
-f225 enum("1enum","2enum"),
-f226 set("1set","2set"),
-f235 char(0) unicode,
-f236 char(90),
-f237 char(255) ascii,
-f238 varchar(0),
-f239 varchar(20000) binary,
-f240 varchar(2000) unicode,
-f241 char(100) unicode
-) engine = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/innodb_tb4.txt' into table tb4 ;
-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 = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/innodb_tb2.txt' into table tb2 ;
-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 = innodb;
-CREATE TABLE t2 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = innodb;
-CREATE TABLE t4 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = innodb;
-CREATE TABLE t10 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = innodb;
-CREATE TABLE t11 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = innodb;
-LOAD DATA INFILE 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' INTO TABLE t1;
-LOAD DATA INFILE 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' INTO TABLE t2;
-LOAD DATA INFILE 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' INTO TABLE t4;
-LOAD DATA INFILE 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' INTO TABLE t10;
-LOAD DATA INFILE 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' INTO TABLE t11;
-drop TABLE if exists t3;
-CREATE TABLE t3 (f1 char(20), f2 char(20), f3 integer) ENGINE = innodb;
-LOAD DATA INFILE 'MYSQL_TEST_DIR/suite/funcs_1/data/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 = innodb;
-LOAD DATA INFILE 'MYSQL_TEST_DIR/suite/funcs_1/data/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 = innodb;
-CREATE TABLE t8 (f1 char(20), f2 char(25), f3 date, f4 int) ENGINE = innodb;
-LOAD DATA INFILE 'MYSQL_TEST_DIR/suite/funcs_1/data/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 'MYSQL_TEST_DIR/suite/funcs_1/data/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 = innodb;
-LOAD DATA INFILE 'MYSQL_TEST_DIR/suite/funcs_1/data/t9.txt' INTO TABLE t9;
-use information_schema;
-
-root@localhost information_schema
-
-Testcase 3.2.1.1:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-CREATE DATABASE db_datadict;
-USE db_datadict;
-CREATE VIEW v1 AS SELECT * FROM information_schema.tables;
-CREATE OR REPLACE VIEW db_datadict.vu1 as
-SELECT grantee AS u
-FROM information_schema.user_privileges;
-CREATE OR REPLACE VIEW db_datadict.vu as
-SELECT DISTINCT u,
-SUBSTRING( u, LENGTH(SUBSTRING_INDEX(u,_utf8'@',1))+3 )
-AS server,
-SUBSTRING( u, LENGTH(SUBSTRING_INDEX(u,_utf8'@',1))+3,
-LENGTH( SUBSTRING( u,
-LENGTH( SUBSTRING_INDEX(u, _utf8'@',1)) +3 )) - 1 )
-AS Server_Clean
-FROM db_datadict.vu1;
-SELECT * FROM db_datadict.vu order by u;
-u server Server_Clean
-'root'@'127.0.0.1' 127.0.0.1' 127.0.0.1
-'root'@'<SERVER_NAME>' <SERVER_NAME>' <SERVER_NAME>
-'root'@'localhost' localhost' localhost
-CREATE PROCEDURE db_datadict.sp_1()
-BEGIN
-SELECT * FROM db_datadict.v1;
-END//
-USE information_schema;
-SHOW tables;
-Tables_in_information_schema
-CHARACTER_SETS
-COLLATIONS
-COLLATION_CHARACTER_SET_APPLICABILITY
-COLUMNS
-COLUMN_PRIVILEGES
-ENGINES
-EVENTS
-FILES
-GLOBAL_STATUS
-GLOBAL_VARIABLES
-KEY_COLUMN_USAGE
-PARTITIONS
-PLUGINS
-PROCESSLIST
-REFERENTIAL_CONSTRAINTS
-ROUTINES
-SCHEMATA
-SCHEMA_PRIVILEGES
-SESSION_STATUS
-SESSION_VARIABLES
-STATISTICS
-TABLES
-TABLE_CONSTRAINTS
-TABLE_PRIVILEGES
-TRIGGERS
-USER_PRIVILEGES
-VIEWS
-select * from schemata ORDER BY 2 DESC, 1 ASC;
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL test4 latin1 latin1_swedish_ci NULL
-NULL test1 latin1 latin1_swedish_ci NULL
-NULL test latin1 latin1_swedish_ci NULL
-NULL mysql latin1 latin1_swedish_ci NULL
-NULL information_schema utf8 utf8_general_ci NULL
-NULL db_datadict latin1 latin1_swedish_ci NULL
-SELECT * FROM tables
-WHERE table_schema = 'information_schema';
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME CHARACTER_SETS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME COLLATIONS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME COLLATION_CHARACTER_SET_APPLICABILITY
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME COLUMNS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME COLUMN_PRIVILEGES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME ENGINES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME EVENTS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME FILES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME GLOBAL_STATUS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME GLOBAL_VARIABLES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME KEY_COLUMN_USAGE
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME PARTITIONS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME PLUGINS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME PROCESSLIST
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME REFERENTIAL_CONSTRAINTS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME ROUTINES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME SCHEMATA
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME SCHEMA_PRIVILEGES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME SESSION_STATUS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME SESSION_VARIABLES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME STATISTICS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME TABLES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME TABLE_CONSTRAINTS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME TABLE_PRIVILEGES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME TRIGGERS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME USER_PRIVILEGES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME VIEWS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-SELECT * FROM tables
-WHERE NOT( table_schema = 'information_schema');
-TABLE_CATALOG NULL
-TABLE_SCHEMA db_datadict
-TABLE_NAME v1
-TABLE_TYPE VIEW
-ENGINE NULL
-VERSION NULL
-ROW_FORMAT NULL
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION NULL
-CHECKSUM NULL
-CREATE_OPTIONS NULL
-TABLE_COMMENT VIEW
-TABLE_CATALOG NULL
-TABLE_SCHEMA db_datadict
-TABLE_NAME vu
-TABLE_TYPE VIEW
-ENGINE NULL
-VERSION NULL
-ROW_FORMAT NULL
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION NULL
-CHECKSUM NULL
-CREATE_OPTIONS NULL
-TABLE_COMMENT VIEW
-TABLE_CATALOG NULL
-TABLE_SCHEMA db_datadict
-TABLE_NAME vu1
-TABLE_TYPE VIEW
-ENGINE NULL
-VERSION NULL
-ROW_FORMAT NULL
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION NULL
-CHECKSUM NULL
-CREATE_OPTIONS NULL
-TABLE_COMMENT VIEW
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME columns_priv
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Column privileges
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME db
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 2
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Database privileges
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME event
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Events
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME func
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT User defined functions
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME general_log
-TABLE_TYPE BASE TABLE
-ENGINE CSV
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 2
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT General log
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME help_category
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT help categories
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME help_keyword
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT help keywords
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME help_relation
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT keyword-topic relation
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME help_topic
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT help topics
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME host
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Host privileges; Merged with database privileges
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME ndb_binlog_index
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME plugin
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT MySQL plugins
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME proc
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 1
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Stored Procedures
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME procs_priv
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Procedure privileges
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME servers
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT MySQL Foreign Servers table
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME slow_log
-TABLE_TYPE BASE TABLE
-ENGINE CSV
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 2
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Slow log
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME tables_priv
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Table privileges
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME time_zone
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 5
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT 6
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Time zones
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME time_zone_leap_second
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 22
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Leap seconds information for time zones
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME time_zone_name
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 6
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Time zone names
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME time_zone_transition
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 393
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Time zone transitions
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME time_zone_transition_type
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 31
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Time zone transition types
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME user
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 3
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Users and global privileges
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t1
-TABLE_TYPE BASE TABLE
-ENGINE InnoDB
-VERSION 10
-ROW_FORMAT Compact
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT InnoDB free: 3072 kB
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t10
-TABLE_TYPE BASE TABLE
-ENGINE InnoDB
-VERSION 10
-ROW_FORMAT Compact
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT InnoDB free: 3072 kB
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t11
-TABLE_TYPE BASE TABLE
-ENGINE InnoDB
-VERSION 10
-ROW_FORMAT Compact
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT InnoDB free: 3072 kB
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t2
-TABLE_TYPE BASE TABLE
-ENGINE InnoDB
-VERSION 10
-ROW_FORMAT Compact
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT InnoDB free: 3072 kB
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t3
-TABLE_TYPE BASE TABLE
-ENGINE InnoDB
-VERSION 10
-ROW_FORMAT Compact
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT InnoDB free: 3072 kB
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t4
-TABLE_TYPE BASE TABLE
-ENGINE InnoDB
-VERSION 10
-ROW_FORMAT Compact
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT InnoDB free: 3072 kB
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t7
-TABLE_TYPE BASE TABLE
-ENGINE InnoDB
-VERSION 10
-ROW_FORMAT Compact
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT InnoDB free: 3072 kB
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t8
-TABLE_TYPE BASE TABLE
-ENGINE InnoDB
-VERSION 10
-ROW_FORMAT Compact
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT InnoDB free: 3072 kB
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t9
-TABLE_TYPE BASE TABLE
-ENGINE InnoDB
-VERSION 10
-ROW_FORMAT Compact
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT InnoDB free: 3072 kB
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME tb1
-TABLE_TYPE BASE TABLE
-ENGINE InnoDB
-VERSION 10
-ROW_FORMAT Compact
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT InnoDB free: 3072 kB
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME tb2
-TABLE_TYPE BASE TABLE
-ENGINE InnoDB
-VERSION 10
-ROW_FORMAT Compact
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT InnoDB free: 3072 kB
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME tb3
-TABLE_TYPE BASE TABLE
-ENGINE InnoDB
-VERSION 10
-ROW_FORMAT Compact
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT InnoDB free: 3072 kB
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME tb4
-TABLE_TYPE BASE TABLE
-ENGINE InnoDB
-VERSION 10
-ROW_FORMAT Compact
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT InnoDB free: 3072 kB
-TABLE_CATALOG NULL
-TABLE_SCHEMA test1
-TABLE_NAME tb2
-TABLE_TYPE BASE TABLE
-ENGINE InnoDB
-VERSION 10
-ROW_FORMAT Compact
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT InnoDB free: 3072 kB
-TABLE_CATALOG NULL
-TABLE_SCHEMA test4
-TABLE_NAME t6
-TABLE_TYPE BASE TABLE
-ENGINE InnoDB
-VERSION 10
-ROW_FORMAT Compact
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT InnoDB free: 3072 kB
-select s.catalog_name, s.schema_name, s.default_character_set_name,
-t.table_type, t.engine
-from schemata s inner join tables t
-ORDER BY s.schema_name, s.default_character_set_name, table_type, engine;
-catalog_name schema_name default_character_set_name table_type engine
-NULL db_datadict latin1 BASE TABLE CSV
-NULL db_datadict latin1 BASE TABLE CSV
-NULL db_datadict latin1 BASE TABLE InnoDB
-NULL db_datadict latin1 BASE TABLE InnoDB
-NULL db_datadict latin1 BASE TABLE InnoDB
-NULL db_datadict latin1 BASE TABLE InnoDB
-NULL db_datadict latin1 BASE TABLE InnoDB
-NULL db_datadict latin1 BASE TABLE InnoDB
-NULL db_datadict latin1 BASE TABLE InnoDB
-NULL db_datadict latin1 BASE TABLE InnoDB
-NULL db_datadict latin1 BASE TABLE InnoDB
-NULL db_datadict latin1 BASE TABLE InnoDB
-NULL db_datadict latin1 BASE TABLE InnoDB
-NULL db_datadict latin1 BASE TABLE InnoDB
-NULL db_datadict latin1 BASE TABLE InnoDB
-NULL db_datadict latin1 BASE TABLE InnoDB
-NULL db_datadict latin1 BASE TABLE InnoDB
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 VIEW NULL
-NULL db_datadict latin1 VIEW NULL
-NULL db_datadict latin1 VIEW NULL
-NULL information_schema utf8 BASE TABLE CSV
-NULL information_schema utf8 BASE TABLE CSV
-NULL information_schema utf8 BASE TABLE InnoDB
-NULL information_schema utf8 BASE TABLE InnoDB
-NULL information_schema utf8 BASE TABLE InnoDB
-NULL information_schema utf8 BASE TABLE InnoDB
-NULL information_schema utf8 BASE TABLE InnoDB
-NULL information_schema utf8 BASE TABLE InnoDB
-NULL information_schema utf8 BASE TABLE InnoDB
-NULL information_schema utf8 BASE TABLE InnoDB
-NULL information_schema utf8 BASE TABLE InnoDB
-NULL information_schema utf8 BASE TABLE InnoDB
-NULL information_schema utf8 BASE TABLE InnoDB
-NULL information_schema utf8 BASE TABLE InnoDB
-NULL information_schema utf8 BASE TABLE InnoDB
-NULL information_schema utf8 BASE TABLE InnoDB
-NULL information_schema utf8 BASE TABLE InnoDB
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 VIEW NULL
-NULL information_schema utf8 VIEW NULL
-NULL information_schema utf8 VIEW NULL
-NULL mysql latin1 BASE TABLE CSV
-NULL mysql latin1 BASE TABLE CSV
-NULL mysql latin1 BASE TABLE InnoDB
-NULL mysql latin1 BASE TABLE InnoDB
-NULL mysql latin1 BASE TABLE InnoDB
-NULL mysql latin1 BASE TABLE InnoDB
-NULL mysql latin1 BASE TABLE InnoDB
-NULL mysql latin1 BASE TABLE InnoDB
-NULL mysql latin1 BASE TABLE InnoDB
-NULL mysql latin1 BASE TABLE InnoDB
-NULL mysql latin1 BASE TABLE InnoDB
-NULL mysql latin1 BASE TABLE InnoDB
-NULL mysql latin1 BASE TABLE InnoDB
-NULL mysql latin1 BASE TABLE InnoDB
-NULL mysql latin1 BASE TABLE InnoDB
-NULL mysql latin1 BASE TABLE InnoDB
-NULL mysql latin1 BASE TABLE InnoDB
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 VIEW NULL
-NULL mysql latin1 VIEW NULL
-NULL mysql latin1 VIEW NULL
-NULL test latin1 BASE TABLE CSV
-NULL test latin1 BASE TABLE CSV
-NULL test latin1 BASE TABLE InnoDB
-NULL test latin1 BASE TABLE InnoDB
-NULL test latin1 BASE TABLE InnoDB
-NULL test latin1 BASE TABLE InnoDB
-NULL test latin1 BASE TABLE InnoDB
-NULL test latin1 BASE TABLE InnoDB
-NULL test latin1 BASE TABLE InnoDB
-NULL test latin1 BASE TABLE InnoDB
-NULL test latin1 BASE TABLE InnoDB
-NULL test latin1 BASE TABLE InnoDB
-NULL test latin1 BASE TABLE InnoDB
-NULL test latin1 BASE TABLE InnoDB
-NULL test latin1 BASE TABLE InnoDB
-NULL test latin1 BASE TABLE InnoDB
-NULL test latin1 BASE TABLE InnoDB
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 VIEW NULL
-NULL test latin1 VIEW NULL
-NULL test latin1 VIEW NULL
-NULL test1 latin1 BASE TABLE CSV
-NULL test1 latin1 BASE TABLE CSV
-NULL test1 latin1 BASE TABLE InnoDB
-NULL test1 latin1 BASE TABLE InnoDB
-NULL test1 latin1 BASE TABLE InnoDB
-NULL test1 latin1 BASE TABLE InnoDB
-NULL test1 latin1 BASE TABLE InnoDB
-NULL test1 latin1 BASE TABLE InnoDB
-NULL test1 latin1 BASE TABLE InnoDB
-NULL test1 latin1 BASE TABLE InnoDB
-NULL test1 latin1 BASE TABLE InnoDB
-NULL test1 latin1 BASE TABLE InnoDB
-NULL test1 latin1 BASE TABLE InnoDB
-NULL test1 latin1 BASE TABLE InnoDB
-NULL test1 latin1 BASE TABLE InnoDB
-NULL test1 latin1 BASE TABLE InnoDB
-NULL test1 latin1 BASE TABLE InnoDB
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 VIEW NULL
-NULL test1 latin1 VIEW NULL
-NULL test1 latin1 VIEW NULL
-NULL test4 latin1 BASE TABLE CSV
-NULL test4 latin1 BASE TABLE CSV
-NULL test4 latin1 BASE TABLE InnoDB
-NULL test4 latin1 BASE TABLE InnoDB
-NULL test4 latin1 BASE TABLE InnoDB
-NULL test4 latin1 BASE TABLE InnoDB
-NULL test4 latin1 BASE TABLE InnoDB
-NULL test4 latin1 BASE TABLE InnoDB
-NULL test4 latin1 BASE TABLE InnoDB
-NULL test4 latin1 BASE TABLE InnoDB
-NULL test4 latin1 BASE TABLE InnoDB
-NULL test4 latin1 BASE TABLE InnoDB
-NULL test4 latin1 BASE TABLE InnoDB
-NULL test4 latin1 BASE TABLE InnoDB
-NULL test4 latin1 BASE TABLE InnoDB
-NULL test4 latin1 BASE TABLE InnoDB
-NULL test4 latin1 BASE TABLE InnoDB
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 VIEW NULL
-NULL test4 latin1 VIEW NULL
-NULL test4 latin1 VIEW NULL
-select * from columns;
-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
-NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema CHARACTER_SETS DESCRIPTION 3 NO varchar 60 180 NULL NULL utf8 utf8_general_ci varchar(60) select
-NULL information_schema CHARACTER_SETS MAXLEN 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema COLLATIONS COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATIONS CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATIONS ID 3 0 NO bigint NULL NULL 19 0 NULL NULL bigint(11) select
-NULL information_schema COLLATIONS IS_DEFAULT 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLLATIONS IS_COMPILED 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLLATIONS SORTLEN 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLUMN_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLUMN_TYPE 15 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema COLUMNS COLUMN_KEY 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLUMNS EXTRA 17 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema COLUMNS PRIVILEGES 18 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema COLUMNS COLUMN_COMMENT 19 NO varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
-NULL information_schema COLUMN_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES COLUMN_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES PRIVILEGE_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES IS_GRANTABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ENGINES ENGINE 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ENGINES SUPPORT 2 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema ENGINES COMMENT 3 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema ENGINES TRANSACTIONS 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ENGINES XA 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ENGINES SAVEPOINTS 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema EVENTS EVENT_CATALOG 1 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS EVENT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS EVENT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS DEFINER 4 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
-NULL information_schema EVENTS TIME_ZONE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS EVENT_BODY 6 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema EVENTS EVENT_DEFINITION 7 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema EVENTS EVENT_TYPE 8 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
-NULL information_schema EVENTS EXECUTE_AT 9 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS INTERVAL_VALUE 10 NULL YES varchar 256 768 NULL NULL utf8 utf8_general_ci varchar(256) select
-NULL information_schema EVENTS INTERVAL_FIELD 11 NULL YES varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select
-NULL information_schema EVENTS SQL_MODE 12 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema EVENTS STARTS 13 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS ENDS 14 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS STATUS 15 NO varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select
-NULL information_schema EVENTS ON_COMPLETION 16 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema EVENTS CREATED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS LAST_ALTERED 18 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS LAST_EXECUTED 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS EVENT_COMMENT 20 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS ORIGINATOR 21 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select
-NULL information_schema FILES FILE_ID 1 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES FILE_NAME 2 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES FILE_TYPE 3 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema FILES TABLESPACE_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES TABLE_CATALOG 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES TABLE_SCHEMA 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES TABLE_NAME 7 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES LOGFILE_GROUP_NAME 8 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES LOGFILE_GROUP_NUMBER 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES ENGINE 10 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES FULLTEXT_KEYS 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES DELETED_ROWS 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES UPDATE_COUNT 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES FREE_EXTENTS 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES TOTAL_EXTENTS 15 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES EXTENT_SIZE 16 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES INITIAL_SIZE 17 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES MAXIMUM_SIZE 18 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES AUTOEXTEND_SIZE 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES CREATION_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES LAST_UPDATE_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES LAST_ACCESS_TIME 22 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES RECOVER_TIME 23 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES TRANSACTION_COUNTER 24 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES VERSION 25 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES ROW_FORMAT 26 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema FILES TABLE_ROWS 27 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES AVG_ROW_LENGTH 28 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES DATA_LENGTH 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES MAX_DATA_LENGTH 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES INDEX_LENGTH 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES DATA_FREE 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES CREATE_TIME 33 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES UPDATE_TIME 34 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES CHECK_TIME 35 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES CHECKSUM 36 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES STATUS 37 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema FILES EXTRA 38 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
-NULL information_schema GLOBAL_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema GLOBAL_STATUS VARIABLE_VALUE 2 0.0000000 NO decimal NULL NULL 22 7 NULL NULL decimal(22,7) select
-NULL information_schema GLOBAL_VARIABLES VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema GLOBAL_VARIABLES VARIABLE_VALUE 2 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE COLUMN_NAME 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE ORDINAL_POSITION 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select
-NULL information_schema KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(10) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_NAME 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME 12 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema PARTITIONS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS PARTITION_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS SUBPARTITION_NAME 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION 7 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS PARTITION_METHOD 8 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema PARTITIONS SUBPARTITION_METHOD 9 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema PARTITIONS PARTITION_EXPRESSION 10 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PARTITIONS SUBPARTITION_EXPRESSION 11 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PARTITIONS PARTITION_DESCRIPTION 12 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PARTITIONS TABLE_ROWS 13 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS AVG_ROW_LENGTH 14 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS DATA_LENGTH 15 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS MAX_DATA_LENGTH 16 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS INDEX_LENGTH 17 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS DATA_FREE 18 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS CREATE_TIME 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema PARTITIONS UPDATE_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema PARTITIONS CHECK_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema PARTITIONS CHECKSUM 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS PARTITION_COMMENT 23 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema PARTITIONS NODEGROUP 24 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema PARTITIONS TABLESPACE_NAME 25 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_VERSION 2 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema PLUGINS PLUGIN_STATUS 3 NO varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema PLUGINS PLUGIN_TYPE 4 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema PLUGINS PLUGIN_TYPE_VERSION 5 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema PLUGINS PLUGIN_LIBRARY 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_LIBRARY_VERSION 7 NULL YES varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema PLUGINS PLUGIN_AUTHOR 8 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_DESCRIPTION 9 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PLUGINS PLUGIN_LICENSE 10 NULL YES varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema PROCESSLIST ID 1 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema PROCESSLIST USER 2 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema PROCESSLIST HOST 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PROCESSLIST DB 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PROCESSLIST COMMAND 5 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema PROCESSLIST TIME 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(7) select
-NULL information_schema PROCESSLIST STATE 7 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PROCESSLIST INFO 8 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS MATCH_OPTION 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UPDATE_RULE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS DELETE_RULE 9 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS TABLE_NAME 10 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS REFERENCED_TABLE_NAME 11 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES SPECIFIC_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema ROUTINES ROUTINE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_TYPE 5 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
-NULL information_schema ROUTINES DTD_IDENTIFIER 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_BODY 7 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema ROUTINES ROUTINE_DEFINITION 8 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema ROUTINES EXTERNAL_NAME 9 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES EXTERNAL_LANGUAGE 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES PARAMETER_STYLE 11 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema ROUTINES IS_DETERMINISTIC 12 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ROUTINES SQL_DATA_ACCESS 13 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES SQL_PATH 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES SECURITY_TYPE 15 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select
-NULL information_schema ROUTINES CREATED 16 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema ROUTINES LAST_ALTERED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema ROUTINES SQL_MODE 18 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema ROUTINES ROUTINE_COMMENT 19 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES DEFINER 20 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
-NULL information_schema SCHEMATA CATALOG_NAME 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema SCHEMATA SCHEMA_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA DEFAULT_COLLATION_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA SQL_PATH 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema SCHEMA_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema SCHEMA_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMA_PRIVILEGES IS_GRANTABLE 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema SESSION_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SESSION_STATUS VARIABLE_VALUE 2 0.0000000 NO decimal NULL NULL 22 7 NULL NULL decimal(22,7) select
-NULL information_schema SESSION_VARIABLES VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SESSION_VARIABLES VARIABLE_VALUE 2 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema STATISTICS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema STATISTICS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS NON_UNIQUE 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(1) select
-NULL information_schema STATISTICS INDEX_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS INDEX_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS SEQ_IN_INDEX 7 0 NO bigint NULL NULL 19 0 NULL NULL bigint(2) select
-NULL information_schema STATISTICS COLUMN_NAME 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS COLLATION 9 NULL YES varchar 1 3 NULL NULL utf8 utf8_general_ci varchar(1) select
-NULL information_schema STATISTICS CARDINALITY 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select
-NULL information_schema STATISTICS SUB_PART 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema STATISTICS PACKED 12 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema STATISTICS NULLABLE 13 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema STATISTICS INDEX_TYPE 14 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema STATISTICS COMMENT 15 NULL YES varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema TABLES TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
-NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS TABLE_SCHEMA 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS TABLE_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema TABLE_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLE_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES PRIVILEGE_TYPE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES IS_GRANTABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema TRIGGERS TRIGGER_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TRIGGERS TRIGGER_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS TRIGGER_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS EVENT_MANIPULATION 4 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select
-NULL information_schema TRIGGERS EVENT_OBJECT_CATALOG 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TRIGGERS EVENT_OBJECT_SCHEMA 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS EVENT_OBJECT_TABLE 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_ORDER 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema TRIGGERS ACTION_CONDITION 9 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS ACTION_STATEMENT 10 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS ACTION_ORIENTATION 11 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
-NULL information_schema TRIGGERS ACTION_TIMING 12 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_TABLE 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_TABLE 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_ROW 15 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_ROW 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema TRIGGERS CREATED 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TRIGGERS SQL_MODE 18 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS DEFINER 19 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema USER_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema USER_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema USER_PRIVILEGES PRIVILEGE_TYPE 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema USER_PRIVILEGES IS_GRANTABLE 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema VIEWS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema VIEWS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema VIEWS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema VIEWS VIEW_DEFINITION 4 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema VIEWS CHECK_OPTION 5 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema VIEWS IS_UPDATABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema VIEWS DEFINER 7 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
-NULL information_schema VIEWS SECURITY_TYPE 8 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select
-NULL db_datadict v1 TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select,insert,update,references
-NULL db_datadict v1 TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
-NULL db_datadict v1 TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
-NULL db_datadict v1 TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
-NULL db_datadict v1 ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
-NULL db_datadict v1 VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references
-NULL db_datadict v1 ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select,insert,update,references
-NULL db_datadict v1 TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references
-NULL db_datadict v1 AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references
-NULL db_datadict v1 DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references
-NULL db_datadict v1 MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references
-NULL db_datadict v1 INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references
-NULL db_datadict v1 DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references
-NULL db_datadict v1 AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references
-NULL db_datadict v1 CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL db_datadict v1 UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL db_datadict v1 CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL db_datadict v1 TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
-NULL db_datadict v1 CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references
-NULL db_datadict v1 CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select,insert,update,references
-NULL db_datadict v1 TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select,insert,update,references
-NULL db_datadict vu u 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select,insert,update,references
-NULL db_datadict vu server 2 NO varchar 243 729 NULL NULL utf8 utf8_general_ci varchar(243) select,insert,update,references
-NULL db_datadict vu Server_Clean 3 NO varchar 243 729 NULL NULL utf8 utf8_general_ci varchar(243) select,insert,update,references
-NULL db_datadict vu1 u 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select,insert,update,references
-NULL mysql columns_priv Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
-NULL mysql columns_priv Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql columns_priv User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
-NULL mysql columns_priv Table_name 4 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql columns_priv Column_name 5 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql columns_priv Timestamp 6 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql columns_priv Column_priv 7 NO set 31 93 NULL NULL utf8 utf8_general_ci set('Select','Insert','Update','References') select,insert,update,references
-NULL mysql db Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
-NULL mysql db Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql db User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
-NULL mysql db Select_priv 4 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Insert_priv 5 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Update_priv 6 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Delete_priv 7 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Create_priv 8 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Drop_priv 9 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Grant_priv 10 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db References_priv 11 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Index_priv 12 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Alter_priv 13 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Create_tmp_table_priv 14 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Lock_tables_priv 15 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Create_view_priv 16 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Show_view_priv 17 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Create_routine_priv 18 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Alter_routine_priv 19 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Execute_priv 20 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Event_priv 21 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Trigger_priv 22 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql event db 1 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql event name 2 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) PRI select,insert,update,references
-NULL mysql event body 3 NULL NO longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references
-NULL mysql event definer 4 NO char 77 231 NULL NULL utf8 utf8_bin char(77) select,insert,update,references
-NULL mysql event execute_at 5 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL mysql event interval_value 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql event interval_field 7 NULL YES enum 18 54 NULL NULL utf8 utf8_general_ci enum('YEAR','QUARTER','MONTH','DAY','HOUR','MINUTE','WEEK','SECOND','MICROSECOND','YEAR_MONTH','DAY_HOUR','DAY_MINUTE','DAY_SECOND','HOUR_MINUTE','HOUR_SECOND','MINUTE_SECOND','DAY_MICROSECOND','HOUR_MICROSECOND','MINUTE_MICROSECOND','SECOND_MICROSECOND') select,insert,update,references
-NULL mysql event created 8 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql event modified 9 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql event last_executed 10 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL mysql event starts 11 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL mysql event ends 12 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL mysql event status 13 ENABLED NO enum 18 54 NULL NULL utf8 utf8_general_ci enum('ENABLED','DISABLED','SLAVESIDE_DISABLED') select,insert,update,references
-NULL mysql event on_completion 14 DROP NO enum 8 24 NULL NULL utf8 utf8_general_ci enum('DROP','PRESERVE') select,insert,update,references
-NULL mysql event sql_mode 15 NO set 431 1293 NULL NULL utf8 utf8_general_ci set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE') select,insert,update,references
-NULL mysql event comment 16 NO char 64 192 NULL NULL utf8 utf8_bin char(64) select,insert,update,references
-NULL mysql event originator 17 NULL NO int NULL NULL 10 0 NULL NULL int(10) select,insert,update,references
-NULL mysql event time_zone 18 SYSTEM NO char 64 64 NULL NULL latin1 latin1_swedish_ci char(64) select,insert,update,references
-NULL mysql func name 1 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql func ret 2 0 NO tinyint NULL NULL 3 0 NULL NULL tinyint(1) select,insert,update,references
-NULL mysql func dl 3 NO char 128 384 NULL NULL utf8 utf8_bin char(128) select,insert,update,references
-NULL mysql func type 4 NULL NO enum 9 27 NULL NULL utf8 utf8_general_ci enum('function','aggregate') select,insert,update,references
-NULL mysql general_log event_time 1 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql general_log user_host 2 NULL YES mediumtext 16777215 16777215 NULL NULL utf8 utf8_general_ci mediumtext select,insert,update,references
-NULL mysql general_log thread_id 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql general_log server_id 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql general_log command_type 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
-NULL mysql general_log argument 6 NULL YES mediumtext 16777215 16777215 NULL NULL utf8 utf8_general_ci mediumtext select,insert,update,references
-NULL mysql help_category help_category_id 1 NULL NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned PRI select,insert,update,references
-NULL mysql help_category name 2 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) UNI select,insert,update,references
-NULL mysql help_category parent_category_id 3 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references
-NULL mysql help_category url 4 NULL NO char 128 384 NULL NULL utf8 utf8_general_ci char(128) select,insert,update,references
-NULL mysql help_keyword help_keyword_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references
-NULL mysql help_keyword name 2 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) UNI select,insert,update,references
-NULL mysql help_relation help_topic_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references
-NULL mysql help_relation help_keyword_id 2 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references
-NULL mysql help_topic help_topic_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references
-NULL mysql help_topic name 2 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) UNI select,insert,update,references
-NULL mysql help_topic help_category_id 3 NULL NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references
-NULL mysql help_topic description 4 NULL NO text 65535 65535 NULL NULL utf8 utf8_general_ci text select,insert,update,references
-NULL mysql help_topic example 5 NULL NO text 65535 65535 NULL NULL utf8 utf8_general_ci text select,insert,update,references
-NULL mysql help_topic url 6 NULL NO char 128 384 NULL NULL utf8 utf8_general_ci char(128) select,insert,update,references
-NULL mysql host Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
-NULL mysql host Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql host Select_priv 3 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Insert_priv 4 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Update_priv 5 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Delete_priv 6 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Create_priv 7 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Drop_priv 8 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Grant_priv 9 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host References_priv 10 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Index_priv 11 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Alter_priv 12 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Create_tmp_table_priv 13 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Lock_tables_priv 14 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Create_view_priv 15 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Show_view_priv 16 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Create_routine_priv 17 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Alter_routine_priv 18 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Execute_priv 19 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Trigger_priv 20 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql ndb_binlog_index Position 1 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL mysql ndb_binlog_index File 2 NULL NO varchar 255 255 NULL NULL latin1 latin1_swedish_ci varchar(255) select,insert,update,references
-NULL mysql ndb_binlog_index epoch 3 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned PRI select,insert,update,references
-NULL mysql ndb_binlog_index inserts 4 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL mysql ndb_binlog_index updates 5 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL mysql ndb_binlog_index deletes 6 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL mysql ndb_binlog_index schemaops 7 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL mysql plugin name 1 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql plugin dl 2 NO char 128 384 NULL NULL utf8 utf8_bin char(128) select,insert,update,references
-NULL mysql proc db 1 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql proc name 2 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) PRI select,insert,update,references
-NULL mysql proc type 3 NULL NO enum 9 27 NULL NULL utf8 utf8_general_ci enum('FUNCTION','PROCEDURE') PRI select,insert,update,references
-NULL mysql proc specific_name 4 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql proc language 5 SQL NO enum 3 9 NULL NULL utf8 utf8_general_ci enum('SQL') select,insert,update,references
-NULL mysql proc sql_data_access 6 CONTAINS_SQL NO enum 17 51 NULL NULL utf8 utf8_general_ci enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA') select,insert,update,references
-NULL mysql proc is_deterministic 7 NO NO enum 3 9 NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references
-NULL mysql proc security_type 8 DEFINER NO enum 7 21 NULL NULL utf8 utf8_general_ci enum('INVOKER','DEFINER') select,insert,update,references
-NULL mysql proc param_list 9 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
-NULL mysql proc returns 10 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql proc body 11 NULL NO longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references
-NULL mysql proc definer 12 NO char 77 231 NULL NULL utf8 utf8_bin char(77) select,insert,update,references
-NULL mysql proc created 13 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql proc modified 14 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql proc sql_mode 15 NO set 431 1293 NULL NULL utf8 utf8_general_ci set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE') select,insert,update,references
-NULL mysql proc comment 16 NO char 64 192 NULL NULL utf8 utf8_bin char(64) select,insert,update,references
-NULL mysql procs_priv Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
-NULL mysql procs_priv Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql procs_priv User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
-NULL mysql procs_priv Routine_name 4 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql procs_priv Routine_type 5 NULL NO enum 9 27 NULL NULL utf8 utf8_bin enum('FUNCTION','PROCEDURE') PRI select,insert,update,references
-NULL mysql procs_priv Grantor 6 NO char 77 231 NULL NULL utf8 utf8_bin char(77) MUL select,insert,update,references
-NULL mysql procs_priv Proc_priv 7 NO set 27 81 NULL NULL utf8 utf8_general_ci set('Execute','Alter Routine','Grant') select,insert,update,references
-NULL mysql procs_priv Timestamp 8 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql servers Server_name 1 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) PRI select,insert,update,references
-NULL mysql servers Host 2 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql servers Db 3 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql servers Username 4 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql servers Password 5 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql servers Port 6 0 NO int NULL NULL 10 0 NULL NULL int(4) select,insert,update,references
-NULL mysql servers Socket 7 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql servers Wrapper 8 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql servers Owner 9 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql slow_log start_time 1 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql slow_log user_host 2 NULL NO mediumtext 16777215 16777215 NULL NULL utf8 utf8_general_ci mediumtext select,insert,update,references
-NULL mysql slow_log query_time 3 NULL NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references
-NULL mysql slow_log lock_time 4 NULL NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references
-NULL mysql slow_log rows_sent 5 NULL NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql slow_log rows_examined 6 NULL NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql slow_log db 7 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select,insert,update,references
-NULL mysql slow_log last_insert_id 8 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql slow_log insert_id 9 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql slow_log server_id 10 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql slow_log sql_text 11 NULL NO mediumtext 16777215 16777215 NULL NULL utf8 utf8_general_ci mediumtext select,insert,update,references
-NULL mysql tables_priv Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
-NULL mysql tables_priv Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql tables_priv User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
-NULL mysql tables_priv Table_name 4 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql tables_priv Grantor 5 NO char 77 231 NULL NULL utf8 utf8_bin char(77) MUL select,insert,update,references
-NULL mysql tables_priv Timestamp 6 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql tables_priv Table_priv 7 NO set 98 294 NULL NULL utf8 utf8_general_ci set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view','Trigger') select,insert,update,references
-NULL mysql tables_priv Column_priv 8 NO set 31 93 NULL NULL utf8 utf8_general_ci set('Select','Insert','Update','References') select,insert,update,references
-NULL mysql time_zone Time_zone_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI auto_increment select,insert,update,references
-NULL mysql time_zone Use_leap_seconds 2 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('Y','N') select,insert,update,references
-NULL mysql time_zone_leap_second Transition_time 1 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) PRI select,insert,update,references
-NULL mysql time_zone_leap_second Correction 2 NULL NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql time_zone_name Name 1 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) PRI select,insert,update,references
-NULL mysql time_zone_name Time_zone_id 2 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references
-NULL mysql time_zone_transition Time_zone_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references
-NULL mysql time_zone_transition Transition_time 2 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) PRI select,insert,update,references
-NULL mysql time_zone_transition Transition_type_id 3 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references
-NULL mysql time_zone_transition_type Time_zone_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references
-NULL 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
-NULL mysql time_zone_transition_type Offset 3 0 NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql time_zone_transition_type Is_DST 4 0 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references
-NULL mysql time_zone_transition_type Abbreviation 5 NO char 8 24 NULL NULL utf8 utf8_general_ci char(8) select,insert,update,references
-NULL mysql user Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
-NULL mysql user User 2 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
-NULL mysql user Password 3 NO char 41 41 NULL NULL latin1 latin1_bin char(41) select,insert,update,references
-NULL mysql user Select_priv 4 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Insert_priv 5 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Update_priv 6 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Delete_priv 7 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Create_priv 8 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Drop_priv 9 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Reload_priv 10 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Shutdown_priv 11 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Process_priv 12 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user File_priv 13 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Grant_priv 14 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user References_priv 15 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Index_priv 16 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Alter_priv 17 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Show_db_priv 18 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Super_priv 19 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Create_tmp_table_priv 20 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Lock_tables_priv 21 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Execute_priv 22 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Repl_slave_priv 23 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Repl_client_priv 24 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Create_view_priv 25 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Show_view_priv 26 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Create_routine_priv 27 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Alter_routine_priv 28 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Create_user_priv 29 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Event_priv 30 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Trigger_priv 31 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user ssl_type 32 NO enum 9 27 NULL NULL utf8 utf8_general_ci enum('','ANY','X509','SPECIFIED') select,insert,update,references
-NULL mysql user ssl_cipher 33 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
-NULL mysql user x509_issuer 34 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
-NULL mysql user x509_subject 35 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
-NULL mysql user max_questions 36 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references
-NULL mysql user max_updates 37 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references
-NULL mysql user max_connections 38 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references
-NULL mysql user max_user_connections 39 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references
-NULL test t1 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t1 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t1 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t1 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t1 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t1 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t10 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t10 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t10 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t10 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t10 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t10 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t11 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t11 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t11 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t11 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t11 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t11 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t2 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t2 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t2 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t2 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t2 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t2 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t3 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t3 f2 2 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t3 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t4 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t4 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t4 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t4 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t4 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t4 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t7 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t7 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t7 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t7 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t8 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t8 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t8 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t8 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t9 f1 1 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t9 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t9 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test tb1 f1 1 NULL YES char 0 0 NULL NULL latin1 latin1_swedish_ci char(0) select,insert,update,references
-NULL test tb1 f2 2 NULL YES char 0 0 NULL NULL latin1 latin1_bin char(0) select,insert,update,references
-NULL test tb1 f3 3 NULL YES char 0 0 NULL NULL latin1 latin1_swedish_ci char(0) select,insert,update,references
-NULL test tb1 f4 4 NULL YES tinytext 127 255 NULL NULL ucs2 ucs2_general_ci tinytext select,insert,update,references
-NULL test tb1 f5 5 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references
-NULL test tb1 f6 6 NULL YES mediumtext 16777215 16777215 NULL NULL latin1 latin1_swedish_ci mediumtext select,insert,update,references
-NULL test tb1 f7 7 NULL YES longtext 4294967295 4294967295 NULL NULL latin1 latin1_swedish_ci longtext select,insert,update,references
-NULL test tb1 f8 8 NULL YES tinyblob 255 255 NULL NULL NULL NULL tinyblob select,insert,update,references
-NULL test tb1 f9 9 NULL YES blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
-NULL test tb1 f10 10 NULL YES mediumblob 16777215 16777215 NULL NULL NULL NULL mediumblob select,insert,update,references
-NULL test tb1 f11 11 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references
-NULL test tb1 f12 12 NULL YES binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references
-NULL test tb1 f13 13 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references
-NULL test tb1 f14 14 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references
-NULL test tb1 f15 15 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb1 f16 16 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb1 f17 17 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references
-NULL test tb1 f18 18 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references
-NULL test tb1 f19 19 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb1 f20 20 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb1 f21 21 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references
-NULL test tb1 f22 22 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references
-NULL test tb1 f23 23 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb1 f24 24 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb1 f25 25 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test tb1 f26 26 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references
-NULL test tb1 f27 27 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb1 f28 28 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb1 f29 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references
-NULL test tb1 f30 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL test tb1 f31 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb1 f32 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb1 f33 33 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f34 34 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f35 35 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f36 36 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f37 37 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f38 38 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb1 f39 39 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f40 40 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb1 f41 41 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f42 42 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f43 43 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f44 44 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f45 45 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f46 46 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb1 f47 47 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f48 48 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb1 f49 49 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f50 50 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb1 f51 51 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f52 52 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb1 f53 53 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f54 54 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f55 55 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f56 56 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f57 57 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f58 58 99 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb2 f59 1 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb2 f60 2 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb2 f61 3 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f62 4 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f63 5 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f64 6 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f65 7 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb2 f66 8 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb2 f67 9 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb2 f68 10 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb2 f69 11 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f70 12 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb2 f71 13 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f72 14 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb2 f73 15 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb2 f74 16 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb2 f75 17 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f76 18 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f77 19 7.7 YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb2 f78 20 7.7 YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb2 f79 21 00000000000000000007.7 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f80 22 00000000000000000008.8 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f81 23 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f82 24 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f83 25 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f84 26 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f85 27 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f86 28 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f87 29 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f88 30 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f89 31 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f90 32 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f91 33 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f92 34 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f93 35 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f94 36 8.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb2 f95 37 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f96 38 8.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb2 f97 39 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f98 40 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f99 41 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f100 42 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f101 43 2000-01-01 NO date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test tb2 f102 44 00:00:20 NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references
-NULL test tb2 f103 45 0002-02-02 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL test tb2 f104 46 2000-12-31 23:59:59 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL test tb2 f105 47 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb2 f106 48 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb2 f107 49 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb2 f108 50 1enum NO enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references
-NULL test tb2 f109 51 1set NO set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references
-NULL test tb3 f118 1 a NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
-NULL test tb3 f119 2  NO char 1 1 NULL NULL latin1 latin1_bin char(1) select,insert,update,references
-NULL test tb3 f120 3  NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
-NULL test tb3 f121 4 NULL YES tinytext 255 255 NULL NULL latin1 latin1_swedish_ci tinytext select,insert,update,references
-NULL test tb3 f122 5 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references
-NULL test tb3 f123 6 NULL YES mediumtext 16777215 16777215 NULL NULL latin1 latin1_swedish_ci mediumtext select,insert,update,references
-NULL test tb3 f124 7 NULL YES longtext 2147483647 4294967295 NULL NULL ucs2 ucs2_general_ci longtext select,insert,update,references
-NULL test tb3 f125 8 NULL YES tinyblob 255 255 NULL NULL NULL NULL tinyblob select,insert,update,references
-NULL test tb3 f126 9 NULL YES blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
-NULL test tb3 f127 10 NULL YES mediumblob 16777215 16777215 NULL NULL NULL NULL mediumblob select,insert,update,references
-NULL test tb3 f128 11 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references
-NULL test tb3 f129 12  NO binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references
-NULL test tb3 f130 13 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references
-NULL test tb3 f131 14 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references
-NULL test tb3 f132 15 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb3 f133 16 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb3 f134 17 999 NO smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references
-NULL test tb3 f135 18 999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references
-NULL test tb3 f136 19 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb3 f137 20 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb3 f138 21 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references
-NULL test tb3 f139 22 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references
-NULL test tb3 f140 23 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb3 f141 24 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb3 f142 25 99999 NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test tb3 f143 26 99999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references
-NULL test tb3 f144 27 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb3 f145 28 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb3 f146 29 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references
-NULL test tb3 f147 30 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL test tb3 f148 31 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb3 f149 32 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb3 f150 33 1000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f151 34 999 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f152 35 0000001000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f153 36 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f154 37 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f155 38 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb3 f156 39 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f157 40 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb3 f158 41 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f159 42 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f160 43 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f161 44 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f162 45 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f163 46 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb3 f164 47 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f165 48 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb3 f166 49 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f167 50 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb3 f168 51 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f169 52 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb3 f170 53 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f171 54 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f172 55 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f173 56 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f174 57 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f175 58 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb4 f176 1 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb4 f177 2 9 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb4 f178 3 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f179 4 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f180 5 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f181 6 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f182 7 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb4 f183 8 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb4 f184 9 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb4 f185 10 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb4 f186 11 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f187 12 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb4 f188 13 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f189 14 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb4 f190 15 88.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb4 f191 16 88.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb4 f192 17 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f193 18 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f194 19 55.5 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb4 f195 20 55.5 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb4 f196 21 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f197 22 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f198 23 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f199 24 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f200 25 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f201 26 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f202 27 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f203 28 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f204 29 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f205 30 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f206 31 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f207 32 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f208 33 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f209 34 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f210 35 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f211 36 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb4 f212 37 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f213 38 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb4 f214 39 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f215 40 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f216 41 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f217 42 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f218 43 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test tb4 f219 44 NULL YES time NULL NULL NULL NULL NULL NULL time select,insert,update,references
-NULL test tb4 f220 45 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL test tb4 f221 46 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL test tb4 f222 47 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb4 f223 48 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb4 f224 49 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb4 f225 50 NULL YES enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references
-NULL test tb4 f226 51 NULL YES set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references
-NULL test tb4 f235 52 NULL YES char 0 0 NULL NULL ucs2 ucs2_general_ci char(0) select,insert,update,references
-NULL test tb4 f236 53 NULL YES char 90 90 NULL NULL latin1 latin1_swedish_ci char(90) select,insert,update,references
-NULL test tb4 f237 54 NULL YES char 255 255 NULL NULL latin1 latin1_swedish_ci char(255) select,insert,update,references
-NULL test tb4 f238 55 NULL YES varchar 0 0 NULL NULL latin1 latin1_swedish_ci varchar(0) select,insert,update,references
-NULL test tb4 f239 56 NULL YES varchar 20000 20000 NULL NULL latin1 latin1_bin varchar(20000) select,insert,update,references
-NULL test tb4 f240 57 NULL YES varchar 2000 4000 NULL NULL ucs2 ucs2_general_ci varchar(2000) select,insert,update,references
-NULL test tb4 f241 58 NULL YES char 100 200 NULL NULL ucs2 ucs2_general_ci char(100) select,insert,update,references
-NULL test1 tb2 f59 1 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test1 tb2 f60 2 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test1 tb2 f61 3 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test1 tb2 f62 4 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test1 tb2 f63 5 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test1 tb2 f64 6 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test1 tb2 f65 7 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test1 tb2 f66 8 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test1 tb2 f67 9 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test1 tb2 f68 10 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test1 tb2 f69 11 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test1 tb2 f70 12 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test1 tb2 f71 13 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test1 tb2 f72 14 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test1 tb2 f73 15 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test1 tb2 f74 16 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test1 tb2 f75 17 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test1 tb2 f76 18 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test1 tb2 f77 19 7.7 YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test1 tb2 f78 20 7.7 YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test1 tb2 f79 21 00000000000000000007.7 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test1 tb2 f80 22 00000000000000000008.8 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test1 tb2 f81 23 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test1 tb2 f82 24 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test1 tb2 f83 25 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test1 tb2 f84 26 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test1 tb2 f85 27 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test1 tb2 f86 28 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test1 tb2 f87 29 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test1 tb2 f88 30 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test1 tb2 f89 31 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test1 tb2 f90 32 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test1 tb2 f91 33 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test1 tb2 f92 34 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test1 tb2 f93 35 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test1 tb2 f94 36 8.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test1 tb2 f95 37 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test1 tb2 f96 38 8.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test1 tb2 f97 39 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test1 tb2 f98 40 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test1 tb2 f99 41 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test1 tb2 f100 42 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test1 tb2 f101 43 2000-01-01 NO date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test1 tb2 f102 44 00:00:20 NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references
-NULL test1 tb2 f103 45 0002-02-02 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL test1 tb2 f104 46 2000-12-31 23:59:59 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL test1 tb2 f105 47 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test1 tb2 f106 48 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test1 tb2 f107 49 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test1 tb2 f108 50 1enum NO enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references
-NULL test1 tb2 f109 51 1set NO set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references
-NULL test4 t6 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test4 t6 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test4 t6 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test4 t6 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test4 t6 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test4 t6 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-select * from character_sets;
-CHARACTER_SET_NAME DEFAULT_COLLATE_NAME DESCRIPTION MAXLEN
-big5 big5_chinese_ci Big5 Traditional Chinese 2
-dec8 dec8_swedish_ci DEC West European 1
-cp850 cp850_general_ci DOS West European 1
-hp8 hp8_english_ci HP West European 1
-koi8r koi8r_general_ci KOI8-R Relcom Russian 1
-latin1 latin1_swedish_ci cp1252 West European 1
-latin2 latin2_general_ci ISO 8859-2 Central European 1
-swe7 swe7_swedish_ci 7bit Swedish 1
-ascii ascii_general_ci US ASCII 1
-ujis ujis_japanese_ci EUC-JP Japanese 3
-sjis sjis_japanese_ci Shift-JIS Japanese 2
-hebrew hebrew_general_ci ISO 8859-8 Hebrew 1
-tis620 tis620_thai_ci TIS620 Thai 1
-euckr euckr_korean_ci EUC-KR Korean 2
-koi8u koi8u_general_ci KOI8-U Ukrainian 1
-gb2312 gb2312_chinese_ci GB2312 Simplified Chinese 2
-greek greek_general_ci ISO 8859-7 Greek 1
-cp1250 cp1250_general_ci Windows Central European 1
-gbk gbk_chinese_ci GBK Simplified Chinese 2
-latin5 latin5_turkish_ci ISO 8859-9 Turkish 1
-armscii8 armscii8_general_ci ARMSCII-8 Armenian 1
-utf8 utf8_general_ci UTF-8 Unicode 3
-ucs2 ucs2_general_ci UCS-2 Unicode 2
-cp866 cp866_general_ci DOS Russian 1
-keybcs2 keybcs2_general_ci DOS Kamenicky Czech-Slovak 1
-macce macce_general_ci Mac Central European 1
-macroman macroman_general_ci Mac West European 1
-cp852 cp852_general_ci DOS Central European 1
-latin7 latin7_general_ci ISO 8859-13 Baltic 1
-cp1251 cp1251_general_ci Windows Cyrillic 1
-cp1256 cp1256_general_ci Windows Arabic 1
-cp1257 cp1257_general_ci Windows Baltic 1
-binary binary Binary pseudo charset 1
-geostd8 geostd8_general_ci GEOSTD8 Georgian 1
-cp932 cp932_japanese_ci SJIS for Windows Japanese 2
-eucjpms eucjpms_japanese_ci UJIS for Windows Japanese 3
-select sum(id) from collations;
-sum(id)
-10840
-select collation_name, character_set_name into @x,@y
-from collation_character_set_applicability limit 1;
-select @x, @y;
-@x @y
-big5_chinese_ci big5
-select * from routines;
-SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER
-sp_1 NULL db_datadict sp_1 PROCEDURE NULL SQL BEGIN
-SELECT * FROM db_datadict.v1;
-END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost
-select count(*) from routines;
-count(*)
-1
-select * from statistics;
-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
-NULL mysql columns_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-NULL mysql columns_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE
-NULL mysql columns_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE
-NULL mysql columns_priv 0 mysql PRIMARY 4 Table_name A NULL NULL NULL BTREE
-NULL mysql columns_priv 0 mysql PRIMARY 5 Column_name A 0 NULL NULL BTREE
-NULL mysql db 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-NULL mysql db 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE
-NULL mysql db 0 mysql PRIMARY 3 User A 2 NULL NULL BTREE
-NULL mysql db 1 mysql User 1 User A 1 NULL NULL BTREE
-NULL mysql event 0 mysql PRIMARY 1 db A NULL NULL NULL BTREE
-NULL mysql event 0 mysql PRIMARY 2 name A 0 NULL NULL BTREE
-NULL mysql func 0 mysql PRIMARY 1 name A 0 NULL NULL BTREE
-NULL mysql help_category 0 mysql PRIMARY 1 help_category_id A 0 NULL NULL BTREE
-NULL mysql help_category 0 mysql name 1 name A 0 NULL NULL BTREE
-NULL mysql help_keyword 0 mysql PRIMARY 1 help_keyword_id A 0 NULL NULL BTREE
-NULL mysql help_keyword 0 mysql name 1 name A 0 NULL NULL BTREE
-NULL mysql help_relation 0 mysql PRIMARY 1 help_keyword_id A NULL NULL NULL BTREE
-NULL mysql help_relation 0 mysql PRIMARY 2 help_topic_id A 0 NULL NULL BTREE
-NULL mysql help_topic 0 mysql PRIMARY 1 help_topic_id A 0 NULL NULL BTREE
-NULL mysql help_topic 0 mysql name 1 name A 0 NULL NULL BTREE
-NULL mysql host 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-NULL mysql host 0 mysql PRIMARY 2 Db A 0 NULL NULL BTREE
-NULL mysql ndb_binlog_index 0 mysql PRIMARY 1 epoch A 0 NULL NULL BTREE
-NULL mysql plugin 0 mysql PRIMARY 1 name A 0 NULL NULL BTREE
-NULL mysql proc 0 mysql PRIMARY 1 db A NULL NULL NULL BTREE
-NULL mysql proc 0 mysql PRIMARY 2 name A NULL NULL NULL BTREE
-NULL mysql proc 0 mysql PRIMARY 3 type A 1 NULL NULL BTREE
-NULL mysql procs_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-NULL mysql procs_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE
-NULL mysql procs_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE
-NULL mysql procs_priv 0 mysql PRIMARY 4 Routine_name A NULL NULL NULL BTREE
-NULL mysql procs_priv 0 mysql PRIMARY 5 Routine_type A 0 NULL NULL BTREE
-NULL mysql procs_priv 1 mysql Grantor 1 Grantor A NULL NULL NULL BTREE
-NULL mysql servers 0 mysql PRIMARY 1 Server_name A 0 NULL NULL BTREE
-NULL mysql tables_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-NULL mysql tables_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE
-NULL mysql tables_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE
-NULL mysql tables_priv 0 mysql PRIMARY 4 Table_name A 0 NULL NULL BTREE
-NULL mysql tables_priv 1 mysql Grantor 1 Grantor A NULL NULL NULL BTREE
-NULL mysql time_zone 0 mysql PRIMARY 1 Time_zone_id A 5 NULL NULL BTREE
-NULL mysql time_zone_leap_second 0 mysql PRIMARY 1 Transition_time A 22 NULL NULL BTREE
-NULL mysql time_zone_name 0 mysql PRIMARY 1 Name A 6 NULL NULL BTREE
-NULL mysql time_zone_transition 0 mysql PRIMARY 1 Time_zone_id A NULL NULL NULL BTREE
-NULL mysql time_zone_transition 0 mysql PRIMARY 2 Transition_time A 393 NULL NULL BTREE
-NULL mysql time_zone_transition_type 0 mysql PRIMARY 1 Time_zone_id A NULL NULL NULL BTREE
-NULL mysql time_zone_transition_type 0 mysql PRIMARY 2 Transition_type_id A 31 NULL NULL BTREE
-NULL mysql user 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-NULL mysql user 0 mysql PRIMARY 2 User A 3 NULL NULL BTREE
-select * from views;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE
-NULL db_datadict v1 /* ALGORITHM=UNDEFINED */ select `tables`.`TABLE_CATALOG` AS `TABLE_CATALOG`,`tables`.`TABLE_SCHEMA` AS `TABLE_SCHEMA`,`tables`.`TABLE_NAME` AS `TABLE_NAME`,`tables`.`TABLE_TYPE` AS `TABLE_TYPE`,`tables`.`ENGINE` AS `ENGINE`,`tables`.`VERSION` AS `VERSION`,`tables`.`ROW_FORMAT` AS `ROW_FORMAT`,`tables`.`TABLE_ROWS` AS `TABLE_ROWS`,`tables`.`AVG_ROW_LENGTH` AS `AVG_ROW_LENGTH`,`tables`.`DATA_LENGTH` AS `DATA_LENGTH`,`tables`.`MAX_DATA_LENGTH` AS `MAX_DATA_LENGTH`,`tables`.`INDEX_LENGTH` AS `INDEX_LENGTH`,`tables`.`DATA_FREE` AS `DATA_FREE`,`tables`.`AUTO_INCREMENT` AS `AUTO_INCREMENT`,`tables`.`CREATE_TIME` AS `CREATE_TIME`,`tables`.`UPDATE_TIME` AS `UPDATE_TIME`,`tables`.`CHECK_TIME` AS `CHECK_TIME`,`tables`.`TABLE_COLLATION` AS `TABLE_COLLATION`,`tables`.`CHECKSUM` AS `CHECKSUM`,`tables`.`CREATE_OPTIONS` AS `CREATE_OPTIONS`,`tables`.`TABLE_COMMENT` AS `TABLE_COMMENT` from `information_schema`.`tables` NONE NO root@localhost DEFINER
-NULL db_datadict vu /* ALGORITHM=UNDEFINED */ select distinct `vu1`.`u` AS `u`,substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3)) AS `server`,substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3),(length(substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3))) - 1)) AS `Server_Clean` from `db_datadict`.`vu1` NONE NO root@localhost DEFINER
-NULL db_datadict vu1 /* ALGORITHM=UNDEFINED */ select `user_privileges`.`GRANTEE` AS `u` from `information_schema`.`user_privileges` NONE NO root@localhost DEFINER
-select * from user_privileges order by grantee, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'root'@'127.0.0.1' NULL ALTER YES
-'root'@'127.0.0.1' NULL ALTER ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE YES
-'root'@'127.0.0.1' NULL CREATE ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES
-'root'@'127.0.0.1' NULL CREATE USER YES
-'root'@'127.0.0.1' NULL CREATE VIEW YES
-'root'@'127.0.0.1' NULL DELETE YES
-'root'@'127.0.0.1' NULL DROP YES
-'root'@'127.0.0.1' NULL EVENT YES
-'root'@'127.0.0.1' NULL EXECUTE YES
-'root'@'127.0.0.1' NULL FILE YES
-'root'@'127.0.0.1' NULL INDEX YES
-'root'@'127.0.0.1' NULL INSERT YES
-'root'@'127.0.0.1' NULL LOCK TABLES YES
-'root'@'127.0.0.1' NULL PROCESS YES
-'root'@'127.0.0.1' NULL REFERENCES YES
-'root'@'127.0.0.1' NULL RELOAD YES
-'root'@'127.0.0.1' NULL REPLICATION CLIENT YES
-'root'@'127.0.0.1' NULL REPLICATION SLAVE YES
-'root'@'127.0.0.1' NULL SELECT YES
-'root'@'127.0.0.1' NULL SHOW DATABASES YES
-'root'@'127.0.0.1' NULL SHOW VIEW YES
-'root'@'127.0.0.1' NULL SHUTDOWN YES
-'root'@'127.0.0.1' NULL SUPER YES
-'root'@'127.0.0.1' NULL TRIGGER YES
-'root'@'127.0.0.1' NULL UPDATE YES
-'root'@'<SERVER_NAME>' NULL ALTER YES
-'root'@'<SERVER_NAME>' NULL ALTER ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE YES
-'root'@'<SERVER_NAME>' NULL CREATE ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE TEMPORARY TABLES YES
-'root'@'<SERVER_NAME>' NULL CREATE USER YES
-'root'@'<SERVER_NAME>' NULL CREATE VIEW YES
-'root'@'<SERVER_NAME>' NULL DELETE YES
-'root'@'<SERVER_NAME>' NULL DROP YES
-'root'@'<SERVER_NAME>' NULL EVENT YES
-'root'@'<SERVER_NAME>' NULL EXECUTE YES
-'root'@'<SERVER_NAME>' NULL FILE YES
-'root'@'<SERVER_NAME>' NULL INDEX YES
-'root'@'<SERVER_NAME>' NULL INSERT YES
-'root'@'<SERVER_NAME>' NULL LOCK TABLES YES
-'root'@'<SERVER_NAME>' NULL PROCESS YES
-'root'@'<SERVER_NAME>' NULL REFERENCES YES
-'root'@'<SERVER_NAME>' NULL RELOAD YES
-'root'@'<SERVER_NAME>' NULL REPLICATION CLIENT YES
-'root'@'<SERVER_NAME>' NULL REPLICATION SLAVE YES
-'root'@'<SERVER_NAME>' NULL SELECT YES
-'root'@'<SERVER_NAME>' NULL SHOW DATABASES YES
-'root'@'<SERVER_NAME>' NULL SHOW VIEW YES
-'root'@'<SERVER_NAME>' NULL SHUTDOWN YES
-'root'@'<SERVER_NAME>' NULL SUPER YES
-'root'@'<SERVER_NAME>' NULL TRIGGER YES
-'root'@'<SERVER_NAME>' NULL UPDATE YES
-'root'@'localhost' NULL ALTER YES
-'root'@'localhost' NULL ALTER ROUTINE YES
-'root'@'localhost' NULL CREATE YES
-'root'@'localhost' NULL CREATE ROUTINE YES
-'root'@'localhost' NULL CREATE TEMPORARY TABLES YES
-'root'@'localhost' NULL CREATE USER YES
-'root'@'localhost' NULL CREATE VIEW YES
-'root'@'localhost' NULL DELETE YES
-'root'@'localhost' NULL DROP YES
-'root'@'localhost' NULL EVENT YES
-'root'@'localhost' NULL EXECUTE YES
-'root'@'localhost' NULL FILE YES
-'root'@'localhost' NULL INDEX YES
-'root'@'localhost' NULL INSERT YES
-'root'@'localhost' NULL LOCK TABLES YES
-'root'@'localhost' NULL PROCESS YES
-'root'@'localhost' NULL REFERENCES YES
-'root'@'localhost' NULL RELOAD YES
-'root'@'localhost' NULL REPLICATION CLIENT YES
-'root'@'localhost' NULL REPLICATION SLAVE YES
-'root'@'localhost' NULL SELECT YES
-'root'@'localhost' NULL SHOW DATABASES YES
-'root'@'localhost' NULL SHOW VIEW YES
-'root'@'localhost' NULL SHUTDOWN YES
-'root'@'localhost' NULL SUPER YES
-'root'@'localhost' NULL TRIGGER YES
-'root'@'localhost' NULL UPDATE YES
-select * from schema_privileges;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
-''@'%' NULL test SELECT NO
-''@'%' NULL test INSERT NO
-''@'%' NULL test UPDATE NO
-''@'%' NULL test DELETE NO
-''@'%' NULL test CREATE NO
-''@'%' NULL test DROP NO
-''@'%' NULL test REFERENCES NO
-''@'%' NULL test INDEX NO
-''@'%' NULL test ALTER NO
-''@'%' NULL test CREATE TEMPORARY TABLES NO
-''@'%' NULL test LOCK TABLES NO
-''@'%' NULL test CREATE VIEW NO
-''@'%' NULL test SHOW VIEW NO
-''@'%' NULL test CREATE ROUTINE NO
-''@'%' NULL test EVENT NO
-''@'%' NULL test TRIGGER NO
-''@'%' NULL test\_% SELECT NO
-''@'%' NULL test\_% INSERT NO
-''@'%' NULL test\_% UPDATE NO
-''@'%' NULL test\_% DELETE NO
-''@'%' NULL test\_% CREATE NO
-''@'%' NULL test\_% DROP NO
-''@'%' NULL test\_% REFERENCES NO
-''@'%' NULL test\_% INDEX NO
-''@'%' NULL test\_% ALTER NO
-''@'%' NULL test\_% CREATE TEMPORARY TABLES NO
-''@'%' NULL test\_% LOCK TABLES NO
-''@'%' NULL test\_% CREATE VIEW NO
-''@'%' NULL test\_% SHOW VIEW NO
-''@'%' NULL test\_% CREATE ROUTINE NO
-''@'%' NULL test\_% EVENT NO
-''@'%' NULL test\_% TRIGGER NO
-select * from table_privileges;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select * from column_privileges;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select * from table_constraints;
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE
-NULL mysql PRIMARY mysql columns_priv PRIMARY KEY
-NULL mysql PRIMARY mysql db PRIMARY KEY
-NULL mysql PRIMARY mysql event PRIMARY KEY
-NULL mysql PRIMARY mysql func PRIMARY KEY
-NULL mysql PRIMARY mysql help_category PRIMARY KEY
-NULL mysql name mysql help_category UNIQUE
-NULL mysql PRIMARY mysql help_keyword PRIMARY KEY
-NULL mysql name mysql help_keyword UNIQUE
-NULL mysql PRIMARY mysql help_relation PRIMARY KEY
-NULL mysql PRIMARY mysql help_topic PRIMARY KEY
-NULL mysql name mysql help_topic UNIQUE
-NULL mysql PRIMARY mysql host PRIMARY KEY
-NULL mysql PRIMARY mysql ndb_binlog_index PRIMARY KEY
-NULL mysql PRIMARY mysql plugin PRIMARY KEY
-NULL mysql PRIMARY mysql proc PRIMARY KEY
-NULL mysql PRIMARY mysql procs_priv PRIMARY KEY
-NULL mysql PRIMARY mysql servers PRIMARY KEY
-NULL mysql PRIMARY mysql tables_priv PRIMARY KEY
-NULL mysql PRIMARY mysql time_zone PRIMARY KEY
-NULL mysql PRIMARY mysql time_zone_leap_second PRIMARY KEY
-NULL mysql PRIMARY mysql time_zone_name PRIMARY KEY
-NULL mysql PRIMARY mysql time_zone_transition PRIMARY KEY
-NULL mysql PRIMARY mysql time_zone_transition_type PRIMARY KEY
-NULL mysql PRIMARY mysql user PRIMARY KEY
-select * from key_column_usage;
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
-NULL mysql PRIMARY NULL mysql columns_priv Host 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql columns_priv Db 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql columns_priv User 3 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql columns_priv Table_name 4 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql columns_priv Column_name 5 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql db Host 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql db Db 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql db User 3 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql event db 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql event name 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql func name 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql help_category help_category_id 1 NULL NULL NULL NULL
-NULL mysql name NULL mysql help_category name 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql help_keyword help_keyword_id 1 NULL NULL NULL NULL
-NULL mysql name NULL mysql help_keyword name 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql help_relation help_keyword_id 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql help_relation help_topic_id 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql help_topic help_topic_id 1 NULL NULL NULL NULL
-NULL mysql name NULL mysql help_topic name 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql host Host 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql host Db 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql ndb_binlog_index epoch 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql plugin name 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql proc db 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql proc name 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql proc type 3 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql procs_priv Host 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql procs_priv Db 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql procs_priv User 3 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql procs_priv Routine_name 4 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql procs_priv Routine_type 5 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql servers Server_name 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql tables_priv Host 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql tables_priv Db 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql tables_priv User 3 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql tables_priv Table_name 4 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql time_zone Time_zone_id 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql time_zone_leap_second Transition_time 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql time_zone_name Name 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql time_zone_transition Time_zone_id 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql time_zone_transition Transition_time 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql time_zone_transition_type Time_zone_id 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql time_zone_transition_type Transition_type_id 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql user Host 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql user User 2 NULL NULL NULL NULL
-select count(*) as max_recs from key_column_usage;
-max_recs
-45
-select max(cardinality) from statistics;
-max(cardinality)
-393
-select concat("View '",
-table_name, "' is associated with the database '", table_schema, "'.")
-AS "Who is Who for the Views"
- from views;
-Who is Who for the Views
-View 'v1' is associated with the database 'db_datadict'.
-View 'vu' is associated with the database 'db_datadict'.
-View 'vu1' is associated with the database 'db_datadict'.
-select concat("Table or view '", table_name,
-"' is associated with the database '", table_schema, "'.") as "Who is Who"
- from tables;
-Who is Who
-Table or view 'CHARACTER_SETS' is associated with the database 'information_schema'.
-Table or view 'COLLATIONS' is associated with the database 'information_schema'.
-Table or view 'COLLATION_CHARACTER_SET_APPLICABILITY' is associated with the database 'information_schema'.
-Table or view 'COLUMNS' is associated with the database 'information_schema'.
-Table or view 'COLUMN_PRIVILEGES' is associated with the database 'information_schema'.
-Table or view 'ENGINES' is associated with the database 'information_schema'.
-Table or view 'EVENTS' is associated with the database 'information_schema'.
-Table or view 'FILES' is associated with the database 'information_schema'.
-Table or view 'GLOBAL_STATUS' is associated with the database 'information_schema'.
-Table or view 'GLOBAL_VARIABLES' is associated with the database 'information_schema'.
-Table or view 'KEY_COLUMN_USAGE' is associated with the database 'information_schema'.
-Table or view 'PARTITIONS' is associated with the database 'information_schema'.
-Table or view 'PLUGINS' is associated with the database 'information_schema'.
-Table or view 'PROCESSLIST' is associated with the database 'information_schema'.
-Table or view 'REFERENTIAL_CONSTRAINTS' is associated with the database 'information_schema'.
-Table or view 'ROUTINES' is associated with the database 'information_schema'.
-Table or view 'SCHEMATA' is associated with the database 'information_schema'.
-Table or view 'SCHEMA_PRIVILEGES' is associated with the database 'information_schema'.
-Table or view 'SESSION_STATUS' is associated with the database 'information_schema'.
-Table or view 'SESSION_VARIABLES' is associated with the database 'information_schema'.
-Table or view 'STATISTICS' is associated with the database 'information_schema'.
-Table or view 'TABLES' is associated with the database 'information_schema'.
-Table or view 'TABLE_CONSTRAINTS' is associated with the database 'information_schema'.
-Table or view 'TABLE_PRIVILEGES' is associated with the database 'information_schema'.
-Table or view 'TRIGGERS' is associated with the database 'information_schema'.
-Table or view 'USER_PRIVILEGES' is associated with the database 'information_schema'.
-Table or view 'VIEWS' is associated with the database 'information_schema'.
-Table or view 'v1' is associated with the database 'db_datadict'.
-Table or view 'vu' is associated with the database 'db_datadict'.
-Table or view 'vu1' is associated with the database 'db_datadict'.
-Table or view 'columns_priv' is associated with the database 'mysql'.
-Table or view 'db' is associated with the database 'mysql'.
-Table or view 'event' is associated with the database 'mysql'.
-Table or view 'func' is associated with the database 'mysql'.
-Table or view 'general_log' is associated with the database 'mysql'.
-Table or view 'help_category' is associated with the database 'mysql'.
-Table or view 'help_keyword' is associated with the database 'mysql'.
-Table or view 'help_relation' is associated with the database 'mysql'.
-Table or view 'help_topic' is associated with the database 'mysql'.
-Table or view 'host' is associated with the database 'mysql'.
-Table or view 'ndb_binlog_index' is associated with the database 'mysql'.
-Table or view 'plugin' is associated with the database 'mysql'.
-Table or view 'proc' is associated with the database 'mysql'.
-Table or view 'procs_priv' is associated with the database 'mysql'.
-Table or view 'servers' is associated with the database 'mysql'.
-Table or view 'slow_log' is associated with the database 'mysql'.
-Table or view 'tables_priv' is associated with the database 'mysql'.
-Table or view 'time_zone' is associated with the database 'mysql'.
-Table or view 'time_zone_leap_second' is associated with the database 'mysql'.
-Table or view 'time_zone_name' is associated with the database 'mysql'.
-Table or view 'time_zone_transition' is associated with the database 'mysql'.
-Table or view 'time_zone_transition_type' is associated with the database 'mysql'.
-Table or view 'user' is associated with the database 'mysql'.
-Table or view 't1' is associated with the database 'test'.
-Table or view 't10' is associated with the database 'test'.
-Table or view 't11' is associated with the database 'test'.
-Table or view 't2' is associated with the database 'test'.
-Table or view 't3' is associated with the database 'test'.
-Table or view 't4' is associated with the database 'test'.
-Table or view 't7' is associated with the database 'test'.
-Table or view 't8' is associated with the database 'test'.
-Table or view 't9' is associated with the database 'test'.
-Table or view 'tb1' is associated with the database 'test'.
-Table or view 'tb2' is associated with the database 'test'.
-Table or view 'tb3' is associated with the database 'test'.
-Table or view 'tb4' is associated with the database 'test'.
-Table or view 'tb2' is associated with the database 'test1'.
-Table or view 't6' is associated with the database 'test4'.
-select grantee as "user's having select privilege",
-substring( grantee, length(SUBSTRING_INDEX(grantee,_utf8'@',1))+2 )
-from user_privileges where privilege_type = 'select'
- order by grantee;
-user's having select privilege substring( grantee, length(SUBSTRING_INDEX(grantee,_utf8'@',1))+2 )
-'root'@'127.0.0.1' '127.0.0.1'
-'root'@'<SERVER_NAME>' '<SERVER_NAME>'
-'root'@'localhost' 'localhost'
-select all table_schema from schema_privileges limit 0,5;
-table_schema
-test
-test
-test
-test
-test
-select distinct(privilege_type) from table_privileges;
-privilege_type
-select * from column_privileges
-group by table_schema having table_schema = 'db_datadict';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select * from table_constraints limit 0,5;
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE
-NULL mysql PRIMARY mysql columns_priv PRIMARY KEY
-NULL mysql PRIMARY mysql db PRIMARY KEY
-NULL mysql PRIMARY mysql event PRIMARY KEY
-NULL mysql PRIMARY mysql func PRIMARY KEY
-NULL mysql PRIMARY mysql help_category PRIMARY KEY
-select count(*) as max_recs from key_column_usage limit 0,5;
-max_recs
-45
-select information_schema.tables.table_name as "table name",
-count(distinct(column_name)) as "no of columns in the table"
- from information_schema.tables left outer join information_schema.columns on
-information_schema.tables.table_name = information_schema.columns.table_name
-group by information_schema.tables.table_name;
-table name no of columns in the table
-CHARACTER_SETS 4
-COLLATIONS 6
-COLLATION_CHARACTER_SET_APPLICABILITY 2
-COLUMNS 19
-columns_priv 7
-COLUMN_PRIVILEGES 7
-db 22
-ENGINES 6
-event 18
-EVENTS 21
-FILES 38
-func 4
-general_log 6
-GLOBAL_STATUS 2
-GLOBAL_VARIABLES 2
-help_category 4
-help_keyword 2
-help_relation 2
-help_topic 6
-host 20
-KEY_COLUMN_USAGE 12
-ndb_binlog_index 7
-PARTITIONS 25
-plugin 2
-PLUGINS 10
-proc 16
-PROCESSLIST 8
-procs_priv 8
-REFERENTIAL_CONSTRAINTS 11
-ROUTINES 20
-SCHEMATA 5
-SCHEMA_PRIVILEGES 5
-servers 9
-SESSION_STATUS 2
-SESSION_VARIABLES 2
-slow_log 11
-STATISTICS 15
-t1 6
-t10 6
-t11 6
-t2 6
-t3 3
-t4 6
-t6 6
-t7 4
-t8 4
-t9 3
-TABLES 21
-tables_priv 8
-TABLE_CONSTRAINTS 6
-TABLE_PRIVILEGES 6
-tb1 58
-tb2 51
-tb3 58
-tb4 58
-time_zone 2
-time_zone_leap_second 2
-time_zone_name 2
-time_zone_transition 3
-time_zone_transition_type 5
-TRIGGERS 19
-user 39
-USER_PRIVILEGES 4
-v1 21
-VIEWS 8
-vu 3
-vu1 1
-
-root: simple select to check all - and never forget some - tables
------------------------------------------------------------------
-SELECT * FROM schemata LIMIT 1;
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL information_schema utf8 utf8_general_ci NULL
-SELECT * FROM tables LIMIT 1;
-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
-NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO#
-SELECT * FROM columns LIMIT 1;
-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
-NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-SELECT * FROM character_sets LIMIT 1;
-CHARACTER_SET_NAME DEFAULT_COLLATE_NAME DESCRIPTION MAXLEN
-big5 big5_chinese_ci Big5 Traditional Chinese 2
-SELECT * FROM collations LIMIT 1;
-COLLATION_NAME CHARACTER_SET_NAME ID IS_DEFAULT IS_COMPILED SORTLEN
-big5_chinese_ci big5 1 Yes Yes 1
-SELECT * FROM collation_character_set_applicability LIMIT 1;
-COLLATION_NAME CHARACTER_SET_NAME
-big5_chinese_ci big5
-SELECT * FROM routines LIMIT 1;
-SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER
-sp_1 NULL db_datadict sp_1 PROCEDURE NULL SQL BEGIN
-SELECT * FROM db_datadict.v1;
-END NULL NULL SQL NO CONTAINS SQL NULL DEFINER <Created> <Last_Altered> root@localhost
-SELECT * FROM statistics LIMIT 1;
-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
-NULL mysql columns_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-SELECT * FROM views LIMIT 1;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE
-NULL db_datadict v1 /* ALGORITHM=UNDEFINED */ select `tables`.`TABLE_CATALOG` AS `TABLE_CATALOG`,`tables`.`TABLE_SCHEMA` AS `TABLE_SCHEMA`,`tables`.`TABLE_NAME` AS `TABLE_NAME`,`tables`.`TABLE_TYPE` AS `TABLE_TYPE`,`tables`.`ENGINE` AS `ENGINE`,`tables`.`VERSION` AS `VERSION`,`tables`.`ROW_FORMAT` AS `ROW_FORMAT`,`tables`.`TABLE_ROWS` AS `TABLE_ROWS`,`tables`.`AVG_ROW_LENGTH` AS `AVG_ROW_LENGTH`,`tables`.`DATA_LENGTH` AS `DATA_LENGTH`,`tables`.`MAX_DATA_LENGTH` AS `MAX_DATA_LENGTH`,`tables`.`INDEX_LENGTH` AS `INDEX_LENGTH`,`tables`.`DATA_FREE` AS `DATA_FREE`,`tables`.`AUTO_INCREMENT` AS `AUTO_INCREMENT`,`tables`.`CREATE_TIME` AS `CREATE_TIME`,`tables`.`UPDATE_TIME` AS `UPDATE_TIME`,`tables`.`CHECK_TIME` AS `CHECK_TIME`,`tables`.`TABLE_COLLATION` AS `TABLE_COLLATION`,`tables`.`CHECKSUM` AS `CHECKSUM`,`tables`.`CREATE_OPTIONS` AS `CREATE_OPTIONS`,`tables`.`TABLE_COMMENT` AS `TABLE_COMMENT` from `information_schema`.`tables` NONE NO root@localhost DEFINER
-SELECT * FROM user_privileges LIMIT 1;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'root'@'localhost' NULL SELECT YES
-SELECT * FROM schema_privileges LIMIT 1;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
-''@'%' NULL test SELECT NO
-SELECT * FROM table_privileges LIMIT 1;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-SELECT * FROM column_privileges LIMIT 1;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-SELECT * FROM table_constraints LIMIT 1;
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE
-NULL mysql PRIMARY mysql columns_priv PRIMARY KEY
-SELECT * FROM key_column_usage LIMIT 1;
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
-NULL mysql PRIMARY NULL mysql columns_priv Host 1 NULL NULL NULL NULL
-SELECT * FROM triggers LIMIT 1;
-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
-SELECT * FROM parameters LIMIT 1;
-ERROR 42S02: Unknown table 'parameters' in information_schema
-SELECT * FROM referential_constraints LIMIT 1;
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME UNIQUE_CONSTRAINT_CATALOG UNIQUE_CONSTRAINT_SCHEMA UNIQUE_CONSTRAINT_NAME MATCH_OPTION UPDATE_RULE DELETE_RULE TABLE_NAME REFERENCED_TABLE_NAME
-use db_datadict;
-select * from schemata;
-ERROR 42S02: Table 'db_datadict.schemata' doesn't exist
-select * from tables;
-ERROR 42S02: Table 'db_datadict.tables' doesn't exist
-select s.catalog_name, s.schema_name, s.default_character_set_name,
-t.table_type, t.engine
-from schemata s inner join tables t
-ORDER BY s.catalog_name, s.schema_name, s.default_character_set_name;
-ERROR 42S02: Table 'db_datadict.schemata' doesn't exist
-select * from columns limit 0, 5;
-ERROR 42S02: Table 'db_datadict.columns' doesn't exist
-select * from character_sets limit 0, 5;
-ERROR 42S02: Table 'db_datadict.character_sets' doesn't exist
-select * from collations limit 0, 5;
-ERROR 42S02: Table 'db_datadict.collations' doesn't exist
-select * from collation_character_set_applicability limit 0, 5;
-ERROR 42S02: Table 'db_datadict.collation_character_set_applicability' doesn't exist
-select * from routines limit 0, 5;
-ERROR 42S02: Table 'db_datadict.routines' doesn't exist
-select * from statistics limit 0, 5;
-ERROR 42S02: Table 'db_datadict.statistics' doesn't exist
-select * from views limit 0, 5;
-ERROR 42S02: Table 'db_datadict.views' doesn't exist
-select * from user_privileges limit 0, 5;
-ERROR 42S02: Table 'db_datadict.user_privileges' doesn't exist
-select * from schema_privileges limit 0, 5;
-ERROR 42S02: Table 'db_datadict.schema_privileges' doesn't exist
-select * from table_privileges limit 0, 5;
-ERROR 42S02: Table 'db_datadict.table_privileges' doesn't exist
-select * from column_privileges limit 0, 5;
-ERROR 42S02: Table 'db_datadict.column_privileges' doesn't exist
-select * from table_constraints limit 0, 5;
-ERROR 42S02: Table 'db_datadict.table_constraints' doesn't exist
-select * from key_column_usage limit 0, 5;
-ERROR 42S02: Table 'db_datadict.key_column_usage' doesn't exist
-
-will fail due to missing database name
---------------------------------------
-
-known error 1146:
------------------
-SELECT * FROM schemata ;
-ERROR 42S02: Table 'db_datadict.schemata' doesn't exist
-SELECT * FROM tables ;
-ERROR 42S02: Table 'db_datadict.tables' doesn't exist
-SELECT * FROM columns ;
-ERROR 42S02: Table 'db_datadict.columns' doesn't exist
-SELECT * FROM character_sets ;
-ERROR 42S02: Table 'db_datadict.character_sets' doesn't exist
-SELECT * FROM collations ;
-ERROR 42S02: Table 'db_datadict.collations' doesn't exist
-SELECT * FROM collation_character_set_applicability ;
-ERROR 42S02: Table 'db_datadict.collation_character_set_applicability' doesn't exist
-SELECT * FROM routines ;
-ERROR 42S02: Table 'db_datadict.routines' doesn't exist
-SELECT * FROM statistics ;
-ERROR 42S02: Table 'db_datadict.statistics' doesn't exist
-SELECT * FROM views ;
-ERROR 42S02: Table 'db_datadict.views' doesn't exist
-SELECT * FROM user_privileges ;
-ERROR 42S02: Table 'db_datadict.user_privileges' doesn't exist
-SELECT * FROM schema_privileges ;
-ERROR 42S02: Table 'db_datadict.schema_privileges' doesn't exist
-SELECT * FROM table_privileges ;
-ERROR 42S02: Table 'db_datadict.table_privileges' doesn't exist
-SELECT * FROM column_privileges ;
-ERROR 42S02: Table 'db_datadict.column_privileges' doesn't exist
-SELECT * FROM table_constraints ;
-ERROR 42S02: Table 'db_datadict.table_constraints' doesn't exist
-SELECT * FROM key_column_usage ;
-ERROR 42S02: Table 'db_datadict.key_column_usage' doesn't exist
-SELECT * FROM triggers ;
-ERROR 42S02: Table 'db_datadict.triggers' doesn't exist
-select * from information_schema.schemata ORDER BY 2 DESC;
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL test4 latin1 latin1_swedish_ci NULL
-NULL test1 latin1 latin1_swedish_ci NULL
-NULL test latin1 latin1_swedish_ci NULL
-NULL mysql latin1 latin1_swedish_ci NULL
-NULL information_schema utf8 utf8_general_ci NULL
-NULL db_datadict latin1 latin1_swedish_ci NULL
-SELECT * FROM information_schema.tables
-WHERE table_schema = 'information_schema';
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME CHARACTER_SETS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME COLLATIONS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME COLLATION_CHARACTER_SET_APPLICABILITY
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME COLUMNS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME COLUMN_PRIVILEGES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME ENGINES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME EVENTS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME FILES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME GLOBAL_STATUS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME GLOBAL_VARIABLES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME KEY_COLUMN_USAGE
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME PARTITIONS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME PLUGINS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME PROCESSLIST
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME REFERENTIAL_CONSTRAINTS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME ROUTINES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME SCHEMATA
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME SCHEMA_PRIVILEGES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME SESSION_STATUS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME SESSION_VARIABLES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME STATISTICS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME TABLES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME TABLE_CONSTRAINTS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME TABLE_PRIVILEGES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME TRIGGERS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME USER_PRIVILEGES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME VIEWS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-SELECT * FROM information_schema.tables
-WHERE NOT( table_schema = 'information_schema');
-TABLE_CATALOG NULL
-TABLE_SCHEMA db_datadict
-TABLE_NAME v1
-TABLE_TYPE VIEW
-ENGINE NULL
-VERSION NULL
-ROW_FORMAT NULL
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION NULL
-CHECKSUM NULL
-CREATE_OPTIONS NULL
-TABLE_COMMENT VIEW
-TABLE_CATALOG NULL
-TABLE_SCHEMA db_datadict
-TABLE_NAME vu
-TABLE_TYPE VIEW
-ENGINE NULL
-VERSION NULL
-ROW_FORMAT NULL
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION NULL
-CHECKSUM NULL
-CREATE_OPTIONS NULL
-TABLE_COMMENT VIEW
-TABLE_CATALOG NULL
-TABLE_SCHEMA db_datadict
-TABLE_NAME vu1
-TABLE_TYPE VIEW
-ENGINE NULL
-VERSION NULL
-ROW_FORMAT NULL
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION NULL
-CHECKSUM NULL
-CREATE_OPTIONS NULL
-TABLE_COMMENT VIEW
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME columns_priv
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Column privileges
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME db
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 2
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Database privileges
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME event
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Events
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME func
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT User defined functions
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME general_log
-TABLE_TYPE BASE TABLE
-ENGINE CSV
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 2
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT General log
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME help_category
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT help categories
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME help_keyword
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT help keywords
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME help_relation
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT keyword-topic relation
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME help_topic
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT help topics
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME host
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Host privileges; Merged with database privileges
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME ndb_binlog_index
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME plugin
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT MySQL plugins
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME proc
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 1
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Stored Procedures
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME procs_priv
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Procedure privileges
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME servers
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT MySQL Foreign Servers table
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME slow_log
-TABLE_TYPE BASE TABLE
-ENGINE CSV
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 2
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Slow log
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME tables_priv
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Table privileges
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME time_zone
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 5
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT 6
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Time zones
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME time_zone_leap_second
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 22
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Leap seconds information for time zones
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME time_zone_name
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 6
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Time zone names
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME time_zone_transition
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 393
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Time zone transitions
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME time_zone_transition_type
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 31
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Time zone transition types
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME user
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 3
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Users and global privileges
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t1
-TABLE_TYPE BASE TABLE
-ENGINE InnoDB
-VERSION 10
-ROW_FORMAT Compact
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT InnoDB free: 3072 kB
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t10
-TABLE_TYPE BASE TABLE
-ENGINE InnoDB
-VERSION 10
-ROW_FORMAT Compact
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT InnoDB free: 3072 kB
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t11
-TABLE_TYPE BASE TABLE
-ENGINE InnoDB
-VERSION 10
-ROW_FORMAT Compact
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT InnoDB free: 3072 kB
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t2
-TABLE_TYPE BASE TABLE
-ENGINE InnoDB
-VERSION 10
-ROW_FORMAT Compact
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT InnoDB free: 3072 kB
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t3
-TABLE_TYPE BASE TABLE
-ENGINE InnoDB
-VERSION 10
-ROW_FORMAT Compact
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT InnoDB free: 3072 kB
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t4
-TABLE_TYPE BASE TABLE
-ENGINE InnoDB
-VERSION 10
-ROW_FORMAT Compact
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT InnoDB free: 3072 kB
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t7
-TABLE_TYPE BASE TABLE
-ENGINE InnoDB
-VERSION 10
-ROW_FORMAT Compact
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT InnoDB free: 3072 kB
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t8
-TABLE_TYPE BASE TABLE
-ENGINE InnoDB
-VERSION 10
-ROW_FORMAT Compact
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT InnoDB free: 3072 kB
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t9
-TABLE_TYPE BASE TABLE
-ENGINE InnoDB
-VERSION 10
-ROW_FORMAT Compact
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT InnoDB free: 3072 kB
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME tb1
-TABLE_TYPE BASE TABLE
-ENGINE InnoDB
-VERSION 10
-ROW_FORMAT Compact
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT InnoDB free: 3072 kB
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME tb2
-TABLE_TYPE BASE TABLE
-ENGINE InnoDB
-VERSION 10
-ROW_FORMAT Compact
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT InnoDB free: 3072 kB
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME tb3
-TABLE_TYPE BASE TABLE
-ENGINE InnoDB
-VERSION 10
-ROW_FORMAT Compact
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT InnoDB free: 3072 kB
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME tb4
-TABLE_TYPE BASE TABLE
-ENGINE InnoDB
-VERSION 10
-ROW_FORMAT Compact
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT InnoDB free: 3072 kB
-TABLE_CATALOG NULL
-TABLE_SCHEMA test1
-TABLE_NAME tb2
-TABLE_TYPE BASE TABLE
-ENGINE InnoDB
-VERSION 10
-ROW_FORMAT Compact
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT InnoDB free: 3072 kB
-TABLE_CATALOG NULL
-TABLE_SCHEMA test4
-TABLE_NAME t6
-TABLE_TYPE BASE TABLE
-ENGINE InnoDB
-VERSION 10
-ROW_FORMAT Compact
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT InnoDB free: 3072 kB
-select s.catalog_name, s.schema_name, s.default_character_set_name,
-t.table_type, t.engine
-from information_schema.schemata s inner join information_schema.tables t
-ORDER BY s.schema_name, s.default_character_set_name, table_type, engine;
-catalog_name schema_name default_character_set_name table_type engine
-NULL db_datadict latin1 BASE TABLE CSV
-NULL db_datadict latin1 BASE TABLE CSV
-NULL db_datadict latin1 BASE TABLE InnoDB
-NULL db_datadict latin1 BASE TABLE InnoDB
-NULL db_datadict latin1 BASE TABLE InnoDB
-NULL db_datadict latin1 BASE TABLE InnoDB
-NULL db_datadict latin1 BASE TABLE InnoDB
-NULL db_datadict latin1 BASE TABLE InnoDB
-NULL db_datadict latin1 BASE TABLE InnoDB
-NULL db_datadict latin1 BASE TABLE InnoDB
-NULL db_datadict latin1 BASE TABLE InnoDB
-NULL db_datadict latin1 BASE TABLE InnoDB
-NULL db_datadict latin1 BASE TABLE InnoDB
-NULL db_datadict latin1 BASE TABLE InnoDB
-NULL db_datadict latin1 BASE TABLE InnoDB
-NULL db_datadict latin1 BASE TABLE InnoDB
-NULL db_datadict latin1 BASE TABLE InnoDB
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 VIEW NULL
-NULL db_datadict latin1 VIEW NULL
-NULL db_datadict latin1 VIEW NULL
-NULL information_schema utf8 BASE TABLE CSV
-NULL information_schema utf8 BASE TABLE CSV
-NULL information_schema utf8 BASE TABLE InnoDB
-NULL information_schema utf8 BASE TABLE InnoDB
-NULL information_schema utf8 BASE TABLE InnoDB
-NULL information_schema utf8 BASE TABLE InnoDB
-NULL information_schema utf8 BASE TABLE InnoDB
-NULL information_schema utf8 BASE TABLE InnoDB
-NULL information_schema utf8 BASE TABLE InnoDB
-NULL information_schema utf8 BASE TABLE InnoDB
-NULL information_schema utf8 BASE TABLE InnoDB
-NULL information_schema utf8 BASE TABLE InnoDB
-NULL information_schema utf8 BASE TABLE InnoDB
-NULL information_schema utf8 BASE TABLE InnoDB
-NULL information_schema utf8 BASE TABLE InnoDB
-NULL information_schema utf8 BASE TABLE InnoDB
-NULL information_schema utf8 BASE TABLE InnoDB
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 VIEW NULL
-NULL information_schema utf8 VIEW NULL
-NULL information_schema utf8 VIEW NULL
-NULL mysql latin1 BASE TABLE CSV
-NULL mysql latin1 BASE TABLE CSV
-NULL mysql latin1 BASE TABLE InnoDB
-NULL mysql latin1 BASE TABLE InnoDB
-NULL mysql latin1 BASE TABLE InnoDB
-NULL mysql latin1 BASE TABLE InnoDB
-NULL mysql latin1 BASE TABLE InnoDB
-NULL mysql latin1 BASE TABLE InnoDB
-NULL mysql latin1 BASE TABLE InnoDB
-NULL mysql latin1 BASE TABLE InnoDB
-NULL mysql latin1 BASE TABLE InnoDB
-NULL mysql latin1 BASE TABLE InnoDB
-NULL mysql latin1 BASE TABLE InnoDB
-NULL mysql latin1 BASE TABLE InnoDB
-NULL mysql latin1 BASE TABLE InnoDB
-NULL mysql latin1 BASE TABLE InnoDB
-NULL mysql latin1 BASE TABLE InnoDB
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 VIEW NULL
-NULL mysql latin1 VIEW NULL
-NULL mysql latin1 VIEW NULL
-NULL test latin1 BASE TABLE CSV
-NULL test latin1 BASE TABLE CSV
-NULL test latin1 BASE TABLE InnoDB
-NULL test latin1 BASE TABLE InnoDB
-NULL test latin1 BASE TABLE InnoDB
-NULL test latin1 BASE TABLE InnoDB
-NULL test latin1 BASE TABLE InnoDB
-NULL test latin1 BASE TABLE InnoDB
-NULL test latin1 BASE TABLE InnoDB
-NULL test latin1 BASE TABLE InnoDB
-NULL test latin1 BASE TABLE InnoDB
-NULL test latin1 BASE TABLE InnoDB
-NULL test latin1 BASE TABLE InnoDB
-NULL test latin1 BASE TABLE InnoDB
-NULL test latin1 BASE TABLE InnoDB
-NULL test latin1 BASE TABLE InnoDB
-NULL test latin1 BASE TABLE InnoDB
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 VIEW NULL
-NULL test latin1 VIEW NULL
-NULL test latin1 VIEW NULL
-NULL test1 latin1 BASE TABLE CSV
-NULL test1 latin1 BASE TABLE CSV
-NULL test1 latin1 BASE TABLE InnoDB
-NULL test1 latin1 BASE TABLE InnoDB
-NULL test1 latin1 BASE TABLE InnoDB
-NULL test1 latin1 BASE TABLE InnoDB
-NULL test1 latin1 BASE TABLE InnoDB
-NULL test1 latin1 BASE TABLE InnoDB
-NULL test1 latin1 BASE TABLE InnoDB
-NULL test1 latin1 BASE TABLE InnoDB
-NULL test1 latin1 BASE TABLE InnoDB
-NULL test1 latin1 BASE TABLE InnoDB
-NULL test1 latin1 BASE TABLE InnoDB
-NULL test1 latin1 BASE TABLE InnoDB
-NULL test1 latin1 BASE TABLE InnoDB
-NULL test1 latin1 BASE TABLE InnoDB
-NULL test1 latin1 BASE TABLE InnoDB
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 VIEW NULL
-NULL test1 latin1 VIEW NULL
-NULL test1 latin1 VIEW NULL
-NULL test4 latin1 BASE TABLE CSV
-NULL test4 latin1 BASE TABLE CSV
-NULL test4 latin1 BASE TABLE InnoDB
-NULL test4 latin1 BASE TABLE InnoDB
-NULL test4 latin1 BASE TABLE InnoDB
-NULL test4 latin1 BASE TABLE InnoDB
-NULL test4 latin1 BASE TABLE InnoDB
-NULL test4 latin1 BASE TABLE InnoDB
-NULL test4 latin1 BASE TABLE InnoDB
-NULL test4 latin1 BASE TABLE InnoDB
-NULL test4 latin1 BASE TABLE InnoDB
-NULL test4 latin1 BASE TABLE InnoDB
-NULL test4 latin1 BASE TABLE InnoDB
-NULL test4 latin1 BASE TABLE InnoDB
-NULL test4 latin1 BASE TABLE InnoDB
-NULL test4 latin1 BASE TABLE InnoDB
-NULL test4 latin1 BASE TABLE InnoDB
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 VIEW NULL
-NULL test4 latin1 VIEW NULL
-NULL test4 latin1 VIEW NULL
-select * from information_schema.columns limit 0, 5;
-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
-NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema CHARACTER_SETS DESCRIPTION 3 NO varchar 60 180 NULL NULL utf8 utf8_general_ci varchar(60) select
-NULL information_schema CHARACTER_SETS MAXLEN 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema COLLATIONS COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-select * from information_schema.character_sets limit 0, 5;
-CHARACTER_SET_NAME DEFAULT_COLLATE_NAME DESCRIPTION MAXLEN
-big5 big5_chinese_ci Big5 Traditional Chinese 2
-dec8 dec8_swedish_ci DEC West European 1
-cp850 cp850_general_ci DOS West European 1
-hp8 hp8_english_ci HP West European 1
-koi8r koi8r_general_ci KOI8-R Relcom Russian 1
-select * from information_schema.collations limit 0, 5;
-COLLATION_NAME CHARACTER_SET_NAME ID IS_DEFAULT IS_COMPILED SORTLEN
-big5_chinese_ci big5 1 Yes Yes 1
-big5_bin big5 84 Yes 1
-dec8_swedish_ci dec8 3 Yes 0
-dec8_bin dec8 69 0
-cp850_general_ci cp850 4 Yes 0
-select * from information_schema.collation_character_set_applicability limit 0, 5;
-COLLATION_NAME CHARACTER_SET_NAME
-big5_chinese_ci big5
-big5_bin big5
-dec8_swedish_ci dec8
-dec8_bin dec8
-cp850_general_ci cp850
-select * from information_schema.routines limit 0, 5;
-SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER
-sp_1 NULL db_datadict sp_1 PROCEDURE NULL SQL BEGIN
-SELECT * FROM db_datadict.v1;
-END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost
-select * from information_schema.statistics limit 0, 5;
-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
-NULL mysql columns_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-NULL mysql columns_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE
-NULL mysql columns_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE
-NULL mysql columns_priv 0 mysql PRIMARY 4 Table_name A NULL NULL NULL BTREE
-NULL mysql columns_priv 0 mysql PRIMARY 5 Column_name A 0 NULL NULL BTREE
-select * from information_schema.views limit 0, 5;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE
-NULL db_datadict v1 /* ALGORITHM=UNDEFINED */ select `tables`.`TABLE_CATALOG` AS `TABLE_CATALOG`,`tables`.`TABLE_SCHEMA` AS `TABLE_SCHEMA`,`tables`.`TABLE_NAME` AS `TABLE_NAME`,`tables`.`TABLE_TYPE` AS `TABLE_TYPE`,`tables`.`ENGINE` AS `ENGINE`,`tables`.`VERSION` AS `VERSION`,`tables`.`ROW_FORMAT` AS `ROW_FORMAT`,`tables`.`TABLE_ROWS` AS `TABLE_ROWS`,`tables`.`AVG_ROW_LENGTH` AS `AVG_ROW_LENGTH`,`tables`.`DATA_LENGTH` AS `DATA_LENGTH`,`tables`.`MAX_DATA_LENGTH` AS `MAX_DATA_LENGTH`,`tables`.`INDEX_LENGTH` AS `INDEX_LENGTH`,`tables`.`DATA_FREE` AS `DATA_FREE`,`tables`.`AUTO_INCREMENT` AS `AUTO_INCREMENT`,`tables`.`CREATE_TIME` AS `CREATE_TIME`,`tables`.`UPDATE_TIME` AS `UPDATE_TIME`,`tables`.`CHECK_TIME` AS `CHECK_TIME`,`tables`.`TABLE_COLLATION` AS `TABLE_COLLATION`,`tables`.`CHECKSUM` AS `CHECKSUM`,`tables`.`CREATE_OPTIONS` AS `CREATE_OPTIONS`,`tables`.`TABLE_COMMENT` AS `TABLE_COMMENT` from `information_schema`.`tables` NONE NO root@localhost DEFINER
-NULL db_datadict vu /* ALGORITHM=UNDEFINED */ select distinct `vu1`.`u` AS `u`,substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3)) AS `server`,substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3),(length(substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3))) - 1)) AS `Server_Clean` from `db_datadict`.`vu1` NONE NO root@localhost DEFINER
-NULL db_datadict vu1 /* ALGORITHM=UNDEFINED */ select `user_privileges`.`GRANTEE` AS `u` from `information_schema`.`user_privileges` NONE NO root@localhost DEFINER
-select * from information_schema.user_privileges limit 0, 5;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'root'@'localhost' NULL SELECT YES
-'root'@'localhost' NULL INSERT YES
-'root'@'localhost' NULL UPDATE YES
-'root'@'localhost' NULL DELETE YES
-'root'@'localhost' NULL CREATE YES
-select * from information_schema.schema_privileges limit 0, 5;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
-''@'%' NULL test SELECT NO
-''@'%' NULL test INSERT NO
-''@'%' NULL test UPDATE NO
-''@'%' NULL test DELETE NO
-''@'%' NULL test CREATE NO
-select * from information_schema.table_privileges limit 0, 5;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select * from information_schema.column_privileges limit 0, 5;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select * from information_schema.table_constraints limit 0, 5;
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE
-NULL mysql PRIMARY mysql columns_priv PRIMARY KEY
-NULL mysql PRIMARY mysql db PRIMARY KEY
-NULL mysql PRIMARY mysql event PRIMARY KEY
-NULL mysql PRIMARY mysql func PRIMARY KEY
-NULL mysql PRIMARY mysql help_category PRIMARY KEY
-select * from information_schema.key_column_usage limit 0, 5;
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
-NULL mysql PRIMARY NULL mysql columns_priv Host 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql columns_priv Db 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql columns_priv User 3 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql columns_priv Table_name 4 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql columns_priv Column_name 5 NULL NULL NULL NULL
-select count(*) as max_recs from information_schema.key_column_usage limit 0, 5;
-max_recs
-45
-
-root: check with db name
-------------------------
-SELECT COUNT(*) FROM information_schema. schemata ;
-COUNT(*)
-6
-SELECT COUNT(*) FROM information_schema. tables ;
-COUNT(*)
-68
-SELECT COUNT(*) FROM information_schema. columns ;
-COUNT(*)
-842
-SELECT COUNT(*) FROM information_schema. character_sets ;
-COUNT(*)
-36
-SELECT COUNT(*) FROM information_schema. collations ;
-COUNT(*)
-127
-SELECT COUNT(*) FROM information_schema. collation_character_set_applicability ;
-COUNT(*)
-128
-SELECT COUNT(*) FROM information_schema. routines ;
-COUNT(*)
-1
-SELECT COUNT(*) FROM information_schema. statistics ;
-COUNT(*)
-48
-SELECT COUNT(*) FROM information_schema. views ;
-COUNT(*)
-3
-SELECT COUNT(*) FROM information_schema. user_privileges ;
-COUNT(*)
-81
-SELECT COUNT(*) FROM information_schema. schema_privileges ;
-COUNT(*)
-32
-SELECT COUNT(*) FROM information_schema. table_privileges ;
-COUNT(*)
-0
-SELECT COUNT(*) FROM information_schema. column_privileges ;
-COUNT(*)
-0
-SELECT COUNT(*) FROM information_schema. table_constraints ;
-COUNT(*)
-24
-SELECT COUNT(*) FROM information_schema. key_column_usage ;
-COUNT(*)
-45
-SELECT COUNT(*) FROM information_schema. triggers ;
-COUNT(*)
-0
-SELECT COUNT(*) FROM information_schema. parameters ;
-ERROR 42S02: Unknown table 'parameters' in information_schema
-SELECT COUNT(*) FROM information_schema. referential_constraints ;
-COUNT(*)
-0
-USE db_datadict;
-DROP VIEW v1, vu1, vu;
-DROP PROCEDURE db_datadict.sp_1;
-USE information_schema;
-
-Testcase 3.2.1.2:
---------------------------------------------------------------------------------
-select catalog_name, schema_name, default_character_set_name
-from schemata where schema_name like '%s%';
-catalog_name schema_name default_character_set_name
-NULL information_schema utf8
-NULL mysql latin1
-NULL test latin1
-NULL test1 latin1
-NULL test4 latin1
-select count(*) as tot_tabs from tables;
-tot_tabs
-65
-select count(*) as the_cols from columns;
-the_cols
-817
-select max(maxlen) as the_max from character_sets;
-the_max
-3
-select * from collations order by id asc limit 0, 5;
-COLLATION_NAME CHARACTER_SET_NAME ID IS_DEFAULT IS_COMPILED SORTLEN
-big5_chinese_ci big5 1 Yes Yes 1
-latin2_czech_cs latin2 2 Yes 4
-dec8_swedish_ci dec8 3 Yes 0
-cp850_general_ci cp850 4 Yes 0
-latin1_german1_ci latin1 5 Yes 1
-select * from collation_character_set_applicability
-order by character_set_name desc, collation_name limit 0, 5;
-COLLATION_NAME CHARACTER_SET_NAME
-utf8_bin utf8
-utf8_czech_ci utf8
-utf8_danish_ci utf8
-utf8_esperanto_ci utf8
-utf8_estonian_ci utf8
-select routine_definition from routines;
-routine_definition
-select * from statistics group by index_name asc limit 0, 5;
-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
-NULL mysql procs_priv 1 mysql Grantor 1 Grantor A NULL NULL NULL BTREE
-NULL mysql help_category 0 mysql name 1 name A 0 NULL NULL BTREE
-NULL mysql columns_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-NULL mysql db 1 mysql User 1 User A 1 NULL NULL BTREE
-select concat(table_schema, ', ', table_name, ', ', view_definition) view_info
-from views;
-view_info
-select concat(table_schema, ', ', table_name) "Table_info"
- from tables ORDER BY 1;
-Table_info
-information_schema, CHARACTER_SETS
-information_schema, COLLATIONS
-information_schema, COLLATION_CHARACTER_SET_APPLICABILITY
-information_schema, COLUMNS
-information_schema, COLUMN_PRIVILEGES
-information_schema, ENGINES
-information_schema, EVENTS
-information_schema, FILES
-information_schema, GLOBAL_STATUS
-information_schema, GLOBAL_VARIABLES
-information_schema, KEY_COLUMN_USAGE
-information_schema, PARTITIONS
-information_schema, PLUGINS
-information_schema, PROCESSLIST
-information_schema, REFERENTIAL_CONSTRAINTS
-information_schema, ROUTINES
-information_schema, SCHEMATA
-information_schema, SCHEMA_PRIVILEGES
-information_schema, SESSION_STATUS
-information_schema, SESSION_VARIABLES
-information_schema, STATISTICS
-information_schema, TABLES
-information_schema, TABLE_CONSTRAINTS
-information_schema, TABLE_PRIVILEGES
-information_schema, TRIGGERS
-information_schema, USER_PRIVILEGES
-information_schema, VIEWS
-mysql, columns_priv
-mysql, db
-mysql, event
-mysql, func
-mysql, general_log
-mysql, help_category
-mysql, help_keyword
-mysql, help_relation
-mysql, help_topic
-mysql, host
-mysql, ndb_binlog_index
-mysql, plugin
-mysql, proc
-mysql, procs_priv
-mysql, servers
-mysql, slow_log
-mysql, tables_priv
-mysql, time_zone
-mysql, time_zone_leap_second
-mysql, time_zone_name
-mysql, time_zone_transition
-mysql, time_zone_transition_type
-mysql, user
-test, t1
-test, t10
-test, t11
-test, t2
-test, t3
-test, t4
-test, t7
-test, t8
-test, t9
-test, tb1
-test, tb2
-test, tb3
-test, tb4
-test1, tb2
-test4, t6
-select distinct grantee from user_privileges order by grantee, privilege_type;
-grantee
-'root'@'127.0.0.1'
-'root'@'<SERVER_NAME>'
-'root'@'localhost'
-select * from schema_privileges where table_catalog is null limit 0, 5;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
-''@'%' NULL test SELECT NO
-''@'%' NULL test INSERT NO
-''@'%' NULL test UPDATE NO
-''@'%' NULL test DELETE NO
-''@'%' NULL test CREATE NO
-select * from table_privileges where grantee like '%r%' limit 0, 5;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select * from column_privileges where table_catalog is not null limit 0, 5;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select HIGH_PRIORITY * from table_constraints
-group by constraint_name desc limit 0, 5;
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE
-NULL mysql PRIMARY mysql columns_priv PRIMARY KEY
-NULL mysql name mysql help_category UNIQUE
-select sum(ordinal_position) from key_column_usage;
-sum(ordinal_position)
-83
-select * from schemata limit 0,5;
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL information_schema utf8 utf8_general_ci NULL
-NULL db_datadict latin1 latin1_swedish_ci NULL
-NULL mysql latin1 latin1_swedish_ci NULL
-NULL test latin1 latin1_swedish_ci NULL
-NULL test1 latin1 latin1_swedish_ci NULL
-select * from schemata limit 0,5;
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL information_schema utf8 utf8_general_ci NULL
-NULL db_datadict latin1 latin1_swedish_ci NULL
-NULL mysql latin1 latin1_swedish_ci NULL
-NULL test latin1 latin1_swedish_ci NULL
-NULL test1 latin1 latin1_swedish_ci NULL
-select distinct grantee from user_privileges;
-grantee
-'root'@'localhost'
-'root'@'<SERVER_NAME>'
-'root'@'127.0.0.1'
-select all grantee from user_privileges order by grantee, privilege_type;
-grantee
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-select id , character_set_name from collations order by id asc limit 10;
-id character_set_name
-1 big5
-2 latin2
-3 dec8
-4 cp850
-5 latin1
-6 hp8
-7 koi8r
-8 latin1
-9 latin2
-10 swe7
-select table_catalog from columns
-union all
-select table_catalog from tables limit 0,5;
-table_catalog
-NULL
-NULL
-NULL
-NULL
-NULL
-select table_catalog from columns
-union
-select table_catalog from tables limit 0,5;
-table_catalog
-NULL
-select all schema_name from information_schema.schemata;
-schema_name
-information_schema
-db_datadict
-mysql
-test
-test1
-test4
-SELECT *
-INTO OUTFILE '../tmp/out.innodb.file'
- FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
- LINES TERMINATED BY '\n'
- FROM schemata LIMIT 0, 5;
-USE test;
-SELECT *
-INTO OUTFILE '../tmp/out.innodb.db.file'
- FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
- LINES TERMINATED BY '\n'
- FROM information_schema.schemata
-WHERE schema_name LIKE 'db_%';
-CREATE USER user_3212@localhost;
-GRANT ALL ON db_datadict.* TO user_3212@localhost;
-GRANT FILE ON *.* TO user_3212@localhost;
-connect(localhost,user_3212,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-
-user_3212@localhost db_datadict
-SELECT *
-INTO OUTFILE '../tmp/out.innodb.user.file'
- FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
- LINES TERMINATED BY '\n'
- FROM schemata LIMIT 0, 5;
-ERROR 42S02: Table 'db_datadict.schemata' doesn't exist
-SELECT *
-FROM schemata LIMIT 0, 5;
-ERROR 42S02: Table 'db_datadict.schemata' doesn't exist
-SELECT *
-INTO OUTFILE '../tmp/out.innodb.user.db.file'
- FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
- LINES TERMINATED BY '\n'
- FROM information_schema.schemata
-WHERE schema_name LIKE 'db_%';
-SELECT *
-FROM information_schema.schemata
-WHERE schema_name LIKE 'db_%';
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL db_datadict latin1 latin1_swedish_ci NULL
-USE information_schema;
-SELECT *
-INTO OUTFILE '../tmp/out.innodb.user_2.file'
- FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
- LINES TERMINATED BY '\n'
- FROM schemata LIMIT 0, 5;
-SELECT *
-FROM schemata LIMIT 0, 5;
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL information_schema utf8 utf8_general_ci NULL
-NULL db_datadict latin1 latin1_swedish_ci NULL
-NULL test latin1 latin1_swedish_ci NULL
-SELECT *
-INTO OUTFILE '../tmp/out.innodb.user_2.db.file'
- FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
- LINES TERMINATED BY '\n'
- FROM information_schema.schemata
-WHERE schema_name LIKE 'db_%';
-SELECT *
-FROM information_schema.schemata
-WHERE schema_name LIKE 'db_%';
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL db_datadict latin1 latin1_swedish_ci NULL
-USE information_schema;
-
-root@localhost information_schema
-use db_datadict;
-select table_catalog "1", table_schema "2", table_name "3", column_name "4"
- from information_schema.columns
-union
-select table_catalog, table_schema, table_name,
-concat( "*** type = ", table_type )
-from information_schema.tables
-order by 3, 4 desc, 1, 2 limit 30;
-1 2 3 4
-NULL information_schema CHARACTER_SETS MAXLEN
-NULL information_schema CHARACTER_SETS DESCRIPTION
-NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME
-NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME
-NULL information_schema CHARACTER_SETS *** type = SYSTEM VIEW
-NULL information_schema COLLATIONS SORTLEN
-NULL information_schema COLLATIONS IS_DEFAULT
-NULL information_schema COLLATIONS IS_COMPILED
-NULL information_schema COLLATIONS ID
-NULL information_schema COLLATIONS COLLATION_NAME
-NULL information_schema COLLATIONS CHARACTER_SET_NAME
-NULL information_schema COLLATIONS *** type = SYSTEM VIEW
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY *** type = SYSTEM VIEW
-NULL information_schema COLUMNS TABLE_SCHEMA
-NULL information_schema COLUMNS TABLE_NAME
-NULL information_schema COLUMNS TABLE_CATALOG
-NULL information_schema COLUMNS PRIVILEGES
-NULL information_schema COLUMNS ORDINAL_POSITION
-NULL information_schema COLUMNS NUMERIC_SCALE
-NULL information_schema COLUMNS NUMERIC_PRECISION
-NULL information_schema COLUMNS IS_NULLABLE
-NULL information_schema COLUMNS EXTRA
-NULL information_schema COLUMNS DATA_TYPE
-NULL information_schema COLUMNS COLUMN_TYPE
-NULL information_schema COLUMNS COLUMN_NAME
-NULL information_schema COLUMNS COLUMN_KEY
-NULL information_schema COLUMNS COLUMN_DEFAULT
-NULL information_schema COLUMNS COLUMN_COMMENT
-use information_schema;
-select table_catalog "1", table_schema "2", table_name "3", column_name "4"
- from columns
-union
-select table_catalog, table_schema, table_name,
-concat( "*** type = ", table_type )
-from tables
-order by 3, 4 desc, 1, 2 limit 30;
-1 2 3 4
-NULL information_schema CHARACTER_SETS MAXLEN
-NULL information_schema CHARACTER_SETS DESCRIPTION
-NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME
-NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME
-NULL information_schema CHARACTER_SETS *** type = SYSTEM VIEW
-NULL information_schema COLLATIONS SORTLEN
-NULL information_schema COLLATIONS IS_DEFAULT
-NULL information_schema COLLATIONS IS_COMPILED
-NULL information_schema COLLATIONS ID
-NULL information_schema COLLATIONS COLLATION_NAME
-NULL information_schema COLLATIONS CHARACTER_SET_NAME
-NULL information_schema COLLATIONS *** type = SYSTEM VIEW
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY *** type = SYSTEM VIEW
-NULL information_schema COLUMNS TABLE_SCHEMA
-NULL information_schema COLUMNS TABLE_NAME
-NULL information_schema COLUMNS TABLE_CATALOG
-NULL information_schema COLUMNS PRIVILEGES
-NULL information_schema COLUMNS ORDINAL_POSITION
-NULL information_schema COLUMNS NUMERIC_SCALE
-NULL information_schema COLUMNS NUMERIC_PRECISION
-NULL information_schema COLUMNS IS_NULLABLE
-NULL information_schema COLUMNS EXTRA
-NULL information_schema COLUMNS DATA_TYPE
-NULL information_schema COLUMNS COLUMN_TYPE
-NULL information_schema COLUMNS COLUMN_NAME
-NULL information_schema COLUMNS COLUMN_KEY
-NULL information_schema COLUMNS COLUMN_DEFAULT
-NULL information_schema COLUMNS COLUMN_COMMENT
-DROP USER user_3212@localhost;
-
-Testcase 3.2.1.3:
---------------------------------------------------------------------------------
-insert into schemata (catalog_name, schema_name, default_character_set_name, sql_path)
-values ('null', 'db1', 'latin1', 'null');
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-insert into tables (table_schema, table_name)values('db_datadict', 't1');
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-insert into columns (table_name, column_name)values('t3', 'f2');
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-insert into character_sets (character_set_name, default_collate_name, description, maxlen)
-values('cp1251', 'cp1251_general_ci', 'windows cyrillic', 1);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-insert into collations ( collation_name, character_set_name, id, is_default, is_compiled, sortlen)
-values ('cp1251_bin', 'cp1251', 50, '', '', 0);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-insert into collation_character_set_applicability (collation_name, character_set_name)
-values (' big5_chinese_ci', 'big6');
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-insert into routines(routine_name, routine_type ) values ('p2', 'procedure');
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-insert into statistics(table_schema, table_name, index_name)
-values ('mysql', 'db', 'primary');
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-insert into views(table_schema, table_name) values ('db2', 'v2');
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-insert into user_privileges (privilege_type, is_grantable) values ('select', 'yes');
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-insert into schema_privileges (table_schema, privilege_type) values('db2', 'insert');
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-insert into table_privileges (able_schema, table_name, privilege_type)
-values('db2', 'v2', 'insert');
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-insert into column_privileges (table_name, column_name, privilege_type)
-values ('t3', 'f3', 'insert');
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-insert into table_constraints ( constraint_schema, constraint_name, table_schema)
-values ('primary', 'mysql', 'user');
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-insert into key_column_usage (constraint_schema, constraint_name, table_name)
-values ('mysql', 'primary', 'db');
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-drop procedure if exists db_datadict.sp_4_1_3;
-create procedure db_datadict.sp_4_1_3()
-begin
-insert into information_schema.schema_privileges (table_schema,privilege_type)
-values('db2','insert');
-end//
-SELECT table_schema, privilege_type FROM information_schema.schema_privileges
-WHERE table_schema LIKE 'db%';
-table_schema privilege_type
-call db_datadict.sp_4_1_3();
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-SELECT table_schema, privilege_type FROM information_schema.schema_privileges
-WHERE table_schema LIKE 'db%';
-table_schema privilege_type
-drop procedure db_datadict.sp_4_1_3;
-CREATE USER user_4_1_3@localhost;
-connect(localhost,user_4_1_3,,test,MYSQL_PORT,MYSQL_SOCK);
-
-user_4_1_3@localhost test
-use information_schema;
-insert into table_constraints ( constraint_schema, constraint_name, table_schema)
-values ('primary', 'mysql', 'user');
-ERROR 42000: Access denied for user 'user_4_1_3'@'localhost' to database 'information_schema'
-
-root@localhost information_schema
-
-Testcase 3.2.1.4:
---------------------------------------------------------------------------------
-use information_schema;
-
-root@localhost information_schema
-update schemata set schema_name = 'db5' where default_character_set_name = 'latin1';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-update tables set table_schema = 'db_datadict1' where table_name = 't1';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-update columns set table_name = 't4' where column_name = 'f2';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-update character_sets set character_set_name = 'cp1252' where maxlen = 1;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-update collations set collation_name = 'cp1253_bin'
- where character_set_name = 'cp1251';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-update collation_character_set_applicability set collation_name = 'big6_chinese_ci'
- where character_set_name = 'big6';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-update routines set routine_name = p2 where routine_body = 'sql';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-update statistics set table_schema = 'mysql1' where table_name = 'db';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-update views set table_schema = 'db3' where table_name = 'v1';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-update user_privileges set privilege_type = 'insert' where is_grantable = 'yes';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-update schema_privileges set table_schema = 'db2' where privilege_type = 'select';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-update table_privileges set table_name = 'v3' where privilege_type = 'select';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-update column_privileges set table_name = 't4' where column_name = 'f3';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-update table_constraints set constraint_schema = 'primary'
- where table_schema = 'proc';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-update key_column_usage set table_name = 'db1' where constraint_name = 'primary';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-drop procedure if exists db_datadict.sp_4_1_4;
-create procedure db_datadict.sp_4_1_4()
-begin
-update information_schema.routines set routine_name = 'p2'
- where routine_name = 'sp_4_1_4';
-end//
-select * from information_schema.routines;
-SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER
-sp_4_1_4 NULL db_datadict sp_4_1_4 PROCEDURE NULL SQL begin
-update information_schema.routines set routine_name = 'p2'
- where routine_name = 'sp_4_1_4';
-end NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost
-call db_datadict.sp_4_1_4();
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-select * from information_schema.routines;
-SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER
-sp_4_1_4 NULL db_datadict sp_4_1_4 PROCEDURE NULL SQL begin
-update information_schema.routines set routine_name = 'p2'
- where routine_name = 'sp_4_1_4';
-end NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost
-drop procedure db_datadict.sp_4_1_4;
-use information_schema;
-
-user_4_1_3@localhost information_schema
-update user_privileges set privilege_type = 'insert' where is_grantable = 'yes';
-ERROR 42000: Access denied for user 'user_4_1_3'@'localhost' to database 'information_schema'
-
-root@localhost information_schema
-
-Testcase 3.2.1.5:
---------------------------------------------------------------------------------
-use information_schema;
-
-root: DELETE FROM any table in IS
----------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-DELETE FROM schemata ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM tables ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM columns ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM character_sets ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM collations ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM collation_character_set_applicability ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM routines ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM statistics ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM views ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM user_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM schema_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM table_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM column_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM table_constraints ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM key_column_usage ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM triggers ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from schemata where schema_name = 'mysql';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from tables where table_name = 'abc';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from columns;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from character_sets;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from collations;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from collation_character_set_applicability;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from routines;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from statistics;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from views;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from user_privileges;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from schema_privileges;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from table_privileges;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from column_privileges;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from table_constraints;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from key_column_usage;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-drop procedure if exists db_datadict.sp_4_1_5;
-create procedure db_datadict.sp_4_1_5()
-begin
-delete from information_schema.column_privileges;
-end//
-call db_datadict.sp_4_1_5();
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-drop procedure db_datadict.sp_4_1_5;
-use information_schema;
-
-user_4_1_3@localhost information_schema
-delete from tables where table_name = 'abc';
-ERROR 42000: Access denied for user 'user_4_1_3'@'localhost' to database 'information_schema'
-
-root@localhost information_schema
-DROP USER user_4_1_3@localhost;
-
-Testcase 3.2.1.6:
---------------------------------------------------------------------------------
-use information_schema;
-
-root: create a table with a name of an IS table directly in IS
---------------------------------------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-CREATE TABLE schemata ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE tables ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE columns ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE character_sets ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE collations ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE collation_character_set_applicability ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE routines ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE statistics ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE views ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE user_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE schema_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE table_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE column_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE table_constraints ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE key_column_usage ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE triggers ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create table t1 (f1 int, f2 int, f3 int);
-ERROR 42S02: Unknown table 't1' in information_schema
-use db_datadict;
-
-root: create a table with a name of an IS table from other db
--------------------------------------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-CREATE TABLE information_schema. schemata ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. tables ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. columns ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. character_sets ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. collations ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. collation_character_set_applicability ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. routines ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. statistics ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. views ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. user_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. schema_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. table_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. column_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. table_constraints ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. key_column_usage ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. triggers ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create table information_schema.t1 (f1 int, f2 int, f3 int);
-ERROR 42S02: Unknown table 't1' in information_schema
-CREATE USER user_4_1_6@localhost;
-grant all on *.* to user_4_1_6@localhost;
-FLUSH PRIVILEGES;
-SHOW GRANTS FOR user_4_1_6@localhost;
-Grants for user_4_1_6@localhost
-GRANT ALL PRIVILEGES ON *.* TO 'user_4_1_6'@'localhost'
-connect(localhost,user_4_1_6,,information_schema,MYSQL_PORT,MYSQL_SOCK);
-
-user_4_1_6@localhost information_schema
-use information_schema;
-
-user: create a table with a name of an IS table directly in IS
---------------------------------------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-CREATE TABLE schemata ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE tables ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE columns ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE character_sets ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE collations ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE collation_character_set_applicability ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE routines ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE statistics ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE views ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE user_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE schema_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE table_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE column_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE table_constraints ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE key_column_usage ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE triggers ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-create table t1 (f1 int, f2 int, f3 int);
-ERROR 42S02: Unknown table 't1' in information_schema
-use test;
-
-user: create a table with a name of an IS table from other db
--------------------------------------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-CREATE TABLE information_schema. schemata ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. tables ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. columns ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. character_sets ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. collations ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. collation_character_set_applicability ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. routines ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. statistics ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. views ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. user_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. schema_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. table_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. column_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. table_constraints ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. key_column_usage ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. triggers ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-create table information_schema.t1 (f1 int, f2 int, f3 int);
-ERROR 42S02: Unknown table 't1' in information_schema
-
-root@localhost db_datadict
-DROP USER user_4_1_6@localhost;
-
-Testcase 3.2.1.7:
---------------------------------------------------------------------------------
-use information_schema;
-
-root: create a view with a name of an IS table directly in IS
--------------------------------------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-CREATE VIEW schemata AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW tables AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW columns AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW character_sets AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW collations AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW collation_character_set_applicability AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW routines AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW statistics AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW views AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW user_privileges AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW schema_privileges AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW table_privileges AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW column_privileges AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW table_constraints AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW key_column_usage AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW triggers AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW v1 AS SELECT * FROM information_schema.schemata;
-ERROR 42S02: Unknown table 'v1' in information_schema
-USE db_datadict;
-
-root: create a view with a name of an IS table from other db
-------------------------------------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-CREATE VIEW information_schema. schemata AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. tables AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. columns AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. character_sets AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. collations AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. collation_character_set_applicability AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. routines AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. statistics AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. views AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. user_privileges AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. schema_privileges AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. table_privileges AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. column_privileges AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. table_constraints AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. key_column_usage AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. triggers AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW v1 AS SELECT * FROM information_schema.columns;
-SELECT * FROM v1 LIMIT 5;
-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
-NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema CHARACTER_SETS DESCRIPTION 3 NO varchar 60 180 NULL NULL utf8 utf8_general_ci varchar(60) select
-NULL information_schema CHARACTER_SETS MAXLEN 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema COLLATIONS COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-CREATE USER user_4_1_7@localhost;
-GRANT ALL ON db_datadict.* TO user_4_1_7@localhost;
-GRANT ALL ON information_schema.* TO user_4_1_7@localhost;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-FLUSH PRIVILEGES;
-connect(localhost,user_4_1_7,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-use information_schema;
-
-user_4_1_7@localhost information_schema
-
-user: create a view with a name of an IS table directly in IS
--------------------------------------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-CREATE VIEW schemata AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW tables AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW columns AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW character_sets AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW collations AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW collation_character_set_applicability AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW routines AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW statistics AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW views AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW user_privileges AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW schema_privileges AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW table_privileges AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW column_privileges AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW table_constraints AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW key_column_usage AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW triggers AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-create view v1 as select * from table_privileges;
-ERROR 42S02: Unknown table 'v1' in information_schema
-use db_datadict;
-
-user: create a view with a name of an IS table from other db
-------------------------------------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-CREATE VIEW information_schema. schemata AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. tables AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. columns AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. character_sets AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. collations AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. collation_character_set_applicability AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. routines AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. statistics AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. views AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. user_privileges AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. schema_privileges AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. table_privileges AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. column_privileges AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. table_constraints AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. key_column_usage AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. triggers AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-
-root@localhost db_datadict
-DROP USER user_4_1_7@localhost;
-DROP VIEW db_datadict.v1;
-
-Testcase 3.2.1.8:
---------------------------------------------------------------------------------
-use information_schema;
-create index i1 on schemata(schema_name);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i2 on tables(table_schema);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i3 on columns(table_name);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i4 on character_sets(character_set_name);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i5 on collations( collation_name);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i6 on collation_character_set_applicability(collation_name);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i7 on routines(routine_name);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i8 on statistics(table_schema);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i9 on views(table_schema);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i10 on user_privileges(privilege_type);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i11 on schema_privileges(table_schema);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i12 on table_privileges(able_schema);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i13 on column_privileges(table_name);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i14 on table_constraints(constraint_schema);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i15 on key_column_usage(constraint_schema);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i16 on triggers(trigger_name);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-use db_datadict;
-create index i15 on information_schema.key_column_usage(constraint_schema);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-use information_schema;
-CREATE USER user_4_1_8@localhost;
-grant select, index on *.* to user_4_1_8@localhost;
-FLUSH PRIVILEGES;
-connect(localhost,user_4_1_8,,test,MYSQL_PORT,MYSQL_SOCK);
-
-user_4_1_8@localhost test
-use information_schema;
-create index i1 on schemata(schema_name);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i2 on tables(table_schema);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i3 on columns(table_name);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i4 on character_sets(character_set_name);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i5 on collations( collation_name);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i6 on collation_character_set_applicability(collation_name);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i7 on routines(routine_name);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i8 on statistics(table_schema);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i9 on views(table_schema);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i10 on user_privileges(privilege_type);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i11 on schema_privileges(table_schema);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i12 on table_privileges(able_schema);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i13 on column_privileges(table_name);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i14 on table_constraints(constraint_schema);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i15 on key_column_usage(constraint_schema);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i16 on triggers(trigger_name);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-use db_datadict;
-create index i15 on information_schema.key_column_usage(constraint_schema);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-
-root@localhost information_schema
-DROP USER user_4_1_8@localhost;
-
-Testcase 3.2.1.9:
---------------------------------------------------------------------------------
-
-root: alter a table from other db
----------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-ALTER TABLE information_schema. schemata ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. tables ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. columns ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. character_sets ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. collations ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. collation_character_set_applicability ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. routines ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. statistics ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. views ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. user_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. schema_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. table_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. column_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. table_constraints ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. key_column_usage ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. triggers ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-use information_schema;
-
-root: alter a table from directly
----------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-ALTER TABLE schemata ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE tables ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE columns ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE character_sets ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE collations ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE collation_character_set_applicability ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE routines ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE statistics ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE views ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE user_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE schema_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE table_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE column_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE table_constraints ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE key_column_usage ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE triggers ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table schemata add f1 int;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table tables drop primary key;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table columns add f1 int;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table character_sets disable keys;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table collations enable keys;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table collation_character_set_applicability add f1 int;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table routines discard tablespace;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table statistics import tablespace;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table views drop column table_name;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table user_privileges drop index privilege_type;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table schema_privileges drop column is_grantable;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table table_privileges order by constraint_type;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table column_privileges rename to aaxyz;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table table_constraints order by schema_name;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table key_column_usage rename to information_schema.aabxyz;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table triggers rename to information_schema.sql_mode;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE USER user_4_1_9@localhost;
-grant select, alter, create, insert on *.* to user_4_1_9@localhost;
-FLUSH PRIVILEGES;
-connect(localhost,user_4_1_9,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-
-user_4_1_9@localhost db_datadict
-use db_datadict;
-
-user: alter a table from other db
----------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-ALTER TABLE information_schema. schemata ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. tables ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. columns ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. character_sets ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. collations ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. collation_character_set_applicability ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. routines ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. statistics ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. views ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. user_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. schema_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. table_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. column_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. table_constraints ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. key_column_usage ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. triggers ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-use information_schema;
-
-user: alter a table from directly
----------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-ALTER TABLE schemata ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE tables ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE columns ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE character_sets ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE collations ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE collation_character_set_applicability ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE routines ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE statistics ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE views ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE user_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE schema_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE table_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE column_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE table_constraints ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE key_column_usage ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE triggers ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-
-root@localhost information_schema
-DROP USER user_4_1_9@localhost;
-
-Testcase 3.2.1.10:
---------------------------------------------------------------------------------
-use information_schema;
-
-root: drop a table from IS
---------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-DROP TABLE schemata ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE tables ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE columns ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE character_sets ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE collations ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE collation_character_set_applicability ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE routines ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE statistics ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE views ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE user_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE schema_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE table_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE column_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE table_constraints ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE key_column_usage ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE triggers ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-use db_datadict;
-
-root: drop a table from other db
---------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-DROP TABLE information_schema. schemata ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. tables ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. columns ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. character_sets ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. collations ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. collation_character_set_applicability ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. routines ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. statistics ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. views ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. user_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. schema_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. table_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. column_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. table_constraints ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. key_column_usage ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. triggers ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-use information_schema;
-CREATE USER user_4_1_10@localhost;
-GRANT SELECT, DROP ON *.* TO user_4_1_10@localhost;
-FLUSH PRIVILEGES;
-connect(localhost,user_4_1_10,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-use information_schema;
-
-user_4_1_10@localhost information_schema
-
-user: drop a table from IS
---------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-DROP TABLE schemata ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE tables ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE columns ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE character_sets ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE collations ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE collation_character_set_applicability ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE routines ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE statistics ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE views ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE user_privileges ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE schema_privileges ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE table_privileges ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE column_privileges ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE table_constraints ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE key_column_usage ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE triggers ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-use db_datadict;
-
-user: drop a table from other db
---------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-DROP TABLE information_schema. schemata ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. tables ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. columns ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. character_sets ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. collations ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. collation_character_set_applicability ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. routines ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. statistics ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. views ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. user_privileges ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. schema_privileges ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. table_privileges ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. column_privileges ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. table_constraints ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. key_column_usage ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. triggers ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-
-root@localhost information_schema
-DROP USER user_4_1_10@localhost;
-CREATE USER user_4_1_11@localhost;
-GRANT SUPER ON *.* TO user_4_1_11@localhost;
-FLUSH PRIVILEGES;
-connect(localhost,user_4_1_11,,test,MYSQL_PORT,MYSQL_SOCK);
-use information_schema;
-
-user_4_1_11@localhost information_schema
-drop table routines;
-ERROR 42000: Access denied for user 'user_4_1_11'@'localhost' to database 'information_schema'
-alter table collations enable keys;
-ERROR 42000: Access denied for user 'user_4_1_11'@'localhost' to database 'information_schema'
-create index i5 on collations( collation_name );
-ERROR 42000: Access denied for user 'user_4_1_11'@'localhost' to database 'information_schema'
-create view v1 as select * from schemata;
-ERROR 42S02: Unknown table 'v1' in information_schema
-delete from columns;
-ERROR 42000: Access denied for user 'user_4_1_11'@'localhost' to database 'information_schema'
-update columns set table_name = 't4' where column_name = 'f2';
-ERROR 42000: Access denied for user 'user_4_1_11'@'localhost' to database 'information_schema'
-insert into collations ( collation_name, character_set_name, id, is_default,
-is_compiled, sortlen)
-values ('cp1251_bin', 'cp1251', 50, '', '', 0);
-ERROR 42000: Access denied for user 'user_4_1_11'@'localhost' to database 'information_schema'
-
-root@localhost information_schema
-DROP USER user_4_1_11@localhost;
-
-Testcase 3.2.1.11:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-CREATE DATABASE db_datadict;
-CREATE USER 'u_6_401011'@'localhost';
-GRANT ALL ON information_schema.* TO 'u_6_401011'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-GRANT ALL ON db_datadict.* TO 'u_6_401011'@'localhost';
-FLUSH PRIVILEGES;
-ALTER TABLE information_schema.schemata RENAME db_datadict.schemata;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-
-root: move table to other DB
-----------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-ALTER TABLE information_schema. schemata RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. tables RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. columns RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. character_sets RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. collations RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. collation_character_set_applicability RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. routines RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. statistics RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. views RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. user_privileges RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. schema_privileges RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. table_privileges RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. column_privileges RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. table_constraints RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. key_column_usage RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. triggers RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-connect(localhost,u_6_401011,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-USE information_schema;
-
-u_6_401011@localhost information_schema
-ALTER TABLE information_schema.schemata RENAME db_datadict.schemata;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-
-user: move table to other DB
-----------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-ALTER TABLE information_schema. schemata RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. tables RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. columns RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. character_sets RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. collations RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. collation_character_set_applicability RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. routines RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. statistics RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. views RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. user_privileges RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. schema_privileges RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. table_privileges RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. column_privileges RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. table_constraints RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. key_column_usage RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. triggers RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-
-root@localhost information_schema
-DROP TABLE IF EXISTS db_datadict.schemata;
-DROP USER 'u_6_401011'@'localhost';
-
-Testcase 3.2.1.12:
---------------------------------------------------------------------------------
-
-root: delete from IS tables
----------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-DELETE FROM information_schema. schemata ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. tables ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. columns ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. character_sets ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. collations ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. collation_character_set_applicability ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. routines ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. statistics ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. views ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. user_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. schema_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. table_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. column_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. table_constraints ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. key_column_usage ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. triggers ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.tables SET table_name = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.columns SET table_name = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.statistics SET table_name = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.views SET table_name = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.table_privileges SET table_name = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.column_privileges SET table_name = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.table_constraints SET table_name = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.key_column_usage SET table_name = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.schemata SET catalog_name = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.character_sets SET description = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.collations SET character_set_name = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.collation_character_set_applicability
-SET character_set_name = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.routines SET routine_type = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.user_privileges SET grantee = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.schema_privileges SET grantee = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.triggers SET sql_mode = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE USER 'u_6_401012'@'localhost';
-connect(localhost,u_6_401012,,test,MYSQL_PORT,MYSQL_SOCK);
-use information_schema;
-insert into information_schema.schemata (catalog_name, schema_name,
-default_character_set_name, sql_path)
-values (null, information_schema1, utf16, null);
-ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema'
-alter table information_schema.schemata rename db_datadict1.schemata;
-ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema'
-alter table information_schema.tables drop column checksum;
-ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema'
-alter table information_schema.statistics modify packed int;
-ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema'
-alter table information_schema.routines modify created int not null;
-ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema'
-alter table information_schema.key_column_usage drop column ordinal_position;
-ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema'
-alter table information_schema.table_privileges
-change privilege_type rights_approved varchar(32);
-ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema'
-update columns set table_name = 't4' where column_name = 'f2';
-ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema'
-delete from information_schema.collations;
-ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema'
-
-root@localhost information_schema
-drop table if exists db_datadict1.schemata;
-DROP USER 'u_6_401012'@'localhost';
-
-Testcase 3.2.1.13:
---------------------------------------------------------------------------------
-use information_schema;
-
-first check status >before< creating the objects ...
-----------------------------------------------------
-select *
-from information_schema.schemata
-where schema_name like 'db_datadict%';
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL db_datadict latin1 latin1_swedish_ci NULL
-select table_catalog, table_schema, engine
-from information_schema.tables
-where table_schema like 'db_datadict%';
-table_catalog table_schema engine
-select *
-from information_schema.columns
-where table_schema like 'db_datadict%';
-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
-select table_schema, table_name, is_updatable
-from information_schema.views
-where table_schema like 'db_datadict%';
-table_schema table_name is_updatable
-select routine_name, routine_type, security_type, sql_mode
-from information_schema.routines
-where routine_schema like 'db_datadict%';
-routine_name routine_type security_type sql_mode
-select table_name, index_schema, index_name, index_type
-from information_schema.statistics
-where table_schema like 'db_datadict%';
-table_name index_schema index_name index_type
-select *
-from information_schema.user_privileges order by grantee, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'root'@'127.0.0.1' NULL ALTER YES
-'root'@'127.0.0.1' NULL ALTER ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE YES
-'root'@'127.0.0.1' NULL CREATE ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES
-'root'@'127.0.0.1' NULL CREATE USER YES
-'root'@'127.0.0.1' NULL CREATE VIEW YES
-'root'@'127.0.0.1' NULL DELETE YES
-'root'@'127.0.0.1' NULL DROP YES
-'root'@'127.0.0.1' NULL EVENT YES
-'root'@'127.0.0.1' NULL EXECUTE YES
-'root'@'127.0.0.1' NULL FILE YES
-'root'@'127.0.0.1' NULL INDEX YES
-'root'@'127.0.0.1' NULL INSERT YES
-'root'@'127.0.0.1' NULL LOCK TABLES YES
-'root'@'127.0.0.1' NULL PROCESS YES
-'root'@'127.0.0.1' NULL REFERENCES YES
-'root'@'127.0.0.1' NULL RELOAD YES
-'root'@'127.0.0.1' NULL REPLICATION CLIENT YES
-'root'@'127.0.0.1' NULL REPLICATION SLAVE YES
-'root'@'127.0.0.1' NULL SELECT YES
-'root'@'127.0.0.1' NULL SHOW DATABASES YES
-'root'@'127.0.0.1' NULL SHOW VIEW YES
-'root'@'127.0.0.1' NULL SHUTDOWN YES
-'root'@'127.0.0.1' NULL SUPER YES
-'root'@'127.0.0.1' NULL TRIGGER YES
-'root'@'127.0.0.1' NULL UPDATE YES
-'root'@'<SERVER_NAME>' NULL ALTER YES
-'root'@'<SERVER_NAME>' NULL ALTER ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE YES
-'root'@'<SERVER_NAME>' NULL CREATE ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE TEMPORARY TABLES YES
-'root'@'<SERVER_NAME>' NULL CREATE USER YES
-'root'@'<SERVER_NAME>' NULL CREATE VIEW YES
-'root'@'<SERVER_NAME>' NULL DELETE YES
-'root'@'<SERVER_NAME>' NULL DROP YES
-'root'@'<SERVER_NAME>' NULL EVENT YES
-'root'@'<SERVER_NAME>' NULL EXECUTE YES
-'root'@'<SERVER_NAME>' NULL FILE YES
-'root'@'<SERVER_NAME>' NULL INDEX YES
-'root'@'<SERVER_NAME>' NULL INSERT YES
-'root'@'<SERVER_NAME>' NULL LOCK TABLES YES
-'root'@'<SERVER_NAME>' NULL PROCESS YES
-'root'@'<SERVER_NAME>' NULL REFERENCES YES
-'root'@'<SERVER_NAME>' NULL RELOAD YES
-'root'@'<SERVER_NAME>' NULL REPLICATION CLIENT YES
-'root'@'<SERVER_NAME>' NULL REPLICATION SLAVE YES
-'root'@'<SERVER_NAME>' NULL SELECT YES
-'root'@'<SERVER_NAME>' NULL SHOW DATABASES YES
-'root'@'<SERVER_NAME>' NULL SHOW VIEW YES
-'root'@'<SERVER_NAME>' NULL SHUTDOWN YES
-'root'@'<SERVER_NAME>' NULL SUPER YES
-'root'@'<SERVER_NAME>' NULL TRIGGER YES
-'root'@'<SERVER_NAME>' NULL UPDATE YES
-'root'@'localhost' NULL ALTER YES
-'root'@'localhost' NULL ALTER ROUTINE YES
-'root'@'localhost' NULL CREATE YES
-'root'@'localhost' NULL CREATE ROUTINE YES
-'root'@'localhost' NULL CREATE TEMPORARY TABLES YES
-'root'@'localhost' NULL CREATE USER YES
-'root'@'localhost' NULL CREATE VIEW YES
-'root'@'localhost' NULL DELETE YES
-'root'@'localhost' NULL DROP YES
-'root'@'localhost' NULL EVENT YES
-'root'@'localhost' NULL EXECUTE YES
-'root'@'localhost' NULL FILE YES
-'root'@'localhost' NULL INDEX YES
-'root'@'localhost' NULL INSERT YES
-'root'@'localhost' NULL LOCK TABLES YES
-'root'@'localhost' NULL PROCESS YES
-'root'@'localhost' NULL REFERENCES YES
-'root'@'localhost' NULL RELOAD YES
-'root'@'localhost' NULL REPLICATION CLIENT YES
-'root'@'localhost' NULL REPLICATION SLAVE YES
-'root'@'localhost' NULL SELECT YES
-'root'@'localhost' NULL SHOW DATABASES YES
-'root'@'localhost' NULL SHOW VIEW YES
-'root'@'localhost' NULL SHUTDOWN YES
-'root'@'localhost' NULL SUPER YES
-'root'@'localhost' NULL TRIGGER YES
-'root'@'localhost' NULL UPDATE YES
-select *
-from information_schema.column_privileges
-where table_schema like 'db_datadict%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select *
-from information_schema.table_privileges
-where table_schema like 'db_datadict%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select *
-from information_schema.key_column_usage
-where table_schema like 'db_datadict%';
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
-SELECT *
-FROM information_schema.triggers
-WHERE trigger_schema LIKE 'db_datadict%';
-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
-DROP DATABASE IF EXISTS db_datadict;
-CREATE DATABASE db_datadict;
-USE db_datadict;
-create table res_t_401013(f1 char(10), f2 char(25), f3 int)
-engine = innodb;
-create view res_v_401013 as select * from res_t_401013;
-CREATE USER u_6_401013@localhost;
-create procedure sp_6_401013() select 'db_datadict';
-create function fn_6_401013() returns int return 0;
-create index i_6_401013 on res_t_401013(f3);
-use information_schema;
-
-now check whether all new objects exists in IS ...
---------------------------------------------------
-select *
-from information_schema.schemata
-where schema_name like 'db_datadict%';
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL db_datadict latin1 latin1_swedish_ci NULL
-select table_catalog, table_schema, engine
-from information_schema.tables
-where table_schema like 'db_datadict%';
-table_catalog table_schema engine
-NULL db_datadict InnoDB
-NULL db_datadict NULL
-select *
-from information_schema.columns
-where table_schema like 'db_datadict%';
-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
-NULL db_datadict res_t_401013 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select,insert,update,references
-NULL db_datadict res_t_401013 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL db_datadict res_t_401013 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) MUL select,insert,update,references
-NULL db_datadict res_v_401013 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select,insert,update,references
-NULL db_datadict res_v_401013 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL db_datadict res_v_401013 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-select table_schema, table_name, is_updatable
-from information_schema.views
-where table_schema like 'db_datadict%';
-table_schema table_name is_updatable
-db_datadict res_v_401013 YES
-select routine_name, routine_type, security_type, sql_mode
-from information_schema.routines
-where routine_schema like 'db_datadict%';
-routine_name routine_type security_type sql_mode
-fn_6_401013 FUNCTION DEFINER
-sp_6_401013 PROCEDURE DEFINER
-select table_name, index_schema, index_name, index_type
-from information_schema.statistics
-where table_schema like 'db_datadict%';
-table_name index_schema index_name index_type
-res_t_401013 db_datadict i_6_401013 BTREE
-select *
-from information_schema.user_privileges order by grantee, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'root'@'127.0.0.1' NULL ALTER YES
-'root'@'127.0.0.1' NULL ALTER ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE YES
-'root'@'127.0.0.1' NULL CREATE ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES
-'root'@'127.0.0.1' NULL CREATE USER YES
-'root'@'127.0.0.1' NULL CREATE VIEW YES
-'root'@'127.0.0.1' NULL DELETE YES
-'root'@'127.0.0.1' NULL DROP YES
-'root'@'127.0.0.1' NULL EVENT YES
-'root'@'127.0.0.1' NULL EXECUTE YES
-'root'@'127.0.0.1' NULL FILE YES
-'root'@'127.0.0.1' NULL INDEX YES
-'root'@'127.0.0.1' NULL INSERT YES
-'root'@'127.0.0.1' NULL LOCK TABLES YES
-'root'@'127.0.0.1' NULL PROCESS YES
-'root'@'127.0.0.1' NULL REFERENCES YES
-'root'@'127.0.0.1' NULL RELOAD YES
-'root'@'127.0.0.1' NULL REPLICATION CLIENT YES
-'root'@'127.0.0.1' NULL REPLICATION SLAVE YES
-'root'@'127.0.0.1' NULL SELECT YES
-'root'@'127.0.0.1' NULL SHOW DATABASES YES
-'root'@'127.0.0.1' NULL SHOW VIEW YES
-'root'@'127.0.0.1' NULL SHUTDOWN YES
-'root'@'127.0.0.1' NULL SUPER YES
-'root'@'127.0.0.1' NULL TRIGGER YES
-'root'@'127.0.0.1' NULL UPDATE YES
-'root'@'<SERVER_NAME>' NULL ALTER YES
-'root'@'<SERVER_NAME>' NULL ALTER ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE YES
-'root'@'<SERVER_NAME>' NULL CREATE ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE TEMPORARY TABLES YES
-'root'@'<SERVER_NAME>' NULL CREATE USER YES
-'root'@'<SERVER_NAME>' NULL CREATE VIEW YES
-'root'@'<SERVER_NAME>' NULL DELETE YES
-'root'@'<SERVER_NAME>' NULL DROP YES
-'root'@'<SERVER_NAME>' NULL EVENT YES
-'root'@'<SERVER_NAME>' NULL EXECUTE YES
-'root'@'<SERVER_NAME>' NULL FILE YES
-'root'@'<SERVER_NAME>' NULL INDEX YES
-'root'@'<SERVER_NAME>' NULL INSERT YES
-'root'@'<SERVER_NAME>' NULL LOCK TABLES YES
-'root'@'<SERVER_NAME>' NULL PROCESS YES
-'root'@'<SERVER_NAME>' NULL REFERENCES YES
-'root'@'<SERVER_NAME>' NULL RELOAD YES
-'root'@'<SERVER_NAME>' NULL REPLICATION CLIENT YES
-'root'@'<SERVER_NAME>' NULL REPLICATION SLAVE YES
-'root'@'<SERVER_NAME>' NULL SELECT YES
-'root'@'<SERVER_NAME>' NULL SHOW DATABASES YES
-'root'@'<SERVER_NAME>' NULL SHOW VIEW YES
-'root'@'<SERVER_NAME>' NULL SHUTDOWN YES
-'root'@'<SERVER_NAME>' NULL SUPER YES
-'root'@'<SERVER_NAME>' NULL TRIGGER YES
-'root'@'<SERVER_NAME>' NULL UPDATE YES
-'root'@'localhost' NULL ALTER YES
-'root'@'localhost' NULL ALTER ROUTINE YES
-'root'@'localhost' NULL CREATE YES
-'root'@'localhost' NULL CREATE ROUTINE YES
-'root'@'localhost' NULL CREATE TEMPORARY TABLES YES
-'root'@'localhost' NULL CREATE USER YES
-'root'@'localhost' NULL CREATE VIEW YES
-'root'@'localhost' NULL DELETE YES
-'root'@'localhost' NULL DROP YES
-'root'@'localhost' NULL EVENT YES
-'root'@'localhost' NULL EXECUTE YES
-'root'@'localhost' NULL FILE YES
-'root'@'localhost' NULL INDEX YES
-'root'@'localhost' NULL INSERT YES
-'root'@'localhost' NULL LOCK TABLES YES
-'root'@'localhost' NULL PROCESS YES
-'root'@'localhost' NULL REFERENCES YES
-'root'@'localhost' NULL RELOAD YES
-'root'@'localhost' NULL REPLICATION CLIENT YES
-'root'@'localhost' NULL REPLICATION SLAVE YES
-'root'@'localhost' NULL SELECT YES
-'root'@'localhost' NULL SHOW DATABASES YES
-'root'@'localhost' NULL SHOW VIEW YES
-'root'@'localhost' NULL SHUTDOWN YES
-'root'@'localhost' NULL SUPER YES
-'root'@'localhost' NULL TRIGGER YES
-'root'@'localhost' NULL UPDATE YES
-'u_6_401013'@'localhost' NULL USAGE NO
-select *
-from information_schema.column_privileges
-where table_schema like 'db_datadict%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select *
-from information_schema.table_privileges
-where table_schema like 'db_datadict%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select *
-from information_schema.key_column_usage
-where table_schema like 'db_datadict%';
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
-SELECT *
-FROM information_schema.triggers
-WHERE trigger_schema LIKE 'db_datadict%';
-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
-use db_datadict;
-drop index i_6_401013 on res_t_401013;
-drop table db_datadict.res_t_401013;
-drop view db_datadict.res_v_401013;
-DROP USER u_6_401013@localhost;
-drop procedure sp_6_401013;
-drop function fn_6_401013;
-drop database db_datadict;
-use information_schema;
-
-and now check whether all objects are removed from IS ...
----------------------------------------------------------
-select *
-from information_schema.schemata
-where schema_name like 'db_datadict%';
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-select table_catalog, table_schema, engine
-from information_schema.tables
-where table_schema like 'db_datadict%';
-table_catalog table_schema engine
-select *
-from information_schema.columns
-where table_schema like 'db_datadict%';
-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
-select table_schema, table_name, is_updatable
-from information_schema.views
-where table_schema like 'db_datadict%';
-table_schema table_name is_updatable
-select routine_name, routine_type, security_type, sql_mode
-from information_schema.routines
-where routine_schema like 'db_datadict%';
-routine_name routine_type security_type sql_mode
-select table_name, index_schema, index_name, index_type
-from information_schema.statistics
-where table_schema like 'db_datadict%';
-table_name index_schema index_name index_type
-select *
-from information_schema.user_privileges order by grantee, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'root'@'127.0.0.1' NULL ALTER YES
-'root'@'127.0.0.1' NULL ALTER ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE YES
-'root'@'127.0.0.1' NULL CREATE ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES
-'root'@'127.0.0.1' NULL CREATE USER YES
-'root'@'127.0.0.1' NULL CREATE VIEW YES
-'root'@'127.0.0.1' NULL DELETE YES
-'root'@'127.0.0.1' NULL DROP YES
-'root'@'127.0.0.1' NULL EVENT YES
-'root'@'127.0.0.1' NULL EXECUTE YES
-'root'@'127.0.0.1' NULL FILE YES
-'root'@'127.0.0.1' NULL INDEX YES
-'root'@'127.0.0.1' NULL INSERT YES
-'root'@'127.0.0.1' NULL LOCK TABLES YES
-'root'@'127.0.0.1' NULL PROCESS YES
-'root'@'127.0.0.1' NULL REFERENCES YES
-'root'@'127.0.0.1' NULL RELOAD YES
-'root'@'127.0.0.1' NULL REPLICATION CLIENT YES
-'root'@'127.0.0.1' NULL REPLICATION SLAVE YES
-'root'@'127.0.0.1' NULL SELECT YES
-'root'@'127.0.0.1' NULL SHOW DATABASES YES
-'root'@'127.0.0.1' NULL SHOW VIEW YES
-'root'@'127.0.0.1' NULL SHUTDOWN YES
-'root'@'127.0.0.1' NULL SUPER YES
-'root'@'127.0.0.1' NULL TRIGGER YES
-'root'@'127.0.0.1' NULL UPDATE YES
-'root'@'<SERVER_NAME>' NULL ALTER YES
-'root'@'<SERVER_NAME>' NULL ALTER ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE YES
-'root'@'<SERVER_NAME>' NULL CREATE ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE TEMPORARY TABLES YES
-'root'@'<SERVER_NAME>' NULL CREATE USER YES
-'root'@'<SERVER_NAME>' NULL CREATE VIEW YES
-'root'@'<SERVER_NAME>' NULL DELETE YES
-'root'@'<SERVER_NAME>' NULL DROP YES
-'root'@'<SERVER_NAME>' NULL EVENT YES
-'root'@'<SERVER_NAME>' NULL EXECUTE YES
-'root'@'<SERVER_NAME>' NULL FILE YES
-'root'@'<SERVER_NAME>' NULL INDEX YES
-'root'@'<SERVER_NAME>' NULL INSERT YES
-'root'@'<SERVER_NAME>' NULL LOCK TABLES YES
-'root'@'<SERVER_NAME>' NULL PROCESS YES
-'root'@'<SERVER_NAME>' NULL REFERENCES YES
-'root'@'<SERVER_NAME>' NULL RELOAD YES
-'root'@'<SERVER_NAME>' NULL REPLICATION CLIENT YES
-'root'@'<SERVER_NAME>' NULL REPLICATION SLAVE YES
-'root'@'<SERVER_NAME>' NULL SELECT YES
-'root'@'<SERVER_NAME>' NULL SHOW DATABASES YES
-'root'@'<SERVER_NAME>' NULL SHOW VIEW YES
-'root'@'<SERVER_NAME>' NULL SHUTDOWN YES
-'root'@'<SERVER_NAME>' NULL SUPER YES
-'root'@'<SERVER_NAME>' NULL TRIGGER YES
-'root'@'<SERVER_NAME>' NULL UPDATE YES
-'root'@'localhost' NULL ALTER YES
-'root'@'localhost' NULL ALTER ROUTINE YES
-'root'@'localhost' NULL CREATE YES
-'root'@'localhost' NULL CREATE ROUTINE YES
-'root'@'localhost' NULL CREATE TEMPORARY TABLES YES
-'root'@'localhost' NULL CREATE USER YES
-'root'@'localhost' NULL CREATE VIEW YES
-'root'@'localhost' NULL DELETE YES
-'root'@'localhost' NULL DROP YES
-'root'@'localhost' NULL EVENT YES
-'root'@'localhost' NULL EXECUTE YES
-'root'@'localhost' NULL FILE YES
-'root'@'localhost' NULL INDEX YES
-'root'@'localhost' NULL INSERT YES
-'root'@'localhost' NULL LOCK TABLES YES
-'root'@'localhost' NULL PROCESS YES
-'root'@'localhost' NULL REFERENCES YES
-'root'@'localhost' NULL RELOAD YES
-'root'@'localhost' NULL REPLICATION CLIENT YES
-'root'@'localhost' NULL REPLICATION SLAVE YES
-'root'@'localhost' NULL SELECT YES
-'root'@'localhost' NULL SHOW DATABASES YES
-'root'@'localhost' NULL SHOW VIEW YES
-'root'@'localhost' NULL SHUTDOWN YES
-'root'@'localhost' NULL SUPER YES
-'root'@'localhost' NULL TRIGGER YES
-'root'@'localhost' NULL UPDATE YES
-select *
-from information_schema.column_privileges
-where table_schema like 'db_datadict%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select *
-from information_schema.table_privileges
-where table_schema like 'db_datadict%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select *
-from information_schema.key_column_usage
-where table_schema like 'db_datadict%';
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
-SELECT *
-FROM information_schema.triggers
-WHERE trigger_schema LIKE 'db_datadict%';
-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
-
-Testcase 3.2.1.14:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-CREATE DATABASE db_datadict;
-USE db_datadict;
-create table res_t_401014(f1 char(10), f2 text(25), f3 int);
-create view res_v_401014 as select * from res_t_401014;
-create procedure sp_6_401014() select 'db_datadict';
-create function fn_6_401014() returns int return 0;
-
-show existing objects >before< changing them ...
-------------------------------------------------
-select *
-from information_schema.schemata
-where schema_name like 'db_datadict%';
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL db_datadict latin1 latin1_swedish_ci NULL
-select table_catalog, table_schema, engine
-from information_schema.tables
-where table_schema like 'db_datadict%';
-table_catalog table_schema engine
-NULL db_datadict MyISAM
-NULL db_datadict NULL
-select *
-from information_schema.columns
-where table_schema like 'db_datadict%';
-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
-NULL db_datadict res_t_401014 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select,insert,update,references
-NULL db_datadict res_t_401014 f2 2 NULL YES tinytext 255 255 NULL NULL latin1 latin1_swedish_ci tinytext select,insert,update,references
-NULL db_datadict res_t_401014 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL db_datadict res_v_401014 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select,insert,update,references
-NULL db_datadict res_v_401014 f2 2 NULL YES tinytext 255 255 NULL NULL latin1 latin1_swedish_ci tinytext select,insert,update,references
-NULL db_datadict res_v_401014 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-select table_schema, table_name, is_updatable
-from information_schema.views
-where table_schema like 'db_datadict%';
-table_schema table_name is_updatable
-db_datadict res_v_401014 YES
-select routine_name, routine_type, security_type, sql_mode
-from information_schema.routines
-where routine_schema like 'db_datadict%';
-routine_name routine_type security_type sql_mode
-fn_6_401014 FUNCTION DEFINER
-sp_6_401014 PROCEDURE DEFINER
-select table_name, index_schema, index_name, index_type
-from information_schema.statistics
-where table_schema like 'db_datadict%';
-table_name index_schema index_name index_type
-select *
-from information_schema.user_privileges order by grantee, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'root'@'127.0.0.1' NULL ALTER YES
-'root'@'127.0.0.1' NULL ALTER ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE YES
-'root'@'127.0.0.1' NULL CREATE ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES
-'root'@'127.0.0.1' NULL CREATE USER YES
-'root'@'127.0.0.1' NULL CREATE VIEW YES
-'root'@'127.0.0.1' NULL DELETE YES
-'root'@'127.0.0.1' NULL DROP YES
-'root'@'127.0.0.1' NULL EVENT YES
-'root'@'127.0.0.1' NULL EXECUTE YES
-'root'@'127.0.0.1' NULL FILE YES
-'root'@'127.0.0.1' NULL INDEX YES
-'root'@'127.0.0.1' NULL INSERT YES
-'root'@'127.0.0.1' NULL LOCK TABLES YES
-'root'@'127.0.0.1' NULL PROCESS YES
-'root'@'127.0.0.1' NULL REFERENCES YES
-'root'@'127.0.0.1' NULL RELOAD YES
-'root'@'127.0.0.1' NULL REPLICATION CLIENT YES
-'root'@'127.0.0.1' NULL REPLICATION SLAVE YES
-'root'@'127.0.0.1' NULL SELECT YES
-'root'@'127.0.0.1' NULL SHOW DATABASES YES
-'root'@'127.0.0.1' NULL SHOW VIEW YES
-'root'@'127.0.0.1' NULL SHUTDOWN YES
-'root'@'127.0.0.1' NULL SUPER YES
-'root'@'127.0.0.1' NULL TRIGGER YES
-'root'@'127.0.0.1' NULL UPDATE YES
-'root'@'<SERVER_NAME>' NULL ALTER YES
-'root'@'<SERVER_NAME>' NULL ALTER ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE YES
-'root'@'<SERVER_NAME>' NULL CREATE ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE TEMPORARY TABLES YES
-'root'@'<SERVER_NAME>' NULL CREATE USER YES
-'root'@'<SERVER_NAME>' NULL CREATE VIEW YES
-'root'@'<SERVER_NAME>' NULL DELETE YES
-'root'@'<SERVER_NAME>' NULL DROP YES
-'root'@'<SERVER_NAME>' NULL EVENT YES
-'root'@'<SERVER_NAME>' NULL EXECUTE YES
-'root'@'<SERVER_NAME>' NULL FILE YES
-'root'@'<SERVER_NAME>' NULL INDEX YES
-'root'@'<SERVER_NAME>' NULL INSERT YES
-'root'@'<SERVER_NAME>' NULL LOCK TABLES YES
-'root'@'<SERVER_NAME>' NULL PROCESS YES
-'root'@'<SERVER_NAME>' NULL REFERENCES YES
-'root'@'<SERVER_NAME>' NULL RELOAD YES
-'root'@'<SERVER_NAME>' NULL REPLICATION CLIENT YES
-'root'@'<SERVER_NAME>' NULL REPLICATION SLAVE YES
-'root'@'<SERVER_NAME>' NULL SELECT YES
-'root'@'<SERVER_NAME>' NULL SHOW DATABASES YES
-'root'@'<SERVER_NAME>' NULL SHOW VIEW YES
-'root'@'<SERVER_NAME>' NULL SHUTDOWN YES
-'root'@'<SERVER_NAME>' NULL SUPER YES
-'root'@'<SERVER_NAME>' NULL TRIGGER YES
-'root'@'<SERVER_NAME>' NULL UPDATE YES
-'root'@'localhost' NULL ALTER YES
-'root'@'localhost' NULL ALTER ROUTINE YES
-'root'@'localhost' NULL CREATE YES
-'root'@'localhost' NULL CREATE ROUTINE YES
-'root'@'localhost' NULL CREATE TEMPORARY TABLES YES
-'root'@'localhost' NULL CREATE USER YES
-'root'@'localhost' NULL CREATE VIEW YES
-'root'@'localhost' NULL DELETE YES
-'root'@'localhost' NULL DROP YES
-'root'@'localhost' NULL EVENT YES
-'root'@'localhost' NULL EXECUTE YES
-'root'@'localhost' NULL FILE YES
-'root'@'localhost' NULL INDEX YES
-'root'@'localhost' NULL INSERT YES
-'root'@'localhost' NULL LOCK TABLES YES
-'root'@'localhost' NULL PROCESS YES
-'root'@'localhost' NULL REFERENCES YES
-'root'@'localhost' NULL RELOAD YES
-'root'@'localhost' NULL REPLICATION CLIENT YES
-'root'@'localhost' NULL REPLICATION SLAVE YES
-'root'@'localhost' NULL SELECT YES
-'root'@'localhost' NULL SHOW DATABASES YES
-'root'@'localhost' NULL SHOW VIEW YES
-'root'@'localhost' NULL SHUTDOWN YES
-'root'@'localhost' NULL SUPER YES
-'root'@'localhost' NULL TRIGGER YES
-'root'@'localhost' NULL UPDATE YES
-select *
-from information_schema.column_privileges
-where table_schema like 'db_datadict%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select *
-from information_schema.table_privileges
-where table_schema like 'db_datadict%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select *
-from information_schema.key_column_usage
-where table_schema like 'db_datadict%';
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
-SELECT *
-FROM information_schema.triggers
-WHERE trigger_schema LIKE 'db_datadict%';
-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
-use db_datadict;
-alter table res_t_401014 change f1 ff1 int;
-alter table res_t_401014 engine = innodb;
-alter table res_t_401014 change f3 f3_new bigint;
-alter view res_v_401014 as select ff1 from res_t_401014;
-alter procedure sp_6_401014 sql security invoker;
-alter function fn_6_401014 comment 'updated comments';
-alter database db_datadict character set utf8;
-
-now check whether the changes are visible in IS ...
----------------------------------------------------
-select *
-from information_schema.schemata
-where schema_name like 'db_datadict%';
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL db_datadict utf8 utf8_general_ci NULL
-select table_catalog, table_schema, engine
-from information_schema.tables
-where table_schema like 'db_datadict%';
-table_catalog table_schema engine
-NULL db_datadict InnoDB
-NULL db_datadict NULL
-select *
-from information_schema.columns
-where table_schema like 'db_datadict%';
-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
-NULL db_datadict res_t_401014 ff1 1 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL db_datadict res_t_401014 f2 2 NULL YES tinytext 255 255 NULL NULL latin1 latin1_swedish_ci tinytext select,insert,update,references
-NULL db_datadict res_t_401014 f3_new 3 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references
-NULL db_datadict res_v_401014 ff1 1 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-select table_schema, table_name, is_updatable
-from information_schema.views
-where table_schema like 'db_datadict%';
-table_schema table_name is_updatable
-db_datadict res_v_401014 YES
-select routine_name, routine_type, security_type, sql_mode
-from information_schema.routines
-where routine_schema like 'db_datadict%';
-routine_name routine_type security_type sql_mode
-fn_6_401014 FUNCTION DEFINER
-sp_6_401014 PROCEDURE INVOKER
-select table_name, index_schema, index_name, index_type
-from information_schema.statistics
-where table_schema like 'db_datadict%';
-table_name index_schema index_name index_type
-select *
-from information_schema.user_privileges order by grantee, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'root'@'127.0.0.1' NULL ALTER YES
-'root'@'127.0.0.1' NULL ALTER ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE YES
-'root'@'127.0.0.1' NULL CREATE ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES
-'root'@'127.0.0.1' NULL CREATE USER YES
-'root'@'127.0.0.1' NULL CREATE VIEW YES
-'root'@'127.0.0.1' NULL DELETE YES
-'root'@'127.0.0.1' NULL DROP YES
-'root'@'127.0.0.1' NULL EVENT YES
-'root'@'127.0.0.1' NULL EXECUTE YES
-'root'@'127.0.0.1' NULL FILE YES
-'root'@'127.0.0.1' NULL INDEX YES
-'root'@'127.0.0.1' NULL INSERT YES
-'root'@'127.0.0.1' NULL LOCK TABLES YES
-'root'@'127.0.0.1' NULL PROCESS YES
-'root'@'127.0.0.1' NULL REFERENCES YES
-'root'@'127.0.0.1' NULL RELOAD YES
-'root'@'127.0.0.1' NULL REPLICATION CLIENT YES
-'root'@'127.0.0.1' NULL REPLICATION SLAVE YES
-'root'@'127.0.0.1' NULL SELECT YES
-'root'@'127.0.0.1' NULL SHOW DATABASES YES
-'root'@'127.0.0.1' NULL SHOW VIEW YES
-'root'@'127.0.0.1' NULL SHUTDOWN YES
-'root'@'127.0.0.1' NULL SUPER YES
-'root'@'127.0.0.1' NULL TRIGGER YES
-'root'@'127.0.0.1' NULL UPDATE YES
-'root'@'<SERVER_NAME>' NULL ALTER YES
-'root'@'<SERVER_NAME>' NULL ALTER ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE YES
-'root'@'<SERVER_NAME>' NULL CREATE ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE TEMPORARY TABLES YES
-'root'@'<SERVER_NAME>' NULL CREATE USER YES
-'root'@'<SERVER_NAME>' NULL CREATE VIEW YES
-'root'@'<SERVER_NAME>' NULL DELETE YES
-'root'@'<SERVER_NAME>' NULL DROP YES
-'root'@'<SERVER_NAME>' NULL EVENT YES
-'root'@'<SERVER_NAME>' NULL EXECUTE YES
-'root'@'<SERVER_NAME>' NULL FILE YES
-'root'@'<SERVER_NAME>' NULL INDEX YES
-'root'@'<SERVER_NAME>' NULL INSERT YES
-'root'@'<SERVER_NAME>' NULL LOCK TABLES YES
-'root'@'<SERVER_NAME>' NULL PROCESS YES
-'root'@'<SERVER_NAME>' NULL REFERENCES YES
-'root'@'<SERVER_NAME>' NULL RELOAD YES
-'root'@'<SERVER_NAME>' NULL REPLICATION CLIENT YES
-'root'@'<SERVER_NAME>' NULL REPLICATION SLAVE YES
-'root'@'<SERVER_NAME>' NULL SELECT YES
-'root'@'<SERVER_NAME>' NULL SHOW DATABASES YES
-'root'@'<SERVER_NAME>' NULL SHOW VIEW YES
-'root'@'<SERVER_NAME>' NULL SHUTDOWN YES
-'root'@'<SERVER_NAME>' NULL SUPER YES
-'root'@'<SERVER_NAME>' NULL TRIGGER YES
-'root'@'<SERVER_NAME>' NULL UPDATE YES
-'root'@'localhost' NULL ALTER YES
-'root'@'localhost' NULL ALTER ROUTINE YES
-'root'@'localhost' NULL CREATE YES
-'root'@'localhost' NULL CREATE ROUTINE YES
-'root'@'localhost' NULL CREATE TEMPORARY TABLES YES
-'root'@'localhost' NULL CREATE USER YES
-'root'@'localhost' NULL CREATE VIEW YES
-'root'@'localhost' NULL DELETE YES
-'root'@'localhost' NULL DROP YES
-'root'@'localhost' NULL EVENT YES
-'root'@'localhost' NULL EXECUTE YES
-'root'@'localhost' NULL FILE YES
-'root'@'localhost' NULL INDEX YES
-'root'@'localhost' NULL INSERT YES
-'root'@'localhost' NULL LOCK TABLES YES
-'root'@'localhost' NULL PROCESS YES
-'root'@'localhost' NULL REFERENCES YES
-'root'@'localhost' NULL RELOAD YES
-'root'@'localhost' NULL REPLICATION CLIENT YES
-'root'@'localhost' NULL REPLICATION SLAVE YES
-'root'@'localhost' NULL SELECT YES
-'root'@'localhost' NULL SHOW DATABASES YES
-'root'@'localhost' NULL SHOW VIEW YES
-'root'@'localhost' NULL SHUTDOWN YES
-'root'@'localhost' NULL SUPER YES
-'root'@'localhost' NULL TRIGGER YES
-'root'@'localhost' NULL UPDATE YES
-select *
-from information_schema.column_privileges
-where table_schema like 'db_datadict%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select *
-from information_schema.table_privileges
-where table_schema like 'db_datadict%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select *
-from information_schema.key_column_usage
-where table_schema like 'db_datadict%';
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
-SELECT *
-FROM information_schema.triggers
-WHERE trigger_schema LIKE 'db_datadict%';
-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
-use db_datadict;
-drop table db_datadict.res_t_401014;
-drop view db_datadict.res_v_401014;
-drop procedure sp_6_401014;
-drop function fn_6_401014;
-drop database db_datadict;
-
-Testcase 3.2.1.15:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-CREATE DATABASE db_datadict;
-USE db_datadict;
-create table res_t_401015(f1 char(10), f2 text(25), f3 int);
-create view res_v_401015 as select * from res_t_401015;
-CREATE USER u_6_401015@localhost;
-create procedure sp_6_401015() select 'test';
-create function fn_6_401015() returns int return 0;
-create index i_6_401015 on res_t_401015(f3);
-
-show existing objects >before< dropping them ...
-------------------------------------------------
-select *
-from information_schema.schemata
-where schema_name like 'db_datadict%';
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL db_datadict latin1 latin1_swedish_ci NULL
-select table_catalog, table_schema, engine
-from information_schema.tables
-where table_schema like 'db_datadict%';
-table_catalog table_schema engine
-NULL db_datadict MyISAM
-NULL db_datadict NULL
-select *
-from information_schema.columns
-where table_schema like 'db_datadict%';
-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
-NULL db_datadict res_t_401015 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select,insert,update,references
-NULL db_datadict res_t_401015 f2 2 NULL YES tinytext 255 255 NULL NULL latin1 latin1_swedish_ci tinytext select,insert,update,references
-NULL db_datadict res_t_401015 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) MUL select,insert,update,references
-NULL db_datadict res_v_401015 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select,insert,update,references
-NULL db_datadict res_v_401015 f2 2 NULL YES tinytext 255 255 NULL NULL latin1 latin1_swedish_ci tinytext select,insert,update,references
-NULL db_datadict res_v_401015 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-select table_schema, table_name, is_updatable
-from information_schema.views
-where table_schema like 'db_datadict%';
-table_schema table_name is_updatable
-db_datadict res_v_401015 YES
-select routine_name, routine_type, security_type, sql_mode
-from information_schema.routines
-where routine_schema like 'db_datadict%';
-routine_name routine_type security_type sql_mode
-fn_6_401015 FUNCTION DEFINER
-sp_6_401015 PROCEDURE DEFINER
-select table_name, index_schema, index_name, index_type
-from information_schema.statistics
-where table_schema like 'db_datadict%';
-table_name index_schema index_name index_type
-res_t_401015 db_datadict i_6_401015 BTREE
-select *
-from information_schema.user_privileges order by grantee, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'root'@'127.0.0.1' NULL ALTER YES
-'root'@'127.0.0.1' NULL ALTER ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE YES
-'root'@'127.0.0.1' NULL CREATE ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES
-'root'@'127.0.0.1' NULL CREATE USER YES
-'root'@'127.0.0.1' NULL CREATE VIEW YES
-'root'@'127.0.0.1' NULL DELETE YES
-'root'@'127.0.0.1' NULL DROP YES
-'root'@'127.0.0.1' NULL EVENT YES
-'root'@'127.0.0.1' NULL EXECUTE YES
-'root'@'127.0.0.1' NULL FILE YES
-'root'@'127.0.0.1' NULL INDEX YES
-'root'@'127.0.0.1' NULL INSERT YES
-'root'@'127.0.0.1' NULL LOCK TABLES YES
-'root'@'127.0.0.1' NULL PROCESS YES
-'root'@'127.0.0.1' NULL REFERENCES YES
-'root'@'127.0.0.1' NULL RELOAD YES
-'root'@'127.0.0.1' NULL REPLICATION CLIENT YES
-'root'@'127.0.0.1' NULL REPLICATION SLAVE YES
-'root'@'127.0.0.1' NULL SELECT YES
-'root'@'127.0.0.1' NULL SHOW DATABASES YES
-'root'@'127.0.0.1' NULL SHOW VIEW YES
-'root'@'127.0.0.1' NULL SHUTDOWN YES
-'root'@'127.0.0.1' NULL SUPER YES
-'root'@'127.0.0.1' NULL TRIGGER YES
-'root'@'127.0.0.1' NULL UPDATE YES
-'root'@'<SERVER_NAME>' NULL ALTER YES
-'root'@'<SERVER_NAME>' NULL ALTER ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE YES
-'root'@'<SERVER_NAME>' NULL CREATE ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE TEMPORARY TABLES YES
-'root'@'<SERVER_NAME>' NULL CREATE USER YES
-'root'@'<SERVER_NAME>' NULL CREATE VIEW YES
-'root'@'<SERVER_NAME>' NULL DELETE YES
-'root'@'<SERVER_NAME>' NULL DROP YES
-'root'@'<SERVER_NAME>' NULL EVENT YES
-'root'@'<SERVER_NAME>' NULL EXECUTE YES
-'root'@'<SERVER_NAME>' NULL FILE YES
-'root'@'<SERVER_NAME>' NULL INDEX YES
-'root'@'<SERVER_NAME>' NULL INSERT YES
-'root'@'<SERVER_NAME>' NULL LOCK TABLES YES
-'root'@'<SERVER_NAME>' NULL PROCESS YES
-'root'@'<SERVER_NAME>' NULL REFERENCES YES
-'root'@'<SERVER_NAME>' NULL RELOAD YES
-'root'@'<SERVER_NAME>' NULL REPLICATION CLIENT YES
-'root'@'<SERVER_NAME>' NULL REPLICATION SLAVE YES
-'root'@'<SERVER_NAME>' NULL SELECT YES
-'root'@'<SERVER_NAME>' NULL SHOW DATABASES YES
-'root'@'<SERVER_NAME>' NULL SHOW VIEW YES
-'root'@'<SERVER_NAME>' NULL SHUTDOWN YES
-'root'@'<SERVER_NAME>' NULL SUPER YES
-'root'@'<SERVER_NAME>' NULL TRIGGER YES
-'root'@'<SERVER_NAME>' NULL UPDATE YES
-'root'@'localhost' NULL ALTER YES
-'root'@'localhost' NULL ALTER ROUTINE YES
-'root'@'localhost' NULL CREATE YES
-'root'@'localhost' NULL CREATE ROUTINE YES
-'root'@'localhost' NULL CREATE TEMPORARY TABLES YES
-'root'@'localhost' NULL CREATE USER YES
-'root'@'localhost' NULL CREATE VIEW YES
-'root'@'localhost' NULL DELETE YES
-'root'@'localhost' NULL DROP YES
-'root'@'localhost' NULL EVENT YES
-'root'@'localhost' NULL EXECUTE YES
-'root'@'localhost' NULL FILE YES
-'root'@'localhost' NULL INDEX YES
-'root'@'localhost' NULL INSERT YES
-'root'@'localhost' NULL LOCK TABLES YES
-'root'@'localhost' NULL PROCESS YES
-'root'@'localhost' NULL REFERENCES YES
-'root'@'localhost' NULL RELOAD YES
-'root'@'localhost' NULL REPLICATION CLIENT YES
-'root'@'localhost' NULL REPLICATION SLAVE YES
-'root'@'localhost' NULL SELECT YES
-'root'@'localhost' NULL SHOW DATABASES YES
-'root'@'localhost' NULL SHOW VIEW YES
-'root'@'localhost' NULL SHUTDOWN YES
-'root'@'localhost' NULL SUPER YES
-'root'@'localhost' NULL TRIGGER YES
-'root'@'localhost' NULL UPDATE YES
-'u_6_401015'@'localhost' NULL USAGE NO
-select *
-from information_schema.column_privileges
-where table_schema like 'db_datadict%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select *
-from information_schema.table_privileges
-where table_schema like 'db_datadict%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select *
-from information_schema.key_column_usage
-where table_schema like 'db_datadict%';
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
-SELECT *
-FROM information_schema.triggers
-WHERE trigger_schema LIKE 'db_datadict%';
-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
-use db_datadict;
-drop index i_6_401015 on res_t_401015;
-drop table db_datadict.res_t_401015;
-drop view db_datadict.res_v_401015;
-DROP USER u_6_401015@localhost;
-drop procedure sp_6_401015;
-drop function fn_6_401015;
-
-now check they are really gone ...
-----------------------------------
-select *
-from information_schema.schemata
-where schema_name like 'db_datadict%';
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL db_datadict latin1 latin1_swedish_ci NULL
-select table_catalog, table_schema, engine
-from information_schema.tables
-where table_schema like 'db_datadict%';
-table_catalog table_schema engine
-select *
-from information_schema.columns
-where table_schema like 'db_datadict%';
-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
-select table_schema, table_name, is_updatable
-from information_schema.views
-where table_schema like 'db_datadict%';
-table_schema table_name is_updatable
-select routine_name, routine_type, security_type, sql_mode
-from information_schema.routines
-where routine_schema like 'db_datadict%';
-routine_name routine_type security_type sql_mode
-select table_name, index_schema, index_name, index_type
-from information_schema.statistics
-where table_schema like 'db_datadict%';
-table_name index_schema index_name index_type
-select *
-from information_schema.user_privileges order by grantee, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'root'@'127.0.0.1' NULL ALTER YES
-'root'@'127.0.0.1' NULL ALTER ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE YES
-'root'@'127.0.0.1' NULL CREATE ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES
-'root'@'127.0.0.1' NULL CREATE USER YES
-'root'@'127.0.0.1' NULL CREATE VIEW YES
-'root'@'127.0.0.1' NULL DELETE YES
-'root'@'127.0.0.1' NULL DROP YES
-'root'@'127.0.0.1' NULL EVENT YES
-'root'@'127.0.0.1' NULL EXECUTE YES
-'root'@'127.0.0.1' NULL FILE YES
-'root'@'127.0.0.1' NULL INDEX YES
-'root'@'127.0.0.1' NULL INSERT YES
-'root'@'127.0.0.1' NULL LOCK TABLES YES
-'root'@'127.0.0.1' NULL PROCESS YES
-'root'@'127.0.0.1' NULL REFERENCES YES
-'root'@'127.0.0.1' NULL RELOAD YES
-'root'@'127.0.0.1' NULL REPLICATION CLIENT YES
-'root'@'127.0.0.1' NULL REPLICATION SLAVE YES
-'root'@'127.0.0.1' NULL SELECT YES
-'root'@'127.0.0.1' NULL SHOW DATABASES YES
-'root'@'127.0.0.1' NULL SHOW VIEW YES
-'root'@'127.0.0.1' NULL SHUTDOWN YES
-'root'@'127.0.0.1' NULL SUPER YES
-'root'@'127.0.0.1' NULL TRIGGER YES
-'root'@'127.0.0.1' NULL UPDATE YES
-'root'@'<SERVER_NAME>' NULL ALTER YES
-'root'@'<SERVER_NAME>' NULL ALTER ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE YES
-'root'@'<SERVER_NAME>' NULL CREATE ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE TEMPORARY TABLES YES
-'root'@'<SERVER_NAME>' NULL CREATE USER YES
-'root'@'<SERVER_NAME>' NULL CREATE VIEW YES
-'root'@'<SERVER_NAME>' NULL DELETE YES
-'root'@'<SERVER_NAME>' NULL DROP YES
-'root'@'<SERVER_NAME>' NULL EVENT YES
-'root'@'<SERVER_NAME>' NULL EXECUTE YES
-'root'@'<SERVER_NAME>' NULL FILE YES
-'root'@'<SERVER_NAME>' NULL INDEX YES
-'root'@'<SERVER_NAME>' NULL INSERT YES
-'root'@'<SERVER_NAME>' NULL LOCK TABLES YES
-'root'@'<SERVER_NAME>' NULL PROCESS YES
-'root'@'<SERVER_NAME>' NULL REFERENCES YES
-'root'@'<SERVER_NAME>' NULL RELOAD YES
-'root'@'<SERVER_NAME>' NULL REPLICATION CLIENT YES
-'root'@'<SERVER_NAME>' NULL REPLICATION SLAVE YES
-'root'@'<SERVER_NAME>' NULL SELECT YES
-'root'@'<SERVER_NAME>' NULL SHOW DATABASES YES
-'root'@'<SERVER_NAME>' NULL SHOW VIEW YES
-'root'@'<SERVER_NAME>' NULL SHUTDOWN YES
-'root'@'<SERVER_NAME>' NULL SUPER YES
-'root'@'<SERVER_NAME>' NULL TRIGGER YES
-'root'@'<SERVER_NAME>' NULL UPDATE YES
-'root'@'localhost' NULL ALTER YES
-'root'@'localhost' NULL ALTER ROUTINE YES
-'root'@'localhost' NULL CREATE YES
-'root'@'localhost' NULL CREATE ROUTINE YES
-'root'@'localhost' NULL CREATE TEMPORARY TABLES YES
-'root'@'localhost' NULL CREATE USER YES
-'root'@'localhost' NULL CREATE VIEW YES
-'root'@'localhost' NULL DELETE YES
-'root'@'localhost' NULL DROP YES
-'root'@'localhost' NULL EVENT YES
-'root'@'localhost' NULL EXECUTE YES
-'root'@'localhost' NULL FILE YES
-'root'@'localhost' NULL INDEX YES
-'root'@'localhost' NULL INSERT YES
-'root'@'localhost' NULL LOCK TABLES YES
-'root'@'localhost' NULL PROCESS YES
-'root'@'localhost' NULL REFERENCES YES
-'root'@'localhost' NULL RELOAD YES
-'root'@'localhost' NULL REPLICATION CLIENT YES
-'root'@'localhost' NULL REPLICATION SLAVE YES
-'root'@'localhost' NULL SELECT YES
-'root'@'localhost' NULL SHOW DATABASES YES
-'root'@'localhost' NULL SHOW VIEW YES
-'root'@'localhost' NULL SHUTDOWN YES
-'root'@'localhost' NULL SUPER YES
-'root'@'localhost' NULL TRIGGER YES
-'root'@'localhost' NULL UPDATE YES
-select *
-from information_schema.column_privileges
-where table_schema like 'db_datadict%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select *
-from information_schema.table_privileges
-where table_schema like 'db_datadict%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select *
-from information_schema.key_column_usage
-where table_schema like 'db_datadict%';
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
-SELECT *
-FROM information_schema.triggers
-WHERE trigger_schema LIKE 'db_datadict%';
-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
-
-Testcase 3.2.1.16:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-CREATE DATABASE db_datadict;
-CREATE DATABASE db_hidden;
-USE db_hidden;
-CREATE TABLE tb_hidden ( c1 TEXT );
-USE db_datadict;
-CREATE TABLE res_t_401016(f1 char(10),f2 text(25),f3 int);
-CREATE TABLE res_t_401016_1(f1 char(10),f2 text(25),f3 int);
-CREATE USER 'u_6_401016'@'localhost';
-GRANT SELECT ON db_datadict.res_t_401016 TO 'u_6_401016'@'localhost';
-FLUSH PRIVILEGES;
-connect(localhost,u_6_401016,,test,MYSQL_PORT,MYSQL_SOCK);
-USE information_schema;
-SELECT table_schema, table_name, engine
-FROM TABLES;
-table_schema table_name engine
-information_schema CHARACTER_SETS MEMORY
-information_schema COLLATIONS MEMORY
-information_schema COLLATION_CHARACTER_SET_APPLICABILITY MEMORY
-information_schema COLUMNS MyISAM
-information_schema COLUMN_PRIVILEGES MEMORY
-information_schema ENGINES MEMORY
-information_schema EVENTS MyISAM
-information_schema FILES MEMORY
-information_schema GLOBAL_STATUS MEMORY
-information_schema GLOBAL_VARIABLES MyISAM
-information_schema KEY_COLUMN_USAGE MEMORY
-information_schema PARTITIONS MyISAM
-information_schema PLUGINS MyISAM
-information_schema PROCESSLIST MyISAM
-information_schema REFERENTIAL_CONSTRAINTS MEMORY
-information_schema ROUTINES MyISAM
-information_schema SCHEMATA MEMORY
-information_schema SCHEMA_PRIVILEGES MEMORY
-information_schema SESSION_STATUS MEMORY
-information_schema SESSION_VARIABLES MyISAM
-information_schema STATISTICS MEMORY
-information_schema TABLES MEMORY
-information_schema TABLE_CONSTRAINTS MEMORY
-information_schema TABLE_PRIVILEGES MEMORY
-information_schema TRIGGERS MyISAM
-information_schema USER_PRIVILEGES MEMORY
-information_schema VIEWS MyISAM
-db_datadict res_t_401016 MyISAM
-test t1 InnoDB
-test t10 InnoDB
-test t11 InnoDB
-test t2 InnoDB
-test t3 InnoDB
-test t4 InnoDB
-test t7 InnoDB
-test t8 InnoDB
-test t9 InnoDB
-test tb1 InnoDB
-test tb2 InnoDB
-test tb3 InnoDB
-test tb4 InnoDB
-SHOW TABLES;
-Tables_in_information_schema
-CHARACTER_SETS
-COLLATIONS
-COLLATION_CHARACTER_SET_APPLICABILITY
-COLUMNS
-COLUMN_PRIVILEGES
-ENGINES
-EVENTS
-FILES
-GLOBAL_STATUS
-GLOBAL_VARIABLES
-KEY_COLUMN_USAGE
-PARTITIONS
-PLUGINS
-PROCESSLIST
-REFERENTIAL_CONSTRAINTS
-ROUTINES
-SCHEMATA
-SCHEMA_PRIVILEGES
-SESSION_STATUS
-SESSION_VARIABLES
-STATISTICS
-TABLES
-TABLE_CONSTRAINTS
-TABLE_PRIVILEGES
-TRIGGERS
-USER_PRIVILEGES
-VIEWS
-SELECT * FROM schemata;
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL information_schema utf8 utf8_general_ci NULL
-NULL db_datadict latin1 latin1_swedish_ci NULL
-NULL test latin1 latin1_swedish_ci NULL
-
-root@localhost db_datadict
-grant usage on information_schema.* to 'u_6_401016'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-FLUSH PRIVILEGES;
-connect(localhost,u_6_401016,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-USE information_schema;
-SHOW TABLES;
-Tables_in_information_schema
-CHARACTER_SETS
-COLLATIONS
-COLLATION_CHARACTER_SET_APPLICABILITY
-COLUMNS
-COLUMN_PRIVILEGES
-ENGINES
-EVENTS
-FILES
-GLOBAL_STATUS
-GLOBAL_VARIABLES
-KEY_COLUMN_USAGE
-PARTITIONS
-PLUGINS
-PROCESSLIST
-REFERENTIAL_CONSTRAINTS
-ROUTINES
-SCHEMATA
-SCHEMA_PRIVILEGES
-SESSION_STATUS
-SESSION_VARIABLES
-STATISTICS
-TABLES
-TABLE_CONSTRAINTS
-TABLE_PRIVILEGES
-TRIGGERS
-USER_PRIVILEGES
-VIEWS
-SELECT * FROM schemata;
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL information_schema utf8 utf8_general_ci NULL
-NULL db_datadict latin1 latin1_swedish_ci NULL
-NULL test latin1 latin1_swedish_ci NULL
-use db_datadict;
-
-root@localhost db_datadict
-DROP USER 'u_6_401016'@'localhost';
-drop table res_t_401016;
-drop table res_t_401016_1;
-DROP DATABASE db_hidden;
-
-Testcase 3.2.1.17:
---------------------------------------------------------------------------------
-CREATE USER 'u_6_401017'@'localhost';
-grant select on information_schema.* to u_6_401017@localhost;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-FLUSH PRIVILEGES;
-connect(localhost,u_6_401017,,test,MYSQL_PORT,MYSQL_SOCK);
-use information_schema;
-select * from collation_character_set_applicability;
-COLLATION_NAME CHARACTER_SET_NAME
-big5_chinese_ci big5
-big5_bin big5
-dec8_swedish_ci dec8
-dec8_bin dec8
-cp850_general_ci cp850
-cp850_bin cp850
-hp8_english_ci hp8
-hp8_bin hp8
-koi8r_general_ci koi8r
-koi8r_bin koi8r
-latin1_german1_ci latin1
-latin1_swedish_ci latin1
-latin1_danish_ci latin1
-latin1_german2_ci latin1
-latin1_bin latin1
-latin1_general_ci latin1
-latin1_general_cs latin1
-latin1_spanish_ci latin1
-latin2_czech_cs latin2
-latin2_general_ci latin2
-latin2_hungarian_ci latin2
-latin2_croatian_ci latin2
-latin2_bin latin2
-swe7_swedish_ci swe7
-swe7_bin swe7
-ascii_general_ci ascii
-ascii_bin ascii
-ujis_japanese_ci ujis
-ujis_bin ujis
-sjis_japanese_ci sjis
-sjis_bin sjis
-hebrew_general_ci hebrew
-hebrew_bin hebrew
-filename filename
-tis620_thai_ci tis620
-tis620_bin tis620
-euckr_korean_ci euckr
-euckr_bin euckr
-koi8u_general_ci koi8u
-koi8u_bin koi8u
-gb2312_chinese_ci gb2312
-gb2312_bin gb2312
-greek_general_ci greek
-greek_bin greek
-cp1250_general_ci cp1250
-cp1250_czech_cs cp1250
-cp1250_croatian_ci cp1250
-cp1250_bin cp1250
-cp1250_polish_ci cp1250
-gbk_chinese_ci gbk
-gbk_bin gbk
-latin5_turkish_ci latin5
-latin5_bin latin5
-armscii8_general_ci armscii8
-armscii8_bin armscii8
-utf8_general_ci utf8
-utf8_bin utf8
-utf8_unicode_ci utf8
-utf8_icelandic_ci utf8
-utf8_latvian_ci utf8
-utf8_romanian_ci utf8
-utf8_slovenian_ci utf8
-utf8_polish_ci utf8
-utf8_estonian_ci utf8
-utf8_spanish_ci utf8
-utf8_swedish_ci utf8
-utf8_turkish_ci utf8
-utf8_czech_ci utf8
-utf8_danish_ci utf8
-utf8_lithuanian_ci utf8
-utf8_slovak_ci utf8
-utf8_spanish2_ci utf8
-utf8_roman_ci utf8
-utf8_persian_ci utf8
-utf8_esperanto_ci utf8
-utf8_hungarian_ci utf8
-ucs2_general_ci ucs2
-ucs2_bin ucs2
-ucs2_unicode_ci ucs2
-ucs2_icelandic_ci ucs2
-ucs2_latvian_ci ucs2
-ucs2_romanian_ci ucs2
-ucs2_slovenian_ci ucs2
-ucs2_polish_ci ucs2
-ucs2_estonian_ci ucs2
-ucs2_spanish_ci ucs2
-ucs2_swedish_ci ucs2
-ucs2_turkish_ci ucs2
-ucs2_czech_ci ucs2
-ucs2_danish_ci ucs2
-ucs2_lithuanian_ci ucs2
-ucs2_slovak_ci ucs2
-ucs2_spanish2_ci ucs2
-ucs2_roman_ci ucs2
-ucs2_persian_ci ucs2
-ucs2_esperanto_ci ucs2
-ucs2_hungarian_ci ucs2
-cp866_general_ci cp866
-cp866_bin cp866
-keybcs2_general_ci keybcs2
-keybcs2_bin keybcs2
-macce_general_ci macce
-macce_bin macce
-macroman_general_ci macroman
-macroman_bin macroman
-cp852_general_ci cp852
-cp852_bin cp852
-latin7_estonian_cs latin7
-latin7_general_ci latin7
-latin7_general_cs latin7
-latin7_bin latin7
-cp1251_bulgarian_ci cp1251
-cp1251_ukrainian_ci cp1251
-cp1251_bin cp1251
-cp1251_general_ci cp1251
-cp1251_general_cs cp1251
-cp1256_general_ci cp1256
-cp1256_bin cp1256
-cp1257_lithuanian_ci cp1257
-cp1257_bin cp1257
-cp1257_general_ci cp1257
-binary binary
-geostd8_general_ci geostd8
-geostd8_bin geostd8
-cp932_japanese_ci cp932
-cp932_bin cp932
-eucjpms_japanese_ci eucjpms
-eucjpms_bin eucjpms
-select * from schemata;
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL information_schema utf8 utf8_general_ci NULL
-NULL test latin1 latin1_swedish_ci NULL
-select table_name from tables;
-table_name
-CHARACTER_SETS
-COLLATIONS
-COLLATION_CHARACTER_SET_APPLICABILITY
-COLUMNS
-COLUMN_PRIVILEGES
-ENGINES
-EVENTS
-FILES
-GLOBAL_STATUS
-GLOBAL_VARIABLES
-KEY_COLUMN_USAGE
-PARTITIONS
-PLUGINS
-PROCESSLIST
-REFERENTIAL_CONSTRAINTS
-ROUTINES
-SCHEMATA
-SCHEMA_PRIVILEGES
-SESSION_STATUS
-SESSION_VARIABLES
-STATISTICS
-TABLES
-TABLE_CONSTRAINTS
-TABLE_PRIVILEGES
-TRIGGERS
-USER_PRIVILEGES
-VIEWS
-t1
-t10
-t11
-t2
-t3
-t4
-t7
-t8
-t9
-tb1
-tb2
-tb3
-tb4
-select table_name, column_name, column_type from columns;
-table_name column_name column_type
-CHARACTER_SETS CHARACTER_SET_NAME varchar(64)
-CHARACTER_SETS DEFAULT_COLLATE_NAME varchar(64)
-CHARACTER_SETS DESCRIPTION varchar(60)
-CHARACTER_SETS MAXLEN bigint(3)
-COLLATIONS COLLATION_NAME varchar(64)
-COLLATIONS CHARACTER_SET_NAME varchar(64)
-COLLATIONS ID bigint(11)
-COLLATIONS IS_DEFAULT varchar(3)
-COLLATIONS IS_COMPILED varchar(3)
-COLLATIONS SORTLEN bigint(3)
-COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME varchar(64)
-COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME varchar(64)
-COLUMNS TABLE_CATALOG varchar(4096)
-COLUMNS TABLE_SCHEMA varchar(64)
-COLUMNS TABLE_NAME varchar(64)
-COLUMNS COLUMN_NAME varchar(64)
-COLUMNS ORDINAL_POSITION bigint(21) unsigned
-COLUMNS COLUMN_DEFAULT longtext
-COLUMNS IS_NULLABLE varchar(3)
-COLUMNS DATA_TYPE varchar(64)
-COLUMNS CHARACTER_MAXIMUM_LENGTH bigint(21) unsigned
-COLUMNS CHARACTER_OCTET_LENGTH bigint(21) unsigned
-COLUMNS NUMERIC_PRECISION bigint(21) unsigned
-COLUMNS NUMERIC_SCALE bigint(21) unsigned
-COLUMNS CHARACTER_SET_NAME varchar(64)
-COLUMNS COLLATION_NAME varchar(64)
-COLUMNS COLUMN_TYPE longtext
-COLUMNS COLUMN_KEY varchar(3)
-COLUMNS EXTRA varchar(20)
-COLUMNS PRIVILEGES varchar(80)
-COLUMNS COLUMN_COMMENT varchar(255)
-COLUMN_PRIVILEGES GRANTEE varchar(81)
-COLUMN_PRIVILEGES TABLE_CATALOG varchar(4096)
-COLUMN_PRIVILEGES TABLE_SCHEMA varchar(64)
-COLUMN_PRIVILEGES TABLE_NAME varchar(64)
-COLUMN_PRIVILEGES COLUMN_NAME varchar(64)
-COLUMN_PRIVILEGES PRIVILEGE_TYPE varchar(64)
-COLUMN_PRIVILEGES IS_GRANTABLE varchar(3)
-ENGINES ENGINE varchar(64)
-ENGINES SUPPORT varchar(8)
-ENGINES COMMENT varchar(80)
-ENGINES TRANSACTIONS varchar(3)
-ENGINES XA varchar(3)
-ENGINES SAVEPOINTS varchar(3)
-EVENTS EVENT_CATALOG varchar(64)
-EVENTS EVENT_SCHEMA varchar(64)
-EVENTS EVENT_NAME varchar(64)
-EVENTS DEFINER varchar(77)
-EVENTS TIME_ZONE varchar(64)
-EVENTS EVENT_BODY varchar(8)
-EVENTS EVENT_DEFINITION longtext
-EVENTS EVENT_TYPE varchar(9)
-EVENTS EXECUTE_AT datetime
-EVENTS INTERVAL_VALUE varchar(256)
-EVENTS INTERVAL_FIELD varchar(18)
-EVENTS SQL_MODE longtext
-EVENTS STARTS datetime
-EVENTS ENDS datetime
-EVENTS STATUS varchar(18)
-EVENTS ON_COMPLETION varchar(12)
-EVENTS CREATED datetime
-EVENTS LAST_ALTERED datetime
-EVENTS LAST_EXECUTED datetime
-EVENTS EVENT_COMMENT varchar(64)
-EVENTS ORIGINATOR bigint(10)
-FILES FILE_ID bigint(4)
-FILES FILE_NAME varchar(64)
-FILES FILE_TYPE varchar(20)
-FILES TABLESPACE_NAME varchar(64)
-FILES TABLE_CATALOG varchar(64)
-FILES TABLE_SCHEMA varchar(64)
-FILES TABLE_NAME varchar(64)
-FILES LOGFILE_GROUP_NAME varchar(64)
-FILES LOGFILE_GROUP_NUMBER bigint(4)
-FILES ENGINE varchar(64)
-FILES FULLTEXT_KEYS varchar(64)
-FILES DELETED_ROWS bigint(4)
-FILES UPDATE_COUNT bigint(4)
-FILES FREE_EXTENTS bigint(4)
-FILES TOTAL_EXTENTS bigint(4)
-FILES EXTENT_SIZE bigint(4)
-FILES INITIAL_SIZE bigint(21) unsigned
-FILES MAXIMUM_SIZE bigint(21) unsigned
-FILES AUTOEXTEND_SIZE bigint(21) unsigned
-FILES CREATION_TIME datetime
-FILES LAST_UPDATE_TIME datetime
-FILES LAST_ACCESS_TIME datetime
-FILES RECOVER_TIME bigint(4)
-FILES TRANSACTION_COUNTER bigint(4)
-FILES VERSION bigint(21) unsigned
-FILES ROW_FORMAT varchar(10)
-FILES TABLE_ROWS bigint(21) unsigned
-FILES AVG_ROW_LENGTH bigint(21) unsigned
-FILES DATA_LENGTH bigint(21) unsigned
-FILES MAX_DATA_LENGTH bigint(21) unsigned
-FILES INDEX_LENGTH bigint(21) unsigned
-FILES DATA_FREE bigint(21) unsigned
-FILES CREATE_TIME datetime
-FILES UPDATE_TIME datetime
-FILES CHECK_TIME datetime
-FILES CHECKSUM bigint(21) unsigned
-FILES STATUS varchar(20)
-FILES EXTRA varchar(255)
-GLOBAL_STATUS VARIABLE_NAME varchar(64)
-GLOBAL_STATUS VARIABLE_VALUE decimal(22,7)
-GLOBAL_VARIABLES VARIABLE_NAME varchar(64)
-GLOBAL_VARIABLES VARIABLE_VALUE longtext
-KEY_COLUMN_USAGE CONSTRAINT_CATALOG varchar(4096)
-KEY_COLUMN_USAGE CONSTRAINT_SCHEMA varchar(64)
-KEY_COLUMN_USAGE CONSTRAINT_NAME varchar(64)
-KEY_COLUMN_USAGE TABLE_CATALOG varchar(4096)
-KEY_COLUMN_USAGE TABLE_SCHEMA varchar(64)
-KEY_COLUMN_USAGE TABLE_NAME varchar(64)
-KEY_COLUMN_USAGE COLUMN_NAME varchar(64)
-KEY_COLUMN_USAGE ORDINAL_POSITION bigint(10)
-KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT bigint(10)
-KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA varchar(64)
-KEY_COLUMN_USAGE REFERENCED_TABLE_NAME varchar(64)
-KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME varchar(64)
-PARTITIONS TABLE_CATALOG varchar(4096)
-PARTITIONS TABLE_SCHEMA varchar(64)
-PARTITIONS TABLE_NAME varchar(64)
-PARTITIONS PARTITION_NAME varchar(64)
-PARTITIONS SUBPARTITION_NAME varchar(64)
-PARTITIONS PARTITION_ORDINAL_POSITION bigint(21) unsigned
-PARTITIONS SUBPARTITION_ORDINAL_POSITION bigint(21) unsigned
-PARTITIONS PARTITION_METHOD varchar(12)
-PARTITIONS SUBPARTITION_METHOD varchar(12)
-PARTITIONS PARTITION_EXPRESSION longtext
-PARTITIONS SUBPARTITION_EXPRESSION longtext
-PARTITIONS PARTITION_DESCRIPTION longtext
-PARTITIONS TABLE_ROWS bigint(21) unsigned
-PARTITIONS AVG_ROW_LENGTH bigint(21) unsigned
-PARTITIONS DATA_LENGTH bigint(21) unsigned
-PARTITIONS MAX_DATA_LENGTH bigint(21) unsigned
-PARTITIONS INDEX_LENGTH bigint(21) unsigned
-PARTITIONS DATA_FREE bigint(21) unsigned
-PARTITIONS CREATE_TIME datetime
-PARTITIONS UPDATE_TIME datetime
-PARTITIONS CHECK_TIME datetime
-PARTITIONS CHECKSUM bigint(21) unsigned
-PARTITIONS PARTITION_COMMENT varchar(80)
-PARTITIONS NODEGROUP varchar(12)
-PARTITIONS TABLESPACE_NAME varchar(64)
-PLUGINS PLUGIN_NAME varchar(64)
-PLUGINS PLUGIN_VERSION varchar(20)
-PLUGINS PLUGIN_STATUS varchar(10)
-PLUGINS PLUGIN_TYPE varchar(80)
-PLUGINS PLUGIN_TYPE_VERSION varchar(20)
-PLUGINS PLUGIN_LIBRARY varchar(64)
-PLUGINS PLUGIN_LIBRARY_VERSION varchar(20)
-PLUGINS PLUGIN_AUTHOR varchar(64)
-PLUGINS PLUGIN_DESCRIPTION longtext
-PLUGINS PLUGIN_LICENSE varchar(80)
-PROCESSLIST ID bigint(4)
-PROCESSLIST USER varchar(16)
-PROCESSLIST HOST varchar(64)
-PROCESSLIST DB varchar(64)
-PROCESSLIST COMMAND varchar(16)
-PROCESSLIST TIME bigint(7)
-PROCESSLIST STATE varchar(64)
-PROCESSLIST INFO longtext
-REFERENTIAL_CONSTRAINTS CONSTRAINT_CATALOG varchar(4096)
-REFERENTIAL_CONSTRAINTS CONSTRAINT_SCHEMA varchar(64)
-REFERENTIAL_CONSTRAINTS CONSTRAINT_NAME varchar(64)
-REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_CATALOG varchar(4096)
-REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_SCHEMA varchar(64)
-REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_NAME varchar(64)
-REFERENTIAL_CONSTRAINTS MATCH_OPTION varchar(64)
-REFERENTIAL_CONSTRAINTS UPDATE_RULE varchar(64)
-REFERENTIAL_CONSTRAINTS DELETE_RULE varchar(64)
-REFERENTIAL_CONSTRAINTS TABLE_NAME varchar(64)
-REFERENTIAL_CONSTRAINTS REFERENCED_TABLE_NAME varchar(64)
-ROUTINES SPECIFIC_NAME varchar(64)
-ROUTINES ROUTINE_CATALOG varchar(4096)
-ROUTINES ROUTINE_SCHEMA varchar(64)
-ROUTINES ROUTINE_NAME varchar(64)
-ROUTINES ROUTINE_TYPE varchar(9)
-ROUTINES DTD_IDENTIFIER varchar(64)
-ROUTINES ROUTINE_BODY varchar(8)
-ROUTINES ROUTINE_DEFINITION longtext
-ROUTINES EXTERNAL_NAME varchar(64)
-ROUTINES EXTERNAL_LANGUAGE varchar(64)
-ROUTINES PARAMETER_STYLE varchar(8)
-ROUTINES IS_DETERMINISTIC varchar(3)
-ROUTINES SQL_DATA_ACCESS varchar(64)
-ROUTINES SQL_PATH varchar(64)
-ROUTINES SECURITY_TYPE varchar(7)
-ROUTINES CREATED datetime
-ROUTINES LAST_ALTERED datetime
-ROUTINES SQL_MODE longtext
-ROUTINES ROUTINE_COMMENT varchar(64)
-ROUTINES DEFINER varchar(77)
-SCHEMATA CATALOG_NAME varchar(4096)
-SCHEMATA SCHEMA_NAME varchar(64)
-SCHEMATA DEFAULT_CHARACTER_SET_NAME varchar(64)
-SCHEMATA DEFAULT_COLLATION_NAME varchar(64)
-SCHEMATA SQL_PATH varchar(4096)
-SCHEMA_PRIVILEGES GRANTEE varchar(81)
-SCHEMA_PRIVILEGES TABLE_CATALOG varchar(4096)
-SCHEMA_PRIVILEGES TABLE_SCHEMA varchar(64)
-SCHEMA_PRIVILEGES PRIVILEGE_TYPE varchar(64)
-SCHEMA_PRIVILEGES IS_GRANTABLE varchar(3)
-SESSION_STATUS VARIABLE_NAME varchar(64)
-SESSION_STATUS VARIABLE_VALUE decimal(22,7)
-SESSION_VARIABLES VARIABLE_NAME varchar(64)
-SESSION_VARIABLES VARIABLE_VALUE longtext
-STATISTICS TABLE_CATALOG varchar(4096)
-STATISTICS TABLE_SCHEMA varchar(64)
-STATISTICS TABLE_NAME varchar(64)
-STATISTICS NON_UNIQUE bigint(1)
-STATISTICS INDEX_SCHEMA varchar(64)
-STATISTICS INDEX_NAME varchar(64)
-STATISTICS SEQ_IN_INDEX bigint(2)
-STATISTICS COLUMN_NAME varchar(64)
-STATISTICS COLLATION varchar(1)
-STATISTICS CARDINALITY bigint(21)
-STATISTICS SUB_PART bigint(3)
-STATISTICS PACKED varchar(10)
-STATISTICS NULLABLE varchar(3)
-STATISTICS INDEX_TYPE varchar(16)
-STATISTICS COMMENT varchar(16)
-TABLES TABLE_CATALOG varchar(4096)
-TABLES TABLE_SCHEMA varchar(64)
-TABLES TABLE_NAME varchar(64)
-TABLES TABLE_TYPE varchar(64)
-TABLES ENGINE varchar(64)
-TABLES VERSION bigint(21) unsigned
-TABLES ROW_FORMAT varchar(10)
-TABLES TABLE_ROWS bigint(21) unsigned
-TABLES AVG_ROW_LENGTH bigint(21) unsigned
-TABLES DATA_LENGTH bigint(21) unsigned
-TABLES MAX_DATA_LENGTH bigint(21) unsigned
-TABLES INDEX_LENGTH bigint(21) unsigned
-TABLES DATA_FREE bigint(21) unsigned
-TABLES AUTO_INCREMENT bigint(21) unsigned
-TABLES CREATE_TIME datetime
-TABLES UPDATE_TIME datetime
-TABLES CHECK_TIME datetime
-TABLES TABLE_COLLATION varchar(64)
-TABLES CHECKSUM bigint(21) unsigned
-TABLES CREATE_OPTIONS varchar(255)
-TABLES TABLE_COMMENT varchar(80)
-TABLE_CONSTRAINTS CONSTRAINT_CATALOG varchar(4096)
-TABLE_CONSTRAINTS CONSTRAINT_SCHEMA varchar(64)
-TABLE_CONSTRAINTS CONSTRAINT_NAME varchar(64)
-TABLE_CONSTRAINTS TABLE_SCHEMA varchar(64)
-TABLE_CONSTRAINTS TABLE_NAME varchar(64)
-TABLE_CONSTRAINTS CONSTRAINT_TYPE varchar(64)
-TABLE_PRIVILEGES GRANTEE varchar(81)
-TABLE_PRIVILEGES TABLE_CATALOG varchar(4096)
-TABLE_PRIVILEGES TABLE_SCHEMA varchar(64)
-TABLE_PRIVILEGES TABLE_NAME varchar(64)
-TABLE_PRIVILEGES PRIVILEGE_TYPE varchar(64)
-TABLE_PRIVILEGES IS_GRANTABLE varchar(3)
-TRIGGERS TRIGGER_CATALOG varchar(4096)
-TRIGGERS TRIGGER_SCHEMA varchar(64)
-TRIGGERS TRIGGER_NAME varchar(64)
-TRIGGERS EVENT_MANIPULATION varchar(6)
-TRIGGERS EVENT_OBJECT_CATALOG varchar(4096)
-TRIGGERS EVENT_OBJECT_SCHEMA varchar(64)
-TRIGGERS EVENT_OBJECT_TABLE varchar(64)
-TRIGGERS ACTION_ORDER bigint(4)
-TRIGGERS ACTION_CONDITION longtext
-TRIGGERS ACTION_STATEMENT longtext
-TRIGGERS ACTION_ORIENTATION varchar(9)
-TRIGGERS ACTION_TIMING varchar(6)
-TRIGGERS ACTION_REFERENCE_OLD_TABLE varchar(64)
-TRIGGERS ACTION_REFERENCE_NEW_TABLE varchar(64)
-TRIGGERS ACTION_REFERENCE_OLD_ROW varchar(3)
-TRIGGERS ACTION_REFERENCE_NEW_ROW varchar(3)
-TRIGGERS CREATED datetime
-TRIGGERS SQL_MODE longtext
-TRIGGERS DEFINER longtext
-USER_PRIVILEGES GRANTEE varchar(81)
-USER_PRIVILEGES TABLE_CATALOG varchar(4096)
-USER_PRIVILEGES PRIVILEGE_TYPE varchar(64)
-USER_PRIVILEGES IS_GRANTABLE varchar(3)
-VIEWS TABLE_CATALOG varchar(4096)
-VIEWS TABLE_SCHEMA varchar(64)
-VIEWS TABLE_NAME varchar(64)
-VIEWS VIEW_DEFINITION longtext
-VIEWS CHECK_OPTION varchar(8)
-VIEWS IS_UPDATABLE varchar(3)
-VIEWS DEFINER varchar(77)
-VIEWS SECURITY_TYPE varchar(7)
-t1 f1 char(20)
-t1 f2 char(25)
-t1 f3 date
-t1 f4 int(11)
-t1 f5 char(25)
-t1 f6 int(11)
-t10 f1 char(20)
-t10 f2 char(25)
-t10 f3 date
-t10 f4 int(11)
-t10 f5 char(25)
-t10 f6 int(11)
-t11 f1 char(20)
-t11 f2 char(25)
-t11 f3 date
-t11 f4 int(11)
-t11 f5 char(25)
-t11 f6 int(11)
-t2 f1 char(20)
-t2 f2 char(25)
-t2 f3 date
-t2 f4 int(11)
-t2 f5 char(25)
-t2 f6 int(11)
-t3 f1 char(20)
-t3 f2 char(20)
-t3 f3 int(11)
-t4 f1 char(20)
-t4 f2 char(25)
-t4 f3 date
-t4 f4 int(11)
-t4 f5 char(25)
-t4 f6 int(11)
-t7 f1 char(20)
-t7 f2 char(25)
-t7 f3 date
-t7 f4 int(11)
-t8 f1 char(20)
-t8 f2 char(25)
-t8 f3 date
-t8 f4 int(11)
-t9 f1 int(11)
-t9 f2 char(25)
-t9 f3 int(11)
-tb1 f1 char(0)
-tb1 f2 char(0)
-tb1 f3 char(0)
-tb1 f4 tinytext
-tb1 f5 text
-tb1 f6 mediumtext
-tb1 f7 longtext
-tb1 f8 tinyblob
-tb1 f9 blob
-tb1 f10 mediumblob
-tb1 f11 longblob
-tb1 f12 binary(1)
-tb1 f13 tinyint(4)
-tb1 f14 tinyint(3) unsigned
-tb1 f15 tinyint(3) unsigned zerofill
-tb1 f16 tinyint(3) unsigned zerofill
-tb1 f17 smallint(6)
-tb1 f18 smallint(5) unsigned
-tb1 f19 smallint(5) unsigned zerofill
-tb1 f20 smallint(5) unsigned zerofill
-tb1 f21 mediumint(9)
-tb1 f22 mediumint(8) unsigned
-tb1 f23 mediumint(8) unsigned zerofill
-tb1 f24 mediumint(8) unsigned zerofill
-tb1 f25 int(11)
-tb1 f26 int(10) unsigned
-tb1 f27 int(10) unsigned zerofill
-tb1 f28 int(10) unsigned zerofill
-tb1 f29 bigint(20)
-tb1 f30 bigint(20) unsigned
-tb1 f31 bigint(20) unsigned zerofill
-tb1 f32 bigint(20) unsigned zerofill
-tb1 f33 decimal(10,0)
-tb1 f34 decimal(10,0) unsigned
-tb1 f35 decimal(10,0) unsigned zerofill
-tb1 f36 decimal(10,0) unsigned zerofill
-tb1 f37 decimal(10,0)
-tb1 f38 decimal(64,0)
-tb1 f39 decimal(10,0) unsigned
-tb1 f40 decimal(64,0) unsigned
-tb1 f41 decimal(10,0) unsigned zerofill
-tb1 f42 decimal(64,0) unsigned zerofill
-tb1 f43 decimal(10,0) unsigned zerofill
-tb1 f44 decimal(64,0) unsigned zerofill
-tb1 f45 decimal(10,0)
-tb1 f46 decimal(63,30)
-tb1 f47 decimal(10,0) unsigned
-tb1 f48 decimal(63,30) unsigned
-tb1 f49 decimal(10,0) unsigned zerofill
-tb1 f50 decimal(63,30) unsigned zerofill
-tb1 f51 decimal(10,0) unsigned zerofill
-tb1 f52 decimal(63,30) unsigned zerofill
-tb1 f53 decimal(10,0)
-tb1 f54 decimal(10,0) unsigned
-tb1 f55 decimal(10,0) unsigned zerofill
-tb1 f56 decimal(10,0) unsigned zerofill
-tb1 f57 decimal(10,0)
-tb1 f58 decimal(64,0)
-tb2 f59 decimal(10,0) unsigned
-tb2 f60 decimal(64,0) unsigned
-tb2 f61 decimal(10,0) unsigned zerofill
-tb2 f62 decimal(64,0) unsigned zerofill
-tb2 f63 decimal(10,0) unsigned zerofill
-tb2 f64 decimal(64,0) unsigned zerofill
-tb2 f65 decimal(10,0)
-tb2 f66 decimal(63,30)
-tb2 f67 decimal(10,0) unsigned
-tb2 f68 decimal(63,30) unsigned
-tb2 f69 decimal(10,0) unsigned zerofill
-tb2 f70 decimal(63,30) unsigned zerofill
-tb2 f71 decimal(10,0) unsigned zerofill
-tb2 f72 decimal(63,30) unsigned zerofill
-tb2 f73 double
-tb2 f74 double unsigned
-tb2 f75 double unsigned zerofill
-tb2 f76 double unsigned zerofill
-tb2 f77 double
-tb2 f78 double unsigned
-tb2 f79 double unsigned zerofill
-tb2 f80 double unsigned zerofill
-tb2 f81 float
-tb2 f82 float unsigned
-tb2 f83 float unsigned zerofill
-tb2 f84 float unsigned zerofill
-tb2 f85 float
-tb2 f86 float
-tb2 f87 float unsigned
-tb2 f88 float unsigned
-tb2 f89 float unsigned zerofill
-tb2 f90 float unsigned zerofill
-tb2 f91 float unsigned zerofill
-tb2 f92 float unsigned zerofill
-tb2 f93 float
-tb2 f94 double
-tb2 f95 float unsigned
-tb2 f96 double unsigned
-tb2 f97 float unsigned zerofill
-tb2 f98 double unsigned zerofill
-tb2 f99 float unsigned zerofill
-tb2 f100 double unsigned zerofill
-tb2 f101 date
-tb2 f102 time
-tb2 f103 datetime
-tb2 f104 timestamp
-tb2 f105 year(4)
-tb2 f106 year(4)
-tb2 f107 year(4)
-tb2 f108 enum('1enum','2enum')
-tb2 f109 set('1set','2set')
-tb3 f118 char(1)
-tb3 f119 char(1)
-tb3 f120 char(1)
-tb3 f121 tinytext
-tb3 f122 text
-tb3 f123 mediumtext
-tb3 f124 longtext
-tb3 f125 tinyblob
-tb3 f126 blob
-tb3 f127 mediumblob
-tb3 f128 longblob
-tb3 f129 binary(1)
-tb3 f130 tinyint(4)
-tb3 f131 tinyint(3) unsigned
-tb3 f132 tinyint(3) unsigned zerofill
-tb3 f133 tinyint(3) unsigned zerofill
-tb3 f134 smallint(6)
-tb3 f135 smallint(5) unsigned
-tb3 f136 smallint(5) unsigned zerofill
-tb3 f137 smallint(5) unsigned zerofill
-tb3 f138 mediumint(9)
-tb3 f139 mediumint(8) unsigned
-tb3 f140 mediumint(8) unsigned zerofill
-tb3 f141 mediumint(8) unsigned zerofill
-tb3 f142 int(11)
-tb3 f143 int(10) unsigned
-tb3 f144 int(10) unsigned zerofill
-tb3 f145 int(10) unsigned zerofill
-tb3 f146 bigint(20)
-tb3 f147 bigint(20) unsigned
-tb3 f148 bigint(20) unsigned zerofill
-tb3 f149 bigint(20) unsigned zerofill
-tb3 f150 decimal(10,0)
-tb3 f151 decimal(10,0) unsigned
-tb3 f152 decimal(10,0) unsigned zerofill
-tb3 f153 decimal(10,0) unsigned zerofill
-tb3 f154 decimal(10,0)
-tb3 f155 decimal(64,0)
-tb3 f156 decimal(10,0) unsigned
-tb3 f157 decimal(64,0) unsigned
-tb3 f158 decimal(10,0) unsigned zerofill
-tb3 f159 decimal(64,0) unsigned zerofill
-tb3 f160 decimal(10,0) unsigned zerofill
-tb3 f161 decimal(64,0) unsigned zerofill
-tb3 f162 decimal(10,0)
-tb3 f163 decimal(63,30)
-tb3 f164 decimal(10,0) unsigned
-tb3 f165 decimal(63,30) unsigned
-tb3 f166 decimal(10,0) unsigned zerofill
-tb3 f167 decimal(63,30) unsigned zerofill
-tb3 f168 decimal(10,0) unsigned zerofill
-tb3 f169 decimal(63,30) unsigned zerofill
-tb3 f170 decimal(10,0)
-tb3 f171 decimal(10,0) unsigned
-tb3 f172 decimal(10,0) unsigned zerofill
-tb3 f173 decimal(10,0) unsigned zerofill
-tb3 f174 decimal(10,0)
-tb3 f175 decimal(64,0)
-tb4 f176 decimal(10,0) unsigned
-tb4 f177 decimal(64,0) unsigned
-tb4 f178 decimal(10,0) unsigned zerofill
-tb4 f179 decimal(64,0) unsigned zerofill
-tb4 f180 decimal(10,0) unsigned zerofill
-tb4 f181 decimal(64,0) unsigned zerofill
-tb4 f182 decimal(10,0)
-tb4 f183 decimal(63,30)
-tb4 f184 decimal(10,0) unsigned
-tb4 f185 decimal(63,30) unsigned
-tb4 f186 decimal(10,0) unsigned zerofill
-tb4 f187 decimal(63,30) unsigned zerofill
-tb4 f188 decimal(10,0) unsigned zerofill
-tb4 f189 decimal(63,30) unsigned zerofill
-tb4 f190 double
-tb4 f191 double unsigned
-tb4 f192 double unsigned zerofill
-tb4 f193 double unsigned zerofill
-tb4 f194 double
-tb4 f195 double unsigned
-tb4 f196 double unsigned zerofill
-tb4 f197 double unsigned zerofill
-tb4 f198 float
-tb4 f199 float unsigned
-tb4 f200 float unsigned zerofill
-tb4 f201 float unsigned zerofill
-tb4 f202 float
-tb4 f203 float
-tb4 f204 float unsigned
-tb4 f205 float unsigned
-tb4 f206 float unsigned zerofill
-tb4 f207 float unsigned zerofill
-tb4 f208 float unsigned zerofill
-tb4 f209 float unsigned zerofill
-tb4 f210 float
-tb4 f211 double
-tb4 f212 float unsigned
-tb4 f213 double unsigned
-tb4 f214 float unsigned zerofill
-tb4 f215 double unsigned zerofill
-tb4 f216 float unsigned zerofill
-tb4 f217 double unsigned zerofill
-tb4 f218 date
-tb4 f219 time
-tb4 f220 datetime
-tb4 f221 timestamp
-tb4 f222 year(4)
-tb4 f223 year(4)
-tb4 f224 year(4)
-tb4 f225 enum('1enum','2enum')
-tb4 f226 set('1set','2set')
-tb4 f235 char(0)
-tb4 f236 char(90)
-tb4 f237 char(255)
-tb4 f238 varchar(0)
-tb4 f239 varchar(20000)
-tb4 f240 varchar(2000)
-tb4 f241 char(100)
-select character_set_name from character_sets;
-character_set_name
-big5
-dec8
-cp850
-hp8
-koi8r
-latin1
-latin2
-swe7
-ascii
-ujis
-sjis
-hebrew
-tis620
-euckr
-koi8u
-gb2312
-greek
-cp1250
-gbk
-latin5
-armscii8
-utf8
-ucs2
-cp866
-keybcs2
-macce
-macroman
-cp852
-latin7
-cp1251
-cp1256
-cp1257
-binary
-geostd8
-cp932
-eucjpms
-select collation_name from collations;
-collation_name
-big5_chinese_ci
-big5_bin
-dec8_swedish_ci
-dec8_bin
-cp850_general_ci
-cp850_bin
-hp8_english_ci
-hp8_bin
-koi8r_general_ci
-koi8r_bin
-latin1_german1_ci
-latin1_swedish_ci
-latin1_danish_ci
-latin1_german2_ci
-latin1_bin
-latin1_general_ci
-latin1_general_cs
-latin1_spanish_ci
-latin2_czech_cs
-latin2_general_ci
-latin2_hungarian_ci
-latin2_croatian_ci
-latin2_bin
-swe7_swedish_ci
-swe7_bin
-ascii_general_ci
-ascii_bin
-ujis_japanese_ci
-ujis_bin
-sjis_japanese_ci
-sjis_bin
-hebrew_general_ci
-hebrew_bin
-tis620_thai_ci
-tis620_bin
-euckr_korean_ci
-euckr_bin
-koi8u_general_ci
-koi8u_bin
-gb2312_chinese_ci
-gb2312_bin
-greek_general_ci
-greek_bin
-cp1250_general_ci
-cp1250_czech_cs
-cp1250_croatian_ci
-cp1250_bin
-cp1250_polish_ci
-gbk_chinese_ci
-gbk_bin
-latin5_turkish_ci
-latin5_bin
-armscii8_general_ci
-armscii8_bin
-utf8_general_ci
-utf8_bin
-utf8_unicode_ci
-utf8_icelandic_ci
-utf8_latvian_ci
-utf8_romanian_ci
-utf8_slovenian_ci
-utf8_polish_ci
-utf8_estonian_ci
-utf8_spanish_ci
-utf8_swedish_ci
-utf8_turkish_ci
-utf8_czech_ci
-utf8_danish_ci
-utf8_lithuanian_ci
-utf8_slovak_ci
-utf8_spanish2_ci
-utf8_roman_ci
-utf8_persian_ci
-utf8_esperanto_ci
-utf8_hungarian_ci
-ucs2_general_ci
-ucs2_bin
-ucs2_unicode_ci
-ucs2_icelandic_ci
-ucs2_latvian_ci
-ucs2_romanian_ci
-ucs2_slovenian_ci
-ucs2_polish_ci
-ucs2_estonian_ci
-ucs2_spanish_ci
-ucs2_swedish_ci
-ucs2_turkish_ci
-ucs2_czech_ci
-ucs2_danish_ci
-ucs2_lithuanian_ci
-ucs2_slovak_ci
-ucs2_spanish2_ci
-ucs2_roman_ci
-ucs2_persian_ci
-ucs2_esperanto_ci
-ucs2_hungarian_ci
-cp866_general_ci
-cp866_bin
-keybcs2_general_ci
-keybcs2_bin
-macce_general_ci
-macce_bin
-macroman_general_ci
-macroman_bin
-cp852_general_ci
-cp852_bin
-latin7_estonian_cs
-latin7_general_ci
-latin7_general_cs
-latin7_bin
-cp1251_bulgarian_ci
-cp1251_ukrainian_ci
-cp1251_bin
-cp1251_general_ci
-cp1251_general_cs
-cp1256_general_ci
-cp1256_bin
-cp1257_lithuanian_ci
-cp1257_bin
-cp1257_general_ci
-binary
-geostd8_general_ci
-geostd8_bin
-cp932_japanese_ci
-cp932_bin
-eucjpms_japanese_ci
-eucjpms_bin
-select routine_name, routine_type from routines;
-routine_name routine_type
-select table_name, index_name from statistics;
-table_name index_name
-select table_name from views;
-table_name
-select privilege_type from user_privileges;
-privilege_type
-USAGE
-select grantee, privilege_type from schema_privileges;
-grantee privilege_type
-select * from table_privileges;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select column_name, privilege_type from column_privileges;
-column_name privilege_type
-select table_name,constraint_type from table_constraints;
-table_name constraint_type
-select table_schema, table_name, column_name from key_column_usage;
-table_schema table_name column_name
-
-root@localhost db_datadict
-DROP USER 'u_6_401017'@'localhost';
-
-Testcase 3.2.1.18:
---------------------------------------------------------------------------------
-CREATE USER 'u_6_401018'@'localhost';
-GRANT CREATE VIEW ON information_schema.* TO 'u_6_401018'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-GRANT ALL ON db_datadict.* TO 'u_6_401018'@'localhost';
-SHOW GRANTS FOR 'u_6_401018'@'localhost';
-Grants for u_6_401018@localhost
-GRANT USAGE ON *.* TO 'u_6_401018'@'localhost'
-GRANT ALL PRIVILEGES ON `db_datadict`.* TO 'u_6_401018'@'localhost'
-FLUSH PRIVILEGES;
-DROP DATABASE IF EXISTS db_datadict;
-CREATE DATABASE db_datadict;
-connect(localhost,u_6_401018,,test,MYSQL_PORT,MYSQL_SOCK);
-USE db_datadict;
-create view db_datadict.v_401018 as
-select * from information_schema.schemata;
-SELECT * FROM v_401018 ORDER BY 2 DESC;
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL test latin1 latin1_swedish_ci NULL
-NULL information_schema utf8 utf8_general_ci NULL
-NULL db_datadict latin1 latin1_swedish_ci NULL
-
-root@localhost NULL
-DROP USER 'u_6_401018'@'localhost';
-DROP DATABASE db_datadict;
-
-Testcase 3.2.1.19:
---------------------------------------------------------------------------------
-CREATE USER 'u_6_401019'@'localhost';
-grant alter on information_schema.* to 'u_6_401019'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-grant alter routine on information_schema.* to 'u_6_401019'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-grant create on information_schema.* to 'u_6_401019'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-grant create routine on information_schema.* to 'u_6_401019'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-grant create temporary tables
-on information_schema.* to 'u_6_401019'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-grant delete on information_schema.* to 'u_6_401019'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-grant drop on information_schema.* to 'u_6_401019'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-grant execute on information_schema.* to 'u_6_401019'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-grant index on information_schema.* to 'u_6_401019'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-grant insert on information_schema.* to 'u_6_401019'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-grant lock tables on information_schema.* to 'u_6_401019'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-grant update on information_schema.* to 'u_6_401019'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-SELECT * FROM information_schema.table_privileges
-WHERE table_schema = "information_schema";
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-SELECT * FROM information_schema.column_privileges
-WHERE table_schema = "information_schema";
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-DROP USER 'u_6_401019'@'localhost';
-
-Testcase 3.2.1.20:
---------------------------------------------------------------------------------
-CREATE USER 'u_6_401020'@'localhost';
-connect(localhost,u_6_401020,,test,MYSQL_PORT,MYSQL_SOCK);
-USE information_schema;
-SELECT * FROM schemata;
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL information_schema utf8 utf8_general_ci NULL
-NULL test latin1 latin1_swedish_ci NULL
-CREATE TABLE tb_not_allowed ( col TEXT );
-ERROR 42S02: Unknown table 'tb_not_allowed' in information_schema
-create view res_v1 as select * from information_schema.schemata;
-ERROR 42S02: Unknown table 'res_v1' in information_schema
-alter table schemata modify catalog_name varchar(255);
-ERROR 42000: Access denied for user 'u_6_401020'@'localhost' to database 'information_schema'
-update schemata set catalog_name = 'abc'
- where schema_name = 'information_schema';
-ERROR 42000: Access denied for user 'u_6_401020'@'localhost' to database 'information_schema'
-CREATE PROCEDURE sp_3_2_1_20()
-BEGIN
-INSERT INTO information_schema.schema_privileges (table_schema,privilege_type)
-VALUES('db2','insert');
-END//
-ERROR 42000: Unknown database 'information_schema'
-DELETE FROM schemata WHERE schema_name = 'information_schema';
-ERROR 42000: Access denied for user 'u_6_401020'@'localhost' to database 'information_schema'
-
-root@localhost NULL
-DROP USER 'u_6_401020'@'localhost';
-
-Testcase 3.2.2.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC character_sets;
-Field Type Null Key Default Extra
-CHARACTER_SET_NAME varchar(64) NO
-DEFAULT_COLLATE_NAME varchar(64) NO
-DESCRIPTION varchar(60) NO
-MAXLEN bigint(3) NO 0
-SHOW CREATE TABLE character_sets;
-Table Create Table
-CHARACTER_SETS CREATE TEMPORARY TABLE `CHARACTER_SETS` (
- `CHARACTER_SET_NAME` varchar(64) NOT NULL DEFAULT '',
- `DEFAULT_COLLATE_NAME` varchar(64) NOT NULL DEFAULT '',
- `DESCRIPTION` varchar(60) NOT NULL DEFAULT '',
- `MAXLEN` bigint(3) NOT NULL DEFAULT '0'
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'character_sets'
-ORDER BY ordinal_position;
-COUNT(*)
-4
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'character_sets'
-ORDER BY ordinal_position;
-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
-NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema CHARACTER_SETS DESCRIPTION 3 NO varchar 60 180 NULL NULL utf8 utf8_general_ci varchar(60) select
-NULL information_schema CHARACTER_SETS MAXLEN 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select
-
-Testcase 3.2.2.2:
---------------------------------------------------------------------------------
-
-root@localhost information_schema
-SELECT * FROM information_schema.character_sets;
-CHARACTER_SET_NAME DEFAULT_COLLATE_NAME DESCRIPTION MAXLEN
-big5 big5_chinese_ci Big5 Traditional Chinese 2
-dec8 dec8_swedish_ci DEC West European 1
-cp850 cp850_general_ci DOS West European 1
-hp8 hp8_english_ci HP West European 1
-koi8r koi8r_general_ci KOI8-R Relcom Russian 1
-latin1 latin1_swedish_ci cp1252 West European 1
-latin2 latin2_general_ci ISO 8859-2 Central European 1
-swe7 swe7_swedish_ci 7bit Swedish 1
-ascii ascii_general_ci US ASCII 1
-ujis ujis_japanese_ci EUC-JP Japanese 3
-sjis sjis_japanese_ci Shift-JIS Japanese 2
-hebrew hebrew_general_ci ISO 8859-8 Hebrew 1
-tis620 tis620_thai_ci TIS620 Thai 1
-euckr euckr_korean_ci EUC-KR Korean 2
-koi8u koi8u_general_ci KOI8-U Ukrainian 1
-gb2312 gb2312_chinese_ci GB2312 Simplified Chinese 2
-greek greek_general_ci ISO 8859-7 Greek 1
-cp1250 cp1250_general_ci Windows Central European 1
-gbk gbk_chinese_ci GBK Simplified Chinese 2
-latin5 latin5_turkish_ci ISO 8859-9 Turkish 1
-armscii8 armscii8_general_ci ARMSCII-8 Armenian 1
-utf8 utf8_general_ci UTF-8 Unicode 3
-ucs2 ucs2_general_ci UCS-2 Unicode 2
-cp866 cp866_general_ci DOS Russian 1
-keybcs2 keybcs2_general_ci DOS Kamenicky Czech-Slovak 1
-macce macce_general_ci Mac Central European 1
-macroman macroman_general_ci Mac West European 1
-cp852 cp852_general_ci DOS Central European 1
-latin7 latin7_general_ci ISO 8859-13 Baltic 1
-cp1251 cp1251_general_ci Windows Cyrillic 1
-cp1256 cp1256_general_ci Windows Arabic 1
-cp1257 cp1257_general_ci Windows Baltic 1
-binary binary Binary pseudo charset 1
-geostd8 geostd8_general_ci GEOSTD8 Georgian 1
-cp932 cp932_japanese_ci SJIS for Windows Japanese 2
-eucjpms eucjpms_japanese_ci UJIS for Windows Japanese 3
-
-Testcase 3.2.2.3:
---------------------------------------------------------------------------------
-
-Testcase 3.2.3.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC collations;
-Field Type Null Key Default Extra
-COLLATION_NAME varchar(64) NO
-CHARACTER_SET_NAME varchar(64) NO
-ID bigint(11) NO 0
-IS_DEFAULT varchar(3) NO
-IS_COMPILED varchar(3) NO
-SORTLEN bigint(3) NO 0
-SHOW CREATE TABLE collations;
-Table Create Table
-COLLATIONS CREATE TEMPORARY TABLE `COLLATIONS` (
- `COLLATION_NAME` varchar(64) NOT NULL DEFAULT '',
- `CHARACTER_SET_NAME` varchar(64) NOT NULL DEFAULT '',
- `ID` bigint(11) NOT NULL DEFAULT '0',
- `IS_DEFAULT` varchar(3) NOT NULL DEFAULT '',
- `IS_COMPILED` varchar(3) NOT NULL DEFAULT '',
- `SORTLEN` bigint(3) NOT NULL DEFAULT '0'
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'collations'
-ORDER BY ordinal_position;
-COUNT(*)
-6
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'collations'
-ORDER BY ordinal_position;
-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
-NULL information_schema COLLATIONS COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATIONS CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATIONS ID 3 0 NO bigint NULL NULL 19 0 NULL NULL bigint(11) select
-NULL information_schema COLLATIONS IS_DEFAULT 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLLATIONS IS_COMPILED 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLLATIONS SORTLEN 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select
-
-Testcase 3.2.3.2:
---------------------------------------------------------------------------------
-SELECT * FROM collations;
-COLLATION_NAME CHARACTER_SET_NAME ID IS_DEFAULT IS_COMPILED SORTLEN
-big5_chinese_ci big5 1 Yes Yes 1
-big5_bin big5 84 Yes 1
-dec8_swedish_ci dec8 3 Yes 0
-dec8_bin dec8 69 0
-cp850_general_ci cp850 4 Yes 0
-cp850_bin cp850 80 0
-hp8_english_ci hp8 6 Yes 0
-hp8_bin hp8 72 0
-koi8r_general_ci koi8r 7 Yes 0
-koi8r_bin koi8r 74 0
-latin1_german1_ci latin1 5 Yes 1
-latin1_swedish_ci latin1 8 Yes Yes 1
-latin1_danish_ci latin1 15 Yes 1
-latin1_german2_ci latin1 31 Yes 2
-latin1_bin latin1 47 Yes 1
-latin1_general_ci latin1 48 Yes 1
-latin1_general_cs latin1 49 Yes 1
-latin1_spanish_ci latin1 94 Yes 1
-latin2_czech_cs latin2 2 Yes 4
-latin2_general_ci latin2 9 Yes Yes 1
-latin2_hungarian_ci latin2 21 Yes 1
-latin2_croatian_ci latin2 27 Yes 1
-latin2_bin latin2 77 Yes 1
-swe7_swedish_ci swe7 10 Yes 0
-swe7_bin swe7 82 0
-ascii_general_ci ascii 11 Yes 0
-ascii_bin ascii 65 0
-ujis_japanese_ci ujis 12 Yes Yes 1
-ujis_bin ujis 91 Yes 1
-sjis_japanese_ci sjis 13 Yes Yes 1
-sjis_bin sjis 88 Yes 1
-hebrew_general_ci hebrew 16 Yes 0
-hebrew_bin hebrew 71 0
-tis620_thai_ci tis620 18 Yes Yes 4
-tis620_bin tis620 89 Yes 1
-euckr_korean_ci euckr 19 Yes Yes 1
-euckr_bin euckr 85 Yes 1
-koi8u_general_ci koi8u 22 Yes 0
-koi8u_bin koi8u 75 0
-gb2312_chinese_ci gb2312 24 Yes Yes 1
-gb2312_bin gb2312 86 Yes 1
-greek_general_ci greek 25 Yes 0
-greek_bin greek 70 0
-cp1250_general_ci cp1250 26 Yes Yes 1
-cp1250_czech_cs cp1250 34 Yes 2
-cp1250_croatian_ci cp1250 44 Yes 1
-cp1250_bin cp1250 66 Yes 1
-cp1250_polish_ci cp1250 99 Yes 1
-gbk_chinese_ci gbk 28 Yes Yes 1
-gbk_bin gbk 87 Yes 1
-latin5_turkish_ci latin5 30 Yes 0
-latin5_bin latin5 78 0
-armscii8_general_ci armscii8 32 Yes 0
-armscii8_bin armscii8 64 0
-utf8_general_ci utf8 33 Yes Yes 1
-utf8_bin utf8 83 Yes 1
-utf8_unicode_ci utf8 192 Yes 8
-utf8_icelandic_ci utf8 193 Yes 8
-utf8_latvian_ci utf8 194 Yes 8
-utf8_romanian_ci utf8 195 Yes 8
-utf8_slovenian_ci utf8 196 Yes 8
-utf8_polish_ci utf8 197 Yes 8
-utf8_estonian_ci utf8 198 Yes 8
-utf8_spanish_ci utf8 199 Yes 8
-utf8_swedish_ci utf8 200 Yes 8
-utf8_turkish_ci utf8 201 Yes 8
-utf8_czech_ci utf8 202 Yes 8
-utf8_danish_ci utf8 203 Yes 8
-utf8_lithuanian_ci utf8 204 Yes 8
-utf8_slovak_ci utf8 205 Yes 8
-utf8_spanish2_ci utf8 206 Yes 8
-utf8_roman_ci utf8 207 Yes 8
-utf8_persian_ci utf8 208 Yes 8
-utf8_esperanto_ci utf8 209 Yes 8
-utf8_hungarian_ci utf8 210 Yes 8
-ucs2_general_ci ucs2 35 Yes Yes 1
-ucs2_bin ucs2 90 Yes 1
-ucs2_unicode_ci ucs2 128 Yes 8
-ucs2_icelandic_ci ucs2 129 Yes 8
-ucs2_latvian_ci ucs2 130 Yes 8
-ucs2_romanian_ci ucs2 131 Yes 8
-ucs2_slovenian_ci ucs2 132 Yes 8
-ucs2_polish_ci ucs2 133 Yes 8
-ucs2_estonian_ci ucs2 134 Yes 8
-ucs2_spanish_ci ucs2 135 Yes 8
-ucs2_swedish_ci ucs2 136 Yes 8
-ucs2_turkish_ci ucs2 137 Yes 8
-ucs2_czech_ci ucs2 138 Yes 8
-ucs2_danish_ci ucs2 139 Yes 8
-ucs2_lithuanian_ci ucs2 140 Yes 8
-ucs2_slovak_ci ucs2 141 Yes 8
-ucs2_spanish2_ci ucs2 142 Yes 8
-ucs2_roman_ci ucs2 143 Yes 8
-ucs2_persian_ci ucs2 144 Yes 8
-ucs2_esperanto_ci ucs2 145 Yes 8
-ucs2_hungarian_ci ucs2 146 Yes 8
-cp866_general_ci cp866 36 Yes 0
-cp866_bin cp866 68 0
-keybcs2_general_ci keybcs2 37 Yes 0
-keybcs2_bin keybcs2 73 0
-macce_general_ci macce 38 Yes 0
-macce_bin macce 43 0
-macroman_general_ci macroman 39 Yes 0
-macroman_bin macroman 53 0
-cp852_general_ci cp852 40 Yes 0
-cp852_bin cp852 81 0
-latin7_estonian_cs latin7 20 0
-latin7_general_ci latin7 41 Yes 0
-latin7_general_cs latin7 42 0
-latin7_bin latin7 79 0
-cp1251_bulgarian_ci cp1251 14 0
-cp1251_ukrainian_ci cp1251 23 0
-cp1251_bin cp1251 50 0
-cp1251_general_ci cp1251 51 Yes 0
-cp1251_general_cs cp1251 52 0
-cp1256_general_ci cp1256 57 Yes 0
-cp1256_bin cp1256 67 0
-cp1257_lithuanian_ci cp1257 29 0
-cp1257_bin cp1257 58 0
-cp1257_general_ci cp1257 59 Yes 0
-binary binary 63 Yes Yes 1
-geostd8_general_ci geostd8 92 Yes 0
-geostd8_bin geostd8 93 0
-cp932_japanese_ci cp932 95 Yes Yes 1
-cp932_bin cp932 96 Yes 1
-eucjpms_japanese_ci eucjpms 97 Yes Yes 1
-eucjpms_bin eucjpms 98 Yes 1
-
-Testcase 3.2.3.3:
---------------------------------------------------------------------------------
-
-Testcase 3.2.4.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC collation_character_set_applicability;
-Field Type Null Key Default Extra
-COLLATION_NAME varchar(64) NO
-CHARACTER_SET_NAME varchar(64) NO
-SHOW CREATE TABLE collation_character_set_applicability;
-Table Create Table
-COLLATION_CHARACTER_SET_APPLICABILITY CREATE TEMPORARY TABLE `COLLATION_CHARACTER_SET_APPLICABILITY` (
- `COLLATION_NAME` varchar(64) NOT NULL DEFAULT '',
- `CHARACTER_SET_NAME` varchar(64) NOT NULL DEFAULT ''
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'collation_character_set_applicability'
-ORDER BY ordinal_position;
-COUNT(*)
-2
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'collation_character_set_applicability'
-ORDER BY ordinal_position;
-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
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-
-Testcase 3.2.4.2:
---------------------------------------------------------------------------------
-SELECT * FROM collation_character_set_applicability;
-COLLATION_NAME CHARACTER_SET_NAME
-big5_chinese_ci big5
-big5_bin big5
-dec8_swedish_ci dec8
-dec8_bin dec8
-cp850_general_ci cp850
-cp850_bin cp850
-hp8_english_ci hp8
-hp8_bin hp8
-koi8r_general_ci koi8r
-koi8r_bin koi8r
-latin1_german1_ci latin1
-latin1_swedish_ci latin1
-latin1_danish_ci latin1
-latin1_german2_ci latin1
-latin1_bin latin1
-latin1_general_ci latin1
-latin1_general_cs latin1
-latin1_spanish_ci latin1
-latin2_czech_cs latin2
-latin2_general_ci latin2
-latin2_hungarian_ci latin2
-latin2_croatian_ci latin2
-latin2_bin latin2
-swe7_swedish_ci swe7
-swe7_bin swe7
-ascii_general_ci ascii
-ascii_bin ascii
-ujis_japanese_ci ujis
-ujis_bin ujis
-sjis_japanese_ci sjis
-sjis_bin sjis
-hebrew_general_ci hebrew
-hebrew_bin hebrew
-filename filename
-tis620_thai_ci tis620
-tis620_bin tis620
-euckr_korean_ci euckr
-euckr_bin euckr
-koi8u_general_ci koi8u
-koi8u_bin koi8u
-gb2312_chinese_ci gb2312
-gb2312_bin gb2312
-greek_general_ci greek
-greek_bin greek
-cp1250_general_ci cp1250
-cp1250_czech_cs cp1250
-cp1250_croatian_ci cp1250
-cp1250_bin cp1250
-cp1250_polish_ci cp1250
-gbk_chinese_ci gbk
-gbk_bin gbk
-latin5_turkish_ci latin5
-latin5_bin latin5
-armscii8_general_ci armscii8
-armscii8_bin armscii8
-utf8_general_ci utf8
-utf8_bin utf8
-utf8_unicode_ci utf8
-utf8_icelandic_ci utf8
-utf8_latvian_ci utf8
-utf8_romanian_ci utf8
-utf8_slovenian_ci utf8
-utf8_polish_ci utf8
-utf8_estonian_ci utf8
-utf8_spanish_ci utf8
-utf8_swedish_ci utf8
-utf8_turkish_ci utf8
-utf8_czech_ci utf8
-utf8_danish_ci utf8
-utf8_lithuanian_ci utf8
-utf8_slovak_ci utf8
-utf8_spanish2_ci utf8
-utf8_roman_ci utf8
-utf8_persian_ci utf8
-utf8_esperanto_ci utf8
-utf8_hungarian_ci utf8
-ucs2_general_ci ucs2
-ucs2_bin ucs2
-ucs2_unicode_ci ucs2
-ucs2_icelandic_ci ucs2
-ucs2_latvian_ci ucs2
-ucs2_romanian_ci ucs2
-ucs2_slovenian_ci ucs2
-ucs2_polish_ci ucs2
-ucs2_estonian_ci ucs2
-ucs2_spanish_ci ucs2
-ucs2_swedish_ci ucs2
-ucs2_turkish_ci ucs2
-ucs2_czech_ci ucs2
-ucs2_danish_ci ucs2
-ucs2_lithuanian_ci ucs2
-ucs2_slovak_ci ucs2
-ucs2_spanish2_ci ucs2
-ucs2_roman_ci ucs2
-ucs2_persian_ci ucs2
-ucs2_esperanto_ci ucs2
-ucs2_hungarian_ci ucs2
-cp866_general_ci cp866
-cp866_bin cp866
-keybcs2_general_ci keybcs2
-keybcs2_bin keybcs2
-macce_general_ci macce
-macce_bin macce
-macroman_general_ci macroman
-macroman_bin macroman
-cp852_general_ci cp852
-cp852_bin cp852
-latin7_estonian_cs latin7
-latin7_general_ci latin7
-latin7_general_cs latin7
-latin7_bin latin7
-cp1251_bulgarian_ci cp1251
-cp1251_ukrainian_ci cp1251
-cp1251_bin cp1251
-cp1251_general_ci cp1251
-cp1251_general_cs cp1251
-cp1256_general_ci cp1256
-cp1256_bin cp1256
-cp1257_lithuanian_ci cp1257
-cp1257_bin cp1257
-cp1257_general_ci cp1257
-binary binary
-geostd8_general_ci geostd8
-geostd8_bin geostd8
-cp932_japanese_ci cp932
-cp932_bin cp932
-eucjpms_japanese_ci eucjpms
-eucjpms_bin eucjpms
-
-Testcase 3.2.4.3:
---------------------------------------------------------------------------------
-
-Testcase 3.2.5.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC column_privileges;
-Field Type Null Key Default Extra
-GRANTEE varchar(81) NO
-TABLE_CATALOG varchar(4096) YES NULL
-TABLE_SCHEMA varchar(64) NO
-TABLE_NAME varchar(64) NO
-COLUMN_NAME varchar(64) NO
-PRIVILEGE_TYPE varchar(64) NO
-IS_GRANTABLE varchar(3) NO
-SHOW CREATE TABLE column_privileges;
-Table Create Table
-COLUMN_PRIVILEGES CREATE TEMPORARY TABLE `COLUMN_PRIVILEGES` (
- `GRANTEE` varchar(81) NOT NULL DEFAULT '',
- `TABLE_CATALOG` varchar(4096) DEFAULT NULL,
- `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `TABLE_NAME` varchar(64) NOT NULL DEFAULT '',
- `COLUMN_NAME` varchar(64) NOT NULL DEFAULT '',
- `PRIVILEGE_TYPE` varchar(64) NOT NULL DEFAULT '',
- `IS_GRANTABLE` varchar(3) NOT NULL DEFAULT ''
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'column_privileges'
-ORDER BY ordinal_position;
-COUNT(*)
-7
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'column_privileges'
-ORDER BY ordinal_position;
-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
-NULL information_schema COLUMN_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES COLUMN_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES PRIVILEGE_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES IS_GRANTABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-
-Testcase 3.2.5.2 + 3.2.5.3 + 3.2.5.4:
---------------------------------------------------------------------------------
-CREATE USER 'user_1'@'localhost';
-CREATE USER 'user_2'@'localhost';
-CREATE USER 'user_3'@'localhost';
-DROP DATABASE IF EXISTS db_datadict;
-CREATE DATABASE db_datadict;
-USE db_datadict;
-CREATE TABLE db_datadict.res_t40502 (f1 INT, f2 DECIMAL, f3 TEXT);
-GRANT SELECT(f1, f3) ON db_datadict.res_t40502 TO 'user_1'@'localhost';
-GRANT INSERT(f1) ON db_datadict.res_t40502 TO 'user_1'@'localhost';
-GRANT UPDATE(f2) ON db_datadict.res_t40502 TO 'user_1'@'localhost';
-GRANT SELECT(f2) ON db_datadict.res_t40502 TO 'user_2'@'localhost';
-GRANT INSERT, SELECT ON db_datadict.res_t40502 TO 'user_3'@'localhost';
-GRANT SELECT(f3) ON db_datadict.res_t40502 TO 'user_3'@'localhost';
-GRANT INSERT, SELECT ON db_datadict.res_t40502 TO 'user_3'@'localhost' WITH GRANT OPTION;
-GRANT ALL ON db_datadict.* TO 'user_3'@'localhost';
-SELECT * FROM information_schema.column_privileges
-WHERE grantee LIKE "'user%"
- ORDER BY grantee, table_name, column_name, privilege_type;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL db_datadict res_t40502 f1 INSERT NO
-'user_1'@'localhost' NULL db_datadict res_t40502 f1 SELECT NO
-'user_1'@'localhost' NULL db_datadict res_t40502 f2 UPDATE NO
-'user_1'@'localhost' NULL db_datadict res_t40502 f3 SELECT NO
-'user_2'@'localhost' NULL db_datadict res_t40502 f2 SELECT NO
-'user_3'@'localhost' NULL db_datadict res_t40502 f3 SELECT YES
-
-FIXME: Check it is correct that the following GRANT changes ALL privs that user_1 has
--------------------------------------------------------------------------------------
-GRANT UPDATE(f3) ON db_datadict.res_t40502 TO 'user_1'@'localhost' WITH GRANT OPTION;
-SELECT * FROM information_schema.column_privileges
-WHERE grantee LIKE "'user%"
- ORDER BY grantee, table_name, column_name, privilege_type;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL db_datadict res_t40502 f1 INSERT YES
-'user_1'@'localhost' NULL db_datadict res_t40502 f1 SELECT YES
-'user_1'@'localhost' NULL db_datadict res_t40502 f2 UPDATE YES
-'user_1'@'localhost' NULL db_datadict res_t40502 f3 SELECT YES
-'user_1'@'localhost' NULL db_datadict res_t40502 f3 UPDATE YES
-'user_2'@'localhost' NULL db_datadict res_t40502 f2 SELECT NO
-'user_3'@'localhost' NULL db_datadict res_t40502 f3 SELECT YES
-FLUSH PRIVILEGES;
-connect(localhost,user_1,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.column_privileges
-WHERE grantee LIKE "'user%"
- ORDER BY grantee, table_name, column_name, privilege_type;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL db_datadict res_t40502 f1 INSERT YES
-'user_1'@'localhost' NULL db_datadict res_t40502 f1 SELECT YES
-'user_1'@'localhost' NULL db_datadict res_t40502 f2 UPDATE YES
-'user_1'@'localhost' NULL db_datadict res_t40502 f3 SELECT YES
-'user_1'@'localhost' NULL db_datadict res_t40502 f3 UPDATE YES
-connect(localhost,user_2,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.column_privileges
-WHERE grantee LIKE "'user%"
- ORDER BY grantee, table_name, column_name, privilege_type;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-'user_2'@'localhost' NULL db_datadict res_t40502 f2 SELECT NO
-connect(localhost,user_3,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-
-FIXME: check it is correct that granted TABLES doesn_t occur in COLUMN_PRIVILEGES
----------------------------------------------------------------------------------
-SELECT * FROM information_schema.table_privileges WHERE grantee LIKE "'user%";
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-'user_3'@'localhost' NULL db_datadict res_t40502 SELECT YES
-'user_3'@'localhost' NULL db_datadict res_t40502 INSERT YES
-SELECT * FROM information_schema.schema_privileges WHERE grantee LIKE "'user%";
-GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
-'user_3'@'localhost' NULL db_datadict SELECT NO
-'user_3'@'localhost' NULL db_datadict INSERT NO
-'user_3'@'localhost' NULL db_datadict UPDATE NO
-'user_3'@'localhost' NULL db_datadict DELETE NO
-'user_3'@'localhost' NULL db_datadict CREATE NO
-'user_3'@'localhost' NULL db_datadict DROP NO
-'user_3'@'localhost' NULL db_datadict REFERENCES NO
-'user_3'@'localhost' NULL db_datadict INDEX NO
-'user_3'@'localhost' NULL db_datadict ALTER NO
-'user_3'@'localhost' NULL db_datadict CREATE TEMPORARY TABLES NO
-'user_3'@'localhost' NULL db_datadict LOCK TABLES NO
-'user_3'@'localhost' NULL db_datadict EXECUTE NO
-'user_3'@'localhost' NULL db_datadict CREATE VIEW NO
-'user_3'@'localhost' NULL db_datadict SHOW VIEW NO
-'user_3'@'localhost' NULL db_datadict CREATE ROUTINE NO
-'user_3'@'localhost' NULL db_datadict ALTER ROUTINE NO
-'user_3'@'localhost' NULL db_datadict EVENT NO
-'user_3'@'localhost' NULL db_datadict TRIGGER NO
-SELECT * FROM information_schema.column_privileges
-WHERE grantee LIKE "'user%"
- ORDER BY grantee, table_name, column_name, privilege_type;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-'user_3'@'localhost' NULL db_datadict res_t40502 f3 SELECT YES
-GRANT SELECT(f1, f3) ON db_datadict.res_t40502 TO 'user_2'@'localhost';
-
-FIXME: check whether it is intended that *my* grants to others are *NOT* shown here
------------------------------------------------------------------------------------
-SELECT * FROM information_schema.column_privileges
-WHERE grantee LIKE "'user%"
- ORDER BY grantee, table_name, column_name, privilege_type;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-'user_3'@'localhost' NULL db_datadict res_t40502 f3 SELECT YES
-
-user_2@localhost db_datadict
-SELECT * FROM information_schema.column_privileges
-WHERE grantee LIKE "'user%"
- ORDER BY grantee, table_name, column_name, privilege_type;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-'user_2'@'localhost' NULL db_datadict res_t40502 f1 SELECT NO
-'user_2'@'localhost' NULL db_datadict res_t40502 f2 SELECT NO
-'user_2'@'localhost' NULL db_datadict res_t40502 f3 SELECT NO
-
-root@localhost db_datadict
-DROP TABLE IF EXISTS db_datadict.res_t40502;
-DROP DATABASE IF EXISTS db_datadict;
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP USER 'user_3'@'localhost';
-
-Testcase 3.2.6.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC columns;
-Field Type Null Key Default Extra
-TABLE_CATALOG varchar(4096) YES NULL
-TABLE_SCHEMA varchar(64) NO
-TABLE_NAME varchar(64) NO
-COLUMN_NAME varchar(64) NO
-ORDINAL_POSITION bigint(21) unsigned NO 0
-COLUMN_DEFAULT longtext YES NULL
-IS_NULLABLE varchar(3) NO
-DATA_TYPE varchar(64) NO
-CHARACTER_MAXIMUM_LENGTH bigint(21) unsigned YES NULL
-CHARACTER_OCTET_LENGTH bigint(21) unsigned YES NULL
-NUMERIC_PRECISION bigint(21) unsigned YES NULL
-NUMERIC_SCALE bigint(21) unsigned YES NULL
-CHARACTER_SET_NAME varchar(64) YES NULL
-COLLATION_NAME varchar(64) YES NULL
-COLUMN_TYPE longtext NO
-COLUMN_KEY varchar(3) NO
-EXTRA varchar(20) NO
-PRIVILEGES varchar(80) NO
-COLUMN_COMMENT varchar(255) NO
-SHOW CREATE TABLE columns;
-Table Create Table
-COLUMNS CREATE TEMPORARY TABLE `COLUMNS` (
- `TABLE_CATALOG` varchar(4096) DEFAULT NULL,
- `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `TABLE_NAME` varchar(64) NOT NULL DEFAULT '',
- `COLUMN_NAME` varchar(64) NOT NULL DEFAULT '',
- `ORDINAL_POSITION` bigint(21) unsigned NOT NULL DEFAULT '0',
- `COLUMN_DEFAULT` longtext,
- `IS_NULLABLE` varchar(3) NOT NULL DEFAULT '',
- `DATA_TYPE` varchar(64) NOT NULL DEFAULT '',
- `CHARACTER_MAXIMUM_LENGTH` bigint(21) unsigned DEFAULT NULL,
- `CHARACTER_OCTET_LENGTH` bigint(21) unsigned DEFAULT NULL,
- `NUMERIC_PRECISION` bigint(21) unsigned DEFAULT NULL,
- `NUMERIC_SCALE` bigint(21) unsigned DEFAULT NULL,
- `CHARACTER_SET_NAME` varchar(64) DEFAULT NULL,
- `COLLATION_NAME` varchar(64) DEFAULT NULL,
- `COLUMN_TYPE` longtext NOT NULL,
- `COLUMN_KEY` varchar(3) NOT NULL DEFAULT '',
- `EXTRA` varchar(20) NOT NULL DEFAULT '',
- `PRIVILEGES` varchar(80) NOT NULL DEFAULT '',
- `COLUMN_COMMENT` varchar(255) NOT NULL DEFAULT ''
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'columns'
-ORDER BY ordinal_position;
-COUNT(*)
-19
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'columns'
-ORDER BY ordinal_position;
-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
-NULL information_schema COLUMNS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLUMN_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLUMN_TYPE 15 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema COLUMNS COLUMN_KEY 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLUMNS EXTRA 17 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema COLUMNS PRIVILEGES 18 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema COLUMNS COLUMN_COMMENT 19 NO varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
-
-Testcase 3.2.6.2 + 3.2.6.3:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-CREATE DATABASE db_datadict;
-CREATE USER 'user_1'@'localhost';
-CREATE USER 'user_2'@'localhost';
-USE db_datadict;
-create table t_6_406001(f1 char(10), f2 text, f3 date, f4 int);
-grant select(f1, f2) on db_datadict.t_6_406001 to 'user_1'@'localhost';
-create table t_6_406002(f1 char(10), f2 text, f3 date, f4 int);
-GRANT INSERT(f1, f2) ON db_datadict.t_6_406002 TO 'user_2'@'localhost';
-FLUSH PRIVILEGES;
-SELECT * FROM information_schema.columns
-ORDER BY table_schema, table_name, ordinal_position;
-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
-NULL db_datadict t_6_406001 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select,insert,update,references
-NULL db_datadict t_6_406001 f2 2 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references
-NULL db_datadict t_6_406001 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL db_datadict t_6_406001 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL db_datadict t_6_406002 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select,insert,update,references
-NULL db_datadict t_6_406002 f2 2 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references
-NULL db_datadict t_6_406002 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL db_datadict t_6_406002 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema CHARACTER_SETS DESCRIPTION 3 NO varchar 60 180 NULL NULL utf8 utf8_general_ci varchar(60) select
-NULL information_schema CHARACTER_SETS MAXLEN 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema COLLATIONS COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATIONS CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATIONS ID 3 0 NO bigint NULL NULL 19 0 NULL NULL bigint(11) select
-NULL information_schema COLLATIONS IS_DEFAULT 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLLATIONS IS_COMPILED 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLLATIONS SORTLEN 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLUMN_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLUMN_TYPE 15 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema COLUMNS COLUMN_KEY 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLUMNS EXTRA 17 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema COLUMNS PRIVILEGES 18 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema COLUMNS COLUMN_COMMENT 19 NO varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
-NULL information_schema COLUMN_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES COLUMN_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES PRIVILEGE_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES IS_GRANTABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ENGINES ENGINE 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ENGINES SUPPORT 2 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema ENGINES COMMENT 3 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema ENGINES TRANSACTIONS 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ENGINES XA 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ENGINES SAVEPOINTS 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema EVENTS EVENT_CATALOG 1 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS EVENT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS EVENT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS DEFINER 4 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
-NULL information_schema EVENTS TIME_ZONE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS EVENT_BODY 6 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema EVENTS EVENT_DEFINITION 7 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema EVENTS EVENT_TYPE 8 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
-NULL information_schema EVENTS EXECUTE_AT 9 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS INTERVAL_VALUE 10 NULL YES varchar 256 768 NULL NULL utf8 utf8_general_ci varchar(256) select
-NULL information_schema EVENTS INTERVAL_FIELD 11 NULL YES varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select
-NULL information_schema EVENTS SQL_MODE 12 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema EVENTS STARTS 13 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS ENDS 14 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS STATUS 15 NO varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select
-NULL information_schema EVENTS ON_COMPLETION 16 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema EVENTS CREATED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS LAST_ALTERED 18 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS LAST_EXECUTED 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS EVENT_COMMENT 20 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS ORIGINATOR 21 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select
-NULL information_schema FILES FILE_ID 1 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES FILE_NAME 2 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES FILE_TYPE 3 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema FILES TABLESPACE_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES TABLE_CATALOG 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES TABLE_SCHEMA 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES TABLE_NAME 7 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES LOGFILE_GROUP_NAME 8 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES LOGFILE_GROUP_NUMBER 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES ENGINE 10 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES FULLTEXT_KEYS 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES DELETED_ROWS 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES UPDATE_COUNT 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES FREE_EXTENTS 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES TOTAL_EXTENTS 15 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES EXTENT_SIZE 16 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES INITIAL_SIZE 17 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES MAXIMUM_SIZE 18 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES AUTOEXTEND_SIZE 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES CREATION_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES LAST_UPDATE_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES LAST_ACCESS_TIME 22 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES RECOVER_TIME 23 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES TRANSACTION_COUNTER 24 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES VERSION 25 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES ROW_FORMAT 26 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema FILES TABLE_ROWS 27 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES AVG_ROW_LENGTH 28 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES DATA_LENGTH 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES MAX_DATA_LENGTH 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES INDEX_LENGTH 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES DATA_FREE 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES CREATE_TIME 33 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES UPDATE_TIME 34 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES CHECK_TIME 35 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES CHECKSUM 36 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES STATUS 37 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema FILES EXTRA 38 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
-NULL information_schema GLOBAL_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema GLOBAL_STATUS VARIABLE_VALUE 2 0.0000000 NO decimal NULL NULL 22 7 NULL NULL decimal(22,7) select
-NULL information_schema GLOBAL_VARIABLES VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema GLOBAL_VARIABLES VARIABLE_VALUE 2 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE COLUMN_NAME 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE ORDINAL_POSITION 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select
-NULL information_schema KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(10) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_NAME 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME 12 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema PARTITIONS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS PARTITION_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS SUBPARTITION_NAME 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION 7 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS PARTITION_METHOD 8 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema PARTITIONS SUBPARTITION_METHOD 9 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema PARTITIONS PARTITION_EXPRESSION 10 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PARTITIONS SUBPARTITION_EXPRESSION 11 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PARTITIONS PARTITION_DESCRIPTION 12 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PARTITIONS TABLE_ROWS 13 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS AVG_ROW_LENGTH 14 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS DATA_LENGTH 15 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS MAX_DATA_LENGTH 16 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS INDEX_LENGTH 17 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS DATA_FREE 18 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS CREATE_TIME 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema PARTITIONS UPDATE_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema PARTITIONS CHECK_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema PARTITIONS CHECKSUM 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS PARTITION_COMMENT 23 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema PARTITIONS NODEGROUP 24 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema PARTITIONS TABLESPACE_NAME 25 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_VERSION 2 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema PLUGINS PLUGIN_STATUS 3 NO varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema PLUGINS PLUGIN_TYPE 4 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema PLUGINS PLUGIN_TYPE_VERSION 5 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema PLUGINS PLUGIN_LIBRARY 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_LIBRARY_VERSION 7 NULL YES varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema PLUGINS PLUGIN_AUTHOR 8 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_DESCRIPTION 9 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PLUGINS PLUGIN_LICENSE 10 NULL YES varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema PROCESSLIST ID 1 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema PROCESSLIST USER 2 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema PROCESSLIST HOST 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PROCESSLIST DB 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PROCESSLIST COMMAND 5 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema PROCESSLIST TIME 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(7) select
-NULL information_schema PROCESSLIST STATE 7 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PROCESSLIST INFO 8 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS MATCH_OPTION 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UPDATE_RULE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS DELETE_RULE 9 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS TABLE_NAME 10 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS REFERENCED_TABLE_NAME 11 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES SPECIFIC_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema ROUTINES ROUTINE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_TYPE 5 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
-NULL information_schema ROUTINES DTD_IDENTIFIER 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_BODY 7 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema ROUTINES ROUTINE_DEFINITION 8 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema ROUTINES EXTERNAL_NAME 9 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES EXTERNAL_LANGUAGE 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES PARAMETER_STYLE 11 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema ROUTINES IS_DETERMINISTIC 12 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ROUTINES SQL_DATA_ACCESS 13 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES SQL_PATH 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES SECURITY_TYPE 15 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select
-NULL information_schema ROUTINES CREATED 16 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema ROUTINES LAST_ALTERED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema ROUTINES SQL_MODE 18 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema ROUTINES ROUTINE_COMMENT 19 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES DEFINER 20 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
-NULL information_schema SCHEMATA CATALOG_NAME 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema SCHEMATA SCHEMA_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA DEFAULT_COLLATION_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA SQL_PATH 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema SCHEMA_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema SCHEMA_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMA_PRIVILEGES IS_GRANTABLE 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema SESSION_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SESSION_STATUS VARIABLE_VALUE 2 0.0000000 NO decimal NULL NULL 22 7 NULL NULL decimal(22,7) select
-NULL information_schema SESSION_VARIABLES VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SESSION_VARIABLES VARIABLE_VALUE 2 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema STATISTICS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema STATISTICS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS NON_UNIQUE 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(1) select
-NULL information_schema STATISTICS INDEX_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS INDEX_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS SEQ_IN_INDEX 7 0 NO bigint NULL NULL 19 0 NULL NULL bigint(2) select
-NULL information_schema STATISTICS COLUMN_NAME 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS COLLATION 9 NULL YES varchar 1 3 NULL NULL utf8 utf8_general_ci varchar(1) select
-NULL information_schema STATISTICS CARDINALITY 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select
-NULL information_schema STATISTICS SUB_PART 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema STATISTICS PACKED 12 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema STATISTICS NULLABLE 13 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema STATISTICS INDEX_TYPE 14 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema STATISTICS COMMENT 15 NULL YES varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema TABLES TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
-NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS TABLE_SCHEMA 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS TABLE_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema TABLE_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLE_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES PRIVILEGE_TYPE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES IS_GRANTABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema TRIGGERS TRIGGER_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TRIGGERS TRIGGER_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS TRIGGER_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS EVENT_MANIPULATION 4 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select
-NULL information_schema TRIGGERS EVENT_OBJECT_CATALOG 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TRIGGERS EVENT_OBJECT_SCHEMA 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS EVENT_OBJECT_TABLE 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_ORDER 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema TRIGGERS ACTION_CONDITION 9 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS ACTION_STATEMENT 10 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS ACTION_ORIENTATION 11 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
-NULL information_schema TRIGGERS ACTION_TIMING 12 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_TABLE 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_TABLE 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_ROW 15 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_ROW 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema TRIGGERS CREATED 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TRIGGERS SQL_MODE 18 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS DEFINER 19 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema USER_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema USER_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema USER_PRIVILEGES PRIVILEGE_TYPE 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema USER_PRIVILEGES IS_GRANTABLE 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema VIEWS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema VIEWS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema VIEWS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema VIEWS VIEW_DEFINITION 4 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema VIEWS CHECK_OPTION 5 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema VIEWS IS_UPDATABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema VIEWS DEFINER 7 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
-NULL information_schema VIEWS SECURITY_TYPE 8 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select
-NULL mysql columns_priv Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
-NULL mysql columns_priv Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql columns_priv User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
-NULL mysql columns_priv Table_name 4 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql columns_priv Column_name 5 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql columns_priv Timestamp 6 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql columns_priv Column_priv 7 NO set 31 93 NULL NULL utf8 utf8_general_ci set('Select','Insert','Update','References') select,insert,update,references
-NULL mysql db Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
-NULL mysql db Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql db User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
-NULL mysql db Select_priv 4 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Insert_priv 5 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Update_priv 6 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Delete_priv 7 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Create_priv 8 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Drop_priv 9 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Grant_priv 10 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db References_priv 11 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Index_priv 12 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Alter_priv 13 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Create_tmp_table_priv 14 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Lock_tables_priv 15 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Create_view_priv 16 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Show_view_priv 17 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Create_routine_priv 18 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Alter_routine_priv 19 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Execute_priv 20 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Event_priv 21 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Trigger_priv 22 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql event db 1 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql event name 2 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) PRI select,insert,update,references
-NULL mysql event body 3 NULL NO longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references
-NULL mysql event definer 4 NO char 77 231 NULL NULL utf8 utf8_bin char(77) select,insert,update,references
-NULL mysql event execute_at 5 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL mysql event interval_value 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql event interval_field 7 NULL YES enum 18 54 NULL NULL utf8 utf8_general_ci enum('YEAR','QUARTER','MONTH','DAY','HOUR','MINUTE','WEEK','SECOND','MICROSECOND','YEAR_MONTH','DAY_HOUR','DAY_MINUTE','DAY_SECOND','HOUR_MINUTE','HOUR_SECOND','MINUTE_SECOND','DAY_MICROSECOND','HOUR_MICROSECOND','MINUTE_MICROSECOND','SECOND_MICROSECOND') select,insert,update,references
-NULL mysql event created 8 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql event modified 9 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql event last_executed 10 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL mysql event starts 11 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL mysql event ends 12 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL mysql event status 13 ENABLED NO enum 18 54 NULL NULL utf8 utf8_general_ci enum('ENABLED','DISABLED','SLAVESIDE_DISABLED') select,insert,update,references
-NULL mysql event on_completion 14 DROP NO enum 8 24 NULL NULL utf8 utf8_general_ci enum('DROP','PRESERVE') select,insert,update,references
-NULL mysql event sql_mode 15 NO set 431 1293 NULL NULL utf8 utf8_general_ci set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE') select,insert,update,references
-NULL mysql event comment 16 NO char 64 192 NULL NULL utf8 utf8_bin char(64) select,insert,update,references
-NULL mysql event originator 17 NULL NO int NULL NULL 10 0 NULL NULL int(10) select,insert,update,references
-NULL mysql event time_zone 18 SYSTEM NO char 64 64 NULL NULL latin1 latin1_swedish_ci char(64) select,insert,update,references
-NULL mysql func name 1 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql func ret 2 0 NO tinyint NULL NULL 3 0 NULL NULL tinyint(1) select,insert,update,references
-NULL mysql func dl 3 NO char 128 384 NULL NULL utf8 utf8_bin char(128) select,insert,update,references
-NULL mysql func type 4 NULL NO enum 9 27 NULL NULL utf8 utf8_general_ci enum('function','aggregate') select,insert,update,references
-NULL mysql general_log event_time 1 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql general_log user_host 2 NULL YES mediumtext 16777215 16777215 NULL NULL utf8 utf8_general_ci mediumtext select,insert,update,references
-NULL mysql general_log thread_id 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql general_log server_id 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql general_log command_type 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
-NULL mysql general_log argument 6 NULL YES mediumtext 16777215 16777215 NULL NULL utf8 utf8_general_ci mediumtext select,insert,update,references
-NULL mysql help_category help_category_id 1 NULL NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned PRI select,insert,update,references
-NULL mysql help_category name 2 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) UNI select,insert,update,references
-NULL mysql help_category parent_category_id 3 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references
-NULL mysql help_category url 4 NULL NO char 128 384 NULL NULL utf8 utf8_general_ci char(128) select,insert,update,references
-NULL mysql help_keyword help_keyword_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references
-NULL mysql help_keyword name 2 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) UNI select,insert,update,references
-NULL mysql help_relation help_topic_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references
-NULL mysql help_relation help_keyword_id 2 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references
-NULL mysql help_topic help_topic_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references
-NULL mysql help_topic name 2 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) UNI select,insert,update,references
-NULL mysql help_topic help_category_id 3 NULL NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references
-NULL mysql help_topic description 4 NULL NO text 65535 65535 NULL NULL utf8 utf8_general_ci text select,insert,update,references
-NULL mysql help_topic example 5 NULL NO text 65535 65535 NULL NULL utf8 utf8_general_ci text select,insert,update,references
-NULL mysql help_topic url 6 NULL NO char 128 384 NULL NULL utf8 utf8_general_ci char(128) select,insert,update,references
-NULL mysql host Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
-NULL mysql host Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql host Select_priv 3 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Insert_priv 4 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Update_priv 5 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Delete_priv 6 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Create_priv 7 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Drop_priv 8 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Grant_priv 9 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host References_priv 10 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Index_priv 11 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Alter_priv 12 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Create_tmp_table_priv 13 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Lock_tables_priv 14 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Create_view_priv 15 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Show_view_priv 16 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Create_routine_priv 17 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Alter_routine_priv 18 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Execute_priv 19 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Trigger_priv 20 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql ndb_binlog_index Position 1 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL mysql ndb_binlog_index File 2 NULL NO varchar 255 255 NULL NULL latin1 latin1_swedish_ci varchar(255) select,insert,update,references
-NULL mysql ndb_binlog_index epoch 3 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned PRI select,insert,update,references
-NULL mysql ndb_binlog_index inserts 4 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL mysql ndb_binlog_index updates 5 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL mysql ndb_binlog_index deletes 6 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL mysql ndb_binlog_index schemaops 7 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL mysql plugin name 1 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql plugin dl 2 NO char 128 384 NULL NULL utf8 utf8_bin char(128) select,insert,update,references
-NULL mysql proc db 1 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql proc name 2 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) PRI select,insert,update,references
-NULL mysql proc type 3 NULL NO enum 9 27 NULL NULL utf8 utf8_general_ci enum('FUNCTION','PROCEDURE') PRI select,insert,update,references
-NULL mysql proc specific_name 4 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql proc language 5 SQL NO enum 3 9 NULL NULL utf8 utf8_general_ci enum('SQL') select,insert,update,references
-NULL mysql proc sql_data_access 6 CONTAINS_SQL NO enum 17 51 NULL NULL utf8 utf8_general_ci enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA') select,insert,update,references
-NULL mysql proc is_deterministic 7 NO NO enum 3 9 NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references
-NULL mysql proc security_type 8 DEFINER NO enum 7 21 NULL NULL utf8 utf8_general_ci enum('INVOKER','DEFINER') select,insert,update,references
-NULL mysql proc param_list 9 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
-NULL mysql proc returns 10 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql proc body 11 NULL NO longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references
-NULL mysql proc definer 12 NO char 77 231 NULL NULL utf8 utf8_bin char(77) select,insert,update,references
-NULL mysql proc created 13 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql proc modified 14 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql proc sql_mode 15 NO set 431 1293 NULL NULL utf8 utf8_general_ci set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE') select,insert,update,references
-NULL mysql proc comment 16 NO char 64 192 NULL NULL utf8 utf8_bin char(64) select,insert,update,references
-NULL mysql procs_priv Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
-NULL mysql procs_priv Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql procs_priv User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
-NULL mysql procs_priv Routine_name 4 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql procs_priv Routine_type 5 NULL NO enum 9 27 NULL NULL utf8 utf8_bin enum('FUNCTION','PROCEDURE') PRI select,insert,update,references
-NULL mysql procs_priv Grantor 6 NO char 77 231 NULL NULL utf8 utf8_bin char(77) MUL select,insert,update,references
-NULL mysql procs_priv Proc_priv 7 NO set 27 81 NULL NULL utf8 utf8_general_ci set('Execute','Alter Routine','Grant') select,insert,update,references
-NULL mysql procs_priv Timestamp 8 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql servers Server_name 1 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) PRI select,insert,update,references
-NULL mysql servers Host 2 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql servers Db 3 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql servers Username 4 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql servers Password 5 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql servers Port 6 0 NO int NULL NULL 10 0 NULL NULL int(4) select,insert,update,references
-NULL mysql servers Socket 7 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql servers Wrapper 8 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql servers Owner 9 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql slow_log start_time 1 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql slow_log user_host 2 NULL NO mediumtext 16777215 16777215 NULL NULL utf8 utf8_general_ci mediumtext select,insert,update,references
-NULL mysql slow_log query_time 3 NULL NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references
-NULL mysql slow_log lock_time 4 NULL NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references
-NULL mysql slow_log rows_sent 5 NULL NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql slow_log rows_examined 6 NULL NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql slow_log db 7 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select,insert,update,references
-NULL mysql slow_log last_insert_id 8 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql slow_log insert_id 9 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql slow_log server_id 10 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql slow_log sql_text 11 NULL NO mediumtext 16777215 16777215 NULL NULL utf8 utf8_general_ci mediumtext select,insert,update,references
-NULL mysql tables_priv Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
-NULL mysql tables_priv Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql tables_priv User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
-NULL mysql tables_priv Table_name 4 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql tables_priv Grantor 5 NO char 77 231 NULL NULL utf8 utf8_bin char(77) MUL select,insert,update,references
-NULL mysql tables_priv Timestamp 6 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql tables_priv Table_priv 7 NO set 98 294 NULL NULL utf8 utf8_general_ci set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view','Trigger') select,insert,update,references
-NULL mysql tables_priv Column_priv 8 NO set 31 93 NULL NULL utf8 utf8_general_ci set('Select','Insert','Update','References') select,insert,update,references
-NULL mysql time_zone Time_zone_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI auto_increment select,insert,update,references
-NULL mysql time_zone Use_leap_seconds 2 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('Y','N') select,insert,update,references
-NULL mysql time_zone_leap_second Transition_time 1 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) PRI select,insert,update,references
-NULL mysql time_zone_leap_second Correction 2 NULL NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql time_zone_name Name 1 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) PRI select,insert,update,references
-NULL mysql time_zone_name Time_zone_id 2 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references
-NULL mysql time_zone_transition Time_zone_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references
-NULL mysql time_zone_transition Transition_time 2 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) PRI select,insert,update,references
-NULL mysql time_zone_transition Transition_type_id 3 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references
-NULL mysql time_zone_transition_type Time_zone_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references
-NULL 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
-NULL mysql time_zone_transition_type Offset 3 0 NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql time_zone_transition_type Is_DST 4 0 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references
-NULL mysql time_zone_transition_type Abbreviation 5 NO char 8 24 NULL NULL utf8 utf8_general_ci char(8) select,insert,update,references
-NULL mysql user Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
-NULL mysql user User 2 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
-NULL mysql user Password 3 NO char 41 41 NULL NULL latin1 latin1_bin char(41) select,insert,update,references
-NULL mysql user Select_priv 4 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Insert_priv 5 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Update_priv 6 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Delete_priv 7 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Create_priv 8 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Drop_priv 9 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Reload_priv 10 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Shutdown_priv 11 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Process_priv 12 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user File_priv 13 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Grant_priv 14 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user References_priv 15 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Index_priv 16 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Alter_priv 17 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Show_db_priv 18 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Super_priv 19 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Create_tmp_table_priv 20 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Lock_tables_priv 21 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Execute_priv 22 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Repl_slave_priv 23 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Repl_client_priv 24 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Create_view_priv 25 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Show_view_priv 26 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Create_routine_priv 27 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Alter_routine_priv 28 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Create_user_priv 29 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Event_priv 30 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Trigger_priv 31 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user ssl_type 32 NO enum 9 27 NULL NULL utf8 utf8_general_ci enum('','ANY','X509','SPECIFIED') select,insert,update,references
-NULL mysql user ssl_cipher 33 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
-NULL mysql user x509_issuer 34 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
-NULL mysql user x509_subject 35 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
-NULL mysql user max_questions 36 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references
-NULL mysql user max_updates 37 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references
-NULL mysql user max_connections 38 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references
-NULL mysql user max_user_connections 39 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references
-NULL test t1 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t1 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t1 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t1 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t1 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t1 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t10 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t10 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t10 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t10 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t10 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t10 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t11 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t11 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t11 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t11 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t11 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t11 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t2 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t2 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t2 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t2 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t2 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t2 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t3 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t3 f2 2 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t3 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t4 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t4 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t4 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t4 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t4 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t4 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t7 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t7 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t7 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t7 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t8 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t8 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t8 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t8 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t9 f1 1 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t9 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t9 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test tb1 f1 1 NULL YES char 0 0 NULL NULL latin1 latin1_swedish_ci char(0) select,insert,update,references
-NULL test tb1 f2 2 NULL YES char 0 0 NULL NULL latin1 latin1_bin char(0) select,insert,update,references
-NULL test tb1 f3 3 NULL YES char 0 0 NULL NULL latin1 latin1_swedish_ci char(0) select,insert,update,references
-NULL test tb1 f4 4 NULL YES tinytext 127 255 NULL NULL ucs2 ucs2_general_ci tinytext select,insert,update,references
-NULL test tb1 f5 5 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references
-NULL test tb1 f6 6 NULL YES mediumtext 16777215 16777215 NULL NULL latin1 latin1_swedish_ci mediumtext select,insert,update,references
-NULL test tb1 f7 7 NULL YES longtext 4294967295 4294967295 NULL NULL latin1 latin1_swedish_ci longtext select,insert,update,references
-NULL test tb1 f8 8 NULL YES tinyblob 255 255 NULL NULL NULL NULL tinyblob select,insert,update,references
-NULL test tb1 f9 9 NULL YES blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
-NULL test tb1 f10 10 NULL YES mediumblob 16777215 16777215 NULL NULL NULL NULL mediumblob select,insert,update,references
-NULL test tb1 f11 11 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references
-NULL test tb1 f12 12 NULL YES binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references
-NULL test tb1 f13 13 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references
-NULL test tb1 f14 14 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references
-NULL test tb1 f15 15 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb1 f16 16 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb1 f17 17 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references
-NULL test tb1 f18 18 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references
-NULL test tb1 f19 19 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb1 f20 20 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb1 f21 21 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references
-NULL test tb1 f22 22 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references
-NULL test tb1 f23 23 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb1 f24 24 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb1 f25 25 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test tb1 f26 26 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references
-NULL test tb1 f27 27 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb1 f28 28 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb1 f29 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references
-NULL test tb1 f30 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL test tb1 f31 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb1 f32 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb1 f33 33 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f34 34 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f35 35 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f36 36 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f37 37 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f38 38 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb1 f39 39 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f40 40 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb1 f41 41 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f42 42 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f43 43 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f44 44 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f45 45 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f46 46 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb1 f47 47 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f48 48 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb1 f49 49 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f50 50 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb1 f51 51 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f52 52 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb1 f53 53 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f54 54 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f55 55 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f56 56 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f57 57 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f58 58 99 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb2 f59 1 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb2 f60 2 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb2 f61 3 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f62 4 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f63 5 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f64 6 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f65 7 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb2 f66 8 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb2 f67 9 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb2 f68 10 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb2 f69 11 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f70 12 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb2 f71 13 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f72 14 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb2 f73 15 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb2 f74 16 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb2 f75 17 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f76 18 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f77 19 7.7 YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb2 f78 20 7.7 YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb2 f79 21 00000000000000000007.7 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f80 22 00000000000000000008.8 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f81 23 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f82 24 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f83 25 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f84 26 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f85 27 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f86 28 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f87 29 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f88 30 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f89 31 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f90 32 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f91 33 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f92 34 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f93 35 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f94 36 8.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb2 f95 37 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f96 38 8.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb2 f97 39 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f98 40 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f99 41 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f100 42 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f101 43 2000-01-01 NO date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test tb2 f102 44 00:00:20 NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references
-NULL test tb2 f103 45 0002-02-02 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL test tb2 f104 46 2000-12-31 23:59:59 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL test tb2 f105 47 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb2 f106 48 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb2 f107 49 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb2 f108 50 1enum NO enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references
-NULL test tb2 f109 51 1set NO set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references
-NULL test tb3 f118 1 a NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
-NULL test tb3 f119 2  NO char 1 1 NULL NULL latin1 latin1_bin char(1) select,insert,update,references
-NULL test tb3 f120 3  NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
-NULL test tb3 f121 4 NULL YES tinytext 255 255 NULL NULL latin1 latin1_swedish_ci tinytext select,insert,update,references
-NULL test tb3 f122 5 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references
-NULL test tb3 f123 6 NULL YES mediumtext 16777215 16777215 NULL NULL latin1 latin1_swedish_ci mediumtext select,insert,update,references
-NULL test tb3 f124 7 NULL YES longtext 2147483647 4294967295 NULL NULL ucs2 ucs2_general_ci longtext select,insert,update,references
-NULL test tb3 f125 8 NULL YES tinyblob 255 255 NULL NULL NULL NULL tinyblob select,insert,update,references
-NULL test tb3 f126 9 NULL YES blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
-NULL test tb3 f127 10 NULL YES mediumblob 16777215 16777215 NULL NULL NULL NULL mediumblob select,insert,update,references
-NULL test tb3 f128 11 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references
-NULL test tb3 f129 12  NO binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references
-NULL test tb3 f130 13 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references
-NULL test tb3 f131 14 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references
-NULL test tb3 f132 15 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb3 f133 16 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb3 f134 17 999 NO smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references
-NULL test tb3 f135 18 999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references
-NULL test tb3 f136 19 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb3 f137 20 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb3 f138 21 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references
-NULL test tb3 f139 22 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references
-NULL test tb3 f140 23 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb3 f141 24 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb3 f142 25 99999 NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test tb3 f143 26 99999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references
-NULL test tb3 f144 27 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb3 f145 28 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb3 f146 29 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references
-NULL test tb3 f147 30 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL test tb3 f148 31 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb3 f149 32 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb3 f150 33 1000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f151 34 999 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f152 35 0000001000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f153 36 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f154 37 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f155 38 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb3 f156 39 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f157 40 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb3 f158 41 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f159 42 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f160 43 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f161 44 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f162 45 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f163 46 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb3 f164 47 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f165 48 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb3 f166 49 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f167 50 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb3 f168 51 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f169 52 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb3 f170 53 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f171 54 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f172 55 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f173 56 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f174 57 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f175 58 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb4 f176 1 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb4 f177 2 9 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb4 f178 3 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f179 4 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f180 5 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f181 6 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f182 7 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb4 f183 8 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb4 f184 9 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb4 f185 10 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb4 f186 11 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f187 12 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb4 f188 13 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f189 14 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb4 f190 15 88.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb4 f191 16 88.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb4 f192 17 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f193 18 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f194 19 55.5 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb4 f195 20 55.5 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb4 f196 21 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f197 22 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f198 23 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f199 24 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f200 25 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f201 26 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f202 27 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f203 28 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f204 29 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f205 30 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f206 31 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f207 32 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f208 33 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f209 34 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f210 35 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f211 36 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb4 f212 37 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f213 38 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb4 f214 39 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f215 40 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f216 41 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f217 42 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f218 43 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test tb4 f219 44 NULL YES time NULL NULL NULL NULL NULL NULL time select,insert,update,references
-NULL test tb4 f220 45 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL test tb4 f221 46 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL test tb4 f222 47 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb4 f223 48 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb4 f224 49 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb4 f225 50 NULL YES enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references
-NULL test tb4 f226 51 NULL YES set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references
-NULL test tb4 f235 52 NULL YES char 0 0 NULL NULL ucs2 ucs2_general_ci char(0) select,insert,update,references
-NULL test tb4 f236 53 NULL YES char 90 90 NULL NULL latin1 latin1_swedish_ci char(90) select,insert,update,references
-NULL test tb4 f237 54 NULL YES char 255 255 NULL NULL latin1 latin1_swedish_ci char(255) select,insert,update,references
-NULL test tb4 f238 55 NULL YES varchar 0 0 NULL NULL latin1 latin1_swedish_ci varchar(0) select,insert,update,references
-NULL test tb4 f239 56 NULL YES varchar 20000 20000 NULL NULL latin1 latin1_bin varchar(20000) select,insert,update,references
-NULL test tb4 f240 57 NULL YES varchar 2000 4000 NULL NULL ucs2 ucs2_general_ci varchar(2000) select,insert,update,references
-NULL test tb4 f241 58 NULL YES char 100 200 NULL NULL ucs2 ucs2_general_ci char(100) select,insert,update,references
-NULL test1 tb2 f59 1 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test1 tb2 f60 2 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test1 tb2 f61 3 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test1 tb2 f62 4 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test1 tb2 f63 5 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test1 tb2 f64 6 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test1 tb2 f65 7 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test1 tb2 f66 8 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test1 tb2 f67 9 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test1 tb2 f68 10 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test1 tb2 f69 11 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test1 tb2 f70 12 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test1 tb2 f71 13 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test1 tb2 f72 14 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test1 tb2 f73 15 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test1 tb2 f74 16 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test1 tb2 f75 17 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test1 tb2 f76 18 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test1 tb2 f77 19 7.7 YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test1 tb2 f78 20 7.7 YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test1 tb2 f79 21 00000000000000000007.7 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test1 tb2 f80 22 00000000000000000008.8 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test1 tb2 f81 23 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test1 tb2 f82 24 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test1 tb2 f83 25 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test1 tb2 f84 26 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test1 tb2 f85 27 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test1 tb2 f86 28 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test1 tb2 f87 29 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test1 tb2 f88 30 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test1 tb2 f89 31 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test1 tb2 f90 32 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test1 tb2 f91 33 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test1 tb2 f92 34 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test1 tb2 f93 35 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test1 tb2 f94 36 8.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test1 tb2 f95 37 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test1 tb2 f96 38 8.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test1 tb2 f97 39 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test1 tb2 f98 40 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test1 tb2 f99 41 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test1 tb2 f100 42 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test1 tb2 f101 43 2000-01-01 NO date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test1 tb2 f102 44 00:00:20 NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references
-NULL test1 tb2 f103 45 0002-02-02 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL test1 tb2 f104 46 2000-12-31 23:59:59 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL test1 tb2 f105 47 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test1 tb2 f106 48 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test1 tb2 f107 49 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test1 tb2 f108 50 1enum NO enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references
-NULL test1 tb2 f109 51 1set NO set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references
-NULL test4 t6 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test4 t6 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test4 t6 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test4 t6 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test4 t6 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test4 t6 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-connect(localhost,user_1,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.columns
-ORDER BY table_schema, table_name, ordinal_position;
-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
-NULL db_datadict t_6_406001 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select
-NULL db_datadict t_6_406001 f2 2 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select
-NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema CHARACTER_SETS DESCRIPTION 3 NO varchar 60 180 NULL NULL utf8 utf8_general_ci varchar(60) select
-NULL information_schema CHARACTER_SETS MAXLEN 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema COLLATIONS COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATIONS CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATIONS ID 3 0 NO bigint NULL NULL 19 0 NULL NULL bigint(11) select
-NULL information_schema COLLATIONS IS_DEFAULT 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLLATIONS IS_COMPILED 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLLATIONS SORTLEN 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLUMN_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLUMN_TYPE 15 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema COLUMNS COLUMN_KEY 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLUMNS EXTRA 17 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema COLUMNS PRIVILEGES 18 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema COLUMNS COLUMN_COMMENT 19 NO varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
-NULL information_schema COLUMN_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES COLUMN_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES PRIVILEGE_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES IS_GRANTABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ENGINES ENGINE 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ENGINES SUPPORT 2 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema ENGINES COMMENT 3 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema ENGINES TRANSACTIONS 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ENGINES XA 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ENGINES SAVEPOINTS 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema EVENTS EVENT_CATALOG 1 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS EVENT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS EVENT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS DEFINER 4 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
-NULL information_schema EVENTS TIME_ZONE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS EVENT_BODY 6 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema EVENTS EVENT_DEFINITION 7 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema EVENTS EVENT_TYPE 8 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
-NULL information_schema EVENTS EXECUTE_AT 9 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS INTERVAL_VALUE 10 NULL YES varchar 256 768 NULL NULL utf8 utf8_general_ci varchar(256) select
-NULL information_schema EVENTS INTERVAL_FIELD 11 NULL YES varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select
-NULL information_schema EVENTS SQL_MODE 12 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema EVENTS STARTS 13 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS ENDS 14 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS STATUS 15 NO varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select
-NULL information_schema EVENTS ON_COMPLETION 16 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema EVENTS CREATED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS LAST_ALTERED 18 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS LAST_EXECUTED 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS EVENT_COMMENT 20 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS ORIGINATOR 21 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select
-NULL information_schema FILES FILE_ID 1 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES FILE_NAME 2 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES FILE_TYPE 3 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema FILES TABLESPACE_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES TABLE_CATALOG 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES TABLE_SCHEMA 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES TABLE_NAME 7 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES LOGFILE_GROUP_NAME 8 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES LOGFILE_GROUP_NUMBER 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES ENGINE 10 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES FULLTEXT_KEYS 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES DELETED_ROWS 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES UPDATE_COUNT 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES FREE_EXTENTS 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES TOTAL_EXTENTS 15 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES EXTENT_SIZE 16 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES INITIAL_SIZE 17 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES MAXIMUM_SIZE 18 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES AUTOEXTEND_SIZE 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES CREATION_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES LAST_UPDATE_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES LAST_ACCESS_TIME 22 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES RECOVER_TIME 23 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES TRANSACTION_COUNTER 24 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES VERSION 25 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES ROW_FORMAT 26 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema FILES TABLE_ROWS 27 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES AVG_ROW_LENGTH 28 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES DATA_LENGTH 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES MAX_DATA_LENGTH 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES INDEX_LENGTH 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES DATA_FREE 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES CREATE_TIME 33 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES UPDATE_TIME 34 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES CHECK_TIME 35 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES CHECKSUM 36 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES STATUS 37 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema FILES EXTRA 38 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
-NULL information_schema GLOBAL_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema GLOBAL_STATUS VARIABLE_VALUE 2 0.0000000 NO decimal NULL NULL 22 7 NULL NULL decimal(22,7) select
-NULL information_schema GLOBAL_VARIABLES VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema GLOBAL_VARIABLES VARIABLE_VALUE 2 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE COLUMN_NAME 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE ORDINAL_POSITION 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select
-NULL information_schema KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(10) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_NAME 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME 12 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema PARTITIONS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS PARTITION_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS SUBPARTITION_NAME 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION 7 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS PARTITION_METHOD 8 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema PARTITIONS SUBPARTITION_METHOD 9 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema PARTITIONS PARTITION_EXPRESSION 10 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PARTITIONS SUBPARTITION_EXPRESSION 11 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PARTITIONS PARTITION_DESCRIPTION 12 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PARTITIONS TABLE_ROWS 13 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS AVG_ROW_LENGTH 14 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS DATA_LENGTH 15 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS MAX_DATA_LENGTH 16 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS INDEX_LENGTH 17 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS DATA_FREE 18 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS CREATE_TIME 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema PARTITIONS UPDATE_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema PARTITIONS CHECK_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema PARTITIONS CHECKSUM 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS PARTITION_COMMENT 23 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema PARTITIONS NODEGROUP 24 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema PARTITIONS TABLESPACE_NAME 25 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_VERSION 2 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema PLUGINS PLUGIN_STATUS 3 NO varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema PLUGINS PLUGIN_TYPE 4 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema PLUGINS PLUGIN_TYPE_VERSION 5 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema PLUGINS PLUGIN_LIBRARY 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_LIBRARY_VERSION 7 NULL YES varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema PLUGINS PLUGIN_AUTHOR 8 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_DESCRIPTION 9 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PLUGINS PLUGIN_LICENSE 10 NULL YES varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema PROCESSLIST ID 1 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema PROCESSLIST USER 2 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema PROCESSLIST HOST 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PROCESSLIST DB 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PROCESSLIST COMMAND 5 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema PROCESSLIST TIME 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(7) select
-NULL information_schema PROCESSLIST STATE 7 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PROCESSLIST INFO 8 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS MATCH_OPTION 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UPDATE_RULE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS DELETE_RULE 9 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS TABLE_NAME 10 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS REFERENCED_TABLE_NAME 11 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES SPECIFIC_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema ROUTINES ROUTINE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_TYPE 5 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
-NULL information_schema ROUTINES DTD_IDENTIFIER 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_BODY 7 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema ROUTINES ROUTINE_DEFINITION 8 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema ROUTINES EXTERNAL_NAME 9 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES EXTERNAL_LANGUAGE 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES PARAMETER_STYLE 11 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema ROUTINES IS_DETERMINISTIC 12 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ROUTINES SQL_DATA_ACCESS 13 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES SQL_PATH 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES SECURITY_TYPE 15 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select
-NULL information_schema ROUTINES CREATED 16 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema ROUTINES LAST_ALTERED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema ROUTINES SQL_MODE 18 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema ROUTINES ROUTINE_COMMENT 19 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES DEFINER 20 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
-NULL information_schema SCHEMATA CATALOG_NAME 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema SCHEMATA SCHEMA_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA DEFAULT_COLLATION_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA SQL_PATH 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema SCHEMA_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema SCHEMA_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMA_PRIVILEGES IS_GRANTABLE 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema SESSION_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SESSION_STATUS VARIABLE_VALUE 2 0.0000000 NO decimal NULL NULL 22 7 NULL NULL decimal(22,7) select
-NULL information_schema SESSION_VARIABLES VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SESSION_VARIABLES VARIABLE_VALUE 2 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema STATISTICS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema STATISTICS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS NON_UNIQUE 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(1) select
-NULL information_schema STATISTICS INDEX_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS INDEX_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS SEQ_IN_INDEX 7 0 NO bigint NULL NULL 19 0 NULL NULL bigint(2) select
-NULL information_schema STATISTICS COLUMN_NAME 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS COLLATION 9 NULL YES varchar 1 3 NULL NULL utf8 utf8_general_ci varchar(1) select
-NULL information_schema STATISTICS CARDINALITY 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select
-NULL information_schema STATISTICS SUB_PART 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema STATISTICS PACKED 12 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema STATISTICS NULLABLE 13 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema STATISTICS INDEX_TYPE 14 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema STATISTICS COMMENT 15 NULL YES varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema TABLES TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
-NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS TABLE_SCHEMA 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS TABLE_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema TABLE_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLE_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES PRIVILEGE_TYPE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES IS_GRANTABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema TRIGGERS TRIGGER_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TRIGGERS TRIGGER_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS TRIGGER_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS EVENT_MANIPULATION 4 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select
-NULL information_schema TRIGGERS EVENT_OBJECT_CATALOG 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TRIGGERS EVENT_OBJECT_SCHEMA 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS EVENT_OBJECT_TABLE 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_ORDER 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema TRIGGERS ACTION_CONDITION 9 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS ACTION_STATEMENT 10 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS ACTION_ORIENTATION 11 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
-NULL information_schema TRIGGERS ACTION_TIMING 12 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_TABLE 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_TABLE 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_ROW 15 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_ROW 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema TRIGGERS CREATED 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TRIGGERS SQL_MODE 18 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS DEFINER 19 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema USER_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema USER_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema USER_PRIVILEGES PRIVILEGE_TYPE 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema USER_PRIVILEGES IS_GRANTABLE 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema VIEWS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema VIEWS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema VIEWS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema VIEWS VIEW_DEFINITION 4 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema VIEWS CHECK_OPTION 5 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema VIEWS IS_UPDATABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema VIEWS DEFINER 7 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
-NULL information_schema VIEWS SECURITY_TYPE 8 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select
-NULL test t1 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t1 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t1 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t1 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t1 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t1 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t10 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t10 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t10 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t10 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t10 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t10 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t11 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t11 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t11 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t11 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t11 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t11 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t2 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t2 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t2 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t2 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t2 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t2 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t3 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t3 f2 2 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t3 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t4 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t4 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t4 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t4 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t4 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t4 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t7 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t7 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t7 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t7 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t8 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t8 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t8 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t8 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t9 f1 1 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t9 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t9 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test tb1 f1 1 NULL YES char 0 0 NULL NULL latin1 latin1_swedish_ci char(0) select,insert,update,references
-NULL test tb1 f2 2 NULL YES char 0 0 NULL NULL latin1 latin1_bin char(0) select,insert,update,references
-NULL test tb1 f3 3 NULL YES char 0 0 NULL NULL latin1 latin1_swedish_ci char(0) select,insert,update,references
-NULL test tb1 f4 4 NULL YES tinytext 127 255 NULL NULL ucs2 ucs2_general_ci tinytext select,insert,update,references
-NULL test tb1 f5 5 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references
-NULL test tb1 f6 6 NULL YES mediumtext 16777215 16777215 NULL NULL latin1 latin1_swedish_ci mediumtext select,insert,update,references
-NULL test tb1 f7 7 NULL YES longtext 4294967295 4294967295 NULL NULL latin1 latin1_swedish_ci longtext select,insert,update,references
-NULL test tb1 f8 8 NULL YES tinyblob 255 255 NULL NULL NULL NULL tinyblob select,insert,update,references
-NULL test tb1 f9 9 NULL YES blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
-NULL test tb1 f10 10 NULL YES mediumblob 16777215 16777215 NULL NULL NULL NULL mediumblob select,insert,update,references
-NULL test tb1 f11 11 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references
-NULL test tb1 f12 12 NULL YES binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references
-NULL test tb1 f13 13 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references
-NULL test tb1 f14 14 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references
-NULL test tb1 f15 15 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb1 f16 16 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb1 f17 17 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references
-NULL test tb1 f18 18 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references
-NULL test tb1 f19 19 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb1 f20 20 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb1 f21 21 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references
-NULL test tb1 f22 22 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references
-NULL test tb1 f23 23 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb1 f24 24 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb1 f25 25 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test tb1 f26 26 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references
-NULL test tb1 f27 27 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb1 f28 28 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb1 f29 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references
-NULL test tb1 f30 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL test tb1 f31 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb1 f32 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb1 f33 33 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f34 34 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f35 35 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f36 36 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f37 37 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f38 38 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb1 f39 39 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f40 40 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb1 f41 41 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f42 42 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f43 43 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f44 44 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f45 45 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f46 46 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb1 f47 47 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f48 48 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb1 f49 49 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f50 50 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb1 f51 51 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f52 52 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb1 f53 53 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f54 54 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f55 55 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f56 56 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f57 57 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f58 58 99 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb2 f59 1 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb2 f60 2 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb2 f61 3 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f62 4 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f63 5 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f64 6 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f65 7 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb2 f66 8 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb2 f67 9 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb2 f68 10 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb2 f69 11 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f70 12 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb2 f71 13 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f72 14 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb2 f73 15 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb2 f74 16 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb2 f75 17 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f76 18 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f77 19 7.7 YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb2 f78 20 7.7 YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb2 f79 21 00000000000000000007.7 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f80 22 00000000000000000008.8 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f81 23 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f82 24 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f83 25 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f84 26 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f85 27 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f86 28 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f87 29 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f88 30 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f89 31 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f90 32 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f91 33 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f92 34 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f93 35 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f94 36 8.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb2 f95 37 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f96 38 8.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb2 f97 39 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f98 40 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f99 41 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f100 42 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f101 43 2000-01-01 NO date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test tb2 f102 44 00:00:20 NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references
-NULL test tb2 f103 45 0002-02-02 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL test tb2 f104 46 2000-12-31 23:59:59 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL test tb2 f105 47 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb2 f106 48 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb2 f107 49 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb2 f108 50 1enum NO enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references
-NULL test tb2 f109 51 1set NO set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references
-NULL test tb3 f118 1 a NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
-NULL test tb3 f119 2  NO char 1 1 NULL NULL latin1 latin1_bin char(1) select,insert,update,references
-NULL test tb3 f120 3  NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
-NULL test tb3 f121 4 NULL YES tinytext 255 255 NULL NULL latin1 latin1_swedish_ci tinytext select,insert,update,references
-NULL test tb3 f122 5 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references
-NULL test tb3 f123 6 NULL YES mediumtext 16777215 16777215 NULL NULL latin1 latin1_swedish_ci mediumtext select,insert,update,references
-NULL test tb3 f124 7 NULL YES longtext 2147483647 4294967295 NULL NULL ucs2 ucs2_general_ci longtext select,insert,update,references
-NULL test tb3 f125 8 NULL YES tinyblob 255 255 NULL NULL NULL NULL tinyblob select,insert,update,references
-NULL test tb3 f126 9 NULL YES blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
-NULL test tb3 f127 10 NULL YES mediumblob 16777215 16777215 NULL NULL NULL NULL mediumblob select,insert,update,references
-NULL test tb3 f128 11 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references
-NULL test tb3 f129 12  NO binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references
-NULL test tb3 f130 13 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references
-NULL test tb3 f131 14 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references
-NULL test tb3 f132 15 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb3 f133 16 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb3 f134 17 999 NO smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references
-NULL test tb3 f135 18 999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references
-NULL test tb3 f136 19 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb3 f137 20 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb3 f138 21 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references
-NULL test tb3 f139 22 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references
-NULL test tb3 f140 23 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb3 f141 24 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb3 f142 25 99999 NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test tb3 f143 26 99999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references
-NULL test tb3 f144 27 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb3 f145 28 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb3 f146 29 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references
-NULL test tb3 f147 30 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL test tb3 f148 31 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb3 f149 32 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb3 f150 33 1000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f151 34 999 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f152 35 0000001000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f153 36 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f154 37 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f155 38 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb3 f156 39 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f157 40 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb3 f158 41 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f159 42 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f160 43 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f161 44 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f162 45 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f163 46 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb3 f164 47 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f165 48 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb3 f166 49 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f167 50 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb3 f168 51 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f169 52 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb3 f170 53 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f171 54 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f172 55 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f173 56 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f174 57 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f175 58 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb4 f176 1 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb4 f177 2 9 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb4 f178 3 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f179 4 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f180 5 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f181 6 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f182 7 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb4 f183 8 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb4 f184 9 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb4 f185 10 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb4 f186 11 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f187 12 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb4 f188 13 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f189 14 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb4 f190 15 88.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb4 f191 16 88.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb4 f192 17 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f193 18 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f194 19 55.5 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb4 f195 20 55.5 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb4 f196 21 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f197 22 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f198 23 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f199 24 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f200 25 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f201 26 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f202 27 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f203 28 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f204 29 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f205 30 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f206 31 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f207 32 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f208 33 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f209 34 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f210 35 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f211 36 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb4 f212 37 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f213 38 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb4 f214 39 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f215 40 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f216 41 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f217 42 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f218 43 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test tb4 f219 44 NULL YES time NULL NULL NULL NULL NULL NULL time select,insert,update,references
-NULL test tb4 f220 45 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL test tb4 f221 46 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL test tb4 f222 47 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb4 f223 48 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb4 f224 49 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb4 f225 50 NULL YES enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references
-NULL test tb4 f226 51 NULL YES set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references
-NULL test tb4 f235 52 NULL YES char 0 0 NULL NULL ucs2 ucs2_general_ci char(0) select,insert,update,references
-NULL test tb4 f236 53 NULL YES char 90 90 NULL NULL latin1 latin1_swedish_ci char(90) select,insert,update,references
-NULL test tb4 f237 54 NULL YES char 255 255 NULL NULL latin1 latin1_swedish_ci char(255) select,insert,update,references
-NULL test tb4 f238 55 NULL YES varchar 0 0 NULL NULL latin1 latin1_swedish_ci varchar(0) select,insert,update,references
-NULL test tb4 f239 56 NULL YES varchar 20000 20000 NULL NULL latin1 latin1_bin varchar(20000) select,insert,update,references
-NULL test tb4 f240 57 NULL YES varchar 2000 4000 NULL NULL ucs2 ucs2_general_ci varchar(2000) select,insert,update,references
-NULL test tb4 f241 58 NULL YES char 100 200 NULL NULL ucs2 ucs2_general_ci char(100) select,insert,update,references
-connect(localhost,user_2,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.columns
-ORDER BY table_schema, table_name, ordinal_position;
-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
-NULL db_datadict t_6_406002 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) insert
-NULL db_datadict t_6_406002 f2 2 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text insert
-NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema CHARACTER_SETS DESCRIPTION 3 NO varchar 60 180 NULL NULL utf8 utf8_general_ci varchar(60) select
-NULL information_schema CHARACTER_SETS MAXLEN 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema COLLATIONS COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATIONS CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATIONS ID 3 0 NO bigint NULL NULL 19 0 NULL NULL bigint(11) select
-NULL information_schema COLLATIONS IS_DEFAULT 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLLATIONS IS_COMPILED 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLLATIONS SORTLEN 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLUMN_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLUMN_TYPE 15 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema COLUMNS COLUMN_KEY 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLUMNS EXTRA 17 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema COLUMNS PRIVILEGES 18 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema COLUMNS COLUMN_COMMENT 19 NO varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
-NULL information_schema COLUMN_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES COLUMN_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES PRIVILEGE_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES IS_GRANTABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ENGINES ENGINE 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ENGINES SUPPORT 2 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema ENGINES COMMENT 3 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema ENGINES TRANSACTIONS 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ENGINES XA 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ENGINES SAVEPOINTS 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema EVENTS EVENT_CATALOG 1 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS EVENT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS EVENT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS DEFINER 4 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
-NULL information_schema EVENTS TIME_ZONE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS EVENT_BODY 6 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema EVENTS EVENT_DEFINITION 7 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema EVENTS EVENT_TYPE 8 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
-NULL information_schema EVENTS EXECUTE_AT 9 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS INTERVAL_VALUE 10 NULL YES varchar 256 768 NULL NULL utf8 utf8_general_ci varchar(256) select
-NULL information_schema EVENTS INTERVAL_FIELD 11 NULL YES varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select
-NULL information_schema EVENTS SQL_MODE 12 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema EVENTS STARTS 13 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS ENDS 14 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS STATUS 15 NO varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select
-NULL information_schema EVENTS ON_COMPLETION 16 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema EVENTS CREATED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS LAST_ALTERED 18 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS LAST_EXECUTED 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS EVENT_COMMENT 20 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS ORIGINATOR 21 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select
-NULL information_schema FILES FILE_ID 1 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES FILE_NAME 2 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES FILE_TYPE 3 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema FILES TABLESPACE_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES TABLE_CATALOG 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES TABLE_SCHEMA 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES TABLE_NAME 7 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES LOGFILE_GROUP_NAME 8 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES LOGFILE_GROUP_NUMBER 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES ENGINE 10 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES FULLTEXT_KEYS 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES DELETED_ROWS 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES UPDATE_COUNT 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES FREE_EXTENTS 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES TOTAL_EXTENTS 15 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES EXTENT_SIZE 16 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES INITIAL_SIZE 17 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES MAXIMUM_SIZE 18 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES AUTOEXTEND_SIZE 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES CREATION_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES LAST_UPDATE_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES LAST_ACCESS_TIME 22 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES RECOVER_TIME 23 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES TRANSACTION_COUNTER 24 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES VERSION 25 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES ROW_FORMAT 26 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema FILES TABLE_ROWS 27 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES AVG_ROW_LENGTH 28 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES DATA_LENGTH 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES MAX_DATA_LENGTH 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES INDEX_LENGTH 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES DATA_FREE 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES CREATE_TIME 33 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES UPDATE_TIME 34 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES CHECK_TIME 35 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES CHECKSUM 36 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES STATUS 37 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema FILES EXTRA 38 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
-NULL information_schema GLOBAL_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema GLOBAL_STATUS VARIABLE_VALUE 2 0.0000000 NO decimal NULL NULL 22 7 NULL NULL decimal(22,7) select
-NULL information_schema GLOBAL_VARIABLES VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema GLOBAL_VARIABLES VARIABLE_VALUE 2 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE COLUMN_NAME 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE ORDINAL_POSITION 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select
-NULL information_schema KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(10) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_NAME 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME 12 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema PARTITIONS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS PARTITION_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS SUBPARTITION_NAME 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION 7 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS PARTITION_METHOD 8 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema PARTITIONS SUBPARTITION_METHOD 9 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema PARTITIONS PARTITION_EXPRESSION 10 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PARTITIONS SUBPARTITION_EXPRESSION 11 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PARTITIONS PARTITION_DESCRIPTION 12 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PARTITIONS TABLE_ROWS 13 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS AVG_ROW_LENGTH 14 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS DATA_LENGTH 15 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS MAX_DATA_LENGTH 16 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS INDEX_LENGTH 17 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS DATA_FREE 18 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS CREATE_TIME 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema PARTITIONS UPDATE_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema PARTITIONS CHECK_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema PARTITIONS CHECKSUM 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS PARTITION_COMMENT 23 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema PARTITIONS NODEGROUP 24 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema PARTITIONS TABLESPACE_NAME 25 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_VERSION 2 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema PLUGINS PLUGIN_STATUS 3 NO varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema PLUGINS PLUGIN_TYPE 4 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema PLUGINS PLUGIN_TYPE_VERSION 5 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema PLUGINS PLUGIN_LIBRARY 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_LIBRARY_VERSION 7 NULL YES varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema PLUGINS PLUGIN_AUTHOR 8 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_DESCRIPTION 9 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PLUGINS PLUGIN_LICENSE 10 NULL YES varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema PROCESSLIST ID 1 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema PROCESSLIST USER 2 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema PROCESSLIST HOST 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PROCESSLIST DB 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PROCESSLIST COMMAND 5 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema PROCESSLIST TIME 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(7) select
-NULL information_schema PROCESSLIST STATE 7 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PROCESSLIST INFO 8 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS MATCH_OPTION 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UPDATE_RULE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS DELETE_RULE 9 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS TABLE_NAME 10 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS REFERENCED_TABLE_NAME 11 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES SPECIFIC_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema ROUTINES ROUTINE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_TYPE 5 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
-NULL information_schema ROUTINES DTD_IDENTIFIER 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_BODY 7 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema ROUTINES ROUTINE_DEFINITION 8 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema ROUTINES EXTERNAL_NAME 9 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES EXTERNAL_LANGUAGE 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES PARAMETER_STYLE 11 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema ROUTINES IS_DETERMINISTIC 12 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ROUTINES SQL_DATA_ACCESS 13 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES SQL_PATH 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES SECURITY_TYPE 15 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select
-NULL information_schema ROUTINES CREATED 16 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema ROUTINES LAST_ALTERED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema ROUTINES SQL_MODE 18 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema ROUTINES ROUTINE_COMMENT 19 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES DEFINER 20 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
-NULL information_schema SCHEMATA CATALOG_NAME 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema SCHEMATA SCHEMA_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA DEFAULT_COLLATION_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA SQL_PATH 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema SCHEMA_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema SCHEMA_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMA_PRIVILEGES IS_GRANTABLE 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema SESSION_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SESSION_STATUS VARIABLE_VALUE 2 0.0000000 NO decimal NULL NULL 22 7 NULL NULL decimal(22,7) select
-NULL information_schema SESSION_VARIABLES VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SESSION_VARIABLES VARIABLE_VALUE 2 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema STATISTICS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema STATISTICS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS NON_UNIQUE 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(1) select
-NULL information_schema STATISTICS INDEX_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS INDEX_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS SEQ_IN_INDEX 7 0 NO bigint NULL NULL 19 0 NULL NULL bigint(2) select
-NULL information_schema STATISTICS COLUMN_NAME 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS COLLATION 9 NULL YES varchar 1 3 NULL NULL utf8 utf8_general_ci varchar(1) select
-NULL information_schema STATISTICS CARDINALITY 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select
-NULL information_schema STATISTICS SUB_PART 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema STATISTICS PACKED 12 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema STATISTICS NULLABLE 13 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema STATISTICS INDEX_TYPE 14 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema STATISTICS COMMENT 15 NULL YES varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema TABLES TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
-NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS TABLE_SCHEMA 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS TABLE_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema TABLE_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLE_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES PRIVILEGE_TYPE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES IS_GRANTABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema TRIGGERS TRIGGER_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TRIGGERS TRIGGER_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS TRIGGER_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS EVENT_MANIPULATION 4 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select
-NULL information_schema TRIGGERS EVENT_OBJECT_CATALOG 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TRIGGERS EVENT_OBJECT_SCHEMA 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS EVENT_OBJECT_TABLE 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_ORDER 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema TRIGGERS ACTION_CONDITION 9 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS ACTION_STATEMENT 10 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS ACTION_ORIENTATION 11 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
-NULL information_schema TRIGGERS ACTION_TIMING 12 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_TABLE 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_TABLE 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_ROW 15 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_ROW 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema TRIGGERS CREATED 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TRIGGERS SQL_MODE 18 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS DEFINER 19 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema USER_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema USER_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema USER_PRIVILEGES PRIVILEGE_TYPE 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema USER_PRIVILEGES IS_GRANTABLE 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema VIEWS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema VIEWS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema VIEWS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema VIEWS VIEW_DEFINITION 4 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema VIEWS CHECK_OPTION 5 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema VIEWS IS_UPDATABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema VIEWS DEFINER 7 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
-NULL information_schema VIEWS SECURITY_TYPE 8 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select
-NULL test t1 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t1 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t1 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t1 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t1 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t1 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t10 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t10 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t10 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t10 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t10 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t10 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t11 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t11 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t11 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t11 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t11 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t11 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t2 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t2 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t2 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t2 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t2 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t2 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t3 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t3 f2 2 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t3 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t4 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t4 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t4 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t4 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t4 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t4 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t7 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t7 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t7 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t7 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t8 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t8 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t8 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t8 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t9 f1 1 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t9 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t9 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test tb1 f1 1 NULL YES char 0 0 NULL NULL latin1 latin1_swedish_ci char(0) select,insert,update,references
-NULL test tb1 f2 2 NULL YES char 0 0 NULL NULL latin1 latin1_bin char(0) select,insert,update,references
-NULL test tb1 f3 3 NULL YES char 0 0 NULL NULL latin1 latin1_swedish_ci char(0) select,insert,update,references
-NULL test tb1 f4 4 NULL YES tinytext 127 255 NULL NULL ucs2 ucs2_general_ci tinytext select,insert,update,references
-NULL test tb1 f5 5 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references
-NULL test tb1 f6 6 NULL YES mediumtext 16777215 16777215 NULL NULL latin1 latin1_swedish_ci mediumtext select,insert,update,references
-NULL test tb1 f7 7 NULL YES longtext 4294967295 4294967295 NULL NULL latin1 latin1_swedish_ci longtext select,insert,update,references
-NULL test tb1 f8 8 NULL YES tinyblob 255 255 NULL NULL NULL NULL tinyblob select,insert,update,references
-NULL test tb1 f9 9 NULL YES blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
-NULL test tb1 f10 10 NULL YES mediumblob 16777215 16777215 NULL NULL NULL NULL mediumblob select,insert,update,references
-NULL test tb1 f11 11 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references
-NULL test tb1 f12 12 NULL YES binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references
-NULL test tb1 f13 13 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references
-NULL test tb1 f14 14 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references
-NULL test tb1 f15 15 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb1 f16 16 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb1 f17 17 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references
-NULL test tb1 f18 18 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references
-NULL test tb1 f19 19 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb1 f20 20 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb1 f21 21 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references
-NULL test tb1 f22 22 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references
-NULL test tb1 f23 23 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb1 f24 24 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb1 f25 25 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test tb1 f26 26 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references
-NULL test tb1 f27 27 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb1 f28 28 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb1 f29 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references
-NULL test tb1 f30 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL test tb1 f31 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb1 f32 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb1 f33 33 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f34 34 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f35 35 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f36 36 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f37 37 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f38 38 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb1 f39 39 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f40 40 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb1 f41 41 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f42 42 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f43 43 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f44 44 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f45 45 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f46 46 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb1 f47 47 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f48 48 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb1 f49 49 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f50 50 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb1 f51 51 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f52 52 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb1 f53 53 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f54 54 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f55 55 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f56 56 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f57 57 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f58 58 99 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb2 f59 1 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb2 f60 2 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb2 f61 3 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f62 4 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f63 5 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f64 6 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f65 7 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb2 f66 8 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb2 f67 9 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb2 f68 10 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb2 f69 11 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f70 12 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb2 f71 13 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f72 14 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb2 f73 15 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb2 f74 16 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb2 f75 17 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f76 18 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f77 19 7.7 YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb2 f78 20 7.7 YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb2 f79 21 00000000000000000007.7 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f80 22 00000000000000000008.8 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f81 23 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f82 24 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f83 25 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f84 26 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f85 27 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f86 28 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f87 29 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f88 30 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f89 31 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f90 32 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f91 33 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f92 34 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f93 35 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f94 36 8.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb2 f95 37 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f96 38 8.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb2 f97 39 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f98 40 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f99 41 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f100 42 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f101 43 2000-01-01 NO date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test tb2 f102 44 00:00:20 NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references
-NULL test tb2 f103 45 0002-02-02 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL test tb2 f104 46 2000-12-31 23:59:59 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL test tb2 f105 47 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb2 f106 48 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb2 f107 49 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb2 f108 50 1enum NO enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references
-NULL test tb2 f109 51 1set NO set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references
-NULL test tb3 f118 1 a NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
-NULL test tb3 f119 2  NO char 1 1 NULL NULL latin1 latin1_bin char(1) select,insert,update,references
-NULL test tb3 f120 3  NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
-NULL test tb3 f121 4 NULL YES tinytext 255 255 NULL NULL latin1 latin1_swedish_ci tinytext select,insert,update,references
-NULL test tb3 f122 5 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references
-NULL test tb3 f123 6 NULL YES mediumtext 16777215 16777215 NULL NULL latin1 latin1_swedish_ci mediumtext select,insert,update,references
-NULL test tb3 f124 7 NULL YES longtext 2147483647 4294967295 NULL NULL ucs2 ucs2_general_ci longtext select,insert,update,references
-NULL test tb3 f125 8 NULL YES tinyblob 255 255 NULL NULL NULL NULL tinyblob select,insert,update,references
-NULL test tb3 f126 9 NULL YES blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
-NULL test tb3 f127 10 NULL YES mediumblob 16777215 16777215 NULL NULL NULL NULL mediumblob select,insert,update,references
-NULL test tb3 f128 11 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references
-NULL test tb3 f129 12  NO binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references
-NULL test tb3 f130 13 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references
-NULL test tb3 f131 14 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references
-NULL test tb3 f132 15 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb3 f133 16 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb3 f134 17 999 NO smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references
-NULL test tb3 f135 18 999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references
-NULL test tb3 f136 19 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb3 f137 20 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb3 f138 21 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references
-NULL test tb3 f139 22 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references
-NULL test tb3 f140 23 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb3 f141 24 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb3 f142 25 99999 NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test tb3 f143 26 99999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references
-NULL test tb3 f144 27 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb3 f145 28 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb3 f146 29 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references
-NULL test tb3 f147 30 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL test tb3 f148 31 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb3 f149 32 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb3 f150 33 1000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f151 34 999 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f152 35 0000001000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f153 36 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f154 37 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f155 38 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb3 f156 39 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f157 40 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb3 f158 41 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f159 42 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f160 43 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f161 44 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f162 45 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f163 46 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb3 f164 47 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f165 48 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb3 f166 49 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f167 50 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb3 f168 51 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f169 52 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb3 f170 53 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f171 54 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f172 55 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f173 56 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f174 57 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f175 58 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb4 f176 1 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb4 f177 2 9 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb4 f178 3 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f179 4 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f180 5 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f181 6 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f182 7 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb4 f183 8 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb4 f184 9 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb4 f185 10 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb4 f186 11 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f187 12 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb4 f188 13 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f189 14 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb4 f190 15 88.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb4 f191 16 88.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb4 f192 17 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f193 18 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f194 19 55.5 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb4 f195 20 55.5 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb4 f196 21 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f197 22 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f198 23 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f199 24 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f200 25 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f201 26 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f202 27 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f203 28 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f204 29 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f205 30 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f206 31 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f207 32 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f208 33 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f209 34 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f210 35 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f211 36 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb4 f212 37 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f213 38 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb4 f214 39 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f215 40 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f216 41 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f217 42 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f218 43 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test tb4 f219 44 NULL YES time NULL NULL NULL NULL NULL NULL time select,insert,update,references
-NULL test tb4 f220 45 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL test tb4 f221 46 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL test tb4 f222 47 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb4 f223 48 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb4 f224 49 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb4 f225 50 NULL YES enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references
-NULL test tb4 f226 51 NULL YES set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references
-NULL test tb4 f235 52 NULL YES char 0 0 NULL NULL ucs2 ucs2_general_ci char(0) select,insert,update,references
-NULL test tb4 f236 53 NULL YES char 90 90 NULL NULL latin1 latin1_swedish_ci char(90) select,insert,update,references
-NULL test tb4 f237 54 NULL YES char 255 255 NULL NULL latin1 latin1_swedish_ci char(255) select,insert,update,references
-NULL test tb4 f238 55 NULL YES varchar 0 0 NULL NULL latin1 latin1_swedish_ci varchar(0) select,insert,update,references
-NULL test tb4 f239 56 NULL YES varchar 20000 20000 NULL NULL latin1 latin1_bin varchar(20000) select,insert,update,references
-NULL test tb4 f240 57 NULL YES varchar 2000 4000 NULL NULL ucs2 ucs2_general_ci varchar(2000) select,insert,update,references
-NULL test tb4 f241 58 NULL YES char 100 200 NULL NULL ucs2 ucs2_general_ci char(100) select,insert,update,references
-
-root@localhost db_datadict
-
-Show the quotient of COL and CML for all COLUMNS
-------------------------------------------------
-SELECT DISTINCT
-CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML,
-DATA_TYPE,
-CHARACTER_SET_NAME,
-COLLATION_NAME
-FROM information_schema.columns
-WHERE 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 binary NULL NULL
-1.0000 blob NULL NULL
-1.0000 longblob NULL NULL
-1.0000 mediumblob NULL NULL
-1.0000 tinyblob NULL NULL
-1.0000 char latin1 latin1_bin
-1.0000 varchar latin1 latin1_bin
-1.0000 char latin1 latin1_swedish_ci
-1.0000 enum latin1 latin1_swedish_ci
-1.0000 longtext latin1 latin1_swedish_ci
-1.0000 mediumtext latin1 latin1_swedish_ci
-1.0000 set latin1 latin1_swedish_ci
-1.0000 text latin1 latin1_swedish_ci
-1.0000 tinytext latin1 latin1_swedish_ci
-1.0000 varchar latin1 latin1_swedish_ci
-1.0000 longtext utf8 utf8_general_ci
-1.0000 mediumtext utf8 utf8_general_ci
-1.0000 text utf8 utf8_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 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 varchar ucs2 ucs2_general_ci
-2.0079 tinytext ucs2 ucs2_general_ci
-3.0000 char utf8 utf8_bin
-3.0000 enum utf8 utf8_bin
-3.0000 char utf8 utf8_general_ci
-3.0000 enum utf8 utf8_general_ci
-3.0000 set utf8 utf8_general_ci
-3.0000 varchar utf8 utf8_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 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 bigint NULL NULL
-NULL date NULL NULL
-NULL datetime NULL NULL
-NULL decimal NULL NULL
-NULL double NULL NULL
-NULL double unsigned NULL NULL
-NULL double unsigned zerofill NULL NULL
-NULL float NULL NULL
-NULL float unsigned NULL NULL
-NULL float unsigned zerofill NULL NULL
-NULL int NULL NULL
-NULL mediumint NULL NULL
-NULL smallint NULL NULL
-NULL time NULL NULL
-NULL timestamp NULL NULL
-NULL tinyint NULL NULL
-NULL year NULL NULL
-NULL char latin1 latin1_bin
-NULL char latin1 latin1_swedish_ci
-NULL varchar latin1 latin1_swedish_ci
-NULL char 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
-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 db_datadict t_6_406001 f1 char 10 10 latin1 latin1_swedish_ci char(10)
-1.0000 db_datadict t_6_406001 f2 text 65535 65535 latin1 latin1_swedish_ci text
-NULL db_datadict t_6_406001 f3 date NULL NULL NULL NULL date
-NULL db_datadict t_6_406001 f4 int NULL NULL NULL NULL int(11)
-1.0000 db_datadict t_6_406002 f1 char 10 10 latin1 latin1_swedish_ci char(10)
-1.0000 db_datadict t_6_406002 f2 text 65535 65535 latin1 latin1_swedish_ci text
-NULL db_datadict t_6_406002 f3 date NULL NULL NULL NULL date
-NULL db_datadict t_6_406002 f4 int NULL NULL NULL NULL int(11)
-3.0000 information_schema CHARACTER_SETS CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema CHARACTER_SETS DESCRIPTION varchar 60 180 utf8 utf8_general_ci varchar(60)
-NULL information_schema CHARACTER_SETS MAXLEN bigint NULL NULL NULL NULL bigint(3)
-3.0000 information_schema COLLATIONS COLLATION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema COLLATIONS CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-NULL information_schema COLLATIONS ID bigint NULL NULL NULL NULL bigint(11)
-3.0000 information_schema COLLATIONS IS_DEFAULT varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema COLLATIONS IS_COMPILED varchar 3 9 utf8 utf8_general_ci varchar(3)
-NULL information_schema COLLATIONS SORTLEN bigint NULL NULL NULL NULL bigint(3)
-3.0000 information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema COLUMNS TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema COLUMNS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema COLUMNS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema COLUMNS COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-NULL information_schema COLUMNS ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(21) unsigned
-1.0000 information_schema COLUMNS COLUMN_DEFAULT longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema COLUMNS IS_NULLABLE varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema COLUMNS DATA_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
-NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema COLUMNS NUMERIC_PRECISION bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema COLUMNS NUMERIC_SCALE bigint NULL NULL NULL NULL bigint(21) unsigned
-3.0000 information_schema COLUMNS CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema COLUMNS COLLATION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-1.0000 information_schema COLUMNS COLUMN_TYPE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema COLUMNS COLUMN_KEY varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema COLUMNS EXTRA varchar 20 60 utf8 utf8_general_ci varchar(20)
-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 COLUMN_PRIVILEGES GRANTEE varchar 81 243 utf8 utf8_general_ci varchar(81)
-3.0000 information_schema COLUMN_PRIVILEGES TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema COLUMN_PRIVILEGES TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema COLUMN_PRIVILEGES TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema COLUMN_PRIVILEGES COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema COLUMN_PRIVILEGES PRIVILEGE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema COLUMN_PRIVILEGES IS_GRANTABLE varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema ENGINES ENGINE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ENGINES SUPPORT varchar 8 24 utf8 utf8_general_ci varchar(8)
-3.0000 information_schema ENGINES COMMENT varchar 80 240 utf8 utf8_general_ci varchar(80)
-3.0000 information_schema ENGINES TRANSACTIONS varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema ENGINES XA varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema ENGINES SAVEPOINTS varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema EVENTS EVENT_CATALOG varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema EVENTS EVENT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema EVENTS EVENT_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema EVENTS DEFINER varchar 77 231 utf8 utf8_general_ci varchar(77)
-3.0000 information_schema EVENTS TIME_ZONE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema EVENTS EVENT_BODY varchar 8 24 utf8 utf8_general_ci varchar(8)
-1.0000 information_schema EVENTS EVENT_DEFINITION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema EVENTS EVENT_TYPE varchar 9 27 utf8 utf8_general_ci varchar(9)
-NULL information_schema EVENTS EXECUTE_AT datetime NULL NULL NULL NULL datetime
-3.0000 information_schema EVENTS INTERVAL_VALUE varchar 256 768 utf8 utf8_general_ci varchar(256)
-3.0000 information_schema EVENTS INTERVAL_FIELD varchar 18 54 utf8 utf8_general_ci varchar(18)
-1.0000 information_schema EVENTS SQL_MODE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-NULL information_schema EVENTS STARTS datetime NULL NULL NULL NULL datetime
-NULL information_schema EVENTS ENDS datetime NULL NULL NULL NULL datetime
-3.0000 information_schema EVENTS STATUS varchar 18 54 utf8 utf8_general_ci varchar(18)
-3.0000 information_schema EVENTS ON_COMPLETION varchar 12 36 utf8 utf8_general_ci varchar(12)
-NULL information_schema EVENTS CREATED datetime NULL NULL NULL NULL datetime
-NULL information_schema EVENTS LAST_ALTERED datetime NULL NULL NULL NULL datetime
-NULL information_schema EVENTS LAST_EXECUTED datetime NULL NULL NULL NULL datetime
-3.0000 information_schema EVENTS EVENT_COMMENT varchar 64 192 utf8 utf8_general_ci varchar(64)
-NULL information_schema EVENTS ORIGINATOR bigint NULL NULL NULL NULL bigint(10)
-NULL information_schema FILES FILE_ID bigint NULL NULL NULL NULL bigint(4)
-3.0000 information_schema FILES FILE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema FILES FILE_TYPE varchar 20 60 utf8 utf8_general_ci varchar(20)
-3.0000 information_schema FILES TABLESPACE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema FILES TABLE_CATALOG varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema FILES TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema FILES TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema FILES LOGFILE_GROUP_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-NULL information_schema FILES LOGFILE_GROUP_NUMBER bigint NULL NULL NULL NULL bigint(4)
-3.0000 information_schema FILES ENGINE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema FILES FULLTEXT_KEYS varchar 64 192 utf8 utf8_general_ci varchar(64)
-NULL information_schema FILES DELETED_ROWS bigint NULL NULL NULL NULL bigint(4)
-NULL information_schema FILES UPDATE_COUNT bigint NULL NULL NULL NULL bigint(4)
-NULL information_schema FILES FREE_EXTENTS bigint NULL NULL NULL NULL bigint(4)
-NULL information_schema FILES TOTAL_EXTENTS bigint NULL NULL NULL NULL bigint(4)
-NULL information_schema FILES EXTENT_SIZE bigint NULL NULL NULL NULL bigint(4)
-NULL information_schema FILES INITIAL_SIZE bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema FILES MAXIMUM_SIZE bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema FILES AUTOEXTEND_SIZE bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema FILES CREATION_TIME datetime NULL NULL NULL NULL datetime
-NULL information_schema FILES LAST_UPDATE_TIME datetime NULL NULL NULL NULL datetime
-NULL information_schema FILES LAST_ACCESS_TIME datetime NULL NULL NULL NULL datetime
-NULL information_schema FILES RECOVER_TIME bigint NULL NULL NULL NULL bigint(4)
-NULL information_schema FILES TRANSACTION_COUNTER bigint NULL NULL NULL NULL bigint(4)
-NULL information_schema FILES VERSION bigint NULL NULL NULL NULL bigint(21) unsigned
-3.0000 information_schema FILES ROW_FORMAT varchar 10 30 utf8 utf8_general_ci varchar(10)
-NULL information_schema FILES TABLE_ROWS bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema FILES AVG_ROW_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema FILES DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema FILES MAX_DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema FILES INDEX_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema FILES DATA_FREE bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema FILES CREATE_TIME datetime NULL NULL NULL NULL datetime
-NULL information_schema FILES UPDATE_TIME datetime NULL NULL NULL NULL datetime
-NULL information_schema FILES CHECK_TIME datetime NULL NULL NULL NULL datetime
-NULL information_schema FILES CHECKSUM bigint NULL NULL NULL NULL bigint(21) unsigned
-3.0000 information_schema FILES STATUS varchar 20 60 utf8 utf8_general_ci varchar(20)
-3.0000 information_schema FILES EXTRA varchar 255 765 utf8 utf8_general_ci varchar(255)
-3.0000 information_schema GLOBAL_STATUS VARIABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-NULL information_schema GLOBAL_STATUS VARIABLE_VALUE decimal NULL NULL NULL NULL decimal(22,7)
-3.0000 information_schema GLOBAL_VARIABLES VARIABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-1.0000 information_schema GLOBAL_VARIABLES VARIABLE_VALUE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema KEY_COLUMN_USAGE CONSTRAINT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema KEY_COLUMN_USAGE TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema KEY_COLUMN_USAGE TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema KEY_COLUMN_USAGE TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema KEY_COLUMN_USAGE COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-NULL information_schema KEY_COLUMN_USAGE ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(10)
-NULL information_schema KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT bigint NULL NULL NULL NULL bigint(10)
-3.0000 information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema PARTITIONS TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema PARTITIONS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema PARTITIONS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema PARTITIONS PARTITION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema PARTITIONS SUBPARTITION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(21) unsigned
-3.0000 information_schema PARTITIONS PARTITION_METHOD varchar 12 36 utf8 utf8_general_ci varchar(12)
-3.0000 information_schema PARTITIONS SUBPARTITION_METHOD varchar 12 36 utf8 utf8_general_ci varchar(12)
-1.0000 information_schema PARTITIONS PARTITION_EXPRESSION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-1.0000 information_schema PARTITIONS SUBPARTITION_EXPRESSION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-1.0000 information_schema PARTITIONS PARTITION_DESCRIPTION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-NULL information_schema PARTITIONS TABLE_ROWS bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema PARTITIONS AVG_ROW_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema PARTITIONS DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema PARTITIONS MAX_DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema PARTITIONS INDEX_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema PARTITIONS DATA_FREE bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema PARTITIONS CREATE_TIME datetime NULL NULL NULL NULL datetime
-NULL information_schema PARTITIONS UPDATE_TIME datetime NULL NULL NULL NULL datetime
-NULL information_schema PARTITIONS CHECK_TIME datetime NULL NULL NULL NULL datetime
-NULL information_schema PARTITIONS CHECKSUM bigint NULL NULL NULL NULL bigint(21) unsigned
-3.0000 information_schema PARTITIONS PARTITION_COMMENT varchar 80 240 utf8 utf8_general_ci varchar(80)
-3.0000 information_schema PARTITIONS NODEGROUP varchar 12 36 utf8 utf8_general_ci varchar(12)
-3.0000 information_schema PARTITIONS TABLESPACE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema PLUGINS PLUGIN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema PLUGINS PLUGIN_VERSION varchar 20 60 utf8 utf8_general_ci varchar(20)
-3.0000 information_schema PLUGINS PLUGIN_STATUS varchar 10 30 utf8 utf8_general_ci varchar(10)
-3.0000 information_schema PLUGINS PLUGIN_TYPE varchar 80 240 utf8 utf8_general_ci varchar(80)
-3.0000 information_schema PLUGINS PLUGIN_TYPE_VERSION varchar 20 60 utf8 utf8_general_ci varchar(20)
-3.0000 information_schema PLUGINS PLUGIN_LIBRARY varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema PLUGINS PLUGIN_LIBRARY_VERSION varchar 20 60 utf8 utf8_general_ci varchar(20)
-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)
-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)
-3.0000 information_schema PROCESSLIST DB varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema PROCESSLIST COMMAND varchar 16 48 utf8 utf8_general_ci varchar(16)
-NULL information_schema PROCESSLIST TIME bigint NULL NULL NULL NULL bigint(7)
-3.0000 information_schema PROCESSLIST STATE varchar 64 192 utf8 utf8_general_ci varchar(64)
-1.0000 information_schema PROCESSLIST INFO longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema REFERENTIAL_CONSTRAINTS MATCH_OPTION varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema REFERENTIAL_CONSTRAINTS UPDATE_RULE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema REFERENTIAL_CONSTRAINTS DELETE_RULE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema REFERENTIAL_CONSTRAINTS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema REFERENTIAL_CONSTRAINTS REFERENCED_TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ROUTINES SPECIFIC_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ROUTINES ROUTINE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema ROUTINES ROUTINE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ROUTINES ROUTINE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ROUTINES ROUTINE_TYPE varchar 9 27 utf8 utf8_general_ci varchar(9)
-3.0000 information_schema ROUTINES DTD_IDENTIFIER varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ROUTINES ROUTINE_BODY varchar 8 24 utf8 utf8_general_ci varchar(8)
-1.0000 information_schema ROUTINES ROUTINE_DEFINITION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema ROUTINES EXTERNAL_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ROUTINES EXTERNAL_LANGUAGE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ROUTINES PARAMETER_STYLE varchar 8 24 utf8 utf8_general_ci varchar(8)
-3.0000 information_schema ROUTINES IS_DETERMINISTIC varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema ROUTINES SQL_DATA_ACCESS varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ROUTINES SQL_PATH varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ROUTINES SECURITY_TYPE varchar 7 21 utf8 utf8_general_ci varchar(7)
-NULL information_schema ROUTINES CREATED datetime NULL NULL NULL NULL datetime
-NULL information_schema ROUTINES LAST_ALTERED datetime NULL NULL NULL NULL datetime
-1.0000 information_schema ROUTINES SQL_MODE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema ROUTINES ROUTINE_COMMENT varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ROUTINES DEFINER varchar 77 231 utf8 utf8_general_ci varchar(77)
-3.0000 information_schema SCHEMATA CATALOG_NAME varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema SCHEMATA SCHEMA_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema SCHEMATA DEFAULT_COLLATION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema SCHEMATA SQL_PATH varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema SCHEMA_PRIVILEGES GRANTEE varchar 81 243 utf8 utf8_general_ci varchar(81)
-3.0000 information_schema SCHEMA_PRIVILEGES TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema SCHEMA_PRIVILEGES IS_GRANTABLE varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema SESSION_STATUS VARIABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-NULL information_schema SESSION_STATUS VARIABLE_VALUE decimal NULL NULL NULL NULL decimal(22,7)
-3.0000 information_schema SESSION_VARIABLES VARIABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-1.0000 information_schema SESSION_VARIABLES VARIABLE_VALUE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema STATISTICS TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema STATISTICS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema STATISTICS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-NULL information_schema STATISTICS NON_UNIQUE bigint NULL NULL NULL NULL bigint(1)
-3.0000 information_schema STATISTICS INDEX_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema STATISTICS INDEX_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-NULL information_schema STATISTICS SEQ_IN_INDEX bigint NULL NULL NULL NULL bigint(2)
-3.0000 information_schema STATISTICS COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema STATISTICS COLLATION varchar 1 3 utf8 utf8_general_ci varchar(1)
-NULL information_schema STATISTICS CARDINALITY bigint NULL NULL NULL NULL bigint(21)
-NULL information_schema STATISTICS SUB_PART bigint NULL NULL NULL NULL bigint(3)
-3.0000 information_schema STATISTICS PACKED varchar 10 30 utf8 utf8_general_ci varchar(10)
-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 TABLES TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-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)
-3.0000 information_schema TABLES TABLE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TABLES ENGINE varchar 64 192 utf8 utf8_general_ci varchar(64)
-NULL information_schema TABLES VERSION bigint NULL NULL NULL NULL bigint(21) unsigned
-3.0000 information_schema TABLES ROW_FORMAT varchar 10 30 utf8 utf8_general_ci varchar(10)
-NULL information_schema TABLES TABLE_ROWS bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema TABLES AVG_ROW_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema TABLES DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema TABLES MAX_DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema TABLES INDEX_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema TABLES DATA_FREE bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema TABLES AUTO_INCREMENT bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema TABLES CREATE_TIME datetime NULL NULL NULL NULL datetime
-NULL information_schema TABLES UPDATE_TIME datetime NULL NULL NULL NULL datetime
-NULL information_schema TABLES CHECK_TIME datetime NULL NULL NULL NULL datetime
-3.0000 information_schema TABLES TABLE_COLLATION varchar 64 192 utf8 utf8_general_ci varchar(64)
-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 TABLE_CONSTRAINTS CONSTRAINT_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema TABLE_CONSTRAINTS CONSTRAINT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TABLE_CONSTRAINTS CONSTRAINT_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TABLE_CONSTRAINTS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TABLE_CONSTRAINTS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TABLE_CONSTRAINTS CONSTRAINT_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TABLE_PRIVILEGES GRANTEE varchar 81 243 utf8 utf8_general_ci varchar(81)
-3.0000 information_schema TABLE_PRIVILEGES TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema TABLE_PRIVILEGES TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TABLE_PRIVILEGES TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TABLE_PRIVILEGES PRIVILEGE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TABLE_PRIVILEGES IS_GRANTABLE varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema TRIGGERS TRIGGER_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema TRIGGERS TRIGGER_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TRIGGERS TRIGGER_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TRIGGERS EVENT_MANIPULATION varchar 6 18 utf8 utf8_general_ci varchar(6)
-3.0000 information_schema TRIGGERS EVENT_OBJECT_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema TRIGGERS EVENT_OBJECT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TRIGGERS EVENT_OBJECT_TABLE varchar 64 192 utf8 utf8_general_ci varchar(64)
-NULL information_schema TRIGGERS ACTION_ORDER bigint NULL NULL NULL NULL bigint(4)
-1.0000 information_schema TRIGGERS ACTION_CONDITION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-1.0000 information_schema TRIGGERS ACTION_STATEMENT longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema TRIGGERS ACTION_ORIENTATION varchar 9 27 utf8 utf8_general_ci varchar(9)
-3.0000 information_schema TRIGGERS ACTION_TIMING varchar 6 18 utf8 utf8_general_ci varchar(6)
-3.0000 information_schema TRIGGERS ACTION_REFERENCE_OLD_TABLE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TRIGGERS ACTION_REFERENCE_NEW_TABLE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TRIGGERS ACTION_REFERENCE_OLD_ROW varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema TRIGGERS ACTION_REFERENCE_NEW_ROW varchar 3 9 utf8 utf8_general_ci varchar(3)
-NULL information_schema TRIGGERS CREATED datetime NULL NULL NULL NULL datetime
-1.0000 information_schema TRIGGERS SQL_MODE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-1.0000 information_schema TRIGGERS DEFINER longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema USER_PRIVILEGES GRANTEE varchar 81 243 utf8 utf8_general_ci varchar(81)
-3.0000 information_schema USER_PRIVILEGES TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema USER_PRIVILEGES PRIVILEGE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema USER_PRIVILEGES IS_GRANTABLE varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema VIEWS TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema VIEWS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema VIEWS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-1.0000 information_schema VIEWS VIEW_DEFINITION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema VIEWS CHECK_OPTION varchar 8 24 utf8 utf8_general_ci varchar(8)
-3.0000 information_schema VIEWS IS_UPDATABLE varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema VIEWS DEFINER varchar 77 231 utf8 utf8_general_ci varchar(77)
-3.0000 information_schema VIEWS SECURITY_TYPE varchar 7 21 utf8 utf8_general_ci varchar(7)
-3.0000 mysql columns_priv Host char 60 180 utf8 utf8_bin char(60)
-3.0000 mysql columns_priv Db char 64 192 utf8 utf8_bin char(64)
-3.0000 mysql columns_priv User char 16 48 utf8 utf8_bin char(16)
-3.0000 mysql columns_priv Table_name char 64 192 utf8 utf8_bin char(64)
-3.0000 mysql columns_priv Column_name char 64 192 utf8 utf8_bin char(64)
-NULL mysql columns_priv Timestamp timestamp NULL NULL NULL NULL timestamp
-3.0000 mysql columns_priv Column_priv set 31 93 utf8 utf8_general_ci set('Select','Insert','Update','References')
-3.0000 mysql db Host char 60 180 utf8 utf8_bin char(60)
-3.0000 mysql db Db char 64 192 utf8 utf8_bin char(64)
-3.0000 mysql db User char 16 48 utf8 utf8_bin char(16)
-3.0000 mysql db Select_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Insert_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Update_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Delete_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Create_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Drop_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Grant_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db References_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Index_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Alter_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Create_tmp_table_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Lock_tables_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Create_view_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Show_view_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Create_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Alter_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Execute_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Event_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Trigger_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql event db char 64 192 utf8 utf8_bin char(64)
-3.0000 mysql event name char 64 192 utf8 utf8_general_ci char(64)
-1.0000 mysql event body longblob 4294967295 4294967295 NULL NULL longblob
-3.0000 mysql event definer char 77 231 utf8 utf8_bin char(77)
-NULL mysql event execute_at datetime NULL NULL NULL NULL datetime
-NULL mysql event interval_value int NULL NULL NULL NULL int(11)
-3.0000 mysql event interval_field enum 18 54 utf8 utf8_general_ci enum('YEAR','QUARTER','MONTH','DAY','HOUR','MINUTE','WEEK','SECOND','MICROSECOND','YEAR_MONTH','DAY_HOUR','DAY_MINUTE','DAY_SECOND','HOUR_MINUTE','HOUR_SECOND','MINUTE_SECOND','DAY_MICROSECOND','HOUR_MICROSECOND','MINUTE_MICROSECOND','SECOND_MICROSECOND')
-NULL mysql event created timestamp NULL NULL NULL NULL timestamp
-NULL mysql event modified timestamp NULL NULL NULL NULL timestamp
-NULL mysql event last_executed datetime NULL NULL NULL NULL datetime
-NULL mysql event starts datetime NULL NULL NULL NULL datetime
-NULL mysql event ends datetime NULL NULL NULL NULL datetime
-3.0000 mysql event status enum 18 54 utf8 utf8_general_ci enum('ENABLED','DISABLED','SLAVESIDE_DISABLED')
-3.0000 mysql event on_completion enum 8 24 utf8 utf8_general_ci enum('DROP','PRESERVE')
-3.0000 mysql event sql_mode set 431 1293 utf8 utf8_general_ci set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE')
-3.0000 mysql event comment char 64 192 utf8 utf8_bin char(64)
-NULL mysql event originator int NULL NULL NULL NULL int(10)
-1.0000 mysql event time_zone char 64 64 latin1 latin1_swedish_ci char(64)
-3.0000 mysql func name char 64 192 utf8 utf8_bin char(64)
-NULL mysql func ret tinyint NULL NULL NULL NULL tinyint(1)
-3.0000 mysql func dl char 128 384 utf8 utf8_bin char(128)
-3.0000 mysql func type enum 9 27 utf8 utf8_general_ci enum('function','aggregate')
-NULL mysql general_log event_time timestamp NULL NULL NULL NULL timestamp
-1.0000 mysql general_log user_host mediumtext 16777215 16777215 utf8 utf8_general_ci mediumtext
-NULL mysql general_log thread_id int NULL NULL NULL NULL int(11)
-NULL mysql general_log server_id int NULL NULL NULL NULL int(11)
-3.0000 mysql general_log command_type varchar 64 192 utf8 utf8_general_ci varchar(64)
-1.0000 mysql general_log argument mediumtext 16777215 16777215 utf8 utf8_general_ci mediumtext
-NULL mysql help_category help_category_id smallint NULL NULL NULL NULL smallint(5) unsigned
-3.0000 mysql help_category name char 64 192 utf8 utf8_general_ci char(64)
-NULL mysql help_category parent_category_id smallint NULL NULL NULL NULL smallint(5) unsigned
-3.0000 mysql help_category url char 128 384 utf8 utf8_general_ci char(128)
-NULL mysql help_keyword help_keyword_id int NULL NULL NULL NULL int(10) unsigned
-3.0000 mysql help_keyword name char 64 192 utf8 utf8_general_ci char(64)
-NULL mysql help_relation help_topic_id int NULL NULL NULL NULL int(10) unsigned
-NULL mysql help_relation help_keyword_id int NULL NULL NULL NULL int(10) unsigned
-NULL mysql help_topic help_topic_id int NULL NULL NULL NULL int(10) unsigned
-3.0000 mysql help_topic name char 64 192 utf8 utf8_general_ci char(64)
-NULL mysql help_topic help_category_id smallint NULL NULL NULL NULL smallint(5) unsigned
-1.0000 mysql help_topic description text 65535 65535 utf8 utf8_general_ci text
-1.0000 mysql help_topic example text 65535 65535 utf8 utf8_general_ci text
-3.0000 mysql help_topic url char 128 384 utf8 utf8_general_ci char(128)
-3.0000 mysql host Host char 60 180 utf8 utf8_bin char(60)
-3.0000 mysql host Db char 64 192 utf8 utf8_bin char(64)
-3.0000 mysql host Select_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Insert_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Update_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Delete_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Create_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Drop_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Grant_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host References_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Index_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Alter_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Create_tmp_table_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Lock_tables_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Create_view_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Show_view_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Create_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Alter_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Execute_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Trigger_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-NULL mysql ndb_binlog_index Position bigint NULL NULL NULL NULL bigint(20) unsigned
-1.0000 mysql ndb_binlog_index File varchar 255 255 latin1 latin1_swedish_ci varchar(255)
-NULL mysql ndb_binlog_index epoch bigint NULL NULL NULL NULL bigint(20) unsigned
-NULL mysql ndb_binlog_index inserts bigint NULL NULL NULL NULL bigint(20) unsigned
-NULL mysql ndb_binlog_index updates bigint NULL NULL NULL NULL bigint(20) unsigned
-NULL mysql ndb_binlog_index deletes bigint NULL NULL NULL NULL bigint(20) unsigned
-NULL mysql ndb_binlog_index schemaops bigint NULL NULL NULL NULL bigint(20) unsigned
-3.0000 mysql plugin name char 64 192 utf8 utf8_bin char(64)
-3.0000 mysql plugin dl char 128 384 utf8 utf8_bin char(128)
-3.0000 mysql proc db char 64 192 utf8 utf8_bin char(64)
-3.0000 mysql proc name char 64 192 utf8 utf8_general_ci char(64)
-3.0000 mysql proc type enum 9 27 utf8 utf8_general_ci enum('FUNCTION','PROCEDURE')
-3.0000 mysql proc specific_name char 64 192 utf8 utf8_general_ci char(64)
-3.0000 mysql proc language enum 3 9 utf8 utf8_general_ci enum('SQL')
-3.0000 mysql proc sql_data_access enum 17 51 utf8 utf8_general_ci enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA')
-3.0000 mysql proc is_deterministic enum 3 9 utf8 utf8_general_ci enum('YES','NO')
-3.0000 mysql proc security_type enum 7 21 utf8 utf8_general_ci enum('INVOKER','DEFINER')
-1.0000 mysql proc param_list blob 65535 65535 NULL NULL blob
-3.0000 mysql proc returns char 64 192 utf8 utf8_general_ci char(64)
-1.0000 mysql proc body longblob 4294967295 4294967295 NULL NULL longblob
-3.0000 mysql proc definer char 77 231 utf8 utf8_bin char(77)
-NULL mysql proc created timestamp NULL NULL NULL NULL timestamp
-NULL mysql proc modified timestamp NULL NULL NULL NULL timestamp
-3.0000 mysql proc sql_mode set 431 1293 utf8 utf8_general_ci set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE')
-3.0000 mysql proc comment char 64 192 utf8 utf8_bin char(64)
-3.0000 mysql procs_priv Host char 60 180 utf8 utf8_bin char(60)
-3.0000 mysql procs_priv Db char 64 192 utf8 utf8_bin char(64)
-3.0000 mysql procs_priv User char 16 48 utf8 utf8_bin char(16)
-3.0000 mysql procs_priv Routine_name char 64 192 utf8 utf8_bin char(64)
-3.0000 mysql procs_priv Routine_type enum 9 27 utf8 utf8_bin enum('FUNCTION','PROCEDURE')
-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 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)
-3.0000 mysql servers Username char 64 192 utf8 utf8_general_ci char(64)
-3.0000 mysql servers Password char 64 192 utf8 utf8_general_ci char(64)
-NULL mysql servers Port int NULL NULL NULL NULL int(4)
-3.0000 mysql servers Socket char 64 192 utf8 utf8_general_ci char(64)
-3.0000 mysql servers Wrapper char 64 192 utf8 utf8_general_ci char(64)
-3.0000 mysql servers Owner char 64 192 utf8 utf8_general_ci char(64)
-NULL mysql slow_log start_time timestamp NULL NULL NULL NULL timestamp
-1.0000 mysql slow_log user_host mediumtext 16777215 16777215 utf8 utf8_general_ci mediumtext
-NULL mysql slow_log query_time time NULL NULL NULL NULL time
-NULL mysql slow_log lock_time time NULL NULL NULL NULL time
-NULL mysql slow_log rows_sent int NULL NULL NULL NULL int(11)
-NULL mysql slow_log rows_examined int NULL NULL NULL NULL int(11)
-3.0000 mysql slow_log db varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-NULL mysql slow_log last_insert_id int NULL NULL NULL NULL int(11)
-NULL mysql slow_log insert_id int NULL NULL NULL NULL int(11)
-NULL mysql slow_log server_id int NULL NULL NULL NULL int(11)
-1.0000 mysql slow_log sql_text mediumtext 16777215 16777215 utf8 utf8_general_ci mediumtext
-3.0000 mysql tables_priv Host char 60 180 utf8 utf8_bin char(60)
-3.0000 mysql tables_priv Db char 64 192 utf8 utf8_bin char(64)
-3.0000 mysql tables_priv User char 16 48 utf8 utf8_bin char(16)
-3.0000 mysql tables_priv Table_name char 64 192 utf8 utf8_bin char(64)
-3.0000 mysql tables_priv Grantor char 77 231 utf8 utf8_bin char(77)
-NULL mysql tables_priv Timestamp timestamp NULL NULL NULL NULL timestamp
-3.0000 mysql tables_priv Table_priv set 98 294 utf8 utf8_general_ci set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view','Trigger')
-3.0000 mysql tables_priv Column_priv set 31 93 utf8 utf8_general_ci set('Select','Insert','Update','References')
-NULL mysql time_zone Time_zone_id int NULL NULL NULL NULL int(10) unsigned
-3.0000 mysql time_zone Use_leap_seconds enum 1 3 utf8 utf8_general_ci enum('Y','N')
-NULL mysql time_zone_leap_second Transition_time bigint NULL NULL NULL NULL bigint(20)
-NULL mysql time_zone_leap_second Correction int NULL NULL NULL NULL int(11)
-3.0000 mysql time_zone_name Name char 64 192 utf8 utf8_general_ci char(64)
-NULL mysql time_zone_name Time_zone_id int NULL NULL NULL NULL int(10) unsigned
-NULL mysql time_zone_transition Time_zone_id int NULL NULL NULL NULL int(10) unsigned
-NULL mysql time_zone_transition Transition_time bigint NULL NULL NULL NULL bigint(20)
-NULL mysql time_zone_transition Transition_type_id int NULL NULL NULL NULL int(10) unsigned
-NULL mysql time_zone_transition_type Time_zone_id int NULL NULL NULL NULL int(10) unsigned
-NULL mysql time_zone_transition_type Transition_type_id int NULL NULL NULL NULL int(10) unsigned
-NULL mysql time_zone_transition_type Offset int NULL NULL NULL NULL int(11)
-NULL mysql time_zone_transition_type Is_DST tinyint NULL NULL NULL NULL tinyint(3) unsigned
-3.0000 mysql time_zone_transition_type Abbreviation char 8 24 utf8 utf8_general_ci char(8)
-3.0000 mysql user Host char 60 180 utf8 utf8_bin char(60)
-3.0000 mysql user User char 16 48 utf8 utf8_bin char(16)
-1.0000 mysql user Password char 41 41 latin1 latin1_bin char(41)
-3.0000 mysql user Select_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Insert_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Update_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Delete_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Create_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Drop_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Reload_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Shutdown_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Process_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user File_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Grant_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user References_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Index_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Alter_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Show_db_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Super_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Create_tmp_table_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Lock_tables_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Execute_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Repl_slave_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Repl_client_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Create_view_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Show_view_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Create_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Alter_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Create_user_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Event_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Trigger_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user ssl_type enum 9 27 utf8 utf8_general_ci enum('','ANY','X509','SPECIFIED')
-1.0000 mysql user ssl_cipher blob 65535 65535 NULL NULL blob
-1.0000 mysql user x509_issuer blob 65535 65535 NULL NULL blob
-1.0000 mysql user x509_subject blob 65535 65535 NULL NULL blob
-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 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)
-NULL test tb1 f1 char 0 0 latin1 latin1_swedish_ci char(0)
-NULL test tb1 f2 char 0 0 latin1 latin1_bin char(0)
-NULL test tb1 f3 char 0 0 latin1 latin1_swedish_ci char(0)
-2.0079 test tb1 f4 tinytext 127 255 ucs2 ucs2_general_ci tinytext
-1.0000 test tb1 f5 text 65535 65535 latin1 latin1_swedish_ci text
-1.0000 test tb1 f6 mediumtext 16777215 16777215 latin1 latin1_swedish_ci mediumtext
-1.0000 test tb1 f7 longtext 4294967295 4294967295 latin1 latin1_swedish_ci longtext
-1.0000 test tb1 f8 tinyblob 255 255 NULL NULL tinyblob
-1.0000 test tb1 f9 blob 65535 65535 NULL NULL blob
-1.0000 test tb1 f10 mediumblob 16777215 16777215 NULL NULL mediumblob
-1.0000 test tb1 f11 longblob 4294967295 4294967295 NULL NULL longblob
-1.0000 test tb1 f12 binary 1 1 NULL NULL binary(1)
-NULL test tb1 f13 tinyint NULL NULL NULL NULL tinyint(4)
-NULL test tb1 f14 tinyint NULL NULL NULL NULL tinyint(3) unsigned
-NULL test tb1 f15 tinyint NULL NULL NULL NULL tinyint(3) unsigned zerofill
-NULL test tb1 f16 tinyint NULL NULL NULL NULL tinyint(3) unsigned zerofill
-NULL test tb1 f17 smallint NULL NULL NULL NULL smallint(6)
-NULL test tb1 f18 smallint NULL NULL NULL NULL smallint(5) unsigned
-NULL test tb1 f19 smallint NULL NULL NULL NULL smallint(5) unsigned zerofill
-NULL test tb1 f20 smallint NULL NULL NULL NULL smallint(5) unsigned zerofill
-NULL test tb1 f21 mediumint NULL NULL NULL NULL mediumint(9)
-NULL test tb1 f22 mediumint NULL NULL NULL NULL mediumint(8) unsigned
-NULL test tb1 f23 mediumint NULL NULL NULL NULL mediumint(8) unsigned zerofill
-NULL test tb1 f24 mediumint NULL NULL NULL NULL mediumint(8) unsigned zerofill
-NULL test tb1 f25 int NULL NULL NULL NULL int(11)
-NULL test tb1 f26 int NULL NULL NULL NULL int(10) unsigned
-NULL test tb1 f27 int NULL NULL NULL NULL int(10) unsigned zerofill
-NULL test tb1 f28 int NULL NULL NULL NULL int(10) unsigned zerofill
-NULL test tb1 f29 bigint NULL NULL NULL NULL bigint(20)
-NULL test tb1 f30 bigint NULL NULL NULL NULL bigint(20) unsigned
-NULL test tb1 f31 bigint NULL NULL NULL NULL bigint(20) unsigned zerofill
-NULL test tb1 f32 bigint NULL NULL NULL NULL bigint(20) unsigned zerofill
-NULL test tb1 f33 decimal NULL NULL NULL NULL decimal(10,0)
-NULL test tb1 f34 decimal NULL NULL NULL NULL decimal(10,0) unsigned
-NULL test tb1 f35 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb1 f36 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb1 f37 decimal NULL NULL NULL NULL decimal(10,0)
-NULL test tb1 f38 decimal NULL NULL NULL NULL decimal(64,0)
-NULL test tb1 f39 decimal NULL NULL NULL NULL decimal(10,0) unsigned
-NULL test tb1 f40 decimal NULL NULL NULL NULL decimal(64,0) unsigned
-NULL test tb1 f41 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb1 f42 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
-NULL test tb1 f43 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb1 f44 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
-NULL test tb1 f45 decimal NULL NULL NULL NULL decimal(10,0)
-NULL test tb1 f46 decimal NULL NULL NULL NULL decimal(63,30)
-NULL test tb1 f47 decimal NULL NULL NULL NULL decimal(10,0) unsigned
-NULL test tb1 f48 decimal NULL NULL NULL NULL decimal(63,30) unsigned
-NULL test tb1 f49 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb1 f50 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
-NULL test tb1 f51 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb1 f52 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
-NULL test tb1 f53 decimal NULL NULL NULL NULL decimal(10,0)
-NULL test tb1 f54 decimal NULL NULL NULL NULL decimal(10,0) unsigned
-NULL test tb1 f55 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb1 f56 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb1 f57 decimal NULL NULL NULL NULL decimal(10,0)
-NULL test tb1 f58 decimal NULL NULL NULL NULL decimal(64,0)
-NULL test tb2 f59 decimal NULL NULL NULL NULL decimal(10,0) unsigned
-NULL test tb2 f60 decimal NULL NULL NULL NULL decimal(64,0) unsigned
-NULL test tb2 f61 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb2 f62 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
-NULL test tb2 f63 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb2 f64 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
-NULL test tb2 f65 decimal NULL NULL NULL NULL decimal(10,0)
-NULL test tb2 f66 decimal NULL NULL NULL NULL decimal(63,30)
-NULL test tb2 f67 decimal NULL NULL NULL NULL decimal(10,0) unsigned
-NULL test tb2 f68 decimal NULL NULL NULL NULL decimal(63,30) unsigned
-NULL test tb2 f69 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb2 f70 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
-NULL test tb2 f71 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb2 f72 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
-NULL test tb2 f73 double NULL NULL NULL NULL double
-NULL test tb2 f74 double unsigned NULL NULL NULL NULL double unsigned
-NULL test tb2 f75 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test tb2 f76 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test tb2 f77 double NULL NULL NULL NULL double
-NULL test tb2 f78 double unsigned NULL NULL NULL NULL double unsigned
-NULL test tb2 f79 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test tb2 f80 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test tb2 f81 float NULL NULL NULL NULL float
-NULL test tb2 f82 float unsigned NULL NULL NULL NULL float unsigned
-NULL test tb2 f83 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb2 f84 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb2 f85 float NULL NULL NULL NULL float
-NULL test tb2 f86 float NULL NULL NULL NULL float
-NULL test tb2 f87 float unsigned NULL NULL NULL NULL float unsigned
-NULL test tb2 f88 float unsigned NULL NULL NULL NULL float unsigned
-NULL test tb2 f89 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb2 f90 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb2 f91 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb2 f92 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb2 f93 float NULL NULL NULL NULL float
-NULL test tb2 f94 double NULL NULL NULL NULL double
-NULL test tb2 f95 float unsigned NULL NULL NULL NULL float unsigned
-NULL test tb2 f96 double unsigned NULL NULL NULL NULL double unsigned
-NULL test tb2 f97 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb2 f98 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test tb2 f99 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb2 f100 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test tb2 f101 date NULL NULL NULL NULL date
-NULL test tb2 f102 time NULL NULL NULL NULL time
-NULL test tb2 f103 datetime NULL NULL NULL NULL datetime
-NULL test tb2 f104 timestamp NULL NULL NULL NULL timestamp
-NULL test tb2 f105 year NULL NULL NULL NULL year(4)
-NULL test tb2 f106 year NULL NULL NULL NULL year(4)
-NULL test tb2 f107 year NULL NULL NULL NULL year(4)
-1.0000 test tb2 f108 enum 5 5 latin1 latin1_swedish_ci enum('1enum','2enum')
-1.0000 test tb2 f109 set 9 9 latin1 latin1_swedish_ci set('1set','2set')
-1.0000 test tb3 f118 char 1 1 latin1 latin1_swedish_ci char(1)
-1.0000 test tb3 f119 char 1 1 latin1 latin1_bin char(1)
-1.0000 test tb3 f120 char 1 1 latin1 latin1_swedish_ci char(1)
-1.0000 test tb3 f121 tinytext 255 255 latin1 latin1_swedish_ci tinytext
-1.0000 test tb3 f122 text 65535 65535 latin1 latin1_swedish_ci text
-1.0000 test tb3 f123 mediumtext 16777215 16777215 latin1 latin1_swedish_ci mediumtext
-2.0000 test tb3 f124 longtext 2147483647 4294967295 ucs2 ucs2_general_ci longtext
-1.0000 test tb3 f125 tinyblob 255 255 NULL NULL tinyblob
-1.0000 test tb3 f126 blob 65535 65535 NULL NULL blob
-1.0000 test tb3 f127 mediumblob 16777215 16777215 NULL NULL mediumblob
-1.0000 test tb3 f128 longblob 4294967295 4294967295 NULL NULL longblob
-1.0000 test tb3 f129 binary 1 1 NULL NULL binary(1)
-NULL test tb3 f130 tinyint NULL NULL NULL NULL tinyint(4)
-NULL test tb3 f131 tinyint NULL NULL NULL NULL tinyint(3) unsigned
-NULL test tb3 f132 tinyint NULL NULL NULL NULL tinyint(3) unsigned zerofill
-NULL test tb3 f133 tinyint NULL NULL NULL NULL tinyint(3) unsigned zerofill
-NULL test tb3 f134 smallint NULL NULL NULL NULL smallint(6)
-NULL test tb3 f135 smallint NULL NULL NULL NULL smallint(5) unsigned
-NULL test tb3 f136 smallint NULL NULL NULL NULL smallint(5) unsigned zerofill
-NULL test tb3 f137 smallint NULL NULL NULL NULL smallint(5) unsigned zerofill
-NULL test tb3 f138 mediumint NULL NULL NULL NULL mediumint(9)
-NULL test tb3 f139 mediumint NULL NULL NULL NULL mediumint(8) unsigned
-NULL test tb3 f140 mediumint NULL NULL NULL NULL mediumint(8) unsigned zerofill
-NULL test tb3 f141 mediumint NULL NULL NULL NULL mediumint(8) unsigned zerofill
-NULL test tb3 f142 int NULL NULL NULL NULL int(11)
-NULL test tb3 f143 int NULL NULL NULL NULL int(10) unsigned
-NULL test tb3 f144 int NULL NULL NULL NULL int(10) unsigned zerofill
-NULL test tb3 f145 int NULL NULL NULL NULL int(10) unsigned zerofill
-NULL test tb3 f146 bigint NULL NULL NULL NULL bigint(20)
-NULL test tb3 f147 bigint NULL NULL NULL NULL bigint(20) unsigned
-NULL test tb3 f148 bigint NULL NULL NULL NULL bigint(20) unsigned zerofill
-NULL test tb3 f149 bigint NULL NULL NULL NULL bigint(20) unsigned zerofill
-NULL test tb3 f150 decimal NULL NULL NULL NULL decimal(10,0)
-NULL test tb3 f151 decimal NULL NULL NULL NULL decimal(10,0) unsigned
-NULL test tb3 f152 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb3 f153 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb3 f154 decimal NULL NULL NULL NULL decimal(10,0)
-NULL test tb3 f155 decimal NULL NULL NULL NULL decimal(64,0)
-NULL test tb3 f156 decimal NULL NULL NULL NULL decimal(10,0) unsigned
-NULL test tb3 f157 decimal NULL NULL NULL NULL decimal(64,0) unsigned
-NULL test tb3 f158 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb3 f159 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
-NULL test tb3 f160 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb3 f161 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
-NULL test tb3 f162 decimal NULL NULL NULL NULL decimal(10,0)
-NULL test tb3 f163 decimal NULL NULL NULL NULL decimal(63,30)
-NULL test tb3 f164 decimal NULL NULL NULL NULL decimal(10,0) unsigned
-NULL test tb3 f165 decimal NULL NULL NULL NULL decimal(63,30) unsigned
-NULL test tb3 f166 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb3 f167 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
-NULL test tb3 f168 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb3 f169 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
-NULL test tb3 f170 decimal NULL NULL NULL NULL decimal(10,0)
-NULL test tb3 f171 decimal NULL NULL NULL NULL decimal(10,0) unsigned
-NULL test tb3 f172 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb3 f173 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb3 f174 decimal NULL NULL NULL NULL decimal(10,0)
-NULL test tb3 f175 decimal NULL NULL NULL NULL decimal(64,0)
-NULL test tb4 f176 decimal NULL NULL NULL NULL decimal(10,0) unsigned
-NULL test tb4 f177 decimal NULL NULL NULL NULL decimal(64,0) unsigned
-NULL test tb4 f178 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb4 f179 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
-NULL test tb4 f180 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb4 f181 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
-NULL test tb4 f182 decimal NULL NULL NULL NULL decimal(10,0)
-NULL test tb4 f183 decimal NULL NULL NULL NULL decimal(63,30)
-NULL test tb4 f184 decimal NULL NULL NULL NULL decimal(10,0) unsigned
-NULL test tb4 f185 decimal NULL NULL NULL NULL decimal(63,30) unsigned
-NULL test tb4 f186 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb4 f187 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
-NULL test tb4 f188 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb4 f189 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
-NULL test tb4 f190 double NULL NULL NULL NULL double
-NULL test tb4 f191 double unsigned NULL NULL NULL NULL double unsigned
-NULL test tb4 f192 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test tb4 f193 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test tb4 f194 double NULL NULL NULL NULL double
-NULL test tb4 f195 double unsigned NULL NULL NULL NULL double unsigned
-NULL test tb4 f196 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test tb4 f197 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test tb4 f198 float NULL NULL NULL NULL float
-NULL test tb4 f199 float unsigned NULL NULL NULL NULL float unsigned
-NULL test tb4 f200 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb4 f201 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb4 f202 float NULL NULL NULL NULL float
-NULL test tb4 f203 float NULL NULL NULL NULL float
-NULL test tb4 f204 float unsigned NULL NULL NULL NULL float unsigned
-NULL test tb4 f205 float unsigned NULL NULL NULL NULL float unsigned
-NULL test tb4 f206 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb4 f207 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb4 f208 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb4 f209 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb4 f210 float NULL NULL NULL NULL float
-NULL test tb4 f211 double NULL NULL NULL NULL double
-NULL test tb4 f212 float unsigned NULL NULL NULL NULL float unsigned
-NULL test tb4 f213 double unsigned NULL NULL NULL NULL double unsigned
-NULL test tb4 f214 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb4 f215 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test tb4 f216 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb4 f217 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test tb4 f218 date NULL NULL NULL NULL date
-NULL test tb4 f219 time NULL NULL NULL NULL time
-NULL test tb4 f220 datetime NULL NULL NULL NULL datetime
-NULL test tb4 f221 timestamp NULL NULL NULL NULL timestamp
-NULL test tb4 f222 year NULL NULL NULL NULL year(4)
-NULL test tb4 f223 year NULL NULL NULL NULL year(4)
-NULL test tb4 f224 year NULL NULL NULL NULL year(4)
-1.0000 test tb4 f225 enum 5 5 latin1 latin1_swedish_ci enum('1enum','2enum')
-1.0000 test tb4 f226 set 9 9 latin1 latin1_swedish_ci set('1set','2set')
-NULL test tb4 f235 char 0 0 ucs2 ucs2_general_ci char(0)
-1.0000 test tb4 f236 char 90 90 latin1 latin1_swedish_ci char(90)
-1.0000 test tb4 f237 char 255 255 latin1 latin1_swedish_ci char(255)
-NULL test tb4 f238 varchar 0 0 latin1 latin1_swedish_ci varchar(0)
-1.0000 test tb4 f239 varchar 20000 20000 latin1 latin1_bin varchar(20000)
-2.0000 test tb4 f240 varchar 2000 4000 ucs2 ucs2_general_ci varchar(2000)
-2.0000 test tb4 f241 char 100 200 ucs2 ucs2_general_ci char(100)
-NULL test1 tb2 f59 decimal NULL NULL NULL NULL decimal(10,0) unsigned
-NULL test1 tb2 f60 decimal NULL NULL NULL NULL decimal(64,0) unsigned
-NULL test1 tb2 f61 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test1 tb2 f62 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
-NULL test1 tb2 f63 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test1 tb2 f64 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
-NULL test1 tb2 f65 decimal NULL NULL NULL NULL decimal(10,0)
-NULL test1 tb2 f66 decimal NULL NULL NULL NULL decimal(63,30)
-NULL test1 tb2 f67 decimal NULL NULL NULL NULL decimal(10,0) unsigned
-NULL test1 tb2 f68 decimal NULL NULL NULL NULL decimal(63,30) unsigned
-NULL test1 tb2 f69 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test1 tb2 f70 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
-NULL test1 tb2 f71 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test1 tb2 f72 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
-NULL test1 tb2 f73 double NULL NULL NULL NULL double
-NULL test1 tb2 f74 double unsigned NULL NULL NULL NULL double unsigned
-NULL test1 tb2 f75 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test1 tb2 f76 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test1 tb2 f77 double NULL NULL NULL NULL double
-NULL test1 tb2 f78 double unsigned NULL NULL NULL NULL double unsigned
-NULL test1 tb2 f79 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test1 tb2 f80 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test1 tb2 f81 float NULL NULL NULL NULL float
-NULL test1 tb2 f82 float unsigned NULL NULL NULL NULL float unsigned
-NULL test1 tb2 f83 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test1 tb2 f84 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test1 tb2 f85 float NULL NULL NULL NULL float
-NULL test1 tb2 f86 float NULL NULL NULL NULL float
-NULL test1 tb2 f87 float unsigned NULL NULL NULL NULL float unsigned
-NULL test1 tb2 f88 float unsigned NULL NULL NULL NULL float unsigned
-NULL test1 tb2 f89 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test1 tb2 f90 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test1 tb2 f91 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test1 tb2 f92 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test1 tb2 f93 float NULL NULL NULL NULL float
-NULL test1 tb2 f94 double NULL NULL NULL NULL double
-NULL test1 tb2 f95 float unsigned NULL NULL NULL NULL float unsigned
-NULL test1 tb2 f96 double unsigned NULL NULL NULL NULL double unsigned
-NULL test1 tb2 f97 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test1 tb2 f98 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test1 tb2 f99 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test1 tb2 f100 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test1 tb2 f101 date NULL NULL NULL NULL date
-NULL test1 tb2 f102 time NULL NULL NULL NULL time
-NULL test1 tb2 f103 datetime NULL NULL NULL NULL datetime
-NULL test1 tb2 f104 timestamp NULL NULL NULL NULL timestamp
-NULL test1 tb2 f105 year NULL NULL NULL NULL year(4)
-NULL test1 tb2 f106 year NULL NULL NULL NULL year(4)
-NULL test1 tb2 f107 year NULL NULL NULL NULL year(4)
-1.0000 test1 tb2 f108 enum 5 5 latin1 latin1_swedish_ci enum('1enum','2enum')
-1.0000 test1 tb2 f109 set 9 9 latin1 latin1_swedish_ci set('1set','2set')
-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 USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP TABLE IF EXISTS t_6_406001;
-DROP TABLE IF EXISTS t_6_406002;
-DROP DATABASE IF EXISTS db_datadict;
-
-Testcase 3.2.7.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC key_column_usage;
-Field Type Null Key Default Extra
-CONSTRAINT_CATALOG varchar(4096) YES NULL
-CONSTRAINT_SCHEMA varchar(64) NO
-CONSTRAINT_NAME varchar(64) NO
-TABLE_CATALOG varchar(4096) YES NULL
-TABLE_SCHEMA varchar(64) NO
-TABLE_NAME varchar(64) NO
-COLUMN_NAME varchar(64) NO
-ORDINAL_POSITION bigint(10) NO 0
-POSITION_IN_UNIQUE_CONSTRAINT bigint(10) YES NULL
-REFERENCED_TABLE_SCHEMA varchar(64) YES NULL
-REFERENCED_TABLE_NAME varchar(64) YES NULL
-REFERENCED_COLUMN_NAME varchar(64) YES NULL
-SHOW CREATE TABLE key_column_usage;
-Table Create Table
-KEY_COLUMN_USAGE CREATE TEMPORARY TABLE `KEY_COLUMN_USAGE` (
- `CONSTRAINT_CATALOG` varchar(4096) DEFAULT NULL,
- `CONSTRAINT_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `CONSTRAINT_NAME` varchar(64) NOT NULL DEFAULT '',
- `TABLE_CATALOG` varchar(4096) DEFAULT NULL,
- `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `TABLE_NAME` varchar(64) NOT NULL DEFAULT '',
- `COLUMN_NAME` varchar(64) NOT NULL DEFAULT '',
- `ORDINAL_POSITION` bigint(10) NOT NULL DEFAULT '0',
- `POSITION_IN_UNIQUE_CONSTRAINT` bigint(10) DEFAULT NULL,
- `REFERENCED_TABLE_SCHEMA` varchar(64) DEFAULT NULL,
- `REFERENCED_TABLE_NAME` varchar(64) DEFAULT NULL,
- `REFERENCED_COLUMN_NAME` varchar(64) DEFAULT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'key_column_usage'
-ORDER BY ordinal_position;
-COUNT(*)
-12
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'key_column_usage'
-ORDER BY ordinal_position;
-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
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE COLUMN_NAME 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE ORDINAL_POSITION 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select
-NULL information_schema KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(10) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_NAME 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME 12 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-
-Testcase 3.2.7.2 + 3.2.7.3:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-CREATE DATABASE db_datadict;
-CREATE USER 'user_1'@'localhost';
-CREATE USER 'user_2'@'localhost';
-USE db_datadict;
-CREATE TABLE t_40701 (
-f1 INT NOT NULL, PRIMARY KEY(f1),
-f2 INT, INDEX f2_ind(f2)
-);
-GRANT SELECT ON t_40701 to 'user_1'@'localhost';
-CREATE TABLE t_40702 (
-f1 INT NOT NULL, PRIMARY KEY(f1),
-f2 INT, INDEX f2_ind(f2)
-);
-GRANT SELECT ON t_40702 to 'user_2'@'localhost';
-FLUSH PRIVILEGES;
-SELECT * FROM information_schema.key_column_usage
-ORDER BY constraint_catalog, constraint_schema, constraint_name,
-table_catalog, table_schema, table_name, ordinal_position;
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
-NULL db_datadict PRIMARY NULL db_datadict t_40701 f1 1 NULL NULL NULL NULL
-NULL db_datadict PRIMARY NULL db_datadict t_40702 f1 1 NULL NULL NULL NULL
-NULL mysql name NULL mysql help_category name 1 NULL NULL NULL NULL
-NULL mysql name NULL mysql help_keyword name 1 NULL NULL NULL NULL
-NULL mysql name NULL mysql help_topic name 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql columns_priv Host 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql columns_priv Db 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql columns_priv User 3 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql columns_priv Table_name 4 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql columns_priv Column_name 5 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql db Host 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql db Db 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql db User 3 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql event db 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql event name 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql func name 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql help_category help_category_id 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql help_keyword help_keyword_id 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql help_relation help_keyword_id 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql help_relation help_topic_id 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql help_topic help_topic_id 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql host Host 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql host Db 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql ndb_binlog_index epoch 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql plugin name 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql proc db 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql proc name 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql proc type 3 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql procs_priv Host 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql procs_priv Db 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql procs_priv User 3 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql procs_priv Routine_name 4 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql procs_priv Routine_type 5 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql servers Server_name 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql tables_priv Host 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql tables_priv Db 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql tables_priv User 3 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql tables_priv Table_name 4 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql time_zone Time_zone_id 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql time_zone_leap_second Transition_time 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql time_zone_name Name 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql time_zone_transition Time_zone_id 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql time_zone_transition Transition_time 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql time_zone_transition_type Time_zone_id 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql time_zone_transition_type Transition_type_id 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql user Host 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql user User 2 NULL NULL NULL NULL
-connect(localhost,user_1,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.key_column_usage
-ORDER BY constraint_catalog, constraint_schema, constraint_name,
-table_catalog, table_schema, table_name, ordinal_position;
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
-NULL db_datadict PRIMARY NULL db_datadict t_40701 f1 1 NULL NULL NULL NULL
-connect(localhost,user_2,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.key_column_usage
-ORDER BY constraint_catalog, constraint_schema, constraint_name,
-table_catalog, table_schema, table_name, ordinal_position;
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
-NULL db_datadict PRIMARY NULL db_datadict t_40702 f1 1 NULL NULL NULL NULL
-
-root@localhost db_datadict
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP TABLE t_40701;
-DROP TABLE t_40702;
-DROP DATABASE IF EXISTS db_datadict;
-
-Testcase 3.2.8.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC routines;
-Field Type Null Key Default Extra
-SPECIFIC_NAME varchar(64) NO
-ROUTINE_CATALOG varchar(4096) YES NULL
-ROUTINE_SCHEMA varchar(64) NO
-ROUTINE_NAME varchar(64) NO
-ROUTINE_TYPE varchar(9) NO
-DTD_IDENTIFIER varchar(64) YES NULL
-ROUTINE_BODY varchar(8) NO
-ROUTINE_DEFINITION longtext YES NULL
-EXTERNAL_NAME varchar(64) YES NULL
-EXTERNAL_LANGUAGE varchar(64) YES NULL
-PARAMETER_STYLE varchar(8) NO
-IS_DETERMINISTIC varchar(3) NO
-SQL_DATA_ACCESS varchar(64) NO
-SQL_PATH varchar(64) YES NULL
-SECURITY_TYPE varchar(7) NO
-CREATED datetime NO 0000-00-00 00:00:00
-LAST_ALTERED datetime NO 0000-00-00 00:00:00
-SQL_MODE longtext NO
-ROUTINE_COMMENT varchar(64) NO
-DEFINER varchar(77) NO
-SHOW CREATE TABLE routines;
-Table Create Table
-ROUTINES CREATE TEMPORARY TABLE `ROUTINES` (
- `SPECIFIC_NAME` varchar(64) NOT NULL DEFAULT '',
- `ROUTINE_CATALOG` varchar(4096) DEFAULT NULL,
- `ROUTINE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `ROUTINE_NAME` varchar(64) NOT NULL DEFAULT '',
- `ROUTINE_TYPE` varchar(9) NOT NULL DEFAULT '',
- `DTD_IDENTIFIER` varchar(64) DEFAULT NULL,
- `ROUTINE_BODY` varchar(8) NOT NULL DEFAULT '',
- `ROUTINE_DEFINITION` longtext,
- `EXTERNAL_NAME` varchar(64) DEFAULT NULL,
- `EXTERNAL_LANGUAGE` varchar(64) DEFAULT NULL,
- `PARAMETER_STYLE` varchar(8) NOT NULL DEFAULT '',
- `IS_DETERMINISTIC` varchar(3) NOT NULL DEFAULT '',
- `SQL_DATA_ACCESS` varchar(64) NOT NULL DEFAULT '',
- `SQL_PATH` varchar(64) DEFAULT NULL,
- `SECURITY_TYPE` varchar(7) NOT NULL DEFAULT '',
- `CREATED` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `LAST_ALTERED` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `SQL_MODE` longtext NOT NULL,
- `ROUTINE_COMMENT` varchar(64) NOT NULL DEFAULT '',
- `DEFINER` varchar(77) NOT NULL DEFAULT ''
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'routines'
-ORDER BY ordinal_position;
-COUNT(*)
-20
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'routines'
-ORDER BY ordinal_position;
-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
-NULL information_schema ROUTINES SPECIFIC_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema ROUTINES ROUTINE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_TYPE 5 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
-NULL information_schema ROUTINES DTD_IDENTIFIER 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_BODY 7 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema ROUTINES ROUTINE_DEFINITION 8 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema ROUTINES EXTERNAL_NAME 9 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES EXTERNAL_LANGUAGE 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES PARAMETER_STYLE 11 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema ROUTINES IS_DETERMINISTIC 12 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ROUTINES SQL_DATA_ACCESS 13 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES SQL_PATH 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES SECURITY_TYPE 15 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select
-NULL information_schema ROUTINES CREATED 16 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema ROUTINES LAST_ALTERED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema ROUTINES SQL_MODE 18 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema ROUTINES ROUTINE_COMMENT 19 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES DEFINER 20 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
-
-Testcase 3.2.8.2 + 3.2.8.3:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-DROP DATABASE IF EXISTS db_datadict_2;
-CREATE DATABASE db_datadict;
-USE db_datadict;
-CREATE USER 'user_1'@'localhost';
-CREATE USER 'user_2'@'localhost';
-CREATE USER 'user_3'@'localhost';
-CREATE TABLE res_6_408002_1(f1 CHAR(3), f2 TEXT(25), f3 DATE, f4 INT);
-INSERT INTO res_6_408002_1(f1, f2, f3, f4)
-VALUES('abc', 'xyz', '1989-11-09', 0815);
-DROP PROCEDURE IF EXISTS sp_6_408002_1;
-CREATE PROCEDURE sp_6_408002_1()
-BEGIN
-SELECT * FROM db_datadict.res_6_408002_1;
-END//
-CREATE DATABASE db_datadict_2;
-USE db_datadict_2;
-CREATE TABLE res_6_408002_2(f1 CHAR(3), f2 TEXT(25), f3 DATE, f4 INT);
-INSERT INTO res_6_408002_2(f1, f2, f3, f4)
-VALUES('abc', 'xyz', '1990-10-03', 4711);
-DROP PROCEDURE IF EXISTS sp_6_408002_2;
-CREATE PROCEDURE sp_6_408002_2()
-BEGIN
-SELECT * FROM db_datadict_2.res_6_408002_2;
-END//
-GRANT SELECT ON db_datadict_2.* TO 'user_1'@'localhost';
-GRANT EXECUTE ON db_datadict_2.* TO 'user_1'@'localhost';
-GRANT EXECUTE ON db_datadict.* TO 'user_1'@'localhost';
-GRANT SELECT ON db_datadict.* TO 'user_2'@'localhost';
-GRANT EXECUTE ON PROCEDURE db_datadict_2.sp_6_408002_2 TO 'user_2'@'localhost';
-GRANT EXECUTE ON db_datadict_2.* TO 'user_2'@'localhost';
-FLUSH PRIVILEGES;
-connect(localhost,user_1,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.routines;
-SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER
-sp_6_408002_1 NULL db_datadict sp_6_408002_1 PROCEDURE NULL SQL NULL NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost
-sp_6_408002_2 NULL db_datadict_2 sp_6_408002_2 PROCEDURE NULL SQL NULL NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost
-connect(localhost,user_2,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.routines;
-SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER
-sp_6_408002_2 NULL db_datadict_2 sp_6_408002_2 PROCEDURE NULL SQL NULL NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost
-connect(localhost,user_3,,test,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.routines;
-SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER
-
-root@localhost db_datadict_2
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP USER 'user_3'@'localhost';
-use db_datadict;
-DROP TABLE res_6_408002_1;
-DROP PROCEDURE sp_6_408002_1;
-USE db_datadict_2;
-DROP TABLE res_6_408002_2;
-DROP PROCEDURE sp_6_408002_2;
-USE test;
-DROP DATABASE db_datadict;
-DROP DATABASE db_datadict_2;
-
-Testcase 3.2.8.4:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-CREATE DATABASE db_datadict;
-USE db_datadict;
-create table res_6_408004_1(f1 longtext , f2 mediumint , f3 longblob , f4 real , f5 year);
-insert into res_6_408004_1 values ('abc', 98765 , 99999999 , 98765, 10);
-drop procedure if exists sp_6_408004;
-create table res_6_408004_2(f1 longtext , f2 mediumint , f3 longblob , f4 real , f5 year);
-insert into res_6_408004_2 values ('abc', 98765 , 99999999 , 98765, 10);
-
-Checking the max. possible length of (currently) 4 GByte is not possible in this environment here.
---------------------------------------------------------------------------------------------------
-create procedure sp_6_408004 ()
-begin
-declare done integer default 0;
-declare variable_number_1 longtext;
-declare variable_number_2 mediumint;
-declare variable_number_3 longblob;
-declare variable_number_4 real;
-declare variable_number_5 year;
-declare cursor_number_1 cursor for select * from res_6_408004_1 limit 0, 10;
-declare cursor_number_2 cursor for select * from res_6_408004_1 limit 0, 10;
-declare cursor_number_3 cursor for select * from res_6_408004_1 limit 0, 10;
-declare cursor_number_4 cursor for select * from res_6_408004_1 limit 0, 10;
-declare cursor_number_5 cursor for select * from res_6_408004_1 limit 0, 10;
-declare continue handler for sqlstate '02000' set done = 1;
-begin
-open cursor_number_1;
-while done <> 1 do
-fetch cursor_number_1 into variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5;
-if done <> 0 then
-insert into res_6_408004_2 values (variable_number_1, variable_number_2, variable_number_3,
-variable_number_4, variable_number_5);
-end if;
-end while;
-begin
-begin
-set done = 0;
-open cursor_number_2;
-while done <> 1 do
-fetch cursor_number_2 into variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5;
-if done <> 0 then
-insert into res_6_408004_2 values(variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5);
-end if;
-end while;
-end;
-set done = 0;
-open cursor_number_3;
-while done <> 1 do
-fetch cursor_number_3 into variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5;
-if done <> 0 then
-insert into res_6_408004_2 values(variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5);
-end if;
-end while;
-end;
-end;
-begin
-set done = 0;
-open cursor_number_4;
-while done <> 1 do
-fetch cursor_number_4 into variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5;
-if done <> 0 then
-insert into res_6_408004_2 values (variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5);
-end if;
-end while;
-end;
-begin
-set @a='test row';
-select @a;
-select @a;
-select @a;
-end;
-begin
-set done = 0;
-open cursor_number_5;
-while done <> 1 do
-fetch cursor_number_5 into variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5;
-if done <> 0 then
-insert into res_6_408004_2 values (variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5);
-end if;
-end while;
-end;
-begin
-set @a='test row';
-select @a;
-select @a;
-select @a;
-end;
-end//
-call sp_6_408004 ();
-@a
-test row
-@a
-test row
-@a
-test row
-@a
-test row
-@a
-test row
-@a
-test row
-select * from res_6_408004_2;
-f1 f2 f3 f4 f5
-abc 98765 99999999 98765 2010
-abc 98765 99999999 98765 2010
-abc 98765 99999999 98765 2010
-abc 98765 99999999 98765 2010
-abc 98765 99999999 98765 2010
-abc 98765 99999999 98765 2010
-SELECT *, LENGTH(routine_definition)
-FROM information_schema.routines
-WHERE routine_schema = 'db_datadict';
-SPECIFIC_NAME sp_6_408004
-ROUTINE_CATALOG NULL
-ROUTINE_SCHEMA db_datadict
-ROUTINE_NAME sp_6_408004
-ROUTINE_TYPE PROCEDURE
-DTD_IDENTIFIER NULL
-ROUTINE_BODY SQL
-ROUTINE_DEFINITION begin
-declare done integer default 0;
-declare variable_number_1 longtext;
-declare variable_number_2 mediumint;
-declare variable_number_3 longblob;
-declare variable_number_4 real;
-declare variable_number_5 year;
-declare cursor_number_1 cursor for select * from res_6_408004_1 limit 0, 10;
-declare cursor_number_2 cursor for select * from res_6_408004_1 limit 0, 10;
-declare cursor_number_3 cursor for select * from res_6_408004_1 limit 0, 10;
-declare cursor_number_4 cursor for select * from res_6_408004_1 limit 0, 10;
-declare cursor_number_5 cursor for select * from res_6_408004_1 limit 0, 10;
-declare continue handler for sqlstate '02000' set done = 1;
-begin
-open cursor_number_1;
-while done <> 1 do
-fetch cursor_number_1 into variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5;
-if done <> 0 then
-insert into res_6_408004_2 values (variable_number_1, variable_number_2, variable_number_3,
-variable_number_4, variable_number_5);
-end if;
-end while;
-begin
-begin
-set done = 0;
-open cursor_number_2;
-while done <> 1 do
-fetch cursor_number_2 into variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5;
-if done <> 0 then
-insert into res_6_408004_2 values(variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5);
-end if;
-end while;
-end;
-set done = 0;
-open cursor_number_3;
-while done <> 1 do
-fetch cursor_number_3 into variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5;
-if done <> 0 then
-insert into res_6_408004_2 values(variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5);
-end if;
-end while;
-end;
-end;
-begin
-set done = 0;
-open cursor_number_4;
-while done <> 1 do
-fetch cursor_number_4 into variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5;
-if done <> 0 then
-insert into res_6_408004_2 values (variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5);
-end if;
-end while;
-end;
-begin
-set @a='test row';
-select @a;
-select @a;
-select @a;
-end;
-begin
-set done = 0;
-open cursor_number_5;
-while done <> 1 do
-fetch cursor_number_5 into variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5;
-if done <> 0 then
-insert into res_6_408004_2 values (variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5);
-end if;
-end while;
-end;
-begin
-set @a='test row';
-select @a;
-select @a;
-select @a;
-end;
-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 YYYY-MM-DD hh:mm:ss
-LAST_ALTERED YYYY-MM-DD hh:mm:ss
-SQL_MODE
-ROUTINE_COMMENT
-DEFINER root@localhost
-LENGTH(routine_definition) 2549
-use db_datadict;
-drop procedure sp_6_408004;
-drop table res_6_408004_1;
-drop table res_6_408004_2;
-use test;
-drop database db_datadict;
-
-Testcase 3.2.9.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC schemata;
-Field Type Null Key Default Extra
-CATALOG_NAME varchar(4096) YES NULL
-SCHEMA_NAME varchar(64) NO
-DEFAULT_CHARACTER_SET_NAME varchar(64) NO
-DEFAULT_COLLATION_NAME varchar(64) NO
-SQL_PATH varchar(4096) YES NULL
-SHOW CREATE TABLE schemata;
-Table Create Table
-SCHEMATA CREATE TEMPORARY TABLE `SCHEMATA` (
- `CATALOG_NAME` varchar(4096) DEFAULT NULL,
- `SCHEMA_NAME` varchar(64) NOT NULL DEFAULT '',
- `DEFAULT_CHARACTER_SET_NAME` varchar(64) NOT NULL DEFAULT '',
- `DEFAULT_COLLATION_NAME` varchar(64) NOT NULL DEFAULT '',
- `SQL_PATH` varchar(4096) DEFAULT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'schemata'
-ORDER BY ordinal_position;
-COUNT(*)
-5
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'schemata'
-ORDER BY ordinal_position;
-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
-NULL information_schema SCHEMATA CATALOG_NAME 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema SCHEMATA SCHEMA_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA DEFAULT_COLLATION_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA SQL_PATH 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-
-Testcase 3.2.9.2 + 3.2.9.3:
---------------------------------------------------------------------------------
-CREATE USER 'user_1'@'localhost';
-CREATE USER 'user_2'@'localhost';
-CREATE USER 'user_3'@'localhost';
-DROP DATABASE IF EXISTS db_datadict_1;
-DROP DATABASE IF EXISTS db_datadict_2;
-CREATE DATABASE db_datadict_1;
-CREATE DATABASE db_datadict_2;
-GRANT SELECT ON db_datadict_1.* to 'user_1'@'localhost';
-GRANT SELECT ON db_datadict_2.* to 'user_2'@'localhost';
-FLUSH PRIVILEGES;
-connect(localhost,user_1,,db_datadict_1,MYSQL_PORT,MYSQL_SOCK);
-SELECT COUNT(*) FROM information_schema.schemata;
-COUNT(*)
-3
-SELECT * FROM information_schema.schemata;
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL information_schema utf8 utf8_general_ci NULL
-NULL db_datadict_1 latin1 latin1_swedish_ci NULL
-NULL test latin1 latin1_swedish_ci NULL
-connect(localhost,user_2,,db_datadict_2,MYSQL_PORT,MYSQL_SOCK);
-SELECT COUNT(*) FROM information_schema.schemata;
-COUNT(*)
-3
-SELECT * FROM information_schema.schemata;
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL information_schema utf8 utf8_general_ci NULL
-NULL db_datadict_2 latin1 latin1_swedish_ci NULL
-NULL test latin1 latin1_swedish_ci NULL
-connect(localhost,user_3,,test,MYSQL_PORT,MYSQL_SOCK);
-SELECT COUNT(*) FROM information_schema.schemata;
-COUNT(*)
-2
-SELECT * FROM information_schema.schemata;
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL information_schema utf8 utf8_general_ci NULL
-NULL test latin1 latin1_swedish_ci NULL
-
-root@localhost information_schema
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP USER 'user_3'@'localhost';
-DROP DATABASE db_datadict_1;
-DROP DATABASE db_datadict_2;
-
-Testcase 3.2.10.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC table_constraints;
-Field Type Null Key Default Extra
-CONSTRAINT_CATALOG varchar(4096) YES NULL
-CONSTRAINT_SCHEMA varchar(64) NO
-CONSTRAINT_NAME varchar(64) NO
-TABLE_SCHEMA varchar(64) NO
-TABLE_NAME varchar(64) NO
-CONSTRAINT_TYPE varchar(64) NO
-SHOW CREATE TABLE table_constraints;
-Table Create Table
-TABLE_CONSTRAINTS CREATE TEMPORARY TABLE `TABLE_CONSTRAINTS` (
- `CONSTRAINT_CATALOG` varchar(4096) DEFAULT NULL,
- `CONSTRAINT_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `CONSTRAINT_NAME` varchar(64) NOT NULL DEFAULT '',
- `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `TABLE_NAME` varchar(64) NOT NULL DEFAULT '',
- `CONSTRAINT_TYPE` varchar(64) NOT NULL DEFAULT ''
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'table_constraints'
-ORDER BY ordinal_position;
-COUNT(*)
-6
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'table_constraints'
-ORDER BY ordinal_position;
-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
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS TABLE_SCHEMA 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS TABLE_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-
-Testcase 3.2.10.2 + 3.2.10.3:
---------------------------------------------------------------------------------
-CREATE USER 'user_1'@'localhost';
-CREATE USER 'user_2'@'localhost';
-DROP DATABASE IF EXISTS db_datadict;
-DROP DATABASE IF EXISTS db_datadict_2;
-CREATE DATABASE db_datadict;
-CREATE DATABASE db_datadict_2;
-USE db_datadict;
-CREATE TABLE res_6_401003_1(f1 INT NOT NULL, PRIMARY KEY(f1), f2 INT, INDEX f2_ind(f2));
-USE db_datadict_2;
-CREATE TABLE res_6_401003_2(f1 INT NOT NULL, PRIMARY KEY(f1), f2 INT, INDEX f2_ind(f2));
-GRANT SELECT ON db_datadict.res_6_401003_1 TO 'user_1'@'localhost';
-GRANT SELECT ON db_datadict_2.res_6_401003_2 TO 'user_2'@'localhost';
-FLUSH PRIVILEGES;
-connect(localhost,user_1,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.table_constraints;
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE
-NULL db_datadict PRIMARY db_datadict res_6_401003_1 PRIMARY KEY
-SELECT COUNT(*) FROM information_schema.table_constraints;
-COUNT(*)
-1
-connect(localhost,user_2,,db_datadict_2,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.table_constraints;
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE
-NULL db_datadict_2 PRIMARY db_datadict_2 res_6_401003_2 PRIMARY KEY
-SELECT COUNT(*) FROM information_schema.table_constraints;
-COUNT(*)
-1
-use db_datadict;
-
-root@localhost db_datadict
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP TABLE res_6_401003_1;
-USE db_datadict_2;
-DROP TABLE res_6_401003_2;
-USE test;
-DROP DATABASE db_datadict;
-DROP DATABASE db_datadict_2;
-
-Testcase 3.2.11.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC table_privileges;
-Field Type Null Key Default Extra
-GRANTEE varchar(81) NO
-TABLE_CATALOG varchar(4096) YES NULL
-TABLE_SCHEMA varchar(64) NO
-TABLE_NAME varchar(64) NO
-PRIVILEGE_TYPE varchar(64) NO
-IS_GRANTABLE varchar(3) NO
-SHOW CREATE TABLE table_privileges;
-Table Create Table
-TABLE_PRIVILEGES CREATE TEMPORARY TABLE `TABLE_PRIVILEGES` (
- `GRANTEE` varchar(81) NOT NULL DEFAULT '',
- `TABLE_CATALOG` varchar(4096) DEFAULT NULL,
- `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `TABLE_NAME` varchar(64) NOT NULL DEFAULT '',
- `PRIVILEGE_TYPE` varchar(64) NOT NULL DEFAULT '',
- `IS_GRANTABLE` varchar(3) NOT NULL DEFAULT ''
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'table_privileges'
-ORDER BY ordinal_position;
-COUNT(*)
-6
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'table_privileges'
-ORDER BY ordinal_position;
-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
-NULL information_schema TABLE_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema TABLE_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLE_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES PRIVILEGE_TYPE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES IS_GRANTABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-
-Testcase 3.2.11.2 + 3.2.11.3 + 3.2.11.4:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-create database db_datadict;
-CREATE USER 'user_1'@'localhost';
-GRANT CREATE, SELECT ON db_datadict.* TO 'user_1'@'localhost' WITH GRANT OPTION;
-CREATE USER 'user_2'@'localhost';
-CREATE USER 'user_3'@'localhost';
-use db_datadict;
-create table tb1(f1 int, f2 int, f3 int);
-grant select on db_datadict.tb1 to 'user_1'@'localhost';
-GRANT ALL on db_datadict.tb1 to 'user_2'@'localhost' WITH GRANT OPTION;
-FLUSH PRIVILEGES;
-connect(localhost,user_1,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-CREATE TABLE tb3 (f1 TEXT);
-GRANT SELECT ON db_datadict.tb3 to 'user_3'@'localhost';
-SELECT * FROM information_schema.table_privileges
-WHERE table_name LIKE 'tb%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL db_datadict tb1 SELECT NO
-connect(localhost,user_2,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.table_privileges;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-'user_2'@'localhost' NULL db_datadict tb1 SELECT YES
-'user_2'@'localhost' NULL db_datadict tb1 INSERT YES
-'user_2'@'localhost' NULL db_datadict tb1 UPDATE YES
-'user_2'@'localhost' NULL db_datadict tb1 DELETE YES
-'user_2'@'localhost' NULL db_datadict tb1 CREATE YES
-'user_2'@'localhost' NULL db_datadict tb1 DROP YES
-'user_2'@'localhost' NULL db_datadict tb1 REFERENCES YES
-'user_2'@'localhost' NULL db_datadict tb1 INDEX YES
-'user_2'@'localhost' NULL db_datadict tb1 ALTER YES
-'user_2'@'localhost' NULL db_datadict tb1 CREATE VIEW YES
-'user_2'@'localhost' NULL db_datadict tb1 SHOW VIEW YES
-'user_2'@'localhost' NULL db_datadict tb1 TRIGGER YES
-SELECT USER(), COUNT(*)
-FROM information_schema.table_privileges
-WHERE grantee = USER();
-USER() COUNT(*)
-user_2@localhost 0
-SELECT USER(), COUNT(*)
-FROM information_schema.table_privileges
-WHERE grantee = "'user_2'@'localhost'";
-USER() COUNT(*)
-user_2@localhost 12
-connect(localhost,user_3,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.table_privileges;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-'user_3'@'localhost' NULL db_datadict tb3 SELECT NO
-
-root@localhost db_datadict
-SELECT * FROM information_schema.table_privileges;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-'user_2'@'localhost' NULL db_datadict tb1 SELECT YES
-'user_2'@'localhost' NULL db_datadict tb1 INSERT YES
-'user_2'@'localhost' NULL db_datadict tb1 UPDATE YES
-'user_2'@'localhost' NULL db_datadict tb1 DELETE YES
-'user_2'@'localhost' NULL db_datadict tb1 CREATE YES
-'user_2'@'localhost' NULL db_datadict tb1 DROP YES
-'user_2'@'localhost' NULL db_datadict tb1 REFERENCES YES
-'user_2'@'localhost' NULL db_datadict tb1 INDEX YES
-'user_2'@'localhost' NULL db_datadict tb1 ALTER YES
-'user_2'@'localhost' NULL db_datadict tb1 CREATE VIEW YES
-'user_2'@'localhost' NULL db_datadict tb1 SHOW VIEW YES
-'user_2'@'localhost' NULL db_datadict tb1 TRIGGER YES
-'user_1'@'localhost' NULL db_datadict tb1 SELECT NO
-'user_3'@'localhost' NULL db_datadict tb3 SELECT NO
-
-root@localhost db_datadict
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP USER 'user_3'@'localhost';
-drop table db_datadict.tb1;
-drop table db_datadict.tb3;
-use test;
-drop database db_datadict;
-
-Testcase 3.2.12.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC tables;
-Field Type Null Key Default Extra
-TABLE_CATALOG varchar(4096) YES NULL
-TABLE_SCHEMA varchar(64) NO
-TABLE_NAME varchar(64) NO
-TABLE_TYPE varchar(64) NO
-ENGINE varchar(64) YES NULL
-VERSION bigint(21) unsigned YES NULL
-ROW_FORMAT varchar(10) YES NULL
-TABLE_ROWS bigint(21) unsigned YES NULL
-AVG_ROW_LENGTH bigint(21) unsigned YES NULL
-DATA_LENGTH bigint(21) unsigned YES NULL
-MAX_DATA_LENGTH bigint(21) unsigned YES NULL
-INDEX_LENGTH bigint(21) unsigned YES NULL
-DATA_FREE bigint(21) unsigned YES NULL
-AUTO_INCREMENT bigint(21) unsigned YES NULL
-CREATE_TIME datetime YES NULL
-UPDATE_TIME datetime YES NULL
-CHECK_TIME datetime YES NULL
-TABLE_COLLATION varchar(64) YES NULL
-CHECKSUM bigint(21) unsigned YES NULL
-CREATE_OPTIONS varchar(255) YES NULL
-TABLE_COMMENT varchar(80) NO
-SHOW CREATE TABLE tables;
-Table Create Table
-TABLES CREATE TEMPORARY TABLE `TABLES` (
- `TABLE_CATALOG` varchar(4096) DEFAULT NULL,
- `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `TABLE_NAME` varchar(64) NOT NULL DEFAULT '',
- `TABLE_TYPE` varchar(64) NOT NULL DEFAULT '',
- `ENGINE` varchar(64) DEFAULT NULL,
- `VERSION` bigint(21) unsigned DEFAULT NULL,
- `ROW_FORMAT` varchar(10) DEFAULT NULL,
- `TABLE_ROWS` bigint(21) unsigned DEFAULT NULL,
- `AVG_ROW_LENGTH` bigint(21) unsigned DEFAULT NULL,
- `DATA_LENGTH` bigint(21) unsigned DEFAULT NULL,
- `MAX_DATA_LENGTH` bigint(21) unsigned DEFAULT NULL,
- `INDEX_LENGTH` bigint(21) unsigned DEFAULT NULL,
- `DATA_FREE` bigint(21) unsigned DEFAULT NULL,
- `AUTO_INCREMENT` bigint(21) unsigned DEFAULT NULL,
- `CREATE_TIME` datetime DEFAULT NULL,
- `UPDATE_TIME` datetime DEFAULT NULL,
- `CHECK_TIME` datetime DEFAULT NULL,
- `TABLE_COLLATION` varchar(64) DEFAULT NULL,
- `CHECKSUM` bigint(21) unsigned DEFAULT NULL,
- `CREATE_OPTIONS` varchar(255) DEFAULT NULL,
- `TABLE_COMMENT` varchar(80) NOT NULL DEFAULT ''
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'tables'
-ORDER BY ordinal_position;
-COUNT(*)
-21
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'tables'
-ORDER BY ordinal_position;
-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
-NULL information_schema TABLES TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
-NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-
-Testcase 3.2.12.2 + 3.2.12.3:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-create database db_datadict;
-CREATE USER 'user_1'@'localhost';
-GRANT CREATE, CREATE VIEW, INSERT, SELECT ON db_datadict.*
-TO 'user_1'@'localhost' WITH GRANT OPTION;
-CREATE USER 'user_2'@'localhost';
-CREATE USER 'user_3'@'localhost';
-use db_datadict;
-create table tb1(f1 int, f2 int, f3 int);
-grant select on db_datadict.tb1 to 'user_1'@'localhost';
-GRANT ALL on db_datadict.tb1 to 'user_2'@'localhost' WITH GRANT OPTION;
-FLUSH PRIVILEGES;
-connect(localhost,user_1,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-CREATE TABLE tb2 (f1 DECIMAL);
-CREATE TABLE tb3 (f1 TEXT);
-GRANT SELECT ON db_datadict.tb3 to 'user_3'@'localhost';
-GRANT INSERT ON db_datadict.tb3 to 'user_2'@'localhost';
-CREATE VIEW v3 AS SELECT * FROM tb3;
-GRANT SELECT ON db_datadict.v3 to 'user_3'@'localhost';
-SELECT * FROM information_schema.tables
-WHERE table_schema = 'information_schema';
-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
-NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLUMNS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema ENGINES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema EVENTS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema FILES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema GLOBAL_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema GLOBAL_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema PARTITIONS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema PLUGINS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema PROCESSLIST SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema REFERENTIAL_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema ROUTINES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SESSION_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SESSION_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema STATISTICS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TABLES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema VIEWS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-SELECT * FROM information_schema.tables
-WHERE NOT( table_schema = 'information_schema');
-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
-NULL db_datadict tb1 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL db_datadict tb2 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL VIEW
-NULL test t1 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB
-NULL test t10 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB
-NULL test t11 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB
-NULL test t2 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB
-NULL test t3 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB
-NULL test t4 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB
-NULL test t7 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB
-NULL test t8 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB
-NULL test t9 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB
-NULL test tb1 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB
-NULL test tb2 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB
-NULL test tb3 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB
-NULL test tb4 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB
-connect(localhost,user_2,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.tables
-WHERE table_schema = 'information_schema';
-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
-NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLUMNS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema ENGINES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema EVENTS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema FILES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema GLOBAL_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema GLOBAL_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema PARTITIONS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema PLUGINS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema PROCESSLIST SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema REFERENTIAL_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema ROUTINES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SESSION_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SESSION_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema STATISTICS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TABLES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema VIEWS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-SELECT * FROM information_schema.tables
-WHERE NOT( table_schema = 'information_schema');
-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
-NULL db_datadict tb1 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t1 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB
-NULL test t10 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB
-NULL test t11 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB
-NULL test t2 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB
-NULL test t3 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB
-NULL test t4 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB
-NULL test t7 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB
-NULL test t8 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB
-NULL test t9 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB
-NULL test tb1 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB
-NULL test tb2 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB
-NULL test tb3 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB
-NULL test tb4 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB
-connect(localhost,user_3,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.tables
-WHERE table_schema = 'information_schema';
-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
-NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLUMNS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema ENGINES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema EVENTS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema FILES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema GLOBAL_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema GLOBAL_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema PARTITIONS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema PLUGINS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema PROCESSLIST SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema REFERENTIAL_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema ROUTINES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SESSION_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SESSION_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema STATISTICS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TABLES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema VIEWS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-SELECT * FROM information_schema.tables
-WHERE NOT( table_schema = 'information_schema');
-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
-NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL VIEW
-NULL test t1 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB
-NULL test t10 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB
-NULL test t11 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB
-NULL test t2 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB
-NULL test t3 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB
-NULL test t4 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB
-NULL test t7 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB
-NULL test t8 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB
-NULL test t9 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB
-NULL test tb1 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB
-NULL test tb2 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB
-NULL test tb3 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB
-NULL test tb4 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB
-
-root@localhost db_datadict
-SELECT * FROM information_schema.tables
-WHERE table_schema = 'information_schema';
-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
-NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLUMNS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema ENGINES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema EVENTS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema FILES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema GLOBAL_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema GLOBAL_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema PARTITIONS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema PLUGINS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema PROCESSLIST SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema REFERENTIAL_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema ROUTINES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SESSION_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SESSION_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema STATISTICS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TABLES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema VIEWS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-SELECT * FROM information_schema.tables
-WHERE NOT( table_schema = 'information_schema');
-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
-NULL db_datadict tb1 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL db_datadict tb2 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL VIEW
-NULL mysql columns_priv BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Column privileges
-NULL mysql db BASE TABLE MyISAM 10 Fixed 3 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Database privileges
-NULL mysql event BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Events
-NULL mysql func BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL User defined functions
-NULL mysql general_log BASE TABLE CSV 10 Dynamic 2 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL General log
-NULL mysql help_category BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL help categories
-NULL mysql help_keyword BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL help keywords
-NULL mysql help_relation BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL keyword-topic relation
-NULL mysql help_topic BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL help topics
-NULL mysql host BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Host privileges; Merged with database privileges
-NULL mysql ndb_binlog_index BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL mysql plugin BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL MySQL plugins
-NULL mysql proc BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Stored Procedures
-NULL mysql procs_priv BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Procedure privileges
-NULL mysql servers BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL MySQL Foreign Servers table
-NULL mysql slow_log BASE TABLE CSV 10 Dynamic 2 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Slow log
-NULL mysql tables_priv BASE TABLE MyISAM 10 Fixed 5 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Table privileges
-NULL mysql time_zone BASE TABLE MyISAM 10 Fixed 5 #ARL# #DL# #MDL# #IL# #DF# 6 YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Time zones
-NULL mysql time_zone_leap_second BASE TABLE MyISAM 10 Fixed 22 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Leap seconds information for time zones
-NULL mysql time_zone_name BASE TABLE MyISAM 10 Fixed 6 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Time zone names
-NULL mysql time_zone_transition BASE TABLE MyISAM 10 Fixed 393 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Time zone transitions
-NULL mysql time_zone_transition_type BASE TABLE MyISAM 10 Fixed 31 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Time zone transition types
-NULL mysql user BASE TABLE MyISAM 10 Dynamic 6 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Users and global privileges
-NULL test t1 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB
-NULL test t10 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB
-NULL test t11 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB
-NULL test t2 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB
-NULL test t3 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB
-NULL test t4 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB
-NULL test t7 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB
-NULL test t8 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB
-NULL test t9 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB
-NULL test tb1 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB
-NULL test tb2 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB
-NULL test tb3 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB
-NULL test tb4 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB
-NULL test1 tb2 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB
-NULL test4 t6 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP USER 'user_3'@'localhost';
-DROP TABLE db_datadict.tb1;
-DROP TABLE db_datadict.tb3;
-DROP VIEW db_datadict.v3;
-USE test;
-DROP DATABASE db_datadict;
-
-Testcase 3.2.13.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC views;
-Field Type Null Key Default Extra
-TABLE_CATALOG varchar(4096) YES NULL
-TABLE_SCHEMA varchar(64) NO
-TABLE_NAME varchar(64) NO
-VIEW_DEFINITION longtext NO
-CHECK_OPTION varchar(8) NO
-IS_UPDATABLE varchar(3) NO
-DEFINER varchar(77) NO
-SECURITY_TYPE varchar(7) NO
-SHOW CREATE TABLE views;
-Table Create Table
-VIEWS CREATE TEMPORARY TABLE `VIEWS` (
- `TABLE_CATALOG` varchar(4096) DEFAULT NULL,
- `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `TABLE_NAME` varchar(64) NOT NULL DEFAULT '',
- `VIEW_DEFINITION` longtext NOT NULL,
- `CHECK_OPTION` varchar(8) NOT NULL DEFAULT '',
- `IS_UPDATABLE` varchar(3) NOT NULL DEFAULT '',
- `DEFINER` varchar(77) NOT NULL DEFAULT '',
- `SECURITY_TYPE` varchar(7) NOT NULL DEFAULT ''
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'views'
-ORDER BY ordinal_position;
-COUNT(*)
-8
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'views'
-ORDER BY ordinal_position;
-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
-NULL information_schema VIEWS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema VIEWS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema VIEWS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema VIEWS VIEW_DEFINITION 4 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema VIEWS CHECK_OPTION 5 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema VIEWS IS_UPDATABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema VIEWS DEFINER 7 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
-NULL information_schema VIEWS SECURITY_TYPE 8 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select
-
-Testcase 3.2.13.2 + 3.2.13.3:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-CREATE DATABASE db_datadict;
-CREATE USER 'user_1'@'localhost';
-CREATE USER 'user_2'@'localhost';
-CREATE USER 'user_no_views'@'localhost';
-USE db_datadict;
-CREATE TABLE tb_401302(f1 INT, f2 INT, f3 INT);
-CREATE VIEW v_granted_to_1 AS SELECT * FROM tb_401302;
-CREATE VIEW v_granted_glob AS SELECT f2, f3 FROM tb_401302;
-GRANT SELECT ON db_datadict.tb_401302 TO 'user_1'@'localhost';
-GRANT SELECT ON db_datadict.v_granted_to_1 TO 'user_1'@'localhost';
-GRANT SHOW VIEW, CREATE VIEW ON db_datadict.* TO 'user_2'@'localhost';
-FLUSH PRIVILEGES;
-SELECT * FROM information_schema.views;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE
-NULL db_datadict v_granted_glob /* ALGORITHM=UNDEFINED */ select `db_datadict`.`tb_401302`.`f2` AS `f2`,`db_datadict`.`tb_401302`.`f3` AS `f3` from `db_datadict`.`tb_401302` NONE YES root@localhost DEFINER
-NULL db_datadict v_granted_to_1 /* ALGORITHM=UNDEFINED */ select `db_datadict`.`tb_401302`.`f1` AS `f1`,`db_datadict`.`tb_401302`.`f2` AS `f2`,`db_datadict`.`tb_401302`.`f3` AS `f3` from `db_datadict`.`tb_401302` NONE YES root@localhost DEFINER
-connect(localhost,user_1,,test,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.views;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE
-NULL db_datadict v_granted_to_1 NONE YES root@localhost DEFINER
-connect(localhost,user_2,,test,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.views;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE
-NULL db_datadict v_granted_glob NONE YES root@localhost DEFINER
-NULL db_datadict v_granted_to_1 NONE YES root@localhost DEFINER
-connect(localhost,user_no_views,,test,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.views;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE
-
-root@localhost db_datadict
-USE db_datadict;
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP USER 'user_no_views'@'localhost';
-DROP VIEW v_granted_to_1;
-DROP TABLE tb_401302;
-DROP VIEW v_granted_glob;
-USE test;
-DROP DATABASE db_datadict;
-
-Testcase 3.2.14.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC statistics;
-Field Type Null Key Default Extra
-TABLE_CATALOG varchar(4096) YES NULL
-TABLE_SCHEMA varchar(64) NO
-TABLE_NAME varchar(64) NO
-NON_UNIQUE bigint(1) NO 0
-INDEX_SCHEMA varchar(64) NO
-INDEX_NAME varchar(64) NO
-SEQ_IN_INDEX bigint(2) NO 0
-COLUMN_NAME varchar(64) NO
-COLLATION varchar(1) YES NULL
-CARDINALITY bigint(21) YES NULL
-SUB_PART bigint(3) YES NULL
-PACKED varchar(10) YES NULL
-NULLABLE varchar(3) NO
-INDEX_TYPE varchar(16) NO
-COMMENT varchar(16) YES NULL
-SHOW CREATE TABLE statistics;
-Table Create Table
-STATISTICS CREATE TEMPORARY TABLE `STATISTICS` (
- `TABLE_CATALOG` varchar(4096) DEFAULT NULL,
- `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `TABLE_NAME` varchar(64) NOT NULL DEFAULT '',
- `NON_UNIQUE` bigint(1) NOT NULL DEFAULT '0',
- `INDEX_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `INDEX_NAME` varchar(64) NOT NULL DEFAULT '',
- `SEQ_IN_INDEX` bigint(2) NOT NULL DEFAULT '0',
- `COLUMN_NAME` varchar(64) NOT NULL DEFAULT '',
- `COLLATION` varchar(1) DEFAULT NULL,
- `CARDINALITY` bigint(21) DEFAULT NULL,
- `SUB_PART` bigint(3) DEFAULT NULL,
- `PACKED` varchar(10) DEFAULT NULL,
- `NULLABLE` varchar(3) NOT NULL DEFAULT '',
- `INDEX_TYPE` varchar(16) NOT NULL DEFAULT '',
- `COMMENT` varchar(16) DEFAULT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'statistics'
-ORDER BY ordinal_position;
-COUNT(*)
-15
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'statistics'
-ORDER BY ordinal_position;
-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
-NULL information_schema STATISTICS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema STATISTICS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS NON_UNIQUE 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(1) select
-NULL information_schema STATISTICS INDEX_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS INDEX_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS SEQ_IN_INDEX 7 0 NO bigint NULL NULL 19 0 NULL NULL bigint(2) select
-NULL information_schema STATISTICS COLUMN_NAME 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS COLLATION 9 NULL YES varchar 1 3 NULL NULL utf8 utf8_general_ci varchar(1) select
-NULL information_schema STATISTICS CARDINALITY 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select
-NULL information_schema STATISTICS SUB_PART 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema STATISTICS PACKED 12 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema STATISTICS NULLABLE 13 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema STATISTICS INDEX_TYPE 14 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema STATISTICS COMMENT 15 NULL YES varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-
-Testcase 3.2.14.2 + 3.2.14.3:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-DROP DATABASE IF EXISTS db_datadict_2;
-CREATE DATABASE db_datadict;
-CREATE DATABASE db_datadict_2;
-CREATE USER 'user_1'@'localhost';
-CREATE USER 'user_2'@'localhost';
-USE db_datadict;
-create table tb_6_401402_1(f1 int not null, primary key(f1), f2 int, index f2_ind(f2));
-create table tb_6_401402_2(f1 int not null, primary key(f1), f2 int, index f2_ind(f2));
-grant select on db_datadict.tb_6_401402_1 to 'user_1'@'localhost' WITH GRANT OPTION;
-USE db_datadict_2;
-create table tb_2_1(f1 int not null, primary key(f1), f2 int, index f2_ind(f2));
-create table tb_2_2(f1 int not null, primary key(f1), f2 int, index f2_ind(f2));
-grant select on db_datadict_2.tb_2_1 to 'user_1'@'localhost';
-FLUSH PRIVILEGES;
-connect(localhost,user_1,,test,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.statistics;
-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
-NULL db_datadict tb_6_401402_1 0 db_datadict PRIMARY 1 f1 A 0 NULL NULL BTREE
-NULL db_datadict tb_6_401402_1 1 db_datadict f2_ind 1 f2 A NULL NULL NULL YES BTREE
-NULL db_datadict_2 tb_2_1 0 db_datadict_2 PRIMARY 1 f1 A 0 NULL NULL BTREE
-NULL db_datadict_2 tb_2_1 1 db_datadict_2 f2_ind 1 f2 A NULL NULL NULL YES BTREE
-connect(localhost,user_2,,test,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.statistics;
-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
-
-root@localhost db_datadict_2
-REVOKE SELECT ON db_datadict.tb_6_401402_1 FROM 'user_1'@'localhost';
-SELECT * FROM information_schema.statistics;
-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
-NULL db_datadict tb_6_401402_1 0 db_datadict PRIMARY 1 f1 A 0 NULL NULL BTREE
-NULL db_datadict tb_6_401402_1 1 db_datadict f2_ind 1 f2 A NULL NULL NULL YES BTREE
-NULL db_datadict tb_6_401402_2 0 db_datadict PRIMARY 1 f1 A 0 NULL NULL BTREE
-NULL db_datadict tb_6_401402_2 1 db_datadict f2_ind 1 f2 A NULL NULL NULL YES BTREE
-NULL db_datadict_2 tb_2_1 0 db_datadict_2 PRIMARY 1 f1 A 0 NULL NULL BTREE
-NULL db_datadict_2 tb_2_1 1 db_datadict_2 f2_ind 1 f2 A NULL NULL NULL YES BTREE
-NULL db_datadict_2 tb_2_2 0 db_datadict_2 PRIMARY 1 f1 A 0 NULL NULL BTREE
-NULL db_datadict_2 tb_2_2 1 db_datadict_2 f2_ind 1 f2 A NULL NULL NULL YES BTREE
-NULL mysql columns_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-NULL mysql columns_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE
-NULL mysql columns_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE
-NULL mysql columns_priv 0 mysql PRIMARY 4 Table_name A NULL NULL NULL BTREE
-NULL mysql columns_priv 0 mysql PRIMARY 5 Column_name A 0 NULL NULL BTREE
-NULL mysql db 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-NULL mysql db 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE
-NULL mysql db 0 mysql PRIMARY 3 User A 2 NULL NULL BTREE
-NULL mysql db 1 mysql User 1 User A 1 NULL NULL BTREE
-NULL mysql event 0 mysql PRIMARY 1 db A NULL NULL NULL BTREE
-NULL mysql event 0 mysql PRIMARY 2 name A 0 NULL NULL BTREE
-NULL mysql func 0 mysql PRIMARY 1 name A 0 NULL NULL BTREE
-NULL mysql help_category 0 mysql PRIMARY 1 help_category_id A 0 NULL NULL BTREE
-NULL mysql help_category 0 mysql name 1 name A 0 NULL NULL BTREE
-NULL mysql help_keyword 0 mysql PRIMARY 1 help_keyword_id A 0 NULL NULL BTREE
-NULL mysql help_keyword 0 mysql name 1 name A 0 NULL NULL BTREE
-NULL mysql help_relation 0 mysql PRIMARY 1 help_keyword_id A NULL NULL NULL BTREE
-NULL mysql help_relation 0 mysql PRIMARY 2 help_topic_id A 0 NULL NULL BTREE
-NULL mysql help_topic 0 mysql PRIMARY 1 help_topic_id A 0 NULL NULL BTREE
-NULL mysql help_topic 0 mysql name 1 name A 0 NULL NULL BTREE
-NULL mysql host 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-NULL mysql host 0 mysql PRIMARY 2 Db A 0 NULL NULL BTREE
-NULL mysql ndb_binlog_index 0 mysql PRIMARY 1 epoch A 0 NULL NULL BTREE
-NULL mysql plugin 0 mysql PRIMARY 1 name A 0 NULL NULL BTREE
-NULL mysql proc 0 mysql PRIMARY 1 db A NULL NULL NULL BTREE
-NULL mysql proc 0 mysql PRIMARY 2 name A NULL NULL NULL BTREE
-NULL mysql proc 0 mysql PRIMARY 3 type A 0 NULL NULL BTREE
-NULL mysql procs_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-NULL mysql procs_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE
-NULL mysql procs_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE
-NULL mysql procs_priv 0 mysql PRIMARY 4 Routine_name A NULL NULL NULL BTREE
-NULL mysql procs_priv 0 mysql PRIMARY 5 Routine_type A 0 NULL NULL BTREE
-NULL mysql procs_priv 1 mysql Grantor 1 Grantor A NULL NULL NULL BTREE
-NULL mysql servers 0 mysql PRIMARY 1 Server_name A 0 NULL NULL BTREE
-NULL mysql tables_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-NULL mysql tables_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE
-NULL mysql tables_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE
-NULL mysql tables_priv 0 mysql PRIMARY 4 Table_name A 2 NULL NULL BTREE
-NULL mysql tables_priv 1 mysql Grantor 1 Grantor A NULL NULL NULL BTREE
-NULL mysql time_zone 0 mysql PRIMARY 1 Time_zone_id A 5 NULL NULL BTREE
-NULL mysql time_zone_leap_second 0 mysql PRIMARY 1 Transition_time A 22 NULL NULL BTREE
-NULL mysql time_zone_name 0 mysql PRIMARY 1 Name A 6 NULL NULL BTREE
-NULL mysql time_zone_transition 0 mysql PRIMARY 1 Time_zone_id A NULL NULL NULL BTREE
-NULL mysql time_zone_transition 0 mysql PRIMARY 2 Transition_time A 393 NULL NULL BTREE
-NULL mysql time_zone_transition_type 0 mysql PRIMARY 1 Time_zone_id A NULL NULL NULL BTREE
-NULL mysql time_zone_transition_type 0 mysql PRIMARY 2 Transition_type_id A 31 NULL NULL BTREE
-NULL mysql user 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-NULL mysql user 0 mysql PRIMARY 2 User A 5 NULL NULL BTREE
-
-user_1@localhost test
-SELECT * FROM information_schema.statistics;
-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
-NULL db_datadict tb_6_401402_1 0 db_datadict PRIMARY 1 f1 A 0 NULL NULL BTREE
-NULL db_datadict tb_6_401402_1 1 db_datadict f2_ind 1 f2 A NULL NULL NULL YES BTREE
-NULL db_datadict_2 tb_2_1 0 db_datadict_2 PRIMARY 1 f1 A 0 NULL NULL BTREE
-NULL db_datadict_2 tb_2_1 1 db_datadict_2 f2_ind 1 f2 A NULL NULL NULL YES BTREE
-
-user_2@localhost test
-SELECT * FROM information_schema.statistics;
-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
-
-root@localhost db_datadict_2
-USE db_datadict;
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP TABLE tb_6_401402_1;
-DROP TABLE tb_6_401402_2;
-USE test;
-DROP DATABASE db_datadict;
-
-Testcase 3.2.15.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC schema_privileges;
-Field Type Null Key Default Extra
-GRANTEE varchar(81) NO
-TABLE_CATALOG varchar(4096) YES NULL
-TABLE_SCHEMA varchar(64) NO
-PRIVILEGE_TYPE varchar(64) NO
-IS_GRANTABLE varchar(3) NO
-SHOW CREATE TABLE schema_privileges;
-Table Create Table
-SCHEMA_PRIVILEGES CREATE TEMPORARY TABLE `SCHEMA_PRIVILEGES` (
- `GRANTEE` varchar(81) NOT NULL DEFAULT '',
- `TABLE_CATALOG` varchar(4096) DEFAULT NULL,
- `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `PRIVILEGE_TYPE` varchar(64) NOT NULL DEFAULT '',
- `IS_GRANTABLE` varchar(3) NOT NULL DEFAULT ''
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'schema_privileges'
-ORDER BY ordinal_position;
-COUNT(*)
-5
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'schema_privileges'
-ORDER BY ordinal_position;
-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
-NULL information_schema SCHEMA_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema SCHEMA_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMA_PRIVILEGES IS_GRANTABLE 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-
-Testcase 3.2.15.2:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-DROP DATABASE IF EXISTS db_datadict_2;
-create database db_datadict;
-create database db_datadict_2;
-CREATE USER 'u_6_401502'@'localhost';
-use db_datadict;
-create table res_6_401502(f1 int, f2 int, f3 int);
-grant insert on db_datadict.* to 'u_6_401502'@'localhost';
-FLUSH PRIVILEGES;
-SELECT * FROM information_schema.schema_privileges;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
-'u_6_401502'@'localhost' NULL db_datadict INSERT NO
-''@'%' NULL test SELECT NO
-''@'%' NULL test INSERT NO
-''@'%' NULL test UPDATE NO
-''@'%' NULL test DELETE NO
-''@'%' NULL test CREATE NO
-''@'%' NULL test DROP NO
-''@'%' NULL test REFERENCES NO
-''@'%' NULL test INDEX NO
-''@'%' NULL test ALTER NO
-''@'%' NULL test CREATE TEMPORARY TABLES NO
-''@'%' NULL test LOCK TABLES NO
-''@'%' NULL test CREATE VIEW NO
-''@'%' NULL test SHOW VIEW NO
-''@'%' NULL test CREATE ROUTINE NO
-''@'%' NULL test EVENT NO
-''@'%' NULL test TRIGGER NO
-''@'%' NULL test\_% SELECT NO
-''@'%' NULL test\_% INSERT NO
-''@'%' NULL test\_% UPDATE NO
-''@'%' NULL test\_% DELETE NO
-''@'%' NULL test\_% CREATE NO
-''@'%' NULL test\_% DROP NO
-''@'%' NULL test\_% REFERENCES NO
-''@'%' NULL test\_% INDEX NO
-''@'%' NULL test\_% ALTER NO
-''@'%' NULL test\_% CREATE TEMPORARY TABLES NO
-''@'%' NULL test\_% LOCK TABLES NO
-''@'%' NULL test\_% CREATE VIEW NO
-''@'%' NULL test\_% SHOW VIEW NO
-''@'%' NULL test\_% CREATE ROUTINE NO
-''@'%' NULL test\_% EVENT NO
-''@'%' NULL test\_% TRIGGER NO
-connect(localhost,u_6_401502,,test,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.schema_privileges;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
-'u_6_401502'@'localhost' NULL db_datadict INSERT NO
-use db_datadict;
-
-root@localhost db_datadict
-DROP USER 'u_6_401502'@'localhost';
-drop table res_6_401502;
-use test;
-drop database db_datadict;
-drop database db_datadict_2;
-
-Testcase 3.2.15.3 + 3.2.15.4:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-DROP DATABASE IF EXISTS db_datadict_2;
-create database db_datadict;
-create database db_datadict_2;
-CREATE USER 'u_6_401503_1'@'localhost';
-CREATE USER 'u_6_401503_2'@'localhost';
-CREATE USER 'u_6_401503_3'@'localhost';
-use db_datadict;
-create table res_6_401503_1(f1 int, f2 int, f3 int);
-use db_datadict_2;
-create table res_6_401503_2(f1 int, f2 int, f3 int);
-grant update on db_datadict.* to 'u_6_401503_1'@'localhost';
-grant delete on db_datadict_2.* to 'u_6_401503_2'@'localhost';
-FLUSH PRIVILEGES;
-SELECT * FROM information_schema.schema_privileges;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
-'u_6_401503_1'@'localhost' NULL db_datadict UPDATE NO
-'u_6_401503_2'@'localhost' NULL db_datadict_2 DELETE NO
-''@'%' NULL test SELECT NO
-''@'%' NULL test INSERT NO
-''@'%' NULL test UPDATE NO
-''@'%' NULL test DELETE NO
-''@'%' NULL test CREATE NO
-''@'%' NULL test DROP NO
-''@'%' NULL test REFERENCES NO
-''@'%' NULL test INDEX NO
-''@'%' NULL test ALTER NO
-''@'%' NULL test CREATE TEMPORARY TABLES NO
-''@'%' NULL test LOCK TABLES NO
-''@'%' NULL test CREATE VIEW NO
-''@'%' NULL test SHOW VIEW NO
-''@'%' NULL test CREATE ROUTINE NO
-''@'%' NULL test EVENT NO
-''@'%' NULL test TRIGGER NO
-''@'%' NULL test\_% SELECT NO
-''@'%' NULL test\_% INSERT NO
-''@'%' NULL test\_% UPDATE NO
-''@'%' NULL test\_% DELETE NO
-''@'%' NULL test\_% CREATE NO
-''@'%' NULL test\_% DROP NO
-''@'%' NULL test\_% REFERENCES NO
-''@'%' NULL test\_% INDEX NO
-''@'%' NULL test\_% ALTER NO
-''@'%' NULL test\_% CREATE TEMPORARY TABLES NO
-''@'%' NULL test\_% LOCK TABLES NO
-''@'%' NULL test\_% CREATE VIEW NO
-''@'%' NULL test\_% SHOW VIEW NO
-''@'%' NULL test\_% CREATE ROUTINE NO
-''@'%' NULL test\_% EVENT NO
-''@'%' NULL test\_% TRIGGER NO
-connect(localhost,u_6_401503_1,,test,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.schema_privileges;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
-'u_6_401503_1'@'localhost' NULL db_datadict UPDATE NO
-connect(localhost,u_6_401503_2,,test,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.schema_privileges;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
-'u_6_401503_2'@'localhost' NULL db_datadict_2 DELETE NO
-connect(localhost,u_6_401503_3,,test,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.schema_privileges;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
-
-root@localhost db_datadict_2
-use db_datadict;
-DROP USER 'u_6_401503_1'@'localhost';
-DROP USER 'u_6_401503_2'@'localhost';
-DROP USER 'u_6_401503_3'@'localhost';
-drop table res_6_401503_1;
-use db_datadict_2;
-drop table res_6_401503_2;
-use test;
-drop database db_datadict;
-drop database db_datadict_2;
-
-Testcase 3.2.16.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC user_privileges;
-Field Type Null Key Default Extra
-GRANTEE varchar(81) NO
-TABLE_CATALOG varchar(4096) YES NULL
-PRIVILEGE_TYPE varchar(64) NO
-IS_GRANTABLE varchar(3) NO
-SHOW CREATE TABLE user_privileges;
-Table Create Table
-USER_PRIVILEGES CREATE TEMPORARY TABLE `USER_PRIVILEGES` (
- `GRANTEE` varchar(81) NOT NULL DEFAULT '',
- `TABLE_CATALOG` varchar(4096) DEFAULT NULL,
- `PRIVILEGE_TYPE` varchar(64) NOT NULL DEFAULT '',
- `IS_GRANTABLE` varchar(3) NOT NULL DEFAULT ''
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'user_privileges'
-ORDER BY ordinal_position;
-COUNT(*)
-4
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'user_privileges'
-ORDER BY ordinal_position;
-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
-NULL information_schema USER_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema USER_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema USER_PRIVILEGES PRIVILEGE_TYPE 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema USER_PRIVILEGES IS_GRANTABLE 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-
-Testcase 3.2.16.2 + 3.2.16.3 + 3.2.16.4:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-CREATE DATABASE db_datadict;
-CREATE USER 'user_1'@'localhost';
-CREATE USER 'user_2'@'localhost';
-CREATE USER 'user_3'@'localhost';
-GRANT SELECT ON db_datadict.* TO 'user_1'@'localhost';
-GRANT SELECT ON mysql.user TO 'user_1'@'localhost';
-GRANT INSERT ON *.* TO 'user_2'@'localhost';
-GRANT UPDATE ON *.* TO 'user_2'@'localhost';
-FLUSH PRIVILEGES;
-
-FIXME (see Bug 12269) Here we expect more than only <USAGE> for user_1
-----------------------------------------------------------------------
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL USAGE NO
-'user_2'@'localhost' NULL INSERT NO
-'user_2'@'localhost' NULL UPDATE NO
-'user_3'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" 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 ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost user_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 0 0 0 0
-localhost user_2 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 0 0 0 0
-localhost user_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 N N N 0 0 0 0
-SHOW GRANTS;
-Grants for root@localhost
-GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
-
-add GRANT OPTION db_datadict.* to user_1
-----------------------------------------
-GRANT UPDATE ON db_datadict.* TO 'user_1'@'localhost' WITH GRANT OPTION;
-
-FIXME (see Bug 12269) Here the <YES> is missing for the GRANT OPTION for user_1
--------------------------------------------------------------------------------
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL USAGE NO
-'user_2'@'localhost' NULL INSERT NO
-'user_2'@'localhost' NULL UPDATE NO
-'user_3'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" 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 ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost user_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 0 0 0 0
-localhost user_2 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 0 0 0 0
-localhost user_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 N N N 0 0 0 0
-SHOW GRANTS;
-Grants for root@localhost
-GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
-FLUSH PRIVILEGES;
-connect(localhost,user_1,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" 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 ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost user_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 0 0 0 0
-localhost user_2 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 0 0 0 0
-localhost user_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 N N N 0 0 0 0
-SHOW GRANTS;
-Grants for user_1@localhost
-GRANT USAGE ON *.* TO 'user_1'@'localhost'
-GRANT SELECT, UPDATE ON `db_datadict`.* TO 'user_1'@'localhost' WITH GRANT OPTION
-GRANT SELECT ON `mysql`.`user` TO 'user_1'@'localhost'
-
-Now add SELECT on *.* to user_1
--------------------------------
-
-root@localhost information_schema
-GRANT SELECT ON *.* TO 'user_1'@'localhost';
-
-Here <SELECT NO> is shown correctly for user_1
-----------------------------------------------
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL SELECT NO
-'user_2'@'localhost' NULL INSERT NO
-'user_2'@'localhost' NULL UPDATE NO
-'user_3'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" 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 ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost user_1 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 0 0 0 0
-localhost user_2 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 0 0 0 0
-localhost user_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 N N N 0 0 0 0
-SHOW GRANTS;
-Grants for root@localhost
-GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
-GRANT SELECT ON *.* TO 'user_1'@'localhost' WITH GRANT OPTION;
-
-Here <SELECT YES> is shown correctly for user_1
------------------------------------------------
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL SELECT YES
-'user_2'@'localhost' NULL INSERT NO
-'user_2'@'localhost' NULL UPDATE NO
-'user_3'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" 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 ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost user_1 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 0 0 0 0
-localhost user_2 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 0 0 0 0
-localhost user_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 N N N 0 0 0 0
-SHOW GRANTS;
-Grants for root@localhost
-GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
-FLUSH PRIVILEGES;
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL SELECT YES
-'user_2'@'localhost' NULL INSERT NO
-'user_2'@'localhost' NULL UPDATE NO
-'user_3'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" 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 ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost user_1 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 0 0 0 0
-localhost user_2 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 0 0 0 0
-localhost user_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 N N N 0 0 0 0
-SHOW GRANTS;
-Grants for root@localhost
-GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
-
-user_1@localhost db_datadict
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL SELECT YES
-SELECT * FROM mysql.user WHERE user LIKE "%user%" 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 ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost user_1 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 0 0 0 0
-localhost user_2 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 0 0 0 0
-localhost user_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 N N N 0 0 0 0
-SHOW GRANTS;
-Grants for user_1@localhost
-GRANT SELECT ON *.* TO 'user_1'@'localhost' WITH GRANT OPTION
-GRANT SELECT, UPDATE ON `db_datadict`.* TO 'user_1'@'localhost' WITH GRANT OPTION
-GRANT SELECT ON `mysql`.`user` TO 'user_1'@'localhost'
-connect(localhost,user_2,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_2'@'localhost' NULL INSERT NO
-'user_2'@'localhost' NULL UPDATE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user;
-ERROR 42000: SELECT command denied to user 'user_2'@'localhost' for table 'user'
-SHOW GRANTS;
-Grants for user_2@localhost
-GRANT INSERT, UPDATE ON *.* TO 'user_2'@'localhost'
-connect(localhost,user_3,,test,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_3'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user;
-ERROR 42000: SELECT command denied to user 'user_3'@'localhost' for table 'user'
-SHOW GRANTS;
-Grants for user_3@localhost
-GRANT USAGE ON *.* TO 'user_3'@'localhost'
-
-revoke privileges from user_1
------------------------------
-
-root@localhost information_schema
-REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'user_1'@'localhost';
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL USAGE NO
-'user_2'@'localhost' NULL INSERT NO
-'user_2'@'localhost' NULL UPDATE NO
-'user_3'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" 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 ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost user_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 0 0 0 0
-localhost user_2 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 0 0 0 0
-localhost user_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 N N N 0 0 0 0
-SHOW GRANTS;
-Grants for root@localhost
-GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
-
-user_1@localhost db_datadict
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user;
-ERROR 42000: SELECT command denied to user 'user_1'@'localhost' for table 'user'
-SHOW GRANTS;
-Grants for user_1@localhost
-GRANT USAGE ON *.* TO 'user_1'@'localhost'
-
-user_1@localhost db_datadict
-CREATE TABLE db_datadict.tb_55 ( c1 TEXT );
-ERROR 42000: CREATE command denied to user 'user_1'@'localhost' for table 'tb_55'
-
-user_1@localhost db_datadict
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user;
-ERROR 42000: SELECT command denied to user 'user_1'@'localhost' for table 'user'
-SHOW GRANTS;
-Grants for user_1@localhost
-GRANT USAGE ON *.* TO 'user_1'@'localhost'
-CREATE TABLE db_datadict.tb_66 ( c1 TEXT );
-ERROR 42000: CREATE command denied to user 'user_1'@'localhost' for table 'tb_66'
-
-add ALL on db_datadict.* (and select on mysql.user) to user_1
--------------------------------------------------------------
-
-root@localhost information_schema
-GRANT ALL ON db_datadict.* TO 'user_1'@'localhost' WITH GRANT OPTION;
-GRANT SELECT ON mysql.user TO 'user_1'@'localhost';
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL USAGE NO
-'user_2'@'localhost' NULL INSERT NO
-'user_2'@'localhost' NULL UPDATE NO
-'user_3'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" 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 ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost user_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 0 0 0 0
-localhost user_2 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 0 0 0 0
-localhost user_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 N N N 0 0 0 0
-SHOW GRANTS;
-Grants for root@localhost
-GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
-
-user_1@localhost db_datadict
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" 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 ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost user_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 0 0 0 0
-localhost user_2 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 0 0 0 0
-localhost user_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 N N N 0 0 0 0
-SHOW GRANTS;
-Grants for user_1@localhost
-GRANT USAGE ON *.* TO 'user_1'@'localhost'
-GRANT ALL PRIVILEGES ON `db_datadict`.* TO 'user_1'@'localhost' WITH GRANT OPTION
-GRANT SELECT ON `mysql`.`user` TO 'user_1'@'localhost'
-CREATE TABLE db_datadict.tb_56 ( c1 TEXT );
-ERROR 42000: CREATE command denied to user 'user_1'@'localhost' for table 'tb_56'
-USE db_datadict;
-
-user_1@localhost db_datadict
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" 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 ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost user_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 0 0 0 0
-localhost user_2 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 0 0 0 0
-localhost user_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 N N N 0 0 0 0
-SHOW GRANTS;
-Grants for user_1@localhost
-GRANT USAGE ON *.* TO 'user_1'@'localhost'
-GRANT ALL PRIVILEGES ON `db_datadict`.* TO 'user_1'@'localhost' WITH GRANT OPTION
-GRANT SELECT ON `mysql`.`user` TO 'user_1'@'localhost'
-CREATE TABLE tb_57 ( c1 TEXT );
-
-revoke privileges from user_1
------------------------------
-
-root@localhost information_schema
-REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'user_1'@'localhost';
-FLUSH PRIVILEGES;
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL USAGE NO
-'user_2'@'localhost' NULL INSERT NO
-'user_2'@'localhost' NULL UPDATE NO
-'user_3'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" 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 ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost user_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 0 0 0 0
-localhost user_2 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 0 0 0 0
-localhost user_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 N N N 0 0 0 0
-SHOW GRANTS;
-Grants for root@localhost
-GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
-
-user_1@localhost db_datadict
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user;
-ERROR 42000: SELECT command denied to user 'user_1'@'localhost' for table 'user'
-SHOW GRANTS;
-Grants for user_1@localhost
-GRANT USAGE ON *.* TO 'user_1'@'localhost'
-CREATE TABLE db_datadict.tb_58 ( c1 TEXT );
-USE db_datadict;
-ERROR 42000: Access denied for user 'user_1'@'localhost' to database 'db_datadict'
-CREATE TABLE db_datadict.tb_59 ( c1 TEXT );
-
-root@localhost information_schema
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP USER 'user_3'@'localhost';
-DROP DATABASE IF EXISTS db_datadict;
-
-Testcase 3.2.17: Checks on Performance - not here in this script!
---------------------------------------------------------------------------------
-
-Testcase 3.2.18.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC triggers;
-Field Type Null Key Default Extra
-TRIGGER_CATALOG varchar(4096) YES NULL
-TRIGGER_SCHEMA varchar(64) NO
-TRIGGER_NAME varchar(64) NO
-EVENT_MANIPULATION varchar(6) NO
-EVENT_OBJECT_CATALOG varchar(4096) YES NULL
-EVENT_OBJECT_SCHEMA varchar(64) NO
-EVENT_OBJECT_TABLE varchar(64) NO
-ACTION_ORDER bigint(4) NO 0
-ACTION_CONDITION longtext YES NULL
-ACTION_STATEMENT longtext NO
-ACTION_ORIENTATION varchar(9) NO
-ACTION_TIMING varchar(6) NO
-ACTION_REFERENCE_OLD_TABLE varchar(64) YES NULL
-ACTION_REFERENCE_NEW_TABLE varchar(64) YES NULL
-ACTION_REFERENCE_OLD_ROW varchar(3) NO
-ACTION_REFERENCE_NEW_ROW varchar(3) NO
-CREATED datetime YES NULL
-SQL_MODE longtext NO
-DEFINER longtext NO
-SHOW CREATE TABLE triggers;
-Table Create Table
-TRIGGERS CREATE TEMPORARY TABLE `TRIGGERS` (
- `TRIGGER_CATALOG` varchar(4096) DEFAULT NULL,
- `TRIGGER_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `TRIGGER_NAME` varchar(64) NOT NULL DEFAULT '',
- `EVENT_MANIPULATION` varchar(6) NOT NULL DEFAULT '',
- `EVENT_OBJECT_CATALOG` varchar(4096) DEFAULT NULL,
- `EVENT_OBJECT_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `EVENT_OBJECT_TABLE` varchar(64) NOT NULL DEFAULT '',
- `ACTION_ORDER` bigint(4) NOT NULL DEFAULT '0',
- `ACTION_CONDITION` longtext,
- `ACTION_STATEMENT` longtext NOT NULL,
- `ACTION_ORIENTATION` varchar(9) NOT NULL DEFAULT '',
- `ACTION_TIMING` varchar(6) NOT NULL DEFAULT '',
- `ACTION_REFERENCE_OLD_TABLE` varchar(64) DEFAULT NULL,
- `ACTION_REFERENCE_NEW_TABLE` varchar(64) DEFAULT NULL,
- `ACTION_REFERENCE_OLD_ROW` varchar(3) NOT NULL DEFAULT '',
- `ACTION_REFERENCE_NEW_ROW` varchar(3) NOT NULL DEFAULT '',
- `CREATED` datetime DEFAULT NULL,
- `SQL_MODE` longtext NOT NULL,
- `DEFINER` longtext NOT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'triggers'
-ORDER BY ordinal_position;
-COUNT(*)
-19
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'triggers'
-ORDER BY ordinal_position;
-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
-NULL information_schema TRIGGERS TRIGGER_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TRIGGERS TRIGGER_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS TRIGGER_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS EVENT_MANIPULATION 4 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select
-NULL information_schema TRIGGERS EVENT_OBJECT_CATALOG 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TRIGGERS EVENT_OBJECT_SCHEMA 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS EVENT_OBJECT_TABLE 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_ORDER 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema TRIGGERS ACTION_CONDITION 9 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS ACTION_STATEMENT 10 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS ACTION_ORIENTATION 11 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
-NULL information_schema TRIGGERS ACTION_TIMING 12 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_TABLE 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_TABLE 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_ROW 15 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_ROW 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema TRIGGERS CREATED 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TRIGGERS SQL_MODE 18 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS DEFINER 19 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-
-Testcase 3.2.18.2 + 3.2.18.3:
---------------------------------------------------------------------------------
-
-Testcase 3.2.19.1:
---------------------------------------------------------------------------------
-
-checking a table that will be implemented later
------------------------------------------------
-DESC parameters;
-ERROR 42S02: Unknown table 'parameters' in information_schema
-
-Testcase 3.2.20.1:
---------------------------------------------------------------------------------
-DESC referential_constraints;
-Field Type Null Key Default Extra
-CONSTRAINT_CATALOG varchar(512) YES NULL
-CONSTRAINT_SCHEMA varchar(64) NO
-CONSTRAINT_NAME varchar(64) NO
-UNIQUE_CONSTRAINT_CATALOG varchar(512) YES NULL
-UNIQUE_CONSTRAINT_SCHEMA varchar(64) NO
-UNIQUE_CONSTRAINT_NAME varchar(64) NO
-MATCH_OPTION varchar(64) NO
-UPDATE_RULE varchar(64) NO
-DELETE_RULE varchar(64) NO
-TABLE_NAME varchar(64) NO
-REFERENCED_TABLE_NAME varchar(64) NO
-USE information_schema;
-DESC referential_constraints;
-Field Type Null Key Default Extra
-CONSTRAINT_CATALOG varchar(4096) YES NULL
-CONSTRAINT_SCHEMA varchar(64) NO
-CONSTRAINT_NAME varchar(64) NO
-UNIQUE_CONSTRAINT_CATALOG varchar(4096) YES NULL
-UNIQUE_CONSTRAINT_SCHEMA varchar(64) NO
-UNIQUE_CONSTRAINT_NAME varchar(64) NO
-MATCH_OPTION varchar(64) NO
-UPDATE_RULE varchar(64) NO
-DELETE_RULE varchar(64) NO
-TABLE_NAME varchar(64) NO
-REFERENCED_TABLE_NAME varchar(64) NO
-SHOW CREATE TABLE referential_constraints;
-Table Create Table
-REFERENTIAL_CONSTRAINTS CREATE TEMPORARY TABLE `REFERENTIAL_CONSTRAINTS` (
- `CONSTRAINT_CATALOG` varchar(4096) DEFAULT NULL,
- `CONSTRAINT_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `CONSTRAINT_NAME` varchar(64) NOT NULL DEFAULT '',
- `UNIQUE_CONSTRAINT_CATALOG` varchar(4096) DEFAULT NULL,
- `UNIQUE_CONSTRAINT_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `UNIQUE_CONSTRAINT_NAME` varchar(64) NOT NULL DEFAULT '',
- `MATCH_OPTION` varchar(64) NOT NULL DEFAULT '',
- `UPDATE_RULE` varchar(64) NOT NULL DEFAULT '',
- `DELETE_RULE` varchar(64) NOT NULL DEFAULT '',
- `TABLE_NAME` varchar(64) NOT NULL DEFAULT '',
- `REFERENCED_TABLE_NAME` varchar(64) NOT NULL DEFAULT ''
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'referential_constraints'
-ORDER BY ordinal_position;
-COUNT(*)
-11
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'referential_constraints'
-ORDER BY ordinal_position;
-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
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS MATCH_OPTION 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UPDATE_RULE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS DELETE_RULE 9 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS TABLE_NAME 10 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS REFERENCED_TABLE_NAME 11 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-
-*** End of Data Dictionary Tests ***
---------------------------------------------------------------------------------
-DROP TABLE IF EXISTS test.tb1;
-DROP TABLE IF EXISTS test.tb2;
-DROP TABLE IF EXISTS test.tb3;
-DROP TABLE IF EXISTS test.tb4;
-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.t7;
-DROP TABLE IF EXISTS test.t8;
-DROP TABLE IF EXISTS test.t9;
-DROP TABLE IF EXISTS test.t10;
-DROP TABLE IF EXISTS test.t11;
-DROP DATABASE IF EXISTS test1;
-DROP DATABASE IF EXISTS test4;
-DROP DATABASE IF EXISTS db_datadict;
-DROP DATABASE IF EXISTS db_datadict_1;
-DROP DATABASE IF EXISTS db_datadict_2;
diff --git a/mysql-test/suite/funcs_1/r/innodb__load.result b/mysql-test/suite/funcs_1/r/innodb__load.result
deleted file mode 100644
index c1b9c89b257..00000000000
--- a/mysql-test/suite/funcs_1/r/innodb__load.result
+++ /dev/null
@@ -1 +0,0 @@
-SET @NO_REFRESH = IF( '' = '', 0, 1);
diff --git a/mysql-test/suite/funcs_1/r/innodb_bitdata.result b/mysql-test/suite/funcs_1/r/innodb_bitdata.result
index 57f7b017e69..917157fcdae 100644
--- a/mysql-test/suite/funcs_1/r/innodb_bitdata.result
+++ b/mysql-test/suite/funcs_1/r/innodb_bitdata.result
@@ -1,67 +1,3 @@
-SET @NO_REFRESH = IF( '' = '', 0, 1);
-USE test;
-drop table if exists tb4;
-create table tb4 (
-f176 numeric (0) unsigned not null DEFAULT 9,
-f177 numeric (64) unsigned not null DEFAULT 9,
-f178 numeric (0) zerofill not null DEFAULT 9,
-f179 numeric (64) zerofill not null DEFAULT 9,
-f180 numeric (0) unsigned zerofill not null DEFAULT 9,
-f181 numeric (64) unsigned zerofill not null DEFAULT 9,
-f182 numeric (0,0) not null DEFAULT 9,
-f183 numeric (63,30) not null DEFAULT 9,
-f184 numeric (0,0) unsigned not null DEFAULT 9,
-f185 numeric (63,30) unsigned not null DEFAULT 9,
-f186 numeric (0,0) zerofill not null DEFAULT 9,
-f187 numeric (63,30) zerofill not null DEFAULT 9,
-f188 numeric (0,0) unsigned zerofill not null DEFAULT 9,
-f189 numeric (63,30) unsigned zerofill not null DEFAULT 9,
-f190 real not null DEFAULT 88.8,
-f191 real unsigned not null DEFAULT 88.8,
-f192 real zerofill not null DEFAULT 88.8,
-f193 real unsigned zerofill not null DEFAULT 88.8,
-f194 double not null DEFAULT 55.5,
-f195 double unsigned not null DEFAULT 55.5,
-f196 double zerofill not null DEFAULT 55.5,
-f197 double unsigned zerofill not null DEFAULT 55.5,
-f198 float,
-f199 float unsigned,
-f200 float zerofill,
-f201 float unsigned zerofill,
-f202 float(0),
-f203 float(23),
-f204 float(0) unsigned,
-f205 float(23) unsigned,
-f206 float(0) zerofill,
-f207 float(23) zerofill,
-f208 float(0) unsigned zerofill,
-f209 float(23) unsigned zerofill,
-f210 float(24),
-f211 float(53),
-f212 float(24) unsigned,
-f213 float(53) unsigned,
-f214 float(24) zerofill,
-f215 float(53) zerofill,
-f216 float(24) unsigned zerofill,
-f217 float(53) unsigned zerofill,
-f218 date,
-f219 time,
-f220 datetime,
-f221 timestamp,
-f222 year,
-f223 year(3),
-f224 year(4),
-f225 enum("1enum","2enum"),
-f226 set("1set","2set"),
-f235 char(0) unicode,
-f236 char(90),
-f237 char(255) ascii,
-f238 varchar(0),
-f239 varchar(20000) binary,
-f240 varchar(2000) unicode,
-f241 char(100) unicode
-) engine = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/innodb_tb4.txt' into table tb4 ;
NOT YET IMPLEMENTED: bitdata tests
--------------------------------------------------------------------------------
diff --git a/mysql-test/suite/funcs_1/r/innodb_cursors.result b/mysql-test/suite/funcs_1/r/innodb_cursors.result
index bcb692c30d7..9f20e51204b 100644
--- a/mysql-test/suite/funcs_1/r/innodb_cursors.result
+++ b/mysql-test/suite/funcs_1/r/innodb_cursors.result
@@ -1,81 +1,3 @@
-SET @NO_REFRESH = IF( '' = '', 0, 1);
-USE test;
-drop table if exists tb1 ;
-create table tb1 (
-f1 char(0),
-f2 char(0) binary,
-f3 char(0) ascii,
-f4 tinytext unicode,
-f5 text,
-f6 mediumtext,
-f7 longtext,
-f8 tinyblob,
-f9 blob,
-f10 mediumblob,
-f11 longblob,
-f12 binary,
-f13 tinyint,
-f14 tinyint unsigned,
-f15 tinyint zerofill,
-f16 tinyint unsigned zerofill,
-f17 smallint,
-f18 smallint unsigned,
-f19 smallint zerofill,
-f20 smallint unsigned zerofill,
-f21 mediumint,
-f22 mediumint unsigned,
-f23 mediumint zerofill,
-f24 mediumint unsigned zerofill,
-f25 int,
-f26 int unsigned,
-f27 int zerofill,
-f28 int unsigned zerofill,
-f29 bigint,
-f30 bigint unsigned,
-f31 bigint zerofill,
-f32 bigint unsigned zerofill,
-f33 decimal,
-f34 decimal unsigned,
-f35 decimal zerofill,
-f36 decimal unsigned zerofill not null DEFAULT 9.9,
-f37 decimal (0) not null DEFAULT 9.9,
-f38 decimal (64) not null DEFAULT 9.9,
-f39 decimal (0) unsigned not null DEFAULT 9.9,
-f40 decimal (64) unsigned not null DEFAULT 9.9,
-f41 decimal (0) zerofill not null DEFAULT 9.9,
-f42 decimal (64) zerofill not null DEFAULT 9.9,
-f43 decimal (0) unsigned zerofill not null DEFAULT 9.9,
-f44 decimal (64) unsigned zerofill not null DEFAULT 9.9,
-f45 decimal (0,0) not null DEFAULT 9.9,
-f46 decimal (63,30) not null DEFAULT 9.9,
-f47 decimal (0,0) unsigned not null DEFAULT 9.9,
-f48 decimal (63,30) unsigned not null DEFAULT 9.9,
-f49 decimal (0,0) zerofill not null DEFAULT 9.9,
-f50 decimal (63,30) zerofill not null DEFAULT 9.9,
-f51 decimal (0,0) unsigned zerofill not null DEFAULT 9.9,
-f52 decimal (63,30) unsigned zerofill not null DEFAULT 9.9,
-f53 numeric not null DEFAULT 99,
-f54 numeric unsigned not null DEFAULT 99,
-f55 numeric zerofill not null DEFAULT 99,
-f56 numeric unsigned zerofill not null DEFAULT 99,
-f57 numeric (0) not null DEFAULT 99,
-f58 numeric (64) not null DEFAULT 99
-) engine = innodb;
-Warnings:
-Note 1265 Data truncated for column 'f36' at row 1
-Note 1265 Data truncated for column 'f37' at row 1
-Note 1265 Data truncated for column 'f38' at row 1
-Note 1265 Data truncated for column 'f39' at row 1
-Note 1265 Data truncated for column 'f40' at row 1
-Note 1265 Data truncated for column 'f41' at row 1
-Note 1265 Data truncated for column 'f42' at row 1
-Note 1265 Data truncated for column 'f43' at row 1
-Note 1265 Data truncated for column 'f44' at row 1
-Note 1265 Data truncated for column 'f45' at row 1
-Note 1265 Data truncated for column 'f47' at row 1
-Note 1265 Data truncated for column 'f49' at row 1
-Note 1265 Data truncated for column 'f51' at row 1
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/innodb_tb1.txt' into table tb1 ;
NOT YET IMPLEMENTED: cursor tests
--------------------------------------------------------------------------------
diff --git a/mysql-test/suite/funcs_1/r/innodb_func_view.result b/mysql-test/suite/funcs_1/r/innodb_func_view.result
index f901bcf8246..96e4f23976b 100644
--- a/mysql-test/suite/funcs_1/r/innodb_func_view.result
+++ b/mysql-test/suite/funcs_1/r/innodb_func_view.result
@@ -1,7 +1,3 @@
-
-! Attention: The file with the expected results suffers from
-Bug#10713: mysqldump includes database in create view and referenced tables
---------------------------------------------------------------------------------
DROP TABLE IF EXISTS t1_selects, t1_modes, t1_values;
DROP VIEW IF EXISTS v1;
CREATE TABLE t1_values
@@ -9,7 +5,7 @@ CREATE TABLE t1_values
id BIGINT AUTO_INCREMENT,
select_id BIGINT,
PRIMARY KEY(id)
-) ENGINE = 'InnoDB' ;
+) 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);
@@ -39,10 +35,10 @@ my_bigint = -9223372036854775808,
my_decimal = -9999999999999999999999999999999999.999999999999999999999999999999 ,
my_double = -1.7976931348623E+308;
INSERT INTO t1_values SET
-my_char_30 = '<--------30 characters------->',
+my_char_30 = '<--------30 characters------->',
my_varchar_1000 = CONCAT('<---------1000 characters',
RPAD('',965,'-'),'--------->'),
-my_binary_30 = '<--------30 characters------->',
+my_binary_30 = '<--------30 characters------->',
my_varbinary_1000 = CONCAT('<---------1000 characters',
RPAD('',965,'-'),'--------->'),
my_datetime = '9999-12-31 23:59:59',
@@ -54,23 +50,23 @@ 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_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_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_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',
@@ -89,6 +85,9 @@ 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,
@@ -101,6 +100,7 @@ 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,
@@ -113,6 +113,7 @@ 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,
@@ -123,10 +124,9 @@ 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;
-
-some statements disabled because of
-Bug#12440: CAST(data type DOUBLE AS TIME) strange results
---------------------------------------------------------------------------------
+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,
@@ -135,51 +135,39 @@ 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';
-
-some statements disabled because of
-Bug#13349: CAST(1.0E+300 TO DECIMAL) returns wrong result + diff little/big endian
---------------------------------------------------------------------------------
+INSERT INTO t1_values SET select_id = @select_id,
+my_double = -0.33333333E+4;
+##### 1.1.7. CAST --> SIGNED INTEGER
"Attention: CAST --> SIGNED INTEGER
- The file with expected results suffers from
- Bug#5083 Big integer values are inserted as negative into
- decimal/string columns
Bug#5913 Traditional mode: BIGINT range not correctly delimited
- Both have the status: To be fixed later"
---------------------------------------------------------------------------------
-
-some statements disabled because of
-Bug #13344: CAST(1E+300 TO signed int) on little endian CPU, wrong result
+ Status: To be fixed later"
--------------------------------------------------------------------------------
+##### 1.1.8. CAST --> UNSIGNED INTEGER
"Attention: CAST --> UNSIGNED INTEGER
- The file with expected results suffers from Bug 5083 5913 9809"
+ The file with expected results suffers from Bug 5913"
--------------------------------------------------------------------------------
some statements disabled because of
-Bugs#8663: cant use bgint unsigned as input to cast
+Bug#5913 Traditional mode: BIGINT range not correctly delimited
--------------------------------------------------------------------------------
-SET @my_select = 'SELECT CONVERT(my_char_30 USING utf8),
+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),
+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),
+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),
+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),
+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),
+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),
+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),
+SET @my_select = 'SELECT CONVERT(my_varbinary_1000 USING koi8r),
my_varbinary_1000, id FROM t1_values';
-
-"Attention: IF(my_year IS NULL, ...
- The file with expected results suffers from
- Bug#11689. successful CREATE VIEW but SELECT on view fails."
---------------------------------------------------------------------------------
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),
@@ -192,22 +180,20 @@ 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 =
+SET @my_select =
'SELECT LEFT(my_char_30, 2), my_char_30, id FROM t1_values';
-SET @my_select =
+SET @my_select =
'SELECT LEFT(my_varchar_1000, 2), my_varchar_1000, id FROM t1_values';
-SET @my_select =
+SET @my_select =
'SELECT LEFT(my_binary_30, 2), my_binary_30, id FROM t1_values';
-SET @my_select =
+SET @my_select =
'SELECT LEFT(my_varbinary_1000, 2), my_varbinary_1000, id FROM t1_values';
-
-"Attention: LEFT('AaBbCcDdEeFfGgHhIiJjÄäÜüÖö', <numeric column>)
- The file with expected results suffers from Bug 10963 11728"
- and the testcases with length = BIGINT or DOUBLE column are deactivated,
-because there are 32/64 Bit differences
---------------------------------------------------------------------------------
+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),
@@ -216,8 +202,10 @@ 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(''../log/current_test''), id FROM t1_values';
+SET @my_select =
+'SELECT LOAD_FILE(''<MYSQLTEST_VARDIR>/std_data_ln/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),
@@ -299,19 +287,19 @@ SET sql_mode = '';
--------------------------------------------------------------------------------
CREATE VIEW v1 AS SELECT my_char_30, id FROM t1_values;
SELECT my_char_30, id FROM t1_values
-WHERE select_id = 187 OR select_id IS NULL;
+WHERE select_id = 193 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 187 OR select_id IS NULL);
+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 = 186 OR select_id IS NULL;
+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
@@ -319,11 +307,11 @@ A<--------30 characters-------> <--------30 characters-------> 3
A ---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
A-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select concat(_latin1'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`
+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 = 186 OR select_id IS NULL);
+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
@@ -337,13 +325,13 @@ 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 = 185 OR select_id IS NULL;
+WHERE select_id = 191 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 185 OR select_id IS NULL);
+WHERE select_id = 191 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -351,13 +339,13 @@ 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 = 184 OR select_id IS NULL;
+WHERE select_id = 190 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 184 OR select_id IS NULL);
+WHERE select_id = 190 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -365,13 +353,13 @@ 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 = 183 OR select_id IS NULL;
+WHERE select_id = 189 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 183 OR select_id IS NULL);
+WHERE select_id = 189 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -379,13 +367,13 @@ 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 = 182 OR select_id IS NULL;
+WHERE select_id = 188 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 182 OR select_id IS NULL);
+WHERE select_id = 188 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -393,13 +381,13 @@ 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 = 181 OR select_id IS NULL;
+WHERE select_id = 187 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 181 OR select_id IS NULL);
+WHERE select_id = 187 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -407,13 +395,13 @@ 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 = 180 OR select_id IS NULL;
+WHERE select_id = 186 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 180 OR select_id IS NULL);
+WHERE select_id = 186 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -421,13 +409,13 @@ 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 = 179 OR select_id IS NULL;
+WHERE select_id = 185 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 179 OR select_id IS NULL);
+WHERE select_id = 185 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -435,13 +423,13 @@ 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 = 178 OR select_id IS NULL;
+WHERE select_id = 184 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 178 OR select_id IS NULL);
+WHERE select_id = 184 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -449,13 +437,13 @@ 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 = 177 OR select_id IS NULL;
+WHERE select_id = 183 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'-',_latin1' - -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`
+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 = 177 OR select_id IS NULL);
+WHERE select_id = 183 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -463,13 +451,13 @@ 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 = 176 OR select_id IS NULL;
+WHERE select_id = 182 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'-',_latin1' - -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`
+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 = 176 OR select_id IS NULL);
+WHERE select_id = 182 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -477,13 +465,13 @@ 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 = 175 OR select_id IS NULL;
+WHERE select_id = 181 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'-',_latin1' - -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`
+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 = 175 OR select_id IS NULL);
+WHERE select_id = 181 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -491,13 +479,13 @@ 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 = 174 OR select_id IS NULL;
+WHERE select_id = 180 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'-',`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`
+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 = 174 OR select_id IS NULL);
+WHERE select_id = 180 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -505,13 +493,13 @@ 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 = 173 OR select_id IS NULL;
+WHERE select_id = 179 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'-',`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`
+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 = 173 OR select_id IS NULL);
+WHERE select_id = 179 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -519,13 +507,13 @@ 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 = 172 OR select_id IS NULL;
+WHERE select_id = 178 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'-',`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`
+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 = 172 OR select_id IS NULL);
+WHERE select_id = 178 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -533,13 +521,13 @@ 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 = 171 OR select_id IS NULL;
+WHERE select_id = 177 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'-',`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`
+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 = 171 OR select_id IS NULL);
+WHERE select_id = 177 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -547,13 +535,13 @@ 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 = 170 OR select_id IS NULL;
+WHERE select_id = 176 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 170 OR select_id IS NULL);
+WHERE select_id = 176 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -561,13 +549,13 @@ 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 = 169 OR select_id IS NULL;
+WHERE select_id = 175 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 169 OR select_id IS NULL);
+WHERE select_id = 175 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -575,13 +563,13 @@ 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 = 168 OR select_id IS NULL;
+WHERE select_id = 174 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 168 OR select_id IS NULL);
+WHERE select_id = 174 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -589,13 +577,13 @@ 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 = 167 OR select_id IS NULL;
+WHERE select_id = 173 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 167 OR select_id IS NULL);
+WHERE select_id = 173 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -603,13 +591,13 @@ 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 = 166 OR select_id IS NULL;
+WHERE select_id = 172 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 166 OR select_id IS NULL);
+WHERE select_id = 172 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -617,13 +605,13 @@ 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 = 165 OR select_id IS NULL;
+WHERE select_id = 171 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 165 OR select_id IS NULL);
+WHERE select_id = 171 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -631,13 +619,13 @@ 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 = 164 OR select_id IS NULL;
+WHERE select_id = 170 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 164 OR select_id IS NULL);
+WHERE select_id = 170 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -645,13 +633,13 @@ 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 = 163 OR select_id IS NULL;
+WHERE select_id = 169 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 163 OR select_id IS NULL);
+WHERE select_id = 169 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -659,13 +647,13 @@ 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 = 162 OR select_id IS NULL;
+WHERE select_id = 168 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 162 OR select_id IS NULL);
+WHERE select_id = 168 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -673,13 +661,13 @@ 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 = 161 OR select_id IS NULL;
+WHERE select_id = 167 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 161 OR select_id IS NULL);
+WHERE select_id = 167 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -687,13 +675,13 @@ 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 = 160 OR select_id IS NULL;
+WHERE select_id = 166 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 160 OR select_id IS NULL);
+WHERE select_id = 166 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -701,13 +689,13 @@ 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 = 159 OR select_id IS NULL;
+WHERE select_id = 165 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 159 OR select_id IS NULL);
+WHERE select_id = 165 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -715,13 +703,13 @@ 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 = 158 OR select_id IS NULL;
+WHERE select_id = 164 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 158 OR select_id IS NULL);
+WHERE select_id = 164 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -729,13 +717,13 @@ 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 = 157 OR select_id IS NULL;
+WHERE select_id = 163 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 157 OR select_id IS NULL);
+WHERE select_id = 163 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -743,13 +731,13 @@ 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 = 156 OR select_id IS NULL;
+WHERE select_id = 162 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 156 OR select_id IS NULL);
+WHERE select_id = 162 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -757,13 +745,13 @@ 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 = 155 OR select_id IS NULL;
+WHERE select_id = 161 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 155 OR select_id IS NULL);
+WHERE select_id = 161 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -771,13 +759,13 @@ 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 = 154 OR select_id IS NULL;
+WHERE select_id = 160 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'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`
+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 = 154 OR select_id IS NULL);
+WHERE select_id = 160 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -785,13 +773,13 @@ 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 = 153 OR select_id IS NULL;
+WHERE select_id = 159 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'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`
+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 = 153 OR select_id IS NULL);
+WHERE select_id = 159 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -799,13 +787,13 @@ 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 = 152 OR select_id IS NULL;
+WHERE select_id = 158 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'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`
+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 = 152 OR select_id IS NULL);
+WHERE select_id = 158 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -813,46 +801,50 @@ 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 = 151 OR select_id IS NULL;
+WHERE select_id = 157 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'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`
+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 = 151 OR select_id IS NULL);
+WHERE select_id = 157 OR select_id IS NULL) order by id;
DROP VIEW v1;
-CREATE VIEW v1 AS SELECT LOAD_FILE('../log/current_test'), id FROM t1_values;
-SELECT LOAD_FILE('../log/current_test'), id FROM t1_values
-WHERE select_id = 150 OR select_id IS NULL;
-LOAD_FILE('../log/current_test') id
-CURRENT_TEST: innodb_func_view
+CREATE VIEW v1 AS SELECT LOAD_FILE('<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/load_file.txt')
+ AS my_col,
+ id FROM t1_values;
+SELECT LOAD_FILE('<MYSQLTEST_VARDIR>/std_data_ln/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
-CURRENT_TEST: innodb_func_view
+Here is content from load_file
2
-CURRENT_TEST: innodb_func_view
+Here is content from load_file
3
-CURRENT_TEST: innodb_func_view
+Here is content from load_file
4
-CURRENT_TEST: innodb_func_view
+Here is content from load_file
5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select load_file(_latin1'../log/current_test') AS `LOAD_FILE('../log/current_test')`,`t1_values`.`id` AS `id` from `t1_values`
+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_ln/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 = 150 OR select_id IS NULL);
-LOAD_FILE('../log/current_test') id
-CURRENT_TEST: innodb_func_view
+WHERE select_id = 156 OR select_id IS NULL) order by id;
+my_col id
+Here is content from load_file
1
-CURRENT_TEST: innodb_func_view
+Here is content from load_file
2
-CURRENT_TEST: innodb_func_view
+Here is content from load_file
3
-CURRENT_TEST: innodb_func_view
+Here is content from load_file
4
-CURRENT_TEST: innodb_func_view
+Here is content from load_file
5
DROP VIEW v1;
@@ -861,13 +853,13 @@ 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 = 149 OR select_id IS NULL;
+WHERE select_id = 155 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 149 OR select_id IS NULL);
+WHERE select_id = 155 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -875,13 +867,13 @@ 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 = 148 OR select_id IS NULL;
+WHERE select_id = 154 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 148 OR select_id IS NULL);
+WHERE select_id = 154 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -889,13 +881,13 @@ 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 = 147 OR select_id IS NULL;
+WHERE select_id = 153 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 147 OR select_id IS NULL);
+WHERE select_id = 153 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -903,19 +895,49 @@ 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 = 146 OR select_id IS NULL;
+WHERE select_id = 152 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 146 OR select_id IS NULL);
+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.7976931348623e+308 2
+AaBbCcDdEeFfGgHhIiJjÄäÜüÖö 1.7976931348623e+308 3
+ 0 4
+ -1 5
+Warnings:
+Warning 1292 Truncated incorrect INTEGER value: '-1.7976931348623e+308'
+Warning 1292 Truncated incorrect INTEGER value: '1.7976931348623e+308'
+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.7976931348623e+308 2
+AaBbCcDdEeFfGgHhIiJjÄäÜüÖö 1.7976931348623e+308 3
+ 0 4
+ -1 5
+Warnings:
+Warning 1292 Truncated incorrect INTEGER value: '-1.7976931348623e+308'
+Warning 1292 Truncated incorrect INTEGER value: '1.7976931348623e+308'
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 = 145 OR select_id IS NULL;
+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
@@ -926,11 +948,11 @@ Warnings:
Error 1292 Truncated incorrect DECIMAL value: ''
Error 1292 Truncated incorrect DECIMAL value: ''
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select left(_latin1'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`
+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 = 145 OR select_id IS NULL);
+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
@@ -943,9 +965,33 @@ Error 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 = 144 OR select_id IS NULL;
+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
@@ -953,11 +999,11 @@ NULL NULL 1
- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 144 OR select_id IS NULL);
+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
@@ -969,19 +1015,19 @@ 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 = 143 OR select_id IS NULL;
+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
- - ---äÖüß@µ*$--
--1 -1
+ - ---äÖüß@µ*$-- 4
+-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 143 OR select_id IS NULL);
+WHERE select_id = 147 OR select_id IS NULL) order by id;
LEFT(my_binary_30, 2) my_binary_30 id
NULL NULL 1
@@ -993,7 +1039,7 @@ 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 = 142 OR select_id IS NULL;
+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
@@ -1001,11 +1047,11 @@ NULL NULL 1
- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 142 OR select_id IS NULL);
+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
@@ -1017,7 +1063,7 @@ 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 = 141 OR select_id IS NULL;
+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
@@ -1025,11 +1071,11 @@ NULL NULL 1
- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 141 OR select_id IS NULL);
+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
@@ -1043,13 +1089,13 @@ 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 = 140 OR select_id IS NULL;
+WHERE select_id = 144 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 140 OR select_id IS NULL);
+WHERE select_id = 144 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -1057,13 +1103,13 @@ 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 = 139 OR select_id IS NULL;
+WHERE select_id = 143 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'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`
+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 = 139 OR select_id IS NULL);
+WHERE select_id = 143 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -1071,7 +1117,7 @@ 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 = 138 OR select_id IS NULL;
+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
@@ -1079,11 +1125,11 @@ NULL NULL 1
160 ---äÖüß@µ*$-- 4
16 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 138 OR select_id IS NULL);
+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
@@ -1097,19 +1143,19 @@ 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 = 137 OR select_id IS NULL;
+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 2
240 <--------30 characters-------> 3
-240 ---äÖüß@µ*$--
-240 -1
+240 ---äÖüß@µ*$-- 4
+240 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 137 OR select_id IS NULL);
+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
@@ -1123,7 +1169,7 @@ 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 = 136 OR select_id IS NULL;
+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
@@ -1131,11 +1177,11 @@ NULL NULL 1
160 ---äÖüß@µ*$-- 4
16 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 136 OR select_id IS NULL);
+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
@@ -1149,7 +1195,7 @@ 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 = 135 OR select_id IS NULL;
+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
@@ -1157,11 +1203,11 @@ NULL NULL 1
152 ---äÖüß@µ*$-- 4
16 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 135 OR select_id IS NULL);
+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
@@ -1175,7 +1221,7 @@ 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 = 134 OR select_id IS NULL;
+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
@@ -1183,11 +1229,11 @@ IS_NULL NULL 1
2000 2000 4
2005 2005 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_year`,_latin1'IS_NULL') AS `IFNULL(my_year,'IS_NULL')`,`t1_values`.`my_year` AS `my_year`,`t1_values`.`id` AS `id` from `t1_values`
+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 = 134 OR select_id IS NULL);
+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
@@ -1201,7 +1247,7 @@ 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 = 133 OR select_id IS NULL;
+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
@@ -1209,11 +1255,11 @@ IS_NULL NULL 1
13:00:00 13:00:00 4
10:00:00 10:00:00 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_time`,_latin1'IS_NULL') AS `IFNULL(my_time,'IS_NULL')`,`t1_values`.`my_time` AS `my_time`,`t1_values`.`id` AS `id` from `t1_values`
+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 = 133 OR select_id IS NULL);
+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
@@ -1227,7 +1273,7 @@ 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 = 132 OR select_id IS NULL;
+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
@@ -1235,11 +1281,11 @@ IFNULL(my_timestamp,'IS_NULL') my_timestamp id
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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_timestamp`,_latin1'IS_NULL') AS `IFNULL(my_timestamp,'IS_NULL')`,`t1_values`.`my_timestamp` AS `my_timestamp`,`t1_values`.`id` AS `id` from `t1_values`
+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 = 132 OR select_id IS NULL);
+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
@@ -1253,7 +1299,7 @@ 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 = 131 OR select_id IS NULL;
+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
@@ -1261,11 +1307,11 @@ IS_NULL NULL 1
2004-02-29 2004-02-29 4
2005-06-28 2005-06-28 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_date`,_latin1'IS_NULL') AS `IFNULL(my_date,'IS_NULL')`,`t1_values`.`my_date` AS `my_date`,`t1_values`.`id` AS `id` from `t1_values`
+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 = 131 OR select_id IS NULL);
+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
@@ -1279,7 +1325,7 @@ 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 = 130 OR select_id IS NULL;
+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
@@ -1287,11 +1333,11 @@ IS_NULL NULL 1
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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_datetime`,_latin1'IS_NULL') AS `IFNULL(my_datetime,'IS_NULL')`,`t1_values`.`my_datetime` AS `my_datetime`,`t1_values`.`id` AS `id` from `t1_values`
+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 = 130 OR select_id IS NULL);
+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
@@ -1305,7 +1351,7 @@ 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 = 129 OR select_id IS NULL;
+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.7976931348623e+308 -1.7976931348623e+308 2
@@ -1313,11 +1359,11 @@ IS_NULL NULL 1
0 0 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_double`,_latin1'IS_NULL') AS `IFNULL(my_double,'IS_NULL')`,`t1_values`.`my_double` AS `my_double`,`t1_values`.`id` AS `id` from `t1_values`
+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 = 129 OR select_id IS NULL);
+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.7976931348623e+308 -1.7976931348623e+308 2
@@ -1331,7 +1377,7 @@ 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 = 128 OR select_id IS NULL;
+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
@@ -1339,11 +1385,11 @@ IS_NULL NULL 1
0.000000000000000000000000000000 0.000000000000000000000000000000 4
-1.000000000000000000000000000000 -1.000000000000000000000000000000 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_decimal`,_latin1'IS_NULL') AS `IFNULL(my_decimal,'IS_NULL')`,`t1_values`.`my_decimal` AS `my_decimal`,`t1_values`.`id` AS `id` from `t1_values`
+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 = 128 OR select_id IS NULL);
+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
@@ -1357,7 +1403,7 @@ 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 = 127 OR select_id IS NULL;
+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
@@ -1365,11 +1411,11 @@ IS_NULL NULL 1
0 0 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_bigint`,_latin1'IS_NULL') AS `IFNULL(my_bigint,'IS_NULL')`,`t1_values`.`my_bigint` AS `my_bigint`,`t1_values`.`id` AS `id` from `t1_values`
+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 = 127 OR select_id IS NULL);
+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
@@ -1383,7 +1429,7 @@ 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 = 126 OR select_id IS NULL;
+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
@@ -1391,11 +1437,11 @@ IS_NULL NULL 1
---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_varbinary_1000`,_latin1'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`
+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 = 126 OR select_id IS NULL);
+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
@@ -1409,19 +1455,19 @@ 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 = 125 OR select_id IS NULL;
+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
- ---äÖüß@µ*$--
--1
+ ---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
+-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_binary_30`,_latin1'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`
+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 = 125 OR select_id IS NULL);
+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
@@ -1435,7 +1481,7 @@ 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 = 124 OR select_id IS NULL;
+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
@@ -1443,11 +1489,11 @@ IS_NULL NULL 1
---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_varchar_1000`,_latin1'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`
+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 = 124 OR select_id IS NULL);
+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
@@ -1461,7 +1507,7 @@ 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 = 123 OR select_id IS NULL;
+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
@@ -1469,11 +1515,11 @@ IS_NULL NULL 1
---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_char_30`,_latin1'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`
+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 = 123 OR select_id IS NULL);
+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
@@ -1487,7 +1533,7 @@ 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 = 122 OR select_id IS NULL;
+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
@@ -1496,12 +1542,12 @@ IS NOT NULL 2155 3
IS NOT NULL 2000 4
IS NOT NULL 2005 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_year`),_latin1'IS NULL',_latin1'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`
+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 = 122 OR select_id IS NULL);
+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
@@ -1516,7 +1562,7 @@ 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 = 121 OR select_id IS NULL;
+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
@@ -1525,12 +1571,12 @@ 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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_time`),_latin1'IS NULL',_latin1'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`
+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 = 121 OR select_id IS NULL);
+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
@@ -1545,7 +1591,7 @@ 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 = 120 OR select_id IS NULL;
+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
@@ -1554,12 +1600,12 @@ 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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_timestamp`),_latin1'IS NULL',_latin1'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`
+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 = 120 OR select_id IS NULL);
+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
@@ -1574,7 +1620,7 @@ 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 = 119 OR select_id IS NULL;
+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
@@ -1583,12 +1629,12 @@ 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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_date`),_latin1'IS NULL',_latin1'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`
+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 = 119 OR select_id IS NULL);
+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
@@ -1603,7 +1649,7 @@ 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 = 118 OR select_id IS NULL;
+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
@@ -1612,12 +1658,12 @@ 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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_datetime`),_latin1'IS NULL',_latin1'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`
+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 = 118 OR select_id IS NULL);
+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
@@ -1632,7 +1678,7 @@ 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 = 117 OR select_id IS NULL;
+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
@@ -1641,12 +1687,12 @@ IS NOT NULL 1.7976931348623e+308 3
IS NOT NULL 0 4
IS NOT NULL -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_double`),_latin1'IS NULL',_latin1'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`
+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 = 117 OR select_id IS NULL);
+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
@@ -1661,7 +1707,7 @@ 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 = 116 OR select_id IS NULL;
+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
@@ -1670,12 +1716,12 @@ 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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_decimal`),_latin1'IS NULL',_latin1'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`
+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 = 116 OR select_id IS NULL);
+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
@@ -1690,7 +1736,7 @@ 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 = 115 OR select_id IS NULL;
+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
@@ -1699,12 +1745,12 @@ IS NOT NULL 9223372036854775807 3
IS NOT NULL 0 4
IS NOT NULL -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_bigint`),_latin1'IS NULL',_latin1'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`
+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 = 115 OR select_id IS NULL);
+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
@@ -1719,7 +1765,7 @@ 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 = 114 OR select_id IS NULL;
+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
@@ -1728,12 +1774,12 @@ IS NOT NULL <---------1000 characters-------------------------------------------
IS NOT NULL ---äÖüß@µ*$-- 4
IS NOT NULL -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_varbinary_1000`),_latin1'IS NULL',_latin1'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`
+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 = 114 OR select_id IS NULL);
+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
@@ -1748,21 +1794,21 @@ 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 = 113 OR select_id IS NULL;
+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 2
IS NOT NULL <--------30 characters-------> 3
-IS NOT NULL ---äÖüß@µ*$--
-IS NOT NULL -1
+IS NOT NULL ---äÖüß@µ*$-- 4
+IS NOT NULL -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_binary_30`),_latin1'IS NULL',_latin1'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`
+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 = 113 OR select_id IS NULL);
+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
@@ -1777,7 +1823,7 @@ 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 = 112 OR select_id IS NULL;
+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
@@ -1786,12 +1832,12 @@ IS NOT NULL <---------1000 characters-------------------------------------------
IS NOT NULL ---äÖüß@µ*$-- 4
IS NOT NULL -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_varchar_1000`),_latin1'IS NULL',_latin1'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`
+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 = 112 OR select_id IS NULL);
+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
@@ -1806,7 +1852,7 @@ 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 = 111 OR select_id IS NULL;
+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
@@ -1815,12 +1861,12 @@ IS NOT NULL <--------30 characters-------> 3
IS NOT NULL ---äÖüß@µ*$-- 4
IS NOT NULL -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_char_30`),_latin1'IS NULL',_latin1'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`
+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 = 111 OR select_id IS NULL);
+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
@@ -1835,7 +1881,7 @@ 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 = 110 OR select_id IS NULL;
+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
@@ -1843,11 +1889,11 @@ IS TRUE 2155 3
IS TRUE 2000 4
IS TRUE 2005 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_year`,_latin1'IS TRUE',_latin1'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`
+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 = 110 OR select_id IS NULL);
+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
@@ -1861,7 +1907,7 @@ 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 = 109 OR select_id IS NULL;
+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
@@ -1869,11 +1915,11 @@ 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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_time`,_latin1'IS TRUE',_latin1'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`
+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 = 109 OR select_id IS NULL);
+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
@@ -1887,7 +1933,7 @@ 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 = 108 OR select_id IS NULL;
+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
@@ -1895,11 +1941,11 @@ 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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_timestamp`,_latin1'IS TRUE',_latin1'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`
+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 = 108 OR select_id IS NULL);
+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
@@ -1913,7 +1959,7 @@ 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 = 107 OR select_id IS NULL;
+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
@@ -1921,11 +1967,11 @@ 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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_date`,_latin1'IS TRUE',_latin1'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`
+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 = 107 OR select_id IS NULL);
+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
@@ -1939,7 +1985,7 @@ 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 = 106 OR select_id IS NULL;
+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
@@ -1947,11 +1993,11 @@ 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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_datetime`,_latin1'IS TRUE',_latin1'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`
+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 = 106 OR select_id IS NULL);
+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
@@ -1965,7 +2011,7 @@ 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 = 105 OR select_id IS NULL;
+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.7976931348623e+308 2
@@ -1973,11 +2019,11 @@ IS TRUE 1.7976931348623e+308 3
IS NOT TRUE 0 4
IS TRUE -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_double`,_latin1'IS TRUE',_latin1'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`
+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 = 105 OR select_id IS NULL);
+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.7976931348623e+308 2
@@ -1991,7 +2037,7 @@ 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 = 104 OR select_id IS NULL;
+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
@@ -1999,11 +2045,11 @@ IS TRUE 9999999999999999999999999999999999.999999999999999999999999999999 3
IS NOT TRUE 0.000000000000000000000000000000 4
IS TRUE -1.000000000000000000000000000000 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_decimal`,_latin1'IS TRUE',_latin1'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`
+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 = 104 OR select_id IS NULL);
+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
@@ -2017,7 +2063,7 @@ 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 = 103 OR select_id IS NULL;
+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
@@ -2025,11 +2071,11 @@ IS TRUE 9223372036854775807 3
IS NOT TRUE 0 4
IS TRUE -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_bigint`,_latin1'IS TRUE',_latin1'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`
+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 = 103 OR select_id IS NULL);
+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
@@ -2043,7 +2089,7 @@ 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 = 102 OR select_id IS NULL;
+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
@@ -2051,11 +2097,11 @@ IS NOT TRUE <---------1000 characters-------------------------------------------
IS NOT TRUE ---äÖüß@µ*$-- 4
IS TRUE -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_varbinary_1000`,_latin1'IS TRUE',_latin1'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`
+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 = 102 OR select_id IS NULL);
+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
@@ -2069,24 +2115,24 @@ 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 = 101 OR select_id IS NULL;
+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 2
IS NOT TRUE <--------30 characters-------> 3
-IS NOT TRUE ---äÖüß@µ*$--
-IS TRUE -1
+IS NOT TRUE ---äÖüß@µ*$-- 4
+IS TRUE -1 5
Warnings:
Warning 1292 Truncated incorrect DOUBLE value: ''
Warning 1292 Truncated incorrect DOUBLE value: '<--------30 characters------->'
Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$-- '
Warning 1292 Truncated incorrect DOUBLE value: '-1'
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_binary_30`,_latin1'IS TRUE',_latin1'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`
+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 = 101 OR select_id IS NULL);
+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
@@ -2105,7 +2151,7 @@ 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 = 100 OR select_id IS NULL;
+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
@@ -2113,11 +2159,11 @@ IS NOT TRUE <---------1000 characters-------------------------------------------
IS NOT TRUE ---äÖüß@µ*$-- 4
IS TRUE -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_varchar_1000`,_latin1'IS TRUE',_latin1'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`
+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 = 100 OR select_id IS NULL);
+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
@@ -2131,7 +2177,7 @@ 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 = 99 OR select_id IS NULL;
+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
@@ -2142,11 +2188,11 @@ Warnings:
Warning 1292 Truncated incorrect DOUBLE value: '<--------30 characters------->'
Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$-- '
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_char_30`,_latin1'IS TRUE',_latin1'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`
+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 = 99 OR select_id IS NULL);
+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
@@ -2159,11 +2205,11 @@ Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$-- '
DROP VIEW v1;
-CREATE VIEW v1 AS SELECT CONVERT(my_varbinary_1000 USING koi8r),
+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),
+SELECT CONVERT(my_varbinary_1000 USING koi8r),
my_varbinary_1000, id FROM t1_values
-WHERE select_id = 98 OR select_id IS NULL;
+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
@@ -2171,11 +2217,11 @@ NULL NULL 1
---???????÷@??*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 98 OR select_id IS NULL);
+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
@@ -2185,23 +2231,23 @@ NULL NULL 1
DROP VIEW v1;
-CREATE VIEW v1 AS SELECT CONVERT(my_binary_30 USING koi8r),
+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),
+SELECT CONVERT(my_binary_30 USING koi8r),
my_binary_30, id FROM t1_values
-WHERE select_id = 97 OR select_id IS NULL;
+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
- ---???????÷@??*$--
--1
+ ---???????÷@??*$-- ---äÖüß@µ*$-- 4
+-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 97 OR select_id IS NULL);
+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
@@ -2211,11 +2257,11 @@ NULL NULL 1
DROP VIEW v1;
-CREATE VIEW v1 AS SELECT CONVERT(my_varchar_1000 USING koi8r),
+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),
+SELECT CONVERT(my_varchar_1000 USING koi8r),
my_varchar_1000, id FROM t1_values
-WHERE select_id = 96 OR select_id IS NULL;
+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
@@ -2223,11 +2269,11 @@ NULL NULL 1
---????????@??*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 96 OR select_id IS NULL);
+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
@@ -2237,11 +2283,11 @@ NULL NULL 1
DROP VIEW v1;
-CREATE VIEW v1 AS SELECT CONVERT(my_char_30 USING koi8r),
+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),
+SELECT CONVERT(my_char_30 USING koi8r),
my_char_30, id FROM t1_values
-WHERE select_id = 95 OR select_id IS NULL;
+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
@@ -2249,11 +2295,11 @@ NULL NULL 1
---????????@??*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 95 OR select_id IS NULL);
+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
@@ -2263,11 +2309,11 @@ NULL NULL 1
DROP VIEW v1;
-CREATE VIEW v1 AS SELECT CONVERT(my_varbinary_1000 USING utf8),
+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),
+SELECT CONVERT(my_varbinary_1000 USING utf8),
my_varbinary_1000, id FROM t1_values
-WHERE select_id = 94 OR select_id IS NULL;
+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
@@ -2275,11 +2321,11 @@ NULL NULL 1
---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 94 OR select_id IS NULL);
+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
@@ -2289,23 +2335,23 @@ NULL NULL 1
DROP VIEW v1;
-CREATE VIEW v1 AS SELECT CONVERT(my_binary_30 USING utf8),
+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),
+SELECT CONVERT(my_binary_30 USING utf8),
my_binary_30, id FROM t1_values
-WHERE select_id = 93 OR select_id IS NULL;
+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
- ---äÖüß@µ*$--
--1
+ ---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
+-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 93 OR select_id IS NULL);
+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
@@ -2315,11 +2361,11 @@ NULL NULL 1
DROP VIEW v1;
-CREATE VIEW v1 AS SELECT CONVERT(my_varchar_1000 USING utf8),
+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),
+SELECT CONVERT(my_varchar_1000 USING utf8),
my_varchar_1000, id FROM t1_values
-WHERE select_id = 92 OR select_id IS NULL;
+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
@@ -2327,11 +2373,11 @@ NULL NULL 1
---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 92 OR select_id IS NULL);
+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
@@ -2341,11 +2387,11 @@ NULL NULL 1
DROP VIEW v1;
-CREATE VIEW v1 AS SELECT CONVERT(my_char_30 USING utf8),
+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),
+SELECT CONVERT(my_char_30 USING utf8),
my_char_30, id FROM t1_values
-WHERE select_id = 91 OR select_id IS NULL;
+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
@@ -2353,11 +2399,11 @@ NULL NULL 1
---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 91 OR select_id IS NULL);
+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
@@ -2371,7 +2417,7 @@ 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 = 90 OR select_id IS NULL;
+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
@@ -2379,11 +2425,11 @@ NULL NULL 1
2000 2000 4
2005 2005 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 90 OR select_id IS NULL);
+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
@@ -2397,7 +2443,7 @@ 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 = 89 OR select_id IS NULL;
+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
@@ -2405,11 +2451,11 @@ NULL NULL 1
130000 13:00:00 4
100000 10:00:00 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 89 OR select_id IS NULL);
+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
@@ -2423,7 +2469,7 @@ 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 = 88 OR select_id IS NULL;
+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
@@ -2431,11 +2477,11 @@ CAST(my_timestamp AS UNSIGNED INTEGER) my_timestamp id
20040229235959 2004-02-29 23:59:59 4
20050628100000 2005-06-28 10:00:00 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 88 OR select_id IS NULL);
+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
@@ -2449,7 +2495,7 @@ 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 = 87 OR select_id IS NULL;
+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
@@ -2457,11 +2503,11 @@ NULL NULL 1
20040229 2004-02-29 4
20050628 2005-06-28 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 87 OR select_id IS NULL);
+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
@@ -2475,7 +2521,7 @@ 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 = 86 OR select_id IS NULL;
+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
@@ -2483,11 +2529,11 @@ NULL NULL 1
20040229235959 2004-02-29 23:59:59 4
20050628100000 2005-06-28 10:00:00 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 86 OR select_id IS NULL);
+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
@@ -2497,11 +2543,43 @@ NULL NULL 1
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.7976931348623e+308 2
+9223372036854775807 1.7976931348623e+308 3
+0 0 4
+18446744073709551615 -1 5
+Warnings:
+Warning 1292 Truncated incorrect INTEGER value: '-1.7976931348623e+308'
+Warning 1292 Truncated incorrect INTEGER value: '1.7976931348623e+308'
+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.7976931348623e+308 2
+9223372036854775807 1.7976931348623e+308 3
+0 0 4
+18446744073709551615 -1 5
+Warnings:
+Warning 1292 Truncated incorrect INTEGER value: '-1.7976931348623e+308'
+Warning 1292 Truncated incorrect INTEGER value: '1.7976931348623e+308'
+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 = 85 OR select_id IS NULL;
+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
@@ -2513,11 +2591,11 @@ Error 1292 Truncated incorrect DECIMAL value: ''
Error 1292 Truncated incorrect DECIMAL value: ''
Error 1292 Truncated incorrect DECIMAL value: ''
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 85 OR select_id IS NULL);
+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
@@ -2535,7 +2613,7 @@ 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 = 84 OR select_id IS NULL;
+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
@@ -2543,11 +2621,11 @@ NULL NULL 1
0 0 4
18446744073709551615 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 84 OR select_id IS NULL);
+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
@@ -2561,7 +2639,7 @@ 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 = 83 OR select_id IS NULL;
+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
@@ -2574,11 +2652,11 @@ 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
-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`
+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 = 83 OR select_id IS NULL);
+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
@@ -2597,13 +2675,13 @@ 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 = 82 OR select_id IS NULL;
+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 2
0 <--------30 characters-------> 3
-0 ---äÖüß@µ*$--
-18446744073709551615 -1
+0 ---äÖüß@µ*$-- 4
+18446744073709551615 -1 5
Warnings:
Warning 1292 Truncated incorrect INTEGER value: ''
Warning 1292 Truncated incorrect INTEGER value: '<--------30 characters------->'
@@ -2611,11 +2689,11 @@ 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
-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`
+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 = 82 OR select_id IS NULL);
+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
@@ -2635,7 +2713,7 @@ 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 = 81 OR select_id IS NULL;
+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
@@ -2648,11 +2726,11 @@ 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
-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`
+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 = 81 OR select_id IS NULL);
+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
@@ -2671,7 +2749,7 @@ 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 = 80 OR select_id IS NULL;
+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
@@ -2684,11 +2762,11 @@ 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
-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`
+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 = 80 OR select_id IS NULL);
+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
@@ -2707,7 +2785,7 @@ 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 = 79 OR select_id IS NULL;
+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
@@ -2715,11 +2793,11 @@ NULL NULL 1
2000 2000 4
2005 2005 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 79 OR select_id IS NULL);
+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
@@ -2733,7 +2811,7 @@ 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 = 78 OR select_id IS NULL;
+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
@@ -2741,11 +2819,11 @@ NULL NULL 1
130000 13:00:00 4
100000 10:00:00 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 78 OR select_id IS NULL);
+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
@@ -2759,7 +2837,7 @@ 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 = 77 OR select_id IS NULL;
+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
@@ -2767,11 +2845,11 @@ CAST(my_timestamp AS SIGNED INTEGER) my_timestamp id
20040229235959 2004-02-29 23:59:59 4
20050628100000 2005-06-28 10:00:00 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 77 OR select_id IS NULL);
+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
@@ -2785,7 +2863,7 @@ 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 = 76 OR select_id IS NULL;
+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
@@ -2793,11 +2871,11 @@ NULL NULL 1
20040229 2004-02-29 4
20050628 2005-06-28 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 76 OR select_id IS NULL);
+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
@@ -2811,7 +2889,7 @@ 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 = 75 OR select_id IS NULL;
+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
@@ -2819,11 +2897,11 @@ NULL NULL 1
20040229235959 2004-02-29 23:59:59 4
20050628100000 2005-06-28 10:00:00 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 75 OR select_id IS NULL);
+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
@@ -2833,11 +2911,43 @@ NULL NULL 1
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.7976931348623e+308 2
+9223372036854775807 1.7976931348623e+308 3
+0 0 4
+-1 -1 5
+Warnings:
+Warning 1292 Truncated incorrect INTEGER value: '-1.7976931348623e+308'
+Warning 1292 Truncated incorrect INTEGER value: '1.7976931348623e+308'
+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.7976931348623e+308 2
+9223372036854775807 1.7976931348623e+308 3
+0 0 4
+-1 -1 5
+Warnings:
+Warning 1292 Truncated incorrect INTEGER value: '-1.7976931348623e+308'
+Warning 1292 Truncated incorrect INTEGER value: '1.7976931348623e+308'
+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 = 74 OR select_id IS NULL;
+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
@@ -2848,11 +2958,11 @@ Warnings:
Error 1292 Truncated incorrect DECIMAL value: ''
Error 1292 Truncated incorrect DECIMAL value: ''
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 74 OR select_id IS NULL);
+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
@@ -2869,7 +2979,7 @@ 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 = 73 OR select_id IS NULL;
+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
@@ -2877,11 +2987,11 @@ NULL NULL 1
0 0 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 73 OR select_id IS NULL);
+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
@@ -2895,7 +3005,7 @@ 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 = 72 OR select_id IS NULL;
+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
@@ -2907,11 +3017,11 @@ 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
-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`
+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 = 72 OR select_id IS NULL);
+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
@@ -2929,24 +3039,24 @@ 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 = 71 OR select_id IS NULL;
+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 2
0 <--------30 characters-------> 3
-0 ---äÖüß@µ*$--
--1 -1
+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
-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`
+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 = 71 OR select_id IS NULL);
+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
@@ -2965,7 +3075,7 @@ 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 = 70 OR select_id IS NULL;
+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
@@ -2977,11 +3087,11 @@ 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
-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`
+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 = 70 OR select_id IS NULL);
+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
@@ -2999,7 +3109,7 @@ 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 = 69 OR select_id IS NULL;
+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
@@ -3011,11 +3121,11 @@ 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
-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`
+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 = 69 OR select_id IS NULL);
+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
@@ -3033,7 +3143,7 @@ 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 = 68 OR select_id IS NULL;
+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
@@ -3041,11 +3151,11 @@ NULL NULL 1
2000.00 2000 4
2005.00 2005 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 68 OR select_id IS NULL);
+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
@@ -3059,7 +3169,7 @@ 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 = 67 OR select_id IS NULL;
+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
@@ -3067,11 +3177,11 @@ NULL NULL 1
130000.00 13:00:00 4
100000.00 10:00:00 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 67 OR select_id IS NULL);
+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
@@ -3085,7 +3195,7 @@ 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 = 66 OR select_id IS NULL;
+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
@@ -3093,11 +3203,11 @@ CAST(my_timestamp AS DECIMAL(37,2)) my_timestamp id
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
-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`
+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 = 66 OR select_id IS NULL);
+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
@@ -3111,7 +3221,7 @@ 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 = 65 OR select_id IS NULL;
+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
@@ -3119,11 +3229,11 @@ NULL NULL 1
20040229.00 2004-02-29 4
20050628.00 2005-06-28 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 65 OR select_id IS NULL);
+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
@@ -3137,7 +3247,7 @@ 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 = 64 OR select_id IS NULL;
+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
@@ -3145,11 +3255,11 @@ NULL NULL 1
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
-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`
+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 = 64 OR select_id IS NULL);
+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
@@ -3159,11 +3269,49 @@ NULL NULL 1
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.7976931348623e+308 2
+99999999999999999999999999999999999.99 1.7976931348623e+308 3
+0.00 0 4
+-1.00 -1 5
+-3333.33 -3333.3333 30
+Warnings:
+Error 1292 Truncated incorrect DECIMAL value: ''
+Error 1264 Out of range value for column 'CAST(my_double AS DECIMAL(37,2))' at row 1
+Error 1292 Truncated incorrect DECIMAL value: ''
+Error 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.7976931348623e+308 2
+99999999999999999999999999999999999.99 1.7976931348623e+308 3
+0.00 0 4
+-1.00 -1 5
+-3333.33 -3333.3333 30
+Warnings:
+Error 1292 Truncated incorrect DECIMAL value: ''
+Error 1264 Out of range value for column 'CAST(my_double AS DECIMAL(37,2))' at row 1
+Error 1292 Truncated incorrect DECIMAL value: ''
+Error 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 = 63 OR select_id IS NULL;
+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
@@ -3171,11 +3319,11 @@ NULL NULL 1
0.00 0.000000000000000000000000000000 4
-1.00 -1.000000000000000000000000000000 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 63 OR select_id IS NULL);
+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
@@ -3189,7 +3337,7 @@ 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 = 62 OR select_id IS NULL;
+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
@@ -3197,11 +3345,11 @@ NULL NULL 1
0.00 0 4
-1.00 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 62 OR select_id IS NULL);
+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
@@ -3215,31 +3363,31 @@ 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 = 61 OR select_id IS NULL;
+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 28
+-3333.33 -3333.3333 29
Warnings:
Error 1366 Incorrect decimal value: '' for column '' at row -1
Error 1366 Incorrect decimal value: '' for column '' at row -1
Error 1366 Incorrect decimal value: '' for column '' at row -1
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 61 OR select_id IS NULL);
+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 28
+-3333.33 -3333.3333 29
Warnings:
Error 1366 Incorrect decimal value: '' for column '' at row -1
Error 1366 Incorrect decimal value: '' for column '' at row -1
@@ -3251,14 +3399,14 @@ 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 = 60 OR select_id IS NULL;
+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 2
0.00 <--------30 characters-------> 3
-0.00 ---äÖüß@µ*$--
--1.00 -1
--3333.33 -3333.3333
+0.00 ---äÖüß@µ*$-- 4
+-1.00 -1 5
+-3333.33 -3333.3333 28
Warnings:
Error 1366 Incorrect decimal value: '' for column '' at row -1
Warning 1292 Truncated incorrect DECIMAL value: ''
@@ -3269,18 +3417,18 @@ Warning 1292 Truncated incorrect DECIMAL value: ' ---äÖüß@µ*$-- '
Warning 1292 Truncated incorrect DECIMAL value: '-1'
Warning 1292 Truncated incorrect DECIMAL value: '-3333.3333'
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 60 OR select_id IS NULL);
+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
+-3333.33 -3333.3333
Warnings:
Error 1366 Incorrect decimal value: '' for column '' at row -1
Warning 1292 Truncated incorrect DECIMAL value: ''
@@ -3297,31 +3445,31 @@ 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 = 59 OR select_id IS NULL;
+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 26
+-3333.33 -3333.3333 27
Warnings:
Error 1366 Incorrect decimal value: '' for column '' at row -1
Error 1366 Incorrect decimal value: '' for column '' at row -1
Error 1366 Incorrect decimal value: '' for column '' at row -1
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 59 OR select_id IS NULL);
+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 26
+-3333.33 -3333.3333 27
Warnings:
Error 1366 Incorrect decimal value: '' for column '' at row -1
Error 1366 Incorrect decimal value: '' for column '' at row -1
@@ -3333,14 +3481,14 @@ 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 = 58 OR select_id IS NULL;
+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 25
+-3333.33 -3333.3333 26
Warnings:
Error 1366 Incorrect decimal value: '' for column '' at row -1
Warning 1292 Truncated incorrect DECIMAL value: ' '
@@ -3349,18 +3497,18 @@ Warning 1292 Truncated incorrect DECIMAL value: '<--------30 characters------->'
Error 1366 Incorrect decimal value: '' for column '' at row -1
Warning 1292 Truncated incorrect DECIMAL value: ' ---äÖüß@µ*$-- '
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 58 OR select_id IS NULL);
+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 25
+-3333.33 -3333.3333 26
Warnings:
Error 1366 Incorrect decimal value: '' for column '' at row -1
Warning 1292 Truncated incorrect DECIMAL value: ' '
@@ -3375,7 +3523,7 @@ 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 = 57 OR select_id IS NULL;
+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
@@ -3383,11 +3531,11 @@ NULL NULL 1
00:20:00 2000 4
00:20:05 2005 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 57 OR select_id IS NULL);
+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
@@ -3401,7 +3549,7 @@ 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 = 56 OR select_id IS NULL;
+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
@@ -3409,11 +3557,11 @@ NULL NULL 1
13:00:00 13:00:00 4
10:00:00 10:00:00 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 56 OR select_id IS NULL);
+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
@@ -3427,7 +3575,7 @@ 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 = 55 OR select_id IS NULL;
+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
@@ -3435,11 +3583,11 @@ CAST(my_timestamp AS TIME) my_timestamp id
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
-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`
+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 = 55 OR select_id IS NULL);
+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
@@ -3453,7 +3601,7 @@ 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 = 54 OR select_id IS NULL;
+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
@@ -3461,11 +3609,11 @@ NULL NULL 1
00:00:00 2004-02-29 4
00:00:00 2005-06-28 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 54 OR select_id IS NULL);
+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
@@ -3479,7 +3627,7 @@ 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 = 53 OR select_id IS NULL;
+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
@@ -3487,11 +3635,11 @@ NULL NULL 1
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
-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`
+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 = 53 OR select_id IS NULL);
+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
@@ -3501,11 +3649,45 @@ NULL NULL 1
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.7976931348623e+308 2
+NULL 1.7976931348623e+308 3
+00:00:00 0 4
+-00:00:01 -1 5
+00:17:58 1758 25
+Warnings:
+Warning 1292 Truncated incorrect time value: '-1.7976931348623e+308'
+Warning 1292 Truncated incorrect time value: '1.7976931348623e+308'
+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.7976931348623e+308 2
+NULL 1.7976931348623e+308 3
+00:00:00 0 4
+-00:00:01 -1 5
+00:17:58 1758 25
+Warnings:
+Warning 1292 Truncated incorrect time value: '-1.7976931348623e+308'
+Warning 1292 Truncated incorrect time value: '1.7976931348623e+308'
+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;
+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
@@ -3517,11 +3699,11 @@ Warnings:
Warning 1292 Truncated incorrect time value: '-9223372036854775808'
Warning 1292 Truncated incorrect time value: '9223372036854775807'
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -3539,7 +3721,7 @@ 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;
+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
@@ -3552,11 +3734,11 @@ 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
-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`
+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);
+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
@@ -3575,14 +3757,14 @@ 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;
+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 2
00:00:00 <--------30 characters-------> 3
--00:00:00 ---äÖüß@µ*$--
-NULL -1
-41:58:00 1 17:58
+-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------->'
@@ -3590,11 +3772,11 @@ 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
-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`
+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);
+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
@@ -3615,7 +3797,7 @@ 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;
+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
@@ -3628,11 +3810,11 @@ 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
-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`
+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);
+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
@@ -3651,7 +3833,7 @@ 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;
+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
@@ -3664,11 +3846,11 @@ 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
-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`
+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);
+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
@@ -3687,7 +3869,7 @@ 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;
+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
@@ -3695,16 +3877,16 @@ NULL 2155 3
NULL 2000 4
NULL 2005 5
Warnings:
-Warning 1292 Truncated incorrect datetime value: '1901'
-Warning 1292 Truncated incorrect datetime value: '2155'
-Warning 1292 Truncated incorrect datetime value: '2000'
-Warning 1292 Truncated incorrect datetime value: '2005'
+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
-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`
+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);
+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
@@ -3712,10 +3894,10 @@ NULL 2155 3
NULL 2000 4
NULL 2005 5
Warnings:
-Warning 1292 Truncated incorrect datetime value: '1901'
-Warning 1292 Truncated incorrect datetime value: '2155'
-Warning 1292 Truncated incorrect datetime value: '2000'
-Warning 1292 Truncated incorrect datetime value: '2005'
+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;
@@ -3723,7 +3905,7 @@ 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;
+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
@@ -3731,14 +3913,14 @@ NULL NULL 1
0000-00-00 13:00:00 13:00:00 4
0000-00-00 10:00:00 10:00:00 5
Warnings:
-Warning 1292 Truncated incorrect datetime value: '0000-00-00 838:59:59'
-Warning 1292 Truncated incorrect datetime value: '0000-00-00 838:59:59'
+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
-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`
+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);
+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
@@ -3746,8 +3928,8 @@ NULL NULL 1
0000-00-00 13:00:00 13:00:00 4
0000-00-00 10:00:00 10:00:00 5
Warnings:
-Warning 1292 Truncated incorrect datetime value: '0000-00-00 838:59:59'
-Warning 1292 Truncated incorrect datetime value: '0000-00-00 838:59:59'
+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;
@@ -3755,7 +3937,7 @@ 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;
+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
@@ -3763,11 +3945,11 @@ CAST(my_timestamp AS DATETIME) my_timestamp id
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
-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`
+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);
+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
@@ -3781,7 +3963,7 @@ 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;
+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
@@ -3789,11 +3971,11 @@ NULL NULL 1
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
-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`
+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);
+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
@@ -3807,7 +3989,7 @@ 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;
+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
@@ -3815,11 +3997,11 @@ NULL NULL 1
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
-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`
+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);
+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
@@ -3833,7 +4015,7 @@ 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;
+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.7976931348623e+308 2
@@ -3842,17 +4024,17 @@ NULL 0 4
NULL -1 5
NULL 200506271758 19
Warnings:
-Warning 1292 Truncated incorrect datetime value: '-1.7976931348623e+308'
-Warning 1292 Truncated incorrect datetime value: '1.7976931348623e+308'
-Warning 1292 Truncated incorrect datetime value: '0'
-Warning 1292 Truncated incorrect datetime value: '-1'
-Warning 1292 Truncated incorrect datetime value: '200506271758'
+Warning 1292 Incorrect datetime value: '-1.7976931348623e+308'
+Warning 1292 Incorrect datetime value: '1.7976931348623e+308'
+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
-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`
+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);
+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.7976931348623e+308 2
@@ -3861,11 +4043,11 @@ NULL 0 4
NULL -1 5
NULL 200506271758 19
Warnings:
-Warning 1292 Truncated incorrect datetime value: '-1.7976931348623e+308'
-Warning 1292 Truncated incorrect datetime value: '1.7976931348623e+308'
-Warning 1292 Truncated incorrect datetime value: '0'
-Warning 1292 Truncated incorrect datetime value: '-1'
-Warning 1292 Truncated incorrect datetime value: '200506271758'
+Warning 1292 Incorrect datetime value: '-1.7976931348623e+308'
+Warning 1292 Incorrect datetime value: '1.7976931348623e+308'
+Warning 1292 Incorrect datetime value: '0'
+Warning 1292 Incorrect datetime value: '-1'
+Warning 1292 Incorrect datetime value: '200506271758'
DROP VIEW v1;
@@ -3873,7 +4055,7 @@ 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;
+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
@@ -3882,17 +4064,17 @@ NULL 0 4
NULL -1 5
NULL 200506271758 18
Warnings:
-Warning 1292 Truncated incorrect datetime value: '-9223372036854775808'
-Warning 1292 Truncated incorrect datetime value: '9223372036854775807'
-Warning 1292 Truncated incorrect datetime value: '0'
-Warning 1292 Truncated incorrect datetime value: '-1'
-Warning 1292 Truncated incorrect datetime value: '200506271758'
+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
-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`
+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);
+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
@@ -3901,11 +4083,11 @@ NULL 0 4
NULL -1 5
NULL 200506271758 18
Warnings:
-Warning 1292 Truncated incorrect datetime value: '-9223372036854775808'
-Warning 1292 Truncated incorrect datetime value: '9223372036854775807'
-Warning 1292 Truncated incorrect datetime value: '0'
-Warning 1292 Truncated incorrect datetime value: '-1'
-Warning 1292 Truncated incorrect datetime value: '200506271758'
+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;
@@ -3913,7 +4095,7 @@ 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;
+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
@@ -3922,16 +4104,16 @@ NULL ---äÖüß@µ*$-- 4
NULL -1 5
2005-06-27 17:58:00 2005-06-27 17:58 17
Warnings:
-Warning 1292 Truncated incorrect datetime value: ''
-Warning 1292 Truncated incorrect datetime value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect datetime value: ' ---äÖüß@µ*$-- '
-Warning 1292 Truncated incorrect datetime value: '-1'
+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
-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`
+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);
+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
@@ -3940,10 +4122,10 @@ NULL ---äÖüß@µ*$-- 4
NULL -1 5
2005-06-27 17:58:00 2005-06-27 17:58 17
Warnings:
-Warning 1292 Truncated incorrect datetime value: ''
-Warning 1292 Truncated incorrect datetime value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect datetime value: ' ---äÖüß@µ*$-- '
-Warning 1292 Truncated incorrect datetime value: '-1'
+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;
@@ -3951,26 +4133,26 @@ 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;
+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 2
NULL <--------30 characters-------> 3
-NULL ---äÖüß@µ*$--
-NULL -1
-2005-06-27 17:58:00 2005-06-27 17:58
+NULL ---äÖüß@µ*$-- 4
+NULL -1 5
+2005-06-27 17:58:00 2005-06-27 17:58 16
Warnings:
-Warning 1292 Truncated incorrect datetime value: ''
-Warning 1292 Truncated incorrect datetime value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect datetime value: ' ---äÖüß@µ*$-- '
-Warning 1292 Truncated incorrect datetime value: '-1'
+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
-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`
+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);
+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
@@ -3979,10 +4161,10 @@ NULL ---äÖüß@µ*$--
NULL -1
2005-06-27 17:58:00 2005-06-27 17:58
Warnings:
-Warning 1292 Truncated incorrect datetime value: ''
-Warning 1292 Truncated incorrect datetime value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect datetime value: ' ---äÖüß@µ*$-- '
-Warning 1292 Truncated incorrect datetime value: '-1'
+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;
@@ -3991,7 +4173,7 @@ 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;
+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
@@ -4000,16 +4182,16 @@ NULL ---äÖüß@µ*$-- 4
NULL -1 5
2005-06-27 17:58:00 2005-06-27 17:58 15
Warnings:
-Warning 1292 Truncated incorrect datetime value: ''
-Warning 1292 Truncated incorrect datetime value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect datetime value: ' ---äÖüß@µ*$-- '
-Warning 1292 Truncated incorrect datetime value: '-1'
+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
-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`
+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);
+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
@@ -4018,10 +4200,10 @@ NULL ---äÖüß@µ*$-- 4
NULL -1 5
2005-06-27 17:58:00 2005-06-27 17:58 15
Warnings:
-Warning 1292 Truncated incorrect datetime value: ''
-Warning 1292 Truncated incorrect datetime value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect datetime value: ' ---äÖüß@µ*$-- '
-Warning 1292 Truncated incorrect datetime value: '-1'
+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;
@@ -4029,7 +4211,7 @@ 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;
+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
@@ -4038,16 +4220,16 @@ NULL ---äÖüß@µ*$-- 4
NULL -1 5
2005-06-27 17:58:00 2005-06-27 17:58 14
Warnings:
-Warning 1292 Truncated incorrect datetime value: ''
-Warning 1292 Truncated incorrect datetime value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect datetime value: ' ---äÖüß@µ*$--'
-Warning 1292 Truncated incorrect datetime value: '-1'
+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
-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`
+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);
+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
@@ -4056,10 +4238,10 @@ NULL ---äÖüß@µ*$-- 4
NULL -1 5
2005-06-27 17:58:00 2005-06-27 17:58 14
Warnings:
-Warning 1292 Truncated incorrect datetime value: ''
-Warning 1292 Truncated incorrect datetime value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect datetime value: ' ---äÖüß@µ*$--'
-Warning 1292 Truncated incorrect datetime value: '-1'
+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;
@@ -4067,7 +4249,7 @@ 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;
+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
@@ -4075,16 +4257,16 @@ NULL 2155 3
NULL 2000 4
NULL 2005 5
Warnings:
-Warning 1292 Truncated incorrect datetime value: '1901'
-Warning 1292 Truncated incorrect datetime value: '2155'
-Warning 1292 Truncated incorrect datetime value: '2000'
-Warning 1292 Truncated incorrect datetime value: '2005'
+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
-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`
+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);
+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
@@ -4092,10 +4274,10 @@ NULL 2155 3
NULL 2000 4
NULL 2005 5
Warnings:
-Warning 1292 Truncated incorrect datetime value: '1901'
-Warning 1292 Truncated incorrect datetime value: '2155'
-Warning 1292 Truncated incorrect datetime value: '2000'
-Warning 1292 Truncated incorrect datetime value: '2005'
+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;
@@ -4103,7 +4285,7 @@ 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;
+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
@@ -4111,11 +4293,11 @@ NULL NULL 1
0000-00-00 13:00:00 4
0000-00-00 10:00:00 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -4129,7 +4311,7 @@ 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;
+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
@@ -4137,11 +4319,11 @@ CAST(my_timestamp AS DATE) my_timestamp id
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
-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`
+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);
+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
@@ -4155,7 +4337,7 @@ 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;
+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
@@ -4163,11 +4345,11 @@ NULL NULL 1
2004-02-29 2004-02-29 4
2005-06-28 2005-06-28 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -4181,7 +4363,7 @@ 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;
+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
@@ -4189,11 +4371,11 @@ NULL NULL 1
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
-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`
+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);
+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
@@ -4207,7 +4389,7 @@ 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;
+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.7976931348623e+308 2
@@ -4216,16 +4398,16 @@ NULL 0 4
NULL -1 5
2005-06-27 20050627 13
Warnings:
-Warning 1292 Truncated incorrect datetime value: '-1.7976931348623e+308'
-Warning 1292 Truncated incorrect datetime value: '1.7976931348623e+308'
-Warning 1292 Truncated incorrect datetime value: '0'
-Warning 1292 Truncated incorrect datetime value: '-1'
+Warning 1292 Incorrect datetime value: '-1.7976931348623e+308'
+Warning 1292 Incorrect datetime value: '1.7976931348623e+308'
+Warning 1292 Incorrect datetime value: '0'
+Warning 1292 Incorrect datetime value: '-1'
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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.7976931348623e+308 2
@@ -4234,10 +4416,10 @@ NULL 0 4
NULL -1 5
2005-06-27 20050627 13
Warnings:
-Warning 1292 Truncated incorrect datetime value: '-1.7976931348623e+308'
-Warning 1292 Truncated incorrect datetime value: '1.7976931348623e+308'
-Warning 1292 Truncated incorrect datetime value: '0'
-Warning 1292 Truncated incorrect datetime value: '-1'
+Warning 1292 Incorrect datetime value: '-1.7976931348623e+308'
+Warning 1292 Incorrect datetime value: '1.7976931348623e+308'
+Warning 1292 Incorrect datetime value: '0'
+Warning 1292 Incorrect datetime value: '-1'
DROP VIEW v1;
@@ -4245,7 +4427,7 @@ 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;
+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
@@ -4254,16 +4436,16 @@ NULL 0 4
NULL -1 5
2005-06-27 20050627 12
Warnings:
-Warning 1292 Truncated incorrect datetime value: '-9223372036854775808'
-Warning 1292 Truncated incorrect datetime value: '9223372036854775807'
-Warning 1292 Truncated incorrect datetime value: '0'
-Warning 1292 Truncated incorrect datetime value: '-1'
+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
-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`
+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);
+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
@@ -4272,10 +4454,10 @@ NULL 0 4
NULL -1 5
2005-06-27 20050627 12
Warnings:
-Warning 1292 Truncated incorrect datetime value: '-9223372036854775808'
-Warning 1292 Truncated incorrect datetime value: '9223372036854775807'
-Warning 1292 Truncated incorrect datetime value: '0'
-Warning 1292 Truncated incorrect datetime value: '-1'
+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;
@@ -4283,7 +4465,7 @@ 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;
+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
@@ -4292,16 +4474,16 @@ NULL ---äÖüß@µ*$-- 4
NULL -1 5
2005-06-27 2005-06-27 11
Warnings:
-Warning 1292 Truncated incorrect datetime value: ''
-Warning 1292 Truncated incorrect datetime value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect datetime value: ' ---äÖüß@µ*$-- '
-Warning 1292 Truncated incorrect datetime value: '-1'
+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
-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`
+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);
+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
@@ -4310,10 +4492,10 @@ NULL ---äÖüß@µ*$-- 4
NULL -1 5
2005-06-27 2005-06-27 11
Warnings:
-Warning 1292 Truncated incorrect datetime value: ''
-Warning 1292 Truncated incorrect datetime value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect datetime value: ' ---äÖüß@µ*$-- '
-Warning 1292 Truncated incorrect datetime value: '-1'
+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;
@@ -4321,26 +4503,26 @@ 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;
+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 2
NULL <--------30 characters-------> 3
-NULL ---äÖüß@µ*$--
-NULL -1
-2005-06-27 2005-06-27
+NULL ---äÖüß@µ*$-- 4
+NULL -1 5
+2005-06-27 2005-06-27 10
Warnings:
-Warning 1292 Truncated incorrect datetime value: ''
-Warning 1292 Truncated incorrect datetime value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect datetime value: ' ---äÖüß@µ*$-- '
-Warning 1292 Truncated incorrect datetime value: '-1'
+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
-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`
+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);
+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
@@ -4349,10 +4531,10 @@ NULL ---äÖüß@µ*$--
NULL -1
2005-06-27 2005-06-27
Warnings:
-Warning 1292 Truncated incorrect datetime value: ''
-Warning 1292 Truncated incorrect datetime value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect datetime value: ' ---äÖüß@µ*$-- '
-Warning 1292 Truncated incorrect datetime value: '-1'
+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;
@@ -4361,7 +4543,7 @@ 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;
+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
@@ -4370,16 +4552,16 @@ NULL ---äÖüß@µ*$-- 4
NULL -1 5
2005-06-27 2005-06-27 9
Warnings:
-Warning 1292 Truncated incorrect datetime value: ''
-Warning 1292 Truncated incorrect datetime value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect datetime value: ' ---äÖüß@µ*$-- '
-Warning 1292 Truncated incorrect datetime value: '-1'
+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
-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`
+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);
+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
@@ -4388,10 +4570,10 @@ NULL ---äÖüß@µ*$-- 4
NULL -1 5
2005-06-27 2005-06-27 9
Warnings:
-Warning 1292 Truncated incorrect datetime value: ''
-Warning 1292 Truncated incorrect datetime value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect datetime value: ' ---äÖüß@µ*$-- '
-Warning 1292 Truncated incorrect datetime value: '-1'
+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;
@@ -4399,7 +4581,7 @@ 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;
+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
@@ -4408,16 +4590,16 @@ NULL ---äÖüß@µ*$-- 4
NULL -1 5
2005-06-27 2005-06-27 8
Warnings:
-Warning 1292 Truncated incorrect datetime value: ''
-Warning 1292 Truncated incorrect datetime value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect datetime value: ' ---äÖüß@µ*$--'
-Warning 1292 Truncated incorrect datetime value: '-1'
+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
-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`
+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);
+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
@@ -4426,10 +4608,10 @@ NULL ---äÖüß@µ*$-- 4
NULL -1 5
2005-06-27 2005-06-27 8
Warnings:
-Warning 1292 Truncated incorrect datetime value: ''
-Warning 1292 Truncated incorrect datetime value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect datetime value: ' ---äÖüß@µ*$--'
-Warning 1292 Truncated incorrect datetime value: '-1'
+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;
@@ -4437,7 +4619,7 @@ 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;
+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
@@ -4445,11 +4627,11 @@ NULL NULL 1
2000 2000 4
2005 2005 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -4463,7 +4645,7 @@ 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;
+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
@@ -4471,11 +4653,11 @@ NULL NULL 1
13:00:00 13:00:00 4
10:00:00 10:00:00 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -4489,7 +4671,7 @@ 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;
+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
@@ -4497,11 +4679,11 @@ CAST(my_timestamp AS CHAR) my_timestamp id
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
-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`
+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);
+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
@@ -4515,7 +4697,7 @@ 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;
+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
@@ -4523,11 +4705,11 @@ NULL NULL 1
2004-02-29 2004-02-29 4
2005-06-28 2005-06-28 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -4541,7 +4723,7 @@ 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;
+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
@@ -4549,11 +4731,11 @@ NULL NULL 1
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
-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`
+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);
+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
@@ -4567,7 +4749,7 @@ 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;
+WHERE select_id = 20 OR select_id IS NULL order by id;
CAST(my_double AS CHAR) my_double id
NULL NULL 1
-1.7976931348623e+308 -1.7976931348623e+308 2
@@ -4575,11 +4757,11 @@ NULL NULL 1
0 0 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+WHERE select_id = 20 OR select_id IS NULL) order by id;
CAST(my_double AS CHAR) my_double id
NULL NULL 1
-1.7976931348623e+308 -1.7976931348623e+308 2
@@ -4593,7 +4775,7 @@ 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;
+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
@@ -4601,11 +4783,11 @@ NULL NULL 1
0.000000000000000000000000000000 0.000000000000000000000000000000 4
-1.000000000000000000000000000000 -1.000000000000000000000000000000 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -4619,7 +4801,7 @@ 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;
+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
@@ -4627,11 +4809,11 @@ NULL NULL 1
0 0 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -4645,7 +4827,7 @@ 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;
+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
@@ -4653,11 +4835,11 @@ NULL NULL 1
---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -4671,19 +4853,19 @@ 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;
+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
- ---äÖüß@µ*$--
--1
+ ---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
+-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -4697,7 +4879,7 @@ 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;
+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
@@ -4705,11 +4887,11 @@ NULL NULL 1
---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -4723,7 +4905,7 @@ 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;
+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
@@ -4731,11 +4913,11 @@ NULL NULL 1
---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -4749,7 +4931,7 @@ 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;
+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
@@ -4757,11 +4939,11 @@ NULL NULL 1
2000 2000 4
2005 2005 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -4775,7 +4957,7 @@ 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;
+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
@@ -4783,11 +4965,11 @@ NULL NULL 1
13:00:00 13:00:00 4
10:00:00 10:00:00 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -4801,7 +4983,7 @@ 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;
+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
@@ -4809,11 +4991,11 @@ CAST(my_timestamp AS BINARY) my_timestamp id
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
-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`
+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);
+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
@@ -4827,7 +5009,7 @@ 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;
+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
@@ -4835,11 +5017,11 @@ NULL NULL 1
2004-02-29 2004-02-29 4
2005-06-28 2005-06-28 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -4853,7 +5035,7 @@ 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;
+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
@@ -4861,11 +5043,11 @@ NULL NULL 1
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
-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`
+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);
+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
@@ -4879,7 +5061,7 @@ 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;
+WHERE select_id = 8 OR select_id IS NULL order by id;
CAST(my_double AS BINARY) my_double id
NULL NULL 1
-1.7976931348623e+308 -1.7976931348623e+308 2
@@ -4887,11 +5069,11 @@ NULL NULL 1
0 0 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+WHERE select_id = 8 OR select_id IS NULL) order by id;
CAST(my_double AS BINARY) my_double id
NULL NULL 1
-1.7976931348623e+308 -1.7976931348623e+308 2
@@ -4905,7 +5087,7 @@ 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;
+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
@@ -4913,11 +5095,11 @@ NULL NULL 1
0.000000000000000000000000000000 0.000000000000000000000000000000 4
-1.000000000000000000000000000000 -1.000000000000000000000000000000 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -4931,7 +5113,7 @@ 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;
+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
@@ -4939,11 +5121,11 @@ NULL NULL 1
0 0 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -4957,7 +5139,7 @@ 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;
+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
@@ -4965,11 +5147,11 @@ NULL NULL 1
---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -4983,19 +5165,19 @@ 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;
+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
- ---äÖüß@µ*$--
--1
+ ---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
+-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -5009,7 +5191,7 @@ 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;
+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
@@ -5017,11 +5199,11 @@ NULL NULL 1
---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -5035,7 +5217,7 @@ 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;
+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
@@ -5043,11 +5225,11 @@ NULL NULL 1
---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -5059,7 +5241,7 @@ 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;
+WHERE select_id = 1 OR select_id IS NULL order by id;
sqrt(my_bigint) my_bigint id
NULL NULL 1
NULL -9223372036854775808 2
@@ -5069,11 +5251,11 @@ NULL -1 5
2 4 6
NULL -25 7
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+WHERE select_id = 1 OR select_id IS NULL) order by id;
sqrt(my_bigint) my_bigint id
NULL NULL 1
NULL -9223372036854775808 2
diff --git a/mysql-test/suite/funcs_1/r/innodb_storedproc.result b/mysql-test/suite/funcs_1/r/innodb_storedproc.result
index fbc908b8ccf..1d75cf49bb7 100644
--- a/mysql-test/suite/funcs_1/r/innodb_storedproc.result
+++ b/mysql-test/suite/funcs_1/r/innodb_storedproc.result
@@ -1,33 +1,6 @@
-.
-. IMPORTANT NOTICE:
-. -----------------
-.
-. FIXME: The .result files are still NOT CHECKED for correctness!
-.
-. FIXME: Several tests are affected by known problems around DECIMAL
-. FIXME: and NUMERIC that will be checked again after WL#2984 once
-. FIXME: has been completed. Some of them are marked in the result.
-.
-. Currently (Dec 06, 2005) this .result file is checked OK for Linux
-. with 5.0.17-bk (ChangeSet@1.1975.1.2, 2005-12-05 18:33:48+01:00).
-. Using the available Windows version 5.0.16 there are differences
-. that can be ignored (e.g. WL#2984).
-.
---------------------------------------------------------------------------------
- FIXME: There are subtests that are switched off due to known bugs:
- ------------------------------------------------------------------
-WL#2984: DECIMAL and NUMERIC problems with differences on some machines
-0
-
-There are some statements where the ps-protocol is switched off.
-Bug#11589: mysqltest, --ps-protocol, strange output, float/double/real with zerofill
---------------------------------------------------------------------------------
-
--source suite/funcs_1/storedproc/load_sp_tb.inc
--------------------------------------------------------------------------------
-SET @@global.max_heap_table_size=4294967295;
-SET @@session.max_heap_table_size=4294967295;
--source suite/funcs_1/storedproc/cleanup_sp_tb.inc
--------------------------------------------------------------------------------
@@ -36,20 +9,25 @@ 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 = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t1;
-create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t2;
-create table t3(f1 char(20),f2 char(20),f3 integer) engine = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t3.txt' into table t3;
-create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t4;
+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_ln/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_ln/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_ln/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_ln/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 = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t6;
+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_ln/funcs_1/t4.txt' into table t6;
USE db_storedproc;
-create table t7 (f1 char(20), f2 char(25), f3 date, f4 int) engine = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t7;
+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_ln/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
@@ -61,8 +39,9 @@ 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 = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t8;
+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_ln/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
@@ -74,12 +53,14 @@ 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 = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t9.txt' into table t9;
-create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t10;
-create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t11;
+create table t9(f1 int, f2 char(25), f3 int) engine = <engine_to_be_tested>;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/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_ln/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_ln/funcs_1/t4.txt' into table t11;
Section 3.1.1 - Syntax checks for the CREATE PROCEDURE, CREATE
FUNCTION, ALTER PROCEDURE, ALTER FUNCTION, DROP PROCEDURE, DROP FUNCTION, SHOW
@@ -94,23 +75,24 @@ CREATE PROCEDURE
--------------------------------------------------------------------------------
USE db_storedproc;
DROP PROCEDURE IF EXISTS sp1_thisisaveryverylongname234872934_thisisaveryverylongname234872934;
+ERROR 42000: Identifier name 'sp1_thisisaveryverylongname234872934_thisisaveryverylongname234872934' is too long
CREATE PROCEDURE sp1_thisisaveryverylongname234872934_thisisaveryverylongname234872934 (f1 char(20) )
SELECT * from t1 where f2 = f1;
+ERROR 42000: Identifier name 'sp1_thisisaveryverylongname234872934_thisisaveryverylongname234872934' is too long
CALL sp1_thisisaveryverylongname234872934_thisisaveryverylongname234872934('aaaa');
-f1 f2 f3 f4 f5 f6
+ERROR 42000: Identifier name 'sp1_thisisaveryverylongname234872934_thisisaveryverylongname234872934' is too long
DROP PROCEDURE IF EXISTS sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcde;
+ERROR 42000: Identifier name 'sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcde' is too long
CREATE PROCEDURE sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcde( f1 tinytext ) language sql deterministic sql security definer comment 'this is simple'
BEGIN
set @v1 = f1;
SELECT @v1, @v1;
END//
+ERROR 42000: Identifier name 'sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcde' is too long
CALL sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcde( 'abc' );
-@v1 @v1
-abc abc
+ERROR 42000: Identifier name 'sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcde' is too long
SHOW PROCEDURE status;
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongname2348 PROCEDURE root@localhost modified created DEFINER
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcd PROCEDURE root@localhost modified created DEFINER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( f1 binary ) language sql not deterministic sql security invoker comment 'this is simple'
BEGIN
@@ -119,12 +101,12 @@ SELECT @v1;
END//
CALL sp1( 34 );
@v1
-34
+3
+Warnings:
+Warning 1265 Data truncated for column 'f1' at row 1
SHOW PROCEDURE status;
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER this is simple
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongname2348 PROCEDURE root@localhost modified created DEFINER
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcd PROCEDURE root@localhost modified created DEFINER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER this is simple latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( f1 blob ) language sql not deterministic sql security invoker comment 'this is simple'
BEGIN
@@ -135,10 +117,8 @@ CALL sp1( 34 );
@v1
34
SHOW PROCEDURE status;
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER this is simple
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongname2348 PROCEDURE root@localhost modified created DEFINER
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcd PROCEDURE root@localhost modified created DEFINER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER this is simple latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( f1 int ) language sql not deterministic sql security invoker comment 'this is simple'
BEGIN
@@ -149,25 +129,27 @@ CALL sp1( 34 );
@v1
34
SHOW PROCEDURE status;
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER this is simple
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongname2348 PROCEDURE root@localhost modified created DEFINER
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcd PROCEDURE root@localhost modified created DEFINER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER this is simple latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE IF EXISTS sp1;
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed: SP definition accepted with m>60 in DECIMAL(m,n)
CREATE PROCEDURE sp1( f1 decimal(256, 30) ) language sql not deterministic sql security invoker comment 'this is simple'
BEGIN
set @v1 = f1;
SELECT @v1;
END//
+ERROR 42000: Too big precision 256 specified for column ''. Maximum is 65.
DROP PROCEDURE IF EXISTS sp1//
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( f1 decimal(66, 30) ) language sql not deterministic sql security invoker comment 'this is simple'
BEGIN
set @v1 = f1;
SELECT @v1;
END//
+ERROR 42000: Too big precision 66 specified for column ''. Maximum is 65.
DROP PROCEDURE IF EXISTS sp1//
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( f1 decimal(60, 30) ) language sql not deterministic sql security invoker comment 'this is simple'
BEGIN
set @v1 = f1;
@@ -175,101 +157,1123 @@ SELECT @v1;
END//
CALL sp1( 17976931340000 );
@v1
-17976931340000
+17976931340000.000000000000000000000000000000
+CALL sp1( 1.797693134e+13 );
+@v1
+17976931340000.000000000000000000000000000000
+CALL sp1( 1.7976931348623157493578e+308 );
+ERROR 22007: Illegal double '1.7976931348623157493578e+308' value found during parsing
+CALL sp1( 0.1234567890987654321e+100 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-100 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+99 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-99 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+98 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-98 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+97 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-97 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+96 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-96 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+95 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-95 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+94 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-94 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+93 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-93 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+92 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-92 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+91 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-91 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+90 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-90 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+89 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-89 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+88 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-88 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+87 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-87 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+86 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-86 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+85 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-85 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+84 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-84 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+83 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-83 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+82 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-82 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+81 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-81 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+80 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-80 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+79 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-79 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+78 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-78 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+77 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-77 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+76 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-76 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+75 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-75 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+74 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-74 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+73 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-73 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+72 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-72 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+71 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-71 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+70 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-70 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+69 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-69 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+68 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-68 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+67 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-67 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+66 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-66 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+65 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-65 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+64 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-64 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+63 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-63 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+62 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-62 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+61 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-61 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+60 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-60 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+59 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-59 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+58 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-58 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+57 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-57 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+56 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-56 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+55 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-55 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+54 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-54 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+53 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-53 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+52 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-52 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+51 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-51 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+50 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-50 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+49 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-49 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+48 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-48 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+47 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-47 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+46 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-46 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+45 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-45 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+44 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-44 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+43 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-43 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+42 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-42 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+41 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-41 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+40 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-40 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+39 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-39 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+38 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-38 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+37 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-37 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+36 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-36 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+35 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-35 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+34 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-34 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+33 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-33 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+32 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-32 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+31 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-31 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+30 );
+@v1
+123456789098765400000000000000.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-30 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+29 );
+@v1
+12345678909876540000000000000.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-29 );
+@v1
+0.000000000000000000000000000001
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+28 );
+@v1
+1234567890987654000000000000.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-28 );
+@v1
+0.000000000000000000000000000012
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+27 );
+@v1
+123456789098765400000000000.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-27 );
+@v1
+0.000000000000000000000000000123
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+26 );
+@v1
+12345678909876540000000000.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-26 );
+@v1
+0.000000000000000000000000001235
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+25 );
+@v1
+1234567890987654000000000.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-25 );
+@v1
+0.000000000000000000000000012346
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+24 );
+@v1
+123456789098765400000000.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-24 );
+@v1
+0.000000000000000000000000123457
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+23 );
+@v1
+12345678909876540000000.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-23 );
+@v1
+0.000000000000000000000001234568
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+22 );
+@v1
+1234567890987654000000.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-22 );
+@v1
+0.000000000000000000000012345679
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+21 );
+@v1
+123456789098765400000.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-21 );
+@v1
+0.000000000000000000000123456789
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+20 );
+@v1
+12345678909876540000.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-20 );
+@v1
+0.000000000000000000001234567891
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+19 );
+@v1
+1234567890987654000.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-19 );
+@v1
+0.000000000000000000012345678910
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+18 );
+@v1
+123456789098765400.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-18 );
+@v1
+0.000000000000000000123456789099
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+17 );
+@v1
+12345678909876540.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-17 );
+@v1
+0.000000000000000001234567890988
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+16 );
+@v1
+1234567890987654.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-16 );
+@v1
+0.000000000000000012345678909877
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+15 );
+@v1
+123456789098765.400000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-15 );
+@v1
+0.000000000000000123456789098765
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+14 );
+@v1
+12345678909876.540000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-14 );
+@v1
+0.000000000000001234567890987654
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+13 );
+@v1
+1234567890987.654000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-13 );
+@v1
+0.000000000000012345678909876540
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+12 );
+@v1
+123456789098.765400000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-12 );
+@v1
+0.000000000000123456789098765400
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+11 );
+@v1
+12345678909.876540000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-11 );
+@v1
+0.000000000001234567890987654000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+10 );
+@v1
+1234567890.987654000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-10 );
+@v1
+0.000000000012345678909876540000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+9 );
+@v1
+123456789.098765400000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-9 );
+@v1
+0.000000000123456789098765400000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+8 );
+@v1
+12345678.909876540000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-8 );
+@v1
+0.000000001234567890987654000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+7 );
+@v1
+1234567.890987654000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-7 );
+@v1
+0.000000012345678909876540000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+6 );
+@v1
+123456.789098765400000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-6 );
+@v1
+0.000000123456789098765400000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+5 );
+@v1
+12345.678909876540000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-5 );
+@v1
+0.000001234567890987654000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+4 );
+@v1
+1234.567890987654000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-4 );
+@v1
+0.000012345678909876550000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+3 );
+@v1
+123.456789098765400000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-3 );
+@v1
+0.000123456789098765400000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+2 );
+@v1
+12.345678909876540000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-2 );
+@v1
+0.001234567890987654000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+1 );
+@v1
+1.234567890987654000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-1 );
+@v1
+0.012345678909876540000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+0 );
+@v1
+0.123456789098765400000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-0 );
+@v1
+0.123456789098765400000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
SHOW PROCEDURE status;
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER this is simple
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongname2348 PROCEDURE root@localhost modified created DEFINER
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcd PROCEDURE root@localhost modified created DEFINER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER this is simple latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( f1 enum("value1", "value1") ) language sql not deterministic sql security invoker comment 'this is simple'
BEGIN
SELECT f1;
END//
+Warnings:
+Note 1291 Column '' has duplicated value 'value1' in ENUM
CALL sp1( "value1" );
f1
value1
+Warnings:
+Note 1291 Column '' has duplicated value 'value1' in ENUM
SHOW PROCEDURE status;
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER this is simple
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongname2348 PROCEDURE root@localhost modified created DEFINER
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcd PROCEDURE root@localhost modified created DEFINER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER this is simple latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( f1 set("value1", "value1") ) language sql not deterministic sql security invoker comment 'this is simple'
BEGIN
SELECT f1;
END//
+Warnings:
+Note 1291 Column '' has duplicated value 'value1' in SET
CALL sp1( "value1, value1" );
f1
-value1, value1
+value1
+Warnings:
+Note 1291 Column '' has duplicated value 'value1' in SET
+Warning 1265 Data truncated for column 'f1' at row 1
SHOW PROCEDURE status;
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER this is simple
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongname2348 PROCEDURE root@localhost modified created DEFINER
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcd PROCEDURE root@localhost modified created DEFINER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER this is simple latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( f1 enum("value1", "value1") ) language sql not deterministic sql security invoker comment 'this is simple'
BEGIN
SELECT f1;
END//
+Warnings:
+Note 1291 Column '' has duplicated value 'value1' in ENUM
CALL sp1( "value1" );
f1
value1
+Warnings:
+Note 1291 Column '' has duplicated value 'value1' in ENUM
SHOW PROCEDURE status;
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER this is simple
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongname2348 PROCEDURE root@localhost modified created DEFINER
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcd PROCEDURE root@localhost modified created DEFINER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER this is simple latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( f1 text ) language sql SELECT f1;
CALL sp1( 'abc' );
f1
abc
SHOW PROCEDURE status like 'sp1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp1 PROCEDURE root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp1 PROCEDURE root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( f1 text ) deterministic SELECT f1;
CALL sp1( 'abc' );
f1
abc
SHOW PROCEDURE status like 'sp1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp1 PROCEDURE root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp1 PROCEDURE root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( f1 text ) not deterministic SELECT f1;
CALL sp1( 'abc' );
f1
abc
SHOW PROCEDURE status like 'sp1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp1 PROCEDURE root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp1 PROCEDURE root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( f1 text ) sql security definer SELECT f1;
CALL sp1( 'abc' );
f1
abc
SHOW PROCEDURE status like 'sp1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp1 PROCEDURE root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp1 PROCEDURE root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( f1 text ) sql security invoker SELECT f1;
CALL sp1( 'abc' );
f1
abc
SHOW PROCEDURE status like 'sp1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( f1 text ) comment 'this is simple' SELECT f1;
CALL sp1( 'abc' );
f1
abc
SHOW PROCEDURE status like 'sp1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp1 PROCEDURE root@localhost modified created DEFINER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp1 PROCEDURE root@localhost modified created DEFINER this is simple latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE sp1_thisisaveryverylongname234872934_thisisaveryverylongname234872934;
+ERROR 42000: Identifier name 'sp1_thisisaveryverylongname234872934_thisisaveryverylongname234872934' is too long
DROP PROCEDURE sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcde;
+ERROR 42000: Identifier name 'sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcde' is too long
DROP PROCEDURE sp1;
Testcase 4.1.2:
@@ -294,8 +1298,8 @@ SELECT fn1( ' world');
fn1( ' world')
hello world
SHOW FUNCTION STATUS LIKE 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc fn1 FUNCTION root@localhost modified created DEFINER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc fn1 FUNCTION root@localhost modified created DEFINER this is simple latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION IF EXISTS fn1;
CREATE FUNCTION fn1( f1 smallint ) returns smallint language sql not deterministic sql security invoker comment 'this is simple'
BEGIN
@@ -306,8 +1310,8 @@ SELECT fn1( 126 );
fn1( 126 )
127
SHOW FUNCTION STATUS LIKE 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc fn1 FUNCTION root@localhost modified created INVOKER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc fn1 FUNCTION root@localhost modified created INVOKER this is simple latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION IF EXISTS fn1;
CREATE FUNCTION fn1( f1 decimal(63, 31) ) returns decimal(63, 31) language sql not deterministic sql security invoker comment 'this is simple'
BEGIN
@@ -326,34 +1330,34 @@ SELECT fn1( 1.3326e+8 );
fn1( 1.3326e+8 )
134260000.000000000000000000000000000000
SHOW FUNCTION STATUS LIKE 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc fn1 FUNCTION root@localhost modified created INVOKER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc fn1 FUNCTION root@localhost modified created INVOKER this is simple latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION IF EXISTS fn1;
CREATE FUNCTION fn1( f1 enum("value1", "value1") ) returns decimal(63, 30) language sql not deterministic sql security invoker comment 'this is simple'
BEGIN
return f1;
END//
+Warnings:
+Note 1291 Column '' has duplicated value 'value1' in ENUM
SELECT fn1( "value1" );
fn1( "value1" )
-0.000000000000000000000000000000
-Warnings:
-Warning 1292 Truncated incorrect DECIMAL value: 'value1'
+1.000000000000000000000000000000
SHOW FUNCTION STATUS LIKE 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc fn1 FUNCTION root@localhost modified created INVOKER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc fn1 FUNCTION root@localhost modified created INVOKER this is simple latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION IF EXISTS fn1;
CREATE FUNCTION fn1( f1 set("value1", "value1") ) returns decimal(63, 30) language sql not deterministic sql security invoker comment 'this is simple'
BEGIN
return f1;
END//
+Warnings:
+Note 1291 Column '' has duplicated value 'value1' in SET
SELECT fn1( "value1, value1" );
fn1( "value1, value1" )
-0.000000000000000000000000000000
-Warnings:
-Warning 1292 Truncated incorrect DECIMAL value: 'value1, value1'
+1.000000000000000000000000000000
SHOW FUNCTION STATUS LIKE 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc fn1 FUNCTION root@localhost modified created INVOKER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc fn1 FUNCTION root@localhost modified created INVOKER this is simple latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION IF EXISTS fn1;
CREATE FUNCTION fn1( f1 smallint ) returns smallint language sql
BEGIN
@@ -364,8 +1368,8 @@ SELECT fn1( 126 );
fn1( 126 )
127
SHOW FUNCTION STATUS LIKE 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc fn1 FUNCTION root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc fn1 FUNCTION root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION IF EXISTS fn1;
CREATE FUNCTION fn1( f1 smallint ) returns smallint deterministic
BEGIN
@@ -376,8 +1380,8 @@ SELECT fn1( 126 );
fn1( 126 )
127
SHOW FUNCTION STATUS LIKE 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc fn1 FUNCTION root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc fn1 FUNCTION root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION IF EXISTS fn1;
CREATE FUNCTION fn1( f1 smallint ) returns smallint not deterministic
BEGIN
@@ -388,8 +1392,8 @@ SELECT fn1( 126 );
fn1( 126 )
127
SHOW FUNCTION STATUS LIKE 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc fn1 FUNCTION root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc fn1 FUNCTION root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION IF EXISTS fn1;
CREATE FUNCTION fn1( f1 smallint ) returns smallint
sql security definer
@@ -401,8 +1405,8 @@ SELECT fn1( 126 );
fn1( 126 )
127
SHOW FUNCTION STATUS LIKE 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc fn1 FUNCTION root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc fn1 FUNCTION root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION IF EXISTS fn1;
CREATE FUNCTION fn1( f1 smallint ) returns smallint
sql security invoker
@@ -414,8 +1418,8 @@ SELECT fn1( 126 );
fn1( 126 )
127
SHOW FUNCTION STATUS LIKE 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc fn1 FUNCTION root@localhost modified created INVOKER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc fn1 FUNCTION root@localhost modified created INVOKER latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION IF EXISTS fn1;
CREATE FUNCTION fn1( f1 smallint ) returns smallint
comment 'this is simple'
@@ -427,8 +1431,8 @@ SELECT fn1( 126 );
fn1( 126 )
127
SHOW FUNCTION STATUS LIKE 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc fn1 FUNCTION root@localhost modified created DEFINER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc fn1 FUNCTION root@localhost modified created DEFINER this is simple latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION fn1;
Testcase 4.1.3:
@@ -440,9 +1444,9 @@ DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1 (f1 char(20) )
SELECT * from t1 where f2 = f1;
show CREATE PROCEDURE sp1;
-Procedure sql_mode Create Procedure
-sp1 CREATE PROCEDURE `sp1`(f1 char(20) )
-SELECT * from t1 where f2 = f1
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+sp1 CREATE DEFINER=`root`@`localhost` PROCEDURE `sp1`(f1 char(20) )
+SELECT * from t1 where f2 = f1 latin1 modified created
DROP PROCEDURE sp1;
Testcase 4.1.4:
@@ -453,9 +1457,9 @@ DROP FUNCTION IF EXISTS fn1;
CREATE FUNCTION fn1 (s char(20)) returns char(50)
return concat('hello, ', s, '!');
show CREATE FUNCTION fn1;
-Function sql_mode Create Function
-fn1 CREATE FUNCTION `fn1`(s char(20)) RETURNS char(50)
-return concat('hello, ', s, '!')
+Function sql_mode Create Function character_set_client collation_connection Database Collation
+fn1 CREATE DEFINER=`root`@`localhost` FUNCTION `fn1`(s char(20)) RETURNS char(50) CHARSET latin1
+return concat('hello, ', s, '!') latin1 modified created
DROP FUNCTION fn1;
Testcase 4.1.5:
@@ -465,8 +1469,8 @@ SHOW PROCEDURE status
CREATE PROCEDURE sp5()
SELECT * from t1;
SHOW PROCEDURE status like 'sp5';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp5 PROCEDURE root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp5 PROCEDURE root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE sp5;
Testcase 4.1.6:
@@ -479,8 +1483,8 @@ set @b = 0.9 * a;
return @b;
END//
SHOW FUNCTION STATUS LIKE 'fn5';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc fn5 FUNCTION root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc fn5 FUNCTION root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION fn5;
Testcase 4.1.7:
@@ -498,7 +1502,7 @@ CREATE PROCEDURE sp7b (a char (20), out b char(20))
SELECT f1 into b from t1 where t1.f2= a;
CALL sp7b('xyz', @out_param);
Warnings:
-Warning 1329 No data to FETCH
+Warning 1329 No data - zero rows fetched, selected, or processed
SELECT @out_param;
@out_param
NULL
@@ -510,9 +1514,6 @@ SELECT f2 into c from t1 where t1.f2=999;
END//
set @c=1;
CALL sp7c('xyz', @out_param, @c);
-Warnings:
-Warning 1329 No data to FETCH
-Warning 1329 No data to FETCH
SELECT @out_param;
@out_param
NULL
@@ -539,48 +1540,48 @@ Testcase 4.1.9:
drop procedure
--------------------------------------------------------------------------------
SELECT * from mysql.proc where specific_name='sp9';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
DROP PROCEDURE IF EXISTS sp9;
SELECT * from mysql.proc where specific_name='sp9';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
CREATE PROCEDURE sp9()SELECT * from t1;
SELECT * from mysql.proc where specific_name='sp9';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
-db_storedproc sp9 PROCEDURE sp9 SQL CONTAINS_SQL NO DEFINER SELECT * from t1 root@localhost created modified
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
+db_storedproc sp9 PROCEDURE sp9 SQL CONTAINS_SQL NO DEFINER SELECT * from t1 root@localhost created modified latin1 latin1_swedish_ci latin1_swedish_ci SELECT * from t1
DROP PROCEDURE sp9;
SELECT * from mysql.proc where specific_name='sp9';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
CREATE PROCEDURE sp9()SELECT * from t1;
SELECT * from mysql.proc where specific_name='sp9';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
-db_storedproc sp9 PROCEDURE sp9 SQL CONTAINS_SQL NO DEFINER SELECT * from t1 root@localhost created modified
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
+db_storedproc sp9 PROCEDURE sp9 SQL CONTAINS_SQL NO DEFINER SELECT * from t1 root@localhost created modified latin1 latin1_swedish_ci latin1_swedish_ci SELECT * from t1
DROP PROCEDURE IF EXISTS sp9;
SELECT * from mysql.proc where specific_name='sp9';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
Testcase 4.1.10:
----------------
DROP FUNCTION
--------------------------------------------------------------------------------
SELECT * from mysql.proc where specific_name='fn10' and type='function';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
DROP FUNCTION IF EXISTS fn10;
SELECT * from mysql.proc where specific_name='fn10' and type='function';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
CREATE FUNCTION fn10() returns int return 100;
SELECT * from mysql.proc where specific_name='fn10' and type='function';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
-db_storedproc fn10 FUNCTION fn10 SQL CONTAINS_SQL NO DEFINER int(11) return 100 root@localhost created modified
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
+db_storedproc fn10 FUNCTION fn10 SQL CONTAINS_SQL NO DEFINER int(11) return 100 root@localhost created modified latin1 latin1_swedish_ci latin1_swedish_ci return 100
DROP FUNCTION fn10;
SELECT * from mysql.proc where specific_name='fn10' and type='function';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
CREATE FUNCTION fn10() returns int return 100;
SELECT * from mysql.proc where specific_name='fn10' and type='function';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
-db_storedproc fn10 FUNCTION fn10 SQL CONTAINS_SQL NO DEFINER int(11) return 100 root@localhost created modified
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
+db_storedproc fn10 FUNCTION fn10 SQL CONTAINS_SQL NO DEFINER int(11) return 100 root@localhost created modified latin1 latin1_swedish_ci latin1_swedish_ci return 100
DROP FUNCTION IF EXISTS fn10;
SELECT * from mysql.proc where specific_name='fn10' and type='function';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
Testcase 4.1.11:
----------------
@@ -604,6 +1605,7 @@ connect(localhost,user_1,,db_storedproc,MYSQL_PORT,MYSQL_SOCK);
user_1@localhost db_storedproc
CALL sp11();
+USE db_storedproc;
root@localhost db_storedproc
alter procedure sp11 sql security invoker;
@@ -612,6 +1614,7 @@ security_type
INVOKER
user_1@localhost db_storedproc
+USE db_storedproc;
CALL sp11();
ERROR 42000: INSERT command denied to user 'user_1'@'localhost' for table 't1'
commit work;
@@ -705,6 +1708,10 @@ SELECT * from t1 where f2 = f1' at line 1
CREATE PROCEDURE function()
SELECT * from t1 where f2=f1;
DROP PROCEDURE function;
+CREATE PROCEDURE accessible()
+SELECT * from t1 where f2=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 'accessible()
+SELECT * from t1 where f2=f1' at line 1
CREATE PROCEDURE add()
SELECT * from t1 where f2=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()
@@ -765,9 +1772,9 @@ CREATE PROCEDURE by()
SELECT * from t1 where f2=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 'by()
SELECT * from t1 where f2=f1' at line 1
-CREATE PROCEDURE CALL()
+CREATE PROCEDURE call()
SELECT * from t1 where f2=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 'CALL()
+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 'call()
SELECT * from t1 where f2=f1' at line 1
CREATE PROCEDURE cascade()
SELECT * from t1 where f2=f1;
@@ -801,17 +1808,10 @@ CREATE PROCEDURE column()
SELECT * from t1 where f2=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 'column()
SELECT * from t1 where f2=f1' at line 1
-CREATE PROCEDURE columns()
-SELECT * from t1 where f2=f1;
-DROP PROCEDURE columns;
CREATE PROCEDURE condition()
SELECT * from t1 where f2=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 'condition()
SELECT * from t1 where f2=f1' at line 1
-CREATE PROCEDURE connection()
-SELECT * from t1 where f2=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 'connection()
-SELECT * from t1 where f2=f1' at line 1
CREATE PROCEDURE constraint()
SELECT * from t1 where f2=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 'constraint()
@@ -995,9 +1995,6 @@ CREATE PROCEDURE foreign()
SELECT * from t1 where f2=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 'foreign()
SELECT * from t1 where f2=f1' at line 1
-CREATE PROCEDURE found()
-SELECT * from t1 where f2=f1;
-DROP PROCEDURE found;
CREATE PROCEDURE from()
SELECT * from t1 where f2=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 'from()
@@ -1006,9 +2003,6 @@ CREATE PROCEDURE fulltext()
SELECT * from t1 where f2=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 'fulltext()
SELECT * from t1 where f2=f1' at line 1
-CREATE PROCEDURE goto()
-SELECT * from t1 where f2=f1;
-DROP PROCEDURE goto;
CREATE PROCEDURE grant()
SELECT * from t1 where f2=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 'grant()
@@ -1077,6 +2071,26 @@ CREATE PROCEDURE int()
SELECT * from t1 where f2=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 'int()
SELECT * from t1 where f2=f1' at line 1
+CREATE PROCEDURE int1()
+SELECT * from t1 where f2=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 'int1()
+SELECT * from t1 where f2=f1' at line 1
+CREATE PROCEDURE int2()
+SELECT * from t1 where f2=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 'int2()
+SELECT * from t1 where f2=f1' at line 1
+CREATE PROCEDURE int3()
+SELECT * from t1 where f2=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 'int3()
+SELECT * from t1 where f2=f1' at line 1
+CREATE PROCEDURE int4()
+SELECT * from t1 where f2=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 'int4()
+SELECT * from t1 where f2=f1' at line 1
+CREATE PROCEDURE int8()
+SELECT * from t1 where f2=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 'int8()
+SELECT * from t1 where f2=f1' at line 1
CREATE PROCEDURE integer()
SELECT * from t1 where f2=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 'integer()
@@ -1133,6 +2147,10 @@ CREATE PROCEDURE limit()
SELECT * from t1 where f2=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 'limit()
SELECT * from t1 where f2=f1' at line 1
+CREATE PROCEDURE linear()
+SELECT * from t1 where f2=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 'linear()
+SELECT * from t1 where f2=f1' at line 1
CREATE PROCEDURE lines()
SELECT * from t1 where f2=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 'lines()
@@ -1173,6 +2191,10 @@ CREATE PROCEDURE low_priority()
SELECT * from t1 where f2=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 'low_priority()
SELECT * from t1 where f2=f1' at line 1
+CREATE PROCEDURE master_ssl_verify_server_cert()
+SELECT * from t1 where f2=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 'master_ssl_verify_server_cert()
+SELECT * from t1 where f2=f1' at line 1
CREATE PROCEDURE match()
SELECT * from t1 where f2=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 'match()
@@ -1273,9 +2295,6 @@ CREATE PROCEDURE primary()
SELECT * from t1 where f2=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 'primary()
SELECT * from t1 where f2=f1' at line 1
-CREATE PROCEDURE privileges()
-SELECT * from t1 where f2=f1;
-DROP PROCEDURE privileges;
CREATE PROCEDURE procedure()
SELECT * from t1 where f2=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 'procedure()
@@ -1284,6 +2303,10 @@ CREATE PROCEDURE purge()
SELECT * from t1 where f2=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 'purge()
SELECT * from t1 where f2=f1' at line 1
+CREATE PROCEDURE range()
+SELECT * from t1 where f2=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 'range()
+SELECT * from t1 where f2=f1' at line 1
CREATE PROCEDURE read()
SELECT * from t1 where f2=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 'read()
@@ -1304,6 +2327,10 @@ CREATE PROCEDURE regexp()
SELECT * from t1 where f2=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 'regexp()
SELECT * from t1 where f2=f1' at line 1
+CREATE PROCEDURE release()
+SELECT * from t1 where f2=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 'release()
+SELECT * from t1 where f2=f1' at line 1
CREATE PROCEDURE rename()
SELECT * from t1 where f2=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 'rename()
@@ -1376,10 +2403,6 @@ CREATE PROCEDURE smallint()
SELECT * from t1 where f2=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 'smallint()
SELECT * from t1 where f2=f1' at line 1
-CREATE PROCEDURE soname()
-SELECT * from t1 where f2=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 'soname()
-SELECT * from t1 where f2=f1' at line 1
CREATE PROCEDURE spatial()
SELECT * from t1 where f2=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 'spatial()
@@ -1432,9 +2455,6 @@ CREATE PROCEDURE table()
SELECT * from t1 where f2=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 'table()
SELECT * from t1 where f2=f1' at line 1
-CREATE PROCEDURE tables()
-SELECT * from t1 where f2=f1;
-DROP PROCEDURE tables;
CREATE PROCEDURE terminated()
SELECT * from t1 where f2=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 'terminated()
@@ -1725,6 +2745,26 @@ CREATE FUNCTION int(f1 int) returns int
return 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 'int(f1 int) returns int
return f1' at line 1
+CREATE FUNCTION int1(f1 int1) returns int1
+return 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 'int1(f1 int1) returns int1
+return f1' at line 1
+CREATE FUNCTION int2(f1 int2) returns int2
+return 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 'int2(f1 int2) returns int2
+return f1' at line 1
+CREATE FUNCTION int3(f1 int3) returns int3
+return 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 'int3(f1 int3) returns int3
+return f1' at line 1
+CREATE FUNCTION int4(f1 int4) returns int4
+return 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 'int4(f1 int4) returns int4
+return f1' at line 1
+CREATE FUNCTION int8(f1 int8) returns int8
+return 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 'int8(f1 int8) returns int8
+return f1' at line 1
CREATE FUNCTION int unsigned(f1 int unsigned) returns int unsigned
return 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 'int unsigned(f1 int unsigned) returns int unsigned
@@ -1846,485 +2886,291 @@ return f' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(char f1 ) returns char
+CREATE FUNCTION fn1(f1 char ) returns char
return 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 'char f1 ) returns char
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(char binary f1 ) returns char binary
+CREATE FUNCTION fn1(f1 char binary ) returns char binary
return 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 'char binary f1 ) returns char binary
-return f1' at line 1
+ERROR 42000: This version of MySQL doesn't yet support 'return value collation'
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(char ascii f1 ) returns char ascii
+CREATE FUNCTION fn1(f1 char ascii ) returns char ascii
return 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 'char ascii f1 ) returns char ascii
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(char not null f1 ) returns char not null
+CREATE FUNCTION fn1(f1 char not null ) returns char not null
return 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 'char not null f1 ) returns char not null
+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 'not null ) returns char not null
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(char binary not null f1 ) returns char binary not null
+CREATE FUNCTION fn1(f1 char binary not null ) returns char binary not null
return 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 'char binary not null f1 ) returns char binary not null
+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 'not null ) returns char binary not null
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(char ascii not null f1 ) returns char ascii not null
+CREATE FUNCTION fn1(f1 char ascii not null ) returns char ascii not null
return 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 'char ascii not null f1 ) returns char ascii not null
+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 'not null ) returns char ascii not null
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(tinytext f1 ) returns tinytext
+CREATE FUNCTION fn1(f1 tinytext ) returns tinytext
return 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 'tinytext f1 ) returns tinytext
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(text f1 ) returns text
+CREATE FUNCTION fn1(f1 text ) returns text
return 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 'f1 ) returns text
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(mediumtext f1 ) returns mediumtext
+CREATE FUNCTION fn1(f1 mediumtext ) returns mediumtext
return 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 'mediumtext f1 ) returns mediumtext
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(longtext f1 ) returns longtext
+CREATE FUNCTION fn1(f1 longtext ) returns longtext
return 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 'longtext f1 ) returns longtext
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(tinytext not null f1 ) returns tinytext not null
+CREATE FUNCTION fn1(f1 tinytext not null ) returns tinytext not null
return 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 'tinytext not null f1 ) returns tinytext not null
+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 'not null ) returns tinytext not null
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(text not null f1 ) returns text not null
+CREATE FUNCTION fn1(f1 text not null ) returns text not null
return 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 'not null f1 ) returns text not null
+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 'not null ) returns text not null
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(mediumtext not null f1 ) returns mediumtext not null
+CREATE FUNCTION fn1(f1 mediumtext not null ) returns mediumtext not null
return 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 'mediumtext not null f1 ) returns mediumtext not null
+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 'not null ) returns mediumtext not null
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(longtext not null f1 ) returns longtext not null
+CREATE FUNCTION fn1(f1 longtext not null ) returns longtext not null
return 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 'longtext not null f1 ) returns longtext not null
+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 'not null ) returns longtext not null
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(tinyblob f1 ) returns tinyblob
+CREATE FUNCTION fn1(f1 tinyblob ) returns tinyblob
return 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 'tinyblob f1 ) returns tinyblob
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(blob f1 ) returns blob
+CREATE FUNCTION fn1(f1 blob ) returns blob
return 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 'blob f1 ) returns blob
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(mediumblob f1 ) returns mediumblob
+CREATE FUNCTION fn1(f1 mediumblob ) returns mediumblob
return 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 'mediumblob f1 ) returns mediumblob
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(longblob f1 ) returns longblob
+CREATE FUNCTION fn1(f1 longblob ) returns longblob
return 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 'longblob f1 ) returns longblob
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(tinyblob not null f1 ) returns tinyblob not null
+CREATE FUNCTION fn1(f1 tinyblob not null ) returns tinyblob not null
return 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 'tinyblob not null f1 ) returns tinyblob not null
+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 'not null ) returns tinyblob not null
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(blob not null f1 ) returns blob not null
+CREATE FUNCTION fn1(f1 blob not null ) returns blob not null
return 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 'blob not null f1 ) returns blob not null
+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 'not null ) returns blob not null
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(mediumblob not null f1 ) returns mediumblob not null
+CREATE FUNCTION fn1(f1 mediumblob not null ) returns mediumblob not null
return 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 'mediumblob not null f1 ) returns mediumblob not null
+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 'not null ) returns mediumblob not null
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(longblob not null f1 ) returns longblob not null
+CREATE FUNCTION fn1(f1 longblob not null ) returns longblob not null
return 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 'longblob not null f1 ) returns longblob not null
+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 'not null ) returns longblob not null
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(binary f1 ) returns binary
+CREATE FUNCTION fn1(f1 binary ) returns binary
return 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 'binary f1 ) returns binary
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(binary not null f1 ) returns binary not null
+CREATE FUNCTION fn1(f1 binary not null ) returns binary not null
return 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 'binary not null f1 ) returns binary not null
+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 'not null ) returns binary not null
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(tinyint f1 ) returns tinyint
+CREATE FUNCTION fn1(f1 tinyint ) returns tinyint
return 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 'tinyint f1 ) returns tinyint
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(tinyint unsigned f1 ) returns tinyint unsigned
+CREATE FUNCTION fn1(f1 tinyint unsigned ) returns tinyint unsigned
return 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 'tinyint unsigned f1 ) returns tinyint unsigned
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(tinyint zerofill f1 ) returns tinyint zerofill
+CREATE FUNCTION fn1(f1 tinyint zerofill ) returns tinyint zerofill
return 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 'tinyint zerofill f1 ) returns tinyint zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(tinyint unsigned zerofill f1 ) returns tinyint unsigned zerofill
+CREATE FUNCTION fn1(f1 tinyint unsigned zerofill ) returns tinyint unsigned zerofill
return 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 'tinyint unsigned zerofill f1 ) returns tinyint unsigned zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(smallint f1 ) returns smallint
+CREATE FUNCTION fn1(f1 smallint ) returns smallint
return 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 'smallint f1 ) returns smallint
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(smallint unsigned f1 ) returns smallint unsigned
+CREATE FUNCTION fn1(f1 smallint unsigned ) returns smallint unsigned
return 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 'smallint unsigned f1 ) returns smallint unsigned
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(smallint zerofill f1 ) returns smallint zerofill
+CREATE FUNCTION fn1(f1 smallint zerofill ) returns smallint zerofill
return 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 'smallint zerofill f1 ) returns smallint zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(smallint unsigned zerofill f1 ) returns smallint unsigned zerofill
+CREATE FUNCTION fn1(f1 smallint unsigned zerofill ) returns smallint unsigned zerofill
return 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 'smallint unsigned zerofill f1 ) returns smallint unsigned zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(mediumint f1 ) returns mediumint
+CREATE FUNCTION fn1(f1 mediumint ) returns mediumint
return 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 'mediumint f1 ) returns mediumint
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(mediumint unsigned f1 ) returns mediumint unsigned
+CREATE FUNCTION fn1(f1 mediumint unsigned ) returns mediumint unsigned
return 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 'mediumint unsigned f1 ) returns mediumint unsigned
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(mediumint zerofill f1 ) returns mediumint zerofill
+CREATE FUNCTION fn1(f1 mediumint zerofill ) returns mediumint zerofill
return 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 'mediumint zerofill f1 ) returns mediumint zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(mediumint unsigned zerofill f1 ) returns mediumint unsigned zerofill
+CREATE FUNCTION fn1(f1 mediumint unsigned zerofill ) returns mediumint unsigned zerofill
return 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 'mediumint unsigned zerofill f1 ) returns mediumint unsigned zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(int f1 ) returns int
+CREATE FUNCTION fn1(f1 int ) returns int
return 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 'int f1 ) returns int
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(int unsigned f1 ) returns int unsigned
+CREATE FUNCTION fn1(f1 int unsigned ) returns int unsigned
return 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 'int unsigned f1 ) returns int unsigned
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(int zerofill f1 ) returns int zerofill
+CREATE FUNCTION fn1(f1 int1 unsigned ) returns int1 unsigned
return 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 'int zerofill f1 ) returns int zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(int unsigned zerofill f1 ) returns int unsigned zerofill
+CREATE FUNCTION fn1(f1 int2 unsigned ) returns int2 unsigned
return 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 'int unsigned zerofill f1 ) returns int unsigned zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(bigint f1 ) returns bigint
+CREATE FUNCTION fn1(f1 int3 unsigned ) returns int3 unsigned
return 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 'bigint f1 ) returns bigint
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(bigint unsigned f1 ) returns bigint unsigned
+CREATE FUNCTION fn1(f1 int4 unsigned ) returns int4 unsigned
return 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 'bigint unsigned f1 ) returns bigint unsigned
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(bigint zerofill f1 ) returns bigint zerofill
+CREATE FUNCTION fn1(f1 int8 unsigned ) returns int8 unsigned
return 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 'bigint zerofill f1 ) returns bigint zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(bigint unsigned zerofill f1 ) returns bigint unsigned zerofill
+CREATE FUNCTION fn1(f1 int zerofill ) returns int zerofill
return 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 'bigint unsigned zerofill f1 ) returns bigint unsigned zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(decimal f1 ) returns decimal
+CREATE FUNCTION fn1(f1 int unsigned zerofill ) returns int unsigned zerofill
return 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 'decimal f1 ) returns decimal
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(decimal unsigned f1 ) returns decimal unsigned
+CREATE FUNCTION fn1(f1 bigint ) returns bigint
return 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 'decimal unsigned f1 ) returns decimal unsigned
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(decimal zerofill f1 ) returns decimal zerofill
+CREATE FUNCTION fn1(f1 bigint unsigned ) returns bigint unsigned
return 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 'decimal zerofill f1 ) returns decimal zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(decimal unsigned zerofill f1 ) returns decimal unsigned zerofill
+CREATE FUNCTION fn1(f1 bigint zerofill ) returns bigint zerofill
return 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 'decimal unsigned zerofill f1 ) returns decimal unsigned zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(numeric f1 ) returns numeric
+CREATE FUNCTION fn1(f1 bigint unsigned zerofill ) returns bigint unsigned zerofill
return 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 'numeric f1 ) returns numeric
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(numeric unsigned f1 ) returns numeric unsigned
+CREATE FUNCTION fn1(f1 decimal ) returns decimal
return 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 'numeric unsigned f1 ) returns numeric unsigned
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(numeric zerofill f1 ) returns numeric zerofill
+CREATE FUNCTION fn1(f1 decimal unsigned ) returns decimal unsigned
return 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 'numeric zerofill f1 ) returns numeric zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(numeric unsigned zerofill f1 ) returns numeric unsigned zerofill
+CREATE FUNCTION fn1(f1 decimal zerofill ) returns decimal zerofill
return 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 'numeric unsigned zerofill f1 ) returns numeric unsigned zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(real f1 ) returns real
+CREATE FUNCTION fn1(f1 decimal unsigned zerofill ) returns decimal unsigned zerofill
return 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 'real f1 ) returns real
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(real unsigned f1 ) returns real unsigned
+CREATE FUNCTION fn1(f1 numeric ) returns numeric
return 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 'real unsigned f1 ) returns real unsigned
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(real zerofill f1 ) returns real zerofill
+CREATE FUNCTION fn1(f1 numeric unsigned ) returns numeric unsigned
return 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 'real zerofill f1 ) returns real zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(real unsigned zerofill f1 ) returns real unsigned zerofill
+CREATE FUNCTION fn1(f1 numeric zerofill ) returns numeric zerofill
return 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 'real unsigned zerofill f1 ) returns real unsigned zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(float f1 ) returns float
+CREATE FUNCTION fn1(f1 numeric unsigned zerofill ) returns numeric unsigned zerofill
return 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 'float f1 ) returns float
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(float unsigned f1 ) returns float unsigned
+CREATE FUNCTION fn1(f1 real ) returns real
return 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 'float unsigned f1 ) returns float unsigned
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(float zerofill f1 ) returns float zerofill
+CREATE FUNCTION fn1(f1 real unsigned ) returns real unsigned
return 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 'float zerofill f1 ) returns float zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(float unsigned zerofill f1 ) returns float unsigned zerofill
+CREATE FUNCTION fn1(f1 real zerofill ) returns real zerofill
return 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 'float unsigned zerofill f1 ) returns float unsigned zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(date f1 ) returns date
+CREATE FUNCTION fn1(f1 real unsigned zerofill ) returns real unsigned zerofill
return 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 'f1 ) returns date
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(time f1 ) returns time
+CREATE FUNCTION fn1(f1 float ) returns float
return 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 'f1 ) returns time
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(datetime f1 ) returns datetime
+CREATE FUNCTION fn1(f1 float unsigned ) returns float unsigned
return 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 'f1 ) returns datetime
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(timestamp f1 ) returns timestamp
+CREATE FUNCTION fn1(f1 float zerofill ) returns float zerofill
return 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 'f1 ) returns timestamp
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(year f1 ) returns year
+CREATE FUNCTION fn1(f1 float unsigned zerofill ) returns float unsigned zerofill
return 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 'f1 ) returns year
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(year(3) f1 ) returns year(3)
+CREATE FUNCTION fn1(f1 date ) returns date
+return f1;
+DROP FUNCTION IF EXISTS fn1;
+CREATE FUNCTION fn1(f1 time ) returns time
+return f1;
+DROP FUNCTION IF EXISTS fn1;
+CREATE FUNCTION fn1(f1 datetime ) returns datetime
+return f1;
+DROP FUNCTION IF EXISTS fn1;
+CREATE FUNCTION fn1(f1 timestamp ) returns timestamp
+return f1;
+DROP FUNCTION IF EXISTS fn1;
+CREATE FUNCTION fn1(f1 year ) returns year
+return f1;
+DROP FUNCTION IF EXISTS fn1;
+CREATE FUNCTION fn1(f1 year(f1 3) ) returns year(3)
return 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 '(3) f1 ) returns year(3)
+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 3) ) returns year(3)
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(year(4) f1 ) returns year(4)
+CREATE FUNCTION fn1(f1 year(f1 4) ) returns year(4)
return 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 '(4) f1 ) returns year(4)
+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 4) ) returns year(4)
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(enum("1enum", "2enum") f1 ) returns enum("1enum", "2enum")
+CREATE FUNCTION fn1(f1 enum(f1 "1enum", "2enum") ) returns enum("1enum", "2enum")
return 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 '("1enum", "2enum") f1 ) returns enum("1enum", "2enum")
+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 "1enum", "2enum") ) returns enum("1enum", "2enum")
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(set("1set", "2set") f1 ) returns set("1set", "2set")
+CREATE FUNCTION fn1(f1 set(f1 "1set", "2set") ) returns set("1set", "2set")
return 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 'set("1set", "2set") f1 ) returns set("1set", "2set")
+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 "1set", "2set") ) returns set("1set", "2set")
return f1' at line 1
Testcase 4.1.16:
@@ -2564,15 +3410,15 @@ alter function sp1 sql security invoker comment 'this is a function';
alter procedure sp1 sql security definer;
alter function sp1 sql security definer;
show CREATE PROCEDURE sp1;
-Procedure sql_mode Create Procedure
-sp1 CREATE PROCEDURE `sp1`()
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+sp1 CREATE DEFINER=`root`@`localhost` PROCEDURE `sp1`()
COMMENT 'this is a procedure'
-set @x= 3
+set @x= 3 latin1 modified created
show CREATE FUNCTION sp1;
-Function sql_mode Create Function
-sp1 CREATE FUNCTION `sp1`() RETURNS int(11)
+Function sql_mode Create Function character_set_client collation_connection Database Collation
+sp1 CREATE DEFINER=`root`@`localhost` FUNCTION `sp1`() RETURNS int(11)
COMMENT 'this is a function'
-return 4
+return 4 latin1 modified created
USE db_storedproc;
DROP DATABASE db_storedproc_3122;
DROP FUNCTION db_storedproc.sp1;
@@ -2789,7 +3635,7 @@ SELECT count(*) into cnt from t2;
set @count = cnt;
SELECT @count;
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 'SELECT count(*) into cnt from t2;
+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 @count = cnt;
SELECT @count;
END' at line 2
@@ -2841,6 +3687,14 @@ Testcase ....:
--------------------------------------------------------------------------------
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
+accessible:BEGIN
+SELECT @x;
+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 'accessible:BEGIN
+SELECT @x;
+END' at line 2
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
add:BEGIN
SELECT @x;
END//
@@ -2860,9 +3714,7 @@ CREATE PROCEDURE sp1()
alter:BEGIN
SELECT @x;
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 ':BEGIN
-SELECT @x;
-END' at line 2
+ERROR 0A000: ALTER VIEW is not allowed in stored procedures
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
analyze:BEGIN
@@ -2961,7 +3813,7 @@ SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
-CALL:BEGIN
+call:BEGIN
SELECT @x;
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 ':BEGIN
@@ -3033,11 +3885,6 @@ SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
-columns:BEGIN
-SELECT @x;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1()
condition:BEGIN
SELECT @x;
END//
@@ -3046,14 +3893,6 @@ SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
-connection:BEGIN
-SELECT @x;
-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 'connection:BEGIN
-SELECT @x;
-END' at line 2
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1()
constraint:BEGIN
SELECT @x;
END//
@@ -3382,15 +4221,26 @@ SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
-fields:BEGIN
+float:BEGIN
SELECT @x;
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 'float:BEGIN
+SELECT @x;
+END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
-float:BEGIN
+float4:BEGIN
SELECT @x;
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 'float:BEGIN
+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 'float4:BEGIN
+SELECT @x;
+END' at line 2
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+float8:BEGIN
+SELECT @x;
+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 'float8:BEGIN
SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
@@ -3419,11 +4269,6 @@ SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
-found:BEGIN
-SELECT @x;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1()
from:BEGIN
SELECT @x;
END//
@@ -3440,11 +4285,6 @@ SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
-goto:BEGIN
-SELECT @x;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1()
grant:BEGIN
SELECT @x;
END//
@@ -3581,6 +4421,46 @@ SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
+int1:BEGIN
+SELECT @x;
+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 'int1:BEGIN
+SELECT @x;
+END' at line 2
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+int2:BEGIN
+SELECT @x;
+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 'int2:BEGIN
+SELECT @x;
+END' at line 2
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+int3:BEGIN
+SELECT @x;
+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 'int3:BEGIN
+SELECT @x;
+END' at line 2
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+int4:BEGIN
+SELECT @x;
+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 'int4:BEGIN
+SELECT @x;
+END' at line 2
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+int8:BEGIN
+SELECT @x;
+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 'int8:BEGIN
+SELECT @x;
+END' at line 2
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
integer:BEGIN
SELECT @x;
END//
@@ -3693,6 +4573,14 @@ SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
+linear:BEGIN
+SELECT @x;
+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 'linear:BEGIN
+SELECT @x;
+END' at line 2
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
lines:BEGIN
SELECT @x;
END//
@@ -3773,6 +4661,14 @@ SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
+master_ssl_verify_server_cert:BEGIN
+SELECT @x;
+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 'master_ssl_verify_server_cert:BEGIN
+SELECT @x;
+END' at line 2
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
match:BEGIN
SELECT @x;
END//
@@ -3973,11 +4869,6 @@ SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
-privileges:BEGIN
-SELECT @x;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1()
procedure:BEGIN
SELECT @x;
END//
@@ -3994,6 +4885,14 @@ SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
+range:BEGIN
+SELECT @x;
+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 'range:BEGIN
+SELECT @x;
+END' at line 2
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
read:BEGIN
SELECT @x;
END//
@@ -4009,6 +4908,15 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+read_write:BEGIN
+SELECT @x;
+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 'read_write:BEGIN
+SELECT @x;
+END' at line 2
+DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
real:BEGIN
SELECT @x;
@@ -4034,6 +4942,14 @@ SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
+release:BEGIN
+SELECT @x;
+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 ':BEGIN
+SELECT @x;
+END' at line 2
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
rename:BEGIN
SELECT @x;
END//
@@ -4178,14 +5094,6 @@ SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
-soname:BEGIN
-SELECT @x;
-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 'soname:BEGIN
-SELECT @x;
-END' at line 2
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1()
spatial:BEGIN
SELECT @x;
END//
@@ -4290,11 +5198,6 @@ SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
-tables:BEGIN
-SELECT @x;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1()
terminated:BEGIN
SELECT @x;
END//
@@ -4587,6 +5490,9 @@ END begin_label//
CALL sp1();
@v1 @v2
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 sp1;
Testcase 4.2.7:
@@ -4621,6 +5527,9 @@ declare y char;
SELECT f1, f2 into x, y from t2 limit 1;
END//
CALL sp1();
+Warnings:
+Warning 1265 Data truncated for column 'x' at row 1
+Warning 1265 Data truncated for column 'y' at row 1
DROP PROCEDURE sp1;
Testcase 4.2.9:
@@ -4684,8 +5593,6 @@ Ensure that the variables, cursors, conditions, and handlers declared for
a stored procedure (with the declare statement) may only be properly defined
--------------------------------------------------------------------------------
DROP PROCEDURE IF EXISTS sp6;
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed: DECIMAL(255,255) is not rejected
CREATE PROCEDURE sp6( )
BEGIN
declare x char default 'a';
@@ -4703,9 +5610,9 @@ fetch cur1 into e;
SELECT x, y, z, a, b, c, d, e;
close cur1;
END//
+ERROR 42000: Too big scale 255 specified for column ''. Maximum is 30.
CALL sp6();
-x y z a b c d e
-a 1 1.1 value1 1200000000000 mediumtext 2005-02-02 12:12:12 a`
+ERROR 42000: PROCEDURE db_storedproc.sp6 does not exist
DROP PROCEDURE IF EXISTS sp6;
CREATE PROCEDURE sp6( )
BEGIN
@@ -5828,13 +6735,6 @@ declare continue handler for sqlstate '23000' set @x2 = 1;
declare x char;
END//
ERROR 42000: Variable or condition declaration after cursor or handler declaration
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1()
-BEGIN
-declare continue handler for sqlstate '23000' set @x2 = 1;
-declare x char;
-END//
-ERROR 42000: Variable or condition declaration after cursor or handler declaration
DROP PROCEDURE IF EXISTS sp6;
CREATE PROCEDURE sp6( )
BEGIN
@@ -5864,6 +6764,15 @@ Ensure that the declare statement can declare multiple variables both separately
and all at once from a variable list. (multiple declaration)
--------------------------------------------------------------------------------
DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+BEGIN
+DECLARE x1 CHAR(100) DEFAULT 'outer';
+BEGIN
+DECLARE x1 CHAR(100) DEFAULT x1;
+END;
+END//
+CALL sp1();
+DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
declare x, y, z char default null;
@@ -5988,7 +6897,11 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
--1 -1 -1
+000 000 000
+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
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -5997,7 +6910,7 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
-1 1 1
+001 001 001
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6024,7 +6937,11 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
--1 -1 -1
+00000 00000 00000
+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
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6033,7 +6950,7 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
-1 1 1
+00001 00001 00001
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6060,7 +6977,11 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
--1 -1 -1
+00000000 00000000 00000000
+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
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6069,7 +6990,7 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
-1 1 1
+00000001 00000001 00000001
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6096,7 +7017,11 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
--1 -1 -1
+0000000000 0000000000 0000000000
+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
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6105,7 +7030,7 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
-1 1 1
+0000000001 0000000001 0000000001
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6123,7 +7048,7 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
--1 -1 -1
+18446744073709551615 18446744073709551615 18446744073709551615
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6132,7 +7057,11 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
--1 -1 -1
+00000000000000000000 00000000000000000000 00000000000000000000
+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
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6141,7 +7070,7 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
-1 1 1
+00000000000000000001 00000000000000000001 00000000000000000001
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6150,18 +7079,24 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
--34028234660123456789012345678901234567 -34028234660123456789012345678901234567 -34028234660123456789012345678901234567
+-9999999999 -9999999999 -9999999999
+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
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
declare x, y, z decimal unsigned default 1.175494351e-38;
SELECT x, y, z;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed: default (10,0) for DECIMAL not checked
CALL sp1();
x y z
-0.00000000000000000000000000000000000001175494351 0.00000000000000000000000000000000000001175494351 0.00000000000000000000000000000000000001175494351
+0 0 0
+Warnings:
+Note 1265 Data truncated for column 'x' at row 1
+Note 1265 Data truncated for column 'y' at row 1
+Note 1265 Data truncated for column 'z' at row 1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6170,62 +7105,76 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
--34028234660123456789012345678901234567 -34028234660123456789012345678901234567 -34028234660123456789012345678901234567
+0000000000 0000000000 0000000000
+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
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
declare x, y, z decimal unsigned zerofill default 1.175494351e-38;
SELECT x, y, z;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed: default (10,0) for DECIMAL not checked
CALL sp1();
x y z
-0.00000000000000000000000000000000000001175494351 0.00000000000000000000000000000000000001175494351 0.00000000000000000000000000000000000001175494351
+0000000000 0000000000 0000000000
+Warnings:
+Note 1265 Data truncated for column 'x' at row 1
+Note 1265 Data truncated for column 'y' at row 1
+Note 1265 Data truncated for column 'z' at row 1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
declare x, y, z numeric default 1.175494351e-38;
SELECT x, y, z;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed: default (10,0) for DECIMAL not checked
CALL sp1();
x y z
-0.00000000000000000000000000000000000001175494351 0.00000000000000000000000000000000000001175494351 0.00000000000000000000000000000000000001175494351
+0 0 0
+Warnings:
+Note 1265 Data truncated for column 'x' at row 1
+Note 1265 Data truncated for column 'y' at row 1
+Note 1265 Data truncated for column 'z' at row 1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
declare x, y, z numeric unsigned default 1.175494351e-38;
SELECT x, y, z;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed: default (10,0) for DECIMAL not checked
CALL sp1();
x y z
-0.00000000000000000000000000000000000001175494351 0.00000000000000000000000000000000000001175494351 0.00000000000000000000000000000000000001175494351
+0 0 0
+Warnings:
+Note 1265 Data truncated for column 'x' at row 1
+Note 1265 Data truncated for column 'y' at row 1
+Note 1265 Data truncated for column 'z' at row 1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
declare x, y, z numeric zerofill default 1.175494351e-38;
SELECT x, y, z;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed: default (10,0) for DECIMAL not checked
CALL sp1();
x y z
-0.00000000000000000000000000000000000001175494351 0.00000000000000000000000000000000000001175494351 0.00000000000000000000000000000000000001175494351
+0000000000 0000000000 0000000000
+Warnings:
+Note 1265 Data truncated for column 'x' at row 1
+Note 1265 Data truncated for column 'y' at row 1
+Note 1265 Data truncated for column 'z' at row 1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
declare x, y, z numeric unsigned zerofill default 1.175494351e-38;
SELECT x, y, z;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed: default (10,0) for DECIMAL not checked
CALL sp1();
x y z
-0.00000000000000000000000000000000000001175494351 0.00000000000000000000000000000000000001175494351 0.00000000000000000000000000000000000001175494351
+0000000000 0000000000 0000000000
+Warnings:
+Note 1265 Data truncated for column 'x' at row 1
+Note 1265 Data truncated for column 'y' at row 1
+Note 1265 Data truncated for column 'z' at row 1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6252,7 +7201,7 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
-1.175494351e-38 1.175494351e-38 1.175494351e-38
+00000001.175494351e-38 00000001.175494351e-38 00000001.175494351e-38
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6261,7 +7210,7 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
-1.175494351e-38 1.175494351e-38 1.175494351e-38
+00000001.175494351e-38 00000001.175494351e-38 00000001.175494351e-38
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6270,7 +7219,7 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
-1.175494351e-38 1.175494351e-38 1.175494351e-38
+1.17549e-38 1.17549e-38 1.17549e-38
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6279,7 +7228,7 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
-1.175494351e-38 1.175494351e-38 1.175494351e-38
+1.17549e-38 1.17549e-38 1.17549e-38
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6288,7 +7237,7 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
-1.175494351e-38 1.175494351e-38 1.175494351e-38
+01.17549e-38 01.17549e-38 01.17549e-38
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6297,7 +7246,7 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
-1.175494351e-38 1.175494351e-38 1.175494351e-38
+01.17549e-38 01.17549e-38 01.17549e-38
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6333,7 +7282,7 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
-20050202122012 20050202122012 20050202122012
+2005-02-02 12:20:12 2005-02-02 12:20:12 2005-02-02 12:20:12
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6419,6 +7368,13 @@ END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
+declare accessible char;
+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 'accessible char;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+BEGIN
declare add char;
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 'add char;
@@ -6524,9 +7480,9 @@ END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
-declare CALL char;
+declare call char;
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 'CALL char;
+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 'call char;
END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
@@ -6587,11 +7543,6 @@ END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
-declare columns char;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1()
-BEGIN
declare condition char;
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 'condition char;
@@ -6599,13 +7550,6 @@ END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
-declare connection char;
-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 'connection char;
-END' at line 3
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1()
-BEGIN
declare constraint char;
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 'constraint char;
@@ -6893,14 +7837,23 @@ END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
-declare fields char;
+declare float char;
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 'float char;
+END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
-declare float char;
+declare float4 char;
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 'float char;
+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 'float4 char;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+BEGIN
+declare float8 char;
+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 'float8 char;
END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
@@ -6926,11 +7879,6 @@ END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
-declare found char;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1()
-BEGIN
declare from char;
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 'from char;
@@ -6945,11 +7893,6 @@ END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
-declare goto char;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1()
-BEGIN
declare grant char;
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 'grant char;
@@ -7069,6 +8012,41 @@ END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
+declare int1 char;
+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 'int1 char;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+BEGIN
+declare int2 char;
+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 'int2 char;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+BEGIN
+declare int3 char;
+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 'int3 char;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+BEGIN
+declare int4 char;
+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 'int4 char;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+BEGIN
+declare int8 char;
+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 'int8 char;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+BEGIN
declare integer char;
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 'integer char;
@@ -7167,6 +8145,13 @@ END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
+declare linear char;
+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 'linear char;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+BEGIN
declare lines char;
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 'lines char;
@@ -7237,6 +8222,13 @@ END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
+declare master_ssl_verify_server_cert char;
+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 'master_ssl_verify_server_cert char;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+BEGIN
declare match char;
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 'match char;
@@ -7412,11 +8404,6 @@ END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
-declare privileges char;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1()
-BEGIN
declare procedure char;
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 'procedure char;
@@ -7431,6 +8418,13 @@ END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
+declare range char;
+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 'range char;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+BEGIN
declare read char;
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 'read char;
@@ -7445,6 +8439,18 @@ END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
+declare read_only char;
+END//
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+BEGIN
+declare read_write char;
+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 'read_write char;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+BEGIN
declare real char;
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 'real char;
@@ -7466,6 +8472,13 @@ END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
+declare release char;
+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 'release char;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+BEGIN
declare rename char;
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 'rename char;
@@ -7624,15 +8637,6 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1()
BEGIN
-declare soname char;
-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 'soname char;
-END' at line 3
-DROP PROCEDURE IF EXISTS sp1;
-Warnings:
-Note 1305 PROCEDURE sp1 does not exist
-CREATE PROCEDURE sp1()
-BEGIN
declare spatial char;
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 'spatial char;
@@ -7750,11 +8754,6 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1()
BEGIN
-declare tables char;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1()
-BEGIN
declare terminated char;
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 'terminated char;
@@ -7899,9 +8898,9 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1()
BEGIN
-declare USE char;
+declare use char;
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 'USE char;
+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 'use char;
END' at line 3
DROP PROCEDURE IF EXISTS sp1;
Warnings:
@@ -8150,6 +9149,16 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare accessible condition for sqlstate '02000';
+declare exit handler for add set @var2 = 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 'accessible condition for sqlstate '02000';
+declare exit handler for add set @var' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare add condition for sqlstate '02000';
declare exit handler for add set @var2 = 1;
END//
@@ -8306,10 +9315,10 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare CALL condition for sqlstate '02000';
+declare call condition for sqlstate '02000';
declare exit handler for CALL set @var2 = 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 'CALL condition for sqlstate '02000';
+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 'call condition for sqlstate '02000';
declare exit handler for CALL set @var2 = 1' at line 3
DROP PROCEDURE IF EXISTS sp1;
Warnings:
@@ -8409,11 +9418,7 @@ BEGIN
declare connection condition for sqlstate '02000';
declare exit handler for connection set @var2 = 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 'connection condition for sqlstate '02000';
-declare exit handler for connection s' at line 3
DROP PROCEDURE IF EXISTS sp1;
-Warnings:
-Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
declare constraint condition for sqlstate '02000';
@@ -8829,12 +9834,6 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare fields condition for sqlstate '02000';
-declare exit handler for fields set @var2 = 1;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1( )
-BEGIN
declare float condition for sqlstate '02000';
declare exit handler for float set @var2 = 1;
END//
@@ -8845,6 +9844,26 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare float4 condition for sqlstate '02000';
+declare exit handler for add set @var2 = 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 'float4 condition for sqlstate '02000';
+declare exit handler for add set @var2 = ' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
+declare float8 condition for sqlstate '02000';
+declare exit handler for add set @var2 = 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 'float8 condition for sqlstate '02000';
+declare exit handler for add set @var2 = ' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare for condition for sqlstate '02000';
declare exit handler for for set @var2 = 1;
END//
@@ -8876,12 +9895,6 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare found condition for sqlstate '02000';
-declare exit handler for found set @var2 = 1;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1( )
-BEGIN
declare from condition for sqlstate '02000';
declare exit handler for from set @var2 = 1;
END//
@@ -8902,12 +9915,6 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare goto condition for sqlstate '02000';
-declare exit handler for goto set @var2 = 1;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1( )
-BEGIN
declare grant condition for sqlstate '02000';
declare exit handler for grant set @var2 = 1;
END//
@@ -9081,6 +10088,56 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare int1 condition for sqlstate '02000';
+declare exit handler for int set @var2 = 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 'int1 condition for sqlstate '02000';
+declare exit handler for int set @var2 = 1;' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
+declare int2 condition for sqlstate '02000';
+declare exit handler for int set @var2 = 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 'int2 condition for sqlstate '02000';
+declare exit handler for int set @var2 = 1;' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
+declare int3 condition for sqlstate '02000';
+declare exit handler for int set @var2 = 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 'int3 condition for sqlstate '02000';
+declare exit handler for int set @var2 = 1;' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
+declare int4 condition for sqlstate '02000';
+declare exit handler for int set @var2 = 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 'int4 condition for sqlstate '02000';
+declare exit handler for int set @var2 = 1;' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
+declare int8 condition for sqlstate '02000';
+declare exit handler for int set @var2 = 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 'int8 condition for sqlstate '02000';
+declare exit handler for int set @var2 = 1;' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare integer condition for sqlstate '02000';
declare exit handler for integer set @var2 = 1;
END//
@@ -9223,6 +10280,16 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare linear condition for sqlstate '02000';
+declare exit handler for int set @var2 = 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 'linear condition for sqlstate '02000';
+declare exit handler for int set @var2 = ' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare lines condition for sqlstate '02000';
declare exit handler for lines set @var2 = 1;
END//
@@ -9323,6 +10390,16 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare master_ssl_verify_server_cert condition for sqlstate '02000';
+declare exit handler for int set @var2 = 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 'master_ssl_verify_server_cert condition for sqlstate '02000';
+declare exit handl' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare match condition for sqlstate '02000';
declare exit handler for match set @var2 = 1;
END//
@@ -9578,12 +10655,6 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare privileges condition for sqlstate '02000';
-declare exit handler for privileges set @var2 = 1;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1( )
-BEGIN
declare procedure condition for sqlstate '02000';
declare exit handler for procedure set @var2 = 1;
END//
@@ -9604,6 +10675,16 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare range condition for sqlstate '02000';
+declare exit handler for int set @var2 = 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 'range condition for sqlstate '02000';
+declare exit handler for int set @var2 = 1' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare read condition for sqlstate '02000';
declare exit handler for read set @var2 = 1;
END//
@@ -9624,6 +10705,26 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare read_only condition for sqlstate '02000';
+declare exit handler for int set @var2 = 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 'int set @var2 = 1;
+END' at line 4
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
+declare read_write condition for sqlstate '02000';
+declare exit handler for int set @var2 = 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 'read_write condition for sqlstate '02000';
+declare exit handler for int set @var' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare real condition for sqlstate '02000';
declare exit handler for real set @var2 = 1;
END//
@@ -9654,6 +10755,16 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare release condition for sqlstate '02000';
+declare exit handler for int set @var2 = 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 'release condition for sqlstate '02000';
+declare exit handler for int set @var2 =' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare rename condition for sqlstate '02000';
declare exit handler for rename set @var2 = 1;
END//
@@ -9774,10 +10885,10 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare SELECT condition for sqlstate '02000';
+declare select condition for sqlstate '02000';
declare exit handler for SELECT set @var2 = 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 'SELECT condition for sqlstate '02000';
+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 condition for sqlstate '02000';
declare exit handler for SELECT set @var2' at line 3
DROP PROCEDURE IF EXISTS sp1;
Warnings:
@@ -9835,16 +10946,6 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare soname condition for sqlstate '02000';
-declare exit handler for soname set @var2 = 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 'soname condition for sqlstate '02000';
-declare exit handler for soname set @var2' at line 3
-DROP PROCEDURE IF EXISTS sp1;
-Warnings:
-Note 1305 PROCEDURE sp1 does not exist
-CREATE PROCEDURE sp1( )
-BEGIN
declare spatial condition for sqlstate '02000';
declare exit handler for spatial set @var2 = 1;
END//
@@ -9977,12 +11078,6 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare tables condition for sqlstate '02000';
-declare exit handler for tables set @var2 = 1;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1( )
-BEGIN
declare terminated condition for sqlstate '02000';
declare exit handler for terminated set @var2 = 1;
END//
@@ -10144,10 +11239,10 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare USE condition for sqlstate '02000';
+declare use condition for sqlstate '02000';
declare exit handler for USE set @var2 = 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 'USE condition for sqlstate '02000';
+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 'use condition for sqlstate '02000';
declare exit handler for USE set @var2 = 1;
' at line 3
DROP PROCEDURE IF EXISTS sp1;
@@ -10409,6 +11504,15 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare accessible handler for sqlstate '02000' set @var2 = 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 'accessible handler for sqlstate '02000' set @var2 = 1;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare add handler for sqlstate '02000' set @var2 = 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 'add handler for sqlstate '02000' set @var2 = 1;
@@ -10544,9 +11648,9 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare CALL handler for sqlstate '02000' set @var2 = 1;
+declare call handler for sqlstate '02000' set @var2 = 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 'CALL handler for sqlstate '02000' set @var2 = 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 'call handler for sqlstate '02000' set @var2 = 1;
END' at line 3
DROP PROCEDURE IF EXISTS sp1;
Warnings:
@@ -10625,15 +11729,6 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare columns handler for sqlstate '02000' set @var2 = 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 'handler for sqlstate '02000' set @var2 = 1;
-END' at line 3
-DROP PROCEDURE IF EXISTS sp1;
-Warnings:
-Note 1305 PROCEDURE sp1 does not exist
-CREATE PROCEDURE sp1( )
-BEGIN
declare condition handler for sqlstate '02000' set @var2 = 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 'condition handler for sqlstate '02000' set @var2 = 1;
@@ -10643,22 +11738,18 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare connection handler for sqlstate '02000' set @var2 = 1;
+declare constraint handler for sqlstate '02000' set @var2 = 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 'connection handler for sqlstate '02000' set @var2 = 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 'constraint handler for sqlstate '02000' set @var2 = 1;
END' at line 3
DROP PROCEDURE IF EXISTS sp1;
Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare constraint handler for sqlstate '02000' set @var2 = 1;
+declare continue handler for sqlstate '02000' set @var2 = 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 'constraint handler for sqlstate '02000' set @var2 = 1;
-END' at line 3
DROP PROCEDURE IF EXISTS sp1;
-Warnings:
-Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
declare convert handler for sqlstate '02000' set @var2 = 1;
@@ -10976,6 +12067,11 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare exit handler for sqlstate '02000' set @var2 = 1;
+END//
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1( )
+BEGIN
declare explain handler for sqlstate '02000' set @var2 = 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 'explain handler for sqlstate '02000' set @var2 = 1;
@@ -11003,54 +12099,54 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare fields handler for sqlstate '02000' set @var2 = 1;
+declare float handler for sqlstate '02000' set @var2 = 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 'handler for sqlstate '02000' set @var2 = 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 'float handler for sqlstate '02000' set @var2 = 1;
END' at line 3
DROP PROCEDURE IF EXISTS sp1;
Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare float handler for sqlstate '02000' set @var2 = 1;
+declare float4 handler for sqlstate '02000' set @var2 = 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 'float handler for sqlstate '02000' set @var2 = 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 'float4 handler for sqlstate '02000' set @var2 = 1;
END' at line 3
DROP PROCEDURE IF EXISTS sp1;
Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare for handler for sqlstate '02000' set @var2 = 1;
+declare float8 handler for sqlstate '02000' set @var2 = 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 'for handler for sqlstate '02000' set @var2 = 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 'float8 handler for sqlstate '02000' set @var2 = 1;
END' at line 3
DROP PROCEDURE IF EXISTS sp1;
Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare force handler for sqlstate '02000' set @var2 = 1;
+declare for handler for sqlstate '02000' set @var2 = 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 'force handler for sqlstate '02000' set @var2 = 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 'for handler for sqlstate '02000' set @var2 = 1;
END' at line 3
DROP PROCEDURE IF EXISTS sp1;
Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare foreign handler for sqlstate '02000' set @var2 = 1;
+declare force handler for sqlstate '02000' set @var2 = 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 'foreign handler for sqlstate '02000' set @var2 = 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 'force handler for sqlstate '02000' set @var2 = 1;
END' at line 3
DROP PROCEDURE IF EXISTS sp1;
Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare found handler for sqlstate '02000' set @var2 = 1;
+declare foreign handler for sqlstate '02000' set @var2 = 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 'handler for sqlstate '02000' set @var2 = 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 'foreign handler for sqlstate '02000' set @var2 = 1;
END' at line 3
DROP PROCEDURE IF EXISTS sp1;
Warnings:
@@ -11075,15 +12171,6 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare goto handler for sqlstate '02000' set @var2 = 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 'handler for sqlstate '02000' set @var2 = 1;
-END' at line 3
-DROP PROCEDURE IF EXISTS sp1;
-Warnings:
-Note 1305 PROCEDURE sp1 does not exist
-CREATE PROCEDURE sp1( )
-BEGIN
declare grant handler for sqlstate '02000' set @var2 = 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 'grant handler for sqlstate '02000' set @var2 = 1;
@@ -11237,6 +12324,51 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare int1 handler for sqlstate '02000' set @var2 = 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 'int1 handler for sqlstate '02000' set @var2 = 1;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
+declare int2 handler for sqlstate '02000' set @var2 = 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 'int2 handler for sqlstate '02000' set @var2 = 1;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
+declare int3 handler for sqlstate '02000' set @var2 = 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 'int3 handler for sqlstate '02000' set @var2 = 1;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
+declare int4 handler for sqlstate '02000' set @var2 = 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 'int4 handler for sqlstate '02000' set @var2 = 1;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
+declare int8 handler for sqlstate '02000' set @var2 = 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 'int8 handler for sqlstate '02000' set @var2 = 1;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare integer handler for sqlstate '02000' set @var2 = 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 'integer handler for sqlstate '02000' set @var2 = 1;
@@ -11363,6 +12495,15 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare linear handler for sqlstate '02000' set @var2 = 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 'linear handler for sqlstate '02000' set @var2 = 1;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare lines handler for sqlstate '02000' set @var2 = 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 'lines handler for sqlstate '02000' set @var2 = 1;
@@ -11453,6 +12594,15 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare master_ssl_verify_server_cert handler for sqlstate '02000' set @var2 = 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 'master_ssl_verify_server_cert handler for sqlstate '02000' set @var2 = 1;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare match handler for sqlstate '02000' set @var2 = 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 'match handler for sqlstate '02000' set @var2 = 1;
@@ -11705,6 +12855,15 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare range handler for sqlstate '02000' set @var2 = 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 'range handler for sqlstate '02000' set @var2 = 1;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare read handler for sqlstate '02000' set @var2 = 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 'read handler for sqlstate '02000' set @var2 = 1;
@@ -11723,6 +12882,24 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare read_only handler for sqlstate '02000' set @var2 = 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 'handler for sqlstate '02000' set @var2 = 1;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
+declare read_write handler for sqlstate '02000' set @var2 = 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 'read_write handler for sqlstate '02000' set @var2 = 1;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare real handler for sqlstate '02000' set @var2 = 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 'real handler for sqlstate '02000' set @var2 = 1;
@@ -11750,6 +12927,15 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare release handler for sqlstate '02000' set @var2 = 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 'release handler for sqlstate '02000' set @var2 = 1;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare rename handler for sqlstate '02000' set @var2 = 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 'rename handler for sqlstate '02000' set @var2 = 1;
@@ -11858,9 +13044,9 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare SELECT handler for sqlstate '02000' set @var2 = 1;
+declare select handler for sqlstate '02000' set @var2 = 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 'SELECT handler for sqlstate '02000' set @var2 = 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 handler for sqlstate '02000' set @var2 = 1;
END' at line 3
DROP PROCEDURE IF EXISTS sp1;
Warnings:
@@ -11912,15 +13098,6 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare soname handler for sqlstate '02000' set @var2 = 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 'soname handler for sqlstate '02000' set @var2 = 1;
-END' at line 3
-DROP PROCEDURE IF EXISTS sp1;
-Warnings:
-Note 1305 PROCEDURE sp1 does not exist
-CREATE PROCEDURE sp1( )
-BEGIN
declare spatial handler for sqlstate '02000' set @var2 = 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 'spatial handler for sqlstate '02000' set @var2 = 1;
@@ -12038,15 +13215,6 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare tables handler for sqlstate '02000' set @var2 = 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 'handler for sqlstate '02000' set @var2 = 1;
-END' at line 3
-DROP PROCEDURE IF EXISTS sp1;
-Warnings:
-Note 1305 PROCEDURE sp1 does not exist
-CREATE PROCEDURE sp1( )
-BEGIN
declare terminated handler for sqlstate '02000' set @var2 = 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 'terminated handler for sqlstate '02000' set @var2 = 1;
@@ -12191,9 +13359,9 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare USE handler for sqlstate '02000' set @var2 = 1;
+declare use handler for sqlstate '02000' set @var2 = 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 'USE handler for sqlstate '02000' set @var2 = 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 'use handler for sqlstate '02000' set @var2 = 1;
END' at line 3
DROP PROCEDURE IF EXISTS sp1;
Warnings:
@@ -12384,10 +13552,13 @@ set @v2 = y;
END//
CALL sp1();
x y @x
-NULL abaa 3
+NULL a 3
+Warnings:
+Warning 1265 Data truncated for column 'y' at row 3
+Warning 1265 Data truncated for column 'y' at row 1
SELECT @v1, @v2;
@v1 @v2
-4 a`
+4 a
DROP PROCEDURE sp1;
Testcase 4.2.28:
@@ -12454,7 +13625,7 @@ CALL sp1();
@xx
0
Warnings:
-Warning 1292 Truncated incorrect INTEGER value: 'asd'
+Warning 1366 Incorrect integer value: 'asd' for column 'xx' at row 1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
@@ -12481,9 +13652,11 @@ set xx = 'temp';
set @xx = xx;
END//
CALL sp1();
+Warnings:
+Warning 1265 Data truncated for column 'xx' at row 1
SELECT @xx;
@xx
-temp
+t
DROP PROCEDURE sp1;
Testcase 4.2.31 - b:
@@ -12501,7 +13674,7 @@ CALL sp1();
xx
0
Warnings:
-Warning 1292 Truncated incorrect DOUBLE value: 'asd'
+Warning 1265 Data truncated for column 'xx' at row 1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
@@ -12527,7 +13700,9 @@ SELECT xx;
END//
CALL sp1();
xx
-asd
+0000-00-00 00:00:00
+Warnings:
+Warning 1264 Out of range value for column 'xx' at row 1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
@@ -12571,7 +13746,7 @@ CALL sp1();
xx
0
Warnings:
-Warning 1292 Truncated incorrect INTEGER value: 'asd'
+Warning 1366 Incorrect integer value: 'asd' for column 'xx' at row 1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
@@ -12602,6 +13777,8 @@ declare x char ascii;
SELECT f1 into x from t2 limit 1;
END//
CALL sp1();
+Warnings:
+Warning 1265 Data truncated for column 'x' at row 1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
@@ -12665,6 +13842,8 @@ declare x binary;
SELECT f1 into x from t2 limit 1;
END//
CALL sp1();
+Warnings:
+Warning 1265 Data truncated for column 'x' at row 1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
@@ -12812,8 +13991,6 @@ declare x decimal;
SELECT f1 into x from t2 limit 1;
END//
CALL sp1();
-Warnings:
-Error 1366 Incorrect decimal value: '' for column '' at row -1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
@@ -12821,8 +13998,6 @@ declare x decimal unsigned;
SELECT f1 into x from t2 limit 1;
END//
CALL sp1();
-Warnings:
-Error 1366 Incorrect decimal value: '' for column '' at row -1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
@@ -12830,8 +14005,6 @@ declare x decimal zerofill;
SELECT f1 into x from t2 limit 1;
END//
CALL sp1();
-Warnings:
-Error 1366 Incorrect decimal value: '' for column '' at row -1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
@@ -12839,8 +14012,6 @@ declare x decimal unsigned zerofill;
SELECT f1 into x from t2 limit 1;
END//
CALL sp1();
-Warnings:
-Error 1366 Incorrect decimal value: '' for column '' at row -1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
@@ -12848,8 +14019,6 @@ declare x numeric;
SELECT f1 into x from t2 limit 1;
END//
CALL sp1();
-Warnings:
-Error 1366 Incorrect decimal value: '' for column '' at row -1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
@@ -12857,8 +14026,6 @@ declare x numeric unsigned;
SELECT f1 into x from t2 limit 1;
END//
CALL sp1();
-Warnings:
-Error 1366 Incorrect decimal value: '' for column '' at row -1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
@@ -12866,8 +14033,6 @@ declare x numeric zerofill;
SELECT f1 into x from t2 limit 1;
END//
CALL sp1();
-Warnings:
-Error 1366 Incorrect decimal value: '' for column '' at row -1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
@@ -12875,8 +14040,6 @@ declare x numeric unsigned zerofill;
SELECT f1 into x from t2 limit 1;
END//
CALL sp1();
-Warnings:
-Error 1366 Incorrect decimal value: '' for column '' at row -1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
@@ -13254,7 +14417,7 @@ declare continue handler for sqlstate '02000' set done = 1;
BEGIN
open cur1;
set count = count - 1;
-while count <> 0 do
+while count > 0 do
fetch cur1 into newf1, newlf1, newf3, newsal;
set count = count - 1;
END while;
@@ -13279,7 +14442,7 @@ declare continue handler for sqlstate '02000' set done = 1;
BEGIN
open cur1;
set count = count - 1;
-while count <> 0 do
+while count > 0 do
fetch cur1 into newf1, newlf1, newf3, newsal;
set count = count - 1;
END while;
@@ -13306,7 +14469,7 @@ declare continue handler for sqlstate '02000' set done = 1;
BEGIN
open cur1;
set count = count - 1;
-while count <> 0 do
+while count > 0 do
fetch cur1 into newf1, newf2, newf4, newf3;
set count = count - 1;
END while;
@@ -13330,7 +14493,7 @@ open cur1;
BEGIN
open cur1;
set count = count - 1;
-while count <> 0 do
+while count > 0 do
fetch cur1 into newf1, newf2, newf3, newf4;
set count = count - 1;
END while;
@@ -13358,7 +14521,7 @@ BEGIN
open cur1;
open cur1;
set count = count - 1;
-while count <> 0 do
+while count > 0 do
fetch cur1 into newf1, newf2, newf4, newf3;
set count = count - 1;
END while;
@@ -13388,7 +14551,7 @@ declare continue handler for sqlstate '02000' set done = 1;
BEGIN
open cur2;
set count = count - 1;
-while count <> 0 do
+while count > 0 do
fetch cur1 into newf1, newf2, newf4, newf3;
set count = count - 1;
END while;
@@ -13416,7 +14579,7 @@ declare cur1 cursor for SELECT f1, f2, f4, f5 from t2 limit 20, 10;
declare continue handler for sqlstate '02000' set done = 1;
BEGIN
set count = count - 1;
-while count <> 0 do
+while count > 0 do
fetch cur1 into newf1, newf2, newf4, newf3;
set count = count - 1;
END while;
@@ -13430,7 +14593,7 @@ DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
declare done int default 0;
-declare count integer default 0;
+declare count integer default 10;
declare newf1 char(20);
declare newf2 char(20);
declare newf3 char(20);
@@ -13441,7 +14604,7 @@ open cur1;
BEGIN
declare cur1 cursor for SELECT f1, f2, f3, f4 from t2;
set count = count - 1;
-while count <> 0 do
+while count > 0 do
fetch cur1 into newf1, newf2, newf3, newf4;
set count = count - 1;
END while;
@@ -13473,7 +14636,7 @@ BEGIN
open cur1;
close cur1;
set count = count - 1;
-while count <> 0 do
+while count > 0 do
fetch cur1 into newf1, newf2, newf4, newf3;
set count = count - 1;
END while;
@@ -13485,7 +14648,7 @@ DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
declare done int default 0;
-declare count integer default 0;
+declare count integer default 20;
declare newf1 char(20);
declare newf2 char(20);
declare newf3 char(20);
@@ -13514,13 +14677,13 @@ BEGIN
declare done int default 0;
declare count integer default 20;
declare newf2 char(20);
-declare newf1 date;
+declare newf1 int1;
declare cur1 cursor for SELECT f1, f3 from t2 limit 20, 10;
declare continue handler for sqlstate '02000' set done = 1;
BEGIN
open cur1;
set count = count - 1;
-while count <> 0 do
+while count > 0 do
fetch cur1 into newf1, newf2;
set @x = newf1;
set @y = newf2;
@@ -13590,7 +14753,7 @@ BEGIN
close cur1;
open cur1;
set count = count - 1;
-while count <> 0 do
+while count > 0 do
fetch cur1 into newf1, newf2, newf4, newf3;
set count = count - 1;
END while;
@@ -13643,7 +14806,7 @@ fetch cur1 into newf1, newf2, newf4, newf3;
END;
END//
CALL sp1();
-ERROR 02000: No data to FETCH
+ERROR 02000: No data - zero rows fetched, selected, or processed
DROP PROCEDURE sp1;
Testcase 4.2.65:
@@ -13669,7 +14832,7 @@ commit;
END;
END//
CALL sp1();
-ERROR 02000: No data to FETCH
+ERROR 02000: No data - zero rows fetched, selected, or processed
DROP PROCEDURE sp1;
Testcase 4.2.66:
@@ -13690,7 +14853,7 @@ declare continue handler for sqlstate '02000' set done = 1;
BEGIN
open cur1;
set count = count - 1;
-while count <> 0 do
+while count > 0 do
fetch cur1 into newf1, newf2, newf4, newf3;
set count = count - 1;
END while;
@@ -13719,12 +14882,13 @@ declare cur1 cursor for SELECT f1, f2, f4, f5 from t2 limit 20, 10;
declare continue handler for sqlstate '02000' set done = 1;
BEGIN
open cur1;
-set count = count - 1;
-while count <> 0 do
+# set count = count - 1;
+# while count > 0 do
fetch cur1 into newf1, newf2, newf4, newf3;
-set count = count - 1;
-END while;
+# set count = count - 1;
+# END while;
END;
+fetch cur1 into newf1, newf2, newf4, newf3;
END//
CALL sp1();
DROP PROCEDURE sp1;
@@ -13756,7 +14920,7 @@ BEGIN
set count = 10;
BEGIN
open cur2;
-while count <> 0 do
+while count > 0 do
fetch cur1 into newf1, newf2, newf4, newf3;
set count = count - 1;
END while;
@@ -13765,7 +14929,8 @@ insert into temp1 values(newf1, newf2, newf4, newf3);
close cur1;
END;
BEGIN
-while count <> 0 do
+set count = 10;
+while count > 0 do
fetch cur2 into newf21, newf22, newf24, newf23;
set count = count - 1;
END while;
@@ -13774,9 +14939,9 @@ insert into temp2 values(newf21, newf22, newf24, newf23);
close cur2;
END//
CALL sp1();
-SELECT * from temp1;
-f1 f2 f3 f4
-agaaaaaaa agaaaaaaa -4993 agaaaaaaa
+SELECT count(*) from temp1;
+count(*)
+1
SELECT * from temp2;
f1 f2 f3 f4
NULL NULL NULL NULL
@@ -13792,46 +14957,47 @@ USE db_storedproc;
Testcase 4.3.1:
--------------------------------------------------------------------------------
DROP PROCEDURE IF EXISTS sp1;
-drop table IF EXISTS res_t3_itisalongname_1381742_itsaverylongname_1381742;
+DROP TABLE IF EXISTS res_t3_itisalongname_1381742_itsaverylongname_1381742;
CREATE TABLE res_t3_itisalongname_1381742_itsaverylongname_1381742(
-middleinitial CHAR,
-lastname VARCHAR(50),
-age_averylongfieldname_averylongname_1234569 int,
-COMMENT TEXT) ENGINE=innodb;
+middleinitial CHAR, lastname VARCHAR(50),
+age_averylongfieldname_averylongname_1234569 INT, COMMENT VARCHAR(100))
+ENGINE=<engine_to_be_tested>;
INSERT INTO res_t3_itisalongname_1381742_itsaverylongname_1381742
VALUES('a', 'aaaaaaaaaabbbbbbbbc', 0, 'default');
-CREATE PROCEDURE sp1(a int)
-BEGIN
-declare itisjustaverylargevariablename_xxxxxxxxxxxxxxxxxxxxx char;
-declare itisjustaverylargevarcharvariablename_xxxxxxxxxxxxxxxxxxxxx varchar(100);
-declare itisjustamediumsizeintintegervariablename integer;
-set itisjustaverylargevariablename_xxxxxxxxxxxxxxxxxxxxx = 'b';
-set itisjustaverylargevarcharvariablename_xxxxxxxxxxxxxxxxxxxxx = 'oldmacdonalds)(*&(^^%$&^%$&^%*^)(*^#@$@%';
-set itisjustamediumsizeintintegervariablename = 5;
-set @comment='a';
-label1: loop
-if a>100 then
-set @comment='value of a is greater than 100';
-elseif a<100 then
-if a<50 then
-set @comment='value of a is less than 50';
-elseif a<25 then
-set @comment='value of a is less than 25';
-else
-set @comment='value of a is greater than 50 and less than 100';
-END if;
-else
-set @comment='value of a is 100';
-END if;
-if itisjustamediumsizeintintegervariablename = 0 then leave label1;
-END if;
-insert into res_t3_itisalongname_1381742_itsaverylongname_1381742
-values( itisjustaverylargevariablename_xxxxxxxxxxxxxxxxxxxxx,
-concat(itisjustaverylargevarcharvariablename_xxxxxxxxxxxxxxxxxxxxx, ' ', a),
-a, @comment );
-set itisjustamediumsizeintintegervariablename = itisjustamediumsizeintintegervariablename - 1;
-iterate label1;
-END loop label1;
+CREATE PROCEDURE sp1(a INT)
+BEGIN
+DECLARE itisjustaverylargevariablename_xxxxxxxxxxxxxxxxxxxxx CHAR;
+DECLARE itisjustaverylargevarcharvariablename_xxxxxxxxxxxxxxxxxxxxx VARCHAR(100);
+DECLARE itisjustamediumsizeintintegervariablename INTEGER;
+SET itisjustaverylargevariablename_xxxxxxxxxxxxxxxxxxxxx = 'b';
+SET itisjustaverylargevarcharvariablename_xxxxxxxxxxxxxxxxxxxxx
+= 'oldmacdonalds)(*&(^^%$&^%$&^%*^)(*^#@$@%';
+SET itisjustamediumsizeintintegervariablename = 5;
+SET @comment='a';
+label1: LOOP
+IF a > 100 THEN
+SET @comment = 'value of a is greater than 100';
+ELSEIF a < 100 THEN
+IF a < 50 THEN
+SET @comment = 'value of a is less than 50';
+ELSEIF a < 25 THEN
+SET @comment = 'value of a is less than 25';
+ELSE
+SET @comment = 'value of a is greater than 50 and less than 100';
+END IF;
+ELSE
+SET @comment = 'value of a is 100';
+END IF;
+IF itisjustamediumsizeintintegervariablename = 0 THEN LEAVE label1;
+END IF;
+INSERT INTO res_t3_itisalongname_1381742_itsaverylongname_1381742
+VALUES(itisjustaverylargevariablename_xxxxxxxxxxxxxxxxxxxxx,
+CONCAT(itisjustaverylargevarcharvariablename_xxxxxxxxxxxxxxxxxxxxx,
+' ', a), a, @comment);
+SET itisjustamediumsizeintintegervariablename
+= itisjustamediumsizeintintegervariablename - 1;
+ITERATE label1;
+END LOOP label1;
END//
CALL sp1(101);
CALL sp1(100);
@@ -13924,23 +15090,23 @@ CALL sp2( 'insert' );
SELECT * from t3 where f3 <=5 && f3 >= 0;
f1 f2 f3
f1 address 1
-f1 address 2
-f1 address 3
-f1 address 4
-f1 address 5
f1 address 1
-f1 address 2
-f1 address 3
-f1 address 4
-f1 address 5
f1 address 1
-f1 address 2
-f1 address 3
-f1 address 4
f1 address 1
f1 address 2
+f1 address 2
+f1 address 2
+f1 address 2
+f1 address 3
+f1 address 3
f1 address 3
+f1 address 3
+f1 address 4
+f1 address 4
f1 address 4
+f1 address 4
+f1 address 5
+f1 address 5
SELECT count(*) from t3;
count(*)
28
@@ -14023,7 +15189,7 @@ delete from res_t3_itisalongname_1381742_itsaverylongname_1381742;
END case;
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 'when 'delete' then
-delete from res_t3_itisalongname_1381742_itsaverylongname_13' at line 10
+delete from res_t3_itisalongname_1381742_itsaverylongname_13' at line 11
DROP PROCEDURE IF EXISTS sp3;
CREATE PROCEDURE sp3( action char(20) )
BEGIN
@@ -14041,8 +15207,9 @@ label2: while count < 10 do
BEGIN
insert into res_t3_itisalongname_1381742_itsaverylongname_1381742
values('xxxxxxxxxxxxxxxxxxx', '1231230981(*&(*&)(*&(', count);
-if done=1 then
-set count=10;
+set count = count + 1;
+if count= 10 then
+set done=1;
END if;
END;
END while label2;
@@ -14056,6 +15223,19 @@ END if;
END loop label1;
SELECT count, done;
END//
+CALL sp3('insert');
+count done
+10 1
+Warnings:
+Warning 1265 Data truncated for column 'name' at row 1
+Warning 1265 Data truncated for column 'name' at row 2
+Warning 1265 Data truncated for column 'name' at row 3
+Warning 1265 Data truncated for column 'name' at row 4
+Warning 1265 Data truncated for column 'name' at row 5
+Warning 1265 Data truncated for column 'name' at row 6
+Warning 1265 Data truncated for column 'name' at row 7
+Warning 1265 Data truncated for column 'name' at row 8
+Warning 1265 Data truncated for column 'name' at row 9
DROP PROCEDURE sp3;
drop table res_t3_itisalongname_1381742_itsaverylongname_1381742;
@@ -14330,11 +15510,14 @@ CREATE PROCEDURE sp6()
BEGIN
declare count1 integer default 1;
label1: repeat
-set count1 = count1;
+set count1 = count1-1;
until count1 < 0
END repeat label1;
SELECT count1;
END//
+CALL sp6();
+count1
+-1
DROP PROCEDURE sp6;
Testcase 4.3.7:
@@ -14403,7 +15586,7 @@ do v1 > 0 while
set v1 = v1 - 1;
END while;
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 'do v1 > 0 while
+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
set v1 = v1 - 1;
END while;
END' at line 4
@@ -14442,7 +15625,7 @@ set count1 = count1 + 1;
iterate label1;
END loop label2;
END//
-ERROR 42000: End-label label2 without match
+ERROR 42000: End-label label1 without match
drop table res_t3_itisalongname_1381742_itsaverylongname_1381742;
Testcase 4.3.13:
@@ -14606,7 +15789,7 @@ until count1 < 3
END repeat label1;
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 'label1;
-END' at line 7
+END' at line 8
Testcase 4.3.21:
--------------------------------------------------------------------------------
@@ -14789,15 +15972,15 @@ insert into t43 values('abcde', 'a!@#$%^&*(');
CREATE PROCEDURE d1.sp4()
SELECT * from d1.t43;
SELECT * from mysql.proc where specific_name = 'sp4';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
-d1 sp4 PROCEDURE sp4 SQL CONTAINS_SQL NO DEFINER SELECT * from d1.t43 root@localhost modified created
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
+d1 sp4 PROCEDURE sp4 SQL CONTAINS_SQL NO DEFINER SELECT * from d1.t43 root@localhost modified created latin1 latin1_swedish_ci latin1_swedish_ci SELECT * from d1.t43
USE db_storedproc;
DROP DATABASE d1;
CREATE DATABASE d1;
USE d1;
create table t44(a char(5), b char(10));
SELECT * from mysql.proc where specific_name = 'sp4';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
USE db_storedproc;
DROP DATABASE d1;
@@ -14839,8 +16022,8 @@ CREATE PROCEDURE sp8 ( n char(20) ) sql security definer comment 'initial'
USE d2;
alter procedure d1.sp8 sql security definer comment 'updated';
SELECT * from mysql.proc where specific_name='sp8' and db='d1';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
-d1 sp8 PROCEDURE sp8 SQL CONTAINS_SQL NO DEFINER n char(20) SELECT * from t1 where t1.f1 = n root@localhost modified created updated
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
+d1 sp8 PROCEDURE sp8 SQL CONTAINS_SQL NO DEFINER n char(20) SELECT * from t1 where t1.f1 = n root@localhost modified created updated latin1 latin1_swedish_ci latin1_swedish_ci SELECT * from t1 where t1.f1 = n
Testcase 4.4.9:
--------------------------------------------------------------------------------
@@ -14856,12 +16039,16 @@ END//
USE d2;
alter function d1.fn2 sql security definer comment 'updated';
SELECT * from mysql.proc where specific_name='fn2' and db='d1';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
d1 fn2 FUNCTION fn2 SQL CONTAINS_SQL NO DEFINER n int int(11) BEGIN
declare a int;
set a = 0.9 * n;
return a;
-END root@localhost modified created updated
+END root@localhost modified created updated latin1 latin1_swedish_ci latin1_swedish_ci BEGIN
+declare a int;
+set a = 0.9 * n;
+return a;
+END
Testcase 4.4.10:
--------------------------------------------------------------------------------
@@ -14871,7 +16058,7 @@ SELECT * from t1 where t1.f1 = n;
USE d2;
DROP PROCEDURE d1.sp9;
SELECT * from mysql.proc where specific_name='sp9' and db='d1';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
Testcase 4.4.11:
--------------------------------------------------------------------------------
@@ -14885,7 +16072,7 @@ END//
USE d2;
DROP FUNCTION d1.fn3;
SELECT * from mysql.proc where specific_name='fn3' and db='d1';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
USE db_storedproc;
DROP DATABASE d1;
DROP DATABASE d2;
@@ -14893,19 +16080,6 @@ DROP DATABASE d2;
Section 3.1.5 - Parameter use checks:
Functions with all data types
--------------------------------------------------------------------------------
-SELECT 1 as 'bug_dec_num';
-bug_dec_num
-1
-
-.
-FIXME: There are differences with datatypes DECIMAL and NUMERIC if large
-FIXME: exponent values are used. The diffs are shown only on some machines like
-FIXME: AIX52 and HPUX11. Until this has been solved we use numbers that
-FIXME: *should* be equal to the exponent representation but have no exponents
-FIXME: and use the specified count of *0*s instead.
-FIXME: In the source file these tests are marked with the comment hpux11
-.
---------------------------------------------------------------------------------
DROP DATABASE IF EXISTS d1;
CREATE DATABASE d1;
USE d1;
@@ -14926,7 +16100,7 @@ return f1;
END//
SELECT fn2(1.84e+19);
fn2(1.84e+19)
-0
+18400000000000000000
DROP FUNCTION IF EXISTS fn3;
CREATE FUNCTION fn3( f1 bigint unsigned zerofill) returns bigint unsigned zerofill
BEGIN
@@ -14945,6 +16119,8 @@ END//
SELECT fn4(-9.22e+15);
fn4(-9.22e+15)
0
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn5;
CREATE FUNCTION fn5( f1 decimal) returns decimal
BEGIN
@@ -14972,6 +16148,10 @@ END//
SELECT fn7(99999999999);
fn7(99999999999)
9999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn8;
CREATE FUNCTION fn8( f1 decimal (0) unsigned zerofill) returns decimal (0) unsigned zerofill
BEGIN
@@ -14980,7 +16160,9 @@ return f1;
END//
SELECT fn8(999999999);
fn8(999999999)
-0999999999
+1000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn9;
CREATE FUNCTION fn9( f1 decimal (0) zerofill) returns decimal (0) zerofill
BEGIN
@@ -14989,7 +16171,10 @@ return f1;
END//
SELECT fn9(-1.00e+09);
fn9(-1.00e+09)
-0000000000
+0000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn10;
CREATE FUNCTION fn10( f1 decimal (0, 0)) returns decimal (0, 0)
BEGIN
@@ -15008,6 +16193,10 @@ END//
SELECT fn11(99999999999);
fn11(99999999999)
9999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn12;
CREATE FUNCTION fn12( f1 decimal (0, 0) unsigned zerofill) returns decimal (0, 0) unsigned zerofill
BEGIN
@@ -15016,7 +16205,9 @@ return f1;
END//
SELECT fn12(999999999);
fn12(999999999)
-0999999999
+1000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn13;
CREATE FUNCTION fn13( f1 decimal (0, 0) zerofill) returns decimal (0, 0) zerofill
BEGIN
@@ -15025,7 +16216,10 @@ return f1;
END//
SELECT fn13(-1.00e+09);
fn13(-1.00e+09)
-0000000000
+0000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn14;
CREATE FUNCTION fn14( f1 decimal (63, 30)) returns decimal (63, 30)
BEGIN
@@ -15061,7 +16255,10 @@ return f1;
END//
SELECT fn17(-1.00e+21);
fn17(-1.00e+21)
-000000000000000000000000000000000.000000000000000000000000000000
+000000000000000000000000000000010.000000000000000000000000000000
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn18_d;
CREATE FUNCTION fn18_d( f1 decimal (64)) returns decimal (64)
BEGIN
@@ -15097,7 +16294,10 @@ return f1;
END//
SELECT fn21_d_z(1.00e+00);
fn21_d_z(1.00e+00)
-0000000000000000000000000000000000000000000000000000000000000001
+0000000000000000000000000000000000000000000000000000000000000010
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn22;
CREATE FUNCTION fn22( f1 decimal unsigned) returns decimal unsigned
BEGIN
@@ -15106,7 +16306,10 @@ return f1;
END//
SELECT fn22(1.00e+00);
fn22(1.00e+00)
-1
+10
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn23;
CREATE FUNCTION fn23( f1 decimal unsigned zerofill) returns decimal unsigned zerofill
BEGIN
@@ -15115,7 +16318,10 @@ return f1;
END//
SELECT fn23(1.00e+00);
fn23(1.00e+00)
-0000000001
+0000000010
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn24;
CREATE FUNCTION fn24( f1 decimal zerofill) returns decimal zerofill
BEGIN
@@ -15124,7 +16330,10 @@ return f1;
END//
SELECT fn24(-1.00e+09);
fn24(-1.00e+09)
-0000000000
+0000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn25;
CREATE FUNCTION fn25( f1 double) returns double
BEGIN
@@ -15142,7 +16351,9 @@ return f1;
END//
SELECT fn26(1.00e+00);
fn26(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn27;
CREATE FUNCTION fn27( f1 double unsigned zerofill) returns double unsigned zerofill
BEGIN
@@ -15151,7 +16362,9 @@ return f1;
END//
SELECT fn27(1.00e+00);
fn27(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn28;
CREATE FUNCTION fn28( f1 double zerofill) returns double zerofill
BEGIN
@@ -15160,7 +16373,9 @@ return f1;
END//
SELECT fn28(1.00e+00);
fn28(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn29;
CREATE FUNCTION fn29( f1 float) returns float
BEGIN
@@ -15178,7 +16393,9 @@ return f1;
END//
SELECT fn30(1.00e+00);
fn30(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn31;
CREATE FUNCTION fn31( f1 float unsigned zerofill) returns float unsigned zerofill
BEGIN
@@ -15187,7 +16404,9 @@ return f1;
END//
SELECT fn31(1.00e+00);
fn31(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn32;
CREATE FUNCTION fn32( f1 float zerofill) returns float zerofill
BEGIN
@@ -15196,7 +16415,9 @@ return f1;
END//
SELECT fn32(1.00e+00);
fn32(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn33;
CREATE FUNCTION fn33( f1 float(0)) returns float(0)
BEGIN
@@ -15214,7 +16435,9 @@ return f1;
END//
SELECT fn34(1.00e+00);
fn34(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn35;
CREATE FUNCTION fn35( f1 float(0) unsigned zerofill) returns float(0) unsigned zerofill
BEGIN
@@ -15223,7 +16446,9 @@ return f1;
END//
SELECT fn35(1.00e+00);
fn35(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn36;
CREATE FUNCTION fn36( f1 float(0) zerofill) returns float(0) zerofill
BEGIN
@@ -15232,7 +16457,9 @@ return f1;
END//
SELECT fn36(1.00e+00);
fn36(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn37;
CREATE FUNCTION fn37( f1 float(23)) returns float(23)
BEGIN
@@ -15250,7 +16477,9 @@ return f1;
END//
SELECT fn38(1.00e+00);
fn38(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn39;
CREATE FUNCTION fn39( f1 float(23) unsigned zerofill) returns float(23) unsigned zerofill
BEGIN
@@ -15259,7 +16488,9 @@ return f1;
END//
SELECT fn39(1.00e+00);
fn39(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn40;
CREATE FUNCTION fn40( f1 float(23) zerofill) returns float(23) zerofill
BEGIN
@@ -15268,7 +16499,9 @@ return f1;
END//
SELECT fn40(1.00e+00);
fn40(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn41;
CREATE FUNCTION fn41( f1 float(24)) returns float(24)
BEGIN
@@ -15286,7 +16519,9 @@ return f1;
END//
SELECT fn42(1.00e+00);
fn42(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn43;
CREATE FUNCTION fn43( f1 float(24) unsigned zerofill) returns float(24) unsigned zerofill
BEGIN
@@ -15295,7 +16530,9 @@ return f1;
END//
SELECT fn43(1.00e+00);
fn43(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn44;
CREATE FUNCTION fn44( f1 float(24) zerofill) returns float(24) zerofill
BEGIN
@@ -15304,7 +16541,9 @@ return f1;
END//
SELECT fn44(1.00e+00);
fn44(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn45;
CREATE FUNCTION fn45( f1 float(53)) returns float(53)
BEGIN
@@ -15322,7 +16561,9 @@ return f1;
END//
SELECT fn46(1.00e+00);
fn46(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn47;
CREATE FUNCTION fn47( f1 float(53) unsigned zerofill) returns float(53) unsigned zerofill
BEGIN
@@ -15331,7 +16572,9 @@ return f1;
END//
SELECT fn47(1.00e+00);
fn47(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn48;
CREATE FUNCTION fn48( f1 float(53) zerofill) returns float(53) zerofill
BEGIN
@@ -15340,7 +16583,9 @@ return f1;
END//
SELECT fn48(1.00e+00);
fn48(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn49;
CREATE FUNCTION fn49( f1 int) returns int
BEGIN
@@ -15349,7 +16594,10 @@ return f1;
END//
SELECT fn49(-2.15e+09);
fn49(-2.15e+09)
--2147483648
+-2147483638
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn50;
CREATE FUNCTION fn50( f1 int unsigned) returns int unsigned
BEGIN
@@ -15385,7 +16633,9 @@ return f1;
END//
SELECT fn53(-8388600);
fn53(-8388600)
--8388600
+-8388598
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn54;
CREATE FUNCTION fn54( f1 mediumint unsigned) returns mediumint unsigned
BEGIN
@@ -15412,7 +16662,11 @@ return f1;
END//
SELECT fn56(-8388601);
fn56(-8388601)
-0
+16777215
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn57;
CREATE FUNCTION fn57( f1 numeric) returns numeric
BEGIN
@@ -15421,7 +16675,9 @@ return f1;
END//
SELECT fn57(-999999999);
fn57(-999999999)
--999999999
+-1000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn58;
CREATE FUNCTION fn58( f1 numeric (0)) returns numeric (0)
BEGIN
@@ -15430,7 +16686,9 @@ return f1;
END//
SELECT fn58(-999999999);
fn58(-999999999)
--999999999
+-1000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn59;
CREATE FUNCTION fn59( f1 numeric (0) unsigned) returns numeric (0) unsigned
BEGIN
@@ -15440,6 +16698,9 @@ END//
SELECT fn59(9999999999);
fn59(9999999999)
9999999999
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn60;
CREATE FUNCTION fn60( f1 numeric (0) unsigned zerofill) returns numeric (0) unsigned zerofill
BEGIN
@@ -15448,7 +16709,9 @@ return f1;
END//
SELECT fn60(99999999);
fn60(99999999)
-0099999999
+0100000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn61;
CREATE FUNCTION fn61( f1 numeric (0) zerofill) returns numeric (0) zerofill
BEGIN
@@ -15457,7 +16720,10 @@ return f1;
END//
SELECT fn61(-99999999);
fn61(-99999999)
-0000000000
+0000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn62;
CREATE FUNCTION fn62( f1 numeric (0, 0)) returns numeric (0, 0)
BEGIN
@@ -15466,7 +16732,9 @@ return f1;
END//
SELECT fn62(-999999999);
fn62(-999999999)
--999999999
+-1000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn63;
CREATE FUNCTION fn63( f1 numeric (0, 0) unsigned) returns numeric (0, 0) unsigned
BEGIN
@@ -15476,6 +16744,9 @@ END//
SELECT fn63(9999999999);
fn63(9999999999)
9999999999
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn64;
CREATE FUNCTION fn64( f1 numeric (0, 0) unsigned zerofill) returns numeric (0, 0) unsigned zerofill
BEGIN
@@ -15484,7 +16755,9 @@ return f1;
END//
SELECT fn64(99999999);
fn64(99999999)
-0099999999
+0100000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn65;
CREATE FUNCTION fn65( f1 numeric (0, 0) zerofill) returns numeric (0, 0) zerofill
BEGIN
@@ -15493,7 +16766,10 @@ return f1;
END//
SELECT fn65(-99999999);
fn65(-99999999)
-0000000000
+0000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn66;
CREATE FUNCTION fn66( f1 numeric (63, 30)) returns numeric (63, 30)
BEGIN
@@ -15502,7 +16778,12 @@ return f1;
END//
SELECT fn66(-1e+36);
fn66(-1e+36)
--999999999999999999999999999999999.999999999999999999999999999999
+-999999999999999999999999999999989.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn67;
CREATE FUNCTION fn67( f1 numeric (63, 30) unsigned) returns numeric (63, 30) unsigned
BEGIN
@@ -15512,6 +16793,10 @@ END//
SELECT fn67(1e+36);
fn67(1e+36)
999999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn68;
CREATE FUNCTION fn68( f1 numeric (63, 30) unsigned zerofill) returns numeric (63, 30) unsigned zerofill
BEGIN
@@ -15521,6 +16806,10 @@ END//
SELECT fn68(1e+36);
fn68(1e+36)
999999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn69;
CREATE FUNCTION fn69( f1 numeric (63, 30) zerofill) returns numeric (63, 30) zerofill
BEGIN
@@ -15529,7 +16818,10 @@ return f1;
END//
SELECT fn69(-1e+36);
fn69(-1e+36)
-000000000000000000000000000000000.000000000000000000000000000000
+000000000000000000000000000000010.000000000000000000000000000000
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn70_n;
CREATE FUNCTION fn70_n( f1 numeric (64)) returns numeric (64)
BEGIN
@@ -15577,7 +16869,9 @@ return f1;
END//
SELECT fn74(999999999);
fn74(999999999)
-999999999
+1000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn75;
CREATE FUNCTION fn75( f1 numeric unsigned zerofill) returns numeric unsigned zerofill
BEGIN
@@ -15586,7 +16880,9 @@ return f1;
END//
SELECT fn75(999999999);
fn75(999999999)
-0999999999
+1000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn76;
CREATE FUNCTION fn76( f1 numeric zerofill) returns numeric zerofill
BEGIN
@@ -15595,7 +16891,10 @@ return f1;
END//
SELECT fn76(-999999999);
fn76(-999999999)
-0000000000
+0000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn77;
CREATE FUNCTION fn77( f1 real) returns real
BEGIN
@@ -15613,7 +16912,9 @@ return f1;
END//
SELECT fn78(1.1);
fn78(1.1)
-1.1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn79;
CREATE FUNCTION fn79( f1 real unsigned zerofill) returns real unsigned zerofill
BEGIN
@@ -15622,7 +16923,9 @@ return f1;
END//
SELECT fn79(1.1);
fn79(1.1)
-1.1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn80;
CREATE FUNCTION fn80( f1 real zerofill) returns real zerofill
BEGIN
@@ -15631,7 +16934,9 @@ return f1;
END//
SELECT fn80(1.1);
fn80(1.1)
-1.1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn81;
CREATE FUNCTION fn81( f1 smallint) returns smallint
BEGIN
@@ -15667,7 +16972,11 @@ return f1;
END//
SELECT fn84(-32601);
fn84(-32601)
-0
+65535
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn85;
CREATE FUNCTION fn85( f1 tinyint) returns tinyint
BEGIN
@@ -15703,45 +17012,37 @@ return f1;
END//
SELECT fn88(-101);
fn88(-101)
-0
+255
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn89;
CREATE FUNCTION fn89( f1 enum('1enum', '2enum')) returns enum('1enum', '2enum')
BEGIN
-if f1 eq "1enum" then
-set f1 = '2enum';
-else
-set f1 = '1enum';
-END if;
-return f1;
+IF f1 = '1enum' THEN
+SET f1 = '2enum';
+ELSE
+SET f1 = '1enum';
+END IF;
+RETURN f1;
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 'eq "1enum" then
-set f1 = '2enum';
-else
-set f1 = '1enum';
-END if;
-return f1;
-END' at line 3
SELECT fn89( '1enum');
-ERROR 42000: FUNCTION d1.fn89 does not exist
+fn89( '1enum')
+2enum
DROP FUNCTION IF EXISTS fn90;
-CREATE FUNCTION fn90( f1 set("1set", "2set")) returns set("1set", "2set")
+CREATE FUNCTION fn90( f1 set('1set', '2set')) returns set('1set', '2set')
BEGIN
-if(f1 == "1set") then
-set f1 = "2set";
-else
-set f1 = "1set";
-END if;
-return f1;
+IF f1 = '1set' THEN
+SET f1 = '2set';
+ELSE
+SET f1 = '1set';
+END IF;
+RETURN f1;
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 '== "1set") then
-set f1 = "2set";
-else
-set f1 = "1set";
-END if;
-return f1;
-END' at line 3
SELECT fn90( '1set');
-ERROR 42000: FUNCTION d1.fn90 does not exist
+fn90( '1set')
+2set
DROP FUNCTION IF EXISTS fn91;
CREATE FUNCTION fn91( f1 date) returns date
BEGIN
@@ -15759,7 +17060,7 @@ return f1;
END//
SELECT fn92( '23:59:59.999999');
fn92( '23:59:59.999999')
-26:00:00
+25:59:59
DROP FUNCTION IF EXISTS fn93;
CREATE FUNCTION fn93( f1 datetime) returns datetime
BEGIN
@@ -15768,7 +17069,7 @@ return f1;
END//
SELECT fn93('1997-12-31 23:59:59.999999');
fn93('1997-12-31 23:59:59.999999')
-1998-01-02 01:01:01
+1998-01-02 01:01:00
DROP FUNCTION IF EXISTS fn94;
CREATE FUNCTION fn94( f1 char) returns char
BEGIN
@@ -15778,6 +17079,8 @@ END//
SELECT fn94( 'h');
fn94( 'h')
a
+Warnings:
+Warning 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn95;
CREATE FUNCTION fn95( f1 char ascii) returns char ascii
BEGIN
@@ -15787,15 +17090,19 @@ END//
SELECT fn95('h');
fn95('h')
a
+Warnings:
+Warning 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn96;
-CREATE FUNCTION fn96( f1 char binary) returns char binary
+CREATE FUNCTION fn96( f1 binary) returns binary(2)
BEGIN
set f1 = concat('a', f1);
return f1;
END//
SELECT fn96( 'h');
fn96( 'h')
-a
+a
+Warnings:
+Warning 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn97;
CREATE FUNCTION fn97( f1 longtext) returns longtext
BEGIN
@@ -15917,7 +17224,7 @@ SELECT f1;
END//
CALL sp2(1.84e+19);
f1
--9223372036854775808
+18400000000000000000
DROP PROCEDURE IF EXISTS sp3;
CREATE PROCEDURE sp3( f1 bigint unsigned zerofill)
BEGIN
@@ -15926,7 +17233,7 @@ SELECT f1;
END//
CALL sp3(1.84e+17);
f1
-184000000000000000
+00184000000000000000
DROP PROCEDURE IF EXISTS sp4;
CREATE PROCEDURE sp4( f1 bigint zerofill)
BEGIN
@@ -15935,31 +17242,27 @@ SELECT f1;
END//
CALL sp4(-9.22e+15);
f1
--9220000000000000
+00000000000000000000
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp5;
CREATE PROCEDURE sp5( f1 decimal)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: default (10) for DECIMAL not checked, decimal digits shown although not defined
CALL sp5(-1.00e+09);
f1
--1000000000.000000000
+-1000000000
DROP PROCEDURE IF EXISTS sp6;
CREATE PROCEDURE sp6( f1 decimal (0))
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: decimal digits shown although not defined
CALL sp6(-1.00e+09);
f1
--1000000000.000000000
+-1000000000
DROP PROCEDURE IF EXISTS sp7;
CREATE PROCEDURE sp7( f1 decimal (0) unsigned)
BEGIN
@@ -15968,7 +17271,11 @@ SELECT f1;
END//
CALL sp7(99999999999);
f1
-99999999999.000000000
+9999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp8;
CREATE PROCEDURE sp8( f1 decimal (0) unsigned zerofill)
BEGIN
@@ -15977,199 +17284,201 @@ SELECT f1;
END//
CALL sp8(999999999);
f1
-999999999.000000000
+1000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp9;
CREATE PROCEDURE sp9( f1 decimal (0) zerofill)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: decimal digits shown although not defined
CALL sp9(-1.00e+09);
f1
--1000000000.000000000
+0000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp10;
CREATE PROCEDURE sp10( f1 decimal (0, 0))
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: decimal digits shown although not defined
CALL sp10(-1.00e+09);
f1
--1000000000.000000000
+-1000000000
DROP PROCEDURE IF EXISTS sp11;
CREATE PROCEDURE sp11( f1 decimal (0, 0) unsigned)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: decimal digits shown although not defined
CALL sp11(99999999999);
f1
-99999999999.000000000
+9999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp12;
CREATE PROCEDURE sp12( f1 decimal (0, 0) unsigned zerofill)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: decimal digits shown although not defined
CALL sp12(999999999);
f1
-999999999.000000000
+1000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp13;
CREATE PROCEDURE sp13( f1 decimal (0, 0) zerofill)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: decimal digits shown although not defined
CALL sp13(-1.00e+09);
f1
--1000000000.000000000
+0000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp14;
CREATE PROCEDURE sp14( f1 decimal (63, 30))
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: wrong number of decimal digits shown
CALL sp14(-1.00e+21);
f1
--1000000000000000000000.000000000
+-1000000000000000000000.000000000000000000000000000000
DROP PROCEDURE IF EXISTS sp15;
CREATE PROCEDURE sp15( f1 decimal (63, 30) unsigned)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: wrong number of decimal digits shown
CALL sp15(1.00e+16);
f1
-10000000000000000.000000000
+10000000000000000.000000000000000000000000000000
DROP PROCEDURE IF EXISTS sp16;
CREATE PROCEDURE sp16( f1 decimal (63, 30) unsigned zerofill)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: wrong number of decimal digits shown
CALL sp16(1.00e+16);
f1
-10000000000000000.000000000
+000000000000000010000000000000000.000000000000000000000000000000
DROP PROCEDURE IF EXISTS sp17;
CREATE PROCEDURE sp17( f1 decimal (63, 30) zerofill)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: wrong number of decimal digits shown
CALL sp17(-1.00e+21);
f1
--1000000000000000000000.000000000
+000000000000000000000000000000010.000000000000000000000000000000
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp18_d;
CREATE PROCEDURE sp18_d( f1 decimal (64))
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
+CALL sp18_d(-1.00e+30);
+f1
+-1000000000000000000000000000000
CALL sp18_d( -1000000000000000000000000000000 );
f1
--1000000000000000000000000000000.000000000
+-1000000000000000000000000000000
DROP PROCEDURE IF EXISTS sp19_du;
CREATE PROCEDURE sp19_du( f1 decimal (64) unsigned)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
+CALL sp19_du(1.00e+20);
+f1
+100000000000000000000
CALL sp19_du( 100000000000000000000 );
f1
-100000000000000000000.000000000
+100000000000000000000
+CALL sp19_du(1.00e+24);
+f1
+1000000000000000000000000
CALL sp19_du( 1000000000000000000000000 );
f1
-1000000000000000000000000.000000000
+1000000000000000000000000
DROP PROCEDURE IF EXISTS sp20_duz;
CREATE PROCEDURE sp20_duz( f1 decimal (64) unsigned zerofill)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: decimal digits shown although not defined
+CALL sp20_duz(1.00e+20);
+f1
+0000000000000000000000000000000000000000000100000000000000000000
CALL sp20_duz( 100000000000000000000 );
f1
-100000000000000000000.000000000
+0000000000000000000000000000000000000000000100000000000000000000
+CALL sp20_duz(1.00e+24);
+f1
+0000000000000000000000000000000000000001000000000000000000000000
CALL sp20_duz( 1000000000000000000000000 );
f1
-1000000000000000000000000.000000000
+0000000000000000000000000000000000000001000000000000000000000000
DROP PROCEDURE IF EXISTS sp21;
CREATE PROCEDURE sp21( f1 decimal (64) zerofill)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: decimal digits shown although not defined
CALL sp21(1.00e+00);
f1
-1.000000000
+0000000000000000000000000000000000000000000000000000000000000010
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp22;
CREATE PROCEDURE sp22( f1 decimal unsigned)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: decimal digits shown although not defined
CALL sp22(1.00e+00);
f1
-1.000000000
+10
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp23;
CREATE PROCEDURE sp23( f1 decimal unsigned zerofill)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: decimal digits shown although not defined
CALL sp23(1.00e+00);
f1
-1.000000000
+0000000010
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp24;
CREATE PROCEDURE sp24( f1 decimal zerofill)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: decimal digits shown although not defined
CALL sp24(-1.00e+09);
f1
--1000000000.000000000
+0000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp25;
CREATE PROCEDURE sp25( f1 double)
BEGIN
@@ -16187,7 +17496,9 @@ SELECT f1;
END//
CALL sp26(1.00e+00);
f1
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp27;
CREATE PROCEDURE sp27( f1 double unsigned zerofill)
BEGIN
@@ -16196,7 +17507,9 @@ SELECT f1;
END//
CALL sp27(1.00e+00);
f1
-1
+0000000000000000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp28;
CREATE PROCEDURE sp28( f1 double zerofill)
BEGIN
@@ -16205,7 +17518,9 @@ SELECT f1;
END//
CALL sp28(1.00e+00);
f1
-1
+0000000000000000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp29;
CREATE PROCEDURE sp29( f1 float)
BEGIN
@@ -16223,7 +17538,9 @@ SELECT f1;
END//
CALL sp30(1.00e+00);
f1
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp31;
CREATE PROCEDURE sp31( f1 float unsigned zerofill)
BEGIN
@@ -16232,7 +17549,9 @@ SELECT f1;
END//
CALL sp31(1.00e+00);
f1
-1
+000000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp32;
CREATE PROCEDURE sp32( f1 float zerofill)
BEGIN
@@ -16241,7 +17560,9 @@ SELECT f1;
END//
CALL sp32(1.00e+00);
f1
-1
+000000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp33;
CREATE PROCEDURE sp33( f1 float(0))
BEGIN
@@ -16259,7 +17580,9 @@ SELECT f1;
END//
CALL sp34(1.00e+00);
f1
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp35;
CREATE PROCEDURE sp35( f1 float(0) unsigned zerofill)
BEGIN
@@ -16268,7 +17591,9 @@ SELECT f1;
END//
CALL sp35(1.00e+00);
f1
-1
+000000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp36;
CREATE PROCEDURE sp36( f1 float(0) zerofill)
BEGIN
@@ -16277,7 +17602,9 @@ SELECT f1;
END//
CALL sp36(1.00e+00);
f1
-1
+000000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp37;
CREATE PROCEDURE sp37( f1 float(23))
BEGIN
@@ -16295,7 +17622,9 @@ SELECT f1;
END//
CALL sp38(1.00e+00);
f1
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp39;
CREATE PROCEDURE sp39( f1 float(23) unsigned zerofill)
BEGIN
@@ -16304,7 +17633,9 @@ SELECT f1;
END//
CALL sp39(1.00e+00);
f1
-1
+000000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp40;
CREATE PROCEDURE sp40( f1 float(23) zerofill)
BEGIN
@@ -16313,7 +17644,9 @@ SELECT f1;
END//
CALL sp40(1.00e+00);
f1
-1
+000000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp41;
CREATE PROCEDURE sp41( f1 float(24))
BEGIN
@@ -16331,7 +17664,9 @@ SELECT f1;
END//
CALL sp42(1.00e+00);
f1
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp43;
CREATE PROCEDURE sp43( f1 float(24) unsigned zerofill)
BEGIN
@@ -16340,7 +17675,9 @@ SELECT f1;
END//
CALL sp43(1.00e+00);
f1
-1
+000000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp44;
CREATE PROCEDURE sp44( f1 float(24) zerofill)
BEGIN
@@ -16349,7 +17686,9 @@ SELECT f1;
END//
CALL sp44(1.00e+00);
f1
-1
+000000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp45;
CREATE PROCEDURE sp45( f1 float(53))
BEGIN
@@ -16367,7 +17706,9 @@ SELECT f1;
END//
CALL sp46(1.00e+00);
f1
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp47;
CREATE PROCEDURE sp47( f1 float(53) unsigned zerofill)
BEGIN
@@ -16376,7 +17717,9 @@ SELECT f1;
END//
CALL sp47(1.00e+00);
f1
-1
+0000000000000000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp48;
CREATE PROCEDURE sp48( f1 float(53) zerofill)
BEGIN
@@ -16385,7 +17728,9 @@ SELECT f1;
END//
CALL sp48(1.00e+00);
f1
-1
+0000000000000000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp49;
CREATE PROCEDURE sp49( f1 int)
BEGIN
@@ -16394,7 +17739,10 @@ SELECT f1;
END//
CALL sp49(-2.15e+09);
f1
--2150000000
+-2147483638
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp50;
CREATE PROCEDURE sp50( f1 int unsigned)
BEGIN
@@ -16421,7 +17769,7 @@ SELECT f1;
END//
CALL sp52(2.15e+08);
f1
-215000000
+0215000000
DROP PROCEDURE IF EXISTS sp53;
CREATE PROCEDURE sp53( f1 mediumint)
BEGIN
@@ -16430,7 +17778,9 @@ SELECT f1;
END//
CALL sp53(-8388600);
f1
--8388600
+-8388598
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp54;
CREATE PROCEDURE sp54( f1 mediumint unsigned)
BEGIN
@@ -16457,7 +17807,11 @@ SELECT f1;
END//
CALL sp56(-8388601);
f1
--8388602
+16777215
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp57;
CREATE PROCEDURE sp57( f1 numeric)
BEGIN
@@ -16466,7 +17820,9 @@ SELECT f1;
END//
CALL sp57(-999999999);
f1
--999999999.000000000
+-1000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp58;
CREATE PROCEDURE sp58( f1 numeric (0))
BEGIN
@@ -16475,7 +17831,9 @@ SELECT f1;
END//
CALL sp58(-999999999);
f1
--999999999.000000000
+-1000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp59;
CREATE PROCEDURE sp59( f1 numeric (0) unsigned)
BEGIN
@@ -16484,7 +17842,10 @@ SELECT f1;
END//
CALL sp59(9999999999);
f1
-9999999999.000000000
+9999999999
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp60;
CREATE PROCEDURE sp60( f1 numeric (0) unsigned zerofill)
BEGIN
@@ -16493,7 +17854,9 @@ SELECT f1;
END//
CALL sp60(99999999);
f1
-99999999.000000000
+0100000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp61;
CREATE PROCEDURE sp61( f1 numeric (0) zerofill)
BEGIN
@@ -16502,7 +17865,10 @@ SELECT f1;
END//
CALL sp61(-99999999);
f1
--99999999.000000000
+0000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp62;
CREATE PROCEDURE sp62( f1 numeric (0, 0))
BEGIN
@@ -16511,7 +17877,9 @@ SELECT f1;
END//
CALL sp62(-999999999);
f1
--999999999.000000000
+-1000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp63;
CREATE PROCEDURE sp63( f1 numeric (0, 0) unsigned)
BEGIN
@@ -16520,7 +17888,10 @@ SELECT f1;
END//
CALL sp63(9999999999);
f1
-9999999999.000000000
+9999999999
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp64;
CREATE PROCEDURE sp64( f1 numeric (0, 0) unsigned zerofill)
BEGIN
@@ -16529,7 +17900,9 @@ SELECT f1;
END//
CALL sp64(99999999);
f1
-99999999.000000000
+0100000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp65;
CREATE PROCEDURE sp65( f1 numeric (0, 0) zerofill)
BEGIN
@@ -16538,79 +17911,146 @@ SELECT f1;
END//
CALL sp65(-99999999);
f1
--99999999.000000000
+0000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp66_n;
CREATE PROCEDURE sp66_n( f1 numeric (63, 30))
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
+CALL sp66_n(-1e+36);
+f1
+-999999999999999999999999999999989.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
CALL sp66_n( -1000000000000000000000000000000000000 );
f1
--1000000000000000000000000000000000000.000000000
+-999999999999999999999999999999989.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp67_nu;
CREATE PROCEDURE sp67_nu( f1 numeric (63, 30) unsigned)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
+CALL sp67_nu(1e+36);
+f1
+999999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
CALL sp67_nu( 1000000000000000000000000000000000000 );
f1
-1000000000000000000000000000000000000.000000000
+999999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp68_nuz;
CREATE PROCEDURE sp68_nuz( f1 numeric (63, 30) unsigned zerofill)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
+CALL sp68_nuz(1e+36);
+f1
+999999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
CALL sp68_nuz( 1000000000000000000000000000000000000 );
f1
-1000000000000000000000000000000000000.000000000
+999999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp69_n_z;
CREATE PROCEDURE sp69_n_z( f1 numeric (63, 30) zerofill)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
+CALL sp69_n_z(-1e+36);
+f1
+000000000000000000000000000000010.000000000000000000000000000000
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
CALL sp69_n_z( -1000000000000000000000000000000000000 );
f1
--1000000000000000000000000000000000000.000000000
+000000000000000000000000000000010.000000000000000000000000000000
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp70_n;
CREATE PROCEDURE sp70_n( f1 numeric (64))
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
+CALL sp70_n(-1e+40);
+f1
+-10000000000000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
CALL sp70_n( -10000000000000000000000000000000000000000 );
f1
--10000000000000000000000000000000000000000.000000000
+-10000000000000000000000000000000000000000
DROP PROCEDURE IF EXISTS sp71_nu;
CREATE PROCEDURE sp71_nu( f1 numeric (64) unsigned)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
+CALL sp71_nu(1.00e+40);
+f1
+10000000000000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
CALL sp71_nu( 10000000000000000000000000000000000000000 );
f1
-10000000000000000000000000000000000000000.000000000
+10000000000000000000000000000000000000000
DROP PROCEDURE IF EXISTS sp72_nuz;
CREATE PROCEDURE sp72_nuz( f1 numeric (64) unsigned zerofill)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
+CALL sp72_nuz(1.00e+40);
+f1
+0000000000000000000000010000000000000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
CALL sp72_nuz( 10000000000000000000000000000000000000000 );
f1
-10000000000000000000000000000000000000000.000000000
+0000000000000000000000010000000000000000000000000000000000000000
DROP PROCEDURE IF EXISTS sp73_n_z;
CREATE PROCEDURE sp73_n_z( f1 numeric (64) zerofill)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
+CALL sp73_n_z(1.00e+40);
+f1
+0000000000000000000000010000000000000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
CALL sp73_n_z( 10000000000000000000000000000000000000000 );
f1
-10000000000000000000000000000000000000000.000000000
+0000000000000000000000010000000000000000000000000000000000000000
DROP PROCEDURE IF EXISTS sp74;
CREATE PROCEDURE sp74( f1 numeric unsigned)
BEGIN
@@ -16619,7 +18059,9 @@ SELECT f1;
END//
CALL sp74(999999999);
f1
-999999999.000000000
+1000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp75;
CREATE PROCEDURE sp75( f1 numeric unsigned zerofill)
BEGIN
@@ -16628,7 +18070,9 @@ SELECT f1;
END//
CALL sp75(999999999);
f1
-999999999.000000000
+1000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp76;
CREATE PROCEDURE sp76( f1 numeric zerofill)
BEGIN
@@ -16637,7 +18081,10 @@ SELECT f1;
END//
CALL sp76(-999999999);
f1
--999999999.000000000
+0000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp77;
CREATE PROCEDURE sp77( f1 real)
BEGIN
@@ -16646,7 +18093,7 @@ SELECT f1;
END//
CALL sp77(1.1);
f1
-1.10000
+1.1
DROP PROCEDURE IF EXISTS sp78;
CREATE PROCEDURE sp78( f1 real unsigned)
BEGIN
@@ -16655,7 +18102,9 @@ SELECT f1;
END//
CALL sp78(1.1);
f1
-1.10000
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp79;
CREATE PROCEDURE sp79( f1 real unsigned zerofill)
BEGIN
@@ -16664,7 +18113,9 @@ SELECT f1;
END//
CALL sp79(1.1);
f1
-1.10000
+0000000000000000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp80;
CREATE PROCEDURE sp80( f1 real zerofill)
BEGIN
@@ -16673,7 +18124,9 @@ SELECT f1;
END//
CALL sp80(1.1);
f1
-1.10000
+0000000000000000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp81;
CREATE PROCEDURE sp81( f1 smallint)
BEGIN
@@ -16709,7 +18162,11 @@ SELECT f1;
END//
CALL sp84(-32601);
f1
--32602
+65535
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp85;
CREATE PROCEDURE sp85( f1 tinyint)
BEGIN
@@ -16745,9 +18202,23 @@ SELECT f1;
END//
CALL sp88(-101);
f1
--102
+255
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp89;
+CREATE PROCEDURE sp89( f1 enum('1enum', '2enum'))
+BEGIN
+IF f1 = '1enum' THEN set f1 = '2enum'; ELSE set f1 = '1enum'; END IF;
+END//
+CALL sp89( '1enum');
DROP PROCEDURE IF EXISTS sp90;
+CREATE PROCEDURE sp90( f1 set('1set', '2set'))
+BEGIN
+IF f1 = '1set' THEN set f1 = '2set'; ELSE set f1 = '1set'; END IF;
+END//
+CALL sp90( '1set');
DROP PROCEDURE IF EXISTS sp91;
CREATE PROCEDURE sp91( f1 date)
BEGIN
@@ -16765,7 +18236,7 @@ SELECT f1;
END//
CALL sp92( '23:59:59.999999');
f1
-26:00:00.999997
+25:59:59
DROP PROCEDURE IF EXISTS sp93;
CREATE PROCEDURE sp93( f1 datetime)
BEGIN
@@ -16774,7 +18245,7 @@ SELECT f1;
END//
CALL sp93('1997-12-31 23:59:59.999999');
f1
-1998-01-02 01:01:01.000001
+1998-01-02 01:01:00
DROP PROCEDURE IF EXISTS sp94;
CREATE PROCEDURE sp94( f1 char)
BEGIN
@@ -16783,7 +18254,9 @@ SELECT f1;
END//
CALL sp94( 'h');
f1
-ah
+a
+Warnings:
+Warning 1265 Data truncated for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp95;
CREATE PROCEDURE sp95( f1 char ascii)
BEGIN
@@ -16792,7 +18265,9 @@ SELECT f1;
END//
CALL sp95( 'h');
f1
-ah
+a
+Warnings:
+Warning 1265 Data truncated for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp96;
CREATE PROCEDURE sp96( f1 char binary)
BEGIN
@@ -16801,7 +18276,9 @@ SELECT f1;
END//
CALL sp96( 'h');
f1
-ah
+a
+Warnings:
+Warning 1265 Data truncated for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp97;
CREATE PROCEDURE sp97( f1 longtext)
BEGIN
@@ -16846,7 +18323,7 @@ SELECT f1;
END//
CALL sp101(51);
f1
-61
+2061
DROP PROCEDURE IF EXISTS sp102;
CREATE PROCEDURE sp102( f1 year(4))
BEGIN
@@ -16901,6 +18378,8 @@ END//
CALL sp107(2.00e+13);
f1
returned
+Warnings:
+returned 1265 Data truncated for column 'f1' at row 1
USE db_storedproc;
DROP DATABASE db1;
DROP DATABASE IF EXISTS db1;
@@ -16937,9 +18416,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute01();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-61 61 71 61 61 71 2033 2033 2084 2033 2033 2084
+2061 2061 2071 2061 2061 2071 2033 2033 2084 2033 2033 2084
var1 var2 var3 var4 var5 var6 var7 var8
-61 71 61 71 2033 2084 2033 2084
+2061 2071 2061 2071 2033 2084 2033 2084
DROP PROCEDURE spexecute01;
DROP PROCEDURE sp1;
DROP PROCEDURE IF EXISTS sp2;
@@ -17010,9 +18489,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute03();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-ah ah aah ah ah aah helloworld helloworld NULL helloworld helloworld hellohelloworld
+a a a a a a helloworld helloworld NULL helloworld helloworld hellohelloworld
var1 var2 var3 var4 var5 var6 var7 var8
-ah aah ah aah helloworld NULL helloworld hellohelloworld
+a a a a helloworld NULL helloworld hellohelloworld
DROP PROCEDURE spexecute03;
DROP PROCEDURE sp3;
DROP PROCEDURE IF EXISTS sp4;
@@ -17155,7 +18634,7 @@ SELECT var7, var8;
END//
CALL spexecute07();
var1 var2
-9223372036854775807 NULL
+18400000000000000000 NULL
var3 var4
-9220000000000000000 NULL
var5 var6
@@ -17163,7 +18642,7 @@ var5 var6
var7 var8
-9220000000000000000 NULL
f1 f2 f3
-9223372036854775807 9223372036854775807 NULL
+18400000000000000000 18400000000000000000 NULL
f4 f5 f6
-9220000000000000000 -9220000000000000000 NULL
f7 f8 f9
@@ -17171,7 +18650,7 @@ f7 f8 f9
f10 f11 f12
-9220000000000000000 -9220000000000000000 NULL
f1 f2 f3
--2 -2 -2
+18353255926290448384 18353255926290448384 18353255926290448384
f4 f5 f6
-9220000000000000000 6744073709551616 6744073709551616
f7 f8 f9
@@ -17179,7 +18658,7 @@ f7 f8 f9
f10 f11 f12
-9220000000000000000 6744073709551616 6744073709551616
var1 var2
--2 -2
+18353255926290448384 18353255926290448384
var3 var4
6744073709551616 6744073709551616
var5 var6
@@ -17237,9 +18716,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute08();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-368000000000000000 368000000000000000 368000000000000010 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+00368000000000000000 00368000000000000000 00368000000000000010 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-368000000000000000 368000000000000010 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+00368000000000000000 00368000000000000010 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute08;
DROP PROCEDURE sp8;
DROP PROCEDURE IF EXISTS sp9;
@@ -17291,9 +18770,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute09();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--18440000000000000 -18440000000000000 -18439999999999990 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+00000000000000000000 00000000000000000000 00000000000000000010 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--18440000000000000 -18439999999999990 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+00000000000000000000 00000000000000000010 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute09;
DROP PROCEDURE sp9;
DROP PROCEDURE IF EXISTS sp10;
@@ -17337,9 +18816,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute10();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--1000000000.000000000 -1000000000.000000000 -999999990.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+-1000000000 -1000000000 -999999990 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--1000000000.000000000 -999999990.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+-1000000000 -999999990 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute10;
DROP PROCEDURE sp10;
DROP PROCEDURE IF EXISTS sp11;
@@ -17372,9 +18851,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute11();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1000000000.000000000 1000000000.000000000 1000000010.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+1000000000 1000000000 1000000010 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1000000000.000000000 1000000010.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+1000000000 1000000010 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute11;
DROP PROCEDURE sp11;
DROP PROCEDURE IF EXISTS sp12;
@@ -17407,9 +18886,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute12();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-99999999999.000000000 99999999999.000000000 100000000009.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+9999999999 9999999999 9999999999 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-99999999999.000000000 100000000009.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+9999999999 9999999999 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute12;
DROP PROCEDURE sp12;
DROP PROCEDURE IF EXISTS sp13;
@@ -17442,9 +18921,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute13();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--1000000000.000000000 -1000000000.000000000 -999999990.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000010 0000000010 0000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--1000000000.000000000 -999999990.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000010 0000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute13;
DROP PROCEDURE sp13;
DROP PROCEDURE IF EXISTS sp14;
@@ -17477,9 +18956,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute14();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--1000000000000000000000.000000000 -1000000000000000000000.000000000 -999999999999999999990.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+-1000000000000000000000.000000000000000000000000000000 -1000000000000000000000.000000000000000000000000000000 -999999999999999999990.000000000000000000000000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--1000000000000000000000.000000000 -999999999999999999990.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+-1000000000000000000000.000000000000000000000000000000 -999999999999999999990.000000000000000000000000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute14;
DROP PROCEDURE sp14;
DROP PROCEDURE IF EXISTS sp15;
@@ -17545,9 +19024,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute16();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000000000000000010 0000000000000000000010 0000000000000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000000000000000010 0000000000000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute16;
DROP PROCEDURE sp16;
DROP PROCEDURE IF EXISTS sp17;
@@ -17579,9 +19058,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute17();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+10 10 20 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+10 20 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute17;
DROP PROCEDURE sp17;
DROP PROCEDURE IF EXISTS sp18;
@@ -17613,9 +19092,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute18();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000000000000000010 0000000000000000000010 0000000000000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000000000000000010 0000000000000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute18;
DROP PROCEDURE sp18;
DROP PROCEDURE IF EXISTS sp19;
@@ -17647,9 +19126,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute19();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+10 10 20 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+10 20 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute19;
DROP PROCEDURE sp19;
DROP PROCEDURE IF EXISTS sp20;
@@ -17681,9 +19160,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute20();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+000000000010 000000000010 000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+000000000010 000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute20;
DROP PROCEDURE sp20;
DROP PROCEDURE IF EXISTS sp21;
@@ -17715,9 +19194,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute21();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+000000000010 000000000010 000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+000000000010 000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute21;
DROP PROCEDURE sp21;
DROP PROCEDURE IF EXISTS sp22;
@@ -17783,9 +19262,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute23();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--999999999.000000000 -999999999.000000000 -999999989.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+-1000000000 -1000000000 -999999990 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--999999999.000000000 -999999989.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+-1000000000 -999999990 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute23;
DROP PROCEDURE sp23;
DROP PROCEDURE IF EXISTS sp24;
@@ -17817,9 +19296,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute24();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1.10000 1.10000 11.10000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+1.1 1.1 11.1 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1.10000 11.10000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+1.1 11.1 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute24;
DROP PROCEDURE sp24;
DROP PROCEDURE IF EXISTS sp25;
@@ -17851,9 +19330,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute25();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--65402 -65402 -65392 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+-32758 -32758 -32748 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--65402 -65392 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+-32758 -32748 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute25;
DROP PROCEDURE sp25;
DROP PROCEDURE IF EXISTS sp26;
@@ -17919,9 +19398,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute27();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-26:00:00.999997 26:00:00.999997 28:00:01.999995 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+25:59:59 25:59:59 27:59:59 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-26:00:00.999997 28:00:01.999995 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+25:59:59 27:59:59 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute27;
DROP PROCEDURE sp27;
DROP PROCEDURE IF EXISTS sp28;
@@ -17953,9 +19432,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute28();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1998-01-02 01:01:01.000001 1998-01-02 01:01:01.000001 1998-01-03 02:02:02.000003 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+1998-01-02 01:01:00 1998-01-02 01:01:00 1998-01-03 02:02:01 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1998-01-02 01:01:01.000001 1998-01-03 02:02:02.000003 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+1998-01-02 01:01:00 1998-01-03 02:02:01 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute28;
DROP PROCEDURE sp28;
DROP PROCEDURE IF EXISTS sp29;
@@ -17987,9 +19466,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute29();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+10 10 20 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+10 20 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute29;
DROP PROCEDURE sp29;
DROP PROCEDURE IF EXISTS sp30;
@@ -18021,9 +19500,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute30();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+000000000010 000000000010 000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+000000000010 000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute30;
DROP PROCEDURE sp30;
DROP PROCEDURE IF EXISTS sp31;
@@ -18089,9 +19568,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute32();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+10 10 20 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+10 20 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute32;
DROP PROCEDURE sp32;
DROP PROCEDURE IF EXISTS sp33;
@@ -18123,9 +19602,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute33();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+000000000010 000000000010 000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+000000000010 000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute33;
DROP PROCEDURE sp33;
DROP PROCEDURE IF EXISTS sp34;
@@ -18191,9 +19670,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute35();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+10 10 20 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+10 20 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute35;
DROP PROCEDURE sp35;
DROP PROCEDURE IF EXISTS sp36;
@@ -18225,9 +19704,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute36();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+000000000010 000000000010 000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+000000000010 000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute36;
DROP PROCEDURE sp36;
DROP PROCEDURE IF EXISTS sp37;
@@ -18293,9 +19772,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute38();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+10 10 20 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+10 20 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute38;
DROP PROCEDURE sp38;
DROP PROCEDURE IF EXISTS sp39;
@@ -18327,9 +19806,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute39();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000000000000000010 0000000000000000000010 0000000000000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000000000000000010 0000000000000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute39;
DROP PROCEDURE sp39;
DROP PROCEDURE IF EXISTS sp40;
@@ -18361,9 +19840,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute40();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1.10000 1.10000 11.10000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+10 10 20 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1.10000 11.10000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+10 20 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute40;
DROP PROCEDURE sp40;
DROP PROCEDURE IF EXISTS sp41;
@@ -18395,9 +19874,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute41();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1.10000 1.10000 11.10000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000000000000000010 0000000000000000000010 0000000000000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1.10000 11.10000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000000000000000010 0000000000000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute41;
DROP PROCEDURE sp41;
DROP PROCEDURE IF EXISTS sp42;
@@ -18429,9 +19908,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute42();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1.10000 1.10000 11.10000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000000000000000010 0000000000000000000010 0000000000000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1.10000 11.10000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000000000000000010 0000000000000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute42;
DROP PROCEDURE sp42;
DROP PROCEDURE IF EXISTS sp43;
@@ -18463,9 +19942,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute43();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--999999999.000000000 -999999999.000000000 -999999989.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+-1000000000 -1000000000 -999999990 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--999999999.000000000 -999999989.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+-1000000000 -999999990 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute43;
DROP PROCEDURE sp43;
DROP PROCEDURE IF EXISTS sp44;
@@ -18497,9 +19976,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute44();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-9999999999.000000000 9999999999.000000000 10000000009.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+9999999999 9999999999 9999999999 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-9999999999.000000000 10000000009.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+9999999999 9999999999 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute44;
DROP PROCEDURE sp44;
DROP PROCEDURE IF EXISTS sp45;
@@ -18531,9 +20010,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute45();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--99999999.000000000 -99999999.000000000 -99999989.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000010 0000000010 0000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--99999999.000000000 -99999989.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000010 0000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute45;
DROP PROCEDURE sp45;
DROP PROCEDURE IF EXISTS sp46;
@@ -18565,9 +20044,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute46();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--999999999.000000000 -999999999.000000000 -999999989.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+-1000000000 -1000000000 -999999990 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--999999999.000000000 -999999989.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+-1000000000 -999999990 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute46;
DROP PROCEDURE sp46;
DROP PROCEDURE IF EXISTS sp47;
@@ -18599,9 +20078,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute47();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-9999999999.000000000 9999999999.000000000 10000000009.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+9999999999 9999999999 9999999999 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-9999999999.000000000 10000000009.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+9999999999 9999999999 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute47;
DROP PROCEDURE sp47;
DROP PROCEDURE IF EXISTS sp48;
@@ -18633,9 +20112,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute48();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--99999999.000000000 -99999999.000000000 -99999989.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000010 0000000010 0000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--99999999.000000000 -99999989.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000010 0000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute48;
DROP PROCEDURE sp48;
DROP PROCEDURE IF EXISTS sp49;
@@ -18667,9 +20146,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute49();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--999999999.000000000 -999999999.000000000 -999999989.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+10 10 20 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--999999999.000000000 -999999989.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+10 20 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute49;
DROP PROCEDURE sp49;
DROP PROCEDURE IF EXISTS sp50;
@@ -18701,9 +20180,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute50();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-9999999999.000000000 9999999999.000000000 10000000009.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+9999999999 9999999999 9999999999 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-9999999999.000000000 10000000009.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+9999999999 9999999999 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute50;
DROP PROCEDURE sp50;
DROP PROCEDURE IF EXISTS sp51;
@@ -18735,9 +20214,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute51();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--99999999.000000000 -99999999.000000000 -99999989.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000010 0000000010 0000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--99999999.000000000 -99999989.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000010 0000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute51;
DROP PROCEDURE sp51;
DROP PROCEDURE IF EXISTS sp52;
@@ -18769,9 +20248,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute52();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--100000000000000000000.000000000 -10000000000000000000000.000000000 -99999999999999999990.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+-100000000000000000000.000000000000000000000000000000 -10000000000000000000000.000000000000000000000000000000 -99999999999999999990.000000000000000000000000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--10000000000000000000000.000000000 -99999999999999999990.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+-10000000000000000000000.000000000000000000000000000000 -99999999999999999990.000000000000000000000000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute52;
DROP PROCEDURE sp52;
DROP PROCEDURE IF EXISTS sp53;
@@ -18803,9 +20282,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute53();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--100000000000000000000.000000000 -10000000000000000000000.000000000 -99999999999999999990.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+-100000000000000000000 -10000000000000000000000 -99999999999999999990 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--10000000000000000000000.000000000 -99999999999999999990.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+-10000000000000000000000 -99999999999999999990 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute53;
DROP PROCEDURE sp53;
DROP PROCEDURE IF EXISTS sp54;
@@ -18837,9 +20316,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute54();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-100000000000000000000.000000000 10000000000000000000000.000000000 100000000000000000010.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+100000000000000000000 10000000000000000000000 100000000000000000010 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-10000000000000000000000.000000000 100000000000000000010.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+10000000000000000000000 100000000000000000010 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute54;
DROP PROCEDURE sp54;
DROP PROCEDURE IF EXISTS sp55;
@@ -18871,9 +20350,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute55();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--100000000000000000000.000000000 -10000000000000000000000.000000000 -99999999999999999990.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000000000000000000000000000000000000000000000000000000000010 0000000000000000000000000000000000000000000000000000000000000010 0000000000000000000000000000000000000000000000000000000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--10000000000000000000000.000000000 -99999999999999999990.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000000000000000000000000000000000000000000000000000000000010 0000000000000000000000000000000000000000000000000000000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute55;
DROP PROCEDURE sp55;
DROP PROCEDURE IF EXISTS sp56;
@@ -18905,9 +20384,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute56();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-61 61 71 61 61 71 61 61 71 61 61 71
+2061 2061 2071 2061 2061 2071 2061 2061 2071 2061 2061 2071
var1 var2 var3 var4 var5 var6 var7 var8
-61 71 61 71 61 71 61 71
+2061 2071 2061 2071 2061 2071 2061 2071
DROP PROCEDURE spexecute56;
DROP PROCEDURE sp56;
DROP PROCEDURE IF EXISTS sp57;
@@ -19041,9 +20520,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute60();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-ah ah aah ah ah aah ah ah aah ah ah aah
+a a a a a a a a a a a a
var1 var2 var3 var4 var5 var6 var7 var8
-ah aah ah aah ah aah ah aah
+a a a a a a a a
DROP PROCEDURE spexecute60;
DROP PROCEDURE sp60;
DROP PROCEDURE IF EXISTS sp61;
@@ -19075,9 +20554,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute61();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-ah ah aah ah ah aah ah ah NULL ah ah aah
+a a a a a a a a NULL a a a
var1 var2 var3 var4 var5 var6 var7 var8
-ah aah ah aah ah NULL ah aah
+a a a a a NULL a a
DROP PROCEDURE spexecute61;
DROP PROCEDURE sp61;
DROP PROCEDURE IF EXISTS sp62;
@@ -19177,9 +20656,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute64();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1000000000.000000000 1000000000.000000000 1000000010.000000000 1000000000.000000000 1000000000.000000000 1000000010.000000000 1000000000.000000000 1000000000.000000000 1000000010.000000000 1000000000.000000000 1000000000.000000000 1000000010.000000000
+1000000000 1000000000 1000000010 1000000000 1000000000 1000000010 1000000000 1000000000 1000000010 1000000000 1000000000 1000000010
var1 var2 var3 var4 var5 var6 var7 var8
-1000000000.000000000 1000000010.000000000 1000000000.000000000 1000000010.000000000 1000000000.000000000 1000000010.000000000 1000000000.000000000 1000000010.000000000
+1000000000 1000000010 1000000000 1000000010 1000000000 1000000010 1000000000 1000000010
DROP PROCEDURE spexecute64;
DROP PROCEDURE sp64;
DROP PROCEDURE IF EXISTS sp65;
@@ -19211,9 +20690,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute65();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-999999999.000000000 999999999.000000000 1000000009.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+1000000000 1000000000 1000000010 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-999999999.000000000 1000000009.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+1000000000 1000000010 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute65;
DROP PROCEDURE sp65;
DROP PROCEDURE IF EXISTS sp66;
@@ -19245,9 +20724,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute66();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-10000000000000000.000000000 10000000000000000.000000000 10000000000000010.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+10000000000000000.000000000000000000000000000000 10000000000000000.000000000000000000000000000000 10000000000000010.000000000000000000000000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-10000000000000000.000000000 10000000000000010.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+10000000000000000.000000000000000000000000000000 10000000000000010.000000000000000000000000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute66;
DROP PROCEDURE sp66;
DROP PROCEDURE IF EXISTS sp67;
@@ -19279,9 +20758,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute67();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-10000000000000000.000000000 10000000000000000.000000000 10000000000000010.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+000000000000000010000000000000000.000000000000000000000000000000 000000000000000010000000000000000.000000000000000000000000000000 000000000000000010000000000000010.000000000000000000000000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-10000000000000000.000000000 10000000000000010.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+000000000000000010000000000000000.000000000000000000000000000000 000000000000000010000000000000010.000000000000000000000000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute67;
DROP PROCEDURE sp67;
DROP PROCEDURE IF EXISTS sp68;
@@ -19313,9 +20792,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute68();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--1000000000000000000000.000000000 -1000000000000000000000.000000000 -999999999999999999990.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+000000000000000000000000000000010.000000000000000000000000000000 000000000000000000000000000000010.000000000000000000000000000000 000000000000000000000000000000020.000000000000000000000000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--1000000000000000000000.000000000 -999999999999999999990.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+000000000000000000000000000000010.000000000000000000000000000000 000000000000000000000000000000020.000000000000000000000000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute68;
DROP PROCEDURE sp68;
DROP PROCEDURE IF EXISTS sp69;
@@ -19347,9 +20826,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute69();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--100000000000000000000.000000000 -10000000000000000000000.000000000 -99999999999999999990.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+-100000000000000000000 -10000000000000000000000 -99999999999999999990 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--10000000000000000000000.000000000 -99999999999999999990.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+-10000000000000000000000 -99999999999999999990 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute69;
DROP PROCEDURE sp69;
DROP PROCEDURE IF EXISTS sp70;
@@ -19381,9 +20860,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute70();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-100000000000000000000.000000000 10000000000000000000000.000000000 100000000000000000010.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+100000000000000000000 10000000000000000000000 100000000000000000010 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-10000000000000000000000.000000000 100000000000000000010.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+10000000000000000000000 100000000000000000010 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute70;
DROP PROCEDURE sp70;
DROP PROCEDURE IF EXISTS sp71;
@@ -19415,9 +20894,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute71();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-100000000000000000000.000000000 10000000000000000000000.000000000 100000000000000000010.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000000000000000000000000000000000000000100000000000000000000 0000000000000000000000000000000000000000010000000000000000000000 0000000000000000000000000000000000000000000100000000000000000010 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-10000000000000000000000.000000000 100000000000000000010.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000000000000000000000000000000000000010000000000000000000000 0000000000000000000000000000000000000000000100000000000000000010 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute71;
DROP PROCEDURE sp71;
DROP PROCEDURE IF EXISTS sp72;
@@ -19449,9 +20928,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute72();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1.000000000 1.000000000 11.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000000000000000000000000000000000000000000000000000000000010 0000000000000000000000000000000000000000000000000000000000000010 0000000000000000000000000000000000000000000000000000000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1.000000000 11.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000000000000000000000000000000000000000000000000000000000010 0000000000000000000000000000000000000000000000000000000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute72;
DROP PROCEDURE sp72;
DROP PROCEDURE IF EXISTS sp73;
@@ -19483,9 +20962,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute73();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1.000000000 1.000000000 11.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+10 10 20 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1.000000000 11.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+10 20 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute73;
DROP PROCEDURE sp73;
DROP PROCEDURE IF EXISTS sp74;
@@ -19517,9 +20996,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute74();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1.000000000 1.000000000 11.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000010 0000000010 0000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1.000000000 11.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000010 0000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute74;
DROP PROCEDURE sp74;
DROP PROCEDURE IF EXISTS sp75;
@@ -19551,9 +21030,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute75();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--1000000000.000000000 -1000000000.000000000 -999999990.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000010 0000000010 0000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--1000000000.000000000 -999999990.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000010 0000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute75;
DROP PROCEDURE sp75;
DROP PROCEDURE IF EXISTS sp76;
@@ -19585,9 +21064,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute76();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+000000000010 000000000010 000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+000000000010 000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute76;
DROP PROCEDURE sp76;
DROP PROCEDURE IF EXISTS sp77;
@@ -19619,9 +21098,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute77();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+000000000010 000000000010 000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+000000000010 000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute77;
DROP PROCEDURE sp77;
DROP PROCEDURE IF EXISTS sp78;
@@ -19653,9 +21132,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute78();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+000000000010 000000000010 000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+000000000010 000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute78;
DROP PROCEDURE sp78;
DROP PROCEDURE IF EXISTS sp79;
@@ -19687,9 +21166,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute79();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000000000000000010 0000000000000000000010 0000000000000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000000000000000010 0000000000000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute79;
DROP PROCEDURE sp79;
DROP PROCEDURE IF EXISTS sp80;
@@ -19721,9 +21200,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute80();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--2150000000 -2150000000 -2149999990 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+-2147483638 -2147483638 -2147483628 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--2150000000 -2149999990 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+-2147483638 -2147483628 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute80;
DROP PROCEDURE sp80;
DROP PROCEDURE IF EXISTS sp81;
@@ -19823,9 +21302,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute83();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-215000000 215000000 215000010 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0215000000 0215000000 0215000010 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-215000000 215000010 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0215000000 0215000010 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute83;
DROP PROCEDURE sp83;
DROP PROCEDURE IF EXISTS sp84;
@@ -19857,9 +21336,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute84();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--8388600 -8388600 -8388590 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+-8388598 -8388598 -8388588 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--8388600 -8388590 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+-8388598 -8388588 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute84;
DROP PROCEDURE sp84;
DROP PROCEDURE IF EXISTS sp85;
@@ -19925,9 +21404,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute86();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-16777210 16777210 16777220 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+16777210 16777210 16777215 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-16777210 16777220 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+16777210 16777215 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute86;
DROP PROCEDURE sp86;
DROP PROCEDURE IF EXISTS sp87;
@@ -19959,9 +21438,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute87();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--8388602 -8388602 -8388592 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+16777215 16777215 16777215 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--8388602 -8388592 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+16777215 16777215 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute87;
DROP PROCEDURE sp87;
DROP PROCEDURE IF EXISTS sp88;
@@ -19993,9 +21472,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute88();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-99999999.000000000 99999999.000000000 100000009.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0100000000 0100000000 0100000010 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-99999999.000000000 100000009.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0100000000 0100000010 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute88;
DROP PROCEDURE sp88;
DROP PROCEDURE IF EXISTS sp89;
@@ -20027,9 +21506,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute89();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-99999999.000000000 99999999.000000000 100000009.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0100000000 0100000000 0100000010 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-99999999.000000000 100000009.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0100000000 0100000010 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute89;
DROP PROCEDURE sp89;
DROP PROCEDURE IF EXISTS sp90;
@@ -20061,9 +21540,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute90();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-100000000000000000000.000000000 10000000000000000000000.000000000 100000000000000000010.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+100000000000000000000.000000000000000000000000000000 10000000000000000000000.000000000000000000000000000000 100000000000000000010.000000000000000000000000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-10000000000000000000000.000000000 100000000000000000010.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+10000000000000000000000.000000000000000000000000000000 100000000000000000010.000000000000000000000000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute90;
DROP PROCEDURE sp90;
DROP PROCEDURE IF EXISTS sp91;
@@ -20095,9 +21574,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute91();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-100000000000000000000.000000000 10000000000000000000000.000000000 100000000000000000010.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+000000000000100000000000000000000.000000000000000000000000000000 000000000010000000000000000000000.000000000000000000000000000000 000000000000100000000000000000010.000000000000000000000000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-10000000000000000000000.000000000 100000000000000000010.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+000000000010000000000000000000000.000000000000000000000000000000 000000000000100000000000000000010.000000000000000000000000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute91;
DROP PROCEDURE sp91;
DROP PROCEDURE IF EXISTS sp92;
@@ -20129,9 +21608,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute92();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--100000000000000000000.000000000 -10000000000000000000000.000000000 -99999999999999999990.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+000000000000000000000000000000010.000000000000000000000000000000 000000000000000000000000000000010.000000000000000000000000000000 000000000000000000000000000000020.000000000000000000000000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--10000000000000000000000.000000000 -99999999999999999990.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+000000000000000000000000000000010.000000000000000000000000000000 000000000000000000000000000000020.000000000000000000000000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute92;
DROP PROCEDURE sp92;
DROP PROCEDURE IF EXISTS sp93;
@@ -20163,9 +21642,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute93();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-100000000000000000000.000000000 10000000000000000000000.000000000 100000000000000000010.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000000000000000000000000000000000000000100000000000000000000 0000000000000000000000000000000000000000010000000000000000000000 0000000000000000000000000000000000000000000100000000000000000010 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-10000000000000000000000.000000000 100000000000000000010.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000000000000000000000000000000000000010000000000000000000000 0000000000000000000000000000000000000000000100000000000000000010 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute93;
DROP PROCEDURE sp93;
DROP PROCEDURE IF EXISTS sp94;
@@ -20231,9 +21710,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute95();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-65532 65532 65542 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+65532 65532 65535 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-65532 65542 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+65532 65535 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute95;
DROP PROCEDURE sp95;
DROP PROCEDURE IF EXISTS sp96;
@@ -20265,9 +21744,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute96();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-65532 65532 65542 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+65532 65532 65535 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-65532 65542 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+65532 65535 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute96;
DROP PROCEDURE sp96;
DROP PROCEDURE IF EXISTS sp97;
@@ -20299,9 +21778,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute97();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--32602 -32602 -32592 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+65535 65535 65535 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--32602 -32592 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+65535 65535 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute97;
DROP PROCEDURE sp97;
DROP PROCEDURE IF EXISTS sp98;
@@ -20367,9 +21846,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute99();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-252 252 262 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+252 252 255 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-252 262 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+252 255 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute99;
DROP PROCEDURE sp99;
DROP PROCEDURE IF EXISTS sp100;
@@ -20435,9 +21914,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute101();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--102 -102 -92 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+255 255 255 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--102 -92 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+255 255 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute101;
DROP PROCEDURE sp101;
USE db_storedproc;
@@ -20462,13 +21941,13 @@ set a = '2005-03-14 01:01:02';
insert into temp_table values(a);
END//
show CREATE PROCEDURE sp2;
-Procedure sql_mode Create Procedure
-sp2 ALLOW_INVALID_DATES CREATE PROCEDURE `sp2`()
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+sp2 ALLOW_INVALID_DATES CREATE DEFINER=`root`@`localhost` PROCEDURE `sp2`()
BEGIN
declare a datetime;
set a = '2005-03-14 01:01:02';
insert into temp_table values(a);
-END
+END latin1 latin1_swedish_ci latin1_swedish_ci
set @@sql_mode = 'traditional';
CALL sp2 ();
SELECT * from temp_table;
@@ -20498,15 +21977,15 @@ set b = 5;
SELECT not 1 between a and b;
END//
show CREATE PROCEDURE sp3;
-Procedure sql_mode Create Procedure
-sp3 HIGH_NOT_PRECEDENCE CREATE PROCEDURE `sp3`()
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+sp3 HIGH_NOT_PRECEDENCE CREATE DEFINER=`root`@`localhost` PROCEDURE `sp3`()
BEGIN
declare a int signed;
declare b int unsigned;
set a = -5;
set b = 5;
SELECT not 1 between a and b;
-END
+END latin1 latin1_swedish_ci latin1_swedish_ci
set @@sql_mode='';
CALL sp3();
not 1 between a and b
@@ -20541,8 +22020,8 @@ set c = b/a;
show warnings;
END//
show CREATE PROCEDURE sp4;
-Procedure sql_mode Create Procedure
-sp4 REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ANSI,ERROR_FOR_DIVISION_BY_ZERO CREATE PROCEDURE "sp4"()
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+sp4 REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ANSI,ERROR_FOR_DIVISION_BY_ZERO CREATE DEFINER="root"@"localhost" PROCEDURE "sp4"()
BEGIN
declare a int;
declare b int;
@@ -20551,7 +22030,7 @@ set a = 0;
set b = 1;
set c = b/a;
show warnings;
-END
+END latin1 latin1_swedish_ci latin1_swedish_ci
set @@sql_mode='';
CALL sp4();
Level Code Message
@@ -20589,37 +22068,37 @@ set @x=i1;
set @y=@x;
END//
show CREATE PROCEDURE sp6a;
-Procedure sql_mode Create Procedure
-sp6a CREATE PROCEDURE `sp6a`(i1 longtext, out i2 mediumint , inout i3 longblob, in i4 year, out i5 real)
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+sp6a CREATE DEFINER=`root`@`localhost` PROCEDURE `sp6a`(i1 longtext, out i2 mediumint , inout i3 longblob, in i4 year, out i5 real)
BEGIN
set @x=i1;
set @y=@x;
-END
+END latin1 latin1_swedish_ci latin1_swedish_ci
show CREATE PROCEDURE sp6b;
-Procedure sql_mode Create Procedure
-sp6b CREATE PROCEDURE `sp6b`(out i1 longtext, out i2 mediumint , out i3 longblob, out i4 year, out i5 real)
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+sp6b CREATE DEFINER=`root`@`localhost` PROCEDURE `sp6b`(out i1 longtext, out i2 mediumint , out i3 longblob, out i4 year, out i5 real)
DETERMINISTIC
BEGIN
set @x=i1;
set @y=@x;
-END
+END latin1 latin1_swedish_ci latin1_swedish_ci
show CREATE PROCEDURE sp6c;
-Procedure sql_mode Create Procedure
-sp6c CREATE PROCEDURE `sp6c`(inout i1 longtext, inout i2 mediumint , inout i3 longblob, inout i4 year, inout i5 real)
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+sp6c CREATE DEFINER=`root`@`localhost` PROCEDURE `sp6c`(inout i1 longtext, inout i2 mediumint , inout i3 longblob, inout i4 year, inout i5 real)
COMMENT 'this is a comment'
BEGIN
set @x=i1;
set @y=@x;
-END
+END latin1 latin1_swedish_ci latin1_swedish_ci
SHOW PROCEDURE status like 'sp6a';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp6a PROCEDURE root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp6a PROCEDURE root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
SHOW PROCEDURE status like 'sp6b';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp6b PROCEDURE root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp6b PROCEDURE root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
SHOW PROCEDURE status like 'sp6c';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp6c PROCEDURE root@localhost modified created DEFINER this is a comment
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp6c PROCEDURE root@localhost modified created DEFINER this is a comment latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE sp6a;
DROP PROCEDURE sp6b;
DROP PROCEDURE sp6c;
@@ -20633,8 +22112,8 @@ set @x=i1;
set @y=@x;
END//
SHOW PROCEDURE status like 'sp6';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp6 PROCEDURE root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp6 PROCEDURE root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE sp6;
Testcase 4.8.3:
@@ -20659,8 +22138,8 @@ set @y=@x;
return 0;
END//
show function status like 'sp6';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp6 FUNCTION root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp6 FUNCTION root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION sp6;
Testcase 4.8.5:
@@ -20673,7 +22152,7 @@ Testcase 4.8.6:
--------------------------------------------------------------------------------
DROP PROCEDURE IF EXISTS sp6;
show procedure status like 'sp6';
-Db Name Type Definer Modified Created Security_type Comment
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
Testcase 4.8.7:
--------------------------------------------------------------------------------
@@ -20694,7 +22173,7 @@ BEGIN
return i1;
END//
show procedure status like 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
DROP FUNCTION fn1;
Testcase 4.8.9:
@@ -20708,8 +22187,8 @@ BEGIN
return i1;
END//
SHOW FUNCTION STATUS LIKE 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc fn1 FUNCTION root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc fn1 FUNCTION root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION fn1;
Testcase 4.8.11:
@@ -20738,7 +22217,7 @@ Testcase 4.8.13:
--------------------------------------------------------------------------------
DROP FUNCTION IF EXISTS f1000;
SHOW FUNCTION STATUS LIKE 'f1000';
-Db Name Type Definer Modified Created Security_type Comment
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
Testcase 4.8.14:
--------------------------------------------------------------------------------
@@ -20760,7 +22239,7 @@ set @x=i1;
set @y=@x;
END//
show function status like 'sp6';
-Db Name Type Definer Modified Created Security_type Comment
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
DROP PROCEDURE sp6;
Testcase 4.8.16:
@@ -20777,8 +22256,8 @@ END//
alter procedure sp6 sql security invoker;
alter procedure sp6 comment 'this is a new comment';
SHOW PROCEDURE status like 'sp6';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp6 PROCEDURE root@localhost modified created INVOKER this is a new comment
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp6 PROCEDURE root@localhost modified created INVOKER this is a new comment latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE sp6;
Testcase 4.8.18:
@@ -20790,12 +22269,12 @@ return x;
END//
alter function fn1 sql security invoker;
show create function fn1;
-Function sql_mode Create Function
-fn1 CREATE FUNCTION `fn1`(x int) RETURNS int(11)
+Function sql_mode Create Function character_set_client collation_connection Database Collation
+fn1 CREATE DEFINER=`root`@`localhost` FUNCTION `fn1`(x int) RETURNS int(11)
SQL SECURITY INVOKER
BEGIN
return x;
-END
+END latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION fn1;
Testcase 4.8.19:
@@ -20808,8 +22287,8 @@ END//
alter function fn1 sql security invoker;
alter function fn1 comment 'this is a function 3242#@%$#@';
show function status like 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc fn1 FUNCTION root@localhost modified created INVOKER this is a function 3242#@%$#@
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc fn1 FUNCTION root@localhost modified created INVOKER this is a function 3242#@%$#@ latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION fn1;
Testcase 4.8.20:
@@ -20822,13 +22301,13 @@ set @y=@x;
END//
alter procedure sp6 comment 'this is simple';
show CREATE PROCEDURE sp6;
-Procedure sql_mode Create Procedure
-sp6 CREATE PROCEDURE `sp6`(i1 int , i2 int)
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+sp6 CREATE DEFINER=`root`@`localhost` PROCEDURE `sp6`(i1 int , i2 int)
COMMENT 'this is simple'
BEGIN
set @x=i1;
set @y=@x;
-END
+END latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE sp6;
Testcase 4.8.21:
@@ -20853,7 +22332,7 @@ set @y=@x;
END//
DROP PROCEDURE sp6;
SHOW PROCEDURE status like 'sp6';
-Db Name Type Definer Modified Created Security_type Comment
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
Testcase 4.8.23:
--------------------------------------------------------------------------------
@@ -20875,7 +22354,7 @@ return i1;
END//
DROP FUNCTION fn1;
SHOW FUNCTION STATUS LIKE 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
Section 3.1.9 - Routine body checks:
--------------------------------------------------------------------------------
@@ -20894,16 +22373,16 @@ SELECT * from t9 limit 0, 100;
END//
CALL sp6 (10, 20, 30, 40, 50);
f1 f2 f3
--5000 a` -5000
--4999 aaa -4999
--4998 abaa -4998
--4997 acaaa -4997
--4996 adaaaa -4996
--4995 aeaaaaa -4995
--4994 afaaaaaa -4994
--4993 agaaaaaaa -4993
--4992 a^aaaaaaaa -4992
-4991 a_aaaaaaaaa -4991
+-4992 a^aaaaaaaa -4992
+-4993 agaaaaaaa -4993
+-4994 afaaaaaa -4994
+-4995 aeaaaaa -4995
+-4996 adaaaa -4996
+-4997 acaaa -4997
+-4998 abaa -4998
+-4999 aaa -4999
+-5000 a` -5000
DROP PROCEDURE sp6;
Testcase 4.9.2:
@@ -21363,9 +22842,16 @@ until done END repeat;
SELECT done;
close cur1;
END//
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+CALL h1();
+done
+0
+done
+1
+done
+1
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.14:
--------------------------------------------------------------------------------
@@ -21392,9 +22878,16 @@ until done END repeat;
SELECT done;
close cur1;
END//
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+CALL h1();
+done
+0
+done
+1
+done
+1
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.15:
--------------------------------------------------------------------------------
@@ -21422,9 +22915,16 @@ until done END repeat;
SELECT done;
close cur1;
END//
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+CALL h1();
+done
+0
+@x=1
+0
+done
+1
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.16:
--------------------------------------------------------------------------------
@@ -21452,17 +22952,16 @@ until done END repeat;
SELECT done;
close cur1;
END//
-CALL h1()
-# cleanup;
+CALL h1();
done
0
@x=1
0
done
1
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.17:
--------------------------------------------------------------------------------
@@ -21490,9 +22989,9 @@ done
0
done
1
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.18:
--------------------------------------------------------------------------------
@@ -21520,9 +23019,9 @@ done
0
done
1
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.19:
--------------------------------------------------------------------------------
@@ -21550,9 +23049,9 @@ END//
CALL h1();
done
0
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.20:
--------------------------------------------------------------------------------
@@ -21580,9 +23079,9 @@ END//
CALL h1();
done
0
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.21:
--------------------------------------------------------------------------------
@@ -21610,9 +23109,9 @@ done
0
done
1
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.22:
--------------------------------------------------------------------------------
@@ -21641,9 +23140,9 @@ done
0
done @x
1 1
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.23:
--------------------------------------------------------------------------------
@@ -21671,9 +23170,9 @@ END//
CALL h1();
done
0
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.24:
--------------------------------------------------------------------------------
@@ -21701,9 +23200,9 @@ END//
CALL h1();
done
0
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.25:
--------------------------------------------------------------------------------
@@ -21728,9 +23227,9 @@ END//
CALL h1();
done @x
1 1
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.26:
--------------------------------------------------------------------------------
@@ -21755,9 +23254,9 @@ END//
CALL h1();
done @x
1 1
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.27:
--------------------------------------------------------------------------------
@@ -21780,9 +23279,9 @@ set @x=1;
SELECT done, @x;
END//
CALL h1();
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.28:
--------------------------------------------------------------------------------
@@ -21805,9 +23304,9 @@ set @x=1;
SELECT done, @x;
END//
CALL h1();
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+drop table IF EXISTS res_t1;
+drop table IF EXISTS res_t2;
Testcase 4.11.29:
--------------------------------------------------------------------------------
@@ -21835,9 +23334,9 @@ END//
CALL h1();
done @x
1 1
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+drop table IF EXISTS res_t1;
+drop table IF EXISTS res_t2;
Testcase 4.11.30:
--------------------------------------------------------------------------------
@@ -21865,9 +23364,9 @@ END//
CALL h1();
done @x
1 1
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+drop table IF EXISTS res_t1;
+drop table IF EXISTS res_t2;
Testcase 4.11.31:
--------------------------------------------------------------------------------
@@ -21893,9 +23392,9 @@ set @x=1;
SELECT done, @x;
END//
CALL h1();
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+drop table IF EXISTS res_t1;
+drop table IF EXISTS res_t2;
Testcase 4.11.32:
--------------------------------------------------------------------------------
@@ -21921,9 +23420,9 @@ set @x=1;
SELECT done, @x;
END//
CALL h1();
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.33:
--------------------------------------------------------------------------------
@@ -21948,7 +23447,7 @@ set @x=1;
SELECT done, @x;
END//
ERROR 42000: Duplicate condition: condname
-drop table res_t1;
+DROP TABLE IF EXISTS res_t1;
Testcase 4.11.35:
--------------------------------------------------------------------------------
@@ -21973,7 +23472,21 @@ insert into res_t1 values (3, 'c');
END begin2_label;
END begin1_label//
ERROR 42000: Bad SQLSTATE: '020'
-drop table res_t1;
+CREATE PROCEDURE h1 ()
+begin1_label:BEGIN
+declare condname1 condition for sqlstate '020';
+declare condname2 condition for sqlstate 'wewe';
+declare condname3 condition for 9999;
+set @var2 = 1;
+insert into res_t1 values (2, 'b');
+begin2_label: BEGIN
+declare continue handler for sqlstate '90000023' set @var3= 1;
+set @var4 = 1;
+insert into res_t1 values (3, 'c');
+END begin2_label;
+END begin1_label//
+ERROR 42000: Bad SQLSTATE: '020'
+DROP TABLE IF EXISTS res_t1;
Testcase 4.11.36:
--------------------------------------------------------------------------------
@@ -21989,7 +23502,7 @@ set x1 = 2;
END;
SELECT @x, x1;
END//
-DROP PROCEDURE h1;
+DROP PROCEDURE IF EXISTS h1;
Testcase 4.11.40:
--------------------------------------------------------------------------------
@@ -22010,7 +23523,7 @@ declare exit handler for condname2 set x5 = 1;
END//
ERROR 42000: Duplicate handler declared in the same block
DROP PROCEDURE IF EXISTS h1;
-drop table res_t1;
+DROP TABLE IF EXISTS res_t1;
Testcase 4.11.41:
--------------------------------------------------------------------------------
@@ -22026,6 +23539,9 @@ set x1 = 2;
END;
SELECT @x, x1;
END//
+CALL h1();
+@x x1
+0 2
DROP PROCEDURE IF EXISTS h1;
* Testcase 3.1.2.53 (4.11.42):
@@ -22076,8 +23592,8 @@ CALL h1();
SELECT @done, @x;
@done @x
1 1
-DROP PROCEDURE h1;
-DROP TABLE res_t1;
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
--source suite/funcs_1/storedproc/cleanup_sp_tb.inc
--------------------------------------------------------------------------------
diff --git a/mysql-test/suite/funcs_1/r/innodb_storedproc_02.result b/mysql-test/suite/funcs_1/r/innodb_storedproc_02.result
index 60ea7393c73..7458e55007d 100755..100644
--- a/mysql-test/suite/funcs_1/r/innodb_storedproc_02.result
+++ b/mysql-test/suite/funcs_1/r/innodb_storedproc_02.result
@@ -1,8 +1,6 @@
--source suite/funcs_1/storedproc/load_sp_tb.inc
--------------------------------------------------------------------------------
-SET @@global.max_heap_table_size=4294967295;
-SET @@session.max_heap_table_size=4294967295;
--source suite/funcs_1/storedproc/cleanup_sp_tb.inc
--------------------------------------------------------------------------------
@@ -11,20 +9,25 @@ 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 = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t1;
-create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t2;
-create table t3(f1 char(20),f2 char(20),f3 integer) engine = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t3.txt' into table t3;
-create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t4;
+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_ln/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_ln/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_ln/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_ln/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 = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t6;
+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_ln/funcs_1/t4.txt' into table t6;
USE db_storedproc;
-create table t7 (f1 char(20), f2 char(25), f3 date, f4 int) engine = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t7;
+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_ln/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
@@ -36,8 +39,9 @@ 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 = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t8;
+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_ln/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
@@ -49,12 +53,14 @@ 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 = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t9.txt' into table t9;
-create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t10;
-create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t11;
+create table t9(f1 int, f2 char(25), f3 int) engine = <engine_to_be_tested>;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/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_ln/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_ln/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:
@@ -700,7 +706,7 @@ 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
+“01“ is always exactly equivalent in action to a handler with an SQLWARNING
condition.
--------------------------------------------------------------------------------
DROP PROCEDURE IF EXISTS sp0;
@@ -799,7 +805,7 @@ 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
+“02“ is always exactly equivalent in action to a handler with a NOT FOUND
condition.
--------------------------------------------------------------------------------
DROP PROCEDURE IF EXISTS sp0;
@@ -907,7 +913,7 @@ 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
+anything other that “01“ or “02“ is always exactly equivalent in action to a
handler with an SQLEXCEPTION condition.
--------------------------------------------------------------------------------
DROP PROCEDURE IF EXISTS sp0;
@@ -1196,16 +1202,16 @@ declare cur2 cursor for SELECT f1, f2, f4, f5 from t2 where f4 >= -5000 order by
open cur1;
open cur2;
BEGIN
-declare continue handler for sqlstate '02000' set count=1;
+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;
+set count = 4;
BEGIN
-while count> 0 do
+while count > 0 do
fetch cur1 into newf1, newf2, newf4, newf5;
SELECT '-2-', count, newf1, newf2, newf4, newf5;
-set count = count- 1;
+set count = count - 1;
END while;
SELECT '-3-', count, newf1, newf2, newf4, newf4;
END;
diff --git a/mysql-test/suite/funcs_1/r/innodb_storedproc_03.result b/mysql-test/suite/funcs_1/r/innodb_storedproc_03.result
index fe400ceeb6d..53e25441e2e 100755..100644
--- a/mysql-test/suite/funcs_1/r/innodb_storedproc_03.result
+++ b/mysql-test/suite/funcs_1/r/innodb_storedproc_03.result
@@ -1,8 +1,6 @@
--source suite/funcs_1/storedproc/load_sp_tb.inc
--------------------------------------------------------------------------------
-SET @@global.max_heap_table_size=4294967295;
-SET @@session.max_heap_table_size=4294967295;
--source suite/funcs_1/storedproc/cleanup_sp_tb.inc
--------------------------------------------------------------------------------
@@ -11,20 +9,25 @@ 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 = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t1;
-create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t2;
-create table t3(f1 char(20),f2 char(20),f3 integer) engine = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t3.txt' into table t3;
-create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t4;
+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_ln/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_ln/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_ln/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_ln/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 = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t6;
+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_ln/funcs_1/t4.txt' into table t6;
USE db_storedproc;
-create table t7 (f1 char(20), f2 char(25), f3 date, f4 int) engine = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t7;
+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_ln/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
@@ -36,8 +39,9 @@ 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 = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t8;
+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_ln/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
@@ -49,12 +53,14 @@ 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 = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t9.txt' into table t9;
-create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t10;
-create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t11;
+create table t9(f1 int, f2 char(25), f3 int) engine = <engine_to_be_tested>;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/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_ln/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_ln/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:
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 ce3a882000b..88bddf68e24 100644
--- a/mysql-test/suite/funcs_1/r/innodb_storedproc_06.result
+++ b/mysql-test/suite/funcs_1/r/innodb_storedproc_06.result
@@ -1,8 +1,6 @@
--source suite/funcs_1/storedproc/load_sp_tb.inc
--------------------------------------------------------------------------------
-SET @@global.max_heap_table_size=4294967295;
-SET @@session.max_heap_table_size=4294967295;
--source suite/funcs_1/storedproc/cleanup_sp_tb.inc
--------------------------------------------------------------------------------
@@ -11,20 +9,25 @@ 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 = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t1;
-create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t2;
-create table t3(f1 char(20),f2 char(20),f3 integer) engine = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t3.txt' into table t3;
-create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t4;
+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_ln/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_ln/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_ln/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_ln/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 = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t6;
+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_ln/funcs_1/t4.txt' into table t6;
USE db_storedproc;
-create table t7 (f1 char(20), f2 char(25), f3 date, f4 int) engine = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t7;
+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_ln/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
@@ -36,8 +39,9 @@ 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 = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t8;
+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_ln/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
@@ -49,12 +53,14 @@ 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 = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t9.txt' into table t9;
-create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t10;
-create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t11;
+create table t9(f1 int, f2 char(25), f3 int) engine = <engine_to_be_tested>;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/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_ln/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_ln/funcs_1/t4.txt' into table t11;
Section 3.1.6 - Privilege Checks:
--------------------------------------------------------------------------------
@@ -81,6 +87,7 @@ 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';
@@ -92,6 +99,7 @@ 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';
@@ -117,6 +125,7 @@ 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';
diff --git a/mysql-test/suite/funcs_1/r/innodb_storedproc_07.result b/mysql-test/suite/funcs_1/r/innodb_storedproc_07.result
index cbe20882ec2..c4e8082fd7d 100755..100644
--- a/mysql-test/suite/funcs_1/r/innodb_storedproc_07.result
+++ b/mysql-test/suite/funcs_1/r/innodb_storedproc_07.result
@@ -1,8 +1,6 @@
--source suite/funcs_1/storedproc/load_sp_tb.inc
--------------------------------------------------------------------------------
-SET @@global.max_heap_table_size=4294967295;
-SET @@session.max_heap_table_size=4294967295;
--source suite/funcs_1/storedproc/cleanup_sp_tb.inc
--------------------------------------------------------------------------------
@@ -11,20 +9,25 @@ 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 = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t1;
-create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t2;
-create table t3(f1 char(20),f2 char(20),f3 integer) engine = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t3.txt' into table t3;
-create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t4;
+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_ln/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_ln/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_ln/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_ln/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 = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t6;
+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_ln/funcs_1/t4.txt' into table t6;
USE db_storedproc;
-create table t7 (f1 char(20), f2 char(25), f3 date, f4 int) engine = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t7;
+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_ln/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
@@ -36,8 +39,9 @@ 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 = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t8;
+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_ln/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
@@ -49,12 +53,14 @@ 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 = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t9.txt' into table t9;
-create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t10;
-create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t11;
+create table t9(f1 int, f2 char(25), f3 int) engine = <engine_to_be_tested>;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/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_ln/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_ln/funcs_1/t4.txt' into table t11;
Section 3.1.7 - SQL mode checks:
--------------------------------------------------------------------------------
@@ -90,7 +96,7 @@ INSERT INTO result VALUES (@cur_val_sql_mode, 'value not restored');
END if;
END//
SHOW CREATE PROCEDURE sp1;
-Procedure sql_mode Create Procedure
+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 CREATE DEFINER=`root`@`localhost` PROCEDURE `sp1`()
BEGIN
declare a tinyint;
@@ -104,7 +110,7 @@ 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
+END latin1 latin1_swedish_ci latin1_swedish_ci
set @@sql_mode='';
SHOW VARIABLES LIKE 'sql_mode';
Variable_name Value
@@ -143,12 +149,12 @@ SET @@sql_mode='MAXDB';
SHOW VARIABLES LIKE 'sql_mode';
END//
SHOW CREATE PROCEDURE sp2;
-Procedure sql_mode Create Procedure
+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 CREATE DEFINER=`root`@`localhost` PROCEDURE `sp2`()
BEGIN
SET @@sql_mode='MAXDB';
SHOW VARIABLES LIKE 'sql_mode';
-END
+END latin1 latin1_swedish_ci latin1_swedish_ci
... show value prior calling procedure
SHOW VARIABLES LIKE 'sql_mode';
Variable_name Value
diff --git a/mysql-test/suite/funcs_1/r/innodb_storedproc_08.result b/mysql-test/suite/funcs_1/r/innodb_storedproc_08.result
index 91a3a954f57..0bed3989f13 100755..100644
--- a/mysql-test/suite/funcs_1/r/innodb_storedproc_08.result
+++ b/mysql-test/suite/funcs_1/r/innodb_storedproc_08.result
@@ -1,8 +1,6 @@
--source suite/funcs_1/storedproc/load_sp_tb.inc
--------------------------------------------------------------------------------
-SET @@global.max_heap_table_size=4294967295;
-SET @@session.max_heap_table_size=4294967295;
--source suite/funcs_1/storedproc/cleanup_sp_tb.inc
--------------------------------------------------------------------------------
@@ -11,20 +9,25 @@ 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 = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t1;
-create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t2;
-create table t3(f1 char(20),f2 char(20),f3 integer) engine = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t3.txt' into table t3;
-create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t4;
+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_ln/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_ln/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_ln/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_ln/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 = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t6;
+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_ln/funcs_1/t4.txt' into table t6;
USE db_storedproc;
-create table t7 (f1 char(20), f2 char(25), f3 date, f4 int) engine = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t7;
+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_ln/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
@@ -36,8 +39,9 @@ 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 = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t8;
+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_ln/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
@@ -49,12 +53,14 @@ 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 = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t9.txt' into table t9;
-create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t10;
-create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t11;
+create table t9(f1 int, f2 char(25), f3 int) engine = <engine_to_be_tested>;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/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_ln/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_ln/funcs_1/t4.txt' into table t11;
Section 3.1.8 - SHOW statement checks:
--------------------------------------------------------------------------------
@@ -122,6 +128,9 @@ 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 NULL
ROUTINE_SCHEMA db_storedproc
@@ -146,6 +155,9 @@ 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 NULL
ROUTINE_SCHEMA db_storedproc
@@ -168,6 +180,9 @@ 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 NULL
ROUTINE_SCHEMA db_storedproc
@@ -190,6 +205,9 @@ 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
@@ -199,6 +217,9 @@ 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
@@ -210,6 +231,9 @@ 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
@@ -217,6 +241,9 @@ 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
@@ -226,6 +253,9 @@ Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_2`(i1 int)
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
@@ -235,6 +265,9 @@ 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
@@ -243,6 +276,9 @@ 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
@@ -252,6 +288,9 @@ 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
@@ -260,6 +299,9 @@ 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:
--------------------------
@@ -304,6 +346,9 @@ 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 NULL
ROUTINE_SCHEMA db_storedproc
@@ -328,6 +373,9 @@ 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 NULL
ROUTINE_SCHEMA db_storedproc
@@ -350,6 +398,9 @@ 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 NULL
ROUTINE_SCHEMA db_storedproc
@@ -372,6 +423,9 @@ 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
@@ -384,6 +438,9 @@ 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
@@ -395,6 +452,9 @@ 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
@@ -404,6 +464,9 @@ 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
@@ -413,6 +476,9 @@ Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_2`(i1 int)
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
@@ -422,6 +488,9 @@ 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
@@ -430,6 +499,9 @@ 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
@@ -439,6 +511,9 @@ 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
@@ -447,6 +522,9 @@ 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:
--------------------------------------------
@@ -479,6 +557,9 @@ 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 NULL
ROUTINE_SCHEMA db_storedproc
@@ -503,6 +584,9 @@ 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 NULL
ROUTINE_SCHEMA db_storedproc
@@ -525,6 +609,9 @@ 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 NULL
ROUTINE_SCHEMA db_storedproc
@@ -547,6 +634,9 @@ 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
@@ -559,6 +649,9 @@ 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
@@ -569,6 +662,9 @@ 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
@@ -578,6 +674,9 @@ 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
@@ -587,6 +686,9 @@ Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_2`(i1 int)
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
@@ -596,6 +698,9 @@ 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
@@ -604,6 +709,9 @@ 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
@@ -613,6 +721,9 @@ 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
@@ -621,6 +732,9 @@ 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
-----------
diff --git a/mysql-test/suite/funcs_1/r/innodb_storedproc_10.result b/mysql-test/suite/funcs_1/r/innodb_storedproc_10.result
index 5bb5b3cbbc2..163bae36bed 100755..100644
--- a/mysql-test/suite/funcs_1/r/innodb_storedproc_10.result
+++ b/mysql-test/suite/funcs_1/r/innodb_storedproc_10.result
@@ -1,8 +1,6 @@
--source suite/funcs_1/storedproc/load_sp_tb.inc
--------------------------------------------------------------------------------
-SET @@global.max_heap_table_size=4294967295;
-SET @@session.max_heap_table_size=4294967295;
--source suite/funcs_1/storedproc/cleanup_sp_tb.inc
--------------------------------------------------------------------------------
@@ -11,20 +9,25 @@ 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 = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t1;
-create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t2;
-create table t3(f1 char(20),f2 char(20),f3 integer) engine = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t3.txt' into table t3;
-create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t4;
+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_ln/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_ln/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_ln/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_ln/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 = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t6;
+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_ln/funcs_1/t4.txt' into table t6;
USE db_storedproc;
-create table t7 (f1 char(20), f2 char(25), f3 date, f4 int) engine = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t7;
+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_ln/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
@@ -36,8 +39,9 @@ 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 = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t8;
+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_ln/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
@@ -49,12 +53,14 @@ 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 = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t9.txt' into table t9;
-create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t10;
-create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t11;
+create table t9(f1 int, f2 char(25), f3 int) engine = <engine_to_be_tested>;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/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_ln/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_ln/funcs_1/t4.txt' into table t11;
Section 3.1.10 - CALL checks:
--------------------------------------------------------------------------------
@@ -95,6 +101,8 @@ 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();
@@ -114,6 +122,8 @@ 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';
@@ -131,6 +141,7 @@ 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;
@@ -178,6 +189,8 @@ 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()
@@ -205,49 +218,72 @@ 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 ORDER BY f4;
+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
-a^aaaaaaaa a^aaaaaaaa 1000-01-09 -4992 a^aaaaaaaa -4992
-a_aaaaaaaaa a_aaaaaaaaa 1000-01-10 -4991 a_aaaaaaaaa -4991
-abc abc 2005-10-03 100 uvw 1000
CALL sp_ins_3();
SELECT row_count();
row_count()
1
-SELECT * FROM temp ORDER BY f4;
+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
-a^aaaaaaaa a^aaaaaaaa 1000-01-09 -4992 a^aaaaaaaa -4992
-a_aaaaaaaaa a_aaaaaaaaa 1000-01-10 -4991 a_aaaaaaaaa -4991
-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
CALL sp_upd();
SELECT row_count();
row_count()
4
-SELECT * FROM temp ORDER BY f4;
+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
@@ -256,8 +292,6 @@ 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
-a^aaaaaaaa a^aaaaaaaa 1000-01-09 -4992 a^aaaaaaaa -4992
-a_aaaaaaaaa a_aaaaaaaaa 1000-01-10 -4991 a_aaaaaaaaa -4991
updated abc 2005-10-03 100 uvw 1000
updated xyz 1949-05-23 100 uvw 1000
updated xyz 1989-11-09 100 uvw 1000
@@ -279,8 +313,10 @@ COUNT( f1 ) f1
SELECT row_count();
row_count()
3
-SELECT * FROM temp ORDER BY f4;
+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
@@ -289,26 +325,73 @@ 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
-a^aaaaaaaa a^aaaaaaaa 1000-01-09 -4992 a^aaaaaaaa -4992
-a_aaaaaaaaa a_aaaaaaaaa 1000-01-10 -4991 a_aaaaaaaaa -4991
+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
-qwe xyz 1998-03-26 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()
+-1
+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
+Ensure that the mysql_affected_rows() C API function always returns the correct
number of rows affected by the execution of a stored procedure.
--------------------------------------------------------------------------------
diff --git a/mysql-test/suite/funcs_1/r/innodb_trig_0102.result b/mysql-test/suite/funcs_1/r/innodb_trig_0102.result
index 5a4b179144f..1f7a5e6262d 100644
--- a/mysql-test/suite/funcs_1/r/innodb_trig_0102.result
+++ b/mysql-test/suite/funcs_1/r/innodb_trig_0102.result
@@ -1,97 +1,97 @@
-SET @NO_REFRESH = IF( '' = '', 0, 1);
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 tinytext,
-f122 text,
-f123 mediumtext,
-f124 longtext unicode,
-f125 tinyblob,
-f126 blob,
-f127 mediumblob,
-f128 longblob,
-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)
+f118 char not null DEFAULT 'a',
+f119 char binary not null DEFAULT b'101',
+f120 char ascii not null DEFAULT b'101',
+f121 tinytext,
+f122 text,
+f123 mediumtext,
+f124 longtext unicode,
+f125 tinyblob,
+f126 blob,
+f127 mediumblob,
+f128 longblob,
+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 = innodb;
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 'MYSQL_TEST_DIR/suite/funcs_1/data/innodb_tb3.txt' into table tb3 ;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/innodb_tb3.txt'
+into table tb3;
Testcase: 3.5.1.1:
------------------
use test;
-Create trigger trg1_1 BEFORE INSERT
+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
+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,
+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
+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
+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
+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)
+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
@@ -104,9 +104,9 @@ 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
+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
@@ -114,7 +114,7 @@ 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)
+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;
@@ -142,7 +142,7 @@ delete from tb3 where f121='Test 3.5.1.1';
Testcase: 3.5.1.2:
------------------
-Create trigger trg_1 after insert
+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;
@@ -195,7 +195,7 @@ drop table if exists t1;
Warnings:
Note 1051 Unknown table 't1'
create table t1 (f1 int, f2 char(25),f3 int) engine=innodb;
-CREATE TRIGGER trg5_1 BEFORE INSERT on test.t1
+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';
@@ -232,7 +232,7 @@ 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
+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;
@@ -240,11 +240,11 @@ create database trig_db;
use trig_db;
create table t1 (f1 integer) engine = innodb;
use test;
-CREATE TRIGGER trig_db.trg6_2 AFTER INSERT on tb3
+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
+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;
@@ -268,9 +268,9 @@ drop table if exists t1;
drop table if exists t2;
create table t1 (f1 char(50), f2 integer) engine = innodb;
create table t2 (f1 char(50), f2 integer) engine = innodb;
-create trigger trig before insert on t1
+create trigger trig before insert on t1
for each row set new.f1 ='trig t1';
-create trigger trig before update on t2
+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);
@@ -300,15 +300,15 @@ create database trig_db2;
create database trig_db3;
use trig_db1;
create table t1 (f1 char(50), f2 integer) engine = innodb;
-create trigger trig before insert on t1
+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 = innodb;
-create trigger trig before insert on t2
+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 = innodb;
-create trigger trig before insert on t1
+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;
@@ -347,11 +347,11 @@ create database trig_db2;
use trig_db1;
create table t1 (f1 char(50), f2 integer) engine = innodb;
create table trig_db2.t1 (f1 char(50), f2 integer) engine = innodb;
-create trigger trig1_b before insert on t1
+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
+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
+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 order by trigger_name;
@@ -367,3 +367,4 @@ select @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/innodb_trig_03.result b/mysql-test/suite/funcs_1/r/innodb_trig_03.result
index c72a792a3a5..58fbdc053b7 100644
--- a/mysql-test/suite/funcs_1/r/innodb_trig_03.result
+++ b/mysql-test/suite/funcs_1/r/innodb_trig_03.result
@@ -1,71 +1,71 @@
-SET @NO_REFRESH = IF( '' = '', 0, 1);
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 tinytext,
-f122 text,
-f123 mediumtext,
-f124 longtext unicode,
-f125 tinyblob,
-f126 blob,
-f127 mediumblob,
-f128 longblob,
-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)
+f118 char not null DEFAULT 'a',
+f119 char binary not null DEFAULT b'101',
+f120 char ascii not null DEFAULT b'101',
+f121 tinytext,
+f122 text,
+f123 mediumtext,
+f124 longtext unicode,
+f125 tinyblob,
+f126 blob,
+f127 mediumblob,
+f128 longblob,
+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 = innodb;
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 'MYSQL_TEST_DIR/suite/funcs_1/data/innodb_tb3.txt' into table tb3 ;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/innodb_tb3.txt'
+into table tb3;
Testcase 3.5.3:
---------------
@@ -104,7 +104,7 @@ 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';
-Got one of the listed errors
+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;
@@ -136,7 +136,7 @@ Testcase 3.5.3.6:
-----------------
use priv_db;
drop trigger trg1_2;
-Got one of the listed errors
+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;
@@ -184,15 +184,14 @@ 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
-
-Trigger create disabled - should fail - Bug 8884
-------------------------------------------------
+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
-insert 3.5.3.7-1a
trig 3.5.3.2_2-yes
trig 3.5.3.2_2-yes
drop trigger trg4a_1;
@@ -210,7 +209,6 @@ 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-1a
trig 3.5.3.2_2-yes
trig 3.5.3.2_2-yes
trig 3.5.3.7-2a
@@ -239,29 +237,27 @@ 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;
-
-Trigger create disabled - should fail - Bug 8884
-------------------------------------------------
+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-1a
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-1a
+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 3.5.3.7-1b
drop trigger trg4b_1;
show grants;
Grants for test_yesprivs@localhost
@@ -275,23 +271,21 @@ 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-1a
+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 3.5.3.7-1b
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-1a
+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
-update 3.5.3.7-1b
drop trigger trg4b_2;
Testcase 3.5.3.7c
@@ -317,21 +311,19 @@ 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;
-
-Trigger create disabled - should fail - Bug 8884
-------------------------------------------------
+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-1a
-insert 3.5.3.7-1c
+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
-update 3.5.3.7-1b
drop trigger trg4c_1;
show grants;
Grants for test_yesprivs@localhost
@@ -345,14 +337,12 @@ 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-1a
-insert 3.5.3.7-1c
+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
-update 3.5.3.7-1b
drop trigger trg4c_2;
Testcase 3.5.3.7d:
@@ -376,23 +366,20 @@ 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;
-
-Trigger create disabled - should fail - Bug 8884
-------------------------------------------------
+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-1a
-insert 3.5.3.7-1c
-insert 3.5.3.7-1d
+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
-update 3.5.3.7-1b
drop trigger trg4d_1;
show grants;
Grants for test_yesprivs@localhost
@@ -406,16 +393,13 @@ 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-1a
-insert 3.5.3.7-1c
-insert 3.5.3.7-1d
+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
-update 3.5.3.7-1b
drop trigger trg4d_2;
Testcase 3.5.3.8a:
@@ -440,14 +424,14 @@ 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 ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-
-Trigger create disabled - should fail - Bug 8887
-------------------------------------------------
+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
@@ -495,15 +479,15 @@ 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;
-
-Trigger create disabled - should fail - Bug 8887
-------------------------------------------------
+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
@@ -550,11 +534,11 @@ 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;
-
-Trigger create disabled - should fail - Bug 8887
-------------------------------------------------
+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
@@ -596,11 +580,11 @@ 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;
-
-Trigger create disabled - should fail - Bug 8887
-------------------------------------------------
+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
@@ -714,3 +698,4 @@ drop database if exists priv_db;
drop user test_yesprivs@localhost;
drop user test_noprivs@localhost;
drop user test_noprivs;
+DROP TABLE test.tb3;
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 460eb49cfe5..476ccc6ebd8 100644
--- a/mysql-test/suite/funcs_1/r/innodb_trig_03e.result
+++ b/mysql-test/suite/funcs_1/r/innodb_trig_03e.result
@@ -1,4 +1,3 @@
-SET @NO_REFRESH = IF( '' = '', 0, 1);
USE test;
Testcase for db level:
@@ -263,7 +262,7 @@ select current_user;
current_user
root@localhost
show triggers;
-Trigger Event Table Statement Timing Created sql_mode Definer
+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
@@ -296,7 +295,7 @@ select current_user;
current_user
root@localhost
show triggers;
-Trigger Event Table Statement Timing Created sql_mode Definer
+Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
show tables;
Tables_in_priv_db
t1
@@ -317,7 +316,7 @@ select current_user;
current_user
test_yesprivs@localhost
show triggers;
-Trigger Event Table Statement Timing Created sql_mode Definer
+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;
@@ -453,9 +452,9 @@ ERROR 42000: TRIGGER command denied to user 'test_yesprivs'@'localhost' for tabl
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
-trg1_3 INSERT t1 set new.f1 = 'trig 1_3-yes' BEFORE NULL test_yesprivs@localhost
-trg1_4 UPDATE t1 set new.f1 = 'trig 1_4-yes' BEFORE NULL test_yesprivs@localhost
+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
@@ -570,11 +569,9 @@ current_user
test_yesprivs@localhost
use priv_db;
show triggers;
-Trigger Event Table Statement Timing Created sql_mode Definer
-trg1_1 INSERT t1 set new.f1 = 'trig 1_1-yes' BEFORE NULL test_yesprivs@localhost
+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
-NULL priv_db trg1_1 INSERT NULL priv_db t1 0 NULL set new.f1 = 'trig 1_1-yes' ROW BEFORE NULL NULL OLD NEW NULL test_yesprivs@localhost
+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;
@@ -863,7 +860,7 @@ select current_user;
current_user
root@localhost
show triggers;
-Trigger Event Table Statement Timing Created sql_mode Definer
+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
@@ -878,7 +875,7 @@ select current_user;
current_user
test_yesprivs@localhost
show triggers;
-Trigger Event Table Statement Timing Created sql_mode Definer
+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
@@ -990,9 +987,9 @@ select current_user;
current_user
root@localhost
show triggers;
-Trigger Event Table Statement Timing Created sql_mode Definer
+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
+on priv_db.t1 to test_yesprivs@localhost
with grant option;
grant select
on priv_db.t1 to test_useprivs@localhost;
@@ -1217,7 +1214,7 @@ 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 There is no 'not_ex_user'@'localhost' registered
+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
@@ -1255,7 +1252,7 @@ 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 the SUPER privilege for this operation
-create definer=current_user trigger trg1_1
+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');
@@ -1321,7 +1318,7 @@ current_user
test_yesprivs@localhost
use priv_db;
set autocommit=0;
-create definer=current_user trigger trg1_1
+create definer=current_user trigger trg1_1
before INSERT on t1 for each row
set new.f1 = 'trig 1_1-yes';
rollback work;
@@ -1567,7 +1564,7 @@ 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
+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
diff --git a/mysql-test/suite/funcs_1/r/innodb_trig_0407.result b/mysql-test/suite/funcs_1/r/innodb_trig_0407.result
index 8a7ee3dc55d..bd190c7ed2f 100644
--- a/mysql-test/suite/funcs_1/r/innodb_trig_0407.result
+++ b/mysql-test/suite/funcs_1/r/innodb_trig_0407.result
@@ -1,71 +1,71 @@
-SET @NO_REFRESH = IF( '' = '', 0, 1);
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 tinytext,
-f122 text,
-f123 mediumtext,
-f124 longtext unicode,
-f125 tinyblob,
-f126 blob,
-f127 mediumblob,
-f128 longblob,
-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)
+f118 char not null DEFAULT 'a',
+f119 char binary not null DEFAULT b'101',
+f120 char ascii not null DEFAULT b'101',
+f121 tinytext,
+f122 text,
+f123 mediumtext,
+f124 longtext unicode,
+f125 tinyblob,
+f126 blob,
+f127 mediumblob,
+f128 longblob,
+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 = innodb;
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 'MYSQL_TEST_DIR/suite/funcs_1/data/innodb_tb3.txt' into table tb3 ;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/innodb_tb3.txt'
+into table tb3;
Testcase: 3.5:
--------------
@@ -89,7 +89,7 @@ Use db_drop;
create table t1 (f1 char(30)) engine=innodb;
grant INSERT, SELECT on db_drop.t1 to test_general;
Use db_drop;
-Create trigger trg1 BEFORE INSERT on t1
+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');
@@ -128,7 +128,7 @@ drop table if exists t1_433 ;
drop table if exists t1_433a ;
create table t1_433 (f1 char (30)) engine=innodb;
create table t1_433a (f1a char (5)) engine=innodb;
-CREATE TRIGGER trg3 BEFORE INSERT on t1_433 for each row
+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
@@ -149,7 +149,7 @@ create database db_drop4;
Use db_drop4;
create table t1 (f1 char(30)) engine=innodb;
grant INSERT, SELECT on db_drop4.t1 to test_general;
-Create trigger trg4 BEFORE INSERT on t1
+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');
@@ -185,7 +185,7 @@ create database db_drop5;
Use db_drop5;
create table t1 (f1 char(50)) engine=innodb;
grant INSERT, SELECT on t1 to test_general;
-Create trigger trg5 BEFORE INSERT on t1
+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');
@@ -222,7 +222,7 @@ 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
+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;
@@ -230,7 +230,7 @@ drop table t1_temp;
Testcase 3.5.5.3:
-----------------
Create view vw3 as select f118 from tb3;
-Create trigger trg3 before INSERT
+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;
@@ -311,9 +311,9 @@ drop trigger tb3.trg4_2;
Testcase 3.5.7.5 / 3.5.7.6:
---------------------------
-Create trigger trg5_1 BEFORE INSERT
+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
+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');
@@ -331,9 +331,9 @@ 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
+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
+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;
@@ -359,9 +359,9 @@ delete from tb3 where f121='Test 3.5.7.7/8';
Testcase 3.5.7.9/10:
--------------------
-Create trigger trg7_1 BEFORE UPDATE
+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
+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');
@@ -379,9 +379,9 @@ 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
+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
+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;
@@ -409,9 +409,9 @@ 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
+Create trigger trg9_1 BEFORE DELETE
on tb3 for each row set @test_var=@test_var+1;
-Create trigger trg9_2 BEFORE DELETE
+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;
@@ -441,12 +441,12 @@ 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
+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
+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
+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;
@@ -478,3 +478,4 @@ 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/innodb_trig_08.result b/mysql-test/suite/funcs_1/r/innodb_trig_08.result
index 4388950aba1..19e42143a5d 100644
--- a/mysql-test/suite/funcs_1/r/innodb_trig_08.result
+++ b/mysql-test/suite/funcs_1/r/innodb_trig_08.result
@@ -1,71 +1,71 @@
-SET @NO_REFRESH = IF( '' = '', 0, 1);
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 tinytext,
-f122 text,
-f123 mediumtext,
-f124 longtext unicode,
-f125 tinyblob,
-f126 blob,
-f127 mediumblob,
-f128 longblob,
-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)
+f118 char not null DEFAULT 'a',
+f119 char binary not null DEFAULT b'101',
+f120 char ascii not null DEFAULT b'101',
+f121 tinytext,
+f122 text,
+f123 mediumtext,
+f124 longtext unicode,
+f125 tinyblob,
+f126 blob,
+f127 mediumblob,
+f128 longblob,
+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 = innodb;
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 'MYSQL_TEST_DIR/suite/funcs_1/data/innodb_tb3.txt' into table tb3 ;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/innodb_tb3.txt'
+into table tb3;
Testcase: 3.5:
--------------
@@ -90,17 +90,17 @@ 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 (
+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=innodb;
-create table t1_u (
+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=innodb;
-create table t1_d (
+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,
@@ -123,26 +123,26 @@ Insert into t1_d values ('f',222,99999,999.99);
use test;
Create trigger trg1 AFTER INSERT on tb3 for each row
BEGIN
-insert into db_test.t1_i
+insert into db_test.t1_i
values (new.f120, new.f136, new.f144, new.f163);
-update db_test.t1_u
+update db_test.t1_u
set u144=new.f144, u163=new.f163
-where u136=new.f136;
+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;
+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)
+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 order by i120;
+select * from db_test.t1_i;
i120 i136 i144 i163
1 00222 0000023456 1.050000000000000000000000000000
-select * from db_test.t1_u order by u120;
+select * from db_test.t1_u;
u120 u136 u144 u163
a 00111 0000099999 999.990000000000000000000000000000
b 00222 0000023456 1.050000000000000000000000000000
@@ -150,7 +150,7 @@ 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 order by d120;
+select * from db_test.t1_d;
d120 d136 d144 d163
a 00111 0000099999 999.990000000000000000000000000000
c 00333 0000099999 999.990000000000000000000000000000
@@ -163,7 +163,7 @@ select @test_var;
-----------------------------
Create trigger trg2 BEFORE UPDATE on tb3 for each row
BEGIN
-insert into db_test.t1_i
+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%';
@@ -186,7 +186,7 @@ I 00222 0000023456 1.050000000000000000000000000000
-----------------------------
drop trigger trg2;
Create trigger trg3 BEFORE UPDATE on tb3 for each row
-update db_test.t1_u
+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'
@@ -208,7 +208,7 @@ U 00222 0000023456 1.050000000000000000000000000000
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,
+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%';
@@ -223,10 +223,10 @@ c 00333 0000099999 999.990000000000000000000000000000
-------------------------------
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
+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,
+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%';
@@ -254,31 +254,31 @@ 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
+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
+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
+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
+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
+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
@@ -298,7 +298,7 @@ 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
+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
@@ -340,54 +340,54 @@ ELSE set @test_var=CONCAT(new.f120, '*', new.f144);
END case;
END//
set @test_var='Empty';
-Insert into tb3 (f120, f122, f136, f144)
+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;
+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)
+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;
+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)
+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;
+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)
+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;
+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)
+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;
+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)
+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;
+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
@@ -407,40 +407,40 @@ 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
+BEGIN
set @counter=0, @flag='Initial';
-Label1: loop
+Label1: loop
if new.f136<new.f144 then
set @counter='Nothing to loop';
-leave Label1;
+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;
+end if;
+end if;
+iterate label1;
set @flag='Final';
-END loop Label1;
+END loop Label1;
END//
-Insert into tb3 (f122, f136, f144)
+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)
+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
+BEGIN
+Label1: loop
set @counter=@counter+1;
-END;
+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 ';
+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;
@@ -450,23 +450,23 @@ Testcase 3.5.8.5-repeat:
------------------------
Create trigger trg6 after insert on tb3 for each row
BEGIN
-rp_label: REPEAT
-SET @counter1 = @counter1 + 1;
+rp_label: REPEAT
+SET @counter1 = @counter1 + 1;
IF (@counter1 MOD 2 = 0) THEN ITERATE rp_label;
END IF;
-SET @counter2 = @counter2 + 1;
+SET @counter2 = @counter2 + 1;
UNTIL @counter1> new.f136 END REPEAT rp_label;
END//
set @counter1= 0, @counter2= 0;
-Insert into tb3 (f122, f136)
+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;
+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;
@@ -475,33 +475,63 @@ 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;
+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;
+SET @counter2 = @counter2 + 1;
END WHILE wl_label//
set @counter1= 0, @counter2= 0;
-Insert into tb3 (f122, f136)
+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;
+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;
+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: (Disabled as a result of bug _____)
------------------------------------------------------
+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/innodb_trig_09.result b/mysql-test/suite/funcs_1/r/innodb_trig_09.result
index 6ea93683847..490afb21d94 100644
--- a/mysql-test/suite/funcs_1/r/innodb_trig_09.result
+++ b/mysql-test/suite/funcs_1/r/innodb_trig_09.result
@@ -1,75 +1,75 @@
-SET @NO_REFRESH = IF( '' = '', 0, 1);
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 tinytext,
-f122 text,
-f123 mediumtext,
-f124 longtext unicode,
-f125 tinyblob,
-f126 blob,
-f127 mediumblob,
-f128 longblob,
-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)
+f118 char not null DEFAULT 'a',
+f119 char binary not null DEFAULT b'101',
+f120 char ascii not null DEFAULT b'101',
+f121 tinytext,
+f122 text,
+f123 mediumtext,
+f124 longtext unicode,
+f125 tinyblob,
+f126 blob,
+f127 mediumblob,
+f128 longblob,
+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 = innodb;
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 'MYSQL_TEST_DIR/suite/funcs_1/data/innodb_tb3.txt' into table tb3 ;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/innodb_tb3.txt'
+into table tb3;
Testcase 3.5.9.1/2:
-------------------
-Create trigger trg1 BEFORE UPDATE on tb3 for each row
+Create trigger trg1 BEFORE UPDATE on tb3 for each row
set new.f142 = 94087, @counter=@counter+1;
TotalRows
10
@@ -81,15 +81,15 @@ NewValuew
0
set @counter=0;
Update tb3 Set f142='1' where f130<100;
-select count(*) as ExpectedChanged, @counter as TrigCounter
+select count(*) as ExpectedChanged, @counter as TrigCounter
from tb3 where f142=94087;
ExpectedChanged TrigCounter
8 8
-select count(*) as ExpectedNotChange from tb3
+select count(*) as ExpectedNotChange from tb3
where f130<100 and f142<>94087;
ExpectedNotChange
0
-select count(*) as NonExpectedChanged from tb3
+select count(*) as NonExpectedChanged from tb3
where f130>=130 and f142=94087;
NonExpectedChanged
0
@@ -117,17 +117,17 @@ set @tr_var_af_118=old.f118, @tr_var_af_121=old.f121,
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)
+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,
+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,
+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
@@ -138,11 +138,11 @@ a NULL Test 3.5.9.3 7 123.170000000000000000000000000000
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,
+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,
+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
@@ -173,17 +173,17 @@ set @tr_var_af_118=new.f118, @tr_var_af_121=new.f121,
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)
+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
+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,
+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,
+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
@@ -193,17 +193,18 @@ a NULL Test 3.5.9.4 7 999 995.240000000000000000000000000000
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
-select f118, f121, f122, f136, f151, f163 from tb3
+ERROR 23000: 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,
+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,
+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
@@ -241,6 +242,7 @@ 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)
@@ -269,3 +271,4 @@ 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/innodb_trig_1011ext.result b/mysql-test/suite/funcs_1/r/innodb_trig_1011ext.result
index 6c9c1fb98c0..927c0d1a1a9 100644
--- a/mysql-test/suite/funcs_1/r/innodb_trig_1011ext.result
+++ b/mysql-test/suite/funcs_1/r/innodb_trig_1011ext.result
@@ -1,71 +1,71 @@
-SET @NO_REFRESH = IF( '' = '', 0, 1);
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 tinytext,
-f122 text,
-f123 mediumtext,
-f124 longtext unicode,
-f125 tinyblob,
-f126 blob,
-f127 mediumblob,
-f128 longblob,
-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)
+f118 char not null DEFAULT 'a',
+f119 char binary not null DEFAULT b'101',
+f120 char ascii not null DEFAULT b'101',
+f121 tinytext,
+f122 text,
+f123 mediumtext,
+f124 longtext unicode,
+f125 tinyblob,
+f126 blob,
+f127 mediumblob,
+f128 longblob,
+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 = innodb;
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 'MYSQL_TEST_DIR/suite/funcs_1/data/innodb_tb3.txt' into table tb3 ;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/innodb_tb3.txt'
+into table tb3;
Testcase 3.5.10.1/2/3:
----------------------
@@ -142,7 +142,7 @@ set @counter= 0;
select @counter as 'Rows Loaded Before';
Rows Loaded Before
0
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t9.txt' into table tb_load;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/t9.txt' into table tb_load;
select @counter as 'Rows Loaded After';
Rows Loaded After
10
@@ -294,8 +294,8 @@ drop table t2;
drop table t3;
drop table t4;
-Testcase y.y.y.4: Recursive trigger/SP references (disabled bug 11889)
-----------------------------------------------------------------------
+Testcase y.y.y.4: Recursive trigger/SP references
+-------------------------------------------------
set @sql_mode='traditional';
create table t1_sp (
count integer,
@@ -397,3 +397,4 @@ 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/innodb_trig_frkey.result b/mysql-test/suite/funcs_1/r/innodb_trig_frkey.result
index b8d2b768cb1..dd43ad3bc99 100644
--- a/mysql-test/suite/funcs_1/r/innodb_trig_frkey.result
+++ b/mysql-test/suite/funcs_1/r/innodb_trig_frkey.result
@@ -1,71 +1,71 @@
-SET @NO_REFRESH = IF( '' = '', 0, 1);
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 tinytext,
-f122 text,
-f123 mediumtext,
-f124 longtext unicode,
-f125 tinyblob,
-f126 blob,
-f127 mediumblob,
-f128 longblob,
-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)
+f118 char not null DEFAULT 'a',
+f119 char binary not null DEFAULT b'101',
+f120 char ascii not null DEFAULT b'101',
+f121 tinytext,
+f122 text,
+f123 mediumtext,
+f124 longtext unicode,
+f125 tinyblob,
+f126 blob,
+f127 mediumblob,
+f128 longblob,
+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 = innodb;
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 'MYSQL_TEST_DIR/suite/funcs_1/data/innodb_tb3.txt' into table tb3 ;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/innodb_tb3.txt'
+into table tb3;
Testcase x.x.x.1:
-----------------
@@ -138,3 +138,4 @@ drop table t2, t1, t0;
Foreign Key tests disabled (bug 11472 - stored in trig_frkey2.test)
-------------------------------------------------------------------
+DROP TABLE test.tb3;
diff --git a/mysql-test/suite/funcs_1/r/innodb_triggers.result b/mysql-test/suite/funcs_1/r/innodb_triggers.result
deleted file mode 100644
index f6f61040e6a..00000000000
--- a/mysql-test/suite/funcs_1/r/innodb_triggers.result
+++ /dev/null
@@ -1,2331 +0,0 @@
-SET @NO_REFRESH = IF( '' = '', 0, 1);
-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 tinytext,
-f122 text,
-f123 mediumtext,
-f124 longtext unicode,
-f125 tinyblob,
-f126 blob,
-f127 mediumblob,
-f128 longblob,
-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 = innodb;
-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 'MYSQL_TEST_DIR/suite/funcs_1/data/innodb_tb3.txt' into table tb3 ;
-
-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;
-connect(localhost,test_general,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-connect(localhost,test_super,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-
-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=innodb;
-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';
-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;
-trigger_name
-trg5_1
-trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWX
-drop trigger trg5_1;
-drop trigger trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ;
-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 = innodb;
-use test;
-CREATE TRIGGER trig_db.trg6_2 AFTER INSERT on tb3
-for each row set @ret_trg6_2 = 5;
-ERROR HY000: Trigger in wrong schema
-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 = innodb;
-create table t2 (f1 char(50), f2 integer) engine = innodb;
-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 = innodb;
-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 = innodb;
-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 = innodb;
-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;
-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;
-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 = innodb;
-create table trig_db2.t1 (f1 char(50), f2 integer) engine = innodb;
-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;
-trigger_schema trigger_name event_object_table
-trig_db1 trig1_b t1
-trig_db1 trig1_a 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;
-
-Testcase 3.5.3:
----------------
-drop database if exists priv_db;
-create database priv_db;
-use priv_db;
-create table t1 (f1 char(20));
-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 SUPER 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, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost;
-grant SUPER 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 SUPER ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT SELECT ON `priv_db`.`t1` TO 'test_yesprivs'@'localhost'
-connect(localhost,test_noprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-connect(localhost,test_yesprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-
-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: Access denied; you need the SUPER privilege for this operation
-use priv_db;
-insert into t1 (f1) values ('insert 3.5.3.2-no');
-select f1 from t1;
-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';
-use priv_db;
-insert into t1 (f1) values ('insert 3.5.3.2-yes');
-select f1 from t1;
-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: Access denied; you need the SUPER privilege for this operation
-use priv_db;
-insert into t1 (f1) values ('insert 3.5.3.6-yes');
-select f1 from t1;
-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;
-f1
-insert 3.5.3.2-no
-trig 3.5.3.2_2-yes
-trig 3.5.3.2_2-yes
-insert 3.5.3.6-no
-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 ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost;
-grant SUPER, UPDATE on *.* to test_yesprivs@localhost;
-show grants for test_yesprivs@localhost;
-Grants for test_yesprivs@localhost
-GRANT UPDATE, SUPER ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-connect(localhost,test_noprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-connect(localhost,test_yesprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-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 ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-select f1 from t1;
-f1
-insert 3.5.3.2-no
-trig 3.5.3.2_2-yes
-trig 3.5.3.2_2-yes
-insert 3.5.3.6-no
-
-Trigger create disabled - should fail - Bug 8884
-------------------------------------------------
-insert into t1 (f1) values ('insert 3.5.3.7-1a');
-select f1 from t1;
-f1
-insert 3.5.3.2-no
-trig 3.5.3.2_2-yes
-trig 3.5.3.2_2-yes
-insert 3.5.3.6-no
-insert 3.5.3.7-1a
-drop trigger trg4a_1;
-use priv_db;
-select current_user;
-current_user
-test_yesprivs@localhost
-show grants;
-Grants for test_yesprivs@localhost
-GRANT UPDATE, SUPER 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;
-f1
-insert 3.5.3.2-no
-trig 3.5.3.2_2-yes
-trig 3.5.3.2_2-yes
-insert 3.5.3.6-no
-insert 3.5.3.7-1a
-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 SUPER 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 SUPER ON *.* TO 'test_noprivs'@'%'
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost;
-grant SUPER 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 SUPER ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT UPDATE ON `priv_db`.* TO 'test_yesprivs'@'localhost'
-connect(localhost,test_noprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-connect(localhost,test_yesprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-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 ON `priv_db`.* TO 'test_noprivs'@'localhost'
-use priv_db;
-
-Trigger create disabled - should fail - Bug 8884
-------------------------------------------------
-insert into t1 (f1) values ('insert 3.5.3.7-1b');
-select f1 from t1;
-f1
-insert 3.5.3.2-no
-trig 3.5.3.2_2-yes
-trig 3.5.3.2_2-yes
-insert 3.5.3.6-no
-insert 3.5.3.7-1a
-trig 3.5.3.7-2a
-insert 3.5.3.7-1b
-update t1 set f1 = 'update 3.5.3.7-1b' where f1 = 'insert 3.5.3.7-1b';
-select f1 from t1;
-f1
-insert 3.5.3.2-no
-trig 3.5.3.2_2-yes
-trig 3.5.3.2_2-yes
-insert 3.5.3.6-no
-insert 3.5.3.7-1a
-trig 3.5.3.7-2a
-update 3.5.3.7-1b
-drop trigger trg4b_1;
-show grants;
-Grants for test_yesprivs@localhost
-GRANT SUPER 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;
-f1
-insert 3.5.3.2-no
-trig 3.5.3.2_2-yes
-trig 3.5.3.2_2-yes
-insert 3.5.3.6-no
-insert 3.5.3.7-1a
-trig 3.5.3.7-2a
-update 3.5.3.7-1b
-insert 3.5.3.7-2b
-update t1 set f1 = 'update 3.5.3.7-2b' where f1 = 'insert 3.5.3.7-2b';
-select f1 from t1;
-f1
-insert 3.5.3.2-no
-trig 3.5.3.2_2-yes
-trig 3.5.3.2_2-yes
-insert 3.5.3.6-no
-insert 3.5.3.7-1a
-trig 3.5.3.7-2a
-update 3.5.3.7-1b
-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 SUPER 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 SUPER ON *.* TO 'test_noprivs'@'%'
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost;
-grant SUPER 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 SUPER ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT UPDATE ON `priv_db`.`t1` TO 'test_yesprivs'@'localhost'
-connect(localhost,test_noprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-connect(localhost,test_yesprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-show grants;
-Grants for test_noprivs@localhost
-GRANT SUPER ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT SELECT, INSERT, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE VIEW, SHOW VIEW ON `priv_db`.`t1` TO 'test_noprivs'@'localhost'
-use priv_db;
-
-Trigger create disabled - should fail - Bug 8884
-------------------------------------------------
-insert into t1 (f1) values ('insert 3.5.3.7-1c');
-select f1 from t1;
-f1
-insert 3.5.3.2-no
-trig 3.5.3.2_2-yes
-trig 3.5.3.2_2-yes
-insert 3.5.3.6-no
-insert 3.5.3.7-1a
-trig 3.5.3.7-2a
-update 3.5.3.7-1b
-trig 3.5.3.7-2b
-insert 3.5.3.7-1c
-drop trigger trg4c_1;
-show grants;
-Grants for test_yesprivs@localhost
-GRANT SUPER 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;
-f1
-insert 3.5.3.2-no
-trig 3.5.3.2_2-yes
-trig 3.5.3.2_2-yes
-insert 3.5.3.6-no
-insert 3.5.3.7-1a
-trig 3.5.3.7-2a
-update 3.5.3.7-1b
-trig 3.5.3.7-2b
-insert 3.5.3.7-1c
-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 SUPER 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 SUPER ON *.* TO 'test_noprivs'@'%'
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost;
-grant SUPER 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 SUPER ON *.* TO 'test_noprivs'@'%'
-connect(localhost,test_noprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-connect(localhost,test_yesprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-show grants;
-Grants for test_noprivs@localhost
-GRANT SUPER 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;
-
-Trigger create disabled - should fail - Bug 8884
-------------------------------------------------
-insert into t1 (f1) values ('insert 3.5.3.7-1d');
-select f1 from t1;
-f1
-insert 3.5.3.2-no
-trig 3.5.3.2_2-yes
-trig 3.5.3.2_2-yes
-insert 3.5.3.6-no
-insert 3.5.3.7-1a
-trig 3.5.3.7-2a
-update 3.5.3.7-1b
-trig 3.5.3.7-2b
-insert 3.5.3.7-1c
-trig 3.5.3.7-2c
-insert 3.5.3.7-1d
-drop trigger trg4d_1;
-show grants;
-Grants for test_yesprivs@localhost
-GRANT SUPER 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;
-f1
-insert 3.5.3.2-no
-trig 3.5.3.2_2-yes
-trig 3.5.3.2_2-yes
-insert 3.5.3.6-no
-insert 3.5.3.7-1a
-trig 3.5.3.7-2a
-update 3.5.3.7-1b
-trig 3.5.3.7-2b
-insert 3.5.3.7-1c
-trig 3.5.3.7-2c
-insert 3.5.3.7-1d
-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 ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost;
-grant SUPER, SELECT on *.* to test_yesprivs@localhost;
-show grants for test_yesprivs@localhost;
-Grants for test_yesprivs@localhost
-GRANT SELECT, SUPER ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-connect(localhost,test_noprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-connect(localhost,test_yesprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-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 ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-
-Trigger create disabled - should fail - Bug 8887
-------------------------------------------------
-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');
-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, SUPER 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 SUPER 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 SUPER 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 ON `priv_db`.* TO 'test_noprivs'@'localhost'
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost;
-grant SUPER 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 SUPER ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT SELECT ON `priv_db`.* TO 'test_yesprivs'@'localhost'
-connect(localhost,test_noprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-connect(localhost,test_yesprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-show grants;
-Grants for test_noprivs@localhost
-GRANT SUPER 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 ON `priv_db`.* TO 'test_noprivs'@'localhost'
-use priv_db;
-
-Trigger create disabled - should fail - Bug 8887
-------------------------------------------------
-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';
-select @test_var;
-@test_var
-before trig 3.5.3.8-1b
-drop trigger trg5b_1;
-show grants;
-Grants for test_yesprivs@localhost
-GRANT SUPER 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 SUPER 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 SUPER ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE VIEW, SHOW VIEW ON `priv_db`.`t1` TO 'test_noprivs'@'localhost'
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost;
-grant SUPER 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 SUPER ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT SELECT ON `priv_db`.`t1` TO 'test_yesprivs'@'localhost'
-connect(localhost,test_noprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-connect(localhost,test_yesprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-show grants;
-Grants for test_noprivs@localhost
-GRANT SUPER ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE VIEW, SHOW VIEW ON `priv_db`.`t1` TO 'test_noprivs'@'localhost'
-use priv_db;
-
-Trigger create disabled - should fail - Bug 8887
-------------------------------------------------
-set @test_var= 'before trig 3.5.3.8-1c';
-insert into t1 (f1) values ('insert 3.5.3.8-1c');
-select @test_var;
-@test_var
-before trig 3.5.3.8-1c
-drop trigger trg5c_1;
-show grants;
-Grants for test_yesprivs@localhost
-GRANT SUPER 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 SUPER 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 SUPER 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 SUPER 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 SUPER ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT INSERT (f1), UPDATE (f1) ON `priv_db`.`t1` TO 'test_noprivs'@'localhost'
-connect(localhost,test_noprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-connect(localhost,test_yesprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-show grants;
-Grants for test_noprivs@localhost
-GRANT SUPER 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;
-
-Trigger create disabled - should fail - Bug 8887
-------------------------------------------------
-set @test_var='before trig 3.5.3.8-1d';
-insert into t1 (f1) values ('insert 3.5.3.8-1d');
-select @test_var;
-@test_var
-before trig 3.5.3.8-1d
-drop trigger trg5d_1;
-show grants;
-Grants for test_yesprivs@localhost
-GRANT SUPER 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;
-drop database if exists priv_db;
-drop user test_yesprivs@localhost;
-drop user test_noprivs@localhost;
-drop user test_noprivs;
-
-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=innodb;
-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;
-f1
-Trigger 3.5.4.1
-drop trigger trg1;
-select trigger_schema, trigger_name, event_object_table
-from information_schema.triggers;
-trigger_schema trigger_name event_object_table
-Insert into t1 values ('Insert no trigger 3.5.4.1');
-Select * from t1;
-f1
-Trigger 3.5.4.1
-Insert no 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=innodb;
-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=innodb;
-create table t1_433a (f1a char (5)) engine=innodb;
-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=innodb;
-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;
-Database
-information_schema
-mysql
-test
-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=innodb;
-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=innodb;
-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=innodb;
-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));
-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;
-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 HY000: Trigger already exists
-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 HY000: Trigger already exists
-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 HY000: Trigger already exists
-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 HY000: Trigger already exists
-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 HY000: Trigger already exists
-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 HY000: Trigger already exists
-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)
-----------------------------------------
-
-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=innodb;
-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=innodb;
-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=innodb;
-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
-insert into db_test.t1_i
-values (new.f120, new.f136, new.f144, new.f163);
-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;
-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;
-u120 u136 u144 u163
-a 00111 0000099999 999.990000000000000000000000000000
-U 00222 0000023456 1.050000000000000000000000000000
-c 00333 0000099999 999.990000000000000000000000000000
-U 00222 0000023456 1.050000000000000000000000000000
-U 00222 0000023456 1.050000000000000000000000000000
-f 00333 0000099999 999.990000000000000000000000000000
-
-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;
-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';
-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';
-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';
-f120 f122 f136 @test_var @test_var2
-D Test 3.5.8.5-if 00101 three 2nd if
-D Test 3.5.8.5-if 00102 three 2nd if
-d Test 3.5.8.5-if 00010 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';
-f120 f122 f136 @test_var @test_var2
-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 00010 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';
-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';
-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';
-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';
-f120 f122 f136 f144 @test_var
-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
-1 Test 3.5.8.5-case 00152 0000099999 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';
-f120 f122 f136 f144 @test_var
-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
-1 Test 3.5.8.5-case 00152 0000099999 1=eight
-1 Test 3.5.8.5-case 00200 0000000008 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';
-f120 f122 f136 f144 @test_var
-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
-1 Test 3.5.8.5-case 00152 0000099999 1=eight
-1 Test 3.5.8.5-case 00200 0000000008 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)
-------------------------------------
-
-Testcase 3.5.8.7: (Disabled as a result of bug _____)
------------------------------------------------------
-
-Testcase 3.5.9.1/2:
--------------------
-Create trigger trg1 BEFORE UPDATE on tb3 for each row
-set new.f142 = 94087, @counter=@counter+1;
-TotalRows
-19
-Affected
-17
-NotAffected
-2
-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
-17 17
-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';
-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';
-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%';
-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 1263 Column set to default value; NULL supplied to NOT NULL column 'f136' at row 20
-select f118, f121, f122, f136, f151, f163 from tb3
-where f122 like 'Test 3.5.9.4-trig';
-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)
-----------------------------------------------
-
-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%';
-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%';
-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%';
-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=innodb;
-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 'MYSQL_TEST_DIR/suite/funcs_1/data/t9.txt' into table tb_load;
-select @counter as 'Rows Loaded After';
-Rows Loaded After
-10
-Select * from tb_load 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=innodb;
-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 to FETCH
-select @counter;
-@counter
-20
-select count(*) from tb3;
-count(*)
-20
-select count(*) from t1_sp;
-count(*)
-20
-drop procedure trig_sp;
-drop trigger trg;
-drop table t1_sp;
-
-Testcase 3.5.11.1 (implemented in trig_perf.test)
--------------------------------------------------
-drop user test_general@localhost;
-drop user test_general;
-drop user test_super@localhost;
-
-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);
-create table t2_1 (f1 integer);
-create table t2_2 (f1 integer);
-create table t2_3 (f1 integer);
-create table t2_4 (f1 integer);
-create table t3 (f1 integer);
-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;
-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 = innodb;
-create table t2 (f2 integer) engine = innodb;
-create table t3 (f3 integer) engine = innodb;
-create table t4 (f4 integer) engine = innodb;
-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;
-f1
-0
-select * from t2;
-f2
-select * from t3;
-f3
-select * from t4;
-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 (disabled bug 11889)
-----------------------------------------------------------------------
-set @sql_mode='traditional';
-create table t1_sp (
-count integer,
-var136 tinyint,
-var151 decimal) engine=innodb;
-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 stored routines are not allowed.
-select @counter;
-@counter
-1
-select count(*) from tb3;
-count(*)
-20
-select count(*) from t1_sp;
-count(*)
-0
-drop procedure trig_sp;
-drop trigger trg;
-drop table t1_sp;
-
-Testcase y.y.y.5: Roleback 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 = innodb;
-create table t2 (f2 integer) engine = innodb;
-create table t3 (f3 integer) engine = innodb;
-create table t4 (f4 tinyint) engine = innodb;
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) default NULL
-) ENGINE=InnoDB 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;
-f1
-1
-select * from t2;
-f2
-select * from t3;
-f3
-drop trigger tr1;
-drop trigger tr2;
-drop trigger tr3;
-drop table t1;
-drop table t2;
-drop table t3;
-drop table t4;
-
-Testcase x.x.x.1:
------------------
-DROP TABLE IF EXISTS t0, t1, t2;
-CREATE TABLE t0 (col1 char(50)) ENGINE=innodb;
-CREATE TABLE t1 (id INT NOT NULL, col1 char(50),
-PRIMARY KEY (id)) ENGINE=innodb;
-CREATE TABLE t2 (id INT PRIMARY KEY, f_id INT,
-INDEX par_ind (f_id), col1 char(50),
-FOREIGN KEY (f_id) REFERENCES t1(id)
-ON DELETE SET NULL) ENGINE=innodb;
-insert into t1 values (1,'Department A');
-insert into t1 values (2,'Department B');
-insert into t1 values (3,'Department C');
-insert into t2 values (1,2,'Emp 1');
-insert into t2 values (2,2,'Emp 2');
-insert into t2 values (3,2,'Emp 3');
-create trigger trig after insert on t0 for each row
-delete from t1 where col1=new.col1;
-select * from t2;
-id f_id col1
-1 2 Emp 1
-2 2 Emp 2
-3 2 Emp 3
-lock tables t0 write, t1 write;
-insert into t0 values ('Department B');
-unlock tables;
-select * from t2;
-id f_id col1
-1 NULL Emp 1
-2 NULL Emp 2
-3 NULL Emp 3
-drop trigger trig;
-drop table t2, t1;
-
-Testcase x.x.x.2:
------------------
-DROP TABLE IF EXISTS t1, t2;
-CREATE TABLE t1 (id INT NOT NULL, col1 char(50),
-PRIMARY KEY (id)) ENGINE=innodb;
-CREATE TABLE t2 (id INT PRIMARY KEY, f_id INT,
-INDEX par_ind (f_id), col1 char(50),
-FOREIGN KEY (f_id) REFERENCES t1(id)
-ON UPDATE CASCADE) ENGINE=innodb;
-insert into t1 values (1,'Department A');
-insert into t1 values (2,'Department B');
-insert into t1 values (3,'Department C');
-insert into t2 values (1,2,'Emp 1');
-insert into t2 values (2,3,'Emp 2');
-insert into t2 values (3,4,'Emp 3');
-ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`test/t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`f_id`) REFERENCES `t1` (`id`) ON UPDATE CASCADE)
-create trigger tr_t2 before insert on t2 for each row
-insert into t1 values(new.f_id, concat('New Department ', new.f_id));
-lock tables t1 write, t2 write;
-insert into t2 values (3,4,'Emp 3');
-unlock tables;
-select * from t1;
-id col1
-1 Department A
-2 Department B
-3 Department C
-4 New Department 4
-select * from t2;
-id f_id col1
-1 2 Emp 1
-2 3 Emp 2
-3 4 Emp 3
-drop trigger tr_t2;
-drop table t2, t1;
-
-Foreign Key tests disabled (bug 11472 - stored in trig_frkey2.test)
--------------------------------------------------------------------
diff --git a/mysql-test/suite/funcs_1/r/innodb_views.result b/mysql-test/suite/funcs_1/r/innodb_views.result
index ec234125eab..77f66d359d0 100644
--- a/mysql-test/suite/funcs_1/r/innodb_views.result
+++ b/mysql-test/suite/funcs_1/r/innodb_views.result
@@ -1,118 +1,119 @@
-SET @NO_REFRESH = IF( '' = '', 0, 1);
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",
+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 = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/innodb_tb2.txt' into table tb2 ;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/innodb_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",
+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 = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/innodb_tb2.txt' into table tb2 ;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/innodb_tb2.txt'
+into table tb2;
USE test;
! Attention: The file with the expected results is not
@@ -123,11 +124,7 @@ USE test;
--------------------------------------------------------------------------------
There are some statements where the ps-protocol is switched off.
-Bug#11589: mysqltest, --ps-protocol, strange output, float/double/real with zerofill
---------------------------------------------------------------------------------
-
-! Attention: The file with the expected results suffers from
-Bug#10713: mysqldump includes database in create view and referenced tables
+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);
@@ -169,6 +166,58 @@ 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
@@ -184,47 +233,47 @@ 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 limit 0,10;
+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 limit 0,10;
+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
-10 10 0000000010
CREATE or REPLACE VIEW v1 AS select f59,f60,f61
-FROM test.tb2 limit 4,3;
-select * FROM v1 limit 0,10;
+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
-7 7 0000000007
CREATE or REPLACE VIEW v1 AS select distinct f59
-FROM test.tb2 limit 4,3;
-select * FROM v1 limit 0,10;
+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 limit 6,2;
-select * FROM v1 limit 0,10;
+FROM test.tb2;
+select * FROM v1 order by f59 limit 6,2;
f59
+6
7
-8
CREATE or REPLACE VIEW v1 AS select f59
-from tb2 order by f59 limit 100;
-select * FROM v1 limit 0,10;
+from tb2 order by f59;
+select * FROM v1 order by f59 limit 0,10;
f59
1
2
@@ -237,7 +286,7 @@ f59
8
9
CREATE or REPLACE VIEW v1 AS select f59
-from tb2 order by f59 asc limit 100;
+from tb2 order by f59 asc;
select * FROM v1 limit 0,10;
f59
1
@@ -251,7 +300,7 @@ f59
8
9
CREATE or REPLACE VIEW v1 AS select f59
-from tb2 order by f59 desc limit 100;
+from tb2 order by f59 desc;
select * FROM v1 limit 0,10;
f59
569300
@@ -265,8 +314,8 @@ f59
987
660
CREATE or REPLACE VIEW v1 AS select f59
-from tb2 group by f59 limit 100;
-select * FROM v1 limit 0,10;
+from tb2 group by f59;
+select * FROM v1 order by f59 limit 0,10;
f59
1
2
@@ -279,8 +328,8 @@ f59
9
10
CREATE or REPLACE VIEW v1 AS select f59
-from tb2 group by f59 asc limit 100;
-select * FROM v1 limit 0,10;
+from tb2 group by f59 asc;
+select * FROM v1 order by f59 limit 0,10;
f59
1
2
@@ -293,22 +342,22 @@ f59
9
10
CREATE or REPLACE VIEW v1 AS select f59
-from tb2 group by f59 desc limit 100;
-select * FROM v1 limit 0,10;
+from tb2 group by f59 desc;
+select * FROM v1 order by f59 limit 0,10;
f59
-569300
-76710
-9112
-7876
-3410
-3330
-2760
-2550
-987
-660
+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) limit 100;
-select * FROM v1 limit 0,10;
+union (select f59 from t1);
+select * FROM v1 order by f59 limit 0,10;
f59
1
2
@@ -322,7 +371,7 @@ f59
10
CREATE or REPLACE VIEW v1 AS (select f59 FROM tb2)
UNION DISTINCT(select f59 FROM t1) ;
-select * FROM v1 limit 0,10;
+select * FROM v1 order by f59 limit 0,10;
f59
1
2
@@ -336,103 +385,3101 @@ f59
10
CREATE or REPLACE VIEW v1 AS (select f59 FROM tb2)
UNION ALL(select f59 FROM t1) ;
-select * FROM v1 limit 0,10;
+select * FROM v1 order by f59 limit 0,10;
f59
1
2
3
4
+4
5
6
7
8
9
-10
CREATE or REPLACE VIEW v1 AS select *
FROM test.tb2 WITH LOCAL CHECK OPTION ;
-select * FROM v1 limit 0,50;
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
+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 limit 0,10;
-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
-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
+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 limit 0,10;
+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
-10 10
CREATE or REPLACE VIEW v1 AS select f59, f60
from test.tb2 where f59=3330 ;
-select * FROM v1 limit 0,10;
+select * FROM v1 order by f60 limit 0,10;
f59 f60
3330 764376
DROP VIEW v1 ;
@@ -495,8 +3542,8 @@ 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 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 'or REPLACE AS Select * from tb2 my_table limit 50' at line 1
+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 'WITH CASCADED CHECK OPTION AS Select *
@@ -505,8 +3552,8 @@ 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 'WITH LOCAL CHECK OPTION AS Select *
from tb2 my_table limit 50' at line 1
-SELECT * FROM tb2 my_table CREATE VIEW As v1 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 'CREATE VIEW As v1 limit 100' 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
@@ -581,8 +3628,8 @@ 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 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 'by order f59 limit 100' at line 2
+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
@@ -590,12 +3637,12 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
Testcase 3.3.1.5
--------------------------------------------------------------------------------
DROP VIEW IF EXISTS v1 ;
-CREATE VIEW v1 SELECT * FROM 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 * FROM tb2 limit 100' at line 1
-CREATE v1 AS SELECT * FROM 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 'v1 AS SELECT * FROM tb2 limit 100' at line 1
-VIEW v1 AS SELECT * FROM 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 'VIEW v1 AS SELECT * FROM tb2 limit 100' at line 1
+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;
@@ -613,45 +3660,43 @@ Testcase 3.3.1.6
--------------------------------------------------------------------------------
DROP VIEW IF EXISTS v1 ;
CREATE or REPLACE VIEW v1
-as SELECT * from tb2 limit 100 ;
+as SELECT * from tb2;
CREATE or REPLACE ALGORITHM = UNDEFINED VIEW v1
-as SELECT * from tb2 limit 100 ;
+as SELECT * from tb2;
CREATE or REPLACE ALGORITHM = MERGE VIEW v1
-as SELECT * from tb2 limit 100 ;
-Warnings:
-Warning 1354 View merge algorithm can't be used here for now (assumed undefined algorithm)
+as SELECT * from tb2;
CREATE or REPLACE ALGORITHM = TEMPTABLE VIEW v1
-as SELECT * from tb2 limit 100 ;
+as SELECT * from tb2;
CREATE or REPLACE ALGORITHM = TEMPTABLE VIEW v1
-as SELECT * from tb2 limit 100 ;
+as SELECT * from tb2;
CREATE or REPLACE = TEMPTABLE VIEW v1
-as SELECT * from tb2 limit 100 ;
+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 limit 100' at line 1
+as SELECT * from tb2' at line 1
CREATE or REPLACE ALGORITHM TEMPTABLE VIEW v1
-as SELECT * from tb2 limit 100 ;
+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 limit 100' at line 1
+as SELECT * from tb2' at line 1
CREATE or REPLACE ALGORITHM = VIEW v1
-as SELECT * from tb2 limit 100 ;
+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 limit 100' at line 1
+as SELECT * from tb2' at line 1
CREATE or REPLACE TEMPTABLE = ALGORITHM VIEW v1
-as SELECT * from tb2 limit 100 ;
+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 limit 100' at line 1
+as SELECT * from tb2' at line 1
CREATE or REPLACE TEMPTABLE - ALGORITHM VIEW v1
-as SELECT * from tb2 limit 100 ;
+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 limit 100' at line 1
+as SELECT * from tb2' at line 1
CREATE or REPLACE GARBAGE = TEMPTABLE VIEW v1
-as SELECT * from tb2 limit 100 ;
+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 limit 100' at line 1
+as SELECT * from tb2' at line 1
CREATE or REPLACE ALGORITHM = GARBAGE VIEW v1
-as SELECT * from tb2 limit 100 ;
+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 limit 100' at line 1
+as SELECT * from tb2' at line 1
Drop view if exists v1 ;
CREATE or REPLACE VIEW v1
AS SELECT * from tb2 where f59 < 1;
@@ -677,7 +3722,7 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
Testcase 3.3.1.7
--------------------------------------------------------------------------------
DROP VIEW IF EXISTS v1 ;
-Create view test.v1 AS Select * from test.tb2 limit 100 ;
+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 ;
@@ -863,73 +3908,172 @@ 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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `f1` from `t1` limit 2
+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
-v1 CREATE ALGORITHM=TEMPTABLE DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `f1` from `t1` limit 2
+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 limit 2;
+CREATE OR REPLACE VIEW test.v1 AS SELECT * FROM tb2 order by f59 limit 2;
SHOW CREATE VIEW test.v1;
-View Create View
-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` limit 2
-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
-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
-CREATE OR REPLACE VIEW test.v1 AS SELECT F59 FROM tb2 limit 10,100;
+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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `tb2`.`f59` AS `F59` from `tb2` limit 10,100
-SELECT * FROM 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
-76710
-2760
-569300
-660
-250
-340
-3410
-2550
-3330
-441
-24
-323
-34
-4
+10
15
+17
+19
22
-394
+24
+27
+29
+34
94
-195
-292
-987
-7876
-321
-9112
-500
-500
-500
+107
107
109
+109
+195
207
209
-27
-29
-17
-19
-107
-109
-299
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 ;
@@ -943,11 +4087,59 @@ 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 LIMIT 2;
+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
@@ -965,38 +4157,38 @@ 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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `f1` from `t1`
+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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `f1` from `t1`
+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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `my_column` from `t1`
+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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `column1`,`t1`.`f1` AS `column2` from `t1`
+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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `column1`,`t1`.`f1` AS `column2` from `t1`
+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
@@ -1080,8 +4272,8 @@ 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 LIMIT 2;
-SELECT * FROM test.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
@@ -1090,7 +4282,7 @@ 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 LIMIT 2;
+CREATE VIEW test.v1( product ) AS SELECT f59*f60 From tb2 WHERE f59 < 3;
SELECT * FROM test.v1;
product
1
@@ -1177,20 +4369,68 @@ DROP TEMPORARY TABLE t2;
Testcase 3.3.1.26
--------------------------------------------------------------------------------
DROP VIEW IF EXISTS v1;
-Create view test.v1 AS Select * from test.tb2 limit 2 ;
+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 limit 2 ;
+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 limit 20 ;
+Select * from test.v1_1 order by F59 limit 2;
F59
1
2
@@ -1204,58 +4444,2557 @@ 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 ;
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
+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 ;
@@ -1318,18 +7057,18 @@ 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 limit 0,10;
+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
-8 8
-9 9
Drop view if exists test.v1_firstview ;
Drop view if exists test.v1_secondview ;
Drop view if exists test.v1 ;
@@ -1347,18 +7086,18 @@ 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 limit 0,10;
+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
-8 8
-9 9
Drop view v1 ;
Drop view test.v1_firstview ;
Drop view test.v1_secondview ;
@@ -1373,18 +7112,18 @@ 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 limit 0,10;
+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
-8 8
-9 9
Drop view test.v1 ;
Drop view test.v1_firstview;
@@ -1397,18 +7136,18 @@ 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 limit 0,10;
+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
-8 8
-9 9
Drop database test2 ;
Testcase 3.3.1.37
@@ -1420,18 +7159,18 @@ 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 limit 0,10;
+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
-10 10
Create table t1(f59 int, f60 int);
Insert into t1 values (90,507) ;
Create view v1_1 as Select f59,f60 from t1 ;
@@ -1441,18 +7180,18 @@ f59 f60
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 limit 0,10;
+Select * from v1_main order by f59 limit 0,10;
f59
1
2
3
4
4
+4
+4
5
6
7
-8
-9
Drop table t1;
Drop view test.v1 ;
Drop view test.v1_1 ;
@@ -1737,29 +7476,29 @@ 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 limit 20 ;
-Select * from test.v1 ;
+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
-76710 226546
-2760 985654
-569300 9114376
-660 876546
-250 87895654
-340 9984376
-3410 996546
-2550 775654
-3330 764376
-441 16546
+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 ;
@@ -1792,7 +7531,7 @@ 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 ;
+SELECT * FROM test.v1 order by f59 ;
ERROR 42S02: Table 'test.v1' doesn't exist
Drop view if exists test.v1 ;
@@ -1846,12 +7585,110 @@ 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 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
-122 432 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
+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 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
-3000 432 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
+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;
@@ -1873,20 +7710,218 @@ 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 ;
+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 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
-30 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
-30 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
+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 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
-100 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
-100 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
-SELECT * FROM test.v1 ;
+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 ;
@@ -1962,7 +7997,7 @@ 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 ;
+SELECT * FROM test.v1 order by f59 ;
f59 f60
195 87
drop view if exists test.v1 ;
@@ -1976,7 +8011,7 @@ 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 ;
+SELECT * FROM test.v1 order by f59 ;
f59 f60
987 41
UPDATE test.v2 SET F59 = 9879 where f59 = 919 ;
@@ -9649,8 +15684,8 @@ 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
+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
@@ -9670,116 +15705,5189 @@ 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 limit 5 ;
-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
-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
-100 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
-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
+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 limit 50 ;
-SELECT * FROM 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
-100 0000000004
5 0000000005
6 0000000006
7 0000000007
8 0000000008
9 0000000009
10 0000000010
-76710 NULL
-2760 NULL
-569300 NULL
-660 NULL
-250 NULL
-340 NULL
-3410 NULL
-2550 NULL
-3330 NULL
-441 NULL
-24 NULL
-323 NULL
-34 NULL
-100 NULL
15 NULL
+17 0000000016
+19 0000000014
22 NULL
-394 NULL
+24 NULL
+27 0000000026
+29 0000000024
+34 NULL
94 NULL
-195 NULL
-292 NULL
-987 NULL
-7876 NULL
-321 0000000765
-9112 0000008771
-500 0000000900
-500 0000000900
-500 0000000900
+100 NULL
+100 0000000004
107 0000000106
+107 0000000106
+109 0000000104
109 0000000104
+195 NULL
207 0000000206
209 0000000204
-27 0000000026
-29 0000000024
-17 0000000016
-19 0000000014
-107 0000000106
-109 0000000104
-299 NULL
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 limit 20 ;
-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
-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
-100 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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
+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 limit 20 ;
-SELECT * FROM test.v1 limit 50;
+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
-100 0000000004
5 0000000005
6 0000000006
7 0000000007
8 0000000008
9 0000000009
10 0000000010
-76710 NULL
-2760 NULL
-569300 NULL
-660 NULL
-250 NULL
-340 NULL
-3410 NULL
-2550 NULL
-3330 NULL
-441 NULL
+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
@@ -9798,7 +20906,7 @@ 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 limit 50 ;
+Select * from test.v1 order by f59 limit 50 ;
f59 f60
1 10
2 20
@@ -9836,16 +20944,23 @@ 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<-
+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
@@ -9864,7 +20979,7 @@ 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;
+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
@@ -9877,7 +20992,7 @@ t1_f59 t2_f59 t1_f60 t2_f60 t1_f61 t2_f61
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;
+Select * from v1 order by t1_f59,t2_f59;
t1_f59 t2_f59
1 2
1 3
@@ -9903,7 +21018,7 @@ t1_f59 t2_f59
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;
+Select * from v1 order by t1_f59,t2_f59;
t1_f59 t2_f59
1 2
1 3
@@ -9929,7 +21044,7 @@ t1_f59 t2_f59
Create or replace view test.v1 as
Select f59, f60, f61, a, b
FROM t2 natural join t1;
-Select * from v1;
+Select * from v1 order by f59;
f59 f60 f61 a b
2 double 6 2 2
Select f59, f60, f61, a, b
@@ -9940,11 +21055,11 @@ 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;
+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
-NULL 4 NULL single NULL 4
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;
@@ -9955,7 +21070,7 @@ 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;
+Select * from v1 order by f59;
f59 f60 f61 a b
2 double 6 2 2
3 single-f3 6 NULL 3
@@ -9970,7 +21085,7 @@ 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;
+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
@@ -9985,11 +21100,11 @@ t1_f59 t2_f59 t1_f60 t2_f60 t1_f61 t2_f61
Create or replace view test.v1 as
Select f59, f60, a, b
FROM t2 natural right outer join t1;
-Select * from v1;
+Select * from v1 order by f59 desc;
f59 f60 a b
-1 single 1 NULL
-2 double 2 2
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
@@ -10010,18 +21125,18 @@ 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 limit 0,10;
+Select * from test.v1 order by f59 limit 0,10;
f59
1
2
3
-100
5
6
7
8
9
10
+15
Drop view if exists test.v1 ;
Drop table if exists t1 ;
Drop view if exists v1;
@@ -10031,7 +21146,7 @@ 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 limit 0,10;
+Select * from test.v1 order by f59 limit 0,10;
f59
207
Drop view if exists test.v1 ;
@@ -10043,7 +21158,7 @@ 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 limit 0,10;
+Select * from test.v1 order by f59 limit 0,10;
f59
27
Drop view test.v1 ;
@@ -10058,18 +21173,18 @@ 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 limit 0,10;
+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 limit 0,10;
+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 limit 0,10;
+Select * from test.v1 order by f59 limit 0,10;
f59
17
Drop view test.v1 ;
@@ -10081,7 +21196,7 @@ 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 limit 0,10;
+select * from test.v1 order by f59 limit 0,10;
f59
107
107
@@ -10089,7 +21204,7 @@ 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 limit 0,10;
+select * from test.v1 order by f59 limit 0,10;
f59
107
107
@@ -10098,14 +21213,14 @@ 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 limit 0,10;
+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 limit 0,10;
+select * from test.v1 order by f59 limit 0,10;
f59
107
drop view if exists test.v1 ;
@@ -10116,15 +21231,64 @@ 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 limit 0,10;
+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 limit 0,10;
-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
-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
+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
@@ -10250,8 +21414,8 @@ 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
-v32 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `test3`.`v32` AS select `v31`.`f1` AS `f1` from `test3`.`v31`
+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
@@ -10260,8 +21424,8 @@ 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
-v32 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `test3`.`v32` AS select `v31`.`f1` AS `f1` from `test3`.`v31`
+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;
@@ -10269,15 +21433,13 @@ ERROR HY000: View 'test3.v32' references invalid table(s) or column(s) or functi
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 30 - hangs for higher values
+FIXME - Setting join_limit to 28 - hangs for higher values
----------------------------------------------------------
-SET @join_limit = 30;
+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.v29;
-DROP VIEW IF EXISTS test1.v28;
DROP VIEW IF EXISTS test1.v27;
DROP VIEW IF EXISTS test1.v26;
DROP VIEW IF EXISTS test1.v25;
@@ -10384,15 +21546,11 @@ 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;
-CREATE OR REPLACE VIEW test1.v28 AS SELECT f1, f2
-FROM test2.t1 tab1 NATURAL JOIN test1.v27 tab2;
-CREATE OR REPLACE VIEW test1.v29 AS SELECT f1, f2
-FROM test3.t1 tab1 NATURAL JOIN test1.v28 tab2;
-SHOW CREATE VIEW test1.v29;
-View Create View
-v29 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `test1`.`v29` AS select `tab1`.`f1` AS `f1`,`tab1`.`f2` AS `f2` from (`test3`.`t1` `tab1` join `test1`.`v28` `tab2` on(((`tab1`.`f1` = `tab2`.`f1`) and (`tab1`.`f2` = `tab2`.`f2`))))
+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.v29;
+CAST(f2 AS CHAR) AS f2 FROM test1.v27;
f1 f2
5 five
@@ -10401,14 +21559,14 @@ 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.v29;
-CREATE VIEW test1.v30 AS SELECT f1, f2
-FROM test3.t1 tab1 NATURAL JOIN test1.v29 tab2;
-SHOW CREATE VIEW test1.v30;
-View Create View
-v30 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `test1`.`v30` AS select `tab1`.`f1` AS `f1`,`tab1`.`f2` AS `f2` from (`test3`.`t1` `tab1` join `test1`.`v29` `tab2` on(((`tab1`.`f1` = `tab2`.`f1`) and (`tab1`.`f2` = `tab2`.`f2`))))
+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.v30;
+CAST(f2 AS CHAR) AS f2 FROM test1.v28;
f1 f2
5 five
@@ -10417,33 +21575,31 @@ 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.v30;
-DROP VIEW IF EXISTS test1.v30;
-CREATE OR REPLACE VIEW test1.v0 AS
+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
+CREATE OR REPLACE VIEW test2.v0 AS
SELECT CAST('0001-01-01' AS DATE) as f1, f2 FROM test3.t1;
-SHOW CREATE VIEW test1.v29;
+SHOW CREATE VIEW test1.v27;
SELECT CAST(f1 AS SIGNED INTEGER) AS f1,
-CAST(f2 AS CHAR) AS f2 FROM test1.v29;
+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.v29;
+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.v29;
+SHOW CREATE VIEW test1.v27;
SELECT CAST(f1 AS SIGNED INTEGER) AS f1,
-CAST(f2 AS CHAR) AS f2 FROM test1.v29;
+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.v29;
+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.v29;
+SHOW CREATE VIEW test1.v27;
SELECT CAST(f1 AS SIGNED INTEGER) AS f1,
-CAST(f2 AS CHAR) AS f2 FROM test1.v29;
+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.v29;
-DROP VIEW IF EXISTS test1.v29;
-DROP VIEW IF EXISTS test1.v28;
+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;
@@ -10495,8 +21651,57 @@ 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 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
-2005 101 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
+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
@@ -10512,9 +21717,58 @@ 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 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
-8 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
-SELECT f59,f60 FROM test.v1 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 ;
@@ -10528,12 +21782,211 @@ 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 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
-891 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
-891 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
-891 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
-891 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
-SELECT f59,f60 FROM test.v1 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
@@ -10550,7 +22003,7 @@ 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;
+SELECT f59,f60 FROM test.v1 where f59 = 789 order by f60 ;
f59 f60
Drop view test.v1 ;
@@ -10563,7 +22016,7 @@ 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;
+SELECT f59,f60 FROM test.v1 where f59 = 711 order by f60 ;
f59 f60
Drop view test.v1 ;
@@ -10881,17 +22334,13 @@ 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';
-
-Some server responses suffer from
-Bug#10773 Incorrect message is displayed while updating a view
---------------------------------------------------------------------------------
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;
-Got one of the listed errors
+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;
@@ -10899,7 +22348,7 @@ 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;
-Got one of the listed errors
+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;
@@ -10907,7 +22356,7 @@ 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;
-Got one of the listed errors
+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;
@@ -10915,7 +22364,7 @@ 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;
-Got one of the listed errors
+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;
@@ -10923,7 +22372,7 @@ 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;
-Got one of the listed errors
+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;
@@ -10931,7 +22380,7 @@ 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;
-Got one of the listed errors
+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;
@@ -10939,7 +22388,7 @@ 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;
-Got one of the listed errors
+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;
@@ -10947,7 +22396,7 @@ 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;
-Got one of the listed errors
+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;
@@ -10955,7 +22404,7 @@ 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;
-Got one of the listed errors
+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;
@@ -11124,9 +22573,9 @@ f1 f2 f4 report
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 ----------->',
+INSERT INTO t1 SET f1 = '<------------- 30 ----------->',
f4 = '<------ 20 -------->', report = 't1 5';
-INSERT INTO v1 SET f1 = '<------------- 30 ----------->',
+INSERT INTO v1 SET f1 = '<------------- 30 ----------->',
f4 = '<------ 20 -------->', report = 'v1 5';
DESCRIBE t1;
Field Type Null Key Default Extra
@@ -11416,21 +22865,24 @@ ABC 0
ABC 1.7320508075689
CREATE TABLE t2 AS SELECT f1, SQRT(f2) my_sqrt FROM t1;
SELECT * FROM t2 order by 2;
-f1 my_sqrt
-ABC 0
-ABC 1.73205080756888
+f1 ABC
+my_sqrt 0
+f1 ABC
+my_sqrt 1.73205080756888
DROP TABLE t2;
CREATE TABLE t2 AS SELECT * FROM v1;
SELECT * FROM t2 order by 2;
-f1 my_sqrt
-ABC 0
-ABC 1.73205080756888
+f1 ABC
+my_sqrt 0
+f1 ABC
+my_sqrt 1.73205080756888
DROP TABLE t2;
CREATE TABLE t2 AS SELECT * FROM v2;
SELECT * FROM t2 order by 2;
-f1 my_sqrt
-ABC 0
-ABC 1.73205080756888
+f1 ABC
+my_sqrt 0
+f1 ABC
+my_sqrt 1.73205080756888
DROP TABLE t1;
DROP TABLE t2;
DROP VIEW v1;
@@ -11445,4 +22897,5 @@ DROP VIEW IF EXISTS v1_secondview;
DROP VIEW IF EXISTS v2;
DROP DATABASE IF EXISTS test2;
DROP DATABASE IF EXISTS test3;
-DROP DATABASE IF EXISTS test1;
+DROP DATABASE test1;
+DROP TABLE test.tb2;
diff --git a/mysql-test/suite/funcs_1/r/is_basics_mixed.result b/mysql-test/suite/funcs_1/r/is_basics_mixed.result
new file mode 100644
index 00000000000..2ae4f96c400
--- /dev/null
+++ b/mysql-test/suite/funcs_1/r/is_basics_mixed.result
@@ -0,0 +1,602 @@
+SHOW DATABASES LIKE 'information_schema';
+Database (information_schema)
+information_schema
+#######################################################################
+# Testcase 3.2.1.20: USE INFORMATION_SCHEMA is supported
+#######################################################################
+# Switch to connection default
+USE test;
+SELECT DATABASE();
+DATABASE()
+test
+USE information_schema;
+SELECT DATABASE();
+DATABASE()
+information_schema
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+# Establish connection testuser1 (user=testuser1)
+SELECT DATABASE();
+DATABASE()
+test
+USE information_schema;
+SELECT DATABASE();
+DATABASE()
+information_schema
+# Switch to connection default and close connection testuser1
+DROP USER 'testuser1'@'localhost';
+#######################################################################
+# Testcase TBD1: The INFORMATION_SCHEMA cannot be dropped.
+#######################################################################
+DROP DATABASE information_schema;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+#######################################################################
+# Testcase TBD2: There cannot be a second database INFORMATION_SCHEMA.
+#######################################################################
+CREATE DATABASE information_schema;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+##################################################################################
+# Testcase 3.2.1.6+3.2.1.7: No user may create an INFORMATION_SCHEMA table or view
+##################################################################################
+# Switch to connection default (user=root)
+USE information_schema;
+CREATE TABLE schemata ( c1 INT );
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+CREATE TABLE tables ( c1 INT );
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+CREATE TABLE columns ( c1 INT );
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+CREATE TABLE character_sets ( c1 INT );
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+CREATE TABLE collations ( c1 INT );
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+CREATE TABLE collation_character_set_applicability ( c1 INT );
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+CREATE TABLE routines ( c1 INT );
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+CREATE TABLE statistics ( c1 INT );
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+CREATE TABLE views ( c1 INT );
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+CREATE TABLE user_privileges ( c1 INT );
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+CREATE TABLE schema_privileges ( c1 INT );
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+CREATE TABLE table_privileges ( c1 INT );
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+CREATE TABLE column_privileges ( c1 INT );
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+CREATE TABLE table_constraints ( c1 INT );
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+CREATE TABLE key_column_usage ( c1 INT );
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+CREATE TABLE triggers ( c1 INT );
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+CREATE TABLE t1 (f1 INT, f2 INT, f3 INT);
+ERROR 42S02: Unknown table 't1' in information_schema
+CREATE VIEW tables AS SELECT 'garbage';
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+CREATE VIEW tables AS SELECT * FROM information_schema.tables;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+CREATE VIEW v1 AS SELECT 'garbage';
+ERROR 42S02: Unknown table 'v1' in information_schema
+USE test;
+CREATE TABLE information_schema. schemata ( c1 INT );
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+CREATE TABLE information_schema. tables ( c1 INT );
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+CREATE TABLE information_schema. columns ( c1 INT );
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+CREATE TABLE information_schema. character_sets ( c1 INT );
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+CREATE TABLE information_schema. collations ( c1 INT );
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+CREATE TABLE information_schema. collation_character_set_applicability ( c1 INT );
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+CREATE TABLE information_schema. routines ( c1 INT );
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+CREATE TABLE information_schema. statistics ( c1 INT );
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+CREATE TABLE information_schema. views ( c1 INT );
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+CREATE TABLE information_schema. user_privileges ( c1 INT );
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+CREATE TABLE information_schema. schema_privileges ( c1 INT );
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+CREATE TABLE information_schema. table_privileges ( c1 INT );
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+CREATE TABLE information_schema. column_privileges ( c1 INT );
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+CREATE TABLE information_schema. table_constraints ( c1 INT );
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+CREATE TABLE information_schema. key_column_usage ( c1 INT );
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+CREATE TABLE information_schema. triggers ( c1 INT );
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+CREATE TABLE information_schema.t1 (f1 INT, f2 INT, f3 INT);
+ERROR 42S02: Unknown table 't1' in information_schema
+CREATE VIEW information_schema.tables AS SELECT 'garbage';
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+CREATE VIEW information_schema.tables AS
+SELECT * FROM information_schema.tables;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+CREATE VIEW information_schema.v1 AS SELECT 'garbage';
+ERROR 42S02: Unknown table 'v1' in information_schema
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+GRANT ALL ON *.* TO testuser1@localhost;
+SHOW GRANTS FOR testuser1@localhost;
+Grants for testuser1@localhost
+GRANT ALL PRIVILEGES ON *.* TO 'testuser1'@'localhost'
+# Establish connection testuser1 (user=testuser1)
+USE information_schema;
+CREATE TABLE schemata ( c1 INT );
+ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
+CREATE TABLE tables ( c1 INT );
+ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
+CREATE TABLE columns ( c1 INT );
+ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
+CREATE TABLE character_sets ( c1 INT );
+ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
+CREATE TABLE collations ( c1 INT );
+ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
+CREATE TABLE collation_character_set_applicability ( c1 INT );
+ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
+CREATE TABLE routines ( c1 INT );
+ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
+CREATE TABLE statistics ( c1 INT );
+ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
+CREATE TABLE views ( c1 INT );
+ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
+CREATE TABLE user_privileges ( c1 INT );
+ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
+CREATE TABLE schema_privileges ( c1 INT );
+ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
+CREATE TABLE table_privileges ( c1 INT );
+ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
+CREATE TABLE column_privileges ( c1 INT );
+ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
+CREATE TABLE table_constraints ( c1 INT );
+ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
+CREATE TABLE key_column_usage ( c1 INT );
+ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
+CREATE TABLE triggers ( c1 INT );
+ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
+CREATE TABLE t1 (f1 INT, f2 INT, f3 INT);
+ERROR 42S02: Unknown table 't1' in information_schema
+CREATE VIEW tables AS SELECT 'garbage';
+ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
+CREATE VIEW tables AS SELECT * FROM information_schema.tables;
+ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
+CREATE VIEW v1 AS SELECT 'garbage';
+ERROR 42S02: Unknown table 'v1' in information_schema
+USE test;
+CREATE TABLE information_schema. schemata ( c1 INT );
+ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
+CREATE TABLE information_schema. tables ( c1 INT );
+ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
+CREATE TABLE information_schema. columns ( c1 INT );
+ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
+CREATE TABLE information_schema. character_sets ( c1 INT );
+ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
+CREATE TABLE information_schema. collations ( c1 INT );
+ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
+CREATE TABLE information_schema. collation_character_set_applicability ( c1 INT );
+ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
+CREATE TABLE information_schema. routines ( c1 INT );
+ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
+CREATE TABLE information_schema. statistics ( c1 INT );
+ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
+CREATE TABLE information_schema. views ( c1 INT );
+ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
+CREATE TABLE information_schema. user_privileges ( c1 INT );
+ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
+CREATE TABLE information_schema. schema_privileges ( c1 INT );
+ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
+CREATE TABLE information_schema. table_privileges ( c1 INT );
+ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
+CREATE TABLE information_schema. column_privileges ( c1 INT );
+ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
+CREATE TABLE information_schema. table_constraints ( c1 INT );
+ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
+CREATE TABLE information_schema. key_column_usage ( c1 INT );
+ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
+CREATE TABLE information_schema. triggers ( c1 INT );
+ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
+CREATE TABLE information_schema.t1 (f1 INT, f2 INT, f3 INT);
+ERROR 42S02: Unknown table 't1' in information_schema
+CREATE VIEW information_schema.tables AS SELECT 'garbage';
+ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
+CREATE VIEW information_schema.tables AS
+SELECT * FROM information_schema.tables;
+ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
+CREATE VIEW information_schema.v1 AS SELECT 'garbage';
+ERROR 42S02: Unknown table 'v1' in information_schema
+# Switch to connection default (user=root) and close connection testuser1
+DROP USER 'testuser1'@'localhost';
+###############################################################################
+# Testcase 3.2.1.1+3.2.1.2: INFORMATION_SCHEMA tables can be queried via SELECT
+###############################################################################
+DROP DATABASE IF EXISTS db_datadict;
+CREATE DATABASE db_datadict;
+CREATE TABLE db_datadict.t1_first (f1 BIGINT UNIQUE, f2 BIGINT)
+ENGINE = <some_engine>;
+CREATE TABLE db_datadict.t1_second (f1 BIGINT UNIQUE, f2 BIGINT)
+ENGINE = <some_engine>;
+# Attention: The protocolling of the next result set is disabled.
+SELECT * FROM information_schema.tables;
+SELECT table_name FROM information_schema.tables
+WHERE table_schema = 'db_datadict';
+table_name
+t1_first
+t1_second
+SELECT LENGTH(table_name) FROM information_schema.tables
+WHERE table_schema = 'db_datadict' ORDER BY table_name;
+LENGTH(table_name)
+8
+9
+SELECT count(table_name) FROM information_schema.tables
+WHERE table_schema LIKE 'db_datadic%';
+count(table_name)
+2
+SELECT CAST((LENGTH(table_schema) + LENGTH(table_name)) AS DECIMAL(15,1))
+FROM information_schema.tables
+WHERE table_schema = 'db_datadict';
+CAST((LENGTH(table_schema) + LENGTH(table_name)) AS DECIMAL(15,1))
+19.0
+20.0
+SELECT table_name FROM information_schema.tables
+WHERE table_name IN ('t1_first','t1_second') ORDER BY table_name LIMIT 1;
+table_name
+t1_first
+SELECT table_name FROM information_schema.tables
+WHERE table_name IN ('t1_first','t1_second') ORDER BY table_name LIMIT 1,1;
+table_name
+t1_second
+SELECT table_name,table_schema AS my_col FROM information_schema.tables
+WHERE table_name = 't1_first' AND table_schema = 'db_datadict';
+table_name my_col
+t1_first db_datadict
+SELECT HIGH_PRIORITY table_name AS my_col FROM information_schema.tables
+WHERE table_name = 't1_first' OR table_name = 't1_second';
+my_col
+t1_first
+t1_second
+SELECT 1 AS my_col FROM information_schema.tables
+WHERE table_name = 't1_third';
+my_col
+SELECT table_name,table_schema INTO @table_name,@table_schema
+FROM information_schema.tables
+WHERE table_schema = 'db_datadict' ORDER BY table_name LIMIT 1;
+SELECT @table_name,@table_schema;
+@table_name @table_schema
+t1_first db_datadict
+SELECT table_name,table_schema
+INTO OUTFILE '<OUTFILE>'
+FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
+LINES TERMINATED BY '\n'
+FROM information_schema.tables
+WHERE table_schema = 'db_datadict' ORDER BY table_name;
+"t1_first","db_datadict"
+"t1_second","db_datadict"
+SELECT table_name FROM information_schema.tables
+WHERE table_name = 't1_first'
+UNION ALL
+SELECT table_name FROM information_schema.tables
+WHERE table_name = 't1_second';
+table_name
+t1_first
+t1_second
+SELECT DISTINCT table_schema FROM information_schema.tables
+WHERE table_name IN (SELECT table_name FROM information_schema.tables
+WHERE table_schema = 'db_datadict')
+ORDER BY table_name;
+table_schema
+db_datadict
+SELECT table_name FROM information_schema.tables t1
+LEFT JOIN information_schema.tables t2 USING(table_name,table_schema)
+WHERE t2.table_schema = 'db_datadict'
+ORDER BY table_name;
+table_name
+t1_first
+t1_second
+USE test;
+SELECT * FROM tables;
+ERROR 42S02: Table 'test.tables' doesn't exist
+#########################################################################
+# Testcase 3.2.1.17+3.2.1.18
+#########################################################################
+DROP DATABASE IF EXISTS db_datadict;
+CREATE DATABASE db_datadict;
+CREATE TABLE db_datadict.t1 (f1 BIGINT UNIQUE, f2 BIGINT)
+ENGINE = <some_engine>;
+SELECT * FROM db_datadict.t1;
+f1 f2
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+DROP USER 'testuser2'@'localhost';
+CREATE USER 'testuser2'@'localhost';
+GRANT CREATE VIEW,SELECT ON db_datadict.* TO testuser1@localhost
+WITH GRANT OPTION;
+GRANT USAGE ON db_datadict.* TO testuser2@localhost;
+FLUSH PRIVILEGES;
+GRANT SELECT on information_schema.* TO testuser1@localhost;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+GRANT CREATE VIEW ON information_schema.* TO 'u_6_401018'@'localhost';
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+# Establish connection testuser1 (user=testuser1)
+SELECT table_schema,table_name FROM information_schema.tables
+WHERE table_schema = 'information_schema' AND table_name = 'tables';
+table_schema table_name
+information_schema tables
+SELECT * FROM information_schema.table_privileges
+WHERE table_schema = 'information_schema';
+GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
+SELECT * FROM information_schema.schema_privileges
+WHERE table_schema = 'information_schema';
+GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
+CREATE VIEW db_datadict.v2 AS
+SELECT TABLE_SCHEMA,TABLE_NAME,TABLE_TYPE
+FROM information_schema.tables WHERE table_schema = 'db_datadict';
+SELECT TABLE_SCHEMA,TABLE_NAME,TABLE_TYPE
+FROM db_datadict.v2;
+TABLE_SCHEMA TABLE_NAME TABLE_TYPE
+db_datadict t1 BASE TABLE
+db_datadict v2 VIEW
+SELECT TABLE_SCHEMA,TABLE_NAME,TABLE_TYPE
+FROM information_schema.tables WHERE table_schema = 'db_datadict';
+TABLE_SCHEMA TABLE_NAME TABLE_TYPE
+db_datadict t1 BASE TABLE
+db_datadict v2 VIEW
+GRANT SELECT ON db_datadict.v2 to testuser2@localhost;
+# Establish connection testuser2 (user=testuser2)
+SELECT TABLE_SCHEMA,TABLE_NAME,TABLE_TYPE
+FROM db_datadict.v2;
+TABLE_SCHEMA TABLE_NAME TABLE_TYPE
+db_datadict v2 VIEW
+SELECT TABLE_SCHEMA,TABLE_NAME,TABLE_TYPE
+FROM information_schema.tables WHERE table_schema = 'db_datadict';
+TABLE_SCHEMA TABLE_NAME TABLE_TYPE
+db_datadict v2 VIEW
+# Switch to connection default and close connections testuser1 and testuser2
+DROP USER 'testuser1'@'localhost';
+DROP USER 'testuser2'@'localhost';
+DROP DATABASE db_datadict;
+#########################################################################
+# Testcase 3.2.1.19
+#########################################################################
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+SELECT 'empty result set was expected' AS my_col
+FROM information_schema.schema_privileges
+WHERE table_schema = 'information_schema';
+my_col
+SELECT 'empty result set was expected' AS my_col
+FROM information_schema.table_privileges
+WHERE table_schema = 'information_schema';
+my_col
+SELECT 'empty result set was expected' AS my_col
+FROM information_schema.column_privileges
+WHERE table_schema = 'information_schema';
+my_col
+GRANT ALTER ON information_schema.*
+TO 'testuser1'@'localhost';
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+GRANT ALTER ROUTINE ON information_schema.*
+TO 'testuser1'@'localhost';
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+GRANT CREATE ON information_schema.*
+TO 'testuser1'@'localhost';
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+GRANT CREATE ROUTINE ON information_schema.*
+TO 'testuser1'@'localhost';
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+GRANT CREATE TEMPORARY TABLES ON information_schema.*
+TO 'testuser1'@'localhost';
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+GRANT DELETE ON information_schema.*
+TO 'testuser1'@'localhost';
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+GRANT DROP ON information_schema.*
+TO 'testuser1'@'localhost';
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+GRANT EXECUTE ON information_schema.*
+TO 'testuser1'@'localhost';
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+GRANT INDEX ON information_schema.*
+TO 'testuser1'@'localhost';
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+GRANT INSERT ON information_schema.*
+TO 'testuser1'@'localhost';
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+GRANT LOCK TABLES ON information_schema.*
+TO 'testuser1'@'localhost';
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+GRANT UPDATE ON information_schema.*
+TO 'testuser1'@'localhost';
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+SELECT 'empty result set was expected' AS my_col
+FROM information_schema.schema_privileges
+WHERE table_schema = 'information_schema';
+my_col
+SELECT 'empty result set was expected' AS my_col
+FROM information_schema.table_privileges
+WHERE table_schema = 'information_schema';
+my_col
+SELECT 'empty result set was expected' AS my_col
+FROM information_schema.column_privileges
+WHERE table_schema = 'information_schema';
+my_col
+DROP USER 'testuser1'@'localhost';
+#########################################################################
+# Testcase 3.2.1.16
+#########################################################################
+SELECT DISTINCT table_schema FROM information_schema.columns
+WHERE table_schema LIKE 'db_data%';
+table_schema
+SELECT DISTINCT table_schema FROM information_schema.column_privileges
+WHERE table_schema LIKE 'db_data%';
+table_schema
+SELECT DISTINCT constraint_schema,table_schema
+FROM information_schema.key_column_usage
+WHERE constraint_schema LIKE 'db_data%' OR table_schema LIKE 'db_data%';
+constraint_schema table_schema
+SELECT DISTINCT routine_schema FROM information_schema.routines
+WHERE routine_schema LIKE 'db_data%';
+routine_schema
+SELECT DISTINCT schema_name FROM information_schema.schemata
+WHERE schema_name LIKE 'db_data%';
+schema_name
+SELECT DISTINCT table_schema FROM information_schema.schema_privileges
+WHERE table_schema LIKE 'db_data%';
+table_schema
+SELECT DISTINCT table_schema,index_schema FROM information_schema.statistics
+WHERE table_schema LIKE 'db_data%' OR index_schema LIKE 'db_data%';
+table_schema index_schema
+SELECT DISTINCT table_schema FROM information_schema.tables
+WHERE table_schema LIKE 'db_data%';
+table_schema
+SELECT DISTINCT constraint_schema,table_schema
+FROM information_schema.table_constraints
+WHERE constraint_schema LIKE 'db_data%' OR table_schema LIKE 'db_data%';
+constraint_schema table_schema
+SELECT DISTINCT table_schema FROM information_schema.table_privileges
+WHERE table_schema LIKE 'db_data%';
+table_schema
+SELECT DISTINCT trigger_schema,event_object_schema
+FROM information_schema.triggers
+WHERE trigger_schema LIKE 'db_data%' OR event_object_schema LIKE 'db_data%';
+trigger_schema event_object_schema
+SELECT DISTINCT table_schema FROM information_schema.views
+WHERE table_schema LIKE 'db_data%';
+table_schema
+DROP DATABASE IF EXISTS db_datadict;
+CREATE DATABASE db_datadict;
+CREATE TABLE db_datadict.t1 (f1 BIGINT, f2 BIGINT NOT NULL, f3 BIGINT,
+PRIMARY KEY(f1))
+ENGINE = <some_engine>;
+CREATE UNIQUE INDEX UIDX ON db_datadict.t1(f3);
+CREATE PROCEDURE db_datadict.sproc1() SELECT 'db_datadict';
+CREATE FUNCTION db_datadict.func1() RETURNS INT RETURN 0;
+CREATE TRIGGER db_datadict.trig1 BEFORE INSERT ON db_datadict.t1
+FOR EACH ROW SET @aux = 1;
+CREATE VIEW db_datadict.v1 AS SELECT * FROM db_datadict.t1;
+CREATE VIEW db_datadict.v2 AS SELECT * FROM information_schema.tables;
+SELECT DISTINCT table_schema FROM information_schema.columns
+WHERE table_schema LIKE 'db_data%';
+table_schema
+db_datadict
+SELECT DISTINCT table_schema FROM information_schema.column_privileges
+WHERE table_schema LIKE 'db_data%';
+table_schema
+SELECT DISTINCT constraint_schema,table_schema
+FROM information_schema.key_column_usage
+WHERE constraint_schema LIKE 'db_data%' OR table_schema LIKE 'db_data%';
+constraint_schema table_schema
+db_datadict db_datadict
+SELECT DISTINCT routine_schema FROM information_schema.routines
+WHERE routine_schema LIKE 'db_data%';
+routine_schema
+db_datadict
+SELECT DISTINCT schema_name FROM information_schema.schemata
+WHERE schema_name LIKE 'db_data%';
+schema_name
+db_datadict
+SELECT DISTINCT table_schema FROM information_schema.schema_privileges
+WHERE table_schema LIKE 'db_data%';
+table_schema
+SELECT DISTINCT table_schema,index_schema FROM information_schema.statistics
+WHERE table_schema LIKE 'db_data%' OR index_schema LIKE 'db_data%';
+table_schema index_schema
+db_datadict db_datadict
+SELECT DISTINCT table_schema FROM information_schema.tables
+WHERE table_schema LIKE 'db_data%';
+table_schema
+db_datadict
+SELECT DISTINCT constraint_schema,table_schema
+FROM information_schema.table_constraints
+WHERE constraint_schema LIKE 'db_data%' OR table_schema LIKE 'db_data%';
+constraint_schema table_schema
+db_datadict db_datadict
+SELECT DISTINCT table_schema FROM information_schema.table_privileges
+WHERE table_schema LIKE 'db_data%';
+table_schema
+SELECT DISTINCT trigger_schema,event_object_schema
+FROM information_schema.triggers
+WHERE trigger_schema LIKE 'db_data%' OR event_object_schema LIKE 'db_data%';
+trigger_schema event_object_schema
+db_datadict db_datadict
+SELECT DISTINCT table_schema FROM information_schema.views
+WHERE table_schema LIKE 'db_data%';
+table_schema
+db_datadict
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+GRANT ALL ON test.* TO 'testuser1'@'localhost';
+# Establish connection testuser1 (user=testuser1)
+SELECT DISTINCT table_schema FROM information_schema.columns
+WHERE table_schema LIKE 'db_data%';
+table_schema
+SELECT DISTINCT table_schema FROM information_schema.column_privileges
+WHERE table_schema LIKE 'db_data%';
+table_schema
+SELECT DISTINCT constraint_schema,table_schema
+FROM information_schema.key_column_usage
+WHERE constraint_schema LIKE 'db_data%' OR table_schema LIKE 'db_data%';
+constraint_schema table_schema
+SELECT DISTINCT routine_schema FROM information_schema.routines
+WHERE routine_schema LIKE 'db_data%';
+routine_schema
+SELECT DISTINCT schema_name FROM information_schema.schemata
+WHERE schema_name LIKE 'db_data%';
+schema_name
+SELECT DISTINCT table_schema FROM information_schema.schema_privileges
+WHERE table_schema LIKE 'db_data%';
+table_schema
+SELECT DISTINCT table_schema,index_schema FROM information_schema.statistics
+WHERE table_schema LIKE 'db_data%' OR index_schema LIKE 'db_data%';
+table_schema index_schema
+SELECT DISTINCT table_schema FROM information_schema.tables
+WHERE table_schema LIKE 'db_data%';
+table_schema
+SELECT DISTINCT constraint_schema,table_schema
+FROM information_schema.table_constraints
+WHERE constraint_schema LIKE 'db_data%' OR table_schema LIKE 'db_data%';
+constraint_schema table_schema
+SELECT DISTINCT table_schema FROM information_schema.table_privileges
+WHERE table_schema LIKE 'db_data%';
+table_schema
+SELECT DISTINCT trigger_schema,event_object_schema
+FROM information_schema.triggers
+WHERE trigger_schema LIKE 'db_data%' OR event_object_schema LIKE 'db_data%';
+trigger_schema event_object_schema
+SELECT DISTINCT table_schema FROM information_schema.views
+WHERE table_schema LIKE 'db_data%';
+table_schema
+# Switch to connection default and close connections testuser1 and testuser2
+DROP USER 'testuser1'@'localhost';
+DROP DATABASE db_datadict;
+########################################################################
+# Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and
+# DDL on INFORMATION_SCHEMA tables are not supported
+########################################################################
+DROP PROCEDURE IF EXISTS test.p1;
+CREATE PROCEDURE test.p1()
+INSERT INTO information_schema.tables
+SELECT * FROM information_schema.tables LIMIT 1;
+CALL test.p1();
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DROP PROCEDURE test.p1;
+CREATE PROCEDURE test.p1()
+UPDATE information_schema.columns SET table_schema = 'garbage';
+CALL test.p1();
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DROP PROCEDURE test.p1;
+CREATE PROCEDURE test.p1()
+DELETE FROM information_schema.schemata;
+CALL test.p1();
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DROP PROCEDURE test.p1;
+#########################################################################
+# Testcase 3.2.17.1+3.2.17.2: To be implemented outside of this script
+#########################################################################
diff --git a/mysql-test/suite/funcs_1/r/is_character_sets.result b/mysql-test/suite/funcs_1/r/is_character_sets.result
new file mode 100644
index 00000000000..4c24a4a829a
--- /dev/null
+++ b/mysql-test/suite/funcs_1/r/is_character_sets.result
@@ -0,0 +1,78 @@
+SHOW TABLES FROM information_schema LIKE 'CHARACTER_SETS';
+Tables_in_information_schema (CHARACTER_SETS)
+CHARACTER_SETS
+#######################################################################
+# Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT
+#######################################################################
+DROP VIEW IF EXISTS test.v1;
+DROP PROCEDURE IF EXISTS test.p1;
+DROP FUNCTION IF EXISTS test.f1;
+CREATE VIEW test.v1 AS SELECT * FROM information_schema.CHARACTER_SETS;
+CREATE PROCEDURE test.p1() SELECT * FROM information_schema.CHARACTER_SETS;
+CREATE FUNCTION test.f1() returns BIGINT
+BEGIN
+DECLARE counter BIGINT DEFAULT NULL;
+SELECT COUNT(*) INTO counter FROM information_schema.CHARACTER_SETS;
+RETURN counter;
+END//
+# Attention: The printing of the next result sets is disabled.
+SELECT * FROM information_schema.CHARACTER_SETS;
+SELECT * FROM test.v1;
+CALL test.p1;
+SELECT test.f1();
+DROP VIEW test.v1;
+DROP PROCEDURE test.p1;
+DROP FUNCTION test.f1;
+#########################################################################
+# Testcase 3.2.2.1: INFORMATION_SCHEMA.CHARACTER_SETS layout
+#########################################################################
+DESCRIBE information_schema.CHARACTER_SETS;
+Field Type Null Key Default Extra
+CHARACTER_SET_NAME varchar(64) NO
+DEFAULT_COLLATE_NAME varchar(64) NO
+DESCRIPTION varchar(60) NO
+MAXLEN bigint(3) NO 0
+SHOW CREATE TABLE information_schema.CHARACTER_SETS;
+Table Create Table
+CHARACTER_SETS CREATE TEMPORARY TABLE `CHARACTER_SETS` (
+ `CHARACTER_SET_NAME` varchar(64) NOT NULL DEFAULT '',
+ `DEFAULT_COLLATE_NAME` varchar(64) NOT NULL DEFAULT '',
+ `DESCRIPTION` varchar(60) NOT NULL DEFAULT '',
+ `MAXLEN` bigint(3) NOT NULL DEFAULT '0'
+) ENGINE=MEMORY DEFAULT CHARSET=utf8
+SHOW COLUMNS FROM information_schema.CHARACTER_SETS;
+Field Type Null Key Default Extra
+CHARACTER_SET_NAME varchar(64) NO
+DEFAULT_COLLATE_NAME varchar(64) NO
+DESCRIPTION varchar(60) NO
+MAXLEN bigint(3) NO 0
+# Testcases 3.2.2.2 and 3.2.2.3 are checked in suite/funcs_1/t/charset_collation*.test
+########################################################################
+# Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and
+# DDL on INFORMATION_SCHEMA tables are not supported
+########################################################################
+DROP DATABASE IF EXISTS db_datadict;
+CREATE DATABASE db_datadict;
+INSERT INTO information_schema.character_sets
+SELECT * FROM information_schema.character_sets;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+UPDATE information_schema.character_sets SET description = 'just updated';
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DELETE FROM information_schema.character_sets WHERE table_name = 't1';
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+TRUNCATE information_schema.character_sets;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+CREATE INDEX my_idx ON information_schema.character_sets(character_set_name);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.character_sets DROP PRIMARY KEY;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.character_sets ADD f1 INT;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DROP TABLE information_schema.character_sets;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.character_sets RENAME db_datadict.character_sets;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.character_sets
+RENAME information_schema.xcharacter_sets;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DROP DATABASE db_datadict;
diff --git a/mysql-test/suite/funcs_1/r/is_collation_character_set_applicability.result b/mysql-test/suite/funcs_1/r/is_collation_character_set_applicability.result
new file mode 100644
index 00000000000..43dc14784f4
--- /dev/null
+++ b/mysql-test/suite/funcs_1/r/is_collation_character_set_applicability.result
@@ -0,0 +1,76 @@
+SHOW TABLES FROM information_schema LIKE 'COLLATION_CHARACTER_SET_APPLICABILITY';
+Tables_in_information_schema (COLLATION_CHARACTER_SET_APPLICABILITY)
+COLLATION_CHARACTER_SET_APPLICABILITY
+#######################################################################
+# Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT
+#######################################################################
+DROP VIEW IF EXISTS test.v1;
+DROP PROCEDURE IF EXISTS test.p1;
+DROP FUNCTION IF EXISTS test.f1;
+CREATE VIEW test.v1 AS SELECT * FROM information_schema.COLLATION_CHARACTER_SET_APPLICABILITY;
+CREATE PROCEDURE test.p1() SELECT * FROM information_schema.COLLATION_CHARACTER_SET_APPLICABILITY;
+CREATE FUNCTION test.f1() returns BIGINT
+BEGIN
+DECLARE counter BIGINT DEFAULT NULL;
+SELECT COUNT(*) INTO counter FROM information_schema.COLLATION_CHARACTER_SET_APPLICABILITY;
+RETURN counter;
+END//
+# Attention: The printing of the next result sets is disabled.
+SELECT * FROM information_schema.COLLATION_CHARACTER_SET_APPLICABILITY;
+SELECT * FROM test.v1;
+CALL test.p1;
+SELECT test.f1();
+DROP VIEW test.v1;
+DROP PROCEDURE test.p1;
+DROP FUNCTION test.f1;
+#########################################################################
+# Testcase 3.2.4.1: INFORMATION_SCHEMA.CHARACTER_SET_APPLICABILITY layout
+#########################################################################
+DESCRIBE information_schema.COLLATION_CHARACTER_SET_APPLICABILITY;
+Field Type Null Key Default Extra
+COLLATION_NAME varchar(64) NO
+CHARACTER_SET_NAME varchar(64) NO
+SHOW CREATE TABLE information_schema.COLLATION_CHARACTER_SET_APPLICABILITY;
+Table Create Table
+COLLATION_CHARACTER_SET_APPLICABILITY CREATE TEMPORARY TABLE `COLLATION_CHARACTER_SET_APPLICABILITY` (
+ `COLLATION_NAME` varchar(64) NOT NULL DEFAULT '',
+ `CHARACTER_SET_NAME` varchar(64) NOT NULL DEFAULT ''
+) ENGINE=MEMORY DEFAULT CHARSET=utf8
+SHOW COLUMNS FROM information_schema.COLLATION_CHARACTER_SET_APPLICABILITY;
+Field Type Null Key Default Extra
+COLLATION_NAME varchar(64) NO
+CHARACTER_SET_NAME varchar(64) NO
+# Testcases 3.2.4.2 and 3.2.4.3 are checked in suite/funcs_1/t/charset_collation*.test
+########################################################################
+# Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and
+# DDL on INFORMATION_SCHEMA tables are not supported
+########################################################################
+DROP DATABASE IF EXISTS db_datadict;
+CREATE DATABASE db_datadict;
+INSERT INTO information_schema.collation_character_set_applicability
+SELECT * FROM information_schema.collation_character_set_applicability;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+UPDATE information_schema.collation_character_set_applicability
+SET collation_name = 'big6_chinese_ci' WHERE character_set_name = 'big6';
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+UPDATE information_schema.collation_character_set_applicability
+SET character_set_name = 't_4711';
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DELETE FROM information_schema.collation_character_set_applicability;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+TRUNCATE information_schema.collation_character_set_applicability;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+CREATE INDEX my_idx
+ON information_schema.collation_character_set_applicability(collation_name);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.collation_character_set_applicability ADD f1 INT;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DROP TABLE information_schema.collation_character_set_applicability;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.collation_character_set_applicability
+RENAME db_datadict.collation_character_set_applicability;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.collation_character_set_applicability
+RENAME information_schema.xcollation_character_set_applicability;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DROP DATABASE db_datadict;
diff --git a/mysql-test/suite/funcs_1/r/is_collations.result b/mysql-test/suite/funcs_1/r/is_collations.result
new file mode 100644
index 00000000000..ca9259b67eb
--- /dev/null
+++ b/mysql-test/suite/funcs_1/r/is_collations.result
@@ -0,0 +1,90 @@
+SHOW TABLES FROM information_schema LIKE 'COLLATIONS';
+Tables_in_information_schema (COLLATIONS)
+COLLATIONS
+#######################################################################
+# Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT
+#######################################################################
+DROP VIEW IF EXISTS test.v1;
+DROP PROCEDURE IF EXISTS test.p1;
+DROP FUNCTION IF EXISTS test.f1;
+CREATE VIEW test.v1 AS SELECT * FROM information_schema.COLLATIONS;
+CREATE PROCEDURE test.p1() SELECT * FROM information_schema.COLLATIONS;
+CREATE FUNCTION test.f1() returns BIGINT
+BEGIN
+DECLARE counter BIGINT DEFAULT NULL;
+SELECT COUNT(*) INTO counter FROM information_schema.COLLATIONS;
+RETURN counter;
+END//
+# Attention: The printing of the next result sets is disabled.
+SELECT * FROM information_schema.COLLATIONS;
+SELECT * FROM test.v1;
+CALL test.p1;
+SELECT test.f1();
+DROP VIEW test.v1;
+DROP PROCEDURE test.p1;
+DROP FUNCTION test.f1;
+#########################################################################
+# Testcase 3.2.3.1: INFORMATION_SCHEMA.COLLATIONS layout
+#########################################################################
+DESCRIBE information_schema.COLLATIONS;
+Field Type Null Key Default Extra
+COLLATION_NAME varchar(64) NO
+CHARACTER_SET_NAME varchar(64) NO
+ID bigint(11) NO 0
+IS_DEFAULT varchar(3) NO
+IS_COMPILED varchar(3) NO
+SORTLEN bigint(3) NO 0
+SHOW CREATE TABLE information_schema.COLLATIONS;
+Table Create Table
+COLLATIONS CREATE TEMPORARY TABLE `COLLATIONS` (
+ `COLLATION_NAME` varchar(64) NOT NULL DEFAULT '',
+ `CHARACTER_SET_NAME` varchar(64) NOT NULL DEFAULT '',
+ `ID` bigint(11) NOT NULL DEFAULT '0',
+ `IS_DEFAULT` varchar(3) NOT NULL DEFAULT '',
+ `IS_COMPILED` varchar(3) NOT NULL DEFAULT '',
+ `SORTLEN` bigint(3) NOT NULL DEFAULT '0'
+) ENGINE=MEMORY DEFAULT CHARSET=utf8
+SHOW COLUMNS FROM information_schema.COLLATIONS;
+Field Type Null Key Default Extra
+COLLATION_NAME varchar(64) NO
+CHARACTER_SET_NAME varchar(64) NO
+ID bigint(11) NO 0
+IS_DEFAULT varchar(3) NO
+IS_COMPILED varchar(3) NO
+SORTLEN bigint(3) NO 0
+# Testcases 3.2.3.2 and 3.2.3.3 are checked in suite/funcs_1/t/charset_collation*.test
+########################################################################
+# Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and
+# DDL on INFORMATION_SCHEMA tables are not supported
+########################################################################
+DROP DATABASE IF EXISTS db_datadict;
+CREATE DATABASE db_datadict;
+INSERT INTO information_schema.collations
+SELECT * FROM information_schema.collations;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+INSERT INTO information_schema.collations
+(collation_name,character_set_name,id,is_default,is_compiled,sortlen)
+VALUES ( 'cp1251_bin', 'cp1251',50, '', '',0);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+UPDATE information_schema.collations SET description = 'just updated';
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DELETE FROM information_schema.collations WHERE table_name = 't1';
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+TRUNCATE information_schema.collations;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+CREATE INDEX my_idx ON information_schema.collations(character_set_name);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.collations DROP PRIMARY KEY;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.collations ADD f1 INT;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.collations ENABLE KEYS;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DROP TABLE information_schema.collations;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.collations RENAME db_datadict.collations;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.collations
+RENAME information_schema.xcollations;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DROP DATABASE db_datadict;
diff --git a/mysql-test/suite/funcs_1/r/is_column_privileges.result b/mysql-test/suite/funcs_1/r/is_column_privileges.result
new file mode 100644
index 00000000000..7b12cf8142d
--- /dev/null
+++ b/mysql-test/suite/funcs_1/r/is_column_privileges.result
@@ -0,0 +1,372 @@
+SHOW TABLES FROM information_schema LIKE 'COLUMN_PRIVILEGES';
+Tables_in_information_schema (COLUMN_PRIVILEGES)
+COLUMN_PRIVILEGES
+#######################################################################
+# Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT
+#######################################################################
+DROP VIEW IF EXISTS test.v1;
+DROP PROCEDURE IF EXISTS test.p1;
+DROP FUNCTION IF EXISTS test.f1;
+CREATE VIEW test.v1 AS SELECT * FROM information_schema.COLUMN_PRIVILEGES;
+CREATE PROCEDURE test.p1() SELECT * FROM information_schema.COLUMN_PRIVILEGES;
+CREATE FUNCTION test.f1() returns BIGINT
+BEGIN
+DECLARE counter BIGINT DEFAULT NULL;
+SELECT COUNT(*) INTO counter FROM information_schema.COLUMN_PRIVILEGES;
+RETURN counter;
+END//
+# Attention: The printing of the next result sets is disabled.
+SELECT * FROM information_schema.COLUMN_PRIVILEGES;
+SELECT * FROM test.v1;
+CALL test.p1;
+SELECT test.f1();
+DROP VIEW test.v1;
+DROP PROCEDURE test.p1;
+DROP FUNCTION test.f1;
+#########################################################################
+# Testcase 3.2.5.1: INFORMATION_SCHEMA.COLUMN_PRIVILEGES layout
+#########################################################################
+DESCRIBE information_schema.COLUMN_PRIVILEGES;
+Field Type Null Key Default Extra
+GRANTEE varchar(81) NO
+TABLE_CATALOG varchar(512) YES NULL
+TABLE_SCHEMA varchar(64) NO
+TABLE_NAME varchar(64) NO
+COLUMN_NAME varchar(64) NO
+PRIVILEGE_TYPE varchar(64) NO
+IS_GRANTABLE varchar(3) NO
+SHOW CREATE TABLE information_schema.COLUMN_PRIVILEGES;
+Table Create Table
+COLUMN_PRIVILEGES CREATE TEMPORARY TABLE `COLUMN_PRIVILEGES` (
+ `GRANTEE` varchar(81) NOT NULL DEFAULT '',
+ `TABLE_CATALOG` varchar(512) DEFAULT NULL,
+ `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
+ `TABLE_NAME` varchar(64) NOT NULL DEFAULT '',
+ `COLUMN_NAME` varchar(64) NOT NULL DEFAULT '',
+ `PRIVILEGE_TYPE` varchar(64) NOT NULL DEFAULT '',
+ `IS_GRANTABLE` varchar(3) NOT NULL DEFAULT ''
+) ENGINE=MEMORY DEFAULT CHARSET=utf8
+SHOW COLUMNS FROM information_schema.COLUMN_PRIVILEGES;
+Field Type Null Key Default Extra
+GRANTEE varchar(81) NO
+TABLE_CATALOG varchar(512) YES NULL
+TABLE_SCHEMA varchar(64) NO
+TABLE_NAME varchar(64) NO
+COLUMN_NAME varchar(64) NO
+PRIVILEGE_TYPE varchar(64) NO
+IS_GRANTABLE varchar(3) NO
+SELECT table_catalog, table_schema, table_name, column_name, privilege_type
+FROM information_schema.column_privileges WHERE table_catalog IS NOT NULL;
+table_catalog table_schema table_name column_name privilege_type
+######################################################################
+# Testcase 3.2.5.2+3.2.5.3+3.2.5.4:
+# INFORMATION_SCHEMA.COLUMN_PRIVILEGES accessible information
+######################################################################
+DROP DATABASE IF EXISTS db_datadict;
+CREATE DATABASE db_datadict;
+CREATE TABLE db_datadict.t1 (f1 INT, f2 DECIMAL, f3 TEXT)
+ENGINE = <other_engine_type>;
+USE db_datadict;
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+DROP USER 'testuser2'@'localhost';
+CREATE USER 'testuser2'@'localhost';
+DROP USER 'testuser3'@'localhost';
+CREATE USER 'testuser3'@'localhost';
+GRANT SELECT(f1, f3) ON db_datadict.t1 TO 'testuser1'@'localhost';
+GRANT INSERT(f1) ON db_datadict.t1 TO 'testuser1'@'localhost';
+GRANT UPDATE(f2) ON db_datadict.t1 TO 'testuser1'@'localhost';
+GRANT SELECT(f2) ON db_datadict.t1 TO 'testuser2'@'localhost';
+GRANT INSERT, SELECT ON db_datadict.t1 TO 'testuser3'@'localhost';
+GRANT SELECT(f3) ON db_datadict.t1 TO 'testuser3'@'localhost';
+GRANT INSERT, SELECT ON db_datadict.t1 TO 'testuser3'@'localhost'
+WITH GRANT OPTION;
+GRANT ALL ON db_datadict.* TO 'testuser3'@'localhost';
+SELECT * FROM information_schema.column_privileges
+WHERE grantee LIKE '''testuser%'''
+ORDER BY grantee, table_schema,table_name,column_name,privilege_type;
+GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
+'testuser1'@'localhost' NULL db_datadict t1 f1 INSERT NO
+'testuser1'@'localhost' NULL db_datadict t1 f1 SELECT NO
+'testuser1'@'localhost' NULL db_datadict t1 f2 UPDATE NO
+'testuser1'@'localhost' NULL db_datadict t1 f3 SELECT NO
+'testuser2'@'localhost' NULL db_datadict t1 f2 SELECT NO
+'testuser3'@'localhost' NULL db_datadict t1 f3 SELECT YES
+GRANT UPDATE(f3) ON db_datadict.t1 TO 'testuser1'@'localhost'
+WITH GRANT OPTION;
+SELECT * FROM information_schema.column_privileges
+WHERE grantee LIKE '''testuser%'''
+ORDER BY grantee, table_schema,table_name,column_name,privilege_type;
+GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
+'testuser1'@'localhost' NULL db_datadict t1 f1 INSERT YES
+'testuser1'@'localhost' NULL db_datadict t1 f1 SELECT YES
+'testuser1'@'localhost' NULL db_datadict t1 f2 UPDATE YES
+'testuser1'@'localhost' NULL db_datadict t1 f3 SELECT YES
+'testuser1'@'localhost' NULL db_datadict t1 f3 UPDATE YES
+'testuser2'@'localhost' NULL db_datadict t1 f2 SELECT NO
+'testuser3'@'localhost' NULL db_datadict t1 f3 SELECT YES
+# Establish connection testuser1 (user=testuser1)
+SELECT * FROM information_schema.column_privileges
+WHERE grantee LIKE '''testuser%'''
+ORDER BY grantee, table_schema,table_name,column_name,privilege_type;
+GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
+'testuser1'@'localhost' NULL db_datadict t1 f1 INSERT YES
+'testuser1'@'localhost' NULL db_datadict t1 f1 SELECT YES
+'testuser1'@'localhost' NULL db_datadict t1 f2 UPDATE YES
+'testuser1'@'localhost' NULL db_datadict t1 f3 SELECT YES
+'testuser1'@'localhost' NULL db_datadict t1 f3 UPDATE YES
+# Establish connection testuser2 (user=testuser2)
+SELECT * FROM information_schema.column_privileges
+WHERE grantee LIKE '''testuser%'''
+ORDER BY grantee, table_schema,table_name,column_name,privilege_type;
+GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
+'testuser2'@'localhost' NULL db_datadict t1 f2 SELECT NO
+# Establish connection testuser3 (user=testuser3)
+# FIXME: Is it correct that granted TABLES do not occur in COLUMN_PRIVILEGES?
+SELECT * FROM information_schema.table_privileges
+WHERE grantee LIKE '''testuser%'''
+ORDER BY grantee,table_schema,table_name,privilege_type;
+GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
+'testuser3'@'localhost' NULL db_datadict t1 INSERT YES
+'testuser3'@'localhost' NULL db_datadict t1 SELECT YES
+SELECT * FROM information_schema.schema_privileges
+WHERE grantee LIKE '''testuser%'''
+ORDER BY grantee,table_schema,privilege_type;
+GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
+'testuser3'@'localhost' NULL db_datadict ALTER NO
+'testuser3'@'localhost' NULL db_datadict ALTER ROUTINE NO
+'testuser3'@'localhost' NULL db_datadict CREATE NO
+'testuser3'@'localhost' NULL db_datadict CREATE ROUTINE NO
+'testuser3'@'localhost' NULL db_datadict CREATE TEMPORARY TABLES NO
+'testuser3'@'localhost' NULL db_datadict CREATE VIEW NO
+'testuser3'@'localhost' NULL db_datadict DELETE NO
+'testuser3'@'localhost' NULL db_datadict DROP NO
+'testuser3'@'localhost' NULL db_datadict EVENT NO
+'testuser3'@'localhost' NULL db_datadict EXECUTE NO
+'testuser3'@'localhost' NULL db_datadict INDEX NO
+'testuser3'@'localhost' NULL db_datadict INSERT NO
+'testuser3'@'localhost' NULL db_datadict LOCK TABLES NO
+'testuser3'@'localhost' NULL db_datadict REFERENCES NO
+'testuser3'@'localhost' NULL db_datadict SELECT NO
+'testuser3'@'localhost' NULL db_datadict SHOW VIEW NO
+'testuser3'@'localhost' NULL db_datadict TRIGGER NO
+'testuser3'@'localhost' NULL db_datadict UPDATE NO
+SELECT * FROM information_schema.column_privileges
+WHERE grantee LIKE '''testuser%'''
+ORDER BY grantee, table_schema,table_name,column_name,privilege_type;
+GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
+'testuser3'@'localhost' NULL db_datadict t1 f3 SELECT YES
+GRANT SELECT(f1, f3) ON db_datadict.t1 TO 'testuser2'@'localhost';
+# FIXME: Is it intended that *my* grants to others are *NOT* shown here?
+SELECT * FROM information_schema.column_privileges
+WHERE grantee LIKE '''testuser%'''
+ORDER BY grantee, table_schema,table_name,column_name,privilege_type;
+GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
+'testuser3'@'localhost' NULL db_datadict t1 f3 SELECT YES
+# Switch to connection testuser2 (user=testuser2)
+SELECT * FROM information_schema.column_privileges
+WHERE grantee LIKE '''testuser%'''
+ORDER BY grantee, table_schema,table_name,column_name,privilege_type;
+GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
+'testuser2'@'localhost' NULL db_datadict t1 f1 SELECT NO
+'testuser2'@'localhost' NULL db_datadict t1 f2 SELECT NO
+'testuser2'@'localhost' NULL db_datadict t1 f3 SELECT NO
+# Switch to connection default and close connections testuser1,testuser2,testuser3
+DROP DATABASE db_datadict;
+DROP USER 'testuser1'@'localhost';
+DROP USER 'testuser2'@'localhost';
+DROP USER 'testuser3'@'localhost';
+################################################################################
+# 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.COLUMN_PRIVILEGES modifications
+################################################################################
+DROP DATABASE IF EXISTS db_datadict;
+CREATE DATABASE db_datadict;
+CREATE TABLE db_datadict.my_table (f1 BIGINT, f2 CHAR(10), f3 DATE)
+ENGINE = <engine_type>;
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+GRANT ALL ON test.* TO 'testuser1'@'localhost';
+SELECT * FROM information_schema.column_privileges
+WHERE table_name = 'my_table'
+ORDER BY grantee, table_schema,table_name,column_name,privilege_type;
+GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
+SHOW GRANTS FOR 'testuser1'@'localhost';
+Grants for testuser1@localhost
+GRANT USAGE ON *.* TO 'testuser1'@'localhost'
+GRANT ALL PRIVILEGES ON `test`.* TO 'testuser1'@'localhost'
+# Establish connection testuser1 (user=testuser1)
+SELECT * FROM information_schema.column_privileges
+WHERE table_name = 'my_table'
+ORDER BY grantee, table_schema,table_name,column_name,privilege_type;
+GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
+SHOW GRANTS FOR 'testuser1'@'localhost';
+Grants for testuser1@localhost
+GRANT USAGE ON *.* TO 'testuser1'@'localhost'
+GRANT ALL PRIVILEGES ON `test`.* TO 'testuser1'@'localhost'
+# Switch to connection default
+GRANT SELECT (f1,f3) ON db_datadict.my_table TO 'testuser1'@'localhost';
+SELECT * FROM information_schema.column_privileges
+WHERE table_name = 'my_table'
+ORDER BY grantee, table_schema,table_name,column_name,privilege_type;
+GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
+'testuser1'@'localhost' NULL db_datadict my_table f1 SELECT NO
+'testuser1'@'localhost' NULL db_datadict my_table f3 SELECT NO
+SHOW GRANTS FOR 'testuser1'@'localhost';
+Grants for testuser1@localhost
+GRANT USAGE ON *.* TO 'testuser1'@'localhost'
+GRANT ALL PRIVILEGES ON `test`.* TO 'testuser1'@'localhost'
+GRANT SELECT (f3, f1) ON `db_datadict`.`my_table` TO 'testuser1'@'localhost'
+# Switch to connection testuser1
+SELECT * FROM information_schema.column_privileges
+WHERE table_name = 'my_table'
+ORDER BY grantee, table_schema,table_name,column_name,privilege_type;
+GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
+'testuser1'@'localhost' NULL db_datadict my_table f1 SELECT NO
+'testuser1'@'localhost' NULL db_datadict my_table f3 SELECT NO
+SHOW GRANTS FOR 'testuser1'@'localhost';
+Grants for testuser1@localhost
+GRANT USAGE ON *.* TO 'testuser1'@'localhost'
+GRANT ALL PRIVILEGES ON `test`.* TO 'testuser1'@'localhost'
+GRANT SELECT (f3, f1) ON `db_datadict`.`my_table` TO 'testuser1'@'localhost'
+# Switch to connection default
+ALTER TABLE db_datadict.my_table DROP COLUMN f3;
+GRANT UPDATE (f1) ON db_datadict.my_table TO 'testuser1'@'localhost';
+SELECT * FROM information_schema.column_privileges
+WHERE table_name = 'my_table'
+ORDER BY grantee, table_schema,table_name,column_name,privilege_type;
+GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
+'testuser1'@'localhost' NULL db_datadict my_table f1 SELECT NO
+'testuser1'@'localhost' NULL db_datadict my_table f1 UPDATE NO
+'testuser1'@'localhost' NULL db_datadict my_table f3 SELECT NO
+SHOW GRANTS FOR 'testuser1'@'localhost';
+Grants for testuser1@localhost
+GRANT USAGE ON *.* TO 'testuser1'@'localhost'
+GRANT ALL PRIVILEGES ON `test`.* TO 'testuser1'@'localhost'
+GRANT SELECT (f3, f1), UPDATE (f1) ON `db_datadict`.`my_table` TO 'testuser1'@'localhost'
+# Switch to connection testuser1
+SELECT * FROM information_schema.column_privileges
+WHERE table_name = 'my_table'
+ORDER BY grantee, table_schema,table_name,column_name,privilege_type;
+GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
+'testuser1'@'localhost' NULL db_datadict my_table f1 SELECT NO
+'testuser1'@'localhost' NULL db_datadict my_table f1 UPDATE NO
+'testuser1'@'localhost' NULL db_datadict my_table f3 SELECT NO
+SHOW GRANTS FOR 'testuser1'@'localhost';
+Grants for testuser1@localhost
+GRANT USAGE ON *.* TO 'testuser1'@'localhost'
+GRANT ALL PRIVILEGES ON `test`.* TO 'testuser1'@'localhost'
+GRANT SELECT (f3, f1), UPDATE (f1) ON `db_datadict`.`my_table` TO 'testuser1'@'localhost'
+SELECT f1, f3 FROM db_datadict.my_table;
+ERROR 42S22: Unknown column 'f3' in 'field list'
+# Switch to connection default
+ALTER TABLE db_datadict.my_table CHANGE COLUMN f1 my_col BIGINT;
+SELECT * FROM information_schema.column_privileges
+WHERE table_name = 'my_table'
+ORDER BY grantee, table_schema,table_name,column_name,privilege_type;
+GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
+'testuser1'@'localhost' NULL db_datadict my_table f1 SELECT NO
+'testuser1'@'localhost' NULL db_datadict my_table f1 UPDATE NO
+'testuser1'@'localhost' NULL db_datadict my_table f3 SELECT NO
+SHOW GRANTS FOR 'testuser1'@'localhost';
+Grants for testuser1@localhost
+GRANT USAGE ON *.* TO 'testuser1'@'localhost'
+GRANT ALL PRIVILEGES ON `test`.* TO 'testuser1'@'localhost'
+GRANT SELECT (f3, f1), UPDATE (f1) ON `db_datadict`.`my_table` TO 'testuser1'@'localhost'
+# Switch to connection testuser1
+SELECT * FROM information_schema.column_privileges
+WHERE table_name = 'my_table'
+ORDER BY grantee, table_schema,table_name,column_name,privilege_type;
+GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
+'testuser1'@'localhost' NULL db_datadict my_table f1 SELECT NO
+'testuser1'@'localhost' NULL db_datadict my_table f1 UPDATE NO
+'testuser1'@'localhost' NULL db_datadict my_table f3 SELECT NO
+SHOW GRANTS FOR 'testuser1'@'localhost';
+Grants for testuser1@localhost
+GRANT USAGE ON *.* TO 'testuser1'@'localhost'
+GRANT ALL PRIVILEGES ON `test`.* TO 'testuser1'@'localhost'
+GRANT SELECT (f3, f1), UPDATE (f1) ON `db_datadict`.`my_table` TO 'testuser1'@'localhost'
+# Switch to connection default
+DROP TABLE db_datadict.my_table;
+SELECT * FROM information_schema.column_privileges
+WHERE table_name = 'my_table'
+ORDER BY grantee, table_schema,table_name,column_name,privilege_type;
+GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
+'testuser1'@'localhost' NULL db_datadict my_table f1 SELECT NO
+'testuser1'@'localhost' NULL db_datadict my_table f1 UPDATE NO
+'testuser1'@'localhost' NULL db_datadict my_table f3 SELECT NO
+SHOW GRANTS FOR 'testuser1'@'localhost';
+Grants for testuser1@localhost
+GRANT USAGE ON *.* TO 'testuser1'@'localhost'
+GRANT ALL PRIVILEGES ON `test`.* TO 'testuser1'@'localhost'
+GRANT SELECT (f3, f1), UPDATE (f1) ON `db_datadict`.`my_table` TO 'testuser1'@'localhost'
+# Switch to connection testuser1
+SELECT * FROM information_schema.column_privileges
+WHERE table_name = 'my_table'
+ORDER BY grantee, table_schema,table_name,column_name,privilege_type;
+GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
+'testuser1'@'localhost' NULL db_datadict my_table f1 SELECT NO
+'testuser1'@'localhost' NULL db_datadict my_table f1 UPDATE NO
+'testuser1'@'localhost' NULL db_datadict my_table f3 SELECT NO
+SHOW GRANTS FOR 'testuser1'@'localhost';
+Grants for testuser1@localhost
+GRANT USAGE ON *.* TO 'testuser1'@'localhost'
+GRANT ALL PRIVILEGES ON `test`.* TO 'testuser1'@'localhost'
+GRANT SELECT (f3, f1), UPDATE (f1) ON `db_datadict`.`my_table` TO 'testuser1'@'localhost'
+# Switch to connection default
+REVOKE ALL ON db_datadict.my_table FROM 'testuser1'@'localhost';
+SELECT * FROM information_schema.column_privileges
+WHERE table_name = 'my_table'
+ORDER BY grantee, table_schema,table_name,column_name,privilege_type;
+GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
+SHOW GRANTS FOR 'testuser1'@'localhost';
+Grants for testuser1@localhost
+GRANT USAGE ON *.* TO 'testuser1'@'localhost'
+GRANT ALL PRIVILEGES ON `test`.* TO 'testuser1'@'localhost'
+# Switch to connection testuser1
+SELECT * FROM information_schema.column_privileges
+WHERE table_name = 'my_table'
+ORDER BY grantee, table_schema,table_name,column_name,privilege_type;
+GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
+SHOW GRANTS FOR 'testuser1'@'localhost';
+Grants for testuser1@localhost
+GRANT USAGE ON *.* TO 'testuser1'@'localhost'
+GRANT ALL PRIVILEGES ON `test`.* TO 'testuser1'@'localhost'
+# Switch to connection default and close connection testuser1
+DROP USER 'testuser1'@'localhost';
+DROP DATABASE db_datadict;
+########################################################################
+# Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and
+# DDL on INFORMATION_SCHEMA table are not supported
+########################################################################
+DROP DATABASE IF EXISTS db_datadict;
+CREATE DATABASE db_datadict;
+CREATE TABLE db_datadict.t1 (f1 BIGINT, f2 BIGINT)
+ENGINE = <engine_type>;
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+GRANT SELECT (f1) ON db_datadict.t1 TO 'testuser1'@'localhost';
+INSERT INTO information_schema.column_privileges
+SELECT * FROM information_schema.column_privileges;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+UPDATE information_schema.column_privileges SET table_schema = 'test'
+WHERE table_name = 't1';
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DELETE FROM information_schema.column_privileges WHERE table_name = 't1';
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+TRUNCATE information_schema.column_privileges;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+CREATE INDEX my_idx_on_tables
+ON information_schema.column_privileges(table_schema);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.column_privileges ADD f1 INT;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DROP TABLE information_schema.column_privileges;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.column_privileges
+RENAME db_datadict.column_privileges;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.column_privileges
+RENAME information_schema.xcolumn_privileges;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DROP DATABASE db_datadict;
+DROP USER 'testuser1'@'localhost';
diff --git a/mysql-test/suite/funcs_1/r/is_column_privileges_is_mysql_test.result b/mysql-test/suite/funcs_1/r/is_column_privileges_is_mysql_test.result
new file mode 100644
index 00000000000..acf26587004
--- /dev/null
+++ b/mysql-test/suite/funcs_1/r/is_column_privileges_is_mysql_test.result
@@ -0,0 +1,37 @@
+##############################################################################
+# Testcases 3.2.9.2+3.2.9.3 INFORMATION_SCHEMA.SCHEMATA accessible information
+##############################################################################
+DROP DATABASE IF EXISTS db_datadict;
+CREATE DATABASE db_datadict;
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+GRANT SELECT ON db_datadict.* TO 'testuser1'@'localhost';
+SELECT * FROM information_schema.column_privileges
+WHERE table_schema IN ('information_schema','mysql','test')
+ORDER BY table_schema, table_name, column_name;
+GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
+SHOW DATABASES LIKE 'information_schema';
+Database (information_schema)
+information_schema
+SHOW DATABASES LIKE 'mysql';
+Database (mysql)
+mysql
+SHOW DATABASES LIKE 'test';
+Database (test)
+test
+# Establish connection testuser1 (user=testuser1)
+SELECT * FROM information_schema.column_privileges
+WHERE table_schema IN ('information_schema','mysql','test')
+ORDER BY table_schema, table_name, column_name;
+GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
+SHOW DATABASES LIKE 'information_schema';
+Database (information_schema)
+information_schema
+SHOW DATABASES LIKE 'mysql';
+Database (mysql)
+SHOW DATABASES LIKE 'test';
+Database (test)
+test
+# 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_columns.result b/mysql-test/suite/funcs_1/r/is_columns.result
new file mode 100644
index 00000000000..99a497d806d
--- /dev/null
+++ b/mysql-test/suite/funcs_1/r/is_columns.result
@@ -0,0 +1,486 @@
+SHOW TABLES FROM information_schema LIKE 'COLUMNS';
+Tables_in_information_schema (COLUMNS)
+COLUMNS
+#######################################################################
+# Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT
+#######################################################################
+DROP VIEW IF EXISTS test.v1;
+DROP PROCEDURE IF EXISTS test.p1;
+DROP FUNCTION IF EXISTS test.f1;
+CREATE VIEW test.v1 AS SELECT * FROM information_schema.COLUMNS;
+CREATE PROCEDURE test.p1() SELECT * FROM information_schema.COLUMNS;
+CREATE FUNCTION test.f1() returns BIGINT
+BEGIN
+DECLARE counter BIGINT DEFAULT NULL;
+SELECT COUNT(*) INTO counter FROM information_schema.COLUMNS;
+RETURN counter;
+END//
+# Attention: The printing of the next result sets is disabled.
+SELECT * FROM information_schema.COLUMNS;
+SELECT * FROM test.v1;
+CALL test.p1;
+SELECT test.f1();
+DROP VIEW test.v1;
+DROP PROCEDURE test.p1;
+DROP FUNCTION test.f1;
+#########################################################################
+# Testcase 3.2.6.1: INFORMATION_SCHEMA.COLUMNS layout
+#########################################################################
+DESCRIBE information_schema.COLUMNS;
+Field Type Null Key Default Extra
+TABLE_CATALOG varchar(512) YES NULL
+TABLE_SCHEMA varchar(64) NO
+TABLE_NAME varchar(64) NO
+COLUMN_NAME varchar(64) NO
+ORDINAL_POSITION bigint(21) unsigned NO 0
+COLUMN_DEFAULT longtext YES NULL
+IS_NULLABLE varchar(3) NO
+DATA_TYPE varchar(64) NO
+CHARACTER_MAXIMUM_LENGTH bigint(21) unsigned YES NULL
+CHARACTER_OCTET_LENGTH bigint(21) unsigned YES NULL
+NUMERIC_PRECISION bigint(21) unsigned YES NULL
+NUMERIC_SCALE bigint(21) unsigned YES NULL
+CHARACTER_SET_NAME varchar(64) YES NULL
+COLLATION_NAME varchar(64) YES NULL
+COLUMN_TYPE longtext NO NULL
+COLUMN_KEY varchar(3) NO
+EXTRA varchar(27) NO
+PRIVILEGES varchar(80) NO
+COLUMN_COMMENT varchar(255) NO
+SHOW CREATE TABLE information_schema.COLUMNS;
+Table Create Table
+COLUMNS CREATE TEMPORARY TABLE `COLUMNS` (
+ `TABLE_CATALOG` varchar(512) DEFAULT NULL,
+ `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
+ `TABLE_NAME` varchar(64) NOT NULL DEFAULT '',
+ `COLUMN_NAME` varchar(64) NOT NULL DEFAULT '',
+ `ORDINAL_POSITION` bigint(21) unsigned NOT NULL DEFAULT '0',
+ `COLUMN_DEFAULT` longtext,
+ `IS_NULLABLE` varchar(3) NOT NULL DEFAULT '',
+ `DATA_TYPE` varchar(64) NOT NULL DEFAULT '',
+ `CHARACTER_MAXIMUM_LENGTH` bigint(21) unsigned DEFAULT NULL,
+ `CHARACTER_OCTET_LENGTH` bigint(21) unsigned DEFAULT NULL,
+ `NUMERIC_PRECISION` bigint(21) unsigned DEFAULT NULL,
+ `NUMERIC_SCALE` bigint(21) unsigned DEFAULT NULL,
+ `CHARACTER_SET_NAME` varchar(64) DEFAULT NULL,
+ `COLLATION_NAME` varchar(64) DEFAULT NULL,
+ `COLUMN_TYPE` longtext NOT NULL,
+ `COLUMN_KEY` varchar(3) NOT NULL DEFAULT '',
+ `EXTRA` varchar(27) NOT NULL DEFAULT '',
+ `PRIVILEGES` varchar(80) NOT NULL DEFAULT '',
+ `COLUMN_COMMENT` varchar(255) NOT NULL DEFAULT ''
+) ENGINE=MyISAM DEFAULT CHARSET=utf8
+SHOW COLUMNS FROM information_schema.COLUMNS;
+Field Type Null Key Default Extra
+TABLE_CATALOG varchar(512) YES NULL
+TABLE_SCHEMA varchar(64) NO
+TABLE_NAME varchar(64) NO
+COLUMN_NAME varchar(64) NO
+ORDINAL_POSITION bigint(21) unsigned NO 0
+COLUMN_DEFAULT longtext YES NULL
+IS_NULLABLE varchar(3) NO
+DATA_TYPE varchar(64) NO
+CHARACTER_MAXIMUM_LENGTH bigint(21) unsigned YES NULL
+CHARACTER_OCTET_LENGTH bigint(21) unsigned YES NULL
+NUMERIC_PRECISION bigint(21) unsigned YES NULL
+NUMERIC_SCALE bigint(21) unsigned YES NULL
+CHARACTER_SET_NAME varchar(64) YES NULL
+COLLATION_NAME varchar(64) YES NULL
+COLUMN_TYPE longtext NO NULL
+COLUMN_KEY varchar(3) NO
+EXTRA varchar(27) NO
+PRIVILEGES varchar(80) NO
+COLUMN_COMMENT varchar(255) NO
+SELECT table_catalog, table_schema, table_name, column_name
+FROM information_schema.columns WHERE table_catalog IS NOT NULL;
+table_catalog table_schema table_name column_name
+###############################################################################
+# Testcase 3.2.6.2 + 3.2.6.3: INFORMATION_SCHEMA.COLUMNS accessible information
+###############################################################################
+DROP DATABASE IF EXISTS db_datadict;
+CREATE DATABASE db_datadict;
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+DROP USER 'testuser2'@'localhost';
+CREATE USER 'testuser2'@'localhost';
+CREATE TABLE db_datadict.t1
+(f1 CHAR(10), f2 TEXT, f3 DATE, f4 INT AUTO_INCREMENT,
+UNIQUE INDEX MUL_IDX(f1,f3), PRIMARY KEY (f4))
+ENGINE = <other_engine_type>;
+CREATE VIEW db_datadict.v1 AS SELECT 1 AS f1, 1 AS f2;
+GRANT SELECT(f1, f2) ON db_datadict.t1 TO 'testuser1'@'localhost';
+GRANT SELECT(f2) ON db_datadict.v1 TO 'testuser1'@'localhost';
+CREATE TABLE db_datadict.t2
+(f1 CHAR(10), f2 TEXT, f3 DATE, f4 INT, PRIMARY KEY (f1,f4))
+ENGINE = <other_engine_type>;
+GRANT INSERT(f1, f2) ON db_datadict.t2 TO 'testuser2'@'localhost';
+SELECT * FROM information_schema.columns
+WHERE table_schema = 'db_datadict'
+ORDER BY table_schema, table_name, ordinal_position;
+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
+NULL db_datadict t1 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) MUL select,insert,update,references
+NULL db_datadict t1 f2 2 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references
+NULL db_datadict t1 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
+NULL db_datadict t1 f4 4 NULL NO int NULL NULL 10 0 NULL NULL int(11) PRI auto_increment select,insert,update,references
+NULL db_datadict t2 f1 1 NO char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) PRI select,insert,update,references
+NULL db_datadict t2 f2 2 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references
+NULL db_datadict t2 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
+NULL db_datadict t2 f4 4 0 NO int NULL NULL 10 0 NULL NULL int(11) PRI select,insert,update,references
+NULL db_datadict v1 f1 1 0 NO int NULL NULL 10 0 NULL NULL int(1) select,insert,update,references
+NULL db_datadict v1 f2 2 0 NO int NULL NULL 10 0 NULL NULL int(1) select,insert,update,references
+SHOW COLUMNS FROM db_datadict.t1;
+Field Type Null Key Default Extra
+f1 char(10) YES MUL NULL
+f2 text YES NULL
+f3 date YES NULL
+f4 int(11) NO PRI NULL auto_increment
+SHOW COLUMNS FROM db_datadict.t2;
+Field Type Null Key Default Extra
+f1 char(10) NO PRI
+f2 text YES NULL
+f3 date YES NULL
+f4 int(11) NO PRI 0
+SHOW COLUMNS FROM db_datadict.v1;
+Field Type Null Key Default Extra
+f1 int(1) NO 0
+f2 int(1) NO 0
+# Establish connection testuser1 (user=testuser1)
+SELECT * FROM information_schema.columns
+WHERE table_schema = 'db_datadict'
+ORDER BY table_schema, table_name, ordinal_position;
+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
+NULL db_datadict t1 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) MUL select
+NULL db_datadict t1 f2 2 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select
+NULL db_datadict v1 f2 2 0 NO int NULL NULL 10 0 NULL NULL int(1) select
+SHOW COLUMNS FROM db_datadict.t1;
+Field Type Null Key Default Extra
+f1 char(10) YES MUL NULL
+f2 text YES NULL
+SHOW COLUMNS FROM db_datadict.t2;
+ERROR 42000: SELECT command denied to user 'testuser1'@'localhost' for table 't2'
+SHOW COLUMNS FROM db_datadict.v1;
+Field Type Null Key Default Extra
+f2 int(1) NO 0
+# Establish connection testuser2 (user=testuser2)
+SELECT * FROM information_schema.columns
+WHERE table_schema = 'db_datadict'
+ORDER BY table_schema, table_name, ordinal_position;
+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
+NULL db_datadict t2 f1 1 NO char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) PRI insert
+NULL db_datadict t2 f2 2 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text insert
+SHOW COLUMNS FROM db_datadict.t1;
+ERROR 42000: SELECT command denied to user 'testuser2'@'localhost' for table 't1'
+SHOW COLUMNS FROM db_datadict.t2;
+Field Type Null Key Default Extra
+f1 char(10) NO PRI
+f2 text YES NULL
+SHOW COLUMNS FROM db_datadict.v1;
+ERROR 42000: SELECT command denied to user 'testuser2'@'localhost' for table 'v1'
+# Switch to connection default and close connections testuser1, testuser2
+DROP USER 'testuser1'@'localhost';
+DROP USER 'testuser2'@'localhost';
+DROP DATABASE IF EXISTS db_datadict;
+###############################################################################
+# Testcase 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.COLUMNS modifications
+###############################################################################
+DROP TABLE IF EXISTS test.t1_my_table;
+DROP DATABASE IF EXISTS db_datadict;
+CREATE DATABASE db_datadict;
+SELECT table_name FROM information_schema.columns
+WHERE table_name LIKE 't1_my_table%';
+table_name
+CREATE TABLE test.t1_my_table (f1 CHAR(12))
+DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci
+ENGINE = <engine_type>;
+SELECT * FROM information_schema.columns
+WHERE table_name = 't1_my_table';
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME t1_my_table
+COLUMN_NAME f1
+ORDINAL_POSITION 1
+COLUMN_DEFAULT NULL
+IS_NULLABLE YES
+DATA_TYPE char
+CHARACTER_MAXIMUM_LENGTH 12
+CHARACTER_OCTET_LENGTH 12
+NUMERIC_PRECISION NULL
+NUMERIC_SCALE NULL
+CHARACTER_SET_NAME latin1
+COLLATION_NAME latin1_swedish_ci
+COLUMN_TYPE char(12)
+COLUMN_KEY
+EXTRA
+PRIVILEGES select,insert,update,references
+COLUMN_COMMENT
+SELECT table_name FROM information_schema.columns
+WHERE table_name LIKE 't1_my_table%';
+table_name
+t1_my_table
+RENAME TABLE test.t1_my_table TO test.t1_my_tablex;
+SELECT table_name FROM information_schema.columns
+WHERE table_name LIKE 't1_my_table%';
+table_name
+t1_my_tablex
+SELECT table_schema,table_name FROM information_schema.columns
+WHERE table_name = 't1_my_tablex';
+table_schema table_name
+test t1_my_tablex
+RENAME TABLE test.t1_my_tablex TO db_datadict.t1_my_tablex;
+SELECT table_schema,table_name FROM information_schema.columns
+WHERE table_name = 't1_my_tablex';
+table_schema table_name
+db_datadict t1_my_tablex
+SELECT table_name, column_name FROM information_schema.columns
+WHERE table_name = 't1_my_tablex';
+table_name column_name
+t1_my_tablex f1
+ALTER TABLE db_datadict.t1_my_tablex CHANGE COLUMN f1 first_col CHAR(12);
+SELECT table_name, column_name FROM information_schema.columns
+WHERE table_name = 't1_my_tablex';
+table_name column_name
+t1_my_tablex first_col
+SELECT table_name, column_name, character_maximum_length,
+character_octet_length, column_type
+FROM information_schema.columns
+WHERE table_name = 't1_my_tablex';
+table_name column_name character_maximum_length character_octet_length column_type
+t1_my_tablex first_col 12 12 char(12)
+ALTER TABLE db_datadict.t1_my_tablex
+MODIFY COLUMN first_col CHAR(20);
+SELECT table_name, column_name, character_maximum_length,
+character_octet_length, column_type
+FROM information_schema.columns
+WHERE table_name = 't1_my_tablex';
+table_name column_name character_maximum_length character_octet_length column_type
+t1_my_tablex first_col 20 20 char(20)
+SELECT table_name, column_name, character_maximum_length,
+character_octet_length, column_type
+FROM information_schema.columns
+WHERE table_name = 't1_my_tablex';
+table_name column_name character_maximum_length character_octet_length column_type
+t1_my_tablex first_col 20 20 char(20)
+ALTER TABLE db_datadict.t1_my_tablex
+MODIFY COLUMN first_col VARCHAR(20);
+SELECT table_name, column_name, character_maximum_length,
+character_octet_length, column_type
+FROM information_schema.columns
+WHERE table_name = 't1_my_tablex';
+table_name column_name character_maximum_length character_octet_length column_type
+t1_my_tablex first_col 20 20 varchar(20)
+SELECT table_name, column_name, column_default
+FROM information_schema.columns
+WHERE table_name = 't1_my_tablex';
+table_name column_name column_default
+t1_my_tablex first_col NULL
+ALTER TABLE db_datadict.t1_my_tablex
+MODIFY COLUMN first_col CHAR(10) DEFAULT 'hello';
+SELECT table_name, column_name, column_default
+FROM information_schema.columns
+WHERE table_name = 't1_my_tablex';
+table_name column_name column_default
+t1_my_tablex first_col hello
+SELECT table_name, column_name, is_nullable
+FROM information_schema.columns
+WHERE table_name = 't1_my_tablex';
+table_name column_name is_nullable
+t1_my_tablex first_col YES
+ALTER TABLE db_datadict.t1_my_tablex
+MODIFY COLUMN first_col CHAR(10) NOT NULL;
+SELECT table_name, column_name, is_nullable
+FROM information_schema.columns
+WHERE table_name = 't1_my_tablex';
+table_name column_name is_nullable
+t1_my_tablex first_col NO
+SELECT table_name, column_name, collation_name
+FROM information_schema.columns
+WHERE table_name = 't1_my_tablex';
+table_name column_name collation_name
+t1_my_tablex first_col latin1_swedish_ci
+ALTER TABLE db_datadict.t1_my_tablex
+MODIFY COLUMN first_col CHAR(10) COLLATE 'latin1_general_cs';
+SELECT table_name, column_name, collation_name
+FROM information_schema.columns
+WHERE table_name = 't1_my_tablex';
+table_name column_name collation_name
+t1_my_tablex first_col latin1_general_cs
+SELECT table_name, column_name, character_maximum_length,
+character_octet_length, character_set_name
+FROM information_schema.columns
+WHERE table_name = 't1_my_tablex';
+table_name column_name character_maximum_length character_octet_length character_set_name
+t1_my_tablex first_col 10 10 latin1
+ALTER TABLE db_datadict.t1_my_tablex
+MODIFY COLUMN first_col CHAR(10) CHARACTER SET utf8;
+SELECT table_name, column_name, character_maximum_length,
+character_octet_length, character_set_name
+FROM information_schema.columns
+WHERE table_name = 't1_my_tablex';
+table_name column_name character_maximum_length character_octet_length character_set_name
+t1_my_tablex first_col 10 30 utf8
+SELECT table_name, column_name, column_comment
+FROM information_schema.columns
+WHERE table_name = 't1_my_tablex';
+table_name column_name column_comment
+t1_my_tablex first_col
+ALTER TABLE db_datadict.t1_my_tablex
+MODIFY COLUMN first_col CHAR(10) COMMENT 'Hello';
+SELECT table_name, column_name, column_comment
+FROM information_schema.columns
+WHERE table_name = 't1_my_tablex';
+table_name column_name column_comment
+t1_my_tablex first_col Hello
+SELECT table_name, column_name
+FROM information_schema.columns
+WHERE table_name = 't1_my_tablex';
+table_name column_name
+t1_my_tablex first_col
+ALTER TABLE db_datadict.t1_my_tablex
+ADD COLUMN second_col CHAR(10);
+SELECT table_name, column_name
+FROM information_schema.columns
+WHERE table_name = 't1_my_tablex';
+table_name column_name
+t1_my_tablex first_col
+t1_my_tablex second_col
+SELECT table_name, column_name, ordinal_position
+FROM information_schema.columns
+WHERE table_name = 't1_my_tablex'
+ORDER BY table_name, column_name;
+table_name column_name ordinal_position
+t1_my_tablex first_col 1
+t1_my_tablex second_col 2
+ALTER TABLE db_datadict.t1_my_tablex
+MODIFY COLUMN second_col CHAR(10) FIRST;
+SELECT table_name, column_name, ordinal_position
+FROM information_schema.columns
+WHERE table_name = 't1_my_tablex'
+ORDER BY table_name, column_name;
+table_name column_name ordinal_position
+t1_my_tablex first_col 2
+t1_my_tablex second_col 1
+SELECT table_name, column_name
+FROM information_schema.columns
+WHERE table_name = 't1_my_tablex';
+table_name column_name
+t1_my_tablex second_col
+t1_my_tablex first_col
+ALTER TABLE db_datadict.t1_my_tablex
+DROP COLUMN first_col;
+SELECT table_name, column_name
+FROM information_schema.columns
+WHERE table_name = 't1_my_tablex';
+table_name column_name
+t1_my_tablex second_col
+SELECT table_name, column_name, column_key
+FROM information_schema.columns
+WHERE table_name = 't1_my_tablex';
+table_name column_name column_key
+t1_my_tablex second_col
+ALTER TABLE db_datadict.t1_my_tablex
+ADD UNIQUE INDEX IDX(second_col);
+SELECT table_name, column_name, column_key
+FROM information_schema.columns
+WHERE table_name = 't1_my_tablex';
+table_name column_name column_key
+t1_my_tablex second_col UNI
+SELECT table_name, column_name
+FROM information_schema.columns
+WHERE table_name = 't1_my_tablex';
+table_name column_name
+t1_my_tablex second_col
+DROP TABLE db_datadict.t1_my_tablex;
+SELECT table_name, column_name
+FROM information_schema.columns
+WHERE table_name = 't1_my_tablex';
+table_name column_name
+CREATE VIEW test.t1_my_tablex
+AS SELECT 1 AS "col1", 'A' collate latin1_german1_ci AS "col2";
+SELECT * FROM information_schema.columns
+WHERE table_name = 't1_my_tablex'
+ORDER BY table_name, column_name;
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME t1_my_tablex
+COLUMN_NAME col1
+ORDINAL_POSITION 1
+COLUMN_DEFAULT 0
+IS_NULLABLE NO
+DATA_TYPE int
+CHARACTER_MAXIMUM_LENGTH NULL
+CHARACTER_OCTET_LENGTH NULL
+NUMERIC_PRECISION 10
+NUMERIC_SCALE 0
+CHARACTER_SET_NAME NULL
+COLLATION_NAME NULL
+COLUMN_TYPE int(1)
+COLUMN_KEY
+EXTRA
+PRIVILEGES select,insert,update,references
+COLUMN_COMMENT
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME t1_my_tablex
+COLUMN_NAME col2
+ORDINAL_POSITION 2
+COLUMN_DEFAULT
+IS_NULLABLE NO
+DATA_TYPE varchar
+CHARACTER_MAXIMUM_LENGTH 1
+CHARACTER_OCTET_LENGTH 1
+NUMERIC_PRECISION NULL
+NUMERIC_SCALE NULL
+CHARACTER_SET_NAME latin1
+COLLATION_NAME latin1_german1_ci
+COLUMN_TYPE varchar(1)
+COLUMN_KEY
+EXTRA
+PRIVILEGES select,insert,update,references
+COLUMN_COMMENT
+DROP VIEW test.t1_my_tablex;
+SELECT table_name FROM information_schema.columns
+WHERE table_name = 't1_my_tablex';
+table_name
+CREATE TABLE db_datadict.t1_my_tablex
+ENGINE = <engine_type> AS
+SELECT 1;
+SELECT table_name FROM information_schema.columns
+WHERE table_name = 't1_my_tablex';
+table_name
+t1_my_tablex
+DROP DATABASE db_datadict;
+SELECT table_name FROM information_schema.columns
+WHERE table_name = 't1_my_tablex';
+table_name
+########################################################################
+# Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and
+# DDL on INFORMATION_SCHEMA table are not supported
+########################################################################
+DROP DATABASE IF EXISTS db_datadict;
+DROP TABLE IF EXISTS test.t1;
+CREATE DATABASE db_datadict;
+CREATE TABLE test.t1 (f1 BIGINT);
+INSERT INTO information_schema.columns (table_schema,table_name,column_name)
+VALUES('test','t1', 'f2');
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+INSERT INTO information_schema.columns (table_schema,table_name,column_name)
+VALUES('test','t2', 'f1');
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+UPDATE information_schema.columns SET table_name = 't4' WHERE table_name = 't1';
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DELETE FROM information_schema.columns WHERE table_name = 't1';
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+TRUNCATE information_schema.columns;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+CREATE INDEX i3 ON information_schema.columns(table_name);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.columns ADD f1 INT;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DROP TABLE information_schema.columns;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.columns RENAME db_datadict.columns;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.columns RENAME information_schema.xcolumns;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DROP TABLE test.t1;
+DROP DATABASE db_datadict;
diff --git a/mysql-test/suite/funcs_1/r/is_columns_innodb.result b/mysql-test/suite/funcs_1/r/is_columns_innodb.result
new file mode 100644
index 00000000000..b0834e7b127
--- /dev/null
+++ b/mysql-test/suite/funcs_1/r/is_columns_innodb.result
@@ -0,0 +1,1140 @@
+DROP DATABASE IF EXISTS test1;
+CREATE DATABASE test1;
+USE test;
+drop table if exists tb1 ;
+create table tb1 (
+f1 char(0),
+f2 char(0) binary,
+f3 char(0) ascii,
+f4 tinytext unicode,
+f5 text,
+f6 mediumtext,
+f7 longtext,
+f8 tinyblob,
+f9 blob,
+f10 mediumblob,
+f11 longblob,
+f12 binary,
+f13 tinyint,
+f14 tinyint unsigned,
+f15 tinyint zerofill,
+f16 tinyint unsigned zerofill,
+f17 smallint,
+f18 smallint unsigned,
+f19 smallint zerofill,
+f20 smallint unsigned zerofill,
+f21 mediumint,
+f22 mediumint unsigned,
+f23 mediumint zerofill,
+f24 mediumint unsigned zerofill,
+f25 int,
+f26 int unsigned,
+f27 int zerofill,
+f28 int unsigned zerofill,
+f29 bigint,
+f30 bigint unsigned,
+f31 bigint zerofill,
+f32 bigint unsigned zerofill,
+f33 decimal,
+f34 decimal unsigned,
+f35 decimal zerofill,
+f36 decimal unsigned zerofill not null DEFAULT 9.9,
+f37 decimal (0) not null DEFAULT 9.9,
+f38 decimal (64) not null DEFAULT 9.9,
+f39 decimal (0) unsigned not null DEFAULT 9.9,
+f40 decimal (64) unsigned not null DEFAULT 9.9,
+f41 decimal (0) zerofill not null DEFAULT 9.9,
+f42 decimal (64) zerofill not null DEFAULT 9.9,
+f43 decimal (0) unsigned zerofill not null DEFAULT 9.9,
+f44 decimal (64) unsigned zerofill not null DEFAULT 9.9,
+f45 decimal (0,0) not null DEFAULT 9.9,
+f46 decimal (63,30) not null DEFAULT 9.9,
+f47 decimal (0,0) unsigned not null DEFAULT 9.9,
+f48 decimal (63,30) unsigned not null DEFAULT 9.9,
+f49 decimal (0,0) zerofill not null DEFAULT 9.9,
+f50 decimal (63,30) zerofill not null DEFAULT 9.9,
+f51 decimal (0,0) unsigned zerofill not null DEFAULT 9.9,
+f52 decimal (63,30) unsigned zerofill not null DEFAULT 9.9,
+f53 numeric not null DEFAULT 99,
+f54 numeric unsigned not null DEFAULT 99,
+f55 numeric zerofill not null DEFAULT 99,
+f56 numeric unsigned zerofill not null DEFAULT 99,
+f57 numeric (0) not null DEFAULT 99,
+f58 numeric (64) not null DEFAULT 99
+) engine = innodb;
+Warnings:
+Note 1265 Data truncated for column 'f36' at row 1
+Note 1265 Data truncated for column 'f37' at row 1
+Note 1265 Data truncated for column 'f38' at row 1
+Note 1265 Data truncated for column 'f39' at row 1
+Note 1265 Data truncated for column 'f40' at row 1
+Note 1265 Data truncated for column 'f41' at row 1
+Note 1265 Data truncated for column 'f42' at row 1
+Note 1265 Data truncated for column 'f43' at row 1
+Note 1265 Data truncated for column 'f44' at row 1
+Note 1265 Data truncated for column 'f45' at row 1
+Note 1265 Data truncated for column 'f47' at row 1
+Note 1265 Data truncated for column 'f49' at row 1
+Note 1265 Data truncated for column 'f51' at row 1
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/innodb_tb1.txt'
+into table tb1;
+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 = innodb;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/innodb_tb2.txt'
+into table tb2;
+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 tinytext,
+f122 text,
+f123 mediumtext,
+f124 longtext unicode,
+f125 tinyblob,
+f126 blob,
+f127 mediumblob,
+f128 longblob,
+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 = innodb;
+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_ln/funcs_1/innodb_tb3.txt'
+into table tb3;
+drop table if exists tb4;
+create table tb4 (
+f176 numeric (0) unsigned not null DEFAULT 9,
+f177 numeric (64) unsigned not null DEFAULT 9,
+f178 numeric (0) zerofill not null DEFAULT 9,
+f179 numeric (64) zerofill not null DEFAULT 9,
+f180 numeric (0) unsigned zerofill not null DEFAULT 9,
+f181 numeric (64) unsigned zerofill not null DEFAULT 9,
+f182 numeric (0,0) not null DEFAULT 9,
+f183 numeric (63,30) not null DEFAULT 9,
+f184 numeric (0,0) unsigned not null DEFAULT 9,
+f185 numeric (63,30) unsigned not null DEFAULT 9,
+f186 numeric (0,0) zerofill not null DEFAULT 9,
+f187 numeric (63,30) zerofill not null DEFAULT 9,
+f188 numeric (0,0) unsigned zerofill not null DEFAULT 9,
+f189 numeric (63,30) unsigned zerofill not null DEFAULT 9,
+f190 real not null DEFAULT 88.8,
+f191 real unsigned not null DEFAULT 88.8,
+f192 real zerofill not null DEFAULT 88.8,
+f193 real unsigned zerofill not null DEFAULT 88.8,
+f194 double not null DEFAULT 55.5,
+f195 double unsigned not null DEFAULT 55.5,
+f196 double zerofill not null DEFAULT 55.5,
+f197 double unsigned zerofill not null DEFAULT 55.5,
+f198 float,
+f199 float unsigned,
+f200 float zerofill,
+f201 float unsigned zerofill,
+f202 float(0),
+f203 float(23),
+f204 float(0) unsigned,
+f205 float(23) unsigned,
+f206 float(0) zerofill,
+f207 float(23) zerofill,
+f208 float(0) unsigned zerofill,
+f209 float(23) unsigned zerofill,
+f210 float(24),
+f211 float(53),
+f212 float(24) unsigned,
+f213 float(53) unsigned,
+f214 float(24) zerofill,
+f215 float(53) zerofill,
+f216 float(24) unsigned zerofill,
+f217 float(53) unsigned zerofill,
+f218 date,
+f219 time,
+f220 datetime,
+f221 timestamp,
+f222 year,
+f223 year(3),
+f224 year(4),
+f225 enum("1enum","2enum"),
+f226 set("1set","2set"),
+f235 char(0) unicode,
+f236 char(90),
+f237 char(255) ascii,
+f238 varchar(0),
+f239 varchar(20000) binary,
+f240 varchar(2000) unicode,
+f241 char(100) unicode
+) engine = innodb;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/innodb_tb4.txt'
+into table tb4;
+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 = innodb;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/innodb_tb2.txt'
+into table tb2;
+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 = InnoDB;
+CREATE TABLE t2 (f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
+ENGINE = InnoDB;
+CREATE TABLE t4 (f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
+ENGINE = InnoDB;
+CREATE TABLE t10 (f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
+ENGINE = InnoDB;
+CREATE TABLE t11 (f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
+ENGINE = InnoDB;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/t4.txt' INTO TABLE t1;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/t4.txt' INTO TABLE t2;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/t4.txt' INTO TABLE t4;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/t4.txt' INTO TABLE t10;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/t4.txt' INTO TABLE t11;
+drop TABLE if exists t3;
+CREATE TABLE t3 (f1 char(20), f2 char(20), f3 integer) ENGINE = InnoDB;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/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 = InnoDB;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/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 = InnoDB;
+CREATE TABLE t8 (f1 char(20),f2 char(25),f3 date,f4 int) ENGINE = InnoDB;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/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_ln/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 = InnoDB;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/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
+NULL test t1 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
+NULL test t1 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL test t1 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
+NULL test t1 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test t1 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL test t1 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test t10 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
+NULL test t10 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL test t10 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
+NULL test t10 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test t10 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL test t10 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test t11 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
+NULL test t11 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL test t11 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
+NULL test t11 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test t11 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL test t11 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test t2 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
+NULL test t2 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL test t2 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
+NULL test t2 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test t2 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL test t2 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test t3 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
+NULL test t3 f2 2 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
+NULL test t3 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test t4 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
+NULL test t4 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL test t4 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
+NULL test t4 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test t4 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL test t4 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test t7 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
+NULL test t7 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL test t7 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
+NULL test t7 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test t8 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
+NULL test t8 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL test t8 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
+NULL test t8 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test t9 f1 1 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test t9 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL test t9 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test tb1 f1 1 NULL YES char 0 0 NULL NULL latin1 latin1_swedish_ci char(0) select,insert,update,references
+NULL test tb1 f10 10 NULL YES mediumblob 16777215 16777215 NULL NULL NULL NULL mediumblob select,insert,update,references
+NULL test tb1 f11 11 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references
+NULL test tb1 f12 12 NULL YES binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references
+NULL test tb1 f13 13 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references
+NULL test tb1 f14 14 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references
+NULL test tb1 f15 15 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
+NULL test tb1 f16 16 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
+NULL test tb1 f17 17 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references
+NULL test tb1 f18 18 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references
+NULL test tb1 f19 19 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
+NULL test tb1 f2 2 NULL YES char 0 0 NULL NULL latin1 latin1_bin char(0) select,insert,update,references
+NULL test tb1 f20 20 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
+NULL test tb1 f21 21 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references
+NULL test tb1 f22 22 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references
+NULL test tb1 f23 23 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
+NULL test tb1 f24 24 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
+NULL test tb1 f25 25 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test tb1 f26 26 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references
+NULL test tb1 f27 27 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
+NULL test tb1 f28 28 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
+NULL test tb1 f29 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references
+NULL test tb1 f3 3 NULL YES char 0 0 NULL NULL latin1 latin1_swedish_ci char(0) select,insert,update,references
+NULL test tb1 f30 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
+NULL test tb1 f31 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
+NULL test tb1 f32 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
+NULL test tb1 f33 33 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
+NULL test tb1 f34 34 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
+NULL test tb1 f35 35 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb1 f36 36 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb1 f37 37 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
+NULL test tb1 f38 38 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
+NULL test tb1 f39 39 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
+NULL test tb1 f4 4 NULL YES tinytext 127 255 NULL NULL ucs2 ucs2_general_ci tinytext select,insert,update,references
+NULL test tb1 f40 40 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
+NULL test tb1 f41 41 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb1 f42 42 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
+NULL test tb1 f43 43 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb1 f44 44 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
+NULL test tb1 f45 45 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
+NULL test tb1 f46 46 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
+NULL test tb1 f47 47 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
+NULL test tb1 f48 48 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
+NULL test tb1 f49 49 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb1 f5 5 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references
+NULL test tb1 f50 50 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
+NULL test tb1 f51 51 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb1 f52 52 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
+NULL test tb1 f53 53 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
+NULL test tb1 f54 54 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
+NULL test tb1 f55 55 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb1 f56 56 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb1 f57 57 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
+NULL test tb1 f58 58 99 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
+NULL test tb1 f6 6 NULL YES mediumtext 16777215 16777215 NULL NULL latin1 latin1_swedish_ci mediumtext select,insert,update,references
+NULL test tb1 f7 7 NULL YES longtext 4294967295 4294967295 NULL NULL latin1 latin1_swedish_ci longtext select,insert,update,references
+NULL test tb1 f8 8 NULL YES tinyblob 255 255 NULL NULL NULL NULL tinyblob select,insert,update,references
+NULL test tb1 f9 9 NULL YES blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
+NULL test tb2 f100 42 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
+NULL test tb2 f101 43 2000-01-01 NO date NULL NULL NULL NULL NULL NULL date select,insert,update,references
+NULL test tb2 f102 44 00:00:20 NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references
+NULL test tb2 f103 45 0002-02-02 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
+NULL test tb2 f104 46 2000-12-31 23:59:59 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
+NULL test tb2 f105 47 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
+NULL test tb2 f106 48 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
+NULL test tb2 f107 49 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
+NULL test tb2 f108 50 1enum NO enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references
+NULL test tb2 f109 51 1set NO set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references
+NULL test tb2 f59 1 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
+NULL test tb2 f60 2 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
+NULL test tb2 f61 3 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb2 f62 4 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
+NULL test tb2 f63 5 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb2 f64 6 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
+NULL test tb2 f65 7 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
+NULL test tb2 f66 8 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
+NULL test tb2 f67 9 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
+NULL test tb2 f68 10 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
+NULL test tb2 f69 11 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb2 f70 12 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
+NULL test tb2 f71 13 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb2 f72 14 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
+NULL test tb2 f73 15 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
+NULL test tb2 f74 16 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
+NULL test tb2 f75 17 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
+NULL test tb2 f76 18 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
+NULL test tb2 f77 19 7.7 YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
+NULL test tb2 f78 20 7.7 YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
+NULL test tb2 f79 21 00000000000000000007.7 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
+NULL test tb2 f80 22 00000000000000000008.8 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
+NULL test tb2 f81 23 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
+NULL test tb2 f82 24 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
+NULL test tb2 f83 25 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test tb2 f84 26 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test tb2 f85 27 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
+NULL test tb2 f86 28 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
+NULL test tb2 f87 29 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
+NULL test tb2 f88 30 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
+NULL test tb2 f89 31 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test tb2 f90 32 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test tb2 f91 33 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test tb2 f92 34 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test tb2 f93 35 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
+NULL test tb2 f94 36 8.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
+NULL test tb2 f95 37 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
+NULL test tb2 f96 38 8.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
+NULL test tb2 f97 39 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test tb2 f98 40 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
+NULL test tb2 f99 41 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test tb3 f118 1 a NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
+NULL test tb3 f119 2  NO char 1 1 NULL NULL latin1 latin1_bin char(1) select,insert,update,references
+NULL test tb3 f120 3  NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
+NULL test tb3 f121 4 NULL YES tinytext 255 255 NULL NULL latin1 latin1_swedish_ci tinytext select,insert,update,references
+NULL test tb3 f122 5 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references
+NULL test tb3 f123 6 NULL YES mediumtext 16777215 16777215 NULL NULL latin1 latin1_swedish_ci mediumtext select,insert,update,references
+NULL test tb3 f124 7 NULL YES longtext 2147483647 4294967295 NULL NULL ucs2 ucs2_general_ci longtext select,insert,update,references
+NULL test tb3 f125 8 NULL YES tinyblob 255 255 NULL NULL NULL NULL tinyblob select,insert,update,references
+NULL test tb3 f126 9 NULL YES blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
+NULL test tb3 f127 10 NULL YES mediumblob 16777215 16777215 NULL NULL NULL NULL mediumblob select,insert,update,references
+NULL test tb3 f128 11 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references
+NULL test tb3 f129 12  NO binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references
+NULL test tb3 f130 13 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references
+NULL test tb3 f131 14 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references
+NULL test tb3 f132 15 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
+NULL test tb3 f133 16 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
+NULL test tb3 f134 17 999 NO smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references
+NULL test tb3 f135 18 999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references
+NULL test tb3 f136 19 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
+NULL test tb3 f137 20 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
+NULL test tb3 f138 21 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references
+NULL test tb3 f139 22 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references
+NULL test tb3 f140 23 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
+NULL test tb3 f141 24 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
+NULL test tb3 f142 25 99999 NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test tb3 f143 26 99999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references
+NULL test tb3 f144 27 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
+NULL test tb3 f145 28 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
+NULL test tb3 f146 29 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references
+NULL test tb3 f147 30 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
+NULL test tb3 f148 31 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
+NULL test tb3 f149 32 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
+NULL test tb3 f150 33 1000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
+NULL test tb3 f151 34 999 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
+NULL test tb3 f152 35 0000001000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb3 f153 36 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb3 f154 37 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
+NULL test tb3 f155 38 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
+NULL test tb3 f156 39 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
+NULL test tb3 f157 40 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
+NULL test tb3 f158 41 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb3 f159 42 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
+NULL test tb3 f160 43 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb3 f161 44 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
+NULL test tb3 f162 45 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
+NULL test tb3 f163 46 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
+NULL test tb3 f164 47 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
+NULL test tb3 f165 48 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
+NULL test tb3 f166 49 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb3 f167 50 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
+NULL test tb3 f168 51 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb3 f169 52 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
+NULL test tb3 f170 53 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
+NULL test tb3 f171 54 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
+NULL test tb3 f172 55 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb3 f173 56 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb3 f174 57 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
+NULL test tb3 f175 58 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
+NULL test tb4 f176 1 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
+NULL test tb4 f177 2 9 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
+NULL test tb4 f178 3 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb4 f179 4 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
+NULL test tb4 f180 5 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb4 f181 6 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
+NULL test tb4 f182 7 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
+NULL test tb4 f183 8 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
+NULL test tb4 f184 9 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
+NULL test tb4 f185 10 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
+NULL test tb4 f186 11 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb4 f187 12 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
+NULL test tb4 f188 13 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb4 f189 14 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
+NULL test tb4 f190 15 88.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
+NULL test tb4 f191 16 88.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
+NULL test tb4 f192 17 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
+NULL test tb4 f193 18 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
+NULL test tb4 f194 19 55.5 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
+NULL test tb4 f195 20 55.5 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
+NULL test tb4 f196 21 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
+NULL test tb4 f197 22 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
+NULL test tb4 f198 23 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
+NULL test tb4 f199 24 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
+NULL test tb4 f200 25 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test tb4 f201 26 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test tb4 f202 27 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
+NULL test tb4 f203 28 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
+NULL test tb4 f204 29 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
+NULL test tb4 f205 30 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
+NULL test tb4 f206 31 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test tb4 f207 32 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test tb4 f208 33 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test tb4 f209 34 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test tb4 f210 35 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
+NULL test tb4 f211 36 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
+NULL test tb4 f212 37 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
+NULL test tb4 f213 38 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
+NULL test tb4 f214 39 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test tb4 f215 40 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
+NULL test tb4 f216 41 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test tb4 f217 42 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
+NULL test tb4 f218 43 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
+NULL test tb4 f219 44 NULL YES time NULL NULL NULL NULL NULL NULL time select,insert,update,references
+NULL test tb4 f220 45 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
+NULL test tb4 f221 46 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp on update CURRENT_TIMESTAMP select,insert,update,references
+NULL test tb4 f222 47 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
+NULL test tb4 f223 48 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
+NULL test tb4 f224 49 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
+NULL test tb4 f225 50 NULL YES enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references
+NULL test tb4 f226 51 NULL YES set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references
+NULL test tb4 f235 52 NULL YES char 0 0 NULL NULL ucs2 ucs2_general_ci char(0) select,insert,update,references
+NULL test tb4 f236 53 NULL YES char 90 90 NULL NULL latin1 latin1_swedish_ci char(90) select,insert,update,references
+NULL test tb4 f237 54 NULL YES char 255 255 NULL NULL latin1 latin1_swedish_ci char(255) select,insert,update,references
+NULL test tb4 f238 55 NULL YES varchar 0 0 NULL NULL latin1 latin1_swedish_ci varchar(0) select,insert,update,references
+NULL test tb4 f239 56 NULL YES varchar 20000 20000 NULL NULL latin1 latin1_bin varchar(20000) select,insert,update,references
+NULL test tb4 f240 57 NULL YES varchar 2000 4000 NULL NULL ucs2 ucs2_general_ci varchar(2000) select,insert,update,references
+NULL test tb4 f241 58 NULL YES char 100 200 NULL NULL ucs2 ucs2_general_ci char(100) select,insert,update,references
+NULL test1 tb2 f100 42 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
+NULL test1 tb2 f101 43 2000-01-01 NO date NULL NULL NULL NULL NULL NULL date select,insert,update,references
+NULL test1 tb2 f102 44 00:00:20 NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references
+NULL test1 tb2 f103 45 0002-02-02 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
+NULL test1 tb2 f104 46 2000-12-31 23:59:59 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
+NULL test1 tb2 f105 47 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
+NULL test1 tb2 f106 48 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
+NULL test1 tb2 f107 49 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
+NULL test1 tb2 f108 50 1enum NO enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references
+NULL test1 tb2 f109 51 1set NO set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references
+NULL test1 tb2 f59 1 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
+NULL test1 tb2 f60 2 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
+NULL test1 tb2 f61 3 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test1 tb2 f62 4 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
+NULL test1 tb2 f63 5 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test1 tb2 f64 6 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
+NULL test1 tb2 f65 7 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
+NULL test1 tb2 f66 8 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
+NULL test1 tb2 f67 9 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
+NULL test1 tb2 f68 10 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
+NULL test1 tb2 f69 11 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test1 tb2 f70 12 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
+NULL test1 tb2 f71 13 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test1 tb2 f72 14 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
+NULL test1 tb2 f73 15 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
+NULL test1 tb2 f74 16 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
+NULL test1 tb2 f75 17 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
+NULL test1 tb2 f76 18 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
+NULL test1 tb2 f77 19 7.7 YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
+NULL test1 tb2 f78 20 7.7 YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
+NULL test1 tb2 f79 21 00000000000000000007.7 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
+NULL test1 tb2 f80 22 00000000000000000008.8 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
+NULL test1 tb2 f81 23 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
+NULL test1 tb2 f82 24 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
+NULL test1 tb2 f83 25 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test1 tb2 f84 26 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test1 tb2 f85 27 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
+NULL test1 tb2 f86 28 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
+NULL test1 tb2 f87 29 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
+NULL test1 tb2 f88 30 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
+NULL test1 tb2 f89 31 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test1 tb2 f90 32 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test1 tb2 f91 33 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test1 tb2 f92 34 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test1 tb2 f93 35 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
+NULL test1 tb2 f94 36 8.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
+NULL test1 tb2 f95 37 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
+NULL test1 tb2 f96 38 8.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
+NULL test1 tb2 f97 39 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test1 tb2 f98 40 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
+NULL test1 tb2 f99 41 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test4 t6 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
+NULL test4 t6 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL test4 t6 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
+NULL test4 t6 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test4 t6 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL 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 binary NULL NULL
+1.0000 blob NULL NULL
+1.0000 longblob NULL NULL
+1.0000 mediumblob NULL NULL
+1.0000 tinyblob NULL NULL
+1.0000 char latin1 latin1_bin
+1.0000 varchar latin1 latin1_bin
+1.0000 char latin1 latin1_swedish_ci
+1.0000 enum latin1 latin1_swedish_ci
+1.0000 longtext latin1 latin1_swedish_ci
+1.0000 mediumtext latin1 latin1_swedish_ci
+1.0000 set latin1 latin1_swedish_ci
+1.0000 text latin1 latin1_swedish_ci
+1.0000 tinytext 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
+2.0000 char ucs2 ucs2_general_ci
+2.0000 longtext 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 bigint NULL NULL
+NULL date NULL NULL
+NULL datetime NULL NULL
+NULL decimal NULL NULL
+NULL double NULL NULL
+NULL double unsigned NULL NULL
+NULL double unsigned zerofill NULL NULL
+NULL float NULL NULL
+NULL float unsigned NULL NULL
+NULL float unsigned zerofill NULL NULL
+NULL int NULL NULL
+NULL mediumint NULL NULL
+NULL smallint NULL NULL
+NULL time NULL NULL
+NULL timestamp NULL NULL
+NULL tinyint NULL NULL
+NULL year NULL NULL
+NULL char latin1 latin1_bin
+NULL char latin1 latin1_swedish_ci
+NULL varchar latin1 latin1_swedish_ci
+NULL char 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
+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)
+NULL test tb1 f1 char 0 0 latin1 latin1_swedish_ci char(0)
+NULL test tb1 f2 char 0 0 latin1 latin1_bin char(0)
+NULL test tb1 f3 char 0 0 latin1 latin1_swedish_ci char(0)
+2.0079 test tb1 f4 tinytext 127 255 ucs2 ucs2_general_ci tinytext
+1.0000 test tb1 f5 text 65535 65535 latin1 latin1_swedish_ci text
+1.0000 test tb1 f6 mediumtext 16777215 16777215 latin1 latin1_swedish_ci mediumtext
+1.0000 test tb1 f7 longtext 4294967295 4294967295 latin1 latin1_swedish_ci longtext
+1.0000 test tb1 f8 tinyblob 255 255 NULL NULL tinyblob
+1.0000 test tb1 f9 blob 65535 65535 NULL NULL blob
+1.0000 test tb1 f10 mediumblob 16777215 16777215 NULL NULL mediumblob
+1.0000 test tb1 f11 longblob 4294967295 4294967295 NULL NULL longblob
+1.0000 test tb1 f12 binary 1 1 NULL NULL binary(1)
+NULL test tb1 f13 tinyint NULL NULL NULL NULL tinyint(4)
+NULL test tb1 f14 tinyint NULL NULL NULL NULL tinyint(3) unsigned
+NULL test tb1 f15 tinyint NULL NULL NULL NULL tinyint(3) unsigned zerofill
+NULL test tb1 f16 tinyint NULL NULL NULL NULL tinyint(3) unsigned zerofill
+NULL test tb1 f17 smallint NULL NULL NULL NULL smallint(6)
+NULL test tb1 f18 smallint NULL NULL NULL NULL smallint(5) unsigned
+NULL test tb1 f19 smallint NULL NULL NULL NULL smallint(5) unsigned zerofill
+NULL test tb1 f20 smallint NULL NULL NULL NULL smallint(5) unsigned zerofill
+NULL test tb1 f21 mediumint NULL NULL NULL NULL mediumint(9)
+NULL test tb1 f22 mediumint NULL NULL NULL NULL mediumint(8) unsigned
+NULL test tb1 f23 mediumint NULL NULL NULL NULL mediumint(8) unsigned zerofill
+NULL test tb1 f24 mediumint NULL NULL NULL NULL mediumint(8) unsigned zerofill
+NULL test tb1 f25 int NULL NULL NULL NULL int(11)
+NULL test tb1 f26 int NULL NULL NULL NULL int(10) unsigned
+NULL test tb1 f27 int NULL NULL NULL NULL int(10) unsigned zerofill
+NULL test tb1 f28 int NULL NULL NULL NULL int(10) unsigned zerofill
+NULL test tb1 f29 bigint NULL NULL NULL NULL bigint(20)
+NULL test tb1 f30 bigint NULL NULL NULL NULL bigint(20) unsigned
+NULL test tb1 f31 bigint NULL NULL NULL NULL bigint(20) unsigned zerofill
+NULL test tb1 f32 bigint NULL NULL NULL NULL bigint(20) unsigned zerofill
+NULL test tb1 f33 decimal NULL NULL NULL NULL decimal(10,0)
+NULL test tb1 f34 decimal NULL NULL NULL NULL decimal(10,0) unsigned
+NULL test tb1 f35 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb1 f36 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb1 f37 decimal NULL NULL NULL NULL decimal(10,0)
+NULL test tb1 f38 decimal NULL NULL NULL NULL decimal(64,0)
+NULL test tb1 f39 decimal NULL NULL NULL NULL decimal(10,0) unsigned
+NULL test tb1 f40 decimal NULL NULL NULL NULL decimal(64,0) unsigned
+NULL test tb1 f41 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb1 f42 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
+NULL test tb1 f43 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb1 f44 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
+NULL test tb1 f45 decimal NULL NULL NULL NULL decimal(10,0)
+NULL test tb1 f46 decimal NULL NULL NULL NULL decimal(63,30)
+NULL test tb1 f47 decimal NULL NULL NULL NULL decimal(10,0) unsigned
+NULL test tb1 f48 decimal NULL NULL NULL NULL decimal(63,30) unsigned
+NULL test tb1 f49 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb1 f50 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
+NULL test tb1 f51 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb1 f52 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
+NULL test tb1 f53 decimal NULL NULL NULL NULL decimal(10,0)
+NULL test tb1 f54 decimal NULL NULL NULL NULL decimal(10,0) unsigned
+NULL test tb1 f55 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb1 f56 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb1 f57 decimal NULL NULL NULL NULL decimal(10,0)
+NULL test tb1 f58 decimal NULL NULL NULL NULL decimal(64,0)
+NULL test tb2 f59 decimal NULL NULL NULL NULL decimal(10,0) unsigned
+NULL test tb2 f60 decimal NULL NULL NULL NULL decimal(64,0) unsigned
+NULL test tb2 f61 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb2 f62 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
+NULL test tb2 f63 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb2 f64 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
+NULL test tb2 f65 decimal NULL NULL NULL NULL decimal(10,0)
+NULL test tb2 f66 decimal NULL NULL NULL NULL decimal(63,30)
+NULL test tb2 f67 decimal NULL NULL NULL NULL decimal(10,0) unsigned
+NULL test tb2 f68 decimal NULL NULL NULL NULL decimal(63,30) unsigned
+NULL test tb2 f69 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb2 f70 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
+NULL test tb2 f71 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb2 f72 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
+NULL test tb2 f73 double NULL NULL NULL NULL double
+NULL test tb2 f74 double unsigned NULL NULL NULL NULL double unsigned
+NULL test tb2 f75 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
+NULL test tb2 f76 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
+NULL test tb2 f77 double NULL NULL NULL NULL double
+NULL test tb2 f78 double unsigned NULL NULL NULL NULL double unsigned
+NULL test tb2 f79 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
+NULL test tb2 f80 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
+NULL test tb2 f81 float NULL NULL NULL NULL float
+NULL test tb2 f82 float unsigned NULL NULL NULL NULL float unsigned
+NULL test tb2 f83 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test tb2 f84 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test tb2 f85 float NULL NULL NULL NULL float
+NULL test tb2 f86 float NULL NULL NULL NULL float
+NULL test tb2 f87 float unsigned NULL NULL NULL NULL float unsigned
+NULL test tb2 f88 float unsigned NULL NULL NULL NULL float unsigned
+NULL test tb2 f89 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test tb2 f90 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test tb2 f91 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test tb2 f92 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test tb2 f93 float NULL NULL NULL NULL float
+NULL test tb2 f94 double NULL NULL NULL NULL double
+NULL test tb2 f95 float unsigned NULL NULL NULL NULL float unsigned
+NULL test tb2 f96 double unsigned NULL NULL NULL NULL double unsigned
+NULL test tb2 f97 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test tb2 f98 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
+NULL test tb2 f99 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test tb2 f100 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
+NULL test tb2 f101 date NULL NULL NULL NULL date
+NULL test tb2 f102 time NULL NULL NULL NULL time
+NULL test tb2 f103 datetime NULL NULL NULL NULL datetime
+NULL test tb2 f104 timestamp NULL NULL NULL NULL timestamp
+NULL test tb2 f105 year NULL NULL NULL NULL year(4)
+NULL test tb2 f106 year NULL NULL NULL NULL year(4)
+NULL test tb2 f107 year NULL NULL NULL NULL year(4)
+1.0000 test tb2 f108 enum 5 5 latin1 latin1_swedish_ci enum('1enum','2enum')
+1.0000 test tb2 f109 set 9 9 latin1 latin1_swedish_ci set('1set','2set')
+1.0000 test tb3 f118 char 1 1 latin1 latin1_swedish_ci char(1)
+1.0000 test tb3 f119 char 1 1 latin1 latin1_bin char(1)
+1.0000 test tb3 f120 char 1 1 latin1 latin1_swedish_ci char(1)
+1.0000 test tb3 f121 tinytext 255 255 latin1 latin1_swedish_ci tinytext
+1.0000 test tb3 f122 text 65535 65535 latin1 latin1_swedish_ci text
+1.0000 test tb3 f123 mediumtext 16777215 16777215 latin1 latin1_swedish_ci mediumtext
+2.0000 test tb3 f124 longtext 2147483647 4294967295 ucs2 ucs2_general_ci longtext
+1.0000 test tb3 f125 tinyblob 255 255 NULL NULL tinyblob
+1.0000 test tb3 f126 blob 65535 65535 NULL NULL blob
+1.0000 test tb3 f127 mediumblob 16777215 16777215 NULL NULL mediumblob
+1.0000 test tb3 f128 longblob 4294967295 4294967295 NULL NULL longblob
+1.0000 test tb3 f129 binary 1 1 NULL NULL binary(1)
+NULL test tb3 f130 tinyint NULL NULL NULL NULL tinyint(4)
+NULL test tb3 f131 tinyint NULL NULL NULL NULL tinyint(3) unsigned
+NULL test tb3 f132 tinyint NULL NULL NULL NULL tinyint(3) unsigned zerofill
+NULL test tb3 f133 tinyint NULL NULL NULL NULL tinyint(3) unsigned zerofill
+NULL test tb3 f134 smallint NULL NULL NULL NULL smallint(6)
+NULL test tb3 f135 smallint NULL NULL NULL NULL smallint(5) unsigned
+NULL test tb3 f136 smallint NULL NULL NULL NULL smallint(5) unsigned zerofill
+NULL test tb3 f137 smallint NULL NULL NULL NULL smallint(5) unsigned zerofill
+NULL test tb3 f138 mediumint NULL NULL NULL NULL mediumint(9)
+NULL test tb3 f139 mediumint NULL NULL NULL NULL mediumint(8) unsigned
+NULL test tb3 f140 mediumint NULL NULL NULL NULL mediumint(8) unsigned zerofill
+NULL test tb3 f141 mediumint NULL NULL NULL NULL mediumint(8) unsigned zerofill
+NULL test tb3 f142 int NULL NULL NULL NULL int(11)
+NULL test tb3 f143 int NULL NULL NULL NULL int(10) unsigned
+NULL test tb3 f144 int NULL NULL NULL NULL int(10) unsigned zerofill
+NULL test tb3 f145 int NULL NULL NULL NULL int(10) unsigned zerofill
+NULL test tb3 f146 bigint NULL NULL NULL NULL bigint(20)
+NULL test tb3 f147 bigint NULL NULL NULL NULL bigint(20) unsigned
+NULL test tb3 f148 bigint NULL NULL NULL NULL bigint(20) unsigned zerofill
+NULL test tb3 f149 bigint NULL NULL NULL NULL bigint(20) unsigned zerofill
+NULL test tb3 f150 decimal NULL NULL NULL NULL decimal(10,0)
+NULL test tb3 f151 decimal NULL NULL NULL NULL decimal(10,0) unsigned
+NULL test tb3 f152 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb3 f153 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb3 f154 decimal NULL NULL NULL NULL decimal(10,0)
+NULL test tb3 f155 decimal NULL NULL NULL NULL decimal(64,0)
+NULL test tb3 f156 decimal NULL NULL NULL NULL decimal(10,0) unsigned
+NULL test tb3 f157 decimal NULL NULL NULL NULL decimal(64,0) unsigned
+NULL test tb3 f158 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb3 f159 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
+NULL test tb3 f160 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb3 f161 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
+NULL test tb3 f162 decimal NULL NULL NULL NULL decimal(10,0)
+NULL test tb3 f163 decimal NULL NULL NULL NULL decimal(63,30)
+NULL test tb3 f164 decimal NULL NULL NULL NULL decimal(10,0) unsigned
+NULL test tb3 f165 decimal NULL NULL NULL NULL decimal(63,30) unsigned
+NULL test tb3 f166 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb3 f167 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
+NULL test tb3 f168 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb3 f169 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
+NULL test tb3 f170 decimal NULL NULL NULL NULL decimal(10,0)
+NULL test tb3 f171 decimal NULL NULL NULL NULL decimal(10,0) unsigned
+NULL test tb3 f172 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb3 f173 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb3 f174 decimal NULL NULL NULL NULL decimal(10,0)
+NULL test tb3 f175 decimal NULL NULL NULL NULL decimal(64,0)
+NULL test tb4 f176 decimal NULL NULL NULL NULL decimal(10,0) unsigned
+NULL test tb4 f177 decimal NULL NULL NULL NULL decimal(64,0) unsigned
+NULL test tb4 f178 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb4 f179 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
+NULL test tb4 f180 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb4 f181 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
+NULL test tb4 f182 decimal NULL NULL NULL NULL decimal(10,0)
+NULL test tb4 f183 decimal NULL NULL NULL NULL decimal(63,30)
+NULL test tb4 f184 decimal NULL NULL NULL NULL decimal(10,0) unsigned
+NULL test tb4 f185 decimal NULL NULL NULL NULL decimal(63,30) unsigned
+NULL test tb4 f186 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb4 f187 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
+NULL test tb4 f188 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb4 f189 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
+NULL test tb4 f190 double NULL NULL NULL NULL double
+NULL test tb4 f191 double unsigned NULL NULL NULL NULL double unsigned
+NULL test tb4 f192 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
+NULL test tb4 f193 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
+NULL test tb4 f194 double NULL NULL NULL NULL double
+NULL test tb4 f195 double unsigned NULL NULL NULL NULL double unsigned
+NULL test tb4 f196 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
+NULL test tb4 f197 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
+NULL test tb4 f198 float NULL NULL NULL NULL float
+NULL test tb4 f199 float unsigned NULL NULL NULL NULL float unsigned
+NULL test tb4 f200 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test tb4 f201 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test tb4 f202 float NULL NULL NULL NULL float
+NULL test tb4 f203 float NULL NULL NULL NULL float
+NULL test tb4 f204 float unsigned NULL NULL NULL NULL float unsigned
+NULL test tb4 f205 float unsigned NULL NULL NULL NULL float unsigned
+NULL test tb4 f206 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test tb4 f207 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test tb4 f208 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test tb4 f209 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test tb4 f210 float NULL NULL NULL NULL float
+NULL test tb4 f211 double NULL NULL NULL NULL double
+NULL test tb4 f212 float unsigned NULL NULL NULL NULL float unsigned
+NULL test tb4 f213 double unsigned NULL NULL NULL NULL double unsigned
+NULL test tb4 f214 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test tb4 f215 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
+NULL test tb4 f216 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test tb4 f217 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
+NULL test tb4 f218 date NULL NULL NULL NULL date
+NULL test tb4 f219 time NULL NULL NULL NULL time
+NULL test tb4 f220 datetime NULL NULL NULL NULL datetime
+NULL test tb4 f221 timestamp NULL NULL NULL NULL timestamp
+NULL test tb4 f222 year NULL NULL NULL NULL year(4)
+NULL test tb4 f223 year NULL NULL NULL NULL year(4)
+NULL test tb4 f224 year NULL NULL NULL NULL year(4)
+1.0000 test tb4 f225 enum 5 5 latin1 latin1_swedish_ci enum('1enum','2enum')
+1.0000 test tb4 f226 set 9 9 latin1 latin1_swedish_ci set('1set','2set')
+NULL test tb4 f235 char 0 0 ucs2 ucs2_general_ci char(0)
+1.0000 test tb4 f236 char 90 90 latin1 latin1_swedish_ci char(90)
+1.0000 test tb4 f237 char 255 255 latin1 latin1_swedish_ci char(255)
+NULL test tb4 f238 varchar 0 0 latin1 latin1_swedish_ci varchar(0)
+1.0000 test tb4 f239 varchar 20000 20000 latin1 latin1_bin varchar(20000)
+2.0000 test tb4 f240 varchar 2000 4000 ucs2 ucs2_general_ci varchar(2000)
+2.0000 test tb4 f241 char 100 200 ucs2 ucs2_general_ci char(100)
+NULL test1 tb2 f59 decimal NULL NULL NULL NULL decimal(10,0) unsigned
+NULL test1 tb2 f60 decimal NULL NULL NULL NULL decimal(64,0) unsigned
+NULL test1 tb2 f61 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test1 tb2 f62 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
+NULL test1 tb2 f63 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test1 tb2 f64 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
+NULL test1 tb2 f65 decimal NULL NULL NULL NULL decimal(10,0)
+NULL test1 tb2 f66 decimal NULL NULL NULL NULL decimal(63,30)
+NULL test1 tb2 f67 decimal NULL NULL NULL NULL decimal(10,0) unsigned
+NULL test1 tb2 f68 decimal NULL NULL NULL NULL decimal(63,30) unsigned
+NULL test1 tb2 f69 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test1 tb2 f70 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
+NULL test1 tb2 f71 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test1 tb2 f72 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
+NULL test1 tb2 f73 double NULL NULL NULL NULL double
+NULL test1 tb2 f74 double unsigned NULL NULL NULL NULL double unsigned
+NULL test1 tb2 f75 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
+NULL test1 tb2 f76 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
+NULL test1 tb2 f77 double NULL NULL NULL NULL double
+NULL test1 tb2 f78 double unsigned NULL NULL NULL NULL double unsigned
+NULL test1 tb2 f79 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
+NULL test1 tb2 f80 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
+NULL test1 tb2 f81 float NULL NULL NULL NULL float
+NULL test1 tb2 f82 float unsigned NULL NULL NULL NULL float unsigned
+NULL test1 tb2 f83 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test1 tb2 f84 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test1 tb2 f85 float NULL NULL NULL NULL float
+NULL test1 tb2 f86 float NULL NULL NULL NULL float
+NULL test1 tb2 f87 float unsigned NULL NULL NULL NULL float unsigned
+NULL test1 tb2 f88 float unsigned NULL NULL NULL NULL float unsigned
+NULL test1 tb2 f89 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test1 tb2 f90 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test1 tb2 f91 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test1 tb2 f92 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test1 tb2 f93 float NULL NULL NULL NULL float
+NULL test1 tb2 f94 double NULL NULL NULL NULL double
+NULL test1 tb2 f95 float unsigned NULL NULL NULL NULL float unsigned
+NULL test1 tb2 f96 double unsigned NULL NULL NULL NULL double unsigned
+NULL test1 tb2 f97 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test1 tb2 f98 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
+NULL test1 tb2 f99 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test1 tb2 f100 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
+NULL test1 tb2 f101 date NULL NULL NULL NULL date
+NULL test1 tb2 f102 time NULL NULL NULL NULL time
+NULL test1 tb2 f103 datetime NULL NULL NULL NULL datetime
+NULL test1 tb2 f104 timestamp NULL NULL NULL NULL timestamp
+NULL test1 tb2 f105 year NULL NULL NULL NULL year(4)
+NULL test1 tb2 f106 year NULL NULL NULL NULL year(4)
+NULL test1 tb2 f107 year NULL NULL NULL NULL year(4)
+1.0000 test1 tb2 f108 enum 5 5 latin1 latin1_swedish_ci enum('1enum','2enum')
+1.0000 test1 tb2 f109 set 9 9 latin1 latin1_swedish_ci set('1set','2set')
+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;
+DROP TABLE test.tb1;
+DROP TABLE test.tb2;
+DROP TABLE test.tb3;
+DROP TABLE test.tb4;
diff --git a/mysql-test/suite/funcs_1/r/is_columns_is.result b/mysql-test/suite/funcs_1/r/is_columns_is.result
new file mode 100644
index 00000000000..e2081af7e00
--- /dev/null
+++ b/mysql-test/suite/funcs_1/r/is_columns_is.result
@@ -0,0 +1,656 @@
+SELECT * FROM information_schema.columns
+WHERE table_schema = 'information_schema'
+AND table_name <> 'profiling'
+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
+NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema CHARACTER_SETS DESCRIPTION 3 NO varchar 60 180 NULL NULL utf8 utf8_general_ci varchar(60) select
+NULL information_schema CHARACTER_SETS MAXLEN 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select
+NULL information_schema COLLATIONS CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema COLLATIONS COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema COLLATIONS ID 3 0 NO bigint NULL NULL 19 0 NULL NULL bigint(11) select
+NULL information_schema COLLATIONS IS_COMPILED 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
+NULL information_schema COLLATIONS IS_DEFAULT 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
+NULL information_schema COLLATIONS SORTLEN 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select
+NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
+NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
+NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema COLUMNS COLUMN_COMMENT 19 NO varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
+NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
+NULL information_schema COLUMNS COLUMN_KEY 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
+NULL information_schema COLUMNS COLUMN_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema COLUMNS COLUMN_TYPE 15 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
+NULL information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema COLUMNS EXTRA 17 NO varchar 27 81 NULL NULL utf8 utf8_general_ci varchar(27) select
+NULL information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
+NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
+NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
+NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
+NULL information_schema COLUMNS PRIVILEGES 18 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
+NULL information_schema COLUMNS TABLE_CATALOG 1 NULL YES varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) select
+NULL information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema COLUMN_PRIVILEGES COLUMN_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema COLUMN_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
+NULL information_schema COLUMN_PRIVILEGES IS_GRANTABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
+NULL information_schema COLUMN_PRIVILEGES PRIVILEGE_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema COLUMN_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) select
+NULL information_schema COLUMN_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema COLUMN_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema ENGINES COMMENT 3 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
+NULL information_schema ENGINES ENGINE 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema ENGINES SAVEPOINTS 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
+NULL information_schema ENGINES SUPPORT 2 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
+NULL information_schema ENGINES TRANSACTIONS 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
+NULL information_schema ENGINES XA 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
+NULL information_schema EVENTS CHARACTER_SET_CLIENT 22 NO varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32) select
+NULL information_schema EVENTS COLLATION_CONNECTION 23 NO varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32) select
+NULL information_schema EVENTS CREATED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
+NULL information_schema EVENTS DATABASE_COLLATION 24 NO varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32) select
+NULL information_schema EVENTS DEFINER 4 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
+NULL information_schema EVENTS ENDS 14 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
+NULL information_schema EVENTS EVENT_BODY 6 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
+NULL information_schema EVENTS EVENT_CATALOG 1 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema EVENTS EVENT_COMMENT 20 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema EVENTS EVENT_DEFINITION 7 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
+NULL information_schema EVENTS EVENT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema EVENTS EVENT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema EVENTS EVENT_TYPE 8 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
+NULL information_schema EVENTS EXECUTE_AT 9 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
+NULL information_schema EVENTS INTERVAL_FIELD 11 NULL YES varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select
+NULL information_schema EVENTS INTERVAL_VALUE 10 NULL YES varchar 256 768 NULL NULL utf8 utf8_general_ci varchar(256) select
+NULL information_schema EVENTS LAST_ALTERED 18 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
+NULL information_schema EVENTS LAST_EXECUTED 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
+NULL information_schema EVENTS ON_COMPLETION 16 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
+NULL information_schema EVENTS ORIGINATOR 21 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select
+NULL information_schema EVENTS SQL_MODE 12 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
+NULL information_schema EVENTS STARTS 13 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
+NULL information_schema EVENTS STATUS 15 NO varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select
+NULL information_schema EVENTS TIME_ZONE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema FILES AUTOEXTEND_SIZE 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
+NULL information_schema FILES AVG_ROW_LENGTH 28 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
+NULL information_schema FILES CHECKSUM 36 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
+NULL information_schema FILES CHECK_TIME 35 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
+NULL information_schema FILES CREATE_TIME 33 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
+NULL information_schema FILES CREATION_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
+NULL information_schema FILES DATA_FREE 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
+NULL information_schema FILES DATA_LENGTH 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
+NULL information_schema FILES DELETED_ROWS 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
+NULL information_schema FILES ENGINE 10 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema FILES EXTENT_SIZE 16 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
+NULL information_schema FILES EXTRA 38 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
+NULL information_schema FILES FILE_ID 1 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
+NULL information_schema FILES FILE_NAME 2 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema FILES FILE_TYPE 3 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
+NULL information_schema FILES FREE_EXTENTS 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
+NULL information_schema FILES FULLTEXT_KEYS 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema FILES INDEX_LENGTH 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
+NULL information_schema FILES INITIAL_SIZE 17 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
+NULL information_schema FILES LAST_ACCESS_TIME 22 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
+NULL information_schema FILES LAST_UPDATE_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
+NULL information_schema FILES LOGFILE_GROUP_NAME 8 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema FILES LOGFILE_GROUP_NUMBER 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
+NULL information_schema FILES MAXIMUM_SIZE 18 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
+NULL information_schema FILES MAX_DATA_LENGTH 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
+NULL information_schema FILES RECOVER_TIME 23 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
+NULL information_schema FILES ROW_FORMAT 26 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
+NULL information_schema FILES STATUS 37 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
+NULL information_schema FILES TABLESPACE_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema FILES TABLE_CATALOG 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema FILES TABLE_NAME 7 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema FILES TABLE_ROWS 27 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
+NULL information_schema FILES TABLE_SCHEMA 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema FILES TOTAL_EXTENTS 15 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
+NULL information_schema FILES TRANSACTION_COUNTER 24 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
+NULL information_schema FILES UPDATE_COUNT 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
+NULL information_schema FILES UPDATE_TIME 34 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
+NULL information_schema FILES VERSION 25 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
+NULL information_schema GLOBAL_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema GLOBAL_STATUS VARIABLE_VALUE 2 NULL YES varchar 20480 61440 NULL NULL utf8 utf8_general_ci varchar(20480) select
+NULL information_schema GLOBAL_VARIABLES VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema GLOBAL_VARIABLES VARIABLE_VALUE 2 NULL YES varchar 20480 61440 NULL NULL utf8 utf8_general_ci varchar(20480) select
+NULL information_schema KEY_COLUMN_USAGE COLUMN_NAME 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG 1 NULL YES varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) select
+NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema KEY_COLUMN_USAGE ORDINAL_POSITION 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select
+NULL information_schema KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(10) select
+NULL information_schema KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME 12 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_NAME 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema KEY_COLUMN_USAGE TABLE_CATALOG 4 NULL YES varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) select
+NULL information_schema KEY_COLUMN_USAGE TABLE_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema KEY_COLUMN_USAGE TABLE_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema PARTITIONS AVG_ROW_LENGTH 14 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
+NULL information_schema PARTITIONS CHECKSUM 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
+NULL information_schema PARTITIONS CHECK_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
+NULL information_schema PARTITIONS CREATE_TIME 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
+NULL information_schema PARTITIONS DATA_FREE 18 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
+NULL information_schema PARTITIONS DATA_LENGTH 15 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
+NULL information_schema PARTITIONS INDEX_LENGTH 17 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
+NULL information_schema PARTITIONS MAX_DATA_LENGTH 16 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
+NULL information_schema PARTITIONS NODEGROUP 24 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
+NULL information_schema PARTITIONS PARTITION_COMMENT 23 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
+NULL information_schema PARTITIONS PARTITION_DESCRIPTION 12 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
+NULL information_schema PARTITIONS PARTITION_EXPRESSION 10 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
+NULL information_schema PARTITIONS PARTITION_METHOD 8 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
+NULL information_schema PARTITIONS PARTITION_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
+NULL information_schema PARTITIONS SUBPARTITION_EXPRESSION 11 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
+NULL information_schema PARTITIONS SUBPARTITION_METHOD 9 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
+NULL information_schema PARTITIONS SUBPARTITION_NAME 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION 7 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
+NULL information_schema PARTITIONS TABLESPACE_NAME 25 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema PARTITIONS TABLE_CATALOG 1 NULL YES varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) select
+NULL information_schema PARTITIONS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema PARTITIONS TABLE_ROWS 13 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
+NULL information_schema PARTITIONS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema PARTITIONS UPDATE_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
+NULL information_schema PLUGINS PLUGIN_AUTHOR 8 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema PLUGINS PLUGIN_DESCRIPTION 9 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
+NULL information_schema PLUGINS PLUGIN_LIBRARY 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema PLUGINS PLUGIN_LIBRARY_VERSION 7 NULL YES varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
+NULL information_schema PLUGINS PLUGIN_LICENSE 10 NULL YES varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
+NULL information_schema PLUGINS PLUGIN_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema PLUGINS PLUGIN_STATUS 3 NO varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
+NULL information_schema PLUGINS PLUGIN_TYPE 4 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
+NULL information_schema PLUGINS PLUGIN_TYPE_VERSION 5 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
+NULL information_schema PLUGINS PLUGIN_VERSION 2 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
+NULL information_schema PROCESSLIST COMMAND 5 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
+NULL information_schema PROCESSLIST DB 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema PROCESSLIST HOST 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema PROCESSLIST ID 1 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
+NULL information_schema PROCESSLIST INFO 8 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
+NULL information_schema PROCESSLIST STATE 7 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema PROCESSLIST TIME 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(7) select
+NULL information_schema PROCESSLIST USER 2 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
+NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) select
+NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema REFERENTIAL_CONSTRAINTS DELETE_RULE 9 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema REFERENTIAL_CONSTRAINTS MATCH_OPTION 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema REFERENTIAL_CONSTRAINTS REFERENCED_TABLE_NAME 11 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema REFERENTIAL_CONSTRAINTS TABLE_NAME 10 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_CATALOG 4 NULL YES varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) select
+NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema REFERENTIAL_CONSTRAINTS UPDATE_RULE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema ROUTINES CHARACTER_SET_CLIENT 21 NO varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32) select
+NULL information_schema ROUTINES COLLATION_CONNECTION 22 NO varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32) select
+NULL information_schema ROUTINES CREATED 16 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
+NULL information_schema ROUTINES DATABASE_COLLATION 23 NO varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32) select
+NULL information_schema ROUTINES DEFINER 20 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
+NULL information_schema ROUTINES DTD_IDENTIFIER 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema ROUTINES EXTERNAL_LANGUAGE 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema ROUTINES EXTERNAL_NAME 9 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema ROUTINES IS_DETERMINISTIC 12 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
+NULL information_schema ROUTINES LAST_ALTERED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
+NULL information_schema ROUTINES PARAMETER_STYLE 11 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
+NULL information_schema ROUTINES ROUTINE_BODY 7 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
+NULL information_schema ROUTINES ROUTINE_CATALOG 2 NULL YES varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) select
+NULL information_schema ROUTINES ROUTINE_COMMENT 19 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema ROUTINES ROUTINE_DEFINITION 8 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
+NULL information_schema ROUTINES ROUTINE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema ROUTINES ROUTINE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema ROUTINES ROUTINE_TYPE 5 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
+NULL information_schema ROUTINES SECURITY_TYPE 15 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select
+NULL information_schema ROUTINES SPECIFIC_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema ROUTINES SQL_DATA_ACCESS 13 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema ROUTINES SQL_MODE 18 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
+NULL information_schema ROUTINES SQL_PATH 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema SCHEMATA CATALOG_NAME 1 NULL YES varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) select
+NULL information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema SCHEMATA DEFAULT_COLLATION_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema SCHEMATA SCHEMA_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema SCHEMATA SQL_PATH 5 NULL YES varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) select
+NULL information_schema SCHEMA_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
+NULL information_schema SCHEMA_PRIVILEGES IS_GRANTABLE 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
+NULL information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema SCHEMA_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) select
+NULL information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema SESSION_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema SESSION_STATUS VARIABLE_VALUE 2 NULL YES varchar 20480 61440 NULL NULL utf8 utf8_general_ci varchar(20480) select
+NULL information_schema SESSION_VARIABLES VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema SESSION_VARIABLES VARIABLE_VALUE 2 NULL YES varchar 20480 61440 NULL NULL utf8 utf8_general_ci varchar(20480) select
+NULL information_schema STATISTICS CARDINALITY 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select
+NULL information_schema STATISTICS COLLATION 9 NULL YES varchar 1 3 NULL NULL utf8 utf8_general_ci varchar(1) select
+NULL information_schema STATISTICS COLUMN_NAME 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema STATISTICS COMMENT 15 NULL YES varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
+NULL information_schema STATISTICS INDEX_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema STATISTICS INDEX_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema STATISTICS INDEX_TYPE 14 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
+NULL information_schema STATISTICS NON_UNIQUE 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(1) select
+NULL information_schema STATISTICS NULLABLE 13 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
+NULL information_schema STATISTICS PACKED 12 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
+NULL information_schema STATISTICS SEQ_IN_INDEX 7 0 NO bigint NULL NULL 19 0 NULL NULL bigint(2) select
+NULL information_schema STATISTICS SUB_PART 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(3) select
+NULL information_schema STATISTICS TABLE_CATALOG 1 NULL YES varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) select
+NULL information_schema STATISTICS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema STATISTICS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
+NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
+NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
+NULL information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
+NULL information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
+NULL information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
+NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
+NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
+NULL information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
+NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
+NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
+NULL information_schema TABLES TABLE_CATALOG 1 NULL YES varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) select
+NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
+NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
+NULL information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
+NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
+NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) select
+NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema TABLE_CONSTRAINTS TABLE_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema TABLE_CONSTRAINTS TABLE_SCHEMA 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema TABLE_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
+NULL information_schema TABLE_PRIVILEGES IS_GRANTABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
+NULL information_schema TABLE_PRIVILEGES PRIVILEGE_TYPE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema TABLE_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) select
+NULL information_schema TABLE_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema TABLE_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema TRIGGERS ACTION_CONDITION 9 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
+NULL information_schema TRIGGERS ACTION_ORDER 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
+NULL information_schema TRIGGERS ACTION_ORIENTATION 11 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
+NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_ROW 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
+NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_TABLE 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_ROW 15 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
+NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_TABLE 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema TRIGGERS ACTION_STATEMENT 10 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
+NULL information_schema TRIGGERS ACTION_TIMING 12 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select
+NULL information_schema TRIGGERS CHARACTER_SET_CLIENT 20 NO varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32) select
+NULL information_schema TRIGGERS COLLATION_CONNECTION 21 NO varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32) select
+NULL information_schema TRIGGERS CREATED 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
+NULL information_schema TRIGGERS DATABASE_COLLATION 22 NO varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32) select
+NULL information_schema TRIGGERS DEFINER 19 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
+NULL information_schema TRIGGERS EVENT_MANIPULATION 4 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select
+NULL information_schema TRIGGERS EVENT_OBJECT_CATALOG 5 NULL YES varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) select
+NULL information_schema TRIGGERS EVENT_OBJECT_SCHEMA 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema TRIGGERS EVENT_OBJECT_TABLE 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema TRIGGERS SQL_MODE 18 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
+NULL information_schema TRIGGERS TRIGGER_CATALOG 1 NULL YES varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) select
+NULL information_schema TRIGGERS TRIGGER_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema TRIGGERS TRIGGER_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema USER_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
+NULL information_schema USER_PRIVILEGES IS_GRANTABLE 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
+NULL information_schema USER_PRIVILEGES PRIVILEGE_TYPE 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema USER_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) select
+NULL information_schema VIEWS CHARACTER_SET_CLIENT 9 NO varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32) select
+NULL information_schema VIEWS CHECK_OPTION 5 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
+NULL information_schema VIEWS COLLATION_CONNECTION 10 NO varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32) select
+NULL information_schema VIEWS DEFINER 7 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
+NULL information_schema VIEWS IS_UPDATABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
+NULL information_schema VIEWS SECURITY_TYPE 8 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select
+NULL information_schema VIEWS TABLE_CATALOG 1 NULL YES varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) select
+NULL information_schema VIEWS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema VIEWS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
+NULL information_schema VIEWS VIEW_DEFINITION 4 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
+##########################################################################
+# 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 = 'information_schema'
+AND table_name <> 'profiling'
+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 longtext utf8 utf8_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 = 'information_schema'
+AND table_name <> 'profiling'
+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
+3.0000 varchar utf8 utf8_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 = 'information_schema'
+AND table_name <> 'profiling'
+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 bigint NULL NULL
+NULL datetime 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 = 'information_schema'
+AND table_name <> 'profiling'
+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
+3.0000 information_schema CHARACTER_SETS CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema CHARACTER_SETS DESCRIPTION varchar 60 180 utf8 utf8_general_ci varchar(60)
+NULL information_schema CHARACTER_SETS MAXLEN bigint NULL NULL NULL NULL bigint(3)
+3.0000 information_schema COLLATIONS COLLATION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema COLLATIONS CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+NULL information_schema COLLATIONS ID bigint NULL NULL NULL NULL bigint(11)
+3.0000 information_schema COLLATIONS IS_DEFAULT varchar 3 9 utf8 utf8_general_ci varchar(3)
+3.0000 information_schema COLLATIONS IS_COMPILED varchar 3 9 utf8 utf8_general_ci varchar(3)
+NULL information_schema COLLATIONS SORTLEN bigint NULL NULL NULL NULL bigint(3)
+3.0000 information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema COLUMNS TABLE_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
+3.0000 information_schema COLUMNS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema COLUMNS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema COLUMNS COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+NULL information_schema COLUMNS ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(21) unsigned
+1.0000 information_schema COLUMNS COLUMN_DEFAULT longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
+3.0000 information_schema COLUMNS IS_NULLABLE varchar 3 9 utf8 utf8_general_ci varchar(3)
+3.0000 information_schema COLUMNS DATA_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
+NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
+NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
+NULL information_schema COLUMNS NUMERIC_PRECISION bigint NULL NULL NULL NULL bigint(21) unsigned
+NULL information_schema COLUMNS NUMERIC_SCALE bigint NULL NULL NULL NULL bigint(21) unsigned
+3.0000 information_schema COLUMNS CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema COLUMNS COLLATION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+1.0000 information_schema COLUMNS COLUMN_TYPE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
+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 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)
+3.0000 information_schema COLUMN_PRIVILEGES TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema COLUMN_PRIVILEGES COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema COLUMN_PRIVILEGES PRIVILEGE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema COLUMN_PRIVILEGES IS_GRANTABLE varchar 3 9 utf8 utf8_general_ci varchar(3)
+3.0000 information_schema ENGINES ENGINE varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema ENGINES SUPPORT varchar 8 24 utf8 utf8_general_ci varchar(8)
+3.0000 information_schema ENGINES COMMENT varchar 80 240 utf8 utf8_general_ci varchar(80)
+3.0000 information_schema ENGINES TRANSACTIONS varchar 3 9 utf8 utf8_general_ci varchar(3)
+3.0000 information_schema ENGINES XA varchar 3 9 utf8 utf8_general_ci varchar(3)
+3.0000 information_schema ENGINES SAVEPOINTS varchar 3 9 utf8 utf8_general_ci varchar(3)
+3.0000 information_schema EVENTS EVENT_CATALOG varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema EVENTS EVENT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema EVENTS EVENT_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema EVENTS DEFINER varchar 77 231 utf8 utf8_general_ci varchar(77)
+3.0000 information_schema EVENTS TIME_ZONE varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema EVENTS EVENT_BODY varchar 8 24 utf8 utf8_general_ci varchar(8)
+1.0000 information_schema EVENTS EVENT_DEFINITION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
+3.0000 information_schema EVENTS EVENT_TYPE varchar 9 27 utf8 utf8_general_ci varchar(9)
+NULL information_schema EVENTS EXECUTE_AT datetime NULL NULL NULL NULL datetime
+3.0000 information_schema EVENTS INTERVAL_VALUE varchar 256 768 utf8 utf8_general_ci varchar(256)
+3.0000 information_schema EVENTS INTERVAL_FIELD varchar 18 54 utf8 utf8_general_ci varchar(18)
+1.0000 information_schema EVENTS SQL_MODE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
+NULL information_schema EVENTS STARTS datetime NULL NULL NULL NULL datetime
+NULL information_schema EVENTS ENDS datetime NULL NULL NULL NULL datetime
+3.0000 information_schema EVENTS STATUS varchar 18 54 utf8 utf8_general_ci varchar(18)
+3.0000 information_schema EVENTS ON_COMPLETION varchar 12 36 utf8 utf8_general_ci varchar(12)
+NULL information_schema EVENTS CREATED datetime NULL NULL NULL NULL datetime
+NULL information_schema EVENTS LAST_ALTERED datetime NULL NULL NULL NULL datetime
+NULL information_schema EVENTS LAST_EXECUTED datetime NULL NULL NULL NULL datetime
+3.0000 information_schema EVENTS EVENT_COMMENT varchar 64 192 utf8 utf8_general_ci varchar(64)
+NULL information_schema EVENTS ORIGINATOR bigint NULL NULL NULL NULL bigint(10)
+3.0000 information_schema EVENTS CHARACTER_SET_CLIENT varchar 32 96 utf8 utf8_general_ci varchar(32)
+3.0000 information_schema EVENTS COLLATION_CONNECTION varchar 32 96 utf8 utf8_general_ci varchar(32)
+3.0000 information_schema EVENTS DATABASE_COLLATION varchar 32 96 utf8 utf8_general_ci varchar(32)
+NULL information_schema FILES FILE_ID bigint NULL NULL NULL NULL bigint(4)
+3.0000 information_schema FILES FILE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema FILES FILE_TYPE varchar 20 60 utf8 utf8_general_ci varchar(20)
+3.0000 information_schema FILES TABLESPACE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema FILES TABLE_CATALOG varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema FILES TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema FILES TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema FILES LOGFILE_GROUP_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+NULL information_schema FILES LOGFILE_GROUP_NUMBER bigint NULL NULL NULL NULL bigint(4)
+3.0000 information_schema FILES ENGINE varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema FILES FULLTEXT_KEYS varchar 64 192 utf8 utf8_general_ci varchar(64)
+NULL information_schema FILES DELETED_ROWS bigint NULL NULL NULL NULL bigint(4)
+NULL information_schema FILES UPDATE_COUNT bigint NULL NULL NULL NULL bigint(4)
+NULL information_schema FILES FREE_EXTENTS bigint NULL NULL NULL NULL bigint(4)
+NULL information_schema FILES TOTAL_EXTENTS bigint NULL NULL NULL NULL bigint(4)
+NULL information_schema FILES EXTENT_SIZE bigint NULL NULL NULL NULL bigint(4)
+NULL information_schema FILES INITIAL_SIZE bigint NULL NULL NULL NULL bigint(21) unsigned
+NULL information_schema FILES MAXIMUM_SIZE bigint NULL NULL NULL NULL bigint(21) unsigned
+NULL information_schema FILES AUTOEXTEND_SIZE bigint NULL NULL NULL NULL bigint(21) unsigned
+NULL information_schema FILES CREATION_TIME datetime NULL NULL NULL NULL datetime
+NULL information_schema FILES LAST_UPDATE_TIME datetime NULL NULL NULL NULL datetime
+NULL information_schema FILES LAST_ACCESS_TIME datetime NULL NULL NULL NULL datetime
+NULL information_schema FILES RECOVER_TIME bigint NULL NULL NULL NULL bigint(4)
+NULL information_schema FILES TRANSACTION_COUNTER bigint NULL NULL NULL NULL bigint(4)
+NULL information_schema FILES VERSION bigint NULL NULL NULL NULL bigint(21) unsigned
+3.0000 information_schema FILES ROW_FORMAT varchar 10 30 utf8 utf8_general_ci varchar(10)
+NULL information_schema FILES TABLE_ROWS bigint NULL NULL NULL NULL bigint(21) unsigned
+NULL information_schema FILES AVG_ROW_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
+NULL information_schema FILES DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
+NULL information_schema FILES MAX_DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
+NULL information_schema FILES INDEX_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
+NULL information_schema FILES DATA_FREE bigint NULL NULL NULL NULL bigint(21) unsigned
+NULL information_schema FILES CREATE_TIME datetime NULL NULL NULL NULL datetime
+NULL information_schema FILES UPDATE_TIME datetime NULL NULL NULL NULL datetime
+NULL information_schema FILES CHECK_TIME datetime NULL NULL NULL NULL datetime
+NULL information_schema FILES CHECKSUM bigint NULL NULL NULL NULL bigint(21) unsigned
+3.0000 information_schema FILES STATUS varchar 20 60 utf8 utf8_general_ci varchar(20)
+3.0000 information_schema FILES EXTRA varchar 255 765 utf8 utf8_general_ci varchar(255)
+3.0000 information_schema GLOBAL_STATUS VARIABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema GLOBAL_STATUS VARIABLE_VALUE varchar 20480 61440 utf8 utf8_general_ci varchar(20480)
+3.0000 information_schema GLOBAL_VARIABLES VARIABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema GLOBAL_VARIABLES VARIABLE_VALUE varchar 20480 61440 utf8 utf8_general_ci varchar(20480)
+3.0000 information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
+3.0000 information_schema KEY_COLUMN_USAGE CONSTRAINT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema KEY_COLUMN_USAGE TABLE_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
+3.0000 information_schema KEY_COLUMN_USAGE TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema KEY_COLUMN_USAGE TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema KEY_COLUMN_USAGE COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+NULL information_schema KEY_COLUMN_USAGE ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(10)
+NULL information_schema KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT bigint NULL NULL NULL NULL bigint(10)
+3.0000 information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema PARTITIONS TABLE_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
+3.0000 information_schema PARTITIONS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema PARTITIONS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema PARTITIONS PARTITION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema PARTITIONS SUBPARTITION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(21) unsigned
+NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(21) unsigned
+3.0000 information_schema PARTITIONS PARTITION_METHOD varchar 12 36 utf8 utf8_general_ci varchar(12)
+3.0000 information_schema PARTITIONS SUBPARTITION_METHOD varchar 12 36 utf8 utf8_general_ci varchar(12)
+1.0000 information_schema PARTITIONS PARTITION_EXPRESSION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
+1.0000 information_schema PARTITIONS SUBPARTITION_EXPRESSION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
+1.0000 information_schema PARTITIONS PARTITION_DESCRIPTION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
+NULL information_schema PARTITIONS TABLE_ROWS bigint NULL NULL NULL NULL bigint(21) unsigned
+NULL information_schema PARTITIONS AVG_ROW_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
+NULL information_schema PARTITIONS DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
+NULL information_schema PARTITIONS MAX_DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
+NULL information_schema PARTITIONS INDEX_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
+NULL information_schema PARTITIONS DATA_FREE bigint NULL NULL NULL NULL bigint(21) unsigned
+NULL information_schema PARTITIONS CREATE_TIME datetime NULL NULL NULL NULL datetime
+NULL information_schema PARTITIONS UPDATE_TIME datetime NULL NULL NULL NULL datetime
+NULL information_schema PARTITIONS CHECK_TIME datetime NULL NULL NULL NULL datetime
+NULL information_schema PARTITIONS CHECKSUM bigint NULL NULL NULL NULL bigint(21) unsigned
+3.0000 information_schema PARTITIONS PARTITION_COMMENT varchar 80 240 utf8 utf8_general_ci varchar(80)
+3.0000 information_schema PARTITIONS NODEGROUP varchar 12 36 utf8 utf8_general_ci varchar(12)
+3.0000 information_schema PARTITIONS TABLESPACE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema PLUGINS PLUGIN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema PLUGINS PLUGIN_VERSION varchar 20 60 utf8 utf8_general_ci varchar(20)
+3.0000 information_schema PLUGINS PLUGIN_STATUS varchar 10 30 utf8 utf8_general_ci varchar(10)
+3.0000 information_schema PLUGINS PLUGIN_TYPE varchar 80 240 utf8 utf8_general_ci varchar(80)
+3.0000 information_schema PLUGINS PLUGIN_TYPE_VERSION varchar 20 60 utf8 utf8_general_ci varchar(20)
+3.0000 information_schema PLUGINS PLUGIN_LIBRARY varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema PLUGINS PLUGIN_LIBRARY_VERSION varchar 20 60 utf8 utf8_general_ci varchar(20)
+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)
+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)
+3.0000 information_schema PROCESSLIST DB varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema PROCESSLIST COMMAND varchar 16 48 utf8 utf8_general_ci varchar(16)
+NULL information_schema PROCESSLIST TIME bigint NULL NULL NULL NULL bigint(7)
+3.0000 information_schema PROCESSLIST STATE varchar 64 192 utf8 utf8_general_ci varchar(64)
+1.0000 information_schema PROCESSLIST INFO longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
+3.0000 information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
+3.0000 information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
+3.0000 information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema REFERENTIAL_CONSTRAINTS MATCH_OPTION varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema REFERENTIAL_CONSTRAINTS UPDATE_RULE varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema REFERENTIAL_CONSTRAINTS DELETE_RULE varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema REFERENTIAL_CONSTRAINTS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema REFERENTIAL_CONSTRAINTS REFERENCED_TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema ROUTINES SPECIFIC_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema ROUTINES ROUTINE_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
+3.0000 information_schema ROUTINES ROUTINE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema ROUTINES ROUTINE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema ROUTINES ROUTINE_TYPE varchar 9 27 utf8 utf8_general_ci varchar(9)
+3.0000 information_schema ROUTINES DTD_IDENTIFIER varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema ROUTINES ROUTINE_BODY varchar 8 24 utf8 utf8_general_ci varchar(8)
+1.0000 information_schema ROUTINES ROUTINE_DEFINITION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
+3.0000 information_schema ROUTINES EXTERNAL_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema ROUTINES EXTERNAL_LANGUAGE varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema ROUTINES PARAMETER_STYLE varchar 8 24 utf8 utf8_general_ci varchar(8)
+3.0000 information_schema ROUTINES IS_DETERMINISTIC varchar 3 9 utf8 utf8_general_ci varchar(3)
+3.0000 information_schema ROUTINES SQL_DATA_ACCESS varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema ROUTINES SQL_PATH varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema ROUTINES SECURITY_TYPE varchar 7 21 utf8 utf8_general_ci varchar(7)
+NULL information_schema ROUTINES CREATED datetime NULL NULL NULL NULL datetime
+NULL information_schema ROUTINES LAST_ALTERED datetime NULL NULL NULL NULL datetime
+1.0000 information_schema ROUTINES SQL_MODE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
+3.0000 information_schema ROUTINES ROUTINE_COMMENT varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema ROUTINES DEFINER varchar 77 231 utf8 utf8_general_ci varchar(77)
+3.0000 information_schema ROUTINES CHARACTER_SET_CLIENT varchar 32 96 utf8 utf8_general_ci varchar(32)
+3.0000 information_schema ROUTINES COLLATION_CONNECTION varchar 32 96 utf8 utf8_general_ci varchar(32)
+3.0000 information_schema ROUTINES DATABASE_COLLATION varchar 32 96 utf8 utf8_general_ci varchar(32)
+3.0000 information_schema SCHEMATA CATALOG_NAME varchar 512 1536 utf8 utf8_general_ci varchar(512)
+3.0000 information_schema SCHEMATA SCHEMA_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema SCHEMATA DEFAULT_COLLATION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema SCHEMATA SQL_PATH varchar 512 1536 utf8 utf8_general_ci varchar(512)
+3.0000 information_schema SCHEMA_PRIVILEGES GRANTEE varchar 81 243 utf8 utf8_general_ci varchar(81)
+3.0000 information_schema SCHEMA_PRIVILEGES TABLE_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
+3.0000 information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema SCHEMA_PRIVILEGES IS_GRANTABLE varchar 3 9 utf8 utf8_general_ci varchar(3)
+3.0000 information_schema SESSION_STATUS VARIABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema SESSION_STATUS VARIABLE_VALUE varchar 20480 61440 utf8 utf8_general_ci varchar(20480)
+3.0000 information_schema SESSION_VARIABLES VARIABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema SESSION_VARIABLES VARIABLE_VALUE varchar 20480 61440 utf8 utf8_general_ci varchar(20480)
+3.0000 information_schema STATISTICS TABLE_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
+3.0000 information_schema STATISTICS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema STATISTICS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+NULL information_schema STATISTICS NON_UNIQUE bigint NULL NULL NULL NULL bigint(1)
+3.0000 information_schema STATISTICS INDEX_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema STATISTICS INDEX_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+NULL information_schema STATISTICS SEQ_IN_INDEX bigint NULL NULL NULL NULL bigint(2)
+3.0000 information_schema STATISTICS COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema STATISTICS COLLATION varchar 1 3 utf8 utf8_general_ci varchar(1)
+NULL information_schema STATISTICS CARDINALITY bigint NULL NULL NULL NULL bigint(21)
+NULL information_schema STATISTICS SUB_PART bigint NULL NULL NULL NULL bigint(3)
+3.0000 information_schema STATISTICS PACKED varchar 10 30 utf8 utf8_general_ci varchar(10)
+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 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)
+3.0000 information_schema TABLES TABLE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema TABLES ENGINE varchar 64 192 utf8 utf8_general_ci varchar(64)
+NULL information_schema TABLES VERSION bigint NULL NULL NULL NULL bigint(21) unsigned
+3.0000 information_schema TABLES ROW_FORMAT varchar 10 30 utf8 utf8_general_ci varchar(10)
+NULL information_schema TABLES TABLE_ROWS bigint NULL NULL NULL NULL bigint(21) unsigned
+NULL information_schema TABLES AVG_ROW_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
+NULL information_schema TABLES DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
+NULL information_schema TABLES MAX_DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
+NULL information_schema TABLES INDEX_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
+NULL information_schema TABLES DATA_FREE bigint NULL NULL NULL NULL bigint(21) unsigned
+NULL information_schema TABLES AUTO_INCREMENT bigint NULL NULL NULL NULL bigint(21) unsigned
+NULL information_schema TABLES CREATE_TIME datetime NULL NULL NULL NULL datetime
+NULL information_schema TABLES UPDATE_TIME datetime NULL NULL NULL NULL datetime
+NULL information_schema TABLES CHECK_TIME datetime NULL NULL NULL NULL datetime
+3.0000 information_schema TABLES TABLE_COLLATION varchar 64 192 utf8 utf8_general_ci varchar(64)
+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 TABLE_CONSTRAINTS CONSTRAINT_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
+3.0000 information_schema TABLE_CONSTRAINTS CONSTRAINT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema TABLE_CONSTRAINTS CONSTRAINT_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema TABLE_CONSTRAINTS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema TABLE_CONSTRAINTS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema TABLE_CONSTRAINTS CONSTRAINT_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema TABLE_PRIVILEGES GRANTEE varchar 81 243 utf8 utf8_general_ci varchar(81)
+3.0000 information_schema TABLE_PRIVILEGES TABLE_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
+3.0000 information_schema TABLE_PRIVILEGES TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema TABLE_PRIVILEGES TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema TABLE_PRIVILEGES PRIVILEGE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema TABLE_PRIVILEGES IS_GRANTABLE varchar 3 9 utf8 utf8_general_ci varchar(3)
+3.0000 information_schema TRIGGERS TRIGGER_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
+3.0000 information_schema TRIGGERS TRIGGER_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema TRIGGERS TRIGGER_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema TRIGGERS EVENT_MANIPULATION varchar 6 18 utf8 utf8_general_ci varchar(6)
+3.0000 information_schema TRIGGERS EVENT_OBJECT_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
+3.0000 information_schema TRIGGERS EVENT_OBJECT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema TRIGGERS EVENT_OBJECT_TABLE varchar 64 192 utf8 utf8_general_ci varchar(64)
+NULL information_schema TRIGGERS ACTION_ORDER bigint NULL NULL NULL NULL bigint(4)
+1.0000 information_schema TRIGGERS ACTION_CONDITION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
+1.0000 information_schema TRIGGERS ACTION_STATEMENT longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
+3.0000 information_schema TRIGGERS ACTION_ORIENTATION varchar 9 27 utf8 utf8_general_ci varchar(9)
+3.0000 information_schema TRIGGERS ACTION_TIMING varchar 6 18 utf8 utf8_general_ci varchar(6)
+3.0000 information_schema TRIGGERS ACTION_REFERENCE_OLD_TABLE varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema TRIGGERS ACTION_REFERENCE_NEW_TABLE varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema TRIGGERS ACTION_REFERENCE_OLD_ROW varchar 3 9 utf8 utf8_general_ci varchar(3)
+3.0000 information_schema TRIGGERS ACTION_REFERENCE_NEW_ROW varchar 3 9 utf8 utf8_general_ci varchar(3)
+NULL information_schema TRIGGERS CREATED datetime NULL NULL NULL NULL datetime
+1.0000 information_schema TRIGGERS SQL_MODE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
+1.0000 information_schema TRIGGERS DEFINER longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
+3.0000 information_schema TRIGGERS CHARACTER_SET_CLIENT varchar 32 96 utf8 utf8_general_ci varchar(32)
+3.0000 information_schema TRIGGERS COLLATION_CONNECTION varchar 32 96 utf8 utf8_general_ci varchar(32)
+3.0000 information_schema TRIGGERS DATABASE_COLLATION varchar 32 96 utf8 utf8_general_ci varchar(32)
+3.0000 information_schema USER_PRIVILEGES GRANTEE varchar 81 243 utf8 utf8_general_ci varchar(81)
+3.0000 information_schema USER_PRIVILEGES TABLE_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
+3.0000 information_schema USER_PRIVILEGES PRIVILEGE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema USER_PRIVILEGES IS_GRANTABLE varchar 3 9 utf8 utf8_general_ci varchar(3)
+3.0000 information_schema VIEWS TABLE_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
+3.0000 information_schema VIEWS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema VIEWS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+1.0000 information_schema VIEWS VIEW_DEFINITION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
+3.0000 information_schema VIEWS CHECK_OPTION varchar 8 24 utf8 utf8_general_ci varchar(8)
+3.0000 information_schema VIEWS IS_UPDATABLE varchar 3 9 utf8 utf8_general_ci varchar(3)
+3.0000 information_schema VIEWS DEFINER varchar 77 231 utf8 utf8_general_ci varchar(77)
+3.0000 information_schema VIEWS SECURITY_TYPE varchar 7 21 utf8 utf8_general_ci varchar(7)
+3.0000 information_schema VIEWS CHARACTER_SET_CLIENT varchar 32 96 utf8 utf8_general_ci varchar(32)
+3.0000 information_schema VIEWS COLLATION_CONNECTION varchar 32 96 utf8 utf8_general_ci varchar(32)
diff --git a/mysql-test/suite/funcs_1/r/is_columns_memory.result b/mysql-test/suite/funcs_1/r/is_columns_memory.result
new file mode 100644
index 00000000000..5dcab47621b
--- /dev/null
+++ b/mysql-test/suite/funcs_1/r/is_columns_memory.result
@@ -0,0 +1,1086 @@
+SET @@session.sql_mode = 'NO_ENGINE_SUBSTITUTION';
+DROP DATABASE IF EXISTS test1;
+CREATE DATABASE test1;
+USE test;
+drop table if exists tb1 ;
+create table tb1 (
+f1 char,
+f2 char binary,
+f3 char ascii,
+f12 binary,
+f13 tinyint,
+f14 tinyint unsigned,
+f15 tinyint zerofill,
+f16 tinyint unsigned zerofill,
+f17 smallint,
+f18 smallint unsigned,
+f19 smallint zerofill,
+f20 smallint unsigned zerofill,
+f21 mediumint,
+f22 mediumint unsigned,
+f23 mediumint zerofill,
+f24 mediumint unsigned zerofill,
+f25 int,
+f26 int unsigned,
+f27 int zerofill,
+f28 int unsigned zerofill,
+f29 bigint,
+f30 bigint unsigned,
+f31 bigint zerofill,
+f32 bigint unsigned zerofill,
+f33 decimal not null DEFAULT 9.9,
+f34 decimal unsigned not null DEFAULT 9.9,
+f35 decimal zerofill not null DEFAULT 9.9,
+f36 decimal unsigned zerofill not null DEFAULT 9.9,
+f37 decimal (0) not null DEFAULT 9.9,
+f38 decimal (64) not null DEFAULT 9.9,
+f39 decimal (0) unsigned not null DEFAULT 9.9,
+f40 decimal (64) unsigned not null DEFAULT 9.9,
+f41 decimal (0) zerofill not null DEFAULT 9.9,
+f42 decimal (64) zerofill not null DEFAULT 9.9,
+f43 decimal (0) unsigned zerofill not null DEFAULT 9.9,
+f44 decimal (64) unsigned zerofill not null DEFAULT 9.9,
+f45 decimal (0,0) not null DEFAULT 9.9,
+f46 decimal (63,30) not null DEFAULT 9.9,
+f47 decimal (0,0) unsigned not null DEFAULT 9.9,
+f48 decimal (63,30) unsigned not null DEFAULT 9.9,
+f49 decimal (0,0) zerofill not null DEFAULT 9.9,
+f50 decimal (63,30) zerofill not null DEFAULT 9.9,
+f51 decimal (0,0) unsigned zerofill not null DEFAULT 9.9,
+f52 decimal (63,30) unsigned zerofill not null DEFAULT 9.9,
+f53 numeric not null DEFAULT 99,
+f54 numeric unsigned not null DEFAULT 99,
+f55 numeric zerofill not null DEFAULT 99,
+f56 numeric unsigned zerofill not null DEFAULT 99,
+f57 numeric (0) not null DEFAULT 99,
+f58 numeric (64) not null DEFAULT 99
+) engine = memory;
+Warnings:
+Note 1265 Data truncated for column 'f33' at row 1
+Note 1265 Data truncated for column 'f34' at row 1
+Note 1265 Data truncated for column 'f35' at row 1
+Note 1265 Data truncated for column 'f36' at row 1
+Note 1265 Data truncated for column 'f37' at row 1
+Note 1265 Data truncated for column 'f38' at row 1
+Note 1265 Data truncated for column 'f39' at row 1
+Note 1265 Data truncated for column 'f40' at row 1
+Note 1265 Data truncated for column 'f41' at row 1
+Note 1265 Data truncated for column 'f42' at row 1
+Note 1265 Data truncated for column 'f43' at row 1
+Note 1265 Data truncated for column 'f44' at row 1
+Note 1265 Data truncated for column 'f45' at row 1
+Note 1265 Data truncated for column 'f47' at row 1
+Note 1265 Data truncated for column 'f49' at row 1
+Note 1265 Data truncated for column 'f51' at row 1
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/memory_tb1.txt'
+into table tb1;
+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 = memory;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/memory_tb2.txt'
+into table tb2 ;
+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 = memory;
+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_ln/funcs_1/memory_tb3.txt'
+into table tb3;
+drop table if exists tb4 ;
+create table tb4 (
+f176 numeric (0) unsigned not null DEFAULT 9,
+f177 numeric (64) unsigned not null DEFAULT 9,
+f178 numeric (0) zerofill not null DEFAULT 9,
+f179 numeric (64) zerofill not null DEFAULT 9,
+f180 numeric (0) unsigned zerofill not null DEFAULT 9,
+f181 numeric (64) unsigned zerofill not null DEFAULT 9,
+f182 numeric (0,0) not null DEFAULT 9,
+f183 numeric (63,30) not null DEFAULT 9,
+f184 numeric (0,0) unsigned not null DEFAULT 9,
+f185 numeric (63,30) unsigned not null DEFAULT 9,
+f186 numeric (0,0) zerofill not null DEFAULT 9,
+f187 numeric (63,30) zerofill not null DEFAULT 9,
+f188 numeric (0,0) unsigned zerofill not null DEFAULT 9,
+f189 numeric (63,30) unsigned zerofill not null DEFAULT 9,
+f190 real not null DEFAULT 88.8,
+f191 real unsigned not null DEFAULT 88.8,
+f192 real zerofill not null DEFAULT 88.8,
+f193 real unsigned zerofill not null DEFAULT 88.8,
+f194 double not null DEFAULT 55.5,
+f195 double unsigned not null DEFAULT 55.5,
+f196 double zerofill not null DEFAULT 55.5,
+f197 double unsigned zerofill not null DEFAULT 55.5,
+f198 float,
+f199 float unsigned,
+f200 float zerofill,
+f201 float unsigned zerofill,
+f202 float(0),
+f203 float(23),
+f204 float(0) unsigned,
+f205 float(23) unsigned,
+f206 float(0) zerofill,
+f207 float(23) zerofill,
+f208 float(0) unsigned zerofill,
+f209 float(23) unsigned zerofill,
+f210 float(24),
+f211 float(53),
+f212 float(24) unsigned,
+f213 float(53) unsigned,
+f214 float(24) zerofill,
+f215 float(53) zerofill,
+f216 float(24) unsigned zerofill,
+f217 float(53) unsigned zerofill,
+f218 date,
+f219 time,
+f220 datetime,
+f221 timestamp,
+f222 year,
+f223 year(3),
+f224 year(4),
+f225 enum("1enum","2enum"),
+f226 set("1set","2set"),
+f236 char(95) unicode,
+f241 char(255) unicode,
+f237 char(130) binary,
+f238 varchar(25000) binary,
+f239 varbinary(0),
+f240 varchar(1200) unicode
+) engine = memory;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/memory_tb4.txt'
+into table tb4;
+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 = memory;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/memory_tb2.txt'
+into table tb2 ;
+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 = MEMORY;
+CREATE TABLE t2 (f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
+ENGINE = MEMORY;
+CREATE TABLE t4 (f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
+ENGINE = MEMORY;
+CREATE TABLE t10 (f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
+ENGINE = MEMORY;
+CREATE TABLE t11 (f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
+ENGINE = MEMORY;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/t4.txt' INTO TABLE t1;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/t4.txt' INTO TABLE t2;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/t4.txt' INTO TABLE t4;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/t4.txt' INTO TABLE t10;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/t4.txt' INTO TABLE t11;
+drop TABLE if exists t3;
+CREATE TABLE t3 (f1 char(20), f2 char(20), f3 integer) ENGINE = MEMORY;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/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 = MEMORY;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/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 = MEMORY;
+CREATE TABLE t8 (f1 char(20),f2 char(25),f3 date,f4 int) ENGINE = MEMORY;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/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_ln/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 = MEMORY;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/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
+NULL test t1 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
+NULL test t1 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL test t1 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
+NULL test t1 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test t1 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL test t1 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test t10 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
+NULL test t10 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL test t10 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
+NULL test t10 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test t10 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL test t10 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test t11 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
+NULL test t11 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL test t11 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
+NULL test t11 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test t11 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL test t11 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test t2 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
+NULL test t2 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL test t2 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
+NULL test t2 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test t2 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL test t2 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test t3 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
+NULL test t3 f2 2 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
+NULL test t3 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test t4 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
+NULL test t4 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL test t4 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
+NULL test t4 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test t4 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL test t4 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test t7 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
+NULL test t7 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL test t7 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
+NULL test t7 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test t8 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
+NULL test t8 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL test t8 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
+NULL test t8 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test t9 f1 1 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test t9 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL test t9 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test tb1 f1 1 NULL YES char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
+NULL test tb1 f12 4 NULL YES binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references
+NULL test tb1 f13 5 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references
+NULL test tb1 f14 6 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references
+NULL test tb1 f15 7 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
+NULL test tb1 f16 8 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
+NULL test tb1 f17 9 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references
+NULL test tb1 f18 10 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references
+NULL test tb1 f19 11 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
+NULL test tb1 f2 2 NULL YES char 1 1 NULL NULL latin1 latin1_bin char(1) select,insert,update,references
+NULL test tb1 f20 12 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
+NULL test tb1 f21 13 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references
+NULL test tb1 f22 14 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references
+NULL test tb1 f23 15 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
+NULL test tb1 f24 16 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
+NULL test tb1 f25 17 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test tb1 f26 18 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references
+NULL test tb1 f27 19 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
+NULL test tb1 f28 20 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
+NULL test tb1 f29 21 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references
+NULL test tb1 f3 3 NULL YES char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
+NULL test tb1 f30 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
+NULL test tb1 f31 23 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
+NULL test tb1 f32 24 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
+NULL test tb1 f33 25 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
+NULL test tb1 f34 26 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
+NULL test tb1 f35 27 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb1 f36 28 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb1 f37 29 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
+NULL test tb1 f38 30 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
+NULL test tb1 f39 31 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
+NULL test tb1 f40 32 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
+NULL test tb1 f41 33 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb1 f42 34 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
+NULL test tb1 f43 35 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb1 f44 36 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
+NULL test tb1 f45 37 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
+NULL test tb1 f46 38 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
+NULL test tb1 f47 39 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
+NULL test tb1 f48 40 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
+NULL test tb1 f49 41 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb1 f50 42 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
+NULL test tb1 f51 43 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb1 f52 44 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
+NULL test tb1 f53 45 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
+NULL test tb1 f54 46 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
+NULL test tb1 f55 47 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb1 f56 48 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb1 f57 49 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
+NULL test tb1 f58 50 99 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
+NULL test tb2 f100 42 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
+NULL test tb2 f101 43 2000-01-01 NO date NULL NULL NULL NULL NULL NULL date select,insert,update,references
+NULL test tb2 f102 44 00:00:20 NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references
+NULL test tb2 f103 45 0002-02-02 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
+NULL test tb2 f104 46 2000-12-31 23:59:59 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
+NULL test tb2 f105 47 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
+NULL test tb2 f106 48 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
+NULL test tb2 f107 49 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
+NULL test tb2 f108 50 1enum NO enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references
+NULL test tb2 f109 51 1set NO set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references
+NULL test tb2 f59 1 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
+NULL test tb2 f60 2 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
+NULL test tb2 f61 3 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb2 f62 4 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
+NULL test tb2 f63 5 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb2 f64 6 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
+NULL test tb2 f65 7 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
+NULL test tb2 f66 8 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
+NULL test tb2 f67 9 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
+NULL test tb2 f68 10 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
+NULL test tb2 f69 11 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb2 f70 12 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
+NULL test tb2 f71 13 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb2 f72 14 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
+NULL test tb2 f73 15 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
+NULL test tb2 f74 16 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
+NULL test tb2 f75 17 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
+NULL test tb2 f76 18 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
+NULL test tb2 f77 19 7.7 YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
+NULL test tb2 f78 20 7.7 YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
+NULL test tb2 f79 21 00000000000000000007.7 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
+NULL test tb2 f80 22 00000000000000000008.8 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
+NULL test tb2 f81 23 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
+NULL test tb2 f82 24 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
+NULL test tb2 f83 25 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test tb2 f84 26 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test tb2 f85 27 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
+NULL test tb2 f86 28 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
+NULL test tb2 f87 29 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
+NULL test tb2 f88 30 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
+NULL test tb2 f89 31 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test tb2 f90 32 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test tb2 f91 33 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test tb2 f92 34 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test tb2 f93 35 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
+NULL test tb2 f94 36 8.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
+NULL test tb2 f95 37 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
+NULL test tb2 f96 38 8.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
+NULL test tb2 f97 39 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test tb2 f98 40 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
+NULL test tb2 f99 41 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test tb3 f118 1 a NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
+NULL test tb3 f119 2  NO char 1 1 NULL NULL latin1 latin1_bin char(1) select,insert,update,references
+NULL test tb3 f120 3  NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
+NULL test tb3 f121 4 NULL YES char 50 50 NULL NULL latin1 latin1_swedish_ci char(50) select,insert,update,references
+NULL test tb3 f122 5 NULL YES char 50 50 NULL NULL latin1 latin1_swedish_ci char(50) select,insert,update,references
+NULL test tb3 f129 6  NO binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references
+NULL test tb3 f130 7 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references
+NULL test tb3 f131 8 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references
+NULL test tb3 f132 9 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
+NULL test tb3 f133 10 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
+NULL test tb3 f134 11 999 NO smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references
+NULL test tb3 f135 12 999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references
+NULL test tb3 f136 13 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
+NULL test tb3 f137 14 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
+NULL test tb3 f138 15 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references
+NULL test tb3 f139 16 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references
+NULL test tb3 f140 17 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
+NULL test tb3 f141 18 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
+NULL test tb3 f142 19 99999 NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test tb3 f143 20 99999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references
+NULL test tb3 f144 21 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
+NULL test tb3 f145 22 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
+NULL test tb3 f146 23 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references
+NULL test tb3 f147 24 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
+NULL test tb3 f148 25 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
+NULL test tb3 f149 26 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
+NULL test tb3 f150 27 1000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
+NULL test tb3 f151 28 999 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
+NULL test tb3 f152 29 0000001000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb3 f153 30 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb3 f154 31 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
+NULL test tb3 f155 32 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
+NULL test tb3 f156 33 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
+NULL test tb3 f157 34 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
+NULL test tb3 f158 35 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb3 f159 36 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
+NULL test tb3 f160 37 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb3 f161 38 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
+NULL test tb3 f162 39 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
+NULL test tb3 f163 40 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
+NULL test tb3 f164 41 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
+NULL test tb3 f165 42 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
+NULL test tb3 f166 43 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb3 f167 44 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
+NULL test tb3 f168 45 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb3 f169 46 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
+NULL test tb3 f170 47 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
+NULL test tb3 f171 48 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
+NULL test tb3 f172 49 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb3 f173 50 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb3 f174 51 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
+NULL test tb3 f175 52 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
+NULL test tb4 f176 1 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
+NULL test tb4 f177 2 9 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
+NULL test tb4 f178 3 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb4 f179 4 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
+NULL test tb4 f180 5 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb4 f181 6 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
+NULL test tb4 f182 7 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
+NULL test tb4 f183 8 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
+NULL test tb4 f184 9 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
+NULL test tb4 f185 10 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
+NULL test tb4 f186 11 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb4 f187 12 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
+NULL test tb4 f188 13 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb4 f189 14 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
+NULL test tb4 f190 15 88.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
+NULL test tb4 f191 16 88.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
+NULL test tb4 f192 17 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
+NULL test tb4 f193 18 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
+NULL test tb4 f194 19 55.5 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
+NULL test tb4 f195 20 55.5 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
+NULL test tb4 f196 21 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
+NULL test tb4 f197 22 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
+NULL test tb4 f198 23 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
+NULL test tb4 f199 24 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
+NULL test tb4 f200 25 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test tb4 f201 26 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test tb4 f202 27 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
+NULL test tb4 f203 28 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
+NULL test tb4 f204 29 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
+NULL test tb4 f205 30 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
+NULL test tb4 f206 31 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test tb4 f207 32 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test tb4 f208 33 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test tb4 f209 34 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test tb4 f210 35 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
+NULL test tb4 f211 36 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
+NULL test tb4 f212 37 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
+NULL test tb4 f213 38 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
+NULL test tb4 f214 39 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test tb4 f215 40 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
+NULL test tb4 f216 41 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test tb4 f217 42 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
+NULL test tb4 f218 43 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
+NULL test tb4 f219 44 NULL YES time NULL NULL NULL NULL NULL NULL time select,insert,update,references
+NULL test tb4 f220 45 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
+NULL test tb4 f221 46 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp on update CURRENT_TIMESTAMP select,insert,update,references
+NULL test tb4 f222 47 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
+NULL test tb4 f223 48 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
+NULL test tb4 f224 49 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
+NULL test tb4 f225 50 NULL YES enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references
+NULL test tb4 f226 51 NULL YES set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references
+NULL test tb4 f236 52 NULL YES char 95 190 NULL NULL ucs2 ucs2_general_ci char(95) select,insert,update,references
+NULL test tb4 f237 54 NULL YES char 130 130 NULL NULL latin1 latin1_bin char(130) select,insert,update,references
+NULL test tb4 f238 55 NULL YES varchar 25000 25000 NULL NULL latin1 latin1_bin varchar(25000) select,insert,update,references
+NULL test tb4 f239 56 NULL YES varbinary 0 0 NULL NULL NULL NULL varbinary(0) select,insert,update,references
+NULL test tb4 f240 57 NULL YES varchar 1200 2400 NULL NULL ucs2 ucs2_general_ci varchar(1200) select,insert,update,references
+NULL test tb4 f241 53 NULL YES char 255 510 NULL NULL ucs2 ucs2_general_ci char(255) select,insert,update,references
+NULL test1 tb2 f100 42 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
+NULL test1 tb2 f101 43 2000-01-01 NO date NULL NULL NULL NULL NULL NULL date select,insert,update,references
+NULL test1 tb2 f102 44 00:00:20 NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references
+NULL test1 tb2 f103 45 0002-02-02 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
+NULL test1 tb2 f104 46 2000-12-31 23:59:59 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
+NULL test1 tb2 f105 47 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
+NULL test1 tb2 f106 48 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
+NULL test1 tb2 f107 49 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
+NULL test1 tb2 f108 50 1enum NO enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references
+NULL test1 tb2 f109 51 1set NO set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references
+NULL test1 tb2 f59 1 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
+NULL test1 tb2 f60 2 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
+NULL test1 tb2 f61 3 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test1 tb2 f62 4 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
+NULL test1 tb2 f63 5 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test1 tb2 f64 6 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
+NULL test1 tb2 f65 7 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
+NULL test1 tb2 f66 8 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
+NULL test1 tb2 f67 9 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
+NULL test1 tb2 f68 10 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
+NULL test1 tb2 f69 11 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test1 tb2 f70 12 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
+NULL test1 tb2 f71 13 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test1 tb2 f72 14 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
+NULL test1 tb2 f73 15 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
+NULL test1 tb2 f74 16 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
+NULL test1 tb2 f75 17 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
+NULL test1 tb2 f76 18 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
+NULL test1 tb2 f77 19 7.7 YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
+NULL test1 tb2 f78 20 7.7 YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
+NULL test1 tb2 f79 21 00000000000000000007.7 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
+NULL test1 tb2 f80 22 00000000000000000008.8 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
+NULL test1 tb2 f81 23 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
+NULL test1 tb2 f82 24 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
+NULL test1 tb2 f83 25 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test1 tb2 f84 26 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test1 tb2 f85 27 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
+NULL test1 tb2 f86 28 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
+NULL test1 tb2 f87 29 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
+NULL test1 tb2 f88 30 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
+NULL test1 tb2 f89 31 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test1 tb2 f90 32 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test1 tb2 f91 33 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test1 tb2 f92 34 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test1 tb2 f93 35 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
+NULL test1 tb2 f94 36 8.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
+NULL test1 tb2 f95 37 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
+NULL test1 tb2 f96 38 8.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
+NULL test1 tb2 f97 39 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test1 tb2 f98 40 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
+NULL test1 tb2 f99 41 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test4 t6 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
+NULL test4 t6 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL test4 t6 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
+NULL test4 t6 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test4 t6 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL 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 binary NULL NULL
+1.0000 char latin1 latin1_bin
+1.0000 varchar latin1 latin1_bin
+1.0000 char latin1 latin1_swedish_ci
+1.0000 enum latin1 latin1_swedish_ci
+1.0000 set 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
+2.0000 char ucs2 ucs2_general_ci
+2.0000 varchar 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 bigint NULL NULL
+NULL date NULL NULL
+NULL datetime NULL NULL
+NULL decimal NULL NULL
+NULL double NULL NULL
+NULL double unsigned NULL NULL
+NULL double unsigned zerofill NULL NULL
+NULL float NULL NULL
+NULL float unsigned NULL NULL
+NULL float unsigned zerofill NULL NULL
+NULL int NULL NULL
+NULL mediumint NULL NULL
+NULL smallint NULL NULL
+NULL time NULL NULL
+NULL timestamp NULL NULL
+NULL tinyint NULL NULL
+NULL varbinary NULL NULL
+NULL year 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 test tb1 f1 char 1 1 latin1 latin1_swedish_ci char(1)
+1.0000 test tb1 f2 char 1 1 latin1 latin1_bin char(1)
+1.0000 test tb1 f3 char 1 1 latin1 latin1_swedish_ci char(1)
+1.0000 test tb1 f12 binary 1 1 NULL NULL binary(1)
+NULL test tb1 f13 tinyint NULL NULL NULL NULL tinyint(4)
+NULL test tb1 f14 tinyint NULL NULL NULL NULL tinyint(3) unsigned
+NULL test tb1 f15 tinyint NULL NULL NULL NULL tinyint(3) unsigned zerofill
+NULL test tb1 f16 tinyint NULL NULL NULL NULL tinyint(3) unsigned zerofill
+NULL test tb1 f17 smallint NULL NULL NULL NULL smallint(6)
+NULL test tb1 f18 smallint NULL NULL NULL NULL smallint(5) unsigned
+NULL test tb1 f19 smallint NULL NULL NULL NULL smallint(5) unsigned zerofill
+NULL test tb1 f20 smallint NULL NULL NULL NULL smallint(5) unsigned zerofill
+NULL test tb1 f21 mediumint NULL NULL NULL NULL mediumint(9)
+NULL test tb1 f22 mediumint NULL NULL NULL NULL mediumint(8) unsigned
+NULL test tb1 f23 mediumint NULL NULL NULL NULL mediumint(8) unsigned zerofill
+NULL test tb1 f24 mediumint NULL NULL NULL NULL mediumint(8) unsigned zerofill
+NULL test tb1 f25 int NULL NULL NULL NULL int(11)
+NULL test tb1 f26 int NULL NULL NULL NULL int(10) unsigned
+NULL test tb1 f27 int NULL NULL NULL NULL int(10) unsigned zerofill
+NULL test tb1 f28 int NULL NULL NULL NULL int(10) unsigned zerofill
+NULL test tb1 f29 bigint NULL NULL NULL NULL bigint(20)
+NULL test tb1 f30 bigint NULL NULL NULL NULL bigint(20) unsigned
+NULL test tb1 f31 bigint NULL NULL NULL NULL bigint(20) unsigned zerofill
+NULL test tb1 f32 bigint NULL NULL NULL NULL bigint(20) unsigned zerofill
+NULL test tb1 f33 decimal NULL NULL NULL NULL decimal(10,0)
+NULL test tb1 f34 decimal NULL NULL NULL NULL decimal(10,0) unsigned
+NULL test tb1 f35 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb1 f36 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb1 f37 decimal NULL NULL NULL NULL decimal(10,0)
+NULL test tb1 f38 decimal NULL NULL NULL NULL decimal(64,0)
+NULL test tb1 f39 decimal NULL NULL NULL NULL decimal(10,0) unsigned
+NULL test tb1 f40 decimal NULL NULL NULL NULL decimal(64,0) unsigned
+NULL test tb1 f41 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb1 f42 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
+NULL test tb1 f43 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb1 f44 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
+NULL test tb1 f45 decimal NULL NULL NULL NULL decimal(10,0)
+NULL test tb1 f46 decimal NULL NULL NULL NULL decimal(63,30)
+NULL test tb1 f47 decimal NULL NULL NULL NULL decimal(10,0) unsigned
+NULL test tb1 f48 decimal NULL NULL NULL NULL decimal(63,30) unsigned
+NULL test tb1 f49 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb1 f50 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
+NULL test tb1 f51 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb1 f52 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
+NULL test tb1 f53 decimal NULL NULL NULL NULL decimal(10,0)
+NULL test tb1 f54 decimal NULL NULL NULL NULL decimal(10,0) unsigned
+NULL test tb1 f55 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb1 f56 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb1 f57 decimal NULL NULL NULL NULL decimal(10,0)
+NULL test tb1 f58 decimal NULL NULL NULL NULL decimal(64,0)
+NULL test tb2 f59 decimal NULL NULL NULL NULL decimal(10,0) unsigned
+NULL test tb2 f60 decimal NULL NULL NULL NULL decimal(64,0) unsigned
+NULL test tb2 f61 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb2 f62 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
+NULL test tb2 f63 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb2 f64 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
+NULL test tb2 f65 decimal NULL NULL NULL NULL decimal(10,0)
+NULL test tb2 f66 decimal NULL NULL NULL NULL decimal(63,30)
+NULL test tb2 f67 decimal NULL NULL NULL NULL decimal(10,0) unsigned
+NULL test tb2 f68 decimal NULL NULL NULL NULL decimal(63,30) unsigned
+NULL test tb2 f69 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb2 f70 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
+NULL test tb2 f71 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb2 f72 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
+NULL test tb2 f73 double NULL NULL NULL NULL double
+NULL test tb2 f74 double unsigned NULL NULL NULL NULL double unsigned
+NULL test tb2 f75 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
+NULL test tb2 f76 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
+NULL test tb2 f77 double NULL NULL NULL NULL double
+NULL test tb2 f78 double unsigned NULL NULL NULL NULL double unsigned
+NULL test tb2 f79 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
+NULL test tb2 f80 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
+NULL test tb2 f81 float NULL NULL NULL NULL float
+NULL test tb2 f82 float unsigned NULL NULL NULL NULL float unsigned
+NULL test tb2 f83 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test tb2 f84 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test tb2 f85 float NULL NULL NULL NULL float
+NULL test tb2 f86 float NULL NULL NULL NULL float
+NULL test tb2 f87 float unsigned NULL NULL NULL NULL float unsigned
+NULL test tb2 f88 float unsigned NULL NULL NULL NULL float unsigned
+NULL test tb2 f89 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test tb2 f90 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test tb2 f91 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test tb2 f92 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test tb2 f93 float NULL NULL NULL NULL float
+NULL test tb2 f94 double NULL NULL NULL NULL double
+NULL test tb2 f95 float unsigned NULL NULL NULL NULL float unsigned
+NULL test tb2 f96 double unsigned NULL NULL NULL NULL double unsigned
+NULL test tb2 f97 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test tb2 f98 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
+NULL test tb2 f99 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test tb2 f100 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
+NULL test tb2 f101 date NULL NULL NULL NULL date
+NULL test tb2 f102 time NULL NULL NULL NULL time
+NULL test tb2 f103 datetime NULL NULL NULL NULL datetime
+NULL test tb2 f104 timestamp NULL NULL NULL NULL timestamp
+NULL test tb2 f105 year NULL NULL NULL NULL year(4)
+NULL test tb2 f106 year NULL NULL NULL NULL year(4)
+NULL test tb2 f107 year NULL NULL NULL NULL year(4)
+1.0000 test tb2 f108 enum 5 5 latin1 latin1_swedish_ci enum('1enum','2enum')
+1.0000 test tb2 f109 set 9 9 latin1 latin1_swedish_ci set('1set','2set')
+1.0000 test tb3 f118 char 1 1 latin1 latin1_swedish_ci char(1)
+1.0000 test tb3 f119 char 1 1 latin1 latin1_bin char(1)
+1.0000 test tb3 f120 char 1 1 latin1 latin1_swedish_ci char(1)
+1.0000 test tb3 f121 char 50 50 latin1 latin1_swedish_ci char(50)
+1.0000 test tb3 f122 char 50 50 latin1 latin1_swedish_ci char(50)
+1.0000 test tb3 f129 binary 1 1 NULL NULL binary(1)
+NULL test tb3 f130 tinyint NULL NULL NULL NULL tinyint(4)
+NULL test tb3 f131 tinyint NULL NULL NULL NULL tinyint(3) unsigned
+NULL test tb3 f132 tinyint NULL NULL NULL NULL tinyint(3) unsigned zerofill
+NULL test tb3 f133 tinyint NULL NULL NULL NULL tinyint(3) unsigned zerofill
+NULL test tb3 f134 smallint NULL NULL NULL NULL smallint(6)
+NULL test tb3 f135 smallint NULL NULL NULL NULL smallint(5) unsigned
+NULL test tb3 f136 smallint NULL NULL NULL NULL smallint(5) unsigned zerofill
+NULL test tb3 f137 smallint NULL NULL NULL NULL smallint(5) unsigned zerofill
+NULL test tb3 f138 mediumint NULL NULL NULL NULL mediumint(9)
+NULL test tb3 f139 mediumint NULL NULL NULL NULL mediumint(8) unsigned
+NULL test tb3 f140 mediumint NULL NULL NULL NULL mediumint(8) unsigned zerofill
+NULL test tb3 f141 mediumint NULL NULL NULL NULL mediumint(8) unsigned zerofill
+NULL test tb3 f142 int NULL NULL NULL NULL int(11)
+NULL test tb3 f143 int NULL NULL NULL NULL int(10) unsigned
+NULL test tb3 f144 int NULL NULL NULL NULL int(10) unsigned zerofill
+NULL test tb3 f145 int NULL NULL NULL NULL int(10) unsigned zerofill
+NULL test tb3 f146 bigint NULL NULL NULL NULL bigint(20)
+NULL test tb3 f147 bigint NULL NULL NULL NULL bigint(20) unsigned
+NULL test tb3 f148 bigint NULL NULL NULL NULL bigint(20) unsigned zerofill
+NULL test tb3 f149 bigint NULL NULL NULL NULL bigint(20) unsigned zerofill
+NULL test tb3 f150 decimal NULL NULL NULL NULL decimal(10,0)
+NULL test tb3 f151 decimal NULL NULL NULL NULL decimal(10,0) unsigned
+NULL test tb3 f152 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb3 f153 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb3 f154 decimal NULL NULL NULL NULL decimal(10,0)
+NULL test tb3 f155 decimal NULL NULL NULL NULL decimal(64,0)
+NULL test tb3 f156 decimal NULL NULL NULL NULL decimal(10,0) unsigned
+NULL test tb3 f157 decimal NULL NULL NULL NULL decimal(64,0) unsigned
+NULL test tb3 f158 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb3 f159 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
+NULL test tb3 f160 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb3 f161 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
+NULL test tb3 f162 decimal NULL NULL NULL NULL decimal(10,0)
+NULL test tb3 f163 decimal NULL NULL NULL NULL decimal(63,30)
+NULL test tb3 f164 decimal NULL NULL NULL NULL decimal(10,0) unsigned
+NULL test tb3 f165 decimal NULL NULL NULL NULL decimal(63,30) unsigned
+NULL test tb3 f166 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb3 f167 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
+NULL test tb3 f168 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb3 f169 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
+NULL test tb3 f170 decimal NULL NULL NULL NULL decimal(10,0)
+NULL test tb3 f171 decimal NULL NULL NULL NULL decimal(10,0) unsigned
+NULL test tb3 f172 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb3 f173 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb3 f174 decimal NULL NULL NULL NULL decimal(10,0)
+NULL test tb3 f175 decimal NULL NULL NULL NULL decimal(64,0)
+NULL test tb4 f176 decimal NULL NULL NULL NULL decimal(10,0) unsigned
+NULL test tb4 f177 decimal NULL NULL NULL NULL decimal(64,0) unsigned
+NULL test tb4 f178 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb4 f179 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
+NULL test tb4 f180 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb4 f181 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
+NULL test tb4 f182 decimal NULL NULL NULL NULL decimal(10,0)
+NULL test tb4 f183 decimal NULL NULL NULL NULL decimal(63,30)
+NULL test tb4 f184 decimal NULL NULL NULL NULL decimal(10,0) unsigned
+NULL test tb4 f185 decimal NULL NULL NULL NULL decimal(63,30) unsigned
+NULL test tb4 f186 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb4 f187 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
+NULL test tb4 f188 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb4 f189 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
+NULL test tb4 f190 double NULL NULL NULL NULL double
+NULL test tb4 f191 double unsigned NULL NULL NULL NULL double unsigned
+NULL test tb4 f192 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
+NULL test tb4 f193 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
+NULL test tb4 f194 double NULL NULL NULL NULL double
+NULL test tb4 f195 double unsigned NULL NULL NULL NULL double unsigned
+NULL test tb4 f196 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
+NULL test tb4 f197 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
+NULL test tb4 f198 float NULL NULL NULL NULL float
+NULL test tb4 f199 float unsigned NULL NULL NULL NULL float unsigned
+NULL test tb4 f200 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test tb4 f201 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test tb4 f202 float NULL NULL NULL NULL float
+NULL test tb4 f203 float NULL NULL NULL NULL float
+NULL test tb4 f204 float unsigned NULL NULL NULL NULL float unsigned
+NULL test tb4 f205 float unsigned NULL NULL NULL NULL float unsigned
+NULL test tb4 f206 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test tb4 f207 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test tb4 f208 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test tb4 f209 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test tb4 f210 float NULL NULL NULL NULL float
+NULL test tb4 f211 double NULL NULL NULL NULL double
+NULL test tb4 f212 float unsigned NULL NULL NULL NULL float unsigned
+NULL test tb4 f213 double unsigned NULL NULL NULL NULL double unsigned
+NULL test tb4 f214 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test tb4 f215 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
+NULL test tb4 f216 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test tb4 f217 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
+NULL test tb4 f218 date NULL NULL NULL NULL date
+NULL test tb4 f219 time NULL NULL NULL NULL time
+NULL test tb4 f220 datetime NULL NULL NULL NULL datetime
+NULL test tb4 f221 timestamp NULL NULL NULL NULL timestamp
+NULL test tb4 f222 year NULL NULL NULL NULL year(4)
+NULL test tb4 f223 year NULL NULL NULL NULL year(4)
+NULL test tb4 f224 year NULL NULL NULL NULL year(4)
+1.0000 test tb4 f225 enum 5 5 latin1 latin1_swedish_ci enum('1enum','2enum')
+1.0000 test tb4 f226 set 9 9 latin1 latin1_swedish_ci set('1set','2set')
+2.0000 test tb4 f236 char 95 190 ucs2 ucs2_general_ci char(95)
+2.0000 test tb4 f241 char 255 510 ucs2 ucs2_general_ci char(255)
+1.0000 test tb4 f237 char 130 130 latin1 latin1_bin char(130)
+1.0000 test tb4 f238 varchar 25000 25000 latin1 latin1_bin varchar(25000)
+NULL test tb4 f239 varbinary 0 0 NULL NULL varbinary(0)
+2.0000 test tb4 f240 varchar 1200 2400 ucs2 ucs2_general_ci varchar(1200)
+NULL test1 tb2 f59 decimal NULL NULL NULL NULL decimal(10,0) unsigned
+NULL test1 tb2 f60 decimal NULL NULL NULL NULL decimal(64,0) unsigned
+NULL test1 tb2 f61 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test1 tb2 f62 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
+NULL test1 tb2 f63 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test1 tb2 f64 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
+NULL test1 tb2 f65 decimal NULL NULL NULL NULL decimal(10,0)
+NULL test1 tb2 f66 decimal NULL NULL NULL NULL decimal(63,30)
+NULL test1 tb2 f67 decimal NULL NULL NULL NULL decimal(10,0) unsigned
+NULL test1 tb2 f68 decimal NULL NULL NULL NULL decimal(63,30) unsigned
+NULL test1 tb2 f69 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test1 tb2 f70 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
+NULL test1 tb2 f71 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test1 tb2 f72 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
+NULL test1 tb2 f73 double NULL NULL NULL NULL double
+NULL test1 tb2 f74 double unsigned NULL NULL NULL NULL double unsigned
+NULL test1 tb2 f75 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
+NULL test1 tb2 f76 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
+NULL test1 tb2 f77 double NULL NULL NULL NULL double
+NULL test1 tb2 f78 double unsigned NULL NULL NULL NULL double unsigned
+NULL test1 tb2 f79 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
+NULL test1 tb2 f80 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
+NULL test1 tb2 f81 float NULL NULL NULL NULL float
+NULL test1 tb2 f82 float unsigned NULL NULL NULL NULL float unsigned
+NULL test1 tb2 f83 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test1 tb2 f84 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test1 tb2 f85 float NULL NULL NULL NULL float
+NULL test1 tb2 f86 float NULL NULL NULL NULL float
+NULL test1 tb2 f87 float unsigned NULL NULL NULL NULL float unsigned
+NULL test1 tb2 f88 float unsigned NULL NULL NULL NULL float unsigned
+NULL test1 tb2 f89 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test1 tb2 f90 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test1 tb2 f91 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test1 tb2 f92 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test1 tb2 f93 float NULL NULL NULL NULL float
+NULL test1 tb2 f94 double NULL NULL NULL NULL double
+NULL test1 tb2 f95 float unsigned NULL NULL NULL NULL float unsigned
+NULL test1 tb2 f96 double unsigned NULL NULL NULL NULL double unsigned
+NULL test1 tb2 f97 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test1 tb2 f98 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
+NULL test1 tb2 f99 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test1 tb2 f100 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
+NULL test1 tb2 f101 date NULL NULL NULL NULL date
+NULL test1 tb2 f102 time NULL NULL NULL NULL time
+NULL test1 tb2 f103 datetime NULL NULL NULL NULL datetime
+NULL test1 tb2 f104 timestamp NULL NULL NULL NULL timestamp
+NULL test1 tb2 f105 year NULL NULL NULL NULL year(4)
+NULL test1 tb2 f106 year NULL NULL NULL NULL year(4)
+NULL test1 tb2 f107 year NULL NULL NULL NULL year(4)
+1.0000 test1 tb2 f108 enum 5 5 latin1 latin1_swedish_ci enum('1enum','2enum')
+1.0000 test1 tb2 f109 set 9 9 latin1 latin1_swedish_ci set('1set','2set')
+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;
+DROP TABLE test.tb1;
+DROP TABLE test.tb2;
+DROP TABLE test.tb3;
+DROP TABLE test.tb4;
diff --git a/mysql-test/suite/funcs_1/r/is_columns_myisam.result b/mysql-test/suite/funcs_1/r/is_columns_myisam.result
new file mode 100644
index 00000000000..00f124c5ebc
--- /dev/null
+++ b/mysql-test/suite/funcs_1/r/is_columns_myisam.result
@@ -0,0 +1,1217 @@
+SET @@session.sql_mode = 'NO_ENGINE_SUBSTITUTION';
+DROP DATABASE IF EXISTS test1;
+CREATE DATABASE test1;
+USE test;
+drop table if exists tb1 ;
+create table tb1 (
+f1 char,
+f2 char binary,
+f3 char ascii,
+f4 tinytext unicode,
+f5 text,
+f6 mediumtext,
+f7 longtext,
+f8 tinyblob,
+f9 blob,
+f10 mediumblob,
+f11 longblob,
+f12 binary,
+f13 tinyint,
+f14 tinyint unsigned,
+f15 tinyint zerofill,
+f16 tinyint unsigned zerofill,
+f17 smallint,
+f18 smallint unsigned,
+f19 smallint zerofill,
+f20 smallint unsigned zerofill,
+f21 mediumint,
+f22 mediumint unsigned,
+f23 mediumint zerofill,
+f24 mediumint unsigned zerofill,
+f25 int,
+f26 int unsigned,
+f27 int zerofill,
+f28 int unsigned zerofill,
+f29 bigint,
+f30 bigint unsigned,
+f31 bigint zerofill,
+f32 bigint unsigned zerofill,
+f33 decimal not null DEFAULT 9.9,
+f34 decimal unsigned not null DEFAULT 9.9,
+f35 decimal zerofill not null DEFAULT 9.9,
+f36 decimal unsigned zerofill not null DEFAULT 9.9,
+f37 decimal (0) not null DEFAULT 9.9,
+f38 decimal (64) not null DEFAULT 9.9,
+f39 decimal (0) unsigned not null DEFAULT 9.9,
+f40 decimal (64) unsigned not null DEFAULT 9.9,
+f41 decimal (0) zerofill not null DEFAULT 9.9,
+f42 decimal (64) zerofill not null DEFAULT 9.9,
+f43 decimal (0) unsigned zerofill not null DEFAULT 9.9,
+f44 decimal (64) unsigned zerofill not null DEFAULT 9.9,
+f45 decimal (0,0) not null DEFAULT 9.9,
+f46 decimal (63,30) not null DEFAULT 9.9,
+f47 decimal (0,0) unsigned not null DEFAULT 9.9,
+f48 decimal (63,30) unsigned not null DEFAULT 9.9,
+f49 decimal (0,0) zerofill not null DEFAULT 9.9,
+f50 decimal (63,30) zerofill not null DEFAULT 9.9,
+f51 decimal (0,0) unsigned zerofill not null DEFAULT 9.9,
+f52 decimal (63,30) unsigned zerofill not null DEFAULT 9.9,
+f53 numeric not null DEFAULT 99,
+f54 numeric unsigned not null DEFAULT 99,
+f55 numeric zerofill not null DEFAULT 99,
+f56 numeric unsigned zerofill not null DEFAULT 99,
+f57 numeric (0) not null DEFAULT 99,
+f58 numeric (64) not null DEFAULT 99
+) engine = myisam;
+Warnings:
+Note 1265 Data truncated for column 'f33' at row 1
+Note 1265 Data truncated for column 'f34' at row 1
+Note 1265 Data truncated for column 'f35' at row 1
+Note 1265 Data truncated for column 'f36' at row 1
+Note 1265 Data truncated for column 'f37' at row 1
+Note 1265 Data truncated for column 'f38' at row 1
+Note 1265 Data truncated for column 'f39' at row 1
+Note 1265 Data truncated for column 'f40' at row 1
+Note 1265 Data truncated for column 'f41' at row 1
+Note 1265 Data truncated for column 'f42' at row 1
+Note 1265 Data truncated for column 'f43' at row 1
+Note 1265 Data truncated for column 'f44' at row 1
+Note 1265 Data truncated for column 'f45' at row 1
+Note 1265 Data truncated for column 'f47' at row 1
+Note 1265 Data truncated for column 'f49' at row 1
+Note 1265 Data truncated for column 'f51' at row 1
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/myisam_tb1.txt'
+into table tb1;
+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",
+f110 VARBINARY(64) null,
+f111 VARBINARY(27) null ,
+f112 VARBINARY(64) null ,
+f113 VARBINARY(192) null ,
+f114 VARBINARY(192) ,
+f115 VARBINARY(27) null ,
+f116 VARBINARY(64) null,
+f117 VARBINARY(192) null
+) engine = myisam;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/myisam_tb2.txt'
+into table tb2;
+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 tinytext,
+f122 text,
+f123 mediumtext,
+f124 longtext unicode,
+f125 tinyblob,
+f126 blob,
+f127 mediumblob,
+f128 longblob,
+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 = myisam;
+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_ln/funcs_1/myisam_tb3.txt'
+into table tb3;
+drop table if exists tb4 ;
+create table tb4 (
+f176 numeric (0) unsigned not null DEFAULT 9,
+f177 numeric (64) unsigned not null DEFAULT 9,
+f178 numeric (0) zerofill not null DEFAULT 9,
+f179 numeric (64) zerofill not null DEFAULT 9,
+f180 numeric (0) unsigned zerofill not null DEFAULT 9,
+f181 numeric (64) unsigned zerofill not null DEFAULT 9,
+f182 numeric (0,0) not null DEFAULT 9,
+f183 numeric (63,30) not null DEFAULT 9,
+f184 numeric (0,0) unsigned not null DEFAULT 9,
+f185 numeric (63,30) unsigned not null DEFAULT 9,
+f186 numeric (0,0) zerofill not null DEFAULT 9,
+f187 numeric (63,30) zerofill not null DEFAULT 9,
+f188 numeric (0,0) unsigned zerofill not null DEFAULT 9,
+f189 numeric (63,30) unsigned zerofill not null DEFAULT 9,
+f190 real not null DEFAULT 88.8,
+f191 real unsigned not null DEFAULT 88.8,
+f192 real zerofill not null DEFAULT 88.8,
+f193 real unsigned zerofill not null DEFAULT 88.8,
+f194 double not null DEFAULT 55.5,
+f195 double unsigned not null DEFAULT 55.5,
+f196 double zerofill not null DEFAULT 55.5,
+f197 double unsigned zerofill not null DEFAULT 55.5,
+f198 float,
+f199 float unsigned,
+f200 float zerofill,
+f201 float unsigned zerofill,
+f202 float(0),
+f203 float(23),
+f204 float(0) unsigned,
+f205 float(23) unsigned,
+f206 float(0) zerofill,
+f207 float(23) zerofill,
+f208 float(0) unsigned zerofill,
+f209 float(23) unsigned zerofill,
+f210 float(24),
+f211 float(53),
+f212 float(24) unsigned,
+f213 float(53) unsigned,
+f214 float(24) zerofill,
+f215 float(53) zerofill,
+f216 float(24) unsigned zerofill,
+f217 float(53) unsigned zerofill,
+f218 date,
+f219 time,
+f220 datetime,
+f221 timestamp,
+f222 year,
+f223 year(3),
+f224 year(4),
+f225 enum("1enum","2enum"),
+f226 set("1set","2set"),
+f227 VARBINARY(64),
+f228 VARBINARY(27),
+f229 VARBINARY(64),
+f230 VARBINARY(192),
+f231 VARBINARY(192),
+f232 VARBINARY(27),
+f233 VARBINARY(64),
+f234 VARBINARY(192),
+f235 char(255) unicode,
+f236 char(60) ascii,
+f237 char(255) binary,
+f238 varchar(0) binary,
+f239 varbinary(1000),
+f240 varchar(120) unicode,
+f241 char(100) unicode,
+f242 bit(30)
+) engine = myisam;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/myisam_tb4.txt'
+into table tb4;
+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",
+f110 VARBINARY(64) null,
+f111 VARBINARY(27) null ,
+f112 VARBINARY(64) null ,
+f113 VARBINARY(192) null ,
+f114 VARBINARY(192) ,
+f115 VARBINARY(27) null ,
+f116 VARBINARY(64) null,
+f117 VARBINARY(192) null
+) engine = myisam;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/myisam_tb2.txt'
+into table tb2;
+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 = MyISAM;
+CREATE TABLE t2 (f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
+ENGINE = MyISAM;
+CREATE TABLE t4 (f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
+ENGINE = MyISAM;
+CREATE TABLE t10 (f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
+ENGINE = MyISAM;
+CREATE TABLE t11 (f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
+ENGINE = MyISAM;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/t4.txt' INTO TABLE t1;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/t4.txt' INTO TABLE t2;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/t4.txt' INTO TABLE t4;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/t4.txt' INTO TABLE t10;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/t4.txt' INTO TABLE t11;
+drop TABLE if exists t3;
+CREATE TABLE t3 (f1 char(20), f2 char(20), f3 integer) ENGINE = MyISAM;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/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 = MyISAM;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/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 = MyISAM;
+CREATE TABLE t8 (f1 char(20),f2 char(25),f3 date,f4 int) ENGINE = MyISAM;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/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_ln/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 = MyISAM;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/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
+NULL test t1 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
+NULL test t1 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL test t1 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
+NULL test t1 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test t1 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL test t1 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test t10 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
+NULL test t10 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL test t10 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
+NULL test t10 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test t10 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL test t10 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test t11 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
+NULL test t11 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL test t11 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
+NULL test t11 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test t11 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL test t11 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test t2 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
+NULL test t2 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL test t2 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
+NULL test t2 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test t2 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL test t2 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test t3 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
+NULL test t3 f2 2 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
+NULL test t3 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test t4 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
+NULL test t4 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL test t4 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
+NULL test t4 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test t4 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL test t4 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test t7 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
+NULL test t7 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL test t7 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
+NULL test t7 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test t8 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
+NULL test t8 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL test t8 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
+NULL test t8 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test t9 f1 1 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test t9 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL test t9 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test tb1 f1 1 NULL YES char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
+NULL test tb1 f10 10 NULL YES mediumblob 16777215 16777215 NULL NULL NULL NULL mediumblob select,insert,update,references
+NULL test tb1 f11 11 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references
+NULL test tb1 f12 12 NULL YES binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references
+NULL test tb1 f13 13 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references
+NULL test tb1 f14 14 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references
+NULL test tb1 f15 15 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
+NULL test tb1 f16 16 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
+NULL test tb1 f17 17 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references
+NULL test tb1 f18 18 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references
+NULL test tb1 f19 19 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
+NULL test tb1 f2 2 NULL YES char 1 1 NULL NULL latin1 latin1_bin char(1) select,insert,update,references
+NULL test tb1 f20 20 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
+NULL test tb1 f21 21 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references
+NULL test tb1 f22 22 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references
+NULL test tb1 f23 23 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
+NULL test tb1 f24 24 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
+NULL test tb1 f25 25 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test tb1 f26 26 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references
+NULL test tb1 f27 27 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
+NULL test tb1 f28 28 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
+NULL test tb1 f29 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references
+NULL test tb1 f3 3 NULL YES char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
+NULL test tb1 f30 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
+NULL test tb1 f31 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
+NULL test tb1 f32 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
+NULL test tb1 f33 33 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
+NULL test tb1 f34 34 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
+NULL test tb1 f35 35 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb1 f36 36 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb1 f37 37 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
+NULL test tb1 f38 38 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
+NULL test tb1 f39 39 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
+NULL test tb1 f4 4 NULL YES tinytext 127 255 NULL NULL ucs2 ucs2_general_ci tinytext select,insert,update,references
+NULL test tb1 f40 40 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
+NULL test tb1 f41 41 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb1 f42 42 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
+NULL test tb1 f43 43 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb1 f44 44 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
+NULL test tb1 f45 45 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
+NULL test tb1 f46 46 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
+NULL test tb1 f47 47 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
+NULL test tb1 f48 48 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
+NULL test tb1 f49 49 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb1 f5 5 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references
+NULL test tb1 f50 50 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
+NULL test tb1 f51 51 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb1 f52 52 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
+NULL test tb1 f53 53 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
+NULL test tb1 f54 54 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
+NULL test tb1 f55 55 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb1 f56 56 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb1 f57 57 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
+NULL test tb1 f58 58 99 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
+NULL test tb1 f6 6 NULL YES mediumtext 16777215 16777215 NULL NULL latin1 latin1_swedish_ci mediumtext select,insert,update,references
+NULL test tb1 f7 7 NULL YES longtext 4294967295 4294967295 NULL NULL latin1 latin1_swedish_ci longtext select,insert,update,references
+NULL test tb1 f8 8 NULL YES tinyblob 255 255 NULL NULL NULL NULL tinyblob select,insert,update,references
+NULL test tb1 f9 9 NULL YES blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
+NULL test tb2 f100 42 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
+NULL test tb2 f101 43 2000-01-01 NO date NULL NULL NULL NULL NULL NULL date select,insert,update,references
+NULL test tb2 f102 44 00:00:20 NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references
+NULL test tb2 f103 45 0002-02-02 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
+NULL test tb2 f104 46 2000-12-31 23:59:59 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
+NULL test tb2 f105 47 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
+NULL test tb2 f106 48 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
+NULL test tb2 f107 49 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
+NULL test tb2 f108 50 1enum NO enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references
+NULL test tb2 f109 51 1set NO set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references
+NULL test tb2 f110 52 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
+NULL test tb2 f111 53 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references
+NULL test tb2 f112 54 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
+NULL test tb2 f113 55 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
+NULL test tb2 f114 56 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
+NULL test tb2 f115 57 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references
+NULL test tb2 f116 58 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
+NULL test tb2 f117 59 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
+NULL test tb2 f59 1 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
+NULL test tb2 f60 2 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
+NULL test tb2 f61 3 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb2 f62 4 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
+NULL test tb2 f63 5 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb2 f64 6 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
+NULL test tb2 f65 7 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
+NULL test tb2 f66 8 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
+NULL test tb2 f67 9 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
+NULL test tb2 f68 10 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
+NULL test tb2 f69 11 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb2 f70 12 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
+NULL test tb2 f71 13 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb2 f72 14 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
+NULL test tb2 f73 15 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
+NULL test tb2 f74 16 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
+NULL test tb2 f75 17 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
+NULL test tb2 f76 18 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
+NULL test tb2 f77 19 7.7 YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
+NULL test tb2 f78 20 7.7 YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
+NULL test tb2 f79 21 00000000000000000007.7 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
+NULL test tb2 f80 22 00000000000000000008.8 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
+NULL test tb2 f81 23 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
+NULL test tb2 f82 24 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
+NULL test tb2 f83 25 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test tb2 f84 26 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test tb2 f85 27 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
+NULL test tb2 f86 28 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
+NULL test tb2 f87 29 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
+NULL test tb2 f88 30 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
+NULL test tb2 f89 31 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test tb2 f90 32 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test tb2 f91 33 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test tb2 f92 34 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test tb2 f93 35 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
+NULL test tb2 f94 36 8.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
+NULL test tb2 f95 37 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
+NULL test tb2 f96 38 8.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
+NULL test tb2 f97 39 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test tb2 f98 40 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
+NULL test tb2 f99 41 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test tb3 f118 1 a NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
+NULL test tb3 f119 2  NO char 1 1 NULL NULL latin1 latin1_bin char(1) select,insert,update,references
+NULL test tb3 f120 3  NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
+NULL test tb3 f121 4 NULL YES tinytext 255 255 NULL NULL latin1 latin1_swedish_ci tinytext select,insert,update,references
+NULL test tb3 f122 5 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references
+NULL test tb3 f123 6 NULL YES mediumtext 16777215 16777215 NULL NULL latin1 latin1_swedish_ci mediumtext select,insert,update,references
+NULL test tb3 f124 7 NULL YES longtext 2147483647 4294967295 NULL NULL ucs2 ucs2_general_ci longtext select,insert,update,references
+NULL test tb3 f125 8 NULL YES tinyblob 255 255 NULL NULL NULL NULL tinyblob select,insert,update,references
+NULL test tb3 f126 9 NULL YES blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
+NULL test tb3 f127 10 NULL YES mediumblob 16777215 16777215 NULL NULL NULL NULL mediumblob select,insert,update,references
+NULL test tb3 f128 11 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references
+NULL test tb3 f129 12  NO binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references
+NULL test tb3 f130 13 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references
+NULL test tb3 f131 14 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references
+NULL test tb3 f132 15 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
+NULL test tb3 f133 16 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
+NULL test tb3 f134 17 999 NO smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references
+NULL test tb3 f135 18 999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references
+NULL test tb3 f136 19 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
+NULL test tb3 f137 20 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
+NULL test tb3 f138 21 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references
+NULL test tb3 f139 22 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references
+NULL test tb3 f140 23 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
+NULL test tb3 f141 24 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
+NULL test tb3 f142 25 99999 NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test tb3 f143 26 99999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references
+NULL test tb3 f144 27 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
+NULL test tb3 f145 28 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
+NULL test tb3 f146 29 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references
+NULL test tb3 f147 30 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
+NULL test tb3 f148 31 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
+NULL test tb3 f149 32 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
+NULL test tb3 f150 33 1000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
+NULL test tb3 f151 34 999 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
+NULL test tb3 f152 35 0000001000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb3 f153 36 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb3 f154 37 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
+NULL test tb3 f155 38 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
+NULL test tb3 f156 39 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
+NULL test tb3 f157 40 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
+NULL test tb3 f158 41 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb3 f159 42 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
+NULL test tb3 f160 43 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb3 f161 44 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
+NULL test tb3 f162 45 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
+NULL test tb3 f163 46 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
+NULL test tb3 f164 47 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
+NULL test tb3 f165 48 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
+NULL test tb3 f166 49 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb3 f167 50 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
+NULL test tb3 f168 51 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb3 f169 52 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
+NULL test tb3 f170 53 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
+NULL test tb3 f171 54 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
+NULL test tb3 f172 55 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb3 f173 56 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb3 f174 57 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
+NULL test tb3 f175 58 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
+NULL test tb4 f176 1 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
+NULL test tb4 f177 2 9 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
+NULL test tb4 f178 3 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb4 f179 4 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
+NULL test tb4 f180 5 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb4 f181 6 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
+NULL test tb4 f182 7 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
+NULL test tb4 f183 8 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
+NULL test tb4 f184 9 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
+NULL test tb4 f185 10 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
+NULL test tb4 f186 11 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb4 f187 12 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
+NULL test tb4 f188 13 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test tb4 f189 14 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
+NULL test tb4 f190 15 88.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
+NULL test tb4 f191 16 88.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
+NULL test tb4 f192 17 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
+NULL test tb4 f193 18 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
+NULL test tb4 f194 19 55.5 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
+NULL test tb4 f195 20 55.5 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
+NULL test tb4 f196 21 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
+NULL test tb4 f197 22 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
+NULL test tb4 f198 23 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
+NULL test tb4 f199 24 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
+NULL test tb4 f200 25 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test tb4 f201 26 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test tb4 f202 27 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
+NULL test tb4 f203 28 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
+NULL test tb4 f204 29 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
+NULL test tb4 f205 30 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
+NULL test tb4 f206 31 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test tb4 f207 32 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test tb4 f208 33 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test tb4 f209 34 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test tb4 f210 35 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
+NULL test tb4 f211 36 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
+NULL test tb4 f212 37 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
+NULL test tb4 f213 38 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
+NULL test tb4 f214 39 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test tb4 f215 40 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
+NULL test tb4 f216 41 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test tb4 f217 42 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
+NULL test tb4 f218 43 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
+NULL test tb4 f219 44 NULL YES time NULL NULL NULL NULL NULL NULL time select,insert,update,references
+NULL test tb4 f220 45 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
+NULL test tb4 f221 46 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp on update CURRENT_TIMESTAMP select,insert,update,references
+NULL test tb4 f222 47 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
+NULL test tb4 f223 48 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
+NULL test tb4 f224 49 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
+NULL test tb4 f225 50 NULL YES enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references
+NULL test tb4 f226 51 NULL YES set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references
+NULL test tb4 f227 52 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
+NULL test tb4 f228 53 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references
+NULL test tb4 f229 54 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
+NULL test tb4 f230 55 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
+NULL test tb4 f231 56 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
+NULL test tb4 f232 57 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references
+NULL test tb4 f233 58 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
+NULL test tb4 f234 59 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
+NULL test tb4 f235 60 NULL YES char 255 510 NULL NULL ucs2 ucs2_general_ci char(255) select,insert,update,references
+NULL test tb4 f236 61 NULL YES char 60 60 NULL NULL latin1 latin1_swedish_ci char(60) select,insert,update,references
+NULL test tb4 f237 62 NULL YES char 255 255 NULL NULL latin1 latin1_bin char(255) select,insert,update,references
+NULL test tb4 f238 63 NULL YES varchar 0 0 NULL NULL latin1 latin1_bin varchar(0) select,insert,update,references
+NULL test tb4 f239 64 NULL YES varbinary 1000 1000 NULL NULL NULL NULL varbinary(1000) select,insert,update,references
+NULL test tb4 f240 65 NULL YES varchar 120 240 NULL NULL ucs2 ucs2_general_ci varchar(120) select,insert,update,references
+NULL test tb4 f241 66 NULL YES char 100 200 NULL NULL ucs2 ucs2_general_ci char(100) select,insert,update,references
+NULL test tb4 f242 67 NULL YES bit NULL NULL 30 NULL NULL NULL bit(30) select,insert,update,references
+NULL test1 tb2 f100 42 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
+NULL test1 tb2 f101 43 2000-01-01 NO date NULL NULL NULL NULL NULL NULL date select,insert,update,references
+NULL test1 tb2 f102 44 00:00:20 NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references
+NULL test1 tb2 f103 45 0002-02-02 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
+NULL test1 tb2 f104 46 2000-12-31 23:59:59 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
+NULL test1 tb2 f105 47 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
+NULL test1 tb2 f106 48 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
+NULL test1 tb2 f107 49 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
+NULL test1 tb2 f108 50 1enum NO enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references
+NULL test1 tb2 f109 51 1set NO set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references
+NULL test1 tb2 f110 52 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
+NULL test1 tb2 f111 53 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references
+NULL test1 tb2 f112 54 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
+NULL test1 tb2 f113 55 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
+NULL test1 tb2 f114 56 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
+NULL test1 tb2 f115 57 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references
+NULL test1 tb2 f116 58 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
+NULL test1 tb2 f117 59 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
+NULL test1 tb2 f59 1 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
+NULL test1 tb2 f60 2 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
+NULL test1 tb2 f61 3 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test1 tb2 f62 4 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
+NULL test1 tb2 f63 5 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test1 tb2 f64 6 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
+NULL test1 tb2 f65 7 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
+NULL test1 tb2 f66 8 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
+NULL test1 tb2 f67 9 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
+NULL test1 tb2 f68 10 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
+NULL test1 tb2 f69 11 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test1 tb2 f70 12 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
+NULL test1 tb2 f71 13 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
+NULL test1 tb2 f72 14 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
+NULL test1 tb2 f73 15 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
+NULL test1 tb2 f74 16 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
+NULL test1 tb2 f75 17 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
+NULL test1 tb2 f76 18 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
+NULL test1 tb2 f77 19 7.7 YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
+NULL test1 tb2 f78 20 7.7 YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
+NULL test1 tb2 f79 21 00000000000000000007.7 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
+NULL test1 tb2 f80 22 00000000000000000008.8 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
+NULL test1 tb2 f81 23 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
+NULL test1 tb2 f82 24 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
+NULL test1 tb2 f83 25 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test1 tb2 f84 26 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test1 tb2 f85 27 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
+NULL test1 tb2 f86 28 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
+NULL test1 tb2 f87 29 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
+NULL test1 tb2 f88 30 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
+NULL test1 tb2 f89 31 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test1 tb2 f90 32 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test1 tb2 f91 33 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test1 tb2 f92 34 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test1 tb2 f93 35 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
+NULL test1 tb2 f94 36 8.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
+NULL test1 tb2 f95 37 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
+NULL test1 tb2 f96 38 8.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
+NULL test1 tb2 f97 39 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test1 tb2 f98 40 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
+NULL test1 tb2 f99 41 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
+NULL test4 t6 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
+NULL test4 t6 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL test4 t6 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
+NULL test4 t6 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test4 t6 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL 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 binary NULL NULL
+1.0000 blob NULL NULL
+1.0000 longblob NULL NULL
+1.0000 mediumblob NULL NULL
+1.0000 tinyblob NULL NULL
+1.0000 varbinary NULL NULL
+1.0000 char latin1 latin1_bin
+1.0000 char latin1 latin1_swedish_ci
+1.0000 enum latin1 latin1_swedish_ci
+1.0000 longtext latin1 latin1_swedish_ci
+1.0000 mediumtext latin1 latin1_swedish_ci
+1.0000 set latin1 latin1_swedish_ci
+1.0000 text latin1 latin1_swedish_ci
+1.0000 tinytext 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
+2.0000 char ucs2 ucs2_general_ci
+2.0000 longtext 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 bigint NULL NULL
+NULL bit NULL NULL
+NULL date NULL NULL
+NULL datetime NULL NULL
+NULL decimal NULL NULL
+NULL double NULL NULL
+NULL double unsigned NULL NULL
+NULL double unsigned zerofill NULL NULL
+NULL float NULL NULL
+NULL float unsigned NULL NULL
+NULL float unsigned zerofill NULL NULL
+NULL int NULL NULL
+NULL mediumint NULL NULL
+NULL smallint NULL NULL
+NULL time NULL NULL
+NULL timestamp NULL NULL
+NULL tinyint NULL NULL
+NULL year NULL NULL
+NULL varchar latin1 latin1_bin
+--> 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 test tb1 f1 char 1 1 latin1 latin1_swedish_ci char(1)
+1.0000 test tb1 f2 char 1 1 latin1 latin1_bin char(1)
+1.0000 test tb1 f3 char 1 1 latin1 latin1_swedish_ci char(1)
+2.0079 test tb1 f4 tinytext 127 255 ucs2 ucs2_general_ci tinytext
+1.0000 test tb1 f5 text 65535 65535 latin1 latin1_swedish_ci text
+1.0000 test tb1 f6 mediumtext 16777215 16777215 latin1 latin1_swedish_ci mediumtext
+1.0000 test tb1 f7 longtext 4294967295 4294967295 latin1 latin1_swedish_ci longtext
+1.0000 test tb1 f8 tinyblob 255 255 NULL NULL tinyblob
+1.0000 test tb1 f9 blob 65535 65535 NULL NULL blob
+1.0000 test tb1 f10 mediumblob 16777215 16777215 NULL NULL mediumblob
+1.0000 test tb1 f11 longblob 4294967295 4294967295 NULL NULL longblob
+1.0000 test tb1 f12 binary 1 1 NULL NULL binary(1)
+NULL test tb1 f13 tinyint NULL NULL NULL NULL tinyint(4)
+NULL test tb1 f14 tinyint NULL NULL NULL NULL tinyint(3) unsigned
+NULL test tb1 f15 tinyint NULL NULL NULL NULL tinyint(3) unsigned zerofill
+NULL test tb1 f16 tinyint NULL NULL NULL NULL tinyint(3) unsigned zerofill
+NULL test tb1 f17 smallint NULL NULL NULL NULL smallint(6)
+NULL test tb1 f18 smallint NULL NULL NULL NULL smallint(5) unsigned
+NULL test tb1 f19 smallint NULL NULL NULL NULL smallint(5) unsigned zerofill
+NULL test tb1 f20 smallint NULL NULL NULL NULL smallint(5) unsigned zerofill
+NULL test tb1 f21 mediumint NULL NULL NULL NULL mediumint(9)
+NULL test tb1 f22 mediumint NULL NULL NULL NULL mediumint(8) unsigned
+NULL test tb1 f23 mediumint NULL NULL NULL NULL mediumint(8) unsigned zerofill
+NULL test tb1 f24 mediumint NULL NULL NULL NULL mediumint(8) unsigned zerofill
+NULL test tb1 f25 int NULL NULL NULL NULL int(11)
+NULL test tb1 f26 int NULL NULL NULL NULL int(10) unsigned
+NULL test tb1 f27 int NULL NULL NULL NULL int(10) unsigned zerofill
+NULL test tb1 f28 int NULL NULL NULL NULL int(10) unsigned zerofill
+NULL test tb1 f29 bigint NULL NULL NULL NULL bigint(20)
+NULL test tb1 f30 bigint NULL NULL NULL NULL bigint(20) unsigned
+NULL test tb1 f31 bigint NULL NULL NULL NULL bigint(20) unsigned zerofill
+NULL test tb1 f32 bigint NULL NULL NULL NULL bigint(20) unsigned zerofill
+NULL test tb1 f33 decimal NULL NULL NULL NULL decimal(10,0)
+NULL test tb1 f34 decimal NULL NULL NULL NULL decimal(10,0) unsigned
+NULL test tb1 f35 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb1 f36 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb1 f37 decimal NULL NULL NULL NULL decimal(10,0)
+NULL test tb1 f38 decimal NULL NULL NULL NULL decimal(64,0)
+NULL test tb1 f39 decimal NULL NULL NULL NULL decimal(10,0) unsigned
+NULL test tb1 f40 decimal NULL NULL NULL NULL decimal(64,0) unsigned
+NULL test tb1 f41 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb1 f42 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
+NULL test tb1 f43 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb1 f44 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
+NULL test tb1 f45 decimal NULL NULL NULL NULL decimal(10,0)
+NULL test tb1 f46 decimal NULL NULL NULL NULL decimal(63,30)
+NULL test tb1 f47 decimal NULL NULL NULL NULL decimal(10,0) unsigned
+NULL test tb1 f48 decimal NULL NULL NULL NULL decimal(63,30) unsigned
+NULL test tb1 f49 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb1 f50 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
+NULL test tb1 f51 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb1 f52 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
+NULL test tb1 f53 decimal NULL NULL NULL NULL decimal(10,0)
+NULL test tb1 f54 decimal NULL NULL NULL NULL decimal(10,0) unsigned
+NULL test tb1 f55 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb1 f56 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb1 f57 decimal NULL NULL NULL NULL decimal(10,0)
+NULL test tb1 f58 decimal NULL NULL NULL NULL decimal(64,0)
+NULL test tb2 f59 decimal NULL NULL NULL NULL decimal(10,0) unsigned
+NULL test tb2 f60 decimal NULL NULL NULL NULL decimal(64,0) unsigned
+NULL test tb2 f61 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb2 f62 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
+NULL test tb2 f63 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb2 f64 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
+NULL test tb2 f65 decimal NULL NULL NULL NULL decimal(10,0)
+NULL test tb2 f66 decimal NULL NULL NULL NULL decimal(63,30)
+NULL test tb2 f67 decimal NULL NULL NULL NULL decimal(10,0) unsigned
+NULL test tb2 f68 decimal NULL NULL NULL NULL decimal(63,30) unsigned
+NULL test tb2 f69 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb2 f70 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
+NULL test tb2 f71 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb2 f72 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
+NULL test tb2 f73 double NULL NULL NULL NULL double
+NULL test tb2 f74 double unsigned NULL NULL NULL NULL double unsigned
+NULL test tb2 f75 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
+NULL test tb2 f76 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
+NULL test tb2 f77 double NULL NULL NULL NULL double
+NULL test tb2 f78 double unsigned NULL NULL NULL NULL double unsigned
+NULL test tb2 f79 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
+NULL test tb2 f80 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
+NULL test tb2 f81 float NULL NULL NULL NULL float
+NULL test tb2 f82 float unsigned NULL NULL NULL NULL float unsigned
+NULL test tb2 f83 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test tb2 f84 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test tb2 f85 float NULL NULL NULL NULL float
+NULL test tb2 f86 float NULL NULL NULL NULL float
+NULL test tb2 f87 float unsigned NULL NULL NULL NULL float unsigned
+NULL test tb2 f88 float unsigned NULL NULL NULL NULL float unsigned
+NULL test tb2 f89 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test tb2 f90 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test tb2 f91 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test tb2 f92 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test tb2 f93 float NULL NULL NULL NULL float
+NULL test tb2 f94 double NULL NULL NULL NULL double
+NULL test tb2 f95 float unsigned NULL NULL NULL NULL float unsigned
+NULL test tb2 f96 double unsigned NULL NULL NULL NULL double unsigned
+NULL test tb2 f97 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test tb2 f98 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
+NULL test tb2 f99 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test tb2 f100 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
+NULL test tb2 f101 date NULL NULL NULL NULL date
+NULL test tb2 f102 time NULL NULL NULL NULL time
+NULL test tb2 f103 datetime NULL NULL NULL NULL datetime
+NULL test tb2 f104 timestamp NULL NULL NULL NULL timestamp
+NULL test tb2 f105 year NULL NULL NULL NULL year(4)
+NULL test tb2 f106 year NULL NULL NULL NULL year(4)
+NULL test tb2 f107 year NULL NULL NULL NULL year(4)
+1.0000 test tb2 f108 enum 5 5 latin1 latin1_swedish_ci enum('1enum','2enum')
+1.0000 test tb2 f109 set 9 9 latin1 latin1_swedish_ci set('1set','2set')
+1.0000 test tb2 f110 varbinary 64 64 NULL NULL varbinary(64)
+1.0000 test tb2 f111 varbinary 27 27 NULL NULL varbinary(27)
+1.0000 test tb2 f112 varbinary 64 64 NULL NULL varbinary(64)
+1.0000 test tb2 f113 varbinary 192 192 NULL NULL varbinary(192)
+1.0000 test tb2 f114 varbinary 192 192 NULL NULL varbinary(192)
+1.0000 test tb2 f115 varbinary 27 27 NULL NULL varbinary(27)
+1.0000 test tb2 f116 varbinary 64 64 NULL NULL varbinary(64)
+1.0000 test tb2 f117 varbinary 192 192 NULL NULL varbinary(192)
+1.0000 test tb3 f118 char 1 1 latin1 latin1_swedish_ci char(1)
+1.0000 test tb3 f119 char 1 1 latin1 latin1_bin char(1)
+1.0000 test tb3 f120 char 1 1 latin1 latin1_swedish_ci char(1)
+1.0000 test tb3 f121 tinytext 255 255 latin1 latin1_swedish_ci tinytext
+1.0000 test tb3 f122 text 65535 65535 latin1 latin1_swedish_ci text
+1.0000 test tb3 f123 mediumtext 16777215 16777215 latin1 latin1_swedish_ci mediumtext
+2.0000 test tb3 f124 longtext 2147483647 4294967295 ucs2 ucs2_general_ci longtext
+1.0000 test tb3 f125 tinyblob 255 255 NULL NULL tinyblob
+1.0000 test tb3 f126 blob 65535 65535 NULL NULL blob
+1.0000 test tb3 f127 mediumblob 16777215 16777215 NULL NULL mediumblob
+1.0000 test tb3 f128 longblob 4294967295 4294967295 NULL NULL longblob
+1.0000 test tb3 f129 binary 1 1 NULL NULL binary(1)
+NULL test tb3 f130 tinyint NULL NULL NULL NULL tinyint(4)
+NULL test tb3 f131 tinyint NULL NULL NULL NULL tinyint(3) unsigned
+NULL test tb3 f132 tinyint NULL NULL NULL NULL tinyint(3) unsigned zerofill
+NULL test tb3 f133 tinyint NULL NULL NULL NULL tinyint(3) unsigned zerofill
+NULL test tb3 f134 smallint NULL NULL NULL NULL smallint(6)
+NULL test tb3 f135 smallint NULL NULL NULL NULL smallint(5) unsigned
+NULL test tb3 f136 smallint NULL NULL NULL NULL smallint(5) unsigned zerofill
+NULL test tb3 f137 smallint NULL NULL NULL NULL smallint(5) unsigned zerofill
+NULL test tb3 f138 mediumint NULL NULL NULL NULL mediumint(9)
+NULL test tb3 f139 mediumint NULL NULL NULL NULL mediumint(8) unsigned
+NULL test tb3 f140 mediumint NULL NULL NULL NULL mediumint(8) unsigned zerofill
+NULL test tb3 f141 mediumint NULL NULL NULL NULL mediumint(8) unsigned zerofill
+NULL test tb3 f142 int NULL NULL NULL NULL int(11)
+NULL test tb3 f143 int NULL NULL NULL NULL int(10) unsigned
+NULL test tb3 f144 int NULL NULL NULL NULL int(10) unsigned zerofill
+NULL test tb3 f145 int NULL NULL NULL NULL int(10) unsigned zerofill
+NULL test tb3 f146 bigint NULL NULL NULL NULL bigint(20)
+NULL test tb3 f147 bigint NULL NULL NULL NULL bigint(20) unsigned
+NULL test tb3 f148 bigint NULL NULL NULL NULL bigint(20) unsigned zerofill
+NULL test tb3 f149 bigint NULL NULL NULL NULL bigint(20) unsigned zerofill
+NULL test tb3 f150 decimal NULL NULL NULL NULL decimal(10,0)
+NULL test tb3 f151 decimal NULL NULL NULL NULL decimal(10,0) unsigned
+NULL test tb3 f152 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb3 f153 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb3 f154 decimal NULL NULL NULL NULL decimal(10,0)
+NULL test tb3 f155 decimal NULL NULL NULL NULL decimal(64,0)
+NULL test tb3 f156 decimal NULL NULL NULL NULL decimal(10,0) unsigned
+NULL test tb3 f157 decimal NULL NULL NULL NULL decimal(64,0) unsigned
+NULL test tb3 f158 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb3 f159 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
+NULL test tb3 f160 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb3 f161 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
+NULL test tb3 f162 decimal NULL NULL NULL NULL decimal(10,0)
+NULL test tb3 f163 decimal NULL NULL NULL NULL decimal(63,30)
+NULL test tb3 f164 decimal NULL NULL NULL NULL decimal(10,0) unsigned
+NULL test tb3 f165 decimal NULL NULL NULL NULL decimal(63,30) unsigned
+NULL test tb3 f166 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb3 f167 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
+NULL test tb3 f168 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb3 f169 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
+NULL test tb3 f170 decimal NULL NULL NULL NULL decimal(10,0)
+NULL test tb3 f171 decimal NULL NULL NULL NULL decimal(10,0) unsigned
+NULL test tb3 f172 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb3 f173 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb3 f174 decimal NULL NULL NULL NULL decimal(10,0)
+NULL test tb3 f175 decimal NULL NULL NULL NULL decimal(64,0)
+NULL test tb4 f176 decimal NULL NULL NULL NULL decimal(10,0) unsigned
+NULL test tb4 f177 decimal NULL NULL NULL NULL decimal(64,0) unsigned
+NULL test tb4 f178 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb4 f179 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
+NULL test tb4 f180 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb4 f181 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
+NULL test tb4 f182 decimal NULL NULL NULL NULL decimal(10,0)
+NULL test tb4 f183 decimal NULL NULL NULL NULL decimal(63,30)
+NULL test tb4 f184 decimal NULL NULL NULL NULL decimal(10,0) unsigned
+NULL test tb4 f185 decimal NULL NULL NULL NULL decimal(63,30) unsigned
+NULL test tb4 f186 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb4 f187 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
+NULL test tb4 f188 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test tb4 f189 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
+NULL test tb4 f190 double NULL NULL NULL NULL double
+NULL test tb4 f191 double unsigned NULL NULL NULL NULL double unsigned
+NULL test tb4 f192 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
+NULL test tb4 f193 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
+NULL test tb4 f194 double NULL NULL NULL NULL double
+NULL test tb4 f195 double unsigned NULL NULL NULL NULL double unsigned
+NULL test tb4 f196 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
+NULL test tb4 f197 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
+NULL test tb4 f198 float NULL NULL NULL NULL float
+NULL test tb4 f199 float unsigned NULL NULL NULL NULL float unsigned
+NULL test tb4 f200 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test tb4 f201 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test tb4 f202 float NULL NULL NULL NULL float
+NULL test tb4 f203 float NULL NULL NULL NULL float
+NULL test tb4 f204 float unsigned NULL NULL NULL NULL float unsigned
+NULL test tb4 f205 float unsigned NULL NULL NULL NULL float unsigned
+NULL test tb4 f206 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test tb4 f207 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test tb4 f208 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test tb4 f209 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test tb4 f210 float NULL NULL NULL NULL float
+NULL test tb4 f211 double NULL NULL NULL NULL double
+NULL test tb4 f212 float unsigned NULL NULL NULL NULL float unsigned
+NULL test tb4 f213 double unsigned NULL NULL NULL NULL double unsigned
+NULL test tb4 f214 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test tb4 f215 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
+NULL test tb4 f216 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test tb4 f217 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
+NULL test tb4 f218 date NULL NULL NULL NULL date
+NULL test tb4 f219 time NULL NULL NULL NULL time
+NULL test tb4 f220 datetime NULL NULL NULL NULL datetime
+NULL test tb4 f221 timestamp NULL NULL NULL NULL timestamp
+NULL test tb4 f222 year NULL NULL NULL NULL year(4)
+NULL test tb4 f223 year NULL NULL NULL NULL year(4)
+NULL test tb4 f224 year NULL NULL NULL NULL year(4)
+1.0000 test tb4 f225 enum 5 5 latin1 latin1_swedish_ci enum('1enum','2enum')
+1.0000 test tb4 f226 set 9 9 latin1 latin1_swedish_ci set('1set','2set')
+1.0000 test tb4 f227 varbinary 64 64 NULL NULL varbinary(64)
+1.0000 test tb4 f228 varbinary 27 27 NULL NULL varbinary(27)
+1.0000 test tb4 f229 varbinary 64 64 NULL NULL varbinary(64)
+1.0000 test tb4 f230 varbinary 192 192 NULL NULL varbinary(192)
+1.0000 test tb4 f231 varbinary 192 192 NULL NULL varbinary(192)
+1.0000 test tb4 f232 varbinary 27 27 NULL NULL varbinary(27)
+1.0000 test tb4 f233 varbinary 64 64 NULL NULL varbinary(64)
+1.0000 test tb4 f234 varbinary 192 192 NULL NULL varbinary(192)
+2.0000 test tb4 f235 char 255 510 ucs2 ucs2_general_ci char(255)
+1.0000 test tb4 f236 char 60 60 latin1 latin1_swedish_ci char(60)
+1.0000 test tb4 f237 char 255 255 latin1 latin1_bin char(255)
+NULL test tb4 f238 varchar 0 0 latin1 latin1_bin varchar(0)
+1.0000 test tb4 f239 varbinary 1000 1000 NULL NULL varbinary(1000)
+2.0000 test tb4 f240 varchar 120 240 ucs2 ucs2_general_ci varchar(120)
+2.0000 test tb4 f241 char 100 200 ucs2 ucs2_general_ci char(100)
+NULL test tb4 f242 bit NULL NULL NULL NULL bit(30)
+NULL test1 tb2 f59 decimal NULL NULL NULL NULL decimal(10,0) unsigned
+NULL test1 tb2 f60 decimal NULL NULL NULL NULL decimal(64,0) unsigned
+NULL test1 tb2 f61 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test1 tb2 f62 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
+NULL test1 tb2 f63 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test1 tb2 f64 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
+NULL test1 tb2 f65 decimal NULL NULL NULL NULL decimal(10,0)
+NULL test1 tb2 f66 decimal NULL NULL NULL NULL decimal(63,30)
+NULL test1 tb2 f67 decimal NULL NULL NULL NULL decimal(10,0) unsigned
+NULL test1 tb2 f68 decimal NULL NULL NULL NULL decimal(63,30) unsigned
+NULL test1 tb2 f69 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test1 tb2 f70 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
+NULL test1 tb2 f71 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
+NULL test1 tb2 f72 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
+NULL test1 tb2 f73 double NULL NULL NULL NULL double
+NULL test1 tb2 f74 double unsigned NULL NULL NULL NULL double unsigned
+NULL test1 tb2 f75 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
+NULL test1 tb2 f76 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
+NULL test1 tb2 f77 double NULL NULL NULL NULL double
+NULL test1 tb2 f78 double unsigned NULL NULL NULL NULL double unsigned
+NULL test1 tb2 f79 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
+NULL test1 tb2 f80 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
+NULL test1 tb2 f81 float NULL NULL NULL NULL float
+NULL test1 tb2 f82 float unsigned NULL NULL NULL NULL float unsigned
+NULL test1 tb2 f83 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test1 tb2 f84 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test1 tb2 f85 float NULL NULL NULL NULL float
+NULL test1 tb2 f86 float NULL NULL NULL NULL float
+NULL test1 tb2 f87 float unsigned NULL NULL NULL NULL float unsigned
+NULL test1 tb2 f88 float unsigned NULL NULL NULL NULL float unsigned
+NULL test1 tb2 f89 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test1 tb2 f90 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test1 tb2 f91 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test1 tb2 f92 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test1 tb2 f93 float NULL NULL NULL NULL float
+NULL test1 tb2 f94 double NULL NULL NULL NULL double
+NULL test1 tb2 f95 float unsigned NULL NULL NULL NULL float unsigned
+NULL test1 tb2 f96 double unsigned NULL NULL NULL NULL double unsigned
+NULL test1 tb2 f97 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test1 tb2 f98 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
+NULL test1 tb2 f99 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
+NULL test1 tb2 f100 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
+NULL test1 tb2 f101 date NULL NULL NULL NULL date
+NULL test1 tb2 f102 time NULL NULL NULL NULL time
+NULL test1 tb2 f103 datetime NULL NULL NULL NULL datetime
+NULL test1 tb2 f104 timestamp NULL NULL NULL NULL timestamp
+NULL test1 tb2 f105 year NULL NULL NULL NULL year(4)
+NULL test1 tb2 f106 year NULL NULL NULL NULL year(4)
+NULL test1 tb2 f107 year NULL NULL NULL NULL year(4)
+1.0000 test1 tb2 f108 enum 5 5 latin1 latin1_swedish_ci enum('1enum','2enum')
+1.0000 test1 tb2 f109 set 9 9 latin1 latin1_swedish_ci set('1set','2set')
+1.0000 test1 tb2 f110 varbinary 64 64 NULL NULL varbinary(64)
+1.0000 test1 tb2 f111 varbinary 27 27 NULL NULL varbinary(27)
+1.0000 test1 tb2 f112 varbinary 64 64 NULL NULL varbinary(64)
+1.0000 test1 tb2 f113 varbinary 192 192 NULL NULL varbinary(192)
+1.0000 test1 tb2 f114 varbinary 192 192 NULL NULL varbinary(192)
+1.0000 test1 tb2 f115 varbinary 27 27 NULL NULL varbinary(27)
+1.0000 test1 tb2 f116 varbinary 64 64 NULL NULL varbinary(64)
+1.0000 test1 tb2 f117 varbinary 192 192 NULL NULL varbinary(192)
+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;
+DROP TABLE test.tb1;
+DROP TABLE test.tb2;
+DROP TABLE test.tb3;
+DROP TABLE test.tb4;
diff --git a/mysql-test/suite/funcs_1/r/is_columns_mysql.result b/mysql-test/suite/funcs_1/r/is_columns_mysql.result
new file mode 100644
index 00000000000..9d1f316a9bf
--- /dev/null
+++ b/mysql-test/suite/funcs_1/r/is_columns_mysql.result
@@ -0,0 +1,499 @@
+SELECT * FROM information_schema.columns
+WHERE table_schema = 'mysql'
+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
+NULL mysql columns_priv Column_name 5 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
+NULL mysql columns_priv Column_priv 7 NO set 31 93 NULL NULL utf8 utf8_general_ci set('Select','Insert','Update','References') select,insert,update,references
+NULL mysql columns_priv Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
+NULL mysql columns_priv Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
+NULL mysql columns_priv Table_name 4 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
+NULL mysql columns_priv Timestamp 6 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp on update CURRENT_TIMESTAMP select,insert,update,references
+NULL mysql columns_priv User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
+NULL mysql db Alter_priv 13 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql db Alter_routine_priv 19 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql db Create_priv 8 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql db Create_routine_priv 18 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql db Create_tmp_table_priv 14 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql db Create_view_priv 16 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql db Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
+NULL mysql db Delete_priv 7 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql db Drop_priv 9 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql db Event_priv 21 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql db Execute_priv 20 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql db Grant_priv 10 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql db Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
+NULL mysql db Index_priv 12 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql db Insert_priv 5 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql db Lock_tables_priv 15 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql db References_priv 11 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql db Select_priv 4 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql db Show_view_priv 17 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql db Trigger_priv 22 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql db Update_priv 6 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql db User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
+NULL mysql event body 3 NULL NO longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references
+NULL mysql event body_utf8 22 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references
+NULL mysql event character_set_client 19 NULL YES char 32 96 NULL NULL utf8 utf8_bin char(32) select,insert,update,references
+NULL mysql event collation_connection 20 NULL YES char 32 96 NULL NULL utf8 utf8_bin char(32) select,insert,update,references
+NULL mysql event comment 16 NO char 64 192 NULL NULL utf8 utf8_bin char(64) select,insert,update,references
+NULL mysql event created 8 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp on update CURRENT_TIMESTAMP select,insert,update,references
+NULL mysql event db 1 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
+NULL mysql event db_collation 21 NULL YES char 32 96 NULL NULL utf8 utf8_bin char(32) select,insert,update,references
+NULL mysql event definer 4 NO char 77 231 NULL NULL utf8 utf8_bin char(77) select,insert,update,references
+NULL mysql event ends 12 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
+NULL mysql event execute_at 5 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
+NULL mysql event interval_field 7 NULL YES enum 18 54 NULL NULL utf8 utf8_general_ci enum('YEAR','QUARTER','MONTH','DAY','HOUR','MINUTE','WEEK','SECOND','MICROSECOND','YEAR_MONTH','DAY_HOUR','DAY_MINUTE','DAY_SECOND','HOUR_MINUTE','HOUR_SECOND','MINUTE_SECOND','DAY_MICROSECOND','HOUR_MICROSECOND','MINUTE_MICROSECOND','SECOND_MICROSECOND') select,insert,update,references
+NULL mysql event interval_value 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL mysql event last_executed 10 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
+NULL mysql event modified 9 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
+NULL mysql event name 2 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) PRI select,insert,update,references
+NULL mysql event on_completion 14 DROP NO enum 8 24 NULL NULL utf8 utf8_general_ci enum('DROP','PRESERVE') select,insert,update,references
+NULL mysql event originator 17 NULL NO int NULL NULL 10 0 NULL NULL int(10) select,insert,update,references
+NULL mysql event sql_mode 15 NO set 478 1434 NULL NULL utf8 utf8_general_ci set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE','NO_ENGINE_SUBSTITUTION','PAD_CHAR_TO_FULL_LENGTH') select,insert,update,references
+NULL mysql event starts 11 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
+NULL mysql event status 13 ENABLED NO enum 18 54 NULL NULL utf8 utf8_general_ci enum('ENABLED','DISABLED','SLAVESIDE_DISABLED') select,insert,update,references
+NULL mysql event time_zone 18 SYSTEM NO char 64 64 NULL NULL latin1 latin1_swedish_ci char(64) select,insert,update,references
+NULL mysql func dl 3 NO char 128 384 NULL NULL utf8 utf8_bin char(128) select,insert,update,references
+NULL mysql func name 1 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
+NULL mysql func ret 2 0 NO tinyint NULL NULL 3 0 NULL NULL tinyint(1) select,insert,update,references
+NULL mysql func type 4 NULL NO enum 9 27 NULL NULL utf8 utf8_general_ci enum('function','aggregate') select,insert,update,references
+NULL mysql general_log argument 6 NULL NO mediumtext 16777215 16777215 NULL NULL utf8 utf8_general_ci mediumtext select,insert,update,references
+NULL mysql general_log command_type 5 NULL NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
+NULL mysql general_log event_time 1 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp on update CURRENT_TIMESTAMP select,insert,update,references
+NULL mysql general_log server_id 4 NULL NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL mysql general_log thread_id 3 NULL NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL mysql general_log user_host 2 NULL NO mediumtext 16777215 16777215 NULL NULL utf8 utf8_general_ci mediumtext select,insert,update,references
+NULL mysql help_category help_category_id 1 NULL NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned PRI select,insert,update,references
+NULL mysql help_category name 2 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) UNI select,insert,update,references
+NULL mysql help_category parent_category_id 3 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references
+NULL mysql help_category url 4 NULL NO char 128 384 NULL NULL utf8 utf8_general_ci char(128) select,insert,update,references
+NULL mysql help_keyword help_keyword_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references
+NULL mysql help_keyword name 2 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) UNI select,insert,update,references
+NULL mysql help_relation help_keyword_id 2 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references
+NULL mysql help_relation help_topic_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references
+NULL mysql help_topic description 4 NULL NO text 65535 65535 NULL NULL utf8 utf8_general_ci text select,insert,update,references
+NULL mysql help_topic example 5 NULL NO text 65535 65535 NULL NULL utf8 utf8_general_ci text select,insert,update,references
+NULL mysql help_topic help_category_id 3 NULL NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references
+NULL mysql help_topic help_topic_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references
+NULL mysql help_topic name 2 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) UNI select,insert,update,references
+NULL mysql help_topic url 6 NULL NO char 128 384 NULL NULL utf8 utf8_general_ci char(128) select,insert,update,references
+NULL mysql host Alter_priv 12 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql host Alter_routine_priv 18 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql host Create_priv 7 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql host Create_routine_priv 17 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql host Create_tmp_table_priv 13 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql host Create_view_priv 15 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql host Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
+NULL mysql host Delete_priv 6 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql host Drop_priv 8 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql host Execute_priv 19 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql host Grant_priv 9 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql host Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
+NULL mysql host Index_priv 11 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql host Insert_priv 4 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql host Lock_tables_priv 14 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql host References_priv 10 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql host Select_priv 3 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql host Show_view_priv 16 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql host Trigger_priv 20 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql host Update_priv 5 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql ndb_binlog_index deletes 6 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
+NULL mysql ndb_binlog_index epoch 3 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned PRI select,insert,update,references
+NULL mysql ndb_binlog_index File 2 NULL NO varchar 255 255 NULL NULL latin1 latin1_swedish_ci varchar(255) select,insert,update,references
+NULL mysql ndb_binlog_index inserts 4 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
+NULL mysql ndb_binlog_index Position 1 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
+NULL mysql ndb_binlog_index schemaops 7 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
+NULL mysql ndb_binlog_index updates 5 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
+NULL mysql plugin dl 2 NO char 128 384 NULL NULL utf8 utf8_bin char(128) select,insert,update,references
+NULL mysql plugin name 1 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
+NULL mysql proc body 11 NULL NO longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references
+NULL mysql proc body_utf8 20 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references
+NULL mysql proc character_set_client 17 NULL YES char 32 96 NULL NULL utf8 utf8_bin char(32) select,insert,update,references
+NULL mysql proc collation_connection 18 NULL YES char 32 96 NULL NULL utf8 utf8_bin char(32) select,insert,update,references
+NULL mysql proc comment 16 NO char 64 192 NULL NULL utf8 utf8_bin char(64) select,insert,update,references
+NULL mysql proc created 13 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp on update CURRENT_TIMESTAMP select,insert,update,references
+NULL mysql proc db 1 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
+NULL mysql proc db_collation 19 NULL YES char 32 96 NULL NULL utf8 utf8_bin char(32) select,insert,update,references
+NULL mysql proc definer 12 NO char 77 231 NULL NULL utf8 utf8_bin char(77) select,insert,update,references
+NULL mysql proc is_deterministic 7 NO NO enum 3 9 NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references
+NULL mysql proc language 5 SQL NO enum 3 9 NULL NULL utf8 utf8_general_ci enum('SQL') select,insert,update,references
+NULL mysql proc modified 14 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
+NULL mysql proc name 2 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) PRI select,insert,update,references
+NULL mysql proc param_list 9 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
+NULL mysql proc returns 10 NULL NO longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references
+NULL mysql proc security_type 8 DEFINER NO enum 7 21 NULL NULL utf8 utf8_general_ci enum('INVOKER','DEFINER') select,insert,update,references
+NULL mysql proc specific_name 4 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
+NULL mysql proc sql_data_access 6 CONTAINS_SQL NO enum 17 51 NULL NULL utf8 utf8_general_ci enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA') select,insert,update,references
+NULL mysql proc sql_mode 15 NO set 478 1434 NULL NULL utf8 utf8_general_ci set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE','NO_ENGINE_SUBSTITUTION','PAD_CHAR_TO_FULL_LENGTH') select,insert,update,references
+NULL mysql proc type 3 NULL NO enum 9 27 NULL NULL utf8 utf8_general_ci enum('FUNCTION','PROCEDURE') PRI select,insert,update,references
+NULL mysql procs_priv Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
+NULL mysql procs_priv Grantor 6 NO char 77 231 NULL NULL utf8 utf8_bin char(77) MUL select,insert,update,references
+NULL mysql procs_priv Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
+NULL mysql procs_priv Proc_priv 7 NO set 27 81 NULL NULL utf8 utf8_general_ci set('Execute','Alter Routine','Grant') select,insert,update,references
+NULL mysql procs_priv Routine_name 4 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
+NULL mysql procs_priv Routine_type 5 NULL NO enum 9 27 NULL NULL utf8 utf8_bin enum('FUNCTION','PROCEDURE') PRI select,insert,update,references
+NULL mysql procs_priv Timestamp 8 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp on update CURRENT_TIMESTAMP select,insert,update,references
+NULL mysql procs_priv User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
+NULL mysql servers Db 3 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
+NULL mysql servers Host 2 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
+NULL mysql servers Owner 9 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
+NULL mysql servers Password 5 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
+NULL mysql servers Port 6 0 NO int NULL NULL 10 0 NULL NULL int(4) select,insert,update,references
+NULL mysql servers Server_name 1 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) PRI select,insert,update,references
+NULL mysql servers Socket 7 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
+NULL mysql servers Username 4 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
+NULL mysql servers Wrapper 8 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
+NULL mysql slow_log db 7 NULL NO varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) select,insert,update,references
+NULL mysql slow_log insert_id 9 NULL NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL mysql slow_log last_insert_id 8 NULL NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL mysql slow_log lock_time 4 NULL NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references
+NULL mysql slow_log query_time 3 NULL NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references
+NULL mysql slow_log rows_examined 6 NULL NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL mysql slow_log rows_sent 5 NULL NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL mysql slow_log server_id 10 NULL NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL mysql slow_log sql_text 11 NULL NO mediumtext 16777215 16777215 NULL NULL utf8 utf8_general_ci mediumtext select,insert,update,references
+NULL mysql slow_log start_time 1 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp on update CURRENT_TIMESTAMP select,insert,update,references
+NULL mysql slow_log user_host 2 NULL NO mediumtext 16777215 16777215 NULL NULL utf8 utf8_general_ci mediumtext select,insert,update,references
+NULL mysql tables_priv Column_priv 8 NO set 31 93 NULL NULL utf8 utf8_general_ci set('Select','Insert','Update','References') select,insert,update,references
+NULL mysql tables_priv Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
+NULL mysql tables_priv Grantor 5 NO char 77 231 NULL NULL utf8 utf8_bin char(77) MUL select,insert,update,references
+NULL mysql tables_priv Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
+NULL mysql tables_priv Table_name 4 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
+NULL mysql tables_priv Table_priv 7 NO set 98 294 NULL NULL utf8 utf8_general_ci set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view','Trigger') select,insert,update,references
+NULL mysql tables_priv Timestamp 6 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp on update CURRENT_TIMESTAMP select,insert,update,references
+NULL mysql tables_priv User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
+NULL mysql time_zone Time_zone_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI auto_increment select,insert,update,references
+NULL mysql time_zone Use_leap_seconds 2 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('Y','N') select,insert,update,references
+NULL mysql time_zone_leap_second Correction 2 NULL NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL mysql time_zone_leap_second Transition_time 1 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) PRI select,insert,update,references
+NULL mysql time_zone_name Name 1 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) PRI select,insert,update,references
+NULL mysql time_zone_name Time_zone_id 2 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references
+NULL mysql time_zone_transition Time_zone_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references
+NULL mysql time_zone_transition Transition_time 2 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) PRI select,insert,update,references
+NULL mysql time_zone_transition Transition_type_id 3 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references
+NULL mysql time_zone_transition_type Abbreviation 5 NO char 8 24 NULL NULL utf8 utf8_general_ci char(8) select,insert,update,references
+NULL mysql time_zone_transition_type Is_DST 4 0 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references
+NULL mysql time_zone_transition_type Offset 3 0 NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL mysql time_zone_transition_type Time_zone_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references
+NULL 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
+NULL mysql user Alter_priv 17 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql user Alter_routine_priv 28 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql user Create_priv 8 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql user Create_routine_priv 27 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql user Create_tmp_table_priv 20 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql user Create_user_priv 29 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql user Create_view_priv 25 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql user Delete_priv 7 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql user Drop_priv 9 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql user Event_priv 30 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql user Execute_priv 22 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql user File_priv 13 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql user Grant_priv 14 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql user Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
+NULL mysql user Index_priv 16 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql user Insert_priv 5 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql user Lock_tables_priv 21 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql user max_connections 38 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references
+NULL mysql user max_questions 36 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references
+NULL mysql user max_updates 37 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references
+NULL mysql user max_user_connections 39 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references
+NULL mysql user Password 3 NO char 41 41 NULL NULL latin1 latin1_bin char(41) select,insert,update,references
+NULL mysql user Process_priv 12 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql user References_priv 15 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql user Reload_priv 10 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql user Repl_client_priv 24 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql user Repl_slave_priv 23 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql user Select_priv 4 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql user Show_db_priv 18 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql user Show_view_priv 26 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql user Shutdown_priv 11 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql user ssl_cipher 33 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
+NULL mysql user ssl_type 32 NO enum 9 27 NULL NULL utf8 utf8_general_ci enum('','ANY','X509','SPECIFIED') select,insert,update,references
+NULL mysql user Super_priv 19 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql user Trigger_priv 31 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql user Update_priv 6 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+NULL mysql user User 2 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
+NULL mysql user x509_issuer 34 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
+NULL mysql user x509_subject 35 NULL NO blob 65535 65535 NULL NULL NULL NULL blob 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 = 'mysql'
+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 blob NULL NULL
+1.0000 longblob NULL NULL
+1.0000 char latin1 latin1_bin
+1.0000 char latin1 latin1_swedish_ci
+1.0000 varchar latin1 latin1_swedish_ci
+1.0000 mediumtext utf8 utf8_general_ci
+1.0000 text utf8 utf8_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 = 'mysql'
+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
+3.0000 char utf8 utf8_bin
+3.0000 enum utf8 utf8_bin
+3.0000 char utf8 utf8_general_ci
+3.0000 enum utf8 utf8_general_ci
+3.0000 set utf8 utf8_general_ci
+3.0000 varchar utf8 utf8_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 = 'mysql'
+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 bigint NULL NULL
+NULL datetime NULL NULL
+NULL int NULL NULL
+NULL smallint NULL NULL
+NULL time NULL NULL
+NULL timestamp NULL NULL
+NULL tinyint 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 = 'mysql'
+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
+3.0000 mysql columns_priv Host char 60 180 utf8 utf8_bin char(60)
+3.0000 mysql columns_priv Db char 64 192 utf8 utf8_bin char(64)
+3.0000 mysql columns_priv User char 16 48 utf8 utf8_bin char(16)
+3.0000 mysql columns_priv Table_name char 64 192 utf8 utf8_bin char(64)
+3.0000 mysql columns_priv Column_name char 64 192 utf8 utf8_bin char(64)
+NULL mysql columns_priv Timestamp timestamp NULL NULL NULL NULL timestamp
+3.0000 mysql columns_priv Column_priv set 31 93 utf8 utf8_general_ci set('Select','Insert','Update','References')
+3.0000 mysql db Host char 60 180 utf8 utf8_bin char(60)
+3.0000 mysql db Db char 64 192 utf8 utf8_bin char(64)
+3.0000 mysql db User char 16 48 utf8 utf8_bin char(16)
+3.0000 mysql db Select_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql db Insert_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql db Update_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql db Delete_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql db Create_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql db Drop_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql db Grant_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql db References_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql db Index_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql db Alter_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql db Create_tmp_table_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql db Lock_tables_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql db Create_view_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql db Show_view_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql db Create_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql db Alter_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql db Execute_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql db Event_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql db Trigger_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql event db char 64 192 utf8 utf8_bin char(64)
+3.0000 mysql event name char 64 192 utf8 utf8_general_ci char(64)
+1.0000 mysql event body longblob 4294967295 4294967295 NULL NULL longblob
+3.0000 mysql event definer char 77 231 utf8 utf8_bin char(77)
+NULL mysql event execute_at datetime NULL NULL NULL NULL datetime
+NULL mysql event interval_value int NULL NULL NULL NULL int(11)
+3.0000 mysql event interval_field enum 18 54 utf8 utf8_general_ci enum('YEAR','QUARTER','MONTH','DAY','HOUR','MINUTE','WEEK','SECOND','MICROSECOND','YEAR_MONTH','DAY_HOUR','DAY_MINUTE','DAY_SECOND','HOUR_MINUTE','HOUR_SECOND','MINUTE_SECOND','DAY_MICROSECOND','HOUR_MICROSECOND','MINUTE_MICROSECOND','SECOND_MICROSECOND')
+NULL mysql event created timestamp NULL NULL NULL NULL timestamp
+NULL mysql event modified timestamp NULL NULL NULL NULL timestamp
+NULL mysql event last_executed datetime NULL NULL NULL NULL datetime
+NULL mysql event starts datetime NULL NULL NULL NULL datetime
+NULL mysql event ends datetime NULL NULL NULL NULL datetime
+3.0000 mysql event status enum 18 54 utf8 utf8_general_ci enum('ENABLED','DISABLED','SLAVESIDE_DISABLED')
+3.0000 mysql event on_completion enum 8 24 utf8 utf8_general_ci enum('DROP','PRESERVE')
+3.0000 mysql event sql_mode set 478 1434 utf8 utf8_general_ci set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE','NO_ENGINE_SUBSTITUTION','PAD_CHAR_TO_FULL_LENGTH')
+3.0000 mysql event comment char 64 192 utf8 utf8_bin char(64)
+NULL mysql event originator int NULL NULL NULL NULL int(10)
+1.0000 mysql event time_zone char 64 64 latin1 latin1_swedish_ci char(64)
+3.0000 mysql event character_set_client char 32 96 utf8 utf8_bin char(32)
+3.0000 mysql event collation_connection char 32 96 utf8 utf8_bin char(32)
+3.0000 mysql event db_collation char 32 96 utf8 utf8_bin char(32)
+1.0000 mysql event body_utf8 longblob 4294967295 4294967295 NULL NULL longblob
+3.0000 mysql func name char 64 192 utf8 utf8_bin char(64)
+NULL mysql func ret tinyint NULL NULL NULL NULL tinyint(1)
+3.0000 mysql func dl char 128 384 utf8 utf8_bin char(128)
+3.0000 mysql func type enum 9 27 utf8 utf8_general_ci enum('function','aggregate')
+NULL mysql general_log event_time timestamp NULL NULL NULL NULL timestamp
+1.0000 mysql general_log user_host mediumtext 16777215 16777215 utf8 utf8_general_ci mediumtext
+NULL mysql general_log thread_id int NULL NULL NULL NULL int(11)
+NULL mysql general_log server_id int NULL NULL NULL NULL int(11)
+3.0000 mysql general_log command_type varchar 64 192 utf8 utf8_general_ci varchar(64)
+1.0000 mysql general_log argument mediumtext 16777215 16777215 utf8 utf8_general_ci mediumtext
+NULL mysql help_category help_category_id smallint NULL NULL NULL NULL smallint(5) unsigned
+3.0000 mysql help_category name char 64 192 utf8 utf8_general_ci char(64)
+NULL mysql help_category parent_category_id smallint NULL NULL NULL NULL smallint(5) unsigned
+3.0000 mysql help_category url char 128 384 utf8 utf8_general_ci char(128)
+NULL mysql help_keyword help_keyword_id int NULL NULL NULL NULL int(10) unsigned
+3.0000 mysql help_keyword name char 64 192 utf8 utf8_general_ci char(64)
+NULL mysql help_relation help_topic_id int NULL NULL NULL NULL int(10) unsigned
+NULL mysql help_relation help_keyword_id int NULL NULL NULL NULL int(10) unsigned
+NULL mysql help_topic help_topic_id int NULL NULL NULL NULL int(10) unsigned
+3.0000 mysql help_topic name char 64 192 utf8 utf8_general_ci char(64)
+NULL mysql help_topic help_category_id smallint NULL NULL NULL NULL smallint(5) unsigned
+1.0000 mysql help_topic description text 65535 65535 utf8 utf8_general_ci text
+1.0000 mysql help_topic example text 65535 65535 utf8 utf8_general_ci text
+3.0000 mysql help_topic url char 128 384 utf8 utf8_general_ci char(128)
+3.0000 mysql host Host char 60 180 utf8 utf8_bin char(60)
+3.0000 mysql host Db char 64 192 utf8 utf8_bin char(64)
+3.0000 mysql host Select_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql host Insert_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql host Update_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql host Delete_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql host Create_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql host Drop_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql host Grant_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql host References_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql host Index_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql host Alter_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql host Create_tmp_table_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql host Lock_tables_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql host Create_view_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql host Show_view_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql host Create_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql host Alter_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql host Execute_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql host Trigger_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+NULL mysql ndb_binlog_index Position bigint NULL NULL NULL NULL bigint(20) unsigned
+1.0000 mysql ndb_binlog_index File varchar 255 255 latin1 latin1_swedish_ci varchar(255)
+NULL mysql ndb_binlog_index epoch bigint NULL NULL NULL NULL bigint(20) unsigned
+NULL mysql ndb_binlog_index inserts bigint NULL NULL NULL NULL bigint(20) unsigned
+NULL mysql ndb_binlog_index updates bigint NULL NULL NULL NULL bigint(20) unsigned
+NULL mysql ndb_binlog_index deletes bigint NULL NULL NULL NULL bigint(20) unsigned
+NULL mysql ndb_binlog_index schemaops bigint NULL NULL NULL NULL bigint(20) unsigned
+3.0000 mysql plugin name char 64 192 utf8 utf8_bin char(64)
+3.0000 mysql plugin dl char 128 384 utf8 utf8_bin char(128)
+3.0000 mysql proc db char 64 192 utf8 utf8_bin char(64)
+3.0000 mysql proc name char 64 192 utf8 utf8_general_ci char(64)
+3.0000 mysql proc type enum 9 27 utf8 utf8_general_ci enum('FUNCTION','PROCEDURE')
+3.0000 mysql proc specific_name char 64 192 utf8 utf8_general_ci char(64)
+3.0000 mysql proc language enum 3 9 utf8 utf8_general_ci enum('SQL')
+3.0000 mysql proc sql_data_access enum 17 51 utf8 utf8_general_ci enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA')
+3.0000 mysql proc is_deterministic enum 3 9 utf8 utf8_general_ci enum('YES','NO')
+3.0000 mysql proc security_type enum 7 21 utf8 utf8_general_ci enum('INVOKER','DEFINER')
+1.0000 mysql proc param_list blob 65535 65535 NULL NULL blob
+1.0000 mysql proc returns longblob 4294967295 4294967295 NULL NULL longblob
+1.0000 mysql proc body longblob 4294967295 4294967295 NULL NULL longblob
+3.0000 mysql proc definer char 77 231 utf8 utf8_bin char(77)
+NULL mysql proc created timestamp NULL NULL NULL NULL timestamp
+NULL mysql proc modified timestamp NULL NULL NULL NULL timestamp
+3.0000 mysql proc sql_mode set 478 1434 utf8 utf8_general_ci set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE','NO_ENGINE_SUBSTITUTION','PAD_CHAR_TO_FULL_LENGTH')
+3.0000 mysql proc comment char 64 192 utf8 utf8_bin char(64)
+3.0000 mysql proc character_set_client char 32 96 utf8 utf8_bin char(32)
+3.0000 mysql proc collation_connection char 32 96 utf8 utf8_bin char(32)
+3.0000 mysql proc db_collation char 32 96 utf8 utf8_bin char(32)
+1.0000 mysql proc body_utf8 longblob 4294967295 4294967295 NULL NULL longblob
+3.0000 mysql procs_priv Host char 60 180 utf8 utf8_bin char(60)
+3.0000 mysql procs_priv Db char 64 192 utf8 utf8_bin char(64)
+3.0000 mysql procs_priv User char 16 48 utf8 utf8_bin char(16)
+3.0000 mysql procs_priv Routine_name char 64 192 utf8 utf8_bin char(64)
+3.0000 mysql procs_priv Routine_type enum 9 27 utf8 utf8_bin enum('FUNCTION','PROCEDURE')
+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 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)
+3.0000 mysql servers Username char 64 192 utf8 utf8_general_ci char(64)
+3.0000 mysql servers Password char 64 192 utf8 utf8_general_ci char(64)
+NULL mysql servers Port int NULL NULL NULL NULL int(4)
+3.0000 mysql servers Socket char 64 192 utf8 utf8_general_ci char(64)
+3.0000 mysql servers Wrapper char 64 192 utf8 utf8_general_ci char(64)
+3.0000 mysql servers Owner char 64 192 utf8 utf8_general_ci char(64)
+NULL mysql slow_log start_time timestamp NULL NULL NULL NULL timestamp
+1.0000 mysql slow_log user_host mediumtext 16777215 16777215 utf8 utf8_general_ci mediumtext
+NULL mysql slow_log query_time time NULL NULL NULL NULL time
+NULL mysql slow_log lock_time time NULL NULL NULL NULL time
+NULL mysql slow_log rows_sent int NULL NULL NULL NULL int(11)
+NULL mysql slow_log rows_examined int NULL NULL NULL NULL int(11)
+3.0000 mysql slow_log db varchar 512 1536 utf8 utf8_general_ci varchar(512)
+NULL mysql slow_log last_insert_id int NULL NULL NULL NULL int(11)
+NULL mysql slow_log insert_id int NULL NULL NULL NULL int(11)
+NULL mysql slow_log server_id int NULL NULL NULL NULL int(11)
+1.0000 mysql slow_log sql_text mediumtext 16777215 16777215 utf8 utf8_general_ci mediumtext
+3.0000 mysql tables_priv Host char 60 180 utf8 utf8_bin char(60)
+3.0000 mysql tables_priv Db char 64 192 utf8 utf8_bin char(64)
+3.0000 mysql tables_priv User char 16 48 utf8 utf8_bin char(16)
+3.0000 mysql tables_priv Table_name char 64 192 utf8 utf8_bin char(64)
+3.0000 mysql tables_priv Grantor char 77 231 utf8 utf8_bin char(77)
+NULL mysql tables_priv Timestamp timestamp NULL NULL NULL NULL timestamp
+3.0000 mysql tables_priv Table_priv set 98 294 utf8 utf8_general_ci set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view','Trigger')
+3.0000 mysql tables_priv Column_priv set 31 93 utf8 utf8_general_ci set('Select','Insert','Update','References')
+NULL mysql time_zone Time_zone_id int NULL NULL NULL NULL int(10) unsigned
+3.0000 mysql time_zone Use_leap_seconds enum 1 3 utf8 utf8_general_ci enum('Y','N')
+NULL mysql time_zone_leap_second Transition_time bigint NULL NULL NULL NULL bigint(20)
+NULL mysql time_zone_leap_second Correction int NULL NULL NULL NULL int(11)
+3.0000 mysql time_zone_name Name char 64 192 utf8 utf8_general_ci char(64)
+NULL mysql time_zone_name Time_zone_id int NULL NULL NULL NULL int(10) unsigned
+NULL mysql time_zone_transition Time_zone_id int NULL NULL NULL NULL int(10) unsigned
+NULL mysql time_zone_transition Transition_time bigint NULL NULL NULL NULL bigint(20)
+NULL mysql time_zone_transition Transition_type_id int NULL NULL NULL NULL int(10) unsigned
+NULL mysql time_zone_transition_type Time_zone_id int NULL NULL NULL NULL int(10) unsigned
+NULL mysql time_zone_transition_type Transition_type_id int NULL NULL NULL NULL int(10) unsigned
+NULL mysql time_zone_transition_type Offset int NULL NULL NULL NULL int(11)
+NULL mysql time_zone_transition_type Is_DST tinyint NULL NULL NULL NULL tinyint(3) unsigned
+3.0000 mysql time_zone_transition_type Abbreviation char 8 24 utf8 utf8_general_ci char(8)
+3.0000 mysql user Host char 60 180 utf8 utf8_bin char(60)
+3.0000 mysql user User char 16 48 utf8 utf8_bin char(16)
+1.0000 mysql user Password char 41 41 latin1 latin1_bin char(41)
+3.0000 mysql user Select_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql user Insert_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql user Update_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql user Delete_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql user Create_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql user Drop_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql user Reload_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql user Shutdown_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql user Process_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql user File_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql user Grant_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql user References_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql user Index_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql user Alter_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql user Show_db_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql user Super_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql user Create_tmp_table_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql user Lock_tables_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql user Execute_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql user Repl_slave_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql user Repl_client_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql user Create_view_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql user Show_view_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql user Create_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql user Alter_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql user Create_user_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql user Event_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql user Trigger_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
+3.0000 mysql user ssl_type enum 9 27 utf8 utf8_general_ci enum('','ANY','X509','SPECIFIED')
+1.0000 mysql user ssl_cipher blob 65535 65535 NULL NULL blob
+1.0000 mysql user x509_issuer blob 65535 65535 NULL NULL blob
+1.0000 mysql user x509_subject blob 65535 65535 NULL NULL blob
+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
diff --git a/mysql-test/suite/funcs_1/r/is_columns_ndb.result b/mysql-test/suite/funcs_1/r/is_columns_ndb.result
new file mode 100644
index 00000000000..444c62eb010
--- /dev/null
+++ b/mysql-test/suite/funcs_1/r/is_columns_ndb.result
@@ -0,0 +1,228 @@
+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_ln/funcs_1/t4.txt' INTO TABLE t1;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/t4.txt' INTO TABLE t2;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/t4.txt' INTO TABLE t4;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/t4.txt' INTO TABLE t10;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/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_ln/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_ln/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_ln/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_ln/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_ln/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
+NULL test t1 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
+NULL test t1 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL test t1 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
+NULL test t1 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test t1 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL test t1 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test t10 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
+NULL test t10 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL test t10 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
+NULL test t10 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test t10 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL test t10 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test t11 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
+NULL test t11 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL test t11 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
+NULL test t11 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test t11 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL test t11 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test t2 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
+NULL test t2 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL test t2 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
+NULL test t2 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test t2 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL test t2 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test t3 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
+NULL test t3 f2 2 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
+NULL test t3 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test t4 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
+NULL test t4 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL test t4 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
+NULL test t4 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test t4 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL test t4 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test t7 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
+NULL test t7 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL test t7 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
+NULL test t7 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test t8 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
+NULL test t8 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL test t8 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
+NULL test t8 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test t9 f1 1 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test t9 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL test t9 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test4 t6 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
+NULL test4 t6 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL test4 t6 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
+NULL test4 t6 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
+NULL test4 t6 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
+NULL 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.result b/mysql-test/suite/funcs_1/r/is_engines.result
new file mode 100644
index 00000000000..ba98ddd8f1e
--- /dev/null
+++ b/mysql-test/suite/funcs_1/r/is_engines.result
@@ -0,0 +1,84 @@
+SHOW TABLES FROM information_schema LIKE 'ENGINES';
+Tables_in_information_schema (ENGINES)
+ENGINES
+#######################################################################
+# Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT
+#######################################################################
+DROP VIEW IF EXISTS test.v1;
+DROP PROCEDURE IF EXISTS test.p1;
+DROP FUNCTION IF EXISTS test.f1;
+CREATE VIEW test.v1 AS SELECT * FROM information_schema.ENGINES;
+CREATE PROCEDURE test.p1() SELECT * FROM information_schema.ENGINES;
+CREATE FUNCTION test.f1() returns BIGINT
+BEGIN
+DECLARE counter BIGINT DEFAULT NULL;
+SELECT COUNT(*) INTO counter FROM information_schema.ENGINES;
+RETURN counter;
+END//
+# Attention: The printing of the next result sets is disabled.
+SELECT * FROM information_schema.ENGINES;
+SELECT * FROM test.v1;
+CALL test.p1;
+SELECT test.f1();
+DROP VIEW test.v1;
+DROP PROCEDURE test.p1;
+DROP FUNCTION test.f1;
+#########################################################################
+# Testcase 3.2.12.1: INFORMATION_SCHEMA.ENGINES layout
+#########################################################################
+DESCRIBE information_schema.ENGINES;
+Field Type Null Key Default Extra
+ENGINE varchar(64) NO
+SUPPORT varchar(8) NO
+COMMENT varchar(80) NO
+TRANSACTIONS varchar(3) NO
+XA varchar(3) NO
+SAVEPOINTS varchar(3) NO
+SHOW CREATE TABLE information_schema.ENGINES;
+Table Create Table
+ENGINES CREATE TEMPORARY TABLE `ENGINES` (
+ `ENGINE` varchar(64) NOT NULL DEFAULT '',
+ `SUPPORT` varchar(8) NOT NULL DEFAULT '',
+ `COMMENT` varchar(80) NOT NULL DEFAULT '',
+ `TRANSACTIONS` varchar(3) NOT NULL DEFAULT '',
+ `XA` varchar(3) NOT NULL DEFAULT '',
+ `SAVEPOINTS` varchar(3) NOT NULL DEFAULT ''
+) ENGINE=MEMORY DEFAULT CHARSET=utf8
+SHOW COLUMNS FROM information_schema.ENGINES;
+Field Type Null Key Default Extra
+ENGINE varchar(64) NO
+SUPPORT varchar(8) NO
+COMMENT varchar(80) NO
+TRANSACTIONS varchar(3) NO
+XA varchar(3) NO
+SAVEPOINTS varchar(3) NO
+########################################################################
+# Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and
+# DDL on INFORMATION_SCHEMA tables are not supported
+########################################################################
+DROP DATABASE IF EXISTS db_datadict;
+CREATE DATABASE db_datadict;
+CREATE TABLE db_datadict.t1 (f1 BIGINT)
+ENGINE = <engine_type>;
+INSERT INTO information_schema.engines
+SELECT * FROM information_schema.engines;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+UPDATE information_schema.engines SET engine = '1234567';
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DELETE FROM information_schema.engines WHERE support IN ('DEFAULT','YES');
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+TRUNCATE information_schema.engines;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+CREATE INDEX my_idx_on_engines ON information_schema.engines(engine);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.engines DROP PRIMARY KEY;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.engines ADD f1 INT;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DROP TABLE information_schema.engines;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.engines RENAME db_datadict.engines;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.engines RENAME information_schema.xengines;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DROP DATABASE db_datadict;
diff --git a/mysql-test/suite/funcs_1/r/is_engines_archive.result b/mysql-test/suite/funcs_1/r/is_engines_archive.result
new file mode 100644
index 00000000000..2772992495c
--- /dev/null
+++ b/mysql-test/suite/funcs_1/r/is_engines_archive.result
@@ -0,0 +1,8 @@
+SELECT * FROM information_schema.engines
+WHERE ENGINE = 'ARCHIVE';
+ENGINE ARCHIVE
+SUPPORT YES
+COMMENT Archive storage engine
+TRANSACTIONS NO
+XA NO
+SAVEPOINTS NO
diff --git a/mysql-test/suite/funcs_1/r/is_engines_blackhole.result b/mysql-test/suite/funcs_1/r/is_engines_blackhole.result
new file mode 100644
index 00000000000..021422e7a1f
--- /dev/null
+++ b/mysql-test/suite/funcs_1/r/is_engines_blackhole.result
@@ -0,0 +1,8 @@
+SELECT * FROM information_schema.engines
+WHERE ENGINE = 'BLACKHOLE';
+ENGINE BLACKHOLE
+SUPPORT YES
+COMMENT /dev/null storage engine (anything you write to it disappears)
+TRANSACTIONS NO
+XA NO
+SAVEPOINTS NO
diff --git a/mysql-test/suite/funcs_1/r/is_engines_csv.result b/mysql-test/suite/funcs_1/r/is_engines_csv.result
new file mode 100644
index 00000000000..2a7e61ee4d3
--- /dev/null
+++ b/mysql-test/suite/funcs_1/r/is_engines_csv.result
@@ -0,0 +1,8 @@
+SELECT * FROM information_schema.engines
+WHERE ENGINE = 'CSV';
+ENGINE CSV
+SUPPORT YES
+COMMENT CSV storage engine
+TRANSACTIONS NO
+XA NO
+SAVEPOINTS NO
diff --git a/mysql-test/suite/funcs_1/r/is_engines_federated.result b/mysql-test/suite/funcs_1/r/is_engines_federated.result
new file mode 100644
index 00000000000..f80fbbc7ece
--- /dev/null
+++ b/mysql-test/suite/funcs_1/r/is_engines_federated.result
@@ -0,0 +1,8 @@
+SELECT * FROM information_schema.engines
+WHERE ENGINE = 'FEDERATED';
+ENGINE FEDERATED
+SUPPORT YES
+COMMENT Federated MySQL storage engine
+TRANSACTIONS NO
+XA NO
+SAVEPOINTS NO
diff --git a/mysql-test/suite/funcs_1/r/is_engines_innodb.result b/mysql-test/suite/funcs_1/r/is_engines_innodb.result
new file mode 100644
index 00000000000..5713b417cd1
--- /dev/null
+++ b/mysql-test/suite/funcs_1/r/is_engines_innodb.result
@@ -0,0 +1,8 @@
+SELECT * FROM information_schema.engines
+WHERE ENGINE = 'InnoDB';
+ENGINE InnoDB
+SUPPORT YES
+COMMENT Supports transactions, row-level locking, and foreign keys
+TRANSACTIONS YES
+XA YES
+SAVEPOINTS YES
diff --git a/mysql-test/suite/funcs_1/r/is_engines_memory.result b/mysql-test/suite/funcs_1/r/is_engines_memory.result
new file mode 100644
index 00000000000..43114adfc56
--- /dev/null
+++ b/mysql-test/suite/funcs_1/r/is_engines_memory.result
@@ -0,0 +1,8 @@
+SELECT * FROM information_schema.engines
+WHERE ENGINE = 'MEMORY';
+ENGINE MEMORY
+SUPPORT YES
+COMMENT Hash based, stored in memory, useful for temporary tables
+TRANSACTIONS NO
+XA NO
+SAVEPOINTS NO
diff --git a/mysql-test/suite/funcs_1/r/is_engines_merge.result b/mysql-test/suite/funcs_1/r/is_engines_merge.result
new file mode 100644
index 00000000000..3bc7a498581
--- /dev/null
+++ b/mysql-test/suite/funcs_1/r/is_engines_merge.result
@@ -0,0 +1,8 @@
+SELECT * FROM information_schema.engines
+WHERE ENGINE = 'MRG_MYISAM';
+ENGINE MRG_MYISAM
+SUPPORT YES
+COMMENT Collection of identical MyISAM tables
+TRANSACTIONS NO
+XA NO
+SAVEPOINTS NO
diff --git a/mysql-test/suite/funcs_1/r/is_engines_myisam.result b/mysql-test/suite/funcs_1/r/is_engines_myisam.result
new file mode 100644
index 00000000000..2af9b3ce329
--- /dev/null
+++ b/mysql-test/suite/funcs_1/r/is_engines_myisam.result
@@ -0,0 +1,8 @@
+SELECT * FROM information_schema.engines
+WHERE ENGINE = 'MyISAM';
+ENGINE MyISAM
+SUPPORT DEFAULT
+COMMENT Default engine as of MySQL 3.23 with great performance
+TRANSACTIONS NO
+XA NO
+SAVEPOINTS NO
diff --git a/mysql-test/suite/funcs_1/r/is_engines_ndb.result b/mysql-test/suite/funcs_1/r/is_engines_ndb.result
new file mode 100644
index 00000000000..238609fc09e
--- /dev/null
+++ b/mysql-test/suite/funcs_1/r/is_engines_ndb.result
@@ -0,0 +1,8 @@
+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_events.result b/mysql-test/suite/funcs_1/r/is_events.result
new file mode 100644
index 00000000000..52673f1d285
--- /dev/null
+++ b/mysql-test/suite/funcs_1/r/is_events.result
@@ -0,0 +1,148 @@
+SHOW TABLES FROM information_schema LIKE 'EVENTS';
+Tables_in_information_schema (EVENTS)
+EVENTS
+#######################################################################
+# Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT
+#######################################################################
+DROP VIEW IF EXISTS test.v1;
+DROP PROCEDURE IF EXISTS test.p1;
+DROP FUNCTION IF EXISTS test.f1;
+CREATE VIEW test.v1 AS SELECT * FROM information_schema.EVENTS;
+CREATE PROCEDURE test.p1() SELECT * FROM information_schema.EVENTS;
+CREATE FUNCTION test.f1() returns BIGINT
+BEGIN
+DECLARE counter BIGINT DEFAULT NULL;
+SELECT COUNT(*) INTO counter FROM information_schema.EVENTS;
+RETURN counter;
+END//
+# Attention: The printing of the next result sets is disabled.
+SELECT * FROM information_schema.EVENTS;
+SELECT * FROM test.v1;
+CALL test.p1;
+SELECT test.f1();
+DROP VIEW test.v1;
+DROP PROCEDURE test.p1;
+DROP FUNCTION test.f1;
+#########################################################################
+# Testcase 3.2.12.1: INFORMATION_SCHEMA.EVENTS layout
+#########################################################################
+DESCRIBE information_schema.EVENTS;
+Field Type Null Key Default Extra
+EVENT_CATALOG varchar(64) YES NULL
+EVENT_SCHEMA varchar(64) NO
+EVENT_NAME varchar(64) NO
+DEFINER varchar(77) NO
+TIME_ZONE varchar(64) NO
+EVENT_BODY varchar(8) NO
+EVENT_DEFINITION longtext NO NULL
+EVENT_TYPE varchar(9) NO
+EXECUTE_AT datetime YES NULL
+INTERVAL_VALUE varchar(256) YES NULL
+INTERVAL_FIELD varchar(18) YES NULL
+SQL_MODE longtext NO NULL
+STARTS datetime YES NULL
+ENDS datetime YES NULL
+STATUS varchar(18) NO
+ON_COMPLETION varchar(12) NO
+CREATED datetime NO 0000-00-00 00:00:00
+LAST_ALTERED datetime NO 0000-00-00 00:00:00
+LAST_EXECUTED datetime YES NULL
+EVENT_COMMENT varchar(64) NO
+ORIGINATOR bigint(10) NO 0
+CHARACTER_SET_CLIENT varchar(32) NO
+COLLATION_CONNECTION varchar(32) NO
+DATABASE_COLLATION varchar(32) NO
+SHOW CREATE TABLE information_schema.EVENTS;
+Table Create Table
+EVENTS CREATE TEMPORARY TABLE `EVENTS` (
+ `EVENT_CATALOG` varchar(64) DEFAULT NULL,
+ `EVENT_SCHEMA` varchar(64) NOT NULL DEFAULT '',
+ `EVENT_NAME` varchar(64) NOT NULL DEFAULT '',
+ `DEFINER` varchar(77) NOT NULL DEFAULT '',
+ `TIME_ZONE` varchar(64) NOT NULL DEFAULT '',
+ `EVENT_BODY` varchar(8) NOT NULL DEFAULT '',
+ `EVENT_DEFINITION` longtext NOT NULL,
+ `EVENT_TYPE` varchar(9) NOT NULL DEFAULT '',
+ `EXECUTE_AT` datetime DEFAULT NULL,
+ `INTERVAL_VALUE` varchar(256) DEFAULT NULL,
+ `INTERVAL_FIELD` varchar(18) DEFAULT NULL,
+ `SQL_MODE` longtext NOT NULL,
+ `STARTS` datetime DEFAULT NULL,
+ `ENDS` datetime DEFAULT NULL,
+ `STATUS` varchar(18) NOT NULL DEFAULT '',
+ `ON_COMPLETION` varchar(12) NOT NULL DEFAULT '',
+ `CREATED` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `LAST_ALTERED` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `LAST_EXECUTED` datetime DEFAULT NULL,
+ `EVENT_COMMENT` varchar(64) NOT NULL DEFAULT '',
+ `ORIGINATOR` bigint(10) NOT NULL DEFAULT '0',
+ `CHARACTER_SET_CLIENT` varchar(32) NOT NULL DEFAULT '',
+ `COLLATION_CONNECTION` varchar(32) NOT NULL DEFAULT '',
+ `DATABASE_COLLATION` varchar(32) NOT NULL DEFAULT ''
+) ENGINE=MyISAM DEFAULT CHARSET=utf8
+SHOW COLUMNS FROM information_schema.EVENTS;
+Field Type Null Key Default Extra
+EVENT_CATALOG varchar(64) YES NULL
+EVENT_SCHEMA varchar(64) NO
+EVENT_NAME varchar(64) NO
+DEFINER varchar(77) NO
+TIME_ZONE varchar(64) NO
+EVENT_BODY varchar(8) NO
+EVENT_DEFINITION longtext NO NULL
+EVENT_TYPE varchar(9) NO
+EXECUTE_AT datetime YES NULL
+INTERVAL_VALUE varchar(256) YES NULL
+INTERVAL_FIELD varchar(18) YES NULL
+SQL_MODE longtext NO NULL
+STARTS datetime YES NULL
+ENDS datetime YES NULL
+STATUS varchar(18) NO
+ON_COMPLETION varchar(12) NO
+CREATED datetime NO 0000-00-00 00:00:00
+LAST_ALTERED datetime NO 0000-00-00 00:00:00
+LAST_EXECUTED datetime YES NULL
+EVENT_COMMENT varchar(64) NO
+ORIGINATOR bigint(10) NO 0
+CHARACTER_SET_CLIENT varchar(32) NO
+COLLATION_CONNECTION varchar(32) NO
+DATABASE_COLLATION varchar(32) NO
+SELECT event_catalog, event_name, event_body, event_type, event_type,
+status, on_completion
+FROM information_schema.events
+WHERE event_catalog IS NOT NULL or
+event_body NOT IN ('SQL') or
+event_type NOT IN ('ONE TIME','RECURRING') or
+status NOT IN ('ENABLED','DISABLED','SLAVESIDE_DISABLED') or
+on_completion NOT IN ('PRESERVE','NOT PRESERVE');
+event_catalog event_name event_body event_type event_type status on_completion
+########################################################################
+# Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and
+# DDL on INFORMATION_SCHEMA tables are not supported
+########################################################################
+DROP DATABASE IF EXISTS db_datadict;
+CREATE DATABASE db_datadict;
+CREATE TABLE db_datadict.t1 (f1 BIGINT)
+ENGINE = <engine_type>;
+INSERT INTO information_schema.events
+SELECT * FROM information_schema.events;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+UPDATE information_schema.events SET event_name = '1234567'
+WHERE table_name = 't1';
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DELETE FROM information_schema.events WHERE event_catalog IS NULL;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+TRUNCATE information_schema.events;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+CREATE INDEX my_idx_on_events ON information_schema.events(event_name);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.events DROP PRIMARY KEY;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.events ADD f1 INT;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DROP TABLE information_schema.events;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.events RENAME db_datadict.events;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.events RENAME information_schema.xevents;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DROP DATABASE db_datadict;
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
new file mode 100644
index 00000000000..2b223d9b34f
--- /dev/null
+++ b/mysql-test/suite/funcs_1/r/is_key_column_usage.result
@@ -0,0 +1,370 @@
+SHOW TABLES FROM information_schema LIKE 'KEY_COLUMN_USAGE';
+Tables_in_information_schema (KEY_COLUMN_USAGE)
+KEY_COLUMN_USAGE
+#######################################################################
+# Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT
+#######################################################################
+DROP VIEW IF EXISTS test.v1;
+DROP PROCEDURE IF EXISTS test.p1;
+DROP FUNCTION IF EXISTS test.f1;
+CREATE VIEW test.v1 AS SELECT * FROM information_schema.KEY_COLUMN_USAGE;
+CREATE PROCEDURE test.p1() SELECT * FROM information_schema.KEY_COLUMN_USAGE;
+CREATE FUNCTION test.f1() returns BIGINT
+BEGIN
+DECLARE counter BIGINT DEFAULT NULL;
+SELECT COUNT(*) INTO counter FROM information_schema.KEY_COLUMN_USAGE;
+RETURN counter;
+END//
+# Attention: The printing of the next result sets is disabled.
+SELECT * FROM information_schema.KEY_COLUMN_USAGE;
+SELECT * FROM test.v1;
+CALL test.p1;
+SELECT test.f1();
+DROP VIEW test.v1;
+DROP PROCEDURE test.p1;
+DROP FUNCTION test.f1;
+#########################################################################
+# Testcase 3.2.7.1: INFORMATION_SCHEMA.KEY_COLUMN_USAGE layout
+#########################################################################
+DESCRIBE information_schema.KEY_COLUMN_USAGE;
+Field Type Null Key Default Extra
+CONSTRAINT_CATALOG varchar(512) YES NULL
+CONSTRAINT_SCHEMA varchar(64) NO
+CONSTRAINT_NAME varchar(64) NO
+TABLE_CATALOG varchar(512) YES NULL
+TABLE_SCHEMA varchar(64) NO
+TABLE_NAME varchar(64) NO
+COLUMN_NAME varchar(64) NO
+ORDINAL_POSITION bigint(10) NO 0
+POSITION_IN_UNIQUE_CONSTRAINT bigint(10) YES NULL
+REFERENCED_TABLE_SCHEMA varchar(64) YES NULL
+REFERENCED_TABLE_NAME varchar(64) YES NULL
+REFERENCED_COLUMN_NAME varchar(64) YES NULL
+SHOW CREATE TABLE information_schema.KEY_COLUMN_USAGE;
+Table Create Table
+KEY_COLUMN_USAGE CREATE TEMPORARY TABLE `KEY_COLUMN_USAGE` (
+ `CONSTRAINT_CATALOG` varchar(512) DEFAULT NULL,
+ `CONSTRAINT_SCHEMA` varchar(64) NOT NULL DEFAULT '',
+ `CONSTRAINT_NAME` varchar(64) NOT NULL DEFAULT '',
+ `TABLE_CATALOG` varchar(512) DEFAULT NULL,
+ `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
+ `TABLE_NAME` varchar(64) NOT NULL DEFAULT '',
+ `COLUMN_NAME` varchar(64) NOT NULL DEFAULT '',
+ `ORDINAL_POSITION` bigint(10) NOT NULL DEFAULT '0',
+ `POSITION_IN_UNIQUE_CONSTRAINT` bigint(10) DEFAULT NULL,
+ `REFERENCED_TABLE_SCHEMA` varchar(64) DEFAULT NULL,
+ `REFERENCED_TABLE_NAME` varchar(64) DEFAULT NULL,
+ `REFERENCED_COLUMN_NAME` varchar(64) DEFAULT NULL
+) ENGINE=MEMORY DEFAULT CHARSET=utf8
+SHOW COLUMNS FROM information_schema.KEY_COLUMN_USAGE;
+Field Type Null Key Default Extra
+CONSTRAINT_CATALOG varchar(512) YES NULL
+CONSTRAINT_SCHEMA varchar(64) NO
+CONSTRAINT_NAME varchar(64) NO
+TABLE_CATALOG varchar(512) YES NULL
+TABLE_SCHEMA varchar(64) NO
+TABLE_NAME varchar(64) NO
+COLUMN_NAME varchar(64) NO
+ORDINAL_POSITION bigint(10) NO 0
+POSITION_IN_UNIQUE_CONSTRAINT bigint(10) YES NULL
+REFERENCED_TABLE_SCHEMA varchar(64) YES NULL
+REFERENCED_TABLE_NAME varchar(64) YES NULL
+REFERENCED_COLUMN_NAME varchar(64) YES NULL
+SELECT constraint_catalog, constraint_schema, constraint_name, table_catalog,
+table_schema, table_name, column_name
+FROM information_schema.key_column_usage
+WHERE constraint_catalog IS NOT NULL OR table_catalog IS NOT NULL;
+constraint_catalog constraint_schema constraint_name table_catalog table_schema table_name column_name
+########################################################################################
+# Testcase 3.2.7.2 + 3.2.7.3: INFORMATION_SCHEMA.KEY_COLUMN_USAGE accessible information
+########################################################################################
+DROP DATABASE IF EXISTS db_datadict;
+CREATE DATABASE db_datadict;
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+DROP USER 'testuser2'@'localhost';
+CREATE USER 'testuser2'@'localhost';
+USE db_datadict;
+CREATE TABLE t1_1
+(f1 INT NOT NULL, PRIMARY KEY(f1),
+f2 INT, INDEX f2_ind(f2))
+ENGINE = <engine_type>;
+GRANT SELECT ON t1_1 to 'testuser1'@'localhost';
+CREATE TABLE t1_2
+(f1 INT NOT NULL, PRIMARY KEY(f1),
+f2 INT, INDEX f2_ind(f2))
+ENGINE = <engine_type>;
+GRANT SELECT ON t1_2 to 'testuser2'@'localhost';
+SELECT * FROM information_schema.key_column_usage
+WHERE table_name LIKE 't1_%'
+ORDER BY constraint_catalog, constraint_schema, constraint_name,
+table_catalog, table_schema, table_name, ordinal_position;
+CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
+NULL db_datadict PRIMARY NULL db_datadict t1_1 f1 1 NULL NULL NULL NULL
+NULL db_datadict PRIMARY NULL db_datadict t1_2 f1 1 NULL NULL NULL NULL
+# Establish connection testuser1 (user=testuser1)
+SELECT * FROM information_schema.key_column_usage
+WHERE table_name LIKE 't1_%'
+ORDER BY constraint_catalog, constraint_schema, constraint_name,
+table_catalog, table_schema, table_name, ordinal_position;
+CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
+NULL db_datadict PRIMARY NULL db_datadict t1_1 f1 1 NULL NULL NULL NULL
+# Establish connection testuser2 (user=testuser2)
+SELECT * FROM information_schema.key_column_usage
+WHERE table_name LIKE 't1_%'
+ORDER BY constraint_catalog, constraint_schema, constraint_name,
+table_catalog, table_schema, table_name, ordinal_position;
+CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
+NULL db_datadict PRIMARY NULL db_datadict t1_2 f1 1 NULL NULL NULL NULL
+# Switch to connection default and close connections testuser1, testuser2
+DROP USER 'testuser1'@'localhost';
+DROP USER 'testuser2'@'localhost';
+DROP TABLE t1_1;
+DROP TABLE t1_2;
+DROP DATABASE IF EXISTS db_datadict;
+########################################################################################
+# Testcase 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.KEY_COLUMN_USAGE modifications
+########################################################################################
+DROP DATABASE IF EXISTS db_datadict;
+DROP TABLE IF EXISTS test.t1_my_table;
+CREATE DATABASE db_datadict;
+SELECT table_name FROM information_schema.key_column_usage
+WHERE table_name LIKE 't1_my_table%';
+table_name
+CREATE TABLE test.t1_my_table
+(f1 CHAR(12), f2 TIMESTAMP, f4 BIGINT, PRIMARY KEY(f1,f2))
+DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci
+ENGINE = <engine_type>;
+SELECT * FROM information_schema.key_column_usage
+WHERE table_name = 't1_my_table';
+CONSTRAINT_CATALOG NULL
+CONSTRAINT_SCHEMA test
+CONSTRAINT_NAME PRIMARY
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME t1_my_table
+COLUMN_NAME f1
+ORDINAL_POSITION 1
+POSITION_IN_UNIQUE_CONSTRAINT NULL
+REFERENCED_TABLE_SCHEMA NULL
+REFERENCED_TABLE_NAME NULL
+REFERENCED_COLUMN_NAME NULL
+CONSTRAINT_CATALOG NULL
+CONSTRAINT_SCHEMA test
+CONSTRAINT_NAME PRIMARY
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME t1_my_table
+COLUMN_NAME f2
+ORDINAL_POSITION 2
+POSITION_IN_UNIQUE_CONSTRAINT NULL
+REFERENCED_TABLE_SCHEMA NULL
+REFERENCED_TABLE_NAME NULL
+REFERENCED_COLUMN_NAME NULL
+SELECT DISTINCT table_name FROM information_schema.key_column_usage
+WHERE table_name LIKE 't1_my_table%';
+table_name
+t1_my_table
+RENAME TABLE test.t1_my_table TO test.t1_my_tablex;
+SELECT DISTINCT table_name FROM information_schema.key_column_usage
+WHERE table_name LIKE 't1_my_table%';
+table_name
+t1_my_tablex
+SELECT DISTINCT table_schema,table_name FROM information_schema.key_column_usage
+WHERE table_name = 't1_my_tablex';
+table_schema table_name
+test t1_my_tablex
+RENAME TABLE test.t1_my_tablex TO db_datadict.t1_my_tablex;
+SELECT DISTINCT table_schema,table_name FROM information_schema.key_column_usage
+WHERE table_name = 't1_my_tablex';
+table_schema table_name
+db_datadict t1_my_tablex
+SELECT DISTINCT table_name, column_name FROM information_schema.key_column_usage
+WHERE table_name = 't1_my_tablex'
+ORDER BY table_name, column_name;
+table_name column_name
+t1_my_tablex f1
+t1_my_tablex f2
+ALTER TABLE db_datadict.t1_my_tablex CHANGE COLUMN f1 first_col CHAR(12);
+SELECT DISTINCT table_name, column_name FROM information_schema.key_column_usage
+WHERE table_name = 't1_my_tablex'
+ORDER BY table_name, column_name;
+table_name column_name
+t1_my_tablex f2
+t1_my_tablex first_col
+SELECT constraint_schema, constraint_name, table_schema,
+table_name, column_name, ordinal_position
+FROM information_schema.key_column_usage
+WHERE table_name = 't1_my_tablex'
+ORDER BY constraint_schema, constraint_name, table_schema,
+table_name, ordinal_position;
+constraint_schema constraint_name table_schema table_name column_name ordinal_position
+db_datadict PRIMARY db_datadict t1_my_tablex first_col 1
+db_datadict PRIMARY db_datadict t1_my_tablex f2 2
+CREATE INDEX f2 ON db_datadict.t1_my_tablex(f2);
+SELECT constraint_schema, constraint_name, table_schema,
+table_name, column_name, ordinal_position
+FROM information_schema.key_column_usage
+WHERE table_name = 't1_my_tablex'
+ORDER BY constraint_schema, constraint_name, table_schema,
+table_name, ordinal_position;
+constraint_schema constraint_name table_schema table_name column_name ordinal_position
+db_datadict PRIMARY db_datadict t1_my_tablex first_col 1
+db_datadict PRIMARY db_datadict t1_my_tablex f2 2
+DROP INDEX f2 ON db_datadict.t1_my_tablex;
+SELECT constraint_schema, constraint_name, table_schema,
+table_name, column_name, ordinal_position
+FROM information_schema.key_column_usage
+WHERE table_name = 't1_my_tablex'
+ORDER BY constraint_schema, constraint_name, table_schema,
+table_name, ordinal_position;
+constraint_schema constraint_name table_schema table_name column_name ordinal_position
+db_datadict PRIMARY db_datadict t1_my_tablex first_col 1
+db_datadict PRIMARY db_datadict t1_my_tablex f2 2
+ALTER TABLE db_datadict.t1_my_tablex ADD UNIQUE (f2);
+SELECT constraint_schema, constraint_name, table_schema,
+table_name, column_name, ordinal_position
+FROM information_schema.key_column_usage
+WHERE table_name = 't1_my_tablex'
+ORDER BY constraint_schema, constraint_name, table_schema,
+table_name, ordinal_position;
+constraint_schema constraint_name table_schema table_name column_name ordinal_position
+db_datadict f2 db_datadict t1_my_tablex f2 1
+db_datadict PRIMARY db_datadict t1_my_tablex first_col 1
+db_datadict PRIMARY db_datadict t1_my_tablex f2 2
+DROP INDEX f2 ON db_datadict.t1_my_tablex;
+SELECT constraint_schema, constraint_name, table_schema,
+table_name, column_name, ordinal_position
+FROM information_schema.key_column_usage
+WHERE table_name = 't1_my_tablex'
+ORDER BY constraint_schema, constraint_name, table_schema,
+table_name, ordinal_position;
+constraint_schema constraint_name table_schema table_name column_name ordinal_position
+db_datadict PRIMARY db_datadict t1_my_tablex first_col 1
+db_datadict PRIMARY db_datadict t1_my_tablex f2 2
+ALTER TABLE db_datadict.t1_my_tablex ADD UNIQUE my_idx (f2);
+SELECT constraint_schema, constraint_name, table_schema,
+table_name, column_name, ordinal_position
+FROM information_schema.key_column_usage
+WHERE table_name = 't1_my_tablex'
+ORDER BY constraint_schema, constraint_name, table_schema,
+table_name, ordinal_position;
+constraint_schema constraint_name table_schema table_name column_name ordinal_position
+db_datadict my_idx db_datadict t1_my_tablex f2 1
+db_datadict PRIMARY db_datadict t1_my_tablex first_col 1
+db_datadict PRIMARY db_datadict t1_my_tablex f2 2
+DROP INDEX my_idx ON db_datadict.t1_my_tablex;
+SELECT constraint_schema, constraint_name, table_schema,
+table_name, column_name, ordinal_position
+FROM information_schema.key_column_usage
+WHERE table_name = 't1_my_tablex'
+ORDER BY constraint_schema, constraint_name, table_schema,
+table_name, ordinal_position;
+constraint_schema constraint_name table_schema table_name column_name ordinal_position
+db_datadict PRIMARY db_datadict t1_my_tablex first_col 1
+db_datadict PRIMARY db_datadict t1_my_tablex f2 2
+ALTER TABLE db_datadict.t1_my_tablex ADD UNIQUE my_idx (f4,first_col);
+SELECT constraint_schema, constraint_name, table_schema,
+table_name, column_name, ordinal_position
+FROM information_schema.key_column_usage
+WHERE table_name = 't1_my_tablex'
+ORDER BY constraint_schema, constraint_name, table_schema,
+table_name, ordinal_position;
+constraint_schema constraint_name table_schema table_name column_name ordinal_position
+db_datadict my_idx db_datadict t1_my_tablex f4 1
+db_datadict my_idx db_datadict t1_my_tablex first_col 2
+db_datadict PRIMARY db_datadict t1_my_tablex first_col 1
+db_datadict PRIMARY db_datadict t1_my_tablex f2 2
+SELECT constraint_schema, constraint_name, table_schema,
+table_name, column_name, ordinal_position
+FROM information_schema.key_column_usage
+WHERE table_name = 't1_my_tablex'
+ORDER BY constraint_schema, constraint_name, table_schema,
+table_name, ordinal_position;
+constraint_schema constraint_name table_schema table_name column_name ordinal_position
+db_datadict my_idx db_datadict t1_my_tablex f4 1
+db_datadict my_idx db_datadict t1_my_tablex first_col 2
+db_datadict PRIMARY db_datadict t1_my_tablex first_col 1
+db_datadict PRIMARY db_datadict t1_my_tablex f2 2
+ALTER TABLE db_datadict.t1_my_tablex
+DROP COLUMN first_col;
+SELECT constraint_schema, constraint_name, table_schema,
+table_name, column_name, ordinal_position
+FROM information_schema.key_column_usage
+WHERE table_name = 't1_my_tablex'
+ORDER BY constraint_schema, constraint_name, table_schema,
+table_name, ordinal_position;
+constraint_schema constraint_name table_schema table_name column_name ordinal_position
+db_datadict my_idx db_datadict t1_my_tablex f4 1
+db_datadict PRIMARY db_datadict t1_my_tablex f2 1
+SELECT table_name, column_name
+FROM information_schema.key_column_usage
+WHERE table_name = 't1_my_tablex'
+ORDER BY table_name, column_name;
+table_name column_name
+t1_my_tablex f2
+t1_my_tablex f4
+DROP TABLE db_datadict.t1_my_tablex;
+SELECT table_name, column_name
+FROM information_schema.key_column_usage
+WHERE table_name = 't1_my_tablex';
+table_name column_name
+SELECT table_name FROM information_schema.key_column_usage
+WHERE table_name = 't1_my_tablex';
+table_name
+CREATE TABLE db_datadict.t1_my_tablex
+ENGINE = <engine_type> AS
+SELECT 1 AS f1;
+SELECT table_name FROM information_schema.key_column_usage
+WHERE table_name = 't1_my_tablex';
+table_name
+ALTER TABLE db_datadict.t1_my_tablex ADD PRIMARY KEY(f1);
+SELECT table_name FROM information_schema.key_column_usage
+WHERE table_name = 't1_my_tablex';
+table_name
+t1_my_tablex
+SELECT table_name FROM information_schema.key_column_usage
+WHERE table_name = 't1_my_tablex';
+table_name
+t1_my_tablex
+DROP DATABASE db_datadict;
+SELECT table_name FROM information_schema.key_column_usage
+WHERE table_name = 't1_my_tablex';
+table_name
+########################################################################
+# Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and
+# DDL on INFORMATION_SCHEMA table are not supported
+########################################################################
+DROP DATABASE IF EXISTS db_datadict;
+DROP TABLE IF EXISTS db_datadict.t1;
+CREATE DATABASE db_datadict;
+CREATE TABLE db_datadict.t1 (f1 BIGINT)
+ENGINE = <engine_type>;
+INSERT INTO information_schema.key_column_usage
+(constraint_schema, constraint_name, table_name)
+VALUES ( 'mysql', 'primary', 'db');
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+INSERT INTO information_schema.key_column_usage
+SELECT * FROM information_schema.key_column_usage;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+UPDATE information_schema.key_column_usage
+SET table_name = 'db1' WHERE constraint_name = 'primary';
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DELETE FROM information_schema.key_column_usage WHERE table_name = 't1';
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+TRUNCATE information_schema.key_column_usage;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+CREATE INDEX i3 ON information_schema.key_column_usage(table_name);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.key_column_usage ADD f1 INT;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DROP TABLE information_schema.key_column_usage;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.key_column_usage
+RENAME db_datadict.key_column_usage;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.key_column_usage
+RENAME information_schema.xkey_column_usage;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DROP TABLE db_datadict.t1;
+DROP DATABASE db_datadict;
diff --git a/mysql-test/suite/funcs_1/r/is_routines.result b/mysql-test/suite/funcs_1/r/is_routines.result
new file mode 100644
index 00000000000..ba564c42f91
--- /dev/null
+++ b/mysql-test/suite/funcs_1/r/is_routines.result
@@ -0,0 +1,635 @@
+SHOW TABLES FROM information_schema LIKE 'ROUTINES';
+Tables_in_information_schema (ROUTINES)
+ROUTINES
+#######################################################################
+# Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT
+#######################################################################
+DROP VIEW IF EXISTS test.v1;
+DROP PROCEDURE IF EXISTS test.p1;
+DROP FUNCTION IF EXISTS test.f1;
+CREATE VIEW test.v1 AS SELECT * FROM information_schema.ROUTINES;
+CREATE PROCEDURE test.p1() SELECT * FROM information_schema.ROUTINES;
+CREATE FUNCTION test.f1() returns BIGINT
+BEGIN
+DECLARE counter BIGINT DEFAULT NULL;
+SELECT COUNT(*) INTO counter FROM information_schema.ROUTINES;
+RETURN counter;
+END//
+# Attention: The printing of the next result sets is disabled.
+SELECT * FROM information_schema.ROUTINES;
+SELECT * FROM test.v1;
+CALL test.p1;
+SELECT test.f1();
+DROP VIEW test.v1;
+DROP PROCEDURE test.p1;
+DROP FUNCTION test.f1;
+#########################################################################
+# Testcase 3.2.8.1: INFORMATION_SCHEMA.ROUTINES layout
+#########################################################################
+DESCRIBE information_schema.ROUTINES;
+Field Type Null Key Default Extra
+SPECIFIC_NAME varchar(64) NO
+ROUTINE_CATALOG varchar(512) YES NULL
+ROUTINE_SCHEMA varchar(64) NO
+ROUTINE_NAME varchar(64) NO
+ROUTINE_TYPE varchar(9) NO
+DTD_IDENTIFIER varchar(64) YES NULL
+ROUTINE_BODY varchar(8) NO
+ROUTINE_DEFINITION longtext YES NULL
+EXTERNAL_NAME varchar(64) YES NULL
+EXTERNAL_LANGUAGE varchar(64) YES NULL
+PARAMETER_STYLE varchar(8) NO
+IS_DETERMINISTIC varchar(3) NO
+SQL_DATA_ACCESS varchar(64) NO
+SQL_PATH varchar(64) YES NULL
+SECURITY_TYPE varchar(7) NO
+CREATED datetime NO 0000-00-00 00:00:00
+LAST_ALTERED datetime NO 0000-00-00 00:00:00
+SQL_MODE longtext NO NULL
+ROUTINE_COMMENT varchar(64) NO
+DEFINER varchar(77) NO
+CHARACTER_SET_CLIENT varchar(32) NO
+COLLATION_CONNECTION varchar(32) NO
+DATABASE_COLLATION varchar(32) NO
+SHOW CREATE TABLE information_schema.ROUTINES;
+Table Create Table
+ROUTINES CREATE TEMPORARY TABLE `ROUTINES` (
+ `SPECIFIC_NAME` varchar(64) NOT NULL DEFAULT '',
+ `ROUTINE_CATALOG` varchar(512) DEFAULT NULL,
+ `ROUTINE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
+ `ROUTINE_NAME` varchar(64) NOT NULL DEFAULT '',
+ `ROUTINE_TYPE` varchar(9) NOT NULL DEFAULT '',
+ `DTD_IDENTIFIER` varchar(64) DEFAULT NULL,
+ `ROUTINE_BODY` varchar(8) NOT NULL DEFAULT '',
+ `ROUTINE_DEFINITION` longtext,
+ `EXTERNAL_NAME` varchar(64) DEFAULT NULL,
+ `EXTERNAL_LANGUAGE` varchar(64) DEFAULT NULL,
+ `PARAMETER_STYLE` varchar(8) NOT NULL DEFAULT '',
+ `IS_DETERMINISTIC` varchar(3) NOT NULL DEFAULT '',
+ `SQL_DATA_ACCESS` varchar(64) NOT NULL DEFAULT '',
+ `SQL_PATH` varchar(64) DEFAULT NULL,
+ `SECURITY_TYPE` varchar(7) NOT NULL DEFAULT '',
+ `CREATED` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `LAST_ALTERED` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `SQL_MODE` longtext NOT NULL,
+ `ROUTINE_COMMENT` varchar(64) NOT NULL DEFAULT '',
+ `DEFINER` varchar(77) NOT NULL DEFAULT '',
+ `CHARACTER_SET_CLIENT` varchar(32) NOT NULL DEFAULT '',
+ `COLLATION_CONNECTION` varchar(32) NOT NULL DEFAULT '',
+ `DATABASE_COLLATION` varchar(32) NOT NULL DEFAULT ''
+) ENGINE=MyISAM DEFAULT CHARSET=utf8
+SHOW COLUMNS FROM information_schema.ROUTINES;
+Field Type Null Key Default Extra
+SPECIFIC_NAME varchar(64) NO
+ROUTINE_CATALOG varchar(512) YES NULL
+ROUTINE_SCHEMA varchar(64) NO
+ROUTINE_NAME varchar(64) NO
+ROUTINE_TYPE varchar(9) NO
+DTD_IDENTIFIER varchar(64) YES NULL
+ROUTINE_BODY varchar(8) NO
+ROUTINE_DEFINITION longtext YES NULL
+EXTERNAL_NAME varchar(64) YES NULL
+EXTERNAL_LANGUAGE varchar(64) YES NULL
+PARAMETER_STYLE varchar(8) NO
+IS_DETERMINISTIC varchar(3) NO
+SQL_DATA_ACCESS varchar(64) NO
+SQL_PATH varchar(64) YES NULL
+SECURITY_TYPE varchar(7) NO
+CREATED datetime NO 0000-00-00 00:00:00
+LAST_ALTERED datetime NO 0000-00-00 00:00:00
+SQL_MODE longtext NO NULL
+ROUTINE_COMMENT varchar(64) NO
+DEFINER varchar(77) NO
+CHARACTER_SET_CLIENT varchar(32) NO
+COLLATION_CONNECTION varchar(32) NO
+DATABASE_COLLATION varchar(32) NO
+USE test;
+DROP PROCEDURE IF EXISTS sp_for_routines;
+DROP FUNCTION IF EXISTS function_for_routines;
+CREATE PROCEDURE sp_for_routines() SELECT 'db_datadict';
+CREATE FUNCTION function_for_routines() RETURNS INT RETURN 0;
+SELECT specific_name,routine_catalog,routine_schema,routine_name,routine_type,
+routine_body,external_name,external_language,parameter_style,sql_path
+FROM information_schema.routines
+WHERE routine_catalog IS NOT NULL OR external_name IS NOT NULL
+OR external_language IS NOT NULL OR sql_path IS NOT NULL
+OR routine_body <> 'SQL' OR parameter_style <> 'SQL'
+ OR specific_name <> routine_name;
+specific_name routine_catalog routine_schema routine_name routine_type routine_body external_name external_language parameter_style sql_path
+DROP PROCEDURE sp_for_routines;
+DROP FUNCTION function_for_routines;
+################################################################################
+# Testcase 3.2.8.2 + 3.2.8.3: INFORMATION_SCHEMA.ROUTINES accessible information
+################################################################################
+DROP DATABASE IF EXISTS db_datadict;
+DROP DATABASE IF EXISTS db_datadict_2;
+CREATE DATABASE db_datadict;
+USE db_datadict;
+CREATE TABLE res_6_408002_1(f1 CHAR(3), f2 TEXT(25), f3 DATE, f4 INT)
+ENGINE = <other_engine_type>;
+INSERT INTO res_6_408002_1(f1, f2, f3, f4)
+VALUES('abc', 'xyz', '1989-11-09', 0815);
+DROP PROCEDURE IF EXISTS sp_6_408002_1;
+CREATE PROCEDURE sp_6_408002_1()
+BEGIN
+SELECT * FROM db_datadict.res_6_408002_1;
+END//
+CREATE DATABASE db_datadict_2;
+USE db_datadict_2;
+CREATE TABLE res_6_408002_2(f1 CHAR(3), f2 TEXT(25), f3 DATE, f4 INT)
+ENGINE = <other_engine_type>;
+INSERT INTO res_6_408002_2(f1, f2, f3, f4)
+VALUES('abc', 'xyz', '1990-10-03', 4711);
+DROP PROCEDURE IF EXISTS sp_6_408002_2;
+CREATE PROCEDURE sp_6_408002_2()
+BEGIN
+SELECT * FROM db_datadict_2.res_6_408002_2;
+END//
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+DROP USER 'testuser2'@'localhost';
+CREATE USER 'testuser2'@'localhost';
+DROP USER 'testuser3'@'localhost';
+CREATE USER 'testuser3'@'localhost';
+GRANT SELECT ON db_datadict_2.* TO 'testuser1'@'localhost';
+GRANT EXECUTE ON db_datadict_2.* TO 'testuser1'@'localhost';
+GRANT EXECUTE ON db_datadict.* TO 'testuser1'@'localhost';
+GRANT SELECT ON db_datadict.* TO 'testuser2'@'localhost';
+GRANT EXECUTE ON PROCEDURE db_datadict_2.sp_6_408002_2
+TO 'testuser2'@'localhost';
+GRANT EXECUTE ON db_datadict_2.* TO 'testuser2'@'localhost';
+FLUSH PRIVILEGES;
+# Establish connection testuser1 (user=testuser1)
+SELECT * FROM information_schema.routines;
+SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
+sp_6_408002_1 NULL db_datadict sp_6_408002_1 PROCEDURE NULL SQL NULL NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost latin1 latin1_swedish_ci latin1_swedish_ci
+sp_6_408002_2 NULL db_datadict_2 sp_6_408002_2 PROCEDURE NULL SQL NULL NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost latin1 latin1_swedish_ci latin1_swedish_ci
+# Establish connection testuser2 (user=testuser2)
+SELECT * FROM information_schema.routines;
+SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
+sp_6_408002_2 NULL db_datadict_2 sp_6_408002_2 PROCEDURE NULL SQL NULL NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost latin1 latin1_swedish_ci latin1_swedish_ci
+# Establish connection testuser3 (user=testuser3)
+SELECT * FROM information_schema.routines;
+SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
+# Switch to connection default and close connections testuser1,testuser2,testuser3
+DROP USER 'testuser1'@'localhost';
+DROP USER 'testuser2'@'localhost';
+DROP USER 'testuser3'@'localhost';
+USE test;
+DROP DATABASE db_datadict;
+DROP DATABASE db_datadict_2;
+#########################################################################
+# 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.ROUTINES modifications
+#########################################################################
+DROP DATABASE IF EXISTS db_datadict;
+CREATE DATABASE db_datadict;
+SELECT * FROM information_schema.routines WHERE routine_schema = 'db_datadict';
+SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
+USE db_datadict;
+CREATE PROCEDURE sp_for_routines() SELECT 'db_datadict';
+CREATE FUNCTION function_for_routines() RETURNS INT RETURN 0;
+SELECT * FROM information_schema.routines WHERE routine_schema = 'db_datadict'
+ORDER BY routine_name;
+SPECIFIC_NAME function_for_routines
+ROUTINE_CATALOG NULL
+ROUTINE_SCHEMA db_datadict
+ROUTINE_NAME function_for_routines
+ROUTINE_TYPE FUNCTION
+DTD_IDENTIFIER int(11)
+ROUTINE_BODY SQL
+ROUTINE_DEFINITION RETURN 0
+EXTERNAL_NAME NULL
+EXTERNAL_LANGUAGE NULL
+PARAMETER_STYLE SQL
+IS_DETERMINISTIC NO
+SQL_DATA_ACCESS CONTAINS SQL
+SQL_PATH NULL
+SECURITY_TYPE DEFINER
+CREATED <created>
+LAST_ALTERED <modified>
+SQL_MODE
+ROUTINE_COMMENT
+DEFINER root@localhost
+CHARACTER_SET_CLIENT latin1
+COLLATION_CONNECTION latin1_swedish_ci
+DATABASE_COLLATION latin1_swedish_ci
+SPECIFIC_NAME sp_for_routines
+ROUTINE_CATALOG NULL
+ROUTINE_SCHEMA db_datadict
+ROUTINE_NAME sp_for_routines
+ROUTINE_TYPE PROCEDURE
+DTD_IDENTIFIER NULL
+ROUTINE_BODY SQL
+ROUTINE_DEFINITION SELECT 'db_datadict'
+EXTERNAL_NAME NULL
+EXTERNAL_LANGUAGE NULL
+PARAMETER_STYLE SQL
+IS_DETERMINISTIC NO
+SQL_DATA_ACCESS CONTAINS SQL
+SQL_PATH NULL
+SECURITY_TYPE DEFINER
+CREATED <created>
+LAST_ALTERED <modified>
+SQL_MODE
+ROUTINE_COMMENT
+DEFINER root@localhost
+CHARACTER_SET_CLIENT latin1
+COLLATION_CONNECTION latin1_swedish_ci
+DATABASE_COLLATION latin1_swedish_ci
+ALTER PROCEDURE sp_for_routines SQL SECURITY INVOKER;
+ALTER FUNCTION function_for_routines COMMENT 'updated comments';
+SELECT * FROM information_schema.routines WHERE routine_schema = 'db_datadict'
+ORDER BY routine_name;
+SPECIFIC_NAME function_for_routines
+ROUTINE_CATALOG NULL
+ROUTINE_SCHEMA db_datadict
+ROUTINE_NAME function_for_routines
+ROUTINE_TYPE FUNCTION
+DTD_IDENTIFIER int(11)
+ROUTINE_BODY SQL
+ROUTINE_DEFINITION RETURN 0
+EXTERNAL_NAME NULL
+EXTERNAL_LANGUAGE NULL
+PARAMETER_STYLE SQL
+IS_DETERMINISTIC NO
+SQL_DATA_ACCESS CONTAINS SQL
+SQL_PATH NULL
+SECURITY_TYPE DEFINER
+CREATED <created>
+LAST_ALTERED <modified>
+SQL_MODE
+ROUTINE_COMMENT updated comments
+DEFINER root@localhost
+CHARACTER_SET_CLIENT latin1
+COLLATION_CONNECTION latin1_swedish_ci
+DATABASE_COLLATION latin1_swedish_ci
+SPECIFIC_NAME sp_for_routines
+ROUTINE_CATALOG NULL
+ROUTINE_SCHEMA db_datadict
+ROUTINE_NAME sp_for_routines
+ROUTINE_TYPE PROCEDURE
+DTD_IDENTIFIER NULL
+ROUTINE_BODY SQL
+ROUTINE_DEFINITION SELECT 'db_datadict'
+EXTERNAL_NAME NULL
+EXTERNAL_LANGUAGE NULL
+PARAMETER_STYLE SQL
+IS_DETERMINISTIC NO
+SQL_DATA_ACCESS CONTAINS SQL
+SQL_PATH NULL
+SECURITY_TYPE INVOKER
+CREATED <created>
+LAST_ALTERED <modified>
+SQL_MODE
+ROUTINE_COMMENT
+DEFINER root@localhost
+CHARACTER_SET_CLIENT latin1
+COLLATION_CONNECTION latin1_swedish_ci
+DATABASE_COLLATION latin1_swedish_ci
+DROP PROCEDURE sp_for_routines;
+DROP FUNCTION function_for_routines;
+SELECT * FROM information_schema.routines WHERE routine_schema = 'db_datadict';
+SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
+CREATE PROCEDURE sp_for_routines() SELECT 'db_datadict';
+CREATE FUNCTION function_for_routines() RETURNS INT RETURN 0;
+SELECT * FROM information_schema.routines WHERE routine_schema = 'db_datadict'
+ORDER BY routine_name;
+SPECIFIC_NAME function_for_routines
+ROUTINE_CATALOG NULL
+ROUTINE_SCHEMA db_datadict
+ROUTINE_NAME function_for_routines
+ROUTINE_TYPE FUNCTION
+DTD_IDENTIFIER int(11)
+ROUTINE_BODY SQL
+ROUTINE_DEFINITION RETURN 0
+EXTERNAL_NAME NULL
+EXTERNAL_LANGUAGE NULL
+PARAMETER_STYLE SQL
+IS_DETERMINISTIC NO
+SQL_DATA_ACCESS CONTAINS SQL
+SQL_PATH NULL
+SECURITY_TYPE DEFINER
+CREATED <created>
+LAST_ALTERED <modified>
+SQL_MODE
+ROUTINE_COMMENT
+DEFINER root@localhost
+CHARACTER_SET_CLIENT latin1
+COLLATION_CONNECTION latin1_swedish_ci
+DATABASE_COLLATION latin1_swedish_ci
+SPECIFIC_NAME sp_for_routines
+ROUTINE_CATALOG NULL
+ROUTINE_SCHEMA db_datadict
+ROUTINE_NAME sp_for_routines
+ROUTINE_TYPE PROCEDURE
+DTD_IDENTIFIER NULL
+ROUTINE_BODY SQL
+ROUTINE_DEFINITION SELECT 'db_datadict'
+EXTERNAL_NAME NULL
+EXTERNAL_LANGUAGE NULL
+PARAMETER_STYLE SQL
+IS_DETERMINISTIC NO
+SQL_DATA_ACCESS CONTAINS SQL
+SQL_PATH NULL
+SECURITY_TYPE DEFINER
+CREATED <created>
+LAST_ALTERED <modified>
+SQL_MODE
+ROUTINE_COMMENT
+DEFINER root@localhost
+CHARACTER_SET_CLIENT latin1
+COLLATION_CONNECTION latin1_swedish_ci
+DATABASE_COLLATION latin1_swedish_ci
+use test;
+DROP DATABASE db_datadict;
+SELECT * FROM information_schema.routines WHERE routine_schema = 'db_datadict';
+SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
+#########################################################################
+# 3.2.8.4: INFORMATION_SCHEMA.ROUTINES routine body too big for
+# ROUTINE_DEFINITION column
+#########################################################################
+DROP DATABASE IF EXISTS db_datadict;
+CREATE DATABASE db_datadict;
+USE db_datadict;
+CREATE TABLE db_datadict.res_6_408004_1
+(f1 LONGTEXT , f2 MEDIUMINT , f3 LONGBLOB , f4 REAL , f5 YEAR)
+ENGINE = <other_engine_type>;
+INSERT INTO db_datadict.res_6_408004_1
+VALUES ('abc', 98765 , 99999999 , 98765, 10);
+CREATE TABLE db_datadict.res_6_408004_2
+(f1 LONGTEXT , f2 MEDIUMINT , f3 LONGBLOB , f4 REAL , f5 YEAR)
+ENGINE = <other_engine_type>;
+INSERT INTO db_datadict.res_6_408004_2
+VALUES ('abc', 98765 , 99999999 , 98765, 10);
+# Checking the max. possible length of (currently) 4 GByte is not
+# in this environment here.
+CREATE PROCEDURE sp_6_408004 ()
+BEGIN
+DECLARE done INTEGER DEFAULt 0;
+DECLARE variable_number_1 LONGTEXT;
+DECLARE variable_number_2 MEDIUMINT;
+DECLARE variable_number_3 LONGBLOB;
+DECLARE variable_number_4 REAL;
+DECLARE variable_number_5 YEAR;
+DECLARE cursor_number_1 CURSOR FOR SELECT * FROM res_6_408004_1 LIMIT 0, 10;
+DECLARE cursor_number_2 CURSOR FOR SELECT * FROM res_6_408004_1 LIMIT 0, 10;
+DECLARE cursor_number_3 CURSOR FOR SELECT * FROM res_6_408004_1 LIMIT 0, 10;
+DECLARE cursor_number_4 CURSOR FOR SELECT * FROM res_6_408004_1 LIMIT 0, 10;
+DECLARE cursor_number_5 CURSOR FOR SELECT * FROM res_6_408004_1 LIMIT 0, 10;
+DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
+BEGIN
+OPEN cursor_number_1;
+WHILE done <> 1 DO
+FETCH cursor_number_1
+INTO variable_number_1, variable_number_2, variable_number_3,
+variable_number_4, variable_number_5;
+IF done <> 0 THEN
+INSERT INTO res_6_408004_2
+VALUES (variable_number_1, variable_number_2, variable_number_3,
+variable_number_4, variable_number_5);
+END IF;
+END WHILE;
+BEGIN
+BEGIN
+SET done = 0;
+OPEN cursor_number_2;
+WHILE done <> 1 DO
+FETCH cursor_number_2
+INTO variable_number_1, variable_number_2, variable_number_3,
+variable_number_4, variable_number_5;
+IF done <> 0 THEN
+INSERT INTO res_6_408004_2
+VALUES(variable_number_1, variable_number_2, variable_number_3,
+variable_number_4, variable_number_5);
+END IF;
+END WHILE;
+END;
+SET done = 0;
+OPEN cursor_number_3;
+WHILE done <> 1 DO
+FETCH cursor_number_3
+INTO variable_number_1, variable_number_2, variable_number_3,
+variable_number_4, variable_number_5;
+IF done <> 0 THEN
+INSERT INTO res_6_408004_2
+VALUES(variable_number_1, variable_number_2, variable_number_3,
+variable_number_4, variable_number_5);
+END IF;
+END WHILE;
+END;
+END;
+BEGIN
+SET done = 0;
+OPEN cursor_number_4;
+WHILE done <> 1 DO
+FETCH cursor_number_4
+INTO variable_number_1, variable_number_2, variable_number_3,
+variable_number_4, variable_number_5;
+IF done <> 0 THEN
+INSERT INTO res_6_408004_2
+VALUES (variable_number_1, variable_number_2, variable_number_3,
+variable_number_4, variable_number_5);
+END IF;
+END WHILE;
+END;
+BEGIN
+SET @a='test row';
+SELECT @a;
+SELECT @a;
+SELECT @a;
+END;
+BEGIN
+SET done = 0;
+OPEN cursor_number_5;
+WHILE done <> 1 DO
+FETCH cursor_number_5
+INTO variable_number_1, variable_number_2, variable_number_3,
+variable_number_4, variable_number_5;
+IF done <> 0 THEN
+INSERT INTO res_6_408004_2
+VALUES (variable_number_1, variable_number_2, variable_number_3,
+variable_number_4, variable_number_5);
+END IF;
+END WHILE;
+END;
+BEGIN
+SET @a='test row';
+SELECT @a;
+SELECT @a;
+SELECT @a;
+END;
+END//
+CALL db_datadict.sp_6_408004 ();
+@a
+test row
+@a
+test row
+@a
+test row
+@a
+test row
+@a
+test row
+@a
+test row
+SELECT * FROM db_datadict.res_6_408004_2;
+f1 f2 f3 f4 f5
+abc 98765 99999999 98765 2010
+abc 98765 99999999 98765 2010
+abc 98765 99999999 98765 2010
+abc 98765 99999999 98765 2010
+abc 98765 99999999 98765 2010
+abc 98765 99999999 98765 2010
+SELECT *, LENGTH(routine_definition) FROM information_schema.routines
+WHERE routine_schema = 'db_datadict';
+SPECIFIC_NAME sp_6_408004
+ROUTINE_CATALOG NULL
+ROUTINE_SCHEMA db_datadict
+ROUTINE_NAME sp_6_408004
+ROUTINE_TYPE PROCEDURE
+DTD_IDENTIFIER NULL
+ROUTINE_BODY SQL
+ROUTINE_DEFINITION BEGIN
+DECLARE done INTEGER DEFAULt 0;
+DECLARE variable_number_1 LONGTEXT;
+DECLARE variable_number_2 MEDIUMINT;
+DECLARE variable_number_3 LONGBLOB;
+DECLARE variable_number_4 REAL;
+DECLARE variable_number_5 YEAR;
+DECLARE cursor_number_1 CURSOR FOR SELECT * FROM res_6_408004_1 LIMIT 0, 10;
+DECLARE cursor_number_2 CURSOR FOR SELECT * FROM res_6_408004_1 LIMIT 0, 10;
+DECLARE cursor_number_3 CURSOR FOR SELECT * FROM res_6_408004_1 LIMIT 0, 10;
+DECLARE cursor_number_4 CURSOR FOR SELECT * FROM res_6_408004_1 LIMIT 0, 10;
+DECLARE cursor_number_5 CURSOR FOR SELECT * FROM res_6_408004_1 LIMIT 0, 10;
+DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
+BEGIN
+OPEN cursor_number_1;
+WHILE done <> 1 DO
+FETCH cursor_number_1
+INTO variable_number_1, variable_number_2, variable_number_3,
+variable_number_4, variable_number_5;
+IF done <> 0 THEN
+INSERT INTO res_6_408004_2
+VALUES (variable_number_1, variable_number_2, variable_number_3,
+variable_number_4, variable_number_5);
+END IF;
+END WHILE;
+BEGIN
+BEGIN
+SET done = 0;
+OPEN cursor_number_2;
+WHILE done <> 1 DO
+FETCH cursor_number_2
+INTO variable_number_1, variable_number_2, variable_number_3,
+variable_number_4, variable_number_5;
+IF done <> 0 THEN
+INSERT INTO res_6_408004_2
+VALUES(variable_number_1, variable_number_2, variable_number_3,
+variable_number_4, variable_number_5);
+END IF;
+END WHILE;
+END;
+SET done = 0;
+OPEN cursor_number_3;
+WHILE done <> 1 DO
+FETCH cursor_number_3
+INTO variable_number_1, variable_number_2, variable_number_3,
+variable_number_4, variable_number_5;
+IF done <> 0 THEN
+INSERT INTO res_6_408004_2
+VALUES(variable_number_1, variable_number_2, variable_number_3,
+variable_number_4, variable_number_5);
+END IF;
+END WHILE;
+END;
+END;
+BEGIN
+SET done = 0;
+OPEN cursor_number_4;
+WHILE done <> 1 DO
+FETCH cursor_number_4
+INTO variable_number_1, variable_number_2, variable_number_3,
+variable_number_4, variable_number_5;
+IF done <> 0 THEN
+INSERT INTO res_6_408004_2
+VALUES (variable_number_1, variable_number_2, variable_number_3,
+variable_number_4, variable_number_5);
+END IF;
+END WHILE;
+END;
+BEGIN
+SET @a='test row';
+SELECT @a;
+SELECT @a;
+SELECT @a;
+END;
+BEGIN
+SET done = 0;
+OPEN cursor_number_5;
+WHILE done <> 1 DO
+FETCH cursor_number_5
+INTO variable_number_1, variable_number_2, variable_number_3,
+variable_number_4, variable_number_5;
+IF done <> 0 THEN
+INSERT INTO res_6_408004_2
+VALUES (variable_number_1, variable_number_2, variable_number_3,
+variable_number_4, variable_number_5);
+END IF;
+END WHILE;
+END;
+BEGIN
+SET @a='test row';
+SELECT @a;
+SELECT @a;
+SELECT @a;
+END;
+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 YYYY-MM-DD hh:mm:ss
+LAST_ALTERED YYYY-MM-DD hh:mm:ss
+SQL_MODE
+ROUTINE_COMMENT
+DEFINER root@localhost
+CHARACTER_SET_CLIENT latin1
+COLLATION_CONNECTION latin1_swedish_ci
+DATABASE_COLLATION latin1_swedish_ci
+LENGTH(routine_definition) 2549
+DROP DATABASE db_datadict;
+########################################################################
+# Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and
+# DDL on INFORMATION_SCHEMA table are not supported
+########################################################################
+DROP DATABASE IF EXISTS db_datadict;
+CREATE DATABASE db_datadict;
+USE db_datadict;
+CREATE PROCEDURE sp_for_routines() SELECT 'db_datadict';
+USE test;
+INSERT INTO information_schema.routines (routine_name, routine_type )
+VALUES ('p2', 'procedure');
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+UPDATE information_schema.routines SET routine_name = 'p2'
+WHERE routine_body = 'sql';
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DELETE FROM information_schema.routines ;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+TRUNCATE information_schema.routines ;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+CREATE INDEX i7 ON information_schema.routines (routine_name);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.routines ADD f1 INT;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.routines DISCARD TABLESPACE;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DROP TABLE information_schema.routines ;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.routines RENAME db_datadict.routines;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.routines RENAME information_schema.xroutines;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DROP DATABASE db_datadict;
diff --git a/mysql-test/suite/funcs_1/r/is_schema_privileges.result b/mysql-test/suite/funcs_1/r/is_schema_privileges.result
new file mode 100644
index 00000000000..64cc887f18f
--- /dev/null
+++ b/mysql-test/suite/funcs_1/r/is_schema_privileges.result
@@ -0,0 +1,304 @@
+SHOW TABLES FROM information_schema LIKE 'SCHEMA_PRIVILEGES';
+Tables_in_information_schema (SCHEMA_PRIVILEGES)
+SCHEMA_PRIVILEGES
+#######################################################################
+# Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT
+#######################################################################
+DROP VIEW IF EXISTS test.v1;
+DROP PROCEDURE IF EXISTS test.p1;
+DROP FUNCTION IF EXISTS test.f1;
+CREATE VIEW test.v1 AS SELECT * FROM information_schema.SCHEMA_PRIVILEGES;
+CREATE PROCEDURE test.p1() SELECT * FROM information_schema.SCHEMA_PRIVILEGES;
+CREATE FUNCTION test.f1() returns BIGINT
+BEGIN
+DECLARE counter BIGINT DEFAULT NULL;
+SELECT COUNT(*) INTO counter FROM information_schema.SCHEMA_PRIVILEGES;
+RETURN counter;
+END//
+# Attention: The printing of the next result sets is disabled.
+SELECT * FROM information_schema.SCHEMA_PRIVILEGES;
+SELECT * FROM test.v1;
+CALL test.p1;
+SELECT test.f1();
+DROP VIEW test.v1;
+DROP PROCEDURE test.p1;
+DROP FUNCTION test.f1;
+#########################################################################
+# Testcase 3.2.15.1: INFORMATION_SCHEMA.SCHEMA_PRIVILEGES layout
+#########################################################################
+DESCRIBE information_schema.SCHEMA_PRIVILEGES;
+Field Type Null Key Default Extra
+GRANTEE varchar(81) NO
+TABLE_CATALOG varchar(512) YES NULL
+TABLE_SCHEMA varchar(64) NO
+PRIVILEGE_TYPE varchar(64) NO
+IS_GRANTABLE varchar(3) NO
+SHOW CREATE TABLE information_schema.SCHEMA_PRIVILEGES;
+Table Create Table
+SCHEMA_PRIVILEGES CREATE TEMPORARY TABLE `SCHEMA_PRIVILEGES` (
+ `GRANTEE` varchar(81) NOT NULL DEFAULT '',
+ `TABLE_CATALOG` varchar(512) DEFAULT NULL,
+ `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
+ `PRIVILEGE_TYPE` varchar(64) NOT NULL DEFAULT '',
+ `IS_GRANTABLE` varchar(3) NOT NULL DEFAULT ''
+) ENGINE=MEMORY DEFAULT CHARSET=utf8
+SHOW COLUMNS FROM information_schema.SCHEMA_PRIVILEGES;
+Field Type Null Key Default Extra
+GRANTEE varchar(81) NO
+TABLE_CATALOG varchar(512) YES NULL
+TABLE_SCHEMA varchar(64) NO
+PRIVILEGE_TYPE varchar(64) NO
+IS_GRANTABLE varchar(3) NO
+SELECT GRANTEE, TABLE_CATALOG, TABLE_SCHEMA, PRIVILEGE_TYPE
+FROM information_schema.schema_privileges WHERE table_catalog IS NOT NULL;
+GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE
+###############################################################################
+# Testcase 3.2.15.2-3.2.15.4 INFORMATION_SCHEMA.SCHEMA_PRIVILEGES accessibility
+###############################################################################
+DROP DATABASE IF EXISTS db_datadict_1;
+DROP DATABASE IF EXISTS db_datadict_2;
+DROP DATABASE IF EXISTS db_datadict_3;
+CREATE DATABASE db_datadict_1;
+CREATE DATABASE db_datadict_2;
+CREATE DATABASE db_datadict_3;
+CREATE TABLE db_datadict_2.t1(f1 INT, f2 INT, f3 INT)
+ENGINE = MEMORY;
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+DROP USER 'testuser2'@'localhost';
+CREATE USER 'testuser2'@'localhost';
+GRANT INSERT ON db_datadict_1.* TO 'testuser1'@'localhost';
+GRANT INSERT ON db_datadict_2.t1 TO 'testuser1'@'localhost';
+GRANT SELECT ON db_datadict_4.* TO 'testuser1'@'localhost' WITH GRANT OPTION;
+GRANT SELECT ON db_datadict_3.* TO 'testuser2'@'localhost';
+GRANT SELECT ON db_datadict_1.* TO 'testuser2'@'localhost';
+# Establish connection testuser1 (user=testuser1)
+GRANT SELECT ON db_datadict_4.* TO 'testuser2'@'localhost';
+# Root granted INSERT db_datadict_1 to me -> visible
+# Root granted SELECT db_datadict_1 to testuser2 -> invisible
+# Root granted INSERT db_datadict_2.t1 (no schema-level priv!)
+# but not db_datadict_2 to me -> invisible
+# Root granted SELECT db_datadict_3. to testuser2 but not to me -> invisible
+# Root granted SELECT db_datadict_4. to me -> visible
+# I granted SELECT db_datadict_4. to testuser2 -> invisible (reality), visible(requirement)
+# FIXME
+SELECT * FROM information_schema.schema_privileges
+WHERE table_schema LIKE 'db_datadict%'
+ORDER BY grantee,table_schema,privilege_type;
+GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
+'testuser1'@'localhost' NULL db_datadict_1 INSERT NO
+'testuser1'@'localhost' NULL db_datadict_4 SELECT YES
+SHOW GRANTS FOR 'testuser1'@'localhost';
+Grants for testuser1@localhost
+GRANT USAGE ON *.* TO 'testuser1'@'localhost'
+GRANT INSERT ON `db_datadict_1`.* TO 'testuser1'@'localhost'
+GRANT SELECT ON `db_datadict_4`.* TO 'testuser1'@'localhost' WITH GRANT OPTION
+GRANT INSERT ON `db_datadict_2`.`t1` TO 'testuser1'@'localhost'
+SHOW GRANTS FOR 'testuser2'@'localhost';
+ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'mysql'
+# Establish connection testuser2 (user=testuser2)
+# Root granted SELECT db_datadict_1 to me -> visible
+# Root granted INSERT db_datadict_1 to testuser1 -> invisible
+# Root granted INSERT db_datadict_2.t1 but not db_datadict_1 to testuser1 -> invisible
+# Root granted SELECT db_datadict_3. to me -> visible
+# testuser1 granted SELECT db_datadict_4. to me -> visible
+SELECT * FROM information_schema.schema_privileges
+WHERE table_schema LIKE 'db_datadict%'
+ORDER BY grantee,table_schema,privilege_type;
+GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
+'testuser2'@'localhost' NULL db_datadict_1 SELECT NO
+'testuser2'@'localhost' NULL db_datadict_3 SELECT NO
+'testuser2'@'localhost' NULL db_datadict_4 SELECT NO
+SHOW GRANTS FOR 'testuser1'@'localhost';
+ERROR 42000: Access denied for user 'testuser2'@'localhost' to database 'mysql'
+SHOW GRANTS FOR 'testuser2'@'localhost';
+Grants for testuser2@localhost
+GRANT USAGE ON *.* TO 'testuser2'@'localhost'
+GRANT SELECT ON `db_datadict_3`.* TO 'testuser2'@'localhost'
+GRANT SELECT ON `db_datadict_1`.* TO 'testuser2'@'localhost'
+GRANT SELECT ON `db_datadict_4`.* TO 'testuser2'@'localhost'
+# Switch to connection default and close connections testuser1 and testuser2
+SELECT * FROM information_schema.schema_privileges
+WHERE table_schema LIKE 'db_datadict%'
+ORDER BY grantee,table_schema,privilege_type;
+GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
+'testuser1'@'localhost' NULL db_datadict_1 INSERT NO
+'testuser1'@'localhost' NULL db_datadict_4 SELECT YES
+'testuser2'@'localhost' NULL db_datadict_1 SELECT NO
+'testuser2'@'localhost' NULL db_datadict_3 SELECT NO
+'testuser2'@'localhost' NULL db_datadict_4 SELECT NO
+SHOW GRANTS FOR 'testuser1'@'localhost';
+Grants for testuser1@localhost
+GRANT USAGE ON *.* TO 'testuser1'@'localhost'
+GRANT INSERT ON `db_datadict_1`.* TO 'testuser1'@'localhost'
+GRANT SELECT ON `db_datadict_4`.* TO 'testuser1'@'localhost' WITH GRANT OPTION
+GRANT INSERT ON `db_datadict_2`.`t1` TO 'testuser1'@'localhost'
+SHOW GRANTS FOR 'testuser2'@'localhost';
+Grants for testuser2@localhost
+GRANT USAGE ON *.* TO 'testuser2'@'localhost'
+GRANT SELECT ON `db_datadict_3`.* TO 'testuser2'@'localhost'
+GRANT SELECT ON `db_datadict_1`.* TO 'testuser2'@'localhost'
+GRANT SELECT ON `db_datadict_4`.* TO 'testuser2'@'localhost'
+DROP USER 'testuser1'@'localhost';
+DROP USER 'testuser2'@'localhost';
+DROP DATABASE db_datadict_1;
+DROP DATABASE db_datadict_2;
+DROP DATABASE db_datadict_3;
+################################################################################
+# 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.SCHEMA_PRIVILEGES modifications
+################################################################################
+DROP DATABASE IF EXISTS db_datadict;
+CREATE DATABASE db_datadict;
+DROP USER 'the_user'@'localhost';
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+GRANT SELECT ON test.* TO 'testuser1'@'localhost';
+SELECT * FROM information_schema.schema_privileges
+WHERE table_schema = 'db_datadict'
+ORDER BY grantee,table_schema,privilege_type;
+GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
+# Establish connection testuser1 (user=testuser1)
+SELECT * FROM information_schema.schema_privileges
+WHERE table_schema = 'db_datadict'
+ORDER BY grantee,table_schema,privilege_type;
+GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
+# Switch to connection default
+GRANT UPDATE ON db_datadict.* TO 'testuser1'@'localhost';
+SELECT * FROM information_schema.schema_privileges
+WHERE table_schema = 'db_datadict'
+ORDER BY grantee,table_schema,privilege_type;
+GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
+'testuser1'@'localhost' NULL db_datadict UPDATE NO
+# Switch to connection testuser1
+SELECT * FROM information_schema.schema_privileges
+WHERE table_schema = 'db_datadict'
+ORDER BY grantee,table_schema,privilege_type;
+GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
+'testuser1'@'localhost' NULL db_datadict UPDATE NO
+# Switch to connection default
+GRANT SELECT ON db_datadict.* TO 'testuser1'@'localhost';
+SELECT * FROM information_schema.schema_privileges
+WHERE table_schema = 'db_datadict'
+ORDER BY grantee,table_schema,privilege_type;
+GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
+'testuser1'@'localhost' NULL db_datadict SELECT NO
+'testuser1'@'localhost' NULL db_datadict UPDATE NO
+# Switch to connection testuser1
+SELECT * FROM information_schema.schema_privileges
+WHERE table_schema = 'db_datadict'
+ORDER BY grantee,table_schema,privilege_type;
+GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
+'testuser1'@'localhost' NULL db_datadict SELECT NO
+'testuser1'@'localhost' NULL db_datadict UPDATE NO
+# Switch to connection default
+GRANT SELECT ON db_datadict.* TO 'testuser1'@'localhost' WITH GRANT OPTION;
+SELECT * FROM information_schema.schema_privileges
+WHERE table_schema = 'db_datadict'
+ORDER BY grantee,table_schema,privilege_type;
+GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
+'testuser1'@'localhost' NULL db_datadict SELECT YES
+'testuser1'@'localhost' NULL db_datadict UPDATE YES
+# Switch to connection testuser1
+SELECT * FROM information_schema.schema_privileges
+WHERE table_schema = 'db_datadict'
+ORDER BY grantee,table_schema,privilege_type;
+GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
+'testuser1'@'localhost' NULL db_datadict SELECT YES
+'testuser1'@'localhost' NULL db_datadict UPDATE YES
+# Switch to connection default
+DROP SCHEMA db_datadict;
+SELECT * FROM information_schema.schema_privileges
+WHERE table_schema = 'db_datadict'
+ORDER BY grantee,table_schema,privilege_type;
+GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
+'testuser1'@'localhost' NULL db_datadict SELECT YES
+'testuser1'@'localhost' NULL db_datadict UPDATE YES
+# Switch to connection testuser1
+SELECT * FROM information_schema.schema_privileges
+WHERE table_schema = 'db_datadict'
+ORDER BY grantee,table_schema,privilege_type;
+GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
+'testuser1'@'localhost' NULL db_datadict SELECT YES
+'testuser1'@'localhost' NULL db_datadict UPDATE YES
+# Switch to connection default
+REVOKE UPDATE ON db_datadict.* FROM 'testuser1'@'localhost';
+SELECT * FROM information_schema.schema_privileges
+WHERE table_schema = 'db_datadict'
+ORDER BY grantee,table_schema,privilege_type;
+GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
+'testuser1'@'localhost' NULL db_datadict SELECT YES
+# Switch to connection testuser1
+SELECT * FROM information_schema.schema_privileges
+WHERE table_schema = 'db_datadict'
+ORDER BY grantee,table_schema,privilege_type;
+GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
+'testuser1'@'localhost' NULL db_datadict SELECT YES
+# Switch to connection default
+RENAME USER 'testuser1'@'localhost' TO 'the_user'@'localhost';
+SELECT * FROM information_schema.schema_privileges
+WHERE table_schema = 'db_datadict'
+ORDER BY grantee,table_schema,privilege_type;
+GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
+'the_user'@'localhost' NULL db_datadict SELECT YES
+# Switch to connection testuser1
+SELECT * FROM information_schema.schema_privileges
+WHERE table_schema = 'db_datadict'
+ORDER BY grantee,table_schema,privilege_type;
+GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
+'the_user'@'localhost' NULL db_datadict SELECT YES
+# Close connection testuser1
+# Establish connection the_user (user=the_user)
+SELECT * FROM information_schema.schema_privileges
+WHERE table_schema = 'db_datadict'
+ORDER BY grantee,table_schema,privilege_type;
+GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
+'the_user'@'localhost' NULL db_datadict SELECT YES
+# Close connection the_user
+# Switch to connection default
+SELECT * FROM information_schema.schema_privileges
+WHERE table_schema = 'db_datadict'
+ORDER BY grantee,table_schema,privilege_type;
+GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
+'the_user'@'localhost' NULL db_datadict SELECT YES
+DROP USER 'the_user'@'localhost';
+SELECT * FROM information_schema.schema_privileges
+WHERE table_schema = 'db_datadict'
+ORDER BY grantee,table_schema,privilege_type;
+GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
+########################################################################
+# Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and
+# DDL on INFORMATION_SCHEMA table are not supported
+########################################################################
+DROP DATABASE IF EXISTS db_datadict;
+CREATE DATABASE db_datadict;
+CREATE TABLE db_datadict.t1 (f1 BIGINT, f2 BIGINT)
+ENGINE = <engine_type>;
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+GRANT SELECT ON db_datadict.* TO 'testuser1'@'localhost';
+INSERT INTO information_schema.schema_privileges
+SELECT * FROM information_schema.schema_privileges;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+UPDATE information_schema.schema_privileges SET table_schema = 'test'
+WHERE table_name = 't1';
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DELETE FROM information_schema.schema_privileges
+WHERE table_schema = 'db_datadict';
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+TRUNCATE information_schema.schema_privileges;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+CREATE INDEX my_idx_on_tables
+ON information_schema.schema_privileges(table_schema);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.schema_privileges ADD f1 INT;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DROP TABLE information_schema.schema_privileges;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.schema_privileges
+RENAME db_datadict.schema_privileges;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.schema_privileges
+RENAME information_schema.xschema_privileges;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DROP DATABASE db_datadict;
+DROP USER 'testuser1'@'localhost';
diff --git a/mysql-test/suite/funcs_1/r/is_schema_privileges_is_mysql_test.result b/mysql-test/suite/funcs_1/r/is_schema_privileges_is_mysql_test.result
new file mode 100644
index 00000000000..9e2a835d45b
--- /dev/null
+++ b/mysql-test/suite/funcs_1/r/is_schema_privileges_is_mysql_test.result
@@ -0,0 +1,53 @@
+##############################################################################
+# Testcases 3.2.9.2+3.2.9.3 INFORMATION_SCHEMA.SCHEMATA accessible information
+##############################################################################
+DROP DATABASE IF EXISTS db_datadict;
+CREATE DATABASE db_datadict;
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+GRANT SELECT ON db_datadict.* TO 'testuser1'@'localhost';
+SELECT * FROM information_schema.schema_privileges
+WHERE table_schema IN ('information_schema','mysql','test')
+ORDER BY grantee, table_schema, privilege_type;
+GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
+''@'%' NULL test ALTER NO
+''@'%' NULL test CREATE NO
+''@'%' NULL test CREATE ROUTINE NO
+''@'%' NULL test CREATE TEMPORARY TABLES NO
+''@'%' NULL test CREATE VIEW NO
+''@'%' NULL test DELETE NO
+''@'%' NULL test DROP NO
+''@'%' NULL test EVENT NO
+''@'%' NULL test INDEX NO
+''@'%' NULL test INSERT NO
+''@'%' NULL test LOCK TABLES NO
+''@'%' NULL test REFERENCES NO
+''@'%' NULL test SELECT NO
+''@'%' NULL test SHOW VIEW NO
+''@'%' NULL test TRIGGER NO
+''@'%' NULL test UPDATE NO
+SHOW DATABASES LIKE 'information_schema';
+Database (information_schema)
+information_schema
+SHOW DATABASES LIKE 'mysql';
+Database (mysql)
+mysql
+SHOW DATABASES LIKE 'test';
+Database (test)
+test
+# Establish connection testuser1 (user=testuser1)
+SELECT * FROM information_schema.schema_privileges
+WHERE table_schema IN ('information_schema','mysql','test')
+ORDER BY grantee, table_schema, privilege_type;
+GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
+SHOW DATABASES LIKE 'information_schema';
+Database (information_schema)
+information_schema
+SHOW DATABASES LIKE 'mysql';
+Database (mysql)
+SHOW DATABASES LIKE 'test';
+Database (test)
+test
+# 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_schemata.result b/mysql-test/suite/funcs_1/r/is_schemata.result
new file mode 100644
index 00000000000..33ab912efce
--- /dev/null
+++ b/mysql-test/suite/funcs_1/r/is_schemata.result
@@ -0,0 +1,181 @@
+SHOW TABLES FROM information_schema LIKE 'SCHEMATA';
+Tables_in_information_schema (SCHEMATA)
+SCHEMATA
+#######################################################################
+# Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT
+#######################################################################
+DROP VIEW IF EXISTS test.v1;
+DROP PROCEDURE IF EXISTS test.p1;
+DROP FUNCTION IF EXISTS test.f1;
+CREATE VIEW test.v1 AS SELECT * FROM information_schema.SCHEMATA;
+CREATE PROCEDURE test.p1() SELECT * FROM information_schema.SCHEMATA;
+CREATE FUNCTION test.f1() returns BIGINT
+BEGIN
+DECLARE counter BIGINT DEFAULT NULL;
+SELECT COUNT(*) INTO counter FROM information_schema.SCHEMATA;
+RETURN counter;
+END//
+# Attention: The printing of the next result sets is disabled.
+SELECT * FROM information_schema.SCHEMATA;
+SELECT * FROM test.v1;
+CALL test.p1;
+SELECT test.f1();
+DROP VIEW test.v1;
+DROP PROCEDURE test.p1;
+DROP FUNCTION test.f1;
+#########################################################################
+# Testcase 3.2.9.1: INFORMATION_SCHEMA.SCHEMATA layout;
+#########################################################################
+DESCRIBE information_schema.SCHEMATA;
+Field Type Null Key Default Extra
+CATALOG_NAME varchar(512) YES NULL
+SCHEMA_NAME varchar(64) NO
+DEFAULT_CHARACTER_SET_NAME varchar(64) NO
+DEFAULT_COLLATION_NAME varchar(64) NO
+SQL_PATH varchar(512) YES NULL
+SHOW CREATE TABLE information_schema.SCHEMATA;
+Table Create Table
+SCHEMATA CREATE TEMPORARY TABLE `SCHEMATA` (
+ `CATALOG_NAME` varchar(512) DEFAULT NULL,
+ `SCHEMA_NAME` varchar(64) NOT NULL DEFAULT '',
+ `DEFAULT_CHARACTER_SET_NAME` varchar(64) NOT NULL DEFAULT '',
+ `DEFAULT_COLLATION_NAME` varchar(64) NOT NULL DEFAULT '',
+ `SQL_PATH` varchar(512) DEFAULT NULL
+) ENGINE=MEMORY DEFAULT CHARSET=utf8
+SHOW COLUMNS FROM information_schema.SCHEMATA;
+Field Type Null Key Default Extra
+CATALOG_NAME varchar(512) YES NULL
+SCHEMA_NAME varchar(64) NO
+DEFAULT_CHARACTER_SET_NAME varchar(64) NO
+DEFAULT_COLLATION_NAME varchar(64) NO
+SQL_PATH varchar(512) YES NULL
+SELECT catalog_name, schema_name, sql_path
+FROM information_schema.schemata
+WHERE catalog_name IS NOT NULL or sql_path IS NOT NULL;
+catalog_name schema_name sql_path
+###############################################################################
+# Testcases 3.2.9.2+3.2.9.3: INFORMATION_SCHEMA.SCHEMATA accessible information
+###############################################################################
+DROP DATABASE IF EXISTS db_datadict_1;
+DROP DATABASE IF EXISTS db_datadict_2;
+CREATE DATABASE db_datadict_1;
+CREATE DATABASE db_datadict_2;
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+DROP USER 'testuser2'@'localhost';
+CREATE USER 'testuser2'@'localhost';
+DROP USER 'testuser3'@'localhost';
+CREATE USER 'testuser3'@'localhost';
+GRANT SELECT ON db_datadict_1.* to 'testuser1'@'localhost';
+GRANT SELECT ON db_datadict_1.* to 'testuser2'@'localhost';
+GRANT SELECT ON db_datadict_2.* to 'testuser2'@'localhost';
+SELECT * FROM information_schema.schemata
+WHERE schema_name LIKE 'db_datadict_%' ORDER BY schema_name;
+CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
+NULL db_datadict_1 latin1 latin1_swedish_ci NULL
+NULL db_datadict_2 latin1 latin1_swedish_ci NULL
+SHOW DATABASES LIKE 'db_datadict_%';
+Database (db_datadict_%)
+db_datadict_1
+db_datadict_2
+# Establish connection testuser1 (user=testuser1)
+SELECT * FROM information_schema.schemata
+WHERE schema_name LIKE 'db_datadict_%' ORDER BY schema_name;
+CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
+NULL db_datadict_1 latin1 latin1_swedish_ci NULL
+SHOW DATABASES LIKE 'db_datadict_%';
+Database (db_datadict_%)
+db_datadict_1
+# Establish connection testuser2 (user=testuser2)
+SELECT * FROM information_schema.schemata
+WHERE schema_name LIKE 'db_datadict_%' ORDER BY schema_name;
+CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
+NULL db_datadict_1 latin1 latin1_swedish_ci NULL
+NULL db_datadict_2 latin1 latin1_swedish_ci NULL
+SHOW DATABASES LIKE 'db_datadict_%';
+Database (db_datadict_%)
+db_datadict_1
+db_datadict_2
+# Establish connection testuser3 (user=testuser3)
+SELECT * FROM information_schema.schemata
+WHERE schema_name LIKE 'db_datadict_%' ORDER BY schema_name;
+CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
+SHOW DATABASES LIKE 'db_datadict_%';
+Database (db_datadict_%)
+# Switch to connection default and close connections testuser1,testuser2,testuser3
+DROP USER 'testuser1'@'localhost';
+DROP USER 'testuser2'@'localhost';
+DROP USER 'testuser3'@'localhost';
+DROP DATABASE db_datadict_1;
+DROP DATABASE db_datadict_2;
+#################################################################################
+# Testcases 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.SCHEMATA modifications
+#################################################################################
+DROP DATABASE IF EXISTS db_datadict;
+SELECT * FROM information_schema.schemata WHERE schema_name = 'db_datadict';
+CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
+CREATE DATABASE db_datadict CHARACTER SET 'latin1' COLLATE 'latin1_swedish_ci';
+SELECT * FROM information_schema.schemata WHERE schema_name = 'db_datadict';
+CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
+NULL db_datadict latin1 latin1_swedish_ci NULL
+SELECT schema_name, default_character_set_name
+FROM information_schema.schemata WHERE schema_name = 'db_datadict';
+schema_name default_character_set_name
+db_datadict latin1
+ALTER SCHEMA db_datadict CHARACTER SET 'utf8';
+SELECT schema_name, default_character_set_name
+FROM information_schema.schemata WHERE schema_name = 'db_datadict';
+schema_name default_character_set_name
+db_datadict utf8
+ALTER SCHEMA db_datadict CHARACTER SET 'latin1';
+SELECT schema_name, default_collation_name FROM information_schema.schemata
+WHERE schema_name = 'db_datadict';
+schema_name default_collation_name
+db_datadict latin1_swedish_ci
+ALTER SCHEMA db_datadict COLLATE 'latin1_general_cs';
+SELECT schema_name, default_collation_name FROM information_schema.schemata
+WHERE schema_name = 'db_datadict';
+schema_name default_collation_name
+db_datadict latin1_general_cs
+SELECT schema_name
+FROM information_schema.schemata WHERE schema_name = 'db_datadict';
+schema_name
+db_datadict
+DROP DATABASE db_datadict;
+SELECT schema_name
+FROM information_schema.schemata WHERE schema_name = 'db_datadict';
+schema_name
+########################################################################
+# Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and
+# DDL on INFORMATION_SCHEMA tables are not supported
+########################################################################
+DROP DATABASE IF EXISTS db_datadict;
+CREATE DATABASE db_datadict CHARACTER SET 'latin1' COLLATE 'latin1_swedish_ci';
+INSERT INTO information_schema.schemata
+(catalog_name, schema_name, default_character_set_name, sql_path)
+VALUES (NULL, 'db1', 'latin1', NULL);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+INSERT INTO information_schema.schemata
+SELECT * FROM information_schema.schemata;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+UPDATE information_schema.schemata
+SET default_character_set_name = 'utf8'
+WHERE schema_name = 'db_datadict';
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+UPDATE information_schema.schemata SET catalog_name = 't_4711';
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DELETE FROM information_schema.schemata WHERE schema_name = 'db_datadict';
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+TRUNCATE information_schema.schemata;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+CREATE INDEX i1 ON information_schema.schemata(schema_name);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.schemata ADD f1 INT;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DROP TABLE information_schema.schemata;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.schemata RENAME db_datadict.schemata;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.schemata RENAME information_schema.xschemata;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DROP DATABASE db_datadict;
diff --git a/mysql-test/suite/funcs_1/r/is_schemata_is_mysql_test.result b/mysql-test/suite/funcs_1/r/is_schemata_is_mysql_test.result
new file mode 100644
index 00000000000..05ea3a79aa3
--- /dev/null
+++ b/mysql-test/suite/funcs_1/r/is_schemata_is_mysql_test.result
@@ -0,0 +1,42 @@
+#################################################################################
+# Testcases 3.2.9.2 + 3.2.9.3: INFORMATION_SCHEMA.SCHEMATA accessible information
+#################################################################################
+DROP DATABASE IF EXISTS db_datadict;
+CREATE DATABASE db_datadict;
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+GRANT SELECT ON db_datadict.* TO 'testuser1'@'localhost';
+SELECT * FROM information_schema.schemata
+WHERE schema_name IN ('information_schema','mysql','test')
+ORDER BY schema_name;
+CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
+NULL information_schema utf8 utf8_general_ci NULL
+NULL mysql latin1 latin1_swedish_ci NULL
+NULL test latin1 latin1_swedish_ci NULL
+SHOW DATABASES LIKE 'information_schema';
+Database (information_schema)
+information_schema
+SHOW DATABASES LIKE 'mysql';
+Database (mysql)
+mysql
+SHOW DATABASES LIKE 'test';
+Database (test)
+test
+# Establish connection testuser1 (user=testuser1)
+SELECT * FROM information_schema.schemata
+WHERE schema_name IN ('information_schema','mysql','test')
+ORDER BY schema_name;
+CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
+NULL information_schema utf8 utf8_general_ci NULL
+NULL test latin1 latin1_swedish_ci NULL
+SHOW DATABASES LIKE 'information_schema';
+Database (information_schema)
+information_schema
+SHOW DATABASES LIKE 'mysql';
+Database (mysql)
+SHOW DATABASES LIKE 'test';
+Database (test)
+test
+# 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_statistics.result b/mysql-test/suite/funcs_1/r/is_statistics.result
new file mode 100644
index 00000000000..989fd9dc4e6
--- /dev/null
+++ b/mysql-test/suite/funcs_1/r/is_statistics.result
@@ -0,0 +1,352 @@
+SHOW TABLES FROM information_schema LIKE 'STATISTICS';
+Tables_in_information_schema (STATISTICS)
+STATISTICS
+#######################################################################
+# Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT
+#######################################################################
+DROP VIEW IF EXISTS test.v1;
+DROP PROCEDURE IF EXISTS test.p1;
+DROP FUNCTION IF EXISTS test.f1;
+CREATE VIEW test.v1 AS SELECT * FROM information_schema.STATISTICS;
+CREATE PROCEDURE test.p1() SELECT * FROM information_schema.STATISTICS;
+CREATE FUNCTION test.f1() returns BIGINT
+BEGIN
+DECLARE counter BIGINT DEFAULT NULL;
+SELECT COUNT(*) INTO counter FROM information_schema.STATISTICS;
+RETURN counter;
+END//
+# Attention: The printing of the next result sets is disabled.
+SELECT * FROM information_schema.STATISTICS;
+SELECT * FROM test.v1;
+CALL test.p1;
+SELECT test.f1();
+DROP VIEW test.v1;
+DROP PROCEDURE test.p1;
+DROP FUNCTION test.f1;
+#########################################################################
+# Testcase 3.2.14.1: INFORMATION_SCHEMA.STATISTICS layout
+#########################################################################
+DESCRIBE information_schema.STATISTICS;
+Field Type Null Key Default Extra
+TABLE_CATALOG varchar(512) YES NULL
+TABLE_SCHEMA varchar(64) NO
+TABLE_NAME varchar(64) NO
+NON_UNIQUE bigint(1) NO 0
+INDEX_SCHEMA varchar(64) NO
+INDEX_NAME varchar(64) NO
+SEQ_IN_INDEX bigint(2) NO 0
+COLUMN_NAME varchar(64) NO
+COLLATION varchar(1) YES NULL
+CARDINALITY bigint(21) YES NULL
+SUB_PART bigint(3) YES NULL
+PACKED varchar(10) YES NULL
+NULLABLE varchar(3) NO
+INDEX_TYPE varchar(16) NO
+COMMENT varchar(16) YES NULL
+SHOW CREATE TABLE information_schema.STATISTICS;
+Table Create Table
+STATISTICS CREATE TEMPORARY TABLE `STATISTICS` (
+ `TABLE_CATALOG` varchar(512) DEFAULT NULL,
+ `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
+ `TABLE_NAME` varchar(64) NOT NULL DEFAULT '',
+ `NON_UNIQUE` bigint(1) NOT NULL DEFAULT '0',
+ `INDEX_SCHEMA` varchar(64) NOT NULL DEFAULT '',
+ `INDEX_NAME` varchar(64) NOT NULL DEFAULT '',
+ `SEQ_IN_INDEX` bigint(2) NOT NULL DEFAULT '0',
+ `COLUMN_NAME` varchar(64) NOT NULL DEFAULT '',
+ `COLLATION` varchar(1) DEFAULT NULL,
+ `CARDINALITY` bigint(21) DEFAULT NULL,
+ `SUB_PART` bigint(3) DEFAULT NULL,
+ `PACKED` varchar(10) DEFAULT NULL,
+ `NULLABLE` varchar(3) NOT NULL DEFAULT '',
+ `INDEX_TYPE` varchar(16) NOT NULL DEFAULT '',
+ `COMMENT` varchar(16) DEFAULT NULL
+) ENGINE=MEMORY DEFAULT CHARSET=utf8
+SHOW COLUMNS FROM information_schema.STATISTICS;
+Field Type Null Key Default Extra
+TABLE_CATALOG varchar(512) YES NULL
+TABLE_SCHEMA varchar(64) NO
+TABLE_NAME varchar(64) NO
+NON_UNIQUE bigint(1) NO 0
+INDEX_SCHEMA varchar(64) NO
+INDEX_NAME varchar(64) NO
+SEQ_IN_INDEX bigint(2) NO 0
+COLUMN_NAME varchar(64) NO
+COLLATION varchar(1) YES NULL
+CARDINALITY bigint(21) YES NULL
+SUB_PART bigint(3) YES NULL
+PACKED varchar(10) YES NULL
+NULLABLE varchar(3) NO
+INDEX_TYPE varchar(16) NO
+COMMENT varchar(16) YES NULL
+SELECT table_catalog, table_schema, table_name, index_schema, index_name
+FROM information_schema.statistics WHERE table_catalog IS NOT NULL;
+table_catalog table_schema table_name index_schema index_name
+####################################################################################
+# Testcase 3.2.14.2 + 3.2.14.3: INFORMATION_SCHEMA.STATISTICS accessible information
+####################################################################################
+DROP DATABASE IF EXISTS db_datadict;
+DROP DATABASE IF EXISTS db_datadict_2;
+CREATE DATABASE db_datadict;
+CREATE DATABASE db_datadict_2;
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+DROP USER 'testuser2'@'localhost';
+CREATE USER 'testuser2'@'localhost';
+CREATE TABLE db_datadict.t1
+(f1 INT NOT NULL, PRIMARY KEY(f1), f2 INT, INDEX f2_ind(f2))
+ENGINE = <engine_type>;
+CREATE TABLE db_datadict.t2
+(f1 INT NOT NULL, PRIMARY KEY(f1), f2 INT, INDEX f2_ind(f2))
+ENGINE = <engine_type>;
+CREATE TABLE db_datadict_2.t3
+(f1 INT NOT NULL, f2 INT, f5 DATE,
+PRIMARY KEY(f1), INDEX f2f1_ind(f2,f1), UNIQUE(f5))
+ENGINE = MEMORY;
+CREATE TABLE db_datadict_2.t4
+(f1 INT NOT NULL, PRIMARY KEY(f1), f2 INT, INDEX f2_ind(f2))
+ENGINE = MEMORY;
+SELECT * FROM information_schema.statistics
+WHERE table_schema LIKE 'db_datadict%'
+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
+NULL db_datadict t1 1 db_datadict f2_ind 1 f2 NULL 0 NULL NULL YES HASH
+NULL db_datadict t1 0 db_datadict PRIMARY 1 f1 NULL 0 NULL NULL HASH
+NULL db_datadict t2 1 db_datadict f2_ind 1 f2 NULL 0 NULL NULL YES HASH
+NULL db_datadict t2 0 db_datadict PRIMARY 1 f1 NULL 0 NULL NULL HASH
+NULL db_datadict_2 t3 1 db_datadict_2 f2f1_ind 1 f2 NULL NULL NULL NULL YES HASH
+NULL db_datadict_2 t3 1 db_datadict_2 f2f1_ind 2 f1 NULL 0 NULL NULL HASH
+NULL db_datadict_2 t3 0 db_datadict_2 f5 1 f5 NULL 0 NULL NULL YES HASH
+NULL db_datadict_2 t3 0 db_datadict_2 PRIMARY 1 f1 NULL 0 NULL NULL HASH
+NULL db_datadict_2 t4 1 db_datadict_2 f2_ind 1 f2 NULL 0 NULL NULL YES HASH
+NULL db_datadict_2 t4 0 db_datadict_2 PRIMARY 1 f1 NULL 0 NULL NULL HASH
+SHOW GRANTS FOR 'testuser1'@'localhost';
+Grants for testuser1@localhost
+GRANT USAGE ON *.* TO 'testuser1'@'localhost'
+SHOW GRANTS FOR 'testuser2'@'localhost';
+Grants for testuser2@localhost
+GRANT USAGE ON *.* TO 'testuser2'@'localhost'
+# Establish connection testuser1 (user=testuser1)
+SELECT * FROM information_schema.statistics
+WHERE table_schema LIKE 'db_datadict%'
+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
+SHOW GRANTS FOR 'testuser1'@'localhost';
+Grants for testuser1@localhost
+GRANT USAGE ON *.* TO 'testuser1'@'localhost'
+SHOW GRANTS FOR 'testuser2'@'localhost';
+ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'mysql'
+# Establish connection testuser2 (user=testuser2)
+SELECT * FROM information_schema.statistics
+WHERE table_schema LIKE 'db_datadict%'
+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
+SHOW GRANTS FOR 'testuser1'@'localhost';
+ERROR 42000: Access denied for user 'testuser2'@'localhost' to database 'mysql'
+SHOW GRANTS FOR 'testuser2'@'localhost';
+Grants for testuser2@localhost
+GRANT USAGE ON *.* TO 'testuser2'@'localhost'
+# Switch to connection default
+GRANT SELECT ON db_datadict.t1 TO 'testuser1'@'localhost' WITH GRANT OPTION;
+GRANT SELECT(f1,f5) ON db_datadict_2.t3 TO 'testuser1'@'localhost';
+SELECT * FROM information_schema.statistics
+WHERE table_schema LIKE 'db_datadict%'
+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
+NULL db_datadict t1 1 db_datadict f2_ind 1 f2 NULL 0 NULL NULL YES HASH
+NULL db_datadict t1 0 db_datadict PRIMARY 1 f1 NULL 0 NULL NULL HASH
+NULL db_datadict t2 1 db_datadict f2_ind 1 f2 NULL 0 NULL NULL YES HASH
+NULL db_datadict t2 0 db_datadict PRIMARY 1 f1 NULL 0 NULL NULL HASH
+NULL db_datadict_2 t3 1 db_datadict_2 f2f1_ind 1 f2 NULL NULL NULL NULL YES HASH
+NULL db_datadict_2 t3 1 db_datadict_2 f2f1_ind 2 f1 NULL 0 NULL NULL HASH
+NULL db_datadict_2 t3 0 db_datadict_2 f5 1 f5 NULL 0 NULL NULL YES HASH
+NULL db_datadict_2 t3 0 db_datadict_2 PRIMARY 1 f1 NULL 0 NULL NULL HASH
+NULL db_datadict_2 t4 1 db_datadict_2 f2_ind 1 f2 NULL 0 NULL NULL YES HASH
+NULL db_datadict_2 t4 0 db_datadict_2 PRIMARY 1 f1 NULL 0 NULL NULL HASH
+SHOW GRANTS FOR 'testuser1'@'localhost';
+Grants for testuser1@localhost
+GRANT USAGE ON *.* TO 'testuser1'@'localhost'
+GRANT SELECT (f5, f1) ON `db_datadict_2`.`t3` TO 'testuser1'@'localhost'
+GRANT SELECT ON `db_datadict`.`t1` TO 'testuser1'@'localhost' WITH GRANT OPTION
+SHOW GRANTS FOR 'testuser2'@'localhost';
+Grants for testuser2@localhost
+GRANT USAGE ON *.* TO 'testuser2'@'localhost'
+# Switch to connection testuser1
+SELECT * FROM information_schema.statistics
+WHERE table_schema LIKE 'db_datadict%'
+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
+NULL db_datadict t1 1 db_datadict f2_ind 1 f2 NULL 0 NULL NULL YES HASH
+NULL db_datadict t1 0 db_datadict PRIMARY 1 f1 NULL 0 NULL NULL HASH
+NULL db_datadict_2 t3 1 db_datadict_2 f2f1_ind 1 f2 NULL NULL NULL NULL YES HASH
+NULL db_datadict_2 t3 1 db_datadict_2 f2f1_ind 2 f1 NULL 0 NULL NULL HASH
+NULL db_datadict_2 t3 0 db_datadict_2 f5 1 f5 NULL 0 NULL NULL YES HASH
+NULL db_datadict_2 t3 0 db_datadict_2 PRIMARY 1 f1 NULL 0 NULL NULL HASH
+SHOW GRANTS FOR 'testuser1'@'localhost';
+Grants for testuser1@localhost
+GRANT USAGE ON *.* TO 'testuser1'@'localhost'
+GRANT SELECT (f5, f1) ON `db_datadict_2`.`t3` TO 'testuser1'@'localhost'
+GRANT SELECT ON `db_datadict`.`t1` TO 'testuser1'@'localhost' WITH GRANT OPTION
+SHOW GRANTS FOR 'testuser2'@'localhost';
+ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'mysql'
+# Switch to connection testuser2
+SELECT * FROM information_schema.statistics
+WHERE table_schema LIKE 'db_datadict%'
+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
+SHOW GRANTS FOR 'testuser1'@'localhost';
+ERROR 42000: Access denied for user 'testuser2'@'localhost' to database 'mysql'
+SHOW GRANTS FOR 'testuser2'@'localhost';
+Grants for testuser2@localhost
+GRANT USAGE ON *.* TO 'testuser2'@'localhost'
+# Switch to connection default
+REVOKE SELECT,GRANT OPTION ON db_datadict.t1 FROM 'testuser1'@'localhost';
+SHOW GRANTS FOR 'testuser1'@'localhost';
+Grants for testuser1@localhost
+GRANT USAGE ON *.* TO 'testuser1'@'localhost'
+GRANT SELECT (f5, f1) ON `db_datadict_2`.`t3` TO 'testuser1'@'localhost'
+# Switch to connection testuser1
+SELECT * FROM information_schema.statistics
+WHERE table_schema LIKE 'db_datadict%'
+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
+NULL db_datadict_2 t3 1 db_datadict_2 f2f1_ind 1 f2 NULL NULL NULL NULL YES HASH
+NULL db_datadict_2 t3 1 db_datadict_2 f2f1_ind 2 f1 NULL 0 NULL NULL HASH
+NULL db_datadict_2 t3 0 db_datadict_2 f5 1 f5 NULL 0 NULL NULL YES HASH
+NULL db_datadict_2 t3 0 db_datadict_2 PRIMARY 1 f1 NULL 0 NULL NULL HASH
+SHOW GRANTS FOR 'testuser1'@'localhost';
+Grants for testuser1@localhost
+GRANT USAGE ON *.* TO 'testuser1'@'localhost'
+GRANT SELECT (f5, f1) ON `db_datadict_2`.`t3` TO 'testuser1'@'localhost'
+# Switch to connection default and close connections testuser1, testuser2
+DROP USER 'testuser1'@'localhost';
+DROP USER 'testuser2'@'localhost';
+DROP DATABASE db_datadict;
+DROP DATABASE db_datadict_2;
+#########################################################################
+# 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.STATISTICS modifications
+#########################################################################
+DROP TABLE IF EXISTS test.t1_my_table;
+DROP DATABASE IF EXISTS db_datadict;
+CREATE DATABASE db_datadict;
+CREATE TABLE test.t1_1 (f1 BIGINT,
+f2 TEXT, f2x TEXT, f3 CHAR(10), f3x CHAR(10), f4 BIGINT, f4x BIGINT,
+f5 POINT, f5x POINT NOT NULL)
+DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci
+ENGINE = <other_engine_type>;
+CREATE TABLE test.t1_2 (f1 BIGINT, f2 BIGINT)
+ENGINE = <engine_type>;
+SELECT table_name FROM information_schema.statistics
+WHERE table_name LIKE 't1_%';
+table_name
+ALTER TABLE test.t1_1 ADD PRIMARY KEY (f1,f3);
+SELECT * FROM information_schema.statistics
+WHERE table_name LIKE 't1_%'
+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
+NULL test t1_1 0 test PRIMARY 1 f1 A NULL NULL NULL BTREE
+NULL test t1_1 0 test PRIMARY 2 f3 A 0 NULL NULL BTREE
+ALTER TABLE test.t1_1 DROP PRIMARY KEY;
+SELECT table_name FROM information_schema.statistics
+WHERE table_name LIKE 't1_%';
+table_name
+ALTER TABLE test.t1_1 ADD PRIMARY KEY (f1);
+SELECT * FROM information_schema.statistics
+WHERE table_name LIKE 't1_%';
+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
+NULL test t1_1 0 test PRIMARY 1 f1 A 0 NULL NULL BTREE
+ALTER TABLE test.t1_1 ADD INDEX (f4);
+CREATE INDEX f3_f1 ON test.t1_1 (f3,f1);
+CREATE UNIQUE INDEX f4x_uni ON test.t1_1 (f4x);
+CREATE INDEX f2_hash USING HASH ON test.t1_2 (f2);
+CREATE INDEX f1_idx ON test.t1_2 (f1) COMMENT = '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 'COMMENT = 'COMMENT'' at line 1
+CREATE INDEX not_null ON test.t1_1 (f3x);
+CREATE INDEX f2_prefix ON test.t1_1 (f2(20));
+SELECT * FROM information_schema.statistics
+WHERE table_name LIKE 't1_%' AND index_name <> 'PRIMARY'
+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
+NULL test t1_1 1 test f2_prefix 1 f2 A NULL 20 NULL YES BTREE
+NULL test t1_1 1 test f3_f1 1 f3 A NULL NULL NULL BTREE
+NULL test t1_1 1 test f3_f1 2 f1 A NULL NULL NULL BTREE
+NULL test t1_1 1 test f4 1 f4 A NULL NULL NULL YES BTREE
+NULL test t1_1 0 test f4x_uni 1 f4x A NULL NULL NULL YES BTREE
+NULL test t1_1 1 test not_null 1 f3x A NULL NULL NULL YES BTREE
+NULL test t1_2 1 test f2_hash 1 f2 NULL 0 NULL NULL YES HASH
+DROP TABLE test.t1_2;
+SELECT DISTINCT table_name FROM information_schema.statistics
+WHERE table_name = 't1_1';
+table_name
+t1_1
+RENAME TABLE test.t1_1 TO test.t1_1x;
+SELECT DISTINCT table_name FROM information_schema.statistics
+WHERE table_name = 't1_1x';
+table_name
+t1_1x
+SELECT DISTINCT table_schema,table_name FROM information_schema.statistics
+WHERE table_name LIKE 't1_1%';
+table_schema table_name
+test t1_1x
+RENAME TABLE test.t1_1x TO db_datadict.t1_1x;
+SELECT DISTINCT table_schema,table_name FROM information_schema.statistics
+WHERE table_name LIKE 't1_1%';
+table_schema table_name
+db_datadict t1_1x
+SELECT DISTINCT table_name FROM information_schema.statistics
+WHERE table_name = 't1_1x';
+table_name
+t1_1x
+DROP TABLE db_datadict.t1_1x;
+SELECT DISTINCT table_name FROM information_schema.statistics
+WHERE table_name = 't1_1x';
+table_name
+CREATE TEMPORARY TABLE test.t1_1x (PRIMARY KEY(f1,f2))
+ENGINE = <engine_type>
+AS SELECT 1 AS f1, 2 AS f2;
+SELECT * FROM information_schema.statistics
+WHERE table_name = 't1_1x';
+DROP TEMPORARY TABLE test.t1_1x;
+CREATE TABLE db_datadict.t1_1x (PRIMARY KEY(f1))
+ENGINE = <engine_type>
+AS SELECT 1 AS f1, 2 AS f2;
+SELECT table_name FROM information_schema.statistics
+WHERE table_name = 't1_1x';
+table_name
+t1_1x
+DROP DATABASE db_datadict;
+SELECT table_name FROM information_schema.statistics
+WHERE table_name = 't1_1x';
+table_name
+########################################################################
+# Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and
+# DDL on INFORMATION_SCHEMA tables are not supported
+########################################################################
+DROP DATABASE IF EXISTS db_datadict;
+CREATE DATABASE db_datadict;
+CREATE TABLE db_datadict.t1 (f1 BIGINT)
+ENGINE = <engine_type>;
+INSERT INTO information_schema.statistics
+SELECT * FROM information_schema.statistics;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+UPDATE information_schema.statistics SET table_schema = 'test'
+WHERE table_name = 't1';
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DELETE FROM information_schema.statistics WHERE table_name = 't1';
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+TRUNCATE information_schema.statistics;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+CREATE INDEX my_idx_on_statistics
+ON information_schema.statistics(table_schema);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.statistics DROP PRIMARY KEY;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.statistics ADD f1 INT;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DROP TABLE information_schema.statistics;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.statistics RENAME db_datadict.statistics;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.statistics RENAME information_schema.xstatistics;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DROP DATABASE db_datadict;
diff --git a/mysql-test/suite/funcs_1/r/is_statistics_is.result b/mysql-test/suite/funcs_1/r/is_statistics_is.result
new file mode 100644
index 00000000000..165c1ee08e2
--- /dev/null
+++ b/mysql-test/suite/funcs_1/r/is_statistics_is.result
@@ -0,0 +1,17 @@
+DROP DATABASE IF EXISTS db_datadict;
+CREATE DATABASE db_datadict;
+DROP USER testuser1@localhost;
+CREATE USER testuser1@localhost;
+GRANT SELECT ON db_datadict.* TO testuser1@localhost;
+SELECT * FROM information_schema.statistics
+WHERE table_schema = 'information_schema'
+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
+# Establish connection testuser1 (user=testuser1)
+SELECT * FROM information_schema.statistics
+WHERE table_schema = 'information_schema'
+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
+# 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_statistics_mysql.result b/mysql-test/suite/funcs_1/r/is_statistics_mysql.result
new file mode 100644
index 00000000000..ee37f6ef222
--- /dev/null
+++ b/mysql-test/suite/funcs_1/r/is_statistics_mysql.result
@@ -0,0 +1,65 @@
+DROP DATABASE IF EXISTS db_datadict;
+CREATE DATABASE db_datadict;
+DROP USER testuser1@localhost;
+CREATE USER testuser1@localhost;
+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
+NULL mysql columns_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
+NULL mysql columns_priv 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE
+NULL mysql columns_priv 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE
+NULL mysql columns_priv 0 mysql PRIMARY 4 Table_name A #CARD# NULL NULL BTREE
+NULL mysql columns_priv 0 mysql PRIMARY 5 Column_name A #CARD# NULL NULL BTREE
+NULL mysql db 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
+NULL mysql db 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE
+NULL mysql db 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE
+NULL mysql db 1 mysql User 1 User A #CARD# NULL NULL BTREE
+NULL mysql event 0 mysql PRIMARY 1 db A #CARD# NULL NULL BTREE
+NULL mysql event 0 mysql PRIMARY 2 name A #CARD# NULL NULL BTREE
+NULL mysql func 0 mysql PRIMARY 1 name A #CARD# NULL NULL BTREE
+NULL mysql help_category 0 mysql name 1 name A #CARD# NULL NULL BTREE
+NULL mysql help_category 0 mysql PRIMARY 1 help_category_id A #CARD# NULL NULL BTREE
+NULL mysql help_keyword 0 mysql name 1 name A #CARD# NULL NULL BTREE
+NULL mysql help_keyword 0 mysql PRIMARY 1 help_keyword_id A #CARD# NULL NULL BTREE
+NULL mysql help_relation 0 mysql PRIMARY 1 help_keyword_id A #CARD# NULL NULL BTREE
+NULL mysql help_relation 0 mysql PRIMARY 2 help_topic_id A #CARD# NULL NULL BTREE
+NULL mysql help_topic 0 mysql name 1 name A #CARD# NULL NULL BTREE
+NULL mysql help_topic 0 mysql PRIMARY 1 help_topic_id A #CARD# NULL NULL BTREE
+NULL mysql host 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
+NULL mysql host 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE
+NULL mysql ndb_binlog_index 0 mysql PRIMARY 1 epoch A #CARD# NULL NULL BTREE
+NULL mysql plugin 0 mysql PRIMARY 1 name A #CARD# NULL NULL BTREE
+NULL mysql proc 0 mysql PRIMARY 1 db A #CARD# NULL NULL BTREE
+NULL mysql proc 0 mysql PRIMARY 2 name A #CARD# NULL NULL BTREE
+NULL mysql proc 0 mysql PRIMARY 3 type A #CARD# NULL NULL BTREE
+NULL mysql procs_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE
+NULL mysql procs_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
+NULL mysql procs_priv 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE
+NULL mysql procs_priv 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE
+NULL mysql procs_priv 0 mysql PRIMARY 4 Routine_name A #CARD# NULL NULL BTREE
+NULL mysql procs_priv 0 mysql PRIMARY 5 Routine_type A #CARD# NULL NULL BTREE
+NULL mysql servers 0 mysql PRIMARY 1 Server_name A #CARD# NULL NULL BTREE
+NULL mysql tables_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE
+NULL mysql tables_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
+NULL mysql tables_priv 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE
+NULL mysql tables_priv 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE
+NULL mysql tables_priv 0 mysql PRIMARY 4 Table_name A #CARD# NULL NULL BTREE
+NULL mysql time_zone 0 mysql PRIMARY 1 Time_zone_id A #CARD# NULL NULL BTREE
+NULL mysql time_zone_leap_second 0 mysql PRIMARY 1 Transition_time A #CARD# NULL NULL BTREE
+NULL mysql time_zone_name 0 mysql PRIMARY 1 Name A #CARD# NULL NULL BTREE
+NULL mysql time_zone_transition 0 mysql PRIMARY 1 Time_zone_id A #CARD# NULL NULL BTREE
+NULL mysql time_zone_transition 0 mysql PRIMARY 2 Transition_time A #CARD# NULL NULL BTREE
+NULL mysql time_zone_transition_type 0 mysql PRIMARY 1 Time_zone_id A #CARD# NULL NULL BTREE
+NULL mysql time_zone_transition_type 0 mysql PRIMARY 2 Transition_type_id A #CARD# NULL NULL BTREE
+NULL mysql user 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
+NULL 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
+# 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
new file mode 100644
index 00000000000..56c2f6ff076
--- /dev/null
+++ b/mysql-test/suite/funcs_1/r/is_table_constraints.result
@@ -0,0 +1,310 @@
+SHOW TABLES FROM information_schema LIKE 'TABLE_CONSTRAINTS';
+Tables_in_information_schema (TABLE_CONSTRAINTS)
+TABLE_CONSTRAINTS
+#######################################################################
+# Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT
+#######################################################################
+DROP VIEW IF EXISTS test.v1;
+DROP PROCEDURE IF EXISTS test.p1;
+DROP FUNCTION IF EXISTS test.f1;
+CREATE VIEW test.v1 AS SELECT * FROM information_schema.TABLE_CONSTRAINTS;
+CREATE PROCEDURE test.p1() SELECT * FROM information_schema.TABLE_CONSTRAINTS;
+CREATE FUNCTION test.f1() returns BIGINT
+BEGIN
+DECLARE counter BIGINT DEFAULT NULL;
+SELECT COUNT(*) INTO counter FROM information_schema.TABLE_CONSTRAINTS;
+RETURN counter;
+END//
+# Attention: The printing of the next result sets is disabled.
+SELECT * FROM information_schema.TABLE_CONSTRAINTS;
+SELECT * FROM test.v1;
+CALL test.p1;
+SELECT test.f1();
+DROP VIEW test.v1;
+DROP PROCEDURE test.p1;
+DROP FUNCTION test.f1;
+#########################################################################
+# Testcase 3.2.10.1: INFORMATION_SCHEMA.TABLE_CONSTRAINTS layout
+#########################################################################
+DESCRIBE information_schema.TABLE_CONSTRAINTS;
+Field Type Null Key Default Extra
+CONSTRAINT_CATALOG varchar(512) YES NULL
+CONSTRAINT_SCHEMA varchar(64) NO
+CONSTRAINT_NAME varchar(64) NO
+TABLE_SCHEMA varchar(64) NO
+TABLE_NAME varchar(64) NO
+CONSTRAINT_TYPE varchar(64) NO
+SHOW CREATE TABLE information_schema.TABLE_CONSTRAINTS;
+Table Create Table
+TABLE_CONSTRAINTS CREATE TEMPORARY TABLE `TABLE_CONSTRAINTS` (
+ `CONSTRAINT_CATALOG` varchar(512) DEFAULT NULL,
+ `CONSTRAINT_SCHEMA` varchar(64) NOT NULL DEFAULT '',
+ `CONSTRAINT_NAME` varchar(64) NOT NULL DEFAULT '',
+ `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
+ `TABLE_NAME` varchar(64) NOT NULL DEFAULT '',
+ `CONSTRAINT_TYPE` varchar(64) NOT NULL DEFAULT ''
+) ENGINE=MEMORY DEFAULT CHARSET=utf8
+SHOW COLUMNS FROM information_schema.TABLE_CONSTRAINTS;
+Field Type Null Key Default Extra
+CONSTRAINT_CATALOG varchar(512) YES NULL
+CONSTRAINT_SCHEMA varchar(64) NO
+CONSTRAINT_NAME varchar(64) NO
+TABLE_SCHEMA varchar(64) NO
+TABLE_NAME varchar(64) NO
+CONSTRAINT_TYPE varchar(64) NO
+SELECT constraint_catalog, constraint_schema, constraint_name,
+table_schema, table_name
+FROM information_schema.table_constraints
+WHERE constraint_catalog IS NOT NULL;
+constraint_catalog constraint_schema constraint_name table_schema table_name
+#########################################################################################
+# Testcase 3.2.7.2 + 3.2.7.3: INFORMATION_SCHEMA.TABLE_CONSTRAINTS accessible information
+#########################################################################################
+DROP DATABASE IF EXISTS db_datadict;
+CREATE DATABASE db_datadict;
+CREATE TABLE db_datadict.t1 (f1 BIGINT, f2 BIGINT, f3 BIGINT, f4 BIGINT,
+f5 BIGINT, f6 BIGINT, PRIMARY KEY (f1,f2))
+ENGINE = <some_engine_type>;
+CREATE UNIQUE INDEX my_idx1 ON db_datadict.t1(f6,f1);
+CREATE UNIQUE INDEX my_idx2 ON db_datadict.t1(f3);
+CREATE TABLE db_datadict.t2 (f1 BIGINT, f2 BIGINT, f3 BIGINT, f4 BIGINT,
+f5 BIGINT, f6 BIGINT, PRIMARY KEY (f1,f2))
+ENGINE = <some_engine_type>;
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+GRANT SELECT(f5) ON db_datadict.t1 TO 'testuser1'@'localhost';
+SHOW GRANTS FOR 'testuser1'@'localhost';
+Grants for testuser1@localhost
+GRANT USAGE ON *.* TO 'testuser1'@'localhost'
+GRANT SELECT (f5) ON `db_datadict`.`t1` TO 'testuser1'@'localhost'
+SELECT * FROM information_schema.table_constraints
+WHERE table_schema = 'db_datadict'
+ORDER BY table_schema,table_name, constraint_name;
+CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE
+NULL db_datadict my_idx1 db_datadict t1 UNIQUE
+NULL db_datadict my_idx2 db_datadict t1 UNIQUE
+NULL db_datadict PRIMARY db_datadict t1 PRIMARY KEY
+NULL db_datadict PRIMARY db_datadict t2 PRIMARY KEY
+SHOW INDEXES FROM db_datadict.t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
+t1 0 PRIMARY 1 f1 ### ### ### ### ### ### ###
+t1 0 PRIMARY 2 f2 ### ### ### ### ### ### ###
+t1 0 my_idx1 1 f6 ### ### ### ### ### ### ###
+t1 0 my_idx1 2 f1 ### ### ### ### ### ### ###
+t1 0 my_idx2 1 f3 ### ### ### ### ### ### ###
+SHOW INDEXES FROM db_datadict.t2;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
+t2 0 PRIMARY 1 f1 ### ### ### ### ### ### ###
+t2 0 PRIMARY 2 f2 ### ### ### ### ### ### ###
+# Establish connection testuser1 (user=testuser1)
+SHOW GRANTS FOR 'testuser1'@'localhost';
+Grants for testuser1@localhost
+GRANT USAGE ON *.* TO 'testuser1'@'localhost'
+GRANT SELECT (f5) ON `db_datadict`.`t1` TO 'testuser1'@'localhost'
+SELECT * FROM information_schema.table_constraints
+WHERE table_schema = 'db_datadict'
+ORDER BY table_schema,table_name, constraint_name;
+CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE
+NULL db_datadict my_idx1 db_datadict t1 UNIQUE
+NULL db_datadict my_idx2 db_datadict t1 UNIQUE
+NULL db_datadict PRIMARY db_datadict t1 PRIMARY KEY
+SHOW INDEXES FROM db_datadict.t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
+t1 0 PRIMARY 1 f1 ### ### ### ### ### ### ###
+t1 0 PRIMARY 2 f2 ### ### ### ### ### ### ###
+t1 0 my_idx1 1 f6 ### ### ### ### ### ### ###
+t1 0 my_idx1 2 f1 ### ### ### ### ### ### ###
+t1 0 my_idx2 1 f3 ### ### ### ### ### ### ###
+SHOW INDEXES FROM db_datadict.t2;
+ERROR 42000: SELECT command denied to user 'testuser1'@'localhost' for table 't2'
+# Switch to connection default and close connection testuser1
+DROP USER 'testuser1'@'localhost';
+DROP DATABASE db_datadict;
+#########################################################################################
+# Testcase 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.TABLE_CONSTRAINTS modifications
+#########################################################################################
+DROP DATABASE IF EXISTS db_datadict;
+DROP TABLE IF EXISTS test.t1_my_table;
+CREATE DATABASE db_datadict;
+SELECT table_name FROM information_schema.table_constraints
+WHERE table_name LIKE 't1_my_table%';
+table_name
+CREATE TABLE test.t1_my_table
+(f1 CHAR(12), f2 TIMESTAMP, f4 BIGINT, PRIMARY KEY(f1,f2))
+DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci
+ENGINE = <engine_type>;
+SELECT constraint_name, table_schema, table_name, constraint_type
+FROM information_schema.table_constraints
+WHERE table_name = 't1_my_table';
+constraint_name table_schema table_name constraint_type
+PRIMARY test t1_my_table PRIMARY KEY
+SELECT table_name FROM information_schema.table_constraints
+WHERE table_name LIKE 't1_my_table%';
+table_name
+t1_my_table
+RENAME TABLE test.t1_my_table TO test.t1_my_tablex;
+SELECT table_name FROM information_schema.table_constraints
+WHERE table_name LIKE 't1_my_table%';
+table_name
+t1_my_tablex
+SELECT table_schema,table_name FROM information_schema.table_constraints
+WHERE table_name = 't1_my_tablex';
+table_schema table_name
+test t1_my_tablex
+RENAME TABLE test.t1_my_tablex TO db_datadict.t1_my_tablex;
+SELECT table_schema,table_name FROM information_schema.table_constraints
+WHERE table_name = 't1_my_tablex';
+table_schema table_name
+db_datadict t1_my_tablex
+SELECT constraint_schema, constraint_name, table_schema,
+table_name, constraint_type
+FROM information_schema.table_constraints
+WHERE table_name = 't1_my_tablex'
+ORDER BY table_schema,table_name, constraint_name;
+constraint_schema constraint_name table_schema table_name constraint_type
+db_datadict PRIMARY db_datadict t1_my_tablex PRIMARY KEY
+CREATE INDEX f2 ON db_datadict.t1_my_tablex(f2);
+SELECT constraint_schema, constraint_name, table_schema,
+table_name, constraint_type
+FROM information_schema.table_constraints
+WHERE table_name = 't1_my_tablex'
+ORDER BY table_schema,table_name, constraint_name;
+constraint_schema constraint_name table_schema table_name constraint_type
+db_datadict PRIMARY db_datadict t1_my_tablex PRIMARY KEY
+DROP INDEX f2 ON db_datadict.t1_my_tablex;
+SELECT constraint_schema, constraint_name, table_schema,
+table_name, constraint_type
+FROM information_schema.table_constraints
+WHERE table_name = 't1_my_tablex'
+ORDER BY table_schema,table_name, constraint_name;
+constraint_schema constraint_name table_schema table_name constraint_type
+db_datadict PRIMARY db_datadict t1_my_tablex PRIMARY KEY
+ALTER TABLE db_datadict.t1_my_tablex ADD UNIQUE (f2);
+SELECT constraint_schema, constraint_name, table_schema,
+table_name, constraint_type
+FROM information_schema.table_constraints
+WHERE table_name = 't1_my_tablex'
+ORDER BY table_schema,table_name, constraint_name;
+constraint_schema constraint_name table_schema table_name constraint_type
+db_datadict f2 db_datadict t1_my_tablex UNIQUE
+db_datadict PRIMARY db_datadict t1_my_tablex PRIMARY KEY
+DROP INDEX f2 ON db_datadict.t1_my_tablex;
+SELECT constraint_schema, constraint_name, table_schema,
+table_name, constraint_type
+FROM information_schema.table_constraints
+WHERE table_name = 't1_my_tablex'
+ORDER BY table_schema,table_name, constraint_name;
+constraint_schema constraint_name table_schema table_name constraint_type
+db_datadict PRIMARY db_datadict t1_my_tablex PRIMARY KEY
+ALTER TABLE db_datadict.t1_my_tablex ADD UNIQUE my_idx (f4,f1);
+SELECT constraint_schema, constraint_name, table_schema,
+table_name, constraint_type
+FROM information_schema.table_constraints
+WHERE table_name = 't1_my_tablex'
+ORDER BY table_schema,table_name, constraint_name;
+constraint_schema constraint_name table_schema table_name constraint_type
+db_datadict my_idx db_datadict t1_my_tablex UNIQUE
+db_datadict PRIMARY db_datadict t1_my_tablex PRIMARY KEY
+DROP INDEX my_idx ON db_datadict.t1_my_tablex;
+SELECT constraint_schema, constraint_name, table_schema,
+table_name, constraint_type
+FROM information_schema.table_constraints
+WHERE table_name = 't1_my_tablex'
+ORDER BY table_schema,table_name, constraint_name;
+constraint_schema constraint_name table_schema table_name constraint_type
+db_datadict PRIMARY db_datadict t1_my_tablex PRIMARY KEY
+ALTER TABLE db_datadict.t1_my_tablex ADD UNIQUE my_idx (f2);
+SELECT constraint_schema, constraint_name, table_schema,
+table_name, constraint_type
+FROM information_schema.table_constraints
+WHERE table_name = 't1_my_tablex'
+ORDER BY table_schema,table_name, constraint_name;
+constraint_schema constraint_name table_schema table_name constraint_type
+db_datadict my_idx db_datadict t1_my_tablex UNIQUE
+db_datadict PRIMARY db_datadict t1_my_tablex PRIMARY KEY
+SELECT constraint_schema, constraint_name, table_schema,
+table_name, constraint_type
+FROM information_schema.table_constraints
+WHERE table_name = 't1_my_tablex'
+ORDER BY table_schema,table_name, constraint_name;
+constraint_schema constraint_name table_schema table_name constraint_type
+db_datadict my_idx db_datadict t1_my_tablex UNIQUE
+db_datadict PRIMARY db_datadict t1_my_tablex PRIMARY KEY
+ALTER TABLE db_datadict.t1_my_tablex
+DROP COLUMN f2;
+SELECT constraint_schema, constraint_name, table_schema,
+table_name, constraint_type
+FROM information_schema.table_constraints
+WHERE table_name = 't1_my_tablex'
+ORDER BY table_schema,table_name, constraint_name;
+constraint_schema constraint_name table_schema table_name constraint_type
+db_datadict PRIMARY db_datadict t1_my_tablex PRIMARY KEY
+SELECT table_name
+FROM information_schema.table_constraints
+WHERE table_name = 't1_my_tablex';
+table_name
+t1_my_tablex
+DROP TABLE db_datadict.t1_my_tablex;
+SELECT table_name
+FROM information_schema.table_constraints
+WHERE table_name = 't1_my_tablex';
+table_name
+SELECT table_name FROM information_schema.table_constraints
+WHERE table_name = 't1_my_tablex';
+table_name
+CREATE TABLE db_datadict.t1_my_tablex
+ENGINE = <engine_type> AS
+SELECT 1 AS f1;
+SELECT table_name FROM information_schema.table_constraints
+WHERE table_name = 't1_my_tablex';
+table_name
+ALTER TABLE db_datadict.t1_my_tablex ADD PRIMARY KEY(f1);
+SELECT table_name FROM information_schema.table_constraints
+WHERE table_name = 't1_my_tablex';
+table_name
+t1_my_tablex
+SELECT table_name FROM information_schema.table_constraints
+WHERE table_name = 't1_my_tablex';
+table_name
+t1_my_tablex
+DROP DATABASE db_datadict;
+SELECT table_name FROM information_schema.table_constraints
+WHERE table_name = 't1_my_tablex';
+table_name
+########################################################################
+# Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and
+# DDL on INFORMATION_SCHEMA tables are not supported
+########################################################################
+DROP DATABASE IF EXISTS db_datadict;
+DROP TABLE IF EXISTS db_datadict.t1;
+CREATE DATABASE db_datadict;
+CREATE TABLE db_datadict.t1 (f1 BIGINT, UNIQUE(f1))
+ENGINE = <engine_type>;
+INSERT INTO information_schema.table_constraints
+(constraint_schema, constraint_name, table_name)
+VALUES ( 'mysql', 'primary', 'db');
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+INSERT INTO information_schema.table_constraints
+SELECT * FROM information_schema.table_constraints;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+UPDATE information_schema.table_constraints
+SET table_name = 'db1' WHERE constraint_name = 'primary';
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DELETE FROM information_schema.table_constraints WHERE table_name = 't1';
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+TRUNCATE information_schema.table_constraints;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+CREATE INDEX i3 ON information_schema.table_constraints(table_name);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.table_constraints ADD f1 INT;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DROP TABLE information_schema.table_constraints;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.table_constraints
+RENAME db_datadict.table_constraints;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.table_constraints
+RENAME information_schema.xtable_constraints;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DROP TABLE db_datadict.t1;
+DROP DATABASE db_datadict;
diff --git a/mysql-test/suite/funcs_1/r/is_table_constraints_is.result b/mysql-test/suite/funcs_1/r/is_table_constraints_is.result
new file mode 100644
index 00000000000..78724caa175
--- /dev/null
+++ b/mysql-test/suite/funcs_1/r/is_table_constraints_is.result
@@ -0,0 +1,17 @@
+DROP DATABASE IF EXISTS db_datadict;
+CREATE DATABASE db_datadict;
+DROP USER testuser1@localhost;
+CREATE USER testuser1@localhost;
+GRANT SELECT ON db_datadict.* TO testuser1@localhost;
+SELECT * FROM information_schema.table_constraints
+WHERE table_schema = 'information_schema'
+ORDER BY table_schema,table_name,constraint_name;
+CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE
+# Establish connection testuser1 (user=testuser1)
+SELECT * FROM information_schema.table_constraints
+WHERE table_schema = 'information_schema'
+ORDER BY table_schema,table_name,constraint_name;
+CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE
+# 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_mysql.result b/mysql-test/suite/funcs_1/r/is_table_constraints_mysql.result
new file mode 100644
index 00000000000..ba5da23f069
--- /dev/null
+++ b/mysql-test/suite/funcs_1/r/is_table_constraints_mysql.result
@@ -0,0 +1,41 @@
+DROP DATABASE IF EXISTS db_datadict;
+CREATE DATABASE db_datadict;
+DROP USER testuser1@localhost;
+CREATE USER testuser1@localhost;
+GRANT SELECT ON db_datadict.* TO testuser1@localhost;
+SELECT * FROM information_schema.table_constraints
+WHERE table_schema = 'mysql'
+ORDER BY table_schema,table_name,constraint_name;
+CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE
+NULL mysql PRIMARY mysql columns_priv PRIMARY KEY
+NULL mysql PRIMARY mysql db PRIMARY KEY
+NULL mysql PRIMARY mysql event PRIMARY KEY
+NULL mysql PRIMARY mysql func PRIMARY KEY
+NULL mysql name mysql help_category UNIQUE
+NULL mysql PRIMARY mysql help_category PRIMARY KEY
+NULL mysql name mysql help_keyword UNIQUE
+NULL mysql PRIMARY mysql help_keyword PRIMARY KEY
+NULL mysql PRIMARY mysql help_relation PRIMARY KEY
+NULL mysql name mysql help_topic UNIQUE
+NULL mysql PRIMARY mysql help_topic PRIMARY KEY
+NULL mysql PRIMARY mysql host PRIMARY KEY
+NULL mysql PRIMARY mysql ndb_binlog_index PRIMARY KEY
+NULL mysql PRIMARY mysql plugin PRIMARY KEY
+NULL mysql PRIMARY mysql proc PRIMARY KEY
+NULL mysql PRIMARY mysql procs_priv PRIMARY KEY
+NULL mysql PRIMARY mysql servers PRIMARY KEY
+NULL mysql PRIMARY mysql tables_priv PRIMARY KEY
+NULL mysql PRIMARY mysql time_zone PRIMARY KEY
+NULL mysql PRIMARY mysql time_zone_leap_second PRIMARY KEY
+NULL mysql PRIMARY mysql time_zone_name PRIMARY KEY
+NULL mysql PRIMARY mysql time_zone_transition PRIMARY KEY
+NULL mysql PRIMARY mysql time_zone_transition_type PRIMARY KEY
+NULL mysql PRIMARY mysql user PRIMARY KEY
+# Establish connection testuser1 (user=testuser1)
+SELECT * FROM information_schema.table_constraints
+WHERE table_schema = 'mysql'
+ORDER BY table_schema,table_name,constraint_name;
+CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE
+# 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_privileges.result b/mysql-test/suite/funcs_1/r/is_table_privileges.result
new file mode 100644
index 00000000000..c7b8e2630aa
--- /dev/null
+++ b/mysql-test/suite/funcs_1/r/is_table_privileges.result
@@ -0,0 +1,336 @@
+SHOW TABLES FROM information_schema LIKE 'TABLE_PRIVILEGES';
+Tables_in_information_schema (TABLE_PRIVILEGES)
+TABLE_PRIVILEGES
+#######################################################################
+# Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT
+#######################################################################
+DROP VIEW IF EXISTS test.v1;
+DROP PROCEDURE IF EXISTS test.p1;
+DROP FUNCTION IF EXISTS test.f1;
+CREATE VIEW test.v1 AS SELECT * FROM information_schema.TABLE_PRIVILEGES;
+CREATE PROCEDURE test.p1() SELECT * FROM information_schema.TABLE_PRIVILEGES;
+CREATE FUNCTION test.f1() returns BIGINT
+BEGIN
+DECLARE counter BIGINT DEFAULT NULL;
+SELECT COUNT(*) INTO counter FROM information_schema.TABLE_PRIVILEGES;
+RETURN counter;
+END//
+# Attention: The printing of the next result sets is disabled.
+SELECT * FROM information_schema.TABLE_PRIVILEGES;
+SELECT * FROM test.v1;
+CALL test.p1;
+SELECT test.f1();
+DROP VIEW test.v1;
+DROP PROCEDURE test.p1;
+DROP FUNCTION test.f1;
+#########################################################################
+# Testcase 3.2.11.1: INFORMATION_SCHEMA.TABLE_PRIVILEGES layout
+#########################################################################
+DESCRIBE information_schema.TABLE_PRIVILEGES;
+Field Type Null Key Default Extra
+GRANTEE varchar(81) NO
+TABLE_CATALOG varchar(512) YES NULL
+TABLE_SCHEMA varchar(64) NO
+TABLE_NAME varchar(64) NO
+PRIVILEGE_TYPE varchar(64) NO
+IS_GRANTABLE varchar(3) NO
+SHOW CREATE TABLE information_schema.TABLE_PRIVILEGES;
+Table Create Table
+TABLE_PRIVILEGES CREATE TEMPORARY TABLE `TABLE_PRIVILEGES` (
+ `GRANTEE` varchar(81) NOT NULL DEFAULT '',
+ `TABLE_CATALOG` varchar(512) DEFAULT NULL,
+ `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
+ `TABLE_NAME` varchar(64) NOT NULL DEFAULT '',
+ `PRIVILEGE_TYPE` varchar(64) NOT NULL DEFAULT '',
+ `IS_GRANTABLE` varchar(3) NOT NULL DEFAULT ''
+) ENGINE=MEMORY DEFAULT CHARSET=utf8
+SHOW COLUMNS FROM information_schema.TABLE_PRIVILEGES;
+Field Type Null Key Default Extra
+GRANTEE varchar(81) NO
+TABLE_CATALOG varchar(512) YES NULL
+TABLE_SCHEMA varchar(64) NO
+TABLE_NAME varchar(64) NO
+PRIVILEGE_TYPE varchar(64) NO
+IS_GRANTABLE varchar(3) NO
+SELECT table_catalog, table_schema, table_name, privilege_type
+FROM information_schema.table_privileges WHERE table_catalog IS NOT NULL;
+table_catalog table_schema table_name privilege_type
+######################################################################
+# Testcase 3.2.11.2+3.2.11.3+3.2.11.4:
+# INFORMATION_SCHEMA.TABLE_PRIVILEGES accessible information
+######################################################################
+DROP DATABASE IF EXISTS db_datadict;
+CREATE DATABASE db_datadict;
+CREATE TABLE db_datadict.tb1(f1 INT, f2 INT, f3 INT)
+ENGINE = <engine_type>;
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+GRANT CREATE, SELECT ON db_datadict.*
+TO 'testuser1'@'localhost' WITH GRANT OPTION;
+GRANT SELECT ON db_datadict.tb1 TO 'testuser1'@'localhost';
+DROP USER 'testuser2'@'localhost';
+CREATE USER 'testuser2'@'localhost';
+GRANT ALL ON db_datadict.tb1 TO 'testuser2'@'localhost' WITH GRANT OPTION;
+DROP USER 'testuser3'@'localhost';
+CREATE USER 'testuser3'@'localhost';
+# Establish connection testuser1 (user=testuser1)
+CREATE TABLE tb3 (f1 TEXT)
+ENGINE = <other_engine_type>;
+GRANT SELECT ON db_datadict.tb3 TO 'testuser3'@'localhost';
+SELECT * FROM information_schema.table_privileges
+WHERE table_name LIKE 'tb%'
+ORDER BY grantee,table_schema,table_name,privilege_type;
+GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
+'testuser1'@'localhost' NULL db_datadict tb1 SELECT NO
+SHOW GRANTS FOR 'testuser1'@'localhost';
+Grants for testuser1@localhost
+GRANT USAGE ON *.* TO 'testuser1'@'localhost'
+GRANT SELECT, CREATE ON `db_datadict`.* TO 'testuser1'@'localhost' WITH GRANT OPTION
+GRANT SELECT ON `db_datadict`.`tb1` TO 'testuser1'@'localhost'
+# Establish connection testuser2 (user=testuser3)
+SELECT * FROM information_schema.table_privileges
+WHERE table_name LIKE 'tb%'
+ORDER BY grantee,table_schema,table_name,privilege_type;
+GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
+'testuser2'@'localhost' NULL db_datadict tb1 ALTER YES
+'testuser2'@'localhost' NULL db_datadict tb1 CREATE YES
+'testuser2'@'localhost' NULL db_datadict tb1 CREATE VIEW YES
+'testuser2'@'localhost' NULL db_datadict tb1 DELETE YES
+'testuser2'@'localhost' NULL db_datadict tb1 DROP YES
+'testuser2'@'localhost' NULL db_datadict tb1 INDEX YES
+'testuser2'@'localhost' NULL db_datadict tb1 INSERT YES
+'testuser2'@'localhost' NULL db_datadict tb1 REFERENCES YES
+'testuser2'@'localhost' NULL db_datadict tb1 SELECT YES
+'testuser2'@'localhost' NULL db_datadict tb1 SHOW VIEW YES
+'testuser2'@'localhost' NULL db_datadict tb1 TRIGGER YES
+'testuser2'@'localhost' NULL db_datadict tb1 UPDATE YES
+SHOW GRANTS FOR 'testuser2'@'localhost';
+Grants for testuser2@localhost
+GRANT USAGE ON *.* TO 'testuser2'@'localhost'
+GRANT ALL PRIVILEGES ON `db_datadict`.`tb1` TO 'testuser2'@'localhost' WITH GRANT OPTION
+# Establish connection testuser3 (user=testuser3)
+SELECT * FROM information_schema.table_privileges
+WHERE table_name LIKE 'tb%'
+ORDER BY grantee,table_schema,table_name,privilege_type;
+GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
+'testuser3'@'localhost' NULL db_datadict tb3 SELECT NO
+SHOW GRANTS FOR 'testuser3'@'localhost';
+Grants for testuser3@localhost
+GRANT USAGE ON *.* TO 'testuser3'@'localhost'
+GRANT SELECT ON `db_datadict`.`tb3` TO 'testuser3'@'localhost'
+# Switch to connection default and close the other connections
+SELECT * FROM information_schema.table_privileges
+WHERE table_name LIKE 'tb%'
+ORDER BY grantee,table_schema,table_name,privilege_type;
+GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
+'testuser1'@'localhost' NULL db_datadict tb1 SELECT NO
+'testuser2'@'localhost' NULL db_datadict tb1 ALTER YES
+'testuser2'@'localhost' NULL db_datadict tb1 CREATE YES
+'testuser2'@'localhost' NULL db_datadict tb1 CREATE VIEW YES
+'testuser2'@'localhost' NULL db_datadict tb1 DELETE YES
+'testuser2'@'localhost' NULL db_datadict tb1 DROP YES
+'testuser2'@'localhost' NULL db_datadict tb1 INDEX YES
+'testuser2'@'localhost' NULL db_datadict tb1 INSERT YES
+'testuser2'@'localhost' NULL db_datadict tb1 REFERENCES YES
+'testuser2'@'localhost' NULL db_datadict tb1 SELECT YES
+'testuser2'@'localhost' NULL db_datadict tb1 SHOW VIEW YES
+'testuser2'@'localhost' NULL db_datadict tb1 TRIGGER YES
+'testuser2'@'localhost' NULL db_datadict tb1 UPDATE YES
+'testuser3'@'localhost' NULL db_datadict tb3 SELECT NO
+SHOW GRANTS FOR 'testuser1'@'localhost';
+Grants for testuser1@localhost
+GRANT USAGE ON *.* TO 'testuser1'@'localhost'
+GRANT SELECT, CREATE ON `db_datadict`.* TO 'testuser1'@'localhost' WITH GRANT OPTION
+GRANT SELECT ON `db_datadict`.`tb1` TO 'testuser1'@'localhost'
+SHOW GRANTS FOR 'testuser2'@'localhost';
+Grants for testuser2@localhost
+GRANT USAGE ON *.* TO 'testuser2'@'localhost'
+GRANT ALL PRIVILEGES ON `db_datadict`.`tb1` TO 'testuser2'@'localhost' WITH GRANT OPTION
+SHOW GRANTS FOR 'testuser3'@'localhost';
+Grants for testuser3@localhost
+GRANT USAGE ON *.* TO 'testuser3'@'localhost'
+GRANT SELECT ON `db_datadict`.`tb3` TO 'testuser3'@'localhost'
+DROP USER 'testuser1'@'localhost';
+DROP USER 'testuser2'@'localhost';
+DROP USER 'testuser3'@'localhost';
+DROP DATABASE db_datadict;
+################################################################################
+# 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.TABLE_PRIVILEGES modifications
+################################################################################
+DROP TABLE IF EXISTS test.t1_table;
+DROP VIEW IF EXISTS test.t1_view;
+DROP DATABASE IF EXISTS db_datadict;
+CREATE DATABASE db_datadict;
+CREATE TABLE test.t1_table (f1 BIGINT)
+DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci
+COMMENT = 'Initial Comment' ENGINE = <engine_type>;
+CREATE VIEW test.t1_view AS SELECT 1;
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+DROP USER 'the_user'@'localhost';
+SELECT table_name FROM information_schema.table_privileges
+WHERE table_name LIKE 't1_%';
+table_name
+GRANT ALL ON test.t1_table TO 'testuser1'@'localhost';
+GRANT ALL ON test.t1_view TO 'testuser1'@'localhost';
+SELECT * FROM information_schema.table_privileges
+WHERE table_name LIKE 't1_%'
+ORDER BY grantee, table_schema, table_name, privilege_type;
+GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
+'testuser1'@'localhost' NULL test t1_table ALTER NO
+'testuser1'@'localhost' NULL test t1_table CREATE NO
+'testuser1'@'localhost' NULL test t1_table CREATE VIEW NO
+'testuser1'@'localhost' NULL test t1_table DELETE NO
+'testuser1'@'localhost' NULL test t1_table DROP NO
+'testuser1'@'localhost' NULL test t1_table INDEX NO
+'testuser1'@'localhost' NULL test t1_table INSERT NO
+'testuser1'@'localhost' NULL test t1_table REFERENCES NO
+'testuser1'@'localhost' NULL test t1_table SELECT NO
+'testuser1'@'localhost' NULL test t1_table SHOW VIEW NO
+'testuser1'@'localhost' NULL test t1_table TRIGGER NO
+'testuser1'@'localhost' NULL test t1_table UPDATE NO
+'testuser1'@'localhost' NULL test t1_view ALTER NO
+'testuser1'@'localhost' NULL test t1_view CREATE NO
+'testuser1'@'localhost' NULL test t1_view CREATE VIEW NO
+'testuser1'@'localhost' NULL test t1_view DELETE NO
+'testuser1'@'localhost' NULL test t1_view DROP NO
+'testuser1'@'localhost' NULL test t1_view INDEX NO
+'testuser1'@'localhost' NULL test t1_view INSERT NO
+'testuser1'@'localhost' NULL test t1_view REFERENCES NO
+'testuser1'@'localhost' NULL test t1_view SELECT NO
+'testuser1'@'localhost' NULL test t1_view SHOW VIEW NO
+'testuser1'@'localhost' NULL test t1_view TRIGGER NO
+'testuser1'@'localhost' NULL test t1_view UPDATE NO
+SELECT DISTINCT grantee, table_name FROM information_schema.table_privileges
+WHERE table_name LIKE 't1_%'
+ORDER BY grantee, table_name;
+grantee table_name
+'testuser1'@'localhost' t1_table
+'testuser1'@'localhost' t1_view
+RENAME USER 'testuser1'@'localhost' TO 'the_user'@'localhost';
+FLUSH PRIVILEGES;
+SELECT DISTINCT grantee, table_name FROM information_schema.table_privileges
+WHERE table_name LIKE 't1_%'
+ORDER BY grantee, table_name;
+grantee table_name
+'the_user'@'localhost' t1_table
+'the_user'@'localhost' t1_view
+SHOW GRANTS FOR 'testuser1'@'localhost';
+ERROR 42000: There is no such grant defined for user 'testuser1' on host 'localhost'
+SHOW GRANTS FOR 'the_user'@'localhost';
+Grants for the_user@localhost
+GRANT USAGE ON *.* TO 'the_user'@'localhost'
+GRANT ALL PRIVILEGES ON `test`.`t1_view` TO 'the_user'@'localhost'
+GRANT ALL PRIVILEGES ON `test`.`t1_table` TO 'the_user'@'localhost'
+SELECT DISTINCT table_schema,table_name FROM information_schema.table_privileges
+WHERE table_name LIKE 't1_%'
+ORDER BY table_schema,table_name;
+table_schema table_name
+test t1_table
+test t1_view
+RENAME TABLE test.t1_table TO db_datadict.t1_table;
+RENAME TABLE test.t1_view TO db_datadict.t1_view;
+ERROR HY000: Changing schema from 'test' to 'db_datadict' is not allowed.
+SELECT DISTINCT table_schema,table_name FROM information_schema.table_privileges
+WHERE table_name LIKE 't1_%'
+ORDER BY table_schema,table_name;
+table_schema table_name
+test t1_table
+test t1_view
+SHOW GRANTS FOR 'the_user'@'localhost';
+Grants for the_user@localhost
+GRANT USAGE ON *.* TO 'the_user'@'localhost'
+GRANT ALL PRIVILEGES ON `test`.`t1_view` TO 'the_user'@'localhost'
+GRANT ALL PRIVILEGES ON `test`.`t1_table` TO 'the_user'@'localhost'
+REVOKE ALL PRIVILEGES ON test.t1_table FROM 'the_user'@'localhost';
+REVOKE ALL PRIVILEGES ON test.t1_view FROM 'the_user'@'localhost';
+DROP VIEW test.t1_view;
+CREATE VIEW db_datadict.t1_view AS SELECT 1;
+GRANT ALL ON db_datadict.t1_table TO 'the_user'@'localhost';
+GRANT ALL ON db_datadict.t1_view TO 'the_user'@'localhost';
+SELECT DISTINCT table_name FROM information_schema.table_privileges
+WHERE table_name LIKE 't1_%'
+ORDER BY table_name;
+table_name
+t1_table
+t1_view
+RENAME TABLE db_datadict.t1_table TO db_datadict.t1_tablex;
+RENAME TABLE db_datadict.t1_view TO db_datadict.t1_viewx;
+SELECT DISTINCT table_name FROM information_schema.table_privileges
+WHERE table_name LIKE 't1_%'
+ORDER BY table_name;
+table_name
+t1_table
+t1_view
+RENAME TABLE db_datadict.t1_tablex TO db_datadict.t1_table;
+RENAME TABLE db_datadict.t1_viewx TO db_datadict.t1_view;
+SELECT DISTINCT table_name FROM information_schema.table_privileges
+WHERE table_name LIKE 't1_%'
+ORDER BY table_name;
+table_name
+t1_table
+t1_view
+DROP TABLE db_datadict.t1_table;
+DROP VIEW db_datadict.t1_view;
+SELECT DISTINCT table_name FROM information_schema.table_privileges
+WHERE table_name LIKE 't1_%'
+ORDER BY table_name;
+table_name
+t1_table
+t1_view
+CREATE TABLE db_datadict.t1_table
+ENGINE = <engine_type> AS
+SELECT 1;
+CREATE VIEW db_datadict.t1_view AS SELECT 1;
+GRANT ALL ON db_datadict.t1_table TO 'the_user'@'localhost';
+GRANT ALL ON db_datadict.t1_view TO 'the_user'@'localhost';
+SELECT DISTINCT table_name FROM information_schema.table_privileges
+WHERE table_name LIKE 't1_%'
+ORDER BY table_name;
+table_name
+t1_table
+t1_view
+DROP DATABASE db_datadict;
+SELECT DISTINCT table_name FROM information_schema.table_privileges
+WHERE table_name LIKE 't1_%'
+ORDER BY table_name;
+table_name
+t1_table
+t1_view
+DROP USER 'the_user'@'localhost';
+########################################################################
+# Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and
+# DDL on INFORMATION_SCHEMA table are not supported
+########################################################################
+DROP DATABASE IF EXISTS db_datadict;
+CREATE DATABASE db_datadict;
+CREATE TABLE db_datadict.t1 (f1 BIGINT, f2 BIGINT)
+ENGINE = <engine_type>;
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+GRANT SELECT (f1) ON db_datadict.t1 TO 'testuser1'@'localhost';
+INSERT INTO information_schema.table_privileges
+SELECT * FROM information_schema.table_privileges;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+UPDATE information_schema.table_privileges SET table_schema = 'test'
+WHERE table_name = 't1';
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DELETE FROM information_schema.table_privileges WHERE table_name = 't1';
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+TRUNCATE information_schema.table_privileges;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+CREATE INDEX my_idx_on_tables
+ON information_schema.table_privileges(table_schema);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.table_privileges ADD f1 INT;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DROP TABLE information_schema.table_privileges;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.table_privileges
+RENAME db_datadict.table_privileges;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.table_privileges
+RENAME information_schema.xtable_privileges;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DROP DATABASE db_datadict;
+DROP USER 'testuser1'@'localhost';
diff --git a/mysql-test/suite/funcs_1/r/is_tables.result b/mysql-test/suite/funcs_1/r/is_tables.result
new file mode 100644
index 00000000000..1ed97e52c6c
--- /dev/null
+++ b/mysql-test/suite/funcs_1/r/is_tables.result
@@ -0,0 +1,419 @@
+SHOW TABLES FROM information_schema LIKE 'TABLES';
+Tables_in_information_schema (TABLES)
+TABLES
+#######################################################################
+# Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT
+#######################################################################
+DROP VIEW IF EXISTS test.v1;
+DROP PROCEDURE IF EXISTS test.p1;
+DROP FUNCTION IF EXISTS test.f1;
+CREATE VIEW test.v1 AS SELECT * FROM information_schema.TABLES;
+CREATE PROCEDURE test.p1() SELECT * FROM information_schema.TABLES;
+CREATE FUNCTION test.f1() returns BIGINT
+BEGIN
+DECLARE counter BIGINT DEFAULT NULL;
+SELECT COUNT(*) INTO counter FROM information_schema.TABLES;
+RETURN counter;
+END//
+# Attention: The printing of the next result sets is disabled.
+SELECT * FROM information_schema.TABLES;
+SELECT * FROM test.v1;
+CALL test.p1;
+SELECT test.f1();
+DROP VIEW test.v1;
+DROP PROCEDURE test.p1;
+DROP FUNCTION test.f1;
+#########################################################################
+# Testcase 3.2.12.1: INFORMATION_SCHEMA.TABLES layout
+#########################################################################
+DESCRIBE information_schema.TABLES;
+Field Type Null Key Default Extra
+TABLE_CATALOG varchar(512) YES NULL
+TABLE_SCHEMA varchar(64) NO
+TABLE_NAME varchar(64) NO
+TABLE_TYPE varchar(64) NO
+ENGINE varchar(64) YES NULL
+VERSION bigint(21) unsigned YES NULL
+ROW_FORMAT varchar(10) YES NULL
+TABLE_ROWS bigint(21) unsigned YES NULL
+AVG_ROW_LENGTH bigint(21) unsigned YES NULL
+DATA_LENGTH bigint(21) unsigned YES NULL
+MAX_DATA_LENGTH bigint(21) unsigned YES NULL
+INDEX_LENGTH bigint(21) unsigned YES NULL
+DATA_FREE bigint(21) unsigned YES NULL
+AUTO_INCREMENT bigint(21) unsigned YES NULL
+CREATE_TIME datetime YES NULL
+UPDATE_TIME datetime YES NULL
+CHECK_TIME datetime YES NULL
+TABLE_COLLATION varchar(64) YES NULL
+CHECKSUM bigint(21) unsigned YES NULL
+CREATE_OPTIONS varchar(255) YES NULL
+TABLE_COMMENT varchar(80) NO
+SHOW CREATE TABLE information_schema.TABLES;
+Table Create Table
+TABLES CREATE TEMPORARY TABLE `TABLES` (
+ `TABLE_CATALOG` varchar(512) DEFAULT NULL,
+ `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
+ `TABLE_NAME` varchar(64) NOT NULL DEFAULT '',
+ `TABLE_TYPE` varchar(64) NOT NULL DEFAULT '',
+ `ENGINE` varchar(64) DEFAULT NULL,
+ `VERSION` bigint(21) unsigned DEFAULT NULL,
+ `ROW_FORMAT` varchar(10) DEFAULT NULL,
+ `TABLE_ROWS` bigint(21) unsigned DEFAULT NULL,
+ `AVG_ROW_LENGTH` bigint(21) unsigned DEFAULT NULL,
+ `DATA_LENGTH` bigint(21) unsigned DEFAULT NULL,
+ `MAX_DATA_LENGTH` bigint(21) unsigned DEFAULT NULL,
+ `INDEX_LENGTH` bigint(21) unsigned DEFAULT NULL,
+ `DATA_FREE` bigint(21) unsigned DEFAULT NULL,
+ `AUTO_INCREMENT` bigint(21) unsigned DEFAULT NULL,
+ `CREATE_TIME` datetime DEFAULT NULL,
+ `UPDATE_TIME` datetime DEFAULT NULL,
+ `CHECK_TIME` datetime DEFAULT NULL,
+ `TABLE_COLLATION` varchar(64) DEFAULT NULL,
+ `CHECKSUM` bigint(21) unsigned DEFAULT NULL,
+ `CREATE_OPTIONS` varchar(255) DEFAULT NULL,
+ `TABLE_COMMENT` varchar(80) NOT NULL DEFAULT ''
+) ENGINE=MEMORY DEFAULT CHARSET=utf8
+SHOW COLUMNS FROM information_schema.TABLES;
+Field Type Null Key Default Extra
+TABLE_CATALOG varchar(512) YES NULL
+TABLE_SCHEMA varchar(64) NO
+TABLE_NAME varchar(64) NO
+TABLE_TYPE varchar(64) NO
+ENGINE varchar(64) YES NULL
+VERSION bigint(21) unsigned YES NULL
+ROW_FORMAT varchar(10) YES NULL
+TABLE_ROWS bigint(21) unsigned YES NULL
+AVG_ROW_LENGTH bigint(21) unsigned YES NULL
+DATA_LENGTH bigint(21) unsigned YES NULL
+MAX_DATA_LENGTH bigint(21) unsigned YES NULL
+INDEX_LENGTH bigint(21) unsigned YES NULL
+DATA_FREE bigint(21) unsigned YES NULL
+AUTO_INCREMENT bigint(21) unsigned YES NULL
+CREATE_TIME datetime YES NULL
+UPDATE_TIME datetime YES NULL
+CHECK_TIME datetime YES NULL
+TABLE_COLLATION varchar(64) YES NULL
+CHECKSUM bigint(21) unsigned YES NULL
+CREATE_OPTIONS varchar(255) YES NULL
+TABLE_COMMENT varchar(80) NO
+SELECT table_catalog, table_schema, table_name
+FROM information_schema.tables WHERE table_catalog IS NOT NULL;
+table_catalog table_schema table_name
+################################################################################
+# Testcase 3.2.12.2 + 3.2.12.3: INFORMATION_SCHEMA.TABLES accessible information
+################################################################################
+DROP DATABASE IF EXISTS db_datadict;
+CREATE DATABASE db_datadict;
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+GRANT CREATE, CREATE VIEW, INSERT, SELECT ON db_datadict.*
+TO 'testuser1'@'localhost' WITH GRANT OPTION;
+DROP USER 'testuser2'@'localhost';
+CREATE USER 'testuser2'@'localhost';
+DROP USER 'testuser3'@'localhost';
+CREATE USER 'testuser3'@'localhost';
+CREATE TABLE db_datadict.tb1 (f1 INT, f2 INT, f3 INT)
+ENGINE = <engine_type>;
+GRANT SELECT ON db_datadict.tb1 TO 'testuser1'@'localhost';
+GRANT ALL ON db_datadict.tb1 TO 'testuser2'@'localhost' WITH GRANT OPTION;
+# Establish connection testuser1 (user=testuser1)
+CREATE TABLE tb2 (f1 DECIMAL)
+ENGINE = <engine_type>;
+CREATE TABLE tb3 (f1 VARCHAR(200))
+ENGINE = <engine_type>;
+GRANT SELECT ON db_datadict.tb3 to 'testuser3'@'localhost';
+GRANT INSERT ON db_datadict.tb3 to 'testuser2'@'localhost';
+CREATE VIEW v3 AS SELECT * FROM tb3;
+GRANT SELECT ON db_datadict.v3 to 'testuser3'@'localhost';
+SELECT * FROM information_schema.tables
+WHERE table_schema = 'db_datadict' ORDER BY table_name;
+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
+NULL db_datadict tb1 BASE TABLE #ENG# 10 #RF# 0 #ARL# #DL# #MDL# #IL# #DF# NULL #CRT #UT# #CT# latin1_swedish_ci #CS#
+NULL db_datadict tb2 BASE TABLE #ENG# 10 #RF# 0 #ARL# #DL# #MDL# #IL# #DF# NULL #CRT #UT# #CT# latin1_swedish_ci #CS#
+NULL db_datadict tb3 BASE TABLE #ENG# 10 #RF# 0 #ARL# #DL# #MDL# #IL# #DF# NULL #CRT #UT# #CT# latin1_swedish_ci #CS#
+NULL db_datadict v3 VIEW #ENG# NULL #RF# NULL #ARL# #DL# #MDL# #IL# #DF# NULL #CRT #UT# #CT# NULL #CS# NULL VIEW
+SHOW TABLES FROM db_datadict;
+Tables_in_db_datadict
+tb1
+tb2
+tb3
+v3
+# Establish connection testuser2 (user=testuser2)
+SELECT * FROM information_schema.tables
+WHERE table_schema = 'db_datadict' ORDER BY table_name;
+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
+NULL db_datadict tb1 BASE TABLE #ENG# 10 #RF# 0 #ARL# #DL# #MDL# #IL# #DF# NULL #CRT #UT# #CT# latin1_swedish_ci #CS#
+NULL db_datadict tb3 BASE TABLE #ENG# 10 #RF# 0 #ARL# #DL# #MDL# #IL# #DF# NULL #CRT #UT# #CT# latin1_swedish_ci #CS#
+SHOW TABLES FROM db_datadict;
+Tables_in_db_datadict
+tb1
+tb3
+# Establish connection testuser3 (user=testuser3)
+SELECT * FROM information_schema.tables
+WHERE table_schema = 'db_datadict' ORDER BY table_name;
+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
+NULL db_datadict tb3 BASE TABLE #ENG# 10 #RF# 0 #ARL# #DL# #MDL# #IL# #DF# NULL #CRT #UT# #CT# latin1_swedish_ci #CS#
+NULL db_datadict v3 VIEW #ENG# NULL #RF# NULL #ARL# #DL# #MDL# #IL# #DF# NULL #CRT #UT# #CT# NULL #CS# NULL VIEW
+SHOW TABLES FROM db_datadict;
+Tables_in_db_datadict
+tb3
+v3
+# Switch to connection default (user=root)
+SELECT * FROM information_schema.tables
+WHERE table_schema = 'db_datadict' ORDER BY table_name;
+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
+NULL db_datadict tb1 BASE TABLE #ENG# 10 #RF# 0 #ARL# #DL# #MDL# #IL# #DF# NULL #CRT #UT# #CT# latin1_swedish_ci #CS#
+NULL db_datadict tb2 BASE TABLE #ENG# 10 #RF# 0 #ARL# #DL# #MDL# #IL# #DF# NULL #CRT #UT# #CT# latin1_swedish_ci #CS#
+NULL db_datadict tb3 BASE TABLE #ENG# 10 #RF# 0 #ARL# #DL# #MDL# #IL# #DF# NULL #CRT #UT# #CT# latin1_swedish_ci #CS#
+NULL db_datadict v3 VIEW #ENG# NULL #RF# NULL #ARL# #DL# #MDL# #IL# #DF# NULL #CRT #UT# #CT# NULL #CS# NULL VIEW
+SHOW TABLES FROM db_datadict;
+Tables_in_db_datadict
+tb1
+tb2
+tb3
+v3
+# Close connection testuser1, testuser2, testuser3
+DROP USER 'testuser1'@'localhost';
+DROP USER 'testuser2'@'localhost';
+DROP USER 'testuser3'@'localhost';
+DROP DATABASE db_datadict;
+#########################################################################
+# 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.TABLES modifications
+#########################################################################
+DROP TABLE IF EXISTS test.t1_my_table;
+DROP DATABASE IF EXISTS db_datadict;
+CREATE DATABASE db_datadict;
+SELECT table_name FROM information_schema.tables
+WHERE table_name LIKE 't1_my_table%';
+table_name
+CREATE TABLE test.t1_my_table (f1 BIGINT)
+DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci
+COMMENT = 'Initial Comment' ENGINE = <engine_type>;
+SELECT * FROM information_schema.tables
+WHERE table_name = 't1_my_table';
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME t1_my_table
+TABLE_TYPE BASE TABLE
+ENGINE #ENG#
+VERSION 10
+ROW_FORMAT #RF#
+TABLE_ROWS 0
+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 #CS#
+CREATE_OPTIONS
+TABLE_COMMENT Initial Comment
+SELECT table_name FROM information_schema.tables
+WHERE table_name LIKE 't1_my_table%';
+table_name
+t1_my_table
+RENAME TABLE test.t1_my_table TO test.t1_my_tablex;
+SELECT table_name FROM information_schema.tables
+WHERE table_name LIKE 't1_my_table%';
+table_name
+t1_my_tablex
+SELECT table_schema,table_name FROM information_schema.tables
+WHERE table_name = 't1_my_tablex';
+table_schema table_name
+test t1_my_tablex
+RENAME TABLE test.t1_my_tablex TO db_datadict.t1_my_tablex;
+SELECT table_schema,table_name FROM information_schema.tables
+WHERE table_name = 't1_my_tablex';
+table_schema table_name
+db_datadict t1_my_tablex
+SELECT table_name, engine FROM information_schema.tables
+WHERE table_name = 't1_my_tablex';
+table_name engine
+t1_my_tablex <engine_type>
+ALTER TABLE db_datadict.t1_my_tablex
+ENGINE = <other_engine_type>;
+SELECT table_name, engine FROM information_schema.tables
+WHERE table_name = 't1_my_tablex';
+table_name engine
+t1_my_tablex <other_engine_type>
+SELECT table_name, table_rows FROM information_schema.tables
+WHERE table_name = 't1_my_tablex';
+table_name table_rows
+t1_my_tablex 0
+INSERT INTO db_datadict.t1_my_tablex VALUES(1),(2);
+SELECT table_name, table_rows FROM information_schema.tables
+WHERE table_name = 't1_my_tablex';
+table_name table_rows
+t1_my_tablex 2
+SELECT table_name, table_collation FROM information_schema.tables
+WHERE table_name = 't1_my_tablex';
+table_name table_collation
+t1_my_tablex latin1_swedish_ci
+ALTER TABLE db_datadict.t1_my_tablex DEFAULT CHARACTER SET utf8;
+SELECT table_name, table_collation FROM information_schema.tables
+WHERE table_name = 't1_my_tablex';
+table_name table_collation
+t1_my_tablex utf8_general_ci
+SELECT table_name, table_collation FROM information_schema.tables
+WHERE table_name = 't1_my_tablex';
+table_name table_collation
+t1_my_tablex utf8_general_ci
+ALTER TABLE db_datadict.t1_my_tablex
+DEFAULT CHARACTER SET latin1 COLLATE latin1_german1_ci;
+SELECT table_name, table_collation FROM information_schema.tables
+WHERE table_name = 't1_my_tablex';
+table_name table_collation
+t1_my_tablex latin1_german1_ci
+SELECT table_name, TABLE_COMMENT FROM information_schema.tables
+WHERE table_name = 't1_my_tablex';
+table_name TABLE_COMMENT
+t1_my_tablex Initial Comment
+ALTER TABLE db_datadict.t1_my_tablex COMMENT 'Changed Comment';
+SELECT table_name, TABLE_COMMENT FROM information_schema.tables
+WHERE table_name = 't1_my_tablex';
+table_name TABLE_COMMENT
+t1_my_tablex Changed Comment
+SELECT table_name, AUTO_INCREMENT FROM information_schema.tables
+WHERE table_name = 't1_my_tablex';
+table_name AUTO_INCREMENT
+t1_my_tablex NULL
+ALTER TABLE db_datadict.t1_my_tablex
+ADD f2 BIGINT AUTO_INCREMENT, ADD PRIMARY KEY (f2);
+SELECT table_name, AUTO_INCREMENT FROM information_schema.tables
+WHERE table_name = 't1_my_tablex';
+table_name AUTO_INCREMENT
+t1_my_tablex 3
+SELECT table_name, ROW_FORMAT FROM information_schema.tables
+WHERE table_name = 't1_my_tablex';
+table_name ROW_FORMAT
+t1_my_tablex Fixed
+ALTER TABLE db_datadict.t1_my_tablex ROW_FORMAT = dynamic;
+SELECT table_name, ROW_FORMAT FROM information_schema.tables
+WHERE table_name = 't1_my_tablex';
+table_name ROW_FORMAT
+t1_my_tablex Dynamic
+SELECT table_name, checksum FROM information_schema.tables
+WHERE table_name = 't1_my_tablex';
+table_name checksum
+t1_my_tablex NULL
+ALTER TABLE db_datadict.t1_my_tablex CHECKSUM = 1;
+SELECT table_name, checksum IS NOT NULL FROM information_schema.tables
+WHERE table_name = 't1_my_tablex';
+table_name checksum IS NOT NULL
+t1_my_tablex 1
+SELECT UPDATE_TIME, checksum INTO @UPDATE_TIME, @checksum
+FROM information_schema.tables
+WHERE table_name = 't1_my_tablex';
+INSERT INTO db_datadict.t1_my_tablex SET f1 = 3;
+SELECT UPDATE_TIME > @UPDATE_TIME
+AS "Is current UPDATE_TIME bigger than before last INSERT?"
+FROM information_schema.tables
+WHERE table_name = 't1_my_tablex';
+Is current UPDATE_TIME bigger than before last INSERT?
+1
+SELECT checksum <> @checksum
+AS "Is current CHECKSUM different than before last INSERT?"
+FROM information_schema.tables
+WHERE table_name = 't1_my_tablex';
+Is current CHECKSUM different than before last INSERT?
+1
+SELECT CREATE_TIME INTO @CREATE_TIME FROM information_schema.tables
+WHERE table_name = 't1_my_tablex';
+SELECT table_name FROM information_schema.tables
+WHERE table_name LIKE 't1_my_table%';
+table_name
+t1_my_tablex
+DROP TABLE db_datadict.t1_my_tablex;
+SELECT table_name FROM information_schema.tables
+WHERE table_name LIKE 't1_my_table%';
+table_name
+CREATE TABLE test.t1_my_tablex (f1 BIGINT)
+ENGINE = <other_engine_type>;
+SELECT CREATE_TIME > @CREATE_TIME
+AS "Is current CREATE_TIME bigger than for the old dropped table?"
+FROM information_schema.tables
+WHERE table_name = 't1_my_tablex';
+Is current CREATE_TIME bigger than for the old dropped table?
+1
+DROP TABLE test.t1_my_tablex;
+CREATE VIEW test.t1_my_tablex AS SELECT 1;
+SELECT * FROM information_schema.tables
+WHERE table_name = 't1_my_tablex';
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME t1_my_tablex
+TABLE_TYPE VIEW
+ENGINE NULL
+VERSION NULL
+ROW_FORMAT NULL
+TABLE_ROWS NULL
+AVG_ROW_LENGTH NULL
+DATA_LENGTH NULL
+MAX_DATA_LENGTH NULL
+INDEX_LENGTH NULL
+DATA_FREE NULL
+AUTO_INCREMENT NULL
+CREATE_TIME NULL
+UPDATE_TIME NULL
+CHECK_TIME NULL
+TABLE_COLLATION NULL
+CHECKSUM NULL
+CREATE_OPTIONS NULL
+TABLE_COMMENT VIEW
+DROP VIEW test.t1_my_tablex;
+SELECT table_name FROM information_schema.tables
+WHERE table_name = 't1_my_tablex';
+table_name
+CREATE TEMPORARY TABLE test.t1_my_tablex
+ENGINE = <other_engine_type>
+AS SELECT 1;
+SELECT table_name, table_type FROM information_schema.tables
+WHERE table_name = 't1_my_tablex';
+DROP TEMPORARY TABLE test.t1_my_tablex;
+CREATE TABLE db_datadict.t1_my_tablex
+ENGINE = <engine_type> AS
+SELECT 1;
+SELECT table_name FROM information_schema.tables
+WHERE table_name = 't1_my_tablex';
+table_name
+t1_my_tablex
+DROP DATABASE db_datadict;
+SELECT table_name FROM information_schema.tables
+WHERE table_name = 't1_my_tablex';
+table_name
+########################################################################
+# Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and
+# DDL on INFORMATION_SCHEMA tables are not supported
+########################################################################
+DROP DATABASE IF EXISTS db_datadict;
+CREATE DATABASE db_datadict;
+CREATE TABLE db_datadict.t1 (f1 BIGINT)
+ENGINE = <engine_type>;
+INSERT INTO information_schema.tables
+SELECT * FROM information_schema.tables;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+UPDATE information_schema.tables SET table_schema = 'test'
+WHERE table_name = 't1';
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DELETE FROM information_schema.tables WHERE table_name = 't1';
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+TRUNCATE information_schema.tables;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+CREATE INDEX my_idx_on_tables ON information_schema.tables(table_schema);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.tables DROP PRIMARY KEY;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.tables ADD f1 INT;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DROP TABLE information_schema.tables;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.tables RENAME db_datadict.tables;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.tables RENAME information_schema.xtables;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DROP DATABASE db_datadict;
diff --git a/mysql-test/suite/funcs_1/r/is_tables_innodb.result b/mysql-test/suite/funcs_1/r/is_tables_innodb.result
new file mode 100644
index 00000000000..215e2c86654
--- /dev/null
+++ b/mysql-test/suite/funcs_1/r/is_tables_innodb.result
@@ -0,0 +1,1073 @@
+DROP DATABASE IF EXISTS test1;
+CREATE DATABASE test1;
+USE test;
+drop table if exists tb1 ;
+create table tb1 (
+f1 char(0),
+f2 char(0) binary,
+f3 char(0) ascii,
+f4 tinytext unicode,
+f5 text,
+f6 mediumtext,
+f7 longtext,
+f8 tinyblob,
+f9 blob,
+f10 mediumblob,
+f11 longblob,
+f12 binary,
+f13 tinyint,
+f14 tinyint unsigned,
+f15 tinyint zerofill,
+f16 tinyint unsigned zerofill,
+f17 smallint,
+f18 smallint unsigned,
+f19 smallint zerofill,
+f20 smallint unsigned zerofill,
+f21 mediumint,
+f22 mediumint unsigned,
+f23 mediumint zerofill,
+f24 mediumint unsigned zerofill,
+f25 int,
+f26 int unsigned,
+f27 int zerofill,
+f28 int unsigned zerofill,
+f29 bigint,
+f30 bigint unsigned,
+f31 bigint zerofill,
+f32 bigint unsigned zerofill,
+f33 decimal,
+f34 decimal unsigned,
+f35 decimal zerofill,
+f36 decimal unsigned zerofill not null DEFAULT 9.9,
+f37 decimal (0) not null DEFAULT 9.9,
+f38 decimal (64) not null DEFAULT 9.9,
+f39 decimal (0) unsigned not null DEFAULT 9.9,
+f40 decimal (64) unsigned not null DEFAULT 9.9,
+f41 decimal (0) zerofill not null DEFAULT 9.9,
+f42 decimal (64) zerofill not null DEFAULT 9.9,
+f43 decimal (0) unsigned zerofill not null DEFAULT 9.9,
+f44 decimal (64) unsigned zerofill not null DEFAULT 9.9,
+f45 decimal (0,0) not null DEFAULT 9.9,
+f46 decimal (63,30) not null DEFAULT 9.9,
+f47 decimal (0,0) unsigned not null DEFAULT 9.9,
+f48 decimal (63,30) unsigned not null DEFAULT 9.9,
+f49 decimal (0,0) zerofill not null DEFAULT 9.9,
+f50 decimal (63,30) zerofill not null DEFAULT 9.9,
+f51 decimal (0,0) unsigned zerofill not null DEFAULT 9.9,
+f52 decimal (63,30) unsigned zerofill not null DEFAULT 9.9,
+f53 numeric not null DEFAULT 99,
+f54 numeric unsigned not null DEFAULT 99,
+f55 numeric zerofill not null DEFAULT 99,
+f56 numeric unsigned zerofill not null DEFAULT 99,
+f57 numeric (0) not null DEFAULT 99,
+f58 numeric (64) not null DEFAULT 99
+) engine = innodb;
+Warnings:
+Note 1265 Data truncated for column 'f36' at row 1
+Note 1265 Data truncated for column 'f37' at row 1
+Note 1265 Data truncated for column 'f38' at row 1
+Note 1265 Data truncated for column 'f39' at row 1
+Note 1265 Data truncated for column 'f40' at row 1
+Note 1265 Data truncated for column 'f41' at row 1
+Note 1265 Data truncated for column 'f42' at row 1
+Note 1265 Data truncated for column 'f43' at row 1
+Note 1265 Data truncated for column 'f44' at row 1
+Note 1265 Data truncated for column 'f45' at row 1
+Note 1265 Data truncated for column 'f47' at row 1
+Note 1265 Data truncated for column 'f49' at row 1
+Note 1265 Data truncated for column 'f51' at row 1
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/innodb_tb1.txt'
+into table tb1;
+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 = innodb;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/innodb_tb2.txt'
+into table tb2;
+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 tinytext,
+f122 text,
+f123 mediumtext,
+f124 longtext unicode,
+f125 tinyblob,
+f126 blob,
+f127 mediumblob,
+f128 longblob,
+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 = innodb;
+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_ln/funcs_1/innodb_tb3.txt'
+into table tb3;
+drop table if exists tb4;
+create table tb4 (
+f176 numeric (0) unsigned not null DEFAULT 9,
+f177 numeric (64) unsigned not null DEFAULT 9,
+f178 numeric (0) zerofill not null DEFAULT 9,
+f179 numeric (64) zerofill not null DEFAULT 9,
+f180 numeric (0) unsigned zerofill not null DEFAULT 9,
+f181 numeric (64) unsigned zerofill not null DEFAULT 9,
+f182 numeric (0,0) not null DEFAULT 9,
+f183 numeric (63,30) not null DEFAULT 9,
+f184 numeric (0,0) unsigned not null DEFAULT 9,
+f185 numeric (63,30) unsigned not null DEFAULT 9,
+f186 numeric (0,0) zerofill not null DEFAULT 9,
+f187 numeric (63,30) zerofill not null DEFAULT 9,
+f188 numeric (0,0) unsigned zerofill not null DEFAULT 9,
+f189 numeric (63,30) unsigned zerofill not null DEFAULT 9,
+f190 real not null DEFAULT 88.8,
+f191 real unsigned not null DEFAULT 88.8,
+f192 real zerofill not null DEFAULT 88.8,
+f193 real unsigned zerofill not null DEFAULT 88.8,
+f194 double not null DEFAULT 55.5,
+f195 double unsigned not null DEFAULT 55.5,
+f196 double zerofill not null DEFAULT 55.5,
+f197 double unsigned zerofill not null DEFAULT 55.5,
+f198 float,
+f199 float unsigned,
+f200 float zerofill,
+f201 float unsigned zerofill,
+f202 float(0),
+f203 float(23),
+f204 float(0) unsigned,
+f205 float(23) unsigned,
+f206 float(0) zerofill,
+f207 float(23) zerofill,
+f208 float(0) unsigned zerofill,
+f209 float(23) unsigned zerofill,
+f210 float(24),
+f211 float(53),
+f212 float(24) unsigned,
+f213 float(53) unsigned,
+f214 float(24) zerofill,
+f215 float(53) zerofill,
+f216 float(24) unsigned zerofill,
+f217 float(53) unsigned zerofill,
+f218 date,
+f219 time,
+f220 datetime,
+f221 timestamp,
+f222 year,
+f223 year(3),
+f224 year(4),
+f225 enum("1enum","2enum"),
+f226 set("1set","2set"),
+f235 char(0) unicode,
+f236 char(90),
+f237 char(255) ascii,
+f238 varchar(0),
+f239 varchar(20000) binary,
+f240 varchar(2000) unicode,
+f241 char(100) unicode
+) engine = innodb;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/innodb_tb4.txt'
+into table tb4;
+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 = innodb;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/innodb_tb2.txt'
+into table tb2;
+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 = InnoDB;
+CREATE TABLE t2 (f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
+ENGINE = InnoDB;
+CREATE TABLE t4 (f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
+ENGINE = InnoDB;
+CREATE TABLE t10 (f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
+ENGINE = InnoDB;
+CREATE TABLE t11 (f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
+ENGINE = InnoDB;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/t4.txt' INTO TABLE t1;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/t4.txt' INTO TABLE t2;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/t4.txt' INTO TABLE t4;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/t4.txt' INTO TABLE t10;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/t4.txt' INTO TABLE t11;
+drop TABLE if exists t3;
+CREATE TABLE t3 (f1 char(20), f2 char(20), f3 integer) ENGINE = InnoDB;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/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 = InnoDB;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/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 = InnoDB;
+CREATE TABLE t8 (f1 char(20),f2 char(25),f3 date,f4 int) ENGINE = InnoDB;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/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_ln/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 = InnoDB;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/t9.txt' INTO TABLE t9;
+DROP DATABASE IF EXISTS db_datadict;
+CREATE DATABASE db_datadict;
+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 NULL
+TABLE_SCHEMA test
+TABLE_NAME t1
+TABLE_TYPE BASE TABLE
+ENGINE InnoDB
+VERSION 10
+ROW_FORMAT Compact
+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 NULL
+TABLE_SCHEMA test
+TABLE_NAME t10
+TABLE_TYPE BASE TABLE
+ENGINE InnoDB
+VERSION 10
+ROW_FORMAT Compact
+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 NULL
+TABLE_SCHEMA test
+TABLE_NAME t11
+TABLE_TYPE BASE TABLE
+ENGINE InnoDB
+VERSION 10
+ROW_FORMAT Compact
+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 NULL
+TABLE_SCHEMA test
+TABLE_NAME t2
+TABLE_TYPE BASE TABLE
+ENGINE InnoDB
+VERSION 10
+ROW_FORMAT Compact
+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 NULL
+TABLE_SCHEMA test
+TABLE_NAME t3
+TABLE_TYPE BASE TABLE
+ENGINE InnoDB
+VERSION 10
+ROW_FORMAT Compact
+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 NULL
+TABLE_SCHEMA test
+TABLE_NAME t4
+TABLE_TYPE BASE TABLE
+ENGINE InnoDB
+VERSION 10
+ROW_FORMAT Compact
+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 NULL
+TABLE_SCHEMA test
+TABLE_NAME t7
+TABLE_TYPE BASE TABLE
+ENGINE InnoDB
+VERSION 10
+ROW_FORMAT Compact
+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 NULL
+TABLE_SCHEMA test
+TABLE_NAME t8
+TABLE_TYPE BASE TABLE
+ENGINE InnoDB
+VERSION 10
+ROW_FORMAT Compact
+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 NULL
+TABLE_SCHEMA test
+TABLE_NAME t9
+TABLE_TYPE BASE TABLE
+ENGINE InnoDB
+VERSION 10
+ROW_FORMAT Compact
+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 NULL
+TABLE_SCHEMA test
+TABLE_NAME tb1
+TABLE_TYPE BASE TABLE
+ENGINE InnoDB
+VERSION 10
+ROW_FORMAT Compact
+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 NULL
+TABLE_SCHEMA test
+TABLE_NAME tb2
+TABLE_TYPE BASE TABLE
+ENGINE InnoDB
+VERSION 10
+ROW_FORMAT Compact
+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 NULL
+TABLE_SCHEMA test
+TABLE_NAME tb3
+TABLE_TYPE BASE TABLE
+ENGINE InnoDB
+VERSION 10
+ROW_FORMAT Compact
+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 NULL
+TABLE_SCHEMA test
+TABLE_NAME tb4
+TABLE_TYPE BASE TABLE
+ENGINE InnoDB
+VERSION 10
+ROW_FORMAT Compact
+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 NULL
+TABLE_SCHEMA test1
+TABLE_NAME tb2
+TABLE_TYPE BASE TABLE
+ENGINE InnoDB
+VERSION 10
+ROW_FORMAT Compact
+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 NULL
+TABLE_SCHEMA test4
+TABLE_NAME t6
+TABLE_TYPE BASE TABLE
+ENGINE InnoDB
+VERSION 10
+ROW_FORMAT Compact
+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 -----------------------------------------------------
+DROP USER testuser1@localhost;
+CREATE USER testuser1@localhost;
+GRANT SELECT ON db_datadict.* 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 NULL
+TABLE_SCHEMA test
+TABLE_NAME t1
+TABLE_TYPE BASE TABLE
+ENGINE InnoDB
+VERSION 10
+ROW_FORMAT Compact
+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 NULL
+TABLE_SCHEMA test
+TABLE_NAME t10
+TABLE_TYPE BASE TABLE
+ENGINE InnoDB
+VERSION 10
+ROW_FORMAT Compact
+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 NULL
+TABLE_SCHEMA test
+TABLE_NAME t11
+TABLE_TYPE BASE TABLE
+ENGINE InnoDB
+VERSION 10
+ROW_FORMAT Compact
+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 NULL
+TABLE_SCHEMA test
+TABLE_NAME t2
+TABLE_TYPE BASE TABLE
+ENGINE InnoDB
+VERSION 10
+ROW_FORMAT Compact
+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 NULL
+TABLE_SCHEMA test
+TABLE_NAME t3
+TABLE_TYPE BASE TABLE
+ENGINE InnoDB
+VERSION 10
+ROW_FORMAT Compact
+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 NULL
+TABLE_SCHEMA test
+TABLE_NAME t4
+TABLE_TYPE BASE TABLE
+ENGINE InnoDB
+VERSION 10
+ROW_FORMAT Compact
+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 NULL
+TABLE_SCHEMA test
+TABLE_NAME t7
+TABLE_TYPE BASE TABLE
+ENGINE InnoDB
+VERSION 10
+ROW_FORMAT Compact
+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 NULL
+TABLE_SCHEMA test
+TABLE_NAME t8
+TABLE_TYPE BASE TABLE
+ENGINE InnoDB
+VERSION 10
+ROW_FORMAT Compact
+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 NULL
+TABLE_SCHEMA test
+TABLE_NAME t9
+TABLE_TYPE BASE TABLE
+ENGINE InnoDB
+VERSION 10
+ROW_FORMAT Compact
+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 NULL
+TABLE_SCHEMA test
+TABLE_NAME tb1
+TABLE_TYPE BASE TABLE
+ENGINE InnoDB
+VERSION 10
+ROW_FORMAT Compact
+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 NULL
+TABLE_SCHEMA test
+TABLE_NAME tb2
+TABLE_TYPE BASE TABLE
+ENGINE InnoDB
+VERSION 10
+ROW_FORMAT Compact
+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 NULL
+TABLE_SCHEMA test
+TABLE_NAME tb3
+TABLE_TYPE BASE TABLE
+ENGINE InnoDB
+VERSION 10
+ROW_FORMAT Compact
+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 NULL
+TABLE_SCHEMA test
+TABLE_NAME tb4
+TABLE_TYPE BASE TABLE
+ENGINE InnoDB
+VERSION 10
+ROW_FORMAT Compact
+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 -----------------------------------------------------
+# Switch to connection default and close connection testuser1
+DROP USER testuser1@localhost;
+DROP DATABASE db_datadict;
+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;
+DROP TABLE test.tb1;
+DROP TABLE test.tb2;
+DROP TABLE test.tb3;
+DROP TABLE test.tb4;
diff --git a/mysql-test/suite/funcs_1/r/is_tables_is.result b/mysql-test/suite/funcs_1/r/is_tables_is.result
new file mode 100644
index 00000000000..afef91f9e6b
--- /dev/null
+++ b/mysql-test/suite/funcs_1/r/is_tables_is.result
@@ -0,0 +1,1277 @@
+DROP DATABASE IF EXISTS db_datadict;
+CREATE DATABASE db_datadict;
+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 = 'information_schema'
+AND table_name <> 'profiling'
+ORDER BY table_schema,table_name;
+TABLE_CATALOG NULL
+TABLE_SCHEMA information_schema
+TABLE_NAME CHARACTER_SETS
+TABLE_TYPE SYSTEM VIEW
+ENGINE MEMORY
+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_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA information_schema
+TABLE_NAME COLLATIONS
+TABLE_TYPE SYSTEM VIEW
+ENGINE MEMORY
+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_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA information_schema
+TABLE_NAME COLLATION_CHARACTER_SET_APPLICABILITY
+TABLE_TYPE SYSTEM VIEW
+ENGINE MEMORY
+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_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA information_schema
+TABLE_NAME COLUMNS
+TABLE_TYPE SYSTEM VIEW
+ENGINE MyISAM
+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 utf8_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA information_schema
+TABLE_NAME COLUMN_PRIVILEGES
+TABLE_TYPE SYSTEM VIEW
+ENGINE MEMORY
+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_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA information_schema
+TABLE_NAME ENGINES
+TABLE_TYPE SYSTEM VIEW
+ENGINE MEMORY
+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_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA information_schema
+TABLE_NAME EVENTS
+TABLE_TYPE SYSTEM VIEW
+ENGINE MyISAM
+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 utf8_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA information_schema
+TABLE_NAME FILES
+TABLE_TYPE SYSTEM VIEW
+ENGINE MEMORY
+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_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA information_schema
+TABLE_NAME GLOBAL_STATUS
+TABLE_TYPE SYSTEM VIEW
+ENGINE MEMORY
+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_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA information_schema
+TABLE_NAME GLOBAL_VARIABLES
+TABLE_TYPE SYSTEM VIEW
+ENGINE MEMORY
+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_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA information_schema
+TABLE_NAME KEY_COLUMN_USAGE
+TABLE_TYPE SYSTEM VIEW
+ENGINE MEMORY
+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_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA information_schema
+TABLE_NAME PARTITIONS
+TABLE_TYPE SYSTEM VIEW
+ENGINE MyISAM
+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 utf8_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA information_schema
+TABLE_NAME PLUGINS
+TABLE_TYPE SYSTEM VIEW
+ENGINE MyISAM
+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 utf8_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA information_schema
+TABLE_NAME PROCESSLIST
+TABLE_TYPE SYSTEM VIEW
+ENGINE MyISAM
+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 utf8_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA information_schema
+TABLE_NAME REFERENTIAL_CONSTRAINTS
+TABLE_TYPE SYSTEM VIEW
+ENGINE MEMORY
+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_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA information_schema
+TABLE_NAME ROUTINES
+TABLE_TYPE SYSTEM VIEW
+ENGINE MyISAM
+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 utf8_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA information_schema
+TABLE_NAME SCHEMATA
+TABLE_TYPE SYSTEM VIEW
+ENGINE MEMORY
+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_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA information_schema
+TABLE_NAME SCHEMA_PRIVILEGES
+TABLE_TYPE SYSTEM VIEW
+ENGINE MEMORY
+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_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA information_schema
+TABLE_NAME SESSION_STATUS
+TABLE_TYPE SYSTEM VIEW
+ENGINE MEMORY
+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_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA information_schema
+TABLE_NAME SESSION_VARIABLES
+TABLE_TYPE SYSTEM VIEW
+ENGINE MEMORY
+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_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA information_schema
+TABLE_NAME STATISTICS
+TABLE_TYPE SYSTEM VIEW
+ENGINE MEMORY
+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_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA information_schema
+TABLE_NAME TABLES
+TABLE_TYPE SYSTEM VIEW
+ENGINE MEMORY
+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_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA information_schema
+TABLE_NAME TABLE_CONSTRAINTS
+TABLE_TYPE SYSTEM VIEW
+ENGINE MEMORY
+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_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA information_schema
+TABLE_NAME TABLE_PRIVILEGES
+TABLE_TYPE SYSTEM VIEW
+ENGINE MEMORY
+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_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA information_schema
+TABLE_NAME TRIGGERS
+TABLE_TYPE SYSTEM VIEW
+ENGINE MyISAM
+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 utf8_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA information_schema
+TABLE_NAME USER_PRIVILEGES
+TABLE_TYPE SYSTEM VIEW
+ENGINE MEMORY
+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_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA information_schema
+TABLE_NAME VIEWS
+TABLE_TYPE SYSTEM VIEW
+ENGINE MyISAM
+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 utf8_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+DROP USER testuser1@localhost;
+CREATE USER testuser1@localhost;
+GRANT SELECT ON db_datadict.* 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 = 'information_schema'
+AND table_name <> 'profiling'
+ORDER BY table_schema,table_name;
+TABLE_CATALOG NULL
+TABLE_SCHEMA information_schema
+TABLE_NAME CHARACTER_SETS
+TABLE_TYPE SYSTEM VIEW
+ENGINE MEMORY
+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_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA information_schema
+TABLE_NAME COLLATIONS
+TABLE_TYPE SYSTEM VIEW
+ENGINE MEMORY
+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_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA information_schema
+TABLE_NAME COLLATION_CHARACTER_SET_APPLICABILITY
+TABLE_TYPE SYSTEM VIEW
+ENGINE MEMORY
+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_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA information_schema
+TABLE_NAME COLUMNS
+TABLE_TYPE SYSTEM VIEW
+ENGINE MyISAM
+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 utf8_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA information_schema
+TABLE_NAME COLUMN_PRIVILEGES
+TABLE_TYPE SYSTEM VIEW
+ENGINE MEMORY
+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_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA information_schema
+TABLE_NAME ENGINES
+TABLE_TYPE SYSTEM VIEW
+ENGINE MEMORY
+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_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA information_schema
+TABLE_NAME EVENTS
+TABLE_TYPE SYSTEM VIEW
+ENGINE MyISAM
+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 utf8_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA information_schema
+TABLE_NAME FILES
+TABLE_TYPE SYSTEM VIEW
+ENGINE MEMORY
+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_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA information_schema
+TABLE_NAME GLOBAL_STATUS
+TABLE_TYPE SYSTEM VIEW
+ENGINE MEMORY
+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_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA information_schema
+TABLE_NAME GLOBAL_VARIABLES
+TABLE_TYPE SYSTEM VIEW
+ENGINE MEMORY
+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_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA information_schema
+TABLE_NAME KEY_COLUMN_USAGE
+TABLE_TYPE SYSTEM VIEW
+ENGINE MEMORY
+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_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA information_schema
+TABLE_NAME PARTITIONS
+TABLE_TYPE SYSTEM VIEW
+ENGINE MyISAM
+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 utf8_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA information_schema
+TABLE_NAME PLUGINS
+TABLE_TYPE SYSTEM VIEW
+ENGINE MyISAM
+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 utf8_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA information_schema
+TABLE_NAME PROCESSLIST
+TABLE_TYPE SYSTEM VIEW
+ENGINE MyISAM
+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 utf8_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA information_schema
+TABLE_NAME REFERENTIAL_CONSTRAINTS
+TABLE_TYPE SYSTEM VIEW
+ENGINE MEMORY
+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_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA information_schema
+TABLE_NAME ROUTINES
+TABLE_TYPE SYSTEM VIEW
+ENGINE MyISAM
+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 utf8_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA information_schema
+TABLE_NAME SCHEMATA
+TABLE_TYPE SYSTEM VIEW
+ENGINE MEMORY
+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_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA information_schema
+TABLE_NAME SCHEMA_PRIVILEGES
+TABLE_TYPE SYSTEM VIEW
+ENGINE MEMORY
+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_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA information_schema
+TABLE_NAME SESSION_STATUS
+TABLE_TYPE SYSTEM VIEW
+ENGINE MEMORY
+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_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA information_schema
+TABLE_NAME SESSION_VARIABLES
+TABLE_TYPE SYSTEM VIEW
+ENGINE MEMORY
+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_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA information_schema
+TABLE_NAME STATISTICS
+TABLE_TYPE SYSTEM VIEW
+ENGINE MEMORY
+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_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA information_schema
+TABLE_NAME TABLES
+TABLE_TYPE SYSTEM VIEW
+ENGINE MEMORY
+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_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA information_schema
+TABLE_NAME TABLE_CONSTRAINTS
+TABLE_TYPE SYSTEM VIEW
+ENGINE MEMORY
+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_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA information_schema
+TABLE_NAME TABLE_PRIVILEGES
+TABLE_TYPE SYSTEM VIEW
+ENGINE MEMORY
+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_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA information_schema
+TABLE_NAME TRIGGERS
+TABLE_TYPE SYSTEM VIEW
+ENGINE MyISAM
+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 utf8_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA information_schema
+TABLE_NAME USER_PRIVILEGES
+TABLE_TYPE SYSTEM VIEW
+ENGINE MEMORY
+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_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA information_schema
+TABLE_NAME VIEWS
+TABLE_TYPE SYSTEM VIEW
+ENGINE MyISAM
+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 utf8_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+# 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_tables_memory.result b/mysql-test/suite/funcs_1/r/is_tables_memory.result
new file mode 100644
index 00000000000..bfc83fa1f92
--- /dev/null
+++ b/mysql-test/suite/funcs_1/r/is_tables_memory.result
@@ -0,0 +1,1062 @@
+SET @@session.sql_mode = 'NO_ENGINE_SUBSTITUTION';
+DROP DATABASE IF EXISTS test1;
+CREATE DATABASE test1;
+USE test;
+drop table if exists tb1 ;
+create table tb1 (
+f1 char,
+f2 char binary,
+f3 char ascii,
+f12 binary,
+f13 tinyint,
+f14 tinyint unsigned,
+f15 tinyint zerofill,
+f16 tinyint unsigned zerofill,
+f17 smallint,
+f18 smallint unsigned,
+f19 smallint zerofill,
+f20 smallint unsigned zerofill,
+f21 mediumint,
+f22 mediumint unsigned,
+f23 mediumint zerofill,
+f24 mediumint unsigned zerofill,
+f25 int,
+f26 int unsigned,
+f27 int zerofill,
+f28 int unsigned zerofill,
+f29 bigint,
+f30 bigint unsigned,
+f31 bigint zerofill,
+f32 bigint unsigned zerofill,
+f33 decimal not null DEFAULT 9.9,
+f34 decimal unsigned not null DEFAULT 9.9,
+f35 decimal zerofill not null DEFAULT 9.9,
+f36 decimal unsigned zerofill not null DEFAULT 9.9,
+f37 decimal (0) not null DEFAULT 9.9,
+f38 decimal (64) not null DEFAULT 9.9,
+f39 decimal (0) unsigned not null DEFAULT 9.9,
+f40 decimal (64) unsigned not null DEFAULT 9.9,
+f41 decimal (0) zerofill not null DEFAULT 9.9,
+f42 decimal (64) zerofill not null DEFAULT 9.9,
+f43 decimal (0) unsigned zerofill not null DEFAULT 9.9,
+f44 decimal (64) unsigned zerofill not null DEFAULT 9.9,
+f45 decimal (0,0) not null DEFAULT 9.9,
+f46 decimal (63,30) not null DEFAULT 9.9,
+f47 decimal (0,0) unsigned not null DEFAULT 9.9,
+f48 decimal (63,30) unsigned not null DEFAULT 9.9,
+f49 decimal (0,0) zerofill not null DEFAULT 9.9,
+f50 decimal (63,30) zerofill not null DEFAULT 9.9,
+f51 decimal (0,0) unsigned zerofill not null DEFAULT 9.9,
+f52 decimal (63,30) unsigned zerofill not null DEFAULT 9.9,
+f53 numeric not null DEFAULT 99,
+f54 numeric unsigned not null DEFAULT 99,
+f55 numeric zerofill not null DEFAULT 99,
+f56 numeric unsigned zerofill not null DEFAULT 99,
+f57 numeric (0) not null DEFAULT 99,
+f58 numeric (64) not null DEFAULT 99
+) engine = memory;
+Warnings:
+Note 1265 Data truncated for column 'f33' at row 1
+Note 1265 Data truncated for column 'f34' at row 1
+Note 1265 Data truncated for column 'f35' at row 1
+Note 1265 Data truncated for column 'f36' at row 1
+Note 1265 Data truncated for column 'f37' at row 1
+Note 1265 Data truncated for column 'f38' at row 1
+Note 1265 Data truncated for column 'f39' at row 1
+Note 1265 Data truncated for column 'f40' at row 1
+Note 1265 Data truncated for column 'f41' at row 1
+Note 1265 Data truncated for column 'f42' at row 1
+Note 1265 Data truncated for column 'f43' at row 1
+Note 1265 Data truncated for column 'f44' at row 1
+Note 1265 Data truncated for column 'f45' at row 1
+Note 1265 Data truncated for column 'f47' at row 1
+Note 1265 Data truncated for column 'f49' at row 1
+Note 1265 Data truncated for column 'f51' at row 1
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/memory_tb1.txt'
+into table tb1;
+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 = memory;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/memory_tb2.txt'
+into table tb2 ;
+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 = memory;
+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_ln/funcs_1/memory_tb3.txt'
+into table tb3;
+drop table if exists tb4 ;
+create table tb4 (
+f176 numeric (0) unsigned not null DEFAULT 9,
+f177 numeric (64) unsigned not null DEFAULT 9,
+f178 numeric (0) zerofill not null DEFAULT 9,
+f179 numeric (64) zerofill not null DEFAULT 9,
+f180 numeric (0) unsigned zerofill not null DEFAULT 9,
+f181 numeric (64) unsigned zerofill not null DEFAULT 9,
+f182 numeric (0,0) not null DEFAULT 9,
+f183 numeric (63,30) not null DEFAULT 9,
+f184 numeric (0,0) unsigned not null DEFAULT 9,
+f185 numeric (63,30) unsigned not null DEFAULT 9,
+f186 numeric (0,0) zerofill not null DEFAULT 9,
+f187 numeric (63,30) zerofill not null DEFAULT 9,
+f188 numeric (0,0) unsigned zerofill not null DEFAULT 9,
+f189 numeric (63,30) unsigned zerofill not null DEFAULT 9,
+f190 real not null DEFAULT 88.8,
+f191 real unsigned not null DEFAULT 88.8,
+f192 real zerofill not null DEFAULT 88.8,
+f193 real unsigned zerofill not null DEFAULT 88.8,
+f194 double not null DEFAULT 55.5,
+f195 double unsigned not null DEFAULT 55.5,
+f196 double zerofill not null DEFAULT 55.5,
+f197 double unsigned zerofill not null DEFAULT 55.5,
+f198 float,
+f199 float unsigned,
+f200 float zerofill,
+f201 float unsigned zerofill,
+f202 float(0),
+f203 float(23),
+f204 float(0) unsigned,
+f205 float(23) unsigned,
+f206 float(0) zerofill,
+f207 float(23) zerofill,
+f208 float(0) unsigned zerofill,
+f209 float(23) unsigned zerofill,
+f210 float(24),
+f211 float(53),
+f212 float(24) unsigned,
+f213 float(53) unsigned,
+f214 float(24) zerofill,
+f215 float(53) zerofill,
+f216 float(24) unsigned zerofill,
+f217 float(53) unsigned zerofill,
+f218 date,
+f219 time,
+f220 datetime,
+f221 timestamp,
+f222 year,
+f223 year(3),
+f224 year(4),
+f225 enum("1enum","2enum"),
+f226 set("1set","2set"),
+f236 char(95) unicode,
+f241 char(255) unicode,
+f237 char(130) binary,
+f238 varchar(25000) binary,
+f239 varbinary(0),
+f240 varchar(1200) unicode
+) engine = memory;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/memory_tb4.txt'
+into table tb4;
+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 = memory;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/memory_tb2.txt'
+into table tb2 ;
+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 = MEMORY;
+CREATE TABLE t2 (f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
+ENGINE = MEMORY;
+CREATE TABLE t4 (f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
+ENGINE = MEMORY;
+CREATE TABLE t10 (f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
+ENGINE = MEMORY;
+CREATE TABLE t11 (f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
+ENGINE = MEMORY;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/t4.txt' INTO TABLE t1;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/t4.txt' INTO TABLE t2;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/t4.txt' INTO TABLE t4;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/t4.txt' INTO TABLE t10;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/t4.txt' INTO TABLE t11;
+drop TABLE if exists t3;
+CREATE TABLE t3 (f1 char(20), f2 char(20), f3 integer) ENGINE = MEMORY;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/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 = MEMORY;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/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 = MEMORY;
+CREATE TABLE t8 (f1 char(20),f2 char(25),f3 date,f4 int) ENGINE = MEMORY;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/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_ln/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 = MEMORY;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/t9.txt' INTO TABLE t9;
+DROP DATABASE IF EXISTS db_datadict;
+CREATE DATABASE db_datadict;
+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 NULL
+TABLE_SCHEMA test
+TABLE_NAME t1
+TABLE_TYPE BASE TABLE
+ENGINE MEMORY
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME t10
+TABLE_TYPE BASE TABLE
+ENGINE MEMORY
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME t11
+TABLE_TYPE BASE TABLE
+ENGINE MEMORY
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME t2
+TABLE_TYPE BASE TABLE
+ENGINE MEMORY
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME t3
+TABLE_TYPE BASE TABLE
+ENGINE MEMORY
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME t4
+TABLE_TYPE BASE TABLE
+ENGINE MEMORY
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME t7
+TABLE_TYPE BASE TABLE
+ENGINE MEMORY
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME t8
+TABLE_TYPE BASE TABLE
+ENGINE MEMORY
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME t9
+TABLE_TYPE BASE TABLE
+ENGINE MEMORY
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME tb1
+TABLE_TYPE BASE TABLE
+ENGINE MEMORY
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME tb2
+TABLE_TYPE BASE TABLE
+ENGINE MEMORY
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME tb3
+TABLE_TYPE BASE TABLE
+ENGINE MEMORY
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME tb4
+TABLE_TYPE BASE TABLE
+ENGINE MEMORY
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test1
+TABLE_NAME tb2
+TABLE_TYPE BASE TABLE
+ENGINE MEMORY
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test4
+TABLE_NAME t6
+TABLE_TYPE BASE TABLE
+ENGINE MEMORY
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+DROP USER testuser1@localhost;
+CREATE USER testuser1@localhost;
+GRANT SELECT ON db_datadict.* 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 NULL
+TABLE_SCHEMA test
+TABLE_NAME t1
+TABLE_TYPE BASE TABLE
+ENGINE MEMORY
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME t10
+TABLE_TYPE BASE TABLE
+ENGINE MEMORY
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME t11
+TABLE_TYPE BASE TABLE
+ENGINE MEMORY
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME t2
+TABLE_TYPE BASE TABLE
+ENGINE MEMORY
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME t3
+TABLE_TYPE BASE TABLE
+ENGINE MEMORY
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME t4
+TABLE_TYPE BASE TABLE
+ENGINE MEMORY
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME t7
+TABLE_TYPE BASE TABLE
+ENGINE MEMORY
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME t8
+TABLE_TYPE BASE TABLE
+ENGINE MEMORY
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME t9
+TABLE_TYPE BASE TABLE
+ENGINE MEMORY
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME tb1
+TABLE_TYPE BASE TABLE
+ENGINE MEMORY
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME tb2
+TABLE_TYPE BASE TABLE
+ENGINE MEMORY
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME tb3
+TABLE_TYPE BASE TABLE
+ENGINE MEMORY
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME tb4
+TABLE_TYPE BASE TABLE
+ENGINE MEMORY
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+# Switch to connection default and close connection testuser1
+DROP USER testuser1@localhost;
+DROP DATABASE db_datadict;
+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;
+DROP TABLE test.tb1;
+DROP TABLE test.tb2;
+DROP TABLE test.tb3;
+DROP TABLE test.tb4;
diff --git a/mysql-test/suite/funcs_1/r/is_tables_myisam.result b/mysql-test/suite/funcs_1/r/is_tables_myisam.result
new file mode 100644
index 00000000000..99d34818d98
--- /dev/null
+++ b/mysql-test/suite/funcs_1/r/is_tables_myisam.result
@@ -0,0 +1,1102 @@
+SET @@session.sql_mode = 'NO_ENGINE_SUBSTITUTION';
+DROP DATABASE IF EXISTS test1;
+CREATE DATABASE test1;
+USE test;
+drop table if exists tb1 ;
+create table tb1 (
+f1 char,
+f2 char binary,
+f3 char ascii,
+f4 tinytext unicode,
+f5 text,
+f6 mediumtext,
+f7 longtext,
+f8 tinyblob,
+f9 blob,
+f10 mediumblob,
+f11 longblob,
+f12 binary,
+f13 tinyint,
+f14 tinyint unsigned,
+f15 tinyint zerofill,
+f16 tinyint unsigned zerofill,
+f17 smallint,
+f18 smallint unsigned,
+f19 smallint zerofill,
+f20 smallint unsigned zerofill,
+f21 mediumint,
+f22 mediumint unsigned,
+f23 mediumint zerofill,
+f24 mediumint unsigned zerofill,
+f25 int,
+f26 int unsigned,
+f27 int zerofill,
+f28 int unsigned zerofill,
+f29 bigint,
+f30 bigint unsigned,
+f31 bigint zerofill,
+f32 bigint unsigned zerofill,
+f33 decimal not null DEFAULT 9.9,
+f34 decimal unsigned not null DEFAULT 9.9,
+f35 decimal zerofill not null DEFAULT 9.9,
+f36 decimal unsigned zerofill not null DEFAULT 9.9,
+f37 decimal (0) not null DEFAULT 9.9,
+f38 decimal (64) not null DEFAULT 9.9,
+f39 decimal (0) unsigned not null DEFAULT 9.9,
+f40 decimal (64) unsigned not null DEFAULT 9.9,
+f41 decimal (0) zerofill not null DEFAULT 9.9,
+f42 decimal (64) zerofill not null DEFAULT 9.9,
+f43 decimal (0) unsigned zerofill not null DEFAULT 9.9,
+f44 decimal (64) unsigned zerofill not null DEFAULT 9.9,
+f45 decimal (0,0) not null DEFAULT 9.9,
+f46 decimal (63,30) not null DEFAULT 9.9,
+f47 decimal (0,0) unsigned not null DEFAULT 9.9,
+f48 decimal (63,30) unsigned not null DEFAULT 9.9,
+f49 decimal (0,0) zerofill not null DEFAULT 9.9,
+f50 decimal (63,30) zerofill not null DEFAULT 9.9,
+f51 decimal (0,0) unsigned zerofill not null DEFAULT 9.9,
+f52 decimal (63,30) unsigned zerofill not null DEFAULT 9.9,
+f53 numeric not null DEFAULT 99,
+f54 numeric unsigned not null DEFAULT 99,
+f55 numeric zerofill not null DEFAULT 99,
+f56 numeric unsigned zerofill not null DEFAULT 99,
+f57 numeric (0) not null DEFAULT 99,
+f58 numeric (64) not null DEFAULT 99
+) engine = myisam;
+Warnings:
+Note 1265 Data truncated for column 'f33' at row 1
+Note 1265 Data truncated for column 'f34' at row 1
+Note 1265 Data truncated for column 'f35' at row 1
+Note 1265 Data truncated for column 'f36' at row 1
+Note 1265 Data truncated for column 'f37' at row 1
+Note 1265 Data truncated for column 'f38' at row 1
+Note 1265 Data truncated for column 'f39' at row 1
+Note 1265 Data truncated for column 'f40' at row 1
+Note 1265 Data truncated for column 'f41' at row 1
+Note 1265 Data truncated for column 'f42' at row 1
+Note 1265 Data truncated for column 'f43' at row 1
+Note 1265 Data truncated for column 'f44' at row 1
+Note 1265 Data truncated for column 'f45' at row 1
+Note 1265 Data truncated for column 'f47' at row 1
+Note 1265 Data truncated for column 'f49' at row 1
+Note 1265 Data truncated for column 'f51' at row 1
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/myisam_tb1.txt'
+into table tb1;
+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",
+f110 VARBINARY(64) null,
+f111 VARBINARY(27) null ,
+f112 VARBINARY(64) null ,
+f113 VARBINARY(192) null ,
+f114 VARBINARY(192) ,
+f115 VARBINARY(27) null ,
+f116 VARBINARY(64) null,
+f117 VARBINARY(192) null
+) engine = myisam;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/myisam_tb2.txt'
+into table tb2;
+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 tinytext,
+f122 text,
+f123 mediumtext,
+f124 longtext unicode,
+f125 tinyblob,
+f126 blob,
+f127 mediumblob,
+f128 longblob,
+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 = myisam;
+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_ln/funcs_1/myisam_tb3.txt'
+into table tb3;
+drop table if exists tb4 ;
+create table tb4 (
+f176 numeric (0) unsigned not null DEFAULT 9,
+f177 numeric (64) unsigned not null DEFAULT 9,
+f178 numeric (0) zerofill not null DEFAULT 9,
+f179 numeric (64) zerofill not null DEFAULT 9,
+f180 numeric (0) unsigned zerofill not null DEFAULT 9,
+f181 numeric (64) unsigned zerofill not null DEFAULT 9,
+f182 numeric (0,0) not null DEFAULT 9,
+f183 numeric (63,30) not null DEFAULT 9,
+f184 numeric (0,0) unsigned not null DEFAULT 9,
+f185 numeric (63,30) unsigned not null DEFAULT 9,
+f186 numeric (0,0) zerofill not null DEFAULT 9,
+f187 numeric (63,30) zerofill not null DEFAULT 9,
+f188 numeric (0,0) unsigned zerofill not null DEFAULT 9,
+f189 numeric (63,30) unsigned zerofill not null DEFAULT 9,
+f190 real not null DEFAULT 88.8,
+f191 real unsigned not null DEFAULT 88.8,
+f192 real zerofill not null DEFAULT 88.8,
+f193 real unsigned zerofill not null DEFAULT 88.8,
+f194 double not null DEFAULT 55.5,
+f195 double unsigned not null DEFAULT 55.5,
+f196 double zerofill not null DEFAULT 55.5,
+f197 double unsigned zerofill not null DEFAULT 55.5,
+f198 float,
+f199 float unsigned,
+f200 float zerofill,
+f201 float unsigned zerofill,
+f202 float(0),
+f203 float(23),
+f204 float(0) unsigned,
+f205 float(23) unsigned,
+f206 float(0) zerofill,
+f207 float(23) zerofill,
+f208 float(0) unsigned zerofill,
+f209 float(23) unsigned zerofill,
+f210 float(24),
+f211 float(53),
+f212 float(24) unsigned,
+f213 float(53) unsigned,
+f214 float(24) zerofill,
+f215 float(53) zerofill,
+f216 float(24) unsigned zerofill,
+f217 float(53) unsigned zerofill,
+f218 date,
+f219 time,
+f220 datetime,
+f221 timestamp,
+f222 year,
+f223 year(3),
+f224 year(4),
+f225 enum("1enum","2enum"),
+f226 set("1set","2set"),
+f227 VARBINARY(64),
+f228 VARBINARY(27),
+f229 VARBINARY(64),
+f230 VARBINARY(192),
+f231 VARBINARY(192),
+f232 VARBINARY(27),
+f233 VARBINARY(64),
+f234 VARBINARY(192),
+f235 char(255) unicode,
+f236 char(60) ascii,
+f237 char(255) binary,
+f238 varchar(0) binary,
+f239 varbinary(1000),
+f240 varchar(120) unicode,
+f241 char(100) unicode,
+f242 bit(30)
+) engine = myisam;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/myisam_tb4.txt'
+into table tb4;
+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",
+f110 VARBINARY(64) null,
+f111 VARBINARY(27) null ,
+f112 VARBINARY(64) null ,
+f113 VARBINARY(192) null ,
+f114 VARBINARY(192) ,
+f115 VARBINARY(27) null ,
+f116 VARBINARY(64) null,
+f117 VARBINARY(192) null
+) engine = myisam;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/myisam_tb2.txt'
+into table tb2;
+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 = MyISAM;
+CREATE TABLE t2 (f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
+ENGINE = MyISAM;
+CREATE TABLE t4 (f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
+ENGINE = MyISAM;
+CREATE TABLE t10 (f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
+ENGINE = MyISAM;
+CREATE TABLE t11 (f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
+ENGINE = MyISAM;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/t4.txt' INTO TABLE t1;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/t4.txt' INTO TABLE t2;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/t4.txt' INTO TABLE t4;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/t4.txt' INTO TABLE t10;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/t4.txt' INTO TABLE t11;
+drop TABLE if exists t3;
+CREATE TABLE t3 (f1 char(20), f2 char(20), f3 integer) ENGINE = MyISAM;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/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 = MyISAM;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/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 = MyISAM;
+CREATE TABLE t8 (f1 char(20),f2 char(25),f3 date,f4 int) ENGINE = MyISAM;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/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_ln/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 = MyISAM;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/t9.txt' INTO TABLE t9;
+DROP DATABASE IF EXISTS db_datadict;
+CREATE DATABASE db_datadict;
+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 NULL
+TABLE_SCHEMA test
+TABLE_NAME t1
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME t10
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME t11
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME t2
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME t3
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME t4
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME t7
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME t8
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME t9
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME tb1
+TABLE_TYPE BASE TABLE
+ENGINE MyISAM
+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 NULL
+TABLE_SCHEMA test
+TABLE_NAME tb2
+TABLE_TYPE BASE TABLE
+ENGINE MyISAM
+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 NULL
+TABLE_SCHEMA test
+TABLE_NAME tb3
+TABLE_TYPE BASE TABLE
+ENGINE MyISAM
+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 NULL
+TABLE_SCHEMA test
+TABLE_NAME tb4
+TABLE_TYPE BASE TABLE
+ENGINE MyISAM
+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 NULL
+TABLE_SCHEMA test1
+TABLE_NAME tb2
+TABLE_TYPE BASE TABLE
+ENGINE MyISAM
+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 NULL
+TABLE_SCHEMA test4
+TABLE_NAME t6
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+DROP USER testuser1@localhost;
+CREATE USER testuser1@localhost;
+GRANT SELECT ON db_datadict.* 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 NULL
+TABLE_SCHEMA test
+TABLE_NAME t1
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME t10
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME t11
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME t2
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME t3
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME t4
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME t7
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME t8
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME t9
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME tb1
+TABLE_TYPE BASE TABLE
+ENGINE MyISAM
+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 NULL
+TABLE_SCHEMA test
+TABLE_NAME tb2
+TABLE_TYPE BASE TABLE
+ENGINE MyISAM
+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 NULL
+TABLE_SCHEMA test
+TABLE_NAME tb3
+TABLE_TYPE BASE TABLE
+ENGINE MyISAM
+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 NULL
+TABLE_SCHEMA test
+TABLE_NAME tb4
+TABLE_TYPE BASE TABLE
+ENGINE MyISAM
+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 -----------------------------------------------------
+# Switch to connection default and close connection testuser1
+DROP USER testuser1@localhost;
+DROP DATABASE db_datadict;
+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;
+DROP TABLE test.tb1;
+DROP TABLE test.tb2;
+DROP TABLE test.tb3;
+DROP TABLE test.tb4;
diff --git a/mysql-test/suite/funcs_1/r/is_tables_mysql.result b/mysql-test/suite/funcs_1/r/is_tables_mysql.result
new file mode 100644
index 00000000000..689f0ef89d0
--- /dev/null
+++ b/mysql-test/suite/funcs_1/r/is_tables_mysql.result
@@ -0,0 +1,562 @@
+DROP DATABASE IF EXISTS db_datadict;
+CREATE DATABASE db_datadict;
+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 = 'mysql'
+ORDER BY table_schema,table_name;
+TABLE_CATALOG NULL
+TABLE_SCHEMA mysql
+TABLE_NAME columns_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 Column privileges
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA mysql
+TABLE_NAME db
+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 Database privileges
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA mysql
+TABLE_NAME event
+TABLE_TYPE BASE TABLE
+ENGINE MyISAM
+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 utf8_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment Events
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA mysql
+TABLE_NAME func
+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 defined functions
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA mysql
+TABLE_NAME general_log
+TABLE_TYPE BASE TABLE
+ENGINE CSV
+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 utf8_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment General log
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA mysql
+TABLE_NAME help_category
+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_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment help categories
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA mysql
+TABLE_NAME help_keyword
+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_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment help keywords
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA mysql
+TABLE_NAME help_relation
+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_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment keyword-topic relation
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA mysql
+TABLE_NAME help_topic
+TABLE_TYPE BASE TABLE
+ENGINE MyISAM
+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 utf8_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment help topics
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA mysql
+TABLE_NAME host
+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 Host privileges; Merged with database privileges
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA mysql
+TABLE_NAME ndb_binlog_index
+TABLE_TYPE BASE TABLE
+ENGINE MyISAM
+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 NULL
+TABLE_SCHEMA mysql
+TABLE_NAME plugin
+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 MySQL plugins
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA mysql
+TABLE_NAME proc
+TABLE_TYPE BASE TABLE
+ENGINE MyISAM
+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 utf8_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment Stored Procedures
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA mysql
+TABLE_NAME procs_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 Procedure privileges
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA mysql
+TABLE_NAME servers
+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_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment MySQL Foreign Servers table
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA mysql
+TABLE_NAME slow_log
+TABLE_TYPE BASE TABLE
+ENGINE CSV
+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 utf8_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment Slow log
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA mysql
+TABLE_NAME tables_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 Table privileges
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA mysql
+TABLE_NAME time_zone
+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 6
+CREATE_TIME #CRT#
+UPDATE_TIME #UT#
+CHECK_TIME #CT#
+TABLE_COLLATION utf8_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment Time zones
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA mysql
+TABLE_NAME time_zone_leap_second
+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_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment Leap seconds information for time zones
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA mysql
+TABLE_NAME time_zone_name
+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_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment Time zone names
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA mysql
+TABLE_NAME time_zone_transition
+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_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment Time zone transitions
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA mysql
+TABLE_NAME time_zone_transition_type
+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_general_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment Time zone transition types
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA mysql
+TABLE_NAME user
+TABLE_TYPE BASE TABLE
+ENGINE MyISAM
+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 utf8_bin
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment Users and global privileges
+Separator -----------------------------------------------------
+DROP USER testuser1@localhost;
+CREATE USER testuser1@localhost;
+GRANT SELECT ON db_datadict.* 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 = 'mysql'
+ORDER BY table_schema,table_name;
+# 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_tables_ndb.result b/mysql-test/suite/funcs_1/r/is_tables_ndb.result
new file mode 100644
index 00000000000..c52ef04bdca
--- /dev/null
+++ b/mysql-test/suite/funcs_1/r/is_tables_ndb.result
@@ -0,0 +1,542 @@
+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_ln/funcs_1/t4.txt' INTO TABLE t1;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/t4.txt' INTO TABLE t2;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/t4.txt' INTO TABLE t4;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/t4.txt' INTO TABLE t10;
+LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data_ln/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_ln/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_ln/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_ln/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_ln/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_ln/funcs_1/t9.txt' INTO TABLE t9;
+DROP DATABASE IF EXISTS db_datadict;
+CREATE DATABASE db_datadict;
+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 NULL
+TABLE_SCHEMA test
+TABLE_NAME t1
+TABLE_TYPE BASE TABLE
+ENGINE ndbcluster
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME t10
+TABLE_TYPE BASE TABLE
+ENGINE ndbcluster
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME t11
+TABLE_TYPE BASE TABLE
+ENGINE ndbcluster
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME t2
+TABLE_TYPE BASE TABLE
+ENGINE ndbcluster
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME t3
+TABLE_TYPE BASE TABLE
+ENGINE ndbcluster
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME t4
+TABLE_TYPE BASE TABLE
+ENGINE ndbcluster
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME t7
+TABLE_TYPE BASE TABLE
+ENGINE ndbcluster
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME t8
+TABLE_TYPE BASE TABLE
+ENGINE ndbcluster
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME t9
+TABLE_TYPE BASE TABLE
+ENGINE ndbcluster
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test4
+TABLE_NAME t6
+TABLE_TYPE BASE TABLE
+ENGINE ndbcluster
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+DROP USER testuser1@localhost;
+CREATE USER testuser1@localhost;
+GRANT SELECT ON db_datadict.* 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 NULL
+TABLE_SCHEMA test
+TABLE_NAME t1
+TABLE_TYPE BASE TABLE
+ENGINE ndbcluster
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME t10
+TABLE_TYPE BASE TABLE
+ENGINE ndbcluster
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME t11
+TABLE_TYPE BASE TABLE
+ENGINE ndbcluster
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME t2
+TABLE_TYPE BASE TABLE
+ENGINE ndbcluster
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME t3
+TABLE_TYPE BASE TABLE
+ENGINE ndbcluster
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME t4
+TABLE_TYPE BASE TABLE
+ENGINE ndbcluster
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME t7
+TABLE_TYPE BASE TABLE
+ENGINE ndbcluster
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME t8
+TABLE_TYPE BASE TABLE
+ENGINE ndbcluster
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+TABLE_CATALOG NULL
+TABLE_SCHEMA test
+TABLE_NAME t9
+TABLE_TYPE BASE TABLE
+ENGINE ndbcluster
+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 latin1_swedish_ci
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment
+Separator -----------------------------------------------------
+# Switch to connection default and close connection testuser1
+DROP USER testuser1@localhost;
+DROP DATABASE db_datadict;
+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_triggers.result b/mysql-test/suite/funcs_1/r/is_triggers.result
new file mode 100644
index 00000000000..ca62bd26e80
--- /dev/null
+++ b/mysql-test/suite/funcs_1/r/is_triggers.result
@@ -0,0 +1,228 @@
+SHOW TABLES FROM information_schema LIKE 'TRIGGERS';
+Tables_in_information_schema (TRIGGERS)
+TRIGGERS
+#######################################################################
+# Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT
+#######################################################################
+DROP VIEW IF EXISTS test.v1;
+DROP PROCEDURE IF EXISTS test.p1;
+DROP FUNCTION IF EXISTS test.f1;
+CREATE VIEW test.v1 AS SELECT * FROM information_schema.TRIGGERS;
+CREATE PROCEDURE test.p1() SELECT * FROM information_schema.TRIGGERS;
+CREATE FUNCTION test.f1() returns BIGINT
+BEGIN
+DECLARE counter BIGINT DEFAULT NULL;
+SELECT COUNT(*) INTO counter FROM information_schema.TRIGGERS;
+RETURN counter;
+END//
+# Attention: The printing of the next result sets is disabled.
+SELECT * FROM information_schema.TRIGGERS;
+SELECT * FROM test.v1;
+CALL test.p1;
+SELECT test.f1();
+DROP VIEW test.v1;
+DROP PROCEDURE test.p1;
+DROP FUNCTION test.f1;
+#########################################################################
+# Testcase 3.2.12.1: INFORMATION_SCHEMA.TRIGGERS layout
+#########################################################################
+DESCRIBE information_schema.TRIGGERS;
+Field Type Null Key Default Extra
+TRIGGER_CATALOG varchar(512) YES NULL
+TRIGGER_SCHEMA varchar(64) NO
+TRIGGER_NAME varchar(64) NO
+EVENT_MANIPULATION varchar(6) NO
+EVENT_OBJECT_CATALOG varchar(512) YES NULL
+EVENT_OBJECT_SCHEMA varchar(64) NO
+EVENT_OBJECT_TABLE varchar(64) NO
+ACTION_ORDER bigint(4) NO 0
+ACTION_CONDITION longtext YES NULL
+ACTION_STATEMENT longtext NO NULL
+ACTION_ORIENTATION varchar(9) NO
+ACTION_TIMING varchar(6) NO
+ACTION_REFERENCE_OLD_TABLE varchar(64) YES NULL
+ACTION_REFERENCE_NEW_TABLE varchar(64) YES NULL
+ACTION_REFERENCE_OLD_ROW varchar(3) NO
+ACTION_REFERENCE_NEW_ROW varchar(3) NO
+CREATED datetime YES NULL
+SQL_MODE longtext NO NULL
+DEFINER longtext NO NULL
+CHARACTER_SET_CLIENT varchar(32) NO
+COLLATION_CONNECTION varchar(32) NO
+DATABASE_COLLATION varchar(32) NO
+SHOW CREATE TABLE information_schema.TRIGGERS;
+Table Create Table
+TRIGGERS CREATE TEMPORARY TABLE `TRIGGERS` (
+ `TRIGGER_CATALOG` varchar(512) DEFAULT NULL,
+ `TRIGGER_SCHEMA` varchar(64) NOT NULL DEFAULT '',
+ `TRIGGER_NAME` varchar(64) NOT NULL DEFAULT '',
+ `EVENT_MANIPULATION` varchar(6) NOT NULL DEFAULT '',
+ `EVENT_OBJECT_CATALOG` varchar(512) DEFAULT NULL,
+ `EVENT_OBJECT_SCHEMA` varchar(64) NOT NULL DEFAULT '',
+ `EVENT_OBJECT_TABLE` varchar(64) NOT NULL DEFAULT '',
+ `ACTION_ORDER` bigint(4) NOT NULL DEFAULT '0',
+ `ACTION_CONDITION` longtext,
+ `ACTION_STATEMENT` longtext NOT NULL,
+ `ACTION_ORIENTATION` varchar(9) NOT NULL DEFAULT '',
+ `ACTION_TIMING` varchar(6) NOT NULL DEFAULT '',
+ `ACTION_REFERENCE_OLD_TABLE` varchar(64) DEFAULT NULL,
+ `ACTION_REFERENCE_NEW_TABLE` varchar(64) DEFAULT NULL,
+ `ACTION_REFERENCE_OLD_ROW` varchar(3) NOT NULL DEFAULT '',
+ `ACTION_REFERENCE_NEW_ROW` varchar(3) NOT NULL DEFAULT '',
+ `CREATED` datetime DEFAULT NULL,
+ `SQL_MODE` longtext NOT NULL,
+ `DEFINER` longtext NOT NULL,
+ `CHARACTER_SET_CLIENT` varchar(32) NOT NULL DEFAULT '',
+ `COLLATION_CONNECTION` varchar(32) NOT NULL DEFAULT '',
+ `DATABASE_COLLATION` varchar(32) NOT NULL DEFAULT ''
+) ENGINE=MyISAM DEFAULT CHARSET=utf8
+SHOW COLUMNS FROM information_schema.TRIGGERS;
+Field Type Null Key Default Extra
+TRIGGER_CATALOG varchar(512) YES NULL
+TRIGGER_SCHEMA varchar(64) NO
+TRIGGER_NAME varchar(64) NO
+EVENT_MANIPULATION varchar(6) NO
+EVENT_OBJECT_CATALOG varchar(512) YES NULL
+EVENT_OBJECT_SCHEMA varchar(64) NO
+EVENT_OBJECT_TABLE varchar(64) NO
+ACTION_ORDER bigint(4) NO 0
+ACTION_CONDITION longtext YES NULL
+ACTION_STATEMENT longtext NO NULL
+ACTION_ORIENTATION varchar(9) NO
+ACTION_TIMING varchar(6) NO
+ACTION_REFERENCE_OLD_TABLE varchar(64) YES NULL
+ACTION_REFERENCE_NEW_TABLE varchar(64) YES NULL
+ACTION_REFERENCE_OLD_ROW varchar(3) NO
+ACTION_REFERENCE_NEW_ROW varchar(3) NO
+CREATED datetime YES NULL
+SQL_MODE longtext NO NULL
+DEFINER longtext NO NULL
+CHARACTER_SET_CLIENT varchar(32) NO
+COLLATION_CONNECTION varchar(32) NO
+DATABASE_COLLATION varchar(32) NO
+SELECT * FROM information_schema.triggers
+WHERE trigger_catalog IS NOT NULL OR event_object_catalog IS NOT NULL
+OR action_condition IS NOT NULL OR action_reference_old_table IS NOT NULL
+OR action_reference_new_table IS NOT NULL;
+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
+##################################################################################
+# Testcase 3.2.18.2 + 3.2.18.3: INFORMATION_SCHEMA.TRIGGERS accessible information
+##################################################################################
+DROP DATABASE IF EXISTS db_datadict;
+CREATE DATABASE db_datadict;
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+DROP USER 'testuser2'@'localhost';
+CREATE USER 'testuser2'@'localhost';
+DROP USER 'testuser3'@'localhost';
+CREATE USER 'testuser3'@'localhost';
+DROP USER 'testuser4'@'localhost';
+CREATE USER 'testuser4'@'localhost';
+GRANT TRIGGER ON *.* TO 'testuser1'@'localhost';
+GRANT TRIGGER ON *.* TO 'testuser3'@'localhost';
+GRANT TRIGGER ON *.* TO 'testuser4'@'localhost';
+GRANT ALL ON db_datadict.* TO 'testuser1'@'localhost' WITH GRANT OPTION;
+# Establish connection testuser1 (user=testuser1)
+CREATE TABLE db_datadict.t1 (f1 INT, f2 INT, f3 INT)
+ENGINE = <engine_type>;
+CREATE TRIGGER trg1 BEFORE INSERT
+ON db_datadict.t1 FOR EACH ROW SET @test_before = 2, new.f1 = @test_before;
+GRANT ALL ON db_datadict.t1 TO 'testuser2'@'localhost';
+REVOKE TRIGGER ON db_datadict.t1 FROM 'testuser2'@'localhost';
+GRANT SELECT ON db_datadict.t1 TO 'testuser3'@'localhost';
+SELECT * FROM information_schema.triggers
+WHERE trigger_name = 'trg1';
+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
+NULL db_datadict trg1 INSERT NULL db_datadict t1 0 NULL SET @test_before = 2, new.f1 = @test_before ROW BEFORE NULL NULL OLD NEW NULL testuser1@localhost latin1 latin1_swedish_ci latin1_swedish_ci
+SHOW TRIGGERS FROM db_datadict;
+Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
+trg1 INSERT t1 SET @test_before = 2, new.f1 = @test_before BEFORE NULL testuser1@localhost latin1 latin1_swedish_ci latin1_swedish_ci
+# Establish connection testuser2 (user=testuser2)
+SHOW GRANTS FOR 'testuser2'@'localhost';
+Grants for testuser2@localhost
+GRANT USAGE ON *.* TO 'testuser2'@'localhost'
+GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE VIEW, SHOW VIEW ON `db_datadict`.`t1` TO 'testuser2'@'localhost'
+# No TRIGGER Privilege --> no result for query
+SELECT * FROM information_schema.triggers
+WHERE trigger_name = 'trg1';
+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
+SHOW TRIGGERS FROM db_datadict;
+Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
+# Establish connection testuser3 (user=testuser3)
+SHOW GRANTS FOR 'testuser3'@'localhost';
+Grants for testuser3@localhost
+GRANT TRIGGER ON *.* TO 'testuser3'@'localhost'
+GRANT SELECT ON `db_datadict`.`t1` TO 'testuser3'@'localhost'
+# TRIGGER Privilege + SELECT Privilege on t1 --> result for query
+SELECT * FROM information_schema.triggers
+WHERE trigger_name = 'trg1';
+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
+NULL db_datadict trg1 INSERT NULL db_datadict t1 0 NULL SET @test_before = 2, new.f1 = @test_before ROW BEFORE NULL NULL OLD NEW NULL testuser1@localhost latin1 latin1_swedish_ci latin1_swedish_ci
+SHOW TRIGGERS FROM db_datadict;
+Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
+trg1 INSERT t1 SET @test_before = 2, new.f1 = @test_before BEFORE NULL testuser1@localhost latin1 latin1_swedish_ci latin1_swedish_ci
+# Establish connection testuser4 (user=testuser4)
+SHOW GRANTS FOR 'testuser4'@'localhost';
+Grants for testuser4@localhost
+GRANT TRIGGER ON *.* TO 'testuser4'@'localhost'
+# TRIGGER Privilege + no SELECT Privilege on t1 --> result for query
+SELECT * FROM db_datadict.t1;
+ERROR 42000: SELECT command denied to user 'testuser4'@'localhost' for table 't1'
+DESC db_datadict.t1;
+ERROR 42000: SELECT command denied to user 'testuser4'@'localhost' for table 't1'
+SELECT * FROM information_schema.triggers
+WHERE trigger_name = 'trg1';
+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
+NULL db_datadict trg1 INSERT NULL db_datadict t1 0 NULL SET @test_before = 2, new.f1 = @test_before ROW BEFORE NULL NULL OLD NEW NULL testuser1@localhost latin1 latin1_swedish_ci latin1_swedish_ci
+SHOW TRIGGERS FROM db_datadict;
+Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
+trg1 INSERT t1 SET @test_before = 2, new.f1 = @test_before BEFORE NULL testuser1@localhost latin1 latin1_swedish_ci latin1_swedish_ci
+# Switch to connection default and close connections testuser1 - testuser4
+SELECT * FROM information_schema.triggers
+WHERE trigger_name = 'trg1';
+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
+NULL db_datadict trg1 INSERT NULL db_datadict t1 0 NULL SET @test_before = 2, new.f1 = @test_before ROW BEFORE NULL NULL OLD NEW NULL testuser1@localhost latin1 latin1_swedish_ci latin1_swedish_ci
+SHOW TRIGGERS FROM db_datadict;
+Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
+trg1 INSERT t1 SET @test_before = 2, new.f1 = @test_before BEFORE NULL testuser1@localhost latin1 latin1_swedish_ci latin1_swedish_ci
+DROP USER 'testuser1'@'localhost';
+DROP USER 'testuser2'@'localhost';
+DROP USER 'testuser3'@'localhost';
+DROP USER 'testuser4'@'localhost';
+DROP DATABASE db_datadict;
+#########################################################################
+# 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.TRIGGERS modifications
+#########################################################################
+########################################################################
+# Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and
+# DDL on INFORMATION_SCHEMA tables are not supported
+########################################################################
+DROP DATABASE IF EXISTS db_datadict;
+CREATE DATABASE db_datadict;
+CREATE TABLE db_datadict.t1 (f1 BIGINT)
+ENGINE = <engine_type>;
+CREATE TRIGGER db_datadict.trg1 BEFORE INSERT
+ON db_datadict.t1 FOR EACH ROW SET @test_before = 2, new.f1 = @test_before;
+INSERT INTO information_schema.triggers
+SELECT * FROM information_schema.triggers;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+UPDATE information_schema.triggers SET trigger_schema = 'test'
+WHERE table_name = 't1';
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DELETE FROM information_schema.triggers WHERE trigger_name = 't1';
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+TRUNCATE information_schema.triggers;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+CREATE INDEX my_idx_on_triggers ON information_schema.triggers(trigger_schema);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.triggers DROP PRIMARY KEY;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.triggers ADD f1 INT;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DROP TABLE information_schema.triggers;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.triggers RENAME db_datadict.triggers;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.triggers RENAME information_schema.xtriggers;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DROP DATABASE db_datadict;
diff --git a/mysql-test/suite/funcs_1/r/is_user_privileges.result b/mysql-test/suite/funcs_1/r/is_user_privileges.result
new file mode 100644
index 00000000000..03865f59c2c
--- /dev/null
+++ b/mysql-test/suite/funcs_1/r/is_user_privileges.result
@@ -0,0 +1,400 @@
+SHOW TABLES FROM information_schema LIKE 'USER_PRIVILEGES';
+Tables_in_information_schema (USER_PRIVILEGES)
+USER_PRIVILEGES
+#######################################################################
+# Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT
+#######################################################################
+DROP VIEW IF EXISTS test.v1;
+DROP PROCEDURE IF EXISTS test.p1;
+DROP FUNCTION IF EXISTS test.f1;
+CREATE VIEW test.v1 AS SELECT * FROM information_schema.USER_PRIVILEGES;
+CREATE PROCEDURE test.p1() SELECT * FROM information_schema.USER_PRIVILEGES;
+CREATE FUNCTION test.f1() returns BIGINT
+BEGIN
+DECLARE counter BIGINT DEFAULT NULL;
+SELECT COUNT(*) INTO counter FROM information_schema.USER_PRIVILEGES;
+RETURN counter;
+END//
+# Attention: The printing of the next result sets is disabled.
+SELECT * FROM information_schema.USER_PRIVILEGES;
+SELECT * FROM test.v1;
+CALL test.p1;
+SELECT test.f1();
+DROP VIEW test.v1;
+DROP PROCEDURE test.p1;
+DROP FUNCTION test.f1;
+#########################################################################
+# Testcase 3.2.16.1: INFORMATION_SCHEMA.USER_PRIVILEGES layout
+#########################################################################
+DESCRIBE information_schema.USER_PRIVILEGES;
+Field Type Null Key Default Extra
+GRANTEE varchar(81) NO
+TABLE_CATALOG varchar(512) YES NULL
+PRIVILEGE_TYPE varchar(64) NO
+IS_GRANTABLE varchar(3) NO
+SHOW CREATE TABLE information_schema.USER_PRIVILEGES;
+Table Create Table
+USER_PRIVILEGES CREATE TEMPORARY TABLE `USER_PRIVILEGES` (
+ `GRANTEE` varchar(81) NOT NULL DEFAULT '',
+ `TABLE_CATALOG` varchar(512) DEFAULT NULL,
+ `PRIVILEGE_TYPE` varchar(64) NOT NULL DEFAULT '',
+ `IS_GRANTABLE` varchar(3) NOT NULL DEFAULT ''
+) ENGINE=MEMORY DEFAULT CHARSET=utf8
+SHOW COLUMNS FROM information_schema.USER_PRIVILEGES;
+Field Type Null Key Default Extra
+GRANTEE varchar(81) NO
+TABLE_CATALOG varchar(512) YES NULL
+PRIVILEGE_TYPE varchar(64) NO
+IS_GRANTABLE varchar(3) NO
+SELECT grantee, table_catalog, privilege_type
+FROM information_schema.user_privileges
+WHERE table_catalog IS NOT NULL;
+grantee table_catalog privilege_type
+##########################################################################
+# Testcases 3.2.16.2+3.2.16.3+3.2.16.4: INFORMATION_SCHEMA.USER_PRIVILEGES
+# accessible information
+##########################################################################
+DROP DATABASE IF EXISTS db_datadict;
+CREATE DATABASE db_datadict;
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+DROP USER 'testuser2'@'localhost';
+CREATE USER 'testuser2'@'localhost';
+DROP USER 'testuser3'@'localhost';
+CREATE USER 'testuser3'@'localhost';
+GRANT SELECT ON db_datadict.* TO 'testuser1'@'localhost';
+GRANT SELECT ON mysql.user TO 'testuser1'@'localhost';
+GRANT INSERT ON *.* TO 'testuser2'@'localhost';
+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' NULL USAGE NO
+'testuser2'@'localhost' NULL INSERT NO
+'testuser2'@'localhost' NULL UPDATE NO
+'testuser3'@'localhost' NULL USAGE 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 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 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 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 0 0 0 0
+#
+# 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' NULL USAGE NO
+'testuser2'@'localhost' NULL INSERT NO
+'testuser2'@'localhost' NULL UPDATE NO
+'testuser3'@'localhost' NULL USAGE 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 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 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 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 0 0 0 0
+# 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' NULL USAGE 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 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 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 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 0 0 0 0
+SHOW GRANTS;
+Grants for testuser1@localhost
+GRANT USAGE ON *.* TO 'testuser1'@'localhost'
+GRANT SELECT, UPDATE ON `db_datadict`.* TO 'testuser1'@'localhost' WITH GRANT OPTION
+GRANT SELECT ON `mysql`.`user` TO 'testuser1'@'localhost'
+
+# Now add SELECT on *.* to testuser1;
+# Switch to connection default
+GRANT SELECT ON *.* TO 'testuser1'@'localhost';
+#
+# Here <SELECT NO> 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' NULL SELECT NO
+'testuser2'@'localhost' NULL INSERT NO
+'testuser2'@'localhost' NULL UPDATE NO
+'testuser3'@'localhost' NULL USAGE 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 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 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 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 0 0 0 0
+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' NULL SELECT YES
+'testuser2'@'localhost' NULL INSERT NO
+'testuser2'@'localhost' NULL UPDATE NO
+'testuser3'@'localhost' NULL USAGE 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 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 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 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 0 0 0 0
+# 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' NULL SELECT 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 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 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 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 0 0 0 0
+SHOW GRANTS;
+Grants for testuser1@localhost
+GRANT SELECT ON *.* TO 'testuser1'@'localhost' WITH GRANT OPTION
+GRANT SELECT, UPDATE ON `db_datadict`.* TO 'testuser1'@'localhost' WITH GRANT OPTION
+GRANT SELECT ON `mysql`.`user` TO 'testuser1'@'localhost'
+# Establish connection testuser2 (user=testuser2)
+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' NULL INSERT NO
+'testuser2'@'localhost' NULL UPDATE 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'
+SHOW GRANTS;
+Grants for testuser2@localhost
+GRANT INSERT, UPDATE ON *.* TO 'testuser2'@'localhost'
+# Establish connection testuser3 (user=testuser3)
+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' NULL USAGE 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'
+SHOW GRANTS;
+Grants for testuser3@localhost
+GRANT USAGE ON *.* TO 'testuser3'@'localhost'
+
+# Revoke privileges from testuser1;
+# Switch to connection default
+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' NULL USAGE NO
+'testuser2'@'localhost' NULL INSERT NO
+'testuser2'@'localhost' NULL UPDATE NO
+'testuser3'@'localhost' NULL USAGE 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 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 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 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 0 0 0 0
+# 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' NULL USAGE 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'
+SHOW GRANTS;
+Grants for testuser1@localhost
+GRANT USAGE ON *.* TO 'testuser1'@'localhost'
+CREATE TABLE db_datadict.tb_55 ( c1 TEXT );
+ERROR 42000: CREATE command denied to user 'testuser1'@'localhost' for table 'tb_55'
+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' NULL USAGE 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'
+SHOW GRANTS;
+Grants for testuser1@localhost
+GRANT USAGE ON *.* TO 'testuser1'@'localhost'
+CREATE TABLE db_datadict.tb_66 ( c1 TEXT );
+ERROR 42000: CREATE command denied to user 'testuser1'@'localhost' for table 'tb_66'
+
+# Add ALL on db_datadict.* (and select on mysql.user) to testuser1;
+# Switch to connection default
+GRANT ALL ON db_datadict.* TO 'testuser1'@'localhost' WITH GRANT OPTION;
+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' NULL USAGE NO
+'testuser2'@'localhost' NULL INSERT NO
+'testuser2'@'localhost' NULL UPDATE NO
+'testuser3'@'localhost' NULL USAGE 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 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 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 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 0 0 0 0
+# 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' NULL USAGE 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 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 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 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 0 0 0 0
+SHOW GRANTS;
+Grants for testuser1@localhost
+GRANT USAGE ON *.* TO 'testuser1'@'localhost'
+GRANT ALL PRIVILEGES ON `db_datadict`.* TO 'testuser1'@'localhost' WITH GRANT OPTION
+GRANT SELECT ON `mysql`.`user` TO 'testuser1'@'localhost'
+CREATE TABLE db_datadict.tb_56 ( c1 TEXT );
+ERROR 42000: CREATE command denied to user 'testuser1'@'localhost' for table 'tb_56'
+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' NULL USAGE 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 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 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 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 0 0 0 0
+SHOW GRANTS;
+Grants for testuser1@localhost
+GRANT USAGE ON *.* TO 'testuser1'@'localhost'
+GRANT ALL PRIVILEGES ON `db_datadict`.* TO 'testuser1'@'localhost' WITH GRANT OPTION
+GRANT SELECT ON `mysql`.`user` TO 'testuser1'@'localhost'
+CREATE TABLE tb_57 ( c1 TEXT )
+ENGINE = <other_engine_type>;
+
+# Revoke privileges from testuser1;
+# Switch to connection default
+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' NULL USAGE NO
+'testuser2'@'localhost' NULL INSERT NO
+'testuser2'@'localhost' NULL UPDATE NO
+'testuser3'@'localhost' NULL USAGE 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 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 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 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 0 0 0 0
+# 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' NULL USAGE 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'
+SHOW GRANTS;
+Grants for testuser1@localhost
+GRANT USAGE ON *.* TO 'testuser1'@'localhost'
+CREATE TABLE db_datadict.tb_58 ( c1 TEXT )
+ENGINE = <other_engine_type>;
+USE db_datadict;
+ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'db_datadict'
+CREATE TABLE db_datadict.tb_59 ( c1 TEXT )
+ENGINE = <other_engine_type>;
+# Switch to connection default and close connections testuser1,testuser2,testuser3
+DROP USER 'testuser1'@'localhost';
+DROP USER 'testuser2'@'localhost';
+DROP USER 'testuser3'@'localhost';
+DROP DATABASE IF EXISTS db_datadict;
+########################################################################################
+# Testcases 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.USER_PRIVILEGES modifications
+########################################################################################
+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' NULL USAGE 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' NULL SELECT NO
+'testuser1'@'localhost' NULL FILE 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'
+########################################################################
+# Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and
+# DDL on INFORMATION_SCHEMA tables are not supported
+########################################################################
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+INSERT INTO information_schema.user_privileges
+SELECT * FROM information_schema.user_privileges;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+UPDATE information_schema.user_privileges
+SET PRIVILEGE_TYPE = 'gaming';
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DELETE FROM information_schema.user_privileges
+WHERE grantee = '''testuser1''@''localhost''';
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+TRUNCATE information_schema.user_privileges;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+CREATE INDEX i1 ON information_schema.user_privileges(grantee);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.user_privileges ADD f1 INT;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DROP TABLE information_schema.user_privileges;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.user_privileges
+RENAME db_datadict.user_privileges;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.user_privileges
+RENAME information_schema.xuser_privileges;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DROP USER 'testuser1'@'localhost';
diff --git a/mysql-test/suite/funcs_1/r/is_views.result b/mysql-test/suite/funcs_1/r/is_views.result
new file mode 100644
index 00000000000..f960c26b21d
--- /dev/null
+++ b/mysql-test/suite/funcs_1/r/is_views.result
@@ -0,0 +1,242 @@
+SHOW TABLES FROM information_schema LIKE 'VIEWS';
+Tables_in_information_schema (VIEWS)
+VIEWS
+#######################################################################
+# Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT
+#######################################################################
+DROP VIEW IF EXISTS test.v1;
+DROP PROCEDURE IF EXISTS test.p1;
+DROP FUNCTION IF EXISTS test.f1;
+CREATE VIEW test.v1 AS SELECT * FROM information_schema.VIEWS;
+CREATE PROCEDURE test.p1() SELECT * FROM information_schema.VIEWS;
+CREATE FUNCTION test.f1() returns BIGINT
+BEGIN
+DECLARE counter BIGINT DEFAULT NULL;
+SELECT COUNT(*) INTO counter FROM information_schema.VIEWS;
+RETURN counter;
+END//
+# Attention: The printing of the next result sets is disabled.
+SELECT * FROM information_schema.VIEWS;
+SELECT * FROM test.v1;
+CALL test.p1;
+SELECT test.f1();
+DROP VIEW test.v1;
+DROP PROCEDURE test.p1;
+DROP FUNCTION test.f1;
+#########################################################################
+# Testcase 3.2.13.1: INFORMATION_SCHEMA.VIEWS layout
+#########################################################################
+DESCRIBE information_schema.VIEWS;
+Field Type Null Key Default Extra
+TABLE_CATALOG varchar(512) YES NULL
+TABLE_SCHEMA varchar(64) NO
+TABLE_NAME varchar(64) NO
+VIEW_DEFINITION longtext NO NULL
+CHECK_OPTION varchar(8) NO
+IS_UPDATABLE varchar(3) NO
+DEFINER varchar(77) NO
+SECURITY_TYPE varchar(7) NO
+CHARACTER_SET_CLIENT varchar(32) NO
+COLLATION_CONNECTION varchar(32) NO
+SHOW CREATE TABLE information_schema.VIEWS;
+Table Create Table
+VIEWS CREATE TEMPORARY TABLE `VIEWS` (
+ `TABLE_CATALOG` varchar(512) DEFAULT NULL,
+ `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
+ `TABLE_NAME` varchar(64) NOT NULL DEFAULT '',
+ `VIEW_DEFINITION` longtext NOT NULL,
+ `CHECK_OPTION` varchar(8) NOT NULL DEFAULT '',
+ `IS_UPDATABLE` varchar(3) NOT NULL DEFAULT '',
+ `DEFINER` varchar(77) NOT NULL DEFAULT '',
+ `SECURITY_TYPE` varchar(7) NOT NULL DEFAULT '',
+ `CHARACTER_SET_CLIENT` varchar(32) NOT NULL DEFAULT '',
+ `COLLATION_CONNECTION` varchar(32) NOT NULL DEFAULT ''
+) ENGINE=MyISAM DEFAULT CHARSET=utf8
+SHOW COLUMNS FROM information_schema.VIEWS;
+Field Type Null Key Default Extra
+TABLE_CATALOG varchar(512) YES NULL
+TABLE_SCHEMA varchar(64) NO
+TABLE_NAME varchar(64) NO
+VIEW_DEFINITION longtext NO NULL
+CHECK_OPTION varchar(8) NO
+IS_UPDATABLE varchar(3) NO
+DEFINER varchar(77) NO
+SECURITY_TYPE varchar(7) NO
+CHARACTER_SET_CLIENT varchar(32) NO
+COLLATION_CONNECTION varchar(32) NO
+SELECT table_catalog, table_schema, table_name
+FROM information_schema.views WHERE table_catalog IS NOT NULL;
+table_catalog table_schema table_name
+################################################################################
+# Testcase 3.2.13.2 + 3.2.13.3: INFORMATION_SCHEMA.VIEWS accessible information
+################################################################################
+DROP DATABASE IF EXISTS db_datadict;
+CREATE DATABASE db_datadict;
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+DROP USER 'testuser2'@'localhost';
+CREATE USER 'testuser2'@'localhost';
+DROP USER 'test_no_views'@'localhost';
+CREATE USER 'test_no_views'@'localhost';
+CREATE TABLE db_datadict.t1(f1 INT, f2 INT, f3 INT)
+ENGINE = <engine_type>;
+CREATE VIEW db_datadict.v_granted_to_1 AS SELECT * FROM db_datadict.t1;
+CREATE VIEW db_datadict.v_granted_glob AS SELECT f2, f3 FROM db_datadict.t1;
+GRANT SELECT ON db_datadict.t1 TO 'testuser1'@'localhost';
+GRANT SELECT ON db_datadict.v_granted_to_1 TO 'testuser1'@'localhost';
+GRANT SHOW VIEW, CREATE VIEW ON db_datadict.* TO 'testuser2'@'localhost';
+SELECT * FROM information_schema.views
+WHERE table_schema = 'db_datadict' ORDER BY table_name;
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE CHARACTER_SET_CLIENT COLLATION_CONNECTION
+NULL db_datadict v_granted_glob select `db_datadict`.`t1`.`f2` AS `f2`,`db_datadict`.`t1`.`f3` AS `f3` from `db_datadict`.`t1` NONE YES root@localhost DEFINER latin1 latin1_swedish_ci
+NULL db_datadict v_granted_to_1 select `db_datadict`.`t1`.`f1` AS `f1`,`db_datadict`.`t1`.`f2` AS `f2`,`db_datadict`.`t1`.`f3` AS `f3` from `db_datadict`.`t1` NONE YES root@localhost DEFINER latin1 latin1_swedish_ci
+# Establish connection testuser1 (user=testuser1)
+SELECT * FROM information_schema.views
+WHERE table_schema = 'db_datadict' ORDER BY table_name;
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE CHARACTER_SET_CLIENT COLLATION_CONNECTION
+NULL db_datadict v_granted_to_1 NONE YES root@localhost DEFINER latin1 latin1_swedish_ci
+# Establish connection testuser2 (user=testuser2)
+SELECT * FROM information_schema.views
+WHERE table_schema = 'db_datadict' ORDER BY table_name;
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE CHARACTER_SET_CLIENT COLLATION_CONNECTION
+NULL db_datadict v_granted_glob NONE YES root@localhost DEFINER latin1 latin1_swedish_ci
+NULL db_datadict v_granted_to_1 NONE YES root@localhost DEFINER latin1 latin1_swedish_ci
+# Establish connection test_no_views (user=test_no_views)
+SELECT * FROM information_schema.views
+WHERE table_schema = 'db_datadict' ORDER BY table_name;
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE CHARACTER_SET_CLIENT COLLATION_CONNECTION
+# Switch to connection default and close all other connections
+DROP USER 'testuser1'@'localhost';
+DROP USER 'testuser2'@'localhost';
+DROP USER 'test_no_views'@'localhost';
+DROP DATABASE db_datadict;
+#########################################################################
+# 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.VIEWS modifications
+#########################################################################
+DROP TABLE IF EXISTS test.t1_my_table;
+DROP DATABASE IF EXISTS db_datadict;
+CREATE DATABASE db_datadict;
+CREATE TABLE test.t1_table (f1 BIGINT, f2 CHAR(10))
+DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci
+ENGINE = <engine_type>;
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+SELECT * FROM information_schema.views
+WHERE table_name LIKE 't1_%';
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE CHARACTER_SET_CLIENT COLLATION_CONNECTION
+CREATE VIEW test.t1_view AS SELECT DISTINCT f1 FROM test.t1_table;
+SELECT * FROM information_schema.views
+WHERE table_name LIKE 't1_%';
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE CHARACTER_SET_CLIENT COLLATION_CONNECTION
+NULL test t1_view select distinct `test`.`t1_table`.`f1` AS `f1` from `test`.`t1_table` NONE NO root@localhost DEFINER latin1 latin1_swedish_ci
+SELECT table_name,definer FROM information_schema.views
+WHERE table_name = 't1_view';
+table_name definer
+t1_view root@localhost
+ALTER DEFINER = 'testuser1'@'localhost' VIEW test.t1_view AS
+SELECT DISTINCT f1 FROM test.t1_table;
+SELECT table_name,definer,security_type FROM information_schema.views
+WHERE table_name LIKE 't1_%';
+table_name definer security_type
+t1_view testuser1@localhost DEFINER
+ALTER DEFINER = 'root'@'localhost' SQL SECURITY INVOKER VIEW test.t1_view AS
+SELECT f1 FROM test.t1_table WITH LOCAL CHECK OPTION;
+SELECT table_name,definer,security_type FROM information_schema.views
+WHERE table_name LIKE 't1_%';
+table_name definer security_type
+t1_view root@localhost INVOKER
+SELECT table_schema,table_name FROM information_schema.views
+WHERE table_name LIKE 't1_%'
+ORDER BY table_schema,table_name;
+table_schema table_name
+test t1_view
+RENAME TABLE test.t1_view TO db_datadict.t1_view;
+ERROR HY000: Changing schema from 'test' to 'db_datadict' is not allowed.
+DROP VIEW test.t1_view;
+CREATE VIEW db_datadict.t1_view AS SELECT * FROM test.t1_table;
+SELECT table_schema,table_name FROM information_schema.views
+WHERE table_name LIKE 't1_%'
+ORDER BY table_schema,table_name;
+table_schema table_name
+db_datadict t1_view
+SELECT table_name FROM information_schema.views
+WHERE table_name LIKE 't1_%'
+ORDER BY table_name;
+table_name
+t1_view
+RENAME TABLE db_datadict.t1_view TO db_datadict.t1_viewx;
+SELECT table_name FROM information_schema.views
+WHERE table_name LIKE 't1_%'
+ORDER BY table_name;
+table_name
+t1_viewx
+SELECT table_name FROM information_schema.views
+WHERE table_name LIKE 't1_%'
+ORDER BY table_name;
+table_name
+t1_viewx
+DROP VIEW db_datadict.t1_viewx;
+SELECT table_name FROM information_schema.views
+WHERE table_name LIKE 't1_%'
+ORDER BY table_name;
+table_name
+CREATE VIEW db_datadict.t1_view AS SELECT * FROM test.t1_table;
+SELECT table_name FROM information_schema.views
+WHERE table_name LIKE 't1_%'
+ORDER BY table_name;
+table_name
+t1_view
+DROP TABLE test.t1_table;
+SELECT table_name FROM information_schema.views
+WHERE table_name LIKE 't1_%'
+ORDER BY table_name;
+table_name
+t1_view
+CREATE TABLE test.t1_table (f1 BIGINT, f2 CHAR(10))
+DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci COMMENT = 'Initial Comment'
+ENGINE = <engine_type>;
+SELECT table_name FROM information_schema.views
+WHERE table_name LIKE 't1_%'
+ORDER BY table_name;
+table_name
+t1_view
+DROP DATABASE db_datadict;
+SELECT table_name FROM information_schema.views
+WHERE table_name LIKE 't1_%'
+ORDER BY table_name;
+table_name
+DROP USER 'testuser1'@'localhost';
+DROP TABLE test.t1_table;
+########################################################################
+# Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and
+# DDL on INFORMATION_SCHEMA table are not supported
+########################################################################
+DROP DATABASE IF EXISTS db_datadict;
+CREATE DATABASE db_datadict;
+CREATE VIEW db_datadict.v1 AS SELECT 1;
+INSERT INTO information_schema.views
+SELECT * FROM information_schema.views;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+INSERT INTO information_schema.views(table_schema, table_name)
+VALUES ('db2', 'v2');
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+UPDATE information_schema.views SET table_schema = 'test'
+WHERE table_name = 't1';
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DELETE FROM information_schema.views WHERE table_name = 't1';
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+TRUNCATE information_schema.views;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+CREATE INDEX my_idx_on_views ON information_schema.views(table_schema);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.views DROP PRIMARY KEY;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.views ADD f1 INT;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DROP TABLE information_schema.views;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.views RENAME db_datadict.views;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE information_schema.views RENAME information_schema.xviews;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DROP DATABASE db_datadict;
diff --git a/mysql-test/suite/funcs_1/r/memory__datadict.result b/mysql-test/suite/funcs_1/r/memory__datadict.result
deleted file mode 100644
index c76fee20478..00000000000
--- a/mysql-test/suite/funcs_1/r/memory__datadict.result
+++ /dev/null
@@ -1,15166 +0,0 @@
-
-.
-. It is intended that the 3 <engine>__datadict.test files are named this way to be
-. sure they are - in a *full run* of the suite - the first tests done for each
-. storage engine. Using two _ and the order of processing in mysql-test-run.pl
-. ensures this in an easy way.
-.
-. If needed a restart could be implemented later between the storage engines if
-. values changes in the result depending from the position where the
-. *__datadict.test are started. This can be a result of showing e.g. maximum
-. values of the number of rows of tables.
-.
-. This .result file has been checked OK with Linux 5.0.23-bk,
-. ChangeSet@1.2211, 2006-06-28 10:11:43-07:00.
-.
---------------------------------------------------------------------------------
-
-FIXME: There are subtests that are switched off due to known bugs:
-------------------------------------------------------------------
-SELECT 1 AS "have_bug_11589";
-have_bug_11589
-1
-
-There are some statements where the ps-protocol is switched off.
-This may come from the bug listed below, ir from other problems.
-Bug#11589: mysqltest, --ps-protocol, strange output, float/double/real with zerofill
---------------------------------------------------------------------------------
-SET @NO_REFRESH = IF( '' = '', 0, 1);
-DROP DATABASE IF EXISTS test1;
-CREATE DATABASE test1;
-USE test;
-set @@global.max_heap_table_size = 4294967295;
-set @@session.max_heap_table_size = 4294967295;
-drop table if exists tb1 ;
-create table tb1 (
-f1 char,
-f2 char binary,
-f3 char ascii,
-f12 binary,
-f13 tinyint,
-f14 tinyint unsigned,
-f15 tinyint zerofill,
-f16 tinyint unsigned zerofill,
-f17 smallint,
-f18 smallint unsigned,
-f19 smallint zerofill,
-f20 smallint unsigned zerofill,
-f21 mediumint,
-f22 mediumint unsigned,
-f23 mediumint zerofill,
-f24 mediumint unsigned zerofill,
-f25 int,
-f26 int unsigned,
-f27 int zerofill,
-f28 int unsigned zerofill,
-f29 bigint,
-f30 bigint unsigned,
-f31 bigint zerofill,
-f32 bigint unsigned zerofill,
-f33 decimal not null DEFAULT 9.9,
-f34 decimal unsigned not null DEFAULT 9.9,
-f35 decimal zerofill not null DEFAULT 9.9,
-f36 decimal unsigned zerofill not null DEFAULT 9.9,
-f37 decimal (0) not null DEFAULT 9.9,
-f38 decimal (64) not null DEFAULT 9.9,
-f39 decimal (0) unsigned not null DEFAULT 9.9,
-f40 decimal (64) unsigned not null DEFAULT 9.9,
-f41 decimal (0) zerofill not null DEFAULT 9.9,
-f42 decimal (64) zerofill not null DEFAULT 9.9,
-f43 decimal (0) unsigned zerofill not null DEFAULT 9.9,
-f44 decimal (64) unsigned zerofill not null DEFAULT 9.9,
-f45 decimal (0,0) not null DEFAULT 9.9,
-f46 decimal (63,30) not null DEFAULT 9.9,
-f47 decimal (0,0) unsigned not null DEFAULT 9.9,
-f48 decimal (63,30) unsigned not null DEFAULT 9.9,
-f49 decimal (0,0) zerofill not null DEFAULT 9.9,
-f50 decimal (63,30) zerofill not null DEFAULT 9.9,
-f51 decimal (0,0) unsigned zerofill not null DEFAULT 9.9,
-f52 decimal (63,30) unsigned zerofill not null DEFAULT 9.9,
-f53 numeric not null DEFAULT 99,
-f54 numeric unsigned not null DEFAULT 99,
-f55 numeric zerofill not null DEFAULT 99,
-f56 numeric unsigned zerofill not null DEFAULT 99,
-f57 numeric (0) not null DEFAULT 99,
-f58 numeric (64) not null DEFAULT 99
-) engine = memory;
-Warnings:
-Note 1265 Data truncated for column 'f33' at row 1
-Note 1265 Data truncated for column 'f34' at row 1
-Note 1265 Data truncated for column 'f35' at row 1
-Note 1265 Data truncated for column 'f36' at row 1
-Note 1265 Data truncated for column 'f37' at row 1
-Note 1265 Data truncated for column 'f38' at row 1
-Note 1265 Data truncated for column 'f39' at row 1
-Note 1265 Data truncated for column 'f40' at row 1
-Note 1265 Data truncated for column 'f41' at row 1
-Note 1265 Data truncated for column 'f42' at row 1
-Note 1265 Data truncated for column 'f43' at row 1
-Note 1265 Data truncated for column 'f44' at row 1
-Note 1265 Data truncated for column 'f45' at row 1
-Note 1265 Data truncated for column 'f47' at row 1
-Note 1265 Data truncated for column 'f49' at row 1
-Note 1265 Data truncated for column 'f51' at row 1
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/memory_tb1.txt' into table tb1 ;
-set @@global.max_heap_table_size = 4294967295;
-set @@session.max_heap_table_size = 4294967295;
-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 = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/memory_tb2.txt' into table tb2 ;
-set @@global.max_heap_table_size = 4294967295;
-set @@session.max_heap_table_size = 4294967295;
-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 = memory;
-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 'MYSQL_TEST_DIR/suite/funcs_1/data/memory_tb3.txt' into table tb3 ;
-set @@global.max_heap_table_size = 4294967295;
-set @@session.max_heap_table_size = 4294967295;
-drop table if exists tb4 ;
-create table tb4 (
-f176 numeric (0) unsigned not null DEFAULT 9,
-f177 numeric (64) unsigned not null DEFAULT 9,
-f178 numeric (0) zerofill not null DEFAULT 9,
-f179 numeric (64) zerofill not null DEFAULT 9,
-f180 numeric (0) unsigned zerofill not null DEFAULT 9,
-f181 numeric (64) unsigned zerofill not null DEFAULT 9,
-f182 numeric (0,0) not null DEFAULT 9,
-f183 numeric (63,30) not null DEFAULT 9,
-f184 numeric (0,0) unsigned not null DEFAULT 9,
-f185 numeric (63,30) unsigned not null DEFAULT 9,
-f186 numeric (0,0) zerofill not null DEFAULT 9,
-f187 numeric (63,30) zerofill not null DEFAULT 9,
-f188 numeric (0,0) unsigned zerofill not null DEFAULT 9,
-f189 numeric (63,30) unsigned zerofill not null DEFAULT 9,
-f190 real not null DEFAULT 88.8,
-f191 real unsigned not null DEFAULT 88.8,
-f192 real zerofill not null DEFAULT 88.8,
-f193 real unsigned zerofill not null DEFAULT 88.8,
-f194 double not null DEFAULT 55.5,
-f195 double unsigned not null DEFAULT 55.5,
-f196 double zerofill not null DEFAULT 55.5,
-f197 double unsigned zerofill not null DEFAULT 55.5,
-f198 float,
-f199 float unsigned,
-f200 float zerofill,
-f201 float unsigned zerofill,
-f202 float(0),
-f203 float(23),
-f204 float(0) unsigned,
-f205 float(23) unsigned,
-f206 float(0) zerofill,
-f207 float(23) zerofill,
-f208 float(0) unsigned zerofill,
-f209 float(23) unsigned zerofill,
-f210 float(24),
-f211 float(53),
-f212 float(24) unsigned,
-f213 float(53) unsigned,
-f214 float(24) zerofill,
-f215 float(53) zerofill,
-f216 float(24) unsigned zerofill,
-f217 float(53) unsigned zerofill,
-f218 date,
-f219 time,
-f220 datetime,
-f221 timestamp,
-f222 year,
-f223 year(3),
-f224 year(4),
-f225 enum("1enum","2enum"),
-f226 set("1set","2set"),
-f236 char(95) unicode,
-f241 char(255) unicode,
-f237 char(130) binary,
-f238 varchar(25000) binary,
-f239 varbinary(0),
-f240 varchar(1200) unicode
-) engine = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/memory_tb4.txt' into table tb4 ;
-USE test1;
-set @@global.max_heap_table_size = 4294967295;
-set @@session.max_heap_table_size = 4294967295;
-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 = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/memory_tb2.txt' into table tb2 ;
-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 = memory;
-CREATE TABLE t2 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = memory;
-CREATE TABLE t4 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = memory;
-CREATE TABLE t10 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = memory;
-CREATE TABLE t11 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = memory;
-LOAD DATA INFILE 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' INTO TABLE t1;
-LOAD DATA INFILE 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' INTO TABLE t2;
-LOAD DATA INFILE 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' INTO TABLE t4;
-LOAD DATA INFILE 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' INTO TABLE t10;
-LOAD DATA INFILE 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' INTO TABLE t11;
-drop TABLE if exists t3;
-CREATE TABLE t3 (f1 char(20), f2 char(20), f3 integer) ENGINE = memory;
-LOAD DATA INFILE 'MYSQL_TEST_DIR/suite/funcs_1/data/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 = memory;
-LOAD DATA INFILE 'MYSQL_TEST_DIR/suite/funcs_1/data/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 = memory;
-CREATE TABLE t8 (f1 char(20), f2 char(25), f3 date, f4 int) ENGINE = memory;
-LOAD DATA INFILE 'MYSQL_TEST_DIR/suite/funcs_1/data/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 'MYSQL_TEST_DIR/suite/funcs_1/data/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 = memory;
-LOAD DATA INFILE 'MYSQL_TEST_DIR/suite/funcs_1/data/t9.txt' INTO TABLE t9;
-use information_schema;
-
-root@localhost information_schema
-
-Testcase 3.2.1.1:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-CREATE DATABASE db_datadict;
-USE db_datadict;
-CREATE VIEW v1 AS SELECT * FROM information_schema.tables;
-CREATE OR REPLACE VIEW db_datadict.vu1 as
-SELECT grantee AS u
-FROM information_schema.user_privileges;
-CREATE OR REPLACE VIEW db_datadict.vu as
-SELECT DISTINCT u,
-SUBSTRING( u, LENGTH(SUBSTRING_INDEX(u,_utf8'@',1))+3 )
-AS server,
-SUBSTRING( u, LENGTH(SUBSTRING_INDEX(u,_utf8'@',1))+3,
-LENGTH( SUBSTRING( u,
-LENGTH( SUBSTRING_INDEX(u, _utf8'@',1)) +3 )) - 1 )
-AS Server_Clean
-FROM db_datadict.vu1;
-SELECT * FROM db_datadict.vu order by u;
-u server Server_Clean
-'root'@'127.0.0.1' 127.0.0.1' 127.0.0.1
-'root'@'<SERVER_NAME>' <SERVER_NAME>' <SERVER_NAME>
-'root'@'localhost' localhost' localhost
-CREATE PROCEDURE db_datadict.sp_1()
-BEGIN
-SELECT * FROM db_datadict.v1;
-END//
-USE information_schema;
-SHOW tables;
-Tables_in_information_schema
-CHARACTER_SETS
-COLLATIONS
-COLLATION_CHARACTER_SET_APPLICABILITY
-COLUMNS
-COLUMN_PRIVILEGES
-ENGINES
-EVENTS
-FILES
-GLOBAL_STATUS
-GLOBAL_VARIABLES
-KEY_COLUMN_USAGE
-PARTITIONS
-PLUGINS
-PROCESSLIST
-REFERENTIAL_CONSTRAINTS
-ROUTINES
-SCHEMATA
-SCHEMA_PRIVILEGES
-SESSION_STATUS
-SESSION_VARIABLES
-STATISTICS
-TABLES
-TABLE_CONSTRAINTS
-TABLE_PRIVILEGES
-TRIGGERS
-USER_PRIVILEGES
-VIEWS
-select * from schemata ORDER BY 2 DESC, 1 ASC;
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL test4 latin1 latin1_swedish_ci NULL
-NULL test1 latin1 latin1_swedish_ci NULL
-NULL test latin1 latin1_swedish_ci NULL
-NULL mysql latin1 latin1_swedish_ci NULL
-NULL information_schema utf8 utf8_general_ci NULL
-NULL db_datadict latin1 latin1_swedish_ci NULL
-SELECT * FROM tables
-WHERE table_schema = 'information_schema';
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME CHARACTER_SETS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME COLLATIONS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME COLLATION_CHARACTER_SET_APPLICABILITY
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME COLUMNS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME COLUMN_PRIVILEGES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME ENGINES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME EVENTS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME FILES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME GLOBAL_STATUS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME GLOBAL_VARIABLES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME KEY_COLUMN_USAGE
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME PARTITIONS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME PLUGINS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME PROCESSLIST
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME REFERENTIAL_CONSTRAINTS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME ROUTINES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME SCHEMATA
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME SCHEMA_PRIVILEGES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME SESSION_STATUS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME SESSION_VARIABLES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME STATISTICS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME TABLES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME TABLE_CONSTRAINTS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME TABLE_PRIVILEGES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME TRIGGERS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME USER_PRIVILEGES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME VIEWS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-SELECT * FROM tables
-WHERE NOT( table_schema = 'information_schema');
-TABLE_CATALOG NULL
-TABLE_SCHEMA db_datadict
-TABLE_NAME v1
-TABLE_TYPE VIEW
-ENGINE NULL
-VERSION NULL
-ROW_FORMAT NULL
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION NULL
-CHECKSUM NULL
-CREATE_OPTIONS NULL
-TABLE_COMMENT VIEW
-TABLE_CATALOG NULL
-TABLE_SCHEMA db_datadict
-TABLE_NAME vu
-TABLE_TYPE VIEW
-ENGINE NULL
-VERSION NULL
-ROW_FORMAT NULL
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION NULL
-CHECKSUM NULL
-CREATE_OPTIONS NULL
-TABLE_COMMENT VIEW
-TABLE_CATALOG NULL
-TABLE_SCHEMA db_datadict
-TABLE_NAME vu1
-TABLE_TYPE VIEW
-ENGINE NULL
-VERSION NULL
-ROW_FORMAT NULL
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION NULL
-CHECKSUM NULL
-CREATE_OPTIONS NULL
-TABLE_COMMENT VIEW
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME columns_priv
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Column privileges
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME db
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 2
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Database privileges
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME event
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Events
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME func
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT User defined functions
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME general_log
-TABLE_TYPE BASE TABLE
-ENGINE CSV
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 2
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT General log
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME help_category
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT help categories
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME help_keyword
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT help keywords
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME help_relation
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT keyword-topic relation
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME help_topic
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT help topics
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME host
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Host privileges; Merged with database privileges
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME ndb_binlog_index
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME plugin
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT MySQL plugins
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME proc
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 1
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Stored Procedures
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME procs_priv
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Procedure privileges
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME servers
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT MySQL Foreign Servers table
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME slow_log
-TABLE_TYPE BASE TABLE
-ENGINE CSV
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 2
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Slow log
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME tables_priv
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Table privileges
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME time_zone
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 5
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT 6
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Time zones
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME time_zone_leap_second
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 22
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Leap seconds information for time zones
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME time_zone_name
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 6
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Time zone names
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME time_zone_transition
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 393
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Time zone transitions
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME time_zone_transition_type
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 31
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Time zone transition types
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME user
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 3
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Users and global privileges
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t1
-TABLE_TYPE BASE TABLE
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t10
-TABLE_TYPE BASE TABLE
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t11
-TABLE_TYPE BASE TABLE
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t2
-TABLE_TYPE BASE TABLE
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t3
-TABLE_TYPE BASE TABLE
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t4
-TABLE_TYPE BASE TABLE
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t7
-TABLE_TYPE BASE TABLE
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t8
-TABLE_TYPE BASE TABLE
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t9
-TABLE_TYPE BASE TABLE
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME tb1
-TABLE_TYPE BASE TABLE
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME tb2
-TABLE_TYPE BASE TABLE
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME tb3
-TABLE_TYPE BASE TABLE
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME tb4
-TABLE_TYPE BASE TABLE
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test1
-TABLE_NAME tb2
-TABLE_TYPE BASE TABLE
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test4
-TABLE_NAME t6
-TABLE_TYPE BASE TABLE
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-select s.catalog_name, s.schema_name, s.default_character_set_name,
-t.table_type, t.engine
-from schemata s inner join tables t
-ORDER BY s.schema_name, s.default_character_set_name, table_type, engine;
-catalog_name schema_name default_character_set_name table_type engine
-NULL db_datadict latin1 BASE TABLE CSV
-NULL db_datadict latin1 BASE TABLE CSV
-NULL db_datadict latin1 BASE TABLE MEMORY
-NULL db_datadict latin1 BASE TABLE MEMORY
-NULL db_datadict latin1 BASE TABLE MEMORY
-NULL db_datadict latin1 BASE TABLE MEMORY
-NULL db_datadict latin1 BASE TABLE MEMORY
-NULL db_datadict latin1 BASE TABLE MEMORY
-NULL db_datadict latin1 BASE TABLE MEMORY
-NULL db_datadict latin1 BASE TABLE MEMORY
-NULL db_datadict latin1 BASE TABLE MEMORY
-NULL db_datadict latin1 BASE TABLE MEMORY
-NULL db_datadict latin1 BASE TABLE MEMORY
-NULL db_datadict latin1 BASE TABLE MEMORY
-NULL db_datadict latin1 BASE TABLE MEMORY
-NULL db_datadict latin1 BASE TABLE MEMORY
-NULL db_datadict latin1 BASE TABLE MEMORY
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 VIEW NULL
-NULL db_datadict latin1 VIEW NULL
-NULL db_datadict latin1 VIEW NULL
-NULL information_schema utf8 BASE TABLE CSV
-NULL information_schema utf8 BASE TABLE CSV
-NULL information_schema utf8 BASE TABLE MEMORY
-NULL information_schema utf8 BASE TABLE MEMORY
-NULL information_schema utf8 BASE TABLE MEMORY
-NULL information_schema utf8 BASE TABLE MEMORY
-NULL information_schema utf8 BASE TABLE MEMORY
-NULL information_schema utf8 BASE TABLE MEMORY
-NULL information_schema utf8 BASE TABLE MEMORY
-NULL information_schema utf8 BASE TABLE MEMORY
-NULL information_schema utf8 BASE TABLE MEMORY
-NULL information_schema utf8 BASE TABLE MEMORY
-NULL information_schema utf8 BASE TABLE MEMORY
-NULL information_schema utf8 BASE TABLE MEMORY
-NULL information_schema utf8 BASE TABLE MEMORY
-NULL information_schema utf8 BASE TABLE MEMORY
-NULL information_schema utf8 BASE TABLE MEMORY
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 VIEW NULL
-NULL information_schema utf8 VIEW NULL
-NULL information_schema utf8 VIEW NULL
-NULL mysql latin1 BASE TABLE CSV
-NULL mysql latin1 BASE TABLE CSV
-NULL mysql latin1 BASE TABLE MEMORY
-NULL mysql latin1 BASE TABLE MEMORY
-NULL mysql latin1 BASE TABLE MEMORY
-NULL mysql latin1 BASE TABLE MEMORY
-NULL mysql latin1 BASE TABLE MEMORY
-NULL mysql latin1 BASE TABLE MEMORY
-NULL mysql latin1 BASE TABLE MEMORY
-NULL mysql latin1 BASE TABLE MEMORY
-NULL mysql latin1 BASE TABLE MEMORY
-NULL mysql latin1 BASE TABLE MEMORY
-NULL mysql latin1 BASE TABLE MEMORY
-NULL mysql latin1 BASE TABLE MEMORY
-NULL mysql latin1 BASE TABLE MEMORY
-NULL mysql latin1 BASE TABLE MEMORY
-NULL mysql latin1 BASE TABLE MEMORY
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 VIEW NULL
-NULL mysql latin1 VIEW NULL
-NULL mysql latin1 VIEW NULL
-NULL test latin1 BASE TABLE CSV
-NULL test latin1 BASE TABLE CSV
-NULL test latin1 BASE TABLE MEMORY
-NULL test latin1 BASE TABLE MEMORY
-NULL test latin1 BASE TABLE MEMORY
-NULL test latin1 BASE TABLE MEMORY
-NULL test latin1 BASE TABLE MEMORY
-NULL test latin1 BASE TABLE MEMORY
-NULL test latin1 BASE TABLE MEMORY
-NULL test latin1 BASE TABLE MEMORY
-NULL test latin1 BASE TABLE MEMORY
-NULL test latin1 BASE TABLE MEMORY
-NULL test latin1 BASE TABLE MEMORY
-NULL test latin1 BASE TABLE MEMORY
-NULL test latin1 BASE TABLE MEMORY
-NULL test latin1 BASE TABLE MEMORY
-NULL test latin1 BASE TABLE MEMORY
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 VIEW NULL
-NULL test latin1 VIEW NULL
-NULL test latin1 VIEW NULL
-NULL test1 latin1 BASE TABLE CSV
-NULL test1 latin1 BASE TABLE CSV
-NULL test1 latin1 BASE TABLE MEMORY
-NULL test1 latin1 BASE TABLE MEMORY
-NULL test1 latin1 BASE TABLE MEMORY
-NULL test1 latin1 BASE TABLE MEMORY
-NULL test1 latin1 BASE TABLE MEMORY
-NULL test1 latin1 BASE TABLE MEMORY
-NULL test1 latin1 BASE TABLE MEMORY
-NULL test1 latin1 BASE TABLE MEMORY
-NULL test1 latin1 BASE TABLE MEMORY
-NULL test1 latin1 BASE TABLE MEMORY
-NULL test1 latin1 BASE TABLE MEMORY
-NULL test1 latin1 BASE TABLE MEMORY
-NULL test1 latin1 BASE TABLE MEMORY
-NULL test1 latin1 BASE TABLE MEMORY
-NULL test1 latin1 BASE TABLE MEMORY
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 VIEW NULL
-NULL test1 latin1 VIEW NULL
-NULL test1 latin1 VIEW NULL
-NULL test4 latin1 BASE TABLE CSV
-NULL test4 latin1 BASE TABLE CSV
-NULL test4 latin1 BASE TABLE MEMORY
-NULL test4 latin1 BASE TABLE MEMORY
-NULL test4 latin1 BASE TABLE MEMORY
-NULL test4 latin1 BASE TABLE MEMORY
-NULL test4 latin1 BASE TABLE MEMORY
-NULL test4 latin1 BASE TABLE MEMORY
-NULL test4 latin1 BASE TABLE MEMORY
-NULL test4 latin1 BASE TABLE MEMORY
-NULL test4 latin1 BASE TABLE MEMORY
-NULL test4 latin1 BASE TABLE MEMORY
-NULL test4 latin1 BASE TABLE MEMORY
-NULL test4 latin1 BASE TABLE MEMORY
-NULL test4 latin1 BASE TABLE MEMORY
-NULL test4 latin1 BASE TABLE MEMORY
-NULL test4 latin1 BASE TABLE MEMORY
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 VIEW NULL
-NULL test4 latin1 VIEW NULL
-NULL test4 latin1 VIEW NULL
-select * from columns;
-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
-NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema CHARACTER_SETS DESCRIPTION 3 NO varchar 60 180 NULL NULL utf8 utf8_general_ci varchar(60) select
-NULL information_schema CHARACTER_SETS MAXLEN 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema COLLATIONS COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATIONS CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATIONS ID 3 0 NO bigint NULL NULL 19 0 NULL NULL bigint(11) select
-NULL information_schema COLLATIONS IS_DEFAULT 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLLATIONS IS_COMPILED 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLLATIONS SORTLEN 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLUMN_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLUMN_TYPE 15 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema COLUMNS COLUMN_KEY 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLUMNS EXTRA 17 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema COLUMNS PRIVILEGES 18 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema COLUMNS COLUMN_COMMENT 19 NO varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
-NULL information_schema COLUMN_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES COLUMN_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES PRIVILEGE_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES IS_GRANTABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ENGINES ENGINE 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ENGINES SUPPORT 2 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema ENGINES COMMENT 3 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema ENGINES TRANSACTIONS 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ENGINES XA 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ENGINES SAVEPOINTS 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema EVENTS EVENT_CATALOG 1 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS EVENT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS EVENT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS DEFINER 4 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
-NULL information_schema EVENTS TIME_ZONE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS EVENT_BODY 6 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema EVENTS EVENT_DEFINITION 7 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema EVENTS EVENT_TYPE 8 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
-NULL information_schema EVENTS EXECUTE_AT 9 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS INTERVAL_VALUE 10 NULL YES varchar 256 768 NULL NULL utf8 utf8_general_ci varchar(256) select
-NULL information_schema EVENTS INTERVAL_FIELD 11 NULL YES varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select
-NULL information_schema EVENTS SQL_MODE 12 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema EVENTS STARTS 13 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS ENDS 14 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS STATUS 15 NO varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select
-NULL information_schema EVENTS ON_COMPLETION 16 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema EVENTS CREATED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS LAST_ALTERED 18 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS LAST_EXECUTED 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS EVENT_COMMENT 20 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS ORIGINATOR 21 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select
-NULL information_schema FILES FILE_ID 1 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES FILE_NAME 2 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES FILE_TYPE 3 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema FILES TABLESPACE_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES TABLE_CATALOG 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES TABLE_SCHEMA 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES TABLE_NAME 7 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES LOGFILE_GROUP_NAME 8 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES LOGFILE_GROUP_NUMBER 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES ENGINE 10 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES FULLTEXT_KEYS 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES DELETED_ROWS 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES UPDATE_COUNT 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES FREE_EXTENTS 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES TOTAL_EXTENTS 15 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES EXTENT_SIZE 16 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES INITIAL_SIZE 17 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES MAXIMUM_SIZE 18 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES AUTOEXTEND_SIZE 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES CREATION_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES LAST_UPDATE_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES LAST_ACCESS_TIME 22 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES RECOVER_TIME 23 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES TRANSACTION_COUNTER 24 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES VERSION 25 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES ROW_FORMAT 26 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema FILES TABLE_ROWS 27 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES AVG_ROW_LENGTH 28 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES DATA_LENGTH 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES MAX_DATA_LENGTH 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES INDEX_LENGTH 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES DATA_FREE 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES CREATE_TIME 33 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES UPDATE_TIME 34 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES CHECK_TIME 35 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES CHECKSUM 36 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES STATUS 37 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema FILES EXTRA 38 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
-NULL information_schema GLOBAL_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema GLOBAL_STATUS VARIABLE_VALUE 2 0.0000000 NO decimal NULL NULL 22 7 NULL NULL decimal(22,7) select
-NULL information_schema GLOBAL_VARIABLES VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema GLOBAL_VARIABLES VARIABLE_VALUE 2 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE COLUMN_NAME 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE ORDINAL_POSITION 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select
-NULL information_schema KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(10) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_NAME 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME 12 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema PARTITIONS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS PARTITION_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS SUBPARTITION_NAME 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION 7 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS PARTITION_METHOD 8 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema PARTITIONS SUBPARTITION_METHOD 9 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema PARTITIONS PARTITION_EXPRESSION 10 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PARTITIONS SUBPARTITION_EXPRESSION 11 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PARTITIONS PARTITION_DESCRIPTION 12 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PARTITIONS TABLE_ROWS 13 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS AVG_ROW_LENGTH 14 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS DATA_LENGTH 15 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS MAX_DATA_LENGTH 16 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS INDEX_LENGTH 17 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS DATA_FREE 18 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS CREATE_TIME 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema PARTITIONS UPDATE_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema PARTITIONS CHECK_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema PARTITIONS CHECKSUM 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS PARTITION_COMMENT 23 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema PARTITIONS NODEGROUP 24 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema PARTITIONS TABLESPACE_NAME 25 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_VERSION 2 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema PLUGINS PLUGIN_STATUS 3 NO varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema PLUGINS PLUGIN_TYPE 4 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema PLUGINS PLUGIN_TYPE_VERSION 5 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema PLUGINS PLUGIN_LIBRARY 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_LIBRARY_VERSION 7 NULL YES varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema PLUGINS PLUGIN_AUTHOR 8 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_DESCRIPTION 9 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PLUGINS PLUGIN_LICENSE 10 NULL YES varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema PROCESSLIST ID 1 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema PROCESSLIST USER 2 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema PROCESSLIST HOST 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PROCESSLIST DB 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PROCESSLIST COMMAND 5 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema PROCESSLIST TIME 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(7) select
-NULL information_schema PROCESSLIST STATE 7 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PROCESSLIST INFO 8 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS MATCH_OPTION 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UPDATE_RULE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS DELETE_RULE 9 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS TABLE_NAME 10 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS REFERENCED_TABLE_NAME 11 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES SPECIFIC_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema ROUTINES ROUTINE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_TYPE 5 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
-NULL information_schema ROUTINES DTD_IDENTIFIER 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_BODY 7 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema ROUTINES ROUTINE_DEFINITION 8 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema ROUTINES EXTERNAL_NAME 9 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES EXTERNAL_LANGUAGE 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES PARAMETER_STYLE 11 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema ROUTINES IS_DETERMINISTIC 12 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ROUTINES SQL_DATA_ACCESS 13 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES SQL_PATH 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES SECURITY_TYPE 15 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select
-NULL information_schema ROUTINES CREATED 16 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema ROUTINES LAST_ALTERED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema ROUTINES SQL_MODE 18 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema ROUTINES ROUTINE_COMMENT 19 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES DEFINER 20 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
-NULL information_schema SCHEMATA CATALOG_NAME 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema SCHEMATA SCHEMA_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA DEFAULT_COLLATION_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA SQL_PATH 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema SCHEMA_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema SCHEMA_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMA_PRIVILEGES IS_GRANTABLE 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema SESSION_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SESSION_STATUS VARIABLE_VALUE 2 0.0000000 NO decimal NULL NULL 22 7 NULL NULL decimal(22,7) select
-NULL information_schema SESSION_VARIABLES VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SESSION_VARIABLES VARIABLE_VALUE 2 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema STATISTICS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema STATISTICS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS NON_UNIQUE 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(1) select
-NULL information_schema STATISTICS INDEX_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS INDEX_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS SEQ_IN_INDEX 7 0 NO bigint NULL NULL 19 0 NULL NULL bigint(2) select
-NULL information_schema STATISTICS COLUMN_NAME 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS COLLATION 9 NULL YES varchar 1 3 NULL NULL utf8 utf8_general_ci varchar(1) select
-NULL information_schema STATISTICS CARDINALITY 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select
-NULL information_schema STATISTICS SUB_PART 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema STATISTICS PACKED 12 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema STATISTICS NULLABLE 13 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema STATISTICS INDEX_TYPE 14 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema STATISTICS COMMENT 15 NULL YES varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema TABLES TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
-NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS TABLE_SCHEMA 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS TABLE_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema TABLE_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLE_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES PRIVILEGE_TYPE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES IS_GRANTABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema TRIGGERS TRIGGER_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TRIGGERS TRIGGER_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS TRIGGER_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS EVENT_MANIPULATION 4 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select
-NULL information_schema TRIGGERS EVENT_OBJECT_CATALOG 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TRIGGERS EVENT_OBJECT_SCHEMA 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS EVENT_OBJECT_TABLE 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_ORDER 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema TRIGGERS ACTION_CONDITION 9 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS ACTION_STATEMENT 10 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS ACTION_ORIENTATION 11 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
-NULL information_schema TRIGGERS ACTION_TIMING 12 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_TABLE 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_TABLE 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_ROW 15 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_ROW 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema TRIGGERS CREATED 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TRIGGERS SQL_MODE 18 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS DEFINER 19 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema USER_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema USER_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema USER_PRIVILEGES PRIVILEGE_TYPE 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema USER_PRIVILEGES IS_GRANTABLE 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema VIEWS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema VIEWS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema VIEWS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema VIEWS VIEW_DEFINITION 4 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema VIEWS CHECK_OPTION 5 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema VIEWS IS_UPDATABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema VIEWS DEFINER 7 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
-NULL information_schema VIEWS SECURITY_TYPE 8 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select
-NULL db_datadict v1 TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select,insert,update,references
-NULL db_datadict v1 TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
-NULL db_datadict v1 TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
-NULL db_datadict v1 TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
-NULL db_datadict v1 ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
-NULL db_datadict v1 VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references
-NULL db_datadict v1 ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select,insert,update,references
-NULL db_datadict v1 TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references
-NULL db_datadict v1 AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references
-NULL db_datadict v1 DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references
-NULL db_datadict v1 MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references
-NULL db_datadict v1 INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references
-NULL db_datadict v1 DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references
-NULL db_datadict v1 AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references
-NULL db_datadict v1 CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL db_datadict v1 UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL db_datadict v1 CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL db_datadict v1 TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
-NULL db_datadict v1 CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references
-NULL db_datadict v1 CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select,insert,update,references
-NULL db_datadict v1 TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select,insert,update,references
-NULL db_datadict vu u 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select,insert,update,references
-NULL db_datadict vu server 2 NO varchar 243 729 NULL NULL utf8 utf8_general_ci varchar(243) select,insert,update,references
-NULL db_datadict vu Server_Clean 3 NO varchar 243 729 NULL NULL utf8 utf8_general_ci varchar(243) select,insert,update,references
-NULL db_datadict vu1 u 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select,insert,update,references
-NULL mysql columns_priv Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
-NULL mysql columns_priv Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql columns_priv User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
-NULL mysql columns_priv Table_name 4 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql columns_priv Column_name 5 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql columns_priv Timestamp 6 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql columns_priv Column_priv 7 NO set 31 93 NULL NULL utf8 utf8_general_ci set('Select','Insert','Update','References') select,insert,update,references
-NULL mysql db Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
-NULL mysql db Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql db User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
-NULL mysql db Select_priv 4 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Insert_priv 5 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Update_priv 6 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Delete_priv 7 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Create_priv 8 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Drop_priv 9 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Grant_priv 10 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db References_priv 11 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Index_priv 12 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Alter_priv 13 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Create_tmp_table_priv 14 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Lock_tables_priv 15 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Create_view_priv 16 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Show_view_priv 17 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Create_routine_priv 18 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Alter_routine_priv 19 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Execute_priv 20 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Event_priv 21 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Trigger_priv 22 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql event db 1 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql event name 2 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) PRI select,insert,update,references
-NULL mysql event body 3 NULL NO longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references
-NULL mysql event definer 4 NO char 77 231 NULL NULL utf8 utf8_bin char(77) select,insert,update,references
-NULL mysql event execute_at 5 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL mysql event interval_value 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql event interval_field 7 NULL YES enum 18 54 NULL NULL utf8 utf8_general_ci enum('YEAR','QUARTER','MONTH','DAY','HOUR','MINUTE','WEEK','SECOND','MICROSECOND','YEAR_MONTH','DAY_HOUR','DAY_MINUTE','DAY_SECOND','HOUR_MINUTE','HOUR_SECOND','MINUTE_SECOND','DAY_MICROSECOND','HOUR_MICROSECOND','MINUTE_MICROSECOND','SECOND_MICROSECOND') select,insert,update,references
-NULL mysql event created 8 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql event modified 9 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql event last_executed 10 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL mysql event starts 11 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL mysql event ends 12 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL mysql event status 13 ENABLED NO enum 18 54 NULL NULL utf8 utf8_general_ci enum('ENABLED','DISABLED','SLAVESIDE_DISABLED') select,insert,update,references
-NULL mysql event on_completion 14 DROP NO enum 8 24 NULL NULL utf8 utf8_general_ci enum('DROP','PRESERVE') select,insert,update,references
-NULL mysql event sql_mode 15 NO set 431 1293 NULL NULL utf8 utf8_general_ci set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE') select,insert,update,references
-NULL mysql event comment 16 NO char 64 192 NULL NULL utf8 utf8_bin char(64) select,insert,update,references
-NULL mysql event originator 17 NULL NO int NULL NULL 10 0 NULL NULL int(10) select,insert,update,references
-NULL mysql event time_zone 18 SYSTEM NO char 64 64 NULL NULL latin1 latin1_swedish_ci char(64) select,insert,update,references
-NULL mysql func name 1 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql func ret 2 0 NO tinyint NULL NULL 3 0 NULL NULL tinyint(1) select,insert,update,references
-NULL mysql func dl 3 NO char 128 384 NULL NULL utf8 utf8_bin char(128) select,insert,update,references
-NULL mysql func type 4 NULL NO enum 9 27 NULL NULL utf8 utf8_general_ci enum('function','aggregate') select,insert,update,references
-NULL mysql general_log event_time 1 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql general_log user_host 2 NULL YES mediumtext 16777215 16777215 NULL NULL utf8 utf8_general_ci mediumtext select,insert,update,references
-NULL mysql general_log thread_id 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql general_log server_id 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql general_log command_type 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
-NULL mysql general_log argument 6 NULL YES mediumtext 16777215 16777215 NULL NULL utf8 utf8_general_ci mediumtext select,insert,update,references
-NULL mysql help_category help_category_id 1 NULL NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned PRI select,insert,update,references
-NULL mysql help_category name 2 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) UNI select,insert,update,references
-NULL mysql help_category parent_category_id 3 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references
-NULL mysql help_category url 4 NULL NO char 128 384 NULL NULL utf8 utf8_general_ci char(128) select,insert,update,references
-NULL mysql help_keyword help_keyword_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references
-NULL mysql help_keyword name 2 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) UNI select,insert,update,references
-NULL mysql help_relation help_topic_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references
-NULL mysql help_relation help_keyword_id 2 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references
-NULL mysql help_topic help_topic_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references
-NULL mysql help_topic name 2 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) UNI select,insert,update,references
-NULL mysql help_topic help_category_id 3 NULL NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references
-NULL mysql help_topic description 4 NULL NO text 65535 65535 NULL NULL utf8 utf8_general_ci text select,insert,update,references
-NULL mysql help_topic example 5 NULL NO text 65535 65535 NULL NULL utf8 utf8_general_ci text select,insert,update,references
-NULL mysql help_topic url 6 NULL NO char 128 384 NULL NULL utf8 utf8_general_ci char(128) select,insert,update,references
-NULL mysql host Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
-NULL mysql host Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql host Select_priv 3 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Insert_priv 4 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Update_priv 5 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Delete_priv 6 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Create_priv 7 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Drop_priv 8 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Grant_priv 9 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host References_priv 10 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Index_priv 11 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Alter_priv 12 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Create_tmp_table_priv 13 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Lock_tables_priv 14 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Create_view_priv 15 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Show_view_priv 16 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Create_routine_priv 17 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Alter_routine_priv 18 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Execute_priv 19 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Trigger_priv 20 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql ndb_binlog_index Position 1 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL mysql ndb_binlog_index File 2 NULL NO varchar 255 255 NULL NULL latin1 latin1_swedish_ci varchar(255) select,insert,update,references
-NULL mysql ndb_binlog_index epoch 3 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned PRI select,insert,update,references
-NULL mysql ndb_binlog_index inserts 4 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL mysql ndb_binlog_index updates 5 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL mysql ndb_binlog_index deletes 6 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL mysql ndb_binlog_index schemaops 7 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL mysql plugin name 1 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql plugin dl 2 NO char 128 384 NULL NULL utf8 utf8_bin char(128) select,insert,update,references
-NULL mysql proc db 1 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql proc name 2 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) PRI select,insert,update,references
-NULL mysql proc type 3 NULL NO enum 9 27 NULL NULL utf8 utf8_general_ci enum('FUNCTION','PROCEDURE') PRI select,insert,update,references
-NULL mysql proc specific_name 4 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql proc language 5 SQL NO enum 3 9 NULL NULL utf8 utf8_general_ci enum('SQL') select,insert,update,references
-NULL mysql proc sql_data_access 6 CONTAINS_SQL NO enum 17 51 NULL NULL utf8 utf8_general_ci enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA') select,insert,update,references
-NULL mysql proc is_deterministic 7 NO NO enum 3 9 NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references
-NULL mysql proc security_type 8 DEFINER NO enum 7 21 NULL NULL utf8 utf8_general_ci enum('INVOKER','DEFINER') select,insert,update,references
-NULL mysql proc param_list 9 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
-NULL mysql proc returns 10 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql proc body 11 NULL NO longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references
-NULL mysql proc definer 12 NO char 77 231 NULL NULL utf8 utf8_bin char(77) select,insert,update,references
-NULL mysql proc created 13 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql proc modified 14 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql proc sql_mode 15 NO set 431 1293 NULL NULL utf8 utf8_general_ci set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE') select,insert,update,references
-NULL mysql proc comment 16 NO char 64 192 NULL NULL utf8 utf8_bin char(64) select,insert,update,references
-NULL mysql procs_priv Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
-NULL mysql procs_priv Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql procs_priv User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
-NULL mysql procs_priv Routine_name 4 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql procs_priv Routine_type 5 NULL NO enum 9 27 NULL NULL utf8 utf8_bin enum('FUNCTION','PROCEDURE') PRI select,insert,update,references
-NULL mysql procs_priv Grantor 6 NO char 77 231 NULL NULL utf8 utf8_bin char(77) MUL select,insert,update,references
-NULL mysql procs_priv Proc_priv 7 NO set 27 81 NULL NULL utf8 utf8_general_ci set('Execute','Alter Routine','Grant') select,insert,update,references
-NULL mysql procs_priv Timestamp 8 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql servers Server_name 1 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) PRI select,insert,update,references
-NULL mysql servers Host 2 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql servers Db 3 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql servers Username 4 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql servers Password 5 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql servers Port 6 0 NO int NULL NULL 10 0 NULL NULL int(4) select,insert,update,references
-NULL mysql servers Socket 7 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql servers Wrapper 8 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql servers Owner 9 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql slow_log start_time 1 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql slow_log user_host 2 NULL NO mediumtext 16777215 16777215 NULL NULL utf8 utf8_general_ci mediumtext select,insert,update,references
-NULL mysql slow_log query_time 3 NULL NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references
-NULL mysql slow_log lock_time 4 NULL NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references
-NULL mysql slow_log rows_sent 5 NULL NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql slow_log rows_examined 6 NULL NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql slow_log db 7 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select,insert,update,references
-NULL mysql slow_log last_insert_id 8 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql slow_log insert_id 9 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql slow_log server_id 10 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql slow_log sql_text 11 NULL NO mediumtext 16777215 16777215 NULL NULL utf8 utf8_general_ci mediumtext select,insert,update,references
-NULL mysql tables_priv Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
-NULL mysql tables_priv Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql tables_priv User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
-NULL mysql tables_priv Table_name 4 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql tables_priv Grantor 5 NO char 77 231 NULL NULL utf8 utf8_bin char(77) MUL select,insert,update,references
-NULL mysql tables_priv Timestamp 6 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql tables_priv Table_priv 7 NO set 98 294 NULL NULL utf8 utf8_general_ci set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view','Trigger') select,insert,update,references
-NULL mysql tables_priv Column_priv 8 NO set 31 93 NULL NULL utf8 utf8_general_ci set('Select','Insert','Update','References') select,insert,update,references
-NULL mysql time_zone Time_zone_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI auto_increment select,insert,update,references
-NULL mysql time_zone Use_leap_seconds 2 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('Y','N') select,insert,update,references
-NULL mysql time_zone_leap_second Transition_time 1 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) PRI select,insert,update,references
-NULL mysql time_zone_leap_second Correction 2 NULL NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql time_zone_name Name 1 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) PRI select,insert,update,references
-NULL mysql time_zone_name Time_zone_id 2 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references
-NULL mysql time_zone_transition Time_zone_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references
-NULL mysql time_zone_transition Transition_time 2 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) PRI select,insert,update,references
-NULL mysql time_zone_transition Transition_type_id 3 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references
-NULL mysql time_zone_transition_type Time_zone_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references
-NULL 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
-NULL mysql time_zone_transition_type Offset 3 0 NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql time_zone_transition_type Is_DST 4 0 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references
-NULL mysql time_zone_transition_type Abbreviation 5 NO char 8 24 NULL NULL utf8 utf8_general_ci char(8) select,insert,update,references
-NULL mysql user Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
-NULL mysql user User 2 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
-NULL mysql user Password 3 NO char 41 41 NULL NULL latin1 latin1_bin char(41) select,insert,update,references
-NULL mysql user Select_priv 4 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Insert_priv 5 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Update_priv 6 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Delete_priv 7 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Create_priv 8 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Drop_priv 9 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Reload_priv 10 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Shutdown_priv 11 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Process_priv 12 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user File_priv 13 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Grant_priv 14 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user References_priv 15 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Index_priv 16 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Alter_priv 17 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Show_db_priv 18 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Super_priv 19 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Create_tmp_table_priv 20 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Lock_tables_priv 21 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Execute_priv 22 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Repl_slave_priv 23 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Repl_client_priv 24 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Create_view_priv 25 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Show_view_priv 26 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Create_routine_priv 27 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Alter_routine_priv 28 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Create_user_priv 29 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Event_priv 30 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Trigger_priv 31 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user ssl_type 32 NO enum 9 27 NULL NULL utf8 utf8_general_ci enum('','ANY','X509','SPECIFIED') select,insert,update,references
-NULL mysql user ssl_cipher 33 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
-NULL mysql user x509_issuer 34 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
-NULL mysql user x509_subject 35 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
-NULL mysql user max_questions 36 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references
-NULL mysql user max_updates 37 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references
-NULL mysql user max_connections 38 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references
-NULL mysql user max_user_connections 39 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references
-NULL test t1 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t1 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t1 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t1 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t1 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t1 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t10 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t10 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t10 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t10 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t10 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t10 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t11 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t11 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t11 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t11 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t11 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t11 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t2 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t2 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t2 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t2 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t2 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t2 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t3 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t3 f2 2 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t3 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t4 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t4 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t4 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t4 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t4 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t4 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t7 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t7 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t7 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t7 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t8 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t8 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t8 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t8 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t9 f1 1 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t9 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t9 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test tb1 f1 1 NULL YES char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
-NULL test tb1 f2 2 NULL YES char 1 1 NULL NULL latin1 latin1_bin char(1) select,insert,update,references
-NULL test tb1 f3 3 NULL YES char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
-NULL test tb1 f12 4 NULL YES binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references
-NULL test tb1 f13 5 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references
-NULL test tb1 f14 6 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references
-NULL test tb1 f15 7 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb1 f16 8 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb1 f17 9 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references
-NULL test tb1 f18 10 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references
-NULL test tb1 f19 11 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb1 f20 12 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb1 f21 13 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references
-NULL test tb1 f22 14 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references
-NULL test tb1 f23 15 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb1 f24 16 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb1 f25 17 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test tb1 f26 18 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references
-NULL test tb1 f27 19 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb1 f28 20 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb1 f29 21 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references
-NULL test tb1 f30 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL test tb1 f31 23 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb1 f32 24 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb1 f33 25 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f34 26 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f35 27 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f36 28 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f37 29 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f38 30 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb1 f39 31 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f40 32 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb1 f41 33 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f42 34 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f43 35 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f44 36 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f45 37 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f46 38 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb1 f47 39 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f48 40 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb1 f49 41 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f50 42 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb1 f51 43 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f52 44 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb1 f53 45 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f54 46 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f55 47 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f56 48 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f57 49 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f58 50 99 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb2 f59 1 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb2 f60 2 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb2 f61 3 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f62 4 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f63 5 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f64 6 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f65 7 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb2 f66 8 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb2 f67 9 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb2 f68 10 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb2 f69 11 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f70 12 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb2 f71 13 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f72 14 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb2 f73 15 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb2 f74 16 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb2 f75 17 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f76 18 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f77 19 7.7 YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb2 f78 20 7.7 YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb2 f79 21 00000000000000000007.7 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f80 22 00000000000000000008.8 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f81 23 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f82 24 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f83 25 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f84 26 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f85 27 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f86 28 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f87 29 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f88 30 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f89 31 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f90 32 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f91 33 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f92 34 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f93 35 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f94 36 8.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb2 f95 37 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f96 38 8.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb2 f97 39 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f98 40 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f99 41 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f100 42 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f101 43 2000-01-01 NO date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test tb2 f102 44 00:00:20 NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references
-NULL test tb2 f103 45 0002-02-02 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL test tb2 f104 46 2000-12-31 23:59:59 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL test tb2 f105 47 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb2 f106 48 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb2 f107 49 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb2 f108 50 1enum NO enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references
-NULL test tb2 f109 51 1set NO set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references
-NULL test tb3 f118 1 a NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
-NULL test tb3 f119 2  NO char 1 1 NULL NULL latin1 latin1_bin char(1) select,insert,update,references
-NULL test tb3 f120 3  NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
-NULL test tb3 f121 4 NULL YES char 50 50 NULL NULL latin1 latin1_swedish_ci char(50) select,insert,update,references
-NULL test tb3 f122 5 NULL YES char 50 50 NULL NULL latin1 latin1_swedish_ci char(50) select,insert,update,references
-NULL test tb3 f129 6  NO binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references
-NULL test tb3 f130 7 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references
-NULL test tb3 f131 8 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references
-NULL test tb3 f132 9 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb3 f133 10 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb3 f134 11 999 NO smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references
-NULL test tb3 f135 12 999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references
-NULL test tb3 f136 13 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb3 f137 14 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb3 f138 15 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references
-NULL test tb3 f139 16 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references
-NULL test tb3 f140 17 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb3 f141 18 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb3 f142 19 99999 NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test tb3 f143 20 99999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references
-NULL test tb3 f144 21 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb3 f145 22 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb3 f146 23 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references
-NULL test tb3 f147 24 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL test tb3 f148 25 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb3 f149 26 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb3 f150 27 1000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f151 28 999 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f152 29 0000001000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f153 30 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f154 31 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f155 32 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb3 f156 33 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f157 34 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb3 f158 35 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f159 36 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f160 37 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f161 38 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f162 39 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f163 40 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb3 f164 41 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f165 42 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb3 f166 43 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f167 44 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb3 f168 45 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f169 46 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb3 f170 47 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f171 48 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f172 49 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f173 50 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f174 51 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f175 52 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb4 f176 1 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb4 f177 2 9 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb4 f178 3 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f179 4 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f180 5 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f181 6 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f182 7 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb4 f183 8 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb4 f184 9 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb4 f185 10 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb4 f186 11 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f187 12 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb4 f188 13 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f189 14 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb4 f190 15 88.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb4 f191 16 88.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb4 f192 17 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f193 18 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f194 19 55.5 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb4 f195 20 55.5 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb4 f196 21 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f197 22 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f198 23 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f199 24 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f200 25 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f201 26 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f202 27 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f203 28 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f204 29 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f205 30 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f206 31 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f207 32 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f208 33 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f209 34 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f210 35 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f211 36 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb4 f212 37 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f213 38 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb4 f214 39 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f215 40 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f216 41 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f217 42 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f218 43 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test tb4 f219 44 NULL YES time NULL NULL NULL NULL NULL NULL time select,insert,update,references
-NULL test tb4 f220 45 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL test tb4 f221 46 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL test tb4 f222 47 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb4 f223 48 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb4 f224 49 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb4 f225 50 NULL YES enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references
-NULL test tb4 f226 51 NULL YES set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references
-NULL test tb4 f236 52 NULL YES char 95 190 NULL NULL ucs2 ucs2_general_ci char(95) select,insert,update,references
-NULL test tb4 f241 53 NULL YES char 255 510 NULL NULL ucs2 ucs2_general_ci char(255) select,insert,update,references
-NULL test tb4 f237 54 NULL YES char 130 130 NULL NULL latin1 latin1_bin char(130) select,insert,update,references
-NULL test tb4 f238 55 NULL YES varchar 25000 25000 NULL NULL latin1 latin1_bin varchar(25000) select,insert,update,references
-NULL test tb4 f239 56 NULL YES varbinary 0 0 NULL NULL NULL NULL varbinary(0) select,insert,update,references
-NULL test tb4 f240 57 NULL YES varchar 1200 2400 NULL NULL ucs2 ucs2_general_ci varchar(1200) select,insert,update,references
-NULL test1 tb2 f59 1 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test1 tb2 f60 2 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test1 tb2 f61 3 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test1 tb2 f62 4 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test1 tb2 f63 5 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test1 tb2 f64 6 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test1 tb2 f65 7 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test1 tb2 f66 8 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test1 tb2 f67 9 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test1 tb2 f68 10 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test1 tb2 f69 11 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test1 tb2 f70 12 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test1 tb2 f71 13 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test1 tb2 f72 14 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test1 tb2 f73 15 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test1 tb2 f74 16 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test1 tb2 f75 17 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test1 tb2 f76 18 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test1 tb2 f77 19 7.7 YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test1 tb2 f78 20 7.7 YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test1 tb2 f79 21 00000000000000000007.7 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test1 tb2 f80 22 00000000000000000008.8 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test1 tb2 f81 23 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test1 tb2 f82 24 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test1 tb2 f83 25 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test1 tb2 f84 26 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test1 tb2 f85 27 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test1 tb2 f86 28 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test1 tb2 f87 29 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test1 tb2 f88 30 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test1 tb2 f89 31 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test1 tb2 f90 32 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test1 tb2 f91 33 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test1 tb2 f92 34 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test1 tb2 f93 35 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test1 tb2 f94 36 8.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test1 tb2 f95 37 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test1 tb2 f96 38 8.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test1 tb2 f97 39 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test1 tb2 f98 40 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test1 tb2 f99 41 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test1 tb2 f100 42 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test1 tb2 f101 43 2000-01-01 NO date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test1 tb2 f102 44 00:00:20 NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references
-NULL test1 tb2 f103 45 0002-02-02 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL test1 tb2 f104 46 2000-12-31 23:59:59 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL test1 tb2 f105 47 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test1 tb2 f106 48 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test1 tb2 f107 49 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test1 tb2 f108 50 1enum NO enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references
-NULL test1 tb2 f109 51 1set NO set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references
-NULL test4 t6 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test4 t6 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test4 t6 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test4 t6 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test4 t6 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test4 t6 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-select * from character_sets;
-CHARACTER_SET_NAME DEFAULT_COLLATE_NAME DESCRIPTION MAXLEN
-big5 big5_chinese_ci Big5 Traditional Chinese 2
-dec8 dec8_swedish_ci DEC West European 1
-cp850 cp850_general_ci DOS West European 1
-hp8 hp8_english_ci HP West European 1
-koi8r koi8r_general_ci KOI8-R Relcom Russian 1
-latin1 latin1_swedish_ci cp1252 West European 1
-latin2 latin2_general_ci ISO 8859-2 Central European 1
-swe7 swe7_swedish_ci 7bit Swedish 1
-ascii ascii_general_ci US ASCII 1
-ujis ujis_japanese_ci EUC-JP Japanese 3
-sjis sjis_japanese_ci Shift-JIS Japanese 2
-hebrew hebrew_general_ci ISO 8859-8 Hebrew 1
-tis620 tis620_thai_ci TIS620 Thai 1
-euckr euckr_korean_ci EUC-KR Korean 2
-koi8u koi8u_general_ci KOI8-U Ukrainian 1
-gb2312 gb2312_chinese_ci GB2312 Simplified Chinese 2
-greek greek_general_ci ISO 8859-7 Greek 1
-cp1250 cp1250_general_ci Windows Central European 1
-gbk gbk_chinese_ci GBK Simplified Chinese 2
-latin5 latin5_turkish_ci ISO 8859-9 Turkish 1
-armscii8 armscii8_general_ci ARMSCII-8 Armenian 1
-utf8 utf8_general_ci UTF-8 Unicode 3
-ucs2 ucs2_general_ci UCS-2 Unicode 2
-cp866 cp866_general_ci DOS Russian 1
-keybcs2 keybcs2_general_ci DOS Kamenicky Czech-Slovak 1
-macce macce_general_ci Mac Central European 1
-macroman macroman_general_ci Mac West European 1
-cp852 cp852_general_ci DOS Central European 1
-latin7 latin7_general_ci ISO 8859-13 Baltic 1
-cp1251 cp1251_general_ci Windows Cyrillic 1
-cp1256 cp1256_general_ci Windows Arabic 1
-cp1257 cp1257_general_ci Windows Baltic 1
-binary binary Binary pseudo charset 1
-geostd8 geostd8_general_ci GEOSTD8 Georgian 1
-cp932 cp932_japanese_ci SJIS for Windows Japanese 2
-eucjpms eucjpms_japanese_ci UJIS for Windows Japanese 3
-select sum(id) from collations;
-sum(id)
-10840
-select collation_name, character_set_name into @x,@y
-from collation_character_set_applicability limit 1;
-select @x, @y;
-@x @y
-big5_chinese_ci big5
-select * from routines;
-SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER
-sp_1 NULL db_datadict sp_1 PROCEDURE NULL SQL BEGIN
-SELECT * FROM db_datadict.v1;
-END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost
-select count(*) from routines;
-count(*)
-1
-select * from statistics;
-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
-NULL mysql columns_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-NULL mysql columns_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE
-NULL mysql columns_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE
-NULL mysql columns_priv 0 mysql PRIMARY 4 Table_name A NULL NULL NULL BTREE
-NULL mysql columns_priv 0 mysql PRIMARY 5 Column_name A 0 NULL NULL BTREE
-NULL mysql db 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-NULL mysql db 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE
-NULL mysql db 0 mysql PRIMARY 3 User A 2 NULL NULL BTREE
-NULL mysql db 1 mysql User 1 User A 1 NULL NULL BTREE
-NULL mysql event 0 mysql PRIMARY 1 db A NULL NULL NULL BTREE
-NULL mysql event 0 mysql PRIMARY 2 name A 0 NULL NULL BTREE
-NULL mysql func 0 mysql PRIMARY 1 name A 0 NULL NULL BTREE
-NULL mysql help_category 0 mysql PRIMARY 1 help_category_id A 0 NULL NULL BTREE
-NULL mysql help_category 0 mysql name 1 name A 0 NULL NULL BTREE
-NULL mysql help_keyword 0 mysql PRIMARY 1 help_keyword_id A 0 NULL NULL BTREE
-NULL mysql help_keyword 0 mysql name 1 name A 0 NULL NULL BTREE
-NULL mysql help_relation 0 mysql PRIMARY 1 help_keyword_id A NULL NULL NULL BTREE
-NULL mysql help_relation 0 mysql PRIMARY 2 help_topic_id A 0 NULL NULL BTREE
-NULL mysql help_topic 0 mysql PRIMARY 1 help_topic_id A 0 NULL NULL BTREE
-NULL mysql help_topic 0 mysql name 1 name A 0 NULL NULL BTREE
-NULL mysql host 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-NULL mysql host 0 mysql PRIMARY 2 Db A 0 NULL NULL BTREE
-NULL mysql ndb_binlog_index 0 mysql PRIMARY 1 epoch A 0 NULL NULL BTREE
-NULL mysql plugin 0 mysql PRIMARY 1 name A 0 NULL NULL BTREE
-NULL mysql proc 0 mysql PRIMARY 1 db A NULL NULL NULL BTREE
-NULL mysql proc 0 mysql PRIMARY 2 name A NULL NULL NULL BTREE
-NULL mysql proc 0 mysql PRIMARY 3 type A 1 NULL NULL BTREE
-NULL mysql procs_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-NULL mysql procs_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE
-NULL mysql procs_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE
-NULL mysql procs_priv 0 mysql PRIMARY 4 Routine_name A NULL NULL NULL BTREE
-NULL mysql procs_priv 0 mysql PRIMARY 5 Routine_type A 0 NULL NULL BTREE
-NULL mysql procs_priv 1 mysql Grantor 1 Grantor A NULL NULL NULL BTREE
-NULL mysql servers 0 mysql PRIMARY 1 Server_name A 0 NULL NULL BTREE
-NULL mysql tables_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-NULL mysql tables_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE
-NULL mysql tables_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE
-NULL mysql tables_priv 0 mysql PRIMARY 4 Table_name A 0 NULL NULL BTREE
-NULL mysql tables_priv 1 mysql Grantor 1 Grantor A NULL NULL NULL BTREE
-NULL mysql time_zone 0 mysql PRIMARY 1 Time_zone_id A 5 NULL NULL BTREE
-NULL mysql time_zone_leap_second 0 mysql PRIMARY 1 Transition_time A 22 NULL NULL BTREE
-NULL mysql time_zone_name 0 mysql PRIMARY 1 Name A 6 NULL NULL BTREE
-NULL mysql time_zone_transition 0 mysql PRIMARY 1 Time_zone_id A NULL NULL NULL BTREE
-NULL mysql time_zone_transition 0 mysql PRIMARY 2 Transition_time A 393 NULL NULL BTREE
-NULL mysql time_zone_transition_type 0 mysql PRIMARY 1 Time_zone_id A NULL NULL NULL BTREE
-NULL mysql time_zone_transition_type 0 mysql PRIMARY 2 Transition_type_id A 31 NULL NULL BTREE
-NULL mysql user 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-NULL mysql user 0 mysql PRIMARY 2 User A 3 NULL NULL BTREE
-select * from views;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE
-NULL db_datadict v1 /* ALGORITHM=UNDEFINED */ select `tables`.`TABLE_CATALOG` AS `TABLE_CATALOG`,`tables`.`TABLE_SCHEMA` AS `TABLE_SCHEMA`,`tables`.`TABLE_NAME` AS `TABLE_NAME`,`tables`.`TABLE_TYPE` AS `TABLE_TYPE`,`tables`.`ENGINE` AS `ENGINE`,`tables`.`VERSION` AS `VERSION`,`tables`.`ROW_FORMAT` AS `ROW_FORMAT`,`tables`.`TABLE_ROWS` AS `TABLE_ROWS`,`tables`.`AVG_ROW_LENGTH` AS `AVG_ROW_LENGTH`,`tables`.`DATA_LENGTH` AS `DATA_LENGTH`,`tables`.`MAX_DATA_LENGTH` AS `MAX_DATA_LENGTH`,`tables`.`INDEX_LENGTH` AS `INDEX_LENGTH`,`tables`.`DATA_FREE` AS `DATA_FREE`,`tables`.`AUTO_INCREMENT` AS `AUTO_INCREMENT`,`tables`.`CREATE_TIME` AS `CREATE_TIME`,`tables`.`UPDATE_TIME` AS `UPDATE_TIME`,`tables`.`CHECK_TIME` AS `CHECK_TIME`,`tables`.`TABLE_COLLATION` AS `TABLE_COLLATION`,`tables`.`CHECKSUM` AS `CHECKSUM`,`tables`.`CREATE_OPTIONS` AS `CREATE_OPTIONS`,`tables`.`TABLE_COMMENT` AS `TABLE_COMMENT` from `information_schema`.`tables` NONE NO root@localhost DEFINER
-NULL db_datadict vu /* ALGORITHM=UNDEFINED */ select distinct `vu1`.`u` AS `u`,substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3)) AS `server`,substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3),(length(substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3))) - 1)) AS `Server_Clean` from `db_datadict`.`vu1` NONE NO root@localhost DEFINER
-NULL db_datadict vu1 /* ALGORITHM=UNDEFINED */ select `user_privileges`.`GRANTEE` AS `u` from `information_schema`.`user_privileges` NONE NO root@localhost DEFINER
-select * from user_privileges order by grantee, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'root'@'127.0.0.1' NULL ALTER YES
-'root'@'127.0.0.1' NULL ALTER ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE YES
-'root'@'127.0.0.1' NULL CREATE ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES
-'root'@'127.0.0.1' NULL CREATE USER YES
-'root'@'127.0.0.1' NULL CREATE VIEW YES
-'root'@'127.0.0.1' NULL DELETE YES
-'root'@'127.0.0.1' NULL DROP YES
-'root'@'127.0.0.1' NULL EVENT YES
-'root'@'127.0.0.1' NULL EXECUTE YES
-'root'@'127.0.0.1' NULL FILE YES
-'root'@'127.0.0.1' NULL INDEX YES
-'root'@'127.0.0.1' NULL INSERT YES
-'root'@'127.0.0.1' NULL LOCK TABLES YES
-'root'@'127.0.0.1' NULL PROCESS YES
-'root'@'127.0.0.1' NULL REFERENCES YES
-'root'@'127.0.0.1' NULL RELOAD YES
-'root'@'127.0.0.1' NULL REPLICATION CLIENT YES
-'root'@'127.0.0.1' NULL REPLICATION SLAVE YES
-'root'@'127.0.0.1' NULL SELECT YES
-'root'@'127.0.0.1' NULL SHOW DATABASES YES
-'root'@'127.0.0.1' NULL SHOW VIEW YES
-'root'@'127.0.0.1' NULL SHUTDOWN YES
-'root'@'127.0.0.1' NULL SUPER YES
-'root'@'127.0.0.1' NULL TRIGGER YES
-'root'@'127.0.0.1' NULL UPDATE YES
-'root'@'<SERVER_NAME>' NULL ALTER YES
-'root'@'<SERVER_NAME>' NULL ALTER ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE YES
-'root'@'<SERVER_NAME>' NULL CREATE ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE TEMPORARY TABLES YES
-'root'@'<SERVER_NAME>' NULL CREATE USER YES
-'root'@'<SERVER_NAME>' NULL CREATE VIEW YES
-'root'@'<SERVER_NAME>' NULL DELETE YES
-'root'@'<SERVER_NAME>' NULL DROP YES
-'root'@'<SERVER_NAME>' NULL EVENT YES
-'root'@'<SERVER_NAME>' NULL EXECUTE YES
-'root'@'<SERVER_NAME>' NULL FILE YES
-'root'@'<SERVER_NAME>' NULL INDEX YES
-'root'@'<SERVER_NAME>' NULL INSERT YES
-'root'@'<SERVER_NAME>' NULL LOCK TABLES YES
-'root'@'<SERVER_NAME>' NULL PROCESS YES
-'root'@'<SERVER_NAME>' NULL REFERENCES YES
-'root'@'<SERVER_NAME>' NULL RELOAD YES
-'root'@'<SERVER_NAME>' NULL REPLICATION CLIENT YES
-'root'@'<SERVER_NAME>' NULL REPLICATION SLAVE YES
-'root'@'<SERVER_NAME>' NULL SELECT YES
-'root'@'<SERVER_NAME>' NULL SHOW DATABASES YES
-'root'@'<SERVER_NAME>' NULL SHOW VIEW YES
-'root'@'<SERVER_NAME>' NULL SHUTDOWN YES
-'root'@'<SERVER_NAME>' NULL SUPER YES
-'root'@'<SERVER_NAME>' NULL TRIGGER YES
-'root'@'<SERVER_NAME>' NULL UPDATE YES
-'root'@'localhost' NULL ALTER YES
-'root'@'localhost' NULL ALTER ROUTINE YES
-'root'@'localhost' NULL CREATE YES
-'root'@'localhost' NULL CREATE ROUTINE YES
-'root'@'localhost' NULL CREATE TEMPORARY TABLES YES
-'root'@'localhost' NULL CREATE USER YES
-'root'@'localhost' NULL CREATE VIEW YES
-'root'@'localhost' NULL DELETE YES
-'root'@'localhost' NULL DROP YES
-'root'@'localhost' NULL EVENT YES
-'root'@'localhost' NULL EXECUTE YES
-'root'@'localhost' NULL FILE YES
-'root'@'localhost' NULL INDEX YES
-'root'@'localhost' NULL INSERT YES
-'root'@'localhost' NULL LOCK TABLES YES
-'root'@'localhost' NULL PROCESS YES
-'root'@'localhost' NULL REFERENCES YES
-'root'@'localhost' NULL RELOAD YES
-'root'@'localhost' NULL REPLICATION CLIENT YES
-'root'@'localhost' NULL REPLICATION SLAVE YES
-'root'@'localhost' NULL SELECT YES
-'root'@'localhost' NULL SHOW DATABASES YES
-'root'@'localhost' NULL SHOW VIEW YES
-'root'@'localhost' NULL SHUTDOWN YES
-'root'@'localhost' NULL SUPER YES
-'root'@'localhost' NULL TRIGGER YES
-'root'@'localhost' NULL UPDATE YES
-select * from schema_privileges;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
-''@'%' NULL test SELECT NO
-''@'%' NULL test INSERT NO
-''@'%' NULL test UPDATE NO
-''@'%' NULL test DELETE NO
-''@'%' NULL test CREATE NO
-''@'%' NULL test DROP NO
-''@'%' NULL test REFERENCES NO
-''@'%' NULL test INDEX NO
-''@'%' NULL test ALTER NO
-''@'%' NULL test CREATE TEMPORARY TABLES NO
-''@'%' NULL test LOCK TABLES NO
-''@'%' NULL test CREATE VIEW NO
-''@'%' NULL test SHOW VIEW NO
-''@'%' NULL test CREATE ROUTINE NO
-''@'%' NULL test EVENT NO
-''@'%' NULL test TRIGGER NO
-''@'%' NULL test\_% SELECT NO
-''@'%' NULL test\_% INSERT NO
-''@'%' NULL test\_% UPDATE NO
-''@'%' NULL test\_% DELETE NO
-''@'%' NULL test\_% CREATE NO
-''@'%' NULL test\_% DROP NO
-''@'%' NULL test\_% REFERENCES NO
-''@'%' NULL test\_% INDEX NO
-''@'%' NULL test\_% ALTER NO
-''@'%' NULL test\_% CREATE TEMPORARY TABLES NO
-''@'%' NULL test\_% LOCK TABLES NO
-''@'%' NULL test\_% CREATE VIEW NO
-''@'%' NULL test\_% SHOW VIEW NO
-''@'%' NULL test\_% CREATE ROUTINE NO
-''@'%' NULL test\_% EVENT NO
-''@'%' NULL test\_% TRIGGER NO
-select * from table_privileges;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select * from column_privileges;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select * from table_constraints;
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE
-NULL mysql PRIMARY mysql columns_priv PRIMARY KEY
-NULL mysql PRIMARY mysql db PRIMARY KEY
-NULL mysql PRIMARY mysql event PRIMARY KEY
-NULL mysql PRIMARY mysql func PRIMARY KEY
-NULL mysql PRIMARY mysql help_category PRIMARY KEY
-NULL mysql name mysql help_category UNIQUE
-NULL mysql PRIMARY mysql help_keyword PRIMARY KEY
-NULL mysql name mysql help_keyword UNIQUE
-NULL mysql PRIMARY mysql help_relation PRIMARY KEY
-NULL mysql PRIMARY mysql help_topic PRIMARY KEY
-NULL mysql name mysql help_topic UNIQUE
-NULL mysql PRIMARY mysql host PRIMARY KEY
-NULL mysql PRIMARY mysql ndb_binlog_index PRIMARY KEY
-NULL mysql PRIMARY mysql plugin PRIMARY KEY
-NULL mysql PRIMARY mysql proc PRIMARY KEY
-NULL mysql PRIMARY mysql procs_priv PRIMARY KEY
-NULL mysql PRIMARY mysql servers PRIMARY KEY
-NULL mysql PRIMARY mysql tables_priv PRIMARY KEY
-NULL mysql PRIMARY mysql time_zone PRIMARY KEY
-NULL mysql PRIMARY mysql time_zone_leap_second PRIMARY KEY
-NULL mysql PRIMARY mysql time_zone_name PRIMARY KEY
-NULL mysql PRIMARY mysql time_zone_transition PRIMARY KEY
-NULL mysql PRIMARY mysql time_zone_transition_type PRIMARY KEY
-NULL mysql PRIMARY mysql user PRIMARY KEY
-select * from key_column_usage;
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
-NULL mysql PRIMARY NULL mysql columns_priv Host 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql columns_priv Db 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql columns_priv User 3 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql columns_priv Table_name 4 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql columns_priv Column_name 5 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql db Host 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql db Db 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql db User 3 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql event db 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql event name 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql func name 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql help_category help_category_id 1 NULL NULL NULL NULL
-NULL mysql name NULL mysql help_category name 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql help_keyword help_keyword_id 1 NULL NULL NULL NULL
-NULL mysql name NULL mysql help_keyword name 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql help_relation help_keyword_id 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql help_relation help_topic_id 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql help_topic help_topic_id 1 NULL NULL NULL NULL
-NULL mysql name NULL mysql help_topic name 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql host Host 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql host Db 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql ndb_binlog_index epoch 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql plugin name 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql proc db 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql proc name 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql proc type 3 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql procs_priv Host 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql procs_priv Db 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql procs_priv User 3 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql procs_priv Routine_name 4 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql procs_priv Routine_type 5 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql servers Server_name 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql tables_priv Host 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql tables_priv Db 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql tables_priv User 3 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql tables_priv Table_name 4 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql time_zone Time_zone_id 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql time_zone_leap_second Transition_time 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql time_zone_name Name 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql time_zone_transition Time_zone_id 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql time_zone_transition Transition_time 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql time_zone_transition_type Time_zone_id 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql time_zone_transition_type Transition_type_id 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql user Host 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql user User 2 NULL NULL NULL NULL
-select count(*) as max_recs from key_column_usage;
-max_recs
-45
-select max(cardinality) from statistics;
-max(cardinality)
-393
-select concat("View '",
-table_name, "' is associated with the database '", table_schema, "'.")
-AS "Who is Who for the Views"
- from views;
-Who is Who for the Views
-View 'v1' is associated with the database 'db_datadict'.
-View 'vu' is associated with the database 'db_datadict'.
-View 'vu1' is associated with the database 'db_datadict'.
-select concat("Table or view '", table_name,
-"' is associated with the database '", table_schema, "'.") as "Who is Who"
- from tables;
-Who is Who
-Table or view 'CHARACTER_SETS' is associated with the database 'information_schema'.
-Table or view 'COLLATIONS' is associated with the database 'information_schema'.
-Table or view 'COLLATION_CHARACTER_SET_APPLICABILITY' is associated with the database 'information_schema'.
-Table or view 'COLUMNS' is associated with the database 'information_schema'.
-Table or view 'COLUMN_PRIVILEGES' is associated with the database 'information_schema'.
-Table or view 'ENGINES' is associated with the database 'information_schema'.
-Table or view 'EVENTS' is associated with the database 'information_schema'.
-Table or view 'FILES' is associated with the database 'information_schema'.
-Table or view 'GLOBAL_STATUS' is associated with the database 'information_schema'.
-Table or view 'GLOBAL_VARIABLES' is associated with the database 'information_schema'.
-Table or view 'KEY_COLUMN_USAGE' is associated with the database 'information_schema'.
-Table or view 'PARTITIONS' is associated with the database 'information_schema'.
-Table or view 'PLUGINS' is associated with the database 'information_schema'.
-Table or view 'PROCESSLIST' is associated with the database 'information_schema'.
-Table or view 'REFERENTIAL_CONSTRAINTS' is associated with the database 'information_schema'.
-Table or view 'ROUTINES' is associated with the database 'information_schema'.
-Table or view 'SCHEMATA' is associated with the database 'information_schema'.
-Table or view 'SCHEMA_PRIVILEGES' is associated with the database 'information_schema'.
-Table or view 'SESSION_STATUS' is associated with the database 'information_schema'.
-Table or view 'SESSION_VARIABLES' is associated with the database 'information_schema'.
-Table or view 'STATISTICS' is associated with the database 'information_schema'.
-Table or view 'TABLES' is associated with the database 'information_schema'.
-Table or view 'TABLE_CONSTRAINTS' is associated with the database 'information_schema'.
-Table or view 'TABLE_PRIVILEGES' is associated with the database 'information_schema'.
-Table or view 'TRIGGERS' is associated with the database 'information_schema'.
-Table or view 'USER_PRIVILEGES' is associated with the database 'information_schema'.
-Table or view 'VIEWS' is associated with the database 'information_schema'.
-Table or view 'v1' is associated with the database 'db_datadict'.
-Table or view 'vu' is associated with the database 'db_datadict'.
-Table or view 'vu1' is associated with the database 'db_datadict'.
-Table or view 'columns_priv' is associated with the database 'mysql'.
-Table or view 'db' is associated with the database 'mysql'.
-Table or view 'event' is associated with the database 'mysql'.
-Table or view 'func' is associated with the database 'mysql'.
-Table or view 'general_log' is associated with the database 'mysql'.
-Table or view 'help_category' is associated with the database 'mysql'.
-Table or view 'help_keyword' is associated with the database 'mysql'.
-Table or view 'help_relation' is associated with the database 'mysql'.
-Table or view 'help_topic' is associated with the database 'mysql'.
-Table or view 'host' is associated with the database 'mysql'.
-Table or view 'ndb_binlog_index' is associated with the database 'mysql'.
-Table or view 'plugin' is associated with the database 'mysql'.
-Table or view 'proc' is associated with the database 'mysql'.
-Table or view 'procs_priv' is associated with the database 'mysql'.
-Table or view 'servers' is associated with the database 'mysql'.
-Table or view 'slow_log' is associated with the database 'mysql'.
-Table or view 'tables_priv' is associated with the database 'mysql'.
-Table or view 'time_zone' is associated with the database 'mysql'.
-Table or view 'time_zone_leap_second' is associated with the database 'mysql'.
-Table or view 'time_zone_name' is associated with the database 'mysql'.
-Table or view 'time_zone_transition' is associated with the database 'mysql'.
-Table or view 'time_zone_transition_type' is associated with the database 'mysql'.
-Table or view 'user' is associated with the database 'mysql'.
-Table or view 't1' is associated with the database 'test'.
-Table or view 't10' is associated with the database 'test'.
-Table or view 't11' is associated with the database 'test'.
-Table or view 't2' is associated with the database 'test'.
-Table or view 't3' is associated with the database 'test'.
-Table or view 't4' is associated with the database 'test'.
-Table or view 't7' is associated with the database 'test'.
-Table or view 't8' is associated with the database 'test'.
-Table or view 't9' is associated with the database 'test'.
-Table or view 'tb1' is associated with the database 'test'.
-Table or view 'tb2' is associated with the database 'test'.
-Table or view 'tb3' is associated with the database 'test'.
-Table or view 'tb4' is associated with the database 'test'.
-Table or view 'tb2' is associated with the database 'test1'.
-Table or view 't6' is associated with the database 'test4'.
-select grantee as "user's having select privilege",
-substring( grantee, length(SUBSTRING_INDEX(grantee,_utf8'@',1))+2 )
-from user_privileges where privilege_type = 'select'
- order by grantee;
-user's having select privilege substring( grantee, length(SUBSTRING_INDEX(grantee,_utf8'@',1))+2 )
-'root'@'127.0.0.1' '127.0.0.1'
-'root'@'<SERVER_NAME>' '<SERVER_NAME>'
-'root'@'localhost' 'localhost'
-select all table_schema from schema_privileges limit 0,5;
-table_schema
-test
-test
-test
-test
-test
-select distinct(privilege_type) from table_privileges;
-privilege_type
-select * from column_privileges
-group by table_schema having table_schema = 'db_datadict';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select * from table_constraints limit 0,5;
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE
-NULL mysql PRIMARY mysql columns_priv PRIMARY KEY
-NULL mysql PRIMARY mysql db PRIMARY KEY
-NULL mysql PRIMARY mysql event PRIMARY KEY
-NULL mysql PRIMARY mysql func PRIMARY KEY
-NULL mysql PRIMARY mysql help_category PRIMARY KEY
-select count(*) as max_recs from key_column_usage limit 0,5;
-max_recs
-45
-select information_schema.tables.table_name as "table name",
-count(distinct(column_name)) as "no of columns in the table"
- from information_schema.tables left outer join information_schema.columns on
-information_schema.tables.table_name = information_schema.columns.table_name
-group by information_schema.tables.table_name;
-table name no of columns in the table
-CHARACTER_SETS 4
-COLLATIONS 6
-COLLATION_CHARACTER_SET_APPLICABILITY 2
-COLUMNS 19
-columns_priv 7
-COLUMN_PRIVILEGES 7
-db 22
-ENGINES 6
-event 18
-EVENTS 21
-FILES 38
-func 4
-general_log 6
-GLOBAL_STATUS 2
-GLOBAL_VARIABLES 2
-help_category 4
-help_keyword 2
-help_relation 2
-help_topic 6
-host 20
-KEY_COLUMN_USAGE 12
-ndb_binlog_index 7
-PARTITIONS 25
-plugin 2
-PLUGINS 10
-proc 16
-PROCESSLIST 8
-procs_priv 8
-REFERENTIAL_CONSTRAINTS 11
-ROUTINES 20
-SCHEMATA 5
-SCHEMA_PRIVILEGES 5
-servers 9
-SESSION_STATUS 2
-SESSION_VARIABLES 2
-slow_log 11
-STATISTICS 15
-t1 6
-t10 6
-t11 6
-t2 6
-t3 3
-t4 6
-t6 6
-t7 4
-t8 4
-t9 3
-TABLES 21
-tables_priv 8
-TABLE_CONSTRAINTS 6
-TABLE_PRIVILEGES 6
-tb1 50
-tb2 51
-tb3 52
-tb4 57
-time_zone 2
-time_zone_leap_second 2
-time_zone_name 2
-time_zone_transition 3
-time_zone_transition_type 5
-TRIGGERS 19
-user 39
-USER_PRIVILEGES 4
-v1 21
-VIEWS 8
-vu 3
-vu1 1
-
-root: simple select to check all - and never forget some - tables
------------------------------------------------------------------
-SELECT * FROM schemata LIMIT 1;
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL information_schema utf8 utf8_general_ci NULL
-SELECT * FROM tables LIMIT 1;
-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
-NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO#
-SELECT * FROM columns LIMIT 1;
-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
-NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-SELECT * FROM character_sets LIMIT 1;
-CHARACTER_SET_NAME DEFAULT_COLLATE_NAME DESCRIPTION MAXLEN
-big5 big5_chinese_ci Big5 Traditional Chinese 2
-SELECT * FROM collations LIMIT 1;
-COLLATION_NAME CHARACTER_SET_NAME ID IS_DEFAULT IS_COMPILED SORTLEN
-big5_chinese_ci big5 1 Yes Yes 1
-SELECT * FROM collation_character_set_applicability LIMIT 1;
-COLLATION_NAME CHARACTER_SET_NAME
-big5_chinese_ci big5
-SELECT * FROM routines LIMIT 1;
-SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER
-sp_1 NULL db_datadict sp_1 PROCEDURE NULL SQL BEGIN
-SELECT * FROM db_datadict.v1;
-END NULL NULL SQL NO CONTAINS SQL NULL DEFINER <Created> <Last_Altered> root@localhost
-SELECT * FROM statistics LIMIT 1;
-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
-NULL mysql columns_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-SELECT * FROM views LIMIT 1;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE
-NULL db_datadict v1 /* ALGORITHM=UNDEFINED */ select `tables`.`TABLE_CATALOG` AS `TABLE_CATALOG`,`tables`.`TABLE_SCHEMA` AS `TABLE_SCHEMA`,`tables`.`TABLE_NAME` AS `TABLE_NAME`,`tables`.`TABLE_TYPE` AS `TABLE_TYPE`,`tables`.`ENGINE` AS `ENGINE`,`tables`.`VERSION` AS `VERSION`,`tables`.`ROW_FORMAT` AS `ROW_FORMAT`,`tables`.`TABLE_ROWS` AS `TABLE_ROWS`,`tables`.`AVG_ROW_LENGTH` AS `AVG_ROW_LENGTH`,`tables`.`DATA_LENGTH` AS `DATA_LENGTH`,`tables`.`MAX_DATA_LENGTH` AS `MAX_DATA_LENGTH`,`tables`.`INDEX_LENGTH` AS `INDEX_LENGTH`,`tables`.`DATA_FREE` AS `DATA_FREE`,`tables`.`AUTO_INCREMENT` AS `AUTO_INCREMENT`,`tables`.`CREATE_TIME` AS `CREATE_TIME`,`tables`.`UPDATE_TIME` AS `UPDATE_TIME`,`tables`.`CHECK_TIME` AS `CHECK_TIME`,`tables`.`TABLE_COLLATION` AS `TABLE_COLLATION`,`tables`.`CHECKSUM` AS `CHECKSUM`,`tables`.`CREATE_OPTIONS` AS `CREATE_OPTIONS`,`tables`.`TABLE_COMMENT` AS `TABLE_COMMENT` from `information_schema`.`tables` NONE NO root@localhost DEFINER
-SELECT * FROM user_privileges LIMIT 1;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'root'@'localhost' NULL SELECT YES
-SELECT * FROM schema_privileges LIMIT 1;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
-''@'%' NULL test SELECT NO
-SELECT * FROM table_privileges LIMIT 1;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-SELECT * FROM column_privileges LIMIT 1;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-SELECT * FROM table_constraints LIMIT 1;
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE
-NULL mysql PRIMARY mysql columns_priv PRIMARY KEY
-SELECT * FROM key_column_usage LIMIT 1;
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
-NULL mysql PRIMARY NULL mysql columns_priv Host 1 NULL NULL NULL NULL
-SELECT * FROM triggers LIMIT 1;
-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
-SELECT * FROM parameters LIMIT 1;
-ERROR 42S02: Unknown table 'parameters' in information_schema
-SELECT * FROM referential_constraints LIMIT 1;
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME UNIQUE_CONSTRAINT_CATALOG UNIQUE_CONSTRAINT_SCHEMA UNIQUE_CONSTRAINT_NAME MATCH_OPTION UPDATE_RULE DELETE_RULE TABLE_NAME REFERENCED_TABLE_NAME
-use db_datadict;
-select * from schemata;
-ERROR 42S02: Table 'db_datadict.schemata' doesn't exist
-select * from tables;
-ERROR 42S02: Table 'db_datadict.tables' doesn't exist
-select s.catalog_name, s.schema_name, s.default_character_set_name,
-t.table_type, t.engine
-from schemata s inner join tables t
-ORDER BY s.catalog_name, s.schema_name, s.default_character_set_name;
-ERROR 42S02: Table 'db_datadict.schemata' doesn't exist
-select * from columns limit 0, 5;
-ERROR 42S02: Table 'db_datadict.columns' doesn't exist
-select * from character_sets limit 0, 5;
-ERROR 42S02: Table 'db_datadict.character_sets' doesn't exist
-select * from collations limit 0, 5;
-ERROR 42S02: Table 'db_datadict.collations' doesn't exist
-select * from collation_character_set_applicability limit 0, 5;
-ERROR 42S02: Table 'db_datadict.collation_character_set_applicability' doesn't exist
-select * from routines limit 0, 5;
-ERROR 42S02: Table 'db_datadict.routines' doesn't exist
-select * from statistics limit 0, 5;
-ERROR 42S02: Table 'db_datadict.statistics' doesn't exist
-select * from views limit 0, 5;
-ERROR 42S02: Table 'db_datadict.views' doesn't exist
-select * from user_privileges limit 0, 5;
-ERROR 42S02: Table 'db_datadict.user_privileges' doesn't exist
-select * from schema_privileges limit 0, 5;
-ERROR 42S02: Table 'db_datadict.schema_privileges' doesn't exist
-select * from table_privileges limit 0, 5;
-ERROR 42S02: Table 'db_datadict.table_privileges' doesn't exist
-select * from column_privileges limit 0, 5;
-ERROR 42S02: Table 'db_datadict.column_privileges' doesn't exist
-select * from table_constraints limit 0, 5;
-ERROR 42S02: Table 'db_datadict.table_constraints' doesn't exist
-select * from key_column_usage limit 0, 5;
-ERROR 42S02: Table 'db_datadict.key_column_usage' doesn't exist
-
-will fail due to missing database name
---------------------------------------
-
-known error 1146:
------------------
-SELECT * FROM schemata ;
-ERROR 42S02: Table 'db_datadict.schemata' doesn't exist
-SELECT * FROM tables ;
-ERROR 42S02: Table 'db_datadict.tables' doesn't exist
-SELECT * FROM columns ;
-ERROR 42S02: Table 'db_datadict.columns' doesn't exist
-SELECT * FROM character_sets ;
-ERROR 42S02: Table 'db_datadict.character_sets' doesn't exist
-SELECT * FROM collations ;
-ERROR 42S02: Table 'db_datadict.collations' doesn't exist
-SELECT * FROM collation_character_set_applicability ;
-ERROR 42S02: Table 'db_datadict.collation_character_set_applicability' doesn't exist
-SELECT * FROM routines ;
-ERROR 42S02: Table 'db_datadict.routines' doesn't exist
-SELECT * FROM statistics ;
-ERROR 42S02: Table 'db_datadict.statistics' doesn't exist
-SELECT * FROM views ;
-ERROR 42S02: Table 'db_datadict.views' doesn't exist
-SELECT * FROM user_privileges ;
-ERROR 42S02: Table 'db_datadict.user_privileges' doesn't exist
-SELECT * FROM schema_privileges ;
-ERROR 42S02: Table 'db_datadict.schema_privileges' doesn't exist
-SELECT * FROM table_privileges ;
-ERROR 42S02: Table 'db_datadict.table_privileges' doesn't exist
-SELECT * FROM column_privileges ;
-ERROR 42S02: Table 'db_datadict.column_privileges' doesn't exist
-SELECT * FROM table_constraints ;
-ERROR 42S02: Table 'db_datadict.table_constraints' doesn't exist
-SELECT * FROM key_column_usage ;
-ERROR 42S02: Table 'db_datadict.key_column_usage' doesn't exist
-SELECT * FROM triggers ;
-ERROR 42S02: Table 'db_datadict.triggers' doesn't exist
-select * from information_schema.schemata ORDER BY 2 DESC;
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL test4 latin1 latin1_swedish_ci NULL
-NULL test1 latin1 latin1_swedish_ci NULL
-NULL test latin1 latin1_swedish_ci NULL
-NULL mysql latin1 latin1_swedish_ci NULL
-NULL information_schema utf8 utf8_general_ci NULL
-NULL db_datadict latin1 latin1_swedish_ci NULL
-SELECT * FROM information_schema.tables
-WHERE table_schema = 'information_schema';
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME CHARACTER_SETS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME COLLATIONS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME COLLATION_CHARACTER_SET_APPLICABILITY
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME COLUMNS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME COLUMN_PRIVILEGES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME ENGINES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME EVENTS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME FILES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME GLOBAL_STATUS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME GLOBAL_VARIABLES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME KEY_COLUMN_USAGE
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME PARTITIONS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME PLUGINS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME PROCESSLIST
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME REFERENTIAL_CONSTRAINTS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME ROUTINES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME SCHEMATA
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME SCHEMA_PRIVILEGES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME SESSION_STATUS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME SESSION_VARIABLES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME STATISTICS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME TABLES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME TABLE_CONSTRAINTS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME TABLE_PRIVILEGES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME TRIGGERS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME USER_PRIVILEGES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME VIEWS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-SELECT * FROM information_schema.tables
-WHERE NOT( table_schema = 'information_schema');
-TABLE_CATALOG NULL
-TABLE_SCHEMA db_datadict
-TABLE_NAME v1
-TABLE_TYPE VIEW
-ENGINE NULL
-VERSION NULL
-ROW_FORMAT NULL
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION NULL
-CHECKSUM NULL
-CREATE_OPTIONS NULL
-TABLE_COMMENT VIEW
-TABLE_CATALOG NULL
-TABLE_SCHEMA db_datadict
-TABLE_NAME vu
-TABLE_TYPE VIEW
-ENGINE NULL
-VERSION NULL
-ROW_FORMAT NULL
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION NULL
-CHECKSUM NULL
-CREATE_OPTIONS NULL
-TABLE_COMMENT VIEW
-TABLE_CATALOG NULL
-TABLE_SCHEMA db_datadict
-TABLE_NAME vu1
-TABLE_TYPE VIEW
-ENGINE NULL
-VERSION NULL
-ROW_FORMAT NULL
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION NULL
-CHECKSUM NULL
-CREATE_OPTIONS NULL
-TABLE_COMMENT VIEW
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME columns_priv
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Column privileges
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME db
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 2
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Database privileges
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME event
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Events
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME func
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT User defined functions
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME general_log
-TABLE_TYPE BASE TABLE
-ENGINE CSV
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 2
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT General log
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME help_category
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT help categories
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME help_keyword
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT help keywords
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME help_relation
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT keyword-topic relation
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME help_topic
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT help topics
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME host
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Host privileges; Merged with database privileges
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME ndb_binlog_index
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME plugin
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT MySQL plugins
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME proc
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 1
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Stored Procedures
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME procs_priv
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Procedure privileges
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME servers
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT MySQL Foreign Servers table
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME slow_log
-TABLE_TYPE BASE TABLE
-ENGINE CSV
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 2
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Slow log
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME tables_priv
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Table privileges
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME time_zone
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 5
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT 6
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Time zones
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME time_zone_leap_second
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 22
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Leap seconds information for time zones
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME time_zone_name
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 6
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Time zone names
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME time_zone_transition
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 393
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Time zone transitions
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME time_zone_transition_type
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 31
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Time zone transition types
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME user
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 3
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Users and global privileges
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t1
-TABLE_TYPE BASE TABLE
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t10
-TABLE_TYPE BASE TABLE
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t11
-TABLE_TYPE BASE TABLE
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t2
-TABLE_TYPE BASE TABLE
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t3
-TABLE_TYPE BASE TABLE
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t4
-TABLE_TYPE BASE TABLE
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t7
-TABLE_TYPE BASE TABLE
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t8
-TABLE_TYPE BASE TABLE
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t9
-TABLE_TYPE BASE TABLE
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME tb1
-TABLE_TYPE BASE TABLE
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME tb2
-TABLE_TYPE BASE TABLE
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME tb3
-TABLE_TYPE BASE TABLE
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME tb4
-TABLE_TYPE BASE TABLE
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test1
-TABLE_NAME tb2
-TABLE_TYPE BASE TABLE
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test4
-TABLE_NAME t6
-TABLE_TYPE BASE TABLE
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-select s.catalog_name, s.schema_name, s.default_character_set_name,
-t.table_type, t.engine
-from information_schema.schemata s inner join information_schema.tables t
-ORDER BY s.schema_name, s.default_character_set_name, table_type, engine;
-catalog_name schema_name default_character_set_name table_type engine
-NULL db_datadict latin1 BASE TABLE CSV
-NULL db_datadict latin1 BASE TABLE CSV
-NULL db_datadict latin1 BASE TABLE MEMORY
-NULL db_datadict latin1 BASE TABLE MEMORY
-NULL db_datadict latin1 BASE TABLE MEMORY
-NULL db_datadict latin1 BASE TABLE MEMORY
-NULL db_datadict latin1 BASE TABLE MEMORY
-NULL db_datadict latin1 BASE TABLE MEMORY
-NULL db_datadict latin1 BASE TABLE MEMORY
-NULL db_datadict latin1 BASE TABLE MEMORY
-NULL db_datadict latin1 BASE TABLE MEMORY
-NULL db_datadict latin1 BASE TABLE MEMORY
-NULL db_datadict latin1 BASE TABLE MEMORY
-NULL db_datadict latin1 BASE TABLE MEMORY
-NULL db_datadict latin1 BASE TABLE MEMORY
-NULL db_datadict latin1 BASE TABLE MEMORY
-NULL db_datadict latin1 BASE TABLE MEMORY
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 VIEW NULL
-NULL db_datadict latin1 VIEW NULL
-NULL db_datadict latin1 VIEW NULL
-NULL information_schema utf8 BASE TABLE CSV
-NULL information_schema utf8 BASE TABLE CSV
-NULL information_schema utf8 BASE TABLE MEMORY
-NULL information_schema utf8 BASE TABLE MEMORY
-NULL information_schema utf8 BASE TABLE MEMORY
-NULL information_schema utf8 BASE TABLE MEMORY
-NULL information_schema utf8 BASE TABLE MEMORY
-NULL information_schema utf8 BASE TABLE MEMORY
-NULL information_schema utf8 BASE TABLE MEMORY
-NULL information_schema utf8 BASE TABLE MEMORY
-NULL information_schema utf8 BASE TABLE MEMORY
-NULL information_schema utf8 BASE TABLE MEMORY
-NULL information_schema utf8 BASE TABLE MEMORY
-NULL information_schema utf8 BASE TABLE MEMORY
-NULL information_schema utf8 BASE TABLE MEMORY
-NULL information_schema utf8 BASE TABLE MEMORY
-NULL information_schema utf8 BASE TABLE MEMORY
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 VIEW NULL
-NULL information_schema utf8 VIEW NULL
-NULL information_schema utf8 VIEW NULL
-NULL mysql latin1 BASE TABLE CSV
-NULL mysql latin1 BASE TABLE CSV
-NULL mysql latin1 BASE TABLE MEMORY
-NULL mysql latin1 BASE TABLE MEMORY
-NULL mysql latin1 BASE TABLE MEMORY
-NULL mysql latin1 BASE TABLE MEMORY
-NULL mysql latin1 BASE TABLE MEMORY
-NULL mysql latin1 BASE TABLE MEMORY
-NULL mysql latin1 BASE TABLE MEMORY
-NULL mysql latin1 BASE TABLE MEMORY
-NULL mysql latin1 BASE TABLE MEMORY
-NULL mysql latin1 BASE TABLE MEMORY
-NULL mysql latin1 BASE TABLE MEMORY
-NULL mysql latin1 BASE TABLE MEMORY
-NULL mysql latin1 BASE TABLE MEMORY
-NULL mysql latin1 BASE TABLE MEMORY
-NULL mysql latin1 BASE TABLE MEMORY
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 VIEW NULL
-NULL mysql latin1 VIEW NULL
-NULL mysql latin1 VIEW NULL
-NULL test latin1 BASE TABLE CSV
-NULL test latin1 BASE TABLE CSV
-NULL test latin1 BASE TABLE MEMORY
-NULL test latin1 BASE TABLE MEMORY
-NULL test latin1 BASE TABLE MEMORY
-NULL test latin1 BASE TABLE MEMORY
-NULL test latin1 BASE TABLE MEMORY
-NULL test latin1 BASE TABLE MEMORY
-NULL test latin1 BASE TABLE MEMORY
-NULL test latin1 BASE TABLE MEMORY
-NULL test latin1 BASE TABLE MEMORY
-NULL test latin1 BASE TABLE MEMORY
-NULL test latin1 BASE TABLE MEMORY
-NULL test latin1 BASE TABLE MEMORY
-NULL test latin1 BASE TABLE MEMORY
-NULL test latin1 BASE TABLE MEMORY
-NULL test latin1 BASE TABLE MEMORY
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 VIEW NULL
-NULL test latin1 VIEW NULL
-NULL test latin1 VIEW NULL
-NULL test1 latin1 BASE TABLE CSV
-NULL test1 latin1 BASE TABLE CSV
-NULL test1 latin1 BASE TABLE MEMORY
-NULL test1 latin1 BASE TABLE MEMORY
-NULL test1 latin1 BASE TABLE MEMORY
-NULL test1 latin1 BASE TABLE MEMORY
-NULL test1 latin1 BASE TABLE MEMORY
-NULL test1 latin1 BASE TABLE MEMORY
-NULL test1 latin1 BASE TABLE MEMORY
-NULL test1 latin1 BASE TABLE MEMORY
-NULL test1 latin1 BASE TABLE MEMORY
-NULL test1 latin1 BASE TABLE MEMORY
-NULL test1 latin1 BASE TABLE MEMORY
-NULL test1 latin1 BASE TABLE MEMORY
-NULL test1 latin1 BASE TABLE MEMORY
-NULL test1 latin1 BASE TABLE MEMORY
-NULL test1 latin1 BASE TABLE MEMORY
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 VIEW NULL
-NULL test1 latin1 VIEW NULL
-NULL test1 latin1 VIEW NULL
-NULL test4 latin1 BASE TABLE CSV
-NULL test4 latin1 BASE TABLE CSV
-NULL test4 latin1 BASE TABLE MEMORY
-NULL test4 latin1 BASE TABLE MEMORY
-NULL test4 latin1 BASE TABLE MEMORY
-NULL test4 latin1 BASE TABLE MEMORY
-NULL test4 latin1 BASE TABLE MEMORY
-NULL test4 latin1 BASE TABLE MEMORY
-NULL test4 latin1 BASE TABLE MEMORY
-NULL test4 latin1 BASE TABLE MEMORY
-NULL test4 latin1 BASE TABLE MEMORY
-NULL test4 latin1 BASE TABLE MEMORY
-NULL test4 latin1 BASE TABLE MEMORY
-NULL test4 latin1 BASE TABLE MEMORY
-NULL test4 latin1 BASE TABLE MEMORY
-NULL test4 latin1 BASE TABLE MEMORY
-NULL test4 latin1 BASE TABLE MEMORY
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 VIEW NULL
-NULL test4 latin1 VIEW NULL
-NULL test4 latin1 VIEW NULL
-select * from information_schema.columns limit 0, 5;
-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
-NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema CHARACTER_SETS DESCRIPTION 3 NO varchar 60 180 NULL NULL utf8 utf8_general_ci varchar(60) select
-NULL information_schema CHARACTER_SETS MAXLEN 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema COLLATIONS COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-select * from information_schema.character_sets limit 0, 5;
-CHARACTER_SET_NAME DEFAULT_COLLATE_NAME DESCRIPTION MAXLEN
-big5 big5_chinese_ci Big5 Traditional Chinese 2
-dec8 dec8_swedish_ci DEC West European 1
-cp850 cp850_general_ci DOS West European 1
-hp8 hp8_english_ci HP West European 1
-koi8r koi8r_general_ci KOI8-R Relcom Russian 1
-select * from information_schema.collations limit 0, 5;
-COLLATION_NAME CHARACTER_SET_NAME ID IS_DEFAULT IS_COMPILED SORTLEN
-big5_chinese_ci big5 1 Yes Yes 1
-big5_bin big5 84 Yes 1
-dec8_swedish_ci dec8 3 Yes 0
-dec8_bin dec8 69 0
-cp850_general_ci cp850 4 Yes 0
-select * from information_schema.collation_character_set_applicability limit 0, 5;
-COLLATION_NAME CHARACTER_SET_NAME
-big5_chinese_ci big5
-big5_bin big5
-dec8_swedish_ci dec8
-dec8_bin dec8
-cp850_general_ci cp850
-select * from information_schema.routines limit 0, 5;
-SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER
-sp_1 NULL db_datadict sp_1 PROCEDURE NULL SQL BEGIN
-SELECT * FROM db_datadict.v1;
-END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost
-select * from information_schema.statistics limit 0, 5;
-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
-NULL mysql columns_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-NULL mysql columns_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE
-NULL mysql columns_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE
-NULL mysql columns_priv 0 mysql PRIMARY 4 Table_name A NULL NULL NULL BTREE
-NULL mysql columns_priv 0 mysql PRIMARY 5 Column_name A 0 NULL NULL BTREE
-select * from information_schema.views limit 0, 5;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE
-NULL db_datadict v1 /* ALGORITHM=UNDEFINED */ select `tables`.`TABLE_CATALOG` AS `TABLE_CATALOG`,`tables`.`TABLE_SCHEMA` AS `TABLE_SCHEMA`,`tables`.`TABLE_NAME` AS `TABLE_NAME`,`tables`.`TABLE_TYPE` AS `TABLE_TYPE`,`tables`.`ENGINE` AS `ENGINE`,`tables`.`VERSION` AS `VERSION`,`tables`.`ROW_FORMAT` AS `ROW_FORMAT`,`tables`.`TABLE_ROWS` AS `TABLE_ROWS`,`tables`.`AVG_ROW_LENGTH` AS `AVG_ROW_LENGTH`,`tables`.`DATA_LENGTH` AS `DATA_LENGTH`,`tables`.`MAX_DATA_LENGTH` AS `MAX_DATA_LENGTH`,`tables`.`INDEX_LENGTH` AS `INDEX_LENGTH`,`tables`.`DATA_FREE` AS `DATA_FREE`,`tables`.`AUTO_INCREMENT` AS `AUTO_INCREMENT`,`tables`.`CREATE_TIME` AS `CREATE_TIME`,`tables`.`UPDATE_TIME` AS `UPDATE_TIME`,`tables`.`CHECK_TIME` AS `CHECK_TIME`,`tables`.`TABLE_COLLATION` AS `TABLE_COLLATION`,`tables`.`CHECKSUM` AS `CHECKSUM`,`tables`.`CREATE_OPTIONS` AS `CREATE_OPTIONS`,`tables`.`TABLE_COMMENT` AS `TABLE_COMMENT` from `information_schema`.`tables` NONE NO root@localhost DEFINER
-NULL db_datadict vu /* ALGORITHM=UNDEFINED */ select distinct `vu1`.`u` AS `u`,substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3)) AS `server`,substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3),(length(substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3))) - 1)) AS `Server_Clean` from `db_datadict`.`vu1` NONE NO root@localhost DEFINER
-NULL db_datadict vu1 /* ALGORITHM=UNDEFINED */ select `user_privileges`.`GRANTEE` AS `u` from `information_schema`.`user_privileges` NONE NO root@localhost DEFINER
-select * from information_schema.user_privileges limit 0, 5;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'root'@'localhost' NULL SELECT YES
-'root'@'localhost' NULL INSERT YES
-'root'@'localhost' NULL UPDATE YES
-'root'@'localhost' NULL DELETE YES
-'root'@'localhost' NULL CREATE YES
-select * from information_schema.schema_privileges limit 0, 5;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
-''@'%' NULL test SELECT NO
-''@'%' NULL test INSERT NO
-''@'%' NULL test UPDATE NO
-''@'%' NULL test DELETE NO
-''@'%' NULL test CREATE NO
-select * from information_schema.table_privileges limit 0, 5;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select * from information_schema.column_privileges limit 0, 5;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select * from information_schema.table_constraints limit 0, 5;
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE
-NULL mysql PRIMARY mysql columns_priv PRIMARY KEY
-NULL mysql PRIMARY mysql db PRIMARY KEY
-NULL mysql PRIMARY mysql event PRIMARY KEY
-NULL mysql PRIMARY mysql func PRIMARY KEY
-NULL mysql PRIMARY mysql help_category PRIMARY KEY
-select * from information_schema.key_column_usage limit 0, 5;
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
-NULL mysql PRIMARY NULL mysql columns_priv Host 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql columns_priv Db 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql columns_priv User 3 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql columns_priv Table_name 4 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql columns_priv Column_name 5 NULL NULL NULL NULL
-select count(*) as max_recs from information_schema.key_column_usage limit 0, 5;
-max_recs
-45
-
-root: check with db name
-------------------------
-SELECT COUNT(*) FROM information_schema. schemata ;
-COUNT(*)
-6
-SELECT COUNT(*) FROM information_schema. tables ;
-COUNT(*)
-68
-SELECT COUNT(*) FROM information_schema. columns ;
-COUNT(*)
-827
-SELECT COUNT(*) FROM information_schema. character_sets ;
-COUNT(*)
-36
-SELECT COUNT(*) FROM information_schema. collations ;
-COUNT(*)
-127
-SELECT COUNT(*) FROM information_schema. collation_character_set_applicability ;
-COUNT(*)
-128
-SELECT COUNT(*) FROM information_schema. routines ;
-COUNT(*)
-1
-SELECT COUNT(*) FROM information_schema. statistics ;
-COUNT(*)
-48
-SELECT COUNT(*) FROM information_schema. views ;
-COUNT(*)
-3
-SELECT COUNT(*) FROM information_schema. user_privileges ;
-COUNT(*)
-81
-SELECT COUNT(*) FROM information_schema. schema_privileges ;
-COUNT(*)
-32
-SELECT COUNT(*) FROM information_schema. table_privileges ;
-COUNT(*)
-0
-SELECT COUNT(*) FROM information_schema. column_privileges ;
-COUNT(*)
-0
-SELECT COUNT(*) FROM information_schema. table_constraints ;
-COUNT(*)
-24
-SELECT COUNT(*) FROM information_schema. key_column_usage ;
-COUNT(*)
-45
-SELECT COUNT(*) FROM information_schema. triggers ;
-COUNT(*)
-0
-SELECT COUNT(*) FROM information_schema. parameters ;
-ERROR 42S02: Unknown table 'parameters' in information_schema
-SELECT COUNT(*) FROM information_schema. referential_constraints ;
-COUNT(*)
-0
-USE db_datadict;
-DROP VIEW v1, vu1, vu;
-DROP PROCEDURE db_datadict.sp_1;
-USE information_schema;
-
-Testcase 3.2.1.2:
---------------------------------------------------------------------------------
-select catalog_name, schema_name, default_character_set_name
-from schemata where schema_name like '%s%';
-catalog_name schema_name default_character_set_name
-NULL information_schema utf8
-NULL mysql latin1
-NULL test latin1
-NULL test1 latin1
-NULL test4 latin1
-select count(*) as tot_tabs from tables;
-tot_tabs
-65
-select count(*) as the_cols from columns;
-the_cols
-802
-select max(maxlen) as the_max from character_sets;
-the_max
-3
-select * from collations order by id asc limit 0, 5;
-COLLATION_NAME CHARACTER_SET_NAME ID IS_DEFAULT IS_COMPILED SORTLEN
-big5_chinese_ci big5 1 Yes Yes 1
-latin2_czech_cs latin2 2 Yes 4
-dec8_swedish_ci dec8 3 Yes 0
-cp850_general_ci cp850 4 Yes 0
-latin1_german1_ci latin1 5 Yes 1
-select * from collation_character_set_applicability
-order by character_set_name desc, collation_name limit 0, 5;
-COLLATION_NAME CHARACTER_SET_NAME
-utf8_bin utf8
-utf8_czech_ci utf8
-utf8_danish_ci utf8
-utf8_esperanto_ci utf8
-utf8_estonian_ci utf8
-select routine_definition from routines;
-routine_definition
-select * from statistics group by index_name asc limit 0, 5;
-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
-NULL mysql procs_priv 1 mysql Grantor 1 Grantor A NULL NULL NULL BTREE
-NULL mysql help_category 0 mysql name 1 name A 0 NULL NULL BTREE
-NULL mysql columns_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-NULL mysql db 1 mysql User 1 User A 1 NULL NULL BTREE
-select concat(table_schema, ', ', table_name, ', ', view_definition) view_info
-from views;
-view_info
-select concat(table_schema, ', ', table_name) "Table_info"
- from tables ORDER BY 1;
-Table_info
-information_schema, CHARACTER_SETS
-information_schema, COLLATIONS
-information_schema, COLLATION_CHARACTER_SET_APPLICABILITY
-information_schema, COLUMNS
-information_schema, COLUMN_PRIVILEGES
-information_schema, ENGINES
-information_schema, EVENTS
-information_schema, FILES
-information_schema, GLOBAL_STATUS
-information_schema, GLOBAL_VARIABLES
-information_schema, KEY_COLUMN_USAGE
-information_schema, PARTITIONS
-information_schema, PLUGINS
-information_schema, PROCESSLIST
-information_schema, REFERENTIAL_CONSTRAINTS
-information_schema, ROUTINES
-information_schema, SCHEMATA
-information_schema, SCHEMA_PRIVILEGES
-information_schema, SESSION_STATUS
-information_schema, SESSION_VARIABLES
-information_schema, STATISTICS
-information_schema, TABLES
-information_schema, TABLE_CONSTRAINTS
-information_schema, TABLE_PRIVILEGES
-information_schema, TRIGGERS
-information_schema, USER_PRIVILEGES
-information_schema, VIEWS
-mysql, columns_priv
-mysql, db
-mysql, event
-mysql, func
-mysql, general_log
-mysql, help_category
-mysql, help_keyword
-mysql, help_relation
-mysql, help_topic
-mysql, host
-mysql, ndb_binlog_index
-mysql, plugin
-mysql, proc
-mysql, procs_priv
-mysql, servers
-mysql, slow_log
-mysql, tables_priv
-mysql, time_zone
-mysql, time_zone_leap_second
-mysql, time_zone_name
-mysql, time_zone_transition
-mysql, time_zone_transition_type
-mysql, user
-test, t1
-test, t10
-test, t11
-test, t2
-test, t3
-test, t4
-test, t7
-test, t8
-test, t9
-test, tb1
-test, tb2
-test, tb3
-test, tb4
-test1, tb2
-test4, t6
-select distinct grantee from user_privileges order by grantee, privilege_type;
-grantee
-'root'@'127.0.0.1'
-'root'@'<SERVER_NAME>'
-'root'@'localhost'
-select * from schema_privileges where table_catalog is null limit 0, 5;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
-''@'%' NULL test SELECT NO
-''@'%' NULL test INSERT NO
-''@'%' NULL test UPDATE NO
-''@'%' NULL test DELETE NO
-''@'%' NULL test CREATE NO
-select * from table_privileges where grantee like '%r%' limit 0, 5;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select * from column_privileges where table_catalog is not null limit 0, 5;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select HIGH_PRIORITY * from table_constraints
-group by constraint_name desc limit 0, 5;
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE
-NULL mysql PRIMARY mysql columns_priv PRIMARY KEY
-NULL mysql name mysql help_category UNIQUE
-select sum(ordinal_position) from key_column_usage;
-sum(ordinal_position)
-83
-select * from schemata limit 0,5;
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL information_schema utf8 utf8_general_ci NULL
-NULL db_datadict latin1 latin1_swedish_ci NULL
-NULL mysql latin1 latin1_swedish_ci NULL
-NULL test latin1 latin1_swedish_ci NULL
-NULL test1 latin1 latin1_swedish_ci NULL
-select * from schemata limit 0,5;
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL information_schema utf8 utf8_general_ci NULL
-NULL db_datadict latin1 latin1_swedish_ci NULL
-NULL mysql latin1 latin1_swedish_ci NULL
-NULL test latin1 latin1_swedish_ci NULL
-NULL test1 latin1 latin1_swedish_ci NULL
-select distinct grantee from user_privileges;
-grantee
-'root'@'localhost'
-'root'@'<SERVER_NAME>'
-'root'@'127.0.0.1'
-select all grantee from user_privileges order by grantee, privilege_type;
-grantee
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-select id , character_set_name from collations order by id asc limit 10;
-id character_set_name
-1 big5
-2 latin2
-3 dec8
-4 cp850
-5 latin1
-6 hp8
-7 koi8r
-8 latin1
-9 latin2
-10 swe7
-select table_catalog from columns
-union all
-select table_catalog from tables limit 0,5;
-table_catalog
-NULL
-NULL
-NULL
-NULL
-NULL
-select table_catalog from columns
-union
-select table_catalog from tables limit 0,5;
-table_catalog
-NULL
-select all schema_name from information_schema.schemata;
-schema_name
-information_schema
-db_datadict
-mysql
-test
-test1
-test4
-SELECT *
-INTO OUTFILE '../tmp/out.memory.file'
- FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
- LINES TERMINATED BY '\n'
- FROM schemata LIMIT 0, 5;
-USE test;
-SELECT *
-INTO OUTFILE '../tmp/out.memory.db.file'
- FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
- LINES TERMINATED BY '\n'
- FROM information_schema.schemata
-WHERE schema_name LIKE 'db_%';
-CREATE USER user_3212@localhost;
-GRANT ALL ON db_datadict.* TO user_3212@localhost;
-GRANT FILE ON *.* TO user_3212@localhost;
-connect(localhost,user_3212,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-
-user_3212@localhost db_datadict
-SELECT *
-INTO OUTFILE '../tmp/out.memory.user.file'
- FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
- LINES TERMINATED BY '\n'
- FROM schemata LIMIT 0, 5;
-ERROR 42S02: Table 'db_datadict.schemata' doesn't exist
-SELECT *
-FROM schemata LIMIT 0, 5;
-ERROR 42S02: Table 'db_datadict.schemata' doesn't exist
-SELECT *
-INTO OUTFILE '../tmp/out.memory.user.db.file'
- FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
- LINES TERMINATED BY '\n'
- FROM information_schema.schemata
-WHERE schema_name LIKE 'db_%';
-SELECT *
-FROM information_schema.schemata
-WHERE schema_name LIKE 'db_%';
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL db_datadict latin1 latin1_swedish_ci NULL
-USE information_schema;
-SELECT *
-INTO OUTFILE '../tmp/out.memory.user_2.file'
- FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
- LINES TERMINATED BY '\n'
- FROM schemata LIMIT 0, 5;
-SELECT *
-FROM schemata LIMIT 0, 5;
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL information_schema utf8 utf8_general_ci NULL
-NULL db_datadict latin1 latin1_swedish_ci NULL
-NULL test latin1 latin1_swedish_ci NULL
-SELECT *
-INTO OUTFILE '../tmp/out.memory.user_2.db.file'
- FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
- LINES TERMINATED BY '\n'
- FROM information_schema.schemata
-WHERE schema_name LIKE 'db_%';
-SELECT *
-FROM information_schema.schemata
-WHERE schema_name LIKE 'db_%';
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL db_datadict latin1 latin1_swedish_ci NULL
-USE information_schema;
-
-root@localhost information_schema
-use db_datadict;
-select table_catalog "1", table_schema "2", table_name "3", column_name "4"
- from information_schema.columns
-union
-select table_catalog, table_schema, table_name,
-concat( "*** type = ", table_type )
-from information_schema.tables
-order by 3, 4 desc, 1, 2 limit 30;
-1 2 3 4
-NULL information_schema CHARACTER_SETS MAXLEN
-NULL information_schema CHARACTER_SETS DESCRIPTION
-NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME
-NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME
-NULL information_schema CHARACTER_SETS *** type = SYSTEM VIEW
-NULL information_schema COLLATIONS SORTLEN
-NULL information_schema COLLATIONS IS_DEFAULT
-NULL information_schema COLLATIONS IS_COMPILED
-NULL information_schema COLLATIONS ID
-NULL information_schema COLLATIONS COLLATION_NAME
-NULL information_schema COLLATIONS CHARACTER_SET_NAME
-NULL information_schema COLLATIONS *** type = SYSTEM VIEW
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY *** type = SYSTEM VIEW
-NULL information_schema COLUMNS TABLE_SCHEMA
-NULL information_schema COLUMNS TABLE_NAME
-NULL information_schema COLUMNS TABLE_CATALOG
-NULL information_schema COLUMNS PRIVILEGES
-NULL information_schema COLUMNS ORDINAL_POSITION
-NULL information_schema COLUMNS NUMERIC_SCALE
-NULL information_schema COLUMNS NUMERIC_PRECISION
-NULL information_schema COLUMNS IS_NULLABLE
-NULL information_schema COLUMNS EXTRA
-NULL information_schema COLUMNS DATA_TYPE
-NULL information_schema COLUMNS COLUMN_TYPE
-NULL information_schema COLUMNS COLUMN_NAME
-NULL information_schema COLUMNS COLUMN_KEY
-NULL information_schema COLUMNS COLUMN_DEFAULT
-NULL information_schema COLUMNS COLUMN_COMMENT
-use information_schema;
-select table_catalog "1", table_schema "2", table_name "3", column_name "4"
- from columns
-union
-select table_catalog, table_schema, table_name,
-concat( "*** type = ", table_type )
-from tables
-order by 3, 4 desc, 1, 2 limit 30;
-1 2 3 4
-NULL information_schema CHARACTER_SETS MAXLEN
-NULL information_schema CHARACTER_SETS DESCRIPTION
-NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME
-NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME
-NULL information_schema CHARACTER_SETS *** type = SYSTEM VIEW
-NULL information_schema COLLATIONS SORTLEN
-NULL information_schema COLLATIONS IS_DEFAULT
-NULL information_schema COLLATIONS IS_COMPILED
-NULL information_schema COLLATIONS ID
-NULL information_schema COLLATIONS COLLATION_NAME
-NULL information_schema COLLATIONS CHARACTER_SET_NAME
-NULL information_schema COLLATIONS *** type = SYSTEM VIEW
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY *** type = SYSTEM VIEW
-NULL information_schema COLUMNS TABLE_SCHEMA
-NULL information_schema COLUMNS TABLE_NAME
-NULL information_schema COLUMNS TABLE_CATALOG
-NULL information_schema COLUMNS PRIVILEGES
-NULL information_schema COLUMNS ORDINAL_POSITION
-NULL information_schema COLUMNS NUMERIC_SCALE
-NULL information_schema COLUMNS NUMERIC_PRECISION
-NULL information_schema COLUMNS IS_NULLABLE
-NULL information_schema COLUMNS EXTRA
-NULL information_schema COLUMNS DATA_TYPE
-NULL information_schema COLUMNS COLUMN_TYPE
-NULL information_schema COLUMNS COLUMN_NAME
-NULL information_schema COLUMNS COLUMN_KEY
-NULL information_schema COLUMNS COLUMN_DEFAULT
-NULL information_schema COLUMNS COLUMN_COMMENT
-DROP USER user_3212@localhost;
-
-Testcase 3.2.1.3:
---------------------------------------------------------------------------------
-insert into schemata (catalog_name, schema_name, default_character_set_name, sql_path)
-values ('null', 'db1', 'latin1', 'null');
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-insert into tables (table_schema, table_name)values('db_datadict', 't1');
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-insert into columns (table_name, column_name)values('t3', 'f2');
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-insert into character_sets (character_set_name, default_collate_name, description, maxlen)
-values('cp1251', 'cp1251_general_ci', 'windows cyrillic', 1);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-insert into collations ( collation_name, character_set_name, id, is_default, is_compiled, sortlen)
-values ('cp1251_bin', 'cp1251', 50, '', '', 0);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-insert into collation_character_set_applicability (collation_name, character_set_name)
-values (' big5_chinese_ci', 'big6');
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-insert into routines(routine_name, routine_type ) values ('p2', 'procedure');
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-insert into statistics(table_schema, table_name, index_name)
-values ('mysql', 'db', 'primary');
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-insert into views(table_schema, table_name) values ('db2', 'v2');
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-insert into user_privileges (privilege_type, is_grantable) values ('select', 'yes');
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-insert into schema_privileges (table_schema, privilege_type) values('db2', 'insert');
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-insert into table_privileges (able_schema, table_name, privilege_type)
-values('db2', 'v2', 'insert');
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-insert into column_privileges (table_name, column_name, privilege_type)
-values ('t3', 'f3', 'insert');
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-insert into table_constraints ( constraint_schema, constraint_name, table_schema)
-values ('primary', 'mysql', 'user');
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-insert into key_column_usage (constraint_schema, constraint_name, table_name)
-values ('mysql', 'primary', 'db');
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-drop procedure if exists db_datadict.sp_4_1_3;
-create procedure db_datadict.sp_4_1_3()
-begin
-insert into information_schema.schema_privileges (table_schema,privilege_type)
-values('db2','insert');
-end//
-SELECT table_schema, privilege_type FROM information_schema.schema_privileges
-WHERE table_schema LIKE 'db%';
-table_schema privilege_type
-call db_datadict.sp_4_1_3();
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-SELECT table_schema, privilege_type FROM information_schema.schema_privileges
-WHERE table_schema LIKE 'db%';
-table_schema privilege_type
-drop procedure db_datadict.sp_4_1_3;
-CREATE USER user_4_1_3@localhost;
-connect(localhost,user_4_1_3,,test,MYSQL_PORT,MYSQL_SOCK);
-
-user_4_1_3@localhost test
-use information_schema;
-insert into table_constraints ( constraint_schema, constraint_name, table_schema)
-values ('primary', 'mysql', 'user');
-ERROR 42000: Access denied for user 'user_4_1_3'@'localhost' to database 'information_schema'
-
-root@localhost information_schema
-
-Testcase 3.2.1.4:
---------------------------------------------------------------------------------
-use information_schema;
-
-root@localhost information_schema
-update schemata set schema_name = 'db5' where default_character_set_name = 'latin1';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-update tables set table_schema = 'db_datadict1' where table_name = 't1';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-update columns set table_name = 't4' where column_name = 'f2';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-update character_sets set character_set_name = 'cp1252' where maxlen = 1;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-update collations set collation_name = 'cp1253_bin'
- where character_set_name = 'cp1251';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-update collation_character_set_applicability set collation_name = 'big6_chinese_ci'
- where character_set_name = 'big6';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-update routines set routine_name = p2 where routine_body = 'sql';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-update statistics set table_schema = 'mysql1' where table_name = 'db';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-update views set table_schema = 'db3' where table_name = 'v1';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-update user_privileges set privilege_type = 'insert' where is_grantable = 'yes';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-update schema_privileges set table_schema = 'db2' where privilege_type = 'select';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-update table_privileges set table_name = 'v3' where privilege_type = 'select';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-update column_privileges set table_name = 't4' where column_name = 'f3';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-update table_constraints set constraint_schema = 'primary'
- where table_schema = 'proc';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-update key_column_usage set table_name = 'db1' where constraint_name = 'primary';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-drop procedure if exists db_datadict.sp_4_1_4;
-create procedure db_datadict.sp_4_1_4()
-begin
-update information_schema.routines set routine_name = 'p2'
- where routine_name = 'sp_4_1_4';
-end//
-select * from information_schema.routines;
-SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER
-sp_4_1_4 NULL db_datadict sp_4_1_4 PROCEDURE NULL SQL begin
-update information_schema.routines set routine_name = 'p2'
- where routine_name = 'sp_4_1_4';
-end NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost
-call db_datadict.sp_4_1_4();
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-select * from information_schema.routines;
-SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER
-sp_4_1_4 NULL db_datadict sp_4_1_4 PROCEDURE NULL SQL begin
-update information_schema.routines set routine_name = 'p2'
- where routine_name = 'sp_4_1_4';
-end NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost
-drop procedure db_datadict.sp_4_1_4;
-use information_schema;
-
-user_4_1_3@localhost information_schema
-update user_privileges set privilege_type = 'insert' where is_grantable = 'yes';
-ERROR 42000: Access denied for user 'user_4_1_3'@'localhost' to database 'information_schema'
-
-root@localhost information_schema
-
-Testcase 3.2.1.5:
---------------------------------------------------------------------------------
-use information_schema;
-
-root: DELETE FROM any table in IS
----------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-DELETE FROM schemata ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM tables ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM columns ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM character_sets ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM collations ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM collation_character_set_applicability ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM routines ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM statistics ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM views ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM user_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM schema_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM table_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM column_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM table_constraints ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM key_column_usage ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM triggers ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from schemata where schema_name = 'mysql';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from tables where table_name = 'abc';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from columns;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from character_sets;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from collations;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from collation_character_set_applicability;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from routines;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from statistics;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from views;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from user_privileges;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from schema_privileges;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from table_privileges;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from column_privileges;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from table_constraints;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from key_column_usage;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-drop procedure if exists db_datadict.sp_4_1_5;
-create procedure db_datadict.sp_4_1_5()
-begin
-delete from information_schema.column_privileges;
-end//
-call db_datadict.sp_4_1_5();
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-drop procedure db_datadict.sp_4_1_5;
-use information_schema;
-
-user_4_1_3@localhost information_schema
-delete from tables where table_name = 'abc';
-ERROR 42000: Access denied for user 'user_4_1_3'@'localhost' to database 'information_schema'
-
-root@localhost information_schema
-DROP USER user_4_1_3@localhost;
-
-Testcase 3.2.1.6:
---------------------------------------------------------------------------------
-use information_schema;
-
-root: create a table with a name of an IS table directly in IS
---------------------------------------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-CREATE TABLE schemata ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE tables ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE columns ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE character_sets ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE collations ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE collation_character_set_applicability ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE routines ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE statistics ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE views ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE user_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE schema_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE table_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE column_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE table_constraints ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE key_column_usage ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE triggers ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create table t1 (f1 int, f2 int, f3 int);
-ERROR 42S02: Unknown table 't1' in information_schema
-use db_datadict;
-
-root: create a table with a name of an IS table from other db
--------------------------------------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-CREATE TABLE information_schema. schemata ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. tables ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. columns ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. character_sets ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. collations ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. collation_character_set_applicability ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. routines ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. statistics ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. views ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. user_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. schema_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. table_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. column_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. table_constraints ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. key_column_usage ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. triggers ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create table information_schema.t1 (f1 int, f2 int, f3 int);
-ERROR 42S02: Unknown table 't1' in information_schema
-CREATE USER user_4_1_6@localhost;
-grant all on *.* to user_4_1_6@localhost;
-FLUSH PRIVILEGES;
-SHOW GRANTS FOR user_4_1_6@localhost;
-Grants for user_4_1_6@localhost
-GRANT ALL PRIVILEGES ON *.* TO 'user_4_1_6'@'localhost'
-connect(localhost,user_4_1_6,,information_schema,MYSQL_PORT,MYSQL_SOCK);
-
-user_4_1_6@localhost information_schema
-use information_schema;
-
-user: create a table with a name of an IS table directly in IS
---------------------------------------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-CREATE TABLE schemata ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE tables ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE columns ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE character_sets ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE collations ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE collation_character_set_applicability ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE routines ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE statistics ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE views ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE user_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE schema_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE table_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE column_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE table_constraints ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE key_column_usage ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE triggers ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-create table t1 (f1 int, f2 int, f3 int);
-ERROR 42S02: Unknown table 't1' in information_schema
-use test;
-
-user: create a table with a name of an IS table from other db
--------------------------------------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-CREATE TABLE information_schema. schemata ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. tables ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. columns ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. character_sets ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. collations ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. collation_character_set_applicability ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. routines ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. statistics ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. views ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. user_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. schema_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. table_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. column_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. table_constraints ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. key_column_usage ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. triggers ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-create table information_schema.t1 (f1 int, f2 int, f3 int);
-ERROR 42S02: Unknown table 't1' in information_schema
-
-root@localhost db_datadict
-DROP USER user_4_1_6@localhost;
-
-Testcase 3.2.1.7:
---------------------------------------------------------------------------------
-use information_schema;
-
-root: create a view with a name of an IS table directly in IS
--------------------------------------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-CREATE VIEW schemata AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW tables AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW columns AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW character_sets AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW collations AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW collation_character_set_applicability AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW routines AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW statistics AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW views AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW user_privileges AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW schema_privileges AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW table_privileges AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW column_privileges AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW table_constraints AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW key_column_usage AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW triggers AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW v1 AS SELECT * FROM information_schema.schemata;
-ERROR 42S02: Unknown table 'v1' in information_schema
-USE db_datadict;
-
-root: create a view with a name of an IS table from other db
-------------------------------------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-CREATE VIEW information_schema. schemata AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. tables AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. columns AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. character_sets AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. collations AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. collation_character_set_applicability AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. routines AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. statistics AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. views AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. user_privileges AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. schema_privileges AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. table_privileges AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. column_privileges AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. table_constraints AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. key_column_usage AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. triggers AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW v1 AS SELECT * FROM information_schema.columns;
-SELECT * FROM v1 LIMIT 5;
-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
-NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema CHARACTER_SETS DESCRIPTION 3 NO varchar 60 180 NULL NULL utf8 utf8_general_ci varchar(60) select
-NULL information_schema CHARACTER_SETS MAXLEN 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema COLLATIONS COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-CREATE USER user_4_1_7@localhost;
-GRANT ALL ON db_datadict.* TO user_4_1_7@localhost;
-GRANT ALL ON information_schema.* TO user_4_1_7@localhost;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-FLUSH PRIVILEGES;
-connect(localhost,user_4_1_7,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-use information_schema;
-
-user_4_1_7@localhost information_schema
-
-user: create a view with a name of an IS table directly in IS
--------------------------------------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-CREATE VIEW schemata AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW tables AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW columns AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW character_sets AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW collations AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW collation_character_set_applicability AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW routines AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW statistics AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW views AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW user_privileges AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW schema_privileges AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW table_privileges AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW column_privileges AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW table_constraints AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW key_column_usage AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW triggers AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-create view v1 as select * from table_privileges;
-ERROR 42S02: Unknown table 'v1' in information_schema
-use db_datadict;
-
-user: create a view with a name of an IS table from other db
-------------------------------------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-CREATE VIEW information_schema. schemata AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. tables AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. columns AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. character_sets AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. collations AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. collation_character_set_applicability AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. routines AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. statistics AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. views AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. user_privileges AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. schema_privileges AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. table_privileges AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. column_privileges AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. table_constraints AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. key_column_usage AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. triggers AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-
-root@localhost db_datadict
-DROP USER user_4_1_7@localhost;
-DROP VIEW db_datadict.v1;
-
-Testcase 3.2.1.8:
---------------------------------------------------------------------------------
-use information_schema;
-create index i1 on schemata(schema_name);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i2 on tables(table_schema);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i3 on columns(table_name);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i4 on character_sets(character_set_name);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i5 on collations( collation_name);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i6 on collation_character_set_applicability(collation_name);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i7 on routines(routine_name);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i8 on statistics(table_schema);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i9 on views(table_schema);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i10 on user_privileges(privilege_type);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i11 on schema_privileges(table_schema);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i12 on table_privileges(able_schema);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i13 on column_privileges(table_name);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i14 on table_constraints(constraint_schema);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i15 on key_column_usage(constraint_schema);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i16 on triggers(trigger_name);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-use db_datadict;
-create index i15 on information_schema.key_column_usage(constraint_schema);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-use information_schema;
-CREATE USER user_4_1_8@localhost;
-grant select, index on *.* to user_4_1_8@localhost;
-FLUSH PRIVILEGES;
-connect(localhost,user_4_1_8,,test,MYSQL_PORT,MYSQL_SOCK);
-
-user_4_1_8@localhost test
-use information_schema;
-create index i1 on schemata(schema_name);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i2 on tables(table_schema);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i3 on columns(table_name);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i4 on character_sets(character_set_name);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i5 on collations( collation_name);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i6 on collation_character_set_applicability(collation_name);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i7 on routines(routine_name);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i8 on statistics(table_schema);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i9 on views(table_schema);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i10 on user_privileges(privilege_type);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i11 on schema_privileges(table_schema);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i12 on table_privileges(able_schema);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i13 on column_privileges(table_name);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i14 on table_constraints(constraint_schema);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i15 on key_column_usage(constraint_schema);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i16 on triggers(trigger_name);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-use db_datadict;
-create index i15 on information_schema.key_column_usage(constraint_schema);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-
-root@localhost information_schema
-DROP USER user_4_1_8@localhost;
-
-Testcase 3.2.1.9:
---------------------------------------------------------------------------------
-
-root: alter a table from other db
----------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-ALTER TABLE information_schema. schemata ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. tables ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. columns ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. character_sets ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. collations ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. collation_character_set_applicability ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. routines ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. statistics ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. views ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. user_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. schema_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. table_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. column_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. table_constraints ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. key_column_usage ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. triggers ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-use information_schema;
-
-root: alter a table from directly
----------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-ALTER TABLE schemata ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE tables ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE columns ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE character_sets ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE collations ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE collation_character_set_applicability ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE routines ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE statistics ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE views ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE user_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE schema_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE table_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE column_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE table_constraints ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE key_column_usage ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE triggers ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table schemata add f1 int;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table tables drop primary key;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table columns add f1 int;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table character_sets disable keys;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table collations enable keys;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table collation_character_set_applicability add f1 int;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table routines discard tablespace;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table statistics import tablespace;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table views drop column table_name;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table user_privileges drop index privilege_type;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table schema_privileges drop column is_grantable;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table table_privileges order by constraint_type;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table column_privileges rename to aaxyz;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table table_constraints order by schema_name;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table key_column_usage rename to information_schema.aabxyz;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table triggers rename to information_schema.sql_mode;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE USER user_4_1_9@localhost;
-grant select, alter, create, insert on *.* to user_4_1_9@localhost;
-FLUSH PRIVILEGES;
-connect(localhost,user_4_1_9,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-
-user_4_1_9@localhost db_datadict
-use db_datadict;
-
-user: alter a table from other db
----------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-ALTER TABLE information_schema. schemata ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. tables ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. columns ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. character_sets ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. collations ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. collation_character_set_applicability ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. routines ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. statistics ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. views ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. user_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. schema_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. table_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. column_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. table_constraints ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. key_column_usage ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. triggers ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-use information_schema;
-
-user: alter a table from directly
----------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-ALTER TABLE schemata ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE tables ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE columns ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE character_sets ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE collations ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE collation_character_set_applicability ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE routines ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE statistics ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE views ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE user_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE schema_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE table_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE column_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE table_constraints ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE key_column_usage ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE triggers ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-
-root@localhost information_schema
-DROP USER user_4_1_9@localhost;
-
-Testcase 3.2.1.10:
---------------------------------------------------------------------------------
-use information_schema;
-
-root: drop a table from IS
---------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-DROP TABLE schemata ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE tables ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE columns ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE character_sets ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE collations ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE collation_character_set_applicability ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE routines ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE statistics ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE views ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE user_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE schema_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE table_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE column_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE table_constraints ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE key_column_usage ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE triggers ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-use db_datadict;
-
-root: drop a table from other db
---------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-DROP TABLE information_schema. schemata ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. tables ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. columns ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. character_sets ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. collations ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. collation_character_set_applicability ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. routines ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. statistics ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. views ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. user_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. schema_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. table_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. column_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. table_constraints ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. key_column_usage ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. triggers ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-use information_schema;
-CREATE USER user_4_1_10@localhost;
-GRANT SELECT, DROP ON *.* TO user_4_1_10@localhost;
-FLUSH PRIVILEGES;
-connect(localhost,user_4_1_10,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-use information_schema;
-
-user_4_1_10@localhost information_schema
-
-user: drop a table from IS
---------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-DROP TABLE schemata ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE tables ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE columns ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE character_sets ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE collations ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE collation_character_set_applicability ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE routines ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE statistics ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE views ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE user_privileges ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE schema_privileges ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE table_privileges ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE column_privileges ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE table_constraints ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE key_column_usage ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE triggers ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-use db_datadict;
-
-user: drop a table from other db
---------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-DROP TABLE information_schema. schemata ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. tables ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. columns ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. character_sets ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. collations ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. collation_character_set_applicability ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. routines ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. statistics ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. views ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. user_privileges ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. schema_privileges ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. table_privileges ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. column_privileges ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. table_constraints ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. key_column_usage ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. triggers ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-
-root@localhost information_schema
-DROP USER user_4_1_10@localhost;
-CREATE USER user_4_1_11@localhost;
-GRANT SUPER ON *.* TO user_4_1_11@localhost;
-FLUSH PRIVILEGES;
-connect(localhost,user_4_1_11,,test,MYSQL_PORT,MYSQL_SOCK);
-use information_schema;
-
-user_4_1_11@localhost information_schema
-drop table routines;
-ERROR 42000: Access denied for user 'user_4_1_11'@'localhost' to database 'information_schema'
-alter table collations enable keys;
-ERROR 42000: Access denied for user 'user_4_1_11'@'localhost' to database 'information_schema'
-create index i5 on collations( collation_name );
-ERROR 42000: Access denied for user 'user_4_1_11'@'localhost' to database 'information_schema'
-create view v1 as select * from schemata;
-ERROR 42S02: Unknown table 'v1' in information_schema
-delete from columns;
-ERROR 42000: Access denied for user 'user_4_1_11'@'localhost' to database 'information_schema'
-update columns set table_name = 't4' where column_name = 'f2';
-ERROR 42000: Access denied for user 'user_4_1_11'@'localhost' to database 'information_schema'
-insert into collations ( collation_name, character_set_name, id, is_default,
-is_compiled, sortlen)
-values ('cp1251_bin', 'cp1251', 50, '', '', 0);
-ERROR 42000: Access denied for user 'user_4_1_11'@'localhost' to database 'information_schema'
-
-root@localhost information_schema
-DROP USER user_4_1_11@localhost;
-
-Testcase 3.2.1.11:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-CREATE DATABASE db_datadict;
-CREATE USER 'u_6_401011'@'localhost';
-GRANT ALL ON information_schema.* TO 'u_6_401011'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-GRANT ALL ON db_datadict.* TO 'u_6_401011'@'localhost';
-FLUSH PRIVILEGES;
-ALTER TABLE information_schema.schemata RENAME db_datadict.schemata;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-
-root: move table to other DB
-----------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-ALTER TABLE information_schema. schemata RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. tables RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. columns RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. character_sets RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. collations RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. collation_character_set_applicability RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. routines RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. statistics RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. views RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. user_privileges RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. schema_privileges RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. table_privileges RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. column_privileges RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. table_constraints RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. key_column_usage RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. triggers RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-connect(localhost,u_6_401011,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-USE information_schema;
-
-u_6_401011@localhost information_schema
-ALTER TABLE information_schema.schemata RENAME db_datadict.schemata;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-
-user: move table to other DB
-----------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-ALTER TABLE information_schema. schemata RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. tables RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. columns RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. character_sets RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. collations RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. collation_character_set_applicability RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. routines RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. statistics RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. views RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. user_privileges RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. schema_privileges RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. table_privileges RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. column_privileges RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. table_constraints RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. key_column_usage RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. triggers RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-
-root@localhost information_schema
-DROP TABLE IF EXISTS db_datadict.schemata;
-DROP USER 'u_6_401011'@'localhost';
-
-Testcase 3.2.1.12:
---------------------------------------------------------------------------------
-
-root: delete from IS tables
----------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-DELETE FROM information_schema. schemata ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. tables ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. columns ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. character_sets ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. collations ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. collation_character_set_applicability ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. routines ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. statistics ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. views ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. user_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. schema_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. table_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. column_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. table_constraints ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. key_column_usage ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. triggers ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.tables SET table_name = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.columns SET table_name = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.statistics SET table_name = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.views SET table_name = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.table_privileges SET table_name = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.column_privileges SET table_name = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.table_constraints SET table_name = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.key_column_usage SET table_name = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.schemata SET catalog_name = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.character_sets SET description = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.collations SET character_set_name = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.collation_character_set_applicability
-SET character_set_name = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.routines SET routine_type = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.user_privileges SET grantee = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.schema_privileges SET grantee = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.triggers SET sql_mode = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE USER 'u_6_401012'@'localhost';
-connect(localhost,u_6_401012,,test,MYSQL_PORT,MYSQL_SOCK);
-use information_schema;
-insert into information_schema.schemata (catalog_name, schema_name,
-default_character_set_name, sql_path)
-values (null, information_schema1, utf16, null);
-ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema'
-alter table information_schema.schemata rename db_datadict1.schemata;
-ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema'
-alter table information_schema.tables drop column checksum;
-ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema'
-alter table information_schema.statistics modify packed int;
-ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema'
-alter table information_schema.routines modify created int not null;
-ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema'
-alter table information_schema.key_column_usage drop column ordinal_position;
-ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema'
-alter table information_schema.table_privileges
-change privilege_type rights_approved varchar(32);
-ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema'
-update columns set table_name = 't4' where column_name = 'f2';
-ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema'
-delete from information_schema.collations;
-ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema'
-
-root@localhost information_schema
-drop table if exists db_datadict1.schemata;
-DROP USER 'u_6_401012'@'localhost';
-
-Testcase 3.2.1.13:
---------------------------------------------------------------------------------
-use information_schema;
-
-first check status >before< creating the objects ...
-----------------------------------------------------
-select *
-from information_schema.schemata
-where schema_name like 'db_datadict%';
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL db_datadict latin1 latin1_swedish_ci NULL
-select table_catalog, table_schema, engine
-from information_schema.tables
-where table_schema like 'db_datadict%';
-table_catalog table_schema engine
-select *
-from information_schema.columns
-where table_schema like 'db_datadict%';
-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
-select table_schema, table_name, is_updatable
-from information_schema.views
-where table_schema like 'db_datadict%';
-table_schema table_name is_updatable
-select routine_name, routine_type, security_type, sql_mode
-from information_schema.routines
-where routine_schema like 'db_datadict%';
-routine_name routine_type security_type sql_mode
-select table_name, index_schema, index_name, index_type
-from information_schema.statistics
-where table_schema like 'db_datadict%';
-table_name index_schema index_name index_type
-select *
-from information_schema.user_privileges order by grantee, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'root'@'127.0.0.1' NULL ALTER YES
-'root'@'127.0.0.1' NULL ALTER ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE YES
-'root'@'127.0.0.1' NULL CREATE ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES
-'root'@'127.0.0.1' NULL CREATE USER YES
-'root'@'127.0.0.1' NULL CREATE VIEW YES
-'root'@'127.0.0.1' NULL DELETE YES
-'root'@'127.0.0.1' NULL DROP YES
-'root'@'127.0.0.1' NULL EVENT YES
-'root'@'127.0.0.1' NULL EXECUTE YES
-'root'@'127.0.0.1' NULL FILE YES
-'root'@'127.0.0.1' NULL INDEX YES
-'root'@'127.0.0.1' NULL INSERT YES
-'root'@'127.0.0.1' NULL LOCK TABLES YES
-'root'@'127.0.0.1' NULL PROCESS YES
-'root'@'127.0.0.1' NULL REFERENCES YES
-'root'@'127.0.0.1' NULL RELOAD YES
-'root'@'127.0.0.1' NULL REPLICATION CLIENT YES
-'root'@'127.0.0.1' NULL REPLICATION SLAVE YES
-'root'@'127.0.0.1' NULL SELECT YES
-'root'@'127.0.0.1' NULL SHOW DATABASES YES
-'root'@'127.0.0.1' NULL SHOW VIEW YES
-'root'@'127.0.0.1' NULL SHUTDOWN YES
-'root'@'127.0.0.1' NULL SUPER YES
-'root'@'127.0.0.1' NULL TRIGGER YES
-'root'@'127.0.0.1' NULL UPDATE YES
-'root'@'<SERVER_NAME>' NULL ALTER YES
-'root'@'<SERVER_NAME>' NULL ALTER ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE YES
-'root'@'<SERVER_NAME>' NULL CREATE ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE TEMPORARY TABLES YES
-'root'@'<SERVER_NAME>' NULL CREATE USER YES
-'root'@'<SERVER_NAME>' NULL CREATE VIEW YES
-'root'@'<SERVER_NAME>' NULL DELETE YES
-'root'@'<SERVER_NAME>' NULL DROP YES
-'root'@'<SERVER_NAME>' NULL EVENT YES
-'root'@'<SERVER_NAME>' NULL EXECUTE YES
-'root'@'<SERVER_NAME>' NULL FILE YES
-'root'@'<SERVER_NAME>' NULL INDEX YES
-'root'@'<SERVER_NAME>' NULL INSERT YES
-'root'@'<SERVER_NAME>' NULL LOCK TABLES YES
-'root'@'<SERVER_NAME>' NULL PROCESS YES
-'root'@'<SERVER_NAME>' NULL REFERENCES YES
-'root'@'<SERVER_NAME>' NULL RELOAD YES
-'root'@'<SERVER_NAME>' NULL REPLICATION CLIENT YES
-'root'@'<SERVER_NAME>' NULL REPLICATION SLAVE YES
-'root'@'<SERVER_NAME>' NULL SELECT YES
-'root'@'<SERVER_NAME>' NULL SHOW DATABASES YES
-'root'@'<SERVER_NAME>' NULL SHOW VIEW YES
-'root'@'<SERVER_NAME>' NULL SHUTDOWN YES
-'root'@'<SERVER_NAME>' NULL SUPER YES
-'root'@'<SERVER_NAME>' NULL TRIGGER YES
-'root'@'<SERVER_NAME>' NULL UPDATE YES
-'root'@'localhost' NULL ALTER YES
-'root'@'localhost' NULL ALTER ROUTINE YES
-'root'@'localhost' NULL CREATE YES
-'root'@'localhost' NULL CREATE ROUTINE YES
-'root'@'localhost' NULL CREATE TEMPORARY TABLES YES
-'root'@'localhost' NULL CREATE USER YES
-'root'@'localhost' NULL CREATE VIEW YES
-'root'@'localhost' NULL DELETE YES
-'root'@'localhost' NULL DROP YES
-'root'@'localhost' NULL EVENT YES
-'root'@'localhost' NULL EXECUTE YES
-'root'@'localhost' NULL FILE YES
-'root'@'localhost' NULL INDEX YES
-'root'@'localhost' NULL INSERT YES
-'root'@'localhost' NULL LOCK TABLES YES
-'root'@'localhost' NULL PROCESS YES
-'root'@'localhost' NULL REFERENCES YES
-'root'@'localhost' NULL RELOAD YES
-'root'@'localhost' NULL REPLICATION CLIENT YES
-'root'@'localhost' NULL REPLICATION SLAVE YES
-'root'@'localhost' NULL SELECT YES
-'root'@'localhost' NULL SHOW DATABASES YES
-'root'@'localhost' NULL SHOW VIEW YES
-'root'@'localhost' NULL SHUTDOWN YES
-'root'@'localhost' NULL SUPER YES
-'root'@'localhost' NULL TRIGGER YES
-'root'@'localhost' NULL UPDATE YES
-select *
-from information_schema.column_privileges
-where table_schema like 'db_datadict%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select *
-from information_schema.table_privileges
-where table_schema like 'db_datadict%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select *
-from information_schema.key_column_usage
-where table_schema like 'db_datadict%';
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
-SELECT *
-FROM information_schema.triggers
-WHERE trigger_schema LIKE 'db_datadict%';
-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
-DROP DATABASE IF EXISTS db_datadict;
-CREATE DATABASE db_datadict;
-USE db_datadict;
-create table res_t_401013(f1 char(10), f2 char(25), f3 int)
-engine = memory;
-create view res_v_401013 as select * from res_t_401013;
-CREATE USER u_6_401013@localhost;
-create procedure sp_6_401013() select 'db_datadict';
-create function fn_6_401013() returns int return 0;
-create index i_6_401013 on res_t_401013(f3);
-use information_schema;
-
-now check whether all new objects exists in IS ...
---------------------------------------------------
-select *
-from information_schema.schemata
-where schema_name like 'db_datadict%';
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL db_datadict latin1 latin1_swedish_ci NULL
-select table_catalog, table_schema, engine
-from information_schema.tables
-where table_schema like 'db_datadict%';
-table_catalog table_schema engine
-NULL db_datadict MEMORY
-NULL db_datadict NULL
-select *
-from information_schema.columns
-where table_schema like 'db_datadict%';
-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
-NULL db_datadict res_t_401013 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select,insert,update,references
-NULL db_datadict res_t_401013 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL db_datadict res_t_401013 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) MUL select,insert,update,references
-NULL db_datadict res_v_401013 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select,insert,update,references
-NULL db_datadict res_v_401013 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL db_datadict res_v_401013 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-select table_schema, table_name, is_updatable
-from information_schema.views
-where table_schema like 'db_datadict%';
-table_schema table_name is_updatable
-db_datadict res_v_401013 YES
-select routine_name, routine_type, security_type, sql_mode
-from information_schema.routines
-where routine_schema like 'db_datadict%';
-routine_name routine_type security_type sql_mode
-fn_6_401013 FUNCTION DEFINER
-sp_6_401013 PROCEDURE DEFINER
-select table_name, index_schema, index_name, index_type
-from information_schema.statistics
-where table_schema like 'db_datadict%';
-table_name index_schema index_name index_type
-res_t_401013 db_datadict i_6_401013 HASH
-select *
-from information_schema.user_privileges order by grantee, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'root'@'127.0.0.1' NULL ALTER YES
-'root'@'127.0.0.1' NULL ALTER ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE YES
-'root'@'127.0.0.1' NULL CREATE ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES
-'root'@'127.0.0.1' NULL CREATE USER YES
-'root'@'127.0.0.1' NULL CREATE VIEW YES
-'root'@'127.0.0.1' NULL DELETE YES
-'root'@'127.0.0.1' NULL DROP YES
-'root'@'127.0.0.1' NULL EVENT YES
-'root'@'127.0.0.1' NULL EXECUTE YES
-'root'@'127.0.0.1' NULL FILE YES
-'root'@'127.0.0.1' NULL INDEX YES
-'root'@'127.0.0.1' NULL INSERT YES
-'root'@'127.0.0.1' NULL LOCK TABLES YES
-'root'@'127.0.0.1' NULL PROCESS YES
-'root'@'127.0.0.1' NULL REFERENCES YES
-'root'@'127.0.0.1' NULL RELOAD YES
-'root'@'127.0.0.1' NULL REPLICATION CLIENT YES
-'root'@'127.0.0.1' NULL REPLICATION SLAVE YES
-'root'@'127.0.0.1' NULL SELECT YES
-'root'@'127.0.0.1' NULL SHOW DATABASES YES
-'root'@'127.0.0.1' NULL SHOW VIEW YES
-'root'@'127.0.0.1' NULL SHUTDOWN YES
-'root'@'127.0.0.1' NULL SUPER YES
-'root'@'127.0.0.1' NULL TRIGGER YES
-'root'@'127.0.0.1' NULL UPDATE YES
-'root'@'<SERVER_NAME>' NULL ALTER YES
-'root'@'<SERVER_NAME>' NULL ALTER ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE YES
-'root'@'<SERVER_NAME>' NULL CREATE ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE TEMPORARY TABLES YES
-'root'@'<SERVER_NAME>' NULL CREATE USER YES
-'root'@'<SERVER_NAME>' NULL CREATE VIEW YES
-'root'@'<SERVER_NAME>' NULL DELETE YES
-'root'@'<SERVER_NAME>' NULL DROP YES
-'root'@'<SERVER_NAME>' NULL EVENT YES
-'root'@'<SERVER_NAME>' NULL EXECUTE YES
-'root'@'<SERVER_NAME>' NULL FILE YES
-'root'@'<SERVER_NAME>' NULL INDEX YES
-'root'@'<SERVER_NAME>' NULL INSERT YES
-'root'@'<SERVER_NAME>' NULL LOCK TABLES YES
-'root'@'<SERVER_NAME>' NULL PROCESS YES
-'root'@'<SERVER_NAME>' NULL REFERENCES YES
-'root'@'<SERVER_NAME>' NULL RELOAD YES
-'root'@'<SERVER_NAME>' NULL REPLICATION CLIENT YES
-'root'@'<SERVER_NAME>' NULL REPLICATION SLAVE YES
-'root'@'<SERVER_NAME>' NULL SELECT YES
-'root'@'<SERVER_NAME>' NULL SHOW DATABASES YES
-'root'@'<SERVER_NAME>' NULL SHOW VIEW YES
-'root'@'<SERVER_NAME>' NULL SHUTDOWN YES
-'root'@'<SERVER_NAME>' NULL SUPER YES
-'root'@'<SERVER_NAME>' NULL TRIGGER YES
-'root'@'<SERVER_NAME>' NULL UPDATE YES
-'root'@'localhost' NULL ALTER YES
-'root'@'localhost' NULL ALTER ROUTINE YES
-'root'@'localhost' NULL CREATE YES
-'root'@'localhost' NULL CREATE ROUTINE YES
-'root'@'localhost' NULL CREATE TEMPORARY TABLES YES
-'root'@'localhost' NULL CREATE USER YES
-'root'@'localhost' NULL CREATE VIEW YES
-'root'@'localhost' NULL DELETE YES
-'root'@'localhost' NULL DROP YES
-'root'@'localhost' NULL EVENT YES
-'root'@'localhost' NULL EXECUTE YES
-'root'@'localhost' NULL FILE YES
-'root'@'localhost' NULL INDEX YES
-'root'@'localhost' NULL INSERT YES
-'root'@'localhost' NULL LOCK TABLES YES
-'root'@'localhost' NULL PROCESS YES
-'root'@'localhost' NULL REFERENCES YES
-'root'@'localhost' NULL RELOAD YES
-'root'@'localhost' NULL REPLICATION CLIENT YES
-'root'@'localhost' NULL REPLICATION SLAVE YES
-'root'@'localhost' NULL SELECT YES
-'root'@'localhost' NULL SHOW DATABASES YES
-'root'@'localhost' NULL SHOW VIEW YES
-'root'@'localhost' NULL SHUTDOWN YES
-'root'@'localhost' NULL SUPER YES
-'root'@'localhost' NULL TRIGGER YES
-'root'@'localhost' NULL UPDATE YES
-'u_6_401013'@'localhost' NULL USAGE NO
-select *
-from information_schema.column_privileges
-where table_schema like 'db_datadict%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select *
-from information_schema.table_privileges
-where table_schema like 'db_datadict%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select *
-from information_schema.key_column_usage
-where table_schema like 'db_datadict%';
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
-SELECT *
-FROM information_schema.triggers
-WHERE trigger_schema LIKE 'db_datadict%';
-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
-use db_datadict;
-drop index i_6_401013 on res_t_401013;
-drop table db_datadict.res_t_401013;
-drop view db_datadict.res_v_401013;
-DROP USER u_6_401013@localhost;
-drop procedure sp_6_401013;
-drop function fn_6_401013;
-drop database db_datadict;
-use information_schema;
-
-and now check whether all objects are removed from IS ...
----------------------------------------------------------
-select *
-from information_schema.schemata
-where schema_name like 'db_datadict%';
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-select table_catalog, table_schema, engine
-from information_schema.tables
-where table_schema like 'db_datadict%';
-table_catalog table_schema engine
-select *
-from information_schema.columns
-where table_schema like 'db_datadict%';
-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
-select table_schema, table_name, is_updatable
-from information_schema.views
-where table_schema like 'db_datadict%';
-table_schema table_name is_updatable
-select routine_name, routine_type, security_type, sql_mode
-from information_schema.routines
-where routine_schema like 'db_datadict%';
-routine_name routine_type security_type sql_mode
-select table_name, index_schema, index_name, index_type
-from information_schema.statistics
-where table_schema like 'db_datadict%';
-table_name index_schema index_name index_type
-select *
-from information_schema.user_privileges order by grantee, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'root'@'127.0.0.1' NULL ALTER YES
-'root'@'127.0.0.1' NULL ALTER ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE YES
-'root'@'127.0.0.1' NULL CREATE ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES
-'root'@'127.0.0.1' NULL CREATE USER YES
-'root'@'127.0.0.1' NULL CREATE VIEW YES
-'root'@'127.0.0.1' NULL DELETE YES
-'root'@'127.0.0.1' NULL DROP YES
-'root'@'127.0.0.1' NULL EVENT YES
-'root'@'127.0.0.1' NULL EXECUTE YES
-'root'@'127.0.0.1' NULL FILE YES
-'root'@'127.0.0.1' NULL INDEX YES
-'root'@'127.0.0.1' NULL INSERT YES
-'root'@'127.0.0.1' NULL LOCK TABLES YES
-'root'@'127.0.0.1' NULL PROCESS YES
-'root'@'127.0.0.1' NULL REFERENCES YES
-'root'@'127.0.0.1' NULL RELOAD YES
-'root'@'127.0.0.1' NULL REPLICATION CLIENT YES
-'root'@'127.0.0.1' NULL REPLICATION SLAVE YES
-'root'@'127.0.0.1' NULL SELECT YES
-'root'@'127.0.0.1' NULL SHOW DATABASES YES
-'root'@'127.0.0.1' NULL SHOW VIEW YES
-'root'@'127.0.0.1' NULL SHUTDOWN YES
-'root'@'127.0.0.1' NULL SUPER YES
-'root'@'127.0.0.1' NULL TRIGGER YES
-'root'@'127.0.0.1' NULL UPDATE YES
-'root'@'<SERVER_NAME>' NULL ALTER YES
-'root'@'<SERVER_NAME>' NULL ALTER ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE YES
-'root'@'<SERVER_NAME>' NULL CREATE ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE TEMPORARY TABLES YES
-'root'@'<SERVER_NAME>' NULL CREATE USER YES
-'root'@'<SERVER_NAME>' NULL CREATE VIEW YES
-'root'@'<SERVER_NAME>' NULL DELETE YES
-'root'@'<SERVER_NAME>' NULL DROP YES
-'root'@'<SERVER_NAME>' NULL EVENT YES
-'root'@'<SERVER_NAME>' NULL EXECUTE YES
-'root'@'<SERVER_NAME>' NULL FILE YES
-'root'@'<SERVER_NAME>' NULL INDEX YES
-'root'@'<SERVER_NAME>' NULL INSERT YES
-'root'@'<SERVER_NAME>' NULL LOCK TABLES YES
-'root'@'<SERVER_NAME>' NULL PROCESS YES
-'root'@'<SERVER_NAME>' NULL REFERENCES YES
-'root'@'<SERVER_NAME>' NULL RELOAD YES
-'root'@'<SERVER_NAME>' NULL REPLICATION CLIENT YES
-'root'@'<SERVER_NAME>' NULL REPLICATION SLAVE YES
-'root'@'<SERVER_NAME>' NULL SELECT YES
-'root'@'<SERVER_NAME>' NULL SHOW DATABASES YES
-'root'@'<SERVER_NAME>' NULL SHOW VIEW YES
-'root'@'<SERVER_NAME>' NULL SHUTDOWN YES
-'root'@'<SERVER_NAME>' NULL SUPER YES
-'root'@'<SERVER_NAME>' NULL TRIGGER YES
-'root'@'<SERVER_NAME>' NULL UPDATE YES
-'root'@'localhost' NULL ALTER YES
-'root'@'localhost' NULL ALTER ROUTINE YES
-'root'@'localhost' NULL CREATE YES
-'root'@'localhost' NULL CREATE ROUTINE YES
-'root'@'localhost' NULL CREATE TEMPORARY TABLES YES
-'root'@'localhost' NULL CREATE USER YES
-'root'@'localhost' NULL CREATE VIEW YES
-'root'@'localhost' NULL DELETE YES
-'root'@'localhost' NULL DROP YES
-'root'@'localhost' NULL EVENT YES
-'root'@'localhost' NULL EXECUTE YES
-'root'@'localhost' NULL FILE YES
-'root'@'localhost' NULL INDEX YES
-'root'@'localhost' NULL INSERT YES
-'root'@'localhost' NULL LOCK TABLES YES
-'root'@'localhost' NULL PROCESS YES
-'root'@'localhost' NULL REFERENCES YES
-'root'@'localhost' NULL RELOAD YES
-'root'@'localhost' NULL REPLICATION CLIENT YES
-'root'@'localhost' NULL REPLICATION SLAVE YES
-'root'@'localhost' NULL SELECT YES
-'root'@'localhost' NULL SHOW DATABASES YES
-'root'@'localhost' NULL SHOW VIEW YES
-'root'@'localhost' NULL SHUTDOWN YES
-'root'@'localhost' NULL SUPER YES
-'root'@'localhost' NULL TRIGGER YES
-'root'@'localhost' NULL UPDATE YES
-select *
-from information_schema.column_privileges
-where table_schema like 'db_datadict%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select *
-from information_schema.table_privileges
-where table_schema like 'db_datadict%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select *
-from information_schema.key_column_usage
-where table_schema like 'db_datadict%';
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
-SELECT *
-FROM information_schema.triggers
-WHERE trigger_schema LIKE 'db_datadict%';
-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
-
-Testcase 3.2.1.14:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-CREATE DATABASE db_datadict;
-USE db_datadict;
-create table res_t_401014(f1 char(10), f2 text(25), f3 int);
-create view res_v_401014 as select * from res_t_401014;
-create procedure sp_6_401014() select 'db_datadict';
-create function fn_6_401014() returns int return 0;
-
-show existing objects >before< changing them ...
-------------------------------------------------
-select *
-from information_schema.schemata
-where schema_name like 'db_datadict%';
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL db_datadict latin1 latin1_swedish_ci NULL
-select table_catalog, table_schema, engine
-from information_schema.tables
-where table_schema like 'db_datadict%';
-table_catalog table_schema engine
-NULL db_datadict MyISAM
-NULL db_datadict NULL
-select *
-from information_schema.columns
-where table_schema like 'db_datadict%';
-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
-NULL db_datadict res_t_401014 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select,insert,update,references
-NULL db_datadict res_t_401014 f2 2 NULL YES tinytext 255 255 NULL NULL latin1 latin1_swedish_ci tinytext select,insert,update,references
-NULL db_datadict res_t_401014 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL db_datadict res_v_401014 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select,insert,update,references
-NULL db_datadict res_v_401014 f2 2 NULL YES tinytext 255 255 NULL NULL latin1 latin1_swedish_ci tinytext select,insert,update,references
-NULL db_datadict res_v_401014 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-select table_schema, table_name, is_updatable
-from information_schema.views
-where table_schema like 'db_datadict%';
-table_schema table_name is_updatable
-db_datadict res_v_401014 YES
-select routine_name, routine_type, security_type, sql_mode
-from information_schema.routines
-where routine_schema like 'db_datadict%';
-routine_name routine_type security_type sql_mode
-fn_6_401014 FUNCTION DEFINER
-sp_6_401014 PROCEDURE DEFINER
-select table_name, index_schema, index_name, index_type
-from information_schema.statistics
-where table_schema like 'db_datadict%';
-table_name index_schema index_name index_type
-select *
-from information_schema.user_privileges order by grantee, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'root'@'127.0.0.1' NULL ALTER YES
-'root'@'127.0.0.1' NULL ALTER ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE YES
-'root'@'127.0.0.1' NULL CREATE ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES
-'root'@'127.0.0.1' NULL CREATE USER YES
-'root'@'127.0.0.1' NULL CREATE VIEW YES
-'root'@'127.0.0.1' NULL DELETE YES
-'root'@'127.0.0.1' NULL DROP YES
-'root'@'127.0.0.1' NULL EVENT YES
-'root'@'127.0.0.1' NULL EXECUTE YES
-'root'@'127.0.0.1' NULL FILE YES
-'root'@'127.0.0.1' NULL INDEX YES
-'root'@'127.0.0.1' NULL INSERT YES
-'root'@'127.0.0.1' NULL LOCK TABLES YES
-'root'@'127.0.0.1' NULL PROCESS YES
-'root'@'127.0.0.1' NULL REFERENCES YES
-'root'@'127.0.0.1' NULL RELOAD YES
-'root'@'127.0.0.1' NULL REPLICATION CLIENT YES
-'root'@'127.0.0.1' NULL REPLICATION SLAVE YES
-'root'@'127.0.0.1' NULL SELECT YES
-'root'@'127.0.0.1' NULL SHOW DATABASES YES
-'root'@'127.0.0.1' NULL SHOW VIEW YES
-'root'@'127.0.0.1' NULL SHUTDOWN YES
-'root'@'127.0.0.1' NULL SUPER YES
-'root'@'127.0.0.1' NULL TRIGGER YES
-'root'@'127.0.0.1' NULL UPDATE YES
-'root'@'<SERVER_NAME>' NULL ALTER YES
-'root'@'<SERVER_NAME>' NULL ALTER ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE YES
-'root'@'<SERVER_NAME>' NULL CREATE ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE TEMPORARY TABLES YES
-'root'@'<SERVER_NAME>' NULL CREATE USER YES
-'root'@'<SERVER_NAME>' NULL CREATE VIEW YES
-'root'@'<SERVER_NAME>' NULL DELETE YES
-'root'@'<SERVER_NAME>' NULL DROP YES
-'root'@'<SERVER_NAME>' NULL EVENT YES
-'root'@'<SERVER_NAME>' NULL EXECUTE YES
-'root'@'<SERVER_NAME>' NULL FILE YES
-'root'@'<SERVER_NAME>' NULL INDEX YES
-'root'@'<SERVER_NAME>' NULL INSERT YES
-'root'@'<SERVER_NAME>' NULL LOCK TABLES YES
-'root'@'<SERVER_NAME>' NULL PROCESS YES
-'root'@'<SERVER_NAME>' NULL REFERENCES YES
-'root'@'<SERVER_NAME>' NULL RELOAD YES
-'root'@'<SERVER_NAME>' NULL REPLICATION CLIENT YES
-'root'@'<SERVER_NAME>' NULL REPLICATION SLAVE YES
-'root'@'<SERVER_NAME>' NULL SELECT YES
-'root'@'<SERVER_NAME>' NULL SHOW DATABASES YES
-'root'@'<SERVER_NAME>' NULL SHOW VIEW YES
-'root'@'<SERVER_NAME>' NULL SHUTDOWN YES
-'root'@'<SERVER_NAME>' NULL SUPER YES
-'root'@'<SERVER_NAME>' NULL TRIGGER YES
-'root'@'<SERVER_NAME>' NULL UPDATE YES
-'root'@'localhost' NULL ALTER YES
-'root'@'localhost' NULL ALTER ROUTINE YES
-'root'@'localhost' NULL CREATE YES
-'root'@'localhost' NULL CREATE ROUTINE YES
-'root'@'localhost' NULL CREATE TEMPORARY TABLES YES
-'root'@'localhost' NULL CREATE USER YES
-'root'@'localhost' NULL CREATE VIEW YES
-'root'@'localhost' NULL DELETE YES
-'root'@'localhost' NULL DROP YES
-'root'@'localhost' NULL EVENT YES
-'root'@'localhost' NULL EXECUTE YES
-'root'@'localhost' NULL FILE YES
-'root'@'localhost' NULL INDEX YES
-'root'@'localhost' NULL INSERT YES
-'root'@'localhost' NULL LOCK TABLES YES
-'root'@'localhost' NULL PROCESS YES
-'root'@'localhost' NULL REFERENCES YES
-'root'@'localhost' NULL RELOAD YES
-'root'@'localhost' NULL REPLICATION CLIENT YES
-'root'@'localhost' NULL REPLICATION SLAVE YES
-'root'@'localhost' NULL SELECT YES
-'root'@'localhost' NULL SHOW DATABASES YES
-'root'@'localhost' NULL SHOW VIEW YES
-'root'@'localhost' NULL SHUTDOWN YES
-'root'@'localhost' NULL SUPER YES
-'root'@'localhost' NULL TRIGGER YES
-'root'@'localhost' NULL UPDATE YES
-select *
-from information_schema.column_privileges
-where table_schema like 'db_datadict%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select *
-from information_schema.table_privileges
-where table_schema like 'db_datadict%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select *
-from information_schema.key_column_usage
-where table_schema like 'db_datadict%';
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
-SELECT *
-FROM information_schema.triggers
-WHERE trigger_schema LIKE 'db_datadict%';
-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
-use db_datadict;
-alter table res_t_401014 change f1 ff1 int;
-alter table res_t_401014 engine = innodb;
-alter table res_t_401014 change f3 f3_new bigint;
-alter view res_v_401014 as select ff1 from res_t_401014;
-alter procedure sp_6_401014 sql security invoker;
-alter function fn_6_401014 comment 'updated comments';
-alter database db_datadict character set utf8;
-
-now check whether the changes are visible in IS ...
----------------------------------------------------
-select *
-from information_schema.schemata
-where schema_name like 'db_datadict%';
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL db_datadict utf8 utf8_general_ci NULL
-select table_catalog, table_schema, engine
-from information_schema.tables
-where table_schema like 'db_datadict%';
-table_catalog table_schema engine
-NULL db_datadict InnoDB
-NULL db_datadict NULL
-select *
-from information_schema.columns
-where table_schema like 'db_datadict%';
-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
-NULL db_datadict res_t_401014 ff1 1 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL db_datadict res_t_401014 f2 2 NULL YES tinytext 255 255 NULL NULL latin1 latin1_swedish_ci tinytext select,insert,update,references
-NULL db_datadict res_t_401014 f3_new 3 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references
-NULL db_datadict res_v_401014 ff1 1 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-select table_schema, table_name, is_updatable
-from information_schema.views
-where table_schema like 'db_datadict%';
-table_schema table_name is_updatable
-db_datadict res_v_401014 YES
-select routine_name, routine_type, security_type, sql_mode
-from information_schema.routines
-where routine_schema like 'db_datadict%';
-routine_name routine_type security_type sql_mode
-fn_6_401014 FUNCTION DEFINER
-sp_6_401014 PROCEDURE INVOKER
-select table_name, index_schema, index_name, index_type
-from information_schema.statistics
-where table_schema like 'db_datadict%';
-table_name index_schema index_name index_type
-select *
-from information_schema.user_privileges order by grantee, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'root'@'127.0.0.1' NULL ALTER YES
-'root'@'127.0.0.1' NULL ALTER ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE YES
-'root'@'127.0.0.1' NULL CREATE ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES
-'root'@'127.0.0.1' NULL CREATE USER YES
-'root'@'127.0.0.1' NULL CREATE VIEW YES
-'root'@'127.0.0.1' NULL DELETE YES
-'root'@'127.0.0.1' NULL DROP YES
-'root'@'127.0.0.1' NULL EVENT YES
-'root'@'127.0.0.1' NULL EXECUTE YES
-'root'@'127.0.0.1' NULL FILE YES
-'root'@'127.0.0.1' NULL INDEX YES
-'root'@'127.0.0.1' NULL INSERT YES
-'root'@'127.0.0.1' NULL LOCK TABLES YES
-'root'@'127.0.0.1' NULL PROCESS YES
-'root'@'127.0.0.1' NULL REFERENCES YES
-'root'@'127.0.0.1' NULL RELOAD YES
-'root'@'127.0.0.1' NULL REPLICATION CLIENT YES
-'root'@'127.0.0.1' NULL REPLICATION SLAVE YES
-'root'@'127.0.0.1' NULL SELECT YES
-'root'@'127.0.0.1' NULL SHOW DATABASES YES
-'root'@'127.0.0.1' NULL SHOW VIEW YES
-'root'@'127.0.0.1' NULL SHUTDOWN YES
-'root'@'127.0.0.1' NULL SUPER YES
-'root'@'127.0.0.1' NULL TRIGGER YES
-'root'@'127.0.0.1' NULL UPDATE YES
-'root'@'<SERVER_NAME>' NULL ALTER YES
-'root'@'<SERVER_NAME>' NULL ALTER ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE YES
-'root'@'<SERVER_NAME>' NULL CREATE ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE TEMPORARY TABLES YES
-'root'@'<SERVER_NAME>' NULL CREATE USER YES
-'root'@'<SERVER_NAME>' NULL CREATE VIEW YES
-'root'@'<SERVER_NAME>' NULL DELETE YES
-'root'@'<SERVER_NAME>' NULL DROP YES
-'root'@'<SERVER_NAME>' NULL EVENT YES
-'root'@'<SERVER_NAME>' NULL EXECUTE YES
-'root'@'<SERVER_NAME>' NULL FILE YES
-'root'@'<SERVER_NAME>' NULL INDEX YES
-'root'@'<SERVER_NAME>' NULL INSERT YES
-'root'@'<SERVER_NAME>' NULL LOCK TABLES YES
-'root'@'<SERVER_NAME>' NULL PROCESS YES
-'root'@'<SERVER_NAME>' NULL REFERENCES YES
-'root'@'<SERVER_NAME>' NULL RELOAD YES
-'root'@'<SERVER_NAME>' NULL REPLICATION CLIENT YES
-'root'@'<SERVER_NAME>' NULL REPLICATION SLAVE YES
-'root'@'<SERVER_NAME>' NULL SELECT YES
-'root'@'<SERVER_NAME>' NULL SHOW DATABASES YES
-'root'@'<SERVER_NAME>' NULL SHOW VIEW YES
-'root'@'<SERVER_NAME>' NULL SHUTDOWN YES
-'root'@'<SERVER_NAME>' NULL SUPER YES
-'root'@'<SERVER_NAME>' NULL TRIGGER YES
-'root'@'<SERVER_NAME>' NULL UPDATE YES
-'root'@'localhost' NULL ALTER YES
-'root'@'localhost' NULL ALTER ROUTINE YES
-'root'@'localhost' NULL CREATE YES
-'root'@'localhost' NULL CREATE ROUTINE YES
-'root'@'localhost' NULL CREATE TEMPORARY TABLES YES
-'root'@'localhost' NULL CREATE USER YES
-'root'@'localhost' NULL CREATE VIEW YES
-'root'@'localhost' NULL DELETE YES
-'root'@'localhost' NULL DROP YES
-'root'@'localhost' NULL EVENT YES
-'root'@'localhost' NULL EXECUTE YES
-'root'@'localhost' NULL FILE YES
-'root'@'localhost' NULL INDEX YES
-'root'@'localhost' NULL INSERT YES
-'root'@'localhost' NULL LOCK TABLES YES
-'root'@'localhost' NULL PROCESS YES
-'root'@'localhost' NULL REFERENCES YES
-'root'@'localhost' NULL RELOAD YES
-'root'@'localhost' NULL REPLICATION CLIENT YES
-'root'@'localhost' NULL REPLICATION SLAVE YES
-'root'@'localhost' NULL SELECT YES
-'root'@'localhost' NULL SHOW DATABASES YES
-'root'@'localhost' NULL SHOW VIEW YES
-'root'@'localhost' NULL SHUTDOWN YES
-'root'@'localhost' NULL SUPER YES
-'root'@'localhost' NULL TRIGGER YES
-'root'@'localhost' NULL UPDATE YES
-select *
-from information_schema.column_privileges
-where table_schema like 'db_datadict%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select *
-from information_schema.table_privileges
-where table_schema like 'db_datadict%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select *
-from information_schema.key_column_usage
-where table_schema like 'db_datadict%';
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
-SELECT *
-FROM information_schema.triggers
-WHERE trigger_schema LIKE 'db_datadict%';
-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
-use db_datadict;
-drop table db_datadict.res_t_401014;
-drop view db_datadict.res_v_401014;
-drop procedure sp_6_401014;
-drop function fn_6_401014;
-drop database db_datadict;
-
-Testcase 3.2.1.15:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-CREATE DATABASE db_datadict;
-USE db_datadict;
-create table res_t_401015(f1 char(10), f2 text(25), f3 int);
-create view res_v_401015 as select * from res_t_401015;
-CREATE USER u_6_401015@localhost;
-create procedure sp_6_401015() select 'test';
-create function fn_6_401015() returns int return 0;
-create index i_6_401015 on res_t_401015(f3);
-
-show existing objects >before< dropping them ...
-------------------------------------------------
-select *
-from information_schema.schemata
-where schema_name like 'db_datadict%';
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL db_datadict latin1 latin1_swedish_ci NULL
-select table_catalog, table_schema, engine
-from information_schema.tables
-where table_schema like 'db_datadict%';
-table_catalog table_schema engine
-NULL db_datadict MyISAM
-NULL db_datadict NULL
-select *
-from information_schema.columns
-where table_schema like 'db_datadict%';
-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
-NULL db_datadict res_t_401015 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select,insert,update,references
-NULL db_datadict res_t_401015 f2 2 NULL YES tinytext 255 255 NULL NULL latin1 latin1_swedish_ci tinytext select,insert,update,references
-NULL db_datadict res_t_401015 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) MUL select,insert,update,references
-NULL db_datadict res_v_401015 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select,insert,update,references
-NULL db_datadict res_v_401015 f2 2 NULL YES tinytext 255 255 NULL NULL latin1 latin1_swedish_ci tinytext select,insert,update,references
-NULL db_datadict res_v_401015 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-select table_schema, table_name, is_updatable
-from information_schema.views
-where table_schema like 'db_datadict%';
-table_schema table_name is_updatable
-db_datadict res_v_401015 YES
-select routine_name, routine_type, security_type, sql_mode
-from information_schema.routines
-where routine_schema like 'db_datadict%';
-routine_name routine_type security_type sql_mode
-fn_6_401015 FUNCTION DEFINER
-sp_6_401015 PROCEDURE DEFINER
-select table_name, index_schema, index_name, index_type
-from information_schema.statistics
-where table_schema like 'db_datadict%';
-table_name index_schema index_name index_type
-res_t_401015 db_datadict i_6_401015 BTREE
-select *
-from information_schema.user_privileges order by grantee, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'root'@'127.0.0.1' NULL ALTER YES
-'root'@'127.0.0.1' NULL ALTER ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE YES
-'root'@'127.0.0.1' NULL CREATE ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES
-'root'@'127.0.0.1' NULL CREATE USER YES
-'root'@'127.0.0.1' NULL CREATE VIEW YES
-'root'@'127.0.0.1' NULL DELETE YES
-'root'@'127.0.0.1' NULL DROP YES
-'root'@'127.0.0.1' NULL EVENT YES
-'root'@'127.0.0.1' NULL EXECUTE YES
-'root'@'127.0.0.1' NULL FILE YES
-'root'@'127.0.0.1' NULL INDEX YES
-'root'@'127.0.0.1' NULL INSERT YES
-'root'@'127.0.0.1' NULL LOCK TABLES YES
-'root'@'127.0.0.1' NULL PROCESS YES
-'root'@'127.0.0.1' NULL REFERENCES YES
-'root'@'127.0.0.1' NULL RELOAD YES
-'root'@'127.0.0.1' NULL REPLICATION CLIENT YES
-'root'@'127.0.0.1' NULL REPLICATION SLAVE YES
-'root'@'127.0.0.1' NULL SELECT YES
-'root'@'127.0.0.1' NULL SHOW DATABASES YES
-'root'@'127.0.0.1' NULL SHOW VIEW YES
-'root'@'127.0.0.1' NULL SHUTDOWN YES
-'root'@'127.0.0.1' NULL SUPER YES
-'root'@'127.0.0.1' NULL TRIGGER YES
-'root'@'127.0.0.1' NULL UPDATE YES
-'root'@'<SERVER_NAME>' NULL ALTER YES
-'root'@'<SERVER_NAME>' NULL ALTER ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE YES
-'root'@'<SERVER_NAME>' NULL CREATE ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE TEMPORARY TABLES YES
-'root'@'<SERVER_NAME>' NULL CREATE USER YES
-'root'@'<SERVER_NAME>' NULL CREATE VIEW YES
-'root'@'<SERVER_NAME>' NULL DELETE YES
-'root'@'<SERVER_NAME>' NULL DROP YES
-'root'@'<SERVER_NAME>' NULL EVENT YES
-'root'@'<SERVER_NAME>' NULL EXECUTE YES
-'root'@'<SERVER_NAME>' NULL FILE YES
-'root'@'<SERVER_NAME>' NULL INDEX YES
-'root'@'<SERVER_NAME>' NULL INSERT YES
-'root'@'<SERVER_NAME>' NULL LOCK TABLES YES
-'root'@'<SERVER_NAME>' NULL PROCESS YES
-'root'@'<SERVER_NAME>' NULL REFERENCES YES
-'root'@'<SERVER_NAME>' NULL RELOAD YES
-'root'@'<SERVER_NAME>' NULL REPLICATION CLIENT YES
-'root'@'<SERVER_NAME>' NULL REPLICATION SLAVE YES
-'root'@'<SERVER_NAME>' NULL SELECT YES
-'root'@'<SERVER_NAME>' NULL SHOW DATABASES YES
-'root'@'<SERVER_NAME>' NULL SHOW VIEW YES
-'root'@'<SERVER_NAME>' NULL SHUTDOWN YES
-'root'@'<SERVER_NAME>' NULL SUPER YES
-'root'@'<SERVER_NAME>' NULL TRIGGER YES
-'root'@'<SERVER_NAME>' NULL UPDATE YES
-'root'@'localhost' NULL ALTER YES
-'root'@'localhost' NULL ALTER ROUTINE YES
-'root'@'localhost' NULL CREATE YES
-'root'@'localhost' NULL CREATE ROUTINE YES
-'root'@'localhost' NULL CREATE TEMPORARY TABLES YES
-'root'@'localhost' NULL CREATE USER YES
-'root'@'localhost' NULL CREATE VIEW YES
-'root'@'localhost' NULL DELETE YES
-'root'@'localhost' NULL DROP YES
-'root'@'localhost' NULL EVENT YES
-'root'@'localhost' NULL EXECUTE YES
-'root'@'localhost' NULL FILE YES
-'root'@'localhost' NULL INDEX YES
-'root'@'localhost' NULL INSERT YES
-'root'@'localhost' NULL LOCK TABLES YES
-'root'@'localhost' NULL PROCESS YES
-'root'@'localhost' NULL REFERENCES YES
-'root'@'localhost' NULL RELOAD YES
-'root'@'localhost' NULL REPLICATION CLIENT YES
-'root'@'localhost' NULL REPLICATION SLAVE YES
-'root'@'localhost' NULL SELECT YES
-'root'@'localhost' NULL SHOW DATABASES YES
-'root'@'localhost' NULL SHOW VIEW YES
-'root'@'localhost' NULL SHUTDOWN YES
-'root'@'localhost' NULL SUPER YES
-'root'@'localhost' NULL TRIGGER YES
-'root'@'localhost' NULL UPDATE YES
-'u_6_401015'@'localhost' NULL USAGE NO
-select *
-from information_schema.column_privileges
-where table_schema like 'db_datadict%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select *
-from information_schema.table_privileges
-where table_schema like 'db_datadict%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select *
-from information_schema.key_column_usage
-where table_schema like 'db_datadict%';
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
-SELECT *
-FROM information_schema.triggers
-WHERE trigger_schema LIKE 'db_datadict%';
-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
-use db_datadict;
-drop index i_6_401015 on res_t_401015;
-drop table db_datadict.res_t_401015;
-drop view db_datadict.res_v_401015;
-DROP USER u_6_401015@localhost;
-drop procedure sp_6_401015;
-drop function fn_6_401015;
-
-now check they are really gone ...
-----------------------------------
-select *
-from information_schema.schemata
-where schema_name like 'db_datadict%';
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL db_datadict latin1 latin1_swedish_ci NULL
-select table_catalog, table_schema, engine
-from information_schema.tables
-where table_schema like 'db_datadict%';
-table_catalog table_schema engine
-select *
-from information_schema.columns
-where table_schema like 'db_datadict%';
-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
-select table_schema, table_name, is_updatable
-from information_schema.views
-where table_schema like 'db_datadict%';
-table_schema table_name is_updatable
-select routine_name, routine_type, security_type, sql_mode
-from information_schema.routines
-where routine_schema like 'db_datadict%';
-routine_name routine_type security_type sql_mode
-select table_name, index_schema, index_name, index_type
-from information_schema.statistics
-where table_schema like 'db_datadict%';
-table_name index_schema index_name index_type
-select *
-from information_schema.user_privileges order by grantee, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'root'@'127.0.0.1' NULL ALTER YES
-'root'@'127.0.0.1' NULL ALTER ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE YES
-'root'@'127.0.0.1' NULL CREATE ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES
-'root'@'127.0.0.1' NULL CREATE USER YES
-'root'@'127.0.0.1' NULL CREATE VIEW YES
-'root'@'127.0.0.1' NULL DELETE YES
-'root'@'127.0.0.1' NULL DROP YES
-'root'@'127.0.0.1' NULL EVENT YES
-'root'@'127.0.0.1' NULL EXECUTE YES
-'root'@'127.0.0.1' NULL FILE YES
-'root'@'127.0.0.1' NULL INDEX YES
-'root'@'127.0.0.1' NULL INSERT YES
-'root'@'127.0.0.1' NULL LOCK TABLES YES
-'root'@'127.0.0.1' NULL PROCESS YES
-'root'@'127.0.0.1' NULL REFERENCES YES
-'root'@'127.0.0.1' NULL RELOAD YES
-'root'@'127.0.0.1' NULL REPLICATION CLIENT YES
-'root'@'127.0.0.1' NULL REPLICATION SLAVE YES
-'root'@'127.0.0.1' NULL SELECT YES
-'root'@'127.0.0.1' NULL SHOW DATABASES YES
-'root'@'127.0.0.1' NULL SHOW VIEW YES
-'root'@'127.0.0.1' NULL SHUTDOWN YES
-'root'@'127.0.0.1' NULL SUPER YES
-'root'@'127.0.0.1' NULL TRIGGER YES
-'root'@'127.0.0.1' NULL UPDATE YES
-'root'@'<SERVER_NAME>' NULL ALTER YES
-'root'@'<SERVER_NAME>' NULL ALTER ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE YES
-'root'@'<SERVER_NAME>' NULL CREATE ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE TEMPORARY TABLES YES
-'root'@'<SERVER_NAME>' NULL CREATE USER YES
-'root'@'<SERVER_NAME>' NULL CREATE VIEW YES
-'root'@'<SERVER_NAME>' NULL DELETE YES
-'root'@'<SERVER_NAME>' NULL DROP YES
-'root'@'<SERVER_NAME>' NULL EVENT YES
-'root'@'<SERVER_NAME>' NULL EXECUTE YES
-'root'@'<SERVER_NAME>' NULL FILE YES
-'root'@'<SERVER_NAME>' NULL INDEX YES
-'root'@'<SERVER_NAME>' NULL INSERT YES
-'root'@'<SERVER_NAME>' NULL LOCK TABLES YES
-'root'@'<SERVER_NAME>' NULL PROCESS YES
-'root'@'<SERVER_NAME>' NULL REFERENCES YES
-'root'@'<SERVER_NAME>' NULL RELOAD YES
-'root'@'<SERVER_NAME>' NULL REPLICATION CLIENT YES
-'root'@'<SERVER_NAME>' NULL REPLICATION SLAVE YES
-'root'@'<SERVER_NAME>' NULL SELECT YES
-'root'@'<SERVER_NAME>' NULL SHOW DATABASES YES
-'root'@'<SERVER_NAME>' NULL SHOW VIEW YES
-'root'@'<SERVER_NAME>' NULL SHUTDOWN YES
-'root'@'<SERVER_NAME>' NULL SUPER YES
-'root'@'<SERVER_NAME>' NULL TRIGGER YES
-'root'@'<SERVER_NAME>' NULL UPDATE YES
-'root'@'localhost' NULL ALTER YES
-'root'@'localhost' NULL ALTER ROUTINE YES
-'root'@'localhost' NULL CREATE YES
-'root'@'localhost' NULL CREATE ROUTINE YES
-'root'@'localhost' NULL CREATE TEMPORARY TABLES YES
-'root'@'localhost' NULL CREATE USER YES
-'root'@'localhost' NULL CREATE VIEW YES
-'root'@'localhost' NULL DELETE YES
-'root'@'localhost' NULL DROP YES
-'root'@'localhost' NULL EVENT YES
-'root'@'localhost' NULL EXECUTE YES
-'root'@'localhost' NULL FILE YES
-'root'@'localhost' NULL INDEX YES
-'root'@'localhost' NULL INSERT YES
-'root'@'localhost' NULL LOCK TABLES YES
-'root'@'localhost' NULL PROCESS YES
-'root'@'localhost' NULL REFERENCES YES
-'root'@'localhost' NULL RELOAD YES
-'root'@'localhost' NULL REPLICATION CLIENT YES
-'root'@'localhost' NULL REPLICATION SLAVE YES
-'root'@'localhost' NULL SELECT YES
-'root'@'localhost' NULL SHOW DATABASES YES
-'root'@'localhost' NULL SHOW VIEW YES
-'root'@'localhost' NULL SHUTDOWN YES
-'root'@'localhost' NULL SUPER YES
-'root'@'localhost' NULL TRIGGER YES
-'root'@'localhost' NULL UPDATE YES
-select *
-from information_schema.column_privileges
-where table_schema like 'db_datadict%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select *
-from information_schema.table_privileges
-where table_schema like 'db_datadict%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select *
-from information_schema.key_column_usage
-where table_schema like 'db_datadict%';
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
-SELECT *
-FROM information_schema.triggers
-WHERE trigger_schema LIKE 'db_datadict%';
-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
-
-Testcase 3.2.1.16:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-CREATE DATABASE db_datadict;
-CREATE DATABASE db_hidden;
-USE db_hidden;
-CREATE TABLE tb_hidden ( c1 TEXT );
-USE db_datadict;
-CREATE TABLE res_t_401016(f1 char(10),f2 text(25),f3 int);
-CREATE TABLE res_t_401016_1(f1 char(10),f2 text(25),f3 int);
-CREATE USER 'u_6_401016'@'localhost';
-GRANT SELECT ON db_datadict.res_t_401016 TO 'u_6_401016'@'localhost';
-FLUSH PRIVILEGES;
-connect(localhost,u_6_401016,,test,MYSQL_PORT,MYSQL_SOCK);
-USE information_schema;
-SELECT table_schema, table_name, engine
-FROM TABLES;
-table_schema table_name engine
-information_schema CHARACTER_SETS MEMORY
-information_schema COLLATIONS MEMORY
-information_schema COLLATION_CHARACTER_SET_APPLICABILITY MEMORY
-information_schema COLUMNS MyISAM
-information_schema COLUMN_PRIVILEGES MEMORY
-information_schema ENGINES MEMORY
-information_schema EVENTS MyISAM
-information_schema FILES MEMORY
-information_schema GLOBAL_STATUS MEMORY
-information_schema GLOBAL_VARIABLES MyISAM
-information_schema KEY_COLUMN_USAGE MEMORY
-information_schema PARTITIONS MyISAM
-information_schema PLUGINS MyISAM
-information_schema PROCESSLIST MyISAM
-information_schema REFERENTIAL_CONSTRAINTS MEMORY
-information_schema ROUTINES MyISAM
-information_schema SCHEMATA MEMORY
-information_schema SCHEMA_PRIVILEGES MEMORY
-information_schema SESSION_STATUS MEMORY
-information_schema SESSION_VARIABLES MyISAM
-information_schema STATISTICS MEMORY
-information_schema TABLES MEMORY
-information_schema TABLE_CONSTRAINTS MEMORY
-information_schema TABLE_PRIVILEGES MEMORY
-information_schema TRIGGERS MyISAM
-information_schema USER_PRIVILEGES MEMORY
-information_schema VIEWS MyISAM
-db_datadict res_t_401016 MyISAM
-test t1 MEMORY
-test t10 MEMORY
-test t11 MEMORY
-test t2 MEMORY
-test t3 MEMORY
-test t4 MEMORY
-test t7 MEMORY
-test t8 MEMORY
-test t9 MEMORY
-test tb1 MEMORY
-test tb2 MEMORY
-test tb3 MEMORY
-test tb4 MEMORY
-SHOW TABLES;
-Tables_in_information_schema
-CHARACTER_SETS
-COLLATIONS
-COLLATION_CHARACTER_SET_APPLICABILITY
-COLUMNS
-COLUMN_PRIVILEGES
-ENGINES
-EVENTS
-FILES
-GLOBAL_STATUS
-GLOBAL_VARIABLES
-KEY_COLUMN_USAGE
-PARTITIONS
-PLUGINS
-PROCESSLIST
-REFERENTIAL_CONSTRAINTS
-ROUTINES
-SCHEMATA
-SCHEMA_PRIVILEGES
-SESSION_STATUS
-SESSION_VARIABLES
-STATISTICS
-TABLES
-TABLE_CONSTRAINTS
-TABLE_PRIVILEGES
-TRIGGERS
-USER_PRIVILEGES
-VIEWS
-SELECT * FROM schemata;
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL information_schema utf8 utf8_general_ci NULL
-NULL db_datadict latin1 latin1_swedish_ci NULL
-NULL test latin1 latin1_swedish_ci NULL
-
-root@localhost db_datadict
-grant usage on information_schema.* to 'u_6_401016'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-FLUSH PRIVILEGES;
-connect(localhost,u_6_401016,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-USE information_schema;
-SHOW TABLES;
-Tables_in_information_schema
-CHARACTER_SETS
-COLLATIONS
-COLLATION_CHARACTER_SET_APPLICABILITY
-COLUMNS
-COLUMN_PRIVILEGES
-ENGINES
-EVENTS
-FILES
-GLOBAL_STATUS
-GLOBAL_VARIABLES
-KEY_COLUMN_USAGE
-PARTITIONS
-PLUGINS
-PROCESSLIST
-REFERENTIAL_CONSTRAINTS
-ROUTINES
-SCHEMATA
-SCHEMA_PRIVILEGES
-SESSION_STATUS
-SESSION_VARIABLES
-STATISTICS
-TABLES
-TABLE_CONSTRAINTS
-TABLE_PRIVILEGES
-TRIGGERS
-USER_PRIVILEGES
-VIEWS
-SELECT * FROM schemata;
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL information_schema utf8 utf8_general_ci NULL
-NULL db_datadict latin1 latin1_swedish_ci NULL
-NULL test latin1 latin1_swedish_ci NULL
-use db_datadict;
-
-root@localhost db_datadict
-DROP USER 'u_6_401016'@'localhost';
-drop table res_t_401016;
-drop table res_t_401016_1;
-DROP DATABASE db_hidden;
-
-Testcase 3.2.1.17:
---------------------------------------------------------------------------------
-CREATE USER 'u_6_401017'@'localhost';
-grant select on information_schema.* to u_6_401017@localhost;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-FLUSH PRIVILEGES;
-connect(localhost,u_6_401017,,test,MYSQL_PORT,MYSQL_SOCK);
-use information_schema;
-select * from collation_character_set_applicability;
-COLLATION_NAME CHARACTER_SET_NAME
-big5_chinese_ci big5
-big5_bin big5
-dec8_swedish_ci dec8
-dec8_bin dec8
-cp850_general_ci cp850
-cp850_bin cp850
-hp8_english_ci hp8
-hp8_bin hp8
-koi8r_general_ci koi8r
-koi8r_bin koi8r
-latin1_german1_ci latin1
-latin1_swedish_ci latin1
-latin1_danish_ci latin1
-latin1_german2_ci latin1
-latin1_bin latin1
-latin1_general_ci latin1
-latin1_general_cs latin1
-latin1_spanish_ci latin1
-latin2_czech_cs latin2
-latin2_general_ci latin2
-latin2_hungarian_ci latin2
-latin2_croatian_ci latin2
-latin2_bin latin2
-swe7_swedish_ci swe7
-swe7_bin swe7
-ascii_general_ci ascii
-ascii_bin ascii
-ujis_japanese_ci ujis
-ujis_bin ujis
-sjis_japanese_ci sjis
-sjis_bin sjis
-hebrew_general_ci hebrew
-hebrew_bin hebrew
-filename filename
-tis620_thai_ci tis620
-tis620_bin tis620
-euckr_korean_ci euckr
-euckr_bin euckr
-koi8u_general_ci koi8u
-koi8u_bin koi8u
-gb2312_chinese_ci gb2312
-gb2312_bin gb2312
-greek_general_ci greek
-greek_bin greek
-cp1250_general_ci cp1250
-cp1250_czech_cs cp1250
-cp1250_croatian_ci cp1250
-cp1250_bin cp1250
-cp1250_polish_ci cp1250
-gbk_chinese_ci gbk
-gbk_bin gbk
-latin5_turkish_ci latin5
-latin5_bin latin5
-armscii8_general_ci armscii8
-armscii8_bin armscii8
-utf8_general_ci utf8
-utf8_bin utf8
-utf8_unicode_ci utf8
-utf8_icelandic_ci utf8
-utf8_latvian_ci utf8
-utf8_romanian_ci utf8
-utf8_slovenian_ci utf8
-utf8_polish_ci utf8
-utf8_estonian_ci utf8
-utf8_spanish_ci utf8
-utf8_swedish_ci utf8
-utf8_turkish_ci utf8
-utf8_czech_ci utf8
-utf8_danish_ci utf8
-utf8_lithuanian_ci utf8
-utf8_slovak_ci utf8
-utf8_spanish2_ci utf8
-utf8_roman_ci utf8
-utf8_persian_ci utf8
-utf8_esperanto_ci utf8
-utf8_hungarian_ci utf8
-ucs2_general_ci ucs2
-ucs2_bin ucs2
-ucs2_unicode_ci ucs2
-ucs2_icelandic_ci ucs2
-ucs2_latvian_ci ucs2
-ucs2_romanian_ci ucs2
-ucs2_slovenian_ci ucs2
-ucs2_polish_ci ucs2
-ucs2_estonian_ci ucs2
-ucs2_spanish_ci ucs2
-ucs2_swedish_ci ucs2
-ucs2_turkish_ci ucs2
-ucs2_czech_ci ucs2
-ucs2_danish_ci ucs2
-ucs2_lithuanian_ci ucs2
-ucs2_slovak_ci ucs2
-ucs2_spanish2_ci ucs2
-ucs2_roman_ci ucs2
-ucs2_persian_ci ucs2
-ucs2_esperanto_ci ucs2
-ucs2_hungarian_ci ucs2
-cp866_general_ci cp866
-cp866_bin cp866
-keybcs2_general_ci keybcs2
-keybcs2_bin keybcs2
-macce_general_ci macce
-macce_bin macce
-macroman_general_ci macroman
-macroman_bin macroman
-cp852_general_ci cp852
-cp852_bin cp852
-latin7_estonian_cs latin7
-latin7_general_ci latin7
-latin7_general_cs latin7
-latin7_bin latin7
-cp1251_bulgarian_ci cp1251
-cp1251_ukrainian_ci cp1251
-cp1251_bin cp1251
-cp1251_general_ci cp1251
-cp1251_general_cs cp1251
-cp1256_general_ci cp1256
-cp1256_bin cp1256
-cp1257_lithuanian_ci cp1257
-cp1257_bin cp1257
-cp1257_general_ci cp1257
-binary binary
-geostd8_general_ci geostd8
-geostd8_bin geostd8
-cp932_japanese_ci cp932
-cp932_bin cp932
-eucjpms_japanese_ci eucjpms
-eucjpms_bin eucjpms
-select * from schemata;
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL information_schema utf8 utf8_general_ci NULL
-NULL test latin1 latin1_swedish_ci NULL
-select table_name from tables;
-table_name
-CHARACTER_SETS
-COLLATIONS
-COLLATION_CHARACTER_SET_APPLICABILITY
-COLUMNS
-COLUMN_PRIVILEGES
-ENGINES
-EVENTS
-FILES
-GLOBAL_STATUS
-GLOBAL_VARIABLES
-KEY_COLUMN_USAGE
-PARTITIONS
-PLUGINS
-PROCESSLIST
-REFERENTIAL_CONSTRAINTS
-ROUTINES
-SCHEMATA
-SCHEMA_PRIVILEGES
-SESSION_STATUS
-SESSION_VARIABLES
-STATISTICS
-TABLES
-TABLE_CONSTRAINTS
-TABLE_PRIVILEGES
-TRIGGERS
-USER_PRIVILEGES
-VIEWS
-t1
-t10
-t11
-t2
-t3
-t4
-t7
-t8
-t9
-tb1
-tb2
-tb3
-tb4
-select table_name, column_name, column_type from columns;
-table_name column_name column_type
-CHARACTER_SETS CHARACTER_SET_NAME varchar(64)
-CHARACTER_SETS DEFAULT_COLLATE_NAME varchar(64)
-CHARACTER_SETS DESCRIPTION varchar(60)
-CHARACTER_SETS MAXLEN bigint(3)
-COLLATIONS COLLATION_NAME varchar(64)
-COLLATIONS CHARACTER_SET_NAME varchar(64)
-COLLATIONS ID bigint(11)
-COLLATIONS IS_DEFAULT varchar(3)
-COLLATIONS IS_COMPILED varchar(3)
-COLLATIONS SORTLEN bigint(3)
-COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME varchar(64)
-COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME varchar(64)
-COLUMNS TABLE_CATALOG varchar(4096)
-COLUMNS TABLE_SCHEMA varchar(64)
-COLUMNS TABLE_NAME varchar(64)
-COLUMNS COLUMN_NAME varchar(64)
-COLUMNS ORDINAL_POSITION bigint(21) unsigned
-COLUMNS COLUMN_DEFAULT longtext
-COLUMNS IS_NULLABLE varchar(3)
-COLUMNS DATA_TYPE varchar(64)
-COLUMNS CHARACTER_MAXIMUM_LENGTH bigint(21) unsigned
-COLUMNS CHARACTER_OCTET_LENGTH bigint(21) unsigned
-COLUMNS NUMERIC_PRECISION bigint(21) unsigned
-COLUMNS NUMERIC_SCALE bigint(21) unsigned
-COLUMNS CHARACTER_SET_NAME varchar(64)
-COLUMNS COLLATION_NAME varchar(64)
-COLUMNS COLUMN_TYPE longtext
-COLUMNS COLUMN_KEY varchar(3)
-COLUMNS EXTRA varchar(20)
-COLUMNS PRIVILEGES varchar(80)
-COLUMNS COLUMN_COMMENT varchar(255)
-COLUMN_PRIVILEGES GRANTEE varchar(81)
-COLUMN_PRIVILEGES TABLE_CATALOG varchar(4096)
-COLUMN_PRIVILEGES TABLE_SCHEMA varchar(64)
-COLUMN_PRIVILEGES TABLE_NAME varchar(64)
-COLUMN_PRIVILEGES COLUMN_NAME varchar(64)
-COLUMN_PRIVILEGES PRIVILEGE_TYPE varchar(64)
-COLUMN_PRIVILEGES IS_GRANTABLE varchar(3)
-ENGINES ENGINE varchar(64)
-ENGINES SUPPORT varchar(8)
-ENGINES COMMENT varchar(80)
-ENGINES TRANSACTIONS varchar(3)
-ENGINES XA varchar(3)
-ENGINES SAVEPOINTS varchar(3)
-EVENTS EVENT_CATALOG varchar(64)
-EVENTS EVENT_SCHEMA varchar(64)
-EVENTS EVENT_NAME varchar(64)
-EVENTS DEFINER varchar(77)
-EVENTS TIME_ZONE varchar(64)
-EVENTS EVENT_BODY varchar(8)
-EVENTS EVENT_DEFINITION longtext
-EVENTS EVENT_TYPE varchar(9)
-EVENTS EXECUTE_AT datetime
-EVENTS INTERVAL_VALUE varchar(256)
-EVENTS INTERVAL_FIELD varchar(18)
-EVENTS SQL_MODE longtext
-EVENTS STARTS datetime
-EVENTS ENDS datetime
-EVENTS STATUS varchar(18)
-EVENTS ON_COMPLETION varchar(12)
-EVENTS CREATED datetime
-EVENTS LAST_ALTERED datetime
-EVENTS LAST_EXECUTED datetime
-EVENTS EVENT_COMMENT varchar(64)
-EVENTS ORIGINATOR bigint(10)
-FILES FILE_ID bigint(4)
-FILES FILE_NAME varchar(64)
-FILES FILE_TYPE varchar(20)
-FILES TABLESPACE_NAME varchar(64)
-FILES TABLE_CATALOG varchar(64)
-FILES TABLE_SCHEMA varchar(64)
-FILES TABLE_NAME varchar(64)
-FILES LOGFILE_GROUP_NAME varchar(64)
-FILES LOGFILE_GROUP_NUMBER bigint(4)
-FILES ENGINE varchar(64)
-FILES FULLTEXT_KEYS varchar(64)
-FILES DELETED_ROWS bigint(4)
-FILES UPDATE_COUNT bigint(4)
-FILES FREE_EXTENTS bigint(4)
-FILES TOTAL_EXTENTS bigint(4)
-FILES EXTENT_SIZE bigint(4)
-FILES INITIAL_SIZE bigint(21) unsigned
-FILES MAXIMUM_SIZE bigint(21) unsigned
-FILES AUTOEXTEND_SIZE bigint(21) unsigned
-FILES CREATION_TIME datetime
-FILES LAST_UPDATE_TIME datetime
-FILES LAST_ACCESS_TIME datetime
-FILES RECOVER_TIME bigint(4)
-FILES TRANSACTION_COUNTER bigint(4)
-FILES VERSION bigint(21) unsigned
-FILES ROW_FORMAT varchar(10)
-FILES TABLE_ROWS bigint(21) unsigned
-FILES AVG_ROW_LENGTH bigint(21) unsigned
-FILES DATA_LENGTH bigint(21) unsigned
-FILES MAX_DATA_LENGTH bigint(21) unsigned
-FILES INDEX_LENGTH bigint(21) unsigned
-FILES DATA_FREE bigint(21) unsigned
-FILES CREATE_TIME datetime
-FILES UPDATE_TIME datetime
-FILES CHECK_TIME datetime
-FILES CHECKSUM bigint(21) unsigned
-FILES STATUS varchar(20)
-FILES EXTRA varchar(255)
-GLOBAL_STATUS VARIABLE_NAME varchar(64)
-GLOBAL_STATUS VARIABLE_VALUE decimal(22,7)
-GLOBAL_VARIABLES VARIABLE_NAME varchar(64)
-GLOBAL_VARIABLES VARIABLE_VALUE longtext
-KEY_COLUMN_USAGE CONSTRAINT_CATALOG varchar(4096)
-KEY_COLUMN_USAGE CONSTRAINT_SCHEMA varchar(64)
-KEY_COLUMN_USAGE CONSTRAINT_NAME varchar(64)
-KEY_COLUMN_USAGE TABLE_CATALOG varchar(4096)
-KEY_COLUMN_USAGE TABLE_SCHEMA varchar(64)
-KEY_COLUMN_USAGE TABLE_NAME varchar(64)
-KEY_COLUMN_USAGE COLUMN_NAME varchar(64)
-KEY_COLUMN_USAGE ORDINAL_POSITION bigint(10)
-KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT bigint(10)
-KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA varchar(64)
-KEY_COLUMN_USAGE REFERENCED_TABLE_NAME varchar(64)
-KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME varchar(64)
-PARTITIONS TABLE_CATALOG varchar(4096)
-PARTITIONS TABLE_SCHEMA varchar(64)
-PARTITIONS TABLE_NAME varchar(64)
-PARTITIONS PARTITION_NAME varchar(64)
-PARTITIONS SUBPARTITION_NAME varchar(64)
-PARTITIONS PARTITION_ORDINAL_POSITION bigint(21) unsigned
-PARTITIONS SUBPARTITION_ORDINAL_POSITION bigint(21) unsigned
-PARTITIONS PARTITION_METHOD varchar(12)
-PARTITIONS SUBPARTITION_METHOD varchar(12)
-PARTITIONS PARTITION_EXPRESSION longtext
-PARTITIONS SUBPARTITION_EXPRESSION longtext
-PARTITIONS PARTITION_DESCRIPTION longtext
-PARTITIONS TABLE_ROWS bigint(21) unsigned
-PARTITIONS AVG_ROW_LENGTH bigint(21) unsigned
-PARTITIONS DATA_LENGTH bigint(21) unsigned
-PARTITIONS MAX_DATA_LENGTH bigint(21) unsigned
-PARTITIONS INDEX_LENGTH bigint(21) unsigned
-PARTITIONS DATA_FREE bigint(21) unsigned
-PARTITIONS CREATE_TIME datetime
-PARTITIONS UPDATE_TIME datetime
-PARTITIONS CHECK_TIME datetime
-PARTITIONS CHECKSUM bigint(21) unsigned
-PARTITIONS PARTITION_COMMENT varchar(80)
-PARTITIONS NODEGROUP varchar(12)
-PARTITIONS TABLESPACE_NAME varchar(64)
-PLUGINS PLUGIN_NAME varchar(64)
-PLUGINS PLUGIN_VERSION varchar(20)
-PLUGINS PLUGIN_STATUS varchar(10)
-PLUGINS PLUGIN_TYPE varchar(80)
-PLUGINS PLUGIN_TYPE_VERSION varchar(20)
-PLUGINS PLUGIN_LIBRARY varchar(64)
-PLUGINS PLUGIN_LIBRARY_VERSION varchar(20)
-PLUGINS PLUGIN_AUTHOR varchar(64)
-PLUGINS PLUGIN_DESCRIPTION longtext
-PLUGINS PLUGIN_LICENSE varchar(80)
-PROCESSLIST ID bigint(4)
-PROCESSLIST USER varchar(16)
-PROCESSLIST HOST varchar(64)
-PROCESSLIST DB varchar(64)
-PROCESSLIST COMMAND varchar(16)
-PROCESSLIST TIME bigint(7)
-PROCESSLIST STATE varchar(64)
-PROCESSLIST INFO longtext
-REFERENTIAL_CONSTRAINTS CONSTRAINT_CATALOG varchar(4096)
-REFERENTIAL_CONSTRAINTS CONSTRAINT_SCHEMA varchar(64)
-REFERENTIAL_CONSTRAINTS CONSTRAINT_NAME varchar(64)
-REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_CATALOG varchar(4096)
-REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_SCHEMA varchar(64)
-REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_NAME varchar(64)
-REFERENTIAL_CONSTRAINTS MATCH_OPTION varchar(64)
-REFERENTIAL_CONSTRAINTS UPDATE_RULE varchar(64)
-REFERENTIAL_CONSTRAINTS DELETE_RULE varchar(64)
-REFERENTIAL_CONSTRAINTS TABLE_NAME varchar(64)
-REFERENTIAL_CONSTRAINTS REFERENCED_TABLE_NAME varchar(64)
-ROUTINES SPECIFIC_NAME varchar(64)
-ROUTINES ROUTINE_CATALOG varchar(4096)
-ROUTINES ROUTINE_SCHEMA varchar(64)
-ROUTINES ROUTINE_NAME varchar(64)
-ROUTINES ROUTINE_TYPE varchar(9)
-ROUTINES DTD_IDENTIFIER varchar(64)
-ROUTINES ROUTINE_BODY varchar(8)
-ROUTINES ROUTINE_DEFINITION longtext
-ROUTINES EXTERNAL_NAME varchar(64)
-ROUTINES EXTERNAL_LANGUAGE varchar(64)
-ROUTINES PARAMETER_STYLE varchar(8)
-ROUTINES IS_DETERMINISTIC varchar(3)
-ROUTINES SQL_DATA_ACCESS varchar(64)
-ROUTINES SQL_PATH varchar(64)
-ROUTINES SECURITY_TYPE varchar(7)
-ROUTINES CREATED datetime
-ROUTINES LAST_ALTERED datetime
-ROUTINES SQL_MODE longtext
-ROUTINES ROUTINE_COMMENT varchar(64)
-ROUTINES DEFINER varchar(77)
-SCHEMATA CATALOG_NAME varchar(4096)
-SCHEMATA SCHEMA_NAME varchar(64)
-SCHEMATA DEFAULT_CHARACTER_SET_NAME varchar(64)
-SCHEMATA DEFAULT_COLLATION_NAME varchar(64)
-SCHEMATA SQL_PATH varchar(4096)
-SCHEMA_PRIVILEGES GRANTEE varchar(81)
-SCHEMA_PRIVILEGES TABLE_CATALOG varchar(4096)
-SCHEMA_PRIVILEGES TABLE_SCHEMA varchar(64)
-SCHEMA_PRIVILEGES PRIVILEGE_TYPE varchar(64)
-SCHEMA_PRIVILEGES IS_GRANTABLE varchar(3)
-SESSION_STATUS VARIABLE_NAME varchar(64)
-SESSION_STATUS VARIABLE_VALUE decimal(22,7)
-SESSION_VARIABLES VARIABLE_NAME varchar(64)
-SESSION_VARIABLES VARIABLE_VALUE longtext
-STATISTICS TABLE_CATALOG varchar(4096)
-STATISTICS TABLE_SCHEMA varchar(64)
-STATISTICS TABLE_NAME varchar(64)
-STATISTICS NON_UNIQUE bigint(1)
-STATISTICS INDEX_SCHEMA varchar(64)
-STATISTICS INDEX_NAME varchar(64)
-STATISTICS SEQ_IN_INDEX bigint(2)
-STATISTICS COLUMN_NAME varchar(64)
-STATISTICS COLLATION varchar(1)
-STATISTICS CARDINALITY bigint(21)
-STATISTICS SUB_PART bigint(3)
-STATISTICS PACKED varchar(10)
-STATISTICS NULLABLE varchar(3)
-STATISTICS INDEX_TYPE varchar(16)
-STATISTICS COMMENT varchar(16)
-TABLES TABLE_CATALOG varchar(4096)
-TABLES TABLE_SCHEMA varchar(64)
-TABLES TABLE_NAME varchar(64)
-TABLES TABLE_TYPE varchar(64)
-TABLES ENGINE varchar(64)
-TABLES VERSION bigint(21) unsigned
-TABLES ROW_FORMAT varchar(10)
-TABLES TABLE_ROWS bigint(21) unsigned
-TABLES AVG_ROW_LENGTH bigint(21) unsigned
-TABLES DATA_LENGTH bigint(21) unsigned
-TABLES MAX_DATA_LENGTH bigint(21) unsigned
-TABLES INDEX_LENGTH bigint(21) unsigned
-TABLES DATA_FREE bigint(21) unsigned
-TABLES AUTO_INCREMENT bigint(21) unsigned
-TABLES CREATE_TIME datetime
-TABLES UPDATE_TIME datetime
-TABLES CHECK_TIME datetime
-TABLES TABLE_COLLATION varchar(64)
-TABLES CHECKSUM bigint(21) unsigned
-TABLES CREATE_OPTIONS varchar(255)
-TABLES TABLE_COMMENT varchar(80)
-TABLE_CONSTRAINTS CONSTRAINT_CATALOG varchar(4096)
-TABLE_CONSTRAINTS CONSTRAINT_SCHEMA varchar(64)
-TABLE_CONSTRAINTS CONSTRAINT_NAME varchar(64)
-TABLE_CONSTRAINTS TABLE_SCHEMA varchar(64)
-TABLE_CONSTRAINTS TABLE_NAME varchar(64)
-TABLE_CONSTRAINTS CONSTRAINT_TYPE varchar(64)
-TABLE_PRIVILEGES GRANTEE varchar(81)
-TABLE_PRIVILEGES TABLE_CATALOG varchar(4096)
-TABLE_PRIVILEGES TABLE_SCHEMA varchar(64)
-TABLE_PRIVILEGES TABLE_NAME varchar(64)
-TABLE_PRIVILEGES PRIVILEGE_TYPE varchar(64)
-TABLE_PRIVILEGES IS_GRANTABLE varchar(3)
-TRIGGERS TRIGGER_CATALOG varchar(4096)
-TRIGGERS TRIGGER_SCHEMA varchar(64)
-TRIGGERS TRIGGER_NAME varchar(64)
-TRIGGERS EVENT_MANIPULATION varchar(6)
-TRIGGERS EVENT_OBJECT_CATALOG varchar(4096)
-TRIGGERS EVENT_OBJECT_SCHEMA varchar(64)
-TRIGGERS EVENT_OBJECT_TABLE varchar(64)
-TRIGGERS ACTION_ORDER bigint(4)
-TRIGGERS ACTION_CONDITION longtext
-TRIGGERS ACTION_STATEMENT longtext
-TRIGGERS ACTION_ORIENTATION varchar(9)
-TRIGGERS ACTION_TIMING varchar(6)
-TRIGGERS ACTION_REFERENCE_OLD_TABLE varchar(64)
-TRIGGERS ACTION_REFERENCE_NEW_TABLE varchar(64)
-TRIGGERS ACTION_REFERENCE_OLD_ROW varchar(3)
-TRIGGERS ACTION_REFERENCE_NEW_ROW varchar(3)
-TRIGGERS CREATED datetime
-TRIGGERS SQL_MODE longtext
-TRIGGERS DEFINER longtext
-USER_PRIVILEGES GRANTEE varchar(81)
-USER_PRIVILEGES TABLE_CATALOG varchar(4096)
-USER_PRIVILEGES PRIVILEGE_TYPE varchar(64)
-USER_PRIVILEGES IS_GRANTABLE varchar(3)
-VIEWS TABLE_CATALOG varchar(4096)
-VIEWS TABLE_SCHEMA varchar(64)
-VIEWS TABLE_NAME varchar(64)
-VIEWS VIEW_DEFINITION longtext
-VIEWS CHECK_OPTION varchar(8)
-VIEWS IS_UPDATABLE varchar(3)
-VIEWS DEFINER varchar(77)
-VIEWS SECURITY_TYPE varchar(7)
-t1 f1 char(20)
-t1 f2 char(25)
-t1 f3 date
-t1 f4 int(11)
-t1 f5 char(25)
-t1 f6 int(11)
-t10 f1 char(20)
-t10 f2 char(25)
-t10 f3 date
-t10 f4 int(11)
-t10 f5 char(25)
-t10 f6 int(11)
-t11 f1 char(20)
-t11 f2 char(25)
-t11 f3 date
-t11 f4 int(11)
-t11 f5 char(25)
-t11 f6 int(11)
-t2 f1 char(20)
-t2 f2 char(25)
-t2 f3 date
-t2 f4 int(11)
-t2 f5 char(25)
-t2 f6 int(11)
-t3 f1 char(20)
-t3 f2 char(20)
-t3 f3 int(11)
-t4 f1 char(20)
-t4 f2 char(25)
-t4 f3 date
-t4 f4 int(11)
-t4 f5 char(25)
-t4 f6 int(11)
-t7 f1 char(20)
-t7 f2 char(25)
-t7 f3 date
-t7 f4 int(11)
-t8 f1 char(20)
-t8 f2 char(25)
-t8 f3 date
-t8 f4 int(11)
-t9 f1 int(11)
-t9 f2 char(25)
-t9 f3 int(11)
-tb1 f1 char(1)
-tb1 f2 char(1)
-tb1 f3 char(1)
-tb1 f12 binary(1)
-tb1 f13 tinyint(4)
-tb1 f14 tinyint(3) unsigned
-tb1 f15 tinyint(3) unsigned zerofill
-tb1 f16 tinyint(3) unsigned zerofill
-tb1 f17 smallint(6)
-tb1 f18 smallint(5) unsigned
-tb1 f19 smallint(5) unsigned zerofill
-tb1 f20 smallint(5) unsigned zerofill
-tb1 f21 mediumint(9)
-tb1 f22 mediumint(8) unsigned
-tb1 f23 mediumint(8) unsigned zerofill
-tb1 f24 mediumint(8) unsigned zerofill
-tb1 f25 int(11)
-tb1 f26 int(10) unsigned
-tb1 f27 int(10) unsigned zerofill
-tb1 f28 int(10) unsigned zerofill
-tb1 f29 bigint(20)
-tb1 f30 bigint(20) unsigned
-tb1 f31 bigint(20) unsigned zerofill
-tb1 f32 bigint(20) unsigned zerofill
-tb1 f33 decimal(10,0)
-tb1 f34 decimal(10,0) unsigned
-tb1 f35 decimal(10,0) unsigned zerofill
-tb1 f36 decimal(10,0) unsigned zerofill
-tb1 f37 decimal(10,0)
-tb1 f38 decimal(64,0)
-tb1 f39 decimal(10,0) unsigned
-tb1 f40 decimal(64,0) unsigned
-tb1 f41 decimal(10,0) unsigned zerofill
-tb1 f42 decimal(64,0) unsigned zerofill
-tb1 f43 decimal(10,0) unsigned zerofill
-tb1 f44 decimal(64,0) unsigned zerofill
-tb1 f45 decimal(10,0)
-tb1 f46 decimal(63,30)
-tb1 f47 decimal(10,0) unsigned
-tb1 f48 decimal(63,30) unsigned
-tb1 f49 decimal(10,0) unsigned zerofill
-tb1 f50 decimal(63,30) unsigned zerofill
-tb1 f51 decimal(10,0) unsigned zerofill
-tb1 f52 decimal(63,30) unsigned zerofill
-tb1 f53 decimal(10,0)
-tb1 f54 decimal(10,0) unsigned
-tb1 f55 decimal(10,0) unsigned zerofill
-tb1 f56 decimal(10,0) unsigned zerofill
-tb1 f57 decimal(10,0)
-tb1 f58 decimal(64,0)
-tb2 f59 decimal(10,0) unsigned
-tb2 f60 decimal(64,0) unsigned
-tb2 f61 decimal(10,0) unsigned zerofill
-tb2 f62 decimal(64,0) unsigned zerofill
-tb2 f63 decimal(10,0) unsigned zerofill
-tb2 f64 decimal(64,0) unsigned zerofill
-tb2 f65 decimal(10,0)
-tb2 f66 decimal(63,30)
-tb2 f67 decimal(10,0) unsigned
-tb2 f68 decimal(63,30) unsigned
-tb2 f69 decimal(10,0) unsigned zerofill
-tb2 f70 decimal(63,30) unsigned zerofill
-tb2 f71 decimal(10,0) unsigned zerofill
-tb2 f72 decimal(63,30) unsigned zerofill
-tb2 f73 double
-tb2 f74 double unsigned
-tb2 f75 double unsigned zerofill
-tb2 f76 double unsigned zerofill
-tb2 f77 double
-tb2 f78 double unsigned
-tb2 f79 double unsigned zerofill
-tb2 f80 double unsigned zerofill
-tb2 f81 float
-tb2 f82 float unsigned
-tb2 f83 float unsigned zerofill
-tb2 f84 float unsigned zerofill
-tb2 f85 float
-tb2 f86 float
-tb2 f87 float unsigned
-tb2 f88 float unsigned
-tb2 f89 float unsigned zerofill
-tb2 f90 float unsigned zerofill
-tb2 f91 float unsigned zerofill
-tb2 f92 float unsigned zerofill
-tb2 f93 float
-tb2 f94 double
-tb2 f95 float unsigned
-tb2 f96 double unsigned
-tb2 f97 float unsigned zerofill
-tb2 f98 double unsigned zerofill
-tb2 f99 float unsigned zerofill
-tb2 f100 double unsigned zerofill
-tb2 f101 date
-tb2 f102 time
-tb2 f103 datetime
-tb2 f104 timestamp
-tb2 f105 year(4)
-tb2 f106 year(4)
-tb2 f107 year(4)
-tb2 f108 enum('1enum','2enum')
-tb2 f109 set('1set','2set')
-tb3 f118 char(1)
-tb3 f119 char(1)
-tb3 f120 char(1)
-tb3 f121 char(50)
-tb3 f122 char(50)
-tb3 f129 binary(1)
-tb3 f130 tinyint(4)
-tb3 f131 tinyint(3) unsigned
-tb3 f132 tinyint(3) unsigned zerofill
-tb3 f133 tinyint(3) unsigned zerofill
-tb3 f134 smallint(6)
-tb3 f135 smallint(5) unsigned
-tb3 f136 smallint(5) unsigned zerofill
-tb3 f137 smallint(5) unsigned zerofill
-tb3 f138 mediumint(9)
-tb3 f139 mediumint(8) unsigned
-tb3 f140 mediumint(8) unsigned zerofill
-tb3 f141 mediumint(8) unsigned zerofill
-tb3 f142 int(11)
-tb3 f143 int(10) unsigned
-tb3 f144 int(10) unsigned zerofill
-tb3 f145 int(10) unsigned zerofill
-tb3 f146 bigint(20)
-tb3 f147 bigint(20) unsigned
-tb3 f148 bigint(20) unsigned zerofill
-tb3 f149 bigint(20) unsigned zerofill
-tb3 f150 decimal(10,0)
-tb3 f151 decimal(10,0) unsigned
-tb3 f152 decimal(10,0) unsigned zerofill
-tb3 f153 decimal(10,0) unsigned zerofill
-tb3 f154 decimal(10,0)
-tb3 f155 decimal(64,0)
-tb3 f156 decimal(10,0) unsigned
-tb3 f157 decimal(64,0) unsigned
-tb3 f158 decimal(10,0) unsigned zerofill
-tb3 f159 decimal(64,0) unsigned zerofill
-tb3 f160 decimal(10,0) unsigned zerofill
-tb3 f161 decimal(64,0) unsigned zerofill
-tb3 f162 decimal(10,0)
-tb3 f163 decimal(63,30)
-tb3 f164 decimal(10,0) unsigned
-tb3 f165 decimal(63,30) unsigned
-tb3 f166 decimal(10,0) unsigned zerofill
-tb3 f167 decimal(63,30) unsigned zerofill
-tb3 f168 decimal(10,0) unsigned zerofill
-tb3 f169 decimal(63,30) unsigned zerofill
-tb3 f170 decimal(10,0)
-tb3 f171 decimal(10,0) unsigned
-tb3 f172 decimal(10,0) unsigned zerofill
-tb3 f173 decimal(10,0) unsigned zerofill
-tb3 f174 decimal(10,0)
-tb3 f175 decimal(64,0)
-tb4 f176 decimal(10,0) unsigned
-tb4 f177 decimal(64,0) unsigned
-tb4 f178 decimal(10,0) unsigned zerofill
-tb4 f179 decimal(64,0) unsigned zerofill
-tb4 f180 decimal(10,0) unsigned zerofill
-tb4 f181 decimal(64,0) unsigned zerofill
-tb4 f182 decimal(10,0)
-tb4 f183 decimal(63,30)
-tb4 f184 decimal(10,0) unsigned
-tb4 f185 decimal(63,30) unsigned
-tb4 f186 decimal(10,0) unsigned zerofill
-tb4 f187 decimal(63,30) unsigned zerofill
-tb4 f188 decimal(10,0) unsigned zerofill
-tb4 f189 decimal(63,30) unsigned zerofill
-tb4 f190 double
-tb4 f191 double unsigned
-tb4 f192 double unsigned zerofill
-tb4 f193 double unsigned zerofill
-tb4 f194 double
-tb4 f195 double unsigned
-tb4 f196 double unsigned zerofill
-tb4 f197 double unsigned zerofill
-tb4 f198 float
-tb4 f199 float unsigned
-tb4 f200 float unsigned zerofill
-tb4 f201 float unsigned zerofill
-tb4 f202 float
-tb4 f203 float
-tb4 f204 float unsigned
-tb4 f205 float unsigned
-tb4 f206 float unsigned zerofill
-tb4 f207 float unsigned zerofill
-tb4 f208 float unsigned zerofill
-tb4 f209 float unsigned zerofill
-tb4 f210 float
-tb4 f211 double
-tb4 f212 float unsigned
-tb4 f213 double unsigned
-tb4 f214 float unsigned zerofill
-tb4 f215 double unsigned zerofill
-tb4 f216 float unsigned zerofill
-tb4 f217 double unsigned zerofill
-tb4 f218 date
-tb4 f219 time
-tb4 f220 datetime
-tb4 f221 timestamp
-tb4 f222 year(4)
-tb4 f223 year(4)
-tb4 f224 year(4)
-tb4 f225 enum('1enum','2enum')
-tb4 f226 set('1set','2set')
-tb4 f236 char(95)
-tb4 f241 char(255)
-tb4 f237 char(130)
-tb4 f238 varchar(25000)
-tb4 f239 varbinary(0)
-tb4 f240 varchar(1200)
-select character_set_name from character_sets;
-character_set_name
-big5
-dec8
-cp850
-hp8
-koi8r
-latin1
-latin2
-swe7
-ascii
-ujis
-sjis
-hebrew
-tis620
-euckr
-koi8u
-gb2312
-greek
-cp1250
-gbk
-latin5
-armscii8
-utf8
-ucs2
-cp866
-keybcs2
-macce
-macroman
-cp852
-latin7
-cp1251
-cp1256
-cp1257
-binary
-geostd8
-cp932
-eucjpms
-select collation_name from collations;
-collation_name
-big5_chinese_ci
-big5_bin
-dec8_swedish_ci
-dec8_bin
-cp850_general_ci
-cp850_bin
-hp8_english_ci
-hp8_bin
-koi8r_general_ci
-koi8r_bin
-latin1_german1_ci
-latin1_swedish_ci
-latin1_danish_ci
-latin1_german2_ci
-latin1_bin
-latin1_general_ci
-latin1_general_cs
-latin1_spanish_ci
-latin2_czech_cs
-latin2_general_ci
-latin2_hungarian_ci
-latin2_croatian_ci
-latin2_bin
-swe7_swedish_ci
-swe7_bin
-ascii_general_ci
-ascii_bin
-ujis_japanese_ci
-ujis_bin
-sjis_japanese_ci
-sjis_bin
-hebrew_general_ci
-hebrew_bin
-tis620_thai_ci
-tis620_bin
-euckr_korean_ci
-euckr_bin
-koi8u_general_ci
-koi8u_bin
-gb2312_chinese_ci
-gb2312_bin
-greek_general_ci
-greek_bin
-cp1250_general_ci
-cp1250_czech_cs
-cp1250_croatian_ci
-cp1250_bin
-cp1250_polish_ci
-gbk_chinese_ci
-gbk_bin
-latin5_turkish_ci
-latin5_bin
-armscii8_general_ci
-armscii8_bin
-utf8_general_ci
-utf8_bin
-utf8_unicode_ci
-utf8_icelandic_ci
-utf8_latvian_ci
-utf8_romanian_ci
-utf8_slovenian_ci
-utf8_polish_ci
-utf8_estonian_ci
-utf8_spanish_ci
-utf8_swedish_ci
-utf8_turkish_ci
-utf8_czech_ci
-utf8_danish_ci
-utf8_lithuanian_ci
-utf8_slovak_ci
-utf8_spanish2_ci
-utf8_roman_ci
-utf8_persian_ci
-utf8_esperanto_ci
-utf8_hungarian_ci
-ucs2_general_ci
-ucs2_bin
-ucs2_unicode_ci
-ucs2_icelandic_ci
-ucs2_latvian_ci
-ucs2_romanian_ci
-ucs2_slovenian_ci
-ucs2_polish_ci
-ucs2_estonian_ci
-ucs2_spanish_ci
-ucs2_swedish_ci
-ucs2_turkish_ci
-ucs2_czech_ci
-ucs2_danish_ci
-ucs2_lithuanian_ci
-ucs2_slovak_ci
-ucs2_spanish2_ci
-ucs2_roman_ci
-ucs2_persian_ci
-ucs2_esperanto_ci
-ucs2_hungarian_ci
-cp866_general_ci
-cp866_bin
-keybcs2_general_ci
-keybcs2_bin
-macce_general_ci
-macce_bin
-macroman_general_ci
-macroman_bin
-cp852_general_ci
-cp852_bin
-latin7_estonian_cs
-latin7_general_ci
-latin7_general_cs
-latin7_bin
-cp1251_bulgarian_ci
-cp1251_ukrainian_ci
-cp1251_bin
-cp1251_general_ci
-cp1251_general_cs
-cp1256_general_ci
-cp1256_bin
-cp1257_lithuanian_ci
-cp1257_bin
-cp1257_general_ci
-binary
-geostd8_general_ci
-geostd8_bin
-cp932_japanese_ci
-cp932_bin
-eucjpms_japanese_ci
-eucjpms_bin
-select routine_name, routine_type from routines;
-routine_name routine_type
-select table_name, index_name from statistics;
-table_name index_name
-select table_name from views;
-table_name
-select privilege_type from user_privileges;
-privilege_type
-USAGE
-select grantee, privilege_type from schema_privileges;
-grantee privilege_type
-select * from table_privileges;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select column_name, privilege_type from column_privileges;
-column_name privilege_type
-select table_name,constraint_type from table_constraints;
-table_name constraint_type
-select table_schema, table_name, column_name from key_column_usage;
-table_schema table_name column_name
-
-root@localhost db_datadict
-DROP USER 'u_6_401017'@'localhost';
-
-Testcase 3.2.1.18:
---------------------------------------------------------------------------------
-CREATE USER 'u_6_401018'@'localhost';
-GRANT CREATE VIEW ON information_schema.* TO 'u_6_401018'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-GRANT ALL ON db_datadict.* TO 'u_6_401018'@'localhost';
-SHOW GRANTS FOR 'u_6_401018'@'localhost';
-Grants for u_6_401018@localhost
-GRANT USAGE ON *.* TO 'u_6_401018'@'localhost'
-GRANT ALL PRIVILEGES ON `db_datadict`.* TO 'u_6_401018'@'localhost'
-FLUSH PRIVILEGES;
-DROP DATABASE IF EXISTS db_datadict;
-CREATE DATABASE db_datadict;
-connect(localhost,u_6_401018,,test,MYSQL_PORT,MYSQL_SOCK);
-USE db_datadict;
-create view db_datadict.v_401018 as
-select * from information_schema.schemata;
-SELECT * FROM v_401018 ORDER BY 2 DESC;
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL test latin1 latin1_swedish_ci NULL
-NULL information_schema utf8 utf8_general_ci NULL
-NULL db_datadict latin1 latin1_swedish_ci NULL
-
-root@localhost NULL
-DROP USER 'u_6_401018'@'localhost';
-DROP DATABASE db_datadict;
-
-Testcase 3.2.1.19:
---------------------------------------------------------------------------------
-CREATE USER 'u_6_401019'@'localhost';
-grant alter on information_schema.* to 'u_6_401019'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-grant alter routine on information_schema.* to 'u_6_401019'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-grant create on information_schema.* to 'u_6_401019'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-grant create routine on information_schema.* to 'u_6_401019'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-grant create temporary tables
-on information_schema.* to 'u_6_401019'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-grant delete on information_schema.* to 'u_6_401019'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-grant drop on information_schema.* to 'u_6_401019'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-grant execute on information_schema.* to 'u_6_401019'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-grant index on information_schema.* to 'u_6_401019'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-grant insert on information_schema.* to 'u_6_401019'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-grant lock tables on information_schema.* to 'u_6_401019'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-grant update on information_schema.* to 'u_6_401019'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-SELECT * FROM information_schema.table_privileges
-WHERE table_schema = "information_schema";
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-SELECT * FROM information_schema.column_privileges
-WHERE table_schema = "information_schema";
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-DROP USER 'u_6_401019'@'localhost';
-
-Testcase 3.2.1.20:
---------------------------------------------------------------------------------
-CREATE USER 'u_6_401020'@'localhost';
-connect(localhost,u_6_401020,,test,MYSQL_PORT,MYSQL_SOCK);
-USE information_schema;
-SELECT * FROM schemata;
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL information_schema utf8 utf8_general_ci NULL
-NULL test latin1 latin1_swedish_ci NULL
-CREATE TABLE tb_not_allowed ( col TEXT );
-ERROR 42S02: Unknown table 'tb_not_allowed' in information_schema
-create view res_v1 as select * from information_schema.schemata;
-ERROR 42S02: Unknown table 'res_v1' in information_schema
-alter table schemata modify catalog_name varchar(255);
-ERROR 42000: Access denied for user 'u_6_401020'@'localhost' to database 'information_schema'
-update schemata set catalog_name = 'abc'
- where schema_name = 'information_schema';
-ERROR 42000: Access denied for user 'u_6_401020'@'localhost' to database 'information_schema'
-CREATE PROCEDURE sp_3_2_1_20()
-BEGIN
-INSERT INTO information_schema.schema_privileges (table_schema,privilege_type)
-VALUES('db2','insert');
-END//
-ERROR 42000: Unknown database 'information_schema'
-DELETE FROM schemata WHERE schema_name = 'information_schema';
-ERROR 42000: Access denied for user 'u_6_401020'@'localhost' to database 'information_schema'
-
-root@localhost NULL
-DROP USER 'u_6_401020'@'localhost';
-
-Testcase 3.2.2.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC character_sets;
-Field Type Null Key Default Extra
-CHARACTER_SET_NAME varchar(64) NO
-DEFAULT_COLLATE_NAME varchar(64) NO
-DESCRIPTION varchar(60) NO
-MAXLEN bigint(3) NO 0
-SHOW CREATE TABLE character_sets;
-Table Create Table
-CHARACTER_SETS CREATE TEMPORARY TABLE `CHARACTER_SETS` (
- `CHARACTER_SET_NAME` varchar(64) NOT NULL DEFAULT '',
- `DEFAULT_COLLATE_NAME` varchar(64) NOT NULL DEFAULT '',
- `DESCRIPTION` varchar(60) NOT NULL DEFAULT '',
- `MAXLEN` bigint(3) NOT NULL DEFAULT '0'
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'character_sets'
-ORDER BY ordinal_position;
-COUNT(*)
-4
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'character_sets'
-ORDER BY ordinal_position;
-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
-NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema CHARACTER_SETS DESCRIPTION 3 NO varchar 60 180 NULL NULL utf8 utf8_general_ci varchar(60) select
-NULL information_schema CHARACTER_SETS MAXLEN 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select
-
-Testcase 3.2.2.2:
---------------------------------------------------------------------------------
-
-root@localhost information_schema
-SELECT * FROM information_schema.character_sets;
-CHARACTER_SET_NAME DEFAULT_COLLATE_NAME DESCRIPTION MAXLEN
-big5 big5_chinese_ci Big5 Traditional Chinese 2
-dec8 dec8_swedish_ci DEC West European 1
-cp850 cp850_general_ci DOS West European 1
-hp8 hp8_english_ci HP West European 1
-koi8r koi8r_general_ci KOI8-R Relcom Russian 1
-latin1 latin1_swedish_ci cp1252 West European 1
-latin2 latin2_general_ci ISO 8859-2 Central European 1
-swe7 swe7_swedish_ci 7bit Swedish 1
-ascii ascii_general_ci US ASCII 1
-ujis ujis_japanese_ci EUC-JP Japanese 3
-sjis sjis_japanese_ci Shift-JIS Japanese 2
-hebrew hebrew_general_ci ISO 8859-8 Hebrew 1
-tis620 tis620_thai_ci TIS620 Thai 1
-euckr euckr_korean_ci EUC-KR Korean 2
-koi8u koi8u_general_ci KOI8-U Ukrainian 1
-gb2312 gb2312_chinese_ci GB2312 Simplified Chinese 2
-greek greek_general_ci ISO 8859-7 Greek 1
-cp1250 cp1250_general_ci Windows Central European 1
-gbk gbk_chinese_ci GBK Simplified Chinese 2
-latin5 latin5_turkish_ci ISO 8859-9 Turkish 1
-armscii8 armscii8_general_ci ARMSCII-8 Armenian 1
-utf8 utf8_general_ci UTF-8 Unicode 3
-ucs2 ucs2_general_ci UCS-2 Unicode 2
-cp866 cp866_general_ci DOS Russian 1
-keybcs2 keybcs2_general_ci DOS Kamenicky Czech-Slovak 1
-macce macce_general_ci Mac Central European 1
-macroman macroman_general_ci Mac West European 1
-cp852 cp852_general_ci DOS Central European 1
-latin7 latin7_general_ci ISO 8859-13 Baltic 1
-cp1251 cp1251_general_ci Windows Cyrillic 1
-cp1256 cp1256_general_ci Windows Arabic 1
-cp1257 cp1257_general_ci Windows Baltic 1
-binary binary Binary pseudo charset 1
-geostd8 geostd8_general_ci GEOSTD8 Georgian 1
-cp932 cp932_japanese_ci SJIS for Windows Japanese 2
-eucjpms eucjpms_japanese_ci UJIS for Windows Japanese 3
-
-Testcase 3.2.2.3:
---------------------------------------------------------------------------------
-
-Testcase 3.2.3.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC collations;
-Field Type Null Key Default Extra
-COLLATION_NAME varchar(64) NO
-CHARACTER_SET_NAME varchar(64) NO
-ID bigint(11) NO 0
-IS_DEFAULT varchar(3) NO
-IS_COMPILED varchar(3) NO
-SORTLEN bigint(3) NO 0
-SHOW CREATE TABLE collations;
-Table Create Table
-COLLATIONS CREATE TEMPORARY TABLE `COLLATIONS` (
- `COLLATION_NAME` varchar(64) NOT NULL DEFAULT '',
- `CHARACTER_SET_NAME` varchar(64) NOT NULL DEFAULT '',
- `ID` bigint(11) NOT NULL DEFAULT '0',
- `IS_DEFAULT` varchar(3) NOT NULL DEFAULT '',
- `IS_COMPILED` varchar(3) NOT NULL DEFAULT '',
- `SORTLEN` bigint(3) NOT NULL DEFAULT '0'
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'collations'
-ORDER BY ordinal_position;
-COUNT(*)
-6
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'collations'
-ORDER BY ordinal_position;
-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
-NULL information_schema COLLATIONS COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATIONS CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATIONS ID 3 0 NO bigint NULL NULL 19 0 NULL NULL bigint(11) select
-NULL information_schema COLLATIONS IS_DEFAULT 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLLATIONS IS_COMPILED 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLLATIONS SORTLEN 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select
-
-Testcase 3.2.3.2:
---------------------------------------------------------------------------------
-SELECT * FROM collations;
-COLLATION_NAME CHARACTER_SET_NAME ID IS_DEFAULT IS_COMPILED SORTLEN
-big5_chinese_ci big5 1 Yes Yes 1
-big5_bin big5 84 Yes 1
-dec8_swedish_ci dec8 3 Yes 0
-dec8_bin dec8 69 0
-cp850_general_ci cp850 4 Yes 0
-cp850_bin cp850 80 0
-hp8_english_ci hp8 6 Yes 0
-hp8_bin hp8 72 0
-koi8r_general_ci koi8r 7 Yes 0
-koi8r_bin koi8r 74 0
-latin1_german1_ci latin1 5 Yes 1
-latin1_swedish_ci latin1 8 Yes Yes 1
-latin1_danish_ci latin1 15 Yes 1
-latin1_german2_ci latin1 31 Yes 2
-latin1_bin latin1 47 Yes 1
-latin1_general_ci latin1 48 Yes 1
-latin1_general_cs latin1 49 Yes 1
-latin1_spanish_ci latin1 94 Yes 1
-latin2_czech_cs latin2 2 Yes 4
-latin2_general_ci latin2 9 Yes Yes 1
-latin2_hungarian_ci latin2 21 Yes 1
-latin2_croatian_ci latin2 27 Yes 1
-latin2_bin latin2 77 Yes 1
-swe7_swedish_ci swe7 10 Yes 0
-swe7_bin swe7 82 0
-ascii_general_ci ascii 11 Yes 0
-ascii_bin ascii 65 0
-ujis_japanese_ci ujis 12 Yes Yes 1
-ujis_bin ujis 91 Yes 1
-sjis_japanese_ci sjis 13 Yes Yes 1
-sjis_bin sjis 88 Yes 1
-hebrew_general_ci hebrew 16 Yes 0
-hebrew_bin hebrew 71 0
-tis620_thai_ci tis620 18 Yes Yes 4
-tis620_bin tis620 89 Yes 1
-euckr_korean_ci euckr 19 Yes Yes 1
-euckr_bin euckr 85 Yes 1
-koi8u_general_ci koi8u 22 Yes 0
-koi8u_bin koi8u 75 0
-gb2312_chinese_ci gb2312 24 Yes Yes 1
-gb2312_bin gb2312 86 Yes 1
-greek_general_ci greek 25 Yes 0
-greek_bin greek 70 0
-cp1250_general_ci cp1250 26 Yes Yes 1
-cp1250_czech_cs cp1250 34 Yes 2
-cp1250_croatian_ci cp1250 44 Yes 1
-cp1250_bin cp1250 66 Yes 1
-cp1250_polish_ci cp1250 99 Yes 1
-gbk_chinese_ci gbk 28 Yes Yes 1
-gbk_bin gbk 87 Yes 1
-latin5_turkish_ci latin5 30 Yes 0
-latin5_bin latin5 78 0
-armscii8_general_ci armscii8 32 Yes 0
-armscii8_bin armscii8 64 0
-utf8_general_ci utf8 33 Yes Yes 1
-utf8_bin utf8 83 Yes 1
-utf8_unicode_ci utf8 192 Yes 8
-utf8_icelandic_ci utf8 193 Yes 8
-utf8_latvian_ci utf8 194 Yes 8
-utf8_romanian_ci utf8 195 Yes 8
-utf8_slovenian_ci utf8 196 Yes 8
-utf8_polish_ci utf8 197 Yes 8
-utf8_estonian_ci utf8 198 Yes 8
-utf8_spanish_ci utf8 199 Yes 8
-utf8_swedish_ci utf8 200 Yes 8
-utf8_turkish_ci utf8 201 Yes 8
-utf8_czech_ci utf8 202 Yes 8
-utf8_danish_ci utf8 203 Yes 8
-utf8_lithuanian_ci utf8 204 Yes 8
-utf8_slovak_ci utf8 205 Yes 8
-utf8_spanish2_ci utf8 206 Yes 8
-utf8_roman_ci utf8 207 Yes 8
-utf8_persian_ci utf8 208 Yes 8
-utf8_esperanto_ci utf8 209 Yes 8
-utf8_hungarian_ci utf8 210 Yes 8
-ucs2_general_ci ucs2 35 Yes Yes 1
-ucs2_bin ucs2 90 Yes 1
-ucs2_unicode_ci ucs2 128 Yes 8
-ucs2_icelandic_ci ucs2 129 Yes 8
-ucs2_latvian_ci ucs2 130 Yes 8
-ucs2_romanian_ci ucs2 131 Yes 8
-ucs2_slovenian_ci ucs2 132 Yes 8
-ucs2_polish_ci ucs2 133 Yes 8
-ucs2_estonian_ci ucs2 134 Yes 8
-ucs2_spanish_ci ucs2 135 Yes 8
-ucs2_swedish_ci ucs2 136 Yes 8
-ucs2_turkish_ci ucs2 137 Yes 8
-ucs2_czech_ci ucs2 138 Yes 8
-ucs2_danish_ci ucs2 139 Yes 8
-ucs2_lithuanian_ci ucs2 140 Yes 8
-ucs2_slovak_ci ucs2 141 Yes 8
-ucs2_spanish2_ci ucs2 142 Yes 8
-ucs2_roman_ci ucs2 143 Yes 8
-ucs2_persian_ci ucs2 144 Yes 8
-ucs2_esperanto_ci ucs2 145 Yes 8
-ucs2_hungarian_ci ucs2 146 Yes 8
-cp866_general_ci cp866 36 Yes 0
-cp866_bin cp866 68 0
-keybcs2_general_ci keybcs2 37 Yes 0
-keybcs2_bin keybcs2 73 0
-macce_general_ci macce 38 Yes 0
-macce_bin macce 43 0
-macroman_general_ci macroman 39 Yes 0
-macroman_bin macroman 53 0
-cp852_general_ci cp852 40 Yes 0
-cp852_bin cp852 81 0
-latin7_estonian_cs latin7 20 0
-latin7_general_ci latin7 41 Yes 0
-latin7_general_cs latin7 42 0
-latin7_bin latin7 79 0
-cp1251_bulgarian_ci cp1251 14 0
-cp1251_ukrainian_ci cp1251 23 0
-cp1251_bin cp1251 50 0
-cp1251_general_ci cp1251 51 Yes 0
-cp1251_general_cs cp1251 52 0
-cp1256_general_ci cp1256 57 Yes 0
-cp1256_bin cp1256 67 0
-cp1257_lithuanian_ci cp1257 29 0
-cp1257_bin cp1257 58 0
-cp1257_general_ci cp1257 59 Yes 0
-binary binary 63 Yes Yes 1
-geostd8_general_ci geostd8 92 Yes 0
-geostd8_bin geostd8 93 0
-cp932_japanese_ci cp932 95 Yes Yes 1
-cp932_bin cp932 96 Yes 1
-eucjpms_japanese_ci eucjpms 97 Yes Yes 1
-eucjpms_bin eucjpms 98 Yes 1
-
-Testcase 3.2.3.3:
---------------------------------------------------------------------------------
-
-Testcase 3.2.4.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC collation_character_set_applicability;
-Field Type Null Key Default Extra
-COLLATION_NAME varchar(64) NO
-CHARACTER_SET_NAME varchar(64) NO
-SHOW CREATE TABLE collation_character_set_applicability;
-Table Create Table
-COLLATION_CHARACTER_SET_APPLICABILITY CREATE TEMPORARY TABLE `COLLATION_CHARACTER_SET_APPLICABILITY` (
- `COLLATION_NAME` varchar(64) NOT NULL DEFAULT '',
- `CHARACTER_SET_NAME` varchar(64) NOT NULL DEFAULT ''
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'collation_character_set_applicability'
-ORDER BY ordinal_position;
-COUNT(*)
-2
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'collation_character_set_applicability'
-ORDER BY ordinal_position;
-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
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-
-Testcase 3.2.4.2:
---------------------------------------------------------------------------------
-SELECT * FROM collation_character_set_applicability;
-COLLATION_NAME CHARACTER_SET_NAME
-big5_chinese_ci big5
-big5_bin big5
-dec8_swedish_ci dec8
-dec8_bin dec8
-cp850_general_ci cp850
-cp850_bin cp850
-hp8_english_ci hp8
-hp8_bin hp8
-koi8r_general_ci koi8r
-koi8r_bin koi8r
-latin1_german1_ci latin1
-latin1_swedish_ci latin1
-latin1_danish_ci latin1
-latin1_german2_ci latin1
-latin1_bin latin1
-latin1_general_ci latin1
-latin1_general_cs latin1
-latin1_spanish_ci latin1
-latin2_czech_cs latin2
-latin2_general_ci latin2
-latin2_hungarian_ci latin2
-latin2_croatian_ci latin2
-latin2_bin latin2
-swe7_swedish_ci swe7
-swe7_bin swe7
-ascii_general_ci ascii
-ascii_bin ascii
-ujis_japanese_ci ujis
-ujis_bin ujis
-sjis_japanese_ci sjis
-sjis_bin sjis
-hebrew_general_ci hebrew
-hebrew_bin hebrew
-filename filename
-tis620_thai_ci tis620
-tis620_bin tis620
-euckr_korean_ci euckr
-euckr_bin euckr
-koi8u_general_ci koi8u
-koi8u_bin koi8u
-gb2312_chinese_ci gb2312
-gb2312_bin gb2312
-greek_general_ci greek
-greek_bin greek
-cp1250_general_ci cp1250
-cp1250_czech_cs cp1250
-cp1250_croatian_ci cp1250
-cp1250_bin cp1250
-cp1250_polish_ci cp1250
-gbk_chinese_ci gbk
-gbk_bin gbk
-latin5_turkish_ci latin5
-latin5_bin latin5
-armscii8_general_ci armscii8
-armscii8_bin armscii8
-utf8_general_ci utf8
-utf8_bin utf8
-utf8_unicode_ci utf8
-utf8_icelandic_ci utf8
-utf8_latvian_ci utf8
-utf8_romanian_ci utf8
-utf8_slovenian_ci utf8
-utf8_polish_ci utf8
-utf8_estonian_ci utf8
-utf8_spanish_ci utf8
-utf8_swedish_ci utf8
-utf8_turkish_ci utf8
-utf8_czech_ci utf8
-utf8_danish_ci utf8
-utf8_lithuanian_ci utf8
-utf8_slovak_ci utf8
-utf8_spanish2_ci utf8
-utf8_roman_ci utf8
-utf8_persian_ci utf8
-utf8_esperanto_ci utf8
-utf8_hungarian_ci utf8
-ucs2_general_ci ucs2
-ucs2_bin ucs2
-ucs2_unicode_ci ucs2
-ucs2_icelandic_ci ucs2
-ucs2_latvian_ci ucs2
-ucs2_romanian_ci ucs2
-ucs2_slovenian_ci ucs2
-ucs2_polish_ci ucs2
-ucs2_estonian_ci ucs2
-ucs2_spanish_ci ucs2
-ucs2_swedish_ci ucs2
-ucs2_turkish_ci ucs2
-ucs2_czech_ci ucs2
-ucs2_danish_ci ucs2
-ucs2_lithuanian_ci ucs2
-ucs2_slovak_ci ucs2
-ucs2_spanish2_ci ucs2
-ucs2_roman_ci ucs2
-ucs2_persian_ci ucs2
-ucs2_esperanto_ci ucs2
-ucs2_hungarian_ci ucs2
-cp866_general_ci cp866
-cp866_bin cp866
-keybcs2_general_ci keybcs2
-keybcs2_bin keybcs2
-macce_general_ci macce
-macce_bin macce
-macroman_general_ci macroman
-macroman_bin macroman
-cp852_general_ci cp852
-cp852_bin cp852
-latin7_estonian_cs latin7
-latin7_general_ci latin7
-latin7_general_cs latin7
-latin7_bin latin7
-cp1251_bulgarian_ci cp1251
-cp1251_ukrainian_ci cp1251
-cp1251_bin cp1251
-cp1251_general_ci cp1251
-cp1251_general_cs cp1251
-cp1256_general_ci cp1256
-cp1256_bin cp1256
-cp1257_lithuanian_ci cp1257
-cp1257_bin cp1257
-cp1257_general_ci cp1257
-binary binary
-geostd8_general_ci geostd8
-geostd8_bin geostd8
-cp932_japanese_ci cp932
-cp932_bin cp932
-eucjpms_japanese_ci eucjpms
-eucjpms_bin eucjpms
-
-Testcase 3.2.4.3:
---------------------------------------------------------------------------------
-
-Testcase 3.2.5.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC column_privileges;
-Field Type Null Key Default Extra
-GRANTEE varchar(81) NO
-TABLE_CATALOG varchar(4096) YES NULL
-TABLE_SCHEMA varchar(64) NO
-TABLE_NAME varchar(64) NO
-COLUMN_NAME varchar(64) NO
-PRIVILEGE_TYPE varchar(64) NO
-IS_GRANTABLE varchar(3) NO
-SHOW CREATE TABLE column_privileges;
-Table Create Table
-COLUMN_PRIVILEGES CREATE TEMPORARY TABLE `COLUMN_PRIVILEGES` (
- `GRANTEE` varchar(81) NOT NULL DEFAULT '',
- `TABLE_CATALOG` varchar(4096) DEFAULT NULL,
- `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `TABLE_NAME` varchar(64) NOT NULL DEFAULT '',
- `COLUMN_NAME` varchar(64) NOT NULL DEFAULT '',
- `PRIVILEGE_TYPE` varchar(64) NOT NULL DEFAULT '',
- `IS_GRANTABLE` varchar(3) NOT NULL DEFAULT ''
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'column_privileges'
-ORDER BY ordinal_position;
-COUNT(*)
-7
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'column_privileges'
-ORDER BY ordinal_position;
-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
-NULL information_schema COLUMN_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES COLUMN_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES PRIVILEGE_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES IS_GRANTABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-
-Testcase 3.2.5.2 + 3.2.5.3 + 3.2.5.4:
---------------------------------------------------------------------------------
-CREATE USER 'user_1'@'localhost';
-CREATE USER 'user_2'@'localhost';
-CREATE USER 'user_3'@'localhost';
-DROP DATABASE IF EXISTS db_datadict;
-CREATE DATABASE db_datadict;
-USE db_datadict;
-CREATE TABLE db_datadict.res_t40502 (f1 INT, f2 DECIMAL, f3 TEXT);
-GRANT SELECT(f1, f3) ON db_datadict.res_t40502 TO 'user_1'@'localhost';
-GRANT INSERT(f1) ON db_datadict.res_t40502 TO 'user_1'@'localhost';
-GRANT UPDATE(f2) ON db_datadict.res_t40502 TO 'user_1'@'localhost';
-GRANT SELECT(f2) ON db_datadict.res_t40502 TO 'user_2'@'localhost';
-GRANT INSERT, SELECT ON db_datadict.res_t40502 TO 'user_3'@'localhost';
-GRANT SELECT(f3) ON db_datadict.res_t40502 TO 'user_3'@'localhost';
-GRANT INSERT, SELECT ON db_datadict.res_t40502 TO 'user_3'@'localhost' WITH GRANT OPTION;
-GRANT ALL ON db_datadict.* TO 'user_3'@'localhost';
-SELECT * FROM information_schema.column_privileges
-WHERE grantee LIKE "'user%"
- ORDER BY grantee, table_name, column_name, privilege_type;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL db_datadict res_t40502 f1 INSERT NO
-'user_1'@'localhost' NULL db_datadict res_t40502 f1 SELECT NO
-'user_1'@'localhost' NULL db_datadict res_t40502 f2 UPDATE NO
-'user_1'@'localhost' NULL db_datadict res_t40502 f3 SELECT NO
-'user_2'@'localhost' NULL db_datadict res_t40502 f2 SELECT NO
-'user_3'@'localhost' NULL db_datadict res_t40502 f3 SELECT YES
-
-FIXME: Check it is correct that the following GRANT changes ALL privs that user_1 has
--------------------------------------------------------------------------------------
-GRANT UPDATE(f3) ON db_datadict.res_t40502 TO 'user_1'@'localhost' WITH GRANT OPTION;
-SELECT * FROM information_schema.column_privileges
-WHERE grantee LIKE "'user%"
- ORDER BY grantee, table_name, column_name, privilege_type;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL db_datadict res_t40502 f1 INSERT YES
-'user_1'@'localhost' NULL db_datadict res_t40502 f1 SELECT YES
-'user_1'@'localhost' NULL db_datadict res_t40502 f2 UPDATE YES
-'user_1'@'localhost' NULL db_datadict res_t40502 f3 SELECT YES
-'user_1'@'localhost' NULL db_datadict res_t40502 f3 UPDATE YES
-'user_2'@'localhost' NULL db_datadict res_t40502 f2 SELECT NO
-'user_3'@'localhost' NULL db_datadict res_t40502 f3 SELECT YES
-FLUSH PRIVILEGES;
-connect(localhost,user_1,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.column_privileges
-WHERE grantee LIKE "'user%"
- ORDER BY grantee, table_name, column_name, privilege_type;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL db_datadict res_t40502 f1 INSERT YES
-'user_1'@'localhost' NULL db_datadict res_t40502 f1 SELECT YES
-'user_1'@'localhost' NULL db_datadict res_t40502 f2 UPDATE YES
-'user_1'@'localhost' NULL db_datadict res_t40502 f3 SELECT YES
-'user_1'@'localhost' NULL db_datadict res_t40502 f3 UPDATE YES
-connect(localhost,user_2,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.column_privileges
-WHERE grantee LIKE "'user%"
- ORDER BY grantee, table_name, column_name, privilege_type;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-'user_2'@'localhost' NULL db_datadict res_t40502 f2 SELECT NO
-connect(localhost,user_3,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-
-FIXME: check it is correct that granted TABLES doesn_t occur in COLUMN_PRIVILEGES
----------------------------------------------------------------------------------
-SELECT * FROM information_schema.table_privileges WHERE grantee LIKE "'user%";
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-'user_3'@'localhost' NULL db_datadict res_t40502 SELECT YES
-'user_3'@'localhost' NULL db_datadict res_t40502 INSERT YES
-SELECT * FROM information_schema.schema_privileges WHERE grantee LIKE "'user%";
-GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
-'user_3'@'localhost' NULL db_datadict SELECT NO
-'user_3'@'localhost' NULL db_datadict INSERT NO
-'user_3'@'localhost' NULL db_datadict UPDATE NO
-'user_3'@'localhost' NULL db_datadict DELETE NO
-'user_3'@'localhost' NULL db_datadict CREATE NO
-'user_3'@'localhost' NULL db_datadict DROP NO
-'user_3'@'localhost' NULL db_datadict REFERENCES NO
-'user_3'@'localhost' NULL db_datadict INDEX NO
-'user_3'@'localhost' NULL db_datadict ALTER NO
-'user_3'@'localhost' NULL db_datadict CREATE TEMPORARY TABLES NO
-'user_3'@'localhost' NULL db_datadict LOCK TABLES NO
-'user_3'@'localhost' NULL db_datadict EXECUTE NO
-'user_3'@'localhost' NULL db_datadict CREATE VIEW NO
-'user_3'@'localhost' NULL db_datadict SHOW VIEW NO
-'user_3'@'localhost' NULL db_datadict CREATE ROUTINE NO
-'user_3'@'localhost' NULL db_datadict ALTER ROUTINE NO
-'user_3'@'localhost' NULL db_datadict EVENT NO
-'user_3'@'localhost' NULL db_datadict TRIGGER NO
-SELECT * FROM information_schema.column_privileges
-WHERE grantee LIKE "'user%"
- ORDER BY grantee, table_name, column_name, privilege_type;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-'user_3'@'localhost' NULL db_datadict res_t40502 f3 SELECT YES
-GRANT SELECT(f1, f3) ON db_datadict.res_t40502 TO 'user_2'@'localhost';
-
-FIXME: check whether it is intended that *my* grants to others are *NOT* shown here
------------------------------------------------------------------------------------
-SELECT * FROM information_schema.column_privileges
-WHERE grantee LIKE "'user%"
- ORDER BY grantee, table_name, column_name, privilege_type;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-'user_3'@'localhost' NULL db_datadict res_t40502 f3 SELECT YES
-
-user_2@localhost db_datadict
-SELECT * FROM information_schema.column_privileges
-WHERE grantee LIKE "'user%"
- ORDER BY grantee, table_name, column_name, privilege_type;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-'user_2'@'localhost' NULL db_datadict res_t40502 f1 SELECT NO
-'user_2'@'localhost' NULL db_datadict res_t40502 f2 SELECT NO
-'user_2'@'localhost' NULL db_datadict res_t40502 f3 SELECT NO
-
-root@localhost db_datadict
-DROP TABLE IF EXISTS db_datadict.res_t40502;
-DROP DATABASE IF EXISTS db_datadict;
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP USER 'user_3'@'localhost';
-
-Testcase 3.2.6.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC columns;
-Field Type Null Key Default Extra
-TABLE_CATALOG varchar(4096) YES NULL
-TABLE_SCHEMA varchar(64) NO
-TABLE_NAME varchar(64) NO
-COLUMN_NAME varchar(64) NO
-ORDINAL_POSITION bigint(21) unsigned NO 0
-COLUMN_DEFAULT longtext YES NULL
-IS_NULLABLE varchar(3) NO
-DATA_TYPE varchar(64) NO
-CHARACTER_MAXIMUM_LENGTH bigint(21) unsigned YES NULL
-CHARACTER_OCTET_LENGTH bigint(21) unsigned YES NULL
-NUMERIC_PRECISION bigint(21) unsigned YES NULL
-NUMERIC_SCALE bigint(21) unsigned YES NULL
-CHARACTER_SET_NAME varchar(64) YES NULL
-COLLATION_NAME varchar(64) YES NULL
-COLUMN_TYPE longtext NO
-COLUMN_KEY varchar(3) NO
-EXTRA varchar(20) NO
-PRIVILEGES varchar(80) NO
-COLUMN_COMMENT varchar(255) NO
-SHOW CREATE TABLE columns;
-Table Create Table
-COLUMNS CREATE TEMPORARY TABLE `COLUMNS` (
- `TABLE_CATALOG` varchar(4096) DEFAULT NULL,
- `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `TABLE_NAME` varchar(64) NOT NULL DEFAULT '',
- `COLUMN_NAME` varchar(64) NOT NULL DEFAULT '',
- `ORDINAL_POSITION` bigint(21) unsigned NOT NULL DEFAULT '0',
- `COLUMN_DEFAULT` longtext,
- `IS_NULLABLE` varchar(3) NOT NULL DEFAULT '',
- `DATA_TYPE` varchar(64) NOT NULL DEFAULT '',
- `CHARACTER_MAXIMUM_LENGTH` bigint(21) unsigned DEFAULT NULL,
- `CHARACTER_OCTET_LENGTH` bigint(21) unsigned DEFAULT NULL,
- `NUMERIC_PRECISION` bigint(21) unsigned DEFAULT NULL,
- `NUMERIC_SCALE` bigint(21) unsigned DEFAULT NULL,
- `CHARACTER_SET_NAME` varchar(64) DEFAULT NULL,
- `COLLATION_NAME` varchar(64) DEFAULT NULL,
- `COLUMN_TYPE` longtext NOT NULL,
- `COLUMN_KEY` varchar(3) NOT NULL DEFAULT '',
- `EXTRA` varchar(20) NOT NULL DEFAULT '',
- `PRIVILEGES` varchar(80) NOT NULL DEFAULT '',
- `COLUMN_COMMENT` varchar(255) NOT NULL DEFAULT ''
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'columns'
-ORDER BY ordinal_position;
-COUNT(*)
-19
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'columns'
-ORDER BY ordinal_position;
-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
-NULL information_schema COLUMNS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLUMN_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLUMN_TYPE 15 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema COLUMNS COLUMN_KEY 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLUMNS EXTRA 17 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema COLUMNS PRIVILEGES 18 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema COLUMNS COLUMN_COMMENT 19 NO varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
-
-Testcase 3.2.6.2 + 3.2.6.3:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-CREATE DATABASE db_datadict;
-CREATE USER 'user_1'@'localhost';
-CREATE USER 'user_2'@'localhost';
-USE db_datadict;
-create table t_6_406001(f1 char(10), f2 text, f3 date, f4 int);
-grant select(f1, f2) on db_datadict.t_6_406001 to 'user_1'@'localhost';
-create table t_6_406002(f1 char(10), f2 text, f3 date, f4 int);
-GRANT INSERT(f1, f2) ON db_datadict.t_6_406002 TO 'user_2'@'localhost';
-FLUSH PRIVILEGES;
-SELECT * FROM information_schema.columns
-ORDER BY table_schema, table_name, ordinal_position;
-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
-NULL db_datadict t_6_406001 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select,insert,update,references
-NULL db_datadict t_6_406001 f2 2 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references
-NULL db_datadict t_6_406001 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL db_datadict t_6_406001 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL db_datadict t_6_406002 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select,insert,update,references
-NULL db_datadict t_6_406002 f2 2 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references
-NULL db_datadict t_6_406002 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL db_datadict t_6_406002 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema CHARACTER_SETS DESCRIPTION 3 NO varchar 60 180 NULL NULL utf8 utf8_general_ci varchar(60) select
-NULL information_schema CHARACTER_SETS MAXLEN 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema COLLATIONS COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATIONS CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATIONS ID 3 0 NO bigint NULL NULL 19 0 NULL NULL bigint(11) select
-NULL information_schema COLLATIONS IS_DEFAULT 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLLATIONS IS_COMPILED 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLLATIONS SORTLEN 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLUMN_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLUMN_TYPE 15 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema COLUMNS COLUMN_KEY 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLUMNS EXTRA 17 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema COLUMNS PRIVILEGES 18 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema COLUMNS COLUMN_COMMENT 19 NO varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
-NULL information_schema COLUMN_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES COLUMN_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES PRIVILEGE_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES IS_GRANTABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ENGINES ENGINE 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ENGINES SUPPORT 2 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema ENGINES COMMENT 3 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema ENGINES TRANSACTIONS 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ENGINES XA 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ENGINES SAVEPOINTS 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema EVENTS EVENT_CATALOG 1 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS EVENT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS EVENT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS DEFINER 4 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
-NULL information_schema EVENTS TIME_ZONE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS EVENT_BODY 6 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema EVENTS EVENT_DEFINITION 7 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema EVENTS EVENT_TYPE 8 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
-NULL information_schema EVENTS EXECUTE_AT 9 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS INTERVAL_VALUE 10 NULL YES varchar 256 768 NULL NULL utf8 utf8_general_ci varchar(256) select
-NULL information_schema EVENTS INTERVAL_FIELD 11 NULL YES varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select
-NULL information_schema EVENTS SQL_MODE 12 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema EVENTS STARTS 13 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS ENDS 14 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS STATUS 15 NO varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select
-NULL information_schema EVENTS ON_COMPLETION 16 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema EVENTS CREATED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS LAST_ALTERED 18 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS LAST_EXECUTED 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS EVENT_COMMENT 20 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS ORIGINATOR 21 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select
-NULL information_schema FILES FILE_ID 1 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES FILE_NAME 2 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES FILE_TYPE 3 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema FILES TABLESPACE_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES TABLE_CATALOG 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES TABLE_SCHEMA 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES TABLE_NAME 7 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES LOGFILE_GROUP_NAME 8 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES LOGFILE_GROUP_NUMBER 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES ENGINE 10 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES FULLTEXT_KEYS 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES DELETED_ROWS 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES UPDATE_COUNT 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES FREE_EXTENTS 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES TOTAL_EXTENTS 15 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES EXTENT_SIZE 16 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES INITIAL_SIZE 17 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES MAXIMUM_SIZE 18 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES AUTOEXTEND_SIZE 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES CREATION_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES LAST_UPDATE_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES LAST_ACCESS_TIME 22 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES RECOVER_TIME 23 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES TRANSACTION_COUNTER 24 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES VERSION 25 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES ROW_FORMAT 26 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema FILES TABLE_ROWS 27 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES AVG_ROW_LENGTH 28 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES DATA_LENGTH 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES MAX_DATA_LENGTH 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES INDEX_LENGTH 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES DATA_FREE 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES CREATE_TIME 33 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES UPDATE_TIME 34 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES CHECK_TIME 35 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES CHECKSUM 36 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES STATUS 37 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema FILES EXTRA 38 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
-NULL information_schema GLOBAL_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema GLOBAL_STATUS VARIABLE_VALUE 2 0.0000000 NO decimal NULL NULL 22 7 NULL NULL decimal(22,7) select
-NULL information_schema GLOBAL_VARIABLES VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema GLOBAL_VARIABLES VARIABLE_VALUE 2 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE COLUMN_NAME 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE ORDINAL_POSITION 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select
-NULL information_schema KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(10) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_NAME 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME 12 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema PARTITIONS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS PARTITION_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS SUBPARTITION_NAME 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION 7 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS PARTITION_METHOD 8 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema PARTITIONS SUBPARTITION_METHOD 9 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema PARTITIONS PARTITION_EXPRESSION 10 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PARTITIONS SUBPARTITION_EXPRESSION 11 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PARTITIONS PARTITION_DESCRIPTION 12 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PARTITIONS TABLE_ROWS 13 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS AVG_ROW_LENGTH 14 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS DATA_LENGTH 15 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS MAX_DATA_LENGTH 16 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS INDEX_LENGTH 17 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS DATA_FREE 18 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS CREATE_TIME 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema PARTITIONS UPDATE_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema PARTITIONS CHECK_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema PARTITIONS CHECKSUM 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS PARTITION_COMMENT 23 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema PARTITIONS NODEGROUP 24 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema PARTITIONS TABLESPACE_NAME 25 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_VERSION 2 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema PLUGINS PLUGIN_STATUS 3 NO varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema PLUGINS PLUGIN_TYPE 4 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema PLUGINS PLUGIN_TYPE_VERSION 5 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema PLUGINS PLUGIN_LIBRARY 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_LIBRARY_VERSION 7 NULL YES varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema PLUGINS PLUGIN_AUTHOR 8 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_DESCRIPTION 9 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PLUGINS PLUGIN_LICENSE 10 NULL YES varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema PROCESSLIST ID 1 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema PROCESSLIST USER 2 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema PROCESSLIST HOST 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PROCESSLIST DB 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PROCESSLIST COMMAND 5 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema PROCESSLIST TIME 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(7) select
-NULL information_schema PROCESSLIST STATE 7 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PROCESSLIST INFO 8 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS MATCH_OPTION 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UPDATE_RULE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS DELETE_RULE 9 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS TABLE_NAME 10 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS REFERENCED_TABLE_NAME 11 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES SPECIFIC_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema ROUTINES ROUTINE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_TYPE 5 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
-NULL information_schema ROUTINES DTD_IDENTIFIER 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_BODY 7 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema ROUTINES ROUTINE_DEFINITION 8 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema ROUTINES EXTERNAL_NAME 9 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES EXTERNAL_LANGUAGE 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES PARAMETER_STYLE 11 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema ROUTINES IS_DETERMINISTIC 12 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ROUTINES SQL_DATA_ACCESS 13 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES SQL_PATH 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES SECURITY_TYPE 15 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select
-NULL information_schema ROUTINES CREATED 16 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema ROUTINES LAST_ALTERED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema ROUTINES SQL_MODE 18 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema ROUTINES ROUTINE_COMMENT 19 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES DEFINER 20 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
-NULL information_schema SCHEMATA CATALOG_NAME 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema SCHEMATA SCHEMA_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA DEFAULT_COLLATION_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA SQL_PATH 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema SCHEMA_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema SCHEMA_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMA_PRIVILEGES IS_GRANTABLE 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema SESSION_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SESSION_STATUS VARIABLE_VALUE 2 0.0000000 NO decimal NULL NULL 22 7 NULL NULL decimal(22,7) select
-NULL information_schema SESSION_VARIABLES VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SESSION_VARIABLES VARIABLE_VALUE 2 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema STATISTICS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema STATISTICS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS NON_UNIQUE 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(1) select
-NULL information_schema STATISTICS INDEX_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS INDEX_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS SEQ_IN_INDEX 7 0 NO bigint NULL NULL 19 0 NULL NULL bigint(2) select
-NULL information_schema STATISTICS COLUMN_NAME 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS COLLATION 9 NULL YES varchar 1 3 NULL NULL utf8 utf8_general_ci varchar(1) select
-NULL information_schema STATISTICS CARDINALITY 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select
-NULL information_schema STATISTICS SUB_PART 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema STATISTICS PACKED 12 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema STATISTICS NULLABLE 13 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema STATISTICS INDEX_TYPE 14 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema STATISTICS COMMENT 15 NULL YES varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema TABLES TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
-NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS TABLE_SCHEMA 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS TABLE_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema TABLE_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLE_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES PRIVILEGE_TYPE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES IS_GRANTABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema TRIGGERS TRIGGER_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TRIGGERS TRIGGER_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS TRIGGER_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS EVENT_MANIPULATION 4 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select
-NULL information_schema TRIGGERS EVENT_OBJECT_CATALOG 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TRIGGERS EVENT_OBJECT_SCHEMA 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS EVENT_OBJECT_TABLE 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_ORDER 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema TRIGGERS ACTION_CONDITION 9 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS ACTION_STATEMENT 10 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS ACTION_ORIENTATION 11 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
-NULL information_schema TRIGGERS ACTION_TIMING 12 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_TABLE 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_TABLE 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_ROW 15 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_ROW 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema TRIGGERS CREATED 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TRIGGERS SQL_MODE 18 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS DEFINER 19 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema USER_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema USER_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema USER_PRIVILEGES PRIVILEGE_TYPE 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema USER_PRIVILEGES IS_GRANTABLE 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema VIEWS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema VIEWS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema VIEWS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema VIEWS VIEW_DEFINITION 4 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema VIEWS CHECK_OPTION 5 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema VIEWS IS_UPDATABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema VIEWS DEFINER 7 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
-NULL information_schema VIEWS SECURITY_TYPE 8 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select
-NULL mysql columns_priv Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
-NULL mysql columns_priv Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql columns_priv User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
-NULL mysql columns_priv Table_name 4 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql columns_priv Column_name 5 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql columns_priv Timestamp 6 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql columns_priv Column_priv 7 NO set 31 93 NULL NULL utf8 utf8_general_ci set('Select','Insert','Update','References') select,insert,update,references
-NULL mysql db Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
-NULL mysql db Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql db User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
-NULL mysql db Select_priv 4 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Insert_priv 5 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Update_priv 6 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Delete_priv 7 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Create_priv 8 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Drop_priv 9 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Grant_priv 10 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db References_priv 11 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Index_priv 12 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Alter_priv 13 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Create_tmp_table_priv 14 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Lock_tables_priv 15 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Create_view_priv 16 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Show_view_priv 17 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Create_routine_priv 18 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Alter_routine_priv 19 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Execute_priv 20 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Event_priv 21 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Trigger_priv 22 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql event db 1 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql event name 2 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) PRI select,insert,update,references
-NULL mysql event body 3 NULL NO longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references
-NULL mysql event definer 4 NO char 77 231 NULL NULL utf8 utf8_bin char(77) select,insert,update,references
-NULL mysql event execute_at 5 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL mysql event interval_value 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql event interval_field 7 NULL YES enum 18 54 NULL NULL utf8 utf8_general_ci enum('YEAR','QUARTER','MONTH','DAY','HOUR','MINUTE','WEEK','SECOND','MICROSECOND','YEAR_MONTH','DAY_HOUR','DAY_MINUTE','DAY_SECOND','HOUR_MINUTE','HOUR_SECOND','MINUTE_SECOND','DAY_MICROSECOND','HOUR_MICROSECOND','MINUTE_MICROSECOND','SECOND_MICROSECOND') select,insert,update,references
-NULL mysql event created 8 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql event modified 9 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql event last_executed 10 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL mysql event starts 11 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL mysql event ends 12 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL mysql event status 13 ENABLED NO enum 18 54 NULL NULL utf8 utf8_general_ci enum('ENABLED','DISABLED','SLAVESIDE_DISABLED') select,insert,update,references
-NULL mysql event on_completion 14 DROP NO enum 8 24 NULL NULL utf8 utf8_general_ci enum('DROP','PRESERVE') select,insert,update,references
-NULL mysql event sql_mode 15 NO set 431 1293 NULL NULL utf8 utf8_general_ci set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE') select,insert,update,references
-NULL mysql event comment 16 NO char 64 192 NULL NULL utf8 utf8_bin char(64) select,insert,update,references
-NULL mysql event originator 17 NULL NO int NULL NULL 10 0 NULL NULL int(10) select,insert,update,references
-NULL mysql event time_zone 18 SYSTEM NO char 64 64 NULL NULL latin1 latin1_swedish_ci char(64) select,insert,update,references
-NULL mysql func name 1 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql func ret 2 0 NO tinyint NULL NULL 3 0 NULL NULL tinyint(1) select,insert,update,references
-NULL mysql func dl 3 NO char 128 384 NULL NULL utf8 utf8_bin char(128) select,insert,update,references
-NULL mysql func type 4 NULL NO enum 9 27 NULL NULL utf8 utf8_general_ci enum('function','aggregate') select,insert,update,references
-NULL mysql general_log event_time 1 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql general_log user_host 2 NULL YES mediumtext 16777215 16777215 NULL NULL utf8 utf8_general_ci mediumtext select,insert,update,references
-NULL mysql general_log thread_id 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql general_log server_id 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql general_log command_type 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
-NULL mysql general_log argument 6 NULL YES mediumtext 16777215 16777215 NULL NULL utf8 utf8_general_ci mediumtext select,insert,update,references
-NULL mysql help_category help_category_id 1 NULL NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned PRI select,insert,update,references
-NULL mysql help_category name 2 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) UNI select,insert,update,references
-NULL mysql help_category parent_category_id 3 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references
-NULL mysql help_category url 4 NULL NO char 128 384 NULL NULL utf8 utf8_general_ci char(128) select,insert,update,references
-NULL mysql help_keyword help_keyword_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references
-NULL mysql help_keyword name 2 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) UNI select,insert,update,references
-NULL mysql help_relation help_topic_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references
-NULL mysql help_relation help_keyword_id 2 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references
-NULL mysql help_topic help_topic_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references
-NULL mysql help_topic name 2 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) UNI select,insert,update,references
-NULL mysql help_topic help_category_id 3 NULL NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references
-NULL mysql help_topic description 4 NULL NO text 65535 65535 NULL NULL utf8 utf8_general_ci text select,insert,update,references
-NULL mysql help_topic example 5 NULL NO text 65535 65535 NULL NULL utf8 utf8_general_ci text select,insert,update,references
-NULL mysql help_topic url 6 NULL NO char 128 384 NULL NULL utf8 utf8_general_ci char(128) select,insert,update,references
-NULL mysql host Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
-NULL mysql host Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql host Select_priv 3 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Insert_priv 4 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Update_priv 5 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Delete_priv 6 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Create_priv 7 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Drop_priv 8 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Grant_priv 9 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host References_priv 10 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Index_priv 11 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Alter_priv 12 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Create_tmp_table_priv 13 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Lock_tables_priv 14 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Create_view_priv 15 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Show_view_priv 16 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Create_routine_priv 17 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Alter_routine_priv 18 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Execute_priv 19 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Trigger_priv 20 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql ndb_binlog_index Position 1 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL mysql ndb_binlog_index File 2 NULL NO varchar 255 255 NULL NULL latin1 latin1_swedish_ci varchar(255) select,insert,update,references
-NULL mysql ndb_binlog_index epoch 3 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned PRI select,insert,update,references
-NULL mysql ndb_binlog_index inserts 4 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL mysql ndb_binlog_index updates 5 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL mysql ndb_binlog_index deletes 6 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL mysql ndb_binlog_index schemaops 7 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL mysql plugin name 1 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql plugin dl 2 NO char 128 384 NULL NULL utf8 utf8_bin char(128) select,insert,update,references
-NULL mysql proc db 1 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql proc name 2 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) PRI select,insert,update,references
-NULL mysql proc type 3 NULL NO enum 9 27 NULL NULL utf8 utf8_general_ci enum('FUNCTION','PROCEDURE') PRI select,insert,update,references
-NULL mysql proc specific_name 4 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql proc language 5 SQL NO enum 3 9 NULL NULL utf8 utf8_general_ci enum('SQL') select,insert,update,references
-NULL mysql proc sql_data_access 6 CONTAINS_SQL NO enum 17 51 NULL NULL utf8 utf8_general_ci enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA') select,insert,update,references
-NULL mysql proc is_deterministic 7 NO NO enum 3 9 NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references
-NULL mysql proc security_type 8 DEFINER NO enum 7 21 NULL NULL utf8 utf8_general_ci enum('INVOKER','DEFINER') select,insert,update,references
-NULL mysql proc param_list 9 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
-NULL mysql proc returns 10 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql proc body 11 NULL NO longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references
-NULL mysql proc definer 12 NO char 77 231 NULL NULL utf8 utf8_bin char(77) select,insert,update,references
-NULL mysql proc created 13 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql proc modified 14 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql proc sql_mode 15 NO set 431 1293 NULL NULL utf8 utf8_general_ci set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE') select,insert,update,references
-NULL mysql proc comment 16 NO char 64 192 NULL NULL utf8 utf8_bin char(64) select,insert,update,references
-NULL mysql procs_priv Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
-NULL mysql procs_priv Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql procs_priv User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
-NULL mysql procs_priv Routine_name 4 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql procs_priv Routine_type 5 NULL NO enum 9 27 NULL NULL utf8 utf8_bin enum('FUNCTION','PROCEDURE') PRI select,insert,update,references
-NULL mysql procs_priv Grantor 6 NO char 77 231 NULL NULL utf8 utf8_bin char(77) MUL select,insert,update,references
-NULL mysql procs_priv Proc_priv 7 NO set 27 81 NULL NULL utf8 utf8_general_ci set('Execute','Alter Routine','Grant') select,insert,update,references
-NULL mysql procs_priv Timestamp 8 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql servers Server_name 1 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) PRI select,insert,update,references
-NULL mysql servers Host 2 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql servers Db 3 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql servers Username 4 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql servers Password 5 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql servers Port 6 0 NO int NULL NULL 10 0 NULL NULL int(4) select,insert,update,references
-NULL mysql servers Socket 7 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql servers Wrapper 8 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql servers Owner 9 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql slow_log start_time 1 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql slow_log user_host 2 NULL NO mediumtext 16777215 16777215 NULL NULL utf8 utf8_general_ci mediumtext select,insert,update,references
-NULL mysql slow_log query_time 3 NULL NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references
-NULL mysql slow_log lock_time 4 NULL NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references
-NULL mysql slow_log rows_sent 5 NULL NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql slow_log rows_examined 6 NULL NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql slow_log db 7 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select,insert,update,references
-NULL mysql slow_log last_insert_id 8 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql slow_log insert_id 9 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql slow_log server_id 10 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql slow_log sql_text 11 NULL NO mediumtext 16777215 16777215 NULL NULL utf8 utf8_general_ci mediumtext select,insert,update,references
-NULL mysql tables_priv Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
-NULL mysql tables_priv Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql tables_priv User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
-NULL mysql tables_priv Table_name 4 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql tables_priv Grantor 5 NO char 77 231 NULL NULL utf8 utf8_bin char(77) MUL select,insert,update,references
-NULL mysql tables_priv Timestamp 6 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql tables_priv Table_priv 7 NO set 98 294 NULL NULL utf8 utf8_general_ci set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view','Trigger') select,insert,update,references
-NULL mysql tables_priv Column_priv 8 NO set 31 93 NULL NULL utf8 utf8_general_ci set('Select','Insert','Update','References') select,insert,update,references
-NULL mysql time_zone Time_zone_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI auto_increment select,insert,update,references
-NULL mysql time_zone Use_leap_seconds 2 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('Y','N') select,insert,update,references
-NULL mysql time_zone_leap_second Transition_time 1 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) PRI select,insert,update,references
-NULL mysql time_zone_leap_second Correction 2 NULL NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql time_zone_name Name 1 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) PRI select,insert,update,references
-NULL mysql time_zone_name Time_zone_id 2 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references
-NULL mysql time_zone_transition Time_zone_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references
-NULL mysql time_zone_transition Transition_time 2 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) PRI select,insert,update,references
-NULL mysql time_zone_transition Transition_type_id 3 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references
-NULL mysql time_zone_transition_type Time_zone_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references
-NULL 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
-NULL mysql time_zone_transition_type Offset 3 0 NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql time_zone_transition_type Is_DST 4 0 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references
-NULL mysql time_zone_transition_type Abbreviation 5 NO char 8 24 NULL NULL utf8 utf8_general_ci char(8) select,insert,update,references
-NULL mysql user Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
-NULL mysql user User 2 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
-NULL mysql user Password 3 NO char 41 41 NULL NULL latin1 latin1_bin char(41) select,insert,update,references
-NULL mysql user Select_priv 4 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Insert_priv 5 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Update_priv 6 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Delete_priv 7 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Create_priv 8 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Drop_priv 9 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Reload_priv 10 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Shutdown_priv 11 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Process_priv 12 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user File_priv 13 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Grant_priv 14 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user References_priv 15 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Index_priv 16 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Alter_priv 17 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Show_db_priv 18 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Super_priv 19 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Create_tmp_table_priv 20 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Lock_tables_priv 21 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Execute_priv 22 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Repl_slave_priv 23 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Repl_client_priv 24 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Create_view_priv 25 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Show_view_priv 26 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Create_routine_priv 27 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Alter_routine_priv 28 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Create_user_priv 29 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Event_priv 30 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Trigger_priv 31 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user ssl_type 32 NO enum 9 27 NULL NULL utf8 utf8_general_ci enum('','ANY','X509','SPECIFIED') select,insert,update,references
-NULL mysql user ssl_cipher 33 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
-NULL mysql user x509_issuer 34 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
-NULL mysql user x509_subject 35 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
-NULL mysql user max_questions 36 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references
-NULL mysql user max_updates 37 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references
-NULL mysql user max_connections 38 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references
-NULL mysql user max_user_connections 39 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references
-NULL test t1 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t1 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t1 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t1 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t1 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t1 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t10 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t10 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t10 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t10 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t10 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t10 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t11 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t11 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t11 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t11 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t11 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t11 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t2 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t2 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t2 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t2 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t2 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t2 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t3 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t3 f2 2 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t3 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t4 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t4 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t4 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t4 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t4 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t4 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t7 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t7 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t7 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t7 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t8 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t8 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t8 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t8 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t9 f1 1 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t9 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t9 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test tb1 f1 1 NULL YES char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
-NULL test tb1 f2 2 NULL YES char 1 1 NULL NULL latin1 latin1_bin char(1) select,insert,update,references
-NULL test tb1 f3 3 NULL YES char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
-NULL test tb1 f12 4 NULL YES binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references
-NULL test tb1 f13 5 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references
-NULL test tb1 f14 6 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references
-NULL test tb1 f15 7 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb1 f16 8 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb1 f17 9 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references
-NULL test tb1 f18 10 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references
-NULL test tb1 f19 11 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb1 f20 12 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb1 f21 13 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references
-NULL test tb1 f22 14 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references
-NULL test tb1 f23 15 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb1 f24 16 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb1 f25 17 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test tb1 f26 18 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references
-NULL test tb1 f27 19 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb1 f28 20 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb1 f29 21 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references
-NULL test tb1 f30 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL test tb1 f31 23 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb1 f32 24 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb1 f33 25 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f34 26 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f35 27 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f36 28 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f37 29 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f38 30 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb1 f39 31 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f40 32 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb1 f41 33 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f42 34 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f43 35 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f44 36 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f45 37 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f46 38 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb1 f47 39 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f48 40 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb1 f49 41 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f50 42 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb1 f51 43 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f52 44 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb1 f53 45 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f54 46 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f55 47 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f56 48 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f57 49 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f58 50 99 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb2 f59 1 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb2 f60 2 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb2 f61 3 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f62 4 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f63 5 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f64 6 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f65 7 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb2 f66 8 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb2 f67 9 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb2 f68 10 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb2 f69 11 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f70 12 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb2 f71 13 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f72 14 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb2 f73 15 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb2 f74 16 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb2 f75 17 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f76 18 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f77 19 7.7 YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb2 f78 20 7.7 YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb2 f79 21 00000000000000000007.7 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f80 22 00000000000000000008.8 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f81 23 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f82 24 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f83 25 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f84 26 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f85 27 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f86 28 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f87 29 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f88 30 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f89 31 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f90 32 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f91 33 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f92 34 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f93 35 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f94 36 8.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb2 f95 37 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f96 38 8.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb2 f97 39 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f98 40 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f99 41 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f100 42 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f101 43 2000-01-01 NO date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test tb2 f102 44 00:00:20 NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references
-NULL test tb2 f103 45 0002-02-02 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL test tb2 f104 46 2000-12-31 23:59:59 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL test tb2 f105 47 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb2 f106 48 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb2 f107 49 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb2 f108 50 1enum NO enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references
-NULL test tb2 f109 51 1set NO set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references
-NULL test tb3 f118 1 a NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
-NULL test tb3 f119 2  NO char 1 1 NULL NULL latin1 latin1_bin char(1) select,insert,update,references
-NULL test tb3 f120 3  NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
-NULL test tb3 f121 4 NULL YES char 50 50 NULL NULL latin1 latin1_swedish_ci char(50) select,insert,update,references
-NULL test tb3 f122 5 NULL YES char 50 50 NULL NULL latin1 latin1_swedish_ci char(50) select,insert,update,references
-NULL test tb3 f129 6  NO binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references
-NULL test tb3 f130 7 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references
-NULL test tb3 f131 8 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references
-NULL test tb3 f132 9 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb3 f133 10 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb3 f134 11 999 NO smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references
-NULL test tb3 f135 12 999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references
-NULL test tb3 f136 13 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb3 f137 14 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb3 f138 15 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references
-NULL test tb3 f139 16 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references
-NULL test tb3 f140 17 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb3 f141 18 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb3 f142 19 99999 NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test tb3 f143 20 99999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references
-NULL test tb3 f144 21 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb3 f145 22 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb3 f146 23 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references
-NULL test tb3 f147 24 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL test tb3 f148 25 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb3 f149 26 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb3 f150 27 1000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f151 28 999 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f152 29 0000001000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f153 30 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f154 31 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f155 32 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb3 f156 33 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f157 34 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb3 f158 35 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f159 36 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f160 37 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f161 38 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f162 39 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f163 40 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb3 f164 41 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f165 42 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb3 f166 43 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f167 44 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb3 f168 45 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f169 46 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb3 f170 47 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f171 48 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f172 49 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f173 50 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f174 51 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f175 52 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb4 f176 1 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb4 f177 2 9 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb4 f178 3 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f179 4 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f180 5 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f181 6 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f182 7 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb4 f183 8 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb4 f184 9 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb4 f185 10 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb4 f186 11 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f187 12 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb4 f188 13 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f189 14 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb4 f190 15 88.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb4 f191 16 88.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb4 f192 17 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f193 18 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f194 19 55.5 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb4 f195 20 55.5 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb4 f196 21 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f197 22 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f198 23 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f199 24 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f200 25 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f201 26 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f202 27 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f203 28 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f204 29 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f205 30 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f206 31 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f207 32 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f208 33 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f209 34 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f210 35 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f211 36 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb4 f212 37 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f213 38 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb4 f214 39 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f215 40 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f216 41 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f217 42 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f218 43 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test tb4 f219 44 NULL YES time NULL NULL NULL NULL NULL NULL time select,insert,update,references
-NULL test tb4 f220 45 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL test tb4 f221 46 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL test tb4 f222 47 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb4 f223 48 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb4 f224 49 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb4 f225 50 NULL YES enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references
-NULL test tb4 f226 51 NULL YES set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references
-NULL test tb4 f236 52 NULL YES char 95 190 NULL NULL ucs2 ucs2_general_ci char(95) select,insert,update,references
-NULL test tb4 f241 53 NULL YES char 255 510 NULL NULL ucs2 ucs2_general_ci char(255) select,insert,update,references
-NULL test tb4 f237 54 NULL YES char 130 130 NULL NULL latin1 latin1_bin char(130) select,insert,update,references
-NULL test tb4 f238 55 NULL YES varchar 25000 25000 NULL NULL latin1 latin1_bin varchar(25000) select,insert,update,references
-NULL test tb4 f239 56 NULL YES varbinary 0 0 NULL NULL NULL NULL varbinary(0) select,insert,update,references
-NULL test tb4 f240 57 NULL YES varchar 1200 2400 NULL NULL ucs2 ucs2_general_ci varchar(1200) select,insert,update,references
-NULL test1 tb2 f59 1 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test1 tb2 f60 2 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test1 tb2 f61 3 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test1 tb2 f62 4 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test1 tb2 f63 5 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test1 tb2 f64 6 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test1 tb2 f65 7 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test1 tb2 f66 8 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test1 tb2 f67 9 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test1 tb2 f68 10 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test1 tb2 f69 11 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test1 tb2 f70 12 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test1 tb2 f71 13 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test1 tb2 f72 14 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test1 tb2 f73 15 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test1 tb2 f74 16 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test1 tb2 f75 17 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test1 tb2 f76 18 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test1 tb2 f77 19 7.7 YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test1 tb2 f78 20 7.7 YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test1 tb2 f79 21 00000000000000000007.7 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test1 tb2 f80 22 00000000000000000008.8 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test1 tb2 f81 23 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test1 tb2 f82 24 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test1 tb2 f83 25 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test1 tb2 f84 26 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test1 tb2 f85 27 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test1 tb2 f86 28 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test1 tb2 f87 29 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test1 tb2 f88 30 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test1 tb2 f89 31 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test1 tb2 f90 32 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test1 tb2 f91 33 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test1 tb2 f92 34 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test1 tb2 f93 35 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test1 tb2 f94 36 8.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test1 tb2 f95 37 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test1 tb2 f96 38 8.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test1 tb2 f97 39 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test1 tb2 f98 40 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test1 tb2 f99 41 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test1 tb2 f100 42 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test1 tb2 f101 43 2000-01-01 NO date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test1 tb2 f102 44 00:00:20 NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references
-NULL test1 tb2 f103 45 0002-02-02 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL test1 tb2 f104 46 2000-12-31 23:59:59 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL test1 tb2 f105 47 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test1 tb2 f106 48 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test1 tb2 f107 49 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test1 tb2 f108 50 1enum NO enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references
-NULL test1 tb2 f109 51 1set NO set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references
-NULL test4 t6 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test4 t6 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test4 t6 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test4 t6 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test4 t6 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test4 t6 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-connect(localhost,user_1,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.columns
-ORDER BY table_schema, table_name, ordinal_position;
-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
-NULL db_datadict t_6_406001 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select
-NULL db_datadict t_6_406001 f2 2 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select
-NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema CHARACTER_SETS DESCRIPTION 3 NO varchar 60 180 NULL NULL utf8 utf8_general_ci varchar(60) select
-NULL information_schema CHARACTER_SETS MAXLEN 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema COLLATIONS COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATIONS CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATIONS ID 3 0 NO bigint NULL NULL 19 0 NULL NULL bigint(11) select
-NULL information_schema COLLATIONS IS_DEFAULT 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLLATIONS IS_COMPILED 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLLATIONS SORTLEN 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLUMN_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLUMN_TYPE 15 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema COLUMNS COLUMN_KEY 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLUMNS EXTRA 17 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema COLUMNS PRIVILEGES 18 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema COLUMNS COLUMN_COMMENT 19 NO varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
-NULL information_schema COLUMN_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES COLUMN_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES PRIVILEGE_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES IS_GRANTABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ENGINES ENGINE 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ENGINES SUPPORT 2 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema ENGINES COMMENT 3 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema ENGINES TRANSACTIONS 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ENGINES XA 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ENGINES SAVEPOINTS 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema EVENTS EVENT_CATALOG 1 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS EVENT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS EVENT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS DEFINER 4 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
-NULL information_schema EVENTS TIME_ZONE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS EVENT_BODY 6 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema EVENTS EVENT_DEFINITION 7 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema EVENTS EVENT_TYPE 8 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
-NULL information_schema EVENTS EXECUTE_AT 9 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS INTERVAL_VALUE 10 NULL YES varchar 256 768 NULL NULL utf8 utf8_general_ci varchar(256) select
-NULL information_schema EVENTS INTERVAL_FIELD 11 NULL YES varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select
-NULL information_schema EVENTS SQL_MODE 12 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema EVENTS STARTS 13 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS ENDS 14 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS STATUS 15 NO varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select
-NULL information_schema EVENTS ON_COMPLETION 16 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema EVENTS CREATED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS LAST_ALTERED 18 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS LAST_EXECUTED 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS EVENT_COMMENT 20 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS ORIGINATOR 21 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select
-NULL information_schema FILES FILE_ID 1 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES FILE_NAME 2 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES FILE_TYPE 3 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema FILES TABLESPACE_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES TABLE_CATALOG 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES TABLE_SCHEMA 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES TABLE_NAME 7 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES LOGFILE_GROUP_NAME 8 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES LOGFILE_GROUP_NUMBER 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES ENGINE 10 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES FULLTEXT_KEYS 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES DELETED_ROWS 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES UPDATE_COUNT 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES FREE_EXTENTS 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES TOTAL_EXTENTS 15 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES EXTENT_SIZE 16 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES INITIAL_SIZE 17 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES MAXIMUM_SIZE 18 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES AUTOEXTEND_SIZE 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES CREATION_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES LAST_UPDATE_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES LAST_ACCESS_TIME 22 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES RECOVER_TIME 23 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES TRANSACTION_COUNTER 24 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES VERSION 25 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES ROW_FORMAT 26 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema FILES TABLE_ROWS 27 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES AVG_ROW_LENGTH 28 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES DATA_LENGTH 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES MAX_DATA_LENGTH 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES INDEX_LENGTH 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES DATA_FREE 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES CREATE_TIME 33 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES UPDATE_TIME 34 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES CHECK_TIME 35 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES CHECKSUM 36 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES STATUS 37 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema FILES EXTRA 38 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
-NULL information_schema GLOBAL_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema GLOBAL_STATUS VARIABLE_VALUE 2 0.0000000 NO decimal NULL NULL 22 7 NULL NULL decimal(22,7) select
-NULL information_schema GLOBAL_VARIABLES VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema GLOBAL_VARIABLES VARIABLE_VALUE 2 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE COLUMN_NAME 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE ORDINAL_POSITION 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select
-NULL information_schema KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(10) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_NAME 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME 12 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema PARTITIONS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS PARTITION_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS SUBPARTITION_NAME 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION 7 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS PARTITION_METHOD 8 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema PARTITIONS SUBPARTITION_METHOD 9 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema PARTITIONS PARTITION_EXPRESSION 10 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PARTITIONS SUBPARTITION_EXPRESSION 11 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PARTITIONS PARTITION_DESCRIPTION 12 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PARTITIONS TABLE_ROWS 13 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS AVG_ROW_LENGTH 14 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS DATA_LENGTH 15 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS MAX_DATA_LENGTH 16 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS INDEX_LENGTH 17 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS DATA_FREE 18 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS CREATE_TIME 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema PARTITIONS UPDATE_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema PARTITIONS CHECK_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema PARTITIONS CHECKSUM 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS PARTITION_COMMENT 23 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema PARTITIONS NODEGROUP 24 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema PARTITIONS TABLESPACE_NAME 25 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_VERSION 2 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema PLUGINS PLUGIN_STATUS 3 NO varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema PLUGINS PLUGIN_TYPE 4 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema PLUGINS PLUGIN_TYPE_VERSION 5 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema PLUGINS PLUGIN_LIBRARY 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_LIBRARY_VERSION 7 NULL YES varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema PLUGINS PLUGIN_AUTHOR 8 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_DESCRIPTION 9 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PLUGINS PLUGIN_LICENSE 10 NULL YES varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema PROCESSLIST ID 1 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema PROCESSLIST USER 2 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema PROCESSLIST HOST 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PROCESSLIST DB 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PROCESSLIST COMMAND 5 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema PROCESSLIST TIME 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(7) select
-NULL information_schema PROCESSLIST STATE 7 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PROCESSLIST INFO 8 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS MATCH_OPTION 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UPDATE_RULE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS DELETE_RULE 9 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS TABLE_NAME 10 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS REFERENCED_TABLE_NAME 11 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES SPECIFIC_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema ROUTINES ROUTINE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_TYPE 5 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
-NULL information_schema ROUTINES DTD_IDENTIFIER 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_BODY 7 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema ROUTINES ROUTINE_DEFINITION 8 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema ROUTINES EXTERNAL_NAME 9 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES EXTERNAL_LANGUAGE 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES PARAMETER_STYLE 11 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema ROUTINES IS_DETERMINISTIC 12 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ROUTINES SQL_DATA_ACCESS 13 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES SQL_PATH 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES SECURITY_TYPE 15 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select
-NULL information_schema ROUTINES CREATED 16 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema ROUTINES LAST_ALTERED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema ROUTINES SQL_MODE 18 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema ROUTINES ROUTINE_COMMENT 19 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES DEFINER 20 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
-NULL information_schema SCHEMATA CATALOG_NAME 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema SCHEMATA SCHEMA_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA DEFAULT_COLLATION_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA SQL_PATH 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema SCHEMA_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema SCHEMA_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMA_PRIVILEGES IS_GRANTABLE 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema SESSION_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SESSION_STATUS VARIABLE_VALUE 2 0.0000000 NO decimal NULL NULL 22 7 NULL NULL decimal(22,7) select
-NULL information_schema SESSION_VARIABLES VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SESSION_VARIABLES VARIABLE_VALUE 2 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema STATISTICS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema STATISTICS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS NON_UNIQUE 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(1) select
-NULL information_schema STATISTICS INDEX_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS INDEX_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS SEQ_IN_INDEX 7 0 NO bigint NULL NULL 19 0 NULL NULL bigint(2) select
-NULL information_schema STATISTICS COLUMN_NAME 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS COLLATION 9 NULL YES varchar 1 3 NULL NULL utf8 utf8_general_ci varchar(1) select
-NULL information_schema STATISTICS CARDINALITY 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select
-NULL information_schema STATISTICS SUB_PART 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema STATISTICS PACKED 12 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema STATISTICS NULLABLE 13 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema STATISTICS INDEX_TYPE 14 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema STATISTICS COMMENT 15 NULL YES varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema TABLES TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
-NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS TABLE_SCHEMA 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS TABLE_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema TABLE_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLE_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES PRIVILEGE_TYPE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES IS_GRANTABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema TRIGGERS TRIGGER_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TRIGGERS TRIGGER_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS TRIGGER_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS EVENT_MANIPULATION 4 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select
-NULL information_schema TRIGGERS EVENT_OBJECT_CATALOG 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TRIGGERS EVENT_OBJECT_SCHEMA 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS EVENT_OBJECT_TABLE 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_ORDER 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema TRIGGERS ACTION_CONDITION 9 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS ACTION_STATEMENT 10 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS ACTION_ORIENTATION 11 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
-NULL information_schema TRIGGERS ACTION_TIMING 12 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_TABLE 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_TABLE 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_ROW 15 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_ROW 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema TRIGGERS CREATED 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TRIGGERS SQL_MODE 18 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS DEFINER 19 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema USER_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema USER_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema USER_PRIVILEGES PRIVILEGE_TYPE 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema USER_PRIVILEGES IS_GRANTABLE 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema VIEWS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema VIEWS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema VIEWS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema VIEWS VIEW_DEFINITION 4 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema VIEWS CHECK_OPTION 5 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema VIEWS IS_UPDATABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema VIEWS DEFINER 7 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
-NULL information_schema VIEWS SECURITY_TYPE 8 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select
-NULL test t1 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t1 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t1 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t1 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t1 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t1 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t10 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t10 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t10 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t10 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t10 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t10 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t11 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t11 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t11 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t11 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t11 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t11 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t2 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t2 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t2 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t2 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t2 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t2 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t3 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t3 f2 2 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t3 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t4 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t4 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t4 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t4 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t4 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t4 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t7 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t7 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t7 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t7 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t8 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t8 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t8 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t8 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t9 f1 1 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t9 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t9 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test tb1 f1 1 NULL YES char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
-NULL test tb1 f2 2 NULL YES char 1 1 NULL NULL latin1 latin1_bin char(1) select,insert,update,references
-NULL test tb1 f3 3 NULL YES char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
-NULL test tb1 f12 4 NULL YES binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references
-NULL test tb1 f13 5 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references
-NULL test tb1 f14 6 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references
-NULL test tb1 f15 7 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb1 f16 8 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb1 f17 9 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references
-NULL test tb1 f18 10 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references
-NULL test tb1 f19 11 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb1 f20 12 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb1 f21 13 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references
-NULL test tb1 f22 14 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references
-NULL test tb1 f23 15 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb1 f24 16 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb1 f25 17 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test tb1 f26 18 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references
-NULL test tb1 f27 19 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb1 f28 20 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb1 f29 21 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references
-NULL test tb1 f30 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL test tb1 f31 23 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb1 f32 24 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb1 f33 25 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f34 26 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f35 27 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f36 28 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f37 29 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f38 30 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb1 f39 31 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f40 32 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb1 f41 33 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f42 34 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f43 35 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f44 36 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f45 37 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f46 38 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb1 f47 39 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f48 40 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb1 f49 41 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f50 42 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb1 f51 43 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f52 44 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb1 f53 45 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f54 46 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f55 47 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f56 48 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f57 49 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f58 50 99 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb2 f59 1 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb2 f60 2 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb2 f61 3 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f62 4 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f63 5 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f64 6 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f65 7 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb2 f66 8 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb2 f67 9 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb2 f68 10 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb2 f69 11 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f70 12 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb2 f71 13 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f72 14 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb2 f73 15 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb2 f74 16 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb2 f75 17 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f76 18 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f77 19 7.7 YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb2 f78 20 7.7 YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb2 f79 21 00000000000000000007.7 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f80 22 00000000000000000008.8 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f81 23 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f82 24 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f83 25 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f84 26 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f85 27 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f86 28 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f87 29 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f88 30 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f89 31 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f90 32 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f91 33 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f92 34 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f93 35 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f94 36 8.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb2 f95 37 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f96 38 8.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb2 f97 39 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f98 40 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f99 41 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f100 42 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f101 43 2000-01-01 NO date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test tb2 f102 44 00:00:20 NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references
-NULL test tb2 f103 45 0002-02-02 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL test tb2 f104 46 2000-12-31 23:59:59 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL test tb2 f105 47 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb2 f106 48 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb2 f107 49 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb2 f108 50 1enum NO enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references
-NULL test tb2 f109 51 1set NO set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references
-NULL test tb3 f118 1 a NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
-NULL test tb3 f119 2  NO char 1 1 NULL NULL latin1 latin1_bin char(1) select,insert,update,references
-NULL test tb3 f120 3  NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
-NULL test tb3 f121 4 NULL YES char 50 50 NULL NULL latin1 latin1_swedish_ci char(50) select,insert,update,references
-NULL test tb3 f122 5 NULL YES char 50 50 NULL NULL latin1 latin1_swedish_ci char(50) select,insert,update,references
-NULL test tb3 f129 6  NO binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references
-NULL test tb3 f130 7 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references
-NULL test tb3 f131 8 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references
-NULL test tb3 f132 9 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb3 f133 10 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb3 f134 11 999 NO smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references
-NULL test tb3 f135 12 999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references
-NULL test tb3 f136 13 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb3 f137 14 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb3 f138 15 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references
-NULL test tb3 f139 16 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references
-NULL test tb3 f140 17 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb3 f141 18 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb3 f142 19 99999 NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test tb3 f143 20 99999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references
-NULL test tb3 f144 21 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb3 f145 22 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb3 f146 23 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references
-NULL test tb3 f147 24 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL test tb3 f148 25 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb3 f149 26 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb3 f150 27 1000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f151 28 999 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f152 29 0000001000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f153 30 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f154 31 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f155 32 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb3 f156 33 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f157 34 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb3 f158 35 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f159 36 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f160 37 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f161 38 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f162 39 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f163 40 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb3 f164 41 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f165 42 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb3 f166 43 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f167 44 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb3 f168 45 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f169 46 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb3 f170 47 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f171 48 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f172 49 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f173 50 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f174 51 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f175 52 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb4 f176 1 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb4 f177 2 9 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb4 f178 3 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f179 4 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f180 5 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f181 6 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f182 7 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb4 f183 8 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb4 f184 9 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb4 f185 10 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb4 f186 11 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f187 12 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb4 f188 13 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f189 14 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb4 f190 15 88.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb4 f191 16 88.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb4 f192 17 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f193 18 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f194 19 55.5 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb4 f195 20 55.5 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb4 f196 21 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f197 22 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f198 23 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f199 24 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f200 25 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f201 26 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f202 27 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f203 28 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f204 29 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f205 30 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f206 31 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f207 32 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f208 33 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f209 34 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f210 35 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f211 36 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb4 f212 37 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f213 38 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb4 f214 39 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f215 40 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f216 41 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f217 42 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f218 43 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test tb4 f219 44 NULL YES time NULL NULL NULL NULL NULL NULL time select,insert,update,references
-NULL test tb4 f220 45 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL test tb4 f221 46 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL test tb4 f222 47 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb4 f223 48 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb4 f224 49 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb4 f225 50 NULL YES enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references
-NULL test tb4 f226 51 NULL YES set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references
-NULL test tb4 f236 52 NULL YES char 95 190 NULL NULL ucs2 ucs2_general_ci char(95) select,insert,update,references
-NULL test tb4 f241 53 NULL YES char 255 510 NULL NULL ucs2 ucs2_general_ci char(255) select,insert,update,references
-NULL test tb4 f237 54 NULL YES char 130 130 NULL NULL latin1 latin1_bin char(130) select,insert,update,references
-NULL test tb4 f238 55 NULL YES varchar 25000 25000 NULL NULL latin1 latin1_bin varchar(25000) select,insert,update,references
-NULL test tb4 f239 56 NULL YES varbinary 0 0 NULL NULL NULL NULL varbinary(0) select,insert,update,references
-NULL test tb4 f240 57 NULL YES varchar 1200 2400 NULL NULL ucs2 ucs2_general_ci varchar(1200) select,insert,update,references
-connect(localhost,user_2,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.columns
-ORDER BY table_schema, table_name, ordinal_position;
-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
-NULL db_datadict t_6_406002 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) insert
-NULL db_datadict t_6_406002 f2 2 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text insert
-NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema CHARACTER_SETS DESCRIPTION 3 NO varchar 60 180 NULL NULL utf8 utf8_general_ci varchar(60) select
-NULL information_schema CHARACTER_SETS MAXLEN 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema COLLATIONS COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATIONS CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATIONS ID 3 0 NO bigint NULL NULL 19 0 NULL NULL bigint(11) select
-NULL information_schema COLLATIONS IS_DEFAULT 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLLATIONS IS_COMPILED 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLLATIONS SORTLEN 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLUMN_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLUMN_TYPE 15 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema COLUMNS COLUMN_KEY 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLUMNS EXTRA 17 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema COLUMNS PRIVILEGES 18 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema COLUMNS COLUMN_COMMENT 19 NO varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
-NULL information_schema COLUMN_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES COLUMN_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES PRIVILEGE_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES IS_GRANTABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ENGINES ENGINE 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ENGINES SUPPORT 2 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema ENGINES COMMENT 3 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema ENGINES TRANSACTIONS 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ENGINES XA 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ENGINES SAVEPOINTS 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema EVENTS EVENT_CATALOG 1 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS EVENT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS EVENT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS DEFINER 4 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
-NULL information_schema EVENTS TIME_ZONE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS EVENT_BODY 6 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema EVENTS EVENT_DEFINITION 7 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema EVENTS EVENT_TYPE 8 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
-NULL information_schema EVENTS EXECUTE_AT 9 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS INTERVAL_VALUE 10 NULL YES varchar 256 768 NULL NULL utf8 utf8_general_ci varchar(256) select
-NULL information_schema EVENTS INTERVAL_FIELD 11 NULL YES varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select
-NULL information_schema EVENTS SQL_MODE 12 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema EVENTS STARTS 13 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS ENDS 14 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS STATUS 15 NO varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select
-NULL information_schema EVENTS ON_COMPLETION 16 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema EVENTS CREATED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS LAST_ALTERED 18 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS LAST_EXECUTED 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS EVENT_COMMENT 20 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS ORIGINATOR 21 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select
-NULL information_schema FILES FILE_ID 1 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES FILE_NAME 2 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES FILE_TYPE 3 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema FILES TABLESPACE_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES TABLE_CATALOG 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES TABLE_SCHEMA 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES TABLE_NAME 7 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES LOGFILE_GROUP_NAME 8 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES LOGFILE_GROUP_NUMBER 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES ENGINE 10 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES FULLTEXT_KEYS 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES DELETED_ROWS 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES UPDATE_COUNT 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES FREE_EXTENTS 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES TOTAL_EXTENTS 15 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES EXTENT_SIZE 16 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES INITIAL_SIZE 17 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES MAXIMUM_SIZE 18 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES AUTOEXTEND_SIZE 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES CREATION_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES LAST_UPDATE_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES LAST_ACCESS_TIME 22 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES RECOVER_TIME 23 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES TRANSACTION_COUNTER 24 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES VERSION 25 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES ROW_FORMAT 26 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema FILES TABLE_ROWS 27 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES AVG_ROW_LENGTH 28 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES DATA_LENGTH 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES MAX_DATA_LENGTH 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES INDEX_LENGTH 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES DATA_FREE 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES CREATE_TIME 33 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES UPDATE_TIME 34 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES CHECK_TIME 35 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES CHECKSUM 36 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES STATUS 37 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema FILES EXTRA 38 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
-NULL information_schema GLOBAL_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema GLOBAL_STATUS VARIABLE_VALUE 2 0.0000000 NO decimal NULL NULL 22 7 NULL NULL decimal(22,7) select
-NULL information_schema GLOBAL_VARIABLES VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema GLOBAL_VARIABLES VARIABLE_VALUE 2 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE COLUMN_NAME 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE ORDINAL_POSITION 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select
-NULL information_schema KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(10) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_NAME 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME 12 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema PARTITIONS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS PARTITION_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS SUBPARTITION_NAME 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION 7 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS PARTITION_METHOD 8 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema PARTITIONS SUBPARTITION_METHOD 9 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema PARTITIONS PARTITION_EXPRESSION 10 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PARTITIONS SUBPARTITION_EXPRESSION 11 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PARTITIONS PARTITION_DESCRIPTION 12 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PARTITIONS TABLE_ROWS 13 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS AVG_ROW_LENGTH 14 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS DATA_LENGTH 15 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS MAX_DATA_LENGTH 16 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS INDEX_LENGTH 17 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS DATA_FREE 18 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS CREATE_TIME 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema PARTITIONS UPDATE_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema PARTITIONS CHECK_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema PARTITIONS CHECKSUM 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS PARTITION_COMMENT 23 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema PARTITIONS NODEGROUP 24 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema PARTITIONS TABLESPACE_NAME 25 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_VERSION 2 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema PLUGINS PLUGIN_STATUS 3 NO varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema PLUGINS PLUGIN_TYPE 4 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema PLUGINS PLUGIN_TYPE_VERSION 5 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema PLUGINS PLUGIN_LIBRARY 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_LIBRARY_VERSION 7 NULL YES varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema PLUGINS PLUGIN_AUTHOR 8 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_DESCRIPTION 9 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PLUGINS PLUGIN_LICENSE 10 NULL YES varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema PROCESSLIST ID 1 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema PROCESSLIST USER 2 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema PROCESSLIST HOST 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PROCESSLIST DB 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PROCESSLIST COMMAND 5 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema PROCESSLIST TIME 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(7) select
-NULL information_schema PROCESSLIST STATE 7 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PROCESSLIST INFO 8 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS MATCH_OPTION 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UPDATE_RULE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS DELETE_RULE 9 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS TABLE_NAME 10 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS REFERENCED_TABLE_NAME 11 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES SPECIFIC_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema ROUTINES ROUTINE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_TYPE 5 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
-NULL information_schema ROUTINES DTD_IDENTIFIER 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_BODY 7 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema ROUTINES ROUTINE_DEFINITION 8 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema ROUTINES EXTERNAL_NAME 9 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES EXTERNAL_LANGUAGE 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES PARAMETER_STYLE 11 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema ROUTINES IS_DETERMINISTIC 12 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ROUTINES SQL_DATA_ACCESS 13 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES SQL_PATH 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES SECURITY_TYPE 15 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select
-NULL information_schema ROUTINES CREATED 16 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema ROUTINES LAST_ALTERED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema ROUTINES SQL_MODE 18 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema ROUTINES ROUTINE_COMMENT 19 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES DEFINER 20 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
-NULL information_schema SCHEMATA CATALOG_NAME 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema SCHEMATA SCHEMA_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA DEFAULT_COLLATION_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA SQL_PATH 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema SCHEMA_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema SCHEMA_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMA_PRIVILEGES IS_GRANTABLE 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema SESSION_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SESSION_STATUS VARIABLE_VALUE 2 0.0000000 NO decimal NULL NULL 22 7 NULL NULL decimal(22,7) select
-NULL information_schema SESSION_VARIABLES VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SESSION_VARIABLES VARIABLE_VALUE 2 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema STATISTICS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema STATISTICS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS NON_UNIQUE 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(1) select
-NULL information_schema STATISTICS INDEX_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS INDEX_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS SEQ_IN_INDEX 7 0 NO bigint NULL NULL 19 0 NULL NULL bigint(2) select
-NULL information_schema STATISTICS COLUMN_NAME 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS COLLATION 9 NULL YES varchar 1 3 NULL NULL utf8 utf8_general_ci varchar(1) select
-NULL information_schema STATISTICS CARDINALITY 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select
-NULL information_schema STATISTICS SUB_PART 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema STATISTICS PACKED 12 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema STATISTICS NULLABLE 13 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema STATISTICS INDEX_TYPE 14 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema STATISTICS COMMENT 15 NULL YES varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema TABLES TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
-NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS TABLE_SCHEMA 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS TABLE_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema TABLE_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLE_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES PRIVILEGE_TYPE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES IS_GRANTABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema TRIGGERS TRIGGER_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TRIGGERS TRIGGER_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS TRIGGER_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS EVENT_MANIPULATION 4 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select
-NULL information_schema TRIGGERS EVENT_OBJECT_CATALOG 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TRIGGERS EVENT_OBJECT_SCHEMA 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS EVENT_OBJECT_TABLE 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_ORDER 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema TRIGGERS ACTION_CONDITION 9 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS ACTION_STATEMENT 10 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS ACTION_ORIENTATION 11 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
-NULL information_schema TRIGGERS ACTION_TIMING 12 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_TABLE 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_TABLE 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_ROW 15 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_ROW 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema TRIGGERS CREATED 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TRIGGERS SQL_MODE 18 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS DEFINER 19 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema USER_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema USER_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema USER_PRIVILEGES PRIVILEGE_TYPE 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema USER_PRIVILEGES IS_GRANTABLE 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema VIEWS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema VIEWS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema VIEWS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema VIEWS VIEW_DEFINITION 4 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema VIEWS CHECK_OPTION 5 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema VIEWS IS_UPDATABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema VIEWS DEFINER 7 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
-NULL information_schema VIEWS SECURITY_TYPE 8 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select
-NULL test t1 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t1 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t1 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t1 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t1 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t1 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t10 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t10 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t10 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t10 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t10 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t10 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t11 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t11 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t11 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t11 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t11 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t11 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t2 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t2 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t2 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t2 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t2 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t2 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t3 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t3 f2 2 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t3 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t4 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t4 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t4 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t4 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t4 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t4 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t7 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t7 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t7 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t7 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t8 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t8 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t8 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t8 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t9 f1 1 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t9 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t9 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test tb1 f1 1 NULL YES char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
-NULL test tb1 f2 2 NULL YES char 1 1 NULL NULL latin1 latin1_bin char(1) select,insert,update,references
-NULL test tb1 f3 3 NULL YES char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
-NULL test tb1 f12 4 NULL YES binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references
-NULL test tb1 f13 5 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references
-NULL test tb1 f14 6 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references
-NULL test tb1 f15 7 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb1 f16 8 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb1 f17 9 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references
-NULL test tb1 f18 10 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references
-NULL test tb1 f19 11 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb1 f20 12 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb1 f21 13 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references
-NULL test tb1 f22 14 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references
-NULL test tb1 f23 15 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb1 f24 16 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb1 f25 17 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test tb1 f26 18 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references
-NULL test tb1 f27 19 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb1 f28 20 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb1 f29 21 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references
-NULL test tb1 f30 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL test tb1 f31 23 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb1 f32 24 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb1 f33 25 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f34 26 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f35 27 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f36 28 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f37 29 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f38 30 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb1 f39 31 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f40 32 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb1 f41 33 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f42 34 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f43 35 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f44 36 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f45 37 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f46 38 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb1 f47 39 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f48 40 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb1 f49 41 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f50 42 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb1 f51 43 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f52 44 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb1 f53 45 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f54 46 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f55 47 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f56 48 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f57 49 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f58 50 99 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb2 f59 1 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb2 f60 2 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb2 f61 3 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f62 4 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f63 5 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f64 6 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f65 7 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb2 f66 8 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb2 f67 9 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb2 f68 10 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb2 f69 11 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f70 12 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb2 f71 13 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f72 14 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb2 f73 15 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb2 f74 16 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb2 f75 17 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f76 18 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f77 19 7.7 YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb2 f78 20 7.7 YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb2 f79 21 00000000000000000007.7 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f80 22 00000000000000000008.8 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f81 23 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f82 24 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f83 25 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f84 26 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f85 27 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f86 28 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f87 29 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f88 30 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f89 31 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f90 32 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f91 33 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f92 34 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f93 35 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f94 36 8.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb2 f95 37 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f96 38 8.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb2 f97 39 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f98 40 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f99 41 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f100 42 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f101 43 2000-01-01 NO date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test tb2 f102 44 00:00:20 NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references
-NULL test tb2 f103 45 0002-02-02 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL test tb2 f104 46 2000-12-31 23:59:59 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL test tb2 f105 47 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb2 f106 48 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb2 f107 49 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb2 f108 50 1enum NO enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references
-NULL test tb2 f109 51 1set NO set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references
-NULL test tb3 f118 1 a NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
-NULL test tb3 f119 2  NO char 1 1 NULL NULL latin1 latin1_bin char(1) select,insert,update,references
-NULL test tb3 f120 3  NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
-NULL test tb3 f121 4 NULL YES char 50 50 NULL NULL latin1 latin1_swedish_ci char(50) select,insert,update,references
-NULL test tb3 f122 5 NULL YES char 50 50 NULL NULL latin1 latin1_swedish_ci char(50) select,insert,update,references
-NULL test tb3 f129 6  NO binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references
-NULL test tb3 f130 7 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references
-NULL test tb3 f131 8 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references
-NULL test tb3 f132 9 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb3 f133 10 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb3 f134 11 999 NO smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references
-NULL test tb3 f135 12 999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references
-NULL test tb3 f136 13 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb3 f137 14 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb3 f138 15 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references
-NULL test tb3 f139 16 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references
-NULL test tb3 f140 17 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb3 f141 18 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb3 f142 19 99999 NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test tb3 f143 20 99999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references
-NULL test tb3 f144 21 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb3 f145 22 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb3 f146 23 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references
-NULL test tb3 f147 24 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL test tb3 f148 25 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb3 f149 26 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb3 f150 27 1000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f151 28 999 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f152 29 0000001000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f153 30 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f154 31 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f155 32 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb3 f156 33 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f157 34 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb3 f158 35 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f159 36 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f160 37 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f161 38 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f162 39 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f163 40 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb3 f164 41 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f165 42 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb3 f166 43 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f167 44 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb3 f168 45 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f169 46 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb3 f170 47 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f171 48 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f172 49 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f173 50 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f174 51 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f175 52 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb4 f176 1 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb4 f177 2 9 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb4 f178 3 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f179 4 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f180 5 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f181 6 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f182 7 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb4 f183 8 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb4 f184 9 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb4 f185 10 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb4 f186 11 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f187 12 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb4 f188 13 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f189 14 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb4 f190 15 88.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb4 f191 16 88.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb4 f192 17 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f193 18 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f194 19 55.5 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb4 f195 20 55.5 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb4 f196 21 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f197 22 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f198 23 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f199 24 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f200 25 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f201 26 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f202 27 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f203 28 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f204 29 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f205 30 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f206 31 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f207 32 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f208 33 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f209 34 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f210 35 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f211 36 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb4 f212 37 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f213 38 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb4 f214 39 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f215 40 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f216 41 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f217 42 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f218 43 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test tb4 f219 44 NULL YES time NULL NULL NULL NULL NULL NULL time select,insert,update,references
-NULL test tb4 f220 45 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL test tb4 f221 46 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL test tb4 f222 47 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb4 f223 48 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb4 f224 49 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb4 f225 50 NULL YES enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references
-NULL test tb4 f226 51 NULL YES set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references
-NULL test tb4 f236 52 NULL YES char 95 190 NULL NULL ucs2 ucs2_general_ci char(95) select,insert,update,references
-NULL test tb4 f241 53 NULL YES char 255 510 NULL NULL ucs2 ucs2_general_ci char(255) select,insert,update,references
-NULL test tb4 f237 54 NULL YES char 130 130 NULL NULL latin1 latin1_bin char(130) select,insert,update,references
-NULL test tb4 f238 55 NULL YES varchar 25000 25000 NULL NULL latin1 latin1_bin varchar(25000) select,insert,update,references
-NULL test tb4 f239 56 NULL YES varbinary 0 0 NULL NULL NULL NULL varbinary(0) select,insert,update,references
-NULL test tb4 f240 57 NULL YES varchar 1200 2400 NULL NULL ucs2 ucs2_general_ci varchar(1200) select,insert,update,references
-
-root@localhost db_datadict
-
-Show the quotient of COL and CML for all COLUMNS
-------------------------------------------------
-SELECT DISTINCT
-CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML,
-DATA_TYPE,
-CHARACTER_SET_NAME,
-COLLATION_NAME
-FROM information_schema.columns
-WHERE 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 binary NULL NULL
-1.0000 blob NULL NULL
-1.0000 longblob NULL NULL
-1.0000 char latin1 latin1_bin
-1.0000 varchar latin1 latin1_bin
-1.0000 char latin1 latin1_swedish_ci
-1.0000 enum latin1 latin1_swedish_ci
-1.0000 set latin1 latin1_swedish_ci
-1.0000 text latin1 latin1_swedish_ci
-1.0000 varchar latin1 latin1_swedish_ci
-1.0000 longtext utf8 utf8_general_ci
-1.0000 mediumtext utf8 utf8_general_ci
-1.0000 text utf8 utf8_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 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 varchar ucs2 ucs2_general_ci
-3.0000 char utf8 utf8_bin
-3.0000 enum utf8 utf8_bin
-3.0000 char utf8 utf8_general_ci
-3.0000 enum utf8 utf8_general_ci
-3.0000 set utf8 utf8_general_ci
-3.0000 varchar utf8 utf8_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 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 bigint NULL NULL
-NULL date NULL NULL
-NULL datetime NULL NULL
-NULL decimal NULL NULL
-NULL double NULL NULL
-NULL double unsigned NULL NULL
-NULL double unsigned zerofill NULL NULL
-NULL float NULL NULL
-NULL float unsigned NULL NULL
-NULL float unsigned zerofill NULL NULL
-NULL int NULL NULL
-NULL mediumint NULL NULL
-NULL smallint NULL NULL
-NULL time NULL NULL
-NULL timestamp NULL NULL
-NULL tinyint NULL NULL
-NULL varbinary NULL NULL
-NULL year 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
-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 db_datadict t_6_406001 f1 char 10 10 latin1 latin1_swedish_ci char(10)
-1.0000 db_datadict t_6_406001 f2 text 65535 65535 latin1 latin1_swedish_ci text
-NULL db_datadict t_6_406001 f3 date NULL NULL NULL NULL date
-NULL db_datadict t_6_406001 f4 int NULL NULL NULL NULL int(11)
-1.0000 db_datadict t_6_406002 f1 char 10 10 latin1 latin1_swedish_ci char(10)
-1.0000 db_datadict t_6_406002 f2 text 65535 65535 latin1 latin1_swedish_ci text
-NULL db_datadict t_6_406002 f3 date NULL NULL NULL NULL date
-NULL db_datadict t_6_406002 f4 int NULL NULL NULL NULL int(11)
-3.0000 information_schema CHARACTER_SETS CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema CHARACTER_SETS DESCRIPTION varchar 60 180 utf8 utf8_general_ci varchar(60)
-NULL information_schema CHARACTER_SETS MAXLEN bigint NULL NULL NULL NULL bigint(3)
-3.0000 information_schema COLLATIONS COLLATION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema COLLATIONS CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-NULL information_schema COLLATIONS ID bigint NULL NULL NULL NULL bigint(11)
-3.0000 information_schema COLLATIONS IS_DEFAULT varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema COLLATIONS IS_COMPILED varchar 3 9 utf8 utf8_general_ci varchar(3)
-NULL information_schema COLLATIONS SORTLEN bigint NULL NULL NULL NULL bigint(3)
-3.0000 information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema COLUMNS TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema COLUMNS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema COLUMNS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema COLUMNS COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-NULL information_schema COLUMNS ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(21) unsigned
-1.0000 information_schema COLUMNS COLUMN_DEFAULT longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema COLUMNS IS_NULLABLE varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema COLUMNS DATA_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
-NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema COLUMNS NUMERIC_PRECISION bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema COLUMNS NUMERIC_SCALE bigint NULL NULL NULL NULL bigint(21) unsigned
-3.0000 information_schema COLUMNS CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema COLUMNS COLLATION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-1.0000 information_schema COLUMNS COLUMN_TYPE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema COLUMNS COLUMN_KEY varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema COLUMNS EXTRA varchar 20 60 utf8 utf8_general_ci varchar(20)
-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 COLUMN_PRIVILEGES GRANTEE varchar 81 243 utf8 utf8_general_ci varchar(81)
-3.0000 information_schema COLUMN_PRIVILEGES TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema COLUMN_PRIVILEGES TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema COLUMN_PRIVILEGES TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema COLUMN_PRIVILEGES COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema COLUMN_PRIVILEGES PRIVILEGE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema COLUMN_PRIVILEGES IS_GRANTABLE varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema ENGINES ENGINE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ENGINES SUPPORT varchar 8 24 utf8 utf8_general_ci varchar(8)
-3.0000 information_schema ENGINES COMMENT varchar 80 240 utf8 utf8_general_ci varchar(80)
-3.0000 information_schema ENGINES TRANSACTIONS varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema ENGINES XA varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema ENGINES SAVEPOINTS varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema EVENTS EVENT_CATALOG varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema EVENTS EVENT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema EVENTS EVENT_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema EVENTS DEFINER varchar 77 231 utf8 utf8_general_ci varchar(77)
-3.0000 information_schema EVENTS TIME_ZONE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema EVENTS EVENT_BODY varchar 8 24 utf8 utf8_general_ci varchar(8)
-1.0000 information_schema EVENTS EVENT_DEFINITION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema EVENTS EVENT_TYPE varchar 9 27 utf8 utf8_general_ci varchar(9)
-NULL information_schema EVENTS EXECUTE_AT datetime NULL NULL NULL NULL datetime
-3.0000 information_schema EVENTS INTERVAL_VALUE varchar 256 768 utf8 utf8_general_ci varchar(256)
-3.0000 information_schema EVENTS INTERVAL_FIELD varchar 18 54 utf8 utf8_general_ci varchar(18)
-1.0000 information_schema EVENTS SQL_MODE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-NULL information_schema EVENTS STARTS datetime NULL NULL NULL NULL datetime
-NULL information_schema EVENTS ENDS datetime NULL NULL NULL NULL datetime
-3.0000 information_schema EVENTS STATUS varchar 18 54 utf8 utf8_general_ci varchar(18)
-3.0000 information_schema EVENTS ON_COMPLETION varchar 12 36 utf8 utf8_general_ci varchar(12)
-NULL information_schema EVENTS CREATED datetime NULL NULL NULL NULL datetime
-NULL information_schema EVENTS LAST_ALTERED datetime NULL NULL NULL NULL datetime
-NULL information_schema EVENTS LAST_EXECUTED datetime NULL NULL NULL NULL datetime
-3.0000 information_schema EVENTS EVENT_COMMENT varchar 64 192 utf8 utf8_general_ci varchar(64)
-NULL information_schema EVENTS ORIGINATOR bigint NULL NULL NULL NULL bigint(10)
-NULL information_schema FILES FILE_ID bigint NULL NULL NULL NULL bigint(4)
-3.0000 information_schema FILES FILE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema FILES FILE_TYPE varchar 20 60 utf8 utf8_general_ci varchar(20)
-3.0000 information_schema FILES TABLESPACE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema FILES TABLE_CATALOG varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema FILES TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema FILES TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema FILES LOGFILE_GROUP_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-NULL information_schema FILES LOGFILE_GROUP_NUMBER bigint NULL NULL NULL NULL bigint(4)
-3.0000 information_schema FILES ENGINE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema FILES FULLTEXT_KEYS varchar 64 192 utf8 utf8_general_ci varchar(64)
-NULL information_schema FILES DELETED_ROWS bigint NULL NULL NULL NULL bigint(4)
-NULL information_schema FILES UPDATE_COUNT bigint NULL NULL NULL NULL bigint(4)
-NULL information_schema FILES FREE_EXTENTS bigint NULL NULL NULL NULL bigint(4)
-NULL information_schema FILES TOTAL_EXTENTS bigint NULL NULL NULL NULL bigint(4)
-NULL information_schema FILES EXTENT_SIZE bigint NULL NULL NULL NULL bigint(4)
-NULL information_schema FILES INITIAL_SIZE bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema FILES MAXIMUM_SIZE bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema FILES AUTOEXTEND_SIZE bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema FILES CREATION_TIME datetime NULL NULL NULL NULL datetime
-NULL information_schema FILES LAST_UPDATE_TIME datetime NULL NULL NULL NULL datetime
-NULL information_schema FILES LAST_ACCESS_TIME datetime NULL NULL NULL NULL datetime
-NULL information_schema FILES RECOVER_TIME bigint NULL NULL NULL NULL bigint(4)
-NULL information_schema FILES TRANSACTION_COUNTER bigint NULL NULL NULL NULL bigint(4)
-NULL information_schema FILES VERSION bigint NULL NULL NULL NULL bigint(21) unsigned
-3.0000 information_schema FILES ROW_FORMAT varchar 10 30 utf8 utf8_general_ci varchar(10)
-NULL information_schema FILES TABLE_ROWS bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema FILES AVG_ROW_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema FILES DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema FILES MAX_DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema FILES INDEX_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema FILES DATA_FREE bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema FILES CREATE_TIME datetime NULL NULL NULL NULL datetime
-NULL information_schema FILES UPDATE_TIME datetime NULL NULL NULL NULL datetime
-NULL information_schema FILES CHECK_TIME datetime NULL NULL NULL NULL datetime
-NULL information_schema FILES CHECKSUM bigint NULL NULL NULL NULL bigint(21) unsigned
-3.0000 information_schema FILES STATUS varchar 20 60 utf8 utf8_general_ci varchar(20)
-3.0000 information_schema FILES EXTRA varchar 255 765 utf8 utf8_general_ci varchar(255)
-3.0000 information_schema GLOBAL_STATUS VARIABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-NULL information_schema GLOBAL_STATUS VARIABLE_VALUE decimal NULL NULL NULL NULL decimal(22,7)
-3.0000 information_schema GLOBAL_VARIABLES VARIABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-1.0000 information_schema GLOBAL_VARIABLES VARIABLE_VALUE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema KEY_COLUMN_USAGE CONSTRAINT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema KEY_COLUMN_USAGE TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema KEY_COLUMN_USAGE TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema KEY_COLUMN_USAGE TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema KEY_COLUMN_USAGE COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-NULL information_schema KEY_COLUMN_USAGE ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(10)
-NULL information_schema KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT bigint NULL NULL NULL NULL bigint(10)
-3.0000 information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema PARTITIONS TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema PARTITIONS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema PARTITIONS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema PARTITIONS PARTITION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema PARTITIONS SUBPARTITION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(21) unsigned
-3.0000 information_schema PARTITIONS PARTITION_METHOD varchar 12 36 utf8 utf8_general_ci varchar(12)
-3.0000 information_schema PARTITIONS SUBPARTITION_METHOD varchar 12 36 utf8 utf8_general_ci varchar(12)
-1.0000 information_schema PARTITIONS PARTITION_EXPRESSION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-1.0000 information_schema PARTITIONS SUBPARTITION_EXPRESSION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-1.0000 information_schema PARTITIONS PARTITION_DESCRIPTION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-NULL information_schema PARTITIONS TABLE_ROWS bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema PARTITIONS AVG_ROW_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema PARTITIONS DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema PARTITIONS MAX_DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema PARTITIONS INDEX_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema PARTITIONS DATA_FREE bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema PARTITIONS CREATE_TIME datetime NULL NULL NULL NULL datetime
-NULL information_schema PARTITIONS UPDATE_TIME datetime NULL NULL NULL NULL datetime
-NULL information_schema PARTITIONS CHECK_TIME datetime NULL NULL NULL NULL datetime
-NULL information_schema PARTITIONS CHECKSUM bigint NULL NULL NULL NULL bigint(21) unsigned
-3.0000 information_schema PARTITIONS PARTITION_COMMENT varchar 80 240 utf8 utf8_general_ci varchar(80)
-3.0000 information_schema PARTITIONS NODEGROUP varchar 12 36 utf8 utf8_general_ci varchar(12)
-3.0000 information_schema PARTITIONS TABLESPACE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema PLUGINS PLUGIN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema PLUGINS PLUGIN_VERSION varchar 20 60 utf8 utf8_general_ci varchar(20)
-3.0000 information_schema PLUGINS PLUGIN_STATUS varchar 10 30 utf8 utf8_general_ci varchar(10)
-3.0000 information_schema PLUGINS PLUGIN_TYPE varchar 80 240 utf8 utf8_general_ci varchar(80)
-3.0000 information_schema PLUGINS PLUGIN_TYPE_VERSION varchar 20 60 utf8 utf8_general_ci varchar(20)
-3.0000 information_schema PLUGINS PLUGIN_LIBRARY varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema PLUGINS PLUGIN_LIBRARY_VERSION varchar 20 60 utf8 utf8_general_ci varchar(20)
-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)
-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)
-3.0000 information_schema PROCESSLIST DB varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema PROCESSLIST COMMAND varchar 16 48 utf8 utf8_general_ci varchar(16)
-NULL information_schema PROCESSLIST TIME bigint NULL NULL NULL NULL bigint(7)
-3.0000 information_schema PROCESSLIST STATE varchar 64 192 utf8 utf8_general_ci varchar(64)
-1.0000 information_schema PROCESSLIST INFO longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema REFERENTIAL_CONSTRAINTS MATCH_OPTION varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema REFERENTIAL_CONSTRAINTS UPDATE_RULE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema REFERENTIAL_CONSTRAINTS DELETE_RULE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema REFERENTIAL_CONSTRAINTS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema REFERENTIAL_CONSTRAINTS REFERENCED_TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ROUTINES SPECIFIC_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ROUTINES ROUTINE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema ROUTINES ROUTINE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ROUTINES ROUTINE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ROUTINES ROUTINE_TYPE varchar 9 27 utf8 utf8_general_ci varchar(9)
-3.0000 information_schema ROUTINES DTD_IDENTIFIER varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ROUTINES ROUTINE_BODY varchar 8 24 utf8 utf8_general_ci varchar(8)
-1.0000 information_schema ROUTINES ROUTINE_DEFINITION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema ROUTINES EXTERNAL_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ROUTINES EXTERNAL_LANGUAGE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ROUTINES PARAMETER_STYLE varchar 8 24 utf8 utf8_general_ci varchar(8)
-3.0000 information_schema ROUTINES IS_DETERMINISTIC varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema ROUTINES SQL_DATA_ACCESS varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ROUTINES SQL_PATH varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ROUTINES SECURITY_TYPE varchar 7 21 utf8 utf8_general_ci varchar(7)
-NULL information_schema ROUTINES CREATED datetime NULL NULL NULL NULL datetime
-NULL information_schema ROUTINES LAST_ALTERED datetime NULL NULL NULL NULL datetime
-1.0000 information_schema ROUTINES SQL_MODE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema ROUTINES ROUTINE_COMMENT varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ROUTINES DEFINER varchar 77 231 utf8 utf8_general_ci varchar(77)
-3.0000 information_schema SCHEMATA CATALOG_NAME varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema SCHEMATA SCHEMA_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema SCHEMATA DEFAULT_COLLATION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema SCHEMATA SQL_PATH varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema SCHEMA_PRIVILEGES GRANTEE varchar 81 243 utf8 utf8_general_ci varchar(81)
-3.0000 information_schema SCHEMA_PRIVILEGES TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema SCHEMA_PRIVILEGES IS_GRANTABLE varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema SESSION_STATUS VARIABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-NULL information_schema SESSION_STATUS VARIABLE_VALUE decimal NULL NULL NULL NULL decimal(22,7)
-3.0000 information_schema SESSION_VARIABLES VARIABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-1.0000 information_schema SESSION_VARIABLES VARIABLE_VALUE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema STATISTICS TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema STATISTICS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema STATISTICS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-NULL information_schema STATISTICS NON_UNIQUE bigint NULL NULL NULL NULL bigint(1)
-3.0000 information_schema STATISTICS INDEX_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema STATISTICS INDEX_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-NULL information_schema STATISTICS SEQ_IN_INDEX bigint NULL NULL NULL NULL bigint(2)
-3.0000 information_schema STATISTICS COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema STATISTICS COLLATION varchar 1 3 utf8 utf8_general_ci varchar(1)
-NULL information_schema STATISTICS CARDINALITY bigint NULL NULL NULL NULL bigint(21)
-NULL information_schema STATISTICS SUB_PART bigint NULL NULL NULL NULL bigint(3)
-3.0000 information_schema STATISTICS PACKED varchar 10 30 utf8 utf8_general_ci varchar(10)
-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 TABLES TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-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)
-3.0000 information_schema TABLES TABLE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TABLES ENGINE varchar 64 192 utf8 utf8_general_ci varchar(64)
-NULL information_schema TABLES VERSION bigint NULL NULL NULL NULL bigint(21) unsigned
-3.0000 information_schema TABLES ROW_FORMAT varchar 10 30 utf8 utf8_general_ci varchar(10)
-NULL information_schema TABLES TABLE_ROWS bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema TABLES AVG_ROW_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema TABLES DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema TABLES MAX_DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema TABLES INDEX_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema TABLES DATA_FREE bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema TABLES AUTO_INCREMENT bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema TABLES CREATE_TIME datetime NULL NULL NULL NULL datetime
-NULL information_schema TABLES UPDATE_TIME datetime NULL NULL NULL NULL datetime
-NULL information_schema TABLES CHECK_TIME datetime NULL NULL NULL NULL datetime
-3.0000 information_schema TABLES TABLE_COLLATION varchar 64 192 utf8 utf8_general_ci varchar(64)
-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 TABLE_CONSTRAINTS CONSTRAINT_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema TABLE_CONSTRAINTS CONSTRAINT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TABLE_CONSTRAINTS CONSTRAINT_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TABLE_CONSTRAINTS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TABLE_CONSTRAINTS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TABLE_CONSTRAINTS CONSTRAINT_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TABLE_PRIVILEGES GRANTEE varchar 81 243 utf8 utf8_general_ci varchar(81)
-3.0000 information_schema TABLE_PRIVILEGES TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema TABLE_PRIVILEGES TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TABLE_PRIVILEGES TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TABLE_PRIVILEGES PRIVILEGE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TABLE_PRIVILEGES IS_GRANTABLE varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema TRIGGERS TRIGGER_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema TRIGGERS TRIGGER_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TRIGGERS TRIGGER_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TRIGGERS EVENT_MANIPULATION varchar 6 18 utf8 utf8_general_ci varchar(6)
-3.0000 information_schema TRIGGERS EVENT_OBJECT_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema TRIGGERS EVENT_OBJECT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TRIGGERS EVENT_OBJECT_TABLE varchar 64 192 utf8 utf8_general_ci varchar(64)
-NULL information_schema TRIGGERS ACTION_ORDER bigint NULL NULL NULL NULL bigint(4)
-1.0000 information_schema TRIGGERS ACTION_CONDITION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-1.0000 information_schema TRIGGERS ACTION_STATEMENT longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema TRIGGERS ACTION_ORIENTATION varchar 9 27 utf8 utf8_general_ci varchar(9)
-3.0000 information_schema TRIGGERS ACTION_TIMING varchar 6 18 utf8 utf8_general_ci varchar(6)
-3.0000 information_schema TRIGGERS ACTION_REFERENCE_OLD_TABLE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TRIGGERS ACTION_REFERENCE_NEW_TABLE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TRIGGERS ACTION_REFERENCE_OLD_ROW varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema TRIGGERS ACTION_REFERENCE_NEW_ROW varchar 3 9 utf8 utf8_general_ci varchar(3)
-NULL information_schema TRIGGERS CREATED datetime NULL NULL NULL NULL datetime
-1.0000 information_schema TRIGGERS SQL_MODE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-1.0000 information_schema TRIGGERS DEFINER longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema USER_PRIVILEGES GRANTEE varchar 81 243 utf8 utf8_general_ci varchar(81)
-3.0000 information_schema USER_PRIVILEGES TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema USER_PRIVILEGES PRIVILEGE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema USER_PRIVILEGES IS_GRANTABLE varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema VIEWS TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema VIEWS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema VIEWS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-1.0000 information_schema VIEWS VIEW_DEFINITION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema VIEWS CHECK_OPTION varchar 8 24 utf8 utf8_general_ci varchar(8)
-3.0000 information_schema VIEWS IS_UPDATABLE varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema VIEWS DEFINER varchar 77 231 utf8 utf8_general_ci varchar(77)
-3.0000 information_schema VIEWS SECURITY_TYPE varchar 7 21 utf8 utf8_general_ci varchar(7)
-3.0000 mysql columns_priv Host char 60 180 utf8 utf8_bin char(60)
-3.0000 mysql columns_priv Db char 64 192 utf8 utf8_bin char(64)
-3.0000 mysql columns_priv User char 16 48 utf8 utf8_bin char(16)
-3.0000 mysql columns_priv Table_name char 64 192 utf8 utf8_bin char(64)
-3.0000 mysql columns_priv Column_name char 64 192 utf8 utf8_bin char(64)
-NULL mysql columns_priv Timestamp timestamp NULL NULL NULL NULL timestamp
-3.0000 mysql columns_priv Column_priv set 31 93 utf8 utf8_general_ci set('Select','Insert','Update','References')
-3.0000 mysql db Host char 60 180 utf8 utf8_bin char(60)
-3.0000 mysql db Db char 64 192 utf8 utf8_bin char(64)
-3.0000 mysql db User char 16 48 utf8 utf8_bin char(16)
-3.0000 mysql db Select_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Insert_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Update_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Delete_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Create_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Drop_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Grant_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db References_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Index_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Alter_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Create_tmp_table_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Lock_tables_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Create_view_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Show_view_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Create_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Alter_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Execute_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Event_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Trigger_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql event db char 64 192 utf8 utf8_bin char(64)
-3.0000 mysql event name char 64 192 utf8 utf8_general_ci char(64)
-1.0000 mysql event body longblob 4294967295 4294967295 NULL NULL longblob
-3.0000 mysql event definer char 77 231 utf8 utf8_bin char(77)
-NULL mysql event execute_at datetime NULL NULL NULL NULL datetime
-NULL mysql event interval_value int NULL NULL NULL NULL int(11)
-3.0000 mysql event interval_field enum 18 54 utf8 utf8_general_ci enum('YEAR','QUARTER','MONTH','DAY','HOUR','MINUTE','WEEK','SECOND','MICROSECOND','YEAR_MONTH','DAY_HOUR','DAY_MINUTE','DAY_SECOND','HOUR_MINUTE','HOUR_SECOND','MINUTE_SECOND','DAY_MICROSECOND','HOUR_MICROSECOND','MINUTE_MICROSECOND','SECOND_MICROSECOND')
-NULL mysql event created timestamp NULL NULL NULL NULL timestamp
-NULL mysql event modified timestamp NULL NULL NULL NULL timestamp
-NULL mysql event last_executed datetime NULL NULL NULL NULL datetime
-NULL mysql event starts datetime NULL NULL NULL NULL datetime
-NULL mysql event ends datetime NULL NULL NULL NULL datetime
-3.0000 mysql event status enum 18 54 utf8 utf8_general_ci enum('ENABLED','DISABLED','SLAVESIDE_DISABLED')
-3.0000 mysql event on_completion enum 8 24 utf8 utf8_general_ci enum('DROP','PRESERVE')
-3.0000 mysql event sql_mode set 431 1293 utf8 utf8_general_ci set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE')
-3.0000 mysql event comment char 64 192 utf8 utf8_bin char(64)
-NULL mysql event originator int NULL NULL NULL NULL int(10)
-1.0000 mysql event time_zone char 64 64 latin1 latin1_swedish_ci char(64)
-3.0000 mysql func name char 64 192 utf8 utf8_bin char(64)
-NULL mysql func ret tinyint NULL NULL NULL NULL tinyint(1)
-3.0000 mysql func dl char 128 384 utf8 utf8_bin char(128)
-3.0000 mysql func type enum 9 27 utf8 utf8_general_ci enum('function','aggregate')
-NULL mysql general_log event_time timestamp NULL NULL NULL NULL timestamp
-1.0000 mysql general_log user_host mediumtext 16777215 16777215 utf8 utf8_general_ci mediumtext
-NULL mysql general_log thread_id int NULL NULL NULL NULL int(11)
-NULL mysql general_log server_id int NULL NULL NULL NULL int(11)
-3.0000 mysql general_log command_type varchar 64 192 utf8 utf8_general_ci varchar(64)
-1.0000 mysql general_log argument mediumtext 16777215 16777215 utf8 utf8_general_ci mediumtext
-NULL mysql help_category help_category_id smallint NULL NULL NULL NULL smallint(5) unsigned
-3.0000 mysql help_category name char 64 192 utf8 utf8_general_ci char(64)
-NULL mysql help_category parent_category_id smallint NULL NULL NULL NULL smallint(5) unsigned
-3.0000 mysql help_category url char 128 384 utf8 utf8_general_ci char(128)
-NULL mysql help_keyword help_keyword_id int NULL NULL NULL NULL int(10) unsigned
-3.0000 mysql help_keyword name char 64 192 utf8 utf8_general_ci char(64)
-NULL mysql help_relation help_topic_id int NULL NULL NULL NULL int(10) unsigned
-NULL mysql help_relation help_keyword_id int NULL NULL NULL NULL int(10) unsigned
-NULL mysql help_topic help_topic_id int NULL NULL NULL NULL int(10) unsigned
-3.0000 mysql help_topic name char 64 192 utf8 utf8_general_ci char(64)
-NULL mysql help_topic help_category_id smallint NULL NULL NULL NULL smallint(5) unsigned
-1.0000 mysql help_topic description text 65535 65535 utf8 utf8_general_ci text
-1.0000 mysql help_topic example text 65535 65535 utf8 utf8_general_ci text
-3.0000 mysql help_topic url char 128 384 utf8 utf8_general_ci char(128)
-3.0000 mysql host Host char 60 180 utf8 utf8_bin char(60)
-3.0000 mysql host Db char 64 192 utf8 utf8_bin char(64)
-3.0000 mysql host Select_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Insert_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Update_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Delete_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Create_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Drop_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Grant_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host References_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Index_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Alter_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Create_tmp_table_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Lock_tables_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Create_view_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Show_view_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Create_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Alter_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Execute_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Trigger_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-NULL mysql ndb_binlog_index Position bigint NULL NULL NULL NULL bigint(20) unsigned
-1.0000 mysql ndb_binlog_index File varchar 255 255 latin1 latin1_swedish_ci varchar(255)
-NULL mysql ndb_binlog_index epoch bigint NULL NULL NULL NULL bigint(20) unsigned
-NULL mysql ndb_binlog_index inserts bigint NULL NULL NULL NULL bigint(20) unsigned
-NULL mysql ndb_binlog_index updates bigint NULL NULL NULL NULL bigint(20) unsigned
-NULL mysql ndb_binlog_index deletes bigint NULL NULL NULL NULL bigint(20) unsigned
-NULL mysql ndb_binlog_index schemaops bigint NULL NULL NULL NULL bigint(20) unsigned
-3.0000 mysql plugin name char 64 192 utf8 utf8_bin char(64)
-3.0000 mysql plugin dl char 128 384 utf8 utf8_bin char(128)
-3.0000 mysql proc db char 64 192 utf8 utf8_bin char(64)
-3.0000 mysql proc name char 64 192 utf8 utf8_general_ci char(64)
-3.0000 mysql proc type enum 9 27 utf8 utf8_general_ci enum('FUNCTION','PROCEDURE')
-3.0000 mysql proc specific_name char 64 192 utf8 utf8_general_ci char(64)
-3.0000 mysql proc language enum 3 9 utf8 utf8_general_ci enum('SQL')
-3.0000 mysql proc sql_data_access enum 17 51 utf8 utf8_general_ci enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA')
-3.0000 mysql proc is_deterministic enum 3 9 utf8 utf8_general_ci enum('YES','NO')
-3.0000 mysql proc security_type enum 7 21 utf8 utf8_general_ci enum('INVOKER','DEFINER')
-1.0000 mysql proc param_list blob 65535 65535 NULL NULL blob
-3.0000 mysql proc returns char 64 192 utf8 utf8_general_ci char(64)
-1.0000 mysql proc body longblob 4294967295 4294967295 NULL NULL longblob
-3.0000 mysql proc definer char 77 231 utf8 utf8_bin char(77)
-NULL mysql proc created timestamp NULL NULL NULL NULL timestamp
-NULL mysql proc modified timestamp NULL NULL NULL NULL timestamp
-3.0000 mysql proc sql_mode set 431 1293 utf8 utf8_general_ci set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE')
-3.0000 mysql proc comment char 64 192 utf8 utf8_bin char(64)
-3.0000 mysql procs_priv Host char 60 180 utf8 utf8_bin char(60)
-3.0000 mysql procs_priv Db char 64 192 utf8 utf8_bin char(64)
-3.0000 mysql procs_priv User char 16 48 utf8 utf8_bin char(16)
-3.0000 mysql procs_priv Routine_name char 64 192 utf8 utf8_bin char(64)
-3.0000 mysql procs_priv Routine_type enum 9 27 utf8 utf8_bin enum('FUNCTION','PROCEDURE')
-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 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)
-3.0000 mysql servers Username char 64 192 utf8 utf8_general_ci char(64)
-3.0000 mysql servers Password char 64 192 utf8 utf8_general_ci char(64)
-NULL mysql servers Port int NULL NULL NULL NULL int(4)
-3.0000 mysql servers Socket char 64 192 utf8 utf8_general_ci char(64)
-3.0000 mysql servers Wrapper char 64 192 utf8 utf8_general_ci char(64)
-3.0000 mysql servers Owner char 64 192 utf8 utf8_general_ci char(64)
-NULL mysql slow_log start_time timestamp NULL NULL NULL NULL timestamp
-1.0000 mysql slow_log user_host mediumtext 16777215 16777215 utf8 utf8_general_ci mediumtext
-NULL mysql slow_log query_time time NULL NULL NULL NULL time
-NULL mysql slow_log lock_time time NULL NULL NULL NULL time
-NULL mysql slow_log rows_sent int NULL NULL NULL NULL int(11)
-NULL mysql slow_log rows_examined int NULL NULL NULL NULL int(11)
-3.0000 mysql slow_log db varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-NULL mysql slow_log last_insert_id int NULL NULL NULL NULL int(11)
-NULL mysql slow_log insert_id int NULL NULL NULL NULL int(11)
-NULL mysql slow_log server_id int NULL NULL NULL NULL int(11)
-1.0000 mysql slow_log sql_text mediumtext 16777215 16777215 utf8 utf8_general_ci mediumtext
-3.0000 mysql tables_priv Host char 60 180 utf8 utf8_bin char(60)
-3.0000 mysql tables_priv Db char 64 192 utf8 utf8_bin char(64)
-3.0000 mysql tables_priv User char 16 48 utf8 utf8_bin char(16)
-3.0000 mysql tables_priv Table_name char 64 192 utf8 utf8_bin char(64)
-3.0000 mysql tables_priv Grantor char 77 231 utf8 utf8_bin char(77)
-NULL mysql tables_priv Timestamp timestamp NULL NULL NULL NULL timestamp
-3.0000 mysql tables_priv Table_priv set 98 294 utf8 utf8_general_ci set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view','Trigger')
-3.0000 mysql tables_priv Column_priv set 31 93 utf8 utf8_general_ci set('Select','Insert','Update','References')
-NULL mysql time_zone Time_zone_id int NULL NULL NULL NULL int(10) unsigned
-3.0000 mysql time_zone Use_leap_seconds enum 1 3 utf8 utf8_general_ci enum('Y','N')
-NULL mysql time_zone_leap_second Transition_time bigint NULL NULL NULL NULL bigint(20)
-NULL mysql time_zone_leap_second Correction int NULL NULL NULL NULL int(11)
-3.0000 mysql time_zone_name Name char 64 192 utf8 utf8_general_ci char(64)
-NULL mysql time_zone_name Time_zone_id int NULL NULL NULL NULL int(10) unsigned
-NULL mysql time_zone_transition Time_zone_id int NULL NULL NULL NULL int(10) unsigned
-NULL mysql time_zone_transition Transition_time bigint NULL NULL NULL NULL bigint(20)
-NULL mysql time_zone_transition Transition_type_id int NULL NULL NULL NULL int(10) unsigned
-NULL mysql time_zone_transition_type Time_zone_id int NULL NULL NULL NULL int(10) unsigned
-NULL mysql time_zone_transition_type Transition_type_id int NULL NULL NULL NULL int(10) unsigned
-NULL mysql time_zone_transition_type Offset int NULL NULL NULL NULL int(11)
-NULL mysql time_zone_transition_type Is_DST tinyint NULL NULL NULL NULL tinyint(3) unsigned
-3.0000 mysql time_zone_transition_type Abbreviation char 8 24 utf8 utf8_general_ci char(8)
-3.0000 mysql user Host char 60 180 utf8 utf8_bin char(60)
-3.0000 mysql user User char 16 48 utf8 utf8_bin char(16)
-1.0000 mysql user Password char 41 41 latin1 latin1_bin char(41)
-3.0000 mysql user Select_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Insert_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Update_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Delete_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Create_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Drop_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Reload_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Shutdown_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Process_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user File_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Grant_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user References_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Index_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Alter_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Show_db_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Super_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Create_tmp_table_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Lock_tables_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Execute_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Repl_slave_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Repl_client_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Create_view_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Show_view_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Create_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Alter_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Create_user_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Event_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Trigger_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user ssl_type enum 9 27 utf8 utf8_general_ci enum('','ANY','X509','SPECIFIED')
-1.0000 mysql user ssl_cipher blob 65535 65535 NULL NULL blob
-1.0000 mysql user x509_issuer blob 65535 65535 NULL NULL blob
-1.0000 mysql user x509_subject blob 65535 65535 NULL NULL blob
-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 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 test tb1 f1 char 1 1 latin1 latin1_swedish_ci char(1)
-1.0000 test tb1 f2 char 1 1 latin1 latin1_bin char(1)
-1.0000 test tb1 f3 char 1 1 latin1 latin1_swedish_ci char(1)
-1.0000 test tb1 f12 binary 1 1 NULL NULL binary(1)
-NULL test tb1 f13 tinyint NULL NULL NULL NULL tinyint(4)
-NULL test tb1 f14 tinyint NULL NULL NULL NULL tinyint(3) unsigned
-NULL test tb1 f15 tinyint NULL NULL NULL NULL tinyint(3) unsigned zerofill
-NULL test tb1 f16 tinyint NULL NULL NULL NULL tinyint(3) unsigned zerofill
-NULL test tb1 f17 smallint NULL NULL NULL NULL smallint(6)
-NULL test tb1 f18 smallint NULL NULL NULL NULL smallint(5) unsigned
-NULL test tb1 f19 smallint NULL NULL NULL NULL smallint(5) unsigned zerofill
-NULL test tb1 f20 smallint NULL NULL NULL NULL smallint(5) unsigned zerofill
-NULL test tb1 f21 mediumint NULL NULL NULL NULL mediumint(9)
-NULL test tb1 f22 mediumint NULL NULL NULL NULL mediumint(8) unsigned
-NULL test tb1 f23 mediumint NULL NULL NULL NULL mediumint(8) unsigned zerofill
-NULL test tb1 f24 mediumint NULL NULL NULL NULL mediumint(8) unsigned zerofill
-NULL test tb1 f25 int NULL NULL NULL NULL int(11)
-NULL test tb1 f26 int NULL NULL NULL NULL int(10) unsigned
-NULL test tb1 f27 int NULL NULL NULL NULL int(10) unsigned zerofill
-NULL test tb1 f28 int NULL NULL NULL NULL int(10) unsigned zerofill
-NULL test tb1 f29 bigint NULL NULL NULL NULL bigint(20)
-NULL test tb1 f30 bigint NULL NULL NULL NULL bigint(20) unsigned
-NULL test tb1 f31 bigint NULL NULL NULL NULL bigint(20) unsigned zerofill
-NULL test tb1 f32 bigint NULL NULL NULL NULL bigint(20) unsigned zerofill
-NULL test tb1 f33 decimal NULL NULL NULL NULL decimal(10,0)
-NULL test tb1 f34 decimal NULL NULL NULL NULL decimal(10,0) unsigned
-NULL test tb1 f35 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb1 f36 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb1 f37 decimal NULL NULL NULL NULL decimal(10,0)
-NULL test tb1 f38 decimal NULL NULL NULL NULL decimal(64,0)
-NULL test tb1 f39 decimal NULL NULL NULL NULL decimal(10,0) unsigned
-NULL test tb1 f40 decimal NULL NULL NULL NULL decimal(64,0) unsigned
-NULL test tb1 f41 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb1 f42 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
-NULL test tb1 f43 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb1 f44 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
-NULL test tb1 f45 decimal NULL NULL NULL NULL decimal(10,0)
-NULL test tb1 f46 decimal NULL NULL NULL NULL decimal(63,30)
-NULL test tb1 f47 decimal NULL NULL NULL NULL decimal(10,0) unsigned
-NULL test tb1 f48 decimal NULL NULL NULL NULL decimal(63,30) unsigned
-NULL test tb1 f49 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb1 f50 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
-NULL test tb1 f51 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb1 f52 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
-NULL test tb1 f53 decimal NULL NULL NULL NULL decimal(10,0)
-NULL test tb1 f54 decimal NULL NULL NULL NULL decimal(10,0) unsigned
-NULL test tb1 f55 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb1 f56 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb1 f57 decimal NULL NULL NULL NULL decimal(10,0)
-NULL test tb1 f58 decimal NULL NULL NULL NULL decimal(64,0)
-NULL test tb2 f59 decimal NULL NULL NULL NULL decimal(10,0) unsigned
-NULL test tb2 f60 decimal NULL NULL NULL NULL decimal(64,0) unsigned
-NULL test tb2 f61 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb2 f62 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
-NULL test tb2 f63 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb2 f64 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
-NULL test tb2 f65 decimal NULL NULL NULL NULL decimal(10,0)
-NULL test tb2 f66 decimal NULL NULL NULL NULL decimal(63,30)
-NULL test tb2 f67 decimal NULL NULL NULL NULL decimal(10,0) unsigned
-NULL test tb2 f68 decimal NULL NULL NULL NULL decimal(63,30) unsigned
-NULL test tb2 f69 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb2 f70 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
-NULL test tb2 f71 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb2 f72 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
-NULL test tb2 f73 double NULL NULL NULL NULL double
-NULL test tb2 f74 double unsigned NULL NULL NULL NULL double unsigned
-NULL test tb2 f75 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test tb2 f76 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test tb2 f77 double NULL NULL NULL NULL double
-NULL test tb2 f78 double unsigned NULL NULL NULL NULL double unsigned
-NULL test tb2 f79 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test tb2 f80 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test tb2 f81 float NULL NULL NULL NULL float
-NULL test tb2 f82 float unsigned NULL NULL NULL NULL float unsigned
-NULL test tb2 f83 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb2 f84 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb2 f85 float NULL NULL NULL NULL float
-NULL test tb2 f86 float NULL NULL NULL NULL float
-NULL test tb2 f87 float unsigned NULL NULL NULL NULL float unsigned
-NULL test tb2 f88 float unsigned NULL NULL NULL NULL float unsigned
-NULL test tb2 f89 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb2 f90 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb2 f91 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb2 f92 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb2 f93 float NULL NULL NULL NULL float
-NULL test tb2 f94 double NULL NULL NULL NULL double
-NULL test tb2 f95 float unsigned NULL NULL NULL NULL float unsigned
-NULL test tb2 f96 double unsigned NULL NULL NULL NULL double unsigned
-NULL test tb2 f97 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb2 f98 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test tb2 f99 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb2 f100 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test tb2 f101 date NULL NULL NULL NULL date
-NULL test tb2 f102 time NULL NULL NULL NULL time
-NULL test tb2 f103 datetime NULL NULL NULL NULL datetime
-NULL test tb2 f104 timestamp NULL NULL NULL NULL timestamp
-NULL test tb2 f105 year NULL NULL NULL NULL year(4)
-NULL test tb2 f106 year NULL NULL NULL NULL year(4)
-NULL test tb2 f107 year NULL NULL NULL NULL year(4)
-1.0000 test tb2 f108 enum 5 5 latin1 latin1_swedish_ci enum('1enum','2enum')
-1.0000 test tb2 f109 set 9 9 latin1 latin1_swedish_ci set('1set','2set')
-1.0000 test tb3 f118 char 1 1 latin1 latin1_swedish_ci char(1)
-1.0000 test tb3 f119 char 1 1 latin1 latin1_bin char(1)
-1.0000 test tb3 f120 char 1 1 latin1 latin1_swedish_ci char(1)
-1.0000 test tb3 f121 char 50 50 latin1 latin1_swedish_ci char(50)
-1.0000 test tb3 f122 char 50 50 latin1 latin1_swedish_ci char(50)
-1.0000 test tb3 f129 binary 1 1 NULL NULL binary(1)
-NULL test tb3 f130 tinyint NULL NULL NULL NULL tinyint(4)
-NULL test tb3 f131 tinyint NULL NULL NULL NULL tinyint(3) unsigned
-NULL test tb3 f132 tinyint NULL NULL NULL NULL tinyint(3) unsigned zerofill
-NULL test tb3 f133 tinyint NULL NULL NULL NULL tinyint(3) unsigned zerofill
-NULL test tb3 f134 smallint NULL NULL NULL NULL smallint(6)
-NULL test tb3 f135 smallint NULL NULL NULL NULL smallint(5) unsigned
-NULL test tb3 f136 smallint NULL NULL NULL NULL smallint(5) unsigned zerofill
-NULL test tb3 f137 smallint NULL NULL NULL NULL smallint(5) unsigned zerofill
-NULL test tb3 f138 mediumint NULL NULL NULL NULL mediumint(9)
-NULL test tb3 f139 mediumint NULL NULL NULL NULL mediumint(8) unsigned
-NULL test tb3 f140 mediumint NULL NULL NULL NULL mediumint(8) unsigned zerofill
-NULL test tb3 f141 mediumint NULL NULL NULL NULL mediumint(8) unsigned zerofill
-NULL test tb3 f142 int NULL NULL NULL NULL int(11)
-NULL test tb3 f143 int NULL NULL NULL NULL int(10) unsigned
-NULL test tb3 f144 int NULL NULL NULL NULL int(10) unsigned zerofill
-NULL test tb3 f145 int NULL NULL NULL NULL int(10) unsigned zerofill
-NULL test tb3 f146 bigint NULL NULL NULL NULL bigint(20)
-NULL test tb3 f147 bigint NULL NULL NULL NULL bigint(20) unsigned
-NULL test tb3 f148 bigint NULL NULL NULL NULL bigint(20) unsigned zerofill
-NULL test tb3 f149 bigint NULL NULL NULL NULL bigint(20) unsigned zerofill
-NULL test tb3 f150 decimal NULL NULL NULL NULL decimal(10,0)
-NULL test tb3 f151 decimal NULL NULL NULL NULL decimal(10,0) unsigned
-NULL test tb3 f152 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb3 f153 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb3 f154 decimal NULL NULL NULL NULL decimal(10,0)
-NULL test tb3 f155 decimal NULL NULL NULL NULL decimal(64,0)
-NULL test tb3 f156 decimal NULL NULL NULL NULL decimal(10,0) unsigned
-NULL test tb3 f157 decimal NULL NULL NULL NULL decimal(64,0) unsigned
-NULL test tb3 f158 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb3 f159 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
-NULL test tb3 f160 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb3 f161 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
-NULL test tb3 f162 decimal NULL NULL NULL NULL decimal(10,0)
-NULL test tb3 f163 decimal NULL NULL NULL NULL decimal(63,30)
-NULL test tb3 f164 decimal NULL NULL NULL NULL decimal(10,0) unsigned
-NULL test tb3 f165 decimal NULL NULL NULL NULL decimal(63,30) unsigned
-NULL test tb3 f166 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb3 f167 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
-NULL test tb3 f168 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb3 f169 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
-NULL test tb3 f170 decimal NULL NULL NULL NULL decimal(10,0)
-NULL test tb3 f171 decimal NULL NULL NULL NULL decimal(10,0) unsigned
-NULL test tb3 f172 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb3 f173 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb3 f174 decimal NULL NULL NULL NULL decimal(10,0)
-NULL test tb3 f175 decimal NULL NULL NULL NULL decimal(64,0)
-NULL test tb4 f176 decimal NULL NULL NULL NULL decimal(10,0) unsigned
-NULL test tb4 f177 decimal NULL NULL NULL NULL decimal(64,0) unsigned
-NULL test tb4 f178 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb4 f179 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
-NULL test tb4 f180 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb4 f181 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
-NULL test tb4 f182 decimal NULL NULL NULL NULL decimal(10,0)
-NULL test tb4 f183 decimal NULL NULL NULL NULL decimal(63,30)
-NULL test tb4 f184 decimal NULL NULL NULL NULL decimal(10,0) unsigned
-NULL test tb4 f185 decimal NULL NULL NULL NULL decimal(63,30) unsigned
-NULL test tb4 f186 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb4 f187 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
-NULL test tb4 f188 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb4 f189 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
-NULL test tb4 f190 double NULL NULL NULL NULL double
-NULL test tb4 f191 double unsigned NULL NULL NULL NULL double unsigned
-NULL test tb4 f192 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test tb4 f193 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test tb4 f194 double NULL NULL NULL NULL double
-NULL test tb4 f195 double unsigned NULL NULL NULL NULL double unsigned
-NULL test tb4 f196 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test tb4 f197 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test tb4 f198 float NULL NULL NULL NULL float
-NULL test tb4 f199 float unsigned NULL NULL NULL NULL float unsigned
-NULL test tb4 f200 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb4 f201 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb4 f202 float NULL NULL NULL NULL float
-NULL test tb4 f203 float NULL NULL NULL NULL float
-NULL test tb4 f204 float unsigned NULL NULL NULL NULL float unsigned
-NULL test tb4 f205 float unsigned NULL NULL NULL NULL float unsigned
-NULL test tb4 f206 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb4 f207 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb4 f208 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb4 f209 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb4 f210 float NULL NULL NULL NULL float
-NULL test tb4 f211 double NULL NULL NULL NULL double
-NULL test tb4 f212 float unsigned NULL NULL NULL NULL float unsigned
-NULL test tb4 f213 double unsigned NULL NULL NULL NULL double unsigned
-NULL test tb4 f214 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb4 f215 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test tb4 f216 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb4 f217 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test tb4 f218 date NULL NULL NULL NULL date
-NULL test tb4 f219 time NULL NULL NULL NULL time
-NULL test tb4 f220 datetime NULL NULL NULL NULL datetime
-NULL test tb4 f221 timestamp NULL NULL NULL NULL timestamp
-NULL test tb4 f222 year NULL NULL NULL NULL year(4)
-NULL test tb4 f223 year NULL NULL NULL NULL year(4)
-NULL test tb4 f224 year NULL NULL NULL NULL year(4)
-1.0000 test tb4 f225 enum 5 5 latin1 latin1_swedish_ci enum('1enum','2enum')
-1.0000 test tb4 f226 set 9 9 latin1 latin1_swedish_ci set('1set','2set')
-2.0000 test tb4 f236 char 95 190 ucs2 ucs2_general_ci char(95)
-2.0000 test tb4 f241 char 255 510 ucs2 ucs2_general_ci char(255)
-1.0000 test tb4 f237 char 130 130 latin1 latin1_bin char(130)
-1.0000 test tb4 f238 varchar 25000 25000 latin1 latin1_bin varchar(25000)
-NULL test tb4 f239 varbinary 0 0 NULL NULL varbinary(0)
-2.0000 test tb4 f240 varchar 1200 2400 ucs2 ucs2_general_ci varchar(1200)
-NULL test1 tb2 f59 decimal NULL NULL NULL NULL decimal(10,0) unsigned
-NULL test1 tb2 f60 decimal NULL NULL NULL NULL decimal(64,0) unsigned
-NULL test1 tb2 f61 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test1 tb2 f62 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
-NULL test1 tb2 f63 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test1 tb2 f64 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
-NULL test1 tb2 f65 decimal NULL NULL NULL NULL decimal(10,0)
-NULL test1 tb2 f66 decimal NULL NULL NULL NULL decimal(63,30)
-NULL test1 tb2 f67 decimal NULL NULL NULL NULL decimal(10,0) unsigned
-NULL test1 tb2 f68 decimal NULL NULL NULL NULL decimal(63,30) unsigned
-NULL test1 tb2 f69 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test1 tb2 f70 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
-NULL test1 tb2 f71 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test1 tb2 f72 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
-NULL test1 tb2 f73 double NULL NULL NULL NULL double
-NULL test1 tb2 f74 double unsigned NULL NULL NULL NULL double unsigned
-NULL test1 tb2 f75 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test1 tb2 f76 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test1 tb2 f77 double NULL NULL NULL NULL double
-NULL test1 tb2 f78 double unsigned NULL NULL NULL NULL double unsigned
-NULL test1 tb2 f79 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test1 tb2 f80 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test1 tb2 f81 float NULL NULL NULL NULL float
-NULL test1 tb2 f82 float unsigned NULL NULL NULL NULL float unsigned
-NULL test1 tb2 f83 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test1 tb2 f84 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test1 tb2 f85 float NULL NULL NULL NULL float
-NULL test1 tb2 f86 float NULL NULL NULL NULL float
-NULL test1 tb2 f87 float unsigned NULL NULL NULL NULL float unsigned
-NULL test1 tb2 f88 float unsigned NULL NULL NULL NULL float unsigned
-NULL test1 tb2 f89 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test1 tb2 f90 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test1 tb2 f91 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test1 tb2 f92 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test1 tb2 f93 float NULL NULL NULL NULL float
-NULL test1 tb2 f94 double NULL NULL NULL NULL double
-NULL test1 tb2 f95 float unsigned NULL NULL NULL NULL float unsigned
-NULL test1 tb2 f96 double unsigned NULL NULL NULL NULL double unsigned
-NULL test1 tb2 f97 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test1 tb2 f98 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test1 tb2 f99 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test1 tb2 f100 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test1 tb2 f101 date NULL NULL NULL NULL date
-NULL test1 tb2 f102 time NULL NULL NULL NULL time
-NULL test1 tb2 f103 datetime NULL NULL NULL NULL datetime
-NULL test1 tb2 f104 timestamp NULL NULL NULL NULL timestamp
-NULL test1 tb2 f105 year NULL NULL NULL NULL year(4)
-NULL test1 tb2 f106 year NULL NULL NULL NULL year(4)
-NULL test1 tb2 f107 year NULL NULL NULL NULL year(4)
-1.0000 test1 tb2 f108 enum 5 5 latin1 latin1_swedish_ci enum('1enum','2enum')
-1.0000 test1 tb2 f109 set 9 9 latin1 latin1_swedish_ci set('1set','2set')
-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 USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP TABLE IF EXISTS t_6_406001;
-DROP TABLE IF EXISTS t_6_406002;
-DROP DATABASE IF EXISTS db_datadict;
-
-Testcase 3.2.7.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC key_column_usage;
-Field Type Null Key Default Extra
-CONSTRAINT_CATALOG varchar(4096) YES NULL
-CONSTRAINT_SCHEMA varchar(64) NO
-CONSTRAINT_NAME varchar(64) NO
-TABLE_CATALOG varchar(4096) YES NULL
-TABLE_SCHEMA varchar(64) NO
-TABLE_NAME varchar(64) NO
-COLUMN_NAME varchar(64) NO
-ORDINAL_POSITION bigint(10) NO 0
-POSITION_IN_UNIQUE_CONSTRAINT bigint(10) YES NULL
-REFERENCED_TABLE_SCHEMA varchar(64) YES NULL
-REFERENCED_TABLE_NAME varchar(64) YES NULL
-REFERENCED_COLUMN_NAME varchar(64) YES NULL
-SHOW CREATE TABLE key_column_usage;
-Table Create Table
-KEY_COLUMN_USAGE CREATE TEMPORARY TABLE `KEY_COLUMN_USAGE` (
- `CONSTRAINT_CATALOG` varchar(4096) DEFAULT NULL,
- `CONSTRAINT_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `CONSTRAINT_NAME` varchar(64) NOT NULL DEFAULT '',
- `TABLE_CATALOG` varchar(4096) DEFAULT NULL,
- `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `TABLE_NAME` varchar(64) NOT NULL DEFAULT '',
- `COLUMN_NAME` varchar(64) NOT NULL DEFAULT '',
- `ORDINAL_POSITION` bigint(10) NOT NULL DEFAULT '0',
- `POSITION_IN_UNIQUE_CONSTRAINT` bigint(10) DEFAULT NULL,
- `REFERENCED_TABLE_SCHEMA` varchar(64) DEFAULT NULL,
- `REFERENCED_TABLE_NAME` varchar(64) DEFAULT NULL,
- `REFERENCED_COLUMN_NAME` varchar(64) DEFAULT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'key_column_usage'
-ORDER BY ordinal_position;
-COUNT(*)
-12
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'key_column_usage'
-ORDER BY ordinal_position;
-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
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE COLUMN_NAME 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE ORDINAL_POSITION 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select
-NULL information_schema KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(10) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_NAME 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME 12 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-
-Testcase 3.2.7.2 + 3.2.7.3:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-CREATE DATABASE db_datadict;
-CREATE USER 'user_1'@'localhost';
-CREATE USER 'user_2'@'localhost';
-USE db_datadict;
-CREATE TABLE t_40701 (
-f1 INT NOT NULL, PRIMARY KEY(f1),
-f2 INT, INDEX f2_ind(f2)
-);
-GRANT SELECT ON t_40701 to 'user_1'@'localhost';
-CREATE TABLE t_40702 (
-f1 INT NOT NULL, PRIMARY KEY(f1),
-f2 INT, INDEX f2_ind(f2)
-);
-GRANT SELECT ON t_40702 to 'user_2'@'localhost';
-FLUSH PRIVILEGES;
-SELECT * FROM information_schema.key_column_usage
-ORDER BY constraint_catalog, constraint_schema, constraint_name,
-table_catalog, table_schema, table_name, ordinal_position;
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
-NULL db_datadict PRIMARY NULL db_datadict t_40701 f1 1 NULL NULL NULL NULL
-NULL db_datadict PRIMARY NULL db_datadict t_40702 f1 1 NULL NULL NULL NULL
-NULL mysql name NULL mysql help_category name 1 NULL NULL NULL NULL
-NULL mysql name NULL mysql help_keyword name 1 NULL NULL NULL NULL
-NULL mysql name NULL mysql help_topic name 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql columns_priv Host 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql columns_priv Db 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql columns_priv User 3 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql columns_priv Table_name 4 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql columns_priv Column_name 5 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql db Host 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql db Db 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql db User 3 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql event db 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql event name 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql func name 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql help_category help_category_id 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql help_keyword help_keyword_id 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql help_relation help_keyword_id 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql help_relation help_topic_id 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql help_topic help_topic_id 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql host Host 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql host Db 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql ndb_binlog_index epoch 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql plugin name 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql proc db 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql proc name 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql proc type 3 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql procs_priv Host 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql procs_priv Db 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql procs_priv User 3 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql procs_priv Routine_name 4 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql procs_priv Routine_type 5 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql servers Server_name 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql tables_priv Host 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql tables_priv Db 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql tables_priv User 3 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql tables_priv Table_name 4 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql time_zone Time_zone_id 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql time_zone_leap_second Transition_time 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql time_zone_name Name 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql time_zone_transition Time_zone_id 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql time_zone_transition Transition_time 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql time_zone_transition_type Time_zone_id 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql time_zone_transition_type Transition_type_id 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql user Host 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql user User 2 NULL NULL NULL NULL
-connect(localhost,user_1,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.key_column_usage
-ORDER BY constraint_catalog, constraint_schema, constraint_name,
-table_catalog, table_schema, table_name, ordinal_position;
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
-NULL db_datadict PRIMARY NULL db_datadict t_40701 f1 1 NULL NULL NULL NULL
-connect(localhost,user_2,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.key_column_usage
-ORDER BY constraint_catalog, constraint_schema, constraint_name,
-table_catalog, table_schema, table_name, ordinal_position;
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
-NULL db_datadict PRIMARY NULL db_datadict t_40702 f1 1 NULL NULL NULL NULL
-
-root@localhost db_datadict
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP TABLE t_40701;
-DROP TABLE t_40702;
-DROP DATABASE IF EXISTS db_datadict;
-
-Testcase 3.2.8.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC routines;
-Field Type Null Key Default Extra
-SPECIFIC_NAME varchar(64) NO
-ROUTINE_CATALOG varchar(4096) YES NULL
-ROUTINE_SCHEMA varchar(64) NO
-ROUTINE_NAME varchar(64) NO
-ROUTINE_TYPE varchar(9) NO
-DTD_IDENTIFIER varchar(64) YES NULL
-ROUTINE_BODY varchar(8) NO
-ROUTINE_DEFINITION longtext YES NULL
-EXTERNAL_NAME varchar(64) YES NULL
-EXTERNAL_LANGUAGE varchar(64) YES NULL
-PARAMETER_STYLE varchar(8) NO
-IS_DETERMINISTIC varchar(3) NO
-SQL_DATA_ACCESS varchar(64) NO
-SQL_PATH varchar(64) YES NULL
-SECURITY_TYPE varchar(7) NO
-CREATED datetime NO 0000-00-00 00:00:00
-LAST_ALTERED datetime NO 0000-00-00 00:00:00
-SQL_MODE longtext NO
-ROUTINE_COMMENT varchar(64) NO
-DEFINER varchar(77) NO
-SHOW CREATE TABLE routines;
-Table Create Table
-ROUTINES CREATE TEMPORARY TABLE `ROUTINES` (
- `SPECIFIC_NAME` varchar(64) NOT NULL DEFAULT '',
- `ROUTINE_CATALOG` varchar(4096) DEFAULT NULL,
- `ROUTINE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `ROUTINE_NAME` varchar(64) NOT NULL DEFAULT '',
- `ROUTINE_TYPE` varchar(9) NOT NULL DEFAULT '',
- `DTD_IDENTIFIER` varchar(64) DEFAULT NULL,
- `ROUTINE_BODY` varchar(8) NOT NULL DEFAULT '',
- `ROUTINE_DEFINITION` longtext,
- `EXTERNAL_NAME` varchar(64) DEFAULT NULL,
- `EXTERNAL_LANGUAGE` varchar(64) DEFAULT NULL,
- `PARAMETER_STYLE` varchar(8) NOT NULL DEFAULT '',
- `IS_DETERMINISTIC` varchar(3) NOT NULL DEFAULT '',
- `SQL_DATA_ACCESS` varchar(64) NOT NULL DEFAULT '',
- `SQL_PATH` varchar(64) DEFAULT NULL,
- `SECURITY_TYPE` varchar(7) NOT NULL DEFAULT '',
- `CREATED` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `LAST_ALTERED` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `SQL_MODE` longtext NOT NULL,
- `ROUTINE_COMMENT` varchar(64) NOT NULL DEFAULT '',
- `DEFINER` varchar(77) NOT NULL DEFAULT ''
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'routines'
-ORDER BY ordinal_position;
-COUNT(*)
-20
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'routines'
-ORDER BY ordinal_position;
-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
-NULL information_schema ROUTINES SPECIFIC_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema ROUTINES ROUTINE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_TYPE 5 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
-NULL information_schema ROUTINES DTD_IDENTIFIER 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_BODY 7 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema ROUTINES ROUTINE_DEFINITION 8 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema ROUTINES EXTERNAL_NAME 9 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES EXTERNAL_LANGUAGE 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES PARAMETER_STYLE 11 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema ROUTINES IS_DETERMINISTIC 12 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ROUTINES SQL_DATA_ACCESS 13 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES SQL_PATH 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES SECURITY_TYPE 15 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select
-NULL information_schema ROUTINES CREATED 16 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema ROUTINES LAST_ALTERED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema ROUTINES SQL_MODE 18 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema ROUTINES ROUTINE_COMMENT 19 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES DEFINER 20 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
-
-Testcase 3.2.8.2 + 3.2.8.3:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-DROP DATABASE IF EXISTS db_datadict_2;
-CREATE DATABASE db_datadict;
-USE db_datadict;
-CREATE USER 'user_1'@'localhost';
-CREATE USER 'user_2'@'localhost';
-CREATE USER 'user_3'@'localhost';
-CREATE TABLE res_6_408002_1(f1 CHAR(3), f2 TEXT(25), f3 DATE, f4 INT);
-INSERT INTO res_6_408002_1(f1, f2, f3, f4)
-VALUES('abc', 'xyz', '1989-11-09', 0815);
-DROP PROCEDURE IF EXISTS sp_6_408002_1;
-CREATE PROCEDURE sp_6_408002_1()
-BEGIN
-SELECT * FROM db_datadict.res_6_408002_1;
-END//
-CREATE DATABASE db_datadict_2;
-USE db_datadict_2;
-CREATE TABLE res_6_408002_2(f1 CHAR(3), f2 TEXT(25), f3 DATE, f4 INT);
-INSERT INTO res_6_408002_2(f1, f2, f3, f4)
-VALUES('abc', 'xyz', '1990-10-03', 4711);
-DROP PROCEDURE IF EXISTS sp_6_408002_2;
-CREATE PROCEDURE sp_6_408002_2()
-BEGIN
-SELECT * FROM db_datadict_2.res_6_408002_2;
-END//
-GRANT SELECT ON db_datadict_2.* TO 'user_1'@'localhost';
-GRANT EXECUTE ON db_datadict_2.* TO 'user_1'@'localhost';
-GRANT EXECUTE ON db_datadict.* TO 'user_1'@'localhost';
-GRANT SELECT ON db_datadict.* TO 'user_2'@'localhost';
-GRANT EXECUTE ON PROCEDURE db_datadict_2.sp_6_408002_2 TO 'user_2'@'localhost';
-GRANT EXECUTE ON db_datadict_2.* TO 'user_2'@'localhost';
-FLUSH PRIVILEGES;
-connect(localhost,user_1,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.routines;
-SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER
-sp_6_408002_1 NULL db_datadict sp_6_408002_1 PROCEDURE NULL SQL NULL NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost
-sp_6_408002_2 NULL db_datadict_2 sp_6_408002_2 PROCEDURE NULL SQL NULL NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost
-connect(localhost,user_2,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.routines;
-SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER
-sp_6_408002_2 NULL db_datadict_2 sp_6_408002_2 PROCEDURE NULL SQL NULL NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost
-connect(localhost,user_3,,test,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.routines;
-SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER
-
-root@localhost db_datadict_2
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP USER 'user_3'@'localhost';
-use db_datadict;
-DROP TABLE res_6_408002_1;
-DROP PROCEDURE sp_6_408002_1;
-USE db_datadict_2;
-DROP TABLE res_6_408002_2;
-DROP PROCEDURE sp_6_408002_2;
-USE test;
-DROP DATABASE db_datadict;
-DROP DATABASE db_datadict_2;
-
-Testcase 3.2.8.4:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-CREATE DATABASE db_datadict;
-USE db_datadict;
-create table res_6_408004_1(f1 longtext , f2 mediumint , f3 longblob , f4 real , f5 year);
-insert into res_6_408004_1 values ('abc', 98765 , 99999999 , 98765, 10);
-drop procedure if exists sp_6_408004;
-create table res_6_408004_2(f1 longtext , f2 mediumint , f3 longblob , f4 real , f5 year);
-insert into res_6_408004_2 values ('abc', 98765 , 99999999 , 98765, 10);
-
-Checking the max. possible length of (currently) 4 GByte is not possible in this environment here.
---------------------------------------------------------------------------------------------------
-create procedure sp_6_408004 ()
-begin
-declare done integer default 0;
-declare variable_number_1 longtext;
-declare variable_number_2 mediumint;
-declare variable_number_3 longblob;
-declare variable_number_4 real;
-declare variable_number_5 year;
-declare cursor_number_1 cursor for select * from res_6_408004_1 limit 0, 10;
-declare cursor_number_2 cursor for select * from res_6_408004_1 limit 0, 10;
-declare cursor_number_3 cursor for select * from res_6_408004_1 limit 0, 10;
-declare cursor_number_4 cursor for select * from res_6_408004_1 limit 0, 10;
-declare cursor_number_5 cursor for select * from res_6_408004_1 limit 0, 10;
-declare continue handler for sqlstate '02000' set done = 1;
-begin
-open cursor_number_1;
-while done <> 1 do
-fetch cursor_number_1 into variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5;
-if done <> 0 then
-insert into res_6_408004_2 values (variable_number_1, variable_number_2, variable_number_3,
-variable_number_4, variable_number_5);
-end if;
-end while;
-begin
-begin
-set done = 0;
-open cursor_number_2;
-while done <> 1 do
-fetch cursor_number_2 into variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5;
-if done <> 0 then
-insert into res_6_408004_2 values(variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5);
-end if;
-end while;
-end;
-set done = 0;
-open cursor_number_3;
-while done <> 1 do
-fetch cursor_number_3 into variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5;
-if done <> 0 then
-insert into res_6_408004_2 values(variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5);
-end if;
-end while;
-end;
-end;
-begin
-set done = 0;
-open cursor_number_4;
-while done <> 1 do
-fetch cursor_number_4 into variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5;
-if done <> 0 then
-insert into res_6_408004_2 values (variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5);
-end if;
-end while;
-end;
-begin
-set @a='test row';
-select @a;
-select @a;
-select @a;
-end;
-begin
-set done = 0;
-open cursor_number_5;
-while done <> 1 do
-fetch cursor_number_5 into variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5;
-if done <> 0 then
-insert into res_6_408004_2 values (variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5);
-end if;
-end while;
-end;
-begin
-set @a='test row';
-select @a;
-select @a;
-select @a;
-end;
-end//
-call sp_6_408004 ();
-@a
-test row
-@a
-test row
-@a
-test row
-@a
-test row
-@a
-test row
-@a
-test row
-select * from res_6_408004_2;
-f1 f2 f3 f4 f5
-abc 98765 99999999 98765 2010
-abc 98765 99999999 98765 2010
-abc 98765 99999999 98765 2010
-abc 98765 99999999 98765 2010
-abc 98765 99999999 98765 2010
-abc 98765 99999999 98765 2010
-SELECT *, LENGTH(routine_definition)
-FROM information_schema.routines
-WHERE routine_schema = 'db_datadict';
-SPECIFIC_NAME sp_6_408004
-ROUTINE_CATALOG NULL
-ROUTINE_SCHEMA db_datadict
-ROUTINE_NAME sp_6_408004
-ROUTINE_TYPE PROCEDURE
-DTD_IDENTIFIER NULL
-ROUTINE_BODY SQL
-ROUTINE_DEFINITION begin
-declare done integer default 0;
-declare variable_number_1 longtext;
-declare variable_number_2 mediumint;
-declare variable_number_3 longblob;
-declare variable_number_4 real;
-declare variable_number_5 year;
-declare cursor_number_1 cursor for select * from res_6_408004_1 limit 0, 10;
-declare cursor_number_2 cursor for select * from res_6_408004_1 limit 0, 10;
-declare cursor_number_3 cursor for select * from res_6_408004_1 limit 0, 10;
-declare cursor_number_4 cursor for select * from res_6_408004_1 limit 0, 10;
-declare cursor_number_5 cursor for select * from res_6_408004_1 limit 0, 10;
-declare continue handler for sqlstate '02000' set done = 1;
-begin
-open cursor_number_1;
-while done <> 1 do
-fetch cursor_number_1 into variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5;
-if done <> 0 then
-insert into res_6_408004_2 values (variable_number_1, variable_number_2, variable_number_3,
-variable_number_4, variable_number_5);
-end if;
-end while;
-begin
-begin
-set done = 0;
-open cursor_number_2;
-while done <> 1 do
-fetch cursor_number_2 into variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5;
-if done <> 0 then
-insert into res_6_408004_2 values(variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5);
-end if;
-end while;
-end;
-set done = 0;
-open cursor_number_3;
-while done <> 1 do
-fetch cursor_number_3 into variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5;
-if done <> 0 then
-insert into res_6_408004_2 values(variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5);
-end if;
-end while;
-end;
-end;
-begin
-set done = 0;
-open cursor_number_4;
-while done <> 1 do
-fetch cursor_number_4 into variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5;
-if done <> 0 then
-insert into res_6_408004_2 values (variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5);
-end if;
-end while;
-end;
-begin
-set @a='test row';
-select @a;
-select @a;
-select @a;
-end;
-begin
-set done = 0;
-open cursor_number_5;
-while done <> 1 do
-fetch cursor_number_5 into variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5;
-if done <> 0 then
-insert into res_6_408004_2 values (variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5);
-end if;
-end while;
-end;
-begin
-set @a='test row';
-select @a;
-select @a;
-select @a;
-end;
-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 YYYY-MM-DD hh:mm:ss
-LAST_ALTERED YYYY-MM-DD hh:mm:ss
-SQL_MODE
-ROUTINE_COMMENT
-DEFINER root@localhost
-LENGTH(routine_definition) 2549
-use db_datadict;
-drop procedure sp_6_408004;
-drop table res_6_408004_1;
-drop table res_6_408004_2;
-use test;
-drop database db_datadict;
-
-Testcase 3.2.9.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC schemata;
-Field Type Null Key Default Extra
-CATALOG_NAME varchar(4096) YES NULL
-SCHEMA_NAME varchar(64) NO
-DEFAULT_CHARACTER_SET_NAME varchar(64) NO
-DEFAULT_COLLATION_NAME varchar(64) NO
-SQL_PATH varchar(4096) YES NULL
-SHOW CREATE TABLE schemata;
-Table Create Table
-SCHEMATA CREATE TEMPORARY TABLE `SCHEMATA` (
- `CATALOG_NAME` varchar(4096) DEFAULT NULL,
- `SCHEMA_NAME` varchar(64) NOT NULL DEFAULT '',
- `DEFAULT_CHARACTER_SET_NAME` varchar(64) NOT NULL DEFAULT '',
- `DEFAULT_COLLATION_NAME` varchar(64) NOT NULL DEFAULT '',
- `SQL_PATH` varchar(4096) DEFAULT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'schemata'
-ORDER BY ordinal_position;
-COUNT(*)
-5
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'schemata'
-ORDER BY ordinal_position;
-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
-NULL information_schema SCHEMATA CATALOG_NAME 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema SCHEMATA SCHEMA_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA DEFAULT_COLLATION_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA SQL_PATH 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-
-Testcase 3.2.9.2 + 3.2.9.3:
---------------------------------------------------------------------------------
-CREATE USER 'user_1'@'localhost';
-CREATE USER 'user_2'@'localhost';
-CREATE USER 'user_3'@'localhost';
-DROP DATABASE IF EXISTS db_datadict_1;
-DROP DATABASE IF EXISTS db_datadict_2;
-CREATE DATABASE db_datadict_1;
-CREATE DATABASE db_datadict_2;
-GRANT SELECT ON db_datadict_1.* to 'user_1'@'localhost';
-GRANT SELECT ON db_datadict_2.* to 'user_2'@'localhost';
-FLUSH PRIVILEGES;
-connect(localhost,user_1,,db_datadict_1,MYSQL_PORT,MYSQL_SOCK);
-SELECT COUNT(*) FROM information_schema.schemata;
-COUNT(*)
-3
-SELECT * FROM information_schema.schemata;
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL information_schema utf8 utf8_general_ci NULL
-NULL db_datadict_1 latin1 latin1_swedish_ci NULL
-NULL test latin1 latin1_swedish_ci NULL
-connect(localhost,user_2,,db_datadict_2,MYSQL_PORT,MYSQL_SOCK);
-SELECT COUNT(*) FROM information_schema.schemata;
-COUNT(*)
-3
-SELECT * FROM information_schema.schemata;
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL information_schema utf8 utf8_general_ci NULL
-NULL db_datadict_2 latin1 latin1_swedish_ci NULL
-NULL test latin1 latin1_swedish_ci NULL
-connect(localhost,user_3,,test,MYSQL_PORT,MYSQL_SOCK);
-SELECT COUNT(*) FROM information_schema.schemata;
-COUNT(*)
-2
-SELECT * FROM information_schema.schemata;
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL information_schema utf8 utf8_general_ci NULL
-NULL test latin1 latin1_swedish_ci NULL
-
-root@localhost information_schema
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP USER 'user_3'@'localhost';
-DROP DATABASE db_datadict_1;
-DROP DATABASE db_datadict_2;
-
-Testcase 3.2.10.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC table_constraints;
-Field Type Null Key Default Extra
-CONSTRAINT_CATALOG varchar(4096) YES NULL
-CONSTRAINT_SCHEMA varchar(64) NO
-CONSTRAINT_NAME varchar(64) NO
-TABLE_SCHEMA varchar(64) NO
-TABLE_NAME varchar(64) NO
-CONSTRAINT_TYPE varchar(64) NO
-SHOW CREATE TABLE table_constraints;
-Table Create Table
-TABLE_CONSTRAINTS CREATE TEMPORARY TABLE `TABLE_CONSTRAINTS` (
- `CONSTRAINT_CATALOG` varchar(4096) DEFAULT NULL,
- `CONSTRAINT_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `CONSTRAINT_NAME` varchar(64) NOT NULL DEFAULT '',
- `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `TABLE_NAME` varchar(64) NOT NULL DEFAULT '',
- `CONSTRAINT_TYPE` varchar(64) NOT NULL DEFAULT ''
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'table_constraints'
-ORDER BY ordinal_position;
-COUNT(*)
-6
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'table_constraints'
-ORDER BY ordinal_position;
-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
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS TABLE_SCHEMA 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS TABLE_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-
-Testcase 3.2.10.2 + 3.2.10.3:
---------------------------------------------------------------------------------
-CREATE USER 'user_1'@'localhost';
-CREATE USER 'user_2'@'localhost';
-DROP DATABASE IF EXISTS db_datadict;
-DROP DATABASE IF EXISTS db_datadict_2;
-CREATE DATABASE db_datadict;
-CREATE DATABASE db_datadict_2;
-USE db_datadict;
-CREATE TABLE res_6_401003_1(f1 INT NOT NULL, PRIMARY KEY(f1), f2 INT, INDEX f2_ind(f2));
-USE db_datadict_2;
-CREATE TABLE res_6_401003_2(f1 INT NOT NULL, PRIMARY KEY(f1), f2 INT, INDEX f2_ind(f2));
-GRANT SELECT ON db_datadict.res_6_401003_1 TO 'user_1'@'localhost';
-GRANT SELECT ON db_datadict_2.res_6_401003_2 TO 'user_2'@'localhost';
-FLUSH PRIVILEGES;
-connect(localhost,user_1,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.table_constraints;
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE
-NULL db_datadict PRIMARY db_datadict res_6_401003_1 PRIMARY KEY
-SELECT COUNT(*) FROM information_schema.table_constraints;
-COUNT(*)
-1
-connect(localhost,user_2,,db_datadict_2,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.table_constraints;
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE
-NULL db_datadict_2 PRIMARY db_datadict_2 res_6_401003_2 PRIMARY KEY
-SELECT COUNT(*) FROM information_schema.table_constraints;
-COUNT(*)
-1
-use db_datadict;
-
-root@localhost db_datadict
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP TABLE res_6_401003_1;
-USE db_datadict_2;
-DROP TABLE res_6_401003_2;
-USE test;
-DROP DATABASE db_datadict;
-DROP DATABASE db_datadict_2;
-
-Testcase 3.2.11.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC table_privileges;
-Field Type Null Key Default Extra
-GRANTEE varchar(81) NO
-TABLE_CATALOG varchar(4096) YES NULL
-TABLE_SCHEMA varchar(64) NO
-TABLE_NAME varchar(64) NO
-PRIVILEGE_TYPE varchar(64) NO
-IS_GRANTABLE varchar(3) NO
-SHOW CREATE TABLE table_privileges;
-Table Create Table
-TABLE_PRIVILEGES CREATE TEMPORARY TABLE `TABLE_PRIVILEGES` (
- `GRANTEE` varchar(81) NOT NULL DEFAULT '',
- `TABLE_CATALOG` varchar(4096) DEFAULT NULL,
- `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `TABLE_NAME` varchar(64) NOT NULL DEFAULT '',
- `PRIVILEGE_TYPE` varchar(64) NOT NULL DEFAULT '',
- `IS_GRANTABLE` varchar(3) NOT NULL DEFAULT ''
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'table_privileges'
-ORDER BY ordinal_position;
-COUNT(*)
-6
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'table_privileges'
-ORDER BY ordinal_position;
-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
-NULL information_schema TABLE_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema TABLE_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLE_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES PRIVILEGE_TYPE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES IS_GRANTABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-
-Testcase 3.2.11.2 + 3.2.11.3 + 3.2.11.4:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-create database db_datadict;
-CREATE USER 'user_1'@'localhost';
-GRANT CREATE, SELECT ON db_datadict.* TO 'user_1'@'localhost' WITH GRANT OPTION;
-CREATE USER 'user_2'@'localhost';
-CREATE USER 'user_3'@'localhost';
-use db_datadict;
-create table tb1(f1 int, f2 int, f3 int);
-grant select on db_datadict.tb1 to 'user_1'@'localhost';
-GRANT ALL on db_datadict.tb1 to 'user_2'@'localhost' WITH GRANT OPTION;
-FLUSH PRIVILEGES;
-connect(localhost,user_1,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-CREATE TABLE tb3 (f1 TEXT);
-GRANT SELECT ON db_datadict.tb3 to 'user_3'@'localhost';
-SELECT * FROM information_schema.table_privileges
-WHERE table_name LIKE 'tb%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL db_datadict tb1 SELECT NO
-connect(localhost,user_2,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.table_privileges;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-'user_2'@'localhost' NULL db_datadict tb1 SELECT YES
-'user_2'@'localhost' NULL db_datadict tb1 INSERT YES
-'user_2'@'localhost' NULL db_datadict tb1 UPDATE YES
-'user_2'@'localhost' NULL db_datadict tb1 DELETE YES
-'user_2'@'localhost' NULL db_datadict tb1 CREATE YES
-'user_2'@'localhost' NULL db_datadict tb1 DROP YES
-'user_2'@'localhost' NULL db_datadict tb1 REFERENCES YES
-'user_2'@'localhost' NULL db_datadict tb1 INDEX YES
-'user_2'@'localhost' NULL db_datadict tb1 ALTER YES
-'user_2'@'localhost' NULL db_datadict tb1 CREATE VIEW YES
-'user_2'@'localhost' NULL db_datadict tb1 SHOW VIEW YES
-'user_2'@'localhost' NULL db_datadict tb1 TRIGGER YES
-SELECT USER(), COUNT(*)
-FROM information_schema.table_privileges
-WHERE grantee = USER();
-USER() COUNT(*)
-user_2@localhost 0
-SELECT USER(), COUNT(*)
-FROM information_schema.table_privileges
-WHERE grantee = "'user_2'@'localhost'";
-USER() COUNT(*)
-user_2@localhost 12
-connect(localhost,user_3,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.table_privileges;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-'user_3'@'localhost' NULL db_datadict tb3 SELECT NO
-
-root@localhost db_datadict
-SELECT * FROM information_schema.table_privileges;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-'user_2'@'localhost' NULL db_datadict tb1 SELECT YES
-'user_2'@'localhost' NULL db_datadict tb1 INSERT YES
-'user_2'@'localhost' NULL db_datadict tb1 UPDATE YES
-'user_2'@'localhost' NULL db_datadict tb1 DELETE YES
-'user_2'@'localhost' NULL db_datadict tb1 CREATE YES
-'user_2'@'localhost' NULL db_datadict tb1 DROP YES
-'user_2'@'localhost' NULL db_datadict tb1 REFERENCES YES
-'user_2'@'localhost' NULL db_datadict tb1 INDEX YES
-'user_2'@'localhost' NULL db_datadict tb1 ALTER YES
-'user_2'@'localhost' NULL db_datadict tb1 CREATE VIEW YES
-'user_2'@'localhost' NULL db_datadict tb1 SHOW VIEW YES
-'user_2'@'localhost' NULL db_datadict tb1 TRIGGER YES
-'user_1'@'localhost' NULL db_datadict tb1 SELECT NO
-'user_3'@'localhost' NULL db_datadict tb3 SELECT NO
-
-root@localhost db_datadict
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP USER 'user_3'@'localhost';
-drop table db_datadict.tb1;
-drop table db_datadict.tb3;
-use test;
-drop database db_datadict;
-
-Testcase 3.2.12.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC tables;
-Field Type Null Key Default Extra
-TABLE_CATALOG varchar(4096) YES NULL
-TABLE_SCHEMA varchar(64) NO
-TABLE_NAME varchar(64) NO
-TABLE_TYPE varchar(64) NO
-ENGINE varchar(64) YES NULL
-VERSION bigint(21) unsigned YES NULL
-ROW_FORMAT varchar(10) YES NULL
-TABLE_ROWS bigint(21) unsigned YES NULL
-AVG_ROW_LENGTH bigint(21) unsigned YES NULL
-DATA_LENGTH bigint(21) unsigned YES NULL
-MAX_DATA_LENGTH bigint(21) unsigned YES NULL
-INDEX_LENGTH bigint(21) unsigned YES NULL
-DATA_FREE bigint(21) unsigned YES NULL
-AUTO_INCREMENT bigint(21) unsigned YES NULL
-CREATE_TIME datetime YES NULL
-UPDATE_TIME datetime YES NULL
-CHECK_TIME datetime YES NULL
-TABLE_COLLATION varchar(64) YES NULL
-CHECKSUM bigint(21) unsigned YES NULL
-CREATE_OPTIONS varchar(255) YES NULL
-TABLE_COMMENT varchar(80) NO
-SHOW CREATE TABLE tables;
-Table Create Table
-TABLES CREATE TEMPORARY TABLE `TABLES` (
- `TABLE_CATALOG` varchar(4096) DEFAULT NULL,
- `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `TABLE_NAME` varchar(64) NOT NULL DEFAULT '',
- `TABLE_TYPE` varchar(64) NOT NULL DEFAULT '',
- `ENGINE` varchar(64) DEFAULT NULL,
- `VERSION` bigint(21) unsigned DEFAULT NULL,
- `ROW_FORMAT` varchar(10) DEFAULT NULL,
- `TABLE_ROWS` bigint(21) unsigned DEFAULT NULL,
- `AVG_ROW_LENGTH` bigint(21) unsigned DEFAULT NULL,
- `DATA_LENGTH` bigint(21) unsigned DEFAULT NULL,
- `MAX_DATA_LENGTH` bigint(21) unsigned DEFAULT NULL,
- `INDEX_LENGTH` bigint(21) unsigned DEFAULT NULL,
- `DATA_FREE` bigint(21) unsigned DEFAULT NULL,
- `AUTO_INCREMENT` bigint(21) unsigned DEFAULT NULL,
- `CREATE_TIME` datetime DEFAULT NULL,
- `UPDATE_TIME` datetime DEFAULT NULL,
- `CHECK_TIME` datetime DEFAULT NULL,
- `TABLE_COLLATION` varchar(64) DEFAULT NULL,
- `CHECKSUM` bigint(21) unsigned DEFAULT NULL,
- `CREATE_OPTIONS` varchar(255) DEFAULT NULL,
- `TABLE_COMMENT` varchar(80) NOT NULL DEFAULT ''
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'tables'
-ORDER BY ordinal_position;
-COUNT(*)
-21
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'tables'
-ORDER BY ordinal_position;
-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
-NULL information_schema TABLES TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
-NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-
-Testcase 3.2.12.2 + 3.2.12.3:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-create database db_datadict;
-CREATE USER 'user_1'@'localhost';
-GRANT CREATE, CREATE VIEW, INSERT, SELECT ON db_datadict.*
-TO 'user_1'@'localhost' WITH GRANT OPTION;
-CREATE USER 'user_2'@'localhost';
-CREATE USER 'user_3'@'localhost';
-use db_datadict;
-create table tb1(f1 int, f2 int, f3 int);
-grant select on db_datadict.tb1 to 'user_1'@'localhost';
-GRANT ALL on db_datadict.tb1 to 'user_2'@'localhost' WITH GRANT OPTION;
-FLUSH PRIVILEGES;
-connect(localhost,user_1,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-CREATE TABLE tb2 (f1 DECIMAL);
-CREATE TABLE tb3 (f1 TEXT);
-GRANT SELECT ON db_datadict.tb3 to 'user_3'@'localhost';
-GRANT INSERT ON db_datadict.tb3 to 'user_2'@'localhost';
-CREATE VIEW v3 AS SELECT * FROM tb3;
-GRANT SELECT ON db_datadict.v3 to 'user_3'@'localhost';
-SELECT * FROM information_schema.tables
-WHERE table_schema = 'information_schema';
-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
-NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLUMNS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema ENGINES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema EVENTS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema FILES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema GLOBAL_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema GLOBAL_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema PARTITIONS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema PLUGINS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema PROCESSLIST SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema REFERENTIAL_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema ROUTINES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SESSION_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SESSION_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema STATISTICS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TABLES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema VIEWS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-SELECT * FROM information_schema.tables
-WHERE NOT( table_schema = 'information_schema');
-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
-NULL db_datadict tb1 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL db_datadict tb2 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL VIEW
-NULL test t1 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t10 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t11 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t2 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t3 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t4 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t7 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t8 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t9 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test tb1 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test tb2 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test tb3 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test tb4 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-connect(localhost,user_2,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.tables
-WHERE table_schema = 'information_schema';
-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
-NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLUMNS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema ENGINES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema EVENTS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema FILES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema GLOBAL_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema GLOBAL_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema PARTITIONS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema PLUGINS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema PROCESSLIST SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema REFERENTIAL_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema ROUTINES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SESSION_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SESSION_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema STATISTICS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TABLES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema VIEWS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-SELECT * FROM information_schema.tables
-WHERE NOT( table_schema = 'information_schema');
-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
-NULL db_datadict tb1 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t1 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t10 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t11 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t2 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t3 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t4 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t7 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t8 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t9 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test tb1 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test tb2 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test tb3 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test tb4 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-connect(localhost,user_3,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.tables
-WHERE table_schema = 'information_schema';
-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
-NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLUMNS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema ENGINES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema EVENTS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema FILES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema GLOBAL_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema GLOBAL_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema PARTITIONS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema PLUGINS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema PROCESSLIST SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema REFERENTIAL_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema ROUTINES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SESSION_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SESSION_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema STATISTICS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TABLES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema VIEWS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-SELECT * FROM information_schema.tables
-WHERE NOT( table_schema = 'information_schema');
-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
-NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL VIEW
-NULL test t1 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t10 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t11 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t2 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t3 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t4 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t7 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t8 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t9 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test tb1 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test tb2 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test tb3 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test tb4 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-
-root@localhost db_datadict
-SELECT * FROM information_schema.tables
-WHERE table_schema = 'information_schema';
-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
-NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLUMNS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema ENGINES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema EVENTS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema FILES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema GLOBAL_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema GLOBAL_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema PARTITIONS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema PLUGINS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema PROCESSLIST SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema REFERENTIAL_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema ROUTINES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SESSION_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SESSION_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema STATISTICS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TABLES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema VIEWS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-SELECT * FROM information_schema.tables
-WHERE NOT( table_schema = 'information_schema');
-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
-NULL db_datadict tb1 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL db_datadict tb2 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL VIEW
-NULL mysql columns_priv BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Column privileges
-NULL mysql db BASE TABLE MyISAM 10 Fixed 3 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Database privileges
-NULL mysql event BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Events
-NULL mysql func BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL User defined functions
-NULL mysql general_log BASE TABLE CSV 10 Dynamic 2 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL General log
-NULL mysql help_category BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL help categories
-NULL mysql help_keyword BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL help keywords
-NULL mysql help_relation BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL keyword-topic relation
-NULL mysql help_topic BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL help topics
-NULL mysql host BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Host privileges; Merged with database privileges
-NULL mysql ndb_binlog_index BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL mysql plugin BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL MySQL plugins
-NULL mysql proc BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Stored Procedures
-NULL mysql procs_priv BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Procedure privileges
-NULL mysql servers BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL MySQL Foreign Servers table
-NULL mysql slow_log BASE TABLE CSV 10 Dynamic 2 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Slow log
-NULL mysql tables_priv BASE TABLE MyISAM 10 Fixed 5 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Table privileges
-NULL mysql time_zone BASE TABLE MyISAM 10 Fixed 5 #ARL# #DL# #MDL# #IL# #DF# 6 YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Time zones
-NULL mysql time_zone_leap_second BASE TABLE MyISAM 10 Fixed 22 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Leap seconds information for time zones
-NULL mysql time_zone_name BASE TABLE MyISAM 10 Fixed 6 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Time zone names
-NULL mysql time_zone_transition BASE TABLE MyISAM 10 Fixed 393 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Time zone transitions
-NULL mysql time_zone_transition_type BASE TABLE MyISAM 10 Fixed 31 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Time zone transition types
-NULL mysql user BASE TABLE MyISAM 10 Dynamic 6 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Users and global privileges
-NULL test t1 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t10 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t11 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t2 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t3 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t4 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t7 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t8 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t9 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test tb1 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test tb2 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test tb3 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test tb4 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test1 tb2 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test4 t6 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP USER 'user_3'@'localhost';
-DROP TABLE db_datadict.tb1;
-DROP TABLE db_datadict.tb3;
-DROP VIEW db_datadict.v3;
-USE test;
-DROP DATABASE db_datadict;
-
-Testcase 3.2.13.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC views;
-Field Type Null Key Default Extra
-TABLE_CATALOG varchar(4096) YES NULL
-TABLE_SCHEMA varchar(64) NO
-TABLE_NAME varchar(64) NO
-VIEW_DEFINITION longtext NO
-CHECK_OPTION varchar(8) NO
-IS_UPDATABLE varchar(3) NO
-DEFINER varchar(77) NO
-SECURITY_TYPE varchar(7) NO
-SHOW CREATE TABLE views;
-Table Create Table
-VIEWS CREATE TEMPORARY TABLE `VIEWS` (
- `TABLE_CATALOG` varchar(4096) DEFAULT NULL,
- `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `TABLE_NAME` varchar(64) NOT NULL DEFAULT '',
- `VIEW_DEFINITION` longtext NOT NULL,
- `CHECK_OPTION` varchar(8) NOT NULL DEFAULT '',
- `IS_UPDATABLE` varchar(3) NOT NULL DEFAULT '',
- `DEFINER` varchar(77) NOT NULL DEFAULT '',
- `SECURITY_TYPE` varchar(7) NOT NULL DEFAULT ''
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'views'
-ORDER BY ordinal_position;
-COUNT(*)
-8
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'views'
-ORDER BY ordinal_position;
-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
-NULL information_schema VIEWS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema VIEWS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema VIEWS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema VIEWS VIEW_DEFINITION 4 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema VIEWS CHECK_OPTION 5 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema VIEWS IS_UPDATABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema VIEWS DEFINER 7 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
-NULL information_schema VIEWS SECURITY_TYPE 8 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select
-
-Testcase 3.2.13.2 + 3.2.13.3:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-CREATE DATABASE db_datadict;
-CREATE USER 'user_1'@'localhost';
-CREATE USER 'user_2'@'localhost';
-CREATE USER 'user_no_views'@'localhost';
-USE db_datadict;
-CREATE TABLE tb_401302(f1 INT, f2 INT, f3 INT);
-CREATE VIEW v_granted_to_1 AS SELECT * FROM tb_401302;
-CREATE VIEW v_granted_glob AS SELECT f2, f3 FROM tb_401302;
-GRANT SELECT ON db_datadict.tb_401302 TO 'user_1'@'localhost';
-GRANT SELECT ON db_datadict.v_granted_to_1 TO 'user_1'@'localhost';
-GRANT SHOW VIEW, CREATE VIEW ON db_datadict.* TO 'user_2'@'localhost';
-FLUSH PRIVILEGES;
-SELECT * FROM information_schema.views;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE
-NULL db_datadict v_granted_glob /* ALGORITHM=UNDEFINED */ select `db_datadict`.`tb_401302`.`f2` AS `f2`,`db_datadict`.`tb_401302`.`f3` AS `f3` from `db_datadict`.`tb_401302` NONE YES root@localhost DEFINER
-NULL db_datadict v_granted_to_1 /* ALGORITHM=UNDEFINED */ select `db_datadict`.`tb_401302`.`f1` AS `f1`,`db_datadict`.`tb_401302`.`f2` AS `f2`,`db_datadict`.`tb_401302`.`f3` AS `f3` from `db_datadict`.`tb_401302` NONE YES root@localhost DEFINER
-connect(localhost,user_1,,test,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.views;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE
-NULL db_datadict v_granted_to_1 NONE YES root@localhost DEFINER
-connect(localhost,user_2,,test,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.views;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE
-NULL db_datadict v_granted_glob NONE YES root@localhost DEFINER
-NULL db_datadict v_granted_to_1 NONE YES root@localhost DEFINER
-connect(localhost,user_no_views,,test,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.views;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE
-
-root@localhost db_datadict
-USE db_datadict;
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP USER 'user_no_views'@'localhost';
-DROP VIEW v_granted_to_1;
-DROP TABLE tb_401302;
-DROP VIEW v_granted_glob;
-USE test;
-DROP DATABASE db_datadict;
-
-Testcase 3.2.14.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC statistics;
-Field Type Null Key Default Extra
-TABLE_CATALOG varchar(4096) YES NULL
-TABLE_SCHEMA varchar(64) NO
-TABLE_NAME varchar(64) NO
-NON_UNIQUE bigint(1) NO 0
-INDEX_SCHEMA varchar(64) NO
-INDEX_NAME varchar(64) NO
-SEQ_IN_INDEX bigint(2) NO 0
-COLUMN_NAME varchar(64) NO
-COLLATION varchar(1) YES NULL
-CARDINALITY bigint(21) YES NULL
-SUB_PART bigint(3) YES NULL
-PACKED varchar(10) YES NULL
-NULLABLE varchar(3) NO
-INDEX_TYPE varchar(16) NO
-COMMENT varchar(16) YES NULL
-SHOW CREATE TABLE statistics;
-Table Create Table
-STATISTICS CREATE TEMPORARY TABLE `STATISTICS` (
- `TABLE_CATALOG` varchar(4096) DEFAULT NULL,
- `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `TABLE_NAME` varchar(64) NOT NULL DEFAULT '',
- `NON_UNIQUE` bigint(1) NOT NULL DEFAULT '0',
- `INDEX_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `INDEX_NAME` varchar(64) NOT NULL DEFAULT '',
- `SEQ_IN_INDEX` bigint(2) NOT NULL DEFAULT '0',
- `COLUMN_NAME` varchar(64) NOT NULL DEFAULT '',
- `COLLATION` varchar(1) DEFAULT NULL,
- `CARDINALITY` bigint(21) DEFAULT NULL,
- `SUB_PART` bigint(3) DEFAULT NULL,
- `PACKED` varchar(10) DEFAULT NULL,
- `NULLABLE` varchar(3) NOT NULL DEFAULT '',
- `INDEX_TYPE` varchar(16) NOT NULL DEFAULT '',
- `COMMENT` varchar(16) DEFAULT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'statistics'
-ORDER BY ordinal_position;
-COUNT(*)
-15
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'statistics'
-ORDER BY ordinal_position;
-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
-NULL information_schema STATISTICS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema STATISTICS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS NON_UNIQUE 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(1) select
-NULL information_schema STATISTICS INDEX_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS INDEX_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS SEQ_IN_INDEX 7 0 NO bigint NULL NULL 19 0 NULL NULL bigint(2) select
-NULL information_schema STATISTICS COLUMN_NAME 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS COLLATION 9 NULL YES varchar 1 3 NULL NULL utf8 utf8_general_ci varchar(1) select
-NULL information_schema STATISTICS CARDINALITY 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select
-NULL information_schema STATISTICS SUB_PART 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema STATISTICS PACKED 12 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema STATISTICS NULLABLE 13 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema STATISTICS INDEX_TYPE 14 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema STATISTICS COMMENT 15 NULL YES varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-
-Testcase 3.2.14.2 + 3.2.14.3:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-DROP DATABASE IF EXISTS db_datadict_2;
-CREATE DATABASE db_datadict;
-CREATE DATABASE db_datadict_2;
-CREATE USER 'user_1'@'localhost';
-CREATE USER 'user_2'@'localhost';
-USE db_datadict;
-create table tb_6_401402_1(f1 int not null, primary key(f1), f2 int, index f2_ind(f2));
-create table tb_6_401402_2(f1 int not null, primary key(f1), f2 int, index f2_ind(f2));
-grant select on db_datadict.tb_6_401402_1 to 'user_1'@'localhost' WITH GRANT OPTION;
-USE db_datadict_2;
-create table tb_2_1(f1 int not null, primary key(f1), f2 int, index f2_ind(f2));
-create table tb_2_2(f1 int not null, primary key(f1), f2 int, index f2_ind(f2));
-grant select on db_datadict_2.tb_2_1 to 'user_1'@'localhost';
-FLUSH PRIVILEGES;
-connect(localhost,user_1,,test,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.statistics;
-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
-NULL db_datadict tb_6_401402_1 0 db_datadict PRIMARY 1 f1 A 0 NULL NULL BTREE
-NULL db_datadict tb_6_401402_1 1 db_datadict f2_ind 1 f2 A NULL NULL NULL YES BTREE
-NULL db_datadict_2 tb_2_1 0 db_datadict_2 PRIMARY 1 f1 A 0 NULL NULL BTREE
-NULL db_datadict_2 tb_2_1 1 db_datadict_2 f2_ind 1 f2 A NULL NULL NULL YES BTREE
-connect(localhost,user_2,,test,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.statistics;
-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
-
-root@localhost db_datadict_2
-REVOKE SELECT ON db_datadict.tb_6_401402_1 FROM 'user_1'@'localhost';
-SELECT * FROM information_schema.statistics;
-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
-NULL db_datadict tb_6_401402_1 0 db_datadict PRIMARY 1 f1 A 0 NULL NULL BTREE
-NULL db_datadict tb_6_401402_1 1 db_datadict f2_ind 1 f2 A NULL NULL NULL YES BTREE
-NULL db_datadict tb_6_401402_2 0 db_datadict PRIMARY 1 f1 A 0 NULL NULL BTREE
-NULL db_datadict tb_6_401402_2 1 db_datadict f2_ind 1 f2 A NULL NULL NULL YES BTREE
-NULL db_datadict_2 tb_2_1 0 db_datadict_2 PRIMARY 1 f1 A 0 NULL NULL BTREE
-NULL db_datadict_2 tb_2_1 1 db_datadict_2 f2_ind 1 f2 A NULL NULL NULL YES BTREE
-NULL db_datadict_2 tb_2_2 0 db_datadict_2 PRIMARY 1 f1 A 0 NULL NULL BTREE
-NULL db_datadict_2 tb_2_2 1 db_datadict_2 f2_ind 1 f2 A NULL NULL NULL YES BTREE
-NULL mysql columns_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-NULL mysql columns_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE
-NULL mysql columns_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE
-NULL mysql columns_priv 0 mysql PRIMARY 4 Table_name A NULL NULL NULL BTREE
-NULL mysql columns_priv 0 mysql PRIMARY 5 Column_name A 0 NULL NULL BTREE
-NULL mysql db 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-NULL mysql db 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE
-NULL mysql db 0 mysql PRIMARY 3 User A 2 NULL NULL BTREE
-NULL mysql db 1 mysql User 1 User A 1 NULL NULL BTREE
-NULL mysql event 0 mysql PRIMARY 1 db A NULL NULL NULL BTREE
-NULL mysql event 0 mysql PRIMARY 2 name A 0 NULL NULL BTREE
-NULL mysql func 0 mysql PRIMARY 1 name A 0 NULL NULL BTREE
-NULL mysql help_category 0 mysql PRIMARY 1 help_category_id A 0 NULL NULL BTREE
-NULL mysql help_category 0 mysql name 1 name A 0 NULL NULL BTREE
-NULL mysql help_keyword 0 mysql PRIMARY 1 help_keyword_id A 0 NULL NULL BTREE
-NULL mysql help_keyword 0 mysql name 1 name A 0 NULL NULL BTREE
-NULL mysql help_relation 0 mysql PRIMARY 1 help_keyword_id A NULL NULL NULL BTREE
-NULL mysql help_relation 0 mysql PRIMARY 2 help_topic_id A 0 NULL NULL BTREE
-NULL mysql help_topic 0 mysql PRIMARY 1 help_topic_id A 0 NULL NULL BTREE
-NULL mysql help_topic 0 mysql name 1 name A 0 NULL NULL BTREE
-NULL mysql host 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-NULL mysql host 0 mysql PRIMARY 2 Db A 0 NULL NULL BTREE
-NULL mysql ndb_binlog_index 0 mysql PRIMARY 1 epoch A 0 NULL NULL BTREE
-NULL mysql plugin 0 mysql PRIMARY 1 name A 0 NULL NULL BTREE
-NULL mysql proc 0 mysql PRIMARY 1 db A NULL NULL NULL BTREE
-NULL mysql proc 0 mysql PRIMARY 2 name A NULL NULL NULL BTREE
-NULL mysql proc 0 mysql PRIMARY 3 type A 0 NULL NULL BTREE
-NULL mysql procs_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-NULL mysql procs_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE
-NULL mysql procs_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE
-NULL mysql procs_priv 0 mysql PRIMARY 4 Routine_name A NULL NULL NULL BTREE
-NULL mysql procs_priv 0 mysql PRIMARY 5 Routine_type A 0 NULL NULL BTREE
-NULL mysql procs_priv 1 mysql Grantor 1 Grantor A NULL NULL NULL BTREE
-NULL mysql servers 0 mysql PRIMARY 1 Server_name A 0 NULL NULL BTREE
-NULL mysql tables_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-NULL mysql tables_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE
-NULL mysql tables_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE
-NULL mysql tables_priv 0 mysql PRIMARY 4 Table_name A 2 NULL NULL BTREE
-NULL mysql tables_priv 1 mysql Grantor 1 Grantor A NULL NULL NULL BTREE
-NULL mysql time_zone 0 mysql PRIMARY 1 Time_zone_id A 5 NULL NULL BTREE
-NULL mysql time_zone_leap_second 0 mysql PRIMARY 1 Transition_time A 22 NULL NULL BTREE
-NULL mysql time_zone_name 0 mysql PRIMARY 1 Name A 6 NULL NULL BTREE
-NULL mysql time_zone_transition 0 mysql PRIMARY 1 Time_zone_id A NULL NULL NULL BTREE
-NULL mysql time_zone_transition 0 mysql PRIMARY 2 Transition_time A 393 NULL NULL BTREE
-NULL mysql time_zone_transition_type 0 mysql PRIMARY 1 Time_zone_id A NULL NULL NULL BTREE
-NULL mysql time_zone_transition_type 0 mysql PRIMARY 2 Transition_type_id A 31 NULL NULL BTREE
-NULL mysql user 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-NULL mysql user 0 mysql PRIMARY 2 User A 5 NULL NULL BTREE
-
-user_1@localhost test
-SELECT * FROM information_schema.statistics;
-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
-NULL db_datadict tb_6_401402_1 0 db_datadict PRIMARY 1 f1 A 0 NULL NULL BTREE
-NULL db_datadict tb_6_401402_1 1 db_datadict f2_ind 1 f2 A NULL NULL NULL YES BTREE
-NULL db_datadict_2 tb_2_1 0 db_datadict_2 PRIMARY 1 f1 A 0 NULL NULL BTREE
-NULL db_datadict_2 tb_2_1 1 db_datadict_2 f2_ind 1 f2 A NULL NULL NULL YES BTREE
-
-user_2@localhost test
-SELECT * FROM information_schema.statistics;
-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
-
-root@localhost db_datadict_2
-USE db_datadict;
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP TABLE tb_6_401402_1;
-DROP TABLE tb_6_401402_2;
-USE test;
-DROP DATABASE db_datadict;
-
-Testcase 3.2.15.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC schema_privileges;
-Field Type Null Key Default Extra
-GRANTEE varchar(81) NO
-TABLE_CATALOG varchar(4096) YES NULL
-TABLE_SCHEMA varchar(64) NO
-PRIVILEGE_TYPE varchar(64) NO
-IS_GRANTABLE varchar(3) NO
-SHOW CREATE TABLE schema_privileges;
-Table Create Table
-SCHEMA_PRIVILEGES CREATE TEMPORARY TABLE `SCHEMA_PRIVILEGES` (
- `GRANTEE` varchar(81) NOT NULL DEFAULT '',
- `TABLE_CATALOG` varchar(4096) DEFAULT NULL,
- `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `PRIVILEGE_TYPE` varchar(64) NOT NULL DEFAULT '',
- `IS_GRANTABLE` varchar(3) NOT NULL DEFAULT ''
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'schema_privileges'
-ORDER BY ordinal_position;
-COUNT(*)
-5
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'schema_privileges'
-ORDER BY ordinal_position;
-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
-NULL information_schema SCHEMA_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema SCHEMA_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMA_PRIVILEGES IS_GRANTABLE 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-
-Testcase 3.2.15.2:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-DROP DATABASE IF EXISTS db_datadict_2;
-create database db_datadict;
-create database db_datadict_2;
-CREATE USER 'u_6_401502'@'localhost';
-use db_datadict;
-create table res_6_401502(f1 int, f2 int, f3 int);
-grant insert on db_datadict.* to 'u_6_401502'@'localhost';
-FLUSH PRIVILEGES;
-SELECT * FROM information_schema.schema_privileges;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
-'u_6_401502'@'localhost' NULL db_datadict INSERT NO
-''@'%' NULL test SELECT NO
-''@'%' NULL test INSERT NO
-''@'%' NULL test UPDATE NO
-''@'%' NULL test DELETE NO
-''@'%' NULL test CREATE NO
-''@'%' NULL test DROP NO
-''@'%' NULL test REFERENCES NO
-''@'%' NULL test INDEX NO
-''@'%' NULL test ALTER NO
-''@'%' NULL test CREATE TEMPORARY TABLES NO
-''@'%' NULL test LOCK TABLES NO
-''@'%' NULL test CREATE VIEW NO
-''@'%' NULL test SHOW VIEW NO
-''@'%' NULL test CREATE ROUTINE NO
-''@'%' NULL test EVENT NO
-''@'%' NULL test TRIGGER NO
-''@'%' NULL test\_% SELECT NO
-''@'%' NULL test\_% INSERT NO
-''@'%' NULL test\_% UPDATE NO
-''@'%' NULL test\_% DELETE NO
-''@'%' NULL test\_% CREATE NO
-''@'%' NULL test\_% DROP NO
-''@'%' NULL test\_% REFERENCES NO
-''@'%' NULL test\_% INDEX NO
-''@'%' NULL test\_% ALTER NO
-''@'%' NULL test\_% CREATE TEMPORARY TABLES NO
-''@'%' NULL test\_% LOCK TABLES NO
-''@'%' NULL test\_% CREATE VIEW NO
-''@'%' NULL test\_% SHOW VIEW NO
-''@'%' NULL test\_% CREATE ROUTINE NO
-''@'%' NULL test\_% EVENT NO
-''@'%' NULL test\_% TRIGGER NO
-connect(localhost,u_6_401502,,test,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.schema_privileges;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
-'u_6_401502'@'localhost' NULL db_datadict INSERT NO
-use db_datadict;
-
-root@localhost db_datadict
-DROP USER 'u_6_401502'@'localhost';
-drop table res_6_401502;
-use test;
-drop database db_datadict;
-drop database db_datadict_2;
-
-Testcase 3.2.15.3 + 3.2.15.4:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-DROP DATABASE IF EXISTS db_datadict_2;
-create database db_datadict;
-create database db_datadict_2;
-CREATE USER 'u_6_401503_1'@'localhost';
-CREATE USER 'u_6_401503_2'@'localhost';
-CREATE USER 'u_6_401503_3'@'localhost';
-use db_datadict;
-create table res_6_401503_1(f1 int, f2 int, f3 int);
-use db_datadict_2;
-create table res_6_401503_2(f1 int, f2 int, f3 int);
-grant update on db_datadict.* to 'u_6_401503_1'@'localhost';
-grant delete on db_datadict_2.* to 'u_6_401503_2'@'localhost';
-FLUSH PRIVILEGES;
-SELECT * FROM information_schema.schema_privileges;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
-'u_6_401503_1'@'localhost' NULL db_datadict UPDATE NO
-'u_6_401503_2'@'localhost' NULL db_datadict_2 DELETE NO
-''@'%' NULL test SELECT NO
-''@'%' NULL test INSERT NO
-''@'%' NULL test UPDATE NO
-''@'%' NULL test DELETE NO
-''@'%' NULL test CREATE NO
-''@'%' NULL test DROP NO
-''@'%' NULL test REFERENCES NO
-''@'%' NULL test INDEX NO
-''@'%' NULL test ALTER NO
-''@'%' NULL test CREATE TEMPORARY TABLES NO
-''@'%' NULL test LOCK TABLES NO
-''@'%' NULL test CREATE VIEW NO
-''@'%' NULL test SHOW VIEW NO
-''@'%' NULL test CREATE ROUTINE NO
-''@'%' NULL test EVENT NO
-''@'%' NULL test TRIGGER NO
-''@'%' NULL test\_% SELECT NO
-''@'%' NULL test\_% INSERT NO
-''@'%' NULL test\_% UPDATE NO
-''@'%' NULL test\_% DELETE NO
-''@'%' NULL test\_% CREATE NO
-''@'%' NULL test\_% DROP NO
-''@'%' NULL test\_% REFERENCES NO
-''@'%' NULL test\_% INDEX NO
-''@'%' NULL test\_% ALTER NO
-''@'%' NULL test\_% CREATE TEMPORARY TABLES NO
-''@'%' NULL test\_% LOCK TABLES NO
-''@'%' NULL test\_% CREATE VIEW NO
-''@'%' NULL test\_% SHOW VIEW NO
-''@'%' NULL test\_% CREATE ROUTINE NO
-''@'%' NULL test\_% EVENT NO
-''@'%' NULL test\_% TRIGGER NO
-connect(localhost,u_6_401503_1,,test,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.schema_privileges;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
-'u_6_401503_1'@'localhost' NULL db_datadict UPDATE NO
-connect(localhost,u_6_401503_2,,test,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.schema_privileges;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
-'u_6_401503_2'@'localhost' NULL db_datadict_2 DELETE NO
-connect(localhost,u_6_401503_3,,test,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.schema_privileges;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
-
-root@localhost db_datadict_2
-use db_datadict;
-DROP USER 'u_6_401503_1'@'localhost';
-DROP USER 'u_6_401503_2'@'localhost';
-DROP USER 'u_6_401503_3'@'localhost';
-drop table res_6_401503_1;
-use db_datadict_2;
-drop table res_6_401503_2;
-use test;
-drop database db_datadict;
-drop database db_datadict_2;
-
-Testcase 3.2.16.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC user_privileges;
-Field Type Null Key Default Extra
-GRANTEE varchar(81) NO
-TABLE_CATALOG varchar(4096) YES NULL
-PRIVILEGE_TYPE varchar(64) NO
-IS_GRANTABLE varchar(3) NO
-SHOW CREATE TABLE user_privileges;
-Table Create Table
-USER_PRIVILEGES CREATE TEMPORARY TABLE `USER_PRIVILEGES` (
- `GRANTEE` varchar(81) NOT NULL DEFAULT '',
- `TABLE_CATALOG` varchar(4096) DEFAULT NULL,
- `PRIVILEGE_TYPE` varchar(64) NOT NULL DEFAULT '',
- `IS_GRANTABLE` varchar(3) NOT NULL DEFAULT ''
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'user_privileges'
-ORDER BY ordinal_position;
-COUNT(*)
-4
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'user_privileges'
-ORDER BY ordinal_position;
-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
-NULL information_schema USER_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema USER_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema USER_PRIVILEGES PRIVILEGE_TYPE 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema USER_PRIVILEGES IS_GRANTABLE 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-
-Testcase 3.2.16.2 + 3.2.16.3 + 3.2.16.4:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-CREATE DATABASE db_datadict;
-CREATE USER 'user_1'@'localhost';
-CREATE USER 'user_2'@'localhost';
-CREATE USER 'user_3'@'localhost';
-GRANT SELECT ON db_datadict.* TO 'user_1'@'localhost';
-GRANT SELECT ON mysql.user TO 'user_1'@'localhost';
-GRANT INSERT ON *.* TO 'user_2'@'localhost';
-GRANT UPDATE ON *.* TO 'user_2'@'localhost';
-FLUSH PRIVILEGES;
-
-FIXME (see Bug 12269) Here we expect more than only <USAGE> for user_1
-----------------------------------------------------------------------
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL USAGE NO
-'user_2'@'localhost' NULL INSERT NO
-'user_2'@'localhost' NULL UPDATE NO
-'user_3'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" 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 ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost user_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 0 0 0 0
-localhost user_2 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 0 0 0 0
-localhost user_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 N N N 0 0 0 0
-SHOW GRANTS;
-Grants for root@localhost
-GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
-
-add GRANT OPTION db_datadict.* to user_1
-----------------------------------------
-GRANT UPDATE ON db_datadict.* TO 'user_1'@'localhost' WITH GRANT OPTION;
-
-FIXME (see Bug 12269) Here the <YES> is missing for the GRANT OPTION for user_1
--------------------------------------------------------------------------------
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL USAGE NO
-'user_2'@'localhost' NULL INSERT NO
-'user_2'@'localhost' NULL UPDATE NO
-'user_3'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" 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 ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost user_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 0 0 0 0
-localhost user_2 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 0 0 0 0
-localhost user_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 N N N 0 0 0 0
-SHOW GRANTS;
-Grants for root@localhost
-GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
-FLUSH PRIVILEGES;
-connect(localhost,user_1,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" 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 ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost user_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 0 0 0 0
-localhost user_2 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 0 0 0 0
-localhost user_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 N N N 0 0 0 0
-SHOW GRANTS;
-Grants for user_1@localhost
-GRANT USAGE ON *.* TO 'user_1'@'localhost'
-GRANT SELECT, UPDATE ON `db_datadict`.* TO 'user_1'@'localhost' WITH GRANT OPTION
-GRANT SELECT ON `mysql`.`user` TO 'user_1'@'localhost'
-
-Now add SELECT on *.* to user_1
--------------------------------
-
-root@localhost information_schema
-GRANT SELECT ON *.* TO 'user_1'@'localhost';
-
-Here <SELECT NO> is shown correctly for user_1
-----------------------------------------------
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL SELECT NO
-'user_2'@'localhost' NULL INSERT NO
-'user_2'@'localhost' NULL UPDATE NO
-'user_3'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" 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 ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost user_1 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 0 0 0 0
-localhost user_2 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 0 0 0 0
-localhost user_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 N N N 0 0 0 0
-SHOW GRANTS;
-Grants for root@localhost
-GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
-GRANT SELECT ON *.* TO 'user_1'@'localhost' WITH GRANT OPTION;
-
-Here <SELECT YES> is shown correctly for user_1
------------------------------------------------
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL SELECT YES
-'user_2'@'localhost' NULL INSERT NO
-'user_2'@'localhost' NULL UPDATE NO
-'user_3'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" 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 ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost user_1 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 0 0 0 0
-localhost user_2 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 0 0 0 0
-localhost user_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 N N N 0 0 0 0
-SHOW GRANTS;
-Grants for root@localhost
-GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
-FLUSH PRIVILEGES;
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL SELECT YES
-'user_2'@'localhost' NULL INSERT NO
-'user_2'@'localhost' NULL UPDATE NO
-'user_3'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" 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 ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost user_1 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 0 0 0 0
-localhost user_2 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 0 0 0 0
-localhost user_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 N N N 0 0 0 0
-SHOW GRANTS;
-Grants for root@localhost
-GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
-
-user_1@localhost db_datadict
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL SELECT YES
-SELECT * FROM mysql.user WHERE user LIKE "%user%" 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 ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost user_1 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 0 0 0 0
-localhost user_2 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 0 0 0 0
-localhost user_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 N N N 0 0 0 0
-SHOW GRANTS;
-Grants for user_1@localhost
-GRANT SELECT ON *.* TO 'user_1'@'localhost' WITH GRANT OPTION
-GRANT SELECT, UPDATE ON `db_datadict`.* TO 'user_1'@'localhost' WITH GRANT OPTION
-GRANT SELECT ON `mysql`.`user` TO 'user_1'@'localhost'
-connect(localhost,user_2,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_2'@'localhost' NULL INSERT NO
-'user_2'@'localhost' NULL UPDATE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user;
-ERROR 42000: SELECT command denied to user 'user_2'@'localhost' for table 'user'
-SHOW GRANTS;
-Grants for user_2@localhost
-GRANT INSERT, UPDATE ON *.* TO 'user_2'@'localhost'
-connect(localhost,user_3,,test,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_3'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user;
-ERROR 42000: SELECT command denied to user 'user_3'@'localhost' for table 'user'
-SHOW GRANTS;
-Grants for user_3@localhost
-GRANT USAGE ON *.* TO 'user_3'@'localhost'
-
-revoke privileges from user_1
------------------------------
-
-root@localhost information_schema
-REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'user_1'@'localhost';
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL USAGE NO
-'user_2'@'localhost' NULL INSERT NO
-'user_2'@'localhost' NULL UPDATE NO
-'user_3'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" 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 ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost user_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 0 0 0 0
-localhost user_2 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 0 0 0 0
-localhost user_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 N N N 0 0 0 0
-SHOW GRANTS;
-Grants for root@localhost
-GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
-
-user_1@localhost db_datadict
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user;
-ERROR 42000: SELECT command denied to user 'user_1'@'localhost' for table 'user'
-SHOW GRANTS;
-Grants for user_1@localhost
-GRANT USAGE ON *.* TO 'user_1'@'localhost'
-
-user_1@localhost db_datadict
-CREATE TABLE db_datadict.tb_55 ( c1 TEXT );
-ERROR 42000: CREATE command denied to user 'user_1'@'localhost' for table 'tb_55'
-
-user_1@localhost db_datadict
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user;
-ERROR 42000: SELECT command denied to user 'user_1'@'localhost' for table 'user'
-SHOW GRANTS;
-Grants for user_1@localhost
-GRANT USAGE ON *.* TO 'user_1'@'localhost'
-CREATE TABLE db_datadict.tb_66 ( c1 TEXT );
-ERROR 42000: CREATE command denied to user 'user_1'@'localhost' for table 'tb_66'
-
-add ALL on db_datadict.* (and select on mysql.user) to user_1
--------------------------------------------------------------
-
-root@localhost information_schema
-GRANT ALL ON db_datadict.* TO 'user_1'@'localhost' WITH GRANT OPTION;
-GRANT SELECT ON mysql.user TO 'user_1'@'localhost';
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL USAGE NO
-'user_2'@'localhost' NULL INSERT NO
-'user_2'@'localhost' NULL UPDATE NO
-'user_3'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" 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 ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost user_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 0 0 0 0
-localhost user_2 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 0 0 0 0
-localhost user_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 N N N 0 0 0 0
-SHOW GRANTS;
-Grants for root@localhost
-GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
-
-user_1@localhost db_datadict
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" 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 ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost user_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 0 0 0 0
-localhost user_2 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 0 0 0 0
-localhost user_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 N N N 0 0 0 0
-SHOW GRANTS;
-Grants for user_1@localhost
-GRANT USAGE ON *.* TO 'user_1'@'localhost'
-GRANT ALL PRIVILEGES ON `db_datadict`.* TO 'user_1'@'localhost' WITH GRANT OPTION
-GRANT SELECT ON `mysql`.`user` TO 'user_1'@'localhost'
-CREATE TABLE db_datadict.tb_56 ( c1 TEXT );
-ERROR 42000: CREATE command denied to user 'user_1'@'localhost' for table 'tb_56'
-USE db_datadict;
-
-user_1@localhost db_datadict
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" 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 ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost user_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 0 0 0 0
-localhost user_2 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 0 0 0 0
-localhost user_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 N N N 0 0 0 0
-SHOW GRANTS;
-Grants for user_1@localhost
-GRANT USAGE ON *.* TO 'user_1'@'localhost'
-GRANT ALL PRIVILEGES ON `db_datadict`.* TO 'user_1'@'localhost' WITH GRANT OPTION
-GRANT SELECT ON `mysql`.`user` TO 'user_1'@'localhost'
-CREATE TABLE tb_57 ( c1 TEXT );
-
-revoke privileges from user_1
------------------------------
-
-root@localhost information_schema
-REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'user_1'@'localhost';
-FLUSH PRIVILEGES;
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL USAGE NO
-'user_2'@'localhost' NULL INSERT NO
-'user_2'@'localhost' NULL UPDATE NO
-'user_3'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" 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 ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost user_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 0 0 0 0
-localhost user_2 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 0 0 0 0
-localhost user_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 N N N 0 0 0 0
-SHOW GRANTS;
-Grants for root@localhost
-GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
-
-user_1@localhost db_datadict
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user;
-ERROR 42000: SELECT command denied to user 'user_1'@'localhost' for table 'user'
-SHOW GRANTS;
-Grants for user_1@localhost
-GRANT USAGE ON *.* TO 'user_1'@'localhost'
-CREATE TABLE db_datadict.tb_58 ( c1 TEXT );
-USE db_datadict;
-ERROR 42000: Access denied for user 'user_1'@'localhost' to database 'db_datadict'
-CREATE TABLE db_datadict.tb_59 ( c1 TEXT );
-
-root@localhost information_schema
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP USER 'user_3'@'localhost';
-DROP DATABASE IF EXISTS db_datadict;
-
-Testcase 3.2.17: Checks on Performance - not here in this script!
---------------------------------------------------------------------------------
-
-Testcase 3.2.18.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC triggers;
-Field Type Null Key Default Extra
-TRIGGER_CATALOG varchar(4096) YES NULL
-TRIGGER_SCHEMA varchar(64) NO
-TRIGGER_NAME varchar(64) NO
-EVENT_MANIPULATION varchar(6) NO
-EVENT_OBJECT_CATALOG varchar(4096) YES NULL
-EVENT_OBJECT_SCHEMA varchar(64) NO
-EVENT_OBJECT_TABLE varchar(64) NO
-ACTION_ORDER bigint(4) NO 0
-ACTION_CONDITION longtext YES NULL
-ACTION_STATEMENT longtext NO
-ACTION_ORIENTATION varchar(9) NO
-ACTION_TIMING varchar(6) NO
-ACTION_REFERENCE_OLD_TABLE varchar(64) YES NULL
-ACTION_REFERENCE_NEW_TABLE varchar(64) YES NULL
-ACTION_REFERENCE_OLD_ROW varchar(3) NO
-ACTION_REFERENCE_NEW_ROW varchar(3) NO
-CREATED datetime YES NULL
-SQL_MODE longtext NO
-DEFINER longtext NO
-SHOW CREATE TABLE triggers;
-Table Create Table
-TRIGGERS CREATE TEMPORARY TABLE `TRIGGERS` (
- `TRIGGER_CATALOG` varchar(4096) DEFAULT NULL,
- `TRIGGER_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `TRIGGER_NAME` varchar(64) NOT NULL DEFAULT '',
- `EVENT_MANIPULATION` varchar(6) NOT NULL DEFAULT '',
- `EVENT_OBJECT_CATALOG` varchar(4096) DEFAULT NULL,
- `EVENT_OBJECT_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `EVENT_OBJECT_TABLE` varchar(64) NOT NULL DEFAULT '',
- `ACTION_ORDER` bigint(4) NOT NULL DEFAULT '0',
- `ACTION_CONDITION` longtext,
- `ACTION_STATEMENT` longtext NOT NULL,
- `ACTION_ORIENTATION` varchar(9) NOT NULL DEFAULT '',
- `ACTION_TIMING` varchar(6) NOT NULL DEFAULT '',
- `ACTION_REFERENCE_OLD_TABLE` varchar(64) DEFAULT NULL,
- `ACTION_REFERENCE_NEW_TABLE` varchar(64) DEFAULT NULL,
- `ACTION_REFERENCE_OLD_ROW` varchar(3) NOT NULL DEFAULT '',
- `ACTION_REFERENCE_NEW_ROW` varchar(3) NOT NULL DEFAULT '',
- `CREATED` datetime DEFAULT NULL,
- `SQL_MODE` longtext NOT NULL,
- `DEFINER` longtext NOT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'triggers'
-ORDER BY ordinal_position;
-COUNT(*)
-19
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'triggers'
-ORDER BY ordinal_position;
-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
-NULL information_schema TRIGGERS TRIGGER_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TRIGGERS TRIGGER_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS TRIGGER_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS EVENT_MANIPULATION 4 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select
-NULL information_schema TRIGGERS EVENT_OBJECT_CATALOG 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TRIGGERS EVENT_OBJECT_SCHEMA 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS EVENT_OBJECT_TABLE 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_ORDER 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema TRIGGERS ACTION_CONDITION 9 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS ACTION_STATEMENT 10 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS ACTION_ORIENTATION 11 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
-NULL information_schema TRIGGERS ACTION_TIMING 12 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_TABLE 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_TABLE 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_ROW 15 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_ROW 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema TRIGGERS CREATED 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TRIGGERS SQL_MODE 18 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS DEFINER 19 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-
-Testcase 3.2.18.2 + 3.2.18.3:
---------------------------------------------------------------------------------
-
-Testcase 3.2.19.1:
---------------------------------------------------------------------------------
-
-checking a table that will be implemented later
------------------------------------------------
-DESC parameters;
-ERROR 42S02: Unknown table 'parameters' in information_schema
-
-Testcase 3.2.20.1:
---------------------------------------------------------------------------------
-DESC referential_constraints;
-Field Type Null Key Default Extra
-CONSTRAINT_CATALOG varchar(512) YES NULL
-CONSTRAINT_SCHEMA varchar(64) NO
-CONSTRAINT_NAME varchar(64) NO
-UNIQUE_CONSTRAINT_CATALOG varchar(512) YES NULL
-UNIQUE_CONSTRAINT_SCHEMA varchar(64) NO
-UNIQUE_CONSTRAINT_NAME varchar(64) NO
-MATCH_OPTION varchar(64) NO
-UPDATE_RULE varchar(64) NO
-DELETE_RULE varchar(64) NO
-TABLE_NAME varchar(64) NO
-REFERENCED_TABLE_NAME varchar(64) NO
-USE information_schema;
-DESC referential_constraints;
-Field Type Null Key Default Extra
-CONSTRAINT_CATALOG varchar(4096) YES NULL
-CONSTRAINT_SCHEMA varchar(64) NO
-CONSTRAINT_NAME varchar(64) NO
-UNIQUE_CONSTRAINT_CATALOG varchar(4096) YES NULL
-UNIQUE_CONSTRAINT_SCHEMA varchar(64) NO
-UNIQUE_CONSTRAINT_NAME varchar(64) NO
-MATCH_OPTION varchar(64) NO
-UPDATE_RULE varchar(64) NO
-DELETE_RULE varchar(64) NO
-TABLE_NAME varchar(64) NO
-REFERENCED_TABLE_NAME varchar(64) NO
-SHOW CREATE TABLE referential_constraints;
-Table Create Table
-REFERENTIAL_CONSTRAINTS CREATE TEMPORARY TABLE `REFERENTIAL_CONSTRAINTS` (
- `CONSTRAINT_CATALOG` varchar(4096) DEFAULT NULL,
- `CONSTRAINT_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `CONSTRAINT_NAME` varchar(64) NOT NULL DEFAULT '',
- `UNIQUE_CONSTRAINT_CATALOG` varchar(4096) DEFAULT NULL,
- `UNIQUE_CONSTRAINT_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `UNIQUE_CONSTRAINT_NAME` varchar(64) NOT NULL DEFAULT '',
- `MATCH_OPTION` varchar(64) NOT NULL DEFAULT '',
- `UPDATE_RULE` varchar(64) NOT NULL DEFAULT '',
- `DELETE_RULE` varchar(64) NOT NULL DEFAULT '',
- `TABLE_NAME` varchar(64) NOT NULL DEFAULT '',
- `REFERENCED_TABLE_NAME` varchar(64) NOT NULL DEFAULT ''
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'referential_constraints'
-ORDER BY ordinal_position;
-COUNT(*)
-11
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'referential_constraints'
-ORDER BY ordinal_position;
-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
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS MATCH_OPTION 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UPDATE_RULE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS DELETE_RULE 9 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS TABLE_NAME 10 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS REFERENCED_TABLE_NAME 11 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-
-*** End of Data Dictionary Tests ***
---------------------------------------------------------------------------------
-DROP TABLE IF EXISTS test.tb1;
-DROP TABLE IF EXISTS test.tb2;
-DROP TABLE IF EXISTS test.tb3;
-DROP TABLE IF EXISTS test.tb4;
-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.t7;
-DROP TABLE IF EXISTS test.t8;
-DROP TABLE IF EXISTS test.t9;
-DROP TABLE IF EXISTS test.t10;
-DROP TABLE IF EXISTS test.t11;
-DROP DATABASE IF EXISTS test1;
-DROP DATABASE IF EXISTS test4;
-DROP DATABASE IF EXISTS db_datadict;
-DROP DATABASE IF EXISTS db_datadict_1;
-DROP DATABASE IF EXISTS db_datadict_2;
diff --git a/mysql-test/suite/funcs_1/r/memory__load.result b/mysql-test/suite/funcs_1/r/memory__load.result
deleted file mode 100644
index c1b9c89b257..00000000000
--- a/mysql-test/suite/funcs_1/r/memory__load.result
+++ /dev/null
@@ -1 +0,0 @@
-SET @NO_REFRESH = IF( '' = '', 0, 1);
diff --git a/mysql-test/suite/funcs_1/r/memory_bitdata.result b/mysql-test/suite/funcs_1/r/memory_bitdata.result
index 2b98475d6d2..917157fcdae 100644
--- a/mysql-test/suite/funcs_1/r/memory_bitdata.result
+++ b/mysql-test/suite/funcs_1/r/memory_bitdata.result
@@ -1,68 +1,3 @@
-SET @NO_REFRESH = IF( '' = '', 0, 1);
-USE test;
-set @@global.max_heap_table_size = 4294967295;
-set @@session.max_heap_table_size = 4294967295;
-drop table if exists tb4 ;
-create table tb4 (
-f176 numeric (0) unsigned not null DEFAULT 9,
-f177 numeric (64) unsigned not null DEFAULT 9,
-f178 numeric (0) zerofill not null DEFAULT 9,
-f179 numeric (64) zerofill not null DEFAULT 9,
-f180 numeric (0) unsigned zerofill not null DEFAULT 9,
-f181 numeric (64) unsigned zerofill not null DEFAULT 9,
-f182 numeric (0,0) not null DEFAULT 9,
-f183 numeric (63,30) not null DEFAULT 9,
-f184 numeric (0,0) unsigned not null DEFAULT 9,
-f185 numeric (63,30) unsigned not null DEFAULT 9,
-f186 numeric (0,0) zerofill not null DEFAULT 9,
-f187 numeric (63,30) zerofill not null DEFAULT 9,
-f188 numeric (0,0) unsigned zerofill not null DEFAULT 9,
-f189 numeric (63,30) unsigned zerofill not null DEFAULT 9,
-f190 real not null DEFAULT 88.8,
-f191 real unsigned not null DEFAULT 88.8,
-f192 real zerofill not null DEFAULT 88.8,
-f193 real unsigned zerofill not null DEFAULT 88.8,
-f194 double not null DEFAULT 55.5,
-f195 double unsigned not null DEFAULT 55.5,
-f196 double zerofill not null DEFAULT 55.5,
-f197 double unsigned zerofill not null DEFAULT 55.5,
-f198 float,
-f199 float unsigned,
-f200 float zerofill,
-f201 float unsigned zerofill,
-f202 float(0),
-f203 float(23),
-f204 float(0) unsigned,
-f205 float(23) unsigned,
-f206 float(0) zerofill,
-f207 float(23) zerofill,
-f208 float(0) unsigned zerofill,
-f209 float(23) unsigned zerofill,
-f210 float(24),
-f211 float(53),
-f212 float(24) unsigned,
-f213 float(53) unsigned,
-f214 float(24) zerofill,
-f215 float(53) zerofill,
-f216 float(24) unsigned zerofill,
-f217 float(53) unsigned zerofill,
-f218 date,
-f219 time,
-f220 datetime,
-f221 timestamp,
-f222 year,
-f223 year(3),
-f224 year(4),
-f225 enum("1enum","2enum"),
-f226 set("1set","2set"),
-f236 char(95) unicode,
-f241 char(255) unicode,
-f237 char(130) binary,
-f238 varchar(25000) binary,
-f239 varbinary(0),
-f240 varchar(1200) unicode
-) engine = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/memory_tb4.txt' into table tb4 ;
NOT YET IMPLEMENTED: bitdata tests
--------------------------------------------------------------------------------
diff --git a/mysql-test/suite/funcs_1/r/memory_cursors.result b/mysql-test/suite/funcs_1/r/memory_cursors.result
index 3221e05cc4f..9f20e51204b 100644
--- a/mysql-test/suite/funcs_1/r/memory_cursors.result
+++ b/mysql-test/suite/funcs_1/r/memory_cursors.result
@@ -1,78 +1,3 @@
-SET @NO_REFRESH = IF( '' = '', 0, 1);
-USE test;
-set @@global.max_heap_table_size = 4294967295;
-set @@session.max_heap_table_size = 4294967295;
-drop table if exists tb1 ;
-create table tb1 (
-f1 char,
-f2 char binary,
-f3 char ascii,
-f12 binary,
-f13 tinyint,
-f14 tinyint unsigned,
-f15 tinyint zerofill,
-f16 tinyint unsigned zerofill,
-f17 smallint,
-f18 smallint unsigned,
-f19 smallint zerofill,
-f20 smallint unsigned zerofill,
-f21 mediumint,
-f22 mediumint unsigned,
-f23 mediumint zerofill,
-f24 mediumint unsigned zerofill,
-f25 int,
-f26 int unsigned,
-f27 int zerofill,
-f28 int unsigned zerofill,
-f29 bigint,
-f30 bigint unsigned,
-f31 bigint zerofill,
-f32 bigint unsigned zerofill,
-f33 decimal not null DEFAULT 9.9,
-f34 decimal unsigned not null DEFAULT 9.9,
-f35 decimal zerofill not null DEFAULT 9.9,
-f36 decimal unsigned zerofill not null DEFAULT 9.9,
-f37 decimal (0) not null DEFAULT 9.9,
-f38 decimal (64) not null DEFAULT 9.9,
-f39 decimal (0) unsigned not null DEFAULT 9.9,
-f40 decimal (64) unsigned not null DEFAULT 9.9,
-f41 decimal (0) zerofill not null DEFAULT 9.9,
-f42 decimal (64) zerofill not null DEFAULT 9.9,
-f43 decimal (0) unsigned zerofill not null DEFAULT 9.9,
-f44 decimal (64) unsigned zerofill not null DEFAULT 9.9,
-f45 decimal (0,0) not null DEFAULT 9.9,
-f46 decimal (63,30) not null DEFAULT 9.9,
-f47 decimal (0,0) unsigned not null DEFAULT 9.9,
-f48 decimal (63,30) unsigned not null DEFAULT 9.9,
-f49 decimal (0,0) zerofill not null DEFAULT 9.9,
-f50 decimal (63,30) zerofill not null DEFAULT 9.9,
-f51 decimal (0,0) unsigned zerofill not null DEFAULT 9.9,
-f52 decimal (63,30) unsigned zerofill not null DEFAULT 9.9,
-f53 numeric not null DEFAULT 99,
-f54 numeric unsigned not null DEFAULT 99,
-f55 numeric zerofill not null DEFAULT 99,
-f56 numeric unsigned zerofill not null DEFAULT 99,
-f57 numeric (0) not null DEFAULT 99,
-f58 numeric (64) not null DEFAULT 99
-) engine = memory;
-Warnings:
-Note 1265 Data truncated for column 'f33' at row 1
-Note 1265 Data truncated for column 'f34' at row 1
-Note 1265 Data truncated for column 'f35' at row 1
-Note 1265 Data truncated for column 'f36' at row 1
-Note 1265 Data truncated for column 'f37' at row 1
-Note 1265 Data truncated for column 'f38' at row 1
-Note 1265 Data truncated for column 'f39' at row 1
-Note 1265 Data truncated for column 'f40' at row 1
-Note 1265 Data truncated for column 'f41' at row 1
-Note 1265 Data truncated for column 'f42' at row 1
-Note 1265 Data truncated for column 'f43' at row 1
-Note 1265 Data truncated for column 'f44' at row 1
-Note 1265 Data truncated for column 'f45' at row 1
-Note 1265 Data truncated for column 'f47' at row 1
-Note 1265 Data truncated for column 'f49' at row 1
-Note 1265 Data truncated for column 'f51' at row 1
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/memory_tb1.txt' into table tb1 ;
NOT YET IMPLEMENTED: cursor tests
--------------------------------------------------------------------------------
diff --git a/mysql-test/suite/funcs_1/r/memory_func_view.result b/mysql-test/suite/funcs_1/r/memory_func_view.result
index 552b549a1a0..96e4f23976b 100644
--- a/mysql-test/suite/funcs_1/r/memory_func_view.result
+++ b/mysql-test/suite/funcs_1/r/memory_func_view.result
@@ -1,7 +1,3 @@
-
-! Attention: The file with the expected results suffers from
-Bug#10713: mysqldump includes database in create view and referenced tables
---------------------------------------------------------------------------------
DROP TABLE IF EXISTS t1_selects, t1_modes, t1_values;
DROP VIEW IF EXISTS v1;
CREATE TABLE t1_values
@@ -9,7 +5,7 @@ CREATE TABLE t1_values
id BIGINT AUTO_INCREMENT,
select_id BIGINT,
PRIMARY KEY(id)
-) ENGINE = 'MEMORY' ;
+) 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);
@@ -39,10 +35,10 @@ my_bigint = -9223372036854775808,
my_decimal = -9999999999999999999999999999999999.999999999999999999999999999999 ,
my_double = -1.7976931348623E+308;
INSERT INTO t1_values SET
-my_char_30 = '<--------30 characters------->',
+my_char_30 = '<--------30 characters------->',
my_varchar_1000 = CONCAT('<---------1000 characters',
RPAD('',965,'-'),'--------->'),
-my_binary_30 = '<--------30 characters------->',
+my_binary_30 = '<--------30 characters------->',
my_varbinary_1000 = CONCAT('<---------1000 characters',
RPAD('',965,'-'),'--------->'),
my_datetime = '9999-12-31 23:59:59',
@@ -54,23 +50,23 @@ 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_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_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_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',
@@ -89,6 +85,9 @@ 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,
@@ -101,6 +100,7 @@ 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,
@@ -113,6 +113,7 @@ 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,
@@ -123,10 +124,9 @@ 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;
-
-some statements disabled because of
-Bug#12440: CAST(data type DOUBLE AS TIME) strange results
---------------------------------------------------------------------------------
+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,
@@ -135,51 +135,39 @@ 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';
-
-some statements disabled because of
-Bug#13349: CAST(1.0E+300 TO DECIMAL) returns wrong result + diff little/big endian
---------------------------------------------------------------------------------
+INSERT INTO t1_values SET select_id = @select_id,
+my_double = -0.33333333E+4;
+##### 1.1.7. CAST --> SIGNED INTEGER
"Attention: CAST --> SIGNED INTEGER
- The file with expected results suffers from
- Bug#5083 Big integer values are inserted as negative into
- decimal/string columns
Bug#5913 Traditional mode: BIGINT range not correctly delimited
- Both have the status: To be fixed later"
---------------------------------------------------------------------------------
-
-some statements disabled because of
-Bug #13344: CAST(1E+300 TO signed int) on little endian CPU, wrong result
+ Status: To be fixed later"
--------------------------------------------------------------------------------
+##### 1.1.8. CAST --> UNSIGNED INTEGER
"Attention: CAST --> UNSIGNED INTEGER
- The file with expected results suffers from Bug 5083 5913 9809"
+ The file with expected results suffers from Bug 5913"
--------------------------------------------------------------------------------
some statements disabled because of
-Bugs#8663: cant use bgint unsigned as input to cast
+Bug#5913 Traditional mode: BIGINT range not correctly delimited
--------------------------------------------------------------------------------
-SET @my_select = 'SELECT CONVERT(my_char_30 USING utf8),
+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),
+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),
+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),
+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),
+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),
+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),
+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),
+SET @my_select = 'SELECT CONVERT(my_varbinary_1000 USING koi8r),
my_varbinary_1000, id FROM t1_values';
-
-"Attention: IF(my_year IS NULL, ...
- The file with expected results suffers from
- Bug#11689. successful CREATE VIEW but SELECT on view fails."
---------------------------------------------------------------------------------
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),
@@ -192,22 +180,20 @@ 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 =
+SET @my_select =
'SELECT LEFT(my_char_30, 2), my_char_30, id FROM t1_values';
-SET @my_select =
+SET @my_select =
'SELECT LEFT(my_varchar_1000, 2), my_varchar_1000, id FROM t1_values';
-SET @my_select =
+SET @my_select =
'SELECT LEFT(my_binary_30, 2), my_binary_30, id FROM t1_values';
-SET @my_select =
+SET @my_select =
'SELECT LEFT(my_varbinary_1000, 2), my_varbinary_1000, id FROM t1_values';
-
-"Attention: LEFT('AaBbCcDdEeFfGgHhIiJjÄäÜüÖö', <numeric column>)
- The file with expected results suffers from Bug 10963 11728"
- and the testcases with length = BIGINT or DOUBLE column are deactivated,
-because there are 32/64 Bit differences
---------------------------------------------------------------------------------
+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),
@@ -216,8 +202,10 @@ 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(''../log/current_test''), id FROM t1_values';
+SET @my_select =
+'SELECT LOAD_FILE(''<MYSQLTEST_VARDIR>/std_data_ln/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),
@@ -299,19 +287,19 @@ SET sql_mode = '';
--------------------------------------------------------------------------------
CREATE VIEW v1 AS SELECT my_char_30, id FROM t1_values;
SELECT my_char_30, id FROM t1_values
-WHERE select_id = 187 OR select_id IS NULL;
+WHERE select_id = 193 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 187 OR select_id IS NULL);
+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 = 186 OR select_id IS NULL;
+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
@@ -319,11 +307,11 @@ A<--------30 characters-------> <--------30 characters-------> 3
A ---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
A-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select concat(_latin1'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`
+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 = 186 OR select_id IS NULL);
+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
@@ -337,13 +325,13 @@ 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 = 185 OR select_id IS NULL;
+WHERE select_id = 191 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 185 OR select_id IS NULL);
+WHERE select_id = 191 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -351,13 +339,13 @@ 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 = 184 OR select_id IS NULL;
+WHERE select_id = 190 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 184 OR select_id IS NULL);
+WHERE select_id = 190 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -365,13 +353,13 @@ 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 = 183 OR select_id IS NULL;
+WHERE select_id = 189 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 183 OR select_id IS NULL);
+WHERE select_id = 189 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -379,13 +367,13 @@ 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 = 182 OR select_id IS NULL;
+WHERE select_id = 188 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 182 OR select_id IS NULL);
+WHERE select_id = 188 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -393,13 +381,13 @@ 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 = 181 OR select_id IS NULL;
+WHERE select_id = 187 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 181 OR select_id IS NULL);
+WHERE select_id = 187 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -407,13 +395,13 @@ 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 = 180 OR select_id IS NULL;
+WHERE select_id = 186 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 180 OR select_id IS NULL);
+WHERE select_id = 186 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -421,13 +409,13 @@ 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 = 179 OR select_id IS NULL;
+WHERE select_id = 185 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 179 OR select_id IS NULL);
+WHERE select_id = 185 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -435,13 +423,13 @@ 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 = 178 OR select_id IS NULL;
+WHERE select_id = 184 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 178 OR select_id IS NULL);
+WHERE select_id = 184 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -449,13 +437,13 @@ 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 = 177 OR select_id IS NULL;
+WHERE select_id = 183 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'-',_latin1' - -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`
+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 = 177 OR select_id IS NULL);
+WHERE select_id = 183 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -463,13 +451,13 @@ 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 = 176 OR select_id IS NULL;
+WHERE select_id = 182 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'-',_latin1' - -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`
+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 = 176 OR select_id IS NULL);
+WHERE select_id = 182 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -477,13 +465,13 @@ 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 = 175 OR select_id IS NULL;
+WHERE select_id = 181 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'-',_latin1' - -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`
+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 = 175 OR select_id IS NULL);
+WHERE select_id = 181 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -491,13 +479,13 @@ 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 = 174 OR select_id IS NULL;
+WHERE select_id = 180 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'-',`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`
+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 = 174 OR select_id IS NULL);
+WHERE select_id = 180 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -505,13 +493,13 @@ 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 = 173 OR select_id IS NULL;
+WHERE select_id = 179 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'-',`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`
+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 = 173 OR select_id IS NULL);
+WHERE select_id = 179 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -519,13 +507,13 @@ 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 = 172 OR select_id IS NULL;
+WHERE select_id = 178 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'-',`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`
+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 = 172 OR select_id IS NULL);
+WHERE select_id = 178 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -533,13 +521,13 @@ 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 = 171 OR select_id IS NULL;
+WHERE select_id = 177 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'-',`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`
+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 = 171 OR select_id IS NULL);
+WHERE select_id = 177 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -547,13 +535,13 @@ 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 = 170 OR select_id IS NULL;
+WHERE select_id = 176 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 170 OR select_id IS NULL);
+WHERE select_id = 176 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -561,13 +549,13 @@ 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 = 169 OR select_id IS NULL;
+WHERE select_id = 175 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 169 OR select_id IS NULL);
+WHERE select_id = 175 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -575,13 +563,13 @@ 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 = 168 OR select_id IS NULL;
+WHERE select_id = 174 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 168 OR select_id IS NULL);
+WHERE select_id = 174 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -589,13 +577,13 @@ 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 = 167 OR select_id IS NULL;
+WHERE select_id = 173 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 167 OR select_id IS NULL);
+WHERE select_id = 173 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -603,13 +591,13 @@ 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 = 166 OR select_id IS NULL;
+WHERE select_id = 172 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 166 OR select_id IS NULL);
+WHERE select_id = 172 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -617,13 +605,13 @@ 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 = 165 OR select_id IS NULL;
+WHERE select_id = 171 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 165 OR select_id IS NULL);
+WHERE select_id = 171 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -631,13 +619,13 @@ 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 = 164 OR select_id IS NULL;
+WHERE select_id = 170 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 164 OR select_id IS NULL);
+WHERE select_id = 170 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -645,13 +633,13 @@ 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 = 163 OR select_id IS NULL;
+WHERE select_id = 169 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 163 OR select_id IS NULL);
+WHERE select_id = 169 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -659,13 +647,13 @@ 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 = 162 OR select_id IS NULL;
+WHERE select_id = 168 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 162 OR select_id IS NULL);
+WHERE select_id = 168 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -673,13 +661,13 @@ 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 = 161 OR select_id IS NULL;
+WHERE select_id = 167 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 161 OR select_id IS NULL);
+WHERE select_id = 167 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -687,13 +675,13 @@ 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 = 160 OR select_id IS NULL;
+WHERE select_id = 166 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 160 OR select_id IS NULL);
+WHERE select_id = 166 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -701,13 +689,13 @@ 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 = 159 OR select_id IS NULL;
+WHERE select_id = 165 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 159 OR select_id IS NULL);
+WHERE select_id = 165 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -715,13 +703,13 @@ 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 = 158 OR select_id IS NULL;
+WHERE select_id = 164 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 158 OR select_id IS NULL);
+WHERE select_id = 164 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -729,13 +717,13 @@ 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 = 157 OR select_id IS NULL;
+WHERE select_id = 163 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 157 OR select_id IS NULL);
+WHERE select_id = 163 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -743,13 +731,13 @@ 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 = 156 OR select_id IS NULL;
+WHERE select_id = 162 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 156 OR select_id IS NULL);
+WHERE select_id = 162 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -757,13 +745,13 @@ 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 = 155 OR select_id IS NULL;
+WHERE select_id = 161 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 155 OR select_id IS NULL);
+WHERE select_id = 161 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -771,13 +759,13 @@ 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 = 154 OR select_id IS NULL;
+WHERE select_id = 160 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'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`
+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 = 154 OR select_id IS NULL);
+WHERE select_id = 160 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -785,13 +773,13 @@ 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 = 153 OR select_id IS NULL;
+WHERE select_id = 159 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'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`
+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 = 153 OR select_id IS NULL);
+WHERE select_id = 159 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -799,13 +787,13 @@ 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 = 152 OR select_id IS NULL;
+WHERE select_id = 158 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'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`
+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 = 152 OR select_id IS NULL);
+WHERE select_id = 158 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -813,46 +801,50 @@ 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 = 151 OR select_id IS NULL;
+WHERE select_id = 157 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'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`
+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 = 151 OR select_id IS NULL);
+WHERE select_id = 157 OR select_id IS NULL) order by id;
DROP VIEW v1;
-CREATE VIEW v1 AS SELECT LOAD_FILE('../log/current_test'), id FROM t1_values;
-SELECT LOAD_FILE('../log/current_test'), id FROM t1_values
-WHERE select_id = 150 OR select_id IS NULL;
-LOAD_FILE('../log/current_test') id
-CURRENT_TEST: memory_func_view
+CREATE VIEW v1 AS SELECT LOAD_FILE('<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/load_file.txt')
+ AS my_col,
+ id FROM t1_values;
+SELECT LOAD_FILE('<MYSQLTEST_VARDIR>/std_data_ln/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
-CURRENT_TEST: memory_func_view
+Here is content from load_file
2
-CURRENT_TEST: memory_func_view
+Here is content from load_file
3
-CURRENT_TEST: memory_func_view
+Here is content from load_file
4
-CURRENT_TEST: memory_func_view
+Here is content from load_file
5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select load_file(_latin1'../log/current_test') AS `LOAD_FILE('../log/current_test')`,`t1_values`.`id` AS `id` from `t1_values`
+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_ln/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 = 150 OR select_id IS NULL);
-LOAD_FILE('../log/current_test') id
-CURRENT_TEST: memory_func_view
+WHERE select_id = 156 OR select_id IS NULL) order by id;
+my_col id
+Here is content from load_file
1
-CURRENT_TEST: memory_func_view
+Here is content from load_file
2
-CURRENT_TEST: memory_func_view
+Here is content from load_file
3
-CURRENT_TEST: memory_func_view
+Here is content from load_file
4
-CURRENT_TEST: memory_func_view
+Here is content from load_file
5
DROP VIEW v1;
@@ -861,13 +853,13 @@ 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 = 149 OR select_id IS NULL;
+WHERE select_id = 155 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 149 OR select_id IS NULL);
+WHERE select_id = 155 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -875,13 +867,13 @@ 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 = 148 OR select_id IS NULL;
+WHERE select_id = 154 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 148 OR select_id IS NULL);
+WHERE select_id = 154 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -889,13 +881,13 @@ 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 = 147 OR select_id IS NULL;
+WHERE select_id = 153 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 147 OR select_id IS NULL);
+WHERE select_id = 153 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -903,19 +895,49 @@ 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 = 146 OR select_id IS NULL;
+WHERE select_id = 152 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 146 OR select_id IS NULL);
+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.7976931348623e+308 2
+AaBbCcDdEeFfGgHhIiJjÄäÜüÖö 1.7976931348623e+308 3
+ 0 4
+ -1 5
+Warnings:
+Warning 1292 Truncated incorrect INTEGER value: '-1.7976931348623e+308'
+Warning 1292 Truncated incorrect INTEGER value: '1.7976931348623e+308'
+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.7976931348623e+308 2
+AaBbCcDdEeFfGgHhIiJjÄäÜüÖö 1.7976931348623e+308 3
+ 0 4
+ -1 5
+Warnings:
+Warning 1292 Truncated incorrect INTEGER value: '-1.7976931348623e+308'
+Warning 1292 Truncated incorrect INTEGER value: '1.7976931348623e+308'
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 = 145 OR select_id IS NULL;
+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
@@ -926,11 +948,11 @@ Warnings:
Error 1292 Truncated incorrect DECIMAL value: ''
Error 1292 Truncated incorrect DECIMAL value: ''
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select left(_latin1'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`
+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 = 145 OR select_id IS NULL);
+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
@@ -943,9 +965,33 @@ Error 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 = 144 OR select_id IS NULL;
+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
@@ -953,11 +999,11 @@ NULL NULL 1
- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 144 OR select_id IS NULL);
+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
@@ -969,19 +1015,19 @@ 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 = 143 OR select_id IS NULL;
+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
- - ---äÖüß@µ*$--
--1 -1
+ - ---äÖüß@µ*$-- 4
+-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 143 OR select_id IS NULL);
+WHERE select_id = 147 OR select_id IS NULL) order by id;
LEFT(my_binary_30, 2) my_binary_30 id
NULL NULL 1
@@ -993,7 +1039,7 @@ 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 = 142 OR select_id IS NULL;
+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
@@ -1001,11 +1047,11 @@ NULL NULL 1
- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 142 OR select_id IS NULL);
+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
@@ -1017,7 +1063,7 @@ 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 = 141 OR select_id IS NULL;
+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
@@ -1025,11 +1071,11 @@ NULL NULL 1
- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 141 OR select_id IS NULL);
+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
@@ -1043,13 +1089,13 @@ 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 = 140 OR select_id IS NULL;
+WHERE select_id = 144 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 140 OR select_id IS NULL);
+WHERE select_id = 144 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -1057,13 +1103,13 @@ 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 = 139 OR select_id IS NULL;
+WHERE select_id = 143 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'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`
+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 = 139 OR select_id IS NULL);
+WHERE select_id = 143 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -1071,7 +1117,7 @@ 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 = 138 OR select_id IS NULL;
+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
@@ -1079,11 +1125,11 @@ NULL NULL 1
160 ---äÖüß@µ*$-- 4
16 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 138 OR select_id IS NULL);
+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
@@ -1097,19 +1143,19 @@ 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 = 137 OR select_id IS NULL;
+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 2
240 <--------30 characters-------> 3
-240 ---äÖüß@µ*$--
-240 -1
+240 ---äÖüß@µ*$-- 4
+240 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 137 OR select_id IS NULL);
+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
@@ -1123,7 +1169,7 @@ 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 = 136 OR select_id IS NULL;
+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
@@ -1131,11 +1177,11 @@ NULL NULL 1
160 ---äÖüß@µ*$-- 4
16 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 136 OR select_id IS NULL);
+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
@@ -1149,7 +1195,7 @@ 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 = 135 OR select_id IS NULL;
+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
@@ -1157,11 +1203,11 @@ NULL NULL 1
152 ---äÖüß@µ*$-- 4
16 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 135 OR select_id IS NULL);
+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
@@ -1175,7 +1221,7 @@ 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 = 134 OR select_id IS NULL;
+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
@@ -1183,11 +1229,11 @@ IS_NULL NULL 1
2000 2000 4
2005 2005 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_year`,_latin1'IS_NULL') AS `IFNULL(my_year,'IS_NULL')`,`t1_values`.`my_year` AS `my_year`,`t1_values`.`id` AS `id` from `t1_values`
+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 = 134 OR select_id IS NULL);
+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
@@ -1201,7 +1247,7 @@ 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 = 133 OR select_id IS NULL;
+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
@@ -1209,11 +1255,11 @@ IS_NULL NULL 1
13:00:00 13:00:00 4
10:00:00 10:00:00 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_time`,_latin1'IS_NULL') AS `IFNULL(my_time,'IS_NULL')`,`t1_values`.`my_time` AS `my_time`,`t1_values`.`id` AS `id` from `t1_values`
+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 = 133 OR select_id IS NULL);
+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
@@ -1227,7 +1273,7 @@ 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 = 132 OR select_id IS NULL;
+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
@@ -1235,11 +1281,11 @@ IFNULL(my_timestamp,'IS_NULL') my_timestamp id
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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_timestamp`,_latin1'IS_NULL') AS `IFNULL(my_timestamp,'IS_NULL')`,`t1_values`.`my_timestamp` AS `my_timestamp`,`t1_values`.`id` AS `id` from `t1_values`
+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 = 132 OR select_id IS NULL);
+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
@@ -1253,7 +1299,7 @@ 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 = 131 OR select_id IS NULL;
+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
@@ -1261,11 +1307,11 @@ IS_NULL NULL 1
2004-02-29 2004-02-29 4
2005-06-28 2005-06-28 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_date`,_latin1'IS_NULL') AS `IFNULL(my_date,'IS_NULL')`,`t1_values`.`my_date` AS `my_date`,`t1_values`.`id` AS `id` from `t1_values`
+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 = 131 OR select_id IS NULL);
+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
@@ -1279,7 +1325,7 @@ 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 = 130 OR select_id IS NULL;
+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
@@ -1287,11 +1333,11 @@ IS_NULL NULL 1
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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_datetime`,_latin1'IS_NULL') AS `IFNULL(my_datetime,'IS_NULL')`,`t1_values`.`my_datetime` AS `my_datetime`,`t1_values`.`id` AS `id` from `t1_values`
+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 = 130 OR select_id IS NULL);
+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
@@ -1305,7 +1351,7 @@ 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 = 129 OR select_id IS NULL;
+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.7976931348623e+308 -1.7976931348623e+308 2
@@ -1313,11 +1359,11 @@ IS_NULL NULL 1
0 0 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_double`,_latin1'IS_NULL') AS `IFNULL(my_double,'IS_NULL')`,`t1_values`.`my_double` AS `my_double`,`t1_values`.`id` AS `id` from `t1_values`
+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 = 129 OR select_id IS NULL);
+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.7976931348623e+308 -1.7976931348623e+308 2
@@ -1331,7 +1377,7 @@ 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 = 128 OR select_id IS NULL;
+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
@@ -1339,11 +1385,11 @@ IS_NULL NULL 1
0.000000000000000000000000000000 0.000000000000000000000000000000 4
-1.000000000000000000000000000000 -1.000000000000000000000000000000 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_decimal`,_latin1'IS_NULL') AS `IFNULL(my_decimal,'IS_NULL')`,`t1_values`.`my_decimal` AS `my_decimal`,`t1_values`.`id` AS `id` from `t1_values`
+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 = 128 OR select_id IS NULL);
+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
@@ -1357,7 +1403,7 @@ 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 = 127 OR select_id IS NULL;
+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
@@ -1365,11 +1411,11 @@ IS_NULL NULL 1
0 0 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_bigint`,_latin1'IS_NULL') AS `IFNULL(my_bigint,'IS_NULL')`,`t1_values`.`my_bigint` AS `my_bigint`,`t1_values`.`id` AS `id` from `t1_values`
+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 = 127 OR select_id IS NULL);
+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
@@ -1383,7 +1429,7 @@ 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 = 126 OR select_id IS NULL;
+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
@@ -1391,11 +1437,11 @@ IS_NULL NULL 1
---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_varbinary_1000`,_latin1'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`
+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 = 126 OR select_id IS NULL);
+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
@@ -1409,19 +1455,19 @@ 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 = 125 OR select_id IS NULL;
+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
- ---äÖüß@µ*$--
--1
+ ---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
+-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_binary_30`,_latin1'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`
+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 = 125 OR select_id IS NULL);
+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
@@ -1435,7 +1481,7 @@ 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 = 124 OR select_id IS NULL;
+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
@@ -1443,11 +1489,11 @@ IS_NULL NULL 1
---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_varchar_1000`,_latin1'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`
+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 = 124 OR select_id IS NULL);
+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
@@ -1461,7 +1507,7 @@ 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 = 123 OR select_id IS NULL;
+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
@@ -1469,11 +1515,11 @@ IS_NULL NULL 1
---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_char_30`,_latin1'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`
+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 = 123 OR select_id IS NULL);
+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
@@ -1487,7 +1533,7 @@ 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 = 122 OR select_id IS NULL;
+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
@@ -1496,12 +1542,12 @@ IS NOT NULL 2155 3
IS NOT NULL 2000 4
IS NOT NULL 2005 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_year`),_latin1'IS NULL',_latin1'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`
+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 = 122 OR select_id IS NULL);
+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
@@ -1516,7 +1562,7 @@ 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 = 121 OR select_id IS NULL;
+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
@@ -1525,12 +1571,12 @@ 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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_time`),_latin1'IS NULL',_latin1'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`
+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 = 121 OR select_id IS NULL);
+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
@@ -1545,7 +1591,7 @@ 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 = 120 OR select_id IS NULL;
+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
@@ -1554,12 +1600,12 @@ 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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_timestamp`),_latin1'IS NULL',_latin1'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`
+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 = 120 OR select_id IS NULL);
+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
@@ -1574,7 +1620,7 @@ 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 = 119 OR select_id IS NULL;
+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
@@ -1583,12 +1629,12 @@ 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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_date`),_latin1'IS NULL',_latin1'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`
+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 = 119 OR select_id IS NULL);
+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
@@ -1603,7 +1649,7 @@ 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 = 118 OR select_id IS NULL;
+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
@@ -1612,12 +1658,12 @@ 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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_datetime`),_latin1'IS NULL',_latin1'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`
+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 = 118 OR select_id IS NULL);
+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
@@ -1632,7 +1678,7 @@ 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 = 117 OR select_id IS NULL;
+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
@@ -1641,12 +1687,12 @@ IS NOT NULL 1.7976931348623e+308 3
IS NOT NULL 0 4
IS NOT NULL -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_double`),_latin1'IS NULL',_latin1'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`
+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 = 117 OR select_id IS NULL);
+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
@@ -1661,7 +1707,7 @@ 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 = 116 OR select_id IS NULL;
+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
@@ -1670,12 +1716,12 @@ 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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_decimal`),_latin1'IS NULL',_latin1'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`
+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 = 116 OR select_id IS NULL);
+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
@@ -1690,7 +1736,7 @@ 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 = 115 OR select_id IS NULL;
+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
@@ -1699,12 +1745,12 @@ IS NOT NULL 9223372036854775807 3
IS NOT NULL 0 4
IS NOT NULL -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_bigint`),_latin1'IS NULL',_latin1'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`
+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 = 115 OR select_id IS NULL);
+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
@@ -1719,7 +1765,7 @@ 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 = 114 OR select_id IS NULL;
+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
@@ -1728,12 +1774,12 @@ IS NOT NULL <---------1000 characters-------------------------------------------
IS NOT NULL ---äÖüß@µ*$-- 4
IS NOT NULL -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_varbinary_1000`),_latin1'IS NULL',_latin1'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`
+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 = 114 OR select_id IS NULL);
+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
@@ -1748,21 +1794,21 @@ 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 = 113 OR select_id IS NULL;
+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 2
IS NOT NULL <--------30 characters-------> 3
-IS NOT NULL ---äÖüß@µ*$--
-IS NOT NULL -1
+IS NOT NULL ---äÖüß@µ*$-- 4
+IS NOT NULL -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_binary_30`),_latin1'IS NULL',_latin1'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`
+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 = 113 OR select_id IS NULL);
+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
@@ -1777,7 +1823,7 @@ 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 = 112 OR select_id IS NULL;
+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
@@ -1786,12 +1832,12 @@ IS NOT NULL <---------1000 characters-------------------------------------------
IS NOT NULL ---äÖüß@µ*$-- 4
IS NOT NULL -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_varchar_1000`),_latin1'IS NULL',_latin1'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`
+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 = 112 OR select_id IS NULL);
+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
@@ -1806,7 +1852,7 @@ 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 = 111 OR select_id IS NULL;
+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
@@ -1815,12 +1861,12 @@ IS NOT NULL <--------30 characters-------> 3
IS NOT NULL ---äÖüß@µ*$-- 4
IS NOT NULL -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_char_30`),_latin1'IS NULL',_latin1'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`
+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 = 111 OR select_id IS NULL);
+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
@@ -1835,7 +1881,7 @@ 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 = 110 OR select_id IS NULL;
+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
@@ -1843,11 +1889,11 @@ IS TRUE 2155 3
IS TRUE 2000 4
IS TRUE 2005 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_year`,_latin1'IS TRUE',_latin1'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`
+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 = 110 OR select_id IS NULL);
+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
@@ -1861,7 +1907,7 @@ 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 = 109 OR select_id IS NULL;
+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
@@ -1869,11 +1915,11 @@ 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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_time`,_latin1'IS TRUE',_latin1'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`
+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 = 109 OR select_id IS NULL);
+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
@@ -1887,7 +1933,7 @@ 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 = 108 OR select_id IS NULL;
+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
@@ -1895,11 +1941,11 @@ 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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_timestamp`,_latin1'IS TRUE',_latin1'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`
+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 = 108 OR select_id IS NULL);
+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
@@ -1913,7 +1959,7 @@ 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 = 107 OR select_id IS NULL;
+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
@@ -1921,11 +1967,11 @@ 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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_date`,_latin1'IS TRUE',_latin1'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`
+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 = 107 OR select_id IS NULL);
+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
@@ -1939,7 +1985,7 @@ 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 = 106 OR select_id IS NULL;
+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
@@ -1947,11 +1993,11 @@ 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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_datetime`,_latin1'IS TRUE',_latin1'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`
+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 = 106 OR select_id IS NULL);
+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
@@ -1965,7 +2011,7 @@ 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 = 105 OR select_id IS NULL;
+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.7976931348623e+308 2
@@ -1973,11 +2019,11 @@ IS TRUE 1.7976931348623e+308 3
IS NOT TRUE 0 4
IS TRUE -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_double`,_latin1'IS TRUE',_latin1'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`
+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 = 105 OR select_id IS NULL);
+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.7976931348623e+308 2
@@ -1991,7 +2037,7 @@ 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 = 104 OR select_id IS NULL;
+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
@@ -1999,11 +2045,11 @@ IS TRUE 9999999999999999999999999999999999.999999999999999999999999999999 3
IS NOT TRUE 0.000000000000000000000000000000 4
IS TRUE -1.000000000000000000000000000000 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_decimal`,_latin1'IS TRUE',_latin1'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`
+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 = 104 OR select_id IS NULL);
+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
@@ -2017,7 +2063,7 @@ 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 = 103 OR select_id IS NULL;
+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
@@ -2025,11 +2071,11 @@ IS TRUE 9223372036854775807 3
IS NOT TRUE 0 4
IS TRUE -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_bigint`,_latin1'IS TRUE',_latin1'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`
+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 = 103 OR select_id IS NULL);
+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
@@ -2043,7 +2089,7 @@ 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 = 102 OR select_id IS NULL;
+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
@@ -2051,11 +2097,11 @@ IS NOT TRUE <---------1000 characters-------------------------------------------
IS NOT TRUE ---äÖüß@µ*$-- 4
IS TRUE -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_varbinary_1000`,_latin1'IS TRUE',_latin1'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`
+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 = 102 OR select_id IS NULL);
+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
@@ -2069,24 +2115,24 @@ 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 = 101 OR select_id IS NULL;
+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 2
IS NOT TRUE <--------30 characters-------> 3
-IS NOT TRUE ---äÖüß@µ*$--
-IS TRUE -1
+IS NOT TRUE ---äÖüß@µ*$-- 4
+IS TRUE -1 5
Warnings:
Warning 1292 Truncated incorrect DOUBLE value: ''
Warning 1292 Truncated incorrect DOUBLE value: '<--------30 characters------->'
Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$-- '
Warning 1292 Truncated incorrect DOUBLE value: '-1'
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_binary_30`,_latin1'IS TRUE',_latin1'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`
+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 = 101 OR select_id IS NULL);
+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
@@ -2105,7 +2151,7 @@ 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 = 100 OR select_id IS NULL;
+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
@@ -2113,11 +2159,11 @@ IS NOT TRUE <---------1000 characters-------------------------------------------
IS NOT TRUE ---äÖüß@µ*$-- 4
IS TRUE -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_varchar_1000`,_latin1'IS TRUE',_latin1'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`
+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 = 100 OR select_id IS NULL);
+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
@@ -2131,7 +2177,7 @@ 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 = 99 OR select_id IS NULL;
+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
@@ -2142,11 +2188,11 @@ Warnings:
Warning 1292 Truncated incorrect DOUBLE value: '<--------30 characters------->'
Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$-- '
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_char_30`,_latin1'IS TRUE',_latin1'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`
+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 = 99 OR select_id IS NULL);
+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
@@ -2159,11 +2205,11 @@ Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$-- '
DROP VIEW v1;
-CREATE VIEW v1 AS SELECT CONVERT(my_varbinary_1000 USING koi8r),
+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),
+SELECT CONVERT(my_varbinary_1000 USING koi8r),
my_varbinary_1000, id FROM t1_values
-WHERE select_id = 98 OR select_id IS NULL;
+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
@@ -2171,11 +2217,11 @@ NULL NULL 1
---???????÷@??*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 98 OR select_id IS NULL);
+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
@@ -2185,23 +2231,23 @@ NULL NULL 1
DROP VIEW v1;
-CREATE VIEW v1 AS SELECT CONVERT(my_binary_30 USING koi8r),
+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),
+SELECT CONVERT(my_binary_30 USING koi8r),
my_binary_30, id FROM t1_values
-WHERE select_id = 97 OR select_id IS NULL;
+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
- ---???????÷@??*$--
--1
+ ---???????÷@??*$-- ---äÖüß@µ*$-- 4
+-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 97 OR select_id IS NULL);
+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
@@ -2211,11 +2257,11 @@ NULL NULL 1
DROP VIEW v1;
-CREATE VIEW v1 AS SELECT CONVERT(my_varchar_1000 USING koi8r),
+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),
+SELECT CONVERT(my_varchar_1000 USING koi8r),
my_varchar_1000, id FROM t1_values
-WHERE select_id = 96 OR select_id IS NULL;
+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
@@ -2223,11 +2269,11 @@ NULL NULL 1
---????????@??*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 96 OR select_id IS NULL);
+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
@@ -2237,11 +2283,11 @@ NULL NULL 1
DROP VIEW v1;
-CREATE VIEW v1 AS SELECT CONVERT(my_char_30 USING koi8r),
+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),
+SELECT CONVERT(my_char_30 USING koi8r),
my_char_30, id FROM t1_values
-WHERE select_id = 95 OR select_id IS NULL;
+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
@@ -2249,11 +2295,11 @@ NULL NULL 1
---????????@??*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 95 OR select_id IS NULL);
+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
@@ -2263,11 +2309,11 @@ NULL NULL 1
DROP VIEW v1;
-CREATE VIEW v1 AS SELECT CONVERT(my_varbinary_1000 USING utf8),
+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),
+SELECT CONVERT(my_varbinary_1000 USING utf8),
my_varbinary_1000, id FROM t1_values
-WHERE select_id = 94 OR select_id IS NULL;
+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
@@ -2275,11 +2321,11 @@ NULL NULL 1
---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 94 OR select_id IS NULL);
+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
@@ -2289,23 +2335,23 @@ NULL NULL 1
DROP VIEW v1;
-CREATE VIEW v1 AS SELECT CONVERT(my_binary_30 USING utf8),
+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),
+SELECT CONVERT(my_binary_30 USING utf8),
my_binary_30, id FROM t1_values
-WHERE select_id = 93 OR select_id IS NULL;
+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
- ---äÖüß@µ*$--
--1
+ ---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
+-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 93 OR select_id IS NULL);
+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
@@ -2315,11 +2361,11 @@ NULL NULL 1
DROP VIEW v1;
-CREATE VIEW v1 AS SELECT CONVERT(my_varchar_1000 USING utf8),
+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),
+SELECT CONVERT(my_varchar_1000 USING utf8),
my_varchar_1000, id FROM t1_values
-WHERE select_id = 92 OR select_id IS NULL;
+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
@@ -2327,11 +2373,11 @@ NULL NULL 1
---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 92 OR select_id IS NULL);
+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
@@ -2341,11 +2387,11 @@ NULL NULL 1
DROP VIEW v1;
-CREATE VIEW v1 AS SELECT CONVERT(my_char_30 USING utf8),
+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),
+SELECT CONVERT(my_char_30 USING utf8),
my_char_30, id FROM t1_values
-WHERE select_id = 91 OR select_id IS NULL;
+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
@@ -2353,11 +2399,11 @@ NULL NULL 1
---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 91 OR select_id IS NULL);
+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
@@ -2371,7 +2417,7 @@ 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 = 90 OR select_id IS NULL;
+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
@@ -2379,11 +2425,11 @@ NULL NULL 1
2000 2000 4
2005 2005 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 90 OR select_id IS NULL);
+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
@@ -2397,7 +2443,7 @@ 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 = 89 OR select_id IS NULL;
+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
@@ -2405,11 +2451,11 @@ NULL NULL 1
130000 13:00:00 4
100000 10:00:00 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 89 OR select_id IS NULL);
+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
@@ -2423,7 +2469,7 @@ 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 = 88 OR select_id IS NULL;
+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
@@ -2431,11 +2477,11 @@ CAST(my_timestamp AS UNSIGNED INTEGER) my_timestamp id
20040229235959 2004-02-29 23:59:59 4
20050628100000 2005-06-28 10:00:00 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 88 OR select_id IS NULL);
+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
@@ -2449,7 +2495,7 @@ 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 = 87 OR select_id IS NULL;
+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
@@ -2457,11 +2503,11 @@ NULL NULL 1
20040229 2004-02-29 4
20050628 2005-06-28 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 87 OR select_id IS NULL);
+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
@@ -2475,7 +2521,7 @@ 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 = 86 OR select_id IS NULL;
+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
@@ -2483,11 +2529,11 @@ NULL NULL 1
20040229235959 2004-02-29 23:59:59 4
20050628100000 2005-06-28 10:00:00 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 86 OR select_id IS NULL);
+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
@@ -2497,11 +2543,43 @@ NULL NULL 1
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.7976931348623e+308 2
+9223372036854775807 1.7976931348623e+308 3
+0 0 4
+18446744073709551615 -1 5
+Warnings:
+Warning 1292 Truncated incorrect INTEGER value: '-1.7976931348623e+308'
+Warning 1292 Truncated incorrect INTEGER value: '1.7976931348623e+308'
+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.7976931348623e+308 2
+9223372036854775807 1.7976931348623e+308 3
+0 0 4
+18446744073709551615 -1 5
+Warnings:
+Warning 1292 Truncated incorrect INTEGER value: '-1.7976931348623e+308'
+Warning 1292 Truncated incorrect INTEGER value: '1.7976931348623e+308'
+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 = 85 OR select_id IS NULL;
+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
@@ -2513,11 +2591,11 @@ Error 1292 Truncated incorrect DECIMAL value: ''
Error 1292 Truncated incorrect DECIMAL value: ''
Error 1292 Truncated incorrect DECIMAL value: ''
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 85 OR select_id IS NULL);
+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
@@ -2535,7 +2613,7 @@ 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 = 84 OR select_id IS NULL;
+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
@@ -2543,11 +2621,11 @@ NULL NULL 1
0 0 4
18446744073709551615 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 84 OR select_id IS NULL);
+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
@@ -2561,7 +2639,7 @@ 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 = 83 OR select_id IS NULL;
+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
@@ -2574,11 +2652,11 @@ 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
-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`
+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 = 83 OR select_id IS NULL);
+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
@@ -2597,13 +2675,13 @@ 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 = 82 OR select_id IS NULL;
+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 2
0 <--------30 characters-------> 3
-0 ---äÖüß@µ*$--
-18446744073709551615 -1
+0 ---äÖüß@µ*$-- 4
+18446744073709551615 -1 5
Warnings:
Warning 1292 Truncated incorrect INTEGER value: ''
Warning 1292 Truncated incorrect INTEGER value: '<--------30 characters------->'
@@ -2611,11 +2689,11 @@ 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
-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`
+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 = 82 OR select_id IS NULL);
+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
@@ -2635,7 +2713,7 @@ 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 = 81 OR select_id IS NULL;
+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
@@ -2648,11 +2726,11 @@ 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
-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`
+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 = 81 OR select_id IS NULL);
+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
@@ -2671,7 +2749,7 @@ 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 = 80 OR select_id IS NULL;
+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
@@ -2684,11 +2762,11 @@ 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
-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`
+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 = 80 OR select_id IS NULL);
+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
@@ -2707,7 +2785,7 @@ 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 = 79 OR select_id IS NULL;
+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
@@ -2715,11 +2793,11 @@ NULL NULL 1
2000 2000 4
2005 2005 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 79 OR select_id IS NULL);
+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
@@ -2733,7 +2811,7 @@ 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 = 78 OR select_id IS NULL;
+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
@@ -2741,11 +2819,11 @@ NULL NULL 1
130000 13:00:00 4
100000 10:00:00 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 78 OR select_id IS NULL);
+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
@@ -2759,7 +2837,7 @@ 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 = 77 OR select_id IS NULL;
+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
@@ -2767,11 +2845,11 @@ CAST(my_timestamp AS SIGNED INTEGER) my_timestamp id
20040229235959 2004-02-29 23:59:59 4
20050628100000 2005-06-28 10:00:00 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 77 OR select_id IS NULL);
+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
@@ -2785,7 +2863,7 @@ 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 = 76 OR select_id IS NULL;
+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
@@ -2793,11 +2871,11 @@ NULL NULL 1
20040229 2004-02-29 4
20050628 2005-06-28 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 76 OR select_id IS NULL);
+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
@@ -2811,7 +2889,7 @@ 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 = 75 OR select_id IS NULL;
+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
@@ -2819,11 +2897,11 @@ NULL NULL 1
20040229235959 2004-02-29 23:59:59 4
20050628100000 2005-06-28 10:00:00 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 75 OR select_id IS NULL);
+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
@@ -2833,11 +2911,43 @@ NULL NULL 1
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.7976931348623e+308 2
+9223372036854775807 1.7976931348623e+308 3
+0 0 4
+-1 -1 5
+Warnings:
+Warning 1292 Truncated incorrect INTEGER value: '-1.7976931348623e+308'
+Warning 1292 Truncated incorrect INTEGER value: '1.7976931348623e+308'
+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.7976931348623e+308 2
+9223372036854775807 1.7976931348623e+308 3
+0 0 4
+-1 -1 5
+Warnings:
+Warning 1292 Truncated incorrect INTEGER value: '-1.7976931348623e+308'
+Warning 1292 Truncated incorrect INTEGER value: '1.7976931348623e+308'
+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 = 74 OR select_id IS NULL;
+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
@@ -2848,11 +2958,11 @@ Warnings:
Error 1292 Truncated incorrect DECIMAL value: ''
Error 1292 Truncated incorrect DECIMAL value: ''
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 74 OR select_id IS NULL);
+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
@@ -2869,7 +2979,7 @@ 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 = 73 OR select_id IS NULL;
+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
@@ -2877,11 +2987,11 @@ NULL NULL 1
0 0 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 73 OR select_id IS NULL);
+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
@@ -2895,7 +3005,7 @@ 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 = 72 OR select_id IS NULL;
+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
@@ -2907,11 +3017,11 @@ 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
-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`
+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 = 72 OR select_id IS NULL);
+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
@@ -2929,24 +3039,24 @@ 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 = 71 OR select_id IS NULL;
+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 2
0 <--------30 characters-------> 3
-0 ---äÖüß@µ*$--
--1 -1
+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
-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`
+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 = 71 OR select_id IS NULL);
+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
@@ -2965,7 +3075,7 @@ 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 = 70 OR select_id IS NULL;
+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
@@ -2977,11 +3087,11 @@ 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
-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`
+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 = 70 OR select_id IS NULL);
+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
@@ -2999,7 +3109,7 @@ 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 = 69 OR select_id IS NULL;
+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
@@ -3011,11 +3121,11 @@ 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
-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`
+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 = 69 OR select_id IS NULL);
+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
@@ -3033,7 +3143,7 @@ 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 = 68 OR select_id IS NULL;
+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
@@ -3041,11 +3151,11 @@ NULL NULL 1
2000.00 2000 4
2005.00 2005 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 68 OR select_id IS NULL);
+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
@@ -3059,7 +3169,7 @@ 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 = 67 OR select_id IS NULL;
+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
@@ -3067,11 +3177,11 @@ NULL NULL 1
130000.00 13:00:00 4
100000.00 10:00:00 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 67 OR select_id IS NULL);
+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
@@ -3085,7 +3195,7 @@ 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 = 66 OR select_id IS NULL;
+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
@@ -3093,11 +3203,11 @@ CAST(my_timestamp AS DECIMAL(37,2)) my_timestamp id
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
-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`
+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 = 66 OR select_id IS NULL);
+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
@@ -3111,7 +3221,7 @@ 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 = 65 OR select_id IS NULL;
+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
@@ -3119,11 +3229,11 @@ NULL NULL 1
20040229.00 2004-02-29 4
20050628.00 2005-06-28 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 65 OR select_id IS NULL);
+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
@@ -3137,7 +3247,7 @@ 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 = 64 OR select_id IS NULL;
+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
@@ -3145,11 +3255,11 @@ NULL NULL 1
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
-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`
+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 = 64 OR select_id IS NULL);
+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
@@ -3159,11 +3269,49 @@ NULL NULL 1
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.7976931348623e+308 2
+99999999999999999999999999999999999.99 1.7976931348623e+308 3
+0.00 0 4
+-1.00 -1 5
+-3333.33 -3333.3333 30
+Warnings:
+Error 1292 Truncated incorrect DECIMAL value: ''
+Error 1264 Out of range value for column 'CAST(my_double AS DECIMAL(37,2))' at row 1
+Error 1292 Truncated incorrect DECIMAL value: ''
+Error 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.7976931348623e+308 2
+99999999999999999999999999999999999.99 1.7976931348623e+308 3
+0.00 0 4
+-1.00 -1 5
+-3333.33 -3333.3333 30
+Warnings:
+Error 1292 Truncated incorrect DECIMAL value: ''
+Error 1264 Out of range value for column 'CAST(my_double AS DECIMAL(37,2))' at row 1
+Error 1292 Truncated incorrect DECIMAL value: ''
+Error 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 = 63 OR select_id IS NULL;
+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
@@ -3171,11 +3319,11 @@ NULL NULL 1
0.00 0.000000000000000000000000000000 4
-1.00 -1.000000000000000000000000000000 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 63 OR select_id IS NULL);
+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
@@ -3189,7 +3337,7 @@ 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 = 62 OR select_id IS NULL;
+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
@@ -3197,11 +3345,11 @@ NULL NULL 1
0.00 0 4
-1.00 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 62 OR select_id IS NULL);
+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
@@ -3215,31 +3363,31 @@ 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 = 61 OR select_id IS NULL;
+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 28
+-3333.33 -3333.3333 29
Warnings:
Error 1366 Incorrect decimal value: '' for column '' at row -1
Error 1366 Incorrect decimal value: '' for column '' at row -1
Error 1366 Incorrect decimal value: '' for column '' at row -1
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 61 OR select_id IS NULL);
+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 28
+-3333.33 -3333.3333 29
Warnings:
Error 1366 Incorrect decimal value: '' for column '' at row -1
Error 1366 Incorrect decimal value: '' for column '' at row -1
@@ -3251,14 +3399,14 @@ 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 = 60 OR select_id IS NULL;
+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 2
0.00 <--------30 characters-------> 3
-0.00 ---äÖüß@µ*$--
--1.00 -1
--3333.33 -3333.3333
+0.00 ---äÖüß@µ*$-- 4
+-1.00 -1 5
+-3333.33 -3333.3333 28
Warnings:
Error 1366 Incorrect decimal value: '' for column '' at row -1
Warning 1292 Truncated incorrect DECIMAL value: ''
@@ -3269,18 +3417,18 @@ Warning 1292 Truncated incorrect DECIMAL value: ' ---äÖüß@µ*$-- '
Warning 1292 Truncated incorrect DECIMAL value: '-1'
Warning 1292 Truncated incorrect DECIMAL value: '-3333.3333'
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 60 OR select_id IS NULL);
+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
+-3333.33 -3333.3333
Warnings:
Error 1366 Incorrect decimal value: '' for column '' at row -1
Warning 1292 Truncated incorrect DECIMAL value: ''
@@ -3297,31 +3445,31 @@ 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 = 59 OR select_id IS NULL;
+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 26
+-3333.33 -3333.3333 27
Warnings:
Error 1366 Incorrect decimal value: '' for column '' at row -1
Error 1366 Incorrect decimal value: '' for column '' at row -1
Error 1366 Incorrect decimal value: '' for column '' at row -1
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 59 OR select_id IS NULL);
+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 26
+-3333.33 -3333.3333 27
Warnings:
Error 1366 Incorrect decimal value: '' for column '' at row -1
Error 1366 Incorrect decimal value: '' for column '' at row -1
@@ -3333,14 +3481,14 @@ 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 = 58 OR select_id IS NULL;
+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 25
+-3333.33 -3333.3333 26
Warnings:
Error 1366 Incorrect decimal value: '' for column '' at row -1
Warning 1292 Truncated incorrect DECIMAL value: ' '
@@ -3349,18 +3497,18 @@ Warning 1292 Truncated incorrect DECIMAL value: '<--------30 characters------->'
Error 1366 Incorrect decimal value: '' for column '' at row -1
Warning 1292 Truncated incorrect DECIMAL value: ' ---äÖüß@µ*$-- '
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 58 OR select_id IS NULL);
+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 25
+-3333.33 -3333.3333 26
Warnings:
Error 1366 Incorrect decimal value: '' for column '' at row -1
Warning 1292 Truncated incorrect DECIMAL value: ' '
@@ -3375,7 +3523,7 @@ 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 = 57 OR select_id IS NULL;
+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
@@ -3383,11 +3531,11 @@ NULL NULL 1
00:20:00 2000 4
00:20:05 2005 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 57 OR select_id IS NULL);
+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
@@ -3401,7 +3549,7 @@ 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 = 56 OR select_id IS NULL;
+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
@@ -3409,11 +3557,11 @@ NULL NULL 1
13:00:00 13:00:00 4
10:00:00 10:00:00 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 56 OR select_id IS NULL);
+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
@@ -3427,7 +3575,7 @@ 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 = 55 OR select_id IS NULL;
+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
@@ -3435,11 +3583,11 @@ CAST(my_timestamp AS TIME) my_timestamp id
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
-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`
+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 = 55 OR select_id IS NULL);
+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
@@ -3453,7 +3601,7 @@ 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 = 54 OR select_id IS NULL;
+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
@@ -3461,11 +3609,11 @@ NULL NULL 1
00:00:00 2004-02-29 4
00:00:00 2005-06-28 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 54 OR select_id IS NULL);
+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
@@ -3479,7 +3627,7 @@ 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 = 53 OR select_id IS NULL;
+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
@@ -3487,11 +3635,11 @@ NULL NULL 1
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
-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`
+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 = 53 OR select_id IS NULL);
+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
@@ -3501,11 +3649,45 @@ NULL NULL 1
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.7976931348623e+308 2
+NULL 1.7976931348623e+308 3
+00:00:00 0 4
+-00:00:01 -1 5
+00:17:58 1758 25
+Warnings:
+Warning 1292 Truncated incorrect time value: '-1.7976931348623e+308'
+Warning 1292 Truncated incorrect time value: '1.7976931348623e+308'
+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.7976931348623e+308 2
+NULL 1.7976931348623e+308 3
+00:00:00 0 4
+-00:00:01 -1 5
+00:17:58 1758 25
+Warnings:
+Warning 1292 Truncated incorrect time value: '-1.7976931348623e+308'
+Warning 1292 Truncated incorrect time value: '1.7976931348623e+308'
+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;
+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
@@ -3517,11 +3699,11 @@ Warnings:
Warning 1292 Truncated incorrect time value: '-9223372036854775808'
Warning 1292 Truncated incorrect time value: '9223372036854775807'
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -3539,7 +3721,7 @@ 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;
+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
@@ -3552,11 +3734,11 @@ 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
-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`
+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);
+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
@@ -3575,14 +3757,14 @@ 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;
+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 2
00:00:00 <--------30 characters-------> 3
--00:00:00 ---äÖüß@µ*$--
-NULL -1
-41:58:00 1 17:58
+-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------->'
@@ -3590,11 +3772,11 @@ 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
-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`
+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);
+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
@@ -3615,7 +3797,7 @@ 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;
+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
@@ -3628,11 +3810,11 @@ 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
-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`
+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);
+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
@@ -3651,7 +3833,7 @@ 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;
+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
@@ -3664,11 +3846,11 @@ 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
-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`
+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);
+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
@@ -3687,7 +3869,7 @@ 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;
+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
@@ -3695,16 +3877,16 @@ NULL 2155 3
NULL 2000 4
NULL 2005 5
Warnings:
-Warning 1292 Truncated incorrect datetime value: '1901'
-Warning 1292 Truncated incorrect datetime value: '2155'
-Warning 1292 Truncated incorrect datetime value: '2000'
-Warning 1292 Truncated incorrect datetime value: '2005'
+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
-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`
+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);
+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
@@ -3712,10 +3894,10 @@ NULL 2155 3
NULL 2000 4
NULL 2005 5
Warnings:
-Warning 1292 Truncated incorrect datetime value: '1901'
-Warning 1292 Truncated incorrect datetime value: '2155'
-Warning 1292 Truncated incorrect datetime value: '2000'
-Warning 1292 Truncated incorrect datetime value: '2005'
+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;
@@ -3723,7 +3905,7 @@ 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;
+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
@@ -3731,14 +3913,14 @@ NULL NULL 1
0000-00-00 13:00:00 13:00:00 4
0000-00-00 10:00:00 10:00:00 5
Warnings:
-Warning 1292 Truncated incorrect datetime value: '0000-00-00 838:59:59'
-Warning 1292 Truncated incorrect datetime value: '0000-00-00 838:59:59'
+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
-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`
+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);
+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
@@ -3746,8 +3928,8 @@ NULL NULL 1
0000-00-00 13:00:00 13:00:00 4
0000-00-00 10:00:00 10:00:00 5
Warnings:
-Warning 1292 Truncated incorrect datetime value: '0000-00-00 838:59:59'
-Warning 1292 Truncated incorrect datetime value: '0000-00-00 838:59:59'
+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;
@@ -3755,7 +3937,7 @@ 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;
+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
@@ -3763,11 +3945,11 @@ CAST(my_timestamp AS DATETIME) my_timestamp id
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
-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`
+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);
+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
@@ -3781,7 +3963,7 @@ 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;
+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
@@ -3789,11 +3971,11 @@ NULL NULL 1
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
-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`
+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);
+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
@@ -3807,7 +3989,7 @@ 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;
+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
@@ -3815,11 +3997,11 @@ NULL NULL 1
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
-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`
+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);
+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
@@ -3833,7 +4015,7 @@ 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;
+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.7976931348623e+308 2
@@ -3842,17 +4024,17 @@ NULL 0 4
NULL -1 5
NULL 200506271758 19
Warnings:
-Warning 1292 Truncated incorrect datetime value: '-1.7976931348623e+308'
-Warning 1292 Truncated incorrect datetime value: '1.7976931348623e+308'
-Warning 1292 Truncated incorrect datetime value: '0'
-Warning 1292 Truncated incorrect datetime value: '-1'
-Warning 1292 Truncated incorrect datetime value: '200506271758'
+Warning 1292 Incorrect datetime value: '-1.7976931348623e+308'
+Warning 1292 Incorrect datetime value: '1.7976931348623e+308'
+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
-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`
+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);
+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.7976931348623e+308 2
@@ -3861,11 +4043,11 @@ NULL 0 4
NULL -1 5
NULL 200506271758 19
Warnings:
-Warning 1292 Truncated incorrect datetime value: '-1.7976931348623e+308'
-Warning 1292 Truncated incorrect datetime value: '1.7976931348623e+308'
-Warning 1292 Truncated incorrect datetime value: '0'
-Warning 1292 Truncated incorrect datetime value: '-1'
-Warning 1292 Truncated incorrect datetime value: '200506271758'
+Warning 1292 Incorrect datetime value: '-1.7976931348623e+308'
+Warning 1292 Incorrect datetime value: '1.7976931348623e+308'
+Warning 1292 Incorrect datetime value: '0'
+Warning 1292 Incorrect datetime value: '-1'
+Warning 1292 Incorrect datetime value: '200506271758'
DROP VIEW v1;
@@ -3873,7 +4055,7 @@ 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;
+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
@@ -3882,17 +4064,17 @@ NULL 0 4
NULL -1 5
NULL 200506271758 18
Warnings:
-Warning 1292 Truncated incorrect datetime value: '-9223372036854775808'
-Warning 1292 Truncated incorrect datetime value: '9223372036854775807'
-Warning 1292 Truncated incorrect datetime value: '0'
-Warning 1292 Truncated incorrect datetime value: '-1'
-Warning 1292 Truncated incorrect datetime value: '200506271758'
+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
-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`
+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);
+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
@@ -3901,11 +4083,11 @@ NULL 0 4
NULL -1 5
NULL 200506271758 18
Warnings:
-Warning 1292 Truncated incorrect datetime value: '-9223372036854775808'
-Warning 1292 Truncated incorrect datetime value: '9223372036854775807'
-Warning 1292 Truncated incorrect datetime value: '0'
-Warning 1292 Truncated incorrect datetime value: '-1'
-Warning 1292 Truncated incorrect datetime value: '200506271758'
+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;
@@ -3913,7 +4095,7 @@ 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;
+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
@@ -3922,16 +4104,16 @@ NULL ---äÖüß@µ*$-- 4
NULL -1 5
2005-06-27 17:58:00 2005-06-27 17:58 17
Warnings:
-Warning 1292 Truncated incorrect datetime value: ''
-Warning 1292 Truncated incorrect datetime value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect datetime value: ' ---äÖüß@µ*$-- '
-Warning 1292 Truncated incorrect datetime value: '-1'
+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
-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`
+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);
+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
@@ -3940,10 +4122,10 @@ NULL ---äÖüß@µ*$-- 4
NULL -1 5
2005-06-27 17:58:00 2005-06-27 17:58 17
Warnings:
-Warning 1292 Truncated incorrect datetime value: ''
-Warning 1292 Truncated incorrect datetime value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect datetime value: ' ---äÖüß@µ*$-- '
-Warning 1292 Truncated incorrect datetime value: '-1'
+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;
@@ -3951,26 +4133,26 @@ 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;
+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 2
NULL <--------30 characters-------> 3
-NULL ---äÖüß@µ*$--
-NULL -1
-2005-06-27 17:58:00 2005-06-27 17:58
+NULL ---äÖüß@µ*$-- 4
+NULL -1 5
+2005-06-27 17:58:00 2005-06-27 17:58 16
Warnings:
-Warning 1292 Truncated incorrect datetime value: ''
-Warning 1292 Truncated incorrect datetime value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect datetime value: ' ---äÖüß@µ*$-- '
-Warning 1292 Truncated incorrect datetime value: '-1'
+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
-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`
+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);
+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
@@ -3979,10 +4161,10 @@ NULL ---äÖüß@µ*$--
NULL -1
2005-06-27 17:58:00 2005-06-27 17:58
Warnings:
-Warning 1292 Truncated incorrect datetime value: ''
-Warning 1292 Truncated incorrect datetime value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect datetime value: ' ---äÖüß@µ*$-- '
-Warning 1292 Truncated incorrect datetime value: '-1'
+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;
@@ -3991,7 +4173,7 @@ 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;
+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
@@ -4000,16 +4182,16 @@ NULL ---äÖüß@µ*$-- 4
NULL -1 5
2005-06-27 17:58:00 2005-06-27 17:58 15
Warnings:
-Warning 1292 Truncated incorrect datetime value: ''
-Warning 1292 Truncated incorrect datetime value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect datetime value: ' ---äÖüß@µ*$-- '
-Warning 1292 Truncated incorrect datetime value: '-1'
+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
-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`
+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);
+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
@@ -4018,10 +4200,10 @@ NULL ---äÖüß@µ*$-- 4
NULL -1 5
2005-06-27 17:58:00 2005-06-27 17:58 15
Warnings:
-Warning 1292 Truncated incorrect datetime value: ''
-Warning 1292 Truncated incorrect datetime value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect datetime value: ' ---äÖüß@µ*$-- '
-Warning 1292 Truncated incorrect datetime value: '-1'
+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;
@@ -4029,7 +4211,7 @@ 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;
+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
@@ -4038,16 +4220,16 @@ NULL ---äÖüß@µ*$-- 4
NULL -1 5
2005-06-27 17:58:00 2005-06-27 17:58 14
Warnings:
-Warning 1292 Truncated incorrect datetime value: ''
-Warning 1292 Truncated incorrect datetime value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect datetime value: ' ---äÖüß@µ*$--'
-Warning 1292 Truncated incorrect datetime value: '-1'
+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
-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`
+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);
+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
@@ -4056,10 +4238,10 @@ NULL ---äÖüß@µ*$-- 4
NULL -1 5
2005-06-27 17:58:00 2005-06-27 17:58 14
Warnings:
-Warning 1292 Truncated incorrect datetime value: ''
-Warning 1292 Truncated incorrect datetime value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect datetime value: ' ---äÖüß@µ*$--'
-Warning 1292 Truncated incorrect datetime value: '-1'
+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;
@@ -4067,7 +4249,7 @@ 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;
+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
@@ -4075,16 +4257,16 @@ NULL 2155 3
NULL 2000 4
NULL 2005 5
Warnings:
-Warning 1292 Truncated incorrect datetime value: '1901'
-Warning 1292 Truncated incorrect datetime value: '2155'
-Warning 1292 Truncated incorrect datetime value: '2000'
-Warning 1292 Truncated incorrect datetime value: '2005'
+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
-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`
+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);
+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
@@ -4092,10 +4274,10 @@ NULL 2155 3
NULL 2000 4
NULL 2005 5
Warnings:
-Warning 1292 Truncated incorrect datetime value: '1901'
-Warning 1292 Truncated incorrect datetime value: '2155'
-Warning 1292 Truncated incorrect datetime value: '2000'
-Warning 1292 Truncated incorrect datetime value: '2005'
+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;
@@ -4103,7 +4285,7 @@ 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;
+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
@@ -4111,11 +4293,11 @@ NULL NULL 1
0000-00-00 13:00:00 4
0000-00-00 10:00:00 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -4129,7 +4311,7 @@ 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;
+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
@@ -4137,11 +4319,11 @@ CAST(my_timestamp AS DATE) my_timestamp id
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
-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`
+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);
+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
@@ -4155,7 +4337,7 @@ 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;
+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
@@ -4163,11 +4345,11 @@ NULL NULL 1
2004-02-29 2004-02-29 4
2005-06-28 2005-06-28 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -4181,7 +4363,7 @@ 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;
+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
@@ -4189,11 +4371,11 @@ NULL NULL 1
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
-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`
+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);
+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
@@ -4207,7 +4389,7 @@ 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;
+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.7976931348623e+308 2
@@ -4216,16 +4398,16 @@ NULL 0 4
NULL -1 5
2005-06-27 20050627 13
Warnings:
-Warning 1292 Truncated incorrect datetime value: '-1.7976931348623e+308'
-Warning 1292 Truncated incorrect datetime value: '1.7976931348623e+308'
-Warning 1292 Truncated incorrect datetime value: '0'
-Warning 1292 Truncated incorrect datetime value: '-1'
+Warning 1292 Incorrect datetime value: '-1.7976931348623e+308'
+Warning 1292 Incorrect datetime value: '1.7976931348623e+308'
+Warning 1292 Incorrect datetime value: '0'
+Warning 1292 Incorrect datetime value: '-1'
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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.7976931348623e+308 2
@@ -4234,10 +4416,10 @@ NULL 0 4
NULL -1 5
2005-06-27 20050627 13
Warnings:
-Warning 1292 Truncated incorrect datetime value: '-1.7976931348623e+308'
-Warning 1292 Truncated incorrect datetime value: '1.7976931348623e+308'
-Warning 1292 Truncated incorrect datetime value: '0'
-Warning 1292 Truncated incorrect datetime value: '-1'
+Warning 1292 Incorrect datetime value: '-1.7976931348623e+308'
+Warning 1292 Incorrect datetime value: '1.7976931348623e+308'
+Warning 1292 Incorrect datetime value: '0'
+Warning 1292 Incorrect datetime value: '-1'
DROP VIEW v1;
@@ -4245,7 +4427,7 @@ 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;
+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
@@ -4254,16 +4436,16 @@ NULL 0 4
NULL -1 5
2005-06-27 20050627 12
Warnings:
-Warning 1292 Truncated incorrect datetime value: '-9223372036854775808'
-Warning 1292 Truncated incorrect datetime value: '9223372036854775807'
-Warning 1292 Truncated incorrect datetime value: '0'
-Warning 1292 Truncated incorrect datetime value: '-1'
+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
-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`
+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);
+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
@@ -4272,10 +4454,10 @@ NULL 0 4
NULL -1 5
2005-06-27 20050627 12
Warnings:
-Warning 1292 Truncated incorrect datetime value: '-9223372036854775808'
-Warning 1292 Truncated incorrect datetime value: '9223372036854775807'
-Warning 1292 Truncated incorrect datetime value: '0'
-Warning 1292 Truncated incorrect datetime value: '-1'
+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;
@@ -4283,7 +4465,7 @@ 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;
+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
@@ -4292,16 +4474,16 @@ NULL ---äÖüß@µ*$-- 4
NULL -1 5
2005-06-27 2005-06-27 11
Warnings:
-Warning 1292 Truncated incorrect datetime value: ''
-Warning 1292 Truncated incorrect datetime value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect datetime value: ' ---äÖüß@µ*$-- '
-Warning 1292 Truncated incorrect datetime value: '-1'
+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
-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`
+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);
+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
@@ -4310,10 +4492,10 @@ NULL ---äÖüß@µ*$-- 4
NULL -1 5
2005-06-27 2005-06-27 11
Warnings:
-Warning 1292 Truncated incorrect datetime value: ''
-Warning 1292 Truncated incorrect datetime value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect datetime value: ' ---äÖüß@µ*$-- '
-Warning 1292 Truncated incorrect datetime value: '-1'
+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;
@@ -4321,26 +4503,26 @@ 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;
+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 2
NULL <--------30 characters-------> 3
-NULL ---äÖüß@µ*$--
-NULL -1
-2005-06-27 2005-06-27
+NULL ---äÖüß@µ*$-- 4
+NULL -1 5
+2005-06-27 2005-06-27 10
Warnings:
-Warning 1292 Truncated incorrect datetime value: ''
-Warning 1292 Truncated incorrect datetime value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect datetime value: ' ---äÖüß@µ*$-- '
-Warning 1292 Truncated incorrect datetime value: '-1'
+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
-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`
+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);
+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
@@ -4349,10 +4531,10 @@ NULL ---äÖüß@µ*$--
NULL -1
2005-06-27 2005-06-27
Warnings:
-Warning 1292 Truncated incorrect datetime value: ''
-Warning 1292 Truncated incorrect datetime value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect datetime value: ' ---äÖüß@µ*$-- '
-Warning 1292 Truncated incorrect datetime value: '-1'
+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;
@@ -4361,7 +4543,7 @@ 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;
+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
@@ -4370,16 +4552,16 @@ NULL ---äÖüß@µ*$-- 4
NULL -1 5
2005-06-27 2005-06-27 9
Warnings:
-Warning 1292 Truncated incorrect datetime value: ''
-Warning 1292 Truncated incorrect datetime value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect datetime value: ' ---äÖüß@µ*$-- '
-Warning 1292 Truncated incorrect datetime value: '-1'
+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
-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`
+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);
+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
@@ -4388,10 +4570,10 @@ NULL ---äÖüß@µ*$-- 4
NULL -1 5
2005-06-27 2005-06-27 9
Warnings:
-Warning 1292 Truncated incorrect datetime value: ''
-Warning 1292 Truncated incorrect datetime value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect datetime value: ' ---äÖüß@µ*$-- '
-Warning 1292 Truncated incorrect datetime value: '-1'
+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;
@@ -4399,7 +4581,7 @@ 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;
+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
@@ -4408,16 +4590,16 @@ NULL ---äÖüß@µ*$-- 4
NULL -1 5
2005-06-27 2005-06-27 8
Warnings:
-Warning 1292 Truncated incorrect datetime value: ''
-Warning 1292 Truncated incorrect datetime value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect datetime value: ' ---äÖüß@µ*$--'
-Warning 1292 Truncated incorrect datetime value: '-1'
+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
-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`
+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);
+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
@@ -4426,10 +4608,10 @@ NULL ---äÖüß@µ*$-- 4
NULL -1 5
2005-06-27 2005-06-27 8
Warnings:
-Warning 1292 Truncated incorrect datetime value: ''
-Warning 1292 Truncated incorrect datetime value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect datetime value: ' ---äÖüß@µ*$--'
-Warning 1292 Truncated incorrect datetime value: '-1'
+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;
@@ -4437,7 +4619,7 @@ 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;
+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
@@ -4445,11 +4627,11 @@ NULL NULL 1
2000 2000 4
2005 2005 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -4463,7 +4645,7 @@ 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;
+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
@@ -4471,11 +4653,11 @@ NULL NULL 1
13:00:00 13:00:00 4
10:00:00 10:00:00 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -4489,7 +4671,7 @@ 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;
+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
@@ -4497,11 +4679,11 @@ CAST(my_timestamp AS CHAR) my_timestamp id
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
-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`
+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);
+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
@@ -4515,7 +4697,7 @@ 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;
+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
@@ -4523,11 +4705,11 @@ NULL NULL 1
2004-02-29 2004-02-29 4
2005-06-28 2005-06-28 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -4541,7 +4723,7 @@ 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;
+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
@@ -4549,11 +4731,11 @@ NULL NULL 1
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
-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`
+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);
+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
@@ -4567,7 +4749,7 @@ 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;
+WHERE select_id = 20 OR select_id IS NULL order by id;
CAST(my_double AS CHAR) my_double id
NULL NULL 1
-1.7976931348623e+308 -1.7976931348623e+308 2
@@ -4575,11 +4757,11 @@ NULL NULL 1
0 0 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+WHERE select_id = 20 OR select_id IS NULL) order by id;
CAST(my_double AS CHAR) my_double id
NULL NULL 1
-1.7976931348623e+308 -1.7976931348623e+308 2
@@ -4593,7 +4775,7 @@ 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;
+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
@@ -4601,11 +4783,11 @@ NULL NULL 1
0.000000000000000000000000000000 0.000000000000000000000000000000 4
-1.000000000000000000000000000000 -1.000000000000000000000000000000 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -4619,7 +4801,7 @@ 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;
+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
@@ -4627,11 +4809,11 @@ NULL NULL 1
0 0 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -4645,7 +4827,7 @@ 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;
+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
@@ -4653,11 +4835,11 @@ NULL NULL 1
---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -4671,19 +4853,19 @@ 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;
+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
- ---äÖüß@µ*$--
--1
+ ---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
+-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -4697,7 +4879,7 @@ 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;
+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
@@ -4705,11 +4887,11 @@ NULL NULL 1
---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -4723,7 +4905,7 @@ 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;
+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
@@ -4731,11 +4913,11 @@ NULL NULL 1
---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -4749,7 +4931,7 @@ 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;
+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
@@ -4757,11 +4939,11 @@ NULL NULL 1
2000 2000 4
2005 2005 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -4775,7 +4957,7 @@ 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;
+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
@@ -4783,11 +4965,11 @@ NULL NULL 1
13:00:00 13:00:00 4
10:00:00 10:00:00 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -4801,7 +4983,7 @@ 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;
+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
@@ -4809,11 +4991,11 @@ CAST(my_timestamp AS BINARY) my_timestamp id
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
-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`
+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);
+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
@@ -4827,7 +5009,7 @@ 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;
+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
@@ -4835,11 +5017,11 @@ NULL NULL 1
2004-02-29 2004-02-29 4
2005-06-28 2005-06-28 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -4853,7 +5035,7 @@ 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;
+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
@@ -4861,11 +5043,11 @@ NULL NULL 1
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
-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`
+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);
+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
@@ -4879,7 +5061,7 @@ 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;
+WHERE select_id = 8 OR select_id IS NULL order by id;
CAST(my_double AS BINARY) my_double id
NULL NULL 1
-1.7976931348623e+308 -1.7976931348623e+308 2
@@ -4887,11 +5069,11 @@ NULL NULL 1
0 0 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+WHERE select_id = 8 OR select_id IS NULL) order by id;
CAST(my_double AS BINARY) my_double id
NULL NULL 1
-1.7976931348623e+308 -1.7976931348623e+308 2
@@ -4905,7 +5087,7 @@ 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;
+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
@@ -4913,11 +5095,11 @@ NULL NULL 1
0.000000000000000000000000000000 0.000000000000000000000000000000 4
-1.000000000000000000000000000000 -1.000000000000000000000000000000 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -4931,7 +5113,7 @@ 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;
+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
@@ -4939,11 +5121,11 @@ NULL NULL 1
0 0 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -4957,7 +5139,7 @@ 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;
+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
@@ -4965,11 +5147,11 @@ NULL NULL 1
---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -4983,19 +5165,19 @@ 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;
+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
- ---äÖüß@µ*$--
--1
+ ---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
+-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -5009,7 +5191,7 @@ 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;
+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
@@ -5017,11 +5199,11 @@ NULL NULL 1
---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -5035,7 +5217,7 @@ 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;
+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
@@ -5043,11 +5225,11 @@ NULL NULL 1
---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -5059,7 +5241,7 @@ 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;
+WHERE select_id = 1 OR select_id IS NULL order by id;
sqrt(my_bigint) my_bigint id
NULL NULL 1
NULL -9223372036854775808 2
@@ -5069,11 +5251,11 @@ NULL -1 5
2 4 6
NULL -25 7
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+WHERE select_id = 1 OR select_id IS NULL) order by id;
sqrt(my_bigint) my_bigint id
NULL NULL 1
NULL -9223372036854775808 2
diff --git a/mysql-test/suite/funcs_1/r/memory_storedproc.result b/mysql-test/suite/funcs_1/r/memory_storedproc.result
index 402b527241f..1d75cf49bb7 100644
--- a/mysql-test/suite/funcs_1/r/memory_storedproc.result
+++ b/mysql-test/suite/funcs_1/r/memory_storedproc.result
@@ -1,33 +1,6 @@
-.
-. IMPORTANT NOTICE:
-. -----------------
-.
-. FIXME: The .result files are still NOT CHECKED for correctness!
-.
-. FIXME: Several tests are affected by known problems around DECIMAL
-. FIXME: and NUMERIC that will be checked again after WL#2984 once
-. FIXME: has been completed. Some of them are marked in the result.
-.
-. Currently (Dec 06, 2005) this .result file is checked OK for Linux
-. with 5.0.17-bk (ChangeSet@1.1975.1.2, 2005-12-05 18:33:48+01:00).
-. Using the available Windows version 5.0.16 there are differences
-. that can be ignored (e.g. WL#2984).
-.
---------------------------------------------------------------------------------
- FIXME: There are subtests that are switched off due to known bugs:
- ------------------------------------------------------------------
-WL#2984: DECIMAL and NUMERIC problems with differences on some machines
-0
-
-There are some statements where the ps-protocol is switched off.
-Bug#11589: mysqltest, --ps-protocol, strange output, float/double/real with zerofill
---------------------------------------------------------------------------------
-
--source suite/funcs_1/storedproc/load_sp_tb.inc
--------------------------------------------------------------------------------
-SET @@global.max_heap_table_size=4294967295;
-SET @@session.max_heap_table_size=4294967295;
--source suite/funcs_1/storedproc/cleanup_sp_tb.inc
--------------------------------------------------------------------------------
@@ -36,20 +9,25 @@ 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 = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t1;
-create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t2;
-create table t3(f1 char(20),f2 char(20),f3 integer) engine = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t3.txt' into table t3;
-create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t4;
+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_ln/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_ln/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_ln/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_ln/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 = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t6;
+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_ln/funcs_1/t4.txt' into table t6;
USE db_storedproc;
-create table t7 (f1 char(20), f2 char(25), f3 date, f4 int) engine = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t7;
+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_ln/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
@@ -61,8 +39,9 @@ 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 = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t8;
+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_ln/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
@@ -74,12 +53,14 @@ 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 = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t9.txt' into table t9;
-create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t10;
-create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t11;
+create table t9(f1 int, f2 char(25), f3 int) engine = <engine_to_be_tested>;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/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_ln/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_ln/funcs_1/t4.txt' into table t11;
Section 3.1.1 - Syntax checks for the CREATE PROCEDURE, CREATE
FUNCTION, ALTER PROCEDURE, ALTER FUNCTION, DROP PROCEDURE, DROP FUNCTION, SHOW
@@ -94,23 +75,24 @@ CREATE PROCEDURE
--------------------------------------------------------------------------------
USE db_storedproc;
DROP PROCEDURE IF EXISTS sp1_thisisaveryverylongname234872934_thisisaveryverylongname234872934;
+ERROR 42000: Identifier name 'sp1_thisisaveryverylongname234872934_thisisaveryverylongname234872934' is too long
CREATE PROCEDURE sp1_thisisaveryverylongname234872934_thisisaveryverylongname234872934 (f1 char(20) )
SELECT * from t1 where f2 = f1;
+ERROR 42000: Identifier name 'sp1_thisisaveryverylongname234872934_thisisaveryverylongname234872934' is too long
CALL sp1_thisisaveryverylongname234872934_thisisaveryverylongname234872934('aaaa');
-f1 f2 f3 f4 f5 f6
+ERROR 42000: Identifier name 'sp1_thisisaveryverylongname234872934_thisisaveryverylongname234872934' is too long
DROP PROCEDURE IF EXISTS sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcde;
+ERROR 42000: Identifier name 'sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcde' is too long
CREATE PROCEDURE sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcde( f1 tinytext ) language sql deterministic sql security definer comment 'this is simple'
BEGIN
set @v1 = f1;
SELECT @v1, @v1;
END//
+ERROR 42000: Identifier name 'sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcde' is too long
CALL sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcde( 'abc' );
-@v1 @v1
-abc abc
+ERROR 42000: Identifier name 'sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcde' is too long
SHOW PROCEDURE status;
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongname2348 PROCEDURE root@localhost modified created DEFINER
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcd PROCEDURE root@localhost modified created DEFINER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( f1 binary ) language sql not deterministic sql security invoker comment 'this is simple'
BEGIN
@@ -119,12 +101,12 @@ SELECT @v1;
END//
CALL sp1( 34 );
@v1
-34
+3
+Warnings:
+Warning 1265 Data truncated for column 'f1' at row 1
SHOW PROCEDURE status;
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER this is simple
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongname2348 PROCEDURE root@localhost modified created DEFINER
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcd PROCEDURE root@localhost modified created DEFINER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER this is simple latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( f1 blob ) language sql not deterministic sql security invoker comment 'this is simple'
BEGIN
@@ -135,10 +117,8 @@ CALL sp1( 34 );
@v1
34
SHOW PROCEDURE status;
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER this is simple
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongname2348 PROCEDURE root@localhost modified created DEFINER
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcd PROCEDURE root@localhost modified created DEFINER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER this is simple latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( f1 int ) language sql not deterministic sql security invoker comment 'this is simple'
BEGIN
@@ -149,25 +129,27 @@ CALL sp1( 34 );
@v1
34
SHOW PROCEDURE status;
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER this is simple
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongname2348 PROCEDURE root@localhost modified created DEFINER
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcd PROCEDURE root@localhost modified created DEFINER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER this is simple latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE IF EXISTS sp1;
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed: SP definition accepted with m>60 in DECIMAL(m,n)
CREATE PROCEDURE sp1( f1 decimal(256, 30) ) language sql not deterministic sql security invoker comment 'this is simple'
BEGIN
set @v1 = f1;
SELECT @v1;
END//
+ERROR 42000: Too big precision 256 specified for column ''. Maximum is 65.
DROP PROCEDURE IF EXISTS sp1//
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( f1 decimal(66, 30) ) language sql not deterministic sql security invoker comment 'this is simple'
BEGIN
set @v1 = f1;
SELECT @v1;
END//
+ERROR 42000: Too big precision 66 specified for column ''. Maximum is 65.
DROP PROCEDURE IF EXISTS sp1//
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( f1 decimal(60, 30) ) language sql not deterministic sql security invoker comment 'this is simple'
BEGIN
set @v1 = f1;
@@ -175,101 +157,1123 @@ SELECT @v1;
END//
CALL sp1( 17976931340000 );
@v1
-17976931340000
+17976931340000.000000000000000000000000000000
+CALL sp1( 1.797693134e+13 );
+@v1
+17976931340000.000000000000000000000000000000
+CALL sp1( 1.7976931348623157493578e+308 );
+ERROR 22007: Illegal double '1.7976931348623157493578e+308' value found during parsing
+CALL sp1( 0.1234567890987654321e+100 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-100 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+99 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-99 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+98 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-98 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+97 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-97 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+96 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-96 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+95 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-95 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+94 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-94 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+93 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-93 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+92 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-92 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+91 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-91 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+90 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-90 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+89 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-89 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+88 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-88 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+87 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-87 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+86 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-86 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+85 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-85 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+84 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-84 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+83 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-83 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+82 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-82 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+81 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-81 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+80 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-80 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+79 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-79 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+78 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-78 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+77 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-77 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+76 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-76 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+75 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-75 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+74 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-74 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+73 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-73 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+72 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-72 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+71 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-71 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+70 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-70 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+69 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-69 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+68 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-68 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+67 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-67 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+66 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-66 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+65 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-65 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+64 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-64 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+63 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-63 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+62 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-62 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+61 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-61 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+60 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-60 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+59 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-59 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+58 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-58 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+57 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-57 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+56 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-56 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+55 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-55 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+54 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-54 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+53 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-53 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+52 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-52 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+51 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-51 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+50 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-50 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+49 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-49 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+48 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-48 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+47 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-47 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+46 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-46 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+45 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-45 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+44 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-44 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+43 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-43 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+42 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-42 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+41 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-41 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+40 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-40 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+39 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-39 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+38 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-38 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+37 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-37 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+36 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-36 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+35 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-35 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+34 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-34 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+33 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-33 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+32 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-32 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+31 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-31 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+30 );
+@v1
+123456789098765400000000000000.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-30 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+29 );
+@v1
+12345678909876540000000000000.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-29 );
+@v1
+0.000000000000000000000000000001
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+28 );
+@v1
+1234567890987654000000000000.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-28 );
+@v1
+0.000000000000000000000000000012
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+27 );
+@v1
+123456789098765400000000000.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-27 );
+@v1
+0.000000000000000000000000000123
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+26 );
+@v1
+12345678909876540000000000.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-26 );
+@v1
+0.000000000000000000000000001235
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+25 );
+@v1
+1234567890987654000000000.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-25 );
+@v1
+0.000000000000000000000000012346
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+24 );
+@v1
+123456789098765400000000.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-24 );
+@v1
+0.000000000000000000000000123457
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+23 );
+@v1
+12345678909876540000000.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-23 );
+@v1
+0.000000000000000000000001234568
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+22 );
+@v1
+1234567890987654000000.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-22 );
+@v1
+0.000000000000000000000012345679
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+21 );
+@v1
+123456789098765400000.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-21 );
+@v1
+0.000000000000000000000123456789
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+20 );
+@v1
+12345678909876540000.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-20 );
+@v1
+0.000000000000000000001234567891
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+19 );
+@v1
+1234567890987654000.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-19 );
+@v1
+0.000000000000000000012345678910
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+18 );
+@v1
+123456789098765400.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-18 );
+@v1
+0.000000000000000000123456789099
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+17 );
+@v1
+12345678909876540.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-17 );
+@v1
+0.000000000000000001234567890988
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+16 );
+@v1
+1234567890987654.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-16 );
+@v1
+0.000000000000000012345678909877
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+15 );
+@v1
+123456789098765.400000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-15 );
+@v1
+0.000000000000000123456789098765
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+14 );
+@v1
+12345678909876.540000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-14 );
+@v1
+0.000000000000001234567890987654
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+13 );
+@v1
+1234567890987.654000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-13 );
+@v1
+0.000000000000012345678909876540
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+12 );
+@v1
+123456789098.765400000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-12 );
+@v1
+0.000000000000123456789098765400
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+11 );
+@v1
+12345678909.876540000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-11 );
+@v1
+0.000000000001234567890987654000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+10 );
+@v1
+1234567890.987654000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-10 );
+@v1
+0.000000000012345678909876540000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+9 );
+@v1
+123456789.098765400000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-9 );
+@v1
+0.000000000123456789098765400000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+8 );
+@v1
+12345678.909876540000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-8 );
+@v1
+0.000000001234567890987654000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+7 );
+@v1
+1234567.890987654000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-7 );
+@v1
+0.000000012345678909876540000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+6 );
+@v1
+123456.789098765400000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-6 );
+@v1
+0.000000123456789098765400000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+5 );
+@v1
+12345.678909876540000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-5 );
+@v1
+0.000001234567890987654000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+4 );
+@v1
+1234.567890987654000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-4 );
+@v1
+0.000012345678909876550000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+3 );
+@v1
+123.456789098765400000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-3 );
+@v1
+0.000123456789098765400000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+2 );
+@v1
+12.345678909876540000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-2 );
+@v1
+0.001234567890987654000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+1 );
+@v1
+1.234567890987654000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-1 );
+@v1
+0.012345678909876540000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+0 );
+@v1
+0.123456789098765400000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-0 );
+@v1
+0.123456789098765400000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
SHOW PROCEDURE status;
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER this is simple
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongname2348 PROCEDURE root@localhost modified created DEFINER
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcd PROCEDURE root@localhost modified created DEFINER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER this is simple latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( f1 enum("value1", "value1") ) language sql not deterministic sql security invoker comment 'this is simple'
BEGIN
SELECT f1;
END//
+Warnings:
+Note 1291 Column '' has duplicated value 'value1' in ENUM
CALL sp1( "value1" );
f1
value1
+Warnings:
+Note 1291 Column '' has duplicated value 'value1' in ENUM
SHOW PROCEDURE status;
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER this is simple
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongname2348 PROCEDURE root@localhost modified created DEFINER
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcd PROCEDURE root@localhost modified created DEFINER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER this is simple latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( f1 set("value1", "value1") ) language sql not deterministic sql security invoker comment 'this is simple'
BEGIN
SELECT f1;
END//
+Warnings:
+Note 1291 Column '' has duplicated value 'value1' in SET
CALL sp1( "value1, value1" );
f1
-value1, value1
+value1
+Warnings:
+Note 1291 Column '' has duplicated value 'value1' in SET
+Warning 1265 Data truncated for column 'f1' at row 1
SHOW PROCEDURE status;
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER this is simple
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongname2348 PROCEDURE root@localhost modified created DEFINER
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcd PROCEDURE root@localhost modified created DEFINER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER this is simple latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( f1 enum("value1", "value1") ) language sql not deterministic sql security invoker comment 'this is simple'
BEGIN
SELECT f1;
END//
+Warnings:
+Note 1291 Column '' has duplicated value 'value1' in ENUM
CALL sp1( "value1" );
f1
value1
+Warnings:
+Note 1291 Column '' has duplicated value 'value1' in ENUM
SHOW PROCEDURE status;
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER this is simple
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongname2348 PROCEDURE root@localhost modified created DEFINER
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcd PROCEDURE root@localhost modified created DEFINER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER this is simple latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( f1 text ) language sql SELECT f1;
CALL sp1( 'abc' );
f1
abc
SHOW PROCEDURE status like 'sp1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp1 PROCEDURE root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp1 PROCEDURE root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( f1 text ) deterministic SELECT f1;
CALL sp1( 'abc' );
f1
abc
SHOW PROCEDURE status like 'sp1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp1 PROCEDURE root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp1 PROCEDURE root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( f1 text ) not deterministic SELECT f1;
CALL sp1( 'abc' );
f1
abc
SHOW PROCEDURE status like 'sp1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp1 PROCEDURE root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp1 PROCEDURE root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( f1 text ) sql security definer SELECT f1;
CALL sp1( 'abc' );
f1
abc
SHOW PROCEDURE status like 'sp1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp1 PROCEDURE root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp1 PROCEDURE root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( f1 text ) sql security invoker SELECT f1;
CALL sp1( 'abc' );
f1
abc
SHOW PROCEDURE status like 'sp1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( f1 text ) comment 'this is simple' SELECT f1;
CALL sp1( 'abc' );
f1
abc
SHOW PROCEDURE status like 'sp1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp1 PROCEDURE root@localhost modified created DEFINER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp1 PROCEDURE root@localhost modified created DEFINER this is simple latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE sp1_thisisaveryverylongname234872934_thisisaveryverylongname234872934;
+ERROR 42000: Identifier name 'sp1_thisisaveryverylongname234872934_thisisaveryverylongname234872934' is too long
DROP PROCEDURE sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcde;
+ERROR 42000: Identifier name 'sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcde' is too long
DROP PROCEDURE sp1;
Testcase 4.1.2:
@@ -294,8 +1298,8 @@ SELECT fn1( ' world');
fn1( ' world')
hello world
SHOW FUNCTION STATUS LIKE 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc fn1 FUNCTION root@localhost modified created DEFINER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc fn1 FUNCTION root@localhost modified created DEFINER this is simple latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION IF EXISTS fn1;
CREATE FUNCTION fn1( f1 smallint ) returns smallint language sql not deterministic sql security invoker comment 'this is simple'
BEGIN
@@ -306,8 +1310,8 @@ SELECT fn1( 126 );
fn1( 126 )
127
SHOW FUNCTION STATUS LIKE 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc fn1 FUNCTION root@localhost modified created INVOKER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc fn1 FUNCTION root@localhost modified created INVOKER this is simple latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION IF EXISTS fn1;
CREATE FUNCTION fn1( f1 decimal(63, 31) ) returns decimal(63, 31) language sql not deterministic sql security invoker comment 'this is simple'
BEGIN
@@ -326,34 +1330,34 @@ SELECT fn1( 1.3326e+8 );
fn1( 1.3326e+8 )
134260000.000000000000000000000000000000
SHOW FUNCTION STATUS LIKE 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc fn1 FUNCTION root@localhost modified created INVOKER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc fn1 FUNCTION root@localhost modified created INVOKER this is simple latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION IF EXISTS fn1;
CREATE FUNCTION fn1( f1 enum("value1", "value1") ) returns decimal(63, 30) language sql not deterministic sql security invoker comment 'this is simple'
BEGIN
return f1;
END//
+Warnings:
+Note 1291 Column '' has duplicated value 'value1' in ENUM
SELECT fn1( "value1" );
fn1( "value1" )
-0.000000000000000000000000000000
-Warnings:
-Warning 1292 Truncated incorrect DECIMAL value: 'value1'
+1.000000000000000000000000000000
SHOW FUNCTION STATUS LIKE 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc fn1 FUNCTION root@localhost modified created INVOKER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc fn1 FUNCTION root@localhost modified created INVOKER this is simple latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION IF EXISTS fn1;
CREATE FUNCTION fn1( f1 set("value1", "value1") ) returns decimal(63, 30) language sql not deterministic sql security invoker comment 'this is simple'
BEGIN
return f1;
END//
+Warnings:
+Note 1291 Column '' has duplicated value 'value1' in SET
SELECT fn1( "value1, value1" );
fn1( "value1, value1" )
-0.000000000000000000000000000000
-Warnings:
-Warning 1292 Truncated incorrect DECIMAL value: 'value1, value1'
+1.000000000000000000000000000000
SHOW FUNCTION STATUS LIKE 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc fn1 FUNCTION root@localhost modified created INVOKER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc fn1 FUNCTION root@localhost modified created INVOKER this is simple latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION IF EXISTS fn1;
CREATE FUNCTION fn1( f1 smallint ) returns smallint language sql
BEGIN
@@ -364,8 +1368,8 @@ SELECT fn1( 126 );
fn1( 126 )
127
SHOW FUNCTION STATUS LIKE 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc fn1 FUNCTION root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc fn1 FUNCTION root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION IF EXISTS fn1;
CREATE FUNCTION fn1( f1 smallint ) returns smallint deterministic
BEGIN
@@ -376,8 +1380,8 @@ SELECT fn1( 126 );
fn1( 126 )
127
SHOW FUNCTION STATUS LIKE 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc fn1 FUNCTION root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc fn1 FUNCTION root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION IF EXISTS fn1;
CREATE FUNCTION fn1( f1 smallint ) returns smallint not deterministic
BEGIN
@@ -388,8 +1392,8 @@ SELECT fn1( 126 );
fn1( 126 )
127
SHOW FUNCTION STATUS LIKE 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc fn1 FUNCTION root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc fn1 FUNCTION root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION IF EXISTS fn1;
CREATE FUNCTION fn1( f1 smallint ) returns smallint
sql security definer
@@ -401,8 +1405,8 @@ SELECT fn1( 126 );
fn1( 126 )
127
SHOW FUNCTION STATUS LIKE 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc fn1 FUNCTION root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc fn1 FUNCTION root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION IF EXISTS fn1;
CREATE FUNCTION fn1( f1 smallint ) returns smallint
sql security invoker
@@ -414,8 +1418,8 @@ SELECT fn1( 126 );
fn1( 126 )
127
SHOW FUNCTION STATUS LIKE 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc fn1 FUNCTION root@localhost modified created INVOKER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc fn1 FUNCTION root@localhost modified created INVOKER latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION IF EXISTS fn1;
CREATE FUNCTION fn1( f1 smallint ) returns smallint
comment 'this is simple'
@@ -427,8 +1431,8 @@ SELECT fn1( 126 );
fn1( 126 )
127
SHOW FUNCTION STATUS LIKE 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc fn1 FUNCTION root@localhost modified created DEFINER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc fn1 FUNCTION root@localhost modified created DEFINER this is simple latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION fn1;
Testcase 4.1.3:
@@ -440,9 +1444,9 @@ DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1 (f1 char(20) )
SELECT * from t1 where f2 = f1;
show CREATE PROCEDURE sp1;
-Procedure sql_mode Create Procedure
-sp1 CREATE PROCEDURE `sp1`(f1 char(20) )
-SELECT * from t1 where f2 = f1
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+sp1 CREATE DEFINER=`root`@`localhost` PROCEDURE `sp1`(f1 char(20) )
+SELECT * from t1 where f2 = f1 latin1 modified created
DROP PROCEDURE sp1;
Testcase 4.1.4:
@@ -453,9 +1457,9 @@ DROP FUNCTION IF EXISTS fn1;
CREATE FUNCTION fn1 (s char(20)) returns char(50)
return concat('hello, ', s, '!');
show CREATE FUNCTION fn1;
-Function sql_mode Create Function
-fn1 CREATE FUNCTION `fn1`(s char(20)) RETURNS char(50)
-return concat('hello, ', s, '!')
+Function sql_mode Create Function character_set_client collation_connection Database Collation
+fn1 CREATE DEFINER=`root`@`localhost` FUNCTION `fn1`(s char(20)) RETURNS char(50) CHARSET latin1
+return concat('hello, ', s, '!') latin1 modified created
DROP FUNCTION fn1;
Testcase 4.1.5:
@@ -465,8 +1469,8 @@ SHOW PROCEDURE status
CREATE PROCEDURE sp5()
SELECT * from t1;
SHOW PROCEDURE status like 'sp5';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp5 PROCEDURE root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp5 PROCEDURE root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE sp5;
Testcase 4.1.6:
@@ -479,8 +1483,8 @@ set @b = 0.9 * a;
return @b;
END//
SHOW FUNCTION STATUS LIKE 'fn5';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc fn5 FUNCTION root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc fn5 FUNCTION root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION fn5;
Testcase 4.1.7:
@@ -498,7 +1502,7 @@ CREATE PROCEDURE sp7b (a char (20), out b char(20))
SELECT f1 into b from t1 where t1.f2= a;
CALL sp7b('xyz', @out_param);
Warnings:
-Warning 1329 No data to FETCH
+Warning 1329 No data - zero rows fetched, selected, or processed
SELECT @out_param;
@out_param
NULL
@@ -510,9 +1514,6 @@ SELECT f2 into c from t1 where t1.f2=999;
END//
set @c=1;
CALL sp7c('xyz', @out_param, @c);
-Warnings:
-Warning 1329 No data to FETCH
-Warning 1329 No data to FETCH
SELECT @out_param;
@out_param
NULL
@@ -539,48 +1540,48 @@ Testcase 4.1.9:
drop procedure
--------------------------------------------------------------------------------
SELECT * from mysql.proc where specific_name='sp9';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
DROP PROCEDURE IF EXISTS sp9;
SELECT * from mysql.proc where specific_name='sp9';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
CREATE PROCEDURE sp9()SELECT * from t1;
SELECT * from mysql.proc where specific_name='sp9';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
-db_storedproc sp9 PROCEDURE sp9 SQL CONTAINS_SQL NO DEFINER SELECT * from t1 root@localhost created modified
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
+db_storedproc sp9 PROCEDURE sp9 SQL CONTAINS_SQL NO DEFINER SELECT * from t1 root@localhost created modified latin1 latin1_swedish_ci latin1_swedish_ci SELECT * from t1
DROP PROCEDURE sp9;
SELECT * from mysql.proc where specific_name='sp9';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
CREATE PROCEDURE sp9()SELECT * from t1;
SELECT * from mysql.proc where specific_name='sp9';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
-db_storedproc sp9 PROCEDURE sp9 SQL CONTAINS_SQL NO DEFINER SELECT * from t1 root@localhost created modified
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
+db_storedproc sp9 PROCEDURE sp9 SQL CONTAINS_SQL NO DEFINER SELECT * from t1 root@localhost created modified latin1 latin1_swedish_ci latin1_swedish_ci SELECT * from t1
DROP PROCEDURE IF EXISTS sp9;
SELECT * from mysql.proc where specific_name='sp9';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
Testcase 4.1.10:
----------------
DROP FUNCTION
--------------------------------------------------------------------------------
SELECT * from mysql.proc where specific_name='fn10' and type='function';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
DROP FUNCTION IF EXISTS fn10;
SELECT * from mysql.proc where specific_name='fn10' and type='function';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
CREATE FUNCTION fn10() returns int return 100;
SELECT * from mysql.proc where specific_name='fn10' and type='function';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
-db_storedproc fn10 FUNCTION fn10 SQL CONTAINS_SQL NO DEFINER int(11) return 100 root@localhost created modified
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
+db_storedproc fn10 FUNCTION fn10 SQL CONTAINS_SQL NO DEFINER int(11) return 100 root@localhost created modified latin1 latin1_swedish_ci latin1_swedish_ci return 100
DROP FUNCTION fn10;
SELECT * from mysql.proc where specific_name='fn10' and type='function';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
CREATE FUNCTION fn10() returns int return 100;
SELECT * from mysql.proc where specific_name='fn10' and type='function';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
-db_storedproc fn10 FUNCTION fn10 SQL CONTAINS_SQL NO DEFINER int(11) return 100 root@localhost created modified
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
+db_storedproc fn10 FUNCTION fn10 SQL CONTAINS_SQL NO DEFINER int(11) return 100 root@localhost created modified latin1 latin1_swedish_ci latin1_swedish_ci return 100
DROP FUNCTION IF EXISTS fn10;
SELECT * from mysql.proc where specific_name='fn10' and type='function';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
Testcase 4.1.11:
----------------
@@ -604,6 +1605,7 @@ connect(localhost,user_1,,db_storedproc,MYSQL_PORT,MYSQL_SOCK);
user_1@localhost db_storedproc
CALL sp11();
+USE db_storedproc;
root@localhost db_storedproc
alter procedure sp11 sql security invoker;
@@ -612,6 +1614,7 @@ security_type
INVOKER
user_1@localhost db_storedproc
+USE db_storedproc;
CALL sp11();
ERROR 42000: INSERT command denied to user 'user_1'@'localhost' for table 't1'
commit work;
@@ -705,6 +1708,10 @@ SELECT * from t1 where f2 = f1' at line 1
CREATE PROCEDURE function()
SELECT * from t1 where f2=f1;
DROP PROCEDURE function;
+CREATE PROCEDURE accessible()
+SELECT * from t1 where f2=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 'accessible()
+SELECT * from t1 where f2=f1' at line 1
CREATE PROCEDURE add()
SELECT * from t1 where f2=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()
@@ -765,9 +1772,9 @@ CREATE PROCEDURE by()
SELECT * from t1 where f2=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 'by()
SELECT * from t1 where f2=f1' at line 1
-CREATE PROCEDURE CALL()
+CREATE PROCEDURE call()
SELECT * from t1 where f2=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 'CALL()
+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 'call()
SELECT * from t1 where f2=f1' at line 1
CREATE PROCEDURE cascade()
SELECT * from t1 where f2=f1;
@@ -801,17 +1808,10 @@ CREATE PROCEDURE column()
SELECT * from t1 where f2=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 'column()
SELECT * from t1 where f2=f1' at line 1
-CREATE PROCEDURE columns()
-SELECT * from t1 where f2=f1;
-DROP PROCEDURE columns;
CREATE PROCEDURE condition()
SELECT * from t1 where f2=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 'condition()
SELECT * from t1 where f2=f1' at line 1
-CREATE PROCEDURE connection()
-SELECT * from t1 where f2=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 'connection()
-SELECT * from t1 where f2=f1' at line 1
CREATE PROCEDURE constraint()
SELECT * from t1 where f2=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 'constraint()
@@ -995,9 +1995,6 @@ CREATE PROCEDURE foreign()
SELECT * from t1 where f2=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 'foreign()
SELECT * from t1 where f2=f1' at line 1
-CREATE PROCEDURE found()
-SELECT * from t1 where f2=f1;
-DROP PROCEDURE found;
CREATE PROCEDURE from()
SELECT * from t1 where f2=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 'from()
@@ -1006,9 +2003,6 @@ CREATE PROCEDURE fulltext()
SELECT * from t1 where f2=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 'fulltext()
SELECT * from t1 where f2=f1' at line 1
-CREATE PROCEDURE goto()
-SELECT * from t1 where f2=f1;
-DROP PROCEDURE goto;
CREATE PROCEDURE grant()
SELECT * from t1 where f2=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 'grant()
@@ -1077,6 +2071,26 @@ CREATE PROCEDURE int()
SELECT * from t1 where f2=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 'int()
SELECT * from t1 where f2=f1' at line 1
+CREATE PROCEDURE int1()
+SELECT * from t1 where f2=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 'int1()
+SELECT * from t1 where f2=f1' at line 1
+CREATE PROCEDURE int2()
+SELECT * from t1 where f2=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 'int2()
+SELECT * from t1 where f2=f1' at line 1
+CREATE PROCEDURE int3()
+SELECT * from t1 where f2=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 'int3()
+SELECT * from t1 where f2=f1' at line 1
+CREATE PROCEDURE int4()
+SELECT * from t1 where f2=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 'int4()
+SELECT * from t1 where f2=f1' at line 1
+CREATE PROCEDURE int8()
+SELECT * from t1 where f2=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 'int8()
+SELECT * from t1 where f2=f1' at line 1
CREATE PROCEDURE integer()
SELECT * from t1 where f2=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 'integer()
@@ -1133,6 +2147,10 @@ CREATE PROCEDURE limit()
SELECT * from t1 where f2=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 'limit()
SELECT * from t1 where f2=f1' at line 1
+CREATE PROCEDURE linear()
+SELECT * from t1 where f2=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 'linear()
+SELECT * from t1 where f2=f1' at line 1
CREATE PROCEDURE lines()
SELECT * from t1 where f2=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 'lines()
@@ -1173,6 +2191,10 @@ CREATE PROCEDURE low_priority()
SELECT * from t1 where f2=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 'low_priority()
SELECT * from t1 where f2=f1' at line 1
+CREATE PROCEDURE master_ssl_verify_server_cert()
+SELECT * from t1 where f2=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 'master_ssl_verify_server_cert()
+SELECT * from t1 where f2=f1' at line 1
CREATE PROCEDURE match()
SELECT * from t1 where f2=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 'match()
@@ -1273,9 +2295,6 @@ CREATE PROCEDURE primary()
SELECT * from t1 where f2=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 'primary()
SELECT * from t1 where f2=f1' at line 1
-CREATE PROCEDURE privileges()
-SELECT * from t1 where f2=f1;
-DROP PROCEDURE privileges;
CREATE PROCEDURE procedure()
SELECT * from t1 where f2=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 'procedure()
@@ -1284,6 +2303,10 @@ CREATE PROCEDURE purge()
SELECT * from t1 where f2=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 'purge()
SELECT * from t1 where f2=f1' at line 1
+CREATE PROCEDURE range()
+SELECT * from t1 where f2=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 'range()
+SELECT * from t1 where f2=f1' at line 1
CREATE PROCEDURE read()
SELECT * from t1 where f2=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 'read()
@@ -1304,6 +2327,10 @@ CREATE PROCEDURE regexp()
SELECT * from t1 where f2=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 'regexp()
SELECT * from t1 where f2=f1' at line 1
+CREATE PROCEDURE release()
+SELECT * from t1 where f2=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 'release()
+SELECT * from t1 where f2=f1' at line 1
CREATE PROCEDURE rename()
SELECT * from t1 where f2=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 'rename()
@@ -1376,10 +2403,6 @@ CREATE PROCEDURE smallint()
SELECT * from t1 where f2=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 'smallint()
SELECT * from t1 where f2=f1' at line 1
-CREATE PROCEDURE soname()
-SELECT * from t1 where f2=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 'soname()
-SELECT * from t1 where f2=f1' at line 1
CREATE PROCEDURE spatial()
SELECT * from t1 where f2=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 'spatial()
@@ -1432,9 +2455,6 @@ CREATE PROCEDURE table()
SELECT * from t1 where f2=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 'table()
SELECT * from t1 where f2=f1' at line 1
-CREATE PROCEDURE tables()
-SELECT * from t1 where f2=f1;
-DROP PROCEDURE tables;
CREATE PROCEDURE terminated()
SELECT * from t1 where f2=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 'terminated()
@@ -1725,6 +2745,26 @@ CREATE FUNCTION int(f1 int) returns int
return 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 'int(f1 int) returns int
return f1' at line 1
+CREATE FUNCTION int1(f1 int1) returns int1
+return 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 'int1(f1 int1) returns int1
+return f1' at line 1
+CREATE FUNCTION int2(f1 int2) returns int2
+return 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 'int2(f1 int2) returns int2
+return f1' at line 1
+CREATE FUNCTION int3(f1 int3) returns int3
+return 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 'int3(f1 int3) returns int3
+return f1' at line 1
+CREATE FUNCTION int4(f1 int4) returns int4
+return 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 'int4(f1 int4) returns int4
+return f1' at line 1
+CREATE FUNCTION int8(f1 int8) returns int8
+return 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 'int8(f1 int8) returns int8
+return f1' at line 1
CREATE FUNCTION int unsigned(f1 int unsigned) returns int unsigned
return 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 'int unsigned(f1 int unsigned) returns int unsigned
@@ -1846,485 +2886,291 @@ return f' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(char f1 ) returns char
+CREATE FUNCTION fn1(f1 char ) returns char
return 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 'char f1 ) returns char
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(char binary f1 ) returns char binary
+CREATE FUNCTION fn1(f1 char binary ) returns char binary
return 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 'char binary f1 ) returns char binary
-return f1' at line 1
+ERROR 42000: This version of MySQL doesn't yet support 'return value collation'
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(char ascii f1 ) returns char ascii
+CREATE FUNCTION fn1(f1 char ascii ) returns char ascii
return 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 'char ascii f1 ) returns char ascii
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(char not null f1 ) returns char not null
+CREATE FUNCTION fn1(f1 char not null ) returns char not null
return 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 'char not null f1 ) returns char not null
+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 'not null ) returns char not null
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(char binary not null f1 ) returns char binary not null
+CREATE FUNCTION fn1(f1 char binary not null ) returns char binary not null
return 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 'char binary not null f1 ) returns char binary not null
+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 'not null ) returns char binary not null
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(char ascii not null f1 ) returns char ascii not null
+CREATE FUNCTION fn1(f1 char ascii not null ) returns char ascii not null
return 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 'char ascii not null f1 ) returns char ascii not null
+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 'not null ) returns char ascii not null
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(tinytext f1 ) returns tinytext
+CREATE FUNCTION fn1(f1 tinytext ) returns tinytext
return 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 'tinytext f1 ) returns tinytext
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(text f1 ) returns text
+CREATE FUNCTION fn1(f1 text ) returns text
return 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 'f1 ) returns text
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(mediumtext f1 ) returns mediumtext
+CREATE FUNCTION fn1(f1 mediumtext ) returns mediumtext
return 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 'mediumtext f1 ) returns mediumtext
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(longtext f1 ) returns longtext
+CREATE FUNCTION fn1(f1 longtext ) returns longtext
return 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 'longtext f1 ) returns longtext
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(tinytext not null f1 ) returns tinytext not null
+CREATE FUNCTION fn1(f1 tinytext not null ) returns tinytext not null
return 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 'tinytext not null f1 ) returns tinytext not null
+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 'not null ) returns tinytext not null
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(text not null f1 ) returns text not null
+CREATE FUNCTION fn1(f1 text not null ) returns text not null
return 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 'not null f1 ) returns text not null
+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 'not null ) returns text not null
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(mediumtext not null f1 ) returns mediumtext not null
+CREATE FUNCTION fn1(f1 mediumtext not null ) returns mediumtext not null
return 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 'mediumtext not null f1 ) returns mediumtext not null
+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 'not null ) returns mediumtext not null
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(longtext not null f1 ) returns longtext not null
+CREATE FUNCTION fn1(f1 longtext not null ) returns longtext not null
return 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 'longtext not null f1 ) returns longtext not null
+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 'not null ) returns longtext not null
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(tinyblob f1 ) returns tinyblob
+CREATE FUNCTION fn1(f1 tinyblob ) returns tinyblob
return 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 'tinyblob f1 ) returns tinyblob
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(blob f1 ) returns blob
+CREATE FUNCTION fn1(f1 blob ) returns blob
return 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 'blob f1 ) returns blob
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(mediumblob f1 ) returns mediumblob
+CREATE FUNCTION fn1(f1 mediumblob ) returns mediumblob
return 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 'mediumblob f1 ) returns mediumblob
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(longblob f1 ) returns longblob
+CREATE FUNCTION fn1(f1 longblob ) returns longblob
return 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 'longblob f1 ) returns longblob
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(tinyblob not null f1 ) returns tinyblob not null
+CREATE FUNCTION fn1(f1 tinyblob not null ) returns tinyblob not null
return 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 'tinyblob not null f1 ) returns tinyblob not null
+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 'not null ) returns tinyblob not null
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(blob not null f1 ) returns blob not null
+CREATE FUNCTION fn1(f1 blob not null ) returns blob not null
return 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 'blob not null f1 ) returns blob not null
+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 'not null ) returns blob not null
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(mediumblob not null f1 ) returns mediumblob not null
+CREATE FUNCTION fn1(f1 mediumblob not null ) returns mediumblob not null
return 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 'mediumblob not null f1 ) returns mediumblob not null
+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 'not null ) returns mediumblob not null
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(longblob not null f1 ) returns longblob not null
+CREATE FUNCTION fn1(f1 longblob not null ) returns longblob not null
return 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 'longblob not null f1 ) returns longblob not null
+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 'not null ) returns longblob not null
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(binary f1 ) returns binary
+CREATE FUNCTION fn1(f1 binary ) returns binary
return 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 'binary f1 ) returns binary
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(binary not null f1 ) returns binary not null
+CREATE FUNCTION fn1(f1 binary not null ) returns binary not null
return 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 'binary not null f1 ) returns binary not null
+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 'not null ) returns binary not null
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(tinyint f1 ) returns tinyint
+CREATE FUNCTION fn1(f1 tinyint ) returns tinyint
return 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 'tinyint f1 ) returns tinyint
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(tinyint unsigned f1 ) returns tinyint unsigned
+CREATE FUNCTION fn1(f1 tinyint unsigned ) returns tinyint unsigned
return 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 'tinyint unsigned f1 ) returns tinyint unsigned
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(tinyint zerofill f1 ) returns tinyint zerofill
+CREATE FUNCTION fn1(f1 tinyint zerofill ) returns tinyint zerofill
return 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 'tinyint zerofill f1 ) returns tinyint zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(tinyint unsigned zerofill f1 ) returns tinyint unsigned zerofill
+CREATE FUNCTION fn1(f1 tinyint unsigned zerofill ) returns tinyint unsigned zerofill
return 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 'tinyint unsigned zerofill f1 ) returns tinyint unsigned zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(smallint f1 ) returns smallint
+CREATE FUNCTION fn1(f1 smallint ) returns smallint
return 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 'smallint f1 ) returns smallint
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(smallint unsigned f1 ) returns smallint unsigned
+CREATE FUNCTION fn1(f1 smallint unsigned ) returns smallint unsigned
return 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 'smallint unsigned f1 ) returns smallint unsigned
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(smallint zerofill f1 ) returns smallint zerofill
+CREATE FUNCTION fn1(f1 smallint zerofill ) returns smallint zerofill
return 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 'smallint zerofill f1 ) returns smallint zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(smallint unsigned zerofill f1 ) returns smallint unsigned zerofill
+CREATE FUNCTION fn1(f1 smallint unsigned zerofill ) returns smallint unsigned zerofill
return 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 'smallint unsigned zerofill f1 ) returns smallint unsigned zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(mediumint f1 ) returns mediumint
+CREATE FUNCTION fn1(f1 mediumint ) returns mediumint
return 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 'mediumint f1 ) returns mediumint
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(mediumint unsigned f1 ) returns mediumint unsigned
+CREATE FUNCTION fn1(f1 mediumint unsigned ) returns mediumint unsigned
return 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 'mediumint unsigned f1 ) returns mediumint unsigned
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(mediumint zerofill f1 ) returns mediumint zerofill
+CREATE FUNCTION fn1(f1 mediumint zerofill ) returns mediumint zerofill
return 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 'mediumint zerofill f1 ) returns mediumint zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(mediumint unsigned zerofill f1 ) returns mediumint unsigned zerofill
+CREATE FUNCTION fn1(f1 mediumint unsigned zerofill ) returns mediumint unsigned zerofill
return 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 'mediumint unsigned zerofill f1 ) returns mediumint unsigned zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(int f1 ) returns int
+CREATE FUNCTION fn1(f1 int ) returns int
return 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 'int f1 ) returns int
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(int unsigned f1 ) returns int unsigned
+CREATE FUNCTION fn1(f1 int unsigned ) returns int unsigned
return 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 'int unsigned f1 ) returns int unsigned
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(int zerofill f1 ) returns int zerofill
+CREATE FUNCTION fn1(f1 int1 unsigned ) returns int1 unsigned
return 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 'int zerofill f1 ) returns int zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(int unsigned zerofill f1 ) returns int unsigned zerofill
+CREATE FUNCTION fn1(f1 int2 unsigned ) returns int2 unsigned
return 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 'int unsigned zerofill f1 ) returns int unsigned zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(bigint f1 ) returns bigint
+CREATE FUNCTION fn1(f1 int3 unsigned ) returns int3 unsigned
return 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 'bigint f1 ) returns bigint
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(bigint unsigned f1 ) returns bigint unsigned
+CREATE FUNCTION fn1(f1 int4 unsigned ) returns int4 unsigned
return 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 'bigint unsigned f1 ) returns bigint unsigned
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(bigint zerofill f1 ) returns bigint zerofill
+CREATE FUNCTION fn1(f1 int8 unsigned ) returns int8 unsigned
return 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 'bigint zerofill f1 ) returns bigint zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(bigint unsigned zerofill f1 ) returns bigint unsigned zerofill
+CREATE FUNCTION fn1(f1 int zerofill ) returns int zerofill
return 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 'bigint unsigned zerofill f1 ) returns bigint unsigned zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(decimal f1 ) returns decimal
+CREATE FUNCTION fn1(f1 int unsigned zerofill ) returns int unsigned zerofill
return 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 'decimal f1 ) returns decimal
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(decimal unsigned f1 ) returns decimal unsigned
+CREATE FUNCTION fn1(f1 bigint ) returns bigint
return 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 'decimal unsigned f1 ) returns decimal unsigned
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(decimal zerofill f1 ) returns decimal zerofill
+CREATE FUNCTION fn1(f1 bigint unsigned ) returns bigint unsigned
return 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 'decimal zerofill f1 ) returns decimal zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(decimal unsigned zerofill f1 ) returns decimal unsigned zerofill
+CREATE FUNCTION fn1(f1 bigint zerofill ) returns bigint zerofill
return 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 'decimal unsigned zerofill f1 ) returns decimal unsigned zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(numeric f1 ) returns numeric
+CREATE FUNCTION fn1(f1 bigint unsigned zerofill ) returns bigint unsigned zerofill
return 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 'numeric f1 ) returns numeric
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(numeric unsigned f1 ) returns numeric unsigned
+CREATE FUNCTION fn1(f1 decimal ) returns decimal
return 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 'numeric unsigned f1 ) returns numeric unsigned
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(numeric zerofill f1 ) returns numeric zerofill
+CREATE FUNCTION fn1(f1 decimal unsigned ) returns decimal unsigned
return 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 'numeric zerofill f1 ) returns numeric zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(numeric unsigned zerofill f1 ) returns numeric unsigned zerofill
+CREATE FUNCTION fn1(f1 decimal zerofill ) returns decimal zerofill
return 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 'numeric unsigned zerofill f1 ) returns numeric unsigned zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(real f1 ) returns real
+CREATE FUNCTION fn1(f1 decimal unsigned zerofill ) returns decimal unsigned zerofill
return 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 'real f1 ) returns real
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(real unsigned f1 ) returns real unsigned
+CREATE FUNCTION fn1(f1 numeric ) returns numeric
return 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 'real unsigned f1 ) returns real unsigned
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(real zerofill f1 ) returns real zerofill
+CREATE FUNCTION fn1(f1 numeric unsigned ) returns numeric unsigned
return 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 'real zerofill f1 ) returns real zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(real unsigned zerofill f1 ) returns real unsigned zerofill
+CREATE FUNCTION fn1(f1 numeric zerofill ) returns numeric zerofill
return 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 'real unsigned zerofill f1 ) returns real unsigned zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(float f1 ) returns float
+CREATE FUNCTION fn1(f1 numeric unsigned zerofill ) returns numeric unsigned zerofill
return 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 'float f1 ) returns float
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(float unsigned f1 ) returns float unsigned
+CREATE FUNCTION fn1(f1 real ) returns real
return 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 'float unsigned f1 ) returns float unsigned
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(float zerofill f1 ) returns float zerofill
+CREATE FUNCTION fn1(f1 real unsigned ) returns real unsigned
return 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 'float zerofill f1 ) returns float zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(float unsigned zerofill f1 ) returns float unsigned zerofill
+CREATE FUNCTION fn1(f1 real zerofill ) returns real zerofill
return 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 'float unsigned zerofill f1 ) returns float unsigned zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(date f1 ) returns date
+CREATE FUNCTION fn1(f1 real unsigned zerofill ) returns real unsigned zerofill
return 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 'f1 ) returns date
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(time f1 ) returns time
+CREATE FUNCTION fn1(f1 float ) returns float
return 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 'f1 ) returns time
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(datetime f1 ) returns datetime
+CREATE FUNCTION fn1(f1 float unsigned ) returns float unsigned
return 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 'f1 ) returns datetime
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(timestamp f1 ) returns timestamp
+CREATE FUNCTION fn1(f1 float zerofill ) returns float zerofill
return 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 'f1 ) returns timestamp
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(year f1 ) returns year
+CREATE FUNCTION fn1(f1 float unsigned zerofill ) returns float unsigned zerofill
return 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 'f1 ) returns year
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(year(3) f1 ) returns year(3)
+CREATE FUNCTION fn1(f1 date ) returns date
+return f1;
+DROP FUNCTION IF EXISTS fn1;
+CREATE FUNCTION fn1(f1 time ) returns time
+return f1;
+DROP FUNCTION IF EXISTS fn1;
+CREATE FUNCTION fn1(f1 datetime ) returns datetime
+return f1;
+DROP FUNCTION IF EXISTS fn1;
+CREATE FUNCTION fn1(f1 timestamp ) returns timestamp
+return f1;
+DROP FUNCTION IF EXISTS fn1;
+CREATE FUNCTION fn1(f1 year ) returns year
+return f1;
+DROP FUNCTION IF EXISTS fn1;
+CREATE FUNCTION fn1(f1 year(f1 3) ) returns year(3)
return 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 '(3) f1 ) returns year(3)
+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 3) ) returns year(3)
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(year(4) f1 ) returns year(4)
+CREATE FUNCTION fn1(f1 year(f1 4) ) returns year(4)
return 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 '(4) f1 ) returns year(4)
+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 4) ) returns year(4)
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(enum("1enum", "2enum") f1 ) returns enum("1enum", "2enum")
+CREATE FUNCTION fn1(f1 enum(f1 "1enum", "2enum") ) returns enum("1enum", "2enum")
return 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 '("1enum", "2enum") f1 ) returns enum("1enum", "2enum")
+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 "1enum", "2enum") ) returns enum("1enum", "2enum")
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(set("1set", "2set") f1 ) returns set("1set", "2set")
+CREATE FUNCTION fn1(f1 set(f1 "1set", "2set") ) returns set("1set", "2set")
return 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 'set("1set", "2set") f1 ) returns set("1set", "2set")
+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 "1set", "2set") ) returns set("1set", "2set")
return f1' at line 1
Testcase 4.1.16:
@@ -2564,15 +3410,15 @@ alter function sp1 sql security invoker comment 'this is a function';
alter procedure sp1 sql security definer;
alter function sp1 sql security definer;
show CREATE PROCEDURE sp1;
-Procedure sql_mode Create Procedure
-sp1 CREATE PROCEDURE `sp1`()
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+sp1 CREATE DEFINER=`root`@`localhost` PROCEDURE `sp1`()
COMMENT 'this is a procedure'
-set @x= 3
+set @x= 3 latin1 modified created
show CREATE FUNCTION sp1;
-Function sql_mode Create Function
-sp1 CREATE FUNCTION `sp1`() RETURNS int(11)
+Function sql_mode Create Function character_set_client collation_connection Database Collation
+sp1 CREATE DEFINER=`root`@`localhost` FUNCTION `sp1`() RETURNS int(11)
COMMENT 'this is a function'
-return 4
+return 4 latin1 modified created
USE db_storedproc;
DROP DATABASE db_storedproc_3122;
DROP FUNCTION db_storedproc.sp1;
@@ -2789,7 +3635,7 @@ SELECT count(*) into cnt from t2;
set @count = cnt;
SELECT @count;
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 'SELECT count(*) into cnt from t2;
+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 @count = cnt;
SELECT @count;
END' at line 2
@@ -2841,6 +3687,14 @@ Testcase ....:
--------------------------------------------------------------------------------
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
+accessible:BEGIN
+SELECT @x;
+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 'accessible:BEGIN
+SELECT @x;
+END' at line 2
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
add:BEGIN
SELECT @x;
END//
@@ -2860,9 +3714,7 @@ CREATE PROCEDURE sp1()
alter:BEGIN
SELECT @x;
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 ':BEGIN
-SELECT @x;
-END' at line 2
+ERROR 0A000: ALTER VIEW is not allowed in stored procedures
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
analyze:BEGIN
@@ -2961,7 +3813,7 @@ SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
-CALL:BEGIN
+call:BEGIN
SELECT @x;
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 ':BEGIN
@@ -3033,11 +3885,6 @@ SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
-columns:BEGIN
-SELECT @x;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1()
condition:BEGIN
SELECT @x;
END//
@@ -3046,14 +3893,6 @@ SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
-connection:BEGIN
-SELECT @x;
-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 'connection:BEGIN
-SELECT @x;
-END' at line 2
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1()
constraint:BEGIN
SELECT @x;
END//
@@ -3382,15 +4221,26 @@ SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
-fields:BEGIN
+float:BEGIN
SELECT @x;
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 'float:BEGIN
+SELECT @x;
+END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
-float:BEGIN
+float4:BEGIN
SELECT @x;
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 'float:BEGIN
+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 'float4:BEGIN
+SELECT @x;
+END' at line 2
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+float8:BEGIN
+SELECT @x;
+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 'float8:BEGIN
SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
@@ -3419,11 +4269,6 @@ SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
-found:BEGIN
-SELECT @x;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1()
from:BEGIN
SELECT @x;
END//
@@ -3440,11 +4285,6 @@ SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
-goto:BEGIN
-SELECT @x;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1()
grant:BEGIN
SELECT @x;
END//
@@ -3581,6 +4421,46 @@ SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
+int1:BEGIN
+SELECT @x;
+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 'int1:BEGIN
+SELECT @x;
+END' at line 2
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+int2:BEGIN
+SELECT @x;
+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 'int2:BEGIN
+SELECT @x;
+END' at line 2
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+int3:BEGIN
+SELECT @x;
+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 'int3:BEGIN
+SELECT @x;
+END' at line 2
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+int4:BEGIN
+SELECT @x;
+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 'int4:BEGIN
+SELECT @x;
+END' at line 2
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+int8:BEGIN
+SELECT @x;
+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 'int8:BEGIN
+SELECT @x;
+END' at line 2
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
integer:BEGIN
SELECT @x;
END//
@@ -3693,6 +4573,14 @@ SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
+linear:BEGIN
+SELECT @x;
+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 'linear:BEGIN
+SELECT @x;
+END' at line 2
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
lines:BEGIN
SELECT @x;
END//
@@ -3773,6 +4661,14 @@ SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
+master_ssl_verify_server_cert:BEGIN
+SELECT @x;
+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 'master_ssl_verify_server_cert:BEGIN
+SELECT @x;
+END' at line 2
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
match:BEGIN
SELECT @x;
END//
@@ -3973,11 +4869,6 @@ SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
-privileges:BEGIN
-SELECT @x;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1()
procedure:BEGIN
SELECT @x;
END//
@@ -3994,6 +4885,14 @@ SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
+range:BEGIN
+SELECT @x;
+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 'range:BEGIN
+SELECT @x;
+END' at line 2
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
read:BEGIN
SELECT @x;
END//
@@ -4009,6 +4908,15 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+read_write:BEGIN
+SELECT @x;
+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 'read_write:BEGIN
+SELECT @x;
+END' at line 2
+DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
real:BEGIN
SELECT @x;
@@ -4034,6 +4942,14 @@ SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
+release:BEGIN
+SELECT @x;
+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 ':BEGIN
+SELECT @x;
+END' at line 2
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
rename:BEGIN
SELECT @x;
END//
@@ -4178,14 +5094,6 @@ SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
-soname:BEGIN
-SELECT @x;
-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 'soname:BEGIN
-SELECT @x;
-END' at line 2
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1()
spatial:BEGIN
SELECT @x;
END//
@@ -4290,11 +5198,6 @@ SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
-tables:BEGIN
-SELECT @x;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1()
terminated:BEGIN
SELECT @x;
END//
@@ -4587,6 +5490,9 @@ END begin_label//
CALL sp1();
@v1 @v2
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 sp1;
Testcase 4.2.7:
@@ -4621,6 +5527,9 @@ declare y char;
SELECT f1, f2 into x, y from t2 limit 1;
END//
CALL sp1();
+Warnings:
+Warning 1265 Data truncated for column 'x' at row 1
+Warning 1265 Data truncated for column 'y' at row 1
DROP PROCEDURE sp1;
Testcase 4.2.9:
@@ -4684,8 +5593,6 @@ Ensure that the variables, cursors, conditions, and handlers declared for
a stored procedure (with the declare statement) may only be properly defined
--------------------------------------------------------------------------------
DROP PROCEDURE IF EXISTS sp6;
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed: DECIMAL(255,255) is not rejected
CREATE PROCEDURE sp6( )
BEGIN
declare x char default 'a';
@@ -4703,9 +5610,9 @@ fetch cur1 into e;
SELECT x, y, z, a, b, c, d, e;
close cur1;
END//
+ERROR 42000: Too big scale 255 specified for column ''. Maximum is 30.
CALL sp6();
-x y z a b c d e
-a 1 1.1 value1 1200000000000 mediumtext 2005-02-02 12:12:12 a`
+ERROR 42000: PROCEDURE db_storedproc.sp6 does not exist
DROP PROCEDURE IF EXISTS sp6;
CREATE PROCEDURE sp6( )
BEGIN
@@ -5828,13 +6735,6 @@ declare continue handler for sqlstate '23000' set @x2 = 1;
declare x char;
END//
ERROR 42000: Variable or condition declaration after cursor or handler declaration
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1()
-BEGIN
-declare continue handler for sqlstate '23000' set @x2 = 1;
-declare x char;
-END//
-ERROR 42000: Variable or condition declaration after cursor or handler declaration
DROP PROCEDURE IF EXISTS sp6;
CREATE PROCEDURE sp6( )
BEGIN
@@ -5864,6 +6764,15 @@ Ensure that the declare statement can declare multiple variables both separately
and all at once from a variable list. (multiple declaration)
--------------------------------------------------------------------------------
DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+BEGIN
+DECLARE x1 CHAR(100) DEFAULT 'outer';
+BEGIN
+DECLARE x1 CHAR(100) DEFAULT x1;
+END;
+END//
+CALL sp1();
+DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
declare x, y, z char default null;
@@ -5988,7 +6897,11 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
--1 -1 -1
+000 000 000
+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
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -5997,7 +6910,7 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
-1 1 1
+001 001 001
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6024,7 +6937,11 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
--1 -1 -1
+00000 00000 00000
+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
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6033,7 +6950,7 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
-1 1 1
+00001 00001 00001
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6060,7 +6977,11 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
--1 -1 -1
+00000000 00000000 00000000
+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
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6069,7 +6990,7 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
-1 1 1
+00000001 00000001 00000001
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6096,7 +7017,11 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
--1 -1 -1
+0000000000 0000000000 0000000000
+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
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6105,7 +7030,7 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
-1 1 1
+0000000001 0000000001 0000000001
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6123,7 +7048,7 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
--1 -1 -1
+18446744073709551615 18446744073709551615 18446744073709551615
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6132,7 +7057,11 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
--1 -1 -1
+00000000000000000000 00000000000000000000 00000000000000000000
+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
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6141,7 +7070,7 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
-1 1 1
+00000000000000000001 00000000000000000001 00000000000000000001
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6150,18 +7079,24 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
--34028234660123456789012345678901234567 -34028234660123456789012345678901234567 -34028234660123456789012345678901234567
+-9999999999 -9999999999 -9999999999
+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
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
declare x, y, z decimal unsigned default 1.175494351e-38;
SELECT x, y, z;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed: default (10,0) for DECIMAL not checked
CALL sp1();
x y z
-0.00000000000000000000000000000000000001175494351 0.00000000000000000000000000000000000001175494351 0.00000000000000000000000000000000000001175494351
+0 0 0
+Warnings:
+Note 1265 Data truncated for column 'x' at row 1
+Note 1265 Data truncated for column 'y' at row 1
+Note 1265 Data truncated for column 'z' at row 1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6170,62 +7105,76 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
--34028234660123456789012345678901234567 -34028234660123456789012345678901234567 -34028234660123456789012345678901234567
+0000000000 0000000000 0000000000
+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
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
declare x, y, z decimal unsigned zerofill default 1.175494351e-38;
SELECT x, y, z;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed: default (10,0) for DECIMAL not checked
CALL sp1();
x y z
-0.00000000000000000000000000000000000001175494351 0.00000000000000000000000000000000000001175494351 0.00000000000000000000000000000000000001175494351
+0000000000 0000000000 0000000000
+Warnings:
+Note 1265 Data truncated for column 'x' at row 1
+Note 1265 Data truncated for column 'y' at row 1
+Note 1265 Data truncated for column 'z' at row 1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
declare x, y, z numeric default 1.175494351e-38;
SELECT x, y, z;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed: default (10,0) for DECIMAL not checked
CALL sp1();
x y z
-0.00000000000000000000000000000000000001175494351 0.00000000000000000000000000000000000001175494351 0.00000000000000000000000000000000000001175494351
+0 0 0
+Warnings:
+Note 1265 Data truncated for column 'x' at row 1
+Note 1265 Data truncated for column 'y' at row 1
+Note 1265 Data truncated for column 'z' at row 1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
declare x, y, z numeric unsigned default 1.175494351e-38;
SELECT x, y, z;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed: default (10,0) for DECIMAL not checked
CALL sp1();
x y z
-0.00000000000000000000000000000000000001175494351 0.00000000000000000000000000000000000001175494351 0.00000000000000000000000000000000000001175494351
+0 0 0
+Warnings:
+Note 1265 Data truncated for column 'x' at row 1
+Note 1265 Data truncated for column 'y' at row 1
+Note 1265 Data truncated for column 'z' at row 1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
declare x, y, z numeric zerofill default 1.175494351e-38;
SELECT x, y, z;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed: default (10,0) for DECIMAL not checked
CALL sp1();
x y z
-0.00000000000000000000000000000000000001175494351 0.00000000000000000000000000000000000001175494351 0.00000000000000000000000000000000000001175494351
+0000000000 0000000000 0000000000
+Warnings:
+Note 1265 Data truncated for column 'x' at row 1
+Note 1265 Data truncated for column 'y' at row 1
+Note 1265 Data truncated for column 'z' at row 1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
declare x, y, z numeric unsigned zerofill default 1.175494351e-38;
SELECT x, y, z;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed: default (10,0) for DECIMAL not checked
CALL sp1();
x y z
-0.00000000000000000000000000000000000001175494351 0.00000000000000000000000000000000000001175494351 0.00000000000000000000000000000000000001175494351
+0000000000 0000000000 0000000000
+Warnings:
+Note 1265 Data truncated for column 'x' at row 1
+Note 1265 Data truncated for column 'y' at row 1
+Note 1265 Data truncated for column 'z' at row 1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6252,7 +7201,7 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
-1.175494351e-38 1.175494351e-38 1.175494351e-38
+00000001.175494351e-38 00000001.175494351e-38 00000001.175494351e-38
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6261,7 +7210,7 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
-1.175494351e-38 1.175494351e-38 1.175494351e-38
+00000001.175494351e-38 00000001.175494351e-38 00000001.175494351e-38
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6270,7 +7219,7 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
-1.175494351e-38 1.175494351e-38 1.175494351e-38
+1.17549e-38 1.17549e-38 1.17549e-38
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6279,7 +7228,7 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
-1.175494351e-38 1.175494351e-38 1.175494351e-38
+1.17549e-38 1.17549e-38 1.17549e-38
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6288,7 +7237,7 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
-1.175494351e-38 1.175494351e-38 1.175494351e-38
+01.17549e-38 01.17549e-38 01.17549e-38
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6297,7 +7246,7 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
-1.175494351e-38 1.175494351e-38 1.175494351e-38
+01.17549e-38 01.17549e-38 01.17549e-38
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6333,7 +7282,7 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
-20050202122012 20050202122012 20050202122012
+2005-02-02 12:20:12 2005-02-02 12:20:12 2005-02-02 12:20:12
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6419,6 +7368,13 @@ END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
+declare accessible char;
+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 'accessible char;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+BEGIN
declare add char;
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 'add char;
@@ -6524,9 +7480,9 @@ END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
-declare CALL char;
+declare call char;
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 'CALL char;
+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 'call char;
END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
@@ -6587,11 +7543,6 @@ END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
-declare columns char;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1()
-BEGIN
declare condition char;
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 'condition char;
@@ -6599,13 +7550,6 @@ END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
-declare connection char;
-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 'connection char;
-END' at line 3
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1()
-BEGIN
declare constraint char;
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 'constraint char;
@@ -6893,14 +7837,23 @@ END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
-declare fields char;
+declare float char;
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 'float char;
+END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
-declare float char;
+declare float4 char;
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 'float char;
+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 'float4 char;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+BEGIN
+declare float8 char;
+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 'float8 char;
END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
@@ -6926,11 +7879,6 @@ END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
-declare found char;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1()
-BEGIN
declare from char;
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 'from char;
@@ -6945,11 +7893,6 @@ END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
-declare goto char;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1()
-BEGIN
declare grant char;
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 'grant char;
@@ -7069,6 +8012,41 @@ END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
+declare int1 char;
+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 'int1 char;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+BEGIN
+declare int2 char;
+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 'int2 char;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+BEGIN
+declare int3 char;
+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 'int3 char;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+BEGIN
+declare int4 char;
+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 'int4 char;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+BEGIN
+declare int8 char;
+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 'int8 char;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+BEGIN
declare integer char;
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 'integer char;
@@ -7167,6 +8145,13 @@ END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
+declare linear char;
+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 'linear char;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+BEGIN
declare lines char;
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 'lines char;
@@ -7237,6 +8222,13 @@ END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
+declare master_ssl_verify_server_cert char;
+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 'master_ssl_verify_server_cert char;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+BEGIN
declare match char;
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 'match char;
@@ -7412,11 +8404,6 @@ END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
-declare privileges char;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1()
-BEGIN
declare procedure char;
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 'procedure char;
@@ -7431,6 +8418,13 @@ END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
+declare range char;
+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 'range char;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+BEGIN
declare read char;
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 'read char;
@@ -7445,6 +8439,18 @@ END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
+declare read_only char;
+END//
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+BEGIN
+declare read_write char;
+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 'read_write char;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+BEGIN
declare real char;
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 'real char;
@@ -7466,6 +8472,13 @@ END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
+declare release char;
+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 'release char;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+BEGIN
declare rename char;
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 'rename char;
@@ -7624,15 +8637,6 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1()
BEGIN
-declare soname char;
-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 'soname char;
-END' at line 3
-DROP PROCEDURE IF EXISTS sp1;
-Warnings:
-Note 1305 PROCEDURE sp1 does not exist
-CREATE PROCEDURE sp1()
-BEGIN
declare spatial char;
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 'spatial char;
@@ -7750,11 +8754,6 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1()
BEGIN
-declare tables char;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1()
-BEGIN
declare terminated char;
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 'terminated char;
@@ -7899,9 +8898,9 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1()
BEGIN
-declare USE char;
+declare use char;
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 'USE char;
+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 'use char;
END' at line 3
DROP PROCEDURE IF EXISTS sp1;
Warnings:
@@ -8150,6 +9149,16 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare accessible condition for sqlstate '02000';
+declare exit handler for add set @var2 = 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 'accessible condition for sqlstate '02000';
+declare exit handler for add set @var' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare add condition for sqlstate '02000';
declare exit handler for add set @var2 = 1;
END//
@@ -8306,10 +9315,10 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare CALL condition for sqlstate '02000';
+declare call condition for sqlstate '02000';
declare exit handler for CALL set @var2 = 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 'CALL condition for sqlstate '02000';
+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 'call condition for sqlstate '02000';
declare exit handler for CALL set @var2 = 1' at line 3
DROP PROCEDURE IF EXISTS sp1;
Warnings:
@@ -8409,11 +9418,7 @@ BEGIN
declare connection condition for sqlstate '02000';
declare exit handler for connection set @var2 = 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 'connection condition for sqlstate '02000';
-declare exit handler for connection s' at line 3
DROP PROCEDURE IF EXISTS sp1;
-Warnings:
-Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
declare constraint condition for sqlstate '02000';
@@ -8829,12 +9834,6 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare fields condition for sqlstate '02000';
-declare exit handler for fields set @var2 = 1;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1( )
-BEGIN
declare float condition for sqlstate '02000';
declare exit handler for float set @var2 = 1;
END//
@@ -8845,6 +9844,26 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare float4 condition for sqlstate '02000';
+declare exit handler for add set @var2 = 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 'float4 condition for sqlstate '02000';
+declare exit handler for add set @var2 = ' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
+declare float8 condition for sqlstate '02000';
+declare exit handler for add set @var2 = 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 'float8 condition for sqlstate '02000';
+declare exit handler for add set @var2 = ' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare for condition for sqlstate '02000';
declare exit handler for for set @var2 = 1;
END//
@@ -8876,12 +9895,6 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare found condition for sqlstate '02000';
-declare exit handler for found set @var2 = 1;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1( )
-BEGIN
declare from condition for sqlstate '02000';
declare exit handler for from set @var2 = 1;
END//
@@ -8902,12 +9915,6 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare goto condition for sqlstate '02000';
-declare exit handler for goto set @var2 = 1;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1( )
-BEGIN
declare grant condition for sqlstate '02000';
declare exit handler for grant set @var2 = 1;
END//
@@ -9081,6 +10088,56 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare int1 condition for sqlstate '02000';
+declare exit handler for int set @var2 = 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 'int1 condition for sqlstate '02000';
+declare exit handler for int set @var2 = 1;' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
+declare int2 condition for sqlstate '02000';
+declare exit handler for int set @var2 = 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 'int2 condition for sqlstate '02000';
+declare exit handler for int set @var2 = 1;' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
+declare int3 condition for sqlstate '02000';
+declare exit handler for int set @var2 = 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 'int3 condition for sqlstate '02000';
+declare exit handler for int set @var2 = 1;' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
+declare int4 condition for sqlstate '02000';
+declare exit handler for int set @var2 = 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 'int4 condition for sqlstate '02000';
+declare exit handler for int set @var2 = 1;' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
+declare int8 condition for sqlstate '02000';
+declare exit handler for int set @var2 = 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 'int8 condition for sqlstate '02000';
+declare exit handler for int set @var2 = 1;' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare integer condition for sqlstate '02000';
declare exit handler for integer set @var2 = 1;
END//
@@ -9223,6 +10280,16 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare linear condition for sqlstate '02000';
+declare exit handler for int set @var2 = 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 'linear condition for sqlstate '02000';
+declare exit handler for int set @var2 = ' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare lines condition for sqlstate '02000';
declare exit handler for lines set @var2 = 1;
END//
@@ -9323,6 +10390,16 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare master_ssl_verify_server_cert condition for sqlstate '02000';
+declare exit handler for int set @var2 = 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 'master_ssl_verify_server_cert condition for sqlstate '02000';
+declare exit handl' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare match condition for sqlstate '02000';
declare exit handler for match set @var2 = 1;
END//
@@ -9578,12 +10655,6 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare privileges condition for sqlstate '02000';
-declare exit handler for privileges set @var2 = 1;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1( )
-BEGIN
declare procedure condition for sqlstate '02000';
declare exit handler for procedure set @var2 = 1;
END//
@@ -9604,6 +10675,16 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare range condition for sqlstate '02000';
+declare exit handler for int set @var2 = 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 'range condition for sqlstate '02000';
+declare exit handler for int set @var2 = 1' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare read condition for sqlstate '02000';
declare exit handler for read set @var2 = 1;
END//
@@ -9624,6 +10705,26 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare read_only condition for sqlstate '02000';
+declare exit handler for int set @var2 = 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 'int set @var2 = 1;
+END' at line 4
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
+declare read_write condition for sqlstate '02000';
+declare exit handler for int set @var2 = 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 'read_write condition for sqlstate '02000';
+declare exit handler for int set @var' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare real condition for sqlstate '02000';
declare exit handler for real set @var2 = 1;
END//
@@ -9654,6 +10755,16 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare release condition for sqlstate '02000';
+declare exit handler for int set @var2 = 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 'release condition for sqlstate '02000';
+declare exit handler for int set @var2 =' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare rename condition for sqlstate '02000';
declare exit handler for rename set @var2 = 1;
END//
@@ -9774,10 +10885,10 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare SELECT condition for sqlstate '02000';
+declare select condition for sqlstate '02000';
declare exit handler for SELECT set @var2 = 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 'SELECT condition for sqlstate '02000';
+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 condition for sqlstate '02000';
declare exit handler for SELECT set @var2' at line 3
DROP PROCEDURE IF EXISTS sp1;
Warnings:
@@ -9835,16 +10946,6 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare soname condition for sqlstate '02000';
-declare exit handler for soname set @var2 = 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 'soname condition for sqlstate '02000';
-declare exit handler for soname set @var2' at line 3
-DROP PROCEDURE IF EXISTS sp1;
-Warnings:
-Note 1305 PROCEDURE sp1 does not exist
-CREATE PROCEDURE sp1( )
-BEGIN
declare spatial condition for sqlstate '02000';
declare exit handler for spatial set @var2 = 1;
END//
@@ -9977,12 +11078,6 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare tables condition for sqlstate '02000';
-declare exit handler for tables set @var2 = 1;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1( )
-BEGIN
declare terminated condition for sqlstate '02000';
declare exit handler for terminated set @var2 = 1;
END//
@@ -10144,10 +11239,10 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare USE condition for sqlstate '02000';
+declare use condition for sqlstate '02000';
declare exit handler for USE set @var2 = 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 'USE condition for sqlstate '02000';
+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 'use condition for sqlstate '02000';
declare exit handler for USE set @var2 = 1;
' at line 3
DROP PROCEDURE IF EXISTS sp1;
@@ -10409,6 +11504,15 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare accessible handler for sqlstate '02000' set @var2 = 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 'accessible handler for sqlstate '02000' set @var2 = 1;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare add handler for sqlstate '02000' set @var2 = 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 'add handler for sqlstate '02000' set @var2 = 1;
@@ -10544,9 +11648,9 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare CALL handler for sqlstate '02000' set @var2 = 1;
+declare call handler for sqlstate '02000' set @var2 = 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 'CALL handler for sqlstate '02000' set @var2 = 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 'call handler for sqlstate '02000' set @var2 = 1;
END' at line 3
DROP PROCEDURE IF EXISTS sp1;
Warnings:
@@ -10625,15 +11729,6 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare columns handler for sqlstate '02000' set @var2 = 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 'handler for sqlstate '02000' set @var2 = 1;
-END' at line 3
-DROP PROCEDURE IF EXISTS sp1;
-Warnings:
-Note 1305 PROCEDURE sp1 does not exist
-CREATE PROCEDURE sp1( )
-BEGIN
declare condition handler for sqlstate '02000' set @var2 = 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 'condition handler for sqlstate '02000' set @var2 = 1;
@@ -10643,22 +11738,18 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare connection handler for sqlstate '02000' set @var2 = 1;
+declare constraint handler for sqlstate '02000' set @var2 = 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 'connection handler for sqlstate '02000' set @var2 = 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 'constraint handler for sqlstate '02000' set @var2 = 1;
END' at line 3
DROP PROCEDURE IF EXISTS sp1;
Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare constraint handler for sqlstate '02000' set @var2 = 1;
+declare continue handler for sqlstate '02000' set @var2 = 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 'constraint handler for sqlstate '02000' set @var2 = 1;
-END' at line 3
DROP PROCEDURE IF EXISTS sp1;
-Warnings:
-Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
declare convert handler for sqlstate '02000' set @var2 = 1;
@@ -10976,6 +12067,11 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare exit handler for sqlstate '02000' set @var2 = 1;
+END//
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1( )
+BEGIN
declare explain handler for sqlstate '02000' set @var2 = 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 'explain handler for sqlstate '02000' set @var2 = 1;
@@ -11003,54 +12099,54 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare fields handler for sqlstate '02000' set @var2 = 1;
+declare float handler for sqlstate '02000' set @var2 = 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 'handler for sqlstate '02000' set @var2 = 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 'float handler for sqlstate '02000' set @var2 = 1;
END' at line 3
DROP PROCEDURE IF EXISTS sp1;
Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare float handler for sqlstate '02000' set @var2 = 1;
+declare float4 handler for sqlstate '02000' set @var2 = 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 'float handler for sqlstate '02000' set @var2 = 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 'float4 handler for sqlstate '02000' set @var2 = 1;
END' at line 3
DROP PROCEDURE IF EXISTS sp1;
Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare for handler for sqlstate '02000' set @var2 = 1;
+declare float8 handler for sqlstate '02000' set @var2 = 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 'for handler for sqlstate '02000' set @var2 = 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 'float8 handler for sqlstate '02000' set @var2 = 1;
END' at line 3
DROP PROCEDURE IF EXISTS sp1;
Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare force handler for sqlstate '02000' set @var2 = 1;
+declare for handler for sqlstate '02000' set @var2 = 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 'force handler for sqlstate '02000' set @var2 = 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 'for handler for sqlstate '02000' set @var2 = 1;
END' at line 3
DROP PROCEDURE IF EXISTS sp1;
Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare foreign handler for sqlstate '02000' set @var2 = 1;
+declare force handler for sqlstate '02000' set @var2 = 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 'foreign handler for sqlstate '02000' set @var2 = 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 'force handler for sqlstate '02000' set @var2 = 1;
END' at line 3
DROP PROCEDURE IF EXISTS sp1;
Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare found handler for sqlstate '02000' set @var2 = 1;
+declare foreign handler for sqlstate '02000' set @var2 = 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 'handler for sqlstate '02000' set @var2 = 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 'foreign handler for sqlstate '02000' set @var2 = 1;
END' at line 3
DROP PROCEDURE IF EXISTS sp1;
Warnings:
@@ -11075,15 +12171,6 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare goto handler for sqlstate '02000' set @var2 = 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 'handler for sqlstate '02000' set @var2 = 1;
-END' at line 3
-DROP PROCEDURE IF EXISTS sp1;
-Warnings:
-Note 1305 PROCEDURE sp1 does not exist
-CREATE PROCEDURE sp1( )
-BEGIN
declare grant handler for sqlstate '02000' set @var2 = 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 'grant handler for sqlstate '02000' set @var2 = 1;
@@ -11237,6 +12324,51 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare int1 handler for sqlstate '02000' set @var2 = 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 'int1 handler for sqlstate '02000' set @var2 = 1;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
+declare int2 handler for sqlstate '02000' set @var2 = 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 'int2 handler for sqlstate '02000' set @var2 = 1;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
+declare int3 handler for sqlstate '02000' set @var2 = 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 'int3 handler for sqlstate '02000' set @var2 = 1;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
+declare int4 handler for sqlstate '02000' set @var2 = 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 'int4 handler for sqlstate '02000' set @var2 = 1;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
+declare int8 handler for sqlstate '02000' set @var2 = 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 'int8 handler for sqlstate '02000' set @var2 = 1;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare integer handler for sqlstate '02000' set @var2 = 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 'integer handler for sqlstate '02000' set @var2 = 1;
@@ -11363,6 +12495,15 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare linear handler for sqlstate '02000' set @var2 = 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 'linear handler for sqlstate '02000' set @var2 = 1;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare lines handler for sqlstate '02000' set @var2 = 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 'lines handler for sqlstate '02000' set @var2 = 1;
@@ -11453,6 +12594,15 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare master_ssl_verify_server_cert handler for sqlstate '02000' set @var2 = 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 'master_ssl_verify_server_cert handler for sqlstate '02000' set @var2 = 1;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare match handler for sqlstate '02000' set @var2 = 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 'match handler for sqlstate '02000' set @var2 = 1;
@@ -11705,6 +12855,15 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare range handler for sqlstate '02000' set @var2 = 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 'range handler for sqlstate '02000' set @var2 = 1;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare read handler for sqlstate '02000' set @var2 = 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 'read handler for sqlstate '02000' set @var2 = 1;
@@ -11723,6 +12882,24 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare read_only handler for sqlstate '02000' set @var2 = 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 'handler for sqlstate '02000' set @var2 = 1;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
+declare read_write handler for sqlstate '02000' set @var2 = 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 'read_write handler for sqlstate '02000' set @var2 = 1;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare real handler for sqlstate '02000' set @var2 = 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 'real handler for sqlstate '02000' set @var2 = 1;
@@ -11750,6 +12927,15 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare release handler for sqlstate '02000' set @var2 = 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 'release handler for sqlstate '02000' set @var2 = 1;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare rename handler for sqlstate '02000' set @var2 = 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 'rename handler for sqlstate '02000' set @var2 = 1;
@@ -11858,9 +13044,9 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare SELECT handler for sqlstate '02000' set @var2 = 1;
+declare select handler for sqlstate '02000' set @var2 = 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 'SELECT handler for sqlstate '02000' set @var2 = 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 handler for sqlstate '02000' set @var2 = 1;
END' at line 3
DROP PROCEDURE IF EXISTS sp1;
Warnings:
@@ -11912,15 +13098,6 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare soname handler for sqlstate '02000' set @var2 = 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 'soname handler for sqlstate '02000' set @var2 = 1;
-END' at line 3
-DROP PROCEDURE IF EXISTS sp1;
-Warnings:
-Note 1305 PROCEDURE sp1 does not exist
-CREATE PROCEDURE sp1( )
-BEGIN
declare spatial handler for sqlstate '02000' set @var2 = 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 'spatial handler for sqlstate '02000' set @var2 = 1;
@@ -12038,15 +13215,6 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare tables handler for sqlstate '02000' set @var2 = 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 'handler for sqlstate '02000' set @var2 = 1;
-END' at line 3
-DROP PROCEDURE IF EXISTS sp1;
-Warnings:
-Note 1305 PROCEDURE sp1 does not exist
-CREATE PROCEDURE sp1( )
-BEGIN
declare terminated handler for sqlstate '02000' set @var2 = 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 'terminated handler for sqlstate '02000' set @var2 = 1;
@@ -12191,9 +13359,9 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare USE handler for sqlstate '02000' set @var2 = 1;
+declare use handler for sqlstate '02000' set @var2 = 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 'USE handler for sqlstate '02000' set @var2 = 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 'use handler for sqlstate '02000' set @var2 = 1;
END' at line 3
DROP PROCEDURE IF EXISTS sp1;
Warnings:
@@ -12384,10 +13552,13 @@ set @v2 = y;
END//
CALL sp1();
x y @x
-NULL abaa 3
+NULL a 3
+Warnings:
+Warning 1265 Data truncated for column 'y' at row 3
+Warning 1265 Data truncated for column 'y' at row 1
SELECT @v1, @v2;
@v1 @v2
-4 a`
+4 a
DROP PROCEDURE sp1;
Testcase 4.2.28:
@@ -12454,7 +13625,7 @@ CALL sp1();
@xx
0
Warnings:
-Warning 1292 Truncated incorrect INTEGER value: 'asd'
+Warning 1366 Incorrect integer value: 'asd' for column 'xx' at row 1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
@@ -12481,9 +13652,11 @@ set xx = 'temp';
set @xx = xx;
END//
CALL sp1();
+Warnings:
+Warning 1265 Data truncated for column 'xx' at row 1
SELECT @xx;
@xx
-temp
+t
DROP PROCEDURE sp1;
Testcase 4.2.31 - b:
@@ -12501,7 +13674,7 @@ CALL sp1();
xx
0
Warnings:
-Warning 1292 Truncated incorrect DOUBLE value: 'asd'
+Warning 1265 Data truncated for column 'xx' at row 1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
@@ -12527,7 +13700,9 @@ SELECT xx;
END//
CALL sp1();
xx
-asd
+0000-00-00 00:00:00
+Warnings:
+Warning 1264 Out of range value for column 'xx' at row 1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
@@ -12571,7 +13746,7 @@ CALL sp1();
xx
0
Warnings:
-Warning 1292 Truncated incorrect INTEGER value: 'asd'
+Warning 1366 Incorrect integer value: 'asd' for column 'xx' at row 1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
@@ -12602,6 +13777,8 @@ declare x char ascii;
SELECT f1 into x from t2 limit 1;
END//
CALL sp1();
+Warnings:
+Warning 1265 Data truncated for column 'x' at row 1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
@@ -12665,6 +13842,8 @@ declare x binary;
SELECT f1 into x from t2 limit 1;
END//
CALL sp1();
+Warnings:
+Warning 1265 Data truncated for column 'x' at row 1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
@@ -12812,8 +13991,6 @@ declare x decimal;
SELECT f1 into x from t2 limit 1;
END//
CALL sp1();
-Warnings:
-Error 1366 Incorrect decimal value: '' for column '' at row -1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
@@ -12821,8 +13998,6 @@ declare x decimal unsigned;
SELECT f1 into x from t2 limit 1;
END//
CALL sp1();
-Warnings:
-Error 1366 Incorrect decimal value: '' for column '' at row -1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
@@ -12830,8 +14005,6 @@ declare x decimal zerofill;
SELECT f1 into x from t2 limit 1;
END//
CALL sp1();
-Warnings:
-Error 1366 Incorrect decimal value: '' for column '' at row -1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
@@ -12839,8 +14012,6 @@ declare x decimal unsigned zerofill;
SELECT f1 into x from t2 limit 1;
END//
CALL sp1();
-Warnings:
-Error 1366 Incorrect decimal value: '' for column '' at row -1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
@@ -12848,8 +14019,6 @@ declare x numeric;
SELECT f1 into x from t2 limit 1;
END//
CALL sp1();
-Warnings:
-Error 1366 Incorrect decimal value: '' for column '' at row -1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
@@ -12857,8 +14026,6 @@ declare x numeric unsigned;
SELECT f1 into x from t2 limit 1;
END//
CALL sp1();
-Warnings:
-Error 1366 Incorrect decimal value: '' for column '' at row -1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
@@ -12866,8 +14033,6 @@ declare x numeric zerofill;
SELECT f1 into x from t2 limit 1;
END//
CALL sp1();
-Warnings:
-Error 1366 Incorrect decimal value: '' for column '' at row -1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
@@ -12875,8 +14040,6 @@ declare x numeric unsigned zerofill;
SELECT f1 into x from t2 limit 1;
END//
CALL sp1();
-Warnings:
-Error 1366 Incorrect decimal value: '' for column '' at row -1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
@@ -13254,7 +14417,7 @@ declare continue handler for sqlstate '02000' set done = 1;
BEGIN
open cur1;
set count = count - 1;
-while count <> 0 do
+while count > 0 do
fetch cur1 into newf1, newlf1, newf3, newsal;
set count = count - 1;
END while;
@@ -13279,7 +14442,7 @@ declare continue handler for sqlstate '02000' set done = 1;
BEGIN
open cur1;
set count = count - 1;
-while count <> 0 do
+while count > 0 do
fetch cur1 into newf1, newlf1, newf3, newsal;
set count = count - 1;
END while;
@@ -13306,7 +14469,7 @@ declare continue handler for sqlstate '02000' set done = 1;
BEGIN
open cur1;
set count = count - 1;
-while count <> 0 do
+while count > 0 do
fetch cur1 into newf1, newf2, newf4, newf3;
set count = count - 1;
END while;
@@ -13330,7 +14493,7 @@ open cur1;
BEGIN
open cur1;
set count = count - 1;
-while count <> 0 do
+while count > 0 do
fetch cur1 into newf1, newf2, newf3, newf4;
set count = count - 1;
END while;
@@ -13358,7 +14521,7 @@ BEGIN
open cur1;
open cur1;
set count = count - 1;
-while count <> 0 do
+while count > 0 do
fetch cur1 into newf1, newf2, newf4, newf3;
set count = count - 1;
END while;
@@ -13388,7 +14551,7 @@ declare continue handler for sqlstate '02000' set done = 1;
BEGIN
open cur2;
set count = count - 1;
-while count <> 0 do
+while count > 0 do
fetch cur1 into newf1, newf2, newf4, newf3;
set count = count - 1;
END while;
@@ -13416,7 +14579,7 @@ declare cur1 cursor for SELECT f1, f2, f4, f5 from t2 limit 20, 10;
declare continue handler for sqlstate '02000' set done = 1;
BEGIN
set count = count - 1;
-while count <> 0 do
+while count > 0 do
fetch cur1 into newf1, newf2, newf4, newf3;
set count = count - 1;
END while;
@@ -13430,7 +14593,7 @@ DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
declare done int default 0;
-declare count integer default 0;
+declare count integer default 10;
declare newf1 char(20);
declare newf2 char(20);
declare newf3 char(20);
@@ -13441,7 +14604,7 @@ open cur1;
BEGIN
declare cur1 cursor for SELECT f1, f2, f3, f4 from t2;
set count = count - 1;
-while count <> 0 do
+while count > 0 do
fetch cur1 into newf1, newf2, newf3, newf4;
set count = count - 1;
END while;
@@ -13473,7 +14636,7 @@ BEGIN
open cur1;
close cur1;
set count = count - 1;
-while count <> 0 do
+while count > 0 do
fetch cur1 into newf1, newf2, newf4, newf3;
set count = count - 1;
END while;
@@ -13485,7 +14648,7 @@ DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
declare done int default 0;
-declare count integer default 0;
+declare count integer default 20;
declare newf1 char(20);
declare newf2 char(20);
declare newf3 char(20);
@@ -13514,13 +14677,13 @@ BEGIN
declare done int default 0;
declare count integer default 20;
declare newf2 char(20);
-declare newf1 date;
+declare newf1 int1;
declare cur1 cursor for SELECT f1, f3 from t2 limit 20, 10;
declare continue handler for sqlstate '02000' set done = 1;
BEGIN
open cur1;
set count = count - 1;
-while count <> 0 do
+while count > 0 do
fetch cur1 into newf1, newf2;
set @x = newf1;
set @y = newf2;
@@ -13590,7 +14753,7 @@ BEGIN
close cur1;
open cur1;
set count = count - 1;
-while count <> 0 do
+while count > 0 do
fetch cur1 into newf1, newf2, newf4, newf3;
set count = count - 1;
END while;
@@ -13643,7 +14806,7 @@ fetch cur1 into newf1, newf2, newf4, newf3;
END;
END//
CALL sp1();
-ERROR 02000: No data to FETCH
+ERROR 02000: No data - zero rows fetched, selected, or processed
DROP PROCEDURE sp1;
Testcase 4.2.65:
@@ -13669,7 +14832,7 @@ commit;
END;
END//
CALL sp1();
-ERROR 02000: No data to FETCH
+ERROR 02000: No data - zero rows fetched, selected, or processed
DROP PROCEDURE sp1;
Testcase 4.2.66:
@@ -13690,7 +14853,7 @@ declare continue handler for sqlstate '02000' set done = 1;
BEGIN
open cur1;
set count = count - 1;
-while count <> 0 do
+while count > 0 do
fetch cur1 into newf1, newf2, newf4, newf3;
set count = count - 1;
END while;
@@ -13719,12 +14882,13 @@ declare cur1 cursor for SELECT f1, f2, f4, f5 from t2 limit 20, 10;
declare continue handler for sqlstate '02000' set done = 1;
BEGIN
open cur1;
-set count = count - 1;
-while count <> 0 do
+# set count = count - 1;
+# while count > 0 do
fetch cur1 into newf1, newf2, newf4, newf3;
-set count = count - 1;
-END while;
+# set count = count - 1;
+# END while;
END;
+fetch cur1 into newf1, newf2, newf4, newf3;
END//
CALL sp1();
DROP PROCEDURE sp1;
@@ -13756,7 +14920,7 @@ BEGIN
set count = 10;
BEGIN
open cur2;
-while count <> 0 do
+while count > 0 do
fetch cur1 into newf1, newf2, newf4, newf3;
set count = count - 1;
END while;
@@ -13765,7 +14929,8 @@ insert into temp1 values(newf1, newf2, newf4, newf3);
close cur1;
END;
BEGIN
-while count <> 0 do
+set count = 10;
+while count > 0 do
fetch cur2 into newf21, newf22, newf24, newf23;
set count = count - 1;
END while;
@@ -13774,9 +14939,9 @@ insert into temp2 values(newf21, newf22, newf24, newf23);
close cur2;
END//
CALL sp1();
-SELECT * from temp1;
-f1 f2 f3 f4
-agaaaaaaa agaaaaaaa -4993 agaaaaaaa
+SELECT count(*) from temp1;
+count(*)
+1
SELECT * from temp2;
f1 f2 f3 f4
NULL NULL NULL NULL
@@ -13792,46 +14957,47 @@ USE db_storedproc;
Testcase 4.3.1:
--------------------------------------------------------------------------------
DROP PROCEDURE IF EXISTS sp1;
-drop table IF EXISTS res_t3_itisalongname_1381742_itsaverylongname_1381742;
+DROP TABLE IF EXISTS res_t3_itisalongname_1381742_itsaverylongname_1381742;
CREATE TABLE res_t3_itisalongname_1381742_itsaverylongname_1381742(
-middleinitial CHAR,
-lastname VARCHAR(50),
-age_averylongfieldname_averylongname_1234569 int,
-COMMENT TEXT) ENGINE=innodb;
+middleinitial CHAR, lastname VARCHAR(50),
+age_averylongfieldname_averylongname_1234569 INT, COMMENT VARCHAR(100))
+ENGINE=<engine_to_be_tested>;
INSERT INTO res_t3_itisalongname_1381742_itsaverylongname_1381742
VALUES('a', 'aaaaaaaaaabbbbbbbbc', 0, 'default');
-CREATE PROCEDURE sp1(a int)
-BEGIN
-declare itisjustaverylargevariablename_xxxxxxxxxxxxxxxxxxxxx char;
-declare itisjustaverylargevarcharvariablename_xxxxxxxxxxxxxxxxxxxxx varchar(100);
-declare itisjustamediumsizeintintegervariablename integer;
-set itisjustaverylargevariablename_xxxxxxxxxxxxxxxxxxxxx = 'b';
-set itisjustaverylargevarcharvariablename_xxxxxxxxxxxxxxxxxxxxx = 'oldmacdonalds)(*&(^^%$&^%$&^%*^)(*^#@$@%';
-set itisjustamediumsizeintintegervariablename = 5;
-set @comment='a';
-label1: loop
-if a>100 then
-set @comment='value of a is greater than 100';
-elseif a<100 then
-if a<50 then
-set @comment='value of a is less than 50';
-elseif a<25 then
-set @comment='value of a is less than 25';
-else
-set @comment='value of a is greater than 50 and less than 100';
-END if;
-else
-set @comment='value of a is 100';
-END if;
-if itisjustamediumsizeintintegervariablename = 0 then leave label1;
-END if;
-insert into res_t3_itisalongname_1381742_itsaverylongname_1381742
-values( itisjustaverylargevariablename_xxxxxxxxxxxxxxxxxxxxx,
-concat(itisjustaverylargevarcharvariablename_xxxxxxxxxxxxxxxxxxxxx, ' ', a),
-a, @comment );
-set itisjustamediumsizeintintegervariablename = itisjustamediumsizeintintegervariablename - 1;
-iterate label1;
-END loop label1;
+CREATE PROCEDURE sp1(a INT)
+BEGIN
+DECLARE itisjustaverylargevariablename_xxxxxxxxxxxxxxxxxxxxx CHAR;
+DECLARE itisjustaverylargevarcharvariablename_xxxxxxxxxxxxxxxxxxxxx VARCHAR(100);
+DECLARE itisjustamediumsizeintintegervariablename INTEGER;
+SET itisjustaverylargevariablename_xxxxxxxxxxxxxxxxxxxxx = 'b';
+SET itisjustaverylargevarcharvariablename_xxxxxxxxxxxxxxxxxxxxx
+= 'oldmacdonalds)(*&(^^%$&^%$&^%*^)(*^#@$@%';
+SET itisjustamediumsizeintintegervariablename = 5;
+SET @comment='a';
+label1: LOOP
+IF a > 100 THEN
+SET @comment = 'value of a is greater than 100';
+ELSEIF a < 100 THEN
+IF a < 50 THEN
+SET @comment = 'value of a is less than 50';
+ELSEIF a < 25 THEN
+SET @comment = 'value of a is less than 25';
+ELSE
+SET @comment = 'value of a is greater than 50 and less than 100';
+END IF;
+ELSE
+SET @comment = 'value of a is 100';
+END IF;
+IF itisjustamediumsizeintintegervariablename = 0 THEN LEAVE label1;
+END IF;
+INSERT INTO res_t3_itisalongname_1381742_itsaverylongname_1381742
+VALUES(itisjustaverylargevariablename_xxxxxxxxxxxxxxxxxxxxx,
+CONCAT(itisjustaverylargevarcharvariablename_xxxxxxxxxxxxxxxxxxxxx,
+' ', a), a, @comment);
+SET itisjustamediumsizeintintegervariablename
+= itisjustamediumsizeintintegervariablename - 1;
+ITERATE label1;
+END LOOP label1;
END//
CALL sp1(101);
CALL sp1(100);
@@ -13924,23 +15090,23 @@ CALL sp2( 'insert' );
SELECT * from t3 where f3 <=5 && f3 >= 0;
f1 f2 f3
f1 address 1
-f1 address 2
-f1 address 3
-f1 address 4
-f1 address 5
f1 address 1
-f1 address 2
-f1 address 3
-f1 address 4
-f1 address 5
f1 address 1
-f1 address 2
-f1 address 3
-f1 address 4
f1 address 1
f1 address 2
+f1 address 2
+f1 address 2
+f1 address 2
+f1 address 3
+f1 address 3
f1 address 3
+f1 address 3
+f1 address 4
+f1 address 4
f1 address 4
+f1 address 4
+f1 address 5
+f1 address 5
SELECT count(*) from t3;
count(*)
28
@@ -14023,7 +15189,7 @@ delete from res_t3_itisalongname_1381742_itsaverylongname_1381742;
END case;
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 'when 'delete' then
-delete from res_t3_itisalongname_1381742_itsaverylongname_13' at line 10
+delete from res_t3_itisalongname_1381742_itsaverylongname_13' at line 11
DROP PROCEDURE IF EXISTS sp3;
CREATE PROCEDURE sp3( action char(20) )
BEGIN
@@ -14041,8 +15207,9 @@ label2: while count < 10 do
BEGIN
insert into res_t3_itisalongname_1381742_itsaverylongname_1381742
values('xxxxxxxxxxxxxxxxxxx', '1231230981(*&(*&)(*&(', count);
-if done=1 then
-set count=10;
+set count = count + 1;
+if count= 10 then
+set done=1;
END if;
END;
END while label2;
@@ -14056,6 +15223,19 @@ END if;
END loop label1;
SELECT count, done;
END//
+CALL sp3('insert');
+count done
+10 1
+Warnings:
+Warning 1265 Data truncated for column 'name' at row 1
+Warning 1265 Data truncated for column 'name' at row 2
+Warning 1265 Data truncated for column 'name' at row 3
+Warning 1265 Data truncated for column 'name' at row 4
+Warning 1265 Data truncated for column 'name' at row 5
+Warning 1265 Data truncated for column 'name' at row 6
+Warning 1265 Data truncated for column 'name' at row 7
+Warning 1265 Data truncated for column 'name' at row 8
+Warning 1265 Data truncated for column 'name' at row 9
DROP PROCEDURE sp3;
drop table res_t3_itisalongname_1381742_itsaverylongname_1381742;
@@ -14330,11 +15510,14 @@ CREATE PROCEDURE sp6()
BEGIN
declare count1 integer default 1;
label1: repeat
-set count1 = count1;
+set count1 = count1-1;
until count1 < 0
END repeat label1;
SELECT count1;
END//
+CALL sp6();
+count1
+-1
DROP PROCEDURE sp6;
Testcase 4.3.7:
@@ -14403,7 +15586,7 @@ do v1 > 0 while
set v1 = v1 - 1;
END while;
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 'do v1 > 0 while
+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
set v1 = v1 - 1;
END while;
END' at line 4
@@ -14442,7 +15625,7 @@ set count1 = count1 + 1;
iterate label1;
END loop label2;
END//
-ERROR 42000: End-label label2 without match
+ERROR 42000: End-label label1 without match
drop table res_t3_itisalongname_1381742_itsaverylongname_1381742;
Testcase 4.3.13:
@@ -14606,7 +15789,7 @@ until count1 < 3
END repeat label1;
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 'label1;
-END' at line 7
+END' at line 8
Testcase 4.3.21:
--------------------------------------------------------------------------------
@@ -14789,15 +15972,15 @@ insert into t43 values('abcde', 'a!@#$%^&*(');
CREATE PROCEDURE d1.sp4()
SELECT * from d1.t43;
SELECT * from mysql.proc where specific_name = 'sp4';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
-d1 sp4 PROCEDURE sp4 SQL CONTAINS_SQL NO DEFINER SELECT * from d1.t43 root@localhost modified created
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
+d1 sp4 PROCEDURE sp4 SQL CONTAINS_SQL NO DEFINER SELECT * from d1.t43 root@localhost modified created latin1 latin1_swedish_ci latin1_swedish_ci SELECT * from d1.t43
USE db_storedproc;
DROP DATABASE d1;
CREATE DATABASE d1;
USE d1;
create table t44(a char(5), b char(10));
SELECT * from mysql.proc where specific_name = 'sp4';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
USE db_storedproc;
DROP DATABASE d1;
@@ -14839,8 +16022,8 @@ CREATE PROCEDURE sp8 ( n char(20) ) sql security definer comment 'initial'
USE d2;
alter procedure d1.sp8 sql security definer comment 'updated';
SELECT * from mysql.proc where specific_name='sp8' and db='d1';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
-d1 sp8 PROCEDURE sp8 SQL CONTAINS_SQL NO DEFINER n char(20) SELECT * from t1 where t1.f1 = n root@localhost modified created updated
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
+d1 sp8 PROCEDURE sp8 SQL CONTAINS_SQL NO DEFINER n char(20) SELECT * from t1 where t1.f1 = n root@localhost modified created updated latin1 latin1_swedish_ci latin1_swedish_ci SELECT * from t1 where t1.f1 = n
Testcase 4.4.9:
--------------------------------------------------------------------------------
@@ -14856,12 +16039,16 @@ END//
USE d2;
alter function d1.fn2 sql security definer comment 'updated';
SELECT * from mysql.proc where specific_name='fn2' and db='d1';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
d1 fn2 FUNCTION fn2 SQL CONTAINS_SQL NO DEFINER n int int(11) BEGIN
declare a int;
set a = 0.9 * n;
return a;
-END root@localhost modified created updated
+END root@localhost modified created updated latin1 latin1_swedish_ci latin1_swedish_ci BEGIN
+declare a int;
+set a = 0.9 * n;
+return a;
+END
Testcase 4.4.10:
--------------------------------------------------------------------------------
@@ -14871,7 +16058,7 @@ SELECT * from t1 where t1.f1 = n;
USE d2;
DROP PROCEDURE d1.sp9;
SELECT * from mysql.proc where specific_name='sp9' and db='d1';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
Testcase 4.4.11:
--------------------------------------------------------------------------------
@@ -14885,7 +16072,7 @@ END//
USE d2;
DROP FUNCTION d1.fn3;
SELECT * from mysql.proc where specific_name='fn3' and db='d1';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
USE db_storedproc;
DROP DATABASE d1;
DROP DATABASE d2;
@@ -14893,19 +16080,6 @@ DROP DATABASE d2;
Section 3.1.5 - Parameter use checks:
Functions with all data types
--------------------------------------------------------------------------------
-SELECT 1 as 'bug_dec_num';
-bug_dec_num
-1
-
-.
-FIXME: There are differences with datatypes DECIMAL and NUMERIC if large
-FIXME: exponent values are used. The diffs are shown only on some machines like
-FIXME: AIX52 and HPUX11. Until this has been solved we use numbers that
-FIXME: *should* be equal to the exponent representation but have no exponents
-FIXME: and use the specified count of *0*s instead.
-FIXME: In the source file these tests are marked with the comment hpux11
-.
---------------------------------------------------------------------------------
DROP DATABASE IF EXISTS d1;
CREATE DATABASE d1;
USE d1;
@@ -14926,7 +16100,7 @@ return f1;
END//
SELECT fn2(1.84e+19);
fn2(1.84e+19)
-0
+18400000000000000000
DROP FUNCTION IF EXISTS fn3;
CREATE FUNCTION fn3( f1 bigint unsigned zerofill) returns bigint unsigned zerofill
BEGIN
@@ -14945,6 +16119,8 @@ END//
SELECT fn4(-9.22e+15);
fn4(-9.22e+15)
0
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn5;
CREATE FUNCTION fn5( f1 decimal) returns decimal
BEGIN
@@ -14972,6 +16148,10 @@ END//
SELECT fn7(99999999999);
fn7(99999999999)
9999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn8;
CREATE FUNCTION fn8( f1 decimal (0) unsigned zerofill) returns decimal (0) unsigned zerofill
BEGIN
@@ -14980,7 +16160,9 @@ return f1;
END//
SELECT fn8(999999999);
fn8(999999999)
-0999999999
+1000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn9;
CREATE FUNCTION fn9( f1 decimal (0) zerofill) returns decimal (0) zerofill
BEGIN
@@ -14989,7 +16171,10 @@ return f1;
END//
SELECT fn9(-1.00e+09);
fn9(-1.00e+09)
-0000000000
+0000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn10;
CREATE FUNCTION fn10( f1 decimal (0, 0)) returns decimal (0, 0)
BEGIN
@@ -15008,6 +16193,10 @@ END//
SELECT fn11(99999999999);
fn11(99999999999)
9999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn12;
CREATE FUNCTION fn12( f1 decimal (0, 0) unsigned zerofill) returns decimal (0, 0) unsigned zerofill
BEGIN
@@ -15016,7 +16205,9 @@ return f1;
END//
SELECT fn12(999999999);
fn12(999999999)
-0999999999
+1000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn13;
CREATE FUNCTION fn13( f1 decimal (0, 0) zerofill) returns decimal (0, 0) zerofill
BEGIN
@@ -15025,7 +16216,10 @@ return f1;
END//
SELECT fn13(-1.00e+09);
fn13(-1.00e+09)
-0000000000
+0000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn14;
CREATE FUNCTION fn14( f1 decimal (63, 30)) returns decimal (63, 30)
BEGIN
@@ -15061,7 +16255,10 @@ return f1;
END//
SELECT fn17(-1.00e+21);
fn17(-1.00e+21)
-000000000000000000000000000000000.000000000000000000000000000000
+000000000000000000000000000000010.000000000000000000000000000000
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn18_d;
CREATE FUNCTION fn18_d( f1 decimal (64)) returns decimal (64)
BEGIN
@@ -15097,7 +16294,10 @@ return f1;
END//
SELECT fn21_d_z(1.00e+00);
fn21_d_z(1.00e+00)
-0000000000000000000000000000000000000000000000000000000000000001
+0000000000000000000000000000000000000000000000000000000000000010
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn22;
CREATE FUNCTION fn22( f1 decimal unsigned) returns decimal unsigned
BEGIN
@@ -15106,7 +16306,10 @@ return f1;
END//
SELECT fn22(1.00e+00);
fn22(1.00e+00)
-1
+10
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn23;
CREATE FUNCTION fn23( f1 decimal unsigned zerofill) returns decimal unsigned zerofill
BEGIN
@@ -15115,7 +16318,10 @@ return f1;
END//
SELECT fn23(1.00e+00);
fn23(1.00e+00)
-0000000001
+0000000010
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn24;
CREATE FUNCTION fn24( f1 decimal zerofill) returns decimal zerofill
BEGIN
@@ -15124,7 +16330,10 @@ return f1;
END//
SELECT fn24(-1.00e+09);
fn24(-1.00e+09)
-0000000000
+0000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn25;
CREATE FUNCTION fn25( f1 double) returns double
BEGIN
@@ -15142,7 +16351,9 @@ return f1;
END//
SELECT fn26(1.00e+00);
fn26(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn27;
CREATE FUNCTION fn27( f1 double unsigned zerofill) returns double unsigned zerofill
BEGIN
@@ -15151,7 +16362,9 @@ return f1;
END//
SELECT fn27(1.00e+00);
fn27(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn28;
CREATE FUNCTION fn28( f1 double zerofill) returns double zerofill
BEGIN
@@ -15160,7 +16373,9 @@ return f1;
END//
SELECT fn28(1.00e+00);
fn28(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn29;
CREATE FUNCTION fn29( f1 float) returns float
BEGIN
@@ -15178,7 +16393,9 @@ return f1;
END//
SELECT fn30(1.00e+00);
fn30(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn31;
CREATE FUNCTION fn31( f1 float unsigned zerofill) returns float unsigned zerofill
BEGIN
@@ -15187,7 +16404,9 @@ return f1;
END//
SELECT fn31(1.00e+00);
fn31(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn32;
CREATE FUNCTION fn32( f1 float zerofill) returns float zerofill
BEGIN
@@ -15196,7 +16415,9 @@ return f1;
END//
SELECT fn32(1.00e+00);
fn32(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn33;
CREATE FUNCTION fn33( f1 float(0)) returns float(0)
BEGIN
@@ -15214,7 +16435,9 @@ return f1;
END//
SELECT fn34(1.00e+00);
fn34(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn35;
CREATE FUNCTION fn35( f1 float(0) unsigned zerofill) returns float(0) unsigned zerofill
BEGIN
@@ -15223,7 +16446,9 @@ return f1;
END//
SELECT fn35(1.00e+00);
fn35(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn36;
CREATE FUNCTION fn36( f1 float(0) zerofill) returns float(0) zerofill
BEGIN
@@ -15232,7 +16457,9 @@ return f1;
END//
SELECT fn36(1.00e+00);
fn36(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn37;
CREATE FUNCTION fn37( f1 float(23)) returns float(23)
BEGIN
@@ -15250,7 +16477,9 @@ return f1;
END//
SELECT fn38(1.00e+00);
fn38(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn39;
CREATE FUNCTION fn39( f1 float(23) unsigned zerofill) returns float(23) unsigned zerofill
BEGIN
@@ -15259,7 +16488,9 @@ return f1;
END//
SELECT fn39(1.00e+00);
fn39(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn40;
CREATE FUNCTION fn40( f1 float(23) zerofill) returns float(23) zerofill
BEGIN
@@ -15268,7 +16499,9 @@ return f1;
END//
SELECT fn40(1.00e+00);
fn40(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn41;
CREATE FUNCTION fn41( f1 float(24)) returns float(24)
BEGIN
@@ -15286,7 +16519,9 @@ return f1;
END//
SELECT fn42(1.00e+00);
fn42(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn43;
CREATE FUNCTION fn43( f1 float(24) unsigned zerofill) returns float(24) unsigned zerofill
BEGIN
@@ -15295,7 +16530,9 @@ return f1;
END//
SELECT fn43(1.00e+00);
fn43(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn44;
CREATE FUNCTION fn44( f1 float(24) zerofill) returns float(24) zerofill
BEGIN
@@ -15304,7 +16541,9 @@ return f1;
END//
SELECT fn44(1.00e+00);
fn44(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn45;
CREATE FUNCTION fn45( f1 float(53)) returns float(53)
BEGIN
@@ -15322,7 +16561,9 @@ return f1;
END//
SELECT fn46(1.00e+00);
fn46(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn47;
CREATE FUNCTION fn47( f1 float(53) unsigned zerofill) returns float(53) unsigned zerofill
BEGIN
@@ -15331,7 +16572,9 @@ return f1;
END//
SELECT fn47(1.00e+00);
fn47(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn48;
CREATE FUNCTION fn48( f1 float(53) zerofill) returns float(53) zerofill
BEGIN
@@ -15340,7 +16583,9 @@ return f1;
END//
SELECT fn48(1.00e+00);
fn48(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn49;
CREATE FUNCTION fn49( f1 int) returns int
BEGIN
@@ -15349,7 +16594,10 @@ return f1;
END//
SELECT fn49(-2.15e+09);
fn49(-2.15e+09)
--2147483648
+-2147483638
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn50;
CREATE FUNCTION fn50( f1 int unsigned) returns int unsigned
BEGIN
@@ -15385,7 +16633,9 @@ return f1;
END//
SELECT fn53(-8388600);
fn53(-8388600)
--8388600
+-8388598
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn54;
CREATE FUNCTION fn54( f1 mediumint unsigned) returns mediumint unsigned
BEGIN
@@ -15412,7 +16662,11 @@ return f1;
END//
SELECT fn56(-8388601);
fn56(-8388601)
-0
+16777215
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn57;
CREATE FUNCTION fn57( f1 numeric) returns numeric
BEGIN
@@ -15421,7 +16675,9 @@ return f1;
END//
SELECT fn57(-999999999);
fn57(-999999999)
--999999999
+-1000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn58;
CREATE FUNCTION fn58( f1 numeric (0)) returns numeric (0)
BEGIN
@@ -15430,7 +16686,9 @@ return f1;
END//
SELECT fn58(-999999999);
fn58(-999999999)
--999999999
+-1000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn59;
CREATE FUNCTION fn59( f1 numeric (0) unsigned) returns numeric (0) unsigned
BEGIN
@@ -15440,6 +16698,9 @@ END//
SELECT fn59(9999999999);
fn59(9999999999)
9999999999
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn60;
CREATE FUNCTION fn60( f1 numeric (0) unsigned zerofill) returns numeric (0) unsigned zerofill
BEGIN
@@ -15448,7 +16709,9 @@ return f1;
END//
SELECT fn60(99999999);
fn60(99999999)
-0099999999
+0100000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn61;
CREATE FUNCTION fn61( f1 numeric (0) zerofill) returns numeric (0) zerofill
BEGIN
@@ -15457,7 +16720,10 @@ return f1;
END//
SELECT fn61(-99999999);
fn61(-99999999)
-0000000000
+0000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn62;
CREATE FUNCTION fn62( f1 numeric (0, 0)) returns numeric (0, 0)
BEGIN
@@ -15466,7 +16732,9 @@ return f1;
END//
SELECT fn62(-999999999);
fn62(-999999999)
--999999999
+-1000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn63;
CREATE FUNCTION fn63( f1 numeric (0, 0) unsigned) returns numeric (0, 0) unsigned
BEGIN
@@ -15476,6 +16744,9 @@ END//
SELECT fn63(9999999999);
fn63(9999999999)
9999999999
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn64;
CREATE FUNCTION fn64( f1 numeric (0, 0) unsigned zerofill) returns numeric (0, 0) unsigned zerofill
BEGIN
@@ -15484,7 +16755,9 @@ return f1;
END//
SELECT fn64(99999999);
fn64(99999999)
-0099999999
+0100000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn65;
CREATE FUNCTION fn65( f1 numeric (0, 0) zerofill) returns numeric (0, 0) zerofill
BEGIN
@@ -15493,7 +16766,10 @@ return f1;
END//
SELECT fn65(-99999999);
fn65(-99999999)
-0000000000
+0000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn66;
CREATE FUNCTION fn66( f1 numeric (63, 30)) returns numeric (63, 30)
BEGIN
@@ -15502,7 +16778,12 @@ return f1;
END//
SELECT fn66(-1e+36);
fn66(-1e+36)
--999999999999999999999999999999999.999999999999999999999999999999
+-999999999999999999999999999999989.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn67;
CREATE FUNCTION fn67( f1 numeric (63, 30) unsigned) returns numeric (63, 30) unsigned
BEGIN
@@ -15512,6 +16793,10 @@ END//
SELECT fn67(1e+36);
fn67(1e+36)
999999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn68;
CREATE FUNCTION fn68( f1 numeric (63, 30) unsigned zerofill) returns numeric (63, 30) unsigned zerofill
BEGIN
@@ -15521,6 +16806,10 @@ END//
SELECT fn68(1e+36);
fn68(1e+36)
999999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn69;
CREATE FUNCTION fn69( f1 numeric (63, 30) zerofill) returns numeric (63, 30) zerofill
BEGIN
@@ -15529,7 +16818,10 @@ return f1;
END//
SELECT fn69(-1e+36);
fn69(-1e+36)
-000000000000000000000000000000000.000000000000000000000000000000
+000000000000000000000000000000010.000000000000000000000000000000
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn70_n;
CREATE FUNCTION fn70_n( f1 numeric (64)) returns numeric (64)
BEGIN
@@ -15577,7 +16869,9 @@ return f1;
END//
SELECT fn74(999999999);
fn74(999999999)
-999999999
+1000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn75;
CREATE FUNCTION fn75( f1 numeric unsigned zerofill) returns numeric unsigned zerofill
BEGIN
@@ -15586,7 +16880,9 @@ return f1;
END//
SELECT fn75(999999999);
fn75(999999999)
-0999999999
+1000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn76;
CREATE FUNCTION fn76( f1 numeric zerofill) returns numeric zerofill
BEGIN
@@ -15595,7 +16891,10 @@ return f1;
END//
SELECT fn76(-999999999);
fn76(-999999999)
-0000000000
+0000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn77;
CREATE FUNCTION fn77( f1 real) returns real
BEGIN
@@ -15613,7 +16912,9 @@ return f1;
END//
SELECT fn78(1.1);
fn78(1.1)
-1.1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn79;
CREATE FUNCTION fn79( f1 real unsigned zerofill) returns real unsigned zerofill
BEGIN
@@ -15622,7 +16923,9 @@ return f1;
END//
SELECT fn79(1.1);
fn79(1.1)
-1.1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn80;
CREATE FUNCTION fn80( f1 real zerofill) returns real zerofill
BEGIN
@@ -15631,7 +16934,9 @@ return f1;
END//
SELECT fn80(1.1);
fn80(1.1)
-1.1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn81;
CREATE FUNCTION fn81( f1 smallint) returns smallint
BEGIN
@@ -15667,7 +16972,11 @@ return f1;
END//
SELECT fn84(-32601);
fn84(-32601)
-0
+65535
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn85;
CREATE FUNCTION fn85( f1 tinyint) returns tinyint
BEGIN
@@ -15703,45 +17012,37 @@ return f1;
END//
SELECT fn88(-101);
fn88(-101)
-0
+255
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn89;
CREATE FUNCTION fn89( f1 enum('1enum', '2enum')) returns enum('1enum', '2enum')
BEGIN
-if f1 eq "1enum" then
-set f1 = '2enum';
-else
-set f1 = '1enum';
-END if;
-return f1;
+IF f1 = '1enum' THEN
+SET f1 = '2enum';
+ELSE
+SET f1 = '1enum';
+END IF;
+RETURN f1;
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 'eq "1enum" then
-set f1 = '2enum';
-else
-set f1 = '1enum';
-END if;
-return f1;
-END' at line 3
SELECT fn89( '1enum');
-ERROR 42000: FUNCTION d1.fn89 does not exist
+fn89( '1enum')
+2enum
DROP FUNCTION IF EXISTS fn90;
-CREATE FUNCTION fn90( f1 set("1set", "2set")) returns set("1set", "2set")
+CREATE FUNCTION fn90( f1 set('1set', '2set')) returns set('1set', '2set')
BEGIN
-if(f1 == "1set") then
-set f1 = "2set";
-else
-set f1 = "1set";
-END if;
-return f1;
+IF f1 = '1set' THEN
+SET f1 = '2set';
+ELSE
+SET f1 = '1set';
+END IF;
+RETURN f1;
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 '== "1set") then
-set f1 = "2set";
-else
-set f1 = "1set";
-END if;
-return f1;
-END' at line 3
SELECT fn90( '1set');
-ERROR 42000: FUNCTION d1.fn90 does not exist
+fn90( '1set')
+2set
DROP FUNCTION IF EXISTS fn91;
CREATE FUNCTION fn91( f1 date) returns date
BEGIN
@@ -15759,7 +17060,7 @@ return f1;
END//
SELECT fn92( '23:59:59.999999');
fn92( '23:59:59.999999')
-26:00:00
+25:59:59
DROP FUNCTION IF EXISTS fn93;
CREATE FUNCTION fn93( f1 datetime) returns datetime
BEGIN
@@ -15768,7 +17069,7 @@ return f1;
END//
SELECT fn93('1997-12-31 23:59:59.999999');
fn93('1997-12-31 23:59:59.999999')
-1998-01-02 01:01:01
+1998-01-02 01:01:00
DROP FUNCTION IF EXISTS fn94;
CREATE FUNCTION fn94( f1 char) returns char
BEGIN
@@ -15778,6 +17079,8 @@ END//
SELECT fn94( 'h');
fn94( 'h')
a
+Warnings:
+Warning 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn95;
CREATE FUNCTION fn95( f1 char ascii) returns char ascii
BEGIN
@@ -15787,15 +17090,19 @@ END//
SELECT fn95('h');
fn95('h')
a
+Warnings:
+Warning 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn96;
-CREATE FUNCTION fn96( f1 char binary) returns char binary
+CREATE FUNCTION fn96( f1 binary) returns binary(2)
BEGIN
set f1 = concat('a', f1);
return f1;
END//
SELECT fn96( 'h');
fn96( 'h')
-a
+a
+Warnings:
+Warning 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn97;
CREATE FUNCTION fn97( f1 longtext) returns longtext
BEGIN
@@ -15917,7 +17224,7 @@ SELECT f1;
END//
CALL sp2(1.84e+19);
f1
--9223372036854775808
+18400000000000000000
DROP PROCEDURE IF EXISTS sp3;
CREATE PROCEDURE sp3( f1 bigint unsigned zerofill)
BEGIN
@@ -15926,7 +17233,7 @@ SELECT f1;
END//
CALL sp3(1.84e+17);
f1
-184000000000000000
+00184000000000000000
DROP PROCEDURE IF EXISTS sp4;
CREATE PROCEDURE sp4( f1 bigint zerofill)
BEGIN
@@ -15935,31 +17242,27 @@ SELECT f1;
END//
CALL sp4(-9.22e+15);
f1
--9220000000000000
+00000000000000000000
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp5;
CREATE PROCEDURE sp5( f1 decimal)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: default (10) for DECIMAL not checked, decimal digits shown although not defined
CALL sp5(-1.00e+09);
f1
--1000000000.000000000
+-1000000000
DROP PROCEDURE IF EXISTS sp6;
CREATE PROCEDURE sp6( f1 decimal (0))
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: decimal digits shown although not defined
CALL sp6(-1.00e+09);
f1
--1000000000.000000000
+-1000000000
DROP PROCEDURE IF EXISTS sp7;
CREATE PROCEDURE sp7( f1 decimal (0) unsigned)
BEGIN
@@ -15968,7 +17271,11 @@ SELECT f1;
END//
CALL sp7(99999999999);
f1
-99999999999.000000000
+9999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp8;
CREATE PROCEDURE sp8( f1 decimal (0) unsigned zerofill)
BEGIN
@@ -15977,199 +17284,201 @@ SELECT f1;
END//
CALL sp8(999999999);
f1
-999999999.000000000
+1000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp9;
CREATE PROCEDURE sp9( f1 decimal (0) zerofill)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: decimal digits shown although not defined
CALL sp9(-1.00e+09);
f1
--1000000000.000000000
+0000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp10;
CREATE PROCEDURE sp10( f1 decimal (0, 0))
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: decimal digits shown although not defined
CALL sp10(-1.00e+09);
f1
--1000000000.000000000
+-1000000000
DROP PROCEDURE IF EXISTS sp11;
CREATE PROCEDURE sp11( f1 decimal (0, 0) unsigned)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: decimal digits shown although not defined
CALL sp11(99999999999);
f1
-99999999999.000000000
+9999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp12;
CREATE PROCEDURE sp12( f1 decimal (0, 0) unsigned zerofill)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: decimal digits shown although not defined
CALL sp12(999999999);
f1
-999999999.000000000
+1000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp13;
CREATE PROCEDURE sp13( f1 decimal (0, 0) zerofill)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: decimal digits shown although not defined
CALL sp13(-1.00e+09);
f1
--1000000000.000000000
+0000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp14;
CREATE PROCEDURE sp14( f1 decimal (63, 30))
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: wrong number of decimal digits shown
CALL sp14(-1.00e+21);
f1
--1000000000000000000000.000000000
+-1000000000000000000000.000000000000000000000000000000
DROP PROCEDURE IF EXISTS sp15;
CREATE PROCEDURE sp15( f1 decimal (63, 30) unsigned)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: wrong number of decimal digits shown
CALL sp15(1.00e+16);
f1
-10000000000000000.000000000
+10000000000000000.000000000000000000000000000000
DROP PROCEDURE IF EXISTS sp16;
CREATE PROCEDURE sp16( f1 decimal (63, 30) unsigned zerofill)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: wrong number of decimal digits shown
CALL sp16(1.00e+16);
f1
-10000000000000000.000000000
+000000000000000010000000000000000.000000000000000000000000000000
DROP PROCEDURE IF EXISTS sp17;
CREATE PROCEDURE sp17( f1 decimal (63, 30) zerofill)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: wrong number of decimal digits shown
CALL sp17(-1.00e+21);
f1
--1000000000000000000000.000000000
+000000000000000000000000000000010.000000000000000000000000000000
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp18_d;
CREATE PROCEDURE sp18_d( f1 decimal (64))
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
+CALL sp18_d(-1.00e+30);
+f1
+-1000000000000000000000000000000
CALL sp18_d( -1000000000000000000000000000000 );
f1
--1000000000000000000000000000000.000000000
+-1000000000000000000000000000000
DROP PROCEDURE IF EXISTS sp19_du;
CREATE PROCEDURE sp19_du( f1 decimal (64) unsigned)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
+CALL sp19_du(1.00e+20);
+f1
+100000000000000000000
CALL sp19_du( 100000000000000000000 );
f1
-100000000000000000000.000000000
+100000000000000000000
+CALL sp19_du(1.00e+24);
+f1
+1000000000000000000000000
CALL sp19_du( 1000000000000000000000000 );
f1
-1000000000000000000000000.000000000
+1000000000000000000000000
DROP PROCEDURE IF EXISTS sp20_duz;
CREATE PROCEDURE sp20_duz( f1 decimal (64) unsigned zerofill)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: decimal digits shown although not defined
+CALL sp20_duz(1.00e+20);
+f1
+0000000000000000000000000000000000000000000100000000000000000000
CALL sp20_duz( 100000000000000000000 );
f1
-100000000000000000000.000000000
+0000000000000000000000000000000000000000000100000000000000000000
+CALL sp20_duz(1.00e+24);
+f1
+0000000000000000000000000000000000000001000000000000000000000000
CALL sp20_duz( 1000000000000000000000000 );
f1
-1000000000000000000000000.000000000
+0000000000000000000000000000000000000001000000000000000000000000
DROP PROCEDURE IF EXISTS sp21;
CREATE PROCEDURE sp21( f1 decimal (64) zerofill)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: decimal digits shown although not defined
CALL sp21(1.00e+00);
f1
-1.000000000
+0000000000000000000000000000000000000000000000000000000000000010
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp22;
CREATE PROCEDURE sp22( f1 decimal unsigned)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: decimal digits shown although not defined
CALL sp22(1.00e+00);
f1
-1.000000000
+10
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp23;
CREATE PROCEDURE sp23( f1 decimal unsigned zerofill)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: decimal digits shown although not defined
CALL sp23(1.00e+00);
f1
-1.000000000
+0000000010
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp24;
CREATE PROCEDURE sp24( f1 decimal zerofill)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: decimal digits shown although not defined
CALL sp24(-1.00e+09);
f1
--1000000000.000000000
+0000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp25;
CREATE PROCEDURE sp25( f1 double)
BEGIN
@@ -16187,7 +17496,9 @@ SELECT f1;
END//
CALL sp26(1.00e+00);
f1
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp27;
CREATE PROCEDURE sp27( f1 double unsigned zerofill)
BEGIN
@@ -16196,7 +17507,9 @@ SELECT f1;
END//
CALL sp27(1.00e+00);
f1
-1
+0000000000000000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp28;
CREATE PROCEDURE sp28( f1 double zerofill)
BEGIN
@@ -16205,7 +17518,9 @@ SELECT f1;
END//
CALL sp28(1.00e+00);
f1
-1
+0000000000000000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp29;
CREATE PROCEDURE sp29( f1 float)
BEGIN
@@ -16223,7 +17538,9 @@ SELECT f1;
END//
CALL sp30(1.00e+00);
f1
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp31;
CREATE PROCEDURE sp31( f1 float unsigned zerofill)
BEGIN
@@ -16232,7 +17549,9 @@ SELECT f1;
END//
CALL sp31(1.00e+00);
f1
-1
+000000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp32;
CREATE PROCEDURE sp32( f1 float zerofill)
BEGIN
@@ -16241,7 +17560,9 @@ SELECT f1;
END//
CALL sp32(1.00e+00);
f1
-1
+000000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp33;
CREATE PROCEDURE sp33( f1 float(0))
BEGIN
@@ -16259,7 +17580,9 @@ SELECT f1;
END//
CALL sp34(1.00e+00);
f1
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp35;
CREATE PROCEDURE sp35( f1 float(0) unsigned zerofill)
BEGIN
@@ -16268,7 +17591,9 @@ SELECT f1;
END//
CALL sp35(1.00e+00);
f1
-1
+000000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp36;
CREATE PROCEDURE sp36( f1 float(0) zerofill)
BEGIN
@@ -16277,7 +17602,9 @@ SELECT f1;
END//
CALL sp36(1.00e+00);
f1
-1
+000000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp37;
CREATE PROCEDURE sp37( f1 float(23))
BEGIN
@@ -16295,7 +17622,9 @@ SELECT f1;
END//
CALL sp38(1.00e+00);
f1
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp39;
CREATE PROCEDURE sp39( f1 float(23) unsigned zerofill)
BEGIN
@@ -16304,7 +17633,9 @@ SELECT f1;
END//
CALL sp39(1.00e+00);
f1
-1
+000000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp40;
CREATE PROCEDURE sp40( f1 float(23) zerofill)
BEGIN
@@ -16313,7 +17644,9 @@ SELECT f1;
END//
CALL sp40(1.00e+00);
f1
-1
+000000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp41;
CREATE PROCEDURE sp41( f1 float(24))
BEGIN
@@ -16331,7 +17664,9 @@ SELECT f1;
END//
CALL sp42(1.00e+00);
f1
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp43;
CREATE PROCEDURE sp43( f1 float(24) unsigned zerofill)
BEGIN
@@ -16340,7 +17675,9 @@ SELECT f1;
END//
CALL sp43(1.00e+00);
f1
-1
+000000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp44;
CREATE PROCEDURE sp44( f1 float(24) zerofill)
BEGIN
@@ -16349,7 +17686,9 @@ SELECT f1;
END//
CALL sp44(1.00e+00);
f1
-1
+000000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp45;
CREATE PROCEDURE sp45( f1 float(53))
BEGIN
@@ -16367,7 +17706,9 @@ SELECT f1;
END//
CALL sp46(1.00e+00);
f1
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp47;
CREATE PROCEDURE sp47( f1 float(53) unsigned zerofill)
BEGIN
@@ -16376,7 +17717,9 @@ SELECT f1;
END//
CALL sp47(1.00e+00);
f1
-1
+0000000000000000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp48;
CREATE PROCEDURE sp48( f1 float(53) zerofill)
BEGIN
@@ -16385,7 +17728,9 @@ SELECT f1;
END//
CALL sp48(1.00e+00);
f1
-1
+0000000000000000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp49;
CREATE PROCEDURE sp49( f1 int)
BEGIN
@@ -16394,7 +17739,10 @@ SELECT f1;
END//
CALL sp49(-2.15e+09);
f1
--2150000000
+-2147483638
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp50;
CREATE PROCEDURE sp50( f1 int unsigned)
BEGIN
@@ -16421,7 +17769,7 @@ SELECT f1;
END//
CALL sp52(2.15e+08);
f1
-215000000
+0215000000
DROP PROCEDURE IF EXISTS sp53;
CREATE PROCEDURE sp53( f1 mediumint)
BEGIN
@@ -16430,7 +17778,9 @@ SELECT f1;
END//
CALL sp53(-8388600);
f1
--8388600
+-8388598
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp54;
CREATE PROCEDURE sp54( f1 mediumint unsigned)
BEGIN
@@ -16457,7 +17807,11 @@ SELECT f1;
END//
CALL sp56(-8388601);
f1
--8388602
+16777215
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp57;
CREATE PROCEDURE sp57( f1 numeric)
BEGIN
@@ -16466,7 +17820,9 @@ SELECT f1;
END//
CALL sp57(-999999999);
f1
--999999999.000000000
+-1000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp58;
CREATE PROCEDURE sp58( f1 numeric (0))
BEGIN
@@ -16475,7 +17831,9 @@ SELECT f1;
END//
CALL sp58(-999999999);
f1
--999999999.000000000
+-1000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp59;
CREATE PROCEDURE sp59( f1 numeric (0) unsigned)
BEGIN
@@ -16484,7 +17842,10 @@ SELECT f1;
END//
CALL sp59(9999999999);
f1
-9999999999.000000000
+9999999999
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp60;
CREATE PROCEDURE sp60( f1 numeric (0) unsigned zerofill)
BEGIN
@@ -16493,7 +17854,9 @@ SELECT f1;
END//
CALL sp60(99999999);
f1
-99999999.000000000
+0100000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp61;
CREATE PROCEDURE sp61( f1 numeric (0) zerofill)
BEGIN
@@ -16502,7 +17865,10 @@ SELECT f1;
END//
CALL sp61(-99999999);
f1
--99999999.000000000
+0000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp62;
CREATE PROCEDURE sp62( f1 numeric (0, 0))
BEGIN
@@ -16511,7 +17877,9 @@ SELECT f1;
END//
CALL sp62(-999999999);
f1
--999999999.000000000
+-1000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp63;
CREATE PROCEDURE sp63( f1 numeric (0, 0) unsigned)
BEGIN
@@ -16520,7 +17888,10 @@ SELECT f1;
END//
CALL sp63(9999999999);
f1
-9999999999.000000000
+9999999999
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp64;
CREATE PROCEDURE sp64( f1 numeric (0, 0) unsigned zerofill)
BEGIN
@@ -16529,7 +17900,9 @@ SELECT f1;
END//
CALL sp64(99999999);
f1
-99999999.000000000
+0100000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp65;
CREATE PROCEDURE sp65( f1 numeric (0, 0) zerofill)
BEGIN
@@ -16538,79 +17911,146 @@ SELECT f1;
END//
CALL sp65(-99999999);
f1
--99999999.000000000
+0000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp66_n;
CREATE PROCEDURE sp66_n( f1 numeric (63, 30))
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
+CALL sp66_n(-1e+36);
+f1
+-999999999999999999999999999999989.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
CALL sp66_n( -1000000000000000000000000000000000000 );
f1
--1000000000000000000000000000000000000.000000000
+-999999999999999999999999999999989.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp67_nu;
CREATE PROCEDURE sp67_nu( f1 numeric (63, 30) unsigned)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
+CALL sp67_nu(1e+36);
+f1
+999999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
CALL sp67_nu( 1000000000000000000000000000000000000 );
f1
-1000000000000000000000000000000000000.000000000
+999999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp68_nuz;
CREATE PROCEDURE sp68_nuz( f1 numeric (63, 30) unsigned zerofill)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
+CALL sp68_nuz(1e+36);
+f1
+999999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
CALL sp68_nuz( 1000000000000000000000000000000000000 );
f1
-1000000000000000000000000000000000000.000000000
+999999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp69_n_z;
CREATE PROCEDURE sp69_n_z( f1 numeric (63, 30) zerofill)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
+CALL sp69_n_z(-1e+36);
+f1
+000000000000000000000000000000010.000000000000000000000000000000
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
CALL sp69_n_z( -1000000000000000000000000000000000000 );
f1
--1000000000000000000000000000000000000.000000000
+000000000000000000000000000000010.000000000000000000000000000000
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp70_n;
CREATE PROCEDURE sp70_n( f1 numeric (64))
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
+CALL sp70_n(-1e+40);
+f1
+-10000000000000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
CALL sp70_n( -10000000000000000000000000000000000000000 );
f1
--10000000000000000000000000000000000000000.000000000
+-10000000000000000000000000000000000000000
DROP PROCEDURE IF EXISTS sp71_nu;
CREATE PROCEDURE sp71_nu( f1 numeric (64) unsigned)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
+CALL sp71_nu(1.00e+40);
+f1
+10000000000000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
CALL sp71_nu( 10000000000000000000000000000000000000000 );
f1
-10000000000000000000000000000000000000000.000000000
+10000000000000000000000000000000000000000
DROP PROCEDURE IF EXISTS sp72_nuz;
CREATE PROCEDURE sp72_nuz( f1 numeric (64) unsigned zerofill)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
+CALL sp72_nuz(1.00e+40);
+f1
+0000000000000000000000010000000000000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
CALL sp72_nuz( 10000000000000000000000000000000000000000 );
f1
-10000000000000000000000000000000000000000.000000000
+0000000000000000000000010000000000000000000000000000000000000000
DROP PROCEDURE IF EXISTS sp73_n_z;
CREATE PROCEDURE sp73_n_z( f1 numeric (64) zerofill)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
+CALL sp73_n_z(1.00e+40);
+f1
+0000000000000000000000010000000000000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
CALL sp73_n_z( 10000000000000000000000000000000000000000 );
f1
-10000000000000000000000000000000000000000.000000000
+0000000000000000000000010000000000000000000000000000000000000000
DROP PROCEDURE IF EXISTS sp74;
CREATE PROCEDURE sp74( f1 numeric unsigned)
BEGIN
@@ -16619,7 +18059,9 @@ SELECT f1;
END//
CALL sp74(999999999);
f1
-999999999.000000000
+1000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp75;
CREATE PROCEDURE sp75( f1 numeric unsigned zerofill)
BEGIN
@@ -16628,7 +18070,9 @@ SELECT f1;
END//
CALL sp75(999999999);
f1
-999999999.000000000
+1000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp76;
CREATE PROCEDURE sp76( f1 numeric zerofill)
BEGIN
@@ -16637,7 +18081,10 @@ SELECT f1;
END//
CALL sp76(-999999999);
f1
--999999999.000000000
+0000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp77;
CREATE PROCEDURE sp77( f1 real)
BEGIN
@@ -16646,7 +18093,7 @@ SELECT f1;
END//
CALL sp77(1.1);
f1
-1.10000
+1.1
DROP PROCEDURE IF EXISTS sp78;
CREATE PROCEDURE sp78( f1 real unsigned)
BEGIN
@@ -16655,7 +18102,9 @@ SELECT f1;
END//
CALL sp78(1.1);
f1
-1.10000
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp79;
CREATE PROCEDURE sp79( f1 real unsigned zerofill)
BEGIN
@@ -16664,7 +18113,9 @@ SELECT f1;
END//
CALL sp79(1.1);
f1
-1.10000
+0000000000000000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp80;
CREATE PROCEDURE sp80( f1 real zerofill)
BEGIN
@@ -16673,7 +18124,9 @@ SELECT f1;
END//
CALL sp80(1.1);
f1
-1.10000
+0000000000000000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp81;
CREATE PROCEDURE sp81( f1 smallint)
BEGIN
@@ -16709,7 +18162,11 @@ SELECT f1;
END//
CALL sp84(-32601);
f1
--32602
+65535
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp85;
CREATE PROCEDURE sp85( f1 tinyint)
BEGIN
@@ -16745,9 +18202,23 @@ SELECT f1;
END//
CALL sp88(-101);
f1
--102
+255
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp89;
+CREATE PROCEDURE sp89( f1 enum('1enum', '2enum'))
+BEGIN
+IF f1 = '1enum' THEN set f1 = '2enum'; ELSE set f1 = '1enum'; END IF;
+END//
+CALL sp89( '1enum');
DROP PROCEDURE IF EXISTS sp90;
+CREATE PROCEDURE sp90( f1 set('1set', '2set'))
+BEGIN
+IF f1 = '1set' THEN set f1 = '2set'; ELSE set f1 = '1set'; END IF;
+END//
+CALL sp90( '1set');
DROP PROCEDURE IF EXISTS sp91;
CREATE PROCEDURE sp91( f1 date)
BEGIN
@@ -16765,7 +18236,7 @@ SELECT f1;
END//
CALL sp92( '23:59:59.999999');
f1
-26:00:00.999997
+25:59:59
DROP PROCEDURE IF EXISTS sp93;
CREATE PROCEDURE sp93( f1 datetime)
BEGIN
@@ -16774,7 +18245,7 @@ SELECT f1;
END//
CALL sp93('1997-12-31 23:59:59.999999');
f1
-1998-01-02 01:01:01.000001
+1998-01-02 01:01:00
DROP PROCEDURE IF EXISTS sp94;
CREATE PROCEDURE sp94( f1 char)
BEGIN
@@ -16783,7 +18254,9 @@ SELECT f1;
END//
CALL sp94( 'h');
f1
-ah
+a
+Warnings:
+Warning 1265 Data truncated for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp95;
CREATE PROCEDURE sp95( f1 char ascii)
BEGIN
@@ -16792,7 +18265,9 @@ SELECT f1;
END//
CALL sp95( 'h');
f1
-ah
+a
+Warnings:
+Warning 1265 Data truncated for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp96;
CREATE PROCEDURE sp96( f1 char binary)
BEGIN
@@ -16801,7 +18276,9 @@ SELECT f1;
END//
CALL sp96( 'h');
f1
-ah
+a
+Warnings:
+Warning 1265 Data truncated for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp97;
CREATE PROCEDURE sp97( f1 longtext)
BEGIN
@@ -16846,7 +18323,7 @@ SELECT f1;
END//
CALL sp101(51);
f1
-61
+2061
DROP PROCEDURE IF EXISTS sp102;
CREATE PROCEDURE sp102( f1 year(4))
BEGIN
@@ -16901,6 +18378,8 @@ END//
CALL sp107(2.00e+13);
f1
returned
+Warnings:
+returned 1265 Data truncated for column 'f1' at row 1
USE db_storedproc;
DROP DATABASE db1;
DROP DATABASE IF EXISTS db1;
@@ -16937,9 +18416,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute01();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-61 61 71 61 61 71 2033 2033 2084 2033 2033 2084
+2061 2061 2071 2061 2061 2071 2033 2033 2084 2033 2033 2084
var1 var2 var3 var4 var5 var6 var7 var8
-61 71 61 71 2033 2084 2033 2084
+2061 2071 2061 2071 2033 2084 2033 2084
DROP PROCEDURE spexecute01;
DROP PROCEDURE sp1;
DROP PROCEDURE IF EXISTS sp2;
@@ -17010,9 +18489,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute03();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-ah ah aah ah ah aah helloworld helloworld NULL helloworld helloworld hellohelloworld
+a a a a a a helloworld helloworld NULL helloworld helloworld hellohelloworld
var1 var2 var3 var4 var5 var6 var7 var8
-ah aah ah aah helloworld NULL helloworld hellohelloworld
+a a a a helloworld NULL helloworld hellohelloworld
DROP PROCEDURE spexecute03;
DROP PROCEDURE sp3;
DROP PROCEDURE IF EXISTS sp4;
@@ -17155,7 +18634,7 @@ SELECT var7, var8;
END//
CALL spexecute07();
var1 var2
-9223372036854775807 NULL
+18400000000000000000 NULL
var3 var4
-9220000000000000000 NULL
var5 var6
@@ -17163,7 +18642,7 @@ var5 var6
var7 var8
-9220000000000000000 NULL
f1 f2 f3
-9223372036854775807 9223372036854775807 NULL
+18400000000000000000 18400000000000000000 NULL
f4 f5 f6
-9220000000000000000 -9220000000000000000 NULL
f7 f8 f9
@@ -17171,7 +18650,7 @@ f7 f8 f9
f10 f11 f12
-9220000000000000000 -9220000000000000000 NULL
f1 f2 f3
--2 -2 -2
+18353255926290448384 18353255926290448384 18353255926290448384
f4 f5 f6
-9220000000000000000 6744073709551616 6744073709551616
f7 f8 f9
@@ -17179,7 +18658,7 @@ f7 f8 f9
f10 f11 f12
-9220000000000000000 6744073709551616 6744073709551616
var1 var2
--2 -2
+18353255926290448384 18353255926290448384
var3 var4
6744073709551616 6744073709551616
var5 var6
@@ -17237,9 +18716,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute08();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-368000000000000000 368000000000000000 368000000000000010 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+00368000000000000000 00368000000000000000 00368000000000000010 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-368000000000000000 368000000000000010 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+00368000000000000000 00368000000000000010 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute08;
DROP PROCEDURE sp8;
DROP PROCEDURE IF EXISTS sp9;
@@ -17291,9 +18770,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute09();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--18440000000000000 -18440000000000000 -18439999999999990 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+00000000000000000000 00000000000000000000 00000000000000000010 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--18440000000000000 -18439999999999990 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+00000000000000000000 00000000000000000010 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute09;
DROP PROCEDURE sp9;
DROP PROCEDURE IF EXISTS sp10;
@@ -17337,9 +18816,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute10();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--1000000000.000000000 -1000000000.000000000 -999999990.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+-1000000000 -1000000000 -999999990 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--1000000000.000000000 -999999990.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+-1000000000 -999999990 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute10;
DROP PROCEDURE sp10;
DROP PROCEDURE IF EXISTS sp11;
@@ -17372,9 +18851,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute11();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1000000000.000000000 1000000000.000000000 1000000010.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+1000000000 1000000000 1000000010 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1000000000.000000000 1000000010.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+1000000000 1000000010 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute11;
DROP PROCEDURE sp11;
DROP PROCEDURE IF EXISTS sp12;
@@ -17407,9 +18886,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute12();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-99999999999.000000000 99999999999.000000000 100000000009.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+9999999999 9999999999 9999999999 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-99999999999.000000000 100000000009.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+9999999999 9999999999 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute12;
DROP PROCEDURE sp12;
DROP PROCEDURE IF EXISTS sp13;
@@ -17442,9 +18921,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute13();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--1000000000.000000000 -1000000000.000000000 -999999990.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000010 0000000010 0000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--1000000000.000000000 -999999990.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000010 0000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute13;
DROP PROCEDURE sp13;
DROP PROCEDURE IF EXISTS sp14;
@@ -17477,9 +18956,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute14();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--1000000000000000000000.000000000 -1000000000000000000000.000000000 -999999999999999999990.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+-1000000000000000000000.000000000000000000000000000000 -1000000000000000000000.000000000000000000000000000000 -999999999999999999990.000000000000000000000000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--1000000000000000000000.000000000 -999999999999999999990.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+-1000000000000000000000.000000000000000000000000000000 -999999999999999999990.000000000000000000000000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute14;
DROP PROCEDURE sp14;
DROP PROCEDURE IF EXISTS sp15;
@@ -17545,9 +19024,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute16();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000000000000000010 0000000000000000000010 0000000000000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000000000000000010 0000000000000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute16;
DROP PROCEDURE sp16;
DROP PROCEDURE IF EXISTS sp17;
@@ -17579,9 +19058,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute17();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+10 10 20 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+10 20 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute17;
DROP PROCEDURE sp17;
DROP PROCEDURE IF EXISTS sp18;
@@ -17613,9 +19092,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute18();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000000000000000010 0000000000000000000010 0000000000000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000000000000000010 0000000000000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute18;
DROP PROCEDURE sp18;
DROP PROCEDURE IF EXISTS sp19;
@@ -17647,9 +19126,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute19();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+10 10 20 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+10 20 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute19;
DROP PROCEDURE sp19;
DROP PROCEDURE IF EXISTS sp20;
@@ -17681,9 +19160,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute20();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+000000000010 000000000010 000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+000000000010 000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute20;
DROP PROCEDURE sp20;
DROP PROCEDURE IF EXISTS sp21;
@@ -17715,9 +19194,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute21();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+000000000010 000000000010 000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+000000000010 000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute21;
DROP PROCEDURE sp21;
DROP PROCEDURE IF EXISTS sp22;
@@ -17783,9 +19262,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute23();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--999999999.000000000 -999999999.000000000 -999999989.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+-1000000000 -1000000000 -999999990 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--999999999.000000000 -999999989.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+-1000000000 -999999990 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute23;
DROP PROCEDURE sp23;
DROP PROCEDURE IF EXISTS sp24;
@@ -17817,9 +19296,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute24();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1.10000 1.10000 11.10000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+1.1 1.1 11.1 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1.10000 11.10000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+1.1 11.1 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute24;
DROP PROCEDURE sp24;
DROP PROCEDURE IF EXISTS sp25;
@@ -17851,9 +19330,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute25();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--65402 -65402 -65392 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+-32758 -32758 -32748 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--65402 -65392 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+-32758 -32748 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute25;
DROP PROCEDURE sp25;
DROP PROCEDURE IF EXISTS sp26;
@@ -17919,9 +19398,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute27();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-26:00:00.999997 26:00:00.999997 28:00:01.999995 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+25:59:59 25:59:59 27:59:59 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-26:00:00.999997 28:00:01.999995 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+25:59:59 27:59:59 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute27;
DROP PROCEDURE sp27;
DROP PROCEDURE IF EXISTS sp28;
@@ -17953,9 +19432,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute28();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1998-01-02 01:01:01.000001 1998-01-02 01:01:01.000001 1998-01-03 02:02:02.000003 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+1998-01-02 01:01:00 1998-01-02 01:01:00 1998-01-03 02:02:01 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1998-01-02 01:01:01.000001 1998-01-03 02:02:02.000003 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+1998-01-02 01:01:00 1998-01-03 02:02:01 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute28;
DROP PROCEDURE sp28;
DROP PROCEDURE IF EXISTS sp29;
@@ -17987,9 +19466,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute29();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+10 10 20 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+10 20 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute29;
DROP PROCEDURE sp29;
DROP PROCEDURE IF EXISTS sp30;
@@ -18021,9 +19500,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute30();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+000000000010 000000000010 000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+000000000010 000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute30;
DROP PROCEDURE sp30;
DROP PROCEDURE IF EXISTS sp31;
@@ -18089,9 +19568,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute32();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+10 10 20 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+10 20 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute32;
DROP PROCEDURE sp32;
DROP PROCEDURE IF EXISTS sp33;
@@ -18123,9 +19602,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute33();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+000000000010 000000000010 000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+000000000010 000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute33;
DROP PROCEDURE sp33;
DROP PROCEDURE IF EXISTS sp34;
@@ -18191,9 +19670,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute35();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+10 10 20 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+10 20 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute35;
DROP PROCEDURE sp35;
DROP PROCEDURE IF EXISTS sp36;
@@ -18225,9 +19704,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute36();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+000000000010 000000000010 000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+000000000010 000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute36;
DROP PROCEDURE sp36;
DROP PROCEDURE IF EXISTS sp37;
@@ -18293,9 +19772,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute38();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+10 10 20 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+10 20 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute38;
DROP PROCEDURE sp38;
DROP PROCEDURE IF EXISTS sp39;
@@ -18327,9 +19806,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute39();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000000000000000010 0000000000000000000010 0000000000000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000000000000000010 0000000000000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute39;
DROP PROCEDURE sp39;
DROP PROCEDURE IF EXISTS sp40;
@@ -18361,9 +19840,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute40();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1.10000 1.10000 11.10000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+10 10 20 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1.10000 11.10000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+10 20 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute40;
DROP PROCEDURE sp40;
DROP PROCEDURE IF EXISTS sp41;
@@ -18395,9 +19874,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute41();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1.10000 1.10000 11.10000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000000000000000010 0000000000000000000010 0000000000000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1.10000 11.10000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000000000000000010 0000000000000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute41;
DROP PROCEDURE sp41;
DROP PROCEDURE IF EXISTS sp42;
@@ -18429,9 +19908,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute42();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1.10000 1.10000 11.10000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000000000000000010 0000000000000000000010 0000000000000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1.10000 11.10000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000000000000000010 0000000000000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute42;
DROP PROCEDURE sp42;
DROP PROCEDURE IF EXISTS sp43;
@@ -18463,9 +19942,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute43();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--999999999.000000000 -999999999.000000000 -999999989.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+-1000000000 -1000000000 -999999990 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--999999999.000000000 -999999989.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+-1000000000 -999999990 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute43;
DROP PROCEDURE sp43;
DROP PROCEDURE IF EXISTS sp44;
@@ -18497,9 +19976,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute44();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-9999999999.000000000 9999999999.000000000 10000000009.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+9999999999 9999999999 9999999999 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-9999999999.000000000 10000000009.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+9999999999 9999999999 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute44;
DROP PROCEDURE sp44;
DROP PROCEDURE IF EXISTS sp45;
@@ -18531,9 +20010,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute45();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--99999999.000000000 -99999999.000000000 -99999989.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000010 0000000010 0000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--99999999.000000000 -99999989.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000010 0000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute45;
DROP PROCEDURE sp45;
DROP PROCEDURE IF EXISTS sp46;
@@ -18565,9 +20044,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute46();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--999999999.000000000 -999999999.000000000 -999999989.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+-1000000000 -1000000000 -999999990 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--999999999.000000000 -999999989.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+-1000000000 -999999990 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute46;
DROP PROCEDURE sp46;
DROP PROCEDURE IF EXISTS sp47;
@@ -18599,9 +20078,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute47();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-9999999999.000000000 9999999999.000000000 10000000009.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+9999999999 9999999999 9999999999 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-9999999999.000000000 10000000009.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+9999999999 9999999999 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute47;
DROP PROCEDURE sp47;
DROP PROCEDURE IF EXISTS sp48;
@@ -18633,9 +20112,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute48();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--99999999.000000000 -99999999.000000000 -99999989.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000010 0000000010 0000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--99999999.000000000 -99999989.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000010 0000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute48;
DROP PROCEDURE sp48;
DROP PROCEDURE IF EXISTS sp49;
@@ -18667,9 +20146,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute49();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--999999999.000000000 -999999999.000000000 -999999989.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+10 10 20 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--999999999.000000000 -999999989.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+10 20 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute49;
DROP PROCEDURE sp49;
DROP PROCEDURE IF EXISTS sp50;
@@ -18701,9 +20180,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute50();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-9999999999.000000000 9999999999.000000000 10000000009.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+9999999999 9999999999 9999999999 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-9999999999.000000000 10000000009.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+9999999999 9999999999 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute50;
DROP PROCEDURE sp50;
DROP PROCEDURE IF EXISTS sp51;
@@ -18735,9 +20214,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute51();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--99999999.000000000 -99999999.000000000 -99999989.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000010 0000000010 0000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--99999999.000000000 -99999989.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000010 0000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute51;
DROP PROCEDURE sp51;
DROP PROCEDURE IF EXISTS sp52;
@@ -18769,9 +20248,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute52();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--100000000000000000000.000000000 -10000000000000000000000.000000000 -99999999999999999990.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+-100000000000000000000.000000000000000000000000000000 -10000000000000000000000.000000000000000000000000000000 -99999999999999999990.000000000000000000000000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--10000000000000000000000.000000000 -99999999999999999990.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+-10000000000000000000000.000000000000000000000000000000 -99999999999999999990.000000000000000000000000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute52;
DROP PROCEDURE sp52;
DROP PROCEDURE IF EXISTS sp53;
@@ -18803,9 +20282,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute53();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--100000000000000000000.000000000 -10000000000000000000000.000000000 -99999999999999999990.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+-100000000000000000000 -10000000000000000000000 -99999999999999999990 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--10000000000000000000000.000000000 -99999999999999999990.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+-10000000000000000000000 -99999999999999999990 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute53;
DROP PROCEDURE sp53;
DROP PROCEDURE IF EXISTS sp54;
@@ -18837,9 +20316,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute54();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-100000000000000000000.000000000 10000000000000000000000.000000000 100000000000000000010.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+100000000000000000000 10000000000000000000000 100000000000000000010 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-10000000000000000000000.000000000 100000000000000000010.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+10000000000000000000000 100000000000000000010 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute54;
DROP PROCEDURE sp54;
DROP PROCEDURE IF EXISTS sp55;
@@ -18871,9 +20350,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute55();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--100000000000000000000.000000000 -10000000000000000000000.000000000 -99999999999999999990.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000000000000000000000000000000000000000000000000000000000010 0000000000000000000000000000000000000000000000000000000000000010 0000000000000000000000000000000000000000000000000000000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--10000000000000000000000.000000000 -99999999999999999990.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000000000000000000000000000000000000000000000000000000000010 0000000000000000000000000000000000000000000000000000000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute55;
DROP PROCEDURE sp55;
DROP PROCEDURE IF EXISTS sp56;
@@ -18905,9 +20384,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute56();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-61 61 71 61 61 71 61 61 71 61 61 71
+2061 2061 2071 2061 2061 2071 2061 2061 2071 2061 2061 2071
var1 var2 var3 var4 var5 var6 var7 var8
-61 71 61 71 61 71 61 71
+2061 2071 2061 2071 2061 2071 2061 2071
DROP PROCEDURE spexecute56;
DROP PROCEDURE sp56;
DROP PROCEDURE IF EXISTS sp57;
@@ -19041,9 +20520,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute60();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-ah ah aah ah ah aah ah ah aah ah ah aah
+a a a a a a a a a a a a
var1 var2 var3 var4 var5 var6 var7 var8
-ah aah ah aah ah aah ah aah
+a a a a a a a a
DROP PROCEDURE spexecute60;
DROP PROCEDURE sp60;
DROP PROCEDURE IF EXISTS sp61;
@@ -19075,9 +20554,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute61();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-ah ah aah ah ah aah ah ah NULL ah ah aah
+a a a a a a a a NULL a a a
var1 var2 var3 var4 var5 var6 var7 var8
-ah aah ah aah ah NULL ah aah
+a a a a a NULL a a
DROP PROCEDURE spexecute61;
DROP PROCEDURE sp61;
DROP PROCEDURE IF EXISTS sp62;
@@ -19177,9 +20656,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute64();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1000000000.000000000 1000000000.000000000 1000000010.000000000 1000000000.000000000 1000000000.000000000 1000000010.000000000 1000000000.000000000 1000000000.000000000 1000000010.000000000 1000000000.000000000 1000000000.000000000 1000000010.000000000
+1000000000 1000000000 1000000010 1000000000 1000000000 1000000010 1000000000 1000000000 1000000010 1000000000 1000000000 1000000010
var1 var2 var3 var4 var5 var6 var7 var8
-1000000000.000000000 1000000010.000000000 1000000000.000000000 1000000010.000000000 1000000000.000000000 1000000010.000000000 1000000000.000000000 1000000010.000000000
+1000000000 1000000010 1000000000 1000000010 1000000000 1000000010 1000000000 1000000010
DROP PROCEDURE spexecute64;
DROP PROCEDURE sp64;
DROP PROCEDURE IF EXISTS sp65;
@@ -19211,9 +20690,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute65();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-999999999.000000000 999999999.000000000 1000000009.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+1000000000 1000000000 1000000010 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-999999999.000000000 1000000009.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+1000000000 1000000010 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute65;
DROP PROCEDURE sp65;
DROP PROCEDURE IF EXISTS sp66;
@@ -19245,9 +20724,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute66();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-10000000000000000.000000000 10000000000000000.000000000 10000000000000010.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+10000000000000000.000000000000000000000000000000 10000000000000000.000000000000000000000000000000 10000000000000010.000000000000000000000000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-10000000000000000.000000000 10000000000000010.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+10000000000000000.000000000000000000000000000000 10000000000000010.000000000000000000000000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute66;
DROP PROCEDURE sp66;
DROP PROCEDURE IF EXISTS sp67;
@@ -19279,9 +20758,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute67();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-10000000000000000.000000000 10000000000000000.000000000 10000000000000010.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+000000000000000010000000000000000.000000000000000000000000000000 000000000000000010000000000000000.000000000000000000000000000000 000000000000000010000000000000010.000000000000000000000000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-10000000000000000.000000000 10000000000000010.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+000000000000000010000000000000000.000000000000000000000000000000 000000000000000010000000000000010.000000000000000000000000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute67;
DROP PROCEDURE sp67;
DROP PROCEDURE IF EXISTS sp68;
@@ -19313,9 +20792,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute68();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--1000000000000000000000.000000000 -1000000000000000000000.000000000 -999999999999999999990.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+000000000000000000000000000000010.000000000000000000000000000000 000000000000000000000000000000010.000000000000000000000000000000 000000000000000000000000000000020.000000000000000000000000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--1000000000000000000000.000000000 -999999999999999999990.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+000000000000000000000000000000010.000000000000000000000000000000 000000000000000000000000000000020.000000000000000000000000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute68;
DROP PROCEDURE sp68;
DROP PROCEDURE IF EXISTS sp69;
@@ -19347,9 +20826,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute69();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--100000000000000000000.000000000 -10000000000000000000000.000000000 -99999999999999999990.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+-100000000000000000000 -10000000000000000000000 -99999999999999999990 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--10000000000000000000000.000000000 -99999999999999999990.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+-10000000000000000000000 -99999999999999999990 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute69;
DROP PROCEDURE sp69;
DROP PROCEDURE IF EXISTS sp70;
@@ -19381,9 +20860,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute70();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-100000000000000000000.000000000 10000000000000000000000.000000000 100000000000000000010.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+100000000000000000000 10000000000000000000000 100000000000000000010 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-10000000000000000000000.000000000 100000000000000000010.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+10000000000000000000000 100000000000000000010 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute70;
DROP PROCEDURE sp70;
DROP PROCEDURE IF EXISTS sp71;
@@ -19415,9 +20894,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute71();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-100000000000000000000.000000000 10000000000000000000000.000000000 100000000000000000010.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000000000000000000000000000000000000000100000000000000000000 0000000000000000000000000000000000000000010000000000000000000000 0000000000000000000000000000000000000000000100000000000000000010 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-10000000000000000000000.000000000 100000000000000000010.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000000000000000000000000000000000000010000000000000000000000 0000000000000000000000000000000000000000000100000000000000000010 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute71;
DROP PROCEDURE sp71;
DROP PROCEDURE IF EXISTS sp72;
@@ -19449,9 +20928,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute72();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1.000000000 1.000000000 11.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000000000000000000000000000000000000000000000000000000000010 0000000000000000000000000000000000000000000000000000000000000010 0000000000000000000000000000000000000000000000000000000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1.000000000 11.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000000000000000000000000000000000000000000000000000000000010 0000000000000000000000000000000000000000000000000000000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute72;
DROP PROCEDURE sp72;
DROP PROCEDURE IF EXISTS sp73;
@@ -19483,9 +20962,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute73();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1.000000000 1.000000000 11.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+10 10 20 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1.000000000 11.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+10 20 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute73;
DROP PROCEDURE sp73;
DROP PROCEDURE IF EXISTS sp74;
@@ -19517,9 +20996,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute74();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1.000000000 1.000000000 11.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000010 0000000010 0000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1.000000000 11.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000010 0000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute74;
DROP PROCEDURE sp74;
DROP PROCEDURE IF EXISTS sp75;
@@ -19551,9 +21030,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute75();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--1000000000.000000000 -1000000000.000000000 -999999990.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000010 0000000010 0000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--1000000000.000000000 -999999990.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000010 0000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute75;
DROP PROCEDURE sp75;
DROP PROCEDURE IF EXISTS sp76;
@@ -19585,9 +21064,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute76();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+000000000010 000000000010 000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+000000000010 000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute76;
DROP PROCEDURE sp76;
DROP PROCEDURE IF EXISTS sp77;
@@ -19619,9 +21098,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute77();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+000000000010 000000000010 000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+000000000010 000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute77;
DROP PROCEDURE sp77;
DROP PROCEDURE IF EXISTS sp78;
@@ -19653,9 +21132,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute78();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+000000000010 000000000010 000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+000000000010 000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute78;
DROP PROCEDURE sp78;
DROP PROCEDURE IF EXISTS sp79;
@@ -19687,9 +21166,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute79();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000000000000000010 0000000000000000000010 0000000000000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000000000000000010 0000000000000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute79;
DROP PROCEDURE sp79;
DROP PROCEDURE IF EXISTS sp80;
@@ -19721,9 +21200,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute80();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--2150000000 -2150000000 -2149999990 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+-2147483638 -2147483638 -2147483628 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--2150000000 -2149999990 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+-2147483638 -2147483628 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute80;
DROP PROCEDURE sp80;
DROP PROCEDURE IF EXISTS sp81;
@@ -19823,9 +21302,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute83();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-215000000 215000000 215000010 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0215000000 0215000000 0215000010 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-215000000 215000010 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0215000000 0215000010 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute83;
DROP PROCEDURE sp83;
DROP PROCEDURE IF EXISTS sp84;
@@ -19857,9 +21336,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute84();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--8388600 -8388600 -8388590 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+-8388598 -8388598 -8388588 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--8388600 -8388590 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+-8388598 -8388588 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute84;
DROP PROCEDURE sp84;
DROP PROCEDURE IF EXISTS sp85;
@@ -19925,9 +21404,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute86();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-16777210 16777210 16777220 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+16777210 16777210 16777215 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-16777210 16777220 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+16777210 16777215 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute86;
DROP PROCEDURE sp86;
DROP PROCEDURE IF EXISTS sp87;
@@ -19959,9 +21438,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute87();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--8388602 -8388602 -8388592 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+16777215 16777215 16777215 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--8388602 -8388592 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+16777215 16777215 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute87;
DROP PROCEDURE sp87;
DROP PROCEDURE IF EXISTS sp88;
@@ -19993,9 +21472,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute88();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-99999999.000000000 99999999.000000000 100000009.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0100000000 0100000000 0100000010 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-99999999.000000000 100000009.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0100000000 0100000010 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute88;
DROP PROCEDURE sp88;
DROP PROCEDURE IF EXISTS sp89;
@@ -20027,9 +21506,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute89();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-99999999.000000000 99999999.000000000 100000009.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0100000000 0100000000 0100000010 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-99999999.000000000 100000009.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0100000000 0100000010 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute89;
DROP PROCEDURE sp89;
DROP PROCEDURE IF EXISTS sp90;
@@ -20061,9 +21540,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute90();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-100000000000000000000.000000000 10000000000000000000000.000000000 100000000000000000010.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+100000000000000000000.000000000000000000000000000000 10000000000000000000000.000000000000000000000000000000 100000000000000000010.000000000000000000000000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-10000000000000000000000.000000000 100000000000000000010.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+10000000000000000000000.000000000000000000000000000000 100000000000000000010.000000000000000000000000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute90;
DROP PROCEDURE sp90;
DROP PROCEDURE IF EXISTS sp91;
@@ -20095,9 +21574,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute91();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-100000000000000000000.000000000 10000000000000000000000.000000000 100000000000000000010.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+000000000000100000000000000000000.000000000000000000000000000000 000000000010000000000000000000000.000000000000000000000000000000 000000000000100000000000000000010.000000000000000000000000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-10000000000000000000000.000000000 100000000000000000010.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+000000000010000000000000000000000.000000000000000000000000000000 000000000000100000000000000000010.000000000000000000000000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute91;
DROP PROCEDURE sp91;
DROP PROCEDURE IF EXISTS sp92;
@@ -20129,9 +21608,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute92();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--100000000000000000000.000000000 -10000000000000000000000.000000000 -99999999999999999990.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+000000000000000000000000000000010.000000000000000000000000000000 000000000000000000000000000000010.000000000000000000000000000000 000000000000000000000000000000020.000000000000000000000000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--10000000000000000000000.000000000 -99999999999999999990.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+000000000000000000000000000000010.000000000000000000000000000000 000000000000000000000000000000020.000000000000000000000000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute92;
DROP PROCEDURE sp92;
DROP PROCEDURE IF EXISTS sp93;
@@ -20163,9 +21642,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute93();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-100000000000000000000.000000000 10000000000000000000000.000000000 100000000000000000010.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000000000000000000000000000000000000000100000000000000000000 0000000000000000000000000000000000000000010000000000000000000000 0000000000000000000000000000000000000000000100000000000000000010 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-10000000000000000000000.000000000 100000000000000000010.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000000000000000000000000000000000000010000000000000000000000 0000000000000000000000000000000000000000000100000000000000000010 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute93;
DROP PROCEDURE sp93;
DROP PROCEDURE IF EXISTS sp94;
@@ -20231,9 +21710,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute95();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-65532 65532 65542 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+65532 65532 65535 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-65532 65542 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+65532 65535 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute95;
DROP PROCEDURE sp95;
DROP PROCEDURE IF EXISTS sp96;
@@ -20265,9 +21744,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute96();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-65532 65532 65542 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+65532 65532 65535 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-65532 65542 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+65532 65535 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute96;
DROP PROCEDURE sp96;
DROP PROCEDURE IF EXISTS sp97;
@@ -20299,9 +21778,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute97();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--32602 -32602 -32592 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+65535 65535 65535 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--32602 -32592 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+65535 65535 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute97;
DROP PROCEDURE sp97;
DROP PROCEDURE IF EXISTS sp98;
@@ -20367,9 +21846,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute99();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-252 252 262 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+252 252 255 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-252 262 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+252 255 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute99;
DROP PROCEDURE sp99;
DROP PROCEDURE IF EXISTS sp100;
@@ -20435,9 +21914,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute101();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--102 -102 -92 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+255 255 255 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--102 -92 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+255 255 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute101;
DROP PROCEDURE sp101;
USE db_storedproc;
@@ -20462,13 +21941,13 @@ set a = '2005-03-14 01:01:02';
insert into temp_table values(a);
END//
show CREATE PROCEDURE sp2;
-Procedure sql_mode Create Procedure
-sp2 ALLOW_INVALID_DATES CREATE PROCEDURE `sp2`()
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+sp2 ALLOW_INVALID_DATES CREATE DEFINER=`root`@`localhost` PROCEDURE `sp2`()
BEGIN
declare a datetime;
set a = '2005-03-14 01:01:02';
insert into temp_table values(a);
-END
+END latin1 latin1_swedish_ci latin1_swedish_ci
set @@sql_mode = 'traditional';
CALL sp2 ();
SELECT * from temp_table;
@@ -20498,15 +21977,15 @@ set b = 5;
SELECT not 1 between a and b;
END//
show CREATE PROCEDURE sp3;
-Procedure sql_mode Create Procedure
-sp3 HIGH_NOT_PRECEDENCE CREATE PROCEDURE `sp3`()
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+sp3 HIGH_NOT_PRECEDENCE CREATE DEFINER=`root`@`localhost` PROCEDURE `sp3`()
BEGIN
declare a int signed;
declare b int unsigned;
set a = -5;
set b = 5;
SELECT not 1 between a and b;
-END
+END latin1 latin1_swedish_ci latin1_swedish_ci
set @@sql_mode='';
CALL sp3();
not 1 between a and b
@@ -20541,8 +22020,8 @@ set c = b/a;
show warnings;
END//
show CREATE PROCEDURE sp4;
-Procedure sql_mode Create Procedure
-sp4 REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ANSI,ERROR_FOR_DIVISION_BY_ZERO CREATE PROCEDURE "sp4"()
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+sp4 REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ANSI,ERROR_FOR_DIVISION_BY_ZERO CREATE DEFINER="root"@"localhost" PROCEDURE "sp4"()
BEGIN
declare a int;
declare b int;
@@ -20551,7 +22030,7 @@ set a = 0;
set b = 1;
set c = b/a;
show warnings;
-END
+END latin1 latin1_swedish_ci latin1_swedish_ci
set @@sql_mode='';
CALL sp4();
Level Code Message
@@ -20589,37 +22068,37 @@ set @x=i1;
set @y=@x;
END//
show CREATE PROCEDURE sp6a;
-Procedure sql_mode Create Procedure
-sp6a CREATE PROCEDURE `sp6a`(i1 longtext, out i2 mediumint , inout i3 longblob, in i4 year, out i5 real)
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+sp6a CREATE DEFINER=`root`@`localhost` PROCEDURE `sp6a`(i1 longtext, out i2 mediumint , inout i3 longblob, in i4 year, out i5 real)
BEGIN
set @x=i1;
set @y=@x;
-END
+END latin1 latin1_swedish_ci latin1_swedish_ci
show CREATE PROCEDURE sp6b;
-Procedure sql_mode Create Procedure
-sp6b CREATE PROCEDURE `sp6b`(out i1 longtext, out i2 mediumint , out i3 longblob, out i4 year, out i5 real)
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+sp6b CREATE DEFINER=`root`@`localhost` PROCEDURE `sp6b`(out i1 longtext, out i2 mediumint , out i3 longblob, out i4 year, out i5 real)
DETERMINISTIC
BEGIN
set @x=i1;
set @y=@x;
-END
+END latin1 latin1_swedish_ci latin1_swedish_ci
show CREATE PROCEDURE sp6c;
-Procedure sql_mode Create Procedure
-sp6c CREATE PROCEDURE `sp6c`(inout i1 longtext, inout i2 mediumint , inout i3 longblob, inout i4 year, inout i5 real)
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+sp6c CREATE DEFINER=`root`@`localhost` PROCEDURE `sp6c`(inout i1 longtext, inout i2 mediumint , inout i3 longblob, inout i4 year, inout i5 real)
COMMENT 'this is a comment'
BEGIN
set @x=i1;
set @y=@x;
-END
+END latin1 latin1_swedish_ci latin1_swedish_ci
SHOW PROCEDURE status like 'sp6a';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp6a PROCEDURE root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp6a PROCEDURE root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
SHOW PROCEDURE status like 'sp6b';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp6b PROCEDURE root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp6b PROCEDURE root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
SHOW PROCEDURE status like 'sp6c';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp6c PROCEDURE root@localhost modified created DEFINER this is a comment
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp6c PROCEDURE root@localhost modified created DEFINER this is a comment latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE sp6a;
DROP PROCEDURE sp6b;
DROP PROCEDURE sp6c;
@@ -20633,8 +22112,8 @@ set @x=i1;
set @y=@x;
END//
SHOW PROCEDURE status like 'sp6';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp6 PROCEDURE root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp6 PROCEDURE root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE sp6;
Testcase 4.8.3:
@@ -20659,8 +22138,8 @@ set @y=@x;
return 0;
END//
show function status like 'sp6';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp6 FUNCTION root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp6 FUNCTION root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION sp6;
Testcase 4.8.5:
@@ -20673,7 +22152,7 @@ Testcase 4.8.6:
--------------------------------------------------------------------------------
DROP PROCEDURE IF EXISTS sp6;
show procedure status like 'sp6';
-Db Name Type Definer Modified Created Security_type Comment
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
Testcase 4.8.7:
--------------------------------------------------------------------------------
@@ -20694,7 +22173,7 @@ BEGIN
return i1;
END//
show procedure status like 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
DROP FUNCTION fn1;
Testcase 4.8.9:
@@ -20708,8 +22187,8 @@ BEGIN
return i1;
END//
SHOW FUNCTION STATUS LIKE 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc fn1 FUNCTION root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc fn1 FUNCTION root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION fn1;
Testcase 4.8.11:
@@ -20738,7 +22217,7 @@ Testcase 4.8.13:
--------------------------------------------------------------------------------
DROP FUNCTION IF EXISTS f1000;
SHOW FUNCTION STATUS LIKE 'f1000';
-Db Name Type Definer Modified Created Security_type Comment
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
Testcase 4.8.14:
--------------------------------------------------------------------------------
@@ -20760,7 +22239,7 @@ set @x=i1;
set @y=@x;
END//
show function status like 'sp6';
-Db Name Type Definer Modified Created Security_type Comment
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
DROP PROCEDURE sp6;
Testcase 4.8.16:
@@ -20777,8 +22256,8 @@ END//
alter procedure sp6 sql security invoker;
alter procedure sp6 comment 'this is a new comment';
SHOW PROCEDURE status like 'sp6';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp6 PROCEDURE root@localhost modified created INVOKER this is a new comment
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp6 PROCEDURE root@localhost modified created INVOKER this is a new comment latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE sp6;
Testcase 4.8.18:
@@ -20790,12 +22269,12 @@ return x;
END//
alter function fn1 sql security invoker;
show create function fn1;
-Function sql_mode Create Function
-fn1 CREATE FUNCTION `fn1`(x int) RETURNS int(11)
+Function sql_mode Create Function character_set_client collation_connection Database Collation
+fn1 CREATE DEFINER=`root`@`localhost` FUNCTION `fn1`(x int) RETURNS int(11)
SQL SECURITY INVOKER
BEGIN
return x;
-END
+END latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION fn1;
Testcase 4.8.19:
@@ -20808,8 +22287,8 @@ END//
alter function fn1 sql security invoker;
alter function fn1 comment 'this is a function 3242#@%$#@';
show function status like 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc fn1 FUNCTION root@localhost modified created INVOKER this is a function 3242#@%$#@
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc fn1 FUNCTION root@localhost modified created INVOKER this is a function 3242#@%$#@ latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION fn1;
Testcase 4.8.20:
@@ -20822,13 +22301,13 @@ set @y=@x;
END//
alter procedure sp6 comment 'this is simple';
show CREATE PROCEDURE sp6;
-Procedure sql_mode Create Procedure
-sp6 CREATE PROCEDURE `sp6`(i1 int , i2 int)
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+sp6 CREATE DEFINER=`root`@`localhost` PROCEDURE `sp6`(i1 int , i2 int)
COMMENT 'this is simple'
BEGIN
set @x=i1;
set @y=@x;
-END
+END latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE sp6;
Testcase 4.8.21:
@@ -20853,7 +22332,7 @@ set @y=@x;
END//
DROP PROCEDURE sp6;
SHOW PROCEDURE status like 'sp6';
-Db Name Type Definer Modified Created Security_type Comment
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
Testcase 4.8.23:
--------------------------------------------------------------------------------
@@ -20875,7 +22354,7 @@ return i1;
END//
DROP FUNCTION fn1;
SHOW FUNCTION STATUS LIKE 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
Section 3.1.9 - Routine body checks:
--------------------------------------------------------------------------------
@@ -20894,16 +22373,16 @@ SELECT * from t9 limit 0, 100;
END//
CALL sp6 (10, 20, 30, 40, 50);
f1 f2 f3
--5000 a` -5000
--4999 aaa -4999
--4998 abaa -4998
--4997 acaaa -4997
--4996 adaaaa -4996
--4995 aeaaaaa -4995
--4994 afaaaaaa -4994
--4993 agaaaaaaa -4993
--4992 a^aaaaaaaa -4992
-4991 a_aaaaaaaaa -4991
+-4992 a^aaaaaaaa -4992
+-4993 agaaaaaaa -4993
+-4994 afaaaaaa -4994
+-4995 aeaaaaa -4995
+-4996 adaaaa -4996
+-4997 acaaa -4997
+-4998 abaa -4998
+-4999 aaa -4999
+-5000 a` -5000
DROP PROCEDURE sp6;
Testcase 4.9.2:
@@ -21363,9 +22842,16 @@ until done END repeat;
SELECT done;
close cur1;
END//
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+CALL h1();
+done
+0
+done
+1
+done
+1
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.14:
--------------------------------------------------------------------------------
@@ -21392,9 +22878,16 @@ until done END repeat;
SELECT done;
close cur1;
END//
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+CALL h1();
+done
+0
+done
+1
+done
+1
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.15:
--------------------------------------------------------------------------------
@@ -21422,9 +22915,16 @@ until done END repeat;
SELECT done;
close cur1;
END//
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+CALL h1();
+done
+0
+@x=1
+0
+done
+1
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.16:
--------------------------------------------------------------------------------
@@ -21452,17 +22952,16 @@ until done END repeat;
SELECT done;
close cur1;
END//
-CALL h1()
-# cleanup;
+CALL h1();
done
0
@x=1
0
done
1
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.17:
--------------------------------------------------------------------------------
@@ -21490,9 +22989,9 @@ done
0
done
1
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.18:
--------------------------------------------------------------------------------
@@ -21520,9 +23019,9 @@ done
0
done
1
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.19:
--------------------------------------------------------------------------------
@@ -21550,9 +23049,9 @@ END//
CALL h1();
done
0
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.20:
--------------------------------------------------------------------------------
@@ -21580,9 +23079,9 @@ END//
CALL h1();
done
0
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.21:
--------------------------------------------------------------------------------
@@ -21610,9 +23109,9 @@ done
0
done
1
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.22:
--------------------------------------------------------------------------------
@@ -21641,9 +23140,9 @@ done
0
done @x
1 1
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.23:
--------------------------------------------------------------------------------
@@ -21671,9 +23170,9 @@ END//
CALL h1();
done
0
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.24:
--------------------------------------------------------------------------------
@@ -21701,9 +23200,9 @@ END//
CALL h1();
done
0
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.25:
--------------------------------------------------------------------------------
@@ -21728,9 +23227,9 @@ END//
CALL h1();
done @x
1 1
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.26:
--------------------------------------------------------------------------------
@@ -21755,9 +23254,9 @@ END//
CALL h1();
done @x
1 1
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.27:
--------------------------------------------------------------------------------
@@ -21780,9 +23279,9 @@ set @x=1;
SELECT done, @x;
END//
CALL h1();
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.28:
--------------------------------------------------------------------------------
@@ -21805,9 +23304,9 @@ set @x=1;
SELECT done, @x;
END//
CALL h1();
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+drop table IF EXISTS res_t1;
+drop table IF EXISTS res_t2;
Testcase 4.11.29:
--------------------------------------------------------------------------------
@@ -21835,9 +23334,9 @@ END//
CALL h1();
done @x
1 1
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+drop table IF EXISTS res_t1;
+drop table IF EXISTS res_t2;
Testcase 4.11.30:
--------------------------------------------------------------------------------
@@ -21865,9 +23364,9 @@ END//
CALL h1();
done @x
1 1
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+drop table IF EXISTS res_t1;
+drop table IF EXISTS res_t2;
Testcase 4.11.31:
--------------------------------------------------------------------------------
@@ -21893,9 +23392,9 @@ set @x=1;
SELECT done, @x;
END//
CALL h1();
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+drop table IF EXISTS res_t1;
+drop table IF EXISTS res_t2;
Testcase 4.11.32:
--------------------------------------------------------------------------------
@@ -21921,9 +23420,9 @@ set @x=1;
SELECT done, @x;
END//
CALL h1();
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.33:
--------------------------------------------------------------------------------
@@ -21948,7 +23447,7 @@ set @x=1;
SELECT done, @x;
END//
ERROR 42000: Duplicate condition: condname
-drop table res_t1;
+DROP TABLE IF EXISTS res_t1;
Testcase 4.11.35:
--------------------------------------------------------------------------------
@@ -21973,7 +23472,21 @@ insert into res_t1 values (3, 'c');
END begin2_label;
END begin1_label//
ERROR 42000: Bad SQLSTATE: '020'
-drop table res_t1;
+CREATE PROCEDURE h1 ()
+begin1_label:BEGIN
+declare condname1 condition for sqlstate '020';
+declare condname2 condition for sqlstate 'wewe';
+declare condname3 condition for 9999;
+set @var2 = 1;
+insert into res_t1 values (2, 'b');
+begin2_label: BEGIN
+declare continue handler for sqlstate '90000023' set @var3= 1;
+set @var4 = 1;
+insert into res_t1 values (3, 'c');
+END begin2_label;
+END begin1_label//
+ERROR 42000: Bad SQLSTATE: '020'
+DROP TABLE IF EXISTS res_t1;
Testcase 4.11.36:
--------------------------------------------------------------------------------
@@ -21989,7 +23502,7 @@ set x1 = 2;
END;
SELECT @x, x1;
END//
-DROP PROCEDURE h1;
+DROP PROCEDURE IF EXISTS h1;
Testcase 4.11.40:
--------------------------------------------------------------------------------
@@ -22010,7 +23523,7 @@ declare exit handler for condname2 set x5 = 1;
END//
ERROR 42000: Duplicate handler declared in the same block
DROP PROCEDURE IF EXISTS h1;
-drop table res_t1;
+DROP TABLE IF EXISTS res_t1;
Testcase 4.11.41:
--------------------------------------------------------------------------------
@@ -22026,6 +23539,9 @@ set x1 = 2;
END;
SELECT @x, x1;
END//
+CALL h1();
+@x x1
+0 2
DROP PROCEDURE IF EXISTS h1;
* Testcase 3.1.2.53 (4.11.42):
@@ -22076,8 +23592,8 @@ CALL h1();
SELECT @done, @x;
@done @x
1 1
-DROP PROCEDURE h1;
-DROP TABLE res_t1;
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
--source suite/funcs_1/storedproc/cleanup_sp_tb.inc
--------------------------------------------------------------------------------
diff --git a/mysql-test/suite/funcs_1/r/memory_storedproc_02.result b/mysql-test/suite/funcs_1/r/memory_storedproc_02.result
index 903f2b3d01f..7458e55007d 100755..100644
--- a/mysql-test/suite/funcs_1/r/memory_storedproc_02.result
+++ b/mysql-test/suite/funcs_1/r/memory_storedproc_02.result
@@ -1,8 +1,6 @@
--source suite/funcs_1/storedproc/load_sp_tb.inc
--------------------------------------------------------------------------------
-SET @@global.max_heap_table_size=4294967295;
-SET @@session.max_heap_table_size=4294967295;
--source suite/funcs_1/storedproc/cleanup_sp_tb.inc
--------------------------------------------------------------------------------
@@ -11,20 +9,25 @@ 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 = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t1;
-create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t2;
-create table t3(f1 char(20),f2 char(20),f3 integer) engine = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t3.txt' into table t3;
-create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t4;
+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_ln/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_ln/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_ln/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_ln/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 = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t6;
+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_ln/funcs_1/t4.txt' into table t6;
USE db_storedproc;
-create table t7 (f1 char(20), f2 char(25), f3 date, f4 int) engine = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t7;
+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_ln/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
@@ -36,8 +39,9 @@ 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 = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t8;
+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_ln/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
@@ -49,12 +53,14 @@ 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 = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t9.txt' into table t9;
-create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t10;
-create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t11;
+create table t9(f1 int, f2 char(25), f3 int) engine = <engine_to_be_tested>;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/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_ln/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_ln/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:
@@ -700,7 +706,7 @@ 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
+“01“ is always exactly equivalent in action to a handler with an SQLWARNING
condition.
--------------------------------------------------------------------------------
DROP PROCEDURE IF EXISTS sp0;
@@ -799,7 +805,7 @@ 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
+“02“ is always exactly equivalent in action to a handler with a NOT FOUND
condition.
--------------------------------------------------------------------------------
DROP PROCEDURE IF EXISTS sp0;
@@ -907,7 +913,7 @@ 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
+anything other that “01“ or “02“ is always exactly equivalent in action to a
handler with an SQLEXCEPTION condition.
--------------------------------------------------------------------------------
DROP PROCEDURE IF EXISTS sp0;
@@ -1196,16 +1202,16 @@ declare cur2 cursor for SELECT f1, f2, f4, f5 from t2 where f4 >= -5000 order by
open cur1;
open cur2;
BEGIN
-declare continue handler for sqlstate '02000' set count=1;
+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;
+set count = 4;
BEGIN
-while count> 0 do
+while count > 0 do
fetch cur1 into newf1, newf2, newf4, newf5;
SELECT '-2-', count, newf1, newf2, newf4, newf5;
-set count = count- 1;
+set count = count - 1;
END while;
SELECT '-3-', count, newf1, newf2, newf4, newf4;
END;
diff --git a/mysql-test/suite/funcs_1/r/memory_storedproc_03.result b/mysql-test/suite/funcs_1/r/memory_storedproc_03.result
index 6ee2d712e73..53e25441e2e 100755..100644
--- a/mysql-test/suite/funcs_1/r/memory_storedproc_03.result
+++ b/mysql-test/suite/funcs_1/r/memory_storedproc_03.result
@@ -1,8 +1,6 @@
--source suite/funcs_1/storedproc/load_sp_tb.inc
--------------------------------------------------------------------------------
-SET @@global.max_heap_table_size=4294967295;
-SET @@session.max_heap_table_size=4294967295;
--source suite/funcs_1/storedproc/cleanup_sp_tb.inc
--------------------------------------------------------------------------------
@@ -11,20 +9,25 @@ 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 = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t1;
-create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t2;
-create table t3(f1 char(20),f2 char(20),f3 integer) engine = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t3.txt' into table t3;
-create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t4;
+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_ln/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_ln/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_ln/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_ln/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 = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t6;
+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_ln/funcs_1/t4.txt' into table t6;
USE db_storedproc;
-create table t7 (f1 char(20), f2 char(25), f3 date, f4 int) engine = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t7;
+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_ln/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
@@ -36,8 +39,9 @@ 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 = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t8;
+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_ln/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
@@ -49,12 +53,14 @@ 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 = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t9.txt' into table t9;
-create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t10;
-create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t11;
+create table t9(f1 int, f2 char(25), f3 int) engine = <engine_to_be_tested>;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/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_ln/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_ln/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:
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 a627de4b534..88bddf68e24 100644
--- a/mysql-test/suite/funcs_1/r/memory_storedproc_06.result
+++ b/mysql-test/suite/funcs_1/r/memory_storedproc_06.result
@@ -1,8 +1,6 @@
--source suite/funcs_1/storedproc/load_sp_tb.inc
--------------------------------------------------------------------------------
-SET @@global.max_heap_table_size=4294967295;
-SET @@session.max_heap_table_size=4294967295;
--source suite/funcs_1/storedproc/cleanup_sp_tb.inc
--------------------------------------------------------------------------------
@@ -11,20 +9,25 @@ 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 = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t1;
-create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t2;
-create table t3(f1 char(20),f2 char(20),f3 integer) engine = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t3.txt' into table t3;
-create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t4;
+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_ln/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_ln/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_ln/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_ln/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 = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t6;
+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_ln/funcs_1/t4.txt' into table t6;
USE db_storedproc;
-create table t7 (f1 char(20), f2 char(25), f3 date, f4 int) engine = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t7;
+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_ln/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
@@ -36,8 +39,9 @@ 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 = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t8;
+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_ln/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
@@ -49,12 +53,14 @@ 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 = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t9.txt' into table t9;
-create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t10;
-create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t11;
+create table t9(f1 int, f2 char(25), f3 int) engine = <engine_to_be_tested>;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/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_ln/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_ln/funcs_1/t4.txt' into table t11;
Section 3.1.6 - Privilege Checks:
--------------------------------------------------------------------------------
@@ -81,6 +87,7 @@ 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';
@@ -92,6 +99,7 @@ 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';
@@ -117,6 +125,7 @@ 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';
diff --git a/mysql-test/suite/funcs_1/r/memory_storedproc_07.result b/mysql-test/suite/funcs_1/r/memory_storedproc_07.result
index 34e5ff76f29..c4e8082fd7d 100755..100644
--- a/mysql-test/suite/funcs_1/r/memory_storedproc_07.result
+++ b/mysql-test/suite/funcs_1/r/memory_storedproc_07.result
@@ -1,8 +1,6 @@
--source suite/funcs_1/storedproc/load_sp_tb.inc
--------------------------------------------------------------------------------
-SET @@global.max_heap_table_size=4294967295;
-SET @@session.max_heap_table_size=4294967295;
--source suite/funcs_1/storedproc/cleanup_sp_tb.inc
--------------------------------------------------------------------------------
@@ -11,20 +9,25 @@ 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 = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t1;
-create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t2;
-create table t3(f1 char(20),f2 char(20),f3 integer) engine = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t3.txt' into table t3;
-create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t4;
+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_ln/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_ln/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_ln/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_ln/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 = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t6;
+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_ln/funcs_1/t4.txt' into table t6;
USE db_storedproc;
-create table t7 (f1 char(20), f2 char(25), f3 date, f4 int) engine = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t7;
+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_ln/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
@@ -36,8 +39,9 @@ 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 = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t8;
+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_ln/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
@@ -49,12 +53,14 @@ 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 = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t9.txt' into table t9;
-create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t10;
-create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t11;
+create table t9(f1 int, f2 char(25), f3 int) engine = <engine_to_be_tested>;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/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_ln/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_ln/funcs_1/t4.txt' into table t11;
Section 3.1.7 - SQL mode checks:
--------------------------------------------------------------------------------
@@ -90,7 +96,7 @@ INSERT INTO result VALUES (@cur_val_sql_mode, 'value not restored');
END if;
END//
SHOW CREATE PROCEDURE sp1;
-Procedure sql_mode Create Procedure
+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 CREATE DEFINER=`root`@`localhost` PROCEDURE `sp1`()
BEGIN
declare a tinyint;
@@ -104,7 +110,7 @@ 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
+END latin1 latin1_swedish_ci latin1_swedish_ci
set @@sql_mode='';
SHOW VARIABLES LIKE 'sql_mode';
Variable_name Value
@@ -143,12 +149,12 @@ SET @@sql_mode='MAXDB';
SHOW VARIABLES LIKE 'sql_mode';
END//
SHOW CREATE PROCEDURE sp2;
-Procedure sql_mode Create Procedure
+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 CREATE DEFINER=`root`@`localhost` PROCEDURE `sp2`()
BEGIN
SET @@sql_mode='MAXDB';
SHOW VARIABLES LIKE 'sql_mode';
-END
+END latin1 latin1_swedish_ci latin1_swedish_ci
... show value prior calling procedure
SHOW VARIABLES LIKE 'sql_mode';
Variable_name Value
diff --git a/mysql-test/suite/funcs_1/r/memory_storedproc_08.result b/mysql-test/suite/funcs_1/r/memory_storedproc_08.result
index 712d9ae933f..0bed3989f13 100755..100644
--- a/mysql-test/suite/funcs_1/r/memory_storedproc_08.result
+++ b/mysql-test/suite/funcs_1/r/memory_storedproc_08.result
@@ -1,8 +1,6 @@
--source suite/funcs_1/storedproc/load_sp_tb.inc
--------------------------------------------------------------------------------
-SET @@global.max_heap_table_size=4294967295;
-SET @@session.max_heap_table_size=4294967295;
--source suite/funcs_1/storedproc/cleanup_sp_tb.inc
--------------------------------------------------------------------------------
@@ -11,20 +9,25 @@ 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 = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t1;
-create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t2;
-create table t3(f1 char(20),f2 char(20),f3 integer) engine = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t3.txt' into table t3;
-create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t4;
+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_ln/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_ln/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_ln/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_ln/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 = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t6;
+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_ln/funcs_1/t4.txt' into table t6;
USE db_storedproc;
-create table t7 (f1 char(20), f2 char(25), f3 date, f4 int) engine = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t7;
+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_ln/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
@@ -36,8 +39,9 @@ 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 = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t8;
+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_ln/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
@@ -49,12 +53,14 @@ 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 = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t9.txt' into table t9;
-create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t10;
-create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t11;
+create table t9(f1 int, f2 char(25), f3 int) engine = <engine_to_be_tested>;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/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_ln/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_ln/funcs_1/t4.txt' into table t11;
Section 3.1.8 - SHOW statement checks:
--------------------------------------------------------------------------------
@@ -122,6 +128,9 @@ 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 NULL
ROUTINE_SCHEMA db_storedproc
@@ -146,6 +155,9 @@ 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 NULL
ROUTINE_SCHEMA db_storedproc
@@ -168,6 +180,9 @@ 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 NULL
ROUTINE_SCHEMA db_storedproc
@@ -190,6 +205,9 @@ 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
@@ -199,6 +217,9 @@ 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
@@ -210,6 +231,9 @@ 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
@@ -217,6 +241,9 @@ 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
@@ -226,6 +253,9 @@ Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_2`(i1 int)
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
@@ -235,6 +265,9 @@ 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
@@ -243,6 +276,9 @@ 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
@@ -252,6 +288,9 @@ 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
@@ -260,6 +299,9 @@ 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:
--------------------------
@@ -304,6 +346,9 @@ 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 NULL
ROUTINE_SCHEMA db_storedproc
@@ -328,6 +373,9 @@ 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 NULL
ROUTINE_SCHEMA db_storedproc
@@ -350,6 +398,9 @@ 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 NULL
ROUTINE_SCHEMA db_storedproc
@@ -372,6 +423,9 @@ 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
@@ -384,6 +438,9 @@ 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
@@ -395,6 +452,9 @@ 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
@@ -404,6 +464,9 @@ 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
@@ -413,6 +476,9 @@ Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_2`(i1 int)
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
@@ -422,6 +488,9 @@ 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
@@ -430,6 +499,9 @@ 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
@@ -439,6 +511,9 @@ 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
@@ -447,6 +522,9 @@ 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:
--------------------------------------------
@@ -479,6 +557,9 @@ 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 NULL
ROUTINE_SCHEMA db_storedproc
@@ -503,6 +584,9 @@ 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 NULL
ROUTINE_SCHEMA db_storedproc
@@ -525,6 +609,9 @@ 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 NULL
ROUTINE_SCHEMA db_storedproc
@@ -547,6 +634,9 @@ 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
@@ -559,6 +649,9 @@ 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
@@ -569,6 +662,9 @@ 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
@@ -578,6 +674,9 @@ 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
@@ -587,6 +686,9 @@ Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_2`(i1 int)
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
@@ -596,6 +698,9 @@ 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
@@ -604,6 +709,9 @@ 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
@@ -613,6 +721,9 @@ 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
@@ -621,6 +732,9 @@ 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
-----------
diff --git a/mysql-test/suite/funcs_1/r/memory_storedproc_10.result b/mysql-test/suite/funcs_1/r/memory_storedproc_10.result
index e924cf0731a..163bae36bed 100755..100644
--- a/mysql-test/suite/funcs_1/r/memory_storedproc_10.result
+++ b/mysql-test/suite/funcs_1/r/memory_storedproc_10.result
@@ -1,8 +1,6 @@
--source suite/funcs_1/storedproc/load_sp_tb.inc
--------------------------------------------------------------------------------
-SET @@global.max_heap_table_size=4294967295;
-SET @@session.max_heap_table_size=4294967295;
--source suite/funcs_1/storedproc/cleanup_sp_tb.inc
--------------------------------------------------------------------------------
@@ -11,20 +9,25 @@ 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 = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t1;
-create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t2;
-create table t3(f1 char(20),f2 char(20),f3 integer) engine = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t3.txt' into table t3;
-create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t4;
+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_ln/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_ln/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_ln/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_ln/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 = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t6;
+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_ln/funcs_1/t4.txt' into table t6;
USE db_storedproc;
-create table t7 (f1 char(20), f2 char(25), f3 date, f4 int) engine = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t7;
+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_ln/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
@@ -36,8 +39,9 @@ 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 = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t8;
+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_ln/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
@@ -49,12 +53,14 @@ 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 = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t9.txt' into table t9;
-create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t10;
-create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t11;
+create table t9(f1 int, f2 char(25), f3 int) engine = <engine_to_be_tested>;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/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_ln/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_ln/funcs_1/t4.txt' into table t11;
Section 3.1.10 - CALL checks:
--------------------------------------------------------------------------------
@@ -95,6 +101,8 @@ 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();
@@ -114,6 +122,8 @@ 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';
@@ -131,6 +141,7 @@ 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;
@@ -178,6 +189,8 @@ 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()
@@ -205,49 +218,72 @@ 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 ORDER BY f4;
+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
-a^aaaaaaaa a^aaaaaaaa 1000-01-09 -4992 a^aaaaaaaa -4992
-a_aaaaaaaaa a_aaaaaaaaa 1000-01-10 -4991 a_aaaaaaaaa -4991
-abc abc 2005-10-03 100 uvw 1000
CALL sp_ins_3();
SELECT row_count();
row_count()
1
-SELECT * FROM temp ORDER BY f4;
+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
-a^aaaaaaaa a^aaaaaaaa 1000-01-09 -4992 a^aaaaaaaa -4992
-a_aaaaaaaaa a_aaaaaaaaa 1000-01-10 -4991 a_aaaaaaaaa -4991
-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
CALL sp_upd();
SELECT row_count();
row_count()
4
-SELECT * FROM temp ORDER BY f4;
+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
@@ -256,8 +292,6 @@ 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
-a^aaaaaaaa a^aaaaaaaa 1000-01-09 -4992 a^aaaaaaaa -4992
-a_aaaaaaaaa a_aaaaaaaaa 1000-01-10 -4991 a_aaaaaaaaa -4991
updated abc 2005-10-03 100 uvw 1000
updated xyz 1949-05-23 100 uvw 1000
updated xyz 1989-11-09 100 uvw 1000
@@ -279,8 +313,10 @@ COUNT( f1 ) f1
SELECT row_count();
row_count()
3
-SELECT * FROM temp ORDER BY f4;
+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
@@ -289,26 +325,73 @@ 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
-a^aaaaaaaa a^aaaaaaaa 1000-01-09 -4992 a^aaaaaaaa -4992
-a_aaaaaaaaa a_aaaaaaaaa 1000-01-10 -4991 a_aaaaaaaaa -4991
+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
-qwe xyz 1998-03-26 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()
+-1
+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
+Ensure that the mysql_affected_rows() C API function always returns the correct
number of rows affected by the execution of a stored procedure.
--------------------------------------------------------------------------------
diff --git a/mysql-test/suite/funcs_1/r/memory_trig_0102.result b/mysql-test/suite/funcs_1/r/memory_trig_0102.result
index 7ce24bf60d5..db58d5c3ce5 100644
--- a/mysql-test/suite/funcs_1/r/memory_trig_0102.result
+++ b/mysql-test/suite/funcs_1/r/memory_trig_0102.result
@@ -1,93 +1,91 @@
-SET @NO_REFRESH = IF( '' = '', 0, 1);
USE test;
-set @@global.max_heap_table_size = 4294967295;
-set @@session.max_heap_table_size = 4294967295;
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)
+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 = memory;
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 'MYSQL_TEST_DIR/suite/funcs_1/data/memory_tb3.txt' into table tb3 ;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/memory_tb3.txt'
+into table tb3;
Testcase: 3.5.1.1:
------------------
use test;
-Create trigger trg1_1 BEFORE INSERT
+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
+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,
+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
+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
+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
+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)
+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
@@ -100,9 +98,9 @@ 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
+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
@@ -110,7 +108,7 @@ 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)
+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;
@@ -138,7 +136,7 @@ delete from tb3 where f121='Test 3.5.1.1';
Testcase: 3.5.1.2:
------------------
-Create trigger trg_1 after insert
+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;
@@ -191,7 +189,7 @@ drop table if exists t1;
Warnings:
Note 1051 Unknown table 't1'
create table t1 (f1 int, f2 char(25),f3 int) engine=memory;
-CREATE TRIGGER trg5_1 BEFORE INSERT on test.t1
+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';
@@ -228,7 +226,7 @@ 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
+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;
@@ -236,11 +234,11 @@ create database trig_db;
use trig_db;
create table t1 (f1 integer) engine = memory;
use test;
-CREATE TRIGGER trig_db.trg6_2 AFTER INSERT on tb3
+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
+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;
@@ -264,9 +262,9 @@ drop table if exists t1;
drop table if exists t2;
create table t1 (f1 char(50), f2 integer) engine = memory;
create table t2 (f1 char(50), f2 integer) engine = memory;
-create trigger trig before insert on t1
+create trigger trig before insert on t1
for each row set new.f1 ='trig t1';
-create trigger trig before update on t2
+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);
@@ -296,15 +294,15 @@ create database trig_db2;
create database trig_db3;
use trig_db1;
create table t1 (f1 char(50), f2 integer) engine = memory;
-create trigger trig before insert on t1
+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 = memory;
-create trigger trig before insert on t2
+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 = memory;
-create trigger trig before insert on t1
+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;
@@ -343,11 +341,11 @@ create database trig_db2;
use trig_db1;
create table t1 (f1 char(50), f2 integer) engine = memory;
create table trig_db2.t1 (f1 char(50), f2 integer) engine = memory;
-create trigger trig1_b before insert on t1
+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
+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
+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 order by trigger_name;
@@ -363,3 +361,4 @@ select @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/memory_trig_03.result b/mysql-test/suite/funcs_1/r/memory_trig_03.result
index ae7b83f820d..c6b6e1bc216 100644
--- a/mysql-test/suite/funcs_1/r/memory_trig_03.result
+++ b/mysql-test/suite/funcs_1/r/memory_trig_03.result
@@ -1,67 +1,65 @@
-SET @NO_REFRESH = IF( '' = '', 0, 1);
USE test;
-set @@global.max_heap_table_size = 4294967295;
-set @@session.max_heap_table_size = 4294967295;
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)
+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 = memory;
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 'MYSQL_TEST_DIR/suite/funcs_1/data/memory_tb3.txt' into table tb3 ;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/memory_tb3.txt'
+into table tb3;
Testcase 3.5.3:
---------------
@@ -100,7 +98,7 @@ 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';
-Got one of the listed errors
+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;
@@ -132,7 +130,7 @@ Testcase 3.5.3.6:
-----------------
use priv_db;
drop trigger trg1_2;
-Got one of the listed errors
+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;
@@ -180,15 +178,14 @@ 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
-
-Trigger create disabled - should fail - Bug 8884
-------------------------------------------------
+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
-insert 3.5.3.7-1a
trig 3.5.3.2_2-yes
trig 3.5.3.2_2-yes
drop trigger trg4a_1;
@@ -206,7 +203,6 @@ 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-1a
trig 3.5.3.2_2-yes
trig 3.5.3.2_2-yes
trig 3.5.3.7-2a
@@ -235,29 +231,27 @@ 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;
-
-Trigger create disabled - should fail - Bug 8884
-------------------------------------------------
+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-1a
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-1a
+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 3.5.3.7-1b
drop trigger trg4b_1;
show grants;
Grants for test_yesprivs@localhost
@@ -271,23 +265,21 @@ 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-1a
+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 3.5.3.7-1b
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-1a
+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
-update 3.5.3.7-1b
drop trigger trg4b_2;
Testcase 3.5.3.7c
@@ -313,21 +305,19 @@ 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;
-
-Trigger create disabled - should fail - Bug 8884
-------------------------------------------------
+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-1a
-insert 3.5.3.7-1c
+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
-update 3.5.3.7-1b
drop trigger trg4c_1;
show grants;
Grants for test_yesprivs@localhost
@@ -341,14 +331,12 @@ 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-1a
-insert 3.5.3.7-1c
+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
-update 3.5.3.7-1b
drop trigger trg4c_2;
Testcase 3.5.3.7d:
@@ -372,23 +360,20 @@ 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;
-
-Trigger create disabled - should fail - Bug 8884
-------------------------------------------------
+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-1a
-insert 3.5.3.7-1c
-insert 3.5.3.7-1d
+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
-update 3.5.3.7-1b
drop trigger trg4d_1;
show grants;
Grants for test_yesprivs@localhost
@@ -402,16 +387,13 @@ 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-1a
-insert 3.5.3.7-1c
-insert 3.5.3.7-1d
+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
-update 3.5.3.7-1b
drop trigger trg4d_2;
Testcase 3.5.3.8a:
@@ -436,14 +418,14 @@ 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 ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-
-Trigger create disabled - should fail - Bug 8887
-------------------------------------------------
+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
@@ -491,15 +473,15 @@ 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;
-
-Trigger create disabled - should fail - Bug 8887
-------------------------------------------------
+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
@@ -546,11 +528,11 @@ 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;
-
-Trigger create disabled - should fail - Bug 8887
-------------------------------------------------
+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
@@ -592,11 +574,11 @@ 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;
-
-Trigger create disabled - should fail - Bug 8887
-------------------------------------------------
+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
@@ -710,3 +692,4 @@ drop database if exists priv_db;
drop user test_yesprivs@localhost;
drop user test_noprivs@localhost;
drop user test_noprivs;
+DROP TABLE test.tb3;
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 65343df5e46..0dae491e319 100644
--- a/mysql-test/suite/funcs_1/r/memory_trig_03e.result
+++ b/mysql-test/suite/funcs_1/r/memory_trig_03e.result
@@ -1,4 +1,3 @@
-SET @NO_REFRESH = IF( '' = '', 0, 1);
USE test;
Testcase for db level:
@@ -263,7 +262,7 @@ select current_user;
current_user
root@localhost
show triggers;
-Trigger Event Table Statement Timing Created sql_mode Definer
+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
@@ -296,7 +295,7 @@ select current_user;
current_user
root@localhost
show triggers;
-Trigger Event Table Statement Timing Created sql_mode Definer
+Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
show tables;
Tables_in_priv_db
t1
@@ -317,7 +316,7 @@ select current_user;
current_user
test_yesprivs@localhost
show triggers;
-Trigger Event Table Statement Timing Created sql_mode Definer
+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;
@@ -453,9 +452,9 @@ ERROR 42000: TRIGGER command denied to user 'test_yesprivs'@'localhost' for tabl
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
-trg1_3 INSERT t1 set new.f1 = 'trig 1_3-yes' BEFORE NULL test_yesprivs@localhost
-trg1_4 UPDATE t1 set new.f1 = 'trig 1_4-yes' BEFORE NULL test_yesprivs@localhost
+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
@@ -570,11 +569,9 @@ current_user
test_yesprivs@localhost
use priv_db;
show triggers;
-Trigger Event Table Statement Timing Created sql_mode Definer
-trg1_1 INSERT t1 set new.f1 = 'trig 1_1-yes' BEFORE NULL test_yesprivs@localhost
+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
-NULL priv_db trg1_1 INSERT NULL priv_db t1 0 NULL set new.f1 = 'trig 1_1-yes' ROW BEFORE NULL NULL OLD NEW NULL test_yesprivs@localhost
+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;
@@ -863,7 +860,7 @@ select current_user;
current_user
root@localhost
show triggers;
-Trigger Event Table Statement Timing Created sql_mode Definer
+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
@@ -878,7 +875,7 @@ select current_user;
current_user
test_yesprivs@localhost
show triggers;
-Trigger Event Table Statement Timing Created sql_mode Definer
+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
@@ -990,9 +987,9 @@ select current_user;
current_user
root@localhost
show triggers;
-Trigger Event Table Statement Timing Created sql_mode Definer
+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
+on priv_db.t1 to test_yesprivs@localhost
with grant option;
grant select
on priv_db.t1 to test_useprivs@localhost;
@@ -1217,7 +1214,7 @@ 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 There is no 'not_ex_user'@'localhost' registered
+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
@@ -1255,7 +1252,7 @@ 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 the SUPER privilege for this operation
-create definer=current_user trigger trg1_1
+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');
@@ -1510,7 +1507,7 @@ 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
+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
diff --git a/mysql-test/suite/funcs_1/r/memory_trig_0407.result b/mysql-test/suite/funcs_1/r/memory_trig_0407.result
index 005fd43fb5b..65bb3b91c9e 100644
--- a/mysql-test/suite/funcs_1/r/memory_trig_0407.result
+++ b/mysql-test/suite/funcs_1/r/memory_trig_0407.result
@@ -1,67 +1,65 @@
-SET @NO_REFRESH = IF( '' = '', 0, 1);
USE test;
-set @@global.max_heap_table_size = 4294967295;
-set @@session.max_heap_table_size = 4294967295;
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)
+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 = memory;
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 'MYSQL_TEST_DIR/suite/funcs_1/data/memory_tb3.txt' into table tb3 ;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/memory_tb3.txt'
+into table tb3;
Testcase: 3.5:
--------------
@@ -85,7 +83,7 @@ Use db_drop;
create table t1 (f1 char(30)) engine=memory;
grant INSERT, SELECT on db_drop.t1 to test_general;
Use db_drop;
-Create trigger trg1 BEFORE INSERT on t1
+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');
@@ -124,7 +122,7 @@ drop table if exists t1_433 ;
drop table if exists t1_433a ;
create table t1_433 (f1 char (30)) engine=memory;
create table t1_433a (f1a char (5)) engine=memory;
-CREATE TRIGGER trg3 BEFORE INSERT on t1_433 for each row
+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
@@ -145,7 +143,7 @@ create database db_drop4;
Use db_drop4;
create table t1 (f1 char(30)) engine=memory;
grant INSERT, SELECT on db_drop4.t1 to test_general;
-Create trigger trg4 BEFORE INSERT on t1
+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');
@@ -181,7 +179,7 @@ create database db_drop5;
Use db_drop5;
create table t1 (f1 char(50)) engine=memory;
grant INSERT, SELECT on t1 to test_general;
-Create trigger trg5 BEFORE INSERT on t1
+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');
@@ -218,7 +216,7 @@ 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
+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;
@@ -226,7 +224,7 @@ drop table t1_temp;
Testcase 3.5.5.3:
-----------------
Create view vw3 as select f118 from tb3;
-Create trigger trg3 before INSERT
+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;
@@ -307,9 +305,9 @@ drop trigger tb3.trg4_2;
Testcase 3.5.7.5 / 3.5.7.6:
---------------------------
-Create trigger trg5_1 BEFORE INSERT
+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
+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');
@@ -327,9 +325,9 @@ 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
+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
+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;
@@ -355,9 +353,9 @@ delete from tb3 where f121='Test 3.5.7.7/8';
Testcase 3.5.7.9/10:
--------------------
-Create trigger trg7_1 BEFORE UPDATE
+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
+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');
@@ -375,9 +373,9 @@ 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
+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
+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;
@@ -405,9 +403,9 @@ 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
+Create trigger trg9_1 BEFORE DELETE
on tb3 for each row set @test_var=@test_var+1;
-Create trigger trg9_2 BEFORE DELETE
+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;
@@ -437,12 +435,12 @@ 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
+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
+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
+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;
@@ -474,3 +472,4 @@ 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/memory_trig_08.result b/mysql-test/suite/funcs_1/r/memory_trig_08.result
index c445f03a2c0..3224df54f4d 100644
--- a/mysql-test/suite/funcs_1/r/memory_trig_08.result
+++ b/mysql-test/suite/funcs_1/r/memory_trig_08.result
@@ -1,67 +1,65 @@
-SET @NO_REFRESH = IF( '' = '', 0, 1);
USE test;
-set @@global.max_heap_table_size = 4294967295;
-set @@session.max_heap_table_size = 4294967295;
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)
+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 = memory;
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 'MYSQL_TEST_DIR/suite/funcs_1/data/memory_tb3.txt' into table tb3 ;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/memory_tb3.txt'
+into table tb3;
Testcase: 3.5:
--------------
@@ -86,17 +84,17 @@ 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 (
+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=memory;
-create table t1_u (
+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=memory;
-create table t1_d (
+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,
@@ -119,26 +117,26 @@ Insert into t1_d values ('f',222,99999,999.99);
use test;
Create trigger trg1 AFTER INSERT on tb3 for each row
BEGIN
-insert into db_test.t1_i
+insert into db_test.t1_i
values (new.f120, new.f136, new.f144, new.f163);
-update db_test.t1_u
+update db_test.t1_u
set u144=new.f144, u163=new.f163
-where u136=new.f136;
+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;
+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)
+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 order by i120;
+select * from db_test.t1_i;
i120 i136 i144 i163
1 00222 0000023456 1.050000000000000000000000000000
-select * from db_test.t1_u order by u120;
+select * from db_test.t1_u;
u120 u136 u144 u163
a 00111 0000099999 999.990000000000000000000000000000
b 00222 0000023456 1.050000000000000000000000000000
@@ -146,7 +144,7 @@ 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 order by d120;
+select * from db_test.t1_d;
d120 d136 d144 d163
a 00111 0000099999 999.990000000000000000000000000000
c 00333 0000099999 999.990000000000000000000000000000
@@ -159,7 +157,7 @@ select @test_var;
-----------------------------
Create trigger trg2 BEFORE UPDATE on tb3 for each row
BEGIN
-insert into db_test.t1_i
+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%';
@@ -182,7 +180,7 @@ I 00222 0000023456 1.050000000000000000000000000000
-----------------------------
drop trigger trg2;
Create trigger trg3 BEFORE UPDATE on tb3 for each row
-update db_test.t1_u
+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'
@@ -204,7 +202,7 @@ U 00222 0000023456 1.050000000000000000000000000000
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,
+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%';
@@ -219,10 +217,10 @@ c 00333 0000099999 999.990000000000000000000000000000
-------------------------------
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
+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,
+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%';
@@ -250,31 +248,31 @@ 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
+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
+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
+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
+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
+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
@@ -294,7 +292,7 @@ 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
+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
@@ -336,54 +334,54 @@ ELSE set @test_var=CONCAT(new.f120, '*', new.f144);
END case;
END//
set @test_var='Empty';
-Insert into tb3 (f120, f122, f136, f144)
+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;
+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)
+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;
+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)
+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;
+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)
+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;
+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)
+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;
+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)
+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;
+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
@@ -403,40 +401,40 @@ 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
+BEGIN
set @counter=0, @flag='Initial';
-Label1: loop
+Label1: loop
if new.f136<new.f144 then
set @counter='Nothing to loop';
-leave Label1;
+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;
+end if;
+end if;
+iterate label1;
set @flag='Final';
-END loop Label1;
+END loop Label1;
END//
-Insert into tb3 (f122, f136, f144)
+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)
+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
+BEGIN
+Label1: loop
set @counter=@counter+1;
-END;
+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 ';
+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;
@@ -446,23 +444,23 @@ Testcase 3.5.8.5-repeat:
------------------------
Create trigger trg6 after insert on tb3 for each row
BEGIN
-rp_label: REPEAT
-SET @counter1 = @counter1 + 1;
+rp_label: REPEAT
+SET @counter1 = @counter1 + 1;
IF (@counter1 MOD 2 = 0) THEN ITERATE rp_label;
END IF;
-SET @counter2 = @counter2 + 1;
+SET @counter2 = @counter2 + 1;
UNTIL @counter1> new.f136 END REPEAT rp_label;
END//
set @counter1= 0, @counter2= 0;
-Insert into tb3 (f122, f136)
+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;
+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;
@@ -471,33 +469,63 @@ 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;
+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;
+SET @counter2 = @counter2 + 1;
END WHILE wl_label//
set @counter1= 0, @counter2= 0;
-Insert into tb3 (f122, f136)
+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;
+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;
+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: (Disabled as a result of bug _____)
------------------------------------------------------
+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/memory_trig_09.result b/mysql-test/suite/funcs_1/r/memory_trig_09.result
index 0a25dbfc1ca..6c7346e9692 100644
--- a/mysql-test/suite/funcs_1/r/memory_trig_09.result
+++ b/mysql-test/suite/funcs_1/r/memory_trig_09.result
@@ -1,71 +1,69 @@
-SET @NO_REFRESH = IF( '' = '', 0, 1);
USE test;
-set @@global.max_heap_table_size = 4294967295;
-set @@session.max_heap_table_size = 4294967295;
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)
+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 = memory;
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 'MYSQL_TEST_DIR/suite/funcs_1/data/memory_tb3.txt' into table tb3 ;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/memory_tb3.txt'
+into table tb3;
Testcase 3.5.9.1/2:
-------------------
-Create trigger trg1 BEFORE UPDATE on tb3 for each row
+Create trigger trg1 BEFORE UPDATE on tb3 for each row
set new.f142 = 94087, @counter=@counter+1;
TotalRows
10
@@ -77,15 +75,15 @@ NewValuew
0
set @counter=0;
Update tb3 Set f142='1' where f130<100;
-select count(*) as ExpectedChanged, @counter as TrigCounter
+select count(*) as ExpectedChanged, @counter as TrigCounter
from tb3 where f142=94087;
ExpectedChanged TrigCounter
9 9
-select count(*) as ExpectedNotChange from tb3
+select count(*) as ExpectedNotChange from tb3
where f130<100 and f142<>94087;
ExpectedNotChange
0
-select count(*) as NonExpectedChanged from tb3
+select count(*) as NonExpectedChanged from tb3
where f130>=130 and f142=94087;
NonExpectedChanged
0
@@ -113,17 +111,17 @@ set @tr_var_af_118=old.f118, @tr_var_af_121=old.f121,
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)
+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,
+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,
+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
@@ -134,11 +132,11 @@ a NULL Test 3.5.9.3 7 123.170000000000000000000000000000
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,
+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,
+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
@@ -169,17 +167,17 @@ set @tr_var_af_118=new.f118, @tr_var_af_121=new.f121,
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)
+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
+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,
+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,
+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
@@ -189,17 +187,18 @@ a NULL Test 3.5.9.4 7 999 995.240000000000000000000000000000
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
-select f118, f121, f122, f136, f151, f163 from tb3
+ERROR 23000: 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,
+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,
+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
@@ -237,6 +236,7 @@ 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)
@@ -265,3 +265,4 @@ 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/memory_trig_1011ext.result b/mysql-test/suite/funcs_1/r/memory_trig_1011ext.result
index 451041575af..4c06a71588a 100644
--- a/mysql-test/suite/funcs_1/r/memory_trig_1011ext.result
+++ b/mysql-test/suite/funcs_1/r/memory_trig_1011ext.result
@@ -1,67 +1,65 @@
-SET @NO_REFRESH = IF( '' = '', 0, 1);
USE test;
-set @@global.max_heap_table_size = 4294967295;
-set @@session.max_heap_table_size = 4294967295;
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)
+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 = memory;
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 'MYSQL_TEST_DIR/suite/funcs_1/data/memory_tb3.txt' into table tb3 ;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/memory_tb3.txt'
+into table tb3;
Testcase 3.5.10.1/2/3:
----------------------
@@ -138,7 +136,7 @@ set @counter= 0;
select @counter as 'Rows Loaded Before';
Rows Loaded Before
0
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t9.txt' into table tb_load;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/t9.txt' into table tb_load;
select @counter as 'Rows Loaded After';
Rows Loaded After
10
@@ -294,8 +292,8 @@ drop table t2;
drop table t3;
drop table t4;
-Testcase y.y.y.4: Recursive trigger/SP references (disabled bug 11889)
-----------------------------------------------------------------------
+Testcase y.y.y.4: Recursive trigger/SP references
+-------------------------------------------------
set @sql_mode='traditional';
create table t1_sp (
count integer,
@@ -400,3 +398,4 @@ 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/memory_triggers.result b/mysql-test/suite/funcs_1/r/memory_triggers.result
deleted file mode 100644
index 482472d8651..00000000000
--- a/mysql-test/suite/funcs_1/r/memory_triggers.result
+++ /dev/null
@@ -1,2262 +0,0 @@
-SET @NO_REFRESH = IF( '' = '', 0, 1);
-USE test;
-set @@global.max_heap_table_size = 4294967295;
-set @@session.max_heap_table_size = 4294967295;
-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 = memory;
-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 'MYSQL_TEST_DIR/suite/funcs_1/data/memory_tb3.txt' into table tb3 ;
-
-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;
-connect(localhost,test_general,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-connect(localhost,test_super,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-
-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=memory;
-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';
-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;
-trigger_name
-trg5_1
-trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWX
-drop trigger trg5_1;
-drop trigger trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ;
-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 = memory;
-use test;
-CREATE TRIGGER trig_db.trg6_2 AFTER INSERT on tb3
-for each row set @ret_trg6_2 = 5;
-ERROR HY000: Trigger in wrong schema
-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 = memory;
-create table t2 (f1 char(50), f2 integer) engine = memory;
-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 = memory;
-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 = memory;
-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 = memory;
-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;
-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;
-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 = memory;
-create table trig_db2.t1 (f1 char(50), f2 integer) engine = memory;
-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;
-trigger_schema trigger_name event_object_table
-trig_db1 trig1_b t1
-trig_db1 trig1_a 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;
-
-Testcase 3.5.3:
----------------
-drop database if exists priv_db;
-create database priv_db;
-use priv_db;
-create table t1 (f1 char(20));
-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 SUPER 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, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost;
-grant SUPER 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 SUPER ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT SELECT ON `priv_db`.`t1` TO 'test_yesprivs'@'localhost'
-connect(localhost,test_noprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-connect(localhost,test_yesprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-
-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: Access denied; you need the SUPER privilege for this operation
-use priv_db;
-insert into t1 (f1) values ('insert 3.5.3.2-no');
-select f1 from t1;
-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';
-use priv_db;
-insert into t1 (f1) values ('insert 3.5.3.2-yes');
-select f1 from t1;
-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: Access denied; you need the SUPER privilege for this operation
-use priv_db;
-insert into t1 (f1) values ('insert 3.5.3.6-yes');
-select f1 from t1;
-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;
-f1
-insert 3.5.3.2-no
-trig 3.5.3.2_2-yes
-trig 3.5.3.2_2-yes
-insert 3.5.3.6-no
-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 ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost;
-grant SUPER, UPDATE on *.* to test_yesprivs@localhost;
-show grants for test_yesprivs@localhost;
-Grants for test_yesprivs@localhost
-GRANT UPDATE, SUPER ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-connect(localhost,test_noprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-connect(localhost,test_yesprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-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 ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-select f1 from t1;
-f1
-insert 3.5.3.2-no
-trig 3.5.3.2_2-yes
-trig 3.5.3.2_2-yes
-insert 3.5.3.6-no
-
-Trigger create disabled - should fail - Bug 8884
-------------------------------------------------
-insert into t1 (f1) values ('insert 3.5.3.7-1a');
-select f1 from t1;
-f1
-insert 3.5.3.2-no
-trig 3.5.3.2_2-yes
-trig 3.5.3.2_2-yes
-insert 3.5.3.6-no
-insert 3.5.3.7-1a
-drop trigger trg4a_1;
-use priv_db;
-select current_user;
-current_user
-test_yesprivs@localhost
-show grants;
-Grants for test_yesprivs@localhost
-GRANT UPDATE, SUPER 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;
-f1
-insert 3.5.3.2-no
-trig 3.5.3.2_2-yes
-trig 3.5.3.2_2-yes
-insert 3.5.3.6-no
-insert 3.5.3.7-1a
-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 SUPER 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 SUPER ON *.* TO 'test_noprivs'@'%'
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost;
-grant SUPER 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 SUPER ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT UPDATE ON `priv_db`.* TO 'test_yesprivs'@'localhost'
-connect(localhost,test_noprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-connect(localhost,test_yesprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-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 ON `priv_db`.* TO 'test_noprivs'@'localhost'
-use priv_db;
-
-Trigger create disabled - should fail - Bug 8884
-------------------------------------------------
-insert into t1 (f1) values ('insert 3.5.3.7-1b');
-select f1 from t1;
-f1
-insert 3.5.3.2-no
-trig 3.5.3.2_2-yes
-trig 3.5.3.2_2-yes
-insert 3.5.3.6-no
-insert 3.5.3.7-1a
-trig 3.5.3.7-2a
-insert 3.5.3.7-1b
-update t1 set f1 = 'update 3.5.3.7-1b' where f1 = 'insert 3.5.3.7-1b';
-select f1 from t1;
-f1
-insert 3.5.3.2-no
-trig 3.5.3.2_2-yes
-trig 3.5.3.2_2-yes
-insert 3.5.3.6-no
-insert 3.5.3.7-1a
-trig 3.5.3.7-2a
-update 3.5.3.7-1b
-drop trigger trg4b_1;
-show grants;
-Grants for test_yesprivs@localhost
-GRANT SUPER 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;
-f1
-insert 3.5.3.2-no
-trig 3.5.3.2_2-yes
-trig 3.5.3.2_2-yes
-insert 3.5.3.6-no
-insert 3.5.3.7-1a
-trig 3.5.3.7-2a
-update 3.5.3.7-1b
-insert 3.5.3.7-2b
-update t1 set f1 = 'update 3.5.3.7-2b' where f1 = 'insert 3.5.3.7-2b';
-select f1 from t1;
-f1
-insert 3.5.3.2-no
-trig 3.5.3.2_2-yes
-trig 3.5.3.2_2-yes
-insert 3.5.3.6-no
-insert 3.5.3.7-1a
-trig 3.5.3.7-2a
-update 3.5.3.7-1b
-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 SUPER 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 SUPER ON *.* TO 'test_noprivs'@'%'
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost;
-grant SUPER 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 SUPER ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT UPDATE ON `priv_db`.`t1` TO 'test_yesprivs'@'localhost'
-connect(localhost,test_noprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-connect(localhost,test_yesprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-show grants;
-Grants for test_noprivs@localhost
-GRANT SUPER ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT SELECT, INSERT, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE VIEW, SHOW VIEW ON `priv_db`.`t1` TO 'test_noprivs'@'localhost'
-use priv_db;
-
-Trigger create disabled - should fail - Bug 8884
-------------------------------------------------
-insert into t1 (f1) values ('insert 3.5.3.7-1c');
-select f1 from t1;
-f1
-insert 3.5.3.2-no
-trig 3.5.3.2_2-yes
-trig 3.5.3.2_2-yes
-insert 3.5.3.6-no
-insert 3.5.3.7-1a
-trig 3.5.3.7-2a
-update 3.5.3.7-1b
-trig 3.5.3.7-2b
-insert 3.5.3.7-1c
-drop trigger trg4c_1;
-show grants;
-Grants for test_yesprivs@localhost
-GRANT SUPER 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;
-f1
-insert 3.5.3.2-no
-trig 3.5.3.2_2-yes
-trig 3.5.3.2_2-yes
-insert 3.5.3.6-no
-insert 3.5.3.7-1a
-trig 3.5.3.7-2a
-update 3.5.3.7-1b
-trig 3.5.3.7-2b
-insert 3.5.3.7-1c
-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 SUPER 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 SUPER ON *.* TO 'test_noprivs'@'%'
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost;
-grant SUPER 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 SUPER ON *.* TO 'test_noprivs'@'%'
-connect(localhost,test_noprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-connect(localhost,test_yesprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-show grants;
-Grants for test_noprivs@localhost
-GRANT SUPER 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;
-
-Trigger create disabled - should fail - Bug 8884
-------------------------------------------------
-insert into t1 (f1) values ('insert 3.5.3.7-1d');
-select f1 from t1;
-f1
-insert 3.5.3.2-no
-trig 3.5.3.2_2-yes
-trig 3.5.3.2_2-yes
-insert 3.5.3.6-no
-insert 3.5.3.7-1a
-trig 3.5.3.7-2a
-update 3.5.3.7-1b
-trig 3.5.3.7-2b
-insert 3.5.3.7-1c
-trig 3.5.3.7-2c
-insert 3.5.3.7-1d
-drop trigger trg4d_1;
-show grants;
-Grants for test_yesprivs@localhost
-GRANT SUPER 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;
-f1
-insert 3.5.3.2-no
-trig 3.5.3.2_2-yes
-trig 3.5.3.2_2-yes
-insert 3.5.3.6-no
-insert 3.5.3.7-1a
-trig 3.5.3.7-2a
-update 3.5.3.7-1b
-trig 3.5.3.7-2b
-insert 3.5.3.7-1c
-trig 3.5.3.7-2c
-insert 3.5.3.7-1d
-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 ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost;
-grant SUPER, SELECT on *.* to test_yesprivs@localhost;
-show grants for test_yesprivs@localhost;
-Grants for test_yesprivs@localhost
-GRANT SELECT, SUPER ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-connect(localhost,test_noprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-connect(localhost,test_yesprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-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 ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-
-Trigger create disabled - should fail - Bug 8887
-------------------------------------------------
-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');
-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, SUPER 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 SUPER 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 SUPER 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 ON `priv_db`.* TO 'test_noprivs'@'localhost'
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost;
-grant SUPER 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 SUPER ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT SELECT ON `priv_db`.* TO 'test_yesprivs'@'localhost'
-connect(localhost,test_noprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-connect(localhost,test_yesprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-show grants;
-Grants for test_noprivs@localhost
-GRANT SUPER 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 ON `priv_db`.* TO 'test_noprivs'@'localhost'
-use priv_db;
-
-Trigger create disabled - should fail - Bug 8887
-------------------------------------------------
-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';
-select @test_var;
-@test_var
-before trig 3.5.3.8-1b
-drop trigger trg5b_1;
-show grants;
-Grants for test_yesprivs@localhost
-GRANT SUPER 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 SUPER 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 SUPER ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE VIEW, SHOW VIEW ON `priv_db`.`t1` TO 'test_noprivs'@'localhost'
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost;
-grant SUPER 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 SUPER ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT SELECT ON `priv_db`.`t1` TO 'test_yesprivs'@'localhost'
-connect(localhost,test_noprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-connect(localhost,test_yesprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-show grants;
-Grants for test_noprivs@localhost
-GRANT SUPER ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE VIEW, SHOW VIEW ON `priv_db`.`t1` TO 'test_noprivs'@'localhost'
-use priv_db;
-
-Trigger create disabled - should fail - Bug 8887
-------------------------------------------------
-set @test_var= 'before trig 3.5.3.8-1c';
-insert into t1 (f1) values ('insert 3.5.3.8-1c');
-select @test_var;
-@test_var
-before trig 3.5.3.8-1c
-drop trigger trg5c_1;
-show grants;
-Grants for test_yesprivs@localhost
-GRANT SUPER 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 SUPER 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 SUPER 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 SUPER 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 SUPER ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT INSERT (f1), UPDATE (f1) ON `priv_db`.`t1` TO 'test_noprivs'@'localhost'
-connect(localhost,test_noprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-connect(localhost,test_yesprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-show grants;
-Grants for test_noprivs@localhost
-GRANT SUPER 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;
-
-Trigger create disabled - should fail - Bug 8887
-------------------------------------------------
-set @test_var='before trig 3.5.3.8-1d';
-insert into t1 (f1) values ('insert 3.5.3.8-1d');
-select @test_var;
-@test_var
-before trig 3.5.3.8-1d
-drop trigger trg5d_1;
-show grants;
-Grants for test_yesprivs@localhost
-GRANT SUPER 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;
-drop database if exists priv_db;
-drop user test_yesprivs@localhost;
-drop user test_noprivs@localhost;
-drop user test_noprivs;
-
-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=memory;
-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;
-f1
-Trigger 3.5.4.1
-drop trigger trg1;
-select trigger_schema, trigger_name, event_object_table
-from information_schema.triggers;
-trigger_schema trigger_name event_object_table
-Insert into t1 values ('Insert no trigger 3.5.4.1');
-Select * from t1;
-f1
-Trigger 3.5.4.1
-Insert no 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=memory;
-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=memory;
-create table t1_433a (f1a char (5)) engine=memory;
-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=memory;
-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;
-Database
-information_schema
-mysql
-test
-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=memory;
-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=memory;
-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=memory;
-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));
-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;
-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 HY000: Trigger already exists
-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 HY000: Trigger already exists
-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 HY000: Trigger already exists
-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 HY000: Trigger already exists
-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 HY000: Trigger already exists
-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 HY000: Trigger already exists
-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)
-----------------------------------------
-
-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=memory;
-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=memory;
-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=memory;
-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
-insert into db_test.t1_i
-values (new.f120, new.f136, new.f144, new.f163);
-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;
-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;
-u120 u136 u144 u163
-a 00111 0000099999 999.990000000000000000000000000000
-U 00222 0000023456 1.050000000000000000000000000000
-c 00333 0000099999 999.990000000000000000000000000000
-U 00222 0000023456 1.050000000000000000000000000000
-U 00222 0000023456 1.050000000000000000000000000000
-f 00333 0000099999 999.990000000000000000000000000000
-
-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;
-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';
-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';
-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';
-f120 f122 f136 @test_var @test_var2
-D Test 3.5.8.5-if 00101 three 2nd if
-D Test 3.5.8.5-if 00102 three 2nd if
-d Test 3.5.8.5-if 00010 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';
-f120 f122 f136 @test_var @test_var2
-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 00010 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';
-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';
-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';
-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';
-f120 f122 f136 f144 @test_var
-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
-1 Test 3.5.8.5-case 00152 0000099999 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';
-f120 f122 f136 f144 @test_var
-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
-1 Test 3.5.8.5-case 00152 0000099999 1=eight
-1 Test 3.5.8.5-case 00200 0000000008 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';
-f120 f122 f136 f144 @test_var
-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
-1 Test 3.5.8.5-case 00152 0000099999 1=eight
-1 Test 3.5.8.5-case 00200 0000000008 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)
-------------------------------------
-
-Testcase 3.5.8.7: (Disabled as a result of bug _____)
------------------------------------------------------
-
-Testcase 3.5.9.1/2:
--------------------
-Create trigger trg1 BEFORE UPDATE on tb3 for each row
-set new.f142 = 94087, @counter=@counter+1;
-TotalRows
-19
-Affected
-18
-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
-18 18
-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';
-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';
-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%';
-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 1263 Column set to default value; NULL supplied to NOT NULL column 'f136' at row 20
-select f118, f121, f122, f136, f151, f163 from tb3
-where f122 like 'Test 3.5.9.4-trig';
-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)
-----------------------------------------------
-
-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%';
-f121 f122 f151 f163
-NULL Test 3.5.10.1/2/3 2 111.110000000000000000000000000000
-NULL Test 3.5.10.1/2/3 1 111.110000000000000000000000000000
-select f121, f122, f151, f163 from vw11;
-f121 f122 f151 f163
-NULL Test 3.5.10.1/2/3 2 111.110000000000000000000000000000
-NULL Test 3.5.10.1/2/3 1 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%';
-f121 f122 f151 f163
-Y Test 3.5.10.1/2/3-Update 2 1.000000000000000000000000000000
-Y Test 3.5.10.1/2/3-Update 1 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
-Y Test 3.5.10.1/2/3-Update 1 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%';
-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=memory;
-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 'MYSQL_TEST_DIR/suite/funcs_1/data/t9.txt' into table tb_load;
-select @counter as 'Rows Loaded After';
-Rows Loaded After
-10
-Select * from tb_load 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=memory;
-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 to FETCH
-select @counter;
-@counter
-20
-select count(*) from tb3;
-count(*)
-20
-select count(*) from t1_sp;
-count(*)
-20
-drop procedure trig_sp;
-drop trigger trg;
-drop table t1_sp;
-
-Testcase 3.5.11.1 (implemented in trig_perf.test)
--------------------------------------------------
-drop user test_general@localhost;
-drop user test_general;
-drop user test_super@localhost;
-
-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);
-create table t2_1 (f1 integer);
-create table t2_2 (f1 integer);
-create table t2_3 (f1 integer);
-create table t2_4 (f1 integer);
-create table t3 (f1 integer);
-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;
-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 = memory;
-create table t2 (f2 integer) engine = memory;
-create table t3 (f3 integer) engine = memory;
-create table t4 (f4 integer) engine = memory;
-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;
-f1
-0
-1
-select * from t2;
-f2
-2
-select * from t3;
-f3
-3
-select * from t4;
-f4
-4
-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 (disabled bug 11889)
-----------------------------------------------------------------------
-set @sql_mode='traditional';
-create table t1_sp (
-count integer,
-var136 tinyint,
-var151 decimal) engine=memory;
-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 stored routines are not allowed.
-select @counter;
-@counter
-1
-select count(*) from tb3;
-count(*)
-20
-select count(*) from t1_sp;
-count(*)
-0
-drop procedure trig_sp;
-drop trigger trg;
-drop table t1_sp;
-
-Testcase y.y.y.5: Roleback 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 = memory;
-create table t2 (f2 integer) engine = memory;
-create table t3 (f3 integer) engine = memory;
-create table t4 (f4 tinyint) engine = memory;
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) default NULL
-) ENGINE=MEMORY 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;
-f1
-1
-1
-select * from t2;
-f2
-2
-select * from t3;
-f3
-3
-drop trigger tr1;
-drop trigger tr2;
-drop trigger tr3;
-drop table t1;
-drop table t2;
-drop table t3;
-drop table t4;
diff --git a/mysql-test/suite/funcs_1/r/memory_views.result b/mysql-test/suite/funcs_1/r/memory_views.result
index 38f708cd4a2..16de6d89450 100644
--- a/mysql-test/suite/funcs_1/r/memory_views.result
+++ b/mysql-test/suite/funcs_1/r/memory_views.result
@@ -1,122 +1,119 @@
-SET @NO_REFRESH = IF( '' = '', 0, 1);
USE test;
-set @@global.max_heap_table_size = 4294967295;
-set @@session.max_heap_table_size = 4294967295;
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",
+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 = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/memory_tb2.txt' into table tb2 ;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/memory_tb2.txt'
+into table tb2 ;
DROP DATABASE IF EXISTS test1;
CREATE DATABASE test1;
USE test1;
-set @@global.max_heap_table_size = 4294967295;
-set @@session.max_heap_table_size = 4294967295;
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",
+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 = memory;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/memory_tb2.txt' into table tb2 ;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/memory_tb2.txt'
+into table tb2 ;
USE test;
! Attention: The file with the expected results is not
@@ -127,11 +124,7 @@ USE test;
--------------------------------------------------------------------------------
There are some statements where the ps-protocol is switched off.
-Bug#11589: mysqltest, --ps-protocol, strange output, float/double/real with zerofill
---------------------------------------------------------------------------------
-
-! Attention: The file with the expected results suffers from
-Bug#10713: mysqldump includes database in create view and referenced tables
+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);
@@ -173,6 +166,58 @@ 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
@@ -188,47 +233,47 @@ 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 limit 0,10;
+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 limit 0,10;
+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
-10 10 0000000010
CREATE or REPLACE VIEW v1 AS select f59,f60,f61
-FROM test.tb2 limit 4,3;
-select * FROM v1 limit 0,10;
+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
-7 7 0000000007
CREATE or REPLACE VIEW v1 AS select distinct f59
-FROM test.tb2 limit 4,3;
-select * FROM v1 limit 0,10;
+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 limit 6,2;
-select * FROM v1 limit 0,10;
+FROM test.tb2;
+select * FROM v1 order by f59 limit 6,2;
f59
+6
7
-8
CREATE or REPLACE VIEW v1 AS select f59
-from tb2 order by f59 limit 100;
-select * FROM v1 limit 0,10;
+from tb2 order by f59;
+select * FROM v1 order by f59 limit 0,10;
f59
1
2
@@ -241,7 +286,7 @@ f59
8
9
CREATE or REPLACE VIEW v1 AS select f59
-from tb2 order by f59 asc limit 100;
+from tb2 order by f59 asc;
select * FROM v1 limit 0,10;
f59
1
@@ -255,7 +300,7 @@ f59
8
9
CREATE or REPLACE VIEW v1 AS select f59
-from tb2 order by f59 desc limit 100;
+from tb2 order by f59 desc;
select * FROM v1 limit 0,10;
f59
569300
@@ -269,8 +314,8 @@ f59
987
660
CREATE or REPLACE VIEW v1 AS select f59
-from tb2 group by f59 limit 100;
-select * FROM v1 limit 0,10;
+from tb2 group by f59;
+select * FROM v1 order by f59 limit 0,10;
f59
1
2
@@ -283,8 +328,8 @@ f59
9
10
CREATE or REPLACE VIEW v1 AS select f59
-from tb2 group by f59 asc limit 100;
-select * FROM v1 limit 0,10;
+from tb2 group by f59 asc;
+select * FROM v1 order by f59 limit 0,10;
f59
1
2
@@ -297,22 +342,22 @@ f59
9
10
CREATE or REPLACE VIEW v1 AS select f59
-from tb2 group by f59 desc limit 100;
-select * FROM v1 limit 0,10;
+from tb2 group by f59 desc;
+select * FROM v1 order by f59 limit 0,10;
f59
-569300
-76710
-9112
-7876
-3410
-3330
-2760
-2550
-987
-660
+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) limit 100;
-select * FROM v1 limit 0,10;
+union (select f59 from t1);
+select * FROM v1 order by f59 limit 0,10;
f59
1
2
@@ -326,7 +371,7 @@ f59
10
CREATE or REPLACE VIEW v1 AS (select f59 FROM tb2)
UNION DISTINCT(select f59 FROM t1) ;
-select * FROM v1 limit 0,10;
+select * FROM v1 order by f59 limit 0,10;
f59
1
2
@@ -340,103 +385,3101 @@ f59
10
CREATE or REPLACE VIEW v1 AS (select f59 FROM tb2)
UNION ALL(select f59 FROM t1) ;
-select * FROM v1 limit 0,10;
+select * FROM v1 order by f59 limit 0,10;
f59
1
2
3
4
+4
5
6
7
8
9
-10
CREATE or REPLACE VIEW v1 AS select *
FROM test.tb2 WITH LOCAL CHECK OPTION ;
-select * FROM v1 limit 0,50;
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
+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 limit 0,10;
-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
-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
+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 limit 0,10;
+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
-10 10
CREATE or REPLACE VIEW v1 AS select f59, f60
from test.tb2 where f59=3330 ;
-select * FROM v1 limit 0,10;
+select * FROM v1 order by f60 limit 0,10;
f59 f60
3330 764376
DROP VIEW v1 ;
@@ -499,8 +3542,8 @@ 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 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 'or REPLACE AS Select * from tb2 my_table limit 50' at line 1
+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 'WITH CASCADED CHECK OPTION AS Select *
@@ -509,8 +3552,8 @@ 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 'WITH LOCAL CHECK OPTION AS Select *
from tb2 my_table limit 50' at line 1
-SELECT * FROM tb2 my_table CREATE VIEW As v1 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 'CREATE VIEW As v1 limit 100' 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
@@ -585,8 +3628,8 @@ 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 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 'by order f59 limit 100' at line 2
+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
@@ -594,12 +3637,12 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
Testcase 3.3.1.5
--------------------------------------------------------------------------------
DROP VIEW IF EXISTS v1 ;
-CREATE VIEW v1 SELECT * FROM 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 * FROM tb2 limit 100' at line 1
-CREATE v1 AS SELECT * FROM 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 'v1 AS SELECT * FROM tb2 limit 100' at line 1
-VIEW v1 AS SELECT * FROM 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 'VIEW v1 AS SELECT * FROM tb2 limit 100' at line 1
+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;
@@ -617,45 +3660,43 @@ Testcase 3.3.1.6
--------------------------------------------------------------------------------
DROP VIEW IF EXISTS v1 ;
CREATE or REPLACE VIEW v1
-as SELECT * from tb2 limit 100 ;
+as SELECT * from tb2;
CREATE or REPLACE ALGORITHM = UNDEFINED VIEW v1
-as SELECT * from tb2 limit 100 ;
+as SELECT * from tb2;
CREATE or REPLACE ALGORITHM = MERGE VIEW v1
-as SELECT * from tb2 limit 100 ;
-Warnings:
-Warning 1354 View merge algorithm can't be used here for now (assumed undefined algorithm)
+as SELECT * from tb2;
CREATE or REPLACE ALGORITHM = TEMPTABLE VIEW v1
-as SELECT * from tb2 limit 100 ;
+as SELECT * from tb2;
CREATE or REPLACE ALGORITHM = TEMPTABLE VIEW v1
-as SELECT * from tb2 limit 100 ;
+as SELECT * from tb2;
CREATE or REPLACE = TEMPTABLE VIEW v1
-as SELECT * from tb2 limit 100 ;
+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 limit 100' at line 1
+as SELECT * from tb2' at line 1
CREATE or REPLACE ALGORITHM TEMPTABLE VIEW v1
-as SELECT * from tb2 limit 100 ;
+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 limit 100' at line 1
+as SELECT * from tb2' at line 1
CREATE or REPLACE ALGORITHM = VIEW v1
-as SELECT * from tb2 limit 100 ;
+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 limit 100' at line 1
+as SELECT * from tb2' at line 1
CREATE or REPLACE TEMPTABLE = ALGORITHM VIEW v1
-as SELECT * from tb2 limit 100 ;
+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 limit 100' at line 1
+as SELECT * from tb2' at line 1
CREATE or REPLACE TEMPTABLE - ALGORITHM VIEW v1
-as SELECT * from tb2 limit 100 ;
+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 limit 100' at line 1
+as SELECT * from tb2' at line 1
CREATE or REPLACE GARBAGE = TEMPTABLE VIEW v1
-as SELECT * from tb2 limit 100 ;
+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 limit 100' at line 1
+as SELECT * from tb2' at line 1
CREATE or REPLACE ALGORITHM = GARBAGE VIEW v1
-as SELECT * from tb2 limit 100 ;
+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 limit 100' at line 1
+as SELECT * from tb2' at line 1
Drop view if exists v1 ;
CREATE or REPLACE VIEW v1
AS SELECT * from tb2 where f59 < 1;
@@ -681,7 +3722,7 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
Testcase 3.3.1.7
--------------------------------------------------------------------------------
DROP VIEW IF EXISTS v1 ;
-Create view test.v1 AS Select * from test.tb2 limit 100 ;
+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 ;
@@ -867,73 +3908,172 @@ 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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `f1` from `t1` limit 2
+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
-v1 CREATE ALGORITHM=TEMPTABLE DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `f1` from `t1` limit 2
+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 limit 2;
+CREATE OR REPLACE VIEW test.v1 AS SELECT * FROM tb2 order by f59 limit 2;
SHOW CREATE VIEW test.v1;
-View Create View
-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` limit 2
-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
-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
-CREATE OR REPLACE VIEW test.v1 AS SELECT F59 FROM tb2 limit 10,100;
+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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `tb2`.`f59` AS `F59` from `tb2` limit 10,100
-SELECT * FROM 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
-76710
-2760
-569300
-660
-250
-340
-3410
-2550
-3330
-441
-24
-323
-34
-4
+10
15
+17
+19
22
-394
+24
+27
+29
+34
94
-195
-292
-987
-7876
-321
-9112
-500
-500
-500
+107
107
109
+109
+195
207
209
-27
-29
-17
-19
-107
-109
-299
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 ;
@@ -947,11 +4087,59 @@ 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 LIMIT 2;
+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
@@ -969,38 +4157,38 @@ 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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `f1` from `t1`
+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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `f1` from `t1`
+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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `my_column` from `t1`
+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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `column1`,`t1`.`f1` AS `column2` from `t1`
+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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `column1`,`t1`.`f1` AS `column2` from `t1`
+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
@@ -1084,8 +4272,8 @@ 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 LIMIT 2;
-SELECT * FROM test.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
@@ -1094,7 +4282,7 @@ 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 LIMIT 2;
+CREATE VIEW test.v1( product ) AS SELECT f59*f60 From tb2 WHERE f59 < 3;
SELECT * FROM test.v1;
product
1
@@ -1181,20 +4369,68 @@ DROP TEMPORARY TABLE t2;
Testcase 3.3.1.26
--------------------------------------------------------------------------------
DROP VIEW IF EXISTS v1;
-Create view test.v1 AS Select * from test.tb2 limit 2 ;
+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 limit 2 ;
+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 limit 20 ;
+Select * from test.v1_1 order by F59 limit 2;
F59
1
2
@@ -1208,58 +4444,2557 @@ 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 ;
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
+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 ;
@@ -1322,18 +7057,18 @@ 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 limit 0,10;
+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
-8 8
-9 9
Drop view if exists test.v1_firstview ;
Drop view if exists test.v1_secondview ;
Drop view if exists test.v1 ;
@@ -1351,18 +7086,18 @@ 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 limit 0,10;
+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
-8 8
-9 9
Drop view v1 ;
Drop view test.v1_firstview ;
Drop view test.v1_secondview ;
@@ -1377,18 +7112,18 @@ 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 limit 0,10;
+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
-8 8
-9 9
Drop view test.v1 ;
Drop view test.v1_firstview;
@@ -1401,18 +7136,18 @@ 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 limit 0,10;
+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
-8 8
-9 9
Drop database test2 ;
Testcase 3.3.1.37
@@ -1424,18 +7159,18 @@ 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 limit 0,10;
+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
-10 10
Create table t1(f59 int, f60 int);
Insert into t1 values (90,507) ;
Create view v1_1 as Select f59,f60 from t1 ;
@@ -1445,18 +7180,18 @@ f59 f60
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 limit 0,10;
+Select * from v1_main order by f59 limit 0,10;
f59
1
2
3
4
4
+4
+4
5
6
7
-8
-9
Drop table t1;
Drop view test.v1 ;
Drop view test.v1_1 ;
@@ -1741,29 +7476,29 @@ 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 limit 20 ;
-Select * from test.v1 ;
+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
-76710 226546
-2760 985654
-569300 9114376
-660 876546
-250 87895654
-340 9984376
-3410 996546
-2550 775654
-3330 764376
-441 16546
+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 ;
@@ -1796,7 +7531,7 @@ 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 ;
+SELECT * FROM test.v1 order by f59 ;
ERROR 42S02: Table 'test.v1' doesn't exist
Drop view if exists test.v1 ;
@@ -1850,12 +7585,110 @@ 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 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
-122 432 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
+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 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
-3000 432 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
+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;
@@ -1877,20 +7710,218 @@ 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 ;
+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 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
-30 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
-30 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
+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 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
-100 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
-100 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
-SELECT * FROM test.v1 ;
+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 ;
@@ -1967,7 +7998,7 @@ 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 ;
+SELECT * FROM test.v1 order by f59 ;
f59 f60
195 87
drop view if exists test.v1 ;
@@ -1981,7 +8012,7 @@ 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 ;
+SELECT * FROM test.v1 order by f59 ;
f59 f60
987 41
UPDATE test.v2 SET F59 = 9879 where f59 = 919 ;
@@ -9654,8 +15685,8 @@ 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
+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
@@ -9675,116 +15706,5189 @@ 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 limit 5 ;
-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
-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
-100 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
-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
+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 limit 50 ;
-SELECT * FROM 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
-100 0000000004
5 0000000005
6 0000000006
7 0000000007
8 0000000008
9 0000000009
10 0000000010
-76710 NULL
-2760 NULL
-569300 NULL
-660 NULL
-250 NULL
-340 NULL
-3410 NULL
-2550 NULL
-3330 NULL
-441 NULL
-24 NULL
-323 NULL
-34 NULL
-100 NULL
15 NULL
+17 0000000016
+19 0000000014
22 NULL
-394 NULL
+24 NULL
+27 0000000026
+29 0000000024
+34 NULL
94 NULL
-195 NULL
-292 NULL
-987 NULL
-7876 NULL
-321 0000000765
-9112 0000008771
-500 0000000900
-500 0000000900
-500 0000000900
+100 NULL
+100 0000000004
107 0000000106
+107 0000000106
+109 0000000104
109 0000000104
+195 NULL
207 0000000206
209 0000000204
-27 0000000026
-29 0000000024
-17 0000000016
-19 0000000014
-107 0000000106
-109 0000000104
-299 NULL
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 limit 20 ;
-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
-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
-100 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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
+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 limit 20 ;
-SELECT * FROM test.v1 limit 50;
+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
-100 0000000004
5 0000000005
6 0000000006
7 0000000007
8 0000000008
9 0000000009
10 0000000010
-76710 NULL
-2760 NULL
-569300 NULL
-660 NULL
-250 NULL
-340 NULL
-3410 NULL
-2550 NULL
-3330 NULL
-441 NULL
+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
@@ -9803,7 +20907,7 @@ 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 limit 50 ;
+Select * from test.v1 order by f59 limit 50 ;
f59 f60
1 10
2 20
@@ -9841,16 +20945,23 @@ 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<-
+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
@@ -9869,7 +20980,7 @@ 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;
+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
@@ -9882,7 +20993,7 @@ t1_f59 t2_f59 t1_f60 t2_f60 t1_f61 t2_f61
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;
+Select * from v1 order by t1_f59,t2_f59;
t1_f59 t2_f59
1 2
1 3
@@ -9908,7 +21019,7 @@ t1_f59 t2_f59
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;
+Select * from v1 order by t1_f59,t2_f59;
t1_f59 t2_f59
1 2
1 3
@@ -9934,7 +21045,7 @@ t1_f59 t2_f59
Create or replace view test.v1 as
Select f59, f60, f61, a, b
FROM t2 natural join t1;
-Select * from v1;
+Select * from v1 order by f59;
f59 f60 f61 a b
2 double 6 2 2
Select f59, f60, f61, a, b
@@ -9945,11 +21056,11 @@ 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;
+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
-NULL 4 NULL single NULL 4
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;
@@ -9960,7 +21071,7 @@ 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;
+Select * from v1 order by f59;
f59 f60 f61 a b
2 double 6 2 2
3 single-f3 6 NULL 3
@@ -9975,7 +21086,7 @@ 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;
+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
@@ -9990,11 +21101,11 @@ t1_f59 t2_f59 t1_f60 t2_f60 t1_f61 t2_f61
Create or replace view test.v1 as
Select f59, f60, a, b
FROM t2 natural right outer join t1;
-Select * from v1;
+Select * from v1 order by f59 desc;
f59 f60 a b
-1 single 1 NULL
-2 double 2 2
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
@@ -10015,18 +21126,18 @@ 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 limit 0,10;
+Select * from test.v1 order by f59 limit 0,10;
f59
1
2
3
-100
5
6
7
8
9
10
+15
Drop view if exists test.v1 ;
Drop table if exists t1 ;
Drop view if exists v1;
@@ -10036,7 +21147,7 @@ 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 limit 0,10;
+Select * from test.v1 order by f59 limit 0,10;
f59
207
Drop view if exists test.v1 ;
@@ -10048,7 +21159,7 @@ 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 limit 0,10;
+Select * from test.v1 order by f59 limit 0,10;
f59
27
Drop view test.v1 ;
@@ -10063,18 +21174,18 @@ 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 limit 0,10;
+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 limit 0,10;
+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 limit 0,10;
+Select * from test.v1 order by f59 limit 0,10;
f59
17
Drop view test.v1 ;
@@ -10086,7 +21197,7 @@ 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 limit 0,10;
+select * from test.v1 order by f59 limit 0,10;
f59
107
107
@@ -10094,7 +21205,7 @@ 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 limit 0,10;
+select * from test.v1 order by f59 limit 0,10;
f59
107
107
@@ -10103,14 +21214,14 @@ 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 limit 0,10;
+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 limit 0,10;
+select * from test.v1 order by f59 limit 0,10;
f59
107
drop view if exists test.v1 ;
@@ -10121,15 +21232,64 @@ 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 limit 0,10;
+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 limit 0,10;
-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
-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
+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
@@ -10255,8 +21415,8 @@ 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
-v32 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `test3`.`v32` AS select `v31`.`f1` AS `f1` from `test3`.`v31`
+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
@@ -10265,8 +21425,8 @@ id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 system NULL NULL NULL NULL 1
DROP VIEW test3.v0;
SHOW CREATE VIEW test3.v32;
-View Create View
-v32 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `test3`.`v32` AS select `v31`.`f1` AS `f1` from `test3`.`v31`
+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;
@@ -10274,15 +21434,13 @@ ERROR HY000: View 'test3.v32' references invalid table(s) or column(s) or functi
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 30 - hangs for higher values
+FIXME - Setting join_limit to 28 - hangs for higher values
----------------------------------------------------------
-SET @join_limit = 30;
+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.v29;
-DROP VIEW IF EXISTS test1.v28;
DROP VIEW IF EXISTS test1.v27;
DROP VIEW IF EXISTS test1.v26;
DROP VIEW IF EXISTS test1.v25;
@@ -10389,15 +21547,11 @@ 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;
-CREATE OR REPLACE VIEW test1.v28 AS SELECT f1, f2
-FROM test2.t1 tab1 NATURAL JOIN test1.v27 tab2;
-CREATE OR REPLACE VIEW test1.v29 AS SELECT f1, f2
-FROM test3.t1 tab1 NATURAL JOIN test1.v28 tab2;
-SHOW CREATE VIEW test1.v29;
-View Create View
-v29 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `test1`.`v29` AS select `tab1`.`f1` AS `f1`,`tab1`.`f2` AS `f2` from (`test3`.`t1` `tab1` join `test1`.`v28` `tab2` on(((`tab1`.`f1` = `tab2`.`f1`) and (`tab1`.`f2` = `tab2`.`f2`))))
+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.v29;
+CAST(f2 AS CHAR) AS f2 FROM test1.v27;
f1 f2
5 five
@@ -10406,14 +21560,14 @@ 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.v29;
-CREATE VIEW test1.v30 AS SELECT f1, f2
-FROM test3.t1 tab1 NATURAL JOIN test1.v29 tab2;
-SHOW CREATE VIEW test1.v30;
-View Create View
-v30 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `test1`.`v30` AS select `tab1`.`f1` AS `f1`,`tab1`.`f2` AS `f2` from (`test3`.`t1` `tab1` join `test1`.`v29` `tab2` on(((`tab1`.`f1` = `tab2`.`f1`) and (`tab1`.`f2` = `tab2`.`f2`))))
+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.v30;
+CAST(f2 AS CHAR) AS f2 FROM test1.v28;
f1 f2
5 five
@@ -10422,33 +21576,31 @@ 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.v30;
-DROP VIEW IF EXISTS test1.v30;
-CREATE OR REPLACE VIEW test1.v0 AS
+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
+CREATE OR REPLACE VIEW test2.v0 AS
SELECT CAST('0001-01-01' AS DATE) as f1, f2 FROM test3.t1;
-SHOW CREATE VIEW test1.v29;
+SHOW CREATE VIEW test1.v27;
SELECT CAST(f1 AS SIGNED INTEGER) AS f1,
-CAST(f2 AS CHAR) AS f2 FROM test1.v29;
+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.v29;
+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.v29;
+SHOW CREATE VIEW test1.v27;
SELECT CAST(f1 AS SIGNED INTEGER) AS f1,
-CAST(f2 AS CHAR) AS f2 FROM test1.v29;
+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.v29;
+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.v29;
+SHOW CREATE VIEW test1.v27;
SELECT CAST(f1 AS SIGNED INTEGER) AS f1,
-CAST(f2 AS CHAR) AS f2 FROM test1.v29;
+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.v29;
-DROP VIEW IF EXISTS test1.v29;
-DROP VIEW IF EXISTS test1.v28;
+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;
@@ -10500,8 +21652,57 @@ 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 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
-2005 101 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
+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
@@ -10517,9 +21718,58 @@ 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 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
-8 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
-SELECT f59,f60 FROM test.v1 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 ;
@@ -10533,12 +21783,211 @@ 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 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
-891 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
-891 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
-891 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
-891 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
-SELECT f59,f60 FROM test.v1 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
@@ -10555,7 +22004,7 @@ 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;
+SELECT f59,f60 FROM test.v1 where f59 = 789 order by f60 ;
f59 f60
Drop view test.v1 ;
@@ -10568,7 +22017,7 @@ 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;
+SELECT f59,f60 FROM test.v1 where f59 = 711 order by f60 ;
f59 f60
Drop view test.v1 ;
@@ -10886,17 +22335,13 @@ 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';
-
-Some server responses suffer from
-Bug#10773 Incorrect message is displayed while updating a view
---------------------------------------------------------------------------------
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;
-Got one of the listed errors
+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;
@@ -10904,7 +22349,7 @@ 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;
-Got one of the listed errors
+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;
@@ -10912,7 +22357,7 @@ 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;
-Got one of the listed errors
+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;
@@ -10920,7 +22365,7 @@ 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;
-Got one of the listed errors
+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;
@@ -10928,7 +22373,7 @@ 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;
-Got one of the listed errors
+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;
@@ -10936,7 +22381,7 @@ 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;
-Got one of the listed errors
+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;
@@ -10944,7 +22389,7 @@ 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;
-Got one of the listed errors
+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;
@@ -10952,7 +22397,7 @@ 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;
-Got one of the listed errors
+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;
@@ -10960,7 +22405,7 @@ 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;
-Got one of the listed errors
+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;
@@ -11129,9 +22574,9 @@ f1 f2 f4 report
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 ----------->',
+INSERT INTO t1 SET f1 = '<------------- 30 ----------->',
f4 = '<------ 20 -------->', report = 't1 5';
-INSERT INTO v1 SET f1 = '<------------- 30 ----------->',
+INSERT INTO v1 SET f1 = '<------------- 30 ----------->',
f4 = '<------ 20 -------->', report = 'v1 5';
DESCRIBE t1;
Field Type Null Key Default Extra
@@ -11421,21 +22866,24 @@ ABC 0
ABC 1.7320508075689
CREATE TABLE t2 AS SELECT f1, SQRT(f2) my_sqrt FROM t1;
SELECT * FROM t2 order by 2;
-f1 my_sqrt
-ABC 0
-ABC 1.73205080756888
+f1 ABC
+my_sqrt 0
+f1 ABC
+my_sqrt 1.73205080756888
DROP TABLE t2;
CREATE TABLE t2 AS SELECT * FROM v1;
SELECT * FROM t2 order by 2;
-f1 my_sqrt
-ABC 0
-ABC 1.73205080756888
+f1 ABC
+my_sqrt 0
+f1 ABC
+my_sqrt 1.73205080756888
DROP TABLE t2;
CREATE TABLE t2 AS SELECT * FROM v2;
SELECT * FROM t2 order by 2;
-f1 my_sqrt
-ABC 0
-ABC 1.73205080756888
+f1 ABC
+my_sqrt 0
+f1 ABC
+my_sqrt 1.73205080756888
DROP TABLE t1;
DROP TABLE t2;
DROP VIEW v1;
@@ -11450,4 +22898,5 @@ DROP VIEW IF EXISTS v1_secondview;
DROP VIEW IF EXISTS v2;
DROP DATABASE IF EXISTS test2;
DROP DATABASE IF EXISTS test3;
-DROP DATABASE IF EXISTS test1;
+DROP DATABASE test1;
+DROP TABLE test.tb2;
diff --git a/mysql-test/suite/funcs_1/r/myisam__datadict.result b/mysql-test/suite/funcs_1/r/myisam__datadict.result
deleted file mode 100644
index cbd13bae564..00000000000
--- a/mysql-test/suite/funcs_1/r/myisam__datadict.result
+++ /dev/null
@@ -1,15420 +0,0 @@
-
-.
-. It is intended that the 3 <engine>__datadict.test files are named this way to be
-. sure they are - in a *full run* of the suite - the first tests done for each
-. storage engine. Using two _ and the order of processing in mysql-test-run.pl
-. ensures this in an easy way.
-.
-. If needed a restart could be implemented later between the storage engines if
-. values changes in the result depending from the position where the
-. *__datadict.test are started. This can be a result of showing e.g. maximum
-. values of the number of rows of tables.
-.
-. This .result file has been checked OK with Linux 5.0.23-bk,
-. ChangeSet@1.2211, 2006-06-28 10:11:43-07:00.
-.
---------------------------------------------------------------------------------
-
-FIXME: There are subtests that are switched off due to known bugs:
-------------------------------------------------------------------
-SELECT 1 AS "have_bug_11589";
-have_bug_11589
-1
-
-There are some statements where the ps-protocol is switched off.
-This may come from the bug listed below, ir from other problems.
-Bug#11589: mysqltest, --ps-protocol, strange output, float/double/real with zerofill
---------------------------------------------------------------------------------
-SET @NO_REFRESH = IF( '' = '', 0, 1);
-DROP DATABASE IF EXISTS test1;
-CREATE DATABASE test1;
-USE test;
-drop table if exists tb1 ;
-create table tb1 (
-f1 char,
-f2 char binary,
-f3 char ascii,
-f4 tinytext unicode,
-f5 text,
-f6 mediumtext,
-f7 longtext,
-f8 tinyblob,
-f9 blob,
-f10 mediumblob,
-f11 longblob,
-f12 binary,
-f13 tinyint,
-f14 tinyint unsigned,
-f15 tinyint zerofill,
-f16 tinyint unsigned zerofill,
-f17 smallint,
-f18 smallint unsigned,
-f19 smallint zerofill,
-f20 smallint unsigned zerofill,
-f21 mediumint,
-f22 mediumint unsigned,
-f23 mediumint zerofill,
-f24 mediumint unsigned zerofill,
-f25 int,
-f26 int unsigned,
-f27 int zerofill,
-f28 int unsigned zerofill,
-f29 bigint,
-f30 bigint unsigned,
-f31 bigint zerofill,
-f32 bigint unsigned zerofill,
-f33 decimal not null DEFAULT 9.9,
-f34 decimal unsigned not null DEFAULT 9.9,
-f35 decimal zerofill not null DEFAULT 9.9,
-f36 decimal unsigned zerofill not null DEFAULT 9.9,
-f37 decimal (0) not null DEFAULT 9.9,
-f38 decimal (64) not null DEFAULT 9.9,
-f39 decimal (0) unsigned not null DEFAULT 9.9,
-f40 decimal (64) unsigned not null DEFAULT 9.9,
-f41 decimal (0) zerofill not null DEFAULT 9.9,
-f42 decimal (64) zerofill not null DEFAULT 9.9,
-f43 decimal (0) unsigned zerofill not null DEFAULT 9.9,
-f44 decimal (64) unsigned zerofill not null DEFAULT 9.9,
-f45 decimal (0,0) not null DEFAULT 9.9,
-f46 decimal (63,30) not null DEFAULT 9.9,
-f47 decimal (0,0) unsigned not null DEFAULT 9.9,
-f48 decimal (63,30) unsigned not null DEFAULT 9.9,
-f49 decimal (0,0) zerofill not null DEFAULT 9.9,
-f50 decimal (63,30) zerofill not null DEFAULT 9.9,
-f51 decimal (0,0) unsigned zerofill not null DEFAULT 9.9,
-f52 decimal (63,30) unsigned zerofill not null DEFAULT 9.9,
-f53 numeric not null DEFAULT 99,
-f54 numeric unsigned not null DEFAULT 99,
-f55 numeric zerofill not null DEFAULT 99,
-f56 numeric unsigned zerofill not null DEFAULT 99,
-f57 numeric (0) not null DEFAULT 99,
-f58 numeric (64) not null DEFAULT 99
-) engine = myisam;
-Warnings:
-Note 1265 Data truncated for column 'f33' at row 1
-Note 1265 Data truncated for column 'f34' at row 1
-Note 1265 Data truncated for column 'f35' at row 1
-Note 1265 Data truncated for column 'f36' at row 1
-Note 1265 Data truncated for column 'f37' at row 1
-Note 1265 Data truncated for column 'f38' at row 1
-Note 1265 Data truncated for column 'f39' at row 1
-Note 1265 Data truncated for column 'f40' at row 1
-Note 1265 Data truncated for column 'f41' at row 1
-Note 1265 Data truncated for column 'f42' at row 1
-Note 1265 Data truncated for column 'f43' at row 1
-Note 1265 Data truncated for column 'f44' at row 1
-Note 1265 Data truncated for column 'f45' at row 1
-Note 1265 Data truncated for column 'f47' at row 1
-Note 1265 Data truncated for column 'f49' at row 1
-Note 1265 Data truncated for column 'f51' at row 1
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/myisam_tb1.txt' into table tb1 ;
-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",
-f110 VARBINARY(64) null,
-f111 VARBINARY(27) null ,
-f112 VARBINARY(64) null ,
-f113 VARBINARY(192) null ,
-f114 VARBINARY(192) ,
-f115 VARBINARY(27) null ,
-f116 VARBINARY(64) null,
-f117 VARBINARY(192) null
-) engine = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/myisam_tb2.txt' into table tb2 ;
-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 tinytext,
-f122 text,
-f123 mediumtext,
-f124 longtext unicode,
-f125 tinyblob,
-f126 blob,
-f127 mediumblob,
-f128 longblob,
-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 = myisam;
-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 'MYSQL_TEST_DIR/suite/funcs_1/data/myisam_tb3.txt' into table tb3 ;
-drop table if exists tb4 ;
-create table tb4 (
-f176 numeric (0) unsigned not null DEFAULT 9,
-f177 numeric (64) unsigned not null DEFAULT 9,
-f178 numeric (0) zerofill not null DEFAULT 9,
-f179 numeric (64) zerofill not null DEFAULT 9,
-f180 numeric (0) unsigned zerofill not null DEFAULT 9,
-f181 numeric (64) unsigned zerofill not null DEFAULT 9,
-f182 numeric (0,0) not null DEFAULT 9,
-f183 numeric (63,30) not null DEFAULT 9,
-f184 numeric (0,0) unsigned not null DEFAULT 9,
-f185 numeric (63,30) unsigned not null DEFAULT 9,
-f186 numeric (0,0) zerofill not null DEFAULT 9,
-f187 numeric (63,30) zerofill not null DEFAULT 9,
-f188 numeric (0,0) unsigned zerofill not null DEFAULT 9,
-f189 numeric (63,30) unsigned zerofill not null DEFAULT 9,
-f190 real not null DEFAULT 88.8,
-f191 real unsigned not null DEFAULT 88.8,
-f192 real zerofill not null DEFAULT 88.8,
-f193 real unsigned zerofill not null DEFAULT 88.8,
-f194 double not null DEFAULT 55.5,
-f195 double unsigned not null DEFAULT 55.5,
-f196 double zerofill not null DEFAULT 55.5,
-f197 double unsigned zerofill not null DEFAULT 55.5,
-f198 float,
-f199 float unsigned,
-f200 float zerofill,
-f201 float unsigned zerofill,
-f202 float(0),
-f203 float(23),
-f204 float(0) unsigned,
-f205 float(23) unsigned,
-f206 float(0) zerofill,
-f207 float(23) zerofill,
-f208 float(0) unsigned zerofill,
-f209 float(23) unsigned zerofill,
-f210 float(24),
-f211 float(53),
-f212 float(24) unsigned,
-f213 float(53) unsigned,
-f214 float(24) zerofill,
-f215 float(53) zerofill,
-f216 float(24) unsigned zerofill,
-f217 float(53) unsigned zerofill,
-f218 date,
-f219 time,
-f220 datetime,
-f221 timestamp,
-f222 year,
-f223 year(3),
-f224 year(4),
-f225 enum("1enum","2enum"),
-f226 set("1set","2set"),
-f227 VARBINARY(64),
-f228 VARBINARY(27),
-f229 VARBINARY(64),
-f230 VARBINARY(192),
-f231 VARBINARY(192),
-f232 VARBINARY(27),
-f233 VARBINARY(64),
-f234 VARBINARY(192),
-f235 char(255) unicode,
-f236 char(60) ascii,
-f237 char(255) binary,
-f238 varchar(0) binary,
-f239 varbinary(1000),
-f240 varchar(120) unicode,
-f241 char(100) unicode,
-f242 bit(30)
-) engine = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/myisam_tb4.txt' into table tb4 ;
-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",
-f110 VARBINARY(64) null,
-f111 VARBINARY(27) null ,
-f112 VARBINARY(64) null ,
-f113 VARBINARY(192) null ,
-f114 VARBINARY(192) ,
-f115 VARBINARY(27) null ,
-f116 VARBINARY(64) null,
-f117 VARBINARY(192) null
-) engine = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/myisam_tb2.txt' into table tb2 ;
-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 = myisam;
-CREATE TABLE t2 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = myisam;
-CREATE TABLE t4 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = myisam;
-CREATE TABLE t10 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = myisam;
-CREATE TABLE t11 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = myisam;
-LOAD DATA INFILE 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' INTO TABLE t1;
-LOAD DATA INFILE 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' INTO TABLE t2;
-LOAD DATA INFILE 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' INTO TABLE t4;
-LOAD DATA INFILE 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' INTO TABLE t10;
-LOAD DATA INFILE 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' INTO TABLE t11;
-drop TABLE if exists t3;
-CREATE TABLE t3 (f1 char(20), f2 char(20), f3 integer) ENGINE = myisam;
-LOAD DATA INFILE 'MYSQL_TEST_DIR/suite/funcs_1/data/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 = myisam;
-LOAD DATA INFILE 'MYSQL_TEST_DIR/suite/funcs_1/data/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 = myisam;
-CREATE TABLE t8 (f1 char(20), f2 char(25), f3 date, f4 int) ENGINE = myisam;
-LOAD DATA INFILE 'MYSQL_TEST_DIR/suite/funcs_1/data/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 'MYSQL_TEST_DIR/suite/funcs_1/data/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 = myisam;
-LOAD DATA INFILE 'MYSQL_TEST_DIR/suite/funcs_1/data/t9.txt' INTO TABLE t9;
-use information_schema;
-
-root@localhost information_schema
-
-Testcase 3.2.1.1:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-CREATE DATABASE db_datadict;
-USE db_datadict;
-CREATE VIEW v1 AS SELECT * FROM information_schema.tables;
-CREATE OR REPLACE VIEW db_datadict.vu1 as
-SELECT grantee AS u
-FROM information_schema.user_privileges;
-CREATE OR REPLACE VIEW db_datadict.vu as
-SELECT DISTINCT u,
-SUBSTRING( u, LENGTH(SUBSTRING_INDEX(u,_utf8'@',1))+3 )
-AS server,
-SUBSTRING( u, LENGTH(SUBSTRING_INDEX(u,_utf8'@',1))+3,
-LENGTH( SUBSTRING( u,
-LENGTH( SUBSTRING_INDEX(u, _utf8'@',1)) +3 )) - 1 )
-AS Server_Clean
-FROM db_datadict.vu1;
-SELECT * FROM db_datadict.vu order by u;
-u server Server_Clean
-'root'@'127.0.0.1' 127.0.0.1' 127.0.0.1
-'root'@'<SERVER_NAME>' <SERVER_NAME>' <SERVER_NAME>
-'root'@'localhost' localhost' localhost
-CREATE PROCEDURE db_datadict.sp_1()
-BEGIN
-SELECT * FROM db_datadict.v1;
-END//
-USE information_schema;
-SHOW tables;
-Tables_in_information_schema
-CHARACTER_SETS
-COLLATIONS
-COLLATION_CHARACTER_SET_APPLICABILITY
-COLUMNS
-COLUMN_PRIVILEGES
-ENGINES
-EVENTS
-FILES
-GLOBAL_STATUS
-GLOBAL_VARIABLES
-KEY_COLUMN_USAGE
-PARTITIONS
-PLUGINS
-PROCESSLIST
-REFERENTIAL_CONSTRAINTS
-ROUTINES
-SCHEMATA
-SCHEMA_PRIVILEGES
-SESSION_STATUS
-SESSION_VARIABLES
-STATISTICS
-TABLES
-TABLE_CONSTRAINTS
-TABLE_PRIVILEGES
-TRIGGERS
-USER_PRIVILEGES
-VIEWS
-select * from schemata ORDER BY 2 DESC, 1 ASC;
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL test4 latin1 latin1_swedish_ci NULL
-NULL test1 latin1 latin1_swedish_ci NULL
-NULL test latin1 latin1_swedish_ci NULL
-NULL mysql latin1 latin1_swedish_ci NULL
-NULL information_schema utf8 utf8_general_ci NULL
-NULL db_datadict latin1 latin1_swedish_ci NULL
-SELECT * FROM tables
-WHERE table_schema = 'information_schema';
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME CHARACTER_SETS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME COLLATIONS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME COLLATION_CHARACTER_SET_APPLICABILITY
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME COLUMNS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME COLUMN_PRIVILEGES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME ENGINES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME EVENTS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME FILES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME GLOBAL_STATUS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME GLOBAL_VARIABLES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME KEY_COLUMN_USAGE
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME PARTITIONS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME PLUGINS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME PROCESSLIST
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME REFERENTIAL_CONSTRAINTS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME ROUTINES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME SCHEMATA
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME SCHEMA_PRIVILEGES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME SESSION_STATUS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME SESSION_VARIABLES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME STATISTICS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME TABLES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME TABLE_CONSTRAINTS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME TABLE_PRIVILEGES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME TRIGGERS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME USER_PRIVILEGES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME VIEWS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-SELECT * FROM tables
-WHERE NOT( table_schema = 'information_schema');
-TABLE_CATALOG NULL
-TABLE_SCHEMA db_datadict
-TABLE_NAME v1
-TABLE_TYPE VIEW
-ENGINE NULL
-VERSION NULL
-ROW_FORMAT NULL
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION NULL
-CHECKSUM NULL
-CREATE_OPTIONS NULL
-TABLE_COMMENT VIEW
-TABLE_CATALOG NULL
-TABLE_SCHEMA db_datadict
-TABLE_NAME vu
-TABLE_TYPE VIEW
-ENGINE NULL
-VERSION NULL
-ROW_FORMAT NULL
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION NULL
-CHECKSUM NULL
-CREATE_OPTIONS NULL
-TABLE_COMMENT VIEW
-TABLE_CATALOG NULL
-TABLE_SCHEMA db_datadict
-TABLE_NAME vu1
-TABLE_TYPE VIEW
-ENGINE NULL
-VERSION NULL
-ROW_FORMAT NULL
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION NULL
-CHECKSUM NULL
-CREATE_OPTIONS NULL
-TABLE_COMMENT VIEW
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME columns_priv
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Column privileges
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME db
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 2
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Database privileges
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME event
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Events
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME func
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT User defined functions
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME general_log
-TABLE_TYPE BASE TABLE
-ENGINE CSV
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 2
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT General log
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME help_category
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT help categories
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME help_keyword
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT help keywords
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME help_relation
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT keyword-topic relation
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME help_topic
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT help topics
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME host
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Host privileges; Merged with database privileges
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME ndb_binlog_index
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME plugin
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT MySQL plugins
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME proc
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 1
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Stored Procedures
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME procs_priv
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Procedure privileges
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME servers
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT MySQL Foreign Servers table
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME slow_log
-TABLE_TYPE BASE TABLE
-ENGINE CSV
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 2
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Slow log
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME tables_priv
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Table privileges
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME time_zone
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 5
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT 6
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Time zones
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME time_zone_leap_second
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 22
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Leap seconds information for time zones
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME time_zone_name
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 6
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Time zone names
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME time_zone_transition
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 393
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Time zone transitions
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME time_zone_transition_type
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 31
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Time zone transition types
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME user
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 3
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Users and global privileges
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t1
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t10
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t11
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t2
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t3
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t4
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t7
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t8
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t9
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME tb1
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME tb2
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME tb3
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME tb4
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test1
-TABLE_NAME tb2
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test4
-TABLE_NAME t6
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-select s.catalog_name, s.schema_name, s.default_character_set_name,
-t.table_type, t.engine
-from schemata s inner join tables t
-ORDER BY s.schema_name, s.default_character_set_name, table_type, engine;
-catalog_name schema_name default_character_set_name table_type engine
-NULL db_datadict latin1 BASE TABLE CSV
-NULL db_datadict latin1 BASE TABLE CSV
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 VIEW NULL
-NULL db_datadict latin1 VIEW NULL
-NULL db_datadict latin1 VIEW NULL
-NULL information_schema utf8 BASE TABLE CSV
-NULL information_schema utf8 BASE TABLE CSV
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 VIEW NULL
-NULL information_schema utf8 VIEW NULL
-NULL information_schema utf8 VIEW NULL
-NULL mysql latin1 BASE TABLE CSV
-NULL mysql latin1 BASE TABLE CSV
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 VIEW NULL
-NULL mysql latin1 VIEW NULL
-NULL mysql latin1 VIEW NULL
-NULL test latin1 BASE TABLE CSV
-NULL test latin1 BASE TABLE CSV
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 VIEW NULL
-NULL test latin1 VIEW NULL
-NULL test latin1 VIEW NULL
-NULL test1 latin1 BASE TABLE CSV
-NULL test1 latin1 BASE TABLE CSV
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 VIEW NULL
-NULL test1 latin1 VIEW NULL
-NULL test1 latin1 VIEW NULL
-NULL test4 latin1 BASE TABLE CSV
-NULL test4 latin1 BASE TABLE CSV
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 VIEW NULL
-NULL test4 latin1 VIEW NULL
-NULL test4 latin1 VIEW NULL
-select * from columns;
-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
-NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema CHARACTER_SETS DESCRIPTION 3 NO varchar 60 180 NULL NULL utf8 utf8_general_ci varchar(60) select
-NULL information_schema CHARACTER_SETS MAXLEN 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema COLLATIONS COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATIONS CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATIONS ID 3 0 NO bigint NULL NULL 19 0 NULL NULL bigint(11) select
-NULL information_schema COLLATIONS IS_DEFAULT 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLLATIONS IS_COMPILED 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLLATIONS SORTLEN 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLUMN_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLUMN_TYPE 15 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema COLUMNS COLUMN_KEY 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLUMNS EXTRA 17 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema COLUMNS PRIVILEGES 18 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema COLUMNS COLUMN_COMMENT 19 NO varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
-NULL information_schema COLUMN_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES COLUMN_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES PRIVILEGE_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES IS_GRANTABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ENGINES ENGINE 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ENGINES SUPPORT 2 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema ENGINES COMMENT 3 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema ENGINES TRANSACTIONS 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ENGINES XA 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ENGINES SAVEPOINTS 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema EVENTS EVENT_CATALOG 1 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS EVENT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS EVENT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS DEFINER 4 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
-NULL information_schema EVENTS TIME_ZONE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS EVENT_BODY 6 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema EVENTS EVENT_DEFINITION 7 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema EVENTS EVENT_TYPE 8 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
-NULL information_schema EVENTS EXECUTE_AT 9 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS INTERVAL_VALUE 10 NULL YES varchar 256 768 NULL NULL utf8 utf8_general_ci varchar(256) select
-NULL information_schema EVENTS INTERVAL_FIELD 11 NULL YES varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select
-NULL information_schema EVENTS SQL_MODE 12 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema EVENTS STARTS 13 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS ENDS 14 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS STATUS 15 NO varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select
-NULL information_schema EVENTS ON_COMPLETION 16 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema EVENTS CREATED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS LAST_ALTERED 18 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS LAST_EXECUTED 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS EVENT_COMMENT 20 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS ORIGINATOR 21 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select
-NULL information_schema FILES FILE_ID 1 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES FILE_NAME 2 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES FILE_TYPE 3 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema FILES TABLESPACE_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES TABLE_CATALOG 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES TABLE_SCHEMA 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES TABLE_NAME 7 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES LOGFILE_GROUP_NAME 8 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES LOGFILE_GROUP_NUMBER 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES ENGINE 10 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES FULLTEXT_KEYS 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES DELETED_ROWS 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES UPDATE_COUNT 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES FREE_EXTENTS 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES TOTAL_EXTENTS 15 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES EXTENT_SIZE 16 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES INITIAL_SIZE 17 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES MAXIMUM_SIZE 18 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES AUTOEXTEND_SIZE 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES CREATION_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES LAST_UPDATE_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES LAST_ACCESS_TIME 22 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES RECOVER_TIME 23 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES TRANSACTION_COUNTER 24 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES VERSION 25 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES ROW_FORMAT 26 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema FILES TABLE_ROWS 27 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES AVG_ROW_LENGTH 28 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES DATA_LENGTH 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES MAX_DATA_LENGTH 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES INDEX_LENGTH 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES DATA_FREE 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES CREATE_TIME 33 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES UPDATE_TIME 34 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES CHECK_TIME 35 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES CHECKSUM 36 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES STATUS 37 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema FILES EXTRA 38 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
-NULL information_schema GLOBAL_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema GLOBAL_STATUS VARIABLE_VALUE 2 0.0000000 NO decimal NULL NULL 22 7 NULL NULL decimal(22,7) select
-NULL information_schema GLOBAL_VARIABLES VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema GLOBAL_VARIABLES VARIABLE_VALUE 2 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE COLUMN_NAME 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE ORDINAL_POSITION 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select
-NULL information_schema KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(10) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_NAME 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME 12 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema PARTITIONS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS PARTITION_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS SUBPARTITION_NAME 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION 7 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS PARTITION_METHOD 8 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema PARTITIONS SUBPARTITION_METHOD 9 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema PARTITIONS PARTITION_EXPRESSION 10 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PARTITIONS SUBPARTITION_EXPRESSION 11 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PARTITIONS PARTITION_DESCRIPTION 12 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PARTITIONS TABLE_ROWS 13 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS AVG_ROW_LENGTH 14 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS DATA_LENGTH 15 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS MAX_DATA_LENGTH 16 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS INDEX_LENGTH 17 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS DATA_FREE 18 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS CREATE_TIME 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema PARTITIONS UPDATE_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema PARTITIONS CHECK_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema PARTITIONS CHECKSUM 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS PARTITION_COMMENT 23 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema PARTITIONS NODEGROUP 24 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema PARTITIONS TABLESPACE_NAME 25 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_VERSION 2 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema PLUGINS PLUGIN_STATUS 3 NO varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema PLUGINS PLUGIN_TYPE 4 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema PLUGINS PLUGIN_TYPE_VERSION 5 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema PLUGINS PLUGIN_LIBRARY 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_LIBRARY_VERSION 7 NULL YES varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema PLUGINS PLUGIN_AUTHOR 8 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_DESCRIPTION 9 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PLUGINS PLUGIN_LICENSE 10 NULL YES varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema PROCESSLIST ID 1 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema PROCESSLIST USER 2 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema PROCESSLIST HOST 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PROCESSLIST DB 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PROCESSLIST COMMAND 5 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema PROCESSLIST TIME 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(7) select
-NULL information_schema PROCESSLIST STATE 7 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PROCESSLIST INFO 8 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS MATCH_OPTION 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UPDATE_RULE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS DELETE_RULE 9 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS TABLE_NAME 10 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS REFERENCED_TABLE_NAME 11 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES SPECIFIC_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema ROUTINES ROUTINE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_TYPE 5 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
-NULL information_schema ROUTINES DTD_IDENTIFIER 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_BODY 7 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema ROUTINES ROUTINE_DEFINITION 8 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema ROUTINES EXTERNAL_NAME 9 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES EXTERNAL_LANGUAGE 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES PARAMETER_STYLE 11 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema ROUTINES IS_DETERMINISTIC 12 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ROUTINES SQL_DATA_ACCESS 13 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES SQL_PATH 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES SECURITY_TYPE 15 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select
-NULL information_schema ROUTINES CREATED 16 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema ROUTINES LAST_ALTERED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema ROUTINES SQL_MODE 18 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema ROUTINES ROUTINE_COMMENT 19 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES DEFINER 20 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
-NULL information_schema SCHEMATA CATALOG_NAME 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema SCHEMATA SCHEMA_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA DEFAULT_COLLATION_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA SQL_PATH 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema SCHEMA_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema SCHEMA_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMA_PRIVILEGES IS_GRANTABLE 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema SESSION_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SESSION_STATUS VARIABLE_VALUE 2 0.0000000 NO decimal NULL NULL 22 7 NULL NULL decimal(22,7) select
-NULL information_schema SESSION_VARIABLES VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SESSION_VARIABLES VARIABLE_VALUE 2 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema STATISTICS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema STATISTICS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS NON_UNIQUE 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(1) select
-NULL information_schema STATISTICS INDEX_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS INDEX_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS SEQ_IN_INDEX 7 0 NO bigint NULL NULL 19 0 NULL NULL bigint(2) select
-NULL information_schema STATISTICS COLUMN_NAME 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS COLLATION 9 NULL YES varchar 1 3 NULL NULL utf8 utf8_general_ci varchar(1) select
-NULL information_schema STATISTICS CARDINALITY 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select
-NULL information_schema STATISTICS SUB_PART 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema STATISTICS PACKED 12 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema STATISTICS NULLABLE 13 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema STATISTICS INDEX_TYPE 14 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema STATISTICS COMMENT 15 NULL YES varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema TABLES TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
-NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS TABLE_SCHEMA 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS TABLE_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema TABLE_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLE_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES PRIVILEGE_TYPE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES IS_GRANTABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema TRIGGERS TRIGGER_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TRIGGERS TRIGGER_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS TRIGGER_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS EVENT_MANIPULATION 4 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select
-NULL information_schema TRIGGERS EVENT_OBJECT_CATALOG 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TRIGGERS EVENT_OBJECT_SCHEMA 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS EVENT_OBJECT_TABLE 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_ORDER 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema TRIGGERS ACTION_CONDITION 9 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS ACTION_STATEMENT 10 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS ACTION_ORIENTATION 11 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
-NULL information_schema TRIGGERS ACTION_TIMING 12 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_TABLE 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_TABLE 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_ROW 15 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_ROW 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema TRIGGERS CREATED 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TRIGGERS SQL_MODE 18 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS DEFINER 19 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema USER_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema USER_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema USER_PRIVILEGES PRIVILEGE_TYPE 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema USER_PRIVILEGES IS_GRANTABLE 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema VIEWS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema VIEWS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema VIEWS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema VIEWS VIEW_DEFINITION 4 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema VIEWS CHECK_OPTION 5 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema VIEWS IS_UPDATABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema VIEWS DEFINER 7 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
-NULL information_schema VIEWS SECURITY_TYPE 8 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select
-NULL db_datadict v1 TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select,insert,update,references
-NULL db_datadict v1 TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
-NULL db_datadict v1 TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
-NULL db_datadict v1 TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
-NULL db_datadict v1 ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
-NULL db_datadict v1 VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references
-NULL db_datadict v1 ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select,insert,update,references
-NULL db_datadict v1 TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references
-NULL db_datadict v1 AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references
-NULL db_datadict v1 DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references
-NULL db_datadict v1 MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references
-NULL db_datadict v1 INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references
-NULL db_datadict v1 DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references
-NULL db_datadict v1 AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references
-NULL db_datadict v1 CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL db_datadict v1 UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL db_datadict v1 CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL db_datadict v1 TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
-NULL db_datadict v1 CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references
-NULL db_datadict v1 CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select,insert,update,references
-NULL db_datadict v1 TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select,insert,update,references
-NULL db_datadict vu u 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select,insert,update,references
-NULL db_datadict vu server 2 NO varchar 243 729 NULL NULL utf8 utf8_general_ci varchar(243) select,insert,update,references
-NULL db_datadict vu Server_Clean 3 NO varchar 243 729 NULL NULL utf8 utf8_general_ci varchar(243) select,insert,update,references
-NULL db_datadict vu1 u 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select,insert,update,references
-NULL mysql columns_priv Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
-NULL mysql columns_priv Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql columns_priv User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
-NULL mysql columns_priv Table_name 4 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql columns_priv Column_name 5 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql columns_priv Timestamp 6 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql columns_priv Column_priv 7 NO set 31 93 NULL NULL utf8 utf8_general_ci set('Select','Insert','Update','References') select,insert,update,references
-NULL mysql db Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
-NULL mysql db Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql db User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
-NULL mysql db Select_priv 4 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Insert_priv 5 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Update_priv 6 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Delete_priv 7 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Create_priv 8 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Drop_priv 9 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Grant_priv 10 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db References_priv 11 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Index_priv 12 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Alter_priv 13 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Create_tmp_table_priv 14 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Lock_tables_priv 15 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Create_view_priv 16 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Show_view_priv 17 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Create_routine_priv 18 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Alter_routine_priv 19 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Execute_priv 20 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Event_priv 21 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Trigger_priv 22 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql event db 1 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql event name 2 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) PRI select,insert,update,references
-NULL mysql event body 3 NULL NO longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references
-NULL mysql event definer 4 NO char 77 231 NULL NULL utf8 utf8_bin char(77) select,insert,update,references
-NULL mysql event execute_at 5 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL mysql event interval_value 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql event interval_field 7 NULL YES enum 18 54 NULL NULL utf8 utf8_general_ci enum('YEAR','QUARTER','MONTH','DAY','HOUR','MINUTE','WEEK','SECOND','MICROSECOND','YEAR_MONTH','DAY_HOUR','DAY_MINUTE','DAY_SECOND','HOUR_MINUTE','HOUR_SECOND','MINUTE_SECOND','DAY_MICROSECOND','HOUR_MICROSECOND','MINUTE_MICROSECOND','SECOND_MICROSECOND') select,insert,update,references
-NULL mysql event created 8 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql event modified 9 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql event last_executed 10 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL mysql event starts 11 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL mysql event ends 12 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL mysql event status 13 ENABLED NO enum 18 54 NULL NULL utf8 utf8_general_ci enum('ENABLED','DISABLED','SLAVESIDE_DISABLED') select,insert,update,references
-NULL mysql event on_completion 14 DROP NO enum 8 24 NULL NULL utf8 utf8_general_ci enum('DROP','PRESERVE') select,insert,update,references
-NULL mysql event sql_mode 15 NO set 431 1293 NULL NULL utf8 utf8_general_ci set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE') select,insert,update,references
-NULL mysql event comment 16 NO char 64 192 NULL NULL utf8 utf8_bin char(64) select,insert,update,references
-NULL mysql event originator 17 NULL NO int NULL NULL 10 0 NULL NULL int(10) select,insert,update,references
-NULL mysql event time_zone 18 SYSTEM NO char 64 64 NULL NULL latin1 latin1_swedish_ci char(64) select,insert,update,references
-NULL mysql func name 1 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql func ret 2 0 NO tinyint NULL NULL 3 0 NULL NULL tinyint(1) select,insert,update,references
-NULL mysql func dl 3 NO char 128 384 NULL NULL utf8 utf8_bin char(128) select,insert,update,references
-NULL mysql func type 4 NULL NO enum 9 27 NULL NULL utf8 utf8_general_ci enum('function','aggregate') select,insert,update,references
-NULL mysql general_log event_time 1 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql general_log user_host 2 NULL YES mediumtext 16777215 16777215 NULL NULL utf8 utf8_general_ci mediumtext select,insert,update,references
-NULL mysql general_log thread_id 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql general_log server_id 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql general_log command_type 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
-NULL mysql general_log argument 6 NULL YES mediumtext 16777215 16777215 NULL NULL utf8 utf8_general_ci mediumtext select,insert,update,references
-NULL mysql help_category help_category_id 1 NULL NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned PRI select,insert,update,references
-NULL mysql help_category name 2 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) UNI select,insert,update,references
-NULL mysql help_category parent_category_id 3 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references
-NULL mysql help_category url 4 NULL NO char 128 384 NULL NULL utf8 utf8_general_ci char(128) select,insert,update,references
-NULL mysql help_keyword help_keyword_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references
-NULL mysql help_keyword name 2 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) UNI select,insert,update,references
-NULL mysql help_relation help_topic_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references
-NULL mysql help_relation help_keyword_id 2 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references
-NULL mysql help_topic help_topic_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references
-NULL mysql help_topic name 2 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) UNI select,insert,update,references
-NULL mysql help_topic help_category_id 3 NULL NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references
-NULL mysql help_topic description 4 NULL NO text 65535 65535 NULL NULL utf8 utf8_general_ci text select,insert,update,references
-NULL mysql help_topic example 5 NULL NO text 65535 65535 NULL NULL utf8 utf8_general_ci text select,insert,update,references
-NULL mysql help_topic url 6 NULL NO char 128 384 NULL NULL utf8 utf8_general_ci char(128) select,insert,update,references
-NULL mysql host Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
-NULL mysql host Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql host Select_priv 3 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Insert_priv 4 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Update_priv 5 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Delete_priv 6 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Create_priv 7 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Drop_priv 8 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Grant_priv 9 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host References_priv 10 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Index_priv 11 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Alter_priv 12 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Create_tmp_table_priv 13 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Lock_tables_priv 14 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Create_view_priv 15 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Show_view_priv 16 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Create_routine_priv 17 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Alter_routine_priv 18 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Execute_priv 19 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Trigger_priv 20 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql ndb_binlog_index Position 1 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL mysql ndb_binlog_index File 2 NULL NO varchar 255 255 NULL NULL latin1 latin1_swedish_ci varchar(255) select,insert,update,references
-NULL mysql ndb_binlog_index epoch 3 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned PRI select,insert,update,references
-NULL mysql ndb_binlog_index inserts 4 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL mysql ndb_binlog_index updates 5 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL mysql ndb_binlog_index deletes 6 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL mysql ndb_binlog_index schemaops 7 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL mysql plugin name 1 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql plugin dl 2 NO char 128 384 NULL NULL utf8 utf8_bin char(128) select,insert,update,references
-NULL mysql proc db 1 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql proc name 2 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) PRI select,insert,update,references
-NULL mysql proc type 3 NULL NO enum 9 27 NULL NULL utf8 utf8_general_ci enum('FUNCTION','PROCEDURE') PRI select,insert,update,references
-NULL mysql proc specific_name 4 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql proc language 5 SQL NO enum 3 9 NULL NULL utf8 utf8_general_ci enum('SQL') select,insert,update,references
-NULL mysql proc sql_data_access 6 CONTAINS_SQL NO enum 17 51 NULL NULL utf8 utf8_general_ci enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA') select,insert,update,references
-NULL mysql proc is_deterministic 7 NO NO enum 3 9 NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references
-NULL mysql proc security_type 8 DEFINER NO enum 7 21 NULL NULL utf8 utf8_general_ci enum('INVOKER','DEFINER') select,insert,update,references
-NULL mysql proc param_list 9 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
-NULL mysql proc returns 10 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql proc body 11 NULL NO longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references
-NULL mysql proc definer 12 NO char 77 231 NULL NULL utf8 utf8_bin char(77) select,insert,update,references
-NULL mysql proc created 13 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql proc modified 14 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql proc sql_mode 15 NO set 431 1293 NULL NULL utf8 utf8_general_ci set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE') select,insert,update,references
-NULL mysql proc comment 16 NO char 64 192 NULL NULL utf8 utf8_bin char(64) select,insert,update,references
-NULL mysql procs_priv Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
-NULL mysql procs_priv Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql procs_priv User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
-NULL mysql procs_priv Routine_name 4 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql procs_priv Routine_type 5 NULL NO enum 9 27 NULL NULL utf8 utf8_bin enum('FUNCTION','PROCEDURE') PRI select,insert,update,references
-NULL mysql procs_priv Grantor 6 NO char 77 231 NULL NULL utf8 utf8_bin char(77) MUL select,insert,update,references
-NULL mysql procs_priv Proc_priv 7 NO set 27 81 NULL NULL utf8 utf8_general_ci set('Execute','Alter Routine','Grant') select,insert,update,references
-NULL mysql procs_priv Timestamp 8 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql servers Server_name 1 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) PRI select,insert,update,references
-NULL mysql servers Host 2 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql servers Db 3 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql servers Username 4 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql servers Password 5 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql servers Port 6 0 NO int NULL NULL 10 0 NULL NULL int(4) select,insert,update,references
-NULL mysql servers Socket 7 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql servers Wrapper 8 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql servers Owner 9 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql slow_log start_time 1 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql slow_log user_host 2 NULL NO mediumtext 16777215 16777215 NULL NULL utf8 utf8_general_ci mediumtext select,insert,update,references
-NULL mysql slow_log query_time 3 NULL NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references
-NULL mysql slow_log lock_time 4 NULL NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references
-NULL mysql slow_log rows_sent 5 NULL NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql slow_log rows_examined 6 NULL NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql slow_log db 7 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select,insert,update,references
-NULL mysql slow_log last_insert_id 8 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql slow_log insert_id 9 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql slow_log server_id 10 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql slow_log sql_text 11 NULL NO mediumtext 16777215 16777215 NULL NULL utf8 utf8_general_ci mediumtext select,insert,update,references
-NULL mysql tables_priv Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
-NULL mysql tables_priv Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql tables_priv User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
-NULL mysql tables_priv Table_name 4 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql tables_priv Grantor 5 NO char 77 231 NULL NULL utf8 utf8_bin char(77) MUL select,insert,update,references
-NULL mysql tables_priv Timestamp 6 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql tables_priv Table_priv 7 NO set 98 294 NULL NULL utf8 utf8_general_ci set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view','Trigger') select,insert,update,references
-NULL mysql tables_priv Column_priv 8 NO set 31 93 NULL NULL utf8 utf8_general_ci set('Select','Insert','Update','References') select,insert,update,references
-NULL mysql time_zone Time_zone_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI auto_increment select,insert,update,references
-NULL mysql time_zone Use_leap_seconds 2 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('Y','N') select,insert,update,references
-NULL mysql time_zone_leap_second Transition_time 1 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) PRI select,insert,update,references
-NULL mysql time_zone_leap_second Correction 2 NULL NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql time_zone_name Name 1 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) PRI select,insert,update,references
-NULL mysql time_zone_name Time_zone_id 2 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references
-NULL mysql time_zone_transition Time_zone_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references
-NULL mysql time_zone_transition Transition_time 2 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) PRI select,insert,update,references
-NULL mysql time_zone_transition Transition_type_id 3 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references
-NULL mysql time_zone_transition_type Time_zone_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references
-NULL 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
-NULL mysql time_zone_transition_type Offset 3 0 NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql time_zone_transition_type Is_DST 4 0 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references
-NULL mysql time_zone_transition_type Abbreviation 5 NO char 8 24 NULL NULL utf8 utf8_general_ci char(8) select,insert,update,references
-NULL mysql user Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
-NULL mysql user User 2 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
-NULL mysql user Password 3 NO char 41 41 NULL NULL latin1 latin1_bin char(41) select,insert,update,references
-NULL mysql user Select_priv 4 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Insert_priv 5 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Update_priv 6 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Delete_priv 7 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Create_priv 8 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Drop_priv 9 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Reload_priv 10 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Shutdown_priv 11 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Process_priv 12 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user File_priv 13 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Grant_priv 14 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user References_priv 15 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Index_priv 16 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Alter_priv 17 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Show_db_priv 18 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Super_priv 19 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Create_tmp_table_priv 20 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Lock_tables_priv 21 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Execute_priv 22 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Repl_slave_priv 23 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Repl_client_priv 24 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Create_view_priv 25 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Show_view_priv 26 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Create_routine_priv 27 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Alter_routine_priv 28 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Create_user_priv 29 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Event_priv 30 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Trigger_priv 31 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user ssl_type 32 NO enum 9 27 NULL NULL utf8 utf8_general_ci enum('','ANY','X509','SPECIFIED') select,insert,update,references
-NULL mysql user ssl_cipher 33 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
-NULL mysql user x509_issuer 34 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
-NULL mysql user x509_subject 35 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
-NULL mysql user max_questions 36 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references
-NULL mysql user max_updates 37 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references
-NULL mysql user max_connections 38 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references
-NULL mysql user max_user_connections 39 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references
-NULL test t1 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t1 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t1 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t1 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t1 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t1 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t10 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t10 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t10 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t10 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t10 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t10 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t11 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t11 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t11 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t11 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t11 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t11 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t2 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t2 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t2 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t2 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t2 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t2 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t3 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t3 f2 2 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t3 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t4 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t4 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t4 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t4 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t4 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t4 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t7 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t7 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t7 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t7 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t8 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t8 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t8 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t8 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t9 f1 1 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t9 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t9 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test tb1 f1 1 NULL YES char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
-NULL test tb1 f2 2 NULL YES char 1 1 NULL NULL latin1 latin1_bin char(1) select,insert,update,references
-NULL test tb1 f3 3 NULL YES char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
-NULL test tb1 f4 4 NULL YES tinytext 127 255 NULL NULL ucs2 ucs2_general_ci tinytext select,insert,update,references
-NULL test tb1 f5 5 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references
-NULL test tb1 f6 6 NULL YES mediumtext 16777215 16777215 NULL NULL latin1 latin1_swedish_ci mediumtext select,insert,update,references
-NULL test tb1 f7 7 NULL YES longtext 4294967295 4294967295 NULL NULL latin1 latin1_swedish_ci longtext select,insert,update,references
-NULL test tb1 f8 8 NULL YES tinyblob 255 255 NULL NULL NULL NULL tinyblob select,insert,update,references
-NULL test tb1 f9 9 NULL YES blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
-NULL test tb1 f10 10 NULL YES mediumblob 16777215 16777215 NULL NULL NULL NULL mediumblob select,insert,update,references
-NULL test tb1 f11 11 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references
-NULL test tb1 f12 12 NULL YES binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references
-NULL test tb1 f13 13 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references
-NULL test tb1 f14 14 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references
-NULL test tb1 f15 15 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb1 f16 16 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb1 f17 17 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references
-NULL test tb1 f18 18 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references
-NULL test tb1 f19 19 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb1 f20 20 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb1 f21 21 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references
-NULL test tb1 f22 22 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references
-NULL test tb1 f23 23 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb1 f24 24 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb1 f25 25 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test tb1 f26 26 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references
-NULL test tb1 f27 27 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb1 f28 28 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb1 f29 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references
-NULL test tb1 f30 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL test tb1 f31 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb1 f32 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb1 f33 33 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f34 34 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f35 35 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f36 36 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f37 37 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f38 38 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb1 f39 39 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f40 40 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb1 f41 41 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f42 42 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f43 43 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f44 44 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f45 45 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f46 46 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb1 f47 47 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f48 48 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb1 f49 49 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f50 50 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb1 f51 51 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f52 52 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb1 f53 53 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f54 54 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f55 55 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f56 56 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f57 57 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f58 58 99 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb2 f59 1 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb2 f60 2 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb2 f61 3 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f62 4 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f63 5 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f64 6 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f65 7 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb2 f66 8 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb2 f67 9 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb2 f68 10 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb2 f69 11 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f70 12 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb2 f71 13 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f72 14 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb2 f73 15 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb2 f74 16 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb2 f75 17 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f76 18 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f77 19 7.7 YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb2 f78 20 7.7 YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb2 f79 21 00000000000000000007.7 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f80 22 00000000000000000008.8 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f81 23 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f82 24 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f83 25 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f84 26 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f85 27 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f86 28 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f87 29 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f88 30 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f89 31 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f90 32 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f91 33 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f92 34 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f93 35 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f94 36 8.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb2 f95 37 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f96 38 8.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb2 f97 39 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f98 40 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f99 41 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f100 42 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f101 43 2000-01-01 NO date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test tb2 f102 44 00:00:20 NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references
-NULL test tb2 f103 45 0002-02-02 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL test tb2 f104 46 2000-12-31 23:59:59 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL test tb2 f105 47 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb2 f106 48 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb2 f107 49 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb2 f108 50 1enum NO enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references
-NULL test tb2 f109 51 1set NO set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references
-NULL test tb2 f110 52 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
-NULL test tb2 f111 53 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references
-NULL test tb2 f112 54 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
-NULL test tb2 f113 55 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
-NULL test tb2 f114 56 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
-NULL test tb2 f115 57 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references
-NULL test tb2 f116 58 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
-NULL test tb2 f117 59 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
-NULL test tb3 f118 1 a NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
-NULL test tb3 f119 2  NO char 1 1 NULL NULL latin1 latin1_bin char(1) select,insert,update,references
-NULL test tb3 f120 3  NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
-NULL test tb3 f121 4 NULL YES tinytext 255 255 NULL NULL latin1 latin1_swedish_ci tinytext select,insert,update,references
-NULL test tb3 f122 5 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references
-NULL test tb3 f123 6 NULL YES mediumtext 16777215 16777215 NULL NULL latin1 latin1_swedish_ci mediumtext select,insert,update,references
-NULL test tb3 f124 7 NULL YES longtext 2147483647 4294967295 NULL NULL ucs2 ucs2_general_ci longtext select,insert,update,references
-NULL test tb3 f125 8 NULL YES tinyblob 255 255 NULL NULL NULL NULL tinyblob select,insert,update,references
-NULL test tb3 f126 9 NULL YES blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
-NULL test tb3 f127 10 NULL YES mediumblob 16777215 16777215 NULL NULL NULL NULL mediumblob select,insert,update,references
-NULL test tb3 f128 11 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references
-NULL test tb3 f129 12  NO binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references
-NULL test tb3 f130 13 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references
-NULL test tb3 f131 14 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references
-NULL test tb3 f132 15 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb3 f133 16 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb3 f134 17 999 NO smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references
-NULL test tb3 f135 18 999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references
-NULL test tb3 f136 19 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb3 f137 20 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb3 f138 21 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references
-NULL test tb3 f139 22 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references
-NULL test tb3 f140 23 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb3 f141 24 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb3 f142 25 99999 NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test tb3 f143 26 99999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references
-NULL test tb3 f144 27 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb3 f145 28 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb3 f146 29 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references
-NULL test tb3 f147 30 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL test tb3 f148 31 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb3 f149 32 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb3 f150 33 1000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f151 34 999 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f152 35 0000001000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f153 36 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f154 37 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f155 38 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb3 f156 39 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f157 40 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb3 f158 41 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f159 42 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f160 43 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f161 44 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f162 45 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f163 46 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb3 f164 47 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f165 48 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb3 f166 49 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f167 50 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb3 f168 51 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f169 52 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb3 f170 53 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f171 54 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f172 55 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f173 56 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f174 57 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f175 58 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb4 f176 1 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb4 f177 2 9 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb4 f178 3 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f179 4 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f180 5 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f181 6 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f182 7 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb4 f183 8 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb4 f184 9 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb4 f185 10 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb4 f186 11 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f187 12 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb4 f188 13 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f189 14 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb4 f190 15 88.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb4 f191 16 88.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb4 f192 17 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f193 18 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f194 19 55.5 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb4 f195 20 55.5 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb4 f196 21 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f197 22 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f198 23 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f199 24 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f200 25 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f201 26 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f202 27 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f203 28 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f204 29 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f205 30 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f206 31 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f207 32 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f208 33 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f209 34 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f210 35 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f211 36 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb4 f212 37 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f213 38 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb4 f214 39 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f215 40 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f216 41 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f217 42 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f218 43 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test tb4 f219 44 NULL YES time NULL NULL NULL NULL NULL NULL time select,insert,update,references
-NULL test tb4 f220 45 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL test tb4 f221 46 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL test tb4 f222 47 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb4 f223 48 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb4 f224 49 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb4 f225 50 NULL YES enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references
-NULL test tb4 f226 51 NULL YES set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references
-NULL test tb4 f227 52 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
-NULL test tb4 f228 53 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references
-NULL test tb4 f229 54 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
-NULL test tb4 f230 55 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
-NULL test tb4 f231 56 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
-NULL test tb4 f232 57 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references
-NULL test tb4 f233 58 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
-NULL test tb4 f234 59 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
-NULL test tb4 f235 60 NULL YES char 255 510 NULL NULL ucs2 ucs2_general_ci char(255) select,insert,update,references
-NULL test tb4 f236 61 NULL YES char 60 60 NULL NULL latin1 latin1_swedish_ci char(60) select,insert,update,references
-NULL test tb4 f237 62 NULL YES char 255 255 NULL NULL latin1 latin1_bin char(255) select,insert,update,references
-NULL test tb4 f238 63 NULL YES varchar 0 0 NULL NULL latin1 latin1_bin varchar(0) select,insert,update,references
-NULL test tb4 f239 64 NULL YES varbinary 1000 1000 NULL NULL NULL NULL varbinary(1000) select,insert,update,references
-NULL test tb4 f240 65 NULL YES varchar 120 240 NULL NULL ucs2 ucs2_general_ci varchar(120) select,insert,update,references
-NULL test tb4 f241 66 NULL YES char 100 200 NULL NULL ucs2 ucs2_general_ci char(100) select,insert,update,references
-NULL test tb4 f242 67 NULL YES bit NULL NULL 30 NULL NULL NULL bit(30) select,insert,update,references
-NULL test1 tb2 f59 1 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test1 tb2 f60 2 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test1 tb2 f61 3 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test1 tb2 f62 4 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test1 tb2 f63 5 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test1 tb2 f64 6 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test1 tb2 f65 7 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test1 tb2 f66 8 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test1 tb2 f67 9 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test1 tb2 f68 10 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test1 tb2 f69 11 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test1 tb2 f70 12 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test1 tb2 f71 13 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test1 tb2 f72 14 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test1 tb2 f73 15 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test1 tb2 f74 16 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test1 tb2 f75 17 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test1 tb2 f76 18 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test1 tb2 f77 19 7.7 YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test1 tb2 f78 20 7.7 YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test1 tb2 f79 21 00000000000000000007.7 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test1 tb2 f80 22 00000000000000000008.8 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test1 tb2 f81 23 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test1 tb2 f82 24 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test1 tb2 f83 25 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test1 tb2 f84 26 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test1 tb2 f85 27 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test1 tb2 f86 28 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test1 tb2 f87 29 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test1 tb2 f88 30 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test1 tb2 f89 31 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test1 tb2 f90 32 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test1 tb2 f91 33 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test1 tb2 f92 34 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test1 tb2 f93 35 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test1 tb2 f94 36 8.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test1 tb2 f95 37 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test1 tb2 f96 38 8.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test1 tb2 f97 39 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test1 tb2 f98 40 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test1 tb2 f99 41 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test1 tb2 f100 42 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test1 tb2 f101 43 2000-01-01 NO date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test1 tb2 f102 44 00:00:20 NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references
-NULL test1 tb2 f103 45 0002-02-02 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL test1 tb2 f104 46 2000-12-31 23:59:59 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL test1 tb2 f105 47 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test1 tb2 f106 48 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test1 tb2 f107 49 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test1 tb2 f108 50 1enum NO enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references
-NULL test1 tb2 f109 51 1set NO set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references
-NULL test1 tb2 f110 52 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
-NULL test1 tb2 f111 53 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references
-NULL test1 tb2 f112 54 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
-NULL test1 tb2 f113 55 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
-NULL test1 tb2 f114 56 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
-NULL test1 tb2 f115 57 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references
-NULL test1 tb2 f116 58 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
-NULL test1 tb2 f117 59 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
-NULL test4 t6 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test4 t6 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test4 t6 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test4 t6 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test4 t6 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test4 t6 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-select * from character_sets;
-CHARACTER_SET_NAME DEFAULT_COLLATE_NAME DESCRIPTION MAXLEN
-big5 big5_chinese_ci Big5 Traditional Chinese 2
-dec8 dec8_swedish_ci DEC West European 1
-cp850 cp850_general_ci DOS West European 1
-hp8 hp8_english_ci HP West European 1
-koi8r koi8r_general_ci KOI8-R Relcom Russian 1
-latin1 latin1_swedish_ci cp1252 West European 1
-latin2 latin2_general_ci ISO 8859-2 Central European 1
-swe7 swe7_swedish_ci 7bit Swedish 1
-ascii ascii_general_ci US ASCII 1
-ujis ujis_japanese_ci EUC-JP Japanese 3
-sjis sjis_japanese_ci Shift-JIS Japanese 2
-hebrew hebrew_general_ci ISO 8859-8 Hebrew 1
-tis620 tis620_thai_ci TIS620 Thai 1
-euckr euckr_korean_ci EUC-KR Korean 2
-koi8u koi8u_general_ci KOI8-U Ukrainian 1
-gb2312 gb2312_chinese_ci GB2312 Simplified Chinese 2
-greek greek_general_ci ISO 8859-7 Greek 1
-cp1250 cp1250_general_ci Windows Central European 1
-gbk gbk_chinese_ci GBK Simplified Chinese 2
-latin5 latin5_turkish_ci ISO 8859-9 Turkish 1
-armscii8 armscii8_general_ci ARMSCII-8 Armenian 1
-utf8 utf8_general_ci UTF-8 Unicode 3
-ucs2 ucs2_general_ci UCS-2 Unicode 2
-cp866 cp866_general_ci DOS Russian 1
-keybcs2 keybcs2_general_ci DOS Kamenicky Czech-Slovak 1
-macce macce_general_ci Mac Central European 1
-macroman macroman_general_ci Mac West European 1
-cp852 cp852_general_ci DOS Central European 1
-latin7 latin7_general_ci ISO 8859-13 Baltic 1
-cp1251 cp1251_general_ci Windows Cyrillic 1
-cp1256 cp1256_general_ci Windows Arabic 1
-cp1257 cp1257_general_ci Windows Baltic 1
-binary binary Binary pseudo charset 1
-geostd8 geostd8_general_ci GEOSTD8 Georgian 1
-cp932 cp932_japanese_ci SJIS for Windows Japanese 2
-eucjpms eucjpms_japanese_ci UJIS for Windows Japanese 3
-select sum(id) from collations;
-sum(id)
-10840
-select collation_name, character_set_name into @x,@y
-from collation_character_set_applicability limit 1;
-select @x, @y;
-@x @y
-big5_chinese_ci big5
-select * from routines;
-SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER
-sp_1 NULL db_datadict sp_1 PROCEDURE NULL SQL BEGIN
-SELECT * FROM db_datadict.v1;
-END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost
-select count(*) from routines;
-count(*)
-1
-select * from statistics;
-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
-NULL mysql columns_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-NULL mysql columns_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE
-NULL mysql columns_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE
-NULL mysql columns_priv 0 mysql PRIMARY 4 Table_name A NULL NULL NULL BTREE
-NULL mysql columns_priv 0 mysql PRIMARY 5 Column_name A 0 NULL NULL BTREE
-NULL mysql db 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-NULL mysql db 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE
-NULL mysql db 0 mysql PRIMARY 3 User A 2 NULL NULL BTREE
-NULL mysql db 1 mysql User 1 User A 1 NULL NULL BTREE
-NULL mysql event 0 mysql PRIMARY 1 db A NULL NULL NULL BTREE
-NULL mysql event 0 mysql PRIMARY 2 name A 0 NULL NULL BTREE
-NULL mysql func 0 mysql PRIMARY 1 name A 0 NULL NULL BTREE
-NULL mysql help_category 0 mysql PRIMARY 1 help_category_id A 0 NULL NULL BTREE
-NULL mysql help_category 0 mysql name 1 name A 0 NULL NULL BTREE
-NULL mysql help_keyword 0 mysql PRIMARY 1 help_keyword_id A 0 NULL NULL BTREE
-NULL mysql help_keyword 0 mysql name 1 name A 0 NULL NULL BTREE
-NULL mysql help_relation 0 mysql PRIMARY 1 help_keyword_id A NULL NULL NULL BTREE
-NULL mysql help_relation 0 mysql PRIMARY 2 help_topic_id A 0 NULL NULL BTREE
-NULL mysql help_topic 0 mysql PRIMARY 1 help_topic_id A 0 NULL NULL BTREE
-NULL mysql help_topic 0 mysql name 1 name A 0 NULL NULL BTREE
-NULL mysql host 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-NULL mysql host 0 mysql PRIMARY 2 Db A 0 NULL NULL BTREE
-NULL mysql ndb_binlog_index 0 mysql PRIMARY 1 epoch A 0 NULL NULL BTREE
-NULL mysql plugin 0 mysql PRIMARY 1 name A 0 NULL NULL BTREE
-NULL mysql proc 0 mysql PRIMARY 1 db A NULL NULL NULL BTREE
-NULL mysql proc 0 mysql PRIMARY 2 name A NULL NULL NULL BTREE
-NULL mysql proc 0 mysql PRIMARY 3 type A 1 NULL NULL BTREE
-NULL mysql procs_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-NULL mysql procs_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE
-NULL mysql procs_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE
-NULL mysql procs_priv 0 mysql PRIMARY 4 Routine_name A NULL NULL NULL BTREE
-NULL mysql procs_priv 0 mysql PRIMARY 5 Routine_type A 0 NULL NULL BTREE
-NULL mysql procs_priv 1 mysql Grantor 1 Grantor A NULL NULL NULL BTREE
-NULL mysql servers 0 mysql PRIMARY 1 Server_name A 0 NULL NULL BTREE
-NULL mysql tables_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-NULL mysql tables_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE
-NULL mysql tables_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE
-NULL mysql tables_priv 0 mysql PRIMARY 4 Table_name A 0 NULL NULL BTREE
-NULL mysql tables_priv 1 mysql Grantor 1 Grantor A NULL NULL NULL BTREE
-NULL mysql time_zone 0 mysql PRIMARY 1 Time_zone_id A 5 NULL NULL BTREE
-NULL mysql time_zone_leap_second 0 mysql PRIMARY 1 Transition_time A 22 NULL NULL BTREE
-NULL mysql time_zone_name 0 mysql PRIMARY 1 Name A 6 NULL NULL BTREE
-NULL mysql time_zone_transition 0 mysql PRIMARY 1 Time_zone_id A NULL NULL NULL BTREE
-NULL mysql time_zone_transition 0 mysql PRIMARY 2 Transition_time A 393 NULL NULL BTREE
-NULL mysql time_zone_transition_type 0 mysql PRIMARY 1 Time_zone_id A NULL NULL NULL BTREE
-NULL mysql time_zone_transition_type 0 mysql PRIMARY 2 Transition_type_id A 31 NULL NULL BTREE
-NULL mysql user 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-NULL mysql user 0 mysql PRIMARY 2 User A 3 NULL NULL BTREE
-select * from views;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE
-NULL db_datadict v1 /* ALGORITHM=UNDEFINED */ select `tables`.`TABLE_CATALOG` AS `TABLE_CATALOG`,`tables`.`TABLE_SCHEMA` AS `TABLE_SCHEMA`,`tables`.`TABLE_NAME` AS `TABLE_NAME`,`tables`.`TABLE_TYPE` AS `TABLE_TYPE`,`tables`.`ENGINE` AS `ENGINE`,`tables`.`VERSION` AS `VERSION`,`tables`.`ROW_FORMAT` AS `ROW_FORMAT`,`tables`.`TABLE_ROWS` AS `TABLE_ROWS`,`tables`.`AVG_ROW_LENGTH` AS `AVG_ROW_LENGTH`,`tables`.`DATA_LENGTH` AS `DATA_LENGTH`,`tables`.`MAX_DATA_LENGTH` AS `MAX_DATA_LENGTH`,`tables`.`INDEX_LENGTH` AS `INDEX_LENGTH`,`tables`.`DATA_FREE` AS `DATA_FREE`,`tables`.`AUTO_INCREMENT` AS `AUTO_INCREMENT`,`tables`.`CREATE_TIME` AS `CREATE_TIME`,`tables`.`UPDATE_TIME` AS `UPDATE_TIME`,`tables`.`CHECK_TIME` AS `CHECK_TIME`,`tables`.`TABLE_COLLATION` AS `TABLE_COLLATION`,`tables`.`CHECKSUM` AS `CHECKSUM`,`tables`.`CREATE_OPTIONS` AS `CREATE_OPTIONS`,`tables`.`TABLE_COMMENT` AS `TABLE_COMMENT` from `information_schema`.`tables` NONE NO root@localhost DEFINER
-NULL db_datadict vu /* ALGORITHM=UNDEFINED */ select distinct `vu1`.`u` AS `u`,substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3)) AS `server`,substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3),(length(substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3))) - 1)) AS `Server_Clean` from `db_datadict`.`vu1` NONE NO root@localhost DEFINER
-NULL db_datadict vu1 /* ALGORITHM=UNDEFINED */ select `user_privileges`.`GRANTEE` AS `u` from `information_schema`.`user_privileges` NONE NO root@localhost DEFINER
-select * from user_privileges order by grantee, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'root'@'127.0.0.1' NULL ALTER YES
-'root'@'127.0.0.1' NULL ALTER ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE YES
-'root'@'127.0.0.1' NULL CREATE ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES
-'root'@'127.0.0.1' NULL CREATE USER YES
-'root'@'127.0.0.1' NULL CREATE VIEW YES
-'root'@'127.0.0.1' NULL DELETE YES
-'root'@'127.0.0.1' NULL DROP YES
-'root'@'127.0.0.1' NULL EVENT YES
-'root'@'127.0.0.1' NULL EXECUTE YES
-'root'@'127.0.0.1' NULL FILE YES
-'root'@'127.0.0.1' NULL INDEX YES
-'root'@'127.0.0.1' NULL INSERT YES
-'root'@'127.0.0.1' NULL LOCK TABLES YES
-'root'@'127.0.0.1' NULL PROCESS YES
-'root'@'127.0.0.1' NULL REFERENCES YES
-'root'@'127.0.0.1' NULL RELOAD YES
-'root'@'127.0.0.1' NULL REPLICATION CLIENT YES
-'root'@'127.0.0.1' NULL REPLICATION SLAVE YES
-'root'@'127.0.0.1' NULL SELECT YES
-'root'@'127.0.0.1' NULL SHOW DATABASES YES
-'root'@'127.0.0.1' NULL SHOW VIEW YES
-'root'@'127.0.0.1' NULL SHUTDOWN YES
-'root'@'127.0.0.1' NULL SUPER YES
-'root'@'127.0.0.1' NULL TRIGGER YES
-'root'@'127.0.0.1' NULL UPDATE YES
-'root'@'<SERVER_NAME>' NULL ALTER YES
-'root'@'<SERVER_NAME>' NULL ALTER ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE YES
-'root'@'<SERVER_NAME>' NULL CREATE ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE TEMPORARY TABLES YES
-'root'@'<SERVER_NAME>' NULL CREATE USER YES
-'root'@'<SERVER_NAME>' NULL CREATE VIEW YES
-'root'@'<SERVER_NAME>' NULL DELETE YES
-'root'@'<SERVER_NAME>' NULL DROP YES
-'root'@'<SERVER_NAME>' NULL EVENT YES
-'root'@'<SERVER_NAME>' NULL EXECUTE YES
-'root'@'<SERVER_NAME>' NULL FILE YES
-'root'@'<SERVER_NAME>' NULL INDEX YES
-'root'@'<SERVER_NAME>' NULL INSERT YES
-'root'@'<SERVER_NAME>' NULL LOCK TABLES YES
-'root'@'<SERVER_NAME>' NULL PROCESS YES
-'root'@'<SERVER_NAME>' NULL REFERENCES YES
-'root'@'<SERVER_NAME>' NULL RELOAD YES
-'root'@'<SERVER_NAME>' NULL REPLICATION CLIENT YES
-'root'@'<SERVER_NAME>' NULL REPLICATION SLAVE YES
-'root'@'<SERVER_NAME>' NULL SELECT YES
-'root'@'<SERVER_NAME>' NULL SHOW DATABASES YES
-'root'@'<SERVER_NAME>' NULL SHOW VIEW YES
-'root'@'<SERVER_NAME>' NULL SHUTDOWN YES
-'root'@'<SERVER_NAME>' NULL SUPER YES
-'root'@'<SERVER_NAME>' NULL TRIGGER YES
-'root'@'<SERVER_NAME>' NULL UPDATE YES
-'root'@'localhost' NULL ALTER YES
-'root'@'localhost' NULL ALTER ROUTINE YES
-'root'@'localhost' NULL CREATE YES
-'root'@'localhost' NULL CREATE ROUTINE YES
-'root'@'localhost' NULL CREATE TEMPORARY TABLES YES
-'root'@'localhost' NULL CREATE USER YES
-'root'@'localhost' NULL CREATE VIEW YES
-'root'@'localhost' NULL DELETE YES
-'root'@'localhost' NULL DROP YES
-'root'@'localhost' NULL EVENT YES
-'root'@'localhost' NULL EXECUTE YES
-'root'@'localhost' NULL FILE YES
-'root'@'localhost' NULL INDEX YES
-'root'@'localhost' NULL INSERT YES
-'root'@'localhost' NULL LOCK TABLES YES
-'root'@'localhost' NULL PROCESS YES
-'root'@'localhost' NULL REFERENCES YES
-'root'@'localhost' NULL RELOAD YES
-'root'@'localhost' NULL REPLICATION CLIENT YES
-'root'@'localhost' NULL REPLICATION SLAVE YES
-'root'@'localhost' NULL SELECT YES
-'root'@'localhost' NULL SHOW DATABASES YES
-'root'@'localhost' NULL SHOW VIEW YES
-'root'@'localhost' NULL SHUTDOWN YES
-'root'@'localhost' NULL SUPER YES
-'root'@'localhost' NULL TRIGGER YES
-'root'@'localhost' NULL UPDATE YES
-select * from schema_privileges;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
-''@'%' NULL test SELECT NO
-''@'%' NULL test INSERT NO
-''@'%' NULL test UPDATE NO
-''@'%' NULL test DELETE NO
-''@'%' NULL test CREATE NO
-''@'%' NULL test DROP NO
-''@'%' NULL test REFERENCES NO
-''@'%' NULL test INDEX NO
-''@'%' NULL test ALTER NO
-''@'%' NULL test CREATE TEMPORARY TABLES NO
-''@'%' NULL test LOCK TABLES NO
-''@'%' NULL test CREATE VIEW NO
-''@'%' NULL test SHOW VIEW NO
-''@'%' NULL test CREATE ROUTINE NO
-''@'%' NULL test EVENT NO
-''@'%' NULL test TRIGGER NO
-''@'%' NULL test\_% SELECT NO
-''@'%' NULL test\_% INSERT NO
-''@'%' NULL test\_% UPDATE NO
-''@'%' NULL test\_% DELETE NO
-''@'%' NULL test\_% CREATE NO
-''@'%' NULL test\_% DROP NO
-''@'%' NULL test\_% REFERENCES NO
-''@'%' NULL test\_% INDEX NO
-''@'%' NULL test\_% ALTER NO
-''@'%' NULL test\_% CREATE TEMPORARY TABLES NO
-''@'%' NULL test\_% LOCK TABLES NO
-''@'%' NULL test\_% CREATE VIEW NO
-''@'%' NULL test\_% SHOW VIEW NO
-''@'%' NULL test\_% CREATE ROUTINE NO
-''@'%' NULL test\_% EVENT NO
-''@'%' NULL test\_% TRIGGER NO
-select * from table_privileges;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select * from column_privileges;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select * from table_constraints;
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE
-NULL mysql PRIMARY mysql columns_priv PRIMARY KEY
-NULL mysql PRIMARY mysql db PRIMARY KEY
-NULL mysql PRIMARY mysql event PRIMARY KEY
-NULL mysql PRIMARY mysql func PRIMARY KEY
-NULL mysql PRIMARY mysql help_category PRIMARY KEY
-NULL mysql name mysql help_category UNIQUE
-NULL mysql PRIMARY mysql help_keyword PRIMARY KEY
-NULL mysql name mysql help_keyword UNIQUE
-NULL mysql PRIMARY mysql help_relation PRIMARY KEY
-NULL mysql PRIMARY mysql help_topic PRIMARY KEY
-NULL mysql name mysql help_topic UNIQUE
-NULL mysql PRIMARY mysql host PRIMARY KEY
-NULL mysql PRIMARY mysql ndb_binlog_index PRIMARY KEY
-NULL mysql PRIMARY mysql plugin PRIMARY KEY
-NULL mysql PRIMARY mysql proc PRIMARY KEY
-NULL mysql PRIMARY mysql procs_priv PRIMARY KEY
-NULL mysql PRIMARY mysql servers PRIMARY KEY
-NULL mysql PRIMARY mysql tables_priv PRIMARY KEY
-NULL mysql PRIMARY mysql time_zone PRIMARY KEY
-NULL mysql PRIMARY mysql time_zone_leap_second PRIMARY KEY
-NULL mysql PRIMARY mysql time_zone_name PRIMARY KEY
-NULL mysql PRIMARY mysql time_zone_transition PRIMARY KEY
-NULL mysql PRIMARY mysql time_zone_transition_type PRIMARY KEY
-NULL mysql PRIMARY mysql user PRIMARY KEY
-select * from key_column_usage;
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
-NULL mysql PRIMARY NULL mysql columns_priv Host 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql columns_priv Db 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql columns_priv User 3 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql columns_priv Table_name 4 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql columns_priv Column_name 5 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql db Host 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql db Db 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql db User 3 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql event db 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql event name 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql func name 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql help_category help_category_id 1 NULL NULL NULL NULL
-NULL mysql name NULL mysql help_category name 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql help_keyword help_keyword_id 1 NULL NULL NULL NULL
-NULL mysql name NULL mysql help_keyword name 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql help_relation help_keyword_id 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql help_relation help_topic_id 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql help_topic help_topic_id 1 NULL NULL NULL NULL
-NULL mysql name NULL mysql help_topic name 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql host Host 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql host Db 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql ndb_binlog_index epoch 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql plugin name 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql proc db 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql proc name 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql proc type 3 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql procs_priv Host 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql procs_priv Db 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql procs_priv User 3 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql procs_priv Routine_name 4 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql procs_priv Routine_type 5 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql servers Server_name 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql tables_priv Host 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql tables_priv Db 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql tables_priv User 3 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql tables_priv Table_name 4 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql time_zone Time_zone_id 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql time_zone_leap_second Transition_time 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql time_zone_name Name 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql time_zone_transition Time_zone_id 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql time_zone_transition Transition_time 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql time_zone_transition_type Time_zone_id 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql time_zone_transition_type Transition_type_id 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql user Host 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql user User 2 NULL NULL NULL NULL
-select count(*) as max_recs from key_column_usage;
-max_recs
-45
-select max(cardinality) from statistics;
-max(cardinality)
-393
-select concat("View '",
-table_name, "' is associated with the database '", table_schema, "'.")
-AS "Who is Who for the Views"
- from views;
-Who is Who for the Views
-View 'v1' is associated with the database 'db_datadict'.
-View 'vu' is associated with the database 'db_datadict'.
-View 'vu1' is associated with the database 'db_datadict'.
-select concat("Table or view '", table_name,
-"' is associated with the database '", table_schema, "'.") as "Who is Who"
- from tables;
-Who is Who
-Table or view 'CHARACTER_SETS' is associated with the database 'information_schema'.
-Table or view 'COLLATIONS' is associated with the database 'information_schema'.
-Table or view 'COLLATION_CHARACTER_SET_APPLICABILITY' is associated with the database 'information_schema'.
-Table or view 'COLUMNS' is associated with the database 'information_schema'.
-Table or view 'COLUMN_PRIVILEGES' is associated with the database 'information_schema'.
-Table or view 'ENGINES' is associated with the database 'information_schema'.
-Table or view 'EVENTS' is associated with the database 'information_schema'.
-Table or view 'FILES' is associated with the database 'information_schema'.
-Table or view 'GLOBAL_STATUS' is associated with the database 'information_schema'.
-Table or view 'GLOBAL_VARIABLES' is associated with the database 'information_schema'.
-Table or view 'KEY_COLUMN_USAGE' is associated with the database 'information_schema'.
-Table or view 'PARTITIONS' is associated with the database 'information_schema'.
-Table or view 'PLUGINS' is associated with the database 'information_schema'.
-Table or view 'PROCESSLIST' is associated with the database 'information_schema'.
-Table or view 'REFERENTIAL_CONSTRAINTS' is associated with the database 'information_schema'.
-Table or view 'ROUTINES' is associated with the database 'information_schema'.
-Table or view 'SCHEMATA' is associated with the database 'information_schema'.
-Table or view 'SCHEMA_PRIVILEGES' is associated with the database 'information_schema'.
-Table or view 'SESSION_STATUS' is associated with the database 'information_schema'.
-Table or view 'SESSION_VARIABLES' is associated with the database 'information_schema'.
-Table or view 'STATISTICS' is associated with the database 'information_schema'.
-Table or view 'TABLES' is associated with the database 'information_schema'.
-Table or view 'TABLE_CONSTRAINTS' is associated with the database 'information_schema'.
-Table or view 'TABLE_PRIVILEGES' is associated with the database 'information_schema'.
-Table or view 'TRIGGERS' is associated with the database 'information_schema'.
-Table or view 'USER_PRIVILEGES' is associated with the database 'information_schema'.
-Table or view 'VIEWS' is associated with the database 'information_schema'.
-Table or view 'v1' is associated with the database 'db_datadict'.
-Table or view 'vu' is associated with the database 'db_datadict'.
-Table or view 'vu1' is associated with the database 'db_datadict'.
-Table or view 'columns_priv' is associated with the database 'mysql'.
-Table or view 'db' is associated with the database 'mysql'.
-Table or view 'event' is associated with the database 'mysql'.
-Table or view 'func' is associated with the database 'mysql'.
-Table or view 'general_log' is associated with the database 'mysql'.
-Table or view 'help_category' is associated with the database 'mysql'.
-Table or view 'help_keyword' is associated with the database 'mysql'.
-Table or view 'help_relation' is associated with the database 'mysql'.
-Table or view 'help_topic' is associated with the database 'mysql'.
-Table or view 'host' is associated with the database 'mysql'.
-Table or view 'ndb_binlog_index' is associated with the database 'mysql'.
-Table or view 'plugin' is associated with the database 'mysql'.
-Table or view 'proc' is associated with the database 'mysql'.
-Table or view 'procs_priv' is associated with the database 'mysql'.
-Table or view 'servers' is associated with the database 'mysql'.
-Table or view 'slow_log' is associated with the database 'mysql'.
-Table or view 'tables_priv' is associated with the database 'mysql'.
-Table or view 'time_zone' is associated with the database 'mysql'.
-Table or view 'time_zone_leap_second' is associated with the database 'mysql'.
-Table or view 'time_zone_name' is associated with the database 'mysql'.
-Table or view 'time_zone_transition' is associated with the database 'mysql'.
-Table or view 'time_zone_transition_type' is associated with the database 'mysql'.
-Table or view 'user' is associated with the database 'mysql'.
-Table or view 't1' is associated with the database 'test'.
-Table or view 't10' is associated with the database 'test'.
-Table or view 't11' is associated with the database 'test'.
-Table or view 't2' is associated with the database 'test'.
-Table or view 't3' is associated with the database 'test'.
-Table or view 't4' is associated with the database 'test'.
-Table or view 't7' is associated with the database 'test'.
-Table or view 't8' is associated with the database 'test'.
-Table or view 't9' is associated with the database 'test'.
-Table or view 'tb1' is associated with the database 'test'.
-Table or view 'tb2' is associated with the database 'test'.
-Table or view 'tb3' is associated with the database 'test'.
-Table or view 'tb4' is associated with the database 'test'.
-Table or view 'tb2' is associated with the database 'test1'.
-Table or view 't6' is associated with the database 'test4'.
-select grantee as "user's having select privilege",
-substring( grantee, length(SUBSTRING_INDEX(grantee,_utf8'@',1))+2 )
-from user_privileges where privilege_type = 'select'
- order by grantee;
-user's having select privilege substring( grantee, length(SUBSTRING_INDEX(grantee,_utf8'@',1))+2 )
-'root'@'127.0.0.1' '127.0.0.1'
-'root'@'<SERVER_NAME>' '<SERVER_NAME>'
-'root'@'localhost' 'localhost'
-select all table_schema from schema_privileges limit 0,5;
-table_schema
-test
-test
-test
-test
-test
-select distinct(privilege_type) from table_privileges;
-privilege_type
-select * from column_privileges
-group by table_schema having table_schema = 'db_datadict';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select * from table_constraints limit 0,5;
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE
-NULL mysql PRIMARY mysql columns_priv PRIMARY KEY
-NULL mysql PRIMARY mysql db PRIMARY KEY
-NULL mysql PRIMARY mysql event PRIMARY KEY
-NULL mysql PRIMARY mysql func PRIMARY KEY
-NULL mysql PRIMARY mysql help_category PRIMARY KEY
-select count(*) as max_recs from key_column_usage limit 0,5;
-max_recs
-45
-select information_schema.tables.table_name as "table name",
-count(distinct(column_name)) as "no of columns in the table"
- from information_schema.tables left outer join information_schema.columns on
-information_schema.tables.table_name = information_schema.columns.table_name
-group by information_schema.tables.table_name;
-table name no of columns in the table
-CHARACTER_SETS 4
-COLLATIONS 6
-COLLATION_CHARACTER_SET_APPLICABILITY 2
-COLUMNS 19
-columns_priv 7
-COLUMN_PRIVILEGES 7
-db 22
-ENGINES 6
-event 18
-EVENTS 21
-FILES 38
-func 4
-general_log 6
-GLOBAL_STATUS 2
-GLOBAL_VARIABLES 2
-help_category 4
-help_keyword 2
-help_relation 2
-help_topic 6
-host 20
-KEY_COLUMN_USAGE 12
-ndb_binlog_index 7
-PARTITIONS 25
-plugin 2
-PLUGINS 10
-proc 16
-PROCESSLIST 8
-procs_priv 8
-REFERENTIAL_CONSTRAINTS 11
-ROUTINES 20
-SCHEMATA 5
-SCHEMA_PRIVILEGES 5
-servers 9
-SESSION_STATUS 2
-SESSION_VARIABLES 2
-slow_log 11
-STATISTICS 15
-t1 6
-t10 6
-t11 6
-t2 6
-t3 3
-t4 6
-t6 6
-t7 4
-t8 4
-t9 3
-TABLES 21
-tables_priv 8
-TABLE_CONSTRAINTS 6
-TABLE_PRIVILEGES 6
-tb1 58
-tb2 59
-tb3 58
-tb4 67
-time_zone 2
-time_zone_leap_second 2
-time_zone_name 2
-time_zone_transition 3
-time_zone_transition_type 5
-TRIGGERS 19
-user 39
-USER_PRIVILEGES 4
-v1 21
-VIEWS 8
-vu 3
-vu1 1
-
-root: simple select to check all - and never forget some - tables
------------------------------------------------------------------
-SELECT * FROM schemata LIMIT 1;
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL information_schema utf8 utf8_general_ci NULL
-SELECT * FROM tables LIMIT 1;
-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
-NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO#
-SELECT * FROM columns LIMIT 1;
-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
-NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-SELECT * FROM character_sets LIMIT 1;
-CHARACTER_SET_NAME DEFAULT_COLLATE_NAME DESCRIPTION MAXLEN
-big5 big5_chinese_ci Big5 Traditional Chinese 2
-SELECT * FROM collations LIMIT 1;
-COLLATION_NAME CHARACTER_SET_NAME ID IS_DEFAULT IS_COMPILED SORTLEN
-big5_chinese_ci big5 1 Yes Yes 1
-SELECT * FROM collation_character_set_applicability LIMIT 1;
-COLLATION_NAME CHARACTER_SET_NAME
-big5_chinese_ci big5
-SELECT * FROM routines LIMIT 1;
-SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER
-sp_1 NULL db_datadict sp_1 PROCEDURE NULL SQL BEGIN
-SELECT * FROM db_datadict.v1;
-END NULL NULL SQL NO CONTAINS SQL NULL DEFINER <Created> <Last_Altered> root@localhost
-SELECT * FROM statistics LIMIT 1;
-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
-NULL mysql columns_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-SELECT * FROM views LIMIT 1;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE
-NULL db_datadict v1 /* ALGORITHM=UNDEFINED */ select `tables`.`TABLE_CATALOG` AS `TABLE_CATALOG`,`tables`.`TABLE_SCHEMA` AS `TABLE_SCHEMA`,`tables`.`TABLE_NAME` AS `TABLE_NAME`,`tables`.`TABLE_TYPE` AS `TABLE_TYPE`,`tables`.`ENGINE` AS `ENGINE`,`tables`.`VERSION` AS `VERSION`,`tables`.`ROW_FORMAT` AS `ROW_FORMAT`,`tables`.`TABLE_ROWS` AS `TABLE_ROWS`,`tables`.`AVG_ROW_LENGTH` AS `AVG_ROW_LENGTH`,`tables`.`DATA_LENGTH` AS `DATA_LENGTH`,`tables`.`MAX_DATA_LENGTH` AS `MAX_DATA_LENGTH`,`tables`.`INDEX_LENGTH` AS `INDEX_LENGTH`,`tables`.`DATA_FREE` AS `DATA_FREE`,`tables`.`AUTO_INCREMENT` AS `AUTO_INCREMENT`,`tables`.`CREATE_TIME` AS `CREATE_TIME`,`tables`.`UPDATE_TIME` AS `UPDATE_TIME`,`tables`.`CHECK_TIME` AS `CHECK_TIME`,`tables`.`TABLE_COLLATION` AS `TABLE_COLLATION`,`tables`.`CHECKSUM` AS `CHECKSUM`,`tables`.`CREATE_OPTIONS` AS `CREATE_OPTIONS`,`tables`.`TABLE_COMMENT` AS `TABLE_COMMENT` from `information_schema`.`tables` NONE NO root@localhost DEFINER
-SELECT * FROM user_privileges LIMIT 1;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'root'@'localhost' NULL SELECT YES
-SELECT * FROM schema_privileges LIMIT 1;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
-''@'%' NULL test SELECT NO
-SELECT * FROM table_privileges LIMIT 1;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-SELECT * FROM column_privileges LIMIT 1;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-SELECT * FROM table_constraints LIMIT 1;
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE
-NULL mysql PRIMARY mysql columns_priv PRIMARY KEY
-SELECT * FROM key_column_usage LIMIT 1;
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
-NULL mysql PRIMARY NULL mysql columns_priv Host 1 NULL NULL NULL NULL
-SELECT * FROM triggers LIMIT 1;
-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
-SELECT * FROM parameters LIMIT 1;
-ERROR 42S02: Unknown table 'parameters' in information_schema
-SELECT * FROM referential_constraints LIMIT 1;
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME UNIQUE_CONSTRAINT_CATALOG UNIQUE_CONSTRAINT_SCHEMA UNIQUE_CONSTRAINT_NAME MATCH_OPTION UPDATE_RULE DELETE_RULE TABLE_NAME REFERENCED_TABLE_NAME
-use db_datadict;
-select * from schemata;
-ERROR 42S02: Table 'db_datadict.schemata' doesn't exist
-select * from tables;
-ERROR 42S02: Table 'db_datadict.tables' doesn't exist
-select s.catalog_name, s.schema_name, s.default_character_set_name,
-t.table_type, t.engine
-from schemata s inner join tables t
-ORDER BY s.catalog_name, s.schema_name, s.default_character_set_name;
-ERROR 42S02: Table 'db_datadict.schemata' doesn't exist
-select * from columns limit 0, 5;
-ERROR 42S02: Table 'db_datadict.columns' doesn't exist
-select * from character_sets limit 0, 5;
-ERROR 42S02: Table 'db_datadict.character_sets' doesn't exist
-select * from collations limit 0, 5;
-ERROR 42S02: Table 'db_datadict.collations' doesn't exist
-select * from collation_character_set_applicability limit 0, 5;
-ERROR 42S02: Table 'db_datadict.collation_character_set_applicability' doesn't exist
-select * from routines limit 0, 5;
-ERROR 42S02: Table 'db_datadict.routines' doesn't exist
-select * from statistics limit 0, 5;
-ERROR 42S02: Table 'db_datadict.statistics' doesn't exist
-select * from views limit 0, 5;
-ERROR 42S02: Table 'db_datadict.views' doesn't exist
-select * from user_privileges limit 0, 5;
-ERROR 42S02: Table 'db_datadict.user_privileges' doesn't exist
-select * from schema_privileges limit 0, 5;
-ERROR 42S02: Table 'db_datadict.schema_privileges' doesn't exist
-select * from table_privileges limit 0, 5;
-ERROR 42S02: Table 'db_datadict.table_privileges' doesn't exist
-select * from column_privileges limit 0, 5;
-ERROR 42S02: Table 'db_datadict.column_privileges' doesn't exist
-select * from table_constraints limit 0, 5;
-ERROR 42S02: Table 'db_datadict.table_constraints' doesn't exist
-select * from key_column_usage limit 0, 5;
-ERROR 42S02: Table 'db_datadict.key_column_usage' doesn't exist
-
-will fail due to missing database name
---------------------------------------
-
-known error 1146:
------------------
-SELECT * FROM schemata ;
-ERROR 42S02: Table 'db_datadict.schemata' doesn't exist
-SELECT * FROM tables ;
-ERROR 42S02: Table 'db_datadict.tables' doesn't exist
-SELECT * FROM columns ;
-ERROR 42S02: Table 'db_datadict.columns' doesn't exist
-SELECT * FROM character_sets ;
-ERROR 42S02: Table 'db_datadict.character_sets' doesn't exist
-SELECT * FROM collations ;
-ERROR 42S02: Table 'db_datadict.collations' doesn't exist
-SELECT * FROM collation_character_set_applicability ;
-ERROR 42S02: Table 'db_datadict.collation_character_set_applicability' doesn't exist
-SELECT * FROM routines ;
-ERROR 42S02: Table 'db_datadict.routines' doesn't exist
-SELECT * FROM statistics ;
-ERROR 42S02: Table 'db_datadict.statistics' doesn't exist
-SELECT * FROM views ;
-ERROR 42S02: Table 'db_datadict.views' doesn't exist
-SELECT * FROM user_privileges ;
-ERROR 42S02: Table 'db_datadict.user_privileges' doesn't exist
-SELECT * FROM schema_privileges ;
-ERROR 42S02: Table 'db_datadict.schema_privileges' doesn't exist
-SELECT * FROM table_privileges ;
-ERROR 42S02: Table 'db_datadict.table_privileges' doesn't exist
-SELECT * FROM column_privileges ;
-ERROR 42S02: Table 'db_datadict.column_privileges' doesn't exist
-SELECT * FROM table_constraints ;
-ERROR 42S02: Table 'db_datadict.table_constraints' doesn't exist
-SELECT * FROM key_column_usage ;
-ERROR 42S02: Table 'db_datadict.key_column_usage' doesn't exist
-SELECT * FROM triggers ;
-ERROR 42S02: Table 'db_datadict.triggers' doesn't exist
-select * from information_schema.schemata ORDER BY 2 DESC;
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL test4 latin1 latin1_swedish_ci NULL
-NULL test1 latin1 latin1_swedish_ci NULL
-NULL test latin1 latin1_swedish_ci NULL
-NULL mysql latin1 latin1_swedish_ci NULL
-NULL information_schema utf8 utf8_general_ci NULL
-NULL db_datadict latin1 latin1_swedish_ci NULL
-SELECT * FROM information_schema.tables
-WHERE table_schema = 'information_schema';
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME CHARACTER_SETS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME COLLATIONS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME COLLATION_CHARACTER_SET_APPLICABILITY
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME COLUMNS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME COLUMN_PRIVILEGES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME ENGINES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME EVENTS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME FILES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME GLOBAL_STATUS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME GLOBAL_VARIABLES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME KEY_COLUMN_USAGE
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME PARTITIONS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME PLUGINS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME PROCESSLIST
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME REFERENTIAL_CONSTRAINTS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME ROUTINES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME SCHEMATA
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME SCHEMA_PRIVILEGES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME SESSION_STATUS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME SESSION_VARIABLES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME STATISTICS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME TABLES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME TABLE_CONSTRAINTS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME TABLE_PRIVILEGES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME TRIGGERS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME USER_PRIVILEGES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME VIEWS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-SELECT * FROM information_schema.tables
-WHERE NOT( table_schema = 'information_schema');
-TABLE_CATALOG NULL
-TABLE_SCHEMA db_datadict
-TABLE_NAME v1
-TABLE_TYPE VIEW
-ENGINE NULL
-VERSION NULL
-ROW_FORMAT NULL
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION NULL
-CHECKSUM NULL
-CREATE_OPTIONS NULL
-TABLE_COMMENT VIEW
-TABLE_CATALOG NULL
-TABLE_SCHEMA db_datadict
-TABLE_NAME vu
-TABLE_TYPE VIEW
-ENGINE NULL
-VERSION NULL
-ROW_FORMAT NULL
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION NULL
-CHECKSUM NULL
-CREATE_OPTIONS NULL
-TABLE_COMMENT VIEW
-TABLE_CATALOG NULL
-TABLE_SCHEMA db_datadict
-TABLE_NAME vu1
-TABLE_TYPE VIEW
-ENGINE NULL
-VERSION NULL
-ROW_FORMAT NULL
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION NULL
-CHECKSUM NULL
-CREATE_OPTIONS NULL
-TABLE_COMMENT VIEW
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME columns_priv
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Column privileges
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME db
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 2
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Database privileges
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME event
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Events
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME func
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT User defined functions
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME general_log
-TABLE_TYPE BASE TABLE
-ENGINE CSV
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 2
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT General log
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME help_category
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT help categories
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME help_keyword
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT help keywords
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME help_relation
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT keyword-topic relation
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME help_topic
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT help topics
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME host
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Host privileges; Merged with database privileges
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME ndb_binlog_index
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME plugin
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT MySQL plugins
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME proc
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 1
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Stored Procedures
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME procs_priv
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Procedure privileges
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME servers
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT MySQL Foreign Servers table
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME slow_log
-TABLE_TYPE BASE TABLE
-ENGINE CSV
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 2
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Slow log
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME tables_priv
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Table privileges
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME time_zone
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 5
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT 6
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Time zones
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME time_zone_leap_second
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 22
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Leap seconds information for time zones
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME time_zone_name
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 6
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Time zone names
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME time_zone_transition
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 393
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Time zone transitions
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME time_zone_transition_type
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 31
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Time zone transition types
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME user
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 3
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Users and global privileges
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t1
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t10
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t11
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t2
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t3
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t4
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t7
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t8
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t9
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME tb1
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME tb2
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME tb3
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME tb4
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test1
-TABLE_NAME tb2
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test4
-TABLE_NAME t6
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-select s.catalog_name, s.schema_name, s.default_character_set_name,
-t.table_type, t.engine
-from information_schema.schemata s inner join information_schema.tables t
-ORDER BY s.schema_name, s.default_character_set_name, table_type, engine;
-catalog_name schema_name default_character_set_name table_type engine
-NULL db_datadict latin1 BASE TABLE CSV
-NULL db_datadict latin1 BASE TABLE CSV
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 VIEW NULL
-NULL db_datadict latin1 VIEW NULL
-NULL db_datadict latin1 VIEW NULL
-NULL information_schema utf8 BASE TABLE CSV
-NULL information_schema utf8 BASE TABLE CSV
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 VIEW NULL
-NULL information_schema utf8 VIEW NULL
-NULL information_schema utf8 VIEW NULL
-NULL mysql latin1 BASE TABLE CSV
-NULL mysql latin1 BASE TABLE CSV
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 VIEW NULL
-NULL mysql latin1 VIEW NULL
-NULL mysql latin1 VIEW NULL
-NULL test latin1 BASE TABLE CSV
-NULL test latin1 BASE TABLE CSV
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 VIEW NULL
-NULL test latin1 VIEW NULL
-NULL test latin1 VIEW NULL
-NULL test1 latin1 BASE TABLE CSV
-NULL test1 latin1 BASE TABLE CSV
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 VIEW NULL
-NULL test1 latin1 VIEW NULL
-NULL test1 latin1 VIEW NULL
-NULL test4 latin1 BASE TABLE CSV
-NULL test4 latin1 BASE TABLE CSV
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 VIEW NULL
-NULL test4 latin1 VIEW NULL
-NULL test4 latin1 VIEW NULL
-select * from information_schema.columns limit 0, 5;
-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
-NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema CHARACTER_SETS DESCRIPTION 3 NO varchar 60 180 NULL NULL utf8 utf8_general_ci varchar(60) select
-NULL information_schema CHARACTER_SETS MAXLEN 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema COLLATIONS COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-select * from information_schema.character_sets limit 0, 5;
-CHARACTER_SET_NAME DEFAULT_COLLATE_NAME DESCRIPTION MAXLEN
-big5 big5_chinese_ci Big5 Traditional Chinese 2
-dec8 dec8_swedish_ci DEC West European 1
-cp850 cp850_general_ci DOS West European 1
-hp8 hp8_english_ci HP West European 1
-koi8r koi8r_general_ci KOI8-R Relcom Russian 1
-select * from information_schema.collations limit 0, 5;
-COLLATION_NAME CHARACTER_SET_NAME ID IS_DEFAULT IS_COMPILED SORTLEN
-big5_chinese_ci big5 1 Yes Yes 1
-big5_bin big5 84 Yes 1
-dec8_swedish_ci dec8 3 Yes 0
-dec8_bin dec8 69 0
-cp850_general_ci cp850 4 Yes 0
-select * from information_schema.collation_character_set_applicability limit 0, 5;
-COLLATION_NAME CHARACTER_SET_NAME
-big5_chinese_ci big5
-big5_bin big5
-dec8_swedish_ci dec8
-dec8_bin dec8
-cp850_general_ci cp850
-select * from information_schema.routines limit 0, 5;
-SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER
-sp_1 NULL db_datadict sp_1 PROCEDURE NULL SQL BEGIN
-SELECT * FROM db_datadict.v1;
-END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost
-select * from information_schema.statistics limit 0, 5;
-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
-NULL mysql columns_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-NULL mysql columns_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE
-NULL mysql columns_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE
-NULL mysql columns_priv 0 mysql PRIMARY 4 Table_name A NULL NULL NULL BTREE
-NULL mysql columns_priv 0 mysql PRIMARY 5 Column_name A 0 NULL NULL BTREE
-select * from information_schema.views limit 0, 5;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE
-NULL db_datadict v1 /* ALGORITHM=UNDEFINED */ select `tables`.`TABLE_CATALOG` AS `TABLE_CATALOG`,`tables`.`TABLE_SCHEMA` AS `TABLE_SCHEMA`,`tables`.`TABLE_NAME` AS `TABLE_NAME`,`tables`.`TABLE_TYPE` AS `TABLE_TYPE`,`tables`.`ENGINE` AS `ENGINE`,`tables`.`VERSION` AS `VERSION`,`tables`.`ROW_FORMAT` AS `ROW_FORMAT`,`tables`.`TABLE_ROWS` AS `TABLE_ROWS`,`tables`.`AVG_ROW_LENGTH` AS `AVG_ROW_LENGTH`,`tables`.`DATA_LENGTH` AS `DATA_LENGTH`,`tables`.`MAX_DATA_LENGTH` AS `MAX_DATA_LENGTH`,`tables`.`INDEX_LENGTH` AS `INDEX_LENGTH`,`tables`.`DATA_FREE` AS `DATA_FREE`,`tables`.`AUTO_INCREMENT` AS `AUTO_INCREMENT`,`tables`.`CREATE_TIME` AS `CREATE_TIME`,`tables`.`UPDATE_TIME` AS `UPDATE_TIME`,`tables`.`CHECK_TIME` AS `CHECK_TIME`,`tables`.`TABLE_COLLATION` AS `TABLE_COLLATION`,`tables`.`CHECKSUM` AS `CHECKSUM`,`tables`.`CREATE_OPTIONS` AS `CREATE_OPTIONS`,`tables`.`TABLE_COMMENT` AS `TABLE_COMMENT` from `information_schema`.`tables` NONE NO root@localhost DEFINER
-NULL db_datadict vu /* ALGORITHM=UNDEFINED */ select distinct `vu1`.`u` AS `u`,substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3)) AS `server`,substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3),(length(substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3))) - 1)) AS `Server_Clean` from `db_datadict`.`vu1` NONE NO root@localhost DEFINER
-NULL db_datadict vu1 /* ALGORITHM=UNDEFINED */ select `user_privileges`.`GRANTEE` AS `u` from `information_schema`.`user_privileges` NONE NO root@localhost DEFINER
-select * from information_schema.user_privileges limit 0, 5;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'root'@'localhost' NULL SELECT YES
-'root'@'localhost' NULL INSERT YES
-'root'@'localhost' NULL UPDATE YES
-'root'@'localhost' NULL DELETE YES
-'root'@'localhost' NULL CREATE YES
-select * from information_schema.schema_privileges limit 0, 5;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
-''@'%' NULL test SELECT NO
-''@'%' NULL test INSERT NO
-''@'%' NULL test UPDATE NO
-''@'%' NULL test DELETE NO
-''@'%' NULL test CREATE NO
-select * from information_schema.table_privileges limit 0, 5;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select * from information_schema.column_privileges limit 0, 5;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select * from information_schema.table_constraints limit 0, 5;
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE
-NULL mysql PRIMARY mysql columns_priv PRIMARY KEY
-NULL mysql PRIMARY mysql db PRIMARY KEY
-NULL mysql PRIMARY mysql event PRIMARY KEY
-NULL mysql PRIMARY mysql func PRIMARY KEY
-NULL mysql PRIMARY mysql help_category PRIMARY KEY
-select * from information_schema.key_column_usage limit 0, 5;
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
-NULL mysql PRIMARY NULL mysql columns_priv Host 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql columns_priv Db 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql columns_priv User 3 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql columns_priv Table_name 4 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql columns_priv Column_name 5 NULL NULL NULL NULL
-select count(*) as max_recs from information_schema.key_column_usage limit 0, 5;
-max_recs
-45
-
-root: check with db name
-------------------------
-SELECT COUNT(*) FROM information_schema. schemata ;
-COUNT(*)
-6
-SELECT COUNT(*) FROM information_schema. tables ;
-COUNT(*)
-68
-SELECT COUNT(*) FROM information_schema. columns ;
-COUNT(*)
-867
-SELECT COUNT(*) FROM information_schema. character_sets ;
-COUNT(*)
-36
-SELECT COUNT(*) FROM information_schema. collations ;
-COUNT(*)
-127
-SELECT COUNT(*) FROM information_schema. collation_character_set_applicability ;
-COUNT(*)
-128
-SELECT COUNT(*) FROM information_schema. routines ;
-COUNT(*)
-1
-SELECT COUNT(*) FROM information_schema. statistics ;
-COUNT(*)
-48
-SELECT COUNT(*) FROM information_schema. views ;
-COUNT(*)
-3
-SELECT COUNT(*) FROM information_schema. user_privileges ;
-COUNT(*)
-81
-SELECT COUNT(*) FROM information_schema. schema_privileges ;
-COUNT(*)
-32
-SELECT COUNT(*) FROM information_schema. table_privileges ;
-COUNT(*)
-0
-SELECT COUNT(*) FROM information_schema. column_privileges ;
-COUNT(*)
-0
-SELECT COUNT(*) FROM information_schema. table_constraints ;
-COUNT(*)
-24
-SELECT COUNT(*) FROM information_schema. key_column_usage ;
-COUNT(*)
-45
-SELECT COUNT(*) FROM information_schema. triggers ;
-COUNT(*)
-0
-SELECT COUNT(*) FROM information_schema. parameters ;
-ERROR 42S02: Unknown table 'parameters' in information_schema
-SELECT COUNT(*) FROM information_schema. referential_constraints ;
-COUNT(*)
-0
-USE db_datadict;
-DROP VIEW v1, vu1, vu;
-DROP PROCEDURE db_datadict.sp_1;
-USE information_schema;
-
-Testcase 3.2.1.2:
---------------------------------------------------------------------------------
-select catalog_name, schema_name, default_character_set_name
-from schemata where schema_name like '%s%';
-catalog_name schema_name default_character_set_name
-NULL information_schema utf8
-NULL mysql latin1
-NULL test latin1
-NULL test1 latin1
-NULL test4 latin1
-select count(*) as tot_tabs from tables;
-tot_tabs
-65
-select count(*) as the_cols from columns;
-the_cols
-842
-select max(maxlen) as the_max from character_sets;
-the_max
-3
-select * from collations order by id asc limit 0, 5;
-COLLATION_NAME CHARACTER_SET_NAME ID IS_DEFAULT IS_COMPILED SORTLEN
-big5_chinese_ci big5 1 Yes Yes 1
-latin2_czech_cs latin2 2 Yes 4
-dec8_swedish_ci dec8 3 Yes 0
-cp850_general_ci cp850 4 Yes 0
-latin1_german1_ci latin1 5 Yes 1
-select * from collation_character_set_applicability
-order by character_set_name desc, collation_name limit 0, 5;
-COLLATION_NAME CHARACTER_SET_NAME
-utf8_bin utf8
-utf8_czech_ci utf8
-utf8_danish_ci utf8
-utf8_esperanto_ci utf8
-utf8_estonian_ci utf8
-select routine_definition from routines;
-routine_definition
-select * from statistics group by index_name asc limit 0, 5;
-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
-NULL mysql procs_priv 1 mysql Grantor 1 Grantor A NULL NULL NULL BTREE
-NULL mysql help_category 0 mysql name 1 name A 0 NULL NULL BTREE
-NULL mysql columns_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-NULL mysql db 1 mysql User 1 User A 1 NULL NULL BTREE
-select concat(table_schema, ', ', table_name, ', ', view_definition) view_info
-from views;
-view_info
-select concat(table_schema, ', ', table_name) "Table_info"
- from tables ORDER BY 1;
-Table_info
-information_schema, CHARACTER_SETS
-information_schema, COLLATIONS
-information_schema, COLLATION_CHARACTER_SET_APPLICABILITY
-information_schema, COLUMNS
-information_schema, COLUMN_PRIVILEGES
-information_schema, ENGINES
-information_schema, EVENTS
-information_schema, FILES
-information_schema, GLOBAL_STATUS
-information_schema, GLOBAL_VARIABLES
-information_schema, KEY_COLUMN_USAGE
-information_schema, PARTITIONS
-information_schema, PLUGINS
-information_schema, PROCESSLIST
-information_schema, REFERENTIAL_CONSTRAINTS
-information_schema, ROUTINES
-information_schema, SCHEMATA
-information_schema, SCHEMA_PRIVILEGES
-information_schema, SESSION_STATUS
-information_schema, SESSION_VARIABLES
-information_schema, STATISTICS
-information_schema, TABLES
-information_schema, TABLE_CONSTRAINTS
-information_schema, TABLE_PRIVILEGES
-information_schema, TRIGGERS
-information_schema, USER_PRIVILEGES
-information_schema, VIEWS
-mysql, columns_priv
-mysql, db
-mysql, event
-mysql, func
-mysql, general_log
-mysql, help_category
-mysql, help_keyword
-mysql, help_relation
-mysql, help_topic
-mysql, host
-mysql, ndb_binlog_index
-mysql, plugin
-mysql, proc
-mysql, procs_priv
-mysql, servers
-mysql, slow_log
-mysql, tables_priv
-mysql, time_zone
-mysql, time_zone_leap_second
-mysql, time_zone_name
-mysql, time_zone_transition
-mysql, time_zone_transition_type
-mysql, user
-test, t1
-test, t10
-test, t11
-test, t2
-test, t3
-test, t4
-test, t7
-test, t8
-test, t9
-test, tb1
-test, tb2
-test, tb3
-test, tb4
-test1, tb2
-test4, t6
-select distinct grantee from user_privileges order by grantee, privilege_type;
-grantee
-'root'@'127.0.0.1'
-'root'@'<SERVER_NAME>'
-'root'@'localhost'
-select * from schema_privileges where table_catalog is null limit 0, 5;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
-''@'%' NULL test SELECT NO
-''@'%' NULL test INSERT NO
-''@'%' NULL test UPDATE NO
-''@'%' NULL test DELETE NO
-''@'%' NULL test CREATE NO
-select * from table_privileges where grantee like '%r%' limit 0, 5;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select * from column_privileges where table_catalog is not null limit 0, 5;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select HIGH_PRIORITY * from table_constraints
-group by constraint_name desc limit 0, 5;
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE
-NULL mysql PRIMARY mysql columns_priv PRIMARY KEY
-NULL mysql name mysql help_category UNIQUE
-select sum(ordinal_position) from key_column_usage;
-sum(ordinal_position)
-83
-select * from schemata limit 0,5;
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL information_schema utf8 utf8_general_ci NULL
-NULL db_datadict latin1 latin1_swedish_ci NULL
-NULL mysql latin1 latin1_swedish_ci NULL
-NULL test latin1 latin1_swedish_ci NULL
-NULL test1 latin1 latin1_swedish_ci NULL
-select * from schemata limit 0,5;
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL information_schema utf8 utf8_general_ci NULL
-NULL db_datadict latin1 latin1_swedish_ci NULL
-NULL mysql latin1 latin1_swedish_ci NULL
-NULL test latin1 latin1_swedish_ci NULL
-NULL test1 latin1 latin1_swedish_ci NULL
-select distinct grantee from user_privileges;
-grantee
-'root'@'localhost'
-'root'@'<SERVER_NAME>'
-'root'@'127.0.0.1'
-select all grantee from user_privileges order by grantee, privilege_type;
-grantee
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-select id , character_set_name from collations order by id asc limit 10;
-id character_set_name
-1 big5
-2 latin2
-3 dec8
-4 cp850
-5 latin1
-6 hp8
-7 koi8r
-8 latin1
-9 latin2
-10 swe7
-select table_catalog from columns
-union all
-select table_catalog from tables limit 0,5;
-table_catalog
-NULL
-NULL
-NULL
-NULL
-NULL
-select table_catalog from columns
-union
-select table_catalog from tables limit 0,5;
-table_catalog
-NULL
-select all schema_name from information_schema.schemata;
-schema_name
-information_schema
-db_datadict
-mysql
-test
-test1
-test4
-SELECT *
-INTO OUTFILE '../tmp/out.myisam.file'
- FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
- LINES TERMINATED BY '\n'
- FROM schemata LIMIT 0, 5;
-USE test;
-SELECT *
-INTO OUTFILE '../tmp/out.myisam.db.file'
- FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
- LINES TERMINATED BY '\n'
- FROM information_schema.schemata
-WHERE schema_name LIKE 'db_%';
-CREATE USER user_3212@localhost;
-GRANT ALL ON db_datadict.* TO user_3212@localhost;
-GRANT FILE ON *.* TO user_3212@localhost;
-connect(localhost,user_3212,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-
-user_3212@localhost db_datadict
-SELECT *
-INTO OUTFILE '../tmp/out.myisam.user.file'
- FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
- LINES TERMINATED BY '\n'
- FROM schemata LIMIT 0, 5;
-ERROR 42S02: Table 'db_datadict.schemata' doesn't exist
-SELECT *
-FROM schemata LIMIT 0, 5;
-ERROR 42S02: Table 'db_datadict.schemata' doesn't exist
-SELECT *
-INTO OUTFILE '../tmp/out.myisam.user.db.file'
- FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
- LINES TERMINATED BY '\n'
- FROM information_schema.schemata
-WHERE schema_name LIKE 'db_%';
-SELECT *
-FROM information_schema.schemata
-WHERE schema_name LIKE 'db_%';
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL db_datadict latin1 latin1_swedish_ci NULL
-USE information_schema;
-SELECT *
-INTO OUTFILE '../tmp/out.myisam.user_2.file'
- FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
- LINES TERMINATED BY '\n'
- FROM schemata LIMIT 0, 5;
-SELECT *
-FROM schemata LIMIT 0, 5;
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL information_schema utf8 utf8_general_ci NULL
-NULL db_datadict latin1 latin1_swedish_ci NULL
-NULL test latin1 latin1_swedish_ci NULL
-SELECT *
-INTO OUTFILE '../tmp/out.myisam.user_2.db.file'
- FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
- LINES TERMINATED BY '\n'
- FROM information_schema.schemata
-WHERE schema_name LIKE 'db_%';
-SELECT *
-FROM information_schema.schemata
-WHERE schema_name LIKE 'db_%';
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL db_datadict latin1 latin1_swedish_ci NULL
-USE information_schema;
-
-root@localhost information_schema
-use db_datadict;
-select table_catalog "1", table_schema "2", table_name "3", column_name "4"
- from information_schema.columns
-union
-select table_catalog, table_schema, table_name,
-concat( "*** type = ", table_type )
-from information_schema.tables
-order by 3, 4 desc, 1, 2 limit 30;
-1 2 3 4
-NULL information_schema CHARACTER_SETS MAXLEN
-NULL information_schema CHARACTER_SETS DESCRIPTION
-NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME
-NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME
-NULL information_schema CHARACTER_SETS *** type = SYSTEM VIEW
-NULL information_schema COLLATIONS SORTLEN
-NULL information_schema COLLATIONS IS_DEFAULT
-NULL information_schema COLLATIONS IS_COMPILED
-NULL information_schema COLLATIONS ID
-NULL information_schema COLLATIONS COLLATION_NAME
-NULL information_schema COLLATIONS CHARACTER_SET_NAME
-NULL information_schema COLLATIONS *** type = SYSTEM VIEW
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY *** type = SYSTEM VIEW
-NULL information_schema COLUMNS TABLE_SCHEMA
-NULL information_schema COLUMNS TABLE_NAME
-NULL information_schema COLUMNS TABLE_CATALOG
-NULL information_schema COLUMNS PRIVILEGES
-NULL information_schema COLUMNS ORDINAL_POSITION
-NULL information_schema COLUMNS NUMERIC_SCALE
-NULL information_schema COLUMNS NUMERIC_PRECISION
-NULL information_schema COLUMNS IS_NULLABLE
-NULL information_schema COLUMNS EXTRA
-NULL information_schema COLUMNS DATA_TYPE
-NULL information_schema COLUMNS COLUMN_TYPE
-NULL information_schema COLUMNS COLUMN_NAME
-NULL information_schema COLUMNS COLUMN_KEY
-NULL information_schema COLUMNS COLUMN_DEFAULT
-NULL information_schema COLUMNS COLUMN_COMMENT
-use information_schema;
-select table_catalog "1", table_schema "2", table_name "3", column_name "4"
- from columns
-union
-select table_catalog, table_schema, table_name,
-concat( "*** type = ", table_type )
-from tables
-order by 3, 4 desc, 1, 2 limit 30;
-1 2 3 4
-NULL information_schema CHARACTER_SETS MAXLEN
-NULL information_schema CHARACTER_SETS DESCRIPTION
-NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME
-NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME
-NULL information_schema CHARACTER_SETS *** type = SYSTEM VIEW
-NULL information_schema COLLATIONS SORTLEN
-NULL information_schema COLLATIONS IS_DEFAULT
-NULL information_schema COLLATIONS IS_COMPILED
-NULL information_schema COLLATIONS ID
-NULL information_schema COLLATIONS COLLATION_NAME
-NULL information_schema COLLATIONS CHARACTER_SET_NAME
-NULL information_schema COLLATIONS *** type = SYSTEM VIEW
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY *** type = SYSTEM VIEW
-NULL information_schema COLUMNS TABLE_SCHEMA
-NULL information_schema COLUMNS TABLE_NAME
-NULL information_schema COLUMNS TABLE_CATALOG
-NULL information_schema COLUMNS PRIVILEGES
-NULL information_schema COLUMNS ORDINAL_POSITION
-NULL information_schema COLUMNS NUMERIC_SCALE
-NULL information_schema COLUMNS NUMERIC_PRECISION
-NULL information_schema COLUMNS IS_NULLABLE
-NULL information_schema COLUMNS EXTRA
-NULL information_schema COLUMNS DATA_TYPE
-NULL information_schema COLUMNS COLUMN_TYPE
-NULL information_schema COLUMNS COLUMN_NAME
-NULL information_schema COLUMNS COLUMN_KEY
-NULL information_schema COLUMNS COLUMN_DEFAULT
-NULL information_schema COLUMNS COLUMN_COMMENT
-DROP USER user_3212@localhost;
-
-Testcase 3.2.1.3:
---------------------------------------------------------------------------------
-insert into schemata (catalog_name, schema_name, default_character_set_name, sql_path)
-values ('null', 'db1', 'latin1', 'null');
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-insert into tables (table_schema, table_name)values('db_datadict', 't1');
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-insert into columns (table_name, column_name)values('t3', 'f2');
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-insert into character_sets (character_set_name, default_collate_name, description, maxlen)
-values('cp1251', 'cp1251_general_ci', 'windows cyrillic', 1);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-insert into collations ( collation_name, character_set_name, id, is_default, is_compiled, sortlen)
-values ('cp1251_bin', 'cp1251', 50, '', '', 0);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-insert into collation_character_set_applicability (collation_name, character_set_name)
-values (' big5_chinese_ci', 'big6');
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-insert into routines(routine_name, routine_type ) values ('p2', 'procedure');
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-insert into statistics(table_schema, table_name, index_name)
-values ('mysql', 'db', 'primary');
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-insert into views(table_schema, table_name) values ('db2', 'v2');
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-insert into user_privileges (privilege_type, is_grantable) values ('select', 'yes');
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-insert into schema_privileges (table_schema, privilege_type) values('db2', 'insert');
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-insert into table_privileges (able_schema, table_name, privilege_type)
-values('db2', 'v2', 'insert');
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-insert into column_privileges (table_name, column_name, privilege_type)
-values ('t3', 'f3', 'insert');
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-insert into table_constraints ( constraint_schema, constraint_name, table_schema)
-values ('primary', 'mysql', 'user');
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-insert into key_column_usage (constraint_schema, constraint_name, table_name)
-values ('mysql', 'primary', 'db');
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-drop procedure if exists db_datadict.sp_4_1_3;
-create procedure db_datadict.sp_4_1_3()
-begin
-insert into information_schema.schema_privileges (table_schema,privilege_type)
-values('db2','insert');
-end//
-SELECT table_schema, privilege_type FROM information_schema.schema_privileges
-WHERE table_schema LIKE 'db%';
-table_schema privilege_type
-call db_datadict.sp_4_1_3();
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-SELECT table_schema, privilege_type FROM information_schema.schema_privileges
-WHERE table_schema LIKE 'db%';
-table_schema privilege_type
-drop procedure db_datadict.sp_4_1_3;
-CREATE USER user_4_1_3@localhost;
-connect(localhost,user_4_1_3,,test,MYSQL_PORT,MYSQL_SOCK);
-
-user_4_1_3@localhost test
-use information_schema;
-insert into table_constraints ( constraint_schema, constraint_name, table_schema)
-values ('primary', 'mysql', 'user');
-ERROR 42000: Access denied for user 'user_4_1_3'@'localhost' to database 'information_schema'
-
-root@localhost information_schema
-
-Testcase 3.2.1.4:
---------------------------------------------------------------------------------
-use information_schema;
-
-root@localhost information_schema
-update schemata set schema_name = 'db5' where default_character_set_name = 'latin1';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-update tables set table_schema = 'db_datadict1' where table_name = 't1';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-update columns set table_name = 't4' where column_name = 'f2';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-update character_sets set character_set_name = 'cp1252' where maxlen = 1;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-update collations set collation_name = 'cp1253_bin'
- where character_set_name = 'cp1251';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-update collation_character_set_applicability set collation_name = 'big6_chinese_ci'
- where character_set_name = 'big6';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-update routines set routine_name = p2 where routine_body = 'sql';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-update statistics set table_schema = 'mysql1' where table_name = 'db';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-update views set table_schema = 'db3' where table_name = 'v1';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-update user_privileges set privilege_type = 'insert' where is_grantable = 'yes';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-update schema_privileges set table_schema = 'db2' where privilege_type = 'select';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-update table_privileges set table_name = 'v3' where privilege_type = 'select';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-update column_privileges set table_name = 't4' where column_name = 'f3';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-update table_constraints set constraint_schema = 'primary'
- where table_schema = 'proc';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-update key_column_usage set table_name = 'db1' where constraint_name = 'primary';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-drop procedure if exists db_datadict.sp_4_1_4;
-create procedure db_datadict.sp_4_1_4()
-begin
-update information_schema.routines set routine_name = 'p2'
- where routine_name = 'sp_4_1_4';
-end//
-select * from information_schema.routines;
-SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER
-sp_4_1_4 NULL db_datadict sp_4_1_4 PROCEDURE NULL SQL begin
-update information_schema.routines set routine_name = 'p2'
- where routine_name = 'sp_4_1_4';
-end NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost
-call db_datadict.sp_4_1_4();
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-select * from information_schema.routines;
-SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER
-sp_4_1_4 NULL db_datadict sp_4_1_4 PROCEDURE NULL SQL begin
-update information_schema.routines set routine_name = 'p2'
- where routine_name = 'sp_4_1_4';
-end NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost
-drop procedure db_datadict.sp_4_1_4;
-use information_schema;
-
-user_4_1_3@localhost information_schema
-update user_privileges set privilege_type = 'insert' where is_grantable = 'yes';
-ERROR 42000: Access denied for user 'user_4_1_3'@'localhost' to database 'information_schema'
-
-root@localhost information_schema
-
-Testcase 3.2.1.5:
---------------------------------------------------------------------------------
-use information_schema;
-
-root: DELETE FROM any table in IS
----------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-DELETE FROM schemata ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM tables ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM columns ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM character_sets ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM collations ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM collation_character_set_applicability ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM routines ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM statistics ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM views ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM user_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM schema_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM table_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM column_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM table_constraints ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM key_column_usage ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM triggers ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from schemata where schema_name = 'mysql';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from tables where table_name = 'abc';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from columns;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from character_sets;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from collations;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from collation_character_set_applicability;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from routines;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from statistics;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from views;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from user_privileges;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from schema_privileges;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from table_privileges;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from column_privileges;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from table_constraints;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from key_column_usage;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-drop procedure if exists db_datadict.sp_4_1_5;
-create procedure db_datadict.sp_4_1_5()
-begin
-delete from information_schema.column_privileges;
-end//
-call db_datadict.sp_4_1_5();
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-drop procedure db_datadict.sp_4_1_5;
-use information_schema;
-
-user_4_1_3@localhost information_schema
-delete from tables where table_name = 'abc';
-ERROR 42000: Access denied for user 'user_4_1_3'@'localhost' to database 'information_schema'
-
-root@localhost information_schema
-DROP USER user_4_1_3@localhost;
-
-Testcase 3.2.1.6:
---------------------------------------------------------------------------------
-use information_schema;
-
-root: create a table with a name of an IS table directly in IS
---------------------------------------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-CREATE TABLE schemata ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE tables ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE columns ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE character_sets ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE collations ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE collation_character_set_applicability ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE routines ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE statistics ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE views ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE user_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE schema_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE table_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE column_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE table_constraints ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE key_column_usage ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE triggers ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create table t1 (f1 int, f2 int, f3 int);
-ERROR 42S02: Unknown table 't1' in information_schema
-use db_datadict;
-
-root: create a table with a name of an IS table from other db
--------------------------------------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-CREATE TABLE information_schema. schemata ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. tables ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. columns ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. character_sets ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. collations ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. collation_character_set_applicability ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. routines ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. statistics ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. views ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. user_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. schema_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. table_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. column_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. table_constraints ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. key_column_usage ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. triggers ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create table information_schema.t1 (f1 int, f2 int, f3 int);
-ERROR 42S02: Unknown table 't1' in information_schema
-CREATE USER user_4_1_6@localhost;
-grant all on *.* to user_4_1_6@localhost;
-FLUSH PRIVILEGES;
-SHOW GRANTS FOR user_4_1_6@localhost;
-Grants for user_4_1_6@localhost
-GRANT ALL PRIVILEGES ON *.* TO 'user_4_1_6'@'localhost'
-connect(localhost,user_4_1_6,,information_schema,MYSQL_PORT,MYSQL_SOCK);
-
-user_4_1_6@localhost information_schema
-use information_schema;
-
-user: create a table with a name of an IS table directly in IS
---------------------------------------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-CREATE TABLE schemata ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE tables ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE columns ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE character_sets ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE collations ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE collation_character_set_applicability ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE routines ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE statistics ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE views ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE user_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE schema_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE table_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE column_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE table_constraints ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE key_column_usage ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE triggers ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-create table t1 (f1 int, f2 int, f3 int);
-ERROR 42S02: Unknown table 't1' in information_schema
-use test;
-
-user: create a table with a name of an IS table from other db
--------------------------------------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-CREATE TABLE information_schema. schemata ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. tables ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. columns ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. character_sets ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. collations ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. collation_character_set_applicability ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. routines ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. statistics ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. views ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. user_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. schema_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. table_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. column_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. table_constraints ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. key_column_usage ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. triggers ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-create table information_schema.t1 (f1 int, f2 int, f3 int);
-ERROR 42S02: Unknown table 't1' in information_schema
-
-root@localhost db_datadict
-DROP USER user_4_1_6@localhost;
-
-Testcase 3.2.1.7:
---------------------------------------------------------------------------------
-use information_schema;
-
-root: create a view with a name of an IS table directly in IS
--------------------------------------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-CREATE VIEW schemata AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW tables AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW columns AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW character_sets AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW collations AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW collation_character_set_applicability AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW routines AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW statistics AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW views AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW user_privileges AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW schema_privileges AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW table_privileges AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW column_privileges AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW table_constraints AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW key_column_usage AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW triggers AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW v1 AS SELECT * FROM information_schema.schemata;
-ERROR 42S02: Unknown table 'v1' in information_schema
-USE db_datadict;
-
-root: create a view with a name of an IS table from other db
-------------------------------------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-CREATE VIEW information_schema. schemata AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. tables AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. columns AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. character_sets AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. collations AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. collation_character_set_applicability AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. routines AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. statistics AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. views AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. user_privileges AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. schema_privileges AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. table_privileges AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. column_privileges AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. table_constraints AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. key_column_usage AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. triggers AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW v1 AS SELECT * FROM information_schema.columns;
-SELECT * FROM v1 LIMIT 5;
-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
-NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema CHARACTER_SETS DESCRIPTION 3 NO varchar 60 180 NULL NULL utf8 utf8_general_ci varchar(60) select
-NULL information_schema CHARACTER_SETS MAXLEN 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema COLLATIONS COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-CREATE USER user_4_1_7@localhost;
-GRANT ALL ON db_datadict.* TO user_4_1_7@localhost;
-GRANT ALL ON information_schema.* TO user_4_1_7@localhost;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-FLUSH PRIVILEGES;
-connect(localhost,user_4_1_7,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-use information_schema;
-
-user_4_1_7@localhost information_schema
-
-user: create a view with a name of an IS table directly in IS
--------------------------------------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-CREATE VIEW schemata AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW tables AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW columns AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW character_sets AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW collations AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW collation_character_set_applicability AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW routines AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW statistics AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW views AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW user_privileges AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW schema_privileges AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW table_privileges AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW column_privileges AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW table_constraints AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW key_column_usage AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW triggers AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-create view v1 as select * from table_privileges;
-ERROR 42S02: Unknown table 'v1' in information_schema
-use db_datadict;
-
-user: create a view with a name of an IS table from other db
-------------------------------------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-CREATE VIEW information_schema. schemata AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. tables AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. columns AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. character_sets AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. collations AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. collation_character_set_applicability AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. routines AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. statistics AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. views AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. user_privileges AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. schema_privileges AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. table_privileges AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. column_privileges AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. table_constraints AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. key_column_usage AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. triggers AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-
-root@localhost db_datadict
-DROP USER user_4_1_7@localhost;
-DROP VIEW db_datadict.v1;
-
-Testcase 3.2.1.8:
---------------------------------------------------------------------------------
-use information_schema;
-create index i1 on schemata(schema_name);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i2 on tables(table_schema);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i3 on columns(table_name);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i4 on character_sets(character_set_name);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i5 on collations( collation_name);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i6 on collation_character_set_applicability(collation_name);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i7 on routines(routine_name);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i8 on statistics(table_schema);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i9 on views(table_schema);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i10 on user_privileges(privilege_type);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i11 on schema_privileges(table_schema);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i12 on table_privileges(able_schema);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i13 on column_privileges(table_name);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i14 on table_constraints(constraint_schema);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i15 on key_column_usage(constraint_schema);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i16 on triggers(trigger_name);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-use db_datadict;
-create index i15 on information_schema.key_column_usage(constraint_schema);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-use information_schema;
-CREATE USER user_4_1_8@localhost;
-grant select, index on *.* to user_4_1_8@localhost;
-FLUSH PRIVILEGES;
-connect(localhost,user_4_1_8,,test,MYSQL_PORT,MYSQL_SOCK);
-
-user_4_1_8@localhost test
-use information_schema;
-create index i1 on schemata(schema_name);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i2 on tables(table_schema);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i3 on columns(table_name);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i4 on character_sets(character_set_name);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i5 on collations( collation_name);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i6 on collation_character_set_applicability(collation_name);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i7 on routines(routine_name);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i8 on statistics(table_schema);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i9 on views(table_schema);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i10 on user_privileges(privilege_type);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i11 on schema_privileges(table_schema);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i12 on table_privileges(able_schema);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i13 on column_privileges(table_name);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i14 on table_constraints(constraint_schema);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i15 on key_column_usage(constraint_schema);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i16 on triggers(trigger_name);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-use db_datadict;
-create index i15 on information_schema.key_column_usage(constraint_schema);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-
-root@localhost information_schema
-DROP USER user_4_1_8@localhost;
-
-Testcase 3.2.1.9:
---------------------------------------------------------------------------------
-
-root: alter a table from other db
----------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-ALTER TABLE information_schema. schemata ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. tables ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. columns ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. character_sets ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. collations ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. collation_character_set_applicability ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. routines ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. statistics ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. views ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. user_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. schema_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. table_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. column_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. table_constraints ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. key_column_usage ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. triggers ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-use information_schema;
-
-root: alter a table from directly
----------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-ALTER TABLE schemata ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE tables ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE columns ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE character_sets ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE collations ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE collation_character_set_applicability ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE routines ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE statistics ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE views ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE user_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE schema_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE table_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE column_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE table_constraints ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE key_column_usage ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE triggers ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table schemata add f1 int;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table tables drop primary key;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table columns add f1 int;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table character_sets disable keys;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table collations enable keys;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table collation_character_set_applicability add f1 int;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table routines discard tablespace;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table statistics import tablespace;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table views drop column table_name;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table user_privileges drop index privilege_type;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table schema_privileges drop column is_grantable;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table table_privileges order by constraint_type;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table column_privileges rename to aaxyz;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table table_constraints order by schema_name;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table key_column_usage rename to information_schema.aabxyz;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table triggers rename to information_schema.sql_mode;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE USER user_4_1_9@localhost;
-grant select, alter, create, insert on *.* to user_4_1_9@localhost;
-FLUSH PRIVILEGES;
-connect(localhost,user_4_1_9,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-
-user_4_1_9@localhost db_datadict
-use db_datadict;
-
-user: alter a table from other db
----------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-ALTER TABLE information_schema. schemata ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. tables ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. columns ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. character_sets ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. collations ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. collation_character_set_applicability ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. routines ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. statistics ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. views ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. user_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. schema_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. table_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. column_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. table_constraints ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. key_column_usage ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. triggers ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-use information_schema;
-
-user: alter a table from directly
----------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-ALTER TABLE schemata ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE tables ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE columns ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE character_sets ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE collations ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE collation_character_set_applicability ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE routines ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE statistics ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE views ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE user_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE schema_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE table_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE column_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE table_constraints ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE key_column_usage ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE triggers ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-
-root@localhost information_schema
-DROP USER user_4_1_9@localhost;
-
-Testcase 3.2.1.10:
---------------------------------------------------------------------------------
-use information_schema;
-
-root: drop a table from IS
---------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-DROP TABLE schemata ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE tables ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE columns ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE character_sets ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE collations ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE collation_character_set_applicability ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE routines ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE statistics ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE views ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE user_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE schema_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE table_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE column_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE table_constraints ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE key_column_usage ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE triggers ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-use db_datadict;
-
-root: drop a table from other db
---------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-DROP TABLE information_schema. schemata ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. tables ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. columns ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. character_sets ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. collations ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. collation_character_set_applicability ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. routines ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. statistics ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. views ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. user_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. schema_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. table_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. column_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. table_constraints ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. key_column_usage ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. triggers ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-use information_schema;
-CREATE USER user_4_1_10@localhost;
-GRANT SELECT, DROP ON *.* TO user_4_1_10@localhost;
-FLUSH PRIVILEGES;
-connect(localhost,user_4_1_10,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-use information_schema;
-
-user_4_1_10@localhost information_schema
-
-user: drop a table from IS
---------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-DROP TABLE schemata ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE tables ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE columns ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE character_sets ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE collations ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE collation_character_set_applicability ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE routines ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE statistics ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE views ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE user_privileges ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE schema_privileges ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE table_privileges ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE column_privileges ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE table_constraints ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE key_column_usage ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE triggers ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-use db_datadict;
-
-user: drop a table from other db
---------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-DROP TABLE information_schema. schemata ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. tables ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. columns ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. character_sets ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. collations ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. collation_character_set_applicability ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. routines ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. statistics ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. views ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. user_privileges ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. schema_privileges ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. table_privileges ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. column_privileges ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. table_constraints ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. key_column_usage ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. triggers ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-
-root@localhost information_schema
-DROP USER user_4_1_10@localhost;
-CREATE USER user_4_1_11@localhost;
-GRANT SUPER ON *.* TO user_4_1_11@localhost;
-FLUSH PRIVILEGES;
-connect(localhost,user_4_1_11,,test,MYSQL_PORT,MYSQL_SOCK);
-use information_schema;
-
-user_4_1_11@localhost information_schema
-drop table routines;
-ERROR 42000: Access denied for user 'user_4_1_11'@'localhost' to database 'information_schema'
-alter table collations enable keys;
-ERROR 42000: Access denied for user 'user_4_1_11'@'localhost' to database 'information_schema'
-create index i5 on collations( collation_name );
-ERROR 42000: Access denied for user 'user_4_1_11'@'localhost' to database 'information_schema'
-create view v1 as select * from schemata;
-ERROR 42S02: Unknown table 'v1' in information_schema
-delete from columns;
-ERROR 42000: Access denied for user 'user_4_1_11'@'localhost' to database 'information_schema'
-update columns set table_name = 't4' where column_name = 'f2';
-ERROR 42000: Access denied for user 'user_4_1_11'@'localhost' to database 'information_schema'
-insert into collations ( collation_name, character_set_name, id, is_default,
-is_compiled, sortlen)
-values ('cp1251_bin', 'cp1251', 50, '', '', 0);
-ERROR 42000: Access denied for user 'user_4_1_11'@'localhost' to database 'information_schema'
-
-root@localhost information_schema
-DROP USER user_4_1_11@localhost;
-
-Testcase 3.2.1.11:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-CREATE DATABASE db_datadict;
-CREATE USER 'u_6_401011'@'localhost';
-GRANT ALL ON information_schema.* TO 'u_6_401011'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-GRANT ALL ON db_datadict.* TO 'u_6_401011'@'localhost';
-FLUSH PRIVILEGES;
-ALTER TABLE information_schema.schemata RENAME db_datadict.schemata;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-
-root: move table to other DB
-----------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-ALTER TABLE information_schema. schemata RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. tables RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. columns RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. character_sets RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. collations RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. collation_character_set_applicability RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. routines RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. statistics RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. views RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. user_privileges RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. schema_privileges RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. table_privileges RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. column_privileges RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. table_constraints RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. key_column_usage RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. triggers RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-connect(localhost,u_6_401011,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-USE information_schema;
-
-u_6_401011@localhost information_schema
-ALTER TABLE information_schema.schemata RENAME db_datadict.schemata;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-
-user: move table to other DB
-----------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-ALTER TABLE information_schema. schemata RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. tables RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. columns RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. character_sets RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. collations RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. collation_character_set_applicability RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. routines RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. statistics RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. views RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. user_privileges RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. schema_privileges RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. table_privileges RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. column_privileges RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. table_constraints RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. key_column_usage RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. triggers RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-
-root@localhost information_schema
-DROP TABLE IF EXISTS db_datadict.schemata;
-DROP USER 'u_6_401011'@'localhost';
-
-Testcase 3.2.1.12:
---------------------------------------------------------------------------------
-
-root: delete from IS tables
----------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-DELETE FROM information_schema. schemata ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. tables ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. columns ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. character_sets ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. collations ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. collation_character_set_applicability ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. routines ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. statistics ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. views ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. user_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. schema_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. table_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. column_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. table_constraints ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. key_column_usage ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. triggers ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.tables SET table_name = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.columns SET table_name = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.statistics SET table_name = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.views SET table_name = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.table_privileges SET table_name = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.column_privileges SET table_name = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.table_constraints SET table_name = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.key_column_usage SET table_name = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.schemata SET catalog_name = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.character_sets SET description = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.collations SET character_set_name = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.collation_character_set_applicability
-SET character_set_name = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.routines SET routine_type = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.user_privileges SET grantee = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.schema_privileges SET grantee = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.triggers SET sql_mode = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE USER 'u_6_401012'@'localhost';
-connect(localhost,u_6_401012,,test,MYSQL_PORT,MYSQL_SOCK);
-use information_schema;
-insert into information_schema.schemata (catalog_name, schema_name,
-default_character_set_name, sql_path)
-values (null, information_schema1, utf16, null);
-ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema'
-alter table information_schema.schemata rename db_datadict1.schemata;
-ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema'
-alter table information_schema.tables drop column checksum;
-ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema'
-alter table information_schema.statistics modify packed int;
-ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema'
-alter table information_schema.routines modify created int not null;
-ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema'
-alter table information_schema.key_column_usage drop column ordinal_position;
-ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema'
-alter table information_schema.table_privileges
-change privilege_type rights_approved varchar(32);
-ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema'
-update columns set table_name = 't4' where column_name = 'f2';
-ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema'
-delete from information_schema.collations;
-ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema'
-
-root@localhost information_schema
-drop table if exists db_datadict1.schemata;
-DROP USER 'u_6_401012'@'localhost';
-
-Testcase 3.2.1.13:
---------------------------------------------------------------------------------
-use information_schema;
-
-first check status >before< creating the objects ...
-----------------------------------------------------
-select *
-from information_schema.schemata
-where schema_name like 'db_datadict%';
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL db_datadict latin1 latin1_swedish_ci NULL
-select table_catalog, table_schema, engine
-from information_schema.tables
-where table_schema like 'db_datadict%';
-table_catalog table_schema engine
-select *
-from information_schema.columns
-where table_schema like 'db_datadict%';
-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
-select table_schema, table_name, is_updatable
-from information_schema.views
-where table_schema like 'db_datadict%';
-table_schema table_name is_updatable
-select routine_name, routine_type, security_type, sql_mode
-from information_schema.routines
-where routine_schema like 'db_datadict%';
-routine_name routine_type security_type sql_mode
-select table_name, index_schema, index_name, index_type
-from information_schema.statistics
-where table_schema like 'db_datadict%';
-table_name index_schema index_name index_type
-select *
-from information_schema.user_privileges order by grantee, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'root'@'127.0.0.1' NULL ALTER YES
-'root'@'127.0.0.1' NULL ALTER ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE YES
-'root'@'127.0.0.1' NULL CREATE ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES
-'root'@'127.0.0.1' NULL CREATE USER YES
-'root'@'127.0.0.1' NULL CREATE VIEW YES
-'root'@'127.0.0.1' NULL DELETE YES
-'root'@'127.0.0.1' NULL DROP YES
-'root'@'127.0.0.1' NULL EVENT YES
-'root'@'127.0.0.1' NULL EXECUTE YES
-'root'@'127.0.0.1' NULL FILE YES
-'root'@'127.0.0.1' NULL INDEX YES
-'root'@'127.0.0.1' NULL INSERT YES
-'root'@'127.0.0.1' NULL LOCK TABLES YES
-'root'@'127.0.0.1' NULL PROCESS YES
-'root'@'127.0.0.1' NULL REFERENCES YES
-'root'@'127.0.0.1' NULL RELOAD YES
-'root'@'127.0.0.1' NULL REPLICATION CLIENT YES
-'root'@'127.0.0.1' NULL REPLICATION SLAVE YES
-'root'@'127.0.0.1' NULL SELECT YES
-'root'@'127.0.0.1' NULL SHOW DATABASES YES
-'root'@'127.0.0.1' NULL SHOW VIEW YES
-'root'@'127.0.0.1' NULL SHUTDOWN YES
-'root'@'127.0.0.1' NULL SUPER YES
-'root'@'127.0.0.1' NULL TRIGGER YES
-'root'@'127.0.0.1' NULL UPDATE YES
-'root'@'<SERVER_NAME>' NULL ALTER YES
-'root'@'<SERVER_NAME>' NULL ALTER ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE YES
-'root'@'<SERVER_NAME>' NULL CREATE ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE TEMPORARY TABLES YES
-'root'@'<SERVER_NAME>' NULL CREATE USER YES
-'root'@'<SERVER_NAME>' NULL CREATE VIEW YES
-'root'@'<SERVER_NAME>' NULL DELETE YES
-'root'@'<SERVER_NAME>' NULL DROP YES
-'root'@'<SERVER_NAME>' NULL EVENT YES
-'root'@'<SERVER_NAME>' NULL EXECUTE YES
-'root'@'<SERVER_NAME>' NULL FILE YES
-'root'@'<SERVER_NAME>' NULL INDEX YES
-'root'@'<SERVER_NAME>' NULL INSERT YES
-'root'@'<SERVER_NAME>' NULL LOCK TABLES YES
-'root'@'<SERVER_NAME>' NULL PROCESS YES
-'root'@'<SERVER_NAME>' NULL REFERENCES YES
-'root'@'<SERVER_NAME>' NULL RELOAD YES
-'root'@'<SERVER_NAME>' NULL REPLICATION CLIENT YES
-'root'@'<SERVER_NAME>' NULL REPLICATION SLAVE YES
-'root'@'<SERVER_NAME>' NULL SELECT YES
-'root'@'<SERVER_NAME>' NULL SHOW DATABASES YES
-'root'@'<SERVER_NAME>' NULL SHOW VIEW YES
-'root'@'<SERVER_NAME>' NULL SHUTDOWN YES
-'root'@'<SERVER_NAME>' NULL SUPER YES
-'root'@'<SERVER_NAME>' NULL TRIGGER YES
-'root'@'<SERVER_NAME>' NULL UPDATE YES
-'root'@'localhost' NULL ALTER YES
-'root'@'localhost' NULL ALTER ROUTINE YES
-'root'@'localhost' NULL CREATE YES
-'root'@'localhost' NULL CREATE ROUTINE YES
-'root'@'localhost' NULL CREATE TEMPORARY TABLES YES
-'root'@'localhost' NULL CREATE USER YES
-'root'@'localhost' NULL CREATE VIEW YES
-'root'@'localhost' NULL DELETE YES
-'root'@'localhost' NULL DROP YES
-'root'@'localhost' NULL EVENT YES
-'root'@'localhost' NULL EXECUTE YES
-'root'@'localhost' NULL FILE YES
-'root'@'localhost' NULL INDEX YES
-'root'@'localhost' NULL INSERT YES
-'root'@'localhost' NULL LOCK TABLES YES
-'root'@'localhost' NULL PROCESS YES
-'root'@'localhost' NULL REFERENCES YES
-'root'@'localhost' NULL RELOAD YES
-'root'@'localhost' NULL REPLICATION CLIENT YES
-'root'@'localhost' NULL REPLICATION SLAVE YES
-'root'@'localhost' NULL SELECT YES
-'root'@'localhost' NULL SHOW DATABASES YES
-'root'@'localhost' NULL SHOW VIEW YES
-'root'@'localhost' NULL SHUTDOWN YES
-'root'@'localhost' NULL SUPER YES
-'root'@'localhost' NULL TRIGGER YES
-'root'@'localhost' NULL UPDATE YES
-select *
-from information_schema.column_privileges
-where table_schema like 'db_datadict%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select *
-from information_schema.table_privileges
-where table_schema like 'db_datadict%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select *
-from information_schema.key_column_usage
-where table_schema like 'db_datadict%';
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
-SELECT *
-FROM information_schema.triggers
-WHERE trigger_schema LIKE 'db_datadict%';
-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
-DROP DATABASE IF EXISTS db_datadict;
-CREATE DATABASE db_datadict;
-USE db_datadict;
-create table res_t_401013(f1 char(10), f2 char(25), f3 int)
-engine = myisam;
-create view res_v_401013 as select * from res_t_401013;
-CREATE USER u_6_401013@localhost;
-create procedure sp_6_401013() select 'db_datadict';
-create function fn_6_401013() returns int return 0;
-create index i_6_401013 on res_t_401013(f3);
-use information_schema;
-
-now check whether all new objects exists in IS ...
---------------------------------------------------
-select *
-from information_schema.schemata
-where schema_name like 'db_datadict%';
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL db_datadict latin1 latin1_swedish_ci NULL
-select table_catalog, table_schema, engine
-from information_schema.tables
-where table_schema like 'db_datadict%';
-table_catalog table_schema engine
-NULL db_datadict MyISAM
-NULL db_datadict NULL
-select *
-from information_schema.columns
-where table_schema like 'db_datadict%';
-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
-NULL db_datadict res_t_401013 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select,insert,update,references
-NULL db_datadict res_t_401013 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL db_datadict res_t_401013 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) MUL select,insert,update,references
-NULL db_datadict res_v_401013 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select,insert,update,references
-NULL db_datadict res_v_401013 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL db_datadict res_v_401013 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-select table_schema, table_name, is_updatable
-from information_schema.views
-where table_schema like 'db_datadict%';
-table_schema table_name is_updatable
-db_datadict res_v_401013 YES
-select routine_name, routine_type, security_type, sql_mode
-from information_schema.routines
-where routine_schema like 'db_datadict%';
-routine_name routine_type security_type sql_mode
-fn_6_401013 FUNCTION DEFINER
-sp_6_401013 PROCEDURE DEFINER
-select table_name, index_schema, index_name, index_type
-from information_schema.statistics
-where table_schema like 'db_datadict%';
-table_name index_schema index_name index_type
-res_t_401013 db_datadict i_6_401013 BTREE
-select *
-from information_schema.user_privileges order by grantee, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'root'@'127.0.0.1' NULL ALTER YES
-'root'@'127.0.0.1' NULL ALTER ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE YES
-'root'@'127.0.0.1' NULL CREATE ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES
-'root'@'127.0.0.1' NULL CREATE USER YES
-'root'@'127.0.0.1' NULL CREATE VIEW YES
-'root'@'127.0.0.1' NULL DELETE YES
-'root'@'127.0.0.1' NULL DROP YES
-'root'@'127.0.0.1' NULL EVENT YES
-'root'@'127.0.0.1' NULL EXECUTE YES
-'root'@'127.0.0.1' NULL FILE YES
-'root'@'127.0.0.1' NULL INDEX YES
-'root'@'127.0.0.1' NULL INSERT YES
-'root'@'127.0.0.1' NULL LOCK TABLES YES
-'root'@'127.0.0.1' NULL PROCESS YES
-'root'@'127.0.0.1' NULL REFERENCES YES
-'root'@'127.0.0.1' NULL RELOAD YES
-'root'@'127.0.0.1' NULL REPLICATION CLIENT YES
-'root'@'127.0.0.1' NULL REPLICATION SLAVE YES
-'root'@'127.0.0.1' NULL SELECT YES
-'root'@'127.0.0.1' NULL SHOW DATABASES YES
-'root'@'127.0.0.1' NULL SHOW VIEW YES
-'root'@'127.0.0.1' NULL SHUTDOWN YES
-'root'@'127.0.0.1' NULL SUPER YES
-'root'@'127.0.0.1' NULL TRIGGER YES
-'root'@'127.0.0.1' NULL UPDATE YES
-'root'@'<SERVER_NAME>' NULL ALTER YES
-'root'@'<SERVER_NAME>' NULL ALTER ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE YES
-'root'@'<SERVER_NAME>' NULL CREATE ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE TEMPORARY TABLES YES
-'root'@'<SERVER_NAME>' NULL CREATE USER YES
-'root'@'<SERVER_NAME>' NULL CREATE VIEW YES
-'root'@'<SERVER_NAME>' NULL DELETE YES
-'root'@'<SERVER_NAME>' NULL DROP YES
-'root'@'<SERVER_NAME>' NULL EVENT YES
-'root'@'<SERVER_NAME>' NULL EXECUTE YES
-'root'@'<SERVER_NAME>' NULL FILE YES
-'root'@'<SERVER_NAME>' NULL INDEX YES
-'root'@'<SERVER_NAME>' NULL INSERT YES
-'root'@'<SERVER_NAME>' NULL LOCK TABLES YES
-'root'@'<SERVER_NAME>' NULL PROCESS YES
-'root'@'<SERVER_NAME>' NULL REFERENCES YES
-'root'@'<SERVER_NAME>' NULL RELOAD YES
-'root'@'<SERVER_NAME>' NULL REPLICATION CLIENT YES
-'root'@'<SERVER_NAME>' NULL REPLICATION SLAVE YES
-'root'@'<SERVER_NAME>' NULL SELECT YES
-'root'@'<SERVER_NAME>' NULL SHOW DATABASES YES
-'root'@'<SERVER_NAME>' NULL SHOW VIEW YES
-'root'@'<SERVER_NAME>' NULL SHUTDOWN YES
-'root'@'<SERVER_NAME>' NULL SUPER YES
-'root'@'<SERVER_NAME>' NULL TRIGGER YES
-'root'@'<SERVER_NAME>' NULL UPDATE YES
-'root'@'localhost' NULL ALTER YES
-'root'@'localhost' NULL ALTER ROUTINE YES
-'root'@'localhost' NULL CREATE YES
-'root'@'localhost' NULL CREATE ROUTINE YES
-'root'@'localhost' NULL CREATE TEMPORARY TABLES YES
-'root'@'localhost' NULL CREATE USER YES
-'root'@'localhost' NULL CREATE VIEW YES
-'root'@'localhost' NULL DELETE YES
-'root'@'localhost' NULL DROP YES
-'root'@'localhost' NULL EVENT YES
-'root'@'localhost' NULL EXECUTE YES
-'root'@'localhost' NULL FILE YES
-'root'@'localhost' NULL INDEX YES
-'root'@'localhost' NULL INSERT YES
-'root'@'localhost' NULL LOCK TABLES YES
-'root'@'localhost' NULL PROCESS YES
-'root'@'localhost' NULL REFERENCES YES
-'root'@'localhost' NULL RELOAD YES
-'root'@'localhost' NULL REPLICATION CLIENT YES
-'root'@'localhost' NULL REPLICATION SLAVE YES
-'root'@'localhost' NULL SELECT YES
-'root'@'localhost' NULL SHOW DATABASES YES
-'root'@'localhost' NULL SHOW VIEW YES
-'root'@'localhost' NULL SHUTDOWN YES
-'root'@'localhost' NULL SUPER YES
-'root'@'localhost' NULL TRIGGER YES
-'root'@'localhost' NULL UPDATE YES
-'u_6_401013'@'localhost' NULL USAGE NO
-select *
-from information_schema.column_privileges
-where table_schema like 'db_datadict%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select *
-from information_schema.table_privileges
-where table_schema like 'db_datadict%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select *
-from information_schema.key_column_usage
-where table_schema like 'db_datadict%';
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
-SELECT *
-FROM information_schema.triggers
-WHERE trigger_schema LIKE 'db_datadict%';
-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
-use db_datadict;
-drop index i_6_401013 on res_t_401013;
-drop table db_datadict.res_t_401013;
-drop view db_datadict.res_v_401013;
-DROP USER u_6_401013@localhost;
-drop procedure sp_6_401013;
-drop function fn_6_401013;
-drop database db_datadict;
-use information_schema;
-
-and now check whether all objects are removed from IS ...
----------------------------------------------------------
-select *
-from information_schema.schemata
-where schema_name like 'db_datadict%';
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-select table_catalog, table_schema, engine
-from information_schema.tables
-where table_schema like 'db_datadict%';
-table_catalog table_schema engine
-select *
-from information_schema.columns
-where table_schema like 'db_datadict%';
-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
-select table_schema, table_name, is_updatable
-from information_schema.views
-where table_schema like 'db_datadict%';
-table_schema table_name is_updatable
-select routine_name, routine_type, security_type, sql_mode
-from information_schema.routines
-where routine_schema like 'db_datadict%';
-routine_name routine_type security_type sql_mode
-select table_name, index_schema, index_name, index_type
-from information_schema.statistics
-where table_schema like 'db_datadict%';
-table_name index_schema index_name index_type
-select *
-from information_schema.user_privileges order by grantee, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'root'@'127.0.0.1' NULL ALTER YES
-'root'@'127.0.0.1' NULL ALTER ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE YES
-'root'@'127.0.0.1' NULL CREATE ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES
-'root'@'127.0.0.1' NULL CREATE USER YES
-'root'@'127.0.0.1' NULL CREATE VIEW YES
-'root'@'127.0.0.1' NULL DELETE YES
-'root'@'127.0.0.1' NULL DROP YES
-'root'@'127.0.0.1' NULL EVENT YES
-'root'@'127.0.0.1' NULL EXECUTE YES
-'root'@'127.0.0.1' NULL FILE YES
-'root'@'127.0.0.1' NULL INDEX YES
-'root'@'127.0.0.1' NULL INSERT YES
-'root'@'127.0.0.1' NULL LOCK TABLES YES
-'root'@'127.0.0.1' NULL PROCESS YES
-'root'@'127.0.0.1' NULL REFERENCES YES
-'root'@'127.0.0.1' NULL RELOAD YES
-'root'@'127.0.0.1' NULL REPLICATION CLIENT YES
-'root'@'127.0.0.1' NULL REPLICATION SLAVE YES
-'root'@'127.0.0.1' NULL SELECT YES
-'root'@'127.0.0.1' NULL SHOW DATABASES YES
-'root'@'127.0.0.1' NULL SHOW VIEW YES
-'root'@'127.0.0.1' NULL SHUTDOWN YES
-'root'@'127.0.0.1' NULL SUPER YES
-'root'@'127.0.0.1' NULL TRIGGER YES
-'root'@'127.0.0.1' NULL UPDATE YES
-'root'@'<SERVER_NAME>' NULL ALTER YES
-'root'@'<SERVER_NAME>' NULL ALTER ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE YES
-'root'@'<SERVER_NAME>' NULL CREATE ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE TEMPORARY TABLES YES
-'root'@'<SERVER_NAME>' NULL CREATE USER YES
-'root'@'<SERVER_NAME>' NULL CREATE VIEW YES
-'root'@'<SERVER_NAME>' NULL DELETE YES
-'root'@'<SERVER_NAME>' NULL DROP YES
-'root'@'<SERVER_NAME>' NULL EVENT YES
-'root'@'<SERVER_NAME>' NULL EXECUTE YES
-'root'@'<SERVER_NAME>' NULL FILE YES
-'root'@'<SERVER_NAME>' NULL INDEX YES
-'root'@'<SERVER_NAME>' NULL INSERT YES
-'root'@'<SERVER_NAME>' NULL LOCK TABLES YES
-'root'@'<SERVER_NAME>' NULL PROCESS YES
-'root'@'<SERVER_NAME>' NULL REFERENCES YES
-'root'@'<SERVER_NAME>' NULL RELOAD YES
-'root'@'<SERVER_NAME>' NULL REPLICATION CLIENT YES
-'root'@'<SERVER_NAME>' NULL REPLICATION SLAVE YES
-'root'@'<SERVER_NAME>' NULL SELECT YES
-'root'@'<SERVER_NAME>' NULL SHOW DATABASES YES
-'root'@'<SERVER_NAME>' NULL SHOW VIEW YES
-'root'@'<SERVER_NAME>' NULL SHUTDOWN YES
-'root'@'<SERVER_NAME>' NULL SUPER YES
-'root'@'<SERVER_NAME>' NULL TRIGGER YES
-'root'@'<SERVER_NAME>' NULL UPDATE YES
-'root'@'localhost' NULL ALTER YES
-'root'@'localhost' NULL ALTER ROUTINE YES
-'root'@'localhost' NULL CREATE YES
-'root'@'localhost' NULL CREATE ROUTINE YES
-'root'@'localhost' NULL CREATE TEMPORARY TABLES YES
-'root'@'localhost' NULL CREATE USER YES
-'root'@'localhost' NULL CREATE VIEW YES
-'root'@'localhost' NULL DELETE YES
-'root'@'localhost' NULL DROP YES
-'root'@'localhost' NULL EVENT YES
-'root'@'localhost' NULL EXECUTE YES
-'root'@'localhost' NULL FILE YES
-'root'@'localhost' NULL INDEX YES
-'root'@'localhost' NULL INSERT YES
-'root'@'localhost' NULL LOCK TABLES YES
-'root'@'localhost' NULL PROCESS YES
-'root'@'localhost' NULL REFERENCES YES
-'root'@'localhost' NULL RELOAD YES
-'root'@'localhost' NULL REPLICATION CLIENT YES
-'root'@'localhost' NULL REPLICATION SLAVE YES
-'root'@'localhost' NULL SELECT YES
-'root'@'localhost' NULL SHOW DATABASES YES
-'root'@'localhost' NULL SHOW VIEW YES
-'root'@'localhost' NULL SHUTDOWN YES
-'root'@'localhost' NULL SUPER YES
-'root'@'localhost' NULL TRIGGER YES
-'root'@'localhost' NULL UPDATE YES
-select *
-from information_schema.column_privileges
-where table_schema like 'db_datadict%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select *
-from information_schema.table_privileges
-where table_schema like 'db_datadict%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select *
-from information_schema.key_column_usage
-where table_schema like 'db_datadict%';
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
-SELECT *
-FROM information_schema.triggers
-WHERE trigger_schema LIKE 'db_datadict%';
-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
-
-Testcase 3.2.1.14:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-CREATE DATABASE db_datadict;
-USE db_datadict;
-create table res_t_401014(f1 char(10), f2 text(25), f3 int);
-create view res_v_401014 as select * from res_t_401014;
-create procedure sp_6_401014() select 'db_datadict';
-create function fn_6_401014() returns int return 0;
-
-show existing objects >before< changing them ...
-------------------------------------------------
-select *
-from information_schema.schemata
-where schema_name like 'db_datadict%';
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL db_datadict latin1 latin1_swedish_ci NULL
-select table_catalog, table_schema, engine
-from information_schema.tables
-where table_schema like 'db_datadict%';
-table_catalog table_schema engine
-NULL db_datadict MyISAM
-NULL db_datadict NULL
-select *
-from information_schema.columns
-where table_schema like 'db_datadict%';
-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
-NULL db_datadict res_t_401014 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select,insert,update,references
-NULL db_datadict res_t_401014 f2 2 NULL YES tinytext 255 255 NULL NULL latin1 latin1_swedish_ci tinytext select,insert,update,references
-NULL db_datadict res_t_401014 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL db_datadict res_v_401014 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select,insert,update,references
-NULL db_datadict res_v_401014 f2 2 NULL YES tinytext 255 255 NULL NULL latin1 latin1_swedish_ci tinytext select,insert,update,references
-NULL db_datadict res_v_401014 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-select table_schema, table_name, is_updatable
-from information_schema.views
-where table_schema like 'db_datadict%';
-table_schema table_name is_updatable
-db_datadict res_v_401014 YES
-select routine_name, routine_type, security_type, sql_mode
-from information_schema.routines
-where routine_schema like 'db_datadict%';
-routine_name routine_type security_type sql_mode
-fn_6_401014 FUNCTION DEFINER
-sp_6_401014 PROCEDURE DEFINER
-select table_name, index_schema, index_name, index_type
-from information_schema.statistics
-where table_schema like 'db_datadict%';
-table_name index_schema index_name index_type
-select *
-from information_schema.user_privileges order by grantee, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'root'@'127.0.0.1' NULL ALTER YES
-'root'@'127.0.0.1' NULL ALTER ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE YES
-'root'@'127.0.0.1' NULL CREATE ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES
-'root'@'127.0.0.1' NULL CREATE USER YES
-'root'@'127.0.0.1' NULL CREATE VIEW YES
-'root'@'127.0.0.1' NULL DELETE YES
-'root'@'127.0.0.1' NULL DROP YES
-'root'@'127.0.0.1' NULL EVENT YES
-'root'@'127.0.0.1' NULL EXECUTE YES
-'root'@'127.0.0.1' NULL FILE YES
-'root'@'127.0.0.1' NULL INDEX YES
-'root'@'127.0.0.1' NULL INSERT YES
-'root'@'127.0.0.1' NULL LOCK TABLES YES
-'root'@'127.0.0.1' NULL PROCESS YES
-'root'@'127.0.0.1' NULL REFERENCES YES
-'root'@'127.0.0.1' NULL RELOAD YES
-'root'@'127.0.0.1' NULL REPLICATION CLIENT YES
-'root'@'127.0.0.1' NULL REPLICATION SLAVE YES
-'root'@'127.0.0.1' NULL SELECT YES
-'root'@'127.0.0.1' NULL SHOW DATABASES YES
-'root'@'127.0.0.1' NULL SHOW VIEW YES
-'root'@'127.0.0.1' NULL SHUTDOWN YES
-'root'@'127.0.0.1' NULL SUPER YES
-'root'@'127.0.0.1' NULL TRIGGER YES
-'root'@'127.0.0.1' NULL UPDATE YES
-'root'@'<SERVER_NAME>' NULL ALTER YES
-'root'@'<SERVER_NAME>' NULL ALTER ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE YES
-'root'@'<SERVER_NAME>' NULL CREATE ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE TEMPORARY TABLES YES
-'root'@'<SERVER_NAME>' NULL CREATE USER YES
-'root'@'<SERVER_NAME>' NULL CREATE VIEW YES
-'root'@'<SERVER_NAME>' NULL DELETE YES
-'root'@'<SERVER_NAME>' NULL DROP YES
-'root'@'<SERVER_NAME>' NULL EVENT YES
-'root'@'<SERVER_NAME>' NULL EXECUTE YES
-'root'@'<SERVER_NAME>' NULL FILE YES
-'root'@'<SERVER_NAME>' NULL INDEX YES
-'root'@'<SERVER_NAME>' NULL INSERT YES
-'root'@'<SERVER_NAME>' NULL LOCK TABLES YES
-'root'@'<SERVER_NAME>' NULL PROCESS YES
-'root'@'<SERVER_NAME>' NULL REFERENCES YES
-'root'@'<SERVER_NAME>' NULL RELOAD YES
-'root'@'<SERVER_NAME>' NULL REPLICATION CLIENT YES
-'root'@'<SERVER_NAME>' NULL REPLICATION SLAVE YES
-'root'@'<SERVER_NAME>' NULL SELECT YES
-'root'@'<SERVER_NAME>' NULL SHOW DATABASES YES
-'root'@'<SERVER_NAME>' NULL SHOW VIEW YES
-'root'@'<SERVER_NAME>' NULL SHUTDOWN YES
-'root'@'<SERVER_NAME>' NULL SUPER YES
-'root'@'<SERVER_NAME>' NULL TRIGGER YES
-'root'@'<SERVER_NAME>' NULL UPDATE YES
-'root'@'localhost' NULL ALTER YES
-'root'@'localhost' NULL ALTER ROUTINE YES
-'root'@'localhost' NULL CREATE YES
-'root'@'localhost' NULL CREATE ROUTINE YES
-'root'@'localhost' NULL CREATE TEMPORARY TABLES YES
-'root'@'localhost' NULL CREATE USER YES
-'root'@'localhost' NULL CREATE VIEW YES
-'root'@'localhost' NULL DELETE YES
-'root'@'localhost' NULL DROP YES
-'root'@'localhost' NULL EVENT YES
-'root'@'localhost' NULL EXECUTE YES
-'root'@'localhost' NULL FILE YES
-'root'@'localhost' NULL INDEX YES
-'root'@'localhost' NULL INSERT YES
-'root'@'localhost' NULL LOCK TABLES YES
-'root'@'localhost' NULL PROCESS YES
-'root'@'localhost' NULL REFERENCES YES
-'root'@'localhost' NULL RELOAD YES
-'root'@'localhost' NULL REPLICATION CLIENT YES
-'root'@'localhost' NULL REPLICATION SLAVE YES
-'root'@'localhost' NULL SELECT YES
-'root'@'localhost' NULL SHOW DATABASES YES
-'root'@'localhost' NULL SHOW VIEW YES
-'root'@'localhost' NULL SHUTDOWN YES
-'root'@'localhost' NULL SUPER YES
-'root'@'localhost' NULL TRIGGER YES
-'root'@'localhost' NULL UPDATE YES
-select *
-from information_schema.column_privileges
-where table_schema like 'db_datadict%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select *
-from information_schema.table_privileges
-where table_schema like 'db_datadict%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select *
-from information_schema.key_column_usage
-where table_schema like 'db_datadict%';
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
-SELECT *
-FROM information_schema.triggers
-WHERE trigger_schema LIKE 'db_datadict%';
-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
-use db_datadict;
-alter table res_t_401014 change f1 ff1 int;
-alter table res_t_401014 engine = innodb;
-alter table res_t_401014 change f3 f3_new bigint;
-alter view res_v_401014 as select ff1 from res_t_401014;
-alter procedure sp_6_401014 sql security invoker;
-alter function fn_6_401014 comment 'updated comments';
-alter database db_datadict character set utf8;
-
-now check whether the changes are visible in IS ...
----------------------------------------------------
-select *
-from information_schema.schemata
-where schema_name like 'db_datadict%';
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL db_datadict utf8 utf8_general_ci NULL
-select table_catalog, table_schema, engine
-from information_schema.tables
-where table_schema like 'db_datadict%';
-table_catalog table_schema engine
-NULL db_datadict InnoDB
-NULL db_datadict NULL
-select *
-from information_schema.columns
-where table_schema like 'db_datadict%';
-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
-NULL db_datadict res_t_401014 ff1 1 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL db_datadict res_t_401014 f2 2 NULL YES tinytext 255 255 NULL NULL latin1 latin1_swedish_ci tinytext select,insert,update,references
-NULL db_datadict res_t_401014 f3_new 3 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references
-NULL db_datadict res_v_401014 ff1 1 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-select table_schema, table_name, is_updatable
-from information_schema.views
-where table_schema like 'db_datadict%';
-table_schema table_name is_updatable
-db_datadict res_v_401014 YES
-select routine_name, routine_type, security_type, sql_mode
-from information_schema.routines
-where routine_schema like 'db_datadict%';
-routine_name routine_type security_type sql_mode
-fn_6_401014 FUNCTION DEFINER
-sp_6_401014 PROCEDURE INVOKER
-select table_name, index_schema, index_name, index_type
-from information_schema.statistics
-where table_schema like 'db_datadict%';
-table_name index_schema index_name index_type
-select *
-from information_schema.user_privileges order by grantee, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'root'@'127.0.0.1' NULL ALTER YES
-'root'@'127.0.0.1' NULL ALTER ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE YES
-'root'@'127.0.0.1' NULL CREATE ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES
-'root'@'127.0.0.1' NULL CREATE USER YES
-'root'@'127.0.0.1' NULL CREATE VIEW YES
-'root'@'127.0.0.1' NULL DELETE YES
-'root'@'127.0.0.1' NULL DROP YES
-'root'@'127.0.0.1' NULL EVENT YES
-'root'@'127.0.0.1' NULL EXECUTE YES
-'root'@'127.0.0.1' NULL FILE YES
-'root'@'127.0.0.1' NULL INDEX YES
-'root'@'127.0.0.1' NULL INSERT YES
-'root'@'127.0.0.1' NULL LOCK TABLES YES
-'root'@'127.0.0.1' NULL PROCESS YES
-'root'@'127.0.0.1' NULL REFERENCES YES
-'root'@'127.0.0.1' NULL RELOAD YES
-'root'@'127.0.0.1' NULL REPLICATION CLIENT YES
-'root'@'127.0.0.1' NULL REPLICATION SLAVE YES
-'root'@'127.0.0.1' NULL SELECT YES
-'root'@'127.0.0.1' NULL SHOW DATABASES YES
-'root'@'127.0.0.1' NULL SHOW VIEW YES
-'root'@'127.0.0.1' NULL SHUTDOWN YES
-'root'@'127.0.0.1' NULL SUPER YES
-'root'@'127.0.0.1' NULL TRIGGER YES
-'root'@'127.0.0.1' NULL UPDATE YES
-'root'@'<SERVER_NAME>' NULL ALTER YES
-'root'@'<SERVER_NAME>' NULL ALTER ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE YES
-'root'@'<SERVER_NAME>' NULL CREATE ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE TEMPORARY TABLES YES
-'root'@'<SERVER_NAME>' NULL CREATE USER YES
-'root'@'<SERVER_NAME>' NULL CREATE VIEW YES
-'root'@'<SERVER_NAME>' NULL DELETE YES
-'root'@'<SERVER_NAME>' NULL DROP YES
-'root'@'<SERVER_NAME>' NULL EVENT YES
-'root'@'<SERVER_NAME>' NULL EXECUTE YES
-'root'@'<SERVER_NAME>' NULL FILE YES
-'root'@'<SERVER_NAME>' NULL INDEX YES
-'root'@'<SERVER_NAME>' NULL INSERT YES
-'root'@'<SERVER_NAME>' NULL LOCK TABLES YES
-'root'@'<SERVER_NAME>' NULL PROCESS YES
-'root'@'<SERVER_NAME>' NULL REFERENCES YES
-'root'@'<SERVER_NAME>' NULL RELOAD YES
-'root'@'<SERVER_NAME>' NULL REPLICATION CLIENT YES
-'root'@'<SERVER_NAME>' NULL REPLICATION SLAVE YES
-'root'@'<SERVER_NAME>' NULL SELECT YES
-'root'@'<SERVER_NAME>' NULL SHOW DATABASES YES
-'root'@'<SERVER_NAME>' NULL SHOW VIEW YES
-'root'@'<SERVER_NAME>' NULL SHUTDOWN YES
-'root'@'<SERVER_NAME>' NULL SUPER YES
-'root'@'<SERVER_NAME>' NULL TRIGGER YES
-'root'@'<SERVER_NAME>' NULL UPDATE YES
-'root'@'localhost' NULL ALTER YES
-'root'@'localhost' NULL ALTER ROUTINE YES
-'root'@'localhost' NULL CREATE YES
-'root'@'localhost' NULL CREATE ROUTINE YES
-'root'@'localhost' NULL CREATE TEMPORARY TABLES YES
-'root'@'localhost' NULL CREATE USER YES
-'root'@'localhost' NULL CREATE VIEW YES
-'root'@'localhost' NULL DELETE YES
-'root'@'localhost' NULL DROP YES
-'root'@'localhost' NULL EVENT YES
-'root'@'localhost' NULL EXECUTE YES
-'root'@'localhost' NULL FILE YES
-'root'@'localhost' NULL INDEX YES
-'root'@'localhost' NULL INSERT YES
-'root'@'localhost' NULL LOCK TABLES YES
-'root'@'localhost' NULL PROCESS YES
-'root'@'localhost' NULL REFERENCES YES
-'root'@'localhost' NULL RELOAD YES
-'root'@'localhost' NULL REPLICATION CLIENT YES
-'root'@'localhost' NULL REPLICATION SLAVE YES
-'root'@'localhost' NULL SELECT YES
-'root'@'localhost' NULL SHOW DATABASES YES
-'root'@'localhost' NULL SHOW VIEW YES
-'root'@'localhost' NULL SHUTDOWN YES
-'root'@'localhost' NULL SUPER YES
-'root'@'localhost' NULL TRIGGER YES
-'root'@'localhost' NULL UPDATE YES
-select *
-from information_schema.column_privileges
-where table_schema like 'db_datadict%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select *
-from information_schema.table_privileges
-where table_schema like 'db_datadict%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select *
-from information_schema.key_column_usage
-where table_schema like 'db_datadict%';
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
-SELECT *
-FROM information_schema.triggers
-WHERE trigger_schema LIKE 'db_datadict%';
-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
-use db_datadict;
-drop table db_datadict.res_t_401014;
-drop view db_datadict.res_v_401014;
-drop procedure sp_6_401014;
-drop function fn_6_401014;
-drop database db_datadict;
-
-Testcase 3.2.1.15:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-CREATE DATABASE db_datadict;
-USE db_datadict;
-create table res_t_401015(f1 char(10), f2 text(25), f3 int);
-create view res_v_401015 as select * from res_t_401015;
-CREATE USER u_6_401015@localhost;
-create procedure sp_6_401015() select 'test';
-create function fn_6_401015() returns int return 0;
-create index i_6_401015 on res_t_401015(f3);
-
-show existing objects >before< dropping them ...
-------------------------------------------------
-select *
-from information_schema.schemata
-where schema_name like 'db_datadict%';
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL db_datadict latin1 latin1_swedish_ci NULL
-select table_catalog, table_schema, engine
-from information_schema.tables
-where table_schema like 'db_datadict%';
-table_catalog table_schema engine
-NULL db_datadict MyISAM
-NULL db_datadict NULL
-select *
-from information_schema.columns
-where table_schema like 'db_datadict%';
-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
-NULL db_datadict res_t_401015 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select,insert,update,references
-NULL db_datadict res_t_401015 f2 2 NULL YES tinytext 255 255 NULL NULL latin1 latin1_swedish_ci tinytext select,insert,update,references
-NULL db_datadict res_t_401015 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) MUL select,insert,update,references
-NULL db_datadict res_v_401015 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select,insert,update,references
-NULL db_datadict res_v_401015 f2 2 NULL YES tinytext 255 255 NULL NULL latin1 latin1_swedish_ci tinytext select,insert,update,references
-NULL db_datadict res_v_401015 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-select table_schema, table_name, is_updatable
-from information_schema.views
-where table_schema like 'db_datadict%';
-table_schema table_name is_updatable
-db_datadict res_v_401015 YES
-select routine_name, routine_type, security_type, sql_mode
-from information_schema.routines
-where routine_schema like 'db_datadict%';
-routine_name routine_type security_type sql_mode
-fn_6_401015 FUNCTION DEFINER
-sp_6_401015 PROCEDURE DEFINER
-select table_name, index_schema, index_name, index_type
-from information_schema.statistics
-where table_schema like 'db_datadict%';
-table_name index_schema index_name index_type
-res_t_401015 db_datadict i_6_401015 BTREE
-select *
-from information_schema.user_privileges order by grantee, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'root'@'127.0.0.1' NULL ALTER YES
-'root'@'127.0.0.1' NULL ALTER ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE YES
-'root'@'127.0.0.1' NULL CREATE ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES
-'root'@'127.0.0.1' NULL CREATE USER YES
-'root'@'127.0.0.1' NULL CREATE VIEW YES
-'root'@'127.0.0.1' NULL DELETE YES
-'root'@'127.0.0.1' NULL DROP YES
-'root'@'127.0.0.1' NULL EVENT YES
-'root'@'127.0.0.1' NULL EXECUTE YES
-'root'@'127.0.0.1' NULL FILE YES
-'root'@'127.0.0.1' NULL INDEX YES
-'root'@'127.0.0.1' NULL INSERT YES
-'root'@'127.0.0.1' NULL LOCK TABLES YES
-'root'@'127.0.0.1' NULL PROCESS YES
-'root'@'127.0.0.1' NULL REFERENCES YES
-'root'@'127.0.0.1' NULL RELOAD YES
-'root'@'127.0.0.1' NULL REPLICATION CLIENT YES
-'root'@'127.0.0.1' NULL REPLICATION SLAVE YES
-'root'@'127.0.0.1' NULL SELECT YES
-'root'@'127.0.0.1' NULL SHOW DATABASES YES
-'root'@'127.0.0.1' NULL SHOW VIEW YES
-'root'@'127.0.0.1' NULL SHUTDOWN YES
-'root'@'127.0.0.1' NULL SUPER YES
-'root'@'127.0.0.1' NULL TRIGGER YES
-'root'@'127.0.0.1' NULL UPDATE YES
-'root'@'<SERVER_NAME>' NULL ALTER YES
-'root'@'<SERVER_NAME>' NULL ALTER ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE YES
-'root'@'<SERVER_NAME>' NULL CREATE ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE TEMPORARY TABLES YES
-'root'@'<SERVER_NAME>' NULL CREATE USER YES
-'root'@'<SERVER_NAME>' NULL CREATE VIEW YES
-'root'@'<SERVER_NAME>' NULL DELETE YES
-'root'@'<SERVER_NAME>' NULL DROP YES
-'root'@'<SERVER_NAME>' NULL EVENT YES
-'root'@'<SERVER_NAME>' NULL EXECUTE YES
-'root'@'<SERVER_NAME>' NULL FILE YES
-'root'@'<SERVER_NAME>' NULL INDEX YES
-'root'@'<SERVER_NAME>' NULL INSERT YES
-'root'@'<SERVER_NAME>' NULL LOCK TABLES YES
-'root'@'<SERVER_NAME>' NULL PROCESS YES
-'root'@'<SERVER_NAME>' NULL REFERENCES YES
-'root'@'<SERVER_NAME>' NULL RELOAD YES
-'root'@'<SERVER_NAME>' NULL REPLICATION CLIENT YES
-'root'@'<SERVER_NAME>' NULL REPLICATION SLAVE YES
-'root'@'<SERVER_NAME>' NULL SELECT YES
-'root'@'<SERVER_NAME>' NULL SHOW DATABASES YES
-'root'@'<SERVER_NAME>' NULL SHOW VIEW YES
-'root'@'<SERVER_NAME>' NULL SHUTDOWN YES
-'root'@'<SERVER_NAME>' NULL SUPER YES
-'root'@'<SERVER_NAME>' NULL TRIGGER YES
-'root'@'<SERVER_NAME>' NULL UPDATE YES
-'root'@'localhost' NULL ALTER YES
-'root'@'localhost' NULL ALTER ROUTINE YES
-'root'@'localhost' NULL CREATE YES
-'root'@'localhost' NULL CREATE ROUTINE YES
-'root'@'localhost' NULL CREATE TEMPORARY TABLES YES
-'root'@'localhost' NULL CREATE USER YES
-'root'@'localhost' NULL CREATE VIEW YES
-'root'@'localhost' NULL DELETE YES
-'root'@'localhost' NULL DROP YES
-'root'@'localhost' NULL EVENT YES
-'root'@'localhost' NULL EXECUTE YES
-'root'@'localhost' NULL FILE YES
-'root'@'localhost' NULL INDEX YES
-'root'@'localhost' NULL INSERT YES
-'root'@'localhost' NULL LOCK TABLES YES
-'root'@'localhost' NULL PROCESS YES
-'root'@'localhost' NULL REFERENCES YES
-'root'@'localhost' NULL RELOAD YES
-'root'@'localhost' NULL REPLICATION CLIENT YES
-'root'@'localhost' NULL REPLICATION SLAVE YES
-'root'@'localhost' NULL SELECT YES
-'root'@'localhost' NULL SHOW DATABASES YES
-'root'@'localhost' NULL SHOW VIEW YES
-'root'@'localhost' NULL SHUTDOWN YES
-'root'@'localhost' NULL SUPER YES
-'root'@'localhost' NULL TRIGGER YES
-'root'@'localhost' NULL UPDATE YES
-'u_6_401015'@'localhost' NULL USAGE NO
-select *
-from information_schema.column_privileges
-where table_schema like 'db_datadict%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select *
-from information_schema.table_privileges
-where table_schema like 'db_datadict%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select *
-from information_schema.key_column_usage
-where table_schema like 'db_datadict%';
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
-SELECT *
-FROM information_schema.triggers
-WHERE trigger_schema LIKE 'db_datadict%';
-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
-use db_datadict;
-drop index i_6_401015 on res_t_401015;
-drop table db_datadict.res_t_401015;
-drop view db_datadict.res_v_401015;
-DROP USER u_6_401015@localhost;
-drop procedure sp_6_401015;
-drop function fn_6_401015;
-
-now check they are really gone ...
-----------------------------------
-select *
-from information_schema.schemata
-where schema_name like 'db_datadict%';
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL db_datadict latin1 latin1_swedish_ci NULL
-select table_catalog, table_schema, engine
-from information_schema.tables
-where table_schema like 'db_datadict%';
-table_catalog table_schema engine
-select *
-from information_schema.columns
-where table_schema like 'db_datadict%';
-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
-select table_schema, table_name, is_updatable
-from information_schema.views
-where table_schema like 'db_datadict%';
-table_schema table_name is_updatable
-select routine_name, routine_type, security_type, sql_mode
-from information_schema.routines
-where routine_schema like 'db_datadict%';
-routine_name routine_type security_type sql_mode
-select table_name, index_schema, index_name, index_type
-from information_schema.statistics
-where table_schema like 'db_datadict%';
-table_name index_schema index_name index_type
-select *
-from information_schema.user_privileges order by grantee, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'root'@'127.0.0.1' NULL ALTER YES
-'root'@'127.0.0.1' NULL ALTER ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE YES
-'root'@'127.0.0.1' NULL CREATE ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES
-'root'@'127.0.0.1' NULL CREATE USER YES
-'root'@'127.0.0.1' NULL CREATE VIEW YES
-'root'@'127.0.0.1' NULL DELETE YES
-'root'@'127.0.0.1' NULL DROP YES
-'root'@'127.0.0.1' NULL EVENT YES
-'root'@'127.0.0.1' NULL EXECUTE YES
-'root'@'127.0.0.1' NULL FILE YES
-'root'@'127.0.0.1' NULL INDEX YES
-'root'@'127.0.0.1' NULL INSERT YES
-'root'@'127.0.0.1' NULL LOCK TABLES YES
-'root'@'127.0.0.1' NULL PROCESS YES
-'root'@'127.0.0.1' NULL REFERENCES YES
-'root'@'127.0.0.1' NULL RELOAD YES
-'root'@'127.0.0.1' NULL REPLICATION CLIENT YES
-'root'@'127.0.0.1' NULL REPLICATION SLAVE YES
-'root'@'127.0.0.1' NULL SELECT YES
-'root'@'127.0.0.1' NULL SHOW DATABASES YES
-'root'@'127.0.0.1' NULL SHOW VIEW YES
-'root'@'127.0.0.1' NULL SHUTDOWN YES
-'root'@'127.0.0.1' NULL SUPER YES
-'root'@'127.0.0.1' NULL TRIGGER YES
-'root'@'127.0.0.1' NULL UPDATE YES
-'root'@'<SERVER_NAME>' NULL ALTER YES
-'root'@'<SERVER_NAME>' NULL ALTER ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE YES
-'root'@'<SERVER_NAME>' NULL CREATE ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE TEMPORARY TABLES YES
-'root'@'<SERVER_NAME>' NULL CREATE USER YES
-'root'@'<SERVER_NAME>' NULL CREATE VIEW YES
-'root'@'<SERVER_NAME>' NULL DELETE YES
-'root'@'<SERVER_NAME>' NULL DROP YES
-'root'@'<SERVER_NAME>' NULL EVENT YES
-'root'@'<SERVER_NAME>' NULL EXECUTE YES
-'root'@'<SERVER_NAME>' NULL FILE YES
-'root'@'<SERVER_NAME>' NULL INDEX YES
-'root'@'<SERVER_NAME>' NULL INSERT YES
-'root'@'<SERVER_NAME>' NULL LOCK TABLES YES
-'root'@'<SERVER_NAME>' NULL PROCESS YES
-'root'@'<SERVER_NAME>' NULL REFERENCES YES
-'root'@'<SERVER_NAME>' NULL RELOAD YES
-'root'@'<SERVER_NAME>' NULL REPLICATION CLIENT YES
-'root'@'<SERVER_NAME>' NULL REPLICATION SLAVE YES
-'root'@'<SERVER_NAME>' NULL SELECT YES
-'root'@'<SERVER_NAME>' NULL SHOW DATABASES YES
-'root'@'<SERVER_NAME>' NULL SHOW VIEW YES
-'root'@'<SERVER_NAME>' NULL SHUTDOWN YES
-'root'@'<SERVER_NAME>' NULL SUPER YES
-'root'@'<SERVER_NAME>' NULL TRIGGER YES
-'root'@'<SERVER_NAME>' NULL UPDATE YES
-'root'@'localhost' NULL ALTER YES
-'root'@'localhost' NULL ALTER ROUTINE YES
-'root'@'localhost' NULL CREATE YES
-'root'@'localhost' NULL CREATE ROUTINE YES
-'root'@'localhost' NULL CREATE TEMPORARY TABLES YES
-'root'@'localhost' NULL CREATE USER YES
-'root'@'localhost' NULL CREATE VIEW YES
-'root'@'localhost' NULL DELETE YES
-'root'@'localhost' NULL DROP YES
-'root'@'localhost' NULL EVENT YES
-'root'@'localhost' NULL EXECUTE YES
-'root'@'localhost' NULL FILE YES
-'root'@'localhost' NULL INDEX YES
-'root'@'localhost' NULL INSERT YES
-'root'@'localhost' NULL LOCK TABLES YES
-'root'@'localhost' NULL PROCESS YES
-'root'@'localhost' NULL REFERENCES YES
-'root'@'localhost' NULL RELOAD YES
-'root'@'localhost' NULL REPLICATION CLIENT YES
-'root'@'localhost' NULL REPLICATION SLAVE YES
-'root'@'localhost' NULL SELECT YES
-'root'@'localhost' NULL SHOW DATABASES YES
-'root'@'localhost' NULL SHOW VIEW YES
-'root'@'localhost' NULL SHUTDOWN YES
-'root'@'localhost' NULL SUPER YES
-'root'@'localhost' NULL TRIGGER YES
-'root'@'localhost' NULL UPDATE YES
-select *
-from information_schema.column_privileges
-where table_schema like 'db_datadict%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select *
-from information_schema.table_privileges
-where table_schema like 'db_datadict%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select *
-from information_schema.key_column_usage
-where table_schema like 'db_datadict%';
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
-SELECT *
-FROM information_schema.triggers
-WHERE trigger_schema LIKE 'db_datadict%';
-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
-
-Testcase 3.2.1.16:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-CREATE DATABASE db_datadict;
-CREATE DATABASE db_hidden;
-USE db_hidden;
-CREATE TABLE tb_hidden ( c1 TEXT );
-USE db_datadict;
-CREATE TABLE res_t_401016(f1 char(10),f2 text(25),f3 int);
-CREATE TABLE res_t_401016_1(f1 char(10),f2 text(25),f3 int);
-CREATE USER 'u_6_401016'@'localhost';
-GRANT SELECT ON db_datadict.res_t_401016 TO 'u_6_401016'@'localhost';
-FLUSH PRIVILEGES;
-connect(localhost,u_6_401016,,test,MYSQL_PORT,MYSQL_SOCK);
-USE information_schema;
-SELECT table_schema, table_name, engine
-FROM TABLES;
-table_schema table_name engine
-information_schema CHARACTER_SETS MEMORY
-information_schema COLLATIONS MEMORY
-information_schema COLLATION_CHARACTER_SET_APPLICABILITY MEMORY
-information_schema COLUMNS MyISAM
-information_schema COLUMN_PRIVILEGES MEMORY
-information_schema ENGINES MEMORY
-information_schema EVENTS MyISAM
-information_schema FILES MEMORY
-information_schema GLOBAL_STATUS MEMORY
-information_schema GLOBAL_VARIABLES MyISAM
-information_schema KEY_COLUMN_USAGE MEMORY
-information_schema PARTITIONS MyISAM
-information_schema PLUGINS MyISAM
-information_schema PROCESSLIST MyISAM
-information_schema REFERENTIAL_CONSTRAINTS MEMORY
-information_schema ROUTINES MyISAM
-information_schema SCHEMATA MEMORY
-information_schema SCHEMA_PRIVILEGES MEMORY
-information_schema SESSION_STATUS MEMORY
-information_schema SESSION_VARIABLES MyISAM
-information_schema STATISTICS MEMORY
-information_schema TABLES MEMORY
-information_schema TABLE_CONSTRAINTS MEMORY
-information_schema TABLE_PRIVILEGES MEMORY
-information_schema TRIGGERS MyISAM
-information_schema USER_PRIVILEGES MEMORY
-information_schema VIEWS MyISAM
-db_datadict res_t_401016 MyISAM
-test t1 MyISAM
-test t10 MyISAM
-test t11 MyISAM
-test t2 MyISAM
-test t3 MyISAM
-test t4 MyISAM
-test t7 MyISAM
-test t8 MyISAM
-test t9 MyISAM
-test tb1 MyISAM
-test tb2 MyISAM
-test tb3 MyISAM
-test tb4 MyISAM
-SHOW TABLES;
-Tables_in_information_schema
-CHARACTER_SETS
-COLLATIONS
-COLLATION_CHARACTER_SET_APPLICABILITY
-COLUMNS
-COLUMN_PRIVILEGES
-ENGINES
-EVENTS
-FILES
-GLOBAL_STATUS
-GLOBAL_VARIABLES
-KEY_COLUMN_USAGE
-PARTITIONS
-PLUGINS
-PROCESSLIST
-REFERENTIAL_CONSTRAINTS
-ROUTINES
-SCHEMATA
-SCHEMA_PRIVILEGES
-SESSION_STATUS
-SESSION_VARIABLES
-STATISTICS
-TABLES
-TABLE_CONSTRAINTS
-TABLE_PRIVILEGES
-TRIGGERS
-USER_PRIVILEGES
-VIEWS
-SELECT * FROM schemata;
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL information_schema utf8 utf8_general_ci NULL
-NULL db_datadict latin1 latin1_swedish_ci NULL
-NULL test latin1 latin1_swedish_ci NULL
-
-root@localhost db_datadict
-grant usage on information_schema.* to 'u_6_401016'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-FLUSH PRIVILEGES;
-connect(localhost,u_6_401016,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-USE information_schema;
-SHOW TABLES;
-Tables_in_information_schema
-CHARACTER_SETS
-COLLATIONS
-COLLATION_CHARACTER_SET_APPLICABILITY
-COLUMNS
-COLUMN_PRIVILEGES
-ENGINES
-EVENTS
-FILES
-GLOBAL_STATUS
-GLOBAL_VARIABLES
-KEY_COLUMN_USAGE
-PARTITIONS
-PLUGINS
-PROCESSLIST
-REFERENTIAL_CONSTRAINTS
-ROUTINES
-SCHEMATA
-SCHEMA_PRIVILEGES
-SESSION_STATUS
-SESSION_VARIABLES
-STATISTICS
-TABLES
-TABLE_CONSTRAINTS
-TABLE_PRIVILEGES
-TRIGGERS
-USER_PRIVILEGES
-VIEWS
-SELECT * FROM schemata;
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL information_schema utf8 utf8_general_ci NULL
-NULL db_datadict latin1 latin1_swedish_ci NULL
-NULL test latin1 latin1_swedish_ci NULL
-use db_datadict;
-
-root@localhost db_datadict
-DROP USER 'u_6_401016'@'localhost';
-drop table res_t_401016;
-drop table res_t_401016_1;
-DROP DATABASE db_hidden;
-
-Testcase 3.2.1.17:
---------------------------------------------------------------------------------
-CREATE USER 'u_6_401017'@'localhost';
-grant select on information_schema.* to u_6_401017@localhost;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-FLUSH PRIVILEGES;
-connect(localhost,u_6_401017,,test,MYSQL_PORT,MYSQL_SOCK);
-use information_schema;
-select * from collation_character_set_applicability;
-COLLATION_NAME CHARACTER_SET_NAME
-big5_chinese_ci big5
-big5_bin big5
-dec8_swedish_ci dec8
-dec8_bin dec8
-cp850_general_ci cp850
-cp850_bin cp850
-hp8_english_ci hp8
-hp8_bin hp8
-koi8r_general_ci koi8r
-koi8r_bin koi8r
-latin1_german1_ci latin1
-latin1_swedish_ci latin1
-latin1_danish_ci latin1
-latin1_german2_ci latin1
-latin1_bin latin1
-latin1_general_ci latin1
-latin1_general_cs latin1
-latin1_spanish_ci latin1
-latin2_czech_cs latin2
-latin2_general_ci latin2
-latin2_hungarian_ci latin2
-latin2_croatian_ci latin2
-latin2_bin latin2
-swe7_swedish_ci swe7
-swe7_bin swe7
-ascii_general_ci ascii
-ascii_bin ascii
-ujis_japanese_ci ujis
-ujis_bin ujis
-sjis_japanese_ci sjis
-sjis_bin sjis
-hebrew_general_ci hebrew
-hebrew_bin hebrew
-filename filename
-tis620_thai_ci tis620
-tis620_bin tis620
-euckr_korean_ci euckr
-euckr_bin euckr
-koi8u_general_ci koi8u
-koi8u_bin koi8u
-gb2312_chinese_ci gb2312
-gb2312_bin gb2312
-greek_general_ci greek
-greek_bin greek
-cp1250_general_ci cp1250
-cp1250_czech_cs cp1250
-cp1250_croatian_ci cp1250
-cp1250_bin cp1250
-cp1250_polish_ci cp1250
-gbk_chinese_ci gbk
-gbk_bin gbk
-latin5_turkish_ci latin5
-latin5_bin latin5
-armscii8_general_ci armscii8
-armscii8_bin armscii8
-utf8_general_ci utf8
-utf8_bin utf8
-utf8_unicode_ci utf8
-utf8_icelandic_ci utf8
-utf8_latvian_ci utf8
-utf8_romanian_ci utf8
-utf8_slovenian_ci utf8
-utf8_polish_ci utf8
-utf8_estonian_ci utf8
-utf8_spanish_ci utf8
-utf8_swedish_ci utf8
-utf8_turkish_ci utf8
-utf8_czech_ci utf8
-utf8_danish_ci utf8
-utf8_lithuanian_ci utf8
-utf8_slovak_ci utf8
-utf8_spanish2_ci utf8
-utf8_roman_ci utf8
-utf8_persian_ci utf8
-utf8_esperanto_ci utf8
-utf8_hungarian_ci utf8
-ucs2_general_ci ucs2
-ucs2_bin ucs2
-ucs2_unicode_ci ucs2
-ucs2_icelandic_ci ucs2
-ucs2_latvian_ci ucs2
-ucs2_romanian_ci ucs2
-ucs2_slovenian_ci ucs2
-ucs2_polish_ci ucs2
-ucs2_estonian_ci ucs2
-ucs2_spanish_ci ucs2
-ucs2_swedish_ci ucs2
-ucs2_turkish_ci ucs2
-ucs2_czech_ci ucs2
-ucs2_danish_ci ucs2
-ucs2_lithuanian_ci ucs2
-ucs2_slovak_ci ucs2
-ucs2_spanish2_ci ucs2
-ucs2_roman_ci ucs2
-ucs2_persian_ci ucs2
-ucs2_esperanto_ci ucs2
-ucs2_hungarian_ci ucs2
-cp866_general_ci cp866
-cp866_bin cp866
-keybcs2_general_ci keybcs2
-keybcs2_bin keybcs2
-macce_general_ci macce
-macce_bin macce
-macroman_general_ci macroman
-macroman_bin macroman
-cp852_general_ci cp852
-cp852_bin cp852
-latin7_estonian_cs latin7
-latin7_general_ci latin7
-latin7_general_cs latin7
-latin7_bin latin7
-cp1251_bulgarian_ci cp1251
-cp1251_ukrainian_ci cp1251
-cp1251_bin cp1251
-cp1251_general_ci cp1251
-cp1251_general_cs cp1251
-cp1256_general_ci cp1256
-cp1256_bin cp1256
-cp1257_lithuanian_ci cp1257
-cp1257_bin cp1257
-cp1257_general_ci cp1257
-binary binary
-geostd8_general_ci geostd8
-geostd8_bin geostd8
-cp932_japanese_ci cp932
-cp932_bin cp932
-eucjpms_japanese_ci eucjpms
-eucjpms_bin eucjpms
-select * from schemata;
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL information_schema utf8 utf8_general_ci NULL
-NULL test latin1 latin1_swedish_ci NULL
-select table_name from tables;
-table_name
-CHARACTER_SETS
-COLLATIONS
-COLLATION_CHARACTER_SET_APPLICABILITY
-COLUMNS
-COLUMN_PRIVILEGES
-ENGINES
-EVENTS
-FILES
-GLOBAL_STATUS
-GLOBAL_VARIABLES
-KEY_COLUMN_USAGE
-PARTITIONS
-PLUGINS
-PROCESSLIST
-REFERENTIAL_CONSTRAINTS
-ROUTINES
-SCHEMATA
-SCHEMA_PRIVILEGES
-SESSION_STATUS
-SESSION_VARIABLES
-STATISTICS
-TABLES
-TABLE_CONSTRAINTS
-TABLE_PRIVILEGES
-TRIGGERS
-USER_PRIVILEGES
-VIEWS
-t1
-t10
-t11
-t2
-t3
-t4
-t7
-t8
-t9
-tb1
-tb2
-tb3
-tb4
-select table_name, column_name, column_type from columns;
-table_name column_name column_type
-CHARACTER_SETS CHARACTER_SET_NAME varchar(64)
-CHARACTER_SETS DEFAULT_COLLATE_NAME varchar(64)
-CHARACTER_SETS DESCRIPTION varchar(60)
-CHARACTER_SETS MAXLEN bigint(3)
-COLLATIONS COLLATION_NAME varchar(64)
-COLLATIONS CHARACTER_SET_NAME varchar(64)
-COLLATIONS ID bigint(11)
-COLLATIONS IS_DEFAULT varchar(3)
-COLLATIONS IS_COMPILED varchar(3)
-COLLATIONS SORTLEN bigint(3)
-COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME varchar(64)
-COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME varchar(64)
-COLUMNS TABLE_CATALOG varchar(4096)
-COLUMNS TABLE_SCHEMA varchar(64)
-COLUMNS TABLE_NAME varchar(64)
-COLUMNS COLUMN_NAME varchar(64)
-COLUMNS ORDINAL_POSITION bigint(21) unsigned
-COLUMNS COLUMN_DEFAULT longtext
-COLUMNS IS_NULLABLE varchar(3)
-COLUMNS DATA_TYPE varchar(64)
-COLUMNS CHARACTER_MAXIMUM_LENGTH bigint(21) unsigned
-COLUMNS CHARACTER_OCTET_LENGTH bigint(21) unsigned
-COLUMNS NUMERIC_PRECISION bigint(21) unsigned
-COLUMNS NUMERIC_SCALE bigint(21) unsigned
-COLUMNS CHARACTER_SET_NAME varchar(64)
-COLUMNS COLLATION_NAME varchar(64)
-COLUMNS COLUMN_TYPE longtext
-COLUMNS COLUMN_KEY varchar(3)
-COLUMNS EXTRA varchar(20)
-COLUMNS PRIVILEGES varchar(80)
-COLUMNS COLUMN_COMMENT varchar(255)
-COLUMN_PRIVILEGES GRANTEE varchar(81)
-COLUMN_PRIVILEGES TABLE_CATALOG varchar(4096)
-COLUMN_PRIVILEGES TABLE_SCHEMA varchar(64)
-COLUMN_PRIVILEGES TABLE_NAME varchar(64)
-COLUMN_PRIVILEGES COLUMN_NAME varchar(64)
-COLUMN_PRIVILEGES PRIVILEGE_TYPE varchar(64)
-COLUMN_PRIVILEGES IS_GRANTABLE varchar(3)
-ENGINES ENGINE varchar(64)
-ENGINES SUPPORT varchar(8)
-ENGINES COMMENT varchar(80)
-ENGINES TRANSACTIONS varchar(3)
-ENGINES XA varchar(3)
-ENGINES SAVEPOINTS varchar(3)
-EVENTS EVENT_CATALOG varchar(64)
-EVENTS EVENT_SCHEMA varchar(64)
-EVENTS EVENT_NAME varchar(64)
-EVENTS DEFINER varchar(77)
-EVENTS TIME_ZONE varchar(64)
-EVENTS EVENT_BODY varchar(8)
-EVENTS EVENT_DEFINITION longtext
-EVENTS EVENT_TYPE varchar(9)
-EVENTS EXECUTE_AT datetime
-EVENTS INTERVAL_VALUE varchar(256)
-EVENTS INTERVAL_FIELD varchar(18)
-EVENTS SQL_MODE longtext
-EVENTS STARTS datetime
-EVENTS ENDS datetime
-EVENTS STATUS varchar(18)
-EVENTS ON_COMPLETION varchar(12)
-EVENTS CREATED datetime
-EVENTS LAST_ALTERED datetime
-EVENTS LAST_EXECUTED datetime
-EVENTS EVENT_COMMENT varchar(64)
-EVENTS ORIGINATOR bigint(10)
-FILES FILE_ID bigint(4)
-FILES FILE_NAME varchar(64)
-FILES FILE_TYPE varchar(20)
-FILES TABLESPACE_NAME varchar(64)
-FILES TABLE_CATALOG varchar(64)
-FILES TABLE_SCHEMA varchar(64)
-FILES TABLE_NAME varchar(64)
-FILES LOGFILE_GROUP_NAME varchar(64)
-FILES LOGFILE_GROUP_NUMBER bigint(4)
-FILES ENGINE varchar(64)
-FILES FULLTEXT_KEYS varchar(64)
-FILES DELETED_ROWS bigint(4)
-FILES UPDATE_COUNT bigint(4)
-FILES FREE_EXTENTS bigint(4)
-FILES TOTAL_EXTENTS bigint(4)
-FILES EXTENT_SIZE bigint(4)
-FILES INITIAL_SIZE bigint(21) unsigned
-FILES MAXIMUM_SIZE bigint(21) unsigned
-FILES AUTOEXTEND_SIZE bigint(21) unsigned
-FILES CREATION_TIME datetime
-FILES LAST_UPDATE_TIME datetime
-FILES LAST_ACCESS_TIME datetime
-FILES RECOVER_TIME bigint(4)
-FILES TRANSACTION_COUNTER bigint(4)
-FILES VERSION bigint(21) unsigned
-FILES ROW_FORMAT varchar(10)
-FILES TABLE_ROWS bigint(21) unsigned
-FILES AVG_ROW_LENGTH bigint(21) unsigned
-FILES DATA_LENGTH bigint(21) unsigned
-FILES MAX_DATA_LENGTH bigint(21) unsigned
-FILES INDEX_LENGTH bigint(21) unsigned
-FILES DATA_FREE bigint(21) unsigned
-FILES CREATE_TIME datetime
-FILES UPDATE_TIME datetime
-FILES CHECK_TIME datetime
-FILES CHECKSUM bigint(21) unsigned
-FILES STATUS varchar(20)
-FILES EXTRA varchar(255)
-GLOBAL_STATUS VARIABLE_NAME varchar(64)
-GLOBAL_STATUS VARIABLE_VALUE decimal(22,7)
-GLOBAL_VARIABLES VARIABLE_NAME varchar(64)
-GLOBAL_VARIABLES VARIABLE_VALUE longtext
-KEY_COLUMN_USAGE CONSTRAINT_CATALOG varchar(4096)
-KEY_COLUMN_USAGE CONSTRAINT_SCHEMA varchar(64)
-KEY_COLUMN_USAGE CONSTRAINT_NAME varchar(64)
-KEY_COLUMN_USAGE TABLE_CATALOG varchar(4096)
-KEY_COLUMN_USAGE TABLE_SCHEMA varchar(64)
-KEY_COLUMN_USAGE TABLE_NAME varchar(64)
-KEY_COLUMN_USAGE COLUMN_NAME varchar(64)
-KEY_COLUMN_USAGE ORDINAL_POSITION bigint(10)
-KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT bigint(10)
-KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA varchar(64)
-KEY_COLUMN_USAGE REFERENCED_TABLE_NAME varchar(64)
-KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME varchar(64)
-PARTITIONS TABLE_CATALOG varchar(4096)
-PARTITIONS TABLE_SCHEMA varchar(64)
-PARTITIONS TABLE_NAME varchar(64)
-PARTITIONS PARTITION_NAME varchar(64)
-PARTITIONS SUBPARTITION_NAME varchar(64)
-PARTITIONS PARTITION_ORDINAL_POSITION bigint(21) unsigned
-PARTITIONS SUBPARTITION_ORDINAL_POSITION bigint(21) unsigned
-PARTITIONS PARTITION_METHOD varchar(12)
-PARTITIONS SUBPARTITION_METHOD varchar(12)
-PARTITIONS PARTITION_EXPRESSION longtext
-PARTITIONS SUBPARTITION_EXPRESSION longtext
-PARTITIONS PARTITION_DESCRIPTION longtext
-PARTITIONS TABLE_ROWS bigint(21) unsigned
-PARTITIONS AVG_ROW_LENGTH bigint(21) unsigned
-PARTITIONS DATA_LENGTH bigint(21) unsigned
-PARTITIONS MAX_DATA_LENGTH bigint(21) unsigned
-PARTITIONS INDEX_LENGTH bigint(21) unsigned
-PARTITIONS DATA_FREE bigint(21) unsigned
-PARTITIONS CREATE_TIME datetime
-PARTITIONS UPDATE_TIME datetime
-PARTITIONS CHECK_TIME datetime
-PARTITIONS CHECKSUM bigint(21) unsigned
-PARTITIONS PARTITION_COMMENT varchar(80)
-PARTITIONS NODEGROUP varchar(12)
-PARTITIONS TABLESPACE_NAME varchar(64)
-PLUGINS PLUGIN_NAME varchar(64)
-PLUGINS PLUGIN_VERSION varchar(20)
-PLUGINS PLUGIN_STATUS varchar(10)
-PLUGINS PLUGIN_TYPE varchar(80)
-PLUGINS PLUGIN_TYPE_VERSION varchar(20)
-PLUGINS PLUGIN_LIBRARY varchar(64)
-PLUGINS PLUGIN_LIBRARY_VERSION varchar(20)
-PLUGINS PLUGIN_AUTHOR varchar(64)
-PLUGINS PLUGIN_DESCRIPTION longtext
-PLUGINS PLUGIN_LICENSE varchar(80)
-PROCESSLIST ID bigint(4)
-PROCESSLIST USER varchar(16)
-PROCESSLIST HOST varchar(64)
-PROCESSLIST DB varchar(64)
-PROCESSLIST COMMAND varchar(16)
-PROCESSLIST TIME bigint(7)
-PROCESSLIST STATE varchar(64)
-PROCESSLIST INFO longtext
-REFERENTIAL_CONSTRAINTS CONSTRAINT_CATALOG varchar(4096)
-REFERENTIAL_CONSTRAINTS CONSTRAINT_SCHEMA varchar(64)
-REFERENTIAL_CONSTRAINTS CONSTRAINT_NAME varchar(64)
-REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_CATALOG varchar(4096)
-REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_SCHEMA varchar(64)
-REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_NAME varchar(64)
-REFERENTIAL_CONSTRAINTS MATCH_OPTION varchar(64)
-REFERENTIAL_CONSTRAINTS UPDATE_RULE varchar(64)
-REFERENTIAL_CONSTRAINTS DELETE_RULE varchar(64)
-REFERENTIAL_CONSTRAINTS TABLE_NAME varchar(64)
-REFERENTIAL_CONSTRAINTS REFERENCED_TABLE_NAME varchar(64)
-ROUTINES SPECIFIC_NAME varchar(64)
-ROUTINES ROUTINE_CATALOG varchar(4096)
-ROUTINES ROUTINE_SCHEMA varchar(64)
-ROUTINES ROUTINE_NAME varchar(64)
-ROUTINES ROUTINE_TYPE varchar(9)
-ROUTINES DTD_IDENTIFIER varchar(64)
-ROUTINES ROUTINE_BODY varchar(8)
-ROUTINES ROUTINE_DEFINITION longtext
-ROUTINES EXTERNAL_NAME varchar(64)
-ROUTINES EXTERNAL_LANGUAGE varchar(64)
-ROUTINES PARAMETER_STYLE varchar(8)
-ROUTINES IS_DETERMINISTIC varchar(3)
-ROUTINES SQL_DATA_ACCESS varchar(64)
-ROUTINES SQL_PATH varchar(64)
-ROUTINES SECURITY_TYPE varchar(7)
-ROUTINES CREATED datetime
-ROUTINES LAST_ALTERED datetime
-ROUTINES SQL_MODE longtext
-ROUTINES ROUTINE_COMMENT varchar(64)
-ROUTINES DEFINER varchar(77)
-SCHEMATA CATALOG_NAME varchar(4096)
-SCHEMATA SCHEMA_NAME varchar(64)
-SCHEMATA DEFAULT_CHARACTER_SET_NAME varchar(64)
-SCHEMATA DEFAULT_COLLATION_NAME varchar(64)
-SCHEMATA SQL_PATH varchar(4096)
-SCHEMA_PRIVILEGES GRANTEE varchar(81)
-SCHEMA_PRIVILEGES TABLE_CATALOG varchar(4096)
-SCHEMA_PRIVILEGES TABLE_SCHEMA varchar(64)
-SCHEMA_PRIVILEGES PRIVILEGE_TYPE varchar(64)
-SCHEMA_PRIVILEGES IS_GRANTABLE varchar(3)
-SESSION_STATUS VARIABLE_NAME varchar(64)
-SESSION_STATUS VARIABLE_VALUE decimal(22,7)
-SESSION_VARIABLES VARIABLE_NAME varchar(64)
-SESSION_VARIABLES VARIABLE_VALUE longtext
-STATISTICS TABLE_CATALOG varchar(4096)
-STATISTICS TABLE_SCHEMA varchar(64)
-STATISTICS TABLE_NAME varchar(64)
-STATISTICS NON_UNIQUE bigint(1)
-STATISTICS INDEX_SCHEMA varchar(64)
-STATISTICS INDEX_NAME varchar(64)
-STATISTICS SEQ_IN_INDEX bigint(2)
-STATISTICS COLUMN_NAME varchar(64)
-STATISTICS COLLATION varchar(1)
-STATISTICS CARDINALITY bigint(21)
-STATISTICS SUB_PART bigint(3)
-STATISTICS PACKED varchar(10)
-STATISTICS NULLABLE varchar(3)
-STATISTICS INDEX_TYPE varchar(16)
-STATISTICS COMMENT varchar(16)
-TABLES TABLE_CATALOG varchar(4096)
-TABLES TABLE_SCHEMA varchar(64)
-TABLES TABLE_NAME varchar(64)
-TABLES TABLE_TYPE varchar(64)
-TABLES ENGINE varchar(64)
-TABLES VERSION bigint(21) unsigned
-TABLES ROW_FORMAT varchar(10)
-TABLES TABLE_ROWS bigint(21) unsigned
-TABLES AVG_ROW_LENGTH bigint(21) unsigned
-TABLES DATA_LENGTH bigint(21) unsigned
-TABLES MAX_DATA_LENGTH bigint(21) unsigned
-TABLES INDEX_LENGTH bigint(21) unsigned
-TABLES DATA_FREE bigint(21) unsigned
-TABLES AUTO_INCREMENT bigint(21) unsigned
-TABLES CREATE_TIME datetime
-TABLES UPDATE_TIME datetime
-TABLES CHECK_TIME datetime
-TABLES TABLE_COLLATION varchar(64)
-TABLES CHECKSUM bigint(21) unsigned
-TABLES CREATE_OPTIONS varchar(255)
-TABLES TABLE_COMMENT varchar(80)
-TABLE_CONSTRAINTS CONSTRAINT_CATALOG varchar(4096)
-TABLE_CONSTRAINTS CONSTRAINT_SCHEMA varchar(64)
-TABLE_CONSTRAINTS CONSTRAINT_NAME varchar(64)
-TABLE_CONSTRAINTS TABLE_SCHEMA varchar(64)
-TABLE_CONSTRAINTS TABLE_NAME varchar(64)
-TABLE_CONSTRAINTS CONSTRAINT_TYPE varchar(64)
-TABLE_PRIVILEGES GRANTEE varchar(81)
-TABLE_PRIVILEGES TABLE_CATALOG varchar(4096)
-TABLE_PRIVILEGES TABLE_SCHEMA varchar(64)
-TABLE_PRIVILEGES TABLE_NAME varchar(64)
-TABLE_PRIVILEGES PRIVILEGE_TYPE varchar(64)
-TABLE_PRIVILEGES IS_GRANTABLE varchar(3)
-TRIGGERS TRIGGER_CATALOG varchar(4096)
-TRIGGERS TRIGGER_SCHEMA varchar(64)
-TRIGGERS TRIGGER_NAME varchar(64)
-TRIGGERS EVENT_MANIPULATION varchar(6)
-TRIGGERS EVENT_OBJECT_CATALOG varchar(4096)
-TRIGGERS EVENT_OBJECT_SCHEMA varchar(64)
-TRIGGERS EVENT_OBJECT_TABLE varchar(64)
-TRIGGERS ACTION_ORDER bigint(4)
-TRIGGERS ACTION_CONDITION longtext
-TRIGGERS ACTION_STATEMENT longtext
-TRIGGERS ACTION_ORIENTATION varchar(9)
-TRIGGERS ACTION_TIMING varchar(6)
-TRIGGERS ACTION_REFERENCE_OLD_TABLE varchar(64)
-TRIGGERS ACTION_REFERENCE_NEW_TABLE varchar(64)
-TRIGGERS ACTION_REFERENCE_OLD_ROW varchar(3)
-TRIGGERS ACTION_REFERENCE_NEW_ROW varchar(3)
-TRIGGERS CREATED datetime
-TRIGGERS SQL_MODE longtext
-TRIGGERS DEFINER longtext
-USER_PRIVILEGES GRANTEE varchar(81)
-USER_PRIVILEGES TABLE_CATALOG varchar(4096)
-USER_PRIVILEGES PRIVILEGE_TYPE varchar(64)
-USER_PRIVILEGES IS_GRANTABLE varchar(3)
-VIEWS TABLE_CATALOG varchar(4096)
-VIEWS TABLE_SCHEMA varchar(64)
-VIEWS TABLE_NAME varchar(64)
-VIEWS VIEW_DEFINITION longtext
-VIEWS CHECK_OPTION varchar(8)
-VIEWS IS_UPDATABLE varchar(3)
-VIEWS DEFINER varchar(77)
-VIEWS SECURITY_TYPE varchar(7)
-t1 f1 char(20)
-t1 f2 char(25)
-t1 f3 date
-t1 f4 int(11)
-t1 f5 char(25)
-t1 f6 int(11)
-t10 f1 char(20)
-t10 f2 char(25)
-t10 f3 date
-t10 f4 int(11)
-t10 f5 char(25)
-t10 f6 int(11)
-t11 f1 char(20)
-t11 f2 char(25)
-t11 f3 date
-t11 f4 int(11)
-t11 f5 char(25)
-t11 f6 int(11)
-t2 f1 char(20)
-t2 f2 char(25)
-t2 f3 date
-t2 f4 int(11)
-t2 f5 char(25)
-t2 f6 int(11)
-t3 f1 char(20)
-t3 f2 char(20)
-t3 f3 int(11)
-t4 f1 char(20)
-t4 f2 char(25)
-t4 f3 date
-t4 f4 int(11)
-t4 f5 char(25)
-t4 f6 int(11)
-t7 f1 char(20)
-t7 f2 char(25)
-t7 f3 date
-t7 f4 int(11)
-t8 f1 char(20)
-t8 f2 char(25)
-t8 f3 date
-t8 f4 int(11)
-t9 f1 int(11)
-t9 f2 char(25)
-t9 f3 int(11)
-tb1 f1 char(1)
-tb1 f2 char(1)
-tb1 f3 char(1)
-tb1 f4 tinytext
-tb1 f5 text
-tb1 f6 mediumtext
-tb1 f7 longtext
-tb1 f8 tinyblob
-tb1 f9 blob
-tb1 f10 mediumblob
-tb1 f11 longblob
-tb1 f12 binary(1)
-tb1 f13 tinyint(4)
-tb1 f14 tinyint(3) unsigned
-tb1 f15 tinyint(3) unsigned zerofill
-tb1 f16 tinyint(3) unsigned zerofill
-tb1 f17 smallint(6)
-tb1 f18 smallint(5) unsigned
-tb1 f19 smallint(5) unsigned zerofill
-tb1 f20 smallint(5) unsigned zerofill
-tb1 f21 mediumint(9)
-tb1 f22 mediumint(8) unsigned
-tb1 f23 mediumint(8) unsigned zerofill
-tb1 f24 mediumint(8) unsigned zerofill
-tb1 f25 int(11)
-tb1 f26 int(10) unsigned
-tb1 f27 int(10) unsigned zerofill
-tb1 f28 int(10) unsigned zerofill
-tb1 f29 bigint(20)
-tb1 f30 bigint(20) unsigned
-tb1 f31 bigint(20) unsigned zerofill
-tb1 f32 bigint(20) unsigned zerofill
-tb1 f33 decimal(10,0)
-tb1 f34 decimal(10,0) unsigned
-tb1 f35 decimal(10,0) unsigned zerofill
-tb1 f36 decimal(10,0) unsigned zerofill
-tb1 f37 decimal(10,0)
-tb1 f38 decimal(64,0)
-tb1 f39 decimal(10,0) unsigned
-tb1 f40 decimal(64,0) unsigned
-tb1 f41 decimal(10,0) unsigned zerofill
-tb1 f42 decimal(64,0) unsigned zerofill
-tb1 f43 decimal(10,0) unsigned zerofill
-tb1 f44 decimal(64,0) unsigned zerofill
-tb1 f45 decimal(10,0)
-tb1 f46 decimal(63,30)
-tb1 f47 decimal(10,0) unsigned
-tb1 f48 decimal(63,30) unsigned
-tb1 f49 decimal(10,0) unsigned zerofill
-tb1 f50 decimal(63,30) unsigned zerofill
-tb1 f51 decimal(10,0) unsigned zerofill
-tb1 f52 decimal(63,30) unsigned zerofill
-tb1 f53 decimal(10,0)
-tb1 f54 decimal(10,0) unsigned
-tb1 f55 decimal(10,0) unsigned zerofill
-tb1 f56 decimal(10,0) unsigned zerofill
-tb1 f57 decimal(10,0)
-tb1 f58 decimal(64,0)
-tb2 f59 decimal(10,0) unsigned
-tb2 f60 decimal(64,0) unsigned
-tb2 f61 decimal(10,0) unsigned zerofill
-tb2 f62 decimal(64,0) unsigned zerofill
-tb2 f63 decimal(10,0) unsigned zerofill
-tb2 f64 decimal(64,0) unsigned zerofill
-tb2 f65 decimal(10,0)
-tb2 f66 decimal(63,30)
-tb2 f67 decimal(10,0) unsigned
-tb2 f68 decimal(63,30) unsigned
-tb2 f69 decimal(10,0) unsigned zerofill
-tb2 f70 decimal(63,30) unsigned zerofill
-tb2 f71 decimal(10,0) unsigned zerofill
-tb2 f72 decimal(63,30) unsigned zerofill
-tb2 f73 double
-tb2 f74 double unsigned
-tb2 f75 double unsigned zerofill
-tb2 f76 double unsigned zerofill
-tb2 f77 double
-tb2 f78 double unsigned
-tb2 f79 double unsigned zerofill
-tb2 f80 double unsigned zerofill
-tb2 f81 float
-tb2 f82 float unsigned
-tb2 f83 float unsigned zerofill
-tb2 f84 float unsigned zerofill
-tb2 f85 float
-tb2 f86 float
-tb2 f87 float unsigned
-tb2 f88 float unsigned
-tb2 f89 float unsigned zerofill
-tb2 f90 float unsigned zerofill
-tb2 f91 float unsigned zerofill
-tb2 f92 float unsigned zerofill
-tb2 f93 float
-tb2 f94 double
-tb2 f95 float unsigned
-tb2 f96 double unsigned
-tb2 f97 float unsigned zerofill
-tb2 f98 double unsigned zerofill
-tb2 f99 float unsigned zerofill
-tb2 f100 double unsigned zerofill
-tb2 f101 date
-tb2 f102 time
-tb2 f103 datetime
-tb2 f104 timestamp
-tb2 f105 year(4)
-tb2 f106 year(4)
-tb2 f107 year(4)
-tb2 f108 enum('1enum','2enum')
-tb2 f109 set('1set','2set')
-tb2 f110 varbinary(64)
-tb2 f111 varbinary(27)
-tb2 f112 varbinary(64)
-tb2 f113 varbinary(192)
-tb2 f114 varbinary(192)
-tb2 f115 varbinary(27)
-tb2 f116 varbinary(64)
-tb2 f117 varbinary(192)
-tb3 f118 char(1)
-tb3 f119 char(1)
-tb3 f120 char(1)
-tb3 f121 tinytext
-tb3 f122 text
-tb3 f123 mediumtext
-tb3 f124 longtext
-tb3 f125 tinyblob
-tb3 f126 blob
-tb3 f127 mediumblob
-tb3 f128 longblob
-tb3 f129 binary(1)
-tb3 f130 tinyint(4)
-tb3 f131 tinyint(3) unsigned
-tb3 f132 tinyint(3) unsigned zerofill
-tb3 f133 tinyint(3) unsigned zerofill
-tb3 f134 smallint(6)
-tb3 f135 smallint(5) unsigned
-tb3 f136 smallint(5) unsigned zerofill
-tb3 f137 smallint(5) unsigned zerofill
-tb3 f138 mediumint(9)
-tb3 f139 mediumint(8) unsigned
-tb3 f140 mediumint(8) unsigned zerofill
-tb3 f141 mediumint(8) unsigned zerofill
-tb3 f142 int(11)
-tb3 f143 int(10) unsigned
-tb3 f144 int(10) unsigned zerofill
-tb3 f145 int(10) unsigned zerofill
-tb3 f146 bigint(20)
-tb3 f147 bigint(20) unsigned
-tb3 f148 bigint(20) unsigned zerofill
-tb3 f149 bigint(20) unsigned zerofill
-tb3 f150 decimal(10,0)
-tb3 f151 decimal(10,0) unsigned
-tb3 f152 decimal(10,0) unsigned zerofill
-tb3 f153 decimal(10,0) unsigned zerofill
-tb3 f154 decimal(10,0)
-tb3 f155 decimal(64,0)
-tb3 f156 decimal(10,0) unsigned
-tb3 f157 decimal(64,0) unsigned
-tb3 f158 decimal(10,0) unsigned zerofill
-tb3 f159 decimal(64,0) unsigned zerofill
-tb3 f160 decimal(10,0) unsigned zerofill
-tb3 f161 decimal(64,0) unsigned zerofill
-tb3 f162 decimal(10,0)
-tb3 f163 decimal(63,30)
-tb3 f164 decimal(10,0) unsigned
-tb3 f165 decimal(63,30) unsigned
-tb3 f166 decimal(10,0) unsigned zerofill
-tb3 f167 decimal(63,30) unsigned zerofill
-tb3 f168 decimal(10,0) unsigned zerofill
-tb3 f169 decimal(63,30) unsigned zerofill
-tb3 f170 decimal(10,0)
-tb3 f171 decimal(10,0) unsigned
-tb3 f172 decimal(10,0) unsigned zerofill
-tb3 f173 decimal(10,0) unsigned zerofill
-tb3 f174 decimal(10,0)
-tb3 f175 decimal(64,0)
-tb4 f176 decimal(10,0) unsigned
-tb4 f177 decimal(64,0) unsigned
-tb4 f178 decimal(10,0) unsigned zerofill
-tb4 f179 decimal(64,0) unsigned zerofill
-tb4 f180 decimal(10,0) unsigned zerofill
-tb4 f181 decimal(64,0) unsigned zerofill
-tb4 f182 decimal(10,0)
-tb4 f183 decimal(63,30)
-tb4 f184 decimal(10,0) unsigned
-tb4 f185 decimal(63,30) unsigned
-tb4 f186 decimal(10,0) unsigned zerofill
-tb4 f187 decimal(63,30) unsigned zerofill
-tb4 f188 decimal(10,0) unsigned zerofill
-tb4 f189 decimal(63,30) unsigned zerofill
-tb4 f190 double
-tb4 f191 double unsigned
-tb4 f192 double unsigned zerofill
-tb4 f193 double unsigned zerofill
-tb4 f194 double
-tb4 f195 double unsigned
-tb4 f196 double unsigned zerofill
-tb4 f197 double unsigned zerofill
-tb4 f198 float
-tb4 f199 float unsigned
-tb4 f200 float unsigned zerofill
-tb4 f201 float unsigned zerofill
-tb4 f202 float
-tb4 f203 float
-tb4 f204 float unsigned
-tb4 f205 float unsigned
-tb4 f206 float unsigned zerofill
-tb4 f207 float unsigned zerofill
-tb4 f208 float unsigned zerofill
-tb4 f209 float unsigned zerofill
-tb4 f210 float
-tb4 f211 double
-tb4 f212 float unsigned
-tb4 f213 double unsigned
-tb4 f214 float unsigned zerofill
-tb4 f215 double unsigned zerofill
-tb4 f216 float unsigned zerofill
-tb4 f217 double unsigned zerofill
-tb4 f218 date
-tb4 f219 time
-tb4 f220 datetime
-tb4 f221 timestamp
-tb4 f222 year(4)
-tb4 f223 year(4)
-tb4 f224 year(4)
-tb4 f225 enum('1enum','2enum')
-tb4 f226 set('1set','2set')
-tb4 f227 varbinary(64)
-tb4 f228 varbinary(27)
-tb4 f229 varbinary(64)
-tb4 f230 varbinary(192)
-tb4 f231 varbinary(192)
-tb4 f232 varbinary(27)
-tb4 f233 varbinary(64)
-tb4 f234 varbinary(192)
-tb4 f235 char(255)
-tb4 f236 char(60)
-tb4 f237 char(255)
-tb4 f238 varchar(0)
-tb4 f239 varbinary(1000)
-tb4 f240 varchar(120)
-tb4 f241 char(100)
-tb4 f242 bit(30)
-select character_set_name from character_sets;
-character_set_name
-big5
-dec8
-cp850
-hp8
-koi8r
-latin1
-latin2
-swe7
-ascii
-ujis
-sjis
-hebrew
-tis620
-euckr
-koi8u
-gb2312
-greek
-cp1250
-gbk
-latin5
-armscii8
-utf8
-ucs2
-cp866
-keybcs2
-macce
-macroman
-cp852
-latin7
-cp1251
-cp1256
-cp1257
-binary
-geostd8
-cp932
-eucjpms
-select collation_name from collations;
-collation_name
-big5_chinese_ci
-big5_bin
-dec8_swedish_ci
-dec8_bin
-cp850_general_ci
-cp850_bin
-hp8_english_ci
-hp8_bin
-koi8r_general_ci
-koi8r_bin
-latin1_german1_ci
-latin1_swedish_ci
-latin1_danish_ci
-latin1_german2_ci
-latin1_bin
-latin1_general_ci
-latin1_general_cs
-latin1_spanish_ci
-latin2_czech_cs
-latin2_general_ci
-latin2_hungarian_ci
-latin2_croatian_ci
-latin2_bin
-swe7_swedish_ci
-swe7_bin
-ascii_general_ci
-ascii_bin
-ujis_japanese_ci
-ujis_bin
-sjis_japanese_ci
-sjis_bin
-hebrew_general_ci
-hebrew_bin
-tis620_thai_ci
-tis620_bin
-euckr_korean_ci
-euckr_bin
-koi8u_general_ci
-koi8u_bin
-gb2312_chinese_ci
-gb2312_bin
-greek_general_ci
-greek_bin
-cp1250_general_ci
-cp1250_czech_cs
-cp1250_croatian_ci
-cp1250_bin
-cp1250_polish_ci
-gbk_chinese_ci
-gbk_bin
-latin5_turkish_ci
-latin5_bin
-armscii8_general_ci
-armscii8_bin
-utf8_general_ci
-utf8_bin
-utf8_unicode_ci
-utf8_icelandic_ci
-utf8_latvian_ci
-utf8_romanian_ci
-utf8_slovenian_ci
-utf8_polish_ci
-utf8_estonian_ci
-utf8_spanish_ci
-utf8_swedish_ci
-utf8_turkish_ci
-utf8_czech_ci
-utf8_danish_ci
-utf8_lithuanian_ci
-utf8_slovak_ci
-utf8_spanish2_ci
-utf8_roman_ci
-utf8_persian_ci
-utf8_esperanto_ci
-utf8_hungarian_ci
-ucs2_general_ci
-ucs2_bin
-ucs2_unicode_ci
-ucs2_icelandic_ci
-ucs2_latvian_ci
-ucs2_romanian_ci
-ucs2_slovenian_ci
-ucs2_polish_ci
-ucs2_estonian_ci
-ucs2_spanish_ci
-ucs2_swedish_ci
-ucs2_turkish_ci
-ucs2_czech_ci
-ucs2_danish_ci
-ucs2_lithuanian_ci
-ucs2_slovak_ci
-ucs2_spanish2_ci
-ucs2_roman_ci
-ucs2_persian_ci
-ucs2_esperanto_ci
-ucs2_hungarian_ci
-cp866_general_ci
-cp866_bin
-keybcs2_general_ci
-keybcs2_bin
-macce_general_ci
-macce_bin
-macroman_general_ci
-macroman_bin
-cp852_general_ci
-cp852_bin
-latin7_estonian_cs
-latin7_general_ci
-latin7_general_cs
-latin7_bin
-cp1251_bulgarian_ci
-cp1251_ukrainian_ci
-cp1251_bin
-cp1251_general_ci
-cp1251_general_cs
-cp1256_general_ci
-cp1256_bin
-cp1257_lithuanian_ci
-cp1257_bin
-cp1257_general_ci
-binary
-geostd8_general_ci
-geostd8_bin
-cp932_japanese_ci
-cp932_bin
-eucjpms_japanese_ci
-eucjpms_bin
-select routine_name, routine_type from routines;
-routine_name routine_type
-select table_name, index_name from statistics;
-table_name index_name
-select table_name from views;
-table_name
-select privilege_type from user_privileges;
-privilege_type
-USAGE
-select grantee, privilege_type from schema_privileges;
-grantee privilege_type
-select * from table_privileges;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select column_name, privilege_type from column_privileges;
-column_name privilege_type
-select table_name,constraint_type from table_constraints;
-table_name constraint_type
-select table_schema, table_name, column_name from key_column_usage;
-table_schema table_name column_name
-
-root@localhost db_datadict
-DROP USER 'u_6_401017'@'localhost';
-
-Testcase 3.2.1.18:
---------------------------------------------------------------------------------
-CREATE USER 'u_6_401018'@'localhost';
-GRANT CREATE VIEW ON information_schema.* TO 'u_6_401018'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-GRANT ALL ON db_datadict.* TO 'u_6_401018'@'localhost';
-SHOW GRANTS FOR 'u_6_401018'@'localhost';
-Grants for u_6_401018@localhost
-GRANT USAGE ON *.* TO 'u_6_401018'@'localhost'
-GRANT ALL PRIVILEGES ON `db_datadict`.* TO 'u_6_401018'@'localhost'
-FLUSH PRIVILEGES;
-DROP DATABASE IF EXISTS db_datadict;
-CREATE DATABASE db_datadict;
-connect(localhost,u_6_401018,,test,MYSQL_PORT,MYSQL_SOCK);
-USE db_datadict;
-create view db_datadict.v_401018 as
-select * from information_schema.schemata;
-SELECT * FROM v_401018 ORDER BY 2 DESC;
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL test latin1 latin1_swedish_ci NULL
-NULL information_schema utf8 utf8_general_ci NULL
-NULL db_datadict latin1 latin1_swedish_ci NULL
-
-root@localhost NULL
-DROP USER 'u_6_401018'@'localhost';
-DROP DATABASE db_datadict;
-
-Testcase 3.2.1.19:
---------------------------------------------------------------------------------
-CREATE USER 'u_6_401019'@'localhost';
-grant alter on information_schema.* to 'u_6_401019'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-grant alter routine on information_schema.* to 'u_6_401019'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-grant create on information_schema.* to 'u_6_401019'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-grant create routine on information_schema.* to 'u_6_401019'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-grant create temporary tables
-on information_schema.* to 'u_6_401019'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-grant delete on information_schema.* to 'u_6_401019'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-grant drop on information_schema.* to 'u_6_401019'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-grant execute on information_schema.* to 'u_6_401019'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-grant index on information_schema.* to 'u_6_401019'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-grant insert on information_schema.* to 'u_6_401019'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-grant lock tables on information_schema.* to 'u_6_401019'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-grant update on information_schema.* to 'u_6_401019'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-SELECT * FROM information_schema.table_privileges
-WHERE table_schema = "information_schema";
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-SELECT * FROM information_schema.column_privileges
-WHERE table_schema = "information_schema";
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-DROP USER 'u_6_401019'@'localhost';
-
-Testcase 3.2.1.20:
---------------------------------------------------------------------------------
-CREATE USER 'u_6_401020'@'localhost';
-connect(localhost,u_6_401020,,test,MYSQL_PORT,MYSQL_SOCK);
-USE information_schema;
-SELECT * FROM schemata;
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL information_schema utf8 utf8_general_ci NULL
-NULL test latin1 latin1_swedish_ci NULL
-CREATE TABLE tb_not_allowed ( col TEXT );
-ERROR 42S02: Unknown table 'tb_not_allowed' in information_schema
-create view res_v1 as select * from information_schema.schemata;
-ERROR 42S02: Unknown table 'res_v1' in information_schema
-alter table schemata modify catalog_name varchar(255);
-ERROR 42000: Access denied for user 'u_6_401020'@'localhost' to database 'information_schema'
-update schemata set catalog_name = 'abc'
- where schema_name = 'information_schema';
-ERROR 42000: Access denied for user 'u_6_401020'@'localhost' to database 'information_schema'
-CREATE PROCEDURE sp_3_2_1_20()
-BEGIN
-INSERT INTO information_schema.schema_privileges (table_schema,privilege_type)
-VALUES('db2','insert');
-END//
-ERROR 42000: Unknown database 'information_schema'
-DELETE FROM schemata WHERE schema_name = 'information_schema';
-ERROR 42000: Access denied for user 'u_6_401020'@'localhost' to database 'information_schema'
-
-root@localhost NULL
-DROP USER 'u_6_401020'@'localhost';
-
-Testcase 3.2.2.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC character_sets;
-Field Type Null Key Default Extra
-CHARACTER_SET_NAME varchar(64) NO
-DEFAULT_COLLATE_NAME varchar(64) NO
-DESCRIPTION varchar(60) NO
-MAXLEN bigint(3) NO 0
-SHOW CREATE TABLE character_sets;
-Table Create Table
-CHARACTER_SETS CREATE TEMPORARY TABLE `CHARACTER_SETS` (
- `CHARACTER_SET_NAME` varchar(64) NOT NULL DEFAULT '',
- `DEFAULT_COLLATE_NAME` varchar(64) NOT NULL DEFAULT '',
- `DESCRIPTION` varchar(60) NOT NULL DEFAULT '',
- `MAXLEN` bigint(3) NOT NULL DEFAULT '0'
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'character_sets'
-ORDER BY ordinal_position;
-COUNT(*)
-4
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'character_sets'
-ORDER BY ordinal_position;
-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
-NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema CHARACTER_SETS DESCRIPTION 3 NO varchar 60 180 NULL NULL utf8 utf8_general_ci varchar(60) select
-NULL information_schema CHARACTER_SETS MAXLEN 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select
-
-Testcase 3.2.2.2:
---------------------------------------------------------------------------------
-
-root@localhost information_schema
-SELECT * FROM information_schema.character_sets;
-CHARACTER_SET_NAME DEFAULT_COLLATE_NAME DESCRIPTION MAXLEN
-big5 big5_chinese_ci Big5 Traditional Chinese 2
-dec8 dec8_swedish_ci DEC West European 1
-cp850 cp850_general_ci DOS West European 1
-hp8 hp8_english_ci HP West European 1
-koi8r koi8r_general_ci KOI8-R Relcom Russian 1
-latin1 latin1_swedish_ci cp1252 West European 1
-latin2 latin2_general_ci ISO 8859-2 Central European 1
-swe7 swe7_swedish_ci 7bit Swedish 1
-ascii ascii_general_ci US ASCII 1
-ujis ujis_japanese_ci EUC-JP Japanese 3
-sjis sjis_japanese_ci Shift-JIS Japanese 2
-hebrew hebrew_general_ci ISO 8859-8 Hebrew 1
-tis620 tis620_thai_ci TIS620 Thai 1
-euckr euckr_korean_ci EUC-KR Korean 2
-koi8u koi8u_general_ci KOI8-U Ukrainian 1
-gb2312 gb2312_chinese_ci GB2312 Simplified Chinese 2
-greek greek_general_ci ISO 8859-7 Greek 1
-cp1250 cp1250_general_ci Windows Central European 1
-gbk gbk_chinese_ci GBK Simplified Chinese 2
-latin5 latin5_turkish_ci ISO 8859-9 Turkish 1
-armscii8 armscii8_general_ci ARMSCII-8 Armenian 1
-utf8 utf8_general_ci UTF-8 Unicode 3
-ucs2 ucs2_general_ci UCS-2 Unicode 2
-cp866 cp866_general_ci DOS Russian 1
-keybcs2 keybcs2_general_ci DOS Kamenicky Czech-Slovak 1
-macce macce_general_ci Mac Central European 1
-macroman macroman_general_ci Mac West European 1
-cp852 cp852_general_ci DOS Central European 1
-latin7 latin7_general_ci ISO 8859-13 Baltic 1
-cp1251 cp1251_general_ci Windows Cyrillic 1
-cp1256 cp1256_general_ci Windows Arabic 1
-cp1257 cp1257_general_ci Windows Baltic 1
-binary binary Binary pseudo charset 1
-geostd8 geostd8_general_ci GEOSTD8 Georgian 1
-cp932 cp932_japanese_ci SJIS for Windows Japanese 2
-eucjpms eucjpms_japanese_ci UJIS for Windows Japanese 3
-
-Testcase 3.2.2.3:
---------------------------------------------------------------------------------
-
-Testcase 3.2.3.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC collations;
-Field Type Null Key Default Extra
-COLLATION_NAME varchar(64) NO
-CHARACTER_SET_NAME varchar(64) NO
-ID bigint(11) NO 0
-IS_DEFAULT varchar(3) NO
-IS_COMPILED varchar(3) NO
-SORTLEN bigint(3) NO 0
-SHOW CREATE TABLE collations;
-Table Create Table
-COLLATIONS CREATE TEMPORARY TABLE `COLLATIONS` (
- `COLLATION_NAME` varchar(64) NOT NULL DEFAULT '',
- `CHARACTER_SET_NAME` varchar(64) NOT NULL DEFAULT '',
- `ID` bigint(11) NOT NULL DEFAULT '0',
- `IS_DEFAULT` varchar(3) NOT NULL DEFAULT '',
- `IS_COMPILED` varchar(3) NOT NULL DEFAULT '',
- `SORTLEN` bigint(3) NOT NULL DEFAULT '0'
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'collations'
-ORDER BY ordinal_position;
-COUNT(*)
-6
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'collations'
-ORDER BY ordinal_position;
-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
-NULL information_schema COLLATIONS COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATIONS CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATIONS ID 3 0 NO bigint NULL NULL 19 0 NULL NULL bigint(11) select
-NULL information_schema COLLATIONS IS_DEFAULT 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLLATIONS IS_COMPILED 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLLATIONS SORTLEN 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select
-
-Testcase 3.2.3.2:
---------------------------------------------------------------------------------
-SELECT * FROM collations;
-COLLATION_NAME CHARACTER_SET_NAME ID IS_DEFAULT IS_COMPILED SORTLEN
-big5_chinese_ci big5 1 Yes Yes 1
-big5_bin big5 84 Yes 1
-dec8_swedish_ci dec8 3 Yes 0
-dec8_bin dec8 69 0
-cp850_general_ci cp850 4 Yes 0
-cp850_bin cp850 80 0
-hp8_english_ci hp8 6 Yes 0
-hp8_bin hp8 72 0
-koi8r_general_ci koi8r 7 Yes 0
-koi8r_bin koi8r 74 0
-latin1_german1_ci latin1 5 Yes 1
-latin1_swedish_ci latin1 8 Yes Yes 1
-latin1_danish_ci latin1 15 Yes 1
-latin1_german2_ci latin1 31 Yes 2
-latin1_bin latin1 47 Yes 1
-latin1_general_ci latin1 48 Yes 1
-latin1_general_cs latin1 49 Yes 1
-latin1_spanish_ci latin1 94 Yes 1
-latin2_czech_cs latin2 2 Yes 4
-latin2_general_ci latin2 9 Yes Yes 1
-latin2_hungarian_ci latin2 21 Yes 1
-latin2_croatian_ci latin2 27 Yes 1
-latin2_bin latin2 77 Yes 1
-swe7_swedish_ci swe7 10 Yes 0
-swe7_bin swe7 82 0
-ascii_general_ci ascii 11 Yes 0
-ascii_bin ascii 65 0
-ujis_japanese_ci ujis 12 Yes Yes 1
-ujis_bin ujis 91 Yes 1
-sjis_japanese_ci sjis 13 Yes Yes 1
-sjis_bin sjis 88 Yes 1
-hebrew_general_ci hebrew 16 Yes 0
-hebrew_bin hebrew 71 0
-tis620_thai_ci tis620 18 Yes Yes 4
-tis620_bin tis620 89 Yes 1
-euckr_korean_ci euckr 19 Yes Yes 1
-euckr_bin euckr 85 Yes 1
-koi8u_general_ci koi8u 22 Yes 0
-koi8u_bin koi8u 75 0
-gb2312_chinese_ci gb2312 24 Yes Yes 1
-gb2312_bin gb2312 86 Yes 1
-greek_general_ci greek 25 Yes 0
-greek_bin greek 70 0
-cp1250_general_ci cp1250 26 Yes Yes 1
-cp1250_czech_cs cp1250 34 Yes 2
-cp1250_croatian_ci cp1250 44 Yes 1
-cp1250_bin cp1250 66 Yes 1
-cp1250_polish_ci cp1250 99 Yes 1
-gbk_chinese_ci gbk 28 Yes Yes 1
-gbk_bin gbk 87 Yes 1
-latin5_turkish_ci latin5 30 Yes 0
-latin5_bin latin5 78 0
-armscii8_general_ci armscii8 32 Yes 0
-armscii8_bin armscii8 64 0
-utf8_general_ci utf8 33 Yes Yes 1
-utf8_bin utf8 83 Yes 1
-utf8_unicode_ci utf8 192 Yes 8
-utf8_icelandic_ci utf8 193 Yes 8
-utf8_latvian_ci utf8 194 Yes 8
-utf8_romanian_ci utf8 195 Yes 8
-utf8_slovenian_ci utf8 196 Yes 8
-utf8_polish_ci utf8 197 Yes 8
-utf8_estonian_ci utf8 198 Yes 8
-utf8_spanish_ci utf8 199 Yes 8
-utf8_swedish_ci utf8 200 Yes 8
-utf8_turkish_ci utf8 201 Yes 8
-utf8_czech_ci utf8 202 Yes 8
-utf8_danish_ci utf8 203 Yes 8
-utf8_lithuanian_ci utf8 204 Yes 8
-utf8_slovak_ci utf8 205 Yes 8
-utf8_spanish2_ci utf8 206 Yes 8
-utf8_roman_ci utf8 207 Yes 8
-utf8_persian_ci utf8 208 Yes 8
-utf8_esperanto_ci utf8 209 Yes 8
-utf8_hungarian_ci utf8 210 Yes 8
-ucs2_general_ci ucs2 35 Yes Yes 1
-ucs2_bin ucs2 90 Yes 1
-ucs2_unicode_ci ucs2 128 Yes 8
-ucs2_icelandic_ci ucs2 129 Yes 8
-ucs2_latvian_ci ucs2 130 Yes 8
-ucs2_romanian_ci ucs2 131 Yes 8
-ucs2_slovenian_ci ucs2 132 Yes 8
-ucs2_polish_ci ucs2 133 Yes 8
-ucs2_estonian_ci ucs2 134 Yes 8
-ucs2_spanish_ci ucs2 135 Yes 8
-ucs2_swedish_ci ucs2 136 Yes 8
-ucs2_turkish_ci ucs2 137 Yes 8
-ucs2_czech_ci ucs2 138 Yes 8
-ucs2_danish_ci ucs2 139 Yes 8
-ucs2_lithuanian_ci ucs2 140 Yes 8
-ucs2_slovak_ci ucs2 141 Yes 8
-ucs2_spanish2_ci ucs2 142 Yes 8
-ucs2_roman_ci ucs2 143 Yes 8
-ucs2_persian_ci ucs2 144 Yes 8
-ucs2_esperanto_ci ucs2 145 Yes 8
-ucs2_hungarian_ci ucs2 146 Yes 8
-cp866_general_ci cp866 36 Yes 0
-cp866_bin cp866 68 0
-keybcs2_general_ci keybcs2 37 Yes 0
-keybcs2_bin keybcs2 73 0
-macce_general_ci macce 38 Yes 0
-macce_bin macce 43 0
-macroman_general_ci macroman 39 Yes 0
-macroman_bin macroman 53 0
-cp852_general_ci cp852 40 Yes 0
-cp852_bin cp852 81 0
-latin7_estonian_cs latin7 20 0
-latin7_general_ci latin7 41 Yes 0
-latin7_general_cs latin7 42 0
-latin7_bin latin7 79 0
-cp1251_bulgarian_ci cp1251 14 0
-cp1251_ukrainian_ci cp1251 23 0
-cp1251_bin cp1251 50 0
-cp1251_general_ci cp1251 51 Yes 0
-cp1251_general_cs cp1251 52 0
-cp1256_general_ci cp1256 57 Yes 0
-cp1256_bin cp1256 67 0
-cp1257_lithuanian_ci cp1257 29 0
-cp1257_bin cp1257 58 0
-cp1257_general_ci cp1257 59 Yes 0
-binary binary 63 Yes Yes 1
-geostd8_general_ci geostd8 92 Yes 0
-geostd8_bin geostd8 93 0
-cp932_japanese_ci cp932 95 Yes Yes 1
-cp932_bin cp932 96 Yes 1
-eucjpms_japanese_ci eucjpms 97 Yes Yes 1
-eucjpms_bin eucjpms 98 Yes 1
-
-Testcase 3.2.3.3:
---------------------------------------------------------------------------------
-
-Testcase 3.2.4.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC collation_character_set_applicability;
-Field Type Null Key Default Extra
-COLLATION_NAME varchar(64) NO
-CHARACTER_SET_NAME varchar(64) NO
-SHOW CREATE TABLE collation_character_set_applicability;
-Table Create Table
-COLLATION_CHARACTER_SET_APPLICABILITY CREATE TEMPORARY TABLE `COLLATION_CHARACTER_SET_APPLICABILITY` (
- `COLLATION_NAME` varchar(64) NOT NULL DEFAULT '',
- `CHARACTER_SET_NAME` varchar(64) NOT NULL DEFAULT ''
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'collation_character_set_applicability'
-ORDER BY ordinal_position;
-COUNT(*)
-2
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'collation_character_set_applicability'
-ORDER BY ordinal_position;
-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
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-
-Testcase 3.2.4.2:
---------------------------------------------------------------------------------
-SELECT * FROM collation_character_set_applicability;
-COLLATION_NAME CHARACTER_SET_NAME
-big5_chinese_ci big5
-big5_bin big5
-dec8_swedish_ci dec8
-dec8_bin dec8
-cp850_general_ci cp850
-cp850_bin cp850
-hp8_english_ci hp8
-hp8_bin hp8
-koi8r_general_ci koi8r
-koi8r_bin koi8r
-latin1_german1_ci latin1
-latin1_swedish_ci latin1
-latin1_danish_ci latin1
-latin1_german2_ci latin1
-latin1_bin latin1
-latin1_general_ci latin1
-latin1_general_cs latin1
-latin1_spanish_ci latin1
-latin2_czech_cs latin2
-latin2_general_ci latin2
-latin2_hungarian_ci latin2
-latin2_croatian_ci latin2
-latin2_bin latin2
-swe7_swedish_ci swe7
-swe7_bin swe7
-ascii_general_ci ascii
-ascii_bin ascii
-ujis_japanese_ci ujis
-ujis_bin ujis
-sjis_japanese_ci sjis
-sjis_bin sjis
-hebrew_general_ci hebrew
-hebrew_bin hebrew
-filename filename
-tis620_thai_ci tis620
-tis620_bin tis620
-euckr_korean_ci euckr
-euckr_bin euckr
-koi8u_general_ci koi8u
-koi8u_bin koi8u
-gb2312_chinese_ci gb2312
-gb2312_bin gb2312
-greek_general_ci greek
-greek_bin greek
-cp1250_general_ci cp1250
-cp1250_czech_cs cp1250
-cp1250_croatian_ci cp1250
-cp1250_bin cp1250
-cp1250_polish_ci cp1250
-gbk_chinese_ci gbk
-gbk_bin gbk
-latin5_turkish_ci latin5
-latin5_bin latin5
-armscii8_general_ci armscii8
-armscii8_bin armscii8
-utf8_general_ci utf8
-utf8_bin utf8
-utf8_unicode_ci utf8
-utf8_icelandic_ci utf8
-utf8_latvian_ci utf8
-utf8_romanian_ci utf8
-utf8_slovenian_ci utf8
-utf8_polish_ci utf8
-utf8_estonian_ci utf8
-utf8_spanish_ci utf8
-utf8_swedish_ci utf8
-utf8_turkish_ci utf8
-utf8_czech_ci utf8
-utf8_danish_ci utf8
-utf8_lithuanian_ci utf8
-utf8_slovak_ci utf8
-utf8_spanish2_ci utf8
-utf8_roman_ci utf8
-utf8_persian_ci utf8
-utf8_esperanto_ci utf8
-utf8_hungarian_ci utf8
-ucs2_general_ci ucs2
-ucs2_bin ucs2
-ucs2_unicode_ci ucs2
-ucs2_icelandic_ci ucs2
-ucs2_latvian_ci ucs2
-ucs2_romanian_ci ucs2
-ucs2_slovenian_ci ucs2
-ucs2_polish_ci ucs2
-ucs2_estonian_ci ucs2
-ucs2_spanish_ci ucs2
-ucs2_swedish_ci ucs2
-ucs2_turkish_ci ucs2
-ucs2_czech_ci ucs2
-ucs2_danish_ci ucs2
-ucs2_lithuanian_ci ucs2
-ucs2_slovak_ci ucs2
-ucs2_spanish2_ci ucs2
-ucs2_roman_ci ucs2
-ucs2_persian_ci ucs2
-ucs2_esperanto_ci ucs2
-ucs2_hungarian_ci ucs2
-cp866_general_ci cp866
-cp866_bin cp866
-keybcs2_general_ci keybcs2
-keybcs2_bin keybcs2
-macce_general_ci macce
-macce_bin macce
-macroman_general_ci macroman
-macroman_bin macroman
-cp852_general_ci cp852
-cp852_bin cp852
-latin7_estonian_cs latin7
-latin7_general_ci latin7
-latin7_general_cs latin7
-latin7_bin latin7
-cp1251_bulgarian_ci cp1251
-cp1251_ukrainian_ci cp1251
-cp1251_bin cp1251
-cp1251_general_ci cp1251
-cp1251_general_cs cp1251
-cp1256_general_ci cp1256
-cp1256_bin cp1256
-cp1257_lithuanian_ci cp1257
-cp1257_bin cp1257
-cp1257_general_ci cp1257
-binary binary
-geostd8_general_ci geostd8
-geostd8_bin geostd8
-cp932_japanese_ci cp932
-cp932_bin cp932
-eucjpms_japanese_ci eucjpms
-eucjpms_bin eucjpms
-
-Testcase 3.2.4.3:
---------------------------------------------------------------------------------
-
-Testcase 3.2.5.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC column_privileges;
-Field Type Null Key Default Extra
-GRANTEE varchar(81) NO
-TABLE_CATALOG varchar(4096) YES NULL
-TABLE_SCHEMA varchar(64) NO
-TABLE_NAME varchar(64) NO
-COLUMN_NAME varchar(64) NO
-PRIVILEGE_TYPE varchar(64) NO
-IS_GRANTABLE varchar(3) NO
-SHOW CREATE TABLE column_privileges;
-Table Create Table
-COLUMN_PRIVILEGES CREATE TEMPORARY TABLE `COLUMN_PRIVILEGES` (
- `GRANTEE` varchar(81) NOT NULL DEFAULT '',
- `TABLE_CATALOG` varchar(4096) DEFAULT NULL,
- `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `TABLE_NAME` varchar(64) NOT NULL DEFAULT '',
- `COLUMN_NAME` varchar(64) NOT NULL DEFAULT '',
- `PRIVILEGE_TYPE` varchar(64) NOT NULL DEFAULT '',
- `IS_GRANTABLE` varchar(3) NOT NULL DEFAULT ''
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'column_privileges'
-ORDER BY ordinal_position;
-COUNT(*)
-7
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'column_privileges'
-ORDER BY ordinal_position;
-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
-NULL information_schema COLUMN_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES COLUMN_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES PRIVILEGE_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES IS_GRANTABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-
-Testcase 3.2.5.2 + 3.2.5.3 + 3.2.5.4:
---------------------------------------------------------------------------------
-CREATE USER 'user_1'@'localhost';
-CREATE USER 'user_2'@'localhost';
-CREATE USER 'user_3'@'localhost';
-DROP DATABASE IF EXISTS db_datadict;
-CREATE DATABASE db_datadict;
-USE db_datadict;
-CREATE TABLE db_datadict.res_t40502 (f1 INT, f2 DECIMAL, f3 TEXT);
-GRANT SELECT(f1, f3) ON db_datadict.res_t40502 TO 'user_1'@'localhost';
-GRANT INSERT(f1) ON db_datadict.res_t40502 TO 'user_1'@'localhost';
-GRANT UPDATE(f2) ON db_datadict.res_t40502 TO 'user_1'@'localhost';
-GRANT SELECT(f2) ON db_datadict.res_t40502 TO 'user_2'@'localhost';
-GRANT INSERT, SELECT ON db_datadict.res_t40502 TO 'user_3'@'localhost';
-GRANT SELECT(f3) ON db_datadict.res_t40502 TO 'user_3'@'localhost';
-GRANT INSERT, SELECT ON db_datadict.res_t40502 TO 'user_3'@'localhost' WITH GRANT OPTION;
-GRANT ALL ON db_datadict.* TO 'user_3'@'localhost';
-SELECT * FROM information_schema.column_privileges
-WHERE grantee LIKE "'user%"
- ORDER BY grantee, table_name, column_name, privilege_type;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL db_datadict res_t40502 f1 INSERT NO
-'user_1'@'localhost' NULL db_datadict res_t40502 f1 SELECT NO
-'user_1'@'localhost' NULL db_datadict res_t40502 f2 UPDATE NO
-'user_1'@'localhost' NULL db_datadict res_t40502 f3 SELECT NO
-'user_2'@'localhost' NULL db_datadict res_t40502 f2 SELECT NO
-'user_3'@'localhost' NULL db_datadict res_t40502 f3 SELECT YES
-
-FIXME: Check it is correct that the following GRANT changes ALL privs that user_1 has
--------------------------------------------------------------------------------------
-GRANT UPDATE(f3) ON db_datadict.res_t40502 TO 'user_1'@'localhost' WITH GRANT OPTION;
-SELECT * FROM information_schema.column_privileges
-WHERE grantee LIKE "'user%"
- ORDER BY grantee, table_name, column_name, privilege_type;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL db_datadict res_t40502 f1 INSERT YES
-'user_1'@'localhost' NULL db_datadict res_t40502 f1 SELECT YES
-'user_1'@'localhost' NULL db_datadict res_t40502 f2 UPDATE YES
-'user_1'@'localhost' NULL db_datadict res_t40502 f3 SELECT YES
-'user_1'@'localhost' NULL db_datadict res_t40502 f3 UPDATE YES
-'user_2'@'localhost' NULL db_datadict res_t40502 f2 SELECT NO
-'user_3'@'localhost' NULL db_datadict res_t40502 f3 SELECT YES
-FLUSH PRIVILEGES;
-connect(localhost,user_1,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.column_privileges
-WHERE grantee LIKE "'user%"
- ORDER BY grantee, table_name, column_name, privilege_type;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL db_datadict res_t40502 f1 INSERT YES
-'user_1'@'localhost' NULL db_datadict res_t40502 f1 SELECT YES
-'user_1'@'localhost' NULL db_datadict res_t40502 f2 UPDATE YES
-'user_1'@'localhost' NULL db_datadict res_t40502 f3 SELECT YES
-'user_1'@'localhost' NULL db_datadict res_t40502 f3 UPDATE YES
-connect(localhost,user_2,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.column_privileges
-WHERE grantee LIKE "'user%"
- ORDER BY grantee, table_name, column_name, privilege_type;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-'user_2'@'localhost' NULL db_datadict res_t40502 f2 SELECT NO
-connect(localhost,user_3,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-
-FIXME: check it is correct that granted TABLES doesn_t occur in COLUMN_PRIVILEGES
----------------------------------------------------------------------------------
-SELECT * FROM information_schema.table_privileges WHERE grantee LIKE "'user%";
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-'user_3'@'localhost' NULL db_datadict res_t40502 SELECT YES
-'user_3'@'localhost' NULL db_datadict res_t40502 INSERT YES
-SELECT * FROM information_schema.schema_privileges WHERE grantee LIKE "'user%";
-GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
-'user_3'@'localhost' NULL db_datadict SELECT NO
-'user_3'@'localhost' NULL db_datadict INSERT NO
-'user_3'@'localhost' NULL db_datadict UPDATE NO
-'user_3'@'localhost' NULL db_datadict DELETE NO
-'user_3'@'localhost' NULL db_datadict CREATE NO
-'user_3'@'localhost' NULL db_datadict DROP NO
-'user_3'@'localhost' NULL db_datadict REFERENCES NO
-'user_3'@'localhost' NULL db_datadict INDEX NO
-'user_3'@'localhost' NULL db_datadict ALTER NO
-'user_3'@'localhost' NULL db_datadict CREATE TEMPORARY TABLES NO
-'user_3'@'localhost' NULL db_datadict LOCK TABLES NO
-'user_3'@'localhost' NULL db_datadict EXECUTE NO
-'user_3'@'localhost' NULL db_datadict CREATE VIEW NO
-'user_3'@'localhost' NULL db_datadict SHOW VIEW NO
-'user_3'@'localhost' NULL db_datadict CREATE ROUTINE NO
-'user_3'@'localhost' NULL db_datadict ALTER ROUTINE NO
-'user_3'@'localhost' NULL db_datadict EVENT NO
-'user_3'@'localhost' NULL db_datadict TRIGGER NO
-SELECT * FROM information_schema.column_privileges
-WHERE grantee LIKE "'user%"
- ORDER BY grantee, table_name, column_name, privilege_type;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-'user_3'@'localhost' NULL db_datadict res_t40502 f3 SELECT YES
-GRANT SELECT(f1, f3) ON db_datadict.res_t40502 TO 'user_2'@'localhost';
-
-FIXME: check whether it is intended that *my* grants to others are *NOT* shown here
------------------------------------------------------------------------------------
-SELECT * FROM information_schema.column_privileges
-WHERE grantee LIKE "'user%"
- ORDER BY grantee, table_name, column_name, privilege_type;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-'user_3'@'localhost' NULL db_datadict res_t40502 f3 SELECT YES
-
-user_2@localhost db_datadict
-SELECT * FROM information_schema.column_privileges
-WHERE grantee LIKE "'user%"
- ORDER BY grantee, table_name, column_name, privilege_type;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-'user_2'@'localhost' NULL db_datadict res_t40502 f1 SELECT NO
-'user_2'@'localhost' NULL db_datadict res_t40502 f2 SELECT NO
-'user_2'@'localhost' NULL db_datadict res_t40502 f3 SELECT NO
-
-root@localhost db_datadict
-DROP TABLE IF EXISTS db_datadict.res_t40502;
-DROP DATABASE IF EXISTS db_datadict;
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP USER 'user_3'@'localhost';
-
-Testcase 3.2.6.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC columns;
-Field Type Null Key Default Extra
-TABLE_CATALOG varchar(4096) YES NULL
-TABLE_SCHEMA varchar(64) NO
-TABLE_NAME varchar(64) NO
-COLUMN_NAME varchar(64) NO
-ORDINAL_POSITION bigint(21) unsigned NO 0
-COLUMN_DEFAULT longtext YES NULL
-IS_NULLABLE varchar(3) NO
-DATA_TYPE varchar(64) NO
-CHARACTER_MAXIMUM_LENGTH bigint(21) unsigned YES NULL
-CHARACTER_OCTET_LENGTH bigint(21) unsigned YES NULL
-NUMERIC_PRECISION bigint(21) unsigned YES NULL
-NUMERIC_SCALE bigint(21) unsigned YES NULL
-CHARACTER_SET_NAME varchar(64) YES NULL
-COLLATION_NAME varchar(64) YES NULL
-COLUMN_TYPE longtext NO
-COLUMN_KEY varchar(3) NO
-EXTRA varchar(20) NO
-PRIVILEGES varchar(80) NO
-COLUMN_COMMENT varchar(255) NO
-SHOW CREATE TABLE columns;
-Table Create Table
-COLUMNS CREATE TEMPORARY TABLE `COLUMNS` (
- `TABLE_CATALOG` varchar(4096) DEFAULT NULL,
- `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `TABLE_NAME` varchar(64) NOT NULL DEFAULT '',
- `COLUMN_NAME` varchar(64) NOT NULL DEFAULT '',
- `ORDINAL_POSITION` bigint(21) unsigned NOT NULL DEFAULT '0',
- `COLUMN_DEFAULT` longtext,
- `IS_NULLABLE` varchar(3) NOT NULL DEFAULT '',
- `DATA_TYPE` varchar(64) NOT NULL DEFAULT '',
- `CHARACTER_MAXIMUM_LENGTH` bigint(21) unsigned DEFAULT NULL,
- `CHARACTER_OCTET_LENGTH` bigint(21) unsigned DEFAULT NULL,
- `NUMERIC_PRECISION` bigint(21) unsigned DEFAULT NULL,
- `NUMERIC_SCALE` bigint(21) unsigned DEFAULT NULL,
- `CHARACTER_SET_NAME` varchar(64) DEFAULT NULL,
- `COLLATION_NAME` varchar(64) DEFAULT NULL,
- `COLUMN_TYPE` longtext NOT NULL,
- `COLUMN_KEY` varchar(3) NOT NULL DEFAULT '',
- `EXTRA` varchar(20) NOT NULL DEFAULT '',
- `PRIVILEGES` varchar(80) NOT NULL DEFAULT '',
- `COLUMN_COMMENT` varchar(255) NOT NULL DEFAULT ''
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'columns'
-ORDER BY ordinal_position;
-COUNT(*)
-19
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'columns'
-ORDER BY ordinal_position;
-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
-NULL information_schema COLUMNS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLUMN_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLUMN_TYPE 15 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema COLUMNS COLUMN_KEY 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLUMNS EXTRA 17 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema COLUMNS PRIVILEGES 18 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema COLUMNS COLUMN_COMMENT 19 NO varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
-
-Testcase 3.2.6.2 + 3.2.6.3:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-CREATE DATABASE db_datadict;
-CREATE USER 'user_1'@'localhost';
-CREATE USER 'user_2'@'localhost';
-USE db_datadict;
-create table t_6_406001(f1 char(10), f2 text, f3 date, f4 int);
-grant select(f1, f2) on db_datadict.t_6_406001 to 'user_1'@'localhost';
-create table t_6_406002(f1 char(10), f2 text, f3 date, f4 int);
-GRANT INSERT(f1, f2) ON db_datadict.t_6_406002 TO 'user_2'@'localhost';
-FLUSH PRIVILEGES;
-SELECT * FROM information_schema.columns
-ORDER BY table_schema, table_name, ordinal_position;
-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
-NULL db_datadict t_6_406001 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select,insert,update,references
-NULL db_datadict t_6_406001 f2 2 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references
-NULL db_datadict t_6_406001 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL db_datadict t_6_406001 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL db_datadict t_6_406002 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select,insert,update,references
-NULL db_datadict t_6_406002 f2 2 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references
-NULL db_datadict t_6_406002 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL db_datadict t_6_406002 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema CHARACTER_SETS DESCRIPTION 3 NO varchar 60 180 NULL NULL utf8 utf8_general_ci varchar(60) select
-NULL information_schema CHARACTER_SETS MAXLEN 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema COLLATIONS COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATIONS CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATIONS ID 3 0 NO bigint NULL NULL 19 0 NULL NULL bigint(11) select
-NULL information_schema COLLATIONS IS_DEFAULT 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLLATIONS IS_COMPILED 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLLATIONS SORTLEN 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLUMN_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLUMN_TYPE 15 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema COLUMNS COLUMN_KEY 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLUMNS EXTRA 17 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema COLUMNS PRIVILEGES 18 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema COLUMNS COLUMN_COMMENT 19 NO varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
-NULL information_schema COLUMN_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES COLUMN_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES PRIVILEGE_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES IS_GRANTABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ENGINES ENGINE 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ENGINES SUPPORT 2 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema ENGINES COMMENT 3 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema ENGINES TRANSACTIONS 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ENGINES XA 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ENGINES SAVEPOINTS 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema EVENTS EVENT_CATALOG 1 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS EVENT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS EVENT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS DEFINER 4 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
-NULL information_schema EVENTS TIME_ZONE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS EVENT_BODY 6 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema EVENTS EVENT_DEFINITION 7 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema EVENTS EVENT_TYPE 8 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
-NULL information_schema EVENTS EXECUTE_AT 9 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS INTERVAL_VALUE 10 NULL YES varchar 256 768 NULL NULL utf8 utf8_general_ci varchar(256) select
-NULL information_schema EVENTS INTERVAL_FIELD 11 NULL YES varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select
-NULL information_schema EVENTS SQL_MODE 12 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema EVENTS STARTS 13 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS ENDS 14 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS STATUS 15 NO varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select
-NULL information_schema EVENTS ON_COMPLETION 16 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema EVENTS CREATED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS LAST_ALTERED 18 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS LAST_EXECUTED 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS EVENT_COMMENT 20 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS ORIGINATOR 21 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select
-NULL information_schema FILES FILE_ID 1 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES FILE_NAME 2 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES FILE_TYPE 3 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema FILES TABLESPACE_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES TABLE_CATALOG 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES TABLE_SCHEMA 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES TABLE_NAME 7 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES LOGFILE_GROUP_NAME 8 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES LOGFILE_GROUP_NUMBER 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES ENGINE 10 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES FULLTEXT_KEYS 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES DELETED_ROWS 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES UPDATE_COUNT 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES FREE_EXTENTS 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES TOTAL_EXTENTS 15 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES EXTENT_SIZE 16 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES INITIAL_SIZE 17 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES MAXIMUM_SIZE 18 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES AUTOEXTEND_SIZE 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES CREATION_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES LAST_UPDATE_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES LAST_ACCESS_TIME 22 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES RECOVER_TIME 23 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES TRANSACTION_COUNTER 24 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES VERSION 25 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES ROW_FORMAT 26 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema FILES TABLE_ROWS 27 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES AVG_ROW_LENGTH 28 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES DATA_LENGTH 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES MAX_DATA_LENGTH 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES INDEX_LENGTH 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES DATA_FREE 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES CREATE_TIME 33 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES UPDATE_TIME 34 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES CHECK_TIME 35 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES CHECKSUM 36 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES STATUS 37 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema FILES EXTRA 38 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
-NULL information_schema GLOBAL_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema GLOBAL_STATUS VARIABLE_VALUE 2 0.0000000 NO decimal NULL NULL 22 7 NULL NULL decimal(22,7) select
-NULL information_schema GLOBAL_VARIABLES VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema GLOBAL_VARIABLES VARIABLE_VALUE 2 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE COLUMN_NAME 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE ORDINAL_POSITION 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select
-NULL information_schema KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(10) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_NAME 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME 12 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema PARTITIONS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS PARTITION_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS SUBPARTITION_NAME 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION 7 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS PARTITION_METHOD 8 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema PARTITIONS SUBPARTITION_METHOD 9 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema PARTITIONS PARTITION_EXPRESSION 10 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PARTITIONS SUBPARTITION_EXPRESSION 11 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PARTITIONS PARTITION_DESCRIPTION 12 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PARTITIONS TABLE_ROWS 13 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS AVG_ROW_LENGTH 14 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS DATA_LENGTH 15 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS MAX_DATA_LENGTH 16 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS INDEX_LENGTH 17 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS DATA_FREE 18 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS CREATE_TIME 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema PARTITIONS UPDATE_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema PARTITIONS CHECK_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema PARTITIONS CHECKSUM 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS PARTITION_COMMENT 23 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema PARTITIONS NODEGROUP 24 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema PARTITIONS TABLESPACE_NAME 25 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_VERSION 2 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema PLUGINS PLUGIN_STATUS 3 NO varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema PLUGINS PLUGIN_TYPE 4 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema PLUGINS PLUGIN_TYPE_VERSION 5 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema PLUGINS PLUGIN_LIBRARY 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_LIBRARY_VERSION 7 NULL YES varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema PLUGINS PLUGIN_AUTHOR 8 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_DESCRIPTION 9 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PLUGINS PLUGIN_LICENSE 10 NULL YES varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema PROCESSLIST ID 1 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema PROCESSLIST USER 2 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema PROCESSLIST HOST 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PROCESSLIST DB 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PROCESSLIST COMMAND 5 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema PROCESSLIST TIME 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(7) select
-NULL information_schema PROCESSLIST STATE 7 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PROCESSLIST INFO 8 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS MATCH_OPTION 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UPDATE_RULE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS DELETE_RULE 9 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS TABLE_NAME 10 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS REFERENCED_TABLE_NAME 11 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES SPECIFIC_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema ROUTINES ROUTINE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_TYPE 5 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
-NULL information_schema ROUTINES DTD_IDENTIFIER 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_BODY 7 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema ROUTINES ROUTINE_DEFINITION 8 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema ROUTINES EXTERNAL_NAME 9 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES EXTERNAL_LANGUAGE 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES PARAMETER_STYLE 11 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema ROUTINES IS_DETERMINISTIC 12 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ROUTINES SQL_DATA_ACCESS 13 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES SQL_PATH 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES SECURITY_TYPE 15 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select
-NULL information_schema ROUTINES CREATED 16 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema ROUTINES LAST_ALTERED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema ROUTINES SQL_MODE 18 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema ROUTINES ROUTINE_COMMENT 19 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES DEFINER 20 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
-NULL information_schema SCHEMATA CATALOG_NAME 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema SCHEMATA SCHEMA_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA DEFAULT_COLLATION_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA SQL_PATH 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema SCHEMA_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema SCHEMA_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMA_PRIVILEGES IS_GRANTABLE 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema SESSION_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SESSION_STATUS VARIABLE_VALUE 2 0.0000000 NO decimal NULL NULL 22 7 NULL NULL decimal(22,7) select
-NULL information_schema SESSION_VARIABLES VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SESSION_VARIABLES VARIABLE_VALUE 2 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema STATISTICS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema STATISTICS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS NON_UNIQUE 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(1) select
-NULL information_schema STATISTICS INDEX_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS INDEX_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS SEQ_IN_INDEX 7 0 NO bigint NULL NULL 19 0 NULL NULL bigint(2) select
-NULL information_schema STATISTICS COLUMN_NAME 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS COLLATION 9 NULL YES varchar 1 3 NULL NULL utf8 utf8_general_ci varchar(1) select
-NULL information_schema STATISTICS CARDINALITY 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select
-NULL information_schema STATISTICS SUB_PART 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema STATISTICS PACKED 12 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema STATISTICS NULLABLE 13 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema STATISTICS INDEX_TYPE 14 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema STATISTICS COMMENT 15 NULL YES varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema TABLES TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
-NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS TABLE_SCHEMA 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS TABLE_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema TABLE_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLE_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES PRIVILEGE_TYPE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES IS_GRANTABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema TRIGGERS TRIGGER_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TRIGGERS TRIGGER_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS TRIGGER_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS EVENT_MANIPULATION 4 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select
-NULL information_schema TRIGGERS EVENT_OBJECT_CATALOG 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TRIGGERS EVENT_OBJECT_SCHEMA 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS EVENT_OBJECT_TABLE 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_ORDER 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema TRIGGERS ACTION_CONDITION 9 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS ACTION_STATEMENT 10 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS ACTION_ORIENTATION 11 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
-NULL information_schema TRIGGERS ACTION_TIMING 12 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_TABLE 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_TABLE 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_ROW 15 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_ROW 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema TRIGGERS CREATED 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TRIGGERS SQL_MODE 18 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS DEFINER 19 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema USER_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema USER_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema USER_PRIVILEGES PRIVILEGE_TYPE 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema USER_PRIVILEGES IS_GRANTABLE 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema VIEWS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema VIEWS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema VIEWS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema VIEWS VIEW_DEFINITION 4 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema VIEWS CHECK_OPTION 5 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema VIEWS IS_UPDATABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema VIEWS DEFINER 7 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
-NULL information_schema VIEWS SECURITY_TYPE 8 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select
-NULL mysql columns_priv Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
-NULL mysql columns_priv Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql columns_priv User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
-NULL mysql columns_priv Table_name 4 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql columns_priv Column_name 5 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql columns_priv Timestamp 6 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql columns_priv Column_priv 7 NO set 31 93 NULL NULL utf8 utf8_general_ci set('Select','Insert','Update','References') select,insert,update,references
-NULL mysql db Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
-NULL mysql db Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql db User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
-NULL mysql db Select_priv 4 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Insert_priv 5 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Update_priv 6 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Delete_priv 7 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Create_priv 8 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Drop_priv 9 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Grant_priv 10 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db References_priv 11 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Index_priv 12 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Alter_priv 13 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Create_tmp_table_priv 14 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Lock_tables_priv 15 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Create_view_priv 16 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Show_view_priv 17 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Create_routine_priv 18 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Alter_routine_priv 19 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Execute_priv 20 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Event_priv 21 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Trigger_priv 22 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql event db 1 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql event name 2 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) PRI select,insert,update,references
-NULL mysql event body 3 NULL NO longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references
-NULL mysql event definer 4 NO char 77 231 NULL NULL utf8 utf8_bin char(77) select,insert,update,references
-NULL mysql event execute_at 5 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL mysql event interval_value 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql event interval_field 7 NULL YES enum 18 54 NULL NULL utf8 utf8_general_ci enum('YEAR','QUARTER','MONTH','DAY','HOUR','MINUTE','WEEK','SECOND','MICROSECOND','YEAR_MONTH','DAY_HOUR','DAY_MINUTE','DAY_SECOND','HOUR_MINUTE','HOUR_SECOND','MINUTE_SECOND','DAY_MICROSECOND','HOUR_MICROSECOND','MINUTE_MICROSECOND','SECOND_MICROSECOND') select,insert,update,references
-NULL mysql event created 8 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql event modified 9 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql event last_executed 10 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL mysql event starts 11 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL mysql event ends 12 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL mysql event status 13 ENABLED NO enum 18 54 NULL NULL utf8 utf8_general_ci enum('ENABLED','DISABLED','SLAVESIDE_DISABLED') select,insert,update,references
-NULL mysql event on_completion 14 DROP NO enum 8 24 NULL NULL utf8 utf8_general_ci enum('DROP','PRESERVE') select,insert,update,references
-NULL mysql event sql_mode 15 NO set 431 1293 NULL NULL utf8 utf8_general_ci set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE') select,insert,update,references
-NULL mysql event comment 16 NO char 64 192 NULL NULL utf8 utf8_bin char(64) select,insert,update,references
-NULL mysql event originator 17 NULL NO int NULL NULL 10 0 NULL NULL int(10) select,insert,update,references
-NULL mysql event time_zone 18 SYSTEM NO char 64 64 NULL NULL latin1 latin1_swedish_ci char(64) select,insert,update,references
-NULL mysql func name 1 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql func ret 2 0 NO tinyint NULL NULL 3 0 NULL NULL tinyint(1) select,insert,update,references
-NULL mysql func dl 3 NO char 128 384 NULL NULL utf8 utf8_bin char(128) select,insert,update,references
-NULL mysql func type 4 NULL NO enum 9 27 NULL NULL utf8 utf8_general_ci enum('function','aggregate') select,insert,update,references
-NULL mysql general_log event_time 1 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql general_log user_host 2 NULL YES mediumtext 16777215 16777215 NULL NULL utf8 utf8_general_ci mediumtext select,insert,update,references
-NULL mysql general_log thread_id 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql general_log server_id 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql general_log command_type 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
-NULL mysql general_log argument 6 NULL YES mediumtext 16777215 16777215 NULL NULL utf8 utf8_general_ci mediumtext select,insert,update,references
-NULL mysql help_category help_category_id 1 NULL NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned PRI select,insert,update,references
-NULL mysql help_category name 2 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) UNI select,insert,update,references
-NULL mysql help_category parent_category_id 3 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references
-NULL mysql help_category url 4 NULL NO char 128 384 NULL NULL utf8 utf8_general_ci char(128) select,insert,update,references
-NULL mysql help_keyword help_keyword_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references
-NULL mysql help_keyword name 2 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) UNI select,insert,update,references
-NULL mysql help_relation help_topic_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references
-NULL mysql help_relation help_keyword_id 2 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references
-NULL mysql help_topic help_topic_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references
-NULL mysql help_topic name 2 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) UNI select,insert,update,references
-NULL mysql help_topic help_category_id 3 NULL NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references
-NULL mysql help_topic description 4 NULL NO text 65535 65535 NULL NULL utf8 utf8_general_ci text select,insert,update,references
-NULL mysql help_topic example 5 NULL NO text 65535 65535 NULL NULL utf8 utf8_general_ci text select,insert,update,references
-NULL mysql help_topic url 6 NULL NO char 128 384 NULL NULL utf8 utf8_general_ci char(128) select,insert,update,references
-NULL mysql host Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
-NULL mysql host Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql host Select_priv 3 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Insert_priv 4 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Update_priv 5 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Delete_priv 6 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Create_priv 7 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Drop_priv 8 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Grant_priv 9 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host References_priv 10 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Index_priv 11 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Alter_priv 12 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Create_tmp_table_priv 13 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Lock_tables_priv 14 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Create_view_priv 15 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Show_view_priv 16 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Create_routine_priv 17 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Alter_routine_priv 18 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Execute_priv 19 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Trigger_priv 20 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql ndb_binlog_index Position 1 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL mysql ndb_binlog_index File 2 NULL NO varchar 255 255 NULL NULL latin1 latin1_swedish_ci varchar(255) select,insert,update,references
-NULL mysql ndb_binlog_index epoch 3 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned PRI select,insert,update,references
-NULL mysql ndb_binlog_index inserts 4 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL mysql ndb_binlog_index updates 5 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL mysql ndb_binlog_index deletes 6 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL mysql ndb_binlog_index schemaops 7 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL mysql plugin name 1 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql plugin dl 2 NO char 128 384 NULL NULL utf8 utf8_bin char(128) select,insert,update,references
-NULL mysql proc db 1 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql proc name 2 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) PRI select,insert,update,references
-NULL mysql proc type 3 NULL NO enum 9 27 NULL NULL utf8 utf8_general_ci enum('FUNCTION','PROCEDURE') PRI select,insert,update,references
-NULL mysql proc specific_name 4 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql proc language 5 SQL NO enum 3 9 NULL NULL utf8 utf8_general_ci enum('SQL') select,insert,update,references
-NULL mysql proc sql_data_access 6 CONTAINS_SQL NO enum 17 51 NULL NULL utf8 utf8_general_ci enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA') select,insert,update,references
-NULL mysql proc is_deterministic 7 NO NO enum 3 9 NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references
-NULL mysql proc security_type 8 DEFINER NO enum 7 21 NULL NULL utf8 utf8_general_ci enum('INVOKER','DEFINER') select,insert,update,references
-NULL mysql proc param_list 9 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
-NULL mysql proc returns 10 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql proc body 11 NULL NO longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references
-NULL mysql proc definer 12 NO char 77 231 NULL NULL utf8 utf8_bin char(77) select,insert,update,references
-NULL mysql proc created 13 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql proc modified 14 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql proc sql_mode 15 NO set 431 1293 NULL NULL utf8 utf8_general_ci set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE') select,insert,update,references
-NULL mysql proc comment 16 NO char 64 192 NULL NULL utf8 utf8_bin char(64) select,insert,update,references
-NULL mysql procs_priv Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
-NULL mysql procs_priv Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql procs_priv User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
-NULL mysql procs_priv Routine_name 4 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql procs_priv Routine_type 5 NULL NO enum 9 27 NULL NULL utf8 utf8_bin enum('FUNCTION','PROCEDURE') PRI select,insert,update,references
-NULL mysql procs_priv Grantor 6 NO char 77 231 NULL NULL utf8 utf8_bin char(77) MUL select,insert,update,references
-NULL mysql procs_priv Proc_priv 7 NO set 27 81 NULL NULL utf8 utf8_general_ci set('Execute','Alter Routine','Grant') select,insert,update,references
-NULL mysql procs_priv Timestamp 8 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql servers Server_name 1 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) PRI select,insert,update,references
-NULL mysql servers Host 2 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql servers Db 3 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql servers Username 4 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql servers Password 5 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql servers Port 6 0 NO int NULL NULL 10 0 NULL NULL int(4) select,insert,update,references
-NULL mysql servers Socket 7 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql servers Wrapper 8 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql servers Owner 9 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql slow_log start_time 1 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql slow_log user_host 2 NULL NO mediumtext 16777215 16777215 NULL NULL utf8 utf8_general_ci mediumtext select,insert,update,references
-NULL mysql slow_log query_time 3 NULL NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references
-NULL mysql slow_log lock_time 4 NULL NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references
-NULL mysql slow_log rows_sent 5 NULL NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql slow_log rows_examined 6 NULL NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql slow_log db 7 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select,insert,update,references
-NULL mysql slow_log last_insert_id 8 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql slow_log insert_id 9 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql slow_log server_id 10 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql slow_log sql_text 11 NULL NO mediumtext 16777215 16777215 NULL NULL utf8 utf8_general_ci mediumtext select,insert,update,references
-NULL mysql tables_priv Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
-NULL mysql tables_priv Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql tables_priv User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
-NULL mysql tables_priv Table_name 4 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql tables_priv Grantor 5 NO char 77 231 NULL NULL utf8 utf8_bin char(77) MUL select,insert,update,references
-NULL mysql tables_priv Timestamp 6 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql tables_priv Table_priv 7 NO set 98 294 NULL NULL utf8 utf8_general_ci set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view','Trigger') select,insert,update,references
-NULL mysql tables_priv Column_priv 8 NO set 31 93 NULL NULL utf8 utf8_general_ci set('Select','Insert','Update','References') select,insert,update,references
-NULL mysql time_zone Time_zone_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI auto_increment select,insert,update,references
-NULL mysql time_zone Use_leap_seconds 2 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('Y','N') select,insert,update,references
-NULL mysql time_zone_leap_second Transition_time 1 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) PRI select,insert,update,references
-NULL mysql time_zone_leap_second Correction 2 NULL NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql time_zone_name Name 1 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) PRI select,insert,update,references
-NULL mysql time_zone_name Time_zone_id 2 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references
-NULL mysql time_zone_transition Time_zone_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references
-NULL mysql time_zone_transition Transition_time 2 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) PRI select,insert,update,references
-NULL mysql time_zone_transition Transition_type_id 3 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references
-NULL mysql time_zone_transition_type Time_zone_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references
-NULL 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
-NULL mysql time_zone_transition_type Offset 3 0 NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql time_zone_transition_type Is_DST 4 0 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references
-NULL mysql time_zone_transition_type Abbreviation 5 NO char 8 24 NULL NULL utf8 utf8_general_ci char(8) select,insert,update,references
-NULL mysql user Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
-NULL mysql user User 2 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
-NULL mysql user Password 3 NO char 41 41 NULL NULL latin1 latin1_bin char(41) select,insert,update,references
-NULL mysql user Select_priv 4 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Insert_priv 5 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Update_priv 6 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Delete_priv 7 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Create_priv 8 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Drop_priv 9 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Reload_priv 10 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Shutdown_priv 11 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Process_priv 12 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user File_priv 13 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Grant_priv 14 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user References_priv 15 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Index_priv 16 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Alter_priv 17 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Show_db_priv 18 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Super_priv 19 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Create_tmp_table_priv 20 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Lock_tables_priv 21 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Execute_priv 22 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Repl_slave_priv 23 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Repl_client_priv 24 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Create_view_priv 25 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Show_view_priv 26 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Create_routine_priv 27 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Alter_routine_priv 28 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Create_user_priv 29 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Event_priv 30 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Trigger_priv 31 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user ssl_type 32 NO enum 9 27 NULL NULL utf8 utf8_general_ci enum('','ANY','X509','SPECIFIED') select,insert,update,references
-NULL mysql user ssl_cipher 33 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
-NULL mysql user x509_issuer 34 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
-NULL mysql user x509_subject 35 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
-NULL mysql user max_questions 36 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references
-NULL mysql user max_updates 37 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references
-NULL mysql user max_connections 38 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references
-NULL mysql user max_user_connections 39 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references
-NULL test t1 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t1 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t1 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t1 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t1 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t1 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t10 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t10 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t10 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t10 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t10 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t10 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t11 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t11 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t11 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t11 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t11 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t11 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t2 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t2 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t2 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t2 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t2 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t2 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t3 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t3 f2 2 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t3 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t4 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t4 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t4 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t4 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t4 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t4 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t7 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t7 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t7 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t7 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t8 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t8 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t8 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t8 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t9 f1 1 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t9 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t9 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test tb1 f1 1 NULL YES char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
-NULL test tb1 f2 2 NULL YES char 1 1 NULL NULL latin1 latin1_bin char(1) select,insert,update,references
-NULL test tb1 f3 3 NULL YES char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
-NULL test tb1 f4 4 NULL YES tinytext 127 255 NULL NULL ucs2 ucs2_general_ci tinytext select,insert,update,references
-NULL test tb1 f5 5 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references
-NULL test tb1 f6 6 NULL YES mediumtext 16777215 16777215 NULL NULL latin1 latin1_swedish_ci mediumtext select,insert,update,references
-NULL test tb1 f7 7 NULL YES longtext 4294967295 4294967295 NULL NULL latin1 latin1_swedish_ci longtext select,insert,update,references
-NULL test tb1 f8 8 NULL YES tinyblob 255 255 NULL NULL NULL NULL tinyblob select,insert,update,references
-NULL test tb1 f9 9 NULL YES blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
-NULL test tb1 f10 10 NULL YES mediumblob 16777215 16777215 NULL NULL NULL NULL mediumblob select,insert,update,references
-NULL test tb1 f11 11 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references
-NULL test tb1 f12 12 NULL YES binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references
-NULL test tb1 f13 13 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references
-NULL test tb1 f14 14 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references
-NULL test tb1 f15 15 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb1 f16 16 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb1 f17 17 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references
-NULL test tb1 f18 18 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references
-NULL test tb1 f19 19 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb1 f20 20 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb1 f21 21 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references
-NULL test tb1 f22 22 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references
-NULL test tb1 f23 23 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb1 f24 24 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb1 f25 25 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test tb1 f26 26 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references
-NULL test tb1 f27 27 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb1 f28 28 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb1 f29 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references
-NULL test tb1 f30 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL test tb1 f31 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb1 f32 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb1 f33 33 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f34 34 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f35 35 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f36 36 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f37 37 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f38 38 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb1 f39 39 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f40 40 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb1 f41 41 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f42 42 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f43 43 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f44 44 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f45 45 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f46 46 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb1 f47 47 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f48 48 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb1 f49 49 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f50 50 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb1 f51 51 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f52 52 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb1 f53 53 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f54 54 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f55 55 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f56 56 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f57 57 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f58 58 99 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb2 f59 1 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb2 f60 2 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb2 f61 3 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f62 4 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f63 5 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f64 6 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f65 7 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb2 f66 8 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb2 f67 9 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb2 f68 10 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb2 f69 11 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f70 12 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb2 f71 13 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f72 14 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb2 f73 15 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb2 f74 16 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb2 f75 17 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f76 18 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f77 19 7.7 YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb2 f78 20 7.7 YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb2 f79 21 00000000000000000007.7 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f80 22 00000000000000000008.8 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f81 23 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f82 24 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f83 25 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f84 26 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f85 27 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f86 28 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f87 29 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f88 30 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f89 31 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f90 32 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f91 33 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f92 34 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f93 35 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f94 36 8.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb2 f95 37 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f96 38 8.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb2 f97 39 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f98 40 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f99 41 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f100 42 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f101 43 2000-01-01 NO date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test tb2 f102 44 00:00:20 NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references
-NULL test tb2 f103 45 0002-02-02 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL test tb2 f104 46 2000-12-31 23:59:59 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL test tb2 f105 47 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb2 f106 48 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb2 f107 49 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb2 f108 50 1enum NO enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references
-NULL test tb2 f109 51 1set NO set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references
-NULL test tb2 f110 52 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
-NULL test tb2 f111 53 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references
-NULL test tb2 f112 54 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
-NULL test tb2 f113 55 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
-NULL test tb2 f114 56 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
-NULL test tb2 f115 57 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references
-NULL test tb2 f116 58 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
-NULL test tb2 f117 59 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
-NULL test tb3 f118 1 a NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
-NULL test tb3 f119 2  NO char 1 1 NULL NULL latin1 latin1_bin char(1) select,insert,update,references
-NULL test tb3 f120 3  NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
-NULL test tb3 f121 4 NULL YES tinytext 255 255 NULL NULL latin1 latin1_swedish_ci tinytext select,insert,update,references
-NULL test tb3 f122 5 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references
-NULL test tb3 f123 6 NULL YES mediumtext 16777215 16777215 NULL NULL latin1 latin1_swedish_ci mediumtext select,insert,update,references
-NULL test tb3 f124 7 NULL YES longtext 2147483647 4294967295 NULL NULL ucs2 ucs2_general_ci longtext select,insert,update,references
-NULL test tb3 f125 8 NULL YES tinyblob 255 255 NULL NULL NULL NULL tinyblob select,insert,update,references
-NULL test tb3 f126 9 NULL YES blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
-NULL test tb3 f127 10 NULL YES mediumblob 16777215 16777215 NULL NULL NULL NULL mediumblob select,insert,update,references
-NULL test tb3 f128 11 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references
-NULL test tb3 f129 12  NO binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references
-NULL test tb3 f130 13 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references
-NULL test tb3 f131 14 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references
-NULL test tb3 f132 15 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb3 f133 16 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb3 f134 17 999 NO smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references
-NULL test tb3 f135 18 999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references
-NULL test tb3 f136 19 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb3 f137 20 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb3 f138 21 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references
-NULL test tb3 f139 22 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references
-NULL test tb3 f140 23 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb3 f141 24 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb3 f142 25 99999 NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test tb3 f143 26 99999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references
-NULL test tb3 f144 27 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb3 f145 28 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb3 f146 29 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references
-NULL test tb3 f147 30 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL test tb3 f148 31 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb3 f149 32 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb3 f150 33 1000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f151 34 999 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f152 35 0000001000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f153 36 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f154 37 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f155 38 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb3 f156 39 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f157 40 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb3 f158 41 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f159 42 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f160 43 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f161 44 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f162 45 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f163 46 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb3 f164 47 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f165 48 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb3 f166 49 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f167 50 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb3 f168 51 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f169 52 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb3 f170 53 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f171 54 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f172 55 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f173 56 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f174 57 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f175 58 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb4 f176 1 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb4 f177 2 9 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb4 f178 3 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f179 4 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f180 5 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f181 6 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f182 7 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb4 f183 8 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb4 f184 9 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb4 f185 10 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb4 f186 11 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f187 12 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb4 f188 13 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f189 14 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb4 f190 15 88.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb4 f191 16 88.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb4 f192 17 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f193 18 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f194 19 55.5 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb4 f195 20 55.5 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb4 f196 21 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f197 22 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f198 23 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f199 24 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f200 25 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f201 26 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f202 27 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f203 28 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f204 29 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f205 30 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f206 31 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f207 32 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f208 33 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f209 34 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f210 35 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f211 36 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb4 f212 37 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f213 38 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb4 f214 39 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f215 40 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f216 41 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f217 42 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f218 43 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test tb4 f219 44 NULL YES time NULL NULL NULL NULL NULL NULL time select,insert,update,references
-NULL test tb4 f220 45 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL test tb4 f221 46 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL test tb4 f222 47 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb4 f223 48 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb4 f224 49 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb4 f225 50 NULL YES enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references
-NULL test tb4 f226 51 NULL YES set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references
-NULL test tb4 f227 52 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
-NULL test tb4 f228 53 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references
-NULL test tb4 f229 54 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
-NULL test tb4 f230 55 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
-NULL test tb4 f231 56 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
-NULL test tb4 f232 57 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references
-NULL test tb4 f233 58 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
-NULL test tb4 f234 59 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
-NULL test tb4 f235 60 NULL YES char 255 510 NULL NULL ucs2 ucs2_general_ci char(255) select,insert,update,references
-NULL test tb4 f236 61 NULL YES char 60 60 NULL NULL latin1 latin1_swedish_ci char(60) select,insert,update,references
-NULL test tb4 f237 62 NULL YES char 255 255 NULL NULL latin1 latin1_bin char(255) select,insert,update,references
-NULL test tb4 f238 63 NULL YES varchar 0 0 NULL NULL latin1 latin1_bin varchar(0) select,insert,update,references
-NULL test tb4 f239 64 NULL YES varbinary 1000 1000 NULL NULL NULL NULL varbinary(1000) select,insert,update,references
-NULL test tb4 f240 65 NULL YES varchar 120 240 NULL NULL ucs2 ucs2_general_ci varchar(120) select,insert,update,references
-NULL test tb4 f241 66 NULL YES char 100 200 NULL NULL ucs2 ucs2_general_ci char(100) select,insert,update,references
-NULL test tb4 f242 67 NULL YES bit NULL NULL 30 NULL NULL NULL bit(30) select,insert,update,references
-NULL test1 tb2 f59 1 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test1 tb2 f60 2 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test1 tb2 f61 3 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test1 tb2 f62 4 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test1 tb2 f63 5 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test1 tb2 f64 6 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test1 tb2 f65 7 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test1 tb2 f66 8 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test1 tb2 f67 9 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test1 tb2 f68 10 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test1 tb2 f69 11 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test1 tb2 f70 12 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test1 tb2 f71 13 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test1 tb2 f72 14 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test1 tb2 f73 15 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test1 tb2 f74 16 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test1 tb2 f75 17 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test1 tb2 f76 18 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test1 tb2 f77 19 7.7 YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test1 tb2 f78 20 7.7 YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test1 tb2 f79 21 00000000000000000007.7 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test1 tb2 f80 22 00000000000000000008.8 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test1 tb2 f81 23 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test1 tb2 f82 24 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test1 tb2 f83 25 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test1 tb2 f84 26 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test1 tb2 f85 27 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test1 tb2 f86 28 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test1 tb2 f87 29 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test1 tb2 f88 30 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test1 tb2 f89 31 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test1 tb2 f90 32 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test1 tb2 f91 33 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test1 tb2 f92 34 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test1 tb2 f93 35 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test1 tb2 f94 36 8.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test1 tb2 f95 37 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test1 tb2 f96 38 8.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test1 tb2 f97 39 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test1 tb2 f98 40 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test1 tb2 f99 41 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test1 tb2 f100 42 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test1 tb2 f101 43 2000-01-01 NO date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test1 tb2 f102 44 00:00:20 NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references
-NULL test1 tb2 f103 45 0002-02-02 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL test1 tb2 f104 46 2000-12-31 23:59:59 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL test1 tb2 f105 47 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test1 tb2 f106 48 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test1 tb2 f107 49 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test1 tb2 f108 50 1enum NO enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references
-NULL test1 tb2 f109 51 1set NO set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references
-NULL test1 tb2 f110 52 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
-NULL test1 tb2 f111 53 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references
-NULL test1 tb2 f112 54 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
-NULL test1 tb2 f113 55 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
-NULL test1 tb2 f114 56 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
-NULL test1 tb2 f115 57 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references
-NULL test1 tb2 f116 58 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
-NULL test1 tb2 f117 59 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
-NULL test4 t6 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test4 t6 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test4 t6 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test4 t6 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test4 t6 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test4 t6 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-connect(localhost,user_1,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.columns
-ORDER BY table_schema, table_name, ordinal_position;
-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
-NULL db_datadict t_6_406001 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select
-NULL db_datadict t_6_406001 f2 2 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select
-NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema CHARACTER_SETS DESCRIPTION 3 NO varchar 60 180 NULL NULL utf8 utf8_general_ci varchar(60) select
-NULL information_schema CHARACTER_SETS MAXLEN 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema COLLATIONS COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATIONS CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATIONS ID 3 0 NO bigint NULL NULL 19 0 NULL NULL bigint(11) select
-NULL information_schema COLLATIONS IS_DEFAULT 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLLATIONS IS_COMPILED 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLLATIONS SORTLEN 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLUMN_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLUMN_TYPE 15 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema COLUMNS COLUMN_KEY 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLUMNS EXTRA 17 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema COLUMNS PRIVILEGES 18 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema COLUMNS COLUMN_COMMENT 19 NO varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
-NULL information_schema COLUMN_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES COLUMN_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES PRIVILEGE_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES IS_GRANTABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ENGINES ENGINE 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ENGINES SUPPORT 2 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema ENGINES COMMENT 3 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema ENGINES TRANSACTIONS 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ENGINES XA 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ENGINES SAVEPOINTS 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema EVENTS EVENT_CATALOG 1 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS EVENT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS EVENT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS DEFINER 4 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
-NULL information_schema EVENTS TIME_ZONE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS EVENT_BODY 6 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema EVENTS EVENT_DEFINITION 7 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema EVENTS EVENT_TYPE 8 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
-NULL information_schema EVENTS EXECUTE_AT 9 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS INTERVAL_VALUE 10 NULL YES varchar 256 768 NULL NULL utf8 utf8_general_ci varchar(256) select
-NULL information_schema EVENTS INTERVAL_FIELD 11 NULL YES varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select
-NULL information_schema EVENTS SQL_MODE 12 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema EVENTS STARTS 13 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS ENDS 14 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS STATUS 15 NO varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select
-NULL information_schema EVENTS ON_COMPLETION 16 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema EVENTS CREATED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS LAST_ALTERED 18 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS LAST_EXECUTED 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS EVENT_COMMENT 20 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS ORIGINATOR 21 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select
-NULL information_schema FILES FILE_ID 1 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES FILE_NAME 2 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES FILE_TYPE 3 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema FILES TABLESPACE_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES TABLE_CATALOG 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES TABLE_SCHEMA 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES TABLE_NAME 7 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES LOGFILE_GROUP_NAME 8 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES LOGFILE_GROUP_NUMBER 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES ENGINE 10 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES FULLTEXT_KEYS 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES DELETED_ROWS 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES UPDATE_COUNT 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES FREE_EXTENTS 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES TOTAL_EXTENTS 15 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES EXTENT_SIZE 16 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES INITIAL_SIZE 17 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES MAXIMUM_SIZE 18 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES AUTOEXTEND_SIZE 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES CREATION_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES LAST_UPDATE_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES LAST_ACCESS_TIME 22 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES RECOVER_TIME 23 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES TRANSACTION_COUNTER 24 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES VERSION 25 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES ROW_FORMAT 26 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema FILES TABLE_ROWS 27 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES AVG_ROW_LENGTH 28 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES DATA_LENGTH 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES MAX_DATA_LENGTH 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES INDEX_LENGTH 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES DATA_FREE 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES CREATE_TIME 33 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES UPDATE_TIME 34 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES CHECK_TIME 35 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES CHECKSUM 36 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES STATUS 37 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema FILES EXTRA 38 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
-NULL information_schema GLOBAL_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema GLOBAL_STATUS VARIABLE_VALUE 2 0.0000000 NO decimal NULL NULL 22 7 NULL NULL decimal(22,7) select
-NULL information_schema GLOBAL_VARIABLES VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema GLOBAL_VARIABLES VARIABLE_VALUE 2 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE COLUMN_NAME 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE ORDINAL_POSITION 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select
-NULL information_schema KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(10) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_NAME 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME 12 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema PARTITIONS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS PARTITION_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS SUBPARTITION_NAME 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION 7 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS PARTITION_METHOD 8 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema PARTITIONS SUBPARTITION_METHOD 9 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema PARTITIONS PARTITION_EXPRESSION 10 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PARTITIONS SUBPARTITION_EXPRESSION 11 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PARTITIONS PARTITION_DESCRIPTION 12 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PARTITIONS TABLE_ROWS 13 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS AVG_ROW_LENGTH 14 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS DATA_LENGTH 15 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS MAX_DATA_LENGTH 16 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS INDEX_LENGTH 17 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS DATA_FREE 18 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS CREATE_TIME 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema PARTITIONS UPDATE_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema PARTITIONS CHECK_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema PARTITIONS CHECKSUM 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS PARTITION_COMMENT 23 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema PARTITIONS NODEGROUP 24 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema PARTITIONS TABLESPACE_NAME 25 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_VERSION 2 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema PLUGINS PLUGIN_STATUS 3 NO varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema PLUGINS PLUGIN_TYPE 4 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema PLUGINS PLUGIN_TYPE_VERSION 5 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema PLUGINS PLUGIN_LIBRARY 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_LIBRARY_VERSION 7 NULL YES varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema PLUGINS PLUGIN_AUTHOR 8 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_DESCRIPTION 9 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PLUGINS PLUGIN_LICENSE 10 NULL YES varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema PROCESSLIST ID 1 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema PROCESSLIST USER 2 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema PROCESSLIST HOST 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PROCESSLIST DB 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PROCESSLIST COMMAND 5 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema PROCESSLIST TIME 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(7) select
-NULL information_schema PROCESSLIST STATE 7 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PROCESSLIST INFO 8 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS MATCH_OPTION 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UPDATE_RULE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS DELETE_RULE 9 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS TABLE_NAME 10 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS REFERENCED_TABLE_NAME 11 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES SPECIFIC_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema ROUTINES ROUTINE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_TYPE 5 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
-NULL information_schema ROUTINES DTD_IDENTIFIER 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_BODY 7 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema ROUTINES ROUTINE_DEFINITION 8 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema ROUTINES EXTERNAL_NAME 9 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES EXTERNAL_LANGUAGE 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES PARAMETER_STYLE 11 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema ROUTINES IS_DETERMINISTIC 12 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ROUTINES SQL_DATA_ACCESS 13 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES SQL_PATH 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES SECURITY_TYPE 15 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select
-NULL information_schema ROUTINES CREATED 16 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema ROUTINES LAST_ALTERED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema ROUTINES SQL_MODE 18 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema ROUTINES ROUTINE_COMMENT 19 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES DEFINER 20 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
-NULL information_schema SCHEMATA CATALOG_NAME 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema SCHEMATA SCHEMA_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA DEFAULT_COLLATION_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA SQL_PATH 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema SCHEMA_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema SCHEMA_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMA_PRIVILEGES IS_GRANTABLE 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema SESSION_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SESSION_STATUS VARIABLE_VALUE 2 0.0000000 NO decimal NULL NULL 22 7 NULL NULL decimal(22,7) select
-NULL information_schema SESSION_VARIABLES VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SESSION_VARIABLES VARIABLE_VALUE 2 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema STATISTICS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema STATISTICS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS NON_UNIQUE 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(1) select
-NULL information_schema STATISTICS INDEX_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS INDEX_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS SEQ_IN_INDEX 7 0 NO bigint NULL NULL 19 0 NULL NULL bigint(2) select
-NULL information_schema STATISTICS COLUMN_NAME 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS COLLATION 9 NULL YES varchar 1 3 NULL NULL utf8 utf8_general_ci varchar(1) select
-NULL information_schema STATISTICS CARDINALITY 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select
-NULL information_schema STATISTICS SUB_PART 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema STATISTICS PACKED 12 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema STATISTICS NULLABLE 13 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema STATISTICS INDEX_TYPE 14 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema STATISTICS COMMENT 15 NULL YES varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema TABLES TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
-NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS TABLE_SCHEMA 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS TABLE_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema TABLE_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLE_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES PRIVILEGE_TYPE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES IS_GRANTABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema TRIGGERS TRIGGER_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TRIGGERS TRIGGER_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS TRIGGER_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS EVENT_MANIPULATION 4 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select
-NULL information_schema TRIGGERS EVENT_OBJECT_CATALOG 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TRIGGERS EVENT_OBJECT_SCHEMA 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS EVENT_OBJECT_TABLE 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_ORDER 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema TRIGGERS ACTION_CONDITION 9 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS ACTION_STATEMENT 10 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS ACTION_ORIENTATION 11 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
-NULL information_schema TRIGGERS ACTION_TIMING 12 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_TABLE 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_TABLE 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_ROW 15 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_ROW 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema TRIGGERS CREATED 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TRIGGERS SQL_MODE 18 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS DEFINER 19 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema USER_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema USER_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema USER_PRIVILEGES PRIVILEGE_TYPE 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema USER_PRIVILEGES IS_GRANTABLE 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema VIEWS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema VIEWS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema VIEWS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema VIEWS VIEW_DEFINITION 4 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema VIEWS CHECK_OPTION 5 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema VIEWS IS_UPDATABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema VIEWS DEFINER 7 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
-NULL information_schema VIEWS SECURITY_TYPE 8 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select
-NULL test t1 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t1 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t1 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t1 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t1 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t1 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t10 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t10 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t10 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t10 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t10 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t10 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t11 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t11 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t11 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t11 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t11 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t11 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t2 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t2 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t2 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t2 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t2 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t2 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t3 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t3 f2 2 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t3 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t4 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t4 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t4 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t4 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t4 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t4 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t7 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t7 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t7 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t7 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t8 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t8 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t8 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t8 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t9 f1 1 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t9 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t9 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test tb1 f1 1 NULL YES char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
-NULL test tb1 f2 2 NULL YES char 1 1 NULL NULL latin1 latin1_bin char(1) select,insert,update,references
-NULL test tb1 f3 3 NULL YES char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
-NULL test tb1 f4 4 NULL YES tinytext 127 255 NULL NULL ucs2 ucs2_general_ci tinytext select,insert,update,references
-NULL test tb1 f5 5 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references
-NULL test tb1 f6 6 NULL YES mediumtext 16777215 16777215 NULL NULL latin1 latin1_swedish_ci mediumtext select,insert,update,references
-NULL test tb1 f7 7 NULL YES longtext 4294967295 4294967295 NULL NULL latin1 latin1_swedish_ci longtext select,insert,update,references
-NULL test tb1 f8 8 NULL YES tinyblob 255 255 NULL NULL NULL NULL tinyblob select,insert,update,references
-NULL test tb1 f9 9 NULL YES blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
-NULL test tb1 f10 10 NULL YES mediumblob 16777215 16777215 NULL NULL NULL NULL mediumblob select,insert,update,references
-NULL test tb1 f11 11 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references
-NULL test tb1 f12 12 NULL YES binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references
-NULL test tb1 f13 13 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references
-NULL test tb1 f14 14 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references
-NULL test tb1 f15 15 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb1 f16 16 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb1 f17 17 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references
-NULL test tb1 f18 18 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references
-NULL test tb1 f19 19 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb1 f20 20 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb1 f21 21 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references
-NULL test tb1 f22 22 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references
-NULL test tb1 f23 23 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb1 f24 24 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb1 f25 25 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test tb1 f26 26 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references
-NULL test tb1 f27 27 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb1 f28 28 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb1 f29 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references
-NULL test tb1 f30 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL test tb1 f31 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb1 f32 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb1 f33 33 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f34 34 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f35 35 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f36 36 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f37 37 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f38 38 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb1 f39 39 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f40 40 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb1 f41 41 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f42 42 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f43 43 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f44 44 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f45 45 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f46 46 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb1 f47 47 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f48 48 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb1 f49 49 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f50 50 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb1 f51 51 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f52 52 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb1 f53 53 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f54 54 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f55 55 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f56 56 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f57 57 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f58 58 99 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb2 f59 1 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb2 f60 2 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb2 f61 3 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f62 4 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f63 5 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f64 6 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f65 7 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb2 f66 8 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb2 f67 9 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb2 f68 10 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb2 f69 11 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f70 12 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb2 f71 13 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f72 14 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb2 f73 15 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb2 f74 16 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb2 f75 17 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f76 18 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f77 19 7.7 YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb2 f78 20 7.7 YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb2 f79 21 00000000000000000007.7 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f80 22 00000000000000000008.8 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f81 23 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f82 24 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f83 25 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f84 26 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f85 27 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f86 28 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f87 29 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f88 30 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f89 31 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f90 32 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f91 33 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f92 34 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f93 35 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f94 36 8.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb2 f95 37 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f96 38 8.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb2 f97 39 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f98 40 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f99 41 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f100 42 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f101 43 2000-01-01 NO date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test tb2 f102 44 00:00:20 NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references
-NULL test tb2 f103 45 0002-02-02 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL test tb2 f104 46 2000-12-31 23:59:59 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL test tb2 f105 47 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb2 f106 48 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb2 f107 49 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb2 f108 50 1enum NO enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references
-NULL test tb2 f109 51 1set NO set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references
-NULL test tb2 f110 52 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
-NULL test tb2 f111 53 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references
-NULL test tb2 f112 54 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
-NULL test tb2 f113 55 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
-NULL test tb2 f114 56 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
-NULL test tb2 f115 57 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references
-NULL test tb2 f116 58 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
-NULL test tb2 f117 59 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
-NULL test tb3 f118 1 a NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
-NULL test tb3 f119 2  NO char 1 1 NULL NULL latin1 latin1_bin char(1) select,insert,update,references
-NULL test tb3 f120 3  NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
-NULL test tb3 f121 4 NULL YES tinytext 255 255 NULL NULL latin1 latin1_swedish_ci tinytext select,insert,update,references
-NULL test tb3 f122 5 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references
-NULL test tb3 f123 6 NULL YES mediumtext 16777215 16777215 NULL NULL latin1 latin1_swedish_ci mediumtext select,insert,update,references
-NULL test tb3 f124 7 NULL YES longtext 2147483647 4294967295 NULL NULL ucs2 ucs2_general_ci longtext select,insert,update,references
-NULL test tb3 f125 8 NULL YES tinyblob 255 255 NULL NULL NULL NULL tinyblob select,insert,update,references
-NULL test tb3 f126 9 NULL YES blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
-NULL test tb3 f127 10 NULL YES mediumblob 16777215 16777215 NULL NULL NULL NULL mediumblob select,insert,update,references
-NULL test tb3 f128 11 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references
-NULL test tb3 f129 12  NO binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references
-NULL test tb3 f130 13 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references
-NULL test tb3 f131 14 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references
-NULL test tb3 f132 15 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb3 f133 16 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb3 f134 17 999 NO smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references
-NULL test tb3 f135 18 999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references
-NULL test tb3 f136 19 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb3 f137 20 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb3 f138 21 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references
-NULL test tb3 f139 22 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references
-NULL test tb3 f140 23 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb3 f141 24 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb3 f142 25 99999 NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test tb3 f143 26 99999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references
-NULL test tb3 f144 27 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb3 f145 28 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb3 f146 29 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references
-NULL test tb3 f147 30 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL test tb3 f148 31 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb3 f149 32 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb3 f150 33 1000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f151 34 999 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f152 35 0000001000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f153 36 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f154 37 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f155 38 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb3 f156 39 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f157 40 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb3 f158 41 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f159 42 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f160 43 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f161 44 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f162 45 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f163 46 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb3 f164 47 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f165 48 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb3 f166 49 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f167 50 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb3 f168 51 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f169 52 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb3 f170 53 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f171 54 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f172 55 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f173 56 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f174 57 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f175 58 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb4 f176 1 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb4 f177 2 9 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb4 f178 3 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f179 4 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f180 5 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f181 6 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f182 7 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb4 f183 8 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb4 f184 9 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb4 f185 10 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb4 f186 11 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f187 12 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb4 f188 13 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f189 14 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb4 f190 15 88.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb4 f191 16 88.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb4 f192 17 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f193 18 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f194 19 55.5 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb4 f195 20 55.5 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb4 f196 21 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f197 22 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f198 23 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f199 24 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f200 25 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f201 26 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f202 27 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f203 28 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f204 29 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f205 30 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f206 31 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f207 32 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f208 33 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f209 34 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f210 35 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f211 36 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb4 f212 37 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f213 38 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb4 f214 39 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f215 40 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f216 41 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f217 42 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f218 43 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test tb4 f219 44 NULL YES time NULL NULL NULL NULL NULL NULL time select,insert,update,references
-NULL test tb4 f220 45 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL test tb4 f221 46 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL test tb4 f222 47 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb4 f223 48 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb4 f224 49 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb4 f225 50 NULL YES enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references
-NULL test tb4 f226 51 NULL YES set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references
-NULL test tb4 f227 52 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
-NULL test tb4 f228 53 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references
-NULL test tb4 f229 54 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
-NULL test tb4 f230 55 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
-NULL test tb4 f231 56 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
-NULL test tb4 f232 57 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references
-NULL test tb4 f233 58 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
-NULL test tb4 f234 59 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
-NULL test tb4 f235 60 NULL YES char 255 510 NULL NULL ucs2 ucs2_general_ci char(255) select,insert,update,references
-NULL test tb4 f236 61 NULL YES char 60 60 NULL NULL latin1 latin1_swedish_ci char(60) select,insert,update,references
-NULL test tb4 f237 62 NULL YES char 255 255 NULL NULL latin1 latin1_bin char(255) select,insert,update,references
-NULL test tb4 f238 63 NULL YES varchar 0 0 NULL NULL latin1 latin1_bin varchar(0) select,insert,update,references
-NULL test tb4 f239 64 NULL YES varbinary 1000 1000 NULL NULL NULL NULL varbinary(1000) select,insert,update,references
-NULL test tb4 f240 65 NULL YES varchar 120 240 NULL NULL ucs2 ucs2_general_ci varchar(120) select,insert,update,references
-NULL test tb4 f241 66 NULL YES char 100 200 NULL NULL ucs2 ucs2_general_ci char(100) select,insert,update,references
-NULL test tb4 f242 67 NULL YES bit NULL NULL 30 NULL NULL NULL bit(30) select,insert,update,references
-connect(localhost,user_2,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.columns
-ORDER BY table_schema, table_name, ordinal_position;
-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
-NULL db_datadict t_6_406002 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) insert
-NULL db_datadict t_6_406002 f2 2 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text insert
-NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema CHARACTER_SETS DESCRIPTION 3 NO varchar 60 180 NULL NULL utf8 utf8_general_ci varchar(60) select
-NULL information_schema CHARACTER_SETS MAXLEN 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema COLLATIONS COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATIONS CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATIONS ID 3 0 NO bigint NULL NULL 19 0 NULL NULL bigint(11) select
-NULL information_schema COLLATIONS IS_DEFAULT 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLLATIONS IS_COMPILED 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLLATIONS SORTLEN 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLUMN_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLUMN_TYPE 15 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema COLUMNS COLUMN_KEY 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLUMNS EXTRA 17 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema COLUMNS PRIVILEGES 18 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema COLUMNS COLUMN_COMMENT 19 NO varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
-NULL information_schema COLUMN_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES COLUMN_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES PRIVILEGE_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES IS_GRANTABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ENGINES ENGINE 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ENGINES SUPPORT 2 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema ENGINES COMMENT 3 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema ENGINES TRANSACTIONS 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ENGINES XA 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ENGINES SAVEPOINTS 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema EVENTS EVENT_CATALOG 1 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS EVENT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS EVENT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS DEFINER 4 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
-NULL information_schema EVENTS TIME_ZONE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS EVENT_BODY 6 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema EVENTS EVENT_DEFINITION 7 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema EVENTS EVENT_TYPE 8 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
-NULL information_schema EVENTS EXECUTE_AT 9 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS INTERVAL_VALUE 10 NULL YES varchar 256 768 NULL NULL utf8 utf8_general_ci varchar(256) select
-NULL information_schema EVENTS INTERVAL_FIELD 11 NULL YES varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select
-NULL information_schema EVENTS SQL_MODE 12 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema EVENTS STARTS 13 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS ENDS 14 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS STATUS 15 NO varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select
-NULL information_schema EVENTS ON_COMPLETION 16 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema EVENTS CREATED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS LAST_ALTERED 18 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS LAST_EXECUTED 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS EVENT_COMMENT 20 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS ORIGINATOR 21 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select
-NULL information_schema FILES FILE_ID 1 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES FILE_NAME 2 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES FILE_TYPE 3 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema FILES TABLESPACE_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES TABLE_CATALOG 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES TABLE_SCHEMA 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES TABLE_NAME 7 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES LOGFILE_GROUP_NAME 8 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES LOGFILE_GROUP_NUMBER 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES ENGINE 10 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES FULLTEXT_KEYS 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES DELETED_ROWS 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES UPDATE_COUNT 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES FREE_EXTENTS 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES TOTAL_EXTENTS 15 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES EXTENT_SIZE 16 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES INITIAL_SIZE 17 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES MAXIMUM_SIZE 18 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES AUTOEXTEND_SIZE 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES CREATION_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES LAST_UPDATE_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES LAST_ACCESS_TIME 22 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES RECOVER_TIME 23 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES TRANSACTION_COUNTER 24 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES VERSION 25 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES ROW_FORMAT 26 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema FILES TABLE_ROWS 27 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES AVG_ROW_LENGTH 28 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES DATA_LENGTH 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES MAX_DATA_LENGTH 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES INDEX_LENGTH 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES DATA_FREE 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES CREATE_TIME 33 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES UPDATE_TIME 34 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES CHECK_TIME 35 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES CHECKSUM 36 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES STATUS 37 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema FILES EXTRA 38 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
-NULL information_schema GLOBAL_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema GLOBAL_STATUS VARIABLE_VALUE 2 0.0000000 NO decimal NULL NULL 22 7 NULL NULL decimal(22,7) select
-NULL information_schema GLOBAL_VARIABLES VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema GLOBAL_VARIABLES VARIABLE_VALUE 2 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE COLUMN_NAME 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE ORDINAL_POSITION 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select
-NULL information_schema KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(10) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_NAME 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME 12 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema PARTITIONS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS PARTITION_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS SUBPARTITION_NAME 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION 7 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS PARTITION_METHOD 8 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema PARTITIONS SUBPARTITION_METHOD 9 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema PARTITIONS PARTITION_EXPRESSION 10 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PARTITIONS SUBPARTITION_EXPRESSION 11 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PARTITIONS PARTITION_DESCRIPTION 12 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PARTITIONS TABLE_ROWS 13 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS AVG_ROW_LENGTH 14 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS DATA_LENGTH 15 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS MAX_DATA_LENGTH 16 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS INDEX_LENGTH 17 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS DATA_FREE 18 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS CREATE_TIME 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema PARTITIONS UPDATE_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema PARTITIONS CHECK_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema PARTITIONS CHECKSUM 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS PARTITION_COMMENT 23 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema PARTITIONS NODEGROUP 24 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema PARTITIONS TABLESPACE_NAME 25 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_VERSION 2 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema PLUGINS PLUGIN_STATUS 3 NO varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema PLUGINS PLUGIN_TYPE 4 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema PLUGINS PLUGIN_TYPE_VERSION 5 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema PLUGINS PLUGIN_LIBRARY 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_LIBRARY_VERSION 7 NULL YES varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema PLUGINS PLUGIN_AUTHOR 8 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_DESCRIPTION 9 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PLUGINS PLUGIN_LICENSE 10 NULL YES varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema PROCESSLIST ID 1 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema PROCESSLIST USER 2 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema PROCESSLIST HOST 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PROCESSLIST DB 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PROCESSLIST COMMAND 5 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema PROCESSLIST TIME 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(7) select
-NULL information_schema PROCESSLIST STATE 7 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PROCESSLIST INFO 8 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS MATCH_OPTION 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UPDATE_RULE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS DELETE_RULE 9 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS TABLE_NAME 10 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS REFERENCED_TABLE_NAME 11 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES SPECIFIC_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema ROUTINES ROUTINE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_TYPE 5 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
-NULL information_schema ROUTINES DTD_IDENTIFIER 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_BODY 7 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema ROUTINES ROUTINE_DEFINITION 8 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema ROUTINES EXTERNAL_NAME 9 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES EXTERNAL_LANGUAGE 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES PARAMETER_STYLE 11 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema ROUTINES IS_DETERMINISTIC 12 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ROUTINES SQL_DATA_ACCESS 13 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES SQL_PATH 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES SECURITY_TYPE 15 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select
-NULL information_schema ROUTINES CREATED 16 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema ROUTINES LAST_ALTERED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema ROUTINES SQL_MODE 18 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema ROUTINES ROUTINE_COMMENT 19 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES DEFINER 20 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
-NULL information_schema SCHEMATA CATALOG_NAME 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema SCHEMATA SCHEMA_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA DEFAULT_COLLATION_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA SQL_PATH 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema SCHEMA_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema SCHEMA_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMA_PRIVILEGES IS_GRANTABLE 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema SESSION_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SESSION_STATUS VARIABLE_VALUE 2 0.0000000 NO decimal NULL NULL 22 7 NULL NULL decimal(22,7) select
-NULL information_schema SESSION_VARIABLES VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SESSION_VARIABLES VARIABLE_VALUE 2 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema STATISTICS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema STATISTICS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS NON_UNIQUE 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(1) select
-NULL information_schema STATISTICS INDEX_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS INDEX_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS SEQ_IN_INDEX 7 0 NO bigint NULL NULL 19 0 NULL NULL bigint(2) select
-NULL information_schema STATISTICS COLUMN_NAME 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS COLLATION 9 NULL YES varchar 1 3 NULL NULL utf8 utf8_general_ci varchar(1) select
-NULL information_schema STATISTICS CARDINALITY 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select
-NULL information_schema STATISTICS SUB_PART 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema STATISTICS PACKED 12 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema STATISTICS NULLABLE 13 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema STATISTICS INDEX_TYPE 14 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema STATISTICS COMMENT 15 NULL YES varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema TABLES TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
-NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS TABLE_SCHEMA 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS TABLE_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema TABLE_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLE_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES PRIVILEGE_TYPE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES IS_GRANTABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema TRIGGERS TRIGGER_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TRIGGERS TRIGGER_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS TRIGGER_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS EVENT_MANIPULATION 4 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select
-NULL information_schema TRIGGERS EVENT_OBJECT_CATALOG 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TRIGGERS EVENT_OBJECT_SCHEMA 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS EVENT_OBJECT_TABLE 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_ORDER 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema TRIGGERS ACTION_CONDITION 9 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS ACTION_STATEMENT 10 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS ACTION_ORIENTATION 11 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
-NULL information_schema TRIGGERS ACTION_TIMING 12 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_TABLE 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_TABLE 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_ROW 15 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_ROW 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema TRIGGERS CREATED 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TRIGGERS SQL_MODE 18 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS DEFINER 19 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema USER_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema USER_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema USER_PRIVILEGES PRIVILEGE_TYPE 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema USER_PRIVILEGES IS_GRANTABLE 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema VIEWS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema VIEWS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema VIEWS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema VIEWS VIEW_DEFINITION 4 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema VIEWS CHECK_OPTION 5 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema VIEWS IS_UPDATABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema VIEWS DEFINER 7 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
-NULL information_schema VIEWS SECURITY_TYPE 8 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select
-NULL test t1 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t1 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t1 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t1 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t1 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t1 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t10 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t10 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t10 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t10 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t10 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t10 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t11 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t11 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t11 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t11 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t11 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t11 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t2 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t2 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t2 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t2 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t2 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t2 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t3 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t3 f2 2 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t3 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t4 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t4 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t4 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t4 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t4 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t4 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t7 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t7 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t7 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t7 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t8 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t8 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t8 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t8 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t9 f1 1 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t9 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t9 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test tb1 f1 1 NULL YES char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
-NULL test tb1 f2 2 NULL YES char 1 1 NULL NULL latin1 latin1_bin char(1) select,insert,update,references
-NULL test tb1 f3 3 NULL YES char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
-NULL test tb1 f4 4 NULL YES tinytext 127 255 NULL NULL ucs2 ucs2_general_ci tinytext select,insert,update,references
-NULL test tb1 f5 5 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references
-NULL test tb1 f6 6 NULL YES mediumtext 16777215 16777215 NULL NULL latin1 latin1_swedish_ci mediumtext select,insert,update,references
-NULL test tb1 f7 7 NULL YES longtext 4294967295 4294967295 NULL NULL latin1 latin1_swedish_ci longtext select,insert,update,references
-NULL test tb1 f8 8 NULL YES tinyblob 255 255 NULL NULL NULL NULL tinyblob select,insert,update,references
-NULL test tb1 f9 9 NULL YES blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
-NULL test tb1 f10 10 NULL YES mediumblob 16777215 16777215 NULL NULL NULL NULL mediumblob select,insert,update,references
-NULL test tb1 f11 11 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references
-NULL test tb1 f12 12 NULL YES binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references
-NULL test tb1 f13 13 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references
-NULL test tb1 f14 14 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references
-NULL test tb1 f15 15 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb1 f16 16 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb1 f17 17 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references
-NULL test tb1 f18 18 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references
-NULL test tb1 f19 19 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb1 f20 20 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb1 f21 21 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references
-NULL test tb1 f22 22 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references
-NULL test tb1 f23 23 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb1 f24 24 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb1 f25 25 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test tb1 f26 26 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references
-NULL test tb1 f27 27 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb1 f28 28 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb1 f29 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references
-NULL test tb1 f30 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL test tb1 f31 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb1 f32 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb1 f33 33 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f34 34 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f35 35 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f36 36 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f37 37 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f38 38 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb1 f39 39 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f40 40 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb1 f41 41 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f42 42 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f43 43 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f44 44 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f45 45 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f46 46 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb1 f47 47 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f48 48 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb1 f49 49 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f50 50 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb1 f51 51 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f52 52 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb1 f53 53 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f54 54 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f55 55 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f56 56 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f57 57 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f58 58 99 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb2 f59 1 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb2 f60 2 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb2 f61 3 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f62 4 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f63 5 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f64 6 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f65 7 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb2 f66 8 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb2 f67 9 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb2 f68 10 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb2 f69 11 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f70 12 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb2 f71 13 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f72 14 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb2 f73 15 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb2 f74 16 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb2 f75 17 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f76 18 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f77 19 7.7 YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb2 f78 20 7.7 YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb2 f79 21 00000000000000000007.7 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f80 22 00000000000000000008.8 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f81 23 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f82 24 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f83 25 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f84 26 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f85 27 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f86 28 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f87 29 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f88 30 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f89 31 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f90 32 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f91 33 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f92 34 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f93 35 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f94 36 8.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb2 f95 37 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f96 38 8.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb2 f97 39 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f98 40 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f99 41 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f100 42 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f101 43 2000-01-01 NO date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test tb2 f102 44 00:00:20 NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references
-NULL test tb2 f103 45 0002-02-02 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL test tb2 f104 46 2000-12-31 23:59:59 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL test tb2 f105 47 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb2 f106 48 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb2 f107 49 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb2 f108 50 1enum NO enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references
-NULL test tb2 f109 51 1set NO set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references
-NULL test tb2 f110 52 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
-NULL test tb2 f111 53 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references
-NULL test tb2 f112 54 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
-NULL test tb2 f113 55 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
-NULL test tb2 f114 56 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
-NULL test tb2 f115 57 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references
-NULL test tb2 f116 58 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
-NULL test tb2 f117 59 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
-NULL test tb3 f118 1 a NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
-NULL test tb3 f119 2  NO char 1 1 NULL NULL latin1 latin1_bin char(1) select,insert,update,references
-NULL test tb3 f120 3  NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
-NULL test tb3 f121 4 NULL YES tinytext 255 255 NULL NULL latin1 latin1_swedish_ci tinytext select,insert,update,references
-NULL test tb3 f122 5 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references
-NULL test tb3 f123 6 NULL YES mediumtext 16777215 16777215 NULL NULL latin1 latin1_swedish_ci mediumtext select,insert,update,references
-NULL test tb3 f124 7 NULL YES longtext 2147483647 4294967295 NULL NULL ucs2 ucs2_general_ci longtext select,insert,update,references
-NULL test tb3 f125 8 NULL YES tinyblob 255 255 NULL NULL NULL NULL tinyblob select,insert,update,references
-NULL test tb3 f126 9 NULL YES blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
-NULL test tb3 f127 10 NULL YES mediumblob 16777215 16777215 NULL NULL NULL NULL mediumblob select,insert,update,references
-NULL test tb3 f128 11 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references
-NULL test tb3 f129 12  NO binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references
-NULL test tb3 f130 13 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references
-NULL test tb3 f131 14 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references
-NULL test tb3 f132 15 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb3 f133 16 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb3 f134 17 999 NO smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references
-NULL test tb3 f135 18 999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references
-NULL test tb3 f136 19 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb3 f137 20 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb3 f138 21 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references
-NULL test tb3 f139 22 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references
-NULL test tb3 f140 23 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb3 f141 24 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb3 f142 25 99999 NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test tb3 f143 26 99999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references
-NULL test tb3 f144 27 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb3 f145 28 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb3 f146 29 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references
-NULL test tb3 f147 30 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL test tb3 f148 31 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb3 f149 32 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb3 f150 33 1000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f151 34 999 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f152 35 0000001000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f153 36 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f154 37 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f155 38 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb3 f156 39 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f157 40 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb3 f158 41 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f159 42 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f160 43 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f161 44 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f162 45 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f163 46 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb3 f164 47 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f165 48 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb3 f166 49 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f167 50 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb3 f168 51 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f169 52 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb3 f170 53 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f171 54 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f172 55 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f173 56 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f174 57 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f175 58 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb4 f176 1 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb4 f177 2 9 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb4 f178 3 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f179 4 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f180 5 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f181 6 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f182 7 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb4 f183 8 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb4 f184 9 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb4 f185 10 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb4 f186 11 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f187 12 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb4 f188 13 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f189 14 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb4 f190 15 88.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb4 f191 16 88.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb4 f192 17 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f193 18 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f194 19 55.5 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb4 f195 20 55.5 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb4 f196 21 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f197 22 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f198 23 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f199 24 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f200 25 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f201 26 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f202 27 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f203 28 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f204 29 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f205 30 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f206 31 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f207 32 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f208 33 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f209 34 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f210 35 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f211 36 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb4 f212 37 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f213 38 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb4 f214 39 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f215 40 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f216 41 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f217 42 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f218 43 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test tb4 f219 44 NULL YES time NULL NULL NULL NULL NULL NULL time select,insert,update,references
-NULL test tb4 f220 45 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL test tb4 f221 46 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL test tb4 f222 47 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb4 f223 48 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb4 f224 49 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb4 f225 50 NULL YES enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references
-NULL test tb4 f226 51 NULL YES set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references
-NULL test tb4 f227 52 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
-NULL test tb4 f228 53 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references
-NULL test tb4 f229 54 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
-NULL test tb4 f230 55 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
-NULL test tb4 f231 56 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
-NULL test tb4 f232 57 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references
-NULL test tb4 f233 58 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
-NULL test tb4 f234 59 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
-NULL test tb4 f235 60 NULL YES char 255 510 NULL NULL ucs2 ucs2_general_ci char(255) select,insert,update,references
-NULL test tb4 f236 61 NULL YES char 60 60 NULL NULL latin1 latin1_swedish_ci char(60) select,insert,update,references
-NULL test tb4 f237 62 NULL YES char 255 255 NULL NULL latin1 latin1_bin char(255) select,insert,update,references
-NULL test tb4 f238 63 NULL YES varchar 0 0 NULL NULL latin1 latin1_bin varchar(0) select,insert,update,references
-NULL test tb4 f239 64 NULL YES varbinary 1000 1000 NULL NULL NULL NULL varbinary(1000) select,insert,update,references
-NULL test tb4 f240 65 NULL YES varchar 120 240 NULL NULL ucs2 ucs2_general_ci varchar(120) select,insert,update,references
-NULL test tb4 f241 66 NULL YES char 100 200 NULL NULL ucs2 ucs2_general_ci char(100) select,insert,update,references
-NULL test tb4 f242 67 NULL YES bit NULL NULL 30 NULL NULL NULL bit(30) select,insert,update,references
-
-root@localhost db_datadict
-
-Show the quotient of COL and CML for all COLUMNS
-------------------------------------------------
-SELECT DISTINCT
-CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML,
-DATA_TYPE,
-CHARACTER_SET_NAME,
-COLLATION_NAME
-FROM information_schema.columns
-WHERE 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 binary NULL NULL
-1.0000 blob NULL NULL
-1.0000 longblob NULL NULL
-1.0000 mediumblob NULL NULL
-1.0000 tinyblob NULL NULL
-1.0000 varbinary NULL NULL
-1.0000 char latin1 latin1_bin
-1.0000 char latin1 latin1_swedish_ci
-1.0000 enum latin1 latin1_swedish_ci
-1.0000 longtext latin1 latin1_swedish_ci
-1.0000 mediumtext latin1 latin1_swedish_ci
-1.0000 set latin1 latin1_swedish_ci
-1.0000 text latin1 latin1_swedish_ci
-1.0000 tinytext latin1 latin1_swedish_ci
-1.0000 varchar latin1 latin1_swedish_ci
-1.0000 longtext utf8 utf8_general_ci
-1.0000 mediumtext utf8 utf8_general_ci
-1.0000 text utf8 utf8_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 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 varchar ucs2 ucs2_general_ci
-2.0079 tinytext ucs2 ucs2_general_ci
-3.0000 char utf8 utf8_bin
-3.0000 enum utf8 utf8_bin
-3.0000 char utf8 utf8_general_ci
-3.0000 enum utf8 utf8_general_ci
-3.0000 set utf8 utf8_general_ci
-3.0000 varchar utf8 utf8_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 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 bigint NULL NULL
-NULL bit NULL NULL
-NULL date NULL NULL
-NULL datetime NULL NULL
-NULL decimal NULL NULL
-NULL double NULL NULL
-NULL double unsigned NULL NULL
-NULL double unsigned zerofill NULL NULL
-NULL float NULL NULL
-NULL float unsigned NULL NULL
-NULL float unsigned zerofill NULL NULL
-NULL int NULL NULL
-NULL mediumint NULL NULL
-NULL smallint NULL NULL
-NULL time NULL NULL
-NULL timestamp NULL NULL
-NULL tinyint NULL NULL
-NULL year NULL NULL
-NULL varchar latin1 latin1_bin
---> 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
-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 db_datadict t_6_406001 f1 char 10 10 latin1 latin1_swedish_ci char(10)
-1.0000 db_datadict t_6_406001 f2 text 65535 65535 latin1 latin1_swedish_ci text
-NULL db_datadict t_6_406001 f3 date NULL NULL NULL NULL date
-NULL db_datadict t_6_406001 f4 int NULL NULL NULL NULL int(11)
-1.0000 db_datadict t_6_406002 f1 char 10 10 latin1 latin1_swedish_ci char(10)
-1.0000 db_datadict t_6_406002 f2 text 65535 65535 latin1 latin1_swedish_ci text
-NULL db_datadict t_6_406002 f3 date NULL NULL NULL NULL date
-NULL db_datadict t_6_406002 f4 int NULL NULL NULL NULL int(11)
-3.0000 information_schema CHARACTER_SETS CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema CHARACTER_SETS DESCRIPTION varchar 60 180 utf8 utf8_general_ci varchar(60)
-NULL information_schema CHARACTER_SETS MAXLEN bigint NULL NULL NULL NULL bigint(3)
-3.0000 information_schema COLLATIONS COLLATION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema COLLATIONS CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-NULL information_schema COLLATIONS ID bigint NULL NULL NULL NULL bigint(11)
-3.0000 information_schema COLLATIONS IS_DEFAULT varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema COLLATIONS IS_COMPILED varchar 3 9 utf8 utf8_general_ci varchar(3)
-NULL information_schema COLLATIONS SORTLEN bigint NULL NULL NULL NULL bigint(3)
-3.0000 information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema COLUMNS TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema COLUMNS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema COLUMNS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema COLUMNS COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-NULL information_schema COLUMNS ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(21) unsigned
-1.0000 information_schema COLUMNS COLUMN_DEFAULT longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema COLUMNS IS_NULLABLE varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema COLUMNS DATA_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
-NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema COLUMNS NUMERIC_PRECISION bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema COLUMNS NUMERIC_SCALE bigint NULL NULL NULL NULL bigint(21) unsigned
-3.0000 information_schema COLUMNS CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema COLUMNS COLLATION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-1.0000 information_schema COLUMNS COLUMN_TYPE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema COLUMNS COLUMN_KEY varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema COLUMNS EXTRA varchar 20 60 utf8 utf8_general_ci varchar(20)
-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 COLUMN_PRIVILEGES GRANTEE varchar 81 243 utf8 utf8_general_ci varchar(81)
-3.0000 information_schema COLUMN_PRIVILEGES TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema COLUMN_PRIVILEGES TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema COLUMN_PRIVILEGES TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema COLUMN_PRIVILEGES COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema COLUMN_PRIVILEGES PRIVILEGE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema COLUMN_PRIVILEGES IS_GRANTABLE varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema ENGINES ENGINE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ENGINES SUPPORT varchar 8 24 utf8 utf8_general_ci varchar(8)
-3.0000 information_schema ENGINES COMMENT varchar 80 240 utf8 utf8_general_ci varchar(80)
-3.0000 information_schema ENGINES TRANSACTIONS varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema ENGINES XA varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema ENGINES SAVEPOINTS varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema EVENTS EVENT_CATALOG varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema EVENTS EVENT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema EVENTS EVENT_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema EVENTS DEFINER varchar 77 231 utf8 utf8_general_ci varchar(77)
-3.0000 information_schema EVENTS TIME_ZONE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema EVENTS EVENT_BODY varchar 8 24 utf8 utf8_general_ci varchar(8)
-1.0000 information_schema EVENTS EVENT_DEFINITION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema EVENTS EVENT_TYPE varchar 9 27 utf8 utf8_general_ci varchar(9)
-NULL information_schema EVENTS EXECUTE_AT datetime NULL NULL NULL NULL datetime
-3.0000 information_schema EVENTS INTERVAL_VALUE varchar 256 768 utf8 utf8_general_ci varchar(256)
-3.0000 information_schema EVENTS INTERVAL_FIELD varchar 18 54 utf8 utf8_general_ci varchar(18)
-1.0000 information_schema EVENTS SQL_MODE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-NULL information_schema EVENTS STARTS datetime NULL NULL NULL NULL datetime
-NULL information_schema EVENTS ENDS datetime NULL NULL NULL NULL datetime
-3.0000 information_schema EVENTS STATUS varchar 18 54 utf8 utf8_general_ci varchar(18)
-3.0000 information_schema EVENTS ON_COMPLETION varchar 12 36 utf8 utf8_general_ci varchar(12)
-NULL information_schema EVENTS CREATED datetime NULL NULL NULL NULL datetime
-NULL information_schema EVENTS LAST_ALTERED datetime NULL NULL NULL NULL datetime
-NULL information_schema EVENTS LAST_EXECUTED datetime NULL NULL NULL NULL datetime
-3.0000 information_schema EVENTS EVENT_COMMENT varchar 64 192 utf8 utf8_general_ci varchar(64)
-NULL information_schema EVENTS ORIGINATOR bigint NULL NULL NULL NULL bigint(10)
-NULL information_schema FILES FILE_ID bigint NULL NULL NULL NULL bigint(4)
-3.0000 information_schema FILES FILE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema FILES FILE_TYPE varchar 20 60 utf8 utf8_general_ci varchar(20)
-3.0000 information_schema FILES TABLESPACE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema FILES TABLE_CATALOG varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema FILES TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema FILES TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema FILES LOGFILE_GROUP_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-NULL information_schema FILES LOGFILE_GROUP_NUMBER bigint NULL NULL NULL NULL bigint(4)
-3.0000 information_schema FILES ENGINE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema FILES FULLTEXT_KEYS varchar 64 192 utf8 utf8_general_ci varchar(64)
-NULL information_schema FILES DELETED_ROWS bigint NULL NULL NULL NULL bigint(4)
-NULL information_schema FILES UPDATE_COUNT bigint NULL NULL NULL NULL bigint(4)
-NULL information_schema FILES FREE_EXTENTS bigint NULL NULL NULL NULL bigint(4)
-NULL information_schema FILES TOTAL_EXTENTS bigint NULL NULL NULL NULL bigint(4)
-NULL information_schema FILES EXTENT_SIZE bigint NULL NULL NULL NULL bigint(4)
-NULL information_schema FILES INITIAL_SIZE bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema FILES MAXIMUM_SIZE bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema FILES AUTOEXTEND_SIZE bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema FILES CREATION_TIME datetime NULL NULL NULL NULL datetime
-NULL information_schema FILES LAST_UPDATE_TIME datetime NULL NULL NULL NULL datetime
-NULL information_schema FILES LAST_ACCESS_TIME datetime NULL NULL NULL NULL datetime
-NULL information_schema FILES RECOVER_TIME bigint NULL NULL NULL NULL bigint(4)
-NULL information_schema FILES TRANSACTION_COUNTER bigint NULL NULL NULL NULL bigint(4)
-NULL information_schema FILES VERSION bigint NULL NULL NULL NULL bigint(21) unsigned
-3.0000 information_schema FILES ROW_FORMAT varchar 10 30 utf8 utf8_general_ci varchar(10)
-NULL information_schema FILES TABLE_ROWS bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema FILES AVG_ROW_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema FILES DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema FILES MAX_DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema FILES INDEX_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema FILES DATA_FREE bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema FILES CREATE_TIME datetime NULL NULL NULL NULL datetime
-NULL information_schema FILES UPDATE_TIME datetime NULL NULL NULL NULL datetime
-NULL information_schema FILES CHECK_TIME datetime NULL NULL NULL NULL datetime
-NULL information_schema FILES CHECKSUM bigint NULL NULL NULL NULL bigint(21) unsigned
-3.0000 information_schema FILES STATUS varchar 20 60 utf8 utf8_general_ci varchar(20)
-3.0000 information_schema FILES EXTRA varchar 255 765 utf8 utf8_general_ci varchar(255)
-3.0000 information_schema GLOBAL_STATUS VARIABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-NULL information_schema GLOBAL_STATUS VARIABLE_VALUE decimal NULL NULL NULL NULL decimal(22,7)
-3.0000 information_schema GLOBAL_VARIABLES VARIABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-1.0000 information_schema GLOBAL_VARIABLES VARIABLE_VALUE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema KEY_COLUMN_USAGE CONSTRAINT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema KEY_COLUMN_USAGE TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema KEY_COLUMN_USAGE TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema KEY_COLUMN_USAGE TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema KEY_COLUMN_USAGE COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-NULL information_schema KEY_COLUMN_USAGE ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(10)
-NULL information_schema KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT bigint NULL NULL NULL NULL bigint(10)
-3.0000 information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema PARTITIONS TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema PARTITIONS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema PARTITIONS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema PARTITIONS PARTITION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema PARTITIONS SUBPARTITION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(21) unsigned
-3.0000 information_schema PARTITIONS PARTITION_METHOD varchar 12 36 utf8 utf8_general_ci varchar(12)
-3.0000 information_schema PARTITIONS SUBPARTITION_METHOD varchar 12 36 utf8 utf8_general_ci varchar(12)
-1.0000 information_schema PARTITIONS PARTITION_EXPRESSION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-1.0000 information_schema PARTITIONS SUBPARTITION_EXPRESSION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-1.0000 information_schema PARTITIONS PARTITION_DESCRIPTION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-NULL information_schema PARTITIONS TABLE_ROWS bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema PARTITIONS AVG_ROW_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema PARTITIONS DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema PARTITIONS MAX_DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema PARTITIONS INDEX_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema PARTITIONS DATA_FREE bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema PARTITIONS CREATE_TIME datetime NULL NULL NULL NULL datetime
-NULL information_schema PARTITIONS UPDATE_TIME datetime NULL NULL NULL NULL datetime
-NULL information_schema PARTITIONS CHECK_TIME datetime NULL NULL NULL NULL datetime
-NULL information_schema PARTITIONS CHECKSUM bigint NULL NULL NULL NULL bigint(21) unsigned
-3.0000 information_schema PARTITIONS PARTITION_COMMENT varchar 80 240 utf8 utf8_general_ci varchar(80)
-3.0000 information_schema PARTITIONS NODEGROUP varchar 12 36 utf8 utf8_general_ci varchar(12)
-3.0000 information_schema PARTITIONS TABLESPACE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema PLUGINS PLUGIN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema PLUGINS PLUGIN_VERSION varchar 20 60 utf8 utf8_general_ci varchar(20)
-3.0000 information_schema PLUGINS PLUGIN_STATUS varchar 10 30 utf8 utf8_general_ci varchar(10)
-3.0000 information_schema PLUGINS PLUGIN_TYPE varchar 80 240 utf8 utf8_general_ci varchar(80)
-3.0000 information_schema PLUGINS PLUGIN_TYPE_VERSION varchar 20 60 utf8 utf8_general_ci varchar(20)
-3.0000 information_schema PLUGINS PLUGIN_LIBRARY varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema PLUGINS PLUGIN_LIBRARY_VERSION varchar 20 60 utf8 utf8_general_ci varchar(20)
-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)
-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)
-3.0000 information_schema PROCESSLIST DB varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema PROCESSLIST COMMAND varchar 16 48 utf8 utf8_general_ci varchar(16)
-NULL information_schema PROCESSLIST TIME bigint NULL NULL NULL NULL bigint(7)
-3.0000 information_schema PROCESSLIST STATE varchar 64 192 utf8 utf8_general_ci varchar(64)
-1.0000 information_schema PROCESSLIST INFO longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema REFERENTIAL_CONSTRAINTS MATCH_OPTION varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema REFERENTIAL_CONSTRAINTS UPDATE_RULE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema REFERENTIAL_CONSTRAINTS DELETE_RULE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema REFERENTIAL_CONSTRAINTS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema REFERENTIAL_CONSTRAINTS REFERENCED_TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ROUTINES SPECIFIC_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ROUTINES ROUTINE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema ROUTINES ROUTINE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ROUTINES ROUTINE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ROUTINES ROUTINE_TYPE varchar 9 27 utf8 utf8_general_ci varchar(9)
-3.0000 information_schema ROUTINES DTD_IDENTIFIER varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ROUTINES ROUTINE_BODY varchar 8 24 utf8 utf8_general_ci varchar(8)
-1.0000 information_schema ROUTINES ROUTINE_DEFINITION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema ROUTINES EXTERNAL_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ROUTINES EXTERNAL_LANGUAGE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ROUTINES PARAMETER_STYLE varchar 8 24 utf8 utf8_general_ci varchar(8)
-3.0000 information_schema ROUTINES IS_DETERMINISTIC varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema ROUTINES SQL_DATA_ACCESS varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ROUTINES SQL_PATH varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ROUTINES SECURITY_TYPE varchar 7 21 utf8 utf8_general_ci varchar(7)
-NULL information_schema ROUTINES CREATED datetime NULL NULL NULL NULL datetime
-NULL information_schema ROUTINES LAST_ALTERED datetime NULL NULL NULL NULL datetime
-1.0000 information_schema ROUTINES SQL_MODE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema ROUTINES ROUTINE_COMMENT varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ROUTINES DEFINER varchar 77 231 utf8 utf8_general_ci varchar(77)
-3.0000 information_schema SCHEMATA CATALOG_NAME varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema SCHEMATA SCHEMA_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema SCHEMATA DEFAULT_COLLATION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema SCHEMATA SQL_PATH varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema SCHEMA_PRIVILEGES GRANTEE varchar 81 243 utf8 utf8_general_ci varchar(81)
-3.0000 information_schema SCHEMA_PRIVILEGES TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema SCHEMA_PRIVILEGES IS_GRANTABLE varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema SESSION_STATUS VARIABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-NULL information_schema SESSION_STATUS VARIABLE_VALUE decimal NULL NULL NULL NULL decimal(22,7)
-3.0000 information_schema SESSION_VARIABLES VARIABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-1.0000 information_schema SESSION_VARIABLES VARIABLE_VALUE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema STATISTICS TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema STATISTICS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema STATISTICS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-NULL information_schema STATISTICS NON_UNIQUE bigint NULL NULL NULL NULL bigint(1)
-3.0000 information_schema STATISTICS INDEX_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema STATISTICS INDEX_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-NULL information_schema STATISTICS SEQ_IN_INDEX bigint NULL NULL NULL NULL bigint(2)
-3.0000 information_schema STATISTICS COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema STATISTICS COLLATION varchar 1 3 utf8 utf8_general_ci varchar(1)
-NULL information_schema STATISTICS CARDINALITY bigint NULL NULL NULL NULL bigint(21)
-NULL information_schema STATISTICS SUB_PART bigint NULL NULL NULL NULL bigint(3)
-3.0000 information_schema STATISTICS PACKED varchar 10 30 utf8 utf8_general_ci varchar(10)
-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 TABLES TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-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)
-3.0000 information_schema TABLES TABLE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TABLES ENGINE varchar 64 192 utf8 utf8_general_ci varchar(64)
-NULL information_schema TABLES VERSION bigint NULL NULL NULL NULL bigint(21) unsigned
-3.0000 information_schema TABLES ROW_FORMAT varchar 10 30 utf8 utf8_general_ci varchar(10)
-NULL information_schema TABLES TABLE_ROWS bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema TABLES AVG_ROW_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema TABLES DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema TABLES MAX_DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema TABLES INDEX_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema TABLES DATA_FREE bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema TABLES AUTO_INCREMENT bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema TABLES CREATE_TIME datetime NULL NULL NULL NULL datetime
-NULL information_schema TABLES UPDATE_TIME datetime NULL NULL NULL NULL datetime
-NULL information_schema TABLES CHECK_TIME datetime NULL NULL NULL NULL datetime
-3.0000 information_schema TABLES TABLE_COLLATION varchar 64 192 utf8 utf8_general_ci varchar(64)
-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 TABLE_CONSTRAINTS CONSTRAINT_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema TABLE_CONSTRAINTS CONSTRAINT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TABLE_CONSTRAINTS CONSTRAINT_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TABLE_CONSTRAINTS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TABLE_CONSTRAINTS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TABLE_CONSTRAINTS CONSTRAINT_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TABLE_PRIVILEGES GRANTEE varchar 81 243 utf8 utf8_general_ci varchar(81)
-3.0000 information_schema TABLE_PRIVILEGES TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema TABLE_PRIVILEGES TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TABLE_PRIVILEGES TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TABLE_PRIVILEGES PRIVILEGE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TABLE_PRIVILEGES IS_GRANTABLE varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema TRIGGERS TRIGGER_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema TRIGGERS TRIGGER_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TRIGGERS TRIGGER_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TRIGGERS EVENT_MANIPULATION varchar 6 18 utf8 utf8_general_ci varchar(6)
-3.0000 information_schema TRIGGERS EVENT_OBJECT_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema TRIGGERS EVENT_OBJECT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TRIGGERS EVENT_OBJECT_TABLE varchar 64 192 utf8 utf8_general_ci varchar(64)
-NULL information_schema TRIGGERS ACTION_ORDER bigint NULL NULL NULL NULL bigint(4)
-1.0000 information_schema TRIGGERS ACTION_CONDITION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-1.0000 information_schema TRIGGERS ACTION_STATEMENT longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema TRIGGERS ACTION_ORIENTATION varchar 9 27 utf8 utf8_general_ci varchar(9)
-3.0000 information_schema TRIGGERS ACTION_TIMING varchar 6 18 utf8 utf8_general_ci varchar(6)
-3.0000 information_schema TRIGGERS ACTION_REFERENCE_OLD_TABLE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TRIGGERS ACTION_REFERENCE_NEW_TABLE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TRIGGERS ACTION_REFERENCE_OLD_ROW varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema TRIGGERS ACTION_REFERENCE_NEW_ROW varchar 3 9 utf8 utf8_general_ci varchar(3)
-NULL information_schema TRIGGERS CREATED datetime NULL NULL NULL NULL datetime
-1.0000 information_schema TRIGGERS SQL_MODE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-1.0000 information_schema TRIGGERS DEFINER longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema USER_PRIVILEGES GRANTEE varchar 81 243 utf8 utf8_general_ci varchar(81)
-3.0000 information_schema USER_PRIVILEGES TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema USER_PRIVILEGES PRIVILEGE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema USER_PRIVILEGES IS_GRANTABLE varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema VIEWS TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema VIEWS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema VIEWS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-1.0000 information_schema VIEWS VIEW_DEFINITION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema VIEWS CHECK_OPTION varchar 8 24 utf8 utf8_general_ci varchar(8)
-3.0000 information_schema VIEWS IS_UPDATABLE varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema VIEWS DEFINER varchar 77 231 utf8 utf8_general_ci varchar(77)
-3.0000 information_schema VIEWS SECURITY_TYPE varchar 7 21 utf8 utf8_general_ci varchar(7)
-3.0000 mysql columns_priv Host char 60 180 utf8 utf8_bin char(60)
-3.0000 mysql columns_priv Db char 64 192 utf8 utf8_bin char(64)
-3.0000 mysql columns_priv User char 16 48 utf8 utf8_bin char(16)
-3.0000 mysql columns_priv Table_name char 64 192 utf8 utf8_bin char(64)
-3.0000 mysql columns_priv Column_name char 64 192 utf8 utf8_bin char(64)
-NULL mysql columns_priv Timestamp timestamp NULL NULL NULL NULL timestamp
-3.0000 mysql columns_priv Column_priv set 31 93 utf8 utf8_general_ci set('Select','Insert','Update','References')
-3.0000 mysql db Host char 60 180 utf8 utf8_bin char(60)
-3.0000 mysql db Db char 64 192 utf8 utf8_bin char(64)
-3.0000 mysql db User char 16 48 utf8 utf8_bin char(16)
-3.0000 mysql db Select_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Insert_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Update_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Delete_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Create_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Drop_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Grant_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db References_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Index_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Alter_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Create_tmp_table_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Lock_tables_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Create_view_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Show_view_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Create_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Alter_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Execute_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Event_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Trigger_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql event db char 64 192 utf8 utf8_bin char(64)
-3.0000 mysql event name char 64 192 utf8 utf8_general_ci char(64)
-1.0000 mysql event body longblob 4294967295 4294967295 NULL NULL longblob
-3.0000 mysql event definer char 77 231 utf8 utf8_bin char(77)
-NULL mysql event execute_at datetime NULL NULL NULL NULL datetime
-NULL mysql event interval_value int NULL NULL NULL NULL int(11)
-3.0000 mysql event interval_field enum 18 54 utf8 utf8_general_ci enum('YEAR','QUARTER','MONTH','DAY','HOUR','MINUTE','WEEK','SECOND','MICROSECOND','YEAR_MONTH','DAY_HOUR','DAY_MINUTE','DAY_SECOND','HOUR_MINUTE','HOUR_SECOND','MINUTE_SECOND','DAY_MICROSECOND','HOUR_MICROSECOND','MINUTE_MICROSECOND','SECOND_MICROSECOND')
-NULL mysql event created timestamp NULL NULL NULL NULL timestamp
-NULL mysql event modified timestamp NULL NULL NULL NULL timestamp
-NULL mysql event last_executed datetime NULL NULL NULL NULL datetime
-NULL mysql event starts datetime NULL NULL NULL NULL datetime
-NULL mysql event ends datetime NULL NULL NULL NULL datetime
-3.0000 mysql event status enum 18 54 utf8 utf8_general_ci enum('ENABLED','DISABLED','SLAVESIDE_DISABLED')
-3.0000 mysql event on_completion enum 8 24 utf8 utf8_general_ci enum('DROP','PRESERVE')
-3.0000 mysql event sql_mode set 431 1293 utf8 utf8_general_ci set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE')
-3.0000 mysql event comment char 64 192 utf8 utf8_bin char(64)
-NULL mysql event originator int NULL NULL NULL NULL int(10)
-1.0000 mysql event time_zone char 64 64 latin1 latin1_swedish_ci char(64)
-3.0000 mysql func name char 64 192 utf8 utf8_bin char(64)
-NULL mysql func ret tinyint NULL NULL NULL NULL tinyint(1)
-3.0000 mysql func dl char 128 384 utf8 utf8_bin char(128)
-3.0000 mysql func type enum 9 27 utf8 utf8_general_ci enum('function','aggregate')
-NULL mysql general_log event_time timestamp NULL NULL NULL NULL timestamp
-1.0000 mysql general_log user_host mediumtext 16777215 16777215 utf8 utf8_general_ci mediumtext
-NULL mysql general_log thread_id int NULL NULL NULL NULL int(11)
-NULL mysql general_log server_id int NULL NULL NULL NULL int(11)
-3.0000 mysql general_log command_type varchar 64 192 utf8 utf8_general_ci varchar(64)
-1.0000 mysql general_log argument mediumtext 16777215 16777215 utf8 utf8_general_ci mediumtext
-NULL mysql help_category help_category_id smallint NULL NULL NULL NULL smallint(5) unsigned
-3.0000 mysql help_category name char 64 192 utf8 utf8_general_ci char(64)
-NULL mysql help_category parent_category_id smallint NULL NULL NULL NULL smallint(5) unsigned
-3.0000 mysql help_category url char 128 384 utf8 utf8_general_ci char(128)
-NULL mysql help_keyword help_keyword_id int NULL NULL NULL NULL int(10) unsigned
-3.0000 mysql help_keyword name char 64 192 utf8 utf8_general_ci char(64)
-NULL mysql help_relation help_topic_id int NULL NULL NULL NULL int(10) unsigned
-NULL mysql help_relation help_keyword_id int NULL NULL NULL NULL int(10) unsigned
-NULL mysql help_topic help_topic_id int NULL NULL NULL NULL int(10) unsigned
-3.0000 mysql help_topic name char 64 192 utf8 utf8_general_ci char(64)
-NULL mysql help_topic help_category_id smallint NULL NULL NULL NULL smallint(5) unsigned
-1.0000 mysql help_topic description text 65535 65535 utf8 utf8_general_ci text
-1.0000 mysql help_topic example text 65535 65535 utf8 utf8_general_ci text
-3.0000 mysql help_topic url char 128 384 utf8 utf8_general_ci char(128)
-3.0000 mysql host Host char 60 180 utf8 utf8_bin char(60)
-3.0000 mysql host Db char 64 192 utf8 utf8_bin char(64)
-3.0000 mysql host Select_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Insert_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Update_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Delete_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Create_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Drop_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Grant_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host References_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Index_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Alter_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Create_tmp_table_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Lock_tables_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Create_view_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Show_view_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Create_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Alter_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Execute_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Trigger_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-NULL mysql ndb_binlog_index Position bigint NULL NULL NULL NULL bigint(20) unsigned
-1.0000 mysql ndb_binlog_index File varchar 255 255 latin1 latin1_swedish_ci varchar(255)
-NULL mysql ndb_binlog_index epoch bigint NULL NULL NULL NULL bigint(20) unsigned
-NULL mysql ndb_binlog_index inserts bigint NULL NULL NULL NULL bigint(20) unsigned
-NULL mysql ndb_binlog_index updates bigint NULL NULL NULL NULL bigint(20) unsigned
-NULL mysql ndb_binlog_index deletes bigint NULL NULL NULL NULL bigint(20) unsigned
-NULL mysql ndb_binlog_index schemaops bigint NULL NULL NULL NULL bigint(20) unsigned
-3.0000 mysql plugin name char 64 192 utf8 utf8_bin char(64)
-3.0000 mysql plugin dl char 128 384 utf8 utf8_bin char(128)
-3.0000 mysql proc db char 64 192 utf8 utf8_bin char(64)
-3.0000 mysql proc name char 64 192 utf8 utf8_general_ci char(64)
-3.0000 mysql proc type enum 9 27 utf8 utf8_general_ci enum('FUNCTION','PROCEDURE')
-3.0000 mysql proc specific_name char 64 192 utf8 utf8_general_ci char(64)
-3.0000 mysql proc language enum 3 9 utf8 utf8_general_ci enum('SQL')
-3.0000 mysql proc sql_data_access enum 17 51 utf8 utf8_general_ci enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA')
-3.0000 mysql proc is_deterministic enum 3 9 utf8 utf8_general_ci enum('YES','NO')
-3.0000 mysql proc security_type enum 7 21 utf8 utf8_general_ci enum('INVOKER','DEFINER')
-1.0000 mysql proc param_list blob 65535 65535 NULL NULL blob
-3.0000 mysql proc returns char 64 192 utf8 utf8_general_ci char(64)
-1.0000 mysql proc body longblob 4294967295 4294967295 NULL NULL longblob
-3.0000 mysql proc definer char 77 231 utf8 utf8_bin char(77)
-NULL mysql proc created timestamp NULL NULL NULL NULL timestamp
-NULL mysql proc modified timestamp NULL NULL NULL NULL timestamp
-3.0000 mysql proc sql_mode set 431 1293 utf8 utf8_general_ci set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE')
-3.0000 mysql proc comment char 64 192 utf8 utf8_bin char(64)
-3.0000 mysql procs_priv Host char 60 180 utf8 utf8_bin char(60)
-3.0000 mysql procs_priv Db char 64 192 utf8 utf8_bin char(64)
-3.0000 mysql procs_priv User char 16 48 utf8 utf8_bin char(16)
-3.0000 mysql procs_priv Routine_name char 64 192 utf8 utf8_bin char(64)
-3.0000 mysql procs_priv Routine_type enum 9 27 utf8 utf8_bin enum('FUNCTION','PROCEDURE')
-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 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)
-3.0000 mysql servers Username char 64 192 utf8 utf8_general_ci char(64)
-3.0000 mysql servers Password char 64 192 utf8 utf8_general_ci char(64)
-NULL mysql servers Port int NULL NULL NULL NULL int(4)
-3.0000 mysql servers Socket char 64 192 utf8 utf8_general_ci char(64)
-3.0000 mysql servers Wrapper char 64 192 utf8 utf8_general_ci char(64)
-3.0000 mysql servers Owner char 64 192 utf8 utf8_general_ci char(64)
-NULL mysql slow_log start_time timestamp NULL NULL NULL NULL timestamp
-1.0000 mysql slow_log user_host mediumtext 16777215 16777215 utf8 utf8_general_ci mediumtext
-NULL mysql slow_log query_time time NULL NULL NULL NULL time
-NULL mysql slow_log lock_time time NULL NULL NULL NULL time
-NULL mysql slow_log rows_sent int NULL NULL NULL NULL int(11)
-NULL mysql slow_log rows_examined int NULL NULL NULL NULL int(11)
-3.0000 mysql slow_log db varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-NULL mysql slow_log last_insert_id int NULL NULL NULL NULL int(11)
-NULL mysql slow_log insert_id int NULL NULL NULL NULL int(11)
-NULL mysql slow_log server_id int NULL NULL NULL NULL int(11)
-1.0000 mysql slow_log sql_text mediumtext 16777215 16777215 utf8 utf8_general_ci mediumtext
-3.0000 mysql tables_priv Host char 60 180 utf8 utf8_bin char(60)
-3.0000 mysql tables_priv Db char 64 192 utf8 utf8_bin char(64)
-3.0000 mysql tables_priv User char 16 48 utf8 utf8_bin char(16)
-3.0000 mysql tables_priv Table_name char 64 192 utf8 utf8_bin char(64)
-3.0000 mysql tables_priv Grantor char 77 231 utf8 utf8_bin char(77)
-NULL mysql tables_priv Timestamp timestamp NULL NULL NULL NULL timestamp
-3.0000 mysql tables_priv Table_priv set 98 294 utf8 utf8_general_ci set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view','Trigger')
-3.0000 mysql tables_priv Column_priv set 31 93 utf8 utf8_general_ci set('Select','Insert','Update','References')
-NULL mysql time_zone Time_zone_id int NULL NULL NULL NULL int(10) unsigned
-3.0000 mysql time_zone Use_leap_seconds enum 1 3 utf8 utf8_general_ci enum('Y','N')
-NULL mysql time_zone_leap_second Transition_time bigint NULL NULL NULL NULL bigint(20)
-NULL mysql time_zone_leap_second Correction int NULL NULL NULL NULL int(11)
-3.0000 mysql time_zone_name Name char 64 192 utf8 utf8_general_ci char(64)
-NULL mysql time_zone_name Time_zone_id int NULL NULL NULL NULL int(10) unsigned
-NULL mysql time_zone_transition Time_zone_id int NULL NULL NULL NULL int(10) unsigned
-NULL mysql time_zone_transition Transition_time bigint NULL NULL NULL NULL bigint(20)
-NULL mysql time_zone_transition Transition_type_id int NULL NULL NULL NULL int(10) unsigned
-NULL mysql time_zone_transition_type Time_zone_id int NULL NULL NULL NULL int(10) unsigned
-NULL mysql time_zone_transition_type Transition_type_id int NULL NULL NULL NULL int(10) unsigned
-NULL mysql time_zone_transition_type Offset int NULL NULL NULL NULL int(11)
-NULL mysql time_zone_transition_type Is_DST tinyint NULL NULL NULL NULL tinyint(3) unsigned
-3.0000 mysql time_zone_transition_type Abbreviation char 8 24 utf8 utf8_general_ci char(8)
-3.0000 mysql user Host char 60 180 utf8 utf8_bin char(60)
-3.0000 mysql user User char 16 48 utf8 utf8_bin char(16)
-1.0000 mysql user Password char 41 41 latin1 latin1_bin char(41)
-3.0000 mysql user Select_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Insert_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Update_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Delete_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Create_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Drop_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Reload_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Shutdown_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Process_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user File_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Grant_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user References_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Index_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Alter_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Show_db_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Super_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Create_tmp_table_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Lock_tables_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Execute_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Repl_slave_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Repl_client_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Create_view_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Show_view_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Create_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Alter_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Create_user_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Event_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Trigger_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user ssl_type enum 9 27 utf8 utf8_general_ci enum('','ANY','X509','SPECIFIED')
-1.0000 mysql user ssl_cipher blob 65535 65535 NULL NULL blob
-1.0000 mysql user x509_issuer blob 65535 65535 NULL NULL blob
-1.0000 mysql user x509_subject blob 65535 65535 NULL NULL blob
-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 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 test tb1 f1 char 1 1 latin1 latin1_swedish_ci char(1)
-1.0000 test tb1 f2 char 1 1 latin1 latin1_bin char(1)
-1.0000 test tb1 f3 char 1 1 latin1 latin1_swedish_ci char(1)
-2.0079 test tb1 f4 tinytext 127 255 ucs2 ucs2_general_ci tinytext
-1.0000 test tb1 f5 text 65535 65535 latin1 latin1_swedish_ci text
-1.0000 test tb1 f6 mediumtext 16777215 16777215 latin1 latin1_swedish_ci mediumtext
-1.0000 test tb1 f7 longtext 4294967295 4294967295 latin1 latin1_swedish_ci longtext
-1.0000 test tb1 f8 tinyblob 255 255 NULL NULL tinyblob
-1.0000 test tb1 f9 blob 65535 65535 NULL NULL blob
-1.0000 test tb1 f10 mediumblob 16777215 16777215 NULL NULL mediumblob
-1.0000 test tb1 f11 longblob 4294967295 4294967295 NULL NULL longblob
-1.0000 test tb1 f12 binary 1 1 NULL NULL binary(1)
-NULL test tb1 f13 tinyint NULL NULL NULL NULL tinyint(4)
-NULL test tb1 f14 tinyint NULL NULL NULL NULL tinyint(3) unsigned
-NULL test tb1 f15 tinyint NULL NULL NULL NULL tinyint(3) unsigned zerofill
-NULL test tb1 f16 tinyint NULL NULL NULL NULL tinyint(3) unsigned zerofill
-NULL test tb1 f17 smallint NULL NULL NULL NULL smallint(6)
-NULL test tb1 f18 smallint NULL NULL NULL NULL smallint(5) unsigned
-NULL test tb1 f19 smallint NULL NULL NULL NULL smallint(5) unsigned zerofill
-NULL test tb1 f20 smallint NULL NULL NULL NULL smallint(5) unsigned zerofill
-NULL test tb1 f21 mediumint NULL NULL NULL NULL mediumint(9)
-NULL test tb1 f22 mediumint NULL NULL NULL NULL mediumint(8) unsigned
-NULL test tb1 f23 mediumint NULL NULL NULL NULL mediumint(8) unsigned zerofill
-NULL test tb1 f24 mediumint NULL NULL NULL NULL mediumint(8) unsigned zerofill
-NULL test tb1 f25 int NULL NULL NULL NULL int(11)
-NULL test tb1 f26 int NULL NULL NULL NULL int(10) unsigned
-NULL test tb1 f27 int NULL NULL NULL NULL int(10) unsigned zerofill
-NULL test tb1 f28 int NULL NULL NULL NULL int(10) unsigned zerofill
-NULL test tb1 f29 bigint NULL NULL NULL NULL bigint(20)
-NULL test tb1 f30 bigint NULL NULL NULL NULL bigint(20) unsigned
-NULL test tb1 f31 bigint NULL NULL NULL NULL bigint(20) unsigned zerofill
-NULL test tb1 f32 bigint NULL NULL NULL NULL bigint(20) unsigned zerofill
-NULL test tb1 f33 decimal NULL NULL NULL NULL decimal(10,0)
-NULL test tb1 f34 decimal NULL NULL NULL NULL decimal(10,0) unsigned
-NULL test tb1 f35 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb1 f36 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb1 f37 decimal NULL NULL NULL NULL decimal(10,0)
-NULL test tb1 f38 decimal NULL NULL NULL NULL decimal(64,0)
-NULL test tb1 f39 decimal NULL NULL NULL NULL decimal(10,0) unsigned
-NULL test tb1 f40 decimal NULL NULL NULL NULL decimal(64,0) unsigned
-NULL test tb1 f41 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb1 f42 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
-NULL test tb1 f43 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb1 f44 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
-NULL test tb1 f45 decimal NULL NULL NULL NULL decimal(10,0)
-NULL test tb1 f46 decimal NULL NULL NULL NULL decimal(63,30)
-NULL test tb1 f47 decimal NULL NULL NULL NULL decimal(10,0) unsigned
-NULL test tb1 f48 decimal NULL NULL NULL NULL decimal(63,30) unsigned
-NULL test tb1 f49 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb1 f50 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
-NULL test tb1 f51 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb1 f52 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
-NULL test tb1 f53 decimal NULL NULL NULL NULL decimal(10,0)
-NULL test tb1 f54 decimal NULL NULL NULL NULL decimal(10,0) unsigned
-NULL test tb1 f55 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb1 f56 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb1 f57 decimal NULL NULL NULL NULL decimal(10,0)
-NULL test tb1 f58 decimal NULL NULL NULL NULL decimal(64,0)
-NULL test tb2 f59 decimal NULL NULL NULL NULL decimal(10,0) unsigned
-NULL test tb2 f60 decimal NULL NULL NULL NULL decimal(64,0) unsigned
-NULL test tb2 f61 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb2 f62 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
-NULL test tb2 f63 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb2 f64 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
-NULL test tb2 f65 decimal NULL NULL NULL NULL decimal(10,0)
-NULL test tb2 f66 decimal NULL NULL NULL NULL decimal(63,30)
-NULL test tb2 f67 decimal NULL NULL NULL NULL decimal(10,0) unsigned
-NULL test tb2 f68 decimal NULL NULL NULL NULL decimal(63,30) unsigned
-NULL test tb2 f69 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb2 f70 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
-NULL test tb2 f71 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb2 f72 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
-NULL test tb2 f73 double NULL NULL NULL NULL double
-NULL test tb2 f74 double unsigned NULL NULL NULL NULL double unsigned
-NULL test tb2 f75 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test tb2 f76 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test tb2 f77 double NULL NULL NULL NULL double
-NULL test tb2 f78 double unsigned NULL NULL NULL NULL double unsigned
-NULL test tb2 f79 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test tb2 f80 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test tb2 f81 float NULL NULL NULL NULL float
-NULL test tb2 f82 float unsigned NULL NULL NULL NULL float unsigned
-NULL test tb2 f83 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb2 f84 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb2 f85 float NULL NULL NULL NULL float
-NULL test tb2 f86 float NULL NULL NULL NULL float
-NULL test tb2 f87 float unsigned NULL NULL NULL NULL float unsigned
-NULL test tb2 f88 float unsigned NULL NULL NULL NULL float unsigned
-NULL test tb2 f89 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb2 f90 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb2 f91 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb2 f92 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb2 f93 float NULL NULL NULL NULL float
-NULL test tb2 f94 double NULL NULL NULL NULL double
-NULL test tb2 f95 float unsigned NULL NULL NULL NULL float unsigned
-NULL test tb2 f96 double unsigned NULL NULL NULL NULL double unsigned
-NULL test tb2 f97 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb2 f98 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test tb2 f99 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb2 f100 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test tb2 f101 date NULL NULL NULL NULL date
-NULL test tb2 f102 time NULL NULL NULL NULL time
-NULL test tb2 f103 datetime NULL NULL NULL NULL datetime
-NULL test tb2 f104 timestamp NULL NULL NULL NULL timestamp
-NULL test tb2 f105 year NULL NULL NULL NULL year(4)
-NULL test tb2 f106 year NULL NULL NULL NULL year(4)
-NULL test tb2 f107 year NULL NULL NULL NULL year(4)
-1.0000 test tb2 f108 enum 5 5 latin1 latin1_swedish_ci enum('1enum','2enum')
-1.0000 test tb2 f109 set 9 9 latin1 latin1_swedish_ci set('1set','2set')
-1.0000 test tb2 f110 varbinary 64 64 NULL NULL varbinary(64)
-1.0000 test tb2 f111 varbinary 27 27 NULL NULL varbinary(27)
-1.0000 test tb2 f112 varbinary 64 64 NULL NULL varbinary(64)
-1.0000 test tb2 f113 varbinary 192 192 NULL NULL varbinary(192)
-1.0000 test tb2 f114 varbinary 192 192 NULL NULL varbinary(192)
-1.0000 test tb2 f115 varbinary 27 27 NULL NULL varbinary(27)
-1.0000 test tb2 f116 varbinary 64 64 NULL NULL varbinary(64)
-1.0000 test tb2 f117 varbinary 192 192 NULL NULL varbinary(192)
-1.0000 test tb3 f118 char 1 1 latin1 latin1_swedish_ci char(1)
-1.0000 test tb3 f119 char 1 1 latin1 latin1_bin char(1)
-1.0000 test tb3 f120 char 1 1 latin1 latin1_swedish_ci char(1)
-1.0000 test tb3 f121 tinytext 255 255 latin1 latin1_swedish_ci tinytext
-1.0000 test tb3 f122 text 65535 65535 latin1 latin1_swedish_ci text
-1.0000 test tb3 f123 mediumtext 16777215 16777215 latin1 latin1_swedish_ci mediumtext
-2.0000 test tb3 f124 longtext 2147483647 4294967295 ucs2 ucs2_general_ci longtext
-1.0000 test tb3 f125 tinyblob 255 255 NULL NULL tinyblob
-1.0000 test tb3 f126 blob 65535 65535 NULL NULL blob
-1.0000 test tb3 f127 mediumblob 16777215 16777215 NULL NULL mediumblob
-1.0000 test tb3 f128 longblob 4294967295 4294967295 NULL NULL longblob
-1.0000 test tb3 f129 binary 1 1 NULL NULL binary(1)
-NULL test tb3 f130 tinyint NULL NULL NULL NULL tinyint(4)
-NULL test tb3 f131 tinyint NULL NULL NULL NULL tinyint(3) unsigned
-NULL test tb3 f132 tinyint NULL NULL NULL NULL tinyint(3) unsigned zerofill
-NULL test tb3 f133 tinyint NULL NULL NULL NULL tinyint(3) unsigned zerofill
-NULL test tb3 f134 smallint NULL NULL NULL NULL smallint(6)
-NULL test tb3 f135 smallint NULL NULL NULL NULL smallint(5) unsigned
-NULL test tb3 f136 smallint NULL NULL NULL NULL smallint(5) unsigned zerofill
-NULL test tb3 f137 smallint NULL NULL NULL NULL smallint(5) unsigned zerofill
-NULL test tb3 f138 mediumint NULL NULL NULL NULL mediumint(9)
-NULL test tb3 f139 mediumint NULL NULL NULL NULL mediumint(8) unsigned
-NULL test tb3 f140 mediumint NULL NULL NULL NULL mediumint(8) unsigned zerofill
-NULL test tb3 f141 mediumint NULL NULL NULL NULL mediumint(8) unsigned zerofill
-NULL test tb3 f142 int NULL NULL NULL NULL int(11)
-NULL test tb3 f143 int NULL NULL NULL NULL int(10) unsigned
-NULL test tb3 f144 int NULL NULL NULL NULL int(10) unsigned zerofill
-NULL test tb3 f145 int NULL NULL NULL NULL int(10) unsigned zerofill
-NULL test tb3 f146 bigint NULL NULL NULL NULL bigint(20)
-NULL test tb3 f147 bigint NULL NULL NULL NULL bigint(20) unsigned
-NULL test tb3 f148 bigint NULL NULL NULL NULL bigint(20) unsigned zerofill
-NULL test tb3 f149 bigint NULL NULL NULL NULL bigint(20) unsigned zerofill
-NULL test tb3 f150 decimal NULL NULL NULL NULL decimal(10,0)
-NULL test tb3 f151 decimal NULL NULL NULL NULL decimal(10,0) unsigned
-NULL test tb3 f152 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb3 f153 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb3 f154 decimal NULL NULL NULL NULL decimal(10,0)
-NULL test tb3 f155 decimal NULL NULL NULL NULL decimal(64,0)
-NULL test tb3 f156 decimal NULL NULL NULL NULL decimal(10,0) unsigned
-NULL test tb3 f157 decimal NULL NULL NULL NULL decimal(64,0) unsigned
-NULL test tb3 f158 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb3 f159 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
-NULL test tb3 f160 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb3 f161 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
-NULL test tb3 f162 decimal NULL NULL NULL NULL decimal(10,0)
-NULL test tb3 f163 decimal NULL NULL NULL NULL decimal(63,30)
-NULL test tb3 f164 decimal NULL NULL NULL NULL decimal(10,0) unsigned
-NULL test tb3 f165 decimal NULL NULL NULL NULL decimal(63,30) unsigned
-NULL test tb3 f166 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb3 f167 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
-NULL test tb3 f168 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb3 f169 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
-NULL test tb3 f170 decimal NULL NULL NULL NULL decimal(10,0)
-NULL test tb3 f171 decimal NULL NULL NULL NULL decimal(10,0) unsigned
-NULL test tb3 f172 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb3 f173 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb3 f174 decimal NULL NULL NULL NULL decimal(10,0)
-NULL test tb3 f175 decimal NULL NULL NULL NULL decimal(64,0)
-NULL test tb4 f176 decimal NULL NULL NULL NULL decimal(10,0) unsigned
-NULL test tb4 f177 decimal NULL NULL NULL NULL decimal(64,0) unsigned
-NULL test tb4 f178 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb4 f179 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
-NULL test tb4 f180 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb4 f181 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
-NULL test tb4 f182 decimal NULL NULL NULL NULL decimal(10,0)
-NULL test tb4 f183 decimal NULL NULL NULL NULL decimal(63,30)
-NULL test tb4 f184 decimal NULL NULL NULL NULL decimal(10,0) unsigned
-NULL test tb4 f185 decimal NULL NULL NULL NULL decimal(63,30) unsigned
-NULL test tb4 f186 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb4 f187 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
-NULL test tb4 f188 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb4 f189 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
-NULL test tb4 f190 double NULL NULL NULL NULL double
-NULL test tb4 f191 double unsigned NULL NULL NULL NULL double unsigned
-NULL test tb4 f192 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test tb4 f193 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test tb4 f194 double NULL NULL NULL NULL double
-NULL test tb4 f195 double unsigned NULL NULL NULL NULL double unsigned
-NULL test tb4 f196 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test tb4 f197 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test tb4 f198 float NULL NULL NULL NULL float
-NULL test tb4 f199 float unsigned NULL NULL NULL NULL float unsigned
-NULL test tb4 f200 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb4 f201 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb4 f202 float NULL NULL NULL NULL float
-NULL test tb4 f203 float NULL NULL NULL NULL float
-NULL test tb4 f204 float unsigned NULL NULL NULL NULL float unsigned
-NULL test tb4 f205 float unsigned NULL NULL NULL NULL float unsigned
-NULL test tb4 f206 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb4 f207 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb4 f208 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb4 f209 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb4 f210 float NULL NULL NULL NULL float
-NULL test tb4 f211 double NULL NULL NULL NULL double
-NULL test tb4 f212 float unsigned NULL NULL NULL NULL float unsigned
-NULL test tb4 f213 double unsigned NULL NULL NULL NULL double unsigned
-NULL test tb4 f214 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb4 f215 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test tb4 f216 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb4 f217 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test tb4 f218 date NULL NULL NULL NULL date
-NULL test tb4 f219 time NULL NULL NULL NULL time
-NULL test tb4 f220 datetime NULL NULL NULL NULL datetime
-NULL test tb4 f221 timestamp NULL NULL NULL NULL timestamp
-NULL test tb4 f222 year NULL NULL NULL NULL year(4)
-NULL test tb4 f223 year NULL NULL NULL NULL year(4)
-NULL test tb4 f224 year NULL NULL NULL NULL year(4)
-1.0000 test tb4 f225 enum 5 5 latin1 latin1_swedish_ci enum('1enum','2enum')
-1.0000 test tb4 f226 set 9 9 latin1 latin1_swedish_ci set('1set','2set')
-1.0000 test tb4 f227 varbinary 64 64 NULL NULL varbinary(64)
-1.0000 test tb4 f228 varbinary 27 27 NULL NULL varbinary(27)
-1.0000 test tb4 f229 varbinary 64 64 NULL NULL varbinary(64)
-1.0000 test tb4 f230 varbinary 192 192 NULL NULL varbinary(192)
-1.0000 test tb4 f231 varbinary 192 192 NULL NULL varbinary(192)
-1.0000 test tb4 f232 varbinary 27 27 NULL NULL varbinary(27)
-1.0000 test tb4 f233 varbinary 64 64 NULL NULL varbinary(64)
-1.0000 test tb4 f234 varbinary 192 192 NULL NULL varbinary(192)
-2.0000 test tb4 f235 char 255 510 ucs2 ucs2_general_ci char(255)
-1.0000 test tb4 f236 char 60 60 latin1 latin1_swedish_ci char(60)
-1.0000 test tb4 f237 char 255 255 latin1 latin1_bin char(255)
-NULL test tb4 f238 varchar 0 0 latin1 latin1_bin varchar(0)
-1.0000 test tb4 f239 varbinary 1000 1000 NULL NULL varbinary(1000)
-2.0000 test tb4 f240 varchar 120 240 ucs2 ucs2_general_ci varchar(120)
-2.0000 test tb4 f241 char 100 200 ucs2 ucs2_general_ci char(100)
-NULL test tb4 f242 bit NULL NULL NULL NULL bit(30)
-NULL test1 tb2 f59 decimal NULL NULL NULL NULL decimal(10,0) unsigned
-NULL test1 tb2 f60 decimal NULL NULL NULL NULL decimal(64,0) unsigned
-NULL test1 tb2 f61 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test1 tb2 f62 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
-NULL test1 tb2 f63 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test1 tb2 f64 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
-NULL test1 tb2 f65 decimal NULL NULL NULL NULL decimal(10,0)
-NULL test1 tb2 f66 decimal NULL NULL NULL NULL decimal(63,30)
-NULL test1 tb2 f67 decimal NULL NULL NULL NULL decimal(10,0) unsigned
-NULL test1 tb2 f68 decimal NULL NULL NULL NULL decimal(63,30) unsigned
-NULL test1 tb2 f69 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test1 tb2 f70 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
-NULL test1 tb2 f71 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test1 tb2 f72 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
-NULL test1 tb2 f73 double NULL NULL NULL NULL double
-NULL test1 tb2 f74 double unsigned NULL NULL NULL NULL double unsigned
-NULL test1 tb2 f75 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test1 tb2 f76 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test1 tb2 f77 double NULL NULL NULL NULL double
-NULL test1 tb2 f78 double unsigned NULL NULL NULL NULL double unsigned
-NULL test1 tb2 f79 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test1 tb2 f80 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test1 tb2 f81 float NULL NULL NULL NULL float
-NULL test1 tb2 f82 float unsigned NULL NULL NULL NULL float unsigned
-NULL test1 tb2 f83 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test1 tb2 f84 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test1 tb2 f85 float NULL NULL NULL NULL float
-NULL test1 tb2 f86 float NULL NULL NULL NULL float
-NULL test1 tb2 f87 float unsigned NULL NULL NULL NULL float unsigned
-NULL test1 tb2 f88 float unsigned NULL NULL NULL NULL float unsigned
-NULL test1 tb2 f89 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test1 tb2 f90 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test1 tb2 f91 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test1 tb2 f92 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test1 tb2 f93 float NULL NULL NULL NULL float
-NULL test1 tb2 f94 double NULL NULL NULL NULL double
-NULL test1 tb2 f95 float unsigned NULL NULL NULL NULL float unsigned
-NULL test1 tb2 f96 double unsigned NULL NULL NULL NULL double unsigned
-NULL test1 tb2 f97 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test1 tb2 f98 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test1 tb2 f99 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test1 tb2 f100 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test1 tb2 f101 date NULL NULL NULL NULL date
-NULL test1 tb2 f102 time NULL NULL NULL NULL time
-NULL test1 tb2 f103 datetime NULL NULL NULL NULL datetime
-NULL test1 tb2 f104 timestamp NULL NULL NULL NULL timestamp
-NULL test1 tb2 f105 year NULL NULL NULL NULL year(4)
-NULL test1 tb2 f106 year NULL NULL NULL NULL year(4)
-NULL test1 tb2 f107 year NULL NULL NULL NULL year(4)
-1.0000 test1 tb2 f108 enum 5 5 latin1 latin1_swedish_ci enum('1enum','2enum')
-1.0000 test1 tb2 f109 set 9 9 latin1 latin1_swedish_ci set('1set','2set')
-1.0000 test1 tb2 f110 varbinary 64 64 NULL NULL varbinary(64)
-1.0000 test1 tb2 f111 varbinary 27 27 NULL NULL varbinary(27)
-1.0000 test1 tb2 f112 varbinary 64 64 NULL NULL varbinary(64)
-1.0000 test1 tb2 f113 varbinary 192 192 NULL NULL varbinary(192)
-1.0000 test1 tb2 f114 varbinary 192 192 NULL NULL varbinary(192)
-1.0000 test1 tb2 f115 varbinary 27 27 NULL NULL varbinary(27)
-1.0000 test1 tb2 f116 varbinary 64 64 NULL NULL varbinary(64)
-1.0000 test1 tb2 f117 varbinary 192 192 NULL NULL varbinary(192)
-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 USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP TABLE IF EXISTS t_6_406001;
-DROP TABLE IF EXISTS t_6_406002;
-DROP DATABASE IF EXISTS db_datadict;
-
-Testcase 3.2.7.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC key_column_usage;
-Field Type Null Key Default Extra
-CONSTRAINT_CATALOG varchar(4096) YES NULL
-CONSTRAINT_SCHEMA varchar(64) NO
-CONSTRAINT_NAME varchar(64) NO
-TABLE_CATALOG varchar(4096) YES NULL
-TABLE_SCHEMA varchar(64) NO
-TABLE_NAME varchar(64) NO
-COLUMN_NAME varchar(64) NO
-ORDINAL_POSITION bigint(10) NO 0
-POSITION_IN_UNIQUE_CONSTRAINT bigint(10) YES NULL
-REFERENCED_TABLE_SCHEMA varchar(64) YES NULL
-REFERENCED_TABLE_NAME varchar(64) YES NULL
-REFERENCED_COLUMN_NAME varchar(64) YES NULL
-SHOW CREATE TABLE key_column_usage;
-Table Create Table
-KEY_COLUMN_USAGE CREATE TEMPORARY TABLE `KEY_COLUMN_USAGE` (
- `CONSTRAINT_CATALOG` varchar(4096) DEFAULT NULL,
- `CONSTRAINT_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `CONSTRAINT_NAME` varchar(64) NOT NULL DEFAULT '',
- `TABLE_CATALOG` varchar(4096) DEFAULT NULL,
- `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `TABLE_NAME` varchar(64) NOT NULL DEFAULT '',
- `COLUMN_NAME` varchar(64) NOT NULL DEFAULT '',
- `ORDINAL_POSITION` bigint(10) NOT NULL DEFAULT '0',
- `POSITION_IN_UNIQUE_CONSTRAINT` bigint(10) DEFAULT NULL,
- `REFERENCED_TABLE_SCHEMA` varchar(64) DEFAULT NULL,
- `REFERENCED_TABLE_NAME` varchar(64) DEFAULT NULL,
- `REFERENCED_COLUMN_NAME` varchar(64) DEFAULT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'key_column_usage'
-ORDER BY ordinal_position;
-COUNT(*)
-12
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'key_column_usage'
-ORDER BY ordinal_position;
-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
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE COLUMN_NAME 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE ORDINAL_POSITION 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select
-NULL information_schema KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(10) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_NAME 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME 12 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-
-Testcase 3.2.7.2 + 3.2.7.3:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-CREATE DATABASE db_datadict;
-CREATE USER 'user_1'@'localhost';
-CREATE USER 'user_2'@'localhost';
-USE db_datadict;
-CREATE TABLE t_40701 (
-f1 INT NOT NULL, PRIMARY KEY(f1),
-f2 INT, INDEX f2_ind(f2)
-);
-GRANT SELECT ON t_40701 to 'user_1'@'localhost';
-CREATE TABLE t_40702 (
-f1 INT NOT NULL, PRIMARY KEY(f1),
-f2 INT, INDEX f2_ind(f2)
-);
-GRANT SELECT ON t_40702 to 'user_2'@'localhost';
-FLUSH PRIVILEGES;
-SELECT * FROM information_schema.key_column_usage
-ORDER BY constraint_catalog, constraint_schema, constraint_name,
-table_catalog, table_schema, table_name, ordinal_position;
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
-NULL db_datadict PRIMARY NULL db_datadict t_40701 f1 1 NULL NULL NULL NULL
-NULL db_datadict PRIMARY NULL db_datadict t_40702 f1 1 NULL NULL NULL NULL
-NULL mysql name NULL mysql help_category name 1 NULL NULL NULL NULL
-NULL mysql name NULL mysql help_keyword name 1 NULL NULL NULL NULL
-NULL mysql name NULL mysql help_topic name 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql columns_priv Host 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql columns_priv Db 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql columns_priv User 3 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql columns_priv Table_name 4 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql columns_priv Column_name 5 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql db Host 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql db Db 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql db User 3 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql event db 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql event name 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql func name 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql help_category help_category_id 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql help_keyword help_keyword_id 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql help_relation help_keyword_id 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql help_relation help_topic_id 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql help_topic help_topic_id 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql host Host 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql host Db 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql ndb_binlog_index epoch 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql plugin name 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql proc db 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql proc name 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql proc type 3 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql procs_priv Host 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql procs_priv Db 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql procs_priv User 3 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql procs_priv Routine_name 4 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql procs_priv Routine_type 5 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql servers Server_name 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql tables_priv Host 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql tables_priv Db 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql tables_priv User 3 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql tables_priv Table_name 4 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql time_zone Time_zone_id 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql time_zone_leap_second Transition_time 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql time_zone_name Name 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql time_zone_transition Time_zone_id 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql time_zone_transition Transition_time 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql time_zone_transition_type Time_zone_id 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql time_zone_transition_type Transition_type_id 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql user Host 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql user User 2 NULL NULL NULL NULL
-connect(localhost,user_1,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.key_column_usage
-ORDER BY constraint_catalog, constraint_schema, constraint_name,
-table_catalog, table_schema, table_name, ordinal_position;
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
-NULL db_datadict PRIMARY NULL db_datadict t_40701 f1 1 NULL NULL NULL NULL
-connect(localhost,user_2,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.key_column_usage
-ORDER BY constraint_catalog, constraint_schema, constraint_name,
-table_catalog, table_schema, table_name, ordinal_position;
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
-NULL db_datadict PRIMARY NULL db_datadict t_40702 f1 1 NULL NULL NULL NULL
-
-root@localhost db_datadict
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP TABLE t_40701;
-DROP TABLE t_40702;
-DROP DATABASE IF EXISTS db_datadict;
-
-Testcase 3.2.8.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC routines;
-Field Type Null Key Default Extra
-SPECIFIC_NAME varchar(64) NO
-ROUTINE_CATALOG varchar(4096) YES NULL
-ROUTINE_SCHEMA varchar(64) NO
-ROUTINE_NAME varchar(64) NO
-ROUTINE_TYPE varchar(9) NO
-DTD_IDENTIFIER varchar(64) YES NULL
-ROUTINE_BODY varchar(8) NO
-ROUTINE_DEFINITION longtext YES NULL
-EXTERNAL_NAME varchar(64) YES NULL
-EXTERNAL_LANGUAGE varchar(64) YES NULL
-PARAMETER_STYLE varchar(8) NO
-IS_DETERMINISTIC varchar(3) NO
-SQL_DATA_ACCESS varchar(64) NO
-SQL_PATH varchar(64) YES NULL
-SECURITY_TYPE varchar(7) NO
-CREATED datetime NO 0000-00-00 00:00:00
-LAST_ALTERED datetime NO 0000-00-00 00:00:00
-SQL_MODE longtext NO
-ROUTINE_COMMENT varchar(64) NO
-DEFINER varchar(77) NO
-SHOW CREATE TABLE routines;
-Table Create Table
-ROUTINES CREATE TEMPORARY TABLE `ROUTINES` (
- `SPECIFIC_NAME` varchar(64) NOT NULL DEFAULT '',
- `ROUTINE_CATALOG` varchar(4096) DEFAULT NULL,
- `ROUTINE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `ROUTINE_NAME` varchar(64) NOT NULL DEFAULT '',
- `ROUTINE_TYPE` varchar(9) NOT NULL DEFAULT '',
- `DTD_IDENTIFIER` varchar(64) DEFAULT NULL,
- `ROUTINE_BODY` varchar(8) NOT NULL DEFAULT '',
- `ROUTINE_DEFINITION` longtext,
- `EXTERNAL_NAME` varchar(64) DEFAULT NULL,
- `EXTERNAL_LANGUAGE` varchar(64) DEFAULT NULL,
- `PARAMETER_STYLE` varchar(8) NOT NULL DEFAULT '',
- `IS_DETERMINISTIC` varchar(3) NOT NULL DEFAULT '',
- `SQL_DATA_ACCESS` varchar(64) NOT NULL DEFAULT '',
- `SQL_PATH` varchar(64) DEFAULT NULL,
- `SECURITY_TYPE` varchar(7) NOT NULL DEFAULT '',
- `CREATED` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `LAST_ALTERED` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `SQL_MODE` longtext NOT NULL,
- `ROUTINE_COMMENT` varchar(64) NOT NULL DEFAULT '',
- `DEFINER` varchar(77) NOT NULL DEFAULT ''
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'routines'
-ORDER BY ordinal_position;
-COUNT(*)
-20
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'routines'
-ORDER BY ordinal_position;
-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
-NULL information_schema ROUTINES SPECIFIC_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema ROUTINES ROUTINE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_TYPE 5 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
-NULL information_schema ROUTINES DTD_IDENTIFIER 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_BODY 7 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema ROUTINES ROUTINE_DEFINITION 8 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema ROUTINES EXTERNAL_NAME 9 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES EXTERNAL_LANGUAGE 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES PARAMETER_STYLE 11 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema ROUTINES IS_DETERMINISTIC 12 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ROUTINES SQL_DATA_ACCESS 13 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES SQL_PATH 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES SECURITY_TYPE 15 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select
-NULL information_schema ROUTINES CREATED 16 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema ROUTINES LAST_ALTERED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema ROUTINES SQL_MODE 18 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema ROUTINES ROUTINE_COMMENT 19 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES DEFINER 20 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
-
-Testcase 3.2.8.2 + 3.2.8.3:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-DROP DATABASE IF EXISTS db_datadict_2;
-CREATE DATABASE db_datadict;
-USE db_datadict;
-CREATE USER 'user_1'@'localhost';
-CREATE USER 'user_2'@'localhost';
-CREATE USER 'user_3'@'localhost';
-CREATE TABLE res_6_408002_1(f1 CHAR(3), f2 TEXT(25), f3 DATE, f4 INT);
-INSERT INTO res_6_408002_1(f1, f2, f3, f4)
-VALUES('abc', 'xyz', '1989-11-09', 0815);
-DROP PROCEDURE IF EXISTS sp_6_408002_1;
-CREATE PROCEDURE sp_6_408002_1()
-BEGIN
-SELECT * FROM db_datadict.res_6_408002_1;
-END//
-CREATE DATABASE db_datadict_2;
-USE db_datadict_2;
-CREATE TABLE res_6_408002_2(f1 CHAR(3), f2 TEXT(25), f3 DATE, f4 INT);
-INSERT INTO res_6_408002_2(f1, f2, f3, f4)
-VALUES('abc', 'xyz', '1990-10-03', 4711);
-DROP PROCEDURE IF EXISTS sp_6_408002_2;
-CREATE PROCEDURE sp_6_408002_2()
-BEGIN
-SELECT * FROM db_datadict_2.res_6_408002_2;
-END//
-GRANT SELECT ON db_datadict_2.* TO 'user_1'@'localhost';
-GRANT EXECUTE ON db_datadict_2.* TO 'user_1'@'localhost';
-GRANT EXECUTE ON db_datadict.* TO 'user_1'@'localhost';
-GRANT SELECT ON db_datadict.* TO 'user_2'@'localhost';
-GRANT EXECUTE ON PROCEDURE db_datadict_2.sp_6_408002_2 TO 'user_2'@'localhost';
-GRANT EXECUTE ON db_datadict_2.* TO 'user_2'@'localhost';
-FLUSH PRIVILEGES;
-connect(localhost,user_1,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.routines;
-SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER
-sp_6_408002_1 NULL db_datadict sp_6_408002_1 PROCEDURE NULL SQL NULL NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost
-sp_6_408002_2 NULL db_datadict_2 sp_6_408002_2 PROCEDURE NULL SQL NULL NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost
-connect(localhost,user_2,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.routines;
-SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER
-sp_6_408002_2 NULL db_datadict_2 sp_6_408002_2 PROCEDURE NULL SQL NULL NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost
-connect(localhost,user_3,,test,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.routines;
-SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER
-
-root@localhost db_datadict_2
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP USER 'user_3'@'localhost';
-use db_datadict;
-DROP TABLE res_6_408002_1;
-DROP PROCEDURE sp_6_408002_1;
-USE db_datadict_2;
-DROP TABLE res_6_408002_2;
-DROP PROCEDURE sp_6_408002_2;
-USE test;
-DROP DATABASE db_datadict;
-DROP DATABASE db_datadict_2;
-
-Testcase 3.2.8.4:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-CREATE DATABASE db_datadict;
-USE db_datadict;
-create table res_6_408004_1(f1 longtext , f2 mediumint , f3 longblob , f4 real , f5 year);
-insert into res_6_408004_1 values ('abc', 98765 , 99999999 , 98765, 10);
-drop procedure if exists sp_6_408004;
-create table res_6_408004_2(f1 longtext , f2 mediumint , f3 longblob , f4 real , f5 year);
-insert into res_6_408004_2 values ('abc', 98765 , 99999999 , 98765, 10);
-
-Checking the max. possible length of (currently) 4 GByte is not possible in this environment here.
---------------------------------------------------------------------------------------------------
-create procedure sp_6_408004 ()
-begin
-declare done integer default 0;
-declare variable_number_1 longtext;
-declare variable_number_2 mediumint;
-declare variable_number_3 longblob;
-declare variable_number_4 real;
-declare variable_number_5 year;
-declare cursor_number_1 cursor for select * from res_6_408004_1 limit 0, 10;
-declare cursor_number_2 cursor for select * from res_6_408004_1 limit 0, 10;
-declare cursor_number_3 cursor for select * from res_6_408004_1 limit 0, 10;
-declare cursor_number_4 cursor for select * from res_6_408004_1 limit 0, 10;
-declare cursor_number_5 cursor for select * from res_6_408004_1 limit 0, 10;
-declare continue handler for sqlstate '02000' set done = 1;
-begin
-open cursor_number_1;
-while done <> 1 do
-fetch cursor_number_1 into variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5;
-if done <> 0 then
-insert into res_6_408004_2 values (variable_number_1, variable_number_2, variable_number_3,
-variable_number_4, variable_number_5);
-end if;
-end while;
-begin
-begin
-set done = 0;
-open cursor_number_2;
-while done <> 1 do
-fetch cursor_number_2 into variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5;
-if done <> 0 then
-insert into res_6_408004_2 values(variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5);
-end if;
-end while;
-end;
-set done = 0;
-open cursor_number_3;
-while done <> 1 do
-fetch cursor_number_3 into variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5;
-if done <> 0 then
-insert into res_6_408004_2 values(variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5);
-end if;
-end while;
-end;
-end;
-begin
-set done = 0;
-open cursor_number_4;
-while done <> 1 do
-fetch cursor_number_4 into variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5;
-if done <> 0 then
-insert into res_6_408004_2 values (variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5);
-end if;
-end while;
-end;
-begin
-set @a='test row';
-select @a;
-select @a;
-select @a;
-end;
-begin
-set done = 0;
-open cursor_number_5;
-while done <> 1 do
-fetch cursor_number_5 into variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5;
-if done <> 0 then
-insert into res_6_408004_2 values (variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5);
-end if;
-end while;
-end;
-begin
-set @a='test row';
-select @a;
-select @a;
-select @a;
-end;
-end//
-call sp_6_408004 ();
-@a
-test row
-@a
-test row
-@a
-test row
-@a
-test row
-@a
-test row
-@a
-test row
-select * from res_6_408004_2;
-f1 f2 f3 f4 f5
-abc 98765 99999999 98765 2010
-abc 98765 99999999 98765 2010
-abc 98765 99999999 98765 2010
-abc 98765 99999999 98765 2010
-abc 98765 99999999 98765 2010
-abc 98765 99999999 98765 2010
-SELECT *, LENGTH(routine_definition)
-FROM information_schema.routines
-WHERE routine_schema = 'db_datadict';
-SPECIFIC_NAME sp_6_408004
-ROUTINE_CATALOG NULL
-ROUTINE_SCHEMA db_datadict
-ROUTINE_NAME sp_6_408004
-ROUTINE_TYPE PROCEDURE
-DTD_IDENTIFIER NULL
-ROUTINE_BODY SQL
-ROUTINE_DEFINITION begin
-declare done integer default 0;
-declare variable_number_1 longtext;
-declare variable_number_2 mediumint;
-declare variable_number_3 longblob;
-declare variable_number_4 real;
-declare variable_number_5 year;
-declare cursor_number_1 cursor for select * from res_6_408004_1 limit 0, 10;
-declare cursor_number_2 cursor for select * from res_6_408004_1 limit 0, 10;
-declare cursor_number_3 cursor for select * from res_6_408004_1 limit 0, 10;
-declare cursor_number_4 cursor for select * from res_6_408004_1 limit 0, 10;
-declare cursor_number_5 cursor for select * from res_6_408004_1 limit 0, 10;
-declare continue handler for sqlstate '02000' set done = 1;
-begin
-open cursor_number_1;
-while done <> 1 do
-fetch cursor_number_1 into variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5;
-if done <> 0 then
-insert into res_6_408004_2 values (variable_number_1, variable_number_2, variable_number_3,
-variable_number_4, variable_number_5);
-end if;
-end while;
-begin
-begin
-set done = 0;
-open cursor_number_2;
-while done <> 1 do
-fetch cursor_number_2 into variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5;
-if done <> 0 then
-insert into res_6_408004_2 values(variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5);
-end if;
-end while;
-end;
-set done = 0;
-open cursor_number_3;
-while done <> 1 do
-fetch cursor_number_3 into variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5;
-if done <> 0 then
-insert into res_6_408004_2 values(variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5);
-end if;
-end while;
-end;
-end;
-begin
-set done = 0;
-open cursor_number_4;
-while done <> 1 do
-fetch cursor_number_4 into variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5;
-if done <> 0 then
-insert into res_6_408004_2 values (variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5);
-end if;
-end while;
-end;
-begin
-set @a='test row';
-select @a;
-select @a;
-select @a;
-end;
-begin
-set done = 0;
-open cursor_number_5;
-while done <> 1 do
-fetch cursor_number_5 into variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5;
-if done <> 0 then
-insert into res_6_408004_2 values (variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5);
-end if;
-end while;
-end;
-begin
-set @a='test row';
-select @a;
-select @a;
-select @a;
-end;
-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 YYYY-MM-DD hh:mm:ss
-LAST_ALTERED YYYY-MM-DD hh:mm:ss
-SQL_MODE
-ROUTINE_COMMENT
-DEFINER root@localhost
-LENGTH(routine_definition) 2549
-use db_datadict;
-drop procedure sp_6_408004;
-drop table res_6_408004_1;
-drop table res_6_408004_2;
-use test;
-drop database db_datadict;
-
-Testcase 3.2.9.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC schemata;
-Field Type Null Key Default Extra
-CATALOG_NAME varchar(4096) YES NULL
-SCHEMA_NAME varchar(64) NO
-DEFAULT_CHARACTER_SET_NAME varchar(64) NO
-DEFAULT_COLLATION_NAME varchar(64) NO
-SQL_PATH varchar(4096) YES NULL
-SHOW CREATE TABLE schemata;
-Table Create Table
-SCHEMATA CREATE TEMPORARY TABLE `SCHEMATA` (
- `CATALOG_NAME` varchar(4096) DEFAULT NULL,
- `SCHEMA_NAME` varchar(64) NOT NULL DEFAULT '',
- `DEFAULT_CHARACTER_SET_NAME` varchar(64) NOT NULL DEFAULT '',
- `DEFAULT_COLLATION_NAME` varchar(64) NOT NULL DEFAULT '',
- `SQL_PATH` varchar(4096) DEFAULT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'schemata'
-ORDER BY ordinal_position;
-COUNT(*)
-5
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'schemata'
-ORDER BY ordinal_position;
-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
-NULL information_schema SCHEMATA CATALOG_NAME 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema SCHEMATA SCHEMA_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA DEFAULT_COLLATION_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA SQL_PATH 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-
-Testcase 3.2.9.2 + 3.2.9.3:
---------------------------------------------------------------------------------
-CREATE USER 'user_1'@'localhost';
-CREATE USER 'user_2'@'localhost';
-CREATE USER 'user_3'@'localhost';
-DROP DATABASE IF EXISTS db_datadict_1;
-DROP DATABASE IF EXISTS db_datadict_2;
-CREATE DATABASE db_datadict_1;
-CREATE DATABASE db_datadict_2;
-GRANT SELECT ON db_datadict_1.* to 'user_1'@'localhost';
-GRANT SELECT ON db_datadict_2.* to 'user_2'@'localhost';
-FLUSH PRIVILEGES;
-connect(localhost,user_1,,db_datadict_1,MYSQL_PORT,MYSQL_SOCK);
-SELECT COUNT(*) FROM information_schema.schemata;
-COUNT(*)
-3
-SELECT * FROM information_schema.schemata;
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL information_schema utf8 utf8_general_ci NULL
-NULL db_datadict_1 latin1 latin1_swedish_ci NULL
-NULL test latin1 latin1_swedish_ci NULL
-connect(localhost,user_2,,db_datadict_2,MYSQL_PORT,MYSQL_SOCK);
-SELECT COUNT(*) FROM information_schema.schemata;
-COUNT(*)
-3
-SELECT * FROM information_schema.schemata;
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL information_schema utf8 utf8_general_ci NULL
-NULL db_datadict_2 latin1 latin1_swedish_ci NULL
-NULL test latin1 latin1_swedish_ci NULL
-connect(localhost,user_3,,test,MYSQL_PORT,MYSQL_SOCK);
-SELECT COUNT(*) FROM information_schema.schemata;
-COUNT(*)
-2
-SELECT * FROM information_schema.schemata;
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL information_schema utf8 utf8_general_ci NULL
-NULL test latin1 latin1_swedish_ci NULL
-
-root@localhost information_schema
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP USER 'user_3'@'localhost';
-DROP DATABASE db_datadict_1;
-DROP DATABASE db_datadict_2;
-
-Testcase 3.2.10.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC table_constraints;
-Field Type Null Key Default Extra
-CONSTRAINT_CATALOG varchar(4096) YES NULL
-CONSTRAINT_SCHEMA varchar(64) NO
-CONSTRAINT_NAME varchar(64) NO
-TABLE_SCHEMA varchar(64) NO
-TABLE_NAME varchar(64) NO
-CONSTRAINT_TYPE varchar(64) NO
-SHOW CREATE TABLE table_constraints;
-Table Create Table
-TABLE_CONSTRAINTS CREATE TEMPORARY TABLE `TABLE_CONSTRAINTS` (
- `CONSTRAINT_CATALOG` varchar(4096) DEFAULT NULL,
- `CONSTRAINT_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `CONSTRAINT_NAME` varchar(64) NOT NULL DEFAULT '',
- `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `TABLE_NAME` varchar(64) NOT NULL DEFAULT '',
- `CONSTRAINT_TYPE` varchar(64) NOT NULL DEFAULT ''
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'table_constraints'
-ORDER BY ordinal_position;
-COUNT(*)
-6
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'table_constraints'
-ORDER BY ordinal_position;
-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
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS TABLE_SCHEMA 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS TABLE_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-
-Testcase 3.2.10.2 + 3.2.10.3:
---------------------------------------------------------------------------------
-CREATE USER 'user_1'@'localhost';
-CREATE USER 'user_2'@'localhost';
-DROP DATABASE IF EXISTS db_datadict;
-DROP DATABASE IF EXISTS db_datadict_2;
-CREATE DATABASE db_datadict;
-CREATE DATABASE db_datadict_2;
-USE db_datadict;
-CREATE TABLE res_6_401003_1(f1 INT NOT NULL, PRIMARY KEY(f1), f2 INT, INDEX f2_ind(f2));
-USE db_datadict_2;
-CREATE TABLE res_6_401003_2(f1 INT NOT NULL, PRIMARY KEY(f1), f2 INT, INDEX f2_ind(f2));
-GRANT SELECT ON db_datadict.res_6_401003_1 TO 'user_1'@'localhost';
-GRANT SELECT ON db_datadict_2.res_6_401003_2 TO 'user_2'@'localhost';
-FLUSH PRIVILEGES;
-connect(localhost,user_1,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.table_constraints;
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE
-NULL db_datadict PRIMARY db_datadict res_6_401003_1 PRIMARY KEY
-SELECT COUNT(*) FROM information_schema.table_constraints;
-COUNT(*)
-1
-connect(localhost,user_2,,db_datadict_2,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.table_constraints;
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE
-NULL db_datadict_2 PRIMARY db_datadict_2 res_6_401003_2 PRIMARY KEY
-SELECT COUNT(*) FROM information_schema.table_constraints;
-COUNT(*)
-1
-use db_datadict;
-
-root@localhost db_datadict
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP TABLE res_6_401003_1;
-USE db_datadict_2;
-DROP TABLE res_6_401003_2;
-USE test;
-DROP DATABASE db_datadict;
-DROP DATABASE db_datadict_2;
-
-Testcase 3.2.11.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC table_privileges;
-Field Type Null Key Default Extra
-GRANTEE varchar(81) NO
-TABLE_CATALOG varchar(4096) YES NULL
-TABLE_SCHEMA varchar(64) NO
-TABLE_NAME varchar(64) NO
-PRIVILEGE_TYPE varchar(64) NO
-IS_GRANTABLE varchar(3) NO
-SHOW CREATE TABLE table_privileges;
-Table Create Table
-TABLE_PRIVILEGES CREATE TEMPORARY TABLE `TABLE_PRIVILEGES` (
- `GRANTEE` varchar(81) NOT NULL DEFAULT '',
- `TABLE_CATALOG` varchar(4096) DEFAULT NULL,
- `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `TABLE_NAME` varchar(64) NOT NULL DEFAULT '',
- `PRIVILEGE_TYPE` varchar(64) NOT NULL DEFAULT '',
- `IS_GRANTABLE` varchar(3) NOT NULL DEFAULT ''
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'table_privileges'
-ORDER BY ordinal_position;
-COUNT(*)
-6
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'table_privileges'
-ORDER BY ordinal_position;
-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
-NULL information_schema TABLE_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema TABLE_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLE_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES PRIVILEGE_TYPE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES IS_GRANTABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-
-Testcase 3.2.11.2 + 3.2.11.3 + 3.2.11.4:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-create database db_datadict;
-CREATE USER 'user_1'@'localhost';
-GRANT CREATE, SELECT ON db_datadict.* TO 'user_1'@'localhost' WITH GRANT OPTION;
-CREATE USER 'user_2'@'localhost';
-CREATE USER 'user_3'@'localhost';
-use db_datadict;
-create table tb1(f1 int, f2 int, f3 int);
-grant select on db_datadict.tb1 to 'user_1'@'localhost';
-GRANT ALL on db_datadict.tb1 to 'user_2'@'localhost' WITH GRANT OPTION;
-FLUSH PRIVILEGES;
-connect(localhost,user_1,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-CREATE TABLE tb3 (f1 TEXT);
-GRANT SELECT ON db_datadict.tb3 to 'user_3'@'localhost';
-SELECT * FROM information_schema.table_privileges
-WHERE table_name LIKE 'tb%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL db_datadict tb1 SELECT NO
-connect(localhost,user_2,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.table_privileges;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-'user_2'@'localhost' NULL db_datadict tb1 SELECT YES
-'user_2'@'localhost' NULL db_datadict tb1 INSERT YES
-'user_2'@'localhost' NULL db_datadict tb1 UPDATE YES
-'user_2'@'localhost' NULL db_datadict tb1 DELETE YES
-'user_2'@'localhost' NULL db_datadict tb1 CREATE YES
-'user_2'@'localhost' NULL db_datadict tb1 DROP YES
-'user_2'@'localhost' NULL db_datadict tb1 REFERENCES YES
-'user_2'@'localhost' NULL db_datadict tb1 INDEX YES
-'user_2'@'localhost' NULL db_datadict tb1 ALTER YES
-'user_2'@'localhost' NULL db_datadict tb1 CREATE VIEW YES
-'user_2'@'localhost' NULL db_datadict tb1 SHOW VIEW YES
-'user_2'@'localhost' NULL db_datadict tb1 TRIGGER YES
-SELECT USER(), COUNT(*)
-FROM information_schema.table_privileges
-WHERE grantee = USER();
-USER() COUNT(*)
-user_2@localhost 0
-SELECT USER(), COUNT(*)
-FROM information_schema.table_privileges
-WHERE grantee = "'user_2'@'localhost'";
-USER() COUNT(*)
-user_2@localhost 12
-connect(localhost,user_3,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.table_privileges;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-'user_3'@'localhost' NULL db_datadict tb3 SELECT NO
-
-root@localhost db_datadict
-SELECT * FROM information_schema.table_privileges;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-'user_2'@'localhost' NULL db_datadict tb1 SELECT YES
-'user_2'@'localhost' NULL db_datadict tb1 INSERT YES
-'user_2'@'localhost' NULL db_datadict tb1 UPDATE YES
-'user_2'@'localhost' NULL db_datadict tb1 DELETE YES
-'user_2'@'localhost' NULL db_datadict tb1 CREATE YES
-'user_2'@'localhost' NULL db_datadict tb1 DROP YES
-'user_2'@'localhost' NULL db_datadict tb1 REFERENCES YES
-'user_2'@'localhost' NULL db_datadict tb1 INDEX YES
-'user_2'@'localhost' NULL db_datadict tb1 ALTER YES
-'user_2'@'localhost' NULL db_datadict tb1 CREATE VIEW YES
-'user_2'@'localhost' NULL db_datadict tb1 SHOW VIEW YES
-'user_2'@'localhost' NULL db_datadict tb1 TRIGGER YES
-'user_1'@'localhost' NULL db_datadict tb1 SELECT NO
-'user_3'@'localhost' NULL db_datadict tb3 SELECT NO
-
-root@localhost db_datadict
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP USER 'user_3'@'localhost';
-drop table db_datadict.tb1;
-drop table db_datadict.tb3;
-use test;
-drop database db_datadict;
-
-Testcase 3.2.12.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC tables;
-Field Type Null Key Default Extra
-TABLE_CATALOG varchar(4096) YES NULL
-TABLE_SCHEMA varchar(64) NO
-TABLE_NAME varchar(64) NO
-TABLE_TYPE varchar(64) NO
-ENGINE varchar(64) YES NULL
-VERSION bigint(21) unsigned YES NULL
-ROW_FORMAT varchar(10) YES NULL
-TABLE_ROWS bigint(21) unsigned YES NULL
-AVG_ROW_LENGTH bigint(21) unsigned YES NULL
-DATA_LENGTH bigint(21) unsigned YES NULL
-MAX_DATA_LENGTH bigint(21) unsigned YES NULL
-INDEX_LENGTH bigint(21) unsigned YES NULL
-DATA_FREE bigint(21) unsigned YES NULL
-AUTO_INCREMENT bigint(21) unsigned YES NULL
-CREATE_TIME datetime YES NULL
-UPDATE_TIME datetime YES NULL
-CHECK_TIME datetime YES NULL
-TABLE_COLLATION varchar(64) YES NULL
-CHECKSUM bigint(21) unsigned YES NULL
-CREATE_OPTIONS varchar(255) YES NULL
-TABLE_COMMENT varchar(80) NO
-SHOW CREATE TABLE tables;
-Table Create Table
-TABLES CREATE TEMPORARY TABLE `TABLES` (
- `TABLE_CATALOG` varchar(4096) DEFAULT NULL,
- `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `TABLE_NAME` varchar(64) NOT NULL DEFAULT '',
- `TABLE_TYPE` varchar(64) NOT NULL DEFAULT '',
- `ENGINE` varchar(64) DEFAULT NULL,
- `VERSION` bigint(21) unsigned DEFAULT NULL,
- `ROW_FORMAT` varchar(10) DEFAULT NULL,
- `TABLE_ROWS` bigint(21) unsigned DEFAULT NULL,
- `AVG_ROW_LENGTH` bigint(21) unsigned DEFAULT NULL,
- `DATA_LENGTH` bigint(21) unsigned DEFAULT NULL,
- `MAX_DATA_LENGTH` bigint(21) unsigned DEFAULT NULL,
- `INDEX_LENGTH` bigint(21) unsigned DEFAULT NULL,
- `DATA_FREE` bigint(21) unsigned DEFAULT NULL,
- `AUTO_INCREMENT` bigint(21) unsigned DEFAULT NULL,
- `CREATE_TIME` datetime DEFAULT NULL,
- `UPDATE_TIME` datetime DEFAULT NULL,
- `CHECK_TIME` datetime DEFAULT NULL,
- `TABLE_COLLATION` varchar(64) DEFAULT NULL,
- `CHECKSUM` bigint(21) unsigned DEFAULT NULL,
- `CREATE_OPTIONS` varchar(255) DEFAULT NULL,
- `TABLE_COMMENT` varchar(80) NOT NULL DEFAULT ''
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'tables'
-ORDER BY ordinal_position;
-COUNT(*)
-21
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'tables'
-ORDER BY ordinal_position;
-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
-NULL information_schema TABLES TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
-NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-
-Testcase 3.2.12.2 + 3.2.12.3:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-create database db_datadict;
-CREATE USER 'user_1'@'localhost';
-GRANT CREATE, CREATE VIEW, INSERT, SELECT ON db_datadict.*
-TO 'user_1'@'localhost' WITH GRANT OPTION;
-CREATE USER 'user_2'@'localhost';
-CREATE USER 'user_3'@'localhost';
-use db_datadict;
-create table tb1(f1 int, f2 int, f3 int);
-grant select on db_datadict.tb1 to 'user_1'@'localhost';
-GRANT ALL on db_datadict.tb1 to 'user_2'@'localhost' WITH GRANT OPTION;
-FLUSH PRIVILEGES;
-connect(localhost,user_1,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-CREATE TABLE tb2 (f1 DECIMAL);
-CREATE TABLE tb3 (f1 TEXT);
-GRANT SELECT ON db_datadict.tb3 to 'user_3'@'localhost';
-GRANT INSERT ON db_datadict.tb3 to 'user_2'@'localhost';
-CREATE VIEW v3 AS SELECT * FROM tb3;
-GRANT SELECT ON db_datadict.v3 to 'user_3'@'localhost';
-SELECT * FROM information_schema.tables
-WHERE table_schema = 'information_schema';
-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
-NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLUMNS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema ENGINES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema EVENTS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema FILES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema GLOBAL_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema GLOBAL_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema PARTITIONS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema PLUGINS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema PROCESSLIST SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema REFERENTIAL_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema ROUTINES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SESSION_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SESSION_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema STATISTICS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TABLES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema VIEWS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-SELECT * FROM information_schema.tables
-WHERE NOT( table_schema = 'information_schema');
-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
-NULL db_datadict tb1 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL db_datadict tb2 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL VIEW
-NULL test t1 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t10 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t11 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t2 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t3 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t4 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t7 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t8 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t9 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test tb1 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test tb2 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test tb3 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test tb4 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-connect(localhost,user_2,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.tables
-WHERE table_schema = 'information_schema';
-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
-NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLUMNS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema ENGINES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema EVENTS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema FILES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema GLOBAL_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema GLOBAL_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema PARTITIONS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema PLUGINS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema PROCESSLIST SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema REFERENTIAL_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema ROUTINES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SESSION_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SESSION_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema STATISTICS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TABLES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema VIEWS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-SELECT * FROM information_schema.tables
-WHERE NOT( table_schema = 'information_schema');
-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
-NULL db_datadict tb1 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t1 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t10 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t11 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t2 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t3 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t4 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t7 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t8 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t9 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test tb1 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test tb2 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test tb3 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test tb4 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-connect(localhost,user_3,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.tables
-WHERE table_schema = 'information_schema';
-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
-NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLUMNS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema ENGINES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema EVENTS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema FILES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema GLOBAL_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema GLOBAL_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema PARTITIONS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema PLUGINS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema PROCESSLIST SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema REFERENTIAL_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema ROUTINES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SESSION_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SESSION_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema STATISTICS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TABLES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema VIEWS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-SELECT * FROM information_schema.tables
-WHERE NOT( table_schema = 'information_schema');
-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
-NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL VIEW
-NULL test t1 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t10 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t11 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t2 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t3 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t4 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t7 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t8 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t9 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test tb1 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test tb2 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test tb3 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test tb4 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-
-root@localhost db_datadict
-SELECT * FROM information_schema.tables
-WHERE table_schema = 'information_schema';
-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
-NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLUMNS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema ENGINES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema EVENTS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema FILES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema GLOBAL_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema GLOBAL_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema PARTITIONS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema PLUGINS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema PROCESSLIST SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema REFERENTIAL_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema ROUTINES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SESSION_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SESSION_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema STATISTICS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TABLES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema VIEWS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-SELECT * FROM information_schema.tables
-WHERE NOT( table_schema = 'information_schema');
-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
-NULL db_datadict tb1 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL db_datadict tb2 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL VIEW
-NULL mysql columns_priv BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Column privileges
-NULL mysql db BASE TABLE MyISAM 10 Fixed 3 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Database privileges
-NULL mysql event BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Events
-NULL mysql func BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL User defined functions
-NULL mysql general_log BASE TABLE CSV 10 Dynamic 2 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL General log
-NULL mysql help_category BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL help categories
-NULL mysql help_keyword BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL help keywords
-NULL mysql help_relation BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL keyword-topic relation
-NULL mysql help_topic BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL help topics
-NULL mysql host BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Host privileges; Merged with database privileges
-NULL mysql ndb_binlog_index BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL mysql plugin BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL MySQL plugins
-NULL mysql proc BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Stored Procedures
-NULL mysql procs_priv BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Procedure privileges
-NULL mysql servers BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL MySQL Foreign Servers table
-NULL mysql slow_log BASE TABLE CSV 10 Dynamic 2 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Slow log
-NULL mysql tables_priv BASE TABLE MyISAM 10 Fixed 5 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Table privileges
-NULL mysql time_zone BASE TABLE MyISAM 10 Fixed 5 #ARL# #DL# #MDL# #IL# #DF# 6 YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Time zones
-NULL mysql time_zone_leap_second BASE TABLE MyISAM 10 Fixed 22 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Leap seconds information for time zones
-NULL mysql time_zone_name BASE TABLE MyISAM 10 Fixed 6 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Time zone names
-NULL mysql time_zone_transition BASE TABLE MyISAM 10 Fixed 393 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Time zone transitions
-NULL mysql time_zone_transition_type BASE TABLE MyISAM 10 Fixed 31 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Time zone transition types
-NULL mysql user BASE TABLE MyISAM 10 Dynamic 6 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Users and global privileges
-NULL test t1 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t10 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t11 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t2 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t3 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t4 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t7 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t8 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t9 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test tb1 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test tb2 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test tb3 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test tb4 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test1 tb2 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test4 t6 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP USER 'user_3'@'localhost';
-DROP TABLE db_datadict.tb1;
-DROP TABLE db_datadict.tb3;
-DROP VIEW db_datadict.v3;
-USE test;
-DROP DATABASE db_datadict;
-
-Testcase 3.2.13.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC views;
-Field Type Null Key Default Extra
-TABLE_CATALOG varchar(4096) YES NULL
-TABLE_SCHEMA varchar(64) NO
-TABLE_NAME varchar(64) NO
-VIEW_DEFINITION longtext NO
-CHECK_OPTION varchar(8) NO
-IS_UPDATABLE varchar(3) NO
-DEFINER varchar(77) NO
-SECURITY_TYPE varchar(7) NO
-SHOW CREATE TABLE views;
-Table Create Table
-VIEWS CREATE TEMPORARY TABLE `VIEWS` (
- `TABLE_CATALOG` varchar(4096) DEFAULT NULL,
- `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `TABLE_NAME` varchar(64) NOT NULL DEFAULT '',
- `VIEW_DEFINITION` longtext NOT NULL,
- `CHECK_OPTION` varchar(8) NOT NULL DEFAULT '',
- `IS_UPDATABLE` varchar(3) NOT NULL DEFAULT '',
- `DEFINER` varchar(77) NOT NULL DEFAULT '',
- `SECURITY_TYPE` varchar(7) NOT NULL DEFAULT ''
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'views'
-ORDER BY ordinal_position;
-COUNT(*)
-8
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'views'
-ORDER BY ordinal_position;
-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
-NULL information_schema VIEWS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema VIEWS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema VIEWS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema VIEWS VIEW_DEFINITION 4 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema VIEWS CHECK_OPTION 5 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema VIEWS IS_UPDATABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema VIEWS DEFINER 7 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
-NULL information_schema VIEWS SECURITY_TYPE 8 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select
-
-Testcase 3.2.13.2 + 3.2.13.3:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-CREATE DATABASE db_datadict;
-CREATE USER 'user_1'@'localhost';
-CREATE USER 'user_2'@'localhost';
-CREATE USER 'user_no_views'@'localhost';
-USE db_datadict;
-CREATE TABLE tb_401302(f1 INT, f2 INT, f3 INT);
-CREATE VIEW v_granted_to_1 AS SELECT * FROM tb_401302;
-CREATE VIEW v_granted_glob AS SELECT f2, f3 FROM tb_401302;
-GRANT SELECT ON db_datadict.tb_401302 TO 'user_1'@'localhost';
-GRANT SELECT ON db_datadict.v_granted_to_1 TO 'user_1'@'localhost';
-GRANT SHOW VIEW, CREATE VIEW ON db_datadict.* TO 'user_2'@'localhost';
-FLUSH PRIVILEGES;
-SELECT * FROM information_schema.views;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE
-NULL db_datadict v_granted_glob /* ALGORITHM=UNDEFINED */ select `db_datadict`.`tb_401302`.`f2` AS `f2`,`db_datadict`.`tb_401302`.`f3` AS `f3` from `db_datadict`.`tb_401302` NONE YES root@localhost DEFINER
-NULL db_datadict v_granted_to_1 /* ALGORITHM=UNDEFINED */ select `db_datadict`.`tb_401302`.`f1` AS `f1`,`db_datadict`.`tb_401302`.`f2` AS `f2`,`db_datadict`.`tb_401302`.`f3` AS `f3` from `db_datadict`.`tb_401302` NONE YES root@localhost DEFINER
-connect(localhost,user_1,,test,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.views;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE
-NULL db_datadict v_granted_to_1 NONE YES root@localhost DEFINER
-connect(localhost,user_2,,test,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.views;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE
-NULL db_datadict v_granted_glob NONE YES root@localhost DEFINER
-NULL db_datadict v_granted_to_1 NONE YES root@localhost DEFINER
-connect(localhost,user_no_views,,test,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.views;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE
-
-root@localhost db_datadict
-USE db_datadict;
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP USER 'user_no_views'@'localhost';
-DROP VIEW v_granted_to_1;
-DROP TABLE tb_401302;
-DROP VIEW v_granted_glob;
-USE test;
-DROP DATABASE db_datadict;
-
-Testcase 3.2.14.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC statistics;
-Field Type Null Key Default Extra
-TABLE_CATALOG varchar(4096) YES NULL
-TABLE_SCHEMA varchar(64) NO
-TABLE_NAME varchar(64) NO
-NON_UNIQUE bigint(1) NO 0
-INDEX_SCHEMA varchar(64) NO
-INDEX_NAME varchar(64) NO
-SEQ_IN_INDEX bigint(2) NO 0
-COLUMN_NAME varchar(64) NO
-COLLATION varchar(1) YES NULL
-CARDINALITY bigint(21) YES NULL
-SUB_PART bigint(3) YES NULL
-PACKED varchar(10) YES NULL
-NULLABLE varchar(3) NO
-INDEX_TYPE varchar(16) NO
-COMMENT varchar(16) YES NULL
-SHOW CREATE TABLE statistics;
-Table Create Table
-STATISTICS CREATE TEMPORARY TABLE `STATISTICS` (
- `TABLE_CATALOG` varchar(4096) DEFAULT NULL,
- `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `TABLE_NAME` varchar(64) NOT NULL DEFAULT '',
- `NON_UNIQUE` bigint(1) NOT NULL DEFAULT '0',
- `INDEX_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `INDEX_NAME` varchar(64) NOT NULL DEFAULT '',
- `SEQ_IN_INDEX` bigint(2) NOT NULL DEFAULT '0',
- `COLUMN_NAME` varchar(64) NOT NULL DEFAULT '',
- `COLLATION` varchar(1) DEFAULT NULL,
- `CARDINALITY` bigint(21) DEFAULT NULL,
- `SUB_PART` bigint(3) DEFAULT NULL,
- `PACKED` varchar(10) DEFAULT NULL,
- `NULLABLE` varchar(3) NOT NULL DEFAULT '',
- `INDEX_TYPE` varchar(16) NOT NULL DEFAULT '',
- `COMMENT` varchar(16) DEFAULT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'statistics'
-ORDER BY ordinal_position;
-COUNT(*)
-15
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'statistics'
-ORDER BY ordinal_position;
-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
-NULL information_schema STATISTICS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema STATISTICS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS NON_UNIQUE 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(1) select
-NULL information_schema STATISTICS INDEX_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS INDEX_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS SEQ_IN_INDEX 7 0 NO bigint NULL NULL 19 0 NULL NULL bigint(2) select
-NULL information_schema STATISTICS COLUMN_NAME 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS COLLATION 9 NULL YES varchar 1 3 NULL NULL utf8 utf8_general_ci varchar(1) select
-NULL information_schema STATISTICS CARDINALITY 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select
-NULL information_schema STATISTICS SUB_PART 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema STATISTICS PACKED 12 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema STATISTICS NULLABLE 13 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema STATISTICS INDEX_TYPE 14 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema STATISTICS COMMENT 15 NULL YES varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-
-Testcase 3.2.14.2 + 3.2.14.3:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-DROP DATABASE IF EXISTS db_datadict_2;
-CREATE DATABASE db_datadict;
-CREATE DATABASE db_datadict_2;
-CREATE USER 'user_1'@'localhost';
-CREATE USER 'user_2'@'localhost';
-USE db_datadict;
-create table tb_6_401402_1(f1 int not null, primary key(f1), f2 int, index f2_ind(f2));
-create table tb_6_401402_2(f1 int not null, primary key(f1), f2 int, index f2_ind(f2));
-grant select on db_datadict.tb_6_401402_1 to 'user_1'@'localhost' WITH GRANT OPTION;
-USE db_datadict_2;
-create table tb_2_1(f1 int not null, primary key(f1), f2 int, index f2_ind(f2));
-create table tb_2_2(f1 int not null, primary key(f1), f2 int, index f2_ind(f2));
-grant select on db_datadict_2.tb_2_1 to 'user_1'@'localhost';
-FLUSH PRIVILEGES;
-connect(localhost,user_1,,test,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.statistics;
-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
-NULL db_datadict tb_6_401402_1 0 db_datadict PRIMARY 1 f1 A 0 NULL NULL BTREE
-NULL db_datadict tb_6_401402_1 1 db_datadict f2_ind 1 f2 A NULL NULL NULL YES BTREE
-NULL db_datadict_2 tb_2_1 0 db_datadict_2 PRIMARY 1 f1 A 0 NULL NULL BTREE
-NULL db_datadict_2 tb_2_1 1 db_datadict_2 f2_ind 1 f2 A NULL NULL NULL YES BTREE
-connect(localhost,user_2,,test,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.statistics;
-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
-
-root@localhost db_datadict_2
-REVOKE SELECT ON db_datadict.tb_6_401402_1 FROM 'user_1'@'localhost';
-SELECT * FROM information_schema.statistics;
-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
-NULL db_datadict tb_6_401402_1 0 db_datadict PRIMARY 1 f1 A 0 NULL NULL BTREE
-NULL db_datadict tb_6_401402_1 1 db_datadict f2_ind 1 f2 A NULL NULL NULL YES BTREE
-NULL db_datadict tb_6_401402_2 0 db_datadict PRIMARY 1 f1 A 0 NULL NULL BTREE
-NULL db_datadict tb_6_401402_2 1 db_datadict f2_ind 1 f2 A NULL NULL NULL YES BTREE
-NULL db_datadict_2 tb_2_1 0 db_datadict_2 PRIMARY 1 f1 A 0 NULL NULL BTREE
-NULL db_datadict_2 tb_2_1 1 db_datadict_2 f2_ind 1 f2 A NULL NULL NULL YES BTREE
-NULL db_datadict_2 tb_2_2 0 db_datadict_2 PRIMARY 1 f1 A 0 NULL NULL BTREE
-NULL db_datadict_2 tb_2_2 1 db_datadict_2 f2_ind 1 f2 A NULL NULL NULL YES BTREE
-NULL mysql columns_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-NULL mysql columns_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE
-NULL mysql columns_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE
-NULL mysql columns_priv 0 mysql PRIMARY 4 Table_name A NULL NULL NULL BTREE
-NULL mysql columns_priv 0 mysql PRIMARY 5 Column_name A 0 NULL NULL BTREE
-NULL mysql db 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-NULL mysql db 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE
-NULL mysql db 0 mysql PRIMARY 3 User A 2 NULL NULL BTREE
-NULL mysql db 1 mysql User 1 User A 1 NULL NULL BTREE
-NULL mysql event 0 mysql PRIMARY 1 db A NULL NULL NULL BTREE
-NULL mysql event 0 mysql PRIMARY 2 name A 0 NULL NULL BTREE
-NULL mysql func 0 mysql PRIMARY 1 name A 0 NULL NULL BTREE
-NULL mysql help_category 0 mysql PRIMARY 1 help_category_id A 0 NULL NULL BTREE
-NULL mysql help_category 0 mysql name 1 name A 0 NULL NULL BTREE
-NULL mysql help_keyword 0 mysql PRIMARY 1 help_keyword_id A 0 NULL NULL BTREE
-NULL mysql help_keyword 0 mysql name 1 name A 0 NULL NULL BTREE
-NULL mysql help_relation 0 mysql PRIMARY 1 help_keyword_id A NULL NULL NULL BTREE
-NULL mysql help_relation 0 mysql PRIMARY 2 help_topic_id A 0 NULL NULL BTREE
-NULL mysql help_topic 0 mysql PRIMARY 1 help_topic_id A 0 NULL NULL BTREE
-NULL mysql help_topic 0 mysql name 1 name A 0 NULL NULL BTREE
-NULL mysql host 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-NULL mysql host 0 mysql PRIMARY 2 Db A 0 NULL NULL BTREE
-NULL mysql ndb_binlog_index 0 mysql PRIMARY 1 epoch A 0 NULL NULL BTREE
-NULL mysql plugin 0 mysql PRIMARY 1 name A 0 NULL NULL BTREE
-NULL mysql proc 0 mysql PRIMARY 1 db A NULL NULL NULL BTREE
-NULL mysql proc 0 mysql PRIMARY 2 name A NULL NULL NULL BTREE
-NULL mysql proc 0 mysql PRIMARY 3 type A 0 NULL NULL BTREE
-NULL mysql procs_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-NULL mysql procs_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE
-NULL mysql procs_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE
-NULL mysql procs_priv 0 mysql PRIMARY 4 Routine_name A NULL NULL NULL BTREE
-NULL mysql procs_priv 0 mysql PRIMARY 5 Routine_type A 0 NULL NULL BTREE
-NULL mysql procs_priv 1 mysql Grantor 1 Grantor A NULL NULL NULL BTREE
-NULL mysql servers 0 mysql PRIMARY 1 Server_name A 0 NULL NULL BTREE
-NULL mysql tables_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-NULL mysql tables_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE
-NULL mysql tables_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE
-NULL mysql tables_priv 0 mysql PRIMARY 4 Table_name A 2 NULL NULL BTREE
-NULL mysql tables_priv 1 mysql Grantor 1 Grantor A NULL NULL NULL BTREE
-NULL mysql time_zone 0 mysql PRIMARY 1 Time_zone_id A 5 NULL NULL BTREE
-NULL mysql time_zone_leap_second 0 mysql PRIMARY 1 Transition_time A 22 NULL NULL BTREE
-NULL mysql time_zone_name 0 mysql PRIMARY 1 Name A 6 NULL NULL BTREE
-NULL mysql time_zone_transition 0 mysql PRIMARY 1 Time_zone_id A NULL NULL NULL BTREE
-NULL mysql time_zone_transition 0 mysql PRIMARY 2 Transition_time A 393 NULL NULL BTREE
-NULL mysql time_zone_transition_type 0 mysql PRIMARY 1 Time_zone_id A NULL NULL NULL BTREE
-NULL mysql time_zone_transition_type 0 mysql PRIMARY 2 Transition_type_id A 31 NULL NULL BTREE
-NULL mysql user 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-NULL mysql user 0 mysql PRIMARY 2 User A 5 NULL NULL BTREE
-
-user_1@localhost test
-SELECT * FROM information_schema.statistics;
-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
-NULL db_datadict tb_6_401402_1 0 db_datadict PRIMARY 1 f1 A 0 NULL NULL BTREE
-NULL db_datadict tb_6_401402_1 1 db_datadict f2_ind 1 f2 A NULL NULL NULL YES BTREE
-NULL db_datadict_2 tb_2_1 0 db_datadict_2 PRIMARY 1 f1 A 0 NULL NULL BTREE
-NULL db_datadict_2 tb_2_1 1 db_datadict_2 f2_ind 1 f2 A NULL NULL NULL YES BTREE
-
-user_2@localhost test
-SELECT * FROM information_schema.statistics;
-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
-
-root@localhost db_datadict_2
-USE db_datadict;
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP TABLE tb_6_401402_1;
-DROP TABLE tb_6_401402_2;
-USE test;
-DROP DATABASE db_datadict;
-
-Testcase 3.2.15.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC schema_privileges;
-Field Type Null Key Default Extra
-GRANTEE varchar(81) NO
-TABLE_CATALOG varchar(4096) YES NULL
-TABLE_SCHEMA varchar(64) NO
-PRIVILEGE_TYPE varchar(64) NO
-IS_GRANTABLE varchar(3) NO
-SHOW CREATE TABLE schema_privileges;
-Table Create Table
-SCHEMA_PRIVILEGES CREATE TEMPORARY TABLE `SCHEMA_PRIVILEGES` (
- `GRANTEE` varchar(81) NOT NULL DEFAULT '',
- `TABLE_CATALOG` varchar(4096) DEFAULT NULL,
- `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `PRIVILEGE_TYPE` varchar(64) NOT NULL DEFAULT '',
- `IS_GRANTABLE` varchar(3) NOT NULL DEFAULT ''
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'schema_privileges'
-ORDER BY ordinal_position;
-COUNT(*)
-5
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'schema_privileges'
-ORDER BY ordinal_position;
-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
-NULL information_schema SCHEMA_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema SCHEMA_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMA_PRIVILEGES IS_GRANTABLE 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-
-Testcase 3.2.15.2:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-DROP DATABASE IF EXISTS db_datadict_2;
-create database db_datadict;
-create database db_datadict_2;
-CREATE USER 'u_6_401502'@'localhost';
-use db_datadict;
-create table res_6_401502(f1 int, f2 int, f3 int);
-grant insert on db_datadict.* to 'u_6_401502'@'localhost';
-FLUSH PRIVILEGES;
-SELECT * FROM information_schema.schema_privileges;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
-'u_6_401502'@'localhost' NULL db_datadict INSERT NO
-''@'%' NULL test SELECT NO
-''@'%' NULL test INSERT NO
-''@'%' NULL test UPDATE NO
-''@'%' NULL test DELETE NO
-''@'%' NULL test CREATE NO
-''@'%' NULL test DROP NO
-''@'%' NULL test REFERENCES NO
-''@'%' NULL test INDEX NO
-''@'%' NULL test ALTER NO
-''@'%' NULL test CREATE TEMPORARY TABLES NO
-''@'%' NULL test LOCK TABLES NO
-''@'%' NULL test CREATE VIEW NO
-''@'%' NULL test SHOW VIEW NO
-''@'%' NULL test CREATE ROUTINE NO
-''@'%' NULL test EVENT NO
-''@'%' NULL test TRIGGER NO
-''@'%' NULL test\_% SELECT NO
-''@'%' NULL test\_% INSERT NO
-''@'%' NULL test\_% UPDATE NO
-''@'%' NULL test\_% DELETE NO
-''@'%' NULL test\_% CREATE NO
-''@'%' NULL test\_% DROP NO
-''@'%' NULL test\_% REFERENCES NO
-''@'%' NULL test\_% INDEX NO
-''@'%' NULL test\_% ALTER NO
-''@'%' NULL test\_% CREATE TEMPORARY TABLES NO
-''@'%' NULL test\_% LOCK TABLES NO
-''@'%' NULL test\_% CREATE VIEW NO
-''@'%' NULL test\_% SHOW VIEW NO
-''@'%' NULL test\_% CREATE ROUTINE NO
-''@'%' NULL test\_% EVENT NO
-''@'%' NULL test\_% TRIGGER NO
-connect(localhost,u_6_401502,,test,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.schema_privileges;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
-'u_6_401502'@'localhost' NULL db_datadict INSERT NO
-use db_datadict;
-
-root@localhost db_datadict
-DROP USER 'u_6_401502'@'localhost';
-drop table res_6_401502;
-use test;
-drop database db_datadict;
-drop database db_datadict_2;
-
-Testcase 3.2.15.3 + 3.2.15.4:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-DROP DATABASE IF EXISTS db_datadict_2;
-create database db_datadict;
-create database db_datadict_2;
-CREATE USER 'u_6_401503_1'@'localhost';
-CREATE USER 'u_6_401503_2'@'localhost';
-CREATE USER 'u_6_401503_3'@'localhost';
-use db_datadict;
-create table res_6_401503_1(f1 int, f2 int, f3 int);
-use db_datadict_2;
-create table res_6_401503_2(f1 int, f2 int, f3 int);
-grant update on db_datadict.* to 'u_6_401503_1'@'localhost';
-grant delete on db_datadict_2.* to 'u_6_401503_2'@'localhost';
-FLUSH PRIVILEGES;
-SELECT * FROM information_schema.schema_privileges;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
-'u_6_401503_1'@'localhost' NULL db_datadict UPDATE NO
-'u_6_401503_2'@'localhost' NULL db_datadict_2 DELETE NO
-''@'%' NULL test SELECT NO
-''@'%' NULL test INSERT NO
-''@'%' NULL test UPDATE NO
-''@'%' NULL test DELETE NO
-''@'%' NULL test CREATE NO
-''@'%' NULL test DROP NO
-''@'%' NULL test REFERENCES NO
-''@'%' NULL test INDEX NO
-''@'%' NULL test ALTER NO
-''@'%' NULL test CREATE TEMPORARY TABLES NO
-''@'%' NULL test LOCK TABLES NO
-''@'%' NULL test CREATE VIEW NO
-''@'%' NULL test SHOW VIEW NO
-''@'%' NULL test CREATE ROUTINE NO
-''@'%' NULL test EVENT NO
-''@'%' NULL test TRIGGER NO
-''@'%' NULL test\_% SELECT NO
-''@'%' NULL test\_% INSERT NO
-''@'%' NULL test\_% UPDATE NO
-''@'%' NULL test\_% DELETE NO
-''@'%' NULL test\_% CREATE NO
-''@'%' NULL test\_% DROP NO
-''@'%' NULL test\_% REFERENCES NO
-''@'%' NULL test\_% INDEX NO
-''@'%' NULL test\_% ALTER NO
-''@'%' NULL test\_% CREATE TEMPORARY TABLES NO
-''@'%' NULL test\_% LOCK TABLES NO
-''@'%' NULL test\_% CREATE VIEW NO
-''@'%' NULL test\_% SHOW VIEW NO
-''@'%' NULL test\_% CREATE ROUTINE NO
-''@'%' NULL test\_% EVENT NO
-''@'%' NULL test\_% TRIGGER NO
-connect(localhost,u_6_401503_1,,test,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.schema_privileges;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
-'u_6_401503_1'@'localhost' NULL db_datadict UPDATE NO
-connect(localhost,u_6_401503_2,,test,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.schema_privileges;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
-'u_6_401503_2'@'localhost' NULL db_datadict_2 DELETE NO
-connect(localhost,u_6_401503_3,,test,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.schema_privileges;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
-
-root@localhost db_datadict_2
-use db_datadict;
-DROP USER 'u_6_401503_1'@'localhost';
-DROP USER 'u_6_401503_2'@'localhost';
-DROP USER 'u_6_401503_3'@'localhost';
-drop table res_6_401503_1;
-use db_datadict_2;
-drop table res_6_401503_2;
-use test;
-drop database db_datadict;
-drop database db_datadict_2;
-
-Testcase 3.2.16.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC user_privileges;
-Field Type Null Key Default Extra
-GRANTEE varchar(81) NO
-TABLE_CATALOG varchar(4096) YES NULL
-PRIVILEGE_TYPE varchar(64) NO
-IS_GRANTABLE varchar(3) NO
-SHOW CREATE TABLE user_privileges;
-Table Create Table
-USER_PRIVILEGES CREATE TEMPORARY TABLE `USER_PRIVILEGES` (
- `GRANTEE` varchar(81) NOT NULL DEFAULT '',
- `TABLE_CATALOG` varchar(4096) DEFAULT NULL,
- `PRIVILEGE_TYPE` varchar(64) NOT NULL DEFAULT '',
- `IS_GRANTABLE` varchar(3) NOT NULL DEFAULT ''
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'user_privileges'
-ORDER BY ordinal_position;
-COUNT(*)
-4
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'user_privileges'
-ORDER BY ordinal_position;
-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
-NULL information_schema USER_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema USER_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema USER_PRIVILEGES PRIVILEGE_TYPE 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema USER_PRIVILEGES IS_GRANTABLE 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-
-Testcase 3.2.16.2 + 3.2.16.3 + 3.2.16.4:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-CREATE DATABASE db_datadict;
-CREATE USER 'user_1'@'localhost';
-CREATE USER 'user_2'@'localhost';
-CREATE USER 'user_3'@'localhost';
-GRANT SELECT ON db_datadict.* TO 'user_1'@'localhost';
-GRANT SELECT ON mysql.user TO 'user_1'@'localhost';
-GRANT INSERT ON *.* TO 'user_2'@'localhost';
-GRANT UPDATE ON *.* TO 'user_2'@'localhost';
-FLUSH PRIVILEGES;
-
-FIXME (see Bug 12269) Here we expect more than only <USAGE> for user_1
-----------------------------------------------------------------------
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL USAGE NO
-'user_2'@'localhost' NULL INSERT NO
-'user_2'@'localhost' NULL UPDATE NO
-'user_3'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" 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 ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost user_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 0 0 0 0
-localhost user_2 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 0 0 0 0
-localhost user_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 N N N 0 0 0 0
-SHOW GRANTS;
-Grants for root@localhost
-GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
-
-add GRANT OPTION db_datadict.* to user_1
-----------------------------------------
-GRANT UPDATE ON db_datadict.* TO 'user_1'@'localhost' WITH GRANT OPTION;
-
-FIXME (see Bug 12269) Here the <YES> is missing for the GRANT OPTION for user_1
--------------------------------------------------------------------------------
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL USAGE NO
-'user_2'@'localhost' NULL INSERT NO
-'user_2'@'localhost' NULL UPDATE NO
-'user_3'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" 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 ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost user_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 0 0 0 0
-localhost user_2 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 0 0 0 0
-localhost user_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 N N N 0 0 0 0
-SHOW GRANTS;
-Grants for root@localhost
-GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
-FLUSH PRIVILEGES;
-connect(localhost,user_1,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" 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 ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost user_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 0 0 0 0
-localhost user_2 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 0 0 0 0
-localhost user_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 N N N 0 0 0 0
-SHOW GRANTS;
-Grants for user_1@localhost
-GRANT USAGE ON *.* TO 'user_1'@'localhost'
-GRANT SELECT, UPDATE ON `db_datadict`.* TO 'user_1'@'localhost' WITH GRANT OPTION
-GRANT SELECT ON `mysql`.`user` TO 'user_1'@'localhost'
-
-Now add SELECT on *.* to user_1
--------------------------------
-
-root@localhost information_schema
-GRANT SELECT ON *.* TO 'user_1'@'localhost';
-
-Here <SELECT NO> is shown correctly for user_1
-----------------------------------------------
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL SELECT NO
-'user_2'@'localhost' NULL INSERT NO
-'user_2'@'localhost' NULL UPDATE NO
-'user_3'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" 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 ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost user_1 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 0 0 0 0
-localhost user_2 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 0 0 0 0
-localhost user_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 N N N 0 0 0 0
-SHOW GRANTS;
-Grants for root@localhost
-GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
-GRANT SELECT ON *.* TO 'user_1'@'localhost' WITH GRANT OPTION;
-
-Here <SELECT YES> is shown correctly for user_1
------------------------------------------------
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL SELECT YES
-'user_2'@'localhost' NULL INSERT NO
-'user_2'@'localhost' NULL UPDATE NO
-'user_3'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" 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 ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost user_1 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 0 0 0 0
-localhost user_2 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 0 0 0 0
-localhost user_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 N N N 0 0 0 0
-SHOW GRANTS;
-Grants for root@localhost
-GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
-FLUSH PRIVILEGES;
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL SELECT YES
-'user_2'@'localhost' NULL INSERT NO
-'user_2'@'localhost' NULL UPDATE NO
-'user_3'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" 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 ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost user_1 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 0 0 0 0
-localhost user_2 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 0 0 0 0
-localhost user_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 N N N 0 0 0 0
-SHOW GRANTS;
-Grants for root@localhost
-GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
-
-user_1@localhost db_datadict
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL SELECT YES
-SELECT * FROM mysql.user WHERE user LIKE "%user%" 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 ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost user_1 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 0 0 0 0
-localhost user_2 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 0 0 0 0
-localhost user_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 N N N 0 0 0 0
-SHOW GRANTS;
-Grants for user_1@localhost
-GRANT SELECT ON *.* TO 'user_1'@'localhost' WITH GRANT OPTION
-GRANT SELECT, UPDATE ON `db_datadict`.* TO 'user_1'@'localhost' WITH GRANT OPTION
-GRANT SELECT ON `mysql`.`user` TO 'user_1'@'localhost'
-connect(localhost,user_2,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_2'@'localhost' NULL INSERT NO
-'user_2'@'localhost' NULL UPDATE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user;
-ERROR 42000: SELECT command denied to user 'user_2'@'localhost' for table 'user'
-SHOW GRANTS;
-Grants for user_2@localhost
-GRANT INSERT, UPDATE ON *.* TO 'user_2'@'localhost'
-connect(localhost,user_3,,test,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_3'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user;
-ERROR 42000: SELECT command denied to user 'user_3'@'localhost' for table 'user'
-SHOW GRANTS;
-Grants for user_3@localhost
-GRANT USAGE ON *.* TO 'user_3'@'localhost'
-
-revoke privileges from user_1
------------------------------
-
-root@localhost information_schema
-REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'user_1'@'localhost';
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL USAGE NO
-'user_2'@'localhost' NULL INSERT NO
-'user_2'@'localhost' NULL UPDATE NO
-'user_3'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" 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 ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost user_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 0 0 0 0
-localhost user_2 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 0 0 0 0
-localhost user_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 N N N 0 0 0 0
-SHOW GRANTS;
-Grants for root@localhost
-GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
-
-user_1@localhost db_datadict
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user;
-ERROR 42000: SELECT command denied to user 'user_1'@'localhost' for table 'user'
-SHOW GRANTS;
-Grants for user_1@localhost
-GRANT USAGE ON *.* TO 'user_1'@'localhost'
-
-user_1@localhost db_datadict
-CREATE TABLE db_datadict.tb_55 ( c1 TEXT );
-ERROR 42000: CREATE command denied to user 'user_1'@'localhost' for table 'tb_55'
-
-user_1@localhost db_datadict
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user;
-ERROR 42000: SELECT command denied to user 'user_1'@'localhost' for table 'user'
-SHOW GRANTS;
-Grants for user_1@localhost
-GRANT USAGE ON *.* TO 'user_1'@'localhost'
-CREATE TABLE db_datadict.tb_66 ( c1 TEXT );
-ERROR 42000: CREATE command denied to user 'user_1'@'localhost' for table 'tb_66'
-
-add ALL on db_datadict.* (and select on mysql.user) to user_1
--------------------------------------------------------------
-
-root@localhost information_schema
-GRANT ALL ON db_datadict.* TO 'user_1'@'localhost' WITH GRANT OPTION;
-GRANT SELECT ON mysql.user TO 'user_1'@'localhost';
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL USAGE NO
-'user_2'@'localhost' NULL INSERT NO
-'user_2'@'localhost' NULL UPDATE NO
-'user_3'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" 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 ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost user_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 0 0 0 0
-localhost user_2 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 0 0 0 0
-localhost user_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 N N N 0 0 0 0
-SHOW GRANTS;
-Grants for root@localhost
-GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
-
-user_1@localhost db_datadict
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" 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 ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost user_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 0 0 0 0
-localhost user_2 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 0 0 0 0
-localhost user_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 N N N 0 0 0 0
-SHOW GRANTS;
-Grants for user_1@localhost
-GRANT USAGE ON *.* TO 'user_1'@'localhost'
-GRANT ALL PRIVILEGES ON `db_datadict`.* TO 'user_1'@'localhost' WITH GRANT OPTION
-GRANT SELECT ON `mysql`.`user` TO 'user_1'@'localhost'
-CREATE TABLE db_datadict.tb_56 ( c1 TEXT );
-ERROR 42000: CREATE command denied to user 'user_1'@'localhost' for table 'tb_56'
-USE db_datadict;
-
-user_1@localhost db_datadict
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" 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 ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost user_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 0 0 0 0
-localhost user_2 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 0 0 0 0
-localhost user_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 N N N 0 0 0 0
-SHOW GRANTS;
-Grants for user_1@localhost
-GRANT USAGE ON *.* TO 'user_1'@'localhost'
-GRANT ALL PRIVILEGES ON `db_datadict`.* TO 'user_1'@'localhost' WITH GRANT OPTION
-GRANT SELECT ON `mysql`.`user` TO 'user_1'@'localhost'
-CREATE TABLE tb_57 ( c1 TEXT );
-
-revoke privileges from user_1
------------------------------
-
-root@localhost information_schema
-REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'user_1'@'localhost';
-FLUSH PRIVILEGES;
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL USAGE NO
-'user_2'@'localhost' NULL INSERT NO
-'user_2'@'localhost' NULL UPDATE NO
-'user_3'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" 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 ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost user_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 0 0 0 0
-localhost user_2 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 0 0 0 0
-localhost user_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 N N N 0 0 0 0
-SHOW GRANTS;
-Grants for root@localhost
-GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
-
-user_1@localhost db_datadict
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user;
-ERROR 42000: SELECT command denied to user 'user_1'@'localhost' for table 'user'
-SHOW GRANTS;
-Grants for user_1@localhost
-GRANT USAGE ON *.* TO 'user_1'@'localhost'
-CREATE TABLE db_datadict.tb_58 ( c1 TEXT );
-USE db_datadict;
-ERROR 42000: Access denied for user 'user_1'@'localhost' to database 'db_datadict'
-CREATE TABLE db_datadict.tb_59 ( c1 TEXT );
-
-root@localhost information_schema
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP USER 'user_3'@'localhost';
-DROP DATABASE IF EXISTS db_datadict;
-
-Testcase 3.2.17: Checks on Performance - not here in this script!
---------------------------------------------------------------------------------
-
-Testcase 3.2.18.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC triggers;
-Field Type Null Key Default Extra
-TRIGGER_CATALOG varchar(4096) YES NULL
-TRIGGER_SCHEMA varchar(64) NO
-TRIGGER_NAME varchar(64) NO
-EVENT_MANIPULATION varchar(6) NO
-EVENT_OBJECT_CATALOG varchar(4096) YES NULL
-EVENT_OBJECT_SCHEMA varchar(64) NO
-EVENT_OBJECT_TABLE varchar(64) NO
-ACTION_ORDER bigint(4) NO 0
-ACTION_CONDITION longtext YES NULL
-ACTION_STATEMENT longtext NO
-ACTION_ORIENTATION varchar(9) NO
-ACTION_TIMING varchar(6) NO
-ACTION_REFERENCE_OLD_TABLE varchar(64) YES NULL
-ACTION_REFERENCE_NEW_TABLE varchar(64) YES NULL
-ACTION_REFERENCE_OLD_ROW varchar(3) NO
-ACTION_REFERENCE_NEW_ROW varchar(3) NO
-CREATED datetime YES NULL
-SQL_MODE longtext NO
-DEFINER longtext NO
-SHOW CREATE TABLE triggers;
-Table Create Table
-TRIGGERS CREATE TEMPORARY TABLE `TRIGGERS` (
- `TRIGGER_CATALOG` varchar(4096) DEFAULT NULL,
- `TRIGGER_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `TRIGGER_NAME` varchar(64) NOT NULL DEFAULT '',
- `EVENT_MANIPULATION` varchar(6) NOT NULL DEFAULT '',
- `EVENT_OBJECT_CATALOG` varchar(4096) DEFAULT NULL,
- `EVENT_OBJECT_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `EVENT_OBJECT_TABLE` varchar(64) NOT NULL DEFAULT '',
- `ACTION_ORDER` bigint(4) NOT NULL DEFAULT '0',
- `ACTION_CONDITION` longtext,
- `ACTION_STATEMENT` longtext NOT NULL,
- `ACTION_ORIENTATION` varchar(9) NOT NULL DEFAULT '',
- `ACTION_TIMING` varchar(6) NOT NULL DEFAULT '',
- `ACTION_REFERENCE_OLD_TABLE` varchar(64) DEFAULT NULL,
- `ACTION_REFERENCE_NEW_TABLE` varchar(64) DEFAULT NULL,
- `ACTION_REFERENCE_OLD_ROW` varchar(3) NOT NULL DEFAULT '',
- `ACTION_REFERENCE_NEW_ROW` varchar(3) NOT NULL DEFAULT '',
- `CREATED` datetime DEFAULT NULL,
- `SQL_MODE` longtext NOT NULL,
- `DEFINER` longtext NOT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'triggers'
-ORDER BY ordinal_position;
-COUNT(*)
-19
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'triggers'
-ORDER BY ordinal_position;
-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
-NULL information_schema TRIGGERS TRIGGER_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TRIGGERS TRIGGER_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS TRIGGER_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS EVENT_MANIPULATION 4 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select
-NULL information_schema TRIGGERS EVENT_OBJECT_CATALOG 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TRIGGERS EVENT_OBJECT_SCHEMA 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS EVENT_OBJECT_TABLE 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_ORDER 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema TRIGGERS ACTION_CONDITION 9 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS ACTION_STATEMENT 10 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS ACTION_ORIENTATION 11 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
-NULL information_schema TRIGGERS ACTION_TIMING 12 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_TABLE 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_TABLE 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_ROW 15 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_ROW 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema TRIGGERS CREATED 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TRIGGERS SQL_MODE 18 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS DEFINER 19 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-
-Testcase 3.2.18.2 + 3.2.18.3:
---------------------------------------------------------------------------------
-
-Testcase 3.2.19.1:
---------------------------------------------------------------------------------
-
-checking a table that will be implemented later
------------------------------------------------
-DESC parameters;
-ERROR 42S02: Unknown table 'parameters' in information_schema
-
-Testcase 3.2.20.1:
---------------------------------------------------------------------------------
-DESC referential_constraints;
-Field Type Null Key Default Extra
-CONSTRAINT_CATALOG varchar(512) YES NULL
-CONSTRAINT_SCHEMA varchar(64) NO
-CONSTRAINT_NAME varchar(64) NO
-UNIQUE_CONSTRAINT_CATALOG varchar(512) YES NULL
-UNIQUE_CONSTRAINT_SCHEMA varchar(64) NO
-UNIQUE_CONSTRAINT_NAME varchar(64) NO
-MATCH_OPTION varchar(64) NO
-UPDATE_RULE varchar(64) NO
-DELETE_RULE varchar(64) NO
-TABLE_NAME varchar(64) NO
-REFERENCED_TABLE_NAME varchar(64) NO
-USE information_schema;
-DESC referential_constraints;
-Field Type Null Key Default Extra
-CONSTRAINT_CATALOG varchar(4096) YES NULL
-CONSTRAINT_SCHEMA varchar(64) NO
-CONSTRAINT_NAME varchar(64) NO
-UNIQUE_CONSTRAINT_CATALOG varchar(4096) YES NULL
-UNIQUE_CONSTRAINT_SCHEMA varchar(64) NO
-UNIQUE_CONSTRAINT_NAME varchar(64) NO
-MATCH_OPTION varchar(64) NO
-UPDATE_RULE varchar(64) NO
-DELETE_RULE varchar(64) NO
-TABLE_NAME varchar(64) NO
-REFERENCED_TABLE_NAME varchar(64) NO
-SHOW CREATE TABLE referential_constraints;
-Table Create Table
-REFERENTIAL_CONSTRAINTS CREATE TEMPORARY TABLE `REFERENTIAL_CONSTRAINTS` (
- `CONSTRAINT_CATALOG` varchar(4096) DEFAULT NULL,
- `CONSTRAINT_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `CONSTRAINT_NAME` varchar(64) NOT NULL DEFAULT '',
- `UNIQUE_CONSTRAINT_CATALOG` varchar(4096) DEFAULT NULL,
- `UNIQUE_CONSTRAINT_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `UNIQUE_CONSTRAINT_NAME` varchar(64) NOT NULL DEFAULT '',
- `MATCH_OPTION` varchar(64) NOT NULL DEFAULT '',
- `UPDATE_RULE` varchar(64) NOT NULL DEFAULT '',
- `DELETE_RULE` varchar(64) NOT NULL DEFAULT '',
- `TABLE_NAME` varchar(64) NOT NULL DEFAULT '',
- `REFERENCED_TABLE_NAME` varchar(64) NOT NULL DEFAULT ''
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'referential_constraints'
-ORDER BY ordinal_position;
-COUNT(*)
-11
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'referential_constraints'
-ORDER BY ordinal_position;
-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
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS MATCH_OPTION 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UPDATE_RULE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS DELETE_RULE 9 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS TABLE_NAME 10 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS REFERENCED_TABLE_NAME 11 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-
-*** End of Data Dictionary Tests ***
---------------------------------------------------------------------------------
-DROP TABLE IF EXISTS test.tb1;
-DROP TABLE IF EXISTS test.tb2;
-DROP TABLE IF EXISTS test.tb3;
-DROP TABLE IF EXISTS test.tb4;
-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.t7;
-DROP TABLE IF EXISTS test.t8;
-DROP TABLE IF EXISTS test.t9;
-DROP TABLE IF EXISTS test.t10;
-DROP TABLE IF EXISTS test.t11;
-DROP DATABASE IF EXISTS test1;
-DROP DATABASE IF EXISTS test4;
-DROP DATABASE IF EXISTS db_datadict;
-DROP DATABASE IF EXISTS db_datadict_1;
-DROP DATABASE IF EXISTS db_datadict_2;
diff --git a/mysql-test/suite/funcs_1/r/myisam__load.result b/mysql-test/suite/funcs_1/r/myisam__load.result
deleted file mode 100644
index c1b9c89b257..00000000000
--- a/mysql-test/suite/funcs_1/r/myisam__load.result
+++ /dev/null
@@ -1 +0,0 @@
-SET @NO_REFRESH = IF( '' = '', 0, 1);
diff --git a/mysql-test/suite/funcs_1/r/myisam_bitdata.result b/mysql-test/suite/funcs_1/r/myisam_bitdata.result
index 8d78b70c333..917157fcdae 100644
--- a/mysql-test/suite/funcs_1/r/myisam_bitdata.result
+++ b/mysql-test/suite/funcs_1/r/myisam_bitdata.result
@@ -1,76 +1,3 @@
-SET @NO_REFRESH = IF( '' = '', 0, 1);
-USE test;
-drop table if exists tb4 ;
-create table tb4 (
-f176 numeric (0) unsigned not null DEFAULT 9,
-f177 numeric (64) unsigned not null DEFAULT 9,
-f178 numeric (0) zerofill not null DEFAULT 9,
-f179 numeric (64) zerofill not null DEFAULT 9,
-f180 numeric (0) unsigned zerofill not null DEFAULT 9,
-f181 numeric (64) unsigned zerofill not null DEFAULT 9,
-f182 numeric (0,0) not null DEFAULT 9,
-f183 numeric (63,30) not null DEFAULT 9,
-f184 numeric (0,0) unsigned not null DEFAULT 9,
-f185 numeric (63,30) unsigned not null DEFAULT 9,
-f186 numeric (0,0) zerofill not null DEFAULT 9,
-f187 numeric (63,30) zerofill not null DEFAULT 9,
-f188 numeric (0,0) unsigned zerofill not null DEFAULT 9,
-f189 numeric (63,30) unsigned zerofill not null DEFAULT 9,
-f190 real not null DEFAULT 88.8,
-f191 real unsigned not null DEFAULT 88.8,
-f192 real zerofill not null DEFAULT 88.8,
-f193 real unsigned zerofill not null DEFAULT 88.8,
-f194 double not null DEFAULT 55.5,
-f195 double unsigned not null DEFAULT 55.5,
-f196 double zerofill not null DEFAULT 55.5,
-f197 double unsigned zerofill not null DEFAULT 55.5,
-f198 float,
-f199 float unsigned,
-f200 float zerofill,
-f201 float unsigned zerofill,
-f202 float(0),
-f203 float(23),
-f204 float(0) unsigned,
-f205 float(23) unsigned,
-f206 float(0) zerofill,
-f207 float(23) zerofill,
-f208 float(0) unsigned zerofill,
-f209 float(23) unsigned zerofill,
-f210 float(24),
-f211 float(53),
-f212 float(24) unsigned,
-f213 float(53) unsigned,
-f214 float(24) zerofill,
-f215 float(53) zerofill,
-f216 float(24) unsigned zerofill,
-f217 float(53) unsigned zerofill,
-f218 date,
-f219 time,
-f220 datetime,
-f221 timestamp,
-f222 year,
-f223 year(3),
-f224 year(4),
-f225 enum("1enum","2enum"),
-f226 set("1set","2set"),
-f227 VARBINARY(64),
-f228 VARBINARY(27),
-f229 VARBINARY(64),
-f230 VARBINARY(192),
-f231 VARBINARY(192),
-f232 VARBINARY(27),
-f233 VARBINARY(64),
-f234 VARBINARY(192),
-f235 char(255) unicode,
-f236 char(60) ascii,
-f237 char(255) binary,
-f238 varchar(0) binary,
-f239 varbinary(1000),
-f240 varchar(120) unicode,
-f241 char(100) unicode,
-f242 bit(30)
-) engine = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/myisam_tb4.txt' into table tb4 ;
NOT YET IMPLEMENTED: bitdata tests
--------------------------------------------------------------------------------
diff --git a/mysql-test/suite/funcs_1/r/myisam_cursors.result b/mysql-test/suite/funcs_1/r/myisam_cursors.result
index 35b567105f7..9f20e51204b 100644
--- a/mysql-test/suite/funcs_1/r/myisam_cursors.result
+++ b/mysql-test/suite/funcs_1/r/myisam_cursors.result
@@ -1,84 +1,3 @@
-SET @NO_REFRESH = IF( '' = '', 0, 1);
-USE test;
-drop table if exists tb1 ;
-create table tb1 (
-f1 char,
-f2 char binary,
-f3 char ascii,
-f4 tinytext unicode,
-f5 text,
-f6 mediumtext,
-f7 longtext,
-f8 tinyblob,
-f9 blob,
-f10 mediumblob,
-f11 longblob,
-f12 binary,
-f13 tinyint,
-f14 tinyint unsigned,
-f15 tinyint zerofill,
-f16 tinyint unsigned zerofill,
-f17 smallint,
-f18 smallint unsigned,
-f19 smallint zerofill,
-f20 smallint unsigned zerofill,
-f21 mediumint,
-f22 mediumint unsigned,
-f23 mediumint zerofill,
-f24 mediumint unsigned zerofill,
-f25 int,
-f26 int unsigned,
-f27 int zerofill,
-f28 int unsigned zerofill,
-f29 bigint,
-f30 bigint unsigned,
-f31 bigint zerofill,
-f32 bigint unsigned zerofill,
-f33 decimal not null DEFAULT 9.9,
-f34 decimal unsigned not null DEFAULT 9.9,
-f35 decimal zerofill not null DEFAULT 9.9,
-f36 decimal unsigned zerofill not null DEFAULT 9.9,
-f37 decimal (0) not null DEFAULT 9.9,
-f38 decimal (64) not null DEFAULT 9.9,
-f39 decimal (0) unsigned not null DEFAULT 9.9,
-f40 decimal (64) unsigned not null DEFAULT 9.9,
-f41 decimal (0) zerofill not null DEFAULT 9.9,
-f42 decimal (64) zerofill not null DEFAULT 9.9,
-f43 decimal (0) unsigned zerofill not null DEFAULT 9.9,
-f44 decimal (64) unsigned zerofill not null DEFAULT 9.9,
-f45 decimal (0,0) not null DEFAULT 9.9,
-f46 decimal (63,30) not null DEFAULT 9.9,
-f47 decimal (0,0) unsigned not null DEFAULT 9.9,
-f48 decimal (63,30) unsigned not null DEFAULT 9.9,
-f49 decimal (0,0) zerofill not null DEFAULT 9.9,
-f50 decimal (63,30) zerofill not null DEFAULT 9.9,
-f51 decimal (0,0) unsigned zerofill not null DEFAULT 9.9,
-f52 decimal (63,30) unsigned zerofill not null DEFAULT 9.9,
-f53 numeric not null DEFAULT 99,
-f54 numeric unsigned not null DEFAULT 99,
-f55 numeric zerofill not null DEFAULT 99,
-f56 numeric unsigned zerofill not null DEFAULT 99,
-f57 numeric (0) not null DEFAULT 99,
-f58 numeric (64) not null DEFAULT 99
-) engine = myisam;
-Warnings:
-Note 1265 Data truncated for column 'f33' at row 1
-Note 1265 Data truncated for column 'f34' at row 1
-Note 1265 Data truncated for column 'f35' at row 1
-Note 1265 Data truncated for column 'f36' at row 1
-Note 1265 Data truncated for column 'f37' at row 1
-Note 1265 Data truncated for column 'f38' at row 1
-Note 1265 Data truncated for column 'f39' at row 1
-Note 1265 Data truncated for column 'f40' at row 1
-Note 1265 Data truncated for column 'f41' at row 1
-Note 1265 Data truncated for column 'f42' at row 1
-Note 1265 Data truncated for column 'f43' at row 1
-Note 1265 Data truncated for column 'f44' at row 1
-Note 1265 Data truncated for column 'f45' at row 1
-Note 1265 Data truncated for column 'f47' at row 1
-Note 1265 Data truncated for column 'f49' at row 1
-Note 1265 Data truncated for column 'f51' at row 1
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/myisam_tb1.txt' into table tb1 ;
NOT YET IMPLEMENTED: cursor tests
--------------------------------------------------------------------------------
diff --git a/mysql-test/suite/funcs_1/r/myisam_func_view.result b/mysql-test/suite/funcs_1/r/myisam_func_view.result
index 94cba9796a2..96e4f23976b 100644
--- a/mysql-test/suite/funcs_1/r/myisam_func_view.result
+++ b/mysql-test/suite/funcs_1/r/myisam_func_view.result
@@ -1,7 +1,3 @@
-
-! Attention: The file with the expected results suffers from
-Bug#10713: mysqldump includes database in create view and referenced tables
---------------------------------------------------------------------------------
DROP TABLE IF EXISTS t1_selects, t1_modes, t1_values;
DROP VIEW IF EXISTS v1;
CREATE TABLE t1_values
@@ -9,7 +5,7 @@ CREATE TABLE t1_values
id BIGINT AUTO_INCREMENT,
select_id BIGINT,
PRIMARY KEY(id)
-) ENGINE = 'MYISAM' ;
+) 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);
@@ -39,10 +35,10 @@ my_bigint = -9223372036854775808,
my_decimal = -9999999999999999999999999999999999.999999999999999999999999999999 ,
my_double = -1.7976931348623E+308;
INSERT INTO t1_values SET
-my_char_30 = '<--------30 characters------->',
+my_char_30 = '<--------30 characters------->',
my_varchar_1000 = CONCAT('<---------1000 characters',
RPAD('',965,'-'),'--------->'),
-my_binary_30 = '<--------30 characters------->',
+my_binary_30 = '<--------30 characters------->',
my_varbinary_1000 = CONCAT('<---------1000 characters',
RPAD('',965,'-'),'--------->'),
my_datetime = '9999-12-31 23:59:59',
@@ -54,23 +50,23 @@ 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_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_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_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',
@@ -89,6 +85,9 @@ 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,
@@ -101,6 +100,7 @@ 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,
@@ -113,6 +113,7 @@ 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,
@@ -123,10 +124,9 @@ 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;
-
-some statements disabled because of
-Bug#12440: CAST(data type DOUBLE AS TIME) strange results
---------------------------------------------------------------------------------
+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,
@@ -135,51 +135,39 @@ 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';
-
-some statements disabled because of
-Bug#13349: CAST(1.0E+300 TO DECIMAL) returns wrong result + diff little/big endian
---------------------------------------------------------------------------------
+INSERT INTO t1_values SET select_id = @select_id,
+my_double = -0.33333333E+4;
+##### 1.1.7. CAST --> SIGNED INTEGER
"Attention: CAST --> SIGNED INTEGER
- The file with expected results suffers from
- Bug#5083 Big integer values are inserted as negative into
- decimal/string columns
Bug#5913 Traditional mode: BIGINT range not correctly delimited
- Both have the status: To be fixed later"
---------------------------------------------------------------------------------
-
-some statements disabled because of
-Bug #13344: CAST(1E+300 TO signed int) on little endian CPU, wrong result
+ Status: To be fixed later"
--------------------------------------------------------------------------------
+##### 1.1.8. CAST --> UNSIGNED INTEGER
"Attention: CAST --> UNSIGNED INTEGER
- The file with expected results suffers from Bug 5083 5913 9809"
+ The file with expected results suffers from Bug 5913"
--------------------------------------------------------------------------------
some statements disabled because of
-Bugs#8663: cant use bgint unsigned as input to cast
+Bug#5913 Traditional mode: BIGINT range not correctly delimited
--------------------------------------------------------------------------------
-SET @my_select = 'SELECT CONVERT(my_char_30 USING utf8),
+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),
+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),
+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),
+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),
+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),
+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),
+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),
+SET @my_select = 'SELECT CONVERT(my_varbinary_1000 USING koi8r),
my_varbinary_1000, id FROM t1_values';
-
-"Attention: IF(my_year IS NULL, ...
- The file with expected results suffers from
- Bug#11689. successful CREATE VIEW but SELECT on view fails."
---------------------------------------------------------------------------------
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),
@@ -192,22 +180,20 @@ 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 =
+SET @my_select =
'SELECT LEFT(my_char_30, 2), my_char_30, id FROM t1_values';
-SET @my_select =
+SET @my_select =
'SELECT LEFT(my_varchar_1000, 2), my_varchar_1000, id FROM t1_values';
-SET @my_select =
+SET @my_select =
'SELECT LEFT(my_binary_30, 2), my_binary_30, id FROM t1_values';
-SET @my_select =
+SET @my_select =
'SELECT LEFT(my_varbinary_1000, 2), my_varbinary_1000, id FROM t1_values';
-
-"Attention: LEFT('AaBbCcDdEeFfGgHhIiJjÄäÜüÖö', <numeric column>)
- The file with expected results suffers from Bug 10963 11728"
- and the testcases with length = BIGINT or DOUBLE column are deactivated,
-because there are 32/64 Bit differences
---------------------------------------------------------------------------------
+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),
@@ -216,8 +202,10 @@ 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(''../log/current_test''), id FROM t1_values';
+SET @my_select =
+'SELECT LOAD_FILE(''<MYSQLTEST_VARDIR>/std_data_ln/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),
@@ -299,19 +287,19 @@ SET sql_mode = '';
--------------------------------------------------------------------------------
CREATE VIEW v1 AS SELECT my_char_30, id FROM t1_values;
SELECT my_char_30, id FROM t1_values
-WHERE select_id = 187 OR select_id IS NULL;
+WHERE select_id = 193 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 187 OR select_id IS NULL);
+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 = 186 OR select_id IS NULL;
+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
@@ -319,11 +307,11 @@ A<--------30 characters-------> <--------30 characters-------> 3
A ---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
A-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select concat(_latin1'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`
+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 = 186 OR select_id IS NULL);
+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
@@ -337,13 +325,13 @@ 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 = 185 OR select_id IS NULL;
+WHERE select_id = 191 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 185 OR select_id IS NULL);
+WHERE select_id = 191 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -351,13 +339,13 @@ 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 = 184 OR select_id IS NULL;
+WHERE select_id = 190 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 184 OR select_id IS NULL);
+WHERE select_id = 190 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -365,13 +353,13 @@ 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 = 183 OR select_id IS NULL;
+WHERE select_id = 189 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 183 OR select_id IS NULL);
+WHERE select_id = 189 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -379,13 +367,13 @@ 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 = 182 OR select_id IS NULL;
+WHERE select_id = 188 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 182 OR select_id IS NULL);
+WHERE select_id = 188 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -393,13 +381,13 @@ 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 = 181 OR select_id IS NULL;
+WHERE select_id = 187 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 181 OR select_id IS NULL);
+WHERE select_id = 187 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -407,13 +395,13 @@ 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 = 180 OR select_id IS NULL;
+WHERE select_id = 186 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 180 OR select_id IS NULL);
+WHERE select_id = 186 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -421,13 +409,13 @@ 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 = 179 OR select_id IS NULL;
+WHERE select_id = 185 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 179 OR select_id IS NULL);
+WHERE select_id = 185 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -435,13 +423,13 @@ 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 = 178 OR select_id IS NULL;
+WHERE select_id = 184 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 178 OR select_id IS NULL);
+WHERE select_id = 184 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -449,13 +437,13 @@ 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 = 177 OR select_id IS NULL;
+WHERE select_id = 183 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'-',_latin1' - -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`
+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 = 177 OR select_id IS NULL);
+WHERE select_id = 183 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -463,13 +451,13 @@ 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 = 176 OR select_id IS NULL;
+WHERE select_id = 182 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'-',_latin1' - -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`
+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 = 176 OR select_id IS NULL);
+WHERE select_id = 182 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -477,13 +465,13 @@ 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 = 175 OR select_id IS NULL;
+WHERE select_id = 181 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'-',_latin1' - -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`
+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 = 175 OR select_id IS NULL);
+WHERE select_id = 181 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -491,13 +479,13 @@ 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 = 174 OR select_id IS NULL;
+WHERE select_id = 180 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'-',`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`
+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 = 174 OR select_id IS NULL);
+WHERE select_id = 180 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -505,13 +493,13 @@ 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 = 173 OR select_id IS NULL;
+WHERE select_id = 179 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'-',`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`
+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 = 173 OR select_id IS NULL);
+WHERE select_id = 179 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -519,13 +507,13 @@ 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 = 172 OR select_id IS NULL;
+WHERE select_id = 178 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'-',`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`
+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 = 172 OR select_id IS NULL);
+WHERE select_id = 178 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -533,13 +521,13 @@ 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 = 171 OR select_id IS NULL;
+WHERE select_id = 177 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'-',`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`
+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 = 171 OR select_id IS NULL);
+WHERE select_id = 177 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -547,13 +535,13 @@ 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 = 170 OR select_id IS NULL;
+WHERE select_id = 176 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 170 OR select_id IS NULL);
+WHERE select_id = 176 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -561,13 +549,13 @@ 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 = 169 OR select_id IS NULL;
+WHERE select_id = 175 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 169 OR select_id IS NULL);
+WHERE select_id = 175 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -575,13 +563,13 @@ 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 = 168 OR select_id IS NULL;
+WHERE select_id = 174 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 168 OR select_id IS NULL);
+WHERE select_id = 174 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -589,13 +577,13 @@ 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 = 167 OR select_id IS NULL;
+WHERE select_id = 173 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 167 OR select_id IS NULL);
+WHERE select_id = 173 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -603,13 +591,13 @@ 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 = 166 OR select_id IS NULL;
+WHERE select_id = 172 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 166 OR select_id IS NULL);
+WHERE select_id = 172 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -617,13 +605,13 @@ 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 = 165 OR select_id IS NULL;
+WHERE select_id = 171 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 165 OR select_id IS NULL);
+WHERE select_id = 171 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -631,13 +619,13 @@ 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 = 164 OR select_id IS NULL;
+WHERE select_id = 170 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 164 OR select_id IS NULL);
+WHERE select_id = 170 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -645,13 +633,13 @@ 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 = 163 OR select_id IS NULL;
+WHERE select_id = 169 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 163 OR select_id IS NULL);
+WHERE select_id = 169 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -659,13 +647,13 @@ 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 = 162 OR select_id IS NULL;
+WHERE select_id = 168 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 162 OR select_id IS NULL);
+WHERE select_id = 168 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -673,13 +661,13 @@ 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 = 161 OR select_id IS NULL;
+WHERE select_id = 167 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 161 OR select_id IS NULL);
+WHERE select_id = 167 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -687,13 +675,13 @@ 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 = 160 OR select_id IS NULL;
+WHERE select_id = 166 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 160 OR select_id IS NULL);
+WHERE select_id = 166 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -701,13 +689,13 @@ 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 = 159 OR select_id IS NULL;
+WHERE select_id = 165 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 159 OR select_id IS NULL);
+WHERE select_id = 165 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -715,13 +703,13 @@ 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 = 158 OR select_id IS NULL;
+WHERE select_id = 164 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 158 OR select_id IS NULL);
+WHERE select_id = 164 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -729,13 +717,13 @@ 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 = 157 OR select_id IS NULL;
+WHERE select_id = 163 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 157 OR select_id IS NULL);
+WHERE select_id = 163 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -743,13 +731,13 @@ 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 = 156 OR select_id IS NULL;
+WHERE select_id = 162 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 156 OR select_id IS NULL);
+WHERE select_id = 162 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -757,13 +745,13 @@ 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 = 155 OR select_id IS NULL;
+WHERE select_id = 161 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 155 OR select_id IS NULL);
+WHERE select_id = 161 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -771,13 +759,13 @@ 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 = 154 OR select_id IS NULL;
+WHERE select_id = 160 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'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`
+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 = 154 OR select_id IS NULL);
+WHERE select_id = 160 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -785,13 +773,13 @@ 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 = 153 OR select_id IS NULL;
+WHERE select_id = 159 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'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`
+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 = 153 OR select_id IS NULL);
+WHERE select_id = 159 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -799,13 +787,13 @@ 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 = 152 OR select_id IS NULL;
+WHERE select_id = 158 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'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`
+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 = 152 OR select_id IS NULL);
+WHERE select_id = 158 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -813,46 +801,50 @@ 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 = 151 OR select_id IS NULL;
+WHERE select_id = 157 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'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`
+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 = 151 OR select_id IS NULL);
+WHERE select_id = 157 OR select_id IS NULL) order by id;
DROP VIEW v1;
-CREATE VIEW v1 AS SELECT LOAD_FILE('../log/current_test'), id FROM t1_values;
-SELECT LOAD_FILE('../log/current_test'), id FROM t1_values
-WHERE select_id = 150 OR select_id IS NULL;
-LOAD_FILE('../log/current_test') id
-CURRENT_TEST: myisam_func_view
+CREATE VIEW v1 AS SELECT LOAD_FILE('<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/load_file.txt')
+ AS my_col,
+ id FROM t1_values;
+SELECT LOAD_FILE('<MYSQLTEST_VARDIR>/std_data_ln/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
-CURRENT_TEST: myisam_func_view
+Here is content from load_file
2
-CURRENT_TEST: myisam_func_view
+Here is content from load_file
3
-CURRENT_TEST: myisam_func_view
+Here is content from load_file
4
-CURRENT_TEST: myisam_func_view
+Here is content from load_file
5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select load_file(_latin1'../log/current_test') AS `LOAD_FILE('../log/current_test')`,`t1_values`.`id` AS `id` from `t1_values`
+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_ln/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 = 150 OR select_id IS NULL);
-LOAD_FILE('../log/current_test') id
-CURRENT_TEST: myisam_func_view
+WHERE select_id = 156 OR select_id IS NULL) order by id;
+my_col id
+Here is content from load_file
1
-CURRENT_TEST: myisam_func_view
+Here is content from load_file
2
-CURRENT_TEST: myisam_func_view
+Here is content from load_file
3
-CURRENT_TEST: myisam_func_view
+Here is content from load_file
4
-CURRENT_TEST: myisam_func_view
+Here is content from load_file
5
DROP VIEW v1;
@@ -861,13 +853,13 @@ 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 = 149 OR select_id IS NULL;
+WHERE select_id = 155 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 149 OR select_id IS NULL);
+WHERE select_id = 155 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -875,13 +867,13 @@ 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 = 148 OR select_id IS NULL;
+WHERE select_id = 154 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 148 OR select_id IS NULL);
+WHERE select_id = 154 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -889,13 +881,13 @@ 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 = 147 OR select_id IS NULL;
+WHERE select_id = 153 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 147 OR select_id IS NULL);
+WHERE select_id = 153 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -903,19 +895,49 @@ 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 = 146 OR select_id IS NULL;
+WHERE select_id = 152 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 146 OR select_id IS NULL);
+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.7976931348623e+308 2
+AaBbCcDdEeFfGgHhIiJjÄäÜüÖö 1.7976931348623e+308 3
+ 0 4
+ -1 5
+Warnings:
+Warning 1292 Truncated incorrect INTEGER value: '-1.7976931348623e+308'
+Warning 1292 Truncated incorrect INTEGER value: '1.7976931348623e+308'
+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.7976931348623e+308 2
+AaBbCcDdEeFfGgHhIiJjÄäÜüÖö 1.7976931348623e+308 3
+ 0 4
+ -1 5
+Warnings:
+Warning 1292 Truncated incorrect INTEGER value: '-1.7976931348623e+308'
+Warning 1292 Truncated incorrect INTEGER value: '1.7976931348623e+308'
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 = 145 OR select_id IS NULL;
+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
@@ -926,11 +948,11 @@ Warnings:
Error 1292 Truncated incorrect DECIMAL value: ''
Error 1292 Truncated incorrect DECIMAL value: ''
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select left(_latin1'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`
+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 = 145 OR select_id IS NULL);
+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
@@ -943,9 +965,33 @@ Error 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 = 144 OR select_id IS NULL;
+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
@@ -953,11 +999,11 @@ NULL NULL 1
- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 144 OR select_id IS NULL);
+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
@@ -969,19 +1015,19 @@ 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 = 143 OR select_id IS NULL;
+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
- - ---äÖüß@µ*$--
--1 -1
+ - ---äÖüß@µ*$-- 4
+-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 143 OR select_id IS NULL);
+WHERE select_id = 147 OR select_id IS NULL) order by id;
LEFT(my_binary_30, 2) my_binary_30 id
NULL NULL 1
@@ -993,7 +1039,7 @@ 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 = 142 OR select_id IS NULL;
+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
@@ -1001,11 +1047,11 @@ NULL NULL 1
- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 142 OR select_id IS NULL);
+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
@@ -1017,7 +1063,7 @@ 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 = 141 OR select_id IS NULL;
+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
@@ -1025,11 +1071,11 @@ NULL NULL 1
- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 141 OR select_id IS NULL);
+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
@@ -1043,13 +1089,13 @@ 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 = 140 OR select_id IS NULL;
+WHERE select_id = 144 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 140 OR select_id IS NULL);
+WHERE select_id = 144 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -1057,13 +1103,13 @@ 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 = 139 OR select_id IS NULL;
+WHERE select_id = 143 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'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`
+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 = 139 OR select_id IS NULL);
+WHERE select_id = 143 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -1071,7 +1117,7 @@ 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 = 138 OR select_id IS NULL;
+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
@@ -1079,11 +1125,11 @@ NULL NULL 1
160 ---äÖüß@µ*$-- 4
16 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 138 OR select_id IS NULL);
+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
@@ -1097,19 +1143,19 @@ 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 = 137 OR select_id IS NULL;
+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 2
240 <--------30 characters-------> 3
-240 ---äÖüß@µ*$--
-240 -1
+240 ---äÖüß@µ*$-- 4
+240 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 137 OR select_id IS NULL);
+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
@@ -1123,7 +1169,7 @@ 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 = 136 OR select_id IS NULL;
+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
@@ -1131,11 +1177,11 @@ NULL NULL 1
160 ---äÖüß@µ*$-- 4
16 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 136 OR select_id IS NULL);
+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
@@ -1149,7 +1195,7 @@ 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 = 135 OR select_id IS NULL;
+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
@@ -1157,11 +1203,11 @@ NULL NULL 1
152 ---äÖüß@µ*$-- 4
16 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 135 OR select_id IS NULL);
+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
@@ -1175,7 +1221,7 @@ 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 = 134 OR select_id IS NULL;
+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
@@ -1183,11 +1229,11 @@ IS_NULL NULL 1
2000 2000 4
2005 2005 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_year`,_latin1'IS_NULL') AS `IFNULL(my_year,'IS_NULL')`,`t1_values`.`my_year` AS `my_year`,`t1_values`.`id` AS `id` from `t1_values`
+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 = 134 OR select_id IS NULL);
+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
@@ -1201,7 +1247,7 @@ 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 = 133 OR select_id IS NULL;
+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
@@ -1209,11 +1255,11 @@ IS_NULL NULL 1
13:00:00 13:00:00 4
10:00:00 10:00:00 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_time`,_latin1'IS_NULL') AS `IFNULL(my_time,'IS_NULL')`,`t1_values`.`my_time` AS `my_time`,`t1_values`.`id` AS `id` from `t1_values`
+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 = 133 OR select_id IS NULL);
+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
@@ -1227,7 +1273,7 @@ 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 = 132 OR select_id IS NULL;
+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
@@ -1235,11 +1281,11 @@ IFNULL(my_timestamp,'IS_NULL') my_timestamp id
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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_timestamp`,_latin1'IS_NULL') AS `IFNULL(my_timestamp,'IS_NULL')`,`t1_values`.`my_timestamp` AS `my_timestamp`,`t1_values`.`id` AS `id` from `t1_values`
+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 = 132 OR select_id IS NULL);
+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
@@ -1253,7 +1299,7 @@ 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 = 131 OR select_id IS NULL;
+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
@@ -1261,11 +1307,11 @@ IS_NULL NULL 1
2004-02-29 2004-02-29 4
2005-06-28 2005-06-28 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_date`,_latin1'IS_NULL') AS `IFNULL(my_date,'IS_NULL')`,`t1_values`.`my_date` AS `my_date`,`t1_values`.`id` AS `id` from `t1_values`
+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 = 131 OR select_id IS NULL);
+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
@@ -1279,7 +1325,7 @@ 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 = 130 OR select_id IS NULL;
+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
@@ -1287,11 +1333,11 @@ IS_NULL NULL 1
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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_datetime`,_latin1'IS_NULL') AS `IFNULL(my_datetime,'IS_NULL')`,`t1_values`.`my_datetime` AS `my_datetime`,`t1_values`.`id` AS `id` from `t1_values`
+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 = 130 OR select_id IS NULL);
+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
@@ -1305,7 +1351,7 @@ 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 = 129 OR select_id IS NULL;
+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.7976931348623e+308 -1.7976931348623e+308 2
@@ -1313,11 +1359,11 @@ IS_NULL NULL 1
0 0 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_double`,_latin1'IS_NULL') AS `IFNULL(my_double,'IS_NULL')`,`t1_values`.`my_double` AS `my_double`,`t1_values`.`id` AS `id` from `t1_values`
+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 = 129 OR select_id IS NULL);
+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.7976931348623e+308 -1.7976931348623e+308 2
@@ -1331,7 +1377,7 @@ 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 = 128 OR select_id IS NULL;
+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
@@ -1339,11 +1385,11 @@ IS_NULL NULL 1
0.000000000000000000000000000000 0.000000000000000000000000000000 4
-1.000000000000000000000000000000 -1.000000000000000000000000000000 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_decimal`,_latin1'IS_NULL') AS `IFNULL(my_decimal,'IS_NULL')`,`t1_values`.`my_decimal` AS `my_decimal`,`t1_values`.`id` AS `id` from `t1_values`
+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 = 128 OR select_id IS NULL);
+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
@@ -1357,7 +1403,7 @@ 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 = 127 OR select_id IS NULL;
+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
@@ -1365,11 +1411,11 @@ IS_NULL NULL 1
0 0 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_bigint`,_latin1'IS_NULL') AS `IFNULL(my_bigint,'IS_NULL')`,`t1_values`.`my_bigint` AS `my_bigint`,`t1_values`.`id` AS `id` from `t1_values`
+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 = 127 OR select_id IS NULL);
+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
@@ -1383,7 +1429,7 @@ 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 = 126 OR select_id IS NULL;
+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
@@ -1391,11 +1437,11 @@ IS_NULL NULL 1
---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_varbinary_1000`,_latin1'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`
+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 = 126 OR select_id IS NULL);
+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
@@ -1409,19 +1455,19 @@ 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 = 125 OR select_id IS NULL;
+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
- ---äÖüß@µ*$--
--1
+ ---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
+-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_binary_30`,_latin1'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`
+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 = 125 OR select_id IS NULL);
+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
@@ -1435,7 +1481,7 @@ 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 = 124 OR select_id IS NULL;
+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
@@ -1443,11 +1489,11 @@ IS_NULL NULL 1
---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_varchar_1000`,_latin1'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`
+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 = 124 OR select_id IS NULL);
+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
@@ -1461,7 +1507,7 @@ 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 = 123 OR select_id IS NULL;
+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
@@ -1469,11 +1515,11 @@ IS_NULL NULL 1
---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_char_30`,_latin1'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`
+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 = 123 OR select_id IS NULL);
+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
@@ -1487,7 +1533,7 @@ 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 = 122 OR select_id IS NULL;
+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
@@ -1496,12 +1542,12 @@ IS NOT NULL 2155 3
IS NOT NULL 2000 4
IS NOT NULL 2005 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_year`),_latin1'IS NULL',_latin1'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`
+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 = 122 OR select_id IS NULL);
+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
@@ -1516,7 +1562,7 @@ 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 = 121 OR select_id IS NULL;
+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
@@ -1525,12 +1571,12 @@ 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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_time`),_latin1'IS NULL',_latin1'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`
+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 = 121 OR select_id IS NULL);
+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
@@ -1545,7 +1591,7 @@ 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 = 120 OR select_id IS NULL;
+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
@@ -1554,12 +1600,12 @@ 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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_timestamp`),_latin1'IS NULL',_latin1'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`
+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 = 120 OR select_id IS NULL);
+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
@@ -1574,7 +1620,7 @@ 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 = 119 OR select_id IS NULL;
+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
@@ -1583,12 +1629,12 @@ 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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_date`),_latin1'IS NULL',_latin1'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`
+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 = 119 OR select_id IS NULL);
+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
@@ -1603,7 +1649,7 @@ 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 = 118 OR select_id IS NULL;
+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
@@ -1612,12 +1658,12 @@ 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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_datetime`),_latin1'IS NULL',_latin1'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`
+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 = 118 OR select_id IS NULL);
+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
@@ -1632,7 +1678,7 @@ 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 = 117 OR select_id IS NULL;
+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
@@ -1641,12 +1687,12 @@ IS NOT NULL 1.7976931348623e+308 3
IS NOT NULL 0 4
IS NOT NULL -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_double`),_latin1'IS NULL',_latin1'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`
+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 = 117 OR select_id IS NULL);
+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
@@ -1661,7 +1707,7 @@ 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 = 116 OR select_id IS NULL;
+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
@@ -1670,12 +1716,12 @@ 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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_decimal`),_latin1'IS NULL',_latin1'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`
+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 = 116 OR select_id IS NULL);
+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
@@ -1690,7 +1736,7 @@ 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 = 115 OR select_id IS NULL;
+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
@@ -1699,12 +1745,12 @@ IS NOT NULL 9223372036854775807 3
IS NOT NULL 0 4
IS NOT NULL -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_bigint`),_latin1'IS NULL',_latin1'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`
+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 = 115 OR select_id IS NULL);
+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
@@ -1719,7 +1765,7 @@ 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 = 114 OR select_id IS NULL;
+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
@@ -1728,12 +1774,12 @@ IS NOT NULL <---------1000 characters-------------------------------------------
IS NOT NULL ---äÖüß@µ*$-- 4
IS NOT NULL -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_varbinary_1000`),_latin1'IS NULL',_latin1'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`
+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 = 114 OR select_id IS NULL);
+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
@@ -1748,21 +1794,21 @@ 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 = 113 OR select_id IS NULL;
+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 2
IS NOT NULL <--------30 characters-------> 3
-IS NOT NULL ---äÖüß@µ*$--
-IS NOT NULL -1
+IS NOT NULL ---äÖüß@µ*$-- 4
+IS NOT NULL -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_binary_30`),_latin1'IS NULL',_latin1'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`
+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 = 113 OR select_id IS NULL);
+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
@@ -1777,7 +1823,7 @@ 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 = 112 OR select_id IS NULL;
+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
@@ -1786,12 +1832,12 @@ IS NOT NULL <---------1000 characters-------------------------------------------
IS NOT NULL ---äÖüß@µ*$-- 4
IS NOT NULL -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_varchar_1000`),_latin1'IS NULL',_latin1'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`
+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 = 112 OR select_id IS NULL);
+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
@@ -1806,7 +1852,7 @@ 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 = 111 OR select_id IS NULL;
+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
@@ -1815,12 +1861,12 @@ IS NOT NULL <--------30 characters-------> 3
IS NOT NULL ---äÖüß@µ*$-- 4
IS NOT NULL -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_char_30`),_latin1'IS NULL',_latin1'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`
+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 = 111 OR select_id IS NULL);
+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
@@ -1835,7 +1881,7 @@ 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 = 110 OR select_id IS NULL;
+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
@@ -1843,11 +1889,11 @@ IS TRUE 2155 3
IS TRUE 2000 4
IS TRUE 2005 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_year`,_latin1'IS TRUE',_latin1'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`
+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 = 110 OR select_id IS NULL);
+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
@@ -1861,7 +1907,7 @@ 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 = 109 OR select_id IS NULL;
+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
@@ -1869,11 +1915,11 @@ 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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_time`,_latin1'IS TRUE',_latin1'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`
+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 = 109 OR select_id IS NULL);
+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
@@ -1887,7 +1933,7 @@ 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 = 108 OR select_id IS NULL;
+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
@@ -1895,11 +1941,11 @@ 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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_timestamp`,_latin1'IS TRUE',_latin1'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`
+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 = 108 OR select_id IS NULL);
+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
@@ -1913,7 +1959,7 @@ 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 = 107 OR select_id IS NULL;
+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
@@ -1921,11 +1967,11 @@ 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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_date`,_latin1'IS TRUE',_latin1'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`
+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 = 107 OR select_id IS NULL);
+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
@@ -1939,7 +1985,7 @@ 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 = 106 OR select_id IS NULL;
+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
@@ -1947,11 +1993,11 @@ 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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_datetime`,_latin1'IS TRUE',_latin1'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`
+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 = 106 OR select_id IS NULL);
+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
@@ -1965,7 +2011,7 @@ 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 = 105 OR select_id IS NULL;
+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.7976931348623e+308 2
@@ -1973,11 +2019,11 @@ IS TRUE 1.7976931348623e+308 3
IS NOT TRUE 0 4
IS TRUE -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_double`,_latin1'IS TRUE',_latin1'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`
+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 = 105 OR select_id IS NULL);
+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.7976931348623e+308 2
@@ -1991,7 +2037,7 @@ 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 = 104 OR select_id IS NULL;
+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
@@ -1999,11 +2045,11 @@ IS TRUE 9999999999999999999999999999999999.999999999999999999999999999999 3
IS NOT TRUE 0.000000000000000000000000000000 4
IS TRUE -1.000000000000000000000000000000 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_decimal`,_latin1'IS TRUE',_latin1'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`
+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 = 104 OR select_id IS NULL);
+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
@@ -2017,7 +2063,7 @@ 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 = 103 OR select_id IS NULL;
+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
@@ -2025,11 +2071,11 @@ IS TRUE 9223372036854775807 3
IS NOT TRUE 0 4
IS TRUE -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_bigint`,_latin1'IS TRUE',_latin1'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`
+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 = 103 OR select_id IS NULL);
+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
@@ -2043,7 +2089,7 @@ 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 = 102 OR select_id IS NULL;
+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
@@ -2051,11 +2097,11 @@ IS NOT TRUE <---------1000 characters-------------------------------------------
IS NOT TRUE ---äÖüß@µ*$-- 4
IS TRUE -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_varbinary_1000`,_latin1'IS TRUE',_latin1'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`
+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 = 102 OR select_id IS NULL);
+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
@@ -2069,24 +2115,24 @@ 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 = 101 OR select_id IS NULL;
+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 2
IS NOT TRUE <--------30 characters-------> 3
-IS NOT TRUE ---äÖüß@µ*$--
-IS TRUE -1
+IS NOT TRUE ---äÖüß@µ*$-- 4
+IS TRUE -1 5
Warnings:
Warning 1292 Truncated incorrect DOUBLE value: ''
Warning 1292 Truncated incorrect DOUBLE value: '<--------30 characters------->'
Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$-- '
Warning 1292 Truncated incorrect DOUBLE value: '-1'
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_binary_30`,_latin1'IS TRUE',_latin1'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`
+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 = 101 OR select_id IS NULL);
+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
@@ -2105,7 +2151,7 @@ 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 = 100 OR select_id IS NULL;
+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
@@ -2113,11 +2159,11 @@ IS NOT TRUE <---------1000 characters-------------------------------------------
IS NOT TRUE ---äÖüß@µ*$-- 4
IS TRUE -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_varchar_1000`,_latin1'IS TRUE',_latin1'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`
+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 = 100 OR select_id IS NULL);
+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
@@ -2131,7 +2177,7 @@ 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 = 99 OR select_id IS NULL;
+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
@@ -2142,11 +2188,11 @@ Warnings:
Warning 1292 Truncated incorrect DOUBLE value: '<--------30 characters------->'
Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$-- '
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_char_30`,_latin1'IS TRUE',_latin1'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`
+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 = 99 OR select_id IS NULL);
+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
@@ -2159,11 +2205,11 @@ Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$-- '
DROP VIEW v1;
-CREATE VIEW v1 AS SELECT CONVERT(my_varbinary_1000 USING koi8r),
+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),
+SELECT CONVERT(my_varbinary_1000 USING koi8r),
my_varbinary_1000, id FROM t1_values
-WHERE select_id = 98 OR select_id IS NULL;
+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
@@ -2171,11 +2217,11 @@ NULL NULL 1
---???????÷@??*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 98 OR select_id IS NULL);
+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
@@ -2185,23 +2231,23 @@ NULL NULL 1
DROP VIEW v1;
-CREATE VIEW v1 AS SELECT CONVERT(my_binary_30 USING koi8r),
+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),
+SELECT CONVERT(my_binary_30 USING koi8r),
my_binary_30, id FROM t1_values
-WHERE select_id = 97 OR select_id IS NULL;
+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
- ---???????÷@??*$--
--1
+ ---???????÷@??*$-- ---äÖüß@µ*$-- 4
+-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 97 OR select_id IS NULL);
+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
@@ -2211,11 +2257,11 @@ NULL NULL 1
DROP VIEW v1;
-CREATE VIEW v1 AS SELECT CONVERT(my_varchar_1000 USING koi8r),
+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),
+SELECT CONVERT(my_varchar_1000 USING koi8r),
my_varchar_1000, id FROM t1_values
-WHERE select_id = 96 OR select_id IS NULL;
+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
@@ -2223,11 +2269,11 @@ NULL NULL 1
---????????@??*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 96 OR select_id IS NULL);
+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
@@ -2237,11 +2283,11 @@ NULL NULL 1
DROP VIEW v1;
-CREATE VIEW v1 AS SELECT CONVERT(my_char_30 USING koi8r),
+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),
+SELECT CONVERT(my_char_30 USING koi8r),
my_char_30, id FROM t1_values
-WHERE select_id = 95 OR select_id IS NULL;
+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
@@ -2249,11 +2295,11 @@ NULL NULL 1
---????????@??*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 95 OR select_id IS NULL);
+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
@@ -2263,11 +2309,11 @@ NULL NULL 1
DROP VIEW v1;
-CREATE VIEW v1 AS SELECT CONVERT(my_varbinary_1000 USING utf8),
+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),
+SELECT CONVERT(my_varbinary_1000 USING utf8),
my_varbinary_1000, id FROM t1_values
-WHERE select_id = 94 OR select_id IS NULL;
+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
@@ -2275,11 +2321,11 @@ NULL NULL 1
---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 94 OR select_id IS NULL);
+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
@@ -2289,23 +2335,23 @@ NULL NULL 1
DROP VIEW v1;
-CREATE VIEW v1 AS SELECT CONVERT(my_binary_30 USING utf8),
+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),
+SELECT CONVERT(my_binary_30 USING utf8),
my_binary_30, id FROM t1_values
-WHERE select_id = 93 OR select_id IS NULL;
+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
- ---äÖüß@µ*$--
--1
+ ---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
+-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 93 OR select_id IS NULL);
+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
@@ -2315,11 +2361,11 @@ NULL NULL 1
DROP VIEW v1;
-CREATE VIEW v1 AS SELECT CONVERT(my_varchar_1000 USING utf8),
+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),
+SELECT CONVERT(my_varchar_1000 USING utf8),
my_varchar_1000, id FROM t1_values
-WHERE select_id = 92 OR select_id IS NULL;
+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
@@ -2327,11 +2373,11 @@ NULL NULL 1
---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 92 OR select_id IS NULL);
+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
@@ -2341,11 +2387,11 @@ NULL NULL 1
DROP VIEW v1;
-CREATE VIEW v1 AS SELECT CONVERT(my_char_30 USING utf8),
+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),
+SELECT CONVERT(my_char_30 USING utf8),
my_char_30, id FROM t1_values
-WHERE select_id = 91 OR select_id IS NULL;
+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
@@ -2353,11 +2399,11 @@ NULL NULL 1
---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 91 OR select_id IS NULL);
+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
@@ -2371,7 +2417,7 @@ 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 = 90 OR select_id IS NULL;
+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
@@ -2379,11 +2425,11 @@ NULL NULL 1
2000 2000 4
2005 2005 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 90 OR select_id IS NULL);
+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
@@ -2397,7 +2443,7 @@ 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 = 89 OR select_id IS NULL;
+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
@@ -2405,11 +2451,11 @@ NULL NULL 1
130000 13:00:00 4
100000 10:00:00 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 89 OR select_id IS NULL);
+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
@@ -2423,7 +2469,7 @@ 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 = 88 OR select_id IS NULL;
+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
@@ -2431,11 +2477,11 @@ CAST(my_timestamp AS UNSIGNED INTEGER) my_timestamp id
20040229235959 2004-02-29 23:59:59 4
20050628100000 2005-06-28 10:00:00 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 88 OR select_id IS NULL);
+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
@@ -2449,7 +2495,7 @@ 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 = 87 OR select_id IS NULL;
+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
@@ -2457,11 +2503,11 @@ NULL NULL 1
20040229 2004-02-29 4
20050628 2005-06-28 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 87 OR select_id IS NULL);
+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
@@ -2475,7 +2521,7 @@ 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 = 86 OR select_id IS NULL;
+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
@@ -2483,11 +2529,11 @@ NULL NULL 1
20040229235959 2004-02-29 23:59:59 4
20050628100000 2005-06-28 10:00:00 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 86 OR select_id IS NULL);
+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
@@ -2497,11 +2543,43 @@ NULL NULL 1
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.7976931348623e+308 2
+9223372036854775807 1.7976931348623e+308 3
+0 0 4
+18446744073709551615 -1 5
+Warnings:
+Warning 1292 Truncated incorrect INTEGER value: '-1.7976931348623e+308'
+Warning 1292 Truncated incorrect INTEGER value: '1.7976931348623e+308'
+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.7976931348623e+308 2
+9223372036854775807 1.7976931348623e+308 3
+0 0 4
+18446744073709551615 -1 5
+Warnings:
+Warning 1292 Truncated incorrect INTEGER value: '-1.7976931348623e+308'
+Warning 1292 Truncated incorrect INTEGER value: '1.7976931348623e+308'
+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 = 85 OR select_id IS NULL;
+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
@@ -2513,11 +2591,11 @@ Error 1292 Truncated incorrect DECIMAL value: ''
Error 1292 Truncated incorrect DECIMAL value: ''
Error 1292 Truncated incorrect DECIMAL value: ''
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 85 OR select_id IS NULL);
+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
@@ -2535,7 +2613,7 @@ 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 = 84 OR select_id IS NULL;
+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
@@ -2543,11 +2621,11 @@ NULL NULL 1
0 0 4
18446744073709551615 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 84 OR select_id IS NULL);
+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
@@ -2561,7 +2639,7 @@ 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 = 83 OR select_id IS NULL;
+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
@@ -2574,11 +2652,11 @@ 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
-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`
+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 = 83 OR select_id IS NULL);
+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
@@ -2597,13 +2675,13 @@ 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 = 82 OR select_id IS NULL;
+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 2
0 <--------30 characters-------> 3
-0 ---äÖüß@µ*$--
-18446744073709551615 -1
+0 ---äÖüß@µ*$-- 4
+18446744073709551615 -1 5
Warnings:
Warning 1292 Truncated incorrect INTEGER value: ''
Warning 1292 Truncated incorrect INTEGER value: '<--------30 characters------->'
@@ -2611,11 +2689,11 @@ 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
-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`
+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 = 82 OR select_id IS NULL);
+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
@@ -2635,7 +2713,7 @@ 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 = 81 OR select_id IS NULL;
+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
@@ -2648,11 +2726,11 @@ 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
-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`
+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 = 81 OR select_id IS NULL);
+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
@@ -2671,7 +2749,7 @@ 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 = 80 OR select_id IS NULL;
+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
@@ -2684,11 +2762,11 @@ 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
-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`
+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 = 80 OR select_id IS NULL);
+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
@@ -2707,7 +2785,7 @@ 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 = 79 OR select_id IS NULL;
+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
@@ -2715,11 +2793,11 @@ NULL NULL 1
2000 2000 4
2005 2005 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 79 OR select_id IS NULL);
+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
@@ -2733,7 +2811,7 @@ 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 = 78 OR select_id IS NULL;
+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
@@ -2741,11 +2819,11 @@ NULL NULL 1
130000 13:00:00 4
100000 10:00:00 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 78 OR select_id IS NULL);
+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
@@ -2759,7 +2837,7 @@ 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 = 77 OR select_id IS NULL;
+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
@@ -2767,11 +2845,11 @@ CAST(my_timestamp AS SIGNED INTEGER) my_timestamp id
20040229235959 2004-02-29 23:59:59 4
20050628100000 2005-06-28 10:00:00 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 77 OR select_id IS NULL);
+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
@@ -2785,7 +2863,7 @@ 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 = 76 OR select_id IS NULL;
+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
@@ -2793,11 +2871,11 @@ NULL NULL 1
20040229 2004-02-29 4
20050628 2005-06-28 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 76 OR select_id IS NULL);
+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
@@ -2811,7 +2889,7 @@ 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 = 75 OR select_id IS NULL;
+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
@@ -2819,11 +2897,11 @@ NULL NULL 1
20040229235959 2004-02-29 23:59:59 4
20050628100000 2005-06-28 10:00:00 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 75 OR select_id IS NULL);
+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
@@ -2833,11 +2911,43 @@ NULL NULL 1
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.7976931348623e+308 2
+9223372036854775807 1.7976931348623e+308 3
+0 0 4
+-1 -1 5
+Warnings:
+Warning 1292 Truncated incorrect INTEGER value: '-1.7976931348623e+308'
+Warning 1292 Truncated incorrect INTEGER value: '1.7976931348623e+308'
+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.7976931348623e+308 2
+9223372036854775807 1.7976931348623e+308 3
+0 0 4
+-1 -1 5
+Warnings:
+Warning 1292 Truncated incorrect INTEGER value: '-1.7976931348623e+308'
+Warning 1292 Truncated incorrect INTEGER value: '1.7976931348623e+308'
+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 = 74 OR select_id IS NULL;
+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
@@ -2848,11 +2958,11 @@ Warnings:
Error 1292 Truncated incorrect DECIMAL value: ''
Error 1292 Truncated incorrect DECIMAL value: ''
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 74 OR select_id IS NULL);
+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
@@ -2869,7 +2979,7 @@ 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 = 73 OR select_id IS NULL;
+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
@@ -2877,11 +2987,11 @@ NULL NULL 1
0 0 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 73 OR select_id IS NULL);
+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
@@ -2895,7 +3005,7 @@ 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 = 72 OR select_id IS NULL;
+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
@@ -2907,11 +3017,11 @@ 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
-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`
+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 = 72 OR select_id IS NULL);
+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
@@ -2929,24 +3039,24 @@ 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 = 71 OR select_id IS NULL;
+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 2
0 <--------30 characters-------> 3
-0 ---äÖüß@µ*$--
--1 -1
+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
-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`
+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 = 71 OR select_id IS NULL);
+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
@@ -2965,7 +3075,7 @@ 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 = 70 OR select_id IS NULL;
+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
@@ -2977,11 +3087,11 @@ 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
-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`
+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 = 70 OR select_id IS NULL);
+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
@@ -2999,7 +3109,7 @@ 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 = 69 OR select_id IS NULL;
+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
@@ -3011,11 +3121,11 @@ 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
-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`
+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 = 69 OR select_id IS NULL);
+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
@@ -3033,7 +3143,7 @@ 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 = 68 OR select_id IS NULL;
+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
@@ -3041,11 +3151,11 @@ NULL NULL 1
2000.00 2000 4
2005.00 2005 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 68 OR select_id IS NULL);
+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
@@ -3059,7 +3169,7 @@ 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 = 67 OR select_id IS NULL;
+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
@@ -3067,11 +3177,11 @@ NULL NULL 1
130000.00 13:00:00 4
100000.00 10:00:00 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 67 OR select_id IS NULL);
+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
@@ -3085,7 +3195,7 @@ 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 = 66 OR select_id IS NULL;
+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
@@ -3093,11 +3203,11 @@ CAST(my_timestamp AS DECIMAL(37,2)) my_timestamp id
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
-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`
+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 = 66 OR select_id IS NULL);
+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
@@ -3111,7 +3221,7 @@ 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 = 65 OR select_id IS NULL;
+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
@@ -3119,11 +3229,11 @@ NULL NULL 1
20040229.00 2004-02-29 4
20050628.00 2005-06-28 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 65 OR select_id IS NULL);
+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
@@ -3137,7 +3247,7 @@ 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 = 64 OR select_id IS NULL;
+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
@@ -3145,11 +3255,11 @@ NULL NULL 1
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
-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`
+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 = 64 OR select_id IS NULL);
+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
@@ -3159,11 +3269,49 @@ NULL NULL 1
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.7976931348623e+308 2
+99999999999999999999999999999999999.99 1.7976931348623e+308 3
+0.00 0 4
+-1.00 -1 5
+-3333.33 -3333.3333 30
+Warnings:
+Error 1292 Truncated incorrect DECIMAL value: ''
+Error 1264 Out of range value for column 'CAST(my_double AS DECIMAL(37,2))' at row 1
+Error 1292 Truncated incorrect DECIMAL value: ''
+Error 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.7976931348623e+308 2
+99999999999999999999999999999999999.99 1.7976931348623e+308 3
+0.00 0 4
+-1.00 -1 5
+-3333.33 -3333.3333 30
+Warnings:
+Error 1292 Truncated incorrect DECIMAL value: ''
+Error 1264 Out of range value for column 'CAST(my_double AS DECIMAL(37,2))' at row 1
+Error 1292 Truncated incorrect DECIMAL value: ''
+Error 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 = 63 OR select_id IS NULL;
+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
@@ -3171,11 +3319,11 @@ NULL NULL 1
0.00 0.000000000000000000000000000000 4
-1.00 -1.000000000000000000000000000000 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 63 OR select_id IS NULL);
+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
@@ -3189,7 +3337,7 @@ 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 = 62 OR select_id IS NULL;
+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
@@ -3197,11 +3345,11 @@ NULL NULL 1
0.00 0 4
-1.00 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 62 OR select_id IS NULL);
+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
@@ -3215,31 +3363,31 @@ 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 = 61 OR select_id IS NULL;
+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 28
+-3333.33 -3333.3333 29
Warnings:
Error 1366 Incorrect decimal value: '' for column '' at row -1
Error 1366 Incorrect decimal value: '' for column '' at row -1
Error 1366 Incorrect decimal value: '' for column '' at row -1
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 61 OR select_id IS NULL);
+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 28
+-3333.33 -3333.3333 29
Warnings:
Error 1366 Incorrect decimal value: '' for column '' at row -1
Error 1366 Incorrect decimal value: '' for column '' at row -1
@@ -3251,14 +3399,14 @@ 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 = 60 OR select_id IS NULL;
+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 2
0.00 <--------30 characters-------> 3
-0.00 ---äÖüß@µ*$--
--1.00 -1
--3333.33 -3333.3333
+0.00 ---äÖüß@µ*$-- 4
+-1.00 -1 5
+-3333.33 -3333.3333 28
Warnings:
Error 1366 Incorrect decimal value: '' for column '' at row -1
Warning 1292 Truncated incorrect DECIMAL value: ''
@@ -3269,18 +3417,18 @@ Warning 1292 Truncated incorrect DECIMAL value: ' ---äÖüß@µ*$-- '
Warning 1292 Truncated incorrect DECIMAL value: '-1'
Warning 1292 Truncated incorrect DECIMAL value: '-3333.3333'
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 60 OR select_id IS NULL);
+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
+-3333.33 -3333.3333
Warnings:
Error 1366 Incorrect decimal value: '' for column '' at row -1
Warning 1292 Truncated incorrect DECIMAL value: ''
@@ -3297,31 +3445,31 @@ 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 = 59 OR select_id IS NULL;
+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 26
+-3333.33 -3333.3333 27
Warnings:
Error 1366 Incorrect decimal value: '' for column '' at row -1
Error 1366 Incorrect decimal value: '' for column '' at row -1
Error 1366 Incorrect decimal value: '' for column '' at row -1
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 59 OR select_id IS NULL);
+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 26
+-3333.33 -3333.3333 27
Warnings:
Error 1366 Incorrect decimal value: '' for column '' at row -1
Error 1366 Incorrect decimal value: '' for column '' at row -1
@@ -3333,14 +3481,14 @@ 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 = 58 OR select_id IS NULL;
+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 25
+-3333.33 -3333.3333 26
Warnings:
Error 1366 Incorrect decimal value: '' for column '' at row -1
Warning 1292 Truncated incorrect DECIMAL value: ' '
@@ -3349,18 +3497,18 @@ Warning 1292 Truncated incorrect DECIMAL value: '<--------30 characters------->'
Error 1366 Incorrect decimal value: '' for column '' at row -1
Warning 1292 Truncated incorrect DECIMAL value: ' ---äÖüß@µ*$-- '
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 58 OR select_id IS NULL);
+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 25
+-3333.33 -3333.3333 26
Warnings:
Error 1366 Incorrect decimal value: '' for column '' at row -1
Warning 1292 Truncated incorrect DECIMAL value: ' '
@@ -3375,7 +3523,7 @@ 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 = 57 OR select_id IS NULL;
+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
@@ -3383,11 +3531,11 @@ NULL NULL 1
00:20:00 2000 4
00:20:05 2005 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 57 OR select_id IS NULL);
+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
@@ -3401,7 +3549,7 @@ 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 = 56 OR select_id IS NULL;
+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
@@ -3409,11 +3557,11 @@ NULL NULL 1
13:00:00 13:00:00 4
10:00:00 10:00:00 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 56 OR select_id IS NULL);
+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
@@ -3427,7 +3575,7 @@ 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 = 55 OR select_id IS NULL;
+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
@@ -3435,11 +3583,11 @@ CAST(my_timestamp AS TIME) my_timestamp id
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
-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`
+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 = 55 OR select_id IS NULL);
+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
@@ -3453,7 +3601,7 @@ 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 = 54 OR select_id IS NULL;
+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
@@ -3461,11 +3609,11 @@ NULL NULL 1
00:00:00 2004-02-29 4
00:00:00 2005-06-28 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 54 OR select_id IS NULL);
+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
@@ -3479,7 +3627,7 @@ 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 = 53 OR select_id IS NULL;
+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
@@ -3487,11 +3635,11 @@ NULL NULL 1
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
-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`
+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 = 53 OR select_id IS NULL);
+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
@@ -3501,11 +3649,45 @@ NULL NULL 1
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.7976931348623e+308 2
+NULL 1.7976931348623e+308 3
+00:00:00 0 4
+-00:00:01 -1 5
+00:17:58 1758 25
+Warnings:
+Warning 1292 Truncated incorrect time value: '-1.7976931348623e+308'
+Warning 1292 Truncated incorrect time value: '1.7976931348623e+308'
+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.7976931348623e+308 2
+NULL 1.7976931348623e+308 3
+00:00:00 0 4
+-00:00:01 -1 5
+00:17:58 1758 25
+Warnings:
+Warning 1292 Truncated incorrect time value: '-1.7976931348623e+308'
+Warning 1292 Truncated incorrect time value: '1.7976931348623e+308'
+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;
+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
@@ -3517,11 +3699,11 @@ Warnings:
Warning 1292 Truncated incorrect time value: '-9223372036854775808'
Warning 1292 Truncated incorrect time value: '9223372036854775807'
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -3539,7 +3721,7 @@ 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;
+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
@@ -3552,11 +3734,11 @@ 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
-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`
+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);
+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
@@ -3575,14 +3757,14 @@ 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;
+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 2
00:00:00 <--------30 characters-------> 3
--00:00:00 ---äÖüß@µ*$--
-NULL -1
-41:58:00 1 17:58
+-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------->'
@@ -3590,11 +3772,11 @@ 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
-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`
+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);
+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
@@ -3615,7 +3797,7 @@ 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;
+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
@@ -3628,11 +3810,11 @@ 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
-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`
+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);
+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
@@ -3651,7 +3833,7 @@ 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;
+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
@@ -3664,11 +3846,11 @@ 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
-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`
+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);
+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
@@ -3687,7 +3869,7 @@ 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;
+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
@@ -3695,16 +3877,16 @@ NULL 2155 3
NULL 2000 4
NULL 2005 5
Warnings:
-Warning 1292 Truncated incorrect datetime value: '1901'
-Warning 1292 Truncated incorrect datetime value: '2155'
-Warning 1292 Truncated incorrect datetime value: '2000'
-Warning 1292 Truncated incorrect datetime value: '2005'
+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
-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`
+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);
+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
@@ -3712,10 +3894,10 @@ NULL 2155 3
NULL 2000 4
NULL 2005 5
Warnings:
-Warning 1292 Truncated incorrect datetime value: '1901'
-Warning 1292 Truncated incorrect datetime value: '2155'
-Warning 1292 Truncated incorrect datetime value: '2000'
-Warning 1292 Truncated incorrect datetime value: '2005'
+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;
@@ -3723,7 +3905,7 @@ 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;
+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
@@ -3731,14 +3913,14 @@ NULL NULL 1
0000-00-00 13:00:00 13:00:00 4
0000-00-00 10:00:00 10:00:00 5
Warnings:
-Warning 1292 Truncated incorrect datetime value: '0000-00-00 838:59:59'
-Warning 1292 Truncated incorrect datetime value: '0000-00-00 838:59:59'
+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
-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`
+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);
+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
@@ -3746,8 +3928,8 @@ NULL NULL 1
0000-00-00 13:00:00 13:00:00 4
0000-00-00 10:00:00 10:00:00 5
Warnings:
-Warning 1292 Truncated incorrect datetime value: '0000-00-00 838:59:59'
-Warning 1292 Truncated incorrect datetime value: '0000-00-00 838:59:59'
+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;
@@ -3755,7 +3937,7 @@ 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;
+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
@@ -3763,11 +3945,11 @@ CAST(my_timestamp AS DATETIME) my_timestamp id
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
-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`
+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);
+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
@@ -3781,7 +3963,7 @@ 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;
+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
@@ -3789,11 +3971,11 @@ NULL NULL 1
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
-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`
+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);
+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
@@ -3807,7 +3989,7 @@ 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;
+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
@@ -3815,11 +3997,11 @@ NULL NULL 1
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
-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`
+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);
+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
@@ -3833,7 +4015,7 @@ 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;
+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.7976931348623e+308 2
@@ -3842,17 +4024,17 @@ NULL 0 4
NULL -1 5
NULL 200506271758 19
Warnings:
-Warning 1292 Truncated incorrect datetime value: '-1.7976931348623e+308'
-Warning 1292 Truncated incorrect datetime value: '1.7976931348623e+308'
-Warning 1292 Truncated incorrect datetime value: '0'
-Warning 1292 Truncated incorrect datetime value: '-1'
-Warning 1292 Truncated incorrect datetime value: '200506271758'
+Warning 1292 Incorrect datetime value: '-1.7976931348623e+308'
+Warning 1292 Incorrect datetime value: '1.7976931348623e+308'
+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
-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`
+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);
+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.7976931348623e+308 2
@@ -3861,11 +4043,11 @@ NULL 0 4
NULL -1 5
NULL 200506271758 19
Warnings:
-Warning 1292 Truncated incorrect datetime value: '-1.7976931348623e+308'
-Warning 1292 Truncated incorrect datetime value: '1.7976931348623e+308'
-Warning 1292 Truncated incorrect datetime value: '0'
-Warning 1292 Truncated incorrect datetime value: '-1'
-Warning 1292 Truncated incorrect datetime value: '200506271758'
+Warning 1292 Incorrect datetime value: '-1.7976931348623e+308'
+Warning 1292 Incorrect datetime value: '1.7976931348623e+308'
+Warning 1292 Incorrect datetime value: '0'
+Warning 1292 Incorrect datetime value: '-1'
+Warning 1292 Incorrect datetime value: '200506271758'
DROP VIEW v1;
@@ -3873,7 +4055,7 @@ 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;
+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
@@ -3882,17 +4064,17 @@ NULL 0 4
NULL -1 5
NULL 200506271758 18
Warnings:
-Warning 1292 Truncated incorrect datetime value: '-9223372036854775808'
-Warning 1292 Truncated incorrect datetime value: '9223372036854775807'
-Warning 1292 Truncated incorrect datetime value: '0'
-Warning 1292 Truncated incorrect datetime value: '-1'
-Warning 1292 Truncated incorrect datetime value: '200506271758'
+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
-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`
+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);
+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
@@ -3901,11 +4083,11 @@ NULL 0 4
NULL -1 5
NULL 200506271758 18
Warnings:
-Warning 1292 Truncated incorrect datetime value: '-9223372036854775808'
-Warning 1292 Truncated incorrect datetime value: '9223372036854775807'
-Warning 1292 Truncated incorrect datetime value: '0'
-Warning 1292 Truncated incorrect datetime value: '-1'
-Warning 1292 Truncated incorrect datetime value: '200506271758'
+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;
@@ -3913,7 +4095,7 @@ 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;
+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
@@ -3922,16 +4104,16 @@ NULL ---äÖüß@µ*$-- 4
NULL -1 5
2005-06-27 17:58:00 2005-06-27 17:58 17
Warnings:
-Warning 1292 Truncated incorrect datetime value: ''
-Warning 1292 Truncated incorrect datetime value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect datetime value: ' ---äÖüß@µ*$-- '
-Warning 1292 Truncated incorrect datetime value: '-1'
+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
-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`
+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);
+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
@@ -3940,10 +4122,10 @@ NULL ---äÖüß@µ*$-- 4
NULL -1 5
2005-06-27 17:58:00 2005-06-27 17:58 17
Warnings:
-Warning 1292 Truncated incorrect datetime value: ''
-Warning 1292 Truncated incorrect datetime value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect datetime value: ' ---äÖüß@µ*$-- '
-Warning 1292 Truncated incorrect datetime value: '-1'
+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;
@@ -3951,26 +4133,26 @@ 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;
+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 2
NULL <--------30 characters-------> 3
-NULL ---äÖüß@µ*$--
-NULL -1
-2005-06-27 17:58:00 2005-06-27 17:58
+NULL ---äÖüß@µ*$-- 4
+NULL -1 5
+2005-06-27 17:58:00 2005-06-27 17:58 16
Warnings:
-Warning 1292 Truncated incorrect datetime value: ''
-Warning 1292 Truncated incorrect datetime value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect datetime value: ' ---äÖüß@µ*$-- '
-Warning 1292 Truncated incorrect datetime value: '-1'
+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
-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`
+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);
+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
@@ -3979,10 +4161,10 @@ NULL ---äÖüß@µ*$--
NULL -1
2005-06-27 17:58:00 2005-06-27 17:58
Warnings:
-Warning 1292 Truncated incorrect datetime value: ''
-Warning 1292 Truncated incorrect datetime value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect datetime value: ' ---äÖüß@µ*$-- '
-Warning 1292 Truncated incorrect datetime value: '-1'
+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;
@@ -3991,7 +4173,7 @@ 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;
+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
@@ -4000,16 +4182,16 @@ NULL ---äÖüß@µ*$-- 4
NULL -1 5
2005-06-27 17:58:00 2005-06-27 17:58 15
Warnings:
-Warning 1292 Truncated incorrect datetime value: ''
-Warning 1292 Truncated incorrect datetime value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect datetime value: ' ---äÖüß@µ*$-- '
-Warning 1292 Truncated incorrect datetime value: '-1'
+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
-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`
+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);
+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
@@ -4018,10 +4200,10 @@ NULL ---äÖüß@µ*$-- 4
NULL -1 5
2005-06-27 17:58:00 2005-06-27 17:58 15
Warnings:
-Warning 1292 Truncated incorrect datetime value: ''
-Warning 1292 Truncated incorrect datetime value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect datetime value: ' ---äÖüß@µ*$-- '
-Warning 1292 Truncated incorrect datetime value: '-1'
+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;
@@ -4029,7 +4211,7 @@ 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;
+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
@@ -4038,16 +4220,16 @@ NULL ---äÖüß@µ*$-- 4
NULL -1 5
2005-06-27 17:58:00 2005-06-27 17:58 14
Warnings:
-Warning 1292 Truncated incorrect datetime value: ''
-Warning 1292 Truncated incorrect datetime value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect datetime value: ' ---äÖüß@µ*$--'
-Warning 1292 Truncated incorrect datetime value: '-1'
+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
-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`
+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);
+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
@@ -4056,10 +4238,10 @@ NULL ---äÖüß@µ*$-- 4
NULL -1 5
2005-06-27 17:58:00 2005-06-27 17:58 14
Warnings:
-Warning 1292 Truncated incorrect datetime value: ''
-Warning 1292 Truncated incorrect datetime value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect datetime value: ' ---äÖüß@µ*$--'
-Warning 1292 Truncated incorrect datetime value: '-1'
+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;
@@ -4067,7 +4249,7 @@ 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;
+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
@@ -4075,16 +4257,16 @@ NULL 2155 3
NULL 2000 4
NULL 2005 5
Warnings:
-Warning 1292 Truncated incorrect datetime value: '1901'
-Warning 1292 Truncated incorrect datetime value: '2155'
-Warning 1292 Truncated incorrect datetime value: '2000'
-Warning 1292 Truncated incorrect datetime value: '2005'
+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
-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`
+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);
+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
@@ -4092,10 +4274,10 @@ NULL 2155 3
NULL 2000 4
NULL 2005 5
Warnings:
-Warning 1292 Truncated incorrect datetime value: '1901'
-Warning 1292 Truncated incorrect datetime value: '2155'
-Warning 1292 Truncated incorrect datetime value: '2000'
-Warning 1292 Truncated incorrect datetime value: '2005'
+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;
@@ -4103,7 +4285,7 @@ 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;
+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
@@ -4111,11 +4293,11 @@ NULL NULL 1
0000-00-00 13:00:00 4
0000-00-00 10:00:00 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -4129,7 +4311,7 @@ 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;
+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
@@ -4137,11 +4319,11 @@ CAST(my_timestamp AS DATE) my_timestamp id
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
-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`
+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);
+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
@@ -4155,7 +4337,7 @@ 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;
+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
@@ -4163,11 +4345,11 @@ NULL NULL 1
2004-02-29 2004-02-29 4
2005-06-28 2005-06-28 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -4181,7 +4363,7 @@ 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;
+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
@@ -4189,11 +4371,11 @@ NULL NULL 1
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
-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`
+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);
+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
@@ -4207,7 +4389,7 @@ 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;
+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.7976931348623e+308 2
@@ -4216,16 +4398,16 @@ NULL 0 4
NULL -1 5
2005-06-27 20050627 13
Warnings:
-Warning 1292 Truncated incorrect datetime value: '-1.7976931348623e+308'
-Warning 1292 Truncated incorrect datetime value: '1.7976931348623e+308'
-Warning 1292 Truncated incorrect datetime value: '0'
-Warning 1292 Truncated incorrect datetime value: '-1'
+Warning 1292 Incorrect datetime value: '-1.7976931348623e+308'
+Warning 1292 Incorrect datetime value: '1.7976931348623e+308'
+Warning 1292 Incorrect datetime value: '0'
+Warning 1292 Incorrect datetime value: '-1'
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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.7976931348623e+308 2
@@ -4234,10 +4416,10 @@ NULL 0 4
NULL -1 5
2005-06-27 20050627 13
Warnings:
-Warning 1292 Truncated incorrect datetime value: '-1.7976931348623e+308'
-Warning 1292 Truncated incorrect datetime value: '1.7976931348623e+308'
-Warning 1292 Truncated incorrect datetime value: '0'
-Warning 1292 Truncated incorrect datetime value: '-1'
+Warning 1292 Incorrect datetime value: '-1.7976931348623e+308'
+Warning 1292 Incorrect datetime value: '1.7976931348623e+308'
+Warning 1292 Incorrect datetime value: '0'
+Warning 1292 Incorrect datetime value: '-1'
DROP VIEW v1;
@@ -4245,7 +4427,7 @@ 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;
+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
@@ -4254,16 +4436,16 @@ NULL 0 4
NULL -1 5
2005-06-27 20050627 12
Warnings:
-Warning 1292 Truncated incorrect datetime value: '-9223372036854775808'
-Warning 1292 Truncated incorrect datetime value: '9223372036854775807'
-Warning 1292 Truncated incorrect datetime value: '0'
-Warning 1292 Truncated incorrect datetime value: '-1'
+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
-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`
+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);
+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
@@ -4272,10 +4454,10 @@ NULL 0 4
NULL -1 5
2005-06-27 20050627 12
Warnings:
-Warning 1292 Truncated incorrect datetime value: '-9223372036854775808'
-Warning 1292 Truncated incorrect datetime value: '9223372036854775807'
-Warning 1292 Truncated incorrect datetime value: '0'
-Warning 1292 Truncated incorrect datetime value: '-1'
+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;
@@ -4283,7 +4465,7 @@ 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;
+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
@@ -4292,16 +4474,16 @@ NULL ---äÖüß@µ*$-- 4
NULL -1 5
2005-06-27 2005-06-27 11
Warnings:
-Warning 1292 Truncated incorrect datetime value: ''
-Warning 1292 Truncated incorrect datetime value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect datetime value: ' ---äÖüß@µ*$-- '
-Warning 1292 Truncated incorrect datetime value: '-1'
+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
-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`
+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);
+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
@@ -4310,10 +4492,10 @@ NULL ---äÖüß@µ*$-- 4
NULL -1 5
2005-06-27 2005-06-27 11
Warnings:
-Warning 1292 Truncated incorrect datetime value: ''
-Warning 1292 Truncated incorrect datetime value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect datetime value: ' ---äÖüß@µ*$-- '
-Warning 1292 Truncated incorrect datetime value: '-1'
+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;
@@ -4321,26 +4503,26 @@ 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;
+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 2
NULL <--------30 characters-------> 3
-NULL ---äÖüß@µ*$--
-NULL -1
-2005-06-27 2005-06-27
+NULL ---äÖüß@µ*$-- 4
+NULL -1 5
+2005-06-27 2005-06-27 10
Warnings:
-Warning 1292 Truncated incorrect datetime value: ''
-Warning 1292 Truncated incorrect datetime value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect datetime value: ' ---äÖüß@µ*$-- '
-Warning 1292 Truncated incorrect datetime value: '-1'
+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
-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`
+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);
+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
@@ -4349,10 +4531,10 @@ NULL ---äÖüß@µ*$--
NULL -1
2005-06-27 2005-06-27
Warnings:
-Warning 1292 Truncated incorrect datetime value: ''
-Warning 1292 Truncated incorrect datetime value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect datetime value: ' ---äÖüß@µ*$-- '
-Warning 1292 Truncated incorrect datetime value: '-1'
+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;
@@ -4361,7 +4543,7 @@ 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;
+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
@@ -4370,16 +4552,16 @@ NULL ---äÖüß@µ*$-- 4
NULL -1 5
2005-06-27 2005-06-27 9
Warnings:
-Warning 1292 Truncated incorrect datetime value: ''
-Warning 1292 Truncated incorrect datetime value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect datetime value: ' ---äÖüß@µ*$-- '
-Warning 1292 Truncated incorrect datetime value: '-1'
+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
-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`
+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);
+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
@@ -4388,10 +4570,10 @@ NULL ---äÖüß@µ*$-- 4
NULL -1 5
2005-06-27 2005-06-27 9
Warnings:
-Warning 1292 Truncated incorrect datetime value: ''
-Warning 1292 Truncated incorrect datetime value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect datetime value: ' ---äÖüß@µ*$-- '
-Warning 1292 Truncated incorrect datetime value: '-1'
+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;
@@ -4399,7 +4581,7 @@ 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;
+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
@@ -4408,16 +4590,16 @@ NULL ---äÖüß@µ*$-- 4
NULL -1 5
2005-06-27 2005-06-27 8
Warnings:
-Warning 1292 Truncated incorrect datetime value: ''
-Warning 1292 Truncated incorrect datetime value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect datetime value: ' ---äÖüß@µ*$--'
-Warning 1292 Truncated incorrect datetime value: '-1'
+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
-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`
+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);
+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
@@ -4426,10 +4608,10 @@ NULL ---äÖüß@µ*$-- 4
NULL -1 5
2005-06-27 2005-06-27 8
Warnings:
-Warning 1292 Truncated incorrect datetime value: ''
-Warning 1292 Truncated incorrect datetime value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect datetime value: ' ---äÖüß@µ*$--'
-Warning 1292 Truncated incorrect datetime value: '-1'
+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;
@@ -4437,7 +4619,7 @@ 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;
+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
@@ -4445,11 +4627,11 @@ NULL NULL 1
2000 2000 4
2005 2005 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -4463,7 +4645,7 @@ 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;
+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
@@ -4471,11 +4653,11 @@ NULL NULL 1
13:00:00 13:00:00 4
10:00:00 10:00:00 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -4489,7 +4671,7 @@ 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;
+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
@@ -4497,11 +4679,11 @@ CAST(my_timestamp AS CHAR) my_timestamp id
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
-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`
+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);
+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
@@ -4515,7 +4697,7 @@ 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;
+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
@@ -4523,11 +4705,11 @@ NULL NULL 1
2004-02-29 2004-02-29 4
2005-06-28 2005-06-28 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -4541,7 +4723,7 @@ 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;
+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
@@ -4549,11 +4731,11 @@ NULL NULL 1
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
-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`
+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);
+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
@@ -4567,7 +4749,7 @@ 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;
+WHERE select_id = 20 OR select_id IS NULL order by id;
CAST(my_double AS CHAR) my_double id
NULL NULL 1
-1.7976931348623e+308 -1.7976931348623e+308 2
@@ -4575,11 +4757,11 @@ NULL NULL 1
0 0 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+WHERE select_id = 20 OR select_id IS NULL) order by id;
CAST(my_double AS CHAR) my_double id
NULL NULL 1
-1.7976931348623e+308 -1.7976931348623e+308 2
@@ -4593,7 +4775,7 @@ 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;
+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
@@ -4601,11 +4783,11 @@ NULL NULL 1
0.000000000000000000000000000000 0.000000000000000000000000000000 4
-1.000000000000000000000000000000 -1.000000000000000000000000000000 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -4619,7 +4801,7 @@ 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;
+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
@@ -4627,11 +4809,11 @@ NULL NULL 1
0 0 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -4645,7 +4827,7 @@ 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;
+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
@@ -4653,11 +4835,11 @@ NULL NULL 1
---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -4671,19 +4853,19 @@ 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;
+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
- ---äÖüß@µ*$--
--1
+ ---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
+-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -4697,7 +4879,7 @@ 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;
+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
@@ -4705,11 +4887,11 @@ NULL NULL 1
---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -4723,7 +4905,7 @@ 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;
+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
@@ -4731,11 +4913,11 @@ NULL NULL 1
---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -4749,7 +4931,7 @@ 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;
+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
@@ -4757,11 +4939,11 @@ NULL NULL 1
2000 2000 4
2005 2005 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -4775,7 +4957,7 @@ 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;
+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
@@ -4783,11 +4965,11 @@ NULL NULL 1
13:00:00 13:00:00 4
10:00:00 10:00:00 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -4801,7 +4983,7 @@ 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;
+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
@@ -4809,11 +4991,11 @@ CAST(my_timestamp AS BINARY) my_timestamp id
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
-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`
+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);
+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
@@ -4827,7 +5009,7 @@ 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;
+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
@@ -4835,11 +5017,11 @@ NULL NULL 1
2004-02-29 2004-02-29 4
2005-06-28 2005-06-28 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -4853,7 +5035,7 @@ 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;
+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
@@ -4861,11 +5043,11 @@ NULL NULL 1
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
-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`
+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);
+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
@@ -4879,7 +5061,7 @@ 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;
+WHERE select_id = 8 OR select_id IS NULL order by id;
CAST(my_double AS BINARY) my_double id
NULL NULL 1
-1.7976931348623e+308 -1.7976931348623e+308 2
@@ -4887,11 +5069,11 @@ NULL NULL 1
0 0 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+WHERE select_id = 8 OR select_id IS NULL) order by id;
CAST(my_double AS BINARY) my_double id
NULL NULL 1
-1.7976931348623e+308 -1.7976931348623e+308 2
@@ -4905,7 +5087,7 @@ 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;
+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
@@ -4913,11 +5095,11 @@ NULL NULL 1
0.000000000000000000000000000000 0.000000000000000000000000000000 4
-1.000000000000000000000000000000 -1.000000000000000000000000000000 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -4931,7 +5113,7 @@ 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;
+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
@@ -4939,11 +5121,11 @@ NULL NULL 1
0 0 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -4957,7 +5139,7 @@ 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;
+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
@@ -4965,11 +5147,11 @@ NULL NULL 1
---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -4983,19 +5165,19 @@ 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;
+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
- ---äÖüß@µ*$--
--1
+ ---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
+-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -5009,7 +5191,7 @@ 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;
+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
@@ -5017,11 +5199,11 @@ NULL NULL 1
---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -5035,7 +5217,7 @@ 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;
+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
@@ -5043,11 +5225,11 @@ NULL NULL 1
---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+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
@@ -5059,7 +5241,7 @@ 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;
+WHERE select_id = 1 OR select_id IS NULL order by id;
sqrt(my_bigint) my_bigint id
NULL NULL 1
NULL -9223372036854775808 2
@@ -5069,11 +5251,11 @@ NULL -1 5
2 4 6
NULL -25 7
SHOW CREATE VIEW v1;
-View Create View
-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`
+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);
+WHERE select_id = 1 OR select_id IS NULL) order by id;
sqrt(my_bigint) my_bigint id
NULL NULL 1
NULL -9223372036854775808 2
diff --git a/mysql-test/suite/funcs_1/r/myisam_storedproc.result b/mysql-test/suite/funcs_1/r/myisam_storedproc.result
index b52f0dbbbf0..1d75cf49bb7 100644
--- a/mysql-test/suite/funcs_1/r/myisam_storedproc.result
+++ b/mysql-test/suite/funcs_1/r/myisam_storedproc.result
@@ -1,33 +1,6 @@
-.
-. IMPORTANT NOTICE:
-. -----------------
-.
-. FIXME: The .result files are still NOT CHECKED for correctness!
-.
-. FIXME: Several tests are affected by known problems around DECIMAL
-. FIXME: and NUMERIC that will be checked again after WL#2984 once
-. FIXME: has been completed. Some of them are marked in the result.
-.
-. Currently (Dec 06, 2005) this .result file is checked OK for Linux
-. with 5.0.17-bk (ChangeSet@1.1975.1.2, 2005-12-05 18:33:48+01:00).
-. Using the available Windows version 5.0.16 there are differences
-. that can be ignored (e.g. WL#2984).
-.
---------------------------------------------------------------------------------
- FIXME: There are subtests that are switched off due to known bugs:
- ------------------------------------------------------------------
-WL#2984: DECIMAL and NUMERIC problems with differences on some machines
-0
-
-There are some statements where the ps-protocol is switched off.
-Bug#11589: mysqltest, --ps-protocol, strange output, float/double/real with zerofill
---------------------------------------------------------------------------------
-
--source suite/funcs_1/storedproc/load_sp_tb.inc
--------------------------------------------------------------------------------
-SET @@global.max_heap_table_size=4294967295;
-SET @@session.max_heap_table_size=4294967295;
--source suite/funcs_1/storedproc/cleanup_sp_tb.inc
--------------------------------------------------------------------------------
@@ -36,20 +9,25 @@ 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 = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t1;
-create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t2;
-create table t3(f1 char(20),f2 char(20),f3 integer) engine = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t3.txt' into table t3;
-create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t4;
+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_ln/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_ln/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_ln/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_ln/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 = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t6;
+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_ln/funcs_1/t4.txt' into table t6;
USE db_storedproc;
-create table t7 (f1 char(20), f2 char(25), f3 date, f4 int) engine = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t7;
+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_ln/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
@@ -61,8 +39,9 @@ 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 = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t8;
+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_ln/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
@@ -74,12 +53,14 @@ 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 = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t9.txt' into table t9;
-create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t10;
-create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t11;
+create table t9(f1 int, f2 char(25), f3 int) engine = <engine_to_be_tested>;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/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_ln/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_ln/funcs_1/t4.txt' into table t11;
Section 3.1.1 - Syntax checks for the CREATE PROCEDURE, CREATE
FUNCTION, ALTER PROCEDURE, ALTER FUNCTION, DROP PROCEDURE, DROP FUNCTION, SHOW
@@ -94,23 +75,24 @@ CREATE PROCEDURE
--------------------------------------------------------------------------------
USE db_storedproc;
DROP PROCEDURE IF EXISTS sp1_thisisaveryverylongname234872934_thisisaveryverylongname234872934;
+ERROR 42000: Identifier name 'sp1_thisisaveryverylongname234872934_thisisaveryverylongname234872934' is too long
CREATE PROCEDURE sp1_thisisaveryverylongname234872934_thisisaveryverylongname234872934 (f1 char(20) )
SELECT * from t1 where f2 = f1;
+ERROR 42000: Identifier name 'sp1_thisisaveryverylongname234872934_thisisaveryverylongname234872934' is too long
CALL sp1_thisisaveryverylongname234872934_thisisaveryverylongname234872934('aaaa');
-f1 f2 f3 f4 f5 f6
+ERROR 42000: Identifier name 'sp1_thisisaveryverylongname234872934_thisisaveryverylongname234872934' is too long
DROP PROCEDURE IF EXISTS sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcde;
+ERROR 42000: Identifier name 'sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcde' is too long
CREATE PROCEDURE sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcde( f1 tinytext ) language sql deterministic sql security definer comment 'this is simple'
BEGIN
set @v1 = f1;
SELECT @v1, @v1;
END//
+ERROR 42000: Identifier name 'sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcde' is too long
CALL sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcde( 'abc' );
-@v1 @v1
-abc abc
+ERROR 42000: Identifier name 'sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcde' is too long
SHOW PROCEDURE status;
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongname2348 PROCEDURE root@localhost modified created DEFINER
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcd PROCEDURE root@localhost modified created DEFINER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( f1 binary ) language sql not deterministic sql security invoker comment 'this is simple'
BEGIN
@@ -119,12 +101,12 @@ SELECT @v1;
END//
CALL sp1( 34 );
@v1
-34
+3
+Warnings:
+Warning 1265 Data truncated for column 'f1' at row 1
SHOW PROCEDURE status;
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER this is simple
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongname2348 PROCEDURE root@localhost modified created DEFINER
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcd PROCEDURE root@localhost modified created DEFINER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER this is simple latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( f1 blob ) language sql not deterministic sql security invoker comment 'this is simple'
BEGIN
@@ -135,10 +117,8 @@ CALL sp1( 34 );
@v1
34
SHOW PROCEDURE status;
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER this is simple
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongname2348 PROCEDURE root@localhost modified created DEFINER
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcd PROCEDURE root@localhost modified created DEFINER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER this is simple latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( f1 int ) language sql not deterministic sql security invoker comment 'this is simple'
BEGIN
@@ -149,25 +129,27 @@ CALL sp1( 34 );
@v1
34
SHOW PROCEDURE status;
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER this is simple
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongname2348 PROCEDURE root@localhost modified created DEFINER
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcd PROCEDURE root@localhost modified created DEFINER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER this is simple latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE IF EXISTS sp1;
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed: SP definition accepted with m>60 in DECIMAL(m,n)
CREATE PROCEDURE sp1( f1 decimal(256, 30) ) language sql not deterministic sql security invoker comment 'this is simple'
BEGIN
set @v1 = f1;
SELECT @v1;
END//
+ERROR 42000: Too big precision 256 specified for column ''. Maximum is 65.
DROP PROCEDURE IF EXISTS sp1//
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( f1 decimal(66, 30) ) language sql not deterministic sql security invoker comment 'this is simple'
BEGIN
set @v1 = f1;
SELECT @v1;
END//
+ERROR 42000: Too big precision 66 specified for column ''. Maximum is 65.
DROP PROCEDURE IF EXISTS sp1//
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( f1 decimal(60, 30) ) language sql not deterministic sql security invoker comment 'this is simple'
BEGIN
set @v1 = f1;
@@ -175,101 +157,1123 @@ SELECT @v1;
END//
CALL sp1( 17976931340000 );
@v1
-17976931340000
+17976931340000.000000000000000000000000000000
+CALL sp1( 1.797693134e+13 );
+@v1
+17976931340000.000000000000000000000000000000
+CALL sp1( 1.7976931348623157493578e+308 );
+ERROR 22007: Illegal double '1.7976931348623157493578e+308' value found during parsing
+CALL sp1( 0.1234567890987654321e+100 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-100 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+99 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-99 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+98 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-98 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+97 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-97 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+96 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-96 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+95 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-95 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+94 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-94 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+93 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-93 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+92 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-92 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+91 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-91 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+90 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-90 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+89 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-89 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+88 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-88 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+87 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-87 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+86 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-86 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+85 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-85 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+84 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-84 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+83 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-83 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+82 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-82 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+81 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-81 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+80 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-80 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+79 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-79 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+78 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-78 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+77 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-77 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+76 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-76 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+75 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-75 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+74 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-74 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+73 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-73 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+72 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-72 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+71 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-71 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+70 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-70 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+69 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-69 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+68 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-68 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+67 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-67 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+66 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-66 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+65 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-65 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+64 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-64 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+63 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-63 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+62 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-62 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+61 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-61 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+60 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-60 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+59 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-59 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+58 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-58 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+57 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-57 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+56 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-56 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+55 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-55 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+54 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-54 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+53 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-53 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+52 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-52 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+51 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-51 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+50 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-50 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+49 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-49 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+48 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-48 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+47 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-47 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+46 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-46 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+45 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-45 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+44 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-44 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+43 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-43 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+42 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-42 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+41 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-41 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+40 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-40 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+39 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-39 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+38 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-38 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+37 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-37 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+36 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-36 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+35 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-35 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+34 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-34 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+33 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-33 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+32 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-32 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+31 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-31 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+30 );
+@v1
+123456789098765400000000000000.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-30 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+29 );
+@v1
+12345678909876540000000000000.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-29 );
+@v1
+0.000000000000000000000000000001
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+28 );
+@v1
+1234567890987654000000000000.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-28 );
+@v1
+0.000000000000000000000000000012
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+27 );
+@v1
+123456789098765400000000000.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-27 );
+@v1
+0.000000000000000000000000000123
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+26 );
+@v1
+12345678909876540000000000.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-26 );
+@v1
+0.000000000000000000000000001235
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+25 );
+@v1
+1234567890987654000000000.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-25 );
+@v1
+0.000000000000000000000000012346
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+24 );
+@v1
+123456789098765400000000.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-24 );
+@v1
+0.000000000000000000000000123457
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+23 );
+@v1
+12345678909876540000000.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-23 );
+@v1
+0.000000000000000000000001234568
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+22 );
+@v1
+1234567890987654000000.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-22 );
+@v1
+0.000000000000000000000012345679
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+21 );
+@v1
+123456789098765400000.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-21 );
+@v1
+0.000000000000000000000123456789
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+20 );
+@v1
+12345678909876540000.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-20 );
+@v1
+0.000000000000000000001234567891
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+19 );
+@v1
+1234567890987654000.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-19 );
+@v1
+0.000000000000000000012345678910
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+18 );
+@v1
+123456789098765400.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-18 );
+@v1
+0.000000000000000000123456789099
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+17 );
+@v1
+12345678909876540.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-17 );
+@v1
+0.000000000000000001234567890988
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+16 );
+@v1
+1234567890987654.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-16 );
+@v1
+0.000000000000000012345678909877
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+15 );
+@v1
+123456789098765.400000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-15 );
+@v1
+0.000000000000000123456789098765
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+14 );
+@v1
+12345678909876.540000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-14 );
+@v1
+0.000000000000001234567890987654
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+13 );
+@v1
+1234567890987.654000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-13 );
+@v1
+0.000000000000012345678909876540
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+12 );
+@v1
+123456789098.765400000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-12 );
+@v1
+0.000000000000123456789098765400
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+11 );
+@v1
+12345678909.876540000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-11 );
+@v1
+0.000000000001234567890987654000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+10 );
+@v1
+1234567890.987654000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-10 );
+@v1
+0.000000000012345678909876540000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+9 );
+@v1
+123456789.098765400000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-9 );
+@v1
+0.000000000123456789098765400000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+8 );
+@v1
+12345678.909876540000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-8 );
+@v1
+0.000000001234567890987654000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+7 );
+@v1
+1234567.890987654000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-7 );
+@v1
+0.000000012345678909876540000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+6 );
+@v1
+123456.789098765400000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-6 );
+@v1
+0.000000123456789098765400000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+5 );
+@v1
+12345.678909876540000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-5 );
+@v1
+0.000001234567890987654000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+4 );
+@v1
+1234.567890987654000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-4 );
+@v1
+0.000012345678909876550000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+3 );
+@v1
+123.456789098765400000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-3 );
+@v1
+0.000123456789098765400000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+2 );
+@v1
+12.345678909876540000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-2 );
+@v1
+0.001234567890987654000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+1 );
+@v1
+1.234567890987654000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-1 );
+@v1
+0.012345678909876540000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+0 );
+@v1
+0.123456789098765400000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-0 );
+@v1
+0.123456789098765400000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
SHOW PROCEDURE status;
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER this is simple
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongname2348 PROCEDURE root@localhost modified created DEFINER
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcd PROCEDURE root@localhost modified created DEFINER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER this is simple latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( f1 enum("value1", "value1") ) language sql not deterministic sql security invoker comment 'this is simple'
BEGIN
SELECT f1;
END//
+Warnings:
+Note 1291 Column '' has duplicated value 'value1' in ENUM
CALL sp1( "value1" );
f1
value1
+Warnings:
+Note 1291 Column '' has duplicated value 'value1' in ENUM
SHOW PROCEDURE status;
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER this is simple
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongname2348 PROCEDURE root@localhost modified created DEFINER
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcd PROCEDURE root@localhost modified created DEFINER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER this is simple latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( f1 set("value1", "value1") ) language sql not deterministic sql security invoker comment 'this is simple'
BEGIN
SELECT f1;
END//
+Warnings:
+Note 1291 Column '' has duplicated value 'value1' in SET
CALL sp1( "value1, value1" );
f1
-value1, value1
+value1
+Warnings:
+Note 1291 Column '' has duplicated value 'value1' in SET
+Warning 1265 Data truncated for column 'f1' at row 1
SHOW PROCEDURE status;
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER this is simple
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongname2348 PROCEDURE root@localhost modified created DEFINER
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcd PROCEDURE root@localhost modified created DEFINER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER this is simple latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( f1 enum("value1", "value1") ) language sql not deterministic sql security invoker comment 'this is simple'
BEGIN
SELECT f1;
END//
+Warnings:
+Note 1291 Column '' has duplicated value 'value1' in ENUM
CALL sp1( "value1" );
f1
value1
+Warnings:
+Note 1291 Column '' has duplicated value 'value1' in ENUM
SHOW PROCEDURE status;
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER this is simple
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongname2348 PROCEDURE root@localhost modified created DEFINER
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcd PROCEDURE root@localhost modified created DEFINER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER this is simple latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( f1 text ) language sql SELECT f1;
CALL sp1( 'abc' );
f1
abc
SHOW PROCEDURE status like 'sp1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp1 PROCEDURE root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp1 PROCEDURE root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( f1 text ) deterministic SELECT f1;
CALL sp1( 'abc' );
f1
abc
SHOW PROCEDURE status like 'sp1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp1 PROCEDURE root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp1 PROCEDURE root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( f1 text ) not deterministic SELECT f1;
CALL sp1( 'abc' );
f1
abc
SHOW PROCEDURE status like 'sp1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp1 PROCEDURE root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp1 PROCEDURE root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( f1 text ) sql security definer SELECT f1;
CALL sp1( 'abc' );
f1
abc
SHOW PROCEDURE status like 'sp1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp1 PROCEDURE root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp1 PROCEDURE root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( f1 text ) sql security invoker SELECT f1;
CALL sp1( 'abc' );
f1
abc
SHOW PROCEDURE status like 'sp1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( f1 text ) comment 'this is simple' SELECT f1;
CALL sp1( 'abc' );
f1
abc
SHOW PROCEDURE status like 'sp1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp1 PROCEDURE root@localhost modified created DEFINER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp1 PROCEDURE root@localhost modified created DEFINER this is simple latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE sp1_thisisaveryverylongname234872934_thisisaveryverylongname234872934;
+ERROR 42000: Identifier name 'sp1_thisisaveryverylongname234872934_thisisaveryverylongname234872934' is too long
DROP PROCEDURE sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcde;
+ERROR 42000: Identifier name 'sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcde' is too long
DROP PROCEDURE sp1;
Testcase 4.1.2:
@@ -294,8 +1298,8 @@ SELECT fn1( ' world');
fn1( ' world')
hello world
SHOW FUNCTION STATUS LIKE 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc fn1 FUNCTION root@localhost modified created DEFINER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc fn1 FUNCTION root@localhost modified created DEFINER this is simple latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION IF EXISTS fn1;
CREATE FUNCTION fn1( f1 smallint ) returns smallint language sql not deterministic sql security invoker comment 'this is simple'
BEGIN
@@ -306,8 +1310,8 @@ SELECT fn1( 126 );
fn1( 126 )
127
SHOW FUNCTION STATUS LIKE 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc fn1 FUNCTION root@localhost modified created INVOKER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc fn1 FUNCTION root@localhost modified created INVOKER this is simple latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION IF EXISTS fn1;
CREATE FUNCTION fn1( f1 decimal(63, 31) ) returns decimal(63, 31) language sql not deterministic sql security invoker comment 'this is simple'
BEGIN
@@ -326,34 +1330,34 @@ SELECT fn1( 1.3326e+8 );
fn1( 1.3326e+8 )
134260000.000000000000000000000000000000
SHOW FUNCTION STATUS LIKE 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc fn1 FUNCTION root@localhost modified created INVOKER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc fn1 FUNCTION root@localhost modified created INVOKER this is simple latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION IF EXISTS fn1;
CREATE FUNCTION fn1( f1 enum("value1", "value1") ) returns decimal(63, 30) language sql not deterministic sql security invoker comment 'this is simple'
BEGIN
return f1;
END//
+Warnings:
+Note 1291 Column '' has duplicated value 'value1' in ENUM
SELECT fn1( "value1" );
fn1( "value1" )
-0.000000000000000000000000000000
-Warnings:
-Warning 1292 Truncated incorrect DECIMAL value: 'value1'
+1.000000000000000000000000000000
SHOW FUNCTION STATUS LIKE 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc fn1 FUNCTION root@localhost modified created INVOKER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc fn1 FUNCTION root@localhost modified created INVOKER this is simple latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION IF EXISTS fn1;
CREATE FUNCTION fn1( f1 set("value1", "value1") ) returns decimal(63, 30) language sql not deterministic sql security invoker comment 'this is simple'
BEGIN
return f1;
END//
+Warnings:
+Note 1291 Column '' has duplicated value 'value1' in SET
SELECT fn1( "value1, value1" );
fn1( "value1, value1" )
-0.000000000000000000000000000000
-Warnings:
-Warning 1292 Truncated incorrect DECIMAL value: 'value1, value1'
+1.000000000000000000000000000000
SHOW FUNCTION STATUS LIKE 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc fn1 FUNCTION root@localhost modified created INVOKER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc fn1 FUNCTION root@localhost modified created INVOKER this is simple latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION IF EXISTS fn1;
CREATE FUNCTION fn1( f1 smallint ) returns smallint language sql
BEGIN
@@ -364,8 +1368,8 @@ SELECT fn1( 126 );
fn1( 126 )
127
SHOW FUNCTION STATUS LIKE 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc fn1 FUNCTION root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc fn1 FUNCTION root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION IF EXISTS fn1;
CREATE FUNCTION fn1( f1 smallint ) returns smallint deterministic
BEGIN
@@ -376,8 +1380,8 @@ SELECT fn1( 126 );
fn1( 126 )
127
SHOW FUNCTION STATUS LIKE 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc fn1 FUNCTION root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc fn1 FUNCTION root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION IF EXISTS fn1;
CREATE FUNCTION fn1( f1 smallint ) returns smallint not deterministic
BEGIN
@@ -388,8 +1392,8 @@ SELECT fn1( 126 );
fn1( 126 )
127
SHOW FUNCTION STATUS LIKE 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc fn1 FUNCTION root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc fn1 FUNCTION root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION IF EXISTS fn1;
CREATE FUNCTION fn1( f1 smallint ) returns smallint
sql security definer
@@ -401,8 +1405,8 @@ SELECT fn1( 126 );
fn1( 126 )
127
SHOW FUNCTION STATUS LIKE 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc fn1 FUNCTION root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc fn1 FUNCTION root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION IF EXISTS fn1;
CREATE FUNCTION fn1( f1 smallint ) returns smallint
sql security invoker
@@ -414,8 +1418,8 @@ SELECT fn1( 126 );
fn1( 126 )
127
SHOW FUNCTION STATUS LIKE 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc fn1 FUNCTION root@localhost modified created INVOKER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc fn1 FUNCTION root@localhost modified created INVOKER latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION IF EXISTS fn1;
CREATE FUNCTION fn1( f1 smallint ) returns smallint
comment 'this is simple'
@@ -427,8 +1431,8 @@ SELECT fn1( 126 );
fn1( 126 )
127
SHOW FUNCTION STATUS LIKE 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc fn1 FUNCTION root@localhost modified created DEFINER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc fn1 FUNCTION root@localhost modified created DEFINER this is simple latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION fn1;
Testcase 4.1.3:
@@ -440,9 +1444,9 @@ DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1 (f1 char(20) )
SELECT * from t1 where f2 = f1;
show CREATE PROCEDURE sp1;
-Procedure sql_mode Create Procedure
-sp1 CREATE PROCEDURE `sp1`(f1 char(20) )
-SELECT * from t1 where f2 = f1
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+sp1 CREATE DEFINER=`root`@`localhost` PROCEDURE `sp1`(f1 char(20) )
+SELECT * from t1 where f2 = f1 latin1 modified created
DROP PROCEDURE sp1;
Testcase 4.1.4:
@@ -453,9 +1457,9 @@ DROP FUNCTION IF EXISTS fn1;
CREATE FUNCTION fn1 (s char(20)) returns char(50)
return concat('hello, ', s, '!');
show CREATE FUNCTION fn1;
-Function sql_mode Create Function
-fn1 CREATE FUNCTION `fn1`(s char(20)) RETURNS char(50)
-return concat('hello, ', s, '!')
+Function sql_mode Create Function character_set_client collation_connection Database Collation
+fn1 CREATE DEFINER=`root`@`localhost` FUNCTION `fn1`(s char(20)) RETURNS char(50) CHARSET latin1
+return concat('hello, ', s, '!') latin1 modified created
DROP FUNCTION fn1;
Testcase 4.1.5:
@@ -465,8 +1469,8 @@ SHOW PROCEDURE status
CREATE PROCEDURE sp5()
SELECT * from t1;
SHOW PROCEDURE status like 'sp5';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp5 PROCEDURE root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp5 PROCEDURE root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE sp5;
Testcase 4.1.6:
@@ -479,8 +1483,8 @@ set @b = 0.9 * a;
return @b;
END//
SHOW FUNCTION STATUS LIKE 'fn5';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc fn5 FUNCTION root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc fn5 FUNCTION root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION fn5;
Testcase 4.1.7:
@@ -498,7 +1502,7 @@ CREATE PROCEDURE sp7b (a char (20), out b char(20))
SELECT f1 into b from t1 where t1.f2= a;
CALL sp7b('xyz', @out_param);
Warnings:
-Warning 1329 No data to FETCH
+Warning 1329 No data - zero rows fetched, selected, or processed
SELECT @out_param;
@out_param
NULL
@@ -510,9 +1514,6 @@ SELECT f2 into c from t1 where t1.f2=999;
END//
set @c=1;
CALL sp7c('xyz', @out_param, @c);
-Warnings:
-Warning 1329 No data to FETCH
-Warning 1329 No data to FETCH
SELECT @out_param;
@out_param
NULL
@@ -539,48 +1540,48 @@ Testcase 4.1.9:
drop procedure
--------------------------------------------------------------------------------
SELECT * from mysql.proc where specific_name='sp9';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
DROP PROCEDURE IF EXISTS sp9;
SELECT * from mysql.proc where specific_name='sp9';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
CREATE PROCEDURE sp9()SELECT * from t1;
SELECT * from mysql.proc where specific_name='sp9';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
-db_storedproc sp9 PROCEDURE sp9 SQL CONTAINS_SQL NO DEFINER SELECT * from t1 root@localhost created modified
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
+db_storedproc sp9 PROCEDURE sp9 SQL CONTAINS_SQL NO DEFINER SELECT * from t1 root@localhost created modified latin1 latin1_swedish_ci latin1_swedish_ci SELECT * from t1
DROP PROCEDURE sp9;
SELECT * from mysql.proc where specific_name='sp9';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
CREATE PROCEDURE sp9()SELECT * from t1;
SELECT * from mysql.proc where specific_name='sp9';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
-db_storedproc sp9 PROCEDURE sp9 SQL CONTAINS_SQL NO DEFINER SELECT * from t1 root@localhost created modified
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
+db_storedproc sp9 PROCEDURE sp9 SQL CONTAINS_SQL NO DEFINER SELECT * from t1 root@localhost created modified latin1 latin1_swedish_ci latin1_swedish_ci SELECT * from t1
DROP PROCEDURE IF EXISTS sp9;
SELECT * from mysql.proc where specific_name='sp9';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
Testcase 4.1.10:
----------------
DROP FUNCTION
--------------------------------------------------------------------------------
SELECT * from mysql.proc where specific_name='fn10' and type='function';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
DROP FUNCTION IF EXISTS fn10;
SELECT * from mysql.proc where specific_name='fn10' and type='function';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
CREATE FUNCTION fn10() returns int return 100;
SELECT * from mysql.proc where specific_name='fn10' and type='function';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
-db_storedproc fn10 FUNCTION fn10 SQL CONTAINS_SQL NO DEFINER int(11) return 100 root@localhost created modified
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
+db_storedproc fn10 FUNCTION fn10 SQL CONTAINS_SQL NO DEFINER int(11) return 100 root@localhost created modified latin1 latin1_swedish_ci latin1_swedish_ci return 100
DROP FUNCTION fn10;
SELECT * from mysql.proc where specific_name='fn10' and type='function';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
CREATE FUNCTION fn10() returns int return 100;
SELECT * from mysql.proc where specific_name='fn10' and type='function';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
-db_storedproc fn10 FUNCTION fn10 SQL CONTAINS_SQL NO DEFINER int(11) return 100 root@localhost created modified
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
+db_storedproc fn10 FUNCTION fn10 SQL CONTAINS_SQL NO DEFINER int(11) return 100 root@localhost created modified latin1 latin1_swedish_ci latin1_swedish_ci return 100
DROP FUNCTION IF EXISTS fn10;
SELECT * from mysql.proc where specific_name='fn10' and type='function';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
Testcase 4.1.11:
----------------
@@ -604,6 +1605,7 @@ connect(localhost,user_1,,db_storedproc,MYSQL_PORT,MYSQL_SOCK);
user_1@localhost db_storedproc
CALL sp11();
+USE db_storedproc;
root@localhost db_storedproc
alter procedure sp11 sql security invoker;
@@ -612,6 +1614,7 @@ security_type
INVOKER
user_1@localhost db_storedproc
+USE db_storedproc;
CALL sp11();
ERROR 42000: INSERT command denied to user 'user_1'@'localhost' for table 't1'
commit work;
@@ -705,6 +1708,10 @@ SELECT * from t1 where f2 = f1' at line 1
CREATE PROCEDURE function()
SELECT * from t1 where f2=f1;
DROP PROCEDURE function;
+CREATE PROCEDURE accessible()
+SELECT * from t1 where f2=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 'accessible()
+SELECT * from t1 where f2=f1' at line 1
CREATE PROCEDURE add()
SELECT * from t1 where f2=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()
@@ -765,9 +1772,9 @@ CREATE PROCEDURE by()
SELECT * from t1 where f2=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 'by()
SELECT * from t1 where f2=f1' at line 1
-CREATE PROCEDURE CALL()
+CREATE PROCEDURE call()
SELECT * from t1 where f2=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 'CALL()
+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 'call()
SELECT * from t1 where f2=f1' at line 1
CREATE PROCEDURE cascade()
SELECT * from t1 where f2=f1;
@@ -801,17 +1808,10 @@ CREATE PROCEDURE column()
SELECT * from t1 where f2=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 'column()
SELECT * from t1 where f2=f1' at line 1
-CREATE PROCEDURE columns()
-SELECT * from t1 where f2=f1;
-DROP PROCEDURE columns;
CREATE PROCEDURE condition()
SELECT * from t1 where f2=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 'condition()
SELECT * from t1 where f2=f1' at line 1
-CREATE PROCEDURE connection()
-SELECT * from t1 where f2=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 'connection()
-SELECT * from t1 where f2=f1' at line 1
CREATE PROCEDURE constraint()
SELECT * from t1 where f2=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 'constraint()
@@ -995,9 +1995,6 @@ CREATE PROCEDURE foreign()
SELECT * from t1 where f2=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 'foreign()
SELECT * from t1 where f2=f1' at line 1
-CREATE PROCEDURE found()
-SELECT * from t1 where f2=f1;
-DROP PROCEDURE found;
CREATE PROCEDURE from()
SELECT * from t1 where f2=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 'from()
@@ -1006,9 +2003,6 @@ CREATE PROCEDURE fulltext()
SELECT * from t1 where f2=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 'fulltext()
SELECT * from t1 where f2=f1' at line 1
-CREATE PROCEDURE goto()
-SELECT * from t1 where f2=f1;
-DROP PROCEDURE goto;
CREATE PROCEDURE grant()
SELECT * from t1 where f2=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 'grant()
@@ -1077,6 +2071,26 @@ CREATE PROCEDURE int()
SELECT * from t1 where f2=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 'int()
SELECT * from t1 where f2=f1' at line 1
+CREATE PROCEDURE int1()
+SELECT * from t1 where f2=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 'int1()
+SELECT * from t1 where f2=f1' at line 1
+CREATE PROCEDURE int2()
+SELECT * from t1 where f2=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 'int2()
+SELECT * from t1 where f2=f1' at line 1
+CREATE PROCEDURE int3()
+SELECT * from t1 where f2=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 'int3()
+SELECT * from t1 where f2=f1' at line 1
+CREATE PROCEDURE int4()
+SELECT * from t1 where f2=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 'int4()
+SELECT * from t1 where f2=f1' at line 1
+CREATE PROCEDURE int8()
+SELECT * from t1 where f2=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 'int8()
+SELECT * from t1 where f2=f1' at line 1
CREATE PROCEDURE integer()
SELECT * from t1 where f2=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 'integer()
@@ -1133,6 +2147,10 @@ CREATE PROCEDURE limit()
SELECT * from t1 where f2=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 'limit()
SELECT * from t1 where f2=f1' at line 1
+CREATE PROCEDURE linear()
+SELECT * from t1 where f2=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 'linear()
+SELECT * from t1 where f2=f1' at line 1
CREATE PROCEDURE lines()
SELECT * from t1 where f2=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 'lines()
@@ -1173,6 +2191,10 @@ CREATE PROCEDURE low_priority()
SELECT * from t1 where f2=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 'low_priority()
SELECT * from t1 where f2=f1' at line 1
+CREATE PROCEDURE master_ssl_verify_server_cert()
+SELECT * from t1 where f2=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 'master_ssl_verify_server_cert()
+SELECT * from t1 where f2=f1' at line 1
CREATE PROCEDURE match()
SELECT * from t1 where f2=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 'match()
@@ -1273,9 +2295,6 @@ CREATE PROCEDURE primary()
SELECT * from t1 where f2=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 'primary()
SELECT * from t1 where f2=f1' at line 1
-CREATE PROCEDURE privileges()
-SELECT * from t1 where f2=f1;
-DROP PROCEDURE privileges;
CREATE PROCEDURE procedure()
SELECT * from t1 where f2=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 'procedure()
@@ -1284,6 +2303,10 @@ CREATE PROCEDURE purge()
SELECT * from t1 where f2=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 'purge()
SELECT * from t1 where f2=f1' at line 1
+CREATE PROCEDURE range()
+SELECT * from t1 where f2=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 'range()
+SELECT * from t1 where f2=f1' at line 1
CREATE PROCEDURE read()
SELECT * from t1 where f2=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 'read()
@@ -1304,6 +2327,10 @@ CREATE PROCEDURE regexp()
SELECT * from t1 where f2=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 'regexp()
SELECT * from t1 where f2=f1' at line 1
+CREATE PROCEDURE release()
+SELECT * from t1 where f2=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 'release()
+SELECT * from t1 where f2=f1' at line 1
CREATE PROCEDURE rename()
SELECT * from t1 where f2=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 'rename()
@@ -1376,10 +2403,6 @@ CREATE PROCEDURE smallint()
SELECT * from t1 where f2=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 'smallint()
SELECT * from t1 where f2=f1' at line 1
-CREATE PROCEDURE soname()
-SELECT * from t1 where f2=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 'soname()
-SELECT * from t1 where f2=f1' at line 1
CREATE PROCEDURE spatial()
SELECT * from t1 where f2=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 'spatial()
@@ -1432,9 +2455,6 @@ CREATE PROCEDURE table()
SELECT * from t1 where f2=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 'table()
SELECT * from t1 where f2=f1' at line 1
-CREATE PROCEDURE tables()
-SELECT * from t1 where f2=f1;
-DROP PROCEDURE tables;
CREATE PROCEDURE terminated()
SELECT * from t1 where f2=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 'terminated()
@@ -1725,6 +2745,26 @@ CREATE FUNCTION int(f1 int) returns int
return 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 'int(f1 int) returns int
return f1' at line 1
+CREATE FUNCTION int1(f1 int1) returns int1
+return 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 'int1(f1 int1) returns int1
+return f1' at line 1
+CREATE FUNCTION int2(f1 int2) returns int2
+return 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 'int2(f1 int2) returns int2
+return f1' at line 1
+CREATE FUNCTION int3(f1 int3) returns int3
+return 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 'int3(f1 int3) returns int3
+return f1' at line 1
+CREATE FUNCTION int4(f1 int4) returns int4
+return 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 'int4(f1 int4) returns int4
+return f1' at line 1
+CREATE FUNCTION int8(f1 int8) returns int8
+return 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 'int8(f1 int8) returns int8
+return f1' at line 1
CREATE FUNCTION int unsigned(f1 int unsigned) returns int unsigned
return 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 'int unsigned(f1 int unsigned) returns int unsigned
@@ -1846,485 +2886,291 @@ return f' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(char f1 ) returns char
+CREATE FUNCTION fn1(f1 char ) returns char
return 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 'char f1 ) returns char
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(char binary f1 ) returns char binary
+CREATE FUNCTION fn1(f1 char binary ) returns char binary
return 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 'char binary f1 ) returns char binary
-return f1' at line 1
+ERROR 42000: This version of MySQL doesn't yet support 'return value collation'
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(char ascii f1 ) returns char ascii
+CREATE FUNCTION fn1(f1 char ascii ) returns char ascii
return 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 'char ascii f1 ) returns char ascii
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(char not null f1 ) returns char not null
+CREATE FUNCTION fn1(f1 char not null ) returns char not null
return 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 'char not null f1 ) returns char not null
+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 'not null ) returns char not null
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(char binary not null f1 ) returns char binary not null
+CREATE FUNCTION fn1(f1 char binary not null ) returns char binary not null
return 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 'char binary not null f1 ) returns char binary not null
+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 'not null ) returns char binary not null
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(char ascii not null f1 ) returns char ascii not null
+CREATE FUNCTION fn1(f1 char ascii not null ) returns char ascii not null
return 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 'char ascii not null f1 ) returns char ascii not null
+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 'not null ) returns char ascii not null
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(tinytext f1 ) returns tinytext
+CREATE FUNCTION fn1(f1 tinytext ) returns tinytext
return 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 'tinytext f1 ) returns tinytext
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(text f1 ) returns text
+CREATE FUNCTION fn1(f1 text ) returns text
return 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 'f1 ) returns text
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(mediumtext f1 ) returns mediumtext
+CREATE FUNCTION fn1(f1 mediumtext ) returns mediumtext
return 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 'mediumtext f1 ) returns mediumtext
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(longtext f1 ) returns longtext
+CREATE FUNCTION fn1(f1 longtext ) returns longtext
return 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 'longtext f1 ) returns longtext
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(tinytext not null f1 ) returns tinytext not null
+CREATE FUNCTION fn1(f1 tinytext not null ) returns tinytext not null
return 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 'tinytext not null f1 ) returns tinytext not null
+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 'not null ) returns tinytext not null
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(text not null f1 ) returns text not null
+CREATE FUNCTION fn1(f1 text not null ) returns text not null
return 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 'not null f1 ) returns text not null
+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 'not null ) returns text not null
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(mediumtext not null f1 ) returns mediumtext not null
+CREATE FUNCTION fn1(f1 mediumtext not null ) returns mediumtext not null
return 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 'mediumtext not null f1 ) returns mediumtext not null
+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 'not null ) returns mediumtext not null
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(longtext not null f1 ) returns longtext not null
+CREATE FUNCTION fn1(f1 longtext not null ) returns longtext not null
return 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 'longtext not null f1 ) returns longtext not null
+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 'not null ) returns longtext not null
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(tinyblob f1 ) returns tinyblob
+CREATE FUNCTION fn1(f1 tinyblob ) returns tinyblob
return 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 'tinyblob f1 ) returns tinyblob
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(blob f1 ) returns blob
+CREATE FUNCTION fn1(f1 blob ) returns blob
return 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 'blob f1 ) returns blob
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(mediumblob f1 ) returns mediumblob
+CREATE FUNCTION fn1(f1 mediumblob ) returns mediumblob
return 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 'mediumblob f1 ) returns mediumblob
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(longblob f1 ) returns longblob
+CREATE FUNCTION fn1(f1 longblob ) returns longblob
return 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 'longblob f1 ) returns longblob
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(tinyblob not null f1 ) returns tinyblob not null
+CREATE FUNCTION fn1(f1 tinyblob not null ) returns tinyblob not null
return 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 'tinyblob not null f1 ) returns tinyblob not null
+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 'not null ) returns tinyblob not null
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(blob not null f1 ) returns blob not null
+CREATE FUNCTION fn1(f1 blob not null ) returns blob not null
return 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 'blob not null f1 ) returns blob not null
+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 'not null ) returns blob not null
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(mediumblob not null f1 ) returns mediumblob not null
+CREATE FUNCTION fn1(f1 mediumblob not null ) returns mediumblob not null
return 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 'mediumblob not null f1 ) returns mediumblob not null
+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 'not null ) returns mediumblob not null
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(longblob not null f1 ) returns longblob not null
+CREATE FUNCTION fn1(f1 longblob not null ) returns longblob not null
return 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 'longblob not null f1 ) returns longblob not null
+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 'not null ) returns longblob not null
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(binary f1 ) returns binary
+CREATE FUNCTION fn1(f1 binary ) returns binary
return 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 'binary f1 ) returns binary
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(binary not null f1 ) returns binary not null
+CREATE FUNCTION fn1(f1 binary not null ) returns binary not null
return 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 'binary not null f1 ) returns binary not null
+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 'not null ) returns binary not null
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(tinyint f1 ) returns tinyint
+CREATE FUNCTION fn1(f1 tinyint ) returns tinyint
return 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 'tinyint f1 ) returns tinyint
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(tinyint unsigned f1 ) returns tinyint unsigned
+CREATE FUNCTION fn1(f1 tinyint unsigned ) returns tinyint unsigned
return 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 'tinyint unsigned f1 ) returns tinyint unsigned
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(tinyint zerofill f1 ) returns tinyint zerofill
+CREATE FUNCTION fn1(f1 tinyint zerofill ) returns tinyint zerofill
return 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 'tinyint zerofill f1 ) returns tinyint zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(tinyint unsigned zerofill f1 ) returns tinyint unsigned zerofill
+CREATE FUNCTION fn1(f1 tinyint unsigned zerofill ) returns tinyint unsigned zerofill
return 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 'tinyint unsigned zerofill f1 ) returns tinyint unsigned zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(smallint f1 ) returns smallint
+CREATE FUNCTION fn1(f1 smallint ) returns smallint
return 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 'smallint f1 ) returns smallint
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(smallint unsigned f1 ) returns smallint unsigned
+CREATE FUNCTION fn1(f1 smallint unsigned ) returns smallint unsigned
return 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 'smallint unsigned f1 ) returns smallint unsigned
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(smallint zerofill f1 ) returns smallint zerofill
+CREATE FUNCTION fn1(f1 smallint zerofill ) returns smallint zerofill
return 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 'smallint zerofill f1 ) returns smallint zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(smallint unsigned zerofill f1 ) returns smallint unsigned zerofill
+CREATE FUNCTION fn1(f1 smallint unsigned zerofill ) returns smallint unsigned zerofill
return 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 'smallint unsigned zerofill f1 ) returns smallint unsigned zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(mediumint f1 ) returns mediumint
+CREATE FUNCTION fn1(f1 mediumint ) returns mediumint
return 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 'mediumint f1 ) returns mediumint
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(mediumint unsigned f1 ) returns mediumint unsigned
+CREATE FUNCTION fn1(f1 mediumint unsigned ) returns mediumint unsigned
return 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 'mediumint unsigned f1 ) returns mediumint unsigned
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(mediumint zerofill f1 ) returns mediumint zerofill
+CREATE FUNCTION fn1(f1 mediumint zerofill ) returns mediumint zerofill
return 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 'mediumint zerofill f1 ) returns mediumint zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(mediumint unsigned zerofill f1 ) returns mediumint unsigned zerofill
+CREATE FUNCTION fn1(f1 mediumint unsigned zerofill ) returns mediumint unsigned zerofill
return 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 'mediumint unsigned zerofill f1 ) returns mediumint unsigned zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(int f1 ) returns int
+CREATE FUNCTION fn1(f1 int ) returns int
return 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 'int f1 ) returns int
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(int unsigned f1 ) returns int unsigned
+CREATE FUNCTION fn1(f1 int unsigned ) returns int unsigned
return 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 'int unsigned f1 ) returns int unsigned
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(int zerofill f1 ) returns int zerofill
+CREATE FUNCTION fn1(f1 int1 unsigned ) returns int1 unsigned
return 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 'int zerofill f1 ) returns int zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(int unsigned zerofill f1 ) returns int unsigned zerofill
+CREATE FUNCTION fn1(f1 int2 unsigned ) returns int2 unsigned
return 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 'int unsigned zerofill f1 ) returns int unsigned zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(bigint f1 ) returns bigint
+CREATE FUNCTION fn1(f1 int3 unsigned ) returns int3 unsigned
return 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 'bigint f1 ) returns bigint
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(bigint unsigned f1 ) returns bigint unsigned
+CREATE FUNCTION fn1(f1 int4 unsigned ) returns int4 unsigned
return 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 'bigint unsigned f1 ) returns bigint unsigned
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(bigint zerofill f1 ) returns bigint zerofill
+CREATE FUNCTION fn1(f1 int8 unsigned ) returns int8 unsigned
return 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 'bigint zerofill f1 ) returns bigint zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(bigint unsigned zerofill f1 ) returns bigint unsigned zerofill
+CREATE FUNCTION fn1(f1 int zerofill ) returns int zerofill
return 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 'bigint unsigned zerofill f1 ) returns bigint unsigned zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(decimal f1 ) returns decimal
+CREATE FUNCTION fn1(f1 int unsigned zerofill ) returns int unsigned zerofill
return 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 'decimal f1 ) returns decimal
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(decimal unsigned f1 ) returns decimal unsigned
+CREATE FUNCTION fn1(f1 bigint ) returns bigint
return 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 'decimal unsigned f1 ) returns decimal unsigned
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(decimal zerofill f1 ) returns decimal zerofill
+CREATE FUNCTION fn1(f1 bigint unsigned ) returns bigint unsigned
return 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 'decimal zerofill f1 ) returns decimal zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(decimal unsigned zerofill f1 ) returns decimal unsigned zerofill
+CREATE FUNCTION fn1(f1 bigint zerofill ) returns bigint zerofill
return 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 'decimal unsigned zerofill f1 ) returns decimal unsigned zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(numeric f1 ) returns numeric
+CREATE FUNCTION fn1(f1 bigint unsigned zerofill ) returns bigint unsigned zerofill
return 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 'numeric f1 ) returns numeric
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(numeric unsigned f1 ) returns numeric unsigned
+CREATE FUNCTION fn1(f1 decimal ) returns decimal
return 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 'numeric unsigned f1 ) returns numeric unsigned
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(numeric zerofill f1 ) returns numeric zerofill
+CREATE FUNCTION fn1(f1 decimal unsigned ) returns decimal unsigned
return 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 'numeric zerofill f1 ) returns numeric zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(numeric unsigned zerofill f1 ) returns numeric unsigned zerofill
+CREATE FUNCTION fn1(f1 decimal zerofill ) returns decimal zerofill
return 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 'numeric unsigned zerofill f1 ) returns numeric unsigned zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(real f1 ) returns real
+CREATE FUNCTION fn1(f1 decimal unsigned zerofill ) returns decimal unsigned zerofill
return 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 'real f1 ) returns real
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(real unsigned f1 ) returns real unsigned
+CREATE FUNCTION fn1(f1 numeric ) returns numeric
return 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 'real unsigned f1 ) returns real unsigned
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(real zerofill f1 ) returns real zerofill
+CREATE FUNCTION fn1(f1 numeric unsigned ) returns numeric unsigned
return 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 'real zerofill f1 ) returns real zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(real unsigned zerofill f1 ) returns real unsigned zerofill
+CREATE FUNCTION fn1(f1 numeric zerofill ) returns numeric zerofill
return 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 'real unsigned zerofill f1 ) returns real unsigned zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(float f1 ) returns float
+CREATE FUNCTION fn1(f1 numeric unsigned zerofill ) returns numeric unsigned zerofill
return 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 'float f1 ) returns float
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(float unsigned f1 ) returns float unsigned
+CREATE FUNCTION fn1(f1 real ) returns real
return 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 'float unsigned f1 ) returns float unsigned
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(float zerofill f1 ) returns float zerofill
+CREATE FUNCTION fn1(f1 real unsigned ) returns real unsigned
return 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 'float zerofill f1 ) returns float zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(float unsigned zerofill f1 ) returns float unsigned zerofill
+CREATE FUNCTION fn1(f1 real zerofill ) returns real zerofill
return 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 'float unsigned zerofill f1 ) returns float unsigned zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(date f1 ) returns date
+CREATE FUNCTION fn1(f1 real unsigned zerofill ) returns real unsigned zerofill
return 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 'f1 ) returns date
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(time f1 ) returns time
+CREATE FUNCTION fn1(f1 float ) returns float
return 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 'f1 ) returns time
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(datetime f1 ) returns datetime
+CREATE FUNCTION fn1(f1 float unsigned ) returns float unsigned
return 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 'f1 ) returns datetime
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(timestamp f1 ) returns timestamp
+CREATE FUNCTION fn1(f1 float zerofill ) returns float zerofill
return 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 'f1 ) returns timestamp
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(year f1 ) returns year
+CREATE FUNCTION fn1(f1 float unsigned zerofill ) returns float unsigned zerofill
return 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 'f1 ) returns year
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(year(3) f1 ) returns year(3)
+CREATE FUNCTION fn1(f1 date ) returns date
+return f1;
+DROP FUNCTION IF EXISTS fn1;
+CREATE FUNCTION fn1(f1 time ) returns time
+return f1;
+DROP FUNCTION IF EXISTS fn1;
+CREATE FUNCTION fn1(f1 datetime ) returns datetime
+return f1;
+DROP FUNCTION IF EXISTS fn1;
+CREATE FUNCTION fn1(f1 timestamp ) returns timestamp
+return f1;
+DROP FUNCTION IF EXISTS fn1;
+CREATE FUNCTION fn1(f1 year ) returns year
+return f1;
+DROP FUNCTION IF EXISTS fn1;
+CREATE FUNCTION fn1(f1 year(f1 3) ) returns year(3)
return 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 '(3) f1 ) returns year(3)
+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 3) ) returns year(3)
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(year(4) f1 ) returns year(4)
+CREATE FUNCTION fn1(f1 year(f1 4) ) returns year(4)
return 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 '(4) f1 ) returns year(4)
+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 4) ) returns year(4)
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(enum("1enum", "2enum") f1 ) returns enum("1enum", "2enum")
+CREATE FUNCTION fn1(f1 enum(f1 "1enum", "2enum") ) returns enum("1enum", "2enum")
return 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 '("1enum", "2enum") f1 ) returns enum("1enum", "2enum")
+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 "1enum", "2enum") ) returns enum("1enum", "2enum")
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(set("1set", "2set") f1 ) returns set("1set", "2set")
+CREATE FUNCTION fn1(f1 set(f1 "1set", "2set") ) returns set("1set", "2set")
return 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 'set("1set", "2set") f1 ) returns set("1set", "2set")
+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 "1set", "2set") ) returns set("1set", "2set")
return f1' at line 1
Testcase 4.1.16:
@@ -2564,15 +3410,15 @@ alter function sp1 sql security invoker comment 'this is a function';
alter procedure sp1 sql security definer;
alter function sp1 sql security definer;
show CREATE PROCEDURE sp1;
-Procedure sql_mode Create Procedure
-sp1 CREATE PROCEDURE `sp1`()
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+sp1 CREATE DEFINER=`root`@`localhost` PROCEDURE `sp1`()
COMMENT 'this is a procedure'
-set @x= 3
+set @x= 3 latin1 modified created
show CREATE FUNCTION sp1;
-Function sql_mode Create Function
-sp1 CREATE FUNCTION `sp1`() RETURNS int(11)
+Function sql_mode Create Function character_set_client collation_connection Database Collation
+sp1 CREATE DEFINER=`root`@`localhost` FUNCTION `sp1`() RETURNS int(11)
COMMENT 'this is a function'
-return 4
+return 4 latin1 modified created
USE db_storedproc;
DROP DATABASE db_storedproc_3122;
DROP FUNCTION db_storedproc.sp1;
@@ -2789,7 +3635,7 @@ SELECT count(*) into cnt from t2;
set @count = cnt;
SELECT @count;
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 'SELECT count(*) into cnt from t2;
+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 @count = cnt;
SELECT @count;
END' at line 2
@@ -2841,6 +3687,14 @@ Testcase ....:
--------------------------------------------------------------------------------
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
+accessible:BEGIN
+SELECT @x;
+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 'accessible:BEGIN
+SELECT @x;
+END' at line 2
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
add:BEGIN
SELECT @x;
END//
@@ -2860,9 +3714,7 @@ CREATE PROCEDURE sp1()
alter:BEGIN
SELECT @x;
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 ':BEGIN
-SELECT @x;
-END' at line 2
+ERROR 0A000: ALTER VIEW is not allowed in stored procedures
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
analyze:BEGIN
@@ -2961,7 +3813,7 @@ SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
-CALL:BEGIN
+call:BEGIN
SELECT @x;
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 ':BEGIN
@@ -3033,11 +3885,6 @@ SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
-columns:BEGIN
-SELECT @x;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1()
condition:BEGIN
SELECT @x;
END//
@@ -3046,14 +3893,6 @@ SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
-connection:BEGIN
-SELECT @x;
-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 'connection:BEGIN
-SELECT @x;
-END' at line 2
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1()
constraint:BEGIN
SELECT @x;
END//
@@ -3382,15 +4221,26 @@ SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
-fields:BEGIN
+float:BEGIN
SELECT @x;
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 'float:BEGIN
+SELECT @x;
+END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
-float:BEGIN
+float4:BEGIN
SELECT @x;
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 'float:BEGIN
+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 'float4:BEGIN
+SELECT @x;
+END' at line 2
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+float8:BEGIN
+SELECT @x;
+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 'float8:BEGIN
SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
@@ -3419,11 +4269,6 @@ SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
-found:BEGIN
-SELECT @x;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1()
from:BEGIN
SELECT @x;
END//
@@ -3440,11 +4285,6 @@ SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
-goto:BEGIN
-SELECT @x;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1()
grant:BEGIN
SELECT @x;
END//
@@ -3581,6 +4421,46 @@ SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
+int1:BEGIN
+SELECT @x;
+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 'int1:BEGIN
+SELECT @x;
+END' at line 2
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+int2:BEGIN
+SELECT @x;
+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 'int2:BEGIN
+SELECT @x;
+END' at line 2
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+int3:BEGIN
+SELECT @x;
+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 'int3:BEGIN
+SELECT @x;
+END' at line 2
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+int4:BEGIN
+SELECT @x;
+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 'int4:BEGIN
+SELECT @x;
+END' at line 2
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+int8:BEGIN
+SELECT @x;
+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 'int8:BEGIN
+SELECT @x;
+END' at line 2
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
integer:BEGIN
SELECT @x;
END//
@@ -3693,6 +4573,14 @@ SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
+linear:BEGIN
+SELECT @x;
+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 'linear:BEGIN
+SELECT @x;
+END' at line 2
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
lines:BEGIN
SELECT @x;
END//
@@ -3773,6 +4661,14 @@ SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
+master_ssl_verify_server_cert:BEGIN
+SELECT @x;
+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 'master_ssl_verify_server_cert:BEGIN
+SELECT @x;
+END' at line 2
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
match:BEGIN
SELECT @x;
END//
@@ -3973,11 +4869,6 @@ SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
-privileges:BEGIN
-SELECT @x;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1()
procedure:BEGIN
SELECT @x;
END//
@@ -3994,6 +4885,14 @@ SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
+range:BEGIN
+SELECT @x;
+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 'range:BEGIN
+SELECT @x;
+END' at line 2
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
read:BEGIN
SELECT @x;
END//
@@ -4009,6 +4908,15 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+read_write:BEGIN
+SELECT @x;
+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 'read_write:BEGIN
+SELECT @x;
+END' at line 2
+DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
real:BEGIN
SELECT @x;
@@ -4034,6 +4942,14 @@ SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
+release:BEGIN
+SELECT @x;
+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 ':BEGIN
+SELECT @x;
+END' at line 2
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
rename:BEGIN
SELECT @x;
END//
@@ -4178,14 +5094,6 @@ SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
-soname:BEGIN
-SELECT @x;
-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 'soname:BEGIN
-SELECT @x;
-END' at line 2
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1()
spatial:BEGIN
SELECT @x;
END//
@@ -4290,11 +5198,6 @@ SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
-tables:BEGIN
-SELECT @x;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1()
terminated:BEGIN
SELECT @x;
END//
@@ -4587,6 +5490,9 @@ END begin_label//
CALL sp1();
@v1 @v2
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 sp1;
Testcase 4.2.7:
@@ -4621,6 +5527,9 @@ declare y char;
SELECT f1, f2 into x, y from t2 limit 1;
END//
CALL sp1();
+Warnings:
+Warning 1265 Data truncated for column 'x' at row 1
+Warning 1265 Data truncated for column 'y' at row 1
DROP PROCEDURE sp1;
Testcase 4.2.9:
@@ -4684,8 +5593,6 @@ Ensure that the variables, cursors, conditions, and handlers declared for
a stored procedure (with the declare statement) may only be properly defined
--------------------------------------------------------------------------------
DROP PROCEDURE IF EXISTS sp6;
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed: DECIMAL(255,255) is not rejected
CREATE PROCEDURE sp6( )
BEGIN
declare x char default 'a';
@@ -4703,9 +5610,9 @@ fetch cur1 into e;
SELECT x, y, z, a, b, c, d, e;
close cur1;
END//
+ERROR 42000: Too big scale 255 specified for column ''. Maximum is 30.
CALL sp6();
-x y z a b c d e
-a 1 1.1 value1 1200000000000 mediumtext 2005-02-02 12:12:12 a`
+ERROR 42000: PROCEDURE db_storedproc.sp6 does not exist
DROP PROCEDURE IF EXISTS sp6;
CREATE PROCEDURE sp6( )
BEGIN
@@ -5828,13 +6735,6 @@ declare continue handler for sqlstate '23000' set @x2 = 1;
declare x char;
END//
ERROR 42000: Variable or condition declaration after cursor or handler declaration
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1()
-BEGIN
-declare continue handler for sqlstate '23000' set @x2 = 1;
-declare x char;
-END//
-ERROR 42000: Variable or condition declaration after cursor or handler declaration
DROP PROCEDURE IF EXISTS sp6;
CREATE PROCEDURE sp6( )
BEGIN
@@ -5864,6 +6764,15 @@ Ensure that the declare statement can declare multiple variables both separately
and all at once from a variable list. (multiple declaration)
--------------------------------------------------------------------------------
DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+BEGIN
+DECLARE x1 CHAR(100) DEFAULT 'outer';
+BEGIN
+DECLARE x1 CHAR(100) DEFAULT x1;
+END;
+END//
+CALL sp1();
+DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
declare x, y, z char default null;
@@ -5988,7 +6897,11 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
--1 -1 -1
+000 000 000
+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
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -5997,7 +6910,7 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
-1 1 1
+001 001 001
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6024,7 +6937,11 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
--1 -1 -1
+00000 00000 00000
+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
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6033,7 +6950,7 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
-1 1 1
+00001 00001 00001
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6060,7 +6977,11 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
--1 -1 -1
+00000000 00000000 00000000
+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
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6069,7 +6990,7 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
-1 1 1
+00000001 00000001 00000001
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6096,7 +7017,11 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
--1 -1 -1
+0000000000 0000000000 0000000000
+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
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6105,7 +7030,7 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
-1 1 1
+0000000001 0000000001 0000000001
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6123,7 +7048,7 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
--1 -1 -1
+18446744073709551615 18446744073709551615 18446744073709551615
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6132,7 +7057,11 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
--1 -1 -1
+00000000000000000000 00000000000000000000 00000000000000000000
+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
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6141,7 +7070,7 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
-1 1 1
+00000000000000000001 00000000000000000001 00000000000000000001
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6150,18 +7079,24 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
--34028234660123456789012345678901234567 -34028234660123456789012345678901234567 -34028234660123456789012345678901234567
+-9999999999 -9999999999 -9999999999
+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
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
declare x, y, z decimal unsigned default 1.175494351e-38;
SELECT x, y, z;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed: default (10,0) for DECIMAL not checked
CALL sp1();
x y z
-0.00000000000000000000000000000000000001175494351 0.00000000000000000000000000000000000001175494351 0.00000000000000000000000000000000000001175494351
+0 0 0
+Warnings:
+Note 1265 Data truncated for column 'x' at row 1
+Note 1265 Data truncated for column 'y' at row 1
+Note 1265 Data truncated for column 'z' at row 1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6170,62 +7105,76 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
--34028234660123456789012345678901234567 -34028234660123456789012345678901234567 -34028234660123456789012345678901234567
+0000000000 0000000000 0000000000
+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
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
declare x, y, z decimal unsigned zerofill default 1.175494351e-38;
SELECT x, y, z;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed: default (10,0) for DECIMAL not checked
CALL sp1();
x y z
-0.00000000000000000000000000000000000001175494351 0.00000000000000000000000000000000000001175494351 0.00000000000000000000000000000000000001175494351
+0000000000 0000000000 0000000000
+Warnings:
+Note 1265 Data truncated for column 'x' at row 1
+Note 1265 Data truncated for column 'y' at row 1
+Note 1265 Data truncated for column 'z' at row 1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
declare x, y, z numeric default 1.175494351e-38;
SELECT x, y, z;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed: default (10,0) for DECIMAL not checked
CALL sp1();
x y z
-0.00000000000000000000000000000000000001175494351 0.00000000000000000000000000000000000001175494351 0.00000000000000000000000000000000000001175494351
+0 0 0
+Warnings:
+Note 1265 Data truncated for column 'x' at row 1
+Note 1265 Data truncated for column 'y' at row 1
+Note 1265 Data truncated for column 'z' at row 1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
declare x, y, z numeric unsigned default 1.175494351e-38;
SELECT x, y, z;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed: default (10,0) for DECIMAL not checked
CALL sp1();
x y z
-0.00000000000000000000000000000000000001175494351 0.00000000000000000000000000000000000001175494351 0.00000000000000000000000000000000000001175494351
+0 0 0
+Warnings:
+Note 1265 Data truncated for column 'x' at row 1
+Note 1265 Data truncated for column 'y' at row 1
+Note 1265 Data truncated for column 'z' at row 1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
declare x, y, z numeric zerofill default 1.175494351e-38;
SELECT x, y, z;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed: default (10,0) for DECIMAL not checked
CALL sp1();
x y z
-0.00000000000000000000000000000000000001175494351 0.00000000000000000000000000000000000001175494351 0.00000000000000000000000000000000000001175494351
+0000000000 0000000000 0000000000
+Warnings:
+Note 1265 Data truncated for column 'x' at row 1
+Note 1265 Data truncated for column 'y' at row 1
+Note 1265 Data truncated for column 'z' at row 1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
declare x, y, z numeric unsigned zerofill default 1.175494351e-38;
SELECT x, y, z;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed: default (10,0) for DECIMAL not checked
CALL sp1();
x y z
-0.00000000000000000000000000000000000001175494351 0.00000000000000000000000000000000000001175494351 0.00000000000000000000000000000000000001175494351
+0000000000 0000000000 0000000000
+Warnings:
+Note 1265 Data truncated for column 'x' at row 1
+Note 1265 Data truncated for column 'y' at row 1
+Note 1265 Data truncated for column 'z' at row 1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6252,7 +7201,7 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
-1.175494351e-38 1.175494351e-38 1.175494351e-38
+00000001.175494351e-38 00000001.175494351e-38 00000001.175494351e-38
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6261,7 +7210,7 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
-1.175494351e-38 1.175494351e-38 1.175494351e-38
+00000001.175494351e-38 00000001.175494351e-38 00000001.175494351e-38
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6270,7 +7219,7 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
-1.175494351e-38 1.175494351e-38 1.175494351e-38
+1.17549e-38 1.17549e-38 1.17549e-38
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6279,7 +7228,7 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
-1.175494351e-38 1.175494351e-38 1.175494351e-38
+1.17549e-38 1.17549e-38 1.17549e-38
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6288,7 +7237,7 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
-1.175494351e-38 1.175494351e-38 1.175494351e-38
+01.17549e-38 01.17549e-38 01.17549e-38
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6297,7 +7246,7 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
-1.175494351e-38 1.175494351e-38 1.175494351e-38
+01.17549e-38 01.17549e-38 01.17549e-38
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6333,7 +7282,7 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
-20050202122012 20050202122012 20050202122012
+2005-02-02 12:20:12 2005-02-02 12:20:12 2005-02-02 12:20:12
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6419,6 +7368,13 @@ END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
+declare accessible char;
+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 'accessible char;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+BEGIN
declare add char;
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 'add char;
@@ -6524,9 +7480,9 @@ END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
-declare CALL char;
+declare call char;
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 'CALL char;
+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 'call char;
END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
@@ -6587,11 +7543,6 @@ END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
-declare columns char;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1()
-BEGIN
declare condition char;
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 'condition char;
@@ -6599,13 +7550,6 @@ END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
-declare connection char;
-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 'connection char;
-END' at line 3
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1()
-BEGIN
declare constraint char;
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 'constraint char;
@@ -6893,14 +7837,23 @@ END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
-declare fields char;
+declare float char;
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 'float char;
+END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
-declare float char;
+declare float4 char;
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 'float char;
+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 'float4 char;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+BEGIN
+declare float8 char;
+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 'float8 char;
END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
@@ -6926,11 +7879,6 @@ END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
-declare found char;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1()
-BEGIN
declare from char;
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 'from char;
@@ -6945,11 +7893,6 @@ END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
-declare goto char;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1()
-BEGIN
declare grant char;
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 'grant char;
@@ -7069,6 +8012,41 @@ END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
+declare int1 char;
+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 'int1 char;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+BEGIN
+declare int2 char;
+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 'int2 char;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+BEGIN
+declare int3 char;
+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 'int3 char;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+BEGIN
+declare int4 char;
+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 'int4 char;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+BEGIN
+declare int8 char;
+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 'int8 char;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+BEGIN
declare integer char;
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 'integer char;
@@ -7167,6 +8145,13 @@ END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
+declare linear char;
+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 'linear char;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+BEGIN
declare lines char;
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 'lines char;
@@ -7237,6 +8222,13 @@ END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
+declare master_ssl_verify_server_cert char;
+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 'master_ssl_verify_server_cert char;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+BEGIN
declare match char;
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 'match char;
@@ -7412,11 +8404,6 @@ END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
-declare privileges char;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1()
-BEGIN
declare procedure char;
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 'procedure char;
@@ -7431,6 +8418,13 @@ END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
+declare range char;
+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 'range char;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+BEGIN
declare read char;
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 'read char;
@@ -7445,6 +8439,18 @@ END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
+declare read_only char;
+END//
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+BEGIN
+declare read_write char;
+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 'read_write char;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+BEGIN
declare real char;
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 'real char;
@@ -7466,6 +8472,13 @@ END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
+declare release char;
+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 'release char;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+BEGIN
declare rename char;
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 'rename char;
@@ -7624,15 +8637,6 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1()
BEGIN
-declare soname char;
-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 'soname char;
-END' at line 3
-DROP PROCEDURE IF EXISTS sp1;
-Warnings:
-Note 1305 PROCEDURE sp1 does not exist
-CREATE PROCEDURE sp1()
-BEGIN
declare spatial char;
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 'spatial char;
@@ -7750,11 +8754,6 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1()
BEGIN
-declare tables char;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1()
-BEGIN
declare terminated char;
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 'terminated char;
@@ -7899,9 +8898,9 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1()
BEGIN
-declare USE char;
+declare use char;
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 'USE char;
+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 'use char;
END' at line 3
DROP PROCEDURE IF EXISTS sp1;
Warnings:
@@ -8150,6 +9149,16 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare accessible condition for sqlstate '02000';
+declare exit handler for add set @var2 = 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 'accessible condition for sqlstate '02000';
+declare exit handler for add set @var' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare add condition for sqlstate '02000';
declare exit handler for add set @var2 = 1;
END//
@@ -8306,10 +9315,10 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare CALL condition for sqlstate '02000';
+declare call condition for sqlstate '02000';
declare exit handler for CALL set @var2 = 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 'CALL condition for sqlstate '02000';
+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 'call condition for sqlstate '02000';
declare exit handler for CALL set @var2 = 1' at line 3
DROP PROCEDURE IF EXISTS sp1;
Warnings:
@@ -8409,11 +9418,7 @@ BEGIN
declare connection condition for sqlstate '02000';
declare exit handler for connection set @var2 = 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 'connection condition for sqlstate '02000';
-declare exit handler for connection s' at line 3
DROP PROCEDURE IF EXISTS sp1;
-Warnings:
-Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
declare constraint condition for sqlstate '02000';
@@ -8829,12 +9834,6 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare fields condition for sqlstate '02000';
-declare exit handler for fields set @var2 = 1;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1( )
-BEGIN
declare float condition for sqlstate '02000';
declare exit handler for float set @var2 = 1;
END//
@@ -8845,6 +9844,26 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare float4 condition for sqlstate '02000';
+declare exit handler for add set @var2 = 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 'float4 condition for sqlstate '02000';
+declare exit handler for add set @var2 = ' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
+declare float8 condition for sqlstate '02000';
+declare exit handler for add set @var2 = 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 'float8 condition for sqlstate '02000';
+declare exit handler for add set @var2 = ' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare for condition for sqlstate '02000';
declare exit handler for for set @var2 = 1;
END//
@@ -8876,12 +9895,6 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare found condition for sqlstate '02000';
-declare exit handler for found set @var2 = 1;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1( )
-BEGIN
declare from condition for sqlstate '02000';
declare exit handler for from set @var2 = 1;
END//
@@ -8902,12 +9915,6 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare goto condition for sqlstate '02000';
-declare exit handler for goto set @var2 = 1;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1( )
-BEGIN
declare grant condition for sqlstate '02000';
declare exit handler for grant set @var2 = 1;
END//
@@ -9081,6 +10088,56 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare int1 condition for sqlstate '02000';
+declare exit handler for int set @var2 = 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 'int1 condition for sqlstate '02000';
+declare exit handler for int set @var2 = 1;' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
+declare int2 condition for sqlstate '02000';
+declare exit handler for int set @var2 = 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 'int2 condition for sqlstate '02000';
+declare exit handler for int set @var2 = 1;' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
+declare int3 condition for sqlstate '02000';
+declare exit handler for int set @var2 = 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 'int3 condition for sqlstate '02000';
+declare exit handler for int set @var2 = 1;' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
+declare int4 condition for sqlstate '02000';
+declare exit handler for int set @var2 = 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 'int4 condition for sqlstate '02000';
+declare exit handler for int set @var2 = 1;' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
+declare int8 condition for sqlstate '02000';
+declare exit handler for int set @var2 = 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 'int8 condition for sqlstate '02000';
+declare exit handler for int set @var2 = 1;' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare integer condition for sqlstate '02000';
declare exit handler for integer set @var2 = 1;
END//
@@ -9223,6 +10280,16 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare linear condition for sqlstate '02000';
+declare exit handler for int set @var2 = 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 'linear condition for sqlstate '02000';
+declare exit handler for int set @var2 = ' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare lines condition for sqlstate '02000';
declare exit handler for lines set @var2 = 1;
END//
@@ -9323,6 +10390,16 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare master_ssl_verify_server_cert condition for sqlstate '02000';
+declare exit handler for int set @var2 = 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 'master_ssl_verify_server_cert condition for sqlstate '02000';
+declare exit handl' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare match condition for sqlstate '02000';
declare exit handler for match set @var2 = 1;
END//
@@ -9578,12 +10655,6 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare privileges condition for sqlstate '02000';
-declare exit handler for privileges set @var2 = 1;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1( )
-BEGIN
declare procedure condition for sqlstate '02000';
declare exit handler for procedure set @var2 = 1;
END//
@@ -9604,6 +10675,16 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare range condition for sqlstate '02000';
+declare exit handler for int set @var2 = 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 'range condition for sqlstate '02000';
+declare exit handler for int set @var2 = 1' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare read condition for sqlstate '02000';
declare exit handler for read set @var2 = 1;
END//
@@ -9624,6 +10705,26 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare read_only condition for sqlstate '02000';
+declare exit handler for int set @var2 = 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 'int set @var2 = 1;
+END' at line 4
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
+declare read_write condition for sqlstate '02000';
+declare exit handler for int set @var2 = 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 'read_write condition for sqlstate '02000';
+declare exit handler for int set @var' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare real condition for sqlstate '02000';
declare exit handler for real set @var2 = 1;
END//
@@ -9654,6 +10755,16 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare release condition for sqlstate '02000';
+declare exit handler for int set @var2 = 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 'release condition for sqlstate '02000';
+declare exit handler for int set @var2 =' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare rename condition for sqlstate '02000';
declare exit handler for rename set @var2 = 1;
END//
@@ -9774,10 +10885,10 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare SELECT condition for sqlstate '02000';
+declare select condition for sqlstate '02000';
declare exit handler for SELECT set @var2 = 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 'SELECT condition for sqlstate '02000';
+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 condition for sqlstate '02000';
declare exit handler for SELECT set @var2' at line 3
DROP PROCEDURE IF EXISTS sp1;
Warnings:
@@ -9835,16 +10946,6 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare soname condition for sqlstate '02000';
-declare exit handler for soname set @var2 = 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 'soname condition for sqlstate '02000';
-declare exit handler for soname set @var2' at line 3
-DROP PROCEDURE IF EXISTS sp1;
-Warnings:
-Note 1305 PROCEDURE sp1 does not exist
-CREATE PROCEDURE sp1( )
-BEGIN
declare spatial condition for sqlstate '02000';
declare exit handler for spatial set @var2 = 1;
END//
@@ -9977,12 +11078,6 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare tables condition for sqlstate '02000';
-declare exit handler for tables set @var2 = 1;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1( )
-BEGIN
declare terminated condition for sqlstate '02000';
declare exit handler for terminated set @var2 = 1;
END//
@@ -10144,10 +11239,10 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare USE condition for sqlstate '02000';
+declare use condition for sqlstate '02000';
declare exit handler for USE set @var2 = 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 'USE condition for sqlstate '02000';
+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 'use condition for sqlstate '02000';
declare exit handler for USE set @var2 = 1;
' at line 3
DROP PROCEDURE IF EXISTS sp1;
@@ -10409,6 +11504,15 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare accessible handler for sqlstate '02000' set @var2 = 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 'accessible handler for sqlstate '02000' set @var2 = 1;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare add handler for sqlstate '02000' set @var2 = 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 'add handler for sqlstate '02000' set @var2 = 1;
@@ -10544,9 +11648,9 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare CALL handler for sqlstate '02000' set @var2 = 1;
+declare call handler for sqlstate '02000' set @var2 = 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 'CALL handler for sqlstate '02000' set @var2 = 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 'call handler for sqlstate '02000' set @var2 = 1;
END' at line 3
DROP PROCEDURE IF EXISTS sp1;
Warnings:
@@ -10625,15 +11729,6 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare columns handler for sqlstate '02000' set @var2 = 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 'handler for sqlstate '02000' set @var2 = 1;
-END' at line 3
-DROP PROCEDURE IF EXISTS sp1;
-Warnings:
-Note 1305 PROCEDURE sp1 does not exist
-CREATE PROCEDURE sp1( )
-BEGIN
declare condition handler for sqlstate '02000' set @var2 = 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 'condition handler for sqlstate '02000' set @var2 = 1;
@@ -10643,22 +11738,18 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare connection handler for sqlstate '02000' set @var2 = 1;
+declare constraint handler for sqlstate '02000' set @var2 = 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 'connection handler for sqlstate '02000' set @var2 = 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 'constraint handler for sqlstate '02000' set @var2 = 1;
END' at line 3
DROP PROCEDURE IF EXISTS sp1;
Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare constraint handler for sqlstate '02000' set @var2 = 1;
+declare continue handler for sqlstate '02000' set @var2 = 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 'constraint handler for sqlstate '02000' set @var2 = 1;
-END' at line 3
DROP PROCEDURE IF EXISTS sp1;
-Warnings:
-Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
declare convert handler for sqlstate '02000' set @var2 = 1;
@@ -10976,6 +12067,11 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare exit handler for sqlstate '02000' set @var2 = 1;
+END//
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1( )
+BEGIN
declare explain handler for sqlstate '02000' set @var2 = 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 'explain handler for sqlstate '02000' set @var2 = 1;
@@ -11003,54 +12099,54 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare fields handler for sqlstate '02000' set @var2 = 1;
+declare float handler for sqlstate '02000' set @var2 = 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 'handler for sqlstate '02000' set @var2 = 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 'float handler for sqlstate '02000' set @var2 = 1;
END' at line 3
DROP PROCEDURE IF EXISTS sp1;
Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare float handler for sqlstate '02000' set @var2 = 1;
+declare float4 handler for sqlstate '02000' set @var2 = 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 'float handler for sqlstate '02000' set @var2 = 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 'float4 handler for sqlstate '02000' set @var2 = 1;
END' at line 3
DROP PROCEDURE IF EXISTS sp1;
Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare for handler for sqlstate '02000' set @var2 = 1;
+declare float8 handler for sqlstate '02000' set @var2 = 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 'for handler for sqlstate '02000' set @var2 = 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 'float8 handler for sqlstate '02000' set @var2 = 1;
END' at line 3
DROP PROCEDURE IF EXISTS sp1;
Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare force handler for sqlstate '02000' set @var2 = 1;
+declare for handler for sqlstate '02000' set @var2 = 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 'force handler for sqlstate '02000' set @var2 = 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 'for handler for sqlstate '02000' set @var2 = 1;
END' at line 3
DROP PROCEDURE IF EXISTS sp1;
Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare foreign handler for sqlstate '02000' set @var2 = 1;
+declare force handler for sqlstate '02000' set @var2 = 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 'foreign handler for sqlstate '02000' set @var2 = 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 'force handler for sqlstate '02000' set @var2 = 1;
END' at line 3
DROP PROCEDURE IF EXISTS sp1;
Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare found handler for sqlstate '02000' set @var2 = 1;
+declare foreign handler for sqlstate '02000' set @var2 = 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 'handler for sqlstate '02000' set @var2 = 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 'foreign handler for sqlstate '02000' set @var2 = 1;
END' at line 3
DROP PROCEDURE IF EXISTS sp1;
Warnings:
@@ -11075,15 +12171,6 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare goto handler for sqlstate '02000' set @var2 = 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 'handler for sqlstate '02000' set @var2 = 1;
-END' at line 3
-DROP PROCEDURE IF EXISTS sp1;
-Warnings:
-Note 1305 PROCEDURE sp1 does not exist
-CREATE PROCEDURE sp1( )
-BEGIN
declare grant handler for sqlstate '02000' set @var2 = 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 'grant handler for sqlstate '02000' set @var2 = 1;
@@ -11237,6 +12324,51 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare int1 handler for sqlstate '02000' set @var2 = 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 'int1 handler for sqlstate '02000' set @var2 = 1;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
+declare int2 handler for sqlstate '02000' set @var2 = 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 'int2 handler for sqlstate '02000' set @var2 = 1;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
+declare int3 handler for sqlstate '02000' set @var2 = 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 'int3 handler for sqlstate '02000' set @var2 = 1;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
+declare int4 handler for sqlstate '02000' set @var2 = 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 'int4 handler for sqlstate '02000' set @var2 = 1;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
+declare int8 handler for sqlstate '02000' set @var2 = 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 'int8 handler for sqlstate '02000' set @var2 = 1;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare integer handler for sqlstate '02000' set @var2 = 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 'integer handler for sqlstate '02000' set @var2 = 1;
@@ -11363,6 +12495,15 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare linear handler for sqlstate '02000' set @var2 = 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 'linear handler for sqlstate '02000' set @var2 = 1;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare lines handler for sqlstate '02000' set @var2 = 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 'lines handler for sqlstate '02000' set @var2 = 1;
@@ -11453,6 +12594,15 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare master_ssl_verify_server_cert handler for sqlstate '02000' set @var2 = 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 'master_ssl_verify_server_cert handler for sqlstate '02000' set @var2 = 1;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare match handler for sqlstate '02000' set @var2 = 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 'match handler for sqlstate '02000' set @var2 = 1;
@@ -11705,6 +12855,15 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare range handler for sqlstate '02000' set @var2 = 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 'range handler for sqlstate '02000' set @var2 = 1;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare read handler for sqlstate '02000' set @var2 = 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 'read handler for sqlstate '02000' set @var2 = 1;
@@ -11723,6 +12882,24 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare read_only handler for sqlstate '02000' set @var2 = 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 'handler for sqlstate '02000' set @var2 = 1;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
+declare read_write handler for sqlstate '02000' set @var2 = 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 'read_write handler for sqlstate '02000' set @var2 = 1;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare real handler for sqlstate '02000' set @var2 = 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 'real handler for sqlstate '02000' set @var2 = 1;
@@ -11750,6 +12927,15 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare release handler for sqlstate '02000' set @var2 = 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 'release handler for sqlstate '02000' set @var2 = 1;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare rename handler for sqlstate '02000' set @var2 = 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 'rename handler for sqlstate '02000' set @var2 = 1;
@@ -11858,9 +13044,9 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare SELECT handler for sqlstate '02000' set @var2 = 1;
+declare select handler for sqlstate '02000' set @var2 = 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 'SELECT handler for sqlstate '02000' set @var2 = 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 handler for sqlstate '02000' set @var2 = 1;
END' at line 3
DROP PROCEDURE IF EXISTS sp1;
Warnings:
@@ -11912,15 +13098,6 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare soname handler for sqlstate '02000' set @var2 = 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 'soname handler for sqlstate '02000' set @var2 = 1;
-END' at line 3
-DROP PROCEDURE IF EXISTS sp1;
-Warnings:
-Note 1305 PROCEDURE sp1 does not exist
-CREATE PROCEDURE sp1( )
-BEGIN
declare spatial handler for sqlstate '02000' set @var2 = 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 'spatial handler for sqlstate '02000' set @var2 = 1;
@@ -12038,15 +13215,6 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare tables handler for sqlstate '02000' set @var2 = 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 'handler for sqlstate '02000' set @var2 = 1;
-END' at line 3
-DROP PROCEDURE IF EXISTS sp1;
-Warnings:
-Note 1305 PROCEDURE sp1 does not exist
-CREATE PROCEDURE sp1( )
-BEGIN
declare terminated handler for sqlstate '02000' set @var2 = 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 'terminated handler for sqlstate '02000' set @var2 = 1;
@@ -12191,9 +13359,9 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare USE handler for sqlstate '02000' set @var2 = 1;
+declare use handler for sqlstate '02000' set @var2 = 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 'USE handler for sqlstate '02000' set @var2 = 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 'use handler for sqlstate '02000' set @var2 = 1;
END' at line 3
DROP PROCEDURE IF EXISTS sp1;
Warnings:
@@ -12384,10 +13552,13 @@ set @v2 = y;
END//
CALL sp1();
x y @x
-NULL abaa 3
+NULL a 3
+Warnings:
+Warning 1265 Data truncated for column 'y' at row 3
+Warning 1265 Data truncated for column 'y' at row 1
SELECT @v1, @v2;
@v1 @v2
-4 a`
+4 a
DROP PROCEDURE sp1;
Testcase 4.2.28:
@@ -12454,7 +13625,7 @@ CALL sp1();
@xx
0
Warnings:
-Warning 1292 Truncated incorrect INTEGER value: 'asd'
+Warning 1366 Incorrect integer value: 'asd' for column 'xx' at row 1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
@@ -12481,9 +13652,11 @@ set xx = 'temp';
set @xx = xx;
END//
CALL sp1();
+Warnings:
+Warning 1265 Data truncated for column 'xx' at row 1
SELECT @xx;
@xx
-temp
+t
DROP PROCEDURE sp1;
Testcase 4.2.31 - b:
@@ -12501,7 +13674,7 @@ CALL sp1();
xx
0
Warnings:
-Warning 1292 Truncated incorrect DOUBLE value: 'asd'
+Warning 1265 Data truncated for column 'xx' at row 1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
@@ -12527,7 +13700,9 @@ SELECT xx;
END//
CALL sp1();
xx
-asd
+0000-00-00 00:00:00
+Warnings:
+Warning 1264 Out of range value for column 'xx' at row 1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
@@ -12571,7 +13746,7 @@ CALL sp1();
xx
0
Warnings:
-Warning 1292 Truncated incorrect INTEGER value: 'asd'
+Warning 1366 Incorrect integer value: 'asd' for column 'xx' at row 1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
@@ -12602,6 +13777,8 @@ declare x char ascii;
SELECT f1 into x from t2 limit 1;
END//
CALL sp1();
+Warnings:
+Warning 1265 Data truncated for column 'x' at row 1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
@@ -12665,6 +13842,8 @@ declare x binary;
SELECT f1 into x from t2 limit 1;
END//
CALL sp1();
+Warnings:
+Warning 1265 Data truncated for column 'x' at row 1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
@@ -12812,8 +13991,6 @@ declare x decimal;
SELECT f1 into x from t2 limit 1;
END//
CALL sp1();
-Warnings:
-Error 1366 Incorrect decimal value: '' for column '' at row -1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
@@ -12821,8 +13998,6 @@ declare x decimal unsigned;
SELECT f1 into x from t2 limit 1;
END//
CALL sp1();
-Warnings:
-Error 1366 Incorrect decimal value: '' for column '' at row -1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
@@ -12830,8 +14005,6 @@ declare x decimal zerofill;
SELECT f1 into x from t2 limit 1;
END//
CALL sp1();
-Warnings:
-Error 1366 Incorrect decimal value: '' for column '' at row -1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
@@ -12839,8 +14012,6 @@ declare x decimal unsigned zerofill;
SELECT f1 into x from t2 limit 1;
END//
CALL sp1();
-Warnings:
-Error 1366 Incorrect decimal value: '' for column '' at row -1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
@@ -12848,8 +14019,6 @@ declare x numeric;
SELECT f1 into x from t2 limit 1;
END//
CALL sp1();
-Warnings:
-Error 1366 Incorrect decimal value: '' for column '' at row -1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
@@ -12857,8 +14026,6 @@ declare x numeric unsigned;
SELECT f1 into x from t2 limit 1;
END//
CALL sp1();
-Warnings:
-Error 1366 Incorrect decimal value: '' for column '' at row -1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
@@ -12866,8 +14033,6 @@ declare x numeric zerofill;
SELECT f1 into x from t2 limit 1;
END//
CALL sp1();
-Warnings:
-Error 1366 Incorrect decimal value: '' for column '' at row -1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
@@ -12875,8 +14040,6 @@ declare x numeric unsigned zerofill;
SELECT f1 into x from t2 limit 1;
END//
CALL sp1();
-Warnings:
-Error 1366 Incorrect decimal value: '' for column '' at row -1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
@@ -13254,7 +14417,7 @@ declare continue handler for sqlstate '02000' set done = 1;
BEGIN
open cur1;
set count = count - 1;
-while count <> 0 do
+while count > 0 do
fetch cur1 into newf1, newlf1, newf3, newsal;
set count = count - 1;
END while;
@@ -13279,7 +14442,7 @@ declare continue handler for sqlstate '02000' set done = 1;
BEGIN
open cur1;
set count = count - 1;
-while count <> 0 do
+while count > 0 do
fetch cur1 into newf1, newlf1, newf3, newsal;
set count = count - 1;
END while;
@@ -13306,7 +14469,7 @@ declare continue handler for sqlstate '02000' set done = 1;
BEGIN
open cur1;
set count = count - 1;
-while count <> 0 do
+while count > 0 do
fetch cur1 into newf1, newf2, newf4, newf3;
set count = count - 1;
END while;
@@ -13330,7 +14493,7 @@ open cur1;
BEGIN
open cur1;
set count = count - 1;
-while count <> 0 do
+while count > 0 do
fetch cur1 into newf1, newf2, newf3, newf4;
set count = count - 1;
END while;
@@ -13358,7 +14521,7 @@ BEGIN
open cur1;
open cur1;
set count = count - 1;
-while count <> 0 do
+while count > 0 do
fetch cur1 into newf1, newf2, newf4, newf3;
set count = count - 1;
END while;
@@ -13388,7 +14551,7 @@ declare continue handler for sqlstate '02000' set done = 1;
BEGIN
open cur2;
set count = count - 1;
-while count <> 0 do
+while count > 0 do
fetch cur1 into newf1, newf2, newf4, newf3;
set count = count - 1;
END while;
@@ -13416,7 +14579,7 @@ declare cur1 cursor for SELECT f1, f2, f4, f5 from t2 limit 20, 10;
declare continue handler for sqlstate '02000' set done = 1;
BEGIN
set count = count - 1;
-while count <> 0 do
+while count > 0 do
fetch cur1 into newf1, newf2, newf4, newf3;
set count = count - 1;
END while;
@@ -13430,7 +14593,7 @@ DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
declare done int default 0;
-declare count integer default 0;
+declare count integer default 10;
declare newf1 char(20);
declare newf2 char(20);
declare newf3 char(20);
@@ -13441,7 +14604,7 @@ open cur1;
BEGIN
declare cur1 cursor for SELECT f1, f2, f3, f4 from t2;
set count = count - 1;
-while count <> 0 do
+while count > 0 do
fetch cur1 into newf1, newf2, newf3, newf4;
set count = count - 1;
END while;
@@ -13473,7 +14636,7 @@ BEGIN
open cur1;
close cur1;
set count = count - 1;
-while count <> 0 do
+while count > 0 do
fetch cur1 into newf1, newf2, newf4, newf3;
set count = count - 1;
END while;
@@ -13485,7 +14648,7 @@ DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
declare done int default 0;
-declare count integer default 0;
+declare count integer default 20;
declare newf1 char(20);
declare newf2 char(20);
declare newf3 char(20);
@@ -13514,13 +14677,13 @@ BEGIN
declare done int default 0;
declare count integer default 20;
declare newf2 char(20);
-declare newf1 date;
+declare newf1 int1;
declare cur1 cursor for SELECT f1, f3 from t2 limit 20, 10;
declare continue handler for sqlstate '02000' set done = 1;
BEGIN
open cur1;
set count = count - 1;
-while count <> 0 do
+while count > 0 do
fetch cur1 into newf1, newf2;
set @x = newf1;
set @y = newf2;
@@ -13590,7 +14753,7 @@ BEGIN
close cur1;
open cur1;
set count = count - 1;
-while count <> 0 do
+while count > 0 do
fetch cur1 into newf1, newf2, newf4, newf3;
set count = count - 1;
END while;
@@ -13643,7 +14806,7 @@ fetch cur1 into newf1, newf2, newf4, newf3;
END;
END//
CALL sp1();
-ERROR 02000: No data to FETCH
+ERROR 02000: No data - zero rows fetched, selected, or processed
DROP PROCEDURE sp1;
Testcase 4.2.65:
@@ -13669,7 +14832,7 @@ commit;
END;
END//
CALL sp1();
-ERROR 02000: No data to FETCH
+ERROR 02000: No data - zero rows fetched, selected, or processed
DROP PROCEDURE sp1;
Testcase 4.2.66:
@@ -13690,7 +14853,7 @@ declare continue handler for sqlstate '02000' set done = 1;
BEGIN
open cur1;
set count = count - 1;
-while count <> 0 do
+while count > 0 do
fetch cur1 into newf1, newf2, newf4, newf3;
set count = count - 1;
END while;
@@ -13719,12 +14882,13 @@ declare cur1 cursor for SELECT f1, f2, f4, f5 from t2 limit 20, 10;
declare continue handler for sqlstate '02000' set done = 1;
BEGIN
open cur1;
-set count = count - 1;
-while count <> 0 do
+# set count = count - 1;
+# while count > 0 do
fetch cur1 into newf1, newf2, newf4, newf3;
-set count = count - 1;
-END while;
+# set count = count - 1;
+# END while;
END;
+fetch cur1 into newf1, newf2, newf4, newf3;
END//
CALL sp1();
DROP PROCEDURE sp1;
@@ -13756,7 +14920,7 @@ BEGIN
set count = 10;
BEGIN
open cur2;
-while count <> 0 do
+while count > 0 do
fetch cur1 into newf1, newf2, newf4, newf3;
set count = count - 1;
END while;
@@ -13765,7 +14929,8 @@ insert into temp1 values(newf1, newf2, newf4, newf3);
close cur1;
END;
BEGIN
-while count <> 0 do
+set count = 10;
+while count > 0 do
fetch cur2 into newf21, newf22, newf24, newf23;
set count = count - 1;
END while;
@@ -13774,9 +14939,9 @@ insert into temp2 values(newf21, newf22, newf24, newf23);
close cur2;
END//
CALL sp1();
-SELECT * from temp1;
-f1 f2 f3 f4
-agaaaaaaa agaaaaaaa -4993 agaaaaaaa
+SELECT count(*) from temp1;
+count(*)
+1
SELECT * from temp2;
f1 f2 f3 f4
NULL NULL NULL NULL
@@ -13792,46 +14957,47 @@ USE db_storedproc;
Testcase 4.3.1:
--------------------------------------------------------------------------------
DROP PROCEDURE IF EXISTS sp1;
-drop table IF EXISTS res_t3_itisalongname_1381742_itsaverylongname_1381742;
+DROP TABLE IF EXISTS res_t3_itisalongname_1381742_itsaverylongname_1381742;
CREATE TABLE res_t3_itisalongname_1381742_itsaverylongname_1381742(
-middleinitial CHAR,
-lastname VARCHAR(50),
-age_averylongfieldname_averylongname_1234569 int,
-COMMENT TEXT) ENGINE=innodb;
+middleinitial CHAR, lastname VARCHAR(50),
+age_averylongfieldname_averylongname_1234569 INT, COMMENT VARCHAR(100))
+ENGINE=<engine_to_be_tested>;
INSERT INTO res_t3_itisalongname_1381742_itsaverylongname_1381742
VALUES('a', 'aaaaaaaaaabbbbbbbbc', 0, 'default');
-CREATE PROCEDURE sp1(a int)
-BEGIN
-declare itisjustaverylargevariablename_xxxxxxxxxxxxxxxxxxxxx char;
-declare itisjustaverylargevarcharvariablename_xxxxxxxxxxxxxxxxxxxxx varchar(100);
-declare itisjustamediumsizeintintegervariablename integer;
-set itisjustaverylargevariablename_xxxxxxxxxxxxxxxxxxxxx = 'b';
-set itisjustaverylargevarcharvariablename_xxxxxxxxxxxxxxxxxxxxx = 'oldmacdonalds)(*&(^^%$&^%$&^%*^)(*^#@$@%';
-set itisjustamediumsizeintintegervariablename = 5;
-set @comment='a';
-label1: loop
-if a>100 then
-set @comment='value of a is greater than 100';
-elseif a<100 then
-if a<50 then
-set @comment='value of a is less than 50';
-elseif a<25 then
-set @comment='value of a is less than 25';
-else
-set @comment='value of a is greater than 50 and less than 100';
-END if;
-else
-set @comment='value of a is 100';
-END if;
-if itisjustamediumsizeintintegervariablename = 0 then leave label1;
-END if;
-insert into res_t3_itisalongname_1381742_itsaverylongname_1381742
-values( itisjustaverylargevariablename_xxxxxxxxxxxxxxxxxxxxx,
-concat(itisjustaverylargevarcharvariablename_xxxxxxxxxxxxxxxxxxxxx, ' ', a),
-a, @comment );
-set itisjustamediumsizeintintegervariablename = itisjustamediumsizeintintegervariablename - 1;
-iterate label1;
-END loop label1;
+CREATE PROCEDURE sp1(a INT)
+BEGIN
+DECLARE itisjustaverylargevariablename_xxxxxxxxxxxxxxxxxxxxx CHAR;
+DECLARE itisjustaverylargevarcharvariablename_xxxxxxxxxxxxxxxxxxxxx VARCHAR(100);
+DECLARE itisjustamediumsizeintintegervariablename INTEGER;
+SET itisjustaverylargevariablename_xxxxxxxxxxxxxxxxxxxxx = 'b';
+SET itisjustaverylargevarcharvariablename_xxxxxxxxxxxxxxxxxxxxx
+= 'oldmacdonalds)(*&(^^%$&^%$&^%*^)(*^#@$@%';
+SET itisjustamediumsizeintintegervariablename = 5;
+SET @comment='a';
+label1: LOOP
+IF a > 100 THEN
+SET @comment = 'value of a is greater than 100';
+ELSEIF a < 100 THEN
+IF a < 50 THEN
+SET @comment = 'value of a is less than 50';
+ELSEIF a < 25 THEN
+SET @comment = 'value of a is less than 25';
+ELSE
+SET @comment = 'value of a is greater than 50 and less than 100';
+END IF;
+ELSE
+SET @comment = 'value of a is 100';
+END IF;
+IF itisjustamediumsizeintintegervariablename = 0 THEN LEAVE label1;
+END IF;
+INSERT INTO res_t3_itisalongname_1381742_itsaverylongname_1381742
+VALUES(itisjustaverylargevariablename_xxxxxxxxxxxxxxxxxxxxx,
+CONCAT(itisjustaverylargevarcharvariablename_xxxxxxxxxxxxxxxxxxxxx,
+' ', a), a, @comment);
+SET itisjustamediumsizeintintegervariablename
+= itisjustamediumsizeintintegervariablename - 1;
+ITERATE label1;
+END LOOP label1;
END//
CALL sp1(101);
CALL sp1(100);
@@ -13924,23 +15090,23 @@ CALL sp2( 'insert' );
SELECT * from t3 where f3 <=5 && f3 >= 0;
f1 f2 f3
f1 address 1
-f1 address 2
-f1 address 3
-f1 address 4
-f1 address 5
f1 address 1
-f1 address 2
-f1 address 3
-f1 address 4
-f1 address 5
f1 address 1
-f1 address 2
-f1 address 3
-f1 address 4
f1 address 1
f1 address 2
+f1 address 2
+f1 address 2
+f1 address 2
+f1 address 3
+f1 address 3
f1 address 3
+f1 address 3
+f1 address 4
+f1 address 4
f1 address 4
+f1 address 4
+f1 address 5
+f1 address 5
SELECT count(*) from t3;
count(*)
28
@@ -14023,7 +15189,7 @@ delete from res_t3_itisalongname_1381742_itsaverylongname_1381742;
END case;
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 'when 'delete' then
-delete from res_t3_itisalongname_1381742_itsaverylongname_13' at line 10
+delete from res_t3_itisalongname_1381742_itsaverylongname_13' at line 11
DROP PROCEDURE IF EXISTS sp3;
CREATE PROCEDURE sp3( action char(20) )
BEGIN
@@ -14041,8 +15207,9 @@ label2: while count < 10 do
BEGIN
insert into res_t3_itisalongname_1381742_itsaverylongname_1381742
values('xxxxxxxxxxxxxxxxxxx', '1231230981(*&(*&)(*&(', count);
-if done=1 then
-set count=10;
+set count = count + 1;
+if count= 10 then
+set done=1;
END if;
END;
END while label2;
@@ -14056,6 +15223,19 @@ END if;
END loop label1;
SELECT count, done;
END//
+CALL sp3('insert');
+count done
+10 1
+Warnings:
+Warning 1265 Data truncated for column 'name' at row 1
+Warning 1265 Data truncated for column 'name' at row 2
+Warning 1265 Data truncated for column 'name' at row 3
+Warning 1265 Data truncated for column 'name' at row 4
+Warning 1265 Data truncated for column 'name' at row 5
+Warning 1265 Data truncated for column 'name' at row 6
+Warning 1265 Data truncated for column 'name' at row 7
+Warning 1265 Data truncated for column 'name' at row 8
+Warning 1265 Data truncated for column 'name' at row 9
DROP PROCEDURE sp3;
drop table res_t3_itisalongname_1381742_itsaverylongname_1381742;
@@ -14330,11 +15510,14 @@ CREATE PROCEDURE sp6()
BEGIN
declare count1 integer default 1;
label1: repeat
-set count1 = count1;
+set count1 = count1-1;
until count1 < 0
END repeat label1;
SELECT count1;
END//
+CALL sp6();
+count1
+-1
DROP PROCEDURE sp6;
Testcase 4.3.7:
@@ -14403,7 +15586,7 @@ do v1 > 0 while
set v1 = v1 - 1;
END while;
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 'do v1 > 0 while
+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
set v1 = v1 - 1;
END while;
END' at line 4
@@ -14442,7 +15625,7 @@ set count1 = count1 + 1;
iterate label1;
END loop label2;
END//
-ERROR 42000: End-label label2 without match
+ERROR 42000: End-label label1 without match
drop table res_t3_itisalongname_1381742_itsaverylongname_1381742;
Testcase 4.3.13:
@@ -14606,7 +15789,7 @@ until count1 < 3
END repeat label1;
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 'label1;
-END' at line 7
+END' at line 8
Testcase 4.3.21:
--------------------------------------------------------------------------------
@@ -14789,15 +15972,15 @@ insert into t43 values('abcde', 'a!@#$%^&*(');
CREATE PROCEDURE d1.sp4()
SELECT * from d1.t43;
SELECT * from mysql.proc where specific_name = 'sp4';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
-d1 sp4 PROCEDURE sp4 SQL CONTAINS_SQL NO DEFINER SELECT * from d1.t43 root@localhost modified created
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
+d1 sp4 PROCEDURE sp4 SQL CONTAINS_SQL NO DEFINER SELECT * from d1.t43 root@localhost modified created latin1 latin1_swedish_ci latin1_swedish_ci SELECT * from d1.t43
USE db_storedproc;
DROP DATABASE d1;
CREATE DATABASE d1;
USE d1;
create table t44(a char(5), b char(10));
SELECT * from mysql.proc where specific_name = 'sp4';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
USE db_storedproc;
DROP DATABASE d1;
@@ -14839,8 +16022,8 @@ CREATE PROCEDURE sp8 ( n char(20) ) sql security definer comment 'initial'
USE d2;
alter procedure d1.sp8 sql security definer comment 'updated';
SELECT * from mysql.proc where specific_name='sp8' and db='d1';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
-d1 sp8 PROCEDURE sp8 SQL CONTAINS_SQL NO DEFINER n char(20) SELECT * from t1 where t1.f1 = n root@localhost modified created updated
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
+d1 sp8 PROCEDURE sp8 SQL CONTAINS_SQL NO DEFINER n char(20) SELECT * from t1 where t1.f1 = n root@localhost modified created updated latin1 latin1_swedish_ci latin1_swedish_ci SELECT * from t1 where t1.f1 = n
Testcase 4.4.9:
--------------------------------------------------------------------------------
@@ -14856,12 +16039,16 @@ END//
USE d2;
alter function d1.fn2 sql security definer comment 'updated';
SELECT * from mysql.proc where specific_name='fn2' and db='d1';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
d1 fn2 FUNCTION fn2 SQL CONTAINS_SQL NO DEFINER n int int(11) BEGIN
declare a int;
set a = 0.9 * n;
return a;
-END root@localhost modified created updated
+END root@localhost modified created updated latin1 latin1_swedish_ci latin1_swedish_ci BEGIN
+declare a int;
+set a = 0.9 * n;
+return a;
+END
Testcase 4.4.10:
--------------------------------------------------------------------------------
@@ -14871,7 +16058,7 @@ SELECT * from t1 where t1.f1 = n;
USE d2;
DROP PROCEDURE d1.sp9;
SELECT * from mysql.proc where specific_name='sp9' and db='d1';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
Testcase 4.4.11:
--------------------------------------------------------------------------------
@@ -14885,7 +16072,7 @@ END//
USE d2;
DROP FUNCTION d1.fn3;
SELECT * from mysql.proc where specific_name='fn3' and db='d1';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
USE db_storedproc;
DROP DATABASE d1;
DROP DATABASE d2;
@@ -14893,19 +16080,6 @@ DROP DATABASE d2;
Section 3.1.5 - Parameter use checks:
Functions with all data types
--------------------------------------------------------------------------------
-SELECT 1 as 'bug_dec_num';
-bug_dec_num
-1
-
-.
-FIXME: There are differences with datatypes DECIMAL and NUMERIC if large
-FIXME: exponent values are used. The diffs are shown only on some machines like
-FIXME: AIX52 and HPUX11. Until this has been solved we use numbers that
-FIXME: *should* be equal to the exponent representation but have no exponents
-FIXME: and use the specified count of *0*s instead.
-FIXME: In the source file these tests are marked with the comment hpux11
-.
---------------------------------------------------------------------------------
DROP DATABASE IF EXISTS d1;
CREATE DATABASE d1;
USE d1;
@@ -14926,7 +16100,7 @@ return f1;
END//
SELECT fn2(1.84e+19);
fn2(1.84e+19)
-0
+18400000000000000000
DROP FUNCTION IF EXISTS fn3;
CREATE FUNCTION fn3( f1 bigint unsigned zerofill) returns bigint unsigned zerofill
BEGIN
@@ -14945,6 +16119,8 @@ END//
SELECT fn4(-9.22e+15);
fn4(-9.22e+15)
0
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn5;
CREATE FUNCTION fn5( f1 decimal) returns decimal
BEGIN
@@ -14972,6 +16148,10 @@ END//
SELECT fn7(99999999999);
fn7(99999999999)
9999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn8;
CREATE FUNCTION fn8( f1 decimal (0) unsigned zerofill) returns decimal (0) unsigned zerofill
BEGIN
@@ -14980,7 +16160,9 @@ return f1;
END//
SELECT fn8(999999999);
fn8(999999999)
-0999999999
+1000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn9;
CREATE FUNCTION fn9( f1 decimal (0) zerofill) returns decimal (0) zerofill
BEGIN
@@ -14989,7 +16171,10 @@ return f1;
END//
SELECT fn9(-1.00e+09);
fn9(-1.00e+09)
-0000000000
+0000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn10;
CREATE FUNCTION fn10( f1 decimal (0, 0)) returns decimal (0, 0)
BEGIN
@@ -15008,6 +16193,10 @@ END//
SELECT fn11(99999999999);
fn11(99999999999)
9999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn12;
CREATE FUNCTION fn12( f1 decimal (0, 0) unsigned zerofill) returns decimal (0, 0) unsigned zerofill
BEGIN
@@ -15016,7 +16205,9 @@ return f1;
END//
SELECT fn12(999999999);
fn12(999999999)
-0999999999
+1000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn13;
CREATE FUNCTION fn13( f1 decimal (0, 0) zerofill) returns decimal (0, 0) zerofill
BEGIN
@@ -15025,7 +16216,10 @@ return f1;
END//
SELECT fn13(-1.00e+09);
fn13(-1.00e+09)
-0000000000
+0000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn14;
CREATE FUNCTION fn14( f1 decimal (63, 30)) returns decimal (63, 30)
BEGIN
@@ -15061,7 +16255,10 @@ return f1;
END//
SELECT fn17(-1.00e+21);
fn17(-1.00e+21)
-000000000000000000000000000000000.000000000000000000000000000000
+000000000000000000000000000000010.000000000000000000000000000000
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn18_d;
CREATE FUNCTION fn18_d( f1 decimal (64)) returns decimal (64)
BEGIN
@@ -15097,7 +16294,10 @@ return f1;
END//
SELECT fn21_d_z(1.00e+00);
fn21_d_z(1.00e+00)
-0000000000000000000000000000000000000000000000000000000000000001
+0000000000000000000000000000000000000000000000000000000000000010
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn22;
CREATE FUNCTION fn22( f1 decimal unsigned) returns decimal unsigned
BEGIN
@@ -15106,7 +16306,10 @@ return f1;
END//
SELECT fn22(1.00e+00);
fn22(1.00e+00)
-1
+10
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn23;
CREATE FUNCTION fn23( f1 decimal unsigned zerofill) returns decimal unsigned zerofill
BEGIN
@@ -15115,7 +16318,10 @@ return f1;
END//
SELECT fn23(1.00e+00);
fn23(1.00e+00)
-0000000001
+0000000010
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn24;
CREATE FUNCTION fn24( f1 decimal zerofill) returns decimal zerofill
BEGIN
@@ -15124,7 +16330,10 @@ return f1;
END//
SELECT fn24(-1.00e+09);
fn24(-1.00e+09)
-0000000000
+0000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn25;
CREATE FUNCTION fn25( f1 double) returns double
BEGIN
@@ -15142,7 +16351,9 @@ return f1;
END//
SELECT fn26(1.00e+00);
fn26(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn27;
CREATE FUNCTION fn27( f1 double unsigned zerofill) returns double unsigned zerofill
BEGIN
@@ -15151,7 +16362,9 @@ return f1;
END//
SELECT fn27(1.00e+00);
fn27(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn28;
CREATE FUNCTION fn28( f1 double zerofill) returns double zerofill
BEGIN
@@ -15160,7 +16373,9 @@ return f1;
END//
SELECT fn28(1.00e+00);
fn28(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn29;
CREATE FUNCTION fn29( f1 float) returns float
BEGIN
@@ -15178,7 +16393,9 @@ return f1;
END//
SELECT fn30(1.00e+00);
fn30(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn31;
CREATE FUNCTION fn31( f1 float unsigned zerofill) returns float unsigned zerofill
BEGIN
@@ -15187,7 +16404,9 @@ return f1;
END//
SELECT fn31(1.00e+00);
fn31(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn32;
CREATE FUNCTION fn32( f1 float zerofill) returns float zerofill
BEGIN
@@ -15196,7 +16415,9 @@ return f1;
END//
SELECT fn32(1.00e+00);
fn32(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn33;
CREATE FUNCTION fn33( f1 float(0)) returns float(0)
BEGIN
@@ -15214,7 +16435,9 @@ return f1;
END//
SELECT fn34(1.00e+00);
fn34(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn35;
CREATE FUNCTION fn35( f1 float(0) unsigned zerofill) returns float(0) unsigned zerofill
BEGIN
@@ -15223,7 +16446,9 @@ return f1;
END//
SELECT fn35(1.00e+00);
fn35(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn36;
CREATE FUNCTION fn36( f1 float(0) zerofill) returns float(0) zerofill
BEGIN
@@ -15232,7 +16457,9 @@ return f1;
END//
SELECT fn36(1.00e+00);
fn36(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn37;
CREATE FUNCTION fn37( f1 float(23)) returns float(23)
BEGIN
@@ -15250,7 +16477,9 @@ return f1;
END//
SELECT fn38(1.00e+00);
fn38(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn39;
CREATE FUNCTION fn39( f1 float(23) unsigned zerofill) returns float(23) unsigned zerofill
BEGIN
@@ -15259,7 +16488,9 @@ return f1;
END//
SELECT fn39(1.00e+00);
fn39(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn40;
CREATE FUNCTION fn40( f1 float(23) zerofill) returns float(23) zerofill
BEGIN
@@ -15268,7 +16499,9 @@ return f1;
END//
SELECT fn40(1.00e+00);
fn40(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn41;
CREATE FUNCTION fn41( f1 float(24)) returns float(24)
BEGIN
@@ -15286,7 +16519,9 @@ return f1;
END//
SELECT fn42(1.00e+00);
fn42(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn43;
CREATE FUNCTION fn43( f1 float(24) unsigned zerofill) returns float(24) unsigned zerofill
BEGIN
@@ -15295,7 +16530,9 @@ return f1;
END//
SELECT fn43(1.00e+00);
fn43(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn44;
CREATE FUNCTION fn44( f1 float(24) zerofill) returns float(24) zerofill
BEGIN
@@ -15304,7 +16541,9 @@ return f1;
END//
SELECT fn44(1.00e+00);
fn44(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn45;
CREATE FUNCTION fn45( f1 float(53)) returns float(53)
BEGIN
@@ -15322,7 +16561,9 @@ return f1;
END//
SELECT fn46(1.00e+00);
fn46(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn47;
CREATE FUNCTION fn47( f1 float(53) unsigned zerofill) returns float(53) unsigned zerofill
BEGIN
@@ -15331,7 +16572,9 @@ return f1;
END//
SELECT fn47(1.00e+00);
fn47(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn48;
CREATE FUNCTION fn48( f1 float(53) zerofill) returns float(53) zerofill
BEGIN
@@ -15340,7 +16583,9 @@ return f1;
END//
SELECT fn48(1.00e+00);
fn48(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn49;
CREATE FUNCTION fn49( f1 int) returns int
BEGIN
@@ -15349,7 +16594,10 @@ return f1;
END//
SELECT fn49(-2.15e+09);
fn49(-2.15e+09)
--2147483648
+-2147483638
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn50;
CREATE FUNCTION fn50( f1 int unsigned) returns int unsigned
BEGIN
@@ -15385,7 +16633,9 @@ return f1;
END//
SELECT fn53(-8388600);
fn53(-8388600)
--8388600
+-8388598
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn54;
CREATE FUNCTION fn54( f1 mediumint unsigned) returns mediumint unsigned
BEGIN
@@ -15412,7 +16662,11 @@ return f1;
END//
SELECT fn56(-8388601);
fn56(-8388601)
-0
+16777215
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn57;
CREATE FUNCTION fn57( f1 numeric) returns numeric
BEGIN
@@ -15421,7 +16675,9 @@ return f1;
END//
SELECT fn57(-999999999);
fn57(-999999999)
--999999999
+-1000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn58;
CREATE FUNCTION fn58( f1 numeric (0)) returns numeric (0)
BEGIN
@@ -15430,7 +16686,9 @@ return f1;
END//
SELECT fn58(-999999999);
fn58(-999999999)
--999999999
+-1000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn59;
CREATE FUNCTION fn59( f1 numeric (0) unsigned) returns numeric (0) unsigned
BEGIN
@@ -15440,6 +16698,9 @@ END//
SELECT fn59(9999999999);
fn59(9999999999)
9999999999
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn60;
CREATE FUNCTION fn60( f1 numeric (0) unsigned zerofill) returns numeric (0) unsigned zerofill
BEGIN
@@ -15448,7 +16709,9 @@ return f1;
END//
SELECT fn60(99999999);
fn60(99999999)
-0099999999
+0100000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn61;
CREATE FUNCTION fn61( f1 numeric (0) zerofill) returns numeric (0) zerofill
BEGIN
@@ -15457,7 +16720,10 @@ return f1;
END//
SELECT fn61(-99999999);
fn61(-99999999)
-0000000000
+0000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn62;
CREATE FUNCTION fn62( f1 numeric (0, 0)) returns numeric (0, 0)
BEGIN
@@ -15466,7 +16732,9 @@ return f1;
END//
SELECT fn62(-999999999);
fn62(-999999999)
--999999999
+-1000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn63;
CREATE FUNCTION fn63( f1 numeric (0, 0) unsigned) returns numeric (0, 0) unsigned
BEGIN
@@ -15476,6 +16744,9 @@ END//
SELECT fn63(9999999999);
fn63(9999999999)
9999999999
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn64;
CREATE FUNCTION fn64( f1 numeric (0, 0) unsigned zerofill) returns numeric (0, 0) unsigned zerofill
BEGIN
@@ -15484,7 +16755,9 @@ return f1;
END//
SELECT fn64(99999999);
fn64(99999999)
-0099999999
+0100000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn65;
CREATE FUNCTION fn65( f1 numeric (0, 0) zerofill) returns numeric (0, 0) zerofill
BEGIN
@@ -15493,7 +16766,10 @@ return f1;
END//
SELECT fn65(-99999999);
fn65(-99999999)
-0000000000
+0000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn66;
CREATE FUNCTION fn66( f1 numeric (63, 30)) returns numeric (63, 30)
BEGIN
@@ -15502,7 +16778,12 @@ return f1;
END//
SELECT fn66(-1e+36);
fn66(-1e+36)
--999999999999999999999999999999999.999999999999999999999999999999
+-999999999999999999999999999999989.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn67;
CREATE FUNCTION fn67( f1 numeric (63, 30) unsigned) returns numeric (63, 30) unsigned
BEGIN
@@ -15512,6 +16793,10 @@ END//
SELECT fn67(1e+36);
fn67(1e+36)
999999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn68;
CREATE FUNCTION fn68( f1 numeric (63, 30) unsigned zerofill) returns numeric (63, 30) unsigned zerofill
BEGIN
@@ -15521,6 +16806,10 @@ END//
SELECT fn68(1e+36);
fn68(1e+36)
999999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn69;
CREATE FUNCTION fn69( f1 numeric (63, 30) zerofill) returns numeric (63, 30) zerofill
BEGIN
@@ -15529,7 +16818,10 @@ return f1;
END//
SELECT fn69(-1e+36);
fn69(-1e+36)
-000000000000000000000000000000000.000000000000000000000000000000
+000000000000000000000000000000010.000000000000000000000000000000
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn70_n;
CREATE FUNCTION fn70_n( f1 numeric (64)) returns numeric (64)
BEGIN
@@ -15577,7 +16869,9 @@ return f1;
END//
SELECT fn74(999999999);
fn74(999999999)
-999999999
+1000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn75;
CREATE FUNCTION fn75( f1 numeric unsigned zerofill) returns numeric unsigned zerofill
BEGIN
@@ -15586,7 +16880,9 @@ return f1;
END//
SELECT fn75(999999999);
fn75(999999999)
-0999999999
+1000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn76;
CREATE FUNCTION fn76( f1 numeric zerofill) returns numeric zerofill
BEGIN
@@ -15595,7 +16891,10 @@ return f1;
END//
SELECT fn76(-999999999);
fn76(-999999999)
-0000000000
+0000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn77;
CREATE FUNCTION fn77( f1 real) returns real
BEGIN
@@ -15613,7 +16912,9 @@ return f1;
END//
SELECT fn78(1.1);
fn78(1.1)
-1.1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn79;
CREATE FUNCTION fn79( f1 real unsigned zerofill) returns real unsigned zerofill
BEGIN
@@ -15622,7 +16923,9 @@ return f1;
END//
SELECT fn79(1.1);
fn79(1.1)
-1.1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn80;
CREATE FUNCTION fn80( f1 real zerofill) returns real zerofill
BEGIN
@@ -15631,7 +16934,9 @@ return f1;
END//
SELECT fn80(1.1);
fn80(1.1)
-1.1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn81;
CREATE FUNCTION fn81( f1 smallint) returns smallint
BEGIN
@@ -15667,7 +16972,11 @@ return f1;
END//
SELECT fn84(-32601);
fn84(-32601)
-0
+65535
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn85;
CREATE FUNCTION fn85( f1 tinyint) returns tinyint
BEGIN
@@ -15703,45 +17012,37 @@ return f1;
END//
SELECT fn88(-101);
fn88(-101)
-0
+255
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn89;
CREATE FUNCTION fn89( f1 enum('1enum', '2enum')) returns enum('1enum', '2enum')
BEGIN
-if f1 eq "1enum" then
-set f1 = '2enum';
-else
-set f1 = '1enum';
-END if;
-return f1;
+IF f1 = '1enum' THEN
+SET f1 = '2enum';
+ELSE
+SET f1 = '1enum';
+END IF;
+RETURN f1;
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 'eq "1enum" then
-set f1 = '2enum';
-else
-set f1 = '1enum';
-END if;
-return f1;
-END' at line 3
SELECT fn89( '1enum');
-ERROR 42000: FUNCTION d1.fn89 does not exist
+fn89( '1enum')
+2enum
DROP FUNCTION IF EXISTS fn90;
-CREATE FUNCTION fn90( f1 set("1set", "2set")) returns set("1set", "2set")
+CREATE FUNCTION fn90( f1 set('1set', '2set')) returns set('1set', '2set')
BEGIN
-if(f1 == "1set") then
-set f1 = "2set";
-else
-set f1 = "1set";
-END if;
-return f1;
+IF f1 = '1set' THEN
+SET f1 = '2set';
+ELSE
+SET f1 = '1set';
+END IF;
+RETURN f1;
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 '== "1set") then
-set f1 = "2set";
-else
-set f1 = "1set";
-END if;
-return f1;
-END' at line 3
SELECT fn90( '1set');
-ERROR 42000: FUNCTION d1.fn90 does not exist
+fn90( '1set')
+2set
DROP FUNCTION IF EXISTS fn91;
CREATE FUNCTION fn91( f1 date) returns date
BEGIN
@@ -15759,7 +17060,7 @@ return f1;
END//
SELECT fn92( '23:59:59.999999');
fn92( '23:59:59.999999')
-26:00:00
+25:59:59
DROP FUNCTION IF EXISTS fn93;
CREATE FUNCTION fn93( f1 datetime) returns datetime
BEGIN
@@ -15768,7 +17069,7 @@ return f1;
END//
SELECT fn93('1997-12-31 23:59:59.999999');
fn93('1997-12-31 23:59:59.999999')
-1998-01-02 01:01:01
+1998-01-02 01:01:00
DROP FUNCTION IF EXISTS fn94;
CREATE FUNCTION fn94( f1 char) returns char
BEGIN
@@ -15778,6 +17079,8 @@ END//
SELECT fn94( 'h');
fn94( 'h')
a
+Warnings:
+Warning 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn95;
CREATE FUNCTION fn95( f1 char ascii) returns char ascii
BEGIN
@@ -15787,15 +17090,19 @@ END//
SELECT fn95('h');
fn95('h')
a
+Warnings:
+Warning 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn96;
-CREATE FUNCTION fn96( f1 char binary) returns char binary
+CREATE FUNCTION fn96( f1 binary) returns binary(2)
BEGIN
set f1 = concat('a', f1);
return f1;
END//
SELECT fn96( 'h');
fn96( 'h')
-a
+a
+Warnings:
+Warning 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn97;
CREATE FUNCTION fn97( f1 longtext) returns longtext
BEGIN
@@ -15917,7 +17224,7 @@ SELECT f1;
END//
CALL sp2(1.84e+19);
f1
--9223372036854775808
+18400000000000000000
DROP PROCEDURE IF EXISTS sp3;
CREATE PROCEDURE sp3( f1 bigint unsigned zerofill)
BEGIN
@@ -15926,7 +17233,7 @@ SELECT f1;
END//
CALL sp3(1.84e+17);
f1
-184000000000000000
+00184000000000000000
DROP PROCEDURE IF EXISTS sp4;
CREATE PROCEDURE sp4( f1 bigint zerofill)
BEGIN
@@ -15935,31 +17242,27 @@ SELECT f1;
END//
CALL sp4(-9.22e+15);
f1
--9220000000000000
+00000000000000000000
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp5;
CREATE PROCEDURE sp5( f1 decimal)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: default (10) for DECIMAL not checked, decimal digits shown although not defined
CALL sp5(-1.00e+09);
f1
--1000000000.000000000
+-1000000000
DROP PROCEDURE IF EXISTS sp6;
CREATE PROCEDURE sp6( f1 decimal (0))
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: decimal digits shown although not defined
CALL sp6(-1.00e+09);
f1
--1000000000.000000000
+-1000000000
DROP PROCEDURE IF EXISTS sp7;
CREATE PROCEDURE sp7( f1 decimal (0) unsigned)
BEGIN
@@ -15968,7 +17271,11 @@ SELECT f1;
END//
CALL sp7(99999999999);
f1
-99999999999.000000000
+9999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp8;
CREATE PROCEDURE sp8( f1 decimal (0) unsigned zerofill)
BEGIN
@@ -15977,199 +17284,201 @@ SELECT f1;
END//
CALL sp8(999999999);
f1
-999999999.000000000
+1000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp9;
CREATE PROCEDURE sp9( f1 decimal (0) zerofill)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: decimal digits shown although not defined
CALL sp9(-1.00e+09);
f1
--1000000000.000000000
+0000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp10;
CREATE PROCEDURE sp10( f1 decimal (0, 0))
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: decimal digits shown although not defined
CALL sp10(-1.00e+09);
f1
--1000000000.000000000
+-1000000000
DROP PROCEDURE IF EXISTS sp11;
CREATE PROCEDURE sp11( f1 decimal (0, 0) unsigned)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: decimal digits shown although not defined
CALL sp11(99999999999);
f1
-99999999999.000000000
+9999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp12;
CREATE PROCEDURE sp12( f1 decimal (0, 0) unsigned zerofill)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: decimal digits shown although not defined
CALL sp12(999999999);
f1
-999999999.000000000
+1000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp13;
CREATE PROCEDURE sp13( f1 decimal (0, 0) zerofill)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: decimal digits shown although not defined
CALL sp13(-1.00e+09);
f1
--1000000000.000000000
+0000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp14;
CREATE PROCEDURE sp14( f1 decimal (63, 30))
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: wrong number of decimal digits shown
CALL sp14(-1.00e+21);
f1
--1000000000000000000000.000000000
+-1000000000000000000000.000000000000000000000000000000
DROP PROCEDURE IF EXISTS sp15;
CREATE PROCEDURE sp15( f1 decimal (63, 30) unsigned)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: wrong number of decimal digits shown
CALL sp15(1.00e+16);
f1
-10000000000000000.000000000
+10000000000000000.000000000000000000000000000000
DROP PROCEDURE IF EXISTS sp16;
CREATE PROCEDURE sp16( f1 decimal (63, 30) unsigned zerofill)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: wrong number of decimal digits shown
CALL sp16(1.00e+16);
f1
-10000000000000000.000000000
+000000000000000010000000000000000.000000000000000000000000000000
DROP PROCEDURE IF EXISTS sp17;
CREATE PROCEDURE sp17( f1 decimal (63, 30) zerofill)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: wrong number of decimal digits shown
CALL sp17(-1.00e+21);
f1
--1000000000000000000000.000000000
+000000000000000000000000000000010.000000000000000000000000000000
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp18_d;
CREATE PROCEDURE sp18_d( f1 decimal (64))
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
+CALL sp18_d(-1.00e+30);
+f1
+-1000000000000000000000000000000
CALL sp18_d( -1000000000000000000000000000000 );
f1
--1000000000000000000000000000000.000000000
+-1000000000000000000000000000000
DROP PROCEDURE IF EXISTS sp19_du;
CREATE PROCEDURE sp19_du( f1 decimal (64) unsigned)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
+CALL sp19_du(1.00e+20);
+f1
+100000000000000000000
CALL sp19_du( 100000000000000000000 );
f1
-100000000000000000000.000000000
+100000000000000000000
+CALL sp19_du(1.00e+24);
+f1
+1000000000000000000000000
CALL sp19_du( 1000000000000000000000000 );
f1
-1000000000000000000000000.000000000
+1000000000000000000000000
DROP PROCEDURE IF EXISTS sp20_duz;
CREATE PROCEDURE sp20_duz( f1 decimal (64) unsigned zerofill)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: decimal digits shown although not defined
+CALL sp20_duz(1.00e+20);
+f1
+0000000000000000000000000000000000000000000100000000000000000000
CALL sp20_duz( 100000000000000000000 );
f1
-100000000000000000000.000000000
+0000000000000000000000000000000000000000000100000000000000000000
+CALL sp20_duz(1.00e+24);
+f1
+0000000000000000000000000000000000000001000000000000000000000000
CALL sp20_duz( 1000000000000000000000000 );
f1
-1000000000000000000000000.000000000
+0000000000000000000000000000000000000001000000000000000000000000
DROP PROCEDURE IF EXISTS sp21;
CREATE PROCEDURE sp21( f1 decimal (64) zerofill)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: decimal digits shown although not defined
CALL sp21(1.00e+00);
f1
-1.000000000
+0000000000000000000000000000000000000000000000000000000000000010
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp22;
CREATE PROCEDURE sp22( f1 decimal unsigned)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: decimal digits shown although not defined
CALL sp22(1.00e+00);
f1
-1.000000000
+10
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp23;
CREATE PROCEDURE sp23( f1 decimal unsigned zerofill)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: decimal digits shown although not defined
CALL sp23(1.00e+00);
f1
-1.000000000
+0000000010
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp24;
CREATE PROCEDURE sp24( f1 decimal zerofill)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: decimal digits shown although not defined
CALL sp24(-1.00e+09);
f1
--1000000000.000000000
+0000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp25;
CREATE PROCEDURE sp25( f1 double)
BEGIN
@@ -16187,7 +17496,9 @@ SELECT f1;
END//
CALL sp26(1.00e+00);
f1
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp27;
CREATE PROCEDURE sp27( f1 double unsigned zerofill)
BEGIN
@@ -16196,7 +17507,9 @@ SELECT f1;
END//
CALL sp27(1.00e+00);
f1
-1
+0000000000000000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp28;
CREATE PROCEDURE sp28( f1 double zerofill)
BEGIN
@@ -16205,7 +17518,9 @@ SELECT f1;
END//
CALL sp28(1.00e+00);
f1
-1
+0000000000000000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp29;
CREATE PROCEDURE sp29( f1 float)
BEGIN
@@ -16223,7 +17538,9 @@ SELECT f1;
END//
CALL sp30(1.00e+00);
f1
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp31;
CREATE PROCEDURE sp31( f1 float unsigned zerofill)
BEGIN
@@ -16232,7 +17549,9 @@ SELECT f1;
END//
CALL sp31(1.00e+00);
f1
-1
+000000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp32;
CREATE PROCEDURE sp32( f1 float zerofill)
BEGIN
@@ -16241,7 +17560,9 @@ SELECT f1;
END//
CALL sp32(1.00e+00);
f1
-1
+000000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp33;
CREATE PROCEDURE sp33( f1 float(0))
BEGIN
@@ -16259,7 +17580,9 @@ SELECT f1;
END//
CALL sp34(1.00e+00);
f1
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp35;
CREATE PROCEDURE sp35( f1 float(0) unsigned zerofill)
BEGIN
@@ -16268,7 +17591,9 @@ SELECT f1;
END//
CALL sp35(1.00e+00);
f1
-1
+000000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp36;
CREATE PROCEDURE sp36( f1 float(0) zerofill)
BEGIN
@@ -16277,7 +17602,9 @@ SELECT f1;
END//
CALL sp36(1.00e+00);
f1
-1
+000000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp37;
CREATE PROCEDURE sp37( f1 float(23))
BEGIN
@@ -16295,7 +17622,9 @@ SELECT f1;
END//
CALL sp38(1.00e+00);
f1
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp39;
CREATE PROCEDURE sp39( f1 float(23) unsigned zerofill)
BEGIN
@@ -16304,7 +17633,9 @@ SELECT f1;
END//
CALL sp39(1.00e+00);
f1
-1
+000000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp40;
CREATE PROCEDURE sp40( f1 float(23) zerofill)
BEGIN
@@ -16313,7 +17644,9 @@ SELECT f1;
END//
CALL sp40(1.00e+00);
f1
-1
+000000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp41;
CREATE PROCEDURE sp41( f1 float(24))
BEGIN
@@ -16331,7 +17664,9 @@ SELECT f1;
END//
CALL sp42(1.00e+00);
f1
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp43;
CREATE PROCEDURE sp43( f1 float(24) unsigned zerofill)
BEGIN
@@ -16340,7 +17675,9 @@ SELECT f1;
END//
CALL sp43(1.00e+00);
f1
-1
+000000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp44;
CREATE PROCEDURE sp44( f1 float(24) zerofill)
BEGIN
@@ -16349,7 +17686,9 @@ SELECT f1;
END//
CALL sp44(1.00e+00);
f1
-1
+000000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp45;
CREATE PROCEDURE sp45( f1 float(53))
BEGIN
@@ -16367,7 +17706,9 @@ SELECT f1;
END//
CALL sp46(1.00e+00);
f1
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp47;
CREATE PROCEDURE sp47( f1 float(53) unsigned zerofill)
BEGIN
@@ -16376,7 +17717,9 @@ SELECT f1;
END//
CALL sp47(1.00e+00);
f1
-1
+0000000000000000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp48;
CREATE PROCEDURE sp48( f1 float(53) zerofill)
BEGIN
@@ -16385,7 +17728,9 @@ SELECT f1;
END//
CALL sp48(1.00e+00);
f1
-1
+0000000000000000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp49;
CREATE PROCEDURE sp49( f1 int)
BEGIN
@@ -16394,7 +17739,10 @@ SELECT f1;
END//
CALL sp49(-2.15e+09);
f1
--2150000000
+-2147483638
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp50;
CREATE PROCEDURE sp50( f1 int unsigned)
BEGIN
@@ -16421,7 +17769,7 @@ SELECT f1;
END//
CALL sp52(2.15e+08);
f1
-215000000
+0215000000
DROP PROCEDURE IF EXISTS sp53;
CREATE PROCEDURE sp53( f1 mediumint)
BEGIN
@@ -16430,7 +17778,9 @@ SELECT f1;
END//
CALL sp53(-8388600);
f1
--8388600
+-8388598
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp54;
CREATE PROCEDURE sp54( f1 mediumint unsigned)
BEGIN
@@ -16457,7 +17807,11 @@ SELECT f1;
END//
CALL sp56(-8388601);
f1
--8388602
+16777215
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp57;
CREATE PROCEDURE sp57( f1 numeric)
BEGIN
@@ -16466,7 +17820,9 @@ SELECT f1;
END//
CALL sp57(-999999999);
f1
--999999999.000000000
+-1000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp58;
CREATE PROCEDURE sp58( f1 numeric (0))
BEGIN
@@ -16475,7 +17831,9 @@ SELECT f1;
END//
CALL sp58(-999999999);
f1
--999999999.000000000
+-1000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp59;
CREATE PROCEDURE sp59( f1 numeric (0) unsigned)
BEGIN
@@ -16484,7 +17842,10 @@ SELECT f1;
END//
CALL sp59(9999999999);
f1
-9999999999.000000000
+9999999999
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp60;
CREATE PROCEDURE sp60( f1 numeric (0) unsigned zerofill)
BEGIN
@@ -16493,7 +17854,9 @@ SELECT f1;
END//
CALL sp60(99999999);
f1
-99999999.000000000
+0100000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp61;
CREATE PROCEDURE sp61( f1 numeric (0) zerofill)
BEGIN
@@ -16502,7 +17865,10 @@ SELECT f1;
END//
CALL sp61(-99999999);
f1
--99999999.000000000
+0000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp62;
CREATE PROCEDURE sp62( f1 numeric (0, 0))
BEGIN
@@ -16511,7 +17877,9 @@ SELECT f1;
END//
CALL sp62(-999999999);
f1
--999999999.000000000
+-1000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp63;
CREATE PROCEDURE sp63( f1 numeric (0, 0) unsigned)
BEGIN
@@ -16520,7 +17888,10 @@ SELECT f1;
END//
CALL sp63(9999999999);
f1
-9999999999.000000000
+9999999999
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp64;
CREATE PROCEDURE sp64( f1 numeric (0, 0) unsigned zerofill)
BEGIN
@@ -16529,7 +17900,9 @@ SELECT f1;
END//
CALL sp64(99999999);
f1
-99999999.000000000
+0100000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp65;
CREATE PROCEDURE sp65( f1 numeric (0, 0) zerofill)
BEGIN
@@ -16538,79 +17911,146 @@ SELECT f1;
END//
CALL sp65(-99999999);
f1
--99999999.000000000
+0000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp66_n;
CREATE PROCEDURE sp66_n( f1 numeric (63, 30))
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
+CALL sp66_n(-1e+36);
+f1
+-999999999999999999999999999999989.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
CALL sp66_n( -1000000000000000000000000000000000000 );
f1
--1000000000000000000000000000000000000.000000000
+-999999999999999999999999999999989.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp67_nu;
CREATE PROCEDURE sp67_nu( f1 numeric (63, 30) unsigned)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
+CALL sp67_nu(1e+36);
+f1
+999999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
CALL sp67_nu( 1000000000000000000000000000000000000 );
f1
-1000000000000000000000000000000000000.000000000
+999999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp68_nuz;
CREATE PROCEDURE sp68_nuz( f1 numeric (63, 30) unsigned zerofill)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
+CALL sp68_nuz(1e+36);
+f1
+999999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
CALL sp68_nuz( 1000000000000000000000000000000000000 );
f1
-1000000000000000000000000000000000000.000000000
+999999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp69_n_z;
CREATE PROCEDURE sp69_n_z( f1 numeric (63, 30) zerofill)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
+CALL sp69_n_z(-1e+36);
+f1
+000000000000000000000000000000010.000000000000000000000000000000
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
CALL sp69_n_z( -1000000000000000000000000000000000000 );
f1
--1000000000000000000000000000000000000.000000000
+000000000000000000000000000000010.000000000000000000000000000000
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp70_n;
CREATE PROCEDURE sp70_n( f1 numeric (64))
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
+CALL sp70_n(-1e+40);
+f1
+-10000000000000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
CALL sp70_n( -10000000000000000000000000000000000000000 );
f1
--10000000000000000000000000000000000000000.000000000
+-10000000000000000000000000000000000000000
DROP PROCEDURE IF EXISTS sp71_nu;
CREATE PROCEDURE sp71_nu( f1 numeric (64) unsigned)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
+CALL sp71_nu(1.00e+40);
+f1
+10000000000000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
CALL sp71_nu( 10000000000000000000000000000000000000000 );
f1
-10000000000000000000000000000000000000000.000000000
+10000000000000000000000000000000000000000
DROP PROCEDURE IF EXISTS sp72_nuz;
CREATE PROCEDURE sp72_nuz( f1 numeric (64) unsigned zerofill)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
+CALL sp72_nuz(1.00e+40);
+f1
+0000000000000000000000010000000000000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
CALL sp72_nuz( 10000000000000000000000000000000000000000 );
f1
-10000000000000000000000000000000000000000.000000000
+0000000000000000000000010000000000000000000000000000000000000000
DROP PROCEDURE IF EXISTS sp73_n_z;
CREATE PROCEDURE sp73_n_z( f1 numeric (64) zerofill)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
+CALL sp73_n_z(1.00e+40);
+f1
+0000000000000000000000010000000000000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
CALL sp73_n_z( 10000000000000000000000000000000000000000 );
f1
-10000000000000000000000000000000000000000.000000000
+0000000000000000000000010000000000000000000000000000000000000000
DROP PROCEDURE IF EXISTS sp74;
CREATE PROCEDURE sp74( f1 numeric unsigned)
BEGIN
@@ -16619,7 +18059,9 @@ SELECT f1;
END//
CALL sp74(999999999);
f1
-999999999.000000000
+1000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp75;
CREATE PROCEDURE sp75( f1 numeric unsigned zerofill)
BEGIN
@@ -16628,7 +18070,9 @@ SELECT f1;
END//
CALL sp75(999999999);
f1
-999999999.000000000
+1000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp76;
CREATE PROCEDURE sp76( f1 numeric zerofill)
BEGIN
@@ -16637,7 +18081,10 @@ SELECT f1;
END//
CALL sp76(-999999999);
f1
--999999999.000000000
+0000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp77;
CREATE PROCEDURE sp77( f1 real)
BEGIN
@@ -16646,7 +18093,7 @@ SELECT f1;
END//
CALL sp77(1.1);
f1
-1.10000
+1.1
DROP PROCEDURE IF EXISTS sp78;
CREATE PROCEDURE sp78( f1 real unsigned)
BEGIN
@@ -16655,7 +18102,9 @@ SELECT f1;
END//
CALL sp78(1.1);
f1
-1.10000
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp79;
CREATE PROCEDURE sp79( f1 real unsigned zerofill)
BEGIN
@@ -16664,7 +18113,9 @@ SELECT f1;
END//
CALL sp79(1.1);
f1
-1.10000
+0000000000000000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp80;
CREATE PROCEDURE sp80( f1 real zerofill)
BEGIN
@@ -16673,7 +18124,9 @@ SELECT f1;
END//
CALL sp80(1.1);
f1
-1.10000
+0000000000000000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp81;
CREATE PROCEDURE sp81( f1 smallint)
BEGIN
@@ -16709,7 +18162,11 @@ SELECT f1;
END//
CALL sp84(-32601);
f1
--32602
+65535
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp85;
CREATE PROCEDURE sp85( f1 tinyint)
BEGIN
@@ -16745,9 +18202,23 @@ SELECT f1;
END//
CALL sp88(-101);
f1
--102
+255
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp89;
+CREATE PROCEDURE sp89( f1 enum('1enum', '2enum'))
+BEGIN
+IF f1 = '1enum' THEN set f1 = '2enum'; ELSE set f1 = '1enum'; END IF;
+END//
+CALL sp89( '1enum');
DROP PROCEDURE IF EXISTS sp90;
+CREATE PROCEDURE sp90( f1 set('1set', '2set'))
+BEGIN
+IF f1 = '1set' THEN set f1 = '2set'; ELSE set f1 = '1set'; END IF;
+END//
+CALL sp90( '1set');
DROP PROCEDURE IF EXISTS sp91;
CREATE PROCEDURE sp91( f1 date)
BEGIN
@@ -16765,7 +18236,7 @@ SELECT f1;
END//
CALL sp92( '23:59:59.999999');
f1
-26:00:00.999997
+25:59:59
DROP PROCEDURE IF EXISTS sp93;
CREATE PROCEDURE sp93( f1 datetime)
BEGIN
@@ -16774,7 +18245,7 @@ SELECT f1;
END//
CALL sp93('1997-12-31 23:59:59.999999');
f1
-1998-01-02 01:01:01.000001
+1998-01-02 01:01:00
DROP PROCEDURE IF EXISTS sp94;
CREATE PROCEDURE sp94( f1 char)
BEGIN
@@ -16783,7 +18254,9 @@ SELECT f1;
END//
CALL sp94( 'h');
f1
-ah
+a
+Warnings:
+Warning 1265 Data truncated for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp95;
CREATE PROCEDURE sp95( f1 char ascii)
BEGIN
@@ -16792,7 +18265,9 @@ SELECT f1;
END//
CALL sp95( 'h');
f1
-ah
+a
+Warnings:
+Warning 1265 Data truncated for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp96;
CREATE PROCEDURE sp96( f1 char binary)
BEGIN
@@ -16801,7 +18276,9 @@ SELECT f1;
END//
CALL sp96( 'h');
f1
-ah
+a
+Warnings:
+Warning 1265 Data truncated for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp97;
CREATE PROCEDURE sp97( f1 longtext)
BEGIN
@@ -16846,7 +18323,7 @@ SELECT f1;
END//
CALL sp101(51);
f1
-61
+2061
DROP PROCEDURE IF EXISTS sp102;
CREATE PROCEDURE sp102( f1 year(4))
BEGIN
@@ -16901,6 +18378,8 @@ END//
CALL sp107(2.00e+13);
f1
returned
+Warnings:
+returned 1265 Data truncated for column 'f1' at row 1
USE db_storedproc;
DROP DATABASE db1;
DROP DATABASE IF EXISTS db1;
@@ -16937,9 +18416,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute01();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-61 61 71 61 61 71 2033 2033 2084 2033 2033 2084
+2061 2061 2071 2061 2061 2071 2033 2033 2084 2033 2033 2084
var1 var2 var3 var4 var5 var6 var7 var8
-61 71 61 71 2033 2084 2033 2084
+2061 2071 2061 2071 2033 2084 2033 2084
DROP PROCEDURE spexecute01;
DROP PROCEDURE sp1;
DROP PROCEDURE IF EXISTS sp2;
@@ -17010,9 +18489,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute03();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-ah ah aah ah ah aah helloworld helloworld NULL helloworld helloworld hellohelloworld
+a a a a a a helloworld helloworld NULL helloworld helloworld hellohelloworld
var1 var2 var3 var4 var5 var6 var7 var8
-ah aah ah aah helloworld NULL helloworld hellohelloworld
+a a a a helloworld NULL helloworld hellohelloworld
DROP PROCEDURE spexecute03;
DROP PROCEDURE sp3;
DROP PROCEDURE IF EXISTS sp4;
@@ -17155,7 +18634,7 @@ SELECT var7, var8;
END//
CALL spexecute07();
var1 var2
-9223372036854775807 NULL
+18400000000000000000 NULL
var3 var4
-9220000000000000000 NULL
var5 var6
@@ -17163,7 +18642,7 @@ var5 var6
var7 var8
-9220000000000000000 NULL
f1 f2 f3
-9223372036854775807 9223372036854775807 NULL
+18400000000000000000 18400000000000000000 NULL
f4 f5 f6
-9220000000000000000 -9220000000000000000 NULL
f7 f8 f9
@@ -17171,7 +18650,7 @@ f7 f8 f9
f10 f11 f12
-9220000000000000000 -9220000000000000000 NULL
f1 f2 f3
--2 -2 -2
+18353255926290448384 18353255926290448384 18353255926290448384
f4 f5 f6
-9220000000000000000 6744073709551616 6744073709551616
f7 f8 f9
@@ -17179,7 +18658,7 @@ f7 f8 f9
f10 f11 f12
-9220000000000000000 6744073709551616 6744073709551616
var1 var2
--2 -2
+18353255926290448384 18353255926290448384
var3 var4
6744073709551616 6744073709551616
var5 var6
@@ -17237,9 +18716,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute08();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-368000000000000000 368000000000000000 368000000000000010 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+00368000000000000000 00368000000000000000 00368000000000000010 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-368000000000000000 368000000000000010 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+00368000000000000000 00368000000000000010 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute08;
DROP PROCEDURE sp8;
DROP PROCEDURE IF EXISTS sp9;
@@ -17291,9 +18770,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute09();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--18440000000000000 -18440000000000000 -18439999999999990 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+00000000000000000000 00000000000000000000 00000000000000000010 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--18440000000000000 -18439999999999990 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+00000000000000000000 00000000000000000010 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute09;
DROP PROCEDURE sp9;
DROP PROCEDURE IF EXISTS sp10;
@@ -17337,9 +18816,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute10();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--1000000000.000000000 -1000000000.000000000 -999999990.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+-1000000000 -1000000000 -999999990 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--1000000000.000000000 -999999990.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+-1000000000 -999999990 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute10;
DROP PROCEDURE sp10;
DROP PROCEDURE IF EXISTS sp11;
@@ -17372,9 +18851,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute11();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1000000000.000000000 1000000000.000000000 1000000010.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+1000000000 1000000000 1000000010 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1000000000.000000000 1000000010.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+1000000000 1000000010 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute11;
DROP PROCEDURE sp11;
DROP PROCEDURE IF EXISTS sp12;
@@ -17407,9 +18886,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute12();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-99999999999.000000000 99999999999.000000000 100000000009.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+9999999999 9999999999 9999999999 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-99999999999.000000000 100000000009.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+9999999999 9999999999 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute12;
DROP PROCEDURE sp12;
DROP PROCEDURE IF EXISTS sp13;
@@ -17442,9 +18921,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute13();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--1000000000.000000000 -1000000000.000000000 -999999990.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000010 0000000010 0000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--1000000000.000000000 -999999990.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000010 0000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute13;
DROP PROCEDURE sp13;
DROP PROCEDURE IF EXISTS sp14;
@@ -17477,9 +18956,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute14();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--1000000000000000000000.000000000 -1000000000000000000000.000000000 -999999999999999999990.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+-1000000000000000000000.000000000000000000000000000000 -1000000000000000000000.000000000000000000000000000000 -999999999999999999990.000000000000000000000000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--1000000000000000000000.000000000 -999999999999999999990.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+-1000000000000000000000.000000000000000000000000000000 -999999999999999999990.000000000000000000000000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute14;
DROP PROCEDURE sp14;
DROP PROCEDURE IF EXISTS sp15;
@@ -17545,9 +19024,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute16();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000000000000000010 0000000000000000000010 0000000000000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000000000000000010 0000000000000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute16;
DROP PROCEDURE sp16;
DROP PROCEDURE IF EXISTS sp17;
@@ -17579,9 +19058,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute17();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+10 10 20 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+10 20 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute17;
DROP PROCEDURE sp17;
DROP PROCEDURE IF EXISTS sp18;
@@ -17613,9 +19092,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute18();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000000000000000010 0000000000000000000010 0000000000000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000000000000000010 0000000000000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute18;
DROP PROCEDURE sp18;
DROP PROCEDURE IF EXISTS sp19;
@@ -17647,9 +19126,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute19();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+10 10 20 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+10 20 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute19;
DROP PROCEDURE sp19;
DROP PROCEDURE IF EXISTS sp20;
@@ -17681,9 +19160,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute20();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+000000000010 000000000010 000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+000000000010 000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute20;
DROP PROCEDURE sp20;
DROP PROCEDURE IF EXISTS sp21;
@@ -17715,9 +19194,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute21();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+000000000010 000000000010 000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+000000000010 000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute21;
DROP PROCEDURE sp21;
DROP PROCEDURE IF EXISTS sp22;
@@ -17783,9 +19262,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute23();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--999999999.000000000 -999999999.000000000 -999999989.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+-1000000000 -1000000000 -999999990 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--999999999.000000000 -999999989.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+-1000000000 -999999990 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute23;
DROP PROCEDURE sp23;
DROP PROCEDURE IF EXISTS sp24;
@@ -17817,9 +19296,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute24();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1.10000 1.10000 11.10000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+1.1 1.1 11.1 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1.10000 11.10000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+1.1 11.1 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute24;
DROP PROCEDURE sp24;
DROP PROCEDURE IF EXISTS sp25;
@@ -17851,9 +19330,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute25();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--65402 -65402 -65392 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+-32758 -32758 -32748 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--65402 -65392 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+-32758 -32748 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute25;
DROP PROCEDURE sp25;
DROP PROCEDURE IF EXISTS sp26;
@@ -17919,9 +19398,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute27();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-26:00:00.999997 26:00:00.999997 28:00:01.999995 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+25:59:59 25:59:59 27:59:59 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-26:00:00.999997 28:00:01.999995 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+25:59:59 27:59:59 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute27;
DROP PROCEDURE sp27;
DROP PROCEDURE IF EXISTS sp28;
@@ -17953,9 +19432,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute28();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1998-01-02 01:01:01.000001 1998-01-02 01:01:01.000001 1998-01-03 02:02:02.000003 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+1998-01-02 01:01:00 1998-01-02 01:01:00 1998-01-03 02:02:01 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1998-01-02 01:01:01.000001 1998-01-03 02:02:02.000003 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+1998-01-02 01:01:00 1998-01-03 02:02:01 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute28;
DROP PROCEDURE sp28;
DROP PROCEDURE IF EXISTS sp29;
@@ -17987,9 +19466,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute29();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+10 10 20 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+10 20 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute29;
DROP PROCEDURE sp29;
DROP PROCEDURE IF EXISTS sp30;
@@ -18021,9 +19500,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute30();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+000000000010 000000000010 000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+000000000010 000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute30;
DROP PROCEDURE sp30;
DROP PROCEDURE IF EXISTS sp31;
@@ -18089,9 +19568,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute32();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+10 10 20 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+10 20 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute32;
DROP PROCEDURE sp32;
DROP PROCEDURE IF EXISTS sp33;
@@ -18123,9 +19602,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute33();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+000000000010 000000000010 000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+000000000010 000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute33;
DROP PROCEDURE sp33;
DROP PROCEDURE IF EXISTS sp34;
@@ -18191,9 +19670,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute35();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+10 10 20 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+10 20 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute35;
DROP PROCEDURE sp35;
DROP PROCEDURE IF EXISTS sp36;
@@ -18225,9 +19704,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute36();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+000000000010 000000000010 000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+000000000010 000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute36;
DROP PROCEDURE sp36;
DROP PROCEDURE IF EXISTS sp37;
@@ -18293,9 +19772,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute38();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+10 10 20 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+10 20 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute38;
DROP PROCEDURE sp38;
DROP PROCEDURE IF EXISTS sp39;
@@ -18327,9 +19806,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute39();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000000000000000010 0000000000000000000010 0000000000000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000000000000000010 0000000000000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute39;
DROP PROCEDURE sp39;
DROP PROCEDURE IF EXISTS sp40;
@@ -18361,9 +19840,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute40();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1.10000 1.10000 11.10000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+10 10 20 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1.10000 11.10000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+10 20 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute40;
DROP PROCEDURE sp40;
DROP PROCEDURE IF EXISTS sp41;
@@ -18395,9 +19874,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute41();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1.10000 1.10000 11.10000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000000000000000010 0000000000000000000010 0000000000000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1.10000 11.10000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000000000000000010 0000000000000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute41;
DROP PROCEDURE sp41;
DROP PROCEDURE IF EXISTS sp42;
@@ -18429,9 +19908,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute42();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1.10000 1.10000 11.10000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000000000000000010 0000000000000000000010 0000000000000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1.10000 11.10000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000000000000000010 0000000000000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute42;
DROP PROCEDURE sp42;
DROP PROCEDURE IF EXISTS sp43;
@@ -18463,9 +19942,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute43();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--999999999.000000000 -999999999.000000000 -999999989.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+-1000000000 -1000000000 -999999990 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--999999999.000000000 -999999989.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+-1000000000 -999999990 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute43;
DROP PROCEDURE sp43;
DROP PROCEDURE IF EXISTS sp44;
@@ -18497,9 +19976,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute44();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-9999999999.000000000 9999999999.000000000 10000000009.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+9999999999 9999999999 9999999999 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-9999999999.000000000 10000000009.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+9999999999 9999999999 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute44;
DROP PROCEDURE sp44;
DROP PROCEDURE IF EXISTS sp45;
@@ -18531,9 +20010,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute45();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--99999999.000000000 -99999999.000000000 -99999989.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000010 0000000010 0000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--99999999.000000000 -99999989.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000010 0000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute45;
DROP PROCEDURE sp45;
DROP PROCEDURE IF EXISTS sp46;
@@ -18565,9 +20044,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute46();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--999999999.000000000 -999999999.000000000 -999999989.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+-1000000000 -1000000000 -999999990 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--999999999.000000000 -999999989.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+-1000000000 -999999990 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute46;
DROP PROCEDURE sp46;
DROP PROCEDURE IF EXISTS sp47;
@@ -18599,9 +20078,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute47();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-9999999999.000000000 9999999999.000000000 10000000009.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+9999999999 9999999999 9999999999 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-9999999999.000000000 10000000009.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+9999999999 9999999999 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute47;
DROP PROCEDURE sp47;
DROP PROCEDURE IF EXISTS sp48;
@@ -18633,9 +20112,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute48();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--99999999.000000000 -99999999.000000000 -99999989.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000010 0000000010 0000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--99999999.000000000 -99999989.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000010 0000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute48;
DROP PROCEDURE sp48;
DROP PROCEDURE IF EXISTS sp49;
@@ -18667,9 +20146,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute49();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--999999999.000000000 -999999999.000000000 -999999989.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+10 10 20 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--999999999.000000000 -999999989.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+10 20 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute49;
DROP PROCEDURE sp49;
DROP PROCEDURE IF EXISTS sp50;
@@ -18701,9 +20180,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute50();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-9999999999.000000000 9999999999.000000000 10000000009.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+9999999999 9999999999 9999999999 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-9999999999.000000000 10000000009.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+9999999999 9999999999 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute50;
DROP PROCEDURE sp50;
DROP PROCEDURE IF EXISTS sp51;
@@ -18735,9 +20214,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute51();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--99999999.000000000 -99999999.000000000 -99999989.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000010 0000000010 0000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--99999999.000000000 -99999989.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000010 0000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute51;
DROP PROCEDURE sp51;
DROP PROCEDURE IF EXISTS sp52;
@@ -18769,9 +20248,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute52();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--100000000000000000000.000000000 -10000000000000000000000.000000000 -99999999999999999990.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+-100000000000000000000.000000000000000000000000000000 -10000000000000000000000.000000000000000000000000000000 -99999999999999999990.000000000000000000000000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--10000000000000000000000.000000000 -99999999999999999990.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+-10000000000000000000000.000000000000000000000000000000 -99999999999999999990.000000000000000000000000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute52;
DROP PROCEDURE sp52;
DROP PROCEDURE IF EXISTS sp53;
@@ -18803,9 +20282,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute53();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--100000000000000000000.000000000 -10000000000000000000000.000000000 -99999999999999999990.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+-100000000000000000000 -10000000000000000000000 -99999999999999999990 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--10000000000000000000000.000000000 -99999999999999999990.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+-10000000000000000000000 -99999999999999999990 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute53;
DROP PROCEDURE sp53;
DROP PROCEDURE IF EXISTS sp54;
@@ -18837,9 +20316,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute54();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-100000000000000000000.000000000 10000000000000000000000.000000000 100000000000000000010.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+100000000000000000000 10000000000000000000000 100000000000000000010 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-10000000000000000000000.000000000 100000000000000000010.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+10000000000000000000000 100000000000000000010 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute54;
DROP PROCEDURE sp54;
DROP PROCEDURE IF EXISTS sp55;
@@ -18871,9 +20350,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute55();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--100000000000000000000.000000000 -10000000000000000000000.000000000 -99999999999999999990.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000000000000000000000000000000000000000000000000000000000010 0000000000000000000000000000000000000000000000000000000000000010 0000000000000000000000000000000000000000000000000000000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--10000000000000000000000.000000000 -99999999999999999990.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000000000000000000000000000000000000000000000000000000000010 0000000000000000000000000000000000000000000000000000000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute55;
DROP PROCEDURE sp55;
DROP PROCEDURE IF EXISTS sp56;
@@ -18905,9 +20384,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute56();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-61 61 71 61 61 71 61 61 71 61 61 71
+2061 2061 2071 2061 2061 2071 2061 2061 2071 2061 2061 2071
var1 var2 var3 var4 var5 var6 var7 var8
-61 71 61 71 61 71 61 71
+2061 2071 2061 2071 2061 2071 2061 2071
DROP PROCEDURE spexecute56;
DROP PROCEDURE sp56;
DROP PROCEDURE IF EXISTS sp57;
@@ -19041,9 +20520,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute60();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-ah ah aah ah ah aah ah ah aah ah ah aah
+a a a a a a a a a a a a
var1 var2 var3 var4 var5 var6 var7 var8
-ah aah ah aah ah aah ah aah
+a a a a a a a a
DROP PROCEDURE spexecute60;
DROP PROCEDURE sp60;
DROP PROCEDURE IF EXISTS sp61;
@@ -19075,9 +20554,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute61();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-ah ah aah ah ah aah ah ah NULL ah ah aah
+a a a a a a a a NULL a a a
var1 var2 var3 var4 var5 var6 var7 var8
-ah aah ah aah ah NULL ah aah
+a a a a a NULL a a
DROP PROCEDURE spexecute61;
DROP PROCEDURE sp61;
DROP PROCEDURE IF EXISTS sp62;
@@ -19177,9 +20656,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute64();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1000000000.000000000 1000000000.000000000 1000000010.000000000 1000000000.000000000 1000000000.000000000 1000000010.000000000 1000000000.000000000 1000000000.000000000 1000000010.000000000 1000000000.000000000 1000000000.000000000 1000000010.000000000
+1000000000 1000000000 1000000010 1000000000 1000000000 1000000010 1000000000 1000000000 1000000010 1000000000 1000000000 1000000010
var1 var2 var3 var4 var5 var6 var7 var8
-1000000000.000000000 1000000010.000000000 1000000000.000000000 1000000010.000000000 1000000000.000000000 1000000010.000000000 1000000000.000000000 1000000010.000000000
+1000000000 1000000010 1000000000 1000000010 1000000000 1000000010 1000000000 1000000010
DROP PROCEDURE spexecute64;
DROP PROCEDURE sp64;
DROP PROCEDURE IF EXISTS sp65;
@@ -19211,9 +20690,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute65();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-999999999.000000000 999999999.000000000 1000000009.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+1000000000 1000000000 1000000010 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-999999999.000000000 1000000009.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+1000000000 1000000010 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute65;
DROP PROCEDURE sp65;
DROP PROCEDURE IF EXISTS sp66;
@@ -19245,9 +20724,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute66();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-10000000000000000.000000000 10000000000000000.000000000 10000000000000010.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+10000000000000000.000000000000000000000000000000 10000000000000000.000000000000000000000000000000 10000000000000010.000000000000000000000000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-10000000000000000.000000000 10000000000000010.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+10000000000000000.000000000000000000000000000000 10000000000000010.000000000000000000000000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute66;
DROP PROCEDURE sp66;
DROP PROCEDURE IF EXISTS sp67;
@@ -19279,9 +20758,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute67();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-10000000000000000.000000000 10000000000000000.000000000 10000000000000010.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+000000000000000010000000000000000.000000000000000000000000000000 000000000000000010000000000000000.000000000000000000000000000000 000000000000000010000000000000010.000000000000000000000000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-10000000000000000.000000000 10000000000000010.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+000000000000000010000000000000000.000000000000000000000000000000 000000000000000010000000000000010.000000000000000000000000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute67;
DROP PROCEDURE sp67;
DROP PROCEDURE IF EXISTS sp68;
@@ -19313,9 +20792,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute68();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--1000000000000000000000.000000000 -1000000000000000000000.000000000 -999999999999999999990.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+000000000000000000000000000000010.000000000000000000000000000000 000000000000000000000000000000010.000000000000000000000000000000 000000000000000000000000000000020.000000000000000000000000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--1000000000000000000000.000000000 -999999999999999999990.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+000000000000000000000000000000010.000000000000000000000000000000 000000000000000000000000000000020.000000000000000000000000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute68;
DROP PROCEDURE sp68;
DROP PROCEDURE IF EXISTS sp69;
@@ -19347,9 +20826,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute69();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--100000000000000000000.000000000 -10000000000000000000000.000000000 -99999999999999999990.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+-100000000000000000000 -10000000000000000000000 -99999999999999999990 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--10000000000000000000000.000000000 -99999999999999999990.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+-10000000000000000000000 -99999999999999999990 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute69;
DROP PROCEDURE sp69;
DROP PROCEDURE IF EXISTS sp70;
@@ -19381,9 +20860,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute70();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-100000000000000000000.000000000 10000000000000000000000.000000000 100000000000000000010.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+100000000000000000000 10000000000000000000000 100000000000000000010 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-10000000000000000000000.000000000 100000000000000000010.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+10000000000000000000000 100000000000000000010 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute70;
DROP PROCEDURE sp70;
DROP PROCEDURE IF EXISTS sp71;
@@ -19415,9 +20894,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute71();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-100000000000000000000.000000000 10000000000000000000000.000000000 100000000000000000010.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000000000000000000000000000000000000000100000000000000000000 0000000000000000000000000000000000000000010000000000000000000000 0000000000000000000000000000000000000000000100000000000000000010 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-10000000000000000000000.000000000 100000000000000000010.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000000000000000000000000000000000000010000000000000000000000 0000000000000000000000000000000000000000000100000000000000000010 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute71;
DROP PROCEDURE sp71;
DROP PROCEDURE IF EXISTS sp72;
@@ -19449,9 +20928,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute72();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1.000000000 1.000000000 11.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000000000000000000000000000000000000000000000000000000000010 0000000000000000000000000000000000000000000000000000000000000010 0000000000000000000000000000000000000000000000000000000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1.000000000 11.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000000000000000000000000000000000000000000000000000000000010 0000000000000000000000000000000000000000000000000000000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute72;
DROP PROCEDURE sp72;
DROP PROCEDURE IF EXISTS sp73;
@@ -19483,9 +20962,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute73();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1.000000000 1.000000000 11.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+10 10 20 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1.000000000 11.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+10 20 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute73;
DROP PROCEDURE sp73;
DROP PROCEDURE IF EXISTS sp74;
@@ -19517,9 +20996,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute74();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1.000000000 1.000000000 11.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000010 0000000010 0000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1.000000000 11.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000010 0000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute74;
DROP PROCEDURE sp74;
DROP PROCEDURE IF EXISTS sp75;
@@ -19551,9 +21030,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute75();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--1000000000.000000000 -1000000000.000000000 -999999990.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000010 0000000010 0000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--1000000000.000000000 -999999990.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000010 0000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute75;
DROP PROCEDURE sp75;
DROP PROCEDURE IF EXISTS sp76;
@@ -19585,9 +21064,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute76();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+000000000010 000000000010 000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+000000000010 000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute76;
DROP PROCEDURE sp76;
DROP PROCEDURE IF EXISTS sp77;
@@ -19619,9 +21098,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute77();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+000000000010 000000000010 000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+000000000010 000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute77;
DROP PROCEDURE sp77;
DROP PROCEDURE IF EXISTS sp78;
@@ -19653,9 +21132,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute78();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+000000000010 000000000010 000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+000000000010 000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute78;
DROP PROCEDURE sp78;
DROP PROCEDURE IF EXISTS sp79;
@@ -19687,9 +21166,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute79();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000000000000000010 0000000000000000000010 0000000000000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000000000000000010 0000000000000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute79;
DROP PROCEDURE sp79;
DROP PROCEDURE IF EXISTS sp80;
@@ -19721,9 +21200,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute80();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--2150000000 -2150000000 -2149999990 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+-2147483638 -2147483638 -2147483628 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--2150000000 -2149999990 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+-2147483638 -2147483628 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute80;
DROP PROCEDURE sp80;
DROP PROCEDURE IF EXISTS sp81;
@@ -19823,9 +21302,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute83();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-215000000 215000000 215000010 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0215000000 0215000000 0215000010 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-215000000 215000010 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0215000000 0215000010 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute83;
DROP PROCEDURE sp83;
DROP PROCEDURE IF EXISTS sp84;
@@ -19857,9 +21336,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute84();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--8388600 -8388600 -8388590 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+-8388598 -8388598 -8388588 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--8388600 -8388590 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+-8388598 -8388588 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute84;
DROP PROCEDURE sp84;
DROP PROCEDURE IF EXISTS sp85;
@@ -19925,9 +21404,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute86();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-16777210 16777210 16777220 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+16777210 16777210 16777215 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-16777210 16777220 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+16777210 16777215 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute86;
DROP PROCEDURE sp86;
DROP PROCEDURE IF EXISTS sp87;
@@ -19959,9 +21438,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute87();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--8388602 -8388602 -8388592 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+16777215 16777215 16777215 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--8388602 -8388592 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+16777215 16777215 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute87;
DROP PROCEDURE sp87;
DROP PROCEDURE IF EXISTS sp88;
@@ -19993,9 +21472,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute88();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-99999999.000000000 99999999.000000000 100000009.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0100000000 0100000000 0100000010 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-99999999.000000000 100000009.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0100000000 0100000010 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute88;
DROP PROCEDURE sp88;
DROP PROCEDURE IF EXISTS sp89;
@@ -20027,9 +21506,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute89();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-99999999.000000000 99999999.000000000 100000009.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0100000000 0100000000 0100000010 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-99999999.000000000 100000009.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0100000000 0100000010 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute89;
DROP PROCEDURE sp89;
DROP PROCEDURE IF EXISTS sp90;
@@ -20061,9 +21540,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute90();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-100000000000000000000.000000000 10000000000000000000000.000000000 100000000000000000010.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+100000000000000000000.000000000000000000000000000000 10000000000000000000000.000000000000000000000000000000 100000000000000000010.000000000000000000000000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-10000000000000000000000.000000000 100000000000000000010.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+10000000000000000000000.000000000000000000000000000000 100000000000000000010.000000000000000000000000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute90;
DROP PROCEDURE sp90;
DROP PROCEDURE IF EXISTS sp91;
@@ -20095,9 +21574,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute91();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-100000000000000000000.000000000 10000000000000000000000.000000000 100000000000000000010.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+000000000000100000000000000000000.000000000000000000000000000000 000000000010000000000000000000000.000000000000000000000000000000 000000000000100000000000000000010.000000000000000000000000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-10000000000000000000000.000000000 100000000000000000010.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+000000000010000000000000000000000.000000000000000000000000000000 000000000000100000000000000000010.000000000000000000000000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute91;
DROP PROCEDURE sp91;
DROP PROCEDURE IF EXISTS sp92;
@@ -20129,9 +21608,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute92();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--100000000000000000000.000000000 -10000000000000000000000.000000000 -99999999999999999990.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+000000000000000000000000000000010.000000000000000000000000000000 000000000000000000000000000000010.000000000000000000000000000000 000000000000000000000000000000020.000000000000000000000000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--10000000000000000000000.000000000 -99999999999999999990.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+000000000000000000000000000000010.000000000000000000000000000000 000000000000000000000000000000020.000000000000000000000000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute92;
DROP PROCEDURE sp92;
DROP PROCEDURE IF EXISTS sp93;
@@ -20163,9 +21642,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute93();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-100000000000000000000.000000000 10000000000000000000000.000000000 100000000000000000010.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000000000000000000000000000000000000000100000000000000000000 0000000000000000000000000000000000000000010000000000000000000000 0000000000000000000000000000000000000000000100000000000000000010 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-10000000000000000000000.000000000 100000000000000000010.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000000000000000000000000000000000000010000000000000000000000 0000000000000000000000000000000000000000000100000000000000000010 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute93;
DROP PROCEDURE sp93;
DROP PROCEDURE IF EXISTS sp94;
@@ -20231,9 +21710,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute95();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-65532 65532 65542 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+65532 65532 65535 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-65532 65542 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+65532 65535 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute95;
DROP PROCEDURE sp95;
DROP PROCEDURE IF EXISTS sp96;
@@ -20265,9 +21744,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute96();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-65532 65532 65542 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+65532 65532 65535 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-65532 65542 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+65532 65535 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute96;
DROP PROCEDURE sp96;
DROP PROCEDURE IF EXISTS sp97;
@@ -20299,9 +21778,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute97();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--32602 -32602 -32592 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+65535 65535 65535 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--32602 -32592 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+65535 65535 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute97;
DROP PROCEDURE sp97;
DROP PROCEDURE IF EXISTS sp98;
@@ -20367,9 +21846,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute99();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-252 252 262 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+252 252 255 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-252 262 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+252 255 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute99;
DROP PROCEDURE sp99;
DROP PROCEDURE IF EXISTS sp100;
@@ -20435,9 +21914,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute101();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--102 -102 -92 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+255 255 255 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--102 -92 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+255 255 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute101;
DROP PROCEDURE sp101;
USE db_storedproc;
@@ -20462,13 +21941,13 @@ set a = '2005-03-14 01:01:02';
insert into temp_table values(a);
END//
show CREATE PROCEDURE sp2;
-Procedure sql_mode Create Procedure
-sp2 ALLOW_INVALID_DATES CREATE PROCEDURE `sp2`()
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+sp2 ALLOW_INVALID_DATES CREATE DEFINER=`root`@`localhost` PROCEDURE `sp2`()
BEGIN
declare a datetime;
set a = '2005-03-14 01:01:02';
insert into temp_table values(a);
-END
+END latin1 latin1_swedish_ci latin1_swedish_ci
set @@sql_mode = 'traditional';
CALL sp2 ();
SELECT * from temp_table;
@@ -20498,15 +21977,15 @@ set b = 5;
SELECT not 1 between a and b;
END//
show CREATE PROCEDURE sp3;
-Procedure sql_mode Create Procedure
-sp3 HIGH_NOT_PRECEDENCE CREATE PROCEDURE `sp3`()
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+sp3 HIGH_NOT_PRECEDENCE CREATE DEFINER=`root`@`localhost` PROCEDURE `sp3`()
BEGIN
declare a int signed;
declare b int unsigned;
set a = -5;
set b = 5;
SELECT not 1 between a and b;
-END
+END latin1 latin1_swedish_ci latin1_swedish_ci
set @@sql_mode='';
CALL sp3();
not 1 between a and b
@@ -20541,8 +22020,8 @@ set c = b/a;
show warnings;
END//
show CREATE PROCEDURE sp4;
-Procedure sql_mode Create Procedure
-sp4 REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ANSI,ERROR_FOR_DIVISION_BY_ZERO CREATE PROCEDURE "sp4"()
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+sp4 REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ANSI,ERROR_FOR_DIVISION_BY_ZERO CREATE DEFINER="root"@"localhost" PROCEDURE "sp4"()
BEGIN
declare a int;
declare b int;
@@ -20551,7 +22030,7 @@ set a = 0;
set b = 1;
set c = b/a;
show warnings;
-END
+END latin1 latin1_swedish_ci latin1_swedish_ci
set @@sql_mode='';
CALL sp4();
Level Code Message
@@ -20589,37 +22068,37 @@ set @x=i1;
set @y=@x;
END//
show CREATE PROCEDURE sp6a;
-Procedure sql_mode Create Procedure
-sp6a CREATE PROCEDURE `sp6a`(i1 longtext, out i2 mediumint , inout i3 longblob, in i4 year, out i5 real)
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+sp6a CREATE DEFINER=`root`@`localhost` PROCEDURE `sp6a`(i1 longtext, out i2 mediumint , inout i3 longblob, in i4 year, out i5 real)
BEGIN
set @x=i1;
set @y=@x;
-END
+END latin1 latin1_swedish_ci latin1_swedish_ci
show CREATE PROCEDURE sp6b;
-Procedure sql_mode Create Procedure
-sp6b CREATE PROCEDURE `sp6b`(out i1 longtext, out i2 mediumint , out i3 longblob, out i4 year, out i5 real)
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+sp6b CREATE DEFINER=`root`@`localhost` PROCEDURE `sp6b`(out i1 longtext, out i2 mediumint , out i3 longblob, out i4 year, out i5 real)
DETERMINISTIC
BEGIN
set @x=i1;
set @y=@x;
-END
+END latin1 latin1_swedish_ci latin1_swedish_ci
show CREATE PROCEDURE sp6c;
-Procedure sql_mode Create Procedure
-sp6c CREATE PROCEDURE `sp6c`(inout i1 longtext, inout i2 mediumint , inout i3 longblob, inout i4 year, inout i5 real)
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+sp6c CREATE DEFINER=`root`@`localhost` PROCEDURE `sp6c`(inout i1 longtext, inout i2 mediumint , inout i3 longblob, inout i4 year, inout i5 real)
COMMENT 'this is a comment'
BEGIN
set @x=i1;
set @y=@x;
-END
+END latin1 latin1_swedish_ci latin1_swedish_ci
SHOW PROCEDURE status like 'sp6a';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp6a PROCEDURE root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp6a PROCEDURE root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
SHOW PROCEDURE status like 'sp6b';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp6b PROCEDURE root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp6b PROCEDURE root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
SHOW PROCEDURE status like 'sp6c';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp6c PROCEDURE root@localhost modified created DEFINER this is a comment
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp6c PROCEDURE root@localhost modified created DEFINER this is a comment latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE sp6a;
DROP PROCEDURE sp6b;
DROP PROCEDURE sp6c;
@@ -20633,8 +22112,8 @@ set @x=i1;
set @y=@x;
END//
SHOW PROCEDURE status like 'sp6';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp6 PROCEDURE root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp6 PROCEDURE root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE sp6;
Testcase 4.8.3:
@@ -20659,8 +22138,8 @@ set @y=@x;
return 0;
END//
show function status like 'sp6';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp6 FUNCTION root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp6 FUNCTION root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION sp6;
Testcase 4.8.5:
@@ -20673,7 +22152,7 @@ Testcase 4.8.6:
--------------------------------------------------------------------------------
DROP PROCEDURE IF EXISTS sp6;
show procedure status like 'sp6';
-Db Name Type Definer Modified Created Security_type Comment
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
Testcase 4.8.7:
--------------------------------------------------------------------------------
@@ -20694,7 +22173,7 @@ BEGIN
return i1;
END//
show procedure status like 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
DROP FUNCTION fn1;
Testcase 4.8.9:
@@ -20708,8 +22187,8 @@ BEGIN
return i1;
END//
SHOW FUNCTION STATUS LIKE 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc fn1 FUNCTION root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc fn1 FUNCTION root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION fn1;
Testcase 4.8.11:
@@ -20738,7 +22217,7 @@ Testcase 4.8.13:
--------------------------------------------------------------------------------
DROP FUNCTION IF EXISTS f1000;
SHOW FUNCTION STATUS LIKE 'f1000';
-Db Name Type Definer Modified Created Security_type Comment
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
Testcase 4.8.14:
--------------------------------------------------------------------------------
@@ -20760,7 +22239,7 @@ set @x=i1;
set @y=@x;
END//
show function status like 'sp6';
-Db Name Type Definer Modified Created Security_type Comment
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
DROP PROCEDURE sp6;
Testcase 4.8.16:
@@ -20777,8 +22256,8 @@ END//
alter procedure sp6 sql security invoker;
alter procedure sp6 comment 'this is a new comment';
SHOW PROCEDURE status like 'sp6';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp6 PROCEDURE root@localhost modified created INVOKER this is a new comment
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp6 PROCEDURE root@localhost modified created INVOKER this is a new comment latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE sp6;
Testcase 4.8.18:
@@ -20790,12 +22269,12 @@ return x;
END//
alter function fn1 sql security invoker;
show create function fn1;
-Function sql_mode Create Function
-fn1 CREATE FUNCTION `fn1`(x int) RETURNS int(11)
+Function sql_mode Create Function character_set_client collation_connection Database Collation
+fn1 CREATE DEFINER=`root`@`localhost` FUNCTION `fn1`(x int) RETURNS int(11)
SQL SECURITY INVOKER
BEGIN
return x;
-END
+END latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION fn1;
Testcase 4.8.19:
@@ -20808,8 +22287,8 @@ END//
alter function fn1 sql security invoker;
alter function fn1 comment 'this is a function 3242#@%$#@';
show function status like 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc fn1 FUNCTION root@localhost modified created INVOKER this is a function 3242#@%$#@
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc fn1 FUNCTION root@localhost modified created INVOKER this is a function 3242#@%$#@ latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION fn1;
Testcase 4.8.20:
@@ -20822,13 +22301,13 @@ set @y=@x;
END//
alter procedure sp6 comment 'this is simple';
show CREATE PROCEDURE sp6;
-Procedure sql_mode Create Procedure
-sp6 CREATE PROCEDURE `sp6`(i1 int , i2 int)
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+sp6 CREATE DEFINER=`root`@`localhost` PROCEDURE `sp6`(i1 int , i2 int)
COMMENT 'this is simple'
BEGIN
set @x=i1;
set @y=@x;
-END
+END latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE sp6;
Testcase 4.8.21:
@@ -20853,7 +22332,7 @@ set @y=@x;
END//
DROP PROCEDURE sp6;
SHOW PROCEDURE status like 'sp6';
-Db Name Type Definer Modified Created Security_type Comment
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
Testcase 4.8.23:
--------------------------------------------------------------------------------
@@ -20875,7 +22354,7 @@ return i1;
END//
DROP FUNCTION fn1;
SHOW FUNCTION STATUS LIKE 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
Section 3.1.9 - Routine body checks:
--------------------------------------------------------------------------------
@@ -20894,16 +22373,16 @@ SELECT * from t9 limit 0, 100;
END//
CALL sp6 (10, 20, 30, 40, 50);
f1 f2 f3
--5000 a` -5000
--4999 aaa -4999
--4998 abaa -4998
--4997 acaaa -4997
--4996 adaaaa -4996
--4995 aeaaaaa -4995
--4994 afaaaaaa -4994
--4993 agaaaaaaa -4993
--4992 a^aaaaaaaa -4992
-4991 a_aaaaaaaaa -4991
+-4992 a^aaaaaaaa -4992
+-4993 agaaaaaaa -4993
+-4994 afaaaaaa -4994
+-4995 aeaaaaa -4995
+-4996 adaaaa -4996
+-4997 acaaa -4997
+-4998 abaa -4998
+-4999 aaa -4999
+-5000 a` -5000
DROP PROCEDURE sp6;
Testcase 4.9.2:
@@ -21363,9 +22842,16 @@ until done END repeat;
SELECT done;
close cur1;
END//
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+CALL h1();
+done
+0
+done
+1
+done
+1
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.14:
--------------------------------------------------------------------------------
@@ -21392,9 +22878,16 @@ until done END repeat;
SELECT done;
close cur1;
END//
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+CALL h1();
+done
+0
+done
+1
+done
+1
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.15:
--------------------------------------------------------------------------------
@@ -21422,9 +22915,16 @@ until done END repeat;
SELECT done;
close cur1;
END//
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+CALL h1();
+done
+0
+@x=1
+0
+done
+1
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.16:
--------------------------------------------------------------------------------
@@ -21452,17 +22952,16 @@ until done END repeat;
SELECT done;
close cur1;
END//
-CALL h1()
-# cleanup;
+CALL h1();
done
0
@x=1
0
done
1
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.17:
--------------------------------------------------------------------------------
@@ -21490,9 +22989,9 @@ done
0
done
1
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.18:
--------------------------------------------------------------------------------
@@ -21520,9 +23019,9 @@ done
0
done
1
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.19:
--------------------------------------------------------------------------------
@@ -21550,9 +23049,9 @@ END//
CALL h1();
done
0
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.20:
--------------------------------------------------------------------------------
@@ -21580,9 +23079,9 @@ END//
CALL h1();
done
0
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.21:
--------------------------------------------------------------------------------
@@ -21610,9 +23109,9 @@ done
0
done
1
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.22:
--------------------------------------------------------------------------------
@@ -21641,9 +23140,9 @@ done
0
done @x
1 1
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.23:
--------------------------------------------------------------------------------
@@ -21671,9 +23170,9 @@ END//
CALL h1();
done
0
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.24:
--------------------------------------------------------------------------------
@@ -21701,9 +23200,9 @@ END//
CALL h1();
done
0
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.25:
--------------------------------------------------------------------------------
@@ -21728,9 +23227,9 @@ END//
CALL h1();
done @x
1 1
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.26:
--------------------------------------------------------------------------------
@@ -21755,9 +23254,9 @@ END//
CALL h1();
done @x
1 1
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.27:
--------------------------------------------------------------------------------
@@ -21780,9 +23279,9 @@ set @x=1;
SELECT done, @x;
END//
CALL h1();
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.28:
--------------------------------------------------------------------------------
@@ -21805,9 +23304,9 @@ set @x=1;
SELECT done, @x;
END//
CALL h1();
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+drop table IF EXISTS res_t1;
+drop table IF EXISTS res_t2;
Testcase 4.11.29:
--------------------------------------------------------------------------------
@@ -21835,9 +23334,9 @@ END//
CALL h1();
done @x
1 1
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+drop table IF EXISTS res_t1;
+drop table IF EXISTS res_t2;
Testcase 4.11.30:
--------------------------------------------------------------------------------
@@ -21865,9 +23364,9 @@ END//
CALL h1();
done @x
1 1
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+drop table IF EXISTS res_t1;
+drop table IF EXISTS res_t2;
Testcase 4.11.31:
--------------------------------------------------------------------------------
@@ -21893,9 +23392,9 @@ set @x=1;
SELECT done, @x;
END//
CALL h1();
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+drop table IF EXISTS res_t1;
+drop table IF EXISTS res_t2;
Testcase 4.11.32:
--------------------------------------------------------------------------------
@@ -21921,9 +23420,9 @@ set @x=1;
SELECT done, @x;
END//
CALL h1();
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.33:
--------------------------------------------------------------------------------
@@ -21948,7 +23447,7 @@ set @x=1;
SELECT done, @x;
END//
ERROR 42000: Duplicate condition: condname
-drop table res_t1;
+DROP TABLE IF EXISTS res_t1;
Testcase 4.11.35:
--------------------------------------------------------------------------------
@@ -21973,7 +23472,21 @@ insert into res_t1 values (3, 'c');
END begin2_label;
END begin1_label//
ERROR 42000: Bad SQLSTATE: '020'
-drop table res_t1;
+CREATE PROCEDURE h1 ()
+begin1_label:BEGIN
+declare condname1 condition for sqlstate '020';
+declare condname2 condition for sqlstate 'wewe';
+declare condname3 condition for 9999;
+set @var2 = 1;
+insert into res_t1 values (2, 'b');
+begin2_label: BEGIN
+declare continue handler for sqlstate '90000023' set @var3= 1;
+set @var4 = 1;
+insert into res_t1 values (3, 'c');
+END begin2_label;
+END begin1_label//
+ERROR 42000: Bad SQLSTATE: '020'
+DROP TABLE IF EXISTS res_t1;
Testcase 4.11.36:
--------------------------------------------------------------------------------
@@ -21989,7 +23502,7 @@ set x1 = 2;
END;
SELECT @x, x1;
END//
-DROP PROCEDURE h1;
+DROP PROCEDURE IF EXISTS h1;
Testcase 4.11.40:
--------------------------------------------------------------------------------
@@ -22010,7 +23523,7 @@ declare exit handler for condname2 set x5 = 1;
END//
ERROR 42000: Duplicate handler declared in the same block
DROP PROCEDURE IF EXISTS h1;
-drop table res_t1;
+DROP TABLE IF EXISTS res_t1;
Testcase 4.11.41:
--------------------------------------------------------------------------------
@@ -22026,6 +23539,9 @@ set x1 = 2;
END;
SELECT @x, x1;
END//
+CALL h1();
+@x x1
+0 2
DROP PROCEDURE IF EXISTS h1;
* Testcase 3.1.2.53 (4.11.42):
@@ -22076,8 +23592,8 @@ CALL h1();
SELECT @done, @x;
@done @x
1 1
-DROP PROCEDURE h1;
-DROP TABLE res_t1;
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
--source suite/funcs_1/storedproc/cleanup_sp_tb.inc
--------------------------------------------------------------------------------
diff --git a/mysql-test/suite/funcs_1/r/myisam_storedproc_02.result b/mysql-test/suite/funcs_1/r/myisam_storedproc_02.result
index b314b6c7f1a..7458e55007d 100755..100644
--- a/mysql-test/suite/funcs_1/r/myisam_storedproc_02.result
+++ b/mysql-test/suite/funcs_1/r/myisam_storedproc_02.result
@@ -1,8 +1,6 @@
--source suite/funcs_1/storedproc/load_sp_tb.inc
--------------------------------------------------------------------------------
-SET @@global.max_heap_table_size=4294967295;
-SET @@session.max_heap_table_size=4294967295;
--source suite/funcs_1/storedproc/cleanup_sp_tb.inc
--------------------------------------------------------------------------------
@@ -11,20 +9,25 @@ 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 = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t1;
-create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t2;
-create table t3(f1 char(20),f2 char(20),f3 integer) engine = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t3.txt' into table t3;
-create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t4;
+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_ln/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_ln/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_ln/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_ln/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 = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t6;
+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_ln/funcs_1/t4.txt' into table t6;
USE db_storedproc;
-create table t7 (f1 char(20), f2 char(25), f3 date, f4 int) engine = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t7;
+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_ln/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
@@ -36,8 +39,9 @@ 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 = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t8;
+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_ln/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
@@ -49,12 +53,14 @@ 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 = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t9.txt' into table t9;
-create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t10;
-create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t11;
+create table t9(f1 int, f2 char(25), f3 int) engine = <engine_to_be_tested>;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/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_ln/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_ln/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:
@@ -700,7 +706,7 @@ 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
+“01“ is always exactly equivalent in action to a handler with an SQLWARNING
condition.
--------------------------------------------------------------------------------
DROP PROCEDURE IF EXISTS sp0;
@@ -799,7 +805,7 @@ 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
+“02“ is always exactly equivalent in action to a handler with a NOT FOUND
condition.
--------------------------------------------------------------------------------
DROP PROCEDURE IF EXISTS sp0;
@@ -907,7 +913,7 @@ 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
+anything other that “01“ or “02“ is always exactly equivalent in action to a
handler with an SQLEXCEPTION condition.
--------------------------------------------------------------------------------
DROP PROCEDURE IF EXISTS sp0;
@@ -1196,16 +1202,16 @@ declare cur2 cursor for SELECT f1, f2, f4, f5 from t2 where f4 >= -5000 order by
open cur1;
open cur2;
BEGIN
-declare continue handler for sqlstate '02000' set count=1;
+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;
+set count = 4;
BEGIN
-while count> 0 do
+while count > 0 do
fetch cur1 into newf1, newf2, newf4, newf5;
SELECT '-2-', count, newf1, newf2, newf4, newf5;
-set count = count- 1;
+set count = count - 1;
END while;
SELECT '-3-', count, newf1, newf2, newf4, newf4;
END;
diff --git a/mysql-test/suite/funcs_1/r/myisam_storedproc_03.result b/mysql-test/suite/funcs_1/r/myisam_storedproc_03.result
index e20c32967e9..53e25441e2e 100755..100644
--- a/mysql-test/suite/funcs_1/r/myisam_storedproc_03.result
+++ b/mysql-test/suite/funcs_1/r/myisam_storedproc_03.result
@@ -1,8 +1,6 @@
--source suite/funcs_1/storedproc/load_sp_tb.inc
--------------------------------------------------------------------------------
-SET @@global.max_heap_table_size=4294967295;
-SET @@session.max_heap_table_size=4294967295;
--source suite/funcs_1/storedproc/cleanup_sp_tb.inc
--------------------------------------------------------------------------------
@@ -11,20 +9,25 @@ 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 = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t1;
-create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t2;
-create table t3(f1 char(20),f2 char(20),f3 integer) engine = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t3.txt' into table t3;
-create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t4;
+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_ln/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_ln/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_ln/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_ln/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 = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t6;
+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_ln/funcs_1/t4.txt' into table t6;
USE db_storedproc;
-create table t7 (f1 char(20), f2 char(25), f3 date, f4 int) engine = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t7;
+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_ln/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
@@ -36,8 +39,9 @@ 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 = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t8;
+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_ln/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
@@ -49,12 +53,14 @@ 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 = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t9.txt' into table t9;
-create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t10;
-create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t11;
+create table t9(f1 int, f2 char(25), f3 int) engine = <engine_to_be_tested>;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/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_ln/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_ln/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:
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 11b1d3873b3..88bddf68e24 100644
--- a/mysql-test/suite/funcs_1/r/myisam_storedproc_06.result
+++ b/mysql-test/suite/funcs_1/r/myisam_storedproc_06.result
@@ -1,8 +1,6 @@
--source suite/funcs_1/storedproc/load_sp_tb.inc
--------------------------------------------------------------------------------
-SET @@global.max_heap_table_size=4294967295;
-SET @@session.max_heap_table_size=4294967295;
--source suite/funcs_1/storedproc/cleanup_sp_tb.inc
--------------------------------------------------------------------------------
@@ -11,20 +9,25 @@ 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 = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t1;
-create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t2;
-create table t3(f1 char(20),f2 char(20),f3 integer) engine = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t3.txt' into table t3;
-create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t4;
+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_ln/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_ln/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_ln/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_ln/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 = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t6;
+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_ln/funcs_1/t4.txt' into table t6;
USE db_storedproc;
-create table t7 (f1 char(20), f2 char(25), f3 date, f4 int) engine = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t7;
+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_ln/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
@@ -36,8 +39,9 @@ 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 = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t8;
+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_ln/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
@@ -49,12 +53,14 @@ 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 = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t9.txt' into table t9;
-create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t10;
-create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t11;
+create table t9(f1 int, f2 char(25), f3 int) engine = <engine_to_be_tested>;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/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_ln/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_ln/funcs_1/t4.txt' into table t11;
Section 3.1.6 - Privilege Checks:
--------------------------------------------------------------------------------
@@ -81,6 +87,7 @@ 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';
@@ -92,6 +99,7 @@ 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';
@@ -117,6 +125,7 @@ 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';
diff --git a/mysql-test/suite/funcs_1/r/myisam_storedproc_07.result b/mysql-test/suite/funcs_1/r/myisam_storedproc_07.result
index e4330211306..c4e8082fd7d 100755..100644
--- a/mysql-test/suite/funcs_1/r/myisam_storedproc_07.result
+++ b/mysql-test/suite/funcs_1/r/myisam_storedproc_07.result
@@ -1,8 +1,6 @@
--source suite/funcs_1/storedproc/load_sp_tb.inc
--------------------------------------------------------------------------------
-SET @@global.max_heap_table_size=4294967295;
-SET @@session.max_heap_table_size=4294967295;
--source suite/funcs_1/storedproc/cleanup_sp_tb.inc
--------------------------------------------------------------------------------
@@ -11,20 +9,25 @@ 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 = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t1;
-create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t2;
-create table t3(f1 char(20),f2 char(20),f3 integer) engine = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t3.txt' into table t3;
-create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t4;
+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_ln/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_ln/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_ln/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_ln/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 = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t6;
+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_ln/funcs_1/t4.txt' into table t6;
USE db_storedproc;
-create table t7 (f1 char(20), f2 char(25), f3 date, f4 int) engine = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t7;
+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_ln/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
@@ -36,8 +39,9 @@ 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 = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t8;
+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_ln/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
@@ -49,12 +53,14 @@ 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 = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t9.txt' into table t9;
-create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t10;
-create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t11;
+create table t9(f1 int, f2 char(25), f3 int) engine = <engine_to_be_tested>;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/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_ln/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_ln/funcs_1/t4.txt' into table t11;
Section 3.1.7 - SQL mode checks:
--------------------------------------------------------------------------------
@@ -90,7 +96,7 @@ INSERT INTO result VALUES (@cur_val_sql_mode, 'value not restored');
END if;
END//
SHOW CREATE PROCEDURE sp1;
-Procedure sql_mode Create Procedure
+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 CREATE DEFINER=`root`@`localhost` PROCEDURE `sp1`()
BEGIN
declare a tinyint;
@@ -104,7 +110,7 @@ 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
+END latin1 latin1_swedish_ci latin1_swedish_ci
set @@sql_mode='';
SHOW VARIABLES LIKE 'sql_mode';
Variable_name Value
@@ -143,12 +149,12 @@ SET @@sql_mode='MAXDB';
SHOW VARIABLES LIKE 'sql_mode';
END//
SHOW CREATE PROCEDURE sp2;
-Procedure sql_mode Create Procedure
+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 CREATE DEFINER=`root`@`localhost` PROCEDURE `sp2`()
BEGIN
SET @@sql_mode='MAXDB';
SHOW VARIABLES LIKE 'sql_mode';
-END
+END latin1 latin1_swedish_ci latin1_swedish_ci
... show value prior calling procedure
SHOW VARIABLES LIKE 'sql_mode';
Variable_name Value
diff --git a/mysql-test/suite/funcs_1/r/myisam_storedproc_08.result b/mysql-test/suite/funcs_1/r/myisam_storedproc_08.result
index 4dda7ef69ae..0bed3989f13 100755..100644
--- a/mysql-test/suite/funcs_1/r/myisam_storedproc_08.result
+++ b/mysql-test/suite/funcs_1/r/myisam_storedproc_08.result
@@ -1,8 +1,6 @@
--source suite/funcs_1/storedproc/load_sp_tb.inc
--------------------------------------------------------------------------------
-SET @@global.max_heap_table_size=4294967295;
-SET @@session.max_heap_table_size=4294967295;
--source suite/funcs_1/storedproc/cleanup_sp_tb.inc
--------------------------------------------------------------------------------
@@ -11,20 +9,25 @@ 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 = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t1;
-create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t2;
-create table t3(f1 char(20),f2 char(20),f3 integer) engine = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t3.txt' into table t3;
-create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t4;
+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_ln/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_ln/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_ln/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_ln/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 = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t6;
+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_ln/funcs_1/t4.txt' into table t6;
USE db_storedproc;
-create table t7 (f1 char(20), f2 char(25), f3 date, f4 int) engine = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t7;
+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_ln/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
@@ -36,8 +39,9 @@ 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 = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t8;
+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_ln/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
@@ -49,12 +53,14 @@ 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 = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t9.txt' into table t9;
-create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t10;
-create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t11;
+create table t9(f1 int, f2 char(25), f3 int) engine = <engine_to_be_tested>;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/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_ln/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_ln/funcs_1/t4.txt' into table t11;
Section 3.1.8 - SHOW statement checks:
--------------------------------------------------------------------------------
@@ -122,6 +128,9 @@ 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 NULL
ROUTINE_SCHEMA db_storedproc
@@ -146,6 +155,9 @@ 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 NULL
ROUTINE_SCHEMA db_storedproc
@@ -168,6 +180,9 @@ 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 NULL
ROUTINE_SCHEMA db_storedproc
@@ -190,6 +205,9 @@ 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
@@ -199,6 +217,9 @@ 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
@@ -210,6 +231,9 @@ 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
@@ -217,6 +241,9 @@ 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
@@ -226,6 +253,9 @@ Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_2`(i1 int)
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
@@ -235,6 +265,9 @@ 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
@@ -243,6 +276,9 @@ 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
@@ -252,6 +288,9 @@ 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
@@ -260,6 +299,9 @@ 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:
--------------------------
@@ -304,6 +346,9 @@ 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 NULL
ROUTINE_SCHEMA db_storedproc
@@ -328,6 +373,9 @@ 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 NULL
ROUTINE_SCHEMA db_storedproc
@@ -350,6 +398,9 @@ 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 NULL
ROUTINE_SCHEMA db_storedproc
@@ -372,6 +423,9 @@ 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
@@ -384,6 +438,9 @@ 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
@@ -395,6 +452,9 @@ 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
@@ -404,6 +464,9 @@ 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
@@ -413,6 +476,9 @@ Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_2`(i1 int)
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
@@ -422,6 +488,9 @@ 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
@@ -430,6 +499,9 @@ 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
@@ -439,6 +511,9 @@ 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
@@ -447,6 +522,9 @@ 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:
--------------------------------------------
@@ -479,6 +557,9 @@ 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 NULL
ROUTINE_SCHEMA db_storedproc
@@ -503,6 +584,9 @@ 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 NULL
ROUTINE_SCHEMA db_storedproc
@@ -525,6 +609,9 @@ 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 NULL
ROUTINE_SCHEMA db_storedproc
@@ -547,6 +634,9 @@ 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
@@ -559,6 +649,9 @@ 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
@@ -569,6 +662,9 @@ 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
@@ -578,6 +674,9 @@ 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
@@ -587,6 +686,9 @@ Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_2`(i1 int)
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
@@ -596,6 +698,9 @@ 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
@@ -604,6 +709,9 @@ 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
@@ -613,6 +721,9 @@ 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
@@ -621,6 +732,9 @@ 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
-----------
diff --git a/mysql-test/suite/funcs_1/r/myisam_storedproc_10.result b/mysql-test/suite/funcs_1/r/myisam_storedproc_10.result
index f41d5d7d440..163bae36bed 100755..100644
--- a/mysql-test/suite/funcs_1/r/myisam_storedproc_10.result
+++ b/mysql-test/suite/funcs_1/r/myisam_storedproc_10.result
@@ -1,8 +1,6 @@
--source suite/funcs_1/storedproc/load_sp_tb.inc
--------------------------------------------------------------------------------
-SET @@global.max_heap_table_size=4294967295;
-SET @@session.max_heap_table_size=4294967295;
--source suite/funcs_1/storedproc/cleanup_sp_tb.inc
--------------------------------------------------------------------------------
@@ -11,20 +9,25 @@ 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 = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t1;
-create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t2;
-create table t3(f1 char(20),f2 char(20),f3 integer) engine = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t3.txt' into table t3;
-create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t4;
+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_ln/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_ln/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_ln/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_ln/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 = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t6;
+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_ln/funcs_1/t4.txt' into table t6;
USE db_storedproc;
-create table t7 (f1 char(20), f2 char(25), f3 date, f4 int) engine = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t7;
+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_ln/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
@@ -36,8 +39,9 @@ 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 = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t8;
+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_ln/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
@@ -49,12 +53,14 @@ 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 = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t9.txt' into table t9;
-create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t10;
-create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t11;
+create table t9(f1 int, f2 char(25), f3 int) engine = <engine_to_be_tested>;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/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_ln/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_ln/funcs_1/t4.txt' into table t11;
Section 3.1.10 - CALL checks:
--------------------------------------------------------------------------------
@@ -95,6 +101,8 @@ 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();
@@ -114,6 +122,8 @@ 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';
@@ -131,6 +141,7 @@ 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;
@@ -178,6 +189,8 @@ 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()
@@ -205,49 +218,72 @@ 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 ORDER BY f4;
+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
-a^aaaaaaaa a^aaaaaaaa 1000-01-09 -4992 a^aaaaaaaa -4992
-a_aaaaaaaaa a_aaaaaaaaa 1000-01-10 -4991 a_aaaaaaaaa -4991
-abc abc 2005-10-03 100 uvw 1000
CALL sp_ins_3();
SELECT row_count();
row_count()
1
-SELECT * FROM temp ORDER BY f4;
+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
-a^aaaaaaaa a^aaaaaaaa 1000-01-09 -4992 a^aaaaaaaa -4992
-a_aaaaaaaaa a_aaaaaaaaa 1000-01-10 -4991 a_aaaaaaaaa -4991
-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
CALL sp_upd();
SELECT row_count();
row_count()
4
-SELECT * FROM temp ORDER BY f4;
+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
@@ -256,8 +292,6 @@ 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
-a^aaaaaaaa a^aaaaaaaa 1000-01-09 -4992 a^aaaaaaaa -4992
-a_aaaaaaaaa a_aaaaaaaaa 1000-01-10 -4991 a_aaaaaaaaa -4991
updated abc 2005-10-03 100 uvw 1000
updated xyz 1949-05-23 100 uvw 1000
updated xyz 1989-11-09 100 uvw 1000
@@ -279,8 +313,10 @@ COUNT( f1 ) f1
SELECT row_count();
row_count()
3
-SELECT * FROM temp ORDER BY f4;
+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
@@ -289,26 +325,73 @@ 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
-a^aaaaaaaa a^aaaaaaaa 1000-01-09 -4992 a^aaaaaaaa -4992
-a_aaaaaaaaa a_aaaaaaaaa 1000-01-10 -4991 a_aaaaaaaaa -4991
+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
-qwe xyz 1998-03-26 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()
+-1
+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
+Ensure that the mysql_affected_rows() C API function always returns the correct
number of rows affected by the execution of a stored procedure.
--------------------------------------------------------------------------------
diff --git a/mysql-test/suite/funcs_1/r/myisam_trig_0102.result b/mysql-test/suite/funcs_1/r/myisam_trig_0102.result
index eb5ae2e5b92..5e25510cd0f 100644
--- a/mysql-test/suite/funcs_1/r/myisam_trig_0102.result
+++ b/mysql-test/suite/funcs_1/r/myisam_trig_0102.result
@@ -1,97 +1,97 @@
-SET @NO_REFRESH = IF( '' = '', 0, 1);
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 tinytext,
-f122 text,
-f123 mediumtext,
-f124 longtext unicode,
-f125 tinyblob,
-f126 blob,
-f127 mediumblob,
-f128 longblob,
-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)
+f118 char not null DEFAULT 'a',
+f119 char binary not null DEFAULT b'101',
+f120 char ascii not null DEFAULT b'101',
+f121 tinytext,
+f122 text,
+f123 mediumtext,
+f124 longtext unicode,
+f125 tinyblob,
+f126 blob,
+f127 mediumblob,
+f128 longblob,
+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 = myisam;
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 'MYSQL_TEST_DIR/suite/funcs_1/data/myisam_tb3.txt' into table tb3 ;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/myisam_tb3.txt'
+into table tb3;
Testcase: 3.5.1.1:
------------------
use test;
-Create trigger trg1_1 BEFORE INSERT
+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
+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,
+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
+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
+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
+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)
+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
@@ -104,9 +104,9 @@ 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
+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
@@ -114,7 +114,7 @@ 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)
+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;
@@ -142,7 +142,7 @@ delete from tb3 where f121='Test 3.5.1.1';
Testcase: 3.5.1.2:
------------------
-Create trigger trg_1 after insert
+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;
@@ -195,7 +195,7 @@ drop table if exists t1;
Warnings:
Note 1051 Unknown table 't1'
create table t1 (f1 int, f2 char(25),f3 int) engine=myisam;
-CREATE TRIGGER trg5_1 BEFORE INSERT on test.t1
+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';
@@ -232,7 +232,7 @@ 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
+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;
@@ -240,11 +240,11 @@ create database trig_db;
use trig_db;
create table t1 (f1 integer) engine = myisam;
use test;
-CREATE TRIGGER trig_db.trg6_2 AFTER INSERT on tb3
+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
+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;
@@ -268,9 +268,9 @@ drop table if exists t1;
drop table if exists t2;
create table t1 (f1 char(50), f2 integer) engine = myisam;
create table t2 (f1 char(50), f2 integer) engine = myisam;
-create trigger trig before insert on t1
+create trigger trig before insert on t1
for each row set new.f1 ='trig t1';
-create trigger trig before update on t2
+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);
@@ -300,15 +300,15 @@ create database trig_db2;
create database trig_db3;
use trig_db1;
create table t1 (f1 char(50), f2 integer) engine = myisam;
-create trigger trig before insert on t1
+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 = myisam;
-create trigger trig before insert on t2
+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 = myisam;
-create trigger trig before insert on t1
+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;
@@ -347,11 +347,11 @@ create database trig_db2;
use trig_db1;
create table t1 (f1 char(50), f2 integer) engine = myisam;
create table trig_db2.t1 (f1 char(50), f2 integer) engine = myisam;
-create trigger trig1_b before insert on t1
+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
+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
+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 order by trigger_name;
@@ -367,3 +367,4 @@ select @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/myisam_trig_03.result b/mysql-test/suite/funcs_1/r/myisam_trig_03.result
index 73befa606c9..211bb4dec70 100644
--- a/mysql-test/suite/funcs_1/r/myisam_trig_03.result
+++ b/mysql-test/suite/funcs_1/r/myisam_trig_03.result
@@ -1,71 +1,71 @@
-SET @NO_REFRESH = IF( '' = '', 0, 1);
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 tinytext,
-f122 text,
-f123 mediumtext,
-f124 longtext unicode,
-f125 tinyblob,
-f126 blob,
-f127 mediumblob,
-f128 longblob,
-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)
+f118 char not null DEFAULT 'a',
+f119 char binary not null DEFAULT b'101',
+f120 char ascii not null DEFAULT b'101',
+f121 tinytext,
+f122 text,
+f123 mediumtext,
+f124 longtext unicode,
+f125 tinyblob,
+f126 blob,
+f127 mediumblob,
+f128 longblob,
+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 = myisam;
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 'MYSQL_TEST_DIR/suite/funcs_1/data/myisam_tb3.txt' into table tb3 ;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/myisam_tb3.txt'
+into table tb3;
Testcase 3.5.3:
---------------
@@ -104,7 +104,7 @@ 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';
-Got one of the listed errors
+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;
@@ -136,7 +136,7 @@ Testcase 3.5.3.6:
-----------------
use priv_db;
drop trigger trg1_2;
-Got one of the listed errors
+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;
@@ -184,15 +184,14 @@ 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
-
-Trigger create disabled - should fail - Bug 8884
-------------------------------------------------
+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
-insert 3.5.3.7-1a
trig 3.5.3.2_2-yes
trig 3.5.3.2_2-yes
drop trigger trg4a_1;
@@ -210,7 +209,6 @@ 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-1a
trig 3.5.3.2_2-yes
trig 3.5.3.2_2-yes
trig 3.5.3.7-2a
@@ -239,29 +237,27 @@ 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;
-
-Trigger create disabled - should fail - Bug 8884
-------------------------------------------------
+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-1a
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-1a
+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 3.5.3.7-1b
drop trigger trg4b_1;
show grants;
Grants for test_yesprivs@localhost
@@ -275,23 +271,21 @@ 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-1a
+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 3.5.3.7-1b
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-1a
+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
-update 3.5.3.7-1b
drop trigger trg4b_2;
Testcase 3.5.3.7c
@@ -317,21 +311,19 @@ 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;
-
-Trigger create disabled - should fail - Bug 8884
-------------------------------------------------
+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-1a
-insert 3.5.3.7-1c
+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
-update 3.5.3.7-1b
drop trigger trg4c_1;
show grants;
Grants for test_yesprivs@localhost
@@ -345,14 +337,12 @@ 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-1a
-insert 3.5.3.7-1c
+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
-update 3.5.3.7-1b
drop trigger trg4c_2;
Testcase 3.5.3.7d:
@@ -376,23 +366,20 @@ 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;
-
-Trigger create disabled - should fail - Bug 8884
-------------------------------------------------
+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-1a
-insert 3.5.3.7-1c
-insert 3.5.3.7-1d
+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
-update 3.5.3.7-1b
drop trigger trg4d_1;
show grants;
Grants for test_yesprivs@localhost
@@ -406,16 +393,13 @@ 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-1a
-insert 3.5.3.7-1c
-insert 3.5.3.7-1d
+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
-update 3.5.3.7-1b
drop trigger trg4d_2;
Testcase 3.5.3.8a:
@@ -440,14 +424,14 @@ 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 ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-
-Trigger create disabled - should fail - Bug 8887
-------------------------------------------------
+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
@@ -495,15 +479,15 @@ 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;
-
-Trigger create disabled - should fail - Bug 8887
-------------------------------------------------
+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
@@ -550,11 +534,11 @@ 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;
-
-Trigger create disabled - should fail - Bug 8887
-------------------------------------------------
+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
@@ -596,11 +580,11 @@ 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;
-
-Trigger create disabled - should fail - Bug 8887
-------------------------------------------------
+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
@@ -714,3 +698,4 @@ drop database if exists priv_db;
drop user test_yesprivs@localhost;
drop user test_noprivs@localhost;
drop user test_noprivs;
+DROP TABLE test.tb3;
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 fcafd917e62..ebeb487cdb6 100644
--- a/mysql-test/suite/funcs_1/r/myisam_trig_03e.result
+++ b/mysql-test/suite/funcs_1/r/myisam_trig_03e.result
@@ -1,4 +1,3 @@
-SET @NO_REFRESH = IF( '' = '', 0, 1);
USE test;
Testcase for db level:
@@ -263,7 +262,7 @@ select current_user;
current_user
root@localhost
show triggers;
-Trigger Event Table Statement Timing Created sql_mode Definer
+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
@@ -296,7 +295,7 @@ select current_user;
current_user
root@localhost
show triggers;
-Trigger Event Table Statement Timing Created sql_mode Definer
+Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
show tables;
Tables_in_priv_db
t1
@@ -317,7 +316,7 @@ select current_user;
current_user
test_yesprivs@localhost
show triggers;
-Trigger Event Table Statement Timing Created sql_mode Definer
+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;
@@ -453,9 +452,9 @@ ERROR 42000: TRIGGER command denied to user 'test_yesprivs'@'localhost' for tabl
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
-trg1_3 INSERT t1 set new.f1 = 'trig 1_3-yes' BEFORE NULL test_yesprivs@localhost
-trg1_4 UPDATE t1 set new.f1 = 'trig 1_4-yes' BEFORE NULL test_yesprivs@localhost
+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
@@ -570,11 +569,9 @@ current_user
test_yesprivs@localhost
use priv_db;
show triggers;
-Trigger Event Table Statement Timing Created sql_mode Definer
-trg1_1 INSERT t1 set new.f1 = 'trig 1_1-yes' BEFORE NULL test_yesprivs@localhost
+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
-NULL priv_db trg1_1 INSERT NULL priv_db t1 0 NULL set new.f1 = 'trig 1_1-yes' ROW BEFORE NULL NULL OLD NEW NULL test_yesprivs@localhost
+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;
@@ -863,7 +860,7 @@ select current_user;
current_user
root@localhost
show triggers;
-Trigger Event Table Statement Timing Created sql_mode Definer
+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
@@ -878,7 +875,7 @@ select current_user;
current_user
test_yesprivs@localhost
show triggers;
-Trigger Event Table Statement Timing Created sql_mode Definer
+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
@@ -990,9 +987,9 @@ select current_user;
current_user
root@localhost
show triggers;
-Trigger Event Table Statement Timing Created sql_mode Definer
+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
+on priv_db.t1 to test_yesprivs@localhost
with grant option;
grant select
on priv_db.t1 to test_useprivs@localhost;
@@ -1217,7 +1214,7 @@ 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 There is no 'not_ex_user'@'localhost' registered
+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
@@ -1255,7 +1252,7 @@ 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 the SUPER privilege for this operation
-create definer=current_user trigger trg1_1
+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');
@@ -1510,7 +1507,7 @@ 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
+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
diff --git a/mysql-test/suite/funcs_1/r/myisam_trig_0407.result b/mysql-test/suite/funcs_1/r/myisam_trig_0407.result
index e10b5fe919d..ade033fa852 100644
--- a/mysql-test/suite/funcs_1/r/myisam_trig_0407.result
+++ b/mysql-test/suite/funcs_1/r/myisam_trig_0407.result
@@ -1,71 +1,71 @@
-SET @NO_REFRESH = IF( '' = '', 0, 1);
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 tinytext,
-f122 text,
-f123 mediumtext,
-f124 longtext unicode,
-f125 tinyblob,
-f126 blob,
-f127 mediumblob,
-f128 longblob,
-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)
+f118 char not null DEFAULT 'a',
+f119 char binary not null DEFAULT b'101',
+f120 char ascii not null DEFAULT b'101',
+f121 tinytext,
+f122 text,
+f123 mediumtext,
+f124 longtext unicode,
+f125 tinyblob,
+f126 blob,
+f127 mediumblob,
+f128 longblob,
+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 = myisam;
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 'MYSQL_TEST_DIR/suite/funcs_1/data/myisam_tb3.txt' into table tb3 ;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/myisam_tb3.txt'
+into table tb3;
Testcase: 3.5:
--------------
@@ -89,7 +89,7 @@ Use db_drop;
create table t1 (f1 char(30)) engine=myisam;
grant INSERT, SELECT on db_drop.t1 to test_general;
Use db_drop;
-Create trigger trg1 BEFORE INSERT on t1
+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');
@@ -128,7 +128,7 @@ drop table if exists t1_433 ;
drop table if exists t1_433a ;
create table t1_433 (f1 char (30)) engine=myisam;
create table t1_433a (f1a char (5)) engine=myisam;
-CREATE TRIGGER trg3 BEFORE INSERT on t1_433 for each row
+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
@@ -149,7 +149,7 @@ create database db_drop4;
Use db_drop4;
create table t1 (f1 char(30)) engine=myisam;
grant INSERT, SELECT on db_drop4.t1 to test_general;
-Create trigger trg4 BEFORE INSERT on t1
+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');
@@ -185,7 +185,7 @@ create database db_drop5;
Use db_drop5;
create table t1 (f1 char(50)) engine=myisam;
grant INSERT, SELECT on t1 to test_general;
-Create trigger trg5 BEFORE INSERT on t1
+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');
@@ -222,7 +222,7 @@ 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
+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;
@@ -230,7 +230,7 @@ drop table t1_temp;
Testcase 3.5.5.3:
-----------------
Create view vw3 as select f118 from tb3;
-Create trigger trg3 before INSERT
+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;
@@ -311,9 +311,9 @@ drop trigger tb3.trg4_2;
Testcase 3.5.7.5 / 3.5.7.6:
---------------------------
-Create trigger trg5_1 BEFORE INSERT
+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
+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');
@@ -331,9 +331,9 @@ 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
+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
+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;
@@ -359,9 +359,9 @@ delete from tb3 where f121='Test 3.5.7.7/8';
Testcase 3.5.7.9/10:
--------------------
-Create trigger trg7_1 BEFORE UPDATE
+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
+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');
@@ -379,9 +379,9 @@ 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
+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
+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;
@@ -409,9 +409,9 @@ 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
+Create trigger trg9_1 BEFORE DELETE
on tb3 for each row set @test_var=@test_var+1;
-Create trigger trg9_2 BEFORE DELETE
+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;
@@ -441,12 +441,12 @@ 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
+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
+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
+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;
@@ -478,3 +478,4 @@ 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/myisam_trig_08.result b/mysql-test/suite/funcs_1/r/myisam_trig_08.result
index 4f350191099..dcfa0aa7ddf 100644
--- a/mysql-test/suite/funcs_1/r/myisam_trig_08.result
+++ b/mysql-test/suite/funcs_1/r/myisam_trig_08.result
@@ -1,71 +1,71 @@
-SET @NO_REFRESH = IF( '' = '', 0, 1);
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 tinytext,
-f122 text,
-f123 mediumtext,
-f124 longtext unicode,
-f125 tinyblob,
-f126 blob,
-f127 mediumblob,
-f128 longblob,
-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)
+f118 char not null DEFAULT 'a',
+f119 char binary not null DEFAULT b'101',
+f120 char ascii not null DEFAULT b'101',
+f121 tinytext,
+f122 text,
+f123 mediumtext,
+f124 longtext unicode,
+f125 tinyblob,
+f126 blob,
+f127 mediumblob,
+f128 longblob,
+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 = myisam;
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 'MYSQL_TEST_DIR/suite/funcs_1/data/myisam_tb3.txt' into table tb3 ;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/myisam_tb3.txt'
+into table tb3;
Testcase: 3.5:
--------------
@@ -90,17 +90,17 @@ 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 (
+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=myisam;
-create table t1_u (
+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=myisam;
-create table t1_d (
+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,
@@ -123,26 +123,26 @@ Insert into t1_d values ('f',222,99999,999.99);
use test;
Create trigger trg1 AFTER INSERT on tb3 for each row
BEGIN
-insert into db_test.t1_i
+insert into db_test.t1_i
values (new.f120, new.f136, new.f144, new.f163);
-update db_test.t1_u
+update db_test.t1_u
set u144=new.f144, u163=new.f163
-where u136=new.f136;
+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;
+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)
+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 order by i120;
+select * from db_test.t1_i;
i120 i136 i144 i163
1 00222 0000023456 1.050000000000000000000000000000
-select * from db_test.t1_u order by u120;
+select * from db_test.t1_u;
u120 u136 u144 u163
a 00111 0000099999 999.990000000000000000000000000000
b 00222 0000023456 1.050000000000000000000000000000
@@ -150,7 +150,7 @@ 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 order by d120;
+select * from db_test.t1_d;
d120 d136 d144 d163
a 00111 0000099999 999.990000000000000000000000000000
c 00333 0000099999 999.990000000000000000000000000000
@@ -163,7 +163,7 @@ select @test_var;
-----------------------------
Create trigger trg2 BEFORE UPDATE on tb3 for each row
BEGIN
-insert into db_test.t1_i
+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%';
@@ -186,7 +186,7 @@ I 00222 0000023456 1.050000000000000000000000000000
-----------------------------
drop trigger trg2;
Create trigger trg3 BEFORE UPDATE on tb3 for each row
-update db_test.t1_u
+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'
@@ -208,7 +208,7 @@ U 00222 0000023456 1.050000000000000000000000000000
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,
+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%';
@@ -223,10 +223,10 @@ c 00333 0000099999 999.990000000000000000000000000000
-------------------------------
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
+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,
+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%';
@@ -254,31 +254,31 @@ 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
+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
+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
+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
+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
+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
@@ -298,7 +298,7 @@ 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
+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
@@ -340,54 +340,54 @@ ELSE set @test_var=CONCAT(new.f120, '*', new.f144);
END case;
END//
set @test_var='Empty';
-Insert into tb3 (f120, f122, f136, f144)
+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;
+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)
+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;
+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)
+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;
+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)
+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;
+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)
+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;
+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)
+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;
+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
@@ -407,40 +407,40 @@ 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
+BEGIN
set @counter=0, @flag='Initial';
-Label1: loop
+Label1: loop
if new.f136<new.f144 then
set @counter='Nothing to loop';
-leave Label1;
+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;
+end if;
+end if;
+iterate label1;
set @flag='Final';
-END loop Label1;
+END loop Label1;
END//
-Insert into tb3 (f122, f136, f144)
+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)
+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
+BEGIN
+Label1: loop
set @counter=@counter+1;
-END;
+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 ';
+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;
@@ -450,23 +450,23 @@ Testcase 3.5.8.5-repeat:
------------------------
Create trigger trg6 after insert on tb3 for each row
BEGIN
-rp_label: REPEAT
-SET @counter1 = @counter1 + 1;
+rp_label: REPEAT
+SET @counter1 = @counter1 + 1;
IF (@counter1 MOD 2 = 0) THEN ITERATE rp_label;
END IF;
-SET @counter2 = @counter2 + 1;
+SET @counter2 = @counter2 + 1;
UNTIL @counter1> new.f136 END REPEAT rp_label;
END//
set @counter1= 0, @counter2= 0;
-Insert into tb3 (f122, f136)
+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;
+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;
@@ -475,33 +475,63 @@ 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;
+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;
+SET @counter2 = @counter2 + 1;
END WHILE wl_label//
set @counter1= 0, @counter2= 0;
-Insert into tb3 (f122, f136)
+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;
+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;
+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: (Disabled as a result of bug _____)
------------------------------------------------------
+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/myisam_trig_09.result b/mysql-test/suite/funcs_1/r/myisam_trig_09.result
index 6a98e527244..d1af3c562e2 100644
--- a/mysql-test/suite/funcs_1/r/myisam_trig_09.result
+++ b/mysql-test/suite/funcs_1/r/myisam_trig_09.result
@@ -1,75 +1,75 @@
-SET @NO_REFRESH = IF( '' = '', 0, 1);
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 tinytext,
-f122 text,
-f123 mediumtext,
-f124 longtext unicode,
-f125 tinyblob,
-f126 blob,
-f127 mediumblob,
-f128 longblob,
-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)
+f118 char not null DEFAULT 'a',
+f119 char binary not null DEFAULT b'101',
+f120 char ascii not null DEFAULT b'101',
+f121 tinytext,
+f122 text,
+f123 mediumtext,
+f124 longtext unicode,
+f125 tinyblob,
+f126 blob,
+f127 mediumblob,
+f128 longblob,
+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 = myisam;
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 'MYSQL_TEST_DIR/suite/funcs_1/data/myisam_tb3.txt' into table tb3 ;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/myisam_tb3.txt'
+into table tb3;
Testcase 3.5.9.1/2:
-------------------
-Create trigger trg1 BEFORE UPDATE on tb3 for each row
+Create trigger trg1 BEFORE UPDATE on tb3 for each row
set new.f142 = 94087, @counter=@counter+1;
TotalRows
10
@@ -81,15 +81,15 @@ NewValuew
0
set @counter=0;
Update tb3 Set f142='1' where f130<100;
-select count(*) as ExpectedChanged, @counter as TrigCounter
+select count(*) as ExpectedChanged, @counter as TrigCounter
from tb3 where f142=94087;
ExpectedChanged TrigCounter
8 8
-select count(*) as ExpectedNotChange from tb3
+select count(*) as ExpectedNotChange from tb3
where f130<100 and f142<>94087;
ExpectedNotChange
0
-select count(*) as NonExpectedChanged from tb3
+select count(*) as NonExpectedChanged from tb3
where f130>=130 and f142=94087;
NonExpectedChanged
0
@@ -117,17 +117,17 @@ set @tr_var_af_118=old.f118, @tr_var_af_121=old.f121,
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)
+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,
+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,
+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
@@ -138,11 +138,11 @@ a NULL Test 3.5.9.3 7 123.170000000000000000000000000000
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,
+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,
+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
@@ -173,17 +173,17 @@ set @tr_var_af_118=new.f118, @tr_var_af_121=new.f121,
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)
+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
+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,
+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,
+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
@@ -193,17 +193,18 @@ a NULL Test 3.5.9.4 7 999 995.240000000000000000000000000000
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
-select f118, f121, f122, f136, f151, f163 from tb3
+ERROR 23000: 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,
+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,
+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
@@ -241,6 +242,7 @@ 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)
@@ -269,3 +271,4 @@ 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/myisam_trig_1011ext.result b/mysql-test/suite/funcs_1/r/myisam_trig_1011ext.result
index d1ab6daa423..c12b0e0f7ad 100644
--- a/mysql-test/suite/funcs_1/r/myisam_trig_1011ext.result
+++ b/mysql-test/suite/funcs_1/r/myisam_trig_1011ext.result
@@ -1,71 +1,71 @@
-SET @NO_REFRESH = IF( '' = '', 0, 1);
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 tinytext,
-f122 text,
-f123 mediumtext,
-f124 longtext unicode,
-f125 tinyblob,
-f126 blob,
-f127 mediumblob,
-f128 longblob,
-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)
+f118 char not null DEFAULT 'a',
+f119 char binary not null DEFAULT b'101',
+f120 char ascii not null DEFAULT b'101',
+f121 tinytext,
+f122 text,
+f123 mediumtext,
+f124 longtext unicode,
+f125 tinyblob,
+f126 blob,
+f127 mediumblob,
+f128 longblob,
+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 = myisam;
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 'MYSQL_TEST_DIR/suite/funcs_1/data/myisam_tb3.txt' into table tb3 ;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/myisam_tb3.txt'
+into table tb3;
Testcase 3.5.10.1/2/3:
----------------------
@@ -142,7 +142,7 @@ set @counter= 0;
select @counter as 'Rows Loaded Before';
Rows Loaded Before
0
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t9.txt' into table tb_load;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/t9.txt' into table tb_load;
select @counter as 'Rows Loaded After';
Rows Loaded After
10
@@ -298,8 +298,8 @@ drop table t2;
drop table t3;
drop table t4;
-Testcase y.y.y.4: Recursive trigger/SP references (disabled bug 11889)
-----------------------------------------------------------------------
+Testcase y.y.y.4: Recursive trigger/SP references
+-------------------------------------------------
set @sql_mode='traditional';
create table t1_sp (
count integer,
@@ -404,3 +404,4 @@ 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/myisam_triggers.result b/mysql-test/suite/funcs_1/r/myisam_triggers.result
deleted file mode 100644
index 4641fd5f291..00000000000
--- a/mysql-test/suite/funcs_1/r/myisam_triggers.result
+++ /dev/null
@@ -1,2266 +0,0 @@
-SET @NO_REFRESH = IF( '' = '', 0, 1);
-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 tinytext,
-f122 text,
-f123 mediumtext,
-f124 longtext unicode,
-f125 tinyblob,
-f126 blob,
-f127 mediumblob,
-f128 longblob,
-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 = myisam;
-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 'MYSQL_TEST_DIR/suite/funcs_1/data/myisam_tb3.txt' into table tb3 ;
-
-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;
-connect(localhost,test_general,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-connect(localhost,test_super,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-
-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=myisam;
-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';
-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;
-trigger_name
-trg5_1
-trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWX
-drop trigger trg5_1;
-drop trigger trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ;
-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 = myisam;
-use test;
-CREATE TRIGGER trig_db.trg6_2 AFTER INSERT on tb3
-for each row set @ret_trg6_2 = 5;
-ERROR HY000: Trigger in wrong schema
-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 = myisam;
-create table t2 (f1 char(50), f2 integer) engine = myisam;
-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 = myisam;
-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 = myisam;
-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 = myisam;
-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;
-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;
-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 = myisam;
-create table trig_db2.t1 (f1 char(50), f2 integer) engine = myisam;
-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;
-trigger_schema trigger_name event_object_table
-trig_db1 trig1_b t1
-trig_db1 trig1_a 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;
-
-Testcase 3.5.3:
----------------
-drop database if exists priv_db;
-create database priv_db;
-use priv_db;
-create table t1 (f1 char(20));
-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 SUPER 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, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost;
-grant SUPER 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 SUPER ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT SELECT ON `priv_db`.`t1` TO 'test_yesprivs'@'localhost'
-connect(localhost,test_noprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-connect(localhost,test_yesprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-
-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: Access denied; you need the SUPER privilege for this operation
-use priv_db;
-insert into t1 (f1) values ('insert 3.5.3.2-no');
-select f1 from t1;
-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';
-use priv_db;
-insert into t1 (f1) values ('insert 3.5.3.2-yes');
-select f1 from t1;
-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: Access denied; you need the SUPER privilege for this operation
-use priv_db;
-insert into t1 (f1) values ('insert 3.5.3.6-yes');
-select f1 from t1;
-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;
-f1
-insert 3.5.3.2-no
-trig 3.5.3.2_2-yes
-trig 3.5.3.2_2-yes
-insert 3.5.3.6-no
-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 ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost;
-grant SUPER, UPDATE on *.* to test_yesprivs@localhost;
-show grants for test_yesprivs@localhost;
-Grants for test_yesprivs@localhost
-GRANT UPDATE, SUPER ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-connect(localhost,test_noprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-connect(localhost,test_yesprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-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 ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-select f1 from t1;
-f1
-insert 3.5.3.2-no
-trig 3.5.3.2_2-yes
-trig 3.5.3.2_2-yes
-insert 3.5.3.6-no
-
-Trigger create disabled - should fail - Bug 8884
-------------------------------------------------
-insert into t1 (f1) values ('insert 3.5.3.7-1a');
-select f1 from t1;
-f1
-insert 3.5.3.2-no
-trig 3.5.3.2_2-yes
-trig 3.5.3.2_2-yes
-insert 3.5.3.6-no
-insert 3.5.3.7-1a
-drop trigger trg4a_1;
-use priv_db;
-select current_user;
-current_user
-test_yesprivs@localhost
-show grants;
-Grants for test_yesprivs@localhost
-GRANT UPDATE, SUPER 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;
-f1
-insert 3.5.3.2-no
-trig 3.5.3.2_2-yes
-trig 3.5.3.2_2-yes
-insert 3.5.3.6-no
-insert 3.5.3.7-1a
-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 SUPER 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 SUPER ON *.* TO 'test_noprivs'@'%'
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost;
-grant SUPER 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 SUPER ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT UPDATE ON `priv_db`.* TO 'test_yesprivs'@'localhost'
-connect(localhost,test_noprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-connect(localhost,test_yesprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-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 ON `priv_db`.* TO 'test_noprivs'@'localhost'
-use priv_db;
-
-Trigger create disabled - should fail - Bug 8884
-------------------------------------------------
-insert into t1 (f1) values ('insert 3.5.3.7-1b');
-select f1 from t1;
-f1
-insert 3.5.3.2-no
-trig 3.5.3.2_2-yes
-trig 3.5.3.2_2-yes
-insert 3.5.3.6-no
-insert 3.5.3.7-1a
-trig 3.5.3.7-2a
-insert 3.5.3.7-1b
-update t1 set f1 = 'update 3.5.3.7-1b' where f1 = 'insert 3.5.3.7-1b';
-select f1 from t1;
-f1
-insert 3.5.3.2-no
-trig 3.5.3.2_2-yes
-trig 3.5.3.2_2-yes
-insert 3.5.3.6-no
-insert 3.5.3.7-1a
-trig 3.5.3.7-2a
-update 3.5.3.7-1b
-drop trigger trg4b_1;
-show grants;
-Grants for test_yesprivs@localhost
-GRANT SUPER 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;
-f1
-insert 3.5.3.2-no
-trig 3.5.3.2_2-yes
-trig 3.5.3.2_2-yes
-insert 3.5.3.6-no
-insert 3.5.3.7-1a
-trig 3.5.3.7-2a
-update 3.5.3.7-1b
-insert 3.5.3.7-2b
-update t1 set f1 = 'update 3.5.3.7-2b' where f1 = 'insert 3.5.3.7-2b';
-select f1 from t1;
-f1
-insert 3.5.3.2-no
-trig 3.5.3.2_2-yes
-trig 3.5.3.2_2-yes
-insert 3.5.3.6-no
-insert 3.5.3.7-1a
-trig 3.5.3.7-2a
-update 3.5.3.7-1b
-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 SUPER 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 SUPER ON *.* TO 'test_noprivs'@'%'
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost;
-grant SUPER 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 SUPER ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT UPDATE ON `priv_db`.`t1` TO 'test_yesprivs'@'localhost'
-connect(localhost,test_noprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-connect(localhost,test_yesprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-show grants;
-Grants for test_noprivs@localhost
-GRANT SUPER ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT SELECT, INSERT, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE VIEW, SHOW VIEW ON `priv_db`.`t1` TO 'test_noprivs'@'localhost'
-use priv_db;
-
-Trigger create disabled - should fail - Bug 8884
-------------------------------------------------
-insert into t1 (f1) values ('insert 3.5.3.7-1c');
-select f1 from t1;
-f1
-insert 3.5.3.2-no
-trig 3.5.3.2_2-yes
-trig 3.5.3.2_2-yes
-insert 3.5.3.6-no
-insert 3.5.3.7-1a
-trig 3.5.3.7-2a
-update 3.5.3.7-1b
-trig 3.5.3.7-2b
-insert 3.5.3.7-1c
-drop trigger trg4c_1;
-show grants;
-Grants for test_yesprivs@localhost
-GRANT SUPER 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;
-f1
-insert 3.5.3.2-no
-trig 3.5.3.2_2-yes
-trig 3.5.3.2_2-yes
-insert 3.5.3.6-no
-insert 3.5.3.7-1a
-trig 3.5.3.7-2a
-update 3.5.3.7-1b
-trig 3.5.3.7-2b
-insert 3.5.3.7-1c
-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 SUPER 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 SUPER ON *.* TO 'test_noprivs'@'%'
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost;
-grant SUPER 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 SUPER ON *.* TO 'test_noprivs'@'%'
-connect(localhost,test_noprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-connect(localhost,test_yesprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-show grants;
-Grants for test_noprivs@localhost
-GRANT SUPER 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;
-
-Trigger create disabled - should fail - Bug 8884
-------------------------------------------------
-insert into t1 (f1) values ('insert 3.5.3.7-1d');
-select f1 from t1;
-f1
-insert 3.5.3.2-no
-trig 3.5.3.2_2-yes
-trig 3.5.3.2_2-yes
-insert 3.5.3.6-no
-insert 3.5.3.7-1a
-trig 3.5.3.7-2a
-update 3.5.3.7-1b
-trig 3.5.3.7-2b
-insert 3.5.3.7-1c
-trig 3.5.3.7-2c
-insert 3.5.3.7-1d
-drop trigger trg4d_1;
-show grants;
-Grants for test_yesprivs@localhost
-GRANT SUPER 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;
-f1
-insert 3.5.3.2-no
-trig 3.5.3.2_2-yes
-trig 3.5.3.2_2-yes
-insert 3.5.3.6-no
-insert 3.5.3.7-1a
-trig 3.5.3.7-2a
-update 3.5.3.7-1b
-trig 3.5.3.7-2b
-insert 3.5.3.7-1c
-trig 3.5.3.7-2c
-insert 3.5.3.7-1d
-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 ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost;
-grant SUPER, SELECT on *.* to test_yesprivs@localhost;
-show grants for test_yesprivs@localhost;
-Grants for test_yesprivs@localhost
-GRANT SELECT, SUPER ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-connect(localhost,test_noprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-connect(localhost,test_yesprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-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 ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-
-Trigger create disabled - should fail - Bug 8887
-------------------------------------------------
-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');
-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, SUPER 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 SUPER 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 SUPER 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 ON `priv_db`.* TO 'test_noprivs'@'localhost'
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost;
-grant SUPER 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 SUPER ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT SELECT ON `priv_db`.* TO 'test_yesprivs'@'localhost'
-connect(localhost,test_noprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-connect(localhost,test_yesprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-show grants;
-Grants for test_noprivs@localhost
-GRANT SUPER 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 ON `priv_db`.* TO 'test_noprivs'@'localhost'
-use priv_db;
-
-Trigger create disabled - should fail - Bug 8887
-------------------------------------------------
-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';
-select @test_var;
-@test_var
-before trig 3.5.3.8-1b
-drop trigger trg5b_1;
-show grants;
-Grants for test_yesprivs@localhost
-GRANT SUPER 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 SUPER 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 SUPER ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE VIEW, SHOW VIEW ON `priv_db`.`t1` TO 'test_noprivs'@'localhost'
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost;
-grant SUPER 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 SUPER ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT SELECT ON `priv_db`.`t1` TO 'test_yesprivs'@'localhost'
-connect(localhost,test_noprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-connect(localhost,test_yesprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-show grants;
-Grants for test_noprivs@localhost
-GRANT SUPER ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE VIEW, SHOW VIEW ON `priv_db`.`t1` TO 'test_noprivs'@'localhost'
-use priv_db;
-
-Trigger create disabled - should fail - Bug 8887
-------------------------------------------------
-set @test_var= 'before trig 3.5.3.8-1c';
-insert into t1 (f1) values ('insert 3.5.3.8-1c');
-select @test_var;
-@test_var
-before trig 3.5.3.8-1c
-drop trigger trg5c_1;
-show grants;
-Grants for test_yesprivs@localhost
-GRANT SUPER 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 SUPER 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 SUPER 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 SUPER 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 SUPER ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT INSERT (f1), UPDATE (f1) ON `priv_db`.`t1` TO 'test_noprivs'@'localhost'
-connect(localhost,test_noprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-connect(localhost,test_yesprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK);
-show grants;
-Grants for test_noprivs@localhost
-GRANT SUPER 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;
-
-Trigger create disabled - should fail - Bug 8887
-------------------------------------------------
-set @test_var='before trig 3.5.3.8-1d';
-insert into t1 (f1) values ('insert 3.5.3.8-1d');
-select @test_var;
-@test_var
-before trig 3.5.3.8-1d
-drop trigger trg5d_1;
-show grants;
-Grants for test_yesprivs@localhost
-GRANT SUPER 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;
-drop database if exists priv_db;
-drop user test_yesprivs@localhost;
-drop user test_noprivs@localhost;
-drop user test_noprivs;
-
-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=myisam;
-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;
-f1
-Trigger 3.5.4.1
-drop trigger trg1;
-select trigger_schema, trigger_name, event_object_table
-from information_schema.triggers;
-trigger_schema trigger_name event_object_table
-Insert into t1 values ('Insert no trigger 3.5.4.1');
-Select * from t1;
-f1
-Trigger 3.5.4.1
-Insert no 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=myisam;
-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=myisam;
-create table t1_433a (f1a char (5)) engine=myisam;
-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=myisam;
-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;
-Database
-information_schema
-mysql
-test
-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=myisam;
-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=myisam;
-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=myisam;
-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));
-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;
-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 HY000: Trigger already exists
-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 HY000: Trigger already exists
-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 HY000: Trigger already exists
-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 HY000: Trigger already exists
-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 HY000: Trigger already exists
-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 HY000: Trigger already exists
-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)
-----------------------------------------
-
-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=myisam;
-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=myisam;
-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=myisam;
-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
-insert into db_test.t1_i
-values (new.f120, new.f136, new.f144, new.f163);
-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;
-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;
-u120 u136 u144 u163
-a 00111 0000099999 999.990000000000000000000000000000
-U 00222 0000023456 1.050000000000000000000000000000
-c 00333 0000099999 999.990000000000000000000000000000
-U 00222 0000023456 1.050000000000000000000000000000
-U 00222 0000023456 1.050000000000000000000000000000
-f 00333 0000099999 999.990000000000000000000000000000
-
-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;
-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';
-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';
-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';
-f120 f122 f136 @test_var @test_var2
-D Test 3.5.8.5-if 00101 three 2nd if
-D Test 3.5.8.5-if 00102 three 2nd if
-d Test 3.5.8.5-if 00010 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';
-f120 f122 f136 @test_var @test_var2
-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 00010 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';
-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';
-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';
-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';
-f120 f122 f136 f144 @test_var
-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
-1 Test 3.5.8.5-case 00152 0000099999 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';
-f120 f122 f136 f144 @test_var
-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
-1 Test 3.5.8.5-case 00152 0000099999 1=eight
-1 Test 3.5.8.5-case 00200 0000000008 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';
-f120 f122 f136 f144 @test_var
-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
-1 Test 3.5.8.5-case 00152 0000099999 1=eight
-1 Test 3.5.8.5-case 00200 0000000008 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)
-------------------------------------
-
-Testcase 3.5.8.7: (Disabled as a result of bug _____)
------------------------------------------------------
-
-Testcase 3.5.9.1/2:
--------------------
-Create trigger trg1 BEFORE UPDATE on tb3 for each row
-set new.f142 = 94087, @counter=@counter+1;
-TotalRows
-19
-Affected
-17
-NotAffected
-2
-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
-17 17
-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';
-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';
-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%';
-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 1263 Column set to default value; NULL supplied to NOT NULL column 'f136' at row 20
-select f118, f121, f122, f136, f151, f163 from tb3
-where f122 like 'Test 3.5.9.4-trig';
-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)
-----------------------------------------------
-
-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%';
-f121 f122 f151 f163
-NULL Test 3.5.10.1/2/3 2 111.110000000000000000000000000000
-NULL Test 3.5.10.1/2/3 1 111.110000000000000000000000000000
-select f121, f122, f151, f163 from vw11;
-f121 f122 f151 f163
-NULL Test 3.5.10.1/2/3 2 111.110000000000000000000000000000
-NULL Test 3.5.10.1/2/3 1 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%';
-f121 f122 f151 f163
-Y Test 3.5.10.1/2/3-Update 2 1.000000000000000000000000000000
-Y Test 3.5.10.1/2/3-Update 1 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
-Y Test 3.5.10.1/2/3-Update 1 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%';
-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=myisam;
-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 'MYSQL_TEST_DIR/suite/funcs_1/data/t9.txt' into table tb_load;
-select @counter as 'Rows Loaded After';
-Rows Loaded After
-10
-Select * from tb_load 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=myisam;
-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 to FETCH
-select @counter;
-@counter
-20
-select count(*) from tb3;
-count(*)
-20
-select count(*) from t1_sp;
-count(*)
-20
-drop procedure trig_sp;
-drop trigger trg;
-drop table t1_sp;
-
-Testcase 3.5.11.1 (implemented in trig_perf.test)
--------------------------------------------------
-drop user test_general@localhost;
-drop user test_general;
-drop user test_super@localhost;
-
-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);
-create table t2_1 (f1 integer);
-create table t2_2 (f1 integer);
-create table t2_3 (f1 integer);
-create table t2_4 (f1 integer);
-create table t3 (f1 integer);
-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;
-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 = myisam;
-create table t2 (f2 integer) engine = myisam;
-create table t3 (f3 integer) engine = myisam;
-create table t4 (f4 integer) engine = myisam;
-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;
-f1
-0
-1
-select * from t2;
-f2
-2
-select * from t3;
-f3
-3
-select * from t4;
-f4
-4
-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 (disabled bug 11889)
-----------------------------------------------------------------------
-set @sql_mode='traditional';
-create table t1_sp (
-count integer,
-var136 tinyint,
-var151 decimal) engine=myisam;
-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 stored routines are not allowed.
-select @counter;
-@counter
-1
-select count(*) from tb3;
-count(*)
-20
-select count(*) from t1_sp;
-count(*)
-0
-drop procedure trig_sp;
-drop trigger trg;
-drop table t1_sp;
-
-Testcase y.y.y.5: Roleback 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 = myisam;
-create table t2 (f2 integer) engine = myisam;
-create table t3 (f3 integer) engine = myisam;
-create table t4 (f4 tinyint) engine = myisam;
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) default NULL
-) ENGINE=MyISAM 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;
-f1
-1
-1
-select * from t2;
-f2
-2
-select * from t3;
-f3
-3
-drop trigger tr1;
-drop trigger tr2;
-drop trigger tr3;
-drop table t1;
-drop table t2;
-drop table t3;
-drop table t4;
diff --git a/mysql-test/suite/funcs_1/r/myisam_views.result b/mysql-test/suite/funcs_1/r/myisam_views.result
index 83af04dcd2c..3915cb47068 100644
--- a/mysql-test/suite/funcs_1/r/myisam_views.result
+++ b/mysql-test/suite/funcs_1/r/myisam_views.result
@@ -1,134 +1,135 @@
-SET @NO_REFRESH = IF( '' = '', 0, 1);
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",
+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",
-f110 VARBINARY(64) null,
-f111 VARBINARY(27) null ,
-f112 VARBINARY(64) null ,
-f113 VARBINARY(192) null ,
-f114 VARBINARY(192) ,
-f115 VARBINARY(27) null ,
-f116 VARBINARY(64) null,
-f117 VARBINARY(192) null
+f110 VARBINARY(64) null,
+f111 VARBINARY(27) null ,
+f112 VARBINARY(64) null ,
+f113 VARBINARY(192) null ,
+f114 VARBINARY(192) ,
+f115 VARBINARY(27) null ,
+f116 VARBINARY(64) null,
+f117 VARBINARY(192) null
) engine = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/myisam_tb2.txt' into table tb2 ;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/myisam_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",
+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",
-f110 VARBINARY(64) null,
-f111 VARBINARY(27) null ,
-f112 VARBINARY(64) null ,
-f113 VARBINARY(192) null ,
-f114 VARBINARY(192) ,
-f115 VARBINARY(27) null ,
-f116 VARBINARY(64) null,
-f117 VARBINARY(192) null
+f110 VARBINARY(64) null,
+f111 VARBINARY(27) null ,
+f112 VARBINARY(64) null ,
+f113 VARBINARY(192) null ,
+f114 VARBINARY(192) ,
+f115 VARBINARY(27) null ,
+f116 VARBINARY(64) null,
+f117 VARBINARY(192) null
) engine = myisam;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/myisam_tb2.txt' into table tb2 ;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/myisam_tb2.txt'
+into table tb2;
USE test;
Attention: The nesting level @max_level in Testcase 3.3.1.A6
@@ -145,11 +146,7 @@ SET @limit1 = 20;
--------------------------------------------------------------------------------
There are some statements where the ps-protocol is switched off.
-Bug#11589: mysqltest, --ps-protocol, strange output, float/double/real with zerofill
---------------------------------------------------------------------------------
-
-! Attention: The file with the expected results suffers from
-Bug#10713: mysqldump includes database in create view and referenced tables
+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);
@@ -191,6 +188,58 @@ 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 f110 f111 f112 f113 f114 f115 f116 f117
+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 NULL NULL NULL NULL NULL NULL NULL NULL
+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 NULL NULL NULL NULL NULL NULL NULL NULL
+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 NULL NULL NULL NULL NULL NULL NULL NULL
+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 NULL NULL NULL NULL NULL NULL NULL NULL
+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 NULL NULL NULL NULL NULL NULL NULL NULL
+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 NULL NULL NULL NULL NULL NULL NULL NULL
+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 NULL NULL NULL NULL NULL NULL NULL NULL
+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 NULL NULL NULL NULL NULL NULL NULL NULL
+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 NULL NULL NULL NULL NULL NULL NULL NULL
+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 NULL NULL NULL NULL NULL NULL NULL NULL
+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 NULL NULL NULL NULL NULL NULL NULL NULL
+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 NULL NULL NULL NULL NULL NULL NULL NULL
+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 NULL NULL NULL NULL NULL NULL NULL NULL
+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 NULL NULL NULL NULL NULL NULL NULL NULL
+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 NULL NULL NULL NULL NULL NULL NULL NULL
+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 NULL NULL NULL NULL NULL NULL NULL NULL
+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 NULL NULL NULL NULL NULL NULL NULL NULL
+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 NULL NULL NULL NULL NULL NULL NULL NULL
+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 NULL NULL NULL NULL NULL NULL NULL NULL
+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 NULL NULL NULL NULL NULL NULL NULL NULL
+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 NULL NULL NULL NULL NULL NULL NULL NULL
+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 NULL NULL NULL NULL NULL NULL NULL NULL
+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 NULL NULL NULL NULL NULL NULL NULL NULL
+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 NULL NULL NULL NULL NULL NULL NULL NULL
+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 NULL NULL NULL NULL NULL NULL NULL NULL
+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 NULL NULL NULL NULL NULL NULL NULL NULL
+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 NULL NULL NULL NULL NULL NULL NULL NULL
+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 NULL NULL NULL NULL NULL NULL NULL NULL
+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 NULL NULL NULL NULL NULL NULL NULL NULL
+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 NULL NULL NULL NULL NULL NULL NULL NULL
+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 NULL NULL NULL NULL NULL NULL NULL NULL
+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 NULL NULL NULL NULL NULL NULL NULL NULL
+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 NULL NULL NULL NULL NULL NULL NULL NULL
+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 NULL NULL NULL NULL NULL NULL NULL NULL
+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 NULL NULL NULL NULL NULL NULL NULL NULL
+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 NULL NULL NULL NULL NULL NULL NULL NULL
+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 NULL NULL NULL NULL NULL NULL NULL NULL
+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 NULL NULL NULL NULL NULL NULL NULL NULL
+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 NULL NULL NULL NULL NULL NULL NULL NULL
+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 NULL NULL NULL NULL NULL NULL NULL NULL
Use test;
Testcase 3.3.1.1
@@ -206,47 +255,47 @@ 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 limit 0,10;
+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 limit 0,10;
+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
-10 10 0000000010
CREATE or REPLACE VIEW v1 AS select f59,f60,f61
-FROM test.tb2 limit 4,3;
-select * FROM v1 limit 0,10;
+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
-7 7 0000000007
CREATE or REPLACE VIEW v1 AS select distinct f59
-FROM test.tb2 limit 4,3;
-select * FROM v1 limit 0,10;
+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 limit 6,2;
-select * FROM v1 limit 0,10;
+FROM test.tb2;
+select * FROM v1 order by f59 limit 6,2;
f59
+6
7
-8
CREATE or REPLACE VIEW v1 AS select f59
-from tb2 order by f59 limit 100;
-select * FROM v1 limit 0,10;
+from tb2 order by f59;
+select * FROM v1 order by f59 limit 0,10;
f59
1
2
@@ -259,7 +308,7 @@ f59
8
9
CREATE or REPLACE VIEW v1 AS select f59
-from tb2 order by f59 asc limit 100;
+from tb2 order by f59 asc;
select * FROM v1 limit 0,10;
f59
1
@@ -273,7 +322,7 @@ f59
8
9
CREATE or REPLACE VIEW v1 AS select f59
-from tb2 order by f59 desc limit 100;
+from tb2 order by f59 desc;
select * FROM v1 limit 0,10;
f59
569300
@@ -287,8 +336,8 @@ f59
987
660
CREATE or REPLACE VIEW v1 AS select f59
-from tb2 group by f59 limit 100;
-select * FROM v1 limit 0,10;
+from tb2 group by f59;
+select * FROM v1 order by f59 limit 0,10;
f59
1
2
@@ -301,8 +350,8 @@ f59
9
10
CREATE or REPLACE VIEW v1 AS select f59
-from tb2 group by f59 asc limit 100;
-select * FROM v1 limit 0,10;
+from tb2 group by f59 asc;
+select * FROM v1 order by f59 limit 0,10;
f59
1
2
@@ -315,22 +364,22 @@ f59
9
10
CREATE or REPLACE VIEW v1 AS select f59
-from tb2 group by f59 desc limit 100;
-select * FROM v1 limit 0,10;
+from tb2 group by f59 desc;
+select * FROM v1 order by f59 limit 0,10;
f59
-569300
-76710
-9112
-7876
-3410
-3330
-2760
-2550
-987
-660
+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) limit 100;
-select * FROM v1 limit 0,10;
+union (select f59 from t1);
+select * FROM v1 order by f59 limit 0,10;
f59
1
2
@@ -344,7 +393,7 @@ f59
10
CREATE or REPLACE VIEW v1 AS (select f59 FROM tb2)
UNION DISTINCT(select f59 FROM t1) ;
-select * FROM v1 limit 0,10;
+select * FROM v1 order by f59 limit 0,10;
f59
1
2
@@ -358,103 +407,3581 @@ f59
10
CREATE or REPLACE VIEW v1 AS (select f59 FROM tb2)
UNION ALL(select f59 FROM t1) ;
-select * FROM v1 limit 0,10;
+select * FROM v1 order by f59 limit 0,10;
f59
1
2
3
4
+4
5
6
7
8
9
-10
CREATE or REPLACE VIEW v1 AS select *
FROM test.tb2 WITH LOCAL CHECK OPTION ;
-select * FROM v1 limit 0,50;
-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 f110 f111 f112 f113 f114 f115 f116 f117
-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
-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
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
+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
+f110
+f111
+f112
+f113
+f114
+f115
+f116
+f117
+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
+f110
+f111
+f112
+f113
+f114
+f115
+f116
+f117
+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
+f110
+f111
+f112
+f113
+f114
+f115
+f116
+f117
+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
+f110
+f111
+f112
+f113
+f114
+f115
+f116
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110
+f111
+f112
+f113
+f114
+f115
+f116
+f117
+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
+f110
+f111
+f112
+f113
+f114
+f115
+f116
+f117
+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
+f110
+f111
+f112
+f113
+f114
+f115
+f116
+f117
+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
+f110
+f111
+f112
+f113
+f114
+f115
+f116
+f117
+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
+f110
+f111
+f112
+f113
+f114
+f115
+f116
+f117
+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
+f110
+f111
+f112
+f113
+f114
+f115
+f116
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
CREATE or REPLACE VIEW v1 AS select *
FROM test.tb2 WITH CASCADED CHECK OPTION ;
-select * FROM v1 limit 0,10;
-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 f110 f111 f112 f113 f114 f115 f116 f117
-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
-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
+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
+f110
+f111
+f112
+f113
+f114
+f115
+f116
+f117
+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
+f110
+f111
+f112
+f113
+f114
+f115
+f116
+f117
+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
+f110
+f111
+f112
+f113
+f114
+f115
+f116
+f117
+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
+f110
+f111
+f112
+f113
+f114
+f115
+f116
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110
+f111
+f112
+f113
+f114
+f115
+f116
+f117
+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
+f110
+f111
+f112
+f113
+f114
+f115
+f116
+f117
+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
+f110
+f111
+f112
+f113
+f114
+f115
+f116
+f117
+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
+f110
+f111
+f112
+f113
+f114
+f115
+f116
+f117
+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
+f110
+f111
+f112
+f113
+f114
+f115
+f116
+f117
CREATE OR REPLACE VIEW v1 AS SELECT F59, F60
FROM test.tb2 WITH CASCADED CHECK OPTION;
-SELECT * FROM v1 limit 0,10;
+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
-10 10
CREATE or REPLACE VIEW v1 AS select f59, f60
from test.tb2 where f59=3330 ;
-select * FROM v1 limit 0,10;
+select * FROM v1 order by f60 limit 0,10;
f59 f60
3330 764376
DROP VIEW v1 ;
@@ -517,8 +4044,8 @@ 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 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 'or REPLACE AS Select * from tb2 my_table limit 50' at line 1
+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 'WITH CASCADED CHECK OPTION AS Select *
@@ -527,8 +4054,8 @@ 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 'WITH LOCAL CHECK OPTION AS Select *
from tb2 my_table limit 50' at line 1
-SELECT * FROM tb2 my_table CREATE VIEW As v1 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 'CREATE VIEW As v1 limit 100' 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
@@ -603,8 +4130,8 @@ 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 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 'by order f59 limit 100' at line 2
+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
@@ -612,12 +4139,12 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
Testcase 3.3.1.5
--------------------------------------------------------------------------------
DROP VIEW IF EXISTS v1 ;
-CREATE VIEW v1 SELECT * FROM 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 * FROM tb2 limit 100' at line 1
-CREATE v1 AS SELECT * FROM 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 'v1 AS SELECT * FROM tb2 limit 100' at line 1
-VIEW v1 AS SELECT * FROM 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 'VIEW v1 AS SELECT * FROM tb2 limit 100' at line 1
+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;
@@ -635,45 +4162,43 @@ Testcase 3.3.1.6
--------------------------------------------------------------------------------
DROP VIEW IF EXISTS v1 ;
CREATE or REPLACE VIEW v1
-as SELECT * from tb2 limit 100 ;
+as SELECT * from tb2;
CREATE or REPLACE ALGORITHM = UNDEFINED VIEW v1
-as SELECT * from tb2 limit 100 ;
+as SELECT * from tb2;
CREATE or REPLACE ALGORITHM = MERGE VIEW v1
-as SELECT * from tb2 limit 100 ;
-Warnings:
-Warning 1354 View merge algorithm can't be used here for now (assumed undefined algorithm)
+as SELECT * from tb2;
CREATE or REPLACE ALGORITHM = TEMPTABLE VIEW v1
-as SELECT * from tb2 limit 100 ;
+as SELECT * from tb2;
CREATE or REPLACE ALGORITHM = TEMPTABLE VIEW v1
-as SELECT * from tb2 limit 100 ;
+as SELECT * from tb2;
CREATE or REPLACE = TEMPTABLE VIEW v1
-as SELECT * from tb2 limit 100 ;
+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 limit 100' at line 1
+as SELECT * from tb2' at line 1
CREATE or REPLACE ALGORITHM TEMPTABLE VIEW v1
-as SELECT * from tb2 limit 100 ;
+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 limit 100' at line 1
+as SELECT * from tb2' at line 1
CREATE or REPLACE ALGORITHM = VIEW v1
-as SELECT * from tb2 limit 100 ;
+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 limit 100' at line 1
+as SELECT * from tb2' at line 1
CREATE or REPLACE TEMPTABLE = ALGORITHM VIEW v1
-as SELECT * from tb2 limit 100 ;
+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 limit 100' at line 1
+as SELECT * from tb2' at line 1
CREATE or REPLACE TEMPTABLE - ALGORITHM VIEW v1
-as SELECT * from tb2 limit 100 ;
+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 limit 100' at line 1
+as SELECT * from tb2' at line 1
CREATE or REPLACE GARBAGE = TEMPTABLE VIEW v1
-as SELECT * from tb2 limit 100 ;
+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 limit 100' at line 1
+as SELECT * from tb2' at line 1
CREATE or REPLACE ALGORITHM = GARBAGE VIEW v1
-as SELECT * from tb2 limit 100 ;
+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 limit 100' at line 1
+as SELECT * from tb2' at line 1
Drop view if exists v1 ;
CREATE or REPLACE VIEW v1
AS SELECT * from tb2 where f59 < 1;
@@ -699,7 +4224,7 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
Testcase 3.3.1.7
--------------------------------------------------------------------------------
DROP VIEW IF EXISTS v1 ;
-Create view test.v1 AS Select * from test.tb2 limit 100 ;
+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 ;
@@ -885,73 +4410,188 @@ 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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `f1` from `t1` limit 2
+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
-v1 CREATE ALGORITHM=TEMPTABLE DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `f1` from `t1` limit 2
+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 limit 2;
+CREATE OR REPLACE VIEW test.v1 AS SELECT * FROM tb2 order by f59 limit 2;
SHOW CREATE VIEW test.v1;
-View Create View
-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`,`tb2`.`f110` AS `f110`,`tb2`.`f111` AS `f111`,`tb2`.`f112` AS `f112`,`tb2`.`f113` AS `f113`,`tb2`.`f114` AS `f114`,`tb2`.`f115` AS `f115`,`tb2`.`f116` AS `f116`,`tb2`.`f117` AS `f117` from `tb2` limit 2
-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 f110 f111 f112 f113 f114 f115 f116 f117
-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
-CREATE OR REPLACE VIEW test.v1 AS SELECT F59 FROM tb2 limit 10,100;
+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`,`tb2`.`f110` AS `f110`,`tb2`.`f111` AS `f111`,`tb2`.`f112` AS `f112`,`tb2`.`f113` AS `f113`,`tb2`.`f114` AS `f114`,`tb2`.`f115` AS `f115`,`tb2`.`f116` AS `f116`,`tb2`.`f117` AS `f117` 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
+f110
+f111
+f112
+f113
+f114
+f115
+f116
+f117
+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
+f110
+f111
+f112
+f113
+f114
+f115
+f116
+f117
+CREATE OR REPLACE VIEW test.v1 AS SELECT F59 FROM tb2;
SHOW CREATE VIEW test.v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `tb2`.`f59` AS `F59` from `tb2` limit 10,100
-SELECT * FROM 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
-76710
-2760
-569300
-660
-250
-340
-3410
-2550
-3330
-441
-24
-323
-34
-4
+10
15
+17
+19
22
-394
+24
+27
+29
+34
94
-195
-292
-987
-7876
-321
-9112
-500
-500
-500
+107
107
109
+109
+195
207
209
-27
-29
-17
-19
-107
-109
-299
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 ;
@@ -965,11 +4605,10 @@ 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 LIMIT 2;
+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 f110 f111 f112 f113 f114 f115 f116 f117
-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
+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
Drop view test.v1 ;
Testcase 3.3.1.16 + 3.3.1.17
@@ -987,38 +4626,38 @@ 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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `f1` from `t1`
+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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `f1` from `t1`
+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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `my_column` from `t1`
+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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `column1`,`t1`.`f1` AS `column2` from `t1`
+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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `column1`,`t1`.`f1` AS `column2` from `t1`
+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
@@ -1102,8 +4741,8 @@ 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 LIMIT 2;
-SELECT * FROM test.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
@@ -1112,7 +4751,7 @@ 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 LIMIT 2;
+CREATE VIEW test.v1( product ) AS SELECT f59*f60 From tb2 WHERE f59 < 3;
SELECT * FROM test.v1;
product
1
@@ -1199,20 +4838,19 @@ DROP TEMPORARY TABLE t2;
Testcase 3.3.1.26
--------------------------------------------------------------------------------
DROP VIEW IF EXISTS v1;
-Create view test.v1 AS Select * from test.tb2 limit 2 ;
+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 f110 f111 f112 f113 f114 f115 f116 f117
-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
+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
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 limit 2 ;
+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 limit 20 ;
+Select * from test.v1_1 order by F59 limit 2;
F59
1
2
@@ -1226,58 +4864,2957 @@ 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 ;
-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 f110 f111 f112 f113 f114 f115 f116 f117
-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
-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
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
+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
+f110
+f111
+f112
+f113
+f114
+f115
+f116
+f117
+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
+f110
+f111
+f112
+f113
+f114
+f115
+f116
+f117
+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
+f110
+f111
+f112
+f113
+f114
+f115
+f116
+f117
+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
+f110
+f111
+f112
+f113
+f114
+f115
+f116
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110
+f111
+f112
+f113
+f114
+f115
+f116
+f117
+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
+f110
+f111
+f112
+f113
+f114
+f115
+f116
+f117
+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
+f110
+f111
+f112
+f113
+f114
+f115
+f116
+f117
+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
+f110
+f111
+f112
+f113
+f114
+f115
+f116
+f117
+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
+f110
+f111
+f112
+f113
+f114
+f115
+f116
+f117
+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
+f110
+f111
+f112
+f113
+f114
+f115
+f116
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
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 f110 f111 f112 f113 f114 f115 f116 f117
Drop view if exists test2.v1 ;
@@ -1340,18 +7877,18 @@ 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 limit 0,10;
+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
-8 8
-9 9
Drop view if exists test.v1_firstview ;
Drop view if exists test.v1_secondview ;
Drop view if exists test.v1 ;
@@ -1369,18 +7906,18 @@ 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 limit 0,10;
+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
-8 8
-9 9
Drop view v1 ;
Drop view test.v1_firstview ;
Drop view test.v1_secondview ;
@@ -1395,18 +7932,18 @@ 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 limit 0,10;
+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
-8 8
-9 9
Drop view test.v1 ;
Drop view test.v1_firstview;
@@ -1419,18 +7956,18 @@ 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 limit 0,10;
+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
-8 8
-9 9
Drop database test2 ;
Testcase 3.3.1.37
@@ -1442,18 +7979,18 @@ 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 limit 0,10;
+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
-10 10
Create table t1(f59 int, f60 int);
Insert into t1 values (90,507) ;
Create view v1_1 as Select f59,f60 from t1 ;
@@ -1463,18 +8000,18 @@ f59 f60
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 limit 0,10;
+Select * from v1_main order by f59 limit 0,10;
f59
1
2
3
4
4
+4
+4
5
6
7
-8
-9
Drop table t1;
Drop view test.v1 ;
Drop view test.v1_1 ;
@@ -1759,29 +8296,29 @@ 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 limit 20 ;
-Select * from test.v1 ;
+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
-76710 226546
-2760 985654
-569300 9114376
-660 876546
-250 87895654
-340 9984376
-3410 996546
-2550 775654
-3330 764376
-441 16546
+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 ;
@@ -1814,7 +8351,7 @@ 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 ;
+SELECT * FROM test.v1 order by f59 ;
ERROR 42S02: Table 'test.v1' doesn't exist
Drop view if exists test.v1 ;
@@ -1868,12 +8405,126 @@ 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 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 f110 f111 f112 f113 f114 f115 f116 f117
-122 432 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 NULL NULL NULL NULL NULL NULL NULL NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
UPDATE test.v1 SET f59 = 3000 WHERE test.v1.f59 = 122 ;
SELECT * FROM test.tb2 where f59 = 3000 limit 0,20;
-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 f110 f111 f112 f113 f114 f115 f116 f117
-3000 432 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 NULL NULL NULL NULL NULL NULL NULL NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
DELETE FROM test.v1
where test.v1.f59 = 3000 and test.v1.f60 = 432;
SELECT * FROM test.tb2 where f59 = 3000 and f60 = 432;
@@ -1895,20 +8546,250 @@ 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 ;
+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 f110 f111 f112 f113 f114 f115 f116 f117
SELECT * FROM test.tb2 where f59 = 30 ;
-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 f110 f111 f112 f113 f114 f115 f116 f117
-30 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
-30 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 NULL NULL NULL NULL NULL NULL NULL NULL
+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
+f110
+f111
+f112
+f113
+f114
+f115
+f116
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
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 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 f110 f111 f112 f113 f114 f115 f116 f117
-100 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
-100 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 NULL NULL NULL NULL NULL NULL NULL NULL
-SELECT * FROM test.v1 ;
+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
+f110
+f111
+f112
+f113
+f114
+f115
+f116
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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 f110 f111 f112 f113 f114 f115 f116 f117
drop view if exists test.v1 ;
Drop TABLE IF EXISTS test.t1 ;
@@ -1948,7 +8829,7 @@ f1 f2
2 two
4 four
INSERT INTO v1 VALUES(2,'two');
-ERROR 23000: Duplicate entry '2' for key 1
+ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
INSERT INTO v1 VALUES(3,'three');
affected rows: 1
INSERT INTO v1 VALUES(6,'six');
@@ -1967,7 +8848,7 @@ f1 f2
3 three
4 four
UPDATE v1 SET f1 = 2 WHERE f1 = 3;
-ERROR 23000: Duplicate entry '2' for key 1
+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
@@ -1984,7 +8865,7 @@ 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 ;
+SELECT * FROM test.v1 order by f59 ;
f59 f60
195 87
drop view if exists test.v1 ;
@@ -1998,7 +8879,7 @@ 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 ;
+SELECT * FROM test.v1 order by f59 ;
f59 f60
987 41
UPDATE test.v2 SET F59 = 9879 where f59 = 919 ;
@@ -2014,12 +8895,12 @@ DROP VIEW IF EXISTS test.v1;
CREATE TABLE t1 (f1 ENUM('A', 'B', 'C') NOT NULL, f2 INTEGER)
ENGINE = myisam;
INSERT INTO t1 VALUES ('A', 1);
-SELECT * FROM t1;
+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;
+SELECT * FROM v1 order by f1, f2;
f1 f2
A 1
UPDATE v1 SET f2 = 2 WHERE f2 = 1;
@@ -2027,7 +8908,7 @@ affected rows: 1
info: Rows matched: 1 Changed: 1 Warnings: 0
INSERT INTO v1 VALUES('B',2);
affected rows: 1
-SELECT * FROM v1;
+SELECT * FROM v1 order by f1, f2;
f1 f2
A 2
B 2
@@ -2035,7 +8916,7 @@ 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;
+SELECT * FROM v1 order by f1, f2;
f1 f2
A 2
B 2
@@ -9671,8 +16552,8 @@ 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
+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
@@ -9692,116 +16573,5989 @@ 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 limit 5 ;
-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 f110 f111 f112 f113 f114 f115 f116 f117
-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
-100 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
-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
+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
+f110
+f111
+f112
+f113
+f114
+f115
+f116
+f117
+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
+f110
+f111
+f112
+f113
+f114
+f115
+f116
+f117
+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
+f110
+f111
+f112
+f113
+f114
+f115
+f116
+f117
+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
+f110
+f111
+f112
+f113
+f114
+f115
+f116
+f117
+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
+f110
+f111
+f112
+f113
+f114
+f115
+f116
+f117
+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
+f110
+f111
+f112
+f113
+f114
+f115
+f116
+f117
+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
+f110
+f111
+f112
+f113
+f114
+f115
+f116
+f117
+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
+f110
+f111
+f112
+f113
+f114
+f115
+f116
+f117
+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
+f110
+f111
+f112
+f113
+f114
+f115
+f116
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110
+f111
+f112
+f113
+f114
+f115
+f116
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
drop view test.v1 ;
-CREATE VIEW test.v1 AS SELECT F59,F61 FROM test.tb2 limit 50 ;
-SELECT * FROM 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
-100 0000000004
5 0000000005
6 0000000006
7 0000000007
8 0000000008
9 0000000009
10 0000000010
-76710 NULL
-2760 NULL
-569300 NULL
-660 NULL
-250 NULL
-340 NULL
-3410 NULL
-2550 NULL
-3330 NULL
-441 NULL
-24 NULL
-323 NULL
-34 NULL
-100 NULL
15 NULL
+17 0000000016
+19 0000000014
22 NULL
-394 NULL
+24 NULL
+27 0000000026
+29 0000000024
+34 NULL
94 NULL
-195 NULL
-292 NULL
-987 NULL
-7876 NULL
-321 0000000765
-9112 0000008771
-500 0000000900
-500 0000000900
-500 0000000900
+100 NULL
+100 0000000004
107 0000000106
+107 0000000106
+109 0000000104
109 0000000104
+195 NULL
207 0000000206
209 0000000204
-27 0000000026
-29 0000000024
-17 0000000016
-19 0000000014
-107 0000000106
-109 0000000104
-299 NULL
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 limit 20 ;
-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 f110 f111 f112 f113 f114 f115 f116 f117
-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
-100 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
-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
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
-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 NULL NULL NULL NULL NULL NULL NULL NULL
+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
+f110
+f111
+f112
+f113
+f114
+f115
+f116
+f117
+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
+f110
+f111
+f112
+f113
+f114
+f115
+f116
+f117
+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
+f110
+f111
+f112
+f113
+f114
+f115
+f116
+f117
+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
+f110
+f111
+f112
+f113
+f114
+f115
+f116
+f117
+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
+f110
+f111
+f112
+f113
+f114
+f115
+f116
+f117
+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
+f110
+f111
+f112
+f113
+f114
+f115
+f116
+f117
+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
+f110
+f111
+f112
+f113
+f114
+f115
+f116
+f117
+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
+f110
+f111
+f112
+f113
+f114
+f115
+f116
+f117
+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
+f110
+f111
+f112
+f113
+f114
+f115
+f116
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110
+f111
+f112
+f113
+f114
+f115
+f116
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
drop view test.v1 ;
-CREATE VIEW test.v1 AS SELECT F59,f61 FROM test.tb2 limit 20 ;
-SELECT * FROM test.v1 limit 50;
+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
-100 0000000004
5 0000000005
6 0000000006
7 0000000007
8 0000000008
9 0000000009
10 0000000010
-76710 NULL
-2760 NULL
-569300 NULL
-660 NULL
-250 NULL
-340 NULL
-3410 NULL
-2550 NULL
-3330 NULL
-441 NULL
+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
@@ -9820,7 +22574,7 @@ 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 limit 50 ;
+Select * from test.v1 order by f59 limit 50 ;
f59 f60
1 10
2 20
@@ -9858,16 +22612,23 @@ 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<-
+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
@@ -9886,7 +22647,7 @@ 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;
+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
@@ -9899,7 +22660,7 @@ t1_f59 t2_f59 t1_f60 t2_f60 t1_f61 t2_f61
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;
+Select * from v1 order by t1_f59,t2_f59;
t1_f59 t2_f59
1 2
1 3
@@ -9925,7 +22686,7 @@ t1_f59 t2_f59
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;
+Select * from v1 order by t1_f59,t2_f59;
t1_f59 t2_f59
1 2
1 3
@@ -9951,7 +22712,7 @@ t1_f59 t2_f59
Create or replace view test.v1 as
Select f59, f60, f61, a, b
FROM t2 natural join t1;
-Select * from v1;
+Select * from v1 order by f59;
f59 f60 f61 a b
2 double 6 2 2
Select f59, f60, f61, a, b
@@ -9962,11 +22723,11 @@ 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;
+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
-NULL 4 NULL single NULL 4
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;
@@ -9977,7 +22738,7 @@ 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;
+Select * from v1 order by f59;
f59 f60 f61 a b
2 double 6 2 2
3 single-f3 6 NULL 3
@@ -9992,7 +22753,7 @@ 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;
+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
@@ -10007,11 +22768,11 @@ t1_f59 t2_f59 t1_f60 t2_f60 t1_f61 t2_f61
Create or replace view test.v1 as
Select f59, f60, a, b
FROM t2 natural right outer join t1;
-Select * from v1;
+Select * from v1 order by f59 desc;
f59 f60 a b
-1 single 1 NULL
-2 double 2 2
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
@@ -10032,18 +22793,18 @@ 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 limit 0,10;
+Select * from test.v1 order by f59 limit 0,10;
f59
1
2
3
-100
5
6
7
8
9
10
+15
Drop view if exists test.v1 ;
Drop table if exists t1 ;
Drop view if exists v1;
@@ -10053,7 +22814,7 @@ 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 limit 0,10;
+Select * from test.v1 order by f59 limit 0,10;
f59
207
Drop view if exists test.v1 ;
@@ -10065,7 +22826,7 @@ 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 limit 0,10;
+Select * from test.v1 order by f59 limit 0,10;
f59
27
Drop view test.v1 ;
@@ -10080,18 +22841,18 @@ 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 limit 0,10;
+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 limit 0,10;
+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 limit 0,10;
+Select * from test.v1 order by f59 limit 0,10;
f59
17
Drop view test.v1 ;
@@ -10103,7 +22864,7 @@ 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 limit 0,10;
+select * from test.v1 order by f59 limit 0,10;
f59
107
107
@@ -10111,7 +22872,7 @@ 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 limit 0,10;
+select * from test.v1 order by f59 limit 0,10;
f59
107
107
@@ -10120,14 +22881,14 @@ 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 limit 0,10;
+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 limit 0,10;
+select * from test.v1 order by f59 limit 0,10;
f59
107
drop view if exists test.v1 ;
@@ -10138,15 +22899,72 @@ 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 limit 0,10;
+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 limit 0,10;
-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 f110 f111 f112 f113 f114 f115 f116 f117
-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 NULL NULL NULL NULL NULL NULL NULL NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
Drop view test.v1 ;
Testcase 3.3.1.65, 3.3.1.A4, 3.3.1.66, 3.3.1.67
@@ -10272,8 +23090,8 @@ 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
-v32 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `test3`.`v32` AS select `v31`.`f1` AS `f1` from `test3`.`v31`
+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
@@ -10282,8 +23100,8 @@ id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 system NULL NULL NULL NULL 1
DROP VIEW test3.v0;
SHOW CREATE VIEW test3.v32;
-View Create View
-v32 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `test3`.`v32` AS select `v31`.`f1` AS `f1` from `test3`.`v31`
+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;
@@ -10291,15 +23109,13 @@ ERROR HY000: View 'test3.v32' references invalid table(s) or column(s) or functi
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 30 - hangs for higher values
+FIXME - Setting join_limit to 28 - hangs for higher values
----------------------------------------------------------
-SET @join_limit = 30;
+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.v29;
-DROP VIEW IF EXISTS test1.v28;
DROP VIEW IF EXISTS test1.v27;
DROP VIEW IF EXISTS test1.v26;
DROP VIEW IF EXISTS test1.v25;
@@ -10393,8 +23209,8 @@ 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;
SHOW CREATE VIEW test1.v20;
-View Create View
-v20 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `test1`.`v20` AS select `tab1`.`f1` AS `f1`,`tab1`.`f2` AS `f2` from (`test3`.`t1` `tab1` join `test1`.`v19` `tab2` on(((`tab1`.`f1` = `tab2`.`f1`) and (`tab1`.`f2` = `tab2`.`f2`))))
+View Create View character_set_client collation_connection
+v20 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `test1`.`v20` AS select `tab1`.`f1` AS `f1`,`tab1`.`f2` AS `f2` from (`test3`.`t1` `tab1` join `test1`.`v19` `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.v20;
f1 f2
@@ -10409,8 +23225,8 @@ CAST(f2 AS CHAR) AS f2 FROM test1.v20;
CREATE VIEW test1.v21 AS SELECT f1, f2
FROM test3.t1 tab1 NATURAL JOIN test1.v20 tab2;
SHOW CREATE VIEW test1.v21;
-View Create View
-v21 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `test1`.`v21` AS select `tab1`.`f1` AS `f1`,`tab1`.`f2` AS `f2` from (`test3`.`t1` `tab1` join `test1`.`v20` `tab2` on(((`tab1`.`f1` = `tab2`.`f1`) and (`tab1`.`f2` = `tab2`.`f2`))))
+View Create View character_set_client collation_connection
+v21 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `test1`.`v21` AS select `tab1`.`f1` AS `f1`,`tab1`.`f2` AS `f2` from (`test3`.`t1` `tab1` join `test1`.`v20` `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.v21;
f1 f2
@@ -10423,9 +23239,9 @@ FIXME Is this a bug ?
EXPLAIN SELECT CAST(f1 AS SIGNED INTEGER) AS f1,
CAST(f2 AS CHAR) AS f2 FROM test1.v21;
DROP VIEW IF EXISTS test1.v21;
-CREATE OR REPLACE VIEW test1.v0 AS
+CREATE OR REPLACE VIEW test1.v0 AS
SELECT f1 as f2, f2 as f1 FROM test2.t1;
-CREATE OR REPLACE VIEW test2.v0 AS
+CREATE OR REPLACE VIEW test2.v0 AS
SELECT CAST('0001-01-01' AS DATE) as f1, f2 FROM test3.t1;
SHOW CREATE VIEW test1.v20;
SELECT CAST(f1 AS SIGNED INTEGER) AS f1,
@@ -10490,8 +23306,65 @@ 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 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 f110 f111 f112 f113 f114 f115 f116 f117
-2005 101 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 NULL NULL NULL NULL NULL NULL NULL NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
SELECT f59,f60 FROM test.v1 where f59 = 2005 and f60 = 0101 ;
f59 f60
2005 101
@@ -10507,9 +23380,66 @@ 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 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 f110 f111 f112 f113 f114 f115 f116 f117
-8 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 NULL NULL NULL NULL NULL NULL NULL NULL
-SELECT f59,f60 FROM test.v1 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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+SELECT f59,f60 FROM test.v1 where f59 = 8 and f60 = 105 ;
f59 f60
8 105
Drop view test.v1 ;
@@ -10523,12 +23453,243 @@ 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 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 f110 f111 f112 f113 f114 f115 f116 f117
-891 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 NULL NULL NULL NULL NULL NULL NULL NULL
-891 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 NULL NULL NULL NULL NULL NULL NULL NULL
-891 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 NULL NULL NULL NULL NULL NULL NULL NULL
-891 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 NULL NULL NULL NULL NULL NULL NULL NULL
-SELECT f59,f60 FROM test.v1 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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+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
+f110 NULL
+f111 NULL
+f112 NULL
+f113 NULL
+f114 NULL
+f115 NULL
+f116 NULL
+f117 NULL
+SELECT f59,f60 FROM test.v1 where f59 = 891 and f60 = 105 ;
f59 f60
891 105
891 105
@@ -10545,7 +23706,7 @@ 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 f110 f111 f112 f113 f114 f115 f116 f117
-SELECT f59,f60 FROM test.v1 where f59 = 789;
+SELECT f59,f60 FROM test.v1 where f59 = 789 order by f60 ;
f59 f60
Drop view test.v1 ;
@@ -10558,7 +23719,7 @@ 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 f110 f111 f112 f113 f114 f115 f116 f117
-SELECT f59,f60 FROM test.v1 where f59 = 711;
+SELECT f59,f60 FROM test.v1 where f59 = 711 order by f60 ;
f59 f60
Drop view test.v1 ;
@@ -10576,7 +23737,7 @@ f1 f2 f3 f4
DELETE FROM t1;
INSERT INTO v1 SET f2 = 'ABC';
INSERT INTO v1 SET f2 = 'ABC';
-ERROR 23000: Duplicate entry '0' for key 1
+ERROR 23000: Duplicate entry '0' for key 'PRIMARY'
SELECT * from t1;
f1 f2 f3 f4
0 ABC NULL NULL
@@ -10645,7 +23806,7 @@ 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 1
+ERROR 23000: Duplicate entry '0' for key 'PRIMARY'
SELECT * from t1;
f1 f2 f3 f4
0 ABC NULL NULL
@@ -10876,17 +24037,13 @@ 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';
-
-Some server responses suffer from
-Bug#10773 Incorrect message is displayed while updating a view
---------------------------------------------------------------------------------
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;
-Got one of the listed errors
+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;
@@ -10894,7 +24051,7 @@ 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;
-Got one of the listed errors
+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;
@@ -10902,7 +24059,7 @@ 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;
-Got one of the listed errors
+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;
@@ -10910,7 +24067,7 @@ 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;
-Got one of the listed errors
+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;
@@ -10918,7 +24075,7 @@ 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;
-Got one of the listed errors
+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;
@@ -10926,7 +24083,7 @@ 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;
-Got one of the listed errors
+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;
@@ -10934,7 +24091,7 @@ 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;
-Got one of the listed errors
+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;
@@ -10942,7 +24099,7 @@ 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;
-Got one of the listed errors
+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;
@@ -10950,7 +24107,7 @@ 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;
-Got one of the listed errors
+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;
@@ -10980,11 +24137,11 @@ f1 bigint(20) YES NULL
f2 date YES NULL
f4 char(5) YES NULL
report char(10) YES NULL
-SELECT * FROM t1;
+SELECT * FROM t1 order by f1, report;
f1 f2 f4 report
-1 NULL ABC t1 0
-1 NULL ABC v1 0
-SELECT * FROM v1;
+SELECT * FROM v1 order by f1, report;
f1 f2 f4 report
-1 NULL ABC t1 0
-1 NULL ABC v1 0
@@ -11004,12 +24161,12 @@ 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;
+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;
+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);
@@ -11027,14 +24184,14 @@ f1 bigint(20) YES NULL
f2 date YES NULL
f4 char(10) YES NULL
report char(10) YES NULL
-SELECT * FROM t1;
+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;
+SELECT * FROM v1 order by f1, report;
f1 f2 f4 report
-1 NULL ABC t1 0
-1 NULL ABC v1 0
@@ -11063,7 +24220,7 @@ f1 bigint(20) YES NULL
f2 date YES NULL
f4 char(8) YES NULL
report char(10) YES NULL
-SELECT * FROM t1;
+SELECT * FROM t1 order by f1, report;
f1 f2 f4 report
-1 NULL ABC t1 0
-1 NULL ABC v1 0
@@ -11072,7 +24229,7 @@ f1 f2 f4 report
2 NULL <-- 10 - v1 2
3 NULL <-- 10 - t1 3
3 NULL <-- 10 - v1 3
-SELECT * FROM v1;
+SELECT * FROM v1 order by f1, report;
f1 f2 f4 report
-1 NULL ABC t1 0
-1 NULL ABC v1 0
@@ -11096,7 +24253,7 @@ f1 bigint(20) YES NULL
f2 date YES NULL
f4 varchar(20) YES NULL
report char(10) YES NULL
-SELECT * FROM t1;
+SELECT * FROM t1 order by f1, report;
f1 f2 f4 report
-1 NULL ABC t1 0
-1 NULL ABC v1 0
@@ -11107,7 +24264,7 @@ f1 f2 f4 report
3 NULL <-- 10 - v1 3
4 NULL <------ 20 --------> t1 4
4 NULL <------ 20 --------> v1 4
-SELECT * FROM v1;
+SELECT * FROM v1 order by f1, report;
f1 f2 f4 report
-1 NULL ABC t1 0
-1 NULL ABC v1 0
@@ -11119,9 +24276,9 @@ f1 f2 f4 report
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 ----------->',
+INSERT INTO t1 SET f1 = '<------------- 30 ----------->',
f4 = '<------ 20 -------->', report = 't1 5';
-INSERT INTO v1 SET f1 = '<------------- 30 ----------->',
+INSERT INTO v1 SET f1 = '<------------- 30 ----------->',
f4 = '<------ 20 -------->', report = 'v1 5';
DESCRIBE t1;
Field Type Null Key Default Extra
@@ -11135,7 +24292,7 @@ f1 varchar(30) YES NULL
f2 date YES NULL
f4 varchar(20) YES NULL
report char(10) YES NULL
-SELECT * FROM t1;
+SELECT * FROM t1 order by f1, report;
f1 f2 f4 report
-1 NULL ABC t1 0
-1 NULL ABC v1 0
@@ -11148,7 +24305,7 @@ f1 f2 f4 report
4 NULL <------ 20 --------> v1 4
<------------- 30 -----------> NULL <------ 20 --------> t1 5
<------------- 30 -----------> NULL <------ 20 --------> v1 5
-SELECT * FROM v1;
+SELECT * FROM v1 order by f1, report;
f1 f2 f4 report
-1 NULL ABC t1 0
-1 NULL ABC v1 0
@@ -11172,7 +24329,7 @@ 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;
+SELECT * FROM t1 order by f1, report;
f1 f4 report
-1 ABC t1 0
-1 ABC v1 0
@@ -11186,7 +24343,7 @@ f1 f4 report
<------------- 30 -----------> <------ 20 --------> t1 5
<------------- 30 -----------> <------ 20 --------> v1 5
ABC <------ 20 --------> t1 6
-SELECT * FROM v1;
+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',
@@ -11205,7 +24362,7 @@ f1 varchar(30) YES NULL
f2 date YES NULL
f4 varchar(20) YES NULL
report char(10) YES NULL
-SELECT * FROM t1;
+SELECT * FROM t1 order by f1, report;
f1 f4 report f2
-1 ABC t1 0 NULL
-1 ABC v1 0 NULL
@@ -11221,7 +24378,7 @@ f1 f4 report f2
ABC <------ 20 --------> t1 6 NULL
ABC <------ 20 --------> t1 7 1500-12-04
ABC <------ 20 --------> v1 7 1500-12-04
-SELECT * FROM v1;
+SELECT * FROM v1 order by f1, report;
f1 f2 f4 report
-1 NULL ABC t1 0
-1 NULL ABC v1 0
@@ -11255,7 +24412,7 @@ f1 varchar(30) YES NULL
f2 float YES NULL
f4 varchar(20) YES NULL
report char(10) YES NULL
-SELECT * FROM t1;
+SELECT * FROM t1 order by f1, report;
f1 f4 report f2
-1 ABC t1 0 NULL
-1 ABC v1 0 NULL
@@ -11270,10 +24427,10 @@ f1 f4 report f2
<------------- 30 -----------> <------ 20 --------> v1 5 NULL
ABC <------ 20 --------> t1 6 NULL
ABC <------ 20 --------> t1 7 NULL
-ABC <------ 20 --------> v1 7 NULL
ABC <------ 20 --------> t1 8 -0.00033
+ABC <------ 20 --------> v1 7 NULL
ABC <------ 20 --------> v1 8 -0.00033
-SELECT * FROM v1;
+SELECT * FROM v1 order by f1, report;
f1 f2 f4 report
-1 NULL ABC t1 0
-1 NULL ABC v1 0
@@ -11288,8 +24445,8 @@ f1 f2 f4 report
<------------- 30 -----------> NULL <------ 20 --------> v1 5
ABC NULL <------ 20 --------> t1 6
ABC NULL <------ 20 --------> t1 7
-ABC NULL <------ 20 --------> v1 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,
@@ -11312,7 +24469,7 @@ f1 varchar(30) YES NULL
f2 float YES NULL
f4 varchar(20) YES NULL
report char(10) YES NULL
-SELECT * FROM t1;
+SELECT * FROM t1 order by f1, report;
f1 f4 report f2 f3
-1 ABC t1 0 NULL NULL
-1 ABC v1 0 NULL NULL
@@ -11327,12 +24484,12 @@ f1 f4 report f2 f3
<------------- 30 -----------> <------ 20 --------> v1 5 NULL NULL
ABC <------ 20 --------> t1 6 NULL NULL
ABC <------ 20 --------> t1 7 NULL NULL
-ABC <------ 20 --------> v1 7 NULL NULL
ABC <------ 20 --------> t1 8 -0.00033 NULL
-ABC <------ 20 --------> v1 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;
+SELECT * FROM v1 order by f1, report;
f1 f2 f4 report
-1 NULL ABC t1 0
-1 NULL ABC v1 0
@@ -11347,10 +24504,10 @@ f1 f2 f4 report
<------------- 30 -----------> NULL <------ 20 --------> v1 5
ABC NULL <------ 20 --------> t1 6
ABC NULL <------ 20 --------> t1 7
-ABC NULL <------ 20 --------> v1 7
ABC -0.00033 <------ 20 --------> t1 8
-ABC -0.00033 <------ 20 --------> v1 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;
@@ -11365,10 +24522,10 @@ DESCRIBE v1;
Field Type Null Key Default Extra
f1 char(10) YES NULL
my_sqrt double YES NULL
-SELECT * FROM t1;
+SELECT * FROM t1 order by f1, f2;
f1 f2
ABC 3
-SELECT * FROM v1;
+SELECT * FROM v1 order by 2;
f1 my_sqrt
ABC 1.7320508075689
ALTER TABLE t1 CHANGE COLUMN f2 f2 VARCHAR(30);
@@ -11381,21 +24538,21 @@ DESCRIBE v1;
Field Type Null Key Default Extra
f1 char(10) YES NULL
my_sqrt double YES NULL
-SELECT * FROM t1;
+SELECT * FROM t1 order by f1, f2;
f1 f2
ABC 3
ABC DEF
-SELECT * FROM v1;
+SELECT * FROM v1 order by 2;
f1 my_sqrt
-ABC 1.7320508075689
ABC 0
+ABC 1.7320508075689
SELECT SQRT('DEF');
SQRT('DEF')
0
Warnings:
Warning 1292 Truncated incorrect DOUBLE value: 'DEF'
CREATE VIEW v2 AS SELECT SQRT('DEF');
-SELECT * FROM v2;
+SELECT * FROM v2 order by 1;
SQRT('DEF')
0
Warnings:
@@ -11405,27 +24562,30 @@ DESCRIBE v2;
Field Type Null Key Default Extra
f1 char(10) YES NULL
my_sqrt double YES NULL
-SELECT * FROM v2;
+SELECT * FROM v2 order by 2;
f1 my_sqrt
-ABC 1.7320508075689
ABC 0
+ABC 1.7320508075689
CREATE TABLE t2 AS SELECT f1, SQRT(f2) my_sqrt FROM t1;
-SELECT * FROM t2;
-f1 my_sqrt
-ABC 1.73205080756888
-ABC 0
+SELECT * FROM t2 order by 2;
+f1 ABC
+my_sqrt 0
+f1 ABC
+my_sqrt 1.73205080756888
DROP TABLE t2;
CREATE TABLE t2 AS SELECT * FROM v1;
-SELECT * FROM t2;
-f1 my_sqrt
-ABC 1.73205080756888
-ABC 0
+SELECT * FROM t2 order by 2;
+f1 ABC
+my_sqrt 0
+f1 ABC
+my_sqrt 1.73205080756888
DROP TABLE t2;
CREATE TABLE t2 AS SELECT * FROM v2;
-SELECT * FROM t2;
-f1 my_sqrt
-ABC 1.73205080756888
-ABC 0
+SELECT * FROM t2 order by 2;
+f1 ABC
+my_sqrt 0
+f1 ABC
+my_sqrt 1.73205080756888
DROP TABLE t1;
DROP TABLE t2;
DROP VIEW v1;
@@ -11440,4 +24600,5 @@ DROP VIEW IF EXISTS v1_secondview;
DROP VIEW IF EXISTS v2;
DROP DATABASE IF EXISTS test2;
DROP DATABASE IF EXISTS test3;
-DROP DATABASE IF EXISTS test1;
+DROP DATABASE test1;
+DROP TABLE test.tb2;
diff --git a/mysql-test/suite/funcs_1/r/ndb__datadict.result b/mysql-test/suite/funcs_1/r/ndb__datadict.result
deleted file mode 100644
index cf3b5c29bfe..00000000000
--- a/mysql-test/suite/funcs_1/r/ndb__datadict.result
+++ /dev/null
@@ -1,14921 +0,0 @@
-
-.
-. It is intended that the 3 <engine>__datadict.test files are named this way to be
-. sure they are - in a *full run* of the suite - the first tests done for each
-. storage engine. Using two _ and the order of processing in mysql-test-run.pl
-. ensures this in an easy way.
-.
-. If needed a restart could be implemented later between the storage engines if
-. values changes in the result depending from the position where the
-. *__datadict.test are started. This can be a result of showing e.g. maximum
-. values of the number of rows of tables.
-.
-. This .result file has been checked OK with Linux 5.0.23-bk,
-. ChangeSet@1.2211, 2006-06-28 10:11:43-07:00.
-.
---------------------------------------------------------------------------------
-
-FIXME: There are subtests that are switched off due to known bugs:
-------------------------------------------------------------------
-SELECT 1 AS "have_bug_11589";
-have_bug_11589
-1
-
-There are some statements where the ps-protocol is switched off.
-This may come from the bug listed below, ir from other problems.
-Bug#11589: mysqltest, --ps-protocol, strange output, float/double/real with zerofill
---------------------------------------------------------------------------------
-SET @NO_REFRESH = IF( '' = '', 0, 1);
-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 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' INTO TABLE t1;
-LOAD DATA INFILE 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' INTO TABLE t2;
-LOAD DATA INFILE 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' INTO TABLE t4;
-LOAD DATA INFILE 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' INTO TABLE t10;
-LOAD DATA INFILE 'MYSQL_TEST_DIR/suite/funcs_1/data/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 'MYSQL_TEST_DIR/suite/funcs_1/data/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 'MYSQL_TEST_DIR/suite/funcs_1/data/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 'MYSQL_TEST_DIR/suite/funcs_1/data/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 'MYSQL_TEST_DIR/suite/funcs_1/data/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 'MYSQL_TEST_DIR/suite/funcs_1/data/t9.txt' INTO TABLE t9;
-use information_schema;
-
-root@localhost information_schema
-
-Testcase 3.2.1.1:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-CREATE DATABASE db_datadict;
-USE db_datadict;
-CREATE VIEW v1 AS SELECT * FROM information_schema.tables;
-CREATE OR REPLACE VIEW db_datadict.vu1 as
-SELECT grantee AS u
-FROM information_schema.user_privileges;
-CREATE OR REPLACE VIEW db_datadict.vu as
-SELECT DISTINCT u,
-SUBSTRING( u, LENGTH(SUBSTRING_INDEX(u,_utf8'@',1))+3 )
-AS server,
-SUBSTRING( u, LENGTH(SUBSTRING_INDEX(u,_utf8'@',1))+3,
-LENGTH( SUBSTRING( u,
-LENGTH( SUBSTRING_INDEX(u, _utf8'@',1)) +3 )) - 1 )
-AS Server_Clean
-FROM db_datadict.vu1;
-SELECT * FROM db_datadict.vu order by u;
-u server Server_Clean
-'root'@'127.0.0.1' 127.0.0.1' 127.0.0.1
-'root'@'<SERVER_NAME>' <SERVER_NAME>' <SERVER_NAME>
-'root'@'localhost' localhost' localhost
-CREATE PROCEDURE db_datadict.sp_1()
-BEGIN
-SELECT * FROM db_datadict.v1;
-END//
-USE information_schema;
-SHOW tables;
-Tables_in_information_schema
-CHARACTER_SETS
-COLLATIONS
-COLLATION_CHARACTER_SET_APPLICABILITY
-COLUMNS
-COLUMN_PRIVILEGES
-ENGINES
-EVENTS
-FILES
-GLOBAL_STATUS
-GLOBAL_VARIABLES
-KEY_COLUMN_USAGE
-PARTITIONS
-PLUGINS
-PROCESSLIST
-REFERENTIAL_CONSTRAINTS
-ROUTINES
-SCHEMATA
-SCHEMA_PRIVILEGES
-SESSION_STATUS
-SESSION_VARIABLES
-STATISTICS
-TABLES
-TABLE_CONSTRAINTS
-TABLE_PRIVILEGES
-TRIGGERS
-USER_PRIVILEGES
-VIEWS
-select * from schemata ORDER BY 2 DESC, 1 ASC;
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL test4 latin1 latin1_swedish_ci NULL
-NULL test1 latin1 latin1_swedish_ci NULL
-NULL test latin1 latin1_swedish_ci NULL
-NULL mysql latin1 latin1_swedish_ci NULL
-NULL information_schema utf8 utf8_general_ci NULL
-NULL db_datadict latin1 latin1_swedish_ci NULL
-SELECT * FROM tables
-WHERE table_schema = 'information_schema';
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME CHARACTER_SETS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME COLLATIONS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME COLLATION_CHARACTER_SET_APPLICABILITY
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME COLUMNS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME COLUMN_PRIVILEGES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME ENGINES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME EVENTS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME FILES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME GLOBAL_STATUS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME GLOBAL_VARIABLES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME KEY_COLUMN_USAGE
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME PARTITIONS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME PLUGINS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME PROCESSLIST
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME REFERENTIAL_CONSTRAINTS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME ROUTINES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME SCHEMATA
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME SCHEMA_PRIVILEGES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME SESSION_STATUS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME SESSION_VARIABLES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME STATISTICS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME TABLES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME TABLE_CONSTRAINTS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME TABLE_PRIVILEGES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME TRIGGERS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME USER_PRIVILEGES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME VIEWS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-SELECT * FROM tables
-WHERE NOT( table_schema = 'information_schema');
-TABLE_CATALOG NULL
-TABLE_SCHEMA db_datadict
-TABLE_NAME v1
-TABLE_TYPE VIEW
-ENGINE NULL
-VERSION NULL
-ROW_FORMAT NULL
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION NULL
-CHECKSUM NULL
-CREATE_OPTIONS NULL
-TABLE_COMMENT VIEW
-TABLE_CATALOG NULL
-TABLE_SCHEMA db_datadict
-TABLE_NAME vu
-TABLE_TYPE VIEW
-ENGINE NULL
-VERSION NULL
-ROW_FORMAT NULL
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION NULL
-CHECKSUM NULL
-CREATE_OPTIONS NULL
-TABLE_COMMENT VIEW
-TABLE_CATALOG NULL
-TABLE_SCHEMA db_datadict
-TABLE_NAME vu1
-TABLE_TYPE VIEW
-ENGINE NULL
-VERSION NULL
-ROW_FORMAT NULL
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION NULL
-CHECKSUM NULL
-CREATE_OPTIONS NULL
-TABLE_COMMENT VIEW
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME user
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 3
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Users and global privileges
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME columns_priv
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Column privileges
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME db
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 2
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Database privileges
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME event
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Events
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME func
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT User defined functions
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME general_log
-TABLE_TYPE BASE TABLE
-ENGINE CSV
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 2
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT General log
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME help_category
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT help categories
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME help_keyword
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT help keywords
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME help_relation
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT keyword-topic relation
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME help_topic
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT help topics
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME host
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Host privileges; Merged with database privileges
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME ndb_apply_status
-TABLE_TYPE BASE TABLE
-ENGINE NDBCLUSTER
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT number_of_replicas: 2
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME ndb_binlog_index
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 5
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME plugin
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT MySQL plugins
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME proc
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 1
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Stored Procedures
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME procs_priv
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Procedure privileges
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME servers
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT MySQL Foreign Servers table
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME slow_log
-TABLE_TYPE BASE TABLE
-ENGINE CSV
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 2
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Slow log
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME tables_priv
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Table privileges
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME time_zone
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 5
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT 6
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Time zones
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME time_zone_leap_second
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 22
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Leap seconds information for time zones
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME time_zone_name
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 6
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Time zone names
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME time_zone_transition
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 393
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Time zone transitions
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME time_zone_transition_type
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 31
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Time zone transition types
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t1
-TABLE_TYPE BASE TABLE
-ENGINE NDBCLUSTER
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT number_of_replicas: 2
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t10
-TABLE_TYPE BASE TABLE
-ENGINE NDBCLUSTER
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT number_of_replicas: 2
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t11
-TABLE_TYPE BASE TABLE
-ENGINE NDBCLUSTER
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT number_of_replicas: 2
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t2
-TABLE_TYPE BASE TABLE
-ENGINE NDBCLUSTER
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT number_of_replicas: 2
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t3
-TABLE_TYPE BASE TABLE
-ENGINE NDBCLUSTER
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT number_of_replicas: 2
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t4
-TABLE_TYPE BASE TABLE
-ENGINE NDBCLUSTER
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT number_of_replicas: 2
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t7
-TABLE_TYPE BASE TABLE
-ENGINE NDBCLUSTER
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT number_of_replicas: 2
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t8
-TABLE_TYPE BASE TABLE
-ENGINE NDBCLUSTER
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT number_of_replicas: 2
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t9
-TABLE_TYPE BASE TABLE
-ENGINE NDBCLUSTER
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT number_of_replicas: 2
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME tb1
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME tb2
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 54
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME tb3
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 11
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME tb4
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test4
-TABLE_NAME t6
-TABLE_TYPE BASE TABLE
-ENGINE NDBCLUSTER
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT number_of_replicas: 2
-select s.catalog_name, s.schema_name, s.default_character_set_name,
-t.table_type, t.engine
-from schemata s inner join tables t
-ORDER BY s.schema_name, s.default_character_set_name, table_type, engine;
-catalog_name schema_name default_character_set_name table_type engine
-NULL db_datadict latin1 BASE TABLE CSV
-NULL db_datadict latin1 BASE TABLE CSV
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE NDBCLUSTER
-NULL db_datadict latin1 BASE TABLE NDBCLUSTER
-NULL db_datadict latin1 BASE TABLE NDBCLUSTER
-NULL db_datadict latin1 BASE TABLE NDBCLUSTER
-NULL db_datadict latin1 BASE TABLE NDBCLUSTER
-NULL db_datadict latin1 BASE TABLE NDBCLUSTER
-NULL db_datadict latin1 BASE TABLE NDBCLUSTER
-NULL db_datadict latin1 BASE TABLE NDBCLUSTER
-NULL db_datadict latin1 BASE TABLE NDBCLUSTER
-NULL db_datadict latin1 BASE TABLE NDBCLUSTER
-NULL db_datadict latin1 BASE TABLE NDBCLUSTER
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 VIEW NULL
-NULL db_datadict latin1 VIEW NULL
-NULL db_datadict latin1 VIEW NULL
-NULL information_schema utf8 BASE TABLE CSV
-NULL information_schema utf8 BASE TABLE CSV
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE NDBCLUSTER
-NULL information_schema utf8 BASE TABLE NDBCLUSTER
-NULL information_schema utf8 BASE TABLE NDBCLUSTER
-NULL information_schema utf8 BASE TABLE NDBCLUSTER
-NULL information_schema utf8 BASE TABLE NDBCLUSTER
-NULL information_schema utf8 BASE TABLE NDBCLUSTER
-NULL information_schema utf8 BASE TABLE NDBCLUSTER
-NULL information_schema utf8 BASE TABLE NDBCLUSTER
-NULL information_schema utf8 BASE TABLE NDBCLUSTER
-NULL information_schema utf8 BASE TABLE NDBCLUSTER
-NULL information_schema utf8 BASE TABLE NDBCLUSTER
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 VIEW NULL
-NULL information_schema utf8 VIEW NULL
-NULL information_schema utf8 VIEW NULL
-NULL mysql latin1 BASE TABLE CSV
-NULL mysql latin1 BASE TABLE CSV
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE NDBCLUSTER
-NULL mysql latin1 BASE TABLE NDBCLUSTER
-NULL mysql latin1 BASE TABLE NDBCLUSTER
-NULL mysql latin1 BASE TABLE NDBCLUSTER
-NULL mysql latin1 BASE TABLE NDBCLUSTER
-NULL mysql latin1 BASE TABLE NDBCLUSTER
-NULL mysql latin1 BASE TABLE NDBCLUSTER
-NULL mysql latin1 BASE TABLE NDBCLUSTER
-NULL mysql latin1 BASE TABLE NDBCLUSTER
-NULL mysql latin1 BASE TABLE NDBCLUSTER
-NULL mysql latin1 BASE TABLE NDBCLUSTER
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 VIEW NULL
-NULL mysql latin1 VIEW NULL
-NULL mysql latin1 VIEW NULL
-NULL test latin1 BASE TABLE CSV
-NULL test latin1 BASE TABLE CSV
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE NDBCLUSTER
-NULL test latin1 BASE TABLE NDBCLUSTER
-NULL test latin1 BASE TABLE NDBCLUSTER
-NULL test latin1 BASE TABLE NDBCLUSTER
-NULL test latin1 BASE TABLE NDBCLUSTER
-NULL test latin1 BASE TABLE NDBCLUSTER
-NULL test latin1 BASE TABLE NDBCLUSTER
-NULL test latin1 BASE TABLE NDBCLUSTER
-NULL test latin1 BASE TABLE NDBCLUSTER
-NULL test latin1 BASE TABLE NDBCLUSTER
-NULL test latin1 BASE TABLE NDBCLUSTER
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 VIEW NULL
-NULL test latin1 VIEW NULL
-NULL test latin1 VIEW NULL
-NULL test1 latin1 BASE TABLE CSV
-NULL test1 latin1 BASE TABLE CSV
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE NDBCLUSTER
-NULL test1 latin1 BASE TABLE NDBCLUSTER
-NULL test1 latin1 BASE TABLE NDBCLUSTER
-NULL test1 latin1 BASE TABLE NDBCLUSTER
-NULL test1 latin1 BASE TABLE NDBCLUSTER
-NULL test1 latin1 BASE TABLE NDBCLUSTER
-NULL test1 latin1 BASE TABLE NDBCLUSTER
-NULL test1 latin1 BASE TABLE NDBCLUSTER
-NULL test1 latin1 BASE TABLE NDBCLUSTER
-NULL test1 latin1 BASE TABLE NDBCLUSTER
-NULL test1 latin1 BASE TABLE NDBCLUSTER
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 VIEW NULL
-NULL test1 latin1 VIEW NULL
-NULL test1 latin1 VIEW NULL
-NULL test4 latin1 BASE TABLE CSV
-NULL test4 latin1 BASE TABLE CSV
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE NDBCLUSTER
-NULL test4 latin1 BASE TABLE NDBCLUSTER
-NULL test4 latin1 BASE TABLE NDBCLUSTER
-NULL test4 latin1 BASE TABLE NDBCLUSTER
-NULL test4 latin1 BASE TABLE NDBCLUSTER
-NULL test4 latin1 BASE TABLE NDBCLUSTER
-NULL test4 latin1 BASE TABLE NDBCLUSTER
-NULL test4 latin1 BASE TABLE NDBCLUSTER
-NULL test4 latin1 BASE TABLE NDBCLUSTER
-NULL test4 latin1 BASE TABLE NDBCLUSTER
-NULL test4 latin1 BASE TABLE NDBCLUSTER
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 VIEW NULL
-NULL test4 latin1 VIEW NULL
-NULL test4 latin1 VIEW NULL
-select * from columns;
-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
-NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema CHARACTER_SETS DESCRIPTION 3 NO varchar 60 180 NULL NULL utf8 utf8_general_ci varchar(60) select
-NULL information_schema CHARACTER_SETS MAXLEN 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema COLLATIONS COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATIONS CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATIONS ID 3 0 NO bigint NULL NULL 19 0 NULL NULL bigint(11) select
-NULL information_schema COLLATIONS IS_DEFAULT 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLLATIONS IS_COMPILED 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLLATIONS SORTLEN 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLUMN_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLUMN_TYPE 15 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema COLUMNS COLUMN_KEY 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLUMNS EXTRA 17 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema COLUMNS PRIVILEGES 18 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema COLUMNS COLUMN_COMMENT 19 NO varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
-NULL information_schema COLUMN_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES COLUMN_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES PRIVILEGE_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES IS_GRANTABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ENGINES ENGINE 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ENGINES SUPPORT 2 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema ENGINES COMMENT 3 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema ENGINES TRANSACTIONS 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ENGINES XA 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ENGINES SAVEPOINTS 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema EVENTS EVENT_CATALOG 1 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS EVENT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS EVENT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS DEFINER 4 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
-NULL information_schema EVENTS TIME_ZONE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS EVENT_BODY 6 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema EVENTS EVENT_DEFINITION 7 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema EVENTS EVENT_TYPE 8 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
-NULL information_schema EVENTS EXECUTE_AT 9 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS INTERVAL_VALUE 10 NULL YES varchar 256 768 NULL NULL utf8 utf8_general_ci varchar(256) select
-NULL information_schema EVENTS INTERVAL_FIELD 11 NULL YES varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select
-NULL information_schema EVENTS SQL_MODE 12 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema EVENTS STARTS 13 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS ENDS 14 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS STATUS 15 NO varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select
-NULL information_schema EVENTS ON_COMPLETION 16 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema EVENTS CREATED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS LAST_ALTERED 18 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS LAST_EXECUTED 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS EVENT_COMMENT 20 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS ORIGINATOR 21 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select
-NULL information_schema FILES FILE_ID 1 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES FILE_NAME 2 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES FILE_TYPE 3 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema FILES TABLESPACE_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES TABLE_CATALOG 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES TABLE_SCHEMA 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES TABLE_NAME 7 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES LOGFILE_GROUP_NAME 8 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES LOGFILE_GROUP_NUMBER 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES ENGINE 10 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES FULLTEXT_KEYS 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES DELETED_ROWS 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES UPDATE_COUNT 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES FREE_EXTENTS 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES TOTAL_EXTENTS 15 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES EXTENT_SIZE 16 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES INITIAL_SIZE 17 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES MAXIMUM_SIZE 18 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES AUTOEXTEND_SIZE 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES CREATION_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES LAST_UPDATE_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES LAST_ACCESS_TIME 22 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES RECOVER_TIME 23 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES TRANSACTION_COUNTER 24 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES VERSION 25 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES ROW_FORMAT 26 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema FILES TABLE_ROWS 27 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES AVG_ROW_LENGTH 28 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES DATA_LENGTH 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES MAX_DATA_LENGTH 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES INDEX_LENGTH 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES DATA_FREE 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES CREATE_TIME 33 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES UPDATE_TIME 34 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES CHECK_TIME 35 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES CHECKSUM 36 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES STATUS 37 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema FILES EXTRA 38 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
-NULL information_schema GLOBAL_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema GLOBAL_STATUS VARIABLE_VALUE 2 0.0000000 NO decimal NULL NULL 22 7 NULL NULL decimal(22,7) select
-NULL information_schema GLOBAL_VARIABLES VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema GLOBAL_VARIABLES VARIABLE_VALUE 2 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE COLUMN_NAME 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE ORDINAL_POSITION 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select
-NULL information_schema KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(10) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_NAME 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME 12 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema PARTITIONS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS PARTITION_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS SUBPARTITION_NAME 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION 7 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS PARTITION_METHOD 8 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema PARTITIONS SUBPARTITION_METHOD 9 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema PARTITIONS PARTITION_EXPRESSION 10 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PARTITIONS SUBPARTITION_EXPRESSION 11 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PARTITIONS PARTITION_DESCRIPTION 12 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PARTITIONS TABLE_ROWS 13 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS AVG_ROW_LENGTH 14 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS DATA_LENGTH 15 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS MAX_DATA_LENGTH 16 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS INDEX_LENGTH 17 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS DATA_FREE 18 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS CREATE_TIME 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema PARTITIONS UPDATE_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema PARTITIONS CHECK_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema PARTITIONS CHECKSUM 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS PARTITION_COMMENT 23 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema PARTITIONS NODEGROUP 24 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema PARTITIONS TABLESPACE_NAME 25 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_VERSION 2 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema PLUGINS PLUGIN_STATUS 3 NO varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema PLUGINS PLUGIN_TYPE 4 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema PLUGINS PLUGIN_TYPE_VERSION 5 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema PLUGINS PLUGIN_LIBRARY 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_LIBRARY_VERSION 7 NULL YES varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema PLUGINS PLUGIN_AUTHOR 8 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_DESCRIPTION 9 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PLUGINS PLUGIN_LICENSE 10 NULL YES varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema PROCESSLIST ID 1 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema PROCESSLIST USER 2 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema PROCESSLIST HOST 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PROCESSLIST DB 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PROCESSLIST COMMAND 5 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema PROCESSLIST TIME 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(7) select
-NULL information_schema PROCESSLIST STATE 7 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PROCESSLIST INFO 8 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS MATCH_OPTION 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UPDATE_RULE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS DELETE_RULE 9 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS TABLE_NAME 10 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS REFERENCED_TABLE_NAME 11 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES SPECIFIC_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema ROUTINES ROUTINE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_TYPE 5 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
-NULL information_schema ROUTINES DTD_IDENTIFIER 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_BODY 7 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema ROUTINES ROUTINE_DEFINITION 8 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema ROUTINES EXTERNAL_NAME 9 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES EXTERNAL_LANGUAGE 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES PARAMETER_STYLE 11 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema ROUTINES IS_DETERMINISTIC 12 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ROUTINES SQL_DATA_ACCESS 13 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES SQL_PATH 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES SECURITY_TYPE 15 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select
-NULL information_schema ROUTINES CREATED 16 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema ROUTINES LAST_ALTERED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema ROUTINES SQL_MODE 18 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema ROUTINES ROUTINE_COMMENT 19 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES DEFINER 20 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
-NULL information_schema SCHEMATA CATALOG_NAME 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema SCHEMATA SCHEMA_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA DEFAULT_COLLATION_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA SQL_PATH 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema SCHEMA_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema SCHEMA_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMA_PRIVILEGES IS_GRANTABLE 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema SESSION_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SESSION_STATUS VARIABLE_VALUE 2 0.0000000 NO decimal NULL NULL 22 7 NULL NULL decimal(22,7) select
-NULL information_schema SESSION_VARIABLES VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SESSION_VARIABLES VARIABLE_VALUE 2 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema STATISTICS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema STATISTICS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS NON_UNIQUE 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(1) select
-NULL information_schema STATISTICS INDEX_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS INDEX_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS SEQ_IN_INDEX 7 0 NO bigint NULL NULL 19 0 NULL NULL bigint(2) select
-NULL information_schema STATISTICS COLUMN_NAME 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS COLLATION 9 NULL YES varchar 1 3 NULL NULL utf8 utf8_general_ci varchar(1) select
-NULL information_schema STATISTICS CARDINALITY 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select
-NULL information_schema STATISTICS SUB_PART 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema STATISTICS PACKED 12 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema STATISTICS NULLABLE 13 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema STATISTICS INDEX_TYPE 14 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema STATISTICS COMMENT 15 NULL YES varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema TABLES TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
-NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS TABLE_SCHEMA 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS TABLE_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema TABLE_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLE_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES PRIVILEGE_TYPE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES IS_GRANTABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema TRIGGERS TRIGGER_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TRIGGERS TRIGGER_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS TRIGGER_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS EVENT_MANIPULATION 4 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select
-NULL information_schema TRIGGERS EVENT_OBJECT_CATALOG 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TRIGGERS EVENT_OBJECT_SCHEMA 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS EVENT_OBJECT_TABLE 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_ORDER 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema TRIGGERS ACTION_CONDITION 9 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS ACTION_STATEMENT 10 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS ACTION_ORIENTATION 11 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
-NULL information_schema TRIGGERS ACTION_TIMING 12 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_TABLE 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_TABLE 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_ROW 15 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_ROW 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema TRIGGERS CREATED 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TRIGGERS SQL_MODE 18 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS DEFINER 19 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema USER_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema USER_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema USER_PRIVILEGES PRIVILEGE_TYPE 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema USER_PRIVILEGES IS_GRANTABLE 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema VIEWS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema VIEWS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema VIEWS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema VIEWS VIEW_DEFINITION 4 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema VIEWS CHECK_OPTION 5 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema VIEWS IS_UPDATABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema VIEWS DEFINER 7 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
-NULL information_schema VIEWS SECURITY_TYPE 8 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select
-NULL db_datadict v1 TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select,insert,update,references
-NULL db_datadict v1 TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
-NULL db_datadict v1 TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
-NULL db_datadict v1 TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
-NULL db_datadict v1 ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
-NULL db_datadict v1 VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references
-NULL db_datadict v1 ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select,insert,update,references
-NULL db_datadict v1 TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references
-NULL db_datadict v1 AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references
-NULL db_datadict v1 DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references
-NULL db_datadict v1 MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references
-NULL db_datadict v1 INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references
-NULL db_datadict v1 DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references
-NULL db_datadict v1 AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references
-NULL db_datadict v1 CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL db_datadict v1 UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL db_datadict v1 CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL db_datadict v1 TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
-NULL db_datadict v1 CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references
-NULL db_datadict v1 CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select,insert,update,references
-NULL db_datadict v1 TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select,insert,update,references
-NULL db_datadict vu u 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select,insert,update,references
-NULL db_datadict vu server 2 NO varchar 243 729 NULL NULL utf8 utf8_general_ci varchar(243) select,insert,update,references
-NULL db_datadict vu Server_Clean 3 NO varchar 243 729 NULL NULL utf8 utf8_general_ci varchar(243) select,insert,update,references
-NULL db_datadict vu1 u 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select,insert,update,references
-NULL mysql user Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
-NULL mysql user User 2 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
-NULL mysql user Password 3 NO char 41 41 NULL NULL latin1 latin1_bin char(41) select,insert,update,references
-NULL mysql user Select_priv 4 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Insert_priv 5 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Update_priv 6 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Delete_priv 7 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Create_priv 8 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Drop_priv 9 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Reload_priv 10 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Shutdown_priv 11 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Process_priv 12 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user File_priv 13 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Grant_priv 14 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user References_priv 15 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Index_priv 16 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Alter_priv 17 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Show_db_priv 18 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Super_priv 19 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Create_tmp_table_priv 20 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Lock_tables_priv 21 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Execute_priv 22 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Repl_slave_priv 23 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Repl_client_priv 24 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Create_view_priv 25 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Show_view_priv 26 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Create_routine_priv 27 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Alter_routine_priv 28 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Create_user_priv 29 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Event_priv 30 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Trigger_priv 31 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user ssl_type 32 NO enum 9 27 NULL NULL utf8 utf8_general_ci enum('','ANY','X509','SPECIFIED') select,insert,update,references
-NULL mysql user ssl_cipher 33 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
-NULL mysql user x509_issuer 34 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
-NULL mysql user x509_subject 35 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
-NULL mysql user max_questions 36 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references
-NULL mysql user max_updates 37 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references
-NULL mysql user max_connections 38 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references
-NULL mysql user max_user_connections 39 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references
-NULL mysql columns_priv Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
-NULL mysql columns_priv Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql columns_priv User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
-NULL mysql columns_priv Table_name 4 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql columns_priv Column_name 5 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql columns_priv Timestamp 6 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql columns_priv Column_priv 7 NO set 31 93 NULL NULL utf8 utf8_general_ci set('Select','Insert','Update','References') select,insert,update,references
-NULL mysql db Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
-NULL mysql db Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql db User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
-NULL mysql db Select_priv 4 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Insert_priv 5 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Update_priv 6 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Delete_priv 7 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Create_priv 8 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Drop_priv 9 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Grant_priv 10 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db References_priv 11 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Index_priv 12 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Alter_priv 13 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Create_tmp_table_priv 14 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Lock_tables_priv 15 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Create_view_priv 16 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Show_view_priv 17 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Create_routine_priv 18 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Alter_routine_priv 19 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Execute_priv 20 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Event_priv 21 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Trigger_priv 22 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql event db 1 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql event name 2 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) PRI select,insert,update,references
-NULL mysql event body 3 NULL NO longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references
-NULL mysql event definer 4 NO char 77 231 NULL NULL utf8 utf8_bin char(77) select,insert,update,references
-NULL mysql event execute_at 5 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL mysql event interval_value 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql event interval_field 7 NULL YES enum 18 54 NULL NULL utf8 utf8_general_ci enum('YEAR','QUARTER','MONTH','DAY','HOUR','MINUTE','WEEK','SECOND','MICROSECOND','YEAR_MONTH','DAY_HOUR','DAY_MINUTE','DAY_SECOND','HOUR_MINUTE','HOUR_SECOND','MINUTE_SECOND','DAY_MICROSECOND','HOUR_MICROSECOND','MINUTE_MICROSECOND','SECOND_MICROSECOND') select,insert,update,references
-NULL mysql event created 8 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql event modified 9 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql event last_executed 10 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL mysql event starts 11 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL mysql event ends 12 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL mysql event status 13 ENABLED NO enum 18 54 NULL NULL utf8 utf8_general_ci enum('ENABLED','DISABLED','SLAVESIDE_DISABLED') select,insert,update,references
-NULL mysql event on_completion 14 DROP NO enum 8 24 NULL NULL utf8 utf8_general_ci enum('DROP','PRESERVE') select,insert,update,references
-NULL mysql event sql_mode 15 NO set 431 1293 NULL NULL utf8 utf8_general_ci set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE') select,insert,update,references
-NULL mysql event comment 16 NO char 64 192 NULL NULL utf8 utf8_bin char(64) select,insert,update,references
-NULL mysql event originator 17 NULL NO int NULL NULL 10 0 NULL NULL int(10) select,insert,update,references
-NULL mysql event time_zone 18 SYSTEM NO char 64 64 NULL NULL latin1 latin1_swedish_ci char(64) select,insert,update,references
-NULL mysql func name 1 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql func ret 2 0 NO tinyint NULL NULL 3 0 NULL NULL tinyint(1) select,insert,update,references
-NULL mysql func dl 3 NO char 128 384 NULL NULL utf8 utf8_bin char(128) select,insert,update,references
-NULL mysql func type 4 NULL NO enum 9 27 NULL NULL utf8 utf8_general_ci enum('function','aggregate') select,insert,update,references
-NULL mysql general_log event_time 1 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql general_log user_host 2 NULL YES mediumtext 16777215 16777215 NULL NULL utf8 utf8_general_ci mediumtext select,insert,update,references
-NULL mysql general_log thread_id 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql general_log server_id 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql general_log command_type 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
-NULL mysql general_log argument 6 NULL YES mediumtext 16777215 16777215 NULL NULL utf8 utf8_general_ci mediumtext select,insert,update,references
-NULL mysql help_category help_category_id 1 NULL NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned PRI select,insert,update,references
-NULL mysql help_category name 2 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) UNI select,insert,update,references
-NULL mysql help_category parent_category_id 3 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references
-NULL mysql help_category url 4 NULL NO char 128 384 NULL NULL utf8 utf8_general_ci char(128) select,insert,update,references
-NULL mysql help_keyword help_keyword_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references
-NULL mysql help_keyword name 2 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) UNI select,insert,update,references
-NULL mysql help_relation help_topic_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references
-NULL mysql help_relation help_keyword_id 2 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references
-NULL mysql help_topic help_topic_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references
-NULL mysql help_topic name 2 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) UNI select,insert,update,references
-NULL mysql help_topic help_category_id 3 NULL NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references
-NULL mysql help_topic description 4 NULL NO text 65535 65535 NULL NULL utf8 utf8_general_ci text select,insert,update,references
-NULL mysql help_topic example 5 NULL NO text 65535 65535 NULL NULL utf8 utf8_general_ci text select,insert,update,references
-NULL mysql help_topic url 6 NULL NO char 128 384 NULL NULL utf8 utf8_general_ci char(128) select,insert,update,references
-NULL mysql host Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
-NULL mysql host Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql host Select_priv 3 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Insert_priv 4 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Update_priv 5 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Delete_priv 6 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Create_priv 7 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Drop_priv 8 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Grant_priv 9 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host References_priv 10 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Index_priv 11 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Alter_priv 12 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Create_tmp_table_priv 13 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Lock_tables_priv 14 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Create_view_priv 15 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Show_view_priv 16 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Create_routine_priv 17 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Alter_routine_priv 18 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Execute_priv 19 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Trigger_priv 20 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql ndb_apply_status server_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references
-NULL mysql ndb_apply_status epoch 2 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL mysql ndb_apply_status log_name 3 NULL NO varchar 255 255 NULL NULL latin1 latin1_bin varchar(255) select,insert,update,references
-NULL mysql ndb_apply_status start_pos 4 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL mysql ndb_apply_status end_pos 5 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL mysql ndb_binlog_index Position 1 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL mysql ndb_binlog_index File 2 NULL NO varchar 255 255 NULL NULL latin1 latin1_swedish_ci varchar(255) select,insert,update,references
-NULL mysql ndb_binlog_index epoch 3 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned PRI select,insert,update,references
-NULL mysql ndb_binlog_index inserts 4 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL mysql ndb_binlog_index updates 5 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL mysql ndb_binlog_index deletes 6 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL mysql ndb_binlog_index schemaops 7 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL mysql plugin name 1 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql plugin dl 2 NO char 128 384 NULL NULL utf8 utf8_bin char(128) select,insert,update,references
-NULL mysql proc db 1 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql proc name 2 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) PRI select,insert,update,references
-NULL mysql proc type 3 NULL NO enum 9 27 NULL NULL utf8 utf8_general_ci enum('FUNCTION','PROCEDURE') PRI select,insert,update,references
-NULL mysql proc specific_name 4 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql proc language 5 SQL NO enum 3 9 NULL NULL utf8 utf8_general_ci enum('SQL') select,insert,update,references
-NULL mysql proc sql_data_access 6 CONTAINS_SQL NO enum 17 51 NULL NULL utf8 utf8_general_ci enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA') select,insert,update,references
-NULL mysql proc is_deterministic 7 NO NO enum 3 9 NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references
-NULL mysql proc security_type 8 DEFINER NO enum 7 21 NULL NULL utf8 utf8_general_ci enum('INVOKER','DEFINER') select,insert,update,references
-NULL mysql proc param_list 9 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
-NULL mysql proc returns 10 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql proc body 11 NULL NO longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references
-NULL mysql proc definer 12 NO char 77 231 NULL NULL utf8 utf8_bin char(77) select,insert,update,references
-NULL mysql proc created 13 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql proc modified 14 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql proc sql_mode 15 NO set 431 1293 NULL NULL utf8 utf8_general_ci set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE') select,insert,update,references
-NULL mysql proc comment 16 NO char 64 192 NULL NULL utf8 utf8_bin char(64) select,insert,update,references
-NULL mysql procs_priv Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
-NULL mysql procs_priv Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql procs_priv User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
-NULL mysql procs_priv Routine_name 4 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql procs_priv Routine_type 5 NULL NO enum 9 27 NULL NULL utf8 utf8_bin enum('FUNCTION','PROCEDURE') PRI select,insert,update,references
-NULL mysql procs_priv Grantor 6 NO char 77 231 NULL NULL utf8 utf8_bin char(77) MUL select,insert,update,references
-NULL mysql procs_priv Proc_priv 7 NO set 27 81 NULL NULL utf8 utf8_general_ci set('Execute','Alter Routine','Grant') select,insert,update,references
-NULL mysql procs_priv Timestamp 8 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql servers Server_name 1 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) PRI select,insert,update,references
-NULL mysql servers Host 2 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql servers Db 3 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql servers Username 4 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql servers Password 5 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql servers Port 6 0 NO int NULL NULL 10 0 NULL NULL int(4) select,insert,update,references
-NULL mysql servers Socket 7 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql servers Wrapper 8 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql servers Owner 9 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql slow_log start_time 1 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql slow_log user_host 2 NULL NO mediumtext 16777215 16777215 NULL NULL utf8 utf8_general_ci mediumtext select,insert,update,references
-NULL mysql slow_log query_time 3 NULL NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references
-NULL mysql slow_log lock_time 4 NULL NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references
-NULL mysql slow_log rows_sent 5 NULL NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql slow_log rows_examined 6 NULL NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql slow_log db 7 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select,insert,update,references
-NULL mysql slow_log last_insert_id 8 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql slow_log insert_id 9 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql slow_log server_id 10 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql slow_log sql_text 11 NULL NO mediumtext 16777215 16777215 NULL NULL utf8 utf8_general_ci mediumtext select,insert,update,references
-NULL mysql tables_priv Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
-NULL mysql tables_priv Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql tables_priv User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
-NULL mysql tables_priv Table_name 4 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql tables_priv Grantor 5 NO char 77 231 NULL NULL utf8 utf8_bin char(77) MUL select,insert,update,references
-NULL mysql tables_priv Timestamp 6 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql tables_priv Table_priv 7 NO set 98 294 NULL NULL utf8 utf8_general_ci set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view','Trigger') select,insert,update,references
-NULL mysql tables_priv Column_priv 8 NO set 31 93 NULL NULL utf8 utf8_general_ci set('Select','Insert','Update','References') select,insert,update,references
-NULL mysql time_zone Time_zone_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI auto_increment select,insert,update,references
-NULL mysql time_zone Use_leap_seconds 2 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('Y','N') select,insert,update,references
-NULL mysql time_zone_leap_second Transition_time 1 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) PRI select,insert,update,references
-NULL mysql time_zone_leap_second Correction 2 NULL NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql time_zone_name Name 1 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) PRI select,insert,update,references
-NULL mysql time_zone_name Time_zone_id 2 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references
-NULL mysql time_zone_transition Time_zone_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references
-NULL mysql time_zone_transition Transition_time 2 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) PRI select,insert,update,references
-NULL mysql time_zone_transition Transition_type_id 3 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references
-NULL mysql time_zone_transition_type Time_zone_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references
-NULL 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
-NULL mysql time_zone_transition_type Offset 3 0 NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql time_zone_transition_type Is_DST 4 0 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references
-NULL mysql time_zone_transition_type Abbreviation 5 NO char 8 24 NULL NULL utf8 utf8_general_ci char(8) select,insert,update,references
-NULL test t1 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t1 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t1 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t1 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t1 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t1 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t10 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t10 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t10 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t10 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t10 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t10 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t11 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t11 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t11 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t11 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t11 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t11 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t2 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t2 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t2 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t2 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t2 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t2 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t3 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t3 f2 2 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t3 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t4 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t4 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t4 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t4 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t4 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t4 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t7 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t7 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t7 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t7 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t8 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t8 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t8 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t8 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t9 f1 1 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t9 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t9 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test tb1 f1 1 NULL YES char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
-NULL test tb1 f2 2 NULL YES char 1 1 NULL NULL latin1 latin1_bin char(1) select,insert,update,references
-NULL test tb1 f3 3 NULL YES char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
-NULL test tb1 f4 4 NULL YES tinytext 127 255 NULL NULL ucs2 ucs2_general_ci tinytext select,insert,update,references
-NULL test tb1 f5 5 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references
-NULL test tb1 f6 6 NULL YES mediumtext 16777215 16777215 NULL NULL latin1 latin1_swedish_ci mediumtext select,insert,update,references
-NULL test tb1 f7 7 NULL YES longtext 4294967295 4294967295 NULL NULL latin1 latin1_swedish_ci longtext select,insert,update,references
-NULL test tb1 f8 8 NULL YES tinyblob 255 255 NULL NULL NULL NULL tinyblob select,insert,update,references
-NULL test tb1 f9 9 NULL YES blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
-NULL test tb1 f10 10 NULL YES mediumblob 16777215 16777215 NULL NULL NULL NULL mediumblob select,insert,update,references
-NULL test tb1 f11 11 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references
-NULL test tb1 f12 12 NULL YES binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references
-NULL test tb1 f13 13 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references
-NULL test tb1 f14 14 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references
-NULL test tb1 f15 15 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb1 f16 16 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb1 f17 17 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references
-NULL test tb1 f18 18 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references
-NULL test tb1 f19 19 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb1 f20 20 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb1 f21 21 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references
-NULL test tb1 f22 22 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references
-NULL test tb1 f23 23 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb1 f24 24 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb1 f25 25 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test tb1 f26 26 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references
-NULL test tb1 f27 27 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb1 f28 28 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb1 f29 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references
-NULL test tb1 f30 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL test tb1 f31 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb1 f32 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb1 f33 33 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f34 34 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f35 35 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f36 36 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f37 37 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f38 38 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb1 f39 39 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f40 40 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb1 f41 41 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f42 42 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f43 43 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f44 44 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f45 45 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f46 46 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb1 f47 47 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f48 48 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb1 f49 49 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f50 50 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb1 f51 51 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f52 52 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb1 f53 53 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f54 54 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f55 55 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f56 56 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f57 57 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f58 58 99 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb2 f59 1 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb2 f60 2 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb2 f61 3 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f62 4 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f63 5 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f64 6 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f65 7 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb2 f66 8 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb2 f67 9 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb2 f68 10 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb2 f69 11 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f70 12 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb2 f71 13 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f72 14 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb2 f73 15 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb2 f74 16 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb2 f75 17 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f76 18 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f77 19 7.7 YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb2 f78 20 7.7 YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb2 f79 21 00000000000000000007.7 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f80 22 00000000000000000008.8 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f81 23 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f82 24 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f83 25 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f84 26 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f85 27 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f86 28 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f87 29 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f88 30 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f89 31 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f90 32 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f91 33 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f92 34 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f93 35 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f94 36 8.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb2 f95 37 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f96 38 8.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb2 f97 39 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f98 40 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f99 41 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f100 42 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f101 43 2000-01-01 NO date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test tb2 f102 44 00:00:20 NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references
-NULL test tb2 f103 45 0002-02-02 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL test tb2 f104 46 2000-12-31 23:59:59 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL test tb2 f105 47 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb2 f106 48 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb2 f107 49 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb2 f108 50 1enum NO enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references
-NULL test tb2 f109 51 1set NO set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references
-NULL test tb2 f110 52 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
-NULL test tb2 f111 53 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references
-NULL test tb2 f112 54 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
-NULL test tb2 f113 55 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
-NULL test tb2 f114 56 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
-NULL test tb2 f115 57 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references
-NULL test tb2 f116 58 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
-NULL test tb2 f117 59 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
-NULL test tb3 f118 1 a NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
-NULL test tb3 f119 2  NO char 1 1 NULL NULL latin1 latin1_bin char(1) select,insert,update,references
-NULL test tb3 f120 3  NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
-NULL test tb3 f121 4 NULL YES tinytext 255 255 NULL NULL latin1 latin1_swedish_ci tinytext select,insert,update,references
-NULL test tb3 f122 5 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references
-NULL test tb3 f123 6 NULL YES mediumtext 16777215 16777215 NULL NULL latin1 latin1_swedish_ci mediumtext select,insert,update,references
-NULL test tb3 f124 7 NULL YES longtext 2147483647 4294967295 NULL NULL ucs2 ucs2_general_ci longtext select,insert,update,references
-NULL test tb3 f125 8 NULL YES tinyblob 255 255 NULL NULL NULL NULL tinyblob select,insert,update,references
-NULL test tb3 f126 9 NULL YES blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
-NULL test tb3 f127 10 NULL YES mediumblob 16777215 16777215 NULL NULL NULL NULL mediumblob select,insert,update,references
-NULL test tb3 f128 11 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references
-NULL test tb3 f129 12  NO binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references
-NULL test tb3 f130 13 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references
-NULL test tb3 f131 14 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references
-NULL test tb3 f132 15 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb3 f133 16 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb3 f134 17 999 NO smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references
-NULL test tb3 f135 18 999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references
-NULL test tb3 f136 19 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb3 f137 20 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb3 f138 21 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references
-NULL test tb3 f139 22 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references
-NULL test tb3 f140 23 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb3 f141 24 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb3 f142 25 99999 NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test tb3 f143 26 99999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references
-NULL test tb3 f144 27 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb3 f145 28 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb3 f146 29 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references
-NULL test tb3 f147 30 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL test tb3 f148 31 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb3 f149 32 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb3 f150 33 1000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f151 34 999 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f152 35 0000001000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f153 36 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f154 37 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f155 38 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb3 f156 39 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f157 40 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb3 f158 41 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f159 42 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f160 43 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f161 44 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f162 45 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f163 46 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb3 f164 47 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f165 48 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb3 f166 49 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f167 50 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb3 f168 51 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f169 52 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb3 f170 53 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f171 54 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f172 55 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f173 56 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f174 57 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f175 58 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb4 f176 1 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb4 f177 2 9 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb4 f178 3 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f179 4 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f180 5 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f181 6 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f182 7 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb4 f183 8 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb4 f184 9 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb4 f185 10 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb4 f186 11 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f187 12 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb4 f188 13 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f189 14 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb4 f190 15 88.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb4 f191 16 88.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb4 f192 17 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f193 18 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f194 19 55.5 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb4 f195 20 55.5 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb4 f196 21 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f197 22 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f198 23 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f199 24 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f200 25 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f201 26 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f202 27 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f203 28 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f204 29 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f205 30 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f206 31 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f207 32 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f208 33 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f209 34 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f210 35 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f211 36 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb4 f212 37 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f213 38 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb4 f214 39 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f215 40 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f216 41 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f217 42 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f218 43 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test tb4 f219 44 NULL YES time NULL NULL NULL NULL NULL NULL time select,insert,update,references
-NULL test tb4 f220 45 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL test tb4 f221 46 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL test tb4 f222 47 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb4 f223 48 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb4 f224 49 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb4 f225 50 NULL YES enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references
-NULL test tb4 f226 51 NULL YES set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references
-NULL test tb4 f227 52 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
-NULL test tb4 f228 53 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references
-NULL test tb4 f229 54 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
-NULL test tb4 f230 55 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
-NULL test tb4 f231 56 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
-NULL test tb4 f232 57 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references
-NULL test tb4 f233 58 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
-NULL test tb4 f234 59 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
-NULL test tb4 f235 60 NULL YES char 255 510 NULL NULL ucs2 ucs2_general_ci char(255) select,insert,update,references
-NULL test tb4 f236 61 NULL YES char 60 60 NULL NULL latin1 latin1_swedish_ci char(60) select,insert,update,references
-NULL test tb4 f237 62 NULL YES char 255 255 NULL NULL latin1 latin1_bin char(255) select,insert,update,references
-NULL test tb4 f238 63 NULL YES varchar 0 0 NULL NULL latin1 latin1_bin varchar(0) select,insert,update,references
-NULL test tb4 f239 64 NULL YES varbinary 1000 1000 NULL NULL NULL NULL varbinary(1000) select,insert,update,references
-NULL test tb4 f240 65 NULL YES varchar 120 240 NULL NULL ucs2 ucs2_general_ci varchar(120) select,insert,update,references
-NULL test tb4 f241 66 NULL YES char 100 200 NULL NULL ucs2 ucs2_general_ci char(100) select,insert,update,references
-NULL test tb4 f242 67 NULL YES bit NULL NULL 30 NULL NULL NULL bit(30) select,insert,update,references
-NULL test4 t6 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test4 t6 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test4 t6 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test4 t6 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test4 t6 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test4 t6 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-select * from character_sets;
-CHARACTER_SET_NAME DEFAULT_COLLATE_NAME DESCRIPTION MAXLEN
-big5 big5_chinese_ci Big5 Traditional Chinese 2
-dec8 dec8_swedish_ci DEC West European 1
-cp850 cp850_general_ci DOS West European 1
-hp8 hp8_english_ci HP West European 1
-koi8r koi8r_general_ci KOI8-R Relcom Russian 1
-latin1 latin1_swedish_ci cp1252 West European 1
-latin2 latin2_general_ci ISO 8859-2 Central European 1
-swe7 swe7_swedish_ci 7bit Swedish 1
-ascii ascii_general_ci US ASCII 1
-ujis ujis_japanese_ci EUC-JP Japanese 3
-sjis sjis_japanese_ci Shift-JIS Japanese 2
-hebrew hebrew_general_ci ISO 8859-8 Hebrew 1
-tis620 tis620_thai_ci TIS620 Thai 1
-euckr euckr_korean_ci EUC-KR Korean 2
-koi8u koi8u_general_ci KOI8-U Ukrainian 1
-gb2312 gb2312_chinese_ci GB2312 Simplified Chinese 2
-greek greek_general_ci ISO 8859-7 Greek 1
-cp1250 cp1250_general_ci Windows Central European 1
-gbk gbk_chinese_ci GBK Simplified Chinese 2
-latin5 latin5_turkish_ci ISO 8859-9 Turkish 1
-armscii8 armscii8_general_ci ARMSCII-8 Armenian 1
-utf8 utf8_general_ci UTF-8 Unicode 3
-ucs2 ucs2_general_ci UCS-2 Unicode 2
-cp866 cp866_general_ci DOS Russian 1
-keybcs2 keybcs2_general_ci DOS Kamenicky Czech-Slovak 1
-macce macce_general_ci Mac Central European 1
-macroman macroman_general_ci Mac West European 1
-cp852 cp852_general_ci DOS Central European 1
-latin7 latin7_general_ci ISO 8859-13 Baltic 1
-cp1251 cp1251_general_ci Windows Cyrillic 1
-cp1256 cp1256_general_ci Windows Arabic 1
-cp1257 cp1257_general_ci Windows Baltic 1
-binary binary Binary pseudo charset 1
-geostd8 geostd8_general_ci GEOSTD8 Georgian 1
-cp932 cp932_japanese_ci SJIS for Windows Japanese 2
-eucjpms eucjpms_japanese_ci UJIS for Windows Japanese 3
-select sum(id) from collations;
-sum(id)
-10840
-select collation_name, character_set_name into @x,@y
-from collation_character_set_applicability limit 1;
-select @x, @y;
-@x @y
-big5_chinese_ci big5
-select * from routines;
-SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER
-sp_1 NULL db_datadict sp_1 PROCEDURE NULL SQL BEGIN
-SELECT * FROM db_datadict.v1;
-END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost
-select count(*) from routines;
-count(*)
-1
-select * from statistics;
-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
-NULL mysql user 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-NULL mysql user 0 mysql PRIMARY 2 User A 3 NULL NULL BTREE
-NULL mysql columns_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-NULL mysql columns_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE
-NULL mysql columns_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE
-NULL mysql columns_priv 0 mysql PRIMARY 4 Table_name A NULL NULL NULL BTREE
-NULL mysql columns_priv 0 mysql PRIMARY 5 Column_name A 0 NULL NULL BTREE
-NULL mysql db 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-NULL mysql db 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE
-NULL mysql db 0 mysql PRIMARY 3 User A 2 NULL NULL BTREE
-NULL mysql db 1 mysql User 1 User A 1 NULL NULL BTREE
-NULL mysql event 0 mysql PRIMARY 1 db A NULL NULL NULL BTREE
-NULL mysql event 0 mysql PRIMARY 2 name A 0 NULL NULL BTREE
-NULL mysql func 0 mysql PRIMARY 1 name A 0 NULL NULL BTREE
-NULL mysql help_category 0 mysql PRIMARY 1 help_category_id A 0 NULL NULL BTREE
-NULL mysql help_category 0 mysql name 1 name A 0 NULL NULL BTREE
-NULL mysql help_keyword 0 mysql PRIMARY 1 help_keyword_id A 0 NULL NULL BTREE
-NULL mysql help_keyword 0 mysql name 1 name A 0 NULL NULL BTREE
-NULL mysql help_relation 0 mysql PRIMARY 1 help_keyword_id A NULL NULL NULL BTREE
-NULL mysql help_relation 0 mysql PRIMARY 2 help_topic_id A 0 NULL NULL BTREE
-NULL mysql help_topic 0 mysql PRIMARY 1 help_topic_id A 0 NULL NULL BTREE
-NULL mysql help_topic 0 mysql name 1 name A 0 NULL NULL BTREE
-NULL mysql host 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-NULL mysql host 0 mysql PRIMARY 2 Db A 0 NULL NULL BTREE
-NULL mysql ndb_apply_status 0 mysql PRIMARY 1 server_id NULL 0 NULL NULL HASH
-NULL mysql ndb_binlog_index 0 mysql PRIMARY 1 epoch A 5 NULL NULL BTREE
-NULL mysql plugin 0 mysql PRIMARY 1 name A 0 NULL NULL BTREE
-NULL mysql proc 0 mysql PRIMARY 1 db A NULL NULL NULL BTREE
-NULL mysql proc 0 mysql PRIMARY 2 name A NULL NULL NULL BTREE
-NULL mysql proc 0 mysql PRIMARY 3 type A 1 NULL NULL BTREE
-NULL mysql procs_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-NULL mysql procs_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE
-NULL mysql procs_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE
-NULL mysql procs_priv 0 mysql PRIMARY 4 Routine_name A NULL NULL NULL BTREE
-NULL mysql procs_priv 0 mysql PRIMARY 5 Routine_type A 0 NULL NULL BTREE
-NULL mysql procs_priv 1 mysql Grantor 1 Grantor A NULL NULL NULL BTREE
-NULL mysql servers 0 mysql PRIMARY 1 Server_name A 0 NULL NULL BTREE
-NULL mysql tables_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-NULL mysql tables_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE
-NULL mysql tables_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE
-NULL mysql tables_priv 0 mysql PRIMARY 4 Table_name A 0 NULL NULL BTREE
-NULL mysql tables_priv 1 mysql Grantor 1 Grantor A NULL NULL NULL BTREE
-NULL mysql time_zone 0 mysql PRIMARY 1 Time_zone_id A 5 NULL NULL BTREE
-NULL mysql time_zone_leap_second 0 mysql PRIMARY 1 Transition_time A 22 NULL NULL BTREE
-NULL mysql time_zone_name 0 mysql PRIMARY 1 Name A 6 NULL NULL BTREE
-NULL mysql time_zone_transition 0 mysql PRIMARY 1 Time_zone_id A NULL NULL NULL BTREE
-NULL mysql time_zone_transition 0 mysql PRIMARY 2 Transition_time A 393 NULL NULL BTREE
-NULL mysql time_zone_transition_type 0 mysql PRIMARY 1 Time_zone_id A NULL NULL NULL BTREE
-NULL mysql time_zone_transition_type 0 mysql PRIMARY 2 Transition_type_id A 31 NULL NULL BTREE
-select * from views;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE
-NULL db_datadict v1 /* ALGORITHM=UNDEFINED */ select `tables`.`TABLE_CATALOG` AS `TABLE_CATALOG`,`tables`.`TABLE_SCHEMA` AS `TABLE_SCHEMA`,`tables`.`TABLE_NAME` AS `TABLE_NAME`,`tables`.`TABLE_TYPE` AS `TABLE_TYPE`,`tables`.`ENGINE` AS `ENGINE`,`tables`.`VERSION` AS `VERSION`,`tables`.`ROW_FORMAT` AS `ROW_FORMAT`,`tables`.`TABLE_ROWS` AS `TABLE_ROWS`,`tables`.`AVG_ROW_LENGTH` AS `AVG_ROW_LENGTH`,`tables`.`DATA_LENGTH` AS `DATA_LENGTH`,`tables`.`MAX_DATA_LENGTH` AS `MAX_DATA_LENGTH`,`tables`.`INDEX_LENGTH` AS `INDEX_LENGTH`,`tables`.`DATA_FREE` AS `DATA_FREE`,`tables`.`AUTO_INCREMENT` AS `AUTO_INCREMENT`,`tables`.`CREATE_TIME` AS `CREATE_TIME`,`tables`.`UPDATE_TIME` AS `UPDATE_TIME`,`tables`.`CHECK_TIME` AS `CHECK_TIME`,`tables`.`TABLE_COLLATION` AS `TABLE_COLLATION`,`tables`.`CHECKSUM` AS `CHECKSUM`,`tables`.`CREATE_OPTIONS` AS `CREATE_OPTIONS`,`tables`.`TABLE_COMMENT` AS `TABLE_COMMENT` from `information_schema`.`tables` NONE NO root@localhost DEFINER
-NULL db_datadict vu /* ALGORITHM=UNDEFINED */ select distinct `vu1`.`u` AS `u`,substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3)) AS `server`,substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3),(length(substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3))) - 1)) AS `Server_Clean` from `db_datadict`.`vu1` NONE NO root@localhost DEFINER
-NULL db_datadict vu1 /* ALGORITHM=UNDEFINED */ select `user_privileges`.`GRANTEE` AS `u` from `information_schema`.`user_privileges` NONE NO root@localhost DEFINER
-select * from user_privileges order by grantee, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'root'@'127.0.0.1' NULL ALTER YES
-'root'@'127.0.0.1' NULL ALTER ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE YES
-'root'@'127.0.0.1' NULL CREATE ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES
-'root'@'127.0.0.1' NULL CREATE USER YES
-'root'@'127.0.0.1' NULL CREATE VIEW YES
-'root'@'127.0.0.1' NULL DELETE YES
-'root'@'127.0.0.1' NULL DROP YES
-'root'@'127.0.0.1' NULL EVENT YES
-'root'@'127.0.0.1' NULL EXECUTE YES
-'root'@'127.0.0.1' NULL FILE YES
-'root'@'127.0.0.1' NULL INDEX YES
-'root'@'127.0.0.1' NULL INSERT YES
-'root'@'127.0.0.1' NULL LOCK TABLES YES
-'root'@'127.0.0.1' NULL PROCESS YES
-'root'@'127.0.0.1' NULL REFERENCES YES
-'root'@'127.0.0.1' NULL RELOAD YES
-'root'@'127.0.0.1' NULL REPLICATION CLIENT YES
-'root'@'127.0.0.1' NULL REPLICATION SLAVE YES
-'root'@'127.0.0.1' NULL SELECT YES
-'root'@'127.0.0.1' NULL SHOW DATABASES YES
-'root'@'127.0.0.1' NULL SHOW VIEW YES
-'root'@'127.0.0.1' NULL SHUTDOWN YES
-'root'@'127.0.0.1' NULL SUPER YES
-'root'@'127.0.0.1' NULL TRIGGER YES
-'root'@'127.0.0.1' NULL UPDATE YES
-'root'@'<SERVER_NAME>' NULL ALTER YES
-'root'@'<SERVER_NAME>' NULL ALTER ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE YES
-'root'@'<SERVER_NAME>' NULL CREATE ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE TEMPORARY TABLES YES
-'root'@'<SERVER_NAME>' NULL CREATE USER YES
-'root'@'<SERVER_NAME>' NULL CREATE VIEW YES
-'root'@'<SERVER_NAME>' NULL DELETE YES
-'root'@'<SERVER_NAME>' NULL DROP YES
-'root'@'<SERVER_NAME>' NULL EVENT YES
-'root'@'<SERVER_NAME>' NULL EXECUTE YES
-'root'@'<SERVER_NAME>' NULL FILE YES
-'root'@'<SERVER_NAME>' NULL INDEX YES
-'root'@'<SERVER_NAME>' NULL INSERT YES
-'root'@'<SERVER_NAME>' NULL LOCK TABLES YES
-'root'@'<SERVER_NAME>' NULL PROCESS YES
-'root'@'<SERVER_NAME>' NULL REFERENCES YES
-'root'@'<SERVER_NAME>' NULL RELOAD YES
-'root'@'<SERVER_NAME>' NULL REPLICATION CLIENT YES
-'root'@'<SERVER_NAME>' NULL REPLICATION SLAVE YES
-'root'@'<SERVER_NAME>' NULL SELECT YES
-'root'@'<SERVER_NAME>' NULL SHOW DATABASES YES
-'root'@'<SERVER_NAME>' NULL SHOW VIEW YES
-'root'@'<SERVER_NAME>' NULL SHUTDOWN YES
-'root'@'<SERVER_NAME>' NULL SUPER YES
-'root'@'<SERVER_NAME>' NULL TRIGGER YES
-'root'@'<SERVER_NAME>' NULL UPDATE YES
-'root'@'localhost' NULL ALTER YES
-'root'@'localhost' NULL ALTER ROUTINE YES
-'root'@'localhost' NULL CREATE YES
-'root'@'localhost' NULL CREATE ROUTINE YES
-'root'@'localhost' NULL CREATE TEMPORARY TABLES YES
-'root'@'localhost' NULL CREATE USER YES
-'root'@'localhost' NULL CREATE VIEW YES
-'root'@'localhost' NULL DELETE YES
-'root'@'localhost' NULL DROP YES
-'root'@'localhost' NULL EVENT YES
-'root'@'localhost' NULL EXECUTE YES
-'root'@'localhost' NULL FILE YES
-'root'@'localhost' NULL INDEX YES
-'root'@'localhost' NULL INSERT YES
-'root'@'localhost' NULL LOCK TABLES YES
-'root'@'localhost' NULL PROCESS YES
-'root'@'localhost' NULL REFERENCES YES
-'root'@'localhost' NULL RELOAD YES
-'root'@'localhost' NULL REPLICATION CLIENT YES
-'root'@'localhost' NULL REPLICATION SLAVE YES
-'root'@'localhost' NULL SELECT YES
-'root'@'localhost' NULL SHOW DATABASES YES
-'root'@'localhost' NULL SHOW VIEW YES
-'root'@'localhost' NULL SHUTDOWN YES
-'root'@'localhost' NULL SUPER YES
-'root'@'localhost' NULL TRIGGER YES
-'root'@'localhost' NULL UPDATE YES
-select * from schema_privileges;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
-''@'%' NULL test SELECT NO
-''@'%' NULL test INSERT NO
-''@'%' NULL test UPDATE NO
-''@'%' NULL test DELETE NO
-''@'%' NULL test CREATE NO
-''@'%' NULL test DROP NO
-''@'%' NULL test REFERENCES NO
-''@'%' NULL test INDEX NO
-''@'%' NULL test ALTER NO
-''@'%' NULL test CREATE TEMPORARY TABLES NO
-''@'%' NULL test LOCK TABLES NO
-''@'%' NULL test CREATE VIEW NO
-''@'%' NULL test SHOW VIEW NO
-''@'%' NULL test CREATE ROUTINE NO
-''@'%' NULL test EVENT NO
-''@'%' NULL test TRIGGER NO
-''@'%' NULL test\_% SELECT NO
-''@'%' NULL test\_% INSERT NO
-''@'%' NULL test\_% UPDATE NO
-''@'%' NULL test\_% DELETE NO
-''@'%' NULL test\_% CREATE NO
-''@'%' NULL test\_% DROP NO
-''@'%' NULL test\_% REFERENCES NO
-''@'%' NULL test\_% INDEX NO
-''@'%' NULL test\_% ALTER NO
-''@'%' NULL test\_% CREATE TEMPORARY TABLES NO
-''@'%' NULL test\_% LOCK TABLES NO
-''@'%' NULL test\_% CREATE VIEW NO
-''@'%' NULL test\_% SHOW VIEW NO
-''@'%' NULL test\_% CREATE ROUTINE NO
-''@'%' NULL test\_% EVENT NO
-''@'%' NULL test\_% TRIGGER NO
-select * from table_privileges;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select * from column_privileges;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select * from table_constraints;
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE
-NULL mysql PRIMARY mysql user PRIMARY KEY
-NULL mysql PRIMARY mysql columns_priv PRIMARY KEY
-NULL mysql PRIMARY mysql db PRIMARY KEY
-NULL mysql PRIMARY mysql event PRIMARY KEY
-NULL mysql PRIMARY mysql func PRIMARY KEY
-NULL mysql PRIMARY mysql help_category PRIMARY KEY
-NULL mysql name mysql help_category UNIQUE
-NULL mysql PRIMARY mysql help_keyword PRIMARY KEY
-NULL mysql name mysql help_keyword UNIQUE
-NULL mysql PRIMARY mysql help_relation PRIMARY KEY
-NULL mysql PRIMARY mysql help_topic PRIMARY KEY
-NULL mysql name mysql help_topic UNIQUE
-NULL mysql PRIMARY mysql host PRIMARY KEY
-NULL mysql PRIMARY mysql ndb_apply_status PRIMARY KEY
-NULL mysql PRIMARY mysql ndb_binlog_index PRIMARY KEY
-NULL mysql PRIMARY mysql plugin PRIMARY KEY
-NULL mysql PRIMARY mysql proc PRIMARY KEY
-NULL mysql PRIMARY mysql procs_priv PRIMARY KEY
-NULL mysql PRIMARY mysql servers PRIMARY KEY
-NULL mysql PRIMARY mysql tables_priv PRIMARY KEY
-NULL mysql PRIMARY mysql time_zone PRIMARY KEY
-NULL mysql PRIMARY mysql time_zone_leap_second PRIMARY KEY
-NULL mysql PRIMARY mysql time_zone_name PRIMARY KEY
-NULL mysql PRIMARY mysql time_zone_transition PRIMARY KEY
-NULL mysql PRIMARY mysql time_zone_transition_type PRIMARY KEY
-select * from key_column_usage;
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
-NULL mysql PRIMARY NULL mysql user Host 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql user User 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql columns_priv Host 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql columns_priv Db 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql columns_priv User 3 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql columns_priv Table_name 4 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql columns_priv Column_name 5 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql db Host 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql db Db 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql db User 3 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql event db 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql event name 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql func name 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql help_category help_category_id 1 NULL NULL NULL NULL
-NULL mysql name NULL mysql help_category name 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql help_keyword help_keyword_id 1 NULL NULL NULL NULL
-NULL mysql name NULL mysql help_keyword name 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql help_relation help_keyword_id 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql help_relation help_topic_id 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql help_topic help_topic_id 1 NULL NULL NULL NULL
-NULL mysql name NULL mysql help_topic name 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql host Host 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql host Db 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql ndb_apply_status server_id 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql ndb_binlog_index epoch 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql plugin name 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql proc db 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql proc name 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql proc type 3 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql procs_priv Host 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql procs_priv Db 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql procs_priv User 3 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql procs_priv Routine_name 4 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql procs_priv Routine_type 5 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql servers Server_name 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql tables_priv Host 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql tables_priv Db 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql tables_priv User 3 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql tables_priv Table_name 4 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql time_zone Time_zone_id 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql time_zone_leap_second Transition_time 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql time_zone_name Name 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql time_zone_transition Time_zone_id 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql time_zone_transition Transition_time 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql time_zone_transition_type Time_zone_id 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql time_zone_transition_type Transition_type_id 2 NULL NULL NULL NULL
-select count(*) as max_recs from key_column_usage;
-max_recs
-46
-select max(cardinality) from statistics;
-max(cardinality)
-393
-select concat("View '",
-table_name, "' is associated with the database '", table_schema, "'.")
-AS "Who is Who for the Views"
- from views;
-Who is Who for the Views
-View 'v1' is associated with the database 'db_datadict'.
-View 'vu' is associated with the database 'db_datadict'.
-View 'vu1' is associated with the database 'db_datadict'.
-select concat("Table or view '", table_name,
-"' is associated with the database '", table_schema, "'.") as "Who is Who"
- from tables;
-Who is Who
-Table or view 'CHARACTER_SETS' is associated with the database 'information_schema'.
-Table or view 'COLLATIONS' is associated with the database 'information_schema'.
-Table or view 'COLLATION_CHARACTER_SET_APPLICABILITY' is associated with the database 'information_schema'.
-Table or view 'COLUMNS' is associated with the database 'information_schema'.
-Table or view 'COLUMN_PRIVILEGES' is associated with the database 'information_schema'.
-Table or view 'ENGINES' is associated with the database 'information_schema'.
-Table or view 'EVENTS' is associated with the database 'information_schema'.
-Table or view 'FILES' is associated with the database 'information_schema'.
-Table or view 'GLOBAL_STATUS' is associated with the database 'information_schema'.
-Table or view 'GLOBAL_VARIABLES' is associated with the database 'information_schema'.
-Table or view 'KEY_COLUMN_USAGE' is associated with the database 'information_schema'.
-Table or view 'PARTITIONS' is associated with the database 'information_schema'.
-Table or view 'PLUGINS' is associated with the database 'information_schema'.
-Table or view 'PROCESSLIST' is associated with the database 'information_schema'.
-Table or view 'REFERENTIAL_CONSTRAINTS' is associated with the database 'information_schema'.
-Table or view 'ROUTINES' is associated with the database 'information_schema'.
-Table or view 'SCHEMATA' is associated with the database 'information_schema'.
-Table or view 'SCHEMA_PRIVILEGES' is associated with the database 'information_schema'.
-Table or view 'SESSION_STATUS' is associated with the database 'information_schema'.
-Table or view 'SESSION_VARIABLES' is associated with the database 'information_schema'.
-Table or view 'STATISTICS' is associated with the database 'information_schema'.
-Table or view 'TABLES' is associated with the database 'information_schema'.
-Table or view 'TABLE_CONSTRAINTS' is associated with the database 'information_schema'.
-Table or view 'TABLE_PRIVILEGES' is associated with the database 'information_schema'.
-Table or view 'TRIGGERS' is associated with the database 'information_schema'.
-Table or view 'USER_PRIVILEGES' is associated with the database 'information_schema'.
-Table or view 'VIEWS' is associated with the database 'information_schema'.
-Table or view 'v1' is associated with the database 'db_datadict'.
-Table or view 'vu' is associated with the database 'db_datadict'.
-Table or view 'vu1' is associated with the database 'db_datadict'.
-Table or view 'user' is associated with the database 'mysql'.
-Table or view 'columns_priv' is associated with the database 'mysql'.
-Table or view 'db' is associated with the database 'mysql'.
-Table or view 'event' is associated with the database 'mysql'.
-Table or view 'func' is associated with the database 'mysql'.
-Table or view 'general_log' is associated with the database 'mysql'.
-Table or view 'help_category' is associated with the database 'mysql'.
-Table or view 'help_keyword' is associated with the database 'mysql'.
-Table or view 'help_relation' is associated with the database 'mysql'.
-Table or view 'help_topic' is associated with the database 'mysql'.
-Table or view 'host' is associated with the database 'mysql'.
-Table or view 'ndb_apply_status' is associated with the database 'mysql'.
-Table or view 'ndb_binlog_index' is associated with the database 'mysql'.
-Table or view 'plugin' is associated with the database 'mysql'.
-Table or view 'proc' is associated with the database 'mysql'.
-Table or view 'procs_priv' is associated with the database 'mysql'.
-Table or view 'servers' is associated with the database 'mysql'.
-Table or view 'slow_log' is associated with the database 'mysql'.
-Table or view 'tables_priv' is associated with the database 'mysql'.
-Table or view 'time_zone' is associated with the database 'mysql'.
-Table or view 'time_zone_leap_second' is associated with the database 'mysql'.
-Table or view 'time_zone_name' is associated with the database 'mysql'.
-Table or view 'time_zone_transition' is associated with the database 'mysql'.
-Table or view 'time_zone_transition_type' is associated with the database 'mysql'.
-Table or view 't1' is associated with the database 'test'.
-Table or view 't10' is associated with the database 'test'.
-Table or view 't11' is associated with the database 'test'.
-Table or view 't2' is associated with the database 'test'.
-Table or view 't3' is associated with the database 'test'.
-Table or view 't4' is associated with the database 'test'.
-Table or view 't7' is associated with the database 'test'.
-Table or view 't8' is associated with the database 'test'.
-Table or view 't9' is associated with the database 'test'.
-Table or view 'tb1' is associated with the database 'test'.
-Table or view 'tb2' is associated with the database 'test'.
-Table or view 'tb3' is associated with the database 'test'.
-Table or view 'tb4' is associated with the database 'test'.
-Table or view 't6' is associated with the database 'test4'.
-select grantee as "user's having select privilege",
-substring( grantee, length(SUBSTRING_INDEX(grantee,_utf8'@',1))+2 )
-from user_privileges where privilege_type = 'select'
- order by grantee;
-user's having select privilege substring( grantee, length(SUBSTRING_INDEX(grantee,_utf8'@',1))+2 )
-'root'@'127.0.0.1' '127.0.0.1'
-'root'@'<SERVER_NAME>' '<SERVER_NAME>'
-'root'@'localhost' 'localhost'
-select all table_schema from schema_privileges limit 0,5;
-table_schema
-test
-test
-test
-test
-test
-select distinct(privilege_type) from table_privileges;
-privilege_type
-select * from column_privileges
-group by table_schema having table_schema = 'db_datadict';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select * from table_constraints limit 0,5;
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE
-NULL mysql PRIMARY mysql user PRIMARY KEY
-NULL mysql PRIMARY mysql columns_priv PRIMARY KEY
-NULL mysql PRIMARY mysql db PRIMARY KEY
-NULL mysql PRIMARY mysql event PRIMARY KEY
-NULL mysql PRIMARY mysql func PRIMARY KEY
-select count(*) as max_recs from key_column_usage limit 0,5;
-max_recs
-46
-select information_schema.tables.table_name as "table name",
-count(distinct(column_name)) as "no of columns in the table"
- from information_schema.tables left outer join information_schema.columns on
-information_schema.tables.table_name = information_schema.columns.table_name
-group by information_schema.tables.table_name;
-table name no of columns in the table
-CHARACTER_SETS 4
-COLLATIONS 6
-COLLATION_CHARACTER_SET_APPLICABILITY 2
-COLUMNS 19
-columns_priv 7
-COLUMN_PRIVILEGES 7
-db 22
-ENGINES 6
-event 18
-EVENTS 21
-FILES 38
-func 4
-general_log 6
-GLOBAL_STATUS 2
-GLOBAL_VARIABLES 2
-help_category 4
-help_keyword 2
-help_relation 2
-help_topic 6
-host 20
-KEY_COLUMN_USAGE 12
-ndb_apply_status 5
-ndb_binlog_index 7
-PARTITIONS 25
-plugin 2
-PLUGINS 10
-proc 16
-PROCESSLIST 8
-procs_priv 8
-REFERENTIAL_CONSTRAINTS 11
-ROUTINES 20
-SCHEMATA 5
-SCHEMA_PRIVILEGES 5
-servers 9
-SESSION_STATUS 2
-SESSION_VARIABLES 2
-slow_log 11
-STATISTICS 15
-t1 6
-t10 6
-t11 6
-t2 6
-t3 3
-t4 6
-t6 6
-t7 4
-t8 4
-t9 3
-TABLES 21
-tables_priv 8
-TABLE_CONSTRAINTS 6
-TABLE_PRIVILEGES 6
-tb1 58
-tb2 59
-tb3 58
-tb4 67
-time_zone 2
-time_zone_leap_second 2
-time_zone_name 2
-time_zone_transition 3
-time_zone_transition_type 5
-TRIGGERS 19
-user 39
-USER_PRIVILEGES 4
-v1 21
-VIEWS 8
-vu 3
-vu1 1
-
-root: simple select to check all - and never forget some - tables
------------------------------------------------------------------
-SELECT * FROM schemata LIMIT 1;
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL information_schema utf8 utf8_general_ci NULL
-SELECT * FROM tables LIMIT 1;
-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
-NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO#
-SELECT * FROM columns LIMIT 1;
-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
-NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-SELECT * FROM character_sets LIMIT 1;
-CHARACTER_SET_NAME DEFAULT_COLLATE_NAME DESCRIPTION MAXLEN
-big5 big5_chinese_ci Big5 Traditional Chinese 2
-SELECT * FROM collations LIMIT 1;
-COLLATION_NAME CHARACTER_SET_NAME ID IS_DEFAULT IS_COMPILED SORTLEN
-big5_chinese_ci big5 1 Yes Yes 1
-SELECT * FROM collation_character_set_applicability LIMIT 1;
-COLLATION_NAME CHARACTER_SET_NAME
-big5_chinese_ci big5
-SELECT * FROM routines LIMIT 1;
-SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER
-sp_1 NULL db_datadict sp_1 PROCEDURE NULL SQL BEGIN
-SELECT * FROM db_datadict.v1;
-END NULL NULL SQL NO CONTAINS SQL NULL DEFINER <Created> <Last_Altered> root@localhost
-SELECT * FROM statistics LIMIT 1;
-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
-NULL mysql user 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-SELECT * FROM views LIMIT 1;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE
-NULL db_datadict v1 /* ALGORITHM=UNDEFINED */ select `tables`.`TABLE_CATALOG` AS `TABLE_CATALOG`,`tables`.`TABLE_SCHEMA` AS `TABLE_SCHEMA`,`tables`.`TABLE_NAME` AS `TABLE_NAME`,`tables`.`TABLE_TYPE` AS `TABLE_TYPE`,`tables`.`ENGINE` AS `ENGINE`,`tables`.`VERSION` AS `VERSION`,`tables`.`ROW_FORMAT` AS `ROW_FORMAT`,`tables`.`TABLE_ROWS` AS `TABLE_ROWS`,`tables`.`AVG_ROW_LENGTH` AS `AVG_ROW_LENGTH`,`tables`.`DATA_LENGTH` AS `DATA_LENGTH`,`tables`.`MAX_DATA_LENGTH` AS `MAX_DATA_LENGTH`,`tables`.`INDEX_LENGTH` AS `INDEX_LENGTH`,`tables`.`DATA_FREE` AS `DATA_FREE`,`tables`.`AUTO_INCREMENT` AS `AUTO_INCREMENT`,`tables`.`CREATE_TIME` AS `CREATE_TIME`,`tables`.`UPDATE_TIME` AS `UPDATE_TIME`,`tables`.`CHECK_TIME` AS `CHECK_TIME`,`tables`.`TABLE_COLLATION` AS `TABLE_COLLATION`,`tables`.`CHECKSUM` AS `CHECKSUM`,`tables`.`CREATE_OPTIONS` AS `CREATE_OPTIONS`,`tables`.`TABLE_COMMENT` AS `TABLE_COMMENT` from `information_schema`.`tables` NONE NO root@localhost DEFINER
-SELECT * FROM user_privileges LIMIT 1;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'root'@'localhost' NULL SELECT YES
-SELECT * FROM schema_privileges LIMIT 1;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
-''@'%' NULL test SELECT NO
-SELECT * FROM table_privileges LIMIT 1;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-SELECT * FROM column_privileges LIMIT 1;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-SELECT * FROM table_constraints LIMIT 1;
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE
-NULL mysql PRIMARY mysql user PRIMARY KEY
-SELECT * FROM key_column_usage LIMIT 1;
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
-NULL mysql PRIMARY NULL mysql user Host 1 NULL NULL NULL NULL
-SELECT * FROM triggers LIMIT 1;
-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
-SELECT * FROM parameters LIMIT 1;
-ERROR 42S02: Unknown table 'parameters' in information_schema
-SELECT * FROM referential_constraints LIMIT 1;
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME UNIQUE_CONSTRAINT_CATALOG UNIQUE_CONSTRAINT_SCHEMA UNIQUE_CONSTRAINT_NAME MATCH_OPTION UPDATE_RULE DELETE_RULE TABLE_NAME REFERENCED_TABLE_NAME
-use db_datadict;
-select * from schemata;
-ERROR 42S02: Table 'db_datadict.schemata' doesn't exist
-select * from tables;
-ERROR 42S02: Table 'db_datadict.tables' doesn't exist
-select s.catalog_name, s.schema_name, s.default_character_set_name,
-t.table_type, t.engine
-from schemata s inner join tables t
-ORDER BY s.catalog_name, s.schema_name, s.default_character_set_name;
-ERROR 42S02: Table 'db_datadict.schemata' doesn't exist
-select * from columns limit 0, 5;
-ERROR 42S02: Table 'db_datadict.columns' doesn't exist
-select * from character_sets limit 0, 5;
-ERROR 42S02: Table 'db_datadict.character_sets' doesn't exist
-select * from collations limit 0, 5;
-ERROR 42S02: Table 'db_datadict.collations' doesn't exist
-select * from collation_character_set_applicability limit 0, 5;
-ERROR 42S02: Table 'db_datadict.collation_character_set_applicability' doesn't exist
-select * from routines limit 0, 5;
-ERROR 42S02: Table 'db_datadict.routines' doesn't exist
-select * from statistics limit 0, 5;
-ERROR 42S02: Table 'db_datadict.statistics' doesn't exist
-select * from views limit 0, 5;
-ERROR 42S02: Table 'db_datadict.views' doesn't exist
-select * from user_privileges limit 0, 5;
-ERROR 42S02: Table 'db_datadict.user_privileges' doesn't exist
-select * from schema_privileges limit 0, 5;
-ERROR 42S02: Table 'db_datadict.schema_privileges' doesn't exist
-select * from table_privileges limit 0, 5;
-ERROR 42S02: Table 'db_datadict.table_privileges' doesn't exist
-select * from column_privileges limit 0, 5;
-ERROR 42S02: Table 'db_datadict.column_privileges' doesn't exist
-select * from table_constraints limit 0, 5;
-ERROR 42S02: Table 'db_datadict.table_constraints' doesn't exist
-select * from key_column_usage limit 0, 5;
-ERROR 42S02: Table 'db_datadict.key_column_usage' doesn't exist
-
-will fail due to missing database name
---------------------------------------
-
-known error 1146:
------------------
-SELECT * FROM schemata ;
-ERROR 42S02: Table 'db_datadict.schemata' doesn't exist
-SELECT * FROM tables ;
-ERROR 42S02: Table 'db_datadict.tables' doesn't exist
-SELECT * FROM columns ;
-ERROR 42S02: Table 'db_datadict.columns' doesn't exist
-SELECT * FROM character_sets ;
-ERROR 42S02: Table 'db_datadict.character_sets' doesn't exist
-SELECT * FROM collations ;
-ERROR 42S02: Table 'db_datadict.collations' doesn't exist
-SELECT * FROM collation_character_set_applicability ;
-ERROR 42S02: Table 'db_datadict.collation_character_set_applicability' doesn't exist
-SELECT * FROM routines ;
-ERROR 42S02: Table 'db_datadict.routines' doesn't exist
-SELECT * FROM statistics ;
-ERROR 42S02: Table 'db_datadict.statistics' doesn't exist
-SELECT * FROM views ;
-ERROR 42S02: Table 'db_datadict.views' doesn't exist
-SELECT * FROM user_privileges ;
-ERROR 42S02: Table 'db_datadict.user_privileges' doesn't exist
-SELECT * FROM schema_privileges ;
-ERROR 42S02: Table 'db_datadict.schema_privileges' doesn't exist
-SELECT * FROM table_privileges ;
-ERROR 42S02: Table 'db_datadict.table_privileges' doesn't exist
-SELECT * FROM column_privileges ;
-ERROR 42S02: Table 'db_datadict.column_privileges' doesn't exist
-SELECT * FROM table_constraints ;
-ERROR 42S02: Table 'db_datadict.table_constraints' doesn't exist
-SELECT * FROM key_column_usage ;
-ERROR 42S02: Table 'db_datadict.key_column_usage' doesn't exist
-SELECT * FROM triggers ;
-ERROR 42S02: Table 'db_datadict.triggers' doesn't exist
-select * from information_schema.schemata ORDER BY 2 DESC;
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL test4 latin1 latin1_swedish_ci NULL
-NULL test1 latin1 latin1_swedish_ci NULL
-NULL test latin1 latin1_swedish_ci NULL
-NULL mysql latin1 latin1_swedish_ci NULL
-NULL information_schema utf8 utf8_general_ci NULL
-NULL db_datadict latin1 latin1_swedish_ci NULL
-SELECT * FROM information_schema.tables
-WHERE table_schema = 'information_schema';
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME CHARACTER_SETS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME COLLATIONS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME COLLATION_CHARACTER_SET_APPLICABILITY
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME COLUMNS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME COLUMN_PRIVILEGES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME ENGINES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME EVENTS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME FILES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME GLOBAL_STATUS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME GLOBAL_VARIABLES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME KEY_COLUMN_USAGE
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME PARTITIONS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME PLUGINS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME PROCESSLIST
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME REFERENTIAL_CONSTRAINTS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME ROUTINES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME SCHEMATA
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME SCHEMA_PRIVILEGES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME SESSION_STATUS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME SESSION_VARIABLES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME STATISTICS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME TABLES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME TABLE_CONSTRAINTS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME TABLE_PRIVILEGES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME TRIGGERS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME USER_PRIVILEGES
-TABLE_TYPE SYSTEM VIEW
-ENGINE MEMORY
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA information_schema
-TABLE_NAME VIEWS
-TABLE_TYPE SYSTEM VIEW
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT
-SELECT * FROM information_schema.tables
-WHERE NOT( table_schema = 'information_schema');
-TABLE_CATALOG NULL
-TABLE_SCHEMA db_datadict
-TABLE_NAME v1
-TABLE_TYPE VIEW
-ENGINE NULL
-VERSION NULL
-ROW_FORMAT NULL
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION NULL
-CHECKSUM NULL
-CREATE_OPTIONS NULL
-TABLE_COMMENT VIEW
-TABLE_CATALOG NULL
-TABLE_SCHEMA db_datadict
-TABLE_NAME vu
-TABLE_TYPE VIEW
-ENGINE NULL
-VERSION NULL
-ROW_FORMAT NULL
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION NULL
-CHECKSUM NULL
-CREATE_OPTIONS NULL
-TABLE_COMMENT VIEW
-TABLE_CATALOG NULL
-TABLE_SCHEMA db_datadict
-TABLE_NAME vu1
-TABLE_TYPE VIEW
-ENGINE NULL
-VERSION NULL
-ROW_FORMAT NULL
-TABLE_ROWS NULL
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION NULL
-CHECKSUM NULL
-CREATE_OPTIONS NULL
-TABLE_COMMENT VIEW
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME user
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 3
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Users and global privileges
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME columns_priv
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Column privileges
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME db
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 2
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Database privileges
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME event
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Events
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME func
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT User defined functions
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME general_log
-TABLE_TYPE BASE TABLE
-ENGINE CSV
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 2
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT General log
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME help_category
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT help categories
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME help_keyword
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT help keywords
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME help_relation
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT keyword-topic relation
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME help_topic
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT help topics
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME host
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Host privileges; Merged with database privileges
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME ndb_apply_status
-TABLE_TYPE BASE TABLE
-ENGINE NDBCLUSTER
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT number_of_replicas: 2
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME ndb_binlog_index
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 5
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME plugin
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT MySQL plugins
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME proc
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 1
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Stored Procedures
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME procs_priv
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Procedure privileges
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME servers
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT MySQL Foreign Servers table
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME slow_log
-TABLE_TYPE BASE TABLE
-ENGINE CSV
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 2
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Slow log
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME tables_priv
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 0
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_bin
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Table privileges
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME time_zone
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 5
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT 6
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Time zones
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME time_zone_leap_second
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 22
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Leap seconds information for time zones
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME time_zone_name
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 6
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Time zone names
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME time_zone_transition
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 393
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Time zone transitions
-TABLE_CATALOG NULL
-TABLE_SCHEMA mysql
-TABLE_NAME time_zone_transition_type
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 31
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION utf8_general_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT Time zone transition types
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t1
-TABLE_TYPE BASE TABLE
-ENGINE NDBCLUSTER
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT number_of_replicas: 2
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t10
-TABLE_TYPE BASE TABLE
-ENGINE NDBCLUSTER
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT number_of_replicas: 2
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t11
-TABLE_TYPE BASE TABLE
-ENGINE NDBCLUSTER
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT number_of_replicas: 2
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t2
-TABLE_TYPE BASE TABLE
-ENGINE NDBCLUSTER
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT number_of_replicas: 2
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t3
-TABLE_TYPE BASE TABLE
-ENGINE NDBCLUSTER
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT number_of_replicas: 2
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t4
-TABLE_TYPE BASE TABLE
-ENGINE NDBCLUSTER
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT number_of_replicas: 2
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t7
-TABLE_TYPE BASE TABLE
-ENGINE NDBCLUSTER
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT number_of_replicas: 2
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t8
-TABLE_TYPE BASE TABLE
-ENGINE NDBCLUSTER
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT number_of_replicas: 2
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME t9
-TABLE_TYPE BASE TABLE
-ENGINE NDBCLUSTER
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT number_of_replicas: 2
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME tb1
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME tb2
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 54
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME tb3
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 11
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test
-TABLE_NAME tb4
-TABLE_TYPE BASE TABLE
-ENGINE MyISAM
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT
-TABLE_CATALOG NULL
-TABLE_SCHEMA test4
-TABLE_NAME t6
-TABLE_TYPE BASE TABLE
-ENGINE NDBCLUSTER
-VERSION 10
-ROW_FORMAT Fixed
-TABLE_ROWS 10
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME YYYY-MM-DD hh:mm:ss
-UPDATE_TIME YYYY-MM-DD hh:mm:ss
-CHECK_TIME YYYY-MM-DD hh:mm:ss
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS
-TABLE_COMMENT number_of_replicas: 2
-select s.catalog_name, s.schema_name, s.default_character_set_name,
-t.table_type, t.engine
-from information_schema.schemata s inner join information_schema.tables t
-ORDER BY s.schema_name, s.default_character_set_name, table_type, engine;
-catalog_name schema_name default_character_set_name table_type engine
-NULL db_datadict latin1 BASE TABLE CSV
-NULL db_datadict latin1 BASE TABLE CSV
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE MyISAM
-NULL db_datadict latin1 BASE TABLE NDBCLUSTER
-NULL db_datadict latin1 BASE TABLE NDBCLUSTER
-NULL db_datadict latin1 BASE TABLE NDBCLUSTER
-NULL db_datadict latin1 BASE TABLE NDBCLUSTER
-NULL db_datadict latin1 BASE TABLE NDBCLUSTER
-NULL db_datadict latin1 BASE TABLE NDBCLUSTER
-NULL db_datadict latin1 BASE TABLE NDBCLUSTER
-NULL db_datadict latin1 BASE TABLE NDBCLUSTER
-NULL db_datadict latin1 BASE TABLE NDBCLUSTER
-NULL db_datadict latin1 BASE TABLE NDBCLUSTER
-NULL db_datadict latin1 BASE TABLE NDBCLUSTER
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MEMORY
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 SYSTEM VIEW MyISAM
-NULL db_datadict latin1 VIEW NULL
-NULL db_datadict latin1 VIEW NULL
-NULL db_datadict latin1 VIEW NULL
-NULL information_schema utf8 BASE TABLE CSV
-NULL information_schema utf8 BASE TABLE CSV
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE MyISAM
-NULL information_schema utf8 BASE TABLE NDBCLUSTER
-NULL information_schema utf8 BASE TABLE NDBCLUSTER
-NULL information_schema utf8 BASE TABLE NDBCLUSTER
-NULL information_schema utf8 BASE TABLE NDBCLUSTER
-NULL information_schema utf8 BASE TABLE NDBCLUSTER
-NULL information_schema utf8 BASE TABLE NDBCLUSTER
-NULL information_schema utf8 BASE TABLE NDBCLUSTER
-NULL information_schema utf8 BASE TABLE NDBCLUSTER
-NULL information_schema utf8 BASE TABLE NDBCLUSTER
-NULL information_schema utf8 BASE TABLE NDBCLUSTER
-NULL information_schema utf8 BASE TABLE NDBCLUSTER
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MEMORY
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 SYSTEM VIEW MyISAM
-NULL information_schema utf8 VIEW NULL
-NULL information_schema utf8 VIEW NULL
-NULL information_schema utf8 VIEW NULL
-NULL mysql latin1 BASE TABLE CSV
-NULL mysql latin1 BASE TABLE CSV
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE MyISAM
-NULL mysql latin1 BASE TABLE NDBCLUSTER
-NULL mysql latin1 BASE TABLE NDBCLUSTER
-NULL mysql latin1 BASE TABLE NDBCLUSTER
-NULL mysql latin1 BASE TABLE NDBCLUSTER
-NULL mysql latin1 BASE TABLE NDBCLUSTER
-NULL mysql latin1 BASE TABLE NDBCLUSTER
-NULL mysql latin1 BASE TABLE NDBCLUSTER
-NULL mysql latin1 BASE TABLE NDBCLUSTER
-NULL mysql latin1 BASE TABLE NDBCLUSTER
-NULL mysql latin1 BASE TABLE NDBCLUSTER
-NULL mysql latin1 BASE TABLE NDBCLUSTER
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MEMORY
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 SYSTEM VIEW MyISAM
-NULL mysql latin1 VIEW NULL
-NULL mysql latin1 VIEW NULL
-NULL mysql latin1 VIEW NULL
-NULL test latin1 BASE TABLE CSV
-NULL test latin1 BASE TABLE CSV
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE MyISAM
-NULL test latin1 BASE TABLE NDBCLUSTER
-NULL test latin1 BASE TABLE NDBCLUSTER
-NULL test latin1 BASE TABLE NDBCLUSTER
-NULL test latin1 BASE TABLE NDBCLUSTER
-NULL test latin1 BASE TABLE NDBCLUSTER
-NULL test latin1 BASE TABLE NDBCLUSTER
-NULL test latin1 BASE TABLE NDBCLUSTER
-NULL test latin1 BASE TABLE NDBCLUSTER
-NULL test latin1 BASE TABLE NDBCLUSTER
-NULL test latin1 BASE TABLE NDBCLUSTER
-NULL test latin1 BASE TABLE NDBCLUSTER
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MEMORY
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 SYSTEM VIEW MyISAM
-NULL test latin1 VIEW NULL
-NULL test latin1 VIEW NULL
-NULL test latin1 VIEW NULL
-NULL test1 latin1 BASE TABLE CSV
-NULL test1 latin1 BASE TABLE CSV
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE MyISAM
-NULL test1 latin1 BASE TABLE NDBCLUSTER
-NULL test1 latin1 BASE TABLE NDBCLUSTER
-NULL test1 latin1 BASE TABLE NDBCLUSTER
-NULL test1 latin1 BASE TABLE NDBCLUSTER
-NULL test1 latin1 BASE TABLE NDBCLUSTER
-NULL test1 latin1 BASE TABLE NDBCLUSTER
-NULL test1 latin1 BASE TABLE NDBCLUSTER
-NULL test1 latin1 BASE TABLE NDBCLUSTER
-NULL test1 latin1 BASE TABLE NDBCLUSTER
-NULL test1 latin1 BASE TABLE NDBCLUSTER
-NULL test1 latin1 BASE TABLE NDBCLUSTER
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MEMORY
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 SYSTEM VIEW MyISAM
-NULL test1 latin1 VIEW NULL
-NULL test1 latin1 VIEW NULL
-NULL test1 latin1 VIEW NULL
-NULL test4 latin1 BASE TABLE CSV
-NULL test4 latin1 BASE TABLE CSV
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE MyISAM
-NULL test4 latin1 BASE TABLE NDBCLUSTER
-NULL test4 latin1 BASE TABLE NDBCLUSTER
-NULL test4 latin1 BASE TABLE NDBCLUSTER
-NULL test4 latin1 BASE TABLE NDBCLUSTER
-NULL test4 latin1 BASE TABLE NDBCLUSTER
-NULL test4 latin1 BASE TABLE NDBCLUSTER
-NULL test4 latin1 BASE TABLE NDBCLUSTER
-NULL test4 latin1 BASE TABLE NDBCLUSTER
-NULL test4 latin1 BASE TABLE NDBCLUSTER
-NULL test4 latin1 BASE TABLE NDBCLUSTER
-NULL test4 latin1 BASE TABLE NDBCLUSTER
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MEMORY
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 SYSTEM VIEW MyISAM
-NULL test4 latin1 VIEW NULL
-NULL test4 latin1 VIEW NULL
-NULL test4 latin1 VIEW NULL
-select * from information_schema.columns limit 0, 5;
-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
-NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema CHARACTER_SETS DESCRIPTION 3 NO varchar 60 180 NULL NULL utf8 utf8_general_ci varchar(60) select
-NULL information_schema CHARACTER_SETS MAXLEN 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema COLLATIONS COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-select * from information_schema.character_sets limit 0, 5;
-CHARACTER_SET_NAME DEFAULT_COLLATE_NAME DESCRIPTION MAXLEN
-big5 big5_chinese_ci Big5 Traditional Chinese 2
-dec8 dec8_swedish_ci DEC West European 1
-cp850 cp850_general_ci DOS West European 1
-hp8 hp8_english_ci HP West European 1
-koi8r koi8r_general_ci KOI8-R Relcom Russian 1
-select * from information_schema.collations limit 0, 5;
-COLLATION_NAME CHARACTER_SET_NAME ID IS_DEFAULT IS_COMPILED SORTLEN
-big5_chinese_ci big5 1 Yes Yes 1
-big5_bin big5 84 Yes 1
-dec8_swedish_ci dec8 3 Yes 0
-dec8_bin dec8 69 0
-cp850_general_ci cp850 4 Yes 0
-select * from information_schema.collation_character_set_applicability limit 0, 5;
-COLLATION_NAME CHARACTER_SET_NAME
-big5_chinese_ci big5
-big5_bin big5
-dec8_swedish_ci dec8
-dec8_bin dec8
-cp850_general_ci cp850
-select * from information_schema.routines limit 0, 5;
-SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER
-sp_1 NULL db_datadict sp_1 PROCEDURE NULL SQL BEGIN
-SELECT * FROM db_datadict.v1;
-END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost
-select * from information_schema.statistics limit 0, 5;
-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
-NULL mysql user 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-NULL mysql user 0 mysql PRIMARY 2 User A 3 NULL NULL BTREE
-NULL mysql columns_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-NULL mysql columns_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE
-NULL mysql columns_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE
-select * from information_schema.views limit 0, 5;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE
-NULL db_datadict v1 /* ALGORITHM=UNDEFINED */ select `tables`.`TABLE_CATALOG` AS `TABLE_CATALOG`,`tables`.`TABLE_SCHEMA` AS `TABLE_SCHEMA`,`tables`.`TABLE_NAME` AS `TABLE_NAME`,`tables`.`TABLE_TYPE` AS `TABLE_TYPE`,`tables`.`ENGINE` AS `ENGINE`,`tables`.`VERSION` AS `VERSION`,`tables`.`ROW_FORMAT` AS `ROW_FORMAT`,`tables`.`TABLE_ROWS` AS `TABLE_ROWS`,`tables`.`AVG_ROW_LENGTH` AS `AVG_ROW_LENGTH`,`tables`.`DATA_LENGTH` AS `DATA_LENGTH`,`tables`.`MAX_DATA_LENGTH` AS `MAX_DATA_LENGTH`,`tables`.`INDEX_LENGTH` AS `INDEX_LENGTH`,`tables`.`DATA_FREE` AS `DATA_FREE`,`tables`.`AUTO_INCREMENT` AS `AUTO_INCREMENT`,`tables`.`CREATE_TIME` AS `CREATE_TIME`,`tables`.`UPDATE_TIME` AS `UPDATE_TIME`,`tables`.`CHECK_TIME` AS `CHECK_TIME`,`tables`.`TABLE_COLLATION` AS `TABLE_COLLATION`,`tables`.`CHECKSUM` AS `CHECKSUM`,`tables`.`CREATE_OPTIONS` AS `CREATE_OPTIONS`,`tables`.`TABLE_COMMENT` AS `TABLE_COMMENT` from `information_schema`.`tables` NONE NO root@localhost DEFINER
-NULL db_datadict vu /* ALGORITHM=UNDEFINED */ select distinct `vu1`.`u` AS `u`,substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3)) AS `server`,substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3),(length(substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3))) - 1)) AS `Server_Clean` from `db_datadict`.`vu1` NONE NO root@localhost DEFINER
-NULL db_datadict vu1 /* ALGORITHM=UNDEFINED */ select `user_privileges`.`GRANTEE` AS `u` from `information_schema`.`user_privileges` NONE NO root@localhost DEFINER
-select * from information_schema.user_privileges limit 0, 5;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'root'@'localhost' NULL SELECT YES
-'root'@'localhost' NULL INSERT YES
-'root'@'localhost' NULL UPDATE YES
-'root'@'localhost' NULL DELETE YES
-'root'@'localhost' NULL CREATE YES
-select * from information_schema.schema_privileges limit 0, 5;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
-''@'%' NULL test SELECT NO
-''@'%' NULL test INSERT NO
-''@'%' NULL test UPDATE NO
-''@'%' NULL test DELETE NO
-''@'%' NULL test CREATE NO
-select * from information_schema.table_privileges limit 0, 5;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select * from information_schema.column_privileges limit 0, 5;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select * from information_schema.table_constraints limit 0, 5;
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE
-NULL mysql PRIMARY mysql user PRIMARY KEY
-NULL mysql PRIMARY mysql columns_priv PRIMARY KEY
-NULL mysql PRIMARY mysql db PRIMARY KEY
-NULL mysql PRIMARY mysql event PRIMARY KEY
-NULL mysql PRIMARY mysql func PRIMARY KEY
-select * from information_schema.key_column_usage limit 0, 5;
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
-NULL mysql PRIMARY NULL mysql user Host 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql user User 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql columns_priv Host 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql columns_priv Db 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql columns_priv User 3 NULL NULL NULL NULL
-select count(*) as max_recs from information_schema.key_column_usage limit 0, 5;
-max_recs
-46
-
-root: check with db name
-------------------------
-SELECT COUNT(*) FROM information_schema. schemata ;
-COUNT(*)
-6
-SELECT COUNT(*) FROM information_schema. tables ;
-COUNT(*)
-68
-SELECT COUNT(*) FROM information_schema. columns ;
-COUNT(*)
-813
-SELECT COUNT(*) FROM information_schema. character_sets ;
-COUNT(*)
-36
-SELECT COUNT(*) FROM information_schema. collations ;
-COUNT(*)
-127
-SELECT COUNT(*) FROM information_schema. collation_character_set_applicability ;
-COUNT(*)
-128
-SELECT COUNT(*) FROM information_schema. routines ;
-COUNT(*)
-1
-SELECT COUNT(*) FROM information_schema. statistics ;
-COUNT(*)
-49
-SELECT COUNT(*) FROM information_schema. views ;
-COUNT(*)
-3
-SELECT COUNT(*) FROM information_schema. user_privileges ;
-COUNT(*)
-81
-SELECT COUNT(*) FROM information_schema. schema_privileges ;
-COUNT(*)
-32
-SELECT COUNT(*) FROM information_schema. table_privileges ;
-COUNT(*)
-0
-SELECT COUNT(*) FROM information_schema. column_privileges ;
-COUNT(*)
-0
-SELECT COUNT(*) FROM information_schema. table_constraints ;
-COUNT(*)
-25
-SELECT COUNT(*) FROM information_schema. key_column_usage ;
-COUNT(*)
-46
-SELECT COUNT(*) FROM information_schema. triggers ;
-COUNT(*)
-0
-SELECT COUNT(*) FROM information_schema. parameters ;
-ERROR 42S02: Unknown table 'parameters' in information_schema
-SELECT COUNT(*) FROM information_schema. referential_constraints ;
-COUNT(*)
-0
-USE db_datadict;
-DROP VIEW v1, vu1, vu;
-DROP PROCEDURE db_datadict.sp_1;
-USE information_schema;
-
-Testcase 3.2.1.2:
---------------------------------------------------------------------------------
-select catalog_name, schema_name, default_character_set_name
-from schemata where schema_name like '%s%';
-catalog_name schema_name default_character_set_name
-NULL information_schema utf8
-NULL mysql latin1
-NULL test latin1
-NULL test1 latin1
-NULL test4 latin1
-select count(*) as tot_tabs from tables;
-tot_tabs
-65
-select count(*) as the_cols from columns;
-the_cols
-788
-select max(maxlen) as the_max from character_sets;
-the_max
-3
-select * from collations order by id asc limit 0, 5;
-COLLATION_NAME CHARACTER_SET_NAME ID IS_DEFAULT IS_COMPILED SORTLEN
-big5_chinese_ci big5 1 Yes Yes 1
-latin2_czech_cs latin2 2 Yes 4
-dec8_swedish_ci dec8 3 Yes 0
-cp850_general_ci cp850 4 Yes 0
-latin1_german1_ci latin1 5 Yes 1
-select * from collation_character_set_applicability
-order by character_set_name desc, collation_name limit 0, 5;
-COLLATION_NAME CHARACTER_SET_NAME
-utf8_bin utf8
-utf8_czech_ci utf8
-utf8_danish_ci utf8
-utf8_esperanto_ci utf8
-utf8_estonian_ci utf8
-select routine_definition from routines;
-routine_definition
-select * from statistics group by index_name asc limit 0, 5;
-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
-NULL mysql procs_priv 1 mysql Grantor 1 Grantor A NULL NULL NULL BTREE
-NULL mysql help_category 0 mysql name 1 name A 0 NULL NULL BTREE
-NULL mysql user 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-NULL mysql db 1 mysql User 1 User A 1 NULL NULL BTREE
-select concat(table_schema, ', ', table_name, ', ', view_definition) view_info
-from views;
-view_info
-select concat(table_schema, ', ', table_name) "Table_info"
- from tables ORDER BY 1;
-Table_info
-information_schema, CHARACTER_SETS
-information_schema, COLLATIONS
-information_schema, COLLATION_CHARACTER_SET_APPLICABILITY
-information_schema, COLUMNS
-information_schema, COLUMN_PRIVILEGES
-information_schema, ENGINES
-information_schema, EVENTS
-information_schema, FILES
-information_schema, GLOBAL_STATUS
-information_schema, GLOBAL_VARIABLES
-information_schema, KEY_COLUMN_USAGE
-information_schema, PARTITIONS
-information_schema, PLUGINS
-information_schema, PROCESSLIST
-information_schema, REFERENTIAL_CONSTRAINTS
-information_schema, ROUTINES
-information_schema, SCHEMATA
-information_schema, SCHEMA_PRIVILEGES
-information_schema, SESSION_STATUS
-information_schema, SESSION_VARIABLES
-information_schema, STATISTICS
-information_schema, TABLES
-information_schema, TABLE_CONSTRAINTS
-information_schema, TABLE_PRIVILEGES
-information_schema, TRIGGERS
-information_schema, USER_PRIVILEGES
-information_schema, VIEWS
-mysql, columns_priv
-mysql, db
-mysql, event
-mysql, func
-mysql, general_log
-mysql, help_category
-mysql, help_keyword
-mysql, help_relation
-mysql, help_topic
-mysql, host
-mysql, ndb_apply_status
-mysql, ndb_binlog_index
-mysql, plugin
-mysql, proc
-mysql, procs_priv
-mysql, servers
-mysql, slow_log
-mysql, tables_priv
-mysql, time_zone
-mysql, time_zone_leap_second
-mysql, time_zone_name
-mysql, time_zone_transition
-mysql, time_zone_transition_type
-mysql, user
-test, t1
-test, t10
-test, t11
-test, t2
-test, t3
-test, t4
-test, t7
-test, t8
-test, t9
-test, tb1
-test, tb2
-test, tb3
-test, tb4
-test4, t6
-select distinct grantee from user_privileges order by grantee, privilege_type;
-grantee
-'root'@'127.0.0.1'
-'root'@'<SERVER_NAME>'
-'root'@'localhost'
-select * from schema_privileges where table_catalog is null limit 0, 5;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
-''@'%' NULL test SELECT NO
-''@'%' NULL test INSERT NO
-''@'%' NULL test UPDATE NO
-''@'%' NULL test DELETE NO
-''@'%' NULL test CREATE NO
-select * from table_privileges where grantee like '%r%' limit 0, 5;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select * from column_privileges where table_catalog is not null limit 0, 5;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select HIGH_PRIORITY * from table_constraints
-group by constraint_name desc limit 0, 5;
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE
-NULL mysql PRIMARY mysql user PRIMARY KEY
-NULL mysql name mysql help_category UNIQUE
-select sum(ordinal_position) from key_column_usage;
-sum(ordinal_position)
-84
-select * from schemata limit 0,5;
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL information_schema utf8 utf8_general_ci NULL
-NULL db_datadict latin1 latin1_swedish_ci NULL
-NULL mysql latin1 latin1_swedish_ci NULL
-NULL test latin1 latin1_swedish_ci NULL
-NULL test1 latin1 latin1_swedish_ci NULL
-select * from schemata limit 0,5;
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL information_schema utf8 utf8_general_ci NULL
-NULL db_datadict latin1 latin1_swedish_ci NULL
-NULL mysql latin1 latin1_swedish_ci NULL
-NULL test latin1 latin1_swedish_ci NULL
-NULL test1 latin1 latin1_swedish_ci NULL
-select distinct grantee from user_privileges;
-grantee
-'root'@'localhost'
-'root'@'<SERVER_NAME>'
-'root'@'127.0.0.1'
-select all grantee from user_privileges order by grantee, privilege_type;
-grantee
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'127.0.0.1'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'<SERVER_NAME>'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-'root'@'localhost'
-select id , character_set_name from collations order by id asc limit 10;
-id character_set_name
-1 big5
-2 latin2
-3 dec8
-4 cp850
-5 latin1
-6 hp8
-7 koi8r
-8 latin1
-9 latin2
-10 swe7
-select table_catalog from columns
-union all
-select table_catalog from tables limit 0,5;
-table_catalog
-NULL
-NULL
-NULL
-NULL
-NULL
-select table_catalog from columns
-union
-select table_catalog from tables limit 0,5;
-table_catalog
-NULL
-select all schema_name from information_schema.schemata;
-schema_name
-information_schema
-db_datadict
-mysql
-test
-test1
-test4
-SELECT *
-INTO OUTFILE '../tmp/out.ndb.file'
- FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
- LINES TERMINATED BY '\n'
- FROM schemata LIMIT 0, 5;
-USE test;
-SELECT *
-INTO OUTFILE '../tmp/out.ndb.db.file'
- FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
- LINES TERMINATED BY '\n'
- FROM information_schema.schemata
-WHERE schema_name LIKE 'db_%';
-CREATE USER user_3212@localhost;
-GRANT ALL ON db_datadict.* TO user_3212@localhost;
-connect(localhost,user_3212,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-
-user_3212@localhost db_datadict
-SELECT *
-INTO OUTFILE '../tmp/out.ndb.user.file'
- FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
- LINES TERMINATED BY '\n'
- FROM schemata LIMIT 0, 5;
-ERROR 28000: Access denied for user 'user_3212'@'localhost' (using password: NO)
-SELECT *
-FROM schemata LIMIT 0, 5;
-ERROR 42S02: Table 'db_datadict.schemata' doesn't exist
-SELECT *
-INTO OUTFILE '../tmp/out.ndb.user.db.file'
- FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
- LINES TERMINATED BY '\n'
- FROM information_schema.schemata
-WHERE schema_name LIKE 'db_%';
-SELECT *
-FROM information_schema.schemata
-WHERE schema_name LIKE 'db_%';
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL db_datadict latin1 latin1_swedish_ci NULL
-USE information_schema;
-SELECT *
-INTO OUTFILE '../tmp/out.ndb.user_2.file'
- FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
- LINES TERMINATED BY '\n'
- FROM schemata LIMIT 0, 5;
-SELECT *
-FROM schemata LIMIT 0, 5;
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL information_schema utf8 utf8_general_ci NULL
-NULL db_datadict latin1 latin1_swedish_ci NULL
-NULL test latin1 latin1_swedish_ci NULL
-SELECT *
-INTO OUTFILE '../tmp/out.ndb.user_2.db.file'
- FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
- LINES TERMINATED BY '\n'
- FROM information_schema.schemata
-WHERE schema_name LIKE 'db_%';
-SELECT *
-FROM information_schema.schemata
-WHERE schema_name LIKE 'db_%';
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL db_datadict latin1 latin1_swedish_ci NULL
-USE information_schema;
-
-root@localhost information_schema
-use db_datadict;
-select table_catalog "1", table_schema "2", table_name "3", column_name "4"
- from information_schema.columns
-union
-select table_catalog, table_schema, table_name,
-concat( "*** type = ", table_type )
-from information_schema.tables
-order by 3, 4 desc, 1, 2 limit 30;
-1 2 3 4
-NULL information_schema CHARACTER_SETS MAXLEN
-NULL information_schema CHARACTER_SETS DESCRIPTION
-NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME
-NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME
-NULL information_schema CHARACTER_SETS *** type = SYSTEM VIEW
-NULL information_schema COLLATIONS SORTLEN
-NULL information_schema COLLATIONS IS_DEFAULT
-NULL information_schema COLLATIONS IS_COMPILED
-NULL information_schema COLLATIONS ID
-NULL information_schema COLLATIONS COLLATION_NAME
-NULL information_schema COLLATIONS CHARACTER_SET_NAME
-NULL information_schema COLLATIONS *** type = SYSTEM VIEW
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY *** type = SYSTEM VIEW
-NULL information_schema COLUMNS TABLE_SCHEMA
-NULL information_schema COLUMNS TABLE_NAME
-NULL information_schema COLUMNS TABLE_CATALOG
-NULL information_schema COLUMNS PRIVILEGES
-NULL information_schema COLUMNS ORDINAL_POSITION
-NULL information_schema COLUMNS NUMERIC_SCALE
-NULL information_schema COLUMNS NUMERIC_PRECISION
-NULL information_schema COLUMNS IS_NULLABLE
-NULL information_schema COLUMNS EXTRA
-NULL information_schema COLUMNS DATA_TYPE
-NULL information_schema COLUMNS COLUMN_TYPE
-NULL information_schema COLUMNS COLUMN_NAME
-NULL information_schema COLUMNS COLUMN_KEY
-NULL information_schema COLUMNS COLUMN_DEFAULT
-NULL information_schema COLUMNS COLUMN_COMMENT
-use information_schema;
-select table_catalog "1", table_schema "2", table_name "3", column_name "4"
- from columns
-union
-select table_catalog, table_schema, table_name,
-concat( "*** type = ", table_type )
-from tables
-order by 3, 4 desc, 1, 2 limit 30;
-1 2 3 4
-NULL information_schema CHARACTER_SETS MAXLEN
-NULL information_schema CHARACTER_SETS DESCRIPTION
-NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME
-NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME
-NULL information_schema CHARACTER_SETS *** type = SYSTEM VIEW
-NULL information_schema COLLATIONS SORTLEN
-NULL information_schema COLLATIONS IS_DEFAULT
-NULL information_schema COLLATIONS IS_COMPILED
-NULL information_schema COLLATIONS ID
-NULL information_schema COLLATIONS COLLATION_NAME
-NULL information_schema COLLATIONS CHARACTER_SET_NAME
-NULL information_schema COLLATIONS *** type = SYSTEM VIEW
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY *** type = SYSTEM VIEW
-NULL information_schema COLUMNS TABLE_SCHEMA
-NULL information_schema COLUMNS TABLE_NAME
-NULL information_schema COLUMNS TABLE_CATALOG
-NULL information_schema COLUMNS PRIVILEGES
-NULL information_schema COLUMNS ORDINAL_POSITION
-NULL information_schema COLUMNS NUMERIC_SCALE
-NULL information_schema COLUMNS NUMERIC_PRECISION
-NULL information_schema COLUMNS IS_NULLABLE
-NULL information_schema COLUMNS EXTRA
-NULL information_schema COLUMNS DATA_TYPE
-NULL information_schema COLUMNS COLUMN_TYPE
-NULL information_schema COLUMNS COLUMN_NAME
-NULL information_schema COLUMNS COLUMN_KEY
-NULL information_schema COLUMNS COLUMN_DEFAULT
-NULL information_schema COLUMNS COLUMN_COMMENT
-DROP USER user_3212@localhost;
-
-Testcase 3.2.1.3:
---------------------------------------------------------------------------------
-insert into schemata (catalog_name, schema_name, default_character_set_name, sql_path)
-values ('null', 'db1', 'latin1', 'null');
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-insert into tables (table_schema, table_name)values('db_datadict', 't1');
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-insert into columns (table_name, column_name)values('t3', 'f2');
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-insert into character_sets (character_set_name, default_collate_name, description, maxlen)
-values('cp1251', 'cp1251_general_ci', 'windows cyrillic', 1);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-insert into collations ( collation_name, character_set_name, id, is_default, is_compiled, sortlen)
-values ('cp1251_bin', 'cp1251', 50, '', '', 0);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-insert into collation_character_set_applicability (collation_name, character_set_name)
-values (' big5_chinese_ci', 'big6');
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-insert into routines(routine_name, routine_type ) values ('p2', 'procedure');
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-insert into statistics(table_schema, table_name, index_name)
-values ('mysql', 'db', 'primary');
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-insert into views(table_schema, table_name) values ('db2', 'v2');
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-insert into user_privileges (privilege_type, is_grantable) values ('select', 'yes');
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-insert into schema_privileges (table_schema, privilege_type) values('db2', 'insert');
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-insert into table_privileges (able_schema, table_name, privilege_type)
-values('db2', 'v2', 'insert');
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-insert into column_privileges (table_name, column_name, privilege_type)
-values ('t3', 'f3', 'insert');
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-insert into table_constraints ( constraint_schema, constraint_name, table_schema)
-values ('primary', 'mysql', 'user');
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-insert into key_column_usage (constraint_schema, constraint_name, table_name)
-values ('mysql', 'primary', 'db');
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-drop procedure if exists db_datadict.sp_4_1_3;
-create procedure db_datadict.sp_4_1_3()
-begin
-insert into information_schema.schema_privileges (table_schema,privilege_type)
-values('db2','insert');
-end//
-SELECT table_schema, privilege_type FROM information_schema.schema_privileges
-WHERE table_schema LIKE 'db%';
-table_schema privilege_type
-call db_datadict.sp_4_1_3();
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-SELECT table_schema, privilege_type FROM information_schema.schema_privileges
-WHERE table_schema LIKE 'db%';
-table_schema privilege_type
-drop procedure db_datadict.sp_4_1_3;
-CREATE USER user_4_1_3@localhost;
-connect(localhost,user_4_1_3,,test,MYSQL_PORT,MYSQL_SOCK);
-
-user_4_1_3@localhost test
-use information_schema;
-insert into table_constraints ( constraint_schema, constraint_name, table_schema)
-values ('primary', 'mysql', 'user');
-ERROR 42000: Access denied for user 'user_4_1_3'@'localhost' to database 'information_schema'
-
-root@localhost information_schema
-
-Testcase 3.2.1.4:
---------------------------------------------------------------------------------
-use information_schema;
-
-root@localhost information_schema
-update schemata set schema_name = 'db5' where default_character_set_name = 'latin1';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-update tables set table_schema = 'db_datadict1' where table_name = 't1';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-update columns set table_name = 't4' where column_name = 'f2';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-update character_sets set character_set_name = 'cp1252' where maxlen = 1;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-update collations set collation_name = 'cp1253_bin'
- where character_set_name = 'cp1251';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-update collation_character_set_applicability set collation_name = 'big6_chinese_ci'
- where character_set_name = 'big6';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-update routines set routine_name = p2 where routine_body = 'sql';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-update statistics set table_schema = 'mysql1' where table_name = 'db';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-update views set table_schema = 'db3' where table_name = 'v1';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-update user_privileges set privilege_type = 'insert' where is_grantable = 'yes';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-update schema_privileges set table_schema = 'db2' where privilege_type = 'select';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-update table_privileges set table_name = 'v3' where privilege_type = 'select';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-update column_privileges set table_name = 't4' where column_name = 'f3';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-update table_constraints set constraint_schema = 'primary'
- where table_schema = 'proc';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-update key_column_usage set table_name = 'db1' where constraint_name = 'primary';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-drop procedure if exists db_datadict.sp_4_1_4;
-create procedure db_datadict.sp_4_1_4()
-begin
-update information_schema.routines set routine_name = 'p2'
- where routine_name = 'sp_4_1_4';
-end//
-select * from information_schema.routines;
-SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER
-sp_4_1_4 NULL db_datadict sp_4_1_4 PROCEDURE NULL SQL begin
-update information_schema.routines set routine_name = 'p2'
- where routine_name = 'sp_4_1_4';
-end NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost
-call db_datadict.sp_4_1_4();
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-select * from information_schema.routines;
-SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER
-sp_4_1_4 NULL db_datadict sp_4_1_4 PROCEDURE NULL SQL begin
-update information_schema.routines set routine_name = 'p2'
- where routine_name = 'sp_4_1_4';
-end NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost
-drop procedure db_datadict.sp_4_1_4;
-use information_schema;
-
-user_4_1_3@localhost information_schema
-update user_privileges set privilege_type = 'insert' where is_grantable = 'yes';
-ERROR 42000: Access denied for user 'user_4_1_3'@'localhost' to database 'information_schema'
-
-root@localhost information_schema
-
-Testcase 3.2.1.5:
---------------------------------------------------------------------------------
-use information_schema;
-
-root: DELETE FROM any table in IS
----------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-DELETE FROM schemata ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM tables ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM columns ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM character_sets ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM collations ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM collation_character_set_applicability ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM routines ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM statistics ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM views ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM user_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM schema_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM table_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM column_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM table_constraints ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM key_column_usage ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM triggers ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from schemata where schema_name = 'mysql';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from tables where table_name = 'abc';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from columns;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from character_sets;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from collations;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from collation_character_set_applicability;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from routines;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from statistics;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from views;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from user_privileges;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from schema_privileges;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from table_privileges;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from column_privileges;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from table_constraints;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-delete from key_column_usage;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-drop procedure if exists db_datadict.sp_4_1_5;
-create procedure db_datadict.sp_4_1_5()
-begin
-delete from information_schema.column_privileges;
-end//
-call db_datadict.sp_4_1_5();
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-drop procedure db_datadict.sp_4_1_5;
-use information_schema;
-
-user_4_1_3@localhost information_schema
-delete from tables where table_name = 'abc';
-ERROR 42000: Access denied for user 'user_4_1_3'@'localhost' to database 'information_schema'
-
-root@localhost information_schema
-DROP USER user_4_1_3@localhost;
-
-Testcase 3.2.1.6:
---------------------------------------------------------------------------------
-use information_schema;
-
-root: create a table with a name of an IS table directly in IS
---------------------------------------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-CREATE TABLE schemata ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE tables ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE columns ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE character_sets ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE collations ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE collation_character_set_applicability ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE routines ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE statistics ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE views ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE user_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE schema_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE table_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE column_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE table_constraints ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE key_column_usage ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE triggers ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create table t1 (f1 int, f2 int, f3 int);
-ERROR 42S02: Unknown table 't1' in information_schema
-use db_datadict;
-
-root: create a table with a name of an IS table from other db
--------------------------------------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-CREATE TABLE information_schema. schemata ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. tables ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. columns ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. character_sets ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. collations ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. collation_character_set_applicability ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. routines ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. statistics ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. views ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. user_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. schema_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. table_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. column_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. table_constraints ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. key_column_usage ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. triggers ( c1 INT );
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create table information_schema.t1 (f1 int, f2 int, f3 int);
-ERROR 42S02: Unknown table 't1' in information_schema
-CREATE USER user_4_1_6@localhost;
-grant all on *.* to user_4_1_6@localhost;
-FLUSH PRIVILEGES;
-SHOW GRANTS FOR user_4_1_6@localhost;
-Grants for user_4_1_6@localhost
-GRANT ALL PRIVILEGES ON *.* TO 'user_4_1_6'@'localhost'
-connect(localhost,user_4_1_6,,information_schema,MYSQL_PORT,MYSQL_SOCK);
-
-user_4_1_6@localhost information_schema
-use information_schema;
-
-user: create a table with a name of an IS table directly in IS
---------------------------------------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-CREATE TABLE schemata ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE tables ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE columns ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE character_sets ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE collations ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE collation_character_set_applicability ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE routines ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE statistics ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE views ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE user_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE schema_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE table_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE column_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE table_constraints ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE key_column_usage ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE triggers ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-create table t1 (f1 int, f2 int, f3 int);
-ERROR 42S02: Unknown table 't1' in information_schema
-use test;
-
-user: create a table with a name of an IS table from other db
--------------------------------------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-CREATE TABLE information_schema. schemata ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. tables ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. columns ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. character_sets ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. collations ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. collation_character_set_applicability ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. routines ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. statistics ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. views ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. user_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. schema_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. table_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. column_privileges ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. table_constraints ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. key_column_usage ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-CREATE TABLE information_schema. triggers ( c1 INT );
-ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema'
-create table information_schema.t1 (f1 int, f2 int, f3 int);
-ERROR 42S02: Unknown table 't1' in information_schema
-
-root@localhost db_datadict
-DROP USER user_4_1_6@localhost;
-
-Testcase 3.2.1.7:
---------------------------------------------------------------------------------
-use information_schema;
-
-root: create a view with a name of an IS table directly in IS
--------------------------------------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-CREATE VIEW schemata AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW tables AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW columns AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW character_sets AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW collations AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW collation_character_set_applicability AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW routines AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW statistics AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW views AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW user_privileges AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW schema_privileges AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW table_privileges AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW column_privileges AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW table_constraints AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW key_column_usage AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW triggers AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW v1 AS SELECT * FROM information_schema.schemata;
-ERROR 42S02: Unknown table 'v1' in information_schema
-USE db_datadict;
-
-root: create a view with a name of an IS table from other db
-------------------------------------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-CREATE VIEW information_schema. schemata AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. tables AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. columns AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. character_sets AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. collations AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. collation_character_set_applicability AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. routines AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. statistics AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. views AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. user_privileges AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. schema_privileges AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. table_privileges AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. column_privileges AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. table_constraints AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. key_column_usage AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. triggers AS SELECT * FROM mysql.time_zone;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE VIEW v1 AS SELECT * FROM information_schema.columns;
-SELECT * FROM v1 LIMIT 5;
-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
-NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema CHARACTER_SETS DESCRIPTION 3 NO varchar 60 180 NULL NULL utf8 utf8_general_ci varchar(60) select
-NULL information_schema CHARACTER_SETS MAXLEN 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema COLLATIONS COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-CREATE USER user_4_1_7@localhost;
-GRANT ALL ON db_datadict.* TO user_4_1_7@localhost;
-GRANT ALL ON information_schema.* TO user_4_1_7@localhost;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-FLUSH PRIVILEGES;
-connect(localhost,user_4_1_7,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-use information_schema;
-
-user_4_1_7@localhost information_schema
-
-user: create a view with a name of an IS table directly in IS
--------------------------------------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-CREATE VIEW schemata AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW tables AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW columns AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW character_sets AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW collations AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW collation_character_set_applicability AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW routines AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW statistics AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW views AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW user_privileges AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW schema_privileges AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW table_privileges AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW column_privileges AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW table_constraints AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW key_column_usage AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW triggers AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-create view v1 as select * from table_privileges;
-ERROR 42S02: Unknown table 'v1' in information_schema
-use db_datadict;
-
-user: create a view with a name of an IS table from other db
-------------------------------------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-CREATE VIEW information_schema. schemata AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. tables AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. columns AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. character_sets AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. collations AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. collation_character_set_applicability AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. routines AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. statistics AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. views AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. user_privileges AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. schema_privileges AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. table_privileges AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. column_privileges AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. table_constraints AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. key_column_usage AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-CREATE VIEW information_schema. triggers AS SELECT * FROM db_datadict.v1;
-ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema'
-
-root@localhost db_datadict
-DROP USER user_4_1_7@localhost;
-DROP VIEW db_datadict.v1;
-
-Testcase 3.2.1.8:
---------------------------------------------------------------------------------
-use information_schema;
-create index i1 on schemata(schema_name);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i2 on tables(table_schema);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i3 on columns(table_name);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i4 on character_sets(character_set_name);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i5 on collations( collation_name);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i6 on collation_character_set_applicability(collation_name);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i7 on routines(routine_name);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i8 on statistics(table_schema);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i9 on views(table_schema);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i10 on user_privileges(privilege_type);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i11 on schema_privileges(table_schema);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i12 on table_privileges(able_schema);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i13 on column_privileges(table_name);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i14 on table_constraints(constraint_schema);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i15 on key_column_usage(constraint_schema);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-create index i16 on triggers(trigger_name);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-use db_datadict;
-create index i15 on information_schema.key_column_usage(constraint_schema);
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-use information_schema;
-CREATE USER user_4_1_8@localhost;
-grant select, index on *.* to user_4_1_8@localhost;
-FLUSH PRIVILEGES;
-connect(localhost,user_4_1_8,,test,MYSQL_PORT,MYSQL_SOCK);
-
-user_4_1_8@localhost test
-use information_schema;
-create index i1 on schemata(schema_name);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i2 on tables(table_schema);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i3 on columns(table_name);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i4 on character_sets(character_set_name);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i5 on collations( collation_name);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i6 on collation_character_set_applicability(collation_name);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i7 on routines(routine_name);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i8 on statistics(table_schema);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i9 on views(table_schema);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i10 on user_privileges(privilege_type);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i11 on schema_privileges(table_schema);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i12 on table_privileges(able_schema);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i13 on column_privileges(table_name);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i14 on table_constraints(constraint_schema);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i15 on key_column_usage(constraint_schema);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-create index i16 on triggers(trigger_name);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-use db_datadict;
-create index i15 on information_schema.key_column_usage(constraint_schema);
-ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema'
-
-root@localhost information_schema
-DROP USER user_4_1_8@localhost;
-
-Testcase 3.2.1.9:
---------------------------------------------------------------------------------
-
-root: alter a table from other db
----------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-ALTER TABLE information_schema. schemata ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. tables ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. columns ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. character_sets ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. collations ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. collation_character_set_applicability ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. routines ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. statistics ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. views ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. user_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. schema_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. table_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. column_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. table_constraints ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. key_column_usage ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. triggers ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-use information_schema;
-
-root: alter a table from directly
----------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-ALTER TABLE schemata ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE tables ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE columns ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE character_sets ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE collations ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE collation_character_set_applicability ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE routines ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE statistics ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE views ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE user_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE schema_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE table_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE column_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE table_constraints ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE key_column_usage ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE triggers ADD f1 INT;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table schemata add f1 int;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table tables drop primary key;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table columns add f1 int;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table character_sets disable keys;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table collations enable keys;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table collation_character_set_applicability add f1 int;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table routines discard tablespace;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table statistics import tablespace;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table views drop column table_name;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table user_privileges drop index privilege_type;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table schema_privileges drop column is_grantable;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table table_privileges order by constraint_type;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table column_privileges rename to aaxyz;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table table_constraints order by schema_name;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table key_column_usage rename to information_schema.aabxyz;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-alter table triggers rename to information_schema.sql_mode;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE USER user_4_1_9@localhost;
-grant select, alter, create, insert on *.* to user_4_1_9@localhost;
-FLUSH PRIVILEGES;
-connect(localhost,user_4_1_9,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-
-user_4_1_9@localhost db_datadict
-use db_datadict;
-
-user: alter a table from other db
----------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-ALTER TABLE information_schema. schemata ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. tables ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. columns ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. character_sets ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. collations ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. collation_character_set_applicability ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. routines ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. statistics ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. views ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. user_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. schema_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. table_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. column_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. table_constraints ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. key_column_usage ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. triggers ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-use information_schema;
-
-user: alter a table from directly
----------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-ALTER TABLE schemata ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE tables ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE columns ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE character_sets ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE collations ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE collation_character_set_applicability ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE routines ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE statistics ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE views ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE user_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE schema_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE table_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE column_privileges ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE table_constraints ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE key_column_usage ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-ALTER TABLE triggers ADD f1 INT;
-ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema'
-
-root@localhost information_schema
-DROP USER user_4_1_9@localhost;
-
-Testcase 3.2.1.10:
---------------------------------------------------------------------------------
-use information_schema;
-
-root: drop a table from IS
---------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-DROP TABLE schemata ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE tables ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE columns ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE character_sets ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE collations ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE collation_character_set_applicability ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE routines ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE statistics ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE views ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE user_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE schema_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE table_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE column_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE table_constraints ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE key_column_usage ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE triggers ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-use db_datadict;
-
-root: drop a table from other db
---------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-DROP TABLE information_schema. schemata ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. tables ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. columns ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. character_sets ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. collations ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. collation_character_set_applicability ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. routines ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. statistics ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. views ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. user_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. schema_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. table_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. column_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. table_constraints ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. key_column_usage ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. triggers ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-use information_schema;
-CREATE USER user_4_1_10@localhost;
-GRANT SELECT, DROP ON *.* TO user_4_1_10@localhost;
-FLUSH PRIVILEGES;
-connect(localhost,user_4_1_10,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-use information_schema;
-
-user_4_1_10@localhost information_schema
-
-user: drop a table from IS
---------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-DROP TABLE schemata ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE tables ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE columns ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE character_sets ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE collations ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE collation_character_set_applicability ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE routines ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE statistics ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE views ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE user_privileges ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE schema_privileges ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE table_privileges ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE column_privileges ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE table_constraints ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE key_column_usage ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE triggers ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-use db_datadict;
-
-user: drop a table from other db
---------------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-DROP TABLE information_schema. schemata ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. tables ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. columns ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. character_sets ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. collations ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. collation_character_set_applicability ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. routines ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. statistics ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. views ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. user_privileges ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. schema_privileges ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. table_privileges ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. column_privileges ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. table_constraints ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. key_column_usage ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-DROP TABLE information_schema. triggers ;
-ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema'
-
-root@localhost information_schema
-DROP USER user_4_1_10@localhost;
-CREATE USER user_4_1_11@localhost;
-GRANT SUPER ON *.* TO user_4_1_11@localhost;
-FLUSH PRIVILEGES;
-connect(localhost,user_4_1_11,,test,MYSQL_PORT,MYSQL_SOCK);
-use information_schema;
-
-user_4_1_11@localhost information_schema
-drop table routines;
-ERROR 42000: Access denied for user 'user_4_1_11'@'localhost' to database 'information_schema'
-alter table collations enable keys;
-ERROR 42000: Access denied for user 'user_4_1_11'@'localhost' to database 'information_schema'
-create index i5 on collations( collation_name );
-ERROR 42000: Access denied for user 'user_4_1_11'@'localhost' to database 'information_schema'
-create view v1 as select * from schemata;
-ERROR 42S02: Unknown table 'v1' in information_schema
-delete from columns;
-ERROR 42000: Access denied for user 'user_4_1_11'@'localhost' to database 'information_schema'
-update columns set table_name = 't4' where column_name = 'f2';
-ERROR 42000: Access denied for user 'user_4_1_11'@'localhost' to database 'information_schema'
-insert into collations ( collation_name, character_set_name, id, is_default,
-is_compiled, sortlen)
-values ('cp1251_bin', 'cp1251', 50, '', '', 0);
-ERROR 42000: Access denied for user 'user_4_1_11'@'localhost' to database 'information_schema'
-
-root@localhost information_schema
-DROP USER user_4_1_11@localhost;
-
-Testcase 3.2.1.11:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-CREATE DATABASE db_datadict;
-CREATE USER 'u_6_401011'@'localhost';
-GRANT ALL ON information_schema.* TO 'u_6_401011'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-GRANT ALL ON db_datadict.* TO 'u_6_401011'@'localhost';
-FLUSH PRIVILEGES;
-ALTER TABLE information_schema.schemata RENAME db_datadict.schemata;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-
-root: move table to other DB
-----------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-ALTER TABLE information_schema. schemata RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. tables RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. columns RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. character_sets RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. collations RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. collation_character_set_applicability RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. routines RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. statistics RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. views RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. user_privileges RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. schema_privileges RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. table_privileges RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. column_privileges RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. table_constraints RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. key_column_usage RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. triggers RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-connect(localhost,u_6_401011,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-USE information_schema;
-
-u_6_401011@localhost information_schema
-ALTER TABLE information_schema.schemata RENAME db_datadict.schemata;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-
-user: move table to other DB
-----------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-ALTER TABLE information_schema. schemata RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. tables RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. columns RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. character_sets RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. collations RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. collation_character_set_applicability RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. routines RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. statistics RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. views RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. user_privileges RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. schema_privileges RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. table_privileges RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. column_privileges RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. table_constraints RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. key_column_usage RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-ALTER TABLE information_schema. triggers RENAME db_datadict.tb_01;
-ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema'
-
-root@localhost information_schema
-DROP TABLE IF EXISTS db_datadict.schemata;
-DROP USER 'u_6_401011'@'localhost';
-
-Testcase 3.2.1.12:
---------------------------------------------------------------------------------
-
-root: delete from IS tables
----------------------------
-
-known error 1044 (ERROR 42000: Access denied for user ... to database ...):
----------------------------------------------------------------------------
-DELETE FROM information_schema. schemata ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. tables ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. columns ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. character_sets ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. collations ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. collation_character_set_applicability ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. routines ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. statistics ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. views ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. user_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. schema_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. table_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. column_privileges ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. table_constraints ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. key_column_usage ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-DELETE FROM information_schema. triggers ;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.tables SET table_name = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.columns SET table_name = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.statistics SET table_name = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.views SET table_name = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.table_privileges SET table_name = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.column_privileges SET table_name = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.table_constraints SET table_name = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.key_column_usage SET table_name = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.schemata SET catalog_name = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.character_sets SET description = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.collations SET character_set_name = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.collation_character_set_applicability
-SET character_set_name = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.routines SET routine_type = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.user_privileges SET grantee = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.schema_privileges SET grantee = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-UPDATE information_schema.triggers SET sql_mode = 't_4711';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-CREATE USER 'u_6_401012'@'localhost';
-connect(localhost,u_6_401012,,test,MYSQL_PORT,MYSQL_SOCK);
-use information_schema;
-insert into information_schema.schemata (catalog_name, schema_name,
-default_character_set_name, sql_path)
-values (null, information_schema1, utf16, null);
-ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema'
-alter table information_schema.schemata rename db_datadict1.schemata;
-ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema'
-alter table information_schema.tables drop column checksum;
-ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema'
-alter table information_schema.statistics modify packed int;
-ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema'
-alter table information_schema.routines modify created int not null;
-ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema'
-alter table information_schema.key_column_usage drop column ordinal_position;
-ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema'
-alter table information_schema.table_privileges
-change privilege_type rights_approved varchar(32);
-ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema'
-update columns set table_name = 't4' where column_name = 'f2';
-ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema'
-delete from information_schema.collations;
-ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema'
-
-root@localhost information_schema
-drop table if exists db_datadict1.schemata;
-DROP USER 'u_6_401012'@'localhost';
-
-Testcase 3.2.1.13:
---------------------------------------------------------------------------------
-use information_schema;
-
-first check status >before< creating the objects ...
-----------------------------------------------------
-select *
-from information_schema.schemata
-where schema_name like 'db_datadict%';
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL db_datadict latin1 latin1_swedish_ci NULL
-select table_catalog, table_schema, engine
-from information_schema.tables
-where table_schema like 'db_datadict%';
-table_catalog table_schema engine
-select *
-from information_schema.columns
-where table_schema like 'db_datadict%';
-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
-select table_schema, table_name, is_updatable
-from information_schema.views
-where table_schema like 'db_datadict%';
-table_schema table_name is_updatable
-select routine_name, routine_type, security_type, sql_mode
-from information_schema.routines
-where routine_schema like 'db_datadict%';
-routine_name routine_type security_type sql_mode
-select table_name, index_schema, index_name, index_type
-from information_schema.statistics
-where table_schema like 'db_datadict%';
-table_name index_schema index_name index_type
-select *
-from information_schema.user_privileges order by grantee, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'root'@'127.0.0.1' NULL ALTER YES
-'root'@'127.0.0.1' NULL ALTER ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE YES
-'root'@'127.0.0.1' NULL CREATE ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES
-'root'@'127.0.0.1' NULL CREATE USER YES
-'root'@'127.0.0.1' NULL CREATE VIEW YES
-'root'@'127.0.0.1' NULL DELETE YES
-'root'@'127.0.0.1' NULL DROP YES
-'root'@'127.0.0.1' NULL EVENT YES
-'root'@'127.0.0.1' NULL EXECUTE YES
-'root'@'127.0.0.1' NULL FILE YES
-'root'@'127.0.0.1' NULL INDEX YES
-'root'@'127.0.0.1' NULL INSERT YES
-'root'@'127.0.0.1' NULL LOCK TABLES YES
-'root'@'127.0.0.1' NULL PROCESS YES
-'root'@'127.0.0.1' NULL REFERENCES YES
-'root'@'127.0.0.1' NULL RELOAD YES
-'root'@'127.0.0.1' NULL REPLICATION CLIENT YES
-'root'@'127.0.0.1' NULL REPLICATION SLAVE YES
-'root'@'127.0.0.1' NULL SELECT YES
-'root'@'127.0.0.1' NULL SHOW DATABASES YES
-'root'@'127.0.0.1' NULL SHOW VIEW YES
-'root'@'127.0.0.1' NULL SHUTDOWN YES
-'root'@'127.0.0.1' NULL SUPER YES
-'root'@'127.0.0.1' NULL TRIGGER YES
-'root'@'127.0.0.1' NULL UPDATE YES
-'root'@'<SERVER_NAME>' NULL ALTER YES
-'root'@'<SERVER_NAME>' NULL ALTER ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE YES
-'root'@'<SERVER_NAME>' NULL CREATE ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE TEMPORARY TABLES YES
-'root'@'<SERVER_NAME>' NULL CREATE USER YES
-'root'@'<SERVER_NAME>' NULL CREATE VIEW YES
-'root'@'<SERVER_NAME>' NULL DELETE YES
-'root'@'<SERVER_NAME>' NULL DROP YES
-'root'@'<SERVER_NAME>' NULL EVENT YES
-'root'@'<SERVER_NAME>' NULL EXECUTE YES
-'root'@'<SERVER_NAME>' NULL FILE YES
-'root'@'<SERVER_NAME>' NULL INDEX YES
-'root'@'<SERVER_NAME>' NULL INSERT YES
-'root'@'<SERVER_NAME>' NULL LOCK TABLES YES
-'root'@'<SERVER_NAME>' NULL PROCESS YES
-'root'@'<SERVER_NAME>' NULL REFERENCES YES
-'root'@'<SERVER_NAME>' NULL RELOAD YES
-'root'@'<SERVER_NAME>' NULL REPLICATION CLIENT YES
-'root'@'<SERVER_NAME>' NULL REPLICATION SLAVE YES
-'root'@'<SERVER_NAME>' NULL SELECT YES
-'root'@'<SERVER_NAME>' NULL SHOW DATABASES YES
-'root'@'<SERVER_NAME>' NULL SHOW VIEW YES
-'root'@'<SERVER_NAME>' NULL SHUTDOWN YES
-'root'@'<SERVER_NAME>' NULL SUPER YES
-'root'@'<SERVER_NAME>' NULL TRIGGER YES
-'root'@'<SERVER_NAME>' NULL UPDATE YES
-'root'@'localhost' NULL ALTER YES
-'root'@'localhost' NULL ALTER ROUTINE YES
-'root'@'localhost' NULL CREATE YES
-'root'@'localhost' NULL CREATE ROUTINE YES
-'root'@'localhost' NULL CREATE TEMPORARY TABLES YES
-'root'@'localhost' NULL CREATE USER YES
-'root'@'localhost' NULL CREATE VIEW YES
-'root'@'localhost' NULL DELETE YES
-'root'@'localhost' NULL DROP YES
-'root'@'localhost' NULL EVENT YES
-'root'@'localhost' NULL EXECUTE YES
-'root'@'localhost' NULL FILE YES
-'root'@'localhost' NULL INDEX YES
-'root'@'localhost' NULL INSERT YES
-'root'@'localhost' NULL LOCK TABLES YES
-'root'@'localhost' NULL PROCESS YES
-'root'@'localhost' NULL REFERENCES YES
-'root'@'localhost' NULL RELOAD YES
-'root'@'localhost' NULL REPLICATION CLIENT YES
-'root'@'localhost' NULL REPLICATION SLAVE YES
-'root'@'localhost' NULL SELECT YES
-'root'@'localhost' NULL SHOW DATABASES YES
-'root'@'localhost' NULL SHOW VIEW YES
-'root'@'localhost' NULL SHUTDOWN YES
-'root'@'localhost' NULL SUPER YES
-'root'@'localhost' NULL TRIGGER YES
-'root'@'localhost' NULL UPDATE YES
-select *
-from information_schema.column_privileges
-where table_schema like 'db_datadict%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select *
-from information_schema.table_privileges
-where table_schema like 'db_datadict%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select *
-from information_schema.key_column_usage
-where table_schema like 'db_datadict%';
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
-SELECT *
-FROM information_schema.triggers
-WHERE trigger_schema LIKE 'db_datadict%';
-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
-DROP DATABASE IF EXISTS db_datadict;
-CREATE DATABASE db_datadict;
-USE db_datadict;
-create table res_t_401013(f1 char(10), f2 char(25), f3 int)
-engine = ndb;
-create view res_v_401013 as select * from res_t_401013;
-CREATE USER u_6_401013@localhost;
-create procedure sp_6_401013() select 'db_datadict';
-create function fn_6_401013() returns int return 0;
-create index i_6_401013 on res_t_401013(f3);
-use information_schema;
-
-now check whether all new objects exists in IS ...
---------------------------------------------------
-select *
-from information_schema.schemata
-where schema_name like 'db_datadict%';
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL db_datadict latin1 latin1_swedish_ci NULL
-select table_catalog, table_schema, engine
-from information_schema.tables
-where table_schema like 'db_datadict%';
-table_catalog table_schema engine
-NULL db_datadict NDBCLUSTER
-NULL db_datadict NULL
-select *
-from information_schema.columns
-where table_schema like 'db_datadict%';
-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
-NULL db_datadict res_t_401013 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select,insert,update,references
-NULL db_datadict res_t_401013 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL db_datadict res_t_401013 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) MUL select,insert,update,references
-NULL db_datadict res_v_401013 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select,insert,update,references
-NULL db_datadict res_v_401013 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL db_datadict res_v_401013 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-select table_schema, table_name, is_updatable
-from information_schema.views
-where table_schema like 'db_datadict%';
-table_schema table_name is_updatable
-db_datadict res_v_401013 YES
-select routine_name, routine_type, security_type, sql_mode
-from information_schema.routines
-where routine_schema like 'db_datadict%';
-routine_name routine_type security_type sql_mode
-fn_6_401013 FUNCTION DEFINER
-sp_6_401013 PROCEDURE DEFINER
-select table_name, index_schema, index_name, index_type
-from information_schema.statistics
-where table_schema like 'db_datadict%';
-table_name index_schema index_name index_type
-res_t_401013 db_datadict i_6_401013 BTREE
-select *
-from information_schema.user_privileges order by grantee, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'root'@'127.0.0.1' NULL ALTER YES
-'root'@'127.0.0.1' NULL ALTER ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE YES
-'root'@'127.0.0.1' NULL CREATE ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES
-'root'@'127.0.0.1' NULL CREATE USER YES
-'root'@'127.0.0.1' NULL CREATE VIEW YES
-'root'@'127.0.0.1' NULL DELETE YES
-'root'@'127.0.0.1' NULL DROP YES
-'root'@'127.0.0.1' NULL EVENT YES
-'root'@'127.0.0.1' NULL EXECUTE YES
-'root'@'127.0.0.1' NULL FILE YES
-'root'@'127.0.0.1' NULL INDEX YES
-'root'@'127.0.0.1' NULL INSERT YES
-'root'@'127.0.0.1' NULL LOCK TABLES YES
-'root'@'127.0.0.1' NULL PROCESS YES
-'root'@'127.0.0.1' NULL REFERENCES YES
-'root'@'127.0.0.1' NULL RELOAD YES
-'root'@'127.0.0.1' NULL REPLICATION CLIENT YES
-'root'@'127.0.0.1' NULL REPLICATION SLAVE YES
-'root'@'127.0.0.1' NULL SELECT YES
-'root'@'127.0.0.1' NULL SHOW DATABASES YES
-'root'@'127.0.0.1' NULL SHOW VIEW YES
-'root'@'127.0.0.1' NULL SHUTDOWN YES
-'root'@'127.0.0.1' NULL SUPER YES
-'root'@'127.0.0.1' NULL TRIGGER YES
-'root'@'127.0.0.1' NULL UPDATE YES
-'root'@'<SERVER_NAME>' NULL ALTER YES
-'root'@'<SERVER_NAME>' NULL ALTER ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE YES
-'root'@'<SERVER_NAME>' NULL CREATE ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE TEMPORARY TABLES YES
-'root'@'<SERVER_NAME>' NULL CREATE USER YES
-'root'@'<SERVER_NAME>' NULL CREATE VIEW YES
-'root'@'<SERVER_NAME>' NULL DELETE YES
-'root'@'<SERVER_NAME>' NULL DROP YES
-'root'@'<SERVER_NAME>' NULL EVENT YES
-'root'@'<SERVER_NAME>' NULL EXECUTE YES
-'root'@'<SERVER_NAME>' NULL FILE YES
-'root'@'<SERVER_NAME>' NULL INDEX YES
-'root'@'<SERVER_NAME>' NULL INSERT YES
-'root'@'<SERVER_NAME>' NULL LOCK TABLES YES
-'root'@'<SERVER_NAME>' NULL PROCESS YES
-'root'@'<SERVER_NAME>' NULL REFERENCES YES
-'root'@'<SERVER_NAME>' NULL RELOAD YES
-'root'@'<SERVER_NAME>' NULL REPLICATION CLIENT YES
-'root'@'<SERVER_NAME>' NULL REPLICATION SLAVE YES
-'root'@'<SERVER_NAME>' NULL SELECT YES
-'root'@'<SERVER_NAME>' NULL SHOW DATABASES YES
-'root'@'<SERVER_NAME>' NULL SHOW VIEW YES
-'root'@'<SERVER_NAME>' NULL SHUTDOWN YES
-'root'@'<SERVER_NAME>' NULL SUPER YES
-'root'@'<SERVER_NAME>' NULL TRIGGER YES
-'root'@'<SERVER_NAME>' NULL UPDATE YES
-'root'@'localhost' NULL ALTER YES
-'root'@'localhost' NULL ALTER ROUTINE YES
-'root'@'localhost' NULL CREATE YES
-'root'@'localhost' NULL CREATE ROUTINE YES
-'root'@'localhost' NULL CREATE TEMPORARY TABLES YES
-'root'@'localhost' NULL CREATE USER YES
-'root'@'localhost' NULL CREATE VIEW YES
-'root'@'localhost' NULL DELETE YES
-'root'@'localhost' NULL DROP YES
-'root'@'localhost' NULL EVENT YES
-'root'@'localhost' NULL EXECUTE YES
-'root'@'localhost' NULL FILE YES
-'root'@'localhost' NULL INDEX YES
-'root'@'localhost' NULL INSERT YES
-'root'@'localhost' NULL LOCK TABLES YES
-'root'@'localhost' NULL PROCESS YES
-'root'@'localhost' NULL REFERENCES YES
-'root'@'localhost' NULL RELOAD YES
-'root'@'localhost' NULL REPLICATION CLIENT YES
-'root'@'localhost' NULL REPLICATION SLAVE YES
-'root'@'localhost' NULL SELECT YES
-'root'@'localhost' NULL SHOW DATABASES YES
-'root'@'localhost' NULL SHOW VIEW YES
-'root'@'localhost' NULL SHUTDOWN YES
-'root'@'localhost' NULL SUPER YES
-'root'@'localhost' NULL TRIGGER YES
-'root'@'localhost' NULL UPDATE YES
-'u_6_401013'@'localhost' NULL USAGE NO
-select *
-from information_schema.column_privileges
-where table_schema like 'db_datadict%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select *
-from information_schema.table_privileges
-where table_schema like 'db_datadict%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select *
-from information_schema.key_column_usage
-where table_schema like 'db_datadict%';
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
-SELECT *
-FROM information_schema.triggers
-WHERE trigger_schema LIKE 'db_datadict%';
-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
-use db_datadict;
-drop index i_6_401013 on res_t_401013;
-drop table db_datadict.res_t_401013;
-drop view db_datadict.res_v_401013;
-DROP USER u_6_401013@localhost;
-drop procedure sp_6_401013;
-drop function fn_6_401013;
-drop database db_datadict;
-use information_schema;
-
-and now check whether all objects are removed from IS ...
----------------------------------------------------------
-select *
-from information_schema.schemata
-where schema_name like 'db_datadict%';
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-select table_catalog, table_schema, engine
-from information_schema.tables
-where table_schema like 'db_datadict%';
-table_catalog table_schema engine
-select *
-from information_schema.columns
-where table_schema like 'db_datadict%';
-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
-select table_schema, table_name, is_updatable
-from information_schema.views
-where table_schema like 'db_datadict%';
-table_schema table_name is_updatable
-select routine_name, routine_type, security_type, sql_mode
-from information_schema.routines
-where routine_schema like 'db_datadict%';
-routine_name routine_type security_type sql_mode
-select table_name, index_schema, index_name, index_type
-from information_schema.statistics
-where table_schema like 'db_datadict%';
-table_name index_schema index_name index_type
-select *
-from information_schema.user_privileges order by grantee, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'root'@'127.0.0.1' NULL ALTER YES
-'root'@'127.0.0.1' NULL ALTER ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE YES
-'root'@'127.0.0.1' NULL CREATE ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES
-'root'@'127.0.0.1' NULL CREATE USER YES
-'root'@'127.0.0.1' NULL CREATE VIEW YES
-'root'@'127.0.0.1' NULL DELETE YES
-'root'@'127.0.0.1' NULL DROP YES
-'root'@'127.0.0.1' NULL EVENT YES
-'root'@'127.0.0.1' NULL EXECUTE YES
-'root'@'127.0.0.1' NULL FILE YES
-'root'@'127.0.0.1' NULL INDEX YES
-'root'@'127.0.0.1' NULL INSERT YES
-'root'@'127.0.0.1' NULL LOCK TABLES YES
-'root'@'127.0.0.1' NULL PROCESS YES
-'root'@'127.0.0.1' NULL REFERENCES YES
-'root'@'127.0.0.1' NULL RELOAD YES
-'root'@'127.0.0.1' NULL REPLICATION CLIENT YES
-'root'@'127.0.0.1' NULL REPLICATION SLAVE YES
-'root'@'127.0.0.1' NULL SELECT YES
-'root'@'127.0.0.1' NULL SHOW DATABASES YES
-'root'@'127.0.0.1' NULL SHOW VIEW YES
-'root'@'127.0.0.1' NULL SHUTDOWN YES
-'root'@'127.0.0.1' NULL SUPER YES
-'root'@'127.0.0.1' NULL TRIGGER YES
-'root'@'127.0.0.1' NULL UPDATE YES
-'root'@'<SERVER_NAME>' NULL ALTER YES
-'root'@'<SERVER_NAME>' NULL ALTER ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE YES
-'root'@'<SERVER_NAME>' NULL CREATE ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE TEMPORARY TABLES YES
-'root'@'<SERVER_NAME>' NULL CREATE USER YES
-'root'@'<SERVER_NAME>' NULL CREATE VIEW YES
-'root'@'<SERVER_NAME>' NULL DELETE YES
-'root'@'<SERVER_NAME>' NULL DROP YES
-'root'@'<SERVER_NAME>' NULL EVENT YES
-'root'@'<SERVER_NAME>' NULL EXECUTE YES
-'root'@'<SERVER_NAME>' NULL FILE YES
-'root'@'<SERVER_NAME>' NULL INDEX YES
-'root'@'<SERVER_NAME>' NULL INSERT YES
-'root'@'<SERVER_NAME>' NULL LOCK TABLES YES
-'root'@'<SERVER_NAME>' NULL PROCESS YES
-'root'@'<SERVER_NAME>' NULL REFERENCES YES
-'root'@'<SERVER_NAME>' NULL RELOAD YES
-'root'@'<SERVER_NAME>' NULL REPLICATION CLIENT YES
-'root'@'<SERVER_NAME>' NULL REPLICATION SLAVE YES
-'root'@'<SERVER_NAME>' NULL SELECT YES
-'root'@'<SERVER_NAME>' NULL SHOW DATABASES YES
-'root'@'<SERVER_NAME>' NULL SHOW VIEW YES
-'root'@'<SERVER_NAME>' NULL SHUTDOWN YES
-'root'@'<SERVER_NAME>' NULL SUPER YES
-'root'@'<SERVER_NAME>' NULL TRIGGER YES
-'root'@'<SERVER_NAME>' NULL UPDATE YES
-'root'@'localhost' NULL ALTER YES
-'root'@'localhost' NULL ALTER ROUTINE YES
-'root'@'localhost' NULL CREATE YES
-'root'@'localhost' NULL CREATE ROUTINE YES
-'root'@'localhost' NULL CREATE TEMPORARY TABLES YES
-'root'@'localhost' NULL CREATE USER YES
-'root'@'localhost' NULL CREATE VIEW YES
-'root'@'localhost' NULL DELETE YES
-'root'@'localhost' NULL DROP YES
-'root'@'localhost' NULL EVENT YES
-'root'@'localhost' NULL EXECUTE YES
-'root'@'localhost' NULL FILE YES
-'root'@'localhost' NULL INDEX YES
-'root'@'localhost' NULL INSERT YES
-'root'@'localhost' NULL LOCK TABLES YES
-'root'@'localhost' NULL PROCESS YES
-'root'@'localhost' NULL REFERENCES YES
-'root'@'localhost' NULL RELOAD YES
-'root'@'localhost' NULL REPLICATION CLIENT YES
-'root'@'localhost' NULL REPLICATION SLAVE YES
-'root'@'localhost' NULL SELECT YES
-'root'@'localhost' NULL SHOW DATABASES YES
-'root'@'localhost' NULL SHOW VIEW YES
-'root'@'localhost' NULL SHUTDOWN YES
-'root'@'localhost' NULL SUPER YES
-'root'@'localhost' NULL TRIGGER YES
-'root'@'localhost' NULL UPDATE YES
-select *
-from information_schema.column_privileges
-where table_schema like 'db_datadict%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select *
-from information_schema.table_privileges
-where table_schema like 'db_datadict%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select *
-from information_schema.key_column_usage
-where table_schema like 'db_datadict%';
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
-SELECT *
-FROM information_schema.triggers
-WHERE trigger_schema LIKE 'db_datadict%';
-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
-
-Testcase 3.2.1.14:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-CREATE DATABASE db_datadict;
-USE db_datadict;
-create table res_t_401014(f1 char(10), f2 text(25), f3 int);
-create view res_v_401014 as select * from res_t_401014;
-create procedure sp_6_401014() select 'db_datadict';
-create function fn_6_401014() returns int return 0;
-
-show existing objects >before< changing them ...
-------------------------------------------------
-select *
-from information_schema.schemata
-where schema_name like 'db_datadict%';
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL db_datadict latin1 latin1_swedish_ci NULL
-select table_catalog, table_schema, engine
-from information_schema.tables
-where table_schema like 'db_datadict%';
-table_catalog table_schema engine
-NULL db_datadict MyISAM
-NULL db_datadict NULL
-select *
-from information_schema.columns
-where table_schema like 'db_datadict%';
-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
-NULL db_datadict res_t_401014 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select,insert,update,references
-NULL db_datadict res_t_401014 f2 2 NULL YES tinytext 255 255 NULL NULL latin1 latin1_swedish_ci tinytext select,insert,update,references
-NULL db_datadict res_t_401014 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL db_datadict res_v_401014 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select,insert,update,references
-NULL db_datadict res_v_401014 f2 2 NULL YES tinytext 255 255 NULL NULL latin1 latin1_swedish_ci tinytext select,insert,update,references
-NULL db_datadict res_v_401014 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-select table_schema, table_name, is_updatable
-from information_schema.views
-where table_schema like 'db_datadict%';
-table_schema table_name is_updatable
-db_datadict res_v_401014 YES
-select routine_name, routine_type, security_type, sql_mode
-from information_schema.routines
-where routine_schema like 'db_datadict%';
-routine_name routine_type security_type sql_mode
-fn_6_401014 FUNCTION DEFINER
-sp_6_401014 PROCEDURE DEFINER
-select table_name, index_schema, index_name, index_type
-from information_schema.statistics
-where table_schema like 'db_datadict%';
-table_name index_schema index_name index_type
-select *
-from information_schema.user_privileges order by grantee, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'root'@'127.0.0.1' NULL ALTER YES
-'root'@'127.0.0.1' NULL ALTER ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE YES
-'root'@'127.0.0.1' NULL CREATE ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES
-'root'@'127.0.0.1' NULL CREATE USER YES
-'root'@'127.0.0.1' NULL CREATE VIEW YES
-'root'@'127.0.0.1' NULL DELETE YES
-'root'@'127.0.0.1' NULL DROP YES
-'root'@'127.0.0.1' NULL EVENT YES
-'root'@'127.0.0.1' NULL EXECUTE YES
-'root'@'127.0.0.1' NULL FILE YES
-'root'@'127.0.0.1' NULL INDEX YES
-'root'@'127.0.0.1' NULL INSERT YES
-'root'@'127.0.0.1' NULL LOCK TABLES YES
-'root'@'127.0.0.1' NULL PROCESS YES
-'root'@'127.0.0.1' NULL REFERENCES YES
-'root'@'127.0.0.1' NULL RELOAD YES
-'root'@'127.0.0.1' NULL REPLICATION CLIENT YES
-'root'@'127.0.0.1' NULL REPLICATION SLAVE YES
-'root'@'127.0.0.1' NULL SELECT YES
-'root'@'127.0.0.1' NULL SHOW DATABASES YES
-'root'@'127.0.0.1' NULL SHOW VIEW YES
-'root'@'127.0.0.1' NULL SHUTDOWN YES
-'root'@'127.0.0.1' NULL SUPER YES
-'root'@'127.0.0.1' NULL TRIGGER YES
-'root'@'127.0.0.1' NULL UPDATE YES
-'root'@'<SERVER_NAME>' NULL ALTER YES
-'root'@'<SERVER_NAME>' NULL ALTER ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE YES
-'root'@'<SERVER_NAME>' NULL CREATE ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE TEMPORARY TABLES YES
-'root'@'<SERVER_NAME>' NULL CREATE USER YES
-'root'@'<SERVER_NAME>' NULL CREATE VIEW YES
-'root'@'<SERVER_NAME>' NULL DELETE YES
-'root'@'<SERVER_NAME>' NULL DROP YES
-'root'@'<SERVER_NAME>' NULL EVENT YES
-'root'@'<SERVER_NAME>' NULL EXECUTE YES
-'root'@'<SERVER_NAME>' NULL FILE YES
-'root'@'<SERVER_NAME>' NULL INDEX YES
-'root'@'<SERVER_NAME>' NULL INSERT YES
-'root'@'<SERVER_NAME>' NULL LOCK TABLES YES
-'root'@'<SERVER_NAME>' NULL PROCESS YES
-'root'@'<SERVER_NAME>' NULL REFERENCES YES
-'root'@'<SERVER_NAME>' NULL RELOAD YES
-'root'@'<SERVER_NAME>' NULL REPLICATION CLIENT YES
-'root'@'<SERVER_NAME>' NULL REPLICATION SLAVE YES
-'root'@'<SERVER_NAME>' NULL SELECT YES
-'root'@'<SERVER_NAME>' NULL SHOW DATABASES YES
-'root'@'<SERVER_NAME>' NULL SHOW VIEW YES
-'root'@'<SERVER_NAME>' NULL SHUTDOWN YES
-'root'@'<SERVER_NAME>' NULL SUPER YES
-'root'@'<SERVER_NAME>' NULL TRIGGER YES
-'root'@'<SERVER_NAME>' NULL UPDATE YES
-'root'@'localhost' NULL ALTER YES
-'root'@'localhost' NULL ALTER ROUTINE YES
-'root'@'localhost' NULL CREATE YES
-'root'@'localhost' NULL CREATE ROUTINE YES
-'root'@'localhost' NULL CREATE TEMPORARY TABLES YES
-'root'@'localhost' NULL CREATE USER YES
-'root'@'localhost' NULL CREATE VIEW YES
-'root'@'localhost' NULL DELETE YES
-'root'@'localhost' NULL DROP YES
-'root'@'localhost' NULL EVENT YES
-'root'@'localhost' NULL EXECUTE YES
-'root'@'localhost' NULL FILE YES
-'root'@'localhost' NULL INDEX YES
-'root'@'localhost' NULL INSERT YES
-'root'@'localhost' NULL LOCK TABLES YES
-'root'@'localhost' NULL PROCESS YES
-'root'@'localhost' NULL REFERENCES YES
-'root'@'localhost' NULL RELOAD YES
-'root'@'localhost' NULL REPLICATION CLIENT YES
-'root'@'localhost' NULL REPLICATION SLAVE YES
-'root'@'localhost' NULL SELECT YES
-'root'@'localhost' NULL SHOW DATABASES YES
-'root'@'localhost' NULL SHOW VIEW YES
-'root'@'localhost' NULL SHUTDOWN YES
-'root'@'localhost' NULL SUPER YES
-'root'@'localhost' NULL TRIGGER YES
-'root'@'localhost' NULL UPDATE YES
-select *
-from information_schema.column_privileges
-where table_schema like 'db_datadict%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select *
-from information_schema.table_privileges
-where table_schema like 'db_datadict%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select *
-from information_schema.key_column_usage
-where table_schema like 'db_datadict%';
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
-SELECT *
-FROM information_schema.triggers
-WHERE trigger_schema LIKE 'db_datadict%';
-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
-use db_datadict;
-alter table res_t_401014 change f1 ff1 int;
-alter table res_t_401014 engine = innodb;
-alter table res_t_401014 change f3 f3_new bigint;
-alter view res_v_401014 as select ff1 from res_t_401014;
-alter procedure sp_6_401014 sql security invoker;
-alter function fn_6_401014 comment 'updated comments';
-alter database db_datadict character set utf8;
-
-now check whether the changes are visible in IS ...
----------------------------------------------------
-select *
-from information_schema.schemata
-where schema_name like 'db_datadict%';
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL db_datadict utf8 utf8_general_ci NULL
-select table_catalog, table_schema, engine
-from information_schema.tables
-where table_schema like 'db_datadict%';
-table_catalog table_schema engine
-NULL db_datadict InnoDB
-NULL db_datadict NULL
-select *
-from information_schema.columns
-where table_schema like 'db_datadict%';
-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
-NULL db_datadict res_t_401014 ff1 1 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL db_datadict res_t_401014 f2 2 NULL YES tinytext 255 255 NULL NULL latin1 latin1_swedish_ci tinytext select,insert,update,references
-NULL db_datadict res_t_401014 f3_new 3 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references
-NULL db_datadict res_v_401014 ff1 1 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-select table_schema, table_name, is_updatable
-from information_schema.views
-where table_schema like 'db_datadict%';
-table_schema table_name is_updatable
-db_datadict res_v_401014 YES
-select routine_name, routine_type, security_type, sql_mode
-from information_schema.routines
-where routine_schema like 'db_datadict%';
-routine_name routine_type security_type sql_mode
-fn_6_401014 FUNCTION DEFINER
-sp_6_401014 PROCEDURE INVOKER
-select table_name, index_schema, index_name, index_type
-from information_schema.statistics
-where table_schema like 'db_datadict%';
-table_name index_schema index_name index_type
-select *
-from information_schema.user_privileges order by grantee, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'root'@'127.0.0.1' NULL ALTER YES
-'root'@'127.0.0.1' NULL ALTER ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE YES
-'root'@'127.0.0.1' NULL CREATE ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES
-'root'@'127.0.0.1' NULL CREATE USER YES
-'root'@'127.0.0.1' NULL CREATE VIEW YES
-'root'@'127.0.0.1' NULL DELETE YES
-'root'@'127.0.0.1' NULL DROP YES
-'root'@'127.0.0.1' NULL EVENT YES
-'root'@'127.0.0.1' NULL EXECUTE YES
-'root'@'127.0.0.1' NULL FILE YES
-'root'@'127.0.0.1' NULL INDEX YES
-'root'@'127.0.0.1' NULL INSERT YES
-'root'@'127.0.0.1' NULL LOCK TABLES YES
-'root'@'127.0.0.1' NULL PROCESS YES
-'root'@'127.0.0.1' NULL REFERENCES YES
-'root'@'127.0.0.1' NULL RELOAD YES
-'root'@'127.0.0.1' NULL REPLICATION CLIENT YES
-'root'@'127.0.0.1' NULL REPLICATION SLAVE YES
-'root'@'127.0.0.1' NULL SELECT YES
-'root'@'127.0.0.1' NULL SHOW DATABASES YES
-'root'@'127.0.0.1' NULL SHOW VIEW YES
-'root'@'127.0.0.1' NULL SHUTDOWN YES
-'root'@'127.0.0.1' NULL SUPER YES
-'root'@'127.0.0.1' NULL TRIGGER YES
-'root'@'127.0.0.1' NULL UPDATE YES
-'root'@'<SERVER_NAME>' NULL ALTER YES
-'root'@'<SERVER_NAME>' NULL ALTER ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE YES
-'root'@'<SERVER_NAME>' NULL CREATE ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE TEMPORARY TABLES YES
-'root'@'<SERVER_NAME>' NULL CREATE USER YES
-'root'@'<SERVER_NAME>' NULL CREATE VIEW YES
-'root'@'<SERVER_NAME>' NULL DELETE YES
-'root'@'<SERVER_NAME>' NULL DROP YES
-'root'@'<SERVER_NAME>' NULL EVENT YES
-'root'@'<SERVER_NAME>' NULL EXECUTE YES
-'root'@'<SERVER_NAME>' NULL FILE YES
-'root'@'<SERVER_NAME>' NULL INDEX YES
-'root'@'<SERVER_NAME>' NULL INSERT YES
-'root'@'<SERVER_NAME>' NULL LOCK TABLES YES
-'root'@'<SERVER_NAME>' NULL PROCESS YES
-'root'@'<SERVER_NAME>' NULL REFERENCES YES
-'root'@'<SERVER_NAME>' NULL RELOAD YES
-'root'@'<SERVER_NAME>' NULL REPLICATION CLIENT YES
-'root'@'<SERVER_NAME>' NULL REPLICATION SLAVE YES
-'root'@'<SERVER_NAME>' NULL SELECT YES
-'root'@'<SERVER_NAME>' NULL SHOW DATABASES YES
-'root'@'<SERVER_NAME>' NULL SHOW VIEW YES
-'root'@'<SERVER_NAME>' NULL SHUTDOWN YES
-'root'@'<SERVER_NAME>' NULL SUPER YES
-'root'@'<SERVER_NAME>' NULL TRIGGER YES
-'root'@'<SERVER_NAME>' NULL UPDATE YES
-'root'@'localhost' NULL ALTER YES
-'root'@'localhost' NULL ALTER ROUTINE YES
-'root'@'localhost' NULL CREATE YES
-'root'@'localhost' NULL CREATE ROUTINE YES
-'root'@'localhost' NULL CREATE TEMPORARY TABLES YES
-'root'@'localhost' NULL CREATE USER YES
-'root'@'localhost' NULL CREATE VIEW YES
-'root'@'localhost' NULL DELETE YES
-'root'@'localhost' NULL DROP YES
-'root'@'localhost' NULL EVENT YES
-'root'@'localhost' NULL EXECUTE YES
-'root'@'localhost' NULL FILE YES
-'root'@'localhost' NULL INDEX YES
-'root'@'localhost' NULL INSERT YES
-'root'@'localhost' NULL LOCK TABLES YES
-'root'@'localhost' NULL PROCESS YES
-'root'@'localhost' NULL REFERENCES YES
-'root'@'localhost' NULL RELOAD YES
-'root'@'localhost' NULL REPLICATION CLIENT YES
-'root'@'localhost' NULL REPLICATION SLAVE YES
-'root'@'localhost' NULL SELECT YES
-'root'@'localhost' NULL SHOW DATABASES YES
-'root'@'localhost' NULL SHOW VIEW YES
-'root'@'localhost' NULL SHUTDOWN YES
-'root'@'localhost' NULL SUPER YES
-'root'@'localhost' NULL TRIGGER YES
-'root'@'localhost' NULL UPDATE YES
-select *
-from information_schema.column_privileges
-where table_schema like 'db_datadict%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select *
-from information_schema.table_privileges
-where table_schema like 'db_datadict%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select *
-from information_schema.key_column_usage
-where table_schema like 'db_datadict%';
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
-SELECT *
-FROM information_schema.triggers
-WHERE trigger_schema LIKE 'db_datadict%';
-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
-use db_datadict;
-drop table db_datadict.res_t_401014;
-drop view db_datadict.res_v_401014;
-drop procedure sp_6_401014;
-drop function fn_6_401014;
-drop database db_datadict;
-
-Testcase 3.2.1.15:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-CREATE DATABASE db_datadict;
-USE db_datadict;
-create table res_t_401015(f1 char(10), f2 text(25), f3 int);
-create view res_v_401015 as select * from res_t_401015;
-CREATE USER u_6_401015@localhost;
-create procedure sp_6_401015() select 'test';
-create function fn_6_401015() returns int return 0;
-create index i_6_401015 on res_t_401015(f3);
-
-show existing objects >before< dropping them ...
-------------------------------------------------
-select *
-from information_schema.schemata
-where schema_name like 'db_datadict%';
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL db_datadict latin1 latin1_swedish_ci NULL
-select table_catalog, table_schema, engine
-from information_schema.tables
-where table_schema like 'db_datadict%';
-table_catalog table_schema engine
-NULL db_datadict MyISAM
-NULL db_datadict NULL
-select *
-from information_schema.columns
-where table_schema like 'db_datadict%';
-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
-NULL db_datadict res_t_401015 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select,insert,update,references
-NULL db_datadict res_t_401015 f2 2 NULL YES tinytext 255 255 NULL NULL latin1 latin1_swedish_ci tinytext select,insert,update,references
-NULL db_datadict res_t_401015 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) MUL select,insert,update,references
-NULL db_datadict res_v_401015 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select,insert,update,references
-NULL db_datadict res_v_401015 f2 2 NULL YES tinytext 255 255 NULL NULL latin1 latin1_swedish_ci tinytext select,insert,update,references
-NULL db_datadict res_v_401015 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-select table_schema, table_name, is_updatable
-from information_schema.views
-where table_schema like 'db_datadict%';
-table_schema table_name is_updatable
-db_datadict res_v_401015 YES
-select routine_name, routine_type, security_type, sql_mode
-from information_schema.routines
-where routine_schema like 'db_datadict%';
-routine_name routine_type security_type sql_mode
-fn_6_401015 FUNCTION DEFINER
-sp_6_401015 PROCEDURE DEFINER
-select table_name, index_schema, index_name, index_type
-from information_schema.statistics
-where table_schema like 'db_datadict%';
-table_name index_schema index_name index_type
-res_t_401015 db_datadict i_6_401015 BTREE
-select *
-from information_schema.user_privileges order by grantee, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'root'@'127.0.0.1' NULL ALTER YES
-'root'@'127.0.0.1' NULL ALTER ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE YES
-'root'@'127.0.0.1' NULL CREATE ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES
-'root'@'127.0.0.1' NULL CREATE USER YES
-'root'@'127.0.0.1' NULL CREATE VIEW YES
-'root'@'127.0.0.1' NULL DELETE YES
-'root'@'127.0.0.1' NULL DROP YES
-'root'@'127.0.0.1' NULL EVENT YES
-'root'@'127.0.0.1' NULL EXECUTE YES
-'root'@'127.0.0.1' NULL FILE YES
-'root'@'127.0.0.1' NULL INDEX YES
-'root'@'127.0.0.1' NULL INSERT YES
-'root'@'127.0.0.1' NULL LOCK TABLES YES
-'root'@'127.0.0.1' NULL PROCESS YES
-'root'@'127.0.0.1' NULL REFERENCES YES
-'root'@'127.0.0.1' NULL RELOAD YES
-'root'@'127.0.0.1' NULL REPLICATION CLIENT YES
-'root'@'127.0.0.1' NULL REPLICATION SLAVE YES
-'root'@'127.0.0.1' NULL SELECT YES
-'root'@'127.0.0.1' NULL SHOW DATABASES YES
-'root'@'127.0.0.1' NULL SHOW VIEW YES
-'root'@'127.0.0.1' NULL SHUTDOWN YES
-'root'@'127.0.0.1' NULL SUPER YES
-'root'@'127.0.0.1' NULL TRIGGER YES
-'root'@'127.0.0.1' NULL UPDATE YES
-'root'@'<SERVER_NAME>' NULL ALTER YES
-'root'@'<SERVER_NAME>' NULL ALTER ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE YES
-'root'@'<SERVER_NAME>' NULL CREATE ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE TEMPORARY TABLES YES
-'root'@'<SERVER_NAME>' NULL CREATE USER YES
-'root'@'<SERVER_NAME>' NULL CREATE VIEW YES
-'root'@'<SERVER_NAME>' NULL DELETE YES
-'root'@'<SERVER_NAME>' NULL DROP YES
-'root'@'<SERVER_NAME>' NULL EVENT YES
-'root'@'<SERVER_NAME>' NULL EXECUTE YES
-'root'@'<SERVER_NAME>' NULL FILE YES
-'root'@'<SERVER_NAME>' NULL INDEX YES
-'root'@'<SERVER_NAME>' NULL INSERT YES
-'root'@'<SERVER_NAME>' NULL LOCK TABLES YES
-'root'@'<SERVER_NAME>' NULL PROCESS YES
-'root'@'<SERVER_NAME>' NULL REFERENCES YES
-'root'@'<SERVER_NAME>' NULL RELOAD YES
-'root'@'<SERVER_NAME>' NULL REPLICATION CLIENT YES
-'root'@'<SERVER_NAME>' NULL REPLICATION SLAVE YES
-'root'@'<SERVER_NAME>' NULL SELECT YES
-'root'@'<SERVER_NAME>' NULL SHOW DATABASES YES
-'root'@'<SERVER_NAME>' NULL SHOW VIEW YES
-'root'@'<SERVER_NAME>' NULL SHUTDOWN YES
-'root'@'<SERVER_NAME>' NULL SUPER YES
-'root'@'<SERVER_NAME>' NULL TRIGGER YES
-'root'@'<SERVER_NAME>' NULL UPDATE YES
-'root'@'localhost' NULL ALTER YES
-'root'@'localhost' NULL ALTER ROUTINE YES
-'root'@'localhost' NULL CREATE YES
-'root'@'localhost' NULL CREATE ROUTINE YES
-'root'@'localhost' NULL CREATE TEMPORARY TABLES YES
-'root'@'localhost' NULL CREATE USER YES
-'root'@'localhost' NULL CREATE VIEW YES
-'root'@'localhost' NULL DELETE YES
-'root'@'localhost' NULL DROP YES
-'root'@'localhost' NULL EVENT YES
-'root'@'localhost' NULL EXECUTE YES
-'root'@'localhost' NULL FILE YES
-'root'@'localhost' NULL INDEX YES
-'root'@'localhost' NULL INSERT YES
-'root'@'localhost' NULL LOCK TABLES YES
-'root'@'localhost' NULL PROCESS YES
-'root'@'localhost' NULL REFERENCES YES
-'root'@'localhost' NULL RELOAD YES
-'root'@'localhost' NULL REPLICATION CLIENT YES
-'root'@'localhost' NULL REPLICATION SLAVE YES
-'root'@'localhost' NULL SELECT YES
-'root'@'localhost' NULL SHOW DATABASES YES
-'root'@'localhost' NULL SHOW VIEW YES
-'root'@'localhost' NULL SHUTDOWN YES
-'root'@'localhost' NULL SUPER YES
-'root'@'localhost' NULL TRIGGER YES
-'root'@'localhost' NULL UPDATE YES
-'u_6_401015'@'localhost' NULL USAGE NO
-select *
-from information_schema.column_privileges
-where table_schema like 'db_datadict%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select *
-from information_schema.table_privileges
-where table_schema like 'db_datadict%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select *
-from information_schema.key_column_usage
-where table_schema like 'db_datadict%';
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
-SELECT *
-FROM information_schema.triggers
-WHERE trigger_schema LIKE 'db_datadict%';
-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
-use db_datadict;
-drop index i_6_401015 on res_t_401015;
-drop table db_datadict.res_t_401015;
-drop view db_datadict.res_v_401015;
-DROP USER u_6_401015@localhost;
-drop procedure sp_6_401015;
-drop function fn_6_401015;
-
-now check they are really gone ...
-----------------------------------
-select *
-from information_schema.schemata
-where schema_name like 'db_datadict%';
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL db_datadict latin1 latin1_swedish_ci NULL
-select table_catalog, table_schema, engine
-from information_schema.tables
-where table_schema like 'db_datadict%';
-table_catalog table_schema engine
-select *
-from information_schema.columns
-where table_schema like 'db_datadict%';
-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
-select table_schema, table_name, is_updatable
-from information_schema.views
-where table_schema like 'db_datadict%';
-table_schema table_name is_updatable
-select routine_name, routine_type, security_type, sql_mode
-from information_schema.routines
-where routine_schema like 'db_datadict%';
-routine_name routine_type security_type sql_mode
-select table_name, index_schema, index_name, index_type
-from information_schema.statistics
-where table_schema like 'db_datadict%';
-table_name index_schema index_name index_type
-select *
-from information_schema.user_privileges order by grantee, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'root'@'127.0.0.1' NULL ALTER YES
-'root'@'127.0.0.1' NULL ALTER ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE YES
-'root'@'127.0.0.1' NULL CREATE ROUTINE YES
-'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES
-'root'@'127.0.0.1' NULL CREATE USER YES
-'root'@'127.0.0.1' NULL CREATE VIEW YES
-'root'@'127.0.0.1' NULL DELETE YES
-'root'@'127.0.0.1' NULL DROP YES
-'root'@'127.0.0.1' NULL EVENT YES
-'root'@'127.0.0.1' NULL EXECUTE YES
-'root'@'127.0.0.1' NULL FILE YES
-'root'@'127.0.0.1' NULL INDEX YES
-'root'@'127.0.0.1' NULL INSERT YES
-'root'@'127.0.0.1' NULL LOCK TABLES YES
-'root'@'127.0.0.1' NULL PROCESS YES
-'root'@'127.0.0.1' NULL REFERENCES YES
-'root'@'127.0.0.1' NULL RELOAD YES
-'root'@'127.0.0.1' NULL REPLICATION CLIENT YES
-'root'@'127.0.0.1' NULL REPLICATION SLAVE YES
-'root'@'127.0.0.1' NULL SELECT YES
-'root'@'127.0.0.1' NULL SHOW DATABASES YES
-'root'@'127.0.0.1' NULL SHOW VIEW YES
-'root'@'127.0.0.1' NULL SHUTDOWN YES
-'root'@'127.0.0.1' NULL SUPER YES
-'root'@'127.0.0.1' NULL TRIGGER YES
-'root'@'127.0.0.1' NULL UPDATE YES
-'root'@'<SERVER_NAME>' NULL ALTER YES
-'root'@'<SERVER_NAME>' NULL ALTER ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE YES
-'root'@'<SERVER_NAME>' NULL CREATE ROUTINE YES
-'root'@'<SERVER_NAME>' NULL CREATE TEMPORARY TABLES YES
-'root'@'<SERVER_NAME>' NULL CREATE USER YES
-'root'@'<SERVER_NAME>' NULL CREATE VIEW YES
-'root'@'<SERVER_NAME>' NULL DELETE YES
-'root'@'<SERVER_NAME>' NULL DROP YES
-'root'@'<SERVER_NAME>' NULL EVENT YES
-'root'@'<SERVER_NAME>' NULL EXECUTE YES
-'root'@'<SERVER_NAME>' NULL FILE YES
-'root'@'<SERVER_NAME>' NULL INDEX YES
-'root'@'<SERVER_NAME>' NULL INSERT YES
-'root'@'<SERVER_NAME>' NULL LOCK TABLES YES
-'root'@'<SERVER_NAME>' NULL PROCESS YES
-'root'@'<SERVER_NAME>' NULL REFERENCES YES
-'root'@'<SERVER_NAME>' NULL RELOAD YES
-'root'@'<SERVER_NAME>' NULL REPLICATION CLIENT YES
-'root'@'<SERVER_NAME>' NULL REPLICATION SLAVE YES
-'root'@'<SERVER_NAME>' NULL SELECT YES
-'root'@'<SERVER_NAME>' NULL SHOW DATABASES YES
-'root'@'<SERVER_NAME>' NULL SHOW VIEW YES
-'root'@'<SERVER_NAME>' NULL SHUTDOWN YES
-'root'@'<SERVER_NAME>' NULL SUPER YES
-'root'@'<SERVER_NAME>' NULL TRIGGER YES
-'root'@'<SERVER_NAME>' NULL UPDATE YES
-'root'@'localhost' NULL ALTER YES
-'root'@'localhost' NULL ALTER ROUTINE YES
-'root'@'localhost' NULL CREATE YES
-'root'@'localhost' NULL CREATE ROUTINE YES
-'root'@'localhost' NULL CREATE TEMPORARY TABLES YES
-'root'@'localhost' NULL CREATE USER YES
-'root'@'localhost' NULL CREATE VIEW YES
-'root'@'localhost' NULL DELETE YES
-'root'@'localhost' NULL DROP YES
-'root'@'localhost' NULL EVENT YES
-'root'@'localhost' NULL EXECUTE YES
-'root'@'localhost' NULL FILE YES
-'root'@'localhost' NULL INDEX YES
-'root'@'localhost' NULL INSERT YES
-'root'@'localhost' NULL LOCK TABLES YES
-'root'@'localhost' NULL PROCESS YES
-'root'@'localhost' NULL REFERENCES YES
-'root'@'localhost' NULL RELOAD YES
-'root'@'localhost' NULL REPLICATION CLIENT YES
-'root'@'localhost' NULL REPLICATION SLAVE YES
-'root'@'localhost' NULL SELECT YES
-'root'@'localhost' NULL SHOW DATABASES YES
-'root'@'localhost' NULL SHOW VIEW YES
-'root'@'localhost' NULL SHUTDOWN YES
-'root'@'localhost' NULL SUPER YES
-'root'@'localhost' NULL TRIGGER YES
-'root'@'localhost' NULL UPDATE YES
-select *
-from information_schema.column_privileges
-where table_schema like 'db_datadict%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select *
-from information_schema.table_privileges
-where table_schema like 'db_datadict%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select *
-from information_schema.key_column_usage
-where table_schema like 'db_datadict%';
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
-SELECT *
-FROM information_schema.triggers
-WHERE trigger_schema LIKE 'db_datadict%';
-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
-
-Testcase 3.2.1.16:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-CREATE DATABASE db_datadict;
-CREATE DATABASE db_hidden;
-USE db_hidden;
-CREATE TABLE tb_hidden ( c1 TEXT );
-USE db_datadict;
-CREATE TABLE res_t_401016(f1 char(10),f2 text(25),f3 int);
-CREATE TABLE res_t_401016_1(f1 char(10),f2 text(25),f3 int);
-CREATE USER 'u_6_401016'@'localhost';
-GRANT SELECT ON db_datadict.res_t_401016 TO 'u_6_401016'@'localhost';
-FLUSH PRIVILEGES;
-connect(localhost,u_6_401016,,test,MYSQL_PORT,MYSQL_SOCK);
-USE information_schema;
-SELECT table_schema, table_name, engine
-FROM TABLES;
-table_schema table_name engine
-information_schema CHARACTER_SETS MEMORY
-information_schema COLLATIONS MEMORY
-information_schema COLLATION_CHARACTER_SET_APPLICABILITY MEMORY
-information_schema COLUMNS MyISAM
-information_schema COLUMN_PRIVILEGES MEMORY
-information_schema ENGINES MEMORY
-information_schema EVENTS MyISAM
-information_schema FILES MEMORY
-information_schema GLOBAL_STATUS MEMORY
-information_schema GLOBAL_VARIABLES MyISAM
-information_schema KEY_COLUMN_USAGE MEMORY
-information_schema PARTITIONS MyISAM
-information_schema PLUGINS MyISAM
-information_schema PROCESSLIST MyISAM
-information_schema REFERENTIAL_CONSTRAINTS MEMORY
-information_schema ROUTINES MyISAM
-information_schema SCHEMATA MEMORY
-information_schema SCHEMA_PRIVILEGES MEMORY
-information_schema SESSION_STATUS MEMORY
-information_schema SESSION_VARIABLES MyISAM
-information_schema STATISTICS MEMORY
-information_schema TABLES MEMORY
-information_schema TABLE_CONSTRAINTS MEMORY
-information_schema TABLE_PRIVILEGES MEMORY
-information_schema TRIGGERS MyISAM
-information_schema USER_PRIVILEGES MEMORY
-information_schema VIEWS MyISAM
-db_datadict res_t_401016 MyISAM
-test t1 NDBCLUSTER
-test t10 NDBCLUSTER
-test t11 NDBCLUSTER
-test t2 NDBCLUSTER
-test t3 NDBCLUSTER
-test t4 NDBCLUSTER
-test t7 NDBCLUSTER
-test t8 NDBCLUSTER
-test t9 NDBCLUSTER
-test tb1 MyISAM
-test tb2 MyISAM
-test tb3 MyISAM
-test tb4 MyISAM
-SHOW TABLES;
-Tables_in_information_schema
-CHARACTER_SETS
-COLLATIONS
-COLLATION_CHARACTER_SET_APPLICABILITY
-COLUMNS
-COLUMN_PRIVILEGES
-ENGINES
-EVENTS
-FILES
-GLOBAL_STATUS
-GLOBAL_VARIABLES
-KEY_COLUMN_USAGE
-PARTITIONS
-PLUGINS
-PROCESSLIST
-REFERENTIAL_CONSTRAINTS
-ROUTINES
-SCHEMATA
-SCHEMA_PRIVILEGES
-SESSION_STATUS
-SESSION_VARIABLES
-STATISTICS
-TABLES
-TABLE_CONSTRAINTS
-TABLE_PRIVILEGES
-TRIGGERS
-USER_PRIVILEGES
-VIEWS
-SELECT * FROM schemata;
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL information_schema utf8 utf8_general_ci NULL
-NULL db_datadict latin1 latin1_swedish_ci NULL
-NULL test latin1 latin1_swedish_ci NULL
-
-root@localhost db_datadict
-grant usage on information_schema.* to 'u_6_401016'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-FLUSH PRIVILEGES;
-connect(localhost,u_6_401016,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-USE information_schema;
-SHOW TABLES;
-Tables_in_information_schema
-CHARACTER_SETS
-COLLATIONS
-COLLATION_CHARACTER_SET_APPLICABILITY
-COLUMNS
-COLUMN_PRIVILEGES
-ENGINES
-EVENTS
-FILES
-GLOBAL_STATUS
-GLOBAL_VARIABLES
-KEY_COLUMN_USAGE
-PARTITIONS
-PLUGINS
-PROCESSLIST
-REFERENTIAL_CONSTRAINTS
-ROUTINES
-SCHEMATA
-SCHEMA_PRIVILEGES
-SESSION_STATUS
-SESSION_VARIABLES
-STATISTICS
-TABLES
-TABLE_CONSTRAINTS
-TABLE_PRIVILEGES
-TRIGGERS
-USER_PRIVILEGES
-VIEWS
-SELECT * FROM schemata;
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL information_schema utf8 utf8_general_ci NULL
-NULL db_datadict latin1 latin1_swedish_ci NULL
-NULL test latin1 latin1_swedish_ci NULL
-use db_datadict;
-
-root@localhost db_datadict
-DROP USER 'u_6_401016'@'localhost';
-drop table res_t_401016;
-drop table res_t_401016_1;
-DROP DATABASE db_hidden;
-
-Testcase 3.2.1.17:
---------------------------------------------------------------------------------
-CREATE USER 'u_6_401017'@'localhost';
-grant select on information_schema.* to u_6_401017@localhost;
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-FLUSH PRIVILEGES;
-connect(localhost,u_6_401017,,test,MYSQL_PORT,MYSQL_SOCK);
-use information_schema;
-select * from collation_character_set_applicability;
-COLLATION_NAME CHARACTER_SET_NAME
-big5_chinese_ci big5
-big5_bin big5
-dec8_swedish_ci dec8
-dec8_bin dec8
-cp850_general_ci cp850
-cp850_bin cp850
-hp8_english_ci hp8
-hp8_bin hp8
-koi8r_general_ci koi8r
-koi8r_bin koi8r
-latin1_german1_ci latin1
-latin1_swedish_ci latin1
-latin1_danish_ci latin1
-latin1_german2_ci latin1
-latin1_bin latin1
-latin1_general_ci latin1
-latin1_general_cs latin1
-latin1_spanish_ci latin1
-latin2_czech_cs latin2
-latin2_general_ci latin2
-latin2_hungarian_ci latin2
-latin2_croatian_ci latin2
-latin2_bin latin2
-swe7_swedish_ci swe7
-swe7_bin swe7
-ascii_general_ci ascii
-ascii_bin ascii
-ujis_japanese_ci ujis
-ujis_bin ujis
-sjis_japanese_ci sjis
-sjis_bin sjis
-hebrew_general_ci hebrew
-hebrew_bin hebrew
-filename filename
-tis620_thai_ci tis620
-tis620_bin tis620
-euckr_korean_ci euckr
-euckr_bin euckr
-koi8u_general_ci koi8u
-koi8u_bin koi8u
-gb2312_chinese_ci gb2312
-gb2312_bin gb2312
-greek_general_ci greek
-greek_bin greek
-cp1250_general_ci cp1250
-cp1250_czech_cs cp1250
-cp1250_croatian_ci cp1250
-cp1250_bin cp1250
-cp1250_polish_ci cp1250
-gbk_chinese_ci gbk
-gbk_bin gbk
-latin5_turkish_ci latin5
-latin5_bin latin5
-armscii8_general_ci armscii8
-armscii8_bin armscii8
-utf8_general_ci utf8
-utf8_bin utf8
-utf8_unicode_ci utf8
-utf8_icelandic_ci utf8
-utf8_latvian_ci utf8
-utf8_romanian_ci utf8
-utf8_slovenian_ci utf8
-utf8_polish_ci utf8
-utf8_estonian_ci utf8
-utf8_spanish_ci utf8
-utf8_swedish_ci utf8
-utf8_turkish_ci utf8
-utf8_czech_ci utf8
-utf8_danish_ci utf8
-utf8_lithuanian_ci utf8
-utf8_slovak_ci utf8
-utf8_spanish2_ci utf8
-utf8_roman_ci utf8
-utf8_persian_ci utf8
-utf8_esperanto_ci utf8
-utf8_hungarian_ci utf8
-ucs2_general_ci ucs2
-ucs2_bin ucs2
-ucs2_unicode_ci ucs2
-ucs2_icelandic_ci ucs2
-ucs2_latvian_ci ucs2
-ucs2_romanian_ci ucs2
-ucs2_slovenian_ci ucs2
-ucs2_polish_ci ucs2
-ucs2_estonian_ci ucs2
-ucs2_spanish_ci ucs2
-ucs2_swedish_ci ucs2
-ucs2_turkish_ci ucs2
-ucs2_czech_ci ucs2
-ucs2_danish_ci ucs2
-ucs2_lithuanian_ci ucs2
-ucs2_slovak_ci ucs2
-ucs2_spanish2_ci ucs2
-ucs2_roman_ci ucs2
-ucs2_persian_ci ucs2
-ucs2_esperanto_ci ucs2
-ucs2_hungarian_ci ucs2
-cp866_general_ci cp866
-cp866_bin cp866
-keybcs2_general_ci keybcs2
-keybcs2_bin keybcs2
-macce_general_ci macce
-macce_bin macce
-macroman_general_ci macroman
-macroman_bin macroman
-cp852_general_ci cp852
-cp852_bin cp852
-latin7_estonian_cs latin7
-latin7_general_ci latin7
-latin7_general_cs latin7
-latin7_bin latin7
-cp1251_bulgarian_ci cp1251
-cp1251_ukrainian_ci cp1251
-cp1251_bin cp1251
-cp1251_general_ci cp1251
-cp1251_general_cs cp1251
-cp1256_general_ci cp1256
-cp1256_bin cp1256
-cp1257_lithuanian_ci cp1257
-cp1257_bin cp1257
-cp1257_general_ci cp1257
-binary binary
-geostd8_general_ci geostd8
-geostd8_bin geostd8
-cp932_japanese_ci cp932
-cp932_bin cp932
-eucjpms_japanese_ci eucjpms
-eucjpms_bin eucjpms
-select * from schemata;
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL information_schema utf8 utf8_general_ci NULL
-NULL test latin1 latin1_swedish_ci NULL
-select table_name from tables;
-table_name
-CHARACTER_SETS
-COLLATIONS
-COLLATION_CHARACTER_SET_APPLICABILITY
-COLUMNS
-COLUMN_PRIVILEGES
-ENGINES
-EVENTS
-FILES
-GLOBAL_STATUS
-GLOBAL_VARIABLES
-KEY_COLUMN_USAGE
-PARTITIONS
-PLUGINS
-PROCESSLIST
-REFERENTIAL_CONSTRAINTS
-ROUTINES
-SCHEMATA
-SCHEMA_PRIVILEGES
-SESSION_STATUS
-SESSION_VARIABLES
-STATISTICS
-TABLES
-TABLE_CONSTRAINTS
-TABLE_PRIVILEGES
-TRIGGERS
-USER_PRIVILEGES
-VIEWS
-t1
-t10
-t11
-t2
-t3
-t4
-t7
-t8
-t9
-tb1
-tb2
-tb3
-tb4
-select table_name, column_name, column_type from columns;
-table_name column_name column_type
-CHARACTER_SETS CHARACTER_SET_NAME varchar(64)
-CHARACTER_SETS DEFAULT_COLLATE_NAME varchar(64)
-CHARACTER_SETS DESCRIPTION varchar(60)
-CHARACTER_SETS MAXLEN bigint(3)
-COLLATIONS COLLATION_NAME varchar(64)
-COLLATIONS CHARACTER_SET_NAME varchar(64)
-COLLATIONS ID bigint(11)
-COLLATIONS IS_DEFAULT varchar(3)
-COLLATIONS IS_COMPILED varchar(3)
-COLLATIONS SORTLEN bigint(3)
-COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME varchar(64)
-COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME varchar(64)
-COLUMNS TABLE_CATALOG varchar(4096)
-COLUMNS TABLE_SCHEMA varchar(64)
-COLUMNS TABLE_NAME varchar(64)
-COLUMNS COLUMN_NAME varchar(64)
-COLUMNS ORDINAL_POSITION bigint(21) unsigned
-COLUMNS COLUMN_DEFAULT longtext
-COLUMNS IS_NULLABLE varchar(3)
-COLUMNS DATA_TYPE varchar(64)
-COLUMNS CHARACTER_MAXIMUM_LENGTH bigint(21) unsigned
-COLUMNS CHARACTER_OCTET_LENGTH bigint(21) unsigned
-COLUMNS NUMERIC_PRECISION bigint(21) unsigned
-COLUMNS NUMERIC_SCALE bigint(21) unsigned
-COLUMNS CHARACTER_SET_NAME varchar(64)
-COLUMNS COLLATION_NAME varchar(64)
-COLUMNS COLUMN_TYPE longtext
-COLUMNS COLUMN_KEY varchar(3)
-COLUMNS EXTRA varchar(20)
-COLUMNS PRIVILEGES varchar(80)
-COLUMNS COLUMN_COMMENT varchar(255)
-COLUMN_PRIVILEGES GRANTEE varchar(81)
-COLUMN_PRIVILEGES TABLE_CATALOG varchar(4096)
-COLUMN_PRIVILEGES TABLE_SCHEMA varchar(64)
-COLUMN_PRIVILEGES TABLE_NAME varchar(64)
-COLUMN_PRIVILEGES COLUMN_NAME varchar(64)
-COLUMN_PRIVILEGES PRIVILEGE_TYPE varchar(64)
-COLUMN_PRIVILEGES IS_GRANTABLE varchar(3)
-ENGINES ENGINE varchar(64)
-ENGINES SUPPORT varchar(8)
-ENGINES COMMENT varchar(80)
-ENGINES TRANSACTIONS varchar(3)
-ENGINES XA varchar(3)
-ENGINES SAVEPOINTS varchar(3)
-EVENTS EVENT_CATALOG varchar(64)
-EVENTS EVENT_SCHEMA varchar(64)
-EVENTS EVENT_NAME varchar(64)
-EVENTS DEFINER varchar(77)
-EVENTS TIME_ZONE varchar(64)
-EVENTS EVENT_BODY varchar(8)
-EVENTS EVENT_DEFINITION longtext
-EVENTS EVENT_TYPE varchar(9)
-EVENTS EXECUTE_AT datetime
-EVENTS INTERVAL_VALUE varchar(256)
-EVENTS INTERVAL_FIELD varchar(18)
-EVENTS SQL_MODE longtext
-EVENTS STARTS datetime
-EVENTS ENDS datetime
-EVENTS STATUS varchar(18)
-EVENTS ON_COMPLETION varchar(12)
-EVENTS CREATED datetime
-EVENTS LAST_ALTERED datetime
-EVENTS LAST_EXECUTED datetime
-EVENTS EVENT_COMMENT varchar(64)
-EVENTS ORIGINATOR bigint(10)
-FILES FILE_ID bigint(4)
-FILES FILE_NAME varchar(64)
-FILES FILE_TYPE varchar(20)
-FILES TABLESPACE_NAME varchar(64)
-FILES TABLE_CATALOG varchar(64)
-FILES TABLE_SCHEMA varchar(64)
-FILES TABLE_NAME varchar(64)
-FILES LOGFILE_GROUP_NAME varchar(64)
-FILES LOGFILE_GROUP_NUMBER bigint(4)
-FILES ENGINE varchar(64)
-FILES FULLTEXT_KEYS varchar(64)
-FILES DELETED_ROWS bigint(4)
-FILES UPDATE_COUNT bigint(4)
-FILES FREE_EXTENTS bigint(4)
-FILES TOTAL_EXTENTS bigint(4)
-FILES EXTENT_SIZE bigint(4)
-FILES INITIAL_SIZE bigint(21) unsigned
-FILES MAXIMUM_SIZE bigint(21) unsigned
-FILES AUTOEXTEND_SIZE bigint(21) unsigned
-FILES CREATION_TIME datetime
-FILES LAST_UPDATE_TIME datetime
-FILES LAST_ACCESS_TIME datetime
-FILES RECOVER_TIME bigint(4)
-FILES TRANSACTION_COUNTER bigint(4)
-FILES VERSION bigint(21) unsigned
-FILES ROW_FORMAT varchar(10)
-FILES TABLE_ROWS bigint(21) unsigned
-FILES AVG_ROW_LENGTH bigint(21) unsigned
-FILES DATA_LENGTH bigint(21) unsigned
-FILES MAX_DATA_LENGTH bigint(21) unsigned
-FILES INDEX_LENGTH bigint(21) unsigned
-FILES DATA_FREE bigint(21) unsigned
-FILES CREATE_TIME datetime
-FILES UPDATE_TIME datetime
-FILES CHECK_TIME datetime
-FILES CHECKSUM bigint(21) unsigned
-FILES STATUS varchar(20)
-FILES EXTRA varchar(255)
-GLOBAL_STATUS VARIABLE_NAME varchar(64)
-GLOBAL_STATUS VARIABLE_VALUE decimal(22,7)
-GLOBAL_VARIABLES VARIABLE_NAME varchar(64)
-GLOBAL_VARIABLES VARIABLE_VALUE longtext
-KEY_COLUMN_USAGE CONSTRAINT_CATALOG varchar(4096)
-KEY_COLUMN_USAGE CONSTRAINT_SCHEMA varchar(64)
-KEY_COLUMN_USAGE CONSTRAINT_NAME varchar(64)
-KEY_COLUMN_USAGE TABLE_CATALOG varchar(4096)
-KEY_COLUMN_USAGE TABLE_SCHEMA varchar(64)
-KEY_COLUMN_USAGE TABLE_NAME varchar(64)
-KEY_COLUMN_USAGE COLUMN_NAME varchar(64)
-KEY_COLUMN_USAGE ORDINAL_POSITION bigint(10)
-KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT bigint(10)
-KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA varchar(64)
-KEY_COLUMN_USAGE REFERENCED_TABLE_NAME varchar(64)
-KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME varchar(64)
-PARTITIONS TABLE_CATALOG varchar(4096)
-PARTITIONS TABLE_SCHEMA varchar(64)
-PARTITIONS TABLE_NAME varchar(64)
-PARTITIONS PARTITION_NAME varchar(64)
-PARTITIONS SUBPARTITION_NAME varchar(64)
-PARTITIONS PARTITION_ORDINAL_POSITION bigint(21) unsigned
-PARTITIONS SUBPARTITION_ORDINAL_POSITION bigint(21) unsigned
-PARTITIONS PARTITION_METHOD varchar(12)
-PARTITIONS SUBPARTITION_METHOD varchar(12)
-PARTITIONS PARTITION_EXPRESSION longtext
-PARTITIONS SUBPARTITION_EXPRESSION longtext
-PARTITIONS PARTITION_DESCRIPTION longtext
-PARTITIONS TABLE_ROWS bigint(21) unsigned
-PARTITIONS AVG_ROW_LENGTH bigint(21) unsigned
-PARTITIONS DATA_LENGTH bigint(21) unsigned
-PARTITIONS MAX_DATA_LENGTH bigint(21) unsigned
-PARTITIONS INDEX_LENGTH bigint(21) unsigned
-PARTITIONS DATA_FREE bigint(21) unsigned
-PARTITIONS CREATE_TIME datetime
-PARTITIONS UPDATE_TIME datetime
-PARTITIONS CHECK_TIME datetime
-PARTITIONS CHECKSUM bigint(21) unsigned
-PARTITIONS PARTITION_COMMENT varchar(80)
-PARTITIONS NODEGROUP varchar(12)
-PARTITIONS TABLESPACE_NAME varchar(64)
-PLUGINS PLUGIN_NAME varchar(64)
-PLUGINS PLUGIN_VERSION varchar(20)
-PLUGINS PLUGIN_STATUS varchar(10)
-PLUGINS PLUGIN_TYPE varchar(80)
-PLUGINS PLUGIN_TYPE_VERSION varchar(20)
-PLUGINS PLUGIN_LIBRARY varchar(64)
-PLUGINS PLUGIN_LIBRARY_VERSION varchar(20)
-PLUGINS PLUGIN_AUTHOR varchar(64)
-PLUGINS PLUGIN_DESCRIPTION longtext
-PLUGINS PLUGIN_LICENSE varchar(80)
-PROCESSLIST ID bigint(4)
-PROCESSLIST USER varchar(16)
-PROCESSLIST HOST varchar(64)
-PROCESSLIST DB varchar(64)
-PROCESSLIST COMMAND varchar(16)
-PROCESSLIST TIME bigint(7)
-PROCESSLIST STATE varchar(64)
-PROCESSLIST INFO longtext
-REFERENTIAL_CONSTRAINTS CONSTRAINT_CATALOG varchar(4096)
-REFERENTIAL_CONSTRAINTS CONSTRAINT_SCHEMA varchar(64)
-REFERENTIAL_CONSTRAINTS CONSTRAINT_NAME varchar(64)
-REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_CATALOG varchar(4096)
-REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_SCHEMA varchar(64)
-REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_NAME varchar(64)
-REFERENTIAL_CONSTRAINTS MATCH_OPTION varchar(64)
-REFERENTIAL_CONSTRAINTS UPDATE_RULE varchar(64)
-REFERENTIAL_CONSTRAINTS DELETE_RULE varchar(64)
-REFERENTIAL_CONSTRAINTS TABLE_NAME varchar(64)
-REFERENTIAL_CONSTRAINTS REFERENCED_TABLE_NAME varchar(64)
-ROUTINES SPECIFIC_NAME varchar(64)
-ROUTINES ROUTINE_CATALOG varchar(4096)
-ROUTINES ROUTINE_SCHEMA varchar(64)
-ROUTINES ROUTINE_NAME varchar(64)
-ROUTINES ROUTINE_TYPE varchar(9)
-ROUTINES DTD_IDENTIFIER varchar(64)
-ROUTINES ROUTINE_BODY varchar(8)
-ROUTINES ROUTINE_DEFINITION longtext
-ROUTINES EXTERNAL_NAME varchar(64)
-ROUTINES EXTERNAL_LANGUAGE varchar(64)
-ROUTINES PARAMETER_STYLE varchar(8)
-ROUTINES IS_DETERMINISTIC varchar(3)
-ROUTINES SQL_DATA_ACCESS varchar(64)
-ROUTINES SQL_PATH varchar(64)
-ROUTINES SECURITY_TYPE varchar(7)
-ROUTINES CREATED datetime
-ROUTINES LAST_ALTERED datetime
-ROUTINES SQL_MODE longtext
-ROUTINES ROUTINE_COMMENT varchar(64)
-ROUTINES DEFINER varchar(77)
-SCHEMATA CATALOG_NAME varchar(4096)
-SCHEMATA SCHEMA_NAME varchar(64)
-SCHEMATA DEFAULT_CHARACTER_SET_NAME varchar(64)
-SCHEMATA DEFAULT_COLLATION_NAME varchar(64)
-SCHEMATA SQL_PATH varchar(4096)
-SCHEMA_PRIVILEGES GRANTEE varchar(81)
-SCHEMA_PRIVILEGES TABLE_CATALOG varchar(4096)
-SCHEMA_PRIVILEGES TABLE_SCHEMA varchar(64)
-SCHEMA_PRIVILEGES PRIVILEGE_TYPE varchar(64)
-SCHEMA_PRIVILEGES IS_GRANTABLE varchar(3)
-SESSION_STATUS VARIABLE_NAME varchar(64)
-SESSION_STATUS VARIABLE_VALUE decimal(22,7)
-SESSION_VARIABLES VARIABLE_NAME varchar(64)
-SESSION_VARIABLES VARIABLE_VALUE longtext
-STATISTICS TABLE_CATALOG varchar(4096)
-STATISTICS TABLE_SCHEMA varchar(64)
-STATISTICS TABLE_NAME varchar(64)
-STATISTICS NON_UNIQUE bigint(1)
-STATISTICS INDEX_SCHEMA varchar(64)
-STATISTICS INDEX_NAME varchar(64)
-STATISTICS SEQ_IN_INDEX bigint(2)
-STATISTICS COLUMN_NAME varchar(64)
-STATISTICS COLLATION varchar(1)
-STATISTICS CARDINALITY bigint(21)
-STATISTICS SUB_PART bigint(3)
-STATISTICS PACKED varchar(10)
-STATISTICS NULLABLE varchar(3)
-STATISTICS INDEX_TYPE varchar(16)
-STATISTICS COMMENT varchar(16)
-TABLES TABLE_CATALOG varchar(4096)
-TABLES TABLE_SCHEMA varchar(64)
-TABLES TABLE_NAME varchar(64)
-TABLES TABLE_TYPE varchar(64)
-TABLES ENGINE varchar(64)
-TABLES VERSION bigint(21) unsigned
-TABLES ROW_FORMAT varchar(10)
-TABLES TABLE_ROWS bigint(21) unsigned
-TABLES AVG_ROW_LENGTH bigint(21) unsigned
-TABLES DATA_LENGTH bigint(21) unsigned
-TABLES MAX_DATA_LENGTH bigint(21) unsigned
-TABLES INDEX_LENGTH bigint(21) unsigned
-TABLES DATA_FREE bigint(21) unsigned
-TABLES AUTO_INCREMENT bigint(21) unsigned
-TABLES CREATE_TIME datetime
-TABLES UPDATE_TIME datetime
-TABLES CHECK_TIME datetime
-TABLES TABLE_COLLATION varchar(64)
-TABLES CHECKSUM bigint(21) unsigned
-TABLES CREATE_OPTIONS varchar(255)
-TABLES TABLE_COMMENT varchar(80)
-TABLE_CONSTRAINTS CONSTRAINT_CATALOG varchar(4096)
-TABLE_CONSTRAINTS CONSTRAINT_SCHEMA varchar(64)
-TABLE_CONSTRAINTS CONSTRAINT_NAME varchar(64)
-TABLE_CONSTRAINTS TABLE_SCHEMA varchar(64)
-TABLE_CONSTRAINTS TABLE_NAME varchar(64)
-TABLE_CONSTRAINTS CONSTRAINT_TYPE varchar(64)
-TABLE_PRIVILEGES GRANTEE varchar(81)
-TABLE_PRIVILEGES TABLE_CATALOG varchar(4096)
-TABLE_PRIVILEGES TABLE_SCHEMA varchar(64)
-TABLE_PRIVILEGES TABLE_NAME varchar(64)
-TABLE_PRIVILEGES PRIVILEGE_TYPE varchar(64)
-TABLE_PRIVILEGES IS_GRANTABLE varchar(3)
-TRIGGERS TRIGGER_CATALOG varchar(4096)
-TRIGGERS TRIGGER_SCHEMA varchar(64)
-TRIGGERS TRIGGER_NAME varchar(64)
-TRIGGERS EVENT_MANIPULATION varchar(6)
-TRIGGERS EVENT_OBJECT_CATALOG varchar(4096)
-TRIGGERS EVENT_OBJECT_SCHEMA varchar(64)
-TRIGGERS EVENT_OBJECT_TABLE varchar(64)
-TRIGGERS ACTION_ORDER bigint(4)
-TRIGGERS ACTION_CONDITION longtext
-TRIGGERS ACTION_STATEMENT longtext
-TRIGGERS ACTION_ORIENTATION varchar(9)
-TRIGGERS ACTION_TIMING varchar(6)
-TRIGGERS ACTION_REFERENCE_OLD_TABLE varchar(64)
-TRIGGERS ACTION_REFERENCE_NEW_TABLE varchar(64)
-TRIGGERS ACTION_REFERENCE_OLD_ROW varchar(3)
-TRIGGERS ACTION_REFERENCE_NEW_ROW varchar(3)
-TRIGGERS CREATED datetime
-TRIGGERS SQL_MODE longtext
-TRIGGERS DEFINER longtext
-USER_PRIVILEGES GRANTEE varchar(81)
-USER_PRIVILEGES TABLE_CATALOG varchar(4096)
-USER_PRIVILEGES PRIVILEGE_TYPE varchar(64)
-USER_PRIVILEGES IS_GRANTABLE varchar(3)
-VIEWS TABLE_CATALOG varchar(4096)
-VIEWS TABLE_SCHEMA varchar(64)
-VIEWS TABLE_NAME varchar(64)
-VIEWS VIEW_DEFINITION longtext
-VIEWS CHECK_OPTION varchar(8)
-VIEWS IS_UPDATABLE varchar(3)
-VIEWS DEFINER varchar(77)
-VIEWS SECURITY_TYPE varchar(7)
-t1 f1 char(20)
-t1 f2 char(25)
-t1 f3 date
-t1 f4 int(11)
-t1 f5 char(25)
-t1 f6 int(11)
-t10 f1 char(20)
-t10 f2 char(25)
-t10 f3 date
-t10 f4 int(11)
-t10 f5 char(25)
-t10 f6 int(11)
-t11 f1 char(20)
-t11 f2 char(25)
-t11 f3 date
-t11 f4 int(11)
-t11 f5 char(25)
-t11 f6 int(11)
-t2 f1 char(20)
-t2 f2 char(25)
-t2 f3 date
-t2 f4 int(11)
-t2 f5 char(25)
-t2 f6 int(11)
-t3 f1 char(20)
-t3 f2 char(20)
-t3 f3 int(11)
-t4 f1 char(20)
-t4 f2 char(25)
-t4 f3 date
-t4 f4 int(11)
-t4 f5 char(25)
-t4 f6 int(11)
-t7 f1 char(20)
-t7 f2 char(25)
-t7 f3 date
-t7 f4 int(11)
-t8 f1 char(20)
-t8 f2 char(25)
-t8 f3 date
-t8 f4 int(11)
-t9 f1 int(11)
-t9 f2 char(25)
-t9 f3 int(11)
-tb1 f1 char(1)
-tb1 f2 char(1)
-tb1 f3 char(1)
-tb1 f4 tinytext
-tb1 f5 text
-tb1 f6 mediumtext
-tb1 f7 longtext
-tb1 f8 tinyblob
-tb1 f9 blob
-tb1 f10 mediumblob
-tb1 f11 longblob
-tb1 f12 binary(1)
-tb1 f13 tinyint(4)
-tb1 f14 tinyint(3) unsigned
-tb1 f15 tinyint(3) unsigned zerofill
-tb1 f16 tinyint(3) unsigned zerofill
-tb1 f17 smallint(6)
-tb1 f18 smallint(5) unsigned
-tb1 f19 smallint(5) unsigned zerofill
-tb1 f20 smallint(5) unsigned zerofill
-tb1 f21 mediumint(9)
-tb1 f22 mediumint(8) unsigned
-tb1 f23 mediumint(8) unsigned zerofill
-tb1 f24 mediumint(8) unsigned zerofill
-tb1 f25 int(11)
-tb1 f26 int(10) unsigned
-tb1 f27 int(10) unsigned zerofill
-tb1 f28 int(10) unsigned zerofill
-tb1 f29 bigint(20)
-tb1 f30 bigint(20) unsigned
-tb1 f31 bigint(20) unsigned zerofill
-tb1 f32 bigint(20) unsigned zerofill
-tb1 f33 decimal(10,0)
-tb1 f34 decimal(10,0) unsigned
-tb1 f35 decimal(10,0) unsigned zerofill
-tb1 f36 decimal(10,0) unsigned zerofill
-tb1 f37 decimal(10,0)
-tb1 f38 decimal(64,0)
-tb1 f39 decimal(10,0) unsigned
-tb1 f40 decimal(64,0) unsigned
-tb1 f41 decimal(10,0) unsigned zerofill
-tb1 f42 decimal(64,0) unsigned zerofill
-tb1 f43 decimal(10,0) unsigned zerofill
-tb1 f44 decimal(64,0) unsigned zerofill
-tb1 f45 decimal(10,0)
-tb1 f46 decimal(63,30)
-tb1 f47 decimal(10,0) unsigned
-tb1 f48 decimal(63,30) unsigned
-tb1 f49 decimal(10,0) unsigned zerofill
-tb1 f50 decimal(63,30) unsigned zerofill
-tb1 f51 decimal(10,0) unsigned zerofill
-tb1 f52 decimal(63,30) unsigned zerofill
-tb1 f53 decimal(10,0)
-tb1 f54 decimal(10,0) unsigned
-tb1 f55 decimal(10,0) unsigned zerofill
-tb1 f56 decimal(10,0) unsigned zerofill
-tb1 f57 decimal(10,0)
-tb1 f58 decimal(64,0)
-tb2 f59 decimal(10,0) unsigned
-tb2 f60 decimal(64,0) unsigned
-tb2 f61 decimal(10,0) unsigned zerofill
-tb2 f62 decimal(64,0) unsigned zerofill
-tb2 f63 decimal(10,0) unsigned zerofill
-tb2 f64 decimal(64,0) unsigned zerofill
-tb2 f65 decimal(10,0)
-tb2 f66 decimal(63,30)
-tb2 f67 decimal(10,0) unsigned
-tb2 f68 decimal(63,30) unsigned
-tb2 f69 decimal(10,0) unsigned zerofill
-tb2 f70 decimal(63,30) unsigned zerofill
-tb2 f71 decimal(10,0) unsigned zerofill
-tb2 f72 decimal(63,30) unsigned zerofill
-tb2 f73 double
-tb2 f74 double unsigned
-tb2 f75 double unsigned zerofill
-tb2 f76 double unsigned zerofill
-tb2 f77 double
-tb2 f78 double unsigned
-tb2 f79 double unsigned zerofill
-tb2 f80 double unsigned zerofill
-tb2 f81 float
-tb2 f82 float unsigned
-tb2 f83 float unsigned zerofill
-tb2 f84 float unsigned zerofill
-tb2 f85 float
-tb2 f86 float
-tb2 f87 float unsigned
-tb2 f88 float unsigned
-tb2 f89 float unsigned zerofill
-tb2 f90 float unsigned zerofill
-tb2 f91 float unsigned zerofill
-tb2 f92 float unsigned zerofill
-tb2 f93 float
-tb2 f94 double
-tb2 f95 float unsigned
-tb2 f96 double unsigned
-tb2 f97 float unsigned zerofill
-tb2 f98 double unsigned zerofill
-tb2 f99 float unsigned zerofill
-tb2 f100 double unsigned zerofill
-tb2 f101 date
-tb2 f102 time
-tb2 f103 datetime
-tb2 f104 timestamp
-tb2 f105 year(4)
-tb2 f106 year(4)
-tb2 f107 year(4)
-tb2 f108 enum('1enum','2enum')
-tb2 f109 set('1set','2set')
-tb2 f110 varbinary(64)
-tb2 f111 varbinary(27)
-tb2 f112 varbinary(64)
-tb2 f113 varbinary(192)
-tb2 f114 varbinary(192)
-tb2 f115 varbinary(27)
-tb2 f116 varbinary(64)
-tb2 f117 varbinary(192)
-tb3 f118 char(1)
-tb3 f119 char(1)
-tb3 f120 char(1)
-tb3 f121 tinytext
-tb3 f122 text
-tb3 f123 mediumtext
-tb3 f124 longtext
-tb3 f125 tinyblob
-tb3 f126 blob
-tb3 f127 mediumblob
-tb3 f128 longblob
-tb3 f129 binary(1)
-tb3 f130 tinyint(4)
-tb3 f131 tinyint(3) unsigned
-tb3 f132 tinyint(3) unsigned zerofill
-tb3 f133 tinyint(3) unsigned zerofill
-tb3 f134 smallint(6)
-tb3 f135 smallint(5) unsigned
-tb3 f136 smallint(5) unsigned zerofill
-tb3 f137 smallint(5) unsigned zerofill
-tb3 f138 mediumint(9)
-tb3 f139 mediumint(8) unsigned
-tb3 f140 mediumint(8) unsigned zerofill
-tb3 f141 mediumint(8) unsigned zerofill
-tb3 f142 int(11)
-tb3 f143 int(10) unsigned
-tb3 f144 int(10) unsigned zerofill
-tb3 f145 int(10) unsigned zerofill
-tb3 f146 bigint(20)
-tb3 f147 bigint(20) unsigned
-tb3 f148 bigint(20) unsigned zerofill
-tb3 f149 bigint(20) unsigned zerofill
-tb3 f150 decimal(10,0)
-tb3 f151 decimal(10,0) unsigned
-tb3 f152 decimal(10,0) unsigned zerofill
-tb3 f153 decimal(10,0) unsigned zerofill
-tb3 f154 decimal(10,0)
-tb3 f155 decimal(64,0)
-tb3 f156 decimal(10,0) unsigned
-tb3 f157 decimal(64,0) unsigned
-tb3 f158 decimal(10,0) unsigned zerofill
-tb3 f159 decimal(64,0) unsigned zerofill
-tb3 f160 decimal(10,0) unsigned zerofill
-tb3 f161 decimal(64,0) unsigned zerofill
-tb3 f162 decimal(10,0)
-tb3 f163 decimal(63,30)
-tb3 f164 decimal(10,0) unsigned
-tb3 f165 decimal(63,30) unsigned
-tb3 f166 decimal(10,0) unsigned zerofill
-tb3 f167 decimal(63,30) unsigned zerofill
-tb3 f168 decimal(10,0) unsigned zerofill
-tb3 f169 decimal(63,30) unsigned zerofill
-tb3 f170 decimal(10,0)
-tb3 f171 decimal(10,0) unsigned
-tb3 f172 decimal(10,0) unsigned zerofill
-tb3 f173 decimal(10,0) unsigned zerofill
-tb3 f174 decimal(10,0)
-tb3 f175 decimal(64,0)
-tb4 f176 decimal(10,0) unsigned
-tb4 f177 decimal(64,0) unsigned
-tb4 f178 decimal(10,0) unsigned zerofill
-tb4 f179 decimal(64,0) unsigned zerofill
-tb4 f180 decimal(10,0) unsigned zerofill
-tb4 f181 decimal(64,0) unsigned zerofill
-tb4 f182 decimal(10,0)
-tb4 f183 decimal(63,30)
-tb4 f184 decimal(10,0) unsigned
-tb4 f185 decimal(63,30) unsigned
-tb4 f186 decimal(10,0) unsigned zerofill
-tb4 f187 decimal(63,30) unsigned zerofill
-tb4 f188 decimal(10,0) unsigned zerofill
-tb4 f189 decimal(63,30) unsigned zerofill
-tb4 f190 double
-tb4 f191 double unsigned
-tb4 f192 double unsigned zerofill
-tb4 f193 double unsigned zerofill
-tb4 f194 double
-tb4 f195 double unsigned
-tb4 f196 double unsigned zerofill
-tb4 f197 double unsigned zerofill
-tb4 f198 float
-tb4 f199 float unsigned
-tb4 f200 float unsigned zerofill
-tb4 f201 float unsigned zerofill
-tb4 f202 float
-tb4 f203 float
-tb4 f204 float unsigned
-tb4 f205 float unsigned
-tb4 f206 float unsigned zerofill
-tb4 f207 float unsigned zerofill
-tb4 f208 float unsigned zerofill
-tb4 f209 float unsigned zerofill
-tb4 f210 float
-tb4 f211 double
-tb4 f212 float unsigned
-tb4 f213 double unsigned
-tb4 f214 float unsigned zerofill
-tb4 f215 double unsigned zerofill
-tb4 f216 float unsigned zerofill
-tb4 f217 double unsigned zerofill
-tb4 f218 date
-tb4 f219 time
-tb4 f220 datetime
-tb4 f221 timestamp
-tb4 f222 year(4)
-tb4 f223 year(4)
-tb4 f224 year(4)
-tb4 f225 enum('1enum','2enum')
-tb4 f226 set('1set','2set')
-tb4 f227 varbinary(64)
-tb4 f228 varbinary(27)
-tb4 f229 varbinary(64)
-tb4 f230 varbinary(192)
-tb4 f231 varbinary(192)
-tb4 f232 varbinary(27)
-tb4 f233 varbinary(64)
-tb4 f234 varbinary(192)
-tb4 f235 char(255)
-tb4 f236 char(60)
-tb4 f237 char(255)
-tb4 f238 varchar(0)
-tb4 f239 varbinary(1000)
-tb4 f240 varchar(120)
-tb4 f241 char(100)
-tb4 f242 bit(30)
-select character_set_name from character_sets;
-character_set_name
-big5
-dec8
-cp850
-hp8
-koi8r
-latin1
-latin2
-swe7
-ascii
-ujis
-sjis
-hebrew
-tis620
-euckr
-koi8u
-gb2312
-greek
-cp1250
-gbk
-latin5
-armscii8
-utf8
-ucs2
-cp866
-keybcs2
-macce
-macroman
-cp852
-latin7
-cp1251
-cp1256
-cp1257
-binary
-geostd8
-cp932
-eucjpms
-select collation_name from collations;
-collation_name
-big5_chinese_ci
-big5_bin
-dec8_swedish_ci
-dec8_bin
-cp850_general_ci
-cp850_bin
-hp8_english_ci
-hp8_bin
-koi8r_general_ci
-koi8r_bin
-latin1_german1_ci
-latin1_swedish_ci
-latin1_danish_ci
-latin1_german2_ci
-latin1_bin
-latin1_general_ci
-latin1_general_cs
-latin1_spanish_ci
-latin2_czech_cs
-latin2_general_ci
-latin2_hungarian_ci
-latin2_croatian_ci
-latin2_bin
-swe7_swedish_ci
-swe7_bin
-ascii_general_ci
-ascii_bin
-ujis_japanese_ci
-ujis_bin
-sjis_japanese_ci
-sjis_bin
-hebrew_general_ci
-hebrew_bin
-tis620_thai_ci
-tis620_bin
-euckr_korean_ci
-euckr_bin
-koi8u_general_ci
-koi8u_bin
-gb2312_chinese_ci
-gb2312_bin
-greek_general_ci
-greek_bin
-cp1250_general_ci
-cp1250_czech_cs
-cp1250_croatian_ci
-cp1250_bin
-cp1250_polish_ci
-gbk_chinese_ci
-gbk_bin
-latin5_turkish_ci
-latin5_bin
-armscii8_general_ci
-armscii8_bin
-utf8_general_ci
-utf8_bin
-utf8_unicode_ci
-utf8_icelandic_ci
-utf8_latvian_ci
-utf8_romanian_ci
-utf8_slovenian_ci
-utf8_polish_ci
-utf8_estonian_ci
-utf8_spanish_ci
-utf8_swedish_ci
-utf8_turkish_ci
-utf8_czech_ci
-utf8_danish_ci
-utf8_lithuanian_ci
-utf8_slovak_ci
-utf8_spanish2_ci
-utf8_roman_ci
-utf8_persian_ci
-utf8_esperanto_ci
-utf8_hungarian_ci
-ucs2_general_ci
-ucs2_bin
-ucs2_unicode_ci
-ucs2_icelandic_ci
-ucs2_latvian_ci
-ucs2_romanian_ci
-ucs2_slovenian_ci
-ucs2_polish_ci
-ucs2_estonian_ci
-ucs2_spanish_ci
-ucs2_swedish_ci
-ucs2_turkish_ci
-ucs2_czech_ci
-ucs2_danish_ci
-ucs2_lithuanian_ci
-ucs2_slovak_ci
-ucs2_spanish2_ci
-ucs2_roman_ci
-ucs2_persian_ci
-ucs2_esperanto_ci
-ucs2_hungarian_ci
-cp866_general_ci
-cp866_bin
-keybcs2_general_ci
-keybcs2_bin
-macce_general_ci
-macce_bin
-macroman_general_ci
-macroman_bin
-cp852_general_ci
-cp852_bin
-latin7_estonian_cs
-latin7_general_ci
-latin7_general_cs
-latin7_bin
-cp1251_bulgarian_ci
-cp1251_ukrainian_ci
-cp1251_bin
-cp1251_general_ci
-cp1251_general_cs
-cp1256_general_ci
-cp1256_bin
-cp1257_lithuanian_ci
-cp1257_bin
-cp1257_general_ci
-binary
-geostd8_general_ci
-geostd8_bin
-cp932_japanese_ci
-cp932_bin
-eucjpms_japanese_ci
-eucjpms_bin
-select routine_name, routine_type from routines;
-routine_name routine_type
-select table_name, index_name from statistics;
-table_name index_name
-select table_name from views;
-table_name
-select privilege_type from user_privileges;
-privilege_type
-USAGE
-select grantee, privilege_type from schema_privileges;
-grantee privilege_type
-select * from table_privileges;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-select column_name, privilege_type from column_privileges;
-column_name privilege_type
-select table_name,constraint_type from table_constraints;
-table_name constraint_type
-select table_schema, table_name, column_name from key_column_usage;
-table_schema table_name column_name
-
-root@localhost db_datadict
-DROP USER 'u_6_401017'@'localhost';
-
-Testcase 3.2.1.18:
---------------------------------------------------------------------------------
-CREATE USER 'u_6_401018'@'localhost';
-GRANT CREATE VIEW ON information_schema.* TO 'u_6_401018'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-GRANT ALL ON db_datadict.* TO 'u_6_401018'@'localhost';
-SHOW GRANTS FOR 'u_6_401018'@'localhost';
-Grants for u_6_401018@localhost
-GRANT USAGE ON *.* TO 'u_6_401018'@'localhost'
-GRANT ALL PRIVILEGES ON `db_datadict`.* TO 'u_6_401018'@'localhost'
-FLUSH PRIVILEGES;
-DROP DATABASE IF EXISTS db_datadict;
-CREATE DATABASE db_datadict;
-connect(localhost,u_6_401018,,test,MYSQL_PORT,MYSQL_SOCK);
-USE db_datadict;
-create view db_datadict.v_401018 as
-select * from information_schema.schemata;
-SELECT * FROM v_401018 ORDER BY 2 DESC;
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL test latin1 latin1_swedish_ci NULL
-NULL information_schema utf8 utf8_general_ci NULL
-NULL db_datadict latin1 latin1_swedish_ci NULL
-
-root@localhost NULL
-DROP USER 'u_6_401018'@'localhost';
-DROP DATABASE db_datadict;
-
-Testcase 3.2.1.19:
---------------------------------------------------------------------------------
-CREATE USER 'u_6_401019'@'localhost';
-grant alter on information_schema.* to 'u_6_401019'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-grant alter routine on information_schema.* to 'u_6_401019'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-grant create on information_schema.* to 'u_6_401019'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-grant create routine on information_schema.* to 'u_6_401019'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-grant create temporary tables
-on information_schema.* to 'u_6_401019'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-grant delete on information_schema.* to 'u_6_401019'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-grant drop on information_schema.* to 'u_6_401019'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-grant execute on information_schema.* to 'u_6_401019'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-grant index on information_schema.* to 'u_6_401019'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-grant insert on information_schema.* to 'u_6_401019'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-grant lock tables on information_schema.* to 'u_6_401019'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-grant update on information_schema.* to 'u_6_401019'@'localhost';
-ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
-SELECT * FROM information_schema.table_privileges
-WHERE table_schema = "information_schema";
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-SELECT * FROM information_schema.column_privileges
-WHERE table_schema = "information_schema";
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-DROP USER 'u_6_401019'@'localhost';
-
-Testcase 3.2.1.20:
---------------------------------------------------------------------------------
-CREATE USER 'u_6_401020'@'localhost';
-connect(localhost,u_6_401020,,test,MYSQL_PORT,MYSQL_SOCK);
-USE information_schema;
-SELECT * FROM schemata;
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL information_schema utf8 utf8_general_ci NULL
-NULL test latin1 latin1_swedish_ci NULL
-CREATE TABLE tb_not_allowed ( col TEXT );
-ERROR 42S02: Unknown table 'tb_not_allowed' in information_schema
-create view res_v1 as select * from information_schema.schemata;
-ERROR 42S02: Unknown table 'res_v1' in information_schema
-alter table schemata modify catalog_name varchar(255);
-ERROR 42000: Access denied for user 'u_6_401020'@'localhost' to database 'information_schema'
-update schemata set catalog_name = 'abc'
- where schema_name = 'information_schema';
-ERROR 42000: Access denied for user 'u_6_401020'@'localhost' to database 'information_schema'
-CREATE PROCEDURE sp_3_2_1_20()
-BEGIN
-INSERT INTO information_schema.schema_privileges (table_schema,privilege_type)
-VALUES('db2','insert');
-END//
-ERROR 42000: Unknown database 'information_schema'
-DELETE FROM schemata WHERE schema_name = 'information_schema';
-ERROR 42000: Access denied for user 'u_6_401020'@'localhost' to database 'information_schema'
-
-root@localhost NULL
-DROP USER 'u_6_401020'@'localhost';
-
-Testcase 3.2.2.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC character_sets;
-Field Type Null Key Default Extra
-CHARACTER_SET_NAME varchar(64) NO
-DEFAULT_COLLATE_NAME varchar(64) NO
-DESCRIPTION varchar(60) NO
-MAXLEN bigint(3) NO 0
-SHOW CREATE TABLE character_sets;
-Table Create Table
-CHARACTER_SETS CREATE TEMPORARY TABLE `CHARACTER_SETS` (
- `CHARACTER_SET_NAME` varchar(64) NOT NULL DEFAULT '',
- `DEFAULT_COLLATE_NAME` varchar(64) NOT NULL DEFAULT '',
- `DESCRIPTION` varchar(60) NOT NULL DEFAULT '',
- `MAXLEN` bigint(3) NOT NULL DEFAULT '0'
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'character_sets'
-ORDER BY ordinal_position;
-COUNT(*)
-4
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'character_sets'
-ORDER BY ordinal_position;
-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
-NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema CHARACTER_SETS DESCRIPTION 3 NO varchar 60 180 NULL NULL utf8 utf8_general_ci varchar(60) select
-NULL information_schema CHARACTER_SETS MAXLEN 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select
-
-Testcase 3.2.2.2:
---------------------------------------------------------------------------------
-
-root@localhost information_schema
-SELECT * FROM information_schema.character_sets;
-CHARACTER_SET_NAME DEFAULT_COLLATE_NAME DESCRIPTION MAXLEN
-big5 big5_chinese_ci Big5 Traditional Chinese 2
-dec8 dec8_swedish_ci DEC West European 1
-cp850 cp850_general_ci DOS West European 1
-hp8 hp8_english_ci HP West European 1
-koi8r koi8r_general_ci KOI8-R Relcom Russian 1
-latin1 latin1_swedish_ci cp1252 West European 1
-latin2 latin2_general_ci ISO 8859-2 Central European 1
-swe7 swe7_swedish_ci 7bit Swedish 1
-ascii ascii_general_ci US ASCII 1
-ujis ujis_japanese_ci EUC-JP Japanese 3
-sjis sjis_japanese_ci Shift-JIS Japanese 2
-hebrew hebrew_general_ci ISO 8859-8 Hebrew 1
-tis620 tis620_thai_ci TIS620 Thai 1
-euckr euckr_korean_ci EUC-KR Korean 2
-koi8u koi8u_general_ci KOI8-U Ukrainian 1
-gb2312 gb2312_chinese_ci GB2312 Simplified Chinese 2
-greek greek_general_ci ISO 8859-7 Greek 1
-cp1250 cp1250_general_ci Windows Central European 1
-gbk gbk_chinese_ci GBK Simplified Chinese 2
-latin5 latin5_turkish_ci ISO 8859-9 Turkish 1
-armscii8 armscii8_general_ci ARMSCII-8 Armenian 1
-utf8 utf8_general_ci UTF-8 Unicode 3
-ucs2 ucs2_general_ci UCS-2 Unicode 2
-cp866 cp866_general_ci DOS Russian 1
-keybcs2 keybcs2_general_ci DOS Kamenicky Czech-Slovak 1
-macce macce_general_ci Mac Central European 1
-macroman macroman_general_ci Mac West European 1
-cp852 cp852_general_ci DOS Central European 1
-latin7 latin7_general_ci ISO 8859-13 Baltic 1
-cp1251 cp1251_general_ci Windows Cyrillic 1
-cp1256 cp1256_general_ci Windows Arabic 1
-cp1257 cp1257_general_ci Windows Baltic 1
-binary binary Binary pseudo charset 1
-geostd8 geostd8_general_ci GEOSTD8 Georgian 1
-cp932 cp932_japanese_ci SJIS for Windows Japanese 2
-eucjpms eucjpms_japanese_ci UJIS for Windows Japanese 3
-
-Testcase 3.2.2.3:
---------------------------------------------------------------------------------
-
-Testcase 3.2.3.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC collations;
-Field Type Null Key Default Extra
-COLLATION_NAME varchar(64) NO
-CHARACTER_SET_NAME varchar(64) NO
-ID bigint(11) NO 0
-IS_DEFAULT varchar(3) NO
-IS_COMPILED varchar(3) NO
-SORTLEN bigint(3) NO 0
-SHOW CREATE TABLE collations;
-Table Create Table
-COLLATIONS CREATE TEMPORARY TABLE `COLLATIONS` (
- `COLLATION_NAME` varchar(64) NOT NULL DEFAULT '',
- `CHARACTER_SET_NAME` varchar(64) NOT NULL DEFAULT '',
- `ID` bigint(11) NOT NULL DEFAULT '0',
- `IS_DEFAULT` varchar(3) NOT NULL DEFAULT '',
- `IS_COMPILED` varchar(3) NOT NULL DEFAULT '',
- `SORTLEN` bigint(3) NOT NULL DEFAULT '0'
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'collations'
-ORDER BY ordinal_position;
-COUNT(*)
-6
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'collations'
-ORDER BY ordinal_position;
-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
-NULL information_schema COLLATIONS COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATIONS CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATIONS ID 3 0 NO bigint NULL NULL 19 0 NULL NULL bigint(11) select
-NULL information_schema COLLATIONS IS_DEFAULT 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLLATIONS IS_COMPILED 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLLATIONS SORTLEN 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select
-
-Testcase 3.2.3.2:
---------------------------------------------------------------------------------
-SELECT * FROM collations;
-COLLATION_NAME CHARACTER_SET_NAME ID IS_DEFAULT IS_COMPILED SORTLEN
-big5_chinese_ci big5 1 Yes Yes 1
-big5_bin big5 84 Yes 1
-dec8_swedish_ci dec8 3 Yes 0
-dec8_bin dec8 69 0
-cp850_general_ci cp850 4 Yes 0
-cp850_bin cp850 80 0
-hp8_english_ci hp8 6 Yes 0
-hp8_bin hp8 72 0
-koi8r_general_ci koi8r 7 Yes 0
-koi8r_bin koi8r 74 0
-latin1_german1_ci latin1 5 Yes 1
-latin1_swedish_ci latin1 8 Yes Yes 1
-latin1_danish_ci latin1 15 Yes 1
-latin1_german2_ci latin1 31 Yes 2
-latin1_bin latin1 47 Yes 1
-latin1_general_ci latin1 48 Yes 1
-latin1_general_cs latin1 49 Yes 1
-latin1_spanish_ci latin1 94 Yes 1
-latin2_czech_cs latin2 2 Yes 4
-latin2_general_ci latin2 9 Yes Yes 1
-latin2_hungarian_ci latin2 21 Yes 1
-latin2_croatian_ci latin2 27 Yes 1
-latin2_bin latin2 77 Yes 1
-swe7_swedish_ci swe7 10 Yes 0
-swe7_bin swe7 82 0
-ascii_general_ci ascii 11 Yes 0
-ascii_bin ascii 65 0
-ujis_japanese_ci ujis 12 Yes Yes 1
-ujis_bin ujis 91 Yes 1
-sjis_japanese_ci sjis 13 Yes Yes 1
-sjis_bin sjis 88 Yes 1
-hebrew_general_ci hebrew 16 Yes 0
-hebrew_bin hebrew 71 0
-tis620_thai_ci tis620 18 Yes Yes 4
-tis620_bin tis620 89 Yes 1
-euckr_korean_ci euckr 19 Yes Yes 1
-euckr_bin euckr 85 Yes 1
-koi8u_general_ci koi8u 22 Yes 0
-koi8u_bin koi8u 75 0
-gb2312_chinese_ci gb2312 24 Yes Yes 1
-gb2312_bin gb2312 86 Yes 1
-greek_general_ci greek 25 Yes 0
-greek_bin greek 70 0
-cp1250_general_ci cp1250 26 Yes Yes 1
-cp1250_czech_cs cp1250 34 Yes 2
-cp1250_croatian_ci cp1250 44 Yes 1
-cp1250_bin cp1250 66 Yes 1
-cp1250_polish_ci cp1250 99 Yes 1
-gbk_chinese_ci gbk 28 Yes Yes 1
-gbk_bin gbk 87 Yes 1
-latin5_turkish_ci latin5 30 Yes 0
-latin5_bin latin5 78 0
-armscii8_general_ci armscii8 32 Yes 0
-armscii8_bin armscii8 64 0
-utf8_general_ci utf8 33 Yes Yes 1
-utf8_bin utf8 83 Yes 1
-utf8_unicode_ci utf8 192 Yes 8
-utf8_icelandic_ci utf8 193 Yes 8
-utf8_latvian_ci utf8 194 Yes 8
-utf8_romanian_ci utf8 195 Yes 8
-utf8_slovenian_ci utf8 196 Yes 8
-utf8_polish_ci utf8 197 Yes 8
-utf8_estonian_ci utf8 198 Yes 8
-utf8_spanish_ci utf8 199 Yes 8
-utf8_swedish_ci utf8 200 Yes 8
-utf8_turkish_ci utf8 201 Yes 8
-utf8_czech_ci utf8 202 Yes 8
-utf8_danish_ci utf8 203 Yes 8
-utf8_lithuanian_ci utf8 204 Yes 8
-utf8_slovak_ci utf8 205 Yes 8
-utf8_spanish2_ci utf8 206 Yes 8
-utf8_roman_ci utf8 207 Yes 8
-utf8_persian_ci utf8 208 Yes 8
-utf8_esperanto_ci utf8 209 Yes 8
-utf8_hungarian_ci utf8 210 Yes 8
-ucs2_general_ci ucs2 35 Yes Yes 1
-ucs2_bin ucs2 90 Yes 1
-ucs2_unicode_ci ucs2 128 Yes 8
-ucs2_icelandic_ci ucs2 129 Yes 8
-ucs2_latvian_ci ucs2 130 Yes 8
-ucs2_romanian_ci ucs2 131 Yes 8
-ucs2_slovenian_ci ucs2 132 Yes 8
-ucs2_polish_ci ucs2 133 Yes 8
-ucs2_estonian_ci ucs2 134 Yes 8
-ucs2_spanish_ci ucs2 135 Yes 8
-ucs2_swedish_ci ucs2 136 Yes 8
-ucs2_turkish_ci ucs2 137 Yes 8
-ucs2_czech_ci ucs2 138 Yes 8
-ucs2_danish_ci ucs2 139 Yes 8
-ucs2_lithuanian_ci ucs2 140 Yes 8
-ucs2_slovak_ci ucs2 141 Yes 8
-ucs2_spanish2_ci ucs2 142 Yes 8
-ucs2_roman_ci ucs2 143 Yes 8
-ucs2_persian_ci ucs2 144 Yes 8
-ucs2_esperanto_ci ucs2 145 Yes 8
-ucs2_hungarian_ci ucs2 146 Yes 8
-cp866_general_ci cp866 36 Yes 0
-cp866_bin cp866 68 0
-keybcs2_general_ci keybcs2 37 Yes 0
-keybcs2_bin keybcs2 73 0
-macce_general_ci macce 38 Yes 0
-macce_bin macce 43 0
-macroman_general_ci macroman 39 Yes 0
-macroman_bin macroman 53 0
-cp852_general_ci cp852 40 Yes 0
-cp852_bin cp852 81 0
-latin7_estonian_cs latin7 20 0
-latin7_general_ci latin7 41 Yes 0
-latin7_general_cs latin7 42 0
-latin7_bin latin7 79 0
-cp1251_bulgarian_ci cp1251 14 0
-cp1251_ukrainian_ci cp1251 23 0
-cp1251_bin cp1251 50 0
-cp1251_general_ci cp1251 51 Yes 0
-cp1251_general_cs cp1251 52 0
-cp1256_general_ci cp1256 57 Yes 0
-cp1256_bin cp1256 67 0
-cp1257_lithuanian_ci cp1257 29 0
-cp1257_bin cp1257 58 0
-cp1257_general_ci cp1257 59 Yes 0
-binary binary 63 Yes Yes 1
-geostd8_general_ci geostd8 92 Yes 0
-geostd8_bin geostd8 93 0
-cp932_japanese_ci cp932 95 Yes Yes 1
-cp932_bin cp932 96 Yes 1
-eucjpms_japanese_ci eucjpms 97 Yes Yes 1
-eucjpms_bin eucjpms 98 Yes 1
-
-Testcase 3.2.3.3:
---------------------------------------------------------------------------------
-
-Testcase 3.2.4.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC collation_character_set_applicability;
-Field Type Null Key Default Extra
-COLLATION_NAME varchar(64) NO
-CHARACTER_SET_NAME varchar(64) NO
-SHOW CREATE TABLE collation_character_set_applicability;
-Table Create Table
-COLLATION_CHARACTER_SET_APPLICABILITY CREATE TEMPORARY TABLE `COLLATION_CHARACTER_SET_APPLICABILITY` (
- `COLLATION_NAME` varchar(64) NOT NULL DEFAULT '',
- `CHARACTER_SET_NAME` varchar(64) NOT NULL DEFAULT ''
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'collation_character_set_applicability'
-ORDER BY ordinal_position;
-COUNT(*)
-2
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'collation_character_set_applicability'
-ORDER BY ordinal_position;
-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
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-
-Testcase 3.2.4.2:
---------------------------------------------------------------------------------
-SELECT * FROM collation_character_set_applicability;
-COLLATION_NAME CHARACTER_SET_NAME
-big5_chinese_ci big5
-big5_bin big5
-dec8_swedish_ci dec8
-dec8_bin dec8
-cp850_general_ci cp850
-cp850_bin cp850
-hp8_english_ci hp8
-hp8_bin hp8
-koi8r_general_ci koi8r
-koi8r_bin koi8r
-latin1_german1_ci latin1
-latin1_swedish_ci latin1
-latin1_danish_ci latin1
-latin1_german2_ci latin1
-latin1_bin latin1
-latin1_general_ci latin1
-latin1_general_cs latin1
-latin1_spanish_ci latin1
-latin2_czech_cs latin2
-latin2_general_ci latin2
-latin2_hungarian_ci latin2
-latin2_croatian_ci latin2
-latin2_bin latin2
-swe7_swedish_ci swe7
-swe7_bin swe7
-ascii_general_ci ascii
-ascii_bin ascii
-ujis_japanese_ci ujis
-ujis_bin ujis
-sjis_japanese_ci sjis
-sjis_bin sjis
-hebrew_general_ci hebrew
-hebrew_bin hebrew
-filename filename
-tis620_thai_ci tis620
-tis620_bin tis620
-euckr_korean_ci euckr
-euckr_bin euckr
-koi8u_general_ci koi8u
-koi8u_bin koi8u
-gb2312_chinese_ci gb2312
-gb2312_bin gb2312
-greek_general_ci greek
-greek_bin greek
-cp1250_general_ci cp1250
-cp1250_czech_cs cp1250
-cp1250_croatian_ci cp1250
-cp1250_bin cp1250
-cp1250_polish_ci cp1250
-gbk_chinese_ci gbk
-gbk_bin gbk
-latin5_turkish_ci latin5
-latin5_bin latin5
-armscii8_general_ci armscii8
-armscii8_bin armscii8
-utf8_general_ci utf8
-utf8_bin utf8
-utf8_unicode_ci utf8
-utf8_icelandic_ci utf8
-utf8_latvian_ci utf8
-utf8_romanian_ci utf8
-utf8_slovenian_ci utf8
-utf8_polish_ci utf8
-utf8_estonian_ci utf8
-utf8_spanish_ci utf8
-utf8_swedish_ci utf8
-utf8_turkish_ci utf8
-utf8_czech_ci utf8
-utf8_danish_ci utf8
-utf8_lithuanian_ci utf8
-utf8_slovak_ci utf8
-utf8_spanish2_ci utf8
-utf8_roman_ci utf8
-utf8_persian_ci utf8
-utf8_esperanto_ci utf8
-utf8_hungarian_ci utf8
-ucs2_general_ci ucs2
-ucs2_bin ucs2
-ucs2_unicode_ci ucs2
-ucs2_icelandic_ci ucs2
-ucs2_latvian_ci ucs2
-ucs2_romanian_ci ucs2
-ucs2_slovenian_ci ucs2
-ucs2_polish_ci ucs2
-ucs2_estonian_ci ucs2
-ucs2_spanish_ci ucs2
-ucs2_swedish_ci ucs2
-ucs2_turkish_ci ucs2
-ucs2_czech_ci ucs2
-ucs2_danish_ci ucs2
-ucs2_lithuanian_ci ucs2
-ucs2_slovak_ci ucs2
-ucs2_spanish2_ci ucs2
-ucs2_roman_ci ucs2
-ucs2_persian_ci ucs2
-ucs2_esperanto_ci ucs2
-ucs2_hungarian_ci ucs2
-cp866_general_ci cp866
-cp866_bin cp866
-keybcs2_general_ci keybcs2
-keybcs2_bin keybcs2
-macce_general_ci macce
-macce_bin macce
-macroman_general_ci macroman
-macroman_bin macroman
-cp852_general_ci cp852
-cp852_bin cp852
-latin7_estonian_cs latin7
-latin7_general_ci latin7
-latin7_general_cs latin7
-latin7_bin latin7
-cp1251_bulgarian_ci cp1251
-cp1251_ukrainian_ci cp1251
-cp1251_bin cp1251
-cp1251_general_ci cp1251
-cp1251_general_cs cp1251
-cp1256_general_ci cp1256
-cp1256_bin cp1256
-cp1257_lithuanian_ci cp1257
-cp1257_bin cp1257
-cp1257_general_ci cp1257
-binary binary
-geostd8_general_ci geostd8
-geostd8_bin geostd8
-cp932_japanese_ci cp932
-cp932_bin cp932
-eucjpms_japanese_ci eucjpms
-eucjpms_bin eucjpms
-
-Testcase 3.2.4.3:
---------------------------------------------------------------------------------
-
-Testcase 3.2.5.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC column_privileges;
-Field Type Null Key Default Extra
-GRANTEE varchar(81) NO
-TABLE_CATALOG varchar(4096) YES NULL
-TABLE_SCHEMA varchar(64) NO
-TABLE_NAME varchar(64) NO
-COLUMN_NAME varchar(64) NO
-PRIVILEGE_TYPE varchar(64) NO
-IS_GRANTABLE varchar(3) NO
-SHOW CREATE TABLE column_privileges;
-Table Create Table
-COLUMN_PRIVILEGES CREATE TEMPORARY TABLE `COLUMN_PRIVILEGES` (
- `GRANTEE` varchar(81) NOT NULL DEFAULT '',
- `TABLE_CATALOG` varchar(4096) DEFAULT NULL,
- `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `TABLE_NAME` varchar(64) NOT NULL DEFAULT '',
- `COLUMN_NAME` varchar(64) NOT NULL DEFAULT '',
- `PRIVILEGE_TYPE` varchar(64) NOT NULL DEFAULT '',
- `IS_GRANTABLE` varchar(3) NOT NULL DEFAULT ''
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'column_privileges'
-ORDER BY ordinal_position;
-COUNT(*)
-7
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'column_privileges'
-ORDER BY ordinal_position;
-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
-NULL information_schema COLUMN_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES COLUMN_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES PRIVILEGE_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES IS_GRANTABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-
-Testcase 3.2.5.2 + 3.2.5.3 + 3.2.5.4:
---------------------------------------------------------------------------------
-CREATE USER 'user_1'@'localhost';
-CREATE USER 'user_2'@'localhost';
-CREATE USER 'user_3'@'localhost';
-DROP DATABASE IF EXISTS db_datadict;
-CREATE DATABASE db_datadict;
-USE db_datadict;
-CREATE TABLE db_datadict.res_t40502 (f1 INT, f2 DECIMAL, f3 TEXT);
-GRANT SELECT(f1, f3) ON db_datadict.res_t40502 TO 'user_1'@'localhost';
-GRANT INSERT(f1) ON db_datadict.res_t40502 TO 'user_1'@'localhost';
-GRANT UPDATE(f2) ON db_datadict.res_t40502 TO 'user_1'@'localhost';
-GRANT SELECT(f2) ON db_datadict.res_t40502 TO 'user_2'@'localhost';
-GRANT INSERT, SELECT ON db_datadict.res_t40502 TO 'user_3'@'localhost';
-GRANT SELECT(f3) ON db_datadict.res_t40502 TO 'user_3'@'localhost';
-GRANT INSERT, SELECT ON db_datadict.res_t40502 TO 'user_3'@'localhost' WITH GRANT OPTION;
-GRANT ALL ON db_datadict.* TO 'user_3'@'localhost';
-SELECT * FROM information_schema.column_privileges
-WHERE grantee LIKE "'user%"
- ORDER BY grantee, table_name, column_name, privilege_type;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL db_datadict res_t40502 f1 INSERT NO
-'user_1'@'localhost' NULL db_datadict res_t40502 f1 SELECT NO
-'user_1'@'localhost' NULL db_datadict res_t40502 f2 UPDATE NO
-'user_1'@'localhost' NULL db_datadict res_t40502 f3 SELECT NO
-'user_2'@'localhost' NULL db_datadict res_t40502 f2 SELECT NO
-'user_3'@'localhost' NULL db_datadict res_t40502 f3 SELECT YES
-
-FIXME: Check it is correct that the following GRANT changes ALL privs that user_1 has
--------------------------------------------------------------------------------------
-GRANT UPDATE(f3) ON db_datadict.res_t40502 TO 'user_1'@'localhost' WITH GRANT OPTION;
-SELECT * FROM information_schema.column_privileges
-WHERE grantee LIKE "'user%"
- ORDER BY grantee, table_name, column_name, privilege_type;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL db_datadict res_t40502 f1 INSERT YES
-'user_1'@'localhost' NULL db_datadict res_t40502 f1 SELECT YES
-'user_1'@'localhost' NULL db_datadict res_t40502 f2 UPDATE YES
-'user_1'@'localhost' NULL db_datadict res_t40502 f3 SELECT YES
-'user_1'@'localhost' NULL db_datadict res_t40502 f3 UPDATE YES
-'user_2'@'localhost' NULL db_datadict res_t40502 f2 SELECT NO
-'user_3'@'localhost' NULL db_datadict res_t40502 f3 SELECT YES
-FLUSH PRIVILEGES;
-connect(localhost,user_1,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.column_privileges
-WHERE grantee LIKE "'user%"
- ORDER BY grantee, table_name, column_name, privilege_type;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL db_datadict res_t40502 f1 INSERT YES
-'user_1'@'localhost' NULL db_datadict res_t40502 f1 SELECT YES
-'user_1'@'localhost' NULL db_datadict res_t40502 f2 UPDATE YES
-'user_1'@'localhost' NULL db_datadict res_t40502 f3 SELECT YES
-'user_1'@'localhost' NULL db_datadict res_t40502 f3 UPDATE YES
-connect(localhost,user_2,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.column_privileges
-WHERE grantee LIKE "'user%"
- ORDER BY grantee, table_name, column_name, privilege_type;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-'user_2'@'localhost' NULL db_datadict res_t40502 f2 SELECT NO
-connect(localhost,user_3,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-
-FIXME: check it is correct that granted TABLES doesn_t occur in COLUMN_PRIVILEGES
----------------------------------------------------------------------------------
-SELECT * FROM information_schema.table_privileges WHERE grantee LIKE "'user%";
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-'user_3'@'localhost' NULL db_datadict res_t40502 SELECT YES
-'user_3'@'localhost' NULL db_datadict res_t40502 INSERT YES
-SELECT * FROM information_schema.schema_privileges WHERE grantee LIKE "'user%";
-GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
-'user_3'@'localhost' NULL db_datadict SELECT NO
-'user_3'@'localhost' NULL db_datadict INSERT NO
-'user_3'@'localhost' NULL db_datadict UPDATE NO
-'user_3'@'localhost' NULL db_datadict DELETE NO
-'user_3'@'localhost' NULL db_datadict CREATE NO
-'user_3'@'localhost' NULL db_datadict DROP NO
-'user_3'@'localhost' NULL db_datadict REFERENCES NO
-'user_3'@'localhost' NULL db_datadict INDEX NO
-'user_3'@'localhost' NULL db_datadict ALTER NO
-'user_3'@'localhost' NULL db_datadict CREATE TEMPORARY TABLES NO
-'user_3'@'localhost' NULL db_datadict LOCK TABLES NO
-'user_3'@'localhost' NULL db_datadict EXECUTE NO
-'user_3'@'localhost' NULL db_datadict CREATE VIEW NO
-'user_3'@'localhost' NULL db_datadict SHOW VIEW NO
-'user_3'@'localhost' NULL db_datadict CREATE ROUTINE NO
-'user_3'@'localhost' NULL db_datadict ALTER ROUTINE NO
-'user_3'@'localhost' NULL db_datadict EVENT NO
-'user_3'@'localhost' NULL db_datadict TRIGGER NO
-SELECT * FROM information_schema.column_privileges
-WHERE grantee LIKE "'user%"
- ORDER BY grantee, table_name, column_name, privilege_type;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-'user_3'@'localhost' NULL db_datadict res_t40502 f3 SELECT YES
-GRANT SELECT(f1, f3) ON db_datadict.res_t40502 TO 'user_2'@'localhost';
-
-FIXME: check whether it is intended that *my* grants to others are *NOT* shown here
------------------------------------------------------------------------------------
-SELECT * FROM information_schema.column_privileges
-WHERE grantee LIKE "'user%"
- ORDER BY grantee, table_name, column_name, privilege_type;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-'user_3'@'localhost' NULL db_datadict res_t40502 f3 SELECT YES
-
-user_2@localhost db_datadict
-SELECT * FROM information_schema.column_privileges
-WHERE grantee LIKE "'user%"
- ORDER BY grantee, table_name, column_name, privilege_type;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
-'user_2'@'localhost' NULL db_datadict res_t40502 f1 SELECT NO
-'user_2'@'localhost' NULL db_datadict res_t40502 f2 SELECT NO
-'user_2'@'localhost' NULL db_datadict res_t40502 f3 SELECT NO
-
-root@localhost db_datadict
-DROP TABLE IF EXISTS db_datadict.res_t40502;
-DROP DATABASE IF EXISTS db_datadict;
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP USER 'user_3'@'localhost';
-
-Testcase 3.2.6.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC columns;
-Field Type Null Key Default Extra
-TABLE_CATALOG varchar(4096) YES NULL
-TABLE_SCHEMA varchar(64) NO
-TABLE_NAME varchar(64) NO
-COLUMN_NAME varchar(64) NO
-ORDINAL_POSITION bigint(21) unsigned NO 0
-COLUMN_DEFAULT longtext YES NULL
-IS_NULLABLE varchar(3) NO
-DATA_TYPE varchar(64) NO
-CHARACTER_MAXIMUM_LENGTH bigint(21) unsigned YES NULL
-CHARACTER_OCTET_LENGTH bigint(21) unsigned YES NULL
-NUMERIC_PRECISION bigint(21) unsigned YES NULL
-NUMERIC_SCALE bigint(21) unsigned YES NULL
-CHARACTER_SET_NAME varchar(64) YES NULL
-COLLATION_NAME varchar(64) YES NULL
-COLUMN_TYPE longtext NO
-COLUMN_KEY varchar(3) NO
-EXTRA varchar(20) NO
-PRIVILEGES varchar(80) NO
-COLUMN_COMMENT varchar(255) NO
-SHOW CREATE TABLE columns;
-Table Create Table
-COLUMNS CREATE TEMPORARY TABLE `COLUMNS` (
- `TABLE_CATALOG` varchar(4096) DEFAULT NULL,
- `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `TABLE_NAME` varchar(64) NOT NULL DEFAULT '',
- `COLUMN_NAME` varchar(64) NOT NULL DEFAULT '',
- `ORDINAL_POSITION` bigint(21) unsigned NOT NULL DEFAULT '0',
- `COLUMN_DEFAULT` longtext,
- `IS_NULLABLE` varchar(3) NOT NULL DEFAULT '',
- `DATA_TYPE` varchar(64) NOT NULL DEFAULT '',
- `CHARACTER_MAXIMUM_LENGTH` bigint(21) unsigned DEFAULT NULL,
- `CHARACTER_OCTET_LENGTH` bigint(21) unsigned DEFAULT NULL,
- `NUMERIC_PRECISION` bigint(21) unsigned DEFAULT NULL,
- `NUMERIC_SCALE` bigint(21) unsigned DEFAULT NULL,
- `CHARACTER_SET_NAME` varchar(64) DEFAULT NULL,
- `COLLATION_NAME` varchar(64) DEFAULT NULL,
- `COLUMN_TYPE` longtext NOT NULL,
- `COLUMN_KEY` varchar(3) NOT NULL DEFAULT '',
- `EXTRA` varchar(20) NOT NULL DEFAULT '',
- `PRIVILEGES` varchar(80) NOT NULL DEFAULT '',
- `COLUMN_COMMENT` varchar(255) NOT NULL DEFAULT ''
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'columns'
-ORDER BY ordinal_position;
-COUNT(*)
-19
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'columns'
-ORDER BY ordinal_position;
-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
-NULL information_schema COLUMNS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLUMN_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLUMN_TYPE 15 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema COLUMNS COLUMN_KEY 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLUMNS EXTRA 17 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema COLUMNS PRIVILEGES 18 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema COLUMNS COLUMN_COMMENT 19 NO varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
-
-Testcase 3.2.6.2 + 3.2.6.3:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-CREATE DATABASE db_datadict;
-CREATE USER 'user_1'@'localhost';
-CREATE USER 'user_2'@'localhost';
-USE db_datadict;
-create table t_6_406001(f1 char(10), f2 text, f3 date, f4 int);
-grant select(f1, f2) on db_datadict.t_6_406001 to 'user_1'@'localhost';
-create table t_6_406002(f1 char(10), f2 text, f3 date, f4 int);
-GRANT INSERT(f1, f2) ON db_datadict.t_6_406002 TO 'user_2'@'localhost';
-FLUSH PRIVILEGES;
-SELECT * FROM information_schema.columns
-ORDER BY table_schema, table_name, ordinal_position;
-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
-NULL db_datadict t_6_406001 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select,insert,update,references
-NULL db_datadict t_6_406001 f2 2 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references
-NULL db_datadict t_6_406001 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL db_datadict t_6_406001 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL db_datadict t_6_406002 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select,insert,update,references
-NULL db_datadict t_6_406002 f2 2 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references
-NULL db_datadict t_6_406002 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL db_datadict t_6_406002 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema CHARACTER_SETS DESCRIPTION 3 NO varchar 60 180 NULL NULL utf8 utf8_general_ci varchar(60) select
-NULL information_schema CHARACTER_SETS MAXLEN 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema COLLATIONS COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATIONS CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATIONS ID 3 0 NO bigint NULL NULL 19 0 NULL NULL bigint(11) select
-NULL information_schema COLLATIONS IS_DEFAULT 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLLATIONS IS_COMPILED 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLLATIONS SORTLEN 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLUMN_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLUMN_TYPE 15 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema COLUMNS COLUMN_KEY 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLUMNS EXTRA 17 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema COLUMNS PRIVILEGES 18 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema COLUMNS COLUMN_COMMENT 19 NO varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
-NULL information_schema COLUMN_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES COLUMN_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES PRIVILEGE_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES IS_GRANTABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ENGINES ENGINE 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ENGINES SUPPORT 2 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema ENGINES COMMENT 3 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema ENGINES TRANSACTIONS 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ENGINES XA 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ENGINES SAVEPOINTS 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema EVENTS EVENT_CATALOG 1 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS EVENT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS EVENT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS DEFINER 4 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
-NULL information_schema EVENTS TIME_ZONE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS EVENT_BODY 6 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema EVENTS EVENT_DEFINITION 7 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema EVENTS EVENT_TYPE 8 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
-NULL information_schema EVENTS EXECUTE_AT 9 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS INTERVAL_VALUE 10 NULL YES varchar 256 768 NULL NULL utf8 utf8_general_ci varchar(256) select
-NULL information_schema EVENTS INTERVAL_FIELD 11 NULL YES varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select
-NULL information_schema EVENTS SQL_MODE 12 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema EVENTS STARTS 13 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS ENDS 14 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS STATUS 15 NO varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select
-NULL information_schema EVENTS ON_COMPLETION 16 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema EVENTS CREATED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS LAST_ALTERED 18 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS LAST_EXECUTED 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS EVENT_COMMENT 20 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS ORIGINATOR 21 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select
-NULL information_schema FILES FILE_ID 1 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES FILE_NAME 2 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES FILE_TYPE 3 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema FILES TABLESPACE_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES TABLE_CATALOG 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES TABLE_SCHEMA 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES TABLE_NAME 7 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES LOGFILE_GROUP_NAME 8 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES LOGFILE_GROUP_NUMBER 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES ENGINE 10 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES FULLTEXT_KEYS 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES DELETED_ROWS 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES UPDATE_COUNT 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES FREE_EXTENTS 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES TOTAL_EXTENTS 15 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES EXTENT_SIZE 16 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES INITIAL_SIZE 17 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES MAXIMUM_SIZE 18 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES AUTOEXTEND_SIZE 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES CREATION_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES LAST_UPDATE_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES LAST_ACCESS_TIME 22 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES RECOVER_TIME 23 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES TRANSACTION_COUNTER 24 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES VERSION 25 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES ROW_FORMAT 26 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema FILES TABLE_ROWS 27 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES AVG_ROW_LENGTH 28 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES DATA_LENGTH 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES MAX_DATA_LENGTH 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES INDEX_LENGTH 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES DATA_FREE 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES CREATE_TIME 33 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES UPDATE_TIME 34 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES CHECK_TIME 35 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES CHECKSUM 36 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES STATUS 37 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema FILES EXTRA 38 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
-NULL information_schema GLOBAL_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema GLOBAL_STATUS VARIABLE_VALUE 2 0.0000000 NO decimal NULL NULL 22 7 NULL NULL decimal(22,7) select
-NULL information_schema GLOBAL_VARIABLES VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema GLOBAL_VARIABLES VARIABLE_VALUE 2 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE COLUMN_NAME 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE ORDINAL_POSITION 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select
-NULL information_schema KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(10) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_NAME 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME 12 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema PARTITIONS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS PARTITION_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS SUBPARTITION_NAME 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION 7 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS PARTITION_METHOD 8 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema PARTITIONS SUBPARTITION_METHOD 9 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema PARTITIONS PARTITION_EXPRESSION 10 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PARTITIONS SUBPARTITION_EXPRESSION 11 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PARTITIONS PARTITION_DESCRIPTION 12 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PARTITIONS TABLE_ROWS 13 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS AVG_ROW_LENGTH 14 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS DATA_LENGTH 15 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS MAX_DATA_LENGTH 16 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS INDEX_LENGTH 17 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS DATA_FREE 18 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS CREATE_TIME 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema PARTITIONS UPDATE_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema PARTITIONS CHECK_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema PARTITIONS CHECKSUM 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS PARTITION_COMMENT 23 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema PARTITIONS NODEGROUP 24 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema PARTITIONS TABLESPACE_NAME 25 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_VERSION 2 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema PLUGINS PLUGIN_STATUS 3 NO varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema PLUGINS PLUGIN_TYPE 4 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema PLUGINS PLUGIN_TYPE_VERSION 5 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema PLUGINS PLUGIN_LIBRARY 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_LIBRARY_VERSION 7 NULL YES varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema PLUGINS PLUGIN_AUTHOR 8 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_DESCRIPTION 9 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PLUGINS PLUGIN_LICENSE 10 NULL YES varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema PROCESSLIST ID 1 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema PROCESSLIST USER 2 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema PROCESSLIST HOST 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PROCESSLIST DB 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PROCESSLIST COMMAND 5 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema PROCESSLIST TIME 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(7) select
-NULL information_schema PROCESSLIST STATE 7 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PROCESSLIST INFO 8 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS MATCH_OPTION 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UPDATE_RULE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS DELETE_RULE 9 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS TABLE_NAME 10 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS REFERENCED_TABLE_NAME 11 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES SPECIFIC_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema ROUTINES ROUTINE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_TYPE 5 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
-NULL information_schema ROUTINES DTD_IDENTIFIER 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_BODY 7 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema ROUTINES ROUTINE_DEFINITION 8 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema ROUTINES EXTERNAL_NAME 9 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES EXTERNAL_LANGUAGE 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES PARAMETER_STYLE 11 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema ROUTINES IS_DETERMINISTIC 12 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ROUTINES SQL_DATA_ACCESS 13 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES SQL_PATH 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES SECURITY_TYPE 15 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select
-NULL information_schema ROUTINES CREATED 16 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema ROUTINES LAST_ALTERED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema ROUTINES SQL_MODE 18 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema ROUTINES ROUTINE_COMMENT 19 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES DEFINER 20 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
-NULL information_schema SCHEMATA CATALOG_NAME 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema SCHEMATA SCHEMA_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA DEFAULT_COLLATION_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA SQL_PATH 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema SCHEMA_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema SCHEMA_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMA_PRIVILEGES IS_GRANTABLE 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema SESSION_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SESSION_STATUS VARIABLE_VALUE 2 0.0000000 NO decimal NULL NULL 22 7 NULL NULL decimal(22,7) select
-NULL information_schema SESSION_VARIABLES VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SESSION_VARIABLES VARIABLE_VALUE 2 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema STATISTICS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema STATISTICS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS NON_UNIQUE 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(1) select
-NULL information_schema STATISTICS INDEX_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS INDEX_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS SEQ_IN_INDEX 7 0 NO bigint NULL NULL 19 0 NULL NULL bigint(2) select
-NULL information_schema STATISTICS COLUMN_NAME 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS COLLATION 9 NULL YES varchar 1 3 NULL NULL utf8 utf8_general_ci varchar(1) select
-NULL information_schema STATISTICS CARDINALITY 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select
-NULL information_schema STATISTICS SUB_PART 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema STATISTICS PACKED 12 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema STATISTICS NULLABLE 13 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema STATISTICS INDEX_TYPE 14 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema STATISTICS COMMENT 15 NULL YES varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema TABLES TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
-NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS TABLE_SCHEMA 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS TABLE_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema TABLE_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLE_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES PRIVILEGE_TYPE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES IS_GRANTABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema TRIGGERS TRIGGER_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TRIGGERS TRIGGER_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS TRIGGER_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS EVENT_MANIPULATION 4 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select
-NULL information_schema TRIGGERS EVENT_OBJECT_CATALOG 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TRIGGERS EVENT_OBJECT_SCHEMA 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS EVENT_OBJECT_TABLE 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_ORDER 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema TRIGGERS ACTION_CONDITION 9 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS ACTION_STATEMENT 10 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS ACTION_ORIENTATION 11 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
-NULL information_schema TRIGGERS ACTION_TIMING 12 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_TABLE 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_TABLE 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_ROW 15 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_ROW 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema TRIGGERS CREATED 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TRIGGERS SQL_MODE 18 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS DEFINER 19 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema USER_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema USER_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema USER_PRIVILEGES PRIVILEGE_TYPE 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema USER_PRIVILEGES IS_GRANTABLE 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema VIEWS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema VIEWS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema VIEWS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema VIEWS VIEW_DEFINITION 4 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema VIEWS CHECK_OPTION 5 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema VIEWS IS_UPDATABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema VIEWS DEFINER 7 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
-NULL information_schema VIEWS SECURITY_TYPE 8 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select
-NULL mysql columns_priv Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
-NULL mysql columns_priv Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql columns_priv User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
-NULL mysql columns_priv Table_name 4 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql columns_priv Column_name 5 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql columns_priv Timestamp 6 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql columns_priv Column_priv 7 NO set 31 93 NULL NULL utf8 utf8_general_ci set('Select','Insert','Update','References') select,insert,update,references
-NULL mysql db Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
-NULL mysql db Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql db User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
-NULL mysql db Select_priv 4 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Insert_priv 5 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Update_priv 6 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Delete_priv 7 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Create_priv 8 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Drop_priv 9 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Grant_priv 10 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db References_priv 11 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Index_priv 12 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Alter_priv 13 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Create_tmp_table_priv 14 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Lock_tables_priv 15 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Create_view_priv 16 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Show_view_priv 17 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Create_routine_priv 18 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Alter_routine_priv 19 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Execute_priv 20 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Event_priv 21 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql db Trigger_priv 22 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql event db 1 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql event name 2 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) PRI select,insert,update,references
-NULL mysql event body 3 NULL NO longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references
-NULL mysql event definer 4 NO char 77 231 NULL NULL utf8 utf8_bin char(77) select,insert,update,references
-NULL mysql event execute_at 5 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL mysql event interval_value 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql event interval_field 7 NULL YES enum 18 54 NULL NULL utf8 utf8_general_ci enum('YEAR','QUARTER','MONTH','DAY','HOUR','MINUTE','WEEK','SECOND','MICROSECOND','YEAR_MONTH','DAY_HOUR','DAY_MINUTE','DAY_SECOND','HOUR_MINUTE','HOUR_SECOND','MINUTE_SECOND','DAY_MICROSECOND','HOUR_MICROSECOND','MINUTE_MICROSECOND','SECOND_MICROSECOND') select,insert,update,references
-NULL mysql event created 8 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql event modified 9 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql event last_executed 10 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL mysql event starts 11 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL mysql event ends 12 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL mysql event status 13 ENABLED NO enum 18 54 NULL NULL utf8 utf8_general_ci enum('ENABLED','DISABLED','SLAVESIDE_DISABLED') select,insert,update,references
-NULL mysql event on_completion 14 DROP NO enum 8 24 NULL NULL utf8 utf8_general_ci enum('DROP','PRESERVE') select,insert,update,references
-NULL mysql event sql_mode 15 NO set 431 1293 NULL NULL utf8 utf8_general_ci set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE') select,insert,update,references
-NULL mysql event comment 16 NO char 64 192 NULL NULL utf8 utf8_bin char(64) select,insert,update,references
-NULL mysql event originator 17 NULL NO int NULL NULL 10 0 NULL NULL int(10) select,insert,update,references
-NULL mysql event time_zone 18 SYSTEM NO char 64 64 NULL NULL latin1 latin1_swedish_ci char(64) select,insert,update,references
-NULL mysql func name 1 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql func ret 2 0 NO tinyint NULL NULL 3 0 NULL NULL tinyint(1) select,insert,update,references
-NULL mysql func dl 3 NO char 128 384 NULL NULL utf8 utf8_bin char(128) select,insert,update,references
-NULL mysql func type 4 NULL NO enum 9 27 NULL NULL utf8 utf8_general_ci enum('function','aggregate') select,insert,update,references
-NULL mysql general_log event_time 1 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql general_log user_host 2 NULL YES mediumtext 16777215 16777215 NULL NULL utf8 utf8_general_ci mediumtext select,insert,update,references
-NULL mysql general_log thread_id 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql general_log server_id 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql general_log command_type 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references
-NULL mysql general_log argument 6 NULL YES mediumtext 16777215 16777215 NULL NULL utf8 utf8_general_ci mediumtext select,insert,update,references
-NULL mysql help_category help_category_id 1 NULL NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned PRI select,insert,update,references
-NULL mysql help_category name 2 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) UNI select,insert,update,references
-NULL mysql help_category parent_category_id 3 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references
-NULL mysql help_category url 4 NULL NO char 128 384 NULL NULL utf8 utf8_general_ci char(128) select,insert,update,references
-NULL mysql help_keyword help_keyword_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references
-NULL mysql help_keyword name 2 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) UNI select,insert,update,references
-NULL mysql help_relation help_topic_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references
-NULL mysql help_relation help_keyword_id 2 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references
-NULL mysql help_topic help_topic_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references
-NULL mysql help_topic name 2 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) UNI select,insert,update,references
-NULL mysql help_topic help_category_id 3 NULL NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references
-NULL mysql help_topic description 4 NULL NO text 65535 65535 NULL NULL utf8 utf8_general_ci text select,insert,update,references
-NULL mysql help_topic example 5 NULL NO text 65535 65535 NULL NULL utf8 utf8_general_ci text select,insert,update,references
-NULL mysql help_topic url 6 NULL NO char 128 384 NULL NULL utf8 utf8_general_ci char(128) select,insert,update,references
-NULL mysql host Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
-NULL mysql host Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql host Select_priv 3 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Insert_priv 4 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Update_priv 5 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Delete_priv 6 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Create_priv 7 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Drop_priv 8 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Grant_priv 9 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host References_priv 10 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Index_priv 11 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Alter_priv 12 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Create_tmp_table_priv 13 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Lock_tables_priv 14 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Create_view_priv 15 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Show_view_priv 16 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Create_routine_priv 17 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Alter_routine_priv 18 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Execute_priv 19 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql host Trigger_priv 20 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql ndb_apply_status server_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references
-NULL mysql ndb_apply_status epoch 2 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL mysql ndb_apply_status log_name 3 NULL NO varchar 255 255 NULL NULL latin1 latin1_bin varchar(255) select,insert,update,references
-NULL mysql ndb_apply_status start_pos 4 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL mysql ndb_apply_status end_pos 5 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL mysql ndb_binlog_index Position 1 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL mysql ndb_binlog_index File 2 NULL NO varchar 255 255 NULL NULL latin1 latin1_swedish_ci varchar(255) select,insert,update,references
-NULL mysql ndb_binlog_index epoch 3 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned PRI select,insert,update,references
-NULL mysql ndb_binlog_index inserts 4 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL mysql ndb_binlog_index updates 5 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL mysql ndb_binlog_index deletes 6 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL mysql ndb_binlog_index schemaops 7 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL mysql plugin name 1 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql plugin dl 2 NO char 128 384 NULL NULL utf8 utf8_bin char(128) select,insert,update,references
-NULL mysql proc db 1 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql proc name 2 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) PRI select,insert,update,references
-NULL mysql proc type 3 NULL NO enum 9 27 NULL NULL utf8 utf8_general_ci enum('FUNCTION','PROCEDURE') PRI select,insert,update,references
-NULL mysql proc specific_name 4 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql proc language 5 SQL NO enum 3 9 NULL NULL utf8 utf8_general_ci enum('SQL') select,insert,update,references
-NULL mysql proc sql_data_access 6 CONTAINS_SQL NO enum 17 51 NULL NULL utf8 utf8_general_ci enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA') select,insert,update,references
-NULL mysql proc is_deterministic 7 NO NO enum 3 9 NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references
-NULL mysql proc security_type 8 DEFINER NO enum 7 21 NULL NULL utf8 utf8_general_ci enum('INVOKER','DEFINER') select,insert,update,references
-NULL mysql proc param_list 9 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
-NULL mysql proc returns 10 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql proc body 11 NULL NO longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references
-NULL mysql proc definer 12 NO char 77 231 NULL NULL utf8 utf8_bin char(77) select,insert,update,references
-NULL mysql proc created 13 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql proc modified 14 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql proc sql_mode 15 NO set 431 1293 NULL NULL utf8 utf8_general_ci set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE') select,insert,update,references
-NULL mysql proc comment 16 NO char 64 192 NULL NULL utf8 utf8_bin char(64) select,insert,update,references
-NULL mysql procs_priv Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
-NULL mysql procs_priv Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql procs_priv User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
-NULL mysql procs_priv Routine_name 4 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql procs_priv Routine_type 5 NULL NO enum 9 27 NULL NULL utf8 utf8_bin enum('FUNCTION','PROCEDURE') PRI select,insert,update,references
-NULL mysql procs_priv Grantor 6 NO char 77 231 NULL NULL utf8 utf8_bin char(77) MUL select,insert,update,references
-NULL mysql procs_priv Proc_priv 7 NO set 27 81 NULL NULL utf8 utf8_general_ci set('Execute','Alter Routine','Grant') select,insert,update,references
-NULL mysql procs_priv Timestamp 8 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql servers Server_name 1 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) PRI select,insert,update,references
-NULL mysql servers Host 2 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql servers Db 3 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql servers Username 4 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql servers Password 5 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql servers Port 6 0 NO int NULL NULL 10 0 NULL NULL int(4) select,insert,update,references
-NULL mysql servers Socket 7 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql servers Wrapper 8 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql servers Owner 9 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
-NULL mysql slow_log start_time 1 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql slow_log user_host 2 NULL NO mediumtext 16777215 16777215 NULL NULL utf8 utf8_general_ci mediumtext select,insert,update,references
-NULL mysql slow_log query_time 3 NULL NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references
-NULL mysql slow_log lock_time 4 NULL NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references
-NULL mysql slow_log rows_sent 5 NULL NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql slow_log rows_examined 6 NULL NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql slow_log db 7 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select,insert,update,references
-NULL mysql slow_log last_insert_id 8 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql slow_log insert_id 9 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql slow_log server_id 10 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql slow_log sql_text 11 NULL NO mediumtext 16777215 16777215 NULL NULL utf8 utf8_general_ci mediumtext select,insert,update,references
-NULL mysql tables_priv Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
-NULL mysql tables_priv Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql tables_priv User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
-NULL mysql tables_priv Table_name 4 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references
-NULL mysql tables_priv Grantor 5 NO char 77 231 NULL NULL utf8 utf8_bin char(77) MUL select,insert,update,references
-NULL mysql tables_priv Timestamp 6 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL mysql tables_priv Table_priv 7 NO set 98 294 NULL NULL utf8 utf8_general_ci set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view','Trigger') select,insert,update,references
-NULL mysql tables_priv Column_priv 8 NO set 31 93 NULL NULL utf8 utf8_general_ci set('Select','Insert','Update','References') select,insert,update,references
-NULL mysql time_zone Time_zone_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI auto_increment select,insert,update,references
-NULL mysql time_zone Use_leap_seconds 2 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('Y','N') select,insert,update,references
-NULL mysql time_zone_leap_second Transition_time 1 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) PRI select,insert,update,references
-NULL mysql time_zone_leap_second Correction 2 NULL NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql time_zone_name Name 1 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) PRI select,insert,update,references
-NULL mysql time_zone_name Time_zone_id 2 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references
-NULL mysql time_zone_transition Time_zone_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references
-NULL mysql time_zone_transition Transition_time 2 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) PRI select,insert,update,references
-NULL mysql time_zone_transition Transition_type_id 3 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references
-NULL mysql time_zone_transition_type Time_zone_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references
-NULL 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
-NULL mysql time_zone_transition_type Offset 3 0 NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL mysql time_zone_transition_type Is_DST 4 0 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references
-NULL mysql time_zone_transition_type Abbreviation 5 NO char 8 24 NULL NULL utf8 utf8_general_ci char(8) select,insert,update,references
-NULL mysql user Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
-NULL mysql user User 2 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
-NULL mysql user Password 3 NO char 41 41 NULL NULL latin1 latin1_bin char(41) select,insert,update,references
-NULL mysql user Select_priv 4 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Insert_priv 5 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Update_priv 6 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Delete_priv 7 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Create_priv 8 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Drop_priv 9 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Reload_priv 10 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Shutdown_priv 11 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Process_priv 12 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user File_priv 13 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Grant_priv 14 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user References_priv 15 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Index_priv 16 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Alter_priv 17 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Show_db_priv 18 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Super_priv 19 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Create_tmp_table_priv 20 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Lock_tables_priv 21 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Execute_priv 22 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Repl_slave_priv 23 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Repl_client_priv 24 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Create_view_priv 25 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Show_view_priv 26 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Create_routine_priv 27 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Alter_routine_priv 28 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Create_user_priv 29 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Event_priv 30 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user Trigger_priv 31 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
-NULL mysql user ssl_type 32 NO enum 9 27 NULL NULL utf8 utf8_general_ci enum('','ANY','X509','SPECIFIED') select,insert,update,references
-NULL mysql user ssl_cipher 33 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
-NULL mysql user x509_issuer 34 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
-NULL mysql user x509_subject 35 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
-NULL mysql user max_questions 36 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references
-NULL mysql user max_updates 37 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references
-NULL mysql user max_connections 38 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references
-NULL mysql user max_user_connections 39 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references
-NULL test t1 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t1 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t1 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t1 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t1 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t1 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t10 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t10 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t10 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t10 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t10 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t10 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t11 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t11 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t11 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t11 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t11 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t11 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t2 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t2 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t2 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t2 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t2 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t2 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t3 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t3 f2 2 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t3 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t4 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t4 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t4 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t4 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t4 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t4 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t7 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t7 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t7 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t7 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t8 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t8 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t8 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t8 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t9 f1 1 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t9 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t9 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test tb1 f1 1 NULL YES char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
-NULL test tb1 f2 2 NULL YES char 1 1 NULL NULL latin1 latin1_bin char(1) select,insert,update,references
-NULL test tb1 f3 3 NULL YES char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
-NULL test tb1 f4 4 NULL YES tinytext 127 255 NULL NULL ucs2 ucs2_general_ci tinytext select,insert,update,references
-NULL test tb1 f5 5 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references
-NULL test tb1 f6 6 NULL YES mediumtext 16777215 16777215 NULL NULL latin1 latin1_swedish_ci mediumtext select,insert,update,references
-NULL test tb1 f7 7 NULL YES longtext 4294967295 4294967295 NULL NULL latin1 latin1_swedish_ci longtext select,insert,update,references
-NULL test tb1 f8 8 NULL YES tinyblob 255 255 NULL NULL NULL NULL tinyblob select,insert,update,references
-NULL test tb1 f9 9 NULL YES blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
-NULL test tb1 f10 10 NULL YES mediumblob 16777215 16777215 NULL NULL NULL NULL mediumblob select,insert,update,references
-NULL test tb1 f11 11 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references
-NULL test tb1 f12 12 NULL YES binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references
-NULL test tb1 f13 13 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references
-NULL test tb1 f14 14 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references
-NULL test tb1 f15 15 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb1 f16 16 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb1 f17 17 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references
-NULL test tb1 f18 18 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references
-NULL test tb1 f19 19 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb1 f20 20 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb1 f21 21 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references
-NULL test tb1 f22 22 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references
-NULL test tb1 f23 23 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb1 f24 24 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb1 f25 25 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test tb1 f26 26 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references
-NULL test tb1 f27 27 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb1 f28 28 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb1 f29 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references
-NULL test tb1 f30 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL test tb1 f31 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb1 f32 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb1 f33 33 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f34 34 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f35 35 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f36 36 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f37 37 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f38 38 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb1 f39 39 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f40 40 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb1 f41 41 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f42 42 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f43 43 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f44 44 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f45 45 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f46 46 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb1 f47 47 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f48 48 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb1 f49 49 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f50 50 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb1 f51 51 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f52 52 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb1 f53 53 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f54 54 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f55 55 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f56 56 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f57 57 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f58 58 99 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb2 f59 1 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb2 f60 2 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb2 f61 3 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f62 4 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f63 5 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f64 6 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f65 7 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb2 f66 8 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb2 f67 9 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb2 f68 10 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb2 f69 11 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f70 12 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb2 f71 13 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f72 14 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb2 f73 15 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb2 f74 16 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb2 f75 17 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f76 18 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f77 19 7.7 YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb2 f78 20 7.7 YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb2 f79 21 00000000000000000007.7 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f80 22 00000000000000000008.8 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f81 23 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f82 24 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f83 25 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f84 26 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f85 27 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f86 28 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f87 29 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f88 30 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f89 31 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f90 32 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f91 33 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f92 34 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f93 35 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f94 36 8.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb2 f95 37 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f96 38 8.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb2 f97 39 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f98 40 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f99 41 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f100 42 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f101 43 2000-01-01 NO date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test tb2 f102 44 00:00:20 NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references
-NULL test tb2 f103 45 0002-02-02 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL test tb2 f104 46 2000-12-31 23:59:59 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL test tb2 f105 47 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb2 f106 48 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb2 f107 49 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb2 f108 50 1enum NO enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references
-NULL test tb2 f109 51 1set NO set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references
-NULL test tb2 f110 52 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
-NULL test tb2 f111 53 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references
-NULL test tb2 f112 54 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
-NULL test tb2 f113 55 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
-NULL test tb2 f114 56 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
-NULL test tb2 f115 57 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references
-NULL test tb2 f116 58 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
-NULL test tb2 f117 59 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
-NULL test tb3 f118 1 a NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
-NULL test tb3 f119 2  NO char 1 1 NULL NULL latin1 latin1_bin char(1) select,insert,update,references
-NULL test tb3 f120 3  NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
-NULL test tb3 f121 4 NULL YES tinytext 255 255 NULL NULL latin1 latin1_swedish_ci tinytext select,insert,update,references
-NULL test tb3 f122 5 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references
-NULL test tb3 f123 6 NULL YES mediumtext 16777215 16777215 NULL NULL latin1 latin1_swedish_ci mediumtext select,insert,update,references
-NULL test tb3 f124 7 NULL YES longtext 2147483647 4294967295 NULL NULL ucs2 ucs2_general_ci longtext select,insert,update,references
-NULL test tb3 f125 8 NULL YES tinyblob 255 255 NULL NULL NULL NULL tinyblob select,insert,update,references
-NULL test tb3 f126 9 NULL YES blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
-NULL test tb3 f127 10 NULL YES mediumblob 16777215 16777215 NULL NULL NULL NULL mediumblob select,insert,update,references
-NULL test tb3 f128 11 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references
-NULL test tb3 f129 12  NO binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references
-NULL test tb3 f130 13 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references
-NULL test tb3 f131 14 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references
-NULL test tb3 f132 15 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb3 f133 16 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb3 f134 17 999 NO smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references
-NULL test tb3 f135 18 999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references
-NULL test tb3 f136 19 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb3 f137 20 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb3 f138 21 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references
-NULL test tb3 f139 22 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references
-NULL test tb3 f140 23 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb3 f141 24 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb3 f142 25 99999 NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test tb3 f143 26 99999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references
-NULL test tb3 f144 27 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb3 f145 28 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb3 f146 29 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references
-NULL test tb3 f147 30 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL test tb3 f148 31 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb3 f149 32 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb3 f150 33 1000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f151 34 999 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f152 35 0000001000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f153 36 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f154 37 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f155 38 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb3 f156 39 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f157 40 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb3 f158 41 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f159 42 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f160 43 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f161 44 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f162 45 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f163 46 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb3 f164 47 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f165 48 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb3 f166 49 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f167 50 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb3 f168 51 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f169 52 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb3 f170 53 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f171 54 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f172 55 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f173 56 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f174 57 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f175 58 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb4 f176 1 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb4 f177 2 9 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb4 f178 3 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f179 4 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f180 5 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f181 6 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f182 7 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb4 f183 8 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb4 f184 9 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb4 f185 10 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb4 f186 11 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f187 12 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb4 f188 13 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f189 14 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb4 f190 15 88.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb4 f191 16 88.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb4 f192 17 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f193 18 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f194 19 55.5 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb4 f195 20 55.5 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb4 f196 21 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f197 22 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f198 23 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f199 24 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f200 25 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f201 26 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f202 27 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f203 28 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f204 29 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f205 30 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f206 31 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f207 32 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f208 33 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f209 34 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f210 35 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f211 36 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb4 f212 37 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f213 38 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb4 f214 39 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f215 40 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f216 41 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f217 42 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f218 43 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test tb4 f219 44 NULL YES time NULL NULL NULL NULL NULL NULL time select,insert,update,references
-NULL test tb4 f220 45 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL test tb4 f221 46 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL test tb4 f222 47 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb4 f223 48 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb4 f224 49 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb4 f225 50 NULL YES enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references
-NULL test tb4 f226 51 NULL YES set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references
-NULL test tb4 f227 52 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
-NULL test tb4 f228 53 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references
-NULL test tb4 f229 54 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
-NULL test tb4 f230 55 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
-NULL test tb4 f231 56 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
-NULL test tb4 f232 57 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references
-NULL test tb4 f233 58 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
-NULL test tb4 f234 59 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
-NULL test tb4 f235 60 NULL YES char 255 510 NULL NULL ucs2 ucs2_general_ci char(255) select,insert,update,references
-NULL test tb4 f236 61 NULL YES char 60 60 NULL NULL latin1 latin1_swedish_ci char(60) select,insert,update,references
-NULL test tb4 f237 62 NULL YES char 255 255 NULL NULL latin1 latin1_bin char(255) select,insert,update,references
-NULL test tb4 f238 63 NULL YES varchar 0 0 NULL NULL latin1 latin1_bin varchar(0) select,insert,update,references
-NULL test tb4 f239 64 NULL YES varbinary 1000 1000 NULL NULL NULL NULL varbinary(1000) select,insert,update,references
-NULL test tb4 f240 65 NULL YES varchar 120 240 NULL NULL ucs2 ucs2_general_ci varchar(120) select,insert,update,references
-NULL test tb4 f241 66 NULL YES char 100 200 NULL NULL ucs2 ucs2_general_ci char(100) select,insert,update,references
-NULL test tb4 f242 67 NULL YES bit NULL NULL 30 NULL NULL NULL bit(30) select,insert,update,references
-NULL test4 t6 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test4 t6 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test4 t6 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test4 t6 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test4 t6 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test4 t6 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-connect(localhost,user_1,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.columns
-ORDER BY table_schema, table_name, ordinal_position;
-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
-NULL db_datadict t_6_406001 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select
-NULL db_datadict t_6_406001 f2 2 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select
-NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema CHARACTER_SETS DESCRIPTION 3 NO varchar 60 180 NULL NULL utf8 utf8_general_ci varchar(60) select
-NULL information_schema CHARACTER_SETS MAXLEN 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema COLLATIONS COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATIONS CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATIONS ID 3 0 NO bigint NULL NULL 19 0 NULL NULL bigint(11) select
-NULL information_schema COLLATIONS IS_DEFAULT 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLLATIONS IS_COMPILED 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLLATIONS SORTLEN 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLUMN_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLUMN_TYPE 15 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema COLUMNS COLUMN_KEY 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLUMNS EXTRA 17 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema COLUMNS PRIVILEGES 18 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema COLUMNS COLUMN_COMMENT 19 NO varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
-NULL information_schema COLUMN_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES COLUMN_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES PRIVILEGE_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES IS_GRANTABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ENGINES ENGINE 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ENGINES SUPPORT 2 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema ENGINES COMMENT 3 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema ENGINES TRANSACTIONS 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ENGINES XA 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ENGINES SAVEPOINTS 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema EVENTS EVENT_CATALOG 1 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS EVENT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS EVENT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS DEFINER 4 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
-NULL information_schema EVENTS TIME_ZONE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS EVENT_BODY 6 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema EVENTS EVENT_DEFINITION 7 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema EVENTS EVENT_TYPE 8 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
-NULL information_schema EVENTS EXECUTE_AT 9 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS INTERVAL_VALUE 10 NULL YES varchar 256 768 NULL NULL utf8 utf8_general_ci varchar(256) select
-NULL information_schema EVENTS INTERVAL_FIELD 11 NULL YES varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select
-NULL information_schema EVENTS SQL_MODE 12 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema EVENTS STARTS 13 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS ENDS 14 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS STATUS 15 NO varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select
-NULL information_schema EVENTS ON_COMPLETION 16 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema EVENTS CREATED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS LAST_ALTERED 18 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS LAST_EXECUTED 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS EVENT_COMMENT 20 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS ORIGINATOR 21 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select
-NULL information_schema FILES FILE_ID 1 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES FILE_NAME 2 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES FILE_TYPE 3 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema FILES TABLESPACE_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES TABLE_CATALOG 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES TABLE_SCHEMA 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES TABLE_NAME 7 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES LOGFILE_GROUP_NAME 8 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES LOGFILE_GROUP_NUMBER 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES ENGINE 10 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES FULLTEXT_KEYS 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES DELETED_ROWS 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES UPDATE_COUNT 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES FREE_EXTENTS 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES TOTAL_EXTENTS 15 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES EXTENT_SIZE 16 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES INITIAL_SIZE 17 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES MAXIMUM_SIZE 18 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES AUTOEXTEND_SIZE 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES CREATION_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES LAST_UPDATE_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES LAST_ACCESS_TIME 22 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES RECOVER_TIME 23 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES TRANSACTION_COUNTER 24 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES VERSION 25 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES ROW_FORMAT 26 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema FILES TABLE_ROWS 27 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES AVG_ROW_LENGTH 28 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES DATA_LENGTH 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES MAX_DATA_LENGTH 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES INDEX_LENGTH 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES DATA_FREE 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES CREATE_TIME 33 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES UPDATE_TIME 34 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES CHECK_TIME 35 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES CHECKSUM 36 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES STATUS 37 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema FILES EXTRA 38 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
-NULL information_schema GLOBAL_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema GLOBAL_STATUS VARIABLE_VALUE 2 0.0000000 NO decimal NULL NULL 22 7 NULL NULL decimal(22,7) select
-NULL information_schema GLOBAL_VARIABLES VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema GLOBAL_VARIABLES VARIABLE_VALUE 2 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE COLUMN_NAME 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE ORDINAL_POSITION 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select
-NULL information_schema KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(10) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_NAME 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME 12 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema PARTITIONS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS PARTITION_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS SUBPARTITION_NAME 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION 7 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS PARTITION_METHOD 8 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema PARTITIONS SUBPARTITION_METHOD 9 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema PARTITIONS PARTITION_EXPRESSION 10 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PARTITIONS SUBPARTITION_EXPRESSION 11 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PARTITIONS PARTITION_DESCRIPTION 12 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PARTITIONS TABLE_ROWS 13 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS AVG_ROW_LENGTH 14 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS DATA_LENGTH 15 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS MAX_DATA_LENGTH 16 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS INDEX_LENGTH 17 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS DATA_FREE 18 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS CREATE_TIME 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema PARTITIONS UPDATE_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema PARTITIONS CHECK_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema PARTITIONS CHECKSUM 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS PARTITION_COMMENT 23 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema PARTITIONS NODEGROUP 24 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema PARTITIONS TABLESPACE_NAME 25 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_VERSION 2 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema PLUGINS PLUGIN_STATUS 3 NO varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema PLUGINS PLUGIN_TYPE 4 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema PLUGINS PLUGIN_TYPE_VERSION 5 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema PLUGINS PLUGIN_LIBRARY 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_LIBRARY_VERSION 7 NULL YES varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema PLUGINS PLUGIN_AUTHOR 8 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_DESCRIPTION 9 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PLUGINS PLUGIN_LICENSE 10 NULL YES varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema PROCESSLIST ID 1 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema PROCESSLIST USER 2 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema PROCESSLIST HOST 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PROCESSLIST DB 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PROCESSLIST COMMAND 5 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema PROCESSLIST TIME 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(7) select
-NULL information_schema PROCESSLIST STATE 7 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PROCESSLIST INFO 8 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS MATCH_OPTION 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UPDATE_RULE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS DELETE_RULE 9 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS TABLE_NAME 10 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS REFERENCED_TABLE_NAME 11 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES SPECIFIC_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema ROUTINES ROUTINE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_TYPE 5 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
-NULL information_schema ROUTINES DTD_IDENTIFIER 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_BODY 7 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema ROUTINES ROUTINE_DEFINITION 8 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema ROUTINES EXTERNAL_NAME 9 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES EXTERNAL_LANGUAGE 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES PARAMETER_STYLE 11 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema ROUTINES IS_DETERMINISTIC 12 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ROUTINES SQL_DATA_ACCESS 13 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES SQL_PATH 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES SECURITY_TYPE 15 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select
-NULL information_schema ROUTINES CREATED 16 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema ROUTINES LAST_ALTERED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema ROUTINES SQL_MODE 18 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema ROUTINES ROUTINE_COMMENT 19 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES DEFINER 20 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
-NULL information_schema SCHEMATA CATALOG_NAME 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema SCHEMATA SCHEMA_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA DEFAULT_COLLATION_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA SQL_PATH 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema SCHEMA_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema SCHEMA_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMA_PRIVILEGES IS_GRANTABLE 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema SESSION_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SESSION_STATUS VARIABLE_VALUE 2 0.0000000 NO decimal NULL NULL 22 7 NULL NULL decimal(22,7) select
-NULL information_schema SESSION_VARIABLES VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SESSION_VARIABLES VARIABLE_VALUE 2 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema STATISTICS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema STATISTICS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS NON_UNIQUE 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(1) select
-NULL information_schema STATISTICS INDEX_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS INDEX_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS SEQ_IN_INDEX 7 0 NO bigint NULL NULL 19 0 NULL NULL bigint(2) select
-NULL information_schema STATISTICS COLUMN_NAME 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS COLLATION 9 NULL YES varchar 1 3 NULL NULL utf8 utf8_general_ci varchar(1) select
-NULL information_schema STATISTICS CARDINALITY 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select
-NULL information_schema STATISTICS SUB_PART 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema STATISTICS PACKED 12 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema STATISTICS NULLABLE 13 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema STATISTICS INDEX_TYPE 14 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema STATISTICS COMMENT 15 NULL YES varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema TABLES TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
-NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS TABLE_SCHEMA 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS TABLE_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema TABLE_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLE_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES PRIVILEGE_TYPE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES IS_GRANTABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema TRIGGERS TRIGGER_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TRIGGERS TRIGGER_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS TRIGGER_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS EVENT_MANIPULATION 4 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select
-NULL information_schema TRIGGERS EVENT_OBJECT_CATALOG 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TRIGGERS EVENT_OBJECT_SCHEMA 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS EVENT_OBJECT_TABLE 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_ORDER 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema TRIGGERS ACTION_CONDITION 9 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS ACTION_STATEMENT 10 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS ACTION_ORIENTATION 11 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
-NULL information_schema TRIGGERS ACTION_TIMING 12 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_TABLE 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_TABLE 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_ROW 15 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_ROW 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema TRIGGERS CREATED 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TRIGGERS SQL_MODE 18 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS DEFINER 19 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema USER_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema USER_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema USER_PRIVILEGES PRIVILEGE_TYPE 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema USER_PRIVILEGES IS_GRANTABLE 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema VIEWS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema VIEWS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema VIEWS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema VIEWS VIEW_DEFINITION 4 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema VIEWS CHECK_OPTION 5 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema VIEWS IS_UPDATABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema VIEWS DEFINER 7 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
-NULL information_schema VIEWS SECURITY_TYPE 8 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select
-NULL test t1 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t1 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t1 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t1 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t1 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t1 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t10 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t10 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t10 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t10 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t10 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t10 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t11 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t11 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t11 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t11 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t11 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t11 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t2 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t2 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t2 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t2 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t2 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t2 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t3 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t3 f2 2 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t3 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t4 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t4 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t4 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t4 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t4 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t4 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t7 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t7 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t7 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t7 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t8 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t8 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t8 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t8 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t9 f1 1 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t9 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t9 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test tb1 f1 1 NULL YES char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
-NULL test tb1 f2 2 NULL YES char 1 1 NULL NULL latin1 latin1_bin char(1) select,insert,update,references
-NULL test tb1 f3 3 NULL YES char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
-NULL test tb1 f4 4 NULL YES tinytext 127 255 NULL NULL ucs2 ucs2_general_ci tinytext select,insert,update,references
-NULL test tb1 f5 5 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references
-NULL test tb1 f6 6 NULL YES mediumtext 16777215 16777215 NULL NULL latin1 latin1_swedish_ci mediumtext select,insert,update,references
-NULL test tb1 f7 7 NULL YES longtext 4294967295 4294967295 NULL NULL latin1 latin1_swedish_ci longtext select,insert,update,references
-NULL test tb1 f8 8 NULL YES tinyblob 255 255 NULL NULL NULL NULL tinyblob select,insert,update,references
-NULL test tb1 f9 9 NULL YES blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
-NULL test tb1 f10 10 NULL YES mediumblob 16777215 16777215 NULL NULL NULL NULL mediumblob select,insert,update,references
-NULL test tb1 f11 11 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references
-NULL test tb1 f12 12 NULL YES binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references
-NULL test tb1 f13 13 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references
-NULL test tb1 f14 14 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references
-NULL test tb1 f15 15 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb1 f16 16 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb1 f17 17 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references
-NULL test tb1 f18 18 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references
-NULL test tb1 f19 19 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb1 f20 20 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb1 f21 21 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references
-NULL test tb1 f22 22 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references
-NULL test tb1 f23 23 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb1 f24 24 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb1 f25 25 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test tb1 f26 26 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references
-NULL test tb1 f27 27 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb1 f28 28 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb1 f29 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references
-NULL test tb1 f30 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL test tb1 f31 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb1 f32 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb1 f33 33 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f34 34 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f35 35 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f36 36 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f37 37 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f38 38 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb1 f39 39 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f40 40 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb1 f41 41 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f42 42 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f43 43 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f44 44 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f45 45 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f46 46 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb1 f47 47 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f48 48 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb1 f49 49 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f50 50 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb1 f51 51 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f52 52 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb1 f53 53 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f54 54 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f55 55 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f56 56 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f57 57 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f58 58 99 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb2 f59 1 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb2 f60 2 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb2 f61 3 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f62 4 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f63 5 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f64 6 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f65 7 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb2 f66 8 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb2 f67 9 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb2 f68 10 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb2 f69 11 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f70 12 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb2 f71 13 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f72 14 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb2 f73 15 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb2 f74 16 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb2 f75 17 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f76 18 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f77 19 7.7 YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb2 f78 20 7.7 YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb2 f79 21 00000000000000000007.7 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f80 22 00000000000000000008.8 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f81 23 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f82 24 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f83 25 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f84 26 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f85 27 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f86 28 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f87 29 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f88 30 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f89 31 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f90 32 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f91 33 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f92 34 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f93 35 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f94 36 8.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb2 f95 37 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f96 38 8.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb2 f97 39 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f98 40 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f99 41 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f100 42 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f101 43 2000-01-01 NO date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test tb2 f102 44 00:00:20 NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references
-NULL test tb2 f103 45 0002-02-02 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL test tb2 f104 46 2000-12-31 23:59:59 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL test tb2 f105 47 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb2 f106 48 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb2 f107 49 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb2 f108 50 1enum NO enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references
-NULL test tb2 f109 51 1set NO set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references
-NULL test tb2 f110 52 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
-NULL test tb2 f111 53 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references
-NULL test tb2 f112 54 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
-NULL test tb2 f113 55 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
-NULL test tb2 f114 56 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
-NULL test tb2 f115 57 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references
-NULL test tb2 f116 58 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
-NULL test tb2 f117 59 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
-NULL test tb3 f118 1 a NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
-NULL test tb3 f119 2  NO char 1 1 NULL NULL latin1 latin1_bin char(1) select,insert,update,references
-NULL test tb3 f120 3  NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
-NULL test tb3 f121 4 NULL YES tinytext 255 255 NULL NULL latin1 latin1_swedish_ci tinytext select,insert,update,references
-NULL test tb3 f122 5 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references
-NULL test tb3 f123 6 NULL YES mediumtext 16777215 16777215 NULL NULL latin1 latin1_swedish_ci mediumtext select,insert,update,references
-NULL test tb3 f124 7 NULL YES longtext 2147483647 4294967295 NULL NULL ucs2 ucs2_general_ci longtext select,insert,update,references
-NULL test tb3 f125 8 NULL YES tinyblob 255 255 NULL NULL NULL NULL tinyblob select,insert,update,references
-NULL test tb3 f126 9 NULL YES blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
-NULL test tb3 f127 10 NULL YES mediumblob 16777215 16777215 NULL NULL NULL NULL mediumblob select,insert,update,references
-NULL test tb3 f128 11 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references
-NULL test tb3 f129 12  NO binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references
-NULL test tb3 f130 13 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references
-NULL test tb3 f131 14 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references
-NULL test tb3 f132 15 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb3 f133 16 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb3 f134 17 999 NO smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references
-NULL test tb3 f135 18 999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references
-NULL test tb3 f136 19 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb3 f137 20 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb3 f138 21 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references
-NULL test tb3 f139 22 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references
-NULL test tb3 f140 23 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb3 f141 24 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb3 f142 25 99999 NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test tb3 f143 26 99999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references
-NULL test tb3 f144 27 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb3 f145 28 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb3 f146 29 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references
-NULL test tb3 f147 30 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL test tb3 f148 31 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb3 f149 32 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb3 f150 33 1000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f151 34 999 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f152 35 0000001000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f153 36 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f154 37 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f155 38 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb3 f156 39 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f157 40 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb3 f158 41 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f159 42 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f160 43 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f161 44 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f162 45 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f163 46 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb3 f164 47 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f165 48 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb3 f166 49 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f167 50 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb3 f168 51 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f169 52 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb3 f170 53 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f171 54 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f172 55 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f173 56 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f174 57 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f175 58 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb4 f176 1 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb4 f177 2 9 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb4 f178 3 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f179 4 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f180 5 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f181 6 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f182 7 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb4 f183 8 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb4 f184 9 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb4 f185 10 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb4 f186 11 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f187 12 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb4 f188 13 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f189 14 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb4 f190 15 88.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb4 f191 16 88.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb4 f192 17 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f193 18 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f194 19 55.5 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb4 f195 20 55.5 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb4 f196 21 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f197 22 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f198 23 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f199 24 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f200 25 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f201 26 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f202 27 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f203 28 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f204 29 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f205 30 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f206 31 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f207 32 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f208 33 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f209 34 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f210 35 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f211 36 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb4 f212 37 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f213 38 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb4 f214 39 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f215 40 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f216 41 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f217 42 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f218 43 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test tb4 f219 44 NULL YES time NULL NULL NULL NULL NULL NULL time select,insert,update,references
-NULL test tb4 f220 45 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL test tb4 f221 46 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL test tb4 f222 47 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb4 f223 48 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb4 f224 49 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb4 f225 50 NULL YES enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references
-NULL test tb4 f226 51 NULL YES set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references
-NULL test tb4 f227 52 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
-NULL test tb4 f228 53 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references
-NULL test tb4 f229 54 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
-NULL test tb4 f230 55 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
-NULL test tb4 f231 56 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
-NULL test tb4 f232 57 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references
-NULL test tb4 f233 58 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
-NULL test tb4 f234 59 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
-NULL test tb4 f235 60 NULL YES char 255 510 NULL NULL ucs2 ucs2_general_ci char(255) select,insert,update,references
-NULL test tb4 f236 61 NULL YES char 60 60 NULL NULL latin1 latin1_swedish_ci char(60) select,insert,update,references
-NULL test tb4 f237 62 NULL YES char 255 255 NULL NULL latin1 latin1_bin char(255) select,insert,update,references
-NULL test tb4 f238 63 NULL YES varchar 0 0 NULL NULL latin1 latin1_bin varchar(0) select,insert,update,references
-NULL test tb4 f239 64 NULL YES varbinary 1000 1000 NULL NULL NULL NULL varbinary(1000) select,insert,update,references
-NULL test tb4 f240 65 NULL YES varchar 120 240 NULL NULL ucs2 ucs2_general_ci varchar(120) select,insert,update,references
-NULL test tb4 f241 66 NULL YES char 100 200 NULL NULL ucs2 ucs2_general_ci char(100) select,insert,update,references
-NULL test tb4 f242 67 NULL YES bit NULL NULL 30 NULL NULL NULL bit(30) select,insert,update,references
-connect(localhost,user_2,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.columns
-ORDER BY table_schema, table_name, ordinal_position;
-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
-NULL db_datadict t_6_406002 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) insert
-NULL db_datadict t_6_406002 f2 2 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text insert
-NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema CHARACTER_SETS DESCRIPTION 3 NO varchar 60 180 NULL NULL utf8 utf8_general_ci varchar(60) select
-NULL information_schema CHARACTER_SETS MAXLEN 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema COLLATIONS COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATIONS CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATIONS ID 3 0 NO bigint NULL NULL 19 0 NULL NULL bigint(11) select
-NULL information_schema COLLATIONS IS_DEFAULT 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLLATIONS IS_COMPILED 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLLATIONS SORTLEN 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLUMN_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMNS COLUMN_TYPE 15 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema COLUMNS COLUMN_KEY 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema COLUMNS EXTRA 17 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema COLUMNS PRIVILEGES 18 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema COLUMNS COLUMN_COMMENT 19 NO varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
-NULL information_schema COLUMN_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES COLUMN_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES PRIVILEGE_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema COLUMN_PRIVILEGES IS_GRANTABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ENGINES ENGINE 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ENGINES SUPPORT 2 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema ENGINES COMMENT 3 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema ENGINES TRANSACTIONS 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ENGINES XA 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ENGINES SAVEPOINTS 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema EVENTS EVENT_CATALOG 1 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS EVENT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS EVENT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS DEFINER 4 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
-NULL information_schema EVENTS TIME_ZONE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS EVENT_BODY 6 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema EVENTS EVENT_DEFINITION 7 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema EVENTS EVENT_TYPE 8 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
-NULL information_schema EVENTS EXECUTE_AT 9 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS INTERVAL_VALUE 10 NULL YES varchar 256 768 NULL NULL utf8 utf8_general_ci varchar(256) select
-NULL information_schema EVENTS INTERVAL_FIELD 11 NULL YES varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select
-NULL information_schema EVENTS SQL_MODE 12 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema EVENTS STARTS 13 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS ENDS 14 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS STATUS 15 NO varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select
-NULL information_schema EVENTS ON_COMPLETION 16 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema EVENTS CREATED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS LAST_ALTERED 18 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS LAST_EXECUTED 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema EVENTS EVENT_COMMENT 20 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema EVENTS ORIGINATOR 21 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select
-NULL information_schema FILES FILE_ID 1 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES FILE_NAME 2 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES FILE_TYPE 3 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema FILES TABLESPACE_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES TABLE_CATALOG 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES TABLE_SCHEMA 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES TABLE_NAME 7 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES LOGFILE_GROUP_NAME 8 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES LOGFILE_GROUP_NUMBER 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES ENGINE 10 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES FULLTEXT_KEYS 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema FILES DELETED_ROWS 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES UPDATE_COUNT 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES FREE_EXTENTS 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES TOTAL_EXTENTS 15 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES EXTENT_SIZE 16 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES INITIAL_SIZE 17 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES MAXIMUM_SIZE 18 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES AUTOEXTEND_SIZE 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES CREATION_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES LAST_UPDATE_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES LAST_ACCESS_TIME 22 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES RECOVER_TIME 23 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES TRANSACTION_COUNTER 24 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema FILES VERSION 25 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES ROW_FORMAT 26 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema FILES TABLE_ROWS 27 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES AVG_ROW_LENGTH 28 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES DATA_LENGTH 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES MAX_DATA_LENGTH 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES INDEX_LENGTH 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES DATA_FREE 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES CREATE_TIME 33 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES UPDATE_TIME 34 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES CHECK_TIME 35 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema FILES CHECKSUM 36 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema FILES STATUS 37 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema FILES EXTRA 38 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
-NULL information_schema GLOBAL_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema GLOBAL_STATUS VARIABLE_VALUE 2 0.0000000 NO decimal NULL NULL 22 7 NULL NULL decimal(22,7) select
-NULL information_schema GLOBAL_VARIABLES VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema GLOBAL_VARIABLES VARIABLE_VALUE 2 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE COLUMN_NAME 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE ORDINAL_POSITION 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select
-NULL information_schema KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(10) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_NAME 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME 12 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema PARTITIONS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS PARTITION_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS SUBPARTITION_NAME 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION 7 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS PARTITION_METHOD 8 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema PARTITIONS SUBPARTITION_METHOD 9 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema PARTITIONS PARTITION_EXPRESSION 10 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PARTITIONS SUBPARTITION_EXPRESSION 11 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PARTITIONS PARTITION_DESCRIPTION 12 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PARTITIONS TABLE_ROWS 13 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS AVG_ROW_LENGTH 14 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS DATA_LENGTH 15 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS MAX_DATA_LENGTH 16 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS INDEX_LENGTH 17 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS DATA_FREE 18 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS CREATE_TIME 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema PARTITIONS UPDATE_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema PARTITIONS CHECK_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema PARTITIONS CHECKSUM 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema PARTITIONS PARTITION_COMMENT 23 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema PARTITIONS NODEGROUP 24 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
-NULL information_schema PARTITIONS TABLESPACE_NAME 25 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_VERSION 2 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema PLUGINS PLUGIN_STATUS 3 NO varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema PLUGINS PLUGIN_TYPE 4 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema PLUGINS PLUGIN_TYPE_VERSION 5 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema PLUGINS PLUGIN_LIBRARY 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_LIBRARY_VERSION 7 NULL YES varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
-NULL information_schema PLUGINS PLUGIN_AUTHOR 8 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PLUGINS PLUGIN_DESCRIPTION 9 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema PLUGINS PLUGIN_LICENSE 10 NULL YES varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema PROCESSLIST ID 1 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema PROCESSLIST USER 2 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema PROCESSLIST HOST 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PROCESSLIST DB 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PROCESSLIST COMMAND 5 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema PROCESSLIST TIME 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(7) select
-NULL information_schema PROCESSLIST STATE 7 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema PROCESSLIST INFO 8 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS MATCH_OPTION 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UPDATE_RULE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS DELETE_RULE 9 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS TABLE_NAME 10 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS REFERENCED_TABLE_NAME 11 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES SPECIFIC_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema ROUTINES ROUTINE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_TYPE 5 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
-NULL information_schema ROUTINES DTD_IDENTIFIER 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_BODY 7 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema ROUTINES ROUTINE_DEFINITION 8 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema ROUTINES EXTERNAL_NAME 9 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES EXTERNAL_LANGUAGE 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES PARAMETER_STYLE 11 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema ROUTINES IS_DETERMINISTIC 12 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ROUTINES SQL_DATA_ACCESS 13 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES SQL_PATH 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES SECURITY_TYPE 15 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select
-NULL information_schema ROUTINES CREATED 16 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema ROUTINES LAST_ALTERED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema ROUTINES SQL_MODE 18 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema ROUTINES ROUTINE_COMMENT 19 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES DEFINER 20 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
-NULL information_schema SCHEMATA CATALOG_NAME 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema SCHEMATA SCHEMA_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA DEFAULT_COLLATION_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA SQL_PATH 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema SCHEMA_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema SCHEMA_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMA_PRIVILEGES IS_GRANTABLE 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema SESSION_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SESSION_STATUS VARIABLE_VALUE 2 0.0000000 NO decimal NULL NULL 22 7 NULL NULL decimal(22,7) select
-NULL information_schema SESSION_VARIABLES VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SESSION_VARIABLES VARIABLE_VALUE 2 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema STATISTICS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema STATISTICS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS NON_UNIQUE 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(1) select
-NULL information_schema STATISTICS INDEX_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS INDEX_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS SEQ_IN_INDEX 7 0 NO bigint NULL NULL 19 0 NULL NULL bigint(2) select
-NULL information_schema STATISTICS COLUMN_NAME 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS COLLATION 9 NULL YES varchar 1 3 NULL NULL utf8 utf8_general_ci varchar(1) select
-NULL information_schema STATISTICS CARDINALITY 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select
-NULL information_schema STATISTICS SUB_PART 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema STATISTICS PACKED 12 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema STATISTICS NULLABLE 13 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema STATISTICS INDEX_TYPE 14 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema STATISTICS COMMENT 15 NULL YES varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema TABLES TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
-NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS TABLE_SCHEMA 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS TABLE_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema TABLE_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLE_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES PRIVILEGE_TYPE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES IS_GRANTABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema TRIGGERS TRIGGER_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TRIGGERS TRIGGER_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS TRIGGER_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS EVENT_MANIPULATION 4 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select
-NULL information_schema TRIGGERS EVENT_OBJECT_CATALOG 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TRIGGERS EVENT_OBJECT_SCHEMA 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS EVENT_OBJECT_TABLE 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_ORDER 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema TRIGGERS ACTION_CONDITION 9 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS ACTION_STATEMENT 10 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS ACTION_ORIENTATION 11 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
-NULL information_schema TRIGGERS ACTION_TIMING 12 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_TABLE 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_TABLE 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_ROW 15 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_ROW 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema TRIGGERS CREATED 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TRIGGERS SQL_MODE 18 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS DEFINER 19 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema USER_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema USER_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema USER_PRIVILEGES PRIVILEGE_TYPE 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema USER_PRIVILEGES IS_GRANTABLE 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema VIEWS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema VIEWS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema VIEWS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema VIEWS VIEW_DEFINITION 4 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema VIEWS CHECK_OPTION 5 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema VIEWS IS_UPDATABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema VIEWS DEFINER 7 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
-NULL information_schema VIEWS SECURITY_TYPE 8 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select
-NULL test t1 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t1 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t1 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t1 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t1 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t1 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t10 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t10 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t10 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t10 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t10 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t10 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t11 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t11 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t11 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t11 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t11 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t11 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t2 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t2 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t2 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t2 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t2 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t2 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t3 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t3 f2 2 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t3 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t4 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t4 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t4 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t4 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t4 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t4 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t7 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t7 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t7 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t7 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t8 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-NULL test t8 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t8 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test t8 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t9 f1 1 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test t9 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-NULL test t9 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test tb1 f1 1 NULL YES char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
-NULL test tb1 f2 2 NULL YES char 1 1 NULL NULL latin1 latin1_bin char(1) select,insert,update,references
-NULL test tb1 f3 3 NULL YES char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
-NULL test tb1 f4 4 NULL YES tinytext 127 255 NULL NULL ucs2 ucs2_general_ci tinytext select,insert,update,references
-NULL test tb1 f5 5 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references
-NULL test tb1 f6 6 NULL YES mediumtext 16777215 16777215 NULL NULL latin1 latin1_swedish_ci mediumtext select,insert,update,references
-NULL test tb1 f7 7 NULL YES longtext 4294967295 4294967295 NULL NULL latin1 latin1_swedish_ci longtext select,insert,update,references
-NULL test tb1 f8 8 NULL YES tinyblob 255 255 NULL NULL NULL NULL tinyblob select,insert,update,references
-NULL test tb1 f9 9 NULL YES blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
-NULL test tb1 f10 10 NULL YES mediumblob 16777215 16777215 NULL NULL NULL NULL mediumblob select,insert,update,references
-NULL test tb1 f11 11 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references
-NULL test tb1 f12 12 NULL YES binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references
-NULL test tb1 f13 13 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references
-NULL test tb1 f14 14 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references
-NULL test tb1 f15 15 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb1 f16 16 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb1 f17 17 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references
-NULL test tb1 f18 18 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references
-NULL test tb1 f19 19 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb1 f20 20 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb1 f21 21 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references
-NULL test tb1 f22 22 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references
-NULL test tb1 f23 23 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb1 f24 24 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb1 f25 25 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test tb1 f26 26 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references
-NULL test tb1 f27 27 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb1 f28 28 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb1 f29 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references
-NULL test tb1 f30 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL test tb1 f31 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb1 f32 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb1 f33 33 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f34 34 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f35 35 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f36 36 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f37 37 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f38 38 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb1 f39 39 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f40 40 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb1 f41 41 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f42 42 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f43 43 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f44 44 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f45 45 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f46 46 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb1 f47 47 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f48 48 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb1 f49 49 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f50 50 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb1 f51 51 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f52 52 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb1 f53 53 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f54 54 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb1 f55 55 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f56 56 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb1 f57 57 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb1 f58 58 99 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb2 f59 1 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb2 f60 2 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb2 f61 3 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f62 4 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f63 5 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f64 6 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f65 7 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb2 f66 8 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb2 f67 9 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb2 f68 10 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb2 f69 11 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f70 12 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb2 f71 13 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb2 f72 14 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb2 f73 15 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb2 f74 16 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb2 f75 17 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f76 18 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f77 19 7.7 YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb2 f78 20 7.7 YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb2 f79 21 00000000000000000007.7 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f80 22 00000000000000000008.8 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f81 23 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f82 24 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f83 25 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f84 26 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f85 27 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f86 28 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f87 29 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f88 30 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f89 31 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f90 32 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f91 33 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f92 34 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f93 35 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb2 f94 36 8.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb2 f95 37 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb2 f96 38 8.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb2 f97 39 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f98 40 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f99 41 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb2 f100 42 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb2 f101 43 2000-01-01 NO date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test tb2 f102 44 00:00:20 NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references
-NULL test tb2 f103 45 0002-02-02 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL test tb2 f104 46 2000-12-31 23:59:59 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL test tb2 f105 47 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb2 f106 48 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb2 f107 49 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb2 f108 50 1enum NO enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references
-NULL test tb2 f109 51 1set NO set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references
-NULL test tb2 f110 52 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
-NULL test tb2 f111 53 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references
-NULL test tb2 f112 54 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
-NULL test tb2 f113 55 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
-NULL test tb2 f114 56 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
-NULL test tb2 f115 57 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references
-NULL test tb2 f116 58 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
-NULL test tb2 f117 59 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
-NULL test tb3 f118 1 a NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
-NULL test tb3 f119 2  NO char 1 1 NULL NULL latin1 latin1_bin char(1) select,insert,update,references
-NULL test tb3 f120 3  NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
-NULL test tb3 f121 4 NULL YES tinytext 255 255 NULL NULL latin1 latin1_swedish_ci tinytext select,insert,update,references
-NULL test tb3 f122 5 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references
-NULL test tb3 f123 6 NULL YES mediumtext 16777215 16777215 NULL NULL latin1 latin1_swedish_ci mediumtext select,insert,update,references
-NULL test tb3 f124 7 NULL YES longtext 2147483647 4294967295 NULL NULL ucs2 ucs2_general_ci longtext select,insert,update,references
-NULL test tb3 f125 8 NULL YES tinyblob 255 255 NULL NULL NULL NULL tinyblob select,insert,update,references
-NULL test tb3 f126 9 NULL YES blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references
-NULL test tb3 f127 10 NULL YES mediumblob 16777215 16777215 NULL NULL NULL NULL mediumblob select,insert,update,references
-NULL test tb3 f128 11 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references
-NULL test tb3 f129 12  NO binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references
-NULL test tb3 f130 13 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references
-NULL test tb3 f131 14 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references
-NULL test tb3 f132 15 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb3 f133 16 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references
-NULL test tb3 f134 17 999 NO smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references
-NULL test tb3 f135 18 999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references
-NULL test tb3 f136 19 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb3 f137 20 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references
-NULL test tb3 f138 21 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references
-NULL test tb3 f139 22 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references
-NULL test tb3 f140 23 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb3 f141 24 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references
-NULL test tb3 f142 25 99999 NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-NULL test tb3 f143 26 99999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references
-NULL test tb3 f144 27 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb3 f145 28 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
-NULL test tb3 f146 29 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references
-NULL test tb3 f147 30 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references
-NULL test tb3 f148 31 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb3 f149 32 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
-NULL test tb3 f150 33 1000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f151 34 999 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f152 35 0000001000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f153 36 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f154 37 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f155 38 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb3 f156 39 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f157 40 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb3 f158 41 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f159 42 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f160 43 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f161 44 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f162 45 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f163 46 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb3 f164 47 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f165 48 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb3 f166 49 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f167 50 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb3 f168 51 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f169 52 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb3 f170 53 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f171 54 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb3 f172 55 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f173 56 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb3 f174 57 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb3 f175 58 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references
-NULL test tb4 f176 1 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb4 f177 2 9 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references
-NULL test tb4 f178 3 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f179 4 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f180 5 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f181 6 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f182 7 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
-NULL test tb4 f183 8 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references
-NULL test tb4 f184 9 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
-NULL test tb4 f185 10 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references
-NULL test tb4 f186 11 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f187 12 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb4 f188 13 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
-NULL test tb4 f189 14 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references
-NULL test tb4 f190 15 88.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb4 f191 16 88.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb4 f192 17 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f193 18 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f194 19 55.5 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb4 f195 20 55.5 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb4 f196 21 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f197 22 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f198 23 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f199 24 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f200 25 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f201 26 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f202 27 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f203 28 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f204 29 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f205 30 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f206 31 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f207 32 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f208 33 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f209 34 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f210 35 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references
-NULL test tb4 f211 36 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references
-NULL test tb4 f212 37 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references
-NULL test tb4 f213 38 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references
-NULL test tb4 f214 39 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f215 40 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f216 41 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references
-NULL test tb4 f217 42 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references
-NULL test tb4 f218 43 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-NULL test tb4 f219 44 NULL YES time NULL NULL NULL NULL NULL NULL time select,insert,update,references
-NULL test tb4 f220 45 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references
-NULL test tb4 f221 46 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references
-NULL test tb4 f222 47 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb4 f223 48 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb4 f224 49 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references
-NULL test tb4 f225 50 NULL YES enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references
-NULL test tb4 f226 51 NULL YES set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references
-NULL test tb4 f227 52 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
-NULL test tb4 f228 53 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references
-NULL test tb4 f229 54 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
-NULL test tb4 f230 55 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
-NULL test tb4 f231 56 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
-NULL test tb4 f232 57 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references
-NULL test tb4 f233 58 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references
-NULL test tb4 f234 59 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references
-NULL test tb4 f235 60 NULL YES char 255 510 NULL NULL ucs2 ucs2_general_ci char(255) select,insert,update,references
-NULL test tb4 f236 61 NULL YES char 60 60 NULL NULL latin1 latin1_swedish_ci char(60) select,insert,update,references
-NULL test tb4 f237 62 NULL YES char 255 255 NULL NULL latin1 latin1_bin char(255) select,insert,update,references
-NULL test tb4 f238 63 NULL YES varchar 0 0 NULL NULL latin1 latin1_bin varchar(0) select,insert,update,references
-NULL test tb4 f239 64 NULL YES varbinary 1000 1000 NULL NULL NULL NULL varbinary(1000) select,insert,update,references
-NULL test tb4 f240 65 NULL YES varchar 120 240 NULL NULL ucs2 ucs2_general_ci varchar(120) select,insert,update,references
-NULL test tb4 f241 66 NULL YES char 100 200 NULL NULL ucs2 ucs2_general_ci char(100) select,insert,update,references
-NULL test tb4 f242 67 NULL YES bit NULL NULL 30 NULL NULL NULL bit(30) select,insert,update,references
-
-root@localhost db_datadict
-
-Show the quotient of COL and CML for all COLUMNS
-------------------------------------------------
-SELECT DISTINCT
-CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML,
-DATA_TYPE,
-CHARACTER_SET_NAME,
-COLLATION_NAME
-FROM information_schema.columns
-WHERE 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 binary NULL NULL
-1.0000 blob NULL NULL
-1.0000 longblob NULL NULL
-1.0000 mediumblob NULL NULL
-1.0000 tinyblob NULL NULL
-1.0000 varbinary NULL NULL
-1.0000 char latin1 latin1_bin
-1.0000 varchar latin1 latin1_bin
-1.0000 char latin1 latin1_swedish_ci
-1.0000 enum latin1 latin1_swedish_ci
-1.0000 longtext latin1 latin1_swedish_ci
-1.0000 mediumtext latin1 latin1_swedish_ci
-1.0000 set latin1 latin1_swedish_ci
-1.0000 text latin1 latin1_swedish_ci
-1.0000 tinytext latin1 latin1_swedish_ci
-1.0000 varchar latin1 latin1_swedish_ci
-1.0000 longtext utf8 utf8_general_ci
-1.0000 mediumtext utf8 utf8_general_ci
-1.0000 text utf8 utf8_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 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 varchar ucs2 ucs2_general_ci
-2.0079 tinytext ucs2 ucs2_general_ci
-3.0000 char utf8 utf8_bin
-3.0000 enum utf8 utf8_bin
-3.0000 char utf8 utf8_general_ci
-3.0000 enum utf8 utf8_general_ci
-3.0000 set utf8 utf8_general_ci
-3.0000 varchar utf8 utf8_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 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 bigint NULL NULL
-NULL bit NULL NULL
-NULL date NULL NULL
-NULL datetime NULL NULL
-NULL decimal NULL NULL
-NULL double NULL NULL
-NULL double unsigned NULL NULL
-NULL double unsigned zerofill NULL NULL
-NULL float NULL NULL
-NULL float unsigned NULL NULL
-NULL float unsigned zerofill NULL NULL
-NULL int NULL NULL
-NULL mediumint NULL NULL
-NULL smallint NULL NULL
-NULL time NULL NULL
-NULL timestamp NULL NULL
-NULL tinyint NULL NULL
-NULL year NULL NULL
-NULL varchar latin1 latin1_bin
---> 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
-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 db_datadict t_6_406001 f1 char 10 10 latin1 latin1_swedish_ci char(10)
-1.0000 db_datadict t_6_406001 f2 text 65535 65535 latin1 latin1_swedish_ci text
-NULL db_datadict t_6_406001 f3 date NULL NULL NULL NULL date
-NULL db_datadict t_6_406001 f4 int NULL NULL NULL NULL int(11)
-1.0000 db_datadict t_6_406002 f1 char 10 10 latin1 latin1_swedish_ci char(10)
-1.0000 db_datadict t_6_406002 f2 text 65535 65535 latin1 latin1_swedish_ci text
-NULL db_datadict t_6_406002 f3 date NULL NULL NULL NULL date
-NULL db_datadict t_6_406002 f4 int NULL NULL NULL NULL int(11)
-3.0000 information_schema CHARACTER_SETS CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema CHARACTER_SETS DESCRIPTION varchar 60 180 utf8 utf8_general_ci varchar(60)
-NULL information_schema CHARACTER_SETS MAXLEN bigint NULL NULL NULL NULL bigint(3)
-3.0000 information_schema COLLATIONS COLLATION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema COLLATIONS CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-NULL information_schema COLLATIONS ID bigint NULL NULL NULL NULL bigint(11)
-3.0000 information_schema COLLATIONS IS_DEFAULT varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema COLLATIONS IS_COMPILED varchar 3 9 utf8 utf8_general_ci varchar(3)
-NULL information_schema COLLATIONS SORTLEN bigint NULL NULL NULL NULL bigint(3)
-3.0000 information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema COLUMNS TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema COLUMNS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema COLUMNS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema COLUMNS COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-NULL information_schema COLUMNS ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(21) unsigned
-1.0000 information_schema COLUMNS COLUMN_DEFAULT longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema COLUMNS IS_NULLABLE varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema COLUMNS DATA_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
-NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema COLUMNS NUMERIC_PRECISION bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema COLUMNS NUMERIC_SCALE bigint NULL NULL NULL NULL bigint(21) unsigned
-3.0000 information_schema COLUMNS CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema COLUMNS COLLATION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-1.0000 information_schema COLUMNS COLUMN_TYPE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema COLUMNS COLUMN_KEY varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema COLUMNS EXTRA varchar 20 60 utf8 utf8_general_ci varchar(20)
-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 COLUMN_PRIVILEGES GRANTEE varchar 81 243 utf8 utf8_general_ci varchar(81)
-3.0000 information_schema COLUMN_PRIVILEGES TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema COLUMN_PRIVILEGES TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema COLUMN_PRIVILEGES TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema COLUMN_PRIVILEGES COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema COLUMN_PRIVILEGES PRIVILEGE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema COLUMN_PRIVILEGES IS_GRANTABLE varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema ENGINES ENGINE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ENGINES SUPPORT varchar 8 24 utf8 utf8_general_ci varchar(8)
-3.0000 information_schema ENGINES COMMENT varchar 80 240 utf8 utf8_general_ci varchar(80)
-3.0000 information_schema ENGINES TRANSACTIONS varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema ENGINES XA varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema ENGINES SAVEPOINTS varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema EVENTS EVENT_CATALOG varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema EVENTS EVENT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema EVENTS EVENT_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema EVENTS DEFINER varchar 77 231 utf8 utf8_general_ci varchar(77)
-3.0000 information_schema EVENTS TIME_ZONE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema EVENTS EVENT_BODY varchar 8 24 utf8 utf8_general_ci varchar(8)
-1.0000 information_schema EVENTS EVENT_DEFINITION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema EVENTS EVENT_TYPE varchar 9 27 utf8 utf8_general_ci varchar(9)
-NULL information_schema EVENTS EXECUTE_AT datetime NULL NULL NULL NULL datetime
-3.0000 information_schema EVENTS INTERVAL_VALUE varchar 256 768 utf8 utf8_general_ci varchar(256)
-3.0000 information_schema EVENTS INTERVAL_FIELD varchar 18 54 utf8 utf8_general_ci varchar(18)
-1.0000 information_schema EVENTS SQL_MODE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-NULL information_schema EVENTS STARTS datetime NULL NULL NULL NULL datetime
-NULL information_schema EVENTS ENDS datetime NULL NULL NULL NULL datetime
-3.0000 information_schema EVENTS STATUS varchar 18 54 utf8 utf8_general_ci varchar(18)
-3.0000 information_schema EVENTS ON_COMPLETION varchar 12 36 utf8 utf8_general_ci varchar(12)
-NULL information_schema EVENTS CREATED datetime NULL NULL NULL NULL datetime
-NULL information_schema EVENTS LAST_ALTERED datetime NULL NULL NULL NULL datetime
-NULL information_schema EVENTS LAST_EXECUTED datetime NULL NULL NULL NULL datetime
-3.0000 information_schema EVENTS EVENT_COMMENT varchar 64 192 utf8 utf8_general_ci varchar(64)
-NULL information_schema EVENTS ORIGINATOR bigint NULL NULL NULL NULL bigint(10)
-NULL information_schema FILES FILE_ID bigint NULL NULL NULL NULL bigint(4)
-3.0000 information_schema FILES FILE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema FILES FILE_TYPE varchar 20 60 utf8 utf8_general_ci varchar(20)
-3.0000 information_schema FILES TABLESPACE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema FILES TABLE_CATALOG varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema FILES TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema FILES TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema FILES LOGFILE_GROUP_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-NULL information_schema FILES LOGFILE_GROUP_NUMBER bigint NULL NULL NULL NULL bigint(4)
-3.0000 information_schema FILES ENGINE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema FILES FULLTEXT_KEYS varchar 64 192 utf8 utf8_general_ci varchar(64)
-NULL information_schema FILES DELETED_ROWS bigint NULL NULL NULL NULL bigint(4)
-NULL information_schema FILES UPDATE_COUNT bigint NULL NULL NULL NULL bigint(4)
-NULL information_schema FILES FREE_EXTENTS bigint NULL NULL NULL NULL bigint(4)
-NULL information_schema FILES TOTAL_EXTENTS bigint NULL NULL NULL NULL bigint(4)
-NULL information_schema FILES EXTENT_SIZE bigint NULL NULL NULL NULL bigint(4)
-NULL information_schema FILES INITIAL_SIZE bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema FILES MAXIMUM_SIZE bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema FILES AUTOEXTEND_SIZE bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema FILES CREATION_TIME datetime NULL NULL NULL NULL datetime
-NULL information_schema FILES LAST_UPDATE_TIME datetime NULL NULL NULL NULL datetime
-NULL information_schema FILES LAST_ACCESS_TIME datetime NULL NULL NULL NULL datetime
-NULL information_schema FILES RECOVER_TIME bigint NULL NULL NULL NULL bigint(4)
-NULL information_schema FILES TRANSACTION_COUNTER bigint NULL NULL NULL NULL bigint(4)
-NULL information_schema FILES VERSION bigint NULL NULL NULL NULL bigint(21) unsigned
-3.0000 information_schema FILES ROW_FORMAT varchar 10 30 utf8 utf8_general_ci varchar(10)
-NULL information_schema FILES TABLE_ROWS bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema FILES AVG_ROW_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema FILES DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema FILES MAX_DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema FILES INDEX_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema FILES DATA_FREE bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema FILES CREATE_TIME datetime NULL NULL NULL NULL datetime
-NULL information_schema FILES UPDATE_TIME datetime NULL NULL NULL NULL datetime
-NULL information_schema FILES CHECK_TIME datetime NULL NULL NULL NULL datetime
-NULL information_schema FILES CHECKSUM bigint NULL NULL NULL NULL bigint(21) unsigned
-3.0000 information_schema FILES STATUS varchar 20 60 utf8 utf8_general_ci varchar(20)
-3.0000 information_schema FILES EXTRA varchar 255 765 utf8 utf8_general_ci varchar(255)
-3.0000 information_schema GLOBAL_STATUS VARIABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-NULL information_schema GLOBAL_STATUS VARIABLE_VALUE decimal NULL NULL NULL NULL decimal(22,7)
-3.0000 information_schema GLOBAL_VARIABLES VARIABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-1.0000 information_schema GLOBAL_VARIABLES VARIABLE_VALUE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema KEY_COLUMN_USAGE CONSTRAINT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema KEY_COLUMN_USAGE TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema KEY_COLUMN_USAGE TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema KEY_COLUMN_USAGE TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema KEY_COLUMN_USAGE COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-NULL information_schema KEY_COLUMN_USAGE ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(10)
-NULL information_schema KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT bigint NULL NULL NULL NULL bigint(10)
-3.0000 information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema PARTITIONS TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema PARTITIONS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema PARTITIONS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema PARTITIONS PARTITION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema PARTITIONS SUBPARTITION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(21) unsigned
-3.0000 information_schema PARTITIONS PARTITION_METHOD varchar 12 36 utf8 utf8_general_ci varchar(12)
-3.0000 information_schema PARTITIONS SUBPARTITION_METHOD varchar 12 36 utf8 utf8_general_ci varchar(12)
-1.0000 information_schema PARTITIONS PARTITION_EXPRESSION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-1.0000 information_schema PARTITIONS SUBPARTITION_EXPRESSION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-1.0000 information_schema PARTITIONS PARTITION_DESCRIPTION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-NULL information_schema PARTITIONS TABLE_ROWS bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema PARTITIONS AVG_ROW_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema PARTITIONS DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema PARTITIONS MAX_DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema PARTITIONS INDEX_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema PARTITIONS DATA_FREE bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema PARTITIONS CREATE_TIME datetime NULL NULL NULL NULL datetime
-NULL information_schema PARTITIONS UPDATE_TIME datetime NULL NULL NULL NULL datetime
-NULL information_schema PARTITIONS CHECK_TIME datetime NULL NULL NULL NULL datetime
-NULL information_schema PARTITIONS CHECKSUM bigint NULL NULL NULL NULL bigint(21) unsigned
-3.0000 information_schema PARTITIONS PARTITION_COMMENT varchar 80 240 utf8 utf8_general_ci varchar(80)
-3.0000 information_schema PARTITIONS NODEGROUP varchar 12 36 utf8 utf8_general_ci varchar(12)
-3.0000 information_schema PARTITIONS TABLESPACE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema PLUGINS PLUGIN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema PLUGINS PLUGIN_VERSION varchar 20 60 utf8 utf8_general_ci varchar(20)
-3.0000 information_schema PLUGINS PLUGIN_STATUS varchar 10 30 utf8 utf8_general_ci varchar(10)
-3.0000 information_schema PLUGINS PLUGIN_TYPE varchar 80 240 utf8 utf8_general_ci varchar(80)
-3.0000 information_schema PLUGINS PLUGIN_TYPE_VERSION varchar 20 60 utf8 utf8_general_ci varchar(20)
-3.0000 information_schema PLUGINS PLUGIN_LIBRARY varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema PLUGINS PLUGIN_LIBRARY_VERSION varchar 20 60 utf8 utf8_general_ci varchar(20)
-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)
-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)
-3.0000 information_schema PROCESSLIST DB varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema PROCESSLIST COMMAND varchar 16 48 utf8 utf8_general_ci varchar(16)
-NULL information_schema PROCESSLIST TIME bigint NULL NULL NULL NULL bigint(7)
-3.0000 information_schema PROCESSLIST STATE varchar 64 192 utf8 utf8_general_ci varchar(64)
-1.0000 information_schema PROCESSLIST INFO longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema REFERENTIAL_CONSTRAINTS MATCH_OPTION varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema REFERENTIAL_CONSTRAINTS UPDATE_RULE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema REFERENTIAL_CONSTRAINTS DELETE_RULE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema REFERENTIAL_CONSTRAINTS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema REFERENTIAL_CONSTRAINTS REFERENCED_TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ROUTINES SPECIFIC_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ROUTINES ROUTINE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema ROUTINES ROUTINE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ROUTINES ROUTINE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ROUTINES ROUTINE_TYPE varchar 9 27 utf8 utf8_general_ci varchar(9)
-3.0000 information_schema ROUTINES DTD_IDENTIFIER varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ROUTINES ROUTINE_BODY varchar 8 24 utf8 utf8_general_ci varchar(8)
-1.0000 information_schema ROUTINES ROUTINE_DEFINITION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema ROUTINES EXTERNAL_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ROUTINES EXTERNAL_LANGUAGE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ROUTINES PARAMETER_STYLE varchar 8 24 utf8 utf8_general_ci varchar(8)
-3.0000 information_schema ROUTINES IS_DETERMINISTIC varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema ROUTINES SQL_DATA_ACCESS varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ROUTINES SQL_PATH varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ROUTINES SECURITY_TYPE varchar 7 21 utf8 utf8_general_ci varchar(7)
-NULL information_schema ROUTINES CREATED datetime NULL NULL NULL NULL datetime
-NULL information_schema ROUTINES LAST_ALTERED datetime NULL NULL NULL NULL datetime
-1.0000 information_schema ROUTINES SQL_MODE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema ROUTINES ROUTINE_COMMENT varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ROUTINES DEFINER varchar 77 231 utf8 utf8_general_ci varchar(77)
-3.0000 information_schema SCHEMATA CATALOG_NAME varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema SCHEMATA SCHEMA_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema SCHEMATA DEFAULT_COLLATION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema SCHEMATA SQL_PATH varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema SCHEMA_PRIVILEGES GRANTEE varchar 81 243 utf8 utf8_general_ci varchar(81)
-3.0000 information_schema SCHEMA_PRIVILEGES TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema SCHEMA_PRIVILEGES IS_GRANTABLE varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema SESSION_STATUS VARIABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-NULL information_schema SESSION_STATUS VARIABLE_VALUE decimal NULL NULL NULL NULL decimal(22,7)
-3.0000 information_schema SESSION_VARIABLES VARIABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-1.0000 information_schema SESSION_VARIABLES VARIABLE_VALUE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema STATISTICS TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema STATISTICS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema STATISTICS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-NULL information_schema STATISTICS NON_UNIQUE bigint NULL NULL NULL NULL bigint(1)
-3.0000 information_schema STATISTICS INDEX_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema STATISTICS INDEX_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-NULL information_schema STATISTICS SEQ_IN_INDEX bigint NULL NULL NULL NULL bigint(2)
-3.0000 information_schema STATISTICS COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema STATISTICS COLLATION varchar 1 3 utf8 utf8_general_ci varchar(1)
-NULL information_schema STATISTICS CARDINALITY bigint NULL NULL NULL NULL bigint(21)
-NULL information_schema STATISTICS SUB_PART bigint NULL NULL NULL NULL bigint(3)
-3.0000 information_schema STATISTICS PACKED varchar 10 30 utf8 utf8_general_ci varchar(10)
-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 TABLES TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-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)
-3.0000 information_schema TABLES TABLE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TABLES ENGINE varchar 64 192 utf8 utf8_general_ci varchar(64)
-NULL information_schema TABLES VERSION bigint NULL NULL NULL NULL bigint(21) unsigned
-3.0000 information_schema TABLES ROW_FORMAT varchar 10 30 utf8 utf8_general_ci varchar(10)
-NULL information_schema TABLES TABLE_ROWS bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema TABLES AVG_ROW_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema TABLES DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema TABLES MAX_DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema TABLES INDEX_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema TABLES DATA_FREE bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema TABLES AUTO_INCREMENT bigint NULL NULL NULL NULL bigint(21) unsigned
-NULL information_schema TABLES CREATE_TIME datetime NULL NULL NULL NULL datetime
-NULL information_schema TABLES UPDATE_TIME datetime NULL NULL NULL NULL datetime
-NULL information_schema TABLES CHECK_TIME datetime NULL NULL NULL NULL datetime
-3.0000 information_schema TABLES TABLE_COLLATION varchar 64 192 utf8 utf8_general_ci varchar(64)
-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 TABLE_CONSTRAINTS CONSTRAINT_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema TABLE_CONSTRAINTS CONSTRAINT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TABLE_CONSTRAINTS CONSTRAINT_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TABLE_CONSTRAINTS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TABLE_CONSTRAINTS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TABLE_CONSTRAINTS CONSTRAINT_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TABLE_PRIVILEGES GRANTEE varchar 81 243 utf8 utf8_general_ci varchar(81)
-3.0000 information_schema TABLE_PRIVILEGES TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema TABLE_PRIVILEGES TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TABLE_PRIVILEGES TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TABLE_PRIVILEGES PRIVILEGE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TABLE_PRIVILEGES IS_GRANTABLE varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema TRIGGERS TRIGGER_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema TRIGGERS TRIGGER_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TRIGGERS TRIGGER_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TRIGGERS EVENT_MANIPULATION varchar 6 18 utf8 utf8_general_ci varchar(6)
-3.0000 information_schema TRIGGERS EVENT_OBJECT_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema TRIGGERS EVENT_OBJECT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TRIGGERS EVENT_OBJECT_TABLE varchar 64 192 utf8 utf8_general_ci varchar(64)
-NULL information_schema TRIGGERS ACTION_ORDER bigint NULL NULL NULL NULL bigint(4)
-1.0000 information_schema TRIGGERS ACTION_CONDITION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-1.0000 information_schema TRIGGERS ACTION_STATEMENT longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema TRIGGERS ACTION_ORIENTATION varchar 9 27 utf8 utf8_general_ci varchar(9)
-3.0000 information_schema TRIGGERS ACTION_TIMING varchar 6 18 utf8 utf8_general_ci varchar(6)
-3.0000 information_schema TRIGGERS ACTION_REFERENCE_OLD_TABLE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TRIGGERS ACTION_REFERENCE_NEW_TABLE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TRIGGERS ACTION_REFERENCE_OLD_ROW varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema TRIGGERS ACTION_REFERENCE_NEW_ROW varchar 3 9 utf8 utf8_general_ci varchar(3)
-NULL information_schema TRIGGERS CREATED datetime NULL NULL NULL NULL datetime
-1.0000 information_schema TRIGGERS SQL_MODE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-1.0000 information_schema TRIGGERS DEFINER longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema USER_PRIVILEGES GRANTEE varchar 81 243 utf8 utf8_general_ci varchar(81)
-3.0000 information_schema USER_PRIVILEGES TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema USER_PRIVILEGES PRIVILEGE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema USER_PRIVILEGES IS_GRANTABLE varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema VIEWS TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-3.0000 information_schema VIEWS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema VIEWS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-1.0000 information_schema VIEWS VIEW_DEFINITION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema VIEWS CHECK_OPTION varchar 8 24 utf8 utf8_general_ci varchar(8)
-3.0000 information_schema VIEWS IS_UPDATABLE varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema VIEWS DEFINER varchar 77 231 utf8 utf8_general_ci varchar(77)
-3.0000 information_schema VIEWS SECURITY_TYPE varchar 7 21 utf8 utf8_general_ci varchar(7)
-3.0000 mysql columns_priv Host char 60 180 utf8 utf8_bin char(60)
-3.0000 mysql columns_priv Db char 64 192 utf8 utf8_bin char(64)
-3.0000 mysql columns_priv User char 16 48 utf8 utf8_bin char(16)
-3.0000 mysql columns_priv Table_name char 64 192 utf8 utf8_bin char(64)
-3.0000 mysql columns_priv Column_name char 64 192 utf8 utf8_bin char(64)
-NULL mysql columns_priv Timestamp timestamp NULL NULL NULL NULL timestamp
-3.0000 mysql columns_priv Column_priv set 31 93 utf8 utf8_general_ci set('Select','Insert','Update','References')
-3.0000 mysql db Host char 60 180 utf8 utf8_bin char(60)
-3.0000 mysql db Db char 64 192 utf8 utf8_bin char(64)
-3.0000 mysql db User char 16 48 utf8 utf8_bin char(16)
-3.0000 mysql db Select_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Insert_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Update_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Delete_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Create_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Drop_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Grant_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db References_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Index_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Alter_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Create_tmp_table_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Lock_tables_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Create_view_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Show_view_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Create_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Alter_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Execute_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Event_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Trigger_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql event db char 64 192 utf8 utf8_bin char(64)
-3.0000 mysql event name char 64 192 utf8 utf8_general_ci char(64)
-1.0000 mysql event body longblob 4294967295 4294967295 NULL NULL longblob
-3.0000 mysql event definer char 77 231 utf8 utf8_bin char(77)
-NULL mysql event execute_at datetime NULL NULL NULL NULL datetime
-NULL mysql event interval_value int NULL NULL NULL NULL int(11)
-3.0000 mysql event interval_field enum 18 54 utf8 utf8_general_ci enum('YEAR','QUARTER','MONTH','DAY','HOUR','MINUTE','WEEK','SECOND','MICROSECOND','YEAR_MONTH','DAY_HOUR','DAY_MINUTE','DAY_SECOND','HOUR_MINUTE','HOUR_SECOND','MINUTE_SECOND','DAY_MICROSECOND','HOUR_MICROSECOND','MINUTE_MICROSECOND','SECOND_MICROSECOND')
-NULL mysql event created timestamp NULL NULL NULL NULL timestamp
-NULL mysql event modified timestamp NULL NULL NULL NULL timestamp
-NULL mysql event last_executed datetime NULL NULL NULL NULL datetime
-NULL mysql event starts datetime NULL NULL NULL NULL datetime
-NULL mysql event ends datetime NULL NULL NULL NULL datetime
-3.0000 mysql event status enum 18 54 utf8 utf8_general_ci enum('ENABLED','DISABLED','SLAVESIDE_DISABLED')
-3.0000 mysql event on_completion enum 8 24 utf8 utf8_general_ci enum('DROP','PRESERVE')
-3.0000 mysql event sql_mode set 431 1293 utf8 utf8_general_ci set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE')
-3.0000 mysql event comment char 64 192 utf8 utf8_bin char(64)
-NULL mysql event originator int NULL NULL NULL NULL int(10)
-1.0000 mysql event time_zone char 64 64 latin1 latin1_swedish_ci char(64)
-3.0000 mysql func name char 64 192 utf8 utf8_bin char(64)
-NULL mysql func ret tinyint NULL NULL NULL NULL tinyint(1)
-3.0000 mysql func dl char 128 384 utf8 utf8_bin char(128)
-3.0000 mysql func type enum 9 27 utf8 utf8_general_ci enum('function','aggregate')
-NULL mysql general_log event_time timestamp NULL NULL NULL NULL timestamp
-1.0000 mysql general_log user_host mediumtext 16777215 16777215 utf8 utf8_general_ci mediumtext
-NULL mysql general_log thread_id int NULL NULL NULL NULL int(11)
-NULL mysql general_log server_id int NULL NULL NULL NULL int(11)
-3.0000 mysql general_log command_type varchar 64 192 utf8 utf8_general_ci varchar(64)
-1.0000 mysql general_log argument mediumtext 16777215 16777215 utf8 utf8_general_ci mediumtext
-NULL mysql help_category help_category_id smallint NULL NULL NULL NULL smallint(5) unsigned
-3.0000 mysql help_category name char 64 192 utf8 utf8_general_ci char(64)
-NULL mysql help_category parent_category_id smallint NULL NULL NULL NULL smallint(5) unsigned
-3.0000 mysql help_category url char 128 384 utf8 utf8_general_ci char(128)
-NULL mysql help_keyword help_keyword_id int NULL NULL NULL NULL int(10) unsigned
-3.0000 mysql help_keyword name char 64 192 utf8 utf8_general_ci char(64)
-NULL mysql help_relation help_topic_id int NULL NULL NULL NULL int(10) unsigned
-NULL mysql help_relation help_keyword_id int NULL NULL NULL NULL int(10) unsigned
-NULL mysql help_topic help_topic_id int NULL NULL NULL NULL int(10) unsigned
-3.0000 mysql help_topic name char 64 192 utf8 utf8_general_ci char(64)
-NULL mysql help_topic help_category_id smallint NULL NULL NULL NULL smallint(5) unsigned
-1.0000 mysql help_topic description text 65535 65535 utf8 utf8_general_ci text
-1.0000 mysql help_topic example text 65535 65535 utf8 utf8_general_ci text
-3.0000 mysql help_topic url char 128 384 utf8 utf8_general_ci char(128)
-3.0000 mysql host Host char 60 180 utf8 utf8_bin char(60)
-3.0000 mysql host Db char 64 192 utf8 utf8_bin char(64)
-3.0000 mysql host Select_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Insert_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Update_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Delete_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Create_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Drop_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Grant_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host References_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Index_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Alter_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Create_tmp_table_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Lock_tables_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Create_view_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Show_view_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Create_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Alter_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Execute_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql host Trigger_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-NULL mysql ndb_apply_status server_id int NULL NULL NULL NULL int(10) unsigned
-NULL mysql ndb_apply_status epoch bigint NULL NULL NULL NULL bigint(20) unsigned
-1.0000 mysql ndb_apply_status log_name varchar 255 255 latin1 latin1_bin varchar(255)
-NULL mysql ndb_apply_status start_pos bigint NULL NULL NULL NULL bigint(20) unsigned
-NULL mysql ndb_apply_status end_pos bigint NULL NULL NULL NULL bigint(20) unsigned
-NULL mysql ndb_binlog_index Position bigint NULL NULL NULL NULL bigint(20) unsigned
-1.0000 mysql ndb_binlog_index File varchar 255 255 latin1 latin1_swedish_ci varchar(255)
-NULL mysql ndb_binlog_index epoch bigint NULL NULL NULL NULL bigint(20) unsigned
-NULL mysql ndb_binlog_index inserts bigint NULL NULL NULL NULL bigint(20) unsigned
-NULL mysql ndb_binlog_index updates bigint NULL NULL NULL NULL bigint(20) unsigned
-NULL mysql ndb_binlog_index deletes bigint NULL NULL NULL NULL bigint(20) unsigned
-NULL mysql ndb_binlog_index schemaops bigint NULL NULL NULL NULL bigint(20) unsigned
-3.0000 mysql plugin name char 64 192 utf8 utf8_bin char(64)
-3.0000 mysql plugin dl char 128 384 utf8 utf8_bin char(128)
-3.0000 mysql proc db char 64 192 utf8 utf8_bin char(64)
-3.0000 mysql proc name char 64 192 utf8 utf8_general_ci char(64)
-3.0000 mysql proc type enum 9 27 utf8 utf8_general_ci enum('FUNCTION','PROCEDURE')
-3.0000 mysql proc specific_name char 64 192 utf8 utf8_general_ci char(64)
-3.0000 mysql proc language enum 3 9 utf8 utf8_general_ci enum('SQL')
-3.0000 mysql proc sql_data_access enum 17 51 utf8 utf8_general_ci enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA')
-3.0000 mysql proc is_deterministic enum 3 9 utf8 utf8_general_ci enum('YES','NO')
-3.0000 mysql proc security_type enum 7 21 utf8 utf8_general_ci enum('INVOKER','DEFINER')
-1.0000 mysql proc param_list blob 65535 65535 NULL NULL blob
-3.0000 mysql proc returns char 64 192 utf8 utf8_general_ci char(64)
-1.0000 mysql proc body longblob 4294967295 4294967295 NULL NULL longblob
-3.0000 mysql proc definer char 77 231 utf8 utf8_bin char(77)
-NULL mysql proc created timestamp NULL NULL NULL NULL timestamp
-NULL mysql proc modified timestamp NULL NULL NULL NULL timestamp
-3.0000 mysql proc sql_mode set 431 1293 utf8 utf8_general_ci set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE')
-3.0000 mysql proc comment char 64 192 utf8 utf8_bin char(64)
-3.0000 mysql procs_priv Host char 60 180 utf8 utf8_bin char(60)
-3.0000 mysql procs_priv Db char 64 192 utf8 utf8_bin char(64)
-3.0000 mysql procs_priv User char 16 48 utf8 utf8_bin char(16)
-3.0000 mysql procs_priv Routine_name char 64 192 utf8 utf8_bin char(64)
-3.0000 mysql procs_priv Routine_type enum 9 27 utf8 utf8_bin enum('FUNCTION','PROCEDURE')
-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 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)
-3.0000 mysql servers Username char 64 192 utf8 utf8_general_ci char(64)
-3.0000 mysql servers Password char 64 192 utf8 utf8_general_ci char(64)
-NULL mysql servers Port int NULL NULL NULL NULL int(4)
-3.0000 mysql servers Socket char 64 192 utf8 utf8_general_ci char(64)
-3.0000 mysql servers Wrapper char 64 192 utf8 utf8_general_ci char(64)
-3.0000 mysql servers Owner char 64 192 utf8 utf8_general_ci char(64)
-NULL mysql slow_log start_time timestamp NULL NULL NULL NULL timestamp
-1.0000 mysql slow_log user_host mediumtext 16777215 16777215 utf8 utf8_general_ci mediumtext
-NULL mysql slow_log query_time time NULL NULL NULL NULL time
-NULL mysql slow_log lock_time time NULL NULL NULL NULL time
-NULL mysql slow_log rows_sent int NULL NULL NULL NULL int(11)
-NULL mysql slow_log rows_examined int NULL NULL NULL NULL int(11)
-3.0000 mysql slow_log db varchar 4096 12288 utf8 utf8_general_ci varchar(4096)
-NULL mysql slow_log last_insert_id int NULL NULL NULL NULL int(11)
-NULL mysql slow_log insert_id int NULL NULL NULL NULL int(11)
-NULL mysql slow_log server_id int NULL NULL NULL NULL int(11)
-1.0000 mysql slow_log sql_text mediumtext 16777215 16777215 utf8 utf8_general_ci mediumtext
-3.0000 mysql tables_priv Host char 60 180 utf8 utf8_bin char(60)
-3.0000 mysql tables_priv Db char 64 192 utf8 utf8_bin char(64)
-3.0000 mysql tables_priv User char 16 48 utf8 utf8_bin char(16)
-3.0000 mysql tables_priv Table_name char 64 192 utf8 utf8_bin char(64)
-3.0000 mysql tables_priv Grantor char 77 231 utf8 utf8_bin char(77)
-NULL mysql tables_priv Timestamp timestamp NULL NULL NULL NULL timestamp
-3.0000 mysql tables_priv Table_priv set 98 294 utf8 utf8_general_ci set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view','Trigger')
-3.0000 mysql tables_priv Column_priv set 31 93 utf8 utf8_general_ci set('Select','Insert','Update','References')
-NULL mysql time_zone Time_zone_id int NULL NULL NULL NULL int(10) unsigned
-3.0000 mysql time_zone Use_leap_seconds enum 1 3 utf8 utf8_general_ci enum('Y','N')
-NULL mysql time_zone_leap_second Transition_time bigint NULL NULL NULL NULL bigint(20)
-NULL mysql time_zone_leap_second Correction int NULL NULL NULL NULL int(11)
-3.0000 mysql time_zone_name Name char 64 192 utf8 utf8_general_ci char(64)
-NULL mysql time_zone_name Time_zone_id int NULL NULL NULL NULL int(10) unsigned
-NULL mysql time_zone_transition Time_zone_id int NULL NULL NULL NULL int(10) unsigned
-NULL mysql time_zone_transition Transition_time bigint NULL NULL NULL NULL bigint(20)
-NULL mysql time_zone_transition Transition_type_id int NULL NULL NULL NULL int(10) unsigned
-NULL mysql time_zone_transition_type Time_zone_id int NULL NULL NULL NULL int(10) unsigned
-NULL mysql time_zone_transition_type Transition_type_id int NULL NULL NULL NULL int(10) unsigned
-NULL mysql time_zone_transition_type Offset int NULL NULL NULL NULL int(11)
-NULL mysql time_zone_transition_type Is_DST tinyint NULL NULL NULL NULL tinyint(3) unsigned
-3.0000 mysql time_zone_transition_type Abbreviation char 8 24 utf8 utf8_general_ci char(8)
-3.0000 mysql user Host char 60 180 utf8 utf8_bin char(60)
-3.0000 mysql user User char 16 48 utf8 utf8_bin char(16)
-1.0000 mysql user Password char 41 41 latin1 latin1_bin char(41)
-3.0000 mysql user Select_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Insert_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Update_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Delete_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Create_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Drop_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Reload_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Shutdown_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Process_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user File_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Grant_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user References_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Index_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Alter_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Show_db_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Super_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Create_tmp_table_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Lock_tables_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Execute_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Repl_slave_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Repl_client_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Create_view_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Show_view_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Create_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Alter_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Create_user_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Event_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user Trigger_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql user ssl_type enum 9 27 utf8 utf8_general_ci enum('','ANY','X509','SPECIFIED')
-1.0000 mysql user ssl_cipher blob 65535 65535 NULL NULL blob
-1.0000 mysql user x509_issuer blob 65535 65535 NULL NULL blob
-1.0000 mysql user x509_subject blob 65535 65535 NULL NULL blob
-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 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 test tb1 f1 char 1 1 latin1 latin1_swedish_ci char(1)
-1.0000 test tb1 f2 char 1 1 latin1 latin1_bin char(1)
-1.0000 test tb1 f3 char 1 1 latin1 latin1_swedish_ci char(1)
-2.0079 test tb1 f4 tinytext 127 255 ucs2 ucs2_general_ci tinytext
-1.0000 test tb1 f5 text 65535 65535 latin1 latin1_swedish_ci text
-1.0000 test tb1 f6 mediumtext 16777215 16777215 latin1 latin1_swedish_ci mediumtext
-1.0000 test tb1 f7 longtext 4294967295 4294967295 latin1 latin1_swedish_ci longtext
-1.0000 test tb1 f8 tinyblob 255 255 NULL NULL tinyblob
-1.0000 test tb1 f9 blob 65535 65535 NULL NULL blob
-1.0000 test tb1 f10 mediumblob 16777215 16777215 NULL NULL mediumblob
-1.0000 test tb1 f11 longblob 4294967295 4294967295 NULL NULL longblob
-1.0000 test tb1 f12 binary 1 1 NULL NULL binary(1)
-NULL test tb1 f13 tinyint NULL NULL NULL NULL tinyint(4)
-NULL test tb1 f14 tinyint NULL NULL NULL NULL tinyint(3) unsigned
-NULL test tb1 f15 tinyint NULL NULL NULL NULL tinyint(3) unsigned zerofill
-NULL test tb1 f16 tinyint NULL NULL NULL NULL tinyint(3) unsigned zerofill
-NULL test tb1 f17 smallint NULL NULL NULL NULL smallint(6)
-NULL test tb1 f18 smallint NULL NULL NULL NULL smallint(5) unsigned
-NULL test tb1 f19 smallint NULL NULL NULL NULL smallint(5) unsigned zerofill
-NULL test tb1 f20 smallint NULL NULL NULL NULL smallint(5) unsigned zerofill
-NULL test tb1 f21 mediumint NULL NULL NULL NULL mediumint(9)
-NULL test tb1 f22 mediumint NULL NULL NULL NULL mediumint(8) unsigned
-NULL test tb1 f23 mediumint NULL NULL NULL NULL mediumint(8) unsigned zerofill
-NULL test tb1 f24 mediumint NULL NULL NULL NULL mediumint(8) unsigned zerofill
-NULL test tb1 f25 int NULL NULL NULL NULL int(11)
-NULL test tb1 f26 int NULL NULL NULL NULL int(10) unsigned
-NULL test tb1 f27 int NULL NULL NULL NULL int(10) unsigned zerofill
-NULL test tb1 f28 int NULL NULL NULL NULL int(10) unsigned zerofill
-NULL test tb1 f29 bigint NULL NULL NULL NULL bigint(20)
-NULL test tb1 f30 bigint NULL NULL NULL NULL bigint(20) unsigned
-NULL test tb1 f31 bigint NULL NULL NULL NULL bigint(20) unsigned zerofill
-NULL test tb1 f32 bigint NULL NULL NULL NULL bigint(20) unsigned zerofill
-NULL test tb1 f33 decimal NULL NULL NULL NULL decimal(10,0)
-NULL test tb1 f34 decimal NULL NULL NULL NULL decimal(10,0) unsigned
-NULL test tb1 f35 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb1 f36 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb1 f37 decimal NULL NULL NULL NULL decimal(10,0)
-NULL test tb1 f38 decimal NULL NULL NULL NULL decimal(64,0)
-NULL test tb1 f39 decimal NULL NULL NULL NULL decimal(10,0) unsigned
-NULL test tb1 f40 decimal NULL NULL NULL NULL decimal(64,0) unsigned
-NULL test tb1 f41 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb1 f42 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
-NULL test tb1 f43 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb1 f44 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
-NULL test tb1 f45 decimal NULL NULL NULL NULL decimal(10,0)
-NULL test tb1 f46 decimal NULL NULL NULL NULL decimal(63,30)
-NULL test tb1 f47 decimal NULL NULL NULL NULL decimal(10,0) unsigned
-NULL test tb1 f48 decimal NULL NULL NULL NULL decimal(63,30) unsigned
-NULL test tb1 f49 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb1 f50 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
-NULL test tb1 f51 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb1 f52 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
-NULL test tb1 f53 decimal NULL NULL NULL NULL decimal(10,0)
-NULL test tb1 f54 decimal NULL NULL NULL NULL decimal(10,0) unsigned
-NULL test tb1 f55 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb1 f56 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb1 f57 decimal NULL NULL NULL NULL decimal(10,0)
-NULL test tb1 f58 decimal NULL NULL NULL NULL decimal(64,0)
-NULL test tb2 f59 decimal NULL NULL NULL NULL decimal(10,0) unsigned
-NULL test tb2 f60 decimal NULL NULL NULL NULL decimal(64,0) unsigned
-NULL test tb2 f61 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb2 f62 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
-NULL test tb2 f63 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb2 f64 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
-NULL test tb2 f65 decimal NULL NULL NULL NULL decimal(10,0)
-NULL test tb2 f66 decimal NULL NULL NULL NULL decimal(63,30)
-NULL test tb2 f67 decimal NULL NULL NULL NULL decimal(10,0) unsigned
-NULL test tb2 f68 decimal NULL NULL NULL NULL decimal(63,30) unsigned
-NULL test tb2 f69 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb2 f70 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
-NULL test tb2 f71 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb2 f72 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
-NULL test tb2 f73 double NULL NULL NULL NULL double
-NULL test tb2 f74 double unsigned NULL NULL NULL NULL double unsigned
-NULL test tb2 f75 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test tb2 f76 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test tb2 f77 double NULL NULL NULL NULL double
-NULL test tb2 f78 double unsigned NULL NULL NULL NULL double unsigned
-NULL test tb2 f79 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test tb2 f80 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test tb2 f81 float NULL NULL NULL NULL float
-NULL test tb2 f82 float unsigned NULL NULL NULL NULL float unsigned
-NULL test tb2 f83 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb2 f84 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb2 f85 float NULL NULL NULL NULL float
-NULL test tb2 f86 float NULL NULL NULL NULL float
-NULL test tb2 f87 float unsigned NULL NULL NULL NULL float unsigned
-NULL test tb2 f88 float unsigned NULL NULL NULL NULL float unsigned
-NULL test tb2 f89 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb2 f90 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb2 f91 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb2 f92 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb2 f93 float NULL NULL NULL NULL float
-NULL test tb2 f94 double NULL NULL NULL NULL double
-NULL test tb2 f95 float unsigned NULL NULL NULL NULL float unsigned
-NULL test tb2 f96 double unsigned NULL NULL NULL NULL double unsigned
-NULL test tb2 f97 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb2 f98 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test tb2 f99 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb2 f100 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test tb2 f101 date NULL NULL NULL NULL date
-NULL test tb2 f102 time NULL NULL NULL NULL time
-NULL test tb2 f103 datetime NULL NULL NULL NULL datetime
-NULL test tb2 f104 timestamp NULL NULL NULL NULL timestamp
-NULL test tb2 f105 year NULL NULL NULL NULL year(4)
-NULL test tb2 f106 year NULL NULL NULL NULL year(4)
-NULL test tb2 f107 year NULL NULL NULL NULL year(4)
-1.0000 test tb2 f108 enum 5 5 latin1 latin1_swedish_ci enum('1enum','2enum')
-1.0000 test tb2 f109 set 9 9 latin1 latin1_swedish_ci set('1set','2set')
-1.0000 test tb2 f110 varbinary 64 64 NULL NULL varbinary(64)
-1.0000 test tb2 f111 varbinary 27 27 NULL NULL varbinary(27)
-1.0000 test tb2 f112 varbinary 64 64 NULL NULL varbinary(64)
-1.0000 test tb2 f113 varbinary 192 192 NULL NULL varbinary(192)
-1.0000 test tb2 f114 varbinary 192 192 NULL NULL varbinary(192)
-1.0000 test tb2 f115 varbinary 27 27 NULL NULL varbinary(27)
-1.0000 test tb2 f116 varbinary 64 64 NULL NULL varbinary(64)
-1.0000 test tb2 f117 varbinary 192 192 NULL NULL varbinary(192)
-1.0000 test tb3 f118 char 1 1 latin1 latin1_swedish_ci char(1)
-1.0000 test tb3 f119 char 1 1 latin1 latin1_bin char(1)
-1.0000 test tb3 f120 char 1 1 latin1 latin1_swedish_ci char(1)
-1.0000 test tb3 f121 tinytext 255 255 latin1 latin1_swedish_ci tinytext
-1.0000 test tb3 f122 text 65535 65535 latin1 latin1_swedish_ci text
-1.0000 test tb3 f123 mediumtext 16777215 16777215 latin1 latin1_swedish_ci mediumtext
-2.0000 test tb3 f124 longtext 2147483647 4294967295 ucs2 ucs2_general_ci longtext
-1.0000 test tb3 f125 tinyblob 255 255 NULL NULL tinyblob
-1.0000 test tb3 f126 blob 65535 65535 NULL NULL blob
-1.0000 test tb3 f127 mediumblob 16777215 16777215 NULL NULL mediumblob
-1.0000 test tb3 f128 longblob 4294967295 4294967295 NULL NULL longblob
-1.0000 test tb3 f129 binary 1 1 NULL NULL binary(1)
-NULL test tb3 f130 tinyint NULL NULL NULL NULL tinyint(4)
-NULL test tb3 f131 tinyint NULL NULL NULL NULL tinyint(3) unsigned
-NULL test tb3 f132 tinyint NULL NULL NULL NULL tinyint(3) unsigned zerofill
-NULL test tb3 f133 tinyint NULL NULL NULL NULL tinyint(3) unsigned zerofill
-NULL test tb3 f134 smallint NULL NULL NULL NULL smallint(6)
-NULL test tb3 f135 smallint NULL NULL NULL NULL smallint(5) unsigned
-NULL test tb3 f136 smallint NULL NULL NULL NULL smallint(5) unsigned zerofill
-NULL test tb3 f137 smallint NULL NULL NULL NULL smallint(5) unsigned zerofill
-NULL test tb3 f138 mediumint NULL NULL NULL NULL mediumint(9)
-NULL test tb3 f139 mediumint NULL NULL NULL NULL mediumint(8) unsigned
-NULL test tb3 f140 mediumint NULL NULL NULL NULL mediumint(8) unsigned zerofill
-NULL test tb3 f141 mediumint NULL NULL NULL NULL mediumint(8) unsigned zerofill
-NULL test tb3 f142 int NULL NULL NULL NULL int(11)
-NULL test tb3 f143 int NULL NULL NULL NULL int(10) unsigned
-NULL test tb3 f144 int NULL NULL NULL NULL int(10) unsigned zerofill
-NULL test tb3 f145 int NULL NULL NULL NULL int(10) unsigned zerofill
-NULL test tb3 f146 bigint NULL NULL NULL NULL bigint(20)
-NULL test tb3 f147 bigint NULL NULL NULL NULL bigint(20) unsigned
-NULL test tb3 f148 bigint NULL NULL NULL NULL bigint(20) unsigned zerofill
-NULL test tb3 f149 bigint NULL NULL NULL NULL bigint(20) unsigned zerofill
-NULL test tb3 f150 decimal NULL NULL NULL NULL decimal(10,0)
-NULL test tb3 f151 decimal NULL NULL NULL NULL decimal(10,0) unsigned
-NULL test tb3 f152 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb3 f153 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb3 f154 decimal NULL NULL NULL NULL decimal(10,0)
-NULL test tb3 f155 decimal NULL NULL NULL NULL decimal(64,0)
-NULL test tb3 f156 decimal NULL NULL NULL NULL decimal(10,0) unsigned
-NULL test tb3 f157 decimal NULL NULL NULL NULL decimal(64,0) unsigned
-NULL test tb3 f158 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb3 f159 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
-NULL test tb3 f160 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb3 f161 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
-NULL test tb3 f162 decimal NULL NULL NULL NULL decimal(10,0)
-NULL test tb3 f163 decimal NULL NULL NULL NULL decimal(63,30)
-NULL test tb3 f164 decimal NULL NULL NULL NULL decimal(10,0) unsigned
-NULL test tb3 f165 decimal NULL NULL NULL NULL decimal(63,30) unsigned
-NULL test tb3 f166 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb3 f167 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
-NULL test tb3 f168 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb3 f169 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
-NULL test tb3 f170 decimal NULL NULL NULL NULL decimal(10,0)
-NULL test tb3 f171 decimal NULL NULL NULL NULL decimal(10,0) unsigned
-NULL test tb3 f172 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb3 f173 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb3 f174 decimal NULL NULL NULL NULL decimal(10,0)
-NULL test tb3 f175 decimal NULL NULL NULL NULL decimal(64,0)
-NULL test tb4 f176 decimal NULL NULL NULL NULL decimal(10,0) unsigned
-NULL test tb4 f177 decimal NULL NULL NULL NULL decimal(64,0) unsigned
-NULL test tb4 f178 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb4 f179 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
-NULL test tb4 f180 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb4 f181 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill
-NULL test tb4 f182 decimal NULL NULL NULL NULL decimal(10,0)
-NULL test tb4 f183 decimal NULL NULL NULL NULL decimal(63,30)
-NULL test tb4 f184 decimal NULL NULL NULL NULL decimal(10,0) unsigned
-NULL test tb4 f185 decimal NULL NULL NULL NULL decimal(63,30) unsigned
-NULL test tb4 f186 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb4 f187 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
-NULL test tb4 f188 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill
-NULL test tb4 f189 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill
-NULL test tb4 f190 double NULL NULL NULL NULL double
-NULL test tb4 f191 double unsigned NULL NULL NULL NULL double unsigned
-NULL test tb4 f192 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test tb4 f193 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test tb4 f194 double NULL NULL NULL NULL double
-NULL test tb4 f195 double unsigned NULL NULL NULL NULL double unsigned
-NULL test tb4 f196 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test tb4 f197 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test tb4 f198 float NULL NULL NULL NULL float
-NULL test tb4 f199 float unsigned NULL NULL NULL NULL float unsigned
-NULL test tb4 f200 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb4 f201 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb4 f202 float NULL NULL NULL NULL float
-NULL test tb4 f203 float NULL NULL NULL NULL float
-NULL test tb4 f204 float unsigned NULL NULL NULL NULL float unsigned
-NULL test tb4 f205 float unsigned NULL NULL NULL NULL float unsigned
-NULL test tb4 f206 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb4 f207 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb4 f208 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb4 f209 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb4 f210 float NULL NULL NULL NULL float
-NULL test tb4 f211 double NULL NULL NULL NULL double
-NULL test tb4 f212 float unsigned NULL NULL NULL NULL float unsigned
-NULL test tb4 f213 double unsigned NULL NULL NULL NULL double unsigned
-NULL test tb4 f214 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb4 f215 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test tb4 f216 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill
-NULL test tb4 f217 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill
-NULL test tb4 f218 date NULL NULL NULL NULL date
-NULL test tb4 f219 time NULL NULL NULL NULL time
-NULL test tb4 f220 datetime NULL NULL NULL NULL datetime
-NULL test tb4 f221 timestamp NULL NULL NULL NULL timestamp
-NULL test tb4 f222 year NULL NULL NULL NULL year(4)
-NULL test tb4 f223 year NULL NULL NULL NULL year(4)
-NULL test tb4 f224 year NULL NULL NULL NULL year(4)
-1.0000 test tb4 f225 enum 5 5 latin1 latin1_swedish_ci enum('1enum','2enum')
-1.0000 test tb4 f226 set 9 9 latin1 latin1_swedish_ci set('1set','2set')
-1.0000 test tb4 f227 varbinary 64 64 NULL NULL varbinary(64)
-1.0000 test tb4 f228 varbinary 27 27 NULL NULL varbinary(27)
-1.0000 test tb4 f229 varbinary 64 64 NULL NULL varbinary(64)
-1.0000 test tb4 f230 varbinary 192 192 NULL NULL varbinary(192)
-1.0000 test tb4 f231 varbinary 192 192 NULL NULL varbinary(192)
-1.0000 test tb4 f232 varbinary 27 27 NULL NULL varbinary(27)
-1.0000 test tb4 f233 varbinary 64 64 NULL NULL varbinary(64)
-1.0000 test tb4 f234 varbinary 192 192 NULL NULL varbinary(192)
-2.0000 test tb4 f235 char 255 510 ucs2 ucs2_general_ci char(255)
-1.0000 test tb4 f236 char 60 60 latin1 latin1_swedish_ci char(60)
-1.0000 test tb4 f237 char 255 255 latin1 latin1_bin char(255)
-NULL test tb4 f238 varchar 0 0 latin1 latin1_bin varchar(0)
-1.0000 test tb4 f239 varbinary 1000 1000 NULL NULL varbinary(1000)
-2.0000 test tb4 f240 varchar 120 240 ucs2 ucs2_general_ci varchar(120)
-2.0000 test tb4 f241 char 100 200 ucs2 ucs2_general_ci char(100)
-NULL test tb4 f242 bit NULL NULL NULL NULL bit(30)
-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 USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP TABLE IF EXISTS t_6_406001;
-DROP TABLE IF EXISTS t_6_406002;
-DROP DATABASE IF EXISTS db_datadict;
-
-Testcase 3.2.7.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC key_column_usage;
-Field Type Null Key Default Extra
-CONSTRAINT_CATALOG varchar(4096) YES NULL
-CONSTRAINT_SCHEMA varchar(64) NO
-CONSTRAINT_NAME varchar(64) NO
-TABLE_CATALOG varchar(4096) YES NULL
-TABLE_SCHEMA varchar(64) NO
-TABLE_NAME varchar(64) NO
-COLUMN_NAME varchar(64) NO
-ORDINAL_POSITION bigint(10) NO 0
-POSITION_IN_UNIQUE_CONSTRAINT bigint(10) YES NULL
-REFERENCED_TABLE_SCHEMA varchar(64) YES NULL
-REFERENCED_TABLE_NAME varchar(64) YES NULL
-REFERENCED_COLUMN_NAME varchar(64) YES NULL
-SHOW CREATE TABLE key_column_usage;
-Table Create Table
-KEY_COLUMN_USAGE CREATE TEMPORARY TABLE `KEY_COLUMN_USAGE` (
- `CONSTRAINT_CATALOG` varchar(4096) DEFAULT NULL,
- `CONSTRAINT_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `CONSTRAINT_NAME` varchar(64) NOT NULL DEFAULT '',
- `TABLE_CATALOG` varchar(4096) DEFAULT NULL,
- `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `TABLE_NAME` varchar(64) NOT NULL DEFAULT '',
- `COLUMN_NAME` varchar(64) NOT NULL DEFAULT '',
- `ORDINAL_POSITION` bigint(10) NOT NULL DEFAULT '0',
- `POSITION_IN_UNIQUE_CONSTRAINT` bigint(10) DEFAULT NULL,
- `REFERENCED_TABLE_SCHEMA` varchar(64) DEFAULT NULL,
- `REFERENCED_TABLE_NAME` varchar(64) DEFAULT NULL,
- `REFERENCED_COLUMN_NAME` varchar(64) DEFAULT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'key_column_usage'
-ORDER BY ordinal_position;
-COUNT(*)
-12
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'key_column_usage'
-ORDER BY ordinal_position;
-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
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE TABLE_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE COLUMN_NAME 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE ORDINAL_POSITION 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select
-NULL information_schema KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(10) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_NAME 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME 12 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-
-Testcase 3.2.7.2 + 3.2.7.3:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-CREATE DATABASE db_datadict;
-CREATE USER 'user_1'@'localhost';
-CREATE USER 'user_2'@'localhost';
-USE db_datadict;
-CREATE TABLE t_40701 (
-f1 INT NOT NULL, PRIMARY KEY(f1),
-f2 INT, INDEX f2_ind(f2)
-);
-GRANT SELECT ON t_40701 to 'user_1'@'localhost';
-CREATE TABLE t_40702 (
-f1 INT NOT NULL, PRIMARY KEY(f1),
-f2 INT, INDEX f2_ind(f2)
-);
-GRANT SELECT ON t_40702 to 'user_2'@'localhost';
-FLUSH PRIVILEGES;
-SELECT * FROM information_schema.key_column_usage
-ORDER BY constraint_catalog, constraint_schema, constraint_name,
-table_catalog, table_schema, table_name, ordinal_position;
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
-NULL db_datadict PRIMARY NULL db_datadict t_40701 f1 1 NULL NULL NULL NULL
-NULL db_datadict PRIMARY NULL db_datadict t_40702 f1 1 NULL NULL NULL NULL
-NULL mysql name NULL mysql help_category name 1 NULL NULL NULL NULL
-NULL mysql name NULL mysql help_keyword name 1 NULL NULL NULL NULL
-NULL mysql name NULL mysql help_topic name 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql columns_priv Host 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql columns_priv Db 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql columns_priv User 3 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql columns_priv Table_name 4 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql columns_priv Column_name 5 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql db Host 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql db Db 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql db User 3 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql event db 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql event name 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql func name 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql help_category help_category_id 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql help_keyword help_keyword_id 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql help_relation help_keyword_id 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql help_relation help_topic_id 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql help_topic help_topic_id 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql host Host 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql host Db 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql ndb_apply_status server_id 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql ndb_binlog_index epoch 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql plugin name 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql proc db 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql proc name 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql proc type 3 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql procs_priv Host 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql procs_priv Db 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql procs_priv User 3 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql procs_priv Routine_name 4 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql procs_priv Routine_type 5 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql servers Server_name 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql tables_priv Host 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql tables_priv Db 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql tables_priv User 3 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql tables_priv Table_name 4 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql time_zone Time_zone_id 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql time_zone_leap_second Transition_time 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql time_zone_name Name 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql time_zone_transition Time_zone_id 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql time_zone_transition Transition_time 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql time_zone_transition_type Time_zone_id 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql time_zone_transition_type Transition_type_id 2 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql user Host 1 NULL NULL NULL NULL
-NULL mysql PRIMARY NULL mysql user User 2 NULL NULL NULL NULL
-connect(localhost,user_1,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.key_column_usage
-ORDER BY constraint_catalog, constraint_schema, constraint_name,
-table_catalog, table_schema, table_name, ordinal_position;
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
-NULL db_datadict PRIMARY NULL db_datadict t_40701 f1 1 NULL NULL NULL NULL
-connect(localhost,user_2,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.key_column_usage
-ORDER BY constraint_catalog, constraint_schema, constraint_name,
-table_catalog, table_schema, table_name, ordinal_position;
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
-NULL db_datadict PRIMARY NULL db_datadict t_40702 f1 1 NULL NULL NULL NULL
-
-root@localhost db_datadict
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP TABLE t_40701;
-DROP TABLE t_40702;
-DROP DATABASE IF EXISTS db_datadict;
-
-Testcase 3.2.8.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC routines;
-Field Type Null Key Default Extra
-SPECIFIC_NAME varchar(64) NO
-ROUTINE_CATALOG varchar(4096) YES NULL
-ROUTINE_SCHEMA varchar(64) NO
-ROUTINE_NAME varchar(64) NO
-ROUTINE_TYPE varchar(9) NO
-DTD_IDENTIFIER varchar(64) YES NULL
-ROUTINE_BODY varchar(8) NO
-ROUTINE_DEFINITION longtext YES NULL
-EXTERNAL_NAME varchar(64) YES NULL
-EXTERNAL_LANGUAGE varchar(64) YES NULL
-PARAMETER_STYLE varchar(8) NO
-IS_DETERMINISTIC varchar(3) NO
-SQL_DATA_ACCESS varchar(64) NO
-SQL_PATH varchar(64) YES NULL
-SECURITY_TYPE varchar(7) NO
-CREATED datetime NO 0000-00-00 00:00:00
-LAST_ALTERED datetime NO 0000-00-00 00:00:00
-SQL_MODE longtext NO
-ROUTINE_COMMENT varchar(64) NO
-DEFINER varchar(77) NO
-SHOW CREATE TABLE routines;
-Table Create Table
-ROUTINES CREATE TEMPORARY TABLE `ROUTINES` (
- `SPECIFIC_NAME` varchar(64) NOT NULL DEFAULT '',
- `ROUTINE_CATALOG` varchar(4096) DEFAULT NULL,
- `ROUTINE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `ROUTINE_NAME` varchar(64) NOT NULL DEFAULT '',
- `ROUTINE_TYPE` varchar(9) NOT NULL DEFAULT '',
- `DTD_IDENTIFIER` varchar(64) DEFAULT NULL,
- `ROUTINE_BODY` varchar(8) NOT NULL DEFAULT '',
- `ROUTINE_DEFINITION` longtext,
- `EXTERNAL_NAME` varchar(64) DEFAULT NULL,
- `EXTERNAL_LANGUAGE` varchar(64) DEFAULT NULL,
- `PARAMETER_STYLE` varchar(8) NOT NULL DEFAULT '',
- `IS_DETERMINISTIC` varchar(3) NOT NULL DEFAULT '',
- `SQL_DATA_ACCESS` varchar(64) NOT NULL DEFAULT '',
- `SQL_PATH` varchar(64) DEFAULT NULL,
- `SECURITY_TYPE` varchar(7) NOT NULL DEFAULT '',
- `CREATED` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `LAST_ALTERED` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `SQL_MODE` longtext NOT NULL,
- `ROUTINE_COMMENT` varchar(64) NOT NULL DEFAULT '',
- `DEFINER` varchar(77) NOT NULL DEFAULT ''
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'routines'
-ORDER BY ordinal_position;
-COUNT(*)
-20
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'routines'
-ORDER BY ordinal_position;
-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
-NULL information_schema ROUTINES SPECIFIC_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema ROUTINES ROUTINE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_TYPE 5 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
-NULL information_schema ROUTINES DTD_IDENTIFIER 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES ROUTINE_BODY 7 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema ROUTINES ROUTINE_DEFINITION 8 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema ROUTINES EXTERNAL_NAME 9 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES EXTERNAL_LANGUAGE 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES PARAMETER_STYLE 11 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema ROUTINES IS_DETERMINISTIC 12 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema ROUTINES SQL_DATA_ACCESS 13 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES SQL_PATH 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES SECURITY_TYPE 15 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select
-NULL information_schema ROUTINES CREATED 16 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema ROUTINES LAST_ALTERED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema ROUTINES SQL_MODE 18 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema ROUTINES ROUTINE_COMMENT 19 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema ROUTINES DEFINER 20 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
-
-Testcase 3.2.8.2 + 3.2.8.3:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-DROP DATABASE IF EXISTS db_datadict_2;
-CREATE DATABASE db_datadict;
-USE db_datadict;
-CREATE USER 'user_1'@'localhost';
-CREATE USER 'user_2'@'localhost';
-CREATE USER 'user_3'@'localhost';
-CREATE TABLE res_6_408002_1(f1 CHAR(3), f2 TEXT(25), f3 DATE, f4 INT);
-INSERT INTO res_6_408002_1(f1, f2, f3, f4)
-VALUES('abc', 'xyz', '1989-11-09', 0815);
-DROP PROCEDURE IF EXISTS sp_6_408002_1;
-CREATE PROCEDURE sp_6_408002_1()
-BEGIN
-SELECT * FROM db_datadict.res_6_408002_1;
-END//
-CREATE DATABASE db_datadict_2;
-USE db_datadict_2;
-CREATE TABLE res_6_408002_2(f1 CHAR(3), f2 TEXT(25), f3 DATE, f4 INT);
-INSERT INTO res_6_408002_2(f1, f2, f3, f4)
-VALUES('abc', 'xyz', '1990-10-03', 4711);
-DROP PROCEDURE IF EXISTS sp_6_408002_2;
-CREATE PROCEDURE sp_6_408002_2()
-BEGIN
-SELECT * FROM db_datadict_2.res_6_408002_2;
-END//
-GRANT SELECT ON db_datadict_2.* TO 'user_1'@'localhost';
-GRANT EXECUTE ON db_datadict_2.* TO 'user_1'@'localhost';
-GRANT EXECUTE ON db_datadict.* TO 'user_1'@'localhost';
-GRANT SELECT ON db_datadict.* TO 'user_2'@'localhost';
-GRANT EXECUTE ON PROCEDURE db_datadict_2.sp_6_408002_2 TO 'user_2'@'localhost';
-GRANT EXECUTE ON db_datadict_2.* TO 'user_2'@'localhost';
-FLUSH PRIVILEGES;
-connect(localhost,user_1,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.routines;
-SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER
-sp_6_408002_1 NULL db_datadict sp_6_408002_1 PROCEDURE NULL SQL NULL NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost
-sp_6_408002_2 NULL db_datadict_2 sp_6_408002_2 PROCEDURE NULL SQL NULL NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost
-connect(localhost,user_2,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.routines;
-SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER
-sp_6_408002_2 NULL db_datadict_2 sp_6_408002_2 PROCEDURE NULL SQL NULL NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost
-connect(localhost,user_3,,test,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.routines;
-SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER
-
-root@localhost db_datadict_2
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP USER 'user_3'@'localhost';
-use db_datadict;
-DROP TABLE res_6_408002_1;
-DROP PROCEDURE sp_6_408002_1;
-USE db_datadict_2;
-DROP TABLE res_6_408002_2;
-DROP PROCEDURE sp_6_408002_2;
-USE test;
-DROP DATABASE db_datadict;
-DROP DATABASE db_datadict_2;
-
-Testcase 3.2.8.4:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-CREATE DATABASE db_datadict;
-USE db_datadict;
-create table res_6_408004_1(f1 longtext , f2 mediumint , f3 longblob , f4 real , f5 year);
-insert into res_6_408004_1 values ('abc', 98765 , 99999999 , 98765, 10);
-drop procedure if exists sp_6_408004;
-create table res_6_408004_2(f1 longtext , f2 mediumint , f3 longblob , f4 real , f5 year);
-insert into res_6_408004_2 values ('abc', 98765 , 99999999 , 98765, 10);
-
-Checking the max. possible length of (currently) 4 GByte is not possible in this environment here.
---------------------------------------------------------------------------------------------------
-create procedure sp_6_408004 ()
-begin
-declare done integer default 0;
-declare variable_number_1 longtext;
-declare variable_number_2 mediumint;
-declare variable_number_3 longblob;
-declare variable_number_4 real;
-declare variable_number_5 year;
-declare cursor_number_1 cursor for select * from res_6_408004_1 limit 0, 10;
-declare cursor_number_2 cursor for select * from res_6_408004_1 limit 0, 10;
-declare cursor_number_3 cursor for select * from res_6_408004_1 limit 0, 10;
-declare cursor_number_4 cursor for select * from res_6_408004_1 limit 0, 10;
-declare cursor_number_5 cursor for select * from res_6_408004_1 limit 0, 10;
-declare continue handler for sqlstate '02000' set done = 1;
-begin
-open cursor_number_1;
-while done <> 1 do
-fetch cursor_number_1 into variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5;
-if done <> 0 then
-insert into res_6_408004_2 values (variable_number_1, variable_number_2, variable_number_3,
-variable_number_4, variable_number_5);
-end if;
-end while;
-begin
-begin
-set done = 0;
-open cursor_number_2;
-while done <> 1 do
-fetch cursor_number_2 into variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5;
-if done <> 0 then
-insert into res_6_408004_2 values(variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5);
-end if;
-end while;
-end;
-set done = 0;
-open cursor_number_3;
-while done <> 1 do
-fetch cursor_number_3 into variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5;
-if done <> 0 then
-insert into res_6_408004_2 values(variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5);
-end if;
-end while;
-end;
-end;
-begin
-set done = 0;
-open cursor_number_4;
-while done <> 1 do
-fetch cursor_number_4 into variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5;
-if done <> 0 then
-insert into res_6_408004_2 values (variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5);
-end if;
-end while;
-end;
-begin
-set @a='test row';
-select @a;
-select @a;
-select @a;
-end;
-begin
-set done = 0;
-open cursor_number_5;
-while done <> 1 do
-fetch cursor_number_5 into variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5;
-if done <> 0 then
-insert into res_6_408004_2 values (variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5);
-end if;
-end while;
-end;
-begin
-set @a='test row';
-select @a;
-select @a;
-select @a;
-end;
-end//
-call sp_6_408004 ();
-@a
-test row
-@a
-test row
-@a
-test row
-@a
-test row
-@a
-test row
-@a
-test row
-select * from res_6_408004_2;
-f1 f2 f3 f4 f5
-abc 98765 99999999 98765 2010
-abc 98765 99999999 98765 2010
-abc 98765 99999999 98765 2010
-abc 98765 99999999 98765 2010
-abc 98765 99999999 98765 2010
-abc 98765 99999999 98765 2010
-SELECT *, LENGTH(routine_definition)
-FROM information_schema.routines
-WHERE routine_schema = 'db_datadict';
-SPECIFIC_NAME sp_6_408004
-ROUTINE_CATALOG NULL
-ROUTINE_SCHEMA db_datadict
-ROUTINE_NAME sp_6_408004
-ROUTINE_TYPE PROCEDURE
-DTD_IDENTIFIER NULL
-ROUTINE_BODY SQL
-ROUTINE_DEFINITION begin
-declare done integer default 0;
-declare variable_number_1 longtext;
-declare variable_number_2 mediumint;
-declare variable_number_3 longblob;
-declare variable_number_4 real;
-declare variable_number_5 year;
-declare cursor_number_1 cursor for select * from res_6_408004_1 limit 0, 10;
-declare cursor_number_2 cursor for select * from res_6_408004_1 limit 0, 10;
-declare cursor_number_3 cursor for select * from res_6_408004_1 limit 0, 10;
-declare cursor_number_4 cursor for select * from res_6_408004_1 limit 0, 10;
-declare cursor_number_5 cursor for select * from res_6_408004_1 limit 0, 10;
-declare continue handler for sqlstate '02000' set done = 1;
-begin
-open cursor_number_1;
-while done <> 1 do
-fetch cursor_number_1 into variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5;
-if done <> 0 then
-insert into res_6_408004_2 values (variable_number_1, variable_number_2, variable_number_3,
-variable_number_4, variable_number_5);
-end if;
-end while;
-begin
-begin
-set done = 0;
-open cursor_number_2;
-while done <> 1 do
-fetch cursor_number_2 into variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5;
-if done <> 0 then
-insert into res_6_408004_2 values(variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5);
-end if;
-end while;
-end;
-set done = 0;
-open cursor_number_3;
-while done <> 1 do
-fetch cursor_number_3 into variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5;
-if done <> 0 then
-insert into res_6_408004_2 values(variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5);
-end if;
-end while;
-end;
-end;
-begin
-set done = 0;
-open cursor_number_4;
-while done <> 1 do
-fetch cursor_number_4 into variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5;
-if done <> 0 then
-insert into res_6_408004_2 values (variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5);
-end if;
-end while;
-end;
-begin
-set @a='test row';
-select @a;
-select @a;
-select @a;
-end;
-begin
-set done = 0;
-open cursor_number_5;
-while done <> 1 do
-fetch cursor_number_5 into variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5;
-if done <> 0 then
-insert into res_6_408004_2 values (variable_number_1, variable_number_2, variable_number_3, variable_number_4, variable_number_5);
-end if;
-end while;
-end;
-begin
-set @a='test row';
-select @a;
-select @a;
-select @a;
-end;
-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 YYYY-MM-DD hh:mm:ss
-LAST_ALTERED YYYY-MM-DD hh:mm:ss
-SQL_MODE
-ROUTINE_COMMENT
-DEFINER root@localhost
-LENGTH(routine_definition) 2549
-use db_datadict;
-drop procedure sp_6_408004;
-drop table res_6_408004_1;
-drop table res_6_408004_2;
-use test;
-drop database db_datadict;
-
-Testcase 3.2.9.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC schemata;
-Field Type Null Key Default Extra
-CATALOG_NAME varchar(4096) YES NULL
-SCHEMA_NAME varchar(64) NO
-DEFAULT_CHARACTER_SET_NAME varchar(64) NO
-DEFAULT_COLLATION_NAME varchar(64) NO
-SQL_PATH varchar(4096) YES NULL
-SHOW CREATE TABLE schemata;
-Table Create Table
-SCHEMATA CREATE TEMPORARY TABLE `SCHEMATA` (
- `CATALOG_NAME` varchar(4096) DEFAULT NULL,
- `SCHEMA_NAME` varchar(64) NOT NULL DEFAULT '',
- `DEFAULT_CHARACTER_SET_NAME` varchar(64) NOT NULL DEFAULT '',
- `DEFAULT_COLLATION_NAME` varchar(64) NOT NULL DEFAULT '',
- `SQL_PATH` varchar(4096) DEFAULT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'schemata'
-ORDER BY ordinal_position;
-COUNT(*)
-5
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'schemata'
-ORDER BY ordinal_position;
-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
-NULL information_schema SCHEMATA CATALOG_NAME 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema SCHEMATA SCHEMA_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA DEFAULT_COLLATION_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMATA SQL_PATH 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-
-Testcase 3.2.9.2 + 3.2.9.3:
---------------------------------------------------------------------------------
-CREATE USER 'user_1'@'localhost';
-CREATE USER 'user_2'@'localhost';
-CREATE USER 'user_3'@'localhost';
-DROP DATABASE IF EXISTS db_datadict_1;
-DROP DATABASE IF EXISTS db_datadict_2;
-CREATE DATABASE db_datadict_1;
-CREATE DATABASE db_datadict_2;
-GRANT SELECT ON db_datadict_1.* to 'user_1'@'localhost';
-GRANT SELECT ON db_datadict_2.* to 'user_2'@'localhost';
-FLUSH PRIVILEGES;
-connect(localhost,user_1,,db_datadict_1,MYSQL_PORT,MYSQL_SOCK);
-SELECT COUNT(*) FROM information_schema.schemata;
-COUNT(*)
-3
-SELECT * FROM information_schema.schemata;
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL information_schema utf8 utf8_general_ci NULL
-NULL db_datadict_1 latin1 latin1_swedish_ci NULL
-NULL test latin1 latin1_swedish_ci NULL
-connect(localhost,user_2,,db_datadict_2,MYSQL_PORT,MYSQL_SOCK);
-SELECT COUNT(*) FROM information_schema.schemata;
-COUNT(*)
-3
-SELECT * FROM information_schema.schemata;
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL information_schema utf8 utf8_general_ci NULL
-NULL db_datadict_2 latin1 latin1_swedish_ci NULL
-NULL test latin1 latin1_swedish_ci NULL
-connect(localhost,user_3,,test,MYSQL_PORT,MYSQL_SOCK);
-SELECT COUNT(*) FROM information_schema.schemata;
-COUNT(*)
-2
-SELECT * FROM information_schema.schemata;
-CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH
-NULL information_schema utf8 utf8_general_ci NULL
-NULL test latin1 latin1_swedish_ci NULL
-
-root@localhost information_schema
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP USER 'user_3'@'localhost';
-DROP DATABASE db_datadict_1;
-DROP DATABASE db_datadict_2;
-
-Testcase 3.2.10.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC table_constraints;
-Field Type Null Key Default Extra
-CONSTRAINT_CATALOG varchar(4096) YES NULL
-CONSTRAINT_SCHEMA varchar(64) NO
-CONSTRAINT_NAME varchar(64) NO
-TABLE_SCHEMA varchar(64) NO
-TABLE_NAME varchar(64) NO
-CONSTRAINT_TYPE varchar(64) NO
-SHOW CREATE TABLE table_constraints;
-Table Create Table
-TABLE_CONSTRAINTS CREATE TEMPORARY TABLE `TABLE_CONSTRAINTS` (
- `CONSTRAINT_CATALOG` varchar(4096) DEFAULT NULL,
- `CONSTRAINT_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `CONSTRAINT_NAME` varchar(64) NOT NULL DEFAULT '',
- `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `TABLE_NAME` varchar(64) NOT NULL DEFAULT '',
- `CONSTRAINT_TYPE` varchar(64) NOT NULL DEFAULT ''
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'table_constraints'
-ORDER BY ordinal_position;
-COUNT(*)
-6
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'table_constraints'
-ORDER BY ordinal_position;
-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
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS TABLE_SCHEMA 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS TABLE_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-
-Testcase 3.2.10.2 + 3.2.10.3:
---------------------------------------------------------------------------------
-CREATE USER 'user_1'@'localhost';
-CREATE USER 'user_2'@'localhost';
-DROP DATABASE IF EXISTS db_datadict;
-DROP DATABASE IF EXISTS db_datadict_2;
-CREATE DATABASE db_datadict;
-CREATE DATABASE db_datadict_2;
-USE db_datadict;
-CREATE TABLE res_6_401003_1(f1 INT NOT NULL, PRIMARY KEY(f1), f2 INT, INDEX f2_ind(f2));
-USE db_datadict_2;
-CREATE TABLE res_6_401003_2(f1 INT NOT NULL, PRIMARY KEY(f1), f2 INT, INDEX f2_ind(f2));
-GRANT SELECT ON db_datadict.res_6_401003_1 TO 'user_1'@'localhost';
-GRANT SELECT ON db_datadict_2.res_6_401003_2 TO 'user_2'@'localhost';
-FLUSH PRIVILEGES;
-connect(localhost,user_1,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.table_constraints;
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE
-NULL db_datadict PRIMARY db_datadict res_6_401003_1 PRIMARY KEY
-SELECT COUNT(*) FROM information_schema.table_constraints;
-COUNT(*)
-1
-connect(localhost,user_2,,db_datadict_2,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.table_constraints;
-CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE
-NULL db_datadict_2 PRIMARY db_datadict_2 res_6_401003_2 PRIMARY KEY
-SELECT COUNT(*) FROM information_schema.table_constraints;
-COUNT(*)
-1
-use db_datadict;
-
-root@localhost db_datadict
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP TABLE res_6_401003_1;
-USE db_datadict_2;
-DROP TABLE res_6_401003_2;
-USE test;
-DROP DATABASE db_datadict;
-DROP DATABASE db_datadict_2;
-
-Testcase 3.2.11.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC table_privileges;
-Field Type Null Key Default Extra
-GRANTEE varchar(81) NO
-TABLE_CATALOG varchar(4096) YES NULL
-TABLE_SCHEMA varchar(64) NO
-TABLE_NAME varchar(64) NO
-PRIVILEGE_TYPE varchar(64) NO
-IS_GRANTABLE varchar(3) NO
-SHOW CREATE TABLE table_privileges;
-Table Create Table
-TABLE_PRIVILEGES CREATE TEMPORARY TABLE `TABLE_PRIVILEGES` (
- `GRANTEE` varchar(81) NOT NULL DEFAULT '',
- `TABLE_CATALOG` varchar(4096) DEFAULT NULL,
- `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `TABLE_NAME` varchar(64) NOT NULL DEFAULT '',
- `PRIVILEGE_TYPE` varchar(64) NOT NULL DEFAULT '',
- `IS_GRANTABLE` varchar(3) NOT NULL DEFAULT ''
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'table_privileges'
-ORDER BY ordinal_position;
-COUNT(*)
-6
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'table_privileges'
-ORDER BY ordinal_position;
-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
-NULL information_schema TABLE_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema TABLE_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLE_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES PRIVILEGE_TYPE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLE_PRIVILEGES IS_GRANTABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-
-Testcase 3.2.11.2 + 3.2.11.3 + 3.2.11.4:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-create database db_datadict;
-CREATE USER 'user_1'@'localhost';
-GRANT CREATE, SELECT ON db_datadict.* TO 'user_1'@'localhost' WITH GRANT OPTION;
-CREATE USER 'user_2'@'localhost';
-CREATE USER 'user_3'@'localhost';
-use db_datadict;
-create table tb1(f1 int, f2 int, f3 int);
-grant select on db_datadict.tb1 to 'user_1'@'localhost';
-GRANT ALL on db_datadict.tb1 to 'user_2'@'localhost' WITH GRANT OPTION;
-FLUSH PRIVILEGES;
-connect(localhost,user_1,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-CREATE TABLE tb3 (f1 TEXT);
-GRANT SELECT ON db_datadict.tb3 to 'user_3'@'localhost';
-SELECT * FROM information_schema.table_privileges
-WHERE table_name LIKE 'tb%';
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL db_datadict tb1 SELECT NO
-connect(localhost,user_2,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.table_privileges;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-'user_2'@'localhost' NULL db_datadict tb1 SELECT YES
-'user_2'@'localhost' NULL db_datadict tb1 INSERT YES
-'user_2'@'localhost' NULL db_datadict tb1 UPDATE YES
-'user_2'@'localhost' NULL db_datadict tb1 DELETE YES
-'user_2'@'localhost' NULL db_datadict tb1 CREATE YES
-'user_2'@'localhost' NULL db_datadict tb1 DROP YES
-'user_2'@'localhost' NULL db_datadict tb1 REFERENCES YES
-'user_2'@'localhost' NULL db_datadict tb1 INDEX YES
-'user_2'@'localhost' NULL db_datadict tb1 ALTER YES
-'user_2'@'localhost' NULL db_datadict tb1 CREATE VIEW YES
-'user_2'@'localhost' NULL db_datadict tb1 SHOW VIEW YES
-'user_2'@'localhost' NULL db_datadict tb1 TRIGGER YES
-SELECT USER(), COUNT(*)
-FROM information_schema.table_privileges
-WHERE grantee = USER();
-USER() COUNT(*)
-user_2@localhost 0
-SELECT USER(), COUNT(*)
-FROM information_schema.table_privileges
-WHERE grantee = "'user_2'@'localhost'";
-USER() COUNT(*)
-user_2@localhost 12
-connect(localhost,user_3,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.table_privileges;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-'user_3'@'localhost' NULL db_datadict tb3 SELECT NO
-
-root@localhost db_datadict
-SELECT * FROM information_schema.table_privileges;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
-'user_2'@'localhost' NULL db_datadict tb1 SELECT YES
-'user_2'@'localhost' NULL db_datadict tb1 INSERT YES
-'user_2'@'localhost' NULL db_datadict tb1 UPDATE YES
-'user_2'@'localhost' NULL db_datadict tb1 DELETE YES
-'user_2'@'localhost' NULL db_datadict tb1 CREATE YES
-'user_2'@'localhost' NULL db_datadict tb1 DROP YES
-'user_2'@'localhost' NULL db_datadict tb1 REFERENCES YES
-'user_2'@'localhost' NULL db_datadict tb1 INDEX YES
-'user_2'@'localhost' NULL db_datadict tb1 ALTER YES
-'user_2'@'localhost' NULL db_datadict tb1 CREATE VIEW YES
-'user_2'@'localhost' NULL db_datadict tb1 SHOW VIEW YES
-'user_2'@'localhost' NULL db_datadict tb1 TRIGGER YES
-'user_1'@'localhost' NULL db_datadict tb1 SELECT NO
-'user_3'@'localhost' NULL db_datadict tb3 SELECT NO
-
-root@localhost db_datadict
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP USER 'user_3'@'localhost';
-drop table db_datadict.tb1;
-drop table db_datadict.tb3;
-use test;
-drop database db_datadict;
-
-Testcase 3.2.12.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC tables;
-Field Type Null Key Default Extra
-TABLE_CATALOG varchar(4096) YES NULL
-TABLE_SCHEMA varchar(64) NO
-TABLE_NAME varchar(64) NO
-TABLE_TYPE varchar(64) NO
-ENGINE varchar(64) YES NULL
-VERSION bigint(21) unsigned YES NULL
-ROW_FORMAT varchar(10) YES NULL
-TABLE_ROWS bigint(21) unsigned YES NULL
-AVG_ROW_LENGTH bigint(21) unsigned YES NULL
-DATA_LENGTH bigint(21) unsigned YES NULL
-MAX_DATA_LENGTH bigint(21) unsigned YES NULL
-INDEX_LENGTH bigint(21) unsigned YES NULL
-DATA_FREE bigint(21) unsigned YES NULL
-AUTO_INCREMENT bigint(21) unsigned YES NULL
-CREATE_TIME datetime YES NULL
-UPDATE_TIME datetime YES NULL
-CHECK_TIME datetime YES NULL
-TABLE_COLLATION varchar(64) YES NULL
-CHECKSUM bigint(21) unsigned YES NULL
-CREATE_OPTIONS varchar(255) YES NULL
-TABLE_COMMENT varchar(80) NO
-SHOW CREATE TABLE tables;
-Table Create Table
-TABLES CREATE TEMPORARY TABLE `TABLES` (
- `TABLE_CATALOG` varchar(4096) DEFAULT NULL,
- `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `TABLE_NAME` varchar(64) NOT NULL DEFAULT '',
- `TABLE_TYPE` varchar(64) NOT NULL DEFAULT '',
- `ENGINE` varchar(64) DEFAULT NULL,
- `VERSION` bigint(21) unsigned DEFAULT NULL,
- `ROW_FORMAT` varchar(10) DEFAULT NULL,
- `TABLE_ROWS` bigint(21) unsigned DEFAULT NULL,
- `AVG_ROW_LENGTH` bigint(21) unsigned DEFAULT NULL,
- `DATA_LENGTH` bigint(21) unsigned DEFAULT NULL,
- `MAX_DATA_LENGTH` bigint(21) unsigned DEFAULT NULL,
- `INDEX_LENGTH` bigint(21) unsigned DEFAULT NULL,
- `DATA_FREE` bigint(21) unsigned DEFAULT NULL,
- `AUTO_INCREMENT` bigint(21) unsigned DEFAULT NULL,
- `CREATE_TIME` datetime DEFAULT NULL,
- `UPDATE_TIME` datetime DEFAULT NULL,
- `CHECK_TIME` datetime DEFAULT NULL,
- `TABLE_COLLATION` varchar(64) DEFAULT NULL,
- `CHECKSUM` bigint(21) unsigned DEFAULT NULL,
- `CREATE_OPTIONS` varchar(255) DEFAULT NULL,
- `TABLE_COMMENT` varchar(80) NOT NULL DEFAULT ''
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'tables'
-ORDER BY ordinal_position;
-COUNT(*)
-21
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'tables'
-ORDER BY ordinal_position;
-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
-NULL information_schema TABLES TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select
-NULL information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
-NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
-
-Testcase 3.2.12.2 + 3.2.12.3:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-create database db_datadict;
-CREATE USER 'user_1'@'localhost';
-GRANT CREATE, CREATE VIEW, INSERT, SELECT ON db_datadict.*
-TO 'user_1'@'localhost' WITH GRANT OPTION;
-CREATE USER 'user_2'@'localhost';
-CREATE USER 'user_3'@'localhost';
-use db_datadict;
-create table tb1(f1 int, f2 int, f3 int);
-grant select on db_datadict.tb1 to 'user_1'@'localhost';
-GRANT ALL on db_datadict.tb1 to 'user_2'@'localhost' WITH GRANT OPTION;
-FLUSH PRIVILEGES;
-connect(localhost,user_1,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-CREATE TABLE tb2 (f1 DECIMAL);
-CREATE TABLE tb3 (f1 TEXT);
-GRANT SELECT ON db_datadict.tb3 to 'user_3'@'localhost';
-GRANT INSERT ON db_datadict.tb3 to 'user_2'@'localhost';
-CREATE VIEW v3 AS SELECT * FROM tb3;
-GRANT SELECT ON db_datadict.v3 to 'user_3'@'localhost';
-SELECT * FROM information_schema.tables
-WHERE table_schema = 'information_schema';
-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
-NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLUMNS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema ENGINES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema EVENTS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema FILES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema GLOBAL_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema GLOBAL_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema PARTITIONS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema PLUGINS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema PROCESSLIST SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema REFERENTIAL_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema ROUTINES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SESSION_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SESSION_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema STATISTICS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TABLES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema VIEWS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-SELECT * FROM information_schema.tables
-WHERE NOT( table_schema = 'information_schema');
-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
-NULL db_datadict tb1 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL db_datadict tb2 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL VIEW
-NULL test t1 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2
-NULL test t10 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2
-NULL test t11 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2
-NULL test t2 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2
-NULL test t3 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2
-NULL test t4 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2
-NULL test t7 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2
-NULL test t8 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2
-NULL test t9 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2
-NULL test tb1 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test tb2 BASE TABLE MyISAM 10 Dynamic 54 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test tb3 BASE TABLE MyISAM 10 Dynamic 11 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test tb4 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-connect(localhost,user_2,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.tables
-WHERE table_schema = 'information_schema';
-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
-NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLUMNS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema ENGINES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema EVENTS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema FILES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema GLOBAL_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema GLOBAL_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema PARTITIONS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema PLUGINS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema PROCESSLIST SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema REFERENTIAL_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema ROUTINES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SESSION_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SESSION_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema STATISTICS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TABLES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema VIEWS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-SELECT * FROM information_schema.tables
-WHERE NOT( table_schema = 'information_schema');
-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
-NULL db_datadict tb1 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test t1 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2
-NULL test t10 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2
-NULL test t11 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2
-NULL test t2 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2
-NULL test t3 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2
-NULL test t4 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2
-NULL test t7 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2
-NULL test t8 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2
-NULL test t9 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2
-NULL test tb1 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test tb2 BASE TABLE MyISAM 10 Dynamic 54 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test tb3 BASE TABLE MyISAM 10 Dynamic 11 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test tb4 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-connect(localhost,user_3,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.tables
-WHERE table_schema = 'information_schema';
-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
-NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLUMNS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema ENGINES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema EVENTS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema FILES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema GLOBAL_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema GLOBAL_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema PARTITIONS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema PLUGINS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema PROCESSLIST SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema REFERENTIAL_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema ROUTINES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SESSION_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SESSION_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema STATISTICS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TABLES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema VIEWS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-SELECT * FROM information_schema.tables
-WHERE NOT( table_schema = 'information_schema');
-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
-NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL VIEW
-NULL test t1 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2
-NULL test t10 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2
-NULL test t11 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2
-NULL test t2 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2
-NULL test t3 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2
-NULL test t4 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2
-NULL test t7 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2
-NULL test t8 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2
-NULL test t9 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2
-NULL test tb1 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test tb2 BASE TABLE MyISAM 10 Dynamic 54 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test tb3 BASE TABLE MyISAM 10 Dynamic 11 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test tb4 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-
-root@localhost db_datadict
-SELECT * FROM information_schema.tables
-WHERE table_schema = 'information_schema';
-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
-NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLUMNS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema ENGINES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema EVENTS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema FILES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema GLOBAL_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema GLOBAL_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema PARTITIONS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema PLUGINS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema PROCESSLIST SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema REFERENTIAL_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema ROUTINES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SESSION_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema SESSION_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema STATISTICS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TABLES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-NULL information_schema VIEWS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO#
-SELECT * FROM information_schema.tables
-WHERE NOT( table_schema = 'information_schema');
-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
-NULL db_datadict tb1 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL db_datadict tb2 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL VIEW
-NULL mysql user BASE TABLE MyISAM 10 Dynamic 6 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Users and global privileges
-NULL mysql columns_priv BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Column privileges
-NULL mysql db BASE TABLE MyISAM 10 Fixed 3 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Database privileges
-NULL mysql event BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Events
-NULL mysql func BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL User defined functions
-NULL mysql general_log BASE TABLE CSV 10 Dynamic 2 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL General log
-NULL mysql help_category BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL help categories
-NULL mysql help_keyword BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL help keywords
-NULL mysql help_relation BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL keyword-topic relation
-NULL mysql help_topic BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL help topics
-NULL mysql host BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Host privileges; Merged with database privileges
-NULL mysql ndb_apply_status BASE TABLE NDBCLUSTER 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2
-NULL mysql ndb_binlog_index BASE TABLE MyISAM 10 Dynamic 5 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL mysql plugin BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL MySQL plugins
-NULL mysql proc BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Stored Procedures
-NULL mysql procs_priv BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Procedure privileges
-NULL mysql servers BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL MySQL Foreign Servers table
-NULL mysql slow_log BASE TABLE CSV 10 Dynamic 2 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Slow log
-NULL mysql tables_priv BASE TABLE MyISAM 10 Fixed 5 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Table privileges
-NULL mysql time_zone BASE TABLE MyISAM 10 Fixed 5 #ARL# #DL# #MDL# #IL# #DF# 6 YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Time zones
-NULL mysql time_zone_leap_second BASE TABLE MyISAM 10 Fixed 22 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Leap seconds information for time zones
-NULL mysql time_zone_name BASE TABLE MyISAM 10 Fixed 6 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Time zone names
-NULL mysql time_zone_transition BASE TABLE MyISAM 10 Fixed 393 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Time zone transitions
-NULL mysql time_zone_transition_type BASE TABLE MyISAM 10 Fixed 31 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Time zone transition types
-NULL test t1 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2
-NULL test t10 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2
-NULL test t11 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2
-NULL test t2 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2
-NULL test t3 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2
-NULL test t4 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2
-NULL test t7 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2
-NULL test t8 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2
-NULL test t9 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2
-NULL test tb1 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test tb2 BASE TABLE MyISAM 10 Dynamic 54 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test tb3 BASE TABLE MyISAM 10 Dynamic 11 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test tb4 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL
-NULL test4 t6 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP USER 'user_3'@'localhost';
-DROP TABLE db_datadict.tb1;
-DROP TABLE db_datadict.tb3;
-DROP VIEW db_datadict.v3;
-USE test;
-DROP DATABASE db_datadict;
-
-Testcase 3.2.13.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC views;
-Field Type Null Key Default Extra
-TABLE_CATALOG varchar(4096) YES NULL
-TABLE_SCHEMA varchar(64) NO
-TABLE_NAME varchar(64) NO
-VIEW_DEFINITION longtext NO
-CHECK_OPTION varchar(8) NO
-IS_UPDATABLE varchar(3) NO
-DEFINER varchar(77) NO
-SECURITY_TYPE varchar(7) NO
-SHOW CREATE TABLE views;
-Table Create Table
-VIEWS CREATE TEMPORARY TABLE `VIEWS` (
- `TABLE_CATALOG` varchar(4096) DEFAULT NULL,
- `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `TABLE_NAME` varchar(64) NOT NULL DEFAULT '',
- `VIEW_DEFINITION` longtext NOT NULL,
- `CHECK_OPTION` varchar(8) NOT NULL DEFAULT '',
- `IS_UPDATABLE` varchar(3) NOT NULL DEFAULT '',
- `DEFINER` varchar(77) NOT NULL DEFAULT '',
- `SECURITY_TYPE` varchar(7) NOT NULL DEFAULT ''
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'views'
-ORDER BY ordinal_position;
-COUNT(*)
-8
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'views'
-ORDER BY ordinal_position;
-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
-NULL information_schema VIEWS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema VIEWS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema VIEWS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema VIEWS VIEW_DEFINITION 4 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema VIEWS CHECK_OPTION 5 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select
-NULL information_schema VIEWS IS_UPDATABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema VIEWS DEFINER 7 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select
-NULL information_schema VIEWS SECURITY_TYPE 8 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select
-
-Testcase 3.2.13.2 + 3.2.13.3:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-CREATE DATABASE db_datadict;
-CREATE USER 'user_1'@'localhost';
-CREATE USER 'user_2'@'localhost';
-CREATE USER 'user_no_views'@'localhost';
-USE db_datadict;
-CREATE TABLE tb_401302(f1 INT, f2 INT, f3 INT);
-CREATE VIEW v_granted_to_1 AS SELECT * FROM tb_401302;
-CREATE VIEW v_granted_glob AS SELECT f2, f3 FROM tb_401302;
-GRANT SELECT ON db_datadict.tb_401302 TO 'user_1'@'localhost';
-GRANT SELECT ON db_datadict.v_granted_to_1 TO 'user_1'@'localhost';
-GRANT SHOW VIEW, CREATE VIEW ON db_datadict.* TO 'user_2'@'localhost';
-FLUSH PRIVILEGES;
-SELECT * FROM information_schema.views;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE
-NULL db_datadict v_granted_glob /* ALGORITHM=UNDEFINED */ select `db_datadict`.`tb_401302`.`f2` AS `f2`,`db_datadict`.`tb_401302`.`f3` AS `f3` from `db_datadict`.`tb_401302` NONE YES root@localhost DEFINER
-NULL db_datadict v_granted_to_1 /* ALGORITHM=UNDEFINED */ select `db_datadict`.`tb_401302`.`f1` AS `f1`,`db_datadict`.`tb_401302`.`f2` AS `f2`,`db_datadict`.`tb_401302`.`f3` AS `f3` from `db_datadict`.`tb_401302` NONE YES root@localhost DEFINER
-connect(localhost,user_1,,test,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.views;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE
-NULL db_datadict v_granted_to_1 NONE YES root@localhost DEFINER
-connect(localhost,user_2,,test,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.views;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE
-NULL db_datadict v_granted_glob NONE YES root@localhost DEFINER
-NULL db_datadict v_granted_to_1 NONE YES root@localhost DEFINER
-connect(localhost,user_no_views,,test,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.views;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE
-
-root@localhost db_datadict
-USE db_datadict;
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP USER 'user_no_views'@'localhost';
-DROP VIEW v_granted_to_1;
-DROP TABLE tb_401302;
-DROP VIEW v_granted_glob;
-USE test;
-DROP DATABASE db_datadict;
-
-Testcase 3.2.14.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC statistics;
-Field Type Null Key Default Extra
-TABLE_CATALOG varchar(4096) YES NULL
-TABLE_SCHEMA varchar(64) NO
-TABLE_NAME varchar(64) NO
-NON_UNIQUE bigint(1) NO 0
-INDEX_SCHEMA varchar(64) NO
-INDEX_NAME varchar(64) NO
-SEQ_IN_INDEX bigint(2) NO 0
-COLUMN_NAME varchar(64) NO
-COLLATION varchar(1) YES NULL
-CARDINALITY bigint(21) YES NULL
-SUB_PART bigint(3) YES NULL
-PACKED varchar(10) YES NULL
-NULLABLE varchar(3) NO
-INDEX_TYPE varchar(16) NO
-COMMENT varchar(16) YES NULL
-SHOW CREATE TABLE statistics;
-Table Create Table
-STATISTICS CREATE TEMPORARY TABLE `STATISTICS` (
- `TABLE_CATALOG` varchar(4096) DEFAULT NULL,
- `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `TABLE_NAME` varchar(64) NOT NULL DEFAULT '',
- `NON_UNIQUE` bigint(1) NOT NULL DEFAULT '0',
- `INDEX_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `INDEX_NAME` varchar(64) NOT NULL DEFAULT '',
- `SEQ_IN_INDEX` bigint(2) NOT NULL DEFAULT '0',
- `COLUMN_NAME` varchar(64) NOT NULL DEFAULT '',
- `COLLATION` varchar(1) DEFAULT NULL,
- `CARDINALITY` bigint(21) DEFAULT NULL,
- `SUB_PART` bigint(3) DEFAULT NULL,
- `PACKED` varchar(10) DEFAULT NULL,
- `NULLABLE` varchar(3) NOT NULL DEFAULT '',
- `INDEX_TYPE` varchar(16) NOT NULL DEFAULT '',
- `COMMENT` varchar(16) DEFAULT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'statistics'
-ORDER BY ordinal_position;
-COUNT(*)
-15
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'statistics'
-ORDER BY ordinal_position;
-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
-NULL information_schema STATISTICS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema STATISTICS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS NON_UNIQUE 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(1) select
-NULL information_schema STATISTICS INDEX_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS INDEX_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS SEQ_IN_INDEX 7 0 NO bigint NULL NULL 19 0 NULL NULL bigint(2) select
-NULL information_schema STATISTICS COLUMN_NAME 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema STATISTICS COLLATION 9 NULL YES varchar 1 3 NULL NULL utf8 utf8_general_ci varchar(1) select
-NULL information_schema STATISTICS CARDINALITY 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select
-NULL information_schema STATISTICS SUB_PART 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(3) select
-NULL information_schema STATISTICS PACKED 12 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
-NULL information_schema STATISTICS NULLABLE 13 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema STATISTICS INDEX_TYPE 14 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-NULL information_schema STATISTICS COMMENT 15 NULL YES varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select
-
-Testcase 3.2.14.2 + 3.2.14.3:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-DROP DATABASE IF EXISTS db_datadict_2;
-CREATE DATABASE db_datadict;
-CREATE DATABASE db_datadict_2;
-CREATE USER 'user_1'@'localhost';
-CREATE USER 'user_2'@'localhost';
-USE db_datadict;
-create table tb_6_401402_1(f1 int not null, primary key(f1), f2 int, index f2_ind(f2));
-create table tb_6_401402_2(f1 int not null, primary key(f1), f2 int, index f2_ind(f2));
-grant select on db_datadict.tb_6_401402_1 to 'user_1'@'localhost' WITH GRANT OPTION;
-USE db_datadict_2;
-create table tb_2_1(f1 int not null, primary key(f1), f2 int, index f2_ind(f2));
-create table tb_2_2(f1 int not null, primary key(f1), f2 int, index f2_ind(f2));
-grant select on db_datadict_2.tb_2_1 to 'user_1'@'localhost';
-FLUSH PRIVILEGES;
-connect(localhost,user_1,,test,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.statistics;
-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
-NULL db_datadict tb_6_401402_1 0 db_datadict PRIMARY 1 f1 A 0 NULL NULL BTREE
-NULL db_datadict tb_6_401402_1 1 db_datadict f2_ind 1 f2 A NULL NULL NULL YES BTREE
-NULL db_datadict_2 tb_2_1 0 db_datadict_2 PRIMARY 1 f1 A 0 NULL NULL BTREE
-NULL db_datadict_2 tb_2_1 1 db_datadict_2 f2_ind 1 f2 A NULL NULL NULL YES BTREE
-connect(localhost,user_2,,test,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.statistics;
-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
-
-root@localhost db_datadict_2
-REVOKE SELECT ON db_datadict.tb_6_401402_1 FROM 'user_1'@'localhost';
-SELECT * FROM information_schema.statistics;
-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
-NULL db_datadict tb_6_401402_1 0 db_datadict PRIMARY 1 f1 A 0 NULL NULL BTREE
-NULL db_datadict tb_6_401402_1 1 db_datadict f2_ind 1 f2 A NULL NULL NULL YES BTREE
-NULL db_datadict tb_6_401402_2 0 db_datadict PRIMARY 1 f1 A 0 NULL NULL BTREE
-NULL db_datadict tb_6_401402_2 1 db_datadict f2_ind 1 f2 A NULL NULL NULL YES BTREE
-NULL db_datadict_2 tb_2_1 0 db_datadict_2 PRIMARY 1 f1 A 0 NULL NULL BTREE
-NULL db_datadict_2 tb_2_1 1 db_datadict_2 f2_ind 1 f2 A NULL NULL NULL YES BTREE
-NULL db_datadict_2 tb_2_2 0 db_datadict_2 PRIMARY 1 f1 A 0 NULL NULL BTREE
-NULL db_datadict_2 tb_2_2 1 db_datadict_2 f2_ind 1 f2 A NULL NULL NULL YES BTREE
-NULL mysql user 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-NULL mysql user 0 mysql PRIMARY 2 User A 5 NULL NULL BTREE
-NULL mysql columns_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-NULL mysql columns_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE
-NULL mysql columns_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE
-NULL mysql columns_priv 0 mysql PRIMARY 4 Table_name A NULL NULL NULL BTREE
-NULL mysql columns_priv 0 mysql PRIMARY 5 Column_name A 0 NULL NULL BTREE
-NULL mysql db 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-NULL mysql db 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE
-NULL mysql db 0 mysql PRIMARY 3 User A 2 NULL NULL BTREE
-NULL mysql db 1 mysql User 1 User A 1 NULL NULL BTREE
-NULL mysql event 0 mysql PRIMARY 1 db A NULL NULL NULL BTREE
-NULL mysql event 0 mysql PRIMARY 2 name A 0 NULL NULL BTREE
-NULL mysql func 0 mysql PRIMARY 1 name A 0 NULL NULL BTREE
-NULL mysql help_category 0 mysql PRIMARY 1 help_category_id A 0 NULL NULL BTREE
-NULL mysql help_category 0 mysql name 1 name A 0 NULL NULL BTREE
-NULL mysql help_keyword 0 mysql PRIMARY 1 help_keyword_id A 0 NULL NULL BTREE
-NULL mysql help_keyword 0 mysql name 1 name A 0 NULL NULL BTREE
-NULL mysql help_relation 0 mysql PRIMARY 1 help_keyword_id A NULL NULL NULL BTREE
-NULL mysql help_relation 0 mysql PRIMARY 2 help_topic_id A 0 NULL NULL BTREE
-NULL mysql help_topic 0 mysql PRIMARY 1 help_topic_id A 0 NULL NULL BTREE
-NULL mysql help_topic 0 mysql name 1 name A 0 NULL NULL BTREE
-NULL mysql host 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-NULL mysql host 0 mysql PRIMARY 2 Db A 0 NULL NULL BTREE
-NULL mysql ndb_apply_status 0 mysql PRIMARY 1 server_id NULL 0 NULL NULL HASH
-NULL mysql ndb_binlog_index 0 mysql PRIMARY 1 epoch A 5 NULL NULL BTREE
-NULL mysql plugin 0 mysql PRIMARY 1 name A 0 NULL NULL BTREE
-NULL mysql proc 0 mysql PRIMARY 1 db A NULL NULL NULL BTREE
-NULL mysql proc 0 mysql PRIMARY 2 name A NULL NULL NULL BTREE
-NULL mysql proc 0 mysql PRIMARY 3 type A 0 NULL NULL BTREE
-NULL mysql procs_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-NULL mysql procs_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE
-NULL mysql procs_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE
-NULL mysql procs_priv 0 mysql PRIMARY 4 Routine_name A NULL NULL NULL BTREE
-NULL mysql procs_priv 0 mysql PRIMARY 5 Routine_type A 0 NULL NULL BTREE
-NULL mysql procs_priv 1 mysql Grantor 1 Grantor A NULL NULL NULL BTREE
-NULL mysql servers 0 mysql PRIMARY 1 Server_name A 0 NULL NULL BTREE
-NULL mysql tables_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE
-NULL mysql tables_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE
-NULL mysql tables_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE
-NULL mysql tables_priv 0 mysql PRIMARY 4 Table_name A 2 NULL NULL BTREE
-NULL mysql tables_priv 1 mysql Grantor 1 Grantor A NULL NULL NULL BTREE
-NULL mysql time_zone 0 mysql PRIMARY 1 Time_zone_id A 5 NULL NULL BTREE
-NULL mysql time_zone_leap_second 0 mysql PRIMARY 1 Transition_time A 22 NULL NULL BTREE
-NULL mysql time_zone_name 0 mysql PRIMARY 1 Name A 6 NULL NULL BTREE
-NULL mysql time_zone_transition 0 mysql PRIMARY 1 Time_zone_id A NULL NULL NULL BTREE
-NULL mysql time_zone_transition 0 mysql PRIMARY 2 Transition_time A 393 NULL NULL BTREE
-NULL mysql time_zone_transition_type 0 mysql PRIMARY 1 Time_zone_id A NULL NULL NULL BTREE
-NULL mysql time_zone_transition_type 0 mysql PRIMARY 2 Transition_type_id A 31 NULL NULL BTREE
-
-user_1@localhost test
-SELECT * FROM information_schema.statistics;
-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
-NULL db_datadict tb_6_401402_1 0 db_datadict PRIMARY 1 f1 A 0 NULL NULL BTREE
-NULL db_datadict tb_6_401402_1 1 db_datadict f2_ind 1 f2 A NULL NULL NULL YES BTREE
-NULL db_datadict_2 tb_2_1 0 db_datadict_2 PRIMARY 1 f1 A 0 NULL NULL BTREE
-NULL db_datadict_2 tb_2_1 1 db_datadict_2 f2_ind 1 f2 A NULL NULL NULL YES BTREE
-
-user_2@localhost test
-SELECT * FROM information_schema.statistics;
-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
-
-root@localhost db_datadict_2
-USE db_datadict;
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP TABLE tb_6_401402_1;
-DROP TABLE tb_6_401402_2;
-USE test;
-DROP DATABASE db_datadict;
-
-Testcase 3.2.15.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC schema_privileges;
-Field Type Null Key Default Extra
-GRANTEE varchar(81) NO
-TABLE_CATALOG varchar(4096) YES NULL
-TABLE_SCHEMA varchar(64) NO
-PRIVILEGE_TYPE varchar(64) NO
-IS_GRANTABLE varchar(3) NO
-SHOW CREATE TABLE schema_privileges;
-Table Create Table
-SCHEMA_PRIVILEGES CREATE TEMPORARY TABLE `SCHEMA_PRIVILEGES` (
- `GRANTEE` varchar(81) NOT NULL DEFAULT '',
- `TABLE_CATALOG` varchar(4096) DEFAULT NULL,
- `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `PRIVILEGE_TYPE` varchar(64) NOT NULL DEFAULT '',
- `IS_GRANTABLE` varchar(3) NOT NULL DEFAULT ''
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'schema_privileges'
-ORDER BY ordinal_position;
-COUNT(*)
-5
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'schema_privileges'
-ORDER BY ordinal_position;
-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
-NULL information_schema SCHEMA_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema SCHEMA_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema SCHEMA_PRIVILEGES IS_GRANTABLE 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-
-Testcase 3.2.15.2:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-DROP DATABASE IF EXISTS db_datadict_2;
-create database db_datadict;
-create database db_datadict_2;
-CREATE USER 'u_6_401502'@'localhost';
-use db_datadict;
-create table res_6_401502(f1 int, f2 int, f3 int);
-grant insert on db_datadict.* to 'u_6_401502'@'localhost';
-FLUSH PRIVILEGES;
-SELECT * FROM information_schema.schema_privileges;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
-'u_6_401502'@'localhost' NULL db_datadict INSERT NO
-''@'%' NULL test SELECT NO
-''@'%' NULL test INSERT NO
-''@'%' NULL test UPDATE NO
-''@'%' NULL test DELETE NO
-''@'%' NULL test CREATE NO
-''@'%' NULL test DROP NO
-''@'%' NULL test REFERENCES NO
-''@'%' NULL test INDEX NO
-''@'%' NULL test ALTER NO
-''@'%' NULL test CREATE TEMPORARY TABLES NO
-''@'%' NULL test LOCK TABLES NO
-''@'%' NULL test CREATE VIEW NO
-''@'%' NULL test SHOW VIEW NO
-''@'%' NULL test CREATE ROUTINE NO
-''@'%' NULL test EVENT NO
-''@'%' NULL test TRIGGER NO
-''@'%' NULL test\_% SELECT NO
-''@'%' NULL test\_% INSERT NO
-''@'%' NULL test\_% UPDATE NO
-''@'%' NULL test\_% DELETE NO
-''@'%' NULL test\_% CREATE NO
-''@'%' NULL test\_% DROP NO
-''@'%' NULL test\_% REFERENCES NO
-''@'%' NULL test\_% INDEX NO
-''@'%' NULL test\_% ALTER NO
-''@'%' NULL test\_% CREATE TEMPORARY TABLES NO
-''@'%' NULL test\_% LOCK TABLES NO
-''@'%' NULL test\_% CREATE VIEW NO
-''@'%' NULL test\_% SHOW VIEW NO
-''@'%' NULL test\_% CREATE ROUTINE NO
-''@'%' NULL test\_% EVENT NO
-''@'%' NULL test\_% TRIGGER NO
-connect(localhost,u_6_401502,,test,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.schema_privileges;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
-'u_6_401502'@'localhost' NULL db_datadict INSERT NO
-use db_datadict;
-
-root@localhost db_datadict
-DROP USER 'u_6_401502'@'localhost';
-drop table res_6_401502;
-use test;
-drop database db_datadict;
-drop database db_datadict_2;
-
-Testcase 3.2.15.3 + 3.2.15.4:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-DROP DATABASE IF EXISTS db_datadict_2;
-create database db_datadict;
-create database db_datadict_2;
-CREATE USER 'u_6_401503_1'@'localhost';
-CREATE USER 'u_6_401503_2'@'localhost';
-CREATE USER 'u_6_401503_3'@'localhost';
-use db_datadict;
-create table res_6_401503_1(f1 int, f2 int, f3 int);
-use db_datadict_2;
-create table res_6_401503_2(f1 int, f2 int, f3 int);
-grant update on db_datadict.* to 'u_6_401503_1'@'localhost';
-grant delete on db_datadict_2.* to 'u_6_401503_2'@'localhost';
-FLUSH PRIVILEGES;
-SELECT * FROM information_schema.schema_privileges;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
-'u_6_401503_1'@'localhost' NULL db_datadict UPDATE NO
-'u_6_401503_2'@'localhost' NULL db_datadict_2 DELETE NO
-''@'%' NULL test SELECT NO
-''@'%' NULL test INSERT NO
-''@'%' NULL test UPDATE NO
-''@'%' NULL test DELETE NO
-''@'%' NULL test CREATE NO
-''@'%' NULL test DROP NO
-''@'%' NULL test REFERENCES NO
-''@'%' NULL test INDEX NO
-''@'%' NULL test ALTER NO
-''@'%' NULL test CREATE TEMPORARY TABLES NO
-''@'%' NULL test LOCK TABLES NO
-''@'%' NULL test CREATE VIEW NO
-''@'%' NULL test SHOW VIEW NO
-''@'%' NULL test CREATE ROUTINE NO
-''@'%' NULL test EVENT NO
-''@'%' NULL test TRIGGER NO
-''@'%' NULL test\_% SELECT NO
-''@'%' NULL test\_% INSERT NO
-''@'%' NULL test\_% UPDATE NO
-''@'%' NULL test\_% DELETE NO
-''@'%' NULL test\_% CREATE NO
-''@'%' NULL test\_% DROP NO
-''@'%' NULL test\_% REFERENCES NO
-''@'%' NULL test\_% INDEX NO
-''@'%' NULL test\_% ALTER NO
-''@'%' NULL test\_% CREATE TEMPORARY TABLES NO
-''@'%' NULL test\_% LOCK TABLES NO
-''@'%' NULL test\_% CREATE VIEW NO
-''@'%' NULL test\_% SHOW VIEW NO
-''@'%' NULL test\_% CREATE ROUTINE NO
-''@'%' NULL test\_% EVENT NO
-''@'%' NULL test\_% TRIGGER NO
-connect(localhost,u_6_401503_1,,test,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.schema_privileges;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
-'u_6_401503_1'@'localhost' NULL db_datadict UPDATE NO
-connect(localhost,u_6_401503_2,,test,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.schema_privileges;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
-'u_6_401503_2'@'localhost' NULL db_datadict_2 DELETE NO
-connect(localhost,u_6_401503_3,,test,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.schema_privileges;
-GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
-
-root@localhost db_datadict_2
-use db_datadict;
-DROP USER 'u_6_401503_1'@'localhost';
-DROP USER 'u_6_401503_2'@'localhost';
-DROP USER 'u_6_401503_3'@'localhost';
-drop table res_6_401503_1;
-use db_datadict_2;
-drop table res_6_401503_2;
-use test;
-drop database db_datadict;
-drop database db_datadict_2;
-
-Testcase 3.2.16.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC user_privileges;
-Field Type Null Key Default Extra
-GRANTEE varchar(81) NO
-TABLE_CATALOG varchar(4096) YES NULL
-PRIVILEGE_TYPE varchar(64) NO
-IS_GRANTABLE varchar(3) NO
-SHOW CREATE TABLE user_privileges;
-Table Create Table
-USER_PRIVILEGES CREATE TEMPORARY TABLE `USER_PRIVILEGES` (
- `GRANTEE` varchar(81) NOT NULL DEFAULT '',
- `TABLE_CATALOG` varchar(4096) DEFAULT NULL,
- `PRIVILEGE_TYPE` varchar(64) NOT NULL DEFAULT '',
- `IS_GRANTABLE` varchar(3) NOT NULL DEFAULT ''
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'user_privileges'
-ORDER BY ordinal_position;
-COUNT(*)
-4
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'user_privileges'
-ORDER BY ordinal_position;
-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
-NULL information_schema USER_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select
-NULL information_schema USER_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema USER_PRIVILEGES PRIVILEGE_TYPE 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema USER_PRIVILEGES IS_GRANTABLE 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-
-Testcase 3.2.16.2 + 3.2.16.3 + 3.2.16.4:
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_datadict;
-CREATE DATABASE db_datadict;
-CREATE USER 'user_1'@'localhost';
-CREATE USER 'user_2'@'localhost';
-CREATE USER 'user_3'@'localhost';
-GRANT SELECT ON db_datadict.* TO 'user_1'@'localhost';
-GRANT SELECT ON mysql.user TO 'user_1'@'localhost';
-GRANT INSERT ON *.* TO 'user_2'@'localhost';
-GRANT UPDATE ON *.* TO 'user_2'@'localhost';
-FLUSH PRIVILEGES;
-
-FIXME (see Bug 12269) Here we expect more than only <USAGE> for user_1
-----------------------------------------------------------------------
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL USAGE NO
-'user_2'@'localhost' NULL INSERT NO
-'user_2'@'localhost' NULL UPDATE NO
-'user_3'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" 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 ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost user_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 0 0 0 0
-localhost user_2 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 0 0 0 0
-localhost user_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 N N N 0 0 0 0
-SHOW GRANTS;
-Grants for root@localhost
-GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
-
-add GRANT OPTION db_datadict.* to user_1
-----------------------------------------
-GRANT UPDATE ON db_datadict.* TO 'user_1'@'localhost' WITH GRANT OPTION;
-
-FIXME (see Bug 12269) Here the <YES> is missing for the GRANT OPTION for user_1
--------------------------------------------------------------------------------
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL USAGE NO
-'user_2'@'localhost' NULL INSERT NO
-'user_2'@'localhost' NULL UPDATE NO
-'user_3'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" 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 ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost user_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 0 0 0 0
-localhost user_2 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 0 0 0 0
-localhost user_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 N N N 0 0 0 0
-SHOW GRANTS;
-Grants for root@localhost
-GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
-FLUSH PRIVILEGES;
-connect(localhost,user_1,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" 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 ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost user_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 0 0 0 0
-localhost user_2 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 0 0 0 0
-localhost user_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 N N N 0 0 0 0
-SHOW GRANTS;
-Grants for user_1@localhost
-GRANT USAGE ON *.* TO 'user_1'@'localhost'
-GRANT SELECT, UPDATE ON `db_datadict`.* TO 'user_1'@'localhost' WITH GRANT OPTION
-GRANT SELECT ON `mysql`.`user` TO 'user_1'@'localhost'
-
-Now add SELECT on *.* to user_1
--------------------------------
-
-root@localhost information_schema
-GRANT SELECT ON *.* TO 'user_1'@'localhost';
-
-Here <SELECT NO> is shown correctly for user_1
-----------------------------------------------
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL SELECT NO
-'user_2'@'localhost' NULL INSERT NO
-'user_2'@'localhost' NULL UPDATE NO
-'user_3'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" 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 ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost user_1 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 0 0 0 0
-localhost user_2 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 0 0 0 0
-localhost user_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 N N N 0 0 0 0
-SHOW GRANTS;
-Grants for root@localhost
-GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
-GRANT SELECT ON *.* TO 'user_1'@'localhost' WITH GRANT OPTION;
-
-Here <SELECT YES> is shown correctly for user_1
------------------------------------------------
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL SELECT YES
-'user_2'@'localhost' NULL INSERT NO
-'user_2'@'localhost' NULL UPDATE NO
-'user_3'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" 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 ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost user_1 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 0 0 0 0
-localhost user_2 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 0 0 0 0
-localhost user_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 N N N 0 0 0 0
-SHOW GRANTS;
-Grants for root@localhost
-GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
-FLUSH PRIVILEGES;
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL SELECT YES
-'user_2'@'localhost' NULL INSERT NO
-'user_2'@'localhost' NULL UPDATE NO
-'user_3'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" 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 ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost user_1 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 0 0 0 0
-localhost user_2 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 0 0 0 0
-localhost user_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 N N N 0 0 0 0
-SHOW GRANTS;
-Grants for root@localhost
-GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
-
-user_1@localhost db_datadict
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL SELECT YES
-SELECT * FROM mysql.user WHERE user LIKE "%user%" 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 ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost user_1 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 0 0 0 0
-localhost user_2 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 0 0 0 0
-localhost user_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 N N N 0 0 0 0
-SHOW GRANTS;
-Grants for user_1@localhost
-GRANT SELECT ON *.* TO 'user_1'@'localhost' WITH GRANT OPTION
-GRANT SELECT, UPDATE ON `db_datadict`.* TO 'user_1'@'localhost' WITH GRANT OPTION
-GRANT SELECT ON `mysql`.`user` TO 'user_1'@'localhost'
-connect(localhost,user_2,,db_datadict,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_2'@'localhost' NULL INSERT NO
-'user_2'@'localhost' NULL UPDATE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user;
-ERROR 42000: SELECT command denied to user 'user_2'@'localhost' for table 'user'
-SHOW GRANTS;
-Grants for user_2@localhost
-GRANT INSERT, UPDATE ON *.* TO 'user_2'@'localhost'
-connect(localhost,user_3,,test,MYSQL_PORT,MYSQL_SOCK);
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_3'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user;
-ERROR 42000: SELECT command denied to user 'user_3'@'localhost' for table 'user'
-SHOW GRANTS;
-Grants for user_3@localhost
-GRANT USAGE ON *.* TO 'user_3'@'localhost'
-
-revoke privileges from user_1
------------------------------
-
-root@localhost information_schema
-REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'user_1'@'localhost';
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL USAGE NO
-'user_2'@'localhost' NULL INSERT NO
-'user_2'@'localhost' NULL UPDATE NO
-'user_3'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" 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 ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost user_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 0 0 0 0
-localhost user_2 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 0 0 0 0
-localhost user_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 N N N 0 0 0 0
-SHOW GRANTS;
-Grants for root@localhost
-GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
-
-user_1@localhost db_datadict
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user;
-ERROR 42000: SELECT command denied to user 'user_1'@'localhost' for table 'user'
-SHOW GRANTS;
-Grants for user_1@localhost
-GRANT USAGE ON *.* TO 'user_1'@'localhost'
-
-user_1@localhost db_datadict
-CREATE TABLE db_datadict.tb_55 ( c1 TEXT );
-ERROR 42000: CREATE command denied to user 'user_1'@'localhost' for table 'tb_55'
-
-user_1@localhost db_datadict
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user;
-ERROR 42000: SELECT command denied to user 'user_1'@'localhost' for table 'user'
-SHOW GRANTS;
-Grants for user_1@localhost
-GRANT USAGE ON *.* TO 'user_1'@'localhost'
-CREATE TABLE db_datadict.tb_66 ( c1 TEXT );
-ERROR 42000: CREATE command denied to user 'user_1'@'localhost' for table 'tb_66'
-
-add ALL on db_datadict.* (and select on mysql.user) to user_1
--------------------------------------------------------------
-
-root@localhost information_schema
-GRANT ALL ON db_datadict.* TO 'user_1'@'localhost' WITH GRANT OPTION;
-GRANT SELECT ON mysql.user TO 'user_1'@'localhost';
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL USAGE NO
-'user_2'@'localhost' NULL INSERT NO
-'user_2'@'localhost' NULL UPDATE NO
-'user_3'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" 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 ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost user_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 0 0 0 0
-localhost user_2 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 0 0 0 0
-localhost user_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 N N N 0 0 0 0
-SHOW GRANTS;
-Grants for root@localhost
-GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
-
-user_1@localhost db_datadict
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" 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 ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost user_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 0 0 0 0
-localhost user_2 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 0 0 0 0
-localhost user_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 N N N 0 0 0 0
-SHOW GRANTS;
-Grants for user_1@localhost
-GRANT USAGE ON *.* TO 'user_1'@'localhost'
-GRANT ALL PRIVILEGES ON `db_datadict`.* TO 'user_1'@'localhost' WITH GRANT OPTION
-GRANT SELECT ON `mysql`.`user` TO 'user_1'@'localhost'
-CREATE TABLE db_datadict.tb_56 ( c1 TEXT );
-ERROR 42000: CREATE command denied to user 'user_1'@'localhost' for table 'tb_56'
-USE db_datadict;
-
-user_1@localhost db_datadict
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" 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 ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost user_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 0 0 0 0
-localhost user_2 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 0 0 0 0
-localhost user_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 N N N 0 0 0 0
-SHOW GRANTS;
-Grants for user_1@localhost
-GRANT USAGE ON *.* TO 'user_1'@'localhost'
-GRANT ALL PRIVILEGES ON `db_datadict`.* TO 'user_1'@'localhost' WITH GRANT OPTION
-GRANT SELECT ON `mysql`.`user` TO 'user_1'@'localhost'
-CREATE TABLE tb_57 ( c1 TEXT );
-
-revoke privileges from user_1
------------------------------
-
-root@localhost information_schema
-REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'user_1'@'localhost';
-FLUSH PRIVILEGES;
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL USAGE NO
-'user_2'@'localhost' NULL INSERT NO
-'user_2'@'localhost' NULL UPDATE NO
-'user_3'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" 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 ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost user_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 0 0 0 0
-localhost user_2 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 0 0 0 0
-localhost user_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 N N N 0 0 0 0
-SHOW GRANTS;
-Grants for root@localhost
-GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
-
-user_1@localhost db_datadict
-SELECT * FROM information_schema.user_privileges
-WHERE grantee LIKE "%user%"
- ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'user_1'@'localhost' NULL USAGE NO
-SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user;
-ERROR 42000: SELECT command denied to user 'user_1'@'localhost' for table 'user'
-SHOW GRANTS;
-Grants for user_1@localhost
-GRANT USAGE ON *.* TO 'user_1'@'localhost'
-CREATE TABLE db_datadict.tb_58 ( c1 TEXT );
-USE db_datadict;
-ERROR 42000: Access denied for user 'user_1'@'localhost' to database 'db_datadict'
-CREATE TABLE db_datadict.tb_59 ( c1 TEXT );
-
-root@localhost information_schema
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-DROP USER 'user_3'@'localhost';
-DROP DATABASE IF EXISTS db_datadict;
-
-Testcase 3.2.17: Checks on Performance - not here in this script!
---------------------------------------------------------------------------------
-
-Testcase 3.2.18.1:
---------------------------------------------------------------------------------
-USE information_schema;
-DESC triggers;
-Field Type Null Key Default Extra
-TRIGGER_CATALOG varchar(4096) YES NULL
-TRIGGER_SCHEMA varchar(64) NO
-TRIGGER_NAME varchar(64) NO
-EVENT_MANIPULATION varchar(6) NO
-EVENT_OBJECT_CATALOG varchar(4096) YES NULL
-EVENT_OBJECT_SCHEMA varchar(64) NO
-EVENT_OBJECT_TABLE varchar(64) NO
-ACTION_ORDER bigint(4) NO 0
-ACTION_CONDITION longtext YES NULL
-ACTION_STATEMENT longtext NO
-ACTION_ORIENTATION varchar(9) NO
-ACTION_TIMING varchar(6) NO
-ACTION_REFERENCE_OLD_TABLE varchar(64) YES NULL
-ACTION_REFERENCE_NEW_TABLE varchar(64) YES NULL
-ACTION_REFERENCE_OLD_ROW varchar(3) NO
-ACTION_REFERENCE_NEW_ROW varchar(3) NO
-CREATED datetime YES NULL
-SQL_MODE longtext NO
-DEFINER longtext NO
-SHOW CREATE TABLE triggers;
-Table Create Table
-TRIGGERS CREATE TEMPORARY TABLE `TRIGGERS` (
- `TRIGGER_CATALOG` varchar(4096) DEFAULT NULL,
- `TRIGGER_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `TRIGGER_NAME` varchar(64) NOT NULL DEFAULT '',
- `EVENT_MANIPULATION` varchar(6) NOT NULL DEFAULT '',
- `EVENT_OBJECT_CATALOG` varchar(4096) DEFAULT NULL,
- `EVENT_OBJECT_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `EVENT_OBJECT_TABLE` varchar(64) NOT NULL DEFAULT '',
- `ACTION_ORDER` bigint(4) NOT NULL DEFAULT '0',
- `ACTION_CONDITION` longtext,
- `ACTION_STATEMENT` longtext NOT NULL,
- `ACTION_ORIENTATION` varchar(9) NOT NULL DEFAULT '',
- `ACTION_TIMING` varchar(6) NOT NULL DEFAULT '',
- `ACTION_REFERENCE_OLD_TABLE` varchar(64) DEFAULT NULL,
- `ACTION_REFERENCE_NEW_TABLE` varchar(64) DEFAULT NULL,
- `ACTION_REFERENCE_OLD_ROW` varchar(3) NOT NULL DEFAULT '',
- `ACTION_REFERENCE_NEW_ROW` varchar(3) NOT NULL DEFAULT '',
- `CREATED` datetime DEFAULT NULL,
- `SQL_MODE` longtext NOT NULL,
- `DEFINER` longtext NOT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'triggers'
-ORDER BY ordinal_position;
-COUNT(*)
-19
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'triggers'
-ORDER BY ordinal_position;
-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
-NULL information_schema TRIGGERS TRIGGER_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TRIGGERS TRIGGER_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS TRIGGER_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS EVENT_MANIPULATION 4 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select
-NULL information_schema TRIGGERS EVENT_OBJECT_CATALOG 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema TRIGGERS EVENT_OBJECT_SCHEMA 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS EVENT_OBJECT_TABLE 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_ORDER 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
-NULL information_schema TRIGGERS ACTION_CONDITION 9 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS ACTION_STATEMENT 10 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS ACTION_ORIENTATION 11 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select
-NULL information_schema TRIGGERS ACTION_TIMING 12 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_TABLE 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_TABLE 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_ROW 15 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_ROW 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
-NULL information_schema TRIGGERS CREATED 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
-NULL information_schema TRIGGERS SQL_MODE 18 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-NULL information_schema TRIGGERS DEFINER 19 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
-
-Testcase 3.2.18.2 + 3.2.18.3:
---------------------------------------------------------------------------------
-
-Testcase 3.2.19.1:
---------------------------------------------------------------------------------
-
-checking a table that will be implemented later
------------------------------------------------
-DESC parameters;
-ERROR 42S02: Unknown table 'parameters' in information_schema
-
-Testcase 3.2.20.1:
---------------------------------------------------------------------------------
-DESC referential_constraints;
-Field Type Null Key Default Extra
-CONSTRAINT_CATALOG varchar(512) YES NULL
-CONSTRAINT_SCHEMA varchar(64) NO
-CONSTRAINT_NAME varchar(64) NO
-UNIQUE_CONSTRAINT_CATALOG varchar(512) YES NULL
-UNIQUE_CONSTRAINT_SCHEMA varchar(64) NO
-UNIQUE_CONSTRAINT_NAME varchar(64) NO
-MATCH_OPTION varchar(64) NO
-UPDATE_RULE varchar(64) NO
-DELETE_RULE varchar(64) NO
-TABLE_NAME varchar(64) NO
-REFERENCED_TABLE_NAME varchar(64) NO
-USE information_schema;
-DESC referential_constraints;
-Field Type Null Key Default Extra
-CONSTRAINT_CATALOG varchar(4096) YES NULL
-CONSTRAINT_SCHEMA varchar(64) NO
-CONSTRAINT_NAME varchar(64) NO
-UNIQUE_CONSTRAINT_CATALOG varchar(4096) YES NULL
-UNIQUE_CONSTRAINT_SCHEMA varchar(64) NO
-UNIQUE_CONSTRAINT_NAME varchar(64) NO
-MATCH_OPTION varchar(64) NO
-UPDATE_RULE varchar(64) NO
-DELETE_RULE varchar(64) NO
-TABLE_NAME varchar(64) NO
-REFERENCED_TABLE_NAME varchar(64) NO
-SHOW CREATE TABLE referential_constraints;
-Table Create Table
-REFERENTIAL_CONSTRAINTS CREATE TEMPORARY TABLE `REFERENTIAL_CONSTRAINTS` (
- `CONSTRAINT_CATALOG` varchar(4096) DEFAULT NULL,
- `CONSTRAINT_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `CONSTRAINT_NAME` varchar(64) NOT NULL DEFAULT '',
- `UNIQUE_CONSTRAINT_CATALOG` varchar(4096) DEFAULT NULL,
- `UNIQUE_CONSTRAINT_SCHEMA` varchar(64) NOT NULL DEFAULT '',
- `UNIQUE_CONSTRAINT_NAME` varchar(64) NOT NULL DEFAULT '',
- `MATCH_OPTION` varchar(64) NOT NULL DEFAULT '',
- `UPDATE_RULE` varchar(64) NOT NULL DEFAULT '',
- `DELETE_RULE` varchar(64) NOT NULL DEFAULT '',
- `TABLE_NAME` varchar(64) NOT NULL DEFAULT '',
- `REFERENCED_TABLE_NAME` varchar(64) NOT NULL DEFAULT ''
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
-SELECT COUNT(*) FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'referential_constraints'
-ORDER BY ordinal_position;
-COUNT(*)
-11
-SELECT * FROM information_schema.columns
-WHERE table_schema = 'information_schema'
- AND table_name = 'referential_constraints'
-ORDER BY ordinal_position;
-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
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS MATCH_OPTION 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS UPDATE_RULE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS DELETE_RULE 9 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS TABLE_NAME 10 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-NULL information_schema REFERENTIAL_CONSTRAINTS REFERENCED_TABLE_NAME 11 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
-
-*** End of Data Dictionary Tests ***
---------------------------------------------------------------------------------
-DROP TABLE IF EXISTS test.tb1;
-DROP TABLE IF EXISTS test.tb2;
-DROP TABLE IF EXISTS test.tb3;
-DROP TABLE IF EXISTS test.tb4;
-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.t7;
-DROP TABLE IF EXISTS test.t8;
-DROP TABLE IF EXISTS test.t9;
-DROP TABLE IF EXISTS test.t10;
-DROP TABLE IF EXISTS test.t11;
-DROP DATABASE IF EXISTS test1;
-DROP DATABASE IF EXISTS test4;
-DROP DATABASE IF EXISTS db_datadict;
-DROP DATABASE IF EXISTS db_datadict_1;
-DROP DATABASE IF EXISTS db_datadict_2;
diff --git a/mysql-test/suite/funcs_1/r/ndb__load.result b/mysql-test/suite/funcs_1/r/ndb__load.result
deleted file mode 100644
index c1b9c89b257..00000000000
--- a/mysql-test/suite/funcs_1/r/ndb__load.result
+++ /dev/null
@@ -1 +0,0 @@
-SET @NO_REFRESH = IF( '' = '', 0, 1);
diff --git a/mysql-test/suite/funcs_1/r/ndb_bitdata.result b/mysql-test/suite/funcs_1/r/ndb_bitdata.result
index bb0c170e43a..917157fcdae 100644
--- a/mysql-test/suite/funcs_1/r/ndb_bitdata.result
+++ b/mysql-test/suite/funcs_1/r/ndb_bitdata.result
@@ -1,67 +1,3 @@
-SET @NO_REFRESH = IF( '' = '', 0, 1);
-USE test;
-drop table if exists tb4;
-create table tb4 (
-f176 numeric (0) unsigned not null DEFAULT 9,
-f177 numeric (64) unsigned not null DEFAULT 9,
-f178 numeric (0) zerofill not null DEFAULT 9,
-f179 numeric (64) zerofill not null DEFAULT 9,
-f180 numeric (0) unsigned zerofill not null DEFAULT 9,
-f181 numeric (64) unsigned zerofill not null DEFAULT 9,
-f182 numeric (0,0) not null DEFAULT 9,
-f183 numeric (63,30) not null DEFAULT 9,
-f184 numeric (0,0) unsigned not null DEFAULT 9,
-f185 numeric (63,30) unsigned not null DEFAULT 9,
-f186 numeric (0,0) zerofill not null DEFAULT 9,
-f187 numeric (63,30) zerofill not null DEFAULT 9,
-f188 numeric (0,0) unsigned zerofill not null DEFAULT 9,
-f189 numeric (63,30) unsigned zerofill not null DEFAULT 9,
-f190 real not null DEFAULT 88.8,
-f191 real unsigned not null DEFAULT 88.8,
-f192 real zerofill not null DEFAULT 88.8,
-f193 real unsigned zerofill not null DEFAULT 88.8,
-f194 double not null DEFAULT 55.5,
-f195 double unsigned not null DEFAULT 55.5,
-f196 double zerofill not null DEFAULT 55.5,
-f197 double unsigned zerofill not null DEFAULT 55.5,
-f198 float,
-f199 float unsigned,
-f200 float zerofill,
-f201 float unsigned zerofill,
-f202 float(0),
-f203 float(23),
-f204 float(0) unsigned,
-f205 float(23) unsigned,
-f206 float(0) zerofill,
-f207 float(23) zerofill,
-f208 float(0) unsigned zerofill,
-f209 float(23) unsigned zerofill,
-f210 float(24),
-f211 float(53),
-f212 float(24) unsigned,
-f213 float(53) unsigned,
-f214 float(24) zerofill,
-f215 float(53) zerofill,
-f216 float(24) unsigned zerofill,
-f217 float(53) unsigned zerofill,
-f218 date,
-f219 time,
-f220 datetime,
-f221 timestamp,
-f222 year,
-f223 year(3),
-f224 year(4),
-f225 enum("1enum","2enum"),
-f226 set("1set","2set"),
-f235 char(0) unicode,
-f236 char(90),
-f237 char(255) ascii,
-f238 varchar(0),
-f239 varchar(3000) binary,
-f240 varchar(2000) unicode,
-f241 char(100) unicode
-) engine = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/ndb_tb4.txt' into table tb4 ;
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
index dd96a8104c6..9f20e51204b 100644
--- a/mysql-test/suite/funcs_1/r/ndb_cursors.result
+++ b/mysql-test/suite/funcs_1/r/ndb_cursors.result
@@ -1,82 +1,3 @@
-SET @NO_REFRESH = IF( '' = '', 0, 1);
-USE test;
-drop table if exists tb1 ;
-create table tb1 (
-f1 char(0),
-f2 char(0) binary,
-f3 char(0) ascii,
-f4 tinytext unicode,
-f5 text,
-f6 mediumtext,
-f7 longtext,
-f8 tinyblob,
-f9 blob,
-f10 mediumblob,
-f11 longblob,
-f12 binary,
-f13 tinyint,
-f14 tinyint unsigned,
-f15 tinyint zerofill,
-f16 tinyint unsigned zerofill,
-f17 smallint,
-f18 smallint unsigned,
-f19 smallint zerofill,
-f20 smallint unsigned zerofill,
-f21 mediumint,
-f22 mediumint unsigned,
-f23 mediumint zerofill,
-f24 mediumint unsigned zerofill,
-f25 int,
-f26 int unsigned,
-f27 int zerofill,
-f28 int unsigned zerofill,
-f29 bigint,
-f30 bigint unsigned,
-f31 bigint zerofill,
-f32 bigint unsigned zerofill,
-f33 decimal,
-f34 decimal unsigned,
-f35 decimal zerofill,
-f36 decimal unsigned zerofill not null DEFAULT 9.9,
-f37 decimal (0) not null DEFAULT 9.9,
-f38 decimal (64) not null DEFAULT 9.9,
-f39 decimal (0) unsigned not null DEFAULT 9.9,
-f40 decimal (64) unsigned not null DEFAULT 9.9,
-f41 decimal (0) zerofill not null DEFAULT 9.9,
-f42 decimal (64) zerofill not null DEFAULT 9.9,
-f43 decimal (0) unsigned zerofill not null DEFAULT 9.9,
-f44 decimal (64) unsigned zerofill not null DEFAULT 9.9,
-f45 decimal (0,0) not null DEFAULT 9.9,
-f46 decimal (63,30) not null DEFAULT 9.9,
-f47 decimal (0,0) unsigned not null DEFAULT 9.9,
-f48 decimal (63,30) unsigned not null DEFAULT 9.9,
-f49 decimal (0,0) zerofill not null DEFAULT 9.9,
-f50 decimal (63,30) zerofill not null DEFAULT 9.9,
-f51 decimal (0,0) unsigned zerofill not null DEFAULT 9.9,
-f52 decimal (63,30) unsigned zerofill not null DEFAULT 9.9,
-f53 numeric not null DEFAULT 99,
-f54 numeric unsigned not null DEFAULT 99,
-f55 numeric zerofill not null DEFAULT 99,
-f56 numeric unsigned zerofill not null DEFAULT 99,
-f57 numeric (0) not null DEFAULT 99,
-f58 numeric (64) not null DEFAULT 99
-) engine = ndb;
-Warnings:
-Note 1265 Data truncated for column 'f36' at row 1
-Note 1265 Data truncated for column 'f37' at row 1
-Note 1265 Data truncated for column 'f38' at row 1
-Note 1265 Data truncated for column 'f39' at row 1
-Note 1265 Data truncated for column 'f40' at row 1
-Note 1265 Data truncated for column 'f41' at row 1
-Note 1265 Data truncated for column 'f42' at row 1
-Note 1265 Data truncated for column 'f43' at row 1
-Note 1265 Data truncated for column 'f44' at row 1
-Note 1265 Data truncated for column 'f45' at row 1
-Note 1265 Data truncated for column 'f47' at row 1
-Note 1265 Data truncated for column 'f49' at row 1
-Note 1265 Data truncated for column 'f51' at row 1
-Error 1466 Table storage engine 'ndbcluster' does not support the create option 'Binlog of table with BLOB attribute and no PK'
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/ndb_tb1.txt' into table tb1 ;
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
index ab4508fb302..96e4f23976b 100644
--- a/mysql-test/suite/funcs_1/r/ndb_func_view.result
+++ b/mysql-test/suite/funcs_1/r/ndb_func_view.result
@@ -1,7 +1,3 @@
-
-! Attention: The file with the expected results suffers from
-Bug#10713: mysqldump includes database in create view and referenced tables
---------------------------------------------------------------------------------
DROP TABLE IF EXISTS t1_selects, t1_modes, t1_values;
DROP VIEW IF EXISTS v1;
CREATE TABLE t1_values
@@ -39,10 +35,10 @@ my_bigint = -9223372036854775808,
my_decimal = -9999999999999999999999999999999999.999999999999999999999999999999 ,
my_double = -1.7976931348623E+308;
INSERT INTO t1_values SET
-my_char_30 = '<--------30 characters------->',
+my_char_30 = '<--------30 characters------->',
my_varchar_1000 = CONCAT('<---------1000 characters',
RPAD('',965,'-'),'--------->'),
-my_binary_30 = '<--------30 characters------->',
+my_binary_30 = '<--------30 characters------->',
my_varbinary_1000 = CONCAT('<---------1000 characters',
RPAD('',965,'-'),'--------->'),
my_datetime = '9999-12-31 23:59:59',
@@ -54,23 +50,23 @@ 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_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_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_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',
@@ -89,6 +85,9 @@ 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,
@@ -101,6 +100,7 @@ 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,
@@ -113,6 +113,7 @@ 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,
@@ -125,6 +126,7 @@ 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,
@@ -135,11 +137,13 @@ 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"
@@ -148,21 +152,21 @@ my_double = -0.33333333E+4;
some statements disabled because of
Bug#5913 Traditional mode: BIGINT range not correctly delimited
--------------------------------------------------------------------------------
-SET @my_select = 'SELECT CONVERT(my_char_30 USING utf8),
+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),
+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),
+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),
+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),
+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),
+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),
+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),
+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';
@@ -176,22 +180,20 @@ 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 =
+SET @my_select =
'SELECT LEFT(my_char_30, 2), my_char_30, id FROM t1_values';
-SET @my_select =
+SET @my_select =
'SELECT LEFT(my_varchar_1000, 2), my_varchar_1000, id FROM t1_values';
-SET @my_select =
+SET @my_select =
'SELECT LEFT(my_binary_30, 2), my_binary_30, id FROM t1_values';
-SET @my_select =
+SET @my_select =
'SELECT LEFT(my_varbinary_1000, 2), my_varbinary_1000, id FROM t1_values';
-
-"Attention: LEFT('AaBbCcDdEeFfGgHhIiJjÄäÜüÖö', <numeric column>)
- The file with expected results suffers from Bug 10963"
- and the testcases with length = BIGINT or DOUBLE column are deactivated,
-because there are 32/64 Bit differences
---------------------------------------------------------------------------------
+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),
@@ -200,9 +202,10 @@ 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';
-SELECT 'äÄ@' INTO OUTFILE '../tmp/func_view.dat';
-SET @my_select =
-'SELECT LOAD_FILE(''../tmp/func_view.dat''), id FROM t1_values';
+SET @my_select =
+'SELECT LOAD_FILE(''<MYSQLTEST_VARDIR>/std_data_ln/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),
@@ -284,19 +287,19 @@ SET sql_mode = '';
--------------------------------------------------------------------------------
CREATE VIEW v1 AS SELECT my_char_30, id FROM t1_values;
SELECT my_char_30, id FROM t1_values
-WHERE select_id = 190 OR select_id IS NULL order by id;
+WHERE select_id = 193 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 190 OR select_id IS NULL) order by id;
+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 = 189 OR select_id IS NULL order by id;
+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
@@ -304,11 +307,11 @@ A<--------30 characters-------> <--------30 characters-------> 3
A ---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
A-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select concat(_latin1'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`
+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 = 189 OR select_id IS NULL) order by id;
+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
@@ -322,13 +325,13 @@ 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 = 188 OR select_id IS NULL order by id;
+WHERE select_id = 191 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 188 OR select_id IS NULL) order by id;
+WHERE select_id = 191 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -336,13 +339,13 @@ 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 = 187 OR select_id IS NULL order by id;
+WHERE select_id = 190 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 187 OR select_id IS NULL) order by id;
+WHERE select_id = 190 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -350,13 +353,13 @@ 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 = 186 OR select_id IS NULL order by id;
+WHERE select_id = 189 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 186 OR select_id IS NULL) order by id;
+WHERE select_id = 189 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -364,13 +367,13 @@ 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 = 185 OR select_id IS NULL order by id;
+WHERE select_id = 188 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 185 OR select_id IS NULL) order by id;
+WHERE select_id = 188 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -378,13 +381,13 @@ 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 = 184 OR select_id IS NULL order by id;
+WHERE select_id = 187 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 184 OR select_id IS NULL) order by id;
+WHERE select_id = 187 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -392,13 +395,13 @@ 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 = 183 OR select_id IS NULL order by id;
+WHERE select_id = 186 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 183 OR select_id IS NULL) order by id;
+WHERE select_id = 186 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -406,13 +409,13 @@ 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 = 182 OR select_id IS NULL order by id;
+WHERE select_id = 185 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 182 OR select_id IS NULL) order by id;
+WHERE select_id = 185 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -420,13 +423,13 @@ 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 = 181 OR select_id IS NULL order by id;
+WHERE select_id = 184 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 181 OR select_id IS NULL) order by id;
+WHERE select_id = 184 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -434,13 +437,13 @@ 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 = 180 OR select_id IS NULL order by id;
+WHERE select_id = 183 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'-',_latin1' - -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`
+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 = 180 OR select_id IS NULL) order by id;
+WHERE select_id = 183 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -448,13 +451,13 @@ 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 = 179 OR select_id IS NULL order by id;
+WHERE select_id = 182 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'-',_latin1' - -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`
+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 = 179 OR select_id IS NULL) order by id;
+WHERE select_id = 182 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -462,13 +465,13 @@ 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 = 178 OR select_id IS NULL order by id;
+WHERE select_id = 181 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'-',_latin1' - -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`
+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 = 178 OR select_id IS NULL) order by id;
+WHERE select_id = 181 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -476,13 +479,13 @@ 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 = 177 OR select_id IS NULL order by id;
+WHERE select_id = 180 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'-',`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`
+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 = 177 OR select_id IS NULL) order by id;
+WHERE select_id = 180 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -490,13 +493,13 @@ 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 = 176 OR select_id IS NULL order by id;
+WHERE select_id = 179 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'-',`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`
+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 = 176 OR select_id IS NULL) order by id;
+WHERE select_id = 179 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -504,13 +507,13 @@ 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 = 175 OR select_id IS NULL order by id;
+WHERE select_id = 178 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'-',`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`
+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 = 175 OR select_id IS NULL) order by id;
+WHERE select_id = 178 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -518,13 +521,13 @@ 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 = 174 OR select_id IS NULL order by id;
+WHERE select_id = 177 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'-',`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`
+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 = 174 OR select_id IS NULL) order by id;
+WHERE select_id = 177 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -532,13 +535,13 @@ 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 = 173 OR select_id IS NULL order by id;
+WHERE select_id = 176 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 173 OR select_id IS NULL) order by id;
+WHERE select_id = 176 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -546,13 +549,13 @@ 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 = 172 OR select_id IS NULL order by id;
+WHERE select_id = 175 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 172 OR select_id IS NULL) order by id;
+WHERE select_id = 175 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -560,13 +563,13 @@ 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 = 171 OR select_id IS NULL order by id;
+WHERE select_id = 174 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 171 OR select_id IS NULL) order by id;
+WHERE select_id = 174 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -574,13 +577,13 @@ 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 = 170 OR select_id IS NULL order by id;
+WHERE select_id = 173 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 170 OR select_id IS NULL) order by id;
+WHERE select_id = 173 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -588,13 +591,13 @@ 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 = 169 OR select_id IS NULL order by id;
+WHERE select_id = 172 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 169 OR select_id IS NULL) order by id;
+WHERE select_id = 172 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -602,13 +605,13 @@ 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 = 168 OR select_id IS NULL order by id;
+WHERE select_id = 171 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 168 OR select_id IS NULL) order by id;
+WHERE select_id = 171 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -616,13 +619,13 @@ 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 = 167 OR select_id IS NULL order by id;
+WHERE select_id = 170 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 167 OR select_id IS NULL) order by id;
+WHERE select_id = 170 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -630,13 +633,13 @@ 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 = 166 OR select_id IS NULL order by id;
+WHERE select_id = 169 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 166 OR select_id IS NULL) order by id;
+WHERE select_id = 169 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -644,13 +647,13 @@ 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 = 165 OR select_id IS NULL order by id;
+WHERE select_id = 168 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 165 OR select_id IS NULL) order by id;
+WHERE select_id = 168 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -658,13 +661,13 @@ 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 = 164 OR select_id IS NULL order by id;
+WHERE select_id = 167 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 164 OR select_id IS NULL) order by id;
+WHERE select_id = 167 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -672,13 +675,13 @@ 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 = 163 OR select_id IS NULL order by id;
+WHERE select_id = 166 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 163 OR select_id IS NULL) order by id;
+WHERE select_id = 166 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -686,13 +689,13 @@ 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 = 162 OR select_id IS NULL order by id;
+WHERE select_id = 165 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 162 OR select_id IS NULL) order by id;
+WHERE select_id = 165 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -700,13 +703,13 @@ 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 = 161 OR select_id IS NULL order by id;
+WHERE select_id = 164 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 161 OR select_id IS NULL) order by id;
+WHERE select_id = 164 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -714,13 +717,13 @@ 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 = 160 OR select_id IS NULL order by id;
+WHERE select_id = 163 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 160 OR select_id IS NULL) order by id;
+WHERE select_id = 163 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -728,13 +731,13 @@ 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 = 159 OR select_id IS NULL order by id;
+WHERE select_id = 162 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 159 OR select_id IS NULL) order by id;
+WHERE select_id = 162 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -742,13 +745,13 @@ 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 = 158 OR select_id IS NULL order by id;
+WHERE select_id = 161 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 158 OR select_id IS NULL) order by id;
+WHERE select_id = 161 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -756,13 +759,13 @@ 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 = 157 OR select_id IS NULL order by id;
+WHERE select_id = 160 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'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`
+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 = 157 OR select_id IS NULL) order by id;
+WHERE select_id = 160 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -770,13 +773,13 @@ 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 = 156 OR select_id IS NULL order by id;
+WHERE select_id = 159 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'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`
+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 = 156 OR select_id IS NULL) order by id;
+WHERE select_id = 159 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -784,13 +787,13 @@ 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 = 155 OR select_id IS NULL order by id;
+WHERE select_id = 158 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'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`
+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 = 155 OR select_id IS NULL) order by id;
+WHERE select_id = 158 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -798,46 +801,50 @@ 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 = 154 OR select_id IS NULL order by id;
+WHERE select_id = 157 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'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`
+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 = 154 OR select_id IS NULL) order by id;
+WHERE select_id = 157 OR select_id IS NULL) order by id;
DROP VIEW v1;
-CREATE VIEW v1 AS SELECT LOAD_FILE('../tmp/func_view.dat'), id FROM t1_values;
-SELECT LOAD_FILE('../tmp/func_view.dat'), id FROM t1_values
-WHERE select_id = 153 OR select_id IS NULL order by id;
-LOAD_FILE('../tmp/func_view.dat') id
-äÄ@
+CREATE VIEW v1 AS SELECT LOAD_FILE('<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/load_file.txt')
+ AS my_col,
+ id FROM t1_values;
+SELECT LOAD_FILE('<MYSQLTEST_VARDIR>/std_data_ln/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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select load_file(_latin1'../tmp/func_view.dat') AS `LOAD_FILE('../tmp/func_view.dat')`,`t1_values`.`id` AS `id` from `t1_values`
+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_ln/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 = 153 OR select_id IS NULL) order by id;
-LOAD_FILE('../tmp/func_view.dat') id
-äÄ@
+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;
@@ -846,13 +853,13 @@ 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 = 152 OR select_id IS NULL order by id;
+WHERE select_id = 155 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 152 OR select_id IS NULL) order by id;
+WHERE select_id = 155 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -860,13 +867,13 @@ 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 = 151 OR select_id IS NULL order by id;
+WHERE select_id = 154 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 151 OR select_id IS NULL) order by id;
+WHERE select_id = 154 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -874,13 +881,13 @@ 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 = 150 OR select_id IS NULL order by id;
+WHERE select_id = 153 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 150 OR select_id IS NULL) order by id;
+WHERE select_id = 153 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -888,19 +895,49 @@ 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 = 149 OR select_id IS NULL order by id;
+WHERE select_id = 152 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 149 OR select_id IS NULL) order by id;
+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.7976931348623e+308 2
+AaBbCcDdEeFfGgHhIiJjÄäÜüÖö 1.7976931348623e+308 3
+ 0 4
+ -1 5
+Warnings:
+Warning 1292 Truncated incorrect INTEGER value: '-1.7976931348623e+308'
+Warning 1292 Truncated incorrect INTEGER value: '1.7976931348623e+308'
+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.7976931348623e+308 2
+AaBbCcDdEeFfGgHhIiJjÄäÜüÖö 1.7976931348623e+308 3
+ 0 4
+ -1 5
+Warnings:
+Warning 1292 Truncated incorrect INTEGER value: '-1.7976931348623e+308'
+Warning 1292 Truncated incorrect INTEGER value: '1.7976931348623e+308'
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 = 148 OR select_id IS NULL order by id;
+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
@@ -911,11 +948,11 @@ Warnings:
Error 1292 Truncated incorrect DECIMAL value: ''
Error 1292 Truncated incorrect DECIMAL value: ''
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select left(_latin1'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`
+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 = 148 OR select_id IS NULL) order by id;
+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
@@ -928,9 +965,33 @@ Error 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 = 147 OR select_id IS NULL order by id;
+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
@@ -938,11 +999,11 @@ NULL NULL 1
- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 147 OR select_id IS NULL) order by id;
+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
@@ -954,19 +1015,19 @@ 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 = 146 OR select_id IS NULL order by id;
+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
- - ---äÖüß@µ*$--
--1 -1
+ - ---äÖüß@µ*$-- 4
+-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 146 OR select_id IS NULL) order by id;
+WHERE select_id = 147 OR select_id IS NULL) order by id;
LEFT(my_binary_30, 2) my_binary_30 id
NULL NULL 1
@@ -978,7 +1039,7 @@ 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 = 145 OR select_id IS NULL order by id;
+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
@@ -986,11 +1047,11 @@ NULL NULL 1
- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 145 OR select_id IS NULL) order by id;
+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
@@ -1002,7 +1063,7 @@ 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 = 144 OR select_id IS NULL order by id;
+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
@@ -1010,11 +1071,11 @@ NULL NULL 1
- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 144 OR select_id IS NULL) order by id;
+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
@@ -1028,13 +1089,13 @@ 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 = 143 OR select_id IS NULL order by id;
+WHERE select_id = 144 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 143 OR select_id IS NULL) order by id;
+WHERE select_id = 144 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -1042,13 +1103,13 @@ 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 = 142 OR select_id IS NULL order by id;
+WHERE select_id = 143 OR select_id IS NULL order by id;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'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`
+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 = 142 OR select_id IS NULL) order by id;
+WHERE select_id = 143 OR select_id IS NULL) order by id;
DROP VIEW v1;
@@ -1056,7 +1117,7 @@ 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 = 141 OR select_id IS NULL order by id;
+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
@@ -1064,11 +1125,11 @@ NULL NULL 1
160 ---äÖüß@µ*$-- 4
16 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 141 OR select_id IS NULL) order by id;
+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
@@ -1082,19 +1143,19 @@ 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 = 140 OR select_id IS NULL order by id;
+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 2
240 <--------30 characters-------> 3
-240 ---äÖüß@µ*$--
-240 -1
+240 ---äÖüß@µ*$-- 4
+240 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 140 OR select_id IS NULL) order by id;
+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
@@ -1108,7 +1169,7 @@ 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 = 139 OR select_id IS NULL order by id;
+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
@@ -1116,11 +1177,11 @@ NULL NULL 1
160 ---äÖüß@µ*$-- 4
16 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 139 OR select_id IS NULL) order by id;
+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
@@ -1134,7 +1195,7 @@ 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 = 138 OR select_id IS NULL order by id;
+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
@@ -1142,11 +1203,11 @@ NULL NULL 1
152 ---äÖüß@µ*$-- 4
16 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 138 OR select_id IS NULL) order by id;
+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
@@ -1160,7 +1221,7 @@ 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 = 137 OR select_id IS NULL order by id;
+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
@@ -1168,11 +1229,11 @@ IS_NULL NULL 1
2000 2000 4
2005 2005 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_year`,_latin1'IS_NULL') AS `IFNULL(my_year,'IS_NULL')`,`t1_values`.`my_year` AS `my_year`,`t1_values`.`id` AS `id` from `t1_values`
+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 = 137 OR select_id IS NULL) order by id;
+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
@@ -1186,7 +1247,7 @@ 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 = 136 OR select_id IS NULL order by id;
+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
@@ -1194,11 +1255,11 @@ IS_NULL NULL 1
13:00:00 13:00:00 4
10:00:00 10:00:00 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_time`,_latin1'IS_NULL') AS `IFNULL(my_time,'IS_NULL')`,`t1_values`.`my_time` AS `my_time`,`t1_values`.`id` AS `id` from `t1_values`
+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 = 136 OR select_id IS NULL) order by id;
+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
@@ -1212,7 +1273,7 @@ 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 = 135 OR select_id IS NULL order by id;
+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
@@ -1220,11 +1281,11 @@ IFNULL(my_timestamp,'IS_NULL') my_timestamp id
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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_timestamp`,_latin1'IS_NULL') AS `IFNULL(my_timestamp,'IS_NULL')`,`t1_values`.`my_timestamp` AS `my_timestamp`,`t1_values`.`id` AS `id` from `t1_values`
+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 = 135 OR select_id IS NULL) order by id;
+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
@@ -1238,7 +1299,7 @@ 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 = 134 OR select_id IS NULL order by id;
+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
@@ -1246,11 +1307,11 @@ IS_NULL NULL 1
2004-02-29 2004-02-29 4
2005-06-28 2005-06-28 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_date`,_latin1'IS_NULL') AS `IFNULL(my_date,'IS_NULL')`,`t1_values`.`my_date` AS `my_date`,`t1_values`.`id` AS `id` from `t1_values`
+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 = 134 OR select_id IS NULL) order by id;
+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
@@ -1264,7 +1325,7 @@ 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 = 133 OR select_id IS NULL order by id;
+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
@@ -1272,11 +1333,11 @@ IS_NULL NULL 1
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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_datetime`,_latin1'IS_NULL') AS `IFNULL(my_datetime,'IS_NULL')`,`t1_values`.`my_datetime` AS `my_datetime`,`t1_values`.`id` AS `id` from `t1_values`
+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 = 133 OR select_id IS NULL) order by id;
+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
@@ -1290,7 +1351,7 @@ 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 = 132 OR select_id IS NULL order by id;
+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.7976931348623e+308 -1.7976931348623e+308 2
@@ -1298,11 +1359,11 @@ IS_NULL NULL 1
0 0 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_double`,_latin1'IS_NULL') AS `IFNULL(my_double,'IS_NULL')`,`t1_values`.`my_double` AS `my_double`,`t1_values`.`id` AS `id` from `t1_values`
+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 = 132 OR select_id IS NULL) order by id;
+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.7976931348623e+308 -1.7976931348623e+308 2
@@ -1316,7 +1377,7 @@ 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 = 131 OR select_id IS NULL order by id;
+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
@@ -1324,11 +1385,11 @@ IS_NULL NULL 1
0.000000000000000000000000000000 0.000000000000000000000000000000 4
-1.000000000000000000000000000000 -1.000000000000000000000000000000 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_decimal`,_latin1'IS_NULL') AS `IFNULL(my_decimal,'IS_NULL')`,`t1_values`.`my_decimal` AS `my_decimal`,`t1_values`.`id` AS `id` from `t1_values`
+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 = 131 OR select_id IS NULL) order by id;
+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
@@ -1342,7 +1403,7 @@ 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 = 130 OR select_id IS NULL order by id;
+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
@@ -1350,11 +1411,11 @@ IS_NULL NULL 1
0 0 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_bigint`,_latin1'IS_NULL') AS `IFNULL(my_bigint,'IS_NULL')`,`t1_values`.`my_bigint` AS `my_bigint`,`t1_values`.`id` AS `id` from `t1_values`
+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 = 130 OR select_id IS NULL) order by id;
+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
@@ -1368,7 +1429,7 @@ 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 = 129 OR select_id IS NULL order by id;
+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
@@ -1376,11 +1437,11 @@ IS_NULL NULL 1
---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_varbinary_1000`,_latin1'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`
+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 = 129 OR select_id IS NULL) order by id;
+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
@@ -1394,19 +1455,19 @@ 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 = 128 OR select_id IS NULL order by id;
+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
- ---äÖüß@µ*$--
--1
+ ---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
+-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_binary_30`,_latin1'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`
+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 = 128 OR select_id IS NULL) order by id;
+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
@@ -1420,7 +1481,7 @@ 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 = 127 OR select_id IS NULL order by id;
+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
@@ -1428,11 +1489,11 @@ IS_NULL NULL 1
---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_varchar_1000`,_latin1'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`
+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 = 127 OR select_id IS NULL) order by id;
+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
@@ -1446,7 +1507,7 @@ 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 = 126 OR select_id IS NULL order by id;
+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
@@ -1454,11 +1515,11 @@ IS_NULL NULL 1
---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_char_30`,_latin1'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`
+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 = 126 OR select_id IS NULL) order by id;
+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
@@ -1472,7 +1533,7 @@ 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 = 125 OR select_id IS NULL order by id;
+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
@@ -1481,12 +1542,12 @@ IS NOT NULL 2155 3
IS NOT NULL 2000 4
IS NOT NULL 2005 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_year`),_latin1'IS NULL',_latin1'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`
+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 = 125 OR select_id IS NULL) order by id;
+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
@@ -1501,7 +1562,7 @@ 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 = 124 OR select_id IS NULL order by id;
+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
@@ -1510,12 +1571,12 @@ 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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_time`),_latin1'IS NULL',_latin1'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`
+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 = 124 OR select_id IS NULL) order by id;
+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
@@ -1530,7 +1591,7 @@ 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 = 123 OR select_id IS NULL order by id;
+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
@@ -1539,12 +1600,12 @@ 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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_timestamp`),_latin1'IS NULL',_latin1'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`
+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 = 123 OR select_id IS NULL) order by id;
+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
@@ -1559,7 +1620,7 @@ 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 = 122 OR select_id IS NULL order by id;
+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
@@ -1568,12 +1629,12 @@ 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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_date`),_latin1'IS NULL',_latin1'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`
+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 = 122 OR select_id IS NULL) order by id;
+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
@@ -1588,7 +1649,7 @@ 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 = 121 OR select_id IS NULL order by id;
+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
@@ -1597,12 +1658,12 @@ 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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_datetime`),_latin1'IS NULL',_latin1'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`
+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 = 121 OR select_id IS NULL) order by id;
+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
@@ -1617,7 +1678,7 @@ 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 = 120 OR select_id IS NULL order by id;
+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
@@ -1626,12 +1687,12 @@ IS NOT NULL 1.7976931348623e+308 3
IS NOT NULL 0 4
IS NOT NULL -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_double`),_latin1'IS NULL',_latin1'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`
+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 = 120 OR select_id IS NULL) order by id;
+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
@@ -1646,7 +1707,7 @@ 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 = 119 OR select_id IS NULL order by id;
+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
@@ -1655,12 +1716,12 @@ 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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_decimal`),_latin1'IS NULL',_latin1'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`
+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 = 119 OR select_id IS NULL) order by id;
+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
@@ -1675,7 +1736,7 @@ 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 = 118 OR select_id IS NULL order by id;
+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
@@ -1684,12 +1745,12 @@ IS NOT NULL 9223372036854775807 3
IS NOT NULL 0 4
IS NOT NULL -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_bigint`),_latin1'IS NULL',_latin1'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`
+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 = 118 OR select_id IS NULL) order by id;
+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
@@ -1704,7 +1765,7 @@ 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 = 117 OR select_id IS NULL order by id;
+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
@@ -1713,12 +1774,12 @@ IS NOT NULL <---------1000 characters-------------------------------------------
IS NOT NULL ---äÖüß@µ*$-- 4
IS NOT NULL -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_varbinary_1000`),_latin1'IS NULL',_latin1'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`
+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 = 117 OR select_id IS NULL) order by id;
+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
@@ -1733,21 +1794,21 @@ 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 = 116 OR select_id IS NULL order by id;
+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 2
IS NOT NULL <--------30 characters-------> 3
-IS NOT NULL ---äÖüß@µ*$--
-IS NOT NULL -1
+IS NOT NULL ---äÖüß@µ*$-- 4
+IS NOT NULL -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_binary_30`),_latin1'IS NULL',_latin1'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`
+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 = 116 OR select_id IS NULL) order by id;
+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
@@ -1762,7 +1823,7 @@ 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 = 115 OR select_id IS NULL order by id;
+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
@@ -1771,12 +1832,12 @@ IS NOT NULL <---------1000 characters-------------------------------------------
IS NOT NULL ---äÖüß@µ*$-- 4
IS NOT NULL -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_varchar_1000`),_latin1'IS NULL',_latin1'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`
+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 = 115 OR select_id IS NULL) order by id;
+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
@@ -1791,7 +1852,7 @@ 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 = 114 OR select_id IS NULL order by id;
+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
@@ -1800,12 +1861,12 @@ IS NOT NULL <--------30 characters-------> 3
IS NOT NULL ---äÖüß@µ*$-- 4
IS NOT NULL -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_char_30`),_latin1'IS NULL',_latin1'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`
+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 = 114 OR select_id IS NULL) order by id;
+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
@@ -1820,7 +1881,7 @@ 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 = 113 OR select_id IS NULL order by id;
+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
@@ -1828,11 +1889,11 @@ IS TRUE 2155 3
IS TRUE 2000 4
IS TRUE 2005 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_year`,_latin1'IS TRUE',_latin1'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`
+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 = 113 OR select_id IS NULL) order by id;
+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
@@ -1846,7 +1907,7 @@ 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 = 112 OR select_id IS NULL order by id;
+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
@@ -1854,11 +1915,11 @@ 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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_time`,_latin1'IS TRUE',_latin1'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`
+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 = 112 OR select_id IS NULL) order by id;
+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
@@ -1872,7 +1933,7 @@ 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 = 111 OR select_id IS NULL order by id;
+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
@@ -1880,11 +1941,11 @@ 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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_timestamp`,_latin1'IS TRUE',_latin1'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`
+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 = 111 OR select_id IS NULL) order by id;
+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
@@ -1898,7 +1959,7 @@ 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 = 110 OR select_id IS NULL order by id;
+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
@@ -1906,11 +1967,11 @@ 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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_date`,_latin1'IS TRUE',_latin1'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`
+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 = 110 OR select_id IS NULL) order by id;
+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
@@ -1924,7 +1985,7 @@ 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 = 109 OR select_id IS NULL order by id;
+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
@@ -1932,11 +1993,11 @@ 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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_datetime`,_latin1'IS TRUE',_latin1'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`
+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 = 109 OR select_id IS NULL) order by id;
+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
@@ -1950,7 +2011,7 @@ 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 = 108 OR select_id IS NULL order by id;
+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.7976931348623e+308 2
@@ -1958,11 +2019,11 @@ IS TRUE 1.7976931348623e+308 3
IS NOT TRUE 0 4
IS TRUE -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_double`,_latin1'IS TRUE',_latin1'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`
+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 = 108 OR select_id IS NULL) order by id;
+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.7976931348623e+308 2
@@ -1976,7 +2037,7 @@ 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 = 107 OR select_id IS NULL order by id;
+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
@@ -1984,11 +2045,11 @@ IS TRUE 9999999999999999999999999999999999.999999999999999999999999999999 3
IS NOT TRUE 0.000000000000000000000000000000 4
IS TRUE -1.000000000000000000000000000000 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_decimal`,_latin1'IS TRUE',_latin1'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`
+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 = 107 OR select_id IS NULL) order by id;
+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
@@ -2002,7 +2063,7 @@ 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 = 106 OR select_id IS NULL order by id;
+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
@@ -2010,11 +2071,11 @@ IS TRUE 9223372036854775807 3
IS NOT TRUE 0 4
IS TRUE -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_bigint`,_latin1'IS TRUE',_latin1'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`
+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 = 106 OR select_id IS NULL) order by id;
+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
@@ -2028,7 +2089,7 @@ 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 = 105 OR select_id IS NULL order by id;
+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
@@ -2036,11 +2097,11 @@ IS NOT TRUE <---------1000 characters-------------------------------------------
IS NOT TRUE ---äÖüß@µ*$-- 4
IS TRUE -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_varbinary_1000`,_latin1'IS TRUE',_latin1'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`
+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 = 105 OR select_id IS NULL) order by id;
+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
@@ -2054,24 +2115,24 @@ 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 = 104 OR select_id IS NULL order by id;
+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 2
IS NOT TRUE <--------30 characters-------> 3
-IS NOT TRUE ---äÖüß@µ*$--
-IS TRUE -1
+IS NOT TRUE ---äÖüß@µ*$-- 4
+IS TRUE -1 5
Warnings:
Warning 1292 Truncated incorrect DOUBLE value: ''
Warning 1292 Truncated incorrect DOUBLE value: '<--------30 characters------->'
Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$-- '
Warning 1292 Truncated incorrect DOUBLE value: '-1'
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_binary_30`,_latin1'IS TRUE',_latin1'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`
+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 = 104 OR select_id IS NULL) order by id;
+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
@@ -2090,7 +2151,7 @@ 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 = 103 OR select_id IS NULL order by id;
+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
@@ -2098,11 +2159,11 @@ IS NOT TRUE <---------1000 characters-------------------------------------------
IS NOT TRUE ---äÖüß@µ*$-- 4
IS TRUE -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_varchar_1000`,_latin1'IS TRUE',_latin1'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`
+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 = 103 OR select_id IS NULL) order by id;
+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
@@ -2116,7 +2177,7 @@ 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 = 102 OR select_id IS NULL order by id;
+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
@@ -2127,11 +2188,11 @@ Warnings:
Warning 1292 Truncated incorrect DOUBLE value: '<--------30 characters------->'
Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$-- '
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_char_30`,_latin1'IS TRUE',_latin1'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`
+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 = 102 OR select_id IS NULL) order by id;
+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
@@ -2144,11 +2205,11 @@ Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$-- '
DROP VIEW v1;
-CREATE VIEW v1 AS SELECT CONVERT(my_varbinary_1000 USING koi8r),
+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),
+SELECT CONVERT(my_varbinary_1000 USING koi8r),
my_varbinary_1000, id FROM t1_values
-WHERE select_id = 101 OR select_id IS NULL order by id;
+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
@@ -2156,11 +2217,11 @@ NULL NULL 1
---???????÷@??*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 101 OR select_id IS NULL) order by id;
+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
@@ -2170,23 +2231,23 @@ NULL NULL 1
DROP VIEW v1;
-CREATE VIEW v1 AS SELECT CONVERT(my_binary_30 USING koi8r),
+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),
+SELECT CONVERT(my_binary_30 USING koi8r),
my_binary_30, id FROM t1_values
-WHERE select_id = 100 OR select_id IS NULL order by id;
+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
- ---???????÷@??*$--
--1
+ ---???????÷@??*$-- ---äÖüß@µ*$-- 4
+-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 100 OR select_id IS NULL) order by id;
+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
@@ -2196,11 +2257,11 @@ NULL NULL 1
DROP VIEW v1;
-CREATE VIEW v1 AS SELECT CONVERT(my_varchar_1000 USING koi8r),
+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),
+SELECT CONVERT(my_varchar_1000 USING koi8r),
my_varchar_1000, id FROM t1_values
-WHERE select_id = 99 OR select_id IS NULL order by id;
+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
@@ -2208,11 +2269,11 @@ NULL NULL 1
---????????@??*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 99 OR select_id IS NULL) order by id;
+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
@@ -2222,11 +2283,11 @@ NULL NULL 1
DROP VIEW v1;
-CREATE VIEW v1 AS SELECT CONVERT(my_char_30 USING koi8r),
+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),
+SELECT CONVERT(my_char_30 USING koi8r),
my_char_30, id FROM t1_values
-WHERE select_id = 98 OR select_id IS NULL order by id;
+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
@@ -2234,11 +2295,11 @@ NULL NULL 1
---????????@??*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 98 OR select_id IS NULL) order by id;
+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
@@ -2248,11 +2309,11 @@ NULL NULL 1
DROP VIEW v1;
-CREATE VIEW v1 AS SELECT CONVERT(my_varbinary_1000 USING utf8),
+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),
+SELECT CONVERT(my_varbinary_1000 USING utf8),
my_varbinary_1000, id FROM t1_values
-WHERE select_id = 97 OR select_id IS NULL order by id;
+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
@@ -2260,11 +2321,11 @@ NULL NULL 1
---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 97 OR select_id IS NULL) order by id;
+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
@@ -2274,23 +2335,23 @@ NULL NULL 1
DROP VIEW v1;
-CREATE VIEW v1 AS SELECT CONVERT(my_binary_30 USING utf8),
+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),
+SELECT CONVERT(my_binary_30 USING utf8),
my_binary_30, id FROM t1_values
-WHERE select_id = 96 OR select_id IS NULL order by id;
+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
- ---äÖüß@µ*$--
--1
+ ---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
+-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 96 OR select_id IS NULL) order by id;
+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
@@ -2300,11 +2361,11 @@ NULL NULL 1
DROP VIEW v1;
-CREATE VIEW v1 AS SELECT CONVERT(my_varchar_1000 USING utf8),
+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),
+SELECT CONVERT(my_varchar_1000 USING utf8),
my_varchar_1000, id FROM t1_values
-WHERE select_id = 95 OR select_id IS NULL order by id;
+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
@@ -2312,11 +2373,11 @@ NULL NULL 1
---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 95 OR select_id IS NULL) order by id;
+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
@@ -2326,11 +2387,11 @@ NULL NULL 1
DROP VIEW v1;
-CREATE VIEW v1 AS SELECT CONVERT(my_char_30 USING utf8),
+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),
+SELECT CONVERT(my_char_30 USING utf8),
my_char_30, id FROM t1_values
-WHERE select_id = 94 OR select_id IS NULL order by id;
+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
@@ -2338,11 +2399,11 @@ NULL NULL 1
---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 94 OR select_id IS NULL) order by id;
+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
@@ -2356,7 +2417,7 @@ 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 = 93 OR select_id IS NULL order by id;
+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
@@ -2364,11 +2425,11 @@ NULL NULL 1
2000 2000 4
2005 2005 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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 = 93 OR select_id IS NULL) order by id;
+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
@@ -2382,37 +2443,25 @@ 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 = 92 OR select_id IS NULL order by id;
+WHERE select_id = 93 OR select_id IS NULL order by id;
CAST(my_time AS UNSIGNED INTEGER) my_time id
NULL NULL 1
-18446744073709550778 -838:59:59 2
-838 838:59:59 3
-13 13:00:00 4
-10 10:00:00 5
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: '-838:59:59'
-Warning 1105 Cast to unsigned converted negative integer to it's positive complement
-Warning 1292 Truncated incorrect INTEGER value: '838:59:59'
-Warning 1292 Truncated incorrect INTEGER value: '13:00:00'
-Warning 1292 Truncated incorrect INTEGER value: '10:00:00'
+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
-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`
+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 = 92 OR select_id IS NULL) order by id;
+WHERE select_id = 93 OR select_id IS NULL) order by id;
CAST(my_time AS UNSIGNED INTEGER) my_time id
NULL NULL 1
-18446744073709550778 -838:59:59 2
-838 838:59:59 3
-13 13:00:00 4
-10 10:00:00 5
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: '-838:59:59'
-Warning 1105 Cast to unsigned converted negative integer to it's positive complement
-Warning 1292 Truncated incorrect INTEGER value: '838:59:59'
-Warning 1292 Truncated incorrect INTEGER value: '13:00:00'
-Warning 1292 Truncated incorrect INTEGER value: '10:00:00'
+18446744073701165657 -838:59:59 2
+8385959 838:59:59 3
+130000 13:00:00 4
+100000 10:00:00 5
DROP VIEW v1;
@@ -2420,37 +2469,25 @@ 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 = 91 OR select_id IS NULL order by id;
+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
-1970 1970-01-01 03:00:01 2
-2038 2038-01-01 02:59:59 3
-2004 2004-02-29 23:59:59 4
-2005 2005-06-28 10:00:00 5
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: '0000-00-00 00:00:00'
-Warning 1292 Truncated incorrect INTEGER value: '1970-01-01 03:00:01'
-Warning 1292 Truncated incorrect INTEGER value: '2038-01-01 02:59:59'
-Warning 1292 Truncated incorrect INTEGER value: '2004-02-29 23:59:59'
-Warning 1292 Truncated incorrect INTEGER value: '2005-06-28 10:00:00'
+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
-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`
+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 = 91 OR select_id IS NULL) order by id;
+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
-1970 1970-01-01 03:00:01 2
-2038 2038-01-01 02:59:59 3
-2004 2004-02-29 23:59:59 4
-2005 2005-06-28 10:00:00 5
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: '0000-00-00 00:00:00'
-Warning 1292 Truncated incorrect INTEGER value: '1970-01-01 03:00:01'
-Warning 1292 Truncated incorrect INTEGER value: '2038-01-01 02:59:59'
-Warning 1292 Truncated incorrect INTEGER value: '2004-02-29 23:59:59'
-Warning 1292 Truncated incorrect INTEGER value: '2005-06-28 10:00:00'
+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;
@@ -2458,35 +2495,25 @@ 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 = 90 OR select_id IS NULL order by id;
+WHERE select_id = 91 OR select_id IS NULL order by id;
CAST(my_date AS UNSIGNED INTEGER) my_date id
NULL NULL 1
-1 0001-01-01 2
-9999 9999-12-31 3
-2004 2004-02-29 4
-2005 2005-06-28 5
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: '0001-01-01'
-Warning 1292 Truncated incorrect INTEGER value: '9999-12-31'
-Warning 1292 Truncated incorrect INTEGER value: '2004-02-29'
-Warning 1292 Truncated incorrect INTEGER value: '2005-06-28'
+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
-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`
+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 = 90 OR select_id IS NULL) order by id;
+WHERE select_id = 91 OR select_id IS NULL) order by id;
CAST(my_date AS UNSIGNED INTEGER) my_date id
NULL NULL 1
-1 0001-01-01 2
-9999 9999-12-31 3
-2004 2004-02-29 4
-2005 2005-06-28 5
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: '0001-01-01'
-Warning 1292 Truncated incorrect INTEGER value: '9999-12-31'
-Warning 1292 Truncated incorrect INTEGER value: '2004-02-29'
-Warning 1292 Truncated incorrect INTEGER value: '2005-06-28'
+10101 0001-01-01 2
+99991231 9999-12-31 3
+20040229 2004-02-29 4
+20050628 2005-06-28 5
DROP VIEW v1;
@@ -2494,35 +2521,57 @@ 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 = 89 OR select_id IS NULL order by id;
+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
-1 0001-01-01 00:00:00 2
-9999 9999-12-31 23:59:59 3
-2004 2004-02-29 23:59:59 4
-2005 2005-06-28 10:00:00 5
+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.7976931348623e+308 2
+9223372036854775807 1.7976931348623e+308 3
+0 0 4
+18446744073709551615 -1 5
Warnings:
-Warning 1292 Truncated incorrect INTEGER value: '0001-01-01 00:00:00'
-Warning 1292 Truncated incorrect INTEGER value: '9999-12-31 23:59:59'
-Warning 1292 Truncated incorrect INTEGER value: '2004-02-29 23:59:59'
-Warning 1292 Truncated incorrect INTEGER value: '2005-06-28 10:00:00'
+Warning 1292 Truncated incorrect INTEGER value: '-1.7976931348623e+308'
+Warning 1292 Truncated incorrect INTEGER value: '1.7976931348623e+308'
SHOW CREATE VIEW v1;
-View Create View
-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`
+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_datetime AS UNSIGNED INTEGER) my_datetime id
+CAST(my_double AS UNSIGNED INTEGER) my_double id
NULL NULL 1
-1 0001-01-01 00:00:00 2
-9999 9999-12-31 23:59:59 3
-2004 2004-02-29 23:59:59 4
-2005 2005-06-28 10:00:00 5
+9223372036854775808 -1.7976931348623e+308 2
+9223372036854775807 1.7976931348623e+308 3
+0 0 4
+18446744073709551615 -1 5
Warnings:
-Warning 1292 Truncated incorrect INTEGER value: '0001-01-01 00:00:00'
-Warning 1292 Truncated incorrect INTEGER value: '9999-12-31 23:59:59'
-Warning 1292 Truncated incorrect INTEGER value: '2004-02-29 23:59:59'
-Warning 1292 Truncated incorrect INTEGER value: '2005-06-28 10:00:00'
+Warning 1292 Truncated incorrect INTEGER value: '-1.7976931348623e+308'
+Warning 1292 Truncated incorrect INTEGER value: '1.7976931348623e+308'
DROP VIEW v1;
@@ -2542,8 +2591,8 @@ Error 1292 Truncated incorrect DECIMAL value: ''
Error 1292 Truncated incorrect DECIMAL value: ''
Error 1292 Truncated incorrect DECIMAL value: ''
SHOW CREATE VIEW v1;
-View Create View
-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`
+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;
@@ -2572,8 +2621,8 @@ NULL NULL 1
0 0 4
18446744073709551615 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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;
@@ -2603,8 +2652,8 @@ 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
-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`
+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;
@@ -2629,10 +2678,10 @@ 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
+0 2
0 <--------30 characters-------> 3
-0 ---äÖüß@µ*$--
-18446744073709551615 -1
+0 ---äÖüß@µ*$-- 4
+18446744073709551615 -1 5
Warnings:
Warning 1292 Truncated incorrect INTEGER value: ''
Warning 1292 Truncated incorrect INTEGER value: '<--------30 characters------->'
@@ -2640,8 +2689,8 @@ 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
-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`
+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;
@@ -2677,8 +2726,8 @@ 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
-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`
+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;
@@ -2713,8 +2762,8 @@ 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
-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`
+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;
@@ -2744,8 +2793,8 @@ NULL NULL 1
2000 2000 4
2005 2005 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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;
@@ -2765,32 +2814,22 @@ 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
--838 -838:59:59 2
-838 838:59:59 3
-13 13:00:00 4
-10 10:00:00 5
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: '-838:59:59'
-Warning 1292 Truncated incorrect INTEGER value: '838:59:59'
-Warning 1292 Truncated incorrect INTEGER value: '13:00:00'
-Warning 1292 Truncated incorrect INTEGER value: '10:00:00'
+-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
-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`
+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
--838 -838:59:59 2
-838 838:59:59 3
-13 13:00:00 4
-10 10:00:00 5
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: '-838:59:59'
-Warning 1292 Truncated incorrect INTEGER value: '838:59:59'
-Warning 1292 Truncated incorrect INTEGER value: '13:00:00'
-Warning 1292 Truncated incorrect INTEGER value: '10:00:00'
+-8385959 -838:59:59 2
+8385959 838:59:59 3
+130000 13:00:00 4
+100000 10:00:00 5
DROP VIEW v1;
@@ -2801,34 +2840,22 @@ 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
-1970 1970-01-01 03:00:01 2
-2038 2038-01-01 02:59:59 3
-2004 2004-02-29 23:59:59 4
-2005 2005-06-28 10:00:00 5
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: '0000-00-00 00:00:00'
-Warning 1292 Truncated incorrect INTEGER value: '1970-01-01 03:00:01'
-Warning 1292 Truncated incorrect INTEGER value: '2038-01-01 02:59:59'
-Warning 1292 Truncated incorrect INTEGER value: '2004-02-29 23:59:59'
-Warning 1292 Truncated incorrect INTEGER value: '2005-06-28 10:00:00'
+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
-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`
+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
-1970 1970-01-01 03:00:01 2
-2038 2038-01-01 02:59:59 3
-2004 2004-02-29 23:59:59 4
-2005 2005-06-28 10:00:00 5
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: '0000-00-00 00:00:00'
-Warning 1292 Truncated incorrect INTEGER value: '1970-01-01 03:00:01'
-Warning 1292 Truncated incorrect INTEGER value: '2038-01-01 02:59:59'
-Warning 1292 Truncated incorrect INTEGER value: '2004-02-29 23:59:59'
-Warning 1292 Truncated incorrect INTEGER value: '2005-06-28 10:00:00'
+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;
@@ -2839,32 +2866,22 @@ 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
-1 0001-01-01 2
-9999 9999-12-31 3
-2004 2004-02-29 4
-2005 2005-06-28 5
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: '0001-01-01'
-Warning 1292 Truncated incorrect INTEGER value: '9999-12-31'
-Warning 1292 Truncated incorrect INTEGER value: '2004-02-29'
-Warning 1292 Truncated incorrect INTEGER value: '2005-06-28'
+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
-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`
+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
-1 0001-01-01 2
-9999 9999-12-31 3
-2004 2004-02-29 4
-2005 2005-06-28 5
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: '0001-01-01'
-Warning 1292 Truncated incorrect INTEGER value: '9999-12-31'
-Warning 1292 Truncated incorrect INTEGER value: '2004-02-29'
-Warning 1292 Truncated incorrect INTEGER value: '2005-06-28'
+10101 0001-01-01 2
+99991231 9999-12-31 3
+20040229 2004-02-29 4
+20050628 2005-06-28 5
DROP VIEW v1;
@@ -2875,32 +2892,22 @@ 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
-1 0001-01-01 00:00:00 2
-9999 9999-12-31 23:59:59 3
-2004 2004-02-29 23:59:59 4
-2005 2005-06-28 10:00:00 5
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: '0001-01-01 00:00:00'
-Warning 1292 Truncated incorrect INTEGER value: '9999-12-31 23:59:59'
-Warning 1292 Truncated incorrect INTEGER value: '2004-02-29 23:59:59'
-Warning 1292 Truncated incorrect INTEGER value: '2005-06-28 10:00:00'
+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
-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`
+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
-1 0001-01-01 00:00:00 2
-9999 9999-12-31 23:59:59 3
-2004 2004-02-29 23:59:59 4
-2005 2005-06-28 10:00:00 5
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: '0001-01-01 00:00:00'
-Warning 1292 Truncated incorrect INTEGER value: '9999-12-31 23:59:59'
-Warning 1292 Truncated incorrect INTEGER value: '2004-02-29 23:59:59'
-Warning 1292 Truncated incorrect INTEGER value: '2005-06-28 10:00:00'
+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;
@@ -2919,8 +2926,8 @@ Warnings:
Warning 1292 Truncated incorrect INTEGER value: '-1.7976931348623e+308'
Warning 1292 Truncated incorrect INTEGER value: '1.7976931348623e+308'
SHOW CREATE VIEW v1;
-View Create View
-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`
+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;
@@ -2943,23 +2950,23 @@ 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
--10000000000000000 -9999999999999999999999999999999999.999999999999999999999999999999 2
-10000000000000000 9999999999999999999999999999999999.999999999999999999999999999999 3
+-9223372036854775808 -9999999999999999999999999999999999.999999999999999999999999999999 2
+9223372036854775807 9999999999999999999999999999999999.999999999999999999999999999999 3
0 0.000000000000000000000000000000 4
-1 -1.000000000000000000000000000000 5
Warnings:
Error 1292 Truncated incorrect DECIMAL value: ''
Error 1292 Truncated incorrect DECIMAL value: ''
SHOW CREATE VIEW v1;
-View Create View
-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`
+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
--10000000000000000 -9999999999999999999999999999999999.999999999999999999999999999999 2
-10000000000000000 9999999999999999999999999999999999.999999999999999999999999999999 3
+-9223372036854775808 -9999999999999999999999999999999999.999999999999999999999999999999 2
+9223372036854775807 9999999999999999999999999999999999.999999999999999999999999999999 3
0 0.000000000000000000000000000000 4
-1 -1.000000000000000000000000000000 5
Warnings:
@@ -2980,8 +2987,8 @@ NULL NULL 1
0 0 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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;
@@ -3010,8 +3017,8 @@ 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
-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`
+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;
@@ -3035,18 +3042,18 @@ 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
+0 2
0 <--------30 characters-------> 3
-0 ---äÖüß@µ*$--
--1 -1
+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
-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`
+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;
@@ -3080,8 +3087,8 @@ 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
-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`
+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;
@@ -3114,8 +3121,8 @@ 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
-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`
+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;
@@ -3132,287 +3139,255 @@ Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$--'
DROP VIEW v1;
-CREATE VIEW v1 AS SELECT CAST(my_year AS DECIMAL),
+CREATE VIEW v1 AS SELECT CAST(my_year AS DECIMAL(37,2)),
my_year, id FROM t1_values;
-SELECT CAST(my_year AS DECIMAL),
+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) my_year id
+CAST(my_year AS DECIMAL(37,2)) my_year id
NULL NULL 1
-1901 1901 2
-2155 2155 3
-2000 2000 4
-2005 2005 5
+1901.00 1901 2
+2155.00 2155 3
+2000.00 2000 4
+2005.00 2005 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_year` as decimal) AS `CAST(my_year AS DECIMAL)`,`t1_values`.`my_year` AS `my_year`,`t1_values`.`id` AS `id` from `t1_values`
+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) my_year id
+CAST(my_year AS DECIMAL(37,2)) my_year id
NULL NULL 1
-1901 1901 2
-2155 2155 3
-2000 2000 4
-2005 2005 5
+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),
+CREATE VIEW v1 AS SELECT CAST(my_time AS DECIMAL(37,2)),
my_time, id FROM t1_values;
-SELECT CAST(my_time AS DECIMAL),
+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) my_time id
+CAST(my_time AS DECIMAL(37,2)) 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
+-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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_time` as decimal) AS `CAST(my_time AS DECIMAL)`,`t1_values`.`my_time` AS `my_time`,`t1_values`.`id` AS `id` from `t1_values`
+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) my_time id
+CAST(my_time AS DECIMAL(37,2)) 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
+-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),
+CREATE VIEW v1 AS SELECT CAST(my_timestamp AS DECIMAL(37,2)),
my_timestamp, id FROM t1_values;
-SELECT CAST(my_timestamp AS DECIMAL),
+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) my_timestamp id
-0 0000-00-00 00:00:00 1
-9999999999 1970-01-01 03:00:01 2
-9999999999 2038-01-01 02:59:59 3
-9999999999 2004-02-29 23:59:59 4
-9999999999 2005-06-28 10:00:00 5
-Warnings:
-Error 1264 Out of range value for column 'CAST(my_timestamp AS DECIMAL)' at row 1
-Error 1264 Out of range value for column 'CAST(my_timestamp AS DECIMAL)' at row 1
-Error 1264 Out of range value for column 'CAST(my_timestamp AS DECIMAL)' at row 1
-Error 1264 Out of range value for column 'CAST(my_timestamp AS DECIMAL)' at row 1
+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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_timestamp` as decimal) AS `CAST(my_timestamp AS DECIMAL)`,`t1_values`.`my_timestamp` AS `my_timestamp`,`t1_values`.`id` AS `id` from `t1_values`
+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) my_timestamp id
-0 0000-00-00 00:00:00 1
-9999999999 1970-01-01 03:00:01 2
-9999999999 2038-01-01 02:59:59 3
-9999999999 2004-02-29 23:59:59 4
-9999999999 2005-06-28 10:00:00 5
-Warnings:
-Error 1264 Out of range value for column 'CAST(my_timestamp AS DECIMAL)' at row 1
-Error 1264 Out of range value for column 'CAST(my_timestamp AS DECIMAL)' at row 1
-Error 1264 Out of range value for column 'CAST(my_timestamp AS DECIMAL)' at row 1
-Error 1264 Out of range value for column 'CAST(my_timestamp AS DECIMAL)' at row 1
+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),
+CREATE VIEW v1 AS SELECT CAST(my_date AS DECIMAL(37,2)),
my_date, id FROM t1_values;
-SELECT CAST(my_date AS DECIMAL),
+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) my_date id
+CAST(my_date AS DECIMAL(37,2)) 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
+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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_date` as decimal) AS `CAST(my_date AS DECIMAL)`,`t1_values`.`my_date` AS `my_date`,`t1_values`.`id` AS `id` from `t1_values`
+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) my_date id
+CAST(my_date AS DECIMAL(37,2)) 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
+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),
+CREATE VIEW v1 AS SELECT CAST(my_datetime AS DECIMAL(37,2)),
my_datetime, id FROM t1_values;
-SELECT CAST(my_datetime AS DECIMAL),
+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) my_datetime id
+CAST(my_datetime AS DECIMAL(37,2)) my_datetime id
NULL NULL 1
-9999999999 0001-01-01 00:00:00 2
-9999999999 9999-12-31 23:59:59 3
-9999999999 2004-02-29 23:59:59 4
-9999999999 2005-06-28 10:00:00 5
-Warnings:
-Error 1264 Out of range value for column 'CAST(my_datetime AS DECIMAL)' at row 1
-Error 1264 Out of range value for column 'CAST(my_datetime AS DECIMAL)' at row 1
-Error 1264 Out of range value for column 'CAST(my_datetime AS DECIMAL)' at row 1
-Error 1264 Out of range value for column 'CAST(my_datetime AS DECIMAL)' at row 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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_datetime` as decimal) AS `CAST(my_datetime AS DECIMAL)`,`t1_values`.`my_datetime` AS `my_datetime`,`t1_values`.`id` AS `id` from `t1_values`
+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) my_datetime id
+CAST(my_datetime AS DECIMAL(37,2)) my_datetime id
NULL NULL 1
-9999999999 0001-01-01 00:00:00 2
-9999999999 9999-12-31 23:59:59 3
-9999999999 2004-02-29 23:59:59 4
-9999999999 2005-06-28 10:00:00 5
-Warnings:
-Error 1264 Out of range value for column 'CAST(my_datetime AS DECIMAL)' at row 1
-Error 1264 Out of range value for column 'CAST(my_datetime AS DECIMAL)' at row 1
-Error 1264 Out of range value for column 'CAST(my_datetime AS DECIMAL)' at row 1
-Error 1264 Out of range value for column 'CAST(my_datetime AS DECIMAL)' at row 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),
+CREATE VIEW v1 AS SELECT CAST(my_double AS DECIMAL(37,2)),
my_double, id FROM t1_values;
-SELECT CAST(my_double AS DECIMAL),
+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) my_double id
+CAST(my_double AS DECIMAL(37,2)) my_double id
NULL NULL 1
--9999999999 -1.7976931348623e+308 2
-9999999999 1.7976931348623e+308 3
-0 0 4
--1 -1 5
--3333 -3333.3333 30
+-99999999999999999999999999999999999.99 -1.7976931348623e+308 2
+99999999999999999999999999999999999.99 1.7976931348623e+308 3
+0.00 0 4
+-1.00 -1 5
+-3333.33 -3333.3333 30
Warnings:
Error 1292 Truncated incorrect DECIMAL value: ''
-Error 1264 Out of range value for column 'CAST(my_double AS DECIMAL)' at row 1
+Error 1264 Out of range value for column 'CAST(my_double AS DECIMAL(37,2))' at row 1
Error 1292 Truncated incorrect DECIMAL value: ''
-Error 1264 Out of range value for column 'CAST(my_double AS DECIMAL)' at row 1
+Error 1264 Out of range value for column 'CAST(my_double AS DECIMAL(37,2))' at row 1
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_double` as decimal) AS `CAST(my_double AS DECIMAL)`,`t1_values`.`my_double` AS `my_double`,`t1_values`.`id` AS `id` from `t1_values`
+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) my_double id
+CAST(my_double AS DECIMAL(37,2)) my_double id
NULL NULL 1
--9999999999 -1.7976931348623e+308 2
-9999999999 1.7976931348623e+308 3
-0 0 4
--1 -1 5
--3333 -3333.3333 30
+-99999999999999999999999999999999999.99 -1.7976931348623e+308 2
+99999999999999999999999999999999999.99 1.7976931348623e+308 3
+0.00 0 4
+-1.00 -1 5
+-3333.33 -3333.3333 30
Warnings:
Error 1292 Truncated incorrect DECIMAL value: ''
-Error 1264 Out of range value for column 'CAST(my_double AS DECIMAL)' at row 1
+Error 1264 Out of range value for column 'CAST(my_double AS DECIMAL(37,2))' at row 1
Error 1292 Truncated incorrect DECIMAL value: ''
-Error 1264 Out of range value for column 'CAST(my_double AS DECIMAL)' at row 1
+Error 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),
+CREATE VIEW v1 AS SELECT CAST(my_decimal AS DECIMAL(37,2)),
my_decimal, id FROM t1_values;
-SELECT CAST(my_decimal AS DECIMAL),
+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) my_decimal id
+CAST(my_decimal AS DECIMAL(37,2)) my_decimal id
NULL NULL 1
--9999999999 -9999999999999999999999999999999999.999999999999999999999999999999 2
-9999999999 9999999999999999999999999999999999.999999999999999999999999999999 3
-0 0.000000000000000000000000000000 4
--1 -1.000000000000000000000000000000 5
-Warnings:
-Error 1264 Out of range value for column 'CAST(my_decimal AS DECIMAL)' at row 1
-Error 1264 Out of range value for column 'CAST(my_decimal AS DECIMAL)' at row 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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_decimal` as decimal) AS `CAST(my_decimal AS DECIMAL)`,`t1_values`.`my_decimal` AS `my_decimal`,`t1_values`.`id` AS `id` from `t1_values`
+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) my_decimal id
+CAST(my_decimal AS DECIMAL(37,2)) my_decimal id
NULL NULL 1
--9999999999 -9999999999999999999999999999999999.999999999999999999999999999999 2
-9999999999 9999999999999999999999999999999999.999999999999999999999999999999 3
-0 0.000000000000000000000000000000 4
--1 -1.000000000000000000000000000000 5
-Warnings:
-Error 1264 Out of range value for column 'CAST(my_decimal AS DECIMAL)' at row 1
-Error 1264 Out of range value for column 'CAST(my_decimal AS DECIMAL)' at row 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),
+CREATE VIEW v1 AS SELECT CAST(my_bigint AS DECIMAL(37,2)),
my_bigint, id FROM t1_values;
-SELECT CAST(my_bigint AS DECIMAL),
+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) my_bigint id
+CAST(my_bigint AS DECIMAL(37,2)) my_bigint id
NULL NULL 1
--9999999999 -9223372036854775808 2
-9999999999 9223372036854775807 3
-0 0 4
--1 -1 5
-Warnings:
-Error 1264 Out of range value for column 'CAST(my_bigint AS DECIMAL)' at row 1
-Error 1264 Out of range value for column 'CAST(my_bigint AS DECIMAL)' at row 1
+-9223372036854775808.00 -9223372036854775808 2
+9223372036854775807.00 9223372036854775807 3
+0.00 0 4
+-1.00 -1 5
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_bigint` as decimal) AS `CAST(my_bigint AS DECIMAL)`,`t1_values`.`my_bigint` AS `my_bigint`,`t1_values`.`id` AS `id` from `t1_values`
+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) my_bigint id
+CAST(my_bigint AS DECIMAL(37,2)) my_bigint id
NULL NULL 1
--9999999999 -9223372036854775808 2
-9999999999 9223372036854775807 3
-0 0 4
--1 -1 5
-Warnings:
-Error 1264 Out of range value for column 'CAST(my_bigint AS DECIMAL)' at row 1
-Error 1264 Out of range value for column 'CAST(my_bigint AS DECIMAL)' at row 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),
+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),
+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) my_varbinary_1000 id
+CAST(my_varbinary_1000 AS DECIMAL(37,2)) my_varbinary_1000 id
NULL NULL 1
-0 2
-0 <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
-0 ---äÖüß@µ*$-- 4
--1 -1 5
--3333 -3333.3333 29
+0.00 2
+0.00 <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
+0.00 ---äÖüß@µ*$-- 4
+-1.00 -1 5
+-3333.33 -3333.3333 29
Warnings:
Error 1366 Incorrect decimal value: '' for column '' at row -1
Error 1366 Incorrect decimal value: '' for column '' at row -1
Error 1366 Incorrect decimal value: '' for column '' at row -1
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_varbinary_1000` as decimal) AS `CAST(my_varbinary_1000 AS DECIMAL)`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`id` AS `id` from `t1_values`
+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) my_varbinary_1000 id
+CAST(my_varbinary_1000 AS DECIMAL(37,2)) my_varbinary_1000 id
NULL NULL 1
-0 2
-0 <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
-0 ---äÖüß@µ*$-- 4
--1 -1 5
--3333 -3333.3333 29
+0.00 2
+0.00 <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
+0.00 ---äÖüß@µ*$-- 4
+-1.00 -1 5
+-3333.33 -3333.3333 29
Warnings:
Error 1366 Incorrect decimal value: '' for column '' at row -1
Error 1366 Incorrect decimal value: '' for column '' at row -1
@@ -3420,18 +3395,18 @@ Error 1366 Incorrect decimal value: '' for column '' at row -1
DROP VIEW v1;
-CREATE VIEW v1 AS SELECT CAST(my_binary_30 AS DECIMAL),
+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),
+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) my_binary_30 id
+CAST(my_binary_30 AS DECIMAL(37,2)) my_binary_30 id
NULL NULL 1
-0
-0 <--------30 characters-------> 3
-0 ---äÖüß@µ*$--
--1 -1
--3333 -3333.3333
+0.00 2
+0.00 <--------30 characters-------> 3
+0.00 ---äÖüß@µ*$-- 4
+-1.00 -1 5
+-3333.33 -3333.3333 28
Warnings:
Error 1366 Incorrect decimal value: '' for column '' at row -1
Warning 1292 Truncated incorrect DECIMAL value: ''
@@ -3442,18 +3417,18 @@ Warning 1292 Truncated incorrect DECIMAL value: ' ---äÖüß@µ*$-- '
Warning 1292 Truncated incorrect DECIMAL value: '-1'
Warning 1292 Truncated incorrect DECIMAL value: '-3333.3333'
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_binary_30` as decimal) AS `CAST(my_binary_30 AS DECIMAL)`,`t1_values`.`my_binary_30` AS `my_binary_30`,`t1_values`.`id` AS `id` from `t1_values`
+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) my_binary_30 id
+CAST(my_binary_30 AS DECIMAL(37,2)) my_binary_30 id
NULL NULL 1
-0
-0 <--------30 characters-------> 3
-0 ---äÖüß@µ*$--
--1 -1
--3333 -3333.3333
+0.00
+0.00 <--------30 characters-------> 3
+0.00 ---äÖüß@µ*$--
+-1.00 -1
+-3333.33 -3333.3333
Warnings:
Error 1366 Incorrect decimal value: '' for column '' at row -1
Warning 1292 Truncated incorrect DECIMAL value: ''
@@ -3466,35 +3441,35 @@ Warning 1292 Truncated incorrect DECIMAL value: '-3333.3333'
DROP VIEW v1;
-CREATE VIEW v1 AS SELECT CAST(my_varchar_1000 AS DECIMAL),
+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),
+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) my_varchar_1000 id
+CAST(my_varchar_1000 AS DECIMAL(37,2)) my_varchar_1000 id
NULL NULL 1
-0 2
-0 <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
-0 ---äÖüß@µ*$-- 4
--1 -1 5
--3333 -3333.3333 27
+0.00 2
+0.00 <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
+0.00 ---äÖüß@µ*$-- 4
+-1.00 -1 5
+-3333.33 -3333.3333 27
Warnings:
Error 1366 Incorrect decimal value: '' for column '' at row -1
Error 1366 Incorrect decimal value: '' for column '' at row -1
Error 1366 Incorrect decimal value: '' for column '' at row -1
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_varchar_1000` as decimal) AS `CAST(my_varchar_1000 AS DECIMAL)`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values`
+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) my_varchar_1000 id
+CAST(my_varchar_1000 AS DECIMAL(37,2)) my_varchar_1000 id
NULL NULL 1
-0 2
-0 <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
-0 ---äÖüß@µ*$-- 4
--1 -1 5
--3333 -3333.3333 27
+0.00 2
+0.00 <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
+0.00 ---äÖüß@µ*$-- 4
+-1.00 -1 5
+-3333.33 -3333.3333 27
Warnings:
Error 1366 Incorrect decimal value: '' for column '' at row -1
Error 1366 Incorrect decimal value: '' for column '' at row -1
@@ -3502,18 +3477,18 @@ Error 1366 Incorrect decimal value: '' for column '' at row -1
DROP VIEW v1;
-CREATE VIEW v1 AS SELECT CAST(my_char_30 AS DECIMAL),
+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),
+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) my_char_30 id
+CAST(my_char_30 AS DECIMAL(37,2)) my_char_30 id
NULL NULL 1
-0 2
-0 <--------30 characters-------> 3
-0 ---äÖüß@µ*$-- 4
--1 -1 5
--3333 -3333.3333 26
+0.00 2
+0.00 <--------30 characters-------> 3
+0.00 ---äÖüß@µ*$-- 4
+-1.00 -1 5
+-3333.33 -3333.3333 26
Warnings:
Error 1366 Incorrect decimal value: '' for column '' at row -1
Warning 1292 Truncated incorrect DECIMAL value: ' '
@@ -3522,18 +3497,18 @@ Warning 1292 Truncated incorrect DECIMAL value: '<--------30 characters------->'
Error 1366 Incorrect decimal value: '' for column '' at row -1
Warning 1292 Truncated incorrect DECIMAL value: ' ---äÖüß@µ*$-- '
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_char_30` as decimal) AS `CAST(my_char_30 AS DECIMAL)`,`t1_values`.`my_char_30` AS `my_char_30`,`t1_values`.`id` AS `id` from `t1_values`
+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) my_char_30 id
+CAST(my_char_30 AS DECIMAL(37,2)) my_char_30 id
NULL NULL 1
-0 2
-0 <--------30 characters-------> 3
-0 ---äÖüß@µ*$-- 4
--1 -1 5
--3333 -3333.3333 26
+0.00 2
+0.00 <--------30 characters-------> 3
+0.00 ---äÖüß@µ*$-- 4
+-1.00 -1 5
+-3333.33 -3333.3333 26
Warnings:
Error 1366 Incorrect decimal value: '' for column '' at row -1
Warning 1292 Truncated incorrect DECIMAL value: ' '
@@ -3556,8 +3531,8 @@ NULL NULL 1
00:20:00 2000 4
00:20:05 2005 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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;
@@ -3582,8 +3557,8 @@ NULL NULL 1
13:00:00 13:00:00 4
10:00:00 10:00:00 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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;
@@ -3608,8 +3583,8 @@ CAST(my_timestamp AS TIME) my_timestamp id
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
-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`
+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;
@@ -3634,8 +3609,8 @@ NULL NULL 1
00:00:00 2004-02-29 4
00:00:00 2005-06-28 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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;
@@ -3660,8 +3635,8 @@ NULL NULL 1
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
-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`
+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;
@@ -3690,8 +3665,8 @@ Warnings:
Warning 1292 Truncated incorrect time value: '-1.7976931348623e+308'
Warning 1292 Truncated incorrect time value: '1.7976931348623e+308'
SHOW CREATE VIEW v1;
-View Create View
-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`
+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;
@@ -3724,8 +3699,8 @@ Warnings:
Warning 1292 Truncated incorrect time value: '-9223372036854775808'
Warning 1292 Truncated incorrect time value: '9223372036854775807'
SHOW CREATE VIEW v1;
-View Create View
-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`
+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;
@@ -3759,8 +3734,8 @@ 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
-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`
+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;
@@ -3785,11 +3760,11 @@ 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
+00:00:00 2
00:00:00 <--------30 characters-------> 3
--00:00:00 ---äÖüß@µ*$--
-NULL -1
-41:58:00 1 17:58
+-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------->'
@@ -3797,8 +3772,8 @@ 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
-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`
+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;
@@ -3835,8 +3810,8 @@ 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
-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`
+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;
@@ -3871,8 +3846,8 @@ 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
-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`
+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;
@@ -3907,8 +3882,8 @@ 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
-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`
+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;
@@ -3941,8 +3916,8 @@ 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
-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`
+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;
@@ -3970,8 +3945,8 @@ CAST(my_timestamp AS DATETIME) my_timestamp id
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
-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`
+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;
@@ -3996,8 +3971,8 @@ NULL NULL 1
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
-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`
+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;
@@ -4022,8 +3997,8 @@ NULL NULL 1
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
-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`
+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;
@@ -4055,8 +4030,8 @@ 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
-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`
+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;
@@ -4095,8 +4070,8 @@ 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
-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`
+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;
@@ -4134,8 +4109,8 @@ 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
-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`
+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;
@@ -4161,11 +4136,11 @@ 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
+NULL 2
NULL <--------30 characters-------> 3
-NULL ---äÖüß@µ*$--
-NULL -1
-2005-06-27 17:58:00 2005-06-27 17:58
+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------->'
@@ -4173,8 +4148,8 @@ 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
-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`
+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;
@@ -4212,8 +4187,8 @@ 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
-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`
+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;
@@ -4250,8 +4225,8 @@ 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
-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`
+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;
@@ -4287,8 +4262,8 @@ 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
-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`
+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;
@@ -4318,8 +4293,8 @@ NULL NULL 1
0000-00-00 13:00:00 4
0000-00-00 10:00:00 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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;
@@ -4344,8 +4319,8 @@ CAST(my_timestamp AS DATE) my_timestamp id
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
-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`
+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;
@@ -4370,8 +4345,8 @@ NULL NULL 1
2004-02-29 2004-02-29 4
2005-06-28 2005-06-28 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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;
@@ -4396,8 +4371,8 @@ NULL NULL 1
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
-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`
+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;
@@ -4428,8 +4403,8 @@ Warning 1292 Incorrect datetime value: '1.7976931348623e+308'
Warning 1292 Incorrect datetime value: '0'
Warning 1292 Incorrect datetime value: '-1'
SHOW CREATE VIEW v1;
-View Create View
-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`
+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;
@@ -4466,8 +4441,8 @@ 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
-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`
+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;
@@ -4504,8 +4479,8 @@ 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
-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`
+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;
@@ -4531,11 +4506,11 @@ 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
+NULL 2
NULL <--------30 characters-------> 3
-NULL ---äÖüß@µ*$--
-NULL -1
-2005-06-27 2005-06-27
+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------->'
@@ -4543,8 +4518,8 @@ 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
-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`
+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;
@@ -4582,8 +4557,8 @@ 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
-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`
+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;
@@ -4620,8 +4595,8 @@ 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
-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`
+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;
@@ -4652,8 +4627,8 @@ NULL NULL 1
2000 2000 4
2005 2005 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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;
@@ -4678,8 +4653,8 @@ NULL NULL 1
13:00:00 13:00:00 4
10:00:00 10:00:00 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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;
@@ -4704,8 +4679,8 @@ CAST(my_timestamp AS CHAR) my_timestamp id
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
-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`
+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;
@@ -4730,8 +4705,8 @@ NULL NULL 1
2004-02-29 2004-02-29 4
2005-06-28 2005-06-28 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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;
@@ -4756,8 +4731,8 @@ NULL NULL 1
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
-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`
+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;
@@ -4782,8 +4757,8 @@ NULL NULL 1
0 0 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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;
@@ -4808,8 +4783,8 @@ NULL NULL 1
0.000000000000000000000000000000 0.000000000000000000000000000000 4
-1.000000000000000000000000000000 -1.000000000000000000000000000000 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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;
@@ -4834,8 +4809,8 @@ NULL NULL 1
0 0 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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;
@@ -4860,8 +4835,8 @@ NULL NULL 1
---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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;
@@ -4881,13 +4856,13 @@ 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
- ---äÖüß@µ*$--
--1
+ ---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
+-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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;
@@ -4912,8 +4887,8 @@ NULL NULL 1
---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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;
@@ -4938,8 +4913,8 @@ NULL NULL 1
---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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;
@@ -4964,8 +4939,8 @@ NULL NULL 1
2000 2000 4
2005 2005 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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;
@@ -4990,8 +4965,8 @@ NULL NULL 1
13:00:00 13:00:00 4
10:00:00 10:00:00 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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;
@@ -5016,8 +4991,8 @@ CAST(my_timestamp AS BINARY) my_timestamp id
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
-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`
+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;
@@ -5042,8 +5017,8 @@ NULL NULL 1
2004-02-29 2004-02-29 4
2005-06-28 2005-06-28 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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;
@@ -5068,8 +5043,8 @@ NULL NULL 1
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
-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`
+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;
@@ -5094,8 +5069,8 @@ NULL NULL 1
0 0 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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;
@@ -5120,8 +5095,8 @@ NULL NULL 1
0.000000000000000000000000000000 0.000000000000000000000000000000 4
-1.000000000000000000000000000000 -1.000000000000000000000000000000 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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;
@@ -5146,8 +5121,8 @@ NULL NULL 1
0 0 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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;
@@ -5172,8 +5147,8 @@ NULL NULL 1
---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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;
@@ -5193,13 +5168,13 @@ 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
- ---äÖüß@µ*$--
--1
+ ---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
+-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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;
@@ -5224,8 +5199,8 @@ NULL NULL 1
---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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;
@@ -5250,8 +5225,8 @@ NULL NULL 1
---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
-1 -1 5
SHOW CREATE VIEW v1;
-View Create View
-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`
+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;
@@ -5276,8 +5251,8 @@ NULL -1 5
2 4 6
NULL -25 7
SHOW CREATE VIEW v1;
-View Create View
-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`
+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;
diff --git a/mysql-test/suite/funcs_1/r/ndb_storedproc.result b/mysql-test/suite/funcs_1/r/ndb_storedproc.result
index 2e1d5035397..1d75cf49bb7 100644
--- a/mysql-test/suite/funcs_1/r/ndb_storedproc.result
+++ b/mysql-test/suite/funcs_1/r/ndb_storedproc.result
@@ -1,33 +1,6 @@
-.
-. IMPORTANT NOTICE:
-. -----------------
-.
-. FIXME: The .result files are still NOT CHECKED for correctness!
-.
-. FIXME: Several tests are affected by known problems around DECIMAL
-. FIXME: and NUMERIC that will be checked again after WL#2984 once
-. FIXME: has been completed. Some of them are marked in the result.
-.
-. Currently (Dec 06, 2005) this .result file is checked OK for Linux
-. with 5.0.17-bk (ChangeSet@1.1975.1.2, 2005-12-05 18:33:48+01:00).
-. Using the available Windows version 5.0.16 there are differences
-. that can be ignored (e.g. WL#2984).
-.
---------------------------------------------------------------------------------
- FIXME: There are subtests that are switched off due to known bugs:
- ------------------------------------------------------------------
-WL#2984: DECIMAL and NUMERIC problems with differences on some machines
-0
-
-There are some statements where the ps-protocol is switched off.
-Bug#11589: mysqltest, --ps-protocol, strange output, float/double/real with zerofill
---------------------------------------------------------------------------------
-
--source suite/funcs_1/storedproc/load_sp_tb.inc
--------------------------------------------------------------------------------
-SET @@global.max_heap_table_size=4294967295;
-SET @@session.max_heap_table_size=4294967295;
--source suite/funcs_1/storedproc/cleanup_sp_tb.inc
--------------------------------------------------------------------------------
@@ -36,20 +9,25 @@ 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 = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t1;
-create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t2;
-create table t3(f1 char(20),f2 char(20),f3 integer) engine = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t3.txt' into table t3;
-create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t4;
+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_ln/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_ln/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_ln/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_ln/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 = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t6;
+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_ln/funcs_1/t4.txt' into table t6;
USE db_storedproc;
-create table t7 (f1 char(20), f2 char(25), f3 date, f4 int) engine = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t7;
+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_ln/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
@@ -61,8 +39,9 @@ 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 = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t8;
+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_ln/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
@@ -74,12 +53,14 @@ 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 = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t9.txt' into table t9;
-create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t10;
-create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t11;
+create table t9(f1 int, f2 char(25), f3 int) engine = <engine_to_be_tested>;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/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_ln/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_ln/funcs_1/t4.txt' into table t11;
Section 3.1.1 - Syntax checks for the CREATE PROCEDURE, CREATE
FUNCTION, ALTER PROCEDURE, ALTER FUNCTION, DROP PROCEDURE, DROP FUNCTION, SHOW
@@ -94,23 +75,24 @@ CREATE PROCEDURE
--------------------------------------------------------------------------------
USE db_storedproc;
DROP PROCEDURE IF EXISTS sp1_thisisaveryverylongname234872934_thisisaveryverylongname234872934;
+ERROR 42000: Identifier name 'sp1_thisisaveryverylongname234872934_thisisaveryverylongname234872934' is too long
CREATE PROCEDURE sp1_thisisaveryverylongname234872934_thisisaveryverylongname234872934 (f1 char(20) )
SELECT * from t1 where f2 = f1;
+ERROR 42000: Identifier name 'sp1_thisisaveryverylongname234872934_thisisaveryverylongname234872934' is too long
CALL sp1_thisisaveryverylongname234872934_thisisaveryverylongname234872934('aaaa');
-f1 f2 f3 f4 f5 f6
+ERROR 42000: Identifier name 'sp1_thisisaveryverylongname234872934_thisisaveryverylongname234872934' is too long
DROP PROCEDURE IF EXISTS sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcde;
+ERROR 42000: Identifier name 'sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcde' is too long
CREATE PROCEDURE sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcde( f1 tinytext ) language sql deterministic sql security definer comment 'this is simple'
BEGIN
set @v1 = f1;
SELECT @v1, @v1;
END//
+ERROR 42000: Identifier name 'sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcde' is too long
CALL sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcde( 'abc' );
-@v1 @v1
-abc abc
+ERROR 42000: Identifier name 'sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcde' is too long
SHOW PROCEDURE status;
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongname2348 PROCEDURE root@localhost modified created DEFINER
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcd PROCEDURE root@localhost modified created DEFINER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( f1 binary ) language sql not deterministic sql security invoker comment 'this is simple'
BEGIN
@@ -119,12 +101,12 @@ SELECT @v1;
END//
CALL sp1( 34 );
@v1
-34
+3
+Warnings:
+Warning 1265 Data truncated for column 'f1' at row 1
SHOW PROCEDURE status;
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER this is simple
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongname2348 PROCEDURE root@localhost modified created DEFINER
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcd PROCEDURE root@localhost modified created DEFINER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER this is simple latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( f1 blob ) language sql not deterministic sql security invoker comment 'this is simple'
BEGIN
@@ -135,10 +117,8 @@ CALL sp1( 34 );
@v1
34
SHOW PROCEDURE status;
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER this is simple
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongname2348 PROCEDURE root@localhost modified created DEFINER
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcd PROCEDURE root@localhost modified created DEFINER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER this is simple latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( f1 int ) language sql not deterministic sql security invoker comment 'this is simple'
BEGIN
@@ -149,25 +129,27 @@ CALL sp1( 34 );
@v1
34
SHOW PROCEDURE status;
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER this is simple
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongname2348 PROCEDURE root@localhost modified created DEFINER
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcd PROCEDURE root@localhost modified created DEFINER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER this is simple latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE IF EXISTS sp1;
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed: SP definition accepted with m>60 in DECIMAL(m,n)
CREATE PROCEDURE sp1( f1 decimal(256, 30) ) language sql not deterministic sql security invoker comment 'this is simple'
BEGIN
set @v1 = f1;
SELECT @v1;
END//
+ERROR 42000: Too big precision 256 specified for column ''. Maximum is 65.
DROP PROCEDURE IF EXISTS sp1//
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( f1 decimal(66, 30) ) language sql not deterministic sql security invoker comment 'this is simple'
BEGIN
set @v1 = f1;
SELECT @v1;
END//
+ERROR 42000: Too big precision 66 specified for column ''. Maximum is 65.
DROP PROCEDURE IF EXISTS sp1//
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( f1 decimal(60, 30) ) language sql not deterministic sql security invoker comment 'this is simple'
BEGIN
set @v1 = f1;
@@ -175,101 +157,1123 @@ SELECT @v1;
END//
CALL sp1( 17976931340000 );
@v1
-17976931340000
+17976931340000.000000000000000000000000000000
+CALL sp1( 1.797693134e+13 );
+@v1
+17976931340000.000000000000000000000000000000
+CALL sp1( 1.7976931348623157493578e+308 );
+ERROR 22007: Illegal double '1.7976931348623157493578e+308' value found during parsing
+CALL sp1( 0.1234567890987654321e+100 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-100 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+99 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-99 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+98 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-98 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+97 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-97 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+96 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-96 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+95 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-95 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+94 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-94 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+93 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-93 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+92 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-92 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+91 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-91 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+90 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-90 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+89 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-89 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+88 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-88 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+87 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-87 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+86 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-86 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+85 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-85 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+84 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-84 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+83 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-83 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+82 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-82 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+81 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-81 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+80 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-80 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+79 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-79 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+78 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-78 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+77 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-77 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+76 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-76 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+75 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-75 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+74 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-74 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+73 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-73 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+72 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-72 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+71 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-71 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+70 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-70 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+69 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-69 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+68 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-68 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+67 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-67 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+66 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-66 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+65 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-65 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+64 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-64 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+63 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-63 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+62 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-62 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+61 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-61 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+60 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-60 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+59 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-59 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+58 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-58 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+57 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-57 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+56 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-56 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+55 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-55 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+54 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-54 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+53 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-53 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+52 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-52 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+51 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-51 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+50 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-50 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+49 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-49 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+48 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-48 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+47 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-47 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+46 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-46 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+45 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-45 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+44 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-44 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+43 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-43 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+42 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-42 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+41 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-41 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+40 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-40 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+39 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-39 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+38 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-38 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+37 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-37 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+36 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-36 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+35 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-35 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+34 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-34 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+33 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-33 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+32 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-32 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+31 );
+@v1
+999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-31 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+30 );
+@v1
+123456789098765400000000000000.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-30 );
+@v1
+0.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+29 );
+@v1
+12345678909876540000000000000.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-29 );
+@v1
+0.000000000000000000000000000001
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+28 );
+@v1
+1234567890987654000000000000.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-28 );
+@v1
+0.000000000000000000000000000012
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+27 );
+@v1
+123456789098765400000000000.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-27 );
+@v1
+0.000000000000000000000000000123
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+26 );
+@v1
+12345678909876540000000000.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-26 );
+@v1
+0.000000000000000000000000001235
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+25 );
+@v1
+1234567890987654000000000.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-25 );
+@v1
+0.000000000000000000000000012346
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+24 );
+@v1
+123456789098765400000000.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-24 );
+@v1
+0.000000000000000000000000123457
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+23 );
+@v1
+12345678909876540000000.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-23 );
+@v1
+0.000000000000000000000001234568
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+22 );
+@v1
+1234567890987654000000.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-22 );
+@v1
+0.000000000000000000000012345679
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+21 );
+@v1
+123456789098765400000.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-21 );
+@v1
+0.000000000000000000000123456789
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+20 );
+@v1
+12345678909876540000.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-20 );
+@v1
+0.000000000000000000001234567891
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+19 );
+@v1
+1234567890987654000.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-19 );
+@v1
+0.000000000000000000012345678910
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+18 );
+@v1
+123456789098765400.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-18 );
+@v1
+0.000000000000000000123456789099
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+17 );
+@v1
+12345678909876540.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-17 );
+@v1
+0.000000000000000001234567890988
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+16 );
+@v1
+1234567890987654.000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-16 );
+@v1
+0.000000000000000012345678909877
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+15 );
+@v1
+123456789098765.400000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-15 );
+@v1
+0.000000000000000123456789098765
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+14 );
+@v1
+12345678909876.540000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-14 );
+@v1
+0.000000000000001234567890987654
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+13 );
+@v1
+1234567890987.654000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-13 );
+@v1
+0.000000000000012345678909876540
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+12 );
+@v1
+123456789098.765400000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-12 );
+@v1
+0.000000000000123456789098765400
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+11 );
+@v1
+12345678909.876540000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-11 );
+@v1
+0.000000000001234567890987654000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+10 );
+@v1
+1234567890.987654000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-10 );
+@v1
+0.000000000012345678909876540000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+9 );
+@v1
+123456789.098765400000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-9 );
+@v1
+0.000000000123456789098765400000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+8 );
+@v1
+12345678.909876540000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-8 );
+@v1
+0.000000001234567890987654000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+7 );
+@v1
+1234567.890987654000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-7 );
+@v1
+0.000000012345678909876540000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+6 );
+@v1
+123456.789098765400000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-6 );
+@v1
+0.000000123456789098765400000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+5 );
+@v1
+12345.678909876540000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-5 );
+@v1
+0.000001234567890987654000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+4 );
+@v1
+1234.567890987654000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-4 );
+@v1
+0.000012345678909876550000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+3 );
+@v1
+123.456789098765400000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-3 );
+@v1
+0.000123456789098765400000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+2 );
+@v1
+12.345678909876540000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-2 );
+@v1
+0.001234567890987654000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+1 );
+@v1
+1.234567890987654000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-1 );
+@v1
+0.012345678909876540000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e+0 );
+@v1
+0.123456789098765400000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+CALL sp1( 0.1234567890987654321e-0 );
+@v1
+0.123456789098765400000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
SHOW PROCEDURE status;
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER this is simple
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongname2348 PROCEDURE root@localhost modified created DEFINER
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcd PROCEDURE root@localhost modified created DEFINER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER this is simple latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( f1 enum("value1", "value1") ) language sql not deterministic sql security invoker comment 'this is simple'
BEGIN
SELECT f1;
END//
+Warnings:
+Note 1291 Column '' has duplicated value 'value1' in ENUM
CALL sp1( "value1" );
f1
value1
+Warnings:
+Note 1291 Column '' has duplicated value 'value1' in ENUM
SHOW PROCEDURE status;
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER this is simple
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongname2348 PROCEDURE root@localhost modified created DEFINER
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcd PROCEDURE root@localhost modified created DEFINER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER this is simple latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( f1 set("value1", "value1") ) language sql not deterministic sql security invoker comment 'this is simple'
BEGIN
SELECT f1;
END//
+Warnings:
+Note 1291 Column '' has duplicated value 'value1' in SET
CALL sp1( "value1, value1" );
f1
-value1, value1
+value1
+Warnings:
+Note 1291 Column '' has duplicated value 'value1' in SET
+Warning 1265 Data truncated for column 'f1' at row 1
SHOW PROCEDURE status;
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER this is simple
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongname2348 PROCEDURE root@localhost modified created DEFINER
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcd PROCEDURE root@localhost modified created DEFINER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER this is simple latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( f1 enum("value1", "value1") ) language sql not deterministic sql security invoker comment 'this is simple'
BEGIN
SELECT f1;
END//
+Warnings:
+Note 1291 Column '' has duplicated value 'value1' in ENUM
CALL sp1( "value1" );
f1
value1
+Warnings:
+Note 1291 Column '' has duplicated value 'value1' in ENUM
SHOW PROCEDURE status;
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER this is simple
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongname2348 PROCEDURE root@localhost modified created DEFINER
-db_storedproc sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcd PROCEDURE root@localhost modified created DEFINER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER this is simple latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( f1 text ) language sql SELECT f1;
CALL sp1( 'abc' );
f1
abc
SHOW PROCEDURE status like 'sp1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp1 PROCEDURE root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp1 PROCEDURE root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( f1 text ) deterministic SELECT f1;
CALL sp1( 'abc' );
f1
abc
SHOW PROCEDURE status like 'sp1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp1 PROCEDURE root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp1 PROCEDURE root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( f1 text ) not deterministic SELECT f1;
CALL sp1( 'abc' );
f1
abc
SHOW PROCEDURE status like 'sp1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp1 PROCEDURE root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp1 PROCEDURE root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( f1 text ) sql security definer SELECT f1;
CALL sp1( 'abc' );
f1
abc
SHOW PROCEDURE status like 'sp1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp1 PROCEDURE root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp1 PROCEDURE root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( f1 text ) sql security invoker SELECT f1;
CALL sp1( 'abc' );
f1
abc
SHOW PROCEDURE status like 'sp1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp1 PROCEDURE root@localhost modified created INVOKER latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( f1 text ) comment 'this is simple' SELECT f1;
CALL sp1( 'abc' );
f1
abc
SHOW PROCEDURE status like 'sp1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp1 PROCEDURE root@localhost modified created DEFINER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp1 PROCEDURE root@localhost modified created DEFINER this is simple latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE sp1_thisisaveryverylongname234872934_thisisaveryverylongname234872934;
+ERROR 42000: Identifier name 'sp1_thisisaveryverylongname234872934_thisisaveryverylongname234872934' is too long
DROP PROCEDURE sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcde;
+ERROR 42000: Identifier name 'sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcde' is too long
DROP PROCEDURE sp1;
Testcase 4.1.2:
@@ -294,8 +1298,8 @@ SELECT fn1( ' world');
fn1( ' world')
hello world
SHOW FUNCTION STATUS LIKE 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc fn1 FUNCTION root@localhost modified created DEFINER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc fn1 FUNCTION root@localhost modified created DEFINER this is simple latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION IF EXISTS fn1;
CREATE FUNCTION fn1( f1 smallint ) returns smallint language sql not deterministic sql security invoker comment 'this is simple'
BEGIN
@@ -306,8 +1310,8 @@ SELECT fn1( 126 );
fn1( 126 )
127
SHOW FUNCTION STATUS LIKE 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc fn1 FUNCTION root@localhost modified created INVOKER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc fn1 FUNCTION root@localhost modified created INVOKER this is simple latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION IF EXISTS fn1;
CREATE FUNCTION fn1( f1 decimal(63, 31) ) returns decimal(63, 31) language sql not deterministic sql security invoker comment 'this is simple'
BEGIN
@@ -326,34 +1330,34 @@ SELECT fn1( 1.3326e+8 );
fn1( 1.3326e+8 )
134260000.000000000000000000000000000000
SHOW FUNCTION STATUS LIKE 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc fn1 FUNCTION root@localhost modified created INVOKER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc fn1 FUNCTION root@localhost modified created INVOKER this is simple latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION IF EXISTS fn1;
CREATE FUNCTION fn1( f1 enum("value1", "value1") ) returns decimal(63, 30) language sql not deterministic sql security invoker comment 'this is simple'
BEGIN
return f1;
END//
+Warnings:
+Note 1291 Column '' has duplicated value 'value1' in ENUM
SELECT fn1( "value1" );
fn1( "value1" )
-0.000000000000000000000000000000
-Warnings:
-Warning 1292 Truncated incorrect DECIMAL value: 'value1'
+1.000000000000000000000000000000
SHOW FUNCTION STATUS LIKE 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc fn1 FUNCTION root@localhost modified created INVOKER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc fn1 FUNCTION root@localhost modified created INVOKER this is simple latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION IF EXISTS fn1;
CREATE FUNCTION fn1( f1 set("value1", "value1") ) returns decimal(63, 30) language sql not deterministic sql security invoker comment 'this is simple'
BEGIN
return f1;
END//
+Warnings:
+Note 1291 Column '' has duplicated value 'value1' in SET
SELECT fn1( "value1, value1" );
fn1( "value1, value1" )
-0.000000000000000000000000000000
-Warnings:
-Warning 1292 Truncated incorrect DECIMAL value: 'value1, value1'
+1.000000000000000000000000000000
SHOW FUNCTION STATUS LIKE 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc fn1 FUNCTION root@localhost modified created INVOKER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc fn1 FUNCTION root@localhost modified created INVOKER this is simple latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION IF EXISTS fn1;
CREATE FUNCTION fn1( f1 smallint ) returns smallint language sql
BEGIN
@@ -364,8 +1368,8 @@ SELECT fn1( 126 );
fn1( 126 )
127
SHOW FUNCTION STATUS LIKE 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc fn1 FUNCTION root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc fn1 FUNCTION root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION IF EXISTS fn1;
CREATE FUNCTION fn1( f1 smallint ) returns smallint deterministic
BEGIN
@@ -376,8 +1380,8 @@ SELECT fn1( 126 );
fn1( 126 )
127
SHOW FUNCTION STATUS LIKE 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc fn1 FUNCTION root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc fn1 FUNCTION root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION IF EXISTS fn1;
CREATE FUNCTION fn1( f1 smallint ) returns smallint not deterministic
BEGIN
@@ -388,8 +1392,8 @@ SELECT fn1( 126 );
fn1( 126 )
127
SHOW FUNCTION STATUS LIKE 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc fn1 FUNCTION root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc fn1 FUNCTION root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION IF EXISTS fn1;
CREATE FUNCTION fn1( f1 smallint ) returns smallint
sql security definer
@@ -401,8 +1405,8 @@ SELECT fn1( 126 );
fn1( 126 )
127
SHOW FUNCTION STATUS LIKE 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc fn1 FUNCTION root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc fn1 FUNCTION root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION IF EXISTS fn1;
CREATE FUNCTION fn1( f1 smallint ) returns smallint
sql security invoker
@@ -414,8 +1418,8 @@ SELECT fn1( 126 );
fn1( 126 )
127
SHOW FUNCTION STATUS LIKE 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc fn1 FUNCTION root@localhost modified created INVOKER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc fn1 FUNCTION root@localhost modified created INVOKER latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION IF EXISTS fn1;
CREATE FUNCTION fn1( f1 smallint ) returns smallint
comment 'this is simple'
@@ -427,8 +1431,8 @@ SELECT fn1( 126 );
fn1( 126 )
127
SHOW FUNCTION STATUS LIKE 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc fn1 FUNCTION root@localhost modified created DEFINER this is simple
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc fn1 FUNCTION root@localhost modified created DEFINER this is simple latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION fn1;
Testcase 4.1.3:
@@ -440,9 +1444,9 @@ DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1 (f1 char(20) )
SELECT * from t1 where f2 = f1;
show CREATE PROCEDURE sp1;
-Procedure sql_mode Create Procedure
-sp1 CREATE PROCEDURE `sp1`(f1 char(20) )
-SELECT * from t1 where f2 = f1
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+sp1 CREATE DEFINER=`root`@`localhost` PROCEDURE `sp1`(f1 char(20) )
+SELECT * from t1 where f2 = f1 latin1 modified created
DROP PROCEDURE sp1;
Testcase 4.1.4:
@@ -453,9 +1457,9 @@ DROP FUNCTION IF EXISTS fn1;
CREATE FUNCTION fn1 (s char(20)) returns char(50)
return concat('hello, ', s, '!');
show CREATE FUNCTION fn1;
-Function sql_mode Create Function
-fn1 CREATE FUNCTION `fn1`(s char(20)) RETURNS char(50)
-return concat('hello, ', s, '!')
+Function sql_mode Create Function character_set_client collation_connection Database Collation
+fn1 CREATE DEFINER=`root`@`localhost` FUNCTION `fn1`(s char(20)) RETURNS char(50) CHARSET latin1
+return concat('hello, ', s, '!') latin1 modified created
DROP FUNCTION fn1;
Testcase 4.1.5:
@@ -465,8 +1469,8 @@ SHOW PROCEDURE status
CREATE PROCEDURE sp5()
SELECT * from t1;
SHOW PROCEDURE status like 'sp5';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp5 PROCEDURE root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp5 PROCEDURE root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE sp5;
Testcase 4.1.6:
@@ -479,8 +1483,8 @@ set @b = 0.9 * a;
return @b;
END//
SHOW FUNCTION STATUS LIKE 'fn5';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc fn5 FUNCTION root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc fn5 FUNCTION root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION fn5;
Testcase 4.1.7:
@@ -498,7 +1502,7 @@ CREATE PROCEDURE sp7b (a char (20), out b char(20))
SELECT f1 into b from t1 where t1.f2= a;
CALL sp7b('xyz', @out_param);
Warnings:
-Warning 1329 No data to FETCH
+Warning 1329 No data - zero rows fetched, selected, or processed
SELECT @out_param;
@out_param
NULL
@@ -510,9 +1514,6 @@ SELECT f2 into c from t1 where t1.f2=999;
END//
set @c=1;
CALL sp7c('xyz', @out_param, @c);
-Warnings:
-Warning 1329 No data to FETCH
-Warning 1329 No data to FETCH
SELECT @out_param;
@out_param
NULL
@@ -539,48 +1540,48 @@ Testcase 4.1.9:
drop procedure
--------------------------------------------------------------------------------
SELECT * from mysql.proc where specific_name='sp9';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
DROP PROCEDURE IF EXISTS sp9;
SELECT * from mysql.proc where specific_name='sp9';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
CREATE PROCEDURE sp9()SELECT * from t1;
SELECT * from mysql.proc where specific_name='sp9';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
-db_storedproc sp9 PROCEDURE sp9 SQL CONTAINS_SQL NO DEFINER SELECT * from t1 root@localhost created modified
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
+db_storedproc sp9 PROCEDURE sp9 SQL CONTAINS_SQL NO DEFINER SELECT * from t1 root@localhost created modified latin1 latin1_swedish_ci latin1_swedish_ci SELECT * from t1
DROP PROCEDURE sp9;
SELECT * from mysql.proc where specific_name='sp9';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
CREATE PROCEDURE sp9()SELECT * from t1;
SELECT * from mysql.proc where specific_name='sp9';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
-db_storedproc sp9 PROCEDURE sp9 SQL CONTAINS_SQL NO DEFINER SELECT * from t1 root@localhost created modified
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
+db_storedproc sp9 PROCEDURE sp9 SQL CONTAINS_SQL NO DEFINER SELECT * from t1 root@localhost created modified latin1 latin1_swedish_ci latin1_swedish_ci SELECT * from t1
DROP PROCEDURE IF EXISTS sp9;
SELECT * from mysql.proc where specific_name='sp9';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
Testcase 4.1.10:
----------------
DROP FUNCTION
--------------------------------------------------------------------------------
SELECT * from mysql.proc where specific_name='fn10' and type='function';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
DROP FUNCTION IF EXISTS fn10;
SELECT * from mysql.proc where specific_name='fn10' and type='function';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
CREATE FUNCTION fn10() returns int return 100;
SELECT * from mysql.proc where specific_name='fn10' and type='function';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
-db_storedproc fn10 FUNCTION fn10 SQL CONTAINS_SQL NO DEFINER int(11) return 100 root@localhost created modified
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
+db_storedproc fn10 FUNCTION fn10 SQL CONTAINS_SQL NO DEFINER int(11) return 100 root@localhost created modified latin1 latin1_swedish_ci latin1_swedish_ci return 100
DROP FUNCTION fn10;
SELECT * from mysql.proc where specific_name='fn10' and type='function';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
CREATE FUNCTION fn10() returns int return 100;
SELECT * from mysql.proc where specific_name='fn10' and type='function';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
-db_storedproc fn10 FUNCTION fn10 SQL CONTAINS_SQL NO DEFINER int(11) return 100 root@localhost created modified
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
+db_storedproc fn10 FUNCTION fn10 SQL CONTAINS_SQL NO DEFINER int(11) return 100 root@localhost created modified latin1 latin1_swedish_ci latin1_swedish_ci return 100
DROP FUNCTION IF EXISTS fn10;
SELECT * from mysql.proc where specific_name='fn10' and type='function';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
Testcase 4.1.11:
----------------
@@ -604,6 +1605,7 @@ connect(localhost,user_1,,db_storedproc,MYSQL_PORT,MYSQL_SOCK);
user_1@localhost db_storedproc
CALL sp11();
+USE db_storedproc;
root@localhost db_storedproc
alter procedure sp11 sql security invoker;
@@ -612,6 +1614,7 @@ security_type
INVOKER
user_1@localhost db_storedproc
+USE db_storedproc;
CALL sp11();
ERROR 42000: INSERT command denied to user 'user_1'@'localhost' for table 't1'
commit work;
@@ -705,6 +1708,10 @@ SELECT * from t1 where f2 = f1' at line 1
CREATE PROCEDURE function()
SELECT * from t1 where f2=f1;
DROP PROCEDURE function;
+CREATE PROCEDURE accessible()
+SELECT * from t1 where f2=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 'accessible()
+SELECT * from t1 where f2=f1' at line 1
CREATE PROCEDURE add()
SELECT * from t1 where f2=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()
@@ -765,9 +1772,9 @@ CREATE PROCEDURE by()
SELECT * from t1 where f2=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 'by()
SELECT * from t1 where f2=f1' at line 1
-CREATE PROCEDURE CALL()
+CREATE PROCEDURE call()
SELECT * from t1 where f2=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 'CALL()
+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 'call()
SELECT * from t1 where f2=f1' at line 1
CREATE PROCEDURE cascade()
SELECT * from t1 where f2=f1;
@@ -801,17 +1808,10 @@ CREATE PROCEDURE column()
SELECT * from t1 where f2=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 'column()
SELECT * from t1 where f2=f1' at line 1
-CREATE PROCEDURE columns()
-SELECT * from t1 where f2=f1;
-DROP PROCEDURE columns;
CREATE PROCEDURE condition()
SELECT * from t1 where f2=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 'condition()
SELECT * from t1 where f2=f1' at line 1
-CREATE PROCEDURE connection()
-SELECT * from t1 where f2=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 'connection()
-SELECT * from t1 where f2=f1' at line 1
CREATE PROCEDURE constraint()
SELECT * from t1 where f2=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 'constraint()
@@ -995,9 +1995,6 @@ CREATE PROCEDURE foreign()
SELECT * from t1 where f2=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 'foreign()
SELECT * from t1 where f2=f1' at line 1
-CREATE PROCEDURE found()
-SELECT * from t1 where f2=f1;
-DROP PROCEDURE found;
CREATE PROCEDURE from()
SELECT * from t1 where f2=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 'from()
@@ -1006,9 +2003,6 @@ CREATE PROCEDURE fulltext()
SELECT * from t1 where f2=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 'fulltext()
SELECT * from t1 where f2=f1' at line 1
-CREATE PROCEDURE goto()
-SELECT * from t1 where f2=f1;
-DROP PROCEDURE goto;
CREATE PROCEDURE grant()
SELECT * from t1 where f2=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 'grant()
@@ -1077,6 +2071,26 @@ CREATE PROCEDURE int()
SELECT * from t1 where f2=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 'int()
SELECT * from t1 where f2=f1' at line 1
+CREATE PROCEDURE int1()
+SELECT * from t1 where f2=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 'int1()
+SELECT * from t1 where f2=f1' at line 1
+CREATE PROCEDURE int2()
+SELECT * from t1 where f2=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 'int2()
+SELECT * from t1 where f2=f1' at line 1
+CREATE PROCEDURE int3()
+SELECT * from t1 where f2=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 'int3()
+SELECT * from t1 where f2=f1' at line 1
+CREATE PROCEDURE int4()
+SELECT * from t1 where f2=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 'int4()
+SELECT * from t1 where f2=f1' at line 1
+CREATE PROCEDURE int8()
+SELECT * from t1 where f2=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 'int8()
+SELECT * from t1 where f2=f1' at line 1
CREATE PROCEDURE integer()
SELECT * from t1 where f2=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 'integer()
@@ -1133,6 +2147,10 @@ CREATE PROCEDURE limit()
SELECT * from t1 where f2=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 'limit()
SELECT * from t1 where f2=f1' at line 1
+CREATE PROCEDURE linear()
+SELECT * from t1 where f2=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 'linear()
+SELECT * from t1 where f2=f1' at line 1
CREATE PROCEDURE lines()
SELECT * from t1 where f2=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 'lines()
@@ -1173,6 +2191,10 @@ CREATE PROCEDURE low_priority()
SELECT * from t1 where f2=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 'low_priority()
SELECT * from t1 where f2=f1' at line 1
+CREATE PROCEDURE master_ssl_verify_server_cert()
+SELECT * from t1 where f2=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 'master_ssl_verify_server_cert()
+SELECT * from t1 where f2=f1' at line 1
CREATE PROCEDURE match()
SELECT * from t1 where f2=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 'match()
@@ -1273,9 +2295,6 @@ CREATE PROCEDURE primary()
SELECT * from t1 where f2=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 'primary()
SELECT * from t1 where f2=f1' at line 1
-CREATE PROCEDURE privileges()
-SELECT * from t1 where f2=f1;
-DROP PROCEDURE privileges;
CREATE PROCEDURE procedure()
SELECT * from t1 where f2=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 'procedure()
@@ -1284,6 +2303,10 @@ CREATE PROCEDURE purge()
SELECT * from t1 where f2=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 'purge()
SELECT * from t1 where f2=f1' at line 1
+CREATE PROCEDURE range()
+SELECT * from t1 where f2=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 'range()
+SELECT * from t1 where f2=f1' at line 1
CREATE PROCEDURE read()
SELECT * from t1 where f2=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 'read()
@@ -1304,6 +2327,10 @@ CREATE PROCEDURE regexp()
SELECT * from t1 where f2=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 'regexp()
SELECT * from t1 where f2=f1' at line 1
+CREATE PROCEDURE release()
+SELECT * from t1 where f2=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 'release()
+SELECT * from t1 where f2=f1' at line 1
CREATE PROCEDURE rename()
SELECT * from t1 where f2=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 'rename()
@@ -1376,10 +2403,6 @@ CREATE PROCEDURE smallint()
SELECT * from t1 where f2=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 'smallint()
SELECT * from t1 where f2=f1' at line 1
-CREATE PROCEDURE soname()
-SELECT * from t1 where f2=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 'soname()
-SELECT * from t1 where f2=f1' at line 1
CREATE PROCEDURE spatial()
SELECT * from t1 where f2=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 'spatial()
@@ -1432,9 +2455,6 @@ CREATE PROCEDURE table()
SELECT * from t1 where f2=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 'table()
SELECT * from t1 where f2=f1' at line 1
-CREATE PROCEDURE tables()
-SELECT * from t1 where f2=f1;
-DROP PROCEDURE tables;
CREATE PROCEDURE terminated()
SELECT * from t1 where f2=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 'terminated()
@@ -1725,6 +2745,26 @@ CREATE FUNCTION int(f1 int) returns int
return 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 'int(f1 int) returns int
return f1' at line 1
+CREATE FUNCTION int1(f1 int1) returns int1
+return 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 'int1(f1 int1) returns int1
+return f1' at line 1
+CREATE FUNCTION int2(f1 int2) returns int2
+return 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 'int2(f1 int2) returns int2
+return f1' at line 1
+CREATE FUNCTION int3(f1 int3) returns int3
+return 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 'int3(f1 int3) returns int3
+return f1' at line 1
+CREATE FUNCTION int4(f1 int4) returns int4
+return 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 'int4(f1 int4) returns int4
+return f1' at line 1
+CREATE FUNCTION int8(f1 int8) returns int8
+return 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 'int8(f1 int8) returns int8
+return f1' at line 1
CREATE FUNCTION int unsigned(f1 int unsigned) returns int unsigned
return 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 'int unsigned(f1 int unsigned) returns int unsigned
@@ -1846,485 +2886,291 @@ return f' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(char f1 ) returns char
+CREATE FUNCTION fn1(f1 char ) returns char
return 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 'char f1 ) returns char
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(char binary f1 ) returns char binary
+CREATE FUNCTION fn1(f1 char binary ) returns char binary
return 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 'char binary f1 ) returns char binary
-return f1' at line 1
+ERROR 42000: This version of MySQL doesn't yet support 'return value collation'
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(char ascii f1 ) returns char ascii
+CREATE FUNCTION fn1(f1 char ascii ) returns char ascii
return 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 'char ascii f1 ) returns char ascii
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(char not null f1 ) returns char not null
+CREATE FUNCTION fn1(f1 char not null ) returns char not null
return 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 'char not null f1 ) returns char not null
+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 'not null ) returns char not null
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(char binary not null f1 ) returns char binary not null
+CREATE FUNCTION fn1(f1 char binary not null ) returns char binary not null
return 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 'char binary not null f1 ) returns char binary not null
+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 'not null ) returns char binary not null
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(char ascii not null f1 ) returns char ascii not null
+CREATE FUNCTION fn1(f1 char ascii not null ) returns char ascii not null
return 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 'char ascii not null f1 ) returns char ascii not null
+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 'not null ) returns char ascii not null
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(tinytext f1 ) returns tinytext
+CREATE FUNCTION fn1(f1 tinytext ) returns tinytext
return 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 'tinytext f1 ) returns tinytext
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(text f1 ) returns text
+CREATE FUNCTION fn1(f1 text ) returns text
return 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 'f1 ) returns text
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(mediumtext f1 ) returns mediumtext
+CREATE FUNCTION fn1(f1 mediumtext ) returns mediumtext
return 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 'mediumtext f1 ) returns mediumtext
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(longtext f1 ) returns longtext
+CREATE FUNCTION fn1(f1 longtext ) returns longtext
return 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 'longtext f1 ) returns longtext
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(tinytext not null f1 ) returns tinytext not null
+CREATE FUNCTION fn1(f1 tinytext not null ) returns tinytext not null
return 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 'tinytext not null f1 ) returns tinytext not null
+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 'not null ) returns tinytext not null
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(text not null f1 ) returns text not null
+CREATE FUNCTION fn1(f1 text not null ) returns text not null
return 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 'not null f1 ) returns text not null
+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 'not null ) returns text not null
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(mediumtext not null f1 ) returns mediumtext not null
+CREATE FUNCTION fn1(f1 mediumtext not null ) returns mediumtext not null
return 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 'mediumtext not null f1 ) returns mediumtext not null
+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 'not null ) returns mediumtext not null
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(longtext not null f1 ) returns longtext not null
+CREATE FUNCTION fn1(f1 longtext not null ) returns longtext not null
return 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 'longtext not null f1 ) returns longtext not null
+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 'not null ) returns longtext not null
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(tinyblob f1 ) returns tinyblob
+CREATE FUNCTION fn1(f1 tinyblob ) returns tinyblob
return 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 'tinyblob f1 ) returns tinyblob
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(blob f1 ) returns blob
+CREATE FUNCTION fn1(f1 blob ) returns blob
return 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 'blob f1 ) returns blob
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(mediumblob f1 ) returns mediumblob
+CREATE FUNCTION fn1(f1 mediumblob ) returns mediumblob
return 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 'mediumblob f1 ) returns mediumblob
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(longblob f1 ) returns longblob
+CREATE FUNCTION fn1(f1 longblob ) returns longblob
return 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 'longblob f1 ) returns longblob
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(tinyblob not null f1 ) returns tinyblob not null
+CREATE FUNCTION fn1(f1 tinyblob not null ) returns tinyblob not null
return 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 'tinyblob not null f1 ) returns tinyblob not null
+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 'not null ) returns tinyblob not null
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(blob not null f1 ) returns blob not null
+CREATE FUNCTION fn1(f1 blob not null ) returns blob not null
return 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 'blob not null f1 ) returns blob not null
+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 'not null ) returns blob not null
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(mediumblob not null f1 ) returns mediumblob not null
+CREATE FUNCTION fn1(f1 mediumblob not null ) returns mediumblob not null
return 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 'mediumblob not null f1 ) returns mediumblob not null
+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 'not null ) returns mediumblob not null
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(longblob not null f1 ) returns longblob not null
+CREATE FUNCTION fn1(f1 longblob not null ) returns longblob not null
return 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 'longblob not null f1 ) returns longblob not null
+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 'not null ) returns longblob not null
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(binary f1 ) returns binary
+CREATE FUNCTION fn1(f1 binary ) returns binary
return 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 'binary f1 ) returns binary
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(binary not null f1 ) returns binary not null
+CREATE FUNCTION fn1(f1 binary not null ) returns binary not null
return 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 'binary not null f1 ) returns binary not null
+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 'not null ) returns binary not null
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(tinyint f1 ) returns tinyint
+CREATE FUNCTION fn1(f1 tinyint ) returns tinyint
return 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 'tinyint f1 ) returns tinyint
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(tinyint unsigned f1 ) returns tinyint unsigned
+CREATE FUNCTION fn1(f1 tinyint unsigned ) returns tinyint unsigned
return 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 'tinyint unsigned f1 ) returns tinyint unsigned
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(tinyint zerofill f1 ) returns tinyint zerofill
+CREATE FUNCTION fn1(f1 tinyint zerofill ) returns tinyint zerofill
return 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 'tinyint zerofill f1 ) returns tinyint zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(tinyint unsigned zerofill f1 ) returns tinyint unsigned zerofill
+CREATE FUNCTION fn1(f1 tinyint unsigned zerofill ) returns tinyint unsigned zerofill
return 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 'tinyint unsigned zerofill f1 ) returns tinyint unsigned zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(smallint f1 ) returns smallint
+CREATE FUNCTION fn1(f1 smallint ) returns smallint
return 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 'smallint f1 ) returns smallint
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(smallint unsigned f1 ) returns smallint unsigned
+CREATE FUNCTION fn1(f1 smallint unsigned ) returns smallint unsigned
return 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 'smallint unsigned f1 ) returns smallint unsigned
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(smallint zerofill f1 ) returns smallint zerofill
+CREATE FUNCTION fn1(f1 smallint zerofill ) returns smallint zerofill
return 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 'smallint zerofill f1 ) returns smallint zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(smallint unsigned zerofill f1 ) returns smallint unsigned zerofill
+CREATE FUNCTION fn1(f1 smallint unsigned zerofill ) returns smallint unsigned zerofill
return 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 'smallint unsigned zerofill f1 ) returns smallint unsigned zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(mediumint f1 ) returns mediumint
+CREATE FUNCTION fn1(f1 mediumint ) returns mediumint
return 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 'mediumint f1 ) returns mediumint
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(mediumint unsigned f1 ) returns mediumint unsigned
+CREATE FUNCTION fn1(f1 mediumint unsigned ) returns mediumint unsigned
return 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 'mediumint unsigned f1 ) returns mediumint unsigned
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(mediumint zerofill f1 ) returns mediumint zerofill
+CREATE FUNCTION fn1(f1 mediumint zerofill ) returns mediumint zerofill
return 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 'mediumint zerofill f1 ) returns mediumint zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(mediumint unsigned zerofill f1 ) returns mediumint unsigned zerofill
+CREATE FUNCTION fn1(f1 mediumint unsigned zerofill ) returns mediumint unsigned zerofill
return 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 'mediumint unsigned zerofill f1 ) returns mediumint unsigned zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(int f1 ) returns int
+CREATE FUNCTION fn1(f1 int ) returns int
return 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 'int f1 ) returns int
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(int unsigned f1 ) returns int unsigned
+CREATE FUNCTION fn1(f1 int unsigned ) returns int unsigned
return 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 'int unsigned f1 ) returns int unsigned
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(int zerofill f1 ) returns int zerofill
+CREATE FUNCTION fn1(f1 int1 unsigned ) returns int1 unsigned
return 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 'int zerofill f1 ) returns int zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(int unsigned zerofill f1 ) returns int unsigned zerofill
+CREATE FUNCTION fn1(f1 int2 unsigned ) returns int2 unsigned
return 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 'int unsigned zerofill f1 ) returns int unsigned zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(bigint f1 ) returns bigint
+CREATE FUNCTION fn1(f1 int3 unsigned ) returns int3 unsigned
return 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 'bigint f1 ) returns bigint
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(bigint unsigned f1 ) returns bigint unsigned
+CREATE FUNCTION fn1(f1 int4 unsigned ) returns int4 unsigned
return 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 'bigint unsigned f1 ) returns bigint unsigned
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(bigint zerofill f1 ) returns bigint zerofill
+CREATE FUNCTION fn1(f1 int8 unsigned ) returns int8 unsigned
return 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 'bigint zerofill f1 ) returns bigint zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(bigint unsigned zerofill f1 ) returns bigint unsigned zerofill
+CREATE FUNCTION fn1(f1 int zerofill ) returns int zerofill
return 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 'bigint unsigned zerofill f1 ) returns bigint unsigned zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(decimal f1 ) returns decimal
+CREATE FUNCTION fn1(f1 int unsigned zerofill ) returns int unsigned zerofill
return 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 'decimal f1 ) returns decimal
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(decimal unsigned f1 ) returns decimal unsigned
+CREATE FUNCTION fn1(f1 bigint ) returns bigint
return 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 'decimal unsigned f1 ) returns decimal unsigned
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(decimal zerofill f1 ) returns decimal zerofill
+CREATE FUNCTION fn1(f1 bigint unsigned ) returns bigint unsigned
return 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 'decimal zerofill f1 ) returns decimal zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(decimal unsigned zerofill f1 ) returns decimal unsigned zerofill
+CREATE FUNCTION fn1(f1 bigint zerofill ) returns bigint zerofill
return 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 'decimal unsigned zerofill f1 ) returns decimal unsigned zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(numeric f1 ) returns numeric
+CREATE FUNCTION fn1(f1 bigint unsigned zerofill ) returns bigint unsigned zerofill
return 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 'numeric f1 ) returns numeric
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(numeric unsigned f1 ) returns numeric unsigned
+CREATE FUNCTION fn1(f1 decimal ) returns decimal
return 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 'numeric unsigned f1 ) returns numeric unsigned
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(numeric zerofill f1 ) returns numeric zerofill
+CREATE FUNCTION fn1(f1 decimal unsigned ) returns decimal unsigned
return 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 'numeric zerofill f1 ) returns numeric zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(numeric unsigned zerofill f1 ) returns numeric unsigned zerofill
+CREATE FUNCTION fn1(f1 decimal zerofill ) returns decimal zerofill
return 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 'numeric unsigned zerofill f1 ) returns numeric unsigned zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(real f1 ) returns real
+CREATE FUNCTION fn1(f1 decimal unsigned zerofill ) returns decimal unsigned zerofill
return 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 'real f1 ) returns real
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(real unsigned f1 ) returns real unsigned
+CREATE FUNCTION fn1(f1 numeric ) returns numeric
return 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 'real unsigned f1 ) returns real unsigned
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(real zerofill f1 ) returns real zerofill
+CREATE FUNCTION fn1(f1 numeric unsigned ) returns numeric unsigned
return 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 'real zerofill f1 ) returns real zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(real unsigned zerofill f1 ) returns real unsigned zerofill
+CREATE FUNCTION fn1(f1 numeric zerofill ) returns numeric zerofill
return 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 'real unsigned zerofill f1 ) returns real unsigned zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(float f1 ) returns float
+CREATE FUNCTION fn1(f1 numeric unsigned zerofill ) returns numeric unsigned zerofill
return 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 'float f1 ) returns float
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(float unsigned f1 ) returns float unsigned
+CREATE FUNCTION fn1(f1 real ) returns real
return 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 'float unsigned f1 ) returns float unsigned
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(float zerofill f1 ) returns float zerofill
+CREATE FUNCTION fn1(f1 real unsigned ) returns real unsigned
return 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 'float zerofill f1 ) returns float zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(float unsigned zerofill f1 ) returns float unsigned zerofill
+CREATE FUNCTION fn1(f1 real zerofill ) returns real zerofill
return 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 'float unsigned zerofill f1 ) returns float unsigned zerofill
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(date f1 ) returns date
+CREATE FUNCTION fn1(f1 real unsigned zerofill ) returns real unsigned zerofill
return 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 'f1 ) returns date
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(time f1 ) returns time
+CREATE FUNCTION fn1(f1 float ) returns float
return 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 'f1 ) returns time
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(datetime f1 ) returns datetime
+CREATE FUNCTION fn1(f1 float unsigned ) returns float unsigned
return 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 'f1 ) returns datetime
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(timestamp f1 ) returns timestamp
+CREATE FUNCTION fn1(f1 float zerofill ) returns float zerofill
return 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 'f1 ) returns timestamp
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(year f1 ) returns year
+CREATE FUNCTION fn1(f1 float unsigned zerofill ) returns float unsigned zerofill
return 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 'f1 ) returns year
-return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
-Warnings:
-Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(year(3) f1 ) returns year(3)
+CREATE FUNCTION fn1(f1 date ) returns date
+return f1;
+DROP FUNCTION IF EXISTS fn1;
+CREATE FUNCTION fn1(f1 time ) returns time
+return f1;
+DROP FUNCTION IF EXISTS fn1;
+CREATE FUNCTION fn1(f1 datetime ) returns datetime
+return f1;
+DROP FUNCTION IF EXISTS fn1;
+CREATE FUNCTION fn1(f1 timestamp ) returns timestamp
+return f1;
+DROP FUNCTION IF EXISTS fn1;
+CREATE FUNCTION fn1(f1 year ) returns year
+return f1;
+DROP FUNCTION IF EXISTS fn1;
+CREATE FUNCTION fn1(f1 year(f1 3) ) returns year(3)
return 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 '(3) f1 ) returns year(3)
+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 3) ) returns year(3)
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(year(4) f1 ) returns year(4)
+CREATE FUNCTION fn1(f1 year(f1 4) ) returns year(4)
return 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 '(4) f1 ) returns year(4)
+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 4) ) returns year(4)
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(enum("1enum", "2enum") f1 ) returns enum("1enum", "2enum")
+CREATE FUNCTION fn1(f1 enum(f1 "1enum", "2enum") ) returns enum("1enum", "2enum")
return 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 '("1enum", "2enum") f1 ) returns enum("1enum", "2enum")
+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 "1enum", "2enum") ) returns enum("1enum", "2enum")
return f1' at line 1
DROP FUNCTION IF EXISTS fn1;
Warnings:
Note 1305 FUNCTION fn1 does not exist
-CREATE FUNCTION fn1(set("1set", "2set") f1 ) returns set("1set", "2set")
+CREATE FUNCTION fn1(f1 set(f1 "1set", "2set") ) returns set("1set", "2set")
return 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 'set("1set", "2set") f1 ) returns set("1set", "2set")
+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 "1set", "2set") ) returns set("1set", "2set")
return f1' at line 1
Testcase 4.1.16:
@@ -2564,15 +3410,15 @@ alter function sp1 sql security invoker comment 'this is a function';
alter procedure sp1 sql security definer;
alter function sp1 sql security definer;
show CREATE PROCEDURE sp1;
-Procedure sql_mode Create Procedure
-sp1 CREATE PROCEDURE `sp1`()
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+sp1 CREATE DEFINER=`root`@`localhost` PROCEDURE `sp1`()
COMMENT 'this is a procedure'
-set @x= 3
+set @x= 3 latin1 modified created
show CREATE FUNCTION sp1;
-Function sql_mode Create Function
-sp1 CREATE FUNCTION `sp1`() RETURNS int(11)
+Function sql_mode Create Function character_set_client collation_connection Database Collation
+sp1 CREATE DEFINER=`root`@`localhost` FUNCTION `sp1`() RETURNS int(11)
COMMENT 'this is a function'
-return 4
+return 4 latin1 modified created
USE db_storedproc;
DROP DATABASE db_storedproc_3122;
DROP FUNCTION db_storedproc.sp1;
@@ -2789,7 +3635,7 @@ SELECT count(*) into cnt from t2;
set @count = cnt;
SELECT @count;
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 'SELECT count(*) into cnt from t2;
+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 @count = cnt;
SELECT @count;
END' at line 2
@@ -2841,6 +3687,14 @@ Testcase ....:
--------------------------------------------------------------------------------
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
+accessible:BEGIN
+SELECT @x;
+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 'accessible:BEGIN
+SELECT @x;
+END' at line 2
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
add:BEGIN
SELECT @x;
END//
@@ -2860,9 +3714,7 @@ CREATE PROCEDURE sp1()
alter:BEGIN
SELECT @x;
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 ':BEGIN
-SELECT @x;
-END' at line 2
+ERROR 0A000: ALTER VIEW is not allowed in stored procedures
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
analyze:BEGIN
@@ -2961,7 +3813,7 @@ SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
-CALL:BEGIN
+call:BEGIN
SELECT @x;
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 ':BEGIN
@@ -3033,11 +3885,6 @@ SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
-columns:BEGIN
-SELECT @x;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1()
condition:BEGIN
SELECT @x;
END//
@@ -3046,14 +3893,6 @@ SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
-connection:BEGIN
-SELECT @x;
-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 'connection:BEGIN
-SELECT @x;
-END' at line 2
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1()
constraint:BEGIN
SELECT @x;
END//
@@ -3382,15 +4221,26 @@ SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
-fields:BEGIN
+float:BEGIN
SELECT @x;
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 'float:BEGIN
+SELECT @x;
+END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
-float:BEGIN
+float4:BEGIN
SELECT @x;
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 'float:BEGIN
+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 'float4:BEGIN
+SELECT @x;
+END' at line 2
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+float8:BEGIN
+SELECT @x;
+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 'float8:BEGIN
SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
@@ -3419,11 +4269,6 @@ SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
-found:BEGIN
-SELECT @x;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1()
from:BEGIN
SELECT @x;
END//
@@ -3440,11 +4285,6 @@ SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
-goto:BEGIN
-SELECT @x;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1()
grant:BEGIN
SELECT @x;
END//
@@ -3581,6 +4421,46 @@ SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
+int1:BEGIN
+SELECT @x;
+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 'int1:BEGIN
+SELECT @x;
+END' at line 2
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+int2:BEGIN
+SELECT @x;
+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 'int2:BEGIN
+SELECT @x;
+END' at line 2
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+int3:BEGIN
+SELECT @x;
+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 'int3:BEGIN
+SELECT @x;
+END' at line 2
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+int4:BEGIN
+SELECT @x;
+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 'int4:BEGIN
+SELECT @x;
+END' at line 2
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+int8:BEGIN
+SELECT @x;
+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 'int8:BEGIN
+SELECT @x;
+END' at line 2
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
integer:BEGIN
SELECT @x;
END//
@@ -3693,6 +4573,14 @@ SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
+linear:BEGIN
+SELECT @x;
+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 'linear:BEGIN
+SELECT @x;
+END' at line 2
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
lines:BEGIN
SELECT @x;
END//
@@ -3773,6 +4661,14 @@ SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
+master_ssl_verify_server_cert:BEGIN
+SELECT @x;
+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 'master_ssl_verify_server_cert:BEGIN
+SELECT @x;
+END' at line 2
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
match:BEGIN
SELECT @x;
END//
@@ -3973,11 +4869,6 @@ SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
-privileges:BEGIN
-SELECT @x;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1()
procedure:BEGIN
SELECT @x;
END//
@@ -3994,6 +4885,14 @@ SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
+range:BEGIN
+SELECT @x;
+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 'range:BEGIN
+SELECT @x;
+END' at line 2
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
read:BEGIN
SELECT @x;
END//
@@ -4009,6 +4908,15 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+read_write:BEGIN
+SELECT @x;
+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 'read_write:BEGIN
+SELECT @x;
+END' at line 2
+DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
real:BEGIN
SELECT @x;
@@ -4034,6 +4942,14 @@ SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
+release:BEGIN
+SELECT @x;
+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 ':BEGIN
+SELECT @x;
+END' at line 2
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
rename:BEGIN
SELECT @x;
END//
@@ -4178,14 +5094,6 @@ SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
-soname:BEGIN
-SELECT @x;
-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 'soname:BEGIN
-SELECT @x;
-END' at line 2
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1()
spatial:BEGIN
SELECT @x;
END//
@@ -4290,11 +5198,6 @@ SELECT @x;
END' at line 2
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
-tables:BEGIN
-SELECT @x;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1()
terminated:BEGIN
SELECT @x;
END//
@@ -4587,6 +5490,9 @@ END begin_label//
CALL sp1();
@v1 @v2
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 sp1;
Testcase 4.2.7:
@@ -4621,6 +5527,9 @@ declare y char;
SELECT f1, f2 into x, y from t2 limit 1;
END//
CALL sp1();
+Warnings:
+Warning 1265 Data truncated for column 'x' at row 1
+Warning 1265 Data truncated for column 'y' at row 1
DROP PROCEDURE sp1;
Testcase 4.2.9:
@@ -4684,8 +5593,6 @@ Ensure that the variables, cursors, conditions, and handlers declared for
a stored procedure (with the declare statement) may only be properly defined
--------------------------------------------------------------------------------
DROP PROCEDURE IF EXISTS sp6;
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed: DECIMAL(255,255) is not rejected
CREATE PROCEDURE sp6( )
BEGIN
declare x char default 'a';
@@ -4703,9 +5610,9 @@ fetch cur1 into e;
SELECT x, y, z, a, b, c, d, e;
close cur1;
END//
+ERROR 42000: Too big scale 255 specified for column ''. Maximum is 30.
CALL sp6();
-x y z a b c d e
-a 1 1.1 value1 1200000000000 mediumtext 2005-02-02 12:12:12 a`
+ERROR 42000: PROCEDURE db_storedproc.sp6 does not exist
DROP PROCEDURE IF EXISTS sp6;
CREATE PROCEDURE sp6( )
BEGIN
@@ -5828,13 +6735,6 @@ declare continue handler for sqlstate '23000' set @x2 = 1;
declare x char;
END//
ERROR 42000: Variable or condition declaration after cursor or handler declaration
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1()
-BEGIN
-declare continue handler for sqlstate '23000' set @x2 = 1;
-declare x char;
-END//
-ERROR 42000: Variable or condition declaration after cursor or handler declaration
DROP PROCEDURE IF EXISTS sp6;
CREATE PROCEDURE sp6( )
BEGIN
@@ -5864,6 +6764,15 @@ Ensure that the declare statement can declare multiple variables both separately
and all at once from a variable list. (multiple declaration)
--------------------------------------------------------------------------------
DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+BEGIN
+DECLARE x1 CHAR(100) DEFAULT 'outer';
+BEGIN
+DECLARE x1 CHAR(100) DEFAULT x1;
+END;
+END//
+CALL sp1();
+DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
declare x, y, z char default null;
@@ -5988,7 +6897,11 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
--1 -1 -1
+000 000 000
+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
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -5997,7 +6910,7 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
-1 1 1
+001 001 001
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6024,7 +6937,11 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
--1 -1 -1
+00000 00000 00000
+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
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6033,7 +6950,7 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
-1 1 1
+00001 00001 00001
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6060,7 +6977,11 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
--1 -1 -1
+00000000 00000000 00000000
+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
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6069,7 +6990,7 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
-1 1 1
+00000001 00000001 00000001
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6096,7 +7017,11 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
--1 -1 -1
+0000000000 0000000000 0000000000
+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
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6105,7 +7030,7 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
-1 1 1
+0000000001 0000000001 0000000001
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6123,7 +7048,7 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
--1 -1 -1
+18446744073709551615 18446744073709551615 18446744073709551615
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6132,7 +7057,11 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
--1 -1 -1
+00000000000000000000 00000000000000000000 00000000000000000000
+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
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6141,7 +7070,7 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
-1 1 1
+00000000000000000001 00000000000000000001 00000000000000000001
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6150,18 +7079,24 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
--34028234660123456789012345678901234567 -34028234660123456789012345678901234567 -34028234660123456789012345678901234567
+-9999999999 -9999999999 -9999999999
+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
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
declare x, y, z decimal unsigned default 1.175494351e-38;
SELECT x, y, z;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed: default (10,0) for DECIMAL not checked
CALL sp1();
x y z
-0.00000000000000000000000000000000000001175494351 0.00000000000000000000000000000000000001175494351 0.00000000000000000000000000000000000001175494351
+0 0 0
+Warnings:
+Note 1265 Data truncated for column 'x' at row 1
+Note 1265 Data truncated for column 'y' at row 1
+Note 1265 Data truncated for column 'z' at row 1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6170,62 +7105,76 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
--34028234660123456789012345678901234567 -34028234660123456789012345678901234567 -34028234660123456789012345678901234567
+0000000000 0000000000 0000000000
+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
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
declare x, y, z decimal unsigned zerofill default 1.175494351e-38;
SELECT x, y, z;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed: default (10,0) for DECIMAL not checked
CALL sp1();
x y z
-0.00000000000000000000000000000000000001175494351 0.00000000000000000000000000000000000001175494351 0.00000000000000000000000000000000000001175494351
+0000000000 0000000000 0000000000
+Warnings:
+Note 1265 Data truncated for column 'x' at row 1
+Note 1265 Data truncated for column 'y' at row 1
+Note 1265 Data truncated for column 'z' at row 1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
declare x, y, z numeric default 1.175494351e-38;
SELECT x, y, z;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed: default (10,0) for DECIMAL not checked
CALL sp1();
x y z
-0.00000000000000000000000000000000000001175494351 0.00000000000000000000000000000000000001175494351 0.00000000000000000000000000000000000001175494351
+0 0 0
+Warnings:
+Note 1265 Data truncated for column 'x' at row 1
+Note 1265 Data truncated for column 'y' at row 1
+Note 1265 Data truncated for column 'z' at row 1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
declare x, y, z numeric unsigned default 1.175494351e-38;
SELECT x, y, z;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed: default (10,0) for DECIMAL not checked
CALL sp1();
x y z
-0.00000000000000000000000000000000000001175494351 0.00000000000000000000000000000000000001175494351 0.00000000000000000000000000000000000001175494351
+0 0 0
+Warnings:
+Note 1265 Data truncated for column 'x' at row 1
+Note 1265 Data truncated for column 'y' at row 1
+Note 1265 Data truncated for column 'z' at row 1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
declare x, y, z numeric zerofill default 1.175494351e-38;
SELECT x, y, z;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed: default (10,0) for DECIMAL not checked
CALL sp1();
x y z
-0.00000000000000000000000000000000000001175494351 0.00000000000000000000000000000000000001175494351 0.00000000000000000000000000000000000001175494351
+0000000000 0000000000 0000000000
+Warnings:
+Note 1265 Data truncated for column 'x' at row 1
+Note 1265 Data truncated for column 'y' at row 1
+Note 1265 Data truncated for column 'z' at row 1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
declare x, y, z numeric unsigned zerofill default 1.175494351e-38;
SELECT x, y, z;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed: default (10,0) for DECIMAL not checked
CALL sp1();
x y z
-0.00000000000000000000000000000000000001175494351 0.00000000000000000000000000000000000001175494351 0.00000000000000000000000000000000000001175494351
+0000000000 0000000000 0000000000
+Warnings:
+Note 1265 Data truncated for column 'x' at row 1
+Note 1265 Data truncated for column 'y' at row 1
+Note 1265 Data truncated for column 'z' at row 1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6252,7 +7201,7 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
-1.175494351e-38 1.175494351e-38 1.175494351e-38
+00000001.175494351e-38 00000001.175494351e-38 00000001.175494351e-38
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6261,7 +7210,7 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
-1.175494351e-38 1.175494351e-38 1.175494351e-38
+00000001.175494351e-38 00000001.175494351e-38 00000001.175494351e-38
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6270,7 +7219,7 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
-1.175494351e-38 1.175494351e-38 1.175494351e-38
+1.17549e-38 1.17549e-38 1.17549e-38
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6279,7 +7228,7 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
-1.175494351e-38 1.175494351e-38 1.175494351e-38
+1.17549e-38 1.17549e-38 1.17549e-38
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6288,7 +7237,7 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
-1.175494351e-38 1.175494351e-38 1.175494351e-38
+01.17549e-38 01.17549e-38 01.17549e-38
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6297,7 +7246,7 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
-1.175494351e-38 1.175494351e-38 1.175494351e-38
+01.17549e-38 01.17549e-38 01.17549e-38
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6333,7 +7282,7 @@ SELECT x, y, z;
END//
CALL sp1();
x y z
-20050202122012 20050202122012 20050202122012
+2005-02-02 12:20:12 2005-02-02 12:20:12 2005-02-02 12:20:12
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
@@ -6419,6 +7368,13 @@ END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
+declare accessible char;
+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 'accessible char;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+BEGIN
declare add char;
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 'add char;
@@ -6524,9 +7480,9 @@ END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
-declare CALL char;
+declare call char;
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 'CALL char;
+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 'call char;
END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
@@ -6587,11 +7543,6 @@ END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
-declare columns char;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1()
-BEGIN
declare condition char;
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 'condition char;
@@ -6599,13 +7550,6 @@ END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
-declare connection char;
-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 'connection char;
-END' at line 3
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1()
-BEGIN
declare constraint char;
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 'constraint char;
@@ -6893,14 +7837,23 @@ END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
-declare fields char;
+declare float char;
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 'float char;
+END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
-declare float char;
+declare float4 char;
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 'float char;
+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 'float4 char;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+BEGIN
+declare float8 char;
+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 'float8 char;
END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
@@ -6926,11 +7879,6 @@ END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
-declare found char;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1()
-BEGIN
declare from char;
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 'from char;
@@ -6945,11 +7893,6 @@ END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
-declare goto char;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1()
-BEGIN
declare grant char;
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 'grant char;
@@ -7069,6 +8012,41 @@ END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
+declare int1 char;
+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 'int1 char;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+BEGIN
+declare int2 char;
+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 'int2 char;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+BEGIN
+declare int3 char;
+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 'int3 char;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+BEGIN
+declare int4 char;
+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 'int4 char;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+BEGIN
+declare int8 char;
+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 'int8 char;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+BEGIN
declare integer char;
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 'integer char;
@@ -7167,6 +8145,13 @@ END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
+declare linear char;
+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 'linear char;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+BEGIN
declare lines char;
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 'lines char;
@@ -7237,6 +8222,13 @@ END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
+declare master_ssl_verify_server_cert char;
+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 'master_ssl_verify_server_cert char;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+BEGIN
declare match char;
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 'match char;
@@ -7412,11 +8404,6 @@ END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
-declare privileges char;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1()
-BEGIN
declare procedure char;
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 'procedure char;
@@ -7431,6 +8418,13 @@ END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
+declare range char;
+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 'range char;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+BEGIN
declare read char;
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 'read char;
@@ -7445,6 +8439,18 @@ END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
+declare read_only char;
+END//
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+BEGIN
+declare read_write char;
+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 'read_write char;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+BEGIN
declare real char;
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 'real char;
@@ -7466,6 +8472,13 @@ END' at line 3
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
+declare release char;
+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 'release char;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1()
+BEGIN
declare rename char;
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 'rename char;
@@ -7624,15 +8637,6 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1()
BEGIN
-declare soname char;
-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 'soname char;
-END' at line 3
-DROP PROCEDURE IF EXISTS sp1;
-Warnings:
-Note 1305 PROCEDURE sp1 does not exist
-CREATE PROCEDURE sp1()
-BEGIN
declare spatial char;
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 'spatial char;
@@ -7750,11 +8754,6 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1()
BEGIN
-declare tables char;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1()
-BEGIN
declare terminated char;
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 'terminated char;
@@ -7899,9 +8898,9 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1()
BEGIN
-declare USE char;
+declare use char;
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 'USE char;
+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 'use char;
END' at line 3
DROP PROCEDURE IF EXISTS sp1;
Warnings:
@@ -8150,6 +9149,16 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare accessible condition for sqlstate '02000';
+declare exit handler for add set @var2 = 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 'accessible condition for sqlstate '02000';
+declare exit handler for add set @var' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare add condition for sqlstate '02000';
declare exit handler for add set @var2 = 1;
END//
@@ -8306,10 +9315,10 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare CALL condition for sqlstate '02000';
+declare call condition for sqlstate '02000';
declare exit handler for CALL set @var2 = 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 'CALL condition for sqlstate '02000';
+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 'call condition for sqlstate '02000';
declare exit handler for CALL set @var2 = 1' at line 3
DROP PROCEDURE IF EXISTS sp1;
Warnings:
@@ -8409,11 +9418,7 @@ BEGIN
declare connection condition for sqlstate '02000';
declare exit handler for connection set @var2 = 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 'connection condition for sqlstate '02000';
-declare exit handler for connection s' at line 3
DROP PROCEDURE IF EXISTS sp1;
-Warnings:
-Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
declare constraint condition for sqlstate '02000';
@@ -8829,12 +9834,6 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare fields condition for sqlstate '02000';
-declare exit handler for fields set @var2 = 1;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1( )
-BEGIN
declare float condition for sqlstate '02000';
declare exit handler for float set @var2 = 1;
END//
@@ -8845,6 +9844,26 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare float4 condition for sqlstate '02000';
+declare exit handler for add set @var2 = 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 'float4 condition for sqlstate '02000';
+declare exit handler for add set @var2 = ' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
+declare float8 condition for sqlstate '02000';
+declare exit handler for add set @var2 = 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 'float8 condition for sqlstate '02000';
+declare exit handler for add set @var2 = ' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare for condition for sqlstate '02000';
declare exit handler for for set @var2 = 1;
END//
@@ -8876,12 +9895,6 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare found condition for sqlstate '02000';
-declare exit handler for found set @var2 = 1;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1( )
-BEGIN
declare from condition for sqlstate '02000';
declare exit handler for from set @var2 = 1;
END//
@@ -8902,12 +9915,6 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare goto condition for sqlstate '02000';
-declare exit handler for goto set @var2 = 1;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1( )
-BEGIN
declare grant condition for sqlstate '02000';
declare exit handler for grant set @var2 = 1;
END//
@@ -9081,6 +10088,56 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare int1 condition for sqlstate '02000';
+declare exit handler for int set @var2 = 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 'int1 condition for sqlstate '02000';
+declare exit handler for int set @var2 = 1;' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
+declare int2 condition for sqlstate '02000';
+declare exit handler for int set @var2 = 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 'int2 condition for sqlstate '02000';
+declare exit handler for int set @var2 = 1;' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
+declare int3 condition for sqlstate '02000';
+declare exit handler for int set @var2 = 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 'int3 condition for sqlstate '02000';
+declare exit handler for int set @var2 = 1;' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
+declare int4 condition for sqlstate '02000';
+declare exit handler for int set @var2 = 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 'int4 condition for sqlstate '02000';
+declare exit handler for int set @var2 = 1;' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
+declare int8 condition for sqlstate '02000';
+declare exit handler for int set @var2 = 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 'int8 condition for sqlstate '02000';
+declare exit handler for int set @var2 = 1;' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare integer condition for sqlstate '02000';
declare exit handler for integer set @var2 = 1;
END//
@@ -9223,6 +10280,16 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare linear condition for sqlstate '02000';
+declare exit handler for int set @var2 = 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 'linear condition for sqlstate '02000';
+declare exit handler for int set @var2 = ' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare lines condition for sqlstate '02000';
declare exit handler for lines set @var2 = 1;
END//
@@ -9323,6 +10390,16 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare master_ssl_verify_server_cert condition for sqlstate '02000';
+declare exit handler for int set @var2 = 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 'master_ssl_verify_server_cert condition for sqlstate '02000';
+declare exit handl' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare match condition for sqlstate '02000';
declare exit handler for match set @var2 = 1;
END//
@@ -9578,12 +10655,6 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare privileges condition for sqlstate '02000';
-declare exit handler for privileges set @var2 = 1;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1( )
-BEGIN
declare procedure condition for sqlstate '02000';
declare exit handler for procedure set @var2 = 1;
END//
@@ -9604,6 +10675,16 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare range condition for sqlstate '02000';
+declare exit handler for int set @var2 = 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 'range condition for sqlstate '02000';
+declare exit handler for int set @var2 = 1' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare read condition for sqlstate '02000';
declare exit handler for read set @var2 = 1;
END//
@@ -9624,6 +10705,26 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare read_only condition for sqlstate '02000';
+declare exit handler for int set @var2 = 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 'int set @var2 = 1;
+END' at line 4
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
+declare read_write condition for sqlstate '02000';
+declare exit handler for int set @var2 = 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 'read_write condition for sqlstate '02000';
+declare exit handler for int set @var' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare real condition for sqlstate '02000';
declare exit handler for real set @var2 = 1;
END//
@@ -9654,6 +10755,16 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare release condition for sqlstate '02000';
+declare exit handler for int set @var2 = 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 'release condition for sqlstate '02000';
+declare exit handler for int set @var2 =' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare rename condition for sqlstate '02000';
declare exit handler for rename set @var2 = 1;
END//
@@ -9774,10 +10885,10 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare SELECT condition for sqlstate '02000';
+declare select condition for sqlstate '02000';
declare exit handler for SELECT set @var2 = 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 'SELECT condition for sqlstate '02000';
+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 condition for sqlstate '02000';
declare exit handler for SELECT set @var2' at line 3
DROP PROCEDURE IF EXISTS sp1;
Warnings:
@@ -9835,16 +10946,6 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare soname condition for sqlstate '02000';
-declare exit handler for soname set @var2 = 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 'soname condition for sqlstate '02000';
-declare exit handler for soname set @var2' at line 3
-DROP PROCEDURE IF EXISTS sp1;
-Warnings:
-Note 1305 PROCEDURE sp1 does not exist
-CREATE PROCEDURE sp1( )
-BEGIN
declare spatial condition for sqlstate '02000';
declare exit handler for spatial set @var2 = 1;
END//
@@ -9977,12 +11078,6 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare tables condition for sqlstate '02000';
-declare exit handler for tables set @var2 = 1;
-END//
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1( )
-BEGIN
declare terminated condition for sqlstate '02000';
declare exit handler for terminated set @var2 = 1;
END//
@@ -10144,10 +11239,10 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare USE condition for sqlstate '02000';
+declare use condition for sqlstate '02000';
declare exit handler for USE set @var2 = 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 'USE condition for sqlstate '02000';
+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 'use condition for sqlstate '02000';
declare exit handler for USE set @var2 = 1;
' at line 3
DROP PROCEDURE IF EXISTS sp1;
@@ -10409,6 +11504,15 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare accessible handler for sqlstate '02000' set @var2 = 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 'accessible handler for sqlstate '02000' set @var2 = 1;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare add handler for sqlstate '02000' set @var2 = 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 'add handler for sqlstate '02000' set @var2 = 1;
@@ -10544,9 +11648,9 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare CALL handler for sqlstate '02000' set @var2 = 1;
+declare call handler for sqlstate '02000' set @var2 = 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 'CALL handler for sqlstate '02000' set @var2 = 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 'call handler for sqlstate '02000' set @var2 = 1;
END' at line 3
DROP PROCEDURE IF EXISTS sp1;
Warnings:
@@ -10625,15 +11729,6 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare columns handler for sqlstate '02000' set @var2 = 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 'handler for sqlstate '02000' set @var2 = 1;
-END' at line 3
-DROP PROCEDURE IF EXISTS sp1;
-Warnings:
-Note 1305 PROCEDURE sp1 does not exist
-CREATE PROCEDURE sp1( )
-BEGIN
declare condition handler for sqlstate '02000' set @var2 = 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 'condition handler for sqlstate '02000' set @var2 = 1;
@@ -10643,22 +11738,18 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare connection handler for sqlstate '02000' set @var2 = 1;
+declare constraint handler for sqlstate '02000' set @var2 = 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 'connection handler for sqlstate '02000' set @var2 = 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 'constraint handler for sqlstate '02000' set @var2 = 1;
END' at line 3
DROP PROCEDURE IF EXISTS sp1;
Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare constraint handler for sqlstate '02000' set @var2 = 1;
+declare continue handler for sqlstate '02000' set @var2 = 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 'constraint handler for sqlstate '02000' set @var2 = 1;
-END' at line 3
DROP PROCEDURE IF EXISTS sp1;
-Warnings:
-Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
declare convert handler for sqlstate '02000' set @var2 = 1;
@@ -10976,6 +12067,11 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare exit handler for sqlstate '02000' set @var2 = 1;
+END//
+DROP PROCEDURE IF EXISTS sp1;
+CREATE PROCEDURE sp1( )
+BEGIN
declare explain handler for sqlstate '02000' set @var2 = 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 'explain handler for sqlstate '02000' set @var2 = 1;
@@ -11003,54 +12099,54 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare fields handler for sqlstate '02000' set @var2 = 1;
+declare float handler for sqlstate '02000' set @var2 = 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 'handler for sqlstate '02000' set @var2 = 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 'float handler for sqlstate '02000' set @var2 = 1;
END' at line 3
DROP PROCEDURE IF EXISTS sp1;
Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare float handler for sqlstate '02000' set @var2 = 1;
+declare float4 handler for sqlstate '02000' set @var2 = 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 'float handler for sqlstate '02000' set @var2 = 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 'float4 handler for sqlstate '02000' set @var2 = 1;
END' at line 3
DROP PROCEDURE IF EXISTS sp1;
Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare for handler for sqlstate '02000' set @var2 = 1;
+declare float8 handler for sqlstate '02000' set @var2 = 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 'for handler for sqlstate '02000' set @var2 = 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 'float8 handler for sqlstate '02000' set @var2 = 1;
END' at line 3
DROP PROCEDURE IF EXISTS sp1;
Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare force handler for sqlstate '02000' set @var2 = 1;
+declare for handler for sqlstate '02000' set @var2 = 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 'force handler for sqlstate '02000' set @var2 = 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 'for handler for sqlstate '02000' set @var2 = 1;
END' at line 3
DROP PROCEDURE IF EXISTS sp1;
Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare foreign handler for sqlstate '02000' set @var2 = 1;
+declare force handler for sqlstate '02000' set @var2 = 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 'foreign handler for sqlstate '02000' set @var2 = 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 'force handler for sqlstate '02000' set @var2 = 1;
END' at line 3
DROP PROCEDURE IF EXISTS sp1;
Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare found handler for sqlstate '02000' set @var2 = 1;
+declare foreign handler for sqlstate '02000' set @var2 = 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 'handler for sqlstate '02000' set @var2 = 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 'foreign handler for sqlstate '02000' set @var2 = 1;
END' at line 3
DROP PROCEDURE IF EXISTS sp1;
Warnings:
@@ -11075,15 +12171,6 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare goto handler for sqlstate '02000' set @var2 = 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 'handler for sqlstate '02000' set @var2 = 1;
-END' at line 3
-DROP PROCEDURE IF EXISTS sp1;
-Warnings:
-Note 1305 PROCEDURE sp1 does not exist
-CREATE PROCEDURE sp1( )
-BEGIN
declare grant handler for sqlstate '02000' set @var2 = 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 'grant handler for sqlstate '02000' set @var2 = 1;
@@ -11237,6 +12324,51 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare int1 handler for sqlstate '02000' set @var2 = 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 'int1 handler for sqlstate '02000' set @var2 = 1;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
+declare int2 handler for sqlstate '02000' set @var2 = 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 'int2 handler for sqlstate '02000' set @var2 = 1;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
+declare int3 handler for sqlstate '02000' set @var2 = 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 'int3 handler for sqlstate '02000' set @var2 = 1;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
+declare int4 handler for sqlstate '02000' set @var2 = 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 'int4 handler for sqlstate '02000' set @var2 = 1;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
+declare int8 handler for sqlstate '02000' set @var2 = 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 'int8 handler for sqlstate '02000' set @var2 = 1;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare integer handler for sqlstate '02000' set @var2 = 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 'integer handler for sqlstate '02000' set @var2 = 1;
@@ -11363,6 +12495,15 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare linear handler for sqlstate '02000' set @var2 = 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 'linear handler for sqlstate '02000' set @var2 = 1;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare lines handler for sqlstate '02000' set @var2 = 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 'lines handler for sqlstate '02000' set @var2 = 1;
@@ -11453,6 +12594,15 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare master_ssl_verify_server_cert handler for sqlstate '02000' set @var2 = 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 'master_ssl_verify_server_cert handler for sqlstate '02000' set @var2 = 1;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare match handler for sqlstate '02000' set @var2 = 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 'match handler for sqlstate '02000' set @var2 = 1;
@@ -11705,6 +12855,15 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare range handler for sqlstate '02000' set @var2 = 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 'range handler for sqlstate '02000' set @var2 = 1;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare read handler for sqlstate '02000' set @var2 = 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 'read handler for sqlstate '02000' set @var2 = 1;
@@ -11723,6 +12882,24 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare read_only handler for sqlstate '02000' set @var2 = 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 'handler for sqlstate '02000' set @var2 = 1;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
+declare read_write handler for sqlstate '02000' set @var2 = 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 'read_write handler for sqlstate '02000' set @var2 = 1;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare real handler for sqlstate '02000' set @var2 = 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 'real handler for sqlstate '02000' set @var2 = 1;
@@ -11750,6 +12927,15 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
+declare release handler for sqlstate '02000' set @var2 = 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 'release handler for sqlstate '02000' set @var2 = 1;
+END' at line 3
+DROP PROCEDURE IF EXISTS sp1;
+Warnings:
+Note 1305 PROCEDURE sp1 does not exist
+CREATE PROCEDURE sp1( )
+BEGIN
declare rename handler for sqlstate '02000' set @var2 = 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 'rename handler for sqlstate '02000' set @var2 = 1;
@@ -11858,9 +13044,9 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare SELECT handler for sqlstate '02000' set @var2 = 1;
+declare select handler for sqlstate '02000' set @var2 = 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 'SELECT handler for sqlstate '02000' set @var2 = 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 handler for sqlstate '02000' set @var2 = 1;
END' at line 3
DROP PROCEDURE IF EXISTS sp1;
Warnings:
@@ -11912,15 +13098,6 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare soname handler for sqlstate '02000' set @var2 = 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 'soname handler for sqlstate '02000' set @var2 = 1;
-END' at line 3
-DROP PROCEDURE IF EXISTS sp1;
-Warnings:
-Note 1305 PROCEDURE sp1 does not exist
-CREATE PROCEDURE sp1( )
-BEGIN
declare spatial handler for sqlstate '02000' set @var2 = 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 'spatial handler for sqlstate '02000' set @var2 = 1;
@@ -12038,15 +13215,6 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare tables handler for sqlstate '02000' set @var2 = 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 'handler for sqlstate '02000' set @var2 = 1;
-END' at line 3
-DROP PROCEDURE IF EXISTS sp1;
-Warnings:
-Note 1305 PROCEDURE sp1 does not exist
-CREATE PROCEDURE sp1( )
-BEGIN
declare terminated handler for sqlstate '02000' set @var2 = 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 'terminated handler for sqlstate '02000' set @var2 = 1;
@@ -12191,9 +13359,9 @@ Warnings:
Note 1305 PROCEDURE sp1 does not exist
CREATE PROCEDURE sp1( )
BEGIN
-declare USE handler for sqlstate '02000' set @var2 = 1;
+declare use handler for sqlstate '02000' set @var2 = 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 'USE handler for sqlstate '02000' set @var2 = 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 'use handler for sqlstate '02000' set @var2 = 1;
END' at line 3
DROP PROCEDURE IF EXISTS sp1;
Warnings:
@@ -12384,10 +13552,13 @@ set @v2 = y;
END//
CALL sp1();
x y @x
-NULL abaa 3
+NULL a 3
+Warnings:
+Warning 1265 Data truncated for column 'y' at row 3
+Warning 1265 Data truncated for column 'y' at row 1
SELECT @v1, @v2;
@v1 @v2
-4 a`
+4 a
DROP PROCEDURE sp1;
Testcase 4.2.28:
@@ -12454,7 +13625,7 @@ CALL sp1();
@xx
0
Warnings:
-Warning 1292 Truncated incorrect INTEGER value: 'asd'
+Warning 1366 Incorrect integer value: 'asd' for column 'xx' at row 1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
@@ -12481,9 +13652,11 @@ set xx = 'temp';
set @xx = xx;
END//
CALL sp1();
+Warnings:
+Warning 1265 Data truncated for column 'xx' at row 1
SELECT @xx;
@xx
-temp
+t
DROP PROCEDURE sp1;
Testcase 4.2.31 - b:
@@ -12501,7 +13674,7 @@ CALL sp1();
xx
0
Warnings:
-Warning 1292 Truncated incorrect DOUBLE value: 'asd'
+Warning 1265 Data truncated for column 'xx' at row 1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
@@ -12527,7 +13700,9 @@ SELECT xx;
END//
CALL sp1();
xx
-asd
+0000-00-00 00:00:00
+Warnings:
+Warning 1264 Out of range value for column 'xx' at row 1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
@@ -12571,7 +13746,7 @@ CALL sp1();
xx
0
Warnings:
-Warning 1292 Truncated incorrect INTEGER value: 'asd'
+Warning 1366 Incorrect integer value: 'asd' for column 'xx' at row 1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
@@ -12602,6 +13777,8 @@ declare x char ascii;
SELECT f1 into x from t2 limit 1;
END//
CALL sp1();
+Warnings:
+Warning 1265 Data truncated for column 'x' at row 1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
@@ -12665,6 +13842,8 @@ declare x binary;
SELECT f1 into x from t2 limit 1;
END//
CALL sp1();
+Warnings:
+Warning 1265 Data truncated for column 'x' at row 1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
@@ -12812,8 +13991,6 @@ declare x decimal;
SELECT f1 into x from t2 limit 1;
END//
CALL sp1();
-Warnings:
-Error 1366 Incorrect decimal value: '' for column '' at row -1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
@@ -12821,8 +13998,6 @@ declare x decimal unsigned;
SELECT f1 into x from t2 limit 1;
END//
CALL sp1();
-Warnings:
-Error 1366 Incorrect decimal value: '' for column '' at row -1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
@@ -12830,8 +14005,6 @@ declare x decimal zerofill;
SELECT f1 into x from t2 limit 1;
END//
CALL sp1();
-Warnings:
-Error 1366 Incorrect decimal value: '' for column '' at row -1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
@@ -12839,8 +14012,6 @@ declare x decimal unsigned zerofill;
SELECT f1 into x from t2 limit 1;
END//
CALL sp1();
-Warnings:
-Error 1366 Incorrect decimal value: '' for column '' at row -1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
@@ -12848,8 +14019,6 @@ declare x numeric;
SELECT f1 into x from t2 limit 1;
END//
CALL sp1();
-Warnings:
-Error 1366 Incorrect decimal value: '' for column '' at row -1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
@@ -12857,8 +14026,6 @@ declare x numeric unsigned;
SELECT f1 into x from t2 limit 1;
END//
CALL sp1();
-Warnings:
-Error 1366 Incorrect decimal value: '' for column '' at row -1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
@@ -12866,8 +14033,6 @@ declare x numeric zerofill;
SELECT f1 into x from t2 limit 1;
END//
CALL sp1();
-Warnings:
-Error 1366 Incorrect decimal value: '' for column '' at row -1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
@@ -12875,8 +14040,6 @@ declare x numeric unsigned zerofill;
SELECT f1 into x from t2 limit 1;
END//
CALL sp1();
-Warnings:
-Error 1366 Incorrect decimal value: '' for column '' at row -1
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1()
BEGIN
@@ -13254,7 +14417,7 @@ declare continue handler for sqlstate '02000' set done = 1;
BEGIN
open cur1;
set count = count - 1;
-while count <> 0 do
+while count > 0 do
fetch cur1 into newf1, newlf1, newf3, newsal;
set count = count - 1;
END while;
@@ -13279,7 +14442,7 @@ declare continue handler for sqlstate '02000' set done = 1;
BEGIN
open cur1;
set count = count - 1;
-while count <> 0 do
+while count > 0 do
fetch cur1 into newf1, newlf1, newf3, newsal;
set count = count - 1;
END while;
@@ -13306,7 +14469,7 @@ declare continue handler for sqlstate '02000' set done = 1;
BEGIN
open cur1;
set count = count - 1;
-while count <> 0 do
+while count > 0 do
fetch cur1 into newf1, newf2, newf4, newf3;
set count = count - 1;
END while;
@@ -13330,7 +14493,7 @@ open cur1;
BEGIN
open cur1;
set count = count - 1;
-while count <> 0 do
+while count > 0 do
fetch cur1 into newf1, newf2, newf3, newf4;
set count = count - 1;
END while;
@@ -13358,7 +14521,7 @@ BEGIN
open cur1;
open cur1;
set count = count - 1;
-while count <> 0 do
+while count > 0 do
fetch cur1 into newf1, newf2, newf4, newf3;
set count = count - 1;
END while;
@@ -13388,7 +14551,7 @@ declare continue handler for sqlstate '02000' set done = 1;
BEGIN
open cur2;
set count = count - 1;
-while count <> 0 do
+while count > 0 do
fetch cur1 into newf1, newf2, newf4, newf3;
set count = count - 1;
END while;
@@ -13416,7 +14579,7 @@ declare cur1 cursor for SELECT f1, f2, f4, f5 from t2 limit 20, 10;
declare continue handler for sqlstate '02000' set done = 1;
BEGIN
set count = count - 1;
-while count <> 0 do
+while count > 0 do
fetch cur1 into newf1, newf2, newf4, newf3;
set count = count - 1;
END while;
@@ -13430,7 +14593,7 @@ DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
declare done int default 0;
-declare count integer default 0;
+declare count integer default 10;
declare newf1 char(20);
declare newf2 char(20);
declare newf3 char(20);
@@ -13441,7 +14604,7 @@ open cur1;
BEGIN
declare cur1 cursor for SELECT f1, f2, f3, f4 from t2;
set count = count - 1;
-while count <> 0 do
+while count > 0 do
fetch cur1 into newf1, newf2, newf3, newf4;
set count = count - 1;
END while;
@@ -13473,7 +14636,7 @@ BEGIN
open cur1;
close cur1;
set count = count - 1;
-while count <> 0 do
+while count > 0 do
fetch cur1 into newf1, newf2, newf4, newf3;
set count = count - 1;
END while;
@@ -13485,7 +14648,7 @@ DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1( )
BEGIN
declare done int default 0;
-declare count integer default 0;
+declare count integer default 20;
declare newf1 char(20);
declare newf2 char(20);
declare newf3 char(20);
@@ -13514,13 +14677,13 @@ BEGIN
declare done int default 0;
declare count integer default 20;
declare newf2 char(20);
-declare newf1 date;
+declare newf1 int1;
declare cur1 cursor for SELECT f1, f3 from t2 limit 20, 10;
declare continue handler for sqlstate '02000' set done = 1;
BEGIN
open cur1;
set count = count - 1;
-while count <> 0 do
+while count > 0 do
fetch cur1 into newf1, newf2;
set @x = newf1;
set @y = newf2;
@@ -13590,7 +14753,7 @@ BEGIN
close cur1;
open cur1;
set count = count - 1;
-while count <> 0 do
+while count > 0 do
fetch cur1 into newf1, newf2, newf4, newf3;
set count = count - 1;
END while;
@@ -13643,7 +14806,7 @@ fetch cur1 into newf1, newf2, newf4, newf3;
END;
END//
CALL sp1();
-ERROR 02000: No data to FETCH
+ERROR 02000: No data - zero rows fetched, selected, or processed
DROP PROCEDURE sp1;
Testcase 4.2.65:
@@ -13669,7 +14832,7 @@ commit;
END;
END//
CALL sp1();
-ERROR 02000: No data to FETCH
+ERROR 02000: No data - zero rows fetched, selected, or processed
DROP PROCEDURE sp1;
Testcase 4.2.66:
@@ -13690,7 +14853,7 @@ declare continue handler for sqlstate '02000' set done = 1;
BEGIN
open cur1;
set count = count - 1;
-while count <> 0 do
+while count > 0 do
fetch cur1 into newf1, newf2, newf4, newf3;
set count = count - 1;
END while;
@@ -13719,12 +14882,13 @@ declare cur1 cursor for SELECT f1, f2, f4, f5 from t2 limit 20, 10;
declare continue handler for sqlstate '02000' set done = 1;
BEGIN
open cur1;
-set count = count - 1;
-while count <> 0 do
+# set count = count - 1;
+# while count > 0 do
fetch cur1 into newf1, newf2, newf4, newf3;
-set count = count - 1;
-END while;
+# set count = count - 1;
+# END while;
END;
+fetch cur1 into newf1, newf2, newf4, newf3;
END//
CALL sp1();
DROP PROCEDURE sp1;
@@ -13756,7 +14920,7 @@ BEGIN
set count = 10;
BEGIN
open cur2;
-while count <> 0 do
+while count > 0 do
fetch cur1 into newf1, newf2, newf4, newf3;
set count = count - 1;
END while;
@@ -13765,7 +14929,8 @@ insert into temp1 values(newf1, newf2, newf4, newf3);
close cur1;
END;
BEGIN
-while count <> 0 do
+set count = 10;
+while count > 0 do
fetch cur2 into newf21, newf22, newf24, newf23;
set count = count - 1;
END while;
@@ -13774,9 +14939,9 @@ insert into temp2 values(newf21, newf22, newf24, newf23);
close cur2;
END//
CALL sp1();
-SELECT * from temp1;
-f1 f2 f3 f4
-agaaaaaaa agaaaaaaa -4993 agaaaaaaa
+SELECT count(*) from temp1;
+count(*)
+1
SELECT * from temp2;
f1 f2 f3 f4
NULL NULL NULL NULL
@@ -13792,46 +14957,47 @@ USE db_storedproc;
Testcase 4.3.1:
--------------------------------------------------------------------------------
DROP PROCEDURE IF EXISTS sp1;
-drop table IF EXISTS res_t3_itisalongname_1381742_itsaverylongname_1381742;
+DROP TABLE IF EXISTS res_t3_itisalongname_1381742_itsaverylongname_1381742;
CREATE TABLE res_t3_itisalongname_1381742_itsaverylongname_1381742(
-middleinitial CHAR,
-lastname VARCHAR(50),
-age_averylongfieldname_averylongname_1234569 int,
-COMMENT TEXT) ENGINE=ndb;
+middleinitial CHAR, lastname VARCHAR(50),
+age_averylongfieldname_averylongname_1234569 INT, COMMENT VARCHAR(100))
+ENGINE=<engine_to_be_tested>;
INSERT INTO res_t3_itisalongname_1381742_itsaverylongname_1381742
VALUES('a', 'aaaaaaaaaabbbbbbbbc', 0, 'default');
-CREATE PROCEDURE sp1(a int)
-BEGIN
-declare itisjustaverylargevariablename_xxxxxxxxxxxxxxxxxxxxx char;
-declare itisjustaverylargevarcharvariablename_xxxxxxxxxxxxxxxxxxxxx varchar(100);
-declare itisjustamediumsizeintintegervariablename integer;
-set itisjustaverylargevariablename_xxxxxxxxxxxxxxxxxxxxx = 'b';
-set itisjustaverylargevarcharvariablename_xxxxxxxxxxxxxxxxxxxxx = 'oldmacdonalds)(*&(^^%$&^%$&^%*^)(*^#@$@%';
-set itisjustamediumsizeintintegervariablename = 5;
-set @comment='a';
-label1: loop
-if a>100 then
-set @comment='value of a is greater than 100';
-elseif a<100 then
-if a<50 then
-set @comment='value of a is less than 50';
-elseif a<25 then
-set @comment='value of a is less than 25';
-else
-set @comment='value of a is greater than 50 and less than 100';
-END if;
-else
-set @comment='value of a is 100';
-END if;
-if itisjustamediumsizeintintegervariablename = 0 then leave label1;
-END if;
-insert into res_t3_itisalongname_1381742_itsaverylongname_1381742
-values( itisjustaverylargevariablename_xxxxxxxxxxxxxxxxxxxxx,
-concat(itisjustaverylargevarcharvariablename_xxxxxxxxxxxxxxxxxxxxx, ' ', a),
-a, @comment );
-set itisjustamediumsizeintintegervariablename = itisjustamediumsizeintintegervariablename - 1;
-iterate label1;
-END loop label1;
+CREATE PROCEDURE sp1(a INT)
+BEGIN
+DECLARE itisjustaverylargevariablename_xxxxxxxxxxxxxxxxxxxxx CHAR;
+DECLARE itisjustaverylargevarcharvariablename_xxxxxxxxxxxxxxxxxxxxx VARCHAR(100);
+DECLARE itisjustamediumsizeintintegervariablename INTEGER;
+SET itisjustaverylargevariablename_xxxxxxxxxxxxxxxxxxxxx = 'b';
+SET itisjustaverylargevarcharvariablename_xxxxxxxxxxxxxxxxxxxxx
+= 'oldmacdonalds)(*&(^^%$&^%$&^%*^)(*^#@$@%';
+SET itisjustamediumsizeintintegervariablename = 5;
+SET @comment='a';
+label1: LOOP
+IF a > 100 THEN
+SET @comment = 'value of a is greater than 100';
+ELSEIF a < 100 THEN
+IF a < 50 THEN
+SET @comment = 'value of a is less than 50';
+ELSEIF a < 25 THEN
+SET @comment = 'value of a is less than 25';
+ELSE
+SET @comment = 'value of a is greater than 50 and less than 100';
+END IF;
+ELSE
+SET @comment = 'value of a is 100';
+END IF;
+IF itisjustamediumsizeintintegervariablename = 0 THEN LEAVE label1;
+END IF;
+INSERT INTO res_t3_itisalongname_1381742_itsaverylongname_1381742
+VALUES(itisjustaverylargevariablename_xxxxxxxxxxxxxxxxxxxxx,
+CONCAT(itisjustaverylargevarcharvariablename_xxxxxxxxxxxxxxxxxxxxx,
+' ', a), a, @comment);
+SET itisjustamediumsizeintintegervariablename
+= itisjustamediumsizeintintegervariablename - 1;
+ITERATE label1;
+END LOOP label1;
END//
CALL sp1(101);
CALL sp1(100);
@@ -13924,23 +15090,23 @@ CALL sp2( 'insert' );
SELECT * from t3 where f3 <=5 && f3 >= 0;
f1 f2 f3
f1 address 1
-f1 address 2
-f1 address 3
-f1 address 4
-f1 address 5
f1 address 1
-f1 address 2
-f1 address 3
-f1 address 4
-f1 address 5
f1 address 1
-f1 address 2
-f1 address 3
-f1 address 4
f1 address 1
f1 address 2
+f1 address 2
+f1 address 2
+f1 address 2
+f1 address 3
+f1 address 3
f1 address 3
+f1 address 3
+f1 address 4
+f1 address 4
f1 address 4
+f1 address 4
+f1 address 5
+f1 address 5
SELECT count(*) from t3;
count(*)
28
@@ -14023,7 +15189,7 @@ delete from res_t3_itisalongname_1381742_itsaverylongname_1381742;
END case;
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 'when 'delete' then
-delete from res_t3_itisalongname_1381742_itsaverylongname_13' at line 10
+delete from res_t3_itisalongname_1381742_itsaverylongname_13' at line 11
DROP PROCEDURE IF EXISTS sp3;
CREATE PROCEDURE sp3( action char(20) )
BEGIN
@@ -14041,8 +15207,9 @@ label2: while count < 10 do
BEGIN
insert into res_t3_itisalongname_1381742_itsaverylongname_1381742
values('xxxxxxxxxxxxxxxxxxx', '1231230981(*&(*&)(*&(', count);
-if done=1 then
-set count=10;
+set count = count + 1;
+if count= 10 then
+set done=1;
END if;
END;
END while label2;
@@ -14056,6 +15223,19 @@ END if;
END loop label1;
SELECT count, done;
END//
+CALL sp3('insert');
+count done
+10 1
+Warnings:
+Warning 1265 Data truncated for column 'name' at row 1
+Warning 1265 Data truncated for column 'name' at row 2
+Warning 1265 Data truncated for column 'name' at row 3
+Warning 1265 Data truncated for column 'name' at row 4
+Warning 1265 Data truncated for column 'name' at row 5
+Warning 1265 Data truncated for column 'name' at row 6
+Warning 1265 Data truncated for column 'name' at row 7
+Warning 1265 Data truncated for column 'name' at row 8
+Warning 1265 Data truncated for column 'name' at row 9
DROP PROCEDURE sp3;
drop table res_t3_itisalongname_1381742_itsaverylongname_1381742;
@@ -14330,11 +15510,14 @@ CREATE PROCEDURE sp6()
BEGIN
declare count1 integer default 1;
label1: repeat
-set count1 = count1;
+set count1 = count1-1;
until count1 < 0
END repeat label1;
SELECT count1;
END//
+CALL sp6();
+count1
+-1
DROP PROCEDURE sp6;
Testcase 4.3.7:
@@ -14403,7 +15586,7 @@ do v1 > 0 while
set v1 = v1 - 1;
END while;
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 'do v1 > 0 while
+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
set v1 = v1 - 1;
END while;
END' at line 4
@@ -14442,7 +15625,7 @@ set count1 = count1 + 1;
iterate label1;
END loop label2;
END//
-ERROR 42000: End-label label2 without match
+ERROR 42000: End-label label1 without match
drop table res_t3_itisalongname_1381742_itsaverylongname_1381742;
Testcase 4.3.13:
@@ -14606,7 +15789,7 @@ until count1 < 3
END repeat label1;
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 'label1;
-END' at line 7
+END' at line 8
Testcase 4.3.21:
--------------------------------------------------------------------------------
@@ -14789,15 +15972,15 @@ insert into t43 values('abcde', 'a!@#$%^&*(');
CREATE PROCEDURE d1.sp4()
SELECT * from d1.t43;
SELECT * from mysql.proc where specific_name = 'sp4';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
-d1 sp4 PROCEDURE sp4 SQL CONTAINS_SQL NO DEFINER SELECT * from d1.t43 root@localhost modified created
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
+d1 sp4 PROCEDURE sp4 SQL CONTAINS_SQL NO DEFINER SELECT * from d1.t43 root@localhost modified created latin1 latin1_swedish_ci latin1_swedish_ci SELECT * from d1.t43
USE db_storedproc;
DROP DATABASE d1;
CREATE DATABASE d1;
USE d1;
create table t44(a char(5), b char(10));
SELECT * from mysql.proc where specific_name = 'sp4';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
USE db_storedproc;
DROP DATABASE d1;
@@ -14839,8 +16022,8 @@ CREATE PROCEDURE sp8 ( n char(20) ) sql security definer comment 'initial'
USE d2;
alter procedure d1.sp8 sql security definer comment 'updated';
SELECT * from mysql.proc where specific_name='sp8' and db='d1';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
-d1 sp8 PROCEDURE sp8 SQL CONTAINS_SQL NO DEFINER n char(20) SELECT * from t1 where t1.f1 = n root@localhost modified created updated
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
+d1 sp8 PROCEDURE sp8 SQL CONTAINS_SQL NO DEFINER n char(20) SELECT * from t1 where t1.f1 = n root@localhost modified created updated latin1 latin1_swedish_ci latin1_swedish_ci SELECT * from t1 where t1.f1 = n
Testcase 4.4.9:
--------------------------------------------------------------------------------
@@ -14856,12 +16039,16 @@ END//
USE d2;
alter function d1.fn2 sql security definer comment 'updated';
SELECT * from mysql.proc where specific_name='fn2' and db='d1';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
d1 fn2 FUNCTION fn2 SQL CONTAINS_SQL NO DEFINER n int int(11) BEGIN
declare a int;
set a = 0.9 * n;
return a;
-END root@localhost modified created updated
+END root@localhost modified created updated latin1 latin1_swedish_ci latin1_swedish_ci BEGIN
+declare a int;
+set a = 0.9 * n;
+return a;
+END
Testcase 4.4.10:
--------------------------------------------------------------------------------
@@ -14871,7 +16058,7 @@ SELECT * from t1 where t1.f1 = n;
USE d2;
DROP PROCEDURE d1.sp9;
SELECT * from mysql.proc where specific_name='sp9' and db='d1';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
Testcase 4.4.11:
--------------------------------------------------------------------------------
@@ -14885,7 +16072,7 @@ END//
USE d2;
DROP FUNCTION d1.fn3;
SELECT * from mysql.proc where specific_name='fn3' and db='d1';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
+db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
USE db_storedproc;
DROP DATABASE d1;
DROP DATABASE d2;
@@ -14893,19 +16080,6 @@ DROP DATABASE d2;
Section 3.1.5 - Parameter use checks:
Functions with all data types
--------------------------------------------------------------------------------
-SELECT 1 as 'bug_dec_num';
-bug_dec_num
-1
-
-.
-FIXME: There are differences with datatypes DECIMAL and NUMERIC if large
-FIXME: exponent values are used. The diffs are shown only on some machines like
-FIXME: AIX52 and HPUX11. Until this has been solved we use numbers that
-FIXME: *should* be equal to the exponent representation but have no exponents
-FIXME: and use the specified count of *0*s instead.
-FIXME: In the source file these tests are marked with the comment hpux11
-.
---------------------------------------------------------------------------------
DROP DATABASE IF EXISTS d1;
CREATE DATABASE d1;
USE d1;
@@ -14926,7 +16100,7 @@ return f1;
END//
SELECT fn2(1.84e+19);
fn2(1.84e+19)
-0
+18400000000000000000
DROP FUNCTION IF EXISTS fn3;
CREATE FUNCTION fn3( f1 bigint unsigned zerofill) returns bigint unsigned zerofill
BEGIN
@@ -14945,6 +16119,8 @@ END//
SELECT fn4(-9.22e+15);
fn4(-9.22e+15)
0
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn5;
CREATE FUNCTION fn5( f1 decimal) returns decimal
BEGIN
@@ -14972,6 +16148,10 @@ END//
SELECT fn7(99999999999);
fn7(99999999999)
9999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn8;
CREATE FUNCTION fn8( f1 decimal (0) unsigned zerofill) returns decimal (0) unsigned zerofill
BEGIN
@@ -14980,7 +16160,9 @@ return f1;
END//
SELECT fn8(999999999);
fn8(999999999)
-0999999999
+1000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn9;
CREATE FUNCTION fn9( f1 decimal (0) zerofill) returns decimal (0) zerofill
BEGIN
@@ -14989,7 +16171,10 @@ return f1;
END//
SELECT fn9(-1.00e+09);
fn9(-1.00e+09)
-0000000000
+0000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn10;
CREATE FUNCTION fn10( f1 decimal (0, 0)) returns decimal (0, 0)
BEGIN
@@ -15008,6 +16193,10 @@ END//
SELECT fn11(99999999999);
fn11(99999999999)
9999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn12;
CREATE FUNCTION fn12( f1 decimal (0, 0) unsigned zerofill) returns decimal (0, 0) unsigned zerofill
BEGIN
@@ -15016,7 +16205,9 @@ return f1;
END//
SELECT fn12(999999999);
fn12(999999999)
-0999999999
+1000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn13;
CREATE FUNCTION fn13( f1 decimal (0, 0) zerofill) returns decimal (0, 0) zerofill
BEGIN
@@ -15025,7 +16216,10 @@ return f1;
END//
SELECT fn13(-1.00e+09);
fn13(-1.00e+09)
-0000000000
+0000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn14;
CREATE FUNCTION fn14( f1 decimal (63, 30)) returns decimal (63, 30)
BEGIN
@@ -15061,7 +16255,10 @@ return f1;
END//
SELECT fn17(-1.00e+21);
fn17(-1.00e+21)
-000000000000000000000000000000000.000000000000000000000000000000
+000000000000000000000000000000010.000000000000000000000000000000
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn18_d;
CREATE FUNCTION fn18_d( f1 decimal (64)) returns decimal (64)
BEGIN
@@ -15097,7 +16294,10 @@ return f1;
END//
SELECT fn21_d_z(1.00e+00);
fn21_d_z(1.00e+00)
-0000000000000000000000000000000000000000000000000000000000000001
+0000000000000000000000000000000000000000000000000000000000000010
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn22;
CREATE FUNCTION fn22( f1 decimal unsigned) returns decimal unsigned
BEGIN
@@ -15106,7 +16306,10 @@ return f1;
END//
SELECT fn22(1.00e+00);
fn22(1.00e+00)
-1
+10
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn23;
CREATE FUNCTION fn23( f1 decimal unsigned zerofill) returns decimal unsigned zerofill
BEGIN
@@ -15115,7 +16318,10 @@ return f1;
END//
SELECT fn23(1.00e+00);
fn23(1.00e+00)
-0000000001
+0000000010
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn24;
CREATE FUNCTION fn24( f1 decimal zerofill) returns decimal zerofill
BEGIN
@@ -15124,7 +16330,10 @@ return f1;
END//
SELECT fn24(-1.00e+09);
fn24(-1.00e+09)
-0000000000
+0000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn25;
CREATE FUNCTION fn25( f1 double) returns double
BEGIN
@@ -15142,7 +16351,9 @@ return f1;
END//
SELECT fn26(1.00e+00);
fn26(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn27;
CREATE FUNCTION fn27( f1 double unsigned zerofill) returns double unsigned zerofill
BEGIN
@@ -15151,7 +16362,9 @@ return f1;
END//
SELECT fn27(1.00e+00);
fn27(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn28;
CREATE FUNCTION fn28( f1 double zerofill) returns double zerofill
BEGIN
@@ -15160,7 +16373,9 @@ return f1;
END//
SELECT fn28(1.00e+00);
fn28(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn29;
CREATE FUNCTION fn29( f1 float) returns float
BEGIN
@@ -15178,7 +16393,9 @@ return f1;
END//
SELECT fn30(1.00e+00);
fn30(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn31;
CREATE FUNCTION fn31( f1 float unsigned zerofill) returns float unsigned zerofill
BEGIN
@@ -15187,7 +16404,9 @@ return f1;
END//
SELECT fn31(1.00e+00);
fn31(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn32;
CREATE FUNCTION fn32( f1 float zerofill) returns float zerofill
BEGIN
@@ -15196,7 +16415,9 @@ return f1;
END//
SELECT fn32(1.00e+00);
fn32(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn33;
CREATE FUNCTION fn33( f1 float(0)) returns float(0)
BEGIN
@@ -15214,7 +16435,9 @@ return f1;
END//
SELECT fn34(1.00e+00);
fn34(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn35;
CREATE FUNCTION fn35( f1 float(0) unsigned zerofill) returns float(0) unsigned zerofill
BEGIN
@@ -15223,7 +16446,9 @@ return f1;
END//
SELECT fn35(1.00e+00);
fn35(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn36;
CREATE FUNCTION fn36( f1 float(0) zerofill) returns float(0) zerofill
BEGIN
@@ -15232,7 +16457,9 @@ return f1;
END//
SELECT fn36(1.00e+00);
fn36(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn37;
CREATE FUNCTION fn37( f1 float(23)) returns float(23)
BEGIN
@@ -15250,7 +16477,9 @@ return f1;
END//
SELECT fn38(1.00e+00);
fn38(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn39;
CREATE FUNCTION fn39( f1 float(23) unsigned zerofill) returns float(23) unsigned zerofill
BEGIN
@@ -15259,7 +16488,9 @@ return f1;
END//
SELECT fn39(1.00e+00);
fn39(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn40;
CREATE FUNCTION fn40( f1 float(23) zerofill) returns float(23) zerofill
BEGIN
@@ -15268,7 +16499,9 @@ return f1;
END//
SELECT fn40(1.00e+00);
fn40(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn41;
CREATE FUNCTION fn41( f1 float(24)) returns float(24)
BEGIN
@@ -15286,7 +16519,9 @@ return f1;
END//
SELECT fn42(1.00e+00);
fn42(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn43;
CREATE FUNCTION fn43( f1 float(24) unsigned zerofill) returns float(24) unsigned zerofill
BEGIN
@@ -15295,7 +16530,9 @@ return f1;
END//
SELECT fn43(1.00e+00);
fn43(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn44;
CREATE FUNCTION fn44( f1 float(24) zerofill) returns float(24) zerofill
BEGIN
@@ -15304,7 +16541,9 @@ return f1;
END//
SELECT fn44(1.00e+00);
fn44(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn45;
CREATE FUNCTION fn45( f1 float(53)) returns float(53)
BEGIN
@@ -15322,7 +16561,9 @@ return f1;
END//
SELECT fn46(1.00e+00);
fn46(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn47;
CREATE FUNCTION fn47( f1 float(53) unsigned zerofill) returns float(53) unsigned zerofill
BEGIN
@@ -15331,7 +16572,9 @@ return f1;
END//
SELECT fn47(1.00e+00);
fn47(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn48;
CREATE FUNCTION fn48( f1 float(53) zerofill) returns float(53) zerofill
BEGIN
@@ -15340,7 +16583,9 @@ return f1;
END//
SELECT fn48(1.00e+00);
fn48(1.00e+00)
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn49;
CREATE FUNCTION fn49( f1 int) returns int
BEGIN
@@ -15349,7 +16594,10 @@ return f1;
END//
SELECT fn49(-2.15e+09);
fn49(-2.15e+09)
--2147483648
+-2147483638
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn50;
CREATE FUNCTION fn50( f1 int unsigned) returns int unsigned
BEGIN
@@ -15385,7 +16633,9 @@ return f1;
END//
SELECT fn53(-8388600);
fn53(-8388600)
--8388600
+-8388598
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn54;
CREATE FUNCTION fn54( f1 mediumint unsigned) returns mediumint unsigned
BEGIN
@@ -15412,7 +16662,11 @@ return f1;
END//
SELECT fn56(-8388601);
fn56(-8388601)
-0
+16777215
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn57;
CREATE FUNCTION fn57( f1 numeric) returns numeric
BEGIN
@@ -15421,7 +16675,9 @@ return f1;
END//
SELECT fn57(-999999999);
fn57(-999999999)
--999999999
+-1000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn58;
CREATE FUNCTION fn58( f1 numeric (0)) returns numeric (0)
BEGIN
@@ -15430,7 +16686,9 @@ return f1;
END//
SELECT fn58(-999999999);
fn58(-999999999)
--999999999
+-1000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn59;
CREATE FUNCTION fn59( f1 numeric (0) unsigned) returns numeric (0) unsigned
BEGIN
@@ -15440,6 +16698,9 @@ END//
SELECT fn59(9999999999);
fn59(9999999999)
9999999999
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn60;
CREATE FUNCTION fn60( f1 numeric (0) unsigned zerofill) returns numeric (0) unsigned zerofill
BEGIN
@@ -15448,7 +16709,9 @@ return f1;
END//
SELECT fn60(99999999);
fn60(99999999)
-0099999999
+0100000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn61;
CREATE FUNCTION fn61( f1 numeric (0) zerofill) returns numeric (0) zerofill
BEGIN
@@ -15457,7 +16720,10 @@ return f1;
END//
SELECT fn61(-99999999);
fn61(-99999999)
-0000000000
+0000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn62;
CREATE FUNCTION fn62( f1 numeric (0, 0)) returns numeric (0, 0)
BEGIN
@@ -15466,7 +16732,9 @@ return f1;
END//
SELECT fn62(-999999999);
fn62(-999999999)
--999999999
+-1000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn63;
CREATE FUNCTION fn63( f1 numeric (0, 0) unsigned) returns numeric (0, 0) unsigned
BEGIN
@@ -15476,6 +16744,9 @@ END//
SELECT fn63(9999999999);
fn63(9999999999)
9999999999
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn64;
CREATE FUNCTION fn64( f1 numeric (0, 0) unsigned zerofill) returns numeric (0, 0) unsigned zerofill
BEGIN
@@ -15484,7 +16755,9 @@ return f1;
END//
SELECT fn64(99999999);
fn64(99999999)
-0099999999
+0100000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn65;
CREATE FUNCTION fn65( f1 numeric (0, 0) zerofill) returns numeric (0, 0) zerofill
BEGIN
@@ -15493,7 +16766,10 @@ return f1;
END//
SELECT fn65(-99999999);
fn65(-99999999)
-0000000000
+0000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn66;
CREATE FUNCTION fn66( f1 numeric (63, 30)) returns numeric (63, 30)
BEGIN
@@ -15502,7 +16778,12 @@ return f1;
END//
SELECT fn66(-1e+36);
fn66(-1e+36)
--999999999999999999999999999999999.999999999999999999999999999999
+-999999999999999999999999999999989.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn67;
CREATE FUNCTION fn67( f1 numeric (63, 30) unsigned) returns numeric (63, 30) unsigned
BEGIN
@@ -15512,6 +16793,10 @@ END//
SELECT fn67(1e+36);
fn67(1e+36)
999999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn68;
CREATE FUNCTION fn68( f1 numeric (63, 30) unsigned zerofill) returns numeric (63, 30) unsigned zerofill
BEGIN
@@ -15521,6 +16806,10 @@ END//
SELECT fn68(1e+36);
fn68(1e+36)
999999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn69;
CREATE FUNCTION fn69( f1 numeric (63, 30) zerofill) returns numeric (63, 30) zerofill
BEGIN
@@ -15529,7 +16818,10 @@ return f1;
END//
SELECT fn69(-1e+36);
fn69(-1e+36)
-000000000000000000000000000000000.000000000000000000000000000000
+000000000000000000000000000000010.000000000000000000000000000000
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn70_n;
CREATE FUNCTION fn70_n( f1 numeric (64)) returns numeric (64)
BEGIN
@@ -15577,7 +16869,9 @@ return f1;
END//
SELECT fn74(999999999);
fn74(999999999)
-999999999
+1000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn75;
CREATE FUNCTION fn75( f1 numeric unsigned zerofill) returns numeric unsigned zerofill
BEGIN
@@ -15586,7 +16880,9 @@ return f1;
END//
SELECT fn75(999999999);
fn75(999999999)
-0999999999
+1000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn76;
CREATE FUNCTION fn76( f1 numeric zerofill) returns numeric zerofill
BEGIN
@@ -15595,7 +16891,10 @@ return f1;
END//
SELECT fn76(-999999999);
fn76(-999999999)
-0000000000
+0000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn77;
CREATE FUNCTION fn77( f1 real) returns real
BEGIN
@@ -15613,7 +16912,9 @@ return f1;
END//
SELECT fn78(1.1);
fn78(1.1)
-1.1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn79;
CREATE FUNCTION fn79( f1 real unsigned zerofill) returns real unsigned zerofill
BEGIN
@@ -15622,7 +16923,9 @@ return f1;
END//
SELECT fn79(1.1);
fn79(1.1)
-1.1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn80;
CREATE FUNCTION fn80( f1 real zerofill) returns real zerofill
BEGIN
@@ -15631,7 +16934,9 @@ return f1;
END//
SELECT fn80(1.1);
fn80(1.1)
-1.1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn81;
CREATE FUNCTION fn81( f1 smallint) returns smallint
BEGIN
@@ -15667,7 +16972,11 @@ return f1;
END//
SELECT fn84(-32601);
fn84(-32601)
-0
+65535
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn85;
CREATE FUNCTION fn85( f1 tinyint) returns tinyint
BEGIN
@@ -15703,45 +17012,37 @@ return f1;
END//
SELECT fn88(-101);
fn88(-101)
-0
+255
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn89;
CREATE FUNCTION fn89( f1 enum('1enum', '2enum')) returns enum('1enum', '2enum')
BEGIN
-if f1 eq "1enum" then
-set f1 = '2enum';
-else
-set f1 = '1enum';
-END if;
-return f1;
+IF f1 = '1enum' THEN
+SET f1 = '2enum';
+ELSE
+SET f1 = '1enum';
+END IF;
+RETURN f1;
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 'eq "1enum" then
-set f1 = '2enum';
-else
-set f1 = '1enum';
-END if;
-return f1;
-END' at line 3
SELECT fn89( '1enum');
-ERROR 42000: FUNCTION d1.fn89 does not exist
+fn89( '1enum')
+2enum
DROP FUNCTION IF EXISTS fn90;
-CREATE FUNCTION fn90( f1 set("1set", "2set")) returns set("1set", "2set")
+CREATE FUNCTION fn90( f1 set('1set', '2set')) returns set('1set', '2set')
BEGIN
-if(f1 == "1set") then
-set f1 = "2set";
-else
-set f1 = "1set";
-END if;
-return f1;
+IF f1 = '1set' THEN
+SET f1 = '2set';
+ELSE
+SET f1 = '1set';
+END IF;
+RETURN f1;
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 '== "1set") then
-set f1 = "2set";
-else
-set f1 = "1set";
-END if;
-return f1;
-END' at line 3
SELECT fn90( '1set');
-ERROR 42000: FUNCTION d1.fn90 does not exist
+fn90( '1set')
+2set
DROP FUNCTION IF EXISTS fn91;
CREATE FUNCTION fn91( f1 date) returns date
BEGIN
@@ -15759,7 +17060,7 @@ return f1;
END//
SELECT fn92( '23:59:59.999999');
fn92( '23:59:59.999999')
-26:00:00
+25:59:59
DROP FUNCTION IF EXISTS fn93;
CREATE FUNCTION fn93( f1 datetime) returns datetime
BEGIN
@@ -15768,7 +17069,7 @@ return f1;
END//
SELECT fn93('1997-12-31 23:59:59.999999');
fn93('1997-12-31 23:59:59.999999')
-1998-01-02 01:01:01
+1998-01-02 01:01:00
DROP FUNCTION IF EXISTS fn94;
CREATE FUNCTION fn94( f1 char) returns char
BEGIN
@@ -15778,6 +17079,8 @@ END//
SELECT fn94( 'h');
fn94( 'h')
a
+Warnings:
+Warning 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn95;
CREATE FUNCTION fn95( f1 char ascii) returns char ascii
BEGIN
@@ -15787,15 +17090,19 @@ END//
SELECT fn95('h');
fn95('h')
a
+Warnings:
+Warning 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn96;
-CREATE FUNCTION fn96( f1 char binary) returns char binary
+CREATE FUNCTION fn96( f1 binary) returns binary(2)
BEGIN
set f1 = concat('a', f1);
return f1;
END//
SELECT fn96( 'h');
fn96( 'h')
-a
+a
+Warnings:
+Warning 1265 Data truncated for column 'f1' at row 1
DROP FUNCTION IF EXISTS fn97;
CREATE FUNCTION fn97( f1 longtext) returns longtext
BEGIN
@@ -15917,7 +17224,7 @@ SELECT f1;
END//
CALL sp2(1.84e+19);
f1
--9223372036854775808
+18400000000000000000
DROP PROCEDURE IF EXISTS sp3;
CREATE PROCEDURE sp3( f1 bigint unsigned zerofill)
BEGIN
@@ -15926,7 +17233,7 @@ SELECT f1;
END//
CALL sp3(1.84e+17);
f1
-184000000000000000
+00184000000000000000
DROP PROCEDURE IF EXISTS sp4;
CREATE PROCEDURE sp4( f1 bigint zerofill)
BEGIN
@@ -15935,31 +17242,27 @@ SELECT f1;
END//
CALL sp4(-9.22e+15);
f1
--9220000000000000
+00000000000000000000
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp5;
CREATE PROCEDURE sp5( f1 decimal)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: default (10) for DECIMAL not checked, decimal digits shown although not defined
CALL sp5(-1.00e+09);
f1
--1000000000.000000000
+-1000000000
DROP PROCEDURE IF EXISTS sp6;
CREATE PROCEDURE sp6( f1 decimal (0))
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: decimal digits shown although not defined
CALL sp6(-1.00e+09);
f1
--1000000000.000000000
+-1000000000
DROP PROCEDURE IF EXISTS sp7;
CREATE PROCEDURE sp7( f1 decimal (0) unsigned)
BEGIN
@@ -15968,7 +17271,11 @@ SELECT f1;
END//
CALL sp7(99999999999);
f1
-99999999999.000000000
+9999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp8;
CREATE PROCEDURE sp8( f1 decimal (0) unsigned zerofill)
BEGIN
@@ -15977,199 +17284,201 @@ SELECT f1;
END//
CALL sp8(999999999);
f1
-999999999.000000000
+1000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp9;
CREATE PROCEDURE sp9( f1 decimal (0) zerofill)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: decimal digits shown although not defined
CALL sp9(-1.00e+09);
f1
--1000000000.000000000
+0000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp10;
CREATE PROCEDURE sp10( f1 decimal (0, 0))
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: decimal digits shown although not defined
CALL sp10(-1.00e+09);
f1
--1000000000.000000000
+-1000000000
DROP PROCEDURE IF EXISTS sp11;
CREATE PROCEDURE sp11( f1 decimal (0, 0) unsigned)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: decimal digits shown although not defined
CALL sp11(99999999999);
f1
-99999999999.000000000
+9999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp12;
CREATE PROCEDURE sp12( f1 decimal (0, 0) unsigned zerofill)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: decimal digits shown although not defined
CALL sp12(999999999);
f1
-999999999.000000000
+1000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp13;
CREATE PROCEDURE sp13( f1 decimal (0, 0) zerofill)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: decimal digits shown although not defined
CALL sp13(-1.00e+09);
f1
--1000000000.000000000
+0000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp14;
CREATE PROCEDURE sp14( f1 decimal (63, 30))
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: wrong number of decimal digits shown
CALL sp14(-1.00e+21);
f1
--1000000000000000000000.000000000
+-1000000000000000000000.000000000000000000000000000000
DROP PROCEDURE IF EXISTS sp15;
CREATE PROCEDURE sp15( f1 decimal (63, 30) unsigned)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: wrong number of decimal digits shown
CALL sp15(1.00e+16);
f1
-10000000000000000.000000000
+10000000000000000.000000000000000000000000000000
DROP PROCEDURE IF EXISTS sp16;
CREATE PROCEDURE sp16( f1 decimal (63, 30) unsigned zerofill)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: wrong number of decimal digits shown
CALL sp16(1.00e+16);
f1
-10000000000000000.000000000
+000000000000000010000000000000000.000000000000000000000000000000
DROP PROCEDURE IF EXISTS sp17;
CREATE PROCEDURE sp17( f1 decimal (63, 30) zerofill)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: wrong number of decimal digits shown
CALL sp17(-1.00e+21);
f1
--1000000000000000000000.000000000
+000000000000000000000000000000010.000000000000000000000000000000
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp18_d;
CREATE PROCEDURE sp18_d( f1 decimal (64))
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
+CALL sp18_d(-1.00e+30);
+f1
+-1000000000000000000000000000000
CALL sp18_d( -1000000000000000000000000000000 );
f1
--1000000000000000000000000000000.000000000
+-1000000000000000000000000000000
DROP PROCEDURE IF EXISTS sp19_du;
CREATE PROCEDURE sp19_du( f1 decimal (64) unsigned)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
+CALL sp19_du(1.00e+20);
+f1
+100000000000000000000
CALL sp19_du( 100000000000000000000 );
f1
-100000000000000000000.000000000
+100000000000000000000
+CALL sp19_du(1.00e+24);
+f1
+1000000000000000000000000
CALL sp19_du( 1000000000000000000000000 );
f1
-1000000000000000000000000.000000000
+1000000000000000000000000
DROP PROCEDURE IF EXISTS sp20_duz;
CREATE PROCEDURE sp20_duz( f1 decimal (64) unsigned zerofill)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: decimal digits shown although not defined
+CALL sp20_duz(1.00e+20);
+f1
+0000000000000000000000000000000000000000000100000000000000000000
CALL sp20_duz( 100000000000000000000 );
f1
-100000000000000000000.000000000
+0000000000000000000000000000000000000000000100000000000000000000
+CALL sp20_duz(1.00e+24);
+f1
+0000000000000000000000000000000000000001000000000000000000000000
CALL sp20_duz( 1000000000000000000000000 );
f1
-1000000000000000000000000.000000000
+0000000000000000000000000000000000000001000000000000000000000000
DROP PROCEDURE IF EXISTS sp21;
CREATE PROCEDURE sp21( f1 decimal (64) zerofill)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: decimal digits shown although not defined
CALL sp21(1.00e+00);
f1
-1.000000000
+0000000000000000000000000000000000000000000000000000000000000010
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp22;
CREATE PROCEDURE sp22( f1 decimal unsigned)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: decimal digits shown although not defined
CALL sp22(1.00e+00);
f1
-1.000000000
+10
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp23;
CREATE PROCEDURE sp23( f1 decimal unsigned zerofill)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: decimal digits shown although not defined
CALL sp23(1.00e+00);
f1
-1.000000000
+0000000010
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp24;
CREATE PROCEDURE sp24( f1 decimal zerofill)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
-FIXME: Following test contains a known problem that will be checked again
-FIXME: after WL#2984 has been completed:
-FIXME: decimal digits shown although not defined
CALL sp24(-1.00e+09);
f1
--1000000000.000000000
+0000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp25;
CREATE PROCEDURE sp25( f1 double)
BEGIN
@@ -16187,7 +17496,9 @@ SELECT f1;
END//
CALL sp26(1.00e+00);
f1
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp27;
CREATE PROCEDURE sp27( f1 double unsigned zerofill)
BEGIN
@@ -16196,7 +17507,9 @@ SELECT f1;
END//
CALL sp27(1.00e+00);
f1
-1
+0000000000000000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp28;
CREATE PROCEDURE sp28( f1 double zerofill)
BEGIN
@@ -16205,7 +17518,9 @@ SELECT f1;
END//
CALL sp28(1.00e+00);
f1
-1
+0000000000000000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp29;
CREATE PROCEDURE sp29( f1 float)
BEGIN
@@ -16223,7 +17538,9 @@ SELECT f1;
END//
CALL sp30(1.00e+00);
f1
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp31;
CREATE PROCEDURE sp31( f1 float unsigned zerofill)
BEGIN
@@ -16232,7 +17549,9 @@ SELECT f1;
END//
CALL sp31(1.00e+00);
f1
-1
+000000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp32;
CREATE PROCEDURE sp32( f1 float zerofill)
BEGIN
@@ -16241,7 +17560,9 @@ SELECT f1;
END//
CALL sp32(1.00e+00);
f1
-1
+000000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp33;
CREATE PROCEDURE sp33( f1 float(0))
BEGIN
@@ -16259,7 +17580,9 @@ SELECT f1;
END//
CALL sp34(1.00e+00);
f1
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp35;
CREATE PROCEDURE sp35( f1 float(0) unsigned zerofill)
BEGIN
@@ -16268,7 +17591,9 @@ SELECT f1;
END//
CALL sp35(1.00e+00);
f1
-1
+000000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp36;
CREATE PROCEDURE sp36( f1 float(0) zerofill)
BEGIN
@@ -16277,7 +17602,9 @@ SELECT f1;
END//
CALL sp36(1.00e+00);
f1
-1
+000000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp37;
CREATE PROCEDURE sp37( f1 float(23))
BEGIN
@@ -16295,7 +17622,9 @@ SELECT f1;
END//
CALL sp38(1.00e+00);
f1
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp39;
CREATE PROCEDURE sp39( f1 float(23) unsigned zerofill)
BEGIN
@@ -16304,7 +17633,9 @@ SELECT f1;
END//
CALL sp39(1.00e+00);
f1
-1
+000000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp40;
CREATE PROCEDURE sp40( f1 float(23) zerofill)
BEGIN
@@ -16313,7 +17644,9 @@ SELECT f1;
END//
CALL sp40(1.00e+00);
f1
-1
+000000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp41;
CREATE PROCEDURE sp41( f1 float(24))
BEGIN
@@ -16331,7 +17664,9 @@ SELECT f1;
END//
CALL sp42(1.00e+00);
f1
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp43;
CREATE PROCEDURE sp43( f1 float(24) unsigned zerofill)
BEGIN
@@ -16340,7 +17675,9 @@ SELECT f1;
END//
CALL sp43(1.00e+00);
f1
-1
+000000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp44;
CREATE PROCEDURE sp44( f1 float(24) zerofill)
BEGIN
@@ -16349,7 +17686,9 @@ SELECT f1;
END//
CALL sp44(1.00e+00);
f1
-1
+000000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp45;
CREATE PROCEDURE sp45( f1 float(53))
BEGIN
@@ -16367,7 +17706,9 @@ SELECT f1;
END//
CALL sp46(1.00e+00);
f1
-1
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp47;
CREATE PROCEDURE sp47( f1 float(53) unsigned zerofill)
BEGIN
@@ -16376,7 +17717,9 @@ SELECT f1;
END//
CALL sp47(1.00e+00);
f1
-1
+0000000000000000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp48;
CREATE PROCEDURE sp48( f1 float(53) zerofill)
BEGIN
@@ -16385,7 +17728,9 @@ SELECT f1;
END//
CALL sp48(1.00e+00);
f1
-1
+0000000000000000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp49;
CREATE PROCEDURE sp49( f1 int)
BEGIN
@@ -16394,7 +17739,10 @@ SELECT f1;
END//
CALL sp49(-2.15e+09);
f1
--2150000000
+-2147483638
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp50;
CREATE PROCEDURE sp50( f1 int unsigned)
BEGIN
@@ -16421,7 +17769,7 @@ SELECT f1;
END//
CALL sp52(2.15e+08);
f1
-215000000
+0215000000
DROP PROCEDURE IF EXISTS sp53;
CREATE PROCEDURE sp53( f1 mediumint)
BEGIN
@@ -16430,7 +17778,9 @@ SELECT f1;
END//
CALL sp53(-8388600);
f1
--8388600
+-8388598
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp54;
CREATE PROCEDURE sp54( f1 mediumint unsigned)
BEGIN
@@ -16457,7 +17807,11 @@ SELECT f1;
END//
CALL sp56(-8388601);
f1
--8388602
+16777215
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp57;
CREATE PROCEDURE sp57( f1 numeric)
BEGIN
@@ -16466,7 +17820,9 @@ SELECT f1;
END//
CALL sp57(-999999999);
f1
--999999999.000000000
+-1000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp58;
CREATE PROCEDURE sp58( f1 numeric (0))
BEGIN
@@ -16475,7 +17831,9 @@ SELECT f1;
END//
CALL sp58(-999999999);
f1
--999999999.000000000
+-1000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp59;
CREATE PROCEDURE sp59( f1 numeric (0) unsigned)
BEGIN
@@ -16484,7 +17842,10 @@ SELECT f1;
END//
CALL sp59(9999999999);
f1
-9999999999.000000000
+9999999999
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp60;
CREATE PROCEDURE sp60( f1 numeric (0) unsigned zerofill)
BEGIN
@@ -16493,7 +17854,9 @@ SELECT f1;
END//
CALL sp60(99999999);
f1
-99999999.000000000
+0100000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp61;
CREATE PROCEDURE sp61( f1 numeric (0) zerofill)
BEGIN
@@ -16502,7 +17865,10 @@ SELECT f1;
END//
CALL sp61(-99999999);
f1
--99999999.000000000
+0000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp62;
CREATE PROCEDURE sp62( f1 numeric (0, 0))
BEGIN
@@ -16511,7 +17877,9 @@ SELECT f1;
END//
CALL sp62(-999999999);
f1
--999999999.000000000
+-1000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp63;
CREATE PROCEDURE sp63( f1 numeric (0, 0) unsigned)
BEGIN
@@ -16520,7 +17888,10 @@ SELECT f1;
END//
CALL sp63(9999999999);
f1
-9999999999.000000000
+9999999999
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp64;
CREATE PROCEDURE sp64( f1 numeric (0, 0) unsigned zerofill)
BEGIN
@@ -16529,7 +17900,9 @@ SELECT f1;
END//
CALL sp64(99999999);
f1
-99999999.000000000
+0100000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp65;
CREATE PROCEDURE sp65( f1 numeric (0, 0) zerofill)
BEGIN
@@ -16538,79 +17911,146 @@ SELECT f1;
END//
CALL sp65(-99999999);
f1
--99999999.000000000
+0000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp66_n;
CREATE PROCEDURE sp66_n( f1 numeric (63, 30))
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
+CALL sp66_n(-1e+36);
+f1
+-999999999999999999999999999999989.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
CALL sp66_n( -1000000000000000000000000000000000000 );
f1
--1000000000000000000000000000000000000.000000000
+-999999999999999999999999999999989.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp67_nu;
CREATE PROCEDURE sp67_nu( f1 numeric (63, 30) unsigned)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
+CALL sp67_nu(1e+36);
+f1
+999999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
CALL sp67_nu( 1000000000000000000000000000000000000 );
f1
-1000000000000000000000000000000000000.000000000
+999999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp68_nuz;
CREATE PROCEDURE sp68_nuz( f1 numeric (63, 30) unsigned zerofill)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
+CALL sp68_nuz(1e+36);
+f1
+999999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
CALL sp68_nuz( 1000000000000000000000000000000000000 );
f1
-1000000000000000000000000000000000000.000000000
+999999999999999999999999999999999.999999999999999999999999999999
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Note 1265 Data truncated for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp69_n_z;
CREATE PROCEDURE sp69_n_z( f1 numeric (63, 30) zerofill)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
+CALL sp69_n_z(-1e+36);
+f1
+000000000000000000000000000000010.000000000000000000000000000000
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
CALL sp69_n_z( -1000000000000000000000000000000000000 );
f1
--1000000000000000000000000000000000000.000000000
+000000000000000000000000000000010.000000000000000000000000000000
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp70_n;
CREATE PROCEDURE sp70_n( f1 numeric (64))
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
+CALL sp70_n(-1e+40);
+f1
+-10000000000000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
CALL sp70_n( -10000000000000000000000000000000000000000 );
f1
--10000000000000000000000000000000000000000.000000000
+-10000000000000000000000000000000000000000
DROP PROCEDURE IF EXISTS sp71_nu;
CREATE PROCEDURE sp71_nu( f1 numeric (64) unsigned)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
+CALL sp71_nu(1.00e+40);
+f1
+10000000000000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
CALL sp71_nu( 10000000000000000000000000000000000000000 );
f1
-10000000000000000000000000000000000000000.000000000
+10000000000000000000000000000000000000000
DROP PROCEDURE IF EXISTS sp72_nuz;
CREATE PROCEDURE sp72_nuz( f1 numeric (64) unsigned zerofill)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
+CALL sp72_nuz(1.00e+40);
+f1
+0000000000000000000000010000000000000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
CALL sp72_nuz( 10000000000000000000000000000000000000000 );
f1
-10000000000000000000000000000000000000000.000000000
+0000000000000000000000010000000000000000000000000000000000000000
DROP PROCEDURE IF EXISTS sp73_n_z;
CREATE PROCEDURE sp73_n_z( f1 numeric (64) zerofill)
BEGIN
set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
SELECT f1;
END//
+CALL sp73_n_z(1.00e+40);
+f1
+0000000000000000000000010000000000000000000000000000000000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
CALL sp73_n_z( 10000000000000000000000000000000000000000 );
f1
-10000000000000000000000000000000000000000.000000000
+0000000000000000000000010000000000000000000000000000000000000000
DROP PROCEDURE IF EXISTS sp74;
CREATE PROCEDURE sp74( f1 numeric unsigned)
BEGIN
@@ -16619,7 +18059,9 @@ SELECT f1;
END//
CALL sp74(999999999);
f1
-999999999.000000000
+1000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp75;
CREATE PROCEDURE sp75( f1 numeric unsigned zerofill)
BEGIN
@@ -16628,7 +18070,9 @@ SELECT f1;
END//
CALL sp75(999999999);
f1
-999999999.000000000
+1000000000
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp76;
CREATE PROCEDURE sp76( f1 numeric zerofill)
BEGIN
@@ -16637,7 +18081,10 @@ SELECT f1;
END//
CALL sp76(-999999999);
f1
--999999999.000000000
+0000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp77;
CREATE PROCEDURE sp77( f1 real)
BEGIN
@@ -16646,7 +18093,7 @@ SELECT f1;
END//
CALL sp77(1.1);
f1
-1.10000
+1.1
DROP PROCEDURE IF EXISTS sp78;
CREATE PROCEDURE sp78( f1 real unsigned)
BEGIN
@@ -16655,7 +18102,9 @@ SELECT f1;
END//
CALL sp78(1.1);
f1
-1.10000
+10
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp79;
CREATE PROCEDURE sp79( f1 real unsigned zerofill)
BEGIN
@@ -16664,7 +18113,9 @@ SELECT f1;
END//
CALL sp79(1.1);
f1
-1.10000
+0000000000000000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp80;
CREATE PROCEDURE sp80( f1 real zerofill)
BEGIN
@@ -16673,7 +18124,9 @@ SELECT f1;
END//
CALL sp80(1.1);
f1
-1.10000
+0000000000000000000010
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp81;
CREATE PROCEDURE sp81( f1 smallint)
BEGIN
@@ -16709,7 +18162,11 @@ SELECT f1;
END//
CALL sp84(-32601);
f1
--32602
+65535
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp85;
CREATE PROCEDURE sp85( f1 tinyint)
BEGIN
@@ -16745,9 +18202,23 @@ SELECT f1;
END//
CALL sp88(-101);
f1
--102
+255
+Warnings:
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp89;
+CREATE PROCEDURE sp89( f1 enum('1enum', '2enum'))
+BEGIN
+IF f1 = '1enum' THEN set f1 = '2enum'; ELSE set f1 = '1enum'; END IF;
+END//
+CALL sp89( '1enum');
DROP PROCEDURE IF EXISTS sp90;
+CREATE PROCEDURE sp90( f1 set('1set', '2set'))
+BEGIN
+IF f1 = '1set' THEN set f1 = '2set'; ELSE set f1 = '1set'; END IF;
+END//
+CALL sp90( '1set');
DROP PROCEDURE IF EXISTS sp91;
CREATE PROCEDURE sp91( f1 date)
BEGIN
@@ -16765,7 +18236,7 @@ SELECT f1;
END//
CALL sp92( '23:59:59.999999');
f1
-26:00:00.999997
+25:59:59
DROP PROCEDURE IF EXISTS sp93;
CREATE PROCEDURE sp93( f1 datetime)
BEGIN
@@ -16774,7 +18245,7 @@ SELECT f1;
END//
CALL sp93('1997-12-31 23:59:59.999999');
f1
-1998-01-02 01:01:01.000001
+1998-01-02 01:01:00
DROP PROCEDURE IF EXISTS sp94;
CREATE PROCEDURE sp94( f1 char)
BEGIN
@@ -16783,7 +18254,9 @@ SELECT f1;
END//
CALL sp94( 'h');
f1
-ah
+a
+Warnings:
+Warning 1265 Data truncated for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp95;
CREATE PROCEDURE sp95( f1 char ascii)
BEGIN
@@ -16792,7 +18265,9 @@ SELECT f1;
END//
CALL sp95( 'h');
f1
-ah
+a
+Warnings:
+Warning 1265 Data truncated for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp96;
CREATE PROCEDURE sp96( f1 char binary)
BEGIN
@@ -16801,7 +18276,9 @@ SELECT f1;
END//
CALL sp96( 'h');
f1
-ah
+a
+Warnings:
+Warning 1265 Data truncated for column 'f1' at row 1
DROP PROCEDURE IF EXISTS sp97;
CREATE PROCEDURE sp97( f1 longtext)
BEGIN
@@ -16846,7 +18323,7 @@ SELECT f1;
END//
CALL sp101(51);
f1
-61
+2061
DROP PROCEDURE IF EXISTS sp102;
CREATE PROCEDURE sp102( f1 year(4))
BEGIN
@@ -16901,6 +18378,8 @@ END//
CALL sp107(2.00e+13);
f1
returned
+Warnings:
+returned 1265 Data truncated for column 'f1' at row 1
USE db_storedproc;
DROP DATABASE db1;
DROP DATABASE IF EXISTS db1;
@@ -16937,9 +18416,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute01();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-61 61 71 61 61 71 2033 2033 2084 2033 2033 2084
+2061 2061 2071 2061 2061 2071 2033 2033 2084 2033 2033 2084
var1 var2 var3 var4 var5 var6 var7 var8
-61 71 61 71 2033 2084 2033 2084
+2061 2071 2061 2071 2033 2084 2033 2084
DROP PROCEDURE spexecute01;
DROP PROCEDURE sp1;
DROP PROCEDURE IF EXISTS sp2;
@@ -17010,9 +18489,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute03();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-ah ah aah ah ah aah helloworld helloworld NULL helloworld helloworld hellohelloworld
+a a a a a a helloworld helloworld NULL helloworld helloworld hellohelloworld
var1 var2 var3 var4 var5 var6 var7 var8
-ah aah ah aah helloworld NULL helloworld hellohelloworld
+a a a a helloworld NULL helloworld hellohelloworld
DROP PROCEDURE spexecute03;
DROP PROCEDURE sp3;
DROP PROCEDURE IF EXISTS sp4;
@@ -17155,7 +18634,7 @@ SELECT var7, var8;
END//
CALL spexecute07();
var1 var2
-9223372036854775807 NULL
+18400000000000000000 NULL
var3 var4
-9220000000000000000 NULL
var5 var6
@@ -17163,7 +18642,7 @@ var5 var6
var7 var8
-9220000000000000000 NULL
f1 f2 f3
-9223372036854775807 9223372036854775807 NULL
+18400000000000000000 18400000000000000000 NULL
f4 f5 f6
-9220000000000000000 -9220000000000000000 NULL
f7 f8 f9
@@ -17171,7 +18650,7 @@ f7 f8 f9
f10 f11 f12
-9220000000000000000 -9220000000000000000 NULL
f1 f2 f3
--2 -2 -2
+18353255926290448384 18353255926290448384 18353255926290448384
f4 f5 f6
-9220000000000000000 6744073709551616 6744073709551616
f7 f8 f9
@@ -17179,7 +18658,7 @@ f7 f8 f9
f10 f11 f12
-9220000000000000000 6744073709551616 6744073709551616
var1 var2
--2 -2
+18353255926290448384 18353255926290448384
var3 var4
6744073709551616 6744073709551616
var5 var6
@@ -17237,9 +18716,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute08();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-368000000000000000 368000000000000000 368000000000000010 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+00368000000000000000 00368000000000000000 00368000000000000010 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-368000000000000000 368000000000000010 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+00368000000000000000 00368000000000000010 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute08;
DROP PROCEDURE sp8;
DROP PROCEDURE IF EXISTS sp9;
@@ -17291,9 +18770,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute09();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--18440000000000000 -18440000000000000 -18439999999999990 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+00000000000000000000 00000000000000000000 00000000000000000010 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--18440000000000000 -18439999999999990 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+00000000000000000000 00000000000000000010 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute09;
DROP PROCEDURE sp9;
DROP PROCEDURE IF EXISTS sp10;
@@ -17337,9 +18816,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute10();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--1000000000.000000000 -1000000000.000000000 -999999990.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+-1000000000 -1000000000 -999999990 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--1000000000.000000000 -999999990.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+-1000000000 -999999990 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute10;
DROP PROCEDURE sp10;
DROP PROCEDURE IF EXISTS sp11;
@@ -17372,9 +18851,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute11();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1000000000.000000000 1000000000.000000000 1000000010.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+1000000000 1000000000 1000000010 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1000000000.000000000 1000000010.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+1000000000 1000000010 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute11;
DROP PROCEDURE sp11;
DROP PROCEDURE IF EXISTS sp12;
@@ -17407,9 +18886,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute12();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-99999999999.000000000 99999999999.000000000 100000000009.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+9999999999 9999999999 9999999999 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-99999999999.000000000 100000000009.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+9999999999 9999999999 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute12;
DROP PROCEDURE sp12;
DROP PROCEDURE IF EXISTS sp13;
@@ -17442,9 +18921,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute13();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--1000000000.000000000 -1000000000.000000000 -999999990.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000010 0000000010 0000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--1000000000.000000000 -999999990.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000010 0000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute13;
DROP PROCEDURE sp13;
DROP PROCEDURE IF EXISTS sp14;
@@ -17477,9 +18956,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute14();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--1000000000000000000000.000000000 -1000000000000000000000.000000000 -999999999999999999990.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+-1000000000000000000000.000000000000000000000000000000 -1000000000000000000000.000000000000000000000000000000 -999999999999999999990.000000000000000000000000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--1000000000000000000000.000000000 -999999999999999999990.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+-1000000000000000000000.000000000000000000000000000000 -999999999999999999990.000000000000000000000000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute14;
DROP PROCEDURE sp14;
DROP PROCEDURE IF EXISTS sp15;
@@ -17545,9 +19024,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute16();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000000000000000010 0000000000000000000010 0000000000000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000000000000000010 0000000000000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute16;
DROP PROCEDURE sp16;
DROP PROCEDURE IF EXISTS sp17;
@@ -17579,9 +19058,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute17();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+10 10 20 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+10 20 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute17;
DROP PROCEDURE sp17;
DROP PROCEDURE IF EXISTS sp18;
@@ -17613,9 +19092,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute18();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000000000000000010 0000000000000000000010 0000000000000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000000000000000010 0000000000000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute18;
DROP PROCEDURE sp18;
DROP PROCEDURE IF EXISTS sp19;
@@ -17647,9 +19126,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute19();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+10 10 20 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+10 20 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute19;
DROP PROCEDURE sp19;
DROP PROCEDURE IF EXISTS sp20;
@@ -17681,9 +19160,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute20();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+000000000010 000000000010 000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+000000000010 000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute20;
DROP PROCEDURE sp20;
DROP PROCEDURE IF EXISTS sp21;
@@ -17715,9 +19194,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute21();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+000000000010 000000000010 000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+000000000010 000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute21;
DROP PROCEDURE sp21;
DROP PROCEDURE IF EXISTS sp22;
@@ -17783,9 +19262,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute23();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--999999999.000000000 -999999999.000000000 -999999989.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+-1000000000 -1000000000 -999999990 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--999999999.000000000 -999999989.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+-1000000000 -999999990 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute23;
DROP PROCEDURE sp23;
DROP PROCEDURE IF EXISTS sp24;
@@ -17817,9 +19296,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute24();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1.10000 1.10000 11.10000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+1.1 1.1 11.1 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1.10000 11.10000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+1.1 11.1 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute24;
DROP PROCEDURE sp24;
DROP PROCEDURE IF EXISTS sp25;
@@ -17851,9 +19330,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute25();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--65402 -65402 -65392 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+-32758 -32758 -32748 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--65402 -65392 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+-32758 -32748 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute25;
DROP PROCEDURE sp25;
DROP PROCEDURE IF EXISTS sp26;
@@ -17919,9 +19398,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute27();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-26:00:00.999997 26:00:00.999997 28:00:01.999995 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+25:59:59 25:59:59 27:59:59 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-26:00:00.999997 28:00:01.999995 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+25:59:59 27:59:59 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute27;
DROP PROCEDURE sp27;
DROP PROCEDURE IF EXISTS sp28;
@@ -17953,9 +19432,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute28();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1998-01-02 01:01:01.000001 1998-01-02 01:01:01.000001 1998-01-03 02:02:02.000003 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+1998-01-02 01:01:00 1998-01-02 01:01:00 1998-01-03 02:02:01 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1998-01-02 01:01:01.000001 1998-01-03 02:02:02.000003 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+1998-01-02 01:01:00 1998-01-03 02:02:01 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute28;
DROP PROCEDURE sp28;
DROP PROCEDURE IF EXISTS sp29;
@@ -17987,9 +19466,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute29();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+10 10 20 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+10 20 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute29;
DROP PROCEDURE sp29;
DROP PROCEDURE IF EXISTS sp30;
@@ -18021,9 +19500,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute30();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+000000000010 000000000010 000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+000000000010 000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute30;
DROP PROCEDURE sp30;
DROP PROCEDURE IF EXISTS sp31;
@@ -18089,9 +19568,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute32();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+10 10 20 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+10 20 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute32;
DROP PROCEDURE sp32;
DROP PROCEDURE IF EXISTS sp33;
@@ -18123,9 +19602,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute33();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+000000000010 000000000010 000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+000000000010 000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute33;
DROP PROCEDURE sp33;
DROP PROCEDURE IF EXISTS sp34;
@@ -18191,9 +19670,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute35();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+10 10 20 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+10 20 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute35;
DROP PROCEDURE sp35;
DROP PROCEDURE IF EXISTS sp36;
@@ -18225,9 +19704,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute36();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+000000000010 000000000010 000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+000000000010 000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute36;
DROP PROCEDURE sp36;
DROP PROCEDURE IF EXISTS sp37;
@@ -18293,9 +19772,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute38();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+10 10 20 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+10 20 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute38;
DROP PROCEDURE sp38;
DROP PROCEDURE IF EXISTS sp39;
@@ -18327,9 +19806,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute39();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000000000000000010 0000000000000000000010 0000000000000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000000000000000010 0000000000000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute39;
DROP PROCEDURE sp39;
DROP PROCEDURE IF EXISTS sp40;
@@ -18361,9 +19840,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute40();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1.10000 1.10000 11.10000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+10 10 20 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1.10000 11.10000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+10 20 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute40;
DROP PROCEDURE sp40;
DROP PROCEDURE IF EXISTS sp41;
@@ -18395,9 +19874,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute41();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1.10000 1.10000 11.10000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000000000000000010 0000000000000000000010 0000000000000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1.10000 11.10000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000000000000000010 0000000000000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute41;
DROP PROCEDURE sp41;
DROP PROCEDURE IF EXISTS sp42;
@@ -18429,9 +19908,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute42();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1.10000 1.10000 11.10000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000000000000000010 0000000000000000000010 0000000000000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1.10000 11.10000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000000000000000010 0000000000000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute42;
DROP PROCEDURE sp42;
DROP PROCEDURE IF EXISTS sp43;
@@ -18463,9 +19942,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute43();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--999999999.000000000 -999999999.000000000 -999999989.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+-1000000000 -1000000000 -999999990 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--999999999.000000000 -999999989.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+-1000000000 -999999990 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute43;
DROP PROCEDURE sp43;
DROP PROCEDURE IF EXISTS sp44;
@@ -18497,9 +19976,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute44();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-9999999999.000000000 9999999999.000000000 10000000009.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+9999999999 9999999999 9999999999 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-9999999999.000000000 10000000009.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+9999999999 9999999999 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute44;
DROP PROCEDURE sp44;
DROP PROCEDURE IF EXISTS sp45;
@@ -18531,9 +20010,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute45();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--99999999.000000000 -99999999.000000000 -99999989.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000010 0000000010 0000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--99999999.000000000 -99999989.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000010 0000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute45;
DROP PROCEDURE sp45;
DROP PROCEDURE IF EXISTS sp46;
@@ -18565,9 +20044,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute46();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--999999999.000000000 -999999999.000000000 -999999989.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+-1000000000 -1000000000 -999999990 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--999999999.000000000 -999999989.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+-1000000000 -999999990 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute46;
DROP PROCEDURE sp46;
DROP PROCEDURE IF EXISTS sp47;
@@ -18599,9 +20078,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute47();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-9999999999.000000000 9999999999.000000000 10000000009.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+9999999999 9999999999 9999999999 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-9999999999.000000000 10000000009.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+9999999999 9999999999 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute47;
DROP PROCEDURE sp47;
DROP PROCEDURE IF EXISTS sp48;
@@ -18633,9 +20112,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute48();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--99999999.000000000 -99999999.000000000 -99999989.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000010 0000000010 0000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--99999999.000000000 -99999989.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000010 0000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute48;
DROP PROCEDURE sp48;
DROP PROCEDURE IF EXISTS sp49;
@@ -18667,9 +20146,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute49();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--999999999.000000000 -999999999.000000000 -999999989.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+10 10 20 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--999999999.000000000 -999999989.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+10 20 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute49;
DROP PROCEDURE sp49;
DROP PROCEDURE IF EXISTS sp50;
@@ -18701,9 +20180,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute50();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-9999999999.000000000 9999999999.000000000 10000000009.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+9999999999 9999999999 9999999999 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-9999999999.000000000 10000000009.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+9999999999 9999999999 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute50;
DROP PROCEDURE sp50;
DROP PROCEDURE IF EXISTS sp51;
@@ -18735,9 +20214,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute51();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--99999999.000000000 -99999999.000000000 -99999989.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000010 0000000010 0000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--99999999.000000000 -99999989.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000010 0000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute51;
DROP PROCEDURE sp51;
DROP PROCEDURE IF EXISTS sp52;
@@ -18769,9 +20248,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute52();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--100000000000000000000.000000000 -10000000000000000000000.000000000 -99999999999999999990.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+-100000000000000000000.000000000000000000000000000000 -10000000000000000000000.000000000000000000000000000000 -99999999999999999990.000000000000000000000000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--10000000000000000000000.000000000 -99999999999999999990.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+-10000000000000000000000.000000000000000000000000000000 -99999999999999999990.000000000000000000000000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute52;
DROP PROCEDURE sp52;
DROP PROCEDURE IF EXISTS sp53;
@@ -18803,9 +20282,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute53();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--100000000000000000000.000000000 -10000000000000000000000.000000000 -99999999999999999990.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+-100000000000000000000 -10000000000000000000000 -99999999999999999990 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--10000000000000000000000.000000000 -99999999999999999990.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+-10000000000000000000000 -99999999999999999990 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute53;
DROP PROCEDURE sp53;
DROP PROCEDURE IF EXISTS sp54;
@@ -18837,9 +20316,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute54();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-100000000000000000000.000000000 10000000000000000000000.000000000 100000000000000000010.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+100000000000000000000 10000000000000000000000 100000000000000000010 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-10000000000000000000000.000000000 100000000000000000010.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+10000000000000000000000 100000000000000000010 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute54;
DROP PROCEDURE sp54;
DROP PROCEDURE IF EXISTS sp55;
@@ -18871,9 +20350,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute55();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--100000000000000000000.000000000 -10000000000000000000000.000000000 -99999999999999999990.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000000000000000000000000000000000000000000000000000000000010 0000000000000000000000000000000000000000000000000000000000000010 0000000000000000000000000000000000000000000000000000000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--10000000000000000000000.000000000 -99999999999999999990.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000000000000000000000000000000000000000000000000000000000010 0000000000000000000000000000000000000000000000000000000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute55;
DROP PROCEDURE sp55;
DROP PROCEDURE IF EXISTS sp56;
@@ -18905,9 +20384,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute56();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-61 61 71 61 61 71 61 61 71 61 61 71
+2061 2061 2071 2061 2061 2071 2061 2061 2071 2061 2061 2071
var1 var2 var3 var4 var5 var6 var7 var8
-61 71 61 71 61 71 61 71
+2061 2071 2061 2071 2061 2071 2061 2071
DROP PROCEDURE spexecute56;
DROP PROCEDURE sp56;
DROP PROCEDURE IF EXISTS sp57;
@@ -19041,9 +20520,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute60();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-ah ah aah ah ah aah ah ah aah ah ah aah
+a a a a a a a a a a a a
var1 var2 var3 var4 var5 var6 var7 var8
-ah aah ah aah ah aah ah aah
+a a a a a a a a
DROP PROCEDURE spexecute60;
DROP PROCEDURE sp60;
DROP PROCEDURE IF EXISTS sp61;
@@ -19075,9 +20554,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute61();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-ah ah aah ah ah aah ah ah NULL ah ah aah
+a a a a a a a a NULL a a a
var1 var2 var3 var4 var5 var6 var7 var8
-ah aah ah aah ah NULL ah aah
+a a a a a NULL a a
DROP PROCEDURE spexecute61;
DROP PROCEDURE sp61;
DROP PROCEDURE IF EXISTS sp62;
@@ -19177,9 +20656,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute64();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1000000000.000000000 1000000000.000000000 1000000010.000000000 1000000000.000000000 1000000000.000000000 1000000010.000000000 1000000000.000000000 1000000000.000000000 1000000010.000000000 1000000000.000000000 1000000000.000000000 1000000010.000000000
+1000000000 1000000000 1000000010 1000000000 1000000000 1000000010 1000000000 1000000000 1000000010 1000000000 1000000000 1000000010
var1 var2 var3 var4 var5 var6 var7 var8
-1000000000.000000000 1000000010.000000000 1000000000.000000000 1000000010.000000000 1000000000.000000000 1000000010.000000000 1000000000.000000000 1000000010.000000000
+1000000000 1000000010 1000000000 1000000010 1000000000 1000000010 1000000000 1000000010
DROP PROCEDURE spexecute64;
DROP PROCEDURE sp64;
DROP PROCEDURE IF EXISTS sp65;
@@ -19211,9 +20690,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute65();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-999999999.000000000 999999999.000000000 1000000009.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+1000000000 1000000000 1000000010 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-999999999.000000000 1000000009.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+1000000000 1000000010 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute65;
DROP PROCEDURE sp65;
DROP PROCEDURE IF EXISTS sp66;
@@ -19245,9 +20724,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute66();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-10000000000000000.000000000 10000000000000000.000000000 10000000000000010.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+10000000000000000.000000000000000000000000000000 10000000000000000.000000000000000000000000000000 10000000000000010.000000000000000000000000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-10000000000000000.000000000 10000000000000010.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+10000000000000000.000000000000000000000000000000 10000000000000010.000000000000000000000000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute66;
DROP PROCEDURE sp66;
DROP PROCEDURE IF EXISTS sp67;
@@ -19279,9 +20758,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute67();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-10000000000000000.000000000 10000000000000000.000000000 10000000000000010.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+000000000000000010000000000000000.000000000000000000000000000000 000000000000000010000000000000000.000000000000000000000000000000 000000000000000010000000000000010.000000000000000000000000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-10000000000000000.000000000 10000000000000010.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+000000000000000010000000000000000.000000000000000000000000000000 000000000000000010000000000000010.000000000000000000000000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute67;
DROP PROCEDURE sp67;
DROP PROCEDURE IF EXISTS sp68;
@@ -19313,9 +20792,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute68();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--1000000000000000000000.000000000 -1000000000000000000000.000000000 -999999999999999999990.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+000000000000000000000000000000010.000000000000000000000000000000 000000000000000000000000000000010.000000000000000000000000000000 000000000000000000000000000000020.000000000000000000000000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--1000000000000000000000.000000000 -999999999999999999990.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+000000000000000000000000000000010.000000000000000000000000000000 000000000000000000000000000000020.000000000000000000000000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute68;
DROP PROCEDURE sp68;
DROP PROCEDURE IF EXISTS sp69;
@@ -19347,9 +20826,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute69();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--100000000000000000000.000000000 -10000000000000000000000.000000000 -99999999999999999990.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+-100000000000000000000 -10000000000000000000000 -99999999999999999990 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--10000000000000000000000.000000000 -99999999999999999990.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+-10000000000000000000000 -99999999999999999990 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute69;
DROP PROCEDURE sp69;
DROP PROCEDURE IF EXISTS sp70;
@@ -19381,9 +20860,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute70();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-100000000000000000000.000000000 10000000000000000000000.000000000 100000000000000000010.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+100000000000000000000 10000000000000000000000 100000000000000000010 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-10000000000000000000000.000000000 100000000000000000010.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+10000000000000000000000 100000000000000000010 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute70;
DROP PROCEDURE sp70;
DROP PROCEDURE IF EXISTS sp71;
@@ -19415,9 +20894,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute71();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-100000000000000000000.000000000 10000000000000000000000.000000000 100000000000000000010.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000000000000000000000000000000000000000100000000000000000000 0000000000000000000000000000000000000000010000000000000000000000 0000000000000000000000000000000000000000000100000000000000000010 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-10000000000000000000000.000000000 100000000000000000010.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000000000000000000000000000000000000010000000000000000000000 0000000000000000000000000000000000000000000100000000000000000010 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute71;
DROP PROCEDURE sp71;
DROP PROCEDURE IF EXISTS sp72;
@@ -19449,9 +20928,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute72();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1.000000000 1.000000000 11.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000000000000000000000000000000000000000000000000000000000010 0000000000000000000000000000000000000000000000000000000000000010 0000000000000000000000000000000000000000000000000000000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1.000000000 11.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000000000000000000000000000000000000000000000000000000000010 0000000000000000000000000000000000000000000000000000000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute72;
DROP PROCEDURE sp72;
DROP PROCEDURE IF EXISTS sp73;
@@ -19483,9 +20962,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute73();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1.000000000 1.000000000 11.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+10 10 20 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1.000000000 11.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+10 20 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute73;
DROP PROCEDURE sp73;
DROP PROCEDURE IF EXISTS sp74;
@@ -19517,9 +20996,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute74();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1.000000000 1.000000000 11.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000010 0000000010 0000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1.000000000 11.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000010 0000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute74;
DROP PROCEDURE sp74;
DROP PROCEDURE IF EXISTS sp75;
@@ -19551,9 +21030,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute75();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--1000000000.000000000 -1000000000.000000000 -999999990.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000010 0000000010 0000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--1000000000.000000000 -999999990.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000010 0000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute75;
DROP PROCEDURE sp75;
DROP PROCEDURE IF EXISTS sp76;
@@ -19585,9 +21064,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute76();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+000000000010 000000000010 000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+000000000010 000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute76;
DROP PROCEDURE sp76;
DROP PROCEDURE IF EXISTS sp77;
@@ -19619,9 +21098,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute77();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+000000000010 000000000010 000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+000000000010 000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute77;
DROP PROCEDURE sp77;
DROP PROCEDURE IF EXISTS sp78;
@@ -19653,9 +21132,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute78();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+000000000010 000000000010 000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+000000000010 000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute78;
DROP PROCEDURE sp78;
DROP PROCEDURE IF EXISTS sp79;
@@ -19687,9 +21166,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute79();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-1 1 11 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000000000000000010 0000000000000000000010 0000000000000000000020 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-1 11 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000000000000000010 0000000000000000000020 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute79;
DROP PROCEDURE sp79;
DROP PROCEDURE IF EXISTS sp80;
@@ -19721,9 +21200,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute80();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--2150000000 -2150000000 -2149999990 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+-2147483638 -2147483638 -2147483628 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--2150000000 -2149999990 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+-2147483638 -2147483628 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute80;
DROP PROCEDURE sp80;
DROP PROCEDURE IF EXISTS sp81;
@@ -19823,9 +21302,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute83();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-215000000 215000000 215000010 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0215000000 0215000000 0215000010 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-215000000 215000010 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0215000000 0215000010 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute83;
DROP PROCEDURE sp83;
DROP PROCEDURE IF EXISTS sp84;
@@ -19857,9 +21336,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute84();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--8388600 -8388600 -8388590 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+-8388598 -8388598 -8388588 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--8388600 -8388590 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+-8388598 -8388588 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute84;
DROP PROCEDURE sp84;
DROP PROCEDURE IF EXISTS sp85;
@@ -19925,9 +21404,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute86();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-16777210 16777210 16777220 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+16777210 16777210 16777215 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-16777210 16777220 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+16777210 16777215 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute86;
DROP PROCEDURE sp86;
DROP PROCEDURE IF EXISTS sp87;
@@ -19959,9 +21438,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute87();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--8388602 -8388602 -8388592 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+16777215 16777215 16777215 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--8388602 -8388592 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+16777215 16777215 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute87;
DROP PROCEDURE sp87;
DROP PROCEDURE IF EXISTS sp88;
@@ -19993,9 +21472,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute88();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-99999999.000000000 99999999.000000000 100000009.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0100000000 0100000000 0100000010 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-99999999.000000000 100000009.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0100000000 0100000010 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute88;
DROP PROCEDURE sp88;
DROP PROCEDURE IF EXISTS sp89;
@@ -20027,9 +21506,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute89();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-99999999.000000000 99999999.000000000 100000009.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0100000000 0100000000 0100000010 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-99999999.000000000 100000009.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0100000000 0100000010 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute89;
DROP PROCEDURE sp89;
DROP PROCEDURE IF EXISTS sp90;
@@ -20061,9 +21540,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute90();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-100000000000000000000.000000000 10000000000000000000000.000000000 100000000000000000010.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+100000000000000000000.000000000000000000000000000000 10000000000000000000000.000000000000000000000000000000 100000000000000000010.000000000000000000000000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-10000000000000000000000.000000000 100000000000000000010.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+10000000000000000000000.000000000000000000000000000000 100000000000000000010.000000000000000000000000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute90;
DROP PROCEDURE sp90;
DROP PROCEDURE IF EXISTS sp91;
@@ -20095,9 +21574,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute91();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-100000000000000000000.000000000 10000000000000000000000.000000000 100000000000000000010.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+000000000000100000000000000000000.000000000000000000000000000000 000000000010000000000000000000000.000000000000000000000000000000 000000000000100000000000000000010.000000000000000000000000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-10000000000000000000000.000000000 100000000000000000010.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+000000000010000000000000000000000.000000000000000000000000000000 000000000000100000000000000000010.000000000000000000000000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute91;
DROP PROCEDURE sp91;
DROP PROCEDURE IF EXISTS sp92;
@@ -20129,9 +21608,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute92();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--100000000000000000000.000000000 -10000000000000000000000.000000000 -99999999999999999990.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+000000000000000000000000000000010.000000000000000000000000000000 000000000000000000000000000000010.000000000000000000000000000000 000000000000000000000000000000020.000000000000000000000000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--10000000000000000000000.000000000 -99999999999999999990.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+000000000000000000000000000000010.000000000000000000000000000000 000000000000000000000000000000020.000000000000000000000000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute92;
DROP PROCEDURE sp92;
DROP PROCEDURE IF EXISTS sp93;
@@ -20163,9 +21642,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute93();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-100000000000000000000.000000000 10000000000000000000000.000000000 100000000000000000010.000000000 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+0000000000000000000000000000000000000000000100000000000000000000 0000000000000000000000000000000000000000010000000000000000000000 0000000000000000000000000000000000000000000100000000000000000010 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-10000000000000000000000.000000000 100000000000000000010.000000000 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+0000000000000000000000000000000000000000010000000000000000000000 0000000000000000000000000000000000000000000100000000000000000010 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute93;
DROP PROCEDURE sp93;
DROP PROCEDURE IF EXISTS sp94;
@@ -20231,9 +21710,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute95();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-65532 65532 65542 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+65532 65532 65535 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-65532 65542 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+65532 65535 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute95;
DROP PROCEDURE sp95;
DROP PROCEDURE IF EXISTS sp96;
@@ -20265,9 +21744,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute96();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-65532 65532 65542 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+65532 65532 65535 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-65532 65542 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+65532 65535 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute96;
DROP PROCEDURE sp96;
DROP PROCEDURE IF EXISTS sp97;
@@ -20299,9 +21778,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute97();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--32602 -32602 -32592 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+65535 65535 65535 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--32602 -32592 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+65535 65535 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute97;
DROP PROCEDURE sp97;
DROP PROCEDURE IF EXISTS sp98;
@@ -20367,9 +21846,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute99();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-252 252 262 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+252 252 255 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
-252 262 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+252 255 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute99;
DROP PROCEDURE sp99;
DROP PROCEDURE IF EXISTS sp100;
@@ -20435,9 +21914,9 @@ SELECT var1, var2, var3, var4, var5, var6, var7, var8;
END//
CALL spexecute101();
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
--102 -102 -92 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
+255 255 255 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616 -9220000000000000000 6744073709551616 6744073709551616
var1 var2 var3 var4 var5 var6 var7 var8
--102 -92 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
+255 255 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616 6744073709551616
DROP PROCEDURE spexecute101;
DROP PROCEDURE sp101;
USE db_storedproc;
@@ -20462,13 +21941,13 @@ set a = '2005-03-14 01:01:02';
insert into temp_table values(a);
END//
show CREATE PROCEDURE sp2;
-Procedure sql_mode Create Procedure
-sp2 ALLOW_INVALID_DATES CREATE PROCEDURE `sp2`()
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+sp2 ALLOW_INVALID_DATES CREATE DEFINER=`root`@`localhost` PROCEDURE `sp2`()
BEGIN
declare a datetime;
set a = '2005-03-14 01:01:02';
insert into temp_table values(a);
-END
+END latin1 latin1_swedish_ci latin1_swedish_ci
set @@sql_mode = 'traditional';
CALL sp2 ();
SELECT * from temp_table;
@@ -20498,15 +21977,15 @@ set b = 5;
SELECT not 1 between a and b;
END//
show CREATE PROCEDURE sp3;
-Procedure sql_mode Create Procedure
-sp3 HIGH_NOT_PRECEDENCE CREATE PROCEDURE `sp3`()
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+sp3 HIGH_NOT_PRECEDENCE CREATE DEFINER=`root`@`localhost` PROCEDURE `sp3`()
BEGIN
declare a int signed;
declare b int unsigned;
set a = -5;
set b = 5;
SELECT not 1 between a and b;
-END
+END latin1 latin1_swedish_ci latin1_swedish_ci
set @@sql_mode='';
CALL sp3();
not 1 between a and b
@@ -20541,8 +22020,8 @@ set c = b/a;
show warnings;
END//
show CREATE PROCEDURE sp4;
-Procedure sql_mode Create Procedure
-sp4 REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ANSI,ERROR_FOR_DIVISION_BY_ZERO CREATE PROCEDURE "sp4"()
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+sp4 REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ANSI,ERROR_FOR_DIVISION_BY_ZERO CREATE DEFINER="root"@"localhost" PROCEDURE "sp4"()
BEGIN
declare a int;
declare b int;
@@ -20551,7 +22030,7 @@ set a = 0;
set b = 1;
set c = b/a;
show warnings;
-END
+END latin1 latin1_swedish_ci latin1_swedish_ci
set @@sql_mode='';
CALL sp4();
Level Code Message
@@ -20589,37 +22068,37 @@ set @x=i1;
set @y=@x;
END//
show CREATE PROCEDURE sp6a;
-Procedure sql_mode Create Procedure
-sp6a CREATE PROCEDURE `sp6a`(i1 longtext, out i2 mediumint , inout i3 longblob, in i4 year, out i5 real)
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+sp6a CREATE DEFINER=`root`@`localhost` PROCEDURE `sp6a`(i1 longtext, out i2 mediumint , inout i3 longblob, in i4 year, out i5 real)
BEGIN
set @x=i1;
set @y=@x;
-END
+END latin1 latin1_swedish_ci latin1_swedish_ci
show CREATE PROCEDURE sp6b;
-Procedure sql_mode Create Procedure
-sp6b CREATE PROCEDURE `sp6b`(out i1 longtext, out i2 mediumint , out i3 longblob, out i4 year, out i5 real)
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+sp6b CREATE DEFINER=`root`@`localhost` PROCEDURE `sp6b`(out i1 longtext, out i2 mediumint , out i3 longblob, out i4 year, out i5 real)
DETERMINISTIC
BEGIN
set @x=i1;
set @y=@x;
-END
+END latin1 latin1_swedish_ci latin1_swedish_ci
show CREATE PROCEDURE sp6c;
-Procedure sql_mode Create Procedure
-sp6c CREATE PROCEDURE `sp6c`(inout i1 longtext, inout i2 mediumint , inout i3 longblob, inout i4 year, inout i5 real)
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+sp6c CREATE DEFINER=`root`@`localhost` PROCEDURE `sp6c`(inout i1 longtext, inout i2 mediumint , inout i3 longblob, inout i4 year, inout i5 real)
COMMENT 'this is a comment'
BEGIN
set @x=i1;
set @y=@x;
-END
+END latin1 latin1_swedish_ci latin1_swedish_ci
SHOW PROCEDURE status like 'sp6a';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp6a PROCEDURE root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp6a PROCEDURE root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
SHOW PROCEDURE status like 'sp6b';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp6b PROCEDURE root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp6b PROCEDURE root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
SHOW PROCEDURE status like 'sp6c';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp6c PROCEDURE root@localhost modified created DEFINER this is a comment
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp6c PROCEDURE root@localhost modified created DEFINER this is a comment latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE sp6a;
DROP PROCEDURE sp6b;
DROP PROCEDURE sp6c;
@@ -20633,8 +22112,8 @@ set @x=i1;
set @y=@x;
END//
SHOW PROCEDURE status like 'sp6';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp6 PROCEDURE root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp6 PROCEDURE root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE sp6;
Testcase 4.8.3:
@@ -20659,8 +22138,8 @@ set @y=@x;
return 0;
END//
show function status like 'sp6';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp6 FUNCTION root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp6 FUNCTION root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION sp6;
Testcase 4.8.5:
@@ -20673,7 +22152,7 @@ Testcase 4.8.6:
--------------------------------------------------------------------------------
DROP PROCEDURE IF EXISTS sp6;
show procedure status like 'sp6';
-Db Name Type Definer Modified Created Security_type Comment
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
Testcase 4.8.7:
--------------------------------------------------------------------------------
@@ -20694,7 +22173,7 @@ BEGIN
return i1;
END//
show procedure status like 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
DROP FUNCTION fn1;
Testcase 4.8.9:
@@ -20708,8 +22187,8 @@ BEGIN
return i1;
END//
SHOW FUNCTION STATUS LIKE 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc fn1 FUNCTION root@localhost modified created DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc fn1 FUNCTION root@localhost modified created DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION fn1;
Testcase 4.8.11:
@@ -20738,7 +22217,7 @@ Testcase 4.8.13:
--------------------------------------------------------------------------------
DROP FUNCTION IF EXISTS f1000;
SHOW FUNCTION STATUS LIKE 'f1000';
-Db Name Type Definer Modified Created Security_type Comment
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
Testcase 4.8.14:
--------------------------------------------------------------------------------
@@ -20760,7 +22239,7 @@ set @x=i1;
set @y=@x;
END//
show function status like 'sp6';
-Db Name Type Definer Modified Created Security_type Comment
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
DROP PROCEDURE sp6;
Testcase 4.8.16:
@@ -20777,8 +22256,8 @@ END//
alter procedure sp6 sql security invoker;
alter procedure sp6 comment 'this is a new comment';
SHOW PROCEDURE status like 'sp6';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc sp6 PROCEDURE root@localhost modified created INVOKER this is a new comment
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc sp6 PROCEDURE root@localhost modified created INVOKER this is a new comment latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE sp6;
Testcase 4.8.18:
@@ -20790,12 +22269,12 @@ return x;
END//
alter function fn1 sql security invoker;
show create function fn1;
-Function sql_mode Create Function
-fn1 CREATE FUNCTION `fn1`(x int) RETURNS int(11)
+Function sql_mode Create Function character_set_client collation_connection Database Collation
+fn1 CREATE DEFINER=`root`@`localhost` FUNCTION `fn1`(x int) RETURNS int(11)
SQL SECURITY INVOKER
BEGIN
return x;
-END
+END latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION fn1;
Testcase 4.8.19:
@@ -20808,8 +22287,8 @@ END//
alter function fn1 sql security invoker;
alter function fn1 comment 'this is a function 3242#@%$#@';
show function status like 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
-db_storedproc fn1 FUNCTION root@localhost modified created INVOKER this is a function 3242#@%$#@
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db_storedproc fn1 FUNCTION root@localhost modified created INVOKER this is a function 3242#@%$#@ latin1 latin1_swedish_ci latin1_swedish_ci
DROP FUNCTION fn1;
Testcase 4.8.20:
@@ -20822,13 +22301,13 @@ set @y=@x;
END//
alter procedure sp6 comment 'this is simple';
show CREATE PROCEDURE sp6;
-Procedure sql_mode Create Procedure
-sp6 CREATE PROCEDURE `sp6`(i1 int , i2 int)
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+sp6 CREATE DEFINER=`root`@`localhost` PROCEDURE `sp6`(i1 int , i2 int)
COMMENT 'this is simple'
BEGIN
set @x=i1;
set @y=@x;
-END
+END latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE sp6;
Testcase 4.8.21:
@@ -20853,7 +22332,7 @@ set @y=@x;
END//
DROP PROCEDURE sp6;
SHOW PROCEDURE status like 'sp6';
-Db Name Type Definer Modified Created Security_type Comment
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
Testcase 4.8.23:
--------------------------------------------------------------------------------
@@ -20875,7 +22354,7 @@ return i1;
END//
DROP FUNCTION fn1;
SHOW FUNCTION STATUS LIKE 'fn1';
-Db Name Type Definer Modified Created Security_type Comment
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
Section 3.1.9 - Routine body checks:
--------------------------------------------------------------------------------
@@ -20894,16 +22373,16 @@ SELECT * from t9 limit 0, 100;
END//
CALL sp6 (10, 20, 30, 40, 50);
f1 f2 f3
--5000 a` -5000
--4999 aaa -4999
--4998 abaa -4998
--4997 acaaa -4997
--4996 adaaaa -4996
--4995 aeaaaaa -4995
--4994 afaaaaaa -4994
--4993 agaaaaaaa -4993
--4992 a^aaaaaaaa -4992
-4991 a_aaaaaaaaa -4991
+-4992 a^aaaaaaaa -4992
+-4993 agaaaaaaa -4993
+-4994 afaaaaaa -4994
+-4995 aeaaaaa -4995
+-4996 adaaaa -4996
+-4997 acaaa -4997
+-4998 abaa -4998
+-4999 aaa -4999
+-5000 a` -5000
DROP PROCEDURE sp6;
Testcase 4.9.2:
@@ -21363,9 +22842,16 @@ until done END repeat;
SELECT done;
close cur1;
END//
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+CALL h1();
+done
+0
+done
+1
+done
+1
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.14:
--------------------------------------------------------------------------------
@@ -21392,9 +22878,16 @@ until done END repeat;
SELECT done;
close cur1;
END//
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+CALL h1();
+done
+0
+done
+1
+done
+1
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.15:
--------------------------------------------------------------------------------
@@ -21422,9 +22915,16 @@ until done END repeat;
SELECT done;
close cur1;
END//
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+CALL h1();
+done
+0
+@x=1
+0
+done
+1
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.16:
--------------------------------------------------------------------------------
@@ -21452,17 +22952,16 @@ until done END repeat;
SELECT done;
close cur1;
END//
-CALL h1()
-# cleanup;
+CALL h1();
done
0
@x=1
0
done
1
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.17:
--------------------------------------------------------------------------------
@@ -21490,9 +22989,9 @@ done
0
done
1
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.18:
--------------------------------------------------------------------------------
@@ -21520,9 +23019,9 @@ done
0
done
1
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.19:
--------------------------------------------------------------------------------
@@ -21550,9 +23049,9 @@ END//
CALL h1();
done
0
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.20:
--------------------------------------------------------------------------------
@@ -21580,9 +23079,9 @@ END//
CALL h1();
done
0
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.21:
--------------------------------------------------------------------------------
@@ -21610,9 +23109,9 @@ done
0
done
1
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.22:
--------------------------------------------------------------------------------
@@ -21641,9 +23140,9 @@ done
0
done @x
1 1
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.23:
--------------------------------------------------------------------------------
@@ -21671,9 +23170,9 @@ END//
CALL h1();
done
0
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.24:
--------------------------------------------------------------------------------
@@ -21701,9 +23200,9 @@ END//
CALL h1();
done
0
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.25:
--------------------------------------------------------------------------------
@@ -21728,9 +23227,9 @@ END//
CALL h1();
done @x
1 1
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.26:
--------------------------------------------------------------------------------
@@ -21755,9 +23254,9 @@ END//
CALL h1();
done @x
1 1
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.27:
--------------------------------------------------------------------------------
@@ -21780,9 +23279,9 @@ set @x=1;
SELECT done, @x;
END//
CALL h1();
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.28:
--------------------------------------------------------------------------------
@@ -21805,9 +23304,9 @@ set @x=1;
SELECT done, @x;
END//
CALL h1();
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+drop table IF EXISTS res_t1;
+drop table IF EXISTS res_t2;
Testcase 4.11.29:
--------------------------------------------------------------------------------
@@ -21835,9 +23334,9 @@ END//
CALL h1();
done @x
1 1
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+drop table IF EXISTS res_t1;
+drop table IF EXISTS res_t2;
Testcase 4.11.30:
--------------------------------------------------------------------------------
@@ -21865,9 +23364,9 @@ END//
CALL h1();
done @x
1 1
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+drop table IF EXISTS res_t1;
+drop table IF EXISTS res_t2;
Testcase 4.11.31:
--------------------------------------------------------------------------------
@@ -21893,9 +23392,9 @@ set @x=1;
SELECT done, @x;
END//
CALL h1();
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+drop table IF EXISTS res_t1;
+drop table IF EXISTS res_t2;
Testcase 4.11.32:
--------------------------------------------------------------------------------
@@ -21921,9 +23420,9 @@ set @x=1;
SELECT done, @x;
END//
CALL h1();
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
Testcase 4.11.33:
--------------------------------------------------------------------------------
@@ -21948,7 +23447,7 @@ set @x=1;
SELECT done, @x;
END//
ERROR 42000: Duplicate condition: condname
-drop table res_t1;
+DROP TABLE IF EXISTS res_t1;
Testcase 4.11.35:
--------------------------------------------------------------------------------
@@ -21973,7 +23472,21 @@ insert into res_t1 values (3, 'c');
END begin2_label;
END begin1_label//
ERROR 42000: Bad SQLSTATE: '020'
-drop table res_t1;
+CREATE PROCEDURE h1 ()
+begin1_label:BEGIN
+declare condname1 condition for sqlstate '020';
+declare condname2 condition for sqlstate 'wewe';
+declare condname3 condition for 9999;
+set @var2 = 1;
+insert into res_t1 values (2, 'b');
+begin2_label: BEGIN
+declare continue handler for sqlstate '90000023' set @var3= 1;
+set @var4 = 1;
+insert into res_t1 values (3, 'c');
+END begin2_label;
+END begin1_label//
+ERROR 42000: Bad SQLSTATE: '020'
+DROP TABLE IF EXISTS res_t1;
Testcase 4.11.36:
--------------------------------------------------------------------------------
@@ -21989,7 +23502,7 @@ set x1 = 2;
END;
SELECT @x, x1;
END//
-DROP PROCEDURE h1;
+DROP PROCEDURE IF EXISTS h1;
Testcase 4.11.40:
--------------------------------------------------------------------------------
@@ -22010,7 +23523,7 @@ declare exit handler for condname2 set x5 = 1;
END//
ERROR 42000: Duplicate handler declared in the same block
DROP PROCEDURE IF EXISTS h1;
-drop table res_t1;
+DROP TABLE IF EXISTS res_t1;
Testcase 4.11.41:
--------------------------------------------------------------------------------
@@ -22026,6 +23539,9 @@ set x1 = 2;
END;
SELECT @x, x1;
END//
+CALL h1();
+@x x1
+0 2
DROP PROCEDURE IF EXISTS h1;
* Testcase 3.1.2.53 (4.11.42):
@@ -22076,8 +23592,8 @@ CALL h1();
SELECT @done, @x;
@done @x
1 1
-DROP PROCEDURE h1;
-DROP TABLE res_t1;
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
--source suite/funcs_1/storedproc/cleanup_sp_tb.inc
--------------------------------------------------------------------------------
diff --git a/mysql-test/suite/funcs_1/r/ndb_storedproc_02.result b/mysql-test/suite/funcs_1/r/ndb_storedproc_02.result
index a21282d65f4..7458e55007d 100644
--- a/mysql-test/suite/funcs_1/r/ndb_storedproc_02.result
+++ b/mysql-test/suite/funcs_1/r/ndb_storedproc_02.result
@@ -1,8 +1,6 @@
--source suite/funcs_1/storedproc/load_sp_tb.inc
--------------------------------------------------------------------------------
-SET @@global.max_heap_table_size=4294967295;
-SET @@session.max_heap_table_size=4294967295;
--source suite/funcs_1/storedproc/cleanup_sp_tb.inc
--------------------------------------------------------------------------------
@@ -11,20 +9,25 @@ 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 = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t1;
-create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t2;
-create table t3(f1 char(20),f2 char(20),f3 integer) engine = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t3.txt' into table t3;
-create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t4;
+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_ln/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_ln/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_ln/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_ln/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 = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t6;
+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_ln/funcs_1/t4.txt' into table t6;
USE db_storedproc;
-create table t7 (f1 char(20), f2 char(25), f3 date, f4 int) engine = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t7;
+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_ln/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
@@ -36,8 +39,9 @@ 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 = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t8;
+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_ln/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
@@ -49,12 +53,14 @@ 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 = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t9.txt' into table t9;
-create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t10;
-create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t11;
+create table t9(f1 int, f2 char(25), f3 int) engine = <engine_to_be_tested>;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/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_ln/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_ln/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:
@@ -700,7 +706,7 @@ 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
+“01“ is always exactly equivalent in action to a handler with an SQLWARNING
condition.
--------------------------------------------------------------------------------
DROP PROCEDURE IF EXISTS sp0;
@@ -799,7 +805,7 @@ 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
+“02“ is always exactly equivalent in action to a handler with a NOT FOUND
condition.
--------------------------------------------------------------------------------
DROP PROCEDURE IF EXISTS sp0;
@@ -907,7 +913,7 @@ 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
+anything other that “01“ or “02“ is always exactly equivalent in action to a
handler with an SQLEXCEPTION condition.
--------------------------------------------------------------------------------
DROP PROCEDURE IF EXISTS sp0;
@@ -1196,16 +1202,16 @@ declare cur2 cursor for SELECT f1, f2, f4, f5 from t2 where f4 >= -5000 order by
open cur1;
open cur2;
BEGIN
-declare continue handler for sqlstate '02000' set count=1;
+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;
+set count = 4;
BEGIN
-while count> 0 do
+while count > 0 do
fetch cur1 into newf1, newf2, newf4, newf5;
SELECT '-2-', count, newf1, newf2, newf4, newf5;
-set count = count- 1;
+set count = count - 1;
END while;
SELECT '-3-', count, newf1, newf2, newf4, newf4;
END;
diff --git a/mysql-test/suite/funcs_1/r/ndb_storedproc_03.result b/mysql-test/suite/funcs_1/r/ndb_storedproc_03.result
index f01ee177d8f..53e25441e2e 100644
--- a/mysql-test/suite/funcs_1/r/ndb_storedproc_03.result
+++ b/mysql-test/suite/funcs_1/r/ndb_storedproc_03.result
@@ -1,8 +1,6 @@
--source suite/funcs_1/storedproc/load_sp_tb.inc
--------------------------------------------------------------------------------
-SET @@global.max_heap_table_size=4294967295;
-SET @@session.max_heap_table_size=4294967295;
--source suite/funcs_1/storedproc/cleanup_sp_tb.inc
--------------------------------------------------------------------------------
@@ -11,20 +9,25 @@ 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 = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t1;
-create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t2;
-create table t3(f1 char(20),f2 char(20),f3 integer) engine = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t3.txt' into table t3;
-create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t4;
+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_ln/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_ln/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_ln/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_ln/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 = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t6;
+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_ln/funcs_1/t4.txt' into table t6;
USE db_storedproc;
-create table t7 (f1 char(20), f2 char(25), f3 date, f4 int) engine = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t7;
+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_ln/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
@@ -36,8 +39,9 @@ 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 = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t8;
+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_ln/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
@@ -49,12 +53,14 @@ 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 = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t9.txt' into table t9;
-create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t10;
-create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t11;
+create table t9(f1 int, f2 char(25), f3 int) engine = <engine_to_be_tested>;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/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_ln/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_ln/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:
diff --git a/mysql-test/suite/funcs_1/r/ndb_storedproc_06.result b/mysql-test/suite/funcs_1/r/ndb_storedproc_06.result
index 62aa5432e98..88bddf68e24 100644
--- a/mysql-test/suite/funcs_1/r/ndb_storedproc_06.result
+++ b/mysql-test/suite/funcs_1/r/ndb_storedproc_06.result
@@ -1,8 +1,6 @@
--source suite/funcs_1/storedproc/load_sp_tb.inc
--------------------------------------------------------------------------------
-SET @@global.max_heap_table_size=4294967295;
-SET @@session.max_heap_table_size=4294967295;
--source suite/funcs_1/storedproc/cleanup_sp_tb.inc
--------------------------------------------------------------------------------
@@ -11,20 +9,25 @@ 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 = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t1;
-create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t2;
-create table t3(f1 char(20),f2 char(20),f3 integer) engine = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t3.txt' into table t3;
-create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t4;
+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_ln/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_ln/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_ln/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_ln/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 = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t6;
+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_ln/funcs_1/t4.txt' into table t6;
USE db_storedproc;
-create table t7 (f1 char(20), f2 char(25), f3 date, f4 int) engine = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t7;
+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_ln/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
@@ -36,8 +39,9 @@ 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 = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t8;
+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_ln/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
@@ -49,12 +53,14 @@ 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 = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t9.txt' into table t9;
-create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t10;
-create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t11;
+create table t9(f1 int, f2 char(25), f3 int) engine = <engine_to_be_tested>;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/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_ln/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_ln/funcs_1/t4.txt' into table t11;
Section 3.1.6 - Privilege Checks:
--------------------------------------------------------------------------------
@@ -81,6 +87,7 @@ 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';
@@ -92,6 +99,7 @@ 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';
@@ -117,6 +125,7 @@ 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';
diff --git a/mysql-test/suite/funcs_1/r/ndb_storedproc_07.result b/mysql-test/suite/funcs_1/r/ndb_storedproc_07.result
index 653baa95ab4..c4e8082fd7d 100644
--- a/mysql-test/suite/funcs_1/r/ndb_storedproc_07.result
+++ b/mysql-test/suite/funcs_1/r/ndb_storedproc_07.result
@@ -1,8 +1,6 @@
--source suite/funcs_1/storedproc/load_sp_tb.inc
--------------------------------------------------------------------------------
-SET @@global.max_heap_table_size=4294967295;
-SET @@session.max_heap_table_size=4294967295;
--source suite/funcs_1/storedproc/cleanup_sp_tb.inc
--------------------------------------------------------------------------------
@@ -11,20 +9,25 @@ 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 = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t1;
-create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t2;
-create table t3(f1 char(20),f2 char(20),f3 integer) engine = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t3.txt' into table t3;
-create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t4;
+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_ln/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_ln/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_ln/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_ln/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 = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t6;
+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_ln/funcs_1/t4.txt' into table t6;
USE db_storedproc;
-create table t7 (f1 char(20), f2 char(25), f3 date, f4 int) engine = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t7;
+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_ln/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
@@ -36,8 +39,9 @@ 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 = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t8;
+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_ln/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
@@ -49,12 +53,14 @@ 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 = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t9.txt' into table t9;
-create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t10;
-create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t11;
+create table t9(f1 int, f2 char(25), f3 int) engine = <engine_to_be_tested>;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/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_ln/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_ln/funcs_1/t4.txt' into table t11;
Section 3.1.7 - SQL mode checks:
--------------------------------------------------------------------------------
@@ -90,7 +96,7 @@ INSERT INTO result VALUES (@cur_val_sql_mode, 'value not restored');
END if;
END//
SHOW CREATE PROCEDURE sp1;
-Procedure sql_mode Create Procedure
+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 CREATE DEFINER=`root`@`localhost` PROCEDURE `sp1`()
BEGIN
declare a tinyint;
@@ -104,7 +110,7 @@ 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
+END latin1 latin1_swedish_ci latin1_swedish_ci
set @@sql_mode='';
SHOW VARIABLES LIKE 'sql_mode';
Variable_name Value
@@ -143,12 +149,12 @@ SET @@sql_mode='MAXDB';
SHOW VARIABLES LIKE 'sql_mode';
END//
SHOW CREATE PROCEDURE sp2;
-Procedure sql_mode Create Procedure
+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 CREATE DEFINER=`root`@`localhost` PROCEDURE `sp2`()
BEGIN
SET @@sql_mode='MAXDB';
SHOW VARIABLES LIKE 'sql_mode';
-END
+END latin1 latin1_swedish_ci latin1_swedish_ci
... show value prior calling procedure
SHOW VARIABLES LIKE 'sql_mode';
Variable_name Value
diff --git a/mysql-test/suite/funcs_1/r/ndb_storedproc_08.result b/mysql-test/suite/funcs_1/r/ndb_storedproc_08.result
index 69830831843..0bed3989f13 100644
--- a/mysql-test/suite/funcs_1/r/ndb_storedproc_08.result
+++ b/mysql-test/suite/funcs_1/r/ndb_storedproc_08.result
@@ -1,8 +1,6 @@
--source suite/funcs_1/storedproc/load_sp_tb.inc
--------------------------------------------------------------------------------
-SET @@global.max_heap_table_size=4294967295;
-SET @@session.max_heap_table_size=4294967295;
--source suite/funcs_1/storedproc/cleanup_sp_tb.inc
--------------------------------------------------------------------------------
@@ -11,20 +9,25 @@ 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 = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t1;
-create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t2;
-create table t3(f1 char(20),f2 char(20),f3 integer) engine = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t3.txt' into table t3;
-create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t4;
+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_ln/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_ln/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_ln/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_ln/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 = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t6;
+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_ln/funcs_1/t4.txt' into table t6;
USE db_storedproc;
-create table t7 (f1 char(20), f2 char(25), f3 date, f4 int) engine = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t7;
+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_ln/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
@@ -36,8 +39,9 @@ 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 = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t8;
+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_ln/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
@@ -49,12 +53,14 @@ 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 = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t9.txt' into table t9;
-create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t10;
-create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t11;
+create table t9(f1 int, f2 char(25), f3 int) engine = <engine_to_be_tested>;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/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_ln/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_ln/funcs_1/t4.txt' into table t11;
Section 3.1.8 - SHOW statement checks:
--------------------------------------------------------------------------------
@@ -122,6 +128,9 @@ 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 NULL
ROUTINE_SCHEMA db_storedproc
@@ -146,6 +155,9 @@ 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 NULL
ROUTINE_SCHEMA db_storedproc
@@ -168,6 +180,9 @@ 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 NULL
ROUTINE_SCHEMA db_storedproc
@@ -190,6 +205,9 @@ 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
@@ -199,6 +217,9 @@ 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
@@ -210,6 +231,9 @@ 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
@@ -217,6 +241,9 @@ 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
@@ -226,6 +253,9 @@ Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_2`(i1 int)
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
@@ -235,6 +265,9 @@ 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
@@ -243,6 +276,9 @@ 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
@@ -252,6 +288,9 @@ 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
@@ -260,6 +299,9 @@ 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:
--------------------------
@@ -304,6 +346,9 @@ 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 NULL
ROUTINE_SCHEMA db_storedproc
@@ -328,6 +373,9 @@ 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 NULL
ROUTINE_SCHEMA db_storedproc
@@ -350,6 +398,9 @@ 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 NULL
ROUTINE_SCHEMA db_storedproc
@@ -372,6 +423,9 @@ 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
@@ -384,6 +438,9 @@ 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
@@ -395,6 +452,9 @@ 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
@@ -404,6 +464,9 @@ 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
@@ -413,6 +476,9 @@ Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_2`(i1 int)
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
@@ -422,6 +488,9 @@ 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
@@ -430,6 +499,9 @@ 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
@@ -439,6 +511,9 @@ 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
@@ -447,6 +522,9 @@ 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:
--------------------------------------------
@@ -479,6 +557,9 @@ 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 NULL
ROUTINE_SCHEMA db_storedproc
@@ -503,6 +584,9 @@ 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 NULL
ROUTINE_SCHEMA db_storedproc
@@ -525,6 +609,9 @@ 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 NULL
ROUTINE_SCHEMA db_storedproc
@@ -547,6 +634,9 @@ 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
@@ -559,6 +649,9 @@ 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
@@ -569,6 +662,9 @@ 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
@@ -578,6 +674,9 @@ 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
@@ -587,6 +686,9 @@ Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_2`(i1 int)
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
@@ -596,6 +698,9 @@ 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
@@ -604,6 +709,9 @@ 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
@@ -613,6 +721,9 @@ 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
@@ -621,6 +732,9 @@ 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
-----------
diff --git a/mysql-test/suite/funcs_1/r/ndb_storedproc_10.result b/mysql-test/suite/funcs_1/r/ndb_storedproc_10.result
index 4c1f226401f..163bae36bed 100644
--- a/mysql-test/suite/funcs_1/r/ndb_storedproc_10.result
+++ b/mysql-test/suite/funcs_1/r/ndb_storedproc_10.result
@@ -1,8 +1,6 @@
--source suite/funcs_1/storedproc/load_sp_tb.inc
--------------------------------------------------------------------------------
-SET @@global.max_heap_table_size=4294967295;
-SET @@session.max_heap_table_size=4294967295;
--source suite/funcs_1/storedproc/cleanup_sp_tb.inc
--------------------------------------------------------------------------------
@@ -11,20 +9,25 @@ 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 = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t1;
-create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t2;
-create table t3(f1 char(20),f2 char(20),f3 integer) engine = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t3.txt' into table t3;
-create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t4;
+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_ln/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_ln/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_ln/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_ln/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 = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t6;
+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_ln/funcs_1/t4.txt' into table t6;
USE db_storedproc;
-create table t7 (f1 char(20), f2 char(25), f3 date, f4 int) engine = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t7;
+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_ln/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
@@ -36,8 +39,9 @@ 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 = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t8;
+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_ln/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
@@ -49,12 +53,14 @@ 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 = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t9.txt' into table t9;
-create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t10;
-create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ndb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t11;
+create table t9(f1 int, f2 char(25), f3 int) engine = <engine_to_be_tested>;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/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_ln/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_ln/funcs_1/t4.txt' into table t11;
Section 3.1.10 - CALL checks:
--------------------------------------------------------------------------------
@@ -95,6 +101,8 @@ 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();
@@ -114,6 +122,8 @@ 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';
@@ -131,6 +141,7 @@ 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;
@@ -178,6 +189,8 @@ 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()
@@ -205,49 +218,72 @@ 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 ORDER BY f4;
+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
-a^aaaaaaaa a^aaaaaaaa 1000-01-09 -4992 a^aaaaaaaa -4992
-a_aaaaaaaaa a_aaaaaaaaa 1000-01-10 -4991 a_aaaaaaaaa -4991
-abc abc 2005-10-03 100 uvw 1000
CALL sp_ins_3();
SELECT row_count();
row_count()
1
-SELECT * FROM temp ORDER BY f4;
+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
-a^aaaaaaaa a^aaaaaaaa 1000-01-09 -4992 a^aaaaaaaa -4992
-a_aaaaaaaaa a_aaaaaaaaa 1000-01-10 -4991 a_aaaaaaaaa -4991
-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
CALL sp_upd();
SELECT row_count();
row_count()
4
-SELECT * FROM temp ORDER BY f4;
+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
@@ -256,8 +292,6 @@ 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
-a^aaaaaaaa a^aaaaaaaa 1000-01-09 -4992 a^aaaaaaaa -4992
-a_aaaaaaaaa a_aaaaaaaaa 1000-01-10 -4991 a_aaaaaaaaa -4991
updated abc 2005-10-03 100 uvw 1000
updated xyz 1949-05-23 100 uvw 1000
updated xyz 1989-11-09 100 uvw 1000
@@ -279,8 +313,10 @@ COUNT( f1 ) f1
SELECT row_count();
row_count()
3
-SELECT * FROM temp ORDER BY f4;
+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
@@ -289,26 +325,73 @@ 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
-a^aaaaaaaa a^aaaaaaaa 1000-01-09 -4992 a^aaaaaaaa -4992
-a_aaaaaaaaa a_aaaaaaaaa 1000-01-10 -4991 a_aaaaaaaaa -4991
-updated_2 abc 2000-11-09 100 uvw 1000
qwe xyz 1998-03-26 100 uvw 1000
-updated_2 abc 1989-11-09 100 uvw 1000
-updated xyz 2005-10-24 100 uvw 1000
-updated xyz 1989-11-09 100 uvw 1000
-updated xyz 1949-05-23 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()
+-1
+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
+Ensure that the mysql_affected_rows() C API function always returns the correct
number of rows affected by the execution of a stored procedure.
--------------------------------------------------------------------------------
diff --git a/mysql-test/suite/funcs_1/r/ndb_trig_0102.result b/mysql-test/suite/funcs_1/r/ndb_trig_0102.result
index 0157151e8be..07e219ab738 100644
--- a/mysql-test/suite/funcs_1/r/ndb_trig_0102.result
+++ b/mysql-test/suite/funcs_1/r/ndb_trig_0102.result
@@ -1,98 +1,98 @@
-SET @NO_REFRESH = IF( '' = '', 0, 1);
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 tinytext,
-f122 text,
-f123 mediumtext,
-f124 longtext unicode,
-f125 tinyblob,
-f126 blob,
-f127 mediumblob,
-f128 longblob,
-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)
+f118 char not null DEFAULT 'a',
+f119 char binary not null DEFAULT b'101',
+f120 char ascii not null DEFAULT b'101',
+f121 tinytext,
+f122 text,
+f123 mediumtext,
+f124 longtext unicode,
+f125 tinyblob,
+f126 blob,
+f127 mediumblob,
+f128 longblob,
+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 = ndb;
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
-Error 1466 Table storage engine 'ndbcluster' does not support the create option 'Binlog of table with BLOB attribute and no PK'
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/ndb_tb3.txt' into table tb3 ;
+Error 1478 Table storage engine 'ndbcluster' does not support the create option 'Binlog of table with BLOB attribute and no PK'
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/ndb_tb3.txt'
+into table tb3;
Testcase: 3.5.1.1:
------------------
use test;
-Create trigger trg1_1 BEFORE INSERT
+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
+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,
+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
+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
+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
+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)
+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
@@ -105,9 +105,9 @@ 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
+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
@@ -115,7 +115,7 @@ 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)
+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;
@@ -143,7 +143,7 @@ delete from tb3 where f121='Test 3.5.1.1';
Testcase: 3.5.1.2:
------------------
-Create trigger trg_1 after insert
+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;
@@ -196,7 +196,7 @@ drop table if exists t1;
Warnings:
Note 1051 Unknown table 't1'
create table t1 (f1 int, f2 char(25),f3 int) engine=ndb;
-CREATE TRIGGER trg5_1 BEFORE INSERT on test.t1
+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';
@@ -233,7 +233,7 @@ 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
+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;
@@ -241,11 +241,11 @@ create database trig_db;
use trig_db;
create table t1 (f1 integer) engine = ndb;
use test;
-CREATE TRIGGER trig_db.trg6_2 AFTER INSERT on tb3
+CREATE TRIGGER trig_db.trg6_2 AFTER INSERT on tb3
for each row set @ret_trg6_2 = 5;
-ERROR HY000: Trigger in wrong schema
+ERROR 42S02: Table 'trig_db.tb3' doesn't exist
use trig_db;
-CREATE TRIGGER trg6_3 AFTER INSERT on test.tb3
+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;
@@ -269,9 +269,9 @@ drop table if exists t1;
drop table if exists t2;
create table t1 (f1 char(50), f2 integer) engine = ndb;
create table t2 (f1 char(50), f2 integer) engine = ndb;
-create trigger trig before insert on t1
+create trigger trig before insert on t1
for each row set new.f1 ='trig t1';
-create trigger trig before update on t2
+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);
@@ -301,15 +301,15 @@ create database trig_db2;
create database trig_db3;
use trig_db1;
create table t1 (f1 char(50), f2 integer) engine = ndb;
-create trigger trig before insert on t1
+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 = ndb;
-create trigger trig before insert on t2
+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 = ndb;
-create trigger trig before insert on t1
+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;
@@ -348,11 +348,11 @@ create database trig_db2;
use trig_db1;
create table t1 (f1 char(50), f2 integer) engine = ndb;
create table trig_db2.t1 (f1 char(50), f2 integer) engine = ndb;
-create trigger trig1_b before insert on t1
+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
+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
+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 order by trigger_name;
@@ -368,3 +368,4 @@ select @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
index f046b5a0bc4..8f935113997 100644
--- a/mysql-test/suite/funcs_1/r/ndb_trig_03.result
+++ b/mysql-test/suite/funcs_1/r/ndb_trig_03.result
@@ -1,72 +1,72 @@
-SET @NO_REFRESH = IF( '' = '', 0, 1);
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 tinytext,
-f122 text,
-f123 mediumtext,
-f124 longtext unicode,
-f125 tinyblob,
-f126 blob,
-f127 mediumblob,
-f128 longblob,
-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)
+f118 char not null DEFAULT 'a',
+f119 char binary not null DEFAULT b'101',
+f120 char ascii not null DEFAULT b'101',
+f121 tinytext,
+f122 text,
+f123 mediumtext,
+f124 longtext unicode,
+f125 tinyblob,
+f126 blob,
+f127 mediumblob,
+f128 longblob,
+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 = ndb;
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
-Error 1466 Table storage engine 'ndbcluster' does not support the create option 'Binlog of table with BLOB attribute and no PK'
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/ndb_tb3.txt' into table tb3 ;
+Error 1478 Table storage engine 'ndbcluster' does not support the create option 'Binlog of table with BLOB attribute and no PK'
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/ndb_tb3.txt'
+into table tb3;
Testcase 3.5.3:
---------------
@@ -105,7 +105,7 @@ 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';
-Got one of the listed errors
+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;
@@ -137,7 +137,7 @@ Testcase 3.5.3.6:
-----------------
use priv_db;
drop trigger trg1_2;
-Got one of the listed errors
+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;
@@ -185,15 +185,14 @@ 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
-
-Trigger create disabled - should fail - Bug 8884
-------------------------------------------------
+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
-insert 3.5.3.7-1a
trig 3.5.3.2_2-yes
trig 3.5.3.2_2-yes
drop trigger trg4a_1;
@@ -211,7 +210,6 @@ 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-1a
trig 3.5.3.2_2-yes
trig 3.5.3.2_2-yes
trig 3.5.3.7-2a
@@ -240,29 +238,27 @@ 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;
-
-Trigger create disabled - should fail - Bug 8884
-------------------------------------------------
+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-1a
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-1a
+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 3.5.3.7-1b
drop trigger trg4b_1;
show grants;
Grants for test_yesprivs@localhost
@@ -276,23 +272,21 @@ 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-1a
+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 3.5.3.7-1b
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-1a
+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
-update 3.5.3.7-1b
drop trigger trg4b_2;
Testcase 3.5.3.7c
@@ -318,21 +312,19 @@ 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;
-
-Trigger create disabled - should fail - Bug 8884
-------------------------------------------------
+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-1a
-insert 3.5.3.7-1c
+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
-update 3.5.3.7-1b
drop trigger trg4c_1;
show grants;
Grants for test_yesprivs@localhost
@@ -346,14 +338,12 @@ 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-1a
-insert 3.5.3.7-1c
+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
-update 3.5.3.7-1b
drop trigger trg4c_2;
Testcase 3.5.3.7d:
@@ -377,23 +367,20 @@ 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;
-
-Trigger create disabled - should fail - Bug 8884
-------------------------------------------------
+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-1a
-insert 3.5.3.7-1c
-insert 3.5.3.7-1d
+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
-update 3.5.3.7-1b
drop trigger trg4d_1;
show grants;
Grants for test_yesprivs@localhost
@@ -407,16 +394,13 @@ 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-1a
-insert 3.5.3.7-1c
-insert 3.5.3.7-1d
+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
-update 3.5.3.7-1b
drop trigger trg4d_2;
Testcase 3.5.3.8a:
@@ -441,14 +425,14 @@ 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 ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-
-Trigger create disabled - should fail - Bug 8887
-------------------------------------------------
+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
@@ -496,15 +480,15 @@ 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;
-
-Trigger create disabled - should fail - Bug 8887
-------------------------------------------------
+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
@@ -551,11 +535,11 @@ 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;
-
-Trigger create disabled - should fail - Bug 8887
-------------------------------------------------
+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
@@ -597,11 +581,11 @@ 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;
-
-Trigger create disabled - should fail - Bug 8887
-------------------------------------------------
+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
@@ -715,3 +699,4 @@ drop database if exists priv_db;
drop user test_yesprivs@localhost;
drop user test_noprivs@localhost;
drop user test_noprivs;
+DROP TABLE test.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
index ef24e298dad..84260822edf 100644
--- a/mysql-test/suite/funcs_1/r/ndb_trig_03e.result
+++ b/mysql-test/suite/funcs_1/r/ndb_trig_03e.result
@@ -1,4 +1,3 @@
-SET @NO_REFRESH = IF( '' = '', 0, 1);
USE test;
Testcase for db level:
@@ -263,7 +262,7 @@ select current_user;
current_user
root@localhost
show triggers;
-Trigger Event Table Statement Timing Created sql_mode Definer
+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
@@ -296,7 +295,7 @@ select current_user;
current_user
root@localhost
show triggers;
-Trigger Event Table Statement Timing Created sql_mode Definer
+Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
show tables;
Tables_in_priv_db
t1
@@ -317,7 +316,7 @@ select current_user;
current_user
test_yesprivs@localhost
show triggers;
-Trigger Event Table Statement Timing Created sql_mode Definer
+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;
@@ -453,9 +452,9 @@ ERROR 42000: TRIGGER command denied to user 'test_yesprivs'@'localhost' for tabl
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
-trg1_3 INSERT t1 set new.f1 = 'trig 1_3-yes' BEFORE NULL test_yesprivs@localhost
-trg1_4 UPDATE t1 set new.f1 = 'trig 1_4-yes' BEFORE NULL test_yesprivs@localhost
+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
@@ -570,11 +569,9 @@ current_user
test_yesprivs@localhost
use priv_db;
show triggers;
-Trigger Event Table Statement Timing Created sql_mode Definer
-trg1_1 INSERT t1 set new.f1 = 'trig 1_1-yes' BEFORE NULL test_yesprivs@localhost
+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
-NULL priv_db trg1_1 INSERT NULL priv_db t1 0 NULL set new.f1 = 'trig 1_1-yes' ROW BEFORE NULL NULL OLD NEW NULL test_yesprivs@localhost
+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;
@@ -863,7 +860,7 @@ select current_user;
current_user
root@localhost
show triggers;
-Trigger Event Table Statement Timing Created sql_mode Definer
+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
@@ -878,7 +875,7 @@ select current_user;
current_user
test_yesprivs@localhost
show triggers;
-Trigger Event Table Statement Timing Created sql_mode Definer
+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
@@ -990,9 +987,9 @@ select current_user;
current_user
root@localhost
show triggers;
-Trigger Event Table Statement Timing Created sql_mode Definer
+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
+on priv_db.t1 to test_yesprivs@localhost
with grant option;
grant select
on priv_db.t1 to test_useprivs@localhost;
@@ -1217,7 +1214,7 @@ 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 There is no 'not_ex_user'@'localhost' registered
+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
@@ -1255,7 +1252,7 @@ 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 the SUPER privilege for this operation
-create definer=current_user trigger trg1_1
+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');
@@ -1321,7 +1318,7 @@ current_user
test_yesprivs@localhost
use priv_db;
set autocommit=0;
-create definer=current_user trigger trg1_1
+create definer=current_user trigger trg1_1
before INSERT on t1 for each row
set new.f1 = 'trig 1_1-yes';
rollback work;
@@ -1567,7 +1564,7 @@ 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
+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
diff --git a/mysql-test/suite/funcs_1/r/ndb_trig_0407.result b/mysql-test/suite/funcs_1/r/ndb_trig_0407.result
index de9170048b3..9c278ee09b2 100644
--- a/mysql-test/suite/funcs_1/r/ndb_trig_0407.result
+++ b/mysql-test/suite/funcs_1/r/ndb_trig_0407.result
@@ -1,72 +1,72 @@
-SET @NO_REFRESH = IF( '' = '', 0, 1);
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 tinytext,
-f122 text,
-f123 mediumtext,
-f124 longtext unicode,
-f125 tinyblob,
-f126 blob,
-f127 mediumblob,
-f128 longblob,
-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)
+f118 char not null DEFAULT 'a',
+f119 char binary not null DEFAULT b'101',
+f120 char ascii not null DEFAULT b'101',
+f121 tinytext,
+f122 text,
+f123 mediumtext,
+f124 longtext unicode,
+f125 tinyblob,
+f126 blob,
+f127 mediumblob,
+f128 longblob,
+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 = ndb;
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
-Error 1466 Table storage engine 'ndbcluster' does not support the create option 'Binlog of table with BLOB attribute and no PK'
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/ndb_tb3.txt' into table tb3 ;
+Error 1478 Table storage engine 'ndbcluster' does not support the create option 'Binlog of table with BLOB attribute and no PK'
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/ndb_tb3.txt'
+into table tb3;
Testcase: 3.5:
--------------
@@ -90,7 +90,7 @@ Use db_drop;
create table t1 (f1 char(30)) engine=ndb;
grant INSERT, SELECT on db_drop.t1 to test_general;
Use db_drop;
-Create trigger trg1 BEFORE INSERT on t1
+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');
@@ -129,7 +129,7 @@ drop table if exists t1_433 ;
drop table if exists t1_433a ;
create table t1_433 (f1 char (30)) engine=ndb;
create table t1_433a (f1a char (5)) engine=ndb;
-CREATE TRIGGER trg3 BEFORE INSERT on t1_433 for each row
+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
@@ -150,7 +150,7 @@ create database db_drop4;
Use db_drop4;
create table t1 (f1 char(30)) engine=ndb;
grant INSERT, SELECT on db_drop4.t1 to test_general;
-Create trigger trg4 BEFORE INSERT on t1
+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');
@@ -186,7 +186,7 @@ create database db_drop5;
Use db_drop5;
create table t1 (f1 char(50)) engine=ndb;
grant INSERT, SELECT on t1 to test_general;
-Create trigger trg5 BEFORE INSERT on t1
+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');
@@ -223,7 +223,7 @@ 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
+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;
@@ -231,7 +231,7 @@ drop table t1_temp;
Testcase 3.5.5.3:
-----------------
Create view vw3 as select f118 from tb3;
-Create trigger trg3 before INSERT
+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;
@@ -312,9 +312,9 @@ drop trigger tb3.trg4_2;
Testcase 3.5.7.5 / 3.5.7.6:
---------------------------
-Create trigger trg5_1 BEFORE INSERT
+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
+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');
@@ -332,9 +332,9 @@ 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
+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
+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;
@@ -360,9 +360,9 @@ delete from tb3 where f121='Test 3.5.7.7/8';
Testcase 3.5.7.9/10:
--------------------
-Create trigger trg7_1 BEFORE UPDATE
+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
+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');
@@ -380,9 +380,9 @@ 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
+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
+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;
@@ -410,9 +410,9 @@ 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
+Create trigger trg9_1 BEFORE DELETE
on tb3 for each row set @test_var=@test_var+1;
-Create trigger trg9_2 BEFORE DELETE
+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;
@@ -442,12 +442,12 @@ 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
+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
+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
+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;
@@ -479,3 +479,4 @@ 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
index a60caec0144..52a0407a940 100644
--- a/mysql-test/suite/funcs_1/r/ndb_trig_08.result
+++ b/mysql-test/suite/funcs_1/r/ndb_trig_08.result
@@ -1,72 +1,72 @@
-SET @NO_REFRESH = IF( '' = '', 0, 1);
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 tinytext,
-f122 text,
-f123 mediumtext,
-f124 longtext unicode,
-f125 tinyblob,
-f126 blob,
-f127 mediumblob,
-f128 longblob,
-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)
+f118 char not null DEFAULT 'a',
+f119 char binary not null DEFAULT b'101',
+f120 char ascii not null DEFAULT b'101',
+f121 tinytext,
+f122 text,
+f123 mediumtext,
+f124 longtext unicode,
+f125 tinyblob,
+f126 blob,
+f127 mediumblob,
+f128 longblob,
+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 = ndb;
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
-Error 1466 Table storage engine 'ndbcluster' does not support the create option 'Binlog of table with BLOB attribute and no PK'
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/ndb_tb3.txt' into table tb3 ;
+Error 1478 Table storage engine 'ndbcluster' does not support the create option 'Binlog of table with BLOB attribute and no PK'
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/ndb_tb3.txt'
+into table tb3;
Testcase: 3.5:
--------------
@@ -91,17 +91,17 @@ 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 (
+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=ndb;
-create table t1_u (
+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=ndb;
-create table t1_d (
+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,
@@ -124,26 +124,26 @@ Insert into t1_d values ('f',222,99999,999.99);
use test;
Create trigger trg1 AFTER INSERT on tb3 for each row
BEGIN
-insert into db_test.t1_i
+insert into db_test.t1_i
values (new.f120, new.f136, new.f144, new.f163);
-update db_test.t1_u
+update db_test.t1_u
set u144=new.f144, u163=new.f163
-where u136=new.f136;
+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;
+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)
+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 order by i120;
+select * from db_test.t1_i;
i120 i136 i144 i163
1 00222 0000023456 1.050000000000000000000000000000
-select * from db_test.t1_u order by u120;
+select * from db_test.t1_u;
u120 u136 u144 u163
a 00111 0000099999 999.990000000000000000000000000000
b 00222 0000023456 1.050000000000000000000000000000
@@ -151,7 +151,7 @@ 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 order by d120;
+select * from db_test.t1_d;
d120 d136 d144 d163
a 00111 0000099999 999.990000000000000000000000000000
c 00333 0000099999 999.990000000000000000000000000000
@@ -164,7 +164,7 @@ select @test_var;
-----------------------------
Create trigger trg2 BEFORE UPDATE on tb3 for each row
BEGIN
-insert into db_test.t1_i
+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%';
@@ -187,7 +187,7 @@ I 00222 0000023456 1.050000000000000000000000000000
-----------------------------
drop trigger trg2;
Create trigger trg3 BEFORE UPDATE on tb3 for each row
-update db_test.t1_u
+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'
@@ -209,7 +209,7 @@ U 00222 0000023456 1.050000000000000000000000000000
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,
+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%';
@@ -224,10 +224,10 @@ c 00333 0000099999 999.990000000000000000000000000000
-------------------------------
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
+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,
+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%';
@@ -255,31 +255,31 @@ 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
+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
+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
+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
+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
+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
@@ -299,7 +299,7 @@ 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
+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
@@ -341,54 +341,54 @@ ELSE set @test_var=CONCAT(new.f120, '*', new.f144);
END case;
END//
set @test_var='Empty';
-Insert into tb3 (f120, f122, f136, f144)
+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;
+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)
+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;
+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)
+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;
+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)
+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;
+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)
+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;
+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)
+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;
+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
@@ -408,40 +408,40 @@ 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
+BEGIN
set @counter=0, @flag='Initial';
-Label1: loop
+Label1: loop
if new.f136<new.f144 then
set @counter='Nothing to loop';
-leave Label1;
+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;
+end if;
+end if;
+iterate label1;
set @flag='Final';
-END loop Label1;
+END loop Label1;
END//
-Insert into tb3 (f122, f136, f144)
+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)
+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
+BEGIN
+Label1: loop
set @counter=@counter+1;
-END;
+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 ';
+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;
@@ -451,23 +451,23 @@ Testcase 3.5.8.5-repeat:
------------------------
Create trigger trg6 after insert on tb3 for each row
BEGIN
-rp_label: REPEAT
-SET @counter1 = @counter1 + 1;
+rp_label: REPEAT
+SET @counter1 = @counter1 + 1;
IF (@counter1 MOD 2 = 0) THEN ITERATE rp_label;
END IF;
-SET @counter2 = @counter2 + 1;
+SET @counter2 = @counter2 + 1;
UNTIL @counter1> new.f136 END REPEAT rp_label;
END//
set @counter1= 0, @counter2= 0;
-Insert into tb3 (f122, f136)
+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;
+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;
@@ -476,34 +476,63 @@ 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;
+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;
+SET @counter2 = @counter2 + 1;
END WHILE wl_label//
set @counter1= 0, @counter2= 0;
-Insert into tb3 (f122, f136)
+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;
+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 'WHILE @counter1 < new.f136
-SET @counter1 = @counter1 + 1;
-END' at line 3
+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: (Disabled as a result of bug _____)
------------------------------------------------------
+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
index 3c5a9526752..d9bc16c20d3 100644
--- a/mysql-test/suite/funcs_1/r/ndb_trig_09.result
+++ b/mysql-test/suite/funcs_1/r/ndb_trig_09.result
@@ -1,76 +1,76 @@
-SET @NO_REFRESH = IF( '' = '', 0, 1);
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 tinytext,
-f122 text,
-f123 mediumtext,
-f124 longtext unicode,
-f125 tinyblob,
-f126 blob,
-f127 mediumblob,
-f128 longblob,
-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)
+f118 char not null DEFAULT 'a',
+f119 char binary not null DEFAULT b'101',
+f120 char ascii not null DEFAULT b'101',
+f121 tinytext,
+f122 text,
+f123 mediumtext,
+f124 longtext unicode,
+f125 tinyblob,
+f126 blob,
+f127 mediumblob,
+f128 longblob,
+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 = ndb;
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
-Error 1466 Table storage engine 'ndbcluster' does not support the create option 'Binlog of table with BLOB attribute and no PK'
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/ndb_tb3.txt' into table tb3 ;
+Error 1478 Table storage engine 'ndbcluster' does not support the create option 'Binlog of table with BLOB attribute and no PK'
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/ndb_tb3.txt'
+into table tb3;
Testcase 3.5.9.1/2:
-------------------
-Create trigger trg1 BEFORE UPDATE on tb3 for each row
+Create trigger trg1 BEFORE UPDATE on tb3 for each row
set new.f142 = 94087, @counter=@counter+1;
TotalRows
10
@@ -82,15 +82,15 @@ NewValuew
0
set @counter=0;
Update tb3 Set f142='1' where f130<100;
-select count(*) as ExpectedChanged, @counter as TrigCounter
+select count(*) as ExpectedChanged, @counter as TrigCounter
from tb3 where f142=94087;
ExpectedChanged TrigCounter
8 8
-select count(*) as ExpectedNotChange from tb3
+select count(*) as ExpectedNotChange from tb3
where f130<100 and f142<>94087;
ExpectedNotChange
0
-select count(*) as NonExpectedChanged from tb3
+select count(*) as NonExpectedChanged from tb3
where f130>=130 and f142=94087;
NonExpectedChanged
0
@@ -118,17 +118,17 @@ set @tr_var_af_118=old.f118, @tr_var_af_121=old.f121,
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)
+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,
+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,
+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
@@ -139,11 +139,11 @@ a NULL Test 3.5.9.3 7 123.170000000000000000000000000000
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,
+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,
+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
@@ -174,17 +174,17 @@ set @tr_var_af_118=new.f118, @tr_var_af_121=new.f121,
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)
+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
+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,
+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,
+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
@@ -194,17 +194,18 @@ a NULL Test 3.5.9.4 7 999 995.240000000000000000000000000000
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
-select f118, f121, f122, f136, f151, f163 from tb3
+ERROR 23000: 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,
+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,
+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
@@ -242,6 +243,7 @@ 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)
@@ -270,3 +272,4 @@ 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
index b6853469d4f..611e3460af4 100644
--- a/mysql-test/suite/funcs_1/r/ndb_trig_1011ext.result
+++ b/mysql-test/suite/funcs_1/r/ndb_trig_1011ext.result
@@ -1,72 +1,72 @@
-SET @NO_REFRESH = IF( '' = '', 0, 1);
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 tinytext,
-f122 text,
-f123 mediumtext,
-f124 longtext unicode,
-f125 tinyblob,
-f126 blob,
-f127 mediumblob,
-f128 longblob,
-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)
+f118 char not null DEFAULT 'a',
+f119 char binary not null DEFAULT b'101',
+f120 char ascii not null DEFAULT b'101',
+f121 tinytext,
+f122 text,
+f123 mediumtext,
+f124 longtext unicode,
+f125 tinyblob,
+f126 blob,
+f127 mediumblob,
+f128 longblob,
+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 = ndb;
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
-Error 1466 Table storage engine 'ndbcluster' does not support the create option 'Binlog of table with BLOB attribute and no PK'
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/ndb_tb3.txt' into table tb3 ;
+Error 1478 Table storage engine 'ndbcluster' does not support the create option 'Binlog of table with BLOB attribute and no PK'
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/ndb_tb3.txt'
+into table tb3;
Testcase 3.5.10.1/2/3:
----------------------
@@ -143,7 +143,7 @@ set @counter= 0;
select @counter as 'Rows Loaded Before';
Rows Loaded Before
0
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t9.txt' into table tb_load;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/t9.txt' into table tb_load;
select @counter as 'Rows Loaded After';
Rows Loaded After
10
@@ -295,8 +295,8 @@ drop table t2;
drop table t3;
drop table t4;
-Testcase y.y.y.4: Recursive trigger/SP references (disabled bug 11889)
-----------------------------------------------------------------------
+Testcase y.y.y.4: Recursive trigger/SP references
+-------------------------------------------------
set @sql_mode='traditional';
create table t1_sp (
count integer,
@@ -401,3 +401,4 @@ 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
index a8dba47ac6e..ed61dca3fa1 100644
--- a/mysql-test/suite/funcs_1/r/ndb_views.result
+++ b/mysql-test/suite/funcs_1/r/ndb_views.result
@@ -1,118 +1,119 @@
-SET @NO_REFRESH = IF( '' = '', 0, 1);
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",
+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 = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/ndb_tb2.txt' into table tb2 ;
+) engine = ndb;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/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",
+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 = innodb;
-load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/ndb_tb2.txt' into table tb2 ;
+) engine = ndb;
+load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/ndb_tb2.txt'
+into table tb2 ;
USE test;
! Attention: The file with the expected results is not
@@ -123,11 +124,7 @@ USE test;
--------------------------------------------------------------------------------
There are some statements where the ps-protocol is switched off.
-Bug#11589: mysqltest, --ps-protocol, strange output, float/double/real with zerofill
---------------------------------------------------------------------------------
-
-! Attention: The file with the expected results suffers from
-Bug#10713: mysqldump includes database in create view and referenced tables
+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);
@@ -169,6 +166,58 @@ 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
@@ -184,47 +233,47 @@ 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 limit 0,10;
+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 limit 0,10;
+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
-10 10 0000000010
CREATE or REPLACE VIEW v1 AS select f59,f60,f61
-FROM test.tb2 limit 4,3;
-select * FROM v1 limit 0,10;
+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
-7 7 0000000007
CREATE or REPLACE VIEW v1 AS select distinct f59
-FROM test.tb2 limit 4,3;
-select * FROM v1 limit 0,10;
+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 limit 6,2;
-select * FROM v1 limit 0,10;
+FROM test.tb2;
+select * FROM v1 order by f59 limit 6,2;
f59
+6
7
-8
CREATE or REPLACE VIEW v1 AS select f59
-from tb2 order by f59 limit 100;
-select * FROM v1 limit 0,10;
+from tb2 order by f59;
+select * FROM v1 order by f59 limit 0,10;
f59
1
2
@@ -237,7 +286,7 @@ f59
8
9
CREATE or REPLACE VIEW v1 AS select f59
-from tb2 order by f59 asc limit 100;
+from tb2 order by f59 asc;
select * FROM v1 limit 0,10;
f59
1
@@ -251,7 +300,7 @@ f59
8
9
CREATE or REPLACE VIEW v1 AS select f59
-from tb2 order by f59 desc limit 100;
+from tb2 order by f59 desc;
select * FROM v1 limit 0,10;
f59
569300
@@ -265,8 +314,8 @@ f59
987
660
CREATE or REPLACE VIEW v1 AS select f59
-from tb2 group by f59 limit 100;
-select * FROM v1 limit 0,10;
+from tb2 group by f59;
+select * FROM v1 order by f59 limit 0,10;
f59
1
2
@@ -279,8 +328,8 @@ f59
9
10
CREATE or REPLACE VIEW v1 AS select f59
-from tb2 group by f59 asc limit 100;
-select * FROM v1 limit 0,10;
+from tb2 group by f59 asc;
+select * FROM v1 order by f59 limit 0,10;
f59
1
2
@@ -293,22 +342,22 @@ f59
9
10
CREATE or REPLACE VIEW v1 AS select f59
-from tb2 group by f59 desc limit 100;
-select * FROM v1 limit 0,10;
+from tb2 group by f59 desc;
+select * FROM v1 order by f59 limit 0,10;
f59
-569300
-76710
-9112
-7876
-3410
-3330
-2760
-2550
-987
-660
+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) limit 100;
-select * FROM v1 limit 0,10;
+union (select f59 from t1);
+select * FROM v1 order by f59 limit 0,10;
f59
1
2
@@ -322,7 +371,7 @@ f59
10
CREATE or REPLACE VIEW v1 AS (select f59 FROM tb2)
UNION DISTINCT(select f59 FROM t1) ;
-select * FROM v1 limit 0,10;
+select * FROM v1 order by f59 limit 0,10;
f59
1
2
@@ -336,103 +385,3101 @@ f59
10
CREATE or REPLACE VIEW v1 AS (select f59 FROM tb2)
UNION ALL(select f59 FROM t1) ;
-select * FROM v1 limit 0,10;
+select * FROM v1 order by f59 limit 0,10;
f59
1
2
3
4
+4
5
6
7
8
9
-10
CREATE or REPLACE VIEW v1 AS select *
FROM test.tb2 WITH LOCAL CHECK OPTION ;
-select * FROM v1 limit 0,50;
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
+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 limit 0,10;
-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
-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
+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 limit 0,10;
+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
-10 10
CREATE or REPLACE VIEW v1 AS select f59, f60
from test.tb2 where f59=3330 ;
-select * FROM v1 limit 0,10;
+select * FROM v1 order by f60 limit 0,10;
f59 f60
3330 764376
DROP VIEW v1 ;
@@ -495,8 +3542,8 @@ 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 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 'or REPLACE AS Select * from tb2 my_table limit 50' at line 1
+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 'WITH CASCADED CHECK OPTION AS Select *
@@ -505,8 +3552,8 @@ 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 'WITH LOCAL CHECK OPTION AS Select *
from tb2 my_table limit 50' at line 1
-SELECT * FROM tb2 my_table CREATE VIEW As v1 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 'CREATE VIEW As v1 limit 100' 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
@@ -581,8 +3628,8 @@ 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 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 'by order f59 limit 100' at line 2
+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
@@ -590,12 +3637,12 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
Testcase 3.3.1.5
--------------------------------------------------------------------------------
DROP VIEW IF EXISTS v1 ;
-CREATE VIEW v1 SELECT * FROM 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 * FROM tb2 limit 100' at line 1
-CREATE v1 AS SELECT * FROM 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 'v1 AS SELECT * FROM tb2 limit 100' at line 1
-VIEW v1 AS SELECT * FROM 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 'VIEW v1 AS SELECT * FROM tb2 limit 100' at line 1
+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;
@@ -613,45 +3660,43 @@ Testcase 3.3.1.6
--------------------------------------------------------------------------------
DROP VIEW IF EXISTS v1 ;
CREATE or REPLACE VIEW v1
-as SELECT * from tb2 limit 100 ;
+as SELECT * from tb2;
CREATE or REPLACE ALGORITHM = UNDEFINED VIEW v1
-as SELECT * from tb2 limit 100 ;
+as SELECT * from tb2;
CREATE or REPLACE ALGORITHM = MERGE VIEW v1
-as SELECT * from tb2 limit 100 ;
-Warnings:
-Warning 1354 View merge algorithm can't be used here for now (assumed undefined algorithm)
+as SELECT * from tb2;
CREATE or REPLACE ALGORITHM = TEMPTABLE VIEW v1
-as SELECT * from tb2 limit 100 ;
+as SELECT * from tb2;
CREATE or REPLACE ALGORITHM = TEMPTABLE VIEW v1
-as SELECT * from tb2 limit 100 ;
+as SELECT * from tb2;
CREATE or REPLACE = TEMPTABLE VIEW v1
-as SELECT * from tb2 limit 100 ;
+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 limit 100' at line 1
+as SELECT * from tb2' at line 1
CREATE or REPLACE ALGORITHM TEMPTABLE VIEW v1
-as SELECT * from tb2 limit 100 ;
+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 limit 100' at line 1
+as SELECT * from tb2' at line 1
CREATE or REPLACE ALGORITHM = VIEW v1
-as SELECT * from tb2 limit 100 ;
+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 limit 100' at line 1
+as SELECT * from tb2' at line 1
CREATE or REPLACE TEMPTABLE = ALGORITHM VIEW v1
-as SELECT * from tb2 limit 100 ;
+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 limit 100' at line 1
+as SELECT * from tb2' at line 1
CREATE or REPLACE TEMPTABLE - ALGORITHM VIEW v1
-as SELECT * from tb2 limit 100 ;
+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 limit 100' at line 1
+as SELECT * from tb2' at line 1
CREATE or REPLACE GARBAGE = TEMPTABLE VIEW v1
-as SELECT * from tb2 limit 100 ;
+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 limit 100' at line 1
+as SELECT * from tb2' at line 1
CREATE or REPLACE ALGORITHM = GARBAGE VIEW v1
-as SELECT * from tb2 limit 100 ;
+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 limit 100' at line 1
+as SELECT * from tb2' at line 1
Drop view if exists v1 ;
CREATE or REPLACE VIEW v1
AS SELECT * from tb2 where f59 < 1;
@@ -677,7 +3722,7 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
Testcase 3.3.1.7
--------------------------------------------------------------------------------
DROP VIEW IF EXISTS v1 ;
-Create view test.v1 AS Select * from test.tb2 limit 100 ;
+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 ;
@@ -863,73 +3908,172 @@ 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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `f1` from `t1` limit 2
+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
-v1 CREATE ALGORITHM=TEMPTABLE DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `f1` from `t1` limit 2
+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 limit 2;
+CREATE OR REPLACE VIEW test.v1 AS SELECT * FROM tb2 order by f59 limit 2;
SHOW CREATE VIEW test.v1;
-View Create View
-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` limit 2
-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
-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
-CREATE OR REPLACE VIEW test.v1 AS SELECT F59 FROM tb2 limit 10,100;
+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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `tb2`.`f59` AS `F59` from `tb2` limit 10,100
-SELECT * FROM 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
-76710
-2760
-569300
-660
-250
-340
-3410
-2550
-3330
-441
-24
-323
-34
-4
+10
15
+17
+19
22
-394
+24
+27
+29
+34
94
-195
-292
-987
-7876
-321
-9112
-500
-500
-500
+107
107
109
+109
+195
207
209
-27
-29
-17
-19
-107
-109
-299
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 ;
@@ -943,11 +4087,59 @@ 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 LIMIT 2;
+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
@@ -965,38 +4157,38 @@ 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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `f1` from `t1`
+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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `f1` from `t1`
+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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `my_column` from `t1`
+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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `column1`,`t1`.`f1` AS `column2` from `t1`
+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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `column1`,`t1`.`f1` AS `column2` from `t1`
+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
@@ -1080,8 +4272,8 @@ 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 LIMIT 2;
-SELECT * FROM test.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
@@ -1090,7 +4282,7 @@ 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 LIMIT 2;
+CREATE VIEW test.v1( product ) AS SELECT f59*f60 From tb2 WHERE f59 < 3;
SELECT * FROM test.v1;
product
1
@@ -1177,20 +4369,68 @@ DROP TEMPORARY TABLE t2;
Testcase 3.3.1.26
--------------------------------------------------------------------------------
DROP VIEW IF EXISTS v1;
-Create view test.v1 AS Select * from test.tb2 limit 2 ;
+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 limit 2 ;
+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 limit 20 ;
+Select * from test.v1_1 order by F59 limit 2;
F59
1
2
@@ -1204,58 +4444,2557 @@ 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 ;
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
+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 ;
@@ -1318,18 +7057,18 @@ 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 limit 0,10;
+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
-8 8
-9 9
Drop view if exists test.v1_firstview ;
Drop view if exists test.v1_secondview ;
Drop view if exists test.v1 ;
@@ -1347,18 +7086,18 @@ 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 limit 0,10;
+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
-8 8
-9 9
Drop view v1 ;
Drop view test.v1_firstview ;
Drop view test.v1_secondview ;
@@ -1373,18 +7112,18 @@ 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 limit 0,10;
+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
-8 8
-9 9
Drop view test.v1 ;
Drop view test.v1_firstview;
@@ -1397,18 +7136,18 @@ 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 limit 0,10;
+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
-8 8
-9 9
Drop database test2 ;
Testcase 3.3.1.37
@@ -1420,18 +7159,18 @@ 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 limit 0,10;
+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
-10 10
Create table t1(f59 int, f60 int);
Insert into t1 values (90,507) ;
Create view v1_1 as Select f59,f60 from t1 ;
@@ -1441,18 +7180,18 @@ f59 f60
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 limit 0,10;
+Select * from v1_main order by f59 limit 0,10;
f59
1
2
3
4
4
+4
+4
5
6
7
-8
-9
Drop table t1;
Drop view test.v1 ;
Drop view test.v1_1 ;
@@ -1737,29 +7476,29 @@ 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 limit 20 ;
-Select * from test.v1 ;
+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
-76710 226546
-2760 985654
-569300 9114376
-660 876546
-250 87895654
-340 9984376
-3410 996546
-2550 775654
-3330 764376
-441 16546
+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 ;
@@ -1792,7 +7531,7 @@ 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 ;
+SELECT * FROM test.v1 order by f59 ;
ERROR 42S02: Table 'test.v1' doesn't exist
Drop view if exists test.v1 ;
@@ -1846,12 +7585,110 @@ 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 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
-122 432 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
+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 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
-3000 432 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
+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;
@@ -1873,20 +7710,218 @@ 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 ;
+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 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
-30 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
-30 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
+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 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
-100 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
-100 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
-SELECT * FROM test.v1 ;
+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 ;
@@ -1962,7 +7997,7 @@ 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 ;
+SELECT * FROM test.v1 order by f59 ;
f59 f60
195 87
drop view if exists test.v1 ;
@@ -1976,7 +8011,7 @@ 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 ;
+SELECT * FROM test.v1 order by f59 ;
f59 f60
987 41
UPDATE test.v2 SET F59 = 9879 where f59 = 919 ;
@@ -9649,8 +15684,8 @@ 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
+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
@@ -9670,116 +15705,5189 @@ 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 limit 5 ;
-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
-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
-100 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
-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
+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 limit 50 ;
-SELECT * FROM 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
-100 0000000004
5 0000000005
6 0000000006
7 0000000007
8 0000000008
9 0000000009
10 0000000010
-76710 NULL
-2760 NULL
-569300 NULL
-660 NULL
-250 NULL
-340 NULL
-3410 NULL
-2550 NULL
-3330 NULL
-441 NULL
-24 NULL
-323 NULL
-34 NULL
-100 NULL
15 NULL
+17 0000000016
+19 0000000014
22 NULL
-394 NULL
+24 NULL
+27 0000000026
+29 0000000024
+34 NULL
94 NULL
-195 NULL
-292 NULL
-987 NULL
-7876 NULL
-321 0000000765
-9112 0000008771
-500 0000000900
-500 0000000900
-500 0000000900
+100 NULL
+100 0000000004
107 0000000106
+107 0000000106
+109 0000000104
109 0000000104
+195 NULL
207 0000000206
209 0000000204
-27 0000000026
-29 0000000024
-17 0000000016
-19 0000000014
-107 0000000106
-109 0000000104
-299 NULL
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 limit 20 ;
-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
-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
-100 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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
+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 limit 20 ;
-SELECT * FROM test.v1 limit 50;
+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
-100 0000000004
5 0000000005
6 0000000006
7 0000000007
8 0000000008
9 0000000009
10 0000000010
-76710 NULL
-2760 NULL
-569300 NULL
-660 NULL
-250 NULL
-340 NULL
-3410 NULL
-2550 NULL
-3330 NULL
-441 NULL
+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
@@ -9798,7 +20906,7 @@ 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 limit 50 ;
+Select * from test.v1 order by f59 limit 50 ;
f59 f60
1 10
2 20
@@ -9836,16 +20944,23 @@ 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<-
+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
@@ -9864,7 +20979,7 @@ 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;
+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
@@ -9877,7 +20992,7 @@ t1_f59 t2_f59 t1_f60 t2_f60 t1_f61 t2_f61
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;
+Select * from v1 order by t1_f59,t2_f59;
t1_f59 t2_f59
1 2
1 3
@@ -9903,7 +21018,7 @@ t1_f59 t2_f59
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;
+Select * from v1 order by t1_f59,t2_f59;
t1_f59 t2_f59
1 2
1 3
@@ -9929,7 +21044,7 @@ t1_f59 t2_f59
Create or replace view test.v1 as
Select f59, f60, f61, a, b
FROM t2 natural join t1;
-Select * from v1;
+Select * from v1 order by f59;
f59 f60 f61 a b
2 double 6 2 2
Select f59, f60, f61, a, b
@@ -9940,11 +21055,11 @@ 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;
+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
-NULL 4 NULL single NULL 4
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;
@@ -9955,7 +21070,7 @@ 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;
+Select * from v1 order by f59;
f59 f60 f61 a b
2 double 6 2 2
3 single-f3 6 NULL 3
@@ -9970,7 +21085,7 @@ 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;
+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
@@ -9985,11 +21100,11 @@ t1_f59 t2_f59 t1_f60 t2_f60 t1_f61 t2_f61
Create or replace view test.v1 as
Select f59, f60, a, b
FROM t2 natural right outer join t1;
-Select * from v1;
+Select * from v1 order by f59 desc;
f59 f60 a b
-1 single 1 NULL
-2 double 2 2
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
@@ -10010,18 +21125,18 @@ 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 limit 0,10;
+Select * from test.v1 order by f59 limit 0,10;
f59
1
2
3
-100
5
6
7
8
9
10
+15
Drop view if exists test.v1 ;
Drop table if exists t1 ;
Drop view if exists v1;
@@ -10031,7 +21146,7 @@ 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 limit 0,10;
+Select * from test.v1 order by f59 limit 0,10;
f59
207
Drop view if exists test.v1 ;
@@ -10043,7 +21158,7 @@ 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 limit 0,10;
+Select * from test.v1 order by f59 limit 0,10;
f59
27
Drop view test.v1 ;
@@ -10058,18 +21173,18 @@ 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 limit 0,10;
+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 limit 0,10;
+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 limit 0,10;
+Select * from test.v1 order by f59 limit 0,10;
f59
17
Drop view test.v1 ;
@@ -10081,7 +21196,7 @@ 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 limit 0,10;
+select * from test.v1 order by f59 limit 0,10;
f59
107
107
@@ -10089,7 +21204,7 @@ 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 limit 0,10;
+select * from test.v1 order by f59 limit 0,10;
f59
107
107
@@ -10098,14 +21213,14 @@ 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 limit 0,10;
+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 limit 0,10;
+select * from test.v1 order by f59 limit 0,10;
f59
107
drop view if exists test.v1 ;
@@ -10116,15 +21231,64 @@ 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 limit 0,10;
+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 limit 0,10;
-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
-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
+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
@@ -10202,7 +21366,8 @@ 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 Error Table 'test.v1' doesn't exist
+test.v1 check error Corrupt
DESCRIBE v1;
ERROR 42S02: Table 'test.v1' doesn't exist
EXPLAIN SELECT * FROM v1;
@@ -10249,8 +21414,8 @@ 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
-v32 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `test3`.`v32` AS select `v31`.`f1` AS `f1` from `test3`.`v31`
+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
@@ -10259,8 +21424,8 @@ 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
-v32 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `test3`.`v32` AS select `v31`.`f1` AS `f1` from `test3`.`v31`
+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;
@@ -10268,15 +21433,13 @@ ERROR HY000: View 'test3.v32' references invalid table(s) or column(s) or functi
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 30 - hangs for higher values
+FIXME - Setting join_limit to 28 - hangs for higher values
----------------------------------------------------------
-SET @join_limit = 30;
+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.v29;
-DROP VIEW IF EXISTS test1.v28;
DROP VIEW IF EXISTS test1.v27;
DROP VIEW IF EXISTS test1.v26;
DROP VIEW IF EXISTS test1.v25;
@@ -10383,15 +21546,11 @@ 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;
-CREATE OR REPLACE VIEW test1.v28 AS SELECT f1, f2
-FROM test2.t1 tab1 NATURAL JOIN test1.v27 tab2;
-CREATE OR REPLACE VIEW test1.v29 AS SELECT f1, f2
-FROM test3.t1 tab1 NATURAL JOIN test1.v28 tab2;
-SHOW CREATE VIEW test1.v29;
-View Create View
-v29 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `test1`.`v29` AS select `tab1`.`f1` AS `f1`,`tab1`.`f2` AS `f2` from (`test3`.`t1` `tab1` join `test1`.`v28` `tab2` on(((`tab1`.`f1` = `tab2`.`f1`) and (`tab1`.`f2` = `tab2`.`f2`))))
+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.v29;
+CAST(f2 AS CHAR) AS f2 FROM test1.v27;
f1 f2
5 five
@@ -10400,14 +21559,14 @@ 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.v29;
-CREATE VIEW test1.v30 AS SELECT f1, f2
-FROM test3.t1 tab1 NATURAL JOIN test1.v29 tab2;
-SHOW CREATE VIEW test1.v30;
-View Create View
-v30 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `test1`.`v30` AS select `tab1`.`f1` AS `f1`,`tab1`.`f2` AS `f2` from (`test3`.`t1` `tab1` join `test1`.`v29` `tab2` on(((`tab1`.`f1` = `tab2`.`f1`) and (`tab1`.`f2` = `tab2`.`f2`))))
+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.v30;
+CAST(f2 AS CHAR) AS f2 FROM test1.v28;
ERROR HY000: Got temporary error 4006 'Connect failure - out of connection objects (increase MaxNoOfConcurrentTransactions)' from NDBCLUSTER
The output of following EXPLAIN is deactivated, because the result
@@ -10415,33 +21574,31 @@ 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.v30;
-DROP VIEW IF EXISTS test1.v30;
-CREATE OR REPLACE VIEW test1.v0 AS
+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
+CREATE OR REPLACE VIEW test2.v0 AS
SELECT CAST('0001-01-01' AS DATE) as f1, f2 FROM test3.t1;
-SHOW CREATE VIEW test1.v29;
+SHOW CREATE VIEW test1.v27;
SELECT CAST(f1 AS SIGNED INTEGER) AS f1,
-CAST(f2 AS CHAR) AS f2 FROM test1.v29;
+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.v29;
+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.v29;
+SHOW CREATE VIEW test1.v27;
SELECT CAST(f1 AS SIGNED INTEGER) AS f1,
-CAST(f2 AS CHAR) AS f2 FROM test1.v29;
+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.v29;
+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.v29;
+SHOW CREATE VIEW test1.v27;
SELECT CAST(f1 AS SIGNED INTEGER) AS f1,
-CAST(f2 AS CHAR) AS f2 FROM test1.v29;
+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.v29;
-DROP VIEW IF EXISTS test1.v29;
-DROP VIEW IF EXISTS test1.v28;
+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;
@@ -10493,8 +21650,57 @@ 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 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
-2005 101 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
+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
@@ -10510,9 +21716,58 @@ 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 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
-8 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
-SELECT f59,f60 FROM test.v1 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 ;
@@ -10526,12 +21781,211 @@ 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 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
-891 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
-891 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
-891 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
-891 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
-SELECT f59,f60 FROM test.v1 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
@@ -10548,7 +22002,7 @@ 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;
+SELECT f59,f60 FROM test.v1 where f59 = 789 order by f60 ;
f59 f60
Drop view test.v1 ;
@@ -10561,7 +22015,7 @@ 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;
+SELECT f59,f60 FROM test.v1 where f59 = 711 order by f60 ;
f59 f60
Drop view test.v1 ;
@@ -10879,17 +22333,13 @@ 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';
-
-Some server responses suffer from
-Bug#10773 Incorrect message is displayed while updating a view
---------------------------------------------------------------------------------
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;
-Got one of the listed errors
+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;
@@ -10897,7 +22347,7 @@ 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;
-Got one of the listed errors
+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;
@@ -10905,7 +22355,7 @@ 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;
-Got one of the listed errors
+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;
@@ -10913,7 +22363,7 @@ 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;
-Got one of the listed errors
+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;
@@ -10921,7 +22371,7 @@ 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;
-Got one of the listed errors
+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;
@@ -10929,7 +22379,7 @@ 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;
-Got one of the listed errors
+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;
@@ -10937,7 +22387,7 @@ 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;
-Got one of the listed errors
+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;
@@ -10945,7 +22395,7 @@ 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;
-Got one of the listed errors
+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;
@@ -10953,7 +22403,7 @@ 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;
-Got one of the listed errors
+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;
@@ -11122,9 +22572,9 @@ f1 f2 f4 report
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 ----------->',
+INSERT INTO t1 SET f1 = '<------------- 30 ----------->',
f4 = '<------ 20 -------->', report = 't1 5';
-INSERT INTO v1 SET f1 = '<------------- 30 ----------->',
+INSERT INTO v1 SET f1 = '<------------- 30 ----------->',
f4 = '<------ 20 -------->', report = 'v1 5';
DESCRIBE t1;
Field Type Null Key Default Extra
@@ -11414,21 +22864,24 @@ ABC 0
ABC 1.7320508075689
CREATE TABLE t2 AS SELECT f1, SQRT(f2) my_sqrt FROM t1;
SELECT * FROM t2 order by 2;
-f1 my_sqrt
-ABC 0
-ABC 1.73205080756888
+f1 ABC
+my_sqrt 0
+f1 ABC
+my_sqrt 1.73205080756888
DROP TABLE t2;
CREATE TABLE t2 AS SELECT * FROM v1;
SELECT * FROM t2 order by 2;
-f1 my_sqrt
-ABC 0
-ABC 1.73205080756888
+f1 ABC
+my_sqrt 0
+f1 ABC
+my_sqrt 1.73205080756888
DROP TABLE t2;
CREATE TABLE t2 AS SELECT * FROM v2;
SELECT * FROM t2 order by 2;
-f1 my_sqrt
-ABC 0
-ABC 1.73205080756888
+f1 ABC
+my_sqrt 0
+f1 ABC
+my_sqrt 1.73205080756888
DROP TABLE t1;
DROP TABLE t2;
DROP VIEW v1;
@@ -11443,4 +22896,5 @@ DROP VIEW IF EXISTS v1_secondview;
DROP VIEW IF EXISTS v2;
DROP DATABASE IF EXISTS test2;
DROP DATABASE IF EXISTS test3;
-DROP DATABASE IF EXISTS test1;
+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
new file mode 100644
index 00000000000..23b4d65d0c9
--- /dev/null
+++ b/mysql-test/suite/funcs_1/r/processlist_priv_no_prot.result
@@ -0,0 +1,475 @@
+USE information_schema;
+####################################################################################
+1 Prepare test.
+connection default (user=root)
+####################################################################################
+####################################################################################
+1.1 Create two user
+####################################################################################
+DROP USER ddicttestuser1@'localhost';
+ERROR HY000: Operation DROP USER failed for 'ddicttestuser1'@'localhost'
+DROP USER ddicttestuser2@'localhost';
+ERROR HY000: Operation DROP USER failed for 'ddicttestuser2'@'localhost'
+CREATE USER ddicttestuser1@'localhost';
+CREATE USER ddicttestuser2@'localhost';
+SET PASSWORD FOR ddicttestuser1@'localhost' = PASSWORD('ddictpass');
+SET PASSWORD FOR ddicttestuser2@'localhost' = PASSWORD('ddictpass');
+####################################################################################
+1.2 Establish connection con100 (user=ddicttestuser1 with no PROCESS privilege):
+####################################################################################
+####################################################################################
+2 connection default(user=root with default privileges):
+SHOW/SELECT shows all processes/threads.
+####################################################################################
+SHOW CREATE TABLE processlist;
+Table Create Table
+PROCESSLIST CREATE TEMPORARY TABLE `PROCESSLIST` (
+ `ID` bigint(4) NOT NULL DEFAULT '0',
+ `USER` varchar(16) NOT NULL DEFAULT '',
+ `HOST` varchar(64) NOT NULL DEFAULT '',
+ `DB` varchar(64) DEFAULT NULL,
+ `COMMAND` varchar(16) NOT NULL DEFAULT '',
+ `TIME` bigint(7) NOT NULL DEFAULT '0',
+ `STATE` varchar(64) DEFAULT NULL,
+ `INFO` longtext
+) ENGINE=MyISAM DEFAULT CHARSET=utf8
+SHOW processlist;
+Id User Host db Command Time State Info
+ID root localhost information_schema Query TIME NULL SHOW processlist
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+SELECT * FROM processlist ORDER BY id;
+ID USER HOST DB COMMAND TIME STATE INFO
+ID root localhost information_schema Query TIME executing SELECT * FROM processlist ORDER BY id
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO FROM processlist ORDER BY id;
+ID USER HOST DB COMMAND TIME STATE INFO
+ID root localhost information_schema Query TIME executing SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO FROM processlist ORDER BY id
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+CREATE TEMPORARY TABLE test.t_processlist AS SELECT * FROM processlist;
+UPDATE test.t_processlist SET user='horst' WHERE id=1 ;
+INSERT INTO processlist SELECT * FROM test.t_processlist;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DROP TABLE test.t_processlist;
+CREATE VIEW test.v_processlist (ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO) AS SELECT * FROM processlist WITH CHECK OPTION;
+ERROR HY000: CHECK OPTION on non-updatable view 'test.v_processlist'
+CREATE VIEW test.v_processlist (ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO) AS SELECT * FROM processlist;
+UPDATE test.v_processlist SET TIME=NOW() WHERE id = 1;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DROP VIEW test.v_processlist;
+UPDATE processlist SET user='any_user' WHERE id=1 ;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DELETE FROM processlist WHERE id=1 ;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+REVOKE ALL ON processlist FROM current_user;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+GRANT INSERT,UPDATE ON processlist TO current_user;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+SHOW GRANTS;
+Grants for root@localhost
+GRANT ALL PRIVILEGES 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;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE processlist DROP COLUMN user;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE processlist ADD COLUMN (my_column INT);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+RENAME TABLE processlist TO new_processlist;
+ERROR 42S02: Unknown table 'new_processlist' in information_schema
+RENAME TABLE processlist TO files;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+CREATE TABLE new_processlist AS SELECT * FROM processlist;
+ERROR 42S02: Unknown table 'new_processlist' in information_schema
+DROP DATABASE information_schema;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+RENAME DATABASE information_schema TO info_schema;
+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 'DATABASE information_schema TO info_schema' at line 1
+ALTER DATABASE information_schema UPGRADE DATA DIRECTORY NAME;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+####################################################################################
+3 Switch to connection con100 (user=ddicttestuser1 with no PROCESS privilege):
+SHOW/SELECT shows only the processes (1) of the user.
+####################################################################################
+SHOW CREATE TABLE processlist;
+Table Create Table
+PROCESSLIST CREATE TEMPORARY TABLE `PROCESSLIST` (
+ `ID` bigint(4) NOT NULL DEFAULT '0',
+ `USER` varchar(16) NOT NULL DEFAULT '',
+ `HOST` varchar(64) NOT NULL DEFAULT '',
+ `DB` varchar(64) DEFAULT NULL,
+ `COMMAND` varchar(16) NOT NULL DEFAULT '',
+ `TIME` bigint(7) NOT NULL DEFAULT '0',
+ `STATE` varchar(64) DEFAULT NULL,
+ `INFO` longtext
+) ENGINE=MyISAM DEFAULT CHARSET=utf8
+SHOW processlist;
+Id User Host db Command Time State Info
+ID ddicttestuser1 localhost information_schema Query TIME NULL SHOW processlist
+SELECT * FROM processlist ORDER BY id;
+ID USER HOST DB COMMAND TIME STATE INFO
+ID ddicttestuser1 localhost information_schema Query TIME executing SELECT * FROM processlist ORDER BY id
+SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO FROM processlist ORDER BY id;
+ID USER HOST DB COMMAND TIME STATE INFO
+ID ddicttestuser1 localhost information_schema Query TIME executing SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO FROM processlist ORDER BY id
+CREATE TEMPORARY TABLE test.t_processlist AS SELECT * FROM processlist;
+UPDATE test.t_processlist SET user='horst' WHERE id=1 ;
+INSERT INTO processlist SELECT * FROM test.t_processlist;
+ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema'
+DROP TABLE test.t_processlist;
+CREATE VIEW test.v_processlist (ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO) AS SELECT * FROM processlist WITH CHECK OPTION;
+ERROR HY000: CHECK OPTION on non-updatable view 'test.v_processlist'
+CREATE VIEW test.v_processlist (ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO) AS SELECT * FROM processlist;
+UPDATE test.v_processlist SET TIME=NOW() WHERE id = 1;
+ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema'
+DROP VIEW test.v_processlist;
+UPDATE processlist SET user='any_user' WHERE id=1 ;
+ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema'
+DELETE FROM processlist WHERE id=1 ;
+ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema'
+REVOKE ALL ON processlist FROM current_user;
+ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema'
+GRANT INSERT,UPDATE ON processlist TO current_user;
+ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema'
+SHOW GRANTS;
+Grants for ddicttestuser1@localhost
+GRANT USAGE ON *.* TO 'ddicttestuser1'@'localhost' IDENTIFIED BY PASSWORD '*22DA61451703738F203CDB9DB041ACBA1F4760B1'
+CREATE INDEX i_processlist ON processlist (user);
+ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema'
+DROP TABLE processlist;
+ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema'
+ALTER TABLE processlist DROP COLUMN user;
+ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema'
+ALTER TABLE processlist ADD COLUMN (my_column INT);
+ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema'
+RENAME TABLE processlist TO new_processlist;
+ERROR 42S02: Unknown table 'new_processlist' in information_schema
+RENAME TABLE processlist TO files;
+ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema'
+CREATE TABLE new_processlist AS SELECT * FROM processlist;
+ERROR 42S02: Unknown table 'new_processlist' in information_schema
+DROP DATABASE information_schema;
+ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema'
+RENAME DATABASE information_schema TO info_schema;
+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 'DATABASE information_schema TO info_schema' at line 1
+ALTER DATABASE information_schema UPGRADE DATA DIRECTORY NAME;
+ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema'
+####################################################################################
+4 Grant PROCESS privilege to ddicttestuser1
+connection default (user=root)
+####################################################################################
+GRANT PROCESS ON *.* TO ddicttestuser1@'localhost' IDENTIFIED BY 'ddictpass';
+####################################################################################
+4.1 Existing connection con100 (ddicttestuser1)
+The user ddicttestuser1 has the PROCESS privilege, but the connection was
+established before PROCESS was granted.
+SHOW/SELECT shows only the processes (1) of the user.
+####################################################################################
+SHOW GRANTS;
+Grants for ddicttestuser1@localhost
+GRANT PROCESS ON *.* TO 'ddicttestuser1'@'localhost' IDENTIFIED BY PASSWORD '*22DA61451703738F203CDB9DB041ACBA1F4760B1'
+SHOW processlist;
+Id User Host db Command Time State Info
+ID ddicttestuser1 localhost information_schema Query TIME NULL SHOW processlist
+SELECT * FROM information_schema.processlist;
+ID USER HOST DB COMMAND TIME STATE INFO
+ID ddicttestuser1 localhost information_schema Query TIME executing SELECT * FROM information_schema.processlist
+####################################################################################
+4.2 New connection con101 (ddicttestuser1 with PROCESS privilege)
+SHOW/SELECT shows all processes/threads.
+####################################################################################
+SHOW GRANTS;
+Grants for ddicttestuser1@localhost
+GRANT PROCESS ON *.* TO 'ddicttestuser1'@'localhost' IDENTIFIED BY PASSWORD '*22DA61451703738F203CDB9DB041ACBA1F4760B1'
+SHOW processlist;
+Id User Host db Command Time State Info
+ID root localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Query TIME NULL SHOW processlist
+SELECT * FROM information_schema.processlist;
+ID USER HOST DB COMMAND TIME STATE INFO
+ID ddicttestuser1 localhost information_schema Query TIME executing SELECT * FROM information_schema.processlist
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID root localhost information_schema Sleep TIME NULL
+####################################################################################
+5 Grant PROCESS privilege to anonymous user.
+connection default (user=root)
+####################################################################################
+GRANT PROCESS ON *.* TO ''@'localhost';
+####################################################################################
+5.1 Establish connection (anonymous1,localhost,'',,information_schema)
+anonymous user with PROCESS privilege
+SHOW/SELECT shows all processes/threads.
+####################################################################################
+SHOW GRANTS;
+Grants for @localhost
+GRANT PROCESS ON *.* TO ''@'localhost'
+SHOW processlist;
+Id User Host db Command Time State Info
+ID root localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID localhost information_schema Query TIME NULL SHOW processlist
+SELECT * FROM information_schema.processlist;
+ID USER HOST DB COMMAND TIME STATE INFO
+ID localhost information_schema Query TIME executing SELECT * FROM information_schema.processlist
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID root localhost information_schema Sleep TIME NULL
+####################################################################################
+6 Revoke PROCESS privilege from ddicttestuser1
+connection default (user=root)
+####################################################################################
+REVOKE PROCESS ON *.* FROM ddicttestuser1@'localhost' IDENTIFIED BY 'ddictpass';
+####################################################################################
+6.1 New connection con102 (ddicttestuser1 has no more PROCESS privilege)
+Again (compared to state before GRANT PROCESS) only the processes of
+ddicttestuser1 are visible.
+####################################################################################
+SHOW GRANTS;
+Grants for ddicttestuser1@localhost
+GRANT USAGE ON *.* TO 'ddicttestuser1'@'localhost' IDENTIFIED BY PASSWORD '*22DA61451703738F203CDB9DB041ACBA1F4760B1'
+SHOW processlist;
+Id User Host db Command Time State Info
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Query TIME NULL SHOW processlist
+SELECT * FROM information_schema.processlist;
+ID USER HOST DB COMMAND TIME STATE INFO
+ID ddicttestuser1 localhost information_schema Query TIME executing SELECT * FROM information_schema.processlist
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+####################################################################################
+7 Revoke PROCESS privilege from anonymous user + disconnect ddicttestuser1
+connection default (user=root)
+####################################################################################
+REVOKE PROCESS ON *.* FROM ''@'localhost';
+####################################################################################
+7.1 New connection (anonymous2,localhost,'',,information_schema)
+The anonymous user has no more the PROCESS privilege
+Again only the processes of the anonymous user are visible.
+####################################################################################
+SHOW GRANTS FOR ''@'localhost';
+Grants for @localhost
+GRANT USAGE ON *.* TO ''@'localhost'
+SELECT * FROM information_schema.processlist;
+ID USER HOST DB COMMAND TIME STATE INFO
+ID localhost information_schema Query TIME executing SELECT * FROM information_schema.processlist
+ID localhost information_schema Sleep TIME NULL
+####################################################################################
+8 Grant SUPER (does not imply PROCESS) privilege to ddicttestuser1
+connection default (user=root)
+####################################################################################
+GRANT SUPER ON *.* TO 'ddicttestuser1'@'localhost';
+####################################################################################
+8.1 New connection con103 (ddicttestuser1 with SUPER privilege)
+Only the processes of ddicttestuser1 user are visible.
+####################################################################################
+SHOW GRANTS FOR 'ddicttestuser1'@'localhost';
+Grants for ddicttestuser1@localhost
+GRANT SUPER ON *.* TO 'ddicttestuser1'@'localhost' IDENTIFIED BY PASSWORD '*22DA61451703738F203CDB9DB041ACBA1F4760B1'
+SHOW processlist;
+Id User Host db Command Time State Info
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Query TIME NULL SHOW processlist
+SELECT * FROM information_schema.processlist;
+ID USER HOST DB COMMAND TIME STATE INFO
+ID ddicttestuser1 localhost information_schema Query TIME executing SELECT * FROM information_schema.processlist
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+####################################################################################
+9 Revoke SUPER privilege from user ddicttestuser1
+connection default (user=root)
+####################################################################################
+REVOKE SUPER ON *.* FROM 'ddicttestuser1'@'localhost';
+####################################################################################
+9.1 New connection con104 (ddicttestuser1 without SUPER privilege)
+ddicttestuser1 has no more the SUPER privilege.
+Only the processes of ddicttestuser1 are visible.
+####################################################################################
+SHOW GRANTS FOR 'ddicttestuser1'@'localhost';
+Grants for ddicttestuser1@localhost
+GRANT USAGE ON *.* TO 'ddicttestuser1'@'localhost' IDENTIFIED BY PASSWORD '*22DA61451703738F203CDB9DB041ACBA1F4760B1'
+SHOW processlist;
+Id User Host db Command Time State Info
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Query TIME NULL SHOW processlist
+SELECT * FROM information_schema.processlist;
+ID USER HOST DB COMMAND TIME STATE INFO
+ID ddicttestuser1 localhost information_schema Query TIME executing SELECT * FROM information_schema.processlist
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+####################################################################################
+10 Grant SUPER privilege with grant option to user ddicttestuser1.
+connection default (user=root)
+####################################################################################
+GRANT SUPER ON *.* TO 'ddicttestuser1'@'localhost' WITH GRANT OPTION;
+####################################################################################
+10.1 New connection con105 (ddicttestuser1 with SUPER privilege and GRANT OPTION)
+Try to grant PROCESS privilege to user ddicttestuser2 without having it.
+####################################################################################
+SHOW GRANTS FOR 'ddicttestuser1'@'localhost';
+Grants for ddicttestuser1@localhost
+GRANT SUPER ON *.* TO 'ddicttestuser1'@'localhost' IDENTIFIED BY PASSWORD '*22DA61451703738F203CDB9DB041ACBA1F4760B1' WITH GRANT OPTION
+GRANT PROCESS ON *.* TO 'ddicttestuser2'@'localhost';
+ERROR 28000: Access denied for user 'ddicttestuser1'@'localhost' (using password: YES)
+####################################################################################
+10.2 Grant SUPER and PROCESS privilege with grant option to user ddicttestuser1
+connection default (user=root)
+####################################################################################
+GRANT SUPER,PROCESS ON *.* TO 'ddicttestuser1'@'localhost' WITH GRANT OPTION;
+####################################################################################
+10.3 New connection con106 (ddicttestuser1 with SUPER,PROCESS WITH GRANT OPTION)
+Grant PROCESS privilege to user ddicttestuser2
+####################################################################################
+SHOW GRANTS FOR 'ddicttestuser1'@'localhost';
+Grants for ddicttestuser1@localhost
+GRANT PROCESS, SUPER ON *.* TO 'ddicttestuser1'@'localhost' IDENTIFIED BY PASSWORD '*22DA61451703738F203CDB9DB041ACBA1F4760B1' WITH GRANT OPTION
+GRANT PROCESS ON *.* TO 'ddicttestuser2'@'localhost';
+####################################################################################
+10.4 New connection con200 (ddicttestuser2 with PROCESS privilege)
+ddicttestuser2 has now the PROCESS privilege and sees all connections
+####################################################################################
+SHOW GRANTS FOR 'ddicttestuser2'@'localhost';
+Grants for ddicttestuser2@localhost
+GRANT PROCESS ON *.* TO 'ddicttestuser2'@'localhost' IDENTIFIED BY PASSWORD '*22DA61451703738F203CDB9DB041ACBA1F4760B1'
+SHOW processlist;
+Id User Host db Command Time State Info
+ID root localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser2 localhost information_schema Query TIME NULL SHOW processlist
+SELECT * FROM information_schema.processlist;
+ID USER HOST DB COMMAND TIME STATE INFO
+ID ddicttestuser2 localhost information_schema Query TIME executing SELECT * FROM information_schema.processlist
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID root localhost information_schema Sleep TIME NULL
+####################################################################################
+11 User ddicttestuser1 revokes PROCESS privilege from user ddicttestuser2
+connection ddicttestuser1;
+####################################################################################
+REVOKE PROCESS ON *.* FROM 'ddicttestuser2'@'localhost';
+####################################################################################
+11.1 New connection con201 (ddicttestuser2)
+ddicttestuser2 has no more the PROCESS privilege and can only see own connects
+####################################################################################
+SHOW GRANTS;
+Grants for ddicttestuser2@localhost
+GRANT USAGE ON *.* TO 'ddicttestuser2'@'localhost' IDENTIFIED BY PASSWORD '*22DA61451703738F203CDB9DB041ACBA1F4760B1'
+SHOW processlist;
+Id User Host db Command Time State Info
+ID ddicttestuser2 localhost information_schema Sleep TIME NULL
+ID ddicttestuser2 localhost information_schema Query TIME NULL SHOW processlist
+SELECT * FROM information_schema.processlist;
+ID USER HOST DB COMMAND TIME STATE INFO
+ID ddicttestuser2 localhost information_schema Query TIME executing SELECT * FROM information_schema.processlist
+ID ddicttestuser2 localhost information_schema Sleep TIME NULL
+####################################################################################
+11.2 Revoke SUPER,PROCESS,GRANT OPTION privilege from user ddicttestuser1
+connection default (user=root)
+####################################################################################
+REVOKE SUPER,PROCESS,GRANT OPTION ON *.* FROM 'ddicttestuser1'@'localhost';
+####################################################################################
+11.3 New connection con107 (ddicttestuser1)
+ddicttestuser1 has no more the PROCESS privilege and can only see own connects
+He is also unable to GRANT the PROCESS privilege to ddicttestuser2
+####################################################################################
+SHOW GRANTS FOR 'ddicttestuser1'@'localhost';
+Grants for ddicttestuser1@localhost
+GRANT USAGE ON *.* TO 'ddicttestuser1'@'localhost' IDENTIFIED BY PASSWORD '*22DA61451703738F203CDB9DB041ACBA1F4760B1'
+GRANT PROCESS ON *.* TO 'ddicttestuser2'@'localhost';
+ERROR 28000: Access denied for user 'ddicttestuser1'@'localhost' (using password: YES)
+SHOW processlist;
+Id User Host db Command Time State Info
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Query TIME NULL SHOW processlist
+SELECT * FROM information_schema.processlist;
+ID USER HOST DB COMMAND TIME STATE INFO
+ID ddicttestuser1 localhost information_schema Query TIME executing SELECT * FROM information_schema.processlist
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+####################################################################################
+12 Revoke the SELECT privilege from user ddicttestuser1
+connection default (user=root)
+####################################################################################
+REVOKE SELECT ON *.* FROM 'ddicttestuser1'@'localhost';
+####################################################################################
+12.1 New connection con108 (ddicttestuser1)
+ddicttestuser1 has neither PROCESS nor SELECT privilege
+Manual says: Each MySQL user has the right to access these tables, but can see
+only the rows ...
+Therefore the missing SELECT privilege does not affect SELECTs on PROCESSLIST.
+####################################################################################
+SHOW GRANTS FOR 'ddicttestuser1'@'localhost';
+Grants for ddicttestuser1@localhost
+GRANT USAGE ON *.* TO 'ddicttestuser1'@'localhost' IDENTIFIED BY PASSWORD '*22DA61451703738F203CDB9DB041ACBA1F4760B1'
+SHOW processlist;
+Id User Host db Command Time State Info
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Query TIME NULL SHOW processlist
+SELECT * FROM information_schema.processlist;
+ID USER HOST DB COMMAND TIME STATE INFO
+ID ddicttestuser1 localhost information_schema Query TIME executing SELECT * FROM information_schema.processlist
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+####################################################################################
+12.2 Revoke only the SELECT privilege on the information_schema from ddicttestuser1.
+connection default (user=root)
+####################################################################################
+REVOKE SELECT ON information_schema.* FROM 'ddicttestuser3'@'localhost';
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+####################################################################################
+connection default (user=root)
+Cleanup: close connections, DROP USER etc.
+####################################################################################
+DROP USER ddicttestuser1@'localhost';
+DROP USER ddicttestuser2@'localhost';
+REVOKE USAGE ON *.* FROM ''@'localhost';
+DROP USER ''@'localhost';
diff --git a/mysql-test/suite/funcs_1/r/processlist_priv_ps.result b/mysql-test/suite/funcs_1/r/processlist_priv_ps.result
new file mode 100644
index 00000000000..51bfeaa5db4
--- /dev/null
+++ b/mysql-test/suite/funcs_1/r/processlist_priv_ps.result
@@ -0,0 +1,475 @@
+USE information_schema;
+####################################################################################
+1 Prepare test.
+connection default (user=root)
+####################################################################################
+####################################################################################
+1.1 Create two user
+####################################################################################
+DROP USER ddicttestuser1@'localhost';
+ERROR HY000: Operation DROP USER failed for 'ddicttestuser1'@'localhost'
+DROP USER ddicttestuser2@'localhost';
+ERROR HY000: Operation DROP USER failed for 'ddicttestuser2'@'localhost'
+CREATE USER ddicttestuser1@'localhost';
+CREATE USER ddicttestuser2@'localhost';
+SET PASSWORD FOR ddicttestuser1@'localhost' = PASSWORD('ddictpass');
+SET PASSWORD FOR ddicttestuser2@'localhost' = PASSWORD('ddictpass');
+####################################################################################
+1.2 Establish connection con100 (user=ddicttestuser1 with no PROCESS privilege):
+####################################################################################
+####################################################################################
+2 connection default(user=root with default privileges):
+SHOW/SELECT shows all processes/threads.
+####################################################################################
+SHOW CREATE TABLE processlist;
+Table Create Table
+PROCESSLIST CREATE TEMPORARY TABLE `PROCESSLIST` (
+ `ID` bigint(4) NOT NULL DEFAULT '0',
+ `USER` varchar(16) NOT NULL DEFAULT '',
+ `HOST` varchar(64) NOT NULL DEFAULT '',
+ `DB` varchar(64) DEFAULT NULL,
+ `COMMAND` varchar(16) NOT NULL DEFAULT '',
+ `TIME` bigint(7) NOT NULL DEFAULT '0',
+ `STATE` varchar(64) DEFAULT NULL,
+ `INFO` longtext
+) ENGINE=MyISAM DEFAULT CHARSET=utf8
+SHOW processlist;
+Id User Host db Command Time State Info
+ID root localhost information_schema Query TIME NULL SHOW processlist
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+SELECT * FROM processlist ORDER BY id;
+ID USER HOST DB COMMAND TIME STATE INFO
+ID root localhost information_schema Execute TIME executing SELECT * FROM processlist ORDER BY id
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO FROM processlist ORDER BY id;
+ID USER HOST DB COMMAND TIME STATE INFO
+ID root localhost information_schema Execute TIME executing SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO FROM processlist ORDER BY id
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+CREATE TEMPORARY TABLE test.t_processlist AS SELECT * FROM processlist;
+UPDATE test.t_processlist SET user='horst' WHERE id=1 ;
+INSERT INTO processlist SELECT * FROM test.t_processlist;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DROP TABLE test.t_processlist;
+CREATE VIEW test.v_processlist (ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO) AS SELECT * FROM processlist WITH CHECK OPTION;
+ERROR HY000: CHECK OPTION on non-updatable view 'test.v_processlist'
+CREATE VIEW test.v_processlist (ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO) AS SELECT * FROM processlist;
+UPDATE test.v_processlist SET TIME=NOW() WHERE id = 1;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DROP VIEW test.v_processlist;
+UPDATE processlist SET user='any_user' WHERE id=1 ;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+DELETE FROM processlist WHERE id=1 ;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+REVOKE ALL ON processlist FROM current_user;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+GRANT INSERT,UPDATE ON processlist TO current_user;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+SHOW GRANTS;
+Grants for root@localhost
+GRANT ALL PRIVILEGES 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;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE processlist DROP COLUMN user;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+ALTER TABLE processlist ADD COLUMN (my_column INT);
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+RENAME TABLE processlist TO new_processlist;
+ERROR 42S02: Unknown table 'new_processlist' in information_schema
+RENAME TABLE processlist TO files;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+CREATE TABLE new_processlist AS SELECT * FROM processlist;
+ERROR 42S02: Unknown table 'new_processlist' in information_schema
+DROP DATABASE information_schema;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+RENAME DATABASE information_schema TO info_schema;
+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 'DATABASE information_schema TO info_schema' at line 1
+ALTER DATABASE information_schema UPGRADE DATA DIRECTORY NAME;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+####################################################################################
+3 Switch to connection con100 (user=ddicttestuser1 with no PROCESS privilege):
+SHOW/SELECT shows only the processes (1) of the user.
+####################################################################################
+SHOW CREATE TABLE processlist;
+Table Create Table
+PROCESSLIST CREATE TEMPORARY TABLE `PROCESSLIST` (
+ `ID` bigint(4) NOT NULL DEFAULT '0',
+ `USER` varchar(16) NOT NULL DEFAULT '',
+ `HOST` varchar(64) NOT NULL DEFAULT '',
+ `DB` varchar(64) DEFAULT NULL,
+ `COMMAND` varchar(16) NOT NULL DEFAULT '',
+ `TIME` bigint(7) NOT NULL DEFAULT '0',
+ `STATE` varchar(64) DEFAULT NULL,
+ `INFO` longtext
+) ENGINE=MyISAM DEFAULT CHARSET=utf8
+SHOW processlist;
+Id User Host db Command Time State Info
+ID ddicttestuser1 localhost information_schema Query TIME NULL SHOW processlist
+SELECT * FROM processlist ORDER BY id;
+ID USER HOST DB COMMAND TIME STATE INFO
+ID ddicttestuser1 localhost information_schema Execute TIME executing SELECT * FROM processlist ORDER BY id
+SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO FROM processlist ORDER BY id;
+ID USER HOST DB COMMAND TIME STATE INFO
+ID ddicttestuser1 localhost information_schema Execute TIME executing SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO FROM processlist ORDER BY id
+CREATE TEMPORARY TABLE test.t_processlist AS SELECT * FROM processlist;
+UPDATE test.t_processlist SET user='horst' WHERE id=1 ;
+INSERT INTO processlist SELECT * FROM test.t_processlist;
+ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema'
+DROP TABLE test.t_processlist;
+CREATE VIEW test.v_processlist (ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO) AS SELECT * FROM processlist WITH CHECK OPTION;
+ERROR HY000: CHECK OPTION on non-updatable view 'test.v_processlist'
+CREATE VIEW test.v_processlist (ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO) AS SELECT * FROM processlist;
+UPDATE test.v_processlist SET TIME=NOW() WHERE id = 1;
+ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema'
+DROP VIEW test.v_processlist;
+UPDATE processlist SET user='any_user' WHERE id=1 ;
+ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema'
+DELETE FROM processlist WHERE id=1 ;
+ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema'
+REVOKE ALL ON processlist FROM current_user;
+ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema'
+GRANT INSERT,UPDATE ON processlist TO current_user;
+ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema'
+SHOW GRANTS;
+Grants for ddicttestuser1@localhost
+GRANT USAGE ON *.* TO 'ddicttestuser1'@'localhost' IDENTIFIED BY PASSWORD '*22DA61451703738F203CDB9DB041ACBA1F4760B1'
+CREATE INDEX i_processlist ON processlist (user);
+ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema'
+DROP TABLE processlist;
+ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema'
+ALTER TABLE processlist DROP COLUMN user;
+ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema'
+ALTER TABLE processlist ADD COLUMN (my_column INT);
+ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema'
+RENAME TABLE processlist TO new_processlist;
+ERROR 42S02: Unknown table 'new_processlist' in information_schema
+RENAME TABLE processlist TO files;
+ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema'
+CREATE TABLE new_processlist AS SELECT * FROM processlist;
+ERROR 42S02: Unknown table 'new_processlist' in information_schema
+DROP DATABASE information_schema;
+ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema'
+RENAME DATABASE information_schema TO info_schema;
+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 'DATABASE information_schema TO info_schema' at line 1
+ALTER DATABASE information_schema UPGRADE DATA DIRECTORY NAME;
+ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema'
+####################################################################################
+4 Grant PROCESS privilege to ddicttestuser1
+connection default (user=root)
+####################################################################################
+GRANT PROCESS ON *.* TO ddicttestuser1@'localhost' IDENTIFIED BY 'ddictpass';
+####################################################################################
+4.1 Existing connection con100 (ddicttestuser1)
+The user ddicttestuser1 has the PROCESS privilege, but the connection was
+established before PROCESS was granted.
+SHOW/SELECT shows only the processes (1) of the user.
+####################################################################################
+SHOW GRANTS;
+Grants for ddicttestuser1@localhost
+GRANT PROCESS ON *.* TO 'ddicttestuser1'@'localhost' IDENTIFIED BY PASSWORD '*22DA61451703738F203CDB9DB041ACBA1F4760B1'
+SHOW processlist;
+Id User Host db Command Time State Info
+ID ddicttestuser1 localhost information_schema Query TIME NULL SHOW processlist
+SELECT * FROM information_schema.processlist;
+ID USER HOST DB COMMAND TIME STATE INFO
+ID ddicttestuser1 localhost information_schema Execute TIME executing SELECT * FROM information_schema.processlist
+####################################################################################
+4.2 New connection con101 (ddicttestuser1 with PROCESS privilege)
+SHOW/SELECT shows all processes/threads.
+####################################################################################
+SHOW GRANTS;
+Grants for ddicttestuser1@localhost
+GRANT PROCESS ON *.* TO 'ddicttestuser1'@'localhost' IDENTIFIED BY PASSWORD '*22DA61451703738F203CDB9DB041ACBA1F4760B1'
+SHOW processlist;
+Id User Host db Command Time State Info
+ID root localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Query TIME NULL SHOW processlist
+SELECT * FROM information_schema.processlist;
+ID USER HOST DB COMMAND TIME STATE INFO
+ID ddicttestuser1 localhost information_schema Execute TIME executing SELECT * FROM information_schema.processlist
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID root localhost information_schema Sleep TIME NULL
+####################################################################################
+5 Grant PROCESS privilege to anonymous user.
+connection default (user=root)
+####################################################################################
+GRANT PROCESS ON *.* TO ''@'localhost';
+####################################################################################
+5.1 Establish connection (anonymous1,localhost,'',,information_schema)
+anonymous user with PROCESS privilege
+SHOW/SELECT shows all processes/threads.
+####################################################################################
+SHOW GRANTS;
+Grants for @localhost
+GRANT PROCESS ON *.* TO ''@'localhost'
+SHOW processlist;
+Id User Host db Command Time State Info
+ID root localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID localhost information_schema Query TIME NULL SHOW processlist
+SELECT * FROM information_schema.processlist;
+ID USER HOST DB COMMAND TIME STATE INFO
+ID localhost information_schema Execute TIME executing SELECT * FROM information_schema.processlist
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID root localhost information_schema Sleep TIME NULL
+####################################################################################
+6 Revoke PROCESS privilege from ddicttestuser1
+connection default (user=root)
+####################################################################################
+REVOKE PROCESS ON *.* FROM ddicttestuser1@'localhost' IDENTIFIED BY 'ddictpass';
+####################################################################################
+6.1 New connection con102 (ddicttestuser1 has no more PROCESS privilege)
+Again (compared to state before GRANT PROCESS) only the processes of
+ddicttestuser1 are visible.
+####################################################################################
+SHOW GRANTS;
+Grants for ddicttestuser1@localhost
+GRANT USAGE ON *.* TO 'ddicttestuser1'@'localhost' IDENTIFIED BY PASSWORD '*22DA61451703738F203CDB9DB041ACBA1F4760B1'
+SHOW processlist;
+Id User Host db Command Time State Info
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Query TIME NULL SHOW processlist
+SELECT * FROM information_schema.processlist;
+ID USER HOST DB COMMAND TIME STATE INFO
+ID ddicttestuser1 localhost information_schema Execute TIME executing SELECT * FROM information_schema.processlist
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+####################################################################################
+7 Revoke PROCESS privilege from anonymous user + disconnect ddicttestuser1
+connection default (user=root)
+####################################################################################
+REVOKE PROCESS ON *.* FROM ''@'localhost';
+####################################################################################
+7.1 New connection (anonymous2,localhost,'',,information_schema)
+The anonymous user has no more the PROCESS privilege
+Again only the processes of the anonymous user are visible.
+####################################################################################
+SHOW GRANTS FOR ''@'localhost';
+Grants for @localhost
+GRANT USAGE ON *.* TO ''@'localhost'
+SELECT * FROM information_schema.processlist;
+ID USER HOST DB COMMAND TIME STATE INFO
+ID localhost information_schema Execute TIME executing SELECT * FROM information_schema.processlist
+ID localhost information_schema Sleep TIME NULL
+####################################################################################
+8 Grant SUPER (does not imply PROCESS) privilege to ddicttestuser1
+connection default (user=root)
+####################################################################################
+GRANT SUPER ON *.* TO 'ddicttestuser1'@'localhost';
+####################################################################################
+8.1 New connection con103 (ddicttestuser1 with SUPER privilege)
+Only the processes of ddicttestuser1 user are visible.
+####################################################################################
+SHOW GRANTS FOR 'ddicttestuser1'@'localhost';
+Grants for ddicttestuser1@localhost
+GRANT SUPER ON *.* TO 'ddicttestuser1'@'localhost' IDENTIFIED BY PASSWORD '*22DA61451703738F203CDB9DB041ACBA1F4760B1'
+SHOW processlist;
+Id User Host db Command Time State Info
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Query TIME NULL SHOW processlist
+SELECT * FROM information_schema.processlist;
+ID USER HOST DB COMMAND TIME STATE INFO
+ID ddicttestuser1 localhost information_schema Execute TIME executing SELECT * FROM information_schema.processlist
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+####################################################################################
+9 Revoke SUPER privilege from user ddicttestuser1
+connection default (user=root)
+####################################################################################
+REVOKE SUPER ON *.* FROM 'ddicttestuser1'@'localhost';
+####################################################################################
+9.1 New connection con104 (ddicttestuser1 without SUPER privilege)
+ddicttestuser1 has no more the SUPER privilege.
+Only the processes of ddicttestuser1 are visible.
+####################################################################################
+SHOW GRANTS FOR 'ddicttestuser1'@'localhost';
+Grants for ddicttestuser1@localhost
+GRANT USAGE ON *.* TO 'ddicttestuser1'@'localhost' IDENTIFIED BY PASSWORD '*22DA61451703738F203CDB9DB041ACBA1F4760B1'
+SHOW processlist;
+Id User Host db Command Time State Info
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Query TIME NULL SHOW processlist
+SELECT * FROM information_schema.processlist;
+ID USER HOST DB COMMAND TIME STATE INFO
+ID ddicttestuser1 localhost information_schema Execute TIME executing SELECT * FROM information_schema.processlist
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+####################################################################################
+10 Grant SUPER privilege with grant option to user ddicttestuser1.
+connection default (user=root)
+####################################################################################
+GRANT SUPER ON *.* TO 'ddicttestuser1'@'localhost' WITH GRANT OPTION;
+####################################################################################
+10.1 New connection con105 (ddicttestuser1 with SUPER privilege and GRANT OPTION)
+Try to grant PROCESS privilege to user ddicttestuser2 without having it.
+####################################################################################
+SHOW GRANTS FOR 'ddicttestuser1'@'localhost';
+Grants for ddicttestuser1@localhost
+GRANT SUPER ON *.* TO 'ddicttestuser1'@'localhost' IDENTIFIED BY PASSWORD '*22DA61451703738F203CDB9DB041ACBA1F4760B1' WITH GRANT OPTION
+GRANT PROCESS ON *.* TO 'ddicttestuser2'@'localhost';
+ERROR 28000: Access denied for user 'ddicttestuser1'@'localhost' (using password: YES)
+####################################################################################
+10.2 Grant SUPER and PROCESS privilege with grant option to user ddicttestuser1
+connection default (user=root)
+####################################################################################
+GRANT SUPER,PROCESS ON *.* TO 'ddicttestuser1'@'localhost' WITH GRANT OPTION;
+####################################################################################
+10.3 New connection con106 (ddicttestuser1 with SUPER,PROCESS WITH GRANT OPTION)
+Grant PROCESS privilege to user ddicttestuser2
+####################################################################################
+SHOW GRANTS FOR 'ddicttestuser1'@'localhost';
+Grants for ddicttestuser1@localhost
+GRANT PROCESS, SUPER ON *.* TO 'ddicttestuser1'@'localhost' IDENTIFIED BY PASSWORD '*22DA61451703738F203CDB9DB041ACBA1F4760B1' WITH GRANT OPTION
+GRANT PROCESS ON *.* TO 'ddicttestuser2'@'localhost';
+####################################################################################
+10.4 New connection con200 (ddicttestuser2 with PROCESS privilege)
+ddicttestuser2 has now the PROCESS privilege and sees all connections
+####################################################################################
+SHOW GRANTS FOR 'ddicttestuser2'@'localhost';
+Grants for ddicttestuser2@localhost
+GRANT PROCESS ON *.* TO 'ddicttestuser2'@'localhost' IDENTIFIED BY PASSWORD '*22DA61451703738F203CDB9DB041ACBA1F4760B1'
+SHOW processlist;
+Id User Host db Command Time State Info
+ID root localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser2 localhost information_schema Query TIME NULL SHOW processlist
+SELECT * FROM information_schema.processlist;
+ID USER HOST DB COMMAND TIME STATE INFO
+ID ddicttestuser2 localhost information_schema Execute TIME executing SELECT * FROM information_schema.processlist
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID root localhost information_schema Sleep TIME NULL
+####################################################################################
+11 User ddicttestuser1 revokes PROCESS privilege from user ddicttestuser2
+connection ddicttestuser1;
+####################################################################################
+REVOKE PROCESS ON *.* FROM 'ddicttestuser2'@'localhost';
+####################################################################################
+11.1 New connection con201 (ddicttestuser2)
+ddicttestuser2 has no more the PROCESS privilege and can only see own connects
+####################################################################################
+SHOW GRANTS;
+Grants for ddicttestuser2@localhost
+GRANT USAGE ON *.* TO 'ddicttestuser2'@'localhost' IDENTIFIED BY PASSWORD '*22DA61451703738F203CDB9DB041ACBA1F4760B1'
+SHOW processlist;
+Id User Host db Command Time State Info
+ID ddicttestuser2 localhost information_schema Sleep TIME NULL
+ID ddicttestuser2 localhost information_schema Query TIME NULL SHOW processlist
+SELECT * FROM information_schema.processlist;
+ID USER HOST DB COMMAND TIME STATE INFO
+ID ddicttestuser2 localhost information_schema Execute TIME executing SELECT * FROM information_schema.processlist
+ID ddicttestuser2 localhost information_schema Sleep TIME NULL
+####################################################################################
+11.2 Revoke SUPER,PROCESS,GRANT OPTION privilege from user ddicttestuser1
+connection default (user=root)
+####################################################################################
+REVOKE SUPER,PROCESS,GRANT OPTION ON *.* FROM 'ddicttestuser1'@'localhost';
+####################################################################################
+11.3 New connection con107 (ddicttestuser1)
+ddicttestuser1 has no more the PROCESS privilege and can only see own connects
+He is also unable to GRANT the PROCESS privilege to ddicttestuser2
+####################################################################################
+SHOW GRANTS FOR 'ddicttestuser1'@'localhost';
+Grants for ddicttestuser1@localhost
+GRANT USAGE ON *.* TO 'ddicttestuser1'@'localhost' IDENTIFIED BY PASSWORD '*22DA61451703738F203CDB9DB041ACBA1F4760B1'
+GRANT PROCESS ON *.* TO 'ddicttestuser2'@'localhost';
+ERROR 28000: Access denied for user 'ddicttestuser1'@'localhost' (using password: YES)
+SHOW processlist;
+Id User Host db Command Time State Info
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Query TIME NULL SHOW processlist
+SELECT * FROM information_schema.processlist;
+ID USER HOST DB COMMAND TIME STATE INFO
+ID ddicttestuser1 localhost information_schema Execute TIME executing SELECT * FROM information_schema.processlist
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+####################################################################################
+12 Revoke the SELECT privilege from user ddicttestuser1
+connection default (user=root)
+####################################################################################
+REVOKE SELECT ON *.* FROM 'ddicttestuser1'@'localhost';
+####################################################################################
+12.1 New connection con108 (ddicttestuser1)
+ddicttestuser1 has neither PROCESS nor SELECT privilege
+Manual says: Each MySQL user has the right to access these tables, but can see
+only the rows ...
+Therefore the missing SELECT privilege does not affect SELECTs on PROCESSLIST.
+####################################################################################
+SHOW GRANTS FOR 'ddicttestuser1'@'localhost';
+Grants for ddicttestuser1@localhost
+GRANT USAGE ON *.* TO 'ddicttestuser1'@'localhost' IDENTIFIED BY PASSWORD '*22DA61451703738F203CDB9DB041ACBA1F4760B1'
+SHOW processlist;
+Id User Host db Command Time State Info
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Query TIME NULL SHOW processlist
+SELECT * FROM information_schema.processlist;
+ID USER HOST DB COMMAND TIME STATE INFO
+ID ddicttestuser1 localhost information_schema Execute TIME executing SELECT * FROM information_schema.processlist
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+ID ddicttestuser1 localhost information_schema Sleep TIME NULL
+####################################################################################
+12.2 Revoke only the SELECT privilege on the information_schema from ddicttestuser1.
+connection default (user=root)
+####################################################################################
+REVOKE SELECT ON information_schema.* FROM 'ddicttestuser3'@'localhost';
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+####################################################################################
+connection default (user=root)
+Cleanup: close connections, DROP USER etc.
+####################################################################################
+DROP USER ddicttestuser1@'localhost';
+DROP USER ddicttestuser2@'localhost';
+REVOKE USAGE ON *.* FROM ''@'localhost';
+DROP USER ''@'localhost';
diff --git a/mysql-test/suite/funcs_1/r/processlist_val_no_prot.result b/mysql-test/suite/funcs_1/r/processlist_val_no_prot.result
new file mode 100644
index 00000000000..467015012f9
--- /dev/null
+++ b/mysql-test/suite/funcs_1/r/processlist_val_no_prot.result
@@ -0,0 +1,155 @@
+DROP USER ddicttestuser1@'localhost';
+ERROR HY000: Operation DROP USER failed for 'ddicttestuser1'@'localhost'
+CREATE USER ddicttestuser1@'localhost';
+GRANT ALL ON *.* TO ddicttestuser1@'localhost';
+REVOKE PROCESS ON *.* FROM ddicttestuser1@'localhost';
+SET PASSWORD FOR ddicttestuser1@'localhost' = PASSWORD('ddictpass');
+DROP TABLE IF EXISTS test.t1;
+CREATE TABLE test.t1 (f1 BIGINT);
+SHOW CREATE TABLE INFORMATION_SCHEMA.PROCESSLIST;
+Table Create Table
+PROCESSLIST CREATE TEMPORARY TABLE `PROCESSLIST` (
+ `ID` bigint(4) NOT NULL DEFAULT '0',
+ `USER` varchar(16) NOT NULL DEFAULT '',
+ `HOST` varchar(64) NOT NULL DEFAULT '',
+ `DB` varchar(64) DEFAULT NULL,
+ `COMMAND` varchar(16) NOT NULL DEFAULT '',
+ `TIME` bigint(7) NOT NULL DEFAULT '0',
+ `STATE` varchar(64) DEFAULT NULL,
+ `INFO` longtext
+) ENGINE=MyISAM DEFAULT CHARSET=utf8
+SELECT COUNT(*) FROM INFORMATION_SCHEMA.PROCESSLIST;
+COUNT(*)
+1
+USE test;
+SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
+ID USER HOST DB COMMAND TIME STATE INFO
+<ID> root localhost test Query 0 executing SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST
+SHOW FULL PROCESSLIST;
+Id User Host db Command Time State Info
+<ID> root localhost test Query 0 NULL SHOW FULL PROCESSLIST
+USE information_schema;
+SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
+ID USER HOST DB COMMAND TIME STATE INFO
+<ID> root localhost information_schema Query <TIME> executing SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST
+SHOW FULL PROCESSLIST;
+Id User Host db Command Time State Info
+<ID> root localhost information_schema Query <TIME> NULL SHOW FULL PROCESSLIST
+SELECT INFO FROM INFORMATION_SCHEMA.PROCESSLIST;
+INFO
+SELECT INFO FROM INFORMATION_SCHEMA.PROCESSLIST
+SELECT ID INTO @my_proclist_id FROM INFORMATION_SCHEMA.PROCESSLIST;
+
+----- establish connection ddicttestuser1 (user = ddicttestuser1) -----
+
+----- switch to connection default (user = root) -----
+SELECT @time > 0;
+@time > 0
+1
+# Sleep some time
+SELECT @time < @time2;
+@time < @time2
+1
+SELECT ID = @my_proclist_id + 1 FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE USER = 'ddicttestuser1';
+ID = @my_proclist_id + 1
+1
+
+----- switch to connection ddicttestuser1 (user = ddicttestuser1) -----
+SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
+ID USER HOST DB COMMAND TIME STATE INFO
+<ID> ddicttestuser1 localhost information_schema Query <TIME> executing SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST
+SHOW FULL PROCESSLIST;
+Id User Host db Command Time State Info
+<ID> ddicttestuser1 localhost information_schema Query <TIME> NULL SHOW FULL PROCESSLIST
+
+----- establish connection con2 (user = ddicttestuser1) ------
+SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
+ID USER HOST DB COMMAND TIME STATE INFO
+<ID> ddicttestuser1 localhost information_schema Query <TIME> executing SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST
+<ID> ddicttestuser1 localhost information_schema Sleep <TIME> NULL
+SHOW FULL PROCESSLIST;
+Id User Host db Command Time State Info
+<ID> ddicttestuser1 localhost information_schema Sleep <TIME> NULL
+<ID> ddicttestuser1 localhost information_schema Query <TIME> NULL SHOW FULL PROCESSLIST
+
+----- switch to connection default (user = root) -----
+----- close connection con2 -----
+
+----- switch to connection ddicttestuser1 (user = ddicttestuser1) -----
+
+
+# Send a long enough running statement to the server, but do not
+# wait till the result comes back. We will pull this later.
+SELECT sleep(2.5),'Command time';
+
+----- switch to connection default (user = root) -----
+# Sleep some time
+SELECT @time > 0;
+@time > 0
+1
+# Sleep some time
+SELECT @time < @time2;
+@time < @time2
+1
+
+----- switch to connection ddicttestuser1 (user = ddicttestuser1) -----
+# Pull("reap") the result set from the statement executed with "send".
+sleep(2.5) Command time
+0 Command time
+
+
+# Send a long (21 KB code and runtime = 2 seconds) statement to the server,
+# but do not wait till the result comes back. We will pull this later.
+SELECT sleep(2),'BEGIN this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.END' AS "my_monster_statement";
+
+----- switch to connection default (user = root) -----
+# Sleep some time
+SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
+ID USER HOST DB COMMAND TIME STATE INFO
+<ID> ddicttestuser1 localhost information_schema <COMMAND> <TIME> <STATE> SELECT sleep(2),'BEGIN this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.END' AS "my_monster_statement"
+<ID> root localhost information_schema <COMMAND> <TIME> <STATE> SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST
+SHOW FULL PROCESSLIST;
+Id User Host db Command Time State Info
+<ID> root localhost information_schema <COMMAND> <TIME> <STATE> SHOW FULL PROCESSLIST
+<ID> ddicttestuser1 localhost information_schema <COMMAND> <TIME> <STATE> SELECT sleep(2),'BEGIN this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.END' AS "my_monster_statement"
+SHOW PROCESSLIST;
+Id User Host db Command Time State Info
+<ID> root localhost information_schema <COMMAND> <TIME> <STATE> SHOW PROCESSLIST
+<ID> ddicttestuser1 localhost information_schema <COMMAND> <TIME> <STATE> SELECT sleep(2),'BEGIN this is the representative of a very long statement.this is the representativ
+
+----- switch to connection ddicttestuser1 (user = ddicttestuser1) -----
+# Pull("reap") the result set from the monster statement executed with "send".
+sleep(2) my_monster_statement
+0 BEGIN this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.END
+
+----- switch to connection default (user = root) -----
+LOCK TABLE test.t1 WRITE;
+
+----- switch to connection ddicttestuser1 (user = ddicttestuser1) -----
+# Send a statement to the server, but do not wait till the result
+# comes back. We will pull this later.
+SELECT COUNT(*) FROM test.t1;
+
+----- switch to connection default (user = root) -----
+# Sleep some time
+SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
+ID USER HOST DB COMMAND TIME STATE INFO
+<ID> ddicttestuser1 localhost information_schema Query <TIME> Locked SELECT COUNT(*) FROM test.t1
+<ID> root localhost information_schema Query <TIME> executing SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST
+SHOW FULL PROCESSLIST;
+Id User Host db Command Time State Info
+<ID> root localhost information_schema Query <TIME> NULL SHOW FULL PROCESSLIST
+<ID> ddicttestuser1 localhost information_schema Query <TIME> Locked SELECT COUNT(*) FROM test.t1
+UNLOCK TABLES;
+
+----- switch to connection ddicttestuser1 (user = ddicttestuser1) -----
+# Pull("reap") the result set from the statement executed with "send".
+COUNT(*)
+0
+
+----- switch to connection default (user = root) -----
+
+----- close connection ddicttestuser1 -----
+DROP USER ddicttestuser1@'localhost';
+DROP TABLE test.t1;
diff --git a/mysql-test/suite/funcs_1/r/processlist_val_ps.result b/mysql-test/suite/funcs_1/r/processlist_val_ps.result
new file mode 100644
index 00000000000..8d7cfdd5203
--- /dev/null
+++ b/mysql-test/suite/funcs_1/r/processlist_val_ps.result
@@ -0,0 +1,155 @@
+DROP USER ddicttestuser1@'localhost';
+ERROR HY000: Operation DROP USER failed for 'ddicttestuser1'@'localhost'
+CREATE USER ddicttestuser1@'localhost';
+GRANT ALL ON *.* TO ddicttestuser1@'localhost';
+REVOKE PROCESS ON *.* FROM ddicttestuser1@'localhost';
+SET PASSWORD FOR ddicttestuser1@'localhost' = PASSWORD('ddictpass');
+DROP TABLE IF EXISTS test.t1;
+CREATE TABLE test.t1 (f1 BIGINT);
+SHOW CREATE TABLE INFORMATION_SCHEMA.PROCESSLIST;
+Table Create Table
+PROCESSLIST CREATE TEMPORARY TABLE `PROCESSLIST` (
+ `ID` bigint(4) NOT NULL DEFAULT '0',
+ `USER` varchar(16) NOT NULL DEFAULT '',
+ `HOST` varchar(64) NOT NULL DEFAULT '',
+ `DB` varchar(64) DEFAULT NULL,
+ `COMMAND` varchar(16) NOT NULL DEFAULT '',
+ `TIME` bigint(7) NOT NULL DEFAULT '0',
+ `STATE` varchar(64) DEFAULT NULL,
+ `INFO` longtext
+) ENGINE=MyISAM DEFAULT CHARSET=utf8
+SELECT COUNT(*) FROM INFORMATION_SCHEMA.PROCESSLIST;
+COUNT(*)
+1
+USE test;
+SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
+ID USER HOST DB COMMAND TIME STATE INFO
+<ID> root localhost test Execute 0 executing SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST
+SHOW FULL PROCESSLIST;
+Id User Host db Command Time State Info
+<ID> root localhost test Query 0 NULL SHOW FULL PROCESSLIST
+USE information_schema;
+SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
+ID USER HOST DB COMMAND TIME STATE INFO
+<ID> root localhost information_schema Execute <TIME> executing SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST
+SHOW FULL PROCESSLIST;
+Id User Host db Command Time State Info
+<ID> root localhost information_schema Query <TIME> NULL SHOW FULL PROCESSLIST
+SELECT INFO FROM INFORMATION_SCHEMA.PROCESSLIST;
+INFO
+SELECT INFO FROM INFORMATION_SCHEMA.PROCESSLIST
+SELECT ID INTO @my_proclist_id FROM INFORMATION_SCHEMA.PROCESSLIST;
+
+----- establish connection ddicttestuser1 (user = ddicttestuser1) -----
+
+----- switch to connection default (user = root) -----
+SELECT @time > 0;
+@time > 0
+1
+# Sleep some time
+SELECT @time < @time2;
+@time < @time2
+1
+SELECT ID = @my_proclist_id + 1 FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE USER = 'ddicttestuser1';
+ID = @my_proclist_id + 1
+1
+
+----- switch to connection ddicttestuser1 (user = ddicttestuser1) -----
+SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
+ID USER HOST DB COMMAND TIME STATE INFO
+<ID> ddicttestuser1 localhost information_schema Execute <TIME> executing SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST
+SHOW FULL PROCESSLIST;
+Id User Host db Command Time State Info
+<ID> ddicttestuser1 localhost information_schema Query <TIME> NULL SHOW FULL PROCESSLIST
+
+----- establish connection con2 (user = ddicttestuser1) ------
+SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
+ID USER HOST DB COMMAND TIME STATE INFO
+<ID> ddicttestuser1 localhost information_schema Execute <TIME> executing SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST
+<ID> ddicttestuser1 localhost information_schema Sleep <TIME> NULL
+SHOW FULL PROCESSLIST;
+Id User Host db Command Time State Info
+<ID> ddicttestuser1 localhost information_schema Sleep <TIME> NULL
+<ID> ddicttestuser1 localhost information_schema Query <TIME> NULL SHOW FULL PROCESSLIST
+
+----- switch to connection default (user = root) -----
+----- close connection con2 -----
+
+----- switch to connection ddicttestuser1 (user = ddicttestuser1) -----
+
+
+# Send a long enough running statement to the server, but do not
+# wait till the result comes back. We will pull this later.
+SELECT sleep(2.5),'Command time';
+
+----- switch to connection default (user = root) -----
+# Sleep some time
+SELECT @time > 0;
+@time > 0
+1
+# Sleep some time
+SELECT @time < @time2;
+@time < @time2
+1
+
+----- switch to connection ddicttestuser1 (user = ddicttestuser1) -----
+# Pull("reap") the result set from the statement executed with "send".
+sleep(2.5) Command time
+0 Command time
+
+
+# Send a long (21 KB code and runtime = 2 seconds) statement to the server,
+# but do not wait till the result comes back. We will pull this later.
+SELECT sleep(2),'BEGIN this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.END' AS "my_monster_statement";
+
+----- switch to connection default (user = root) -----
+# Sleep some time
+SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
+ID USER HOST DB COMMAND TIME STATE INFO
+<ID> ddicttestuser1 localhost information_schema <COMMAND> <TIME> <STATE> SELECT sleep(2),'BEGIN this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.END' AS "my_monster_statement"
+<ID> root localhost information_schema <COMMAND> <TIME> <STATE> SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST
+SHOW FULL PROCESSLIST;
+Id User Host db Command Time State Info
+<ID> root localhost information_schema <COMMAND> <TIME> <STATE> SHOW FULL PROCESSLIST
+<ID> ddicttestuser1 localhost information_schema <COMMAND> <TIME> <STATE> SELECT sleep(2),'BEGIN this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.END' AS "my_monster_statement"
+SHOW PROCESSLIST;
+Id User Host db Command Time State Info
+<ID> root localhost information_schema <COMMAND> <TIME> <STATE> SHOW PROCESSLIST
+<ID> ddicttestuser1 localhost information_schema <COMMAND> <TIME> <STATE> SELECT sleep(2),'BEGIN this is the representative of a very long statement.this is the representativ
+
+----- switch to connection ddicttestuser1 (user = ddicttestuser1) -----
+# Pull("reap") the result set from the monster statement executed with "send".
+sleep(2) my_monster_statement
+0 BEGIN this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.this is the representative of a very long statement.END
+
+----- switch to connection default (user = root) -----
+LOCK TABLE test.t1 WRITE;
+
+----- switch to connection ddicttestuser1 (user = ddicttestuser1) -----
+# Send a statement to the server, but do not wait till the result
+# comes back. We will pull this later.
+SELECT COUNT(*) FROM test.t1;
+
+----- switch to connection default (user = root) -----
+# Sleep some time
+SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
+ID USER HOST DB COMMAND TIME STATE INFO
+<ID> ddicttestuser1 localhost information_schema Query <TIME> Locked SELECT COUNT(*) FROM test.t1
+<ID> root localhost information_schema Execute <TIME> executing SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST
+SHOW FULL PROCESSLIST;
+Id User Host db Command Time State Info
+<ID> root localhost information_schema Query <TIME> NULL SHOW FULL PROCESSLIST
+<ID> ddicttestuser1 localhost information_schema Query <TIME> Locked SELECT COUNT(*) FROM test.t1
+UNLOCK TABLES;
+
+----- switch to connection ddicttestuser1 (user = ddicttestuser1) -----
+# Pull("reap") the result set from the statement executed with "send".
+COUNT(*)
+0
+
+----- switch to connection default (user = root) -----
+
+----- close connection ddicttestuser1 -----
+DROP USER ddicttestuser1@'localhost';
+DROP TABLE test.t1;
diff --git a/mysql-test/suite/funcs_1/storedproc/cleanup_sp_tb.inc b/mysql-test/suite/funcs_1/storedproc/cleanup_sp_tb.inc
index 493c4373d20..bd41f2dcb16 100644
--- a/mysql-test/suite/funcs_1/storedproc/cleanup_sp_tb.inc
+++ b/mysql-test/suite/funcs_1/storedproc/cleanup_sp_tb.inc
@@ -1,5 +1,6 @@
-let $message= --source suite/funcs_1/storedproc/cleanup_sp_tb.inc;
---source include/show_msg80.inc
+--echo
+--echo --source suite/funcs_1/storedproc/cleanup_sp_tb.inc
+--echo --------------------------------------------------------------------------------
# called both to cleanup possibly existing data before and after the SP tests
diff --git a/mysql-test/suite/funcs_1/storedproc/load_sp_tb.inc b/mysql-test/suite/funcs_1/storedproc/load_sp_tb.inc
index 6dafa23f840..5224860925c 100644
--- a/mysql-test/suite/funcs_1/storedproc/load_sp_tb.inc
+++ b/mysql-test/suite/funcs_1/storedproc/load_sp_tb.inc
@@ -1,20 +1,18 @@
-let $message= --source suite/funcs_1/storedproc/load_sp_tb.inc;
---source include/show_msg80.inc
+--echo
+--echo --source suite/funcs_1/storedproc/load_sp_tb.inc
+--echo --------------------------------------------------------------------------------
# ==============================================================================
#
-# this load script can be called multiple times inside a test script because it
+# This load script can be called multiple times inside a test script because it
# first cleans up all objects that will be created.
-# therefore the same script is used as it will be used at the end of a test.
+# Therefore the same script is used as it will be used at the end of a test.
#
# ==============================================================================
--disable_abort_on_error
--enable_query_log
-SET @@global.max_heap_table_size=4294967295;
-SET @@session.max_heap_table_size=4294967295;
-
# use the same .inc to cleanup before and after the test
--source suite/funcs_1/storedproc/cleanup_sp_tb.inc
@@ -23,46 +21,84 @@ CREATE DATABASE db_storedproc_1;
USE db_storedproc;
-eval create table t1(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = $engine_type;
---replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
-eval load data infile '$MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t1;
-
-eval create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = $engine_type;
---replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
-eval load data infile '$MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t2;
-
-eval create table t3(f1 char(20),f2 char(20),f3 integer) engine = $engine_type;
---replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
-eval load data infile '$MYSQL_TEST_DIR/suite/funcs_1/data/t3.txt' into table t3;
-
-eval create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = $engine_type;
---replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
-eval load data infile '$MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t4;
+--replace_result $engine_type <engine_to_be_tested>
+eval
+create table t1(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
+engine = $engine_type;
+--replace_result $MYSQLTEST_VARDIR <MYSQLTEST_VARDIR>
+eval
+load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/t4.txt' into table t1;
+
+--replace_result $engine_type <engine_to_be_tested>
+eval
+create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
+engine = $engine_type;
+--replace_result $MYSQLTEST_VARDIR <MYSQLTEST_VARDIR>
+eval
+load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/t4.txt' into table t2;
+
+--replace_result $engine_type <engine_to_be_tested>
+eval
+create table t3(f1 char(20),f2 char(20),f3 integer) engine = $engine_type;
+--replace_result $MYSQLTEST_VARDIR <MYSQLTEST_VARDIR>
+eval
+load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/t3.txt' into table t3;
+
+--replace_result $engine_type <engine_to_be_tested>
+eval
+create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
+engine = $engine_type;
+--replace_result $MYSQLTEST_VARDIR <MYSQLTEST_VARDIR>
+eval
+load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/t4.txt' into table t4;
USE db_storedproc_1;
-eval create table t6(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = $engine_type;
---replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
-eval load data infile '$MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t6;
+--replace_result $engine_type <engine_to_be_tested>
+eval
+create table t6(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
+engine = $engine_type;
+--replace_result $MYSQLTEST_VARDIR <MYSQLTEST_VARDIR>
+eval
+load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/t4.txt' into table t6;
USE db_storedproc;
-eval create table t7 (f1 char(20), f2 char(25), f3 date, f4 int) engine = $engine_type;
---replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
-eval load data infile '$MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t7;
-
-eval create table t8 (f1 char(20), f2 char(25), f3 date, f4 int) engine = $engine_type;
---replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
-eval load data infile '$MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t8;
-
-eval create table t9(f1 int, f2 char(25), f3 int) engine = $engine_type;
---replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
-eval load data infile '$MYSQL_TEST_DIR/suite/funcs_1/data/t9.txt' into table t9;
-
-eval create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = $engine_type;
---replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
-eval load data infile '$MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t10;
-
-eval create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = $engine_type;
---replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
-eval load data infile '$MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t11;
+--replace_result $engine_type <engine_to_be_tested>
+eval
+create table t7 (f1 char(20), f2 char(25), f3 date, f4 int)
+engine = $engine_type;
+--replace_result $MYSQLTEST_VARDIR <MYSQLTEST_VARDIR>
+eval
+load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/t7.txt' into table t7;
+
+--replace_result $engine_type <engine_to_be_tested>
+eval
+create table t8 (f1 char(20), f2 char(25), f3 date, f4 int)
+engine = $engine_type;
+--replace_result $MYSQLTEST_VARDIR <MYSQLTEST_VARDIR>
+eval
+load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/t7.txt' into table t8;
+
+--replace_result $engine_type <engine_to_be_tested>
+eval
+create table t9(f1 int, f2 char(25), f3 int) engine = $engine_type;
+--replace_result $MYSQLTEST_VARDIR <MYSQLTEST_VARDIR>
+eval
+load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/t9.txt' into table t9;
+
+--replace_result $engine_type <engine_to_be_tested>
+eval
+create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
+engine = $engine_type;
+--replace_result $MYSQLTEST_VARDIR <MYSQLTEST_VARDIR>
+eval
+load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/t4.txt' into table t10;
+
+--replace_result $engine_type <engine_to_be_tested>
+eval
+create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
+engine = $engine_type;
+--replace_result $MYSQLTEST_VARDIR <MYSQLTEST_VARDIR>
+eval
+load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/t4.txt' into table t11;
diff --git a/mysql-test/suite/funcs_1/storedproc/storedproc_02.inc b/mysql-test/suite/funcs_1/storedproc/storedproc_02.inc
index 2efc5a83663..0f62a559985 100755..100644
--- a/mysql-test/suite/funcs_1/storedproc/storedproc_02.inc
+++ b/mysql-test/suite/funcs_1/storedproc/storedproc_02.inc
@@ -5,85 +5,192 @@
# ==============================================================================
# (numbering from requirement document TP v1.0, Last updated: 25 Jan 2005 01:00)
#
-# 3.1.2 Syntax checks for the stored procedure-specific programming statements BEGIN/END, DECLARE, SET, SELECT/INTO, OPEN, FETCH, CLOSE:
+# 3.1.2 Syntax checks for the stored procedure-specific programming statements
+# BEGIN/END, DECLARE, SET, SELECT/INTO, OPEN, FETCH, CLOSE:
#
#- 1. Ensure that all subclauses that should be supported are supported.
-#- 2. Ensure that all subclauses that should not be supported are disallowed with an appropriate error message.
-#- 3. Ensure that all supported subclauses are supported only in the correct order.
-#- 4. Ensure that an appropriate error message is returned if a subclause is out-of-order in a stored procedure definition.
-#- 5. Ensure that all subclauses that are defined to be mandatory are indeed required to be mandatory by the MySQL server and tools.
-#- 6. Ensure that any subclauses that are defined to be optional are indeed treated as optional by the MySQL server and tools.
-#- 7. Ensure that every BEGIN statement is coupled with a terminating END statement.
-## 8. Ensure that the scope of each BEGIN/END compound statement within a stored procedure definition is properly applied.
-#- 9. Ensure that the labels enclosing each BEGIN/END compound statement must match.
-#- 10. Ensure that it is possible to put a beginning label at the start of a BEGIN/END compound statement without also requiring an ending label at the end of the same statement.
-#- 11. Ensure that it is not possible to put an ending label at the end of a BEGIN/END compound statement without also requiring a matching beginning label at the start of the same statement.
+#- 2. Ensure that all subclauses that should not be supported are disallowed
+# with an appropriate error message.
+#- 3. Ensure that all supported subclauses are supported only in the
+# correct order.
+#- 4. Ensure that an appropriate error message is returned if a subclause is
+# out-of-order in a stored procedure definition.
+#- 5. Ensure that all subclauses that are defined to be mandatory are indeed
+# required to be mandatory by the MySQL server and tools.
+#- 6. Ensure that any subclauses that are defined to be optional are indeed
+# treated as optional by the MySQL server and tools.
+#- 7. Ensure that every BEGIN statement is coupled with a terminating
+# END statement.
+## 8. Ensure that the scope of each BEGIN/END compound statement within a
+# stored procedure definition is properly applied.
+#- 9. Ensure that the labels enclosing each BEGIN/END compound statement
+# must match.
+#- 10. Ensure that it is possible to put a beginning label at the start of
+# a BEGIN/END compound statement without also requiring an ending label
+# at the end of the same statement.
+#- 11. Ensure that it is not possible to put an ending label at the end of
+# a BEGIN/END compound statement without also requiring a matching
+# beginning label at the start of the same statement.
#- 12. Ensure that every beginning label must end with a colon (:).
#- 13. Ensure that every beginning label with the same scope must be unique.
-#- 14. Ensure that the variables, cursors, conditions, and handlers declared for a stored procedure (with the DECLARE statement) may only be properly defined.
-#- 15. Ensure that the variables, cursors, conditions, and handlers declared for a stored procedure (with the DECLARE statement) may only be defined in the correct order.
-#- 16. Ensure that every possible type of variable -- utilizing every data type definition supported by the MySQL server in combination with both no DEFAULT subclause and with DEFAULT subclauses that set the variable’s default value to a range of appropriate values -- may be declared for a stored procedure.
-#- 17. Ensure that the DECLARE statement can declare multiple variables both separately and all at once from a variable list.
-#- 18. Ensure that invalid variable declarations are rejected, with an appropriate error message.
-#- 19. Ensure that every possible type of cursor may be declared for a stored procedure.
-#- 20. Ensure that invalid cursor declarations are rejected, with an appropriate error message.
-#- 21. Ensure that every possible type of condition may be declared for a stored procedure.
-# -22. Ensure that invalid condition declarations are rejected, with an appropriate error message.
-#- 23. Ensure that every possible type of handler may be declared for a stored procedure.
-#- 24. Ensure that invalid handler declarations are rejected, with an appropriate error message.
-#- 25. Ensure that the scope of every variable, cursor, condition, and handler declared for a stored procedure (with the DECLARE statement) is properly applied.
-## 26. Ensure that the initial value of every variable declared for a stored procedure is either NULL or its DEFAULT value, as appropriate.
-#- 27. Ensure that the SET statement can assign a value to every local variable declared within a stored procedure’s definition, as well as to every appropriate global server variable.
-#- 28. Ensure that the SET statement can assign values to variables either separately or to multiple variables in a list.
-#- 29. Ensure that the SET statement may assign only those values to a variable that are appropriate for that variable’s data type definition.
-## 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.
-## 31. Ensure that the SELECT ... INTO statement properly assigns values to the variables in its variable list.
-## 32. Ensure that a SELECT ... INTO statement that retrieves multiple rows is rejected, with an appropriate error message.
-## 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.
-## 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.
-#- 35. Ensure that a SELECT ... INTO statement that retrieves column values with inappropriate data types for the matching variables in its variable list is rejected, with an appropriate error message.
-#- 36. Ensure that the DECLARE ... CONDITION FOR statement can declare a properly-named condition for every possible SQLSTATE and MySQL-specific error code.
-#- 37. Ensure that no two conditions declared with the same scope may have the same condition name.
+#- 14. Ensure that the variables, cursors, conditions, and handlers declared
+# for a stored procedure (with the DECLARE statement) may only be
+# properly defined.
+#- 15. Ensure that the variables, cursors, conditions, and handlers declared for
+# a stored procedure (with the DECLARE statement) may only be defined in
+# the correct order.
+#- 16. Ensure that every possible type of variable -- utilizing every data type
+# definition supported by the MySQL server in combination with both no
+# DEFAULT subclause and with DEFAULT subclauses that set the variableÂ’s
+# default value to a range of appropriate values -- may be declared for
+# a stored procedure.
+#- 17. Ensure that the DECLARE statement can declare multiple variables both
+# separately and all at once from a variable list.
+#- 18. Ensure that invalid variable declarations are rejected, with an
+# appropriate error message.
+#- 19. Ensure that every possible type of cursor may be declared for a
+# stored procedure.
+#- 20. Ensure that invalid cursor declarations are rejected, with an appropriate
+# error message.
+#- 21. Ensure that every possible type of condition may be declared for
+# a stored procedure.
+# -22. Ensure that invalid condition declarations are rejected, with an
+# appropriate error message.
+#- 23. Ensure that every possible type of handler may be declared for a
+# stored procedure.
+#- 24. Ensure that invalid handler declarations are rejected, with an
+# appropriate error message.
+#- 25. Ensure that the scope of every variable, cursor, condition, and handler
+# declared for a stored procedure (with the DECLARE statement) is
+# properly applied.
+## 26. Ensure that the initial value of every variable declared for a stored
+# procedure is either NULL or its DEFAULT value, as appropriate.
+#- 27. Ensure that the SET statement can assign a value to every local variable
+# declared within a stored procedureÂ’s definition, as well as to every
+# appropriate global server variable.
+#- 28. Ensure that the SET statement can assign values to variables either
+# separately or to multiple variables in a list.
+#- 29. Ensure that the SET statement may assign only those values to a variable
+# that are appropriate for that variableÂ’s data type definition.
+## 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.
+## 31. Ensure that the SELECT ... INTO statement properly assigns values to the
+# variables in its variable list.
+## 32. Ensure that a SELECT ... INTO statement that retrieves multiple rows is
+# rejected, with an appropriate error message.
+## 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.
+## 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.
+#- 35. Ensure that a SELECT ... INTO statement that retrieves column values
+# with inappropriate data types for the matching variables in its variable
+# list is rejected, with an appropriate error message.
+#- 36. Ensure that the DECLARE ... CONDITION FOR statement can declare a
+# properly-named condition for every possible SQLSTATE and MySQL-specific
+# error code.
+#- 37. Ensure that no two conditions declared with the same scope may have the
+# same condition name.
## 38. Ensure that the scope of every condition declared is properly applied.
-#- 39. Ensure that every SQLSTATE value declared with a DECLARE ... CONDITION FOR statement is a character string that is 5 characters long.
-#- 40. Ensure that the DECLARE ... CONDITION FOR statement cannot declare a condition for an invalid SQLSTATE.
-#- 41. Ensure that the DECLARE ... CONDITION FOR statement cannot declare a condition for the “successful completion SQLSTATE: “00000“.
-#- 42. Ensure that the DECLARE ... HANDLER FOR statement can declare a CONTINUE, EXIT, and UNDO handler for every condition declared (with a DECLARE ... CONDITION FOR statement), within the scope of the handler, for a stored procedure, as well as for every possible SQLSTATE and MySQL-specific error code, as well as for the predefined conditions SQLWARNING, NOT FOUND, and SQLEXCEPTION.
-## 43. Ensure that the DECLARE ... HANDLER FOR statement can not declare any handler for a condition declared outside of the scope of the handler.
-## 44. Ensure that the DECLARE ... HANDLER FOR statement cannot declare a handler for any invalid, or undeclared, condition.
+#- 39. Ensure that every SQLSTATE value declared with a DECLARE ... CONDITION
+# FOR statement is a character string that is 5 characters long.
+#- 40. Ensure that the DECLARE ... CONDITION FOR statement cannot declare a
+# condition for an invalid SQLSTATE.
+#- 41. Ensure that the DECLARE ... CONDITION FOR statement cannot declare a
+# condition for the “successful completion SQLSTATE: “00000“.
+#- 42. Ensure that the DECLARE ... HANDLER FOR statement can declare a CONTINUE,
+# EXIT, and UNDO handler for every condition declared (with a DECLARE ...
+# CONDITION FOR statement), within the scope of the handler, for a stored
+# procedure, as well as for every possible SQLSTATE and MySQL-specific
+# error code, as well as for the predefined conditions SQLWARNING,
+# NOT FOUND, and SQLEXCEPTION.
+## 43. Ensure that the DECLARE ... HANDLER FOR statement can not declare any
+# handler for a condition declared outside of the scope of the handler.
+## 44. Ensure that the DECLARE ... HANDLER FOR statement cannot declare a
+# handler for any invalid, or undeclared, condition.
## 45. Ensure that the scope of every handler declared is properly applied.
-#- 46. Ensure that, within the same scope, no two handlers may be declared for the same condition.
-#- 47. Ensure that every SQLSTATE value declared with a DECLARE ... HANDLER FOR statement is a character string that is 5 characters long.
-#- 48. Ensure that the DECLARE ... HANDLER FOR statement cannot declare a condition for an invalid SQLSTATE.
-#- 49. Ensure that the DECLARE ... HANDLER FOR statement cannot declare a condition for the “successful completion SQLSTATE: “00000“.
-## 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).
-## 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.
-## 52. Ensure that an EXIT handler does not cause the execution of the stored procedure to terminate outside of its scope.
-#- 53. Ensure that a handler condition of SQLWARNING takes the same action as a handler condition defined with an SQLSTATE that begins with “01“.
-## 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.
-#- 55. Ensure that a handler condition of NOT FOUND takes the same action as a handler condition defined with an SQLSTATE that begins with “02“.
-## 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.
-#- 57. Ensure that a handler condition of SQLEXCEPTION takes the same action as a handler condition defined with an SQLSTATE that begins with anything other that “01“ or “02“.
-## 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.
+#- 46. Ensure that, within the same scope, no two handlers may be declared for
+# the same condition.
+#- 47. Ensure that every SQLSTATE value declared with a DECLARE ... HANDLER FOR
+# statement is a character string that is 5 characters long.
+#- 48. Ensure that the DECLARE ... HANDLER FOR statement cannot declare a
+# condition for an invalid SQLSTATE.
+#- 49. Ensure that the DECLARE ... HANDLER FOR statement cannot declare a
+# condition for the “successful completion SQLSTATE: “00000“.
+## 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).
+## 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.
+## 52. Ensure that an EXIT handler does not cause the execution of the stored
+# procedure to terminate outside of its scope.
+#- 53. Ensure that a handler condition of SQLWARNING takes the same action as
+# a handler condition defined with an SQLSTATE that begins with “01“.
+## 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.
+#- 55. Ensure that a handler condition of NOT FOUND takes the same action as a
+# handler condition defined with an SQLSTATE that begins with “02“.
+## 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.
+#- 57. Ensure that a handler condition of SQLEXCEPTION takes the same action
+# as a handler condition defined with an SQLSTATE that begins with
+# anything other that “01“ or “02“.
+## 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.
#- 59. Ensure that no two cursors in a stored procedure can have the same name.
-#- 60. Ensure that a cursor declaration may not include a SELECT ... INTO statement.
-#- 61. Ensure that a cursor declaration that includes an ORDER BY clause may not be an updatable cursor.
-#- 62. Ensure that OPEN <cursor name> fails unless a cursor with the same name has already been declared.
-#- 63. Ensure that OPEN <cursor name> fails if the same cursor is currently already open.
-#- 64. Ensure that FETCH <cursor name> fails unless a cursor with the same name is already open.
-## 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.
-#- 66. Ensure that FETCH <cursor name> fails with an appropriate error message if it is executed before the cursor has been opened.
-#- 67. Ensure that FETCH <cursor name> fails with an appropriate error message if it is executed after the cursor has been closed.
-## 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.
-#- 69. Ensure that FETCH <cursor name> fails with an appropriate error message if the data type of the column values being fetched are not appropriate for the matching FETCH variables to which the data is being assigned.
-#- 70. Ensure that CLOSE <cursor name> fails unless a cursor with the same name is already open.
-#- 71. Ensure that all cursors are closed when a transaction terminates with a COMMIT statement.
-#- 72. Ensure that all cursors are closed when a transaction terminates with a ROLLBACK statement.
-#- 73. Ensure that the result set of a cursor that has been closed is not longer available to the FETCH statement.
-#- 74. Ensure that every cursor declared within a compound statement is closed when that compound statement ends.
-## 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.
-## 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.
-# 77. Ensure that multiple cursors, nested within multiple compound statements within a stored procedure, always act correctly and return the expected result.
+#- 60. Ensure that a cursor declaration may not include a SELECT ... INTO
+# statement.
+#- 61. Ensure that a cursor declaration that includes an ORDER BY clause may
+# not be an updatable cursor.
+#- 62. Ensure that OPEN <cursor name> fails unless a cursor with the same name
+# has already been declared.
+#- 63. Ensure that OPEN <cursor name> fails if the same cursor is currently
+# already open.
+#- 64. Ensure that FETCH <cursor name> fails unless a cursor with the same name
+# is already open.
+## 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.
+#- 66. Ensure that FETCH <cursor name> fails with an appropriate error message
+# if it is executed before the cursor has been opened.
+#- 67. Ensure that FETCH <cursor name> fails with an appropriate error message
+# if it is executed after the cursor has been closed.
+## 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.
+#- 69. Ensure that FETCH <cursor name> fails with an appropriate error message
+# if the data type of the column values being fetched are not appropriate
+# for the matching FETCH variables to which the data is being assigned.
+#- 70. Ensure that CLOSE <cursor name> fails unless a cursor with the same name
+# is already open.
+#- 71. Ensure that all cursors are closed when a transaction terminates with
+# a COMMIT statement.
+#- 72. Ensure that all cursors are closed when a transaction terminates with
+# a ROLLBACK statement.
+#- 73. Ensure that the result set of a cursor that has been closed is not
+# longer available to the FETCH statement.
+#- 74. Ensure that every cursor declared within a compound statement is closed
+# when that compound statement ends.
+## 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.
+## 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.
+# 77. Ensure that multiple cursors, nested within multiple compound statements
+# within a stored procedure, always act correctly and return the
+# expected result.
#
# ==============================================================================
let $message= Section 3.1.2 - Syntax checks for the stored procedure-specific
@@ -290,8 +397,9 @@ BEGIN
END//
delimiter ;//
-#Error: 1172 SQLSTATE: 42000 (ER_TOO_MANY_ROWS) Message: Result consisted of more than one row
---error 1172
+# Error: SQLSTATE: 42000 (ER_TOO_MANY_ROWS)
+# Message: Result consisted of more than one row
+--error ER_TOO_MANY_ROWS
CALL sp1();
# cleanup 3.1.2.32
@@ -321,7 +429,7 @@ BEGIN
END//
delimiter ;//
---error 1222
+--error ER_WRONG_NUMBER_OF_COLUMNS_IN_SELECT
CALL sp1();
# cleanup 3.1.2.33
@@ -352,7 +460,7 @@ BEGIN
END//
delimiter ;//
---error 1222
+--error ER_WRONG_NUMBER_OF_COLUMNS_IN_SELECT
CALL sp1();
# cleanup 3.1.2.34
@@ -375,8 +483,10 @@ create table res_t1(w char unique, x char);
insert into res_t1 values('a', 'b');
-# Error: 1339 SQLSTATE: 20000 (ER_SP_CASE_NOT_FOUND) Message: Case not found for CASE statement
-# Error: 1022 SQLSTATE: 23000 (ER_DUP_KEY) Message: Can't write; duplicate key in table '%s'
+# Error: SQLSTATE: 20000 (ER_SP_CASE_NOT_FOUND)
+# Message: Case not found for CASE statement
+# Error: SQLSTATE: 23000 (ER_DUP_KEY)
+# Message: Can't write; duplicate key in table '%s'
delimiter //;
CREATE PROCEDURE h1 ()
@@ -472,7 +582,7 @@ create table res_t1(w char unique, x char);
insert into res_t1 values ('a', 'b');
delimiter //;
---error 1319
+--error ER_SP_COND_MISMATCH
CREATE PROCEDURE h1 ()
BEGIN
declare x1, x2, x3, x4, x5, x6 int default 0;
@@ -561,8 +671,9 @@ DROP PROCEDURE IF EXISTS h1;
--enable_warnings
delimiter //;
-#Error: 1319 SQLSTATE: 42000 (ER_SP_COND_MISMATCH) Message: Undefined CONDITION: %s
---error 1319
+# Error: SQLSTATE: 42000 (ER_SP_COND_MISMATCH)
+# Message: Undefined CONDITION: %s
+--error ER_SP_COND_MISMATCH
CREATE PROCEDURE h1 ()
BEGIN
declare x1, x2, x3, x4, x5, x6 int default 0;
@@ -582,8 +693,9 @@ BEGIN
END;
END//
-#Error: 1064 SQLSTATE: 42000 (ER_PARSE_ERROR) Message: %s near '%s' at line %d
---error 1064
+# Error: SQLSTATE: 42000 (ER_PARSE_ERROR)
+# Message: %s near '%s' at line %d
+--error ER_PARSE_ERROR
CREATE PROCEDURE h1 ()
BEGIN
DECLARE x1 INT DEFAULT 0;
@@ -593,8 +705,9 @@ BEGIN
DECLARE CONTINUE HANDLER FOR condname1 SET x1 = 1;
END//
-#Error: 1407 SQLSTATE: 42000 (ER_SP_BAD_SQLSTATE) Message: Bad SQLSTATE: '%s'
---error 1407
+# Error: SQLSTATE: 42000 (ER_SP_BAD_SQLSTATE)
+# Message: Bad SQLSTATE: '%s'
+--error ER_SP_BAD_SQLSTATE
CREATE PROCEDURE h1 ()
BEGIN
DECLARE x1 INT DEFAULT 0;
@@ -632,7 +745,7 @@ drop table IF EXISTS res_t1;
--echo ==> 'UNDO' is still not supported.
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
create procedure p1undo ()
begin
declare undo handler for sqlexception select '1';
@@ -723,7 +836,7 @@ DROP TABLE res_t1;
let $message= Testcase 3.1.2.50:;
--source include/show_msg.inc
-# testcase: ensure that a continue handler allows the execution of the stored procedure
+# Testcase: 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).
@@ -794,8 +907,9 @@ BEGIN
END//
delimiter ;//
-# Error: 1318 SQLSTATE: 42000 (ER_SP_WRONG_NO_OF_ARGS) Message: Incorrect number of arguments for %s %s; expected %u, got %u
---error 1318
+# Error: SQLSTATE: 42000 (ER_SP_WRONG_NO_OF_ARGS)
+# Message: Incorrect number of arguments for %s %s; expected %u, got %u
+--error ER_SP_WRONG_NO_OF_ARGS
CALL sp1(1);
CALL sp2();
SELECT '-3-', @x2, @x;
@@ -858,7 +972,7 @@ let $message= Testcase 3.1.2.54:;
--source include/show_msg.inc
let $message=
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
+“01“ is always exactly equivalent in action to a handler with an SQLWARNING
condition.;
--source include/show_msg80.inc
@@ -959,7 +1073,7 @@ let $message= Testcase 3.1.2.56:;
--source include/show_msg.inc
let $message=
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
+“02“ is always exactly equivalent in action to a handler with a NOT FOUND
condition.;
--source include/show_msg80.inc
@@ -1052,7 +1166,7 @@ BEGIN
END//
delimiter ;//
---error 1329
+--error ER_SP_FETCH_NO_DATA
CALL sp0();
SELECT @done, @x;
@@ -1081,13 +1195,16 @@ let $message= Testcase 3.1.2.58:;
--source include/show_msg.inc
let $message=
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
+anything other that “01“ or “02“ is always exactly equivalent in action to a
handler with an SQLEXCEPTION condition.;
--source include/show_msg80.inc
-# Error: 1339 SQLSTATE: 20000 (ER_SP_CASE_NOT_FOUND) Message: Case not found for CASE statement
-# Error: 1222 SQLSTATE: 21000 (ER_WRONG_NUMBER_OF_COLUMNS_IN_SELECT) Message: The used SELECT statements have a different number of columns
-# Error: 1326 SQLSTATE: 24000 (ER_SP_CURSOR_NOT_OPEN) Message: Cursor is not open
+# Error: SQLSTATE: 20000 (ER_SP_CASE_NOT_FOUND)
+# Message: Case not found for CASE statement
+# Error: SQLSTATE: 21000 (ER_WRONG_NUMBER_OF_COLUMNS_IN_SELECT)
+# Message: The used SELECT statements have a different number of columns
+# Error: SQLSTATE: 24000 (ER_SP_CURSOR_NOT_OPEN)
+# Message: Cursor is not open
--disable_warnings
DROP PROCEDURE IF EXISTS sp0;
@@ -1283,7 +1400,7 @@ BEGIN
END//
delimiter ;//
---error 1329
+--error ER_SP_FETCH_NO_DATA
CALL sp1();
SELECT * FROM temp;
@@ -1339,11 +1456,11 @@ END//
delimiter ;//
--echo --> not enough columns in FETCH statement
---error 1328
+--error ER_SP_WRONG_NO_OF_FETCH_ARGS
CALL sp1();
--echo --> too many columns in FETCH statement
---error 1328
+--error ER_SP_WRONG_NO_OF_FETCH_ARGS
CALL sp2();
# cleanup 3.1.2.68
@@ -1367,7 +1484,8 @@ DROP PROCEDURE IF EXISTS sp1;
create table temp1( f0 char(20), f1 char(20), f2 char(20), f3 int, f4 char(20) );
-#Error: 1329 SQLSTATE: 02000 (ER_SP_FETCH_NO_DATA) Message: No data to FETCH
+# Error: SQLSTATE: 02000 (ER_SP_FETCH_NO_DATA)
+# Message: No data to FETCH
SELECT f1, f2, f4, f5 from t2 order by f4;
@@ -1385,16 +1503,16 @@ BEGIN
open cur1;
open cur2;
BEGIN
- declare continue handler for sqlstate '02000' set count=1;
+ 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;
+ set count = 4;
BEGIN
- while count> 0 do
+ while count > 0 do
fetch cur1 into newf1, newf2, newf4, newf5;
SELECT '-2-', count, newf1, newf2, newf4, newf5;
- set count = count- 1;
+ set count = count - 1;
END while;
SELECT '-3-', count, newf1, newf2, newf4, newf4;
END;
@@ -1531,6 +1649,7 @@ DROP TABLE temp2;
--source suite/funcs_1/storedproc/cleanup_sp_tb.inc
# ==============================================================================
-let $message= . +++ END OF SCRIPT +++;
---source include/show_msg80.inc
+--echo
+--echo . +++ END OF SCRIPT +++
+--echo --------------------------------------------------------------------------------
# ==============================================================================
diff --git a/mysql-test/suite/funcs_1/storedproc/storedproc_03.inc b/mysql-test/suite/funcs_1/storedproc/storedproc_03.inc
index 9ffa7d7f66c..01810390a92 100755..100644
--- a/mysql-test/suite/funcs_1/storedproc/storedproc_03.inc
+++ b/mysql-test/suite/funcs_1/storedproc/storedproc_03.inc
@@ -5,38 +5,67 @@
# ==============================================================================
# (numbering from requirement document TP v1.0, Last updated: 25 Jan 2005 01:00)
#
-# 3.1.3 Syntax checks for the stored procedure-specific flow control statements IF, CASE, LOOP, LEAVE, ITERATE, REPEAT, WHILE:
+# 3.1.3 Syntax checks for the stored procedure-specific flow control statements
+# IF, CASE, LOOP, LEAVE, ITERATE, REPEAT, WHILE:
#
#- 1. Ensure that all subclauses that should be supported are supported.
-#- 2. Ensure that all subclauses that should not be supported are disallowed with an appropriate error message.
-#- 3. Ensure that all supported subclauses are supported only in the correct order.
-#- 4. Ensure that an appropriate error message is returned if a subclause is out-of-order in a stored procedure definition.
-#- 5. Ensure that all subclauses that are defined to be mandatory are indeed required to be mandatory by the MySQL server and tools.
-#- 6. Ensure that any subclauses that are defined to be optional are indeed treated as optional by the MySQL server and tools.
-## 7. Ensure that the IF statement acts correctly for all variants, including cases where statements are nested.
-## 8. Ensure that the CASE statement acts correctly for all variants, including cases where statements are nested.
-## 9. Ensure that the LOOP statement acts correctly for all variants, including cases where statements are nested.
+#- 2. Ensure that all subclauses that should not be supported are disallowed
+# with an appropriate error message.
+#- 3. Ensure that all supported subclauses are supported only in the
+# correct order.
+#- 4. Ensure that an appropriate error message is returned if a subclause is
+# out-of-order in a stored procedure definition.
+#- 5. Ensure that all subclauses that are defined to be mandatory are indeed
+# required to be mandatory by the MySQL server and tools.
+#- 6. Ensure that any subclauses that are defined to be optional are indeed
+# treated as optional by the MySQL server and tools.
+## 7. Ensure that the IF statement acts correctly for all variants, including
+# cases where statements are nested.
+## 8. Ensure that the CASE statement acts correctly for all variants,
+# including cases where statements are nested.
+## 9. Ensure that the LOOP statement acts correctly for all variants,
+# including cases where statements are nested.
#- 10. Ensure that the labels enclosing each LOOP statement must match.
-#- 11. Ensure that it is possible to put a beginning label at the start of a LOOP statement without also requiring an ending label at the end of the same statement.
-#- 12. Ensure that it is not possible to put an ending label at the end of a LOOP statement without also requiring a matching beginning label at the start of the same statement.
+#- 11. Ensure that it is possible to put a beginning label at the start of
+# a LOOP statement without also requiring an ending label at the end of
+# the same statement.
+#- 12. Ensure that it is not possible to put an ending label at the end of
+# a LOOP statement without also requiring a matching beginning label
+# at the start of the same statement.
#- 13. Ensure that every beginning label must end with a colon (:).
#- 14. Ensure that every beginning label with the same scope must be unique.
-## 15. Ensure that the LEAVE statement acts correctly for all variants, including cases where statements are nested.
-## 16. Ensure that the ITERATE statement acts correctly for all variants, including cases where statements are nested.
-#- 17. Ensure that the ITERATE statement fails, with an appropriate error message, if it appears in any context other than within LOOP, REPEAT, or WHILE statements.
-## 18. Ensure that the REPEAT 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.
+## 16. Ensure that the ITERATE statement acts correctly for all variants,
+# including cases where statements are nested.
+#- 17. Ensure that the ITERATE statement fails, with an appropriate error
+# message, if it appears in any context other than within LOOP, REPEAT,
+# or WHILE statements.
+## 18. Ensure that the REPEAT statement acts correctly for all variants,
+# including cases where statements are nested.
#- 19. Ensure that the labels enclosing each REPEAT statement must match.
-#- 20. Ensure that it is possible to put a beginning label at the start of a REPEAT statement without also requiring an ending label at the end of the same statement.
-#- 21. Ensure that it is not possible to put an ending label at the end of a REPEAT statement without also requiring a matching beginning label at the start of the same statement.
+#- 20. Ensure that it is possible to put a beginning label at the start of
+# a REPEAT statement without also requiring an ending label at the end
+# of the same statement.
+#- 21. Ensure that it is not possible to put an ending label at the end of
+# a REPEAT statement without also requiring a matching beginning label
+# at the start of the same statement.
#- 22. Ensure that every beginning label must end with a colon (:).
#- 23. Ensure that every beginning label with the same scope must be unique.
-## 24. Ensure that the WHILE statement acts correctly for all variants, including cases where statements are nested.
+## 24. Ensure that the WHILE statement acts correctly for all variants,
+# including cases where statements are nested.
#- 25. Ensure that the labels enclosing each WHILE statement must match.
-#- 26. Ensure that it is possible to put a beginning label at the start of a WHILE statement without also requiring an ending label at the end of the same statement.
-#- 27. Ensure that it is not possible to put an ending label at the end of a WHILE statement without also requiring a matching beginning label at the start of the same statement.
+#- 26. Ensure that it is possible to put a beginning label at the start of
+# a WHILE statement without also requiring an ending label at the end
+# of the same statement.
+#- 27. Ensure that it is not possible to put an ending label at the end of
+# a WHILE statement without also requiring a matching beginning label
+# at the start of the same statement.
#- 28. Ensure that every beginning label must end with a colon (:).
#- 29. Ensure that every beginning label with the same scope must be unique.
-## 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.
+## 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.
#
# ==============================================================================
let $message= Section 3.1.3 - Syntax checks for the stored procedure-specific flow
@@ -237,8 +266,9 @@ DROP PROCEDURE IF EXISTS sp31316;
delimiter //;
# wrong label at iterate
-#Error: 1308 SQLSTATE: 42000 (ER_SP_LILABEL_MISMATCH) Message: %s with no matching label: %s
---error 1308
+# Error: SQLSTATE: 42000 (ER_SP_LILABEL_MISMATCH)
+# Message: %s with no matching label: %s
+--error ER_SP_LILABEL_MISMATCH
CREATE PROCEDURE sp31316( )
BEGIN
declare count1 integer default 1;
@@ -436,8 +466,9 @@ BEGIN
END//
delimiter ;//
-#Error: 1318 SQLSTATE: 42000 (ER_SP_WRONG_NO_OF_ARGS) Message: Incorrect number of arguments for %s %s; expected %u, got %u
---error 1318
+# Error: SQLSTATE: 42000 (ER_SP_WRONG_NO_OF_ARGS)
+# Message: Incorrect number of arguments for %s %s; expected %u, got %u
+--error ER_SP_WRONG_NO_OF_ARGS
CALL sp31330();
CALL sp31330(1);
@@ -459,6 +490,7 @@ drop table res_tbl;
--source suite/funcs_1/storedproc/cleanup_sp_tb.inc
# ==============================================================================
-let $message= . +++ END OF SCRIPT +++;
---source include/show_msg80.inc
+--echo
+--echo . +++ END OF SCRIPT +++
+--echo --------------------------------------------------------------------------------
# ==============================================================================
diff --git a/mysql-test/suite/funcs_1/storedproc/storedproc_06.inc b/mysql-test/suite/funcs_1/storedproc/storedproc_06.inc
index e2b9e846b97..1a4dd9ff327 100755..100644
--- a/mysql-test/suite/funcs_1/storedproc/storedproc_06.inc
+++ b/mysql-test/suite/funcs_1/storedproc/storedproc_06.inc
@@ -7,20 +7,29 @@
#
# 3.1.6 Privilege checks:
#
-# 1. Ensure that no user may create a stored procedure without the GRANT CREATE ROUTINE privilege.
+# 1. Ensure that no user may create a stored procedure without the
+# GRANT CREATE ROUTINE privilege.
# 2. Ensure that root always has the GRANT CREATE ROUTINE privilege.
-# 3. Ensure that a user with the GRANT CREATE ROUTINE privilege can always create both a procedure and a function, on any appropriate database.
-# 4. Ensure that the default security provision of a stored procedure is SQL SECURITY DEFINER.
-# 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.
-# 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.
+# 3. Ensure that a user with the GRANT CREATE ROUTINE privilege can always
+# create both a procedure and a function, on any appropriate database.
+# 4. Ensure that the default security provision of a stored procedure is
+# SQL SECURITY DEFINER.
+# 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.
+# 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.
#
# ==============================================================================
let $message= Section 3.1.6 - Privilege Checks:;
--source include/show_msg80.inc
-USE db_storedproc_1;
connection default;
+USE db_storedproc_1;
--source suite/funcs_1/include/show_connection.inc
# ------------------------------------------------------------------------------
@@ -47,7 +56,7 @@ connect (user1a, localhost, user_1, , db_storedproc_1);
USE db_storedproc_1;
delimiter //;
---error 1044
+--error ER_DBACCESS_DENIED_ERROR
CREATE PROCEDURE sp1(v1 char(20))
BEGIN
SELECT * from db_storedproc_1.t6 where t6.f2= 'xyz';
@@ -58,6 +67,7 @@ disconnect user1a;
# add privilege again and check
connection default;
+USE db_storedproc_1;
--source suite/funcs_1/include/show_connection.inc
GRANT CREATE ROUTINE ON db_storedproc_1.* TO 'user_1'@'localhost';
@@ -77,6 +87,7 @@ disconnect user1b;
# cleanup
connection default;
+USE db_storedproc_1;
--source suite/funcs_1/include/show_connection.inc
DROP USER 'user_1'@'localhost';
@@ -132,6 +143,7 @@ disconnect user2;
# cleanup
connection default;
+USE db_storedproc_1;
--source suite/funcs_1/include/show_connection.inc
drop user 'user_1'@'localhost';
@@ -242,33 +254,33 @@ disconnect user5_1;
connect (user5_2, localhost, user_2, , db_storedproc_1);
--source suite/funcs_1/include/show_connection.inc
---error 1142
+--error ER_TABLEACCESS_DENIED_ERROR
CALL sp5_s_i();
---error 1142
+--error ER_TABLEACCESS_DENIED_ERROR
CALL sp5_ins();
---error 1142
+--error ER_TABLEACCESS_DENIED_ERROR
CALL sp5_sel();
# now 'add' INSERT to DEFINER
connection default;
--source suite/funcs_1/include/show_connection.inc
---error 1142
+--error ER_TABLEACCESS_DENIED_ERROR
CALL sp5_sel();
grant insert on db_storedproc_1.* to 'user_1'@'localhost';
flush privileges;
connection user5_2;
--source suite/funcs_1/include/show_connection.inc
---error 1142
+--error ER_TABLEACCESS_DENIED_ERROR
CALL sp5_s_i();
CALL sp5_ins();
---error 1142
+--error ER_TABLEACCESS_DENIED_ERROR
CALL sp5_sel();
# now 'add' SELECT to DEFINER
connection default;
--source suite/funcs_1/include/show_connection.inc
---error 1142
+--error ER_TABLEACCESS_DENIED_ERROR
CALL sp5_sel();
grant SELECT on db_storedproc_1.* to 'user_1'@'localhost';
#grant execute on db_storedproc_1.* to 'user_2'@'localhost';
@@ -288,9 +300,9 @@ flush privileges;
connection user5_2;
--source suite/funcs_1/include/show_connection.inc
---error 1142
+--error ER_TABLEACCESS_DENIED_ERROR
CALL sp5_s_i();
---error 1142
+--error ER_TABLEACCESS_DENIED_ERROR
CALL sp5_ins();
CALL sp5_sel();
@@ -302,11 +314,11 @@ flush privileges;
connection user5_2;
--source suite/funcs_1/include/show_connection.inc
---error 1142
+--error ER_TABLEACCESS_DENIED_ERROR
CALL sp5_s_i();
---error 1142
+--error ER_TABLEACCESS_DENIED_ERROR
CALL sp5_ins();
---error 1142
+--error ER_TABLEACCESS_DENIED_ERROR
CALL sp5_sel();
# cleanup
@@ -373,9 +385,9 @@ disconnect user6_1;
connect (user6_2, localhost, user_2, , db_storedproc_1);
--source suite/funcs_1/include/show_connection.inc
---error 1142
+--error ER_TABLEACCESS_DENIED_ERROR
CALL sp3166_s_i();
---error 1142
+--error ER_TABLEACCESS_DENIED_ERROR
CALL sp3166_ins();
CALL sp3166_sel();
@@ -405,10 +417,10 @@ FLUSH PRIVILEGES;
--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
connect (user6_4, localhost, user_2, , db_storedproc_1);
--source suite/funcs_1/include/show_connection.inc
---error 1142
+--error ER_TABLEACCESS_DENIED_ERROR
CALL sp3166_s_i();
CALL sp3166_ins();
---error 1142
+--error ER_TABLEACCESS_DENIED_ERROR
CALL sp3166_sel();
disconnect user6_4;
@@ -422,11 +434,11 @@ FLUSH PRIVILEGES;
--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
connect (user6_5, localhost, user_2, , db_storedproc_1);
--source suite/funcs_1/include/show_connection.inc
---error 1370
+--error ER_PROCACCESS_DENIED_ERROR
CALL sp3166_s_i();
---error 1370
+--error ER_PROCACCESS_DENIED_ERROR
CALL sp3166_ins();
---error 1370
+--error ER_PROCACCESS_DENIED_ERROR
CALL sp3166_sel();
disconnect user6_5;
@@ -447,6 +459,7 @@ DROP USER 'user_2'@'localhost';
--source suite/funcs_1/storedproc/cleanup_sp_tb.inc
# ==============================================================================
-let $message= . +++ END OF SCRIPT +++;
---source include/show_msg80.inc
+--echo
+--echo . +++ END OF SCRIPT +++
+--echo --------------------------------------------------------------------------------
# ==============================================================================
diff --git a/mysql-test/suite/funcs_1/storedproc/storedproc_07.inc b/mysql-test/suite/funcs_1/storedproc/storedproc_07.inc
index 74ef7f4fbed..74ef7f4fbed 100755..100644
--- a/mysql-test/suite/funcs_1/storedproc/storedproc_07.inc
+++ b/mysql-test/suite/funcs_1/storedproc/storedproc_07.inc
diff --git a/mysql-test/suite/funcs_1/storedproc/storedproc_08.inc b/mysql-test/suite/funcs_1/storedproc/storedproc_08.inc
index 9a693c5b96f..9a693c5b96f 100755..100644
--- a/mysql-test/suite/funcs_1/storedproc/storedproc_08.inc
+++ b/mysql-test/suite/funcs_1/storedproc/storedproc_08.inc
diff --git a/mysql-test/suite/funcs_1/storedproc/storedproc_08_show.inc b/mysql-test/suite/funcs_1/storedproc/storedproc_08_show.inc
index 962d9242675..962d9242675 100755..100644
--- a/mysql-test/suite/funcs_1/storedproc/storedproc_08_show.inc
+++ b/mysql-test/suite/funcs_1/storedproc/storedproc_08_show.inc
diff --git a/mysql-test/suite/funcs_1/storedproc/storedproc_10.inc b/mysql-test/suite/funcs_1/storedproc/storedproc_10.inc
index e69a95a724e..8e32a43e18f 100755..100644
--- a/mysql-test/suite/funcs_1/storedproc/storedproc_10.inc
+++ b/mysql-test/suite/funcs_1/storedproc/storedproc_10.inc
@@ -7,14 +7,21 @@
#
# 3.1.10 CALL checks:
#
-## 1. Ensure that a properly defined procedure can always be called, assuming the appropriate privileges exist.
-#- 2. Ensure that a procedure cannot be called if the appropriate privileges do not exist.
+## 1. Ensure that a properly defined procedure can always be called, assuming
+# the appropriate privileges exist.
+#- 2. Ensure that a procedure cannot be called if the appropriate privileges
+# do not exist.
## 3. Ensure that a function can never be called.
-## 4. Ensure that a properly defined function can always be executed, assuming the appropriate privileges exist.
-#- 5. Ensure that a function cannot be executed if the appropriate privileges do not exist.
+## 4. Ensure that a properly defined function can always be executed, assuming
+# the appropriate privileges exist.
+#- 5. Ensure that a function cannot be executed if the appropriate privileges
+# do not exist.
## 6. Ensure that a procedure can never be executed.
-## 7. Ensure that the ROW_COUNT() SQL function always returns the correct number of rows affected by the execution of a stored procedure.
-## 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.
+## 7. Ensure that the ROW_COUNT() SQL function always returns the correct
+# number of rows affected by the execution of a stored procedure.
+## 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.
#
# ==============================================================================
let $message= Section 3.1.10 - CALL checks:;
@@ -74,12 +81,14 @@ connect (user2_2, localhost, user_2, , db_storedproc);
--source suite/funcs_1/include/show_connection.inc
# no privileges exist
---error 1370
+--error ER_PROCACCESS_DENIED_ERROR
CALL sp31102();
SELECT fn31105( 9 );
# now 'add' EXECUTE to INVOKER
+--echo connection default;
connection default;
+USE db_storedproc;
--source suite/funcs_1/include/show_connection.inc
# root can execute ...
CALL sp31102();
@@ -97,7 +106,9 @@ SELECT fn31105( 9 );
disconnect user2_3;
# now 'remove' SELECT from INVOKER
+--echo connection default;
connection default;
+USE db_storedproc;
--source suite/funcs_1/include/show_connection.inc
REVOKE EXECUTE ON db_storedproc.* FROM 'user_2'@'localhost';
FLUSH PRIVILEGES;
@@ -115,6 +126,7 @@ disconnect user2_4;
# cleanup
connection default;
+USE db_storedproc;
--source suite/funcs_1/include/show_connection.inc
DROP PROCEDURE sp31102;
@@ -142,7 +154,7 @@ BEGIN
END//
delimiter ;//
---error 1305
+--error ER_SP_DOES_NOT_EXIST
CALL fn1();
# cleanup
@@ -168,7 +180,7 @@ BEGIN
END//
delimiter ;//
---error 1305
+--error ER_SP_DOES_NOT_EXIST
SELECT sp1();
# cleanup
@@ -182,26 +194,32 @@ let $message=
Ensure that the ROW_COUNT() SQL function always returns the correct number of
rows affected by the execution of a stored procedure.;
--source include/show_msg80.inc
+# Note(mleich): Information taken from a comments in
+# Bug#21818 Return value of ROW_COUNT() is incorrect for
+# ALTER TABLE, LOAD DATA
+# ROW_COUNT() is -1 following any statement which is not DELETE, INSERT
+# or UPDATE.
+# Also, after a CALL statement, ROW_COUNT() will return the value of the
+# last statement in the stored procedure.
--disable_warnings
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;
--enable_warnings
CREATE TABLE temp(f1 CHAR(20),f2 CHAR(25),f3 DATE,f4 INT,f5 CHAR(25),f6 INT);
INSERT INTO temp SELECT * FROM t10;
delimiter //;
-#FIXME: add to proc: SELECT row_count() 'ins';
CREATE PROCEDURE sp_ins_1()
BEGIN
INSERT INTO temp VALUES ('abc', 'abc', '20051003', 100, 'uvw', 1000);
END//
-
-#FIXME: add to proc: SELECT row_count() 'ins_3';
CREATE PROCEDURE sp_ins_3()
BEGIN
INSERT INTO temp VALUES ('abc', 'xyz', '19490523', 100, 'uvw', 1000);
@@ -209,26 +227,11 @@ BEGIN
INSERT INTO temp VALUES ('abc', 'xyz', '2005-10-24', 100, 'uvw', 1000);
END//
-# FIXME: add to proc: SELECT row_count() AS 'updated';
CREATE PROCEDURE sp_upd()
BEGIN
UPDATE temp SET temp.f1 = 'updated' WHERE temp.f1 ='abc';
END//
-# FIXME: use commented proc
-# 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 row_count() AS 'insert "qwe"';
-# SELECT COUNT( f1 ), f1 FROM temp GROUP BY f1;
-# UPDATE temp SET temp.f1 = 'updated_2' WHERE temp.f1 ='qwe' AND temp.f2 = 'abc';
-# SELECT row_count() AS 'update "qwe" AND "abc"';
-# END//
CREATE PROCEDURE sp_ins_upd()
BEGIN
BEGIN
@@ -240,31 +243,70 @@ BEGIN
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//
delimiter ;//
CALL sp_ins_1();
SELECT row_count();
-SELECT * FROM temp ORDER BY f4;
+--sorted_result
+SELECT * FROM temp;
CALL sp_ins_3();
-#FIXME: check is 1 correct here? I expect 3 for 3 inserted rows inside the procedure
SELECT row_count();
-SELECT * FROM temp ORDER BY f4;
+--sorted_result
+SELECT * FROM temp;
CALL sp_upd();
SELECT row_count();
-SELECT * FROM temp ORDER BY f4;
+--sorted_result
+SELECT * FROM temp;
-#FIXME: check is 3 correct here? I expect 7 for 4 inserted and then 3 updated rows inside the procedure
CALL sp_ins_upd();
SELECT row_count();
-SELECT * FROM temp ORDER BY f4;
+--sorted_result
+SELECT * FROM temp;
+
+CALL sp_del();
+SELECT row_count();
+--sorted_result
+SELECT * FROM temp;
+
+DELETE FROM temp;
+CALL sp_with_rowcount();
+SELECT row_count();
+--sorted_result
+SELECT * FROM temp;
+
# cleanup
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;
@@ -272,7 +314,7 @@ DROP TABLE temp;
let $message= Testcase 3.1.10.8:;
--source include/show_msg.inc
let $message=
-Ensure that the mysql_affected_rows() C API function always returns the correct
+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 include/show_msg80.inc
@@ -283,6 +325,7 @@ number of rows affected by the execution of a stored procedure.;
--source suite/funcs_1/storedproc/cleanup_sp_tb.inc
# ==============================================================================
-let $message= . +++ END OF SCRIPT +++;
---source include/show_msg80.inc
+--echo
+--echo . +++ END OF SCRIPT +++
+--echo --------------------------------------------------------------------------------
# ==============================================================================
diff --git a/mysql-test/suite/funcs_1/storedproc/storedproc_master.inc b/mysql-test/suite/funcs_1/storedproc/storedproc_master.inc
index 49bd5b98401..07e2743306f 100644
--- a/mysql-test/suite/funcs_1/storedproc/storedproc_master.inc
+++ b/mysql-test/suite/funcs_1/storedproc/storedproc_master.inc
@@ -1,77 +1,11 @@
#### suite/funcs_1/storedproc/storedproc_master.inc
-#
+###########################################################################
+# WL4084: Review and fix all disabled test
+# enabled this test.
+# 2007-Oct-04 Hhunger
+############################################################################
--enable_query_log
-let $message= .
- . IMPORTANT NOTICE:
- . -----------------
- .
- . FIXME: The .result files are still NOT CHECKED for correctness!
- .
- . FIXME: Several tests are affected by known problems around DECIMAL
- . FIXME: and NUMERIC that will be checked again after WL#2984 once
- . FIXME: has been completed. Some of them are marked in the result.
- .
- . Currently (Dec 06, 2005) this .result file is checked OK for Linux
- . with 5.0.17-bk (ChangeSet@1.1975.1.2, 2005-12-05 18:33:48+01:00).
- . Using the available Windows version 5.0.16 there are differences
- . that can be ignored (e.g. WL#2984).
- .;
---source include/show_msg80.inc
-
-#FIXME-START-------------------------------------------------------------------
-#
-# remove this section prior releasing the test, then we may stop at the first
-# error we get ('passed' or 'not passed' - that's the question).
---disable_abort_on_error
-
- # having ALWAYS a .reject from the changing TIME makes it easier to work with
- # the GUI diff program until the testcase is finished for pushing.
- #
- # let $message= FIXME: Show some information when / where the .result has been created;
- # --source include/show_msg.inc
- --vertical_results
- # SELECT version(), @@version_compile_os AS 'vers_comp_os', current_date, current_time;
-
- let $message= FIXME: There are subtests that are switched off due to known bugs:;
- --source include/show_msg.inc
- #set a variable here to be able to switch all crashing sub tests with ONE change HERE.
- #change the corresponding variable to '1' to enable the crashing parts.
- --disable_query_log
-
- let $check_wl2984= 0;
- eval SELECT $check_wl2984 AS 'WL#2984: DECIMAL and NUMERIC problems with differences on some machines';
-
- --horizontal_results
- --enable_query_log
-
-# As long as
-# Bug#11589: mysqltest, --ps-protocol, strange output, float/double/real with zerofill
-# is not fixed, we must switch the ps-protocol for some statements off.
-# If this bug is fixed, please
-# 1. set the following variable to 0
-# 2. check, if the test passes
-# 3. remove the workarounds
-let $have_bug_11589= 1;
-if ($have_bug_11589)
-{
- let $message= There are some statements where the ps-protocol is switched off.
- Bug#11589: mysqltest, --ps-protocol, strange output, float/double/real with zerofill;
- --source include/show_msg80.inc
-}
-
-#
-#FIXME-END---------------------------------------------------------------------
-
-
-# prepare a variable to be able to suppress machine dependant diffs
-#let $SERVER_NAME= `SELECT DISTINCT host FROM mysql.user WHERE host LIKE "%\%" AND host NOT In ("localhost", "127.0.0.1", "%")`;
-# can be used in: --replace_result $SERVER_NAME <SERVER_NAME>
-
-# ------------------------------------------------------------------------------
---source suite/funcs_1/storedproc/load_sp_tb.inc
-
-
# ==============================================================================
let $message= Section 3.1.1 - Syntax checks for the CREATE PROCEDURE, CREATE
FUNCTION, ALTER PROCEDURE, ALTER FUNCTION, DROP PROCEDURE, DROP FUNCTION, SHOW
@@ -90,18 +24,23 @@ let $message= Testcase 4.1.1:
USE db_storedproc;
--disable_warnings
+--error ER_TOO_LONG_IDENT
DROP PROCEDURE IF EXISTS sp1_thisisaveryverylongname234872934_thisisaveryverylongname234872934;
--enable_warnings
+--error ER_TOO_LONG_IDENT
CREATE PROCEDURE sp1_thisisaveryverylongname234872934_thisisaveryverylongname234872934 (f1 char(20) )
SELECT * from t1 where f2 = f1;
+--error ER_TOO_LONG_IDENT
CALL sp1_thisisaveryverylongname234872934_thisisaveryverylongname234872934('aaaa');
--disable_warnings
+--error ER_TOO_LONG_IDENT
DROP PROCEDURE IF EXISTS sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcde;
--enable_warnings
delimiter //;
+--error ER_TOO_LONG_IDENT
CREATE PROCEDURE sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcde( f1 tinytext ) language sql deterministic sql security definer comment 'this is simple'
BEGIN
set @v1 = f1;
@@ -109,6 +48,7 @@ CREATE PROCEDURE sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabc
END//
delimiter ;//
+--error ER_TOO_LONG_IDENT
CALL sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcde( 'abc' );
--replace_column 5 modified 6 created
@@ -170,9 +110,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
--- echo FIXME: Following test contains a known problem that will be checked again
--- echo FIXME: after WL#2984 has been completed: SP definition accepted with m>60 in DECIMAL(m,n)
-#FIXME --error 4711
+--error ER_TOO_BIG_PRECISION
CREATE PROCEDURE sp1( f1 decimal(256, 30) ) language sql not deterministic sql security invoker comment 'this is simple'
BEGIN
set @v1 = f1;
@@ -180,8 +118,7 @@ BEGIN
END//
DROP PROCEDURE IF EXISTS sp1//
-# should fail: 66 is not allowed; maximum is 65.
-#FIXME --error 4711
+--error ER_TOO_BIG_PRECISION
CREATE PROCEDURE sp1( f1 decimal(66, 30) ) language sql not deterministic sql security invoker comment 'this is simple'
BEGIN
set @v1 = f1;
@@ -198,28 +135,22 @@ delimiter ;//
CALL sp1( 17976931340000 );
-if ($check_wl2984)
+# switched off due to big differences with (e.g....) sol10-sparc-b
+CALL sp1( 1.797693134e+13 );
+--error ER_ILLEGAL_VALUE_FOR_TYPE
+CALL sp1( 1.7976931348623157493578e+308 );
+
+# check all ...E+100 to E-100
+let $digits= 100;
+while ($digits)
{
- # switched off due to big differences with (e.g....) sol10-sparc-b
- CALL sp1( 1.797693134e+13 );
- CALL sp1( 1.7976931348623157493578e+308 );
-
- -- echo FIXME: Following test contains a known problem that will be checked again
- -- echo FIXME: after WL#2984 has been completed:
- -- echo FIXME: values accepted without warning although m>60 in DECIMAL(m,n)
-
- # check all ...E+100 to E-100
- let $digits= 100;
- while ($digits)
- {
- eval CALL sp1( 0.1234567890987654321e+$digits );
- eval CALL sp1( 0.1234567890987654321e-$digits );
- dec $digits;
- }
- # check the 2 values which cannot be handled easy in the loop:
- eval CALL sp1( 0.1234567890987654321e+0 );
- eval CALL sp1( 0.1234567890987654321e-0 );
+ eval CALL sp1( 0.1234567890987654321e+$digits );
+ eval CALL sp1( 0.1234567890987654321e-$digits );
+ dec $digits;
}
+# check the 2 values which cannot be handled easy in the loop:
+eval CALL sp1( 0.1234567890987654321e+0 );
+eval CALL sp1( 0.1234567890987654321e-0 );
--replace_column 5 modified 6 created
SHOW PROCEDURE status;
@@ -395,7 +326,7 @@ DROP FUNCTION IF EXISTS fn1;
delimiter //;
# 1425: Too big scale 63 specified for column ''. Maximum is 30.
---error 1425
+--error ER_TOO_BIG_SCALE
CREATE FUNCTION fn1( f1 decimal(63, 31) ) returns decimal(63, 31) language sql not deterministic sql security invoker comment 'this is simple'
BEGIN
set f1 = 1000000 + f1;
@@ -403,7 +334,7 @@ BEGIN
END//
delimiter ;//
---error 1305
+--error ER_SP_DOES_NOT_EXIST
SELECT fn1( 1.3326e+8 );
delimiter //;
@@ -430,7 +361,14 @@ CREATE FUNCTION fn1( f1 enum("value1", "value1") ) returns decimal(63, 30) lang
END//
delimiter ;//
+# warnings for this select disabled due to diffs with/without --ps-protocol:
+# without ps-protocol the following warning is shown:
+# +Note 1291 Column '' has duplicated value 'value1' in SET
+# +Warning 1265 Data truncated for column 'f1' at row 1
+# Reported as BUG#33396
+--disable_warnings
SELECT fn1( "value1" );
+--enable_warnings
--replace_column 5 modified 6 created
SHOW FUNCTION STATUS LIKE 'fn1';
@@ -446,7 +384,14 @@ CREATE FUNCTION fn1( f1 set("value1", "value1") ) returns decimal(63, 30) langua
END//
delimiter ;//
+# warnings for this select disabled due to diffs with/without --ps-protocol:
+# without ps-protocol the following warning is shown:
+# +Note 1291 Column '' has duplicated value 'value1' in SET
+# +Warning 1265 Data truncated for column 'f1' at row 1
+# Reported as BUG#33396
+--disable_warnings
SELECT fn1( "value1, value1" );
+--enable_warnings
--replace_column 5 modified 6 created
SHOW FUNCTION STATUS LIKE 'fn1';
@@ -666,10 +611,12 @@ SELECT f2 into c from t1 where t1.f2=999;
END//
delimiter ;//
+--disable_warnings
set @c=1;
CALL sp7c('xyz', @out_param, @c);
SELECT @out_param;
SELECT @c;
+--enable_warnings
# cleanup
DROP PROCEDURE sp7a;
@@ -697,7 +644,7 @@ let $message= Testcase 4.1.9:
drop procedure;
--source include/show_msg80.inc
-
+--sorted_result
--replace_column 13 created 14 modified
SELECT * from mysql.proc where specific_name='sp9';
@@ -705,31 +652,34 @@ SELECT * from mysql.proc where specific_name='sp9';
DROP PROCEDURE IF EXISTS sp9;
--enable_warnings
+--sorted_result
--replace_column 13 created 14 modified
SELECT * from mysql.proc where specific_name='sp9';
CREATE PROCEDURE sp9()SELECT * from t1;
+--sorted_result
--replace_column 13 created 14 modified
SELECT * from mysql.proc where specific_name='sp9';
DROP PROCEDURE sp9;
+--sorted_result
--replace_column 13 created 14 modified
SELECT * from mysql.proc where specific_name='sp9';
CREATE PROCEDURE sp9()SELECT * from t1;
+--sorted_result
--replace_column 13 created 14 modified
SELECT * from mysql.proc where specific_name='sp9';
DROP PROCEDURE IF EXISTS sp9;
+--sorted_result
--replace_column 13 created 14 modified
SELECT * from mysql.proc where specific_name='sp9';
-
-
# ------------------------------------------------------------------------------
let $message= Testcase 4.1.10:
----------------
@@ -792,6 +742,7 @@ connect (u_1, localhost, user_1, , db_storedproc);
CALL sp11();
connection default;
+USE db_storedproc;
--source suite/funcs_1/include/show_connection.inc
alter procedure sp11 sql security invoker;
@@ -801,8 +752,9 @@ SELECT security_type from mysql.proc where specific_name='sp11';
--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
connection u_1;
--source suite/funcs_1/include/show_connection.inc
+USE db_storedproc;
---error 1142
+--error ER_TABLEACCESS_DENIED_ERROR
CALL sp11();
commit work;
@@ -897,900 +849,900 @@ appropriate error message is returned when the name is rejected;
--source include/show_msg80.inc
---error 1357
+--error ER_SP_NO_DROP_SP
CREATE PROCEDURE sp1()
DROP PROCEDURE sp1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE !_sp1( f1 char(20) )
SELECT * from t1 where f2 = f1;
-#FIXME: this was what I found in this file ... :
-#CREATE PROCEDURE !_sp1( f1 char(20) )
-# SELECT * from t1 where f2 = f1; ^a^kcd '/usr/mysql/mysql-test/t'
-#/t'ql/mysql-test
-#t]# t@localhost t
-
---error 0,1064
CREATE PROCEDURE function()
SELECT * from t1 where f2=f1;
DROP PROCEDURE function;
---error 1064
+--error ER_PARSE_ERROR
+CREATE PROCEDURE accessible()
+ SELECT * from t1 where f2=f1;
+
+--error ER_PARSE_ERROR
CREATE PROCEDURE add()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE all()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE alter()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE analyze()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE and()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE as()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE asc()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE asensitive()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE before()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE between()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE bigint()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE binary()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE blob()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE both()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE by()
SELECT * from t1 where f2=f1;
---error 1064
-CREATE PROCEDURE CALL()
+--error ER_PARSE_ERROR
+CREATE PROCEDURE call()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE cascade()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE case()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE change()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE char()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE character()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE check()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE collate()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE column()
SELECT * from t1 where f2=f1;
---error 1064
-CREATE PROCEDURE columns()
- SELECT * from t1 where f2=f1;
-DROP PROCEDURE columns;
-
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE condition()
SELECT * from t1 where f2=f1;
---error 1064
-CREATE PROCEDURE connection()
- SELECT * from t1 where f2=f1;
-
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE constraint()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE continue()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE convert()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE create()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE cross()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE current_date()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE current_time()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE current_timestamp()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE current_user()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE cursor()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE database()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE databases()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE day_hour()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE day_microsecond()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE day_minute()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE day_second()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE dec()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE decimal()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE declare()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE default()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE delayed()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE delete()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE desc()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE describe()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE deterministic()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE distinct()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE distinctrow()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE div()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE double()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE drop()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE dual()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE each()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE else()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE elseif()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE enclosed()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE escaped()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE exists()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE exit()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE explain()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE false()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE fetch()
SELECT * from t1 where f2=f1;
---error 1064
+#--error ER_PARSE_ERROR
CREATE PROCEDURE fields()
SELECT * from t1 where f2=f1;
DROP PROCEDURE fields;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE float()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE for()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE force()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE foreign()
SELECT * from t1 where f2=f1;
---error 1064
-CREATE PROCEDURE found()
- SELECT * from t1 where f2=f1;
-DROP PROCEDURE found;
-
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE from()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE fulltext()
SELECT * from t1 where f2=f1;
---error 1064
-CREATE PROCEDURE goto()
- SELECT * from t1 where f2=f1;
-DROP PROCEDURE goto;
-
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE grant()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE group()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE having()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE high_priority()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE hour_microsecond()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE hour_minute()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE hour_second()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE if()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE ignore()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE in()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE index()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE infile()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE inner()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE inout()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE insensitive()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE insert()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE int()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
+CREATE PROCEDURE int1()
+ SELECT * from t1 where f2=f1;
+
+--error ER_PARSE_ERROR
+CREATE PROCEDURE int2()
+ SELECT * from t1 where f2=f1;
+
+--error ER_PARSE_ERROR
+CREATE PROCEDURE int3()
+ SELECT * from t1 where f2=f1;
+
+--error ER_PARSE_ERROR
+CREATE PROCEDURE int4()
+ SELECT * from t1 where f2=f1;
+
+--error ER_PARSE_ERROR
+CREATE PROCEDURE int8()
+ SELECT * from t1 where f2=f1;
+
+--error ER_PARSE_ERROR
CREATE PROCEDURE integer()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE interval()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE into()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE is()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE iterate()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE join()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE key()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE keys()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE kill()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE leading()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE leave()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE left()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE like()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE limit()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
+CREATE PROCEDURE linear()
+ SELECT * from t1 where f2=f1;
+
+--error ER_PARSE_ERROR
CREATE PROCEDURE lines()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE load()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE localtime()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE localtimestamp()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE lock()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE long()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE longblob()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE longtext()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE loop()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE low_priority()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
+CREATE PROCEDURE master_ssl_verify_server_cert()
+ SELECT * from t1 where f2=f1;
+
+--error ER_PARSE_ERROR
CREATE PROCEDURE match()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE mediumblob()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE mediumint()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE mediumtext()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE middleint()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE minute_microsecond()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE minute_second()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE mod()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE modifies()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE natural()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE not()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE no_write_to_binlog()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE null()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE numeric()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE on()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE optimize()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE option()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE optionally()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE or()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE order()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE out()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE outer()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE outfile()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE precision()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE primary()
SELECT * from t1 where f2=f1;
---error 1064
-CREATE PROCEDURE privileges()
- SELECT * from t1 where f2=f1;
-DROP PROCEDURE privileges;
-
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE procedure()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE purge()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
+CREATE PROCEDURE range()
+ SELECT * from t1 where f2=f1;
+
+--error ER_PARSE_ERROR
CREATE PROCEDURE read()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE reads()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE real()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE references()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE regexp()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
+CREATE PROCEDURE release()
+ SELECT * from t1 where f2=f1;
+
+--error ER_PARSE_ERROR
CREATE PROCEDURE rename()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE repeat()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE replace()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE require()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE restrict()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE return()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE revoke()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE right()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE rlike()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE schema()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE schemas()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE second_microsecond()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE select()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sensitive()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE separator()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE set()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE show()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE smallint()
SELECT * from t1 where f2=f1;
---error 1064
-CREATE PROCEDURE soname()
- SELECT * from t1 where f2=f1;
-
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE spatial()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE specific()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sql()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sqlexception()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sqlstate()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sqlwarning()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sql_big_result()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sql_calc_found_rows()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sql_small_result()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE ssl()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE starting()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE straight_join()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE table()
SELECT * from t1 where f2=f1;
---error 1064
-CREATE PROCEDURE tables()
- SELECT * from t1 where f2=f1;
-DROP PROCEDURE tables;
-
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE terminated()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE then()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE tinyblob()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE tinyint()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE tinytext()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE to()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE trailing()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE trigger()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE true()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE undo()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE union()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE unique()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE unlock()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE unsigned()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE update()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE usage()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE use()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE using()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE utc_date()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE utc_time()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE utc_timestamp()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE values()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE varbinary()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE varchar()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE varcharacter()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE varying()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE when()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE where()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE while()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE with()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE write()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE xor()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE year_month()
SELECT * from t1 where f2=f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE zerofill()
SELECT * from t1 where f2=f1;
@@ -1803,635 +1755,619 @@ error message is returned when the name is rejected;
--source include/show_msg80.inc
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION !_fn1(f1 char) returns char
return f1;
---error 1064
+--disable_warnings
+--error ER_PARSE_ERROR
CREATE FUNCTION char(f1 char) returns char
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION char binary(f1 char binary) returns char binary
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION char ascii(f1 char ascii) returns char ascii
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION char not null(f1 char not null) returns char not null
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION char binary not null(f1 char binary not null) returns char binary not null
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION char ascii not null(f1 char ascii not null) returns char ascii not null
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION tinytext(f1 tinytext) returns tinytext
return f1;
---error 1064
+#--error ER_PARSE_ERROR
CREATE FUNCTION text(f1 text) returns text
return f1;
DROP FUNCTION text;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION mediumtext(f1 mediumtext) returns mediumtext
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION longtext(f1 longtext) returns longtext
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION tinytext not null(f1 tinytext not null) returns tinytext not null
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION text not null(f1 text not null) returns text not null
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION mediumtext not null(f1 mediumtext not null) returns mediumtext not null
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION longtext not null(f1 longtext not null) returns longtext not null
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION tinyblob(f1 tinyblob) returns tinyblob
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION blob(f1 blob) returns blob
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION mediumblob(f1 mediumblob) returns mediumblob
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION longblob(f1 longblob) returns longblob
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION tinyblob not null(f1 tinyblob not null) returns tinyblob not null
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION blob not null(f1 blob not null) returns blob not null
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION mediumblob not null(f1 mediumblob not null) returns mediumblob not null
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION longblob not null(f1 longblob not null) returns longblob not null
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION binary(f1 binary) returns binary
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION binary not null(f1 binary not null) returns binary not null
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION tinyint(f1 tinyint) returns tinyint
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION tinyint unsigned(f1 tinyint unsigned) returns tinyint unsigned
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION tinyint zerofill(f1 tinyint zerofill) returns tinyint zerofill
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION tinyint unsigned zerofill(f1 tinyint unsigned zerofill) returns tinyint unsigned zerofill
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION smallint(f1 smallint) returns smallint
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION smallint unsigned(f1 smallint unsigned) returns smallint unsigned
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION smallint zerofill(f1 smallint zerofill) returns smallint zerofill
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION smallint unsigned zerofill(f1 smallint unsigned zerofill) returns smallint unsigned zerofill
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION mediumint(f1 mediumint) returns mediumint
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION mediumint unsigned(f1 mediumint unsigned) returns mediumint unsigned
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION mediumint zerofill(f1 mediumint zerofill) returns mediumint zerofill
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION mediumint unsigned zerofill(f1 mediumint unsigned zerofill) returns mediumint unsigned zerofill
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION int(f1 int) returns int
return f1;
---error 1064
+--error ER_PARSE_ERROR
+CREATE FUNCTION int1(f1 int1) returns int1
+ return f1;
+
+--error ER_PARSE_ERROR
+CREATE FUNCTION int2(f1 int2) returns int2
+ return f1;
+
+--error ER_PARSE_ERROR
+CREATE FUNCTION int3(f1 int3) returns int3
+ return f1;
+
+--error ER_PARSE_ERROR
+CREATE FUNCTION int4(f1 int4) returns int4
+ return f1;
+
+--error ER_PARSE_ERROR
+CREATE FUNCTION int8(f1 int8) returns int8
+ return f1;
+
+--error ER_PARSE_ERROR
CREATE FUNCTION int unsigned(f1 int unsigned) returns int unsigned
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION int zerofill(f1 int zerofill) returns int zerofill
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION int unsigned zerofill(f1 int unsigned zerofill) returns int unsigned zerofill
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION bigint(f1 bigint) returns bigint
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION bigint unsigned(f1 bigint unsigned) returns bigint unsigned
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION bigint zerofill(f1 bigint zerofill) returns bigint zerofill
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION bigint unsigned zerofill(f1 bigint unsigned zerofill) returns bigint unsigned zerofill
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION decimal(f1 decimal) returns decimal
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION decimal unsigned(f1 decimal unsigned) returns decimal unsigned
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION decimal zerofill(f1 decimal zerofill) returns decimal zerofill
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION decimal unsigned zerofill(f1 decimal unsigned zerofill) returns decimal unsigned zerofill
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION numeric(f1 numeric) returns numeric
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION numeric unsigned(f1 numeric unsigned) returns numeric unsigned
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION numeric zerofill(f1 numeric zerofill) returns numeric zerofill
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION numeric unsigned zerofill(f1 numeric unsigned zerofill) returns numeric unsigned zerofill
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION real(f1 real) returns real
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION real unsigned(f1 real unsigned) returns real unsigned
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION real zerofill(f1 real zerofill) returns real zerofill
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION real unsigned zerofill(f1 real unsigned zerofill) returns real unsigned zerofill
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION float(f1 float) returns float
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION float unsigned(f1 float unsigned) returns float unsigned
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION float zerofill(f1 float zerofill) returns float zerofill
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION float unsigned zerofill(f1 float unsigned zerofill) returns float unsigned zerofill
return f1;
-#FIXME check this is OK:--error 1064
CREATE FUNCTION date(f1 date) returns date
return f1;
DROP FUNCTION date;
-#FIXME check this is OK:--error 1064
CREATE FUNCTION time(f1 time) returns time
return f1;
DROP FUNCTION time;
-#FIXME check this is OK:--error 1064
CREATE FUNCTION datetime(f1 datetime) returns datetime
return f1;
DROP FUNCTION datetime;
-#FIXME check this is OK:--error 1064
CREATE FUNCTION timestamp(f1 timestamp) returns timestamp
return f1;
DROP FUNCTION timestamp;
-#FIXME check this is OK:--error 1064
CREATE FUNCTION year(f1 year) returns year
return f1;
DROP FUNCTION year;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION year(3)(f1 year(3)) returns year(3)
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION year(4)(f1 year(4)) returns year(4)
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION enum("1enum", "2enum")(f1 enum("1enum", "2enum")) returns enum("1enum", "2enum")
return f1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION set("1set", "2set")(f1 set("1set", "2set")) returns set("1set", "2set")
return f1;
+--enable_warnings
+
+DROP FUNCTION IF EXISTS fn1;
+CREATE FUNCTION fn1(f1 char ) returns char
+ return f1;
+
+DROP FUNCTION IF EXISTS fn1;
+--error ER_NOT_SUPPORTED_YET
+CREATE FUNCTION fn1(f1 char binary ) returns char binary
+ return f1;
+
+DROP FUNCTION IF EXISTS fn1;
+CREATE FUNCTION fn1(f1 char ascii ) returns char ascii
+ return f1;
+
+DROP FUNCTION IF EXISTS fn1;
+--error ER_PARSE_ERROR
+CREATE FUNCTION fn1(f1 char not null ) returns char not null
+ return f1;
+DROP FUNCTION IF EXISTS fn1;
+--error ER_PARSE_ERROR
+CREATE FUNCTION fn1(f1 char binary not null ) returns char binary not null
+ return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(char f1 ) returns char
+--error ER_PARSE_ERROR
+CREATE FUNCTION fn1(f1 char ascii not null ) returns char ascii not null
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(char binary f1 ) returns char binary
+CREATE FUNCTION fn1(f1 tinytext ) returns tinytext
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(char ascii f1 ) returns char ascii
+CREATE FUNCTION fn1(f1 text ) returns text
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(char not null f1 ) returns char not null
+CREATE FUNCTION fn1(f1 mediumtext ) returns mediumtext
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(char binary not null f1 ) returns char binary not null
+CREATE FUNCTION fn1(f1 longtext ) returns longtext
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(char ascii not null f1 ) returns char ascii not null
+--error ER_PARSE_ERROR
+CREATE FUNCTION fn1(f1 tinytext not null ) returns tinytext not null
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(tinytext f1 ) returns tinytext
+--error ER_PARSE_ERROR
+CREATE FUNCTION fn1(f1 text not null ) returns text not null
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(text f1 ) returns text
+--error ER_PARSE_ERROR
+CREATE FUNCTION fn1(f1 mediumtext not null ) returns mediumtext not null
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(mediumtext f1 ) returns mediumtext
+--error ER_PARSE_ERROR
+CREATE FUNCTION fn1(f1 longtext not null ) returns longtext not null
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(longtext f1 ) returns longtext
+CREATE FUNCTION fn1(f1 tinyblob ) returns tinyblob
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(tinytext not null f1 ) returns tinytext not null
+CREATE FUNCTION fn1(f1 blob ) returns blob
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(text not null f1 ) returns text not null
+CREATE FUNCTION fn1(f1 mediumblob ) returns mediumblob
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(mediumtext not null f1 ) returns mediumtext not null
+CREATE FUNCTION fn1(f1 longblob ) returns longblob
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(longtext not null f1 ) returns longtext not null
+--error ER_PARSE_ERROR
+CREATE FUNCTION fn1(f1 tinyblob not null ) returns tinyblob not null
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(tinyblob f1 ) returns tinyblob
+--error ER_PARSE_ERROR
+CREATE FUNCTION fn1(f1 blob not null ) returns blob not null
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(blob f1 ) returns blob
+--error ER_PARSE_ERROR
+CREATE FUNCTION fn1(f1 mediumblob not null ) returns mediumblob not null
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(mediumblob f1 ) returns mediumblob
+--error ER_PARSE_ERROR
+CREATE FUNCTION fn1(f1 longblob not null ) returns longblob not null
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(longblob f1 ) returns longblob
+CREATE FUNCTION fn1(f1 binary ) returns binary
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(tinyblob not null f1 ) returns tinyblob not null
+--error ER_PARSE_ERROR
+CREATE FUNCTION fn1(f1 binary not null ) returns binary not null
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(blob not null f1 ) returns blob not null
+CREATE FUNCTION fn1(f1 tinyint ) returns tinyint
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(mediumblob not null f1 ) returns mediumblob not null
+CREATE FUNCTION fn1(f1 tinyint unsigned ) returns tinyint unsigned
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(longblob not null f1 ) returns longblob not null
+CREATE FUNCTION fn1(f1 tinyint zerofill ) returns tinyint zerofill
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(binary f1 ) returns binary
+CREATE FUNCTION fn1(f1 tinyint unsigned zerofill ) returns tinyint unsigned zerofill
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(binary not null f1 ) returns binary not null
+CREATE FUNCTION fn1(f1 smallint ) returns smallint
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(tinyint f1 ) returns tinyint
+CREATE FUNCTION fn1(f1 smallint unsigned ) returns smallint unsigned
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(tinyint unsigned f1 ) returns tinyint unsigned
+CREATE FUNCTION fn1(f1 smallint zerofill ) returns smallint zerofill
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(tinyint zerofill f1 ) returns tinyint zerofill
+CREATE FUNCTION fn1(f1 smallint unsigned zerofill ) returns smallint unsigned zerofill
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(tinyint unsigned zerofill f1 ) returns tinyint unsigned zerofill
+CREATE FUNCTION fn1(f1 mediumint ) returns mediumint
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(smallint f1 ) returns smallint
+CREATE FUNCTION fn1(f1 mediumint unsigned ) returns mediumint unsigned
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(smallint unsigned f1 ) returns smallint unsigned
+CREATE FUNCTION fn1(f1 mediumint zerofill ) returns mediumint zerofill
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(smallint zerofill f1 ) returns smallint zerofill
+CREATE FUNCTION fn1(f1 mediumint unsigned zerofill ) returns mediumint unsigned zerofill
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(smallint unsigned zerofill f1 ) returns smallint unsigned zerofill
+CREATE FUNCTION fn1(f1 int ) returns int
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(mediumint f1 ) returns mediumint
+CREATE FUNCTION fn1(f1 int unsigned ) returns int unsigned
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(mediumint unsigned f1 ) returns mediumint unsigned
+CREATE FUNCTION fn1(f1 int1 unsigned ) returns int1 unsigned
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(mediumint zerofill f1 ) returns mediumint zerofill
+CREATE FUNCTION fn1(f1 int2 unsigned ) returns int2 unsigned
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(mediumint unsigned zerofill f1 ) returns mediumint unsigned zerofill
+CREATE FUNCTION fn1(f1 int3 unsigned ) returns int3 unsigned
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(int f1 ) returns int
+CREATE FUNCTION fn1(f1 int4 unsigned ) returns int4 unsigned
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(int unsigned f1 ) returns int unsigned
+CREATE FUNCTION fn1(f1 int8 unsigned ) returns int8 unsigned
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(int zerofill f1 ) returns int zerofill
+CREATE FUNCTION fn1(f1 int zerofill ) returns int zerofill
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(int unsigned zerofill f1 ) returns int unsigned zerofill
+CREATE FUNCTION fn1(f1 int unsigned zerofill ) returns int unsigned zerofill
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(bigint f1 ) returns bigint
+CREATE FUNCTION fn1(f1 bigint ) returns bigint
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(bigint unsigned f1 ) returns bigint unsigned
+CREATE FUNCTION fn1(f1 bigint unsigned ) returns bigint unsigned
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(bigint zerofill f1 ) returns bigint zerofill
+CREATE FUNCTION fn1(f1 bigint zerofill ) returns bigint zerofill
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(bigint unsigned zerofill f1 ) returns bigint unsigned zerofill
+CREATE FUNCTION fn1(f1 bigint unsigned zerofill ) returns bigint unsigned zerofill
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(decimal f1 ) returns decimal
+CREATE FUNCTION fn1(f1 decimal ) returns decimal
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(decimal unsigned f1 ) returns decimal unsigned
+CREATE FUNCTION fn1(f1 decimal unsigned ) returns decimal unsigned
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(decimal zerofill f1 ) returns decimal zerofill
+CREATE FUNCTION fn1(f1 decimal zerofill ) returns decimal zerofill
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(decimal unsigned zerofill f1 ) returns decimal unsigned zerofill
+CREATE FUNCTION fn1(f1 decimal unsigned zerofill ) returns decimal unsigned zerofill
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(numeric f1 ) returns numeric
+CREATE FUNCTION fn1(f1 numeric ) returns numeric
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(numeric unsigned f1 ) returns numeric unsigned
+CREATE FUNCTION fn1(f1 numeric unsigned ) returns numeric unsigned
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(numeric zerofill f1 ) returns numeric zerofill
+CREATE FUNCTION fn1(f1 numeric zerofill ) returns numeric zerofill
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(numeric unsigned zerofill f1 ) returns numeric unsigned zerofill
+CREATE FUNCTION fn1(f1 numeric unsigned zerofill ) returns numeric unsigned zerofill
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(real f1 ) returns real
+CREATE FUNCTION fn1(f1 real ) returns real
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(real unsigned f1 ) returns real unsigned
+CREATE FUNCTION fn1(f1 real unsigned ) returns real unsigned
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(real zerofill f1 ) returns real zerofill
+CREATE FUNCTION fn1(f1 real zerofill ) returns real zerofill
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(real unsigned zerofill f1 ) returns real unsigned zerofill
+CREATE FUNCTION fn1(f1 real unsigned zerofill ) returns real unsigned zerofill
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(float f1 ) returns float
+CREATE FUNCTION fn1(f1 float ) returns float
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(float unsigned f1 ) returns float unsigned
+CREATE FUNCTION fn1(f1 float unsigned ) returns float unsigned
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(float zerofill f1 ) returns float zerofill
+CREATE FUNCTION fn1(f1 float zerofill ) returns float zerofill
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(float unsigned zerofill f1 ) returns float unsigned zerofill
+CREATE FUNCTION fn1(f1 float unsigned zerofill ) returns float unsigned zerofill
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(date f1 ) returns date
+CREATE FUNCTION fn1(f1 date ) returns date
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(time f1 ) returns time
+CREATE FUNCTION fn1(f1 time ) returns time
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(datetime f1 ) returns datetime
+CREATE FUNCTION fn1(f1 datetime ) returns datetime
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(timestamp f1 ) returns timestamp
+CREATE FUNCTION fn1(f1 timestamp ) returns timestamp
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(year f1 ) returns year
+CREATE FUNCTION fn1(f1 year ) returns year
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(year(3) f1 ) returns year(3)
+--error ER_PARSE_ERROR
+CREATE FUNCTION fn1(f1 year(f1 3) ) returns year(3)
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(year(4) f1 ) returns year(4)
+--error ER_PARSE_ERROR
+CREATE FUNCTION fn1(f1 year(f1 4) ) returns year(4)
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(enum("1enum", "2enum") f1 ) returns enum("1enum", "2enum")
+--error ER_PARSE_ERROR
+CREATE FUNCTION fn1(f1 enum(f1 "1enum", "2enum") ) returns enum("1enum", "2enum")
return f1;
DROP FUNCTION IF EXISTS fn1;
---error 1064
-CREATE FUNCTION fn1(set("1set", "2set") f1 ) returns set("1set", "2set")
+--error ER_PARSE_ERROR
+CREATE FUNCTION fn1(f1 set(f1 "1set", "2set") ) returns set("1set", "2set")
return f1;
@@ -2444,7 +2380,7 @@ appropriate error message;
DROP PROCEDURE IF EXISTS sp16;
---error 1305
+--error ER_SP_DOES_NOT_EXIST
CALL sp16( 'xyz' );
CREATE DATABASE db1;
@@ -2458,7 +2394,7 @@ BEGIN
END//
delimiter ;//
---error 1305
+--error ER_SP_DOES_NOT_EXIST
CALL db_storedproc.sp16();
# cleanup
@@ -2501,15 +2437,15 @@ SELECT db_storedproc.sp1( 'a' );
DROP FUNCTION db_storedproc.sp1;
USE db_storedproc;
---error 1305
+--error ER_SP_DOES_NOT_EXIST
SELECT sp1('a');
DROP PROCEDURE sp1;
---error 1305
+--error ER_SP_DOES_NOT_EXIST
CALL sp1();
---error 1305
+--error ER_SP_DOES_NOT_EXIST
SELECT sp1('a');
# cleanup
@@ -2546,9 +2482,11 @@ DROP DATABASE IF EXISTS db1;
CREATE DATABASE db1;
USE db1;
alter procedure db_storedproc.sp1 sql security invoker;
+--sorted_result
SELECT name, type, security_type from mysql.proc where db LIKE 'db_storedproc%' and specific_name='sp1';
alter function db_storedproc.sp1 sql security invoker;
+--sorted_result
SELECT name, type, security_type from mysql.proc where db LIKE 'db_storedproc%' and specific_name='sp1';
CALL db_storedproc.sp1();
@@ -2562,7 +2500,7 @@ CALL db_storedproc.sp1();
SELECT db_storedproc.sp1();
alter function sp1 sql security definer;
-
+--sorted_result
SELECT name, type, security_type from mysql.proc where db LIKE 'db_storedproc%' and specific_name='sp1';
CALL db_storedproc.sp1();
@@ -2624,6 +2562,7 @@ SELECT db_storedproc.sp1();
alter procedure db_storedproc_3122.sp1 sql security invoker;
alter function sp1 sql security invoker;
+--sorted_result
SELECT db, name, type, security_type from mysql.proc where db LIKE 'db_storedproc%' and specific_name='sp1';
CALL db_storedproc.sp1();
@@ -2701,20 +2640,20 @@ CREATE DATABASE db1;
DROP PROCEDURE IF EXISTS sp1;
CREATE PROCEDURE sp1 () set @x=1;
---error 1304
+--error ER_SP_ALREADY_EXISTS
CREATE PROCEDURE sp1 () set @x=2;
CALL sp1();
SELECT @x;
USE db1;
---error 1304
+--error ER_SP_ALREADY_EXISTS
CREATE PROCEDURE db_storedproc.sp1 () set @x=3;
CALL db_storedproc.sp1();
SELECT @x;
DROP PROCEDURE IF EXISTS db_storedproc.sp1;
CREATE PROCEDURE db_storedproc.sp1 () set @x=1;
---error 1304
+--error ER_SP_ALREADY_EXISTS
CREATE PROCEDURE db_storedproc.sp1 () set @x=2;
CALL db_storedproc.sp1();
SELECT @x;
@@ -2738,16 +2677,16 @@ DROP DATABASE IF EXISTS db1;
CREATE DATABASE db1;
DROP FUNCTION IF EXISTS fn1;
CREATE FUNCTION fn1 () returns int return 1;
---error 1304
+--error ER_SP_ALREADY_EXISTS
CREATE FUNCTION fn1 () returns int return 2;
SELECT fn1();
USE db1;
---error 1304
+--error ER_SP_ALREADY_EXISTS
CREATE FUNCTION db_storedproc.fn1 () returns int return 3;
SELECT db_storedproc.fn1();
DROP FUNCTION IF EXISTS db_storedproc.fn1;
CREATE FUNCTION db_storedproc.fn1 () returns int return 1;
---error 1304
+--error ER_SP_ALREADY_EXISTS
CREATE FUNCTION db_storedproc.fn1 () returns int return 2;
SELECT db_storedproc.fn1();
@@ -2818,7 +2757,7 @@ error message is returned when the name is rejected. (invalid func name);
--source include/show_msg80.inc
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION !_fn1( f1 char(20) ) returns int
BEGIN
SELECT * from t1 where f2 = f1;
@@ -2827,7 +2766,7 @@ END//
delimiter ;//
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION fn1( f1 char(20) ) return int
BEGIN
SELECT * from t1 where f2 = f1;
@@ -2838,20 +2777,20 @@ delimiter ;//
CREATE FUNCTION fn1() returns int
return 'a';
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION procedure() returns int
return 1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION fn1(a char) returns int lang sql return 1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION fn1(a char) returns int deterministic( return 1);
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION fn1(a char) returns int non deterministic return 1;
---error 1064
+--error ER_PARSE_ERROR
CREATE FUNCTION fn1(a char) returns int not deterministic comment 'abc' language sql sql security refiner return 1;
# clean up
@@ -2924,7 +2863,7 @@ DROP PROCEDURE IF EXISTS sp1;
# missing BEGIN
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( cnt int(20) )
SELECT count(*) into cnt from t2;
set @count = cnt;
@@ -2932,7 +2871,7 @@ CREATE PROCEDURE sp1( cnt int(20) )
END//
delimiter ;//
---error 1305
+--error ER_SP_DOES_NOT_EXIST
CALL sp1( 10 );
--disable_warnings
@@ -2941,7 +2880,7 @@ DROP PROCEDURE IF EXISTS sp1;
# wrong order of BEGIN and END
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( cnt int(20) )
END
SELECT count(*) into cnt from t2;
@@ -2950,7 +2889,7 @@ END
BEGIN//
delimiter ;//
---error 1305
+--error ER_SP_DOES_NOT_EXIST
CALL sp1( 10 );
--disable_warnings
@@ -2959,7 +2898,7 @@ DROP PROCEDURE IF EXISTS sp1;
# invalid usage of BEGIN + END
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( cnt int(20) )
BEGIN
SELECT count(*) into cnt from t2;
@@ -3003,7 +2942,19 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
+CREATE PROCEDURE sp1()
+ accessible:BEGIN
+ SELECT @x;
+END//
+delimiter ;//
+
+--disable_warnings
+DROP PROCEDURE IF EXISTS sp1;
+--enable_warnings
+
+delimiter //;
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
add:BEGIN
SELECT @x;
@@ -3015,7 +2966,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
all:BEGIN
SELECT @x;
@@ -3027,7 +2978,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_SP_BADSTATEMENT
CREATE PROCEDURE sp1()
alter:BEGIN
SELECT @x;
@@ -3039,7 +2990,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
analyze:BEGIN
SELECT @x;
@@ -3051,7 +3002,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
and:BEGIN
SELECT @x;
@@ -3063,7 +3014,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
as:BEGIN
SELECT @x;
@@ -3075,7 +3026,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
asc:BEGIN
SELECT @x;
@@ -3087,7 +3038,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
asensitive:BEGIN
SELECT @x;
@@ -3099,7 +3050,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
before:BEGIN
SELECT @x;
@@ -3111,7 +3062,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
between:BEGIN
SELECT @x;
@@ -3123,7 +3074,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
bigint:BEGIN
SELECT @x;
@@ -3135,7 +3086,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
binary:BEGIN
SELECT @x;
@@ -3147,7 +3098,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
blob:BEGIN
SELECT @x;
@@ -3159,7 +3110,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
both:BEGIN
SELECT @x;
@@ -3171,7 +3122,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
by:BEGIN
SELECT @x;
@@ -3183,9 +3134,9 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
- CALL:BEGIN
+ call:BEGIN
SELECT @x;
END//
delimiter ;//
@@ -3195,7 +3146,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
cascade:BEGIN
SELECT @x;
@@ -3207,7 +3158,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
case:BEGIN
SELECT @x;
@@ -3219,7 +3170,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
change:BEGIN
SELECT @x;
@@ -3231,7 +3182,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
char:BEGIN
SELECT @x;
@@ -3243,7 +3194,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
character:BEGIN
SELECT @x;
@@ -3255,7 +3206,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
check:BEGIN
SELECT @x;
@@ -3267,7 +3218,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
collate:BEGIN
SELECT @x;
@@ -3279,7 +3230,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
column:BEGIN
SELECT @x;
@@ -3291,19 +3242,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
-#FIXME: is it OK that this now succeeds? --error 1064
-CREATE PROCEDURE sp1()
- columns:BEGIN
- SELECT @x;
-END//
-delimiter ;//
-
---disable_warnings
-DROP PROCEDURE IF EXISTS sp1;
---enable_warnings
-
-delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
condition:BEGIN
SELECT @x;
@@ -3315,19 +3254,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
-CREATE PROCEDURE sp1()
- connection:BEGIN
- SELECT @x;
-END//
-delimiter ;//
-
---disable_warnings
-DROP PROCEDURE IF EXISTS sp1;
---enable_warnings
-
-delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
constraint:BEGIN
SELECT @x;
@@ -3339,7 +3266,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
continue:BEGIN
SELECT @x;
@@ -3351,7 +3278,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
convert:BEGIN
SELECT @x;
@@ -3363,7 +3290,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
create:BEGIN
SELECT @x;
@@ -3375,7 +3302,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
cross:BEGIN
SELECT @x;
@@ -3387,7 +3314,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
current_date:BEGIN
SELECT @x;
@@ -3399,7 +3326,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
current_time:BEGIN
SELECT @x;
@@ -3411,7 +3338,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
current_timestamp:BEGIN
SELECT @x;
@@ -3423,7 +3350,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
current_user:BEGIN
SELECT @x;
@@ -3435,7 +3362,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
cursor:BEGIN
SELECT @x;
@@ -3447,7 +3374,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
database:BEGIN
SELECT @x;
@@ -3459,7 +3386,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
databases:BEGIN
SELECT @x;
@@ -3471,7 +3398,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
day_hour:BEGIN
SELECT @x;
@@ -3483,7 +3410,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
day_microsecond:BEGIN
SELECT @x;
@@ -3495,7 +3422,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
day_minute:BEGIN
SELECT @x;
@@ -3507,7 +3434,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
day_second:BEGIN
SELECT @x;
@@ -3519,7 +3446,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
dec:BEGIN
SELECT @x;
@@ -3531,7 +3458,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
decimal:BEGIN
SELECT @x;
@@ -3543,7 +3470,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
declare:BEGIN
SELECT @x;
@@ -3555,7 +3482,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
default:BEGIN
SELECT @x;
@@ -3567,7 +3494,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
delayed:BEGIN
SELECT @x;
@@ -3579,7 +3506,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
delete:BEGIN
SELECT @x;
@@ -3591,7 +3518,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
desc:BEGIN
SELECT @x;
@@ -3603,7 +3530,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
describe:BEGIN
SELECT @x;
@@ -3615,7 +3542,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
deterministic:BEGIN
SELECT @x;
@@ -3627,7 +3554,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
distinct:BEGIN
SELECT @x;
@@ -3639,7 +3566,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
distinctrow:BEGIN
SELECT @x;
@@ -3651,7 +3578,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
div:BEGIN
SELECT @x;
@@ -3663,7 +3590,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
double:BEGIN
SELECT @x;
@@ -3675,7 +3602,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
drop:BEGIN
SELECT @x;
@@ -3687,7 +3614,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
dual:BEGIN
SELECT @x;
@@ -3699,7 +3626,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
each:BEGIN
SELECT @x;
@@ -3711,7 +3638,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
else:BEGIN
SELECT @x;
@@ -3723,7 +3650,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
elseif:BEGIN
SELECT @x;
@@ -3735,7 +3662,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
enclosed:BEGIN
SELECT @x;
@@ -3747,7 +3674,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
escaped:BEGIN
SELECT @x;
@@ -3759,7 +3686,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
exists:BEGIN
SELECT @x;
@@ -3771,7 +3698,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
exit:BEGIN
SELECT @x;
@@ -3783,7 +3710,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
explain:BEGIN
SELECT @x;
@@ -3795,7 +3722,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
false:BEGIN
SELECT @x;
@@ -3807,7 +3734,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
fetch:BEGIN
SELECT @x;
@@ -3819,9 +3746,9 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
-#FIXME: is it OK that this now succeeds? --error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
- fields:BEGIN
+ float:BEGIN
SELECT @x;
END//
delimiter ;//
@@ -3831,9 +3758,9 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
- float:BEGIN
+ float4:BEGIN
SELECT @x;
END//
delimiter ;//
@@ -3843,9 +3770,9 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
- for:BEGIN
+ float8:BEGIN
SELECT @x;
END//
delimiter ;//
@@ -3855,9 +3782,9 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
- force:BEGIN
+ for:BEGIN
SELECT @x;
END//
delimiter ;//
@@ -3867,9 +3794,9 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
- foreign:BEGIN
+ force:BEGIN
SELECT @x;
END//
delimiter ;//
@@ -3879,9 +3806,9 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
-#FIXME: is it OK that this now succeeds? --error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
- found:BEGIN
+ foreign:BEGIN
SELECT @x;
END//
delimiter ;//
@@ -3891,7 +3818,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
from:BEGIN
SELECT @x;
@@ -3903,7 +3830,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
fulltext:BEGIN
SELECT @x;
@@ -3915,19 +3842,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
-#FIXME: is it OK that this now succeeds? --error 1064
-CREATE PROCEDURE sp1()
- goto:BEGIN
- SELECT @x;
-END//
-delimiter ;//
-
---disable_warnings
-DROP PROCEDURE IF EXISTS sp1;
---enable_warnings
-
-delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
grant:BEGIN
SELECT @x;
@@ -3939,7 +3854,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
group:BEGIN
SELECT @x;
@@ -3951,7 +3866,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
having:BEGIN
SELECT @x;
@@ -3963,7 +3878,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
high_priority:BEGIN
SELECT @x;
@@ -3975,7 +3890,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
hour_microsecond:BEGIN
SELECT @x;
@@ -3987,7 +3902,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
hour_minute:BEGIN
SELECT @x;
@@ -3999,7 +3914,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
hour_second:BEGIN
SELECT @x;
@@ -4011,7 +3926,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
if:BEGIN
SELECT @x;
@@ -4023,7 +3938,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
ignore:BEGIN
SELECT @x;
@@ -4035,7 +3950,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
in:BEGIN
SELECT @x;
@@ -4047,7 +3962,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
index:BEGIN
SELECT @x;
@@ -4059,7 +3974,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
infile:BEGIN
SELECT @x;
@@ -4071,7 +3986,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
inner:BEGIN
SELECT @x;
@@ -4083,7 +3998,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
inout:BEGIN
SELECT @x;
@@ -4095,7 +4010,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
insensitive:BEGIN
SELECT @x;
@@ -4107,7 +4022,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
insert:BEGIN
SELECT @x;
@@ -4119,7 +4034,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
int:BEGIN
SELECT @x;
@@ -4131,7 +4046,67 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
+CREATE PROCEDURE sp1()
+ int1:BEGIN
+ SELECT @x;
+END//
+delimiter ;//
+
+--disable_warnings
+DROP PROCEDURE IF EXISTS sp1;
+--enable_warnings
+
+delimiter //;
+--error ER_PARSE_ERROR
+CREATE PROCEDURE sp1()
+ int2:BEGIN
+ SELECT @x;
+END//
+delimiter ;//
+
+--disable_warnings
+DROP PROCEDURE IF EXISTS sp1;
+--enable_warnings
+
+delimiter //;
+--error ER_PARSE_ERROR
+CREATE PROCEDURE sp1()
+ int3:BEGIN
+ SELECT @x;
+END//
+delimiter ;//
+
+--disable_warnings
+DROP PROCEDURE IF EXISTS sp1;
+--enable_warnings
+
+delimiter //;
+--error ER_PARSE_ERROR
+CREATE PROCEDURE sp1()
+ int4:BEGIN
+ SELECT @x;
+END//
+delimiter ;//
+
+--disable_warnings
+DROP PROCEDURE IF EXISTS sp1;
+--enable_warnings
+
+delimiter //;
+--error ER_PARSE_ERROR
+CREATE PROCEDURE sp1()
+ int8:BEGIN
+ SELECT @x;
+END//
+delimiter ;//
+
+--disable_warnings
+DROP PROCEDURE IF EXISTS sp1;
+--enable_warnings
+
+delimiter //;
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
integer:BEGIN
SELECT @x;
@@ -4143,7 +4118,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
interval:BEGIN
SELECT @x;
@@ -4155,7 +4130,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
into:BEGIN
SELECT @x;
@@ -4167,7 +4142,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
is:BEGIN
SELECT @x;
@@ -4179,7 +4154,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
iterate:BEGIN
SELECT @x;
@@ -4191,7 +4166,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
join:BEGIN
SELECT @x;
@@ -4203,7 +4178,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
key:BEGIN
SELECT @x;
@@ -4215,7 +4190,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
keys:BEGIN
SELECT @x;
@@ -4227,7 +4202,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
kill:BEGIN
SELECT @x;
@@ -4239,7 +4214,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
leading:BEGIN
SELECT @x;
@@ -4251,7 +4226,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
leave:BEGIN
SELECT @x;
@@ -4263,7 +4238,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
left:BEGIN
SELECT @x;
@@ -4275,7 +4250,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
like:BEGIN
SELECT @x;
@@ -4287,7 +4262,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
limit:BEGIN
SELECT @x;
@@ -4299,7 +4274,19 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
+CREATE PROCEDURE sp1()
+ linear:BEGIN
+ SELECT @x;
+END//
+delimiter ;//
+
+--disable_warnings
+DROP PROCEDURE IF EXISTS sp1;
+--enable_warnings
+
+delimiter //;
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
lines:BEGIN
SELECT @x;
@@ -4311,7 +4298,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
load:BEGIN
SELECT @x;
@@ -4323,7 +4310,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
localtime:BEGIN
SELECT @x;
@@ -4335,7 +4322,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
localtimestamp:BEGIN
SELECT @x;
@@ -4347,7 +4334,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
lock:BEGIN
SELECT @x;
@@ -4359,7 +4346,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
long:BEGIN
SELECT @x;
@@ -4371,7 +4358,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
longblob:BEGIN
SELECT @x;
@@ -4383,7 +4370,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
longtext:BEGIN
SELECT @x;
@@ -4395,7 +4382,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
loop:BEGIN
SELECT @x;
@@ -4407,7 +4394,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
low_priority:BEGIN
SELECT @x;
@@ -4419,7 +4406,19 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
+CREATE PROCEDURE sp1()
+ master_ssl_verify_server_cert:BEGIN
+ SELECT @x;
+END//
+delimiter ;//
+
+--disable_warnings
+DROP PROCEDURE IF EXISTS sp1;
+--enable_warnings
+
+delimiter //;
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
match:BEGIN
SELECT @x;
@@ -4431,7 +4430,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
mediumblob:BEGIN
SELECT @x;
@@ -4443,7 +4442,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
mediumint:BEGIN
SELECT @x;
@@ -4455,7 +4454,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
mediumtext:BEGIN
SELECT @x;
@@ -4467,7 +4466,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
middleint:BEGIN
SELECT @x;
@@ -4479,7 +4478,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
minute_microsecond:BEGIN
SELECT @x;
@@ -4491,7 +4490,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
minute_second:BEGIN
SELECT @x;
@@ -4503,7 +4502,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
mod:BEGIN
SELECT @x;
@@ -4515,7 +4514,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
modifies:BEGIN
SELECT @x;
@@ -4527,7 +4526,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
natural:BEGIN
SELECT @x;
@@ -4539,7 +4538,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
not:BEGIN
SELECT @x;
@@ -4551,7 +4550,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
no_write_to_binlog:BEGIN
SELECT @x;
@@ -4563,7 +4562,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
null:BEGIN
SELECT @x;
@@ -4576,7 +4575,7 @@ DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
numeric:BEGIN
SELECT @x;
@@ -4588,7 +4587,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
on:BEGIN
SELECT @x;
@@ -4600,7 +4599,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
optimize:BEGIN
SELECT @x;
@@ -4612,7 +4611,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
option:BEGIN
SELECT @x;
@@ -4624,7 +4623,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
optionally:BEGIN
SELECT @x;
@@ -4636,7 +4635,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
or:BEGIN
SELECT @x;
@@ -4648,7 +4647,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
order:BEGIN
SELECT @x;
@@ -4660,7 +4659,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
out:BEGIN
SELECT @x;
@@ -4672,7 +4671,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
outer:BEGIN
SELECT @x;
@@ -4684,7 +4683,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
outfile:BEGIN
SELECT @x;
@@ -4696,7 +4695,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
precision:BEGIN
SELECT @x;
@@ -4708,7 +4707,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
primary:BEGIN
SELECT @x;
@@ -4720,9 +4719,9 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
-#FIXME: is it OK that this now succeeds? --error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
- privileges:BEGIN
+ procedure:BEGIN
SELECT @x;
END//
delimiter ;//
@@ -4732,9 +4731,9 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
- procedure:BEGIN
+ purge:BEGIN
SELECT @x;
END//
delimiter ;//
@@ -4744,9 +4743,9 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
- purge:BEGIN
+ range:BEGIN
SELECT @x;
END//
delimiter ;//
@@ -4756,7 +4755,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
read:BEGIN
SELECT @x;
@@ -4768,7 +4767,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
reads:BEGIN
SELECT @x;
@@ -4779,8 +4778,32 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
+# delimiter //;
+# --error ER_PARSE_ERROR
+# CREATE PROCEDURE sp1()
+# read_only:BEGIN
+# SELECT @x;
+# END//
+# delimiter ;//
+
+--disable_warnings
+DROP PROCEDURE IF EXISTS sp1;
+--enable_warnings
+
+delimiter //;
+--error ER_PARSE_ERROR
+CREATE PROCEDURE sp1()
+ read_write:BEGIN
+ SELECT @x;
+END//
+delimiter ;//
+
+--disable_warnings
+DROP PROCEDURE IF EXISTS sp1;
+--enable_warnings
+
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
real:BEGIN
SELECT @x;
@@ -4792,7 +4815,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
references:BEGIN
SELECT @x;
@@ -4804,7 +4827,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
regexp:BEGIN
SELECT @x;
@@ -4816,7 +4839,19 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
+CREATE PROCEDURE sp1()
+ release:BEGIN
+ SELECT @x;
+END//
+delimiter ;//
+
+--disable_warnings
+DROP PROCEDURE IF EXISTS sp1;
+--enable_warnings
+
+delimiter //;
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
rename:BEGIN
SELECT @x;
@@ -4828,7 +4863,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
repeat:BEGIN
SELECT @x;
@@ -4840,7 +4875,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
replace:BEGIN
SELECT @x;
@@ -4852,7 +4887,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
require:BEGIN
SELECT @x;
@@ -4864,7 +4899,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
restrict:BEGIN
SELECT @x;
@@ -4876,7 +4911,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
return:BEGIN
SELECT @x;
@@ -4888,7 +4923,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
revoke:BEGIN
SELECT @x;
@@ -4900,7 +4935,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
right:BEGIN
SELECT @x;
@@ -4912,7 +4947,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
rlike:BEGIN
SELECT @x;
@@ -4924,7 +4959,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
schema:BEGIN
SELECT @x;
@@ -4936,7 +4971,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
schemas:BEGIN
SELECT @x;
@@ -4948,7 +4983,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
second_microsecond:BEGIN
SELECT @x;
@@ -4960,7 +4995,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
select:BEGIN
SELECT @x;
@@ -4972,7 +5007,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
sensitive:BEGIN
SELECT @x;
@@ -4984,7 +5019,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
separator:BEGIN
SELECT @x;
@@ -4996,7 +5031,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
set:BEGIN
SELECT @x;
@@ -5008,7 +5043,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
show:BEGIN
SELECT @x;
@@ -5020,7 +5055,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
smallint:BEGIN
SELECT @x;
@@ -5032,19 +5067,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
-CREATE PROCEDURE sp1()
- soname:BEGIN
- SELECT @x;
-END//
-delimiter ;//
-
---disable_warnings
-DROP PROCEDURE IF EXISTS sp1;
---enable_warnings
-
-delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
spatial:BEGIN
SELECT @x;
@@ -5056,7 +5079,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
specific:BEGIN
SELECT @x;
@@ -5068,7 +5091,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
sql:BEGIN
SELECT @x;
@@ -5080,7 +5103,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
sqlexception:BEGIN
SELECT @x;
@@ -5092,7 +5115,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
sqlstate:BEGIN
SELECT @x;
@@ -5103,9 +5126,8 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
-
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
sqlwarning:BEGIN
SELECT @x;
@@ -5116,9 +5138,8 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
-
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
sql_big_result:BEGIN
SELECT @x;
@@ -5130,7 +5151,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
sql_calc_found_rows:BEGIN
SELECT @x;
@@ -5142,7 +5163,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
sql_small_result:BEGIN
SELECT @x;
@@ -5154,7 +5175,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
ssl:BEGIN
SELECT @x;
@@ -5166,7 +5187,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
starting:BEGIN
SELECT @x;
@@ -5178,7 +5199,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
straight_join:BEGIN
SELECT @x;
@@ -5190,7 +5211,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
table:BEGIN
SELECT @x;
@@ -5202,19 +5223,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
-#FIXME: is it OK that this now succeeds? --error 1064
-CREATE PROCEDURE sp1()
- tables:BEGIN
- SELECT @x;
-END//
-delimiter ;//
-
---disable_warnings
-DROP PROCEDURE IF EXISTS sp1;
---enable_warnings
-
-delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
terminated:BEGIN
SELECT @x;
@@ -5226,7 +5235,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
then:BEGIN
SELECT @x;
@@ -5238,7 +5247,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
tinyblob:BEGIN
SELECT @x;
@@ -5250,7 +5259,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
tinyint:BEGIN
SELECT @x;
@@ -5262,7 +5271,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
tinytext:BEGIN
SELECT @x;
@@ -5274,7 +5283,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
to:BEGIN
SELECT @x;
@@ -5285,9 +5294,8 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
-
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
trailing:BEGIN
SELECT @x;
@@ -5299,7 +5307,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
trigger:BEGIN
SELECT @x;
@@ -5311,7 +5319,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
true:BEGIN
SELECT @x;
@@ -5323,7 +5331,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
undo:BEGIN
SELECT @x;
@@ -5335,7 +5343,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
union:BEGIN
SELECT @x;
@@ -5347,7 +5355,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
unique:BEGIN
SELECT @x;
@@ -5359,7 +5367,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1314
+--error ER_SP_BADSTATEMENT
CREATE PROCEDURE sp1()
unlock:BEGIN
SELECT @x;
@@ -5371,7 +5379,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
unsigned:BEGIN
SELECT @x;
@@ -5383,7 +5391,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
update:BEGIN
SELECT @x;
@@ -5395,7 +5403,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
usage:BEGIN
SELECT @x;
@@ -5407,7 +5415,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
use:BEGIN
SELECT @x;
@@ -5419,7 +5427,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
using:BEGIN
SELECT @x;
@@ -5431,7 +5439,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
utc_date:BEGIN
SELECT @x;
@@ -5443,7 +5451,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
utc_time:BEGIN
SELECT @x;
@@ -5455,7 +5463,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
utc_timestamp:BEGIN
SELECT @x;
@@ -5467,7 +5475,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
values:BEGIN
SELECT @x;
@@ -5479,7 +5487,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
varbinary:BEGIN
SELECT @x;
@@ -5491,7 +5499,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
varchar:BEGIN
SELECT @x;
@@ -5503,7 +5511,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
varcharacter:BEGIN
SELECT @x;
@@ -5515,7 +5523,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
varying:BEGIN
SELECT @x;
@@ -5527,7 +5535,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
when:BEGIN
SELECT @x;
@@ -5539,7 +5547,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
where:BEGIN
SELECT @x;
@@ -5551,7 +5559,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
while:BEGIN
SELECT @x;
@@ -5563,7 +5571,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
with:BEGIN
SELECT @x;
@@ -5575,7 +5583,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
write:BEGIN
SELECT @x;
@@ -5587,7 +5595,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
xor:BEGIN
SELECT @x;
@@ -5599,7 +5607,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
year_month:BEGIN
SELECT @x;
@@ -5611,7 +5619,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
zerofill:BEGIN
SELECT @x;
@@ -5663,7 +5671,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1310
+--error ER_SP_LABEL_MISMATCH
CREATE PROCEDURE sp1( )
begin1_label: BEGIN
declare x char;
@@ -5716,7 +5724,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare x char;
@@ -5736,7 +5744,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
begin_label BEGIN
declare x char;
@@ -5757,7 +5765,7 @@ DROP PROCEDURE IF EXISTS sp6;
--enable_warnings
delimiter //;
---error 1309
+--error ER_SP_LABEL_REDEFINE
CREATE PROCEDURE sp6( )
begin_samelabel: BEGIN
declare x char;
@@ -5788,10 +5796,8 @@ a stored procedure (with the declare statement) may only be properly defined;
DROP PROCEDURE IF EXISTS sp6;
--enable_warnings
--- echo FIXME: Following test contains a known problem that will be checked again
--- echo FIXME: after WL#2984 has been completed: DECIMAL(255,255) is not rejected
-
delimiter //;
+--error ER_TOO_BIG_SCALE
CREATE PROCEDURE sp6( )
BEGIN
declare x char default 'a';
@@ -5842,7 +5848,7 @@ DROP PROCEDURE IF EXISTS sp6;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp6( )
BEGIN
declare x default '0' char;
@@ -5855,7 +5861,7 @@ DROP PROCEDURE IF EXISTS sp6;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp6( )
BEGIN
declare x char, integer default '0';
@@ -5868,7 +5874,7 @@ DROP PROCEDURE IF EXISTS sp6;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp6( )
BEGIN
declare x1, x2 char, integer default '0', 1;
@@ -5881,7 +5887,7 @@ DROP PROCEDURE IF EXISTS sp6;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare char x;
@@ -5895,7 +5901,7 @@ DROP PROCEDURE IF EXISTS sp6;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare char x, y1 integer default 0;
@@ -5909,7 +5915,7 @@ DROP PROCEDURE IF EXISTS sp6;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp6( )
BEGIN
declare x default 'a' char;
@@ -5921,7 +5927,7 @@ DROP PROCEDURE IF EXISTS sp6;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp6( )
BEGIN
declare condition notable for sqlstate '42s22';
@@ -5933,7 +5939,7 @@ DROP PROCEDURE IF EXISTS sp6;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp6( )
BEGIN
declare condition for notable sqlstate '42s22';
@@ -5945,7 +5951,7 @@ DROP PROCEDURE IF EXISTS sp6;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp6( )
BEGIN
declare condition for sqlstate notable '42s22';
@@ -5957,7 +5963,7 @@ DROP PROCEDURE IF EXISTS sp6;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp6( )
BEGIN
declare condition for sqlstate '42s22' notable;
@@ -5969,7 +5975,7 @@ DROP PROCEDURE IF EXISTS sp6;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp6( )
BEGIN
declare cursor cur1 for SELECT f1 from db_storedproc.t2;
@@ -5981,7 +5987,7 @@ DROP PROCEDURE IF EXISTS sp6;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp6( )
BEGIN
declare cursor for cur1 SELECT f1 from db_storedproc.t2;
@@ -5993,7 +5999,7 @@ DROP PROCEDURE IF EXISTS sp6;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp6( )
BEGIN
declare cursor for SELECT cur1 f1 from db_storedproc.t2;
@@ -6005,7 +6011,7 @@ DROP PROCEDURE IF EXISTS sp6;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp6( )
BEGIN
declare handler continue for sqlstate '02000' set @x2 = 1;
@@ -6017,7 +6023,7 @@ DROP PROCEDURE IF EXISTS sp6;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp6( )
BEGIN
declare handler exit for sqlstate '02000' set @x2 = 1;
@@ -6029,7 +6035,7 @@ DROP PROCEDURE IF EXISTS sp6;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp6( )
BEGIN
declare handler undo for sqlstate '02000' set @x2 = 1;
@@ -6041,7 +6047,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare char x;
@@ -6054,7 +6060,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare char binary x;
@@ -6067,7 +6073,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare char ascii x;
@@ -6080,7 +6086,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare tinytext x;
@@ -6093,7 +6099,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare x;
@@ -6106,7 +6112,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare mediumtext x;
@@ -6119,7 +6125,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare longtext x;
@@ -6132,7 +6138,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare tinyblob x;
@@ -6145,7 +6151,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare blob x;
@@ -6158,7 +6164,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare mediumblob x;
@@ -6171,7 +6177,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare longblob x;
@@ -6184,7 +6190,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare binary x;
@@ -6197,7 +6203,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare tinyint x;
@@ -6210,7 +6216,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare tinyint unsigned x;
@@ -6223,7 +6229,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare tinyint zerofill x;
@@ -6236,7 +6242,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare tinyint unsigned zerofill x;
@@ -6249,7 +6255,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare smallint x;
@@ -6262,7 +6268,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare smallint unsigned x;
@@ -6275,7 +6281,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare smallint zerofill x;
@@ -6288,7 +6294,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare smallint unsigned zerofill x;
@@ -6301,7 +6307,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare mediumint x;
@@ -6314,7 +6320,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare mediumint unsigned x;
@@ -6327,7 +6333,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare mediumint zerofill x;
@@ -6340,7 +6346,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare mediumint unsigned zerofill x;
@@ -6353,7 +6359,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare int x;
@@ -6366,7 +6372,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare int unsigned x;
@@ -6379,7 +6385,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare int zerofill x;
@@ -6392,7 +6398,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare int unsigned zerofill x;
@@ -6405,7 +6411,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare bigint x;
@@ -6418,7 +6424,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare bigint unsigned x;
@@ -6432,7 +6438,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare bigint zerofill x;
@@ -6445,7 +6451,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare bigint unsigned zerofill x;
@@ -6458,7 +6464,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare decimal x;
@@ -6471,7 +6477,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare decimal unsigned x;
@@ -6484,7 +6490,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare decimal zerofill x;
@@ -6497,7 +6503,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare decimal unsigned zerofill not null x;
@@ -6510,7 +6516,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare decimal (0) not null x;
@@ -6523,7 +6529,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare decimal (64) not null x;
@@ -6536,7 +6542,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare decimal (0) unsigned not null x;
@@ -6549,7 +6555,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare decimal (64) unsigned not null x;
@@ -6562,7 +6568,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare decimal (0) zerofill not null x;
@@ -6575,7 +6581,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare decimal (64) zerofill not null x;
@@ -6588,7 +6594,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare decimal (0) unsigned zerofill not null x;
@@ -6601,7 +6607,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare decimal (64) unsigned zerofill not null x;
@@ -6614,7 +6620,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare decimal (00) not null x;
@@ -6627,7 +6633,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare decimal (63, 30) not null x;
@@ -6640,7 +6646,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare decimal (00) unsigned not null x;
@@ -6653,7 +6659,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare decimal (63, 30) unsigned not null x;
@@ -6666,7 +6672,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare decimal (00) zerofill not null x;
@@ -6679,7 +6685,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare decimal (63, 30) zerofill not null x;
@@ -6692,7 +6698,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare decimal (00) unsigned zerofill not null x;
@@ -6705,7 +6711,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare decimal (63, 30) unsigned zerofill not null x;
@@ -6718,7 +6724,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare numeric not null x;
@@ -6731,7 +6737,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare numeric unsigned not null x;
@@ -6744,7 +6750,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare numeric zerofill not null x;
@@ -6757,7 +6763,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare numeric unsigned zerofill not null x;
@@ -6770,7 +6776,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare numeric (0) not null x;
@@ -6783,7 +6789,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare numeric (64) not nul x;
@@ -6796,7 +6802,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare numeric (0) unsigned x;
@@ -6809,7 +6815,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare numeric (64) unsigned x;
@@ -6822,7 +6828,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare numeric (0) zerofill x;
@@ -6835,7 +6841,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare numeric (64) zerofill x;
@@ -6848,7 +6854,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare numeric (0) unsigned zerofill x;
@@ -6861,7 +6867,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare numeric (64) unsigned zerofill x;
@@ -6874,7 +6880,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare numeric (00) x;
@@ -6887,7 +6893,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare numeric (63, 30) x;
@@ -6901,7 +6907,7 @@ DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare numeric (00) unsigned x;
@@ -6914,7 +6920,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare numeric (63, 30) unsigned x;
@@ -6927,7 +6933,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare numeric (00) zerofill x;
@@ -6940,7 +6946,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare numeric (63, 30) zerofill x;
@@ -6953,7 +6959,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare numeric (00) unsigned zerofill x;
@@ -6966,7 +6972,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare numeric (63, 30) unsigned zerofill x;
@@ -6979,7 +6985,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare real x;
@@ -6992,7 +6998,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare real unsigned x;
@@ -7005,7 +7011,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare real zerofill x;
@@ -7018,7 +7024,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare real unsigned zerofill x;
@@ -7031,7 +7037,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare double x;
@@ -7044,7 +7050,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare double unsigned x;
@@ -7057,7 +7063,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare double zerofill x;
@@ -7070,7 +7076,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare double unsigned zerofill x;
@@ -7083,7 +7089,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare float not null x;
@@ -7096,7 +7102,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare float unsigned not null x;
@@ -7109,7 +7115,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare float zerofill not null x;
@@ -7122,7 +7128,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare float unsigned zerofill not null x;
@@ -7135,7 +7141,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare float(0) not null x;
@@ -7148,7 +7154,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare float(23) not null x;
@@ -7161,7 +7167,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare float(0) unsigned not null x;
@@ -7174,7 +7180,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare float(23) unsigned not null x;
@@ -7187,7 +7193,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare float(0) zerofill not null x;
@@ -7200,7 +7206,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare float(23) zerofill not null x;
@@ -7213,7 +7219,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare float(0) unsigned zerofill not null x;
@@ -7226,7 +7232,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare float(23) unsigned zerofill not null x;
@@ -7239,7 +7245,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare float(24) not null x;
@@ -7252,7 +7258,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare float(53) not null x;
@@ -7265,7 +7271,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare float(24) unsigned not null x;
@@ -7278,7 +7284,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare float(53) unsigned not null x;
@@ -7291,7 +7297,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare float(24) zerofill not null x;
@@ -7304,7 +7310,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare float(53) zerofill not null x;
@@ -7317,7 +7323,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare float(24) unsigned zerofill not null x;
@@ -7330,7 +7336,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare float(53) unsigned zerofill not null x;
@@ -7343,7 +7349,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare date not null x;
@@ -7356,7 +7362,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare time not null x;
@@ -7369,7 +7375,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare datetime not null x;
@@ -7382,7 +7388,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare timestamp not null x;
@@ -7395,7 +7401,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare year not null x;
@@ -7408,7 +7414,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare year(3) not null x;
@@ -7421,7 +7427,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare year(4) not null x;
@@ -7434,7 +7440,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare enum("1enum", "2enum") not null x;
@@ -7447,7 +7453,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare set("1set", "2set") not nul x;
@@ -7468,20 +7474,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1337
-CREATE PROCEDURE sp1()
-BEGIN
- declare continue handler for sqlstate '23000' set @x2 = 1;
- declare x char;
-END//
-delimiter ;//
-
---disable_warnings
-DROP PROCEDURE IF EXISTS sp1;
---enable_warnings
-
-delimiter //;
---error 1337
+--error ER_SP_VARCOND_AFTER_CURSHNDLR
CREATE PROCEDURE sp1()
BEGIN
declare continue handler for sqlstate '23000' set @x2 = 1;
@@ -7494,7 +7487,7 @@ DROP PROCEDURE IF EXISTS sp6;
--enable_warnings
delimiter //;
---error 1337
+--error ER_SP_VARCOND_AFTER_CURSHNDLR
CREATE PROCEDURE sp6( )
BEGIN
declare cursor1 cursor for SELECT f1 from tb1;
@@ -7507,7 +7500,7 @@ DROP PROCEDURE IF EXISTS sp6;
--enable_warnings
delimiter //;
---error 1337
+--error ER_SP_VARCOND_AFTER_CURSHNDLR
CREATE PROCEDURE sp6( )
BEGIN
declare cursor1 cursor for SELECT f1 from tb1;
@@ -7520,7 +7513,7 @@ DROP PROCEDURE IF EXISTS sp6;
--enable_warnings
delimiter //;
---error 1338
+--error ER_SP_CURSOR_AFTER_HANDLER
CREATE PROCEDURE sp6( )
BEGIN
declare sqlcondition condition for sqlstate '02000';
@@ -7536,27 +7529,21 @@ Ensure that the declare statement can declare multiple variables both separately
and all at once from a variable list. (multiple declaration);
--source include/show_msg80.inc
-#FIXME 4.2.15: switched off until bug is fixed:
-#FIXME 4.2.15: Bug #14376 MySQL crash on scoped variable (re)initialization
+--disable_warnings
+DROP PROCEDURE IF EXISTS sp1;
+--enable_warnings
+
delimiter //;
-if (0)
-{
- --disable_warnings
- DROP PROCEDURE IF EXISTS sp_14376//
- --enable_warnings
- #--error 4711
- CREATE PROCEDURE sp_14376()
+CREATE PROCEDURE sp1()
BEGIN
DECLARE x1 CHAR(100) DEFAULT 'outer';
BEGIN
DECLARE x1 CHAR(100) DEFAULT x1;
END;
END//
- CALL sp_14376()//
- DROP PROCEDURE sp_14376()//
-}
delimiter ;//
+CALL sp1();
--disable_warnings
DROP PROCEDURE IF EXISTS sp1;
@@ -8022,9 +8009,6 @@ BEGIN
END//
delimiter ;//
--- echo FIXME: Following test contains a known problem that will be checked again
--- echo FIXME: after WL#2984 has been completed: default (10,0) for DECIMAL not checked
-
CALL sp1();
--disable_warnings
@@ -8054,9 +8038,6 @@ BEGIN
END//
delimiter ;//
--- echo FIXME: Following test contains a known problem that will be checked again
--- echo FIXME: after WL#2984 has been completed: default (10,0) for DECIMAL not checked
-
CALL sp1();
--disable_warnings
@@ -8071,9 +8052,6 @@ BEGIN
END//
delimiter ;//
--- echo FIXME: Following test contains a known problem that will be checked again
--- echo FIXME: after WL#2984 has been completed: default (10,0) for DECIMAL not checked
-
CALL sp1();
--disable_warnings
@@ -8088,9 +8066,6 @@ BEGIN
END//
delimiter ;//
--- echo FIXME: Following test contains a known problem that will be checked again
--- echo FIXME: after WL#2984 has been completed: default (10,0) for DECIMAL not checked
-
CALL sp1();
--disable_warnings
@@ -8105,9 +8080,6 @@ BEGIN
END//
delimiter ;//
--- echo FIXME: Following test contains a known problem that will be checked again
--- echo FIXME: after WL#2984 has been completed: default (10,0) for DECIMAL not checked
-
CALL sp1();
--disable_warnings
@@ -8122,9 +8094,6 @@ BEGIN
END//
delimiter ;//
--- echo FIXME: Following test contains a known problem that will be checked again
--- echo FIXME: after WL#2984 has been completed: default (10,0) for DECIMAL not checked
-
CALL sp1();
--disable_warnings
@@ -8417,7 +8386,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare @x char;
@@ -8430,7 +8399,19 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
+CREATE PROCEDURE sp1()
+BEGIN
+ declare accessible char;
+END//
+delimiter ;//
+
+--disable_warnings
+DROP PROCEDURE IF EXISTS sp1;
+--enable_warnings
+
+delimiter //;
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare add char;
@@ -8442,7 +8423,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare all char;
@@ -8454,7 +8435,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare alter char;
@@ -8466,7 +8447,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare analyze char;
@@ -8478,7 +8459,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare and char;
@@ -8490,7 +8471,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare as char;
@@ -8502,7 +8483,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare asc char;
@@ -8514,7 +8495,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare asensitive char;
@@ -8526,7 +8507,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare before char;
@@ -8538,7 +8519,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare between char;
@@ -8550,7 +8531,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare bigint char;
@@ -8562,7 +8543,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare binary char;
@@ -8574,7 +8555,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare blob char;
@@ -8586,7 +8567,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare both char;
@@ -8598,7 +8579,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare by char;
@@ -8610,10 +8591,10 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
- declare CALL char;
+ declare call char;
END//
delimiter ;//
@@ -8622,7 +8603,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare cascade char;
@@ -8634,7 +8615,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare case char;
@@ -8646,7 +8627,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare change char;
@@ -8658,7 +8639,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare char char;
@@ -8670,7 +8651,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare character char;
@@ -8682,7 +8663,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare check char;
@@ -8694,7 +8675,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare collate char;
@@ -8706,7 +8687,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare column char;
@@ -8717,21 +8698,8 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
-#FIXME: check why _was_ this switched off
-delimiter //;
-#FIXME check this is OK:--error 1064
-CREATE PROCEDURE sp1()
-BEGIN
- declare columns char;
-END//
-delimiter ;//
-
---disable_warnings
-DROP PROCEDURE IF EXISTS sp1;
---enable_warnings
-
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare condition char;
@@ -8743,19 +8711,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
-CREATE PROCEDURE sp1()
-BEGIN
- declare connection char;
-END//
-delimiter ;//
-
---disable_warnings
-DROP PROCEDURE IF EXISTS sp1;
---enable_warnings
-
-delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare constraint char;
@@ -8767,7 +8723,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare continue char;
@@ -8779,7 +8735,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare convert char;
@@ -8791,7 +8747,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare create char;
@@ -8803,7 +8759,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare cross char;
@@ -8815,7 +8771,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare current_date char;
@@ -8827,7 +8783,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare current_time char;
@@ -8839,7 +8795,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare current_timestamp char;
@@ -8851,7 +8807,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare current_user char;
@@ -8863,7 +8819,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare cursor char;
@@ -8875,7 +8831,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare database char;
@@ -8887,7 +8843,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare databases char;
@@ -8899,7 +8855,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare day_hour char;
@@ -8911,7 +8867,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare day_microsecond char;
@@ -8923,7 +8879,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare day_minute char;
@@ -8935,7 +8891,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare day_second char;
@@ -8947,7 +8903,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare dec char;
@@ -8959,7 +8915,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare decimal char;
@@ -8971,7 +8927,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare declare char;
@@ -8983,7 +8939,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare default char;
@@ -8995,7 +8951,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare delayed char;
@@ -9007,7 +8963,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare delete char;
@@ -9019,7 +8975,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare desc char;
@@ -9031,7 +8987,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare describe char;
@@ -9043,7 +8999,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare deterministic char;
@@ -9055,7 +9011,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare distinct char;
@@ -9067,7 +9023,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare distinctrow char;
@@ -9079,7 +9035,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare div char;
@@ -9091,7 +9047,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare double char;
@@ -9103,7 +9059,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare drop char;
@@ -9115,7 +9071,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare dual char;
@@ -9127,7 +9083,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare each char;
@@ -9139,7 +9095,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare else char;
@@ -9151,7 +9107,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare elseif char;
@@ -9163,7 +9119,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare enclosed char;
@@ -9175,7 +9131,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare escaped char;
@@ -9187,7 +9143,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare exists char;
@@ -9199,7 +9155,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare exit char;
@@ -9211,7 +9167,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare explain char;
@@ -9223,7 +9179,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare false char;
@@ -9235,7 +9191,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare fetch char;
@@ -9246,12 +9202,11 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
-#FIXME: check why _was_ this switched off
delimiter //;
-#FIXME check this is OK:--error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
- declare fields char;
+ declare float char;
END//
delimiter ;//
@@ -9260,10 +9215,10 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
- declare float char;
+ declare float4 char;
END//
delimiter ;//
@@ -9272,10 +9227,10 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
- declare for char;
+ declare float8 char;
END//
delimiter ;//
@@ -9284,10 +9239,10 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
- declare force char;
+ declare for char;
END//
delimiter ;//
@@ -9296,10 +9251,10 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
- declare foreign char;
+ declare force char;
END//
delimiter ;//
@@ -9307,12 +9262,11 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
-#FIXME: check why _was_ this switched off
delimiter //;
-#FIXME check this is OK:--error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
- declare found char;
+ declare foreign char;
END//
delimiter ;//
@@ -9321,7 +9275,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare from char;
@@ -9333,7 +9287,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare fulltext char;
@@ -9345,19 +9299,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
-#FIXME check this is OK:--error 1064
-CREATE PROCEDURE sp1()
-BEGIN
- declare goto char;
-END//
-delimiter ;//
-
---disable_warnings
-DROP PROCEDURE IF EXISTS sp1;
---enable_warnings
-
-delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare grant char;
@@ -9369,7 +9311,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare group char;
@@ -9381,7 +9323,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare having char;
@@ -9393,7 +9335,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare high_priority char;
@@ -9405,7 +9347,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare hour_microsecond char;
@@ -9417,7 +9359,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare hour_minute char;
@@ -9429,7 +9371,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare hour_second char;
@@ -9441,7 +9383,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare if char;
@@ -9453,7 +9395,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare ignore char;
@@ -9465,7 +9407,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare in char;
@@ -9477,7 +9419,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare index char;
@@ -9489,7 +9431,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare infile char;
@@ -9501,7 +9443,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare inner char;
@@ -9513,7 +9455,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare inout char;
@@ -9525,7 +9467,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare insensitive char;
@@ -9537,7 +9479,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare insert char;
@@ -9549,7 +9491,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare int char;
@@ -9561,7 +9503,67 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
+CREATE PROCEDURE sp1()
+BEGIN
+ declare int1 char;
+END//
+delimiter ;//
+
+--disable_warnings
+DROP PROCEDURE IF EXISTS sp1;
+--enable_warnings
+
+delimiter //;
+--error ER_PARSE_ERROR
+CREATE PROCEDURE sp1()
+BEGIN
+ declare int2 char;
+END//
+delimiter ;//
+
+--disable_warnings
+DROP PROCEDURE IF EXISTS sp1;
+--enable_warnings
+
+delimiter //;
+--error ER_PARSE_ERROR
+CREATE PROCEDURE sp1()
+BEGIN
+ declare int3 char;
+END//
+delimiter ;//
+
+--disable_warnings
+DROP PROCEDURE IF EXISTS sp1;
+--enable_warnings
+
+delimiter //;
+--error ER_PARSE_ERROR
+CREATE PROCEDURE sp1()
+BEGIN
+ declare int4 char;
+END//
+delimiter ;//
+
+--disable_warnings
+DROP PROCEDURE IF EXISTS sp1;
+--enable_warnings
+
+delimiter //;
+--error ER_PARSE_ERROR
+CREATE PROCEDURE sp1()
+BEGIN
+ declare int8 char;
+END//
+delimiter ;//
+
+--disable_warnings
+DROP PROCEDURE IF EXISTS sp1;
+--enable_warnings
+
+delimiter //;
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare integer char;
@@ -9573,7 +9575,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare interval char;
@@ -9585,7 +9587,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare into char;
@@ -9597,7 +9599,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare is char;
@@ -9609,7 +9611,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare iterate char;
@@ -9621,7 +9623,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare join char;
@@ -9633,7 +9635,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare key char;
@@ -9645,7 +9647,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare keys char;
@@ -9657,7 +9659,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare kill char;
@@ -9669,7 +9671,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare leading char;
@@ -9681,7 +9683,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare leave char;
@@ -9693,7 +9695,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare left char;
@@ -9705,7 +9707,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare like char;
@@ -9717,7 +9719,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare limit char;
@@ -9729,7 +9731,19 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
+CREATE PROCEDURE sp1()
+BEGIN
+ declare linear char;
+END//
+delimiter ;//
+
+--disable_warnings
+DROP PROCEDURE IF EXISTS sp1;
+--enable_warnings
+
+delimiter //;
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare lines char;
@@ -9741,7 +9755,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare load char;
@@ -9753,7 +9767,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare localtime char;
@@ -9765,7 +9779,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare localtimestamp char;
@@ -9777,7 +9791,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare lock char;
@@ -9789,7 +9803,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare long char;
@@ -9801,7 +9815,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare longblob char;
@@ -9813,7 +9827,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare longtext char;
@@ -9825,7 +9839,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare loop char;
@@ -9837,7 +9851,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare low_priority char;
@@ -9849,7 +9863,19 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
+CREATE PROCEDURE sp1()
+BEGIN
+ declare master_ssl_verify_server_cert char;
+END//
+delimiter ;//
+
+--disable_warnings
+DROP PROCEDURE IF EXISTS sp1;
+--enable_warnings
+
+delimiter //;
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare match char;
@@ -9861,7 +9887,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare mediumblob char;
@@ -9873,7 +9899,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare mediumint char;
@@ -9885,7 +9911,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare mediumtext char;
@@ -9897,7 +9923,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare middleint char;
@@ -9909,7 +9935,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare minute_microsecond char;
@@ -9921,7 +9947,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare minute_second char;
@@ -9933,7 +9959,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare mod char;
@@ -9945,7 +9971,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare modifies char;
@@ -9957,7 +9983,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare natural char;
@@ -9969,7 +9995,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare not char;
@@ -9981,7 +10007,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare no_write_to_binlog char;
@@ -9993,7 +10019,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare null char;
@@ -10005,7 +10031,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare numeric char;
@@ -10017,7 +10043,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare on char;
@@ -10029,7 +10055,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare optimize char;
@@ -10041,7 +10067,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare option char;
@@ -10053,7 +10079,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare optionally char;
@@ -10065,7 +10091,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare or char;
@@ -10077,7 +10103,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare order char;
@@ -10089,7 +10115,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare out char;
@@ -10101,7 +10127,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare outer char;
@@ -10113,7 +10139,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare outfile char;
@@ -10125,7 +10151,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
-#FIXME check this is OK:--error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare precision char;
@@ -10137,7 +10163,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare primary char;
@@ -10149,10 +10175,10 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
-#FIXME check this is OK:--error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
- declare privileges char;
+ declare procedure char;
END//
delimiter ;//
@@ -10161,10 +10187,10 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
- declare procedure char;
+ declare purge char;
END//
delimiter ;//
@@ -10173,10 +10199,10 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
- declare purge char;
+ declare range char;
END//
delimiter ;//
@@ -10185,7 +10211,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare read char;
@@ -10197,7 +10223,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare reads char;
@@ -10209,7 +10235,32 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+# FIXME 31947
+#--error ER_PARSE_ERROR
+CREATE PROCEDURE sp1()
+BEGIN
+ declare read_only char;
+END//
+delimiter ;//
+
+--disable_warnings
+DROP PROCEDURE IF EXISTS sp1;
+--enable_warnings
+
+delimiter //;
+--error ER_PARSE_ERROR
+CREATE PROCEDURE sp1()
+BEGIN
+ declare read_write char;
+END//
+delimiter ;//
+
+--disable_warnings
+DROP PROCEDURE IF EXISTS sp1;
+--enable_warnings
+
+delimiter //;
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare real char;
@@ -10221,7 +10272,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare references char;
@@ -10233,7 +10284,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare regexp char;
@@ -10245,7 +10296,19 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
+CREATE PROCEDURE sp1()
+BEGIN
+ declare release char;
+END//
+delimiter ;//
+
+--disable_warnings
+DROP PROCEDURE IF EXISTS sp1;
+--enable_warnings
+
+delimiter //;
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare rename char;
@@ -10257,7 +10320,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare repeat char;
@@ -10269,7 +10332,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare replace char;
@@ -10278,7 +10341,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare require char;
@@ -10287,7 +10350,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare restrict char;
@@ -10297,7 +10360,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare return char;
@@ -10307,7 +10370,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare revoke char;
@@ -10317,7 +10380,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare right char;
@@ -10327,7 +10390,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare rlike char;
@@ -10337,7 +10400,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare schema char;
@@ -10347,7 +10410,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare schemas char;
@@ -10357,7 +10420,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare second_microsecond char;
@@ -10367,7 +10430,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare SELECT char;
@@ -10377,7 +10440,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare sensitive char;
@@ -10387,7 +10450,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare separator char;
@@ -10397,7 +10460,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare set char;
@@ -10407,7 +10470,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare show char;
@@ -10417,7 +10480,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare smallint char;
@@ -10427,17 +10490,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
-#FIXME check this is OK:--error 1064
-CREATE PROCEDURE sp1()
-BEGIN
- declare soname char;
-END//
-delimiter ;//
-
-DROP PROCEDURE IF EXISTS sp1;
-
-delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare spatial char;
@@ -10447,7 +10500,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare specific char;
@@ -10457,7 +10510,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare sql char;
@@ -10467,7 +10520,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare sqlexception char;
@@ -10477,7 +10530,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare sqlstate char;
@@ -10487,7 +10540,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare sqlwarning char;
@@ -10497,7 +10550,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare sql_big_result char;
@@ -10507,7 +10560,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare sql_calc_found_rows char;
@@ -10517,7 +10570,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare sql_small_result char;
@@ -10527,7 +10580,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare ssl char;
@@ -10537,7 +10590,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare starting char;
@@ -10547,7 +10600,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare straight_join char;
@@ -10557,7 +10610,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare table char;
@@ -10566,19 +10619,8 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
-#FIXME: check why _was_ this switched off
-delimiter //;
-#FIXME check this is OK:--error 1064
-CREATE PROCEDURE sp1()
-BEGIN
- declare tables char;
-END//
-delimiter ;//
-
-DROP PROCEDURE IF EXISTS sp1;
-
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare terminated char;
@@ -10588,7 +10630,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare then char;
@@ -10598,7 +10640,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare tinyblob char;
@@ -10608,7 +10650,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare tinyint char;
@@ -10618,7 +10660,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare tinytext char;
@@ -10628,7 +10670,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare to char;
@@ -10638,7 +10680,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare trailing char;
@@ -10647,7 +10689,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare trigger char;
@@ -10656,7 +10698,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare true char;
@@ -10666,7 +10708,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare undo char;
@@ -10676,7 +10718,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare union char;
@@ -10686,7 +10728,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare unique char;
@@ -10696,7 +10738,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare unlock char;
@@ -10706,7 +10748,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare unsigned char;
@@ -10716,7 +10758,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare update char;
@@ -10726,7 +10768,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare usage char;
@@ -10736,17 +10778,17 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
- declare USE char;
+ declare use char;
END//
delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare using char;
@@ -10756,7 +10798,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare utc_date char;
@@ -10766,7 +10808,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare utc_time char;
@@ -10776,7 +10818,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare utc_timestamp char;
@@ -10786,7 +10828,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare values char;
@@ -10796,7 +10838,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare varbinary char;
@@ -10806,7 +10848,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare varchar char;
@@ -10816,7 +10858,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare varcharacter char;
@@ -10826,7 +10868,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare varying char;
@@ -10836,7 +10878,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare when char;
@@ -10846,7 +10888,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare where char;
@@ -10856,7 +10898,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare while char;
@@ -10866,7 +10908,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare with char;
@@ -10876,7 +10918,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare write char;
@@ -10886,7 +10928,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare xor char;
@@ -10896,7 +10938,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare year_month char;
@@ -10906,7 +10948,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare zerofill char;
@@ -11053,7 +11095,7 @@ DROP PROCEDURE sp1;
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare @x char;
@@ -11063,7 +11105,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare x char1;
@@ -11072,7 +11114,18 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
+CREATE PROCEDURE sp1( )
+BEGIN
+ declare accessible condition for sqlstate '02000';
+ declare exit handler for add set @var2 = 1;
+END//
+delimiter ;//
+
+DROP PROCEDURE IF EXISTS sp1;
+
+delimiter //;
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare add condition for sqlstate '02000';
@@ -11083,7 +11136,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare all condition for sqlstate '02000';
@@ -11094,7 +11147,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare alter condition for sqlstate '02000';
@@ -11105,7 +11158,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare analyze condition for sqlstate '02000';
@@ -11116,7 +11169,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare and condition for sqlstate '02000';
@@ -11127,7 +11180,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare as condition for sqlstate '02000';
@@ -11138,7 +11191,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare asc condition for sqlstate '02000';
@@ -11149,7 +11202,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare asensitive condition for sqlstate '02000';
@@ -11160,7 +11213,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare before condition for sqlstate '02000';
@@ -11171,7 +11224,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare between condition for sqlstate '02000';
@@ -11182,7 +11235,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare bigint condition for sqlstate '02000';
@@ -11193,7 +11246,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare binary condition for sqlstate '02000';
@@ -11204,7 +11257,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare blob condition for sqlstate '02000';
@@ -11215,7 +11268,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare both condition for sqlstate '02000';
@@ -11226,7 +11279,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare by condition for sqlstate '02000';
@@ -11237,10 +11290,10 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
- declare CALL condition for sqlstate '02000';
+ declare call condition for sqlstate '02000';
declare exit handler for CALL set @var2 = 1;
END//
delimiter ;//
@@ -11248,7 +11301,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare cascade condition for sqlstate '02000';
@@ -11259,7 +11312,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare case condition for sqlstate '02000';
@@ -11270,7 +11323,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare change condition for sqlstate '02000';
@@ -11281,7 +11334,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare char condition for sqlstate '02000';
@@ -11292,7 +11345,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare character condition for sqlstate '02000';
@@ -11303,7 +11356,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare check condition for sqlstate '02000';
@@ -11314,7 +11367,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+#--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare collate condition for sqlstate '02000';
@@ -11325,7 +11378,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare column condition for sqlstate '02000';
@@ -11334,19 +11387,8 @@ END//
delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
-#FIXME: check why this is switched off
-#--error 1064
-#delimiter //;
-#CREATE PROCEDURE sp1( )
-# BEGIN
-# declare columns condition for sqlstate '02000';
-# declare exit handler for columns set @var2 = 1;
-#END//
-#delimiter ;//
-#DROP PROCEDURE IF EXISTS sp1;
-
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare condition condition for sqlstate '02000';
@@ -11356,7 +11398,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+#--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare connection condition for sqlstate '02000';
@@ -11366,7 +11408,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare constraint condition for sqlstate '02000';
@@ -11377,7 +11419,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare continue condition for sqlstate '02000';
@@ -11388,7 +11430,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare convert condition for sqlstate '02000';
@@ -11399,7 +11441,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare create condition for sqlstate '02000';
@@ -11410,7 +11452,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare cross condition for sqlstate '02000';
@@ -11421,7 +11463,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare current_date condition for sqlstate '02000';
@@ -11432,7 +11474,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare current_time condition for sqlstate '02000';
@@ -11443,7 +11485,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare current_timestamp condition for sqlstate '02000';
@@ -11454,7 +11496,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare current_user condition for sqlstate '02000';
@@ -11465,7 +11507,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare cursor condition for sqlstate '02000';
@@ -11476,7 +11518,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare database condition for sqlstate '02000';
@@ -11487,7 +11529,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare databases condition for sqlstate '02000';
@@ -11498,7 +11540,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare day_hour condition for sqlstate '02000';
@@ -11509,7 +11551,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare day_microsecond condition for sqlstate '02000';
@@ -11520,7 +11562,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare day_minute condition for sqlstate '02000';
@@ -11531,7 +11573,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare day_second condition for sqlstate '02000';
@@ -11542,7 +11584,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare dec condition for sqlstate '02000';
@@ -11553,7 +11595,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare decimal condition for sqlstate '02000';
@@ -11564,7 +11606,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare declare condition for sqlstate '02000';
@@ -11575,7 +11617,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare default condition for sqlstate '02000';
@@ -11586,7 +11628,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare delayed condition for sqlstate '02000';
@@ -11597,7 +11639,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare delete condition for sqlstate '02000';
@@ -11608,7 +11650,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare desc condition for sqlstate '02000';
@@ -11619,7 +11661,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare describe condition for sqlstate '02000';
@@ -11630,7 +11672,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare deterministic condition for sqlstate '02000';
@@ -11641,7 +11683,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare distinct condition for sqlstate '02000';
@@ -11652,7 +11694,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare distinctrow condition for sqlstate '02000';
@@ -11663,7 +11705,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare div condition for sqlstate '02000';
@@ -11674,7 +11716,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare double condition for sqlstate '02000';
@@ -11685,7 +11727,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare drop condition for sqlstate '02000';
@@ -11696,7 +11738,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare dual condition for sqlstate '02000';
@@ -11707,7 +11749,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare each condition for sqlstate '02000';
@@ -11718,7 +11760,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare else condition for sqlstate '02000';
@@ -11729,7 +11771,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare elseif condition for sqlstate '02000';
@@ -11740,7 +11782,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare enclosed condition for sqlstate '02000';
@@ -11751,7 +11793,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare escaped condition for sqlstate '02000';
@@ -11762,7 +11804,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare exists condition for sqlstate '02000';
@@ -11773,7 +11815,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare exit condition for sqlstate '02000';
@@ -11784,7 +11826,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare explain condition for sqlstate '02000';
@@ -11795,7 +11837,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare false condition for sqlstate '02000';
@@ -11806,7 +11848,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare fetch condition for sqlstate '02000';
@@ -11817,17 +11859,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
-#FIXME check this is OK:--error 1064
-CREATE PROCEDURE sp1( )
- BEGIN
- declare fields condition for sqlstate '02000';
- declare exit handler for fields set @var2 = 1;
-END//
-delimiter ;//
-DROP PROCEDURE IF EXISTS sp1;
-
-delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare float condition for sqlstate '02000';
@@ -11838,85 +11870,84 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
- declare for condition for sqlstate '02000';
- declare exit handler for for set @var2 = 1;
+ declare float4 condition for sqlstate '02000';
+ declare exit handler for add set @var2 = 1;
END//
delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
- declare force condition for sqlstate '02000';
- declare exit handler for force set @var2 = 1;
+ declare float8 condition for sqlstate '02000';
+ declare exit handler for add set @var2 = 1;
END//
delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
- declare foreign condition for sqlstate '02000';
- declare exit handler for foreign set @var2 = 1;
+ declare for condition for sqlstate '02000';
+ declare exit handler for for set @var2 = 1;
END//
delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
-#FIXME: check why _was_ this switched off
-#FIXME check this is OK:--error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
- declare found condition for sqlstate '02000';
- declare exit handler for found set @var2 = 1;
+ declare force condition for sqlstate '02000';
+ declare exit handler for force set @var2 = 1;
END//
delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
- declare from condition for sqlstate '02000';
- declare exit handler for from set @var2 = 1;
+ declare foreign condition for sqlstate '02000';
+ declare exit handler for foreign set @var2 = 1;
END//
delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
- declare fulltext condition for sqlstate '02000';
- declare exit handler for fulltext set @var2 = 1;
+ declare from condition for sqlstate '02000';
+ declare exit handler for from set @var2 = 1;
END//
delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
-#FIXME check this is OK:--error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
- declare goto condition for sqlstate '02000';
- declare exit handler for goto set @var2 = 1;
+ declare fulltext condition for sqlstate '02000';
+ declare exit handler for fulltext set @var2 = 1;
END//
delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare grant condition for sqlstate '02000';
@@ -11927,7 +11958,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare group condition for sqlstate '02000';
@@ -11938,7 +11969,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare having condition for sqlstate '02000';
@@ -11949,7 +11980,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare high_priority condition for sqlstate '02000';
@@ -11960,7 +11991,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare hour_microsecond condition for sqlstate '02000';
@@ -11971,7 +12002,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare hour_minute condition for sqlstate '02000';
@@ -11982,7 +12013,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare hour_second condition for sqlstate '02000';
@@ -11993,7 +12024,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare if condition for sqlstate '02000';
@@ -12004,7 +12035,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare ignore condition for sqlstate '02000';
@@ -12015,7 +12046,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare in condition for sqlstate '02000';
@@ -12026,7 +12057,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare index condition for sqlstate '02000';
@@ -12037,7 +12068,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare infile condition for sqlstate '02000';
@@ -12048,7 +12079,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare inner condition for sqlstate '02000';
@@ -12059,7 +12090,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare inout condition for sqlstate '02000';
@@ -12070,7 +12101,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare insensitive condition for sqlstate '02000';
@@ -12081,7 +12112,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare insert condition for sqlstate '02000';
@@ -12092,7 +12123,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare int condition for sqlstate '02000';
@@ -12103,7 +12134,62 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
+CREATE PROCEDURE sp1( )
+BEGIN
+ declare int1 condition for sqlstate '02000';
+ declare exit handler for int set @var2 = 1;
+END//
+delimiter ;//
+
+DROP PROCEDURE IF EXISTS sp1;
+
+delimiter //;
+--error ER_PARSE_ERROR
+CREATE PROCEDURE sp1( )
+BEGIN
+ declare int2 condition for sqlstate '02000';
+ declare exit handler for int set @var2 = 1;
+END//
+delimiter ;//
+
+DROP PROCEDURE IF EXISTS sp1;
+
+delimiter //;
+--error ER_PARSE_ERROR
+CREATE PROCEDURE sp1( )
+BEGIN
+ declare int3 condition for sqlstate '02000';
+ declare exit handler for int set @var2 = 1;
+END//
+delimiter ;//
+
+DROP PROCEDURE IF EXISTS sp1;
+
+delimiter //;
+--error ER_PARSE_ERROR
+CREATE PROCEDURE sp1( )
+BEGIN
+ declare int4 condition for sqlstate '02000';
+ declare exit handler for int set @var2 = 1;
+END//
+delimiter ;//
+
+DROP PROCEDURE IF EXISTS sp1;
+
+delimiter //;
+--error ER_PARSE_ERROR
+CREATE PROCEDURE sp1( )
+BEGIN
+ declare int8 condition for sqlstate '02000';
+ declare exit handler for int set @var2 = 1;
+END//
+delimiter ;//
+
+DROP PROCEDURE IF EXISTS sp1;
+
+delimiter //;
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare integer condition for sqlstate '02000';
@@ -12114,7 +12200,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare interval condition for sqlstate '02000';
@@ -12125,7 +12211,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare into condition for sqlstate '02000';
@@ -12136,7 +12222,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare is condition for sqlstate '02000';
@@ -12147,7 +12233,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare iterate condition for sqlstate '02000';
@@ -12158,7 +12244,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare join condition for sqlstate '02000';
@@ -12169,7 +12255,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare key condition for sqlstate '02000';
@@ -12180,7 +12266,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare keys condition for sqlstate '02000';
@@ -12191,7 +12277,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare kill condition for sqlstate '02000';
@@ -12202,7 +12288,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare leading condition for sqlstate '02000';
@@ -12213,7 +12299,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare leave condition for sqlstate '02000';
@@ -12224,7 +12310,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare left condition for sqlstate '02000';
@@ -12235,7 +12321,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare like condition for sqlstate '02000';
@@ -12246,7 +12332,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare limit condition for sqlstate '02000';
@@ -12257,7 +12343,18 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
+CREATE PROCEDURE sp1( )
+BEGIN
+ declare linear condition for sqlstate '02000';
+ declare exit handler for int set @var2 = 1;
+END//
+delimiter ;//
+
+DROP PROCEDURE IF EXISTS sp1;
+
+delimiter //;
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare lines condition for sqlstate '02000';
@@ -12268,7 +12365,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare load condition for sqlstate '02000';
@@ -12279,7 +12376,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare localtime condition for sqlstate '02000';
@@ -12290,7 +12387,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare localtimestamp condition for sqlstate '02000';
@@ -12301,7 +12398,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare lock condition for sqlstate '02000';
@@ -12312,7 +12409,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare long condition for sqlstate '02000';
@@ -12323,7 +12420,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare longblob condition for sqlstate '02000';
@@ -12334,7 +12431,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare longtext condition for sqlstate '02000';
@@ -12345,7 +12442,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare loop condition for sqlstate '02000';
@@ -12356,7 +12453,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare low_priority condition for sqlstate '02000';
@@ -12367,7 +12464,18 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
+CREATE PROCEDURE sp1( )
+BEGIN
+ declare master_ssl_verify_server_cert condition for sqlstate '02000';
+ declare exit handler for int set @var2 = 1;
+END//
+delimiter ;//
+
+DROP PROCEDURE IF EXISTS sp1;
+
+delimiter //;
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare match condition for sqlstate '02000';
@@ -12378,7 +12486,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare mediumblob condition for sqlstate '02000';
@@ -12389,7 +12497,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare mediumint condition for sqlstate '02000';
@@ -12400,7 +12508,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare mediumtext condition for sqlstate '02000';
@@ -12411,7 +12519,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare middleint condition for sqlstate '02000';
@@ -12422,7 +12530,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare minute_microsecond condition for sqlstate '02000';
@@ -12433,7 +12541,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare minute_second condition for sqlstate '02000';
@@ -12444,7 +12552,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare mod condition for sqlstate '02000';
@@ -12455,7 +12563,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare modifies condition for sqlstate '02000';
@@ -12466,7 +12574,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare natural condition for sqlstate '02000';
@@ -12477,7 +12585,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare not condition for sqlstate '02000';
@@ -12488,7 +12596,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare no_write_to_binlog condition for sqlstate '02000';
@@ -12499,7 +12607,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare null condition for sqlstate '02000';
@@ -12510,7 +12618,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare numeric condition for sqlstate '02000';
@@ -12521,7 +12629,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare on condition for sqlstate '02000';
@@ -12532,7 +12640,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare optimize condition for sqlstate '02000';
@@ -12543,7 +12651,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare option condition for sqlstate '02000';
@@ -12554,7 +12662,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare optionally condition for sqlstate '02000';
@@ -12565,7 +12673,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare or condition for sqlstate '02000';
@@ -12576,7 +12684,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare order condition for sqlstate '02000';
@@ -12587,7 +12695,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare out condition for sqlstate '02000';
@@ -12598,7 +12706,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare outer condition for sqlstate '02000';
@@ -12609,7 +12717,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare outfile condition for sqlstate '02000';
@@ -12620,7 +12728,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare precision condition for sqlstate '02000';
@@ -12631,7 +12739,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare primary condition for sqlstate '02000';
@@ -12642,41 +12750,40 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
-#FIXME: why was this switched off ?
-#FIXME check this is OK:--error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
- declare privileges condition for sqlstate '02000';
- declare exit handler for privileges set @var2 = 1;
+ declare procedure condition for sqlstate '02000';
+ declare exit handler for procedure set @var2 = 1;
END//
delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
- declare procedure condition for sqlstate '02000';
- declare exit handler for procedure set @var2 = 1;
+ declare purge condition for sqlstate '02000';
+ declare exit handler for purge set @var2 = 1;
END//
delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
- declare purge condition for sqlstate '02000';
- declare exit handler for purge set @var2 = 1;
+ declare range condition for sqlstate '02000';
+ declare exit handler for int set @var2 = 1;
END//
delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare read condition for sqlstate '02000';
@@ -12687,7 +12794,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare reads condition for sqlstate '02000';
@@ -12698,7 +12805,29 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
+CREATE PROCEDURE sp1( )
+BEGIN
+ declare read_only condition for sqlstate '02000';
+ declare exit handler for int set @var2 = 1;
+END//
+delimiter ;//
+
+DROP PROCEDURE IF EXISTS sp1;
+
+delimiter //;
+--error ER_PARSE_ERROR
+CREATE PROCEDURE sp1( )
+BEGIN
+ declare read_write condition for sqlstate '02000';
+ declare exit handler for int set @var2 = 1;
+END//
+delimiter ;//
+
+DROP PROCEDURE IF EXISTS sp1;
+
+delimiter //;
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare real condition for sqlstate '02000';
@@ -12709,7 +12838,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare references condition for sqlstate '02000';
@@ -12720,7 +12849,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare regexp condition for sqlstate '02000';
@@ -12731,7 +12860,18 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
+CREATE PROCEDURE sp1( )
+BEGIN
+ declare release condition for sqlstate '02000';
+ declare exit handler for int set @var2 = 1;
+END//
+delimiter ;//
+
+DROP PROCEDURE IF EXISTS sp1;
+
+delimiter //;
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare rename condition for sqlstate '02000';
@@ -12742,7 +12882,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare repeat condition for sqlstate '02000';
@@ -12753,7 +12893,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare replace condition for sqlstate '02000';
@@ -12764,7 +12904,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare require condition for sqlstate '02000';
@@ -12775,7 +12915,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare restrict condition for sqlstate '02000';
@@ -12786,7 +12926,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare return condition for sqlstate '02000';
@@ -12797,7 +12937,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare revoke condition for sqlstate '02000';
@@ -12808,7 +12948,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare right condition for sqlstate '02000';
@@ -12819,7 +12959,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare rlike condition for sqlstate '02000';
@@ -12830,7 +12970,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare schema condition for sqlstate '02000';
@@ -12841,7 +12981,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare schemas condition for sqlstate '02000';
@@ -12852,7 +12992,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare second_microsecond condition for sqlstate '02000';
@@ -12863,10 +13003,10 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
- declare SELECT condition for sqlstate '02000';
+ declare select condition for sqlstate '02000';
declare exit handler for SELECT set @var2 = 1;
END//
delimiter ;//
@@ -12874,7 +13014,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare sensitive condition for sqlstate '02000';
@@ -12885,7 +13025,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare separator condition for sqlstate '02000';
@@ -12896,7 +13036,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare set condition for sqlstate '02000';
@@ -12907,7 +13047,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare show condition for sqlstate '02000';
@@ -12918,7 +13058,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare smallint condition for sqlstate '02000';
@@ -12929,18 +13069,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
-CREATE PROCEDURE sp1( )
-BEGIN
- declare soname condition for sqlstate '02000';
- declare exit handler for soname set @var2 = 1;
-END//
-delimiter ;//
-
-DROP PROCEDURE IF EXISTS sp1;
-
-delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare spatial condition for sqlstate '02000';
@@ -12951,7 +13080,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare specific condition for sqlstate '02000';
@@ -12962,7 +13091,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare sql condition for sqlstate '02000';
@@ -12973,7 +13102,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare sqlexception condition for sqlstate '02000';
@@ -12984,7 +13113,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare sqlstate condition for sqlstate '02000';
@@ -12995,7 +13124,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare sqlwarning condition for sqlstate '02000';
@@ -13006,7 +13135,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare sql_big_result condition for sqlstate '02000';
@@ -13017,7 +13146,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare sql_calc_found_rows condition for sqlstate '02000';
@@ -13028,7 +13157,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare sql_small_result condition for sqlstate '02000';
@@ -13039,7 +13168,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare ssl condition for sqlstate '02000';
@@ -13050,7 +13179,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare starting condition for sqlstate '02000';
@@ -13061,7 +13190,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare straight_join condition for sqlstate '02000';
@@ -13072,7 +13201,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare table condition for sqlstate '02000';
@@ -13083,19 +13212,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
-#FIXME: why was this switched off ?
-#FIXME check this is OK:--error 1064
-CREATE PROCEDURE sp1( )
-BEGIN
- declare tables condition for sqlstate '02000';
- declare exit handler for tables set @var2 = 1;
-END//
-delimiter ;//
-
-DROP PROCEDURE IF EXISTS sp1;
-
-delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare terminated condition for sqlstate '02000';
@@ -13106,7 +13223,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare then condition for sqlstate '02000';
@@ -13117,7 +13234,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare tinyblob condition for sqlstate '02000';
@@ -13128,7 +13245,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare tinyint condition for sqlstate '02000';
@@ -13139,7 +13256,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare tinytext condition for sqlstate '02000';
@@ -13150,7 +13267,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare to condition for sqlstate '02000';
@@ -13161,7 +13278,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare trailing condition for sqlstate '02000';
@@ -13172,7 +13289,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare trigger condition for sqlstate '02000';
@@ -13183,7 +13300,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare true condition for sqlstate '02000';
@@ -13194,7 +13311,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare undo condition for sqlstate '02000';
@@ -13205,7 +13322,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare union condition for sqlstate '02000';
@@ -13216,7 +13333,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare unique condition for sqlstate '02000';
@@ -13227,7 +13344,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare unlock condition for sqlstate '02000';
@@ -13238,7 +13355,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare unsigned condition for sqlstate '02000';
@@ -13249,7 +13366,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare update condition for sqlstate '02000';
@@ -13260,7 +13377,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare usage condition for sqlstate '02000';
@@ -13271,10 +13388,10 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
- declare USE condition for sqlstate '02000';
+ declare use condition for sqlstate '02000';
declare exit handler for USE set @var2 = 1;
END//
delimiter ;//
@@ -13282,7 +13399,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare using condition for sqlstate '02000';
@@ -13293,7 +13410,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare utc_date condition for sqlstate '02000';
@@ -13304,7 +13421,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare utc_time condition for sqlstate '02000';
@@ -13315,7 +13432,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare utc_timestamp condition for sqlstate '02000';
@@ -13326,7 +13443,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare values condition for sqlstate '02000';
@@ -13337,7 +13454,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare varbinary condition for sqlstate '02000';
@@ -13348,7 +13465,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare varchar condition for sqlstate '02000';
@@ -13359,7 +13476,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare varcharacter condition for sqlstate '02000';
@@ -13370,7 +13487,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare varying condition for sqlstate '02000';
@@ -13381,7 +13498,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare when condition for sqlstate '02000';
@@ -13392,7 +13509,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare where condition for sqlstate '02000';
@@ -13403,7 +13520,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare while condition for sqlstate '02000';
@@ -13414,7 +13531,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare with condition for sqlstate '02000';
@@ -13425,7 +13542,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare write condition for sqlstate '02000';
@@ -13436,7 +13553,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare xor condition for sqlstate '02000';
@@ -13447,7 +13564,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare year_month condition for sqlstate '02000';
@@ -13458,7 +13575,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare zerofill condition for sqlstate '02000';
@@ -13507,7 +13624,7 @@ DROP PROCEDURE sp1;
DROP PROCEDURE IF EXISTS handler1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE handler1()
BEGIN
declare undo handler for sqlstate '23000' set @x2 = 1;
@@ -13531,7 +13648,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS handler1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE handler1()
BEGIN
declare continueinv handler for sqlstate '2300' set @x2 = 1;
@@ -13555,7 +13672,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS handler1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE handler1()
BEGIN
declare undoinv handler for sqlstate '2300' set @x2 = 1;
@@ -13579,7 +13696,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS handler1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE handler1 ()
BEGIN
declare exitinv handler for sqlstate '2300' set @x2 = 1;
@@ -13599,7 +13716,17 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
+CREATE PROCEDURE sp1( )
+BEGIN
+ declare accessible handler for sqlstate '02000' set @var2 = 1;
+END//
+delimiter ;//
+
+DROP PROCEDURE IF EXISTS sp1;
+
+delimiter //;
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare add handler for sqlstate '02000' set @var2 = 1;
@@ -13609,7 +13736,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare all handler for sqlstate '02000' set @var2 = 1;
@@ -13619,7 +13746,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare alter handler for sqlstate '02000' set @var2 = 1;
@@ -13629,7 +13756,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare analyze handler for sqlstate '02000' set @var2 = 1;
@@ -13639,7 +13766,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare and handler for sqlstate '02000' set @var2 = 1;
@@ -13649,7 +13776,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare as handler for sqlstate '02000' set @var2 = 1;
@@ -13659,7 +13786,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare asc handler for sqlstate '02000' set @var2 = 1;
@@ -13669,7 +13796,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare asensitive handler for sqlstate '02000' set @var2 = 1;
@@ -13679,7 +13806,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare before handler for sqlstate '02000' set @var2 = 1;
@@ -13689,7 +13816,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare between handler for sqlstate '02000' set @var2 = 1;
@@ -13699,7 +13826,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare bigint handler for sqlstate '02000' set @var2 = 1;
@@ -13709,7 +13836,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare binary handler for sqlstate '02000' set @var2 = 1;
@@ -13719,7 +13846,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare blob handler for sqlstate '02000' set @var2 = 1;
@@ -13729,7 +13856,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare both handler for sqlstate '02000' set @var2 = 1;
@@ -13739,7 +13866,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare by handler for sqlstate '02000' set @var2 = 1;
@@ -13749,17 +13876,17 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
- declare CALL handler for sqlstate '02000' set @var2 = 1;
+ declare call handler for sqlstate '02000' set @var2 = 1;
END//
delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare cascade handler for sqlstate '02000' set @var2 = 1;
@@ -13769,7 +13896,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare case handler for sqlstate '02000' set @var2 = 1;
@@ -13779,7 +13906,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare change handler for sqlstate '02000' set @var2 = 1;
@@ -13789,7 +13916,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare char handler for sqlstate '02000' set @var2 = 1;
@@ -13799,7 +13926,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare character handler for sqlstate '02000' set @var2 = 1;
@@ -13809,7 +13936,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare check handler for sqlstate '02000' set @var2 = 1;
@@ -13819,7 +13946,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare collate handler for sqlstate '02000' set @var2 = 1;
@@ -13829,7 +13956,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare column handler for sqlstate '02000' set @var2 = 1;
@@ -13839,17 +13966,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
-CREATE PROCEDURE sp1( )
-BEGIN
- declare columns handler for sqlstate '02000' set @var2 = 1;
-END//
-delimiter ;//
-
-DROP PROCEDURE IF EXISTS sp1;
-
-delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare condition handler for sqlstate '02000' set @var2 = 1;
@@ -13859,37 +13976,27 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
- declare connection handler for sqlstate '02000' set @var2 = 1;
+ declare constraint handler for sqlstate '02000' set @var2 = 1;
END//
delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
+--error ER_PARSE_ERROR
delimiter //;
---error 1064
CREATE PROCEDURE sp1( )
-BEGIN
- declare constraint handler for sqlstate '02000' set @var2 = 1;
+ BEGIN
+ declare continue handler for sqlstate '02000' set @var2 = 1;
END//
delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
-#FIXME: check why this is switched off
-#--error 1064
-#delimiter //;
-#CREATE PROCEDURE sp1( )
-# BEGIN
-# declare continue handler for sqlstate '02000' set @var2 = 1;
-#END//
-#delimiter ;//
-#DROP PROCEDURE IF EXISTS sp1;
-
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare convert handler for sqlstate '02000' set @var2 = 1;
@@ -13899,7 +14006,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare create handler for sqlstate '02000' set @var2 = 1;
@@ -13909,7 +14016,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare cross handler for sqlstate '02000' set @var2 = 1;
@@ -13919,7 +14026,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare current_date handler for sqlstate '02000' set @var2 = 1;
@@ -13929,7 +14036,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare current_time handler for sqlstate '02000' set @var2 = 1;
@@ -13939,7 +14046,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare current_timestamp handler for sqlstate '02000' set @var2 = 1;
@@ -13949,7 +14056,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare current_user handler for sqlstate '02000' set @var2 = 1;
@@ -13959,7 +14066,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare cursor handler for sqlstate '02000' set @var2 = 1;
@@ -13969,7 +14076,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare database handler for sqlstate '02000' set @var2 = 1;
@@ -13979,7 +14086,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare databases handler for sqlstate '02000' set @var2 = 1;
@@ -13989,7 +14096,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare day_hour handler for sqlstate '02000' set @var2 = 1;
@@ -13999,7 +14106,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare day_microsecond handler for sqlstate '02000' set @var2 = 1;
@@ -14009,7 +14116,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare day_minute handler for sqlstate '02000' set @var2 = 1;
@@ -14019,7 +14126,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare day_second handler for sqlstate '02000' set @var2 = 1;
@@ -14029,7 +14136,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare dec handler for sqlstate '02000' set @var2 = 1;
@@ -14039,7 +14146,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare decimal handler for sqlstate '02000' set @var2 = 1;
@@ -14049,7 +14156,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare declare handler for sqlstate '02000' set @var2 = 1;
@@ -14059,7 +14166,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare default handler for sqlstate '02000' set @var2 = 1;
@@ -14069,7 +14176,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare delayed handler for sqlstate '02000' set @var2 = 1;
@@ -14079,7 +14186,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare delete handler for sqlstate '02000' set @var2 = 1;
@@ -14089,7 +14196,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare desc handler for sqlstate '02000' set @var2 = 1;
@@ -14099,7 +14206,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare describe handler for sqlstate '02000' set @var2 = 1;
@@ -14109,7 +14216,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare deterministic handler for sqlstate '02000' set @var2 = 1;
@@ -14119,7 +14226,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare distinct handler for sqlstate '02000' set @var2 = 1;
@@ -14129,7 +14236,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare distinctrow handler for sqlstate '02000' set @var2 = 1;
@@ -14139,7 +14246,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare div handler for sqlstate '02000' set @var2 = 1;
@@ -14149,7 +14256,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare double handler for sqlstate '02000' set @var2 = 1;
@@ -14159,7 +14266,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare drop handler for sqlstate '02000' set @var2 = 1;
@@ -14169,7 +14276,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare dual handler for sqlstate '02000' set @var2 = 1;
@@ -14179,7 +14286,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare each handler for sqlstate '02000' set @var2 = 1;
@@ -14189,7 +14296,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare else handler for sqlstate '02000' set @var2 = 1;
@@ -14199,7 +14306,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare elseif handler for sqlstate '02000' set @var2 = 1;
@@ -14209,7 +14316,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare enclosed handler for sqlstate '02000' set @var2 = 1;
@@ -14219,7 +14326,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare escaped handler for sqlstate '02000' set @var2 = 1;
@@ -14229,7 +14336,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare exists handler for sqlstate '02000' set @var2 = 1;
@@ -14238,58 +14345,48 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
-#FIXME: check why this is switched off
-#--error 1064
-#delimiter //;
-#CREATE PROCEDURE sp1( )
-# BEGIN
-# declare exit handler for sqlstate '02000' set @var2 = 1;
-#END//
-#delimiter ;//
-#DROP PROCEDURE IF EXISTS sp1;
-
+--error ER_PARSE_ERROR
delimiter //;
---error 1064
CREATE PROCEDURE sp1( )
-BEGIN
- declare explain handler for sqlstate '02000' set @var2 = 1;
+ BEGIN
+ declare exit handler for sqlstate '02000' set @var2 = 1;
END//
delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
- declare false handler for sqlstate '02000' set @var2 = 1;
+ declare explain handler for sqlstate '02000' set @var2 = 1;
END//
delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
- declare fetch handler for sqlstate '02000' set @var2 = 1;
+ declare false handler for sqlstate '02000' set @var2 = 1;
END//
delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
- declare fields handler for sqlstate '02000' set @var2 = 1;
+ declare fetch handler for sqlstate '02000' set @var2 = 1;
END//
delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare float handler for sqlstate '02000' set @var2 = 1;
@@ -14299,77 +14396,77 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
- declare for handler for sqlstate '02000' set @var2 = 1;
+ declare float4 handler for sqlstate '02000' set @var2 = 1;
END//
delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
- declare force handler for sqlstate '02000' set @var2 = 1;
+ declare float8 handler for sqlstate '02000' set @var2 = 1;
END//
delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
- declare foreign handler for sqlstate '02000' set @var2 = 1;
+ declare for handler for sqlstate '02000' set @var2 = 1;
END//
delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
- declare found handler for sqlstate '02000' set @var2 = 1;
+ declare force handler for sqlstate '02000' set @var2 = 1;
END//
delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
- declare from handler for sqlstate '02000' set @var2 = 1;
+ declare foreign handler for sqlstate '02000' set @var2 = 1;
END//
delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
- declare fulltext handler for sqlstate '02000' set @var2 = 1;
+ declare from handler for sqlstate '02000' set @var2 = 1;
END//
delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
- declare goto handler for sqlstate '02000' set @var2 = 1;
+ declare fulltext handler for sqlstate '02000' set @var2 = 1;
END//
delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare grant handler for sqlstate '02000' set @var2 = 1;
@@ -14379,7 +14476,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare group handler for sqlstate '02000' set @var2 = 1;
@@ -14389,7 +14486,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare having handler for sqlstate '02000' set @var2 = 1;
@@ -14399,7 +14496,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare high_priority handler for sqlstate '02000' set @var2 = 1;
@@ -14409,7 +14506,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare hour_microsecond handler for sqlstate '02000' set @var2 = 1;
@@ -14419,7 +14516,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare hour_minute handler for sqlstate '02000' set @var2 = 1;
@@ -14429,7 +14526,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare hour_second handler for sqlstate '02000' set @var2 = 1;
@@ -14439,7 +14536,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare if handler for sqlstate '02000' set @var2 = 1;
@@ -14449,7 +14546,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare ignore handler for sqlstate '02000' set @var2 = 1;
@@ -14459,7 +14556,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare in handler for sqlstate '02000' set @var2 = 1;
@@ -14469,7 +14566,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare index handler for sqlstate '02000' set @var2 = 1;
@@ -14479,7 +14576,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare infile handler for sqlstate '02000' set @var2 = 1;
@@ -14489,7 +14586,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare inner handler for sqlstate '02000' set @var2 = 1;
@@ -14499,7 +14596,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare inout handler for sqlstate '02000' set @var2 = 1;
@@ -14509,7 +14606,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare insensitive handler for sqlstate '02000' set @var2 = 1;
@@ -14519,7 +14616,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare insert handler for sqlstate '02000' set @var2 = 1;
@@ -14529,7 +14626,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare int handler for sqlstate '02000' set @var2 = 1;
@@ -14539,7 +14636,57 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
+CREATE PROCEDURE sp1( )
+BEGIN
+ declare int1 handler for sqlstate '02000' set @var2 = 1;
+END//
+delimiter ;//
+
+DROP PROCEDURE IF EXISTS sp1;
+
+delimiter //;
+--error ER_PARSE_ERROR
+CREATE PROCEDURE sp1( )
+BEGIN
+ declare int2 handler for sqlstate '02000' set @var2 = 1;
+END//
+delimiter ;//
+
+DROP PROCEDURE IF EXISTS sp1;
+
+delimiter //;
+--error ER_PARSE_ERROR
+CREATE PROCEDURE sp1( )
+BEGIN
+ declare int3 handler for sqlstate '02000' set @var2 = 1;
+END//
+delimiter ;//
+
+DROP PROCEDURE IF EXISTS sp1;
+
+delimiter //;
+--error ER_PARSE_ERROR
+CREATE PROCEDURE sp1( )
+BEGIN
+ declare int4 handler for sqlstate '02000' set @var2 = 1;
+END//
+delimiter ;//
+
+DROP PROCEDURE IF EXISTS sp1;
+
+delimiter //;
+--error ER_PARSE_ERROR
+CREATE PROCEDURE sp1( )
+BEGIN
+ declare int8 handler for sqlstate '02000' set @var2 = 1;
+END//
+delimiter ;//
+
+DROP PROCEDURE IF EXISTS sp1;
+
+delimiter //;
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare integer handler for sqlstate '02000' set @var2 = 1;
@@ -14549,7 +14696,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare interval handler for sqlstate '02000' set @var2 = 1;
@@ -14559,7 +14706,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare into handler for sqlstate '02000' set @var2 = 1;
@@ -14569,7 +14716,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare is handler for sqlstate '02000' set @var2 = 1;
@@ -14579,7 +14726,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare iterate handler for sqlstate '02000' set @var2 = 1;
@@ -14589,7 +14736,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare join handler for sqlstate '02000' set @var2 = 1;
@@ -14599,7 +14746,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare key handler for sqlstate '02000' set @var2 = 1;
@@ -14609,7 +14756,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare keys handler for sqlstate '02000' set @var2 = 1;
@@ -14619,7 +14766,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare kill handler for sqlstate '02000' set @var2 = 1;
@@ -14629,7 +14776,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare leading handler for sqlstate '02000' set @var2 = 1;
@@ -14639,7 +14786,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare leave handler for sqlstate '02000' set @var2 = 1;
@@ -14649,7 +14796,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare left handler for sqlstate '02000' set @var2 = 1;
@@ -14659,7 +14806,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare like handler for sqlstate '02000' set @var2 = 1;
@@ -14669,7 +14816,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare limit handler for sqlstate '02000' set @var2 = 1;
@@ -14679,7 +14826,17 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
+CREATE PROCEDURE sp1( )
+BEGIN
+ declare linear handler for sqlstate '02000' set @var2 = 1;
+END//
+delimiter ;//
+
+DROP PROCEDURE IF EXISTS sp1;
+
+delimiter //;
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare lines handler for sqlstate '02000' set @var2 = 1;
@@ -14689,7 +14846,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare load handler for sqlstate '02000' set @var2 = 1;
@@ -14699,7 +14856,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare localtime handler for sqlstate '02000' set @var2 = 1;
@@ -14709,7 +14866,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare localtimestamp handler for sqlstate '02000' set @var2 = 1;
@@ -14719,7 +14876,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare lock handler for sqlstate '02000' set @var2 = 1;
@@ -14729,7 +14886,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare long handler for sqlstate '02000' set @var2 = 1;
@@ -14739,7 +14896,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare longblob handler for sqlstate '02000' set @var2 = 1;
@@ -14749,7 +14906,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare longtext handler for sqlstate '02000' set @var2 = 1;
@@ -14759,7 +14916,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare loop handler for sqlstate '02000' set @var2 = 1;
@@ -14769,7 +14926,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare low_priority handler for sqlstate '02000' set @var2 = 1;
@@ -14779,7 +14936,17 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
+CREATE PROCEDURE sp1( )
+BEGIN
+ declare master_ssl_verify_server_cert handler for sqlstate '02000' set @var2 = 1;
+END//
+delimiter ;//
+
+DROP PROCEDURE IF EXISTS sp1;
+
+delimiter //;
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare match handler for sqlstate '02000' set @var2 = 1;
@@ -14789,7 +14956,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare mediumblob handler for sqlstate '02000' set @var2 = 1;
@@ -14799,7 +14966,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare mediumint handler for sqlstate '02000' set @var2 = 1;
@@ -14809,7 +14976,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare mediumtext handler for sqlstate '02000' set @var2 = 1;
@@ -14819,7 +14986,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare middleint handler for sqlstate '02000' set @var2 = 1;
@@ -14829,7 +14996,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare minute_microsecond handler for sqlstate '02000' set @var2 = 1;
@@ -14839,7 +15006,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare minute_second handler for sqlstate '02000' set @var2 = 1;
@@ -14849,7 +15016,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare mod handler for sqlstate '02000' set @var2 = 1;
@@ -14859,7 +15026,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare modifies handler for sqlstate '02000' set @var2 = 1;
@@ -14869,7 +15036,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare natural handler for sqlstate '02000' set @var2 = 1;
@@ -14879,7 +15046,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare not handler for sqlstate '02000' set @var2 = 1;
@@ -14889,7 +15056,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare no_write_to_binlog handler for sqlstate '02000' set @var2 = 1;
@@ -14899,7 +15066,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare null handler for sqlstate '02000' set @var2 = 1;
@@ -14909,7 +15076,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare numeric handler for sqlstate '02000' set @var2 = 1;
@@ -14919,7 +15086,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare on handler for sqlstate '02000' set @var2 = 1;
@@ -14929,7 +15096,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare optimize handler for sqlstate '02000' set @var2 = 1;
@@ -14939,7 +15106,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare option handler for sqlstate '02000' set @var2 = 1;
@@ -14949,7 +15116,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare optionally handler for sqlstate '02000' set @var2 = 1;
@@ -14959,7 +15126,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare or handler for sqlstate '02000' set @var2 = 1;
@@ -14969,7 +15136,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare order handler for sqlstate '02000' set @var2 = 1;
@@ -14979,7 +15146,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare out handler for sqlstate '02000' set @var2 = 1;
@@ -14989,7 +15156,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare outer handler for sqlstate '02000' set @var2 = 1;
@@ -14999,7 +15166,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare outfile handler for sqlstate '02000' set @var2 = 1;
@@ -15009,7 +15176,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare precision handler for sqlstate '02000' set @var2 = 1;
@@ -15019,7 +15186,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare primary handler for sqlstate '02000' set @var2 = 1;
@@ -15029,7 +15196,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare privileges handler for sqlstate '02000' set @var2 = 1;
@@ -15039,7 +15206,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare procedure handler for sqlstate '02000' set @var2 = 1;
@@ -15049,7 +15216,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare purge handler for sqlstate '02000' set @var2 = 1;
@@ -15059,7 +15226,17 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
+CREATE PROCEDURE sp1( )
+BEGIN
+ declare range handler for sqlstate '02000' set @var2 = 1;
+END//
+delimiter ;//
+
+DROP PROCEDURE IF EXISTS sp1;
+
+delimiter //;
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare read handler for sqlstate '02000' set @var2 = 1;
@@ -15069,7 +15246,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare reads handler for sqlstate '02000' set @var2 = 1;
@@ -15079,7 +15256,27 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
+CREATE PROCEDURE sp1( )
+BEGIN
+ declare read_only handler for sqlstate '02000' set @var2 = 1;
+END//
+delimiter ;//
+
+DROP PROCEDURE IF EXISTS sp1;
+
+delimiter //;
+--error ER_PARSE_ERROR
+CREATE PROCEDURE sp1( )
+BEGIN
+ declare read_write handler for sqlstate '02000' set @var2 = 1;
+END//
+delimiter ;//
+
+DROP PROCEDURE IF EXISTS sp1;
+
+delimiter //;
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare real handler for sqlstate '02000' set @var2 = 1;
@@ -15089,7 +15286,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare references handler for sqlstate '02000' set @var2 = 1;
@@ -15099,7 +15296,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare regexp handler for sqlstate '02000' set @var2 = 1;
@@ -15109,7 +15306,17 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
+CREATE PROCEDURE sp1( )
+BEGIN
+ declare release handler for sqlstate '02000' set @var2 = 1;
+END//
+delimiter ;//
+
+DROP PROCEDURE IF EXISTS sp1;
+
+delimiter //;
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare rename handler for sqlstate '02000' set @var2 = 1;
@@ -15119,7 +15326,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare repeat handler for sqlstate '02000' set @var2 = 1;
@@ -15129,7 +15336,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare replace handler for sqlstate '02000' set @var2 = 1;
@@ -15139,7 +15346,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare require handler for sqlstate '02000' set @var2 = 1;
@@ -15149,7 +15356,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare restrict handler for sqlstate '02000' set @var2 = 1;
@@ -15159,7 +15366,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare return handler for sqlstate '02000' set @var2 = 1;
@@ -15169,7 +15376,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare revoke handler for sqlstate '02000' set @var2 = 1;
@@ -15179,7 +15386,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare right handler for sqlstate '02000' set @var2 = 1;
@@ -15189,7 +15396,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare rlike handler for sqlstate '02000' set @var2 = 1;
@@ -15199,7 +15406,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare schema handler for sqlstate '02000' set @var2 = 1;
@@ -15209,7 +15416,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare schemas handler for sqlstate '02000' set @var2 = 1;
@@ -15219,7 +15426,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare second_microsecond handler for sqlstate '02000' set @var2 = 1;
@@ -15229,17 +15436,17 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
- declare SELECT handler for sqlstate '02000' set @var2 = 1;
+ declare select handler for sqlstate '02000' set @var2 = 1;
END//
delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare sensitive handler for sqlstate '02000' set @var2 = 1;
@@ -15249,7 +15456,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare separator handler for sqlstate '02000' set @var2 = 1;
@@ -15259,7 +15466,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare set handler for sqlstate '02000' set @var2 = 1;
@@ -15269,7 +15476,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare show handler for sqlstate '02000' set @var2 = 1;
@@ -15279,7 +15486,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare smallint handler for sqlstate '02000' set @var2 = 1;
@@ -15289,17 +15496,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
-CREATE PROCEDURE sp1( )
-BEGIN
- declare soname handler for sqlstate '02000' set @var2 = 1;
-END//
-delimiter ;//
-
-DROP PROCEDURE IF EXISTS sp1;
-
-delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare spatial handler for sqlstate '02000' set @var2 = 1;
@@ -15309,7 +15506,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare specific handler for sqlstate '02000' set @var2 = 1;
@@ -15319,7 +15516,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare sql handler for sqlstate '02000' set @var2 = 1;
@@ -15329,7 +15526,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare sqlexception handler for sqlstate '02000' set @var2 = 1;
@@ -15339,7 +15536,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare sqlstate handler for sqlstate '02000' set @var2 = 1;
@@ -15349,7 +15546,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare sqlwarning handler for sqlstate '02000' set @var2 = 1;
@@ -15359,7 +15556,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare sql_big_result handler for sqlstate '02000' set @var2 = 1;
@@ -15369,7 +15566,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare sql_calc_found_rows handler for sqlstate '02000' set @var2 = 1;
@@ -15379,7 +15576,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare sql_small_result handler for sqlstate '02000' set @var2 = 1;
@@ -15389,7 +15586,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare ssl handler for sqlstate '02000' set @var2 = 1;
@@ -15399,7 +15596,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare starting handler for sqlstate '02000' set @var2 = 1;
@@ -15409,7 +15606,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare straight_join handler for sqlstate '02000' set @var2 = 1;
@@ -15419,7 +15616,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare table handler for sqlstate '02000' set @var2 = 1;
@@ -15429,17 +15626,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
-CREATE PROCEDURE sp1( )
-BEGIN
- declare tables handler for sqlstate '02000' set @var2 = 1;
-END//
-delimiter ;//
-
-DROP PROCEDURE IF EXISTS sp1;
-
-delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare terminated handler for sqlstate '02000' set @var2 = 1;
@@ -15449,7 +15636,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare then handler for sqlstate '02000' set @var2 = 1;
@@ -15459,7 +15646,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare tinyblob handler for sqlstate '02000' set @var2 = 1;
@@ -15469,7 +15656,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare tinyint handler for sqlstate '02000' set @var2 = 1;
@@ -15479,7 +15666,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare tinytext handler for sqlstate '02000' set @var2 = 1;
@@ -15489,7 +15676,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare to handler for sqlstate '02000' set @var2 = 1;
@@ -15499,7 +15686,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare trailing handler for sqlstate '02000' set @var2 = 1;
@@ -15509,7 +15696,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare trigger handler for sqlstate '02000' set @var2 = 1;
@@ -15519,7 +15706,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare true handler for sqlstate '02000' set @var2 = 1;
@@ -15529,7 +15716,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare undo handler for sqlstate '02000' set @var2 = 1;
@@ -15539,7 +15726,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare union handler for sqlstate '02000' set @var2 = 1;
@@ -15549,7 +15736,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare unique handler for sqlstate '02000' set @var2 = 1;
@@ -15559,7 +15746,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare unlock handler for sqlstate '02000' set @var2 = 1;
@@ -15569,7 +15756,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare unsigned handler for sqlstate '02000' set @var2 = 1;
@@ -15579,7 +15766,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare update handler for sqlstate '02000' set @var2 = 1;
@@ -15589,7 +15776,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare usage handler for sqlstate '02000' set @var2 = 1;
@@ -15599,17 +15786,17 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
- declare USE handler for sqlstate '02000' set @var2 = 1;
+ declare use handler for sqlstate '02000' set @var2 = 1;
END//
delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare using handler for sqlstate '02000' set @var2 = 1;
@@ -15619,7 +15806,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare utc_date handler for sqlstate '02000' set @var2 = 1;
@@ -15629,7 +15816,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare utc_time handler for sqlstate '02000' set @var2 = 1;
@@ -15639,7 +15826,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare utc_timestamp handler for sqlstate '02000' set @var2 = 1;
@@ -15649,7 +15836,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare values handler for sqlstate '02000' set @var2 = 1;
@@ -15659,7 +15846,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare varbinary handler for sqlstate '02000' set @var2 = 1;
@@ -15669,7 +15856,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare varchar handler for sqlstate '02000' set @var2 = 1;
@@ -15679,7 +15866,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare varcharacter handler for sqlstate '02000' set @var2 = 1;
@@ -15689,7 +15876,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare varying handler for sqlstate '02000' set @var2 = 1;
@@ -15699,7 +15886,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare when handler for sqlstate '02000' set @var2 = 1;
@@ -15709,7 +15896,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare where handler for sqlstate '02000' set @var2 = 1;
@@ -15719,7 +15906,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare while handler for sqlstate '02000' set @var2 = 1;
@@ -15729,7 +15916,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare with handler for sqlstate '02000' set @var2 = 1;
@@ -15739,7 +15926,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare write handler for sqlstate '02000' set @var2 = 1;
@@ -15749,7 +15936,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare xor handler for sqlstate '02000' set @var2 = 1;
@@ -15759,7 +15946,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare year_month handler for sqlstate '02000' set @var2 = 1;
@@ -15769,7 +15956,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1( )
BEGIN
declare zerofill handler for sqlstate '02000' set @var2 = 1;
@@ -16240,6 +16427,7 @@ delimiter ;//
CALL sp1();
+--disable_warnings
DROP PROCEDURE IF EXISTS sp1;
@@ -16782,7 +16970,7 @@ CALL sp1();
# cleanup
DROP PROCEDURE sp1;
-
+--enable_warnings
# ------------------------------------------------------------------------------
let $message= Testcase 4.2.38:;
@@ -16823,7 +17011,7 @@ let $message= Testcase 4.2.39:;
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1332
+--error ER_SP_DUP_COND
CREATE PROCEDURE sp1()
BEGIN
declare cond1 condition for sqlstate '42000';
@@ -16844,7 +17032,7 @@ let $message= Testcase 4.2.41:;
DROP PROCEDURE IF EXISTS sp1;
delimiter //;
---error 1407
+--error ER_SP_BAD_SQLSTATE
CREATE PROCEDURE sp1()
BEGIN
declare cond1 condition for sqlstate '1';
@@ -16858,7 +17046,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1407
+--error ER_SP_BAD_SQLSTATE
CREATE PROCEDURE sp1()
BEGIN
declare cond1 condition for sqlstate '12';
@@ -16872,7 +17060,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1407
+--error ER_SP_BAD_SQLSTATE
CREATE PROCEDURE sp1()
BEGIN
declare cond1 condition for sqlstate '123';
@@ -16886,7 +17074,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1407
+--error ER_SP_BAD_SQLSTATE
CREATE PROCEDURE sp1()
BEGIN
declare cond1 condition for sqlstate '1234';
@@ -16900,7 +17088,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1407
+--error ER_SP_BAD_SQLSTATE
CREATE PROCEDURE sp1()
BEGIN
declare cond1 condition for sqlstate '123456';
@@ -16915,7 +17103,7 @@ let $message= Testcase 4.2.42:;
--source include/show_msg80.inc
# testcase: ensure that the declare condition for statement cannot declare a
-# condition for an invalid sqlstate. (bug associated) (Bug#8760)
+# condition for an invalid sqlstate.
--disable_warnings
@@ -16923,7 +17111,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1407
+--error ER_SP_BAD_SQLSTATE
CREATE PROCEDURE sp1()
BEGIN
declare cond1 condition for sqlstate 'abcdefghi';
@@ -16937,7 +17125,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1407
+--error ER_SP_BAD_SQLSTATE
CREATE PROCEDURE sp1()
BEGIN
declare cond1 condition for sqlstate '42000test';
@@ -16951,7 +17139,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1407
+--error ER_SP_BAD_SQLSTATE
CREATE PROCEDURE sp1()
BEGIN
declare cond1 condition for sqlstate '00000@#$%^&';
@@ -16965,7 +17153,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1407
+--error ER_SP_BAD_SQLSTATE
CREATE PROCEDURE sp1()
BEGIN
declare cond1 condition for sqlstate '123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890';
@@ -16979,7 +17167,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1407
+--error ER_SP_BAD_SQLSTATE
CREATE PROCEDURE sp1()
BEGIN
declare cond1 condition for sqlstate 'null';
@@ -16993,7 +17181,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1407
+--error ER_SP_BAD_SQLSTATE
CREATE PROCEDURE sp1()
BEGIN
declare cond1 condition for sqlstate ' ';
@@ -17007,7 +17195,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp1()
BEGIN
declare cond1 condition for sqlstate 1234567890;
@@ -17021,7 +17209,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1407
+--error ER_SP_BAD_SQLSTATE
CREATE PROCEDURE sp1()
BEGIN
declare cond1 condition for sqlstate '2005-03-03';
@@ -17036,7 +17224,7 @@ let $message= Testcase 4.2.43:;
--source include/show_msg80.inc
# testcase: ensure that the declare condition for statement cannot declare a
-# condition for the successful completion sqlstate: 00000. (bug associated)
+# condition for the successful completion sqlstate: 00000.
--disable_warnings
DROP PROCEDURE IF EXISTS sp1;
@@ -17070,7 +17258,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1413
+--error ER_SP_DUP_HANDLER
CREATE PROCEDURE handler1 ()
BEGIN
declare continue handler for sqlstate '23000' set @varr1 = 5;
@@ -17081,7 +17269,7 @@ delimiter ;//
DROP PROCEDURE IF EXISTS handler1;
delimiter //;
---error 1413
+--error ER_SP_DUP_HANDLER
CREATE PROCEDURE handler1 ()
BEGIN
declare mycondition condition for sqlstate '23000';
@@ -17096,14 +17284,14 @@ let $message= Testcase 4.2.46:;
--source include/show_msg80.inc
# testcase: ensure that every sqlstate value declared with a declare handler for
-# statement is a character string that is 5 characters long (bug associated).
+# statement is a character string that is 5 characters long.
--disable_warnings
DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1407
+--error ER_SP_BAD_SQLSTATE
CREATE PROCEDURE sp1()
BEGIN
declare continue handler for sqlstate '1' set @var2 = 1;
@@ -17115,7 +17303,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1407
+--error ER_SP_BAD_SQLSTATE
CREATE PROCEDURE sp1()
BEGIN
declare continue handler for sqlstate '12' set @var2 = 1;
@@ -17127,7 +17315,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1407
+--error ER_SP_BAD_SQLSTATE
CREATE PROCEDURE sp1()
BEGIN
declare continue handler for sqlstate '123' set @var2 = 1;
@@ -17139,7 +17327,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1407
+--error ER_SP_BAD_SQLSTATE
CREATE PROCEDURE sp1()
BEGIN
declare continue handler for sqlstate '1234' set @var2 = 1;
@@ -17151,7 +17339,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1407
+--error ER_SP_BAD_SQLSTATE
CREATE PROCEDURE sp1()
BEGIN
declare continue handler for sqlstate '123456' set @var2 = 1;
@@ -17164,14 +17352,14 @@ let $message= Testcase 4.2.47:;
--source include/show_msg80.inc
# testcase: ensure that the declare handler for statement cannot declare a condition
-# for an invalid sqlstate. (bug associated)
+# for an invalid sqlstate.
--disable_warnings
DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1407
+--error ER_SP_BAD_SQLSTATE
CREATE PROCEDURE sp1()
BEGIN
declare continue handler for sqlstate '42s0200test' set @var2 = 1;
@@ -17189,7 +17377,7 @@ let $message= Testcase 4.2.48:;
--source include/show_msg80.inc
# testcase: ensure that the declare handler for statement cannot declare a condition
-# for the successful completion sqlstate: 00000. (bug associated)
+# for the successful completion sqlstate: 00000.
--disable_warnings
DROP PROCEDURE IF EXISTS sp1;
@@ -17222,7 +17410,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1333
+--error ER_SP_DUP_CURS
CREATE PROCEDURE sp1( )
BEGIN
declare done int default 0;
@@ -17237,11 +17425,11 @@ BEGIN
BEGIN
open cur1;
set count = count - 1;
- while count <> 0 do
+ while count > 0 do
fetch cur1 into newf1, newlf1, newf3, newsal;
set count = count - 1;
- END while;
- close cur1;
+ END while;
+ close cur1;
END;
END//
delimiter ;//
@@ -17258,7 +17446,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1323
+--error ER_SP_BAD_CURSOR_SELECT
CREATE PROCEDURE sp1( )
BEGIN
declare done int default 0;
@@ -17272,12 +17460,12 @@ BEGIN
BEGIN
open cur1;
set count = count - 1;
- while count <> 0 do
+ while count > 0 do
fetch cur1 into newf1, newlf1, newf3, newsal;
set count = count - 1;
- END while;
- close cur1;
- END;
+ END while;
+ close cur1;
+ END;
END//
delimiter ;//
@@ -17303,7 +17491,7 @@ DROP PROCEDURE IF EXISTS sp1;
--enable_warnings
delimiter //;
---error 1324
+--error ER_SP_CURSOR_MISMATCH
CREATE PROCEDURE sp1( )
BEGIN
declare done int default 0;
@@ -17316,7 +17504,7 @@ BEGIN
BEGIN
open cur1;
set count = count - 1;
- while count <> 0 do
+ while count > 0 do
fetch cur1 into newf1, newf2, newf4, newf3;
set count = count - 1;
END while;
@@ -17345,7 +17533,7 @@ BEGIN
BEGIN
open cur1;
set count = count - 1;
- while count <> 0 do
+ while count > 0 do
fetch cur1 into newf1, newf2, newf3, newf4;
set count = count - 1;
END while;
@@ -17355,8 +17543,7 @@ BEGIN
END//
delimiter ;//
-#suppressed (Bug# 8892)
---error 1325
+--error ER_SP_CURSOR_ALREADY_OPEN
CALL sp1();
@@ -17383,7 +17570,7 @@ BEGIN
open cur1;
open cur1;
set count = count - 1;
- while count <> 0 do
+ while count > 0 do
fetch cur1 into newf1, newf2, newf4, newf3;
set count = count - 1;
END while;
@@ -17392,7 +17579,7 @@ BEGIN
END//
delimiter ;//
---error 1325
+--error ER_SP_CURSOR_ALREADY_OPEN
CALL sp1();
# cleanup
@@ -17423,7 +17610,7 @@ BEGIN
BEGIN
open cur2;
set count = count - 1;
- while count <> 0 do
+ while count > 0 do
fetch cur1 into newf1, newf2, newf4, newf3;
set count = count - 1;
END while;
@@ -17432,7 +17619,7 @@ BEGIN
END//
delimiter ;//
---error 1326
+--error ER_SP_CURSOR_NOT_OPEN
CALL sp1();
# cleanup
@@ -17466,7 +17653,7 @@ BEGIN
declare continue handler for sqlstate '02000' set done = 1;
BEGIN
set count = count - 1;
- while count <> 0 do
+ while count > 0 do
fetch cur1 into newf1, newf2, newf4, newf3;
set count = count - 1;
END while;
@@ -17476,7 +17663,7 @@ BEGIN
END//
delimiter ;//
---error 1326
+--error ER_SP_CURSOR_NOT_OPEN
CALL sp1();
DROP PROCEDURE IF EXISTS sp1;
@@ -17485,7 +17672,7 @@ delimiter //;
CREATE PROCEDURE sp1( )
BEGIN
declare done int default 0;
- declare count integer default 0;
+ declare count integer default 10;
declare newf1 char(20);
declare newf2 char(20);
declare newf3 char(20);
@@ -17496,18 +17683,18 @@ BEGIN
BEGIN
declare cur1 cursor for SELECT f1, f2, f3, f4 from t2;
set count = count - 1;
- while count <> 0 do
+ while count > 0 do
fetch cur1 into newf1, newf2, newf3, newf4;
set count = count - 1;
END while;
open cur1;
close cur1;
- END;
+ END;
close cur1;
END//
delimiter ;//
---error 1326
+--error ER_SP_CURSOR_NOT_OPEN
CALL sp1();
# cleanup
@@ -17538,15 +17725,15 @@ BEGIN
open cur1;
close cur1;
set count = count - 1;
- while count <> 0 do
+ while count > 0 do
fetch cur1 into newf1, newf2, newf4, newf3;
- set count = count - 1;
+ set count = count - 1;
END while;
- END;
+ END;
END//
delimiter ;//
---error 1326
+--error ER_SP_CURSOR_NOT_OPEN
CALL sp1();
DROP PROCEDURE IF EXISTS sp1;
@@ -17555,7 +17742,7 @@ delimiter //;
CREATE PROCEDURE sp1( )
BEGIN
declare done int default 0;
- declare count integer default 0;
+ declare count integer default 20;
declare newf1 char(20);
declare newf2 char(20);
declare newf3 char(20);
@@ -17572,7 +17759,7 @@ BEGIN
END//
delimiter ;//
---error 1326
+--error ER_SP_CURSOR_NOT_OPEN
CALL sp1();
# cleanup
@@ -17597,13 +17784,13 @@ BEGIN
declare done int default 0;
declare count integer default 20;
declare newf2 char(20);
- declare newf1 date;
+ declare newf1 int1;
declare cur1 cursor for SELECT f1, f3 from t2 limit 20, 10;
declare continue handler for sqlstate '02000' set done = 1;
BEGIN
open cur1;
set count = count - 1;
- while count <> 0 do
+ while count > 0 do
fetch cur1 into newf1, newf2;
set @x = newf1;
set @y = newf2;
@@ -17615,8 +17802,8 @@ BEGIN
END//
delimiter ;//
-#FIXME check that here NO error occurs: suppressed for bug (Bug# 8702)
-#--error 1146
+#This test seems to make no sense, as always NULL may be set.
+#--error ER_SP_CURSOR_NOT_OPEN
CALL sp1();
# cleanup
@@ -17647,7 +17834,7 @@ BEGIN
close cur1;
open cur1;
set count = count - 1;
- while count <> 0 do
+ while count > 0 do
fetch cur1 into newf1, newf2, newf4, newf3;
set count = count - 1;
END while;
@@ -17656,7 +17843,7 @@ BEGIN
END//
delimiter ;//
---error 1326
+--error ER_SP_CURSOR_NOT_OPEN
CALL sp1();
DROP PROCEDURE IF EXISTS sp1;
@@ -17680,7 +17867,7 @@ BEGIN
END//
delimiter ;//
---error 1326
+--error ER_SP_CURSOR_NOT_OPEN
CALL sp1();
# cleanup
@@ -17716,9 +17903,7 @@ CREATE PROCEDURE sp1( )
END//
delimiter ;//
-#FIXME check this error, in 5.0.11 the error occurs. Is this wanted?
-# suppressed for bug (Bug#8756)
---error 1329
+--error ER_SP_FETCH_NO_DATA
CALL sp1();
# cleanup
@@ -17755,9 +17940,7 @@ BEGIN
END//
delimiter ;//
-#FIXME check this error, in 5.0.11 the error occurs. Is this wanted?
-##suppressed for bug (Bug#8756)
---error 1329
+--error ER_SP_FETCH_NO_DATA
CALL sp1();
# cleanup
@@ -17788,7 +17971,7 @@ BEGIN
BEGIN
open cur1;
set count = count - 1;
- while count <> 0 do
+ while count > 0 do
fetch cur1 into newf1, newf2, newf4, newf3;
set count = count - 1;
END while;
@@ -17798,7 +17981,7 @@ BEGIN
END//
delimiter ;//
---error 1326
+--error ER_SP_CURSOR_NOT_OPEN
CALL sp1();
# cleanup
@@ -17829,15 +18012,17 @@ BEGIN
declare continue handler for sqlstate '02000' set done = 1;
BEGIN
open cur1;
- set count = count - 1;
- while count <> 0 do
+# set count = count - 1;
+# while count > 0 do
fetch cur1 into newf1, newf2, newf4, newf3;
- set count = count - 1;
- END while;
+# set count = count - 1;
+# END while;
END;
+ fetch cur1 into newf1, newf2, newf4, newf3;
END//
delimiter ;//
+#--error ER_SP_FETCH_NO_DATA
CALL sp1();
# cleanup
@@ -17881,7 +18066,7 @@ BEGIN
set count = 10;
BEGIN
open cur2;
- while count <> 0 do
+ while count > 0 do
fetch cur1 into newf1, newf2, newf4, newf3;
set count = count - 1;
END while;
@@ -17890,7 +18075,8 @@ BEGIN
close cur1;
END;
BEGIN
- while count <> 0 do
+ set count = 10;
+ while count > 0 do
fetch cur2 into newf21, newf22, newf24, newf23;
set count = count - 1;
END while;
@@ -17902,7 +18088,7 @@ delimiter ;//
CALL sp1();
-SELECT * from temp1;
+SELECT count(*) from temp1;
SELECT * from temp2;
# cleanup
@@ -17926,54 +18112,56 @@ let $message= Testcase 4.3.1:;
--disable_warnings
DROP PROCEDURE IF EXISTS sp1;
-drop table IF EXISTS res_t3_itisalongname_1381742_itsaverylongname_1381742;
+DROP TABLE IF EXISTS res_t3_itisalongname_1381742_itsaverylongname_1381742;
--enable_warnings
#FIXME: change back to $engine_type for INNODB and MYISAM, but MEMORY doesn't support this
-eval CREATE TABLE res_t3_itisalongname_1381742_itsaverylongname_1381742(
- middleinitial CHAR,
- lastname VARCHAR(50),
- age_averylongfieldname_averylongname_1234569 int,
- COMMENT TEXT) ENGINE=innodb;
-# COMMENT TEXT) ENGINE=$engine_type;
+--replace_result $engine_type <engine_to_be_tested>
+eval
+CREATE TABLE res_t3_itisalongname_1381742_itsaverylongname_1381742(
+ middleinitial CHAR, lastname VARCHAR(50),
+ age_averylongfieldname_averylongname_1234569 INT, COMMENT VARCHAR(100))
+ENGINE=$engine_type;
INSERT INTO res_t3_itisalongname_1381742_itsaverylongname_1381742
- VALUES('a', 'aaaaaaaaaabbbbbbbbc', 0, 'default');
-
-delimiter //;
-CREATE PROCEDURE sp1(a int)
-BEGIN
- declare itisjustaverylargevariablename_xxxxxxxxxxxxxxxxxxxxx char;
- declare itisjustaverylargevarcharvariablename_xxxxxxxxxxxxxxxxxxxxx varchar(100);
- declare itisjustamediumsizeintintegervariablename integer;
- set itisjustaverylargevariablename_xxxxxxxxxxxxxxxxxxxxx = 'b';
- set itisjustaverylargevarcharvariablename_xxxxxxxxxxxxxxxxxxxxx = 'oldmacdonalds)(*&(^^%$&^%$&^%*^)(*^#@$@%';
- set itisjustamediumsizeintintegervariablename = 5;
- set @comment='a';
- label1: loop
- if a>100 then
- set @comment='value of a is greater than 100';
- elseif a<100 then
- if a<50 then
- set @comment='value of a is less than 50';
- elseif a<25 then
- set @comment='value of a is less than 25';
- else
- set @comment='value of a is greater than 50 and less than 100';
- END if;
- else
- set @comment='value of a is 100';
- END if;
-
- if itisjustamediumsizeintintegervariablename = 0 then leave label1;
- END if;
- insert into res_t3_itisalongname_1381742_itsaverylongname_1381742
- values( itisjustaverylargevariablename_xxxxxxxxxxxxxxxxxxxxx,
- concat(itisjustaverylargevarcharvariablename_xxxxxxxxxxxxxxxxxxxxx, ' ', a),
- a, @comment );
- set itisjustamediumsizeintintegervariablename = itisjustamediumsizeintintegervariablename - 1;
- iterate label1;
- END loop label1;
+VALUES('a', 'aaaaaaaaaabbbbbbbbc', 0, 'default');
+
+delimiter //;
+CREATE PROCEDURE sp1(a INT)
+BEGIN
+ DECLARE itisjustaverylargevariablename_xxxxxxxxxxxxxxxxxxxxx CHAR;
+ DECLARE itisjustaverylargevarcharvariablename_xxxxxxxxxxxxxxxxxxxxx VARCHAR(100);
+ DECLARE itisjustamediumsizeintintegervariablename INTEGER;
+ SET itisjustaverylargevariablename_xxxxxxxxxxxxxxxxxxxxx = 'b';
+ SET itisjustaverylargevarcharvariablename_xxxxxxxxxxxxxxxxxxxxx
+ = 'oldmacdonalds)(*&(^^%$&^%$&^%*^)(*^#@$@%';
+ SET itisjustamediumsizeintintegervariablename = 5;
+ SET @comment='a';
+ label1: LOOP
+ IF a > 100 THEN
+ SET @comment = 'value of a is greater than 100';
+ ELSEIF a < 100 THEN
+ IF a < 50 THEN
+ SET @comment = 'value of a is less than 50';
+ ELSEIF a < 25 THEN
+ SET @comment = 'value of a is less than 25';
+ ELSE
+ SET @comment = 'value of a is greater than 50 and less than 100';
+ END IF;
+ ELSE
+ SET @comment = 'value of a is 100';
+ END IF;
+
+ IF itisjustamediumsizeintintegervariablename = 0 THEN LEAVE label1;
+ END IF;
+ INSERT INTO res_t3_itisalongname_1381742_itsaverylongname_1381742
+ VALUES(itisjustaverylargevariablename_xxxxxxxxxxxxxxxxxxxxx,
+ CONCAT(itisjustaverylargevarcharvariablename_xxxxxxxxxxxxxxxxxxxxx,
+ ' ', a), a, @comment);
+ SET itisjustamediumsizeintintegervariablename
+ = itisjustamediumsizeintintegervariablename - 1;
+ ITERATE label1;
+ END LOOP label1;
END//
delimiter ;//
@@ -18052,6 +18240,7 @@ END//
delimiter ;//
CALL sp2( 'insert' );
+--sorted_result
SELECT * from t3 where f3 <=5 && f3 >= 0;
SELECT count(*) from t3;
@@ -18081,7 +18270,7 @@ DROP PROCEDURE IF EXISTS sp3;
create table res_t3_itisalongname_1381742_itsaverylongname_1381742 (name char, address varchar(50), age_averylongfieldname_averylongname_1234569 smallint);
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp3( action char(20) )
BEGIN
label1: case
@@ -18099,7 +18288,7 @@ DROP PROCEDURE IF EXISTS sp3;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp3( action char(20) )
BEGIN
label1: BEGIN
@@ -18119,7 +18308,7 @@ DROP PROCEDURE IF EXISTS sp3;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp3( action char(20) )
BEGIN
case
@@ -18139,7 +18328,7 @@ DROP PROCEDURE IF EXISTS sp3;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp3( action char(20) )
BEGIN
declare v1 char(20);
@@ -18178,8 +18367,9 @@ BEGIN
BEGIN
insert into res_t3_itisalongname_1381742_itsaverylongname_1381742
values('xxxxxxxxxxxxxxxxxxx', '1231230981(*&(*&)(*&(', count);
- if done=1 then
- set count=10;
+ set count = count + 1;
+ if count= 10 then
+ set done=1;
END if;
END;
END while label2;
@@ -18195,8 +18385,7 @@ BEGIN
END//
delimiter ;//
-# results in lost connection hence suppressed--error 2013
-#CALL sp3('insert');
+CALL sp3('insert');
# cleanup
DROP PROCEDURE sp3;
@@ -18214,7 +18403,7 @@ DROP PROCEDURE IF EXISTS sp4;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp4()
BEGIN
declare count int;
@@ -18236,7 +18425,7 @@ DROP PROCEDURE IF EXISTS sp4;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp4()
BEGIN
declare count int;
@@ -18257,7 +18446,7 @@ DROP PROCEDURE IF EXISTS sp4;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp4()
BEGIN
declare count int;
@@ -18278,7 +18467,7 @@ DROP PROCEDURE IF EXISTS sp4;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp4()
BEGIN
declare count int;
@@ -18299,7 +18488,7 @@ DROP PROCEDURE IF EXISTS sp4;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp4()
BEGIN
declare i int default 10;
@@ -18347,7 +18536,7 @@ BEGIN
END//
delimiter ;//
---error 1054
+--error ER_BAD_FIELD_ERROR
CALL sp4();
# cleanup
@@ -18365,7 +18554,7 @@ DROP PROCEDURE IF EXISTS sp5;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp5()
BEGIN
declare count integer default 1;
@@ -18384,7 +18573,7 @@ DROP PROCEDURE IF EXISTS sp5;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp5(count int)
BEGIN
when case count = 1 then
@@ -18400,7 +18589,7 @@ DROP PROCEDURE IF EXISTS sp5;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp5(count int)
BEGIN
END case;
@@ -18417,7 +18606,7 @@ DROP PROCEDURE IF EXISTS sp5;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp5(count int)
BEGIN
when count = 1 then
@@ -18440,7 +18629,7 @@ DROP PROCEDURE IF EXISTS sp6;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp6()
BEGIN
declare count1 integer default 1;
@@ -18457,7 +18646,7 @@ DROP PROCEDURE IF EXISTS sp6;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp6()
BEGIN
declare count1 integer default 1;
@@ -18474,7 +18663,7 @@ DROP PROCEDURE IF EXISTS sp6;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp6()
BEGIN
declare count1 integer default 1;
@@ -18491,7 +18680,7 @@ DROP PROCEDURE IF EXISTS sp6;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp6()
BEGIN
declare count1 integer default 1;
@@ -18507,7 +18696,7 @@ DROP PROCEDURE IF EXISTS sp6;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp6()
BEGIN
declare count1 integer default 1;
@@ -18529,15 +18718,14 @@ CREATE PROCEDURE sp6()
BEGIN
declare count1 integer default 1;
label1: repeat
- set count1 = count1;
+ set count1 = count1-1;
until count1 < 0
END repeat label1;
SELECT count1;
END//
delimiter ;//
-# results in lost connection hence suppressed--error 2013
-# CALL sp6();
+CALL sp6();
# cleanup
DROP PROCEDURE sp6;
@@ -18555,7 +18743,7 @@ DROP PROCEDURE IF EXISTS sp7;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp7()
BEGIN
label1: loop
@@ -18572,7 +18760,7 @@ DROP PROCEDURE IF EXISTS sp7;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp7()
BEGIN
label1: END loop;
@@ -18589,7 +18777,7 @@ DROP PROCEDURE IF EXISTS sp7;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp7()
BEGIN
label1: iterate label1;
@@ -18615,7 +18803,7 @@ DROP PROCEDURE IF EXISTS sp8;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp8()
BEGIN
declare v1 int default 5;
@@ -18630,7 +18818,7 @@ DROP PROCEDURE IF EXISTS sp8;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp8()
BEGIN
declare v1 int default 5;
@@ -18645,7 +18833,7 @@ DROP PROCEDURE IF EXISTS sp8;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp8()
BEGIN
declare v1 int default 5;
@@ -18655,11 +18843,6 @@ BEGIN
END//
delimiter ;//
-
-
-
-
-
# ------------------------------------------------------------------------------
let $message= Testcase 4.3.12:;
--source include/show_msg80.inc
@@ -18674,7 +18857,7 @@ DROP PROCEDURE IF EXISTS sp12;
create table res_t3_itisalongname_1381742_itsaverylongname_1381742( f1 char(20), f2 varchar(20), f3 smallint);
delimiter //;
---error 1310
+--error ER_SP_LABEL_MISMATCH
CREATE PROCEDURE sp12( )
BEGIN
declare count1 integer default 1;
@@ -18750,7 +18933,7 @@ DROP PROCEDURE IF EXISTS sp14;
create table res_t3_itisalongname_1381742_itsaverylongname_1381742( f1 char(20), f2 varchar(20), f3 smallint);
delimiter //;
---error 1308
+--error ER_SP_LILABEL_MISMATCH
CREATE PROCEDURE sp14( )
BEGIN
declare count1 integer default 1;
@@ -18782,7 +18965,7 @@ DROP PROCEDURE IF EXISTS sp15;
create table res_t3_itisalongname_1381742_itsaverylongname_1381742( f1 char(20), f2 varchar(20), f3 smallint);
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp15( )
BEGIN
declare count1 integer default 1;
@@ -18810,7 +18993,7 @@ DROP PROCEDURE IF EXISTS sp16;
delete from res_t3_itisalongname_1381742_itsaverylongname_1381742;
delimiter //;
---error 1309
+--error ER_SP_LABEL_REDEFINE
CREATE PROCEDURE sp16( )
BEGIN
declare count1 integer default 1;
@@ -18833,7 +19016,7 @@ DROP PROCEDURE IF EXISTS sp16;
--enable_warnings
delimiter //;
---error 1309
+--error ER_SP_LABEL_REDEFINE
CREATE PROCEDURE sp16( )
BEGIN
declare count1 integer default 1;
@@ -18880,7 +19063,7 @@ DROP PROCEDURE IF EXISTS sp18;
delete from res_t3_itisalongname_1381742_itsaverylongname_1381742;
delimiter //;
---error 1310
+--error ER_SP_LABEL_MISMATCH
CREATE PROCEDURE sp18( )
BEGIN
declare count1 integer default 1;
@@ -18941,7 +19124,7 @@ DROP PROCEDURE IF EXISTS sp20;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp20( )
BEGIN
declare count1 integer default 1;
@@ -18976,7 +19159,7 @@ DROP PROCEDURE IF EXISTS sp22;
--enable_warnings
delimiter //;
---error 1310
+--error ER_SP_LABEL_MISMATCH
CREATE PROCEDURE sp22( )
BEGIN
declare count1 integer default 1;
@@ -19008,7 +19191,7 @@ DROP PROCEDURE IF EXISTS sp23;
--enable_warnings
delimiter //;
---error 1064
+--error ER_PARSE_ERROR
CREATE PROCEDURE sp23( )
BEGIN
declare count1 integer default 1;
@@ -19111,7 +19294,7 @@ let $message= Testcase 4.4.2:;
DROP FUNCTION IF EXISTS fn1;
DROP FUNCTION IF EXISTS fn11;
DROP DATABASE IF EXISTS d40402;
---enable warnings
+--enable_warnings
delimiter //;
CREATE FUNCTION fn1(n int) returns int
@@ -19218,7 +19401,7 @@ DROP DATABASE IF EXISTS d1;
USE d1;
delimiter //;
---error 1314
+--error ER_SP_BADSTATEMENT
CREATE PROCEDURE sp3()
BEGIN
USE d1;
@@ -19261,7 +19444,6 @@ DROP DATABASE d1;
USE d1;
create table t44(a char(5), b char(10));
-#FIXME: check why here no rows are shown
--replace_column 13 modified 14 created
SELECT * from mysql.proc where specific_name = 'sp4';
@@ -19455,45 +19637,26 @@ let $procvar01_30= 1.00e+30;
let $procvar01_36= 1.00e+36;
let $procvar01_40= 1.00e+40;
-let $bug_dec_num= 1;
-
-eval SELECT $bug_dec_num as 'bug_dec_num';
-
-if ($bug_dec_num)
-{
- let $message=
- .
- FIXME: There are differences with datatypes DECIMAL and NUMERIC if large
- FIXME: exponent values are used. The diffs are shown only on some machines like
- FIXME: AIX52 and HPUX11. Until this has been solved we use numbers that
- FIXME: *should* be equal to the exponent representation but have no exponents
- FIXME: and use the specified count of *0*s instead.
- FIXME: In the source file these tests are marked with the comment hpux11
- .;
- --source include/show_msg80.inc
- # FIXME values above changed to values below to fix DECIMAL/NUMERIC issues on hpux11
-
- #################123456789-123456789-123456789-123456789-
- let $plus_20= 100000000000000000000;
- let $plus_24= 1000000000000000000000000;
- let $plus_30= 1000000000000000000000000000000;
- let $plus_36= 1000000000000000000000000000000000000;
- let $plus_40= 10000000000000000000000000000000000000000;
- let $minus_30= -1000000000000000000000000000000;
- let $minus_36= -1000000000000000000000000000000000000;
- let $minus_40= -10000000000000000000000000000000000000000;
-
- let $procvar_m00= -1.00e+22;
- let $procvar_00= 1.00e+22;
- let $procvar01_m30= $procvar_m00;
- let $procvar01_m36= $procvar_m00;
- let $procvar01_m40= $procvar_m00;
- let $procvar01_20= $procvar_00;
- let $procvar01_24= $procvar_00;
- let $procvar01_30= $procvar_00;
- let $procvar01_36= $procvar_00;
- let $procvar01_40= $procvar_00;
-}
+#################123456789-123456789-123456789-123456789-
+let $plus_20= 100000000000000000000;
+let $plus_24= 1000000000000000000000000;
+let $plus_30= 1000000000000000000000000000000;
+let $plus_36= 1000000000000000000000000000000000000;
+let $plus_40= 10000000000000000000000000000000000000000;
+let $minus_30= -1000000000000000000000000000000;
+let $minus_36= -1000000000000000000000000000000000000;
+let $minus_40= -10000000000000000000000000000000000000000;
+
+let $procvar_m00= -1.00e+22;
+let $procvar_00= 1.00e+22;
+let $procvar01_m30= $procvar_m00;
+let $procvar01_m36= $procvar_m00;
+let $procvar01_m40= $procvar_m00;
+let $procvar01_20= $procvar_00;
+let $procvar01_24= $procvar_00;
+let $procvar01_30= $procvar_00;
+let $procvar01_36= $procvar_00;
+let $procvar01_40= $procvar_00;
let $procvar03= -9.22e+18;
let $procvar05= -9.22e+18;
let $procvar07= -9.22e+18;
@@ -19548,10 +19711,7 @@ BEGIN
END//
delimiter ;//
-if ($have_bug_11589)
-{
--disable_ps_protocol
-}
SELECT fn3(1.84e+17);
--enable_ps_protocol
@@ -19567,14 +19727,10 @@ BEGIN
END//
delimiter ;//
-if ($have_bug_11589)
-{
--disable_ps_protocol
-}
SELECT fn4(-9.22e+15);
--enable_ps_protocol
-
--disable_warnings
DROP FUNCTION IF EXISTS fn5;
--enable_warnings
@@ -19693,7 +19849,6 @@ delimiter ;//
SELECT fn12(999999999);
-
--disable_warnings
DROP FUNCTION IF EXISTS fn13;
--enable_warnings
@@ -19797,10 +19952,8 @@ BEGIN
END//
delimiter ;//
-#FIXME hpux11
eval SELECT fn19_du( $plus_20 );
-
--disable_warnings
DROP FUNCTION IF EXISTS fn20_duz;
--enable_warnings
@@ -19813,10 +19966,8 @@ BEGIN
END//
delimiter ;//
-#FIXME hpux11
eval SELECT fn20_duz( $plus_24 );
-
--disable_warnings
DROP FUNCTION IF EXISTS fn21_d_z;
--enable_warnings
@@ -19916,7 +20067,9 @@ BEGIN
END//
delimiter ;//
+--disable_ps_protocol
SELECT fn27(1.00e+00);
+--enable_ps_protocol
--disable_warnings
@@ -19931,13 +20084,16 @@ BEGIN
END//
delimiter ;//
+--disable_ps_protocol
SELECT fn28(1.00e+00);
+--enable_ps_protocol
--disable_warnings
DROP FUNCTION IF EXISTS fn29;
--enable_warnings
+
delimiter //;
CREATE FUNCTION fn29( f1 float) returns float
BEGIN
@@ -19976,7 +20132,9 @@ BEGIN
END//
delimiter ;//
+--disable_ps_protocol
SELECT fn31(1.00e+00);
+--enable_ps_protocol
--disable_warnings
@@ -19991,7 +20149,9 @@ BEGIN
END//
delimiter ;//
+--disable_ps_protocol
SELECT fn32(1.00e+00);
+--enable_ps_protocol
--disable_warnings
@@ -20036,7 +20196,9 @@ BEGIN
END//
delimiter ;//
+--disable_ps_protocol
SELECT fn35(1.00e+00);
+--enable_ps_protocol
--disable_warnings
@@ -20051,7 +20213,9 @@ BEGIN
END//
delimiter ;//
+--disable_ps_protocol
SELECT fn36(1.00e+00);
+--enable_ps_protocol
--disable_warnings
@@ -20096,7 +20260,9 @@ BEGIN
END//
delimiter ;//
+--disable_ps_protocol
SELECT fn39(1.00e+00);
+--enable_ps_protocol
--disable_warnings
@@ -20111,7 +20277,9 @@ BEGIN
END//
delimiter ;//
+--disable_ps_protocol
SELECT fn40(1.00e+00);
+--enable_ps_protocol
--disable_warnings
@@ -20155,7 +20323,9 @@ BEGIN
END//
delimiter ;//
+--disable_ps_protocol
SELECT fn43(1.00e+00);
+--enable_ps_protocol
--disable_warnings
@@ -20170,7 +20340,9 @@ BEGIN
END//
delimiter ;//
+--disable_ps_protocol
SELECT fn44(1.00e+00);
+--enable_ps_protocol
--disable_warnings
@@ -20214,7 +20386,9 @@ BEGIN
END//
delimiter ;//
+--disable_ps_protocol
SELECT fn47(1.00e+00);
+--enable_ps_protocol
--disable_warnings
@@ -20229,7 +20403,9 @@ BEGIN
END//
delimiter ;//
+--disable_ps_protocol
SELECT fn48(1.00e+00);
+--enable_ps_protocol
--disable_warnings
@@ -20289,10 +20465,7 @@ BEGIN
END//
delimiter ;//
-if ($have_bug_11589)
-{
--disable_ps_protocol
-}
SELECT fn52(2.15e+08);
--enable_ps_protocol
@@ -20352,13 +20525,7 @@ BEGIN
END//
delimiter ;//
-if ($have_bug_11589)
-{
---disable_ps_protocol
-}
SELECT fn56(-8388601);
---enable_ps_protocol
-
--disable_warnings
DROP FUNCTION IF EXISTS fn57;
@@ -20709,7 +20876,9 @@ BEGIN
END//
delimiter ;//
+--disable_ps_protocol
SELECT fn79(1.1);
+--enable_ps_protocol
--disable_warnings
@@ -20724,7 +20893,9 @@ BEGIN
END//
delimiter ;//
+--disable_ps_protocol
SELECT fn80(1.1);
+--enable_ps_protocol
--disable_warnings
@@ -20784,13 +20955,7 @@ BEGIN
END//
delimiter ;//
-if ($have_bug_11589)
-{
---disable_ps_protocol
-}
SELECT fn84(-32601);
---enable_ps_protocol
-
--disable_warnings
DROP FUNCTION IF EXISTS fn85;
@@ -20849,62 +21014,44 @@ BEGIN
END//
delimiter ;//
-if ($have_bug_11589)
-{
---disable_ps_protocol
-}
SELECT fn88(-101);
---enable_ps_protocol
--disable_warnings
DROP FUNCTION IF EXISTS fn89;
--enable_warnings
-
-#FIXME why was fn89 switched off ?
delimiter //;
-#FIXME: check whether this error 1064 is OK!
---error 1064
CREATE FUNCTION fn89( f1 enum('1enum', '2enum')) returns enum('1enum', '2enum')
BEGIN
- if f1 eq "1enum" then
- set f1 = '2enum';
- else
- set f1 = '1enum';
- END if;
- return f1;
+ IF f1 = '1enum' THEN
+ SET f1 = '2enum';
+ ELSE
+ SET f1 = '1enum';
+ END IF;
+ RETURN f1;
END//
delimiter ;//
-#FIXME: this is OK as long as the error 1064 above is OK!
---error 1305
SELECT fn89( '1enum');
--disable_warnings
DROP FUNCTION IF EXISTS fn90;
--enable_warnings
-
-#FIXME: wah was fn90 switched off ?
delimiter //;
-#FIXME: check whether this error 1064 is OK!
---error 1064
-CREATE FUNCTION fn90( f1 set("1set", "2set")) returns set("1set", "2set")
+CREATE FUNCTION fn90( f1 set('1set', '2set')) returns set('1set', '2set')
BEGIN
- if(f1 == "1set") then
- set f1 = "2set";
- else
- set f1 = "1set";
- END if;
- return f1;
+ IF f1 = '1set' THEN
+ SET f1 = '2set';
+ ELSE
+ SET f1 = '1set';
+ END IF;
+ RETURN f1;
END//
delimiter ;//
-#FIXME: this is OK as long as the error 1064 above is OK!
---error 1305
SELECT fn90( '1set');
-
--disable_warnings
DROP FUNCTION IF EXISTS fn91;
--enable_warnings
@@ -20986,17 +21133,13 @@ DROP FUNCTION IF EXISTS fn96;
--enable_warnings
delimiter //;
-#FIXME: check whether this error 1064 is OK!
-#--error 1064
-CREATE FUNCTION fn96( f1 char binary) returns char binary
+CREATE FUNCTION fn96( f1 binary) returns binary(2)
BEGIN
set f1 = concat('a', f1);
return f1;
END//
delimiter ;//
-#FIXME: this is OK as long as the error 1064 above is OK!
-#--error 1305
SELECT fn96( 'h');
@@ -21090,9 +21233,7 @@ SELECT fn102(1982);
DROP FUNCTION IF EXISTS fn103;
--enable_warnings
-#FIXME Bug: (Bug#10499)
delimiter //;
-#--error 1178
CREATE FUNCTION fn103( f1 geometrycollection) returns geometrycollection
BEGIN
set f1 = f1;
@@ -21100,7 +21241,6 @@ BEGIN
END//
delimiter ;//
-#FIXME Bug: (Bug#10499)
SELECT fn103('\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\04@\0\0\0\0\0\0?\0\0\0\0\0\04@\0\0\0\0\0\04@\0\0\0\0\0\0?\0\0\0\0\0\04@\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\0\0\0\0\0@\0\0\0\0\0\0@');
@@ -21108,9 +21248,7 @@ SELECT fn103('\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
DROP FUNCTION IF EXISTS fn104;
--enable_warnings
-#FIXME Bug: (Bug#10499)
delimiter //;
-#--error 1178
CREATE FUNCTION fn104( f1 linestring) returns linestring
BEGIN
set f1 = f1;
@@ -21118,7 +21256,6 @@ BEGIN
END//
delimiter ;//
-#FIXME Bug: (Bug#10499)
SELECT fn104('\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@');
@@ -21126,9 +21263,7 @@ SELECT fn104('\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
DROP FUNCTION IF EXISTS fn105;
--enable_warnings
-#FIXME Bug: (Bug#10499)
delimiter //;
-#--error 1178
CREATE FUNCTION fn105( f1 point) returns point
BEGIN
set f1 = f1;
@@ -21136,7 +21271,6 @@ BEGIN
END//
delimiter ;//
-#FIXME Bug: (Bug#10499)
SELECT fn105('\0\0\0\0\0\0\0\0\0\0\0\0\04@\0\0\0\0\0\04@');
@@ -21144,9 +21278,7 @@ SELECT fn105('\0\0\0\0\0\0\0\0\0\0\0\0\04@\0\0\0\0\0\04@');
DROP FUNCTION IF EXISTS fn106;
--enable_warnings
-#FIXME Bug: (Bug#10499)
delimiter //;
-#--error 1178
CREATE FUNCTION fn106( f1 polygon) returns polygon
BEGIN
set f1 = f1;
@@ -21154,7 +21286,6 @@ BEGIN
END//
delimiter ;//
-#FIXME Bug: (Bug#10499)
SELECT fn106('\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\04@\0\0\0\0\0\0?\0\0\0\0\0\04@\0\0\0\0\0\04@\0\0\0\0\0\0?\0\0\0\0\0\04@\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\0\0\0\0\0@\0\0\0\0\0\0@');
@@ -21260,10 +21391,6 @@ BEGIN
END//
delimiter ;//
--- echo FIXME: Following test contains a known problem that will be checked again
--- echo FIXME: after WL#2984 has been completed:
--- echo FIXME: default (10) for DECIMAL not checked, decimal digits shown although not defined
-
CALL sp5(-1.00e+09);
@@ -21279,10 +21406,6 @@ BEGIN
END//
delimiter ;//
--- echo FIXME: Following test contains a known problem that will be checked again
--- echo FIXME: after WL#2984 has been completed:
--- echo FIXME: decimal digits shown although not defined
-
CALL sp6(-1.00e+09);
--disable_warnings
@@ -21326,10 +21449,6 @@ BEGIN
END//
delimiter ;//
--- echo FIXME: Following test contains a known problem that will be checked again
--- echo FIXME: after WL#2984 has been completed:
--- echo FIXME: decimal digits shown although not defined
-
CALL sp9(-1.00e+09);
--disable_warnings
@@ -21344,10 +21463,6 @@ BEGIN
END//
delimiter ;//
--- echo FIXME: Following test contains a known problem that will be checked again
--- echo FIXME: after WL#2984 has been completed:
--- echo FIXME: decimal digits shown although not defined
-
CALL sp10(-1.00e+09);
--disable_warnings
@@ -21362,10 +21477,6 @@ BEGIN
END//
delimiter ;//
--- echo FIXME: Following test contains a known problem that will be checked again
--- echo FIXME: after WL#2984 has been completed:
--- echo FIXME: decimal digits shown although not defined
-
CALL sp11(99999999999);
--disable_warnings
@@ -21380,10 +21491,6 @@ BEGIN
END//
delimiter ;//
--- echo FIXME: Following test contains a known problem that will be checked again
--- echo FIXME: after WL#2984 has been completed:
--- echo FIXME: decimal digits shown although not defined
-
CALL sp12(999999999);
--disable_warnings
@@ -21398,10 +21505,6 @@ BEGIN
END//
delimiter ;//
--- echo FIXME: Following test contains a known problem that will be checked again
--- echo FIXME: after WL#2984 has been completed:
--- echo FIXME: decimal digits shown although not defined
-
CALL sp13(-1.00e+09);
--disable_warnings
@@ -21416,10 +21519,6 @@ BEGIN
END//
delimiter ;//
--- echo FIXME: Following test contains a known problem that will be checked again
--- echo FIXME: after WL#2984 has been completed:
--- echo FIXME: wrong number of decimal digits shown
-
CALL sp14(-1.00e+21);
@@ -21435,10 +21534,6 @@ BEGIN
END//
delimiter ;//
--- echo FIXME: Following test contains a known problem that will be checked again
--- echo FIXME: after WL#2984 has been completed:
--- echo FIXME: wrong number of decimal digits shown
-
CALL sp15(1.00e+16);
@@ -21454,10 +21549,6 @@ BEGIN
END//
delimiter ;//
--- echo FIXME: Following test contains a known problem that will be checked again
--- echo FIXME: after WL#2984 has been completed:
--- echo FIXME: wrong number of decimal digits shown
-
CALL sp16(1.00e+16);
@@ -21473,10 +21564,6 @@ BEGIN
END//
delimiter ;//
--- echo FIXME: Following test contains a known problem that will be checked again
--- echo FIXME: after WL#2984 has been completed:
--- echo FIXME: wrong number of decimal digits shown
-
CALL sp17(-1.00e+21);
--disable_warnings
@@ -21491,8 +21578,7 @@ BEGIN
END//
delimiter ;//
-# hpux11
-#CALL sp18_d(-1.00e+30);
+CALL sp18_d(-1.00e+30);
eval CALL sp18_d( $minus_30 );
--disable_warnings
@@ -21507,10 +21593,9 @@ BEGIN
END//
delimiter ;//
-# hpux11
-#CALL sp19_du(1.00e+20);
+CALL sp19_du(1.00e+20);
eval CALL sp19_du( $plus_20 );
-#CALL sp19_du(1.00e+24);
+CALL sp19_du(1.00e+24);
eval CALL sp19_du( $plus_24 );
--disable_warnings
@@ -21525,14 +21610,9 @@ BEGIN
END//
delimiter ;//
--- echo FIXME: Following test contains a known problem that will be checked again
--- echo FIXME: after WL#2984 has been completed:
--- echo FIXME: decimal digits shown although not defined
-
-# hpux11
-#CALL sp20_duz(1.00e+20);
+CALL sp20_duz(1.00e+20);
eval CALL sp20_duz( $plus_20 );
-#CALL sp20_duz(1.00e+24);
+CALL sp20_duz(1.00e+24);
eval CALL sp20_duz( $plus_24 );
--disable_warnings
@@ -21547,10 +21627,6 @@ BEGIN
END//
delimiter ;//
--- echo FIXME: Following test contains a known problem that will be checked again
--- echo FIXME: after WL#2984 has been completed:
--- echo FIXME: decimal digits shown although not defined
-
CALL sp21(1.00e+00);
--disable_warnings
@@ -21565,10 +21641,6 @@ BEGIN
END//
delimiter ;//
--- echo FIXME: Following test contains a known problem that will be checked again
--- echo FIXME: after WL#2984 has been completed:
--- echo FIXME: decimal digits shown although not defined
-
CALL sp22(1.00e+00);
--disable_warnings
@@ -21583,10 +21655,6 @@ BEGIN
END//
delimiter ;//
--- echo FIXME: Following test contains a known problem that will be checked again
--- echo FIXME: after WL#2984 has been completed:
--- echo FIXME: decimal digits shown although not defined
-
CALL sp23(1.00e+00);
--disable_warnings
@@ -21601,10 +21669,6 @@ BEGIN
END//
delimiter ;//
--- echo FIXME: Following test contains a known problem that will be checked again
--- echo FIXME: after WL#2984 has been completed:
--- echo FIXME: decimal digits shown although not defined
-
CALL sp24(-1.00e+09);
--disable_warnings
@@ -22196,8 +22260,7 @@ BEGIN
END//
delimiter ;//
-# hpux11
-#CALL sp66_n(-1e+36);
+CALL sp66_n(-1e+36);
eval CALL sp66_n( $minus_36 );
--disable_warnings
@@ -22212,8 +22275,7 @@ BEGIN
END//
delimiter ;//
-# hpux11
-#CALL sp67_nu(1e+36);
+CALL sp67_nu(1e+36);
eval CALL sp67_nu( $plus_36 );
@@ -22229,8 +22291,7 @@ BEGIN
END//
delimiter ;//
-# hpux11
-#CALL sp68_nuz(1e+36);
+CALL sp68_nuz(1e+36);
eval CALL sp68_nuz( $plus_36 );
@@ -22246,8 +22307,7 @@ BEGIN
END//
delimiter ;//
-# hpux11
-#CALL sp69_n_z(-1e+36);
+CALL sp69_n_z(-1e+36);
eval CALL sp69_n_z( $minus_36 );
@@ -22263,8 +22323,7 @@ BEGIN
END//
delimiter ;//
-# hpux11
-#CALL sp70_n(-1e+40);
+CALL sp70_n(-1e+40);
eval CALL sp70_n( $minus_40 );
@@ -22280,8 +22339,7 @@ BEGIN
END//
delimiter ;//
-# hpux11
-#CALL sp71_nu(1.00e+40);
+CALL sp71_nu(1.00e+40);
eval CALL sp71_nu( $plus_40 );
@@ -22297,8 +22355,7 @@ BEGIN
END//
delimiter ;//
-# hpux11
-#CALL sp72_nuz(1.00e+40);
+CALL sp72_nuz(1.00e+40);
eval CALL sp72_nuz( $plus_40 );
@@ -22314,8 +22371,7 @@ BEGIN
END//
delimiter ;//
-# hpux11
-#CALL sp73_n_z(1.00e+40);
+CALL sp73_n_z(1.00e+40);
eval CALL sp73_n_z( $plus_40 );
@@ -22533,31 +22589,27 @@ CALL sp88(-101);
DROP PROCEDURE IF EXISTS sp89;
--enable_warnings
-#FIXME: check why this is switched off
-#delimiter //;
-#CREATE PROCEDURE sp89( f1 enum("1enum", "2enum"))
-#BEGIN
-# if(f1 == "1enum") { set f1 = "2enum"; } else { set f1 = "1enum"; }
-# SELECT f1;
-#END//
-#delimiter ;//
+delimiter //;
+CREATE PROCEDURE sp89( f1 enum('1enum', '2enum'))
+BEGIN
+ IF f1 = '1enum' THEN set f1 = '2enum'; ELSE set f1 = '1enum'; END IF;
+END//
+delimiter ;//
-#CALL sp89( '1enum');
+CALL sp89( '1enum');
--disable_warnings
DROP PROCEDURE IF EXISTS sp90;
--enable_warnings
-#FIXME: check why this is switched off
-#delimiter //;
-#CREATE PROCEDURE sp90( f1 set("1set", "2set"))
-#BEGIN
-# if(f1 == "1set") { set f1 = "2set"; } else { set f1 = "1set"; }
-# SELECT f1;
-#END//
-#delimiter ;//
+delimiter //;
+CREATE PROCEDURE sp90( f1 set('1set', '2set'))
+BEGIN
+ IF f1 = '1set' THEN set f1 = '2set'; ELSE set f1 = '1set'; END IF;
+END//
+delimiter ;//
-#CALL sp90( '1set');
+CALL sp90( '1set');
--disable_warnings
DROP PROCEDURE IF EXISTS sp91;
@@ -23094,10 +23146,6 @@ BEGIN
END//
delimiter ;//
-#let $message= FIXME: CALL of spexecute07 temporarily switched off due to differences
-# FIXME: between Linux and Solaris;
-#--source include/show_msg80.inc
-#FIXME CALL spexecute07();
CALL spexecute07();
DROP PROCEDURE spexecute07;
DROP PROCEDURE sp07;
@@ -24864,7 +24912,6 @@ BEGIN
END//
delimiter ;//
-#FIXME: check later again with E+40
CALL spexecute52();
DROP PROCEDURE spexecute52;
DROP PROCEDURE sp52;
@@ -24903,7 +24950,6 @@ BEGIN
END//
delimiter ;//
-#FIXME: check later again with E+40
CALL spexecute53();
DROP PROCEDURE spexecute53;
DROP PROCEDURE sp53;
@@ -24942,7 +24988,6 @@ BEGIN
END//
delimiter ;//
-#FIXME: check later again with E+40
CALL spexecute54();
DROP PROCEDURE spexecute54;
DROP PROCEDURE sp54;
@@ -24981,7 +25026,6 @@ BEGIN
END//
delimiter ;//
-#FIXME: check later again with E+40
CALL spexecute55();
DROP PROCEDURE spexecute55;
DROP PROCEDURE sp55;
@@ -25516,7 +25560,6 @@ BEGIN
END//
delimiter ;//
-#FIXME: hpux11 - check later again with E+40
CALL spexecute69();
DROP PROCEDURE spexecute69;
DROP PROCEDURE sp69;
@@ -25593,7 +25636,6 @@ BEGIN
END//
delimiter ;//
-#FIXME: hpux11 - check later again with E+40
CALL spexecute71();
DROP PROCEDURE spexecute71;
DROP PROCEDURE sp71;
@@ -26394,7 +26436,6 @@ BEGIN
END//
delimiter ;//
-#FIXME: hpux11 - check later again with E+40
CALL spexecute92();
DROP PROCEDURE spexecute92;
DROP PROCEDURE sp92;
@@ -26433,7 +26474,6 @@ BEGIN
END//
delimiter ;//
-#FIXME: hpux11 - check later again with E+40
CALL spexecute93();
DROP PROCEDURE spexecute93;
DROP PROCEDURE sp93;
@@ -26839,8 +26879,6 @@ check for combination of server sql modes
DROP PROCEDURE IF EXISTS sp4;
--enable_warnings
-#FIXME 4.7.4: check it is correct that having a blank after the comma lets this fail:
---error 1231
set @@sql_mode = 'ansi, error_for_division_by_zero';
# now set the corrent value:
@@ -26986,7 +27024,7 @@ BEGIN
END//
delimiter ;//
---error 1305
+--error ER_SP_DOES_NOT_EXIST
SHOW CREATE FUNCTION sp6;
# cleanup
@@ -27031,7 +27069,7 @@ let $message= Testcase 4.8.5:;
DROP PROCEDURE IF EXISTS sp7;
--enable_warnings
---error 1305
+--error ER_SP_DOES_NOT_EXIST
show CREATE PROCEDURE sp7;
@@ -27068,7 +27106,7 @@ CREATE FUNCTION fn1 (i1 real) returns real
END//
delimiter ;//
---error 1305
+--error ER_SP_DOES_NOT_EXIST
show CREATE PROCEDURE fn1;
# cleanup
@@ -27153,7 +27191,7 @@ CREATE FUNCTION fn1 (x int) returns int
END//
delimiter ;//
---error 1305
+--error ER_SP_DOES_NOT_EXIST
show CREATE PROCEDURE fn1;
# cleanup
@@ -27181,7 +27219,7 @@ delimiter ;//
DROP FUNCTION fn1;
---error 1305
+--error ER_SP_DOES_NOT_EXIST
show CREATE FUNCTION fn1;
@@ -27196,7 +27234,7 @@ let $message= Testcase 4.8.13:;
--disable_warnings
DROP FUNCTION IF EXISTS f1000;
---enable warnings
+--enable_warnings
SHOW FUNCTION STATUS LIKE 'f1000';
@@ -27210,7 +27248,7 @@ let $message= Testcase 4.8.14:;
--disable_warnings
DROP PROCEDURE IF EXISTS sp1;
---enable_warnibgs
+--enable_warnings
delimiter //;
CREATE PROCEDURE sp1()
@@ -27219,7 +27257,7 @@ BEGIN
END//
delimiter ;//
---error 1305
+--error ER_SP_DOES_NOT_EXIST
show CREATE FUNCTION sp1;
# cleanup
@@ -27341,7 +27379,6 @@ delimiter ;//
alter function fn1 sql security invoker;
alter function fn1 comment 'this is a function 3242#@%$#@';
-#FIXME: check why here no rows are shown
--replace_column 5 modified 6 created
show function status like 'fn1';
@@ -27397,7 +27434,7 @@ delimiter ;//
DROP PROCEDURE sp6;
---error 1305
+--error ER_SP_DOES_NOT_EXIST
show CREATE PROCEDURE sp6;
# ------------------------------------------------------------------------------
@@ -27446,7 +27483,7 @@ delimiter ;//
DROP FUNCTION fn1;
---error 1305
+--error ER_SP_DOES_NOT_EXIST
show CREATE FUNCTION fn1;
@@ -27471,7 +27508,6 @@ delimiter ;//
DROP FUNCTION fn1;
-#FIXME: check why here no rows are shown
--replace_column 5 modified 6 created
SHOW FUNCTION STATUS LIKE 'fn1';
@@ -27504,6 +27540,7 @@ BEGIN
END//
delimiter ;//
+--sorted_result
CALL sp6 (10, 20, 30, 40, 50);
# cleanup
@@ -27640,9 +27677,6 @@ BEGIN
END//
delimiter ;//
-#FIXME Bug: (Bug#9079)
-# suppressed: currenlty the table creation from within sproc fails!
-#FIXME check why this NOW works--error 1146
CALL sp6 (10, 20, 30, 40, 50);
# cleanup
@@ -27661,8 +27695,7 @@ let $message= Testcase 4.9.6:;
DROP FUNCTION IF EXISTS fn1;
delimiter //;
-#FIXME: check this is OK: failed: 1415: Not allowed to return a result set from a function
---error 1415
+--error ER_SP_NO_RETSET
CREATE FUNCTION fn1(i1 longtext) returns longtext
BEGIN
SELECT * from t9 limit 0, 100;
@@ -27677,8 +27710,7 @@ create table res_t9 (f1 int, f2 char(25), f3 int);
insert into res_t9 values (10, 'abc', 20);
delimiter //;
-#FIXME: check this is OK: failed: 1422: Explicit or implicit commit is not allowed in stored function or trigger.
---error 1422
+--error ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG
CREATE FUNCTION fn1(i1 longtext) returns longtext
BEGIN
delete from res_t9;
@@ -27691,8 +27723,7 @@ DROP FUNCTION IF EXISTS fn1;
drop table IF EXISTS res_t9;
delimiter //;
-#FIXME: check this is OK: failed: 1422: Explicit or implicit commit is not allowed in stored function or trigger.
---error 1422
+--error ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG
CREATE FUNCTION fn1(i1 longtext) returns longtext
BEGIN
create table res_t9 (f1 longtext, f2 longblob, f3 real);
@@ -27707,8 +27738,7 @@ drop table IF EXISTS res_t9;
create table res_t9 (f1 int, f2 char(25), f3 int);
delimiter //;
-#FIXME: check this is OK: failed: 1422: Explicit or implicit commit is not allowed in stored function or trigger.
---error 1422
+--error ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG
CREATE FUNCTION fn1(i1 longtext) returns longtext
BEGIN
insert into res_t9 values (100, 'abc', 300);
@@ -27724,8 +27754,7 @@ create table res_t9 (f1 int, f2 char(25), f3 int);
insert into res_t9 values (10, 'abc', 20);
delimiter //;
-#FIXME: check this is OK: failed: 1422: Explicit or implicit commit is not allowed in stored function or trigger.
---error 1422
+--error ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG
CREATE FUNCTION fn1(i1 longtext) returns longtext
BEGIN
update res_t9 set f1 = 20;
@@ -28130,7 +28159,6 @@ let $message= Testcase 4.11.11:;
--source include/show_msg80.inc
# testcase: verify undo handler for sql state 42000 (er_sp_wrong_no_of_args)
-# ?????????????
--disable_warnings
DROP PROCEDURE IF EXISTS h1;
@@ -28236,10 +28264,14 @@ BEGIN
END//
delimiter ;//
+CALL h1();
+
# cleanup
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+--disable_warnings
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
+--enable_warnings
@@ -28279,10 +28311,14 @@ BEGIN
END//
delimiter ;//
+CALL h1();
+
# cleanup
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+--disable_warnings
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
+--enable_warnings
@@ -28324,10 +28360,14 @@ BEGIN
END//
delimiter ;//
+CALL h1();
+
# cleanup
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+--disable_warnings
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
+--enable_warnings
# ------------------------------------------------------------------------------
@@ -28368,12 +28408,14 @@ BEGIN
END//
delimiter ;//
-CALL h1()
+CALL h1();
# cleanup
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+--disable_warnings
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
+--enable_warnings
# ------------------------------------------------------------------------------
@@ -28413,9 +28455,11 @@ delimiter ;//
CALL h1();
# cleanup
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+--disable_warnings
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
+--enable_warnings
# ------------------------------------------------------------------------------
@@ -28455,9 +28499,11 @@ delimiter ;//
CALL h1();
# cleanup
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+--disable_warnings
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
+--enable_warnings
# ------------------------------------------------------------------------------
let $message= Testcase 4.11.19:;
@@ -28498,9 +28544,11 @@ delimiter ;//
CALL h1();
# cleanup
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+--disable_warnings
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
+--enable_warnings
# ------------------------------------------------------------------------------
let $message= Testcase 4.11.20:;
@@ -28541,9 +28589,11 @@ delimiter ;//
CALL h1();
# cleanup
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+--disable_warnings
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
+--enable_warnings
# ------------------------------------------------------------------------------
@@ -28583,9 +28633,11 @@ delimiter ;//
CALL h1();
# cleanup
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+--disable_warnings
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
+--enable_warnings
# ------------------------------------------------------------------------------
let $message= Testcase 4.11.22:;
@@ -28625,9 +28677,11 @@ delimiter ;//
CALL h1();
# cleanup
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+--disable_warnings
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
+--enable_warnings
# ------------------------------------------------------------------------------
let $message= Testcase 4.11.23:;
@@ -28668,9 +28722,11 @@ delimiter ;//
CALL h1();
# cleanup
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+--disable_warnings
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
+--enable_warnings
# ------------------------------------------------------------------------------
let $message= Testcase 4.11.24:;
@@ -28711,9 +28767,11 @@ delimiter ;//
CALL h1();
# cleanup
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+--disable_warnings
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
+--enable_warnings
# ------------------------------------------------------------------------------
let $message= Testcase 4.11.25:;
@@ -28751,9 +28809,11 @@ delimiter ;//
CALL h1();
# cleanup
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+--disable_warnings
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
+--enable_warnings
@@ -28793,9 +28853,11 @@ delimiter ;//
CALL h1();
# cleanup
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+--disable_warnings
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
+--enable_warnings
# ------------------------------------------------------------------------------
@@ -28834,9 +28896,11 @@ delimiter ;//
CALL h1();
# cleanup
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+--disable_warnings
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
+--enable_warnings
# ------------------------------------------------------------------------------
@@ -28875,9 +28939,11 @@ delimiter ;//
CALL h1();
# cleanup
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+--disable_warnings
+DROP PROCEDURE IF EXISTS h1;
+drop table IF EXISTS res_t1;
+drop table IF EXISTS res_t2;
+--enable_warnings
# ------------------------------------------------------------------------------
@@ -28919,9 +28985,11 @@ delimiter ;//
CALL h1();
# cleanup
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+--disable_warnings
+DROP PROCEDURE IF EXISTS h1;
+drop table IF EXISTS res_t1;
+drop table IF EXISTS res_t2;
+--enable_warnings
# ------------------------------------------------------------------------------
@@ -28963,9 +29031,11 @@ delimiter ;//
CALL h1();
# cleanup
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+--disable_warnings
+DROP PROCEDURE IF EXISTS h1;
+drop table IF EXISTS res_t1;
+drop table IF EXISTS res_t2;
+--enable_warnings
# ------------------------------------------------------------------------------
@@ -29007,9 +29077,11 @@ delimiter ;//
CALL h1();
# cleanup
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+--disable_warnings
+DROP PROCEDURE IF EXISTS h1;
+drop table IF EXISTS res_t1;
+drop table IF EXISTS res_t2;
+--enable_warnings
# ------------------------------------------------------------------------------
@@ -29051,9 +29123,11 @@ delimiter ;//
CALL h1();
# cleanup
-DROP PROCEDURE h1;
-drop table res_t1;
-drop table res_t2;
+--disable_warnings
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+DROP TABLE IF EXISTS res_t2;
+--enable_warnings
# ------------------------------------------------------------------------------
let $message= Testcase 4.11.33:;
@@ -29073,7 +29147,7 @@ drop table IF EXISTS res_t1;
insert into res_t1 values('c', 'd');
delimiter //;
---error 1332
+--error ER_SP_DUP_COND
CREATE PROCEDURE h1()
BEGIN
declare condname condition for sqlstate '20000';
@@ -29092,7 +29166,9 @@ END//
delimiter ;//
# cleanup
-drop table res_t1;
+--disable_warnings
+DROP TABLE IF EXISTS res_t1;
+--enable_warnings
# ------------------------------------------------------------------------------
@@ -29115,7 +29191,7 @@ insert into res_t1 values (1, 'a');
delimiter //;
---error 1407
+--error ER_SP_BAD_SQLSTATE
CREATE PROCEDURE h1 ()
begin1_label:BEGIN
declare condname1 condition for sqlstate '020';
@@ -29133,25 +29209,26 @@ begin1_label:BEGIN
END begin2_label;
END begin1_label//
-# FIXME: same statement except the 3 lines containing 'exit'
-#-# --error 1407
-#-# CREATE PROCEDURE h1 ()
-#-# begin1_label:BEGIN
-#-# declare condname1 condition for sqlstate '020';
-#-# declare condname2 condition for sqlstate 'wewe';
-#-# declare condname3 condition for 9999;
-#-# set @var2 = 1;
-#-# insert into res_t1 values (2, 'b');
-#-# begin2_label: BEGIN
-#-# declare continue handler for sqlstate '90000023 set @var3= 1;
-#-# set @var4 = 1;
-#-# insert into res_t1 values (3, 'c');
-#-# END begin2_label;
-#-# END begin1_label//
+--error ER_SP_BAD_SQLSTATE
+CREATE PROCEDURE h1 ()
+begin1_label:BEGIN
+ declare condname1 condition for sqlstate '020';
+ declare condname2 condition for sqlstate 'wewe';
+ declare condname3 condition for 9999;
+ set @var2 = 1;
+ insert into res_t1 values (2, 'b');
+ begin2_label: BEGIN
+ declare continue handler for sqlstate '90000023' set @var3= 1;
+ set @var4 = 1;
+ insert into res_t1 values (3, 'c');
+ END begin2_label;
+END begin1_label//
delimiter ;//
# cleanup
-drop table res_t1;
+--disable_warnings
+DROP TABLE IF EXISTS res_t1;
+--enable_warnings
# ------------------------------------------------------------------------------
@@ -29181,7 +29258,9 @@ END//
delimiter ;//
# cleanup
-DROP PROCEDURE h1;
+--disable_warnings
+DROP PROCEDURE IF EXISTS h1;
+--enable_warnings
@@ -29193,8 +29272,6 @@ let $message= Testcase 4.11.40:;
--source include/show_msg80.inc
# testcase: ensure that within the same scope, no two handlers may be declared for the same condition
-# Bug (
-
--disable_warnings
DROP PROCEDURE IF EXISTS h1;
@@ -29207,8 +29284,7 @@ drop table IF EXISTS res_t1;
# suppressed--error for having two similar handlers in the same scope
delimiter //;
-#FIXME 3.1.11.40: check whether error 1413 is OK
---error 1413
+--error ER_SP_DUP_HANDLER
CREATE PROCEDURE h1 ()
BEGIN
declare x1, x2, x3, x4, x5 int default 0;
@@ -29222,13 +29298,13 @@ BEGIN
END//
delimiter ;//
-#FIXME 3.1.11.40: CALL h1();
+#CALL h1();
# cleanup
--disable_warnings
DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
--enable_warnings
-drop table res_t1;
# ------------------------------------------------------------------------------
@@ -29237,13 +29313,11 @@ let $message= Testcase 4.11.41:;
# testcase: ensure that the declare handler for statement cannot declare a condition for the successful
# completion sqlstate: 00000.
-#FIXME Bug: (Bug#8759)
--disable_warnings
DROP PROCEDURE IF EXISTS h1;
--enable_warnings
-# supressed should actually fail --error
delimiter //;
CREATE PROCEDURE h1 ()
BEGIN
@@ -29258,8 +29332,12 @@ BEGIN
END//
delimiter ;//
+CALL h1();
+
# cleanup
+--disable_warnings
DROP PROCEDURE IF EXISTS h1;
+--enable_warnings
# ------------------------------------------------------------------------------
@@ -29287,7 +29365,7 @@ END//
delimiter ;//
# table doesn't exist
---error 1146
+--error ER_NO_SUCH_TABLE
CALL h1();
SELECT @done, @x;
@@ -29316,7 +29394,7 @@ END//
delimiter ;//
# table doesn't exist
---error 1146
+--error ER_NO_SUCH_TABLE
CALL h1();
SELECT @done, @x;
@@ -29329,8 +29407,10 @@ CALL h1();
SELECT @done, @x;
# cleanup
-DROP PROCEDURE h1;
-DROP TABLE res_t1;
+--disable_warnings
+DROP PROCEDURE IF EXISTS h1;
+DROP TABLE IF EXISTS res_t1;
+--enable_warnings
# ==============================================================================
diff --git a/mysql-test/suite/funcs_1/t/charset_collation_1.test b/mysql-test/suite/funcs_1/t/charset_collation_1.test
new file mode 100644
index 00000000000..7415220455e
--- /dev/null
+++ b/mysql-test/suite/funcs_1/t/charset_collation_1.test
@@ -0,0 +1,30 @@
+# Tests checking the content of the information_schema tables
+# character_sets
+# collations
+# collation_character_set_applicability
+#
+# Content variant 1 which should fit to
+# Enterprise or Classic builds (binaries provided by MySQL)
+# Pushbuilds
+# Source builds without "max"
+#
+# Please read suite/funcs_1/datadict/charset_collation.inc for
+# additional information.
+#
+# Created:
+# 2007-12-18 mleich - remove the unstable character_set/collation subtests
+# from include/datadict-master.inc
+# - create this new test
+#
+
+if (`SELECT EXISTS (SELECT 1 FROM information_schema.collations
+ WHERE collation_name = 'utf8_general_cs')
+ OR ( @@version_comment NOT LIKE '%Source%'
+ AND @@version_comment NOT LIKE '%Enterprise%'
+ AND @@version_comment NOT LIKE '%Classic%'
+ AND @@version_comment NOT LIKE '%Pushbuild%')`)
+{
+ skip Test needs Enterprise, Classic , Pushbuild or Source-without-max build;
+}
+
+--source suite/funcs_1/datadict/charset_collation.inc
diff --git a/mysql-test/suite/funcs_1/t/charset_collation_2.test b/mysql-test/suite/funcs_1/t/charset_collation_2.test
new file mode 100644
index 00000000000..d4924953b7d
--- /dev/null
+++ b/mysql-test/suite/funcs_1/t/charset_collation_2.test
@@ -0,0 +1,24 @@
+# Tests checking the content of the information_schema tables
+# character_sets
+# collations
+# collation_character_set_applicability
+#
+# Content variant 2 (compile from source with "max")
+#
+# Please read suite/funcs_1/datadict/charset_collation.inc for
+# additional information.
+#
+# Created:
+# 2007-12-18 mleich - remove the unstable character_set/collation subtests
+# from include/datadict-master.inc
+# - create this new test
+#
+
+if (`SELECT @@version_comment NOT LIKE '%Source%'
+ OR NOT EXISTS (SELECT 1 FROM information_schema.collations
+ WHERE collation_name = 'utf8_general_cs')`)
+{
+ skip Test needs Source build with "max";
+}
+
+--source suite/funcs_1/datadict/charset_collation.inc
diff --git a/mysql-test/suite/funcs_1/t/charset_collation_3.test b/mysql-test/suite/funcs_1/t/charset_collation_3.test
new file mode 100644
index 00000000000..0701b96896f
--- /dev/null
+++ b/mysql-test/suite/funcs_1/t/charset_collation_3.test
@@ -0,0 +1,24 @@
+# Tests checking the content of the information_schema tables
+# character_sets
+# collations
+# collation_character_set_applicability
+#
+# Content variant 3 which should fit to
+# Community and Cluster builds (binaries provided by MySQL)
+#
+# Please read suite/funcs_1/datadict/charset_collation.inc for
+# additional information.
+#
+# Created:
+# 2007-12-18 mleich - remove the unstable character_set/collation subtests
+# from include/datadict-master.inc
+# - create this new test
+#
+
+if (`SELECT @@version_comment NOT LIKE '%Community%'
+ AND @@version_comment NOT LIKE '%Cluster%'`)
+{
+ skip Test needs Community or Cluster build;
+}
+
+--source suite/funcs_1/datadict/charset_collation.inc
diff --git a/mysql-test/suite/funcs_1/t/disabled.def b/mysql-test/suite/funcs_1/t/disabled.def
index 6833178a353..dbbe78f9c3f 100644
--- a/mysql-test/suite/funcs_1/t/disabled.def
+++ b/mysql-test/suite/funcs_1/t/disabled.def
@@ -10,6 +10,7 @@
#
##############################################################################
-innodb_storedproc: (changes of WL#2984, using storeproc_nn instead)
-memory_storedproc: (changes of WL#2984, using storeproc_nn instead)
-myisam_storedproc: (changes of WL#2984, using storeproc_nn instead)
+innodb_storedproc_06 : bug#33464 DROP FUNCTION let server hang
+myisam_storedproc_06 : bug#33464 DROP FUNCTION let server hang
+memory_storedproc_06 : bug#33464 DROP FUNCTION let server hang
+ndb_storedproc_06 : bug#33464 DROP FUNCTION let server hang
diff --git a/mysql-test/suite/funcs_1/t/innodb__datadict.test b/mysql-test/suite/funcs_1/t/innodb__datadict.test
deleted file mode 100644
index d678d2e6959..00000000000
--- a/mysql-test/suite/funcs_1/t/innodb__datadict.test
+++ /dev/null
@@ -1,7 +0,0 @@
-#### suite/funcs_1/t/datadict_innodb.test
-#
---source include/have_innodb.inc
-
-let $engine_type= innodb;
-
---source suite/funcs_1/datadict/datadict_master.inc
diff --git a/mysql-test/suite/funcs_1/t/innodb__load.test b/mysql-test/suite/funcs_1/t/innodb__load.test
deleted file mode 100644
index d03672b31ff..00000000000
--- a/mysql-test/suite/funcs_1/t/innodb__load.test
+++ /dev/null
@@ -1,47 +0,0 @@
-##### suite/funcs_1/funcs_1/t/innodb__load.test
-
-# InnoDB tables should be used
-#
-# 1. Check if InnoDB is available
---source include/have_innodb.inc
-# 2. Set $engine_type
-let $engine_type= innodb;
-
-# Decide, if the objects are to be (re)created
-#
-# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE)
-# That means all objects have to be (re)created within the current script.
-#
-# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE)
-# That means the current script must not (re)create any object and every
-# testscript/case (re)creates only the objects it needs.
-
-eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1);
-
-# FIXME Replace the following, when "if" for mysqltest is available
-let $run= `SELECT @NO_REFRESH`;
-while ($run)
-{
-
- # Create some objects needed in many testcases
- USE test;
- --source suite/funcs_1/include/innodb_tb1.inc
- --source suite/funcs_1/include/innodb_tb2.inc
- --source suite/funcs_1/include/innodb_tb3.inc
- --source suite/funcs_1/include/innodb_tb4.inc
-
- # The database test1 is needed for the VIEW testcases
- --disable_warnings
- DROP DATABASE IF EXISTS test1;
- --enable_warnings
- CREATE DATABASE test1;
- USE test1;
- --source suite/funcs_1/include/innodb_tb2.inc
- USE test;
-
- # These tables are needed for the stored procedure testscases
- --source suite/funcs_1/include/sp_tb.inc
-
- let $run= 0;
-}
-
diff --git a/mysql-test/suite/funcs_1/t/innodb_bitdata.test b/mysql-test/suite/funcs_1/t/innodb_bitdata.test
index 24d5f077d96..b178aac598c 100644
--- a/mysql-test/suite/funcs_1/t/innodb_bitdata.test
+++ b/mysql-test/suite/funcs_1/t/innodb_bitdata.test
@@ -7,28 +7,11 @@
# 2. Set $engine_type
let $engine_type= innodb;
-# Decide, if the objects are to be (re)created
-#
-# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE)
-# That means the current script must not (re)create any object.
-# It can expect, that the objects already exist.
-#
-# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE)
-# That means all objects have to be (re)created within the current script.
-
-eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1);
+let $message= NOT YET IMPLEMENTED: bitdata tests;
+--source include/show_msg80.inc
+exit;
-# FIXME Replace the following, when "if" for mysqltest is available
-let $run= `SELECT @NO_REFRESH = 0`;
-while ($run)
-{
-
- # Create some objects needed in many testcases
- USE test;
- --source suite/funcs_1/include/innodb_tb4.inc
-
- let $run= 0;
-}
-
+# Create some objects needed in many testcases
+USE test;
+--source suite/funcs_1/include/innodb_tb4.inc
--source suite/funcs_1/bitdata/bitdata_master.test
-
diff --git a/mysql-test/suite/funcs_1/t/innodb_cursors.test b/mysql-test/suite/funcs_1/t/innodb_cursors.test
index 8d77045f2e7..a75e5cbba05 100644
--- a/mysql-test/suite/funcs_1/t/innodb_cursors.test
+++ b/mysql-test/suite/funcs_1/t/innodb_cursors.test
@@ -7,28 +7,13 @@
# 2. Set $engine_type
let $engine_type= innodb;
-# Decide, if the objects are to be (re)created
-#
-# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE)
-# That means the current script must not (re)create any object.
-# It can expect, that the objects already exist.
-#
-# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE)
-# That means all objects have to be (re)created within the current script.
-
-eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1);
-
-# FIXME Replace the following, when "if" for mysqltest is available
-let $run= `SELECT @NO_REFRESH = 0`;
-while ($run)
-{
-
- # Create some objects needed in many testcases
- USE test;
- --source suite/funcs_1/include/innodb_tb1.inc
+let $message= NOT YET IMPLEMENTED: cursor tests;
+--source include/show_msg80.inc
+exit;
- let $run= 0;
-}
+# Create some objects needed in many testcases
+USE test;
+--source suite/funcs_1/include/innodb_tb1.inc
--source suite/funcs_1/cursors/cursors_master.test
diff --git a/mysql-test/suite/funcs_1/t/innodb_storedproc.test b/mysql-test/suite/funcs_1/t/innodb_storedproc.test
index cd94577e79b..a675d8e37ef 100644
--- a/mysql-test/suite/funcs_1/t/innodb_storedproc.test
+++ b/mysql-test/suite/funcs_1/t/innodb_storedproc.test
@@ -1,6 +1,9 @@
#### suite/funcs_1/t/innodb_storedproc.test
#
+--source include/have_innodb.inc
let $engine_type= innodb;
+--source suite/funcs_1/storedproc/load_sp_tb.inc
+
--source suite/funcs_1/storedproc/storedproc_master.inc
diff --git a/mysql-test/suite/funcs_1/t/innodb_storedproc_02.test b/mysql-test/suite/funcs_1/t/innodb_storedproc_02.test
index ace4d0cdc37..ace4d0cdc37 100755..100644
--- a/mysql-test/suite/funcs_1/t/innodb_storedproc_02.test
+++ b/mysql-test/suite/funcs_1/t/innodb_storedproc_02.test
diff --git a/mysql-test/suite/funcs_1/t/innodb_storedproc_03.test b/mysql-test/suite/funcs_1/t/innodb_storedproc_03.test
index 3d1d6134b6f..3d1d6134b6f 100755..100644
--- a/mysql-test/suite/funcs_1/t/innodb_storedproc_03.test
+++ b/mysql-test/suite/funcs_1/t/innodb_storedproc_03.test
diff --git a/mysql-test/suite/funcs_1/t/innodb_storedproc_06.test b/mysql-test/suite/funcs_1/t/innodb_storedproc_06.test
index ce061da2299..ce061da2299 100755..100644
--- a/mysql-test/suite/funcs_1/t/innodb_storedproc_06.test
+++ b/mysql-test/suite/funcs_1/t/innodb_storedproc_06.test
diff --git a/mysql-test/suite/funcs_1/t/innodb_storedproc_07.test b/mysql-test/suite/funcs_1/t/innodb_storedproc_07.test
index dd1396e982e..dd1396e982e 100755..100644
--- a/mysql-test/suite/funcs_1/t/innodb_storedproc_07.test
+++ b/mysql-test/suite/funcs_1/t/innodb_storedproc_07.test
diff --git a/mysql-test/suite/funcs_1/t/innodb_storedproc_08.test b/mysql-test/suite/funcs_1/t/innodb_storedproc_08.test
index c8c289c5f49..c8c289c5f49 100755..100644
--- a/mysql-test/suite/funcs_1/t/innodb_storedproc_08.test
+++ b/mysql-test/suite/funcs_1/t/innodb_storedproc_08.test
diff --git a/mysql-test/suite/funcs_1/t/innodb_storedproc_10.test b/mysql-test/suite/funcs_1/t/innodb_storedproc_10.test
index 88a44a263d7..88a44a263d7 100755..100644
--- a/mysql-test/suite/funcs_1/t/innodb_storedproc_10.test
+++ b/mysql-test/suite/funcs_1/t/innodb_storedproc_10.test
diff --git a/mysql-test/suite/funcs_1/t/innodb_trig_0102.test b/mysql-test/suite/funcs_1/t/innodb_trig_0102.test
index edd706b9e5d..c1da8f5448e 100644
--- a/mysql-test/suite/funcs_1/t/innodb_trig_0102.test
+++ b/mysql-test/suite/funcs_1/t/innodb_trig_0102.test
@@ -7,28 +7,10 @@
# 2. Set $engine_type
let $engine_type= innodb;
-# Decide, if the objects are to be (re)created
-#
-# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE)
-# That means the current script must not (re)create any object.
-# It can expect, that the objects already exist.
-#
-# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE)
-# That means all objects have to be (re)created within the current script.
-
-eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1);
-
-# FIXME Replace the following, when "if" for mysqltest is available
-let $run= `SELECT @NO_REFRESH = 0`;
-while ($run)
-{
-
- # Create some objects needed in many testcases
- USE test;
- --source suite/funcs_1/include/innodb_tb3.inc
+# Create some objects needed in many testcases
+USE test;
+--source suite/funcs_1/include/innodb_tb3.inc
- let $run= 0;
-}
-
--source suite/funcs_1/triggers/triggers_0102.inc
+DROP TABLE test.tb3;
diff --git a/mysql-test/suite/funcs_1/t/innodb_trig_03.test b/mysql-test/suite/funcs_1/t/innodb_trig_03.test
index 5f931e1be47..374bcf59a37 100644
--- a/mysql-test/suite/funcs_1/t/innodb_trig_03.test
+++ b/mysql-test/suite/funcs_1/t/innodb_trig_03.test
@@ -7,28 +7,10 @@
# 2. Set $engine_type
let $engine_type= innodb;
-# Decide, if the objects are to be (re)created
-#
-# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE)
-# That means the current script must not (re)create any object.
-# It can expect, that the objects already exist.
-#
-# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE)
-# That means all objects have to be (re)created within the current script.
-
-eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1);
-
-# FIXME Replace the following, when "if" for mysqltest is available
-let $run= `SELECT @NO_REFRESH = 0`;
-while ($run)
-{
-
- # Create some objects needed in many testcases
- USE test;
- --source suite/funcs_1/include/innodb_tb3.inc
+# Create some objects needed in many testcases
+USE test;
+--source suite/funcs_1/include/innodb_tb3.inc
- let $run= 0;
-}
-
--source suite/funcs_1/triggers/triggers_03.inc
+DROP TABLE test.tb3;
diff --git a/mysql-test/suite/funcs_1/t/innodb_trig_03e.test b/mysql-test/suite/funcs_1/t/innodb_trig_03e.test
index 242981e25fa..6295e88de18 100644
--- a/mysql-test/suite/funcs_1/t/innodb_trig_03e.test
+++ b/mysql-test/suite/funcs_1/t/innodb_trig_03e.test
@@ -7,27 +7,9 @@
# 2. Set $engine_type
let $engine_type= innodb;
-# Decide, if the objects are to be (re)created
-#
-# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE)
-# That means the current script must not (re)create any object.
-# It can expect, that the objects already exist.
-#
-# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE)
-# That means all objects have to be (re)created within the current script.
-
-eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1);
+# Create some objects needed in many testcases
+USE test;
-# FIXME Replace the following, when "if" for mysqltest is available
-let $run= `SELECT @NO_REFRESH = 0`;
-while ($run)
-{
-
- # Create some objects needed in many testcases
- USE test;
- let $run= 0;
-}
-
--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
@@ -37,5 +19,3 @@ while ($run)
--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/innodb_trig_0407.test b/mysql-test/suite/funcs_1/t/innodb_trig_0407.test
index da8a074bab6..1a0689847b1 100644
--- a/mysql-test/suite/funcs_1/t/innodb_trig_0407.test
+++ b/mysql-test/suite/funcs_1/t/innodb_trig_0407.test
@@ -7,28 +7,10 @@
# 2. Set $engine_type
let $engine_type= innodb;
-# Decide, if the objects are to be (re)created
-#
-# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE)
-# That means the current script must not (re)create any object.
-# It can expect, that the objects already exist.
-#
-# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE)
-# That means all objects have to be (re)created within the current script.
-
-eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1);
-
-# FIXME Replace the following, when "if" for mysqltest is available
-let $run= `SELECT @NO_REFRESH = 0`;
-while ($run)
-{
-
- # Create some objects needed in many testcases
- USE test;
- --source suite/funcs_1/include/innodb_tb3.inc
+# Create some objects needed in many testcases
+USE test;
+--source suite/funcs_1/include/innodb_tb3.inc
- let $run= 0;
-}
-
--source suite/funcs_1/triggers/triggers_0407.inc
+DROP TABLE test.tb3;
diff --git a/mysql-test/suite/funcs_1/t/innodb_trig_08.test b/mysql-test/suite/funcs_1/t/innodb_trig_08.test
index 05aabe8b0f5..a4ac2db0955 100644
--- a/mysql-test/suite/funcs_1/t/innodb_trig_08.test
+++ b/mysql-test/suite/funcs_1/t/innodb_trig_08.test
@@ -7,28 +7,10 @@
# 2. Set $engine_type
let $engine_type= innodb;
-# Decide, if the objects are to be (re)created
-#
-# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE)
-# That means the current script must not (re)create any object.
-# It can expect, that the objects already exist.
-#
-# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE)
-# That means all objects have to be (re)created within the current script.
-
-eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1);
-
-# FIXME Replace the following, when "if" for mysqltest is available
-let $run= `SELECT @NO_REFRESH = 0`;
-while ($run)
-{
-
- # Create some objects needed in many testcases
- USE test;
- --source suite/funcs_1/include/innodb_tb3.inc
+# Create some objects needed in many testcases
+USE test;
+--source suite/funcs_1/include/innodb_tb3.inc
- let $run= 0;
-}
-
--source suite/funcs_1/triggers/triggers_08.inc
+DROP TABLE test.tb3;
diff --git a/mysql-test/suite/funcs_1/t/innodb_trig_09.test b/mysql-test/suite/funcs_1/t/innodb_trig_09.test
index ac21142779e..40a0f145ef0 100644
--- a/mysql-test/suite/funcs_1/t/innodb_trig_09.test
+++ b/mysql-test/suite/funcs_1/t/innodb_trig_09.test
@@ -7,28 +7,10 @@
# 2. Set $engine_type
let $engine_type= innodb;
-# Decide, if the objects are to be (re)created
-#
-# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE)
-# That means the current script must not (re)create any object.
-# It can expect, that the objects already exist.
-#
-# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE)
-# That means all objects have to be (re)created within the current script.
-
-eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1);
-
-# FIXME Replace the following, when "if" for mysqltest is available
-let $run= `SELECT @NO_REFRESH = 0`;
-while ($run)
-{
-
- # Create some objects needed in many testcases
- USE test;
- --source suite/funcs_1/include/innodb_tb3.inc
+# Create some objects needed in many testcases
+USE test;
+--source suite/funcs_1/include/innodb_tb3.inc
- let $run= 0;
-}
-
--source suite/funcs_1/triggers/triggers_09.inc
+DROP TABLE test.tb3;
diff --git a/mysql-test/suite/funcs_1/t/innodb_trig_1011ext.test b/mysql-test/suite/funcs_1/t/innodb_trig_1011ext.test
index a507a488ca9..f778b097a1b 100644
--- a/mysql-test/suite/funcs_1/t/innodb_trig_1011ext.test
+++ b/mysql-test/suite/funcs_1/t/innodb_trig_1011ext.test
@@ -7,28 +7,10 @@
# 2. Set $engine_type
let $engine_type= innodb;
-# Decide, if the objects are to be (re)created
-#
-# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE)
-# That means the current script must not (re)create any object.
-# It can expect, that the objects already exist.
-#
-# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE)
-# That means all objects have to be (re)created within the current script.
-
-eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1);
-
-# FIXME Replace the following, when "if" for mysqltest is available
-let $run= `SELECT @NO_REFRESH = 0`;
-while ($run)
-{
-
- # Create some objects needed in many testcases
- USE test;
- --source suite/funcs_1/include/innodb_tb3.inc
+# Create some objects needed in many testcases
+USE test;
+--source suite/funcs_1/include/innodb_tb3.inc
- let $run= 0;
-}
-
--source suite/funcs_1/triggers/triggers_1011ext.inc
+DROP TABLE test.tb3;
diff --git a/mysql-test/suite/funcs_1/t/innodb_trig_frkey.test b/mysql-test/suite/funcs_1/t/innodb_trig_frkey.test
index e99273672cd..57298fd9056 100644
--- a/mysql-test/suite/funcs_1/t/innodb_trig_frkey.test
+++ b/mysql-test/suite/funcs_1/t/innodb_trig_frkey.test
@@ -7,28 +7,10 @@
# 2. Set $engine_type
let $engine_type= innodb;
-# Decide, if the objects are to be (re)created
-#
-# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE)
-# That means the current script must not (re)create any object.
-# It can expect, that the objects already exist.
-#
-# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE)
-# That means all objects have to be (re)created within the current script.
-
-eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1);
-
-# FIXME Replace the following, when "if" for mysqltest is available
-let $run= `SELECT @NO_REFRESH = 0`;
-while ($run)
-{
-
- # Create some objects needed in many testcases
- USE test;
- --source suite/funcs_1/include/innodb_tb3.inc
+# Create some objects needed in many testcases
+USE test;
+--source suite/funcs_1/include/innodb_tb3.inc
- let $run= 0;
-}
-
--source suite/funcs_1/triggers/trig_frkey.inc
+DROP TABLE test.tb3;
diff --git a/mysql-test/suite/funcs_1/t/innodb_views.test b/mysql-test/suite/funcs_1/t/innodb_views.test
index 1a835779762..dcab8ec305b 100644
--- a/mysql-test/suite/funcs_1/t/innodb_views.test
+++ b/mysql-test/suite/funcs_1/t/innodb_views.test
@@ -7,40 +7,18 @@
# 2. Set $engine_type
let $engine_type= innodb;
-# Decide, if the objects are to be (re)created
-#
-# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE)
-# That means the current script must not (re)create any object.
-# It can expect, that the objects already exist.
-#
-# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE)
-# That means all objects have to be (re)created within the current script.
-
-eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1);
+# Create some objects needed in many testcases
+USE test;
+--source suite/funcs_1/include/innodb_tb2.inc
+--disable_warnings
+DROP DATABASE IF EXISTS test1;
+--enable_warnings
+CREATE DATABASE test1;
+USE test1;
+--source suite/funcs_1/include/innodb_tb2.inc
+USE test;
-let $run= `SELECT @NO_REFRESH = 0`;
-if ($run)
-{
-
- # Create some objects needed in many testcases
- USE test;
- --source suite/funcs_1/include/innodb_tb2.inc
- --disable_warnings
- DROP DATABASE IF EXISTS test1;
- --enable_warnings
- CREATE DATABASE test1;
- USE test1;
- --source suite/funcs_1/include/innodb_tb2.inc
- USE test;
-
-}
-
--source suite/funcs_1/views/views_master.inc
-
-# If we created the database in the above loop we now need to drop it
-let $run= `SELECT @NO_REFRESH = 0`;
-if ($run)
-{
- DROP DATABASE IF EXISTS test1;
-}
+DROP DATABASE test1;
+DROP TABLE test.tb2;
diff --git a/mysql-test/suite/funcs_1/t/is_basics_mixed.test b/mysql-test/suite/funcs_1/t/is_basics_mixed.test
new file mode 100644
index 00000000000..30aeba12915
--- /dev/null
+++ b/mysql-test/suite/funcs_1/t/is_basics_mixed.test
@@ -0,0 +1,503 @@
+# suite/funcs_1/t/is_basics_mixed.test
+#
+# Checks of some basic properties of the INFORMATION_SCHEMA which are not
+# related to a certain INFORMATION_SCHEMA table.
+#
+# This test should not check properties related to storage engines.
+#
+# 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.
+#
+
+--source suite/funcs_1/datadict/datadict.pre
+
+# $engine_type must point to storage engine which is all time available.
+# The fastest engine should be preferred.
+let $engine_type = MEMORY;
+
+
+# The INFORMATION_SCHEMA database must exist.
+SHOW DATABASES LIKE 'information_schema';
+
+
+--echo #######################################################################
+--echo # Testcase 3.2.1.20: USE INFORMATION_SCHEMA is supported
+--echo #######################################################################
+# Ensure that USE INFORMATION_SCHEMA allows the user to switch to the
+# INFORMATION_SCHEMA database, for query purposes only.
+#
+# Note: The "for query purposes only" is checked in other tests.
+# High privileged user (root)
+--echo # Switch to connection default
+connection default;
+USE test;
+SELECT DATABASE();
+USE information_schema;
+SELECT DATABASE();
+#
+--error 0,ER_CANNOT_USER
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+# Low privileged user
+--echo # Establish connection testuser1 (user=testuser1)
+--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
+connect (testuser1, localhost, testuser1, , test);
+SELECT DATABASE();
+USE information_schema;
+SELECT DATABASE();
+#
+--echo # Switch to connection default and close connection testuser1
+connection default;
+disconnect testuser1;
+DROP USER 'testuser1'@'localhost';
+
+
+--echo #######################################################################
+--echo # Testcase TBD1: The INFORMATION_SCHEMA cannot be dropped.
+--echo #######################################################################
+--error ER_DBACCESS_DENIED_ERROR
+DROP DATABASE information_schema;
+
+
+--echo #######################################################################
+--echo # Testcase TBD2: There cannot be a second database INFORMATION_SCHEMA.
+--echo #######################################################################
+--error ER_DBACCESS_DENIED_ERROR
+CREATE DATABASE information_schema;
+
+
+--echo ##################################################################################
+--echo # Testcase 3.2.1.6+3.2.1.7: No user may create an INFORMATION_SCHEMA table or view
+--echo ##################################################################################
+# 3.2.1.6 Ensure that no user may create an INFORMATION_SCHEMA base table.
+# 3.2.1.7 Ensure that no user may create an INFORMATION_SCHEMA view
+#
+
+# 1. High privileged user (root)
+--echo # Switch to connection default (user=root)
+connection default;
+--source suite/funcs_1/datadict/basics_mixed1.inc
+
+# 2. High privileged user (testuser1)
+--error 0,ER_CANNOT_USER
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+GRANT ALL ON *.* TO testuser1@localhost;
+SHOW GRANTS FOR testuser1@localhost;
+--echo # Establish connection testuser1 (user=testuser1)
+--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
+connect (testuser1, localhost, testuser1, , test);
+--source suite/funcs_1/datadict/basics_mixed1.inc
+
+--echo # Switch to connection default (user=root) and close connection testuser1
+connection default;
+disconnect testuser1;
+DROP USER 'testuser1'@'localhost';
+
+--echo ###############################################################################
+--echo # Testcase 3.2.1.1+3.2.1.2: INFORMATION_SCHEMA tables can be queried via SELECT
+--echo ###############################################################################
+# 3.2.1.1 Ensure that every INFORMATION_SCHEMA table can be queried with
+# a SELECT statement, just as if it were an ordinary user-defined table.
+# 3.2.1.2 Ensure that queries on an INFORMATION_SCHEMA table can accept all
+# SELECT statement options and are always correctly evaluated.
+#
+# Some notes(mleich):
+# - Currently here only a subset of select statement options is checked, it's
+# still not possible to check here all possible options
+# - The content of many INFORMATION_SCHEMA tables is checked in other tests.
+# - We work here only with a subset of the columns of information_schema.tables
+# because we want have a stable base (all time existing table, stable layout).
+--disable_warnings
+DROP DATABASE IF EXISTS db_datadict;
+--enable_warnings
+CREATE DATABASE db_datadict;
+--replace_result $engine_type <some_engine>
+eval
+CREATE TABLE db_datadict.t1_first (f1 BIGINT UNIQUE, f2 BIGINT)
+ENGINE = $engine_type;
+--replace_result $engine_type <some_engine>
+eval
+CREATE TABLE db_datadict.t1_second (f1 BIGINT UNIQUE, f2 BIGINT)
+ENGINE = $engine_type;
+
+# SELECT *
+--echo # Attention: The protocolling of the next result set is disabled.
+--disable_result_log
+SELECT * FROM information_schema.tables;
+--enable_result_log
+#
+# SELECT <some columns> + WHERE
+--sorted_result
+SELECT table_name FROM information_schema.tables
+WHERE table_schema = 'db_datadict';
+#
+# SELECT string_function(<some column>) + ORDER BY
+SELECT LENGTH(table_name) FROM information_schema.tables
+WHERE table_schema = 'db_datadict' ORDER BY table_name;
+#
+# SELECT aggregate_function(<some column>) + WHERE with LIKE
+SELECT count(table_name) FROM information_schema.tables
+WHERE table_schema LIKE 'db_datadic%';
+#
+# SELECT with addition in column list
+--sorted_result
+SELECT CAST((LENGTH(table_schema) + LENGTH(table_name)) AS DECIMAL(15,1))
+FROM information_schema.tables
+WHERE table_schema = 'db_datadict';
+#
+# WHERE with IN + LIMIT
+SELECT table_name FROM information_schema.tables
+WHERE table_name IN ('t1_first','t1_second') ORDER BY table_name LIMIT 1;
+SELECT table_name FROM information_schema.tables
+WHERE table_name IN ('t1_first','t1_second') ORDER BY table_name LIMIT 1,1;
+#
+# WHERE with AND
+SELECT table_name,table_schema AS my_col FROM information_schema.tables
+WHERE table_name = 't1_first' AND table_schema = 'db_datadict';
+#
+# SELECT HIGH_PRIORITY + WHERE with OR
+--sorted_result
+SELECT HIGH_PRIORITY table_name AS my_col FROM information_schema.tables
+WHERE table_name = 't1_first' OR table_name = 't1_second';
+#
+# Empty result set
+SELECT 1 AS my_col FROM information_schema.tables
+WHERE table_name = 't1_third';
+#
+# SELECT INTO USER VARIABLE
+SELECT table_name,table_schema INTO @table_name,@table_schema
+FROM information_schema.tables
+WHERE table_schema = 'db_datadict' ORDER BY table_name LIMIT 1;
+SELECT @table_name,@table_schema;
+#
+# SELECT INTO OUTFILE
+let $OUTFILE = $MYSQLTEST_VARDIR/tmp/datadict.out;
+--error 0,1
+remove_file $OUTFILE;
+--replace_result $OUTFILE <OUTFILE>
+eval SELECT table_name,table_schema
+INTO OUTFILE '$OUTFILE'
+FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
+LINES TERMINATED BY '\n'
+FROM information_schema.tables
+WHERE table_schema = 'db_datadict' ORDER BY table_name;
+cat_file $OUTFILE;
+remove_file $OUTFILE;
+#
+# UNION
+--sorted_result
+SELECT table_name FROM information_schema.tables
+WHERE table_name = 't1_first'
+UNION ALL
+SELECT table_name FROM information_schema.tables
+WHERE table_name = 't1_second';
+#
+# DISTINCT + SUBQUERY
+SELECT DISTINCT table_schema FROM information_schema.tables
+WHERE table_name IN (SELECT table_name FROM information_schema.tables
+ WHERE table_schema = 'db_datadict')
+ORDER BY table_name;
+#
+# JOIN
+SELECT table_name FROM information_schema.tables t1
+LEFT JOIN information_schema.tables t2 USING(table_name,table_schema)
+WHERE t2.table_schema = 'db_datadict'
+ORDER BY table_name;
+#
+# No schema assigned in SELECT + we are in SCHEMA test
+# --> The table tables does not exist
+USE test;
+--error ER_NO_SUCH_TABLE
+SELECT * FROM tables;
+
+
+--echo #########################################################################
+--echo # Testcase 3.2.1.17+3.2.1.18
+--echo #########################################################################
+# 3.2.1.17: Ensure that the SELECT privilege is granted TO PUBLIC WITH GRANT
+# OPTION on every INFORMATION_SCHEMA table.
+#
+# 3.2.1.18: Ensure that the CREATE VIEW privilege on an INFORMATION_SCHEMA table
+# may be granted to any user.
+#
+# Note (mleich): The requirements are to some extend outdated.
+# Every user is allowed to SELECT on the INFORMATION_SCHEMA.
+# But the result sets depend on the privileges of the user.
+#
+--disable_warnings
+DROP DATABASE IF EXISTS db_datadict;
+--enable_warnings
+CREATE DATABASE db_datadict;
+--replace_result $engine_type <some_engine>
+eval
+CREATE TABLE db_datadict.t1 (f1 BIGINT UNIQUE, f2 BIGINT)
+ENGINE = $engine_type;
+SELECT * FROM db_datadict.t1;
+
+--error 0,ER_CANNOT_USER
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+--error 0,ER_CANNOT_USER
+DROP USER 'testuser2'@'localhost';
+CREATE USER 'testuser2'@'localhost';
+GRANT CREATE VIEW,SELECT ON db_datadict.* TO testuser1@localhost
+WITH GRANT OPTION;
+GRANT USAGE ON db_datadict.* TO testuser2@localhost;
+FLUSH PRIVILEGES;
+
+# Check 0: Reveal that GRANT <some privilege> ON INFORMATION_SCHEMA is no
+# longer allowed.
+--error ER_DBACCESS_DENIED_ERROR
+GRANT SELECT on information_schema.* TO testuser1@localhost;
+--error ER_DBACCESS_DENIED_ERROR
+GRANT CREATE VIEW ON information_schema.* TO 'u_6_401018'@'localhost';
+
+# Check 1: Show that a "simple" user (<> root) has the permission to SELECT
+# on some INFORMATION_SCHEMA table.
+--echo # Establish connection testuser1 (user=testuser1)
+--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
+connect (testuser1, localhost, testuser1, , db_datadict);
+SELECT table_schema,table_name FROM information_schema.tables
+WHERE table_schema = 'information_schema' AND table_name = 'tables';
+
+# Check 2: Show the privileges of the user on some INFORMATION_SCHEMA tables.
+SELECT * FROM information_schema.table_privileges
+WHERE table_schema = 'information_schema';
+SELECT * FROM information_schema.schema_privileges
+WHERE table_schema = 'information_schema';
+
+# Check 3: Show the following
+# 1. If a simple user (testuser1) has the privilege to create a VIEW
+# than this VIEW could use a SELECT on an INFORMATION_SCHEMA table.
+# 2. This user (testuser1) is also able to GRANT the SELECT privilege
+# on this VIEW to another user (testuser2).
+# 3. The other user (testuser2) must be able to SELECT on this VIEW
+# but gets a different result set than testuser1.
+CREATE VIEW db_datadict.v2 AS
+SELECT TABLE_SCHEMA,TABLE_NAME,TABLE_TYPE
+FROM information_schema.tables WHERE table_schema = 'db_datadict';
+SELECT TABLE_SCHEMA,TABLE_NAME,TABLE_TYPE
+FROM db_datadict.v2;
+SELECT TABLE_SCHEMA,TABLE_NAME,TABLE_TYPE
+FROM information_schema.tables WHERE table_schema = 'db_datadict';
+GRANT SELECT ON db_datadict.v2 to testuser2@localhost;
+#
+--echo # Establish connection testuser2 (user=testuser2)
+--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
+connect (testuser2, localhost, testuser2, , db_datadict);
+SELECT TABLE_SCHEMA,TABLE_NAME,TABLE_TYPE
+FROM db_datadict.v2;
+SELECT TABLE_SCHEMA,TABLE_NAME,TABLE_TYPE
+FROM information_schema.tables WHERE table_schema = 'db_datadict';
+
+# Cleanup
+--echo # Switch to connection default and close connections testuser1 and testuser2
+connection default;
+disconnect testuser1;
+disconnect testuser2;
+DROP USER 'testuser1'@'localhost';
+DROP USER 'testuser2'@'localhost';
+DROP DATABASE db_datadict;
+
+
+--echo #########################################################################
+--echo # Testcase 3.2.1.19
+--echo #########################################################################
+# Ensure that no other privilege on an INFORMATION_SCHEMA table is granted, or
+# may be granted, to any user.
+#
+--error 0,ER_CANNOT_USER
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+
+# Initial privileges on the INFORMATION_SCHEMA tables (empty result sets)
+let $my_select1 = SELECT 'empty result set was expected' AS my_col
+FROM information_schema.schema_privileges
+WHERE table_schema = 'information_schema';
+let $my_select2 = SELECT 'empty result set was expected' AS my_col
+FROM information_schema.table_privileges
+WHERE table_schema = 'information_schema';
+let $my_select3 = SELECT 'empty result set was expected' AS my_col
+FROM information_schema.column_privileges
+WHERE table_schema = 'information_schema';
+eval $my_select1;
+eval $my_select2;
+eval $my_select3;
+
+#FIXME: check GRANT on IS
+--error ER_DBACCESS_DENIED_ERROR
+GRANT ALTER ON information_schema.*
+TO 'testuser1'@'localhost';
+
+#FIXME: check GRANT on IS
+--error ER_DBACCESS_DENIED_ERROR
+GRANT ALTER ROUTINE ON information_schema.*
+TO 'testuser1'@'localhost';
+
+#FIXME: check GRANT on IS
+--error ER_DBACCESS_DENIED_ERROR
+GRANT CREATE ON information_schema.*
+TO 'testuser1'@'localhost';
+
+#FIXME: check GRANT on IS
+--error ER_DBACCESS_DENIED_ERROR
+GRANT CREATE ROUTINE ON information_schema.*
+TO 'testuser1'@'localhost';
+
+#FIXME: check GRANT on IS
+--error ER_DBACCESS_DENIED_ERROR
+GRANT CREATE TEMPORARY TABLES ON information_schema.*
+TO 'testuser1'@'localhost';
+
+#FIXME: check GRANT on IS
+--error ER_DBACCESS_DENIED_ERROR
+GRANT DELETE ON information_schema.*
+TO 'testuser1'@'localhost';
+
+#FIXME: check GRANT on IS
+--error ER_DBACCESS_DENIED_ERROR
+GRANT DROP ON information_schema.*
+TO 'testuser1'@'localhost';
+
+#FIXME: check GRANT on IS
+--error ER_DBACCESS_DENIED_ERROR
+GRANT EXECUTE ON information_schema.*
+TO 'testuser1'@'localhost';
+
+#FIXME: check GRANT on IS
+--error ER_DBACCESS_DENIED_ERROR
+GRANT INDEX ON information_schema.*
+TO 'testuser1'@'localhost';
+
+#FIXME: check GRANT on IS
+--error ER_DBACCESS_DENIED_ERROR
+GRANT INSERT ON information_schema.*
+TO 'testuser1'@'localhost';
+
+#FIXME: check GRANT on IS
+--error ER_DBACCESS_DENIED_ERROR
+GRANT LOCK TABLES ON information_schema.*
+TO 'testuser1'@'localhost';
+
+#FIXME: check GRANT on IS
+--error ER_DBACCESS_DENIED_ERROR
+GRANT UPDATE ON information_schema.*
+TO 'testuser1'@'localhost';
+
+# Has something accidently changed?
+eval $my_select1;
+eval $my_select2;
+eval $my_select3;
+
+# Cleanup
+DROP USER 'testuser1'@'localhost';
+
+
+--echo #########################################################################
+--echo # Testcase 3.2.1.16
+--echo #########################################################################
+# Ensure that no user may use any INFORMATION_SCHEMA table to determine any
+# information on a database and/or its structure unless authorized to get that
+# information.
+# Note: The plan is to create a new database and objects within it so that
+# any INFORMATION_SCHEMA table gets additional rows if possible.
+# A user having no rights on the new database and no rights on objects
+# must nowhere see tha name of the new database.
+--source suite/funcs_1/datadict/basics_mixed3.inc
+
+--disable_warnings
+DROP DATABASE IF EXISTS db_datadict;
+--enable_warnings
+CREATE DATABASE db_datadict;
+--replace_result $engine_type <some_engine>
+eval
+CREATE TABLE db_datadict.t1 (f1 BIGINT, f2 BIGINT NOT NULL, f3 BIGINT,
+PRIMARY KEY(f1))
+ENGINE = $engine_type;
+CREATE UNIQUE INDEX UIDX ON db_datadict.t1(f3);
+CREATE PROCEDURE db_datadict.sproc1() SELECT 'db_datadict';
+CREATE FUNCTION db_datadict.func1() RETURNS INT RETURN 0;
+CREATE TRIGGER db_datadict.trig1 BEFORE INSERT ON db_datadict.t1
+FOR EACH ROW SET @aux = 1;
+CREATE VIEW db_datadict.v1 AS SELECT * FROM db_datadict.t1;
+CREATE VIEW db_datadict.v2 AS SELECT * FROM information_schema.tables;
+
+--source suite/funcs_1/datadict/basics_mixed3.inc
+
+--error 0,ER_CANNOT_USER
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+GRANT ALL ON test.* TO 'testuser1'@'localhost';
+
+--echo # Establish connection testuser1 (user=testuser1)
+--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
+connect (testuser1, localhost, testuser1, , test);
+--source suite/funcs_1/datadict/basics_mixed3.inc
+
+# Cleanup
+--echo # Switch to connection default and close connections testuser1 and testuser2
+connection default;
+disconnect testuser1;
+DROP USER 'testuser1'@'localhost';
+DROP DATABASE db_datadict;
+
+--echo ########################################################################
+--echo # Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and
+--echo # DDL on INFORMATION_SCHEMA tables are not supported
+--echo ########################################################################
+# Thorough tests checking the requirements above per every INFORMATION_SCHEMA
+# table are within other scripts.
+# We check here only that the requirement is fulfilled even when using a
+# STORED PROCEDURE.
+--disable_warnings
+DROP PROCEDURE IF EXISTS test.p1;
+--enable_warnings
+CREATE PROCEDURE test.p1()
+INSERT INTO information_schema.tables
+SELECT * FROM information_schema.tables LIMIT 1;
+--error ER_DBACCESS_DENIED_ERROR
+CALL test.p1();
+
+DROP PROCEDURE test.p1;
+CREATE PROCEDURE test.p1()
+UPDATE information_schema.columns SET table_schema = 'garbage';
+--error ER_DBACCESS_DENIED_ERROR
+CALL test.p1();
+
+DROP PROCEDURE test.p1;
+CREATE PROCEDURE test.p1()
+DELETE FROM information_schema.schemata;
+--error ER_DBACCESS_DENIED_ERROR
+CALL test.p1();
+
+DROP PROCEDURE test.p1;
+
+
+--echo #########################################################################
+--echo # Testcase 3.2.17.1+3.2.17.2: To be implemented outside of this script
+--echo #########################################################################
+# 3.2.17.1 Ensure that every INFORMATION_SCHEMA table shows all the correct
+# information, and no incorrect information, for a database to which
+# 100 different users, each of which has a randomly issued set of
+# privileges and access to a randomly chosen set of database objects,
+# have access.
+# The database should contain a mixture of all types of database
+# objects (i.e. tables, views, stored procedures, triggers).
+# 3.2.17.2 Ensure that every INFORMATION_SCHEMA table shows all the correct
+# information, and no incorrect information, for 10 different
+# databases to which 50 different users, each of which has a randomly
+# issued set of privileges and access to a randomly chosen set of
+# database objects in two or more of the databases, have access.
+# The databases should each contain a mixture of all types of database
+# objects (i.e. tables, views, stored procedures, triggers).
+#
+# Note(mleich): These requirements are kept here so that they do not get lost.
+# The tests are not yet implemented.
+# If they are ever developed than they should be stored in other
+# scripts. They will have most probably a long runtime because
+# the current INFORMATION_SCHEMA implementation has some performance
+# issues if a lot of users, privileges and objects are involved.
+#
diff --git a/mysql-test/suite/funcs_1/t/is_character_sets.test b/mysql-test/suite/funcs_1/t/is_character_sets.test
new file mode 100644
index 00000000000..dbb35587eab
--- /dev/null
+++ b/mysql-test/suite/funcs_1/t/is_character_sets.test
@@ -0,0 +1,107 @@
+# suite/funcs_1/t/is_character_sets.test
+#
+# Check the layout of information_schema.character_sets and run some
+# functionality related tests.
+#
+# 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.
+#
+
+let $is_table = CHARACTER_SETS;
+
+# The table INFORMATION_SCHEMA.CHARACTER_SETS must exist
+eval SHOW TABLES FROM information_schema LIKE '$is_table';
+
+--echo #######################################################################
+--echo # Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT
+--echo #######################################################################
+# Ensure that every INFORMATION_SCHEMA table can be queried with a SELECT
+# statement, just as if it were an ordinary user-defined table.
+#
+--source suite/funcs_1/datadict/is_table_query.inc
+
+
+--echo #########################################################################
+--echo # Testcase 3.2.2.1: INFORMATION_SCHEMA.CHARACTER_SETS layout
+--echo #########################################################################
+# Ensure that the INFORMATION_SCHEMA.CHARACTER_SETS table has the following
+# columns, in the following order:
+#
+# CHARACTER_SET_NAME (shows a character set name),
+# DEFAULT_COLLATE_NAME (shows the name of the default collation for that
+# character set),
+# DESCRIPTION (shows a descriptive name for that character set),
+# MAXLEN (shows the number of bytes used to store each character supported by
+# that character set).
+#
+eval DESCRIBE information_schema.$is_table;
+eval SHOW CREATE TABLE information_schema.$is_table;
+eval SHOW COLUMNS FROM information_schema.$is_table;
+
+# Note: Retrieval of information within information_schema.columns about
+# information_schema.character_sets is in is_columns_is.test.
+# Retrieval of information_schema.character_sets content is in
+# charset_collation.inc (sourced by charset_collation_*.test).
+
+
+echo # Testcases 3.2.2.2 and 3.2.2.3 are checked in suite/funcs_1/t/charset_collation*.test;
+
+--echo ########################################################################
+--echo # Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and
+--echo # DDL on INFORMATION_SCHEMA tables are not supported
+--echo ########################################################################
+# 3.2.1.3: Ensure that no user may execute an INSERT statement on any
+# INFORMATION_SCHEMA table.
+# 3.2.1.4: Ensure that no user may execute an UPDATE statement on any
+# INFORMATION_SCHEMA table.
+# 3.2.1.5: Ensure that no user may execute a DELETE statement on any
+# INFORMATION_SCHEMA table.
+# 3.2.1.8: Ensure that no user may create an index on an
+# INFORMATION_SCHEMA table.
+# 3.2.1.9: Ensure that no user may alter the definition of an
+# INFORMATION_SCHEMA table.
+# 3.2.1.10: Ensure that no user may drop an INFORMATION_SCHEMA table.
+# 3.2.1.11: Ensure that no user may move an INFORMATION_SCHEMA table to any
+# other database.
+# 3.2.1.12: Ensure that no user may directly add to, alter, or delete any data
+# in an INFORMATION_SCHEMA table.
+#
+--disable_warnings
+DROP DATABASE IF EXISTS db_datadict;
+--enable_warnings
+CREATE DATABASE db_datadict;
+
+--error ER_DBACCESS_DENIED_ERROR
+INSERT INTO information_schema.character_sets
+SELECT * FROM information_schema.character_sets;
+
+--error ER_DBACCESS_DENIED_ERROR
+UPDATE information_schema.character_sets SET description = 'just updated';
+
+--error ER_DBACCESS_DENIED_ERROR
+DELETE FROM information_schema.character_sets WHERE table_name = 't1';
+--error ER_DBACCESS_DENIED_ERROR
+TRUNCATE information_schema.character_sets;
+
+--error ER_DBACCESS_DENIED_ERROR
+CREATE INDEX my_idx ON information_schema.character_sets(character_set_name);
+
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.character_sets DROP PRIMARY KEY;
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.character_sets ADD f1 INT;
+
+--error ER_DBACCESS_DENIED_ERROR
+DROP TABLE information_schema.character_sets;
+
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.character_sets RENAME db_datadict.character_sets;
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.character_sets
+RENAME information_schema.xcharacter_sets;
+
+# Cleanup
+DROP DATABASE db_datadict;
+
diff --git a/mysql-test/suite/funcs_1/t/is_collation_character_set_applicability.test b/mysql-test/suite/funcs_1/t/is_collation_character_set_applicability.test
new file mode 100644
index 00000000000..6572d8e5d55
--- /dev/null
+++ b/mysql-test/suite/funcs_1/t/is_collation_character_set_applicability.test
@@ -0,0 +1,108 @@
+# suite/funcs_1/t/is_collation_character_set_applicability.test
+#
+# Check the layout of information_schema.collation_character_set_applicability
+# and some functionality realted tests.
+#
+# 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.
+#
+
+let $is_table = COLLATION_CHARACTER_SET_APPLICABILITY;
+
+# The table INFORMATION_SCHEMA.CHARACTER_SET_APPLICABILITY must exist
+eval SHOW TABLES FROM information_schema LIKE '$is_table';
+
+--echo #######################################################################
+--echo # Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT
+--echo #######################################################################
+# Ensure that every INFORMATION_SCHEMA table can be queried with a SELECT
+# statement, just as if it were an ordinary user-defined table.
+#
+--source suite/funcs_1/datadict/is_table_query.inc
+
+
+--echo #########################################################################
+--echo # Testcase 3.2.4.1: INFORMATION_SCHEMA.CHARACTER_SET_APPLICABILITY layout
+--echo #########################################################################
+# Ensure that the INFORMATION_SCHEMA.CHARACTER_SET_APPLICABILITY table has the
+# following columns, in the following order:
+#
+# COLLATION_NAME (shows the name of a collation),
+# CHARACTER_SET_NAME (shows the name of a character set to which that
+# collation applies).
+#
+eval DESCRIBE information_schema.$is_table;
+eval SHOW CREATE TABLE information_schema.$is_table;
+eval SHOW COLUMNS FROM information_schema.$is_table;
+
+# Note: Retrieval of information within information_schema.columns about
+# information_schema.collation_character_set_applicability is in
+# is_columns_is.test.
+# Retrieval of information_schema.collation_character_set_applicability
+# content is in charset_collation.inc (sourced by charset_collation_*.test).
+
+echo # Testcases 3.2.4.2 and 3.2.4.3 are checked in suite/funcs_1/t/charset_collation*.test;
+
+--echo ########################################################################
+--echo # Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and
+--echo # DDL on INFORMATION_SCHEMA tables are not supported
+--echo ########################################################################
+# 3.2.1.3: Ensure that no user may execute an INSERT statement on any
+# INFORMATION_SCHEMA table.
+# 3.2.1.4: Ensure that no user may execute an UPDATE statement on any
+# INFORMATION_SCHEMA table.
+# 3.2.1.5: Ensure that no user may execute a DELETE statement on any
+# INFORMATION_SCHEMA table.
+# 3.2.1.8: Ensure that no user may create an index on an
+# INFORMATION_SCHEMA table.
+# 3.2.1.9: Ensure that no user may alter the definition of an
+# INFORMATION_SCHEMA table.
+# 3.2.1.10: Ensure that no user may drop an INFORMATION_SCHEMA table.
+# 3.2.1.11: Ensure that no user may move an INFORMATION_SCHEMA table to any
+# other database.
+# 3.2.1.12: Ensure that no user may directly add to, alter, or delete any data
+# in an INFORMATION_SCHEMA table.
+#
+--disable_warnings
+DROP DATABASE IF EXISTS db_datadict;
+--enable_warnings
+CREATE DATABASE db_datadict;
+
+--error ER_DBACCESS_DENIED_ERROR
+INSERT INTO information_schema.collation_character_set_applicability
+SELECT * FROM information_schema.collation_character_set_applicability;
+
+--error ER_DBACCESS_DENIED_ERROR
+UPDATE information_schema.collation_character_set_applicability
+SET collation_name = 'big6_chinese_ci' WHERE character_set_name = 'big6';
+--error ER_DBACCESS_DENIED_ERROR
+UPDATE information_schema.collation_character_set_applicability
+SET character_set_name = 't_4711';
+
+--error ER_DBACCESS_DENIED_ERROR
+DELETE FROM information_schema.collation_character_set_applicability;
+--error ER_DBACCESS_DENIED_ERROR
+TRUNCATE information_schema.collation_character_set_applicability;
+
+--error ER_DBACCESS_DENIED_ERROR
+CREATE INDEX my_idx
+ON information_schema.collation_character_set_applicability(collation_name);
+
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.collation_character_set_applicability ADD f1 INT;
+
+--error ER_DBACCESS_DENIED_ERROR
+DROP TABLE information_schema.collation_character_set_applicability;
+
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.collation_character_set_applicability
+RENAME db_datadict.collation_character_set_applicability;
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.collation_character_set_applicability
+RENAME information_schema.xcollation_character_set_applicability;
+
+# Cleanup
+DROP DATABASE db_datadict;
+
diff --git a/mysql-test/suite/funcs_1/t/is_collations.test b/mysql-test/suite/funcs_1/t/is_collations.test
new file mode 100644
index 00000000000..e807b3cb028
--- /dev/null
+++ b/mysql-test/suite/funcs_1/t/is_collations.test
@@ -0,0 +1,114 @@
+# suite/funcs_1/t/is_collations.test
+#
+# Check the layout of information_schema.collations and some
+# functionality related tests.
+#
+# 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.
+#
+
+let $is_table = COLLATIONS;
+
+# The table INFORMATION_SCHEMA.COLLATIONS must exist
+eval SHOW TABLES FROM information_schema LIKE '$is_table';
+
+--echo #######################################################################
+--echo # Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT
+--echo #######################################################################
+# Ensure that every INFORMATION_SCHEMA table can be queried with a SELECT
+# statement, just as if it were an ordinary user-defined table.
+#
+--source suite/funcs_1/datadict/is_table_query.inc
+
+
+--echo #########################################################################
+--echo # Testcase 3.2.3.1: INFORMATION_SCHEMA.COLLATIONS layout
+--echo #########################################################################
+# Ensure that the INFORMATION_SCHEMA.COLLATIONS table has the following
+# columns, in the following order:
+#
+# COLLATION_NAME (shows a collation name),
+# CHARACTER_SET_NAME (shows the name of the character set to which the
+# collation applies),
+# ID (shows a numeric identifier for that collation/character set combination),
+# IS_DEFAULT (shows whether the collation is the default collation for the
+# character set shown),
+# IS_COMPILED (indicates whether the collation is compiled into the MySQL server),
+# SORTLEN (shows a value related to the amount of memory required to sort
+# strings using this collation/character set combination).
+#
+eval DESCRIBE information_schema.$is_table;
+eval SHOW CREATE TABLE information_schema.$is_table;
+eval SHOW COLUMNS FROM information_schema.$is_table;
+
+# Note: Retrieval of information within information_schema.columns about
+# information_schema.collations is in is_columns_is.test.
+# Retrieval of information_schema.collations content is in
+# charset_collation.inc (sourced by charset_collation_*.test).
+
+echo # Testcases 3.2.3.2 and 3.2.3.3 are checked in suite/funcs_1/t/charset_collation*.test;
+
+--echo ########################################################################
+--echo # Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and
+--echo # DDL on INFORMATION_SCHEMA tables are not supported
+--echo ########################################################################
+# 3.2.1.3: Ensure that no user may execute an INSERT statement on any
+# INFORMATION_SCHEMA table.
+# 3.2.1.4: Ensure that no user may execute an UPDATE statement on any
+# INFORMATION_SCHEMA table.
+# 3.2.1.5: Ensure that no user may execute a DELETE statement on any
+# INFORMATION_SCHEMA table.
+# 3.2.1.8: Ensure that no user may create an index on an INFORMATION_SCHEMA table.
+# 3.2.1.9: Ensure that no user may alter the definition of an
+# INFORMATION_SCHEMA table.
+# 3.2.1.10: Ensure that no user may drop an INFORMATION_SCHEMA table.
+# 3.2.1.11: Ensure that no user may move an INFORMATION_SCHEMA table to any
+# other database.
+# 3.2.1.12: Ensure that no user may directly add to, alter, or delete any data
+# in an INFORMATION_SCHEMA table.
+#
+--disable_warnings
+DROP DATABASE IF EXISTS db_datadict;
+--enable_warnings
+CREATE DATABASE db_datadict;
+
+--error ER_DBACCESS_DENIED_ERROR
+INSERT INTO information_schema.collations
+SELECT * FROM information_schema.collations;
+--error ER_DBACCESS_DENIED_ERROR
+INSERT INTO information_schema.collations
+ (collation_name,character_set_name,id,is_default,is_compiled,sortlen)
+VALUES ( 'cp1251_bin', 'cp1251',50, '', '',0);
+
+--error ER_DBACCESS_DENIED_ERROR
+UPDATE information_schema.collations SET description = 'just updated';
+
+--error ER_DBACCESS_DENIED_ERROR
+DELETE FROM information_schema.collations WHERE table_name = 't1';
+--error ER_DBACCESS_DENIED_ERROR
+TRUNCATE information_schema.collations;
+
+--error ER_DBACCESS_DENIED_ERROR
+CREATE INDEX my_idx ON information_schema.collations(character_set_name);
+
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.collations DROP PRIMARY KEY;
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.collations ADD f1 INT;
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.collations ENABLE KEYS;
+
+--error ER_DBACCESS_DENIED_ERROR
+DROP TABLE information_schema.collations;
+
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.collations RENAME db_datadict.collations;
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.collations
+RENAME information_schema.xcollations;
+
+# Cleanup
+DROP DATABASE db_datadict;
+
diff --git a/mysql-test/suite/funcs_1/t/is_column_privileges.test b/mysql-test/suite/funcs_1/t/is_column_privileges.test
new file mode 100644
index 00000000000..8f125051060
--- /dev/null
+++ b/mysql-test/suite/funcs_1/t/is_column_privileges.test
@@ -0,0 +1,351 @@
+# suite/funcs_1/t/is_column_privileges.test
+#
+# Check the layout of information_schema.column_privileges and the impact of
+# CREATE/ALTER/DROP TABLE/VIEW/SCHEMA ... on it.
+#
+# Note:
+# This test is not intended
+# - to show information about the all time existing tables
+# within the databases information_schema and mysql
+# - for checking storage engine properties
+# Therefore please do not alter $engine_type and $other_engine_type.
+#
+# 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.
+#
+
+# --source suite/funcs_1/datadict/datadict.pre
+
+let $engine_type = MEMORY;
+let $other_engine_type = MyISAM;
+
+let $is_table = COLUMN_PRIVILEGES;
+
+# The table INFORMATION_SCHEMA.COLUMN_PRIVILEGES must exist
+eval SHOW TABLES FROM information_schema LIKE '$is_table';
+
+--echo #######################################################################
+--echo # Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT
+--echo #######################################################################
+# Ensure that every INFORMATION_SCHEMA table can be queried with a SELECT
+# statement, just as if it were an ordinary user-defined table.
+#
+--source suite/funcs_1/datadict/is_table_query.inc
+
+
+--echo #########################################################################
+--echo # Testcase 3.2.5.1: INFORMATION_SCHEMA.COLUMN_PRIVILEGES layout
+--echo #########################################################################
+# Ensure that the INFORMATION_SCHEMA.COLUMN_PRIVILEGES table has the following
+# columns, in the following order:
+#
+# GRANTEE (shows the name of a user who has either granted,
+# or been granted a column privilege),
+# TABLE_CATALOG (always shows NULL),
+# TABLE_SCHEMA (shows the name of the schema, or database, in which the table
+# for which a column privilege has been granted resides),
+# TABLE_NAME (shows the name of the table),
+# COLUMN_NAME (shows the name of the column on which a column privilege has
+# been granted),
+# PRIVILEGE_TYPE (shows the type of privilege that was granted; must be either
+# SELECT, INSERT, UPDATE, or REFERENCES),
+# IS_GRANTABLE (shows whether that privilege was granted WITH GRANT OPTION).
+#
+--source suite/funcs_1/datadict/datadict_bug_12777.inc
+eval DESCRIBE information_schema.$is_table;
+--source suite/funcs_1/datadict/datadict_bug_12777.inc
+eval SHOW CREATE TABLE information_schema.$is_table;
+--source suite/funcs_1/datadict/datadict_bug_12777.inc
+eval SHOW COLUMNS FROM information_schema.$is_table;
+
+# Note: Retrieval of information within information_schema.columns
+# about information_schema.column_privileges is in is_columns_is.test.
+
+# Show that TABLE_CATALOG is always NULL.
+SELECT table_catalog, table_schema, table_name, column_name, privilege_type
+FROM information_schema.column_privileges WHERE table_catalog IS NOT NULL;
+
+
+--echo ######################################################################
+--echo # Testcase 3.2.5.2+3.2.5.3+3.2.5.4:
+--echo # INFORMATION_SCHEMA.COLUMN_PRIVILEGES accessible information
+--echo ######################################################################
+# 3.2.5.2: Ensure that the table shows the relevant information on every
+# column privilege which has been granted to the current user or
+# PUBLIC, or which was granted by the current user.
+# 3.2.5.3: Ensure that the table does not show any information on any column
+# privilege which was granted to any user other than the current user
+# or PUBLIC, or which was granted by any user other than
+# the current user.
+# 3.2.5.4: Ensure that the table does not show any information on any
+# privileges that are not column privileges for the current user.
+#
+# Note: Check of content within information_schema.column_privileges about the
+# databases information_schema, mysql and test is in
+# is_column_privileges_is_mysql_test.test
+#
+--disable_warnings
+DROP DATABASE IF EXISTS db_datadict;
+--enable_warnings
+CREATE DATABASE db_datadict;
+--replace_result $other_engine_type <other_engine_type>
+eval
+CREATE TABLE db_datadict.t1 (f1 INT, f2 DECIMAL, f3 TEXT)
+ENGINE = $other_engine_type;
+
+USE db_datadict;
+--error 0,ER_CANNOT_USER
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+--error 0,ER_CANNOT_USER
+DROP USER 'testuser2'@'localhost';
+CREATE USER 'testuser2'@'localhost';
+--error 0,ER_CANNOT_USER
+DROP USER 'testuser3'@'localhost';
+CREATE USER 'testuser3'@'localhost';
+
+GRANT SELECT(f1, f3) ON db_datadict.t1 TO 'testuser1'@'localhost';
+GRANT INSERT(f1) ON db_datadict.t1 TO 'testuser1'@'localhost';
+GRANT UPDATE(f2) ON db_datadict.t1 TO 'testuser1'@'localhost';
+GRANT SELECT(f2) ON db_datadict.t1 TO 'testuser2'@'localhost';
+GRANT INSERT, SELECT ON db_datadict.t1 TO 'testuser3'@'localhost';
+GRANT SELECT(f3) ON db_datadict.t1 TO 'testuser3'@'localhost';
+
+GRANT INSERT, SELECT ON db_datadict.t1 TO 'testuser3'@'localhost'
+WITH GRANT OPTION;
+GRANT ALL ON db_datadict.* TO 'testuser3'@'localhost';
+
+let $select= SELECT * FROM information_schema.column_privileges
+WHERE grantee LIKE '''testuser%'''
+ORDER BY grantee, table_schema,table_name,column_name,privilege_type;
+eval $select;
+
+# Note: WITH GRANT OPTION applies to all privileges on this table
+# and not to the columns mentioned only.
+GRANT UPDATE(f3) ON db_datadict.t1 TO 'testuser1'@'localhost'
+WITH GRANT OPTION;
+
+eval $select;
+
+--echo # Establish connection testuser1 (user=testuser1)
+--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
+connect (testuser1, localhost, testuser1, , db_datadict);
+eval $select;
+
+--echo # Establish connection testuser2 (user=testuser2)
+--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
+connect (testuser2, localhost, testuser2, , db_datadict);
+eval $select;
+
+--echo # Establish connection testuser3 (user=testuser3)
+--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
+connect (testuser3, localhost, testuser3, , db_datadict);
+
+--echo # FIXME: Is it correct that granted TABLES do not occur in COLUMN_PRIVILEGES?
+SELECT * FROM information_schema.table_privileges
+WHERE grantee LIKE '''testuser%'''
+ORDER BY grantee,table_schema,table_name,privilege_type;
+SELECT * FROM information_schema.schema_privileges
+WHERE grantee LIKE '''testuser%'''
+ORDER BY grantee,table_schema,privilege_type;
+eval $select;
+GRANT SELECT(f1, f3) ON db_datadict.t1 TO 'testuser2'@'localhost';
+
+--echo # FIXME: Is it intended that *my* grants to others are *NOT* shown here?
+eval $select;
+
+--echo # Switch to connection testuser2 (user=testuser2)
+connection testuser2;
+eval $select;
+
+# Cleanup
+--echo # Switch to connection default and close connections testuser1,testuser2,testuser3
+connection default;
+disconnect testuser1;
+disconnect testuser2;
+disconnect testuser3;
+DROP DATABASE db_datadict;
+DROP USER 'testuser1'@'localhost';
+DROP USER 'testuser2'@'localhost';
+DROP USER 'testuser3'@'localhost';
+
+
+--echo ################################################################################
+--echo # 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.COLUMN_PRIVILEGES modifications
+--echo ################################################################################
+# 3.2.1.13: Ensure that the creation of any new database object (e.g. table or
+# column) automatically inserts all relevant information on that
+# object into every appropriate INFORMATION_SCHEMA table.
+# 3.2.1.14: Ensure that the alteration of any existing database object
+# automatically updates all relevant information on that object in
+# every appropriate INFORMATION_SCHEMA table.
+# 3.2.1.15: Ensure that the dropping of any existing database object
+# automatically deletes all relevant information on that object from
+# every appropriate INFORMATION_SCHEMA table.
+#
+# Note (mleich):
+# The MySQL privilege system allows to GRANT objects before they exist.
+# (Exception: Grant privileges for columns of not existing tables/views.)
+# There is also no migration of privileges if objects (tables, views, columns)
+# are moved to other databases (tables only), renamed or dropped.
+#
+--disable_warnings
+DROP DATABASE IF EXISTS db_datadict;
+--enable_warnings
+CREATE DATABASE db_datadict;
+--replace_result $engine_type <engine_type>
+eval
+CREATE TABLE db_datadict.my_table (f1 BIGINT, f2 CHAR(10), f3 DATE)
+ENGINE = $engine_type;
+
+--error 0,ER_CANNOT_USER
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+GRANT ALL ON test.* TO 'testuser1'@'localhost';
+
+let $my_select = SELECT * FROM information_schema.column_privileges
+WHERE table_name = 'my_table'
+ORDER BY grantee, table_schema,table_name,column_name,privilege_type;
+let $my_show = SHOW GRANTS FOR 'testuser1'@'localhost';
+eval $my_select;
+eval $my_show;
+
+--echo # Establish connection testuser1 (user=testuser1)
+--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
+connect (testuser1, localhost, testuser1, , test);
+eval $my_select;
+eval $my_show;
+
+--echo # Switch to connection default
+connection default;
+GRANT SELECT (f1,f3) ON db_datadict.my_table TO 'testuser1'@'localhost';
+eval $my_select;
+eval $my_show;
+
+--echo # Switch to connection testuser1
+connection testuser1;
+eval $my_select;
+eval $my_show;
+
+--echo # Switch to connection default
+connection default;
+ALTER TABLE db_datadict.my_table DROP COLUMN f3;
+GRANT UPDATE (f1) ON db_datadict.my_table TO 'testuser1'@'localhost';
+eval $my_select;
+eval $my_show;
+
+--echo # Switch to connection testuser1
+connection testuser1;
+eval $my_select;
+eval $my_show;
+--error ER_BAD_FIELD_ERROR
+SELECT f1, f3 FROM db_datadict.my_table;
+
+--echo # Switch to connection default
+connection default;
+ALTER TABLE db_datadict.my_table CHANGE COLUMN f1 my_col BIGINT;
+eval $my_select;
+eval $my_show;
+
+--echo # Switch to connection testuser1
+connection testuser1;
+eval $my_select;
+eval $my_show;
+
+--echo # Switch to connection default
+connection default;
+DROP TABLE db_datadict.my_table;
+eval $my_select;
+eval $my_show;
+
+--echo # Switch to connection testuser1
+connection testuser1;
+eval $my_select;
+eval $my_show;
+
+--echo # Switch to connection default
+connection default;
+REVOKE ALL ON db_datadict.my_table FROM 'testuser1'@'localhost';
+eval $my_select;
+eval $my_show;
+
+--echo # Switch to connection testuser1
+connection testuser1;
+eval $my_select;
+eval $my_show;
+
+--echo # Switch to connection default and close connection testuser1
+connection default;
+disconnect testuser1;
+DROP USER 'testuser1'@'localhost';
+DROP DATABASE db_datadict;
+
+
+--echo ########################################################################
+--echo # Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and
+--echo # DDL on INFORMATION_SCHEMA table are not supported
+--echo ########################################################################
+# 3.2.1.3: Ensure that no user may execute an INSERT statement on any
+# INFORMATION_SCHEMA table.
+# 3.2.1.4: Ensure that no user may execute an UPDATE statement on any
+# INFORMATION_SCHEMA table.
+# 3.2.1.5: Ensure that no user may execute a DELETE statement on any
+# INFORMATION_SCHEMA table.
+# 3.2.1.8: Ensure that no user may create an index on an
+# INFORMATION_SCHEMA table.
+# 3.2.1.9: Ensure that no user may alter the definition of an
+# INFORMATION_SCHEMA table.
+# 3.2.1.10: Ensure that no user may drop an INFORMATION_SCHEMA table.
+# 3.2.1.11: Ensure that no user may move an INFORMATION_SCHEMA table to any
+# other database.
+# 3.2.1.12: Ensure that no user may directly add to, alter, or delete any data
+# in an INFORMATION_SCHEMA table.
+#
+--disable_warnings
+DROP DATABASE IF EXISTS db_datadict;
+--enable_warnings
+CREATE DATABASE db_datadict;
+--replace_result $engine_type <engine_type>
+eval
+CREATE TABLE db_datadict.t1 (f1 BIGINT, f2 BIGINT)
+ENGINE = $engine_type;
+--error 0,ER_CANNOT_USER
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+GRANT SELECT (f1) ON db_datadict.t1 TO 'testuser1'@'localhost';
+
+--error ER_DBACCESS_DENIED_ERROR
+INSERT INTO information_schema.column_privileges
+SELECT * FROM information_schema.column_privileges;
+
+--error ER_DBACCESS_DENIED_ERROR
+UPDATE information_schema.column_privileges SET table_schema = 'test'
+WHERE table_name = 't1';
+
+--error ER_DBACCESS_DENIED_ERROR
+DELETE FROM information_schema.column_privileges WHERE table_name = 't1';
+--error ER_DBACCESS_DENIED_ERROR
+TRUNCATE information_schema.column_privileges;
+
+--error ER_DBACCESS_DENIED_ERROR
+CREATE INDEX my_idx_on_tables
+ON information_schema.column_privileges(table_schema);
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.column_privileges ADD f1 INT;
+
+--error ER_DBACCESS_DENIED_ERROR
+DROP TABLE information_schema.column_privileges;
+
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.column_privileges
+RENAME db_datadict.column_privileges;
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.column_privileges
+RENAME information_schema.xcolumn_privileges;
+
+# Cleanup
+DROP DATABASE db_datadict;
+DROP USER 'testuser1'@'localhost';
+
diff --git a/mysql-test/suite/funcs_1/t/is_column_privileges_is_mysql_test.test b/mysql-test/suite/funcs_1/t/is_column_privileges_is_mysql_test.test
new file mode 100644
index 00000000000..3ed8597e309
--- /dev/null
+++ b/mysql-test/suite/funcs_1/t/is_column_privileges_is_mysql_test.test
@@ -0,0 +1,58 @@
+# suite/funcs_1/t/is_column_privileges_is_mysql_test.test
+#
+# Check the content of information_schema.column_privileges about the databases
+# information_schema and mysql visible to high and low privileged users.
+#
+# 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.
+#
+#
+
+--echo ##############################################################################
+--echo # Testcases 3.2.9.2+3.2.9.3 INFORMATION_SCHEMA.SCHEMATA accessible information
+--echo ##############################################################################
+# 3.2.9.2 Ensure that the table shows the relevant information for every
+# database on which the current user or PUBLIC have privileges.
+# 3.2.9.3 Ensure that the table does not show any information on any databases
+# on which the current user and PUBLIC have no privileges.
+#
+--disable_warnings
+DROP DATABASE IF EXISTS db_datadict;
+--enable_warnings
+CREATE DATABASE db_datadict;
+
+# Create a low privileged user.
+# Note: The database db_datadict is just a "home" for the low privileged user
+# and not in the focus of testing.
+--error 0,ER_CANNOT_USER
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+GRANT SELECT ON db_datadict.* TO 'testuser1'@'localhost';
+
+let $my_select = SELECT * FROM information_schema.column_privileges
+WHERE table_schema IN ('information_schema','mysql','test')
+ORDER BY table_schema, table_name, column_name;
+let $my_show1 = SHOW DATABASES LIKE 'information_schema';
+let $my_show2 = SHOW DATABASES LIKE 'mysql';
+let $my_show3 = SHOW DATABASES LIKE 'test';
+eval $my_select;
+eval $my_show1;
+eval $my_show2;
+eval $my_show3;
+
+--echo # Establish connection testuser1 (user=testuser1)
+--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
+connect (testuser1, localhost, testuser1, , db_datadict);
+eval $my_select;
+eval $my_show1;
+eval $my_show2;
+eval $my_show3;
+
+# Cleanup
+--echo # Switch to connection default and close connection testuser1
+connection default;
+DROP USER 'testuser1'@'localhost';
+DROP DATABASE db_datadict;
+
diff --git a/mysql-test/suite/funcs_1/t/is_columns.test b/mysql-test/suite/funcs_1/t/is_columns.test
new file mode 100644
index 00000000000..385de733ac3
--- /dev/null
+++ b/mysql-test/suite/funcs_1/t/is_columns.test
@@ -0,0 +1,444 @@
+# suite/funcs_1/t/is_columns.test
+#
+# Check the layout of information_schema.columns and the impact of
+# CREATE/ALTER/DROP TABLE/VIEW/SCHEMA/COLUMN ... on its content.
+#
+# Note:
+# This test is not intended
+# - to show information about the all time existing tables
+# within the databases information_schema and mysql
+# - for checking storage engine properties
+# Therefore please do not alter $engine_type and $other_engine_type.
+#
+# 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.
+#
+
+# --source suite/funcs_1/datadict/datadict.pre
+
+let $engine_type = MEMORY;
+let $other_engine_type = MyISAM;
+
+let $is_table = COLUMNS;
+
+# The table INFORMATION_SCHEMA.COLUMNS must exist
+eval SHOW TABLES FROM information_schema LIKE '$is_table';
+
+--echo #######################################################################
+--echo # Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT
+--echo #######################################################################
+# Ensure that every INFORMATION_SCHEMA table can be queried with a SELECT
+# statement, just as if it were an ordinary user-defined table.
+#
+--source suite/funcs_1/datadict/is_table_query.inc
+
+
+--echo #########################################################################
+--echo # Testcase 3.2.6.1: INFORMATION_SCHEMA.COLUMNS layout
+--echo #########################################################################
+# Ensure that the INFORMATION_SCHEMA.COLUMNS table has the following columns,
+# in the following order:
+#
+# TABLE_CATALOG (always shows NULL),
+# TABLE_SCHEMA (shows the name of the database, or schema, in which an
+# accessible table resides),
+# TABLE_NAME (shows the name of an accessible table),
+# COLUMN_NAME (shows the name of a column within that table),
+# ORDINAL_POSITION (shows the ordinal position of that column in that table),
+# COLUMN_DEFAULT (shows the column's default value),
+# IS_NULLABLE (shows whether the column may accept NULL values),
+# DATA_TYPE (shows the column's defined data type; keyword only),
+# CHARACTER_MAXIMUM_LENGTH (shows, for a string column, the column's defined
+# maximum length in characters; otherwise NULL),
+# CHARACTER_OCTET_LENGTH (shows, for a string column, the column's defined
+# maximum length in octets; otherwise NULL),
+# NUMERIC_PRECISION (shows, for a numeric column, the column's or data type's
+# defined precision; otherwise NULL),
+# NUMERIC_SCALE (shows, for a numeric column, the column's or data type's
+# defined scale; otherwise NULL),
+# CHARACTER_SET_NAME (shows, for a character string column, the column's default
+# character set; otherwise NULL),
+# COLLATION_NAME (shows, for a character string column, the column's default
+# collation; otherwise NULL),
+# COLUMN_TYPE (shows the column's complete, defined data type),
+# COLUMN_KEY (shows whether the column is indexed; possible values are PRI if
+# the column is part of a PRIMARY KEY, UNI if the column is part of a
+# UNIQUE key, MUL if the column is part of an index key that allows
+# duplicates),
+# EXTRA (shows any additional column definition information, e.g. whether the
+# column was defined with the AUTO_INCREMENT attribute),
+# PRIVILEGES (shows the privileges available to the user on the column),
+# COLUMN_COMMENT (shows the comment, if any, defined for the comment;
+# otherwise NULL).
+#
+--source suite/funcs_1/datadict/datadict_bug_12777.inc
+eval DESCRIBE information_schema.$is_table;
+--source suite/funcs_1/datadict/datadict_bug_12777.inc
+eval SHOW CREATE TABLE information_schema.$is_table;
+--source suite/funcs_1/datadict/datadict_bug_12777.inc
+eval SHOW COLUMNS FROM information_schema.$is_table;
+
+# Note: Retrieval of information within information_schema.columns about
+# information_schema.columns is in is_columns_is.test.
+
+# Show that TABLE_CATALOG is always NULL.
+SELECT table_catalog, table_schema, table_name, column_name
+FROM information_schema.columns WHERE table_catalog IS NOT NULL;
+
+
+--echo ###############################################################################
+--echo # Testcase 3.2.6.2 + 3.2.6.3: INFORMATION_SCHEMA.COLUMNS accessible information
+--echo ###############################################################################
+# 3.2.6.2: Ensure that the table shows the relevant information on the columns
+# of every table that is accessible to the current user or to PUBLIC.
+# 3.2.6.3: Ensure that the table does not show any information on the columns
+# of any table which is not accessible to the current user or PUBLIC.
+#
+# Note: Check of content within information_schema.columns about
+# databases is in
+# mysql is_columns_mysql.test
+# information_schema is_columns_is.test
+# test% is_columns_<engine>.test
+#
+--disable_warnings
+DROP DATABASE IF EXISTS db_datadict;
+--enable_warnings
+CREATE DATABASE db_datadict;
+
+--error 0,ER_CANNOT_USER
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+--error 0,ER_CANNOT_USER
+DROP USER 'testuser2'@'localhost';
+CREATE USER 'testuser2'@'localhost';
+
+--replace_result $other_engine_type <other_engine_type>
+eval
+CREATE TABLE db_datadict.t1
+ (f1 CHAR(10), f2 TEXT, f3 DATE, f4 INT AUTO_INCREMENT,
+ UNIQUE INDEX MUL_IDX(f1,f3), PRIMARY KEY (f4))
+ENGINE = $other_engine_type;
+CREATE VIEW db_datadict.v1 AS SELECT 1 AS f1, 1 AS f2;
+GRANT SELECT(f1, f2) ON db_datadict.t1 TO 'testuser1'@'localhost';
+GRANT SELECT(f2) ON db_datadict.v1 TO 'testuser1'@'localhost';
+
+--replace_result $other_engine_type <other_engine_type>
+eval
+CREATE TABLE db_datadict.t2
+(f1 CHAR(10), f2 TEXT, f3 DATE, f4 INT, PRIMARY KEY (f1,f4))
+ENGINE = $other_engine_type;
+GRANT INSERT(f1, f2) ON db_datadict.t2 TO 'testuser2'@'localhost';
+
+let $my_select= SELECT * FROM information_schema.columns
+ WHERE table_schema = 'db_datadict'
+ORDER BY table_schema, table_name, ordinal_position;
+let $my_show1 = SHOW COLUMNS FROM db_datadict.t1;
+let $my_show2 = SHOW COLUMNS FROM db_datadict.t2;
+let $my_show3 = SHOW COLUMNS FROM db_datadict.v1;
+
+# Point of view of user root.
+--source suite/funcs_1/datadict/datadict_bug_12777.inc
+eval $my_select;
+eval $my_show1;
+eval $my_show2;
+eval $my_show3;
+
+--echo # Establish connection testuser1 (user=testuser1)
+--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
+connect (testuser1, localhost, testuser1, , db_datadict);
+--source suite/funcs_1/datadict/datadict_bug_12777.inc
+eval $my_select;
+eval $my_show1;
+--error ER_TABLEACCESS_DENIED_ERROR
+eval $my_show2;
+eval $my_show3;
+
+--echo # Establish connection testuser2 (user=testuser2)
+--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
+connect (testuser2, localhost, testuser2, , db_datadict);
+--source suite/funcs_1/datadict/datadict_bug_12777.inc
+eval $my_select;
+--error ER_TABLEACCESS_DENIED_ERROR
+eval $my_show1;
+eval $my_show2;
+--error ER_TABLEACCESS_DENIED_ERROR
+eval $my_show3;
+
+--echo # Switch to connection default and close connections testuser1, testuser2
+connection default;
+disconnect testuser1;
+disconnect testuser2;
+
+# Cleanup
+DROP USER 'testuser1'@'localhost';
+DROP USER 'testuser2'@'localhost';
+DROP DATABASE IF EXISTS db_datadict;
+
+
+--echo ###############################################################################
+--echo # Testcase 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.COLUMNS modifications
+--echo ###############################################################################
+# 3.2.1.13: Ensure that the creation of any new database object (e.g. table or
+# column) automatically inserts all relevant information on that
+# object into every appropriate INFORMATION_SCHEMA table.
+# 3.2.1.14: Ensure that the alteration of any existing database object
+# automatically updates all relevant information on that object in
+# every appropriate INFORMATION_SCHEMA table.
+# 3.2.1.15: Ensure that the dropping of any existing database object
+# automatically deletes all relevant information on that object from
+# every appropriate INFORMATION_SCHEMA table.
+#
+--disable_warnings
+DROP TABLE IF EXISTS test.t1_my_table;
+DROP DATABASE IF EXISTS db_datadict;
+--enable_warnings
+CREATE DATABASE db_datadict;
+
+SELECT table_name FROM information_schema.columns
+WHERE table_name LIKE 't1_my_table%';
+--replace_result $engine_type <engine_type>
+eval
+CREATE TABLE test.t1_my_table (f1 CHAR(12))
+DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci
+ENGINE = $engine_type;
+# Settings used in CREATE TABLE must be visible in information_schema.columns.
+--vertical_results
+SELECT * FROM information_schema.columns
+WHERE table_name = 't1_my_table';
+--horizontal_results
+#
+# Check modification of TABLE_NAME
+SELECT table_name FROM information_schema.columns
+WHERE table_name LIKE 't1_my_table%';
+RENAME TABLE test.t1_my_table TO test.t1_my_tablex;
+SELECT table_name FROM information_schema.columns
+WHERE table_name LIKE 't1_my_table%';
+#
+# Check modification of TABLE_SCHEMA
+SELECT table_schema,table_name FROM information_schema.columns
+WHERE table_name = 't1_my_tablex';
+RENAME TABLE test.t1_my_tablex TO db_datadict.t1_my_tablex;
+SELECT table_schema,table_name FROM information_schema.columns
+WHERE table_name = 't1_my_tablex';
+#
+# Check modification of COLUMN_NAME
+SELECT table_name, column_name FROM information_schema.columns
+WHERE table_name = 't1_my_tablex';
+ALTER TABLE db_datadict.t1_my_tablex CHANGE COLUMN f1 first_col CHAR(12);
+SELECT table_name, column_name FROM information_schema.columns
+WHERE table_name = 't1_my_tablex';
+#
+# Check modification of COLUMN size
+SELECT table_name, column_name, character_maximum_length,
+ character_octet_length, column_type
+FROM information_schema.columns
+WHERE table_name = 't1_my_tablex';
+ALTER TABLE db_datadict.t1_my_tablex
+MODIFY COLUMN first_col CHAR(20);
+SELECT table_name, column_name, character_maximum_length,
+ character_octet_length, column_type
+FROM information_schema.columns
+WHERE table_name = 't1_my_tablex';
+#
+# Check modification of COLUMN type
+SELECT table_name, column_name, character_maximum_length,
+ character_octet_length, column_type
+FROM information_schema.columns
+WHERE table_name = 't1_my_tablex';
+ALTER TABLE db_datadict.t1_my_tablex
+MODIFY COLUMN first_col VARCHAR(20);
+SELECT table_name, column_name, character_maximum_length,
+ character_octet_length, column_type
+FROM information_schema.columns
+WHERE table_name = 't1_my_tablex';
+#
+# Check modify COLUMN DEFAULT
+SELECT table_name, column_name, column_default
+FROM information_schema.columns
+WHERE table_name = 't1_my_tablex';
+ALTER TABLE db_datadict.t1_my_tablex
+MODIFY COLUMN first_col CHAR(10) DEFAULT 'hello';
+SELECT table_name, column_name, column_default
+FROM information_schema.columns
+WHERE table_name = 't1_my_tablex';
+#
+# Check modify IS_NULLABLE
+SELECT table_name, column_name, is_nullable
+FROM information_schema.columns
+WHERE table_name = 't1_my_tablex';
+ALTER TABLE db_datadict.t1_my_tablex
+MODIFY COLUMN first_col CHAR(10) NOT NULL;
+SELECT table_name, column_name, is_nullable
+FROM information_schema.columns
+WHERE table_name = 't1_my_tablex';
+#
+# Check modify COLLATION
+SELECT table_name, column_name, collation_name
+FROM information_schema.columns
+WHERE table_name = 't1_my_tablex';
+ALTER TABLE db_datadict.t1_my_tablex
+MODIFY COLUMN first_col CHAR(10) COLLATE 'latin1_general_cs';
+SELECT table_name, column_name, collation_name
+FROM information_schema.columns
+WHERE table_name = 't1_my_tablex';
+#
+# Check modify CHARACTER SET
+SELECT table_name, column_name, character_maximum_length,
+ character_octet_length, character_set_name
+FROM information_schema.columns
+WHERE table_name = 't1_my_tablex';
+ALTER TABLE db_datadict.t1_my_tablex
+MODIFY COLUMN first_col CHAR(10) CHARACTER SET utf8;
+SELECT table_name, column_name, character_maximum_length,
+ character_octet_length, character_set_name
+FROM information_schema.columns
+WHERE table_name = 't1_my_tablex';
+#
+# Check modify COLUMN_COMMENT
+SELECT table_name, column_name, column_comment
+FROM information_schema.columns
+WHERE table_name = 't1_my_tablex';
+ALTER TABLE db_datadict.t1_my_tablex
+MODIFY COLUMN first_col CHAR(10) COMMENT 'Hello';
+SELECT table_name, column_name, column_comment
+FROM information_schema.columns
+WHERE table_name = 't1_my_tablex';
+#
+# Check ADD COLUMN
+SELECT table_name, column_name
+FROM information_schema.columns
+WHERE table_name = 't1_my_tablex';
+ALTER TABLE db_datadict.t1_my_tablex
+ADD COLUMN second_col CHAR(10);
+SELECT table_name, column_name
+FROM information_schema.columns
+WHERE table_name = 't1_my_tablex';
+#
+# Check switch ordinal position of column
+SELECT table_name, column_name, ordinal_position
+FROM information_schema.columns
+WHERE table_name = 't1_my_tablex'
+ORDER BY table_name, column_name;
+ALTER TABLE db_datadict.t1_my_tablex
+MODIFY COLUMN second_col CHAR(10) FIRST;
+SELECT table_name, column_name, ordinal_position
+FROM information_schema.columns
+WHERE table_name = 't1_my_tablex'
+ORDER BY table_name, column_name;
+#
+# Check DROP COLUMN
+SELECT table_name, column_name
+FROM information_schema.columns
+WHERE table_name = 't1_my_tablex';
+ALTER TABLE db_datadict.t1_my_tablex
+DROP COLUMN first_col;
+SELECT table_name, column_name
+FROM information_schema.columns
+WHERE table_name = 't1_my_tablex';
+#
+# Check set COLUMN UNIQUE
+SELECT table_name, column_name, column_key
+FROM information_schema.columns
+WHERE table_name = 't1_my_tablex';
+ALTER TABLE db_datadict.t1_my_tablex
+ADD UNIQUE INDEX IDX(second_col);
+SELECT table_name, column_name, column_key
+FROM information_schema.columns
+WHERE table_name = 't1_my_tablex';
+#
+# Check impact of DROP TABLE
+SELECT table_name, column_name
+FROM information_schema.columns
+WHERE table_name = 't1_my_tablex';
+DROP TABLE db_datadict.t1_my_tablex;
+SELECT table_name, column_name
+FROM information_schema.columns
+WHERE table_name = 't1_my_tablex';
+#
+# Check a VIEW
+CREATE VIEW test.t1_my_tablex
+AS SELECT 1 AS "col1", 'A' collate latin1_german1_ci AS "col2";
+--vertical_results
+SELECT * FROM information_schema.columns
+WHERE table_name = 't1_my_tablex'
+ORDER BY table_name, column_name;
+--horizontal_results
+DROP VIEW test.t1_my_tablex;
+SELECT table_name FROM information_schema.columns
+WHERE table_name = 't1_my_tablex';
+#
+# Check impact of DROP SCHEMA
+--replace_result $engine_type <engine_type>
+eval
+CREATE TABLE db_datadict.t1_my_tablex
+ENGINE = $engine_type AS
+SELECT 1;
+SELECT table_name FROM information_schema.columns
+WHERE table_name = 't1_my_tablex';
+DROP DATABASE db_datadict;
+SELECT table_name FROM information_schema.columns
+WHERE table_name = 't1_my_tablex';
+
+
+--echo ########################################################################
+--echo # Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and
+--echo # DDL on INFORMATION_SCHEMA table are not supported
+--echo ########################################################################
+# 3.2.1.3: Ensure that no user may execute an INSERT statement on any
+# INFORMATION_SCHEMA table.
+# 3.2.1.4: Ensure that no user may execute an UPDATE statement on any
+# INFORMATION_SCHEMA table.
+# 3.2.1.5: Ensure that no user may execute a DELETE statement on any
+# INFORMATION_SCHEMA table.
+# 3.2.1.8: Ensure that no user may create an index on an
+# INFORMATION_SCHEMA table.
+# 3.2.1.9: Ensure that no user may alter the definition of an
+# INFORMATION_SCHEMA table.
+# 3.2.1.10: Ensure that no user may drop an INFORMATION_SCHEMA table.
+# 3.2.1.11: Ensure that no user may move an INFORMATION_SCHEMA table to any
+# other database.
+# 3.2.1.12: Ensure that no user may directly add to, alter, or delete any data
+# in an INFORMATION_SCHEMA table.
+#
+--disable_warnings
+DROP DATABASE IF EXISTS db_datadict;
+DROP TABLE IF EXISTS test.t1;
+--enable_warnings
+CREATE DATABASE db_datadict;
+CREATE TABLE test.t1 (f1 BIGINT);
+
+--error ER_DBACCESS_DENIED_ERROR
+INSERT INTO information_schema.columns (table_schema,table_name,column_name)
+VALUES('test','t1', 'f2');
+--error ER_DBACCESS_DENIED_ERROR
+INSERT INTO information_schema.columns (table_schema,table_name,column_name)
+VALUES('test','t2', 'f1');
+
+--error ER_DBACCESS_DENIED_ERROR
+UPDATE information_schema.columns SET table_name = 't4' WHERE table_name = 't1';
+
+--error ER_DBACCESS_DENIED_ERROR
+DELETE FROM information_schema.columns WHERE table_name = 't1';
+--error ER_DBACCESS_DENIED_ERROR
+TRUNCATE information_schema.columns;
+
+--error ER_DBACCESS_DENIED_ERROR
+CREATE INDEX i3 ON information_schema.columns(table_name);
+
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.columns ADD f1 INT;
+
+--error ER_DBACCESS_DENIED_ERROR
+DROP TABLE information_schema.columns;
+
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.columns RENAME db_datadict.columns;
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.columns RENAME information_schema.xcolumns;
+
+# Cleanup
+DROP TABLE test.t1;
+DROP DATABASE db_datadict;
+
diff --git a/mysql-test/suite/funcs_1/t/is_columns_innodb.test b/mysql-test/suite/funcs_1/t/is_columns_innodb.test
new file mode 100644
index 00000000000..04b9f8354e4
--- /dev/null
+++ b/mysql-test/suite/funcs_1/t/is_columns_innodb.test
@@ -0,0 +1,21 @@
+# suite/funcs_1/t/is_columns_innodb.test
+#
+# Check the content of information_schema.columns about tables within
+# the databases created by the user.
+# Variant for storage engine InnoDB
+#
+# 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.
+#
+
+--source include/have_innodb.inc
+let $engine_type= InnoDB;
+--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
+
+--source suite/funcs_1/include/cleanup.inc
diff --git a/mysql-test/suite/funcs_1/t/is_columns_is.test b/mysql-test/suite/funcs_1/t/is_columns_is.test
new file mode 100644
index 00000000000..41a7d180be8
--- /dev/null
+++ b/mysql-test/suite/funcs_1/t/is_columns_is.test
@@ -0,0 +1,19 @@
+# suite/funcs_1/t/is_columns_is.test
+#
+# Check the content of information_schema.columns about tables within
+# the database information_schema.
+#
+# Note: The INFORMATION_SCHEMA table PROFILING is optional (exists in MySQL
+# Community version only) and therefore we exclude it from retrieval.
+#
+# 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.
+#
+
+let $my_where = WHERE table_schema = 'information_schema'
+AND table_name <> 'profiling';
+# --source suite/funcs_1/datadict/datadict.pre
+--source suite/funcs_1/datadict/columns.inc
+
diff --git a/mysql-test/suite/funcs_1/t/is_columns_memory.test b/mysql-test/suite/funcs_1/t/is_columns_memory.test
new file mode 100644
index 00000000000..6cbf3b298b4
--- /dev/null
+++ b/mysql-test/suite/funcs_1/t/is_columns_memory.test
@@ -0,0 +1,21 @@
+# suite/funcs_1/t/is_columns_memory.test
+#
+# Check the content of information_schema.columns about tables within
+# the databases created by the user.
+# Variant for storage engine MEMORY
+#
+# 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.
+#
+
+let $engine_type= MEMORY;
+SET @@session.sql_mode = 'NO_ENGINE_SUBSTITUTION';
+--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
+
+--source suite/funcs_1/include/cleanup.inc
diff --git a/mysql-test/suite/funcs_1/t/is_columns_myisam.test b/mysql-test/suite/funcs_1/t/is_columns_myisam.test
new file mode 100644
index 00000000000..d98cd0347c6
--- /dev/null
+++ b/mysql-test/suite/funcs_1/t/is_columns_myisam.test
@@ -0,0 +1,21 @@
+# suite/funcs_1/t/is_columns_myisam.test
+#
+# Check the content of information_schema.columns about tables within
+# the databases created by the user.
+# Variant for storage engine MyISAM
+#
+# 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.
+#
+
+let $engine_type= MyISAM;
+SET @@session.sql_mode = 'NO_ENGINE_SUBSTITUTION';
+--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
+
+--source suite/funcs_1/include/cleanup.inc
diff --git a/mysql-test/suite/funcs_1/t/is_columns_mysql.test b/mysql-test/suite/funcs_1/t/is_columns_mysql.test
new file mode 100644
index 00000000000..26539d0c8e0
--- /dev/null
+++ b/mysql-test/suite/funcs_1/t/is_columns_mysql.test
@@ -0,0 +1,13 @@
+# suite/funcs_1/t/is_columns_mysql.test
+#
+# Check the content of information_schema.columns about tables within
+# the database mysql.
+#
+# 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.
+#
+
+let $my_where = WHERE table_schema = 'mysql';
+--source suite/funcs_1/datadict/columns.inc
diff --git a/mysql-test/suite/funcs_1/t/is_columns_ndb.test b/mysql-test/suite/funcs_1/t/is_columns_ndb.test
new file mode 100644
index 00000000000..960e5f079bb
--- /dev/null
+++ b/mysql-test/suite/funcs_1/t/is_columns_ndb.test
@@ -0,0 +1,33 @@
+# 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.
+#
+
+--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.test b/mysql-test/suite/funcs_1/t/is_engines.test
new file mode 100644
index 00000000000..4c6283595f5
--- /dev/null
+++ b/mysql-test/suite/funcs_1/t/is_engines.test
@@ -0,0 +1,126 @@
+# suite/funcs_1/t/is_engines.test
+#
+# Check the layout of information_schema.engines
+#
+# Note:
+# This test is not intended
+# - to show information about the all time existing tables
+# within the databases information_schema and mysql
+# - for checking storage engine properties
+# Therefore please do not alter $engine_type and $other_engine_type.
+# Some results of the subtests depend on the storage engines assigned.
+#
+# Author:
+# 2008-02-29 mleich WL#4203 Reorganize and fix the data dictionary tests of
+# testsuite funcs_1
+#
+
+# --source suite/funcs_1/datadict/datadict.pre
+
+let $engine_type = MEMORY;
+let $other_engine_type = MyISAM;
+
+let $is_table = ENGINES;
+
+# The table INFORMATION_SCHEMA.ENGINES must exist
+eval SHOW TABLES FROM information_schema LIKE '$is_table';
+
+--echo #######################################################################
+--echo # Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT
+--echo #######################################################################
+# Ensure that every INFORMATION_SCHEMA table can be queried with a SELECT
+# statement, just as if it were an ordinary user-defined table.
+#
+--source suite/funcs_1/datadict/is_table_query.inc
+
+
+--echo #########################################################################
+--echo # Testcase 3.2.12.1: INFORMATION_SCHEMA.ENGINES layout
+--echo #########################################################################
+# Ensure that the INFORMATION_SCHEMA.ENGINES table has the following columns,
+# in the following order:
+#
+# ENGINE
+# SUPPORT
+# COMMENT
+# TRANSACTIONS
+# XA
+# SAVEPOINTS
+#
+# Value Meaning
+# YES The feature is supported and is active.
+# NO The feature is not supported = The server was compiled without
+# support for the feature.
+# DISABLED The feature is supported but has been disabled.
+#
+eval DESCRIBE information_schema.$is_table;
+eval SHOW CREATE TABLE information_schema.$is_table;
+eval SHOW COLUMNS FROM information_schema.$is_table;
+
+# Note: Retrieval of information within information_schema.columns about
+# information_schema.engines is in is_columns_is.test.
+
+# FIXME: Check the regression tests and implement tests checking the
+# functionality if missing.
+
+
+--echo ########################################################################
+--echo # Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and
+--echo # DDL on INFORMATION_SCHEMA tables are not supported
+--echo ########################################################################
+# 3.2.1.3: Ensure that no user may execute an INSERT statement on any
+# INFORMATION_SCHEMA table.
+# 3.2.1.4: Ensure that no user may execute an UPDATE statement on any
+# INFORMATION_SCHEMA table.
+# 3.2.1.5: Ensure that no user may execute a DELETE statement on any
+# INFORMATION_SCHEMA table.
+# 3.2.1.8: Ensure that no user may create an index on an
+# INFORMATION_SCHEMA table.
+# 3.2.1.9: Ensure that no user may alter the definition of an
+# INFORMATION_SCHEMA table.
+# 3.2.1.10: Ensure that no user may drop an INFORMATION_SCHEMA table.
+# 3.2.1.11: Ensure that no user may move an INFORMATION_SCHEMA table to any
+# other database.
+# 3.2.1.12: Ensure that no user may directly add to, alter, or delete any data
+# in an INFORMATION_SCHEMA table.
+#
+--disable_warnings
+DROP DATABASE IF EXISTS db_datadict;
+--enable_warnings
+CREATE DATABASE db_datadict;
+--replace_result $engine_type <engine_type>
+eval
+CREATE TABLE db_datadict.t1 (f1 BIGINT)
+ENGINE = $engine_type;
+
+--error ER_DBACCESS_DENIED_ERROR
+INSERT INTO information_schema.engines
+SELECT * FROM information_schema.engines;
+
+--error ER_DBACCESS_DENIED_ERROR
+UPDATE information_schema.engines SET engine = '1234567';
+
+--error ER_DBACCESS_DENIED_ERROR
+DELETE FROM information_schema.engines WHERE support IN ('DEFAULT','YES');
+--error ER_DBACCESS_DENIED_ERROR
+TRUNCATE information_schema.engines;
+
+--error ER_DBACCESS_DENIED_ERROR
+CREATE INDEX my_idx_on_engines ON information_schema.engines(engine);
+
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.engines DROP PRIMARY KEY;
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.engines ADD f1 INT;
+
+--error ER_DBACCESS_DENIED_ERROR
+DROP TABLE information_schema.engines;
+
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.engines RENAME db_datadict.engines;
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.engines RENAME information_schema.xengines;
+
+# Cleanup
+DROP DATABASE db_datadict;
+
diff --git a/mysql-test/suite/funcs_1/t/is_engines_archive.test b/mysql-test/suite/funcs_1/t/is_engines_archive.test
new file mode 100644
index 00000000000..b34433b6b65
--- /dev/null
+++ b/mysql-test/suite/funcs_1/t/is_engines_archive.test
@@ -0,0 +1,15 @@
+# suite/funcs_1/t/is_engines_archive.test
+#
+# Check the content of information_schema.engines
+# Variant for storage engine ARCHIVE
+#
+# Author:
+# 2008-01-23 mleich WL#4203 Reorganize and fix the data dictionary tests of
+# testsuite funcs_1
+#
+
+let $engine_type= ARCHIVE;
+--source include/have_archive.inc
+--vertical_results
+eval SELECT * FROM information_schema.engines
+WHERE ENGINE = '$engine_type';
diff --git a/mysql-test/suite/funcs_1/t/is_engines_blackhole.test b/mysql-test/suite/funcs_1/t/is_engines_blackhole.test
new file mode 100644
index 00000000000..dd7ed885065
--- /dev/null
+++ b/mysql-test/suite/funcs_1/t/is_engines_blackhole.test
@@ -0,0 +1,15 @@
+# suite/funcs_1/t/is_engines_blackhole.test
+#
+# Check the content of information_schema.engines
+# Variant for storage engine BLACKHOLE
+#
+# Author:
+# 2008-01-23 mleich WL#4203 Reorganize and fix the data dictionary tests of
+# testsuite funcs_1
+#
+
+let $engine_type= BLACKHOLE;
+--source include/have_blackhole.inc
+--vertical_results
+eval SELECT * FROM information_schema.engines
+WHERE ENGINE = '$engine_type';
diff --git a/mysql-test/suite/funcs_1/t/is_engines_csv.test b/mysql-test/suite/funcs_1/t/is_engines_csv.test
new file mode 100644
index 00000000000..c087cd22869
--- /dev/null
+++ b/mysql-test/suite/funcs_1/t/is_engines_csv.test
@@ -0,0 +1,15 @@
+# suite/funcs_1/t/is_engines_csv.test
+#
+# Check the content of information_schema.engines
+# Variant for storage engine CSV
+#
+# Author:
+# 2008-01-23 mleich WL#4203 Reorganize and fix the data dictionary tests of
+# testsuite funcs_1
+#
+
+let $engine_type= CSV;
+--source include/have_csv.inc
+--vertical_results
+eval SELECT * FROM information_schema.engines
+WHERE ENGINE = '$engine_type';
diff --git a/mysql-test/suite/funcs_1/t/is_engines_federated.test b/mysql-test/suite/funcs_1/t/is_engines_federated.test
new file mode 100644
index 00000000000..a15a1bafdbc
--- /dev/null
+++ b/mysql-test/suite/funcs_1/t/is_engines_federated.test
@@ -0,0 +1,15 @@
+# suite/funcs_1/t/is_engines_federated.test
+#
+# Check the content of information_schema.engines
+# Variant for storage engine FEDERATED
+#
+# Author:
+# 2008-01-23 mleich WL#4203 Reorganize and fix the data dictionary tests of
+# testsuite funcs_1
+#
+
+let $engine_type= FEDERATED;
+--source include/have_federated_db.inc
+--vertical_results
+eval SELECT * FROM information_schema.engines
+WHERE ENGINE = '$engine_type';
diff --git a/mysql-test/suite/funcs_1/t/is_engines_innodb.test b/mysql-test/suite/funcs_1/t/is_engines_innodb.test
new file mode 100644
index 00000000000..6c20b9697f0
--- /dev/null
+++ b/mysql-test/suite/funcs_1/t/is_engines_innodb.test
@@ -0,0 +1,15 @@
+# suite/funcs_1/t/is_engines_innodb.test
+#
+# Check the content of information_schema.engines
+# Variant for storage engine InnoDB
+#
+# Author:
+# 2008-01-23 mleich WL#4203 Reorganize and fix the data dictionary tests of
+# testsuite funcs_1
+#
+
+let $engine_type= InnoDB;
+--source include/have_innodb.inc
+--vertical_results
+eval SELECT * FROM information_schema.engines
+WHERE ENGINE = '$engine_type';
diff --git a/mysql-test/suite/funcs_1/t/is_engines_memory.test b/mysql-test/suite/funcs_1/t/is_engines_memory.test
new file mode 100644
index 00000000000..c9e24958ec6
--- /dev/null
+++ b/mysql-test/suite/funcs_1/t/is_engines_memory.test
@@ -0,0 +1,14 @@
+# suite/funcs_1/t/is_engines_memory.test
+#
+# Check the content of information_schema.engines
+# Variant for storage engine MEMORY
+#
+# Author:
+# 2008-01-23 mleich WL#4203 Reorganize and fix the data dictionary tests of
+# testsuite funcs_1
+#
+
+let $engine_type= MEMORY;
+--vertical_results
+eval SELECT * FROM information_schema.engines
+WHERE ENGINE = '$engine_type';
diff --git a/mysql-test/suite/funcs_1/t/is_engines_merge.test b/mysql-test/suite/funcs_1/t/is_engines_merge.test
new file mode 100644
index 00000000000..45755860041
--- /dev/null
+++ b/mysql-test/suite/funcs_1/t/is_engines_merge.test
@@ -0,0 +1,14 @@
+# suite/funcs_1/t/is_engines_innodb.test
+#
+# Check the content of information_schema.engines
+# Variant for storage engine InnoDB
+#
+# Author:
+# 2008-01-23 mleich WL#4203 Reorganize and fix the data dictionary tests of
+# testsuite funcs_1
+#
+
+let $engine_type= MRG_MYISAM;
+--vertical_results
+eval SELECT * FROM information_schema.engines
+WHERE ENGINE = '$engine_type';
diff --git a/mysql-test/suite/funcs_1/t/is_engines_myisam.test b/mysql-test/suite/funcs_1/t/is_engines_myisam.test
new file mode 100644
index 00000000000..d7e9a28b7bc
--- /dev/null
+++ b/mysql-test/suite/funcs_1/t/is_engines_myisam.test
@@ -0,0 +1,14 @@
+# suite/funcs_1/t/is_tables_myisam.test
+#
+# Check the content of information_schema.engines
+# Variant for storage engine MyISAM
+#
+# Author:
+# 2008-01-23 mleich WL#4203 Reorganize and fix the data dictionary tests of
+# testsuite funcs_1
+#
+
+let $engine_type= MyISAM;
+--vertical_results
+eval SELECT * FROM information_schema.engines
+WHERE ENGINE = '$engine_type';
diff --git a/mysql-test/suite/funcs_1/t/is_engines_ndb.test b/mysql-test/suite/funcs_1/t/is_engines_ndb.test
new file mode 100644
index 00000000000..bf9af8510a8
--- /dev/null
+++ b/mysql-test/suite/funcs_1/t/is_engines_ndb.test
@@ -0,0 +1,15 @@
+# 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_events.test b/mysql-test/suite/funcs_1/t/is_events.test
new file mode 100644
index 00000000000..0136b86118a
--- /dev/null
+++ b/mysql-test/suite/funcs_1/t/is_events.test
@@ -0,0 +1,169 @@
+# suite/funcs_1/t/is_events.test
+#
+# Check the layout of information_schema.events and some functionality of it.
+#
+# This test is not intended for checking storage engine properties
+# Therefore please do not alter $engine_type and $other_engine_type.
+#
+# Author:
+# 2008-02-29 mleich WL#4203 Reorganize and fix the data dictionary tests of
+# testsuite funcs_1
+#
+
+# --source suite/funcs_1/datadict/datadict.pre
+
+let $engine_type = MEMORY;
+let $other_engine_type = MyISAM;
+
+let $is_table = EVENTS;
+
+# The table INFORMATION_SCHEMA.EVENTS must exist
+eval SHOW TABLES FROM information_schema LIKE '$is_table';
+
+--echo #######################################################################
+--echo # Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT
+--echo #######################################################################
+# Ensure that every INFORMATION_SCHEMA table can be queried with a SELECT
+# statement, just as if it were an ordinary user-defined table.
+#
+--source suite/funcs_1/datadict/is_table_query.inc
+
+
+--echo #########################################################################
+--echo # Testcase 3.2.12.1: INFORMATION_SCHEMA.EVENTS layout
+--echo #########################################################################
+# Ensure that the INFORMATION_SCHEMA.EVENTS table has the following columns,
+# in the following order:
+#
+# EVENT_CATALOG always NULL
+# EVENT_SCHEMA The name of the schema (database) to which this
+# event belongs.
+# EVENT_NAME The name of the event.
+# DEFINER The user who created the event.
+# 'user_name'@'host_name' format!
+# TIME_ZONE The time zone in effect when schedule for the event was
+# last modified
+# EVENT_BODY The language used for the statements in the event's
+# DO clause. (always SQL)
+# EVENT_DEFINITION The text of the SQL statement making up the event's
+# DO clause.
+# EVENT_TYPE One of the two values ONE TIME or RECURRING.
+# EXECUTE_AT one-time event: DATETIME value specified in the AT clause
+# of the CREATE EVENT statement used to
+# create the event
+# or of the last ALTER EVENT statement that modified
+# the event.
+# INTERVAL_VALUE recurring events; numeric portion of the event's
+# EVERY clause.
+# INTERVAL_FIELD recurring events: units portion of the EVERY clause
+# governing the timing of the event, prefixed with
+# 'INTERVAL_'. Example: 'INTERVAL_DAY'
+# SQL_MODE The SQL mode in effect at the time the event was created
+# or altered.
+# STARTS For recurring event whose definition includes a STARTS
+# clause, this column contains the corresponding
+# DATETIME value. If there is no STARTS clause affecting
+# the timing of the event, this column is empty.
+# ENDS For a recurring event whose definition includes a ENDS
+# clause, this column contains the corresponding DATETIME
+# value. If there is no ENDS clause affecting the timing
+# of the event, this column contains NULL.
+# STATUS ENABLED, DISABLED or SLAVESIDE_DISABLED
+# ON_COMPLETION PRESERVE or NOT PRESERVE.
+# CREATED Date and time of event creation
+# LAST_ALTERED Date and time of the last event modification
+# never modified -> value = CREATED
+# LAST_EXECUTED Date and time of start of last event execution
+# never executed -> value IS NULL.
+# EVENT_COMMENT The text of a comment. Default: empty string.
+# ORIGINATOR The server ID of the MySQL server on which the event was
+# created; used in replication. Default: 0
+# CHARACTER_SET_CLIENT Session value of the character_set_client system variable
+# when the event was created.
+# COLLATION_CONNECTION Session value of the collation_connection system
+# variable when the event was created.
+# DATABASE_COLLATION Collation of the database with which the event
+# is associated.
+#
+eval DESCRIBE information_schema.$is_table;
+eval SHOW CREATE TABLE information_schema.$is_table;
+eval SHOW COLUMNS FROM information_schema.$is_table;
+
+# Note: Retrieval of information within information_schema.columns about
+# information_schema.events is in is_columns_is.test.
+
+# Check event_catalog event_body, event_type, event_type, status, on_completion
+SELECT event_catalog, event_name, event_body, event_type, event_type,
+ status, on_completion
+FROM information_schema.events
+WHERE event_catalog IS NOT NULL or
+ event_body NOT IN ('SQL') or
+ event_type NOT IN ('ONE TIME','RECURRING') or
+ status NOT IN ('ENABLED','DISABLED','SLAVESIDE_DISABLED') or
+ on_completion NOT IN ('PRESERVE','NOT PRESERVE');
+
+# FIXME: Check the regression tests and implement tests checking the
+# functionality if missing.
+
+
+--echo ########################################################################
+--echo # Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and
+--echo # DDL on INFORMATION_SCHEMA tables are not supported
+--echo ########################################################################
+# 3.2.1.3: Ensure that no user may execute an INSERT statement on any
+# INFORMATION_SCHEMA table.
+# 3.2.1.4: Ensure that no user may execute an UPDATE statement on any
+# INFORMATION_SCHEMA table.
+# 3.2.1.5: Ensure that no user may execute a DELETE statement on any
+# INFORMATION_SCHEMA table.
+# 3.2.1.8: Ensure that no user may create an index on an
+# INFORMATION_SCHEMA table.
+# 3.2.1.9: Ensure that no user may alter the definition of an
+# INFORMATION_SCHEMA table.
+# 3.2.1.10: Ensure that no user may drop an INFORMATION_SCHEMA table.
+# 3.2.1.11: Ensure that no user may move an INFORMATION_SCHEMA table to any
+# other database.
+# 3.2.1.12: Ensure that no user may directly add to, alter, or delete any data
+# in an INFORMATION_SCHEMA table.
+#
+--disable_warnings
+DROP DATABASE IF EXISTS db_datadict;
+--enable_warnings
+CREATE DATABASE db_datadict;
+--replace_result $engine_type <engine_type>
+eval
+CREATE TABLE db_datadict.t1 (f1 BIGINT)
+ENGINE = $engine_type;
+
+--error ER_DBACCESS_DENIED_ERROR
+INSERT INTO information_schema.events
+SELECT * FROM information_schema.events;
+
+--error ER_DBACCESS_DENIED_ERROR
+UPDATE information_schema.events SET event_name = '1234567'
+WHERE table_name = 't1';
+
+--error ER_DBACCESS_DENIED_ERROR
+DELETE FROM information_schema.events WHERE event_catalog IS NULL;
+--error ER_DBACCESS_DENIED_ERROR
+TRUNCATE information_schema.events;
+
+--error ER_DBACCESS_DENIED_ERROR
+CREATE INDEX my_idx_on_events ON information_schema.events(event_name);
+
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.events DROP PRIMARY KEY;
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.events ADD f1 INT;
+
+--error ER_DBACCESS_DENIED_ERROR
+DROP TABLE information_schema.events;
+
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.events RENAME db_datadict.events;
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.events RENAME information_schema.xevents;
+
+# Cleanup
+DROP DATABASE db_datadict;
+
diff --git a/mysql-test/suite/funcs_1/t/is_key_column_usage.test b/mysql-test/suite/funcs_1/t/is_key_column_usage.test
new file mode 100644
index 00000000000..219277c8645
--- /dev/null
+++ b/mysql-test/suite/funcs_1/t/is_key_column_usage.test
@@ -0,0 +1,344 @@
+# suite/funcs_1/t/is_key_column_usage.test
+#
+# Check the layout of information_schema.key_column_usage and the impact of
+# CREATE/ALTER/DROP TABLE/VIEW/SCHEMA/COLUMN ... on it.
+#
+# Note:
+# This test is not intended
+# - to show information about the all time existing tables
+# within the databases information_schema and mysql
+# - for checking storage engine properties
+# Therefore please do not alter $engine_type and $other_engine_type.
+#
+# 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.
+#
+
+# --source suite/funcs_1/datadict/datadict.pre
+
+let $engine_type = MEMORY;
+# let $other_engine_type = MyISAM;
+
+let $is_table = KEY_COLUMN_USAGE;
+
+# The table INFORMATION_SCHEMA.KEY_COLUMN_USAGE must exist
+eval SHOW TABLES FROM information_schema LIKE '$is_table';
+
+--echo #######################################################################
+--echo # Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT
+--echo #######################################################################
+# Ensure that every INFORMATION_SCHEMA table can be queried with a SELECT
+# statement, just as if it were an ordinary user-defined table.
+#
+--source suite/funcs_1/datadict/is_table_query.inc
+
+
+--echo #########################################################################
+--echo # Testcase 3.2.7.1: INFORMATION_SCHEMA.KEY_COLUMN_USAGE layout
+--echo #########################################################################
+# Ensure that the INFORMATION_SCHEMA.KEY_COLUMN_USAGE table has the following
+# columns, in the following order:
+#
+# CONSTRAINT_CATALOG (always shows NULL),
+# CONSTRAINT_SCHEMA (shows the database, or schema, in which an accessible
+# constraint, or index, resides),
+# CONSTRAINT_NAME (shows the name of the accessible constraint),
+# TABLE_CATALOG (always shows NULL),
+# TABLE_SCHEMA (shows the database, or schema, in which the table constrained
+# by that constraint resides),
+# TABLE_NAME (shows the name of the table constrained by the constraint),
+# COLUMN_NAME (shows the name of a column that is the index key, or part of
+# the index key),
+# ORDINAL_POSITION (shows the ordinal position of the column within the
+# constraint index),
+# POSITION_IN_UNIQUE_CONSTRAINT (shows, for a foreign key column, the ordinal
+# position of the referenced column within the referenced unique index;
+# otherwise NULL).
+# added with 5.0.6:
+# REFERENCED_TABLE_SCHEMA,
+# REFERENCED_TABLE_NAME,
+# REFERENCED_COLUMN_NAME
+#
+--source suite/funcs_1/datadict/datadict_bug_12777.inc
+eval DESCRIBE information_schema.$is_table;
+--source suite/funcs_1/datadict/datadict_bug_12777.inc
+eval SHOW CREATE TABLE information_schema.$is_table;
+--source suite/funcs_1/datadict/datadict_bug_12777.inc
+eval SHOW COLUMNS FROM information_schema.$is_table;
+
+# Note: Retrieval of information within information_schema.columns about
+# information_schema.key_column_usage is in is_columns_is.test.
+
+# Show that CONSTRAINT_CATALOG and TABLE_CATALOG are always NULL.
+SELECT constraint_catalog, constraint_schema, constraint_name, table_catalog,
+ table_schema, table_name, column_name
+FROM information_schema.key_column_usage
+WHERE constraint_catalog IS NOT NULL OR table_catalog IS NOT NULL;
+
+
+--echo ########################################################################################
+--echo # Testcase 3.2.7.2 + 3.2.7.3: INFORMATION_SCHEMA.KEY_COLUMN_USAGE accessible information
+--echo ########################################################################################
+# 3.2.7.2: Ensure that the table shows the relevant information on every column, defined to
+# be part of an index key, which is accessible to the current user or to PUBLIC.
+# 3.2.7.3: Ensure that the table does not show any information on any indexed column that is
+# not accessible to the current user or PUBLIC.
+#
+--disable_warnings
+DROP DATABASE IF EXISTS db_datadict;
+--enable_warnings
+CREATE DATABASE db_datadict;
+
+--error 0,ER_CANNOT_USER
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+--error 0,ER_CANNOT_USER
+DROP USER 'testuser2'@'localhost';
+CREATE USER 'testuser2'@'localhost';
+
+USE db_datadict;
+
+--replace_result $engine_type <engine_type>
+eval
+CREATE TABLE t1_1
+ (f1 INT NOT NULL, PRIMARY KEY(f1),
+ f2 INT, INDEX f2_ind(f2))
+ENGINE = $engine_type;
+GRANT SELECT ON t1_1 to 'testuser1'@'localhost';
+
+--replace_result $engine_type <engine_type>
+eval
+CREATE TABLE t1_2
+ (f1 INT NOT NULL, PRIMARY KEY(f1),
+ f2 INT, INDEX f2_ind(f2))
+ENGINE = $engine_type;
+GRANT SELECT ON t1_2 to 'testuser2'@'localhost';
+#FIXME: add foreign keys
+
+let $select= SELECT * FROM information_schema.key_column_usage
+WHERE table_name LIKE 't1_%'
+ORDER BY constraint_catalog, constraint_schema, constraint_name,
+ table_catalog, table_schema, table_name, ordinal_position;
+
+# show view of user root
+eval $select;
+
+--echo # Establish connection testuser1 (user=testuser1)
+--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
+connect (testuser1, localhost, testuser1, , db_datadict);
+eval $select;
+
+--echo # Establish connection testuser2 (user=testuser2)
+--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
+connect (testuser2, localhost, testuser2, , db_datadict);
+eval $select;
+
+# Cleanup
+--echo # Switch to connection default and close connections testuser1, testuser2
+connection default;
+disconnect testuser1;
+disconnect testuser2;
+DROP USER 'testuser1'@'localhost';
+DROP USER 'testuser2'@'localhost';
+DROP TABLE t1_1;
+DROP TABLE t1_2;
+DROP DATABASE IF EXISTS db_datadict;
+
+
+--echo ########################################################################################
+--echo # Testcase 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.KEY_COLUMN_USAGE modifications
+--echo ########################################################################################
+# 3.2.1.13: Ensure that the creation of any new database object (e.g. table or
+# column) automatically inserts all relevant information on that
+# object into every appropriate INFORMATION_SCHEMA table.
+# 3.2.1.14: Ensure that the alteration of any existing database object
+# automatically updates all relevant information on that object in
+# every appropriate INFORMATION_SCHEMA table.
+# 3.2.1.15: Ensure that the dropping of any existing database object
+# automatically deletes all relevant information on that object from
+# every appropriate INFORMATION_SCHEMA table.
+#
+--disable_warnings
+DROP DATABASE IF EXISTS db_datadict;
+DROP TABLE IF EXISTS test.t1_my_table;
+--enable_warnings
+CREATE DATABASE db_datadict;
+
+SELECT table_name FROM information_schema.key_column_usage
+WHERE table_name LIKE 't1_my_table%';
+--replace_result $engine_type <engine_type>
+eval
+CREATE TABLE test.t1_my_table
+ (f1 CHAR(12), f2 TIMESTAMP, f4 BIGINT, PRIMARY KEY(f1,f2))
+DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci
+ENGINE = $engine_type;
+# Settings used in CREATE TABLE must be visible
+# in information_schema.key_column_usage.
+--vertical_results
+SELECT * FROM information_schema.key_column_usage
+WHERE table_name = 't1_my_table';
+--horizontal_results
+#
+# Check modification of TABLE_NAME
+SELECT DISTINCT table_name FROM information_schema.key_column_usage
+WHERE table_name LIKE 't1_my_table%';
+RENAME TABLE test.t1_my_table TO test.t1_my_tablex;
+SELECT DISTINCT table_name FROM information_schema.key_column_usage
+WHERE table_name LIKE 't1_my_table%';
+#
+# Check modification of TABLE_SCHEMA
+SELECT DISTINCT table_schema,table_name FROM information_schema.key_column_usage
+WHERE table_name = 't1_my_tablex';
+RENAME TABLE test.t1_my_tablex TO db_datadict.t1_my_tablex;
+SELECT DISTINCT table_schema,table_name FROM information_schema.key_column_usage
+WHERE table_name = 't1_my_tablex';
+#
+# Check modification of COLUMN_NAME
+SELECT DISTINCT table_name, column_name FROM information_schema.key_column_usage
+WHERE table_name = 't1_my_tablex'
+ORDER BY table_name, column_name;
+ALTER TABLE db_datadict.t1_my_tablex CHANGE COLUMN f1 first_col CHAR(12);
+SELECT DISTINCT table_name, column_name FROM information_schema.key_column_usage
+WHERE table_name = 't1_my_tablex'
+ORDER BY table_name, column_name;
+#
+# Note: The size of the column list and the not very selective qualification
+# is intended. I want to see that the schema names are equal and
+# all records about 't1_my_tablex'.
+let $my_select = SELECT constraint_schema, constraint_name, table_schema,
+table_name, column_name, ordinal_position
+FROM information_schema.key_column_usage
+WHERE table_name = 't1_my_tablex'
+ORDER BY constraint_schema, constraint_name, table_schema,
+ table_name, ordinal_position;
+#
+# Check ADD INDEX being not UNIQUE (does not show up in key_column_usage)
+eval $my_select;
+CREATE INDEX f2 ON db_datadict.t1_my_tablex(f2);
+eval $my_select;
+DROP INDEX f2 ON db_datadict.t1_my_tablex;
+#
+# Check ADD UNIQUE INDEX without name explicit assigned
+eval $my_select;
+ALTER TABLE db_datadict.t1_my_tablex ADD UNIQUE (f2);
+eval $my_select;
+DROP INDEX f2 ON db_datadict.t1_my_tablex;
+#
+# Check ADD UNIQUE INDEX with name explicit assigned
+eval $my_select;
+ALTER TABLE db_datadict.t1_my_tablex ADD UNIQUE my_idx (f2);
+eval $my_select;
+DROP INDEX my_idx ON db_datadict.t1_my_tablex;
+eval $my_select;
+ALTER TABLE db_datadict.t1_my_tablex ADD UNIQUE my_idx (f4,first_col);
+eval $my_select;
+#
+# Check DROP COLUMN
+eval $my_select;
+ALTER TABLE db_datadict.t1_my_tablex
+DROP COLUMN first_col;
+eval $my_select;
+#
+# Check impact of DROP TABLE
+SELECT table_name, column_name
+FROM information_schema.key_column_usage
+WHERE table_name = 't1_my_tablex'
+ORDER BY table_name, column_name;
+DROP TABLE db_datadict.t1_my_tablex;
+SELECT table_name, column_name
+FROM information_schema.key_column_usage
+WHERE table_name = 't1_my_tablex';
+#
+# No UNIQUE CONSTRAINT -> no entry in key_column_usage
+SELECT table_name FROM information_schema.key_column_usage
+WHERE table_name = 't1_my_tablex';
+--replace_result $engine_type <engine_type>
+eval
+CREATE TABLE db_datadict.t1_my_tablex
+ENGINE = $engine_type AS
+SELECT 1 AS f1;
+SELECT table_name FROM information_schema.key_column_usage
+WHERE table_name = 't1_my_tablex';
+# UNIQUE CONSTRAINT -> entry in key_column_usage
+ALTER TABLE db_datadict.t1_my_tablex ADD PRIMARY KEY(f1);
+SELECT table_name FROM information_schema.key_column_usage
+WHERE table_name = 't1_my_tablex';
+#
+# Check impact of DROP SCHEMA
+SELECT table_name FROM information_schema.key_column_usage
+WHERE table_name = 't1_my_tablex';
+DROP DATABASE db_datadict;
+SELECT table_name FROM information_schema.key_column_usage
+WHERE table_name = 't1_my_tablex';
+#
+
+
+--echo ########################################################################
+--echo # Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and
+--echo # DDL on INFORMATION_SCHEMA table are not supported
+--echo ########################################################################
+# 3.2.1.3: Ensure that no user may execute an INSERT statement on any
+# INFORMATION_SCHEMA table.
+# 3.2.1.4: Ensure that no user may execute an UPDATE statement on any
+# INFORMATION_SCHEMA table.
+# 3.2.1.5: Ensure that no user may execute a DELETE statement on any
+# INFORMATION_SCHEMA table.
+# 3.2.1.8: Ensure that no user may create an index on an
+# INFORMATION_SCHEMA table.
+# 3.2.1.9: Ensure that no user may alter the definition of an
+# INFORMATION_SCHEMA table.
+# 3.2.1.10: Ensure that no user may drop an INFORMATION_SCHEMA table.
+# 3.2.1.11: Ensure that no user may move an INFORMATION_SCHEMA table to any
+# other database.
+# 3.2.1.12: Ensure that no user may directly add to, alter, or delete any data
+# in an INFORMATION_SCHEMA table.
+#
+--disable_warnings
+DROP DATABASE IF EXISTS db_datadict;
+DROP TABLE IF EXISTS db_datadict.t1;
+--enable_warnings
+CREATE DATABASE db_datadict;
+--replace_result $engine_type <engine_type>
+eval
+CREATE TABLE db_datadict.t1 (f1 BIGINT)
+ENGINE = $engine_type;
+
+--error ER_DBACCESS_DENIED_ERROR
+INSERT INTO information_schema.key_column_usage
+ (constraint_schema, constraint_name, table_name)
+VALUES ( 'mysql', 'primary', 'db');
+--error ER_DBACCESS_DENIED_ERROR
+INSERT INTO information_schema.key_column_usage
+SELECT * FROM information_schema.key_column_usage;
+
+--error ER_DBACCESS_DENIED_ERROR
+UPDATE information_schema.key_column_usage
+SET table_name = 'db1' WHERE constraint_name = 'primary';
+
+--error ER_DBACCESS_DENIED_ERROR
+DELETE FROM information_schema.key_column_usage WHERE table_name = 't1';
+--error ER_DBACCESS_DENIED_ERROR
+TRUNCATE information_schema.key_column_usage;
+
+--error ER_DBACCESS_DENIED_ERROR
+CREATE INDEX i3 ON information_schema.key_column_usage(table_name);
+
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.key_column_usage ADD f1 INT;
+
+--error ER_DBACCESS_DENIED_ERROR
+DROP TABLE information_schema.key_column_usage;
+
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.key_column_usage
+RENAME db_datadict.key_column_usage;
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.key_column_usage
+RENAME information_schema.xkey_column_usage;
+
+# Cleanup
+DROP TABLE db_datadict.t1;
+DROP DATABASE db_datadict;
+
diff --git a/mysql-test/suite/funcs_1/t/is_routines.test b/mysql-test/suite/funcs_1/t/is_routines.test
new file mode 100644
index 00000000000..fc23bf1da2c
--- /dev/null
+++ b/mysql-test/suite/funcs_1/t/is_routines.test
@@ -0,0 +1,475 @@
+# suite/funcs_1/t/is_routines.test
+#
+# Check the layout of information_schema.routines and the impact of
+# CREATE/ALTER/DROP PROCEDURE/FUNCTION ... on it.
+#
+# Note:
+# This test is not intended
+# - to show information about the all time existing routines (there are no
+# in the moment) within the databases information_schema and mysql
+# - for checking storage engine properties
+# Therefore please do not alter $engine_type and $other_engine_type.
+#
+# 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.
+#
+
+# --source suite/funcs_1/datadict/datadict.pre
+
+let $engine_type = MEMORY;
+let $other_engine_type = MyISAM;
+
+let $is_table = ROUTINES;
+
+# The table INFORMATION_SCHEMA.TABLES must exist
+eval SHOW TABLES FROM information_schema LIKE '$is_table';
+
+--echo #######################################################################
+--echo # Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT
+--echo #######################################################################
+# Ensure that every INFORMATION_SCHEMA table can be queried with a SELECT
+# statement, just as if it were an ordinary user-defined table.
+#
+--source suite/funcs_1/datadict/is_table_query.inc
+
+
+--echo #########################################################################
+--echo # Testcase 3.2.8.1: INFORMATION_SCHEMA.ROUTINES layout
+--echo #########################################################################
+# Ensure that the INFORMATION_SCHEMA.ROUTINES table has the following columns,
+# in the following order:
+#
+# SPECIFIC_NAME (shows the name of an accessible stored procedure, or routine),
+# ROUTINE_CATALOG (always shows NULL),
+# ROUTINE_SCHEMA (shows the database, or schema, in which the routine resides),
+# ROUTINE_NAME (shows the same stored procedure name),
+# ROUTINE_TYPE (shows whether the stored procedure is a procedure or a function),
+# DTD_IDENTIFIER (shows, for a function, the complete data type definition of
+# the value the function will return; otherwise NULL),
+# ROUTINE_BODY (shows the language in which the stored procedure is written;
+# currently always SQL),
+# ROUTINE_DEFINITION (shows as much of the routine body as is possible in the
+# allotted space),
+# EXTERNAL_NAME (always shows NULL),
+# EXTERNAL_LANGUAGE (always shows NULL),
+# PARAMETER_STYLE (shows the routine's parameter style; always SQL),
+# IS_DETERMINISTIC (shows whether the routine is deterministic),
+# SQL_DATA_ACCESS (shows the routine's defined sql-data-access clause value),
+# SQL_PATH (always shows NULL),
+# SECURITY_TYPE (shows whether the routine's defined security_type is 'definer'
+# or 'invoker'),
+# CREATED (shows the timestamp of the time the routine was created),
+# LAST_ALTERED (shows the timestamp of the time the routine was last altered),
+# SQL_MODE (shows the sql_mode setting at the time the routine was created),
+# ROUTINE_COMMENT (shows the comment, if any, defined for the routine;
+# otherwise NULL),
+# DEFINER (shows the user who created the routine).
+# Starting with MySQL 5.1
+# CHARACTER_SET_CLIENT
+# COLLATION_CONNECTION
+# DATABASE_COLLATION
+#
+--source suite/funcs_1/datadict/datadict_bug_12777.inc
+eval DESCRIBE information_schema.$is_table;
+--source suite/funcs_1/datadict/datadict_bug_12777.inc
+eval SHOW CREATE TABLE information_schema.$is_table;
+--source suite/funcs_1/datadict/datadict_bug_12777.inc
+eval SHOW COLUMNS FROM information_schema.$is_table;
+
+USE test;
+--disable_warnings
+DROP PROCEDURE IF EXISTS sp_for_routines;
+DROP FUNCTION IF EXISTS function_for_routines;
+--enable_warnings
+CREATE PROCEDURE sp_for_routines() SELECT 'db_datadict';
+CREATE FUNCTION function_for_routines() RETURNS INT RETURN 0;
+
+# Show that the column values of
+# ROUTINE_CATALOG, EXTERNAL_NAME, EXTERNAL_LANGUAGE, SQL_PATH are always NULL
+# and
+# ROUTINE_BODY, PARAMETER_STYLE are 'SQL'
+# and
+# SPECIFIC_NAME = ROUTINE_NAME.
+SELECT specific_name,routine_catalog,routine_schema,routine_name,routine_type,
+ routine_body,external_name,external_language,parameter_style,sql_path
+FROM information_schema.routines
+WHERE routine_catalog IS NOT NULL OR external_name IS NOT NULL
+ OR external_language IS NOT NULL OR sql_path IS NOT NULL
+ OR routine_body <> 'SQL' OR parameter_style <> 'SQL'
+ OR specific_name <> routine_name;
+
+DROP PROCEDURE sp_for_routines;
+DROP FUNCTION function_for_routines;
+
+
+--echo ################################################################################
+--echo # Testcase 3.2.8.2 + 3.2.8.3: INFORMATION_SCHEMA.ROUTINES accessible information
+--echo ################################################################################
+# 3.2.8.2: Ensure that the table shows the relevant information on every SQL-invoked
+# routine (i.e. stored procedure) which is accessible to the current user
+# or to PUBLIC.
+# 3.2.8.3: Ensure that the table does not show any information on any stored procedure
+# that is not accessible to the current user or PUBLIC.
+#
+--disable_warnings
+DROP DATABASE IF EXISTS db_datadict;
+DROP DATABASE IF EXISTS db_datadict_2;
+--enable_warnings
+
+CREATE DATABASE db_datadict;
+USE db_datadict;
+--replace_result $other_engine_type <other_engine_type>
+eval
+CREATE TABLE res_6_408002_1(f1 CHAR(3), f2 TEXT(25), f3 DATE, f4 INT)
+ENGINE = $other_engine_type;
+INSERT INTO res_6_408002_1(f1, f2, f3, f4)
+VALUES('abc', 'xyz', '1989-11-09', 0815);
+--disable_warnings
+DROP PROCEDURE IF EXISTS sp_6_408002_1;
+--enable_warnings
+delimiter //;
+CREATE PROCEDURE sp_6_408002_1()
+BEGIN
+ SELECT * FROM db_datadict.res_6_408002_1;
+END//
+delimiter ;//
+
+CREATE DATABASE db_datadict_2;
+USE db_datadict_2;
+--replace_result $other_engine_type <other_engine_type>
+eval
+CREATE TABLE res_6_408002_2(f1 CHAR(3), f2 TEXT(25), f3 DATE, f4 INT)
+ENGINE = $other_engine_type;
+INSERT INTO res_6_408002_2(f1, f2, f3, f4)
+VALUES('abc', 'xyz', '1990-10-03', 4711);
+--disable_warnings
+DROP PROCEDURE IF EXISTS sp_6_408002_2;
+--enable_warnings
+delimiter //;
+CREATE PROCEDURE sp_6_408002_2()
+BEGIN
+ SELECT * FROM db_datadict_2.res_6_408002_2;
+END//
+delimiter ;//
+
+--error 0,ER_CANNOT_USER
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+--error 0,ER_CANNOT_USER
+DROP USER 'testuser2'@'localhost';
+CREATE USER 'testuser2'@'localhost';
+--error 0,ER_CANNOT_USER
+DROP USER 'testuser3'@'localhost';
+CREATE USER 'testuser3'@'localhost';
+
+
+GRANT SELECT ON db_datadict_2.* TO 'testuser1'@'localhost';
+GRANT EXECUTE ON db_datadict_2.* TO 'testuser1'@'localhost';
+
+GRANT EXECUTE ON db_datadict.* TO 'testuser1'@'localhost';
+GRANT SELECT ON db_datadict.* TO 'testuser2'@'localhost';
+
+GRANT EXECUTE ON PROCEDURE db_datadict_2.sp_6_408002_2
+TO 'testuser2'@'localhost';
+GRANT EXECUTE ON db_datadict_2.* TO 'testuser2'@'localhost';
+FLUSH PRIVILEGES;
+
+--echo # Establish connection testuser1 (user=testuser1)
+--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
+connect (testuser1, localhost, testuser1, , db_datadict);
+--replace_column 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss"
+SELECT * FROM information_schema.routines;
+
+--echo # Establish connection testuser2 (user=testuser2)
+--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
+connect (testuser2, localhost, testuser2, , db_datadict);
+--replace_column 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss"
+SELECT * FROM information_schema.routines;
+
+--echo # Establish connection testuser3 (user=testuser3)
+--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
+connect (testuser3, localhost, testuser3, , test);
+--replace_column 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss"
+SELECT * FROM information_schema.routines;
+
+# Cleanup
+--echo # Switch to connection default and close connections testuser1,testuser2,testuser3
+connection default;
+disconnect testuser1;
+disconnect testuser2;
+disconnect testuser3;
+
+DROP USER 'testuser1'@'localhost';
+DROP USER 'testuser2'@'localhost';
+DROP USER 'testuser3'@'localhost';
+
+USE test;
+DROP DATABASE db_datadict;
+DROP DATABASE db_datadict_2;
+
+
+--echo #########################################################################
+--echo # 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.ROUTINES modifications
+--echo #########################################################################
+# 3.2.1.13: Ensure that the creation of any new database object (e.g. table or
+# column) automatically inserts all relevant information on that
+# object into every appropriate INFORMATION_SCHEMA table.
+# 3.2.1.14: Ensure that the alteration of any existing database object
+# automatically updates all relevant information on that object in
+# every appropriate INFORMATION_SCHEMA table.
+# 3.2.1.15: Ensure that the dropping of any existing database object
+# automatically deletes all relevant information on that object from
+# every appropriate INFORMATION_SCHEMA table.
+#
+# Some more tests are in t/information_schema_routines.test which exists
+# in MySQL 5.1 and up only.
+#
+--disable_warnings
+DROP DATABASE IF EXISTS db_datadict;
+--enable_warnings
+CREATE DATABASE db_datadict;
+
+SELECT * FROM information_schema.routines WHERE routine_schema = 'db_datadict';
+USE db_datadict;
+CREATE PROCEDURE sp_for_routines() SELECT 'db_datadict';
+CREATE FUNCTION function_for_routines() RETURNS INT RETURN 0;
+--vertical_results
+--replace_column 16 <created> 17 <modified>
+SELECT * FROM information_schema.routines WHERE routine_schema = 'db_datadict'
+ORDER BY routine_name;
+--horizontal_results
+
+ALTER PROCEDURE sp_for_routines SQL SECURITY INVOKER;
+ALTER FUNCTION function_for_routines COMMENT 'updated comments';
+--vertical_results
+--replace_column 16 <created> 17 <modified>
+SELECT * FROM information_schema.routines WHERE routine_schema = 'db_datadict'
+ORDER BY routine_name;
+--horizontal_results
+
+DROP PROCEDURE sp_for_routines;
+DROP FUNCTION function_for_routines;
+SELECT * FROM information_schema.routines WHERE routine_schema = 'db_datadict';
+
+CREATE PROCEDURE sp_for_routines() SELECT 'db_datadict';
+CREATE FUNCTION function_for_routines() RETURNS INT RETURN 0;
+--vertical_results
+--replace_column 16 <created> 17 <modified>
+SELECT * FROM information_schema.routines WHERE routine_schema = 'db_datadict'
+ORDER BY routine_name;
+--horizontal_results
+use test;
+DROP DATABASE db_datadict;
+SELECT * FROM information_schema.routines WHERE routine_schema = 'db_datadict';
+
+
+--echo #########################################################################
+--echo # 3.2.8.4: INFORMATION_SCHEMA.ROUTINES routine body too big for
+--echo # ROUTINE_DEFINITION column
+--echo #########################################################################
+# Ensure that a stored procedure with a routine body that is too large to fit
+# into the INFORMATION_SCHEMA.ROUTINES.ROUTINE_DEFINITION column correctly shows
+# as much of the information as is possible within the allotted size.
+#
+--disable_warnings
+DROP DATABASE IF EXISTS db_datadict;
+--enable_warnings
+CREATE DATABASE db_datadict;
+USE db_datadict;
+#
+--replace_result $other_engine_type <other_engine_type>
+eval
+CREATE TABLE db_datadict.res_6_408004_1
+ (f1 LONGTEXT , f2 MEDIUMINT , f3 LONGBLOB , f4 REAL , f5 YEAR)
+ENGINE = $other_engine_type;
+INSERT INTO db_datadict.res_6_408004_1
+VALUES ('abc', 98765 , 99999999 , 98765, 10);
+#
+--replace_result $other_engine_type <other_engine_type>
+eval
+CREATE TABLE db_datadict.res_6_408004_2
+ (f1 LONGTEXT , f2 MEDIUMINT , f3 LONGBLOB , f4 REAL , f5 YEAR)
+ENGINE = $other_engine_type;
+INSERT INTO db_datadict.res_6_408004_2
+VALUES ('abc', 98765 , 99999999 , 98765, 10);
+
+--echo # Checking the max. possible length of (currently) 4 GByte is not
+--echo # in this environment here.
+
+delimiter //;
+CREATE PROCEDURE sp_6_408004 ()
+BEGIN
+ DECLARE done INTEGER DEFAULt 0;
+ DECLARE variable_number_1 LONGTEXT;
+ DECLARE variable_number_2 MEDIUMINT;
+ DECLARE variable_number_3 LONGBLOB;
+ DECLARE variable_number_4 REAL;
+ DECLARE variable_number_5 YEAR;
+ DECLARE cursor_number_1 CURSOR FOR SELECT * FROM res_6_408004_1 LIMIT 0, 10;
+ DECLARE cursor_number_2 CURSOR FOR SELECT * FROM res_6_408004_1 LIMIT 0, 10;
+ DECLARE cursor_number_3 CURSOR FOR SELECT * FROM res_6_408004_1 LIMIT 0, 10;
+ DECLARE cursor_number_4 CURSOR FOR SELECT * FROM res_6_408004_1 LIMIT 0, 10;
+ DECLARE cursor_number_5 CURSOR FOR SELECT * FROM res_6_408004_1 LIMIT 0, 10;
+ DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
+ BEGIN
+ OPEN cursor_number_1;
+ WHILE done <> 1 DO
+ FETCH cursor_number_1
+ INTO variable_number_1, variable_number_2, variable_number_3,
+ variable_number_4, variable_number_5;
+ IF done <> 0 THEN
+ INSERT INTO res_6_408004_2
+ VALUES (variable_number_1, variable_number_2, variable_number_3,
+ variable_number_4, variable_number_5);
+ END IF;
+ END WHILE;
+ BEGIN
+ BEGIN
+ SET done = 0;
+ OPEN cursor_number_2;
+ WHILE done <> 1 DO
+ FETCH cursor_number_2
+ INTO variable_number_1, variable_number_2, variable_number_3,
+ variable_number_4, variable_number_5;
+ IF done <> 0 THEN
+ INSERT INTO res_6_408004_2
+ VALUES(variable_number_1, variable_number_2, variable_number_3,
+ variable_number_4, variable_number_5);
+ END IF;
+ END WHILE;
+ END;
+ SET done = 0;
+ OPEN cursor_number_3;
+ WHILE done <> 1 DO
+ FETCH cursor_number_3
+ INTO variable_number_1, variable_number_2, variable_number_3,
+ variable_number_4, variable_number_5;
+ IF done <> 0 THEN
+ INSERT INTO res_6_408004_2
+ VALUES(variable_number_1, variable_number_2, variable_number_3,
+ variable_number_4, variable_number_5);
+ END IF;
+ END WHILE;
+ END;
+ END;
+ BEGIN
+ SET done = 0;
+ OPEN cursor_number_4;
+ WHILE done <> 1 DO
+ FETCH cursor_number_4
+ INTO variable_number_1, variable_number_2, variable_number_3,
+ variable_number_4, variable_number_5;
+ IF done <> 0 THEN
+ INSERT INTO res_6_408004_2
+ VALUES (variable_number_1, variable_number_2, variable_number_3,
+ variable_number_4, variable_number_5);
+ END IF;
+ END WHILE;
+ END;
+ BEGIN
+ SET @a='test row';
+ SELECT @a;
+ SELECT @a;
+ SELECT @a;
+ END;
+ BEGIN
+ SET done = 0;
+ OPEN cursor_number_5;
+ WHILE done <> 1 DO
+ FETCH cursor_number_5
+ INTO variable_number_1, variable_number_2, variable_number_3,
+ variable_number_4, variable_number_5;
+ IF done <> 0 THEN
+ INSERT INTO res_6_408004_2
+ VALUES (variable_number_1, variable_number_2, variable_number_3,
+ variable_number_4, variable_number_5);
+ END IF;
+ END WHILE;
+ END;
+ BEGIN
+ SET @a='test row';
+ SELECT @a;
+ SELECT @a;
+ SELECT @a;
+ END;
+END//
+delimiter ;//
+
+CALL db_datadict.sp_6_408004 ();
+SELECT * FROM db_datadict.res_6_408004_2;
+
+--vertical_results
+--replace_column 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss"
+SELECT *, LENGTH(routine_definition) FROM information_schema.routines
+WHERE routine_schema = 'db_datadict';
+--horizontal_results
+
+# Cleanup
+DROP DATABASE db_datadict;
+# ----------------------------------------------------------------------------------------------
+
+
+--echo ########################################################################
+--echo # Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and
+--echo # DDL on INFORMATION_SCHEMA table are not supported
+--echo ########################################################################
+# 3.2.1.3: Ensure that no user may execute an INSERT statement on any
+# INFORMATION_SCHEMA table.
+# 3.2.1.4: Ensure that no user may execute an UPDATE statement on any
+# INFORMATION_SCHEMA table.
+# 3.2.1.5: Ensure that no user may execute a DELETE statement on any
+# INFORMATION_SCHEMA table.
+# 3.2.1.8: Ensure that no user may create an index on an INFORMATION_SCHEMA table.
+# 3.2.1.9: Ensure that no user may alter the definition of an
+# INFORMATION_SCHEMA table.
+# 3.2.1.10: Ensure that no user may drop an INFORMATION_SCHEMA table.
+# 3.2.1.11: Ensure that no user may move an INFORMATION_SCHEMA table to any
+# other database.
+# 3.2.1.12: Ensure that no user may directly add to, alter, or delete any data
+# in an INFORMATION_SCHEMA table.
+#
+--disable_warnings
+DROP DATABASE IF EXISTS db_datadict;
+--enable_warnings
+CREATE DATABASE db_datadict;
+USE db_datadict;
+CREATE PROCEDURE sp_for_routines() SELECT 'db_datadict';
+USE test;
+
+--error ER_DBACCESS_DENIED_ERROR
+INSERT INTO information_schema.routines (routine_name, routine_type )
+VALUES ('p2', 'procedure');
+
+--error ER_DBACCESS_DENIED_ERROR
+UPDATE information_schema.routines SET routine_name = 'p2'
+WHERE routine_body = 'sql';
+
+--error ER_DBACCESS_DENIED_ERROR
+DELETE FROM information_schema.routines ;
+#
+--error ER_DBACCESS_DENIED_ERROR
+TRUNCATE information_schema.routines ;
+
+--error ER_DBACCESS_DENIED_ERROR
+CREATE INDEX i7 ON information_schema.routines (routine_name);
+
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.routines ADD f1 INT;
+#
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.routines DISCARD TABLESPACE;
+
+--error ER_DBACCESS_DENIED_ERROR
+DROP TABLE information_schema.routines ;
+
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.routines RENAME db_datadict.routines;
+#
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.routines RENAME information_schema.xroutines;
+
+# Cleanup
+DROP DATABASE db_datadict;
+
diff --git a/mysql-test/suite/funcs_1/t/is_schema_privileges.test b/mysql-test/suite/funcs_1/t/is_schema_privileges.test
new file mode 100644
index 00000000000..4eb4a273362
--- /dev/null
+++ b/mysql-test/suite/funcs_1/t/is_schema_privileges.test
@@ -0,0 +1,336 @@
+# suite/funcs_1/t/is_schema_privileges.test
+#
+# Check the layout of information_schema.schema_privileges and the impact of
+# CREATE/ALTER/DROP TABLE/VIEW/SCHEMA ... on it.
+#
+# Note:
+# This test is not intended
+# - to show information about the all time existing schemas
+# information_schema and mysql
+# - for checking storage engine properties
+# Therefore please do not alter $engine_type and $other_engine_type.
+#
+# 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.
+#
+
+# --source suite/funcs_1/datadict/datadict.pre
+
+let $engine_type = MEMORY;
+let $other_engine_type = MyISAM;
+
+let $is_table = SCHEMA_PRIVILEGES;
+
+# The table INFORMATION_SCHEMA.SCHEMA_PRIVILEGES must exist
+eval SHOW TABLES FROM information_schema LIKE '$is_table';
+
+--echo #######################################################################
+--echo # Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT
+--echo #######################################################################
+# Ensure that every INFORMATION_SCHEMA table can be queried with a SELECT
+# statement, just as if it were an ordinary user-defined table.
+#
+--source suite/funcs_1/datadict/is_table_query.inc
+
+
+--echo #########################################################################
+--echo # Testcase 3.2.15.1: INFORMATION_SCHEMA.SCHEMA_PRIVILEGES layout
+--echo #########################################################################
+# Ensure that the INFORMATION_SCHEMA.SCHEMA_PRIVILEGES table has the following
+# columns, in the following order:
+#
+# GRANTEE (shows a user to whom a schema privilege has been granted),
+# TABLE_CATALOG (always shows NULL),
+# TABLE_SCHEMA (shows the name of the database, or schema, on which the
+# privilege has been granted),
+# PRIVILEGE_TYPE (shows the granted privilege),
+# IS_GRANTABLE (shows whether the privilege was granted WITH GRANT OPTION)
+#
+--source suite/funcs_1/datadict/datadict_bug_12777.inc
+eval DESCRIBE information_schema.$is_table;
+--source suite/funcs_1/datadict/datadict_bug_12777.inc
+eval SHOW CREATE TABLE information_schema.$is_table;
+--source suite/funcs_1/datadict/datadict_bug_12777.inc
+eval SHOW COLUMNS FROM information_schema.$is_table;
+
+# Note: Retrieval of information within information_schema.columns
+# about information_schema.schema_privileges is in is_columns_is.test.
+
+# Show that TABLE_CATALOG is always NULL.
+SELECT GRANTEE, TABLE_CATALOG, TABLE_SCHEMA, PRIVILEGE_TYPE
+FROM information_schema.schema_privileges WHERE table_catalog IS NOT NULL;
+
+
+--echo ###############################################################################
+--echo # Testcase 3.2.15.2-3.2.15.4 INFORMATION_SCHEMA.SCHEMA_PRIVILEGES accessibility
+--echo ###############################################################################
+# 3.2.15.2 Ensure that the table shows the relevant information on every
+# schema-level privilege which has been granted to the current user
+# or to PUBLIC, or has been granted by the current user.
+# FIXME: Why is "or has been granted by the current user" invisible?
+# 3.2.15.3 Ensure that the table does not show any information on any
+# schema-level privileges which have been granted to users
+# other than the current user or to PUBLIC, or that have been
+# granted by any user other than the current user.
+# 3.2.15.4 Ensure that the table does not show any information on any
+# privileges that are not schema-level privileges for the
+# current user.
+#
+# Note: Check of content within information_schema.schema_privileges about the
+# databases information_schema, mysql and test is in
+# is_schema_privileges_is_mysql_test.
+#
+--disable_warnings
+DROP DATABASE IF EXISTS db_datadict_1;
+DROP DATABASE IF EXISTS db_datadict_2;
+DROP DATABASE IF EXISTS db_datadict_3;
+--enable_warnings
+CREATE DATABASE db_datadict_1;
+CREATE DATABASE db_datadict_2;
+CREATE DATABASE db_datadict_3;
+eval
+CREATE TABLE db_datadict_2.t1(f1 INT, f2 INT, f3 INT)
+ENGINE = $engine_type;
+
+--error 0,ER_CANNOT_USER
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+--error 0,ER_CANNOT_USER
+DROP USER 'testuser2'@'localhost';
+CREATE USER 'testuser2'@'localhost';
+
+GRANT INSERT ON db_datadict_1.* TO 'testuser1'@'localhost';
+GRANT INSERT ON db_datadict_2.t1 TO 'testuser1'@'localhost';
+GRANT SELECT ON db_datadict_4.* TO 'testuser1'@'localhost' WITH GRANT OPTION;
+GRANT SELECT ON db_datadict_3.* TO 'testuser2'@'localhost';
+GRANT SELECT ON db_datadict_1.* TO 'testuser2'@'localhost';
+
+let $my_select = SELECT * FROM information_schema.schema_privileges
+WHERE table_schema LIKE 'db_datadict%'
+ORDER BY grantee,table_schema,privilege_type;
+let $show_testuser1 = SHOW GRANTS FOR 'testuser1'@'localhost';
+let $show_testuser2 = SHOW GRANTS FOR 'testuser2'@'localhost';
+
+--echo # Establish connection testuser1 (user=testuser1)
+--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
+connect (testuser1, localhost, testuser1, , test);
+GRANT SELECT ON db_datadict_4.* TO 'testuser2'@'localhost';
+--echo # Root granted INSERT db_datadict_1 to me -> visible
+--echo # Root granted SELECT db_datadict_1 to testuser2 -> invisible
+--echo # Root granted INSERT db_datadict_2.t1 (no schema-level priv!)
+--echo # but not db_datadict_2 to me -> invisible
+--echo # Root granted SELECT db_datadict_3. to testuser2 but not to me -> invisible
+--echo # Root granted SELECT db_datadict_4. to me -> visible
+--echo # I granted SELECT db_datadict_4. to testuser2 -> invisible (reality), visible(requirement)
+--echo # FIXME
+eval $my_select;
+eval $show_testuser1;
+--error ER_DBACCESS_DENIED_ERROR
+eval $show_testuser2;
+
+--echo # Establish connection testuser2 (user=testuser2)
+--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
+connect (testuser2, localhost, testuser2, , test);
+--echo # Root granted SELECT db_datadict_1 to me -> visible
+--echo # Root granted INSERT db_datadict_1 to testuser1 -> invisible
+--echo # Root granted INSERT db_datadict_2.t1 but not db_datadict_1 to testuser1 -> invisible
+--echo # Root granted SELECT db_datadict_3. to me -> visible
+--echo # testuser1 granted SELECT db_datadict_4. to me -> visible
+eval $my_select;
+--error ER_DBACCESS_DENIED_ERROR
+eval $show_testuser1;
+eval $show_testuser2;
+
+--echo # Switch to connection default and close connections testuser1 and testuser2
+connection default;
+disconnect testuser1;
+disconnect testuser2;
+eval $my_select;
+eval $show_testuser1;
+eval $show_testuser2;
+
+# Cleanup
+DROP USER 'testuser1'@'localhost';
+DROP USER 'testuser2'@'localhost';
+DROP DATABASE db_datadict_1;
+DROP DATABASE db_datadict_2;
+DROP DATABASE db_datadict_3;
+
+
+--echo ################################################################################
+--echo # 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.SCHEMA_PRIVILEGES modifications
+--echo ################################################################################
+# 3.2.1.13: Ensure that the creation of any new database object (e.g. table or
+# column) automatically inserts all relevant information on that
+# object into every appropriate INFORMATION_SCHEMA table.
+# 3.2.1.14: Ensure that the alteration of any existing database object
+# automatically updates all relevant information on that object in
+# every appropriate INFORMATION_SCHEMA table.
+# 3.2.1.15: Ensure that the dropping of any existing database object
+# automatically deletes all relevant information on that object from
+# every appropriate INFORMATION_SCHEMA table.
+#
+# Note (mleich):
+# The MySQL privilege system allows to GRANT objects before they exist.
+# (Exception: Grant privileges for columns of not existing tables/views.)
+# There is also no migration of privileges if objects (tables, views, columns)
+# are moved to other databases (tables only), renamed or dropped.
+#
+--disable_warnings
+DROP DATABASE IF EXISTS db_datadict;
+--enable_warnings
+CREATE DATABASE db_datadict;
+--error 0,ER_CANNOT_USER
+DROP USER 'the_user'@'localhost';
+--error 0,ER_CANNOT_USER
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+GRANT SELECT ON test.* TO 'testuser1'@'localhost';
+
+let $my_select = SELECT * FROM information_schema.schema_privileges
+WHERE table_schema = 'db_datadict'
+ORDER BY grantee,table_schema,privilege_type;
+
+############ Check grant SCHEMA
+eval $my_select;
+--echo # Establish connection testuser1 (user=testuser1)
+--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
+connect (testuser1, localhost, testuser1, , test);
+eval $my_select;
+--echo # Switch to connection default
+connection default;
+GRANT UPDATE ON db_datadict.* TO 'testuser1'@'localhost';
+eval $my_select;
+--echo # Switch to connection testuser1
+eval $my_select;
+############ Check RENAME SCHEMA
+# Implement this if RENAME SCHEMA is again available.
+# Note(mleich): I expect that RENAME has no impact on the result sets, because
+# the schema_name is not migrated.
+# --echo # Switch to connection default
+# connection default;
+# RENAME SCHEMA db_datadict TO db_datadictx;
+# eval $my_select;
+# --echo # Switch to connection testuser1
+# eval $my_select;
+# RENAME SCHEMA db_datadictx TO db_datadict;
+############ Check extend PRIVILEGES (affects PRIVILEGE_TYPE) on SCHEMA
+--echo # Switch to connection default
+connection default;
+GRANT SELECT ON db_datadict.* TO 'testuser1'@'localhost';
+eval $my_select;
+--echo # Switch to connection testuser1
+eval $my_select;
+############ Check extend PRIVILEGES (affects IS_GRANTABLE) on SCHEMA
+--echo # Switch to connection default
+connection default;
+GRANT SELECT ON db_datadict.* TO 'testuser1'@'localhost' WITH GRANT OPTION;
+eval $my_select;
+--echo # Switch to connection testuser1
+eval $my_select;
+############ Check DROP SCHEMA
+# No impact, because there is no "maintenance" of privileges.
+--echo # Switch to connection default
+connection default;
+DROP SCHEMA db_datadict;
+eval $my_select;
+--echo # Switch to connection testuser1
+eval $my_select;
+############ Check REVOKE PRIVILEGE
+--echo # Switch to connection default
+connection default;
+REVOKE UPDATE ON db_datadict.* FROM 'testuser1'@'localhost';
+eval $my_select;
+--echo # Switch to connection testuser1
+eval $my_select;
+############ Check RENAME USER
+--echo # Switch to connection default
+connection default;
+RENAME USER 'testuser1'@'localhost' TO 'the_user'@'localhost';
+eval $my_select;
+--echo # Switch to connection testuser1
+eval $my_select;
+--echo # Close connection testuser1
+disconnect testuser1;
+--echo # Establish connection the_user (user=the_user)
+--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
+connect (the_user, localhost, the_user, , test);
+eval $my_select;
+--echo # Close connection the_user
+disconnect the_user;
+############ Check DROP USER
+--echo # Switch to connection default
+connection default;
+eval $my_select;
+DROP USER 'the_user'@'localhost';
+eval $my_select;
+
+
+--echo ########################################################################
+--echo # Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and
+--echo # DDL on INFORMATION_SCHEMA table are not supported
+--echo ########################################################################
+# 3.2.1.3: Ensure that no user may execute an INSERT statement on any
+# INFORMATION_SCHEMA table.
+# 3.2.1.4: Ensure that no user may execute an UPDATE statement on any
+# INFORMATION_SCHEMA table.
+# 3.2.1.5: Ensure that no user may execute a DELETE statement on any
+# INFORMATION_SCHEMA table.
+# 3.2.1.8: Ensure that no user may create an index on an INFORMATION_SCHEMA table.
+# 3.2.1.9: Ensure that no user may alter the definition of an
+# INFORMATION_SCHEMA table.
+# 3.2.1.10: Ensure that no user may drop an INFORMATION_SCHEMA table.
+# 3.2.1.11: Ensure that no user may move an INFORMATION_SCHEMA table to any
+# other database.
+# 3.2.1.12: Ensure that no user may directly add to, alter, or delete any data
+# in an INFORMATION_SCHEMA table.
+#
+--disable_warnings
+DROP DATABASE IF EXISTS db_datadict;
+--enable_warnings
+CREATE DATABASE db_datadict;
+--replace_result $engine_type <engine_type>
+eval
+CREATE TABLE db_datadict.t1 (f1 BIGINT, f2 BIGINT)
+ENGINE = $engine_type;
+--error 0,ER_CANNOT_USER
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+GRANT SELECT ON db_datadict.* TO 'testuser1'@'localhost';
+
+--error ER_DBACCESS_DENIED_ERROR
+INSERT INTO information_schema.schema_privileges
+SELECT * FROM information_schema.schema_privileges;
+
+--error ER_DBACCESS_DENIED_ERROR
+UPDATE information_schema.schema_privileges SET table_schema = 'test'
+WHERE table_name = 't1';
+
+--error ER_DBACCESS_DENIED_ERROR
+DELETE FROM information_schema.schema_privileges
+WHERE table_schema = 'db_datadict';
+--error ER_DBACCESS_DENIED_ERROR
+TRUNCATE information_schema.schema_privileges;
+
+--error ER_DBACCESS_DENIED_ERROR
+CREATE INDEX my_idx_on_tables
+ON information_schema.schema_privileges(table_schema);
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.schema_privileges ADD f1 INT;
+
+--error ER_DBACCESS_DENIED_ERROR
+DROP TABLE information_schema.schema_privileges;
+
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.schema_privileges
+RENAME db_datadict.schema_privileges;
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.schema_privileges
+RENAME information_schema.xschema_privileges;
+
+# Cleanup
+DROP DATABASE db_datadict;
+DROP USER 'testuser1'@'localhost';
+
diff --git a/mysql-test/suite/funcs_1/t/is_schema_privileges_is_mysql_test.test b/mysql-test/suite/funcs_1/t/is_schema_privileges_is_mysql_test.test
new file mode 100644
index 00000000000..cb34d1bad2d
--- /dev/null
+++ b/mysql-test/suite/funcs_1/t/is_schema_privileges_is_mysql_test.test
@@ -0,0 +1,58 @@
+# suite/funcs_1/t/is_schema_privileges_is_mysql_test.test
+#
+# Check the content of information_schema.schema_privileges about the databases
+# information_schema, mysql and test visible to high and low privileged users.
+#
+# 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.
+#
+#
+
+--echo ##############################################################################
+--echo # Testcases 3.2.9.2+3.2.9.3 INFORMATION_SCHEMA.SCHEMATA accessible information
+--echo ##############################################################################
+# 3.2.9.2 Ensure that the table shows the relevant information for every
+# database on which the current user or PUBLIC have privileges.
+# 3.2.9.3 Ensure that the table does not show any information on any databases
+# on which the current user and PUBLIC have no privileges.
+#
+--disable_warnings
+DROP DATABASE IF EXISTS db_datadict;
+--enable_warnings
+CREATE DATABASE db_datadict;
+
+# Create a low privileged user.
+# Note: The database db_datadict is just a "home" for the low privileged user
+# and not in the focus of testing.
+--error 0,ER_CANNOT_USER
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+GRANT SELECT ON db_datadict.* TO 'testuser1'@'localhost';
+
+let $my_select = SELECT * FROM information_schema.schema_privileges
+WHERE table_schema IN ('information_schema','mysql','test')
+ORDER BY grantee, table_schema, privilege_type;
+let $my_show1 = SHOW DATABASES LIKE 'information_schema';
+let $my_show2 = SHOW DATABASES LIKE 'mysql';
+let $my_show3 = SHOW DATABASES LIKE 'test';
+eval $my_select;
+eval $my_show1;
+eval $my_show2;
+eval $my_show3;
+
+--echo # Establish connection testuser1 (user=testuser1)
+--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
+connect (testuser1, localhost, testuser1, , db_datadict);
+eval $my_select;
+eval $my_show1;
+eval $my_show2;
+eval $my_show3;
+
+# Cleanup
+--echo # Switch to connection default and close connection testuser1
+connection default;
+DROP USER 'testuser1'@'localhost';
+DROP DATABASE db_datadict;
+
diff --git a/mysql-test/suite/funcs_1/t/is_schemata.test b/mysql-test/suite/funcs_1/t/is_schemata.test
new file mode 100644
index 00000000000..7eb08dba463
--- /dev/null
+++ b/mysql-test/suite/funcs_1/t/is_schemata.test
@@ -0,0 +1,246 @@
+# suite/funcs_1/t/is_schemata.test
+#
+# Check the layout of information_schema.schemata, permissions and the impact of
+# CREATE/ALTER/DROP SCHEMA on it.
+#
+# Note:
+# This test is not intended
+# - to show information about the all time existing databases
+# information_schema and mysql
+# - for checking storage engine properties
+#
+# 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.
+#
+
+# --source suite/funcs_1/datadict/datadict.pre
+
+let $is_table = SCHEMATA;
+
+# The table INFORMATION_SCHEMA.SCHEMATA must exist
+eval SHOW TABLES FROM information_schema LIKE '$is_table';
+
+--echo #######################################################################
+--echo # Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT
+--echo #######################################################################
+# Ensure that every INFORMATION_SCHEMA table can be queried with a SELECT
+# statement, just as if it were an ordinary user-defined table.
+#
+--source suite/funcs_1/datadict/is_table_query.inc
+
+
+--echo #########################################################################
+--echo # Testcase 3.2.9.1: INFORMATION_SCHEMA.SCHEMATA layout;
+--echo #########################################################################
+# Ensure that the INFORMATION_SCHEMA.SCHEMATA table has the following columns,
+# in the following order:
+#
+# CATALOG_NAME (always shows NULL),
+# SCHEMA_NAME (shows the name of a database, or schema, on which the current
+# user or PUBLIC has privileges),
+# DEFAULT_CHARACTER_SET_NAME (shows the name of that database's default
+# character set),
+# DEFAULT_COLLATION_NAME (shows the database defaul collation)
+# SQL_PATH (always shows NULL).
+#
+--source suite/funcs_1/datadict/datadict_bug_12777.inc
+eval DESCRIBE information_schema.$is_table;
+--source suite/funcs_1/datadict/datadict_bug_12777.inc
+eval SHOW CREATE TABLE information_schema.$is_table;
+--source suite/funcs_1/datadict/datadict_bug_12777.inc
+eval SHOW COLUMNS FROM information_schema.$is_table;
+
+# Note: Retrieval of information within information_schema.columns about
+# information_schema.schemata is in is_columns_is.test.
+
+# Show that CATALOG_NAME and SQL_PATH are always NULL.
+SELECT catalog_name, schema_name, sql_path
+FROM information_schema.schemata
+WHERE catalog_name IS NOT NULL or sql_path IS NOT NULL;
+
+
+--echo ###############################################################################
+--echo # Testcases 3.2.9.2+3.2.9.3: INFORMATION_SCHEMA.SCHEMATA accessible information
+--echo ###############################################################################
+# 3.2.9.2 Ensure that the table shows the relevant information for every
+# database on which the current user or PUBLIC have privileges.
+# 3.2.9.3 Ensure that the table does not show any information on any databases
+# on which the current user and PUBLIC have no privileges.
+#
+# Note: Check of content within information_schema.schemata about the databases
+# information_schema and mysql is in
+# suite/funcs_1/t/is_schemata_is_mysql.test.
+#
+--disable_warnings
+DROP DATABASE IF EXISTS db_datadict_1;
+DROP DATABASE IF EXISTS db_datadict_2;
+--enable_warnings
+CREATE DATABASE db_datadict_1;
+CREATE DATABASE db_datadict_2;
+
+--error 0,ER_CANNOT_USER
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+--error 0,ER_CANNOT_USER
+DROP USER 'testuser2'@'localhost';
+CREATE USER 'testuser2'@'localhost';
+--error 0,ER_CANNOT_USER
+DROP USER 'testuser3'@'localhost';
+CREATE USER 'testuser3'@'localhost';
+
+GRANT SELECT ON db_datadict_1.* to 'testuser1'@'localhost';
+GRANT SELECT ON db_datadict_1.* to 'testuser2'@'localhost';
+GRANT SELECT ON db_datadict_2.* to 'testuser2'@'localhost';
+
+let $my_select = SELECT * FROM information_schema.schemata
+WHERE schema_name LIKE 'db_datadict_%' ORDER BY schema_name;
+let $my_show = SHOW DATABASES LIKE 'db_datadict_%';
+
+eval $my_select;
+--sorted_result
+eval $my_show;
+
+--echo # Establish connection testuser1 (user=testuser1)
+--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
+connect (testuser1, localhost, testuser1, , db_datadict_1);
+# Shows db_datadict_1
+eval $my_select;
+--sorted_result
+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_2);
+# Shows db_datadict_1 and db_datadict_2
+eval $my_select;
+--sorted_result
+eval $my_show;
+
+--echo # Establish connection testuser3 (user=testuser3)
+--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
+connect (testuser3, localhost, testuser3, , test);
+# Shows neither db_datadict_1 nor db_datadict_2
+eval $my_select;
+--sorted_result
+eval $my_show;
+
+# Cleanup
+--echo # Switch to connection default and close connections testuser1,testuser2,testuser3
+connection default;
+disconnect testuser1;
+disconnect testuser2;
+disconnect testuser3;
+DROP USER 'testuser1'@'localhost';
+DROP USER 'testuser2'@'localhost';
+DROP USER 'testuser3'@'localhost';
+DROP DATABASE db_datadict_1;
+DROP DATABASE db_datadict_2;
+
+
+--echo #################################################################################
+--echo # Testcases 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.SCHEMATA modifications
+--echo #################################################################################
+# 3.2.1.13: Ensure that the creation of any new database object (e.g. table or
+# column) automatically inserts all relevant information on that
+# object into every appropriate INFORMATION_SCHEMA table.
+# 3.2.1.14: Ensure that the alteration of any existing database object
+# automatically updates all relevant information on that object in
+# every appropriate INFORMATION_SCHEMA table.
+# 3.2.1.15: Ensure that the dropping of any existing database object
+# automatically deletes all relevant information on that object from
+# every appropriate INFORMATION_SCHEMA table.
+#
+--disable_warnings
+DROP DATABASE IF EXISTS db_datadict;
+--enable_warnings
+
+SELECT * FROM information_schema.schemata WHERE schema_name = 'db_datadict';
+CREATE DATABASE db_datadict CHARACTER SET 'latin1' COLLATE 'latin1_swedish_ci';
+SELECT * FROM information_schema.schemata WHERE schema_name = 'db_datadict';
+
+# Check modify default CHARACTER SET
+SELECT schema_name, default_character_set_name
+FROM information_schema.schemata WHERE schema_name = 'db_datadict';
+ALTER SCHEMA db_datadict CHARACTER SET 'utf8';
+SELECT schema_name, default_character_set_name
+FROM information_schema.schemata WHERE schema_name = 'db_datadict';
+ALTER SCHEMA db_datadict CHARACTER SET 'latin1';
+
+# Check modify default COLLATION
+SELECT schema_name, default_collation_name FROM information_schema.schemata
+WHERE schema_name = 'db_datadict';
+ALTER SCHEMA db_datadict COLLATE 'latin1_general_cs';
+SELECT schema_name, default_collation_name FROM information_schema.schemata
+WHERE schema_name = 'db_datadict';
+
+# Check DROP DATABASE
+SELECT schema_name
+FROM information_schema.schemata WHERE schema_name = 'db_datadict';
+DROP DATABASE db_datadict;
+SELECT schema_name
+FROM information_schema.schemata WHERE schema_name = 'db_datadict';
+
+
+--echo ########################################################################
+--echo # Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and
+--echo # DDL on INFORMATION_SCHEMA tables are not supported
+--echo ########################################################################
+# 3.2.1.3: Ensure that no user may execute an INSERT statement on any
+# INFORMATION_SCHEMA table.
+# 3.2.1.4: Ensure that no user may execute an UPDATE statement on any
+# INFORMATION_SCHEMA table.
+# 3.2.1.5: Ensure that no user may execute a DELETE statement on any
+# INFORMATION_SCHEMA table.
+# 3.2.1.8: Ensure that no user may create an index on an INFORMATION_SCHEMA table.
+# 3.2.1.9: Ensure that no user may alter the definition of an
+# INFORMATION_SCHEMA table.
+# 3.2.1.10: Ensure that no user may drop an INFORMATION_SCHEMA table.
+# 3.2.1.11: Ensure that no user may move an INFORMATION_SCHEMA table to any
+# other database.
+# 3.2.1.12: Ensure that no user may directly add to, alter, or delete any data
+# in an INFORMATION_SCHEMA table.
+#
+--disable_warnings
+DROP DATABASE IF EXISTS db_datadict;
+--enable_warnings
+CREATE DATABASE db_datadict CHARACTER SET 'latin1' COLLATE 'latin1_swedish_ci';
+
+--error ER_DBACCESS_DENIED_ERROR
+INSERT INTO information_schema.schemata
+ (catalog_name, schema_name, default_character_set_name, sql_path)
+VALUES (NULL, 'db1', 'latin1', NULL);
+--error ER_DBACCESS_DENIED_ERROR
+INSERT INTO information_schema.schemata
+SELECT * FROM information_schema.schemata;
+
+--error ER_DBACCESS_DENIED_ERROR
+UPDATE information_schema.schemata
+SET default_character_set_name = 'utf8'
+WHERE schema_name = 'db_datadict';
+--error ER_DBACCESS_DENIED_ERROR
+UPDATE information_schema.schemata SET catalog_name = 't_4711';
+
+--error ER_DBACCESS_DENIED_ERROR
+DELETE FROM information_schema.schemata WHERE schema_name = 'db_datadict';
+--error ER_DBACCESS_DENIED_ERROR
+TRUNCATE information_schema.schemata;
+
+--error ER_DBACCESS_DENIED_ERROR
+CREATE INDEX i1 ON information_schema.schemata(schema_name);
+
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.schemata ADD f1 INT;
+
+--error ER_DBACCESS_DENIED_ERROR
+DROP TABLE information_schema.schemata;
+
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.schemata RENAME db_datadict.schemata;
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.schemata RENAME information_schema.xschemata;
+
+# Cleanup
+DROP DATABASE db_datadict;
+
diff --git a/mysql-test/suite/funcs_1/t/is_schemata_is_mysql_test.test b/mysql-test/suite/funcs_1/t/is_schemata_is_mysql_test.test
new file mode 100644
index 00000000000..cabcfa640d7
--- /dev/null
+++ b/mysql-test/suite/funcs_1/t/is_schemata_is_mysql_test.test
@@ -0,0 +1,58 @@
+# suite/funcs_1/t/is_schemata_is_mysql_test.test
+#
+# Check the content of information_schema.schemata about the databases
+# information_schema and mysql visible to high and low privileged users.
+#
+# 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.
+#
+#
+
+--echo #################################################################################
+--echo # Testcases 3.2.9.2 + 3.2.9.3: INFORMATION_SCHEMA.SCHEMATA accessible information
+--echo #################################################################################
+# 3.2.9.2 Ensure that the table shows the relevant information for every
+# database on which the current user or PUBLIC have privileges.
+# 3.2.9.3 Ensure that the table does not show any information on any databases
+# on which the current user and PUBLIC have no privileges.
+#
+--disable_warnings
+DROP DATABASE IF EXISTS db_datadict;
+--enable_warnings
+CREATE DATABASE db_datadict;
+
+# Create a low privileged user.
+# Note: The database db_datadict is just a "home" for the low privileged user
+# and not in the focus of testing.
+--error 0,ER_CANNOT_USER
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+GRANT SELECT ON db_datadict.* TO 'testuser1'@'localhost';
+
+let $my_select = SELECT * FROM information_schema.schemata
+WHERE schema_name IN ('information_schema','mysql','test')
+ORDER BY schema_name;
+let $my_show1 = SHOW DATABASES LIKE 'information_schema';
+let $my_show2 = SHOW DATABASES LIKE 'mysql';
+let $my_show3 = SHOW DATABASES LIKE 'test';
+eval $my_select;
+eval $my_show1;
+eval $my_show2;
+eval $my_show3;
+
+--echo # Establish connection testuser1 (user=testuser1)
+--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
+connect (testuser1, localhost, testuser1, , db_datadict);
+eval $my_select;
+eval $my_show1;
+eval $my_show2;
+eval $my_show3;
+
+# Cleanup
+--echo # Switch to connection default and close connection testuser1
+connection default;
+DROP USER 'testuser1'@'localhost';
+DROP DATABASE db_datadict;
+
diff --git a/mysql-test/suite/funcs_1/t/is_statistics.test b/mysql-test/suite/funcs_1/t/is_statistics.test
new file mode 100644
index 00000000000..5b17b711fff
--- /dev/null
+++ b/mysql-test/suite/funcs_1/t/is_statistics.test
@@ -0,0 +1,379 @@
+# suite/funcs_1/t/is_statistics.test
+#
+# Check the layout of information_schema.statistics and the impact of
+# CREATE/ALTER/DROP TABLE/VIEW/SCHEMA ... on its content.
+#
+# Note:
+# This test is not intended
+# - to show information about the all time existing tables
+# within the databases information_schema and mysql
+# - for checking storage engine properties
+# Therefore please do not alter $engine_type and $other_engine_type.
+#
+# 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.
+#
+
+# --source suite/funcs_1/datadict/datadict.pre
+
+let $engine_type = MEMORY;
+let $other_engine_type = MyISAM;
+
+let $is_table = STATISTICS;
+
+# The table INFORMATION_SCHEMA.STATISTICS must exist
+eval SHOW TABLES FROM information_schema LIKE '$is_table';
+
+--echo #######################################################################
+--echo # Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT
+--echo #######################################################################
+# Ensure that every INFORMATION_SCHEMA table can be queried with a SELECT
+# statement, just as if it were an ordinary user-defined table.
+#
+--source suite/funcs_1/datadict/is_table_query.inc
+
+
+--echo #########################################################################
+--echo # Testcase 3.2.14.1: INFORMATION_SCHEMA.STATISTICS layout
+--echo #########################################################################
+# Ensure that the INFORMATION_SCHEMA.STATISTICS table has the following columns,
+# in the following order:
+#
+# TABLE_CATALOG (always shows NULL),
+# TABLE_SCHEMA (shows the database, or schema, in which a table indexed by
+# an accessible index resides),
+# TABLE_NAME (shows the name of the indexed table),
+# NON_UNIQUE (shows whether the index may contain duplicate values;
+# 0 if it cannot, 1 if it can),
+# INDEX_SCHEMA (shows the database, or schema, in which an accessible
+# index resides),
+# INDEX_NAME (shows the name of an index which the current user may access),
+# SEQ_IN_INDEX (shows the ordinal position of an indexed column within
+# the index),
+# COLUMN_NAME (shows the name of a column that comprises some, or all, of an
+# index key),
+# COLLATION (shows how the column is sorted in the index; either A for ascending
+# or NULL for unsorted columns),
+# CARDINALITY (shows the number of unique values in the index),
+# SUB_PART (shows the number of indexed characters if the index is
+# a prefix index),
+# PACKED (shows how the index key is packed),
+# NULLABLE (shows whether the index column may contain NULL values),
+# INDEX_TYPE (shows the index type; either BTREE, FULLTEXT, HASH or RTREE),
+# COMMENT (shows a comment on the index, if any).
+#
+--source suite/funcs_1/datadict/datadict_bug_12777.inc
+eval DESCRIBE information_schema.$is_table;
+--source suite/funcs_1/datadict/datadict_bug_12777.inc
+eval SHOW CREATE TABLE information_schema.$is_table;
+--source suite/funcs_1/datadict/datadict_bug_12777.inc
+eval SHOW COLUMNS FROM information_schema.$is_table;
+
+# Note: Retrieval of information within information_schema.columns about
+# information_schema.statistics is in is_columns_is.test.
+
+# Show that TABLE_CATALOG is always NULL.
+SELECT table_catalog, table_schema, table_name, index_schema, index_name
+FROM information_schema.statistics WHERE table_catalog IS NOT NULL;
+
+
+--echo ####################################################################################
+--echo # Testcase 3.2.14.2 + 3.2.14.3: INFORMATION_SCHEMA.STATISTICS accessible information
+--echo ####################################################################################
+# 3.2.14.2 Ensure that the table shows the relevant information on every index
+# which the current user or PUBLIC may access (usually because
+# privileges on the indexed table have been granted).
+# 3.2.14.3 Ensure that the table does not show any information on any indexes
+# which the current user and PUBLIC may not access.
+#
+# Note: Check of content within information_schema.statistics about
+# database is in
+# mysql is_statistics_mysql.test
+# information_schema is_statistics_is.test
+#
+--disable_warnings
+DROP DATABASE IF EXISTS db_datadict;
+DROP DATABASE IF EXISTS db_datadict_2;
+--enable_warnings
+CREATE DATABASE db_datadict;
+CREATE DATABASE db_datadict_2;
+
+--error 0,ER_CANNOT_USER
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+--error 0,ER_CANNOT_USER
+DROP USER 'testuser2'@'localhost';
+CREATE USER 'testuser2'@'localhost';
+
+--replace_result $engine_type <engine_type>
+eval
+CREATE TABLE db_datadict.t1
+ (f1 INT NOT NULL, PRIMARY KEY(f1), f2 INT, INDEX f2_ind(f2))
+ENGINE = $engine_type;
+--replace_result $engine_type <engine_type>
+eval
+CREATE TABLE db_datadict.t2
+ (f1 INT NOT NULL, PRIMARY KEY(f1), f2 INT, INDEX f2_ind(f2))
+ENGINE = $engine_type;
+
+eval
+CREATE TABLE db_datadict_2.t3
+ (f1 INT NOT NULL, f2 INT, f5 DATE,
+ PRIMARY KEY(f1), INDEX f2f1_ind(f2,f1), UNIQUE(f5))
+ENGINE = $engine_type;
+eval
+CREATE TABLE db_datadict_2.t4
+ (f1 INT NOT NULL, PRIMARY KEY(f1), f2 INT, INDEX f2_ind(f2))
+ENGINE = $engine_type;
+
+let $my_select = SELECT * FROM information_schema.statistics
+WHERE table_schema LIKE 'db_datadict%'
+ORDER BY table_schema,table_name,index_name,seq_in_index,column_name;
+let $my_show1 = SHOW GRANTS FOR 'testuser1'@'localhost';
+let $my_show2 = SHOW GRANTS FOR 'testuser2'@'localhost';
+eval $my_select;
+eval $my_show1;
+eval $my_show2;
+
+--echo # Establish connection testuser1 (user=testuser1)
+--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
+connect (testuser1, localhost, testuser1, , test);
+# nothing visible for testuser1
+eval $my_select;
+eval $my_show1;
+--error ER_DBACCESS_DENIED_ERROR
+eval $my_show2;
+
+--echo # Establish connection testuser2 (user=testuser2)
+--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
+connect (testuser2, localhost, testuser2, , test);
+# nothing visible for testuser2
+eval $my_select;
+--error ER_DBACCESS_DENIED_ERROR
+eval $my_show1;
+eval $my_show2;
+
+--echo # Switch to connection default
+connection default;
+GRANT SELECT ON db_datadict.t1 TO 'testuser1'@'localhost' WITH GRANT OPTION;
+GRANT SELECT(f1,f5) ON db_datadict_2.t3 TO 'testuser1'@'localhost';
+eval $my_select;
+eval $my_show1;
+eval $my_show2;
+
+--echo # Switch to connection testuser1
+connection testuser1;
+eval $my_select;
+eval $my_show1;
+--error ER_DBACCESS_DENIED_ERROR
+eval $my_show2;
+
+--echo # Switch to connection testuser2
+connection testuser2;
+eval $my_select;
+--error ER_DBACCESS_DENIED_ERROR
+eval $my_show1;
+eval $my_show2;
+
+--echo # Switch to connection default
+connection default;
+REVOKE SELECT,GRANT OPTION ON db_datadict.t1 FROM 'testuser1'@'localhost';
+eval $my_show1;
+
+--echo # Switch to connection testuser1
+# nothing visible for testuser1
+connection testuser1;
+eval $my_select;
+eval $my_show1;
+
+# Cleanup
+--echo # Switch to connection default and close connections testuser1, testuser2
+connection default;
+disconnect testuser1;
+disconnect testuser2;
+DROP USER 'testuser1'@'localhost';
+DROP USER 'testuser2'@'localhost';
+DROP DATABASE db_datadict;
+DROP DATABASE db_datadict_2;
+
+
+--echo #########################################################################
+--echo # 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.STATISTICS modifications
+--echo #########################################################################
+# 3.2.1.13: Ensure that the creation of any new database object (e.g. table or
+# column) automatically inserts all relevant information on that
+# object into every appropriate INFORMATION_SCHEMA table.
+# 3.2.1.14: Ensure that the alteration of any existing database object
+# automatically updates all relevant information on that object in
+# every appropriate INFORMATION_SCHEMA table.
+# 3.2.1.15: Ensure that the dropping of any existing database object
+# automatically deletes all relevant information on that object from
+# every appropriate INFORMATION_SCHEMA table.
+#
+--disable_warnings
+DROP TABLE IF EXISTS test.t1_my_table;
+DROP DATABASE IF EXISTS db_datadict;
+--enable_warnings
+CREATE DATABASE db_datadict;
+--replace_result $other_engine_type <other_engine_type>
+eval
+CREATE TABLE test.t1_1 (f1 BIGINT,
+ f2 TEXT, f2x TEXT, f3 CHAR(10), f3x CHAR(10), f4 BIGINT, f4x BIGINT,
+ f5 POINT, f5x POINT NOT NULL)
+DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci
+ENGINE = $other_engine_type;
+--replace_result $engine_type <engine_type>
+eval
+CREATE TABLE test.t1_2 (f1 BIGINT, f2 BIGINT)
+ENGINE = $engine_type;
+
+# Tables without primary key or index do not show up
+# in information_schema.statistics.
+SELECT table_name FROM information_schema.statistics
+WHERE table_name LIKE 't1_%';
+# Check ADD PRIMARY KEY (two columns)
+ALTER TABLE test.t1_1 ADD PRIMARY KEY (f1,f3);
+SELECT * FROM information_schema.statistics
+WHERE table_name LIKE 't1_%'
+ORDER BY table_schema,table_name,index_name,seq_in_index,column_name;
+# Check DROP PRIMARY KEY
+ALTER TABLE test.t1_1 DROP PRIMARY KEY;
+SELECT table_name FROM information_schema.statistics
+WHERE table_name LIKE 't1_%';
+# Check ADD PRIMARY KEY (one column)
+ALTER TABLE test.t1_1 ADD PRIMARY KEY (f1);
+SELECT * FROM information_schema.statistics
+WHERE table_name LIKE 't1_%';
+# Some variations on index definitions
+# 1. No name assigned, one column
+ALTER TABLE test.t1_1 ADD INDEX (f4);
+# 2. Name assigned, two columns
+CREATE INDEX f3_f1 ON test.t1_1 (f3,f1);
+# 3. Unique index
+CREATE UNIQUE INDEX f4x_uni ON test.t1_1 (f4x);
+# 4. Index using HASH
+CREATE INDEX f2_hash USING HASH ON test.t1_2 (f2);
+# 5. Index with comment (feature introduced in 5.2)
+--error ER_PARSE_ERROR
+CREATE INDEX f1_idx ON test.t1_2 (f1) COMMENT = 'COMMENT';
+# 6. NOT NULL
+CREATE INDEX not_null ON test.t1_1 (f3x);
+# 7. Prefix index
+CREATE INDEX f2_prefix ON test.t1_1 (f2(20));
+#
+SELECT * FROM information_schema.statistics
+WHERE table_name LIKE 't1_%' AND index_name <> 'PRIMARY'
+ORDER BY table_schema,table_name,index_name,seq_in_index,column_name;
+--horizontal_results
+DROP TABLE test.t1_2;
+#
+# Check modification of TABLE_NAME
+SELECT DISTINCT table_name FROM information_schema.statistics
+WHERE table_name = 't1_1';
+RENAME TABLE test.t1_1 TO test.t1_1x;
+SELECT DISTINCT table_name FROM information_schema.statistics
+WHERE table_name = 't1_1x';
+#
+# Check modification of TABLE_SCHEMA
+SELECT DISTINCT table_schema,table_name FROM information_schema.statistics
+WHERE table_name LIKE 't1_1%';
+RENAME TABLE test.t1_1x TO db_datadict.t1_1x;
+SELECT DISTINCT table_schema,table_name FROM information_schema.statistics
+WHERE table_name LIKE 't1_1%';
+#
+# Check impact of DROP TABLE
+SELECT DISTINCT table_name FROM information_schema.statistics
+WHERE table_name = 't1_1x';
+DROP TABLE db_datadict.t1_1x;
+SELECT DISTINCT table_name FROM information_schema.statistics
+WHERE table_name = 't1_1x';
+#
+# Check a temporary table (not visible)
+--replace_result $engine_type <engine_type>
+eval
+CREATE TEMPORARY TABLE test.t1_1x (PRIMARY KEY(f1,f2))
+ENGINE = $engine_type
+ AS SELECT 1 AS f1, 2 AS f2;
+--vertical_results
+SELECT * FROM information_schema.statistics
+WHERE table_name = 't1_1x';
+--horizontal_results
+DROP TEMPORARY TABLE test.t1_1x;
+#
+# Check impact of DROP SCHEMA
+--replace_result $engine_type <engine_type>
+eval
+CREATE TABLE db_datadict.t1_1x (PRIMARY KEY(f1))
+ENGINE = $engine_type
+ AS SELECT 1 AS f1, 2 AS f2;
+SELECT table_name FROM information_schema.statistics
+WHERE table_name = 't1_1x';
+DROP DATABASE db_datadict;
+SELECT table_name FROM information_schema.statistics
+WHERE table_name = 't1_1x';
+
+
+--echo ########################################################################
+--echo # Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and
+--echo # DDL on INFORMATION_SCHEMA tables are not supported
+--echo ########################################################################
+# 3.2.1.3: Ensure that no user may execute an INSERT statement on any
+# INFORMATION_SCHEMA table.
+# 3.2.1.4: Ensure that no user may execute an UPDATE statement on any
+# INFORMATION_SCHEMA table.
+# 3.2.1.5: Ensure that no user may execute a DELETE statement on any
+# INFORMATION_SCHEMA table.
+# 3.2.1.8: Ensure that no user may create an index on an
+# INFORMATION_SCHEMA table.
+# 3.2.1.9: Ensure that no user may alter the definition of an
+# INFORMATION_SCHEMA table.
+# 3.2.1.10: Ensure that no user may drop an INFORMATION_SCHEMA table.
+# 3.2.1.11: Ensure that no user may move an INFORMATION_SCHEMA table to any
+# other database.
+# 3.2.1.12: Ensure that no user may directly add to, alter, or delete any data
+# in an INFORMATION_SCHEMA table.
+#
+--disable_warnings
+DROP DATABASE IF EXISTS db_datadict;
+--enable_warnings
+CREATE DATABASE db_datadict;
+--replace_result $engine_type <engine_type>
+eval
+CREATE TABLE db_datadict.t1 (f1 BIGINT)
+ENGINE = $engine_type;
+
+--error ER_DBACCESS_DENIED_ERROR
+INSERT INTO information_schema.statistics
+SELECT * FROM information_schema.statistics;
+
+--error ER_DBACCESS_DENIED_ERROR
+UPDATE information_schema.statistics SET table_schema = 'test'
+WHERE table_name = 't1';
+
+--error ER_DBACCESS_DENIED_ERROR
+DELETE FROM information_schema.statistics WHERE table_name = 't1';
+--error ER_DBACCESS_DENIED_ERROR
+TRUNCATE information_schema.statistics;
+
+--error ER_DBACCESS_DENIED_ERROR
+CREATE INDEX my_idx_on_statistics
+ON information_schema.statistics(table_schema);
+
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.statistics DROP PRIMARY KEY;
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.statistics ADD f1 INT;
+
+--error ER_DBACCESS_DENIED_ERROR
+DROP TABLE information_schema.statistics;
+
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.statistics RENAME db_datadict.statistics;
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.statistics RENAME information_schema.xstatistics;
+
+# Cleanup
+DROP DATABASE db_datadict;
+
diff --git a/mysql-test/suite/funcs_1/t/is_statistics_is.test b/mysql-test/suite/funcs_1/t/is_statistics_is.test
new file mode 100644
index 00000000000..0cf5df64955
--- /dev/null
+++ b/mysql-test/suite/funcs_1/t/is_statistics_is.test
@@ -0,0 +1,14 @@
+# suite/funcs_1/t/is_statistics_is.test
+#
+# Check the content of information_schema.statistics about tables within
+# the database information_schema for a high and a low privileged user.
+#
+# 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.
+#
+
+let $my_where = WHERE table_schema = 'information_schema';
+--source suite/funcs_1/datadict/statistics.inc
+
diff --git a/mysql-test/suite/funcs_1/t/is_statistics_mysql.test b/mysql-test/suite/funcs_1/t/is_statistics_mysql.test
new file mode 100644
index 00000000000..a75cc922777
--- /dev/null
+++ b/mysql-test/suite/funcs_1/t/is_statistics_mysql.test
@@ -0,0 +1,15 @@
+# suite/funcs_1/t/is_statistics_mysql.test
+#
+# Check the content of information_schema.statistics about tables within
+# the database mysql for a high and a low privileged user.
+#
+# 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.
+#
+
+let $database = mysql;
+let $my_where = WHERE table_schema = 'mysql';
+--source suite/funcs_1/datadict/statistics.inc
+
diff --git a/mysql-test/suite/funcs_1/t/is_table_constraints.test b/mysql-test/suite/funcs_1/t/is_table_constraints.test
new file mode 100644
index 00000000000..60d5ebce703
--- /dev/null
+++ b/mysql-test/suite/funcs_1/t/is_table_constraints.test
@@ -0,0 +1,331 @@
+# suite/funcs_1/t/is_table_constraints.test
+#
+# Check the layout of information_schema.table_constraints and the impact of
+# CREATE/ALTER/DROP TABLE/VIEW/SCHEMA/COLUMN ... on it.
+#
+# Note:
+# This test is not intended
+# - to show information about the all time existing tables
+# within the databases information_schema and mysql
+# - for checking storage engine properties
+# Therefore please do not alter $engine_typee.
+#
+# 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.
+#
+
+# --source suite/funcs_1/datadict/datadict.pre
+
+let $engine_type = MyISAM;
+
+let $is_table = TABLE_CONSTRAINTS;
+
+# The table INFORMATION_SCHEMA.TABLE_CONSTRAINTS must exist
+eval SHOW TABLES FROM information_schema LIKE '$is_table';
+
+--echo #######################################################################
+--echo # Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT
+--echo #######################################################################
+# Ensure that every INFORMATION_SCHEMA table can be queried with a SELECT
+# statement, just as if it were an ordinary user-defined table.
+#
+--source suite/funcs_1/datadict/is_table_query.inc
+
+
+--echo #########################################################################
+--echo # Testcase 3.2.10.1: INFORMATION_SCHEMA.TABLE_CONSTRAINTS layout
+--echo #########################################################################
+# Ensure that the INFORMATION_SCHEMA.TABLE_CONSTRAINTS table has the following
+# columns, in the following order:
+#
+# CONSTRAINT_CATALOG (always shows NULL),
+# CONSTRAINT_SCHEMA (shows the database, or schema, in which
+# a constraint an accessible table resides),
+# CONSTRAINT_NAME (shows the name of a constraint defined on
+# an accessible table),
+# TABLE_SCHEMA (shows the database, or schema, in which the
+# table resides),
+# TABLE_NAME (shows the name of the table),
+# CONSTRAINT_TYPE (shows the type of the constraint; either
+# 'primary key', 'foreign key', 'unique', 'check').
+#
+--source suite/funcs_1/datadict/datadict_bug_12777.inc
+eval DESCRIBE information_schema.$is_table;
+--source suite/funcs_1/datadict/datadict_bug_12777.inc
+eval SHOW CREATE TABLE information_schema.$is_table;
+--source suite/funcs_1/datadict/datadict_bug_12777.inc
+eval SHOW COLUMNS FROM information_schema.$is_table;
+
+# Note: Retrieval of information within information_schema.columns about
+# information_schema.table_constraints is in is_columns_is.test.
+
+# Show that CONSTRAINT_CATALOG IS NULL
+SELECT constraint_catalog, constraint_schema, constraint_name,
+ table_schema, table_name
+FROM information_schema.table_constraints
+WHERE constraint_catalog IS NOT NULL;
+
+
+--echo #########################################################################################
+--echo # Testcase 3.2.7.2 + 3.2.7.3: INFORMATION_SCHEMA.TABLE_CONSTRAINTS accessible information
+--echo #########################################################################################
+# 3.2.7.2: Ensure that the table shows the relevant information on every
+# column, defined to be part of an index key, which is accessible to
+# the current user or to PUBLIC.
+# 3.2.7.3: Ensure that the table does not show any information on any indexed
+# column that is not accessible to the current user or PUBLIC.
+#
+# Note: Check of content within table_constraints about tables within
+# database is checked in
+# mysql is_table_constraints_mysql
+# information_schema is_table_constraints_is
+#
+--disable_warnings
+DROP DATABASE IF EXISTS db_datadict;
+--enable_warnings
+CREATE DATABASE db_datadict;
+--replace_result $engine_type <some_engine_type>
+eval
+CREATE TABLE db_datadict.t1 (f1 BIGINT, f2 BIGINT, f3 BIGINT, f4 BIGINT,
+ f5 BIGINT, f6 BIGINT, PRIMARY KEY (f1,f2))
+ENGINE = $engine_type;
+CREATE UNIQUE INDEX my_idx1 ON db_datadict.t1(f6,f1);
+CREATE UNIQUE INDEX my_idx2 ON db_datadict.t1(f3);
+--replace_result $engine_type <some_engine_type>
+eval
+CREATE TABLE db_datadict.t2 (f1 BIGINT, f2 BIGINT, f3 BIGINT, f4 BIGINT,
+ f5 BIGINT, f6 BIGINT, PRIMARY KEY (f1,f2))
+ENGINE = $engine_type;
+
+--error 0,ER_CANNOT_USER
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+GRANT SELECT(f5) ON db_datadict.t1 TO 'testuser1'@'localhost';
+SHOW GRANTS FOR 'testuser1'@'localhost';
+
+let $my_select = SELECT * FROM information_schema.table_constraints
+WHERE table_schema = 'db_datadict'
+ORDER BY table_schema,table_name, constraint_name;
+let $my_show1 = SHOW INDEXES FROM db_datadict.t1;
+let $my_show2 = SHOW INDEXES FROM db_datadict.t2;
+
+eval $my_select;
+# 1 Table Note: We intentinally suppress the protocolling of all
+# 2 Non_unique output being not of interest or depending on
+# 3 Key_name storage engine used for the table.
+# 4 Seq_in_index
+# 5 Column_name
+# 6 Collation
+# 7 Cardinality
+# 8 Sub_part
+# 9 Packed
+# 10 Null
+# 11 Index_type
+# 12 Comment
+--replace_column 6 ### 7 ### 8 ### 9 ### 10 ### 11 ### 12 ###
+eval $my_show1;
+--replace_column 6 ### 7 ### 8 ### 9 ### 10 ### 11 ### 12 ###
+eval $my_show2;
+
+--echo # Establish connection testuser1 (user=testuser1)
+--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
+connect (testuser1, localhost, testuser1, , db_datadict);
+SHOW GRANTS FOR 'testuser1'@'localhost';
+eval $my_select;
+--replace_column 6 ### 7 ### 8 ### 9 ### 10 ### 11 ### 12 ###
+eval $my_show1;
+--error ER_TABLEACCESS_DENIED_ERROR
+eval $my_show2;
+
+# Cleanup
+--echo # Switch to connection default and close connection testuser1
+connection default;
+disconnect testuser1;
+DROP USER 'testuser1'@'localhost';
+DROP DATABASE db_datadict;
+
+
+--echo #########################################################################################
+--echo # Testcase 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.TABLE_CONSTRAINTS modifications
+--echo #########################################################################################
+# 3.2.1.13: Ensure that the creation of any new database object (e.g. table or
+# column) automatically inserts all relevant information on that
+# object into every appropriate INFORMATION_SCHEMA table.
+# 3.2.1.14: Ensure that the alteration of any existing database object
+# automatically updates all relevant information on that object in
+# every appropriate INFORMATION_SCHEMA table.
+# 3.2.1.15: Ensure that the dropping of any existing database object
+# automatically deletes all relevant information on that object from
+# every appropriate INFORMATION_SCHEMA table.
+#
+--disable_warnings
+DROP DATABASE IF EXISTS db_datadict;
+DROP TABLE IF EXISTS test.t1_my_table;
+--enable_warnings
+CREATE DATABASE db_datadict;
+
+SELECT table_name FROM information_schema.table_constraints
+WHERE table_name LIKE 't1_my_table%';
+--replace_result $engine_type <engine_type>
+eval
+CREATE TABLE test.t1_my_table
+ (f1 CHAR(12), f2 TIMESTAMP, f4 BIGINT, PRIMARY KEY(f1,f2))
+DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci
+ENGINE = $engine_type;
+# Settings used in CREATE TABLE must be visible
+# in information_schema.table_constraints.
+SELECT constraint_name, table_schema, table_name, constraint_type
+FROM information_schema.table_constraints
+WHERE table_name = 't1_my_table';
+#
+# Check modification of TABLE_NAME
+SELECT table_name FROM information_schema.table_constraints
+WHERE table_name LIKE 't1_my_table%';
+RENAME TABLE test.t1_my_table TO test.t1_my_tablex;
+SELECT table_name FROM information_schema.table_constraints
+WHERE table_name LIKE 't1_my_table%';
+#
+# Check modification of TABLE_SCHEMA
+SELECT table_schema,table_name FROM information_schema.table_constraints
+WHERE table_name = 't1_my_tablex';
+RENAME TABLE test.t1_my_tablex TO db_datadict.t1_my_tablex;
+SELECT table_schema,table_name FROM information_schema.table_constraints
+WHERE table_name = 't1_my_tablex';
+#
+let $my_select = SELECT constraint_schema, constraint_name, table_schema,
+table_name, constraint_type
+FROM information_schema.table_constraints
+WHERE table_name = 't1_my_tablex'
+ORDER BY table_schema,table_name, constraint_name;
+#
+# Check ADD INDEX being not UNIQUE (does not show up in table_constraints)
+eval $my_select;
+CREATE INDEX f2 ON db_datadict.t1_my_tablex(f2);
+eval $my_select;
+DROP INDEX f2 ON db_datadict.t1_my_tablex;
+#
+# Check ADD UNIQUE INDEX without name explicit assigned
+eval $my_select;
+ALTER TABLE db_datadict.t1_my_tablex ADD UNIQUE (f2);
+eval $my_select;
+DROP INDEX f2 ON db_datadict.t1_my_tablex;
+#
+# Check ADD UNIQUE INDEX with name explicit assigned
+eval $my_select;
+ALTER TABLE db_datadict.t1_my_tablex ADD UNIQUE my_idx (f4,f1);
+eval $my_select;
+DROP INDEX my_idx ON db_datadict.t1_my_tablex;
+eval $my_select;
+ALTER TABLE db_datadict.t1_my_tablex ADD UNIQUE my_idx (f2);
+eval $my_select;
+#
+# Check DROP COLUMN (removing an UNIQUE INDEX)
+eval $my_select;
+ALTER TABLE db_datadict.t1_my_tablex
+DROP COLUMN f2;
+eval $my_select;
+#
+# Check impact of DROP TABLE
+SELECT table_name
+FROM information_schema.table_constraints
+WHERE table_name = 't1_my_tablex';
+DROP TABLE db_datadict.t1_my_tablex;
+SELECT table_name
+FROM information_schema.table_constraints
+WHERE table_name = 't1_my_tablex';
+#
+# No UNIQUE CONSTRAINT -> no entry in key_column_usage
+SELECT table_name FROM information_schema.table_constraints
+WHERE table_name = 't1_my_tablex';
+--replace_result $engine_type <engine_type>
+eval
+CREATE TABLE db_datadict.t1_my_tablex
+ENGINE = $engine_type AS
+SELECT 1 AS f1;
+SELECT table_name FROM information_schema.table_constraints
+WHERE table_name = 't1_my_tablex';
+# UNIQUE CONSTRAINT -> entry in key_column_usage
+ALTER TABLE db_datadict.t1_my_tablex ADD PRIMARY KEY(f1);
+SELECT table_name FROM information_schema.table_constraints
+WHERE table_name = 't1_my_tablex';
+#
+# Check impact of DROP SCHEMA
+SELECT table_name FROM information_schema.table_constraints
+WHERE table_name = 't1_my_tablex';
+DROP DATABASE db_datadict;
+SELECT table_name FROM information_schema.table_constraints
+WHERE table_name = 't1_my_tablex';
+#
+
+
+--echo ########################################################################
+--echo # Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and
+--echo # DDL on INFORMATION_SCHEMA tables are not supported
+--echo ########################################################################
+# 3.2.1.3: Ensure that no user may execute an INSERT statement on any
+# INFORMATION_SCHEMA table.
+# 3.2.1.4: Ensure that no user may execute an UPDATE statement on any
+# INFORMATION_SCHEMA table.
+# 3.2.1.5: Ensure that no user may execute a DELETE statement on any
+# INFORMATION_SCHEMA table.
+# 3.2.1.8: Ensure that no user may create an index on an
+# INFORMATION_SCHEMA table.
+# 3.2.1.9: Ensure that no user may alter the definition of an
+# INFORMATION_SCHEMA table.
+# 3.2.1.10: Ensure that no user may drop an INFORMATION_SCHEMA table.
+# 3.2.1.11: Ensure that no user may move an INFORMATION_SCHEMA table to any
+# other database.
+# 3.2.1.12: Ensure that no user may directly add to, alter, or delete any data
+# in an INFORMATION_SCHEMA table.
+#
+--disable_warnings
+DROP DATABASE IF EXISTS db_datadict;
+DROP TABLE IF EXISTS db_datadict.t1;
+--enable_warnings
+CREATE DATABASE db_datadict;
+--replace_result $engine_type <engine_type>
+eval
+CREATE TABLE db_datadict.t1 (f1 BIGINT, UNIQUE(f1))
+ENGINE = $engine_type;
+
+--error ER_DBACCESS_DENIED_ERROR
+
+--error ER_DBACCESS_DENIED_ERROR
+INSERT INTO information_schema.table_constraints
+ (constraint_schema, constraint_name, table_name)
+VALUES ( 'mysql', 'primary', 'db');
+--error ER_DBACCESS_DENIED_ERROR
+INSERT INTO information_schema.table_constraints
+SELECT * FROM information_schema.table_constraints;
+
+--error ER_DBACCESS_DENIED_ERROR
+UPDATE information_schema.table_constraints
+SET table_name = 'db1' WHERE constraint_name = 'primary';
+
+--error ER_DBACCESS_DENIED_ERROR
+DELETE FROM information_schema.table_constraints WHERE table_name = 't1';
+--error ER_DBACCESS_DENIED_ERROR
+TRUNCATE information_schema.table_constraints;
+
+--error ER_DBACCESS_DENIED_ERROR
+CREATE INDEX i3 ON information_schema.table_constraints(table_name);
+
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.table_constraints ADD f1 INT;
+
+--error ER_DBACCESS_DENIED_ERROR
+DROP TABLE information_schema.table_constraints;
+
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.table_constraints
+RENAME db_datadict.table_constraints;
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.table_constraints
+RENAME information_schema.xtable_constraints;
+
+# Cleanup
+DROP TABLE db_datadict.t1;
+DROP DATABASE db_datadict;
+
diff --git a/mysql-test/suite/funcs_1/t/is_table_constraints_is.test b/mysql-test/suite/funcs_1/t/is_table_constraints_is.test
new file mode 100644
index 00000000000..6105126386a
--- /dev/null
+++ b/mysql-test/suite/funcs_1/t/is_table_constraints_is.test
@@ -0,0 +1,14 @@
+# suite/funcs_1/t/is_table_constraints_is.test
+#
+# Check the content of information_schema.table_constraints about tables within
+# the database information_schema with different privileged users.
+#
+# 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.
+#
+
+let $table_schema = information_schema;
+--source suite/funcs_1/datadict/table_constraints.inc
+
diff --git a/mysql-test/suite/funcs_1/t/is_table_constraints_mysql.test b/mysql-test/suite/funcs_1/t/is_table_constraints_mysql.test
new file mode 100644
index 00000000000..5ef1561ccdf
--- /dev/null
+++ b/mysql-test/suite/funcs_1/t/is_table_constraints_mysql.test
@@ -0,0 +1,14 @@
+# suite/funcs_1/t/is_table_constraints_mysql.test
+#
+# Check the content of information_schema.table_constraints about tables within
+# the database mysql (= the system tables) with different privileged users.
+#
+# 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.
+#
+
+let $table_schema = mysql;
+--source suite/funcs_1/datadict/table_constraints.inc
+
diff --git a/mysql-test/suite/funcs_1/t/is_table_privileges.test b/mysql-test/suite/funcs_1/t/is_table_privileges.test
new file mode 100644
index 00000000000..b095a5ddad6
--- /dev/null
+++ b/mysql-test/suite/funcs_1/t/is_table_privileges.test
@@ -0,0 +1,349 @@
+# suite/funcs_1/t/is_table_privileges.test
+#
+# Check the layout of information_schema.table_privileges and the impact of
+# CREATE/ALTER/DROP TABLE/VIEW/SCHEMA ... on it.
+#
+# Note:
+# This test is not intended
+# - to show information about the all time existing tables
+# within the databases information_schema and mysql
+# - for checking storage engine properties
+# Therefore please do not alter $engine_type and $other_engine_type.
+#
+# 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.
+#
+
+# --source suite/funcs_1/datadict/datadict.pre
+
+let $engine_type = MEMORY;
+let $other_engine_type = MyISAM;
+
+let $is_table = TABLE_PRIVILEGES;
+
+# The table INFORMATION_SCHEMA.TABLE_PRIVILEGES must exist
+eval SHOW TABLES FROM information_schema LIKE '$is_table';
+
+--echo #######################################################################
+--echo # Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT
+--echo #######################################################################
+# Ensure that every INFORMATION_SCHEMA table can be queried with a SELECT
+# statement, just as if it were an ordinary user-defined table.
+#
+--source suite/funcs_1/datadict/is_table_query.inc
+
+
+--echo #########################################################################
+--echo # Testcase 3.2.11.1: INFORMATION_SCHEMA.TABLE_PRIVILEGES layout
+--echo #########################################################################
+# Ensure that the INFORMATION_SCHEMA.TABLE_PRIVILEGES table has the following
+# columns, in the following order:
+#
+# GRANTEE (shows the name of a user who has either granted, or been granted a
+# table privilege),
+# TABLE_CATALOG (always shows NULL),
+# TABLE_SCHEMA (shows the name of the schema, or database, in which the table
+# for which a privilege has been granted resides),
+# TABLE_NAME (shows the name of the table),
+# PRIVILEGE_TYPE (shows the type of privilege that was granted; must be either
+# SELECT, INSERT, UPDATE, DELETE, REFERENCES, ALTER, INDEX, DROP or
+# CREATE VIEW),
+# IS_GRANTABLE (shows whether that privilege was granted WITH GRANT OPTION).
+#
+--source suite/funcs_1/datadict/datadict_bug_12777.inc
+eval DESCRIBE information_schema.$is_table;
+--source suite/funcs_1/datadict/datadict_bug_12777.inc
+eval SHOW CREATE TABLE information_schema.$is_table;
+--source suite/funcs_1/datadict/datadict_bug_12777.inc
+eval SHOW COLUMNS FROM information_schema.$is_table;
+
+# Note: Retrieval of information within information_schema.columns
+# about information_schema.table_privileges is in is_columns_is.test.
+
+# Show that TABLE_CATALOG is always NULL.
+SELECT table_catalog, table_schema, table_name, privilege_type
+FROM information_schema.table_privileges WHERE table_catalog IS NOT NULL;
+
+--echo ######################################################################
+--echo # Testcase 3.2.11.2+3.2.11.3+3.2.11.4:
+--echo # INFORMATION_SCHEMA.TABLE_PRIVILEGES accessible information
+--echo ######################################################################
+# 3.2.11.2: Ensure that the table shows the relevant information on every
+# table privilege which has been granted to the current user or
+# PUBLIC, or which was granted by the current user.
+# 3.2.11.3: Ensure that the table does not show any information on any table
+# privilege which was granted to any user other than the current
+# user or PUBLIC, or which was granted by any user other than the
+# current user.
+# 3.2.11.4: Ensure that the table does not show any information on any
+# privileges that are not table privileges for the current user.
+#
+# To be implemented:
+# Check of content within information_schema.table_privileges about
+# databases like 'information_schema' or 'mysql'.
+# 2008-02-15 Neither root nor a just created low privileged user has table
+# privileges within these schemas.
+#
+--disable_warnings
+DROP DATABASE IF EXISTS db_datadict;
+--enable_warnings
+CREATE DATABASE db_datadict;
+--replace_result $engine_type <engine_type>
+eval
+CREATE TABLE db_datadict.tb1(f1 INT, f2 INT, f3 INT)
+ENGINE = $engine_type;
+
+--error 0,ER_CANNOT_USER
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+GRANT CREATE, SELECT ON db_datadict.*
+TO 'testuser1'@'localhost' WITH GRANT OPTION;
+GRANT SELECT ON db_datadict.tb1 TO 'testuser1'@'localhost';
+--error 0,ER_CANNOT_USER
+DROP USER 'testuser2'@'localhost';
+CREATE USER 'testuser2'@'localhost';
+GRANT ALL ON db_datadict.tb1 TO 'testuser2'@'localhost' WITH GRANT OPTION;
+--error 0,ER_CANNOT_USER
+DROP USER 'testuser3'@'localhost';
+CREATE USER 'testuser3'@'localhost';
+
+let $my_select = SELECT * FROM information_schema.table_privileges
+WHERE table_name LIKE 'tb%'
+ORDER BY grantee,table_schema,table_name,privilege_type;
+
+--echo # Establish connection testuser1 (user=testuser1)
+--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
+connect (testuser1, localhost, testuser1, , db_datadict);
+--replace_result $other_engine_type <other_engine_type>
+eval
+CREATE TABLE tb3 (f1 TEXT)
+ENGINE = $other_engine_type;
+GRANT SELECT ON db_datadict.tb3 TO 'testuser3'@'localhost';
+eval $my_select;
+SHOW GRANTS FOR 'testuser1'@'localhost';
+
+--echo # Establish connection testuser2 (user=testuser3)
+--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
+connect (testuser2, localhost, testuser2, , db_datadict);
+# we see only table privileges for this user, and not any other privileges
+eval $my_select;
+SHOW GRANTS FOR 'testuser2'@'localhost';
+
+--echo # Establish connection testuser3 (user=testuser3)
+--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
+connect (testuser3, localhost, testuser3, , db_datadict);
+# we see only table privileges for this user, and not any other privileges
+eval $my_select;
+SHOW GRANTS FOR 'testuser3'@'localhost';
+
+--echo # Switch to connection default and close the other connections
+connection default;
+disconnect testuser1;
+disconnect testuser2;
+disconnect testuser3;
+
+# we see only 'public' table privileges
+eval $my_select;
+SHOW GRANTS FOR 'testuser1'@'localhost';
+SHOW GRANTS FOR 'testuser2'@'localhost';
+SHOW GRANTS FOR 'testuser3'@'localhost';
+
+# Cleanup
+DROP USER 'testuser1'@'localhost';
+DROP USER 'testuser2'@'localhost';
+DROP USER 'testuser3'@'localhost';
+DROP DATABASE db_datadict;
+
+
+--echo ################################################################################
+--echo # 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.TABLE_PRIVILEGES modifications
+--echo ################################################################################
+# 3.2.1.13: Ensure that the creation of any new database object (e.g. table or
+# column) automatically inserts all relevant information on that
+# object into every appropriate INFORMATION_SCHEMA table.
+# 3.2.1.14: Ensure that the alteration of any existing database object
+# automatically updates all relevant information on that object in
+# every appropriate INFORMATION_SCHEMA table.
+# 3.2.1.15: Ensure that the dropping of any existing database object
+# automatically deletes all relevant information on that object from
+# every appropriate INFORMATION_SCHEMA table.
+#
+# Note (mleich):
+# The MySQL privilege system allows to GRANT objects before they exist.
+# (Exception: Grant privileges for columns of not existing tables/views.)
+# There is also no migration of privileges if objects (tables,views,columns)
+# are moved to other databases (tables only), renamed or dropped.
+#
+--disable_warnings
+DROP TABLE IF EXISTS test.t1_table;
+DROP VIEW IF EXISTS test.t1_view;
+DROP DATABASE IF EXISTS db_datadict;
+--enable_warnings
+CREATE DATABASE db_datadict;
+--replace_result $engine_type <engine_type>
+eval
+CREATE TABLE test.t1_table (f1 BIGINT)
+DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci
+COMMENT = 'Initial Comment' ENGINE = $engine_type;
+CREATE VIEW test.t1_view AS SELECT 1;
+
+--error 0,ER_CANNOT_USER
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+--error 0,ER_CANNOT_USER
+DROP USER 'the_user'@'localhost';
+#
+# Check granted TABLE and VIEW
+SELECT table_name FROM information_schema.table_privileges
+WHERE table_name LIKE 't1_%';
+GRANT ALL ON test.t1_table TO 'testuser1'@'localhost';
+GRANT ALL ON test.t1_view TO 'testuser1'@'localhost';
+SELECT * FROM information_schema.table_privileges
+WHERE table_name LIKE 't1_%'
+ORDER BY grantee, table_schema, table_name, privilege_type;
+#
+# Check modification of GRANTEE (migration of permissions)
+SELECT DISTINCT grantee, table_name FROM information_schema.table_privileges
+WHERE table_name LIKE 't1_%'
+ORDER BY grantee, table_name;
+RENAME USER 'testuser1'@'localhost' TO 'the_user'@'localhost';
+# FIXME: mleich Workaround for bug to be reported
+# It looks like an immediate reloading of the system tables is missing in case
+# of RENAME USER.
+FLUSH PRIVILEGES;
+SELECT DISTINCT grantee, table_name FROM information_schema.table_privileges
+WHERE table_name LIKE 't1_%'
+ORDER BY grantee, table_name;
+--error ER_NONEXISTING_GRANT
+SHOW GRANTS FOR 'testuser1'@'localhost';
+SHOW GRANTS FOR 'the_user'@'localhost';
+#
+# Check modification of TABLE_SCHEMA (no migration of permissions)
+SELECT DISTINCT table_schema,table_name FROM information_schema.table_privileges
+WHERE table_name LIKE 't1_%'
+ORDER BY table_schema,table_name;
+RENAME TABLE test.t1_table TO db_datadict.t1_table;
+--error ER_FORBID_SCHEMA_CHANGE
+RENAME TABLE test.t1_view TO db_datadict.t1_view;
+SELECT DISTINCT table_schema,table_name FROM information_schema.table_privileges
+WHERE table_name LIKE 't1_%'
+ORDER BY table_schema,table_name;
+SHOW GRANTS FOR 'the_user'@'localhost';
+REVOKE ALL PRIVILEGES ON test.t1_table FROM 'the_user'@'localhost';
+REVOKE ALL PRIVILEGES ON test.t1_view FROM 'the_user'@'localhost';
+DROP VIEW test.t1_view;
+CREATE VIEW db_datadict.t1_view AS SELECT 1;
+GRANT ALL ON db_datadict.t1_table TO 'the_user'@'localhost';
+GRANT ALL ON db_datadict.t1_view TO 'the_user'@'localhost';
+#
+# Check modification of TABLE_NAME (no migration of permissions)
+SELECT DISTINCT table_name FROM information_schema.table_privileges
+WHERE table_name LIKE 't1_%'
+ORDER BY table_name;
+RENAME TABLE db_datadict.t1_table TO db_datadict.t1_tablex;
+RENAME TABLE db_datadict.t1_view TO db_datadict.t1_viewx;
+SELECT DISTINCT table_name FROM information_schema.table_privileges
+WHERE table_name LIKE 't1_%'
+ORDER BY table_name;
+RENAME TABLE db_datadict.t1_tablex TO db_datadict.t1_table;
+RENAME TABLE db_datadict.t1_viewx TO db_datadict.t1_view;
+#
+# Check impact of DROP TABLE/VIEW (no removal of permissions)
+SELECT DISTINCT table_name FROM information_schema.table_privileges
+WHERE table_name LIKE 't1_%'
+ORDER BY table_name;
+DROP TABLE db_datadict.t1_table;
+DROP VIEW db_datadict.t1_view;
+SELECT DISTINCT table_name FROM information_schema.table_privileges
+WHERE table_name LIKE 't1_%'
+ORDER BY table_name;
+#
+# Check impact of DROP SCHEMA (no removal of permissions)
+--replace_result $engine_type <engine_type>
+eval
+CREATE TABLE db_datadict.t1_table
+ENGINE = $engine_type AS
+SELECT 1;
+CREATE VIEW db_datadict.t1_view AS SELECT 1;
+GRANT ALL ON db_datadict.t1_table TO 'the_user'@'localhost';
+GRANT ALL ON db_datadict.t1_view TO 'the_user'@'localhost';
+SELECT DISTINCT table_name FROM information_schema.table_privileges
+WHERE table_name LIKE 't1_%'
+ORDER BY table_name;
+DROP DATABASE db_datadict;
+SELECT DISTINCT table_name FROM information_schema.table_privileges
+WHERE table_name LIKE 't1_%'
+ORDER BY table_name;
+
+# Cleanup
+DROP USER 'the_user'@'localhost';
+
+
+--echo ########################################################################
+--echo # Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and
+--echo # DDL on INFORMATION_SCHEMA table are not supported
+--echo ########################################################################
+# 3.2.1.3: Ensure that no user may execute an INSERT statement on any
+# INFORMATION_SCHEMA table.
+# 3.2.1.4: Ensure that no user may execute an UPDATE statement on any
+# INFORMATION_SCHEMA table.
+# 3.2.1.5: Ensure that no user may execute a DELETE statement on any
+# INFORMATION_SCHEMA table.
+# 3.2.1.8: Ensure that no user may create an index on an
+# INFORMATION_SCHEMA table.
+# 3.2.1.9: Ensure that no user may alter the definition of an
+# INFORMATION_SCHEMA table.
+# 3.2.1.10: Ensure that no user may drop an INFORMATION_SCHEMA table.
+# 3.2.1.11: Ensure that no user may move an INFORMATION_SCHEMA table to any
+# other database.
+# 3.2.1.12: Ensure that no user may directly add to, alter, or delete any data
+# in an INFORMATION_SCHEMA table.
+#
+--disable_warnings
+DROP DATABASE IF EXISTS db_datadict;
+--enable_warnings
+CREATE DATABASE db_datadict;
+--replace_result $engine_type <engine_type>
+eval
+CREATE TABLE db_datadict.t1 (f1 BIGINT, f2 BIGINT)
+ENGINE = $engine_type;
+--error 0,ER_CANNOT_USER
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+GRANT SELECT (f1) ON db_datadict.t1 TO 'testuser1'@'localhost';
+
+--error ER_DBACCESS_DENIED_ERROR
+INSERT INTO information_schema.table_privileges
+SELECT * FROM information_schema.table_privileges;
+
+--error ER_DBACCESS_DENIED_ERROR
+UPDATE information_schema.table_privileges SET table_schema = 'test'
+WHERE table_name = 't1';
+
+--error ER_DBACCESS_DENIED_ERROR
+DELETE FROM information_schema.table_privileges WHERE table_name = 't1';
+--error ER_DBACCESS_DENIED_ERROR
+TRUNCATE information_schema.table_privileges;
+
+--error ER_DBACCESS_DENIED_ERROR
+CREATE INDEX my_idx_on_tables
+ON information_schema.table_privileges(table_schema);
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.table_privileges ADD f1 INT;
+
+--error ER_DBACCESS_DENIED_ERROR
+DROP TABLE information_schema.table_privileges;
+
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.table_privileges
+RENAME db_datadict.table_privileges;
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.table_privileges
+RENAME information_schema.xtable_privileges;
+
+# Cleanup
+DROP DATABASE db_datadict;
+DROP USER 'testuser1'@'localhost';
+
diff --git a/mysql-test/suite/funcs_1/t/is_tables.test b/mysql-test/suite/funcs_1/t/is_tables.test
new file mode 100644
index 00000000000..35b6b7ef007
--- /dev/null
+++ b/mysql-test/suite/funcs_1/t/is_tables.test
@@ -0,0 +1,474 @@
+# suite/funcs_1/t/tables.test
+#
+# Check the layout of information_schema.tables and the impact of
+# CREATE/ALTER/DROP TABLE/VIEW/SCHEMA ... on it.
+#
+# Note:
+# This test is not intended
+# - to show information about the all time existing tables
+# within the databases information_schema and mysql
+# - for checking storage engine properties
+# Therefore please do not alter $engine_type and $other_engine_type.
+# Some results of the subtests depend on the storage engines assigned.
+#
+# 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.
+#
+
+# --source suite/funcs_1/datadict/datadict.pre
+
+let $engine_type = MEMORY;
+let $other_engine_type = MyISAM;
+
+let $is_table = TABLES;
+
+# The table INFORMATION_SCHEMA.TABLES must exist
+eval SHOW TABLES FROM information_schema LIKE '$is_table';
+
+--echo #######################################################################
+--echo # Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT
+--echo #######################################################################
+# Ensure that every INFORMATION_SCHEMA table can be queried with a SELECT
+# statement, just as if it were an ordinary user-defined table.
+#
+--source suite/funcs_1/datadict/is_table_query.inc
+
+
+--echo #########################################################################
+--echo # Testcase 3.2.12.1: INFORMATION_SCHEMA.TABLES layout
+--echo #########################################################################
+# Ensure that the INFORMATION_SCHEMA.TABLES table has the following columns,
+# in the following order:
+#
+# TABLE_CATALOG (always shows NULL),
+# TABLE_SCHEMA (shows the name of the database, or schema, in which an
+# accessible table resides),
+# TABLE_NAME (shows the name of a table which the current user may access),
+# TABLE_TYPE (shows whether the table is a BASE TABLE, a TEMPORARY table,
+# or a VIEW),
+# ENGINE (shows the storage engine used for the table),
+# VERSION (shows the version number of the table's .frm file),
+# ROW_FORMAT (shows the table's row storage format; either FIXED, DYNAMIC
+# or COMPRESSED),
+# TABLE_ROWS (shows the number of rows in the table),
+# AVG_ROW_LENGTH (shows the average length of the table's rows),
+# DATA_LENGTH (shows the length of the table's data file),
+# MAX_DATA_LENGTH (shows the maximum length of the table's data file),
+# INDEX_LENGTH (shows the length of the index file associated with the table),
+# DATA_FREE (shows the number of allocated, unused bytes),
+# AUTO_INCREMENT (shows the next AUTO_INCREMENT value, where applicable),
+# CREATE_TIME (shows the timestamp of the time the table was created),
+# UPDATE_TIME (shows the timestamp of the time the table's data file was
+# last updated),
+# CHECK_TIME (shows the timestamp of the time the table was last checked),
+# TABLE_COLLATION (shows the table's default collation),
+# CHECKSUM (shows the live checksum value for the table, if any; otherwise NULL),
+# CREATE_OPTIONS (shows any additional options used in the table's definition;
+# otherwise NULL),
+# TABLE_COMMENT (shows the comment added to the table's definition;
+# otherwise NULL).
+#
+--source suite/funcs_1/datadict/datadict_bug_12777.inc
+eval DESCRIBE information_schema.$is_table;
+--source suite/funcs_1/datadict/datadict_bug_12777.inc
+eval SHOW CREATE TABLE information_schema.$is_table;
+--source suite/funcs_1/datadict/datadict_bug_12777.inc
+eval SHOW COLUMNS FROM information_schema.$is_table;
+
+# Note: Retrieval of information within information_schema.columns about
+# information_schema.tables is in is_columns_is.test.
+
+# Show that TABLE_CATALOG is always NULL.
+SELECT table_catalog, table_schema, table_name
+FROM information_schema.tables WHERE table_catalog IS NOT NULL;
+
+
+--echo ################################################################################
+--echo # Testcase 3.2.12.2 + 3.2.12.3: INFORMATION_SCHEMA.TABLES accessible information
+--echo ################################################################################
+# 3.2.12.2: Ensure that the table shows the relevant information on every base table
+# and view on which the current user or PUBLIC has privileges.
+# 3.2.12.3: Ensure that the table does not show any information on any tables
+# on which the current user and public have no privileges.
+#
+# Note: Check of content within information_schema.tables about tables within
+# database is in
+# mysql is_tables_mysql.test
+# information_schema is_tables_is.test
+# test% is_tables_<engine>.test
+#
+--disable_warnings
+DROP DATABASE IF EXISTS db_datadict;
+--enable_warnings
+CREATE DATABASE db_datadict;
+
+--error 0,ER_CANNOT_USER
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+GRANT CREATE, CREATE VIEW, INSERT, SELECT ON db_datadict.*
+ TO 'testuser1'@'localhost' WITH GRANT OPTION;
+--error 0,ER_CANNOT_USER
+DROP USER 'testuser2'@'localhost';
+CREATE USER 'testuser2'@'localhost';
+--error 0,ER_CANNOT_USER
+DROP USER 'testuser3'@'localhost';
+CREATE USER 'testuser3'@'localhost';
+
+--replace_result $engine_type <engine_type>
+eval
+CREATE TABLE db_datadict.tb1 (f1 INT, f2 INT, f3 INT)
+ENGINE = $engine_type;
+
+GRANT SELECT ON db_datadict.tb1 TO 'testuser1'@'localhost';
+GRANT ALL ON db_datadict.tb1 TO 'testuser2'@'localhost' WITH GRANT OPTION;
+
+let $my_select = SELECT * FROM information_schema.tables
+WHERE table_schema = 'db_datadict' ORDER BY table_name;
+let $my_show = SHOW TABLES FROM db_datadict;
+
+--echo # Establish connection testuser1 (user=testuser1)
+--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
+connect (testuser1, localhost, testuser1, , db_datadict);
+# tb2 is not granted to anyone
+--replace_result $engine_type <engine_type>
+eval
+CREATE TABLE tb2 (f1 DECIMAL)
+ENGINE = $engine_type;
+--replace_result $engine_type <engine_type>
+eval
+CREATE TABLE tb3 (f1 VARCHAR(200))
+ENGINE = $engine_type;
+GRANT SELECT ON db_datadict.tb3 to 'testuser3'@'localhost';
+GRANT INSERT ON db_datadict.tb3 to 'testuser2'@'localhost';
+CREATE VIEW v3 AS SELECT * FROM tb3;
+GRANT SELECT ON db_datadict.v3 to 'testuser3'@'localhost';
+
+if ($have_bug_32285)
+{
+--disable_ps_protocol
+}
+# We do not want to check here values affected by
+# - the storage engine used
+# - Operating system / Filesystem
+# - start time of test
+# 1 TABLE_CATALOG
+# 2 TABLE_SCHEMA
+# 3 TABLE_NAME
+# 4 TABLE_TYPE
+# 5 ENGINE affected by storage engine used
+# 6 VERSION
+# 7 ROW_FORMAT affected by storage engine used
+# 8 TABLE_ROWS
+# 9 AVG_ROW_LENGTH affected by storage engine used
+# 10 DATA_LENGTH affected by storage engine used and maybe OS
+# 11 MAX_DATA_LENGTH affected by storage engine used and maybe OS
+# 12 INDEX_LENGTH affected by storage engine used and maybe OS
+# 13 DATA_FREE affected by storage engine used and maybe OS
+# 14 AUTO_INCREMENT
+# 15 CREATE_TIME depends roughly on start time of test (*)
+# 16 UPDATE_TIME depends roughly on start time of test (*)
+# 17 CHECK_TIME depends roughly on start time of test and storage engine (*)
+# 18 TABLE_COLLATION
+# 19 CHECKSUM affected by storage engine used
+# 20 CREATE_OPTIONS
+# 21 TABLE_COMMENT affected by some storage engines
+# (*) In case of view or temporary table NULL.
+--replace_column 5 "#ENG#" 7 "#RF#" 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "#CRT" 16 "#UT#" 17 "#CT#" 19 "#CS#"
+eval $my_select;
+--enable_ps_protocol
+--sorted_result
+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);
+if ($have_bug_32285)
+{
+--disable_ps_protocol
+}
+--replace_column 5 "#ENG#" 7 "#RF#" 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "#CRT" 16 "#UT#" 17 "#CT#" 19 "#CS#"
+eval $my_select;
+--enable_ps_protocol
+--sorted_result
+eval $my_show;
+
+--echo # Establish connection testuser3 (user=testuser3)
+--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
+connect (testuser3, localhost, testuser3, , db_datadict);
+if ($have_bug_32285)
+{
+--disable_ps_protocol
+}
+--replace_column 5 "#ENG#" 7 "#RF#" 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "#CRT" 16 "#UT#" 17 "#CT#" 19 "#CS#"
+eval $my_select;
+--enable_ps_protocol
+--sorted_result
+eval $my_show;
+
+--echo # Switch to connection default (user=root)
+connection default;
+# we see only 'public' tables
+if ($have_bug_32285)
+{
+--disable_ps_protocol
+}
+--replace_column 5 "#ENG#" 7 "#RF#" 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "#CRT" 16 "#UT#" 17 "#CT#" 19 "#CS#"
+eval $my_select;
+--enable_ps_protocol
+--sorted_result
+eval $my_show;
+
+# Cleanup
+--echo # Close connection testuser1, testuser2, testuser3
+disconnect testuser1;
+disconnect testuser2;
+disconnect testuser3;
+DROP USER 'testuser1'@'localhost';
+DROP USER 'testuser2'@'localhost';
+DROP USER 'testuser3'@'localhost';
+DROP DATABASE db_datadict;
+
+
+--echo #########################################################################
+--echo # 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.TABLES modifications
+--echo #########################################################################
+# 3.2.1.13: Ensure that the creation of any new database object (e.g. table or
+# column) automatically inserts all relevant information on that
+# object into every appropriate INFORMATION_SCHEMA table.
+# 3.2.1.14: Ensure that the alteration of any existing database object
+# automatically updates all relevant information on that object in
+# every appropriate INFORMATION_SCHEMA table.
+# 3.2.1.15: Ensure that the dropping of any existing database object
+# automatically deletes all relevant information on that object from
+# every appropriate INFORMATION_SCHEMA table.
+#
+--disable_warnings
+DROP TABLE IF EXISTS test.t1_my_table;
+DROP DATABASE IF EXISTS db_datadict;
+--enable_warnings
+CREATE DATABASE db_datadict;
+
+SELECT table_name FROM information_schema.tables
+WHERE table_name LIKE 't1_my_table%';
+--replace_result $engine_type <engine_type>
+eval
+CREATE TABLE test.t1_my_table (f1 BIGINT)
+DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci
+COMMENT = 'Initial Comment' ENGINE = $engine_type;
+# Settings used in CREATE TABLE must be visible in information_schema.tables.
+--vertical_results
+--replace_column 5 "#ENG#" 7 "#RF#" 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "#CRT" 16 "#UT#" 17 "#CT#" 19 "#CS#"
+SELECT * FROM information_schema.tables
+WHERE table_name = 't1_my_table';
+--horizontal_results
+#
+# Check modification of TABLE_NAME
+SELECT table_name FROM information_schema.tables
+WHERE table_name LIKE 't1_my_table%';
+RENAME TABLE test.t1_my_table TO test.t1_my_tablex;
+SELECT table_name FROM information_schema.tables
+WHERE table_name LIKE 't1_my_table%';
+#
+# Check modification of TABLE_SCHEMA
+SELECT table_schema,table_name FROM information_schema.tables
+WHERE table_name = 't1_my_tablex';
+RENAME TABLE test.t1_my_tablex TO db_datadict.t1_my_tablex;
+SELECT table_schema,table_name FROM information_schema.tables
+WHERE table_name = 't1_my_tablex';
+#
+# Check modification of ENGINE
+--replace_result $engine_type <engine_type>
+SELECT table_name, engine FROM information_schema.tables
+WHERE table_name = 't1_my_tablex';
+--replace_result $other_engine_type <other_engine_type>
+eval
+ALTER TABLE db_datadict.t1_my_tablex
+ENGINE = $other_engine_type;
+--replace_result $other_engine_type <other_engine_type>
+SELECT table_name, engine FROM information_schema.tables
+WHERE table_name = 't1_my_tablex';
+#
+# Check modification of TABLE_ROWS
+SELECT table_name, table_rows FROM information_schema.tables
+WHERE table_name = 't1_my_tablex';
+INSERT INTO db_datadict.t1_my_tablex VALUES(1),(2);
+SELECT table_name, table_rows FROM information_schema.tables
+WHERE table_name = 't1_my_tablex';
+#
+# Check indirect modification of TABLE_COLLATION
+SELECT table_name, table_collation FROM information_schema.tables
+WHERE table_name = 't1_my_tablex';
+ALTER TABLE db_datadict.t1_my_tablex DEFAULT CHARACTER SET utf8;
+SELECT table_name, table_collation FROM information_schema.tables
+WHERE table_name = 't1_my_tablex';
+# Check direct modification of TABLE_COLLATION
+SELECT table_name, table_collation FROM information_schema.tables
+WHERE table_name = 't1_my_tablex';
+ALTER TABLE db_datadict.t1_my_tablex
+DEFAULT CHARACTER SET latin1 COLLATE latin1_german1_ci;
+SELECT table_name, table_collation FROM information_schema.tables
+WHERE table_name = 't1_my_tablex';
+#
+# Check modification of TABLE_COMMENT
+SELECT table_name, TABLE_COMMENT FROM information_schema.tables
+WHERE table_name = 't1_my_tablex';
+ALTER TABLE db_datadict.t1_my_tablex COMMENT 'Changed Comment';
+SELECT table_name, TABLE_COMMENT FROM information_schema.tables
+WHERE table_name = 't1_my_tablex';
+#
+# Check modification of AUTO_INCREMENT
+SELECT table_name, AUTO_INCREMENT FROM information_schema.tables
+WHERE table_name = 't1_my_tablex';
+ALTER TABLE db_datadict.t1_my_tablex
+ADD f2 BIGINT AUTO_INCREMENT, ADD PRIMARY KEY (f2);
+SELECT table_name, AUTO_INCREMENT FROM information_schema.tables
+WHERE table_name = 't1_my_tablex';
+#
+# Check modification of ROW_FORMAT
+SELECT table_name, ROW_FORMAT FROM information_schema.tables
+WHERE table_name = 't1_my_tablex';
+ALTER TABLE db_datadict.t1_my_tablex ROW_FORMAT = dynamic;
+SELECT table_name, ROW_FORMAT FROM information_schema.tables
+WHERE table_name = 't1_my_tablex';
+#
+# Check "growth" of UPDATE_TIME and modification of CHECKSUM
+SELECT table_name, checksum FROM information_schema.tables
+WHERE table_name = 't1_my_tablex';
+ALTER TABLE db_datadict.t1_my_tablex CHECKSUM = 1;
+SELECT table_name, checksum IS NOT NULL FROM information_schema.tables
+WHERE table_name = 't1_my_tablex';
+SELECT UPDATE_TIME, checksum INTO @UPDATE_TIME, @checksum
+FROM information_schema.tables
+WHERE table_name = 't1_my_tablex';
+# Enforce a time difference bigger than the smallest unit (1 second).
+--real_sleep 1.1
+INSERT INTO db_datadict.t1_my_tablex SET f1 = 3;
+SELECT UPDATE_TIME > @UPDATE_TIME
+ AS "Is current UPDATE_TIME bigger than before last INSERT?"
+FROM information_schema.tables
+WHERE table_name = 't1_my_tablex';
+SELECT checksum <> @checksum
+ AS "Is current CHECKSUM different than before last INSERT?"
+FROM information_schema.tables
+WHERE table_name = 't1_my_tablex';
+#
+# Information is used later
+SELECT CREATE_TIME INTO @CREATE_TIME FROM information_schema.tables
+WHERE table_name = 't1_my_tablex';
+#
+# Check impact of DROP TABLE
+SELECT table_name FROM information_schema.tables
+WHERE table_name LIKE 't1_my_table%';
+DROP TABLE db_datadict.t1_my_tablex;
+SELECT table_name FROM information_schema.tables
+WHERE table_name LIKE 't1_my_table%';
+#
+# Check "growth" of CREATE_TIME
+--replace_result $other_engine_type <other_engine_type>
+eval
+CREATE TABLE test.t1_my_tablex (f1 BIGINT)
+ENGINE = $other_engine_type;
+SELECT CREATE_TIME > @CREATE_TIME
+ AS "Is current CREATE_TIME bigger than for the old dropped table?"
+FROM information_schema.tables
+WHERE table_name = 't1_my_tablex';
+DROP TABLE test.t1_my_tablex;
+#
+# Check a VIEW
+CREATE VIEW test.t1_my_tablex AS SELECT 1;
+--vertical_results
+SELECT * FROM information_schema.tables
+WHERE table_name = 't1_my_tablex';
+--horizontal_results
+DROP VIEW test.t1_my_tablex;
+SELECT table_name FROM information_schema.tables
+WHERE table_name = 't1_my_tablex';
+#
+# Check a temporary table
+--replace_result $other_engine_type <other_engine_type>
+eval
+CREATE TEMPORARY TABLE test.t1_my_tablex
+ENGINE = $other_engine_type
+ AS SELECT 1;
+--vertical_results
+SELECT table_name, table_type FROM information_schema.tables
+WHERE table_name = 't1_my_tablex';
+--horizontal_results
+DROP TEMPORARY TABLE test.t1_my_tablex;
+#
+# Check impact of DROP SCHEMA
+--replace_result $engine_type <engine_type>
+eval
+CREATE TABLE db_datadict.t1_my_tablex
+ENGINE = $engine_type AS
+SELECT 1;
+SELECT table_name FROM information_schema.tables
+WHERE table_name = 't1_my_tablex';
+DROP DATABASE db_datadict;
+SELECT table_name FROM information_schema.tables
+WHERE table_name = 't1_my_tablex';
+
+
+--echo ########################################################################
+--echo # Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and
+--echo # DDL on INFORMATION_SCHEMA tables are not supported
+--echo ########################################################################
+# 3.2.1.3: Ensure that no user may execute an INSERT statement on any
+# INFORMATION_SCHEMA table.
+# 3.2.1.4: Ensure that no user may execute an UPDATE statement on any
+# INFORMATION_SCHEMA table.
+# 3.2.1.5: Ensure that no user may execute a DELETE statement on any
+# INFORMATION_SCHEMA table.
+# 3.2.1.8: Ensure that no user may create an index on an
+# INFORMATION_SCHEMA table.
+# 3.2.1.9: Ensure that no user may alter the definition of an
+# INFORMATION_SCHEMA table.
+# 3.2.1.10: Ensure that no user may drop an INFORMATION_SCHEMA table.
+# 3.2.1.11: Ensure that no user may move an INFORMATION_SCHEMA table to any
+# other database.
+# 3.2.1.12: Ensure that no user may directly add to, alter, or delete any data
+# in an INFORMATION_SCHEMA table.
+#
+--disable_warnings
+DROP DATABASE IF EXISTS db_datadict;
+--enable_warnings
+CREATE DATABASE db_datadict;
+--replace_result $engine_type <engine_type>
+eval
+CREATE TABLE db_datadict.t1 (f1 BIGINT)
+ENGINE = $engine_type;
+
+--error ER_DBACCESS_DENIED_ERROR
+INSERT INTO information_schema.tables
+SELECT * FROM information_schema.tables;
+
+--error ER_DBACCESS_DENIED_ERROR
+UPDATE information_schema.tables SET table_schema = 'test'
+WHERE table_name = 't1';
+
+--error ER_DBACCESS_DENIED_ERROR
+DELETE FROM information_schema.tables WHERE table_name = 't1';
+--error ER_DBACCESS_DENIED_ERROR
+TRUNCATE information_schema.tables;
+
+--error ER_DBACCESS_DENIED_ERROR
+CREATE INDEX my_idx_on_tables ON information_schema.tables(table_schema);
+
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.tables DROP PRIMARY KEY;
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.tables ADD f1 INT;
+
+--error ER_DBACCESS_DENIED_ERROR
+DROP TABLE information_schema.tables;
+
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.tables RENAME db_datadict.tables;
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.tables RENAME information_schema.xtables;
+
+# Cleanup
+DROP DATABASE db_datadict;
+
diff --git a/mysql-test/suite/funcs_1/t/is_tables_innodb.test b/mysql-test/suite/funcs_1/t/is_tables_innodb.test
new file mode 100644
index 00000000000..31a3900c7c3
--- /dev/null
+++ b/mysql-test/suite/funcs_1/t/is_tables_innodb.test
@@ -0,0 +1,22 @@
+# suite/funcs_1/t/is_tables_innodb.test
+#
+# Check the content of information_schema.tables about tables within
+# the databases created by the user.
+# Variant for storage engine InnoDB
+#
+# 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.
+#
+
+--source include/have_innodb.inc
+let $engine_type= InnoDB;
+--source suite/funcs_1/datadict/datadict_load.inc
+--enable_abort_on_error
+
+# We look only for the tables created by datadict_load.inc.
+let $my_where = WHERE table_schema LIKE 'test%' AND table_type = 'BASE TABLE';
+--source suite/funcs_1/datadict/tables1.inc
+
+--source suite/funcs_1/include/cleanup.inc
diff --git a/mysql-test/suite/funcs_1/t/is_tables_is.test b/mysql-test/suite/funcs_1/t/is_tables_is.test
new file mode 100644
index 00000000000..66ad94f774b
--- /dev/null
+++ b/mysql-test/suite/funcs_1/t/is_tables_is.test
@@ -0,0 +1,18 @@
+# suite/funcs_1/t/is_tables_is.test
+#
+# Check the content of information_schema.tables about tables within
+# the database information_schema.
+#
+# Note: The INFORMATION_SCHEMA table PROFILING is optional (exists in MySQL
+# Community version only) and therefore we exclude it from retrieval.
+#
+# 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.
+#
+
+let $my_where = WHERE table_schema = 'information_schema'
+AND table_name <> 'profiling';
+--source suite/funcs_1/datadict/tables1.inc
+
diff --git a/mysql-test/suite/funcs_1/t/is_tables_memory.test b/mysql-test/suite/funcs_1/t/is_tables_memory.test
new file mode 100644
index 00000000000..8b5da595462
--- /dev/null
+++ b/mysql-test/suite/funcs_1/t/is_tables_memory.test
@@ -0,0 +1,22 @@
+# suite/funcs_1/t/is_tables_memory.test
+#
+# Check the content of information_schema.tables about tables within
+# the databases created by the user.
+# Variant for storage engine MEMORY
+#
+# 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.
+#
+
+let $engine_type= MEMORY;
+SET @@session.sql_mode = 'NO_ENGINE_SUBSTITUTION';
+--source suite/funcs_1/datadict/datadict_load.inc
+--enable_abort_on_error
+
+# We look only for the tables created by datadict_load.inc.
+let $my_where = WHERE table_schema LIKE 'test%' AND table_type = 'BASE TABLE';
+--source suite/funcs_1/datadict/tables1.inc
+
+--source suite/funcs_1/include/cleanup.inc
diff --git a/mysql-test/suite/funcs_1/t/is_tables_myisam.test b/mysql-test/suite/funcs_1/t/is_tables_myisam.test
new file mode 100644
index 00000000000..4fc88364d87
--- /dev/null
+++ b/mysql-test/suite/funcs_1/t/is_tables_myisam.test
@@ -0,0 +1,22 @@
+# suite/funcs_1/t/is_tables_myisam.test
+#
+# Check the content of information_schema.tables about tables within
+# the databases created by the user.
+# Variant for storage engine MyISAM
+#
+# 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.
+#
+
+let $engine_type= MyISAM;
+SET @@session.sql_mode = 'NO_ENGINE_SUBSTITUTION';
+--source suite/funcs_1/datadict/datadict_load.inc
+--enable_abort_on_error
+
+# We look only for the tables created by datadict_load.inc.
+let $my_where = WHERE table_schema LIKE 'test%' AND table_type = 'BASE TABLE';
+--source suite/funcs_1/datadict/tables1.inc
+
+--source suite/funcs_1/include/cleanup.inc
diff --git a/mysql-test/suite/funcs_1/t/is_tables_mysql.test b/mysql-test/suite/funcs_1/t/is_tables_mysql.test
new file mode 100644
index 00000000000..a6c3a72a1cf
--- /dev/null
+++ b/mysql-test/suite/funcs_1/t/is_tables_mysql.test
@@ -0,0 +1,14 @@
+# suite/funcs_1/t/is_tables_mysql.test
+#
+# Check the content of information_schema.tables about tables within
+# the database mysql (= the system tables).
+#
+# 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.
+#
+
+let $my_where = WHERE table_schema = 'mysql';
+--source suite/funcs_1/datadict/tables1.inc
+
diff --git a/mysql-test/suite/funcs_1/t/is_tables_ndb.test b/mysql-test/suite/funcs_1/t/is_tables_ndb.test
new file mode 100644
index 00000000000..49ce60b08bd
--- /dev/null
+++ b/mysql-test/suite/funcs_1/t/is_tables_ndb.test
@@ -0,0 +1,34 @@
+# 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.
+#
+
+--source include/have_ndb.inc
+let $engine_type= NDB;
+--source suite/funcs_1/datadict/datadict_load.inc
+--enable_abort_on_error
+
+# We look only for the tables created by datadict_load.inc.
+let $my_where = WHERE table_schema LIKE 'test%' AND table_type = 'BASE TABLE';
+--source suite/funcs_1/datadict/tables1.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_triggers.test b/mysql-test/suite/funcs_1/t/is_triggers.test
new file mode 100644
index 00000000000..1ec590ed76c
--- /dev/null
+++ b/mysql-test/suite/funcs_1/t/is_triggers.test
@@ -0,0 +1,257 @@
+# suite/funcs_1/t/is_triggers.test
+#
+# Check the layout of information_schema.triggers and the impact of
+# CREATE/ALTER/DROP TABLE/VIEW/SCHEMA ... on it.
+#
+# Note:
+# This test is not intended
+# - to show information about the all time existing triggers
+# (there are no in the moment) within the databases information_schema
+# and mysql
+# - for checking storage engine properties
+# Therefore please do not alter $engine_type and $other_engine_type.
+#
+# 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.
+#
+
+# --source suite/funcs_1/datadict/datadict.pre
+
+let $engine_type = MEMORY;
+let $other_engine_type = MyISAM;
+
+let $is_table = TRIGGERS;
+
+# The table INFORMATION_SCHEMA.TRIGGERS must exist
+eval SHOW TABLES FROM information_schema LIKE '$is_table';
+
+--echo #######################################################################
+--echo # Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT
+--echo #######################################################################
+# Ensure that every INFORMATION_SCHEMA table can be queried with a SELECT
+# statement, just as if it were an ordinary user-defined table.
+#
+--source suite/funcs_1/datadict/is_table_query.inc
+
+
+--echo #########################################################################
+--echo # Testcase 3.2.12.1: INFORMATION_SCHEMA.TRIGGERS layout
+--echo #########################################################################
+# Ensure that the INFORMATION_SCHEMA.TRIGGERS table has the following columns,
+# in the following order:
+#
+# TRIGGER_CATALOG NULL
+# TRIGGER_SCHEMA name of the database in which the trigger occurs
+# TRIGGER_NAME
+# EVENT_MANIPULATION event associated with the trigger
+# ('INSERT', 'DELETE', or 'UPDATE')
+# EVENT_OBJECT_CATALOG NULL
+# EVENT_OBJECT_SCHEMA database in which the table associated with the
+# trigger occurs
+# EVENT_OBJECT_TABLE name of the table associated with the trigger
+# ACTION_ORDER 0
+# ACTION_CONDITION NULL
+# ACTION_STATEMENT
+# ACTION_ORIENTATION ROW
+# ACTION_TIMING 'BEFORE' or 'AFTER'
+# ACTION_REFERENCE_OLD_TABLE NULL
+# ACTION_REFERENCE_NEW_TABLE NULL
+# ACTION_REFERENCE_OLD_ROW OLD
+# ACTION_REFERENCE_NEW_ROW NEW
+# CREATED NULL (0)
+# SQL_MODE server SQL mode that was in effect at the time
+# when the trigger was created
+# (also used during trigger execution)
+# DEFINER who defined the trigger
+#
+--source suite/funcs_1/datadict/datadict_bug_12777.inc
+eval DESCRIBE information_schema.$is_table;
+--source suite/funcs_1/datadict/datadict_bug_12777.inc
+eval SHOW CREATE TABLE information_schema.$is_table;
+--source suite/funcs_1/datadict/datadict_bug_12777.inc
+eval SHOW COLUMNS FROM information_schema.$is_table;
+
+
+# Note: Retrieval of information within information_schema.columns about
+# information_schema.tables is in is_columns_is.test.
+
+# Show that several columns are always NULL.
+SELECT * FROM information_schema.triggers
+WHERE trigger_catalog IS NOT NULL OR event_object_catalog IS NOT NULL
+ OR action_condition IS NOT NULL OR action_reference_old_table IS NOT NULL
+ OR action_reference_new_table IS NOT NULL;
+
+
+--echo ##################################################################################
+--echo # Testcase 3.2.18.2 + 3.2.18.3: INFORMATION_SCHEMA.TRIGGERS accessible information
+--echo ##################################################################################
+# 3.2.18.2: Ensure that the table shows the relevant information on every
+# trigger on which the current user or PUBLIC has privileges.
+# 3.2.18.3: Ensure that the table does not show any information on any trigger
+# on which the current user and public have no privileges.
+# The SUPER (before 5.1.22) or TRIGGER (since 5.1.22) privilege is required for
+# - creation of triggers
+# - retrieval in INFORMATION_SCHEMA.TRIGGERS (affects size of result set)
+#
+--disable_warnings
+DROP DATABASE IF EXISTS db_datadict;
+--enable_warnings
+CREATE DATABASE db_datadict;
+--error 0,ER_CANNOT_USER
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+--error 0,ER_CANNOT_USER
+DROP USER 'testuser2'@'localhost';
+CREATE USER 'testuser2'@'localhost';
+--error 0,ER_CANNOT_USER
+DROP USER 'testuser3'@'localhost';
+CREATE USER 'testuser3'@'localhost';
+--error 0,ER_CANNOT_USER
+DROP USER 'testuser4'@'localhost';
+CREATE USER 'testuser4'@'localhost';
+
+GRANT TRIGGER ON *.* TO 'testuser1'@'localhost';
+GRANT TRIGGER ON *.* TO 'testuser3'@'localhost';
+GRANT TRIGGER ON *.* TO 'testuser4'@'localhost';
+GRANT ALL ON db_datadict.* TO 'testuser1'@'localhost' WITH GRANT OPTION;
+
+let $my_select = SELECT * FROM information_schema.triggers
+WHERE trigger_name = 'trg1';
+let $my_show = SHOW TRIGGERS FROM db_datadict;
+--echo # Establish connection testuser1 (user=testuser1)
+--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
+connect (testuser1, localhost, testuser1, , db_datadict);
+--replace_result $engine_type <engine_type>
+eval
+CREATE TABLE db_datadict.t1 (f1 INT, f2 INT, f3 INT)
+ENGINE = $engine_type;
+CREATE TRIGGER trg1 BEFORE INSERT
+ON db_datadict.t1 FOR EACH ROW SET @test_before = 2, new.f1 = @test_before;
+GRANT ALL ON db_datadict.t1 TO 'testuser2'@'localhost';
+REVOKE TRIGGER ON db_datadict.t1 FROM 'testuser2'@'localhost';
+GRANT SELECT ON db_datadict.t1 TO 'testuser3'@'localhost';
+eval $my_select;
+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);
+SHOW GRANTS FOR 'testuser2'@'localhost';
+--echo # No TRIGGER Privilege --> no result for query
+eval $my_select;
+eval $my_show;
+
+--echo # Establish connection testuser3 (user=testuser3)
+--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
+connect (testuser3, localhost, testuser3, , test);
+SHOW GRANTS FOR 'testuser3'@'localhost';
+--echo # TRIGGER Privilege + SELECT Privilege on t1 --> result for query
+eval $my_select;
+eval $my_show;
+
+--echo # Establish connection testuser4 (user=testuser4)
+--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
+connect (testuser4, localhost, testuser4, , test);
+SHOW GRANTS FOR 'testuser4'@'localhost';
+--echo # TRIGGER Privilege + no SELECT Privilege on t1 --> result for query
+--disable_abort_on_error
+SELECT * FROM db_datadict.t1;
+DESC db_datadict.t1;
+eval $my_select;
+eval $my_show;
+
+--echo # Switch to connection default and close connections testuser1 - testuser4
+connection default;
+disconnect testuser1;
+disconnect testuser2;
+disconnect testuser3;
+disconnect testuser4;
+eval $my_select;
+eval $my_show;
+DROP USER 'testuser1'@'localhost';
+DROP USER 'testuser2'@'localhost';
+DROP USER 'testuser3'@'localhost';
+DROP USER 'testuser4'@'localhost';
+DROP DATABASE db_datadict;
+
+
+--echo #########################################################################
+--echo # 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.TRIGGERS modifications
+--echo #########################################################################
+# 3.2.1.13: Ensure that the creation of any new database object (e.g. table or
+# column) automatically inserts all relevant information on that
+# object into every appropriate INFORMATION_SCHEMA table.
+# 3.2.1.14: Ensure that the alteration of any existing database object
+# automatically updates all relevant information on that object in
+# every appropriate INFORMATION_SCHEMA table.
+# 3.2.1.15: Ensure that the dropping of any existing database object
+# automatically deletes all relevant information on that object from
+# every appropriate INFORMATION_SCHEMA table.
+# FIXME: To be implemented
+
+
+--echo ########################################################################
+--echo # Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and
+--echo # DDL on INFORMATION_SCHEMA tables are not supported
+--echo ########################################################################
+# 3.2.1.3: Ensure that no user may execute an INSERT statement on any
+# INFORMATION_SCHEMA table.
+# 3.2.1.4: Ensure that no user may execute an UPDATE statement on any
+# INFORMATION_SCHEMA table.
+# 3.2.1.5: Ensure that no user may execute a DELETE statement on any
+# INFORMATION_SCHEMA table.
+# 3.2.1.8: Ensure that no user may create an index on an
+# INFORMATION_SCHEMA table.
+# 3.2.1.9: Ensure that no user may alter the definition of an
+# INFORMATION_SCHEMA table.
+# 3.2.1.10: Ensure that no user may drop an INFORMATION_SCHEMA table.
+# 3.2.1.11: Ensure that no user may move an INFORMATION_SCHEMA table to any
+# other database.
+# 3.2.1.12: Ensure that no user may directly add to, alter, or delete any data
+# in an INFORMATION_SCHEMA table.
+#
+--disable_warnings
+DROP DATABASE IF EXISTS db_datadict;
+--enable_warnings
+CREATE DATABASE db_datadict;
+--replace_result $engine_type <engine_type>
+eval
+CREATE TABLE db_datadict.t1 (f1 BIGINT)
+ENGINE = $engine_type;
+CREATE TRIGGER db_datadict.trg1 BEFORE INSERT
+ON db_datadict.t1 FOR EACH ROW SET @test_before = 2, new.f1 = @test_before;
+
+--error ER_DBACCESS_DENIED_ERROR
+INSERT INTO information_schema.triggers
+SELECT * FROM information_schema.triggers;
+
+--error ER_DBACCESS_DENIED_ERROR
+UPDATE information_schema.triggers SET trigger_schema = 'test'
+WHERE table_name = 't1';
+
+--error ER_DBACCESS_DENIED_ERROR
+DELETE FROM information_schema.triggers WHERE trigger_name = 't1';
+--error ER_DBACCESS_DENIED_ERROR
+TRUNCATE information_schema.triggers;
+
+--error ER_DBACCESS_DENIED_ERROR
+CREATE INDEX my_idx_on_triggers ON information_schema.triggers(trigger_schema);
+
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.triggers DROP PRIMARY KEY;
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.triggers ADD f1 INT;
+
+--error ER_DBACCESS_DENIED_ERROR
+DROP TABLE information_schema.triggers;
+
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.triggers RENAME db_datadict.triggers;
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.triggers RENAME information_schema.xtriggers;
+
+# Cleanup
+DROP DATABASE db_datadict;
+
diff --git a/mysql-test/suite/funcs_1/t/is_user_privileges.test b/mysql-test/suite/funcs_1/t/is_user_privileges.test
new file mode 100644
index 00000000000..dc39ad6fe4f
--- /dev/null
+++ b/mysql-test/suite/funcs_1/t/is_user_privileges.test
@@ -0,0 +1,347 @@
+# suite/funcs_1/t/is_user_privileges.test
+#
+# Check the layout of information_schema.user_privileges, permissions and
+# the impact of CREATE/ALTER/DROP SCHEMA on it.
+#
+# Note:
+# This test is not intended
+# - to show information about the all time existing tables
+# within the databases information_schema and mysql
+# - for checking storage engine properties
+# Therefore please do not alter $engine_type and $other_engine_type.
+#
+# 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.
+#
+
+# --source suite/funcs_1/datadict/datadict.pre
+
+let $engine_type = MEMORY;
+let $other_engine_type = MyISAM;
+
+let $is_table = USER_PRIVILEGES;
+
+# The table INFORMATION_SCHEMA.USER_PRIVILEGES must exist
+eval SHOW TABLES FROM information_schema LIKE '$is_table';
+
+--echo #######################################################################
+--echo # Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT
+--echo #######################################################################
+# Ensure that every INFORMATION_SCHEMA table can be queried with a SELECT
+# statement, just as if it were an ordinary user-defined table.
+#
+--source suite/funcs_1/datadict/is_table_query.inc
+
+
+--echo #########################################################################
+--echo # Testcase 3.2.16.1: INFORMATION_SCHEMA.USER_PRIVILEGES layout
+--echo #########################################################################
+# Ensure that the INFORMATION_SCHEMA.USER_PRIVILEGES table has the following columns,
+# in the following order:
+#
+# GRANTEE (shows a user to whom a user privilege has been granted),
+# TABLE_CATALOG (always shows NULL),
+# PRIVILEGE_TYPE (shows the granted privilege),
+# IS_GRANTABLE (shows whether the privilege was granted WITH GRANT OPTION).
+#
+--source suite/funcs_1/datadict/datadict_bug_12777.inc
+eval DESCRIBE information_schema.$is_table;
+--source suite/funcs_1/datadict/datadict_bug_12777.inc
+eval SHOW CREATE TABLE information_schema.$is_table;
+--source suite/funcs_1/datadict/datadict_bug_12777.inc
+eval SHOW COLUMNS FROM information_schema.$is_table;
+
+# Note: Retrieval of information within information_schema.columns about
+# information_schema.user_privileges is in is_columns_is.test.
+
+# Show that TABLE_CATALOG is always NULL.
+SELECT grantee, table_catalog, privilege_type
+FROM information_schema.user_privileges
+WHERE table_catalog IS NOT NULL;
+
+
+--echo ##########################################################################
+--echo # Testcases 3.2.16.2+3.2.16.3+3.2.16.4: INFORMATION_SCHEMA.USER_PRIVILEGES
+--echo # accessible information
+--echo ##########################################################################
+# 3.2.16.2: Ensure that the table shows the relevant information on every user
+# privilege which has been granted to the current user or to PUBLIC,
+# or has been granted by the current user.
+# 3.2.16.3: Ensure that the table does not show any information on any user
+# privileges which have been granted to users other than the current
+# user or have been granted by any user other than the current user.
+# 3.2.16.4: Ensure that the table does not show any information on any
+# privileges that are not user privileges for the current user.
+#
+--disable_warnings
+DROP DATABASE IF EXISTS db_datadict;
+--enable_warnings
+CREATE DATABASE db_datadict;
+
+--error 0,ER_CANNOT_USER
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+--error 0,ER_CANNOT_USER
+DROP USER 'testuser2'@'localhost';
+CREATE USER 'testuser2'@'localhost';
+--error 0,ER_CANNOT_USER
+DROP USER 'testuser3'@'localhost';
+CREATE USER 'testuser3'@'localhost';
+
+GRANT SELECT ON db_datadict.* TO 'testuser1'@'localhost';
+GRANT SELECT ON mysql.user TO 'testuser1'@'localhost';
+
+GRANT INSERT ON *.* TO 'testuser2'@'localhost';
+GRANT UPDATE ON *.* TO 'testuser2'@'localhost';
+
+let $my_select1= SELECT * FROM information_schema.user_privileges
+WHERE grantee LIKE '''testuser%'''
+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;
+eval $my_select1;
+eval $my_select2;
+
+--echo #
+--echo # Add GRANT OPTION db_datadict.* to testuser1;
+GRANT UPDATE ON db_datadict.* TO 'testuser1'@'localhost' WITH GRANT OPTION;
+eval $my_select1;
+eval $my_select2;
+
+--echo # Establish connection testuser1 (user=testuser1)
+--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
+connect (testuser1, localhost, testuser1, , db_datadict);
+eval $my_select1;
+eval $my_select2;
+eval $my_show;
+
+--echo
+--echo # Now add SELECT on *.* to testuser1;
+
+--echo # Switch to connection default
+connection default;
+GRANT SELECT ON *.* TO 'testuser1'@'localhost';
+--echo #
+--echo # Here <SELECT NO> is shown correctly for testuser1;
+eval $my_select1;
+eval $my_select2;
+
+GRANT SELECT ON *.* TO 'testuser1'@'localhost' WITH GRANT OPTION;
+--echo #
+--echo # Here <SELECT YES> is shown correctly for testuser1;
+eval $my_select1;
+eval $my_select2;
+
+--echo # Switch to connection testuser1
+# check that this appears
+connection testuser1;
+eval $my_select1;
+eval $my_select2;
+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);
+eval $my_select1;
+--error ER_TABLEACCESS_DENIED_ERROR
+eval $my_select2;
+eval $my_show;
+
+--echo # Establish connection testuser3 (user=testuser3)
+--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
+connect (testuser3, localhost, testuser3, , test);
+eval $my_select1;
+--error ER_TABLEACCESS_DENIED_ERROR
+eval $my_select2;
+eval $my_show;
+
+--echo
+--echo # Revoke privileges from testuser1;
+--echo # Switch to connection default
+connection default;
+REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'testuser1'@'localhost';
+eval $my_select1;
+eval $my_select2;
+
+--echo # Switch to connection testuser1
+# check for changes
+connection testuser1;
+eval $my_select1;
+--error ER_TABLEACCESS_DENIED_ERROR
+eval $my_select2;
+eval $my_show;
+
+# OK, testuser1 has no privs here
+--error ER_TABLEACCESS_DENIED_ERROR
+CREATE TABLE db_datadict.tb_55 ( c1 TEXT );
+eval $my_select1;
+--error ER_TABLEACCESS_DENIED_ERROR
+eval $my_select2;
+eval $my_show;
+# OK, testuser1 has no privs here
+--error ER_TABLEACCESS_DENIED_ERROR
+CREATE TABLE db_datadict.tb_66 ( c1 TEXT );
+
+--echo
+--echo # Add ALL on db_datadict.* (and select on mysql.user) to testuser1;
+--echo # Switch to connection default
+connection default;
+GRANT ALL ON db_datadict.* TO 'testuser1'@'localhost' WITH GRANT OPTION;
+GRANT SELECT ON mysql.user TO 'testuser1'@'localhost';
+eval $my_select1;
+eval $my_select2;
+
+--echo # Switch to connection testuser1
+connection testuser1;
+eval $my_select1;
+eval $my_select2;
+eval $my_show;
+
+# OK, testuser1 has no privs here
+--error ER_TABLEACCESS_DENIED_ERROR
+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;
+eval $my_select1;
+eval $my_select2;
+eval $my_show;
+--replace_result $other_engine_type <other_engine_type>
+eval
+CREATE TABLE tb_57 ( c1 TEXT )
+ENGINE = $other_engine_type;
+
+--echo
+--echo # Revoke privileges from testuser1;
+--echo # Switch to connection default
+connection default;
+REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'testuser1'@'localhost';
+eval $my_select1;
+eval $my_select2;
+
+--echo # Switch to connection testuser1
+# check for changes
+connection testuser1;
+eval $my_select1;
+--error ER_TABLEACCESS_DENIED_ERROR
+eval $my_select2;
+eval $my_show;
+# WORKS, as the existing old privileges are used!
+--replace_result $other_engine_type <other_engine_type>
+eval
+CREATE TABLE db_datadict.tb_58 ( c1 TEXT )
+ENGINE = $other_engine_type;
+# existing privileges are "read" new when USE is called, user has no privileges
+--error ER_DBACCESS_DENIED_ERROR
+USE db_datadict;
+#FIXME 3.2.16: check that it is correct that this now 'works': --error ER_TABLEACCESS_DENIED_ERROR
+--replace_result $other_engine_type <other_engine_type>
+eval
+CREATE TABLE db_datadict.tb_59 ( c1 TEXT )
+ENGINE = $other_engine_type;
+
+# Cleanup
+--echo # Switch to connection default and close connections testuser1,testuser2,testuser3
+connection default;
+disconnect testuser1;
+disconnect testuser2;
+disconnect testuser3;
+DROP USER 'testuser1'@'localhost';
+DROP USER 'testuser2'@'localhost';
+DROP USER 'testuser3'@'localhost';
+DROP DATABASE IF EXISTS db_datadict;
+
+
+--echo ########################################################################################
+--echo # Testcases 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.USER_PRIVILEGES modifications
+--echo ########################################################################################
+# 3.2.1.13: Ensure that the creation of any new database object (e.g. table or
+# column) automatically inserts all relevant information on that
+# object into every appropriate INFORMATION_SCHEMA table.
+# 3.2.1.14: Ensure that the alteration of any existing database object
+# automatically updates all relevant information on that object in
+# every appropriate INFORMATION_SCHEMA table.
+# 3.2.1.15: Ensure that the dropping of any existing database object
+# automatically deletes all relevant information on that object from
+# every appropriate INFORMATION_SCHEMA table.
+#
+let $my_select = SELECT * FROM information_schema.user_privileges
+WHERE grantee = '''testuser1''@''localhost''';
+let $my_show = SHOW GRANTS FOR 'testuser1'@'localhost';
+eval $my_select;
+--error ER_NONEXISTING_GRANT
+eval $my_show;
+--error 0,ER_CANNOT_USER
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+eval $my_select;
+eval $my_show;
+GRANT SELECT, FILE ON *.* TO 'testuser1'@'localhost';
+eval $my_select;
+eval $my_show;
+DROP USER 'testuser1'@'localhost';
+eval $my_select;
+--error ER_NONEXISTING_GRANT
+eval $my_show;
+
+
+--echo ########################################################################
+--echo # Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and
+--echo # DDL on INFORMATION_SCHEMA tables are not supported
+--echo ########################################################################
+# 3.2.1.3: Ensure that no user may execute an INSERT statement on any
+# INFORMATION_SCHEMA table.
+# 3.2.1.4: Ensure that no user may execute an UPDATE statement on any
+# INFORMATION_SCHEMA table.
+# 3.2.1.5: Ensure that no user may execute a DELETE statement on any
+# INFORMATION_SCHEMA table.
+# 3.2.1.8: Ensure that no user may create an index on an
+# INFORMATION_SCHEMA table.
+# 3.2.1.9: Ensure that no user may alter the definition of an
+# INFORMATION_SCHEMA table.
+# 3.2.1.10: Ensure that no user may drop an INFORMATION_SCHEMA table.
+# 3.2.1.11: Ensure that no user may move an INFORMATION_SCHEMA table to any
+# other database.
+# 3.2.1.12: Ensure that no user may directly add to, alter, or delete any data
+# in an INFORMATION_SCHEMA table.
+#
+--error 0,ER_CANNOT_USER
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+
+--error ER_DBACCESS_DENIED_ERROR
+INSERT INTO information_schema.user_privileges
+SELECT * FROM information_schema.user_privileges;
+
+--error ER_DBACCESS_DENIED_ERROR
+UPDATE information_schema.user_privileges
+SET PRIVILEGE_TYPE = 'gaming';
+
+--error ER_DBACCESS_DENIED_ERROR
+DELETE FROM information_schema.user_privileges
+WHERE grantee = '''testuser1''@''localhost''';
+--error ER_DBACCESS_DENIED_ERROR
+TRUNCATE information_schema.user_privileges;
+
+--error ER_DBACCESS_DENIED_ERROR
+CREATE INDEX i1 ON information_schema.user_privileges(grantee);
+
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.user_privileges ADD f1 INT;
+
+--error ER_DBACCESS_DENIED_ERROR
+DROP TABLE information_schema.user_privileges;
+
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.user_privileges
+RENAME db_datadict.user_privileges;
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.user_privileges
+RENAME information_schema.xuser_privileges;
+
+# Cleanup
+DROP USER 'testuser1'@'localhost';
+
diff --git a/mysql-test/suite/funcs_1/t/is_views.test b/mysql-test/suite/funcs_1/t/is_views.test
new file mode 100644
index 00000000000..ba5a50d4afe
--- /dev/null
+++ b/mysql-test/suite/funcs_1/t/is_views.test
@@ -0,0 +1,308 @@
+# suite/funcs_1/t/is_views.test
+#
+# Check the layout of information_schema.views and the impact of
+# CREATE/ALTER/DROP TABLE/VIEW/SCHEMA ... on it.
+#
+# Note:
+# - This test should not check storage engine properties.
+# - Please do not change the storage engines used within this test
+# except you know that the impact is acceptable.
+# Some storage engines might not support the modification of
+# properties like in the following tests.
+#
+# 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.
+#
+
+# --source suite/funcs_1/datadict/datadict.pre
+
+let $engine_type = MEMORY;
+let $other_engine_type = MyISAM;
+
+let $is_table = VIEWS;
+
+# The table INFORMATION_SCHEMA.VIEWS must exist
+eval SHOW TABLES FROM information_schema LIKE '$is_table';
+
+--echo #######################################################################
+--echo # Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT
+--echo #######################################################################
+# Ensure that every INFORMATION_SCHEMA table can be queried with a SELECT
+# statement, just as if it were an ordinary user-defined table.
+#
+--source suite/funcs_1/datadict/is_table_query.inc
+
+
+--echo #########################################################################
+--echo # Testcase 3.2.13.1: INFORMATION_SCHEMA.VIEWS layout
+--echo #########################################################################
+# Ensure that the INFORMATION_SCHEMA.VIEWS table has the following columns,
+# in the following order:
+#
+# TABLE_CATALOG (always shows NULL),
+# TABLE_SCHEMA (shows the database, or schema, in which an accessible
+# view resides),
+# TABLE_NAME (shows the name of a view accessible to the current user),
+# VIEW_DEFINITION (shows the SELECT statement that makes up the
+# view's definition),
+# CHECK_OPTION (shows the value of the WITH CHECK OPTION clause used to define
+# the view, either NONE, LOCAL or CASCADED),
+# IS_UPDATABLE (shows whether the view is an updatable view),
+# DEFINER (added with 5.0.14),
+# SECURITY_TYPE (added with 5.0.14).
+# Since MySQL 5.1
+# CHARACTER_SET_CLIENT
+# COLLATION_CONNECTION
+#
+--source suite/funcs_1/datadict/datadict_bug_12777.inc
+eval DESCRIBE information_schema.$is_table;
+--source suite/funcs_1/datadict/datadict_bug_12777.inc
+eval SHOW CREATE TABLE information_schema.$is_table;
+--source suite/funcs_1/datadict/datadict_bug_12777.inc
+eval SHOW COLUMNS FROM information_schema.$is_table;
+
+# Note: Retrieval of information within information_schema.columns about
+# information_schema.views is in is_columns_is.test.
+
+# Show that TABLE_CATALOG is always NULL.
+SELECT table_catalog, table_schema, table_name
+FROM information_schema.views WHERE table_catalog IS NOT NULL;
+
+
+--echo ################################################################################
+--echo # Testcase 3.2.13.2 + 3.2.13.3: INFORMATION_SCHEMA.VIEWS accessible information
+--echo ################################################################################
+# 3.2.13.2: Ensure that the table shows the relevant information on every view for
+# which the current user or PUBLIC has the SHOW CREATE VIEW privilege.
+# 3.2.13.3: Ensure that the table does not show any information on any views for which
+# the current user and PUBLIC have no SHOW CREATE VIEW privilege.
+#
+--disable_warnings
+DROP DATABASE IF EXISTS db_datadict;
+--enable_warnings
+CREATE DATABASE db_datadict;
+
+--error 0,ER_CANNOT_USER
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+--error 0,ER_CANNOT_USER
+DROP USER 'testuser2'@'localhost';
+CREATE USER 'testuser2'@'localhost';
+--error 0,ER_CANNOT_USER
+DROP USER 'test_no_views'@'localhost';
+CREATE USER 'test_no_views'@'localhost';
+
+--replace_result $engine_type <engine_type>
+eval
+CREATE TABLE db_datadict.t1(f1 INT, f2 INT, f3 INT)
+ENGINE = $engine_type;
+CREATE VIEW db_datadict.v_granted_to_1 AS SELECT * FROM db_datadict.t1;
+CREATE VIEW db_datadict.v_granted_glob AS SELECT f2, f3 FROM db_datadict.t1;
+
+GRANT SELECT ON db_datadict.t1 TO 'testuser1'@'localhost';
+GRANT SELECT ON db_datadict.v_granted_to_1 TO 'testuser1'@'localhost';
+GRANT SHOW VIEW, CREATE VIEW ON db_datadict.* TO 'testuser2'@'localhost';
+
+let $select = SELECT * FROM information_schema.views
+WHERE table_schema = 'db_datadict' ORDER BY table_name;
+eval $select;
+
+--echo # Establish connection testuser1 (user=testuser1)
+--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
+connect (testuser1, localhost, testuser1, , test);
+eval $select;
+
+--echo # Establish connection testuser2 (user=testuser2)
+--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
+connect (testuser2, localhost, testuser2, , test);
+eval $select;
+
+--echo # Establish connection test_no_views (user=test_no_views)
+--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
+connect (test_no_views, localhost, test_no_views, , test);
+eval $select;
+
+# Cleanup
+--echo # Switch to connection default and close all other connections
+connection default;
+disconnect testuser1;
+disconnect testuser2;
+disconnect test_no_views;
+DROP USER 'testuser1'@'localhost';
+DROP USER 'testuser2'@'localhost';
+DROP USER 'test_no_views'@'localhost';
+DROP DATABASE db_datadict;
+
+--echo #########################################################################
+--echo # 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.VIEWS modifications
+--echo #########################################################################
+# 3.2.1.13: Ensure that the creation of any new database object (e.g. table or
+# column) automatically inserts all relevant information on that
+# object into every appropriate INFORMATION_SCHEMA table.
+# 3.2.1.14: Ensure that the alteration of any existing database object
+# automatically updates all relevant information on that object in
+# every appropriate INFORMATION_SCHEMA table.
+# 3.2.1.15: Ensure that the dropping of any existing database object
+# automatically deletes all relevant information on that object from
+# every appropriate INFORMATION_SCHEMA table.
+#
+--disable_warnings
+DROP TABLE IF EXISTS test.t1_my_table;
+DROP DATABASE IF EXISTS db_datadict;
+--enable_warnings
+CREATE DATABASE db_datadict;
+--replace_result $engine_type <engine_type>
+eval
+CREATE TABLE test.t1_table (f1 BIGINT, f2 CHAR(10))
+DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci
+ENGINE = $engine_type;
+--error 0,ER_CANNOT_USER
+DROP USER 'testuser1'@'localhost';
+CREATE USER 'testuser1'@'localhost';
+
+# Check just created VIEW
+SELECT * FROM information_schema.views
+WHERE table_name LIKE 't1_%';
+CREATE VIEW test.t1_view AS SELECT DISTINCT f1 FROM test.t1_table;
+SELECT * FROM information_schema.views
+WHERE table_name LIKE 't1_%';
+#
+# Check modification of DEFINER, SECURITY_TYPE, IS_UPDATABLE, VIEW_DEFINITION,
+# CHECK_OPTION
+SELECT table_name,definer FROM information_schema.views
+WHERE table_name = 't1_view';
+ALTER DEFINER = 'testuser1'@'localhost' VIEW test.t1_view AS
+SELECT DISTINCT f1 FROM test.t1_table;
+# The next result set could suffer from
+# Bug#22763 Disrepancy between SHOW CREATE VIEW and I_S.VIEWS
+# because the VIEW definition is missing.
+# Therefore we exclude the problematic columns from the result set.
+SELECT table_name,definer,security_type FROM information_schema.views
+WHERE table_name LIKE 't1_%';
+ALTER DEFINER = 'root'@'localhost' SQL SECURITY INVOKER VIEW test.t1_view AS
+SELECT f1 FROM test.t1_table WITH LOCAL CHECK OPTION;
+SELECT table_name,definer,security_type FROM information_schema.views
+WHERE table_name LIKE 't1_%';
+#
+# Check modification of TABLE_SCHEMA
+SELECT table_schema,table_name FROM information_schema.views
+WHERE table_name LIKE 't1_%'
+ORDER BY table_schema,table_name;
+--error ER_FORBID_SCHEMA_CHANGE
+RENAME TABLE test.t1_view TO db_datadict.t1_view;
+# Workaround for missing move to another database
+DROP VIEW test.t1_view;
+CREATE VIEW db_datadict.t1_view AS SELECT * FROM test.t1_table;
+SELECT table_schema,table_name FROM information_schema.views
+WHERE table_name LIKE 't1_%'
+ORDER BY table_schema,table_name;
+#
+# Check modification of TABLE_NAME
+SELECT table_name FROM information_schema.views
+WHERE table_name LIKE 't1_%'
+ORDER BY table_name;
+RENAME TABLE db_datadict.t1_view TO db_datadict.t1_viewx;
+SELECT table_name FROM information_schema.views
+WHERE table_name LIKE 't1_%'
+ORDER BY table_name;
+#
+# Check impact of DROP VIEW
+SELECT table_name FROM information_schema.views
+WHERE table_name LIKE 't1_%'
+ORDER BY table_name;
+DROP VIEW db_datadict.t1_viewx;
+SELECT table_name FROM information_schema.views
+WHERE table_name LIKE 't1_%'
+ORDER BY table_name;
+CREATE VIEW db_datadict.t1_view AS SELECT * FROM test.t1_table;
+#
+# Check impact of DROP base TABLE of VIEW
+SELECT table_name FROM information_schema.views
+WHERE table_name LIKE 't1_%'
+ORDER BY table_name;
+DROP TABLE test.t1_table;
+SELECT table_name FROM information_schema.views
+WHERE table_name LIKE 't1_%'
+ORDER BY table_name;
+--replace_result $engine_type <engine_type>
+eval
+CREATE TABLE test.t1_table (f1 BIGINT, f2 CHAR(10))
+DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci COMMENT = 'Initial Comment'
+ENGINE = $engine_type;
+#
+# Check impact of DROP SCHEMA
+SELECT table_name FROM information_schema.views
+WHERE table_name LIKE 't1_%'
+ORDER BY table_name;
+DROP DATABASE db_datadict;
+SELECT table_name FROM information_schema.views
+WHERE table_name LIKE 't1_%'
+ORDER BY table_name;
+
+# Cleanup
+DROP USER 'testuser1'@'localhost';
+DROP TABLE test.t1_table;
+
+--echo ########################################################################
+--echo # Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and
+--echo # DDL on INFORMATION_SCHEMA table are not supported
+--echo ########################################################################
+# 3.2.1.3: Ensure that no user may execute an INSERT statement on any
+# INFORMATION_SCHEMA table.
+# 3.2.1.4: Ensure that no user may execute an UPDATE statement on any
+# INFORMATION_SCHEMA table.
+# 3.2.1.5: Ensure that no user may execute a DELETE statement on any
+# INFORMATION_SCHEMA table.
+# 3.2.1.8: Ensure that no user may create an index on an
+# INFORMATION_SCHEMA table.
+# 3.2.1.9: Ensure that no user may alter the definition of an
+# INFORMATION_SCHEMA table.
+# 3.2.1.10: Ensure that no user may drop an INFORMATION_SCHEMA table.
+# 3.2.1.11: Ensure that no user may move an INFORMATION_SCHEMA table to any
+# other database.
+# 3.2.1.12: Ensure that no user may directly add to, alter, or delete any data
+# in an INFORMATION_SCHEMA table.
+#
+--disable_warnings
+DROP DATABASE IF EXISTS db_datadict;
+--enable_warnings
+CREATE DATABASE db_datadict;
+CREATE VIEW db_datadict.v1 AS SELECT 1;
+
+--error ER_DBACCESS_DENIED_ERROR
+INSERT INTO information_schema.views
+SELECT * FROM information_schema.views;
+--error ER_DBACCESS_DENIED_ERROR
+INSERT INTO information_schema.views(table_schema, table_name)
+VALUES ('db2', 'v2');
+
+--error ER_DBACCESS_DENIED_ERROR
+UPDATE information_schema.views SET table_schema = 'test'
+WHERE table_name = 't1';
+
+--error ER_DBACCESS_DENIED_ERROR
+DELETE FROM information_schema.views WHERE table_name = 't1';
+--error ER_DBACCESS_DENIED_ERROR
+TRUNCATE information_schema.views;
+
+--error ER_DBACCESS_DENIED_ERROR
+CREATE INDEX my_idx_on_views ON information_schema.views(table_schema);
+
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.views DROP PRIMARY KEY;
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.views ADD f1 INT;
+
+--error ER_DBACCESS_DENIED_ERROR
+DROP TABLE information_schema.views;
+
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.views RENAME db_datadict.views;
+--error ER_DBACCESS_DENIED_ERROR
+ALTER TABLE information_schema.views RENAME information_schema.xviews;
+
+# Cleanup
+DROP DATABASE db_datadict;
+
diff --git a/mysql-test/suite/funcs_1/t/memory__datadict.test b/mysql-test/suite/funcs_1/t/memory__datadict.test
deleted file mode 100644
index 29980be0115..00000000000
--- a/mysql-test/suite/funcs_1/t/memory__datadict.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#### suite/funcs_1/t/datadict_memory.test
-#
-let $engine_type= memory;
-
---source suite/funcs_1/datadict/datadict_master.inc
diff --git a/mysql-test/suite/funcs_1/t/memory__load.test b/mysql-test/suite/funcs_1/t/memory__load.test
deleted file mode 100644
index 44bd054f420..00000000000
--- a/mysql-test/suite/funcs_1/t/memory__load.test
+++ /dev/null
@@ -1,45 +0,0 @@
-##### suite/funcs_1/funcs_1/t/memory__load.test
-
-# Memory tables should be used
-#
-# Set $engine_type
-let $engine_type= memory;
-
-# Decide, if the objects are to be (re)created
-#
-# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE)
-# That means all objects have to be (re)created within the current script.
-#
-# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE)
-# That means the current script must not (re)create any object and every
-# testscript/case (re)creates only the objects it needs.
-
-eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1);
-
-# FIXME Replace the following, when "if" for mysqltest is available
-let $run= `SELECT @NO_REFRESH`;
-while ($run)
-{
-
- # Create some objects needed in many testcases
- USE test;
- --source suite/funcs_1/include/memory_tb1.inc
- --source suite/funcs_1/include/memory_tb2.inc
- --source suite/funcs_1/include/memory_tb3.inc
- --source suite/funcs_1/include/memory_tb4.inc
-
- # The database test1 is needed for the VIEW testcases
- --disable_warnings
- DROP DATABASE IF EXISTS test1;
- --enable_warnings
- CREATE DATABASE test1;
- USE test1;
- --source suite/funcs_1/include/memory_tb2.inc
- USE test;
-
- # These tables are needed for the stored procedure testscases
- --source suite/funcs_1/include/sp_tb.inc
-
- let $run= 0;
-}
-
diff --git a/mysql-test/suite/funcs_1/t/memory_bitdata.test b/mysql-test/suite/funcs_1/t/memory_bitdata.test
index 3aa30c2d835..af5d0a9c53b 100644
--- a/mysql-test/suite/funcs_1/t/memory_bitdata.test
+++ b/mysql-test/suite/funcs_1/t/memory_bitdata.test
@@ -5,28 +5,12 @@
# Set $engine_type
let $engine_type= memory;
-# Decide, if the objects are to be (re)created
-#
-# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE)
-# That means the current script must not (re)create any object.
-# It can expect, that the objects already exist.
-#
-# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE)
-# That means all objects have to be (re)created within the current script.
-
-eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1);
+let $message= NOT YET IMPLEMENTED: bitdata tests;
+--source include/show_msg80.inc
+exit;
-# FIXME Replace the following, when "if" for mysqltest is available
-let $run= `SELECT @NO_REFRESH = 0`;
-while ($run)
-{
-
- # Create some objects needed in many testcases
- USE test;
- --source suite/funcs_1/include/memory_tb4.inc
-
- let $run= 0;
-}
+# Create some objects needed in many testcases
+USE test;
+--source suite/funcs_1/include/memory_tb4.inc
--source suite/funcs_1/bitdata/bitdata_master.test
-
diff --git a/mysql-test/suite/funcs_1/t/memory_cursors.test b/mysql-test/suite/funcs_1/t/memory_cursors.test
index 1361c83ecb0..dc38a3dd0a3 100644
--- a/mysql-test/suite/funcs_1/t/memory_cursors.test
+++ b/mysql-test/suite/funcs_1/t/memory_cursors.test
@@ -5,28 +5,13 @@
# Set $engine_type
let $engine_type= memory;
-# Decide, if the objects are to be (re)created
-#
-# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE)
-# That means the current script must not (re)create any object.
-# It can expect, that the objects already exist.
-#
-# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE)
-# That means all objects have to be (re)created within the current script.
-
-eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1);
-
-# FIXME Replace the following, when "if" for mysqltest is available
-let $run= `SELECT @NO_REFRESH = 0`;
-while ($run)
-{
-
- # Create some objects needed in many testcases
- USE test;
- --source suite/funcs_1/include/memory_tb1.inc
+let $message= NOT YET IMPLEMENTED: cursor tests;
+--source include/show_msg80.inc
+exit;
- let $run= 0;
-}
+# Create some objects needed in many testcases
+USE test;
+--source suite/funcs_1/include/memory_tb1.inc
--source suite/funcs_1/cursors/cursors_master.test
diff --git a/mysql-test/suite/funcs_1/t/memory_storedproc.test b/mysql-test/suite/funcs_1/t/memory_storedproc.test
index df73fe6815b..405f4d49fd1 100644
--- a/mysql-test/suite/funcs_1/t/memory_storedproc.test
+++ b/mysql-test/suite/funcs_1/t/memory_storedproc.test
@@ -3,4 +3,6 @@
let $engine_type= memory;
+--source suite/funcs_1/storedproc/load_sp_tb.inc
+
--source suite/funcs_1/storedproc/storedproc_master.inc
diff --git a/mysql-test/suite/funcs_1/t/memory_storedproc_02.test b/mysql-test/suite/funcs_1/t/memory_storedproc_02.test
index f92657ee665..5b5e0b52932 100755..100644
--- a/mysql-test/suite/funcs_1/t/memory_storedproc_02.test
+++ b/mysql-test/suite/funcs_1/t/memory_storedproc_02.test
@@ -1,6 +1,6 @@
#### suite/funcs_1/t/memory_storedproc_02.test
#
-
+
let $engine_type= memory;
-
+
--source suite/funcs_1/storedproc/storedproc_02.inc
diff --git a/mysql-test/suite/funcs_1/t/memory_storedproc_03.test b/mysql-test/suite/funcs_1/t/memory_storedproc_03.test
index 8a839b255e1..61a601c8c66 100755..100644
--- a/mysql-test/suite/funcs_1/t/memory_storedproc_03.test
+++ b/mysql-test/suite/funcs_1/t/memory_storedproc_03.test
@@ -1,6 +1,6 @@
#### suite/funcs_1/t/memory_storedproc_03.test
#
-
+
let $engine_type= memory;
-
+
--source suite/funcs_1/storedproc/storedproc_03.inc
diff --git a/mysql-test/suite/funcs_1/t/memory_storedproc_06.test b/mysql-test/suite/funcs_1/t/memory_storedproc_06.test
index 059528590b9..ac4b1173553 100755..100644
--- a/mysql-test/suite/funcs_1/t/memory_storedproc_06.test
+++ b/mysql-test/suite/funcs_1/t/memory_storedproc_06.test
@@ -1,6 +1,6 @@
#### suite/funcs_1/t/memory_storedproc_06.test
#
-
+
let $engine_type= memory;
-
+
--source suite/funcs_1/storedproc/storedproc_06.inc
diff --git a/mysql-test/suite/funcs_1/t/memory_storedproc_07.test b/mysql-test/suite/funcs_1/t/memory_storedproc_07.test
index 1d7cee3dbd6..be74d5c9c38 100755..100644
--- a/mysql-test/suite/funcs_1/t/memory_storedproc_07.test
+++ b/mysql-test/suite/funcs_1/t/memory_storedproc_07.test
@@ -1,6 +1,6 @@
#### suite/funcs_1/t/memory_storedproc_07.test
#
-
+
let $engine_type= memory;
-
+
--source suite/funcs_1/storedproc/storedproc_07.inc
diff --git a/mysql-test/suite/funcs_1/t/memory_storedproc_08.test b/mysql-test/suite/funcs_1/t/memory_storedproc_08.test
index 304be8c477a..d898f288f29 100755..100644
--- a/mysql-test/suite/funcs_1/t/memory_storedproc_08.test
+++ b/mysql-test/suite/funcs_1/t/memory_storedproc_08.test
@@ -1,6 +1,6 @@
#### suite/funcs_1/t/memory_storedproc_08.test
#
-
+
let $engine_type= memory;
-
+
--source suite/funcs_1/storedproc/storedproc_08.inc
diff --git a/mysql-test/suite/funcs_1/t/memory_storedproc_10.test b/mysql-test/suite/funcs_1/t/memory_storedproc_10.test
index 13fbe99fabf..753e5d0bfc7 100755..100644
--- a/mysql-test/suite/funcs_1/t/memory_storedproc_10.test
+++ b/mysql-test/suite/funcs_1/t/memory_storedproc_10.test
@@ -1,6 +1,6 @@
#### suite/funcs_1/t/memory_storedproc_10.test
#
-
+
let $engine_type= memory;
-
+
--source suite/funcs_1/storedproc/storedproc_10.inc
diff --git a/mysql-test/suite/funcs_1/t/memory_trig_0102.test b/mysql-test/suite/funcs_1/t/memory_trig_0102.test
index efa739cfb14..c7b07cedfad 100644
--- a/mysql-test/suite/funcs_1/t/memory_trig_0102.test
+++ b/mysql-test/suite/funcs_1/t/memory_trig_0102.test
@@ -5,28 +5,10 @@
# Set $engine_type
let $engine_type= memory;
-# Decide, if the objects are to be (re)created
-#
-# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE)
-# That means the current script must not (re)create any object.
-# It can expect, that the objects already exist.
-#
-# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE)
-# That means all objects have to be (re)created within the current script.
-
-eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1);
-
-# FIXME Replace the following, when "if" for mysqltest is available
-let $run= `SELECT @NO_REFRESH = 0`;
-while ($run)
-{
-
- # Create some objects needed in many testcases
- USE test;
- --source suite/funcs_1/include/memory_tb3.inc
-
- let $run= 0;
-}
+# Create some objects needed in many testcases
+USE test;
+--source suite/funcs_1/include/memory_tb3.inc
--source suite/funcs_1/triggers/triggers_0102.inc
+DROP TABLE test.tb3;
diff --git a/mysql-test/suite/funcs_1/t/memory_trig_03.test b/mysql-test/suite/funcs_1/t/memory_trig_03.test
index 76980b6b1b0..b7205ce15d2 100644
--- a/mysql-test/suite/funcs_1/t/memory_trig_03.test
+++ b/mysql-test/suite/funcs_1/t/memory_trig_03.test
@@ -5,28 +5,10 @@
# Set $engine_type
let $engine_type= memory;
-# Decide, if the objects are to be (re)created
-#
-# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE)
-# That means the current script must not (re)create any object.
-# It can expect, that the objects already exist.
-#
-# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE)
-# That means all objects have to be (re)created within the current script.
-
-eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1);
-
-# FIXME Replace the following, when "if" for mysqltest is available
-let $run= `SELECT @NO_REFRESH = 0`;
-while ($run)
-{
-
- # Create some objects needed in many testcases
- USE test;
- --source suite/funcs_1/include/memory_tb3.inc
-
- let $run= 0;
-}
+# Create some objects needed in many testcases
+USE test;
+--source suite/funcs_1/include/memory_tb3.inc
--source suite/funcs_1/triggers/triggers_03.inc
+DROP TABLE test.tb3;
diff --git a/mysql-test/suite/funcs_1/t/memory_trig_03e.test b/mysql-test/suite/funcs_1/t/memory_trig_03e.test
index 58b2eade4a1..769aa005946 100644
--- a/mysql-test/suite/funcs_1/t/memory_trig_03e.test
+++ b/mysql-test/suite/funcs_1/t/memory_trig_03e.test
@@ -5,26 +5,8 @@
# Set $engine_type
let $engine_type= memory;
-# Decide, if the objects are to be (re)created
-#
-# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE)
-# That means the current script must not (re)create any object.
-# It can expect, that the objects already exist.
-#
-# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE)
-# That means all objects have to be (re)created within the current script.
-
-eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1);
-
-# FIXME Replace the following, when "if" for mysqltest is available
-let $run= `SELECT @NO_REFRESH = 0`;
-while ($run)
-{
-
- # Create some objects needed in many testcases
- USE test;
- let $run= 0;
-}
+# 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
@@ -34,6 +16,3 @@ while ($run)
--source suite/funcs_1/triggers/triggers_03e_definer.inc
--source suite/funcs_1/triggers/triggers_03e_columns.inc
-
-
-
diff --git a/mysql-test/suite/funcs_1/t/memory_trig_0407.test b/mysql-test/suite/funcs_1/t/memory_trig_0407.test
index 05217a7f97f..01b4bc39159 100644
--- a/mysql-test/suite/funcs_1/t/memory_trig_0407.test
+++ b/mysql-test/suite/funcs_1/t/memory_trig_0407.test
@@ -5,28 +5,10 @@
# Set $engine_type
let $engine_type= memory;
-# Decide, if the objects are to be (re)created
-#
-# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE)
-# That means the current script must not (re)create any object.
-# It can expect, that the objects already exist.
-#
-# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE)
-# That means all objects have to be (re)created within the current script.
-
-eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1);
-
-# FIXME Replace the following, when "if" for mysqltest is available
-let $run= `SELECT @NO_REFRESH = 0`;
-while ($run)
-{
-
- # Create some objects needed in many testcases
- USE test;
- --source suite/funcs_1/include/memory_tb3.inc
-
- let $run= 0;
-}
+# Create some objects needed in many testcases
+USE test;
+--source suite/funcs_1/include/memory_tb3.inc
--source suite/funcs_1/triggers/triggers_0407.inc
+DROP TABLE test.tb3;
diff --git a/mysql-test/suite/funcs_1/t/memory_trig_08.test b/mysql-test/suite/funcs_1/t/memory_trig_08.test
index 8caae1ec45f..bc09d4f3943 100644
--- a/mysql-test/suite/funcs_1/t/memory_trig_08.test
+++ b/mysql-test/suite/funcs_1/t/memory_trig_08.test
@@ -5,28 +5,10 @@
# Set $engine_type
let $engine_type= memory;
-# Decide, if the objects are to be (re)created
-#
-# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE)
-# That means the current script must not (re)create any object.
-# It can expect, that the objects already exist.
-#
-# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE)
-# That means all objects have to be (re)created within the current script.
-
-eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1);
-
-# FIXME Replace the following, when "if" for mysqltest is available
-let $run= `SELECT @NO_REFRESH = 0`;
-while ($run)
-{
-
- # Create some objects needed in many testcases
- USE test;
- --source suite/funcs_1/include/memory_tb3.inc
-
- let $run= 0;
-}
+# Create some objects needed in many testcases
+USE test;
+--source suite/funcs_1/include/memory_tb3.inc
--source suite/funcs_1/triggers/triggers_08.inc
+DROP TABLE test.tb3;
diff --git a/mysql-test/suite/funcs_1/t/memory_trig_09.test b/mysql-test/suite/funcs_1/t/memory_trig_09.test
index 95a7fefbe90..682e07f9fad 100644
--- a/mysql-test/suite/funcs_1/t/memory_trig_09.test
+++ b/mysql-test/suite/funcs_1/t/memory_trig_09.test
@@ -5,28 +5,10 @@
# Set $engine_type
let $engine_type= memory;
-# Decide, if the objects are to be (re)created
-#
-# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE)
-# That means the current script must not (re)create any object.
-# It can expect, that the objects already exist.
-#
-# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE)
-# That means all objects have to be (re)created within the current script.
-
-eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1);
-
-# FIXME Replace the following, when "if" for mysqltest is available
-let $run= `SELECT @NO_REFRESH = 0`;
-while ($run)
-{
-
- # Create some objects needed in many testcases
- USE test;
- --source suite/funcs_1/include/memory_tb3.inc
-
- let $run= 0;
-}
+# Create some objects needed in many testcases
+USE test;
+--source suite/funcs_1/include/memory_tb3.inc
--source suite/funcs_1/triggers/triggers_09.inc
+DROP TABLE test.tb3;
diff --git a/mysql-test/suite/funcs_1/t/memory_trig_1011ext.test b/mysql-test/suite/funcs_1/t/memory_trig_1011ext.test
index 726b878854e..c6dfe54b64d 100644
--- a/mysql-test/suite/funcs_1/t/memory_trig_1011ext.test
+++ b/mysql-test/suite/funcs_1/t/memory_trig_1011ext.test
@@ -5,28 +5,10 @@
# Set $engine_type
let $engine_type= memory;
-# Decide, if the objects are to be (re)created
-#
-# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE)
-# That means the current script must not (re)create any object.
-# It can expect, that the objects already exist.
-#
-# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE)
-# That means all objects have to be (re)created within the current script.
-
-eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1);
-
-# FIXME Replace the following, when "if" for mysqltest is available
-let $run= `SELECT @NO_REFRESH = 0`;
-while ($run)
-{
-
- # Create some objects needed in many testcases
- USE test;
- --source suite/funcs_1/include/memory_tb3.inc
-
- let $run= 0;
-}
+# Create some objects needed in many testcases
+USE test;
+--source suite/funcs_1/include/memory_tb3.inc
--source suite/funcs_1/triggers/triggers_1011ext.inc
+DROP TABLE test.tb3;
diff --git a/mysql-test/suite/funcs_1/t/memory_views.test b/mysql-test/suite/funcs_1/t/memory_views.test
index 303d0bb2ac1..b506f08cf31 100644
--- a/mysql-test/suite/funcs_1/t/memory_views.test
+++ b/mysql-test/suite/funcs_1/t/memory_views.test
@@ -5,40 +5,18 @@
# Set $engine_type
let $engine_type= memory;
-# Decide, if the objects are to be (re)created
-#
-# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE)
-# That means the current script must not (re)create any object.
-# It can expect, that the objects already exist.
-#
-# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE)
-# That means all objects have to be (re)created within the current script.
-
-eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1);
-
-let $run= `SELECT @NO_REFRESH = 0`;
-if ($run)
-{
-
- # Create some objects needed in many testcases
- USE test;
- --source suite/funcs_1/include/memory_tb2.inc
- --disable_warnings
- DROP DATABASE IF EXISTS test1;
- --enable_warnings
- CREATE DATABASE test1;
- USE test1;
- --source suite/funcs_1/include/memory_tb2.inc
- USE test;
-
-}
+# Create some objects needed in many testcases
+USE test;
+--source suite/funcs_1/include/memory_tb2.inc
+--disable_warnings
+DROP DATABASE IF EXISTS test1;
+--enable_warnings
+CREATE DATABASE test1;
+USE test1;
+--source suite/funcs_1/include/memory_tb2.inc
+USE test;
--source suite/funcs_1/views/views_master.inc
-
-# If we created the database in the above loop we now need to drop it
-let $run= `SELECT @NO_REFRESH = 0`;
-if ($run)
-{
- DROP DATABASE IF EXISTS test1;
-}
+DROP DATABASE test1;
+DROP TABLE test.tb2;
diff --git a/mysql-test/suite/funcs_1/t/myisam__datadict.test b/mysql-test/suite/funcs_1/t/myisam__datadict.test
deleted file mode 100644
index 5edaeb94ecd..00000000000
--- a/mysql-test/suite/funcs_1/t/myisam__datadict.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#### suite/funcs_1/t/datadict_myisam.test
-#
-let $engine_type= myisam;
-
---source suite/funcs_1/datadict/datadict_master.inc
diff --git a/mysql-test/suite/funcs_1/t/myisam__load.test b/mysql-test/suite/funcs_1/t/myisam__load.test
deleted file mode 100644
index b63044f128c..00000000000
--- a/mysql-test/suite/funcs_1/t/myisam__load.test
+++ /dev/null
@@ -1,45 +0,0 @@
-##### suite/funcs_1/funcs_1/t/myisam__load.test
-
-# MyISAM tables should be used
-#
-# Set $engine_type
-let $engine_type= myisam;
-
-# Decide, if the objects are to be (re)created
-#
-# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE)
-# That means all objects have to be (re)created within the current script.
-#
-# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE)
-# That means the current script must not (re)create any object and every
-# testscript/case (re)creates only the objects it needs.
-
-eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1);
-
-# FIXME Replace the following, when "if" for mysqltest is available
-let $run= `SELECT @NO_REFRESH`;
-while ($run)
-{
-
- # Create some objects needed in many testcases
- USE test;
- --source suite/funcs_1/include/myisam_tb1.inc
- --source suite/funcs_1/include/myisam_tb2.inc
- --source suite/funcs_1/include/myisam_tb3.inc
- --source suite/funcs_1/include/myisam_tb4.inc
-
- # The database test1 is needed for the VIEW testcases
- --disable_warnings
- DROP DATABASE IF EXISTS test1;
- --enable_warnings
- CREATE DATABASE test1;
- USE test1;
- --source suite/funcs_1/include/myisam_tb2.inc
- USE test;
-
- # These tables are needed for the stored procedure testscases
- --source suite/funcs_1/include/sp_tb.inc
-
- let $run= 0;
-}
-
diff --git a/mysql-test/suite/funcs_1/t/myisam_bitdata.test b/mysql-test/suite/funcs_1/t/myisam_bitdata.test
index 7ee15e02ea0..fc00cf478c7 100644
--- a/mysql-test/suite/funcs_1/t/myisam_bitdata.test
+++ b/mysql-test/suite/funcs_1/t/myisam_bitdata.test
@@ -5,28 +5,12 @@
# Set $engine_type
let $engine_type= myisam;
-# Decide, if the objects are to be (re)created
-#
-# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE)
-# That means the current script must not (re)create any object.
-# It can expect, that the objects already exist.
-#
-# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE)
-# That means all objects have to be (re)created within the current script.
-
-eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1);
+let $message= NOT YET IMPLEMENTED: bitdata tests;
+--source include/show_msg80.inc
+exit;
-# FIXME Replace the following, when "if" for mysqltest is available
-let $run= `SELECT @NO_REFRESH = 0`;
-while ($run)
-{
-
- # Create some objects needed in many testcases
- USE test;
- --source suite/funcs_1/include/myisam_tb4.inc
-
- let $run= 0;
-}
+# Create some objects needed in many testcases
+USE test;
+--source suite/funcs_1/include/myisam_tb4.inc
--source suite/funcs_1/bitdata/bitdata_master.test
-
diff --git a/mysql-test/suite/funcs_1/t/myisam_cursors.test b/mysql-test/suite/funcs_1/t/myisam_cursors.test
index 841903148cd..390d6cc1896 100644
--- a/mysql-test/suite/funcs_1/t/myisam_cursors.test
+++ b/mysql-test/suite/funcs_1/t/myisam_cursors.test
@@ -5,28 +5,13 @@
# Set $engine_type
let $engine_type= myisam;
-# Decide, if the objects are to be (re)created
-#
-# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE)
-# That means the current script must not (re)create any object.
-# It can expect, that the objects already exist.
-#
-# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE)
-# That means all objects have to be (re)created within the current script.
-
-eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1);
-
-# FIXME Replace the following, when "if" for mysqltest is available
-let $run= `SELECT @NO_REFRESH = 0`;
-while ($run)
-{
-
- # Create some objects needed in many testcases
- USE test;
- --source suite/funcs_1/include/myisam_tb1.inc
+let $message= NOT YET IMPLEMENTED: cursor tests;
+--source include/show_msg80.inc
+exit;
- let $run= 0;
-}
+# Create some objects needed in many testcases
+USE test;
+--source suite/funcs_1/include/myisam_tb1.inc
--source suite/funcs_1/cursors/cursors_master.test
diff --git a/mysql-test/suite/funcs_1/t/myisam_storedproc.test b/mysql-test/suite/funcs_1/t/myisam_storedproc.test
index 64fba295907..3925775d4e1 100644
--- a/mysql-test/suite/funcs_1/t/myisam_storedproc.test
+++ b/mysql-test/suite/funcs_1/t/myisam_storedproc.test
@@ -3,4 +3,6 @@
let $engine_type= myisam;
+--source suite/funcs_1/storedproc/load_sp_tb.inc
+
--source suite/funcs_1/storedproc/storedproc_master.inc
diff --git a/mysql-test/suite/funcs_1/t/myisam_storedproc_02.test b/mysql-test/suite/funcs_1/t/myisam_storedproc_02.test
index 108b0fe5611..be3e0e9685f 100755..100644
--- a/mysql-test/suite/funcs_1/t/myisam_storedproc_02.test
+++ b/mysql-test/suite/funcs_1/t/myisam_storedproc_02.test
@@ -1,6 +1,6 @@
#### suite/funcs_1/t/myisam_storedproc_02.test
#
-
+
let $engine_type= myisam;
-
+
--source suite/funcs_1/storedproc/storedproc_02.inc
diff --git a/mysql-test/suite/funcs_1/t/myisam_storedproc_03.test b/mysql-test/suite/funcs_1/t/myisam_storedproc_03.test
index b181e3ce7ab..740db774552 100755..100644
--- a/mysql-test/suite/funcs_1/t/myisam_storedproc_03.test
+++ b/mysql-test/suite/funcs_1/t/myisam_storedproc_03.test
@@ -1,6 +1,6 @@
#### suite/funcs_1/t/myisam_storedproc_03.test
#
-
+
let $engine_type= myisam;
-
+
--source suite/funcs_1/storedproc/storedproc_03.inc
diff --git a/mysql-test/suite/funcs_1/t/myisam_storedproc_06.test b/mysql-test/suite/funcs_1/t/myisam_storedproc_06.test
index 81d3d24a01f..1038a40b57d 100755..100644
--- a/mysql-test/suite/funcs_1/t/myisam_storedproc_06.test
+++ b/mysql-test/suite/funcs_1/t/myisam_storedproc_06.test
@@ -1,6 +1,6 @@
#### suite/funcs_1/t/myisam_storedproc_06.test
#
-
+
let $engine_type= myisam;
-
+
--source suite/funcs_1/storedproc/storedproc_06.inc
diff --git a/mysql-test/suite/funcs_1/t/myisam_storedproc_07.test b/mysql-test/suite/funcs_1/t/myisam_storedproc_07.test
index a02f2f544ee..674c3ef3fb6 100755..100644
--- a/mysql-test/suite/funcs_1/t/myisam_storedproc_07.test
+++ b/mysql-test/suite/funcs_1/t/myisam_storedproc_07.test
@@ -1,6 +1,6 @@
#### suite/funcs_1/t/myisam_storedproc_07.test
#
-
+
let $engine_type= myisam;
-
+
--source suite/funcs_1/storedproc/storedproc_07.inc
diff --git a/mysql-test/suite/funcs_1/t/myisam_storedproc_08.test b/mysql-test/suite/funcs_1/t/myisam_storedproc_08.test
index 24e574fa9e2..a27d593bd92 100755..100644
--- a/mysql-test/suite/funcs_1/t/myisam_storedproc_08.test
+++ b/mysql-test/suite/funcs_1/t/myisam_storedproc_08.test
@@ -1,6 +1,6 @@
#### suite/funcs_1/t/myisam_storedproc_08.test
#
-
+
let $engine_type= myisam;
-
+
--source suite/funcs_1/storedproc/storedproc_08.inc
diff --git a/mysql-test/suite/funcs_1/t/myisam_storedproc_10.test b/mysql-test/suite/funcs_1/t/myisam_storedproc_10.test
index 6b4f6c21b62..bfa83c01a57 100755..100644
--- a/mysql-test/suite/funcs_1/t/myisam_storedproc_10.test
+++ b/mysql-test/suite/funcs_1/t/myisam_storedproc_10.test
@@ -1,6 +1,6 @@
#### suite/funcs_1/t/myisam_storedproc_10.test
#
-
+
let $engine_type= myisam;
-
+
--source suite/funcs_1/storedproc/storedproc_10.inc
diff --git a/mysql-test/suite/funcs_1/t/myisam_trig_0102.test b/mysql-test/suite/funcs_1/t/myisam_trig_0102.test
index 77bde5f99ef..fd326b2f061 100644
--- a/mysql-test/suite/funcs_1/t/myisam_trig_0102.test
+++ b/mysql-test/suite/funcs_1/t/myisam_trig_0102.test
@@ -5,28 +5,10 @@
# Set $engine_type
let $engine_type= myisam;
-# Decide, if the objects are to be (re)created
-#
-# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE)
-# That means the current script must not (re)create any object.
-# It can expect, that the objects already exist.
-#
-# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE)
-# That means all objects have to be (re)created within the current script.
-
-eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1);
-
-# FIXME Replace the following, when "if" for mysqltest is available
-let $run= `SELECT @NO_REFRESH = 0`;
-while ($run)
-{
-
- # Create some objects needed in many testcases
- USE test;
- --source suite/funcs_1/include/myisam_tb3.inc
-
- let $run= 0;
-}
+# Create some objects needed in many testcases
+USE test;
+--source suite/funcs_1/include/myisam_tb3.inc
--source suite/funcs_1/triggers/triggers_0102.inc
+DROP TABLE test.tb3;
diff --git a/mysql-test/suite/funcs_1/t/myisam_trig_03.test b/mysql-test/suite/funcs_1/t/myisam_trig_03.test
index 6edaaf7d14c..77b2d16a2a6 100644
--- a/mysql-test/suite/funcs_1/t/myisam_trig_03.test
+++ b/mysql-test/suite/funcs_1/t/myisam_trig_03.test
@@ -5,28 +5,10 @@
# Set $engine_type
let $engine_type= myisam;
-# Decide, if the objects are to be (re)created
-#
-# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE)
-# That means the current script must not (re)create any object.
-# It can expect, that the objects already exist.
-#
-# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE)
-# That means all objects have to be (re)created within the current script.
-
-eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1);
-
-# FIXME Replace the following, when "if" for mysqltest is available
-let $run= `SELECT @NO_REFRESH = 0`;
-while ($run)
-{
-
- # Create some objects needed in many testcases
- USE test;
- --source suite/funcs_1/include/myisam_tb3.inc
-
- let $run= 0;
-}
+# Create some objects needed in many testcases
+USE test;
+--source suite/funcs_1/include/myisam_tb3.inc
--source suite/funcs_1/triggers/triggers_03.inc
+DROP TABLE test.tb3;
diff --git a/mysql-test/suite/funcs_1/t/myisam_trig_03e.test b/mysql-test/suite/funcs_1/t/myisam_trig_03e.test
index b0bc4a495ea..d906cff16b9 100644
--- a/mysql-test/suite/funcs_1/t/myisam_trig_03e.test
+++ b/mysql-test/suite/funcs_1/t/myisam_trig_03e.test
@@ -5,26 +5,8 @@
# Set $engine_type
let $engine_type= myisam;
-# Decide, if the objects are to be (re)created
-#
-# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE)
-# That means the current script must not (re)create any object.
-# It can expect, that the objects already exist.
-#
-# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE)
-# That means all objects have to be (re)created within the current script.
-
-eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1);
-
-# FIXME Replace the following, when "if" for mysqltest is available
-let $run= `SELECT @NO_REFRESH = 0`;
-while ($run)
-{
-
- # Create some objects needed in many testcases
- USE test;
- let $run= 0;
-}
+# 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
@@ -34,7 +16,3 @@ while ($run)
--source suite/funcs_1/triggers/triggers_03e_definer.inc
--source suite/funcs_1/triggers/triggers_03e_columns.inc
-
-
-
-
diff --git a/mysql-test/suite/funcs_1/t/myisam_trig_0407.test b/mysql-test/suite/funcs_1/t/myisam_trig_0407.test
index a28959b407e..e1e9b6fd230 100644
--- a/mysql-test/suite/funcs_1/t/myisam_trig_0407.test
+++ b/mysql-test/suite/funcs_1/t/myisam_trig_0407.test
@@ -5,28 +5,10 @@
# Set $engine_type
let $engine_type= myisam;
-# Decide, if the objects are to be (re)created
-#
-# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE)
-# That means the current script must not (re)create any object.
-# It can expect, that the objects already exist.
-#
-# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE)
-# That means all objects have to be (re)created within the current script.
-
-eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1);
-
-# FIXME Replace the following, when "if" for mysqltest is available
-let $run= `SELECT @NO_REFRESH = 0`;
-while ($run)
-{
-
- # Create some objects needed in many testcases
- USE test;
- --source suite/funcs_1/include/myisam_tb3.inc
-
- let $run= 0;
-}
+# Create some objects needed in many testcases
+USE test;
+--source suite/funcs_1/include/myisam_tb3.inc
--source suite/funcs_1/triggers/triggers_0407.inc
+DROP TABLE test.tb3;
diff --git a/mysql-test/suite/funcs_1/t/myisam_trig_08.test b/mysql-test/suite/funcs_1/t/myisam_trig_08.test
index dda01314052..225d994a732 100644
--- a/mysql-test/suite/funcs_1/t/myisam_trig_08.test
+++ b/mysql-test/suite/funcs_1/t/myisam_trig_08.test
@@ -5,28 +5,10 @@
# Set $engine_type
let $engine_type= myisam;
-# Decide, if the objects are to be (re)created
-#
-# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE)
-# That means the current script must not (re)create any object.
-# It can expect, that the objects already exist.
-#
-# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE)
-# That means all objects have to be (re)created within the current script.
-
-eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1);
-
-# FIXME Replace the following, when "if" for mysqltest is available
-let $run= `SELECT @NO_REFRESH = 0`;
-while ($run)
-{
-
- # Create some objects needed in many testcases
- USE test;
- --source suite/funcs_1/include/myisam_tb3.inc
-
- let $run= 0;
-}
+# Create some objects needed in many testcases
+USE test;
+--source suite/funcs_1/include/myisam_tb3.inc
--source suite/funcs_1/triggers/triggers_08.inc
+DROP TABLE test.tb3;
diff --git a/mysql-test/suite/funcs_1/t/myisam_trig_09.test b/mysql-test/suite/funcs_1/t/myisam_trig_09.test
index 9f2c932e608..f5c53f48adb 100644
--- a/mysql-test/suite/funcs_1/t/myisam_trig_09.test
+++ b/mysql-test/suite/funcs_1/t/myisam_trig_09.test
@@ -5,28 +5,10 @@
# Set $engine_type
let $engine_type= myisam;
-# Decide, if the objects are to be (re)created
-#
-# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE)
-# That means the current script must not (re)create any object.
-# It can expect, that the objects already exist.
-#
-# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE)
-# That means all objects have to be (re)created within the current script.
-
-eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1);
-
-# FIXME Replace the following, when "if" for mysqltest is available
-let $run= `SELECT @NO_REFRESH = 0`;
-while ($run)
-{
-
- # Create some objects needed in many testcases
- USE test;
- --source suite/funcs_1/include/myisam_tb3.inc
-
- let $run= 0;
-}
+# Create some objects needed in many testcases
+USE test;
+--source suite/funcs_1/include/myisam_tb3.inc
--source suite/funcs_1/triggers/triggers_09.inc
+DROP TABLE test.tb3;
diff --git a/mysql-test/suite/funcs_1/t/myisam_trig_1011ext.test b/mysql-test/suite/funcs_1/t/myisam_trig_1011ext.test
index b4d29476aa5..e7e36c39706 100644
--- a/mysql-test/suite/funcs_1/t/myisam_trig_1011ext.test
+++ b/mysql-test/suite/funcs_1/t/myisam_trig_1011ext.test
@@ -5,28 +5,10 @@
# Set $engine_type
let $engine_type= myisam;
-# Decide, if the objects are to be (re)created
-#
-# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE)
-# That means the current script must not (re)create any object.
-# It can expect, that the objects already exist.
-#
-# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE)
-# That means all objects have to be (re)created within the current script.
-
-eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1);
-
-# FIXME Replace the following, when "if" for mysqltest is available
-let $run= `SELECT @NO_REFRESH = 0`;
-while ($run)
-{
-
- # Create some objects needed in many testcases
- USE test;
- --source suite/funcs_1/include/myisam_tb3.inc
-
- let $run= 0;
-}
+# Create some objects needed in many testcases
+USE test;
+--source suite/funcs_1/include/myisam_tb3.inc
--source suite/funcs_1/triggers/triggers_1011ext.inc
+DROP TABLE test.tb3;
diff --git a/mysql-test/suite/funcs_1/t/myisam_views.test b/mysql-test/suite/funcs_1/t/myisam_views.test
index 3fa50a3a2a0..7fc1b991dc6 100644
--- a/mysql-test/suite/funcs_1/t/myisam_views.test
+++ b/mysql-test/suite/funcs_1/t/myisam_views.test
@@ -5,33 +5,16 @@
# Set $engine_type
let $engine_type= myisam;
-# Decide, if the objects are to be (re)created
-#
-# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE)
-# That means the current script must not (re)create any object.
-# It can expect, that the objects already exist.
-#
-# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE)
-# That means all objects have to be (re)created within the current script.
-
-eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1);
-
-let $run= `SELECT @NO_REFRESH = 0`;
-if ($run)
-{
-
- # Create some objects needed in many testcases
- USE test;
- --source suite/funcs_1/include/myisam_tb2.inc
- --disable_warnings
- DROP DATABASE IF EXISTS test1;
- --enable_warnings
- CREATE DATABASE test1;
- USE test1;
- --source suite/funcs_1/include/myisam_tb2.inc
- USE test;
-
-}
+# Create some objects needed in many testcases
+USE test;
+--source suite/funcs_1/include/myisam_tb2.inc
+--disable_warnings
+DROP DATABASE IF EXISTS test1;
+--enable_warnings
+CREATE DATABASE test1;
+USE test1;
+--source suite/funcs_1/include/myisam_tb2.inc
+USE test;
let $message= Attention: The nesting level @max_level in Testcase 3.3.1.A6
(Complicated nested VIEWs) has to be limited to 20 because of
@@ -40,10 +23,6 @@ let $message= Attention: The nesting level @max_level in Testcase 3.3.1.A6
SET @limit1 = 20;
--source suite/funcs_1/views/views_master.inc
-# If we created the database in the above loop we now need to drop it
-let $run= `SELECT @NO_REFRESH = 0`;
-if ($run)
-{
- DROP DATABASE IF EXISTS test1;
-}
+DROP DATABASE test1;
+DROP TABLE test.tb2;
diff --git a/mysql-test/suite/funcs_1/t/ndb__datadict.test b/mysql-test/suite/funcs_1/t/ndb__datadict.test
deleted file mode 100644
index fb16a3cca5c..00000000000
--- a/mysql-test/suite/funcs_1/t/ndb__datadict.test
+++ /dev/null
@@ -1,7 +0,0 @@
-#### suite/funcs_1/t/datadict_ndb.test
-#
---source include/have_ndb.inc
-
-let $engine_type= ndb;
-
---source suite/funcs_1/datadict/datadict_master.inc
diff --git a/mysql-test/suite/funcs_1/t/ndb__load.test b/mysql-test/suite/funcs_1/t/ndb__load.test
deleted file mode 100644
index 4f95065b285..00000000000
--- a/mysql-test/suite/funcs_1/t/ndb__load.test
+++ /dev/null
@@ -1,47 +0,0 @@
-##### suite/funcs_1/funcs_1/t/ndb__load.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;
-
-# Decide, if the objects are to be (re)created
-#
-# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE)
-# That means all objects have to be (re)created within the current script.
-#
-# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE)
-# That means the current script must not (re)create any object and every
-# testscript/case (re)creates only the objects it needs.
-
-eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1);
-
-# FIXME Replace the following, when "if" for mysqltest is available
-let $run= `SELECT @NO_REFRESH`;
-while ($run)
-{
-
- # Create some objects needed in many testcases
- USE test;
- --source suite/funcs_1/include/ndb_tb1.inc
- --source suite/funcs_1/include/ndb_tb2.inc
- --source suite/funcs_1/include/ndb_tb3.inc
- --source suite/funcs_1/include/ndb_tb4.inc
-
- # The database test1 is needed for the VIEW testcases
- --disable_warnings
- DROP DATABASE IF EXISTS test1;
- --enable_warnings
- CREATE DATABASE test1;
- USE test1;
- --source suite/funcs_1/include/ndb_tb2.inc
- USE test;
-
- # These tables are needed for the stored procedure testscases
- --source suite/funcs_1/include/sp_tb.inc
-
- let $run= 0;
-}
-
diff --git a/mysql-test/suite/funcs_1/t/ndb_bitdata.test b/mysql-test/suite/funcs_1/t/ndb_bitdata.test
index bd5072e123d..f685a4abc6d 100644
--- a/mysql-test/suite/funcs_1/t/ndb_bitdata.test
+++ b/mysql-test/suite/funcs_1/t/ndb_bitdata.test
@@ -1,34 +1,18 @@
#### suite/funcs_1/t/ndb_bitdata.test
-# InnoDB tables should be used
+# NDB tables should be used
#
# 1. Check if InnoDB is available
--source include/have_ndb.inc
# 2. Set $engine_type
let $engine_type= ndb;
-# Decide, if the objects are to be (re)created
-#
-# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE)
-# That means the current script must not (re)create any object.
-# It can expect, that the objects already exist.
-#
-# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE)
-# That means all objects have to be (re)created within the current script.
-
-eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1);
+let $message= NOT YET IMPLEMENTED: bitdata tests;
+--source include/show_msg80.inc
+exit;
-# FIXME Replace the following, when "if" for mysqltest is available
-let $run= `SELECT @NO_REFRESH = 0`;
-while ($run)
-{
+# Create some objects needed in many testcases
+USE test;
+--source suite/funcs_1/include/ndb_tb4.inc
- # Create some objects needed in many testcases
- USE test;
- --source suite/funcs_1/include/ndb_tb4.inc
-
- let $run= 0;
-}
-
--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
index 178622f4f48..6aeeb3f298d 100644
--- a/mysql-test/suite/funcs_1/t/ndb_cursors.test
+++ b/mysql-test/suite/funcs_1/t/ndb_cursors.test
@@ -1,34 +1,19 @@
#### suite/funcs_1/t/ndb_cursors.test
-# Innodb tables should be used
+# NDB tables should be used
#
# 1. Check if ndb is available
--source include/have_ndb.inc
# 2. Set $engine_type
let $engine_type= ndb;
-# Decide, if the objects are to be (re)created
-#
-# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE)
-# That means the current script must not (re)create any object.
-# It can expect, that the objects already exist.
-#
-# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE)
-# That means all objects have to be (re)created within the current script.
-
-eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1);
-
-# FIXME Replace the following, when "if" for mysqltest is available
-let $run= `SELECT @NO_REFRESH = 0`;
-while ($run)
-{
-
- # Create some objects needed in many testcases
- USE test;
- --source suite/funcs_1/include/ndb_tb1.inc
+let $message= NOT YET IMPLEMENTED: cursor tests;
+--source include/show_msg80.inc
+exit;
- let $run= 0;
-}
+# 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_storedproc.test b/mysql-test/suite/funcs_1/t/ndb_storedproc.test
new file mode 100644
index 00000000000..69d214c97ed
--- /dev/null
+++ b/mysql-test/suite/funcs_1/t/ndb_storedproc.test
@@ -0,0 +1,9 @@
+#### suite/funcs_1/t/ndb_storedproc.test
+#
+
+--source include/have_ndb.inc
+let $engine_type= ndb;
+
+--source suite/funcs_1/storedproc/load_sp_tb.inc
+
+--source suite/funcs_1/storedproc/storedproc_master.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
index cda1048631f..c8bb5b04b24 100644
--- a/mysql-test/suite/funcs_1/t/ndb_trig_0102.test
+++ b/mysql-test/suite/funcs_1/t/ndb_trig_0102.test
@@ -7,28 +7,10 @@
# 2. Set $engine_type
let $engine_type= ndb;
-# Decide, if the objects are to be (re)created
-#
-# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE)
-# That means the current script must not (re)create any object.
-# It can expect, that the objects already exist.
-#
-# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE)
-# That means all objects have to be (re)created within the current script.
-
-eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1);
-
-# FIXME Replace the following, when "if" for mysqltest is available
-let $run= `SELECT @NO_REFRESH = 0`;
-while ($run)
-{
-
- # Create some objects needed in many testcases
- USE test;
- --source suite/funcs_1/include/ndb_tb3.inc
+# Create some objects needed in many testcases
+USE test;
+--source suite/funcs_1/include/ndb_tb3.inc
- let $run= 0;
-}
-
--source suite/funcs_1/triggers/triggers_0102.inc
+DROP TABLE test.tb3;
diff --git a/mysql-test/suite/funcs_1/t/ndb_trig_03.test b/mysql-test/suite/funcs_1/t/ndb_trig_03.test
index e8478d4f0fc..4e9df0282c6 100644
--- a/mysql-test/suite/funcs_1/t/ndb_trig_03.test
+++ b/mysql-test/suite/funcs_1/t/ndb_trig_03.test
@@ -1,34 +1,16 @@
#### suite/funcs_1/t/ndb_triggers.test
-# InnoDB tables should be used
+# NDB tables should be used
#
# 1. Check if NDB is available
--source include/have_ndb.inc
# 2. Set $engine_type
let $engine_type= ndb;
-# Decide, if the objects are to be (re)created
-#
-# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE)
-# That means the current script must not (re)create any object.
-# It can expect, that the objects already exist.
-#
-# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE)
-# That means all objects have to be (re)created within the current script.
-
-eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1);
-
-# FIXME Replace the following, when "if" for mysqltest is available
-let $run= `SELECT @NO_REFRESH = 0`;
-while ($run)
-{
-
- # Create some objects needed in many testcases
- USE test;
- --source suite/funcs_1/include/ndb_tb3.inc
+# Create some objects needed in many testcases
+USE test;
+--source suite/funcs_1/include/ndb_tb3.inc
- let $run= 0;
-}
-
--source suite/funcs_1/triggers/triggers_03.inc
+DROP TABLE test.tb3;
diff --git a/mysql-test/suite/funcs_1/t/ndb_trig_03e.test b/mysql-test/suite/funcs_1/t/ndb_trig_03e.test
index 3d6c73cfe24..fd6db782c62 100644
--- a/mysql-test/suite/funcs_1/t/ndb_trig_03e.test
+++ b/mysql-test/suite/funcs_1/t/ndb_trig_03e.test
@@ -1,33 +1,15 @@
#### suite/funcs_1/t/ndb_triggers.test
-# InnoDB tables should be used
+# NDB tables should be used
#
# 1. Check if NDB is available
--source include/have_ndb.inc
# 2. Set $engine_type
let $engine_type= ndb;
-# Decide, if the objects are to be (re)created
-#
-# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE)
-# That means the current script must not (re)create any object.
-# It can expect, that the objects already exist.
-#
-# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE)
-# That means all objects have to be (re)created within the current script.
-
-eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1);
-
-# FIXME Replace the following, when "if" for mysqltest is available
-let $run= `SELECT @NO_REFRESH = 0`;
-while ($run)
-{
+# Create some objects needed in many testcases
+USE test;
- # Create some objects needed in many testcases
- USE test;
- let $run= 0;
-}
-
--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
@@ -37,6 +19,3 @@ while ($run)
--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
index 2825102643c..53c24790c7c 100644
--- a/mysql-test/suite/funcs_1/t/ndb_trig_0407.test
+++ b/mysql-test/suite/funcs_1/t/ndb_trig_0407.test
@@ -7,28 +7,10 @@
# 2. Set $engine_type
let $engine_type= ndb;
-# Decide, if the objects are to be (re)created
-#
-# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE)
-# That means the current script must not (re)create any object.
-# It can expect, that the objects already exist.
-#
-# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE)
-# That means all objects have to be (re)created within the current script.
-
-eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1);
-
-# FIXME Replace the following, when "if" for mysqltest is available
-let $run= `SELECT @NO_REFRESH = 0`;
-while ($run)
-{
-
- # Create some objects needed in many testcases
- USE test;
- --source suite/funcs_1/include/ndb_tb3.inc
+# Create some objects needed in many testcases
+USE test;
+--source suite/funcs_1/include/ndb_tb3.inc
- let $run= 0;
-}
-
--source suite/funcs_1/triggers/triggers_0407.inc
+DROP TABLE test.tb3;
diff --git a/mysql-test/suite/funcs_1/t/ndb_trig_08.test b/mysql-test/suite/funcs_1/t/ndb_trig_08.test
index 9c763c71b35..197989137d7 100644
--- a/mysql-test/suite/funcs_1/t/ndb_trig_08.test
+++ b/mysql-test/suite/funcs_1/t/ndb_trig_08.test
@@ -7,28 +7,10 @@
# 2. Set $engine_type
let $engine_type= ndb;
-# Decide, if the objects are to be (re)created
-#
-# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE)
-# That means the current script must not (re)create any object.
-# It can expect, that the objects already exist.
-#
-# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE)
-# That means all objects have to be (re)created within the current script.
-
-eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1);
-
-# FIXME Replace the following, when "if" for mysqltest is available
-let $run= `SELECT @NO_REFRESH = 0`;
-while ($run)
-{
-
- # Create some objects needed in many testcases
- USE test;
- --source suite/funcs_1/include/ndb_tb3.inc
+# Create some objects needed in many testcases
+USE test;
+--source suite/funcs_1/include/ndb_tb3.inc
- let $run= 0;
-}
-
--source suite/funcs_1/triggers/triggers_08.inc
+DROP TABLE test.tb3;
diff --git a/mysql-test/suite/funcs_1/t/ndb_trig_09.test b/mysql-test/suite/funcs_1/t/ndb_trig_09.test
index 7cc63e47f8a..ff26a0cbf21 100644
--- a/mysql-test/suite/funcs_1/t/ndb_trig_09.test
+++ b/mysql-test/suite/funcs_1/t/ndb_trig_09.test
@@ -7,28 +7,10 @@
# 2. Set $engine_type
let $engine_type= ndb;
-# Decide, if the objects are to be (re)created
-#
-# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE)
-# That means the current script must not (re)create any object.
-# It can expect, that the objects already exist.
-#
-# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE)
-# That means all objects have to be (re)created within the current script.
-
-eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1);
-
-# FIXME Replace the following, when "if" for mysqltest is available
-let $run= `SELECT @NO_REFRESH = 0`;
-while ($run)
-{
-
- # Create some objects needed in many testcases
- USE test;
- --source suite/funcs_1/include/ndb_tb3.inc
+# Create some objects needed in many testcases
+USE test;
+--source suite/funcs_1/include/ndb_tb3.inc
- let $run= 0;
-}
-
--source suite/funcs_1/triggers/triggers_09.inc
+DROP TABLE test.tb3;
diff --git a/mysql-test/suite/funcs_1/t/ndb_trig_1011ext.test b/mysql-test/suite/funcs_1/t/ndb_trig_1011ext.test
index 9b0b966deaf..2adcf0747b7 100644
--- a/mysql-test/suite/funcs_1/t/ndb_trig_1011ext.test
+++ b/mysql-test/suite/funcs_1/t/ndb_trig_1011ext.test
@@ -7,28 +7,10 @@
# 2. Set $engine_type
let $engine_type= ndb;
-# Decide, if the objects are to be (re)created
-#
-# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE)
-# That means the current script must not (re)create any object.
-# It can expect, that the objects already exist.
-#
-# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE)
-# That means all objects have to be (re)created within the current script.
-
-eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1);
-
-# FIXME Replace the following, when "if" for mysqltest is available
-let $run= `SELECT @NO_REFRESH = 0`;
-while ($run)
-{
-
- # Create some objects needed in many testcases
- USE test;
- --source suite/funcs_1/include/ndb_tb3.inc
+# Create some objects needed in many testcases
+USE test;
+--source suite/funcs_1/include/ndb_tb3.inc
- let $run= 0;
-}
-
--source suite/funcs_1/triggers/triggers_1011ext.inc
+DROP TABLE test.tb3;
diff --git a/mysql-test/suite/funcs_1/t/ndb_views.test b/mysql-test/suite/funcs_1/t/ndb_views.test
index 55b8f4757fe..910b8adb189 100644
--- a/mysql-test/suite/funcs_1/t/ndb_views.test
+++ b/mysql-test/suite/funcs_1/t/ndb_views.test
@@ -7,40 +7,18 @@
# 2. Set $engine_type
let $engine_type= ndb;
-# Decide, if the objects are to be (re)created
-#
-# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE)
-# That means the current script must not (re)create any object.
-# It can expect, that the objects already exist.
-#
-# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE)
-# That means all objects have to be (re)created within the current script.
-
-eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1);
+# 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;
-let $run= `SELECT @NO_REFRESH = 0`;
-if ($run)
-{
-
- # 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
-
-# If we created the database in the above loop we now need to drop it
-let $run= `SELECT @NO_REFRESH = 0`;
-if ($run)
-{
- DROP DATABASE IF EXISTS test1;
-}
+DROP DATABASE test1;
+DROP TABLE test.tb2;
diff --git a/mysql-test/suite/funcs_1/t/processlist_priv_no_prot.test b/mysql-test/suite/funcs_1/t/processlist_priv_no_prot.test
new file mode 100644
index 00000000000..84b852c85b1
--- /dev/null
+++ b/mysql-test/suite/funcs_1/t/processlist_priv_no_prot.test
@@ -0,0 +1,30 @@
+############ suite/funcs_1/t/processlist_priv_no_prot.test #############
+# #
+# Testing of privileges around #
+# SELECT ... PROCESSLIST/SHOW PROCESSLIST #
+# #
+# The prepared statement variant of this test is #
+# suite/funcs_1/t/b_processlist_priv_ps.test. #
+# #
+# There is important documentation within #
+# suite/funcs_1/datadict/processlist_priv.inc #
+# #
+# Creation: #
+# 2007-08-14 mleich Create this test as part of #
+# WL#3982 Test information_schema.processlist #
+# #
+########################################################################
+
+# One subtest is skipped because of
+# Bug#30395 strange results after REVOKE PROCESS ON *.* FROM ...
+let $fixed_bug_30395= 0;
+
+# The file with expected results fits only to a run without
+# ps-protocol/sp-protocol/cursor-protocol/view-protocol.
+if (`SELECT $PS_PROTOCOL + $SP_PROTOCOL + $CURSOR_PROTOCOL
+ + $VIEW_PROTOCOL > 0`)
+{
+ --skip Test requires: ps-protocol/sp-protocol/cursor-protocol/view-protocol disabled
+}
+
+--source suite/funcs_1/datadict/processlist_priv.inc
diff --git a/mysql-test/suite/funcs_1/t/processlist_priv_ps.test b/mysql-test/suite/funcs_1/t/processlist_priv_ps.test
new file mode 100644
index 00000000000..b9fa150f5ba
--- /dev/null
+++ b/mysql-test/suite/funcs_1/t/processlist_priv_ps.test
@@ -0,0 +1,29 @@
+############# suite/funcs_1/t/processlist_priv_ps.test #################
+# #
+# Testing of privileges around #
+# SELECT ... PROCESSLIST/SHOW PROCESSLIST #
+# #
+# The no (ps/sp/view/cursor) protocol variant of this test is #
+# suite/funcs_1/t/a_processlist_priv_no_prot.test. #
+# #
+# There is important documentation within #
+# suite/funcs_1/datadict/processlist_priv.inc #
+# #
+# Creation: #
+# 2007-08-14 mleich Create this test as part of #
+# WL#3982 Test information_schema.processlist #
+# #
+########################################################################
+
+# One subtest is skipped because of
+# Bug#30395 strange results after REVOKE PROCESS ON *.* FROM ...
+let $fixed_bug_30395= 0;
+
+# The file with expected results fits only to a run with "--ps-protocol".
+if (`SELECT $SP_PROTOCOL + $CURSOR_PROTOCOL + $VIEW_PROTOCOL > 0
+ OR $PS_PROTOCOL = 0`)
+{
+ --skip Test requires: ps-protocol enabled, other protocols disabled
+}
+
+--source suite/funcs_1/datadict/processlist_priv.inc
diff --git a/mysql-test/suite/funcs_1/t/processlist_val_no_prot.test b/mysql-test/suite/funcs_1/t/processlist_val_no_prot.test
new file mode 100644
index 00000000000..bb3e840471a
--- /dev/null
+++ b/mysql-test/suite/funcs_1/t/processlist_val_no_prot.test
@@ -0,0 +1,25 @@
+############# suite/funcs_1/t/processlist_val_no_prot.test #############
+# #
+# Testing of values within INFORMATION_SCHEMA.PROCESSLIST #
+# #
+# The prepared statement variant of this test is #
+# suite/funcs_1/t/b_processlist_val_ps.test. #
+# #
+# There is important documentation within #
+# suite/funcs_1/datadict/processlist_val.inc #
+# #
+# Creation: #
+# 2007-08-09 mleich Implement this test as part of #
+# WL#3982 Test information_schema.processlist #
+# #
+########################################################################
+
+# The file with expected results fits only to a run without
+# ps-protocol/sp-protocol/cursor-protocol/view-protocol.
+if (`SELECT $PS_PROTOCOL + $SP_PROTOCOL + $CURSOR_PROTOCOL
+ + $VIEW_PROTOCOL > 0`)
+{
+ --skip Test requires: ps-protocol/sp-protocol/cursor-protocol/view-protocol disabled
+}
+
+--source suite/funcs_1/datadict/processlist_val.inc
diff --git a/mysql-test/suite/funcs_1/t/processlist_val_ps.test b/mysql-test/suite/funcs_1/t/processlist_val_ps.test
new file mode 100644
index 00000000000..1479d629524
--- /dev/null
+++ b/mysql-test/suite/funcs_1/t/processlist_val_ps.test
@@ -0,0 +1,24 @@
+################ suite/funcs_1/t/processlist_val_ps.test ###############
+# #
+# Testing of values within INFORMATION_SCHEMA.PROCESSLIST #
+# #
+# The no (ps/sp/view/cursor) protocol variant of this test is #
+# suite/funcs_1/t/a_processlist_val_no_prot.test. #
+# #
+# There is important documentation within #
+# suite/funcs_1/datadict/processlist_val.inc #
+# #
+# Creation: #
+# 2007-08-09 mleich Implement this test as part of #
+# WL#3982 Test information_schema.processlist #
+# #
+########################################################################
+
+# The file with expected results fits only to a run with "--ps-protocol".
+if (`SELECT $SP_PROTOCOL + $CURSOR_PROTOCOL + $VIEW_PROTOCOL > 0
+ OR $PS_PROTOCOL = 0`)
+{
+ --skip Test requires: ps-protocol enabled, other protocols disabled
+}
+
+--source suite/funcs_1/datadict/processlist_val.inc
diff --git a/mysql-test/suite/funcs_1/t/suite.opt b/mysql-test/suite/funcs_1/t/suite.opt
index 9b22c677b83..20780bf0619 100644
--- a/mysql-test/suite/funcs_1/t/suite.opt
+++ b/mysql-test/suite/funcs_1/t/suite.opt
@@ -1,2 +1,2 @@
---secure-file-priv=$MYSQL_TEST_DIR
+--secure-file-priv=$MYSQLTEST_VARDIR
diff --git a/mysql-test/suite/funcs_1/triggers/trig_frkey.inc b/mysql-test/suite/funcs_1/triggers/trig_frkey.inc
index 5d6b6a72b1e..5e58b922f15 100644
--- a/mysql-test/suite/funcs_1/triggers/trig_frkey.inc
+++ b/mysql-test/suite/funcs_1/triggers/trig_frkey.inc
@@ -70,7 +70,7 @@ let $message= Testcase x.x.x.2:;
insert into t2 values (1,2,'Emp 1');
insert into t2 values (2,3,'Emp 2');
- --error 1452
+ --error ER_NO_REFERENCED_ROW_2
insert into t2 values (3,4,'Emp 3');
create trigger tr_t2 before insert on t2 for each row
diff --git a/mysql-test/suite/funcs_1/triggers/trig_frkey2.inc b/mysql-test/suite/funcs_1/triggers/trig_frkey2.inc
index 51cc2a81d18..c3de88a28f7 100644
--- a/mysql-test/suite/funcs_1/triggers/trig_frkey2.inc
+++ b/mysql-test/suite/funcs_1/triggers/trig_frkey2.inc
@@ -1,17 +1,17 @@
#################################################################
-# This file inclde tests that address the foreign key cases of
-# the following requirements since they are specific to innodb.
-# Other test cases for these requirements are included in the
+# This file inclde tests that address the foreign key cases of
+# the following requirements since they are specific to innodb.
+# Other test cases for these requirements are included in the
# triggers_master.test file.
#################################################################
--disable_abort_on_error
# OBN - The following tests are disabled until triggers are supported with forign
-# keys in innodb (foreign keys tests dispabled - bug 11472)
+# keys in innodb (foreign keys tests dispabled - bug 11472)
#################################################################################
#Section x.x.x.3
-# Test case: Similar to 3.5.10.5 but with ten tables to see if multiple triggers
+# Test case: Similar to 3.5.10.5 but with ten tables to see if multiple triggers
# can be executed at once
let $message= Testcase x.x.x.3:;
--source include/show_msg.inc
@@ -21,58 +21,58 @@ let $message= Testcase x.x.x.3:;
--enable_warnings
eval CREATE TABLE t0 (col1 char(50)) ENGINE=$engine_type;
- eval CREATE TABLE t1 (id INT NOT NULL, col1 char(50),
+ eval CREATE TABLE t1 (id INT NOT NULL, col1 char(50),
PRIMARY KEY (id)) ENGINE=$engine_type;
- eval CREATE TABLE t2 (id INT PRIMARY KEY, f_id INT, INDEX par_ind
- (f_id), col1 char(50), FOREIGN KEY (f_id) REFERENCES t1(id)
+ eval CREATE TABLE t2 (id INT PRIMARY KEY, f_id INT, INDEX par_ind
+ (f_id), col1 char(50), FOREIGN KEY (f_id) REFERENCES t1(id)
ON DELETE SET NULL) ENGINE=$engine_type;
- eval CREATE TABLE t3 (id INT PRIMARY KEY, f_id INT, INDEX par_ind
- (f_id), col1 char(50), FOREIGN KEY (f_id) REFERENCES t1(id)
+ eval CREATE TABLE t3 (id INT PRIMARY KEY, f_id INT, INDEX par_ind
+ (f_id), col1 char(50), FOREIGN KEY (f_id) REFERENCES t1(id)
ON DELETE SET NULL ON UPDATE CASCADE) ENGINE=$engine_type;
- eval CREATE TABLE t4 (id INT PRIMARY KEY, f_id INT, INDEX par_ind
- (f_id), col1 char(50), FOREIGN KEY (f_id) REFERENCES t1(id)
+ eval CREATE TABLE t4 (id INT PRIMARY KEY, f_id INT, INDEX par_ind
+ (f_id), col1 char(50), FOREIGN KEY (f_id) REFERENCES t1(id)
ON DELETE SET NULL ON UPDATE CASCADE) ENGINE=$engine_type;
- eval CREATE TABLE t5 (id INT PRIMARY KEY, f_id INT, INDEX par_ind
- (f_id), col1 char(50), FOREIGN KEY (f_id) REFERENCES t1(id)
+ eval CREATE TABLE t5 (id INT PRIMARY KEY, f_id INT, INDEX par_ind
+ (f_id), col1 char(50), FOREIGN KEY (f_id) REFERENCES t1(id)
ON DELETE SET NULL ON UPDATE CASCADE) ENGINE=$engine_type;
- eval CREATE TABLE t6 (id INT PRIMARY KEY, f_id INT, INDEX par_ind
- (f_id), col1 char(50), FOREIGN KEY (f_id) REFERENCES t1(id)
+ eval CREATE TABLE t6 (id INT PRIMARY KEY, f_id INT, INDEX par_ind
+ (f_id), col1 char(50), FOREIGN KEY (f_id) REFERENCES t1(id)
ON DELETE SET NULL ON UPDATE CASCADE) ENGINE=$engine_type;
- eval CREATE TABLE t7 (id INT PRIMARY KEY, f_id INT, INDEX par_ind
- (f_id), col1 char(50), FOREIGN KEY (f_id) REFERENCES t1(id)
+ eval CREATE TABLE t7 (id INT PRIMARY KEY, f_id INT, INDEX par_ind
+ (f_id), col1 char(50), FOREIGN KEY (f_id) REFERENCES t1(id)
ON DELETE SET NULL ON UPDATE CASCADE) ENGINE=$engine_type;
- eval CREATE TABLE t8 (id INT PRIMARY KEY, f_id INT, INDEX par_ind
- (f_id), col1 char(50), FOREIGN KEY (f_id) REFERENCES t1(id)
+ eval CREATE TABLE t8 (id INT PRIMARY KEY, f_id INT, INDEX par_ind
+ (f_id), col1 char(50), FOREIGN KEY (f_id) REFERENCES t1(id)
ON DELETE SET NULL ON UPDATE CASCADE) ENGINE=$engine_type;
- eval CREATE TABLE t9 (id INT PRIMARY KEY, f_id INT, INDEX par_ind
- (f_id), col1 char(50), FOREIGN KEY (f_id) REFERENCES t1(id)
+ eval CREATE TABLE t9 (id INT PRIMARY KEY, f_id INT, INDEX par_ind
+ (f_id), col1 char(50), FOREIGN KEY (f_id) REFERENCES t1(id)
ON DELETE SET NULL ON UPDATE CASCADE) ENGINE=$engine_type;
- eval CREATE TABLE t10(id INT PRIMARY KEY, f_id INT, INDEX par_ind
- (f_id), col1 char(50), FOREIGN KEY (f_id) REFERENCES t1(id)
+ eval CREATE TABLE t10(id INT PRIMARY KEY, f_id INT, INDEX par_ind
+ (f_id), col1 char(50), FOREIGN KEY (f_id) REFERENCES t1(id)
ON DELETE SET NULL ON UPDATE CASCADE) ENGINE=$engine_type;
- eval CREATE TABLE t11(id INT PRIMARY KEY, f_id INT, INDEX par_ind
- (f_id), col1 char(50), FOREIGN KEY (f_id) REFERENCES t1(id)
+ eval CREATE TABLE t11(id INT PRIMARY KEY, f_id INT, INDEX par_ind
+ (f_id), col1 char(50), FOREIGN KEY (f_id) REFERENCES t1(id)
ON DELETE SET NULL ON UPDATE CASCADE) ENGINE=$engine_type;
- create trigger tr1 after update on t2 for each row
+ create trigger tr1 after update on t2 for each row
insert into t0 values ('tr_t2');
- create trigger tr2 after update on t3 for each row
+ create trigger tr2 after update on t3 for each row
insert into t0 values ('tr_t3');
- create trigger tr3 after update on t4 for each row
+ create trigger tr3 after update on t4 for each row
insert into t0 values ('tr_t4');
- create trigger tr3 after update on t5 for each row
+ create trigger tr3 after update on t5 for each row
insert into t0 values ('tr_t5');
- create trigger tr4 after update on t6 for each row
+ create trigger tr4 after update on t6 for each row
insert into t0 values ('tr_t6');
- create trigger tr5 after update on t7 for each row
+ create trigger tr5 after update on t7 for each row
insert into t0 values ('tr_t7');
- create trigger tr5 after update on t8 for each row
+ create trigger tr5 after update on t8 for each row
insert into t0 values ('tr_t8');
- create trigger tr6 after update on t9 for each row
+ create trigger tr6 after update on t9 for each row
insert into t0 values ('tr_t9');
- create trigger tr7 after update on t10 for each row
+ create trigger tr7 after update on t10 for each row
insert into t0 values ('tr_t10');
- create trigger tr8 after update on t11 for each row
+ create trigger tr8 after update on t11 for each row
insert into t0 values ('tr_t11');
insert into t1 values (1,'Department A');
@@ -134,10 +134,10 @@ let $message= Testcase x.x.x.3:;
#Section 3.5.10.5
-# Test case: Ensure that every trigger that should be activated by every possible
-# type of implicit update of its subject table (e.g. a FOREIGN KEY SET
-# DEFAULT action or an UPDATE of a view based on the subject table)
-# is indeed activated correctly.
+# Test case: Ensure that every trigger that should be activated by every possible
+# type of implicit update of its subject table (e.g. a FOREIGN KEY SET
+# DEFAULT action or an UPDATE of a view based on the subject table)
+# is indeed activated correctly.
let $message= Testcase 3.5.10.5 (foreign keys):;
--source include/show_msg.inc
@@ -146,11 +146,11 @@ let $message= Testcase 3.5.10.5 (foreign keys):;
DROP TABLE IF EXISTS t1, t2;
--enable_warnings
- eval CREATE TABLE t1 (id INT NOT NULL, col1 char(50),
+ eval CREATE TABLE t1 (id INT NOT NULL, col1 char(50),
PRIMARY KEY (id)) ENGINE=$engine_type;
- eval CREATE TABLE t2 (id INT PRIMARY KEY, f_id INT,
- INDEX par_ind (f_id), col1 char(50),
- FOREIGN KEY (f_id) REFERENCES t1(id)
+ eval CREATE TABLE t2 (id INT PRIMARY KEY, f_id INT,
+ INDEX par_ind (f_id), col1 char(50),
+ FOREIGN KEY (f_id) REFERENCES t1(id)
ON DELETE SET NULL ON UPDATE CASCADE) ENGINE=$engine_type;
create trigger tr_t2 after update on t2
for each row set @counter=@counter+1;
@@ -191,9 +191,9 @@ let $message= Testcase 3.5.10.5 (foreign keys):;
#Section 3.5.10.6
-# Test case: Ensure that every trigger that should be activated by every possible
-# type of implicit deletion from its subject table (e.g. a FOREIGN KEY
-# CASCADE action or a DELETE from a view based on the subject table)
+# Test case: Ensure that every trigger that should be activated by every possible
+# type of implicit deletion from its subject table (e.g. a FOREIGN KEY
+# CASCADE action or a DELETE from a view based on the subject table)
# is indeed activated correctly.
let $message= Testcase 3.5.10.6 (foreign keys):;
--source include/show_msg.inc
@@ -202,11 +202,11 @@ let $message= Testcase 3.5.10.6 (foreign keys):;
DROP TABLE IF EXISTS t1, t2;
--enable_warnings
- eval CREATE TABLE t1 (id INT NOT NULL, col1 char(50),
+ eval CREATE TABLE t1 (id INT NOT NULL, col1 char(50),
PRIMARY KEY (id)) ENGINE=$engine_type;
- eval CREATE TABLE t2 (id INT PRIMARY KEY, f_id INT,
- INDEX par_ind (f_id), col1 char(50),
- FOREIGN KEY (f_id) REFERENCES t1(id)
+ eval CREATE TABLE t2 (id INT PRIMARY KEY, f_id INT,
+ INDEX par_ind (f_id), col1 char(50),
+ FOREIGN KEY (f_id) REFERENCES t1(id)
ON DELETE CASCADE) ENGINE=$engine_type;
create trigger tr_t2 before delete on t2
diff --git a/mysql-test/suite/funcs_1/triggers/triggers_0102.inc b/mysql-test/suite/funcs_1/triggers/triggers_0102.inc
index e8919a32ca7..aa322f6a7ef 100644
--- a/mysql-test/suite/funcs_1/triggers/triggers_0102.inc
+++ b/mysql-test/suite/funcs_1/triggers/triggers_0102.inc
@@ -1,7 +1,7 @@
#======================================================================
#
-# Trigger Tests
-# (test case numbering refer to requirement document TP v1.1)
+# Trigger Tests
+# (test case numbering refer to requirement document TP v1.1)
#======================================================================
# OBM - ToDo
@@ -20,37 +20,37 @@
# Testcase: Ensure that all clauses that should be supported are supported.
let $message= Testcase: 3.5.1.1:;
--source include/show_msg.inc
-# OBN - This test case tests basic trigger definition and execution
+# OBN - This test case tests basic trigger definition and execution
# of INSERT/UPDATE/DELETE actions and BEFORE/AFTER timings.
-# As such it covers the equirements in sections 3.5.6.1, 3.5.6.2,
+# As such it covers the equirements in sections 3.5.6.1, 3.5.6.2,
# 3.5.6.4, 3.5.6.5, 3.5.7.1, 3.5.7.2, 3.5.7.3, 3.5.7.17 below.
-# - Note currently as a result of limitations with locking tables in
+# - Note currently as a result of limitations with locking tables in
# triggers, a specifc lockingof the tables is done.
# Once fixed, the locking and alias referances should be removed
use test;
# Trigger Definition
- Create trigger trg1_1 BEFORE INSERT
+ 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
+ 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,
+ 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
+ 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
+ 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
+ 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';
# Trigger Execution Insert (before and after)
set @test_before = 1;
set @test_after = 5;
select @test_before, @test_after;
- Insert into tb3 (f121, f122, f142, f144, f134)
+ 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';
select @test_before, @test_after;
@@ -59,15 +59,15 @@ use test;
set @test_before = 18;
set @test_after = 8;
select @test_before, @test_after;
- Update tb3 set tb3.f122 = 'Update',
- tb3.f142 = @test_before,
- tb3.f144 = @test_after
+ 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';
select @test_before, @test_after;
# Trigger Execution Delete (before and after)
- Insert into tb3 (f121, f122, f142, f144, f134)
+ 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;
@@ -79,35 +79,35 @@ use test;
#Cleanup
--disable_warnings
- --error 0, 1360
+ --error 0, ER_TRG_DOES_NOT_EXIST
drop trigger trg1_1;
- --error 0, 1360
+ --error 0, ER_TRG_DOES_NOT_EXIST
drop trigger trg1_2;
- --error 0, 1360
+ --error 0, ER_TRG_DOES_NOT_EXIST
drop trigger trg1_3;
- --error 0, 1360
+ --error 0, ER_TRG_DOES_NOT_EXIST
drop trigger trg1_4;
- --error 0, 1360
+ --error 0, ER_TRG_DOES_NOT_EXIST
drop trigger trg1_5;
- --error 0, 1360
+ --error 0, ER_TRG_DOES_NOT_EXIST
drop trigger trg1_6;
--enable_warnings
delete from tb3 where f121='Test 3.5.1.1';
--enable_warnings
#Section 3.5.1.2
-# Testcase: Ensure that all clauses that should not be supported are disallowed
-# with an appropriate error message.
+# Testcase: Ensure that all clauses that should not be supported are disallowed
+# with an appropriate error message.
let $message= Testcase: 3.5.1.2:;
--source include/show_msg.inc
- --error 1064
- Create trigger trg_1 after insert
+ --error ER_PARSE_ERROR
+ Create trigger trg_1 after insert
on tb3 for each statement set @x= 1;
-#Cleanup
- --disable_warnings
- --error 0, 1360
+#Cleanup
+ --disable_warnings
+ --error 0, ER_TRG_DOES_NOT_EXIST
drop trigger trg_1;
--enable_warnings
@@ -116,66 +116,66 @@ let $message= Testcase: 3.5.1.2:;
# Testcase: Ensure that all supported clauses are supported only in the correct order.
let $message= Testcase 3.5.1.3:;
--source include/show_msg.inc
- --error 1064
+ --error ER_PARSE_ERROR
CREATE TRIGGER trg3_1 on tb3 BEFORE INSERT for each row set new.f120 = 't';
- --error 1064
+ --error ER_PARSE_ERROR
CREATE trg3_2 TRIGGER AFTER INSERT on tb3 for each row set new.f120 = 's';
- --error 1064
+ --error ER_PARSE_ERROR
CREATE TRIGGER trg3_3 Before DELETE on tb3 set @ret1 = 'test' for each row;
- --error 1064
+ --error ER_PARSE_ERROR
CREATE TRIGGER trg3_4 DELETE AFTER on tb3 set @ret1 = 'test' for each row;
- --error 1064
- CREATE for each row TRIGGER trg3_5 AFTER UPDATE on tb3 set @ret1 = 'test';
+ --error ER_PARSE_ERROR
+ CREATE for each row TRIGGER trg3_5 AFTER UPDATE on tb3 set @ret1 = 'test';
#Cleanup
# OBN - Although none of the above should have been created we should do a cleanup
# since if they have been created, not dropping them will affect following
# tests.
--disable_warnings
- --error 0, 1360
+ --error 0, ER_TRG_DOES_NOT_EXIST
drop trigger trg3_1;
- --error 0, 1360
+ --error 0, ER_TRG_DOES_NOT_EXIST
drop trigger trg3_2;
- --error 0, 1360
+ --error 0, ER_TRG_DOES_NOT_EXIST
drop trigger trg3_3;
- --error 0, 1360
+ --error 0, ER_TRG_DOES_NOT_EXIST
drop trigger trg3_4;
- --error 0, 1360
+ --error 0, ER_TRG_DOES_NOT_EXIST
drop trigger trg3_5;
--enable_warnings
#Section 3.5.1.4
-# Testcase: Ensure that an appropriate error message is returned if a clause
+# Testcase: Ensure that an appropriate error message is returned if a clause
# is out-of-order in an SQL statement.
# OBN - FIXME - Missing 3.5.1.4 need to add
#Section 3.5.1.5
-# Testcase: Ensure that all clauses that are defined to be mandatory are indeed
+# Testcase: Ensure that all clauses that are defined to be mandatory are indeed
# required to be mandatory by the MySQL server and tools
let $message= Testcase: 3.5.1.5:;
--source include/show_msg.inc
- --error 1064
+ --error ER_PARSE_ERROR
CREATE TRIGGER trg4_1 AFTER on tb3 for each row set new.f120 = 'e';
- --error 1064
+ --error ER_PARSE_ERROR
CREATE TRIGGER trg4_2 INSERT on tb3 for each set row new.f120 = 'f';
- --error 1064
+ --error ER_PARSE_ERROR
CREATE TRIGGER trg4_3 BEFORE INSERT tb3 for each row set new.f120 = 'g';
- --error 1064
+ --error ER_PARSE_ERROR
CREATE TRIGGER trg4_4 AFTER UPDATE on tb3 for each set new.f120 = 'g';
- --error 1064
+ --error ER_PARSE_ERROR
CREATE trg4_5 AFTER DELETE on tb3 for each set new.f120 = 'g';
- --error 1064
+ --error ER_PARSE_ERROR
CREATE TRIGGER trg4_6 BEFORE DELETE for each row set new.f120 = 'g';
#Cleanup
@@ -183,19 +183,19 @@ let $message= Testcase: 3.5.1.5:;
# since if they have been created, not dropping them will affect following
# tests.
--disable_warnings
- --error 0, 1360
+ --error 0, ER_TRG_DOES_NOT_EXIST
drop trigger trg4_1;
- --error 0, 1360
+ --error 0, ER_TRG_DOES_NOT_EXIST
drop trigger trg4_2;
- --error 0, 1360
+ --error 0, ER_TRG_DOES_NOT_EXIST
drop trigger trg4_3;
- --error 0, 1360
+ --error 0, ER_TRG_DOES_NOT_EXIST
drop trigger trg4_4;
- --error 0, 1360
+ --error 0, ER_TRG_DOES_NOT_EXIST
drop trigger trg4_5;
- --error 0, 1360
+ --error 0, ER_TRG_DOES_NOT_EXIST
drop trigger trg4_6;
- --enable_warnings
+ --enable_warnings
#Section 3.5.1.6
# Testcase: Ensure that any clauses that are defined to be optional are indeed
@@ -204,20 +204,20 @@ let $message= Testcase 3.5.1.6: - Need to fix;
--source include/show_msg.inc
# OBN - FIXME - Missing 3.5.1.6 need to add
-#Section 3.5.1.7
-# Testcase: Ensure that all valid, fully-qualified, and non-qualified,
+#Section 3.5.1.7
+# Testcase: Ensure that all valid, fully-qualified, and non-qualified,
# trigger names are accepted, at creation time.
let $message= Testcase 3.5.1.7: - need to fix;
--source include/show_msg.inc
drop table if exists t1;
eval create table t1 (f1 int, f2 char(25),f3 int) engine=$engine_type;
- CREATE TRIGGER trg5_1 BEFORE INSERT on test.t1
+ CREATE TRIGGER trg5_1 BEFORE INSERT on test.t1
for each row set new.f3 = '14';
# In 5.0 names to long (more than 64 chars) were trimed without an error
-# In 5.1 an error is returned. So adding a call with the expected error
+# In 5.1 an error is returned. So adding a call with the expected error
# and one with a shorter name to validate proper execution
- --error 1059
+ --error ER_TOO_LONG_IDENT
CREATE TRIGGER trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
BEFORE UPDATE on test.t1 for each row set new.f3 = '42';
CREATE TRIGGER trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWX
@@ -230,38 +230,38 @@ let $message= Testcase 3.5.1.7: - need to fix;
select trigger_name from information_schema.triggers order by trigger_name;
#Cleanup
- --disable_warnings
- --error 0, 1360
+ --disable_warnings
+ --error 0, ER_TRG_DOES_NOT_EXIST
drop trigger trg5_1;
# In 5.1 the long name should generate an error that is to long
- --error 1059
+ --error ER_TOO_LONG_IDENT
drop trigger trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ;
drop trigger trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWX;
drop table t1;
#Section 3.5.1.8
-# Testcase: Ensure that any invalid trigger name is never accepted, and that an
+# Testcase: Ensure that any invalid trigger name is never accepted, and that an
# appropriate error message is returned when the name is rejected.
let $message= Testcase 3.5.1.8:;
--source include/show_msg.inc
- --error 1064
+ --error ER_PARSE_ERROR
CREATE TRIGGER trg12* before insert on tb3 for each row set new.f120 = 't';
- --error 1064
+ --error ER_PARSE_ERROR
CREATE TRIGGER trigger before insert on tb3 for each row set new.f120 = 't';
- --error 1064
+ --error ER_PARSE_ERROR
CREATE TRIGGER 100 before insert on tb3 for each row set new.f120 = 't';
- --error 1064
+ --error ER_PARSE_ERROR
CREATE TRIGGER @@view before insert on tb3 for each row set new.f120 = 't';
- --error 1064
+ --error ER_PARSE_ERROR
CREATE TRIGGER @name before insert on tb3 for each row set new.f120 = 't';
- --error 1435
- CREATE TRIGGER tb3.trg6_1 BEFORE INSERT on test.tb3
+ --error ER_TRG_IN_WRONG_SCHEMA
+ CREATE TRIGGER tb3.trg6_1 BEFORE INSERT on test.tb3
for each row set new.f120 ='X';
--disable_warnings
@@ -273,29 +273,29 @@ let $message= Testcase 3.5.1.8:;
# Can't create a trigger in a different database
use test;
- --error 1146
- CREATE TRIGGER trig_db.trg6_2 AFTER INSERT on tb3
+ --error ER_NO_SUCH_TABLE
+ CREATE TRIGGER trig_db.trg6_2 AFTER INSERT on tb3
for each row set @ret_trg6_2 = 5;
# Can't create a trigger refrencing a table in a different db
use trig_db;
- --error 1435
- CREATE TRIGGER trg6_3 AFTER INSERT on test.tb3
+ --error ER_TRG_IN_WRONG_SCHEMA
+ CREATE TRIGGER trg6_3 AFTER INSERT on test.tb3
for each row set @ret_trg6_3 = 18;
use test;
#Cleanup
- --disable_warnings
+ --disable_warnings
drop database trig_db;
# OBN - Although none of the above should have been created we should do a cleanup
# since if they have been created, not dropping them will affect following
# tests.
- --error 0, 1360
+ --error 0, ER_TRG_DOES_NOT_EXIST
drop trigger trg6_1;
- --error 0, 1360
+ --error 0, ER_TRG_DOES_NOT_EXIST
drop trigger trg6_3;
- --enable_warnings
+ --enable_warnings
#Section 3.5.1.9
#Testcase: Ensure that a reference to a non-existent trigger is rejected with
@@ -305,41 +305,41 @@ let $message= Testcase 3.5.1.9:(cannot be inplemented at this point);
#Section 3.5.1.10
-#Testcase: Ensure that it is not possible to create two triggers with the same name on
+#Testcase: Ensure that it is not possible to create two triggers with the same name on
# the same table
let $message= Testcase 3.5.1.10:;
--source include/show_msg.inc
CREATE TRIGGER trg7_1 BEFORE UPDATE on tb3 for each row set new.f120 ='X';
- --error 1359
+ --error ER_TRG_ALREADY_EXISTS
CREATE TRIGGER trg7_1 AFTER INSERT on tb3 for each row set @x ='Y';
#Cleanup
- --disable_warnings
- --error 0, 1360
+ --disable_warnings
+ --error 0, ER_TRG_DOES_NOT_EXIST
drop trigger trg7_1;
--enable_warnings
-#Section 3.5.1.?
-# Testcase: Ensure that it is not possible to create two or more triggers with
+#Section 3.5.1.?
+# Testcase: Ensure that it is not possible to create two or more triggers with
# the same name, provided each is associated with a different table.
let $message= Testcase 3.5.1.?:;
--source include/show_msg.inc
- --disable_warnings
+ --disable_warnings
drop table if exists t1;
drop table if exists t2;
--enable_warnings
eval create table t1 (f1 char(50), f2 integer) engine = $engine_type;
eval create table t2 (f1 char(50), f2 integer) engine = $engine_type;
- create trigger trig before insert on t1
+ create trigger trig before insert on t1
for each row set new.f1 ='trig t1';
- --error 1359
- create trigger trig before update on t2
+ --error ER_TRG_ALREADY_EXISTS
+ create trigger trig before update on t2
for each row set new.f1 ='trig t2';
insert into t1 value ('insert to t1',1);
@@ -351,16 +351,16 @@ let $message= Testcase 3.5.1.?:;
select * from t2;
#Cleanup
- --disable_warnings
+ --disable_warnings
drop table t1;
drop table t2;
- --error 0, 1360
+ --error 0, ER_TRG_DOES_NOT_EXIST
drop trigger trig;
--enable_warnings
-#Section 3.5.1.11
-# Testcase: Ensure that it is possible to create two or more triggers with
+#Section 3.5.1.11
+# Testcase: Ensure that it is possible to create two or more triggers with
# the same name, provided each resides in a different database
let $message= Testcase 3.5.1.11:;
--source include/show_msg.inc
@@ -375,15 +375,15 @@ let $message= Testcase 3.5.1.11:;
create database trig_db3;
use trig_db1;
eval create table t1 (f1 char(50), f2 integer) engine = $engine_type;
- create trigger trig before insert on t1
+ create trigger trig before insert on t1
for each row set new.f1 ='trig1', @test_var1='trig1';
use trig_db2;
eval create table t2 (f1 char(50), f2 integer) engine = $engine_type;
- create trigger trig before insert on t2
+ create trigger trig before insert on t2
for each row set new.f1 ='trig2', @test_var2='trig2';
use trig_db3;
eval create table t1 (f1 char(50), f2 integer) engine = $engine_type;
- create trigger trig before insert on t1
+ create trigger trig before insert on t1
for each row set new.f1 ='trig3', @test_var3='trig3';
set @test_var1= '', @test_var2= '', @test_var3= '';
@@ -400,7 +400,7 @@ let $message= Testcase 3.5.1.11:;
use test;
#Cleanup
- --disable_warnings
+ --disable_warnings
drop database trig_db1;
drop database trig_db2;
drop database trig_db3;
@@ -411,16 +411,16 @@ let $message= Testcase 3.5.1.11:;
# Check for the global nature of Triggers #
###########################################
-#Section 3.5.2.1
-# Test case: Ensure that if a trigger created without a qualifying database
+#Section 3.5.2.1
+# Test case: Ensure that if a trigger created without a qualifying database
# name belongs to the database in use at creation time.
-#Section 3.5.2.2
-# Test case: Ensure that if a trigger created with a qualifying database name
+#Section 3.5.2.2
+# Test case: Ensure that if a trigger created with a qualifying database name
# belongs to the database specified.
-#Section 3.5.2.3
-# Test case: Ensure that if a trigger created with a qualifying database name
-# does not belong to the database in use at creation time unless
-# the qualifying database name identifies the database that is
+#Section 3.5.2.3
+# Test case: Ensure that if a trigger created with a qualifying database name
+# does not belong to the database in use at creation time unless
+# the qualifying database name identifies the database that is
# also in use at creation time.
let $message= Testcase 3.5.2.1/2/3:;
--source include/show_msg.inc
@@ -435,11 +435,11 @@ let $message= Testcase 3.5.2.1/2/3:;
use trig_db1;
eval create table t1 (f1 char(50), f2 integer) engine = $engine_type;
eval create table trig_db2.t1 (f1 char(50), f2 integer) engine = $engine_type;
- create trigger trig1_b before insert on t1
+ 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
+ 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
+ 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 order by trigger_name;
@@ -450,6 +450,6 @@ let $message= Testcase 3.5.2.1/2/3:;
select @test_var1, @test_var2, @test_var3;
#Cleanup
- --disable_warnings
+ --disable_warnings
drop database trig_db1;
drop database trig_db2;
diff --git a/mysql-test/suite/funcs_1/triggers/triggers_03.inc b/mysql-test/suite/funcs_1/triggers/triggers_03.inc
index 4821b47099a..cf1c445aaee 100644
--- a/mysql-test/suite/funcs_1/triggers/triggers_03.inc
+++ b/mysql-test/suite/funcs_1/triggers/triggers_03.inc
@@ -3,6 +3,7 @@
# Trigger Tests
# (test case numbering refer to requirement document TP v1.1)
#======================================================================
+# WL#4084: enable disabled parts. 2007-11-15, hhunger
--disable_abort_on_error
@@ -63,8 +64,7 @@ let $message= Testcase 3.5.3.2:;
select current_user;
use priv_db;
-# error 1227 is better, as it says, that not the privilege
- --error 1142,1227
+ --error ER_TABLEACCESS_DENIED_ERROR
create trigger trg1_1 before INSERT on t1 for each row
set new.f1 = 'trig 3.5.3.2_1-no';
@@ -84,7 +84,7 @@ let $message= Testcase 3.5.3.2:;
select current_user;
use priv_db;
- --error 1143
+ --error ER_COLUMNACCESS_DENIED_ERROR
insert into t1 (f1) values ('insert 3.5.3.2-yes');
select f1 from t1 order by f1;
@@ -98,7 +98,7 @@ let $message= Testcase 3.5.3.6:;
connection no_privs;
use priv_db;
- --error 1142,1227
+ --error ER_TABLEACCESS_DENIED_ERROR
drop trigger trg1_2;
connection default;
@@ -119,7 +119,7 @@ let $message= Testcase 3.5.3.6:;
# Cleanup
--disable_warnings
connection default;
- --error 0, 1360
+ --error 0, ER_TRG_DOES_NOT_EXIST
drop trigger trg1_2;
disconnect no_privs;
disconnect yes_privs;
@@ -130,8 +130,6 @@ let $message= Testcase 3.5.3.6:;
# Test case: Ensure that use of the construct "SET NEW. <column name> = <value>"
# fails at CREATE TRIGGER time, if the current user does not have the
# UPDATE privilege on the column specified
-# Note: As a result of bug 8884 the triggers are actually created.
-# Disabled because of bug 8884
# --- 3.5.3.7a - Privs set on a global level
let $message=Testcase 3.5.3.7a:;
@@ -157,16 +155,13 @@ let $message=Testcase 3.5.3.7a:;
show grants;
select f1 from t1 order by f1;
-let $message= Trigger create disabled - should fail - Bug 8884;
---source include/show_msg.inc
-# --error 1227
-# create trigger trg4a_1 before INSERT on t1 for each row
-# set new.f1 = 'trig 3.5.3.7-1a';
+ create trigger trg4a_1 before INSERT on t1 for each row
+ set new.f1 = 'trig 3.5.3.7-1a';
connection default;
+ --error ER_COLUMNACCESS_DENIED_ERROR
insert into t1 (f1) values ('insert 3.5.3.7-1a');
select f1 from t1 order by f1;
- --error 0, 1360
drop trigger trg4a_1;
connection yes_privs_424a;
@@ -213,18 +208,14 @@ let $message= Testcase 3.5.3.7b:;
show grants;
use priv_db;
-let $message= Trigger create disabled - should fail - Bug 8884;
---source include/show_msg.inc
-# --error 1227
-# create trigger trg4b_1 before UPDATE on t1 for each row
-# set new.f1 = 'trig 3.5.3.7-1b';
+ create trigger trg4b_1 before UPDATE on t1 for each row
+ set new.f1 = 'trig 3.5.3.7-1b';
connection default;
insert into t1 (f1) values ('insert 3.5.3.7-1b');
select f1 from t1 order by f1;
update t1 set f1 = 'update 3.5.3.7-1b' where f1 = 'insert 3.5.3.7-1b';
select f1 from t1 order by f1;
- --error 0, 1360
drop trigger trg4b_1;
connection yes_privs_424b;
@@ -271,16 +262,12 @@ let $message= Testcase 3.5.3.7c;
show grants;
use priv_db;
-let $message= Trigger create disabled - should fail - Bug 8884;
---source include/show_msg.inc
-# --error 1227
-# create trigger trg4c_1 before INSERT on t1 for each row
-# set new.f1 = 'trig 3.5.3.7-1c';
+ create trigger trg4c_1 before INSERT on t1 for each row
+ set new.f1 = 'trig 3.5.3.7-1c';
connection default;
insert into t1 (f1) values ('insert 3.5.3.7-1c');
select f1 from t1 order by f1;
- --error 0, 1360
drop trigger trg4c_1;
connection yes_privs_424c;
@@ -327,16 +314,12 @@ let $message= Testcase 3.5.3.7d:;
connection no_privs_424d;
show grants;
use priv_db;
-let $message= Trigger create disabled - should fail - Bug 8884;
---source include/show_msg.inc
-# --error 1227
-# create trigger trg4d_1 before INSERT on t1 for each row
-# set new.f1 = 'trig 3.5.3.7-1d';
+ create trigger trg4d_1 before INSERT on t1 for each row
+ set new.f1 = 'trig 3.5.3.7-1d';
connection default;
insert into t1 (f1) values ('insert 3.5.3.7-1d');
select f1 from t1 order by f1;
- --error 0, 1360
drop trigger trg4d_1;
connection yes_privs_424d;
@@ -386,18 +369,14 @@ let $message= Testcase 3.5.3.8a:;
use priv_db;
show grants;
-let $message= Trigger create disabled - should fail - Bug 8887;
---source include/show_msg.inc
-# --error 1227
-# create trigger trg5a_1 before INSERT on t1 for each row
-# set @test_var = new.f1;
+ create trigger trg5a_1 before INSERT on t1 for each row
+ set @test_var = new.f1;
connection default;
set @test_var = 'before trig 3.5.3.8-1a';
select @test_var;
insert into t1 (f1) values ('insert 3.5.3.8-1a');
select @test_var;
- --error 0, 1360
drop trigger trg5a_1;
connection yes_privs_425a;
@@ -446,11 +425,8 @@ let $message= Testcase: 3.5.3.8b;
show grants;
use priv_db;
-let $message= Trigger create disabled - should fail - Bug 8887;
---source include/show_msg.inc
-# --error 1227
-# create trigger trg5b_1 before UPDATE on t1 for each row
-# set @test_var= new.f1;
+ create trigger trg5b_1 before UPDATE on t1 for each row
+ set @test_var= new.f1;
connection default;
set @test_var= 'before trig 3.5.3.8-1b';
@@ -458,7 +434,6 @@ let $message= Trigger create disabled - should fail - Bug 8887;
select @test_var;
update t1 set f1= 'update 3.5.3.8-1b' where f1 = 'insert 3.5.3.8-1b';
select @test_var;
- --error 0, 1360
drop trigger trg5b_1;
connection yes_privs_425b;
@@ -506,17 +481,13 @@ let $message= Testcase 3.5.3.8c:;
show grants;
use priv_db;
-let $message= Trigger create disabled - should fail - Bug 8887;
---source include/show_msg.inc
-# --error 1227
-# create trigger trg5c_1 before INSERT on t1 for each row
-# set @test_var= new.f1;
+ create trigger trg5c_1 before INSERT on t1 for each row
+ set @test_var= new.f1;
connection default;
set @test_var= 'before trig 3.5.3.8-1c';
insert into t1 (f1) values ('insert 3.5.3.8-1c');
select @test_var;
- --error 0, 1360
drop trigger trg5c_1;
connection yes_privs_425c;
@@ -561,17 +532,13 @@ let $message=Testcase: 3.5.3.8d:;
connection no_privs_425d;
show grants;
use priv_db;
-let $message= Trigger create disabled - should fail - Bug 8887;
---source include/show_msg.inc
-# --error 1227
-# create trigger trg5d_1 before INSERT on t1 for each row
-# set @test_var= new.f1;
+ create trigger trg5d_1 before INSERT on t1 for each row
+ set @test_var= new.f1;
connection default;
set @test_var='before trig 3.5.3.8-1d';
insert into t1 (f1) values ('insert 3.5.3.8-1d');
select @test_var;
- --error 0, 1360
drop trigger trg5d_1;
connection yes_privs_425d;
@@ -591,8 +558,7 @@ let $message= Trigger create disabled - should fail - Bug 8887;
drop trigger trg5d_2;
--enable_warnings
-# --- 3.5.3.x - additional tests following the fix to bug 5861 / WL 2818
-# to test for trigger definer privs in the case of trigger
+# --- 3.5.3.x to test for trigger definer privs in the case of trigger
# actions (insert/update/delete/select) performed on other
# tables.
let $message=Testcase: 3.5.3.x:;
diff --git a/mysql-test/suite/funcs_1/triggers/triggers_03e_columns.inc b/mysql-test/suite/funcs_1/triggers/triggers_03e_columns.inc
index c67291f605b..475063587d4 100644
--- a/mysql-test/suite/funcs_1/triggers/triggers_03e_columns.inc
+++ b/mysql-test/suite/funcs_1/triggers/triggers_03e_columns.inc
@@ -95,12 +95,12 @@ let $message= update only on column:;
use priv_db;
update t1 set f1 = 'update2_no'
where f1 like '%insert%';
- --error 1143
+ --error ER_COLUMNACCESS_DENIED_ERROR
update t2 set f1 = 'update2_no'
where f1 like '%insert%';
update t1 set f1 = 'update3_no'
where f1 like '%insert%';
- --error 1143
+ --error ER_COLUMNACCESS_DENIED_ERROR
update t2 set f1 = 'update3_no'
where f1 like '%insert%';
select f1 from t1 order by f1;
@@ -148,12 +148,12 @@ let $message= check if access only on one of three columns;
update t1 set f1 = 'update6_no'
where f1 like '%insert%';
- --error 1142
+ --error ER_TABLEACCESS_DENIED_ERROR
update t2 set f1 = 'update6_no'
where f1 like '%insert%';
update t1 set f1 = 'update7_no'
where f1 like '%insert%';
- --error 1142
+ --error ER_TABLEACCESS_DENIED_ERROR
update t2 set f1 = 'update7_no'
where f1 like '%insert%';
select f1 from t1 order by f1;
@@ -173,7 +173,7 @@ let $message= check if rejected without trigger privilege:;
connection no_privs;
select current_user;
- --error 1142
+ --error ER_TABLEACCESS_DENIED_ERROR
update t1 set f1 = 'update8-no',
f2 = 'update8-no'
where f2 like '%yes';
@@ -188,7 +188,7 @@ let $message= check trigger, but not update privilege on column:;
connection default;
select current_user;
revoke UPDATE(f1) on priv_db.t1 from test_yesprivs@localhost;
- grant TRIGGER,UPDATE(f2),UPDATE(f3) on priv_db.t1
+ grant TRIGGER,UPDATE(f2),UPDATE(f3) on priv_db.t1
to test_yesprivs@localhost;
show grants for test_yesprivs@localhost;
@@ -202,14 +202,14 @@ let $message= check trigger, but not update privilege on column:;
connection no_privs;
select current_user;
use priv_db;
- --error 1143
+ --error ER_COLUMNACCESS_DENIED_ERROR
update t1 set f1 = 'update9-no',
f2 = 'update9-no'
where f2 like '%yes';
select * from t1 order by f1,f2,f3;
# trigger is involved (table privilege) ->fail
- --error 1143
+ --error ER_COLUMNACCESS_DENIED_ERROR
update t1 set f3= f3+1;
select f3 from t1 order by f3;
@@ -224,13 +224,13 @@ let $message= check trigger, but not update privilege on column:;
connection no_privs;
select current_user;
use priv_db;
- --error 1142
+ --error ER_TABLEACCESS_DENIED_ERROR
update t1 set f3= f3+1;
select f3 from t1 order by f3;
let $message= ##### trigger privilege on column level? #######;
--source include/show_msg.inc
- --error 1064
+ --error ER_PARSE_ERROR
grant TRIGGER(f1) on priv_db.t1 to test_yesprivs@localhost;
# Cleanup table level
@@ -242,7 +242,7 @@ let $message= ##### trigger privilege on column level? #######;
select current_user;
-# general Cleanup
+# general Cleanup
drop database if exists priv_db;
drop user test_yesprivs@localhost;
drop user test_noprivs@localhost;
diff --git a/mysql-test/suite/funcs_1/triggers/triggers_03e_db_level.inc b/mysql-test/suite/funcs_1/triggers/triggers_03e_db_level.inc
index c2679a55ef7..e3012ed0ca0 100644
--- a/mysql-test/suite/funcs_1/triggers/triggers_03e_db_level.inc
+++ b/mysql-test/suite/funcs_1/triggers/triggers_03e_db_level.inc
@@ -42,7 +42,7 @@ let $message= Testcase for db level:;
let $message= no trigger privilege on db level for create:;
--source include/show_msg.inc
use priv_db;
- --error 1142
+ --error ER_TABLEACCESS_DENIED_ERROR
create trigger trg1_1 before INSERT on t1 for each row
set new.f1 = 'trig 1_1-no';
@@ -101,7 +101,7 @@ let $message= no trigger privilege on db level for drop:;
connection yes_privs;
select current_user;
use priv_db;
- --error 1142
+ --error ER_TABLEACCESS_DENIED_ERROR
drop trigger trg1_2;
connection no_privs;
@@ -110,7 +110,7 @@ let $message= no trigger privilege on db level for drop:;
# no trigger privilege at activation time:
let $message= no trigger privilege at activation time:;
--source include/show_msg.inc
- --error 1142
+ --error ER_TABLEACCESS_DENIED_ERROR
insert into t1 (f1) values ('insert-yes');
select f1 from t1 order by f1;
@@ -132,7 +132,7 @@ let $message= trigger privilege on db level for drop:;
connection yes_privs;
select current_user;
show grants for test_yesprivs@localhost;
- --error 1142
+ --error ER_TABLEACCESS_DENIED_ERROR
drop trigger trg1_2;
# succeed
@@ -161,14 +161,14 @@ let $message= use db with trigger privilege on db level and without...:;
connection yes_privs;
select current_user;
use no_priv_db;
- --error 1142
+ --error ER_TABLEACCESS_DENIED_ERROR
create trigger trg1_3 before INSERT on t1 for each row
set new.f1 = 'trig 1_3-no';
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;
- --error 1142
+ --error ER_TABLEACCESS_DENIED_ERROR
create trigger trg1_4 before UPDATE on t1 for each row
set new.f1 = 'trig 1_4-no';
use priv_db;
@@ -190,12 +190,12 @@ let $message= use db with trigger privilege on db level and without...:;
connection yes_privs;
select current_user;
use no_priv_db;
- --error 1360
+ --error ER_TRG_DOES_NOT_EXIST
drop trigger trg1_3;
use priv_db;
drop trigger trg1_3;
use no_priv_db;
- --error 1360
+ --error ER_TRG_DOES_NOT_EXIST
drop trigger trg1_4;
use priv_db;
drop trigger trg1_4;
@@ -211,7 +211,7 @@ let $message= use db with trigger privilege on db level and without...:;
drop table no_priv_db.t1;
--enable_warnings
-# general Cleanup
+# general Cleanup
--disable_warnings
drop database if exists priv_db;
drop database if exists no_priv_db;
diff --git a/mysql-test/suite/funcs_1/triggers/triggers_03e_db_table_mix.inc b/mysql-test/suite/funcs_1/triggers/triggers_03e_db_table_mix.inc
index 653af075478..82f4a28f664 100644
--- a/mysql-test/suite/funcs_1/triggers/triggers_03e_db_table_mix.inc
+++ b/mysql-test/suite/funcs_1/triggers/triggers_03e_db_table_mix.inc
@@ -60,7 +60,7 @@ let $message= trigger privilege on one db1 db level, not on db2;
create trigger trg2_1 before INSERT on t2 for each row
set new.f1 = 'trig 2_1-yes';
use priv2_db;
- --error 1142
+ --error ER_TABLEACCESS_DENIED_ERROR
create trigger trg1_1 before INSERT on t1 for each row
set new.f1 = 'trig1_1-yes';
@@ -80,7 +80,7 @@ let $message= trigger privilege on one db1 db level, not on db2;
select f1 from priv1_db.t1 order by f1;
insert into priv1_db.t2 (f1) values ('insert22-no');
select f1 from priv1_db.t2 order by f1;
-
+
# revoke trigger priv on table level, that doesn't exists->fail
let $message= revoke trigger privilege on table level (not existing);
@@ -88,7 +88,7 @@ let $message= revoke trigger privilege on table level (not existing);
connection default;
select current_user;
use priv1_db;
- --error 1147
+ --error ER_NONEXISTING_TABLE_GRANT
revoke TRIGGER on priv1_db.t1 from test_yesprivs@localhost;
show grants for test_yesprivs@localhost;
@@ -100,7 +100,7 @@ let $message= revoke trigger privilege on table level (not existing);
drop trigger trg1_1;
drop trigger trg2_1;
-# revoke the db level->create/drop/use trigger fail
+# revoke the db level->create/drop/use trigger fail
connection default;
select current_user;
@@ -116,7 +116,7 @@ let $message= no trigger privilege on table level for create:;
connection yes_privs;
select current_user;
use priv1_db;
- --error 1142
+ --error ER_TABLEACCESS_DENIED_ERROR
create trigger trg1_1 before INSERT on t1 for each row
set new.f1 = 'trig 1_1-no';
@@ -133,7 +133,7 @@ let $message= trigger privilege on table level for create:;
show triggers;
create trigger trg1_2 before INSERT on t1 for each row
set new.f1 = 'trig 1_2-yes';
- --error 1142
+ --error ER_TABLEACCESS_DENIED_ERROR
create trigger trg2_1 before INSERT on t2 for each row
set new.f1 = 'trig 2_1-no';
@@ -157,7 +157,7 @@ let $message= trigger privilege on table level for create:;
connection yes_privs;
select current_user;
- --error 1142
+ --error ER_TABLEACCESS_DENIED_ERROR
create trigger trg2_1 before INSERT on t2 for each row
set new.f1 = 'trig 2_1-yes';
@@ -196,7 +196,7 @@ let $message= trigger privilege on table level for create:;
select current_user;
-# general Cleanup
+# general Cleanup
drop database if exists priv1_db;
drop database if exists priv2_db;
drop user test_yesprivs@localhost;
diff --git a/mysql-test/suite/funcs_1/triggers/triggers_03e_definer.inc b/mysql-test/suite/funcs_1/triggers/triggers_03e_definer.inc
index 59ba321c2e2..f1efff990f1 100644
--- a/mysql-test/suite/funcs_1/triggers/triggers_03e_definer.inc
+++ b/mysql-test/suite/funcs_1/triggers/triggers_03e_definer.inc
@@ -38,7 +38,7 @@ let $message= ######### Testcase for definer: ########;
before INSERT on t1 for each row
set new.f1 = 'trig 1_0-yes';
drop trigger trg1_0;
-# create trigger with definer test_yesprivs@localhost->succeed:
+# create trigger with definer test_yesprivs@localhost->succeed:
create definer=test_yesprivs@localhost trigger trg1_0
before INSERT on t1 for each row
set new.f1 = 'trig 1_0-yes';
@@ -49,13 +49,15 @@ let $message= ######### Testcase for definer: ########;
select current_user;
use priv_db;
# user hasn't trigger privilege->fail:
- --error 1142
+ --error ER_TABLEACCESS_DENIED_ERROR
insert into t1 (f1) values ('insert-no');
select f1 from t1 order by f1;
- --error 1142
+ --error ER_TABLEACCESS_DENIED_ERROR
drop trigger trg1_0;
- connection default; select current_user; grant select, insert, update ,trigger
+ connection default;
+ select current_user;
+ grant select, insert, update ,trigger
on priv_db.t1 to test_yesprivs@localhost;
show grants for test_yesprivs@localhost;
@@ -66,12 +68,12 @@ let $message= ######### Testcase for definer: ########;
select f1 from t1 order by f1;
drop trigger trg1_0;
# user has not super privilege->fail:
- --error 1227
+ --error ER_SPECIFIC_ACCESS_DENIED_ERROR
create definer=not_ex_user@localhost trigger trg1_0
before INSERT on t1 for each row
set new.f1 = 'trig 1_0-yes';
# shall always succeed:
- create definer=current_user trigger trg1_1
+ 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');
@@ -92,7 +94,7 @@ let $message= ######### Testcase for definer: ########;
connection yes_privs;
select current_user;
show grants;
- --error 1227
+ --error ER_SPECIFIC_ACCESS_DENIED_ERROR
create definer=not_ex_user@localhost trigger trg1_3
after UPDATE on t1 for each row
set @var1 = 'trig 1_3-yes';
@@ -109,7 +111,7 @@ let $message= ######### Testcase for definer: ########;
--enable_warnings
-# general Cleanup
+# general Cleanup
--disable_warnings
drop database if exists priv_db;
drop user test_yesprivs@localhost;
diff --git a/mysql-test/suite/funcs_1/triggers/triggers_03e_global_db_mix.inc b/mysql-test/suite/funcs_1/triggers/triggers_03e_global_db_mix.inc
index a1e1f0e494c..b6f4af7e0a7 100644
--- a/mysql-test/suite/funcs_1/triggers/triggers_03e_global_db_mix.inc
+++ b/mysql-test/suite/funcs_1/triggers/triggers_03e_global_db_mix.inc
@@ -89,7 +89,7 @@ let $message= trigger privilege on user level for create:;
use priv_db;
show triggers;
select * from information_schema.triggers;
- --error 1142
+ --error ER_TABLEACCESS_DENIED_ERROR
drop trigger trg1_1;
connection default;
@@ -106,7 +106,7 @@ let $message= no trigger privilege on db level for create:;
connection yes_privs;
select current_user;
- --error 1142
+ --error ER_TABLEACCESS_DENIED_ERROR
create trigger trg1_1 before INSERT on t1 for each row
set new.f1 = 'trig 1_1-no';
@@ -131,12 +131,12 @@ let $message= trigger privilege on db level for create:;
use priv_db;
create trigger trg1_2 before INSERT on t1 for each row
set new.f1 = 'trig 1_2-yes';
- --error 1142
+ --error ER_TABLEACCESS_DENIED_ERROR
create trigger no_priv_db.trg1_9 before insert on no_priv_db.t1
for each row
set new.f1 = 'trig 1_9-yes';
use no_priv_db;
- --error 1142
+ --error ER_TABLEACCESS_DENIED_ERROR
create trigger trg1_2 before INSERT on t1 for each row
set new.f1 = 'trig 1_2-no';
create trigger priv_db.trg1_9 before UPDATE on priv_db.t1
@@ -151,7 +151,7 @@ let $message= trigger privilege on db level for create:;
use no_priv_db;
insert into t1 (f1) values ('insert-yes');
select f1 from t1 order by f1;
- --error 1142
+ --error ER_TABLEACCESS_DENIED_ERROR
drop trigger priv_db.trg1_9;
connection default;
@@ -159,7 +159,7 @@ let $message= trigger privilege on db level for create:;
drop trigger priv_db.trg1_9;
revoke TRIGGER on priv_db.* from test_yesprivs@localhost;
use priv_db;
- --error 1142
+ --error ER_TABLEACCESS_DENIED_ERROR
insert into t1 (f1) values ('insert-yes');
select f1 from t1 order by f1;
grant TRIGGER on *.* to test_yesprivs@localhost;
@@ -168,7 +168,7 @@ let $message= trigger privilege on db level for create:;
connection yes_privs;
select current_user;
use no_priv_db;
- --error 1142
+ --error ER_TABLEACCESS_DENIED_ERROR
create trigger trg1_2 before INSERT on t1 for each row
set new.f1 = 'trig 1_2-no';
@@ -209,7 +209,7 @@ let $message= trigger privilege on db level for create:;
connection default;
select current_user;
-# general Cleanup
+# general Cleanup
drop database if exists priv_db;
drop database if exists no_priv_db;
drop database if exists h1;
diff --git a/mysql-test/suite/funcs_1/triggers/triggers_03e_prepare.inc b/mysql-test/suite/funcs_1/triggers/triggers_03e_prepare.inc
index dbb58194bb0..ea7c385768c 100644
--- a/mysql-test/suite/funcs_1/triggers/triggers_03e_prepare.inc
+++ b/mysql-test/suite/funcs_1/triggers/triggers_03e_prepare.inc
@@ -39,7 +39,7 @@ let $message= #### Testcase for trigger privilege on execution time ########;
select current_user;
show triggers;
grant select, insert, update ,trigger
- on priv_db.t1 to test_yesprivs@localhost
+ on priv_db.t1 to test_yesprivs@localhost
with grant option;
grant select
on priv_db.t1 to test_useprivs@localhost;
@@ -71,7 +71,7 @@ let $message= #### Testcase for trigger privilege on execution time ########;
connection yes_privs;
select current_user;
- --error 1142
+ --error ER_TABLEACCESS_DENIED_ERROR
execute ins1;
select f1 from t1 order by f1;
prepare ins1 from 'insert into t1 (f1) values (''insert4-no'')';
@@ -79,7 +79,7 @@ let $message= #### Testcase for trigger privilege on execution time ########;
connection use_privs;
select current_user;
prepare ins1 from 'insert into t1 (f1) values (''insert5-no'')';
- --error 1142
+ --error ER_TABLEACCESS_DENIED_ERROR
execute ins1;
select f1 from t1 order by f1;
@@ -107,13 +107,13 @@ let $message= #### Testcase for trigger privilege on execution time ########;
connection yes_privs;
select current_user;
- --error 1142
+ --error ER_TABLEACCESS_DENIED_ERROR
execute ins1;
select f1 from t1 order by f1;
connection use_privs;
select current_user;
- --error 1142
+ --error ER_TABLEACCESS_DENIED_ERROR
execute ins1;
select f1 from t1 order by f1;
@@ -170,7 +170,7 @@ let $message= #### Testcase for trigger privilege on execution time ########;
--enable_warnings
-# general Cleanup
+# general Cleanup
--disable_warnings
drop database if exists priv_db;
drop user test_yesprivs@localhost;
diff --git a/mysql-test/suite/funcs_1/triggers/triggers_03e_table_level.inc b/mysql-test/suite/funcs_1/triggers/triggers_03e_table_level.inc
index 456e51a2ae0..1019579a3fb 100644
--- a/mysql-test/suite/funcs_1/triggers/triggers_03e_table_level.inc
+++ b/mysql-test/suite/funcs_1/triggers/triggers_03e_table_level.inc
@@ -57,7 +57,7 @@ let $message= no trigger privilege on table level for create:;
select current_user;
use priv_db;
show tables;
- --error 1142
+ --error ER_TABLEACCESS_DENIED_ERROR
create trigger trg1_1 before INSERT on t1 for each row
set new.f1 = 'trig 1_1-no';
@@ -109,7 +109,7 @@ let $message= no trigger privilege on table level for drop:;
connection yes_privs;
select current_user;
- --error 1142
+ --error ER_TABLEACCESS_DENIED_ERROR
drop trigger trg1_2;
# no trigger priv at activation time->insert fails
@@ -118,7 +118,7 @@ let $message= no trigger privilege at activation time:;
--source include/show_msg.inc
connection no_privs;
select current_user;
- --error 1142
+ --error ER_TABLEACCESS_DENIED_ERROR
insert into t1 (f1) values ('insert5-no');
select f1 from t1 order by f1;
@@ -155,7 +155,7 @@ let $message= trigger privilege on table level for drop:;
insert into t1 (f1) values ('insert8-yes');
select f1 from t1 order by f1;
-# trigger privilege must be keep when mixinf tables with and without
+# trigger privilege must be keep when mixinf tables with and without
# trigger privilege
let $message= switch to table without having trigger priv for it:;
@@ -172,12 +172,12 @@ let $message= use table with trigger privilege and without...:;
--source include/show_msg.inc
connection yes_privs;
select current_user;
- --error 1142
+ --error ER_TABLEACCESS_DENIED_ERROR
create trigger trg2_1 before INSERT on t2 for each row
set new.f1 = 'trig 2_1-no';
create trigger trg1_3 before INSERT on t1 for each row
set new.f1 = 'trig 1_3-yes';
- --error 1142
+ --error ER_TABLEACCESS_DENIED_ERROR
create trigger trg2_2 before UPDATE on t2 for each row
set new.f1 = 'trig 2_2-no';
create trigger trg1_4 before UPDATE on t1 for each row
@@ -193,10 +193,10 @@ let $message= use table with trigger privilege and without...:;
connection yes_privs;
select current_user;
- --error 1360
+ --error ER_TRG_DOES_NOT_EXIST
drop trigger trg2_1;
drop trigger trg1_3;
- --error 1360
+ --error ER_TRG_DOES_NOT_EXIST
drop trigger trg2_2;
drop trigger trg1_4;
@@ -210,7 +210,7 @@ let $message= use table with trigger privilege and without...:;
--enable_warnings
-# general Cleanup
+# general Cleanup
--disable_warnings
drop database if exists priv_db;
drop user test_yesprivs@localhost;
diff --git a/mysql-test/suite/funcs_1/triggers/triggers_03e_transaction.inc b/mysql-test/suite/funcs_1/triggers/triggers_03e_transaction.inc
index a3f3a753774..e43f4ce97a3 100644
--- a/mysql-test/suite/funcs_1/triggers/triggers_03e_transaction.inc
+++ b/mysql-test/suite/funcs_1/triggers/triggers_03e_transaction.inc
@@ -40,7 +40,7 @@ let $message= ######### Testcase for transactions: ########;
select current_user;
use priv_db;
set autocommit=0;
- create definer=current_user trigger trg1_1
+ create definer=current_user trigger trg1_1
before INSERT on t1 for each row
set new.f1 = 'trig 1_1-yes';
rollback work;
@@ -56,7 +56,7 @@ let $message= ######### Testcase for transactions: ########;
commit work;
drop trigger trg1_1;
rollback work;
- --error 1360
+ --error ER_TRG_DOES_NOT_EXIST
drop trigger trg1_1;
drop trigger trg1_2;
commit work;
@@ -74,7 +74,7 @@ let $message= ######### Testcase for transactions: ########;
--enable_warnings
-# general Cleanup
+# general Cleanup
--disable_warnings
drop database if exists priv_db;
drop user test_yesprivs@localhost;
diff --git a/mysql-test/suite/funcs_1/triggers/triggers_0407.inc b/mysql-test/suite/funcs_1/triggers/triggers_0407.inc
index ccfeb1aec99..a05bdb45bac 100644
--- a/mysql-test/suite/funcs_1/triggers/triggers_0407.inc
+++ b/mysql-test/suite/funcs_1/triggers/triggers_0407.inc
@@ -1,7 +1,7 @@
#======================================================================
#
-# Trigger Tests
-# (test case numbering refer to requirement document TP v1.1)
+# Trigger Tests
+# (test case numbering refer to requirement document TP v1.1)
#======================================================================
--disable_abort_on_error
@@ -46,7 +46,7 @@ let $message= Testcase 3.5.4.1:;
eval create table t1 (f1 char(30)) engine=$engine_type;
grant INSERT, SELECT on db_drop.t1 to test_general;
Use db_drop;
- Create trigger trg1 BEFORE INSERT on t1
+ Create trigger trg1 BEFORE INSERT on t1
for each row set new.f1='Trigger 3.5.4.1';
connection con1_general;
Use db_drop;
@@ -61,17 +61,17 @@ let $message= Testcase 3.5.4.1:;
Select * from t1 order by f1;
#Cleanup
- --disable_warnings
+ --disable_warnings
connection con1_super;
--disable_warnings
- --error 0,1360
- drop trigger trg1;
+ --error 0,ER_TRG_DOES_NOT_EXIST
+ drop trigger trg1;
drop database if exists db_drop;
revoke ALL PRIVILEGES, GRANT OPTION FROM 'test_general'@'localhost';
--enable_warnings
#Section 3.5.4.2
-# Test case: Ensure that DROP TRIGGER <trigger name> fails, with an appropriate error
+# Test case: Ensure that DROP TRIGGER <trigger name> fails, with an appropriate error
# message, if the trigger name does not exist.
let $message= Testcase 3.5.4.2:;
--source include/show_msg.inc
@@ -83,16 +83,16 @@ let $message= Testcase 3.5.4.2:;
drop table if exists t1_432 ;
--enable_warnings
eval create table t1_432 (f1 char (30)) engine=$engine_type;
- --error 1360
+ --error ER_TRG_DOES_NOT_EXIST
Drop trigger tr_does_not_exit;
-#cleanup
+#cleanup
--disable_warnings
drop table if exists t1_432 ;
drop database if exists db_drop2;
--enable_warnings
#Section 3.5.4.3
-# Test case: Ensure that DROP TRIGGER <trigger name> fails, with an appropriate
+# Test case: Ensure that DROP TRIGGER <trigger name> fails, with an appropriate
# error message, if <trigger name> is not a qualified name.
let $message= Testcase 3.5.4.3:;
--source include/show_msg.inc
@@ -107,33 +107,33 @@ let $message= Testcase 3.5.4.3:;
eval create table t1_433 (f1 char (30)) engine=$engine_type;
eval create table t1_433a (f1a char (5)) engine=$engine_type;
- CREATE TRIGGER trg3 BEFORE INSERT on t1_433 for each row
+ CREATE TRIGGER trg3 BEFORE INSERT on t1_433 for each row
set new.f1 = 'Trigger 3.5.4.3';
-# Using table
- --error 1064
+# Using table
+ --error ER_PARSE_ERROR
Drop trigger t1.433.trg3;
-# Using database.table
- --error 1064
+# Using database.table
+ --error ER_PARSE_ERROR
Drop trigger db_drop3.t1.433.trg3;
# wrong database
- --error 1360
+ --error ER_TRG_DOES_NOT_EXIST
Drop trigger mysql.trg3;
# database does not exist
- --error 1360
+ --error ER_TRG_DOES_NOT_EXIST
Drop trigger tbx.trg3;
-#cleanup
+#cleanup
Drop trigger db_drop3.trg3;
drop table if exists t1_433;
drop table if exists t1_433a;
drop database if exists db_drop3;
#Section 3.5.4.4
-# Test case: Ensure that when a database is dropped, all triggers created within
+# Test case: Ensure that when a database is dropped, all triggers created within
# that database are also cleanly dropped.
let $message= Testcase 3.5.4.4:;
--source include/show_msg.inc
@@ -143,7 +143,7 @@ let $message= Testcase 3.5.4.4:;
Use db_drop4;
eval create table t1 (f1 char(30)) engine=$engine_type;
grant INSERT, SELECT on db_drop4.t1 to test_general;
- Create trigger trg4 BEFORE INSERT on t1
+ Create trigger trg4 BEFORE INSERT on t1
for each row set new.f1='Trigger 3.5.4.4';
connection con1_general;
Use db_drop4;
@@ -166,14 +166,14 @@ let $message= Testcase 3.5.4.4:;
#Cleanup
connection con1_super;
--disable_warnings
- --error 1360
- drop trigger trg4;
+ --error ER_TRG_DOES_NOT_EXIST
+ drop trigger trg4;
drop database if exists db_drop4;
--enable_warnings
revoke ALL PRIVILEGES, GRANT OPTION FROM 'test_general'@'localhost';
#Section 3.5.4.5
-# Test case: Ensure that when a table is dropped, all triggers for which it is the
+# Test case: Ensure that when a table is dropped, all triggers for which it is the
# subject table are also cleanly dropped.
let $message= Testcase 3.5.4.5:;
--source include/show_msg.inc
@@ -183,7 +183,7 @@ let $message= Testcase 3.5.4.5:;
Use db_drop5;
eval create table t1 (f1 char(50)) engine=$engine_type;
grant INSERT, SELECT on t1 to test_general;
- Create trigger trg5 BEFORE INSERT on t1
+ Create trigger trg5 BEFORE INSERT on t1
for each row set new.f1='Trigger 3.5.4.5';
connection con1_general;
Use db_drop5;
@@ -204,8 +204,8 @@ let $message= Testcase 3.5.4.5:;
#Cleanup
connection con1_super;
--disable_warnings
- --error 1360
- drop trigger trg5;
+ --error ER_TRG_DOES_NOT_EXIST
+ drop trigger trg5;
drop database if exists db_drop5;
--enable_warnings
revoke ALL PRIVILEGES, GRANT OPTION FROM 'test_general'@'localhost';
@@ -223,55 +223,55 @@ let $message= Testcase 3.5.5:;
use test;
#Section 3.5.5.1
-# Test case: Ensure that, if CREATE TRIGGER is executed with a non-existent
+# Test case: Ensure that, if CREATE TRIGGER is executed with a non-existent
# subject table, the statement fails with an appropriate error message.
let $message= Testcase 3.5.5.1:;
--source include/show_msg.inc
- --error 1146
+ --error ER_NO_SUCH_TABLE
Create trigger trg1 before INSERT on t100 for each row set new.f2=1000;
#Section 3.5.5.2
-# Test case: Ensure that, if CREATE TRIGGER is executed with a temporary table
+# Test case: Ensure that, if CREATE TRIGGER is executed with a temporary table
# as the subject table, the statement fails with an appropriate error message.
let $message= Testcase 3.5.5.2:;
--source include/show_msg.inc
Create temporary table t1_temp (f1 bigint signed, f2 bigint unsigned);
- --error 1361
- Create trigger trg2 before INSERT
+ --error ER_TRG_ON_VIEW_OR_TEMP_TABLE
+ Create trigger trg2 before INSERT
on t1_temp for each row set new.f2=9999;
#Cleanup
- --disable_warnings
+ --disable_warnings
drop table t1_temp;
--enable_warnings
#Section 3.5.5.3
-# Test case: Ensure that, if CREATE TRIGGER is executed with a view as the subject
+# Test case: Ensure that, if CREATE TRIGGER is executed with a view as the subject
# table, the statement fails with an appropriate error message.
let $message= Testcase 3.5.5.3:;
--source include/show_msg.inc
Create view vw3 as select f118 from tb3;
-# OBN Not sure why the server is returning error 1347
- --error 1347
- Create trigger trg3 before INSERT
+# OBN Not sure why the server is returning error ER_WRONG_OBJECT
+ --error ER_WRONG_OBJECT
+ Create trigger trg3 before INSERT
on vw3 for each row set new.f118='s';
#Cleanup
- --disable_warnings
+ --disable_warnings
drop view vw3;
--enable_warnings
#Section 3.5.5.4
-# Test case: Ensure that, if CREATE TRIGGER is executed with a table that resides
-# in a different database than in which the trigger will reside, the
+# Test case: Ensure that, if CREATE TRIGGER is executed with a table that resides
+# in a different database than in which the trigger will reside, the
# statement fails with an appropriate error message; that is, ensure that
# the trigger and its subject table must reside in the same database.
let $message= Testcase 3.5.5.4:;
@@ -283,7 +283,7 @@ let $message= Testcase 3.5.5.4:;
use dbtest_two;
eval create table t2 (f1 char(15)) engine=$engine_type;
use dbtest_one;
- --error 1435
+ --error ER_TRG_IN_WRONG_SCHEMA
create trigger trg4 before INSERT
on dbtest_two.t2 for each row set new.f1='trig 3.5.5.4';
grant INSERT, SELECT on dbtest_two.t2 to test_general;
@@ -298,7 +298,7 @@ let $message= Testcase 3.5.5.4:;
#Cleanup
connection con1_super;
- --disable_warnings
+ --disable_warnings
revoke ALL PRIVILEGES, GRANT OPTION FROM 'test_general'@'localhost';
DROP DATABASE if exists dbtest_one;
drop database if EXISTS dbtest_two;
@@ -316,7 +316,7 @@ let $message= Testcase 3.5.6:;
use test;
#Section 3.5.6.1
-# Test case: Ensure that a trigger definition can specify a trigger action time of BEFORE.
+# Test case: Ensure that a trigger definition can specify a trigger action time of BEFORE.
# See section 3.5.1.1
let $message= Testcase 3.5.6.1 (see Testcase 3.5.1.1);
--source include/show_msg.inc
@@ -328,37 +328,37 @@ let $message= Testcase 3.5.6.2 (see Testcase 3.5.1.1);
--source include/show_msg.inc
#Section 3.5.6.3
-# Test case: Ensure that a trigger definition that specifies a trigger action
-# time that is not either BEFORE or AFTER fails, with an appropriate
+# Test case: Ensure that a trigger definition that specifies a trigger action
+# time that is not either BEFORE or AFTER fails, with an appropriate
# error message, at CREATE TRIGGER time.
let $message= Testcase 3.5.6.3:;
--source include/show_msg.inc
- --error 1064
+ --error ER_PARSE_ERROR
Create trigger trg3_1 DURING UPDATE on tb3 for each row set new.f132=25;
- --error 1064
+ --error ER_PARSE_ERROR
Create trigger trg3_2 TIME INSERT on tb3 for each row set new.f132=15;
-#Cleanup
+#Cleanup
# OBN - Although none of the above should have been created we should do a cleanup
# since if they have been created, not dropping them will affect following
# tests.
--disable_warnings
- --error 0, 1360
+ --error 0, ER_TRG_DOES_NOT_EXIST
drop trigger tb3.trg3_1;
- --error 0, 1360
+ --error 0, ER_TRG_DOES_NOT_EXIST
drop trigger tb3.trg3_2;
--enable_warnings
#Section 3.5.6.4
-# Test case: Ensure that a trigger defined with a trigger action time of BEFORE
-# always executes its triggered action immediately before the trigger event.
+# Test case: Ensure that a trigger defined with a trigger action time of BEFORE
+# always executes its triggered action immediately before the trigger event.
# See section 3.5.1.1
let $message= Testcase 3.5.6.4 (see Testcase 3.5.1.1);
--source include/show_msg.inc
#Section 3.5.6.5
-# Test case: Ensure that a trigger defined with a trigger action time of AFTER
+# Test case: Ensure that a trigger defined with a trigger action time of AFTER
# always executes its triggered action immediately after the trigger event.
let $message= Testcase 3.5.6.5 (see Testcase 3.5.1.1);
--source include/show_msg.inc
@@ -384,40 +384,40 @@ let $message= Testcase 3.5.7.3 (see Testcase 3.5.1.1);
--source include/show_msg.inc
#Section 3.5.7.4
-# Test case: Ensure that a trigger definition that specifies a trigger event that
-# is not either INSERT, UPDATE or DELETE fails, with an appropriate error
+# Test case: Ensure that a trigger definition that specifies a trigger event that
+# is not either INSERT, UPDATE or DELETE fails, with an appropriate error
# message, at CREATE TRIGGER time.
let $message= Testcase 3.5.7.4:;
--source include/show_msg.inc
- --error 1064
+ --error ER_PARSE_ERROR
Create trigger trg4_1 BEFORE SELECT on tb3 for each row set new.f132=5;
- --error 1064
+ --error ER_PARSE_ERROR
Create trigger trg4_2 AFTER VALUE on tb3 for each row set new.f132=1;
-#Cleanup
+#Cleanup
# OBN - Although none of the above should have been created we should do a cleanup
# since if they have been created, not dropping them will affect following
# tests.
--disable_warnings
- --error 0, 1360
+ --error 0, ER_TRG_DOES_NOT_EXIST
drop trigger tb3.trg4_1;
- --error 0, 1360
+ --error 0, ER_TRG_DOES_NOT_EXIST
drop trigger tb3.trg4_2;
--enable_warnings
-#Section 3.5.7.5 / 3.5.7.6
-# Test case: Ensure that it is not possible to create multiple BEFORE INSERT triggers
+#Section 3.5.7.5 / 3.5.7.6
+# Test case: Ensure that it is not possible to create multiple BEFORE INSERT triggers
# on the same table, even if the triggers have different names / different
# triggered actions.
let $message= Testcase 3.5.7.5 / 3.5.7.6:;
--source include/show_msg.inc
- Create trigger trg5_1 BEFORE INSERT
+ Create trigger trg5_1 BEFORE INSERT
on tb3 for each row set new.f122='Trigger1 3.5.7.5/6';
- --error ER_NOT_SUPPORTED_YET
- Create trigger trg5_2 BEFORE INSERT
+ --error ER_NOT_SUPPORTED_YET
+ Create trigger trg5_2 BEFORE INSERT
on tb3 for each row set new.f122='Trigger2 3.5.7.5';
Insert into tb3 (f121,f122) values ('Test 3.5.7.5/6','Insert 3.5.7.5');
@@ -426,27 +426,27 @@ let $message= Testcase 3.5.7.5 / 3.5.7.6:;
Select f121,f122 from tb3 where f121='Test 3.5.7.5/6';
#Cleanup
- --disable_warnings
+ --disable_warnings
drop trigger trg5_1;
- --error 0, 1360
+ --error 0, ER_TRG_DOES_NOT_EXIST
drop trigger trg5_2;
delete from tb3 where f121='Test 3.5.7.5/6';
--enable_warnings
-#Section 3.5.7.7 / 3.5.7.8
-# Test case: Ensure that it is not possible to create multiple AFTER INSERT triggers
+#Section 3.5.7.7 / 3.5.7.8
+# Test case: Ensure that it is not possible to create multiple AFTER INSERT triggers
# on the same table, even if the triggers have different names / different
# triggered actions.
let $message= Testcase 3.5.7.7 / 3.5.7.8:;
--source include/show_msg.inc
set @test_var='Before trig 3.5.7.7';
- Create trigger trg6_1 AFTER INSERT
+ Create trigger trg6_1 AFTER INSERT
on tb3 for each row set @test_var='Trigger1 3.5.7.7/8';
- --error ER_NOT_SUPPORTED_YET
- Create trigger trg6_2 AFTER INSERT
+ --error ER_NOT_SUPPORTED_YET
+ Create trigger trg6_2 AFTER INSERT
on tb3 for each row set @test_var='Trigger2 3.5.7.7';
select @test_var;
@@ -458,26 +458,26 @@ let $message= Testcase 3.5.7.7 / 3.5.7.8:;
select @test_var;
#Cleanup
- --disable_warnings
+ --disable_warnings
drop trigger trg6_1;
- --error 0, 1360
+ --error 0, ER_TRG_DOES_NOT_EXIST
drop trigger trg6_2;
delete from tb3 where f121='Test 3.5.7.7/8';
--enable_warnings
#Section 3.5.7.9 / 3.5.7.10
-# Test case: Ensure that it is not possible to create multiple BEFORE UPDATE triggers
-# on the same table, even if the triggers have different names / different
+# Test case: Ensure that it is not possible to create multiple BEFORE UPDATE triggers
+# on the same table, even if the triggers have different names / different
# triggered actions.
let $message= Testcase 3.5.7.9/10:;
--source include/show_msg.inc
- Create trigger trg7_1 BEFORE UPDATE
+ Create trigger trg7_1 BEFORE UPDATE
on tb3 for each row set new.f122='Trigger1 3.5.7.9/10';
- --error ER_NOT_SUPPORTED_YET
- Create trigger trg7_2 BEFORE UPDATE
+ --error ER_NOT_SUPPORTED_YET
+ Create trigger trg7_2 BEFORE UPDATE
on tb3 for each row set new.f122='Trigger2 3.5.7.9';
Insert into tb3 (f121,f122) values ('Test 3.5.7.9/10','Insert 3.5.7.9');
@@ -486,25 +486,25 @@ let $message= Testcase 3.5.7.9/10:;
Select f121,f122 from tb3 where f121='Test 3.5.7.9/10';
#Cleanup
- --disable_warnings
+ --disable_warnings
drop trigger trg7_1;
- --error 0, 1360
+ --error 0, ER_TRG_DOES_NOT_EXIST
drop trigger trg7_2;
delete from tb3 where f121='Test 3.5.7.9/10';
#Section 3.5.7.11 / 3.5.7.12
-# Test case: Ensure that it is not possible to create multiple AFTER UPDATE triggers
+# Test case: Ensure that it is not possible to create multiple AFTER UPDATE triggers
# on the same table, even if the triggers have different names / different
-# triggered actions.
+# triggered actions.
let $message= Testcase 3.5.7.11/12:;
--source include/show_msg.inc
set @test_var='Before trig 3.5.7.11';
- Create trigger trg8_1 AFTER UPDATE
+ Create trigger trg8_1 AFTER UPDATE
on tb3 for each row set @test_var='Trigger 3.5.7.11/12';
- --error ER_NOT_SUPPORTED_YET
- Create trigger trg8_2 AFTER UPDATE
+ --error ER_NOT_SUPPORTED_YET
+ Create trigger trg8_2 AFTER UPDATE
on tb3 for each row set @test_var='Trigger2 3.5.7.11';
@@ -518,25 +518,25 @@ let $message= Testcase 3.5.7.11/12:;
delete from tb3 where f121='Test 3.5.7.11/12';
#Cleanup
- --disable_warnings
+ --disable_warnings
drop trigger trg8_1;
- --error 0, 1360
+ --error 0, ER_TRG_DOES_NOT_EXIST
drop trigger trg8_2;
delete from tb3 where f121='Test 3.5.7.11/12';
#Section 3.5.7.13 / 3.5.7.14
-# Test case: Ensure that it is not possible to create multiple BEFORE DELETE triggers
+# Test case: Ensure that it is not possible to create multiple BEFORE DELETE triggers
# on the same table, even if the triggers have different names / different
# triggered actions.
let $message= Testcase 3.5.7.13/14:;
--source include/show_msg.inc
set @test_var=1;
- Create trigger trg9_1 BEFORE DELETE
+ Create trigger trg9_1 BEFORE DELETE
on tb3 for each row set @test_var=@test_var+1;
--error ER_NOT_SUPPORTED_YET
- Create trigger trg9_2 BEFORE DELETE
+ Create trigger trg9_2 BEFORE DELETE
on tb3 for each row set @test_var=@test_var+10;
select @test_var;
@@ -550,29 +550,29 @@ let $message= Testcase 3.5.7.13/14:;
select @test_var;
#Cleanup
- --disable_warnings
+ --disable_warnings
drop trigger trg9_1;
- --error 0, 1360
+ --error 0, ER_TRG_DOES_NOT_EXIST
drop trigger trg9_2;
delete from tb3 where f121='Test 3.5.7.13/14';
#Section 3.5.7.15 / 3.5.7.16
-# Test case: Ensure that it is not possible to create multiple AFTER DELETE triggers
-# on the same table, even if the triggers have different names / different
+# Test case: Ensure that it is not possible to create multiple AFTER DELETE triggers
+# on the same table, even if the triggers have different names / different
# triggered actions.
let $message= Testcase 3.5.7.15/16:;
--source include/show_msg.inc
set @test_var=1;
- Create trigger trg_3_406010_1 AFTER DELETE
+ Create trigger trg_3_406010_1 AFTER DELETE
on tb3 for each row set @test_var=@test_var+5;
- --error ER_NOT_SUPPORTED_YET
- Create trigger trg_3_406010_2 AFTER DELETE
+ --error ER_NOT_SUPPORTED_YET
+ Create trigger trg_3_406010_2 AFTER DELETE
on tb3 for each row set @test_var=@test_var+50;
- --error 1359
- Create trigger trg_3_406010_1 AFTER INSERT
+ --error ER_TRG_ALREADY_EXISTS
+ Create trigger trg_3_406010_1 AFTER INSERT
on tb3 for each row set @test_var=@test_var+1;
select @test_var;
@@ -586,18 +586,18 @@ let $message= Testcase 3.5.7.15/16:;
select @test_var;
#Cleanup
- --disable_warnings
+ --disable_warnings
drop trigger trg_3_406010_1;
- --error 0, 1360
+ --error 0, ER_TRG_DOES_NOT_EXIST
drop trigger trg_3_406010_2;
delete from tb3 where f121='Test 3.5.7.15/16';
--enable_warnings
#Section 3.5.7.17
-# Test case: Ensure that it is possible to have a BEFORE INSERT, an AFTER INSERT,
-# a BEFORE UPDATE, an AFTER UPDATE, a BEFORE DELETE, and an AFTER DELETE
-# trigger on the same table; that is, ensure that every persistent base
+# Test case: Ensure that it is possible to have a BEFORE INSERT, an AFTER INSERT,
+# a BEFORE UPDATE, an AFTER UPDATE, a BEFORE DELETE, and an AFTER DELETE
+# trigger on the same table; that is, ensure that every persistent base
# table may be the subject table for exactly six triggers
let $message= Testcase 3.5.7.17 (see Testcase 3.5.1.1);
--source include/show_msg.inc
diff --git a/mysql-test/suite/funcs_1/triggers/triggers_08.inc b/mysql-test/suite/funcs_1/triggers/triggers_08.inc
index 4a7ea486248..d7ef12c58a8 100644
--- a/mysql-test/suite/funcs_1/triggers/triggers_08.inc
+++ b/mysql-test/suite/funcs_1/triggers/triggers_08.inc
@@ -1,8 +1,9 @@
#======================================================================
#
-# Trigger Tests
-# (test case numbering refer to requirement document TP v1.1)
+# Trigger Tests
+# (test case numbering refer to requirement document TP v1.1)
#======================================================================
+# WL#4084: enable disabled parts, 2007-11-15 hhunger
# General setup for Trigger tests
let $message= Testcase: 3.5:;
@@ -29,22 +30,20 @@ let $message= Testcase: 3.5:;
#################################
#Section 3.5.8.1
-# Testcase: Ensure that the triggered action of every trigger always executes
+# Testcase: Ensure that the triggered action of every trigger always executes
# correctly and the results in all expected changes made to the database
let $message= Testcase 3.5.8.1: (implied in previous tests);
--source include/show_msg.inc
-# OBN - FIXME - Missing 3.5.8.1 need to add
-
#Section 3.5.8.2
-# Testcase: Ensure that the triggered actions of every trigger never results
+# Testcase: Ensure that the triggered actions of every trigger never results
# in an unexpected change made to the database.
let $message= Testcase 3.5.8.2: (implied in previous tests);
--source include/show_msg.inc
#Section 3.5.8.3 / 3.5.8.4
-#Test case: Ensure that the triggered action can any valid SQL statement / set
+#Test case: Ensure that the triggered action can any valid SQL statement / set
# of valid SQL statements, provided the statements are written within
# a BEGIN/END compound statement construct
# OBN - At this point the tests focuses on the the INSERT/UPDATE/DELETE SQL statements
@@ -58,17 +57,17 @@ let $message= Testcase 3.5.8.3/4:;
grant SELECT, INSERT, UPDATE, DELETE on db_test.* to test_general;
grant LOCK TABLES on db_test.* to test_general;
Use db_test;
- eval create table t1_i (
+ eval 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_type;
- eval create table t1_u (
+ eval 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_type;
- eval create table t1_d (
+ eval 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,
@@ -93,28 +92,30 @@ let $message= 3.5.8.4 - multiple SQL;
delimiter //;
Create trigger trg1 AFTER INSERT on tb3 for each row
BEGIN
- insert into db_test.t1_i
+ insert into db_test.t1_i
values (new.f120, new.f136, new.f144, new.f163);
- update db_test.t1_u
+ update db_test.t1_u
set u144=new.f144, u163=new.f163
- where u136=new.f136;
+ 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//
+ select sum(db_test.t1_u.u163) into @test_var from db_test.t1_u
+ where u136= new.f136;
+ END//
delimiter ;//
# Test trigger execution - multiple SQL
connection con2_general;
Use test;
set @test_var=0;
- Insert into tb3 (f120, f122, f136, f144, f163)
+ 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';
-# error in ndb
- select * from db_test.t1_i order by i120;
- select * from db_test.t1_u order by u120;
- select * from db_test.t1_d order by d120;
+ --sorted_result
+ select * from db_test.t1_i;
+ --sorted_result
+ select * from db_test.t1_u;
+ --sorted_result
+ select * from db_test.t1_d;
select @test_var;
@@ -125,7 +126,7 @@ let $message= 3.5.8.4 - single SQL - insert;
delimiter //;
Create trigger trg2 BEFORE UPDATE on tb3 for each row
BEGIN
- insert into db_test.t1_i
+ insert into db_test.t1_i
values (new.f120, new.f136, new.f144, new.f163);
END//
delimiter ;//
@@ -146,9 +147,9 @@ let $message= 3.5.8.4 - single SQL - update;
connection con2_super;
drop trigger trg2;
Create trigger trg3 BEFORE UPDATE on tb3 for each row
- update db_test.t1_u
+ update db_test.t1_u
set u120=new.f120
- where u136=new.f136;
+ where u136=new.f136;
# Trigger exeution - single SQL - update;
connection con2_general;
@@ -169,7 +170,7 @@ let $message= 3.5.8.3/4 - single SQL - delete;
# Trigger exeution - single SQL delete
connection con2_general;
#lock tables tb3 write, db_test.t1_i write, db_test.t1_u write, db_test.t1_d write;
- update tb3 set f120='D', f136=444,
+ update tb3 set f120='D', f136=444,
f122='Test 3.5.8.4-Single Delete'
where f122='Test 3.5.8.4-Single Update';
#unlock tables;
@@ -183,13 +184,13 @@ let $message= 3.5.8.3/4 - single SQL - select;
connection con2_super;
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;
+ select sum(db_test.t1_u.u163) into @test_var from db_test.t1_u
+ where u136= new.f136;
# Trigger exeution - single SQL select
connection con2_general;
set @test_var=0;
- update tb3 set f120='S', f136=111,
+ 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%';
@@ -197,7 +198,7 @@ let $message= 3.5.8.3/4 - single SQL - select;
#Cleanup
connection default;
- --disable_warnings
+ --disable_warnings
drop trigger trg1;
drop trigger trg5;
drop database if exists db_test;
@@ -207,8 +208,8 @@ let $message= 3.5.8.3/4 - single SQL - select;
#Section 3.5.8.5 (IF)
-# Test case: Ensure that the stored procedure-specific flow control statement like IF
-# works correctly when it is a part of the triggered action portion of a
+# Test case: Ensure that the stored procedure-specific flow control statement like IF
+# works correctly when it is a part of the triggered action portion of a
# trigger definition.
let $message= Testcase 3.5.8.5 (IF):;
--source include/show_msg.inc
@@ -226,7 +227,7 @@ let $message= Testcase 3.5.8.5 (IF):;
IF (new.f120='4') and (new.f136=10) then
set @test_var2='2nd if', new.f120='d';
- ELSE
+ ELSE
set @test_var2='2nd else', new.f120='D';
END IF;
END//
@@ -234,50 +235,50 @@ let $message= Testcase 3.5.8.5 (IF):;
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
+ select f120, f122, f136, @test_var, @test_var2
from tb3 where f122 = 'Test 3.5.8.5-if' order by f136;
Insert into tb3 (f120, f122, f136) values ('2', 'Test 3.5.8.5-if', 102);
- select f120, f122, f136, @test_var, @test_var2
+ select f120, f122, f136, @test_var, @test_var2
from tb3 where f122 = 'Test 3.5.8.5-if' order by f136;
Insert into tb3 (f120, f122, f136) values ('3', 'Test 3.5.8.5-if', 10);
- select f120, f122, f136, @test_var, @test_var2
+ select f120, f122, f136, @test_var, @test_var2
from tb3 where f122 = 'Test 3.5.8.5-if' order by f136;
Insert into tb3 (f120, f122, f136) values ('3', 'Test 3.5.8.5-if', 103);
- select f120, f122, f136, @test_var, @test_var2
+ select f120, f122, f136, @test_var, @test_var2
from tb3 where f122 = 'Test 3.5.8.5-if' order by f136;
delimiter //;
- --error 1064
+ --error ER_PARSE_ERROR
create trigger trg3 before update on tb3 for each row
BEGIN
ELSEIF new.f120='2' then
END IF;
END//
- --error 0, 1360
+ --error 0, ER_TRG_DOES_NOT_EXIST
drop trigger trg3//
- --error 1064
+ --error ER_PARSE_ERROR
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
+ ELSE
set @test_var2='2nd else', new.f120='D';
END//
delimiter ;//
- --error 0, 1360
+ --error 0, ER_TRG_DOES_NOT_EXIST
drop trigger trg4;
#Cleanup
- --disable_warnings
+ --disable_warnings
drop trigger trg2;
delete from tb3 where f121='Test 3.5.8.5-if';
--enable_warnings
#Section 3.5.8.5 (CASE)
-# Test case: Ensure that the stored procedure-specific flow control statement
-# like CASE works correctly when it is a part of the triggered action
+# Test case: Ensure that the stored procedure-specific flow control statement
+# like CASE works correctly when it is a part of the triggered action
# portion of a trigger definition.
let $message= Testcase 3.5.8.5-case:;
--source include/show_msg.inc
@@ -317,34 +318,34 @@ let $message= Testcase 3.5.8.5-case:;
delimiter ;//
set @test_var='Empty';
- Insert into tb3 (f120, f122, f136, f144)
+ 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;
- Insert into tb3 (f120, f122, f136, f144)
+ select f120, f122, f136, f144, @test_var
+ from tb3 where f122 = 'Test 3.5.8.5-case' order by f120,f136;
+ 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;
- Insert into tb3 (f120, f122, f136, f144)
+ select f120, f122, f136, f144, @test_var
+ from tb3 where f122 = 'Test 3.5.8.5-case' order by f120,f136;
+ 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;
- Insert into tb3 (f120, f122, f136)
+ select f120, f122, f136, f144, @test_var
+ from tb3 where f122 = 'Test 3.5.8.5-case' order by f120,f136;
+ Insert into tb3 (f120, f122, f136)
values ('d', 'Test 3.5.8.5-case', 152);
- select f120, f122, f136, f144, @test_var
- from tb3 where f122 = 'Test 3.5.8.5-case' order by f120;
- Insert into tb3 (f120, f122, f136, f144)
+ select f120, f122, f136, f144, @test_var
+ from tb3 where f122 = 'Test 3.5.8.5-case' order by f120,f136;
+ Insert into tb3 (f120, f122, f136, f144)
values ('e', 'Test 3.5.8.5-case', 200, 8);
- select f120, f122, f136, f144, @test_var
- from tb3 where f122 = 'Test 3.5.8.5-case' order by f120;
- --error 0, 1339
- Insert into tb3 (f120, f122, f136, f144)
+ select f120, f122, f136, f144, @test_var
+ from tb3 where f122 = 'Test 3.5.8.5-case' order by f120,f136;
+ --error 0, ER_SP_CASE_NOT_FOUND
+ 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;
+ select f120, f122, f136, f144, @test_var
+ from tb3 where f122 = 'Test 3.5.8.5-case' order by f120,f136;
delimiter //;
- --error 1064
+ --error ER_PARSE_ERROR
create trigger trg3a before update on tb3 for each row
BEGIN
CASE
@@ -352,11 +353,11 @@ let $message= Testcase 3.5.8.5-case:;
END//
delimiter ;//
- --error 0, 1360
+ --error 0, ER_TRG_DOES_NOT_EXIST
drop trigger trg3a;
#Cleanup
- --disable_warnings
+ --disable_warnings
drop trigger trg3;
delete from tb3 where f121='Test 3.5.8.5-case';
--enable_warnings
@@ -370,53 +371,53 @@ let $message= Testcase 3.5.8.5-loop/leave:;
delimiter //;
Create trigger trg4 after insert on tb3 for each row
- BEGIN
+ BEGIN
set @counter=0, @flag='Initial';
- Label1: loop
+ Label1: loop
if new.f136<new.f144 then
set @counter='Nothing to loop';
- leave Label1;
+ 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;
+ end if;
+ end if;
+ iterate label1;
set @flag='Final';
- END loop Label1;
+ END loop Label1;
END//
delimiter ;//
- Insert into tb3 (f122, f136, f144)
+ Insert into tb3 (f122, f136, f144)
values ('Test 3.5.8.5-loop', 2, 8);
select @counter, @flag;
- Insert into tb3 (f122, f136, f144)
+ Insert into tb3 (f122, f136, f144)
values ('Test 3.5.8.5-loop', 11, 8);
select @counter, @flag;
delimiter //;
- --error 1064
+ --error ER_PARSE_ERROR
Create trigger trg4_2 after update on tb3 for each row
- BEGIN
- Label1: loop
+ BEGIN
+ Label1: loop
set @counter=@counter+1;
- END;
+ END;
END//
delimiter ;//
- --error 0, 1360
+ --error 0, ER_TRG_DOES_NOT_EXIST
drop trigger trg4_2;
#Cleanup
- --disable_warnings
+ --disable_warnings
drop trigger trg4;
delete from tb3 where f122='Test 3.5.8.5-loop';
--enable_warnings
#Section 3.5.8.5 (REPEAT ITERATE)
-#Testcase: Ensure that the stored procedure-specific flow control statements
+#Testcase: Ensure that the stored procedure-specific flow control statements
# like REPEAT work correctly when they are part of the triggered action
# portion of a trigger definition.
let $message= Testcase 3.5.8.5-repeat:;
@@ -425,108 +426,122 @@ let $message= Testcase 3.5.8.5-repeat:;
delimiter //;
Create trigger trg6 after insert on tb3 for each row
BEGIN
- rp_label: REPEAT
- SET @counter1 = @counter1 + 1;
+ rp_label: REPEAT
+ SET @counter1 = @counter1 + 1;
IF (@counter1 MOD 2 = 0) THEN ITERATE rp_label;
END IF;
- SET @counter2 = @counter2 + 1;
+ SET @counter2 = @counter2 + 1;
UNTIL @counter1> new.f136 END REPEAT rp_label;
END//
delimiter ;//
set @counter1= 0, @counter2= 0;
- Insert into tb3 (f122, f136)
+ Insert into tb3 (f122, f136)
values ('Test 3.5.8.5-repeat', 13);
select @counter1, @counter2;
delimiter //;
- --error 1064
+ --error ER_PARSE_ERROR
Create trigger trg6_2 after update on tb3 for each row
BEGIN
- REPEAT
- SET @counter2 = @counter2 + 1;
+ REPEAT
+ SET @counter2 = @counter2 + 1;
END//
delimiter ;//
#Cleanup
- --disable_warnings
+ --disable_warnings
drop trigger trg6;
delete from tb3 where f122='Test 3.5.8.5-repeat';
--enable_warnings
#Section 3.5.8.5 (WHILE)
-# Test case: Ensure that the stored procedure-specific flow control
-# statements WHILE, work correctly when they are part of
+# Test case: Ensure that the stored procedure-specific flow control
+# statements WHILE, work correctly when they are part of
# the triggered action portion of a trigger definition.
let $message= Testcase 3.5.8.5-while:;
--source include/show_msg.inc
delimiter //;
Create trigger trg7 after insert on tb3 for each row
- wl_label: WHILE @counter1 < new.f136 DO
- SET @counter1 = @counter1 + 1;
+ 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;
+ SET @counter2 = @counter2 + 1;
END WHILE wl_label//
delimiter ;//
set @counter1= 0, @counter2= 0;
- Insert into tb3 (f122, f136)
+ Insert into tb3 (f122, f136)
values ('Test 3.5.8.5-while', 7);
select @counter1, @counter2;
delimiter //;
- --error 1064
+ --error ER_PARSE_ERROR
Create trigger trg7_2 after update on tb3 for each row
BEGIN
- WHILE @counter1 < new.f136
- SET @counter1 = @counter1 + 1;
+ WHILE @counter1 < new.f136
+ SET @counter1 = @counter1 + 1;
END//
delimiter ;//
#Cleanup
- --disable_warnings
+ --disable_warnings
delete from tb3 where f122='Test 3.5.8.5-while';
drop trigger trg7;
--enable_warnings
#Section 3.5.8.6
-# Test case: Ensure that a trigger definition that includes a CALL to a stored
-# procedure fails, at CREATE TRIGGER time, with an appropriate error
-# message
-# OBN - requirement void since allowed
-# Fails due to Bug 9909 the bug allows the trigger to be created
-# and fails in execution time
+# Test case: Ensure that a trigger definition that includes a CALL to a stored
+# procedure fails, at CREATE TRIGGER time, with an appropriate error
+# message. Not more valid requirement.
let $message= Testcase 3.5.8.6: (requirement void);
--source include/show_msg.inc
+ delimiter //;
+ 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//
+ delimiter ;//
+ 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;
+ DROP TRIGGER trg8_1;
+ DROP PROCEDURE sp_01;
#Section 3.5.8.7
-# Test case: Ensure that a trigger definition that includes a
-# transaction-delimiting statement (e.g. COMMIT,
-# ROLLBACK, START TRANSACTION) fails, at CREATE TRIGGER
+# Test case: Ensure that a trigger definition that includes a
+# transaction-delimiting statement (e.g. COMMIT,
+# ROLLBACK, START TRANSACTION) fails, at CREATE TRIGGER
# time, with an appropriate error message.
-# OBN - Fails due to Bug ____
-let $message= Testcase 3.5.8.7: (Disabled as a result of bug _____);
+let $message= Testcase 3.5.8.7;
--source include/show_msg.inc
+
+ delimiter //;
+ --error ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG
+ Create trigger trg9_1 before update on tb3 for each row
+ BEGIN
+ Start transaction;
+ Set new.f120='U';
+ Commit;
+ END//
-# --error 1314
-# Create trigger trg9_1 before update on tb3 for each row
-# BEGIN
-# Start transaction;
-# Set new.f120='U';
-# Commit;
-# END;
-
-# --error 1314
-# Create trigger trg9_2 before delete on tb3 for each row
-# BEGIN
-# Start transaction;
-# Set @var2=old.f120;
-# Rollback;
-# END;
+ --error ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG
+ Create trigger trg9_2 before delete on tb3 for each row
+ BEGIN
+ Start transaction;
+ Set @var2=old.f120;
+ Rollback;
+ END//
+ delimiter ;//
# Cleanup section 3.5
diff --git a/mysql-test/suite/funcs_1/triggers/triggers_09.inc b/mysql-test/suite/funcs_1/triggers/triggers_09.inc
index 912c5f50b21..406f37e6ff5 100644
--- a/mysql-test/suite/funcs_1/triggers/triggers_09.inc
+++ b/mysql-test/suite/funcs_1/triggers/triggers_09.inc
@@ -1,7 +1,7 @@
#======================================================================
#
-# Trigger Tests
-# (test case numbering refer to requirement document TP v1.1)
+# Trigger Tests
+# (test case numbering refer to requirement document TP v1.1)
#======================================================================
@@ -11,15 +11,15 @@
#################################
#Section 3.5.9.1
-#Test case: Ensure that every trigger executes its triggered action on each row
+#Test case: Ensure that every trigger executes its triggered action on each row
# that meets the conditions stated in the trigger definition.
#Section 3.5.9.2
-#Testcase: Ensure that a trigger never executes its triggered action on any row
+#Testcase: Ensure that a trigger never executes its triggered action on any row
# that doesn't meet the conditions stated in the trigger definition.
let $message= Testcase 3.5.9.1/2:;
--source include/show_msg.inc
- Create trigger trg1 BEFORE UPDATE on tb3 for each row
+ Create trigger trg1 BEFORE UPDATE on tb3 for each row
set new.f142 = 94087, @counter=@counter+1;
--disable_query_log
select count(*) as TotalRows from tb3;
@@ -29,22 +29,22 @@ let $message= Testcase 3.5.9.1/2:;
--enable_query_log
set @counter=0;
Update tb3 Set f142='1' where f130<100;
- select count(*) as ExpectedChanged, @counter as TrigCounter
+ select count(*) as ExpectedChanged, @counter as TrigCounter
from tb3 where f142=94087;
- select count(*) as ExpectedNotChange from tb3
+ select count(*) as ExpectedNotChange from tb3
where f130<100 and f142<>94087;
- select count(*) as NonExpectedChanged from tb3
+ select count(*) as NonExpectedChanged from tb3
where f130>=130 and f142=94087;
#Cleanup
- --disable_warnings
+ --disable_warnings
drop trigger trg1;
--enable_warnings
#Section 3.5.9.3
-#Test case: Ensure that a reference to OLD.<column name> always correctly refers
-# to the values of the specified column of the subject table before a
+#Test case: Ensure that a reference to OLD.<column name> always correctly refers
+# to the values of the specified column of the subject table before a
# data row is updated or deleted.
let $message= Testcase 3.5.9.3:;
--source include/show_msg.inc
@@ -71,46 +71,46 @@ let $message= Testcase 3.5.9.3:;
--disable_query_log
- set @tr_var_b4_118=0, @tr_var_b4_121=0, @tr_var_b4_122=0,
+ set @tr_var_b4_118=0, @tr_var_b4_121=0, @tr_var_b4_122=0,
@tr_var_b4_136=0, @tr_var_b4_163=0;
- set @tr_var_af_118=0, @tr_var_af_121=0, @tr_var_af_122=0,
+ set @tr_var_af_118=0, @tr_var_af_121=0, @tr_var_af_122=0,
@tr_var_af_136=0, @tr_var_af_163=0;
- select @tr_var_b4_118, @tr_var_b4_121, @tr_var_b4_122,
+ select @tr_var_b4_118, @tr_var_b4_121, @tr_var_b4_122,
@tr_var_b4_136, @tr_var_b4_163;
- select @tr_var_af_118, @tr_var_af_121, @tr_var_af_122,
+ select @tr_var_af_118, @tr_var_af_121, @tr_var_af_122,
@tr_var_af_136, @tr_var_af_163;
--enable_query_log
- Insert into tb3 (f122, f136, f163)
+ 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;
- select @tr_var_b4_118, @tr_var_b4_121, @tr_var_b4_122,
+ select @tr_var_b4_118, @tr_var_b4_121, @tr_var_b4_122,
@tr_var_b4_136, @tr_var_b4_163;
- select @tr_var_af_118, @tr_var_af_121, @tr_var_af_122,
+ select @tr_var_af_118, @tr_var_af_121, @tr_var_af_122,
@tr_var_af_136, @tr_var_af_163;
--disable_query_log
- set @tr_var_b4_118=0, @tr_var_b4_121=0, @tr_var_b4_122=0,
+ set @tr_var_b4_118=0, @tr_var_b4_121=0, @tr_var_b4_122=0,
@tr_var_b4_136=0, @tr_var_b4_163=0;
- set @tr_var_af_118=0, @tr_var_af_121=0, @tr_var_af_122=0,
+ set @tr_var_af_118=0, @tr_var_af_121=0, @tr_var_af_122=0,
@tr_var_af_136=0, @tr_var_af_163=0;
- select @tr_var_b4_118, @tr_var_b4_121, @tr_var_b4_122,
+ select @tr_var_b4_118, @tr_var_b4_121, @tr_var_b4_122,
@tr_var_b4_136, @tr_var_b4_163;
- select @tr_var_af_118, @tr_var_af_121, @tr_var_af_122,
+ select @tr_var_af_118, @tr_var_af_121, @tr_var_af_122,
@tr_var_af_136, @tr_var_af_163;
--enable_query_log
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;
- select @tr_var_b4_118, @tr_var_b4_121, @tr_var_b4_122,
+ select @tr_var_b4_118, @tr_var_b4_121, @tr_var_b4_122,
@tr_var_b4_136, @tr_var_b4_163;
- select @tr_var_af_118, @tr_var_af_121, @tr_var_af_122,
+ select @tr_var_af_118, @tr_var_af_121, @tr_var_af_122,
@tr_var_af_136, @tr_var_af_163;
#Cleanup
- --disable_warnings
+ --disable_warnings
drop trigger trg2_a;
drop trigger trg2_b;
drop trigger trg2_c;
@@ -118,8 +118,8 @@ let $message= Testcase 3.5.9.3:;
--enable_warnings
#Section 3.5.9.4
-#Test case: Ensure that a reference to NEW.<column name> always correctly refers
-# to the values of the specified column of the subject table after an
+#Test case: Ensure that a reference to NEW.<column name> always correctly refers
+# to the values of the specified column of the subject table after an
# existing data row has been updated or a new data row has been inserted.
let $message= Testcase 3.5.9.4:;
--source include/show_msg.inc
@@ -145,48 +145,52 @@ let $message= Testcase 3.5.9.4:;
@tr_var_af_151=new.f151, @tr_var_af_163=new.f163;
--disable_query_log
- set @tr_var_b4_118=0, @tr_var_b4_121=0, @tr_var_b4_122=0,
+ set @tr_var_b4_118=0, @tr_var_b4_121=0, @tr_var_b4_122=0,
@tr_var_b4_136=0, @tr_var_b4_151=0, @tr_var_b4_163=0;
- set @tr_var_af_118=0, @tr_var_af_121=0, @tr_var_af_122=0,
+ set @tr_var_af_118=0, @tr_var_af_121=0, @tr_var_af_122=0,
@tr_var_af_136=0, @tr_var_af_151=0, @tr_var_af_163=0;
- select @tr_var_b4_118, @tr_var_b4_121, @tr_var_b4_122,
+ 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;
- select @tr_var_af_118, @tr_var_af_121, @tr_var_af_122,
+ 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;
--enable_query_log
- Insert into tb3 (f122, f136, f151, f163)
+ 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
+ select f118, f121, f122, f136, f151, f163 from tb3
where f122 like 'Test 3.5.9.4%' order by f163;
- select @tr_var_b4_118, @tr_var_b4_121, @tr_var_b4_122,
+ 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;
- select @tr_var_af_118, @tr_var_af_121, @tr_var_af_122,
+ 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;
--disable_query_log
- set @tr_var_b4_118=0, @tr_var_b4_121=0, @tr_var_b4_122=0,
+ set @tr_var_b4_118=0, @tr_var_b4_121=0, @tr_var_b4_122=0,
@tr_var_b4_136=0, @tr_var_b4_151=0, @tr_var_b4_163=0;
- set @tr_var_af_118=0, @tr_var_af_121=0, @tr_var_af_122=0,
+ set @tr_var_af_118=0, @tr_var_af_121=0, @tr_var_af_122=0,
@tr_var_af_136=0, @tr_var_af_151=0, @tr_var_af_163=0;
- select @tr_var_b4_118, @tr_var_b4_121, @tr_var_b4_122,
+ 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;
- select @tr_var_af_118, @tr_var_af_121, @tr_var_af_122,
+ 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;
--enable_query_log
+--error ER_BAD_NULL_ERROR
Update tb3 Set f122='Test 3.5.9.4-trig', f136=NULL, f151=DEFAULT, f163=NULL
where f122='Test 3.5.9.4';
- select f118, f121, f122, f136, f151, f163 from tb3
+ 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;
- select @tr_var_b4_118, @tr_var_b4_121, @tr_var_b4_122,
+ 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;
- select @tr_var_af_118, @tr_var_af_121, @tr_var_af_122,
+ 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;
#Cleanup
- --disable_warnings
+ --disable_warnings
drop trigger trg3_a;
drop trigger trg3_b;
drop trigger trg3_c;
@@ -196,121 +200,119 @@ let $message= Testcase 3.5.9.4:;
#Section 3.5.9.5
-# Test case: Ensure that the definition of an INSERT trigger can include a
+# Test case: Ensure that the definition of an INSERT trigger can include a
# reference to NEW. <Column name>.
let $message= Testcase 3.5.9.5: (implied in previous tests);
--source include/show_msg.inc
#Section 3.5.9.6
-# Test case: Ensure that the definition of an INSERT trigger cannot include
+# Test case: Ensure that the definition of an INSERT trigger cannot include
# a reference to OLD. <Column name>.
let $message= Testcase 3.5.9.6:;
--source include/show_msg.inc
- --error 1363
+ --error ER_TRG_NO_SUCH_ROW_IN_TRG
create trigger trg4a before insert on tb3 for each row
set @temp1= old.f120;
- --error 1362
+ --error ER_TRG_CANT_CHANGE_ROW
create trigger trg4b after insert on tb3 for each row
set old.f120= 'test';
#Cleanup
- --disable_warnings
- --error 0, 1360
+ --disable_warnings
+ --error 0, ER_TRG_DOES_NOT_EXIST
drop trigger trg4a;
- --error 0, 1360
+ --error 0, ER_TRG_DOES_NOT_EXIST
drop trigger trg4b;
--enable_warnings
#Section 3.5.9.7
-# Test case: Ensure that the definition of an UPDATE trigger can include a
+# Test case: Ensure that the definition of an UPDATE trigger can include a
# reference to NEW. <Column name>.
let $message= Testcase 3.5.9.7: (implied in previous tests);
--source include/show_msg.inc
#Section 3.5.9.8
-# Test case: Ensure that the definition of an UPDATE trigger cannot include a
+# Test case: Ensure that the definition of an UPDATE trigger cannot include a
# reference to OLD. <Column name>.
let $message= Testcase 3.5.9.8: (implied in previous tests);
--source include/show_msg.inc
#Section 3.5.9.9
-# Test case: Ensure that the definition of a DELETE trigger cannot include a
+# Test case: Ensure that the definition of a DELETE trigger cannot include a
# reference to NEW.<column name>.
let $message= Testcase 3.5.9.9:;
--source include/show_msg.inc
- --error 1363
+ --error ER_TRG_NO_SUCH_ROW_IN_TRG
create trigger trg5a before DELETE on tb3 for each row
set @temp1=new.f122;
- --error 1363
+ --error ER_TRG_NO_SUCH_ROW_IN_TRG
create trigger trg5b after DELETE on tb3 for each row
set new.f122='test';
-let $message= The above returns the wrong error, should be error 1362 (Bug 11648)
---source include/show_msg.inc
#Cleanup
- --disable_warnings
- --error 0, 1360
+ --disable_warnings
+ --error 0, ER_TRG_DOES_NOT_EXIST
drop trigger trg5a;
- --error 0, 1360
+ --error 0, ER_TRG_DOES_NOT_EXIST
drop trigger trg5b;
--enable_warnings
#Section 3.5.9.10
-# Test case: Ensure that the definition of a DELETE trigger can include a reference
+# Test case: Ensure that the definition of a DELETE trigger can include a reference
# to OLD.<column name>.
let $message= Testcase 3.5.9.10: (implied in previous tests);
--source include/show_msg.inc
#Section 3.5.9.11
-# Testcase: Ensure that trigger definition that includes a referance to
-# NEW.<colunm name> fails with an appropriate error message,
+# Testcase: Ensure that trigger definition that includes a referance to
+# NEW.<colunm name> fails with an appropriate error message,
# at CREATE TRIGGER time, if the trigger event in not INSERT or UPDATE
let $message= Testcase 3.5.9.11: covered by 3.5.9.9;
--source include/show_msg.inc
#Section 3.5.9.12
-# Testcase: Ensure that trigger definition that includes a referance to
-# OLD.<column name> fails with an appropriate error message, at
+# Testcase: Ensure that trigger definition that includes a referance to
+# OLD.<column name> fails with an appropriate error message, at
# CREATE TRIGGER time, if the trigger event is not DELETE or UPDATE
let $message= Testcase 3.5.9.12: covered by 3.5.9.6;
--source include/show_msg.inc
#Section 3.5.9.13
-# Test case: Ensure that all references to OLD. <Column name> are read-only,
+# Test case: Ensure that all references to OLD. <Column name> are read-only,
# that is, that they cannot be used to modify a data row.
let $message= Testcase 3.5.9.13:;
--source include/show_msg.inc
- --error 1362
+ --error ER_TRG_CANT_CHANGE_ROW
create trigger trg6a before UPDATE on tb3 for each row
set old.f118='C', new.f118='U';
- --error 1362
+ --error ER_TRG_CANT_CHANGE_ROW
create trigger trg6b after INSERT on tb3 for each row
set old.f136=163, new.f118='U';
- --error 1362
+ --error ER_TRG_CANT_CHANGE_ROW
create trigger trg6c after UPDATE on tb3 for each row
set old.f136=NULL;
#Cleanup
- --disable_warnings
- --error 0, 1360
+ --disable_warnings
+ --error 0, ER_TRG_DOES_NOT_EXIST
drop trigger trg6a;
- --error 0, 1360
+ --error 0, ER_TRG_DOES_NOT_EXIST
drop trigger trg6b;
- --error 0, 1360
+ --error 0, ER_TRG_DOES_NOT_EXIST
drop trigger trg6c;
--enable_warnings
#Section 3.5.9.14
-# Test case: Ensure that all references to NEW. <Column name> may be used both to
+# Test case: Ensure that all references to NEW. <Column name> may be used both to
# read a data row and to modify a data row
let $message= Testcase 3.5.9.14: (implied in previous tests);
--source include/show_msg.inc
diff --git a/mysql-test/suite/funcs_1/triggers/triggers_1011ext.inc b/mysql-test/suite/funcs_1/triggers/triggers_1011ext.inc
index 1b7505260f7..3980a7fed42 100644
--- a/mysql-test/suite/funcs_1/triggers/triggers_1011ext.inc
+++ b/mysql-test/suite/funcs_1/triggers/triggers_1011ext.inc
@@ -3,6 +3,7 @@
# Trigger Tests
# (test case numbering refer to requirement document TP v1.1)
#======================================================================
+# WL#4084: enable disabled parts, 2007-11-15, hhunger
--disable_abort_on_error
@@ -94,8 +95,8 @@ let $message= Testcase 3.5.10.4:;
set @counter= 0;
select @counter as 'Rows Loaded Before';
- --replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
- eval load data infile '$MYSQL_TEST_DIR/suite/funcs_1/data/t9.txt' into table tb_load;
+ --replace_result $MYSQLTEST_VARDIR <MYSQLTEST_VARDIR>
+ eval load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/t9.txt' into table tb_load;
select @counter as 'Rows Loaded After';
Select * from tb_load order by f1 limit 10;
@@ -157,7 +158,7 @@ let $message= Testcase 3.5.10.extra:;
set @counter=0;
select @counter;
- --error 1329
+ --error ER_SP_FETCH_NO_DATA
call trig_sp();
select @counter;
select count(*) from tb3;
@@ -271,8 +272,8 @@ let $message= Testcase y.y.y.3: Circular trigger reference;
create trigger tr4 after insert on t4
for each row insert into t1 (f1) values (new.f4+1);
- # OBN See bug 11896
- --error 1442
+ # Bug#11896 Partial locking in case of recursive trigger definittions
+ --error ER_CANT_UPDATE_USED_TABLE_IN_SF_OR_TRG
insert into t1 values (1);
select * from t1 order by f1;
select * from t2 order by f2;
@@ -294,7 +295,7 @@ let $message= Testcase y.y.y.3: Circular trigger reference;
#Section y.y.y.4
# Testcase: create recursive trigger/storedprocedures conditions
-let $message= Testcase y.y.y.4: Recursive trigger/SP references (disabled bug 11889);
+let $message= Testcase y.y.y.4: Recursive trigger/SP references;
--source include/show_msg.inc
set @sql_mode='traditional';
@@ -327,7 +328,7 @@ set @sql_mode='traditional';
set @counter=0;
select @counter;
- --error 1456
+ --error ER_SP_RECURSION_LIMIT
call trig_sp();
select @counter;
select count(*) from tb3;
@@ -337,7 +338,7 @@ set @sql_mode='traditional';
set @@max_sp_recursion_depth= 10;
set @counter=0;
select @counter;
- --error 1442
+ --error ER_CANT_UPDATE_USED_TABLE_IN_SF_OR_TRG
call trig_sp();
select @counter;
select count(*) from tb3;
@@ -381,7 +382,7 @@ let $message= Testcase y.y.y.5: Roleback of nested trigger references;
set autocommit=0;
start transaction;
- --error 1264
+ --error ER_WARN_DATA_OUT_OF_RANGE
insert into t1 values (1);
commit;
select * from t1 order by f1;
diff --git a/mysql-test/suite/funcs_1/triggers/triggers_master.test b/mysql-test/suite/funcs_1/triggers/triggers_master.test
deleted file mode 100644
index 0f6d4ff555f..00000000000
--- a/mysql-test/suite/funcs_1/triggers/triggers_master.test
+++ /dev/null
@@ -1,2818 +0,0 @@
-#======================================================================
-#
-# Trigger Tests
-# (test case numbering refer to requirement document TP v1.1)
-#======================================================================
-
-# OBM - ToDo
-############
-# 1. Information Schema Trigger Table
-# 2. Performace
-###############################################
-
-# General setup for Trigger tests
-let $message= Testcase: 3.5:;
---source include/show_msg.inc
-
---disable_abort_on_error
-
- 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;
- --replace_result $MASTER_MYPORT MASTER_MYPORT $MASTER_MYSOCK MASTER_MYSOCK
- connect (con_general,localhost,test_general,PWD,test,$MASTER_MYPORT,$MASTER_MYSOCK);
- --replace_result $MASTER_MYPORT MASTER_MYPORT $MASTER_MYSOCK MASTER_MYSOCK
- connect (con_super,localhost,test_super,PWD,test,$MASTER_MYPORT,$MASTER_MYSOCK);
- connection default;
-
-
-#####################################################
-################# Section 3.5.1 #####################
-# Syntax checks for CREATE TRIGGER and DROP TRIGGER #
-#####################################################
-
-#Section 3.5.1.1
-# Testcase: Ensure that all clauses that should be supported are supported.
-let $message= Testcase: 3.5.1.1:;
---source include/show_msg.inc
-# OBN - This test case tests basic trigger definition and execution
-# of INSERT/UPDATE/DELETE actions and BEFORE/AFTER timings.
-# As such it covers the equirements in sections 3.5.6.1, 3.5.6.2,
-# 3.5.6.4, 3.5.6.5, 3.5.7.1, 3.5.7.2, 3.5.7.3, 3.5.7.17 below.
-# - Note currently as a result of limitations with locking tables in
-# triggers, a specifc lockingof the tables is done.
-# Once fixed, the locking and alias referances should be removed
-
-use test;
-# Trigger Definition
- 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';
-# Trigger Execution Insert (before and after)
- set @test_before = 1;
- set @test_after = 5;
- select @test_before, @test_after;
- 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';
- select @test_before, @test_after;
-
-# Trigger Execution Update (before and after)
- set @test_before = 18;
- set @test_after = 8;
- select @test_before, @test_after;
- 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';
- select @test_before, @test_after;
-
-# Trigger Execution Delete (before and after)
- 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';
- select @test_before, @test_after;
- 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';
- select @test_before, @test_after;
-
-#Cleanup
- --disable_warnings
- --error 0, 1360
- drop trigger trg1_1;
- --error 0, 1360
- drop trigger trg1_2;
- --error 0, 1360
- drop trigger trg1_3;
- --error 0, 1360
- drop trigger trg1_4;
- --error 0, 1360
- drop trigger trg1_5;
- --error 0, 1360
- drop trigger trg1_6;
- --enable_warnings
- delete from tb3 where f121='Test 3.5.1.1';
- --enable_warnings
-
-#Section 3.5.1.2
-# Testcase: Ensure that all clauses that should not be supported are disallowed
-# with an appropriate error message.
-let $message= Testcase: 3.5.1.2:;
---source include/show_msg.inc
-
- --error 1064
- Create trigger trg_1 after insert
- on tb3 for each statement set @x= 1;
-
-#Cleanup
- --disable_warnings
- --error 0, 1360
- drop trigger trg_1;
- --enable_warnings
-
-
-#Section 3.5.1.3
-# Testcase: Ensure that all supported clauses are supported only in the correct order.
-let $message= Testcase 3.5.1.3:;
---source include/show_msg.inc
- --error 1064
- CREATE TRIGGER trg3_1 on tb3 BEFORE INSERT for each row set new.f120 = 't';
-
- --error 1064
- CREATE trg3_2 TRIGGER AFTER INSERT on tb3 for each row set new.f120 = 's';
-
- --error 1064
- CREATE TRIGGER trg3_3 Before DELETE on tb3 set @ret1 = 'test' for each row;
-
- --error 1064
- CREATE TRIGGER trg3_4 DELETE AFTER on tb3 set @ret1 = 'test' for each row;
-
- --error 1064
- CREATE for each row TRIGGER trg3_5 AFTER UPDATE on tb3 set @ret1 = 'test';
-
-#Cleanup
-# OBN - Although none of the above should have been created we should do a cleanup
-# since if they have been created, not dropping them will affect following
-# tests.
- --disable_warnings
- --error 0, 1360
- drop trigger trg3_1;
- --error 0, 1360
- drop trigger trg3_2;
- --error 0, 1360
- drop trigger trg3_3;
- --error 0, 1360
- drop trigger trg3_4;
- --error 0, 1360
- drop trigger trg3_5;
- --enable_warnings
-
-
-#Section 3.5.1.4
-# Testcase: Ensure that an appropriate error message is returned if a clause
-# is out-of-order in an SQL statement.
-# OBN - FIXME - Missing 3.5.1.4 need to add
-
-#Section 3.5.1.5
-# Testcase: Ensure that all clauses that are defined to be mandatory are indeed
-# required to be mandatory by the MySQL server and tools
-let $message= Testcase: 3.5.1.5:;
---source include/show_msg.inc
-
- --error 1064
- CREATE TRIGGER trg4_1 AFTER on tb3 for each row set new.f120 = 'e';
-
- --error 1064
- CREATE TRIGGER trg4_2 INSERT on tb3 for each set row new.f120 = 'f';
-
- --error 1064
- CREATE TRIGGER trg4_3 BEFORE INSERT tb3 for each row set new.f120 = 'g';
-
- --error 1064
- CREATE TRIGGER trg4_4 AFTER UPDATE on tb3 for each set new.f120 = 'g';
-
- --error 1064
- CREATE trg4_5 AFTER DELETE on tb3 for each set new.f120 = 'g';
-
- --error 1064
- CREATE TRIGGER trg4_6 BEFORE DELETE for each row set new.f120 = 'g';
-
-#Cleanup
-# OBN - Although none of the above should have been created we should do a cleanup
-# since if they have been created, not dropping them will affect following
-# tests.
- --disable_warnings
- --error 0, 1360
- drop trigger trg4_1;
- --error 0, 1360
- drop trigger trg4_2;
- --error 0, 1360
- drop trigger trg4_3;
- --error 0, 1360
- drop trigger trg4_4;
- --error 0, 1360
- drop trigger trg4_5;
- --error 0, 1360
- drop trigger trg4_6;
- --enable_warnings
-
-#Section 3.5.1.6
-# Testcase: Ensure that any clauses that are defined to be optional are indeed
-# trated as optional by MySQL server and tools
-let $message= Testcase 3.5.1.6: - Need to fix;
---source include/show_msg.inc
-# OBN - FIXME - Missing 3.5.1.6 need to add
-
-#Section 3.5.1.7
-# Testcase: Ensure that all valid, fully-qualified, and non-qualified,
-# trigger names are accepted, at creation time.
-let $message= Testcase 3.5.1.7: - need to fix;
---source include/show_msg.inc
-
- drop table if exists t1;
- eval create table t1 (f1 int, f2 char(25),f3 int) engine=$engine_type;
- 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';
-
- insert into t1 (f2) values ('insert 3.5.1.7');
- select * from t1;
- update t1 set f2='update 3.5.1.7';
- select * from t1;
- select trigger_name from information_schema.triggers;
-
-#Cleanup
- --disable_warnings
- --error 0, 1360
- drop trigger trg5_1;
- # The above trigger should be dropped since the name was trimmed.
- drop trigger trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ;
- drop table t1;
-
-#Section 3.5.1.8
-# Testcase: Ensure that any invalid trigger name is never accepted, and that an
-# appropriate error message is returned when the name is rejected.
-let $message= Testcase 3.5.1.8:;
---source include/show_msg.inc
-
- --error 1064
- CREATE TRIGGER trg12* before insert on tb3 for each row set new.f120 = 't';
-
- --error 1064
- CREATE TRIGGER trigger before insert on tb3 for each row set new.f120 = 't';
-
- --error 1064
- CREATE TRIGGER 100 before insert on tb3 for each row set new.f120 = 't';
-
- --error 1064
- CREATE TRIGGER @@view before insert on tb3 for each row set new.f120 = 't';
-
- --error 1064
- CREATE TRIGGER @name before insert on tb3 for each row set new.f120 = 't';
-
- --error 1435
- CREATE TRIGGER tb3.trg6_1 BEFORE INSERT on test.tb3
- for each row set new.f120 ='X';
-
- --disable_warnings
- drop database if exists trig_db;
- --enable_warnings
- create database trig_db;
- use trig_db;
- eval create table t1 (f1 integer) engine = $engine_type;
-
- # Can't create a trigger in a different database
- use test;
- --error 1435
- CREATE TRIGGER trig_db.trg6_2 AFTER INSERT on tb3
- for each row set @ret_trg6_2 = 5;
-
- # Can't create a trigger refrencing a table in a different db
- use trig_db;
- --error 1435
- CREATE TRIGGER trg6_3 AFTER INSERT on test.tb3
- for each row set @ret_trg6_3 = 18;
-
- use test;
-
-#Cleanup
- --disable_warnings
- drop database trig_db;
-# OBN - Although none of the above should have been created we should do a cleanup
-# since if they have been created, not dropping them will affect following
-# tests.
- --error 0, 1360
- drop trigger trg6_1;
- --error 0, 1360
- drop trigger trg6_3;
- --enable_warnings
-
-#Section 3.5.1.9
-#Testcase: Ensure that a reference to a non-existent trigger is rejected with
-# an appropriate error message.
-let $message= Testcase 3.5.1.9:(cannot be inplemented at this point);
---source include/show_msg.inc
-
-
-#Section 3.5.1.10
-#Testcase: Ensure that it is not possible to create two triggers with the same name on
-# the same table
-let $message= Testcase 3.5.1.10:;
---source include/show_msg.inc
-
- CREATE TRIGGER trg7_1 BEFORE UPDATE on tb3 for each row set new.f120 ='X';
-
- --error 1359
- CREATE TRIGGER trg7_1 AFTER INSERT on tb3 for each row set @x ='Y';
-
-#Cleanup
- --disable_warnings
- --error 0, 1360
- drop trigger trg7_1;
- --enable_warnings
-
-
-#Section 3.5.1.?
-# Testcase: Ensure that it is not possible to create two or more triggers with
-# the same name, provided each is associated with a different table.
-let $message= Testcase 3.5.1.?:;
---source include/show_msg.inc
-
- --disable_warnings
- drop table if exists t1;
- drop table if exists t2;
- --enable_warnings
- eval create table t1 (f1 char(50), f2 integer) engine = $engine_type;
- eval create table t2 (f1 char(50), f2 integer) engine = $engine_type;
-
- create trigger trig before insert on t1
- for each row set new.f1 ='trig t1';
-
- --error 1359
- create trigger trig before update on t2
- for each row set new.f1 ='trig t2';
-
- insert into t1 value ('insert to t1',1);
- select * from t1;
- update t1 set f1='update to t1';
- select * from t1;
- insert into t2 value ('insert to t2',2);
- update t2 set f1='update to t1';
- select * from t2;
-
-#Cleanup
- --disable_warnings
- drop table t1;
- drop table t2;
- --error 0, 1360
- drop trigger trig;
- --enable_warnings
-
-
-#Section 3.5.1.11
-# Testcase: Ensure that it is possible to create two or more triggers with
-# the same name, provided each resides in a different database
-let $message= Testcase 3.5.1.11:;
---source include/show_msg.inc
-
- --disable_warnings
- drop database if exists trig_db1;
- drop database if exists trig_db2;
- drop database if exists trig_db3;
- --enable_warnings
- create database trig_db1;
- create database trig_db2;
- create database trig_db3;
- use trig_db1;
- eval create table t1 (f1 char(50), f2 integer) engine = $engine_type;
- create trigger trig before insert on t1
- for each row set new.f1 ='trig1', @test_var1='trig1';
- use trig_db2;
- eval create table t2 (f1 char(50), f2 integer) engine = $engine_type;
- create trigger trig before insert on t2
- for each row set new.f1 ='trig2', @test_var2='trig2';
- use trig_db3;
- eval create table t1 (f1 char(50), f2 integer) engine = $engine_type;
- 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;
- select * from t1;
- select * from trig_db2.t2;
- select * from trig_db3.t1;
- select * from t1;
- use test;
-
-#Cleanup
- --disable_warnings
- drop database trig_db1;
- drop database trig_db2;
- drop database trig_db3;
- --enable_warnings
-
-###########################################
-################ Section 3.5.2 ############
-# Check for the global nature of Triggers #
-###########################################
-
-#Section 3.5.2.1
-# Test case: Ensure that if a trigger created without a qualifying database
-# name belongs to the database in use at creation time.
-#Section 3.5.2.2
-# Test case: Ensure that if a trigger created with a qualifying database name
-# belongs to the database specified.
-#Section 3.5.2.3
-# Test case: Ensure that if a trigger created with a qualifying database name
-# does not belong to the database in use at creation time unless
-# the qualifying database name identifies the database that is
-# also in use at creation time.
-let $message= Testcase 3.5.2.1/2/3:;
---source include/show_msg.inc
-
-
- --disable_warnings
- drop database if exists trig_db1;
- drop database if exists trig_db2;
- --enable_warnings
- create database trig_db1;
- create database trig_db2;
- use trig_db1;
- eval create table t1 (f1 char(50), f2 integer) engine = $engine_type;
- eval create table trig_db2.t1 (f1 char(50), f2 integer) engine = $engine_type;
- 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;
-
- 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;
-
-#Cleanup
- --disable_warnings
- drop database trig_db1;
- drop database trig_db2;
-
-###########################################
-################ Section 3.5.3 ############
-# Check for the global nature of Triggers #
-###########################################
-
-# General setup to be used in all testcases of 3.5.3
-let $message= Testcase 3.5.3:;
---source include/show_msg.inc
-
- --disable_warnings
- drop database if exists priv_db;
- --enable_warnings
- create database priv_db;
- use priv_db;
- create table t1 (f1 char(20));
-
- 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');
-
-#Section 3.5.3.1 / 3.5.3.2
-# Test case: Ensure SUPER privilege is required to create a trigger
-#Section 3.5.3.3 / 3.5.3.4
-# Test case: Ensure that root always has the SUPER privilege.
-# OMR - No need to test this since SUPER priv is an existing one and not related
-# or added for triggers (TP 2005-06-06)
-#Section 3.5.3.5 / 3.5.3.6
-# Test case: Ensure that the SUPER privilege is required to drop a trigger.
-let $message= Testcase 3.5.3.2/6:;
---source include/show_msg.inc
-
- revoke ALL PRIVILEGES, GRANT OPTION FROM test_noprivs@localhost;
- grant ALL on *.* to test_noprivs@localhost;
- revoke SUPER on *.* from test_noprivs@localhost;
- show grants for test_noprivs@localhost;
-
- revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost;
- grant SUPER on *.* to test_yesprivs@localhost;
-# Adding the minimal priv to be able to set to the db
- grant SELECT on priv_db.t1 to test_yesprivs@localhost;
- show grants for test_yesprivs@localhost;
-
- --replace_result $MASTER_MYPORT MASTER_MYPORT $MASTER_MYSOCK MASTER_MYSOCK
- connect (no_privs,localhost,test_noprivs,PWD,test,$MASTER_MYPORT,$MASTER_MYSOCK);
- --replace_result $MASTER_MYPORT MASTER_MYPORT $MASTER_MYSOCK MASTER_MYSOCK
- connect (yes_privs,localhost,test_yesprivs,PWD,test,$MASTER_MYPORT,$MASTER_MYSOCK);
- connection default;
-
-let $message= Testcase 3.5.3.2:;
---source include/show_msg.inc
-
- connection no_privs;
- select current_user;
- use priv_db;
-
- --error 1227
- create trigger trg1_1 before INSERT on t1 for each row
- set new.f1 = 'trig 3.5.3.2_1-no';
-
- connection default;
- use priv_db;
- insert into t1 (f1) values ('insert 3.5.3.2-no');
- select f1 from t1;
-
- connection yes_privs;
- select current_user;
- use priv_db;
-
- create trigger trg1_2 before INSERT on t1 for each row
- set new.f1 = 'trig 3.5.3.2_2-yes';
-
- connection default;
- use priv_db;
- insert into t1 (f1) values ('insert 3.5.3.2-yes');
- select f1 from t1;
-
-let $message= Testcase 3.5.3.6:;
---source include/show_msg.inc
-
- connection no_privs;
- use priv_db;
-
- --error 1227
- drop trigger trg1_2;
-
- connection default;
- use priv_db;
- insert into t1 (f1) values ('insert 3.5.3.6-yes');
- select f1 from t1;
-
- connection yes_privs;
- use priv_db;
-
- drop trigger trg1_2;
-
- connection default;
- use priv_db;
- insert into t1 (f1) values ('insert 3.5.3.6-no');
- select f1 from t1;
-
-# Cleanup
- --disable_warnings
- connection default;
- --error 0, 1360
- drop trigger trg1_2;
- disconnect no_privs;
- disconnect yes_privs;
- --enable_warnings
-
-
-#Section 3.5.3.7
-# Test case: Ensure that use of the construct "SET NEW. <column name> = <value>"
-# fails at CREATE TRIGGER time, if the current user does not have the
-# UPDATE privilege on the column specified
-# Note: As a result of bug 8884 the triggers are actually created.
-# Disabled because of bug 8884
-
-# --- 3.5.3.7a - Privs set on a global level
-let $message=Testcase 3.5.3.7a:;
---source include/show_msg.inc
-
- 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;
-
- revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost;
- grant SUPER, UPDATE on *.* to test_yesprivs@localhost;
- show grants for test_yesprivs@localhost;
-
- --replace_result $MASTER_MYPORT MASTER_MYPORT $MASTER_MYSOCK MASTER_MYSOCK
- connect (no_privs_424a,localhost,test_noprivs,PWD,test,$MASTER_MYPORT,$MASTER_MYSOCK);
- --replace_result $MASTER_MYPORT MASTER_MYPORT $MASTER_MYSOCK MASTER_MYSOCK
- connect (yes_privs_424a,localhost,test_yesprivs,PWD,test,$MASTER_MYPORT,$MASTER_MYSOCK);
-
- connection no_privs_424a;
- select current_user;
- use priv_db;
- show grants;
- select f1 from t1;
-
-let $message= Trigger create disabled - should fail - Bug 8884;
---source include/show_msg.inc
-# --error 1227
-# create trigger trg4a_1 before INSERT on t1 for each row
-# set new.f1 = 'trig 3.5.3.7-1a';
-
- connection default;
- insert into t1 (f1) values ('insert 3.5.3.7-1a');
- select f1 from t1;
- --error 0, 1360
- drop trigger trg4a_1;
-
- connection yes_privs_424a;
- use priv_db;
- select current_user;
- show grants;
- create trigger trg4a_2 before INSERT on t1 for each row
- set new.f1 = 'trig 3.5.3.7-2a';
-
- connection default;
- insert into t1 (f1) values ('insert 3.5.3.7-2b');
- select f1 from t1;
-
-# Cleanup
- --disable_warnings
- drop trigger trg4a_2;
- disconnect no_privs_424a;
- disconnect yes_privs_424a;
- --enable_warnings
-
-# --- 3.5.3.7b - Privs set on a database level
-let $message= Testcase 3.5.3.7b:;
---source include/show_msg.inc
-
- revoke ALL PRIVILEGES, GRANT OPTION FROM test_noprivs@localhost;
- grant SUPER 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;
-
- revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost;
- grant SUPER on *.* to test_yesprivs@localhost;
- grant UPDATE on priv_db.* to test_yesprivs@localhost;
- show grants for test_yesprivs@localhost;
-
- --replace_result $MASTER_MYPORT MASTER_MYPORT $MASTER_MYSOCK MASTER_MYSOCK
- connect (no_privs_424b,localhost,test_noprivs,PWD,test,$MASTER_MYPORT,$MASTER_MYSOCK);
- --replace_result $MASTER_MYPORT MASTER_MYPORT $MASTER_MYSOCK MASTER_MYSOCK
- connect (yes_privs_424b,localhost,test_yesprivs,PWD,test,$MASTER_MYPORT,$MASTER_MYSOCK);
- connection default;
-
- connection no_privs_424b;
- show grants;
- use priv_db;
-
-let $message= Trigger create disabled - should fail - Bug 8884;
---source include/show_msg.inc
-# --error 1227
-# create trigger trg4b_1 before UPDATE on t1 for each row
-# set new.f1 = 'trig 3.5.3.7-1b';
-
- connection default;
- insert into t1 (f1) values ('insert 3.5.3.7-1b');
- select f1 from t1;
- update t1 set f1 = 'update 3.5.3.7-1b' where f1 = 'insert 3.5.3.7-1b';
- select f1 from t1;
- --error 0, 1360
- drop trigger trg4b_1;
-
- connection yes_privs_424b;
- show grants;
- use priv_db;
- create trigger trg4b_2 before UPDATE on t1 for each row
- set new.f1 = 'trig 3.5.3.7-2b';
-
- connection default;
- insert into t1 (f1) values ('insert 3.5.3.7-2b');
- select f1 from t1;
- update t1 set f1 = 'update 3.5.3.7-2b' where f1 = 'insert 3.5.3.7-2b';
- select f1 from t1;
-# Cleanup
- --disable_warnings
- drop trigger trg4b_2;
- disconnect no_privs_424b;
- disconnect yes_privs_424b;
- --enable_warnings
-
-# --- 3.5.3.7c - Privs set on a table level
-let $message= Testcase 3.5.3.7c;
---source include/show_msg.inc
-
- revoke ALL PRIVILEGES, GRANT OPTION FROM test_noprivs@localhost;
- grant SUPER 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;
-
- revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost;
- grant SUPER on *.* to test_yesprivs@localhost;
- grant UPDATE on priv_db.t1 to test_yesprivs@localhost;
- show grants for test_yesprivs@localhost;
-
- --replace_result $MASTER_MYPORT MASTER_MYPORT $MASTER_MYSOCK MASTER_MYSOCK
- connect (no_privs_424c,localhost,test_noprivs,PWD,test,$MASTER_MYPORT,$MASTER_MYSOCK);
- --replace_result $MASTER_MYPORT MASTER_MYPORT $MASTER_MYSOCK MASTER_MYSOCK
- connect (yes_privs_424c,localhost,test_yesprivs,PWD,test,$MASTER_MYPORT,$MASTER_MYSOCK);
- connection default;
-
- connection no_privs_424c;
- show grants;
- use priv_db;
-
-let $message= Trigger create disabled - should fail - Bug 8884;
---source include/show_msg.inc
-# --error 1227
-# create trigger trg4c_1 before INSERT on t1 for each row
-# set new.f1 = 'trig 3.5.3.7-1c';
-
- connection default;
- insert into t1 (f1) values ('insert 3.5.3.7-1c');
- select f1 from t1;
- --error 0, 1360
- drop trigger trg4c_1;
-
- connection yes_privs_424c;
- show grants;
- use priv_db;
- create trigger trg4c_2 before INSERT on t1 for each row
- set new.f1 = 'trig 3.5.3.7-2c';
-
- connection default;
- insert into t1 (f1) values ('insert 3.5.3.7-2c');
- select f1 from t1;
-
-# Cleanup
- --disable_warnings
- drop trigger trg4c_2;
- disconnect no_privs_424c;
- disconnect yes_privs_424c;
- --enable_warnings
-
-# --- 3.5.3.7d - Privs set on a column level
---disable_query_log
-let $message= Testcase 3.5.3.7d:;
---enable_query_log
---source include/show_msg.inc
-
- revoke ALL PRIVILEGES, GRANT OPTION FROM test_noprivs@localhost;
- grant SUPER on *.* to test_noprivs@localhost;
-# There is no ALL privs on the column level
- grant SELECT (f1), INSERT (f1) on priv_db.t1 to test_noprivs@localhost;
- show grants for test_noprivs;
-
- revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost;
- grant SUPER on *.* to test_yesprivs@localhost;
- grant UPDATE (f1) on priv_db.t1 to test_yesprivs@localhost;
- show grants for test_noprivs;
-
- --replace_result $MASTER_MYPORT MASTER_MYPORT $MASTER_MYSOCK MASTER_MYSOCK
- connect (no_privs_424d,localhost,test_noprivs,PWD,test,$MASTER_MYPORT,$MASTER_MYSOCK);
- --replace_result $MASTER_MYPORT MASTER_MYPORT $MASTER_MYSOCK MASTER_MYSOCK
- connect (yes_privs_424d,localhost,test_yesprivs,PWD,test,$MASTER_MYPORT,$MASTER_MYSOCK);
- connection default;
-
- connection no_privs_424d;
- show grants;
- use priv_db;
-let $message= Trigger create disabled - should fail - Bug 8884;
---source include/show_msg.inc
-# --error 1227
-# create trigger trg4d_1 before INSERT on t1 for each row
-# set new.f1 = 'trig 3.5.3.7-1d';
-
- connection default;
- insert into t1 (f1) values ('insert 3.5.3.7-1d');
- select f1 from t1;
- --error 0, 1360
- drop trigger trg4d_1;
-
- connection yes_privs_424d;
- show grants;
- use priv_db;
- create trigger trg4d_2 before INSERT on t1 for each row
- set new.f1 = 'trig 3.5.3.7-2d';
-
- connection default;
- insert into t1 (f1) values ('insert 3.5.3.7-2d');
- select f1 from t1;
-
-# Cleanup
- --disable_warnings
- drop trigger trg4d_2;
- disconnect no_privs_424d;
- disconnect yes_privs_424d;
- --enable_warnings
-
-#Section 3.5.3.8
-# Test case: Ensure that use of the construct "SET <target> = NEW. <Column name>" fails
-# at CREATE TRIGGER time, if the current user does not have the SELECT privilege
-# on the column specified.
-
-# --- 3.5.3.8a - Privs set on a global level
-let $message= Testcase 3.5.3.8a:;
---source include/show_msg.inc
-
- 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;
-
- revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost;
- grant SUPER, SELECT on *.* to test_yesprivs@localhost;
- show grants for test_yesprivs@localhost;
-
- --replace_result $MASTER_MYPORT MASTER_MYPORT $MASTER_MYSOCK MASTER_MYSOCK
- connect (no_privs_425a,localhost,test_noprivs,PWD,test,$MASTER_MYPORT,$MASTER_MYSOCK);
- --replace_result $MASTER_MYPORT MASTER_MYPORT $MASTER_MYSOCK MASTER_MYSOCK
- connect (yes_privs_425a,localhost,test_yesprivs,PWD,test,$MASTER_MYPORT,$MASTER_MYSOCK);
- connection default;
-
- connection no_privs_425a;
- select current_user;
- use priv_db;
- show grants;
-
-let $message= Trigger create disabled - should fail - Bug 8887;
---source include/show_msg.inc
-# --error 1227
-# create trigger trg5a_1 before INSERT on t1 for each row
-# set @test_var = new.f1;
-
- connection default;
- set @test_var = 'before trig 3.5.3.8-1a';
- select @test_var;
- insert into t1 (f1) values ('insert 3.5.3.8-1a');
- select @test_var;
- --error 0, 1360
- drop trigger trg5a_1;
-
- connection yes_privs_425a;
- use priv_db;
- select current_user;
- show grants;
- create trigger trg5a_2 before INSERT on t1 for each row
- set @test_var= new.f1;
-
- connection default;
- set @test_var= 'before trig 3.5.3.8-2a';
- select @test_var;
- insert into t1 (f1) values ('insert 3.5.3.8-2a');
- select @test_var;
-
-# Cleanup
- --disable_warnings
- drop trigger trg5a_2;
- disconnect no_privs_425a;
- disconnect yes_privs_425a;
- --enable_warnings
-
-# --- 3.5.3.8b - Privs set on a database level
-let $message= Testcase: 3.5.3.8b;
---source include/show_msg.inc
-
- revoke ALL PRIVILEGES, GRANT OPTION FROM test_noprivs@localhost;
- grant SUPER 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;
-
- revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost;
- grant SUPER on *.* to test_yesprivs@localhost;
- grant SELECT on priv_db.* to test_yesprivs@localhost;
- show grants for test_yesprivs@localhost;
-
- --replace_result $MASTER_MYPORT MASTER_MYPORT $MASTER_MYSOCK MASTER_MYSOCK
- connect (no_privs_425b,localhost,test_noprivs,PWD,test,$MASTER_MYPORT,$MASTER_MYSOCK);
- --replace_result $MASTER_MYPORT MASTER_MYPORT $MASTER_MYSOCK MASTER_MYSOCK
- connect (yes_privs_425b,localhost,test_yesprivs,PWD,test,$MASTER_MYPORT,$MASTER_MYSOCK);
- connection default;
-
- connection no_privs_425b;
- show grants;
- use priv_db;
-
-let $message= Trigger create disabled - should fail - Bug 8887;
---source include/show_msg.inc
-# --error 1227
-# create trigger trg5b_1 before UPDATE on t1 for each row
-# set @test_var= new.f1;
-
- connection default;
- set @test_var= 'before trig 3.5.3.8-1b';
- insert into t1 (f1) values ('insert 3.5.3.8-1b');
- select @test_var;
- update t1 set f1= 'update 3.5.3.8-1b' where f1 = 'insert 3.5.3.8-1b';
- select @test_var;
- --error 0, 1360
- drop trigger trg5b_1;
-
- connection yes_privs_425b;
- show grants;
- use priv_db;
- create trigger trg5b_2 before UPDATE on t1 for each row
- set @test_var= new.f1;
-
- connection default;
- set @test_var= 'before trig 3.5.3.8-2b';
- insert into t1 (f1) values ('insert 3.5.3.8-2b');
- select @test_var;
- update t1 set f1= 'update 3.5.3.8-2b' where f1 = 'insert 3.5.3.8-2b';
- select @test_var;
-# Cleanup
- --disable_warnings
- drop trigger trg5b_2;
- disconnect no_privs_425b;
- disconnect yes_privs_425b;
- --enable_warnings
-
-# --- 3.5.3.8c - Privs set on a table level
-let $message= Testcase 3.5.3.8c:;
---source include/show_msg.inc
-
- revoke ALL PRIVILEGES, GRANT OPTION FROM test_noprivs@localhost;
- grant SUPER 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;
-
- revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost;
- grant SUPER on *.* to test_yesprivs@localhost;
- grant SELECT on priv_db.t1 to test_yesprivs@localhost;
- show grants for test_yesprivs@localhost;
-
- --replace_result $MASTER_MYPORT MASTER_MYPORT $MASTER_MYSOCK MASTER_MYSOCK
- connect (no_privs_425c,localhost,test_noprivs,PWD,test,$MASTER_MYPORT,$MASTER_MYSOCK);
- --replace_result $MASTER_MYPORT MASTER_MYPORT $MASTER_MYSOCK MASTER_MYSOCK
- connect (yes_privs_425c,localhost,test_yesprivs,PWD,test,$MASTER_MYPORT,$MASTER_MYSOCK);
- connection default;
-
- connection no_privs_425c;
- show grants;
- use priv_db;
-
-let $message= Trigger create disabled - should fail - Bug 8887;
---source include/show_msg.inc
-# --error 1227
-# create trigger trg5c_1 before INSERT on t1 for each row
-# set @test_var= new.f1;
-
- connection default;
- set @test_var= 'before trig 3.5.3.8-1c';
- insert into t1 (f1) values ('insert 3.5.3.8-1c');
- select @test_var;
- --error 0, 1360
- drop trigger trg5c_1;
-
- connection yes_privs_425c;
- show grants;
- use priv_db;
- create trigger trg5c_2 before INSERT on t1 for each row
- set @test_var= new.f1;
-
- connection default;
- set @test_var='before trig 3.5.3.8-2c';
- insert into t1 (f1) values ('insert 3.5.3.8-2c');
- select @test_var;
-# Cleanup
- --disable_warnings
- drop trigger trg5c_2;
- disconnect no_privs_425c;
- disconnect yes_privs_425c;
- --enable_warnings
-
-# --- 3.5.3.8d - Privs set on a column level
-let $message=Testcase: 3.5.3.8d:;
---source include/show_msg.inc
-
- revoke ALL PRIVILEGES, GRANT OPTION FROM test_noprivs@localhost;
- grant SUPER on *.* to test_noprivs@localhost;
-# There is no ALL prov on the column level
- grant UPDATE (f1), INSERT (f1) on priv_db.t1 to test_noprivs@localhost;
- show grants for test_noprivs@localhost;
-
- revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost;
- grant SUPER on *.* to test_yesprivs@localhost;
- grant SELECT (f1) on priv_db.t1 to test_yesprivs@localhost;
- show grants for test_noprivs@localhost;
-
- --replace_result $MASTER_MYPORT MASTER_MYPORT $MASTER_MYSOCK MASTER_MYSOCK
- connect (no_privs_425d,localhost,test_noprivs,PWD,test,$MASTER_MYPORT,$MASTER_MYSOCK);
- --replace_result $MASTER_MYPORT MASTER_MYPORT $MASTER_MYSOCK MASTER_MYSOCK
- connect (yes_privs_425d,localhost,test_yesprivs,PWD,test,$MASTER_MYPORT,$MASTER_MYSOCK);
- connection default;
-
- connection no_privs_425d;
- show grants;
- use priv_db;
-let $message= Trigger create disabled - should fail - Bug 8887;
---source include/show_msg.inc
-# --error 1227
-# create trigger trg5d_1 before INSERT on t1 for each row
-# set @test_var= new.f1;
-
- connection default;
- set @test_var='before trig 3.5.3.8-1d';
- insert into t1 (f1) values ('insert 3.5.3.8-1d');
- select @test_var;
- --error 0, 1360
- drop trigger trg5d_1;
-
- connection yes_privs_425d;
- show grants;
- use priv_db;
- create trigger trg5d_2 before INSERT on t1 for each row
- set @test_var= new.f1;
-
- connection default;
- set @test_var='before trig 3.5.3.8-2d';
- insert into t1 (f1) values ('insert 3.5.3.8-2d');
- select @test_var;
-
-# Cleanup 3.5.3.8
- --disable_warnings
- drop trigger trg5d_2;
- --enable_warnings
-
-# Cleanup 3.5.3
- --disable_warnings
- drop database if exists priv_db;
- drop user test_yesprivs@localhost;
- drop user test_noprivs@localhost;
- drop user test_noprivs;
- --enable_warnings
-
-####################################
-############ Section 3.5.4 #########
-# Drop Trigger Checkes: #
-####################################
-let $message= Testcase 3.5.4:;
---source include/show_msg.inc
-
- connection default;
- use test;
-
-#Section 3.5.4.1
-# Testcase: Ensure that the DROP TRIGGER statement cleanly drops its target trigger.
-let $message= Testcase 3.5.4.1:;
---source include/show_msg.inc
-
- connection con_super;
- create database db_drop;
- Use db_drop;
- eval create table t1 (f1 char(30)) engine=$engine_type;
- 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';
- connection con_general;
- Use db_drop;
- Insert into t1 values ('Insert error 3.5.4.1');
- Select * from t1;
- connection con_super;
- drop trigger trg1;
- select trigger_schema, trigger_name, event_object_table
- from information_schema.triggers;
- connection con_general;
- Insert into t1 values ('Insert no trigger 3.5.4.1');
- Select * from t1;
-
-#Cleanup
- --disable_warnings
- connection con_super;
- --disable_warnings
- --error 0,1360
- drop trigger trg1;
- drop database if exists db_drop;
- revoke ALL PRIVILEGES, GRANT OPTION FROM 'test_general'@'localhost';
- --enable_warnings
-
-#Section 3.5.4.2
-# Test case: Ensure that DROP TRIGGER <trigger name> fails, with an appropriate error
-# message, if the trigger name does not exist.
-let $message= Testcase 3.5.4.2:;
---source include/show_msg.inc
-
- connection con_super;
- create database db_drop2;
- Use db_drop2;
- --disable_warnings
- drop table if exists t1_432 ;
- --enable_warnings
- eval create table t1_432 (f1 char (30)) engine=$engine_type;
- --error 1360
- Drop trigger tr_does_not_exit;
-#cleanup
- --disable_warnings
- drop table if exists t1_432 ;
- drop database if exists db_drop2;
- --enable_warnings
-
-#Section 3.5.4.3
-# Test case: Ensure that DROP TRIGGER <trigger name> fails, with an appropriate
-# error message, if <trigger name> is not a qualified name.
-let $message= Testcase 3.5.4.3:;
---source include/show_msg.inc
-
- connection con_super;
- create database db_drop3;
- Use db_drop3;
- --disable_warnings
- drop table if exists t1_433 ;
- drop table if exists t1_433a ;
- --enable_warnings
- eval create table t1_433 (f1 char (30)) engine=$engine_type;
- eval create table t1_433a (f1a char (5)) engine=$engine_type;
-
- CREATE TRIGGER trg3 BEFORE INSERT on t1_433 for each row
- set new.f1 = 'Trigger 3.5.4.3';
-
-# Using table
- --error 1064
- Drop trigger t1.433.trg3;
-
-# Using database.table
- --error 1064
- Drop trigger db_drop3.t1.433.trg3;
-
-# wrong database
- --error 1360
- Drop trigger mysql.trg3;
-
-# database does not exist
- --error 1360
- Drop trigger tbx.trg3;
-
-#cleanup
- Drop trigger db_drop3.trg3;
- drop table if exists t1_433;
- drop table if exists t1_433a;
- drop database if exists db_drop3;
-
-#Section 3.5.4.4
-# Test case: Ensure that when a database is dropped, all triggers created within
-# that database are also cleanly dropped.
-let $message= Testcase 3.5.4.4:;
---source include/show_msg.inc
-
- connection con_super;
- create database db_drop4;
- Use db_drop4;
- eval create table t1 (f1 char(30)) engine=$engine_type;
- 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';
- connection con_general;
- Use db_drop4;
- Insert into t1 values ('Insert 3.5.4.4');
- Select * from t1;
- connection con_super;
- Drop database db_drop4;
- Show databases;
- select trigger_schema, trigger_name, event_object_table
- from information_schema.triggers
- where information_schema.triggers.trigger_name='trg4';
- create database db_drop4;
- Use db_drop4;
- eval create table t1 (f1 char(30)) engine=$engine_type;
- grant INSERT, SELECT on db_drop4.t1 to test_general;
- connection con_general;
- Insert into t1 values ('2nd Insert 3.5.4.4');
- Select * from t1;
-
-#Cleanup
- connection con_super;
- --disable_warnings
- --error 1360
- drop trigger trg4;
- drop database if exists db_drop4;
- --enable_warnings
- revoke ALL PRIVILEGES, GRANT OPTION FROM 'test_general'@'localhost';
-
-#Section 3.5.4.5
-# Test case: Ensure that when a table is dropped, all triggers for which it is the
-# subject table are also cleanly dropped.
-let $message= Testcase 3.5.4.5:;
---source include/show_msg.inc
-
- connection con_super;
- create database db_drop5;
- Use db_drop5;
- eval create table t1 (f1 char(50)) engine=$engine_type;
- 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';
- connection con_general;
- Use db_drop5;
- Insert into t1 values ('Insert 3.5.4.5');
- Select * from t1;
- connection con_super;
- Drop table t1;
- Show tables;
- select trigger_schema, trigger_name, event_object_table
- from information_schema.triggers
- where information_schema.triggers.trigger_name='trg5';
- eval create table t1 (f1 char(50)) engine=$engine_type;
- grant INSERT, SELECT on t1 to test_general;
- connection con_general;
- Insert into t1 values ('2nd Insert 3.5.4.5');
- Select * from t1;
-
-#Cleanup
- connection con_super;
- --disable_warnings
- --error 1360
- drop trigger trg5;
- drop database if exists db_drop5;
- --enable_warnings
- revoke ALL PRIVILEGES, GRANT OPTION FROM 'test_general'@'localhost';
-
-
-##################################
-######### Section 3.5.5 ##########
-# Checks on the Subject Table #
-##################################
-
-let $message= Testcase 3.5.5:;
---source include/show_msg.inc
-
- connection default;
- use test;
-
-#Section 3.5.5.1
-# Test case: Ensure that, if CREATE TRIGGER is executed with a non-existent
-# subject table, the statement fails with an appropriate error message.
-let $message= Testcase 3.5.5.1:;
---source include/show_msg.inc
-
- --error 1146
- Create trigger trg1 before INSERT on t100 for each row set new.f2=1000;
-
-
-#Section 3.5.5.2
-# Test case: Ensure that, if CREATE TRIGGER is executed with a temporary table
-# as the subject table, the statement fails with an appropriate error message.
-let $message= Testcase 3.5.5.2:;
---source include/show_msg.inc
-
- Create temporary table t1_temp (f1 bigint signed, f2 bigint unsigned);
-
- --error 1361
- Create trigger trg2 before INSERT
- on t1_temp for each row set new.f2=9999;
-
-#Cleanup
- --disable_warnings
- drop table t1_temp;
- --enable_warnings
-
-
-#Section 3.5.5.3
-# Test case: Ensure that, if CREATE TRIGGER is executed with a view as the subject
-# table, the statement fails with an appropriate error message.
-let $message= Testcase 3.5.5.3:;
---source include/show_msg.inc
-
- Create view vw3 as select f118 from tb3;
-
-# OBN Not sure why the server is returning error 1347
- --error 1347
- Create trigger trg3 before INSERT
- on vw3 for each row set new.f118='s';
-
-#Cleanup
- --disable_warnings
- drop view vw3;
- --enable_warnings
-
-
-#Section 3.5.5.4
-# Test case: Ensure that, if CREATE TRIGGER is executed with a table that resides
-# in a different database than in which the trigger will reside, the
-# statement fails with an appropriate error message; that is, ensure that
-# the trigger and its subject table must reside in the same database.
-let $message= Testcase 3.5.5.4:;
---source include/show_msg.inc
-
- connection con_super;
- create database dbtest_one;
- create database dbtest_two;
- use dbtest_two;
- create table t2 (f1 char(15));
- use dbtest_one;
- --error 1435
- create trigger trg4 before INSERT
- on dbtest_two.t2 for each row set new.f1='trig 3.5.5.4';
- grant INSERT, SELECT on dbtest_two.t2 to test_general;
- grant SELECT on dbtest_one.* to test_general;
- connection con_general;
- use dbtest_two;
- Insert into t2 values ('1st Insert 3.5.5.4');
- Select * from t2;
- use dbtest_one;
- Insert into dbtest_two.t2 values ('2nd Insert 3.5.5.4');
- Select * from dbtest_two.t2;
-
-#Cleanup
- connection con_super;
- --disable_warnings
- revoke ALL PRIVILEGES, GRANT OPTION FROM 'test_general'@'localhost';
- DROP DATABASE if exists dbtest_one;
- drop database if EXISTS dbtest_two;
- --enable_warnings
-
-#####################################
-########### Section 3.5.6 ###########
-# Check on the Trigger Action Time #
-#####################################
-
-let $message= Testcase 3.5.6:;
---source include/show_msg.inc
-
- connection default;
- use test;
-
-#Section 3.5.6.1
-# Test case: Ensure that a trigger definition can specify a trigger action time of BEFORE.
-# See section 3.5.1.1
-let $message= Testcase 3.5.6.1 (see Testcase 3.5.1.1);
---source include/show_msg.inc
-
-#Section 3.5.6.2
-# Test case: Ensure that a trigger definition can specify a trigger action time of AFTER.
-# See section 3.5.1.1
-let $message= Testcase 3.5.6.2 (see Testcase 3.5.1.1);
---source include/show_msg.inc
-
-#Section 3.5.6.3
-# Test case: Ensure that a trigger definition that specifies a trigger action
-# time that is not either BEFORE or AFTER fails, with an appropriate
-# error message, at CREATE TRIGGER time.
-let $message= Testcase 3.5.6.3:;
---source include/show_msg.inc
-
- --error 1064
- Create trigger trg3_1 DURING UPDATE on tb3 for each row set new.f132=25;
- --error 1064
- Create trigger trg3_2 TIME INSERT on tb3 for each row set new.f132=15;
-
-#Cleanup
-# OBN - Although none of the above should have been created we should do a cleanup
-# since if they have been created, not dropping them will affect following
-# tests.
- --disable_warnings
- --error 0, 1360
- drop trigger tb3.trg3_1;
- --error 0, 1360
- drop trigger tb3.trg3_2;
- --enable_warnings
-
-#Section 3.5.6.4
-# Test case: Ensure that a trigger defined with a trigger action time of BEFORE
-# always executes its triggered action immediately before the trigger event.
-# See section 3.5.1.1
-let $message= Testcase 3.5.6.4 (see Testcase 3.5.1.1);
---source include/show_msg.inc
-
-#Section 3.5.6.5
-# Test case: Ensure that a trigger defined with a trigger action time of AFTER
-# always executes its triggered action immediately after the trigger event.
-let $message= Testcase 3.5.6.5 (see Testcase 3.5.1.1);
---source include/show_msg.inc
-
-#############################
-####### Section 3.5.7 #######
-# Check on Trigger Event #
-#############################
-
-#Section 3.5.7.1
-#Test case: Ensure that a trigger definition can specify a trigger event of INSERT.
-let $message= Testcase 3.5.7.1 (see Testcase 3.5.1.1);
---source include/show_msg.inc
-
-#Section 3.5.7.2
-# Test case: Ensure that a trigger definition can specify a trigger event of UPDATE.
-let $message= Testcase 3.5.7.2 (see Testcase 3.5.1.1);
---source include/show_msg.inc
-
-#Section 3.5.7.3
-# Test case: Ensure that a trigger definition can specify a trigger event of DELETE.
-let $message= Testcase 3.5.7.3 (see Testcase 3.5.1.1);
---source include/show_msg.inc
-
-#Section 3.5.7.4
-# Test case: Ensure that a trigger definition that specifies a trigger event that
-# is not either INSERT, UPDATE or DELETE fails, with an appropriate error
-# message, at CREATE TRIGGER time.
-let $message= Testcase 3.5.7.4:;
---source include/show_msg.inc
-
- --error 1064
- Create trigger trg4_1 BEFORE SELECT on tb3 for each row set new.f132=5;
- --error 1064
- Create trigger trg4_2 AFTER VALUE on tb3 for each row set new.f132=1;
-
-#Cleanup
-# OBN - Although none of the above should have been created we should do a cleanup
-# since if they have been created, not dropping them will affect following
-# tests.
- --disable_warnings
- --error 0, 1360
- drop trigger tb3.trg4_1;
- --error 0, 1360
- drop trigger tb3.trg4_2;
- --enable_warnings
-
-#Section 3.5.7.5 / 3.5.7.6
-# Test case: Ensure that it is not possible to create multiple BEFORE INSERT triggers
-# on the same table, even if the triggers have different names / different
-# triggered actions.
-let $message= Testcase 3.5.7.5 / 3.5.7.6:;
---source include/show_msg.inc
-
- Create trigger trg5_1 BEFORE INSERT
- on tb3 for each row set new.f122='Trigger1 3.5.7.5/6';
-
- --error 1359
- Create trigger trg5_2 BEFORE INSERT
- on tb3 for each row set new.f122='Trigger2 3.5.7.5';
-
- 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';
- 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';
-
-#Cleanup
- --disable_warnings
- drop trigger trg5_1;
- --error 0, 1360
- drop trigger trg5_2;
- delete from tb3 where f121='Test 3.5.7.5/6';
- --enable_warnings
-
-
-#Section 3.5.7.7 / 3.5.7.8
-# Test case: Ensure that it is not possible to create multiple AFTER INSERT triggers
-# on the same table, even if the triggers have different names / different
-# triggered actions.
-let $message= Testcase 3.5.7.7 / 3.5.7.8:;
---source include/show_msg.inc
-
- 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';
-
- --error 1359
- Create trigger trg6_2 AFTER INSERT
- on tb3 for each row set @test_var='Trigger2 3.5.7.7';
-
- select @test_var;
- 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';
- select @test_var;
- 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';
- select @test_var;
-
-#Cleanup
- --disable_warnings
- drop trigger trg6_1;
- --error 0, 1360
- drop trigger trg6_2;
- delete from tb3 where f121='Test 3.5.7.7/8';
- --enable_warnings
-
-
-#Section 3.5.7.9 / 3.5.7.10
-# Test case: Ensure that it is not possible to create multiple BEFORE UPDATE triggers
-# on the same table, even if the triggers have different names / different
-# triggered actions.
-let $message= Testcase 3.5.7.9/10:;
---source include/show_msg.inc
-
- Create trigger trg7_1 BEFORE UPDATE
- on tb3 for each row set new.f122='Trigger1 3.5.7.9/10';
-
- --error 1359
- Create trigger trg7_2 BEFORE UPDATE
- on tb3 for each row set new.f122='Trigger2 3.5.7.9';
-
- 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';
- 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';
-
-#Cleanup
- --disable_warnings
- drop trigger trg7_1;
- --error 0, 1360
- drop trigger trg7_2;
- delete from tb3 where f121='Test 3.5.7.9/10';
-
-#Section 3.5.7.11 / 3.5.7.12
-# Test case: Ensure that it is not possible to create multiple AFTER UPDATE triggers
-# on the same table, even if the triggers have different names / different
-# triggered actions.
-let $message= Testcase 3.5.7.11/12:;
---source include/show_msg.inc
-
- 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';
-
- --error 1359
- Create trigger trg8_2 AFTER UPDATE
- on tb3 for each row set @test_var='Trigger2 3.5.7.11';
-
-
- select @test_var;
- Insert into tb3 (f121,f122) values ('Test 3.5.7.11/12','Insert 3.5.7.11/12');
- select @test_var;
- Select f121,f122 from tb3 where f121='Test 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';
- select @test_var;
- delete from tb3 where f121='Test 3.5.7.11/12';
-
-#Cleanup
- --disable_warnings
- drop trigger trg8_1;
- --error 0, 1360
- drop trigger trg8_2;
- delete from tb3 where f121='Test 3.5.7.11/12';
-
-#Section 3.5.7.13 / 3.5.7.14
-# Test case: Ensure that it is not possible to create multiple BEFORE DELETE triggers
-# on the same table, even if the triggers have different names / different
-# triggered actions.
-let $message= Testcase 3.5.7.13/14:;
---source include/show_msg.inc
-
- set @test_var=1;
- Create trigger trg9_1 BEFORE DELETE
- on tb3 for each row set @test_var=@test_var+1;
-
- --error 1359
- Create trigger trg9_2 BEFORE DELETE
- on tb3 for each row set @test_var=@test_var+10;
-
- select @test_var;
- 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';
- select @test_var;
- delete from tb3 where f121='Test 3.5.7.13/14';
- Select f121,f122 from tb3 where f121='Test 3.5.7.13/14';
- select @test_var;
- delete from tb3 where f121='Test 3.5.7.13/14';
- select @test_var;
-
-#Cleanup
- --disable_warnings
- drop trigger trg9_1;
- --error 0, 1360
- drop trigger trg9_2;
- delete from tb3 where f121='Test 3.5.7.13/14';
-
-#Section 3.5.7.15 / 3.5.7.16
-# Test case: Ensure that it is not possible to create multiple AFTER DELETE triggers
-# on the same table, even if the triggers have different names / different
-# triggered actions.
-let $message= Testcase 3.5.7.15/16:;
---source include/show_msg.inc
-
- set @test_var=1;
- Create trigger trg_3_406010_1 AFTER DELETE
- on tb3 for each row set @test_var=@test_var+5;
-
- --error 1359
- Create trigger trg_3_406010_2 AFTER DELETE
- on tb3 for each row set @test_var=@test_var+50;
-
- --error 1359
- Create trigger trg_3_406010_1 AFTER INSERT
- on tb3 for each row set @test_var=@test_var+1;
-
- select @test_var;
- 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';
- select @test_var;
- delete from tb3 where f121='Test 3.5.7.15/16';
- Select f121,f122 from tb3 where f121='Test 3.5.7.15/16';
- select @test_var;
- delete from tb3 where f121='Test 3.5.7.15/16';
- select @test_var;
-
-#Cleanup
- --disable_warnings
- drop trigger trg_3_406010_1;
- --error 0, 1360
- drop trigger trg_3_406010_2;
- delete from tb3 where f121='Test 3.5.7.15/16';
- --enable_warnings
-
-
-#Section 3.5.7.17
-# Test case: Ensure that it is possible to have a BEFORE INSERT, an AFTER INSERT,
-# a BEFORE UPDATE, an AFTER UPDATE, a BEFORE DELETE, and an AFTER DELETE
-# trigger on the same table; that is, ensure that every persistent base
-# table may be the subject table for exactly six triggers
-let $message= Testcase 3.5.7.17 (see Testcase 3.5.1.1);
---source include/show_msg.inc
-
-
-#################################
-####### Section 3.5.8 ###########
-# Checks on Triggered Actions #
-#################################
-
-#Section 3.5.8.1
-# Testcase: Ensure that the triggered action of every trigger always executes
-# correctly and the results in all expected changes made to the database
-let $message= Testcase 3.5.8.1: (implied in previous tests);
---source include/show_msg.inc
-# OBN - FIXME - Missing 3.5.8.1 need to add
-
-#Section 3.5.8.2
-# Testcase: Ensure that the triggered actions of every trigger never results
-# in an unexpected change made to the database.
-let $message= Testcase 3.5.8.2: (implied in previous tests);
---source include/show_msg.inc
-
-
-#Section 3.5.8.3 / 3.5.8.4
-#Test case: Ensure that the triggered action can any valid SQL statement / set
-# of valid SQL statements, provided the statements are written within
-# a BEGIN/END compound statement construct
-# OBN - At this point the tests focuses on the the INSERT/UPDATE/DELETE SQL statements
-# as there are the most likely to be used in triggers
-let $message= Testcase 3.5.8.3/4:;
---source include/show_msg.inc
-
-# creating test tables to perform the trigger SQL on
- connection con_super;
- 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;
- eval 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_type;
- eval 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_type;
- eval 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_type;
- 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);
-
-let $message= 3.5.8.4 - multiple SQL;
---source include/show_msg.inc
-# Trigger definition - multiple SQL
- use test;
- delimiter //;
- 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//
- delimiter ;//
-
-# Test trigger execution - multiple SQL
- connection con_general;
- 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';
- select * from db_test.t1_i;
- select * from db_test.t1_u;
- select * from db_test.t1_d;
- select @test_var;
-
-
-let $message= 3.5.8.4 - single SQL - insert;
---source include/show_msg.inc
-# Trigger definition - single SQL Insert
- connection con_super;
- Create trigger trg2 BEFORE UPDATE on tb3 for each row
- insert into db_test.t1_i
- values (new.f120, new.f136, new.f144, new.f163);
-
-# Trigger exeution - single SQL Insert
- connection con_general;
- 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%';
- select * from db_test.t1_i;
-
-
-let $message= 3.5.8.4 - single SQL - update;
---source include/show_msg.inc
-# Trigger definition - single SQL update
- connection con_super;
- 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;
-
-# Trigger exeution - single SQL - update;
- connection con_general;
- 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%';
- select * from db_test.t1_u;
-
-
-let $message= 3.5.8.3/4 - single SQL - delete;
---source include/show_msg.inc
-# Trigger definition - single SQL delete
- connection con_super;
- drop trigger trg3;
- Create trigger trg4 AFTER UPDATE on tb3 for each row
- delete from db_test.t1_d where d136= new.f136;
-
-# Trigger exeution - single SQL delete
- connection con_general;
-#lock tables tb3 write, db_test.t1_i write, db_test.t1_u write, db_test.t1_d write;
- update tb3 set f120='D', f136=444,
- f122='Test 3.5.8.4-Single Delete'
- where f122='Test 3.5.8.4-Single Update';
-#unlock tables;
- Select f120, f122, f136, f144, f163 from tb3 where f122 like 'Test 3.5.8.4%';
- select * from db_test.t1_d;
-
-
-let $message= 3.5.8.3/4 - single SQL - select;
---source include/show_msg.inc
-# Trigger definition - single SQL select
- connection con_super;
- 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;
-
-# Trigger exeution - single SQL select
- connection con_general;
- 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%';
- select @test_var;
-
-#Cleanup
- connection default;
- --disable_warnings
- 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';
- --enable_warnings
-
-
-#Section 3.5.8.5 (IF)
-# Test case: Ensure that the stored procedure-specific flow control statement like IF
-# works correctly when it is a part of the triggered action portion of a
-# trigger definition.
-let $message= Testcase 3.5.8.5 (IF):;
---source include/show_msg.inc
-
- delimiter //;
- 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//
- delimiter ;//
-
- 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';
- 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';
- 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';
- 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';
-
- delimiter //;
- --error 1064
- create trigger trg3 before update on tb3 for each row
- BEGIN
- ELSEIF new.f120='2' then
- END IF;
- END//
- --error 0, 1360
- drop trigger trg3//
-
- --error 1064
- 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//
- delimiter ;//
- --error 0, 1360
- drop trigger trg4;
-
-#Cleanup
- --disable_warnings
- drop trigger trg2;
- delete from tb3 where f121='Test 3.5.8.5-if';
- --enable_warnings
-
-
-#Section 3.5.8.5 (CASE)
-# Test case: Ensure that the stored procedure-specific flow control statement
-# like CASE works correctly when it is a part of the triggered action
-# portion of a trigger definition.
-let $message= Testcase 3.5.8.5-case:;
---source include/show_msg.inc
-
- delimiter //;
- 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//
- delimiter ;//
-
- 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';
- 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';
- 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';
- Insert into tb3 (f120, f122, f136)
- values ('d', 'Test 3.5.8.5-case', 152);
- select f120, f122, f136, f144, @test_var
- from tb3 where f122 = 'Test 3.5.8.5-case';
- Insert into tb3 (f120, f122, f136, f144)
- values ('e', 'Test 3.5.8.5-case', 200, 8);
- select f120, f122, f136, f144, @test_var
- from tb3 where f122 = 'Test 3.5.8.5-case';
- --error 0, 1339
- 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';
-
- delimiter //;
- --error 1064
- create trigger trg3a before update on tb3 for each row
- BEGIN
- CASE
- when new.f136<100 then set new.f120='p';
- END//
- delimiter ;//
-
- --error 0, 1360
- drop trigger trg3a;
-
-#Cleanup
- --disable_warnings
- drop trigger trg3;
- delete from tb3 where f121='Test 3.5.8.5-case';
- --enable_warnings
-
-#Section 3.5.8.5 (LOOP)
-# Test case: Ensure that the stored procedure-specific flow control
-# statement like LOOP / LEAVE work correctly when they are
-# part of the triggered action portion of a trigger definition.
-let $message= Testcase 3.5.8.5-loop/leave:;
---source include/show_msg.inc
-
- delimiter //;
- 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//
- delimiter ;//
- Insert into tb3 (f122, f136, f144)
- values ('Test 3.5.8.5-loop', 2, 8);
- select @counter, @flag;
- Insert into tb3 (f122, f136, f144)
- values ('Test 3.5.8.5-loop', 11, 8);
- select @counter, @flag;
-
-
- delimiter //;
-
- --error 1064
- Create trigger trg4_2 after update on tb3 for each row
- BEGIN
- Label1: loop
- set @counter=@counter+1;
- END;
- END//
- delimiter ;//
- --error 0, 1360
- drop trigger trg4_2;
-
-#Cleanup
- --disable_warnings
- drop trigger trg4;
- delete from tb3 where f122='Test 3.5.8.5-loop';
- --enable_warnings
-
-#Section 3.5.8.5 (REPEAT ITERATE)
-#Testcase: Ensure that the stored procedure-specific flow control statements
-# like REPEAT work correctly when they are part of the triggered action
-# portion of a trigger definition.
-let $message= Testcase 3.5.8.5-repeat:;
---source include/show_msg.inc
-
- delimiter //;
- 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//
- delimiter ;//
-
- set @counter1= 0, @counter2= 0;
- Insert into tb3 (f122, f136)
- values ('Test 3.5.8.5-repeat', 13);
- select @counter1, @counter2;
-
-
- delimiter //;
- --error 1064
- Create trigger trg6_2 after update on tb3 for each row
- BEGIN
- REPEAT
- SET @counter2 = @counter2 + 1;
- END//
- delimiter ;//
-
-#Cleanup
- --disable_warnings
- drop trigger trg6;
- delete from tb3 where f122='Test 3.5.8.5-repeat';
- --enable_warnings
-
-
-#Section 3.5.8.5 (WHILE)
-# Test case: Ensure that the stored procedure-specific flow control
-# statements WHILE, work correctly when they are part of
-# the triggered action portion of a trigger definition.
-let $message= Testcase 3.5.8.5-while:;
---source include/show_msg.inc
-
- delimiter //;
- 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//
- delimiter ;//
-
- set @counter1= 0, @counter2= 0;
- Insert into tb3 (f122, f136)
- values ('Test 3.5.8.5-while', 7);
- select @counter1, @counter2;
- delimiter //;
- --error 1064
- Create trigger trg7_2 after update on tb3 for each row
- BEGIN
- WHILE @counter1 < new.f136
- SET @counter1 = @counter1 + 1;
- END//
- delimiter ;//
-
-#Cleanup
- --disable_warnings
- delete from tb3 where f122='Test 3.5.8.5-while';
- drop trigger trg7;
- --enable_warnings
-
-#Section 3.5.8.6
-# Test case: Ensure that a trigger definition that includes a CALL to a stored
-# procedure fails, at CREATE TRIGGER time, with an appropriate error
-# message
-# OBN - requirement void since allowed
-# Fails due to Bug 9909 the bug allows the trigger to be created
-# and fails in execution time
-let $message= Testcase 3.5.8.6: (requirement void);
---source include/show_msg.inc
-
-
-#Section 3.5.8.7
-# Test case: Ensure that a trigger definition that includes a
-# transaction-delimiting statement (e.g. COMMIT,
-# ROLLBACK, START TRANSACTION) fails, at CREATE TRIGGER
-# time, with an appropriate error message.
-# OBN - Fails due to Bug ____
-let $message= Testcase 3.5.8.7: (Disabled as a result of bug _____);
---source include/show_msg.inc
-
-# --error 1314
-# Create trigger trg9_1 before update on tb3 for each row
-# BEGIN
-# Start transaction;
-# Set new.f120='U';
-# Commit;
-# END;
-
-# --error 1314
-# Create trigger trg9_2 before delete on tb3 for each row
-# BEGIN
-# Start transaction;
-# Set @var2=old.f120;
-# Rollback;
-# END;
-
-#################################
-####### Section 3.5.9 ###########
-# Checks on old and new rows #
-#################################
-
-#Section 3.5.9.1
-#Test case: Ensure that every trigger executes its triggered action on each row
-# that meets the conditions stated in the trigger definition.
-#Section 3.5.9.2
-#Testcase: Ensure that a trigger never executes its triggered action on any row
-# that doesn't meet the conditions stated in the trigger definition.
-let $message= Testcase 3.5.9.1/2:;
---source include/show_msg.inc
-
- Create trigger trg1 BEFORE UPDATE on tb3 for each row
- set new.f142 = 94087, @counter=@counter+1;
---disable_query_log
- select count(*) as TotalRows from tb3;
- select count(*) as Affected from tb3 where f130<100;
- select count(*) as NotAffected from tb3 where f130>=100;
- select count(*) as NewValuew from tb3 where f142=94087;
---enable_query_log
- set @counter=0;
- Update tb3 Set f142='1' where f130<100;
- select count(*) as ExpectedChanged, @counter as TrigCounter
- from tb3 where f142=94087;
- select count(*) as ExpectedNotChange from tb3
- where f130<100 and f142<>94087;
- select count(*) as NonExpectedChanged from tb3
- where f130>=130 and f142=94087;
-
-#Cleanup
- --disable_warnings
- drop trigger trg1;
- --enable_warnings
-
-
-#Section 3.5.9.3
-#Test case: Ensure that a reference to OLD.<column name> always correctly refers
-# to the values of the specified column of the subject table before a
-# data row is updated or deleted.
-let $message= Testcase 3.5.9.3:;
---source include/show_msg.inc
-
- 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;
-
-
---disable_query_log
- set @tr_var_b4_118=0, @tr_var_b4_121=0, @tr_var_b4_122=0,
- @tr_var_b4_136=0, @tr_var_b4_163=0;
- set @tr_var_af_118=0, @tr_var_af_121=0, @tr_var_af_122=0,
- @tr_var_af_136=0, @tr_var_af_163=0;
- select @tr_var_b4_118, @tr_var_b4_121, @tr_var_b4_122,
- @tr_var_b4_136, @tr_var_b4_163;
- select @tr_var_af_118, @tr_var_af_121, @tr_var_af_122,
- @tr_var_af_136, @tr_var_af_163;
---enable_query_log
-
- 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';
- select @tr_var_b4_118, @tr_var_b4_121, @tr_var_b4_122,
- @tr_var_b4_136, @tr_var_b4_163;
- select @tr_var_af_118, @tr_var_af_121, @tr_var_af_122,
- @tr_var_af_136, @tr_var_af_163;
-
---disable_query_log
- set @tr_var_b4_118=0, @tr_var_b4_121=0, @tr_var_b4_122=0,
- @tr_var_b4_136=0, @tr_var_b4_163=0;
- set @tr_var_af_118=0, @tr_var_af_121=0, @tr_var_af_122=0,
- @tr_var_af_136=0, @tr_var_af_163=0;
- select @tr_var_b4_118, @tr_var_b4_121, @tr_var_b4_122,
- @tr_var_b4_136, @tr_var_b4_163;
- select @tr_var_af_118, @tr_var_af_121, @tr_var_af_122,
- @tr_var_af_136, @tr_var_af_163;
---enable_query_log
-
- 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';
- select @tr_var_b4_118, @tr_var_b4_121, @tr_var_b4_122,
- @tr_var_b4_136, @tr_var_b4_163;
- select @tr_var_af_118, @tr_var_af_121, @tr_var_af_122,
- @tr_var_af_136, @tr_var_af_163;
-#Cleanup
- --disable_warnings
- drop trigger trg2_a;
- drop trigger trg2_b;
- drop trigger trg2_c;
- drop trigger trg2_d;
- --enable_warnings
-
-#Section 3.5.9.4
-#Test case: Ensure that a reference to NEW.<column name> always correctly refers
-# to the values of the specified column of the subject table after an
-# existing data row has been updated or a new data row has been inserted.
-let $message= Testcase 3.5.9.4:;
---source include/show_msg.inc
-
- 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;
-
---disable_query_log
- set @tr_var_b4_118=0, @tr_var_b4_121=0, @tr_var_b4_122=0,
- @tr_var_b4_136=0, @tr_var_b4_151=0, @tr_var_b4_163=0;
- set @tr_var_af_118=0, @tr_var_af_121=0, @tr_var_af_122=0,
- @tr_var_af_136=0, @tr_var_af_151=0, @tr_var_af_163=0;
- 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;
- 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;
---enable_query_log
-
- 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%';
- 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;
- 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;
-
---disable_query_log
- set @tr_var_b4_118=0, @tr_var_b4_121=0, @tr_var_b4_122=0,
- @tr_var_b4_136=0, @tr_var_b4_151=0, @tr_var_b4_163=0;
- set @tr_var_af_118=0, @tr_var_af_121=0, @tr_var_af_122=0,
- @tr_var_af_136=0, @tr_var_af_151=0, @tr_var_af_163=0;
- 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;
- 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;
---enable_query_log
-
- Update tb3 Set f122='Test 3.5.9.4-trig', f136=NULL, 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';
- 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;
- 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;
-#Cleanup
- --disable_warnings
- 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';
- --enable_warnings
-
-
-#Section 3.5.9.5
-# Test case: Ensure that the definition of an INSERT trigger can include a
-# reference to NEW. <Column name>.
-let $message= Testcase 3.5.9.5: (implied in previous tests);
---source include/show_msg.inc
-
-#Section 3.5.9.6
-# Test case: Ensure that the definition of an INSERT trigger cannot include
-# a reference to OLD. <Column name>.
-let $message= Testcase 3.5.9.6:;
---source include/show_msg.inc
-
- --error 1363
- create trigger trg4a before insert on tb3 for each row
- set @temp1= old.f120;
- --error 1362
- create trigger trg4b after insert on tb3 for each row
- set old.f120= 'test';
-
-#Cleanup
- --disable_warnings
- --error 0, 1360
- drop trigger trg4a;
- --error 0, 1360
- drop trigger trg4b;
- --enable_warnings
-
-
-#Section 3.5.9.7
-# Test case: Ensure that the definition of an UPDATE trigger can include a
-# reference to NEW. <Column name>.
-let $message= Testcase 3.5.9.7: (implied in previous tests);
---source include/show_msg.inc
-
-#Section 3.5.9.8
-# Test case: Ensure that the definition of an UPDATE trigger cannot include a
-# reference to OLD. <Column name>.
-let $message= Testcase 3.5.9.8: (implied in previous tests);
---source include/show_msg.inc
-
-#Section 3.5.9.9
-# Test case: Ensure that the definition of a DELETE trigger cannot include a
-# reference to NEW.<column name>.
-let $message= Testcase 3.5.9.9:;
---source include/show_msg.inc
-
- --error 1363
- create trigger trg5a before DELETE on tb3 for each row
- set @temp1=new.f122;
- --error 1363
- create trigger trg5b after DELETE on tb3 for each row
- set new.f122='test';
-let $message= The above returns the wrong error, should be error 1362 (Bug 11648)
---source include/show_msg.inc
-
-#Cleanup
- --disable_warnings
- --error 0, 1360
- drop trigger trg5a;
- --error 0, 1360
- drop trigger trg5b;
- --enable_warnings
-
-
-#Section 3.5.9.10
-# Test case: Ensure that the definition of a DELETE trigger can include a reference
-# to OLD.<column name>.
-let $message= Testcase 3.5.9.10: (implied in previous tests);
---source include/show_msg.inc
-
-
-#Section 3.5.9.11
-# Testcase: Ensure that trigger definition that includes a referance to
-# NEW.<colunm name> fails with an appropriate error message,
-# at CREATE TRIGGER time, if the trigger event in not INSERT or UPDATE
-let $message= Testcase 3.5.9.11: covered by 3.5.9.9;
---source include/show_msg.inc
-
-
-#Section 3.5.9.12
-# Testcase: Ensure that trigger definition that includes a referance to
-# OLD.<column name> fails with an appropriate error message, at
-# CREATE TRIGGER time, if the trigger event is not DELETE or UPDATE
-let $message= Testcase 3.5.9.12: covered by 3.5.9.6;
---source include/show_msg.inc
-
-
-#Section 3.5.9.13
-# Test case: Ensure that all references to OLD. <Column name> are read-only,
-# that is, that they cannot be used to modify a data row.
-let $message= Testcase 3.5.9.13:;
---source include/show_msg.inc
-
- --error 1362
- create trigger trg6a before UPDATE on tb3 for each row
- set old.f118='C', new.f118='U';
- --error 1362
- create trigger trg6b after INSERT on tb3 for each row
- set old.f136=163, new.f118='U';
- --error 1362
- create trigger trg6c after UPDATE on tb3 for each row
- set old.f136=NULL;
-
-#Cleanup
- --disable_warnings
- --error 0, 1360
- drop trigger trg6a;
- --error 0, 1360
- drop trigger trg6b;
- --error 0, 1360
- drop trigger trg6c;
- --enable_warnings
-
-
-#Section 3.5.9.14
-# Test case: Ensure that all references to NEW. <Column name> may be used both to
-# read a data row and to modify a data row
-let $message= Testcase 3.5.9.14: (implied in previous tests);
---source include/show_msg.inc
-
-
-##############################################
-################ Section 3.5.10 #################
-# Check on Trigger Activation
-##############################################
-#Section 3.5.10.1
-# Test case: Ensure that every trigger that should be activated by
-# every possible type of implicit insertion into its subject
-# table (INSERT into a view based on the subject table) is
-# indeed activated correctly
-#Section 3.5.10.2
-# Test case: Ensure that every trigger that should be activated by every
-# possible type of implicit insertion into its subject table
-# (UPDATE into a view based on the subject table) is indeed
-# activated correctly
-#Section 3.5.10.3
-# Test case: Ensure that every trigger that should be activated by every
-# possible type of implicit insertion into its subject table
-# (DELETE from a view based on the subject table) is indeed
-# activated correctly
-let $message= Testcase 3.5.10.1/2/3:;
---source include/show_msg.inc
-
- 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;
-
-#Section 3.5.10.1
- 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%';
- select f121, f122, f151, f163 from vw11;
- select f121, f122, f151, f163
- from tb3 where f122 like 'Not in View';
-
-#Section 3.5.10.2
- Update vw11 set f163=1;
- select f121, f122, f151, f163 from tb3
- where f122 like 'Test 3.5.10.1/2/3%';
- select f121, f122, f151, f163 from vw11;
-
-#Section 3.5.10.3
- set @test_var=0;
- Select @test_var as 'before delete';
- delete from vw11 where f151=1;
- select f121, f122, f151, f163 from tb3
- where f122 like 'Test 3.5.10.1/2/3%';
- select f121, f122, f151, f163 from vw11;
- Select @test_var as 'after delete';
-
-#Cleanup
- --disable_warnings
- 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%';
- --enable_warnings
-
-
-#Section 3.5.10.4
-# Test case: Ensure that every trigger that should be activated by every
-# possible type of implicit insertion into its subject table
-# (LOAD into the subject table) is indeed activated correctly
-let $message= Testcase 3.5.10.4:;
---source include/show_msg.inc
-
- eval create table tb_load (f1 int, f2 char(25),f3 int) engine=$engine_type;
- 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';
- --replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
- eval load data infile '$MYSQL_TEST_DIR/suite/funcs_1/data/t9.txt' into table tb_load;
-
- select @counter as 'Rows Loaded After';
- Select * from tb_load limit 10;
-
-#Cleanup
- --disable_warnings
- drop trigger trg4;
- drop table tb_load;
- --enable_warnings
-
-
-#Section 3.5.10.5
-# Testcase: Ensure that every trigger that should be activated by every possible
-# type of implicit update of its subject table (e.g.a FOREIGN KEY SET
-# DEFAULT action or an UPDATE of a view based on the subject table) is
-# indeed activated correctly
-let $message= Testcase 3.5.10.5: (implemented in trig_frkey.test);
---source include/show_msg.inc
-
-
-#Section 3.5.10.6
-# Testcase: Ensure that every trigger that should be activated by every possible
-# type of implicit deletion from its subject table (e.g.a FOREIGN KEY
-# CASCADE action or a DELETE from a view based on the subject table) is
-# indeed activated correctly
-let $message= Testcase 3.5.10.6: (implemented in trig_frkey.test);
---source include/show_msg.inc
-
-#Section 3.5.10.extra
-# Testcase: Ensure that every trigger that should be activated by every possible
-# type of implicit deletion from its subject table (e.g. an action performed
-# on the subject table from a stored procedure is indeed activated correctly
-let $message= Testcase 3.5.10.extra:;
---source include/show_msg.inc
-
- eval create table t1_sp (var136 tinyint, var151 decimal) engine=$engine_type;
-
- create trigger trg before insert on t1_sp
- for each row set @counter=@counter+1;
- # declare continue handler for sqlstate '01000' set done = 1;
-
- delimiter //;
- 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//
- delimiter ;//
-
- set @counter=0;
- select @counter;
- --error 1329
- call trig_sp();
- select @counter;
- select count(*) from tb3;
- select count(*) from t1_sp;
-
-#Cleanup
- --disable_warnings
- drop procedure trig_sp;
- drop trigger trg;
- drop table t1_sp;
- --enable_warnings
-
-##################################
-########## Section 3.5.11 ########
-# Check on Trigger Performance #
-##################################
-#Section 3.5.11.1
-# Testcase: Ensure that a set of complicated, interlocking triggers that are activated
-# by multiple trigger events on no fewer than 50 different tables with at least
-# 500,000 rows each, all work correctly, return the correct results, and have
-# the correct effects on the database. It is expected that the Services Provider
-# will use its own skills and experience in database testing to devise tables and
-# triggers that fulfill this requirement.
-let $message= Testcase 3.5.11.1 (implemented in trig_perf.test);
---source include/show_msg.inc
-
-# Cleanup section 3.5
- connection default;
- drop user test_general@localhost;
- drop user test_general;
- drop user test_super@localhost;
-
-##########################################
-# Other Scenasrios (not in requirements) #
-##########################################
-# Testcase: y.y.y.2:
-# Checking for triggers starting triggers (no direct requirement)
-let $message= Testcase y.y.y.2: Check for triggers starting triggers;
---source include/show_msg.inc
-
- use test;
- --disable_warnings
- 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;
- --enable_warnings
-
- create table t1 (f1 integer);
- create table t2_1 (f1 integer);
- create table t2_2 (f1 integer);
- create table t2_3 (f1 integer);
- create table t2_4 (f1 integer);
- create table t3 (f1 integer);
-
- insert into t1 values (1);
- delimiter //;
- 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//
- delimiter ;//
-
- 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);
-
-#lock tables t1 write, t2_1 write, t2_2 write, t2_3 write, t2_4 write, t3 write;
- insert into t1 values (1);
-#unlock tables;
- select * from t3;
-
-#Cleanup
- --disable_warnings
- 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;
- --enable_warnings
-
-# Testcase: y.y.y.3:
-# Checking for circular trigger definitions
-let $message= Testcase y.y.y.3: Circular trigger reference;
---source include/show_msg.inc
- use test;
- --disable_warnings
- drop table if exists t1;
- drop table if exists t2;
- drop table if exists t3;
- drop table if exists t4;
- --enable_warnings
- eval create table t1 (f1 integer) engine = $engine_type;
- eval create table t2 (f2 integer) engine = $engine_type;
- eval create table t3 (f3 integer) engine = $engine_type;
- eval create table t4 (f4 integer) engine = $engine_type;
-
- 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);
-
- # OBN See bug 11896
- --error 1442
- insert into t1 values (1);
- select * from t1;
- select * from t2;
- select * from t3;
- select * from t4;
-
-#Cleanup
- --disable_warnings
- drop trigger tr1;
- drop trigger tr2;
- drop trigger tr3;
- drop trigger tr4;
- drop table t1;
- drop table t2;
- drop table t3;
- drop table t4;
- --enable_warnings
-
-
-#Section y.y.y.4
-# Testcase: create recursive trigger/storedprocedures conditions
-let $message= Testcase y.y.y.4: Recursive trigger/SP references (disabled bug 11889);
---source include/show_msg.inc
-
-set @sql_mode='traditional';
- eval create table t1_sp (
- count integer,
- var136 tinyint,
- var151 decimal) engine=$engine_type;
-
- delimiter //;
- 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//
- delimiter ;//
-
- create trigger trg before insert on t1_sp
- for each row call trig_sp();
-
- set @counter=0;
- select @counter;
- --error 1424
- call trig_sp();
- select @counter;
- select count(*) from tb3;
- select count(*) from t1_sp;
-
-#Cleanup
- --disable_warnings
- drop procedure trig_sp;
- drop trigger trg;
- drop table t1_sp;
- --enable_warnings
-
-
-# Testcase: y.y.y.5:
-# Checking rollback of nested trigger definitions
-let $message= Testcase y.y.y.5: Roleback of nested trigger references;
---source include/show_msg.inc
-
- set @@sql_mode='traditional';
- use test;
- --disable_warnings
- drop table if exists t1;
- drop table if exists t2;
- drop table if exists t3;
- drop table if exists t4;
- --enable_warnings
- eval create table t1 (f1 integer) engine = $engine_type;
- eval create table t2 (f2 integer) engine = $engine_type;
- eval create table t3 (f3 integer) engine = $engine_type;
- eval create table t4 (f4 tinyint) engine = $engine_type;
- show create table t1;
- 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);
-
-#lock tables t1 write, t2 write, t3 write, t4 write;
-
- set autocommit=0;
- start transaction;
- --error 1264
- insert into t1 values (1);
- commit;
- select * from t1;
- select * from t2;
- select * from t3;
-#unlock tables;
-#Cleanup
- --disable_warnings
- drop trigger tr1;
- drop trigger tr2;
- drop trigger tr3;
- drop table t1;
- drop table t2;
- drop table t3;
- drop table t4;
- --enable_warnings
-
diff --git a/mysql-test/suite/funcs_1/views/func_view.inc b/mysql-test/suite/funcs_1/views/func_view.inc
index d78cfb4488a..5637a7f4f84 100644
--- a/mysql-test/suite/funcs_1/views/func_view.inc
+++ b/mysql-test/suite/funcs_1/views/func_view.inc
@@ -3,12 +3,9 @@
# Functions within VIEWs #
# #
###################################################
-# 2006-12-08 ML Maintenance + refinements
-# 2005-09-14 ML Create this test
-
-let $message= ! Attention: The file with the expected results suffers from
-Bug#10713: mysqldump includes database in create view and referenced tables;
---source include/show_msg80.inc
+# 2007-11-09 HHunger enabled all disabled parts belonging to fixed bugs.
+# 2006-12-08 mleich Maintenance + refinements
+# 2005-09-14 mleich Create this test
#
# 0. Some notes about this test:
# #################################################################
@@ -16,9 +13,9 @@ Bug#10713: mysqldump includes database in create view and referenced tables;
# 0.1 This test is unfinished and incomplete, but already useful.
# -----------------------------------------------------------------
# 0.1.1 There will be architectural changes in future.
-# The long sequences with
+# The long sequences with
# let $col_type= <column to use>;
-# --source suite/funcs_1/views/<file containing the
+# --source suite/funcs_1/views/<file containing the
# select with function>
# per every column type do not look very smart.
#
@@ -43,20 +40,13 @@ Bug#10713: mysqldump includes database in create view and referenced tables;
# which was valid during VIEW creation time. This means some variations
# of the SQL mode are needed.
# 0.1.3 There are much more functions to be tested.
-# 0.1.4 There are problems with the option "--ps-protocol".
-# Double values with 15 digit mantissa are printed with 14 digit
-# mantissa (Bug#11589).
-# I altered the Minimum/Maximum double values to 14 digit mantissa
-# to avoid these problems. But there are some other unsolved problems
-# with "--ps-protocol".
---disable_ps_protocol
-# 0.1.5 The result sets of some CAST sub testcases with ugly function parameter
+# 0.1.4 The result sets of some CAST sub testcases with ugly function parameter
# column data type combinations must be discussed.
#
#
# 0.2 How to valuate the test results:
# ---------------------------------------------------------------------------
-# Due to the extreme "greedy bug hunting" architecture (combinatorics
+# Due to the extreme "greedy bug hunting" architecture (combinatorics
# + heavy use of sourced scripts) of the following tests, there will be
# - no abort of the test execution, when one statements gets an return
# code != 0 (The sub testcases are independend.)
@@ -72,10 +62,10 @@ Bug#10713: mysqldump includes database in create view and referenced tables;
# The file with expected results suffers from Bug 5913";
# means, the file with expected results contains result sets which
# are known to be wrong.
-# "Attention: The last <whatever> failed"
+# "Attention: The last <whatever> failed"
# means, a statement which should be successful (bugfree MySQL)
# failed.
-#
+#
# "Passed" : The behaviour of your MySQL version does not differ from the
# version used to generate the files with expected results.
# Known bugs affecting these tests could be retrieved by
@@ -97,7 +87,7 @@ Bug#10713: mysqldump includes database in create view and referenced tables;
# with the suspicious result set or server response.
# Now all t1_values records are preloaded.
# 2. Start the server without the initial cleanup of databases etc.
-# This preserves the content of the table t1_values, which
+# This preserves the content of the table t1_values, which
# might be needed for replaying the situation.
# Example:
# ./mysql-test-run.pl --socket=var/tmp/master.sock --start-dirty
@@ -158,7 +148,7 @@ Bug#10713: mysqldump includes database in create view and referenced tables;
# The script will work with the VIEWs, but omit the simple selects.
# The "reject" file contains the view select result sets.
# 3. Compare the "reject" files of 1. and 2. within a graphical diff tool.
-#
+#
#
--disable_warnings
@@ -199,7 +189,7 @@ eval CREATE TABLE t1_values
##### BEGIN Basic preparations #######################################
#
# 1. Extend t1_values with the columns you need
-# - the column name must show the data type
+# - the column name must show the data type
# - do not add NOT NULL columns
# - do not worry if the intended column data type is not
# available for some storage engines
@@ -231,7 +221,7 @@ ALTER TABLE t1_values ADD my_decimal DECIMAL(64,30);
# we do not want to start with "illegal/unexpected/..." values.
# Such experiments should be done in other testcases.
# Please be careful
-# - modifying column values of predefined rows they might change many
+# - modifying column values of predefined rows they might change many
# result sets
# - additional predefined rows should be really useful for the majority of
# all sub testcases, since they blow up all result sets.
@@ -257,20 +247,18 @@ INSERT INTO t1_values SET
my_bigint = -9223372036854775808,
my_decimal = -9999999999999999999999999999999999.999999999999999999999999999999 ,
my_double = -1.7976931348623E+308;
-# Note(ML): Values like
-# - my_timestamp = '19700101030000' do not work
-# - my_double = -1.7976931348623157E+308 cause problems with
-# --ps-protocol (Bug#11589)
+# shortened due to bug#32285
+# my_double = -1.7976931348623157E+308;
#
# 2.3 record -- everything to "maximum"
# numbers, date/time types -> maximum of range
# strings, blobs, binaries -> '<- full length of used data type>'
# FIXME enum, set ??
INSERT INTO t1_values SET
- my_char_30 = '<--------30 characters------->',
+ my_char_30 = '<--------30 characters------->',
my_varchar_1000 = CONCAT('<---------1000 characters',
RPAD('',965,'-'),'--------->'),
- my_binary_30 = '<--------30 characters------->',
+ my_binary_30 = '<--------30 characters------->',
my_varbinary_1000 = CONCAT('<---------1000 characters',
RPAD('',965,'-'),'--------->'),
my_datetime = '9999-12-31 23:59:59',
@@ -281,10 +269,8 @@ INSERT INTO t1_values SET
my_bigint = 9223372036854775807,
my_decimal = +9999999999999999999999999999999999.999999999999999999999999999999 ,
my_double = 1.7976931348623E+308;
-# Note(ML): Values like
-# - my_timestamp = '20380101030000' do not work
-# - my_double = 1.7976931348623157E+308 cause problems with
-# --ps-protocol (Bug#11589)
+# shortened due to bug#32285
+# my_double = -1.7976931348623157E+308;
#
# 2.4 record -- everything to "magic" value if available or
# other interesting value
@@ -293,28 +279,28 @@ INSERT INTO t1_values SET
# characters and preceeding and trailing spaces
# FIXME enum, set ??
INSERT INTO t1_values SET
- my_char_30 = ' ---äÖüß@µ*$-- ',
- my_varchar_1000 = ' ---äÖüß@µ*$-- ',
- my_binary_30 = ' ---äÖüß@µ*$-- ',
- my_varbinary_1000 = ' ---äÖüß@µ*$-- ',
+ 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_bigint = 0,
my_decimal = 0.0,
my_double = 0;
#
# 2.5 record -- everything to "harmless" value if available
# numbers -> -1 (logical)
-# strings, blobs, binaries -> '-1' useful for numeric functions
+# strings, blobs, binaries -> '-1' useful for numeric functions
# FIXME enum, set ??
INSERT INTO t1_values SET
- my_char_30 = '-1',
- my_varchar_1000 = '-1',
- my_binary_30 = '-1',
- my_varbinary_1000 = '-1',
+ 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',
@@ -332,11 +318,11 @@ INSERT INTO t1_values SET
# records which should be used dedicated to the SELECT above
# - Please avoid WHERE clauses
# - Include the PRIMARY KEY ("id") of the base table t1_values into the
-# select column list
-# - Include the base table column used as function parameter into the
-# select column list, because it is much easier to check the results
+# select column list
+# - Include the base table column used as function parameter into the
+# select column list, because it is much easier to check the results
# - Do not forget to escape single quotes
-# Example:
+# Example:
# SET @my_select = 'SELECT sqrt(my_bigint), my_bigint, id FROM t1_values'
# SET @my_select = 'SELECT CONCAT(\'A\',my_char_30), id FROM t1_values';
# - Statements, which reveal open crashing bugs MUST be disabled.
@@ -349,10 +335,10 @@ INSERT INTO t1_values SET
# most preferred function.
# This method avoids that we forget a function and gives a better
# overview.
-#
+#
# If you have the time to check the result sets do the insert of the
# SELECT with function via:
-# eval SET @my_select =
+# eval SET @my_select =
# '<your SELECT>';
# --source suite/funcs_1/views/fv1.inc
# fv1.inc sets t1_selects.disable_result to 'No' and the effect will be,
@@ -360,7 +346,7 @@ INSERT INTO t1_values SET
#
# If you do have the time to check the result sets do the insert of the
# SELECT with function via:
-# eval SET @my_select =
+# eval SET @my_select =
# '<your SELECT>';
# --source suite/funcs_1/views/fv2.inc
# fv2.inc sets t1_selects.disable_result to 'Yes' and the effect will be,
@@ -386,7 +372,7 @@ INSERT INTO t1_values SET
#
# Example:
# The function to be tested is "sqrt".
-# The minimum, maximum, default and NULL value are covered by the
+# The minimum, maximum, default and NULL value are covered by the
# predefined rows.
# A value where sqrt(<value>) = <integer value> in strict mathematics
# would be of interest.
@@ -422,7 +408,7 @@ eval INSERT INTO t1_values SET select_id = @select_id,
# 1.1 CAST
#
# Note(ML): I guess the CAST routines are used in many other functions.
-# Therefore check also nearly all "ugly" variants like
+# Therefore check also nearly all "ugly" variants like
# CAST(<string composed of non digits> AS DECIMAL) here.
#
# suite/funcs_1/views/fv_cast.inc contains
@@ -430,6 +416,7 @@ eval INSERT INTO t1_values SET select_id = @select_id,
#
#
# 1.1.1. CAST --> BINARY
+--echo ##### 1.1.1. CAST --> BINARY
let $target_type= BINARY;
#
let $col_type= my_char_30;
@@ -459,6 +446,7 @@ let $col_type= my_year;
# 1.1.2. CAST --> CHAR
+--echo ##### 1.1.2. CAST --> CHAR
let $target_type= CHAR;
#
let $col_type= my_char_30;
@@ -488,6 +476,7 @@ let $col_type= my_year;
# 1.1.3. CAST --> DATE
+--echo ##### 1.1.3. CAST --> DATE
let $target_type= DATE;
#
let $col_type= my_char_30;
@@ -527,6 +516,7 @@ let $col_type= my_year;
# 1.1.4. CAST --> DATETIME
+--echo ##### 1.1.4. CAST --> DATETIME
let $target_type= DATETIME;
#
let $col_type= my_char_30;
@@ -566,6 +556,7 @@ let $col_type= my_year;
# 1.1.5. CAST --> TIME
+--echo ##### 1.1.5. CAST --> TIME
let $target_type= TIME;
#
let $col_type= my_char_30;
@@ -606,6 +597,7 @@ let $col_type= my_year;
# 1.1.6. CAST --> DECIMAL
+--echo ##### 1.1.6. CAST --> DECIMAL
# Set the following to (37,2) since the default was changed to (10,0) - OBN
let $target_type= DECIMAL(37,2);
#
@@ -647,9 +639,10 @@ let $col_type= my_year;
# 1.1.7. CAST --> SIGNED INTEGER
+--echo ##### 1.1.7. CAST --> SIGNED INTEGER
let $target_type= SIGNED INTEGER;
#
-let $message=
+let $message=
"Attention: CAST --> SIGNED INTEGER
Bug#5913 Traditional mode: BIGINT range not correctly delimited
Status: To be fixed later";
@@ -682,9 +675,10 @@ let $col_type= my_year;
# 1.1.8. CAST --> UNSIGNED INTEGER
+--echo ##### 1.1.8. CAST --> UNSIGNED INTEGER
let $target_type= UNSIGNED INTEGER;
#
-let $message=
+let $message=
"Attention: CAST --> UNSIGNED INTEGER
The file with expected results suffers from Bug 5913";
--source include/show_msg80.inc
@@ -703,12 +697,9 @@ let $col_type= my_decimal;
let $message= some statements disabled because of
Bug#5913 Traditional mode: BIGINT range not correctly delimited;
--source include/show_msg80.inc
-if (0)
-{
-# Bugs#8663: cant use bgint unsigned as input to cast
+# Bug#8663 cant use bgint unsigned as input to cast
let $col_type= my_double;
--source suite/funcs_1/views/fv_cast.inc
-}
let $col_type= my_datetime;
--source suite/funcs_1/views/fv_cast.inc
let $col_type= my_date;
@@ -733,38 +724,38 @@ let $col_type= my_year;
let $target_charset= utf8;
#
let $col_type= my_char_30;
-eval SET @my_select = 'SELECT CONVERT($col_type USING $target_charset),
+eval SET @my_select = 'SELECT CONVERT($col_type USING $target_charset),
$col_type, id FROM t1_values';
--source suite/funcs_1/views/fv1.inc
let $col_type= my_varchar_1000;
-eval SET @my_select = 'SELECT CONVERT($col_type USING $target_charset),
+eval SET @my_select = 'SELECT CONVERT($col_type USING $target_charset),
$col_type, id FROM t1_values';
--source suite/funcs_1/views/fv1.inc
let $col_type= my_binary_30;
-eval SET @my_select = 'SELECT CONVERT($col_type USING $target_charset),
+eval SET @my_select = 'SELECT CONVERT($col_type USING $target_charset),
$col_type, id FROM t1_values';
--source suite/funcs_1/views/fv1.inc
let $col_type= my_varbinary_1000;
-eval SET @my_select = 'SELECT CONVERT($col_type USING $target_charset),
+eval SET @my_select = 'SELECT CONVERT($col_type USING $target_charset),
$col_type, id FROM t1_values';
--source suite/funcs_1/views/fv1.inc
#
# 1.3.2 CONVERT(expr USING koi8r)
let $target_charset= koi8r;
let $col_type= my_char_30;
-eval SET @my_select = 'SELECT CONVERT($col_type USING $target_charset),
+eval SET @my_select = 'SELECT CONVERT($col_type USING $target_charset),
$col_type, id FROM t1_values';
--source suite/funcs_1/views/fv1.inc
let $col_type= my_varchar_1000;
-eval SET @my_select = 'SELECT CONVERT($col_type USING $target_charset),
+eval SET @my_select = 'SELECT CONVERT($col_type USING $target_charset),
$col_type, id FROM t1_values';
--source suite/funcs_1/views/fv1.inc
let $col_type= my_binary_30;
-eval SET @my_select = 'SELECT CONVERT($col_type USING $target_charset),
+eval SET @my_select = 'SELECT CONVERT($col_type USING $target_charset),
$col_type, id FROM t1_values';
--source suite/funcs_1/views/fv1.inc
let $col_type= my_varbinary_1000;
-eval SET @my_select = 'SELECT CONVERT($col_type USING $target_charset),
+eval SET @my_select = 'SELECT CONVERT($col_type USING $target_charset),
$col_type, id FROM t1_values';
--source suite/funcs_1/views/fv1.inc
@@ -772,7 +763,7 @@ $col_type, id FROM t1_values';
# 2. Control Flow Functions
# 2.1. CASE value WHEN [compare-value] THEN result [WHEN ...] [ELSE result]
# END or
-# CASE WHEN [condition] THEN result [WHEN ...] [ELSE result] END
+# CASE WHEN [condition] THEN result [WHEN ...] [ELSE result] END
#
# FIXME: to be implemented
#
@@ -871,7 +862,7 @@ let $col_type= my_year;
--source suite/funcs_1/views/fv_if2.inc
-# 2.3. IFNULL(expr1,expr2)
+# 2.3. IFNULL(expr1,expr2)
# If expr1 is not NULL, IFNULL() returns expr1, else it returns expr2.
#
# suite/funcs_1/views/fv_ifnull.inc contains
@@ -922,7 +913,7 @@ let $col_type= my_year;
# 2.4. NULLIF(expr1,expr2)
# Returns NULL if expr1 = expr2 is true, else returns expr1.
-# This is the same as
+# This is the same as
# CASE WHEN expr1 = expr2 THEN NULL ELSE expr1 END.
#
# FIXME: to be implemented
@@ -959,11 +950,11 @@ $col_type, id FROM t1_values';
# 3.5. CHAR_LENGTH(str)
# 3.6 CHARACTER_LENGTH(str)
# CHARACTER_LENGTH() is a synonym for CHAR_LENGTH().
-# 3.7. COMPRESS(string_to_compress)
+# 3.7. COMPRESS(string_to_compress)
# 3.8. CONCAT(str1,str2,...)
# 3.9. CONCAT_WS(separator,str1,str2,...)
# 3.10. CONV(N,from_base,to_base)
-# 3.11. ELT(N,str1,str2,str3,...)
+# 3.11. ELT(N,str1,str2,str3,...)
# 3.12. EXPORT_SET(bits,on,off[,separator[,number_of_bits]])
# 3.13. FIELD(str,str1,str2,str3,...)
# 3.14. FIND_IN_SET(str,strlist)
@@ -991,55 +982,38 @@ $col_type, id FROM t1_values';
# 3.19. LEFT(str,len)
-# Returns the leftmost len characters from the string str.
+# Returns the leftmost len characters from the string str.
let $col_type= my_char_30;
-eval SET @my_select =
+eval SET @my_select =
'SELECT LEFT($col_type, 2), $col_type, id FROM t1_values';
--source suite/funcs_1/views/fv1.inc
let $col_type= my_varchar_1000;
-eval SET @my_select =
+eval SET @my_select =
'SELECT LEFT($col_type, 2), $col_type, id FROM t1_values';
--source suite/funcs_1/views/fv1.inc
let $col_type= my_binary_30;
-eval SET @my_select =
+eval SET @my_select =
'SELECT LEFT($col_type, 2), $col_type, id FROM t1_values';
--source suite/funcs_1/views/fv1.inc
let $col_type= my_varbinary_1000;
-eval SET @my_select =
+eval SET @my_select =
'SELECT LEFT($col_type, 2), $col_type, id FROM t1_values';
--source suite/funcs_1/views/fv1.inc
-#
-let $message=
-"Attention: LEFT(''AaBbCcDdEeFfGgHhIiJjÄäÜüÖö'', <numeric column>)
- The file with expected results suffers from Bug 10963"
- and the testcases with length = BIGINT or DOUBLE column are deactivated,
- because there are 32/64 Bit differences;
---source include/show_msg80.inc
# Bug#11728 string function LEFT, strange undocumented behaviour, strict mode
# Bug#10963 LEFT string function returns wrong result with large length
let $col_type= my_bigint;
-if (0)
-{
-# Bug#10963 LEFT string function returns wrong result with large length
-eval SET @my_select =
+eval SET @my_select =
'SELECT LEFT(''AaBbCcDdEeFfGgHhIiJjÄäÜüÖö'', $col_type), $col_type, id FROM t1_values';
--source suite/funcs_1/views/fv1.inc
-}
-#
let $col_type= my_decimal;
eval SET @my_select =
'SELECT LEFT(''AaBbCcDdEeFfGgHhIiJjÄäÜüÖö'', $col_type), $col_type, id FROM t1_values';
--source suite/funcs_1/views/fv1.inc
-#
-if (0)
-{
# Bug#10963 LEFT string function returns wrong result with large length
let $col_type= my_double;
eval SET @my_select =
'SELECT LEFT(''AaBbCcDdEeFfGgHhIiJjÄäÜüÖö'', $col_type), $col_type, id FROM t1_values';
--source suite/funcs_1/views/fv1.inc
-}
-
# 3.20. LENGTH(str)
let $col_type= my_char_30;
@@ -1065,10 +1039,11 @@ $col_type, id FROM t1_values';
# If the file doesn't exist or cannot be read ... ,
# the function returns NULL.
# SELECT LOADFILE
-# Prepare a file:
-SELECT 'äÄ@' INTO OUTFILE '../tmp/func_view.dat';
-eval SET @my_select =
-'SELECT LOAD_FILE(''../tmp/func_view.dat''), id FROM t1_values';
+--replace_result $MYSQLTEST_VARDIR <MYSQLTEST_VARDIR>
+eval SET @my_select =
+'SELECT LOAD_FILE(''$MYSQLTEST_VARDIR/std_data_ln/funcs_1/load_file.txt'')
+ AS my_col,
+ id FROM t1_values';
--source suite/funcs_1/views/fv1.inc
@@ -1235,8 +1210,8 @@ $col_type, id FROM t1_values';
--source suite/funcs_1/views/fv2.inc
-# 3.26. MAKE_SET(bits,str1,str2,...)
-# .....
+# 3.26. MAKE_SET(bits,str1,str2,...)
+# .....
# FIXME: to be implemented
################################################################################
@@ -1260,6 +1235,7 @@ SET sql_mode = ''; #
let $message= "# The basic preparations end and the main test starts here";
--source include/show_msg80.inc
+--disable_ps_protocol
##### The tests start here #####################################################
@@ -1288,6 +1264,7 @@ while ($select_id)
if ($view_select_result)
{
# Create the VIEW
+ --replace_result $MYSQLTEST_VARDIR <MYSQLTEST_VARDIR>
eval CREATE VIEW v1 AS $my_select;
--disable_query_log
eval set @got_errno= $mysql_errno ;
@@ -1306,11 +1283,12 @@ while ($select_id)
if ($simple_select_result)
{
# Simple SELECT on the base table of the VIEW for comparison
-
+
if ($run_no_result)
{
--disable_result_log
}
+ --replace_result $MYSQLTEST_VARDIR <MYSQLTEST_VARDIR>
eval $my_select
WHERE select_id = $select_id OR select_id IS NULL order by id;
if ($run_no_result)
@@ -1330,6 +1308,7 @@ while ($select_id)
if ($run0)
{
# Check the CREATE VIEW statement
+ --replace_result $MYSQLTEST_VARDIR <MYSQLTEST_VARDIR>
SHOW CREATE VIEW v1;
if ($mysql_errno)
{
@@ -1370,5 +1349,6 @@ while ($select_id)
dec $select_id ;
}
+--enable_ps_protocol
+
DROP TABLE t1_selects, t1_modes, t1_values;
---exec rm $MYSQLTEST_VARDIR/tmp/func_view.dat
diff --git a/mysql-test/suite/funcs_1/views/views_master.inc b/mysql-test/suite/funcs_1/views/views_master.inc
index 0e3371bdb18..b6628070705 100644
--- a/mysql-test/suite/funcs_1/views/views_master.inc
+++ b/mysql-test/suite/funcs_1/views/views_master.inc
@@ -1,4 +1,10 @@
#### suite/funcs_1/views/views_master.test
+#
+# Last Change:
+# 2007-10-05 mleich
+# 1. Fix for Bug#31237 Test "ndb_views" fails because of differing order ...
+# 2. Cleanup of test
+# 2007-11-15 hhunger WL#4084: Review and fix all disabled tests ...
let $message= ! Attention: The file with the expected results is not
| thoroughly checked.
@@ -8,25 +14,20 @@ let $message= ! Attention: The file with the expected results is not
--source include/show_msg80.inc
# As long as
-# Bug#11589: mysqltest, --ps-protocol, strange output, float/double/real with zerofill
-# is not fixed, we must switch the ps-protocol for some statements off.
+# Bug#32285: mysqltest, --ps-protocol, strange output, float/double/real with zerofill
+# is not fixed, we must switch the ps-protocol for some statements off (formerly bug#11589).
# If this bug is fixed, please
# 1. set the following variable to 0
# 2. check, if the test passes
-# 3. remove the workarounds
-let $have_bug_11589= 1;
-if ($have_bug_11589)
+# 3. remove the workarounds
+let $have_bug_32285= 1;
+if ($have_bug_32285)
{
let $message= There are some statements where the ps-protocol is switched off.
- Bug#11589: mysqltest, --ps-protocol, strange output, float/double/real with zerofill;
+ Bug#32285: mysqltest, --ps-protocol, strange output, float/double/real with zerofill;
--source include/show_msg80.inc
}
-let $message= ! Attention: The file with the expected results suffers from
-Bug#10713: mysqldump includes database in create view and referenced tables;
---source include/show_msg80.inc
-
-
# The sub testcases are nearly independend. That is the reason why
# we do not want to abort after the first error.
--disable_abort_on_error
@@ -42,7 +43,7 @@ Bug#10713: mysqldump includes database in create view and referenced tables;
# MySQL has also added some vendor-specific enhancements to the standard
# SQL requirements.
-# FIXME (ML)
+# FIXME (mleich)
# - Alter all object names so that they follow the v/t/..<number> scheme or
# apply another method which prevents that customer data might be
# accidently modified
@@ -107,6 +108,12 @@ 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 );
+if ($have_bug_32285)
+{
+--disable_ps_protocol
+}
+SELECT * FROM tb2 ORDER BY f59, f60, f61;
+--enable_ps_protocol
#
#
Use test;
@@ -145,99 +152,101 @@ Insert into t1 values (500,9866);
--enable_warnings
CREATE VIEW v1 AS select f59,f60,f61
FROM test.tb2 where f59=250;
- select * FROM v1 limit 0,10;
+ select * FROM v1 order by f60,f61 limit 0,10;
#(02)
Drop view if exists v1 ;
CREATE VIEW v1 AS select f59,f60,f61
FROM test.tb2 limit 100;
- select * FROM v1 limit 0,10;
+ select * FROM v1 order by f59,f60,f61 limit 0,10;
#(03)
CREATE or REPLACE VIEW v1 AS select f59,f60,f61
- FROM test.tb2 limit 4,3;
- select * FROM v1 limit 0,10;
+ FROM test.tb2;
+ select * FROM v1 order by f59,f60,f61 limit 4,3;
#(04)
CREATE or REPLACE VIEW v1 AS select distinct f59
- FROM test.tb2 limit 4,3;
- select * FROM v1 limit 0,10;
+ FROM test.tb2;
+ select * FROM v1 order by f59 limit 4,3;
#(05)
ALTER VIEW v1 AS select f59
- FROM test.tb2 limit 6,2;
- select * FROM v1 limit 0,10;
+ FROM test.tb2;
+ select * FROM v1 order by f59 limit 6,2;
#(06)
CREATE or REPLACE VIEW v1 AS select f59
- from tb2 order by f59 limit 100;
- select * FROM v1 limit 0,10;
+ from tb2 order by f59;
+ select * FROM v1 order by f59 limit 0,10;
#(07)
CREATE or REPLACE VIEW v1 AS select f59
- from tb2 order by f59 asc limit 100;
+ from tb2 order by f59 asc;
select * FROM v1 limit 0,10;
#(08)
CREATE or REPLACE VIEW v1 AS select f59
- from tb2 order by f59 desc limit 100;
+ from tb2 order by f59 desc;
select * FROM v1 limit 0,10;
#(09)
CREATE or REPLACE VIEW v1 AS select f59
- from tb2 group by f59 limit 100;
- select * FROM v1 limit 0,10;
+ from tb2 group by f59;
+ select * FROM v1 order by f59 limit 0,10;
#(10)
CREATE or REPLACE VIEW v1 AS select f59
- from tb2 group by f59 asc limit 100;
- select * FROM v1 limit 0,10;
+ from tb2 group by f59 asc;
+ select * FROM v1 order by f59 limit 0,10;
#(11)
CREATE or REPLACE VIEW v1 AS select f59
- from tb2 group by f59 desc limit 100;
- select * FROM v1 limit 0,10;
+ from tb2 group by f59 desc;
+ select * FROM v1 order by f59 limit 0,10;
#(12)
CREATE or REPLACE VIEW v1 AS (select f59 from tb2)
- union (select f59 from t1) limit 100;
- select * FROM v1 limit 0,10;
+ union (select f59 from t1);
+ select * FROM v1 order by f59 limit 0,10;
#(13)
CREATE or REPLACE VIEW v1 AS (select f59 FROM tb2)
UNION DISTINCT(select f59 FROM t1) ;
- select * FROM v1 limit 0,10;
+ select * FROM v1 order by f59 limit 0,10;
#(14)
CREATE or REPLACE VIEW v1 AS (select f59 FROM tb2)
UNION ALL(select f59 FROM t1) ;
- select * FROM v1 limit 0,10;
+ select * FROM v1 order by f59 limit 0,10;
#(15)
-if ($have_bug_11589)
+if ($have_bug_32285)
{
--disable_ps_protocol
}
+--vertical_results
CREATE or REPLACE VIEW v1 AS select *
FROM test.tb2 WITH LOCAL CHECK OPTION ;
- select * FROM v1 limit 0,50;
+ select * FROM v1 order by f59,f60,f61,f62,f63,f64 limit 0,50;
#(16)
CREATE or REPLACE VIEW v1 AS select *
FROM test.tb2 WITH CASCADED CHECK OPTION ;
- select * FROM v1 limit 0,10;
+ select * FROM v1 order by f59,f60,f61,f62,f63,f64 limit 0,10;
+--horizontal_results
--enable_ps_protocol
#(17)
CREATE OR REPLACE VIEW v1 AS SELECT F59, F60
FROM test.tb2 WITH CASCADED CHECK OPTION;
- SELECT * FROM v1 limit 0,10;
+ SELECT * FROM v1 order by f59,f60 limit 0,10;
#(18)
CREATE or REPLACE VIEW v1 AS select f59, f60
from test.tb2 where f59=3330 ;
- select * FROM v1 limit 0,10;
+ select * FROM v1 order by f60 limit 0,10;
DROP VIEW v1 ;
DROP TABLE t1 ;
@@ -260,12 +269,12 @@ CREATE TABLE t1 (f1 BIGINT) ;
# SELECT INTO is illegal
SET @x=0;
---error 1350
+--error ER_VIEW_SELECT_CLAUSE
CREATE or REPLACE VIEW v1 AS Select 1 INTO @x;
Select @x;
# Subquery in the FROM clause is illegal
---error 1349
+--error ER_VIEW_SELECT_DERIVED
CREATE or REPLACE VIEW v1 AS Select 1
FROM (SELECT 1 FROM t1) my_table;
@@ -282,23 +291,16 @@ SELECT @a ;
SELECT * FROM t1;
DROP TRIGGER tr1 ;
SET @a:=0 ;
---error 1347
+--error ER_WRONG_OBJECT
CREATE TRIGGER tr1 BEFORE INSERT ON v1 FOR EACH ROW SET @a:=1 ;
-# RENAME VIEW is not available even when we try it via rename table.
-# FIXME: Write a bug report for the ugly error message
-# 1017: Can't find file: './test/v1.frm' (errno: 2),
-# because the much more beautiful
-# 1347: 'test.v1' is not BASE TABLE
-# exists.
---replace_result '\\' '/'
-# MLML --error 1017
RENAME TABLE v1 TO v2;
---error 1064
+# RENAME VIEW is not available even when we try it via rename table.
+--error ER_PARSE_ERROR
RENAME VIEW v2 TO v1;
-#--error 1347
+#--error ER_WRONG_OBJECT
ALTER TABLE v2 RENAME AS v1;
---error 1064
+--error ER_PARSE_ERROR
ALTER VIEW v1 RENAME AS v2;
# VIEWs cannot contain a PRIMARY KEY or have an Index.
@@ -310,12 +312,12 @@ 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);
---error 1347
+--error ER_WRONG_OBJECT
ALTER TABLE v1 ADD PRIMARY KEY(f1);
---error 1064
+--error ER_PARSE_ERROR
ALTER VIEW v1 ADD PRIMARY KEY(f1);
CREATE INDEX t1_idx ON t1(f3);
---error 1347
+--error ER_WRONG_OBJECT
CREATE INDEX v1_idx ON v1(f3);
DROP TABLE t1;
DROP VIEW v1;
@@ -333,21 +335,21 @@ let $message= Testcase 3.3.1.3 + 3.1.1.4 ;
DROP VIEW IF EXISTS v1 ;
--enable_warnings
# REPLACE after VIEW name
---error 1064
-CREATE VIEW v1 or REPLACE AS Select * from tb2 my_table limit 50;
+--error ER_PARSE_ERROR
+CREATE VIEW v1 or REPLACE AS Select * from tb2 my_table;
# CHECK OPTION before AS SELECT
---error 1064
+--error ER_PARSE_ERROR
CREATE VIEW v1 WITH CASCADED CHECK OPTION AS Select *
from tb2 my_table limit 50;
# CHECK OPTION before AS SELECT
---error 1064
+--error ER_PARSE_ERROR
CREATE VIEW v1 WITH LOCAL CHECK OPTION AS Select *
from tb2 my_table limit 50;
# CREATE after SELECT
---error 1064
-SELECT * FROM tb2 my_table CREATE VIEW As v1 limit 100 ;
+--error ER_PARSE_ERROR
+SELECT * FROM tb2 my_table CREATE VIEW As v1;
# AS forgotten
---error 1064
+--error ER_PARSE_ERROR
CREATE or REPLACE VIEW v1 Select f59, f60
from test.tb2 my_table where f59 = 250 ;
# positive case
@@ -355,60 +357,60 @@ CREATE OR REPLACE VIEW v1 AS SELECT F59, F60
FROM test.tb2 my_table WITH CASCADED CHECK OPTION;
DROP VIEW v1;
# REPLACE OR CREATE instead of CREATE OR REPLACE
---error 1064
+--error ER_PARSE_ERROR
REPLACE OR CREATE VIEW v1 AS SELECT F59, F60
FROM test.tb2 my_table WITH CASCADED CHECK OPTION;
# AS after SELECT
---error 1064
+--error ER_PARSE_ERROR
CREATE OR REPLACE VIEW v1 SELECT AS F59, F60
FROM test.tb2 my_table WITH CASCADED CHECK OPTION;
---error 1064
+--error ER_PARSE_ERROR
CREATE OR REPLACE VIEW v1 AS SELECT F59, F60
FROM test.tb2 my_table CASCADED WITH CHECK OPTION;
# OPTION CHECK instead of CHECK OPTION
---error 1064
+--error ER_PARSE_ERROR
CREATE OR REPLACE VIEW v1 AS SELECT F59, F60
FROM test.tb2 my_table WITH CASCADED OPTION CHECK;
# CHECK OPTION before WITH
---error 1064
+--error ER_PARSE_ERROR
CREATE OR REPLACE VIEW v1 AS SELECT F59, F60
FROM test.tb2 my_table CHECK OPTION WITH CASCADED;
# CHECK OPTION before AS SELECT
---error 1064
+--error ER_PARSE_ERROR
CREATE OR REPLACE VIEW v1 WITH CASCADED CHECK OPTION
AS SELECT F59, F60 FROM test.tb2 my_table;
# VIEW <viewname> after AS SELECT
---error 1064
+--error ER_PARSE_ERROR
CREATE OR REPLACE AS SELECT F59, F60
FROM test.tb2 my_table VIEW v1 WITH CASCADED CHECK OPTION;
# VIEW <viewname> after CHECK OPTION
---error 1064
+--error ER_PARSE_ERROR
CREATE OR REPLACE AS SELECT F59, F60
FROM test.tb2 my_table WITH CASCADED CHECK OPTION VIEW v1;
# Variants with LOCAL CHECK OPTION
---error 1064
+--error ER_PARSE_ERROR
REPLACE OR CREATE VIEW v1 AS SELECT F59, F60
FROM test.tb2 my_table WITH LOCAL CHECK OPTION;
---error 1064
+--error ER_PARSE_ERROR
CREATE OR REPLACE VIEW v1 SELECT AS F59, F60
FROM test.tb2 my_table WITH LOCAL CHECK OPTION;
---error 1064
+--error ER_PARSE_ERROR
CREATE OR REPLACE VIEW v1 AS SELECT F59, F60
FROM test.tb2 my_table LOCAL WITH CHECK OPTION;
---error 1064
+--error ER_PARSE_ERROR
CREATE OR REPLACE VIEW v1 AS SELECT F59, F60
FROM test.tb2 my_table WITH LOCAL OPTION CHECK;
---error 1064
+--error ER_PARSE_ERROR
CREATE OR REPLACE VIEW v1 AS SELECT F59, F60
FROM test.tb2 my_table CHECK OPTION WITH LOCAL;
---error 1064
+--error ER_PARSE_ERROR
CREATE OR REPLACE VIEW v1 WITH CASCADED CHECK OPTION
AS SELECT F59, F60 FROM test.tb2 my_table;
---error 1064
+--error ER_PARSE_ERROR
CREATE OR REPLACE AS SELECT F59, F60
FROM test.tb2 my_table VIEW v1 WITH LOCAL CHECK OPTION;
---error 1064
+--error ER_PARSE_ERROR
CREATE OR REPLACE AS SELECT F59, F60
FROM test.tb2 my_table WITH LOCAL CHECK OPTION VIEW v1;
@@ -419,15 +421,15 @@ CREATE table t1 (f1 int ,f2 int) ;
INSERT INTO t1 values (235, 22);
INSERT INTO t1 values (554, 11);
# SELECTs of UNION in braces
---error 1064
+--error ER_PARSE_ERROR
CREATE or REPLACE view v1 as (Select from f59 tb2)
Union ALL (Select from f1 t1);
# by before order
---error 1064
+--error ER_PARSE_ERROR
CREATE or REPLACE view v1 as Select f59, f60
-from tb2 by order f59 limit 100 ;
+from tb2 by order f59;
# by before group
---error 1064
+--error ER_PARSE_ERROR
CREATE or REPLACE view v1 as Select f59, f60
from tb2 by group f59 ;
@@ -442,24 +444,24 @@ let $message= Testcase 3.3.1.5 ;
--disable_warnings
DROP VIEW IF EXISTS v1 ;
--enable_warnings
---error 1064
-CREATE VIEW v1 SELECT * FROM tb2 limit 100 ;
---error 1064
-CREATE v1 AS SELECT * FROM tb2 limit 100 ;
---error 1064
-VIEW v1 AS SELECT * FROM tb2 limit 100 ;
+--error ER_PARSE_ERROR
+CREATE VIEW v1 SELECT * FROM tb2;
+--error ER_PARSE_ERROR
+CREATE v1 AS SELECT * FROM tb2;
+--error ER_PARSE_ERROR
+VIEW v1 AS SELECT * FROM tb2;
# positive case
CREATE VIEW v1 AS SELECT 1;
DROP VIEW v1;
---error 1064
+--error ER_PARSE_ERROR
VIEW v1 AS SELECT 1;
---error 1064
+--error ER_PARSE_ERROR
CREATE v1 AS SELECT 1;
---error 1064
+--error ER_PARSE_ERROR
CREATE VIEW AS SELECT 1;
---error 1064
+--error ER_PARSE_ERROR
CREATE VIEW v1 SELECT 1;
---error 1064
+--error ER_PARSE_ERROR
CREATE VIEW v1 AS ;
@@ -480,37 +482,37 @@ let $message= Testcase 3.3.1.6 ;
DROP VIEW IF EXISTS v1 ;
--enable_warnings
CREATE or REPLACE VIEW v1
-as SELECT * from tb2 limit 100 ;
+as SELECT * from tb2;
CREATE or REPLACE ALGORITHM = UNDEFINED VIEW v1
-as SELECT * from tb2 limit 100 ;
+as SELECT * from tb2;
CREATE or REPLACE ALGORITHM = MERGE VIEW v1
-as SELECT * from tb2 limit 100 ;
+as SELECT * from tb2;
CREATE or REPLACE ALGORITHM = TEMPTABLE VIEW v1
-as SELECT * from tb2 limit 100 ;
+as SELECT * from tb2;
CREATE or REPLACE ALGORITHM = TEMPTABLE VIEW v1
-as SELECT * from tb2 limit 100 ;
+as SELECT * from tb2;
# negative test cases
---error 1064
+--error ER_PARSE_ERROR
CREATE or REPLACE = TEMPTABLE VIEW v1
-as SELECT * from tb2 limit 100 ;
---error 1064
+as SELECT * from tb2;
+--error ER_PARSE_ERROR
CREATE or REPLACE ALGORITHM TEMPTABLE VIEW v1
-as SELECT * from tb2 limit 100 ;
---error 1064
+as SELECT * from tb2;
+--error ER_PARSE_ERROR
CREATE or REPLACE ALGORITHM = VIEW v1
-as SELECT * from tb2 limit 100 ;
---error 1064
+as SELECT * from tb2;
+--error ER_PARSE_ERROR
CREATE or REPLACE TEMPTABLE = ALGORITHM VIEW v1
-as SELECT * from tb2 limit 100 ;
---error 1064
+as SELECT * from tb2;
+--error ER_PARSE_ERROR
CREATE or REPLACE TEMPTABLE - ALGORITHM VIEW v1
-as SELECT * from tb2 limit 100 ;
---error 1064
+as SELECT * from tb2;
+--error ER_PARSE_ERROR
CREATE or REPLACE GARBAGE = TEMPTABLE VIEW v1
-as SELECT * from tb2 limit 100 ;
---error 1064
+as SELECT * from tb2;
+--error ER_PARSE_ERROR
CREATE or REPLACE ALGORITHM = GARBAGE VIEW v1
-as SELECT * from tb2 limit 100 ;
+as SELECT * from tb2;
Drop view if exists v1 ;
CREATE or REPLACE VIEW v1
@@ -522,16 +524,16 @@ 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;
# negative test cases
---error 1064
+--error ER_PARSE_ERROR
CREATE or REPLACE VIEW v1
AS SELECT * from tb2 where f59 < 1 WITH NO CHECK OPTION;
---error 1064
+--error ER_PARSE_ERROR
CREATE or REPLACE VIEW v1
AS SELECT * from tb2 where f59 < 1 CASCADED CHECK OPTION;
---error 1064
+--error ER_PARSE_ERROR
CREATE or REPLACE VIEW v1
AS SELECT * from tb2 where f59 < 1 WITH CASCADED OPTION;
---error 1064
+--error ER_PARSE_ERROR
CREATE or REPLACE VIEW v1
AS SELECT * from tb2 where f59 < 1 WITH CASCADED CHECK ;
@@ -543,12 +545,12 @@ let $message= Testcase 3.3.1.7 ;
# view names are accepted, at creation time, alteration time,
# and drop time.
###############################################################################
-# Note(ML): non-qualified view name means a view name without preceeding
-# database name
+# Note(mleich): non-qualified view name means a view name without preceeding
+# database name
--disable_warnings
DROP VIEW IF EXISTS v1 ;
--enable_warnings
-Create view test.v1 AS Select * from test.tb2 limit 100 ;
+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 ;
@@ -561,11 +563,11 @@ let $message= Testcase 3.3.1.A0 ;
###############################################################################
# Testcase 3.3.1.A0: Ensure that view names are treated case sensitive.
###############################################################################
-# Note(ML): Maybe this test produces portability problems on Windows.
-# FIXME There should be a test outside this one checking the
-# creation of objects with cases sensitive names.
-# If we have this test the following sub testcase should
-# be deleted.
+# Note(mleich): Maybe this test produces portability problems on Windows.
+# FIXME There should be a test outside this one checking the
+# creation of objects with cases sensitive names.
+# If we have this test the following sub testcase should
+# be deleted.
--disable_warnings
DROP TABLE IF EXISTS t1 ;
DROP VIEW IF EXISTS v1 ;
@@ -576,8 +578,8 @@ INSERT INTO t1 VALUES(1111), (2222);
CREATE VIEW v1 AS SELECT * FROM t1 WHERE f1 = 1111;
# We get here the sql code
# - 0 on OS with cases sensitive view names (Example: UNIX)
-# - 1050 on OS without cases sensitive view names (Example: WINDOWS)
---error 0,1050
+# - ER_TABLE_EXISTS_ERROR on OS without cases sensitive view names (Example: WINDOWS)
+--error 0,ER_TABLE_EXISTS_ERROR
CREATE VIEW V1 AS SELECT * FROM t1 WHERE f1 = 2222;
SELECT * FROM v1;
# SELECT * FROM V1;
@@ -595,20 +597,20 @@ let $message= Testcase 3.3.1.8 ;
# that an appropriate error message is returned when the name
# is rejected.
###############################################################################
-# Note(ML): There could be more negative tests here, but I assume that the
-# server routines checking if a table or view name is acceptable are
-# heavily tested in tests checking the creation of tables.
---error 1064
+# Note(mleich): There could be more negative tests here, but I assume that the
+# server routines checking if a table or view name is acceptable
+# are heavily tested in tests checking the creation of tables.
+--error ER_PARSE_ERROR
Create view select AS Select * from test.tb2 limit 100;
---error 1064
+--error ER_PARSE_ERROR
Create view as AS Select * from test.tb2 limit 100;
---error 1064
+--error ER_PARSE_ERROR
Create view where AS Select * from test.tb2 limit 100;
---error 1064
+--error ER_PARSE_ERROR
Create view from AS Select * from test.tb2 limit 100;
---error 1064
+--error ER_PARSE_ERROR
Create view while AS Select * from test.tb2 limit 100;
---error 1064
+--error ER_PARSE_ERROR
Create view asdkj*(&*&&^ as Select * from test.tb2 limit 100 ;
--disable_warnings
Drop view if exists test.procedure ;
@@ -623,10 +625,11 @@ let $message= Testcase 3.3.1.9 ;
# Testcase 3.3.1.9: Ensure that a reference to a non-existent view is rejected
# with an appropriate error message
###############################################################################
-# Note(ML): The SELECT statement syntax does not contain any functionality to
-# claim, that the object after FROM must be a VIEW. SHOW's will be
-# checked in 3.3.11 Checks on SHOW, EXPLAIN, and DESCRIBE statements.
-# Let's check here a view based on a dropped view or table.
+# Note(mleich): The SELECT statement syntax does not contain any functionality
+# to claim, that the object after FROM must be a VIEW. SHOW's will
+# be checked in
+# 3.3.11 Checks on SHOW, EXPLAIN, and DESCRIBE statements.
+# Let's check here a view based on a dropped view or table.
--disable_warnings
Drop TABLE IF EXISTS t1 ;
Drop VIEW IF EXISTS v1;
@@ -640,32 +643,32 @@ CREATE VIEW v2 AS SELECT * FROM v1;
# Only negative cases, positive cases will be checked later:
DROP TABLE t1;
---error 1356
+--error ER_VIEW_INVALID
SELECT * FROM v1;
---error 1356
+--error ER_VIEW_INVALID
DELETE FROM v1;
---error 1356
+--error ER_VIEW_INVALID
UPDATE v1 SET f1 = 'aaaaa';
---error 1356
+--error ER_VIEW_INVALID
INSERT INTO v1 SET f1 = "fffff";
# v2 is based on v1, which is now invalid
---error 1356
+--error ER_VIEW_INVALID
SELECT * FROM v2;
---error 1356
+--error ER_VIEW_INVALID
DELETE FROM v2;
---error 1356
+--error ER_VIEW_INVALID
UPDATE v2 SET f1 = 'aaaaa';
---error 1356
+--error ER_VIEW_INVALID
INSERT INTO v2 SET f1 = "fffff";
DROP VIEW v1;
# v2 is based on v1, which is now dropped
---error 1356
+--error ER_VIEW_INVALID
SELECT * FROM v2;
---error 1356
+--error ER_VIEW_INVALID
DELETE FROM v2;
---error 1356
+--error ER_VIEW_INVALID
UPDATE v2 SET f1 = 'aaaaa';
---error 1356
+--error ER_VIEW_INVALID
INSERT INTO v2 SET f1 = "fffff";
DROP VIEW v2;
@@ -677,11 +680,11 @@ DROP VIEW IF EXISTS v1 ;
--enable_warnings
CREATE TABLE t1 (f1 FLOAT);
# Create a new VIEW based on itself
---error 1146
+--error ER_NO_SUCH_TABLE
CREATE VIEW v1 AS SELECT * FROM v1;
# Replace a valid VIEW with one new based on itself
CREATE VIEW v1 AS SELECT * FROM t1;
---error 1146
+--error ER_NO_SUCH_TABLE
CREATE or REPLACE VIEW v1 AS SELECT * FROM v1;
DROP VIEW v1;
@@ -697,9 +700,9 @@ let $message= Testcase 3.3.1.10 ;
Drop view if exists test.v1 ;
--enable_warnings
Create view test.v1 AS Select * from test.tb2 ;
---error 1050
+--error ER_TABLE_EXISTS_ERROR
Create view test.v1 AS Select F59 from test.tb2 ;
---error 1050
+--error ER_TABLE_EXISTS_ERROR
Create view v1 AS Select F59 from test.tb2 ;
@@ -710,18 +713,18 @@ let $message= Testcase 3.3.1.11 ;
# table with the same name in the same database.
###############################################################################
# The VIEW should get the same name like an already existing TABLE.
---error 1050
+--error ER_TABLE_EXISTS_ERROR
Create view test.tb2 AS Select f59,f60 from test.tb2 limit 100 ;
---error 1050
+--error ER_TABLE_EXISTS_ERROR
Create view tb2 AS Select f59,f60 from test.tb2 limit 100 ;
# The TABLE should get the same name like an already existing VIEW.
--disable_warnings
Drop view if exists test.v111 ;
--enable_warnings
Create view test.v111 as select * from tb2 limit 50;
---error 1050
+--error ER_TABLE_EXISTS_ERROR
Create table test.v111(f1 int );
---error 1050
+--error ER_TABLE_EXISTS_ERROR
Create table v111(f1 int );
DROP VIEW test.v111;
@@ -809,25 +812,29 @@ 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;
+--sorted_result
SELECT * FROM test.v1;
# Switch the algorithm
CREATE OR REPLACE ALGORITHM = TEMPTABLE VIEW test.v1
AS SELECT * FROM t1 limit 2;
SHOW CREATE VIEW test.v1;
+--sorted_result
SELECT * FROM test.v1;
# Switch the base table
-CREATE OR REPLACE VIEW test.v1 AS SELECT * FROM tb2 limit 2;
+CREATE OR REPLACE VIEW test.v1 AS SELECT * FROM tb2 order by f59 limit 2;
SHOW CREATE VIEW test.v1;
if ($have_bug_11589)
{
--disable_ps_protocol
}
-SELECT * FROM test.v1 ;
+--vertical_results
+SELECT * FROM test.v1 order by f59,f60,f61,f62,f63,f64,f65;
+--horizontal_results
--enable_ps_protocol
# Switch the SELECT but not the base table
-CREATE OR REPLACE VIEW test.v1 AS SELECT F59 FROM tb2 limit 10,100;
+CREATE OR REPLACE VIEW test.v1 AS SELECT F59 FROM tb2;
SHOW CREATE VIEW test.v1;
-SELECT * FROM test.v1;
+SELECT * FROM test.v1 order by F59 limit 10,100;
Drop table test.t1 ;
Drop view test.v1 ;
@@ -839,9 +846,9 @@ let $message= Testcase 3.3.1.14 ;
# used to create a view using the name of an existing base
# table, it fails with an appropriate error message.
###############################################################################
---error 1347
+--error ER_WRONG_OBJECT
CREATE OR REPLACE VIEW test.tb2 AS SELECT * From tb2 LIMIT 2;
---error 1347
+--error ER_WRONG_OBJECT
CREATE OR REPLACE VIEW tb2 AS SELECT * From tb2 LIMIT 2;
@@ -856,11 +863,12 @@ let $message= Testcase 3.3.1.15 ;
--disable_warnings
Drop table if exists test.v1 ;
--enable_warnings
-CREATE OR REPLACE view test.v1 as select * from tb2 LIMIT 2;
-if ($have_bug_11589)
+CREATE OR REPLACE view test.v1 as select * from tb2;
+if ($have_bug_32285)
{
--disable_ps_protocol
}
+--sorted_result
SELECT * FROM test.v1;
--enable_ps_protocol
Drop view test.v1 ;
@@ -880,8 +888,8 @@ let $message= Testcase 3.3.1.16 + 3.3.1.17 ;
Drop table if exists test.v1 ;
--enable_warnings
CREATE OR REPLACE VIEW v1 AS SELECT * From tb2;
-# Note(ML): The empty result is intended, because I want to compare
-# column names only
+# Note(mleich): The empty result is intended, because I want to compare
+# column names only.
SELECT * FROM tb2 WHERE 1 = 2;
SELECT * FROM v1 WHERE 1 = 2;
Drop view v1;
@@ -924,7 +932,7 @@ let $message= Testcase 3.3.1.18 ;
# from the underlying base table(s) rather than the view
# column names.
###############################################################################
-# Note(ML): The goal is to check the merge algorithm.
+# Note(mleich): The goal is to check the merge algorithm.
--disable_warnings
Drop view if exists v1 ;
Drop view if exists v1_1 ;
@@ -935,14 +943,14 @@ 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 ;
---error 1054
+--error ER_BAD_FIELD_ERROR
SELECT NewNameF1,f60 FROM test.v1_1 ;
---error 1054
+--error ER_BAD_FIELD_ERROR
SELECT NewNameF1, v1_1.f60 FROM test.v1_1 ;
---error 1054
+--error ER_BAD_FIELD_ERROR
SELECT f59, f60 FROM test.v1 ;
Use test ;
---error 1054
+--error ER_BAD_FIELD_ERROR
SELECT F59 FROM v1 ;
@@ -974,14 +982,14 @@ SELECT * FROM v1;
# negative testcases (sometimes including the underlying SELECT)
# duplicate via alias in SELECT
SELECT f1, f2 AS f1 FROM t1;
---error 1060
+--error ER_DUP_FIELDNAME
CREATE OR REPLACE VIEW v1 AS SELECT f1, f2 AS f1 FROM t1;
# duplicate via JOIN SELECT
SELECT t1.f1, t2.f1 AS f1 FROM t1, t2;
---error 1060
+--error ER_DUP_FIELDNAME
CREATE OR REPLACE VIEW v1 AS SELECT t1.f1, t2.f1 AS f1 FROM t1, t2;
# duplicate via VIEW definition
---error 1060
+--error ER_DUP_FIELDNAME
CREATE OR REPLACE VIEW v1 (my_col, my_col) AS SELECT * FROM t1;
@@ -1000,13 +1008,13 @@ 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;
# negative cases, where we assign a wrong number of column names
---error 1353
+--error ER_VIEW_WRONG_LIST
CREATE OR REPLACE VIEW v1 (my_f1 ) AS SELECT * FROM t1;
---error 1353
+--error ER_VIEW_WRONG_LIST
CREATE OR REPLACE VIEW v1 (my_f1 ) AS SELECT f1, f2 FROM t1;
---error 1353
+--error ER_VIEW_WRONG_LIST
CREATE OR REPLACE VIEW v1 (my_f1, my_f2, my_f3) AS SELECT * FROM t1;
---error 1353
+--error ER_VIEW_WRONG_LIST
CREATE OR REPLACE VIEW v1 (my_f1, my_f2, my_f3) AS SELECT f1, f2 FROM t1;
@@ -1019,8 +1027,8 @@ let $message= Testcase 3.3.1.21 ;
--disable_warnings
DROP VIEW IF EXISTS v1;
--enable_warnings
-CREATE VIEW test.v1( F59, F60 ) AS SELECT F59, F60 From tb2 LIMIT 2;
-SELECT * FROM test.v1;
+CREATE VIEW test.v1( F59, F60 ) AS SELECT F59, F60 From tb2;
+SELECT * FROM test.v1 order by F59, F60 desc LIMIT 2;
Drop view if exists test.v1 ;
@@ -1034,11 +1042,14 @@ let $message= Testcase 3.3.1.22 ;
--disable_warnings
DROP VIEW IF EXISTS v1;
--enable_warnings
-CREATE VIEW test.v1( product ) AS SELECT f59*f60 From tb2 LIMIT 2;
+CREATE VIEW test.v1( product ) AS SELECT f59*f60 From tb2 WHERE f59 < 3;
+--sorted_result
SELECT * FROM test.v1;
CREATE OR REPLACE VIEW test.v1( product ) AS SELECT 1*2;
+--sorted_result
SELECT * FROM test.v1;
CREATE OR REPLACE VIEW test.v1( product ) AS SELECT USER();
+--sorted_result
SELECT * FROM test.v1;
Drop view if exists test.v1 ;
@@ -1053,18 +1064,18 @@ let $message= Testcase 3.3.1.23 + 3.3.1.24 ;
# a non-existent view fails, with an appropriate error
# message, at creation time.
###############################################################################
-# Note(ML): The SELECT statement syntax does not contain any functionality to
-# claim, that the object after FROM must be a VIEW.
-# Testcase 3.3.1.24 should be deleted.
+# Note(mleich): The SELECT statement syntax does not contain any functionality
+# to claim, that the object after FROM must be a VIEW.
+# Testcase 3.3.1.24 should be deleted.
USE test;
--disable_warnings
DROP TABLE IF EXISTS t1;
DROP VIEW IF EXISTS v1;
DROP VIEW IF EXISTS v2;
--enable_warnings
---error 1146
+--error ER_NO_SUCH_TABLE
CREATE VIEW test.v2 AS SELECT * FROM test.t1;
---error 1146
+--error ER_NO_SUCH_TABLE
CREATE VIEW v2 AS Select * from test.v1;
DROP VIEW IF EXISTS v2;
@@ -1075,8 +1086,8 @@ let $message= Testcase 3.3.1.25 ;
# Testcase 3.3.1.25: Ensure that a view cannot be based on one or more
# temporary tables.
###############################################################################
-# Note(ML): A temporary table hides permanent tables which have the same name.
-# So do not forget to drop the temporary table.
+# Note(mleich): A temporary table hides permanent tables which have the same
+# name. So do not forget to drop the temporary table.
--disable_warnings
DROP TABLE IF EXISTS t1_temp;
DROP TABLE IF EXISTS t2_temp;
@@ -1086,13 +1097,13 @@ 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);
---error 1352
+--error ER_VIEW_SELECT_TMPTABLE
Create view v1 as select * from 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);
---error 1352
+--error ER_VIEW_SELECT_TMPTABLE
Create or replace view v1
as select t1_temp.f59,t2_temp.f59 from t1_temp,t2_temp ;
DROP temporary table t1_temp;
@@ -1110,34 +1121,34 @@ INSERT INTO t1 VALUES('A');
INSERT INTO t2 VALUES('t2');
INSERT INTO t2 VALUES('B');
# simple SELECT
---error 1352
+--error ER_VIEW_SELECT_TMPTABLE
CREATE OR REPLACE VIEW v1 AS SELECT f2 FROM t2;
# JOIN - temporary table first
---error 1352
+--error ER_VIEW_SELECT_TMPTABLE
CREATE OR REPLACE VIEW v1 AS SELECT * FROM t2, t1;
---error 1352
+--error ER_VIEW_SELECT_TMPTABLE
CREATE OR REPLACE VIEW v1 AS SELECT f2, f1 FROM t2, t1;
# JOIN - temporary table last
---error 1352
+--error ER_VIEW_SELECT_TMPTABLE
CREATE OR REPLACE VIEW v1 AS SELECT * FROM t1, t2;
---error 1352
+--error ER_VIEW_SELECT_TMPTABLE
CREATE OR REPLACE VIEW v1 AS SELECT f1, f2 FROM t1, t2;
# UNION - temporary table first
---error 1352
+--error ER_VIEW_SELECT_TMPTABLE
CREATE OR REPLACE VIEW v1 AS SELECT * FROM t2 UNION SELECT * FROM t1;
---error 1352
+--error ER_VIEW_SELECT_TMPTABLE
CREATE OR REPLACE VIEW v1 AS SELECT f2 FROM t2 UNION SELECT f1 FROM t1;
# UNION - temporary table last
---error 1352
+--error ER_VIEW_SELECT_TMPTABLE
CREATE OR REPLACE VIEW v1 AS SELECT * FROM t1 UNION SELECT * FROM t2;
---error 1352
+--error ER_VIEW_SELECT_TMPTABLE
CREATE OR REPLACE VIEW v1 AS SELECT f1 FROM t1 UNION SELECT f2 FROM t2;
# SUBQUERY - temporary table first
---error 1352
+--error ER_VIEW_SELECT_TMPTABLE
CREATE OR REPLACE VIEW v1 AS SELECT 1 FROM t2
WHERE f2 = ( SELECT f1 FROM t1 );
# SUBQUERY - temporary table last
---error 1352
+--error ER_VIEW_SELECT_TMPTABLE
CREATE OR REPLACE VIEW v1 AS SELECT 1 FROM t1
WHERE f1 = ( SELECT f2 FROM t2 );
DROP TABLE t1;
@@ -1153,11 +1164,12 @@ let $message= Testcase 3.3.1.26 ;
--disable_warnings
DROP VIEW IF EXISTS v1;
--enable_warnings
-Create view test.v1 AS Select * from test.tb2 limit 2 ;
+Create view test.v1 AS Select * from test.tb2;
if ($have_bug_11589)
{
--disable_ps_protocol
}
+--sorted_result
Select * from test.v1;
--enable_ps_protocol
Drop view test.v1 ;
@@ -1173,9 +1185,9 @@ let $message= Testcase 3.3.1.27 ;
DROP VIEW IF EXISTS test.v1;
Drop VIEW IF EXISTS test.v1_1 ;
--enable_warnings
-Create view test.v1 AS Select * from test.tb2 limit 2 ;
+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 limit 20 ;
+Select * from test.v1_1 order by F59 limit 2;
Drop view test.v1 ;
Drop view test.v1_1 ;
@@ -1193,12 +1205,15 @@ 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 ;
-if ($have_bug_11589)
+if ($have_bug_32285)
{
--disable_ps_protocol
}
-Select * from v1 ;
+--vertical_results
+Select * from v1 order by f59,f60,f61,f62,f63,f64,f65;
+--horizontal_results
--enable_ps_protocol
+--sorted_result
Select * from test2.v2 ;
Drop view if exists test2.v1 ;
Drop view if exists test2.v2 ;
@@ -1223,7 +1238,8 @@ Create view test2.v2 AS Select F59 from test.v1 ;
Drop view if exists test.v1 ;
Drop view if exists test2.v2 ;
-# Note(ML): Testcase 3.3.1.30 (identical requirements like 3.3.1.26) omitted
+# Note(mleich): Testcase 3.3.1.30 (identical requirements like 3.3.1.26)
+# --> omitted
let $message= Testcase 3.3.1.31 ;
--source include/show_msg80.inc
@@ -1241,6 +1257,7 @@ 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 ;
+--sorted_result
Select * from test.v1;
Drop view test.v1 ;
@@ -1265,6 +1282,7 @@ 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;
+--sorted_result
Select * from test2.v1;
Use test;
@@ -1287,7 +1305,7 @@ 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 limit 0,10;
+SELECT * FROM test.v1 order by f59,f60 limit 0,10;
Drop view if exists test.v1_firstview ;
Drop view if exists test.v1_secondview ;
Drop view if exists test.v1 ;
@@ -1314,7 +1332,7 @@ 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 limit 0,10;
+SELECT * FROM v1 order by f59,f60 limit 0,10;
Drop view v1 ;
Drop view test.v1_firstview ;
Drop view test.v1_secondview ;
@@ -1339,7 +1357,7 @@ 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 limit 0,10;
+SELECT * FROM test.v1 order by f59,f60 limit 0,10;
Drop view test.v1 ;
Drop view test.v1_firstview;
@@ -1360,7 +1378,7 @@ 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 limit 0,10;
+SELECT * FROM v1 order by f59,f60 limit 0,10;
Drop database test2 ;
@@ -1372,10 +1390,6 @@ let $message= Testcase 3.3.1.37 ;
# tables and/or views, some of which reside in the same
# database and some of which reside in one other database.
###############################################################################
-# (Bug Associated)
-# FIXME: ??? Bug number
-# FIXME: reimplement this test
-
use test;
--disable_warnings
Drop table if exists t1;
@@ -1385,7 +1399,7 @@ Drop view if exists test.v1_1 ;
Drop view if exists test.v1_main ;
--enable_warnings
Create view test.v1 as Select f59, f60 FROM test.tb2;
-Select * from test.v1 limit 0,10;
+Select * from test.v1 order by f59,f60 limit 0,10;
Create table t1(f59 int, f60 int);
Insert into t1 values (90,507) ;
@@ -1396,7 +1410,7 @@ Select * from v1_1 ;
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 limit 0,10;
+Select * from v1_main order by f59 limit 0,10;
Drop table t1;
Drop view test.v1 ;
@@ -1407,8 +1421,8 @@ Drop view test.v1_main ;
let $message= Testcase 3.3.1.31 - 3.3.1.37 New Implementation ;
--source include/show_msg80.inc
###############################################################################
-# ML: The testcases 3.3.1.31 - 3.3.1.37 should be tested more systematic.
-# Ensure that a view can be based on a join of multiple
+# mleich: The testcases 3.3.1.31 - 3.3.1.37 should be tested more systematic.
+# Ensure that a view can be based on a join of multiple
# Testcase 3.3.1.31: tables within the same database
# Testcase 3.3.1.32: tables from another database.
# Testcase 3.3.1.33: views within the same database
@@ -1504,8 +1518,8 @@ Drop view if exists test.v1_main;
Drop view if exists test1.v1_1 ;
Drop database if exists test3 ;
--enable_warnings
-Create view test.v1 as Select f59, f60 FROM test.tb2 limit 20 ;
-Select * from test.v1 ;
+Create view test.v1 as Select f59, f60 FROM test.tb2;
+Select * from test.v1 order by f59,f60 limit 20;
Create table test1.t1 (f59 int,f60 int) ;
Insert into test1.t1 values (199,507) ;
@@ -1522,7 +1536,7 @@ Create view test3.v1_2 as Select f59,f60 from test3.t1 ;
Select * from test3.v1_2 ;
use test ;
-# ML: FIXME The SELECT should deliver at least one row.
+# mleich: FIXME The SELECT should deliver at least one row.
Create view v1_main
as SELECT test.tb2.f59 as f1, test1.v1_1.f59 as f2,
test3.v1_2.f59 as f3
@@ -1546,11 +1560,11 @@ let $message= Testcase 3.3.1.39 ;
--disable_warnings
Drop view if exists test.v1 ;
--enable_warnings
---error 1349
+--error ER_VIEW_SELECT_DERIVED
CREATE VIEW test.v1
AS Select f59 from (Select * FROM tb2 limit 20) tx ;
---error 1146
-SELECT * FROM test.v1 ;
+--error ER_NO_SUCH_TABLE
+SELECT * FROM test.v1 order by f59 ;
--disable_warnings
Drop view if exists test.v1 ;
--enable_warnings
@@ -1568,10 +1582,10 @@ Drop view if exists test.v1 ;
--enable_warnings
Set @var1 = 'ABC' ;
Set @var2 = 'XYZ' ;
---error 1351
+--error ER_VIEW_SELECT_VARIABLE
CREATE VIEW test.v1 AS SELECT @var1, @var2 ;
# System variables (name starts with '@@') are also not allowed
---error 1351
+--error ER_VIEW_SELECT_VARIABLE
CREATE VIEW test.v1 AS SELECT @@global.sort_buffer_size;
--disable_warnings
Drop view if exists test.v1 ;
@@ -1583,7 +1597,7 @@ let $message= Testcase 3.3.1.41 ;
###############################################################################
# Testcase 3.3.1.41: Ensure that a view definition within a stored procedure
# definition cannot include references to any of the stored
-# procedure’s parameters.
+# procedures parameters.
###############################################################################
--disable_warnings
Drop view if exists test.v1 ;
@@ -1616,11 +1630,11 @@ let $message= Testcase 3.3.1.42 ;
--disable_warnings
Drop VIEW if exists test.v1 ;
--enable_warnings
---error 1064
+--error ER_PARSE_ERROR
CREATE TEMPORARY VIEW test.v1 AS
SELECT * FROM test.tb2 limit 2 ;
#(02)
---error 1064
+--error ER_PARSE_ERROR
CREATE OR REPLACE TEMPORARY VIEW test.v1 AS
SELECT * FROM test.tb2 limit 2 ;
@@ -1646,20 +1660,24 @@ CREATE VIEW test.v1 AS SELECT f59,f60 FROM test.tb2;
INSERT INTO test.v1 values(122,432);
-if ($have_bug_11589)
+if ($have_bug_32285)
{
--disable_ps_protocol
}
+--vertical_results
SELECT * FROM test.tb2 where f59 = 122 and f60 = 432 limit 0,20;
+--horizontal_results
--enable_ps_protocol
UPDATE test.v1 SET f59 = 3000 WHERE test.v1.f59 = 122 ;
-if ($have_bug_11589)
+if ($have_bug_32285)
{
--disable_ps_protocol
}
+--vertical_results
SELECT * FROM test.tb2 where f59 = 3000 limit 0,20;
+--horizontal_results
--enable_ps_protocol
DELETE FROM test.v1
@@ -1677,12 +1695,12 @@ let $message= Testcase 3.3.1.44 ;
# with an appropriate error message and do not affect the
# data in the underlying tables(s).
###############################################################################
-# ML: Maybe we need some more tests here.
+# mleich: Maybe we need some more tests here.
--disable_warnings
Drop view if exists test.v1 ;
--enable_warnings
-# Note(ML): The modification will fail, because the VIEW contains 'limit'
+# Note(mleich): The modification will fail, because the VIEW contains 'limit'
CREATE VIEW test.v1 AS SELECT f59,f60 FROM test.tb2 limit 100;
--error ER_NON_INSERTABLE_TABLE
@@ -1709,24 +1727,28 @@ CREATE VIEW test.v1 AS SELECT * FROM test.tb2 where f59 = 04;
--enable_info
UPDATE test.v1 SET f59 = 30 where F59 = 04 ;
--disable_info
-SELECT * FROM test.v1 where f59 = 30 ;
-if ($have_bug_11589)
+SELECT * FROM test.v1 where f59 = 30 order by f59;
+if ($have_bug_32285)
{
--disable_ps_protocol
}
+--vertical_results
SELECT * FROM test.tb2 where f59 = 30 ;
+--horizontal_results
--enable_ps_protocol
--enable_info
UPDATE tb2 SET f59 = 100 where f59 = 30 ;
--disable_info
-if ($have_bug_11589)
+if ($have_bug_32285)
{
--disable_ps_protocol
}
+--vertical_results
SELECT * FROM tb2 where f59 = 100 ;
+--horizontal_results
--enable_ps_protocol
-SELECT * FROM test.v1 ;
+SELECT * FROM test.v1 order by f59 ;
drop view if exists test.v1 ;
@@ -1772,7 +1794,8 @@ SELECT * FROM v1 ORDER BY f1;
--enable_info
# 1. The record to be inserted will be within the scope of the view.
# But there is already a record with the PRIMARY KEY f1 = 2 .
---error ER_DUP_ENTRY_WITH_KEY_NAME
+# OBN change for 5.1.21 --error ER_DUP_ENTRY_WITH_KEY_NAME
+--error ER_DUP_ENTRY
INSERT INTO v1 VALUES(2,'two');
# 2. The record to be inserted will be within the scope of the view.
# There is no already existing record with the PRIMARY KEY f1 = 3 .
@@ -1789,7 +1812,8 @@ SELECT * FROM v1 ORDER BY f1;
# 1. The record to be updated is within the scope of the view
# and will stay inside the scope.
# But there is already a record with the PRIMARY KEY f1 = 2 .
---error ER_DUP_ENTRY_WITH_KEY_NAME
+# OBN change for 5.1.21 --error ER_DUP_ENTRY_WITH_KEY_NAME
+--error ER_DUP_ENTRY
UPDATE v1 SET f1 = 2 WHERE f1 = 3;
# 2. The record to be updated is within the scope of the view
# and will stay inside the scope.
@@ -1817,9 +1841,9 @@ Drop view if exists test.v1 ;
CREATE VIEW test.v1 AS SELECT f59,f60
FROM test.tb2 where f59 = 195 WITH CHECK OPTION ;
---error 1369
+--error ER_VIEW_CHECK_FAILED
UPDATE test.v1 SET f59 = 198 where f59=195 ;
-SELECT * FROM test.v1 ;
+SELECT * FROM test.v1 order by f59 ;
drop view if exists test.v1 ;
@@ -1842,14 +1866,14 @@ FROM test.tb2 where F59 = 0987 WITH LOCAL CHECK OPTION ;
CREATE VIEW test.v2 as SELECT * FROM test.v1 ;
# This UPDATE violates the definition of VIEW test.v1.
---error 1369
+--error ER_VIEW_CHECK_FAILED
UPDATE test.v1 SET F59 = 919 where f59 = 0987 ;
-SELECT * FROM test.v1 ;
+SELECT * FROM test.v1 order by f59 ;
-# ML: This UPDATE violates the definition of VIEW test.v1, but this
-# does not count, because the UPDATE runs on test.v2, which
-# is defined without any CHECK OPTION.
-# FIXME Does this testcase fit to 3.3.1.47 ?
+# mleich: This UPDATE violates the definition of VIEW test.v1, but this
+# does not count, because the UPDATE runs on test.v2, which
+# is defined without any CHECK OPTION.
+# FIXME Does this testcase fit to 3.3.1.47 ?
UPDATE test.v2 SET F59 = 9879 where f59 = 919 ;
SELECT * FROM tb2 where f59 = 9879 ;
@@ -1888,9 +1912,9 @@ INSERT INTO v1 VALUES('B',2);
SELECT * FROM v1 order by f1, f2;
# negative cases
--enable_info
---error 1369
+--error ER_VIEW_CHECK_FAILED
UPDATE v1 SET f2 = 4;
---error 1369
+--error ER_VIEW_CHECK_FAILED
INSERT INTO v1 VALUES('B',3);
--disable_info
# Bug#11771: View over InnoDB table, wrong result SELECT on VIEW,
@@ -1980,10 +2004,10 @@ let $message= Testcase 3.3.1.49A ;
# The annoying redundant
# eval INSERT INTO t1_results VALUES (@v3_to_v1_options,@statement,
# @v3_to_v1_violation,$mysql_errno);
-# could not be put into a file to be sourced because of
+# could not be put into a file to be sourced because of the closed
# Bug#10267 mysqltest, wrong number of loops when a script is sourced
# within a loop
-#
+# To be implemented later.
USE test;
--disable_warnings
@@ -2064,7 +2088,7 @@ while ($num1)
SELECT * FROM v3;
SELECT * FROM t1;
DELETE FROM t1;
- # 2. DELETEs within v3
+ # 2. DELETEs within v3
# Outside v1 (0 to 10)
INSERT INTO t1 VALUES(16, 'sixteen');
# Inside v1 (0 to 10), Outside v2 ((0 to 10) AND (6 to 16) -> (6 to 10))
@@ -2240,7 +2264,7 @@ while ($num1)
SELECT * FROM t1_results ORDER BY v3_to_v1_options;
-let $message=
+let $message=
Plausibility checks for INSERTs and UPDATEs ( 4. and 5. above).
All following SELECTs must give ROW NOT FOUND ;
--source include/show_msg80.inc
@@ -2257,10 +2281,10 @@ SELECT * FROM t1_results
WHERE v3_to_v1_options LIKE ' %' AND errno <> 0
ORDER BY v3_to_v1_options;
# 3. There must be NO successful INSERT/UPDATE, when the toplevel VIEW v3 is
-# defined with any CHECK OPTION and the WHERE qualification of this VIEW is
+# defined with any CHECK OPTION and the WHERE qualification of this VIEW is
# violated. Expect ROW NOT FUND
SELECT * FROM t1_results
-WHERE v3_to_v1_options LIKE 'WITH %'
+WHERE v3_to_v1_options LIKE 'WITH %'
AND v3_to_v1_violation LIKE 'v3_%' AND errno = 0
ORDER BY v3_to_v1_options;
# 4. There must be NO successful INSERT/UPDATE, when the toplevel VIEW v3 is
@@ -2270,7 +2294,8 @@ 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;
-# 5. There must be NO failing INSERT/UPDATE getting a sql_errno <> 1369.
+# 5. There must be NO failing INSERT/UPDATE getting a
+# sql_errno <> 1369 (ER_VIEW_CHECK_FAILED).
SELECT * FROM t1_results
WHERE errno <> 0 AND errno <> 1369
ORDER BY v3_to_v1_options;
@@ -2292,12 +2317,14 @@ DROP VIEW IF EXISTS test.v1;
# that is semantically equivalent to CREATE VIEW <view name>
# AS SELECT * FROM <table name>.
###############################################################################
-CREATE VIEW test.v1 AS SELECT * FROM test.tb2 limit 5 ;
-if ($have_bug_11589)
+CREATE VIEW test.v1 AS SELECT * FROM test.tb2;
+if ($have_bug_32285)
{
--disable_ps_protocol
}
-SELECT * FROM test.v1 ;
+--vertical_results
+SELECT * FROM test.v1 order by f59,f60,f61 ;
+--horizontal_results
--enable_ps_protocol
drop view test.v1 ;
###############################################################################
@@ -2307,8 +2334,8 @@ drop view test.v1 ;
# that is semantically equivalent to CREATE VIEW <view name>
# AS SELECT col1, col3 FROM <table name>.
###############################################################################
-CREATE VIEW test.v1 AS SELECT F59,F61 FROM test.tb2 limit 50 ;
-SELECT * FROM test.v1 ;
+CREATE VIEW test.v1 AS SELECT F59,F61 FROM test.tb2;
+SELECT * FROM test.v1 order by F59, F61 limit 50;
drop view test.v1 ;
###############################################################################
# Testcase 3.3.1.52: Ensure that a view that is a subset of every column and
@@ -2317,12 +2344,14 @@ drop view test.v1 ;
# that is semantically equivalent to CREATE VIEW <view name>
# AS SELECT * FROM <table name> WHERE ....
###############################################################################
-CREATE VIEW test.v1 AS SELECT * FROM test.tb2 limit 20 ;
+CREATE VIEW test.v1 AS SELECT * FROM test.tb2 order by f59, f60, f61;
if ($have_bug_11589)
{
--disable_ps_protocol
}
-SELECT * FROM test.v1;
+--vertical_results
+SELECT * FROM test.v1 order by f59,f60,f61 ;
+--horizontal_results
--enable_ps_protocol
drop view test.v1 ;
###############################################################################
@@ -2332,8 +2361,8 @@ drop view test.v1 ;
# definition that is semantically equivalent to CREATE VIEW
# <view name> AS SELECT col1, col3 FROM <table name> WHERE ..
###############################################################################
-CREATE VIEW test.v1 AS SELECT F59,f61 FROM test.tb2 limit 20 ;
-SELECT * FROM test.v1 limit 50;
+CREATE VIEW test.v1 AS SELECT F59,f61 FROM test.tb2;
+SELECT * FROM test.v1 order by f59,f61 desc limit 20;
drop view test.v1 ;
@@ -2361,17 +2390,17 @@ 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 limit 50 ;
+Select * from test.v1 order by f59 limit 50 ;
drop table test.t1 ;
drop table test.t2 ;
drop view test.v1 ;
-# FIXME(ML): Implement an automatic check for 3.3.1.50 - 3.3.1.54
-# CREATE VIEW ... AS <SELECT ... FROM tb2 ...>
-# CREATE TEMPORARY TABLE ... AS <SELECT ... FROM tb2 ...>
-# Comparison of the VIEW with the temporary table
+# FIXME(mleich): Implement an automatic check for 3.3.1.50 - 3.3.1.54
+# CREATE VIEW ... AS <SELECT ... FROM tb2 ...>
+# CREATE TEMPORARY TABLE ... AS <SELECT ... FROM tb2 ...>
+# Comparison of the VIEW with the temporary table
let $message= Testcase 3.3.1.50 - 3.3.1.54 additional implementation;
--source include/show_msg80.inc
@@ -2410,6 +2439,15 @@ SELECT * FROM v1;
# 3.3.1.54
--vertical_results
SET sql_mode = 'traditional,ansi';
+# due to bug#32496 "no trailing blanks in identifier".
+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;
+# This error is not conformant with ansi (see bug#32496). hhunger
+--error ER_WRONG_COLUMN_NAME
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): ",
@@ -2455,7 +2493,7 @@ 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;
+select * from test.v1 order by t1_f59 ;
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;
@@ -2464,7 +2502,7 @@ from t1 inner join t2 where t1.f59 = t2.f59;
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;
+Select * from v1 order by t1_f59,t2_f59;
Select t1.f59 AS t1_f59, t2.f59 AS t2_f59
FROM t2 cross join t1;
@@ -2472,7 +2510,7 @@ FROM t2 cross join t1;
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;
+Select * from v1 order by t1_f59,t2_f59;
Select straight_join t1.f59 AS t1_f59, t2.f59 AS t2_f59
FROM t2,t1;
@@ -2480,7 +2518,7 @@ FROM t2,t1;
Create or replace view test.v1 as
Select f59, f60, f61, a, b
FROM t2 natural join t1;
-Select * from v1;
+Select * from v1 order by f59;
Select f59, f60, f61, a, b
FROM t2 natural join t1;
@@ -2489,7 +2527,7 @@ 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;
+Select * from v1 order by t1_f59;
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;
@@ -2498,7 +2536,7 @@ FROM t2 left outer join t1 on t2.f59=t1.f59;
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;
+Select * from v1 order by f59;
Select f59, f60, f61, t1.a, t2.b
FROM t2 natural left outer join t1;
@@ -2507,7 +2545,7 @@ 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;
+Select * from v1 order by t1_f59;
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;
@@ -2516,7 +2554,7 @@ FROM t2 right outer join t1 on t2.f59=t1.f59;
Create or replace view test.v1 as
Select f59, f60, a, b
FROM t2 natural right outer join t1;
-Select * from v1;
+Select * from v1 order by f59 desc;
Select f59, f60, a, b
FROM t2 natural right outer join t1;
@@ -2549,7 +2587,7 @@ 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 limit 0,10;
+Select * from test.v1 order by f59 limit 0,10;
Drop view if exists test.v1 ;
# Testcase 3.3.1.A2 ;
@@ -2564,7 +2602,7 @@ 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 limit 0,10;
+Select * from test.v1 order by f59 limit 0,10;
Drop view if exists test.v1 ;
# Testcase 3.3.1.A3 ;
@@ -2579,7 +2617,7 @@ 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 limit 0,10;
+Select * from test.v1 order by f59 limit 0,10;
Drop view test.v1 ;
@@ -2605,15 +2643,15 @@ 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 limit 0,10;
+Select * from test.v1 order by f59 limit 0,10;
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 limit 0,10;
+Select * from test.v1 order by f59 limit 0,10;
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 limit 0,10;
+Select * from test.v1 order by f59 limit 0,10;
Drop view test.v1 ;
@@ -2629,25 +2667,25 @@ 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 limit 0,10;
+select * from test.v1 order by f59 limit 0,10;
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 limit 0,10;
+select * from test.v1 order by f59 limit 0,10;
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 limit 0,10;
+select * from test.v1 order by f59 limit 0,10;
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 limit 0,10;
+select * from test.v1 order by f59 limit 0,10;
drop view if exists test.v1 ;
drop table t1;
@@ -2666,15 +2704,17 @@ 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 limit 0,10;
+SELECT * FROM test.v1 order by f59 limit 0,10;
ALTER VIEW test.v1 AS SELECT *
FROM test.tb2 WHERE test.tb2.f59 = 242 ;
-if ($have_bug_11589)
+if ($have_bug_32285)
{
--disable_ps_protocol
}
-SELECT * FROM test.v1 limit 0,10;
+--vertical_results
+SELECT * FROM test.v1 order by f59 limit 0,10;
+--horizontal_results
--enable_ps_protocol
Drop view test.v1 ;
@@ -2702,7 +2742,7 @@ CREATE VIEW v1 AS SELECT f1 FROM t1;
# DROP VIEW
DROP VIEW v1;
---error 1051
+--error ER_BAD_TABLE_ERROR
DROP VIEW v1;
CREATE VIEW v1 AS SELECT f1 FROM t1;
@@ -2749,7 +2789,7 @@ while ($num1)
# DROP VIEW v1_top < |RESTRICD|CASCADE> must be successful.
eval $aux1 ;
# Check, that v1_top really no more exists + cleanup for the second sub test
- --error 1051
+ --error ER_BAD_TABLE_ERROR
DROP VIEW v1_top;
CREATE VIEW v1_top AS SELECT * FROM v1_base;
@@ -2779,8 +2819,8 @@ let $message= Testcase 3.3.1.69, 3.3.1.70, 3.3.1.A5 ;
# 3.3.1.A5 SHOW COLUMNS, SHOW FIELDS, DESCRIBE, EXPLAIN
# statement is executed
###############################################################################
-# Note(ML): There will be no non failing sub testcases with SHOW here.
-# They will be done in 3.3.11 ff.
+# Note(mleich): There will be no non failing sub testcases with SHOW here.
+# They will be done in 3.3.11 ff.
--disable_warnings
DROP TABLE IF EXISTS t1 ;
DROP VIEW IF EXISTS v1 ;
@@ -2791,24 +2831,24 @@ DROP VIEW v1 ;
# The negative tests:
# SELECT
---error 1146
+--error ER_NO_SUCH_TABLE
SELECT * FROM v1 ;
#
---error 1146
+--error ER_NO_SUCH_TABLE
SHOW CREATE VIEW v1 ;
---error 1146
+--error ER_NO_SUCH_TABLE
SHOW CREATE TABLE v1 ;
# Attention: Like is a filter. So we will get an empty result set here.
SHOW TABLE STATUS like 'v1' ;
SHOW TABLES LIKE 'v1';
---error 1146
+--error ER_NO_SUCH_TABLE
SHOW COLUMNS FROM v1;
---error 1146
+--error ER_NO_SUCH_TABLE
SHOW FIELDS FROM v1;
CHECK TABLE v1;
---error 1146
+--error ER_NO_SUCH_TABLE
DESCRIBE v1;
---error 1146
+--error ER_NO_SUCH_TABLE
EXPLAIN SELECT * FROM v1;
Use test;
@@ -2877,30 +2917,34 @@ eval EXPLAIN SELECT * FROM test3.v$toplevel;
# 1.2 Check the top level view when a base VIEW is dropped
DROP VIEW test3.v0;
eval SHOW CREATE VIEW test3.v$toplevel;
---error 1356
+--error ER_VIEW_INVALID
eval SELECT * FROM test3.v$toplevel;
---error 1356
+--error ER_VIEW_INVALID
eval EXPLAIN SELECT * FROM test3.v$toplevel;
# 2. Complicated nested VIEWs
# parameter @max_level = nesting level
# There is a limit(@join_limit = 61) for the number of tables which
-# could be joined. This limit will be reached, when we set
+# could be joined. This limit will be reached, when we set
# @max_level = @join_limit - 1 .
--disable_query_log
#++++++++++++++++++++++++++++++++++++++++++++++
# OBN - Reduced the value of join limit to 30
# Above seems to hang - FIXME
-# ML - Reason unclear why it hangs for OBN on innodb and memory.
-# Hypothesis: Maybe the consumption of virtual memory is high
-# and OBN's box performs excessive paging.
-# (RAM: OBN ~384MB RAM, ML 1 GB)
+# mleich - Reason unclear why it hangs for OBN on innodb and memory.
+# Hypothesis: Maybe the consumption of virtual memory is high
+# and OBN's box performs excessive paging.
+# (RAM: OBN ~384MB RAM, mleich 1 GB)
#++++++++++++++++++++++++++++++++++++++++++++++
-let $message= FIXME - Setting join_limit to 30 - hangs for higher values;
+let $message= FIXME - Setting join_limit to 28 - hangs for higher values;
--source include/show_msg.inc
+# OBN - Reduced from 30 in 5.1.21 to avoid hitting the ndbcluster limit
+# of "ERROR HY000: Got temporary error 4006 'Connect failure
+# - out of connection objects (increase MaxNoOfConcurrentTransactions)'
+# from NDBCLUSTER " to early;
#SET @join_limit = 61;
-SET @join_limit = 30;
+SET @join_limit = 28; # OBN - see above
SET @max_level = @join_limit - 1;
--enable_query_log
@@ -3036,9 +3080,9 @@ let $sublevel= `SELECT @max_level`;
eval CREATE VIEW test1.v$level AS SELECT f1, f2
FROM test3.t1 tab1 NATURAL JOIN test1.v$sublevel tab2;
eval SHOW CREATE VIEW test1.v$level;
-# the following line as written as '--eror 1116' and the command
+# the following line as written as '--eror ER_TOO_MANY_TABLES' and the command
# is successful so assuming no expected error was intended
-# --error 1116
+# --error ER_TOO_MANY_TABLES
eval SELECT CAST(f1 AS SIGNED INTEGER) AS f1,
CAST(f2 AS CHAR) AS f2 FROM test1.v$level;
let $message= The output of following EXPLAIN is deactivated, because the result
@@ -3049,9 +3093,9 @@ if (1)
{
--disable_result_log
}
-# the following line as written as '--eror 1116' and the command
+# the following line as written as '--eror ER_TOO_MANY_TABLES' and the command
# is successful so assuming no expected error was intended
-# --error 1116
+# --error ER_TOO_MANY_TABLES
eval EXPLAIN SELECT CAST(f1 AS SIGNED INTEGER) AS f1,
CAST(f2 AS CHAR) AS f2 FROM test1.v$level;
if (1)
@@ -3064,10 +3108,10 @@ eval DROP VIEW IF EXISTS test1.v$level;
# and check the behaviour of the top level view.
# 2.3.1 Exchange numeric and string column
--disable_result_log
-CREATE OR REPLACE VIEW test1.v0 AS
+CREATE OR REPLACE VIEW test1.v0 AS
SELECT f1 as f2, f2 as f1 FROM test2.t1;
# 2.3.2 DATE instead of numeric
-CREATE OR REPLACE VIEW test2.v0 AS
+CREATE OR REPLACE VIEW test2.v0 AS
SELECT CAST('0001-01-01' AS DATE) as f1, f2 FROM test3.t1;
eval SHOW CREATE VIEW test1.v$toplevel;
eval SELECT CAST(f1 AS SIGNED INTEGER) AS f1,
@@ -3147,11 +3191,13 @@ Create view test.v1 AS SELECT f59,f60,f61 FROM tb2 ;
INSERT INTO test.v1 ( f59 , f60 ) values (2005,0101) ;
--disable_info
-if ($have_bug_11589)
+if ($have_bug_32285)
{
--disable_ps_protocol
}
+--vertical_results
SELECT * FROM tb2 where f59 = 2005 and f60 = 0101 ;
+--horizontal_results
--enable_ps_protocol
SELECT f59,f60 FROM test.v1 where f59 = 2005 and f60 = 0101 ;
DELETE FROM tb2 where f59 = 2005 and f60 = 0101 ;
@@ -3176,13 +3222,15 @@ CREATE VIEW test.v1 AS SELECT f59,f60,f61 FROM tb2 ;
UPDATE test.v1 SET f59 = 8 WHERE f59 = 780 and f60 = 105;
--disable_info
-if ($have_bug_11589)
+if ($have_bug_32285)
{
--disable_ps_protocol
}
+--vertical_results
SELECT * FROM tb2 where f59 = 8 and f60 = 105;
+--horizontal_results
--enable_ps_protocol
-SELECT f59,f60 FROM test.v1 where f59 = 8 and f60 = 105;
+SELECT f59,f60 FROM test.v1 where f59 = 8 and f60 = 105 ;
Drop view test.v1 ;
@@ -3204,13 +3252,15 @@ CREATE VIEW test.v1 AS SELECT f59,f60,f61 FROM tb2 ;
UPDATE test.v1 SET f59 = 891 WHERE f60 = 105 ;
--disable_info
-if ($have_bug_11589)
+if ($have_bug_32285)
{
--disable_ps_protocol
}
+--vertical_results
SELECT * FROM tb2 where f59 = 891 and f60 = 105;
+--horizontal_results
--enable_ps_protocol
-SELECT f59,f60 FROM test.v1 where f59 = 891 and f60 = 105;
+SELECT f59,f60 FROM test.v1 where f59 = 891 and f60 = 105 ;
Drop view test.v1 ;
@@ -3231,7 +3281,7 @@ CREATE VIEW test.v1 AS SELECT f59,f60,f61 FROM tb2 where f59 = 789 ;
DELETE FROM test.v1 where f59 = 789 ;
--disable_info
SELECT * FROM tb2 where f59 = 789 ;
-SELECT f59,f60 FROM test.v1 where f59 = 789;
+SELECT f59,f60 FROM test.v1 where f59 = 789 order by f60 ;
Drop view test.v1 ;
@@ -3254,7 +3304,7 @@ DELETE FROM test.v1 where f59 = 711 ;
--disable_info
SELECT * FROM tb2 where f59 = 711 ;
-SELECT f59,f60 FROM test.v1 where f59 = 711;
+SELECT f59,f60 FROM test.v1 where f59 = 711 order by f60 ;
Drop view test.v1 ;
@@ -3287,7 +3337,8 @@ DELETE FROM t1;
# f1 gets the default 0, because we are in the native sql_mode
INSERT INTO v1 SET f2 = 'ABC';
# f1 gets the default 0, but this value is already exists
---error ER_DUP_ENTRY_WITH_KEY_NAME
+# OBN change for 5.1.21 --error ER_DUP_ENTRY_WITH_KEY_NAME
+--error ER_DUP_ENTRY
INSERT INTO v1 SET f2 = 'ABC';
SELECT * from t1;
DELETE FROM t1;
@@ -3375,7 +3426,8 @@ CREATE VIEW v1 AS SELECT f2, f3 FROM t1;
# f1 gets the default 0, because we are in the native sql_mode
INSERT INTO v1 SET f2 = 'ABC';
# f1 gets the default 0 and this value is already exists
---error ER_DUP_ENTRY_WITH_KEY_NAME
+# OBN change for 5.1.21 --error ER_DUP_ENTRY_WITH_KEY_NAME
+--error ER_DUP_ENTRY
INSERT INTO v1 SET f2 = 'ABC';
SELECT * from t1;
DELETE FROM t1;
@@ -3528,25 +3580,25 @@ DELETE FROM t1;
#------------------------------------------------
INSERT INTO t1 VALUES(1, 'ABC', -1.2E-3, 'X');
# UPDATE my_greeting - f1
---error 1348
+--error ER_NONUPDATEABLE_COLUMN
UPDATE v1 SET my_greeting = 'Hej' WHERE f1 = 1;
SELECT * from t1;
DELETE FROM t1;
INSERT INTO t1 VALUES(1, 'ABC', -1.2E-3, 'X');
# UPDATE my_greeting - f2
---error 1348
+--error ER_NONUPDATEABLE_COLUMN
UPDATE v1 SET my_greeting = 'Hej' WHERE f2 = 'ABC';
SELECT * from t1;
DELETE FROM t1;
INSERT INTO t1 VALUES(1, 'ABC', -1.2E-3, 'X');
# UPDATE my_greeting - my_greeting
---error 1348
+--error ER_NONUPDATEABLE_COLUMN
UPDATE v1 SET my_greeting = 'Hej' WHERE my_greeting = 'HELLO';
SELECT * from t1;
DELETE FROM t1;
INSERT INTO t1 VALUES(1, 'ABC', -1.2E-3, 'X');
# UPDATE my_greeting - none
---error 1348
+--error ER_NONUPDATEABLE_COLUMN
UPDATE v1 SET my_greeting = 'Hej';
SELECT * from t1;
DELETE FROM t1;
@@ -3569,7 +3621,7 @@ DROP VIEW v1;
CREATE VIEW v1 AS SELECT f1, f2, f4 FROM t1;
# This INSERT must fail
---error 1423
+--error ER_NO_DEFAULT_FOR_VIEW_FIELD
INSERT INTO v1 SET f1 = 1;
SELECT * from t1;
DELETE FROM t1;
@@ -3622,10 +3674,10 @@ let $message= Testcases 3.3.2.7 - 3.3.2.9,
# Summary of 3.3.2.7 - 3.3.2.11
# Ensure that a view with a definition that includes
# UNION or UNION DISTINCT or UNION ALL or EXCEPT or INTERSECT
-# rejects any INSERT or UPDATE or DELETE statement with an
+# rejects any INSERT or UPDATE or DELETE statement with an
# appropriate error message
#
-# ML: I assume the type of the storage engine does not play any role.
+# mleich: I assume the type of the storage engine does not play any role.
###############################################################################
INSERT INTO tb2 (f59,f60,f61) VALUES (77,185,126) ;
INSERT INTO tb2 (f59,f60,f61) VALUES (59,58,54) ;
@@ -3660,9 +3712,9 @@ while ($num)
eval $aux;
--error ER_NON_INSERTABLE_TABLE
INSERT INTO v1 VALUES (3000);
- --error 1288
+ --error ER_NON_UPDATABLE_TABLE
UPDATE v1 SET f61 = 100 WHERE f61 = 32;
- --error 1288
+ --error ER_NON_UPDATABLE_TABLE
DELETE FROM v1;
DROP VIEW v1 ;
@@ -3759,19 +3811,6 @@ SET @variant6= 'CREATE VIEW v1 AS SELECT (SELECT f60 FROM t2 WHERE f59=19) AS f6
# For a WHERE clause sub query that refers to a table also referenced in a
# FROM clause 3.3.2.18
SET @variant7= 'CREATE VIEW v1 AS SELECT f61 FROM v2';
-# Attention: The attempt to UPDATE the next VIEW fails like expected,
-# but the error message
-# ERROR 1093 (HY000) : You can't specify target table 'v1' for
-# update in FORM clause"
-# is wrong. The server must deliver ERROR 1288.
-# Bug#10773 Incorrect message is displayed while updating a view
-# ML FIXME (remove the comment above, replace --error 1288,1093 with
-# --error 1288 and update the file with expected results)
-# when Bug#10773 is solved
-# For a reference to a non-updateable view 3.3.2.19
-let $message= Some server responses suffer from
-Bug#10773 Incorrect message is displayed while updating a view;
---source include/show_msg80.inc
SET @variant8= 'CREATE VIEW v1 AS SELECT f59 AS f61 FROM t1 WHERE f60 IN (SELECT f59 FROM t1)';
# For ALGORITHM = TEMPTABLE 3.3.2.20
SET @variant9= 'CREATE ALGORITHM = TEMPTABLE VIEW v1 (f61) AS select f60 from t1';
@@ -3790,17 +3829,12 @@ while ($num)
--error ER_NON_INSERTABLE_TABLE
INSERT INTO v1 VALUES (1002);
- --error 1288, 1093
+ # --error ER_NON_UPDATABLE_TABLE, ER_UPDATE_TABLE_USED
+ --error ER_NON_UPDATABLE_TABLE
UPDATE v1 SET f61=1007;
- --error 1288
+ --error ER_NON_UPDATABLE_TABLE
DELETE FROM v1;
-
- # The following "--error 0" will be no more needed, when
- # Bug#12471: mysqltest, --error within loop affects wrong statement
- # is fixed.
- --error 0
DROP VIEW v1;
-
dec $num;
}
@@ -3819,7 +3853,7 @@ let $message= Testcases 3.3.A1;
#
# There is no specification of the intended behaviour within
# the MySQL manual. That means I assume the observed effects are
-# no bug as long we do not get a crash or obviously non
+# no bug as long we do not get a crash or obviously non
# reasonable results.
###############################################################################
--disable_warnings
@@ -3844,18 +3878,18 @@ SELECT * FROM v1 order by f1, report;
# 1. Name of one base table column is altered
ALTER TABLE t1 CHANGE COLUMN f4 f4x CHAR(5);
INSERT INTO t1 SET f1 = 0, f4x = 'ABC', report = 't1 1';
---error 1356
+--error ER_VIEW_INVALID
INSERT INTO v1 SET f1 = 0, f4 = 'ABC', report = 'v1 1';
---error 1054
+--error ER_BAD_FIELD_ERROR
INSERT INTO v1 SET f1 = 0, f4x = 'ABC', report = 'v1 1a';
---error 1356
+--error ER_VIEW_INVALID
INSERT INTO v1 SET f1 = 0, report = 'v1 1b';
DESCRIBE t1;
# Bug#12533 crash on DESCRIBE <view> after renaming base table column;
---error 1356
+--error ER_VIEW_INVALID
DESCRIBE v1;
SELECT * FROM t1 order by f1, report;
---error 1356
+--error ER_VIEW_INVALID
SELECT * FROM v1 order by f1, report;
ALTER TABLE t1 CHANGE COLUMN f4x f4 CHAR(5);
#
@@ -3886,11 +3920,11 @@ DESCRIBE v1;
SELECT * FROM t1 order by f1, report;
SELECT * FROM v1 order by f1, report;
#
-# 5. Type of one base table column altered numeric -> string
+# 5. Type of one base table column altered numeric -> string
ALTER TABLE t1 CHANGE COLUMN f1 f1 VARCHAR(30);
-INSERT INTO t1 SET f1 = '<------------- 30 ----------->',
+INSERT INTO t1 SET f1 = '<------------- 30 ----------->',
f4 = '<------ 20 -------->', report = 't1 5';
-INSERT INTO v1 SET f1 = '<------------- 30 ----------->',
+INSERT INTO v1 SET f1 = '<------------- 30 ----------->',
f4 = '<------ 20 -------->', report = 'v1 5';
DESCRIBE t1;
DESCRIBE v1;
@@ -3900,13 +3934,13 @@ SELECT * FROM v1 order by f1, report;
# 6. DROP of one base table column
ALTER TABLE t1 DROP COLUMN f2;
INSERT INTO t1 SET f1 = 'ABC', f4 = '<------ 20 -------->', report = 't1 6';
---error 1356
+--error ER_VIEW_INVALID
INSERT INTO v1 SET f1 = 'ABC', f4 = '<------ 20 -------->', report = 'v1 6';
DESCRIBE t1;
---error 1356
+--error ER_VIEW_INVALID
DESCRIBE v1;
SELECT * FROM t1 order by f1, report;
---error 1356
+--error ER_VIEW_INVALID
SELECT * FROM v1 order by f1, report;
#
# 7. Recreation of dropped base table column with the same data type like before
@@ -3937,7 +3971,7 @@ SELECT * FROM v1 order by f1, report;
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';
---error 1054
+--error ER_BAD_FIELD_ERROR
INSERT INTO v1 SET f1 = 'ABC', f2 = -3.3E-4,
f3 = -2.2, f4 = '<------ 20 -------->', report = 'v1 9';
INSERT INTO v1 SET f1 = 'ABC', f2 = -3.3E-4,
@@ -3976,27 +4010,33 @@ DESCRIBE v2;
SELECT * FROM v2 order by 2;
# - What will be the content of base table created with AS SELECT ?
CREATE TABLE t2 AS SELECT f1, SQRT(f2) my_sqrt FROM t1;
-if ($have_bug_11589)
+if ($have_bug_32285)
{
--disable_ps_protocol
}
+--vertical_results
SELECT * FROM t2 order by 2;
+--horizontal_results
--enable_ps_protocol
DROP TABLE t2;
CREATE TABLE t2 AS SELECT * FROM v1;
-if ($have_bug_11589)
+if ($have_bug_32285)
{
--disable_ps_protocol
}
+--vertical_results
SELECT * FROM t2 order by 2;
+--horizontal_results
--enable_ps_protocol
DROP TABLE t2;
CREATE TABLE t2 AS SELECT * FROM v2;
-if ($have_bug_11589)
+if ($have_bug_32285)
{
--disable_ps_protocol
}
+--vertical_results
SELECT * FROM t2 order by 2;
+--horizontal_results
--enable_ps_protocol
#
DROP TABLE t1;
diff --git a/mysql-test/suite/funcs_2/r/innodb_charset.result b/mysql-test/suite/funcs_2/r/innodb_charset.result
index 25b720af1da..09076145c44 100644
--- a/mysql-test/suite/funcs_2/r/innodb_charset.result
+++ b/mysql-test/suite/funcs_2/r/innodb_charset.result
@@ -737,7 +737,6 @@ a_ascii a_len
44 1
64 1
45 1
-60 1
65 1
46 1
66 1
@@ -779,17 +778,18 @@ a_ascii a_len
78 1
59 1
79 1
-7E 1
5A 1
7A 1
-5D 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
diff --git a/mysql-test/suite/funcs_2/r/memory_charset.result b/mysql-test/suite/funcs_2/r/memory_charset.result
index 073b057d733..8536ac4a9b2 100644
--- a/mysql-test/suite/funcs_2/r/memory_charset.result
+++ b/mysql-test/suite/funcs_2/r/memory_charset.result
@@ -737,7 +737,6 @@ a_ascii a_len
44 1
64 1
45 1
-60 1
65 1
46 1
66 1
@@ -779,17 +778,18 @@ a_ascii a_len
78 1
59 1
79 1
-7E 1
5A 1
7A 1
-5D 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
diff --git a/mysql-test/suite/funcs_2/r/myisam_charset.result b/mysql-test/suite/funcs_2/r/myisam_charset.result
index 50ed8aca2cc..698cce1be37 100644
--- a/mysql-test/suite/funcs_2/r/myisam_charset.result
+++ b/mysql-test/suite/funcs_2/r/myisam_charset.result
@@ -737,7 +737,6 @@ a_ascii a_len
44 1
64 1
45 1
-60 1
65 1
46 1
66 1
@@ -779,17 +778,18 @@ a_ascii a_len
78 1
59 1
79 1
-7E 1
5A 1
7A 1
-5D 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
diff --git a/mysql-test/suite/funcs_2/r/ndb_charset.result b/mysql-test/suite/funcs_2/r/ndb_charset.result
index 538bea5e75e..0a4dba2e302 100644
--- a/mysql-test/suite/funcs_2/r/ndb_charset.result
+++ b/mysql-test/suite/funcs_2/r/ndb_charset.result
@@ -3,7 +3,7 @@ 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 # # #
+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
@@ -233,7 +233,7 @@ 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 # # #
+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
@@ -463,7 +463,7 @@ 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 # # #
+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
@@ -693,7 +693,7 @@ 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 # # #
+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
@@ -737,7 +737,6 @@ a_ascii a_len
44 1
64 1
45 1
-60 1
65 1
46 1
66 1
@@ -779,17 +778,18 @@ a_ascii a_len
78 1
59 1
79 1
-7E 1
5A 1
7A 1
-5D 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
@@ -923,7 +923,7 @@ 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 # # #
+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
@@ -1027,7 +1027,7 @@ 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 # # #
+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
@@ -1131,7 +1131,7 @@ 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 # # #
+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
@@ -1361,7 +1361,7 @@ 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 # # #
+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
@@ -1591,7 +1591,7 @@ 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 # # #
+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
@@ -1821,7 +1821,7 @@ 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 # # #
+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
@@ -2051,7 +2051,7 @@ 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 # # #
+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
@@ -2281,7 +2281,7 @@ 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 # # #
+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
@@ -2511,7 +2511,7 @@ 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 # # #
+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
@@ -2741,7 +2741,7 @@ 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 # # #
+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
@@ -2971,7 +2971,7 @@ 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 # # #
+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
@@ -3201,7 +3201,7 @@ 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 # # #
+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
@@ -3431,7 +3431,7 @@ 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 # # #
+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
@@ -3661,7 +3661,7 @@ 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 # # #
+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
@@ -3891,7 +3891,7 @@ 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 # # #
+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
@@ -4121,7 +4121,7 @@ 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 # # #
+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
@@ -4351,7 +4351,7 @@ 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 # # #
+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
@@ -4581,7 +4581,7 @@ 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 # # #
+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
@@ -4811,7 +4811,7 @@ 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 # # #
+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
@@ -5041,7 +5041,7 @@ 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 # # #
+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
@@ -5271,7 +5271,7 @@ 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 # # #
+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
@@ -5501,7 +5501,7 @@ 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 # # #
+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
@@ -5731,7 +5731,7 @@ 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 # # #
+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
@@ -5961,7 +5961,7 @@ 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 # # #
+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
@@ -6128,7 +6128,7 @@ 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 # # #
+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
@@ -6295,7 +6295,7 @@ 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 # # #
+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
@@ -6525,7 +6525,7 @@ 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 # # #
+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
@@ -6755,7 +6755,7 @@ 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 # # #
+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
@@ -6859,7 +6859,7 @@ 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 # # #
+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
@@ -6963,7 +6963,7 @@ 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 # # #
+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
@@ -7067,7 +7067,7 @@ 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 # # #
+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
@@ -7171,7 +7171,7 @@ 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 # # #
+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
@@ -7275,7 +7275,7 @@ 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 # # #
+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
@@ -7379,7 +7379,7 @@ 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 # # #
+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
@@ -7483,7 +7483,7 @@ 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 # # #
+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
@@ -7587,7 +7587,7 @@ 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 # # #
+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
@@ -7817,7 +7817,7 @@ 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 # # #
+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
@@ -8047,7 +8047,7 @@ 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 # # #
+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
@@ -8277,7 +8277,7 @@ 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 # # #
+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
@@ -8507,7 +8507,7 @@ 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 # # #
+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
@@ -8737,7 +8737,7 @@ 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 # # #
+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
@@ -8967,7 +8967,7 @@ 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 # # #
+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
@@ -9197,7 +9197,7 @@ 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 # # #
+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
@@ -9427,7 +9427,7 @@ 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 # # #
+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
@@ -9657,7 +9657,7 @@ 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 # # #
+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
@@ -9887,7 +9887,7 @@ 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 # # #
+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
@@ -10117,7 +10117,7 @@ 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 # # #
+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
@@ -10347,7 +10347,7 @@ 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 # # #
+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
@@ -10577,7 +10577,7 @@ 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 # # #
+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
@@ -10807,7 +10807,7 @@ 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 # # #
+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
@@ -11037,7 +11037,7 @@ 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 # # #
+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
@@ -11267,7 +11267,7 @@ 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 # # #
+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
@@ -11497,7 +11497,7 @@ 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 # # #
+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
@@ -11727,7 +11727,7 @@ 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 # # #
+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
@@ -11957,7 +11957,7 @@ 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 # # #
+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
@@ -12187,7 +12187,7 @@ 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 # # #
+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
@@ -12417,7 +12417,7 @@ 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 # # #
+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
@@ -12647,7 +12647,7 @@ 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 # # #
+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
@@ -12877,7 +12877,7 @@ 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 # # #
+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
@@ -13107,7 +13107,7 @@ 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 # # #
+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
@@ -13337,7 +13337,7 @@ 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 # # #
+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
@@ -13567,7 +13567,7 @@ 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 # # #
+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
@@ -13797,7 +13797,7 @@ 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 # # #
+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
@@ -14027,7 +14027,7 @@ 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 # # #
+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
@@ -14257,7 +14257,7 @@ 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 # # #
+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
@@ -14487,7 +14487,7 @@ 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 # # #
+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
@@ -14717,7 +14717,7 @@ 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 # # #
+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
@@ -14947,7 +14947,7 @@ 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 # # #
+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
@@ -15177,7 +15177,7 @@ 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 # # #
+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
@@ -15407,7 +15407,7 @@ 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 # # #
+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
@@ -15637,7 +15637,7 @@ 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 # # #
+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
@@ -15867,7 +15867,7 @@ 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 # # #
+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
@@ -16097,7 +16097,7 @@ 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 # # #
+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
@@ -16264,7 +16264,7 @@ 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 # # #
+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
@@ -16431,7 +16431,7 @@ 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 # # #
+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
@@ -16661,7 +16661,7 @@ 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 # # #
+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
@@ -16891,7 +16891,7 @@ 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 # # #
+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
@@ -17121,7 +17121,7 @@ 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 # # #
+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
@@ -17351,7 +17351,7 @@ 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 # # #
+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
@@ -17455,7 +17455,7 @@ 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 # # #
+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
@@ -17562,7 +17562,7 @@ 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 # # #
+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;
@@ -20103,7 +20103,7 @@ 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 # # #
+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;
@@ -22644,7 +22644,7 @@ 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 # # #
+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;
@@ -25185,7 +25185,7 @@ 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 # # #
+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;
@@ -27726,7 +27726,7 @@ 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 # # #
+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;
@@ -30267,7 +30267,7 @@ 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 # # #
+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;
@@ -32808,7 +32808,7 @@ 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 # # #
+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;
@@ -35349,7 +35349,7 @@ 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 # # #
+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;
@@ -37890,7 +37890,7 @@ 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 # # #
+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;
@@ -40431,7 +40431,7 @@ 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 # # #
+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;
@@ -42972,7 +42972,7 @@ 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 # # #
+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;
@@ -45513,7 +45513,7 @@ 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 # # #
+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;
@@ -48054,7 +48054,7 @@ 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 # # #
+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;
@@ -50595,7 +50595,7 @@ 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 # # #
+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;
@@ -53136,7 +53136,7 @@ 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 # # #
+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;
@@ -55677,7 +55677,7 @@ 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 # # #
+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;
@@ -58218,7 +58218,7 @@ 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 # # #
+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;
@@ -60759,7 +60759,7 @@ 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 # # #
+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;
@@ -63300,7 +63300,7 @@ 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 # # #
+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;
@@ -65841,7 +65841,7 @@ 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 # # #
+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;
@@ -68381,7 +68381,7 @@ 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 # # #
+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;
@@ -70920,7 +70920,7 @@ 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 # # #
+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;
@@ -73459,7 +73459,7 @@ 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 # # #
+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;
@@ -75998,7 +75998,7 @@ 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 # # #
+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;
@@ -78537,7 +78537,7 @@ 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 # # #
+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;
@@ -81076,7 +81076,7 @@ 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 # # #
+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;
@@ -83615,7 +83615,7 @@ 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 # # #
+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;
@@ -86154,7 +86154,7 @@ 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 # # #
+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;
@@ -88693,7 +88693,7 @@ 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 # # #
+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;
@@ -91232,7 +91232,7 @@ 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 # # #
+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;
@@ -93771,7 +93771,7 @@ 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 # # #
+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;
@@ -96310,7 +96310,7 @@ 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 # # #
+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;
@@ -98849,7 +98849,7 @@ 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 # # #
+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;
@@ -101388,7 +101388,7 @@ 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 # # #
+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;
@@ -103927,7 +103927,7 @@ 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 # # #
+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;
@@ -106466,7 +106466,7 @@ 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 # # #
+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;
@@ -109005,7 +109005,7 @@ 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 # # #
+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;
@@ -111544,7 +111544,7 @@ 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 # # #
+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;
@@ -114083,7 +114083,7 @@ 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 # # #
+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;
@@ -116622,7 +116622,7 @@ 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 # # #
+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;
diff --git a/mysql-test/suite/funcs_2/t/disabled.def b/mysql-test/suite/funcs_2/t/disabled.def
new file mode 100644
index 00000000000..c903662e052
--- /dev/null
+++ b/mysql-test/suite/funcs_2/t/disabled.def
@@ -0,0 +1,6 @@
+# Disabled by hhunger (2008-03-03) due to WL4204
+innodb_charset : Due to bug#20447
+myisam_charset : Due to bug#20477
+memory_charset : Due to bug#20447
+ndb_charset : Due to bug#20447
+
diff --git a/mysql-test/r/im_cmd_line.result b/mysql-test/suite/im/r/im_cmd_line.result
index a862d465904..a862d465904 100644
--- a/mysql-test/r/im_cmd_line.result
+++ b/mysql-test/suite/im/r/im_cmd_line.result
diff --git a/mysql-test/r/im_daemon_life_cycle.result b/mysql-test/suite/im/r/im_daemon_life_cycle.result
index b3afb15f207..b3afb15f207 100644
--- a/mysql-test/r/im_daemon_life_cycle.result
+++ b/mysql-test/suite/im/r/im_daemon_life_cycle.result
diff --git a/mysql-test/r/im_instance_conf.result b/mysql-test/suite/im/r/im_instance_conf.result
index d04ae0270ab..d04ae0270ab 100644
--- a/mysql-test/r/im_instance_conf.result
+++ b/mysql-test/suite/im/r/im_instance_conf.result
diff --git a/mysql-test/r/im_life_cycle.result b/mysql-test/suite/im/r/im_life_cycle.result
index dcabc8cf4f3..dcabc8cf4f3 100644
--- a/mysql-test/r/im_life_cycle.result
+++ b/mysql-test/suite/im/r/im_life_cycle.result
diff --git a/mysql-test/r/im_options.result b/mysql-test/suite/im/r/im_options.result
index 22bd5d5bdf6..22bd5d5bdf6 100644
--- a/mysql-test/r/im_options.result
+++ b/mysql-test/suite/im/r/im_options.result
diff --git a/mysql-test/r/im_utils.result b/mysql-test/suite/im/r/im_utils.result
index 586a5ab6a8d..586a5ab6a8d 100644
--- a/mysql-test/r/im_utils.result
+++ b/mysql-test/suite/im/r/im_utils.result
diff --git a/mysql-test/suite/im/t/disabled.def b/mysql-test/suite/im/t/disabled.def
new file mode 100644
index 00000000000..56828810bf1
--- /dev/null
+++ b/mysql-test/suite/im/t/disabled.def
@@ -0,0 +1,20 @@
+##############################################################################
+#
+# 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.
+#
+##############################################################################
+im_options : Bug#20294 2006-07-24 stewart Instance manager test im_options fails randomly
+im_daemon_life_cycle : Bug#20294 2007-05-14 alik Instance manager tests fail randomly
+im_cmd_line : Bug#20294 2007-05-14 alik Instance manager tests fail randomly
+im_utils : Bug#20294 2007-05-30 alik Instance manager tests fail randomly
+im_instance_conf : Bug#20294 2007-05-30 alik Instance manager tests fail randomly
+im_life_cycle : BUG#27851 Instance manager dies on ASSERT in ~Thread_registry() or from not being able to close a mysqld instance.
+im_instance_conf : BUG#28743 Instance manager generates warnings in test suite
+im_utils : BUG#28743 Instance manager generates warnings in test suite
+
diff --git a/mysql-test/include/im_check_env.inc b/mysql-test/suite/im/t/im_check_env.inc
index 883e5d00fe4..883e5d00fe4 100644
--- a/mysql-test/include/im_check_env.inc
+++ b/mysql-test/suite/im/t/im_check_env.inc
diff --git a/mysql-test/t/im_cmd_line.imtest b/mysql-test/suite/im/t/im_cmd_line.imtest
index 1de43efe92b..e8264b5bb8a 100644
--- a/mysql-test/t/im_cmd_line.imtest
+++ b/mysql-test/suite/im/t/im_cmd_line.imtest
@@ -4,7 +4,7 @@
#
###########################################################################
---source include/im_check_env.inc
+--source suite/im/t/im_check_env.inc
###########################################################################
diff --git a/mysql-test/t/im_daemon_life_cycle-im.opt b/mysql-test/suite/im/t/im_daemon_life_cycle-im.opt
index 3a45c7a41f7..3a45c7a41f7 100644
--- a/mysql-test/t/im_daemon_life_cycle-im.opt
+++ b/mysql-test/suite/im/t/im_daemon_life_cycle-im.opt
diff --git a/mysql-test/t/im_daemon_life_cycle.imtest b/mysql-test/suite/im/t/im_daemon_life_cycle.imtest
index c2eac46c1e4..c42ab89cc49 100644
--- a/mysql-test/t/im_daemon_life_cycle.imtest
+++ b/mysql-test/suite/im/t/im_daemon_life_cycle.imtest
@@ -1,3 +1,5 @@
+let $UTIL=$MYSQL_TEST_DIR/suite/im/t;
+
###########################################################################
#
# This file contains test for (1.2) test suite.
@@ -6,11 +8,11 @@
#
###########################################################################
---exec $MYSQL_TEST_DIR/t/log.sh im_daemon_life_cycle im_daemon_life_cycle.imtest started.
+--exec $UTIL/log.sh im_daemon_life_cycle im_daemon_life_cycle.imtest started.
###########################################################################
---source include/im_check_env.inc
+--source suite/im/t/im_check_env.inc
# Turn on reconnect, not on by default anymore.
--enable_reconnect
@@ -30,15 +32,15 @@
#
###########################################################################
---exec $MYSQL_TEST_DIR/t/log.sh im_daemon_life_cycle Main-test: starting...
+--exec $UTIL/log.sh im_daemon_life_cycle Main-test: starting...
---exec $MYSQL_TEST_DIR/t/log.sh im_daemon_life_cycle Killing IM-main...
---exec $MYSQL_TEST_DIR/t/kill_n_check.sh $IM_PATH_PID restarted 55 im_daemon_life_cycle
+--exec $UTIL/log.sh im_daemon_life_cycle Killing IM-main...
+--exec $UTIL/kill_n_check.sh $IM_PATH_PID restarted 55 im_daemon_life_cycle
---exec $MYSQL_TEST_DIR/t/log.sh im_daemon_life_cycle Waiting for IM-main to start accepting connections...
---exec $MYSQL_TEST_DIR/t/wait_for_socket.sh $EXE_MYSQL $IM_PATH_SOCK $IM_USERNAME $IM_PASSWORD '' 55 im_daemon_life_cycle
+--exec $UTIL/log.sh im_daemon_life_cycle Waiting for IM-main to start accepting connections...
+--exec $UTIL/wait_for_socket.sh $EXE_MYSQL $IM_PATH_SOCK $IM_USERNAME $IM_PASSWORD '' 55 im_daemon_life_cycle
---exec $MYSQL_TEST_DIR/t/log.sh im_daemon_life_cycle Main-test: done.
+--exec $UTIL/log.sh im_daemon_life_cycle Main-test: done.
###########################################################################
#
@@ -55,29 +57,29 @@
--echo -- Test for BUG#12751
--echo --------------------------------------------------------------------
---exec $MYSQL_TEST_DIR/t/log.sh im_daemon_life_cycle BUG12751: starting...
+--exec $UTIL/log.sh im_daemon_life_cycle BUG12751: starting...
# 1. Start mysqld;
---exec $MYSQL_TEST_DIR/t/log.sh im_daemon_life_cycle mysqld2: starting...
+--exec $UTIL/log.sh im_daemon_life_cycle mysqld2: starting...
START INSTANCE mysqld2;
---exec $MYSQL_TEST_DIR/t/log.sh im_daemon_life_cycle mysqld2: waiting to start...
---exec $MYSQL_TEST_DIR/t/wait_for_process.sh $IM_MYSQLD2_PATH_PID 55 started im_daemon_life_cycle
+--exec $UTIL/log.sh im_daemon_life_cycle mysqld2: waiting to start...
+--exec $UTIL/wait_for_process.sh $IM_MYSQLD2_PATH_PID 55 started im_daemon_life_cycle
---exec $MYSQL_TEST_DIR/t/log.sh im_daemon_life_cycle mysqld2: started.
+--exec $UTIL/log.sh im_daemon_life_cycle mysqld2: started.
# 2. Restart IM-main;
---exec $MYSQL_TEST_DIR/t/log.sh im_daemon_life_cycle Killing IM-main...
---exec $MYSQL_TEST_DIR/t/kill_n_check.sh $IM_PATH_PID restarted 55 im_daemon_life_cycle
+--exec $UTIL/log.sh im_daemon_life_cycle Killing IM-main...
+--exec $UTIL/kill_n_check.sh $IM_PATH_PID restarted 55 im_daemon_life_cycle
---exec $MYSQL_TEST_DIR/t/log.sh im_daemon_life_cycle Waiting for IM-main to start accepting connections...
---exec $MYSQL_TEST_DIR/t/wait_for_socket.sh $EXE_MYSQL $IM_PATH_SOCK $IM_USERNAME $IM_PASSWORD '' 55 im_daemon_life_cycle
+--exec $UTIL/log.sh im_daemon_life_cycle Waiting for IM-main to start accepting connections...
+--exec $UTIL/wait_for_socket.sh $EXE_MYSQL $IM_PATH_SOCK $IM_USERNAME $IM_PASSWORD '' 55 im_daemon_life_cycle
# 3. Issue some statement -- connection should be re-established.
---exec $MYSQL_TEST_DIR/t/log.sh im_daemon_life_cycle Checking that IM-main processing commands...
+--exec $UTIL/log.sh im_daemon_life_cycle Checking that IM-main processing commands...
--replace_column 2 STATE 3 VERSION_NUMBER 4 VERSION
SHOW INSTANCE STATUS mysqld1;
@@ -86,13 +88,13 @@ SHOW INSTANCE STATUS mysqld1;
# So, if it we do not stop it, it will be stopped by mysql-test-run.pl with
# warning.
---exec $MYSQL_TEST_DIR/t/log.sh im_daemon_life_cycle mysqld2: stopping...
+--exec $UTIL/log.sh im_daemon_life_cycle mysqld2: stopping...
STOP INSTANCE mysqld2;
---exec $MYSQL_TEST_DIR/t/log.sh im_daemon_life_cycle mysqld2: waiting to stop...
---exec $MYSQL_TEST_DIR/t/wait_for_process.sh $IM_MYSQLD2_PATH_PID 55 stopped im_daemon_life_cycle
---exec $MYSQL_TEST_DIR/t/log.sh im_daemon_life_cycle mysqld2: stopped.
+--exec $UTIL/log.sh im_daemon_life_cycle mysqld2: waiting to stop...
+--exec $UTIL/wait_for_process.sh $IM_MYSQLD2_PATH_PID 55 stopped im_daemon_life_cycle
+--exec $UTIL/log.sh im_daemon_life_cycle mysqld2: stopped.
###########################################################################
---exec $MYSQL_TEST_DIR/t/log.sh im_daemon_life_cycle BUG12751: done.
+--exec $UTIL/log.sh im_daemon_life_cycle BUG12751: done.
diff --git a/mysql-test/t/im_instance_conf-im.opt b/mysql-test/suite/im/t/im_instance_conf-im.opt
index 34b74ce0c95..34b74ce0c95 100644
--- a/mysql-test/t/im_instance_conf-im.opt
+++ b/mysql-test/suite/im/t/im_instance_conf-im.opt
diff --git a/mysql-test/t/im_instance_conf.imtest b/mysql-test/suite/im/t/im_instance_conf.imtest
index e7f1e511113..b667df41f98 100644
--- a/mysql-test/t/im_instance_conf.imtest
+++ b/mysql-test/suite/im/t/im_instance_conf.imtest
@@ -26,7 +26,7 @@
#
###########################################################################
---source include/im_check_env.inc
+--source suite/im/t/im_check_env.inc
###########################################################################
#
diff --git a/mysql-test/t/im_life_cycle-im.opt b/mysql-test/suite/im/t/im_life_cycle-im.opt
index 34b74ce0c95..34b74ce0c95 100644
--- a/mysql-test/t/im_life_cycle-im.opt
+++ b/mysql-test/suite/im/t/im_life_cycle-im.opt
diff --git a/mysql-test/t/im_life_cycle.imtest b/mysql-test/suite/im/t/im_life_cycle.imtest
index 3721b92e2b7..31f63d82505 100644
--- a/mysql-test/t/im_life_cycle.imtest
+++ b/mysql-test/suite/im/t/im_life_cycle.imtest
@@ -1,3 +1,5 @@
+let $UTIL=$MYSQL_TEST_DIR/suite/im/t;
+
###########################################################################
#
# This file contains test for (1.1) test suite.
@@ -6,7 +8,7 @@
#
###########################################################################
---source include/im_check_env.inc
+--source suite/im/t/im_check_env.inc
###########################################################################
#
@@ -25,7 +27,7 @@
START INSTANCE mysqld2;
# FIXME: START INSTANCE should be synchronous.
---exec $MYSQL_TEST_DIR/t/wait_for_process.sh $IM_MYSQLD2_PATH_PID 30 started im_life_cycle
+--exec $UTIL/wait_for_process.sh $IM_MYSQLD2_PATH_PID 30 started im_life_cycle
# FIXME: Result of SHOW INSTANCES here is not deterministic unless START
# INSTANCE is synchronous. Even waiting for mysqld to start by looking at
@@ -58,7 +60,7 @@ SHOW VARIABLES LIKE 'port';
STOP INSTANCE mysqld2;
# FIXME: STOP INSTANCE should be synchronous.
---exec $MYSQL_TEST_DIR/t/wait_for_process.sh $IM_MYSQLD2_PATH_PID 30 stopped im_life_cycle
+--exec $UTIL/wait_for_process.sh $IM_MYSQLD2_PATH_PID 30 stopped im_life_cycle
# FIXME: Result of SHOW INSTANCES here is not deterministic unless START
# INSTANCE is synchronous. Even waiting for mysqld to start by looking at
@@ -121,7 +123,7 @@ STOP INSTANCE mysqld3;
--echo -- 1.1.6.
--echo --------------------------------------------------------------------
---exec $MYSQL_TEST_DIR/t/kill_n_check.sh $IM_MYSQLD1_PATH_PID restarted 30 im_life_cycle
+--exec $UTIL/kill_n_check.sh $IM_MYSQLD1_PATH_PID restarted 30 im_life_cycle
# Give some time to IM to detect that mysqld was restarted. It should be
# longer than monitoring interval.
@@ -143,7 +145,7 @@ SHOW INSTANCES;
START INSTANCE mysqld2;
# FIXME: START INSTANCE should be synchronous.
---exec $MYSQL_TEST_DIR/t/wait_for_process.sh $IM_MYSQLD2_PATH_PID 30 started im_life_cycle
+--exec $UTIL/wait_for_process.sh $IM_MYSQLD2_PATH_PID 30 started im_life_cycle
# FIXME: Result of SHOW INSTANCES here is not deterministic unless START
# INSTANCE is synchronous. Even waiting for mysqld to start by looking at
@@ -151,7 +153,7 @@ START INSTANCE mysqld2;
# mysqld has started.
# SHOW INSTANCES;
---exec $MYSQL_TEST_DIR/t/kill_n_check.sh $IM_MYSQLD2_PATH_PID killed 10 im_life_cycle
+--exec $UTIL/kill_n_check.sh $IM_MYSQLD2_PATH_PID killed 10 im_life_cycle
# FIXME: Result of SHOW INSTANCES here is not deterministic unless START
# INSTANCE is synchronous. Even waiting for mysqld to start by looking at
diff --git a/mysql-test/t/im_options-im.opt b/mysql-test/suite/im/t/im_options-im.opt
index 34b74ce0c95..34b74ce0c95 100644
--- a/mysql-test/t/im_options-im.opt
+++ b/mysql-test/suite/im/t/im_options-im.opt
diff --git a/mysql-test/t/im_options.imtest b/mysql-test/suite/im/t/im_options.imtest
index 8f9bed16473..d251b97d8e7 100644
--- a/mysql-test/t/im_options.imtest
+++ b/mysql-test/suite/im/t/im_options.imtest
@@ -32,7 +32,7 @@
#
###########################################################################
---source include/im_check_env.inc
+--source suite/im/t/im_check_env.inc
###########################################################################
#
diff --git a/mysql-test/t/im_utils-im.opt b/mysql-test/suite/im/t/im_utils-im.opt
index 34b74ce0c95..34b74ce0c95 100644
--- a/mysql-test/t/im_utils-im.opt
+++ b/mysql-test/suite/im/t/im_utils-im.opt
diff --git a/mysql-test/t/im_utils.imtest b/mysql-test/suite/im/t/im_utils.imtest
index 0866b87204a..b935634e96c 100644
--- a/mysql-test/t/im_utils.imtest
+++ b/mysql-test/suite/im/t/im_utils.imtest
@@ -6,7 +6,9 @@
#
###########################################################################
---source include/im_check_env.inc
+--source suite/im/t/im_check_env.inc
+
+let $UTIL=$MYSQL_TEST_DIR/suite/im/t;
###########################################################################
@@ -31,10 +33,10 @@ SHOW INSTANCE OPTIONS mysqld2;
#
START INSTANCE mysqld2;
---exec $MYSQL_TEST_DIR/t/wait_for_process.sh $IM_MYSQLD2_PATH_PID 30 started im_utils
+--exec $UTIL/wait_for_process.sh $IM_MYSQLD2_PATH_PID 30 started im_utils
STOP INSTANCE mysqld2;
---exec $MYSQL_TEST_DIR/t/wait_for_process.sh $IM_MYSQLD2_PATH_PID 30 stopped im_utils
+--exec $UTIL/wait_for_process.sh $IM_MYSQLD2_PATH_PID 30 stopped im_utils
#
# Check 'SHOW LOG FILES' command:
diff --git a/mysql-test/t/kill_n_check.sh b/mysql-test/suite/im/t/kill_n_check.sh
index 6f2a0825dcd..6f2a0825dcd 100755
--- a/mysql-test/t/kill_n_check.sh
+++ b/mysql-test/suite/im/t/kill_n_check.sh
diff --git a/mysql-test/t/log.sh b/mysql-test/suite/im/t/log.sh
index 33ef6d6701f..33ef6d6701f 100755
--- a/mysql-test/t/log.sh
+++ b/mysql-test/suite/im/t/log.sh
diff --git a/mysql-test/t/utils.sh b/mysql-test/suite/im/t/utils.sh
index b3f4744947d..b3f4744947d 100644
--- a/mysql-test/t/utils.sh
+++ b/mysql-test/suite/im/t/utils.sh
diff --git a/mysql-test/t/wait_for_process.sh b/mysql-test/suite/im/t/wait_for_process.sh
index 2143ab2002f..2143ab2002f 100755
--- a/mysql-test/t/wait_for_process.sh
+++ b/mysql-test/suite/im/t/wait_for_process.sh
diff --git a/mysql-test/t/wait_for_socket.sh b/mysql-test/suite/im/t/wait_for_socket.sh
index 2fa7d5c5b7e..2fa7d5c5b7e 100755
--- a/mysql-test/t/wait_for_socket.sh
+++ b/mysql-test/suite/im/t/wait_for_socket.sh
diff --git a/mysql-test/suite/manual/r/rpl_replication_delay.result b/mysql-test/suite/manual/r/rpl_replication_delay.result
new file mode 100644
index 00000000000..a8fa6ce8265
--- /dev/null
+++ b/mysql-test/suite/manual/r/rpl_replication_delay.result
@@ -0,0 +1,136 @@
+stop slave;
+drop table if exists t1,t2,t3,t4,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 slave status /* Second_behind reports 0 */;;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+Master_Port 9306
+Connect_Retry 1
+Master_Log_File master-bin.000001
+Read_Master_Log_Pos 106
+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 106
+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 0
+Master_SSL_Verify_Server_Cert No
+Last_IO_Errno 0
+Last_IO_Error
+Last_SQL_Errno 0
+Last_SQL_Error
+drop table if exists t1;
+Warnings:
+Note 1051 Unknown table 't1'
+create table t1 (f1 int);
+flush logs /* contaminate rli->last_master_timestamp */;
+lock table t1 write;
+insert into t1 values (1);
+show slave status /* bug emulated: reports slave threads starting time about 3*3 not 3 secs */;;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+Master_Port 9306
+Connect_Retry 1
+Master_Log_File master-bin.000001
+Read_Master_Log_Pos 367
+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 279
+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 9
+Master_SSL_Verify_Server_Cert No
+Last_IO_Errno 0
+Last_IO_Error
+Last_SQL_Errno 0
+Last_SQL_Error
+unlock tables;
+flush logs /* this time rli->last_master_timestamp is not affected */;
+lock table t1 write;
+insert into t1 values (2);
+show slave status /* reports the correct diff with master query time about 3+3 secs */;;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+Master_Port 9306
+Connect_Retry 1
+Master_Log_File master-bin.000001
+Read_Master_Log_Pos 455
+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 367
+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 7
+Master_SSL_Verify_Server_Cert No
+Last_IO_Errno 0
+Last_IO_Error
+Last_SQL_Errno 0
+Last_SQL_Error
+unlock tables;
+drop table t1;
diff --git a/mysql-test/suite/manual/t/rpl_replication_delay-slave.opt b/mysql-test/suite/manual/t/rpl_replication_delay-slave.opt
new file mode 100644
index 00000000000..24a4c5952fe
--- /dev/null
+++ b/mysql-test/suite/manual/t/rpl_replication_delay-slave.opt
@@ -0,0 +1 @@
+--loose-debug=d,let_first_flush_log_change_timestamp
diff --git a/mysql-test/suite/manual/t/rpl_replication_delay.test b/mysql-test/suite/manual/t/rpl_replication_delay.test
new file mode 100644
index 00000000000..8230698c8f9
--- /dev/null
+++ b/mysql-test/suite/manual/t/rpl_replication_delay.test
@@ -0,0 +1,71 @@
+#
+# Testing replication delay reporting (bug#29309)
+# there is an unavoidable non-determinism in the test
+# please compare the results with the comments
+#
+
+
+source include/master-slave.inc;
+
+connection master;
+#connection slave;
+sync_slave_with_master;
+--replace_result $DEFAULT_MASTER_PORT DEFAULT_MASTER_PORT
+--replace_column 1 # 8 # 9 # 23 #
+--query_vertical show slave status /* Second_behind reports 0 */;
+sleep 3;
+
+### bug emulation
+
+connection master;
+drop table if exists t1;
+create table t1 (f1 int);
+sleep 3;
+
+#connection slave;
+sync_slave_with_master;
+flush logs /* contaminate rli->last_master_timestamp */;
+
+connection slave;
+lock table t1 write;
+
+connection master;
+insert into t1 values (1);
+
+sleep 3;
+
+connection slave;
+--replace_result $DEFAULT_MASTER_PORT DEFAULT_MASTER_PORT
+--replace_column 1 # 8 # 9 # 23 #
+--query_vertical show slave status /* bug emulated: reports slave threads starting time about 3*3 not 3 secs */;
+unlock tables;
+
+connection master;
+sync_slave_with_master;
+
+### bugfix
+
+
+connection slave;
+flush logs /* this time rli->last_master_timestamp is not affected */;
+lock table t1 write;
+
+connection master;
+insert into t1 values (2);
+sleep 3;
+
+connection slave;
+--replace_result $DEFAULT_MASTER_PORT DEFAULT_MASTER_PORT
+--replace_column 1 # 8 # 9 # 23 #
+--query_vertical show slave status /* reports the correct diff with master query time about 3+3 secs */;
+unlock tables;
+
+connection master;
+drop table t1;
+
+#connection slave;
+sync_slave_with_master;
+
+
+# End of tests
+
diff --git a/mysql-test/suite/ndb/r/ndb_alter_table.result b/mysql-test/suite/ndb/r/ndb_alter_table.result
index 13c445b44ca..5798db73403 100644
--- a/mysql-test/suite/ndb/r/ndb_alter_table.result
+++ b/mysql-test/suite/ndb/r/ndb_alter_table.result
@@ -34,13 +34,13 @@ 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 #
+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 #
+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
@@ -60,7 +60,7 @@ 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 #
+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
@@ -75,7 +75,7 @@ col6 col1 col3 fourth col4 col4_5 col5 col7 col8
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 #
+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
diff --git a/mysql-test/suite/ndb/r/ndb_auto_increment.result b/mysql-test/suite/ndb/r/ndb_auto_increment.result
new file mode 100644
index 00000000000..78612b35113
--- /dev/null
+++ b/mysql-test/suite/ndb/r/ndb_auto_increment.result
@@ -0,0 +1,445 @@
+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);
+ERROR 23000: Duplicate entry '35' for key 'PRIMARY'
+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
new file mode 100644
index 00000000000..fe9d36393ad
--- /dev/null
+++ b/mysql-test/suite/ndb/r/ndb_autoinc.result
@@ -0,0 +1,37 @@
+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
index 4eddaeb1227..9f4f8c0755c 100644
--- a/mysql-test/suite/ndb/r/ndb_basic.result
+++ b/mysql-test/suite/ndb/r/ndb_basic.result
@@ -869,6 +869,30 @@ a b
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;
diff --git a/mysql-test/suite/ndb/r/ndb_binlog_basic.result b/mysql-test/suite/ndb/r/ndb_binlog_basic.result
index 931d01dbebe..09edd78bdb3 100644
--- a/mysql-test/suite/ndb/r/ndb_binlog_basic.result
+++ b/mysql-test/suite/ndb/r/ndb_binlog_basic.result
@@ -31,9 +31,6 @@ inserts updates deletes
2 1 1
flush logs;
purge master logs before now();
-select count(*) from mysql.ndb_binlog_index;
-count(*)
-0
create table t1 (a int primary key, b int) engine=ndb;
create database mysqltest;
use mysqltest;
diff --git a/mysql-test/suite/ndb/r/ndb_binlog_format.result b/mysql-test/suite/ndb/r/ndb_binlog_format.result
index ed26060e2a4..30c2ca872ed 100644
--- a/mysql-test/suite/ndb/r/ndb_binlog_format.result
+++ b/mysql-test/suite/ndb/r/ndb_binlog_format.result
@@ -15,7 +15,9 @@ COMMIT;
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1,1), (1,2), (2,1), (2,2)
+master-bin.000001 # Query # # use `test`; BEGIN
master-bin.000001 # Query # # use `test`; INSERT INTO t2 VALUES (1,1), (1,2), (2,1), (2,2)
+master-bin.000001 # Query # # use `test`; COMMIT
master-bin.000001 # Query # # use `test`; UPDATE t1, t2 SET m = 2, b = 3 WHERE n = c
master-bin.000001 # Query # # use `test`; BEGIN
master-bin.000001 # Query # # use `test`; INSERT INTO t3 VALUES (1,1), (1,2), (2,1), (2,2)
diff --git a/mysql-test/suite/ndb/r/ndb_binlog_multi.result b/mysql-test/suite/ndb/r/ndb_binlog_multi.result
index bf9b34db64b..b2a9da39be0 100644
--- a/mysql-test/suite/ndb/r/ndb_binlog_multi.result
+++ b/mysql-test/suite/ndb/r/ndb_binlog_multi.result
@@ -13,7 +13,6 @@ master-bin1.000001 # Query 102 # BEGIN
master-bin1.000001 # Table_map 102 # table_id: # (test.t2)
master-bin1.000001 # Table_map 102 # table_id: # (mysql.ndb_apply_status)
master-bin1.000001 # Write_rows 102 # table_id: #
-master-bin1.000001 # Write_rows 102 # table_id: #
master-bin1.000001 # Write_rows 102 # table_id: # flags: STMT_END_F
master-bin1.000001 # Query 102 # COMMIT
select * from t2 order by a;
@@ -36,7 +35,6 @@ master-bin.000001 # Query 1 # BEGIN
master-bin.000001 # Table_map 1 # table_id: # (test.t2)
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: #
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
master-bin.000001 # Query 1 # COMMIT
master-bin.000001 # Query 1 # use `test`; DROP TABLE t2
@@ -55,7 +53,6 @@ master-bin1.000001 # Query 102 # BEGIN
master-bin1.000001 # Table_map 102 # table_id: # (test.t1)
master-bin1.000001 # Table_map 102 # table_id: # (mysql.ndb_apply_status)
master-bin1.000001 # Write_rows 102 # table_id: #
-master-bin1.000001 # Write_rows 102 # table_id: #
master-bin1.000001 # Write_rows 102 # table_id: # flags: STMT_END_F
master-bin1.000001 # Query 102 # COMMIT
SELECT @the_epoch2:=epoch,inserts,updates,deletes,schemaops FROM
@@ -74,7 +71,6 @@ master-bin1.000001 # Query 102 # BEGIN
master-bin1.000001 # Table_map 102 # table_id: # (test.t1)
master-bin1.000001 # Table_map 102 # table_id: # (mysql.ndb_apply_status)
master-bin1.000001 # Write_rows 102 # table_id: #
-master-bin1.000001 # Write_rows 102 # table_id: #
master-bin1.000001 # Write_rows 102 # table_id: # flags: STMT_END_F
master-bin1.000001 # Query 102 # COMMIT
master-bin1.000001 # Query 102 # use `test`; drop table t1
diff --git a/mysql-test/suite/ndb/r/ndb_blob.result b/mysql-test/suite/ndb/r/ndb_blob.result
index 34f2c5fdd66..31ce36864af 100644
--- a/mysql-test/suite/ndb/r/ndb_blob.result
+++ b/mysql-test/suite/ndb/r/ndb_blob.result
@@ -568,3 +568,24 @@ 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_bug26793.result b/mysql-test/suite/ndb/r/ndb_bug26793.result
new file mode 100644
index 00000000000..a9a8a798546
--- /dev/null
+++ b/mysql-test/suite/ndb/r/ndb_bug26793.result
@@ -0,0 +1,8 @@
+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
new file mode 100644
index 00000000000..002a928b485
--- /dev/null
+++ b/mysql-test/suite/ndb/r/ndb_bug31477.result
@@ -0,0 +1,98 @@
+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_charset.result b/mysql-test/suite/ndb/r/ndb_charset.result
index 1c65a380039..e84c906dd7e 100644
--- a/mysql-test/suite/ndb/r/ndb_charset.result
+++ b/mysql-test/suite/ndb/r/ndb_charset.result
@@ -112,9 +112,9 @@ unique key(a)
) engine=ndb;
insert into t1 values(1, 'aAa');
insert into t1 values(2, 'aaa');
-ERROR 23000: Duplicate entry '' for key '*UNKNOWN*'
+ERROR 23000: Duplicate entry 'aaa' for key 'a'
insert into t1 values(3, 'AAA');
-ERROR 23000: Duplicate entry '' for key '*UNKNOWN*'
+ERROR 23000: Duplicate entry 'AAA' for key 'a'
select * from t1 order by p;
p a
1 aAa
@@ -138,9 +138,9 @@ 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 '' for key '*UNKNOWN*'
+ERROR 23000: Duplicate entry 'b' for key 'a'
insert into t1 values(99,'a ');
-ERROR 23000: Duplicate entry '' for key '*UNKNOWN*'
+ERROR 23000: Duplicate entry 'a ' for key 'a'
select a,length(a) from t1 order by a;
a length(a)
A 1
diff --git a/mysql-test/suite/ndb/r/ndb_condition_pushdown.result b/mysql-test/suite/ndb/r/ndb_condition_pushdown.result
index 8d1dcc4ef18..4b6f5031fb2 100644
--- a/mysql-test/suite/ndb/r/ndb_condition_pushdown.result
+++ b/mysql-test/suite/ndb/r/ndb_condition_pushdown.result
@@ -1888,5 +1888,33 @@ set engine_condition_pushdown = 1;
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 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 engine_condition_pushdown = @old_ecpd;
DROP TABLE t1,t2,t3,t4,t5;
diff --git a/mysql-test/suite/ndb/r/ndb_dd_basic.result b/mysql-test/suite/ndb/r/ndb_dd_basic.result
index bc1762ce407..41e3d10fe5b 100644
--- a/mysql-test/suite/ndb/r/ndb_dd_basic.result
+++ b/mysql-test/suite/ndb/r/ndb_dd_basic.result
@@ -1,3 +1,6 @@
+select count(*) from information_schema.columns;
+count(*)
+#
DROP TABLE IF EXISTS t1;
CREATE LOGFILE GROUP lg1
ADD UNDOFILE 'undofile.dat'
@@ -5,20 +8,20 @@ INITIAL_SIZE 16M
UNDO_BUFFER_SIZE = 1M
ENGINE=MYISAM;
Warnings:
-Error 1475 Table storage engine 'MyISAM' does not support the create option 'TABLESPACE or LOGFILE GROUP'
+Error 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 table engine 'XYZ'
-Error 1475 Table storage engine 'MyISAM' does not support the create option 'TABLESPACE or LOGFILE GROUP'
+Error 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:
-Error 1475 Table storage engine 'MyISAM' does not support the create option 'TABLESPACE or LOGFILE GROUP'
+Error 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'
@@ -403,6 +406,16 @@ 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,
@@ -498,6 +511,18 @@ 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;
diff --git a/mysql-test/suite/ndb/r/ndb_dd_ddl.result b/mysql-test/suite/ndb/r/ndb_dd_ddl.result
index 55f1f56fd0c..d8d9e8631d5 100644
--- a/mysql-test/suite/ndb/r/ndb_dd_ddl.result
+++ b/mysql-test/suite/ndb/r/ndb_dd_ddl.result
@@ -16,7 +16,7 @@ ERROR HY000: Failed to create LOGFILE GROUP
SHOW WARNINGS;
Level Code Message
Error 1296 Got error 1514 'Currently there is a limit of one logfile group' from NDB
-Error 1525 Failed to create LOGFILE GROUP
+Error 1528 Failed to create LOGFILE GROUP
CREATE LOGFILE GROUP lg1
ADD UNDOFILE 'undofile.dat'
INITIAL_SIZE 1M
@@ -222,19 +222,17 @@ ENGINE NDB;
DROP LOGFILE GROUP lg1
ENGINE NDB;
**** End = And No = ****
-create table t1 (a int primary key) engine = myisam;
-create logfile group lg1 add undofile 'MYSQLTEST_VARDIR/master-data/test/t1.frm' initial_size 1M undo_buffer_size = 1M engine=ndb;;
+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/master-data/test/t1.frm' use logfile group lg1 initial_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;
-drop table t1;
diff --git a/mysql-test/suite/ndb/r/ndb_dd_dump.result b/mysql-test/suite/ndb/r/ndb_dd_dump.result
index 9b1a1295588..b48073df1fd 100644
--- a/mysql-test/suite/ndb/r/ndb_dd_dump.result
+++ b/mysql-test/suite/ndb/r/ndb_dd_dump.result
@@ -200,6 +200,240 @@ COUNT(*)
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;
diff --git a/mysql-test/suite/ndb/r/ndb_gis.result b/mysql-test/suite/ndb/r/ndb_gis.result
index 54f1fc23489..6c44c6fb822 100644
--- a/mysql-test/suite/ndb/r/ndb_gis.result
+++ b/mysql-test/suite/ndb/r/ndb_gis.result
@@ -463,7 +463,7 @@ drop table t1;
End of 4.1 tests
CREATE TABLE t1 (name VARCHAR(100), square GEOMETRY);
Warnings:
-Error 1475 Table storage engine 'ndbcluster' does not support the create option 'Binlog of table with BLOB attribute and no PK'
+Error 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))'));
@@ -1013,7 +1013,7 @@ drop table t1;
End of 4.1 tests
CREATE TABLE t1 (name VARCHAR(100), square GEOMETRY);
Warnings:
-Error 1475 Table storage engine 'ndbcluster' does not support the create option 'Binlog of table with BLOB attribute and no PK'
+Error 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))'));
diff --git a/mysql-test/suite/ndb/r/ndb_index_unique.result b/mysql-test/suite/ndb/r/ndb_index_unique.result
index cc63ce69760..bfc0c5a2e56 100644
--- a/mysql-test/suite/ndb/r/ndb_index_unique.result
+++ b/mysql-test/suite/ndb/r/ndb_index_unique.result
@@ -22,7 +22,7 @@ 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 '' for key '*UNKNOWN*'
+ERROR 23000: Duplicate entry '2' for key 'ib'
select * from t1 order by a;
a b c
1 2 3
@@ -93,7 +93,7 @@ a b c
1 1 1
4 4 NULL
insert into t1 values(5,1,1);
-ERROR 23000: Duplicate entry '' for key '*UNKNOWN*'
+ERROR 23000: Duplicate entry '1-1' for key 'bc'
drop table t1;
CREATE TABLE t2 (
a int unsigned NOT NULL PRIMARY KEY,
@@ -116,7 +116,7 @@ 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 '' for key '*UNKNOWN*'
+ERROR 23000: Duplicate entry '2-3' for key 'b'
select * from t2 order by a;
a b c
1 2 3
@@ -139,7 +139,7 @@ a b c
8 2 3
create unique index bi using hash on t2(b);
insert into t2 values(9, 3, 1);
-ERROR 23000: Duplicate entry '' for key '*UNKNOWN*'
+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;
@@ -229,7 +229,7 @@ pk a
3 NULL
4 4
insert into t1 values (5,0);
-ERROR 23000: Duplicate entry '' for key '*UNKNOWN*'
+ERROR 23000: Duplicate entry '0' for key 'a'
select * from t1 order by pk;
pk a
-1 NULL
@@ -262,7 +262,7 @@ pk a b c
0 NULL 18 NULL
1 3 19 abc
insert into t2 values(2,3,19,'abc');
-ERROR 23000: Duplicate entry '' for key '*UNKNOWN*'
+ERROR 23000: Duplicate entry '3-abc' for key 'si'
select * from t2 order by pk;
pk a b c
-1 1 17 NULL
@@ -682,7 +682,7 @@ 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 '' for key '*UNKNOWN*'
+ERROR 23000: Duplicate entry '∫dt∫dt∫dt∫dt∫dt∫dt∫dt∫dt∫dt∫dt∫dt∫dt∫d' for key 'b'
select a, sha1(b) from t1;
a sha1(b)
1 08f5d02c8b8bc244f275bdfc22c42c5cab0d9d7d
diff --git a/mysql-test/suite/ndb/r/ndb_insert.result b/mysql-test/suite/ndb/r/ndb_insert.result
index 51b346bbf7b..7551dc71823 100644
--- a/mysql-test/suite/ndb/r/ndb_insert.result
+++ b/mysql-test/suite/ndb/r/ndb_insert.result
@@ -657,172 +657,3 @@ a b
2 NULL
3 NULL
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;
diff --git a/mysql-test/suite/ndb/r/ndb_lock_table.result b/mysql-test/suite/ndb/r/ndb_lock_table.result
new file mode 100644
index 00000000000..a0550273e1a
--- /dev/null
+++ b/mysql-test/suite/ndb/r/ndb_lock_table.result
@@ -0,0 +1,11 @@
+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_multi.result b/mysql-test/suite/ndb/r/ndb_multi.result
index 2bc49bf9b45..40483887919 100644
--- a/mysql-test/suite/ndb/r/ndb_multi.result
+++ b/mysql-test/suite/ndb/r/ndb_multi.result
@@ -1,4 +1,5 @@
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;
@@ -121,3 +122,24 @@ 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
index cf5a76d6f01..3d34b16a1a8 100644
--- a/mysql-test/suite/ndb/r/ndb_multi_row.result
+++ b/mysql-test/suite/ndb/r/ndb_multi_row.result
@@ -1,4 +1,5 @@
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;
diff --git a/mysql-test/suite/ndb/r/ndb_partition_key.result b/mysql-test/suite/ndb/r/ndb_partition_key.result
index 60e96ce03b6..ed84b90951b 100644
--- a/mysql-test/suite/ndb/r/ndb_partition_key.result
+++ b/mysql-test/suite/ndb/r/ndb_partition_key.result
@@ -38,6 +38,23 @@ a b c
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)
@@ -88,6 +105,12 @@ PARTITION BY KEY(a)
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;
@@ -143,7 +166,6 @@ t1 CREATE TABLE `t1` (
alter table t1
partition by key(a)
(partition p0 engine=ndb, partition p1);
-ERROR HY000: The mix of handlers in the partitions is not allowed in this version of MySQL
alter table t1
engine=ndb
partition by key(a)
diff --git a/mysql-test/suite/ndb/r/ndb_partition_range.result b/mysql-test/suite/ndb/r/ndb_partition_range.result
index 0c717ed55e9..198898879df 100644
--- a/mysql-test/suite/ndb/r/ndb_partition_range.result
+++ b/mysql-test/suite/ndb/r/ndb_partition_range.result
@@ -46,6 +46,14 @@ 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,
diff --git a/mysql-test/suite/ndb/r/ndb_read_multi_range.result b/mysql-test/suite/ndb/r/ndb_read_multi_range.result
index 8443d0473a8..4c3496f3f47 100644
--- a/mysql-test/suite/ndb/r/ndb_read_multi_range.result
+++ b/mysql-test/suite/ndb/r/ndb_read_multi_range.result
@@ -473,3 +473,22 @@ 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;
diff --git a/mysql-test/suite/ndb/r/ndb_restore.result b/mysql-test/suite/ndb/r/ndb_restore.result
index d1c76192cef..a33c5c5f31c 100644
--- a/mysql-test/suite/ndb/r/ndb_restore.result
+++ b/mysql-test/suite/ndb/r/ndb_restore.result
@@ -141,6 +141,11 @@ 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
+NULL test t1_c capgoaledatta 1 NULL NO mediumint NULL NULL 7 0 NULL NULL mediumint(5) unsigned PRI auto_increment select,insert,update,references
+NULL test t1_c goaledatta 2 NO char 2 2 NULL NULL latin1 latin1_swedish_ci char(2) PRI select,insert,update,references
+NULL 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
@@ -248,21 +253,41 @@ a
2000
3000
10000
-show table status like 't1_c';
-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
-X X X X X X X X X X 3001 X X X X X X X
-show table status like 't2_c';
-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
-X X X X X X X X X X 501 X X X X X X X
-show table status like 't4_c';
-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
-X X X X X X X X X X 290000001 X X X X X X X
-show table status like 't7_c';
-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
-X X X X X X X X X X 29 X X X X X X X
-show table status like 't10_c';
-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
-X X X X X X X X X X 10001 X X X X X X X
+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 = HEAP;
diff --git a/mysql-test/suite/ndb/r/ndb_restore_compat.result b/mysql-test/suite/ndb/r/ndb_restore_compat.result
index db17f9af32b..f2630573220 100644
--- a/mysql-test/suite/ndb/r/ndb_restore_compat.result
+++ b/mysql-test/suite/ndb/r/ndb_restore_compat.result
@@ -111,4 +111,9 @@ SYSTEM_VALUES_ID VALUE
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
new file mode 100644
index 00000000000..e552de8d854
--- /dev/null
+++ b/mysql-test/suite/ndb/r/ndb_restore_different_endian_data.result
@@ -0,0 +1,200 @@
+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 1e+20 1e+150 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 1e+20 1e+150 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_row_format.result b/mysql-test/suite/ndb/r/ndb_row_format.result
index 37c239986f6..eea0692dd92 100644
--- a/mysql-test/suite/ndb/r/ndb_row_format.result
+++ b/mysql-test/suite/ndb/r/ndb_row_format.result
@@ -8,7 +8,7 @@ ENGINE=NDB;
ERROR HY000: Can't create table 'test.t1' (errno: 138)
SHOW WARNINGS;
Level Code Message
-Error 1475 Table storage engine 'ndbcluster' does not support the create option 'Row format FIXED incompatible with variable sized attribute'
+Error 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,
diff --git a/mysql-test/suite/ndb/r/ndb_single_user.result b/mysql-test/suite/ndb/r/ndb_single_user.result
index f916422a509..0a4f7cd0b5f 100644
--- a/mysql-test/suite/ndb/r/ndb_single_user.result
+++ b/mysql-test/suite/ndb/r/ndb_single_user.result
@@ -11,7 +11,7 @@ ERROR HY000: Failed to create LOGFILE GROUP
show warnings;
Level Code Message
Error 1296 Got error 299 'Operation not allowed or aborted due to single user mode' from NDB
-Error 1525 Failed to create LOGFILE GROUP
+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'
@@ -27,14 +27,14 @@ ERROR HY000: Failed to create TABLESPACE
show warnings;
Level Code Message
Error 1296 Got error 299 'Operation not allowed or aborted due to single user mode' from NDB
-Error 1525 Failed to create TABLESPACE
+Error 1528 Failed to create TABLESPACE
DROP LOGFILE GROUP lg1
ENGINE =NDB;
ERROR HY000: Failed to drop LOGFILE GROUP
show warnings;
Level Code Message
Error 1296 Got error 299 'Operation not allowed or aborted due to single user mode' from NDB
-Error 1526 Failed to drop LOGFILE GROUP
+Error 1529 Failed to drop LOGFILE GROUP
CREATE TABLESPACE ts1
ADD DATAFILE 'datafile.dat'
USE LOGFILE GROUP lg1
@@ -47,7 +47,7 @@ ERROR HY000: Failed to alter: DROP DATAFILE
show warnings;
Level Code Message
Error 1296 Got error 299 'Operation not allowed or aborted due to single user mode' from NDB
-Error 1530 Failed to alter: DROP DATAFILE
+Error 1533 Failed to alter: DROP DATAFILE
ALTER TABLESPACE ts1
DROP DATAFILE 'datafile.dat'
ENGINE NDB;
@@ -57,7 +57,7 @@ ERROR HY000: Failed to drop TABLESPACE
show warnings;
Level Code Message
Error 1296 Got error 299 'Operation not allowed or aborted due to single user mode' from NDB
-Error 1526 Failed to drop TABLESPACE
+Error 1529 Failed to drop TABLESPACE
DROP TABLESPACE ts1
ENGINE NDB;
DROP LOGFILE GROUP lg1
diff --git a/mysql-test/suite/ndb/r/ndb_temporary.result b/mysql-test/suite/ndb/r/ndb_temporary.result
index 61fc1561e4f..7b7740003af 100644
--- a/mysql-test/suite/ndb/r/ndb_temporary.result
+++ b/mysql-test/suite/ndb/r/ndb_temporary.result
@@ -9,7 +9,7 @@ SET SESSION storage_engine=NDBCLUSTER;
create table t1 (a int key);
select engine from information_schema.tables where table_name = 't1';
engine
-NDBCLUSTER
+ndbcluster
drop table t1;
create temporary table t1 (a int key);
show create table t1;
diff --git a/mysql-test/suite/ndb/r/ndb_update.result b/mysql-test/suite/ndb/r/ndb_update.result
index daea0e27a6a..fa083587956 100644
--- a/mysql-test/suite/ndb/r/ndb_update.result
+++ b/mysql-test/suite/ndb/r/ndb_update.result
@@ -28,7 +28,7 @@ pk1 b c
2 2 2
4 1 1
UPDATE t1 set pk1 = 1, c = 2 where pk1 = 4;
-ERROR 23000: Duplicate entry '' for key '*UNKNOWN*'
+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
@@ -41,6 +41,14 @@ 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;
@@ -54,9 +62,9 @@ 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 '' for key '*UNKNOWN*'
+ERROR 23000: Duplicate entry '1-2' for key 'a'
UPDATE t2 SET a = 1 ORDER BY a;
-ERROR 23000: Duplicate entry '' for key '*UNKNOWN*'
+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;
diff --git a/mysql-test/suite/ndb/r/ndb_update_no_read.result b/mysql-test/suite/ndb/r/ndb_update_no_read.result
new file mode 100644
index 00000000000..4373800d338
--- /dev/null
+++ b/mysql-test/suite/ndb/r/ndb_update_no_read.result
@@ -0,0 +1,75 @@
+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/partition_03ndb.result b/mysql-test/suite/ndb/r/partition_03ndb.result
deleted file mode 100644
index 28339cc7435..00000000000
--- a/mysql-test/suite/ndb/r/partition_03ndb.result
+++ /dev/null
@@ -1,1361 +0,0 @@
-SET SESSION storage_engine='NDB' ;
-SET @max_row = 200;
-SET AUTOCOMMIT= 1;
-#------------------------------------------------------------------------
-# 0. Creation of an auxiliary table needed in all testcases
-#------------------------------------------------------------------------
-DROP TABLE IF EXISTS t0_template;
-CREATE TABLE t0_template ( f1 INTEGER, f2 char(20), PRIMARY KEY(f1))
-ENGINE = MEMORY;
-# Logging of 200 INSERTs into t0_template suppressed
-#------------------------------------------------------------------------
-# 1. Some syntax checks
-#------------------------------------------------------------------------
-# 1.1 Subpartioned table without subpartitioning rule must be rejected
-DROP TABLE IF EXISTS t1;
-#------------------------------------------------------------------------
-# 2. Checks where the engine is set on all supported CREATE TABLE
-# statement positions + basic operations on the tables
-#------------------------------------------------------------------------
-DROP TABLE IF EXISTS t1;
-# 2.1 table (non partitioned) for comparison
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20)) ENGINE = 'NDB' ;
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) default NULL,
- `f2` char(20) default NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY KEY ()
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 1 AND 200;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-UPDATE t1 SET f1 = f1 + 200
-WHERE f1 BETWEEN 100 - 50 AND 100 + 50;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 100 + 50 + 200 )
-AS my_value FROM t1;
-my_value
-1
-DELETE FROM t1
-WHERE f1 BETWEEN 100 - 50 + 200 AND 100 + 50 + 200;
-SELECT (COUNT(*) = 200 - 50 - 50 - 1) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SET f1 = 0 , f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 0 AND f2 = '#######';
-my_value
-1
-INSERT INTO t1 SET f1 = 200 + 1, f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 1 AND f2 = '#######';
-my_value
-1
-UPDATE t1 SET f1 = 200 + 2, f2 = 'ZZZZZZZ'
- WHERE f1 = 0 AND f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-my_value
-1
-DELETE FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-SELECT COUNT(*) = 0 AS my_value FROM t1 WHERE f2 = 'ZZZZZZZ';
-my_value
-1
-TRUNCATE t1;
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-DROP TABLE t1;
-# 2.2 table with engine setting just after column list
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20)) ENGINE = 'NDB'
-PARTITION BY HASH(f1) PARTITIONS 2;
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) default NULL,
- `f2` char(20) default NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY HASH (f1) PARTITIONS 2
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 1 AND 200;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-UPDATE t1 SET f1 = f1 + 200
-WHERE f1 BETWEEN 100 - 50 AND 100 + 50;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 100 + 50 + 200 )
-AS my_value FROM t1;
-my_value
-1
-DELETE FROM t1
-WHERE f1 BETWEEN 100 - 50 + 200 AND 100 + 50 + 200;
-SELECT (COUNT(*) = 200 - 50 - 50 - 1) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SET f1 = 0 , f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 0 AND f2 = '#######';
-my_value
-1
-INSERT INTO t1 SET f1 = 200 + 1, f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 1 AND f2 = '#######';
-my_value
-1
-UPDATE t1 SET f1 = 200 + 2, f2 = 'ZZZZZZZ'
- WHERE f1 = 0 AND f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-my_value
-1
-DELETE FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-SELECT COUNT(*) = 0 AS my_value FROM t1 WHERE f2 = 'ZZZZZZZ';
-my_value
-1
-TRUNCATE t1;
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-DROP TABLE t1;
-# 2.3 table with engine setting in the named partition part
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1)
-( PARTITION part1 STORAGE ENGINE = 'NDB' ,
-PARTITION part2 STORAGE ENGINE = 'NDB'
-);
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) default NULL,
- `f2` char(20) default NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY HASH (f1) (PARTITION part1 ENGINE = ndbcluster, PARTITION part2 ENGINE = ndbcluster)
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 1 AND 200;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-UPDATE t1 SET f1 = f1 + 200
-WHERE f1 BETWEEN 100 - 50 AND 100 + 50;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 100 + 50 + 200 )
-AS my_value FROM t1;
-my_value
-1
-DELETE FROM t1
-WHERE f1 BETWEEN 100 - 50 + 200 AND 100 + 50 + 200;
-SELECT (COUNT(*) = 200 - 50 - 50 - 1) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SET f1 = 0 , f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 0 AND f2 = '#######';
-my_value
-1
-INSERT INTO t1 SET f1 = 200 + 1, f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 1 AND f2 = '#######';
-my_value
-1
-UPDATE t1 SET f1 = 200 + 2, f2 = 'ZZZZZZZ'
- WHERE f1 = 0 AND f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-my_value
-1
-DELETE FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-SELECT COUNT(*) = 0 AS my_value FROM t1 WHERE f2 = 'ZZZZZZZ';
-my_value
-1
-TRUNCATE t1;
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-DROP TABLE t1;
-# 2.4 table with engine setting in the named subpartition part
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1)
-SUBPARTITION BY HASH(f1)
-( PARTITION part1 VALUES LESS THAN (1000)
-(SUBPARTITION subpart11 STORAGE ENGINE = 'NDB' ,
-SUBPARTITION subpart12 STORAGE ENGINE = 'NDB' ),
-PARTITION part2 VALUES LESS THAN (2000)
-(SUBPARTITION subpart21 STORAGE ENGINE = 'NDB' ,
-SUBPARTITION subpart22 STORAGE ENGINE = 'NDB' )
-);
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) default NULL,
- `f2` char(20) default NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY RANGE (f1) SUBPARTITION BY HASH (f1) (PARTITION part1 VALUES LESS THAN (1000) (SUBPARTITION subpart11 ENGINE = ndbcluster, SUBPARTITION subpart12 ENGINE = ndbcluster), PARTITION part2 VALUES LESS THAN (2000) (SUBPARTITION subpart21 ENGINE = ndbcluster, SUBPARTITION subpart22 ENGINE = ndbcluster))
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 1 AND 200;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-UPDATE t1 SET f1 = f1 + 200
-WHERE f1 BETWEEN 100 - 50 AND 100 + 50;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 100 + 50 + 200 )
-AS my_value FROM t1;
-my_value
-1
-DELETE FROM t1
-WHERE f1 BETWEEN 100 - 50 + 200 AND 100 + 50 + 200;
-SELECT (COUNT(*) = 200 - 50 - 50 - 1) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SET f1 = 0 , f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 0 AND f2 = '#######';
-my_value
-1
-INSERT INTO t1 SET f1 = 200 + 1, f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 1 AND f2 = '#######';
-my_value
-1
-UPDATE t1 SET f1 = 200 + 2, f2 = 'ZZZZZZZ'
- WHERE f1 = 0 AND f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-my_value
-1
-DELETE FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-SELECT COUNT(*) = 0 AS my_value FROM t1 WHERE f2 = 'ZZZZZZZ';
-my_value
-1
-TRUNCATE t1;
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-DROP TABLE t1;
-# 2.5 Ugly "incomplete" storage engine assignments
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1)
-( PARTITION part1 STORAGE ENGINE = 'NDB' ,
-PARTITION part2
-);
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) default NULL,
- `f2` char(20) default NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY HASH (f1) (PARTITION part1 ENGINE = ndbcluster, PARTITION part2 ENGINE = ndbcluster)
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 1 AND 200;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-UPDATE t1 SET f1 = f1 + 200
-WHERE f1 BETWEEN 100 - 50 AND 100 + 50;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 100 + 50 + 200 )
-AS my_value FROM t1;
-my_value
-1
-DELETE FROM t1
-WHERE f1 BETWEEN 100 - 50 + 200 AND 100 + 50 + 200;
-SELECT (COUNT(*) = 200 - 50 - 50 - 1) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SET f1 = 0 , f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 0 AND f2 = '#######';
-my_value
-1
-INSERT INTO t1 SET f1 = 200 + 1, f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 1 AND f2 = '#######';
-my_value
-1
-UPDATE t1 SET f1 = 200 + 2, f2 = 'ZZZZZZZ'
- WHERE f1 = 0 AND f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-my_value
-1
-DELETE FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-SELECT COUNT(*) = 0 AS my_value FROM t1 WHERE f2 = 'ZZZZZZZ';
-my_value
-1
-TRUNCATE t1;
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-DROP TABLE t1;
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1)
-( PARTITION part1 ,
-PARTITION part2 STORAGE ENGINE = 'NDB'
-);
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) default NULL,
- `f2` char(20) default NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY HASH (f1) (PARTITION part1 ENGINE = ndbcluster, PARTITION part2 ENGINE = ndbcluster)
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 1 AND 200;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-UPDATE t1 SET f1 = f1 + 200
-WHERE f1 BETWEEN 100 - 50 AND 100 + 50;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 100 + 50 + 200 )
-AS my_value FROM t1;
-my_value
-1
-DELETE FROM t1
-WHERE f1 BETWEEN 100 - 50 + 200 AND 100 + 50 + 200;
-SELECT (COUNT(*) = 200 - 50 - 50 - 1) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SET f1 = 0 , f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 0 AND f2 = '#######';
-my_value
-1
-INSERT INTO t1 SET f1 = 200 + 1, f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 1 AND f2 = '#######';
-my_value
-1
-UPDATE t1 SET f1 = 200 + 2, f2 = 'ZZZZZZZ'
- WHERE f1 = 0 AND f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-my_value
-1
-DELETE FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-SELECT COUNT(*) = 0 AS my_value FROM t1 WHERE f2 = 'ZZZZZZZ';
-my_value
-1
-TRUNCATE t1;
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-DROP TABLE t1;
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1)
-SUBPARTITION BY HASH(f1)
-( PARTITION part1 VALUES LESS THAN (1000)
-(SUBPARTITION subpart11,
-SUBPARTITION subpart12 STORAGE ENGINE = 'NDB' ),
-PARTITION part2 VALUES LESS THAN (2000)
-(SUBPARTITION subpart21 STORAGE ENGINE = 'NDB' ,
-SUBPARTITION subpart22 STORAGE ENGINE = 'NDB' )
-);
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) default NULL,
- `f2` char(20) default NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY RANGE (f1) SUBPARTITION BY HASH (f1) (PARTITION part1 VALUES LESS THAN (1000) (SUBPARTITION subpart11 ENGINE = ndbcluster, SUBPARTITION subpart12 ENGINE = ndbcluster), PARTITION part2 VALUES LESS THAN (2000) (SUBPARTITION subpart21 ENGINE = ndbcluster, SUBPARTITION subpart22 ENGINE = ndbcluster))
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 1 AND 200;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-UPDATE t1 SET f1 = f1 + 200
-WHERE f1 BETWEEN 100 - 50 AND 100 + 50;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 100 + 50 + 200 )
-AS my_value FROM t1;
-my_value
-1
-DELETE FROM t1
-WHERE f1 BETWEEN 100 - 50 + 200 AND 100 + 50 + 200;
-SELECT (COUNT(*) = 200 - 50 - 50 - 1) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SET f1 = 0 , f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 0 AND f2 = '#######';
-my_value
-1
-INSERT INTO t1 SET f1 = 200 + 1, f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 1 AND f2 = '#######';
-my_value
-1
-UPDATE t1 SET f1 = 200 + 2, f2 = 'ZZZZZZZ'
- WHERE f1 = 0 AND f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-my_value
-1
-DELETE FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-SELECT COUNT(*) = 0 AS my_value FROM t1 WHERE f2 = 'ZZZZZZZ';
-my_value
-1
-TRUNCATE t1;
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-DROP TABLE t1;
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1)
-SUBPARTITION BY HASH(f1)
-( PARTITION part1 VALUES LESS THAN (1000)
-(SUBPARTITION subpart11 STORAGE ENGINE = 'NDB' ,
-SUBPARTITION subpart12 STORAGE ENGINE = 'NDB' ),
-PARTITION part2 VALUES LESS THAN (2000)
-(SUBPARTITION subpart21 ,
-SUBPARTITION subpart22 )
-);
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) default NULL,
- `f2` char(20) default NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY RANGE (f1) SUBPARTITION BY HASH (f1) (PARTITION part1 VALUES LESS THAN (1000) (SUBPARTITION subpart11 ENGINE = ndbcluster, SUBPARTITION subpart12 ENGINE = ndbcluster), PARTITION part2 VALUES LESS THAN (2000) (SUBPARTITION subpart21 ENGINE = ndbcluster, SUBPARTITION subpart22 ENGINE = ndbcluster))
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 1 AND 200;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-UPDATE t1 SET f1 = f1 + 200
-WHERE f1 BETWEEN 100 - 50 AND 100 + 50;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 100 + 50 + 200 )
-AS my_value FROM t1;
-my_value
-1
-DELETE FROM t1
-WHERE f1 BETWEEN 100 - 50 + 200 AND 100 + 50 + 200;
-SELECT (COUNT(*) = 200 - 50 - 50 - 1) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SET f1 = 0 , f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 0 AND f2 = '#######';
-my_value
-1
-INSERT INTO t1 SET f1 = 200 + 1, f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 1 AND f2 = '#######';
-my_value
-1
-UPDATE t1 SET f1 = 200 + 2, f2 = 'ZZZZZZZ'
- WHERE f1 = 0 AND f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-my_value
-1
-DELETE FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-SELECT COUNT(*) = 0 AS my_value FROM t1 WHERE f2 = 'ZZZZZZZ';
-my_value
-1
-TRUNCATE t1;
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-DROP TABLE t1;
-# 2.6 Ugly "over determined" storage engine assignments
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20)) ENGINE = 'NDB'
-PARTITION BY HASH(f1)
-( PARTITION part1 STORAGE ENGINE = 'NDB' ,
-PARTITION part2 STORAGE ENGINE = 'NDB'
-);
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) default NULL,
- `f2` char(20) default NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY HASH (f1) (PARTITION part1 ENGINE = ndbcluster, PARTITION part2 ENGINE = ndbcluster)
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 1 AND 200;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-UPDATE t1 SET f1 = f1 + 200
-WHERE f1 BETWEEN 100 - 50 AND 100 + 50;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 100 + 50 + 200 )
-AS my_value FROM t1;
-my_value
-1
-DELETE FROM t1
-WHERE f1 BETWEEN 100 - 50 + 200 AND 100 + 50 + 200;
-SELECT (COUNT(*) = 200 - 50 - 50 - 1) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SET f1 = 0 , f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 0 AND f2 = '#######';
-my_value
-1
-INSERT INTO t1 SET f1 = 200 + 1, f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 1 AND f2 = '#######';
-my_value
-1
-UPDATE t1 SET f1 = 200 + 2, f2 = 'ZZZZZZZ'
- WHERE f1 = 0 AND f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-my_value
-1
-DELETE FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-SELECT COUNT(*) = 0 AS my_value FROM t1 WHERE f2 = 'ZZZZZZZ';
-my_value
-1
-TRUNCATE t1;
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-DROP TABLE t1;
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20)) ENGINE = 'NDB'
-PARTITION BY RANGE(f1)
-SUBPARTITION BY HASH(f1)
-( PARTITION part1 VALUES LESS THAN (1000)
-(SUBPARTITION subpart11 STORAGE ENGINE = 'NDB' ,
-SUBPARTITION subpart12 STORAGE ENGINE = 'NDB' ),
-PARTITION part2 VALUES LESS THAN (2000)
-(SUBPARTITION subpart21 STORAGE ENGINE = 'NDB' ,
-SUBPARTITION subpart22 STORAGE ENGINE = 'NDB' )
-);
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) default NULL,
- `f2` char(20) default NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY RANGE (f1) SUBPARTITION BY HASH (f1) (PARTITION part1 VALUES LESS THAN (1000) (SUBPARTITION subpart11 ENGINE = ndbcluster, SUBPARTITION subpart12 ENGINE = ndbcluster), PARTITION part2 VALUES LESS THAN (2000) (SUBPARTITION subpart21 ENGINE = ndbcluster, SUBPARTITION subpart22 ENGINE = ndbcluster))
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 1 AND 200;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-UPDATE t1 SET f1 = f1 + 200
-WHERE f1 BETWEEN 100 - 50 AND 100 + 50;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 100 + 50 + 200 )
-AS my_value FROM t1;
-my_value
-1
-DELETE FROM t1
-WHERE f1 BETWEEN 100 - 50 + 200 AND 100 + 50 + 200;
-SELECT (COUNT(*) = 200 - 50 - 50 - 1) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SET f1 = 0 , f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 0 AND f2 = '#######';
-my_value
-1
-INSERT INTO t1 SET f1 = 200 + 1, f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 1 AND f2 = '#######';
-my_value
-1
-UPDATE t1 SET f1 = 200 + 2, f2 = 'ZZZZZZZ'
- WHERE f1 = 0 AND f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-my_value
-1
-DELETE FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-SELECT COUNT(*) = 0 AS my_value FROM t1 WHERE f2 = 'ZZZZZZZ';
-my_value
-1
-TRUNCATE t1;
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-DROP TABLE t1;
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1)
-SUBPARTITION BY HASH(f1)
-( PARTITION part1 VALUES LESS THAN (1000) STORAGE ENGINE = 'NDB'
-(SUBPARTITION subpart11 STORAGE ENGINE = 'NDB' ,
-SUBPARTITION subpart12 STORAGE ENGINE = 'NDB' ),
-PARTITION part2 VALUES LESS THAN (2000)
-(SUBPARTITION subpart21 STORAGE ENGINE = 'NDB' ,
-SUBPARTITION subpart22 STORAGE ENGINE = 'NDB' )
-);
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) default NULL,
- `f2` char(20) default NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY RANGE (f1) SUBPARTITION BY HASH (f1) (PARTITION part1 VALUES LESS THAN (1000) (SUBPARTITION subpart11 ENGINE = ndbcluster, SUBPARTITION subpart12 ENGINE = ndbcluster), PARTITION part2 VALUES LESS THAN (2000) (SUBPARTITION subpart21 ENGINE = ndbcluster, SUBPARTITION subpart22 ENGINE = ndbcluster))
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 1 AND 200;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-UPDATE t1 SET f1 = f1 + 200
-WHERE f1 BETWEEN 100 - 50 AND 100 + 50;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 100 + 50 + 200 )
-AS my_value FROM t1;
-my_value
-1
-DELETE FROM t1
-WHERE f1 BETWEEN 100 - 50 + 200 AND 100 + 50 + 200;
-SELECT (COUNT(*) = 200 - 50 - 50 - 1) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SET f1 = 0 , f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 0 AND f2 = '#######';
-my_value
-1
-INSERT INTO t1 SET f1 = 200 + 1, f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 1 AND f2 = '#######';
-my_value
-1
-UPDATE t1 SET f1 = 200 + 2, f2 = 'ZZZZZZZ'
- WHERE f1 = 0 AND f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-my_value
-1
-DELETE FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-SELECT COUNT(*) = 0 AS my_value FROM t1 WHERE f2 = 'ZZZZZZZ';
-my_value
-1
-TRUNCATE t1;
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-DROP TABLE t1;
-# 2.7 Ugly storage engine assignments mixups
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1)
-SUBPARTITION BY HASH(f1)
-( PARTITION part1 VALUES LESS THAN (1000) ENGINE = 'NDB'
-(SUBPARTITION subpart11 ,
-SUBPARTITION subpart12 ),
-PARTITION part2 VALUES LESS THAN (2000)
-(SUBPARTITION subpart21 STORAGE ENGINE = 'NDB' ,
-SUBPARTITION subpart22 STORAGE ENGINE = 'NDB' )
-);
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) default NULL,
- `f2` char(20) default NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY RANGE (f1) SUBPARTITION BY HASH (f1) (PARTITION part1 VALUES LESS THAN (1000) (SUBPARTITION subpart11 ENGINE = ndbcluster, SUBPARTITION subpart12 ENGINE = ndbcluster), PARTITION part2 VALUES LESS THAN (2000) (SUBPARTITION subpart21 ENGINE = ndbcluster, SUBPARTITION subpart22 ENGINE = ndbcluster))
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 1 AND 200;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-UPDATE t1 SET f1 = f1 + 200
-WHERE f1 BETWEEN 100 - 50 AND 100 + 50;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 100 + 50 + 200 )
-AS my_value FROM t1;
-my_value
-1
-DELETE FROM t1
-WHERE f1 BETWEEN 100 - 50 + 200 AND 100 + 50 + 200;
-SELECT (COUNT(*) = 200 - 50 - 50 - 1) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SET f1 = 0 , f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 0 AND f2 = '#######';
-my_value
-1
-INSERT INTO t1 SET f1 = 200 + 1, f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 1 AND f2 = '#######';
-my_value
-1
-UPDATE t1 SET f1 = 200 + 2, f2 = 'ZZZZZZZ'
- WHERE f1 = 0 AND f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-my_value
-1
-DELETE FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-SELECT COUNT(*) = 0 AS my_value FROM t1 WHERE f2 = 'ZZZZZZZ';
-my_value
-1
-TRUNCATE t1;
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-DROP TABLE t1;
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1)
-SUBPARTITION BY HASH(f1)
-( PARTITION part1 VALUES LESS THAN (1000)
-(SUBPARTITION subpart11 STORAGE ENGINE = 'NDB' ,
-SUBPARTITION subpart12 STORAGE ENGINE = 'NDB' ),
-PARTITION part2 VALUES LESS THAN (2000) ENGINE = 'NDB'
-(SUBPARTITION subpart21 ,
-SUBPARTITION subpart22 )
-);
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) default NULL,
- `f2` char(20) default NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY RANGE (f1) SUBPARTITION BY HASH (f1) (PARTITION part1 VALUES LESS THAN (1000) (SUBPARTITION subpart11 ENGINE = ndbcluster, SUBPARTITION subpart12 ENGINE = ndbcluster), PARTITION part2 VALUES LESS THAN (2000) (SUBPARTITION subpart21 ENGINE = ndbcluster, SUBPARTITION subpart22 ENGINE = ndbcluster))
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 1 AND 200;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-UPDATE t1 SET f1 = f1 + 200
-WHERE f1 BETWEEN 100 - 50 AND 100 + 50;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 100 + 50 + 200 )
-AS my_value FROM t1;
-my_value
-1
-DELETE FROM t1
-WHERE f1 BETWEEN 100 - 50 + 200 AND 100 + 50 + 200;
-SELECT (COUNT(*) = 200 - 50 - 50 - 1) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SET f1 = 0 , f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 0 AND f2 = '#######';
-my_value
-1
-INSERT INTO t1 SET f1 = 200 + 1, f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 1 AND f2 = '#######';
-my_value
-1
-UPDATE t1 SET f1 = 200 + 2, f2 = 'ZZZZZZZ'
- WHERE f1 = 0 AND f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-my_value
-1
-DELETE FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-SELECT COUNT(*) = 0 AS my_value FROM t1 WHERE f2 = 'ZZZZZZZ';
-my_value
-1
-TRUNCATE t1;
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-DROP TABLE t1;
-# 2.8 Session default engine differs from engine used within create table
-SET SESSION storage_engine='MEMORY';
-SET SESSION storage_engine='NDB' ;
-#------------------------------------------------------------------------
-# 3. Check number of partitions and subpartitions
-#------------------------------------------------------------------------
-DROP TABLE IF EXISTS t1;
-# 3.1 (positive) without partition/subpartition number assignment
-# 3.1.1 no partition number, no named partitions, no subpartitions mentioned
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1);
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) default NULL,
- `f2` char(20) default NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY HASH (f1)
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 1 AND 200;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-UPDATE t1 SET f1 = f1 + 200
-WHERE f1 BETWEEN 100 - 50 AND 100 + 50;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 100 + 50 + 200 )
-AS my_value FROM t1;
-my_value
-1
-DELETE FROM t1
-WHERE f1 BETWEEN 100 - 50 + 200 AND 100 + 50 + 200;
-SELECT (COUNT(*) = 200 - 50 - 50 - 1) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SET f1 = 0 , f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 0 AND f2 = '#######';
-my_value
-1
-INSERT INTO t1 SET f1 = 200 + 1, f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 1 AND f2 = '#######';
-my_value
-1
-UPDATE t1 SET f1 = 200 + 2, f2 = 'ZZZZZZZ'
- WHERE f1 = 0 AND f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-my_value
-1
-DELETE FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-SELECT COUNT(*) = 0 AS my_value FROM t1 WHERE f2 = 'ZZZZZZZ';
-my_value
-1
-TRUNCATE t1;
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-DROP TABLE t1;
-# 3.1.2 no partition number, named partitions, no subpartitions mentioned
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) (PARTITION part1, PARTITION part2);
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) default NULL,
- `f2` char(20) default NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY HASH (f1) (PARTITION part1 ENGINE = ndbcluster, PARTITION part2 ENGINE = ndbcluster)
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 1 AND 200;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-UPDATE t1 SET f1 = f1 + 200
-WHERE f1 BETWEEN 100 - 50 AND 100 + 50;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 100 + 50 + 200 )
-AS my_value FROM t1;
-my_value
-1
-DELETE FROM t1
-WHERE f1 BETWEEN 100 - 50 + 200 AND 100 + 50 + 200;
-SELECT (COUNT(*) = 200 - 50 - 50 - 1) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SET f1 = 0 , f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 0 AND f2 = '#######';
-my_value
-1
-INSERT INTO t1 SET f1 = 200 + 1, f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 1 AND f2 = '#######';
-my_value
-1
-UPDATE t1 SET f1 = 200 + 2, f2 = 'ZZZZZZZ'
- WHERE f1 = 0 AND f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-my_value
-1
-DELETE FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-SELECT COUNT(*) = 0 AS my_value FROM t1 WHERE f2 = 'ZZZZZZZ';
-my_value
-1
-TRUNCATE t1;
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-DROP TABLE t1;
-# 3.1.3 variations on no partition/subpartition number, named partitions,
-# different subpartitions are/are not named
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1) SUBPARTITION BY HASH(f1) (PARTITION part1 VALUES LESS THAN (1000), PARTITION part2 VALUES LESS THAN (2000), PARTITION part3 VALUES LESS THAN (2147483647)) ;
-DROP TABLE t1;
-# FIXME several subtestcases of 3.1.3 disabled because of server crashes
-# Bug#15407 Partitions: crash if subpartition
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1) SUBPARTITION BY HASH(f1) (PARTITION part1 VALUES LESS THAN (1000)
-(SUBPARTITION subpart11 , SUBPARTITION subpart12 ), PARTITION part2 VALUES LESS THAN (2000)
-(SUBPARTITION subpart21 , SUBPARTITION subpart22 ), PARTITION part3 VALUES LESS THAN (2147483647)
-(SUBPARTITION subpart21 , SUBPARTITION subpart22 )) ;
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) default NULL,
- `f2` char(20) default NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY RANGE (f1) SUBPARTITION BY HASH (f1) (PARTITION part1 VALUES LESS THAN (1000) (SUBPARTITION subpart11 ENGINE = ndbcluster, SUBPARTITION subpart12 ENGINE = ndbcluster), PARTITION part2 VALUES LESS THAN (2000) (SUBPARTITION subpart21 ENGINE = ndbcluster, SUBPARTITION subpart22 ENGINE = ndbcluster), PARTITION part3 VALUES LESS THAN (2147483647) (SUBPARTITION subpart21 ENGINE = ndbcluster, SUBPARTITION subpart22 ENGINE = ndbcluster))
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 1 AND 200;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-UPDATE t1 SET f1 = f1 + 200
-WHERE f1 BETWEEN 100 - 50 AND 100 + 50;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 100 + 50 + 200 )
-AS my_value FROM t1;
-my_value
-1
-DELETE FROM t1
-WHERE f1 BETWEEN 100 - 50 + 200 AND 100 + 50 + 200;
-SELECT (COUNT(*) = 200 - 50 - 50 - 1) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SET f1 = 0 , f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 0 AND f2 = '#######';
-my_value
-1
-INSERT INTO t1 SET f1 = 200 + 1, f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 1 AND f2 = '#######';
-my_value
-1
-UPDATE t1 SET f1 = 200 + 2, f2 = 'ZZZZZZZ'
- WHERE f1 = 0 AND f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-my_value
-1
-DELETE FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-SELECT COUNT(*) = 0 AS my_value FROM t1 WHERE f2 = 'ZZZZZZZ';
-my_value
-1
-TRUNCATE t1;
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-DROP TABLE t1;
-# 3.2 partition/subpartition numbers good and bad values and notations
-DROP TABLE IF EXISTS t1;
-# 3.2.1 partition/subpartition numbers INTEGER notation
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) PARTITIONS 2;
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) default NULL,
- `f2` char(20) default NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY HASH (f1) PARTITIONS 2
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 1 AND 200;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-UPDATE t1 SET f1 = f1 + 200
-WHERE f1 BETWEEN 100 - 50 AND 100 + 50;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 100 + 50 + 200 )
-AS my_value FROM t1;
-my_value
-1
-DELETE FROM t1
-WHERE f1 BETWEEN 100 - 50 + 200 AND 100 + 50 + 200;
-SELECT (COUNT(*) = 200 - 50 - 50 - 1) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SET f1 = 0 , f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 0 AND f2 = '#######';
-my_value
-1
-INSERT INTO t1 SET f1 = 200 + 1, f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 1 AND f2 = '#######';
-my_value
-1
-UPDATE t1 SET f1 = 200 + 2, f2 = 'ZZZZZZZ'
- WHERE f1 = 0 AND f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-my_value
-1
-DELETE FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-SELECT COUNT(*) = 0 AS my_value FROM t1 WHERE f2 = 'ZZZZZZZ';
-my_value
-1
-TRUNCATE t1;
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-DROP TABLE t1;
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1) SUBPARTITION BY HASH(f1)
-SUBPARTITIONS 2
-(PARTITION part1 VALUES LESS THAN (1000), PARTITION part2 VALUES LESS THAN (2147483647));
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) default NULL,
- `f2` char(20) default NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY RANGE (f1) SUBPARTITION BY HASH (f1) SUBPARTITIONS 2 (PARTITION part1 VALUES LESS THAN (1000) , PARTITION part2 VALUES LESS THAN (2147483647) )
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 1 AND 200;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-UPDATE t1 SET f1 = f1 + 200
-WHERE f1 BETWEEN 100 - 50 AND 100 + 50;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 100 + 50 + 200 )
-AS my_value FROM t1;
-my_value
-1
-DELETE FROM t1
-WHERE f1 BETWEEN 100 - 50 + 200 AND 100 + 50 + 200;
-SELECT (COUNT(*) = 200 - 50 - 50 - 1) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SET f1 = 0 , f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 0 AND f2 = '#######';
-my_value
-1
-INSERT INTO t1 SET f1 = 200 + 1, f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 1 AND f2 = '#######';
-my_value
-1
-UPDATE t1 SET f1 = 200 + 2, f2 = 'ZZZZZZZ'
- WHERE f1 = 0 AND f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-my_value
-1
-DELETE FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-SELECT COUNT(*) = 0 AS my_value FROM t1 WHERE f2 = 'ZZZZZZZ';
-my_value
-1
-TRUNCATE t1;
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-DROP TABLE t1;
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) PARTITIONS 1;
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) default NULL,
- `f2` char(20) default NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY HASH (f1) PARTITIONS 1
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 1 AND 200;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-UPDATE t1 SET f1 = f1 + 200
-WHERE f1 BETWEEN 100 - 50 AND 100 + 50;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 100 + 50 + 200 )
-AS my_value FROM t1;
-my_value
-1
-DELETE FROM t1
-WHERE f1 BETWEEN 100 - 50 + 200 AND 100 + 50 + 200;
-SELECT (COUNT(*) = 200 - 50 - 50 - 1) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SET f1 = 0 , f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 0 AND f2 = '#######';
-my_value
-1
-INSERT INTO t1 SET f1 = 200 + 1, f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 1 AND f2 = '#######';
-my_value
-1
-UPDATE t1 SET f1 = 200 + 2, f2 = 'ZZZZZZZ'
- WHERE f1 = 0 AND f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-my_value
-1
-DELETE FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-SELECT COUNT(*) = 0 AS my_value FROM t1 WHERE f2 = 'ZZZZZZZ';
-my_value
-1
-TRUNCATE t1;
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-DROP TABLE t1;
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1) SUBPARTITION BY HASH(f1)
-SUBPARTITIONS 1
-(PARTITION part1 VALUES LESS THAN (1000), PARTITION part2 VALUES LESS THAN (2147483647));
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) default NULL,
- `f2` char(20) default NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY RANGE (f1) SUBPARTITION BY HASH (f1) SUBPARTITIONS 1 (PARTITION part1 VALUES LESS THAN (1000) , PARTITION part2 VALUES LESS THAN (2147483647) )
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 1 AND 200;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-UPDATE t1 SET f1 = f1 + 200
-WHERE f1 BETWEEN 100 - 50 AND 100 + 50;
-SELECT (COUNT(*) = 200) AND (MIN(f1) = 1) AND (MAX(f1) = 100 + 50 + 200 )
-AS my_value FROM t1;
-my_value
-1
-DELETE FROM t1
-WHERE f1 BETWEEN 100 - 50 + 200 AND 100 + 50 + 200;
-SELECT (COUNT(*) = 200 - 50 - 50 - 1) AND (MIN(f1) = 1) AND (MAX(f1) = 200)
-AS my_value FROM t1;
-my_value
-1
-INSERT INTO t1 SET f1 = 0 , f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 0 AND f2 = '#######';
-my_value
-1
-INSERT INTO t1 SET f1 = 200 + 1, f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 1 AND f2 = '#######';
-my_value
-1
-UPDATE t1 SET f1 = 200 + 2, f2 = 'ZZZZZZZ'
- WHERE f1 = 0 AND f2 = '#######';
-SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-my_value
-1
-DELETE FROM t1 WHERE f1 = 200 + 2 AND f2 = 'ZZZZZZZ';
-SELECT COUNT(*) = 0 AS my_value FROM t1 WHERE f2 = 'ZZZZZZZ';
-my_value
-1
-TRUNCATE t1;
-SELECT COUNT(*) = 0 AS my_value FROM t1;
-my_value
-1
-DROP TABLE t1;
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) PARTITIONS 0;
-ERROR HY000: Number of partitions = 0 is not an allowed value
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1) SUBPARTITION BY HASH(f1)
-SUBPARTITIONS 0
-(PARTITION part1 VALUES LESS THAN (1000), PARTITION part2 VALUES LESS THAN (2147483647));
-ERROR HY000: Number of subpartitions = 0 is not an allowed value
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) 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 2
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1) SUBPARTITION BY HASH(f1)
-SUBPARTITIONS -1
-(PARTITION part1 VALUES LESS THAN (1000), PARTITION part2 VALUES LESS THAN (2147483647));
-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 (1000), PARTITION part2 VALUES LESS THAN (2' at line 3
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) PARTITIONS 1000000;
-ERROR HY000: Too many partitions were defined
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1) SUBPARTITION BY HASH(f1)
-SUBPARTITIONS 1000000
-(PARTITION part1 VALUES LESS THAN (1000), PARTITION part2 VALUES LESS THAN (2147483647));
-ERROR HY000: Too many partitions were defined
-# 3.2.4 partition/subpartition numbers STRING notation
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) 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 2
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1) SUBPARTITION BY HASH(f1)
-SUBPARTITIONS '2'
-(PARTITION part1 VALUES LESS THAN (1000), PARTITION part2 VALUES LESS THAN (2147483647));
-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 (1000), PARTITION part2 VALUES LESS THAN (' at line 3
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) 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 2
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1) SUBPARTITION BY HASH(f1)
-SUBPARTITIONS '2.0'
-(PARTITION part1 VALUES LESS THAN (1000), PARTITION part2 VALUES LESS THAN (2147483647));
-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 (1000), PARTITION part2 VALUES LESS THAN' at line 3
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) 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 2
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1) SUBPARTITION BY HASH(f1)
-SUBPARTITIONS '0.2E+1'
-(PARTITION part1 VALUES LESS THAN (1000), PARTITION part2 VALUES LESS THAN (2147483647));
-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 (1000), PARTITION part2 VALUES LESS T' at line 3
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) 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 2
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1) SUBPARTITION BY HASH(f1)
-SUBPARTITIONS '2A'
-(PARTITION part1 VALUES LESS THAN (1000), PARTITION part2 VALUES LESS THAN (2147483647));
-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 (1000), PARTITION part2 VALUES LESS THAN ' at line 3
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) 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 2
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1) SUBPARTITION BY HASH(f1)
-SUBPARTITIONS 'A2'
-(PARTITION part1 VALUES LESS THAN (1000), PARTITION part2 VALUES LESS THAN (2147483647));
-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 (1000), PARTITION part2 VALUES LESS THAN ' at line 3
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) 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 2
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1) SUBPARTITION BY HASH(f1)
-SUBPARTITIONS ''
-(PARTITION part1 VALUES LESS THAN (1000), PARTITION part2 VALUES LESS THAN (2147483647));
-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 (1000), PARTITION part2 VALUES LESS THAN (2' at line 3
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) 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 2
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1) SUBPARTITION BY HASH(f1)
-SUBPARTITIONS 'GARBAGE'
-(PARTITION part1 VALUES LESS THAN (1000), PARTITION part2 VALUES LESS THAN (2147483647));
-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 (1000), PARTITION part2 VALUES LESS ' at line 3
-# 3.2.5 partition/subpartition numbers other notations
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) 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 2
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1) SUBPARTITION BY HASH(f1)
-SUBPARTITIONS 2A
-(PARTITION part1 VALUES LESS THAN (1000), PARTITION part2 VALUES LESS THAN (2147483647));
-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 (1000), PARTITION part2 VALUES LESS THAN (2' at line 3
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) 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 2
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1) SUBPARTITION BY HASH(f1)
-SUBPARTITIONS A2
-(PARTITION part1 VALUES LESS THAN (1000), PARTITION part2 VALUES LESS THAN (2147483647));
-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 (1000), PARTITION part2 VALUES LESS THAN (2' at line 3
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) 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 2
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1) SUBPARTITION BY HASH(f1)
-SUBPARTITIONS GARBAGE
-(PARTITION part1 VALUES LESS THAN (1000), PARTITION part2 VALUES LESS THAN (2147483647));
-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 (1000), PARTITION part2 VALUES LESS TH' at line 3
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) 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 2
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1) SUBPARTITION BY HASH(f1)
-SUBPARTITIONS "2"
-(PARTITION part1 VALUES LESS THAN (1000), PARTITION part2 VALUES LESS THAN (2147483647));
-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 (1000), PARTITION part2 VALUES LESS THAN (' at line 3
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) 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 2
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1) SUBPARTITION BY HASH(f1)
-SUBPARTITIONS "2A"
-(PARTITION part1 VALUES LESS THAN (1000), PARTITION part2 VALUES LESS THAN (2147483647));
-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 (1000), PARTITION part2 VALUES LESS THAN ' at line 3
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) 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 2
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1) SUBPARTITION BY HASH(f1)
-SUBPARTITIONS "A2"
-(PARTITION part1 VALUES LESS THAN (1000), PARTITION part2 VALUES LESS THAN (2147483647));
-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 (1000), PARTITION part2 VALUES LESS THAN ' at line 3
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) 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 2
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1) SUBPARTITION BY HASH(f1)
-SUBPARTITIONS "GARBAGE"
-(PARTITION part1 VALUES LESS THAN (1000), PARTITION part2 VALUES LESS THAN (2147483647));
-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 (1000), PARTITION part2 VALUES LESS ' at line 3
-# 3.3 Mixups of number and names of partition/subpartition assigned
-# 3.3.1 (positive) number of partition/subpartition = number of named partition/subpartition
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) PARTITIONS 2 ( PARTITION part1, PARTITION part2 ) ;
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) default NULL,
- `f2` char(20) default NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY HASH (f1) (PARTITION part1 ENGINE = ndbcluster, PARTITION part2 ENGINE = ndbcluster)
-DROP TABLE t1;
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1) PARTITIONS 2
-SUBPARTITION BY HASH(f1) SUBPARTITIONS 2
-( PARTITION part1 VALUES LESS THAN (1000)
-(SUBPARTITION subpart11, SUBPARTITION subpart12),
-PARTITION part2 VALUES LESS THAN (2147483647)
-(SUBPARTITION subpart21, SUBPARTITION subpart22)
-);
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) default NULL,
- `f2` char(20) default NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY RANGE (f1) SUBPARTITION BY HASH (f1) (PARTITION part1 VALUES LESS THAN (1000) (SUBPARTITION subpart11 ENGINE = ndbcluster, SUBPARTITION subpart12 ENGINE = ndbcluster), PARTITION part2 VALUES LESS THAN (2147483647) (SUBPARTITION subpart21 ENGINE = ndbcluster, SUBPARTITION subpart22 ENGINE = ndbcluster))
-DROP TABLE t1;
-# 3.3.2 (positive) number of partition/subpartition , 0 (= no) named partition/subpartition
-# already checked above
-# 3.3.3 (negative) number of partitions > number of named partitions
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) PARTITIONS 2 ( PARTITION part1 ) ;
-ERROR 42000: Wrong number of partitions defined, mismatch with previous setting near ')' at line 2
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1)
-SUBPARTITION BY HASH(f1) SUBPARTITIONS 2
-( PARTITION part1 VALUES LESS THAN (1000)
-(SUBPARTITION subpart11 ),
-PARTITION part2 VALUES LESS THAN (2147483647)
-(SUBPARTITION subpart21, SUBPARTITION subpart22)
-);
-ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near '),
-PARTITION part2 VALUES LESS THAN (2147483647)
-(SUBPARTITION subpart21, SUBPAR' at line 5
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1)
-SUBPARTITION BY HASH(f1) 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 (2147483647)
-(SUBPARTITION subpart31, SUBPARTITION subpart32)
-);
-ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near '),
-PARTITION part3 VALUES LESS THAN (2147483647)
-(SUBPARTITION subpart31, SUBPAR' at line 7
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY RANGE(f1) PARTITIONS 2
-SUBPARTITION BY HASH(f1) SUBPARTITIONS 2
-( PARTITION part1 VALUES LESS THAN (1000)
-(SUBPARTITION subpart11, SUBPARTITION subpart12),
-PARTITION part2 VALUES LESS THAN (2147483647)
-(SUBPARTITION subpart21 )
-);
-ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near ')
-)' at line 7
-#------------------------------------------------------------------------
-# 4. Checks of logical partition/subpartition name
-# file name clashes during CREATE TABLE
-#------------------------------------------------------------------------
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1) (PARTITION part1, PARTITION part1);
-ERROR HY000: Duplicate partition name part1
-#------------------------------------------------------------------------
-# 5. Alter table experiments
-#------------------------------------------------------------------------
-# 5.1 alter table add partition
-# 5.1.1 (negative) add partition to non partitioned table
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20));
-# FIXME Why does the error numbers of MyISAM(1482) and NDB(1005) differ ?
-ALTER TABLE t1 ADD PARTITION (PARTITION part1);
-Got one of the listed errors
-DROP TABLE t1;
-# 5.1.2 Add one partition to a table with one partition
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20))
-PARTITION BY HASH(f1);
-INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 1 AND 100;
diff --git a/mysql-test/suite/ndb/r/ps_7ndb.result b/mysql-test/suite/ndb/r/ps_7ndb.result
index 82d2d14b075..3cbc1a0e76f 100644
--- a/mysql-test/suite/ndb/r/ps_7ndb.result
+++ b/mysql-test/suite/ndb/r/ps_7ndb.result
@@ -63,7 +63,7 @@ def test t9 t9 c11 c11 246 9 6 Y 0 4 63
def test t9 t9 c12 c12 246 10 6 Y 0 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 1249 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
@@ -783,20 +783,20 @@ a b
2 two
3 three
4 four
-prepare stmt1 from ' SELECT a as ccc from t1 where a+1=
- (SELECT 1+ccc from t1 where ccc+1=a+1 and a=1) ';
+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 where a+1=
- (SELECT 1+ccc from t1 where ccc+1=a+1 and a=1) ';
+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 where a+1=
- (SELECT 1+ccc from t1 where ccc+1=a+1 and a=1) ';
+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
@@ -1286,12 +1286,11 @@ a b
set @arg00=NULL;
set @arg01=2;
execute stmt1 using @arg00, @arg01;
-Warnings:
-Warning 1048 Column 'a' cannot be null
+ERROR 23000: Column 'a' cannot be null
select a,b from t1 order by a;
a b
-0 two
1 one
+2 two
3 three
4 four
set @arg00=0;
@@ -2956,11 +2955,13 @@ 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
@@ -2994,7 +2995,6 @@ 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:
-Note 1265 Data truncated for column 'c13' 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
diff --git a/mysql-test/suite/ndb/t/disabled.def b/mysql-test/suite/ndb/t/disabled.def
index 023c9c47210..f876039a042 100644
--- a/mysql-test/suite/ndb/t/disabled.def
+++ b/mysql-test/suite/ndb/t/disabled.def
@@ -9,11 +9,6 @@
# 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
-ndb_dd_sql_features : Bug#29102 ndb_dd_sql_features fails in pushbuild
-ndb_load : BUG#17233 2006-05-04 tomas failed load data from infile causes mysqld dbug_assert, binlog not flushed
-
partition_03ndb : BUG#16385 2006-03-24 mikael Partitions: crash when updating a range partitioned NDB table
ndb_partition_error2 : HF is not sure if the test can work as internded on all the platforms
@@ -21,5 +16,3 @@ ndb_partition_error2 : HF is not sure if the test can work as internded on all
# the below testcase have been reworked to avoid the bug, test contains comment, keep bug open
#ndb_binlog_ddl_multi : BUG#18976 2006-04-10 kent CRBR: multiple binlog, second binlog may miss schema log events
#ndb_binlog_discover : bug#21806 2006-08-24
-#ndb_autodiscover3 : bug#21806
-ndb_autodiscover3 : Bug#20872 2007-07-15 ingo master*.err: miscellaneous error messages
diff --git a/mysql-test/suite/ndb/t/ndb_auto_increment.test b/mysql-test/suite/ndb/t/ndb_auto_increment.test
new file mode 100644
index 00000000000..14e7ae7ca7b
--- /dev/null
+++ b/mysql-test/suite/ndb/t/ndb_auto_increment.test
@@ -0,0 +1,293 @@
+-- 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
+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
new file mode 100644
index 00000000000..a5ae52c88d7
--- /dev/null
+++ b/mysql-test/suite/ndb/t/ndb_autoinc.test
@@ -0,0 +1,45 @@
+-- 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
index b9ccdf9fd0d..2fc140288ca 100644
--- a/mysql-test/suite/ndb/t/ndb_basic.test
+++ b/mysql-test/suite/ndb/t/ndb_basic.test
@@ -800,9 +800,27 @@ 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;
-# End of 5.0 tests
---echo End of 5.0 tests
+#
+# 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
diff --git a/mysql-test/suite/ndb/t/ndb_binlog_basic.test b/mysql-test/suite/ndb/t/ndb_binlog_basic.test
index e4642dc3230..4d8b7a8b127 100644
--- a/mysql-test/suite/ndb/t/ndb_binlog_basic.test
+++ b/mysql-test/suite/ndb/t/ndb_binlog_basic.test
@@ -1,5 +1,5 @@
-- source include/have_ndb.inc
--- source include/have_binlog_format_row.inc
+-- source include/have_binlog_format_mixed_or_row.inc
--disable_warnings
drop table if exists t1, t2;
@@ -46,10 +46,18 @@ select inserts,updates,deletes from
#
# 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
diff --git a/mysql-test/suite/ndb/t/ndb_binlog_ddl_multi.test b/mysql-test/suite/ndb/t/ndb_binlog_ddl_multi.test
index e159fd6a24e..a70dbe2011f 100644
--- a/mysql-test/suite/ndb/t/ndb_binlog_ddl_multi.test
+++ b/mysql-test/suite/ndb/t/ndb_binlog_ddl_multi.test
@@ -1,5 +1,5 @@
-- source include/have_multi_ndb.inc
--- source include/have_binlog_format_row.inc
+-- source include/have_binlog_format_mixed_or_row.inc
--disable_warnings
connection server2;
diff --git a/mysql-test/suite/ndb/t/ndb_binlog_discover.test b/mysql-test/suite/ndb/t/ndb_binlog_discover.test
index 999079ad29c..e842b57093a 100644
--- a/mysql-test/suite/ndb/t/ndb_binlog_discover.test
+++ b/mysql-test/suite/ndb/t/ndb_binlog_discover.test
@@ -1,5 +1,5 @@
-- source include/have_ndb.inc
--- source include/have_binlog_format_row.inc
+-- source include/have_binlog_format_mixed_or_row.inc
--disable_warnings
drop table if exists t1;
diff --git a/mysql-test/suite/ndb/t/ndb_binlog_ignore_db.test b/mysql-test/suite/ndb/t/ndb_binlog_ignore_db.test
index 8f80e53f2e4..013df54a76a 100644
--- a/mysql-test/suite/ndb/t/ndb_binlog_ignore_db.test
+++ b/mysql-test/suite/ndb/t/ndb_binlog_ignore_db.test
@@ -1,5 +1,5 @@
-- source include/have_ndb.inc
--- source include/have_binlog_format_row.inc
+-- source include/have_binlog_format_mixed_or_row.inc
reset master;
--disable_warnings
diff --git a/mysql-test/suite/ndb/t/ndb_binlog_log_bin.test b/mysql-test/suite/ndb/t/ndb_binlog_log_bin.test
index 921b8608795..75ac766fd25 100644
--- a/mysql-test/suite/ndb/t/ndb_binlog_log_bin.test
+++ b/mysql-test/suite/ndb/t/ndb_binlog_log_bin.test
@@ -1,5 +1,5 @@
-- source include/have_multi_ndb.inc
--- source include/have_binlog_format_row.inc
+-- source include/have_binlog_format_mixed_or_row.inc
--disable_warnings
connection server2;
diff --git a/mysql-test/suite/ndb/t/ndb_binlog_multi.test b/mysql-test/suite/ndb/t/ndb_binlog_multi.test
index 14bd7ef174b..c39034c71f6 100644
--- a/mysql-test/suite/ndb/t/ndb_binlog_multi.test
+++ b/mysql-test/suite/ndb/t/ndb_binlog_multi.test
@@ -1,5 +1,5 @@
-- source include/have_multi_ndb.inc
--- source include/have_binlog_format_row.inc
+-- source include/have_binlog_format_mixed_or_row.inc
--disable_warnings
connection server2;
diff --git a/mysql-test/suite/ndb/t/ndb_blob.test b/mysql-test/suite/ndb/t/ndb_blob.test
index b9a8c7e20ee..0388913df8b 100644
--- a/mysql-test/suite/ndb/t/ndb_blob.test
+++ b/mysql-test/suite/ndb/t/ndb_blob.test
@@ -497,3 +497,23 @@ 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_bug26793.test b/mysql-test/suite/ndb/t/ndb_bug26793.test
new file mode 100644
index 00000000000..f35d8808c1a
--- /dev/null
+++ b/mysql-test/suite/ndb/t/ndb_bug26793.test
@@ -0,0 +1,35 @@
+-- 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
new file mode 100644
index 00000000000..41c519e56fd
--- /dev/null
+++ b/mysql-test/suite/ndb/t/ndb_bug31477.test
@@ -0,0 +1,109 @@
+--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_condition_pushdown.test b/mysql-test/suite/ndb/t/ndb_condition_pushdown.test
index ab56430ac1d..a56c9dda01c 100644
--- a/mysql-test/suite/ndb/t/ndb_condition_pushdown.test
+++ b/mysql-test/suite/ndb/t/ndb_condition_pushdown.test
@@ -1752,5 +1752,303 @@ SELECT fname, lname FROM t1 WHERE (fname like 'Y%') or (lname like 'F%');
set engine_condition_pushdown = 1;
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 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 engine_condition_pushdown = @old_ecpd;
DROP TABLE t1,t2,t3,t4,t5;
diff --git a/mysql-test/suite/ndb/t/ndb_dd_basic.test b/mysql-test/suite/ndb/t/ndb_dd_basic.test
index 3acf4669868..0fb793e2142 100644
--- a/mysql-test/suite/ndb/t/ndb_dd_basic.test
+++ b/mysql-test/suite/ndb/t/ndb_dd_basic.test
@@ -14,6 +14,12 @@
-- 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
@@ -340,6 +346,16 @@ 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;
########################
@@ -433,6 +449,21 @@ 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
###################
diff --git a/mysql-test/suite/ndb/t/ndb_dd_ddl.test b/mysql-test/suite/ndb/t/ndb_dd_ddl.test
index aa692385b07..d6de7c45326 100644
--- a/mysql-test/suite/ndb/t/ndb_dd_ddl.test
+++ b/mysql-test/suite/ndb/t/ndb_dd_ddl.test
@@ -333,11 +333,18 @@ ENGINE NDB;
###
#
# bug#16341
-create table t1 (a int primary key) engine = myisam;
+#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/master-data/test/t1.frm' initial_size 1M undo_buffer_size = 1M engine=ndb;
+--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'
@@ -347,7 +354,7 @@ engine=ndb;
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--error ER_CREATE_FILEGROUP_FAILED
---eval create tablespace ts1 add datafile '$MYSQLTEST_VARDIR/master-data/test/t1.frm' use logfile group lg1 initial_size 1M engine ndb;
+--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
@@ -356,8 +363,8 @@ engine ndb;
drop logfile group lg1
engine ndb;
-drop table t1;
-
+#drop table t1;
+--exec rm $MYSQLTEST_VARDIR/tmp/t1.frm
# End 5.1 test
diff --git a/mysql-test/suite/ndb/t/ndb_dd_dump.test b/mysql-test/suite/ndb/t/ndb_dd_dump.test
index 38ceafb7d80..7fc315ef167 100644
--- a/mysql-test/suite/ndb/t/ndb_dd_dump.test
+++ b/mysql-test/suite/ndb/t/ndb_dd_dump.test
@@ -224,43 +224,44 @@ 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;
+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;
+ 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 * FROM test.t order by a;
-# SELECT * INTO OUTFILE 't_backup' FROM test.t;
-# TRUNCATE test.t;
+ 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;
+#'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 count(*) FROM test.t;
+ LOAD DATA INFILE 't_backup' INTO TABLE test.t;
-# SELECT * FROM test.t order by a;
+ SELECT * FROM test.t order by a;
-# DROP TABLE test.t;
+ DROP TABLE test.t;
ALTER TABLESPACE ts1
diff --git a/mysql-test/suite/ndb/t/ndb_insert.test b/mysql-test/suite/ndb/t/ndb_insert.test
index 5b74cc9202c..d659f8357f2 100644
--- a/mysql-test/suite/ndb/t/ndb_insert.test
+++ b/mysql-test/suite/ndb/t/ndb_insert.test
@@ -638,142 +638,4 @@ 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;
-
-# Bug#26342 auto_increment_increment AND auto_increment_offset REALLY REALLY anger NDB cluster
-
-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;
-
# End of 4.1 tests
diff --git a/mysql-test/suite/ndb/t/ndb_lock_table.test b/mysql-test/suite/ndb/t/ndb_lock_table.test
new file mode 100644
index 00000000000..6c21e8e8232
--- /dev/null
+++ b/mysql-test/suite/ndb/t/ndb_lock_table.test
@@ -0,0 +1,15 @@
+-- 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_multi.test b/mysql-test/suite/ndb/t/ndb_multi.test
index b8e052d606b..e033ad1e479 100644
--- a/mysql-test/suite/ndb/t/ndb_multi.test
+++ b/mysql-test/suite/ndb/t/ndb_multi.test
@@ -4,11 +4,11 @@
--disable_warnings
connection server2;
drop table if exists t1, t2, t3, t4;
+flush status;
connection server1;
drop table if exists t1, t2, t3, t4;
---enable_warnings
-
flush status;
+--enable_warnings
# Create test tables on server1
create table t1 (a int) engine=ndbcluster;
@@ -122,4 +122,33 @@ 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
index 543e282b900..26953093ed0 100644
--- a/mysql-test/suite/ndb/t/ndb_multi_row.test
+++ b/mysql-test/suite/ndb/t/ndb_multi_row.test
@@ -1,16 +1,17 @@
-- source include/have_multi_ndb.inc
-- source include/not_embedded.inc
--- source include/have_binlog_format_row.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
-flush status;
# Create test tables on server1
create table t1 (a 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
index 78e2c9d15c2..be76389f38d 100644
--- a/mysql-test/suite/ndb/t/ndb_partition_key.test
+++ b/mysql-test/suite/ndb/t/ndb_partition_key.test
@@ -38,6 +38,10 @@ insert into t1 values
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;
#
@@ -75,6 +79,14 @@ 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);
@@ -112,7 +124,10 @@ show create table t1;
alter table t1 remove partitioning;
show create table t1;
---error ER_MIX_HANDLER_ERROR
+# 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);
diff --git a/mysql-test/suite/ndb/t/ndb_partition_range.test b/mysql-test/suite/ndb/t/ndb_partition_range.test
index 7952ba502d2..778e552c6d8 100644
--- a/mysql-test/suite/ndb/t/ndb_partition_range.test
+++ b/mysql-test/suite/ndb/t/ndb_partition_range.test
@@ -48,6 +48,11 @@ 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;
#
diff --git a/mysql-test/suite/ndb/t/ndb_read_multi_range.test b/mysql-test/suite/ndb/t/ndb_read_multi_range.test
index ecca1f9862c..1965874940b 100644
--- a/mysql-test/suite/ndb/t/ndb_read_multi_range.test
+++ b/mysql-test/suite/ndb/t/ndb_read_multi_range.test
@@ -315,5 +315,26 @@ 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;
diff --git a/mysql-test/suite/ndb/t/ndb_restore.test b/mysql-test/suite/ndb/t/ndb_restore.test
index 7f0cafdfd77..c8b07fd351a 100644
--- a/mysql-test/suite/ndb/t/ndb_restore.test
+++ b/mysql-test/suite/ndb/t/ndb_restore.test
@@ -180,6 +180,11 @@ 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_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;
@@ -241,16 +246,21 @@ select count(*)
select * from t10_c order by a;
# Bug #27775 cont'd
# - auto inc info should be correct
---replace_column 1 X 2 X 3 X 4 X 5 X 6 X 7 X 8 X 9 X 10 X 12 X 13 X 14 X 15 X 16 X 17 X 18 X
-show table status like 't1_c';
---replace_column 1 X 2 X 3 X 4 X 5 X 6 X 7 X 8 X 9 X 10 X 12 X 13 X 14 X 15 X 16 X 17 X 18 X
-show table status like 't2_c';
---replace_column 1 X 2 X 3 X 4 X 5 X 6 X 7 X 8 X 9 X 10 X 12 X 13 X 14 X 15 X 16 X 17 X 18 X
-show table status like 't4_c';
---replace_column 1 X 2 X 3 X 4 X 5 X 6 X 7 X 8 X 9 X 10 X 12 X 13 X 14 X 15 X 16 X 17 X 18 X
-show table status like 't7_c';
---replace_column 1 X 2 X 3 X 4 X 5 X 6 X 7 X 8 X 9 X 10 X 12 X 13 X 14 X 15 X 16 X 17 X 18 X
-show table status like 't10_c';
+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
diff --git a/mysql-test/suite/ndb/t/ndb_restore_compat.test b/mysql-test/suite/ndb/t/ndb_restore_compat.test
index 2622aec1d50..8e5b30aa6fd 100644
--- a/mysql-test/suite/ndb/t/ndb_restore_compat.test
+++ b/mysql-test/suite/ndb/t/ndb_restore_compat.test
@@ -58,4 +58,10 @@ 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
new file mode 100644
index 00000000000..069796f43c4
--- /dev/null
+++ b/mysql-test/suite/ndb/t/ndb_restore_different_endian_data.test
@@ -0,0 +1,185 @@
+-- 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_update.test b/mysql-test/suite/ndb/t/ndb_update.test
index c45f990edcc..ab0fbee171e 100644
--- a/mysql-test/suite/ndb/t/ndb_update.test
+++ b/mysql-test/suite/ndb/t/ndb_update.test
@@ -35,6 +35,11 @@ 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;
diff --git a/mysql-test/suite/ndb/t/ndb_update_no_read.test b/mysql-test/suite/ndb/t/ndb_update_no_read.test
new file mode 100644
index 00000000000..60bea53b7b5
--- /dev/null
+++ b/mysql-test/suite/ndb/t/ndb_update_no_read.test
@@ -0,0 +1,79 @@
+-- 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/partition_03ndb.test b/mysql-test/suite/ndb/t/partition_03ndb.test
deleted file mode 100644
index 3190ab9dfc7..00000000000
--- a/mysql-test/suite/ndb/t/partition_03ndb.test
+++ /dev/null
@@ -1,26 +0,0 @@
-###############################################
-# #
-# Partition tests NDB tables #
-# #
-###############################################
-
-#
-# NOTE: PLEASE DO NOT ADD NOT NDB SPECIFIC TESTCASES HERE !
-# NON STORAGE SPECIFIC TESTCASES SHOULD BE ADDED IN
-# THE SOURCED FIELS ONLY.
-#
-
-# Storage engine to be tested
-let $engine= 'NDB' ;
--- source include/have_ndb.inc
-eval SET SESSION storage_engine=$engine;
-
-
-# Other storage engine <> storage engine to be tested
-let $engine_other= 'MEMORY';
-# number of rows for the INSERT/UPDATE/DELETE/SELECT experiments
-# on partioned tables
-# Attention: In the moment the result files fit to @max_row = 200 only
-SET @max_row = 200;
-
--- source include/partition_1.inc
diff --git a/mysql-test/suite/ndb/r/ndb_autodiscover.result b/mysql-test/suite/ndb_team/r/ndb_autodiscover.result
index 487f52f6427..487f52f6427 100644
--- a/mysql-test/suite/ndb/r/ndb_autodiscover.result
+++ b/mysql-test/suite/ndb_team/r/ndb_autodiscover.result
diff --git a/mysql-test/suite/ndb/r/ndb_autodiscover2.result b/mysql-test/suite/ndb_team/r/ndb_autodiscover2.result
index 269888e0820..269888e0820 100644
--- a/mysql-test/suite/ndb/r/ndb_autodiscover2.result
+++ b/mysql-test/suite/ndb_team/r/ndb_autodiscover2.result
diff --git a/mysql-test/suite/ndb/r/ndb_autodiscover3.result b/mysql-test/suite/ndb_team/r/ndb_autodiscover3.result
index 86495ebb3eb..86495ebb3eb 100644
--- a/mysql-test/suite/ndb/r/ndb_autodiscover3.result
+++ b/mysql-test/suite/ndb_team/r/ndb_autodiscover3.result
diff --git a/mysql-test/suite/ndb/r/ndb_backup_print.result b/mysql-test/suite/ndb_team/r/ndb_backup_print.result
index 7fa073bafb5..7fa073bafb5 100644
--- a/mysql-test/suite/ndb/r/ndb_backup_print.result
+++ b/mysql-test/suite/ndb_team/r/ndb_backup_print.result
diff --git a/mysql-test/suite/ndb/r/ndb_dd_backuprestore.result b/mysql-test/suite/ndb_team/r/ndb_dd_backuprestore.result
index c82fe560121..c82fe560121 100644
--- a/mysql-test/suite/ndb/r/ndb_dd_backuprestore.result
+++ b/mysql-test/suite/ndb_team/r/ndb_dd_backuprestore.result
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_dd_advance.result b/mysql-test/suite/ndb_team/r/rpl_ndb_dd_advance.result
index 7f26313894c..7f26313894c 100644
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_dd_advance.result
+++ b/mysql-test/suite/ndb_team/r/rpl_ndb_dd_advance.result
diff --git a/mysql-test/suite/ndb_team/r/rpl_ndb_extraColMaster.result b/mysql-test/suite/ndb_team/r/rpl_ndb_extraColMaster.result
new file mode 100644
index 00000000000..97300e7131b
--- /dev/null
+++ b/mysql-test/suite/ndb_team/r/rpl_ndb_extraColMaster.result
@@ -0,0 +1,2284 @@
+stop slave;
+drop table if exists t1,t2,t3,t4,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
+
+* Show Slave Status *
+
+show slave status;;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 #
+Last_IO_Error #
+Last_SQL_Errno 0
+Last_SQL_Error
+
+
+***** 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=0, f27=NULL, f35='f35 new value' where f3=3;
+
+** Delete from Master **
+
+delete from t1;
+delete from t2;
+delete from t3;
+delete from t4;
+delete from t31;
+
+** Check slave status **
+
+select * from t31;
+f1 f2 f3 f4
+show slave status;;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 #
+Last_IO_Error #
+Last_SQL_Errno 0
+Last_SQL_Error
+
+****************************************
+* 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 1523 ***
+********************************************
+
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 1535
+Last_Error Table definition on master and slave does not match: Column 2 type mismatch - received type 5, test.t10 has type 254
+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 #
+Last_IO_Error #
+Last_SQL_Errno 1535
+Last_SQL_Error Table definition on master and slave does not match: Column 2 type mismatch - received type 5, test.t10 has type 254
+SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
+START SLAVE;
+
+*** 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 1523 ***
+********************************************
+
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 1535
+Last_Error Table definition on master and slave does not match: Column 2 type mismatch - received type 252, test.t11 has type 15
+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 #
+Last_IO_Error #
+Last_SQL_Errno 1535
+Last_SQL_Error Table definition on master and slave does not match: Column 2 type mismatch - received type 252, test.t11 has type 15
+SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
+START SLAVE;
+
+*** 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 *
+************
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 1091
+Last_Error Error 'Can't DROP 'c7'; check that column/key exists' on query. Default database: 'test'. Query: 'ALTER TABLE t14 DROP COLUMN c7'
+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 #
+Last_IO_Error #
+Last_SQL_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;
+
+*** 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 ***
+********************************************
+
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 1054
+Last_Error Error 'Unknown column 'c7' in 't15'' on query. Default database: 'test'. Query: 'ALTER TABLE t15 ADD COLUMN c2 DECIMAL(8,2) AFTER c7'
+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 #
+Last_IO_Error #
+Last_SQL_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;
+
+*** 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 ***
+*****************
+
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 1072
+Last_Error Error 'Key column 'c6' doesn't exist in table' on query. Default database: 'test'. Query: 'CREATE INDEX part_of_c6 ON t16 (c6)'
+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 #
+Last_IO_Error #
+Last_SQL_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;
+
+*** 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
+
+* Show Slave Status *
+
+show slave status;;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 #
+Last_IO_Error #
+Last_SQL_Errno 0
+Last_SQL_Error
+
+
+***** 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=0, f27=NULL, f35='f35 new value' where f3=3;
+
+** Delete from Master **
+
+delete from t1;
+delete from t2;
+delete from t3;
+delete from t4;
+delete from t31;
+
+** Check slave status **
+
+select * from t31;
+f1 f2 f3 f4
+show slave status;;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 #
+Last_IO_Error #
+Last_SQL_Errno 0
+Last_SQL_Error
+
+****************************************
+* 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 1523 ***
+********************************************
+
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 1535
+Last_Error Table definition on master and slave does not match: Column 2 type mismatch - received type 5, test.t10 has type 254
+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 #
+Last_IO_Error #
+Last_SQL_Errno 1535
+Last_SQL_Error Table definition on master and slave does not match: Column 2 type mismatch - received type 5, test.t10 has type 254
+SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
+START SLAVE;
+
+*** 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 1523 ***
+********************************************
+
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 1535
+Last_Error Table definition on master and slave does not match: Column 2 type mismatch - received type 252, test.t11 has type 15
+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 #
+Last_IO_Error #
+Last_SQL_Errno 1535
+Last_SQL_Error Table definition on master and slave does not match: Column 2 type mismatch - received type 252, test.t11 has type 15
+SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
+START SLAVE;
+
+*** 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 *
+************
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 1091
+Last_Error Error 'Can't DROP 'c7'; check that column/key exists' on query. Default database: 'test'. Query: 'ALTER TABLE t14 DROP COLUMN c7'
+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 #
+Last_IO_Error #
+Last_SQL_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;
+
+*** 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 ***
+********************************************
+
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 1054
+Last_Error Error 'Unknown column 'c7' in 't15'' on query. Default database: 'test'. Query: 'ALTER TABLE t15 ADD COLUMN c2 DECIMAL(8,2) AFTER c7'
+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 #
+Last_IO_Error #
+Last_SQL_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;
+
+*** 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 ***
+*****************
+
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 1072
+Last_Error Error 'Key column 'c6' doesn't exist in table' on query. Default database: 'test'. Query: 'CREATE INDEX part_of_c6 ON t16 (c6)'
+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 #
+Last_IO_Error #
+Last_SQL_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;
+
+*** 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/rpl_ndb/r/rpl_ndb_mix_innodb.result b/mysql-test/suite/ndb_team/r/rpl_ndb_mix_innodb.result
index 625d06de44b..eba1222ea33 100644
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_mix_innodb.result
+++ b/mysql-test/suite/ndb_team/r/rpl_ndb_mix_innodb.result
@@ -20,13 +20,27 @@ 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 <start_pos> limit 1;
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 <start_pos> Query 1 # use `test`; insert into t1 values (1,2)
+master-bin.000001 <start_pos> Query 1 # use `test`; BEGIN
+
+# Now the insert, one step after
show binlog events from <start_pos> limit 1,1;
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Xid 1 445 COMMIT /* XID */
+master-bin.000001 # Query 1 # use `test`; insert into t1 values (1,2)
+
+# and the COMMIT should be at <end_pos>
+
+show binlog events from <start_pos> limit 2,1;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Xid 1 <end_pos> COMMIT /* XID */
begin;
insert into t1 values (2,3);
diff --git a/mysql-test/suite/ndb_team/t/disabled.def b/mysql-test/suite/ndb_team/t/disabled.def
new file mode 100644
index 00000000000..714f1014a10
--- /dev/null
+++ b/mysql-test/suite/ndb_team/t/disabled.def
@@ -0,0 +1,20 @@
+##############################################################################
+#
+# 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/t/ndb_autodiscover.test b/mysql-test/suite/ndb_team/t/ndb_autodiscover.test
index 06d47693c10..e25bf4518a8 100644
--- a/mysql-test/suite/ndb/t/ndb_autodiscover.test
+++ b/mysql-test/suite/ndb_team/t/ndb_autodiscover.test
@@ -491,6 +491,7 @@ select * from t1;
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;
diff --git a/mysql-test/suite/ndb/t/ndb_autodiscover2-master.opt b/mysql-test/suite/ndb_team/t/ndb_autodiscover2-master.opt
index e0d075c3fbd..e0d075c3fbd 100644
--- a/mysql-test/suite/ndb/t/ndb_autodiscover2-master.opt
+++ b/mysql-test/suite/ndb_team/t/ndb_autodiscover2-master.opt
diff --git a/mysql-test/suite/ndb/t/ndb_autodiscover2.test b/mysql-test/suite/ndb_team/t/ndb_autodiscover2.test
index ebe14696cd2..ebe14696cd2 100644
--- a/mysql-test/suite/ndb/t/ndb_autodiscover2.test
+++ b/mysql-test/suite/ndb_team/t/ndb_autodiscover2.test
diff --git a/mysql-test/suite/ndb/t/ndb_autodiscover3.test b/mysql-test/suite/ndb_team/t/ndb_autodiscover3.test
index 452ccc50b4d..10416aee11f 100644
--- a/mysql-test/suite/ndb/t/ndb_autodiscover3.test
+++ b/mysql-test/suite/ndb_team/t/ndb_autodiscover3.test
@@ -3,7 +3,7 @@
-- source include/not_embedded.inc
# see bug#21563
--- source include/have_binlog_format_row.inc
+-- source include/have_binlog_format_mixed_or_row.inc
--disable_warnings
drop table if exists t1, t2;
diff --git a/mysql-test/suite/ndb/t/ndb_backup_print.test b/mysql-test/suite/ndb_team/t/ndb_backup_print.test
index cf869fd56f5..cf869fd56f5 100644
--- a/mysql-test/suite/ndb/t/ndb_backup_print.test
+++ b/mysql-test/suite/ndb_team/t/ndb_backup_print.test
diff --git a/mysql-test/suite/ndb/t/ndb_dd_backuprestore.test b/mysql-test/suite/ndb_team/t/ndb_dd_backuprestore.test
index 48db8ec3e0b..48db8ec3e0b 100644
--- a/mysql-test/suite/ndb/t/ndb_dd_backuprestore.test
+++ b/mysql-test/suite/ndb_team/t/ndb_dd_backuprestore.test
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_advance.test b/mysql-test/suite/ndb_team/t/rpl_ndb_dd_advance.test
index 723672931ab..a7e00262f5c 100644
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_advance.test
+++ b/mysql-test/suite/ndb_team/t/rpl_ndb_dd_advance.test
@@ -6,7 +6,7 @@
#### Include Section ####
--source include/have_ndb.inc
---source include/have_binlog_format_row.inc
+--source include/have_binlog_format_mixed_or_row.inc
--source include/ndb_default_cluster.inc
--source include/not_embedded.inc
#--source include/big_test.inc
diff --git a/mysql-test/suite/ndb_team/t/rpl_ndb_extraColMaster.test b/mysql-test/suite/ndb_team/t/rpl_ndb_extraColMaster.test
new file mode 100644
index 00000000000..d78eda7eef1
--- /dev/null
+++ b/mysql-test/suite/ndb_team/t/rpl_ndb_extraColMaster.test
@@ -0,0 +1,14 @@
+#############################################################
+# 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/rpl_ndb/t/rpl_ndb_mix_innodb-master.opt b/mysql-test/suite/ndb_team/t/rpl_ndb_mix_innodb-master.opt
index 3596fc4d3bd..3596fc4d3bd 100644
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_mix_innodb-master.opt
+++ b/mysql-test/suite/ndb_team/t/rpl_ndb_mix_innodb-master.opt
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_mix_innodb.test b/mysql-test/suite/ndb_team/t/rpl_ndb_mix_innodb.test
index b730bcc08e0..b730bcc08e0 100644
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_mix_innodb.test
+++ b/mysql-test/suite/ndb_team/t/rpl_ndb_mix_innodb.test
diff --git a/mysql-test/suite/parts/inc/methods1.inc b/mysql-test/suite/parts/inc/methods1.inc
index 24006b6e0f1..d986b67a456 100644
--- a/mysql-test/suite/parts/inc/methods1.inc
+++ b/mysql-test/suite/parts/inc/methods1.inc
@@ -1,5 +1,5 @@
################################################################################
-# include/partition_methods1.inc #
+# inc/partition_methods1.inc #
# #
# Purpose: #
# Create and check partitioned tables #
@@ -11,7 +11,7 @@
# do #
# 1. Create the partitioned table #
# 2 Insert the content of the table t0_template into t1 #
-# 3. Execute include/partition_check.inc #
+# 3. Execute inc/partition_check.inc #
# 4. Drop the table t1 #
# done #
# #
@@ -21,14 +21,14 @@
# has to be set before sourcing this routine. #
# Example: #
# let $unique= , UNIQUE INDEX uidx1 (f_int1); #
-# include/partition_method1s.inc #
+# inc/partition_method1s.inc #
# #
-# Attention: The routine include/partition_methods2.inc is very similar #
+# Attention: The routine inc/partition_methods2.inc is very similar #
# to this one. So if something has to be changed here it #
# might be necessary to do it also there #
# #
#------------------------------------------------------------------------------#
-# Original Author: ML #
+# Original Author: mleich #
# Original Date: 2006-03-05 #
# Change Author: #
# Change Date: #
@@ -52,7 +52,6 @@ $unique
$partitioning;
eval $insert_all;
--source suite/parts/inc/partition_check.inc
-# --source include/partition_check.inc
DROP TABLE t1;
#----------- PARTITION BY KEY
@@ -67,7 +66,6 @@ $unique
$partitioning;
eval $insert_all;
--source suite/parts/inc/partition_check.inc
-# --source include/partition_check.inc
DROP TABLE t1;
#----------- PARTITION BY LIST
@@ -90,7 +88,6 @@ $unique
$partitioning;
eval $insert_all;
--source suite/parts/inc/partition_check.inc
-# --source include/partition_check.inc
DROP TABLE t1;
#----------- PARTITION BY RANGE
@@ -114,7 +111,6 @@ $unique
$partitioning;
eval $insert_all;
--source suite/parts/inc/partition_check.inc
-# --source include/partition_check.inc
DROP TABLE t1;
#----------- PARTITION BY RANGE -- SUBPARTITION BY HASH
@@ -137,7 +133,6 @@ $unique
$partitioning;
eval $insert_all;
--source suite/parts/inc/partition_check.inc
-# --source include/partition_check.inc
DROP TABLE t1;
#----------- PARTITION BY RANGE -- SUBPARTITION BY KEY
@@ -163,7 +158,6 @@ $unique
$partitioning;
eval $insert_all;
--source suite/parts/inc/partition_check.inc
-# --source include/partition_check.inc
DROP TABLE t1;
#----------- PARTITION BY LIST -- SUBPARTITION BY HASH
@@ -186,7 +180,6 @@ $unique
$partitioning;
eval $insert_all;
--source suite/parts/inc/partition_check.inc
-# --source include/partition_check.inc
DROP TABLE t1;
#----------- PARTITION BY LIST -- SUBPARTITION BY KEY
@@ -209,5 +202,4 @@ $unique
$partitioning;
eval $insert_all;
--source suite/parts/inc/partition_check.inc
-# --source include/partition_check.inc
DROP TABLE t1;
diff --git a/mysql-test/suite/parts/inc/part_blocked_sql_funcs_main.inc b/mysql-test/suite/parts/inc/part_blocked_sql_funcs_main.inc
index ec258b5387b..1a66a26312a 100644
--- a/mysql-test/suite/parts/inc/part_blocked_sql_funcs_main.inc
+++ b/mysql-test/suite/parts/inc/part_blocked_sql_funcs_main.inc
@@ -17,245 +17,211 @@
--echo --- All SQL functions should be rejected, otherwise BUG (see 18198)
--echo -------------------------------------------------------------------------
+let $sqlfunc = ascii(col1);
+let $valsqlfunc = ascii('a');
+let $coltype = char(30);
+--source suite/parts/inc/partition_blocked_sql_funcs.inc
+
+let $sqlfunc = ord(col1);
+let $valsqlfunc = ord('a');
+let $coltype = char(30);
+--source suite/parts/inc/partition_blocked_sql_funcs.inc
+
let $sqlfunc = greatest(col1,15);
let $valsqlfunc = greatest(1,15);
let $coltype = int;
--source suite/parts/inc/partition_blocked_sql_funcs.inc
-# --source include/partition_blocked_sql_funcs.inc
let $sqlfunc = isnull(col1);
let $valsqlfunc = isnull(15);
let $coltype = int;
--source suite/parts/inc/partition_blocked_sql_funcs.inc
-# --source include/partition_blocked_sql_funcs.inc
let $sqlfunc = least(col1,15);
let $valsqlfunc = least(15,30);
let $coltype = int;
--source suite/parts/inc/partition_blocked_sql_funcs.inc
-# --source include/partition_blocked_sql_funcs.inc
let $sqlfunc = case when col1>15 then 20 else 10 end;
let $valsqlfunc = case when 1>30 then 20 else 15 end;
let $coltype = int;
--source suite/parts/inc/partition_blocked_sql_funcs.inc
-# --source include/partition_blocked_sql_funcs.inc
let $sqlfunc = ifnull(col1,30);
let $valsqlfunc = ifnull(1,30);
let $coltype = int;
--source suite/parts/inc/partition_blocked_sql_funcs.inc
-# --source include/partition_blocked_sql_funcs.inc
let $sqlfunc = nullif(col1,30);
let $valsqlfunc = nullif(1,30);
let $coltype = int;
--source suite/parts/inc/partition_blocked_sql_funcs.inc
-# --source include/partition_blocked_sql_funcs.inc
let $sqlfunc = bit_length(col1);
let $valsqlfunc = bit_length(255);
let $coltype = int;
--source suite/parts/inc/partition_blocked_sql_funcs.inc
-# --source include/partition_blocked_sql_funcs.inc
let $coltype = char(30);
--source suite/parts/inc/partition_blocked_sql_funcs.inc
-# --source include/partition_blocked_sql_funcs.inc
let $sqlfunc = char_length(col1);
let $valsqlfunc = char_length('a');
#let $coltype = int;
#--source suite/parts/inc/partition_blocked_sql_funcs.inc
-# --source include/partition_blocked_sql_funcs.inc
let $coltype = char(30);
--source suite/parts/inc/partition_blocked_sql_funcs.inc
-# --source include/partition_blocked_sql_funcs.inc
let $sqlfunc = character_length(col1);
let $valsqlfunc = character_length('a');
let $coltype = char(30)
--source suite/parts/inc/partition_blocked_sql_funcs.inc
-# --source include/partition_blocked_sql_funcs.inc
let $sqlfunc = find_in_set(col1,'1,2,3,4,5,6,7,8,9');
let $valsqlfunc = find_in_set('i','a,b,c,d,e,f,g,h,i');
let $coltype = int;
--source suite/parts/inc/partition_blocked_sql_funcs.inc
-# --source include/partition_blocked_sql_funcs.inc
let $coltype = char(30);
--source suite/parts/inc/partition_blocked_sql_funcs.inc
-# --source include/partition_blocked_sql_funcs.inc
let $sqlfunc = instr(col1,'acb');
let $valsqlfunc = instr('i','a,b,c,d,e,f,g,h,i');
let $coltype = int;
--source suite/parts/inc/partition_blocked_sql_funcs.inc
-# --source include/partition_blocked_sql_funcs.inc
let $coltype = char(30);
--source suite/parts/inc/partition_blocked_sql_funcs.inc
-# --source include/partition_blocked_sql_funcs.inc
let $sqlfunc = length(col1);
let $valsqlfunc = length('a,b,c,d,e,f,g,h,i');
let $coltype = int;
--source suite/parts/inc/partition_blocked_sql_funcs.inc
-# --source include/partition_blocked_sql_funcs.inc
let $sqlfunc = locate('a',col1);
let $valsqlfunc = locate('i','a,b,c,d,e,f,g,h,i');
let $coltype = int;
--source suite/parts/inc/partition_blocked_sql_funcs.inc
-# --source include/partition_blocked_sql_funcs.inc
let $coltype = char(30);
--source suite/parts/inc/partition_blocked_sql_funcs.inc
-# --source include/partition_blocked_sql_funcs.inc
let $sqlfunc = octet_length(col1);
let $valsqlfunc = octet_length('a,b,c,d,e,f,g,h,i');
--source suite/parts/inc/partition_blocked_sql_funcs.inc
-# --source include/partition_blocked_sql_funcs.inc
let $sqlfunc = position('a' in col1);
let $valsqlfunc = position('i' in 'a,b,c,d,e,f,g,h,i');
let $coltype = int;
--source suite/parts/inc/partition_blocked_sql_funcs.inc
-# --source include/partition_blocked_sql_funcs.inc
let $coltype = char(30);
--source suite/parts/inc/partition_blocked_sql_funcs.inc
-# --source include/partition_blocked_sql_funcs.inc
let $sqlfunc = strcmp(col1,'acb');
let $valsqlfunc = strcmp('i','a,b,c,d,e,f,g,h,i');
let $coltype = int;
--source suite/parts/inc/partition_blocked_sql_funcs.inc
-# --source include/partition_blocked_sql_funcs.inc
let $coltype = char(30);
--source suite/parts/inc/partition_blocked_sql_funcs.inc
-# --source include/partition_blocked_sql_funcs.inc
let $sqlfunc = crc32(col1);
let $valsqlfunc = crc32('a,b,c,d,e,f,g,h,i');
let $coltype = char(30);
--source suite/parts/inc/partition_blocked_sql_funcs.inc
-# --source include/partition_blocked_sql_funcs.inc
let $sqlfunc = round(col1);
let $valsqlfunc = round(15);
let $coltype = int;
--source suite/parts/inc/partition_blocked_sql_funcs.inc
-# --source include/partition_blocked_sql_funcs.inc
let $sqlfunc = sign(col1);
let $valsqlfunc = sign(123);
let $coltype = int;
--source suite/parts/inc/partition_blocked_sql_funcs.inc
-# --source include/partition_blocked_sql_funcs.inc
-
-let $sqlfunc = datediff(col1,col1);
-let $valsqlfunc = datediff('1997-11-30 23:59:59','1997-12-31');
-let $coltype = datetime;
---source suite/parts/inc/partition_blocked_sql_funcs.inc
-# --source include/partition_blocked_sql_funcs.inc
let $sqlfunc = period_add(col1,5);
let $valsqlfunc = period_add(9804,5);
let $coltype = datetime;
--source suite/parts/inc/partition_blocked_sql_funcs.inc
-# --source include/partition_blocked_sql_funcs.inc
let $sqlfunc = period_diff(col1,col2);
let $valsqlfunc = period_diff(9809,199907);
let $coltype = datetime,col2 datetime;
--source suite/parts/inc/partition_blocked_sql_funcs.inc
-# --source include/partition_blocked_sql_funcs.inc
let $coltype = int,col2 int;
--source suite/parts/inc/partition_blocked_sql_funcs.inc
-# --source include/partition_blocked_sql_funcs.inc
let $sqlfunc = timestampdiff(day,5,col1);
let $valsqlfunc = timestampdiff(YEAR,'2002-05-01','2001-01-01');
let $coltype = datetime;
--source suite/parts/inc/partition_blocked_sql_funcs.inc
-# --source include/partition_blocked_sql_funcs.inc
let $sqlfunc = unix_timestamp(col1);
let $valsqlfunc = unix_timestamp ('2002-05-01');
let $coltype = date;
--source suite/parts/inc/partition_blocked_sql_funcs.inc
-# --source include/partition_blocked_sql_funcs.inc
let $sqlfunc = week(col1);
let $valsqlfunc = week('2002-05-01');
let $coltype = datetime;
--source suite/parts/inc/partition_blocked_sql_funcs.inc
-# --source include/partition_blocked_sql_funcs.inc
+
+let $sqlfunc = weekofyear(col1);
+let $valsqlfunc = weekofyear('2002-05-01');
+let $coltype = datetime;
+--source suite/parts/inc/partition_blocked_sql_funcs.inc
let $sqlfunc = cast(col1 as signed);
let $valsqlfunc = cast(123 as signed);
let $coltype = varchar(30);
--source suite/parts/inc/partition_blocked_sql_funcs.inc
-# --source include/partition_blocked_sql_funcs.inc
let $sqlfunc = convert(col1,unsigned);
let $valsqlfunc = convert(123,unsigned);
let $coltype = varchar(30);
--source suite/parts/inc/partition_blocked_sql_funcs.inc
-# --source include/partition_blocked_sql_funcs.inc
let $sqlfunc = col1 | 20;
let $valsqlfunc = 10 | 20;
let $coltype = int;
--source suite/parts/inc/partition_blocked_sql_funcs.inc
-# --source include/partition_blocked_sql_funcs.inc
let $sqlfunc = col1 & 20;
let $valsqlfunc = 10 & 20;
let $coltype = int;
--source suite/parts/inc/partition_blocked_sql_funcs.inc
-# --source include/partition_blocked_sql_funcs.inc
let $sqlfunc = col1 ^ 20;
let $valsqlfunc = 10 ^ 20;
let $coltype = int;
--source suite/parts/inc/partition_blocked_sql_funcs.inc
-# --source include/partition_blocked_sql_funcs.inc
let $sqlfunc = col1 << 20;
let $valsqlfunc = 10 << 20;
let $coltype = int;
--source suite/parts/inc/partition_blocked_sql_funcs.inc
-# --source include/partition_blocked_sql_funcs.inc
let $sqlfunc = col1 >> 20;
let $valsqlfunc = 10 >> 20;
let $coltype = int;
--source suite/parts/inc/partition_blocked_sql_funcs.inc
-# --source include/partition_blocked_sql_funcs.inc
let $sqlfunc = ~col1;
let $valsqlfunc = ~20;
let $coltype = int;
--source suite/parts/inc/partition_blocked_sql_funcs.inc
-# --source include/partition_blocked_sql_funcs.inc
let $sqlfunc = bit_count(col1);
let $valsqlfunc = bit_count(20);
let $coltype = int;
--source suite/parts/inc/partition_blocked_sql_funcs.inc
-# --source include/partition_blocked_sql_funcs.inc
let $sqlfunc = inet_aton(col1);
let $valsqlfunc = inet_aton('192.168.1.1');
let $coltype = int;
--source suite/parts/inc/partition_blocked_sql_funcs.inc
-# --source include/partition_blocked_sql_funcs.inc
set @var =20;
let $sqlfunc = bit_length(col1)+@var-@var;
let $valsqlfunc = bit_length(20)+@var-@var;
let $coltype = int;
--source suite/parts/inc/partition_blocked_sql_funcs.inc
-# --source include/partition_blocked_sql_funcs.inc
delimiter //;
@@ -286,5 +252,4 @@ let $sqlfunc = getmaxsigned_t1(col1);
let $valsqlfunc = getmaxsigned(10);
let $coltype = int;
--source suite/parts/inc/partition_blocked_sql_funcs.inc
-# --source include/partition_blocked_sql_funcs.inc
drop function if exists getmaxsigned_t1;
diff --git a/mysql-test/suite/parts/inc/part_supported_sql_funcs_delete.inc b/mysql-test/suite/parts/inc/part_supported_sql_funcs_delete.inc
index c0769cdeef1..3a486619b0b 100644
--- a/mysql-test/suite/parts/inc/part_supported_sql_funcs_delete.inc
+++ b/mysql-test/suite/parts/inc/part_supported_sql_funcs_delete.inc
@@ -1,5 +1,6 @@
################################################################################
-# t/part_supported_sql_funcs_delete.inc # # #
+# t/part_supported_sql_funcs_delete.inc #
+# #
# Purpose: #
# Delete access of the tests frame for allowed sql functions #
# #
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 4dc0e7bdad3..25a9774d2a1 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
@@ -38,62 +38,39 @@ let $val2 = 13 ;
let $val3 = 17 ;
let $val4 = 15 ;
--source suite/parts/inc/partition_supported_sql_funcs.inc
-# --source include/partition_supported_sql_funcs.inc
-let $sqlfunc = ascii(col1);
-let $valsqlfunc = ascii('5');
-let $coltype = char(1);
-let $infile = part_supported_sql_funcs_int_ch1.inc;
-let $val1 = '1';
-let $val2 = '9';
-let $val3 = '3';
-let $val4 = '8';
---source suite/parts/inc/partition_supported_sql_funcs.inc
-# --source include/partition_supported_sql_funcs.inc
-let $sqlfunc = cast(ceiling(col1) as signed integer);
-let $valsqlfunc = cast(ceiling(15) as signed integer);
+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 ;
---source suite/parts/inc/partition_supported_sql_funcs.inc
-# --source include/partition_supported_sql_funcs.inc
+# DISABLED due to bug 30577
+#--source suite/parts/inc/partition_supported_sql_funcs.inc
-let $sqlfunc = cast(floor(col1) as signed);
-let $valsqlfunc = cast(floor(15.123) as signed);
+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 ;
---source suite/parts/inc/partition_supported_sql_funcs.inc
-# --source include/partition_supported_sql_funcs.inc
+# DISABLED due to bug 30577
+#--source suite/parts/inc/partition_supported_sql_funcs.inc
-let $sqlfunc = cast(mod(col1,10) as signed);
-let $valsqlfunc = cast(mod(15,10) as signed);
-let $coltype = float(7,4);
-let $infile = part_supported_sql_funcs_int_float.inc;
-let $val1 = 5.0000;
+let $sqlfunc = mod(col1,10);
+let $valsqlfunc = mod(15,10);
+let $coltype = int;
+let $infile = part_supported_sql_funcs_int_int.inc;
+let $val1 = 5;
let $val2 = 19;
let $val3 = 17;
let $val4 = 15 ;
--source suite/parts/inc/partition_supported_sql_funcs.inc
-# --source include/partition_supported_sql_funcs.inc
-
-let $sqlfunc = ord(col1);
-let $valsqlfunc = ord('a');
-let $coltype = char(3);
-let $infile = part_supported_sql_funcs_int_ch1.inc;
-let $val1 = '1';
-let $val2 = '9';
-let $val3 = '3';
-let $val4 = '8';
---source suite/parts/inc/partition_supported_sql_funcs.inc
-# --source include/partition_supported_sql_funcs.inc
let $sqlfunc = day(col1);
let $valsqlfunc = day('2006-12-21');
@@ -104,7 +81,6 @@ let $val2 = '2006-01-17';
let $val3 = '2006-01-25';
let $val4 = '2006-02-05';
--source suite/parts/inc/partition_supported_sql_funcs.inc
-# --source include/partition_supported_sql_funcs.inc
let $sqlfunc = dayofmonth(col1);
let $valsqlfunc = dayofmonth('2006-12-24');
@@ -115,7 +91,6 @@ let $val2 = '2006-01-17';
let $val3 = '2006-01-25';
let $val4 = '2006-02-05';
--source suite/parts/inc/partition_supported_sql_funcs.inc
-# --source include/partition_supported_sql_funcs.inc
let $sqlfunc = dayofweek(col1);
let $valsqlfunc = dayofweek('2006-12-24');
@@ -126,7 +101,6 @@ let $val2 = '2006-02-17';
let $val3 = '2006-01-25';
let $val4 = '2006-02-05';
--source suite/parts/inc/partition_supported_sql_funcs.inc
-# --source include/partition_supported_sql_funcs.inc
let $sqlfunc = dayofyear(col1);
let $valsqlfunc = dayofyear('2006-12-25');
@@ -137,10 +111,8 @@ let $val2 = '2006-01-17';
let $val3 = '2006-02-25';
let $val4 = '2006-02-05';
--source suite/parts/inc/partition_supported_sql_funcs.inc
-# --source include/partition_supported_sql_funcs.inc
let $coltype = char(30);
--source suite/parts/inc/partition_supported_sql_funcs.inc
-# --source include/partition_supported_sql_funcs.inc
let $sqlfunc = extract(month from col1);
let $valsqlfunc = extract(year from '1998-11-23');
@@ -151,7 +123,6 @@ let $val2 = '2006-02-17';
let $val3 = '2006-01-25';
let $val4 = '2006-02-05';
--source suite/parts/inc/partition_supported_sql_funcs.inc
-# --source include/partition_supported_sql_funcs.inc
let $sqlfunc = hour(col1);
let $valsqlfunc = hour('18:30');
@@ -162,7 +133,6 @@ let $val2 = '14:30';
let $val3 = '21:59';
let $val4 = '10:30';
--source suite/parts/inc/partition_supported_sql_funcs.inc
-# --source include/partition_supported_sql_funcs.inc
let $sqlfunc = microsecond(col1);
let $valsqlfunc = microsecond('10:30:10.000010');
@@ -173,7 +143,6 @@ let $val2 = '04:30:01.000018';
let $val3 = '00:59:22.000024';
let $val4 = '05:30:34.000037';
--source suite/parts/inc/partition_supported_sql_funcs.inc
-# --source include/partition_supported_sql_funcs.inc
let $sqlfunc = minute(col1);
let $valsqlfunc = minute('18:30');
@@ -183,7 +152,6 @@ let $val2 = '14:30:45';
let $val3 = '21:59:22';
let $val4 = '10:24:23';
--source suite/parts/inc/partition_supported_sql_funcs.inc
-# --source include/partition_supported_sql_funcs.inc
let $sqlfunc = second(col1);
let $valsqlfunc = second('18:30:14');
@@ -194,10 +162,8 @@ let $val2 = '14:30:20';
let $val3 = '21:59:22';
let $val4 = '10:22:33';
--source suite/parts/inc/partition_supported_sql_funcs.inc
-# --source include/partition_supported_sql_funcs.inc
let $coltype = char(30);
--source suite/parts/inc/partition_supported_sql_funcs.inc
-# --source include/partition_supported_sql_funcs.inc
let $sqlfunc = month(col1);
let $valsqlfunc = month('2006-10-14');
@@ -208,7 +174,6 @@ let $val2 = '2006-12-17';
let $val3 = '2006-05-25';
let $val4 = '2006-11-06';
--source suite/parts/inc/partition_supported_sql_funcs.inc
-# --source include/partition_supported_sql_funcs.inc
let $sqlfunc = quarter(col1);
let $valsqlfunc = quarter('2006-10-14');
@@ -219,7 +184,6 @@ let $val2 = '2006-12-17';
let $val3 = '2006-09-25';
let $val4 = '2006-07-30';
--source suite/parts/inc/partition_supported_sql_funcs.inc
-# --source include/partition_supported_sql_funcs.inc
let $sqlfunc = time_to_sec(col1)-(time_to_sec(col1)-20);
let $valsqlfunc = time_to_sec('18:30:14')-(time_to_sec('17:59:59'));
@@ -230,7 +194,6 @@ let $val2 = '14:30:45';
let $val3 = '21:59:22';
let $val4 = '10:33:11';
--source suite/parts/inc/partition_supported_sql_funcs.inc
-# --source include/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');
@@ -241,29 +204,27 @@ let $val2 = '2006-01-17';
let $val3 = '2006-01-25';
let $val4 = '2006-02-06';
--source suite/parts/inc/partition_supported_sql_funcs.inc
-# --source include/partition_supported_sql_funcs.inc
-let $sqlfunc = weekday(col1);
-let $valsqlfunc = weekday('2006-10-14');
+# 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-12-03';
-let $val2 = '2006-11-17';
-let $val3 = '2006-05-25';
+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
-# --source include/partition_supported_sql_funcs.inc
-let $sqlfunc = weekofyear(col1);
-let $valsqlfunc = weekofyear('2006-02-14');
+let $sqlfunc = weekday(col1);
+let $valsqlfunc = weekday('2006-10-14');
let $coltype = date;
let $infile = part_supported_sql_funcs_int_date.inc;
-let $val1 = '2006-01-03';
-let $val2 = '2006-03-17';
+let $val1 = '2006-12-03';
+let $val2 = '2006-11-17';
let $val3 = '2006-05-25';
-let $val4 = '2006-09-06';
+let $val4 = '2006-02-06';
--source suite/parts/inc/partition_supported_sql_funcs.inc
-# --source include/partition_supported_sql_funcs.inc
let $sqlfunc = year(col1)-1990;
let $valsqlfunc = year('2005-10-14')-1990;
@@ -274,7 +235,6 @@ let $val2 = '2000-02-17';
let $val3 = '2004-05-25';
let $val4 = '2002-02-15';
--source suite/parts/inc/partition_supported_sql_funcs.inc
-# --source include/partition_supported_sql_funcs.inc
let $sqlfunc = yearweek(col1)-200600;
let $valsqlfunc = yearweek('2006-10-14')-200600;
@@ -285,4 +245,3 @@ let $val2 = '2006-08-17';
let $val3 = '2006-03-25';
let $val4 = '2006-11-15';
--source suite/parts/inc/partition_supported_sql_funcs.inc
-# --source include/partition_supported_sql_funcs.inc
diff --git a/mysql-test/suite/parts/inc/partition.pre b/mysql-test/suite/parts/inc/partition.pre
index c09cfed29e6..0c906ce4581 100644
--- a/mysql-test/suite/parts/inc/partition.pre
+++ b/mysql-test/suite/parts/inc/partition.pre
@@ -1,5 +1,5 @@
################################################################################
-# include/partition.pre #
+# inc/partition.pre #
# #
# Purpose: #
# Auxiliary script creating prerequisites needed by the partitioning tests #
@@ -12,41 +12,35 @@
# The README for the partitioning testcases is at the end of this file. #
# #
#------------------------------------------------------------------------------#
-# Original Author: ML #
-# Original Date: 2006-03-05 #
-# Change Author: #
-# Change Date: #
-# Change: #
+# Original Author: mleich #
+# Original Date: 2006-03-05 #
+# Change Author: mleich #
+# Change Date: 2007-10-08 #
+# Change: Minor cleanup and fix for #
+# Bug#31243 Test "partition_basic_myisam" truncates path names#
+# - Blow column file_list up to VARBINARY(10000) #
+# - remove reference to fixed bugs #17455, #19305 #
################################################################################
# Set the session storage engine
eval SET @@session.storage_engine = $engine;
##### Disabled/affected testcases, because of open bugs #####
---echo
---echo #------------------------------------------------------------------------
---echo # There are several testcases disabled because of the open bugs
---echo # #15890
-if (`SELECT @@session.storage_engine IN('ndbcluster')`)
-{
---echo # #18730, Bug#18735
-}
---echo # The expected results suffer from the following bugs
---echo # harmless #17455, #19305
---echo # which cannot be suppressed because of technical reasons.
---echo #------------------------------------------------------------------------
-# Attention: Only bugs appearing in all storage engines should be mentioned above.
-# The top level test wrapper (example: t/partition_basic_ndb.test)
-# may set the $fixed_bug<nnnnn> variable to 0 after sourcing
-# this file.
-# Bug#15890 Partitions: Strange interpretation of partition number
-let $fixed_bug15890= 0;
-# Bug#18730: Partitions: NDB, crash on SELECT MIN(<unique column>)
-# Attention: NDB testcases set this variable later to 0
-let $fixed_bug18730= 1;
-# Bug#18735: Partitions: NDB, UNIQUE INDEX, UPDATE, strange server response
-# Attention: NDB testcases set this variable later to 0
-let $fixed_bug18735= 1;
+# --echo
+# --echo #------------------------------------------------------------------------
+# --echo # There are several testcases disabled because of the open bugs
+# if (`SELECT @@session.storage_engine IN('ndbcluster')`)
+# {
+# --echo # #18730
+# }
+# --echo #------------------------------------------------------------------------
+# # Attention: Only bugs appearing in all storage engines should be mentioned above.
+# # The top level test wrapper (example: t/partition_basic_ndb.test)
+# # may set the $fixed_bug<nnnnn> variable to 0 after sourcing
+# # this file.
+# # Bug#18730: Partitions: NDB, crash on SELECT MIN(<unique column>)
+# # Attention: NDB testcases set this variable later to 0
+# let $fixed_bug18730= 1;
--echo
--echo #------------------------------------------------------------------------
@@ -66,6 +60,17 @@ if ($debug)
--echo # It is to be expected, that we get huge differences.
}
+let $ER_DUP_KEY= 1022;
+let $ER_GET_ERRNO= 1030;
+let $ER_BAD_NULL_ERROR= 1048;
+let $ER_DUP_ENTRY= 1062;
+let $ER_PARSE_ERROR= 1064;
+let $ER_TOO_MANY_PARTITIONS_ERROR= 1499;
+let $ER_UNIQUE_KEY_NEED_ALL_FIELDS_IN_PF= 1503;
+let $ER_NO_PARTS_ERROR= 1504;
+let $ER_DROP_PARTITION_NON_EXISTENT= 1507;
+let $ER_SAME_NAME_PARTITION= 1517;
+let $ER_NO_PARTITION_FOR_GIVEN_VALUE= 1526;
# Set the variable $engine_other to a storage engine <> $engine
--disable_query_log
@@ -164,7 +169,7 @@ DROP TABLE IF EXISTS t0_definition;
CREATE TABLE t0_definition (
state CHAR(3),
create_command VARBINARY(5000),
-file_list VARBINARY(5000),
+file_list VARBINARY(10000),
PRIMARY KEY (state)
) ENGINE = MEMORY;
@@ -308,23 +313,23 @@ if (0)
# (t/partition_<feature>_<engine>.test)
# a) General not engine specific settings and requirements
# $debug, $ls, @max_row, $more_trigger_tests, .....
-# --source include/have_partition.inc
+# --source inc/have_partition.inc
# b) Engine specific settings and requirements
# $do_pk_tests, $MAX_VALUE, $engine
# SET SESSION storage_engine
# $engine_other
# c) Generate the prerequisites ($variables, @variables, tables) needed
# via
-# --source include/partition.pre
+# --source inc/partition.pre
# d) Set "fixed_bug<number>" variables to 1 if there are open engine
# specific bugs which need worarounds.
# e) Execute the feature specific testscript via
-# --source include/partition_<feature>.inc
+# --source inc/partition_<feature>.inc
# f) Perform a cleanup by removing all objects created within the tests
-# --source include/partition_cleanup.inc
+# --source inc/partition_cleanup.inc
#
# 2.2. script generating the prerequisites needed in all tests
-# (include/partition.pre)
+# (inc/partition.pre)
# a) Message about open bugs causing that
# - some testcases are disabled
# - it cannot be avoided that the file with expected results suffers
@@ -340,36 +345,70 @@ if (0)
# c) Setting of auxiliary variables
# d) Creation of auxiliary tables ....
#
-# 3. script checking a feature
-# (include/partition_<feature.inc>.inc)
-# Example:
-# a) "set/compute" a CREATE TABLE t1 .. and an ALTER TABLE ... statement
-# b) CREATE TABLE t1 ...
-# c) INSERT INTO t1 (.....) SELECT .... FROM t0_template WHERE ...
-# The first 50 % of all t0_template rows will be inserted into t1.
-# d) ALTER TABLE t1 (Example: ADD/DROP UNIQUE INDEX)
-# e) INSERT INTO t1 (.....) SELECT .... FROM t0_template WHERE ...
-# The second 50 % of all t0_template rows will be inserted into t1.
-# Now t1 and t0_template should have the same content.
-# f) Check the "usability" of the current table t1
-# via
-# --source include/partition_check.pre
-# g) DROP TABLE t1
-# Switch to other CREATE and ALTER statements and run sequence a)-g) again
-# ...
+# 2.3. script checking a feature
+# (inc/partition_<feature.inc>.inc)
+# Example:
+# a) "set/compute" a CREATE TABLE t1 .. and an ALTER TABLE ... statement
+# b) CREATE TABLE t1 ...
+# c) INSERT INTO t1 (.....) SELECT .... FROM t0_template WHERE ...
+# The first 50 % of all t0_template rows will be inserted into t1.
+# d) ALTER TABLE t1 (Example: ADD/DROP UNIQUE INDEX)
+# e) INSERT INTO t1 (.....) SELECT .... FROM t0_template WHERE ...
+# The second 50 % of all t0_template rows will be inserted into t1.
+# Now t1 and t0_template should have the same content.
+# f) Check the "usability" of the current table t1
+# via
+# --source inc/partition_check.pre
+# g) DROP TABLE t1
+# Switch to other CREATE and ALTER statements and run sequence a)-g) again
+# ...
+#
+# 2.4. script checking if a certain table shows the expected behaviour
+# ("usability" check): inc/partition_check.inc
+# - SELECT/INSERT/UPDATE/DELETE affecting single and multiple records
+# - check of values of special interest like NULL etc.
+# - INSERT/UPDATE with BEFORE/AFTER triggers
+# - violations of UNIQUE constraints, if there are any defined
+# - transactions ...
+# - TRUNCATE/OPTIMIZE/..
+# - ...
+#
+#
+# 2.5. There are some auxiliary scripts with sub tests where we cannot predict
+# if we get an error and if we get one, which one.
+# Example: INSERT a record where the value for a certain column equals
+# some existing record.
+# Depending on existing/not existing PRIMARY KEYs, UNIQUE INDEXes
+# the response might be "no error", ER_DUP_KEY, ER_DUP_ENTRY.
+# Our requirements:
+# 1. We cannot abort whenever get an error message from the server.
+# 2. We want the exact server message into the protocol.
+# 3. We want abort testing if we know that a certain error must not happen.
+# Common but unusable Solutions:
+# a) --error 0, ER_DUP_KEY, ER_DUP_ENTRY
+# <statment>
+# We get no error message even if the statement fails.
+# b) --error ER_DUP_KEY, ER_DUP_ENTRY
+# <statment>
+# We might get "got one of the expected errors".
+# There are situations where the statement must be successful.
+# c) --disable_abort_on_error
+# <statment>
+# --enable_abort_on_error
+# And nothing extra
+# We do not abort in case of unexpected server errors.
+#
+# Final solution:
+# --disable_abort_on_error
+# <statment>
+# --enable_abort_on_error
+# Check via error number if the error is not totally unexpected.
+# The sub tests use $ER_DUP_KEY, $ER_DUP_ENTRY, etc.
+# Assignment of values happen in this file.
#
-# 4. script checking if a certain table shows the expected behaviour
-# ("usability" check): include/partition_check.inc
-# - SELECT/INSERT/UPDATE/DELETE affecting single and multiple records
-# - check of values of special interest like NULL etc.
-# - INSERT/UPDATE with BEFORE/AFTER triggers
-# - violations of UNIQUE constraints, if there are any defined
-# - transactions ...
-# - TRUNCATE/OPTIMIZE/..
-# - ...
#
# 3. How to analyze a partitioning bug revealed with these tests/ How to build
-# a small replay script from the monstrous protocols ?
+# a small replay script from the monstrous protocols ?
#------------------------------------------------------------------------------#
# a) crash -- use the file var/master-data/mysql/general_log.CSV
# b) no crash, but unexpected server response (there is no "reject file)
@@ -382,19 +421,19 @@ if (0)
# protocolling of some queries.
# In most cases you will find that the r/<testcase>.<log/reject> contains at
# least a line "# # check <something>: 0".
-# That means that a check within include/partition_check did not got the
+# That means that a check within inc/partition_check did not got the
# expected result.
# A good start for a replay script would be
# 1. Copy t/partition_<feature>_<engine>.test to t/my_test.test
# 2. Edit t/my_test.test
# - set $debug to 1
# - replace the line
-# "--source include/partition_<feature>.inc"
+# "--source inc/partition_<feature>.inc"
# with all statements between the last
# CREATE TABLE t1 statement (included this)
# and the line
-# "# Start usability test (include/partition_check.inc)"
-# - add the content of include/partition_check.inc at the end.
+# "# Start usability test (inc/partition_check.inc)"
+# - add the content of inc/partition_check.inc at the end.
#
# Please excuse that the partitioning tests generate such huge protocols which
# and are not very handy when it comes to bug analysis. I tried to squeez out
diff --git a/mysql-test/include/partition_10.inc b/mysql-test/suite/parts/inc/partition_10.inc
index 74b0fdf7f6a..2050c809463 100644
--- a/mysql-test/include/partition_10.inc
+++ b/mysql-test/suite/parts/inc/partition_10.inc
@@ -1,4 +1,4 @@
-# include/partition_10.inc
+# inc/partition_10.inc
#
# Do some basic checks on a table.
#
@@ -10,7 +10,7 @@
# is like expected.
#
---source include/partition_layout.inc
+--source suite/parts/inc/partition_layout.inc
####### Variations with multiple records
# Select on empty table
@@ -50,20 +50,14 @@ eval UPDATE t1 SET f1 = $max_row + 2, f2 = 'ZZZZZZZ'
WHERE f1 = 0 AND f2 = '#######';
# Select
eval SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = $max_row + 2 AND f2 = 'ZZZZZZZ';
-if ($fixed_bug15968)
-{
# Bug #15968: Partitions: crash when INSERT with f1 = -1 into PARTITION BY HASH(f1)
eval UPDATE t1 SET f1 = 0 - 1, f2 = 'ZZZZZZZ'
WHERE f1 = $max_row + 1 AND f2 = '#######';
# Select
SELECT COUNT(*) AS my_value FROM t1 WHERE f1 = 0 - 1 AND f2 = 'ZZZZZZZ';
-}
# Delete
eval DELETE FROM t1 WHERE f1 = $max_row + 2 AND f2 = 'ZZZZZZZ';
-if ($fixed_bug15968)
-{
DELETE FROM t1 WHERE f1 = 0 - 1 AND f2 = 'ZZZZZZZ';
-}
# Select
SELECT COUNT(*) = 0 AS my_value FROM t1 WHERE f2 = 'ZZZZZZZ';
diff --git a/mysql-test/include/partition_11.inc b/mysql-test/suite/parts/inc/partition_11.inc
index 7ed4d882aa0..9f10f58a5f0 100644
--- a/mysql-test/include/partition_11.inc
+++ b/mysql-test/suite/parts/inc/partition_11.inc
@@ -1,4 +1,4 @@
-# include/partition_11.inc
+# inc/partition_11.inc
#
# Try to create a table with the given partition number
#
@@ -13,7 +13,7 @@ let $run= `SELECT @my_errno = 0`;
# If this operation was successfull, check + drop this table
if ($run)
{
- --source include/partition_10.inc
+ --source suite/parts/inc/partition_10.inc
eval DROP TABLE t1;
}
#### Try to create a table with the given subpartition number
@@ -29,6 +29,6 @@ let $run= `SELECT @my_errno = 0`;
# If this operation was successfull, check + drop this table
if ($run)
{
- --source include/partition_10.inc
+ --source suite/parts/inc/partition_10.inc
eval DROP TABLE t1;
}
diff --git a/mysql-test/include/partition_12.inc b/mysql-test/suite/parts/inc/partition_12.inc
index 2a5610b82e1..c30990a61ef 100644
--- a/mysql-test/include/partition_12.inc
+++ b/mysql-test/suite/parts/inc/partition_12.inc
@@ -1,10 +1,10 @@
-# include/partition_12.inc
+# inc/partition_12.inc
#
# Do some basic things on a table, if the SQL command executed just before
# sourcing this file was successful.
#
---source include/partition_layout.inc
+--source suite/parts/inc/partition_layout.inc
####### Variations with multiple records
# (mass) Insert max_row_div2 + 1 records
@@ -42,20 +42,14 @@ eval UPDATE t1 SET f1 = $max_row + 2, f2 = 'ZZZZZZZ'
WHERE f1 = 0 AND f2 = '#######';
# Select
eval SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = $max_row + 2 AND f2 = 'ZZZZZZZ';
-if ($fixed_bug15968)
-{
# Bug #15968: Partitions: crash when INSERT with f1 = -1 into PARTITION BY HASH(f1)
eval UPDATE t1 SET f1 = 0 - 1, f2 = 'ZZZZZZZ'
WHERE f1 = $max_row + 1 AND f2 = '#######';
# Select
SELECT COUNT(*) AS my_value FROM t1 WHERE f1 = 0 - 1 AND f2 = 'ZZZZZZZ';
-}
# Delete
eval DELETE FROM t1 WHERE f1 = $max_row + 2 AND f2 = 'ZZZZZZZ';
-if ($fixed_bug15968)
-{
DELETE FROM t1 WHERE f1 = 0 - 1 AND f2 = 'ZZZZZZZ';
-}
# Select
SELECT COUNT(*) = 0 AS my_value FROM t1 WHERE f2 = 'ZZZZZZZ';
diff --git a/mysql-test/suite/parts/inc/partition_20.inc b/mysql-test/suite/parts/inc/partition_20.inc
index 7901b332a11..cc820b8312b 100644
--- a/mysql-test/suite/parts/inc/partition_20.inc
+++ b/mysql-test/suite/parts/inc/partition_20.inc
@@ -1,10 +1,11 @@
################################################################################
-# include/partition_20.inc #
+# inc/partition_20.inc #
# #
# Purpose: #
-# Auxiliary script, only useful when sourced by include/partition_check.inc. #
+# Auxiliary script, only useful when sourced by #
+# suite/parts/inc/partition_check.inc. #
# #
-# 1. Check if the preceeding statement caused that the expected number of #
+# 1. Check if the preceding statement caused that the expected number of #
# records was #
# - inserted #
# - updated or deleted+inserted #
@@ -17,19 +18,13 @@
# must be set before sourcing this routine. #
# #
#------------------------------------------------------------------------------#
-# Original Author: ML #
+# Original Author: mleich #
# Original Date: 2006-03-05 #
# Change Author: #
# Change Date: #
# Change: #
################################################################################
-# include/partition_20.inc
-#
-# Auxiliary script, only useful when sourced by include/partition_check.inc.
-#
-
-# Check of preceeding statement via Select
if ($no_debug)
{
--disable_query_log
diff --git a/mysql-test/suite/parts/inc/partition_alter1.inc b/mysql-test/suite/parts/inc/partition_alter1.inc
index a9706d5eb98..e3ec924f346 100644
--- a/mysql-test/suite/parts/inc/partition_alter1.inc
+++ b/mysql-test/suite/parts/inc/partition_alter1.inc
@@ -1,12 +1,12 @@
################################################################################
-# include/partition_alter1.inc #
+# inc/partition_alter1.inc #
# #
# Purpose: #
# ADD/DROP PRIMARY KEYs and/or UNIQUE INDEXes tests on partitioned tables #
# This routine is only useful for the partition_<feature>_<engine> tests. #
# #
#------------------------------------------------------------------------------#
-# Original Author: ML #
+# Original Author: mleich #
# Original Date: 2006-03-05 #
# Change Author: #
# Change Date: #
@@ -26,7 +26,7 @@
--echo # within the partitioning function
--echo #------------------------------------------------------------------------
# Rule: Only f_int1 is used within the partitioning function
-# ---> include/partition_alter_11.inc
+# ---> inc/partition_alter_11.inc
if ($do_pk_tests)
{
# The value of the following test is maybe covered by 1.1.3.
@@ -35,12 +35,10 @@ if ($do_pk_tests)
--echo # 1.1.1 PRIMARY KEY consisting of one column
let $alter= ALTER TABLE t1 ADD PRIMARY KEY(f_int1);
--source suite/parts/inc/partition_alter_11.inc
- # --source include/partition_alter_11.inc
}
# This must fail, because PRIMARY KEY does not contain f_int1
let $alter= ALTER TABLE t1 ADD PRIMARY KEY(f_int2);
--source suite/parts/inc/partition_alter_11.inc
- # --source include/partition_alter_11.inc
}
# The value of the following test is maybe covered by 1.1.4.
if ($more_pk_ui_tests)
@@ -48,65 +46,52 @@ if ($more_pk_ui_tests)
--echo # 1.1.2 UNIQUE INDEX consisting of one column
let $alter= ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int1);
--source suite/parts/inc/partition_alter_11.inc
- # --source include/partition_alter_11.inc
}
# This must fail, because UNIQUE INDEX does not contain f_int1
let $alter= ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2);
--source suite/parts/inc/partition_alter_11.inc
-# --source include/partition_alter_11.inc
if ($do_pk_tests)
{
--echo # 1.1.3 PRIMARY KEY consisting of two columns
let $alter= ALTER TABLE t1 ADD PRIMARY KEY(f_int1,f_int2);
--source suite/parts/inc/partition_alter_11.inc
- # --source include/partition_alter_11.inc
let $alter= ALTER TABLE t1 ADD PRIMARY KEY(f_int2,f_int1);
--source suite/parts/inc/partition_alter_11.inc
- # --source include/partition_alter_11.inc
}
--echo # 1.1.4 UNIQUE INDEX consisting of two columns
let $alter= ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int1,f_int2);
--source suite/parts/inc/partition_alter_11.inc
-# --source include/partition_alter_11.inc
let $alter= ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2,f_int1);
--source suite/parts/inc/partition_alter_11.inc
-# --source include/partition_alter_11.inc
#
--echo #------------------------------------------------------------------------
--echo # 1.2 ADD PRIMARY KEY or UNIQUE INDEX to table with two columns
--echo # (f_int1 and f_int2) within the partitioning function
--echo #------------------------------------------------------------------------
# Rule: f_int1 and f_int2 is used within the partitioning function
-# ---> include/partition_alter_13.inc
+# ---> inc/partition_alter_13.inc
if ($do_pk_tests)
{
--echo # 1.2.1 PRIMARY KEY consisting of two columns
let $alter= ALTER TABLE t1 ADD PRIMARY KEY(f_int1,f_int2);
--source suite/parts/inc/partition_alter_13.inc
- # --source include/partition_alter_13.inc
let $alter= ALTER TABLE t1 ADD PRIMARY KEY(f_int2,f_int1);
--source suite/parts/inc/partition_alter_13.inc
- # --source include/partition_alter_13.inc
}
--echo # 1.2.2 UNIQUE INDEX consisting of two columns
let $alter= ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int1,f_int2);
--source suite/parts/inc/partition_alter_13.inc
-# --source include/partition_alter_13.inc
let $alter= ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2,f_int1);
--source suite/parts/inc/partition_alter_13.inc
-# --source include/partition_alter_13.inc
if ($do_pk_tests)
{
--echo # 1.2.3 PRIMARY KEY and UNIQUE INDEX consisting of two columns
let $alter= ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int1,f_int2), ADD PRIMARY KEY(f_int2,f_int1);
--source suite/parts/inc/partition_alter_13.inc
- # --source include/partition_alter_13.inc
let $alter= ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2,f_int1), ADD PRIMARY KEY(f_int1,f_int2);
--source suite/parts/inc/partition_alter_13.inc
- # --source include/partition_alter_13.inc
let $unique= ;
--source suite/parts/inc/partition_alter_13.inc
- # --source include/partition_alter_13.inc
}
#
#
@@ -122,7 +107,7 @@ if ($do_pk_tests)
--echo # 2.1 Partitioning function contains one column(f_int1)
--echo #------------------------------------------------------------------------
# Rule: Only f_int1 is used within the partitioning function
-# ---> include/partition_alter_11.inc
+# ---> inc/partition_alter_11.inc
# The value of the following test is maybe covered by 2.1.5.
if ($more_pk_ui_tests)
{
@@ -132,14 +117,12 @@ if ($more_pk_ui_tests)
let $unique= , PRIMARY KEY(f_int1);
let $alter= ALTER TABLE t1 DROP PRIMARY KEY;
--source suite/parts/inc/partition_alter_11.inc
- # --source include/partition_alter_11.inc
}
#
--echo # 2.1.2 DROP UNIQUE INDEX consisting of one column
let $unique= , UNIQUE INDEX uidx1 (f_int1);
let $alter= ALTER TABLE t1 DROP INDEX uidx1;
--source suite/parts/inc/partition_alter_11.inc
- # --source include/partition_alter_11.inc
#
if ($do_pk_tests)
{
@@ -147,20 +130,16 @@ if ($more_pk_ui_tests)
let $alter= ALTER TABLE t1 DROP PRIMARY KEY;
let $unique= , PRIMARY KEY(f_int1,f_int2);
--source suite/parts/inc/partition_alter_11.inc
- # --source include/partition_alter_11.inc
let $unique= , PRIMARY KEY(f_int2,f_int1);
--source suite/parts/inc/partition_alter_11.inc
- # --source include/partition_alter_11.inc
}
#
--echo # 2.1.4 DROP UNIQUE INDEX consisting of two columns
let $alter= ALTER TABLE t1 DROP INDEX uidx1;
let $unique= , UNIQUE INDEX uidx1 (f_int1,f_int2);
--source suite/parts/inc/partition_alter_11.inc
- # --source include/partition_alter_11.inc
let $unique= , UNIQUE INDEX uidx1 (f_int2,f_int1);
--source suite/parts/inc/partition_alter_11.inc
- # --source include/partition_alter_11.inc
}
#
if ($do_pk_tests)
@@ -169,42 +148,35 @@ if ($do_pk_tests)
let $unique= , UNIQUE INDEX uidx1 (f_int1,f_int2), PRIMARY KEY(f_int2,f_int1);
let $alter= ALTER TABLE t1 DROP PRIMARY KEY, DROP INDEX uidx1;
--source suite/parts/inc/partition_alter_11.inc
- # --source include/partition_alter_11.inc
let $unique= , UNIQUE INDEX uidx1 (f_int2,f_int1), PRIMARY KEY(f_int1,f_int2);
let $alter= ALTER TABLE t1 DROP PRIMARY KEY, DROP INDEX uidx1;
--source suite/parts/inc/partition_alter_11.inc
- # --source include/partition_alter_11.inc
}
let $unique= , UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1);
let $alter= ALTER TABLE t1 DROP INDEX uidx1, DROP INDEX uidx2;
--source suite/parts/inc/partition_alter_11.inc
-# --source include/partition_alter_11.inc
#
--echo #------------------------------------------------------------------------
--echo # 2.2 Partitioning function contains two columns (f_int1,f_int2)
--echo #------------------------------------------------------------------------
# Rule: f_int1 and f_int2 is used within the partitioning function
-# ---> include/partition_alter_13.inc
+# ---> inc/partition_alter_13.inc
if ($do_pk_tests)
{
--echo # 2.2.1 DROP PRIMARY KEY consisting of two columns
let $alter= ALTER TABLE t1 DROP PRIMARY KEY;
let $unique= , PRIMARY KEY(f_int1,f_int2);
--source suite/parts/inc/partition_alter_13.inc
- # --source include/partition_alter_13.inc
let $unique= , PRIMARY KEY(f_int2,f_int1);
--source suite/parts/inc/partition_alter_13.inc
- # --source include/partition_alter_13.inc
}
#
--echo # 2.2.2 DROP UNIQUE INDEX consisting of two columns
let $alter= ALTER TABLE t1 DROP INDEX uidx1;
let $unique= , UNIQUE INDEX uidx1 (f_int1,f_int2);
--source suite/parts/inc/partition_alter_13.inc
-# --source include/partition_alter_13.inc
let $unique= , UNIQUE INDEX uidx1 (f_int2,f_int1);
--source suite/parts/inc/partition_alter_13.inc
-# --source include/partition_alter_13.inc
#
if ($do_pk_tests)
{
@@ -212,26 +184,23 @@ if ($do_pk_tests)
let $unique= , UNIQUE INDEX uidx1 (f_int1,f_int2), PRIMARY KEY(f_int2,f_int1);
let $alter= ALTER TABLE t1 DROP PRIMARY KEY, DROP INDEX uidx1;
--source suite/parts/inc/partition_alter_13.inc
- # --source include/partition_alter_13.inc
let $unique= , UNIQUE INDEX uidx1 (f_int2,f_int1), PRIMARY KEY(f_int1,f_int2);
let $alter= ALTER TABLE t1 DROP PRIMARY KEY, DROP INDEX uidx1;
--source suite/parts/inc/partition_alter_13.inc
- # --source include/partition_alter_13.inc
}
let $unique= , UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1);
let $alter= ALTER TABLE t1 DROP INDEX uidx1, DROP INDEX uidx2;
--source suite/parts/inc/partition_alter_13.inc
-# --source include/partition_alter_13.inc
if (0)
{
--echo
--echo #========================================================================
--echo # 3. ALTER TABLE "ALTER" PRIMARY KEY
---echo # ML: I think that an ALTER TABLE statement where a PRIMARY KEY is
---echo # dropped and recreated (with different layout) might be of
---echo # interest, if the tree containing the table data has to be
---echo # reorganized during this operation.
+--echo # mleich: I think that an ALTER TABLE statement where a PRIMARY
+--echo # KEY is dropped and recreated (with different layout) might
+--echo # be of interest, if the tree containing the table data has
+--echo # to be reorganized during this operation.
--echo # To be implemented
--echo #========================================================================
--echo
diff --git a/mysql-test/suite/parts/inc/partition_alter2.inc b/mysql-test/suite/parts/inc/partition_alter2.inc
index 3e01c3972bc..3960b8e8a09 100644
--- a/mysql-test/suite/parts/inc/partition_alter2.inc
+++ b/mysql-test/suite/parts/inc/partition_alter2.inc
@@ -1,12 +1,12 @@
################################################################################
-# include/partition_alter2.inc #
+# inc/partition_alter2.inc #
# #
# Purpose: #
# Tests where the columns used within the partitioning function are altered. #
# This routine is only useful for the partition_<feature>_<engine> tests. .#
# #
#------------------------------------------------------------------------------#
-# Original Author: ML #
+# Original Author: mleich #
# Original Date: 2006-03-05 #
# Change Author: #
# Change Date: #
@@ -22,12 +22,11 @@
--echo # 1.1 ALTER column f_int2 not used in partitioning function
--echo #------------------------------------------------------------------------
# Rule: Only f_int1 is used within the partitioning function
-# ---> include/partition_alter_11.inc
+# ---> inc/partition_alter_11.inc
let $alter= ALTER TABLE t1 MODIFY f_int2 BIGINT;
--echo # 1.1.1 no PRIMARY KEY or UNIQUE INDEX exists
let $unique= ;
--source suite/parts/inc/partition_alter_11.inc
-# --source include/partition_alter_11.inc
#
if ($do_pk_tests)
{
@@ -38,14 +37,11 @@ if ($do_pk_tests)
{
let $unique= , PRIMARY KEY (f_int1);
--source suite/parts/inc/partition_alter_11.inc
- # --source include/partition_alter_11.inc
}
let $unique= , PRIMARY KEY (f_int1,f_int2);
--source suite/parts/inc/partition_alter_11.inc
- # --source include/partition_alter_11.inc
let $unique= , PRIMARY KEY (f_int2,f_int1);
--source suite/parts/inc/partition_alter_11.inc
- # --source include/partition_alter_11.inc
}
#
--echo # 1.1.3 UNIQUE INDEX exists
@@ -55,14 +51,11 @@ if ($more_pk_ui_tests)
{
let $unique= , UNIQUE INDEX uidx1 (f_int1);
--source suite/parts/inc/partition_alter_11.inc
- # --source include/partition_alter_11.inc
}
let $unique= , UNIQUE INDEX uidx1 (f_int1,f_int2);
--source suite/parts/inc/partition_alter_11.inc
-# --source include/partition_alter_11.inc
let $unique= , UNIQUE INDEX uidx1 (f_int2,f_int1);
--source suite/parts/inc/partition_alter_11.inc
-# --source include/partition_alter_11.inc
#
if ($more_pk_ui_tests)
{
@@ -71,47 +64,35 @@ if ($more_pk_ui_tests)
--echo # 1.2 ALTER column f_int1 used in partitioning function
--echo #------------------------------------------------------------------------
# Rule: Only f_int1 is used within the partitioning function
- # ---> include/partition_alter_11.inc
+ # ---> inc/partition_alter_11.inc
let $alter= ALTER TABLE t1 MODIFY f_int1 BIGINT;
--echo # 1.2.1 no PRIMARY KEY or UNIQUE INDEX exists
let $unique= ;
--source suite/parts/inc/partition_alter_11.inc
- # --source include/partition_alter_11.inc
--source suite/parts/inc/partition_alter_13.inc
- # --source include/partition_alter_13.inc
#
if ($do_pk_tests)
{
--echo # 1.2.2 PRIMARY KEY exists
let $unique= , PRIMARY KEY (f_int1);
--source suite/parts/inc/partition_alter_11.inc
- # --source include/partition_alter_11.inc
let $unique= , PRIMARY KEY (f_int1,f_int2);
--source suite/parts/inc/partition_alter_11.inc
- # --source include/partition_alter_11.inc
--source suite/parts/inc/partition_alter_13.inc
- # --source include/partition_alter_13.inc
let $unique= , PRIMARY KEY (f_int2,f_int1);
--source suite/parts/inc/partition_alter_11.inc
- # --source include/partition_alter_11.inc
--source suite/parts/inc/partition_alter_13.inc
- # --source include/partition_alter_13.inc
}
#
--echo # 1.2.3 UNIQUE INDEX exists
let $unique= , UNIQUE INDEX uidx (f_int1);
--source suite/parts/inc/partition_alter_11.inc
- # --source include/partition_alter_11.inc
let $unique= , UNIQUE INDEX uidx (f_int1,f_int2);
--source suite/parts/inc/partition_alter_11.inc
- # --source include/partition_alter_11.inc
--source suite/parts/inc/partition_alter_13.inc
- # --source include/partition_alter_13.inc
let $unique= , UNIQUE INDEX uidx (f_int2,f_int1);
--source suite/parts/inc/partition_alter_11.inc
- # --source include/partition_alter_11.inc
--source suite/parts/inc/partition_alter_13.inc
- # --source include/partition_alter_13.inc
}
#
--echo #------------------------------------------------------------------------
@@ -119,14 +100,12 @@ if ($more_pk_ui_tests)
--echo # f_int1 or (f_int1 and f_int2) used in partitioning function
--echo #------------------------------------------------------------------------
# Rule: f_int1 and f_int2 is used within the partitioning function
-# ---> include/partition_alter_13.inc
+# ---> inc/partition_alter_13.inc
let $alter= ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
--echo # 1.3.1 no PRIMARY KEY or UNIQUE INDEX exists
let $unique= ;
--source suite/parts/inc/partition_alter_11.inc
-# --source include/partition_alter_11.inc
--source suite/parts/inc/partition_alter_13.inc
-# --source include/partition_alter_13.inc
#
if ($do_pk_tests)
{
@@ -137,18 +116,13 @@ if ($do_pk_tests)
{
let $unique= , PRIMARY KEY (f_int1);
--source suite/parts/inc/partition_alter_11.inc
- # --source include/partition_alter_11.inc
}
let $unique= , PRIMARY KEY (f_int1,f_int2);
--source suite/parts/inc/partition_alter_11.inc
- # --source include/partition_alter_11.inc
--source suite/parts/inc/partition_alter_13.inc
- # --source include/partition_alter_13.inc
let $unique= , PRIMARY KEY (f_int2,f_int1);
--source suite/parts/inc/partition_alter_11.inc
- # --source include/partition_alter_11.inc
--source suite/parts/inc/partition_alter_13.inc
- # --source include/partition_alter_13.inc
}
#
--echo # 1.3.3 UNIQUE INDEX exists
@@ -158,18 +132,13 @@ if ($more_pk_ui_tests)
{
let $unique= , UNIQUE INDEX uidx (f_int1);
--source suite/parts/inc/partition_alter_11.inc
- # --source include/partition_alter_11.inc
}
let $unique= , UNIQUE INDEX uidx (f_int1,f_int2);
--source suite/parts/inc/partition_alter_11.inc
-# --source include/partition_alter_11.inc
--source suite/parts/inc/partition_alter_13.inc
-# --source include/partition_alter_13.inc
let $unique= , UNIQUE INDEX uidx (f_int2,f_int1);
--source suite/parts/inc/partition_alter_11.inc
-# --source include/partition_alter_11.inc
--source suite/parts/inc/partition_alter_13.inc
-# --source include/partition_alter_13.inc
--echo
--echo #========================================================================
@@ -180,12 +149,11 @@ let $unique= , UNIQUE INDEX uidx (f_int2,f_int1);
--echo # 2.1 ALTER column f_int2 not used in partitioning function
--echo #------------------------------------------------------------------------
# Rule: Only f_int1 is used within the partitioning function
-# ---> include/partition_alter_11.inc
+# ---> inc/partition_alter_11.inc
let $alter= ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
--echo # 2.1.1 no PRIMARY KEY or UNIQUE INDEX exists
let $unique= ;
--source suite/parts/inc/partition_alter_11.inc
-# --source include/partition_alter_11.inc
#
if ($do_pk_tests)
{
@@ -196,14 +164,11 @@ if ($do_pk_tests)
--echo # 2.1.2 PRIMARY KEY exists
let $unique= , PRIMARY KEY (f_int1);
--source suite/parts/inc/partition_alter_11.inc
- # --source include/partition_alter_11.inc
}
let $unique= , PRIMARY KEY (f_int1,f_int2);
--source suite/parts/inc/partition_alter_11.inc
- # --source include/partition_alter_11.inc
let $unique= , PRIMARY KEY (f_int2,f_int1);
--source suite/parts/inc/partition_alter_11.inc
- # --source include/partition_alter_11.inc
}
#
--echo # 2.1.3 UNIQUE INDEX exists
@@ -213,14 +178,11 @@ if ($more_pk_ui_tests)
{
let $unique= , UNIQUE INDEX uidx1 (f_int1);
--source suite/parts/inc/partition_alter_11.inc
- # --source include/partition_alter_11.inc
}
let $unique= , UNIQUE INDEX uidx1 (f_int1,f_int2);
--source suite/parts/inc/partition_alter_11.inc
-# --source include/partition_alter_11.inc
let $unique= , UNIQUE INDEX uidx1 (f_int2,f_int1);
--source suite/parts/inc/partition_alter_11.inc
-# --source include/partition_alter_11.inc
#
if ($more_pk_ui_tests)
{
@@ -229,61 +191,47 @@ if ($more_pk_ui_tests)
--echo # 2.2 ALTER column f_int1 used in partitioning function
--echo #------------------------------------------------------------------------
# Rule: Only f_int1 is used within the partitioning function
- # ---> include/partition_alter_11.inc
+ # ---> inc/partition_alter_11.inc
let $alter= ALTER TABLE t1 MODIFY f_int1 MEDIUMINT;
--echo # 2.2.1 no PRIMARY KEY or UNIQUE INDEX exists
let $unique= ;
--source suite/parts/inc/partition_alter_11.inc
- # --source include/partition_alter_11.inc
--source suite/parts/inc/partition_alter_13.inc
- # --source include/partition_alter_13.inc
#
if ($do_pk_tests)
{
--echo # 2.2.2 PRIMARY KEY exists
let $unique= , PRIMARY KEY (f_int1);
--source suite/parts/inc/partition_alter_11.inc
- # --source include/partition_alter_11.inc
let $unique= , PRIMARY KEY (f_int1,f_int2);
--source suite/parts/inc/partition_alter_11.inc
- # --source include/partition_alter_11.inc
--source suite/parts/inc/partition_alter_13.inc
- # --source include/partition_alter_13.inc
let $unique= , PRIMARY KEY (f_int2,f_int1);
--source suite/parts/inc/partition_alter_11.inc
- # --source include/partition_alter_11.inc
--source suite/parts/inc/partition_alter_13.inc
- # --source include/partition_alter_13.inc
}
#
--echo # 2.2.3 UNIQUE INDEX exists
let $unique= , UNIQUE INDEX uidx (f_int1);
--source suite/parts/inc/partition_alter_11.inc
- # --source include/partition_alter_11.inc
let $unique= , UNIQUE INDEX uidx (f_int1,f_int2);
--source suite/parts/inc/partition_alter_11.inc
- # --source include/partition_alter_11.inc
--source suite/parts/inc/partition_alter_13.inc
- # --source include/partition_alter_13.inc
let $unique= , UNIQUE INDEX uidx (f_int2,f_int1);
--source suite/parts/inc/partition_alter_11.inc
- # --source include/partition_alter_11.inc
--source suite/parts/inc/partition_alter_13.inc
- # --source include/partition_alter_13.inc
}
#
--echo #------------------------------------------------------------------------
--echo # 2.3 ALTER column f_int1 and f_int2 used in partitioning function
--echo #------------------------------------------------------------------------
# Rule: f_int1 and f_int2 is used within the partitioning function
-# ---> include/partition_alter_13.inc
+# ---> inc/partition_alter_13.inc
let $alter= ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
--echo # 2.3.1 no PRIMARY KEY or UNIQUE INDEX exists
let $unique= ;
--source suite/parts/inc/partition_alter_11.inc
-# --source include/partition_alter_11.inc
--source suite/parts/inc/partition_alter_13.inc
-# --source include/partition_alter_13.inc
#
if ($do_pk_tests)
{
@@ -295,17 +243,12 @@ if ($do_pk_tests)
let $unique= , PRIMARY KEY (f_int1);
--source suite/parts/inc/partition_alter_11.inc
}
- # --source include/partition_alter_11.inc
let $unique= , PRIMARY KEY (f_int1,f_int2);
--source suite/parts/inc/partition_alter_11.inc
- # --source include/partition_alter_11.inc
--source suite/parts/inc/partition_alter_13.inc
- # --source include/partition_alter_13.inc
let $unique= , PRIMARY KEY (f_int2,f_int1);
--source suite/parts/inc/partition_alter_11.inc
- # --source include/partition_alter_11.inc
--source suite/parts/inc/partition_alter_13.inc
- # --source include/partition_alter_13.inc
}
#
--echo # 2.3.3 UNIQUE INDEX exists
@@ -315,18 +258,13 @@ if ($more_pk_ui_tests)
{
let $unique= , UNIQUE INDEX uidx (f_int1);
--source suite/parts/inc/partition_alter_11.inc
- # --source include/partition_alter_11.inc
}
let $unique= , UNIQUE INDEX uidx (f_int1,f_int2);
--source suite/parts/inc/partition_alter_11.inc
-# --source include/partition_alter_11.inc
--source suite/parts/inc/partition_alter_13.inc
-# --source include/partition_alter_13.inc
let $unique= , UNIQUE INDEX uidx (f_int2,f_int1);
--source suite/parts/inc/partition_alter_11.inc
-# --source include/partition_alter_11.inc
--source suite/parts/inc/partition_alter_13.inc
-# --source include/partition_alter_13.inc
#
if (0)
@@ -338,8 +276,8 @@ if (0)
--echo # INTEGER --> FLOAT
--echo # INTEGER --> DECIMAL
--echo # INTEGER --> VARCHAR
---echo # ML: I assume that at least the first two variants are of some
---echo # interest. But I am unsure if the server allows such
+--echo # mleich: I assume that at least the first two variants are of
+--echo # some interest. But I am unsure if the server allows such
--echo # conversions. I also think that such operations have a
--echo # conversions very small likelihood.
--echo # To be implemented.
diff --git a/mysql-test/suite/parts/inc/partition_alter3.inc b/mysql-test/suite/parts/inc/partition_alter3.inc
index 48ad61ebe08..1fad361b371 100644
--- a/mysql-test/suite/parts/inc/partition_alter3.inc
+++ b/mysql-test/suite/parts/inc/partition_alter3.inc
@@ -1,11 +1,11 @@
################################################################################
-# include/partition_alter3.inc #
+# inc/partition_alter3.inc #
# #
# Purpose: #
# Tests for partition management commands for HASH and KEY partitioning #
# #
#------------------------------------------------------------------------------#
-# Original Author: ML #
+# Original Author: mleich #
# Original Date: 2006-04-11 #
# Change Author: #
# Change Date: #
@@ -32,7 +32,7 @@ SELECT IF(9999 - 1000 + 1 > @max_row, @max_row , 9999 - 1000 + 1)
INTO @exp_row_count;
# DEBUG SELECT @exp_row_count;
# 4. Print the layout, check Readability
---source include/partition_layout.inc
+--source suite/parts/inc/partition_layout.inc
--source suite/parts/inc/partition_check_read1.inc
#
--echo #------------------------------------------------------------------------
@@ -43,17 +43,17 @@ SELECT IF(9999 - 1000 + 1 > @max_row, @max_row , 9999 - 1000 + 1)
ALTER TABLE t1 ADD PARTITION (PARTITION part2);
#
--echo # 1.1.2 Assign HASH partitioning
-ALTER TABLE t1 PARTITION BY HASH(CAST(YEAR(f_date) AS SIGNED INTEGER));
---source include/partition_layout.inc
+ALTER TABLE t1 PARTITION BY HASH(YEAR(f_date));
+--source suite/parts/inc/partition_layout.inc
--source suite/parts/inc/partition_check_read1.inc
#
--echo # 1.1.3 Assign other HASH partitioning to already partitioned table
--echo # + test and switch back + test
-ALTER TABLE t1 PARTITION BY HASH(CAST(f_varchar AS SIGNED INTEGER));
---source include/partition_layout.inc
+ALTER TABLE t1 PARTITION BY HASH(DAYOFYEAR(f_date));
+--source suite/parts/inc/partition_layout.inc
--source suite/parts/inc/partition_check_read1.inc
-ALTER TABLE t1 PARTITION BY HASH(CAST(YEAR(f_date) AS SIGNED INTEGER));
---source include/partition_layout.inc
+ALTER TABLE t1 PARTITION BY HASH(YEAR(f_date));
+--source suite/parts/inc/partition_layout.inc
--source suite/parts/inc/partition_check_read1.inc
#
--echo # 1.1.4 Add PARTITIONS not fitting to HASH --> must fail
@@ -64,7 +64,7 @@ ALTER TABLE t1 ADD PARTITION (PARTITION part2 VALUES LESS THAN (0));
#
--echo # 1.1.5 Add two named partitions + test
ALTER TABLE t1 ADD PARTITION (PARTITION part1, PARTITION part7);
---source include/partition_layout.inc
+--source suite/parts/inc/partition_layout.inc
--source suite/parts/inc/partition_check_read1.inc
#
--echo # 1.1.6 Add two named partitions, name clash --> must fail
@@ -73,12 +73,12 @@ ALTER TABLE t1 ADD PARTITION (PARTITION part1, PARTITION part7);
#
--echo # 1.1.7 Add one named partition + test
ALTER TABLE t1 ADD PARTITION (PARTITION part2);
---source include/partition_layout.inc
+--source suite/parts/inc/partition_layout.inc
--source suite/parts/inc/partition_check_read1.inc
#
--echo # 1.1.8 Add four not named partitions + test
ALTER TABLE t1 ADD PARTITION PARTITIONS 4;
---source include/partition_layout.inc
+--source suite/parts/inc/partition_layout.inc
--source suite/parts/inc/partition_check_read1.inc
--echo #------------------------------------------------------------------------
@@ -89,7 +89,7 @@ ALTER TABLE t1 ADD PARTITION PARTITIONS 4;
ALTER TABLE t1 DROP PARTITION part1;
#
--echo # 1.2.2 COALESCE PARTITION partitionname is not supported
---error 1064
+--error ER_PARSE_ERROR
ALTER TABLE t1 COALESCE PARTITION part1;
#
--echo # 1.2.3 Decrease by 0 is non sense --> must fail
@@ -101,7 +101,7 @@ let $loop= 7;
while ($loop)
{
ALTER TABLE t1 COALESCE PARTITION 1;
- --source include/partition_layout.inc
+ --source suite/parts/inc/partition_layout.inc
--source suite/parts/inc/partition_check_read1.inc
dec $loop;
}
@@ -111,14 +111,13 @@ ALTER TABLE t1 COALESCE PARTITION 1;
#
--echo # 1.2.6 Remove partitioning
ALTER TABLE t1 REMOVE PARTITIONING;
---source include/partition_layout.inc
+--source suite/parts/inc/partition_layout.inc
--source suite/parts/inc/partition_check_read1.inc
#
--echo # 1.2.7 Remove partitioning from not partitioned table --> ????
ALTER TABLE t1 REMOVE PARTITIONING;
DROP TABLE t1;
--source suite/parts/inc/partition_check_drop.inc
-# --source suite/parts/inc/partition_check_drop.inc
--echo
--echo #========================================================================
@@ -134,7 +133,7 @@ $column_list
# 2. Fill the table t1 with some records
eval $insert_all;
# 4. Print the layout, check Readability
---source include/partition_layout.inc
+--source suite/parts/inc/partition_layout.inc
--source suite/parts/inc/partition_check_read2.inc
#
--echo #------------------------------------------------------------------------
@@ -143,7 +142,7 @@ eval $insert_all;
--echo #------------------------------------------------------------------------
--echo # 2.1.1 Assign KEY partitioning
ALTER TABLE t1 PARTITION BY KEY(f_int1);
---source include/partition_layout.inc
+--source suite/parts/inc/partition_layout.inc
--source suite/parts/inc/partition_check_read2.inc
#
--echo # 2.1.2 Add PARTITIONS not fitting to KEY --> must fail
@@ -154,17 +153,17 @@ ALTER TABLE t1 ADD PARTITION (PARTITION part2 VALUES LESS THAN (0));
#
--echo # 2.1.3 Add two named partitions + test
ALTER TABLE t1 ADD PARTITION (PARTITION part1, PARTITION part7);
---source include/partition_layout.inc
+--source suite/parts/inc/partition_layout.inc
--source suite/parts/inc/partition_check_read2.inc
#
--echo # 2.1.4 Add one named partition + test
ALTER TABLE t1 ADD PARTITION (PARTITION part2);
---source include/partition_layout.inc
+--source suite/parts/inc/partition_layout.inc
--source suite/parts/inc/partition_check_read2.inc
#
--echo # 2.1.5 Add four not named partitions + test
ALTER TABLE t1 ADD PARTITION PARTITIONS 4;
---source include/partition_layout.inc
+--source suite/parts/inc/partition_layout.inc
--source suite/parts/inc/partition_check_read2.inc
--echo #------------------------------------------------------------------------
@@ -180,7 +179,7 @@ let $loop= 7;
while ($loop)
{
ALTER TABLE t1 COALESCE PARTITION 1;
- --source include/partition_layout.inc
+ --source suite/parts/inc/partition_layout.inc
--source suite/parts/inc/partition_check_read2.inc
dec $loop;
}
@@ -190,12 +189,11 @@ ALTER TABLE t1 COALESCE PARTITION 1;
#
--echo # 2.2.6 Remove partitioning
ALTER TABLE t1 REMOVE PARTITIONING;
---source include/partition_layout.inc
+--source suite/parts/inc/partition_layout.inc
--source suite/parts/inc/partition_check_read2.inc
#
--echo # 2.2.7 Remove partitioning from not partitioned table --> ????
ALTER TABLE t1 REMOVE PARTITIONING;
DROP TABLE t1;
--source suite/parts/inc/partition_check_drop.inc
-# --source suite/parts/inc/partition_check_drop.inc
diff --git a/mysql-test/suite/parts/inc/partition_alter4.inc b/mysql-test/suite/parts/inc/partition_alter4.inc
index e6f5dadbcca..148d21e95f5 100644
--- a/mysql-test/suite/parts/inc/partition_alter4.inc
+++ b/mysql-test/suite/parts/inc/partition_alter4.inc
@@ -1,5 +1,5 @@
################################################################################
-# include/partition_alter1.inc #
+# inc/partition_alter1.inc #
# #
# Purpose: #
# Execute ALTER ... OPTIMIZE/CHECK/REBUID/ANALYZE statements (maintenance) #
@@ -22,19 +22,15 @@
--echo # 1.1 ALTER ... ANALYZE PARTITION part_1;
let $alter= ALTER TABLE t1 ANALYZE PARTITION part_1;
--source suite/parts/inc/partition_alter_41.inc
-# --source include/partition_alter_41.inc
--echo # 1.2 ALTER ... ANALYZE PARTITION part_1,part_2;
let $alter= ALTER TABLE t1 ANALYZE PARTITION part_1,part_2;
--source suite/parts/inc/partition_alter_41.inc
-# --source include/partition_alter_41.inc
--echo # 1.3 ALTER ... ANALYZE PARTITION part_1,part_2,part_5,part_6,part_10;
let $alter= ALTER TABLE t1 ANALYZE PARTITION part_1,part_2,part_5,part_6,part_10;
--source suite/parts/inc/partition_alter_41.inc
-# --source include/partition_alter_41.inc
--echo # 1.4 ALTER ... ANALYZE PARTITION part_1,part_1,part_1;
let $alter= ALTER TABLE t1 ANALYZE PARTITION part_1,part_1,part_1;
--source suite/parts/inc/partition_alter_41.inc
-# --source include/partition_alter_41.inc
--echo #------------------------------------------------------------------------
--echo # 2 ALTER ... CHECK PARTITION
@@ -42,19 +38,15 @@ let $alter= ALTER TABLE t1 ANALYZE PARTITION part_1,part_1,part_1;
--echo # 2.1 ALTER ... CHECK PARTITION part_1;
let $alter= ALTER TABLE t1 CHECK PARTITION part_1;
--source suite/parts/inc/partition_alter_41.inc
-# --source include/partition_alter_41.inc
--echo # 2.2 ALTER ... CHECK PARTITION part_1,part_2;
let $alter= ALTER TABLE t1 CHECK PARTITION part_1,part_2;
--source suite/parts/inc/partition_alter_41.inc
-# --source include/partition_alter_41.inc
--echo # 2.3 ALTER ... CHECK PARTITION part_1,part_2,part_5,part_6,part_10;
let $alter= ALTER TABLE t1 CHECK PARTITION part_1,part_2,part_5,part_6,part_10;
--source suite/parts/inc/partition_alter_41.inc
-# --source include/partition_alter_41.inc
--echo # 2.4 ALTER ... CHECK PARTITION part_1,part_1,part_1;
let $alter= ALTER TABLE t1 CHECK PARTITION part_1,part_1,part_1;
--source suite/parts/inc/partition_alter_41.inc
-# --source include/partition_alter_41.inc
--echo #------------------------------------------------------------------------
--echo # 3 ALTER ... OPTIMIZE PARTITION
@@ -62,19 +54,15 @@ let $alter= ALTER TABLE t1 CHECK PARTITION part_1,part_1,part_1;
--echo # 3.1 ALTER ... OPTIMIZE PARTITION part_1;
let $alter= ALTER TABLE t1 OPTIMIZE PARTITION part_1;
--source suite/parts/inc/partition_alter_41.inc
-# --source include/partition_alter_41.inc
--echo # 3.2 ALTER ... OPTIMIZE PARTITION part_1,part_2;
let $alter= ALTER TABLE t1 OPTIMIZE PARTITION part_1,part_2;
--source suite/parts/inc/partition_alter_41.inc
-# --source include/partition_alter_41.inc
--echo # 3.3 ALTER ... OPTIMIZE PARTITION part_1,part_2,part_5,part_6,part_10;
let $alter= ALTER TABLE t1 OPTIMIZE PARTITION part_1,part_2,part_5,part_6,part_10;
--source suite/parts/inc/partition_alter_41.inc
-# --source include/partition_alter_41.inc
--echo # 3.4 ALTER ... OPTIMIZE PARTITION part_1,part_1,part_1;
let $alter= ALTER TABLE t1 OPTIMIZE PARTITION part_1,part_1,part_1;
--source suite/parts/inc/partition_alter_41.inc
-# --source include/partition_alter_41.inc
--echo #------------------------------------------------------------------------
--echo # 4 ALTER ... REBUILD PARTITION
@@ -82,39 +70,31 @@ let $alter= ALTER TABLE t1 OPTIMIZE PARTITION part_1,part_1,part_1;
--echo # 4.1 ALTER ... REBUILD PARTITION part_1;
let $alter= ALTER TABLE t1 REBUILD PARTITION part_1;
--source suite/parts/inc/partition_alter_41.inc
-# --source include/partition_alter_41.inc
--echo # 4.2 ALTER ... REBUILD PARTITION part_1,part_2;
let $alter= ALTER TABLE t1 REBUILD PARTITION part_1,part_2;
--source suite/parts/inc/partition_alter_41.inc
-# --source include/partition_alter_41.inc
--echo # 4.3 ALTER ... REBUILD PARTITION part_1,part_2,part_5,part_6,part_10;
let $alter= ALTER TABLE t1 REBUILD PARTITION part_1,part_2,part_5,part_6,part_10;
--source suite/parts/inc/partition_alter_41.inc
-# --source include/partition_alter_41.inc
--echo # 4.4 ALTER ... REBUILD PARTITION part_1,part_1,part_1;
let $alter= ALTER TABLE t1 REBUILD PARTITION part_1,part_1,part_1;
--source suite/parts/inc/partition_alter_41.inc
-# --source include/partition_alter_41.inc
--echo #------------------------------------------------------------------------
--echo # 5 ALTER ... REPAIR PARTITION
--echo #------------------------------------------------------------------------
---echo # 5.1 ALTER ... REBUILD PARTITION part_1;
-let $alter= ALTER TABLE t1 REBUILD PARTITION part_1;
+--echo # 5.1 ALTER ... REPAIR PARTITION part_1;
+let $alter= ALTER TABLE t1 REPAIR PARTITION part_1;
--source suite/parts/inc/partition_alter_41.inc
-# --source include/partition_alter_41.inc
---echo # 5.2 ALTER ... REBUILD PARTITION part_1,part_2;
-let $alter= ALTER TABLE t1 REBUILD PARTITION part_1,part_2;
+--echo # 5.2 ALTER ... REPAIR PARTITION part_1,part_2;
+let $alter= ALTER TABLE t1 REPAIR PARTITION part_1,part_2;
--source suite/parts/inc/partition_alter_41.inc
-# --source include/partition_alter_41.inc
---echo # 5.3 ALTER ... REBUILD PARTITION part_1,part_2,part_5,part_6,part_10;
-let $alter= ALTER TABLE t1 REBUILD PARTITION part_1,part_2,part_5,part_6,part_10;
+--echo # 5.3 ALTER ... REPAIR PARTITION part_1,part_2,part_5,part_6,part_10;
+let $alter= ALTER TABLE t1 REPAIR PARTITION part_1,part_2,part_5,part_6,part_10;
--source suite/parts/inc/partition_alter_41.inc
-# --source include/partition_alter_41.inc
---echo # 5.4 ALTER ... REBUILD PARTITION part_1,part_1,part_1;
-let $alter= ALTER TABLE t1 REBUILD PARTITION part_1,part_1,part_1;
+--echo # 5.4 ALTER ... REPAIR PARTITION part_1,part_1,part_1;
+let $alter= ALTER TABLE t1 REPAIR PARTITION part_1,part_1,part_1;
--source suite/parts/inc/partition_alter_41.inc
-# --source include/partition_alter_41.inc
--echo #------------------------------------------------------------------------
--echo # 6 ALTER ... REMOVE PARTITIONING
@@ -122,5 +102,4 @@ let $alter= ALTER TABLE t1 REBUILD PARTITION part_1,part_1,part_1;
--echo # 6.1 ALTER ... REMOVE PARTITIONING;
let $alter= ALTER TABLE t1 REMOVE PARTITIONING;
--source suite/parts/inc/partition_alter_41.inc
-# --source include/partition_alter_41.inc
diff --git a/mysql-test/suite/parts/inc/partition_alter_1.inc b/mysql-test/suite/parts/inc/partition_alter_1.inc
index 542a67ccbef..b62efd24072 100644
--- a/mysql-test/suite/parts/inc/partition_alter_1.inc
+++ b/mysql-test/suite/parts/inc/partition_alter_1.inc
@@ -1,17 +1,17 @@
################################################################################
-# include/partition_alter_1.inc #
+# inc/partition_alter_1.inc #
# #
# Purpose: #
# Alter a partioned table and check the usability afterwards #
# This script is only usefule when sourced by #
-# include/partition_alter_1[1|3].inc #
+# inc/partition_alter_1[1|3].inc #
# #
# 0. Expect there is a table t1 #
# 1. Insert the first half of the table t0_template into t1 #
# 2. Execute the ALTER TABLE statement within the variable $alter #
# Case SQL code in #
# 0: 1. Insert the second half of the table t0_template into t1 #
-# 2. Execute the usability test include/partition_check.inc #
+# 2. Execute the usability test inc/partition_check.inc #
# >0, but expected: nothing #
# >0 and unexpected: abort #
# 3. DROP the table t1 #
@@ -20,24 +20,27 @@
# Example: #
# CREATE TABLE t1 (f_int1 INT,f_int2 INT, .... ); #
# let $alter= ALTER TABLE t1 ADD PRIMARY KEY(f_int2); #
-# include/partition_alter_1.inc #
+# inc/partition_alter_1.inc #
# #
# The parameters $insert_first_half and $insert_second_half #
-# are also to be set outside (source ./include/partition.pre). #
+# are also to be set outside (source ./inc/partition.pre). #
# #
#------------------------------------------------------------------------------#
-# Original Author: ML #
-# Original Date: 2006-03-05 #
-# Change Author: #
-# Change Date: #
-# Change: #
+# Original Author: mleich #
+# Original Date: 2006-03-05 #
+# Change Author: mleich #
+# Change Date: 2007-10-08 #
+# Change: Fix for #
+# Bug#31481 test suite parts: Many tests fail because of #
+# changed server error codes #
################################################################################
eval $insert_first_half;
# Possible/Expected return codes for ALTER TABLE ...
# 0
-# 1491: A PRIMARY KEY need to include all fields in the partition function
-# A UNIQUE INDEX need to include all fields in the partition function
+# 1030: ER_GET_ERRNO
+# 1502: ER_UNIQUE_KEY_NEED_ALL_FIELDS_IN_PF
+# 1506: ER_DROP_PARTITION_NON_EXISTENT
--disable_abort_on_error
eval $alter;
--enable_abort_on_error
@@ -47,13 +50,15 @@ if ($no_debug)
}
eval SET @my_errno = $mysql_errno;
let $run_test= `SELECT @my_errno = 0`;
-let $unexpected_error= `SELECT @my_errno NOT IN (0,1030,1491,1495)`;
-if ($unexpected_error)
+if (`SELECT @my_errno NOT IN (0,$ER_GET_ERRNO,
+ $ER_UNIQUE_KEY_NEED_ALL_FIELDS_IN_PF,
+ $ER_DROP_PARTITION_NON_EXISTENT)`);
{
--echo # The last command got an unexepected error response.
- --echo # Expected/handled SQL codes are 0,1030,1491,1495
+ --echo # Expected/handled SQL codes are 0,$ER_GET_ERRNO,$ER_UNIQUE_KEY_NEED_ALL_FIELDS_IN_PF,$ER_DROP_PARTITION_NON_EXISTENT
SELECT '# SQL code we got was: ' AS "", @my_errno AS "";
--echo # Sorry, have to abort.
+ --echo # Please check the error name to number mapping in inc/partition.pre.
exit;
--echo
}
@@ -63,6 +68,5 @@ if ($run_test)
{
eval $insert_second_half;
--source suite/parts/inc/partition_check.inc
-# --source include/partition_check.inc
}
DROP TABLE t1;
diff --git a/mysql-test/suite/parts/inc/partition_alter_11.inc b/mysql-test/suite/parts/inc/partition_alter_11.inc
index f26d8e822ae..c7dd2d1d15f 100644
--- a/mysql-test/suite/parts/inc/partition_alter_11.inc
+++ b/mysql-test/suite/parts/inc/partition_alter_11.inc
@@ -1,5 +1,5 @@
################################################################################
-# include/partition_alter_11.inc #
+# inc/partition_alter_11.inc #
# #
# Purpose: #
# Check ALTER partitioned table and the state of the table afterwards #
@@ -10,7 +10,7 @@
# PARTITION BY RANGE/LIST ... SUBPARTITION BY HASH/KEY ... #
# do #
# 1. Create the partitioned table #
-# 2. Execute include/partition_alter_1.inc, which will #
+# 2. Execute inc/partition_alter_1.inc, which will #
# - Insert the first half of the table t0_template into t1 #
# - Execute the ALTER TABLE statement #
# - Insert the second half of the table t0_template into t1 #
@@ -26,14 +26,14 @@
# Example: #
# let $unique= , UNIQUE INDEX uidx1 (f_int1); #
# let $alter= ALTER TABLE t1 DROP UNIQUE INDEX uidx1; #
-# include/partition_alter1.inc #
+# inc/partition_alter1.inc #
# #
# Attention: The routine include/partition_alter_13.inc is very similar #
# to this one. So if something has to be changed here it #
# might be necessary to do it also there #
# #
#------------------------------------------------------------------------------#
-# Original Author: ML #
+# Original Author: mleich #
# Original Date: 2006-03-05 #
# Change Author: #
# Change Date: #
@@ -56,7 +56,6 @@ $unique
)
$partitioning;
--source suite/parts/inc/partition_alter_1.inc
-# --source include/partition_alter_1.inc
#----------- PARTITION BY KEY
if ($with_partitioning)
@@ -69,7 +68,6 @@ $unique
)
$partitioning;
--source suite/parts/inc/partition_alter_1.inc
-# --source include/partition_alter_1.inc
#----------- PARTITION BY LIST
if ($with_partitioning)
@@ -90,7 +88,6 @@ $unique
)
$partitioning;
--source suite/parts/inc/partition_alter_1.inc
-# --source include/partition_alter_1.inc
#----------- PARTITION BY RANGE
if ($with_partitioning)
@@ -112,7 +109,6 @@ $unique
)
$partitioning;
--source suite/parts/inc/partition_alter_1.inc
-# --source include/partition_alter_1.inc
#----------- PARTITION BY RANGE -- SUBPARTITION BY HASH
if ($with_partitioning)
@@ -133,7 +129,6 @@ $unique
)
$partitioning;
--source suite/parts/inc/partition_alter_1.inc
-# --source include/partition_alter_1.inc
#----------- PARTITION BY RANGE -- SUBPARTITION BY KEY
if ($with_partitioning)
@@ -157,7 +152,6 @@ $unique
)
$partitioning;
--source suite/parts/inc/partition_alter_1.inc
-# --source include/partition_alter_1.inc
#----------- PARTITION BY LIST -- SUBPARTITION BY HASH
if ($with_partitioning)
@@ -178,7 +172,6 @@ $unique
)
$partitioning;
--source suite/parts/inc/partition_alter_1.inc
-# --source include/partition_alter_1.inc
#----------- PARTITION BY LIST -- SUBPARTITION BY KEY
if ($with_partitioning)
@@ -199,4 +192,3 @@ $unique
)
$partitioning;
--source suite/parts/inc/partition_alter_1.inc
-# --source include/partition_alter_1.inc
diff --git a/mysql-test/suite/parts/inc/partition_alter_13.inc b/mysql-test/suite/parts/inc/partition_alter_13.inc
index 5152230795a..cfc622a7c82 100644
--- a/mysql-test/suite/parts/inc/partition_alter_13.inc
+++ b/mysql-test/suite/parts/inc/partition_alter_13.inc
@@ -1,5 +1,5 @@
################################################################################
-# include/partition_alter_13.inc #
+# inc/partition_alter_13.inc #
# #
# Purpose: #
# Check ALTER partitioned table and the state of the table afterwards #
@@ -10,7 +10,7 @@
# PARTITION BY RANGE/LIST ... SUBPARTITION BY HASH/KEY ... #
# do #
# 1. Create the partitioned table #
-# 2. Execute include/partition_alter_1.inc, which will #
+# 2. Execute inc/partition_alter_1.inc, which will #
# - Insert the first half of the table t0_template into t1 #
# - Execute the ALTER TABLE statement #
# - Insert the second half of the table t0_template into t1 #
@@ -26,14 +26,14 @@
# Example: #
# let $unique= , UNIQUE INDEX uidx1 (f_int1); #
# let $alter= ALTER TABLE t1 DROP UNIQUE INDEX uidx1; #
-# include/partition_alter1.inc #
+# inc/partition_alter1.inc #
# #
# Attention: The routine include/partition_alter_11.inc is very similar #
# to this one. So if something has to be changed here it #
# might be necessary to do it also there #
# #
#------------------------------------------------------------------------------#
-# Original Author: ML #
+# Original Author: mleich #
# Original Date: 2006-03-05 #
# Change Author: #
# Change Date: #
@@ -56,7 +56,6 @@ $unique
)
$partitioning;
--source suite/parts/inc/partition_alter_1.inc
-# --source include/partition_alter_1.inc
#----------- PARTITION BY KEY
if ($with_partitioning)
@@ -69,7 +68,6 @@ $unique
)
$partitioning;
--source suite/parts/inc/partition_alter_1.inc
-# --source include/partition_alter_1.inc
#----------- PARTITION BY LIST
if ($with_partitioning)
@@ -90,7 +88,6 @@ $unique
)
$partitioning;
--source suite/parts/inc/partition_alter_1.inc
-# --source include/partition_alter_1.inc
#----------- PARTITION BY RANGE
if ($with_partitioning)
@@ -112,7 +109,6 @@ $unique
)
$partitioning;
--source suite/parts/inc/partition_alter_1.inc
-# --source include/partition_alter_1.inc
#----------- PARTITION BY RANGE -- SUBPARTITION BY HASH
if ($with_partitioning)
@@ -133,7 +129,6 @@ $unique
)
$partitioning;
--source suite/parts/inc/partition_alter_1.inc
-# --source include/partition_alter_1.inc
#----------- PARTITION BY RANGE -- SUBPARTITION BY KEY
if ($with_partitioning)
@@ -157,7 +152,6 @@ $unique
)
$partitioning;
--source suite/parts/inc/partition_alter_1.inc
-# --source include/partition_alter_1.inc
#----------- PARTITION BY LIST -- SUBPARTITION BY HASH
if ($with_partitioning)
@@ -178,7 +172,6 @@ $unique
)
$partitioning;
--source suite/parts/inc/partition_alter_1.inc
-# --source include/partition_alter_1.inc
#----------- PARTITION BY LIST -- SUBPARTITION BY KEY
if ($with_partitioning)
@@ -199,4 +192,3 @@ $unique
)
$partitioning;
--source suite/parts/inc/partition_alter_1.inc
-# --source include/partition_alter_1.inc
diff --git a/mysql-test/suite/parts/inc/partition_alter_41.inc b/mysql-test/suite/parts/inc/partition_alter_41.inc
index 303ec8c2062..53469c08a19 100644
--- a/mysql-test/suite/parts/inc/partition_alter_41.inc
+++ b/mysql-test/suite/parts/inc/partition_alter_41.inc
@@ -1,5 +1,5 @@
################################################################################
-# include/partition_alter_11.inc #
+# inc/partition_alter_11.inc #
# #
# Purpose: #
# Check ALTER partitioned table and the state of the table afterwards #
@@ -10,11 +10,11 @@
# PARTITION BY RANGE/LIST ... SUBPARTITION BY HASH/KEY ... #
# do #
# 1. Create the partitioned table #
-# 2. Execute include/partition_alter_1.inc, which will #
+# 2. Execute inc/partition_alter_1.inc, which will #
# - Insert the first half of the table t0_template into t1 #
# - Execute the ALTER TABLE statement #
# - Insert the second half of the table t0_template into t1 #
-# - Execute the usability test include/partition_check.inc #
+# - Execute the usability test inc/partition_check.inc #
# - Drop the table t1 #
# done #
# #
@@ -26,14 +26,14 @@
# Example: #
# let $unique= , UNIQUE INDEX uidx1 (f_int1); #
# let $alter= ALTER TABLE t1 DROP UNIQUE INDEX uidx1; #
-# include/partition_alter1.inc #
+# inc/partition_alter1.inc #
# #
-# Attention: The routine include/partition_alter_13.inc is very similar #
+# Attention: The routine inc/partition_alter_13.inc is very similar #
# to this one. So if something has to be changed here it #
# might be necessary to do it also there #
# #
#------------------------------------------------------------------------------#
-# Original Author: ML #
+# Original Author: mleich #
# Original Date: 2006-03-05 #
# Change Author: #
# Change Date: #
@@ -56,7 +56,6 @@ $unique
)
$partitioning;
--source suite/parts/inc/partition_alter_1.inc
-# --source include/partition_alter_1.inc
#----------- PARTITION BY KEY
if ($with_partitioning)
@@ -69,7 +68,6 @@ $unique
)
$partitioning;
--source suite/parts/inc/partition_alter_1.inc
-# --source include/partition_alter_1.inc
#----------- PARTITION BY LIST
if ($with_partitioning)
@@ -90,7 +88,6 @@ $unique
)
$partitioning;
--source suite/parts/inc/partition_alter_1.inc
-# --source include/partition_alter_1.inc
#----------- PARTITION BY RANGE
if ($with_partitioning)
@@ -112,7 +109,6 @@ $unique
)
$partitioning;
--source suite/parts/inc/partition_alter_1.inc
-# --source include/partition_alter_1.inc
#----------- PARTITION BY RANGE -- SUBPARTITION BY HASH
if ($with_partitioning)
@@ -133,7 +129,6 @@ $unique
)
$partitioning;
--source suite/parts/inc/partition_alter_1.inc
-# --source include/partition_alter_1.inc
#----------- PARTITION BY RANGE -- SUBPARTITION BY KEY
if ($with_partitioning)
@@ -157,7 +152,6 @@ $unique
)
$partitioning;
--source suite/parts/inc/partition_alter_1.inc
-# --source include/partition_alter_1.inc
#----------- PARTITION BY LIST -- SUBPARTITION BY HASH
if ($with_partitioning)
@@ -178,7 +172,6 @@ $unique
)
$partitioning;
--source suite/parts/inc/partition_alter_1.inc
-# --source include/partition_alter_1.inc
#----------- PARTITION BY LIST -- SUBPARTITION BY KEY
if ($with_partitioning)
@@ -199,4 +192,3 @@ $unique
)
$partitioning;
--source suite/parts/inc/partition_alter_1.inc
-# --source include/partition_alter_1.inc
diff --git a/mysql-test/suite/parts/inc/partition_basic.inc b/mysql-test/suite/parts/inc/partition_basic.inc
index 9854edab634..35b016d5ab2 100644
--- a/mysql-test/suite/parts/inc/partition_basic.inc
+++ b/mysql-test/suite/parts/inc/partition_basic.inc
@@ -1,12 +1,12 @@
################################################################################
-# include/partition_basic.inc #
+# inc/partition_basic.inc #
# #
# Purpose: #
# Basic tests around create partitioned table with/without PRIMARY KEY and #
# /or UNIQUE INDEX #
# #
#------------------------------------------------------------------------------#
-# Original Author: ML #
+# Original Author: mleich #
# Original Date: 2006-03-05 #
# Change Author: #
# Change Date: #
@@ -29,37 +29,10 @@
--echo # 1.1 The partitioning function contains one column.
let $unique= ;
--source suite/parts/inc/partition_methods1.inc
-# --source include/partition_methods1.inc
#
- --echo # 1.1.1 with DATA DIECTORY/INDEX DIRECTORY
- #
- --disable_query_log
- # DATA DIRECTORY
- # Make directory for partition data
- --exec mkdir $MYSQLTEST_VARDIR/master-data/test/data || true
- eval SET @data_dir = 'DATA DIRECTORY =
- ''''$MYSQLTEST_VARDIR/master-data/test/data''''';
- let $data_directory = `select @data_dir`;
-
- #INDEX DIRECTORY
- # Make directory for partition index
- --exec mkdir $MYSQLTEST_VARDIR/master-data/test/index || true
- eval SET @indx_dir = 'INDEX DIRECTORY =
- ''''$MYSQLTEST_VARDIR/master-data/test/index''''';
- let $index_directory = `select @indx_dir`;
-
- let $with_directories= 1;
- --source suite/parts/inc/partition_methods1.inc
- # --source include/partition_methods1.inc
- --source suite/parts/inc/partition_directory.inc
- # --source include/partition_methods1.inc
- let $with_directories= 0;
- --enable_query_log
- #
--echo # 1.2 The partitioning function contains two columns.
let $unique= ;
--source suite/parts/inc/partition_methods2.inc
-# --source include/partition_methods2.inc
#
--echo #------------------------------------------------------------------------
--echo # 2 Tables with PRIMARY KEY and/or UNIQUE INDEXes
@@ -72,54 +45,25 @@ if ($more_pk_ui_tests)
--echo # 2.1 PRIMARY KEY consisting of one column
let $unique= , PRIMARY KEY(f_int1);
--source suite/parts/inc/partition_methods1.inc
- # --source include/partition_methods1.inc
}
--echo # 2.2 UNIQUE INDEX consisting of one column
let $unique= , UNIQUE INDEX uidx1 (f_int1);
--source suite/parts/inc/partition_methods1.inc
- # --source include/partition_methods1.inc
-
- --echo # 2.2.1 with DATA DIECTORY/INDEX DIRECTORY
- #
- --disable_query_log
- # DATA DIRECTORY
- # Make directory for partition data
- --exec mkdir $MYSQLTEST_VARDIR/master-data/test/data || true
- eval SET @data_dir = 'DATA DIRECTORY =
- ''''$MYSQLTEST_VARDIR/master-data/test/data''''';
- let $data_directory = `select @data_dir`;
-
- #INDEX DIRECTORY
- # Make directory for partition index
- --exec mkdir $MYSQLTEST_VARDIR/master-data/test/index || true
- eval SET @indx_dir = 'INDEX DIRECTORY =
- ''''$MYSQLTEST_VARDIR/master-data/test/index''''';
- let $index_directory = `select @indx_dir`;
-
- let $with_directories= TRUE;
- --source suite/parts/inc/partition_methods1.inc
- # --source include/partition_methods1.inc
- let $with_directories= FALSE;
- --enable_query_log
#
if ($do_pk_tests)
{
--echo # 2.3 PRIMARY KEY consisting of two columns
let $unique= , PRIMARY KEY(f_int1,f_int2);
--source suite/parts/inc/partition_methods1.inc
- # --source include/partition_methods1.inc
let $unique= , PRIMARY KEY(f_int2,f_int1);
--source suite/parts/inc/partition_methods1.inc
- # --source include/partition_methods1.inc
}
#
--echo # 2.4 UNIQUE INDEX consisting of two columns
let $unique= , UNIQUE INDEX uidx1 (f_int1,f_int2);
--source suite/parts/inc/partition_methods1.inc
- # --source include/partition_methods1.inc
let $unique= , UNIQUE INDEX uidx1 (f_int2,f_int1);
--source suite/parts/inc/partition_methods1.inc
- # --source include/partition_methods1.inc
#
}
--echo # 2.5 PRIMARY KEY + UNIQUE INDEX consisting of two columns
@@ -127,14 +71,11 @@ if ($do_pk_tests)
{
let $unique= , UNIQUE INDEX uidx1 (f_int1,f_int2), PRIMARY KEY(f_int2,f_int1);
--source suite/parts/inc/partition_methods1.inc
- # --source include/partition_methods1.inc
let $unique= , UNIQUE INDEX uidx1 (f_int2,f_int1), PRIMARY KEY(f_int1,f_int2);
--source suite/parts/inc/partition_methods1.inc
- # --source include/partition_methods1.inc
}
let $unique= , UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1);
--source suite/parts/inc/partition_methods1.inc
-# --source include/partition_methods1.inc
--echo #------------------------------------------------------------------------
--echo # 3 Tables with PRIMARY KEY and/or UNIQUE INDEXes
@@ -148,20 +89,16 @@ if ($more_pk_ui_tests)
--echo # 3.1 PRIMARY KEY consisting of two columns
let $unique= , PRIMARY KEY(f_int1,f_int2);
--source suite/parts/inc/partition_methods2.inc
- # --source include/partition_methods2.inc
let $unique= , PRIMARY KEY(f_int2,f_int1);
--source suite/parts/inc/partition_methods2.inc
- # --source include/partition_methods2.inc
}
#
--echo # 3.2 UNIQUE INDEX consisting of two columns
let $unique= , UNIQUE INDEX uidx1 (f_int1,f_int2);
--source suite/parts/inc/partition_methods2.inc
- # --source include/partition_methods2.inc
let $unique= , UNIQUE INDEX uidx1 (f_int2,f_int1);
--source suite/parts/inc/partition_methods2.inc
- # --source include/partition_methods2.inc
}
#
--echo # 3.3 PRIMARY KEY and UNIQUE INDEX consisting of two columns
@@ -169,11 +106,8 @@ if ($do_pk_tests)
{
let $unique= , UNIQUE INDEX uidx1 (f_int1,f_int2), PRIMARY KEY(f_int2,f_int1);
--source suite/parts/inc/partition_methods2.inc
- # --source include/partition_methods2.inc
let $unique= , UNIQUE INDEX uidx1 (f_int2,f_int1), PRIMARY KEY(f_int1,f_int2);
--source suite/parts/inc/partition_methods2.inc
- # --source include/partition_methods2.inc
}
let $unique= , UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1);
--source suite/parts/inc/partition_methods2.inc
-# --source include/partition_methods2.inc
diff --git a/mysql-test/suite/parts/inc/partition_basic_symlink.inc b/mysql-test/suite/parts/inc/partition_basic_symlink.inc
new file mode 100644
index 00000000000..94d48fcaf15
--- /dev/null
+++ b/mysql-test/suite/parts/inc/partition_basic_symlink.inc
@@ -0,0 +1,44 @@
+################################################################################
+# inc/partition_basic_symlink.inc #
+# #
+# Purpose: #
+# Basic tests around create partitioned table with/without PRIMARY KEY and #
+# /or UNIQUE INDEX #
+# Also includes test for DATA/INDEX DIR which requires symlinked files #
+# #
+#------------------------------------------------------------------------------#
+# Original Author: mleich #
+# Original Date: 2006-03-05 #
+# Change Author: mattiasj #
+# Change Date: 2008-02-06 #
+# Change: copied it from partition_basic.inc and kept DATA/INDEX DIR #
+################################################################################
+--enable_abort_on_error
+
+--echo
+let $unique= ;
+
+# DATA DIRECTORY
+# Make directory for partition data
+let $data_dir_path= $MYSQLTEST_VARDIR/mysql-test-data-dir;
+--mkdir $data_dir_path
+let $data_directory= DATA DIRECTORY = '$data_dir_path';
+
+#INDEX DIRECTORY
+# Make directory for partition index
+let $idx_dir_path= $MYSQLTEST_VARDIR/mysql-test-idx-dir;
+--mkdir $idx_dir_path
+let $index_directory= INDEX DIRECTORY = '$idx_dir_path';
+
+let $with_directories= 1;
+--echo #========================================================================
+--echo # 0.5 use partition_basic with DATA/INDEX DIRECTORY
+--echo #========================================================================
+--source suite/parts/inc/partition_basic.inc
+--echo #========================================================================
+--echo # 5 use partition_directory with DATA/INDEX DIRECTORY
+--echo #========================================================================
+--source suite/parts/inc/partition_directory.inc
+--rmdir $data_dir_path
+--rmdir $idx_dir_path
+let $with_directories= 0;
diff --git a/mysql-test/suite/parts/inc/partition_bigint.inc b/mysql-test/suite/parts/inc/partition_bigint.inc
index f7d22ce17d1..d3cd55096e7 100644
--- a/mysql-test/suite/parts/inc/partition_bigint.inc
+++ b/mysql-test/suite/parts/inc/partition_bigint.inc
@@ -1,21 +1,9 @@
---disable_query_log
-# DATA DIRECTORY
-eval SET @data_dir = 'DATA DIRECTORY =
-''/tmp''';
-let $data_directory = `select @data_dir`;
-
-#INDEX DIRECTORY
-eval SET @indx_dir = 'INDEX DIRECTORY =
-''/tmp''';
-let $index_directory = `select @indx_dir`;
---enable_query_log
-
eval create table t1 (a bigint unsigned not null, primary key(a)) engine=$engine
partition by key (a) (
-partition pa1 $data_directory $index_directory max_rows=20 min_rows=2,
-partition pa2 $data_directory $index_directory max_rows=30 min_rows=3,
-partition pa3 $data_directory $index_directory max_rows=30 min_rows=4,
-partition pa4 $data_directory $index_directory max_rows=40 min_rows=2);
+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;
insert into t1 values (18446744073709551615), (0xFFFFFFFFFFFFFFFE), (18446744073709551613), (18446744073709551612), (1), (2), (65535);
select * from t1;
diff --git a/mysql-test/suite/parts/inc/partition_binary.inc b/mysql-test/suite/parts/inc/partition_binary.inc
index 7243d6c2ce7..68e9e56e29e 100644
--- a/mysql-test/suite/parts/inc/partition_binary.inc
+++ b/mysql-test/suite/parts/inc/partition_binary.inc
@@ -1,21 +1,11 @@
---disable_query_log
-# DATA DIRECTORY
-eval SET @data_dir = 'DATA DIRECTORY =
-''/tmp''';
-let $data_directory = `select @data_dir`;
-
-#INDEX DIRECTORY
-eval SET @indx_dir = 'INDEX DIRECTORY =
-''/tmp''';
-let $index_directory = `select @indx_dir`;
---enable_query_log
+--echo ---- Partitioning and binary data type
eval create table t1 (a binary(255) not null, primary key(a)) engine=$engine
partition by key (a) (
-partition pa1 $data_directory $index_directory max_rows=20 min_rows=2,
-partition pa2 $data_directory $index_directory max_rows=30 min_rows=3,
-partition pa3 $data_directory $index_directory max_rows=30 min_rows=4,
-partition pa4 $data_directory $index_directory max_rows=40 min_rows=2);
+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;
insert into t1 values (repeat('a',255)), ('b'), (repeat('a',128)), (repeat('b',64));
select hex(a) from t1;
@@ -43,6 +33,9 @@ select count(*) from t2;
select hex(a) from t2;
drop table t2;
+# mleich: Several partitioning functions are no more allowed.
+if (0)
+{
eval create table t3 (a binary(255) not null, primary key(a)) engine=$engine
partition by range (ascii(a)) subpartition by key (a) subpartitions 4 (
partition pa16 values less than (16),
@@ -66,6 +59,7 @@ select count(*) from t3;
select hex(a) from t3;
drop table t3;
+
eval create table t4 (a binary(255) not null, primary key(a)) engine=$engine
partition by list (ascii(a)) subpartition by key (a) subpartitions 4 (
partition pa16 values in (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16),
@@ -86,6 +80,9 @@ eval insert into t4 values (repeat(char(ascii('a')+$letter),$count+54));
dec $count;
inc $letter;
}
+
select count(*) from t4;
select hex(a) from t4;
drop table t4;
+}
+# End of tests with disallowed partitioning functions.
diff --git a/mysql-test/suite/parts/inc/partition_bit.inc b/mysql-test/suite/parts/inc/partition_bit.inc
index 3dd880595a3..5bbf0058028 100644
--- a/mysql-test/suite/parts/inc/partition_bit.inc
+++ b/mysql-test/suite/parts/inc/partition_bit.inc
@@ -1,20 +1,8 @@
---disable_query_log
-# DATA DIRECTORY
-eval SET @data_dir = 'DATA DIRECTORY =
-''/tmp''';
-let $data_directory = `select @data_dir`;
-
-#INDEX DIRECTORY
-eval SET @indx_dir = 'INDEX DIRECTORY =
-''/tmp''';
-let $index_directory = `select @indx_dir`;
---enable_query_log
-
--disable_warnings
drop table if exists t1;
--enable_warnings
---error 1439
+--error ER_TOO_BIG_DISPLAYWIDTH
eval create table t1 (a bit(65), primary key (a)) engine=$engine partition by key (a);
eval create table t1 (a bit(0), primary key (a)) engine=$engine partition by key (a);
@@ -23,8 +11,8 @@ drop table t1;
eval create table t1 (a bit(0), primary key (a)) engine=$engine
partition by key (a) (
-partition pa1 $data_directory $index_directory,
-partition pa2 $data_directory $index_directory);
+partition pa1,
+partition pa2);
show create table t1;
drop table t1;
@@ -37,15 +25,16 @@ insert into t1 values
(b'0000000000000000000000000000000000000000000000000000000000000001'),
(b'1010101010101010101010101010101010101010101010101010101010101010'),
(b'0101010101010101010101010101010101010101010101010101010101010101');
+--sorted_result
select hex(a) from t1;
drop table t1;
eval create table t1 (a bit(64), primary key (a)) engine=$engine
partition by key (a) (
-partition pa1 $data_directory $index_directory max_rows=20 min_rows=2,
-partition pa2 $data_directory $index_directory max_rows=30 min_rows=3,
-partition pa3 $data_directory $index_directory max_rows=30 min_rows=4,
-partition pa4 $data_directory $index_directory max_rows=40 min_rows=2);
+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;
insert into t1 values
(b'1111111111111111111111111111111111111111111111111111111111111111'),
@@ -55,6 +44,7 @@ insert into t1 values
(b'0101010101010101010101010101010101010101010101010101010101010101');
select hex(a) from t1 where a=b'0101010101010101010101010101010101010101010101010101010101010101';
delete from t1 where a=b'0101010101010101010101010101010101010101010101010101010101010101';
+--sorted_result
select hex(a) from t1;
drop table t1;
@@ -62,12 +52,15 @@ eval create table t2 (a bit, primary key (a)) engine=$engine
partition by key (a) partitions 4;
show create table t2;
insert into t2 values (b'0'), (b'1');
+--sorted_result
select hex(a) from t2;
alter table t2 drop primary key;
show create table t2;
+--sorted_result
select hex(a) from t2;
alter table t2 add primary key (a);
show create table t2;
+--sorted_result
select hex(a) from t2;
drop table t2;
@@ -90,6 +83,7 @@ dec $count;
select hex(a) from t3 where a=b'01010101';
delete from t3 where a=b'01010101';
select count(*) from t3;
+--sorted_result
select hex(a) from t3;
drop table t3;
@@ -111,5 +105,6 @@ dec $count;
select hex(a) from t4 where a=b'00000001';
delete from t4 where a=b'00000001';
select count(*) from t4;
+--sorted_result
select hex(a) from t4;
drop table t4;
diff --git a/mysql-test/suite/parts/inc/partition_blob.inc b/mysql-test/suite/parts/inc/partition_blob.inc
index ccff06ba633..0c3ec3fc9ba 100644
--- a/mysql-test/suite/parts/inc/partition_blob.inc
+++ b/mysql-test/suite/parts/inc/partition_blob.inc
@@ -1,22 +1,12 @@
---disable_query_log
-# DATA DIRECTORY
-eval SET @data_dir = 'DATA DIRECTORY =
-''/tmp''';
-let $data_directory = `select @data_dir`;
-
-#INDEX DIRECTORY
-eval SET @indx_dir = 'INDEX DIRECTORY =
-''/tmp''';
-let $index_directory = `select @indx_dir`;
---enable_query_log
+--echo ---- Partitioning and blob data type
--error ER_BLOB_FIELD_IN_PART_FUNC_ERROR
eval create table t1 (a blob not null, primary key(a(767))) engine=$engine
partition by key (a) (
-partition pa1 $data_directory $index_directory max_rows=20 min_rows=2,
-partition pa2 $data_directory $index_directory max_rows=30 min_rows=3,
-partition pa3 $data_directory $index_directory max_rows=30 min_rows=4,
-partition pa4 $data_directory $index_directory max_rows=40 min_rows=2);
+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;
#insert into t1 values (repeat('a',1000)), ('b'), (repeat('a',500)), (repeat('b',64));
diff --git a/mysql-test/suite/parts/inc/partition_blocked_sql_funcs.inc b/mysql-test/suite/parts/inc/partition_blocked_sql_funcs.inc
index 7843a44134c..3e6876662fe 100644
--- a/mysql-test/suite/parts/inc/partition_blocked_sql_funcs.inc
+++ b/mysql-test/suite/parts/inc/partition_blocked_sql_funcs.inc
@@ -15,8 +15,7 @@
--echo -------------------------------------------------------------------------
--echo --- $sqlfunc in partition with coltype $coltype
--echo -------------------------------------------------------------------------
---echo must all fail! (delete 0 and comment char, if bug fixed)
---disable_abort_on_error
+--echo must all fail!
--disable_warnings
drop table if exists t1 ;
drop table if exists t2 ;
@@ -26,32 +25,31 @@ drop table if exists t5 ;
drop table if exists t6 ;
--enable_warnings
-#--error ER_PARTITION_FUNCTION_IS_NOT_ALLOWED,ER_PARSE_ERROR
+--error ER_PARTITION_FUNCTION_IS_NOT_ALLOWED,ER_PARSE_ERROR
eval create table t1 (col1 $coltype) engine=$engine
partition by range($sqlfunc)
(partition p0 values less than (15),
partition p1 values less than (31));
-#--error ER_PARTITION_FUNCTION_IS_NOT_ALLOWED,ER_PARSE_ERROR
+--error ER_PARTITION_FUNCTION_IS_NOT_ALLOWED,ER_PARSE_ERROR
eval create table t2 (col1 $coltype) engine=$engine
partition by list($sqlfunc)
(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));
-#--error ER_PARTITION_FUNCTION_IS_NOT_ALLOWED,ER_PARSE_ERROR
+--error ER_PARTITION_FUNCTION_IS_NOT_ALLOWED,ER_PARSE_ERROR
eval create table t3 (col1 $coltype) engine=$engine
partition by hash($sqlfunc);
---enable_abort_on_error
---error 0,ER_PARTITION_FUNCTION_IS_NOT_ALLOWED,ER_PARSE_ERROR
+--error ER_PARTITION_FUNCTION_IS_NOT_ALLOWED,ER_PARSE_ERROR
eval create table t4 (colint int, col1 $coltype) engine=$engine
partition by range(colint)
subpartition by hash($sqlfunc) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
---error 0,ER_PARTITION_FUNCTION_IS_NOT_ALLOWED,ER_PARSE_ERROR
+--error ER_PARTITION_FUNCTION_IS_NOT_ALLOWED,ER_PARSE_ERROR
eval create table t5 (colint int, col1 $coltype) engine=$engine
partition by list(colint)
subpartition by hash($sqlfunc) subpartitions 2
@@ -59,7 +57,7 @@ subpartition by hash($sqlfunc) subpartitions 2
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));
---error 0,ER_PARTITION_FUNCTION_IS_NOT_ALLOWED,ER_PARSE_ERROR
+--error ER_PARTITION_FUNCTION_IS_NOT_ALLOWED,ER_PARSE_ERROR
eval create table t6 (colint int, col1 $coltype) engine=$engine
partition by range(colint)
(partition p0 values less than ($valsqlfunc),
@@ -75,50 +73,44 @@ drop table if exists t55 ;
drop table if exists t66 ;
--enable_warnings
-#--error ER_PARTITION_FUNCTION_IS_NOT_ALLOWED,ER_PARSE_ERROR
eval create table t11 (col1 $coltype) engine=$engine ;
-#--error ER_PARTITION_FUNCTION_IS_NOT_ALLOWED,ER_PARSE_ERROR
eval create table t22 (col1 $coltype) engine=$engine ;
-#--error ER_PARTITION_FUNCTION_IS_NOT_ALLOWED,ER_PARSE_ERROR
eval create table t33 (col1 $coltype) engine=$engine ;
---error 0,ER_PARTITION_FUNCTION_IS_NOT_ALLOWED,ER_PARSE_ERROR
eval create table t44 (colint int, col1 $coltype) engine=$engine ;
---error 0,ER_PARTITION_FUNCTION_IS_NOT_ALLOWED,ER_PARSE_ERROR
eval create table t55 (colint int, col1 $coltype) engine=$engine ;
---error 0,ER_PARTITION_FUNCTION_IS_NOT_ALLOWED,ER_PARSE_ERROR
eval create table t66 (colint int, col1 $coltype) engine=$engine ;
-#--error ER_PARTITION_FUNCTION_IS_NOT_ALLOWED,ER_PARSE_ERROR
+--error ER_PARTITION_FUNCTION_IS_NOT_ALLOWED,ER_PARSE_ERROR
eval alter table t11
partition by range($sqlfunc)
(partition p0 values less than (15),
partition p1 values less than (31));
-#--error ER_PARTITION_FUNCTION_IS_NOT_ALLOWED,ER_PARSE_ERROR
+--error ER_PARTITION_FUNCTION_IS_NOT_ALLOWED,ER_PARSE_ERROR
eval alter table t22
partition by list($sqlfunc)
(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));
-#--error ER_PARTITION_FUNCTION_IS_NOT_ALLOWED,ER_PARSE_ERROR
+--error ER_PARTITION_FUNCTION_IS_NOT_ALLOWED,ER_PARSE_ERROR
eval alter table t33
partition by hash($sqlfunc);
--enable_abort_on_error
---error 0,ER_PARTITION_FUNCTION_IS_NOT_ALLOWED,ER_PARSE_ERROR
+--error ER_PARTITION_FUNCTION_IS_NOT_ALLOWED,ER_PARSE_ERROR
eval alter table t44
partition by range(colint)
subpartition by hash($sqlfunc) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
---error 0,ER_PARTITION_FUNCTION_IS_NOT_ALLOWED,ER_PARSE_ERROR
+--error ER_PARTITION_FUNCTION_IS_NOT_ALLOWED,ER_PARSE_ERROR
eval alter table t55
partition by list(colint)
subpartition by hash($sqlfunc) subpartitions 2
@@ -126,7 +118,7 @@ subpartition by hash($sqlfunc) subpartitions 2
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));
---error 0,ER_PARTITION_FUNCTION_IS_NOT_ALLOWED,ER_PARSE_ERROR
+--error ER_PARTITION_FUNCTION_IS_NOT_ALLOWED,ER_PARSE_ERROR
eval alter table t66
partition by range(colint)
(partition p0 values less than ($valsqlfunc),
diff --git a/mysql-test/suite/parts/inc/partition_char.inc b/mysql-test/suite/parts/inc/partition_char.inc
index 4e330b122e3..1db9642c002 100644
--- a/mysql-test/suite/parts/inc/partition_char.inc
+++ b/mysql-test/suite/parts/inc/partition_char.inc
@@ -1,21 +1,11 @@
---disable_query_log
-# DATA DIRECTORY
-eval SET @data_dir = 'DATA DIRECTORY =
-''/tmp''';
-let $data_directory = `select @data_dir`;
-
-#INDEX DIRECTORY
-eval SET @indx_dir = 'INDEX DIRECTORY =
-''/tmp''';
-let $index_directory = `select @indx_dir`;
---enable_query_log
+--echo ---- Partitioning and char data type
eval create table t1 (a char(255) not null, primary key(a)) engine=$engine
partition by key (a) (
-partition pa1 $data_directory $index_directory max_rows=20 min_rows=2,
-partition pa2 $data_directory $index_directory max_rows=30 min_rows=3,
-partition pa3 $data_directory $index_directory max_rows=30 min_rows=4,
-partition pa4 $data_directory $index_directory max_rows=40 min_rows=2);
+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;
insert into t1 values (repeat('a',255)), ('b'), (repeat('a',128)), (repeat('b',64));
select * from t1;
@@ -42,6 +32,7 @@ select count(*) from t2;
select * from t2;
drop table t2;
+# mleich: Several partitioning functions are no more allowed.
if (0)
{
eval create table t3 (a char(255) not null, primary key(a)) engine=$engine
@@ -91,5 +82,4 @@ select count(*) from t4;
select a from t4;
drop table t4;
}
-#if (0)
-
+# End of tests with disallowed partitioning functions.
diff --git a/mysql-test/suite/parts/inc/partition_check.inc b/mysql-test/suite/parts/inc/partition_check.inc
index 698e9611af1..19d548cc8ef 100644
--- a/mysql-test/suite/parts/inc/partition_check.inc
+++ b/mysql-test/suite/parts/inc/partition_check.inc
@@ -1,5 +1,5 @@
################################################################################
-# include/partition_check.inc #
+# inc/partition_check.inc #
# #
# Purpose: #
# Do some basic usability checks on table t1. #
@@ -27,7 +27,7 @@
# Records can be deleted or inserted, but the content of the #
# records after a test/testsequence should follow this scheme. #
# #
-# All checks of preceeding statements via Select are so written, #
+# All checks of preceding statements via Select are so written, #
# that they deliver a #
# # check <n> success: 1 #
# when everything is like expected. #
@@ -35,18 +35,21 @@
# This is useful for cleanups. #
# #
#------------------------------------------------------------------------------#
-# Original Author: ML #
-# Original Date: 2006-03-05 #
-# Change Author: #
-# Change Date: #
-# Change: #
+# Original Author: mleich #
+# Original Date: 2006-03-05 #
+# Change Author: mleich #
+# Change Date: 2007-10-08 #
+# Change: Around fix for #
+# Bug#31243 Test "partition_basic_myisam" truncates path names#
+# Adjustments of expected error codes: #
+# ER_NO_PARTITION_FOR_GIVEN_VALUE is now 1525 #
+# ER_SAME_NAME_PARTITION is now 1516 #
################################################################################
---echo # Start usability test (include/partition_check.inc)
+--echo # Start usability test (inc/partition_check.inc)
# Print the CREATE TABLE STATEMENT and store the current layout of the table
--source suite/parts/inc/partition_layout_check1.inc
-# --source include/partition_layout_check1.inc
#-------------------------------------------------------------------------------
@@ -156,8 +159,7 @@ if ($run)
# partitioning mechanism.
# Sideeffect: Attempt to INSERT one record
# DUPLICATE KEY will appear if we have UNIQUE columns
-# 1022: Can't write; duplicate key in table 't1' UIDX/PK(f_int1)
-# 1062: Duplicate entry '2' for key 1 UIDX/PK(f_int2)
+# ER_DUP_KEY, ER_DUP_ENTRY
--disable_abort_on_error
INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
@@ -170,14 +172,13 @@ if ($no_debug)
}
eval SET @my_errno = $mysql_errno;
let $run_delete= `SELECT @my_errno = 0`;
-let $any_unique= `SELECT @my_errno IN (1022,1062)`;
-let $unexpected_error= `SELECT @my_errno NOT IN (0,1022,1062)`;
+let $any_unique= `SELECT @my_errno IN ($ER_DUP_KEY,$ER_DUP_ENTRY)`;
# DEBUG eval SELECT $run_delete AS run_delete, $any_unique AS any_unique,
-# $unexpected_error AS unexpected_error;
-if ($unexpected_error)
+# @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 # Expected/handled SQL codes are 0,1022,1062
+ --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.
exit;
@@ -200,7 +201,7 @@ if ($any_unique)
## 1.3.1 Check, if f_int1 is UNIQUE
# Sideeffect: Attempt to INSERT one record
# DUPLICATE KEY will appear if we have UNIQUE columns
- # 1022: Can't write; duplicate key in table 't1' UIDX/PK
+ # ER_DUP_KEY, ER_DUP_ENTRY
--disable_abort_on_error
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),
@@ -213,14 +214,13 @@ if ($any_unique)
}
eval SET @my_errno = $mysql_errno;
let $run_delete= `SELECT @my_errno = 0`;
- let $f_int1_is_unique= `SELECT @my_errno IN (1022,1062)`;
- let $unexpected_error= `SELECT @my_errno NOT IN (0,1022,1062)`;
+ let $f_int1_is_unique= `SELECT @my_errno IN ($ER_DUP_KEY,$ER_DUP_ENTRY)`;
# DEBUG eval SELECT $run_delete AS run_delete, $f_int1_is_unique AS any_unique,
- # $unexpected_error AS unexpected_error;
- if ($unexpected_error)
+ # @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 # Expected/handled SQL codes are 0,1022,1062
+ --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.
exit;
@@ -237,7 +237,7 @@ if ($any_unique)
DELETE FROM t1 WHERE f_charbig = 'delete me';
}
- ## 1.3.2 Check, if f_int2 is UNIQUE
+ ## 1.3.2 Check, if f_int2 is UNIQUE (get ER_DUP_KEY or ER_DUP_ENTRY
--disable_abort_on_error
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),
@@ -250,14 +250,13 @@ if ($any_unique)
}
eval SET @my_errno = $mysql_errno;
let $run_delete= `SELECT @my_errno = 0`;
- let $f_int1_is_unique= `SELECT @my_errno IN (1022,1062)`;
- let $unexpected_error= `SELECT @my_errno NOT IN (0,1022,1062)`;
+ let $f_int1_is_unique= `SELECT @my_errno IN ($ER_DUP_KEY,$ER_DUP_ENTRY)`;
# DEBUG eval SELECT $run_delete AS run_delete, $f_int1_is_unique AS any_unique,
- # $unexpected_error AS unexpected_error;
- if ($unexpected_error)
+ # @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 # Expected/handled SQL codes are 0,1022,1062
+ --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.
exit;
@@ -284,14 +283,11 @@ if ($any_unique)
# per f_int1 used in partitioning function
let $col_to_check= f_int1;
--source suite/parts/inc/partition_check_read.inc
-# --source include/partition_check_read.inc
## 2.2 Read all existing and some not existing records of table
# per f_int2 used in partitioning function
let $col_to_check= f_int2;
--source suite/parts/inc/partition_check_read.inc
-if ($fixed_bug18735)
-{
#-------------------------------------------------------------------------------
# 3 Some operations with multiple records
@@ -316,7 +312,7 @@ SELECT '# check multiple-2 success: ' AS "",COUNT(*) = @max_row - @max_row_div3
# (Insert the records deleted in 3.2)
INSERT INTO t1 SELECT * FROM t0_template
WHERE MOD(f_int1,3) = 0;
-# Check of preceeding statement via Select
+# Check of preceding statement via Select
if ($no_debug)
{
--disable_query_log
@@ -332,7 +328,7 @@ FROM t1;
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 of preceeding statement via Select
+# Check of preceding statement via Select
if ($no_debug)
{
--disable_query_log
@@ -347,7 +343,7 @@ SELECT '# check multiple-4 success: ' AS "",(COUNT(*) = @max_row) AND (MIN(f_int
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 of preceeding statement via Select
+# Check of preceding statement via Select
if ($no_debug)
{
--disable_query_log
@@ -400,7 +396,7 @@ INSERT INTO t1
SET f_int1 = @cur_value , f_int2 = @cur_value,
f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
f_charbig = '#SINGLE#';
-# Check of preceeding statement via Select
+# Check of preceding statement via Select
if ($no_debug)
{
--disable_query_log
@@ -418,7 +414,7 @@ INSERT INTO t1
SET f_int1 = @cur_value , f_int2 = @cur_value,
f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
f_charbig = '#SINGLE#';
-# Check of preceeding statement via Select
+# Check of preceding statement via Select
if ($no_debug)
{
--disable_query_log
@@ -438,7 +434,7 @@ SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
# Bug#18735: Partitions: NDB, UNIQUE INDEX, UPDATE, strange server response
UPDATE t1 SET f_int1 = @cur_value2
WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-# Check of preceeding statement via Select
+# Check of preceding statement via Select
if ($no_debug)
{
--disable_query_log
@@ -459,7 +455,7 @@ SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
# Bug#18735: Partitions: NDB, UNIQUE INDEX, UPDATE, strange server response
UPDATE t1 SET f_int1 = @cur_value1
WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-# Check of preceeding statement via Select
+# Check of preceding statement via Select
if ($no_debug)
{
--disable_query_log
@@ -471,7 +467,7 @@ WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
# 4.5 Delete the record with the highest value of f_int1.
SELECT MAX(f_int1) INTO @cur_value FROM t1;
DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-# Check of preceeding statements via Select
+# Check of preceding statements via Select
if ($no_debug)
{
--disable_query_log
@@ -482,7 +478,7 @@ WHERE f_charbig = '#SINGLE#' AND f_int1 = f_int1 = @cur_value;
#
# 4.6 Delete the record with f_int1 = -1
DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-# Check of preceeding statements via Select
+# Check of preceding statements via Select
if ($no_debug)
{
--disable_query_log
@@ -494,8 +490,9 @@ WHERE f_charbig = '#SINGLE#' AND f_int1 IN (-1,@cur_value);
# 4.7 Insert one record with such a big value for f_int1, so that in case
# - f_int1 is used within the partitioning algorithm
# - we use range partitioning
-# we get error ER_NO_PARTITION_FOR_GIVEN_VALUE (1514)
+# we get error ER_NO_PARTITION_FOR_GIVEN_VALUE
# "Table has no partition for value ...."
+# or ER_SAME_NAME_PARTITION
--disable_abort_on_error
eval INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#$max_int_4##';
--enable_abort_on_error
@@ -504,17 +501,16 @@ if ($no_debug)
--disable_query_log
}
eval SET @my_errno = $mysql_errno;
-let $unexpected_error= `SELECT @my_errno NOT IN (0,1505,1514)`;
-if ($unexpected_error)
+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 # Expected/handled SQL codes are 0,1514
+ --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.
exit;
--echo
}
-# Check of preceeding statement via Select, if the INSERT was successful
+# Check of preceding statement via Select, if the INSERT was successful
let $run= `SELECT @my_errno = 0`;
if ($run)
{
@@ -532,8 +528,6 @@ eval DELETE FROM t1 WHERE f_charbig = '#$max_int_4##';
}
--enable_query_log
-}
-# End workaround for Bug#18735
#-------------------------------------------------------------------------------
# 5 Experiments with NULL
@@ -555,15 +549,14 @@ INSERT t1 SET f_int1 = 0 , f_int2 = 0,
# f1 "=" NULL is a delicate value which might stress the partitioning
# mechanism if the result of the expression in the partitioning algorithm
# becomes NULL.
-# Not: This INSERT will fail, if f_int1 is PRIMARY KEY or UNIQUE INDEX
-# 1048: Column 'f_int1' cannot be null
+# This INSERT will fail, if f_int1 is PRIMARY KEY or UNIQUE INDEX
+# with ER_BAD_NULL_ERROR.
--disable_abort_on_error
-
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#';
-# Some other NULL experiments if preceeding INSERT was successfull
+# Some other NULL experiments if preceding INSERT was successfull
--enable_abort_on_error
if ($no_debug)
{
@@ -571,13 +564,13 @@ if ($no_debug)
}
eval SET @my_errno = $mysql_errno;
let $run= `SELECT @my_errno = 0`;
-let $unexpected_error= `SELECT @my_errno NOT IN (0,1048)`;
-if ($unexpected_error)
+if (`SELECT @my_errno NOT IN (0,$ER_BAD_NULL_ERROR)`)
{
--echo # The last command got an unexepected error response.
- --echo # Expected/handled SQL codes are 0,1048
+ --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.
+ --echo # Please check the error name to number mapping in inc/partition.pre.
exit;
--echo
}
@@ -587,7 +580,7 @@ if ($unexpected_error)
# The following checks do not make sense if f_int1 cannot be NULL
if ($run)
{
-# Check of preceeding statement via Select
+# Check of preceding statement via Select
if ($no_debug)
{
--disable_query_log
@@ -606,7 +599,7 @@ if ($no_debug)
{
--disable_query_log
}
-# Check of preceeding statement via Select
+# Check of preceding statement via Select
SELECT '# check null-2 success: ' AS "",COUNT(*) = 1 AS "" FROM t1
WHERE f_int1 = -@max_row AND f_charbig = '#NULL#';
--enable_query_log
@@ -618,7 +611,7 @@ if ($no_debug)
{
--disable_query_log
}
-# Check of preceeding statement via Select
+# Check of preceding statement via Select
SELECT '# check null-3 success: ' AS "",COUNT(*) = 1 AS "" FROM t1
WHERE f_int1 IS NULL AND f_charbig = '#NULL#';
--enable_query_log
@@ -626,7 +619,7 @@ WHERE f_int1 IS NULL AND f_charbig = '#NULL#';
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 of preceeding statement via Select
+# Check of preceding statement via Select
if ($no_debug)
{
--disable_query_log
@@ -691,7 +684,6 @@ if ($any_unique)
UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
f_charbig = 'was updated';
--source suite/parts/inc/partition_20.inc
- # --source include/partition_20.inc
}
if ($f_int2_is_unique)
@@ -707,7 +699,6 @@ if ($any_unique)
UPDATE f_int2 = 2 * @max_row + source_tab.f_int1,
f_charbig = 'was updated';
--source suite/parts/inc/partition_20.inc
- # --source include/partition_20.inc
}
## 6.3 f_int1, f_int2 is UNIQUE, UPDATE f_int1, f_int2 when DUPLICATE KEY
@@ -721,7 +712,6 @@ if ($any_unique)
f_int2 = 2 * @max_row + source_tab.f_int1,
f_charbig = 'was updated';
--source suite/parts/inc/partition_20.inc
- # --source include/partition_20.inc
## 6.4 REPLACE
# Bug#16782: Partitions: crash, REPLACE .. on table with PK, DUPLICATE KEY
@@ -730,7 +720,7 @@ if ($any_unique)
FROM t0_template source_tab
WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
# DEBUG SELECT * FROM t1 ORDER BY f_int1, f_int2;
- # Check of preceeding statement via Select
+ # Check of preceding statement via Select
if ($no_debug)
{
--disable_query_log
@@ -757,10 +747,6 @@ if ($any_unique)
# DEBUG SELECT * FROM t1 ORDER BY f_int1, f_int2;
}
-if ($fixed_bug18735)
-{
- # The following tests work cannot like intended, if we had to omit
- # tests because of Bug#18735
#-------------------------------------------------------------------------------
# 7 Transactions
@@ -937,14 +923,12 @@ if ($debug)
SELECT * FROM t1 ORDER BY f_int1;
}
-}
-# End workaround for Bug#18735
#-------------------------------------------------------------------------------
# 8 Some special cases
# 8.1 Dramatic increase of the record/partition/subpartition/table sizes
UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-# partial check of preceeding statement via Select
+# partial check of preceding statement via Select
if ($no_debug)
{
--disable_query_log
@@ -955,7 +939,7 @@ WHERE f_int1 = 1 AND f_charbig = REPEAT('b', 1000);
#
# 8.2 Dramatic decrease of the record/partition/subpartition/table sizes
UPDATE t1 SET f_charbig = '';
-# partial check of preceeding statement via Select
+# partial check of preceding statement via Select
if ($no_debug)
{
--disable_query_log
@@ -971,8 +955,7 @@ if ($debug)
SELECT * FROM t1 ORDER BY f_int1;
}
-if ($fixed_bug18735)
-{
+
#-------------------------------------------------------------------------------
# 9 TRIGGERs
let $num= 1;
@@ -992,28 +975,22 @@ SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
let $event= BEFORE INSERT;
--source suite/parts/inc/partition_trigg1.inc
-# --source include/partition_trigg1.inc
let $event= AFTER INSERT;
--source suite/parts/inc/partition_trigg1.inc
-# --source include/partition_trigg1.inc
let $statement= UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
let $event= BEFORE UPDATE;
--source suite/parts/inc/partition_trigg1.inc
-# --source include/partition_trigg1.inc
let $event= AFTER UPDATE;
--source suite/parts/inc/partition_trigg1.inc
-# --source include/partition_trigg1.inc
let $statement= DELETE FROM t0_aux
WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
let $event= BEFORE DELETE;
--source suite/parts/inc/partition_trigg1.inc
-# --source include/partition_trigg1.inc
let $event= AFTER DELETE;
--source suite/parts/inc/partition_trigg1.inc
-# --source include/partition_trigg1.inc
# Cleanup
eval DELETE FROM $tab_in_trigg
@@ -1046,28 +1023,22 @@ SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
let $event= BEFORE INSERT;
--source suite/parts/inc/partition_trigg1.inc
-# --source include/partition_trigg1.inc
let $event= AFTER INSERT;
--source suite/parts/inc/partition_trigg1.inc
-# --source include/partition_trigg1.inc
let $statement= UPDATE t1 SET f_int1 = - f_int1, f_int2 = - f_int2
WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
let $event= BEFORE UPDATE;
--source suite/parts/inc/partition_trigg1.inc
-# --source include/partition_trigg1.inc
let $event= AFTER UPDATE;
--source suite/parts/inc/partition_trigg1.inc
-# --source include/partition_trigg1.inc
let $statement= DELETE FROM t1
WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
let $event= BEFORE DELETE;
--source suite/parts/inc/partition_trigg1.inc
-# --source include/partition_trigg1.inc
let $event= AFTER DELETE;
--source suite/parts/inc/partition_trigg1.inc
-# --source include/partition_trigg1.inc
eval DELETE FROM $tab_in_trigg
WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
}
@@ -1089,7 +1060,6 @@ SET f_charbig = '####updated per update statement itself####';
let $source= old;
let $event= BEFORE UPDATE;
--source suite/parts/inc/partition_trigg2.inc
-# --source include/partition_trigg2.inc
# FIXME when AFTER TRIGGER can be used
# Currently (2006-02-23) a AFTER TRIGGER is not allowed to modify a row, which
# was just modified: 1362: Updating of NEW row is not allowed in after trigger
@@ -1105,7 +1075,6 @@ f_charbig = '####updated per update statement itself####';
let $source= old;
let $event= BEFORE UPDATE;
--source suite/parts/inc/partition_trigg2.inc
-# --source include/partition_trigg2.inc
# FIXME when AFTER TRIGGER can be used
# Currently (2006-02-23) a AFTER TRIGGER is not allowed to modify a row, which
# was just modified: 1362: Updating of NEW row is not allowed in after trigger
@@ -1113,7 +1082,6 @@ let $event= BEFORE UPDATE;
let $source= new;
let $event= BEFORE UPDATE;
--source suite/parts/inc/partition_trigg2.inc
-# --source include/partition_trigg2.inc
# FIXME when AFTER TRIGGER can be used
if ($debug)
@@ -1132,7 +1100,6 @@ ORDER BY f_int1;
let $event= BEFORE INSERT;
let $source= new;
--source suite/parts/inc/partition_trigg3.inc
-# --source include/partition_trigg3.inc
# FIXME when AFTER TRIGGER can be used
# 9.4.2 INSERT assigns no values to the recalculate columns
@@ -1144,7 +1111,6 @@ ORDER BY f_int1;
let $event= BEFORE INSERT;
let $source= new;
--source suite/parts/inc/partition_trigg3.inc
-# --source include/partition_trigg3.inc
# FIXME when AFTER TRIGGER can be used
if ($debug)
@@ -1152,8 +1118,6 @@ if ($debug)
SELECT * FROM t1 ORDER BY f_int1;
}
-}
-# End workaround for Bug#18735
#-------------------------------------------------------------------------------
# 10 ANALYZE/CHECK/CHECKSUM
@@ -1175,17 +1139,15 @@ CHECKSUM TABLE t1 EXTENDED;
# FIXME What will happen with NDB ?
OPTIMIZE TABLE t1;
--source suite/parts/inc/partition_layout_check2.inc
-# --source include/partition_layout_check2.inc
# 10.2 REPAIR TABLE
REPAIR TABLE t1 EXTENDED;
--source suite/parts/inc/partition_layout_check2.inc
-# --source include/partition_layout_check2.inc
#
# 11.3 Truncate
# Manual about TRUNCATE on tables ( != InnoDB table with FOREIGN KEY ):
# Truncate operations drop and re-create the table ....
TRUNCATE t1;
-# Check of preceeding statement via Select
+# Check of preceding statement via Select
if ($no_debug)
{
--disable_query_log
@@ -1193,6 +1155,5 @@ if ($no_debug)
SELECT '# check TRUNCATE success: ' AS "",COUNT(*) = 0 AS "" FROM t1;
--enable_query_log
--source suite/parts/inc/partition_layout_check2.inc
-# --source include/partition_layout_check2.inc
---echo # End usability test (include/partition_check.inc)
+--echo # End usability test (inc/partition_check.inc)
diff --git a/mysql-test/suite/parts/inc/partition_check_drop.inc b/mysql-test/suite/parts/inc/partition_check_drop.inc
index 825ebecba24..34a921374e6 100644
--- a/mysql-test/suite/parts/inc/partition_check_drop.inc
+++ b/mysql-test/suite/parts/inc/partition_check_drop.inc
@@ -1,5 +1,5 @@
################################################################################
-# include/partition_check_drop.inc #
+# inc/partition_check_drop.inc #
# #
# Purpose: #
# Check that a drop table removes all files belonging to this table. #
@@ -9,7 +9,7 @@
# This routine is only useful for the partition_<feature>_<engine> tests. #
# #
#------------------------------------------------------------------------------#
-# Original Author: ML #
+# Original Author: mleich #
# Original Date: 2006-05-12 #
# Change Author: #
# Change Date: #
@@ -27,8 +27,7 @@ if ($do_file_tests)
--exec ls $MYSQLTEST_VARDIR/master-data/test/t1* > $MYSQLTEST_VARDIR/master-data/test/tmp2 || true
if ($with_directories)
{
---exec ls $MYSQLTEST_VARDIR/master-data/test/data/t1* >> $MYSQLTEST_VARDIR/master-data/test/tmp2 || true
---exec ls $MYSQLTEST_VARDIR/master-data/test/index/t1* >> $MYSQLTEST_VARDIR/master-data/test/tmp2 || true
+--exec ls $MYSQLTEST_VARDIR/tmp/t1* >> $MYSQLTEST_VARDIR/master-data/test/tmp2 || true
}
eval SET @aux = CONCAT('load_file(''$MYSQLTEST_VARDIR','/master-data/test/tmp2'')');
let $file_list= `SELECT @aux`;
@@ -52,7 +51,7 @@ if ($found_garbage)
if ($ls)
{
--echo # Attention: There are unused files.
- --echo # Either the DROP TABLE or a preceeding ALTER TABLE
+ --echo # Either the DROP TABLE or a preceding ALTER TABLE
--echo # <alter partitioning> worked incomplete.
--echo # We found:
# Print the list of files into the protocol
@@ -65,8 +64,7 @@ if ($found_garbage)
--exec rm -f $MYSQLTEST_VARDIR/master-data/test/t1* || true
if ($with_directories)
{
- --exec rm -f $MYSQLTEST_VARDIR/master-data/test/data/t1* || true
- --exec rm -f $MYSQLTEST_VARDIR/master-data/test/index/t1* || true
+ --exec rm -f $MYSQLTEST_VARDIR/tmp/t1* || true
}
}
--enable_query_log
diff --git a/mysql-test/suite/parts/inc/partition_check_read.inc b/mysql-test/suite/parts/inc/partition_check_read.inc
index 14bbd46ac7f..e42bb9c90ab 100644
--- a/mysql-test/suite/parts/inc/partition_check_read.inc
+++ b/mysql-test/suite/parts/inc/partition_check_read.inc
@@ -1,5 +1,5 @@
################################################################################
-# include/partition_check_read.inc #
+# inc/partition_check_read.inc #
# #
# Purpose: #
# Read table t1 row by row #
@@ -10,7 +10,7 @@
# - the table contains all expected rows #
# #
#------------------------------------------------------------------------------#
-# Original Author: ML #
+# Original Author: mleich #
# Original Date: 2006-03-05 #
# Change Author: #
# Change Date: #
@@ -80,7 +80,7 @@ if ($no_debug)
--disable_query_log
}
--echo # check read via $col_to_check success: $success
-# ML: The following is omitted because of not reported mysqltest bug
+# mleich: The following is omitted because of not reported mysqltest bug
# (@max_row time the success message)
if (0)
{
diff --git a/mysql-test/suite/parts/inc/partition_check_read1.inc b/mysql-test/suite/parts/inc/partition_check_read1.inc
index dad5c347052..0b8b800a371 100644
--- a/mysql-test/suite/parts/inc/partition_check_read1.inc
+++ b/mysql-test/suite/parts/inc/partition_check_read1.inc
@@ -1,5 +1,5 @@
################################################################################
-# include/partition_check_read1.inc #
+# inc/partition_check_read1.inc #
# #
# Purpose: #
# Read rows from table t1 in different ways #
@@ -10,7 +10,7 @@
# must be set before sourcing this routine. #
# #
#------------------------------------------------------------------------------#
-# Original Author: ML #
+# Original Author: mleich #
# Original Date: 2006-04-11 #
# Change Author: #
# Change Date: #
diff --git a/mysql-test/suite/parts/inc/partition_check_read2.inc b/mysql-test/suite/parts/inc/partition_check_read2.inc
index 4c32456a31e..60964355d14 100644
--- a/mysql-test/suite/parts/inc/partition_check_read2.inc
+++ b/mysql-test/suite/parts/inc/partition_check_read2.inc
@@ -1,12 +1,12 @@
################################################################################
-# include/partition_check_read2.inc #
+# inc/partition_check_read2.inc #
# #
# Purpose: #
# Read rows from table t1 in different ways #
# This routine is only useful for the partition_<feature>_<engine> tests. #
# #
#------------------------------------------------------------------------------#
-# Original Author: ML #
+# Original Author: mleich #
# Original Date: 2006-04-11 #
# Change Author: #
# Change Date: #
diff --git a/mysql-test/suite/parts/inc/partition_cleanup.inc b/mysql-test/suite/parts/inc/partition_cleanup.inc
index dcd6005287e..34d3e435509 100644
--- a/mysql-test/suite/parts/inc/partition_cleanup.inc
+++ b/mysql-test/suite/parts/inc/partition_cleanup.inc
@@ -1,12 +1,12 @@
################################################################################
-# include/partition_cleanup.inc #
+# inc/partition_cleanup.inc #
# #
# Purpose: #
# Removal of the objects created by the t/partition_<feature>_<engine>.test #
# scripts. #
# #
#------------------------------------------------------------------------------#
-# Original Author: ML #
+# Original Author: mleich #
# Original Date: 2006-03-05 #
# Change Author: #
# Change Date: #
diff --git a/mysql-test/suite/parts/inc/partition_date.inc b/mysql-test/suite/parts/inc/partition_date.inc
index b58a7598236..b538a5a9d8b 100644
--- a/mysql-test/suite/parts/inc/partition_date.inc
+++ b/mysql-test/suite/parts/inc/partition_date.inc
@@ -1,21 +1,9 @@
---disable_query_log
-# DATA DIRECTORY
-eval SET @data_dir = 'DATA DIRECTORY =
-''/tmp''';
-let $data_directory = `select @data_dir`;
-
-#INDEX DIRECTORY
-eval SET @indx_dir = 'INDEX DIRECTORY =
-''/tmp''';
-let $index_directory = `select @indx_dir`;
---enable_query_log
-
eval create table t1 (a date not null, primary key(a)) engine=$engine
partition by key (a) (
-partition pa1 $data_directory $index_directory max_rows=20 min_rows=2,
-partition pa2 $data_directory $index_directory max_rows=30 min_rows=3,
-partition pa3 $data_directory $index_directory max_rows=30 min_rows=4,
-partition pa4 $data_directory $index_directory max_rows=40 min_rows=2);
+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;
insert into t1 values ('1975-01-01'), ('2020-12-31'), ('1980-10-14'), ('2000-06-15');
select * from t1;
@@ -49,7 +37,7 @@ select * from t2;
drop table t2;
eval create table t3 (a date not null, primary key(a)) engine=$engine
-partition by range (cast(month(a) as unsigned)) subpartition by key (a)
+partition by range (month(a)) subpartition by key (a)
subpartitions 3 (
partition quarter1 values less than (4),
partition quarter2 values less than (7),
@@ -69,7 +57,7 @@ select * from t3;
drop table t3;
eval create table t4 (a date not null, primary key(a)) engine=$engine
-partition by list (cast(month(a) as unsigned)) subpartition by key (a)
+partition by list (month(a)) subpartition by key (a)
subpartitions 3 (
partition quarter1 values in (1,2,3),
partition quarter2 values in (4,5,6),
diff --git a/mysql-test/suite/parts/inc/partition_datetime.inc b/mysql-test/suite/parts/inc/partition_datetime.inc
index 94c9d3d75da..b9b277a0fcc 100644
--- a/mysql-test/suite/parts/inc/partition_datetime.inc
+++ b/mysql-test/suite/parts/inc/partition_datetime.inc
@@ -1,21 +1,9 @@
---disable_query_log
-# DATA DIRECTORY
-eval SET @data_dir = 'DATA DIRECTORY =
-''/tmp''';
-let $data_directory = `select @data_dir`;
-
-#INDEX DIRECTORY
-eval SET @indx_dir = 'INDEX DIRECTORY =
-''/tmp''';
-let $index_directory = `select @indx_dir`;
---enable_query_log
-
eval create table t1 (a datetime not null, primary key(a)) engine=$engine
partition by key (a) (
-partition pa1 $data_directory $index_directory max_rows=20 min_rows=2,
-partition pa2 $data_directory $index_directory max_rows=30 min_rows=3,
-partition pa3 $data_directory $index_directory max_rows=30 min_rows=4,
-partition pa4 $data_directory $index_directory max_rows=40 min_rows=2);
+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;
insert into t1 values ('1975-01-01 21:21:21'), ('2020-12-31 12:10:30'), ('1980-10-14 03:03'), ('2000-06-15 23:59');
select * from t1;
@@ -46,7 +34,7 @@ select * from t2;
drop table t2;
eval create table t3 (a datetime not null, primary key(a)) engine=$engine
-partition by range (cast(month(a) as unsigned)) subpartition by key (a)
+partition by range (month(a)) subpartition by key (a)
subpartitions 3 (
partition quarter1 values less than (4),
partition quarter2 values less than (7),
@@ -66,7 +54,7 @@ select * from t3;
drop table t3;
eval create table t4 (a datetime not null, primary key(a)) engine=$engine
-partition by list (cast(month(a) as unsigned)) subpartition by key (a)
+partition by list (month(a)) subpartition by key (a)
subpartitions 3 (
partition quarter1 values in (1,2,3),
partition quarter2 values in (4,5,6),
diff --git a/mysql-test/suite/parts/inc/partition_decimal.inc b/mysql-test/suite/parts/inc/partition_decimal.inc
index eb35416f395..17cef08e275 100644
--- a/mysql-test/suite/parts/inc/partition_decimal.inc
+++ b/mysql-test/suite/parts/inc/partition_decimal.inc
@@ -1,21 +1,9 @@
---disable_query_log
-# DATA DIRECTORY
-eval SET @data_dir = 'DATA DIRECTORY =
-''/tmp''';
-let $data_directory = `select @data_dir`;
-
-#INDEX DIRECTORY
-eval SET @indx_dir = 'INDEX DIRECTORY =
-''/tmp''';
-let $index_directory = `select @indx_dir`;
---enable_query_log
-
eval create table t1 (a decimal(10,4) not null, primary key(a)) engine=$engine
partition by key (a) (
-partition pa1 $data_directory $index_directory max_rows=20 min_rows=2,
-partition pa2 $data_directory $index_directory max_rows=30 min_rows=3,
-partition pa3 $data_directory $index_directory max_rows=30 min_rows=4,
-partition pa4 $data_directory $index_directory max_rows=40 min_rows=2);
+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;
insert into t1 values (999999.9999), (-999999.9999), (123456.7899), (-123456.7899), (-1.5), (1), (0), (-1), (1.5), (1234.567), (-1234.567);
select * from t1;
@@ -47,8 +35,15 @@ dec $count;
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 decimal(18,9) not null, primary key(a)) engine=$engine
-partition by range (cast(floor(a) as signed)) subpartition by key (a) subpartitions 2 (
+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),
@@ -70,7 +65,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 (cast(floor(a) as signed)) subpartition by key (a) subpartitions 2 (
+partition by list (floor(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),
@@ -90,3 +85,6 @@ dec $count;
--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_directory.inc b/mysql-test/suite/parts/inc/partition_directory.inc
index 2c765e1f5ab..f63a1952594 100644
--- a/mysql-test/suite/parts/inc/partition_directory.inc
+++ b/mysql-test/suite/parts/inc/partition_directory.inc
@@ -1,5 +1,5 @@
################################################################################
-# include/partition_rectory.inc #
+# inc/partition_directory.inc #
# #
# Purpose: #
# Create and check partitioned tables #
@@ -9,7 +9,7 @@
# do #
# 1. Create the partitioned table #
# 2 Insert the content of the table t0_template into t1 #
-# 3. Execute include/partition_check.inc #
+# 3. Execute inc/partition_check.inc #
# 4. Drop the table t1 #
# done #
#------------------------------------------------------------------------------#
@@ -31,17 +31,15 @@ if ($with_partitioning)
let $partitioning= PARTITION BY HASH(f_int1) PARTITIONS 2;
if ($with_directories)
{
---disable_query_log
-eval SET @aux =
-'PARTITION BY HASH(f_int1) PARTITIONS 2
+let $partitioning=
+PARTITION BY HASH(f_int1) PARTITIONS 2
(PARTITION p1
$index_directory,
PARTITION p2
-$index_directory)';
-let $partitioning= `SELECT @aux`;
---enable_query_log
+$index_directory);
}
}
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
eval CREATE TABLE t1 (
$column_list
$unique
@@ -49,22 +47,17 @@ $unique
$partitioning;
eval $insert_all;
--source suite/parts/inc/partition_check.inc
-# --source include/partition_check.inc
DROP TABLE t1;
--source suite/parts/inc/partition_check_drop.inc
#----------- PARTITION BY KEY
if ($with_partitioning)
{
---disable_query_log
-eval SET @aux =
-'PARTITION BY KEY(f_int1) PARTITIONS 5';
-let $partitioning= `SELECT @aux`;
+let $partitioning= PARTITION BY KEY(f_int1) PARTITIONS 5;
if ($with_directories)
{
---disable_query_log
-eval SET @aux =
-'PARTITION BY HASH(f_int1) PARTITIONS 5
+let $partitioning=
+PARTITION BY HASH(f_int1) PARTITIONS 5
(PARTITION p1
$data_directory,
PARTITION p2
@@ -74,11 +67,10 @@ $data_directory
$index_directory,
PARTITION p4,
PARTITION p5
-$index_directory)';
-let $partitioning= `SELECT @aux`;
---enable_query_log
+$index_directory);
}
}
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
eval CREATE TABLE t1 (
$column_list
$unique
@@ -86,16 +78,14 @@ $unique
$partitioning;
eval $insert_all;
--source suite/parts/inc/partition_check.inc
-# --source include/partition_check.inc
DROP TABLE t1;
--source suite/parts/inc/partition_check_drop.inc
#----------- PARTITION BY LIST
if ($with_partitioning)
{
---disable_query_log
-eval SET @aux =
-'PARTITION BY LIST(MOD(f_int1,4))
+let $partitioning=
+PARTITION BY LIST(MOD(f_int1,4))
(PARTITION part_3 VALUES IN (-3)
$index_directory,
PARTITION part_2 VALUES IN (-2)
@@ -111,9 +101,9 @@ $index_directory,
PARTITION part2 VALUES IN (2)
$data_directory,
PARTITION part3 VALUES IN (3)
-$data_directory $index_directory)';
-let $partitioning= `SELECT @aux`;
+$data_directory $index_directory);
}
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
eval CREATE TABLE t1 (
$column_list
$unique
@@ -121,15 +111,13 @@ $unique
$partitioning;
eval $insert_all;
--source suite/parts/inc/partition_check.inc
-# --source include/partition_check.inc
DROP TABLE t1;
--source suite/parts/inc/partition_check_drop.inc
#----------- PARTITION BY RANGE
if ($with_partitioning)
{
-#--disable_query_log
-eval SET @aux = 'PARTITION BY RANGE(f_int1)
+let $partitioning= PARTITION BY RANGE(f_int1)
(PARTITION parta VALUES LESS THAN (0)
$index_directory,
PARTITION partb VALUES LESS THAN ($max_row_div4)
@@ -141,10 +129,9 @@ PARTITION partd VALUES LESS THAN ($max_row_div2 + $max_row_div4),
PARTITION parte VALUES LESS THAN ($max_row)
$data_directory,
PARTITION partf VALUES LESS THAN $MAX_VALUE
-$index_directory)';
-let $partitioning= `SELECT @aux`;
-#--enable_query_log
+$index_directory);
}
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
eval CREATE TABLE t1 (
$column_list
$unique
@@ -152,16 +139,14 @@ $unique
$partitioning;
eval $insert_all;
--source suite/parts/inc/partition_check.inc
-# --source include/partition_check.inc
DROP TABLE t1;
--source suite/parts/inc/partition_check_drop.inc
#----------- PARTITION BY RANGE -- SUBPARTITION BY HASH
if ($with_partitioning)
{
---disable_query_log
-eval SET @aux =
-'PARTITION BY RANGE(f_int1 DIV 2) SUBPARTITION BY HASH(f_int1) SUBPARTITIONS 2
+let $partitioning=
+PARTITION BY RANGE(f_int1 DIV 2) SUBPARTITION BY HASH(f_int1) SUBPARTITIONS 2
(PARTITION parta VALUES LESS THAN (0)
$index_directory,
PARTITION partb VALUES LESS THAN ($max_row_div4)
@@ -169,10 +154,9 @@ $data_directory,
PARTITION partc VALUES LESS THAN ($max_row_div2),
PARTITION partd VALUES LESS THAN $MAX_VALUE
$data_directory
-$index_directory)';
-let $partitioning= `SELECT @aux`;
---enable_query_log
+$index_directory);
}
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
eval CREATE TABLE t1 (
$column_list
$unique
@@ -180,15 +164,13 @@ $unique
$partitioning;
eval $insert_all;
--source suite/parts/inc/partition_check.inc
-# --source include/partition_check.inc
DROP TABLE t1;
--source suite/parts/inc/partition_check_drop.inc
#----------- PARTITION BY RANGE -- SUBPARTITION BY KEY
if ($with_partitioning)
{
---disable_query_log
-eval SET @aux = 'PARTITION BY RANGE(f_int1) SUBPARTITION BY KEY(f_int1)
+let $partitioning= PARTITION BY RANGE(f_int1) SUBPARTITION BY KEY(f_int1)
(PARTITION part1 VALUES LESS THAN (0)
$data_directory
(SUBPARTITION subpart11, SUBPARTITION subpart12),
@@ -200,10 +182,9 @@ $data_directory
$index_directory
(SUBPARTITION subpart31, SUBPARTITION subpart32),
PARTITION part4 VALUES LESS THAN $MAX_VALUE
-(SUBPARTITION subpart41, SUBPARTITION subpart42))';
-let $partitioning= `SELECT @aux`;
---enable_query_log
+(SUBPARTITION subpart41, SUBPARTITION subpart42));
}
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
eval CREATE TABLE t1 (
$column_list
$unique
@@ -211,16 +192,14 @@ $unique
$partitioning;
eval $insert_all;
--source suite/parts/inc/partition_check.inc
-# --source include/partition_check.inc
DROP TABLE t1;
--source suite/parts/inc/partition_check_drop.inc
#----------- PARTITION BY LIST -- SUBPARTITION BY HASH
if ($with_partitioning)
{
---disable_query_log
-eval SET @aux =
-'PARTITION BY LIST(ABS(MOD(f_int1,3))) SUBPARTITION BY HASH(f_int1 + 1)
+let $partitioning=
+PARTITION BY LIST(ABS(MOD(f_int1,3))) SUBPARTITION BY HASH(f_int1 + 1)
(PARTITION part1 VALUES IN (0)
$index_directory
(SUBPARTITION sp11
@@ -244,10 +223,9 @@ eval SET @aux =
$index_directory,
SUBPARTITION sp42
$data_directory
- $index_directory))';
-let $partitioning= `SELECT @aux`;
---enable_query_log
+ $index_directory));
}
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
eval CREATE TABLE t1 (
$column_list
$unique
@@ -255,7 +233,6 @@ $unique
$partitioning;
eval $insert_all;
--source suite/parts/inc/partition_check.inc
-# --source include/partition_check.inc
DROP TABLE t1;
--source suite/parts/inc/partition_check_drop.inc
diff --git a/mysql-test/suite/parts/inc/partition_double.inc b/mysql-test/suite/parts/inc/partition_double.inc
index 96cf7fd4871..befbe860b86 100644
--- a/mysql-test/suite/parts/inc/partition_double.inc
+++ b/mysql-test/suite/parts/inc/partition_double.inc
@@ -1,21 +1,9 @@
---disable_query_log
-# DATA DIRECTORY
-eval SET @data_dir = 'DATA DIRECTORY =
-''/tmp''';
-let $data_directory = `select @data_dir`;
-
-#INDEX DIRECTORY
-eval SET @indx_dir = 'INDEX DIRECTORY =
-''/tmp''';
-let $index_directory = `select @indx_dir`;
---enable_query_log
-
eval create table t1 (a double not null, primary key(a)) engine=$engine
partition by key (a) (
-partition pa1 $data_directory $index_directory max_rows=20 min_rows=2,
-partition pa2 $data_directory $index_directory max_rows=30 min_rows=3,
-partition pa3 $data_directory $index_directory max_rows=30 min_rows=4,
-partition pa4 $data_directory $index_directory max_rows=40 min_rows=2);
+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;
insert into t1 values (-2.2250738585072014E+208), (-2.2250738585072014E-208), (-1.5), (-1), (0), (1.5), (1234.567), (2.2250738585072014E+208);
select * from t1;
@@ -48,8 +36,15 @@ 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 (cast(floor(a) as signed)) subpartition by key (a) subpartitions 3 (
+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)
@@ -69,7 +64,7 @@ select * from t3;
drop table t3;
eval create table t4 (a double not null, primary key(a)) engine=$engine
-partition by list (cast(floor(a) as signed)) subpartition by key (a) subpartitions 3 (
+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)
@@ -87,3 +82,6 @@ dec $count;
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_engine.inc b/mysql-test/suite/parts/inc/partition_engine.inc
index 2beb08e7626..b2fab2ff27e 100644
--- a/mysql-test/suite/parts/inc/partition_engine.inc
+++ b/mysql-test/suite/parts/inc/partition_engine.inc
@@ -1,5 +1,5 @@
################################################################################
-# include/partition_engine.inc #
+# inc/partition_engine.inc #
# #
# Purpose: #
# Tests around Create/Alter partitioned tables and storage engine settings #
@@ -17,7 +17,7 @@
# storage engine to use. #
# #
#------------------------------------------------------------------------------#
-# Original Author: ML #
+# Original Author: mleich #
# Original Date: 2006-03-05 #
# Change Author: #
# Change Date: #
@@ -45,7 +45,6 @@ $column_list
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template;
--source suite/parts/inc/partition_check.inc
-# --source include/partition_check.inc
DROP TABLE t1;
#
--echo #------------------------------------------------------------------------
@@ -62,7 +61,6 @@ PARTITION BY HASH(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;
--source suite/parts/inc/partition_check.inc
-# --source include/partition_check.inc
DROP TABLE t1;
eval CREATE TABLE t1 (
$column_list
@@ -79,13 +77,13 @@ SUBPARTITION BY HASH(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;
--source suite/parts/inc/partition_check.inc
-# --source include/partition_check.inc
DROP TABLE t1;
#
--echo #------------------------------------------------------------------------
--echo # 3 Some but not all named partitions or subpartitions get a storage
--echo # engine assigned
--echo #------------------------------------------------------------------------
+--error ER_MIX_HANDLER_ERROR
eval CREATE TABLE t1 (
$column_list
)
@@ -93,11 +91,7 @@ PARTITION BY HASH(f_int1)
( PARTITION part1 STORAGE ENGINE = $engine,
PARTITION part2
);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template;
---source suite/parts/inc/partition_check.inc
-# --source include/partition_check.inc
-DROP TABLE t1;
+--error ER_MIX_HANDLER_ERROR
eval CREATE TABLE t1 (
$column_list
)
@@ -105,11 +99,7 @@ PARTITION BY HASH(f_int1)
( PARTITION part1 ,
PARTITION part2 STORAGE ENGINE = $engine
);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template;
---source suite/parts/inc/partition_check.inc
-# --source include/partition_check.inc
-DROP TABLE t1;
+--error ER_MIX_HANDLER_ERROR
eval CREATE TABLE t1 (
$column_list
)
@@ -122,11 +112,7 @@ SUBPARTITION BY HASH(f_int1)
(SUBPARTITION subpart21 STORAGE ENGINE = $engine,
SUBPARTITION subpart22 STORAGE ENGINE = $engine)
);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template;
---source suite/parts/inc/partition_check.inc
-# --source include/partition_check.inc
-DROP TABLE t1;
+--error ER_MIX_HANDLER_ERROR
eval CREATE TABLE t1 (
$column_list
)
@@ -139,16 +125,55 @@ SUBPARTITION BY HASH(f_int1)
(SUBPARTITION subpart21,
SUBPARTITION subpart22 )
);
+eval CREATE TABLE t1 (
+$column_list
+)
+ENGINE = $engine
+PARTITION BY RANGE(f_int1)
+SUBPARTITION BY HASH(f_int1)
+( PARTITION part1 VALUES LESS THAN ($max_row_div2)
+ (SUBPARTITION subpart11 STORAGE ENGINE = $engine,
+ SUBPARTITION subpart12 STORAGE ENGINE = $engine),
+ PARTITION part2 VALUES LESS THAN $MAX_VALUE
+ (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;
--source suite/parts/inc/partition_check.inc
-# --source include/partition_check.inc
DROP TABLE t1;
#
--echo #------------------------------------------------------------------------
--echo # 4 Storage engine assignment after partition name + after name of
--echo # subpartitions belonging to another partition
--echo #------------------------------------------------------------------------
+--error ER_MIX_HANDLER_ERROR
+eval CREATE TABLE t1 (
+$column_list
+)
+PARTITION BY RANGE(f_int1)
+SUBPARTITION BY HASH(f_int1)
+( PARTITION part1 VALUES LESS THAN ($max_row_div2)
+ (SUBPARTITION subpart11,
+ SUBPARTITION subpart12),
+ PARTITION part2 VALUES LESS THAN $MAX_VALUE
+ (SUBPARTITION subpart21 STORAGE ENGINE = $engine,
+ SUBPARTITION subpart22 STORAGE ENGINE = $engine)
+);
+eval CREATE TABLE t1 (
+$column_list
+)
+ENGINE = $engine
+PARTITION BY RANGE(f_int1)
+SUBPARTITION BY HASH(f_int1)
+( PARTITION part1 VALUES LESS THAN ($max_row_div2) ENGINE = $engine
+ (SUBPARTITION subpart11,
+ SUBPARTITION subpart12),
+ PARTITION part2 VALUES LESS THAN $MAX_VALUE
+ (SUBPARTITION subpart21,
+ SUBPARTITION subpart22 STORAGE ENGINE = $engine)
+);
+DROP TABLE t1;
eval CREATE TABLE t1 (
$column_list
)
@@ -164,7 +189,6 @@ SUBPARTITION BY HASH(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;
--source suite/parts/inc/partition_check.inc
-# --source include/partition_check.inc
DROP TABLE t1;
eval CREATE TABLE t1 (
$column_list
@@ -175,13 +199,12 @@ SUBPARTITION BY HASH(f_int1)
(SUBPARTITION subpart11 STORAGE ENGINE = $engine,
SUBPARTITION subpart12 STORAGE ENGINE = $engine),
PARTITION part2 VALUES LESS THAN $MAX_VALUE ENGINE = $engine
- (SUBPARTITION subpart21,
+ (SUBPARTITION subpart21 ENGINE = $engine,
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;
--source suite/parts/inc/partition_check.inc
-# --source include/partition_check.inc
DROP TABLE t1;
#
--echo #------------------------------------------------------------------------
@@ -199,7 +222,6 @@ PARTITION BY HASH(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;
--source suite/parts/inc/partition_check.inc
-# --source include/partition_check.inc
DROP TABLE t1;
eval CREATE TABLE t1 (
$column_list
@@ -216,11 +238,10 @@ SUBPARTITION BY HASH(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;
--source suite/parts/inc/partition_check.inc
-# --source include/partition_check.inc
DROP TABLE t1;
--echo # 6.2 Storage engine assignment after partition name + after
--echo # subpartition name
-# in partition part + in sub partition part
+--echo # in partition part + in sub partition part
eval CREATE TABLE t1 (
$column_list
)
@@ -236,7 +257,6 @@ SUBPARTITION BY HASH(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;
--source suite/parts/inc/partition_check.inc
-# --source include/partition_check.inc
DROP TABLE t1;
--echo #------------------------------------------------------------------------
@@ -252,7 +272,6 @@ PARTITION BY HASH(f_int1) ( PARTITION part1 ENGINE = $engine);
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template;
--source suite/parts/inc/partition_check.inc
-# --source include/partition_check.inc
DROP TABLE t1;
# Bug#15966 Partitions: crash if session default engine <> engine used in create table
eval CREATE TABLE t1 (
@@ -266,6 +285,5 @@ SUBPARTITION BY HASH(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;
--source suite/parts/inc/partition_check.inc
-# --source include/partition_check.inc
DROP TABLE t1;
eval SET SESSION storage_engine=$engine;
diff --git a/mysql-test/suite/parts/inc/partition_enum.inc b/mysql-test/suite/parts/inc/partition_enum.inc
index f8fcb1110ae..9f2c5976097 100644
--- a/mysql-test/suite/parts/inc/partition_enum.inc
+++ b/mysql-test/suite/parts/inc/partition_enum.inc
@@ -1,21 +1,11 @@
---disable_query_log
-# DATA DIRECTORY
-eval SET @data_dir = 'DATA DIRECTORY =
-''/tmp''';
-let $data_directory = `select @data_dir`;
-
-#INDEX DIRECTORY
-eval SET @indx_dir = 'INDEX DIRECTORY =
-''/tmp''';
-let $index_directory = `select @indx_dir`;
---enable_query_log
+--echo ---- Partitioning and enum data type
eval create table t1 (a enum('A','B','C','D','E','F','G','H','I','J','K','L') not null, primary key(a)) engine=$engine
partition by key (a) (
-partition pa1 $data_directory $index_directory max_rows=20 min_rows=2,
-partition pa2 $data_directory $index_directory max_rows=30 min_rows=3,
-partition pa3 $data_directory $index_directory max_rows=30 min_rows=4,
-partition pa4 $data_directory $index_directory max_rows=40 min_rows=2);
+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;
insert into t1 values ('A'),('D'),('L'),('G');
select * from t1;
@@ -47,13 +37,16 @@ select count(*) from t2;
select * from t2;
drop table t2;
+# mleich: Several partitioning functions are no more allowed.
+if (0)
+{
eval create table t3 (a enum (
'1','2','3','4','5','6','7','8','9','0',
'A','B','C','D','E','F','G','H','I','J','K','L',
'M','N','O','P','Q','R','S','T','U','V','W','X',
'Y','Z'
) not null, primary key(a)) engine=$engine
-partition by range (cast(a as unsigned)) subpartition by key (a) subpartitions 3 (
+partition by range (a) subpartition by key (a) subpartitions 3 (
partition pa9 values less than (10),
partition pa18 values less than (19),
partition pa27 values less than (28),
@@ -71,29 +64,5 @@ dec $letter;
select count(*) from t3;
select * from t3;
drop table t3;
-
-eval create table t4 (a enum (
-'1','2','3','4','5','6','7','8','9','0',
-'A','B','C','D','E','F','G','H','I','J','K','L',
-'M','N','O','P','Q','R','S','T','U','V','W','X',
-'Y','Z'
-) not null, primary key(a)) engine=$engine
-partition by list (cast(a as unsigned)) subpartition by key (a) subpartitions 3 (
-partition pa9 values in (1,2,3,4,5,6,7,8,9),
-partition pa18 values in (10,11,12,13,14,15,16,17,18),
-partition pa27 values in (19,20,21,22,23,24,25,26,27),
-partition pa36 values in (28,29,30,31,32,33,34,35,36)
-);
-show create table t4;
-let $letter=36;
---echo $count inserts;
-#--disable_query_log
-while ($letter)
-{
-#eval insert into t4 values ($letter);
-dec $letter;
}
-select count(*) from t4;
-select * from t4;
-drop table t4;
-
+# End of tests with disallowed partitioning functions.
diff --git a/mysql-test/suite/parts/inc/partition_float.inc b/mysql-test/suite/parts/inc/partition_float.inc
index 25c59a10153..34f14137d4d 100644
--- a/mysql-test/suite/parts/inc/partition_float.inc
+++ b/mysql-test/suite/parts/inc/partition_float.inc
@@ -1,21 +1,9 @@
---disable_query_log
-# DATA DIRECTORY
-eval SET @data_dir = 'DATA DIRECTORY =
-''/tmp''';
-let $data_directory = `select @data_dir`;
-
-#INDEX DIRECTORY
-eval SET @indx_dir = 'INDEX DIRECTORY =
-''/tmp''';
-let $index_directory = `select @indx_dir`;
---enable_query_log
-
eval create table t1 (a float not null, primary key(a)) engine=$engine
partition by key (a) (
-partition pa1 $data_directory $index_directory max_rows=20 min_rows=2,
-partition pa2 $data_directory $index_directory max_rows=30 min_rows=3,
-partition pa3 $data_directory $index_directory max_rows=30 min_rows=4,
-partition pa4 $data_directory $index_directory max_rows=40 min_rows=2);
+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;
insert into t1 values (-3.402823466E+38), (3.402823466E+38), (-1.5), (-1), (0), (1), (1.5);
select * from t1;
@@ -51,8 +39,15 @@ dec $count;
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 (cast(floor(a) as signed)) subpartition by key (a) subpartitions 3 (
+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)
@@ -72,7 +67,7 @@ select * from t3;
drop table t3;
eval create table t4 (a float not null, primary key(a)) engine=$engine
-partition by list (cast(floor(a) as signed)) subpartition by key (a) subpartitions 3 (
+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)
@@ -90,3 +85,6 @@ dec $count;
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_int.inc b/mysql-test/suite/parts/inc/partition_int.inc
index 7f019c96b94..bd9da689187 100644
--- a/mysql-test/suite/parts/inc/partition_int.inc
+++ b/mysql-test/suite/parts/inc/partition_int.inc
@@ -1,21 +1,9 @@
---disable_query_log
-# DATA DIRECTORY
-eval SET @data_dir = 'DATA DIRECTORY =
-''/tmp''';
-let $data_directory = `select @data_dir`;
-
-#INDEX DIRECTORY
-eval SET @indx_dir = 'INDEX DIRECTORY =
-''/tmp''';
-let $index_directory = `select @indx_dir`;
---enable_query_log
-
eval create table t1 (a int unsigned not null, primary key(a)) engine=$engine
partition by key (a) (
-partition pa1 $data_directory $index_directory max_rows=20 min_rows=2,
-partition pa2 $data_directory $index_directory max_rows=30 min_rows=3,
-partition pa3 $data_directory $index_directory max_rows=30 min_rows=4,
-partition pa4 $data_directory $index_directory max_rows=40 min_rows=2);
+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;
insert into t1 values (4294967295), (4294967294), (4294967293), (4294967292), (1), (2), (65535);
select * from t1;
diff --git a/mysql-test/suite/parts/inc/partition_key_16col.inc b/mysql-test/suite/parts/inc/partition_key_16col.inc
index 5f97d5d0f71..988dc4554ab 100644
--- a/mysql-test/suite/parts/inc/partition_key_16col.inc
+++ b/mysql-test/suite/parts/inc/partition_key_16col.inc
@@ -1,21 +1,9 @@
---disable_query_log
-# DATA DIRECTORY
-eval SET @data_dir = 'DATA DIRECTORY =
-''/tmp''';
-let $data_directory = `select @data_dir`;
-
-#INDEX DIRECTORY
-eval SET @indx_dir = 'INDEX DIRECTORY =
-''/tmp''';
-let $index_directory = `select @indx_dir`;
---enable_query_log
-
eval create table t1 (a date not null, b varchar(50) not null, c varchar(50) not null, d enum('m', 'w') not null, e int not null, f decimal (18,2) not null, g bigint not null, h tinyint not null, a1 date not null, b1 varchar(50) not null, c1 varchar(50) not null, d1 enum('m', 'w') not null, e1 int not null, f1 decimal (18,2) not null, g1 bigint not null, h1 tinyint not null, i char(255), primary key(a,b,c,d,e,f,g,h,a1,b1,c1,d1,e1,f1,g1,h1)) engine=$engine
partition by key(a,b,c,d,e,f,g,h,a1,b1,c1,d1,e1,f1,g1,h1) (
-partition pa1 $data_directory $index_directory max_rows=20 min_rows=2,
-partition pa2 $data_directory $index_directory max_rows=30 min_rows=3,
-partition pa3 $data_directory $index_directory max_rows=30 min_rows=4,
-partition pa4 $data_directory $index_directory max_rows=40 min_rows=2);
+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;
insert into t1 values
('1975-01-01', 'abcde', 'abcde','m', 1234, 123.45, 32412341234, 113,'1975-01-01', 'abcde', 'abcde','m', 1234, 123.45, 32412341234, 113, 'tbhth nrzh ztfghgfh fzh ftzhj fztjh'),
diff --git a/mysql-test/suite/parts/inc/partition_key_32col.inc b/mysql-test/suite/parts/inc/partition_key_32col.inc
index 90a36d2a228..614693902dc 100644
--- a/mysql-test/suite/parts/inc/partition_key_32col.inc
+++ b/mysql-test/suite/parts/inc/partition_key_32col.inc
@@ -1,29 +1,17 @@
---disable_query_log
-# DATA DIRECTORY
-eval SET @data_dir = 'DATA DIRECTORY =
-''/tmp''';
-let $data_directory = `select @data_dir`;
-
-#INDEX DIRECTORY
-eval SET @indx_dir = 'INDEX DIRECTORY =
-''/tmp''';
-let $index_directory = `select @indx_dir`;
---enable_query_log
-
--error ER_TOO_MANY_KEY_PARTS
eval create table t1 (a date not null, b varchar(50) not null, c varchar(50) not null, d enum('m', 'w') not null, e int not null, f decimal (18,2) not null, g bigint not null, h tinyint not null, a1 date not null, b1 varchar(50) not null, c1 varchar(50) not null, d1 enum('m', 'w') not null, e1 int not null, f1 decimal (18,2) not null, g1 bigint not null, h1 tinyint not null, a2 date not null, b2 varchar(50) not null, c2 varchar(50) not null, d2 enum('m', 'w') not null, e2 int not null, f2 decimal (18,2) not null, g2 bigint not null, h2 tinyint not null, a3 date not null, b3 varchar(50) not null, c3 varchar(50) not null, d3 enum('m', 'w') not null, e3 int not null, f3 decimal (18,2) not null, g3 bigint not null, h3 tinyint not null, i char(255), primary key(a,b,c,d,e,f,g,h,a1,b1,c1,d1,e1,f1,g1,h1,a2,b2,c2,d2,e2,f2,g2,h2,a3,b3,c3,d3,e3,f3,g3,h3)) engine=$engine
partition by key(a,b,c,d,e,f,g,h,a1,b1,c1,d1,e1,f1,g1,h1,a2,b2,c2,d2,e2,f2,g2,h2,a3,b3,c3,d3,e3,f3,g3,h3) (
-partition pa1 $data_directory $index_directory max_rows=20 min_rows=2,
-partition pa2 $data_directory $index_directory max_rows=30 min_rows=3,
-partition pa3 $data_directory $index_directory max_rows=30 min_rows=4,
-partition pa4 $data_directory $index_directory max_rows=40 min_rows=2);
+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);
eval create table t1 (a date not null, b varchar(50) not null, c varchar(50) not null, d enum('m', 'w') not null, e int not null, f decimal (18,2) not null, g bigint not null, h tinyint not null, a1 date not null, b1 varchar(50) not null, c1 varchar(50) not null, d1 enum('m', 'w') not null, e1 int not null, f1 decimal (18,2) not null, g1 bigint not null, h1 tinyint not null, a2 date not null, b2 varchar(50) not null, c2 varchar(50) not null, d2 enum('m', 'w') not null, e2 int not null, f2 decimal (18,2) not null, g2 bigint not null, h2 tinyint not null, a3 date not null, b3 varchar(50) not null, c3 varchar(50) not null, d3 enum('m', 'w') not null, e3 int not null, f3 decimal (18,2) not null, g3 bigint not null, h3 tinyint not null, i char(255), primary key(a,b,c,d,e,f,g,h,a1,b1,c1,d1,e1,f1,g1,h1)) engine=$engine
partition by key(a,b,c,d,e,f,g,h) (
-partition pa1 $data_directory $index_directory max_rows=20 min_rows=2,
-partition pa2 $data_directory $index_directory max_rows=30 min_rows=3,
-partition pa3 $data_directory $index_directory max_rows=30 min_rows=4,
-partition pa4 $data_directory $index_directory max_rows=40 min_rows=2);
+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);
--disable_abort_on error
show create table t1;
diff --git a/mysql-test/suite/parts/inc/partition_key_4col.inc b/mysql-test/suite/parts/inc/partition_key_4col.inc
index c5d1452080f..a94ab581620 100644
--- a/mysql-test/suite/parts/inc/partition_key_4col.inc
+++ b/mysql-test/suite/parts/inc/partition_key_4col.inc
@@ -1,21 +1,9 @@
---disable_query_log
-# DATA DIRECTORY
-eval SET @data_dir = 'DATA DIRECTORY =
-''/tmp''';
-let $data_directory = `select @data_dir`;
-
-#INDEX DIRECTORY
-eval SET @indx_dir = 'INDEX DIRECTORY =
-''/tmp''';
-let $index_directory = `select @indx_dir`;
---enable_query_log
-
eval create table t1 (a date not null, b varchar(50) not null, c varchar(50) not null, d enum('m', 'w'), primary key(a,b,c,d)) engine=$engine
partition by key (a,b,c,d) (
-partition pa1 $data_directory $index_directory max_rows=20 min_rows=2,
-partition pa2 $data_directory $index_directory max_rows=30 min_rows=3,
-partition pa3 $data_directory $index_directory max_rows=30 min_rows=4,
-partition pa4 $data_directory $index_directory max_rows=40 min_rows=2);
+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;
insert into t1 values
('1975-01-01', 'abcde', 'abcde','m'),
diff --git a/mysql-test/suite/parts/inc/partition_key_8col.inc b/mysql-test/suite/parts/inc/partition_key_8col.inc
index a0d2e1532f3..fcbab7c355d 100644
--- a/mysql-test/suite/parts/inc/partition_key_8col.inc
+++ b/mysql-test/suite/parts/inc/partition_key_8col.inc
@@ -1,21 +1,9 @@
---disable_query_log
-# DATA DIRECTORY
-eval SET @data_dir = 'DATA DIRECTORY =
-''/tmp''';
-let $data_directory = `select @data_dir`;
-
-#INDEX DIRECTORY
-eval SET @indx_dir = 'INDEX DIRECTORY =
-''/tmp''';
-let $index_directory = `select @indx_dir`;
---enable_query_log
-
eval create table t1 (a date not null, b varchar(50) not null, c varchar(50) not null, d enum('m', 'w') not null, e int not null, f decimal (18,2) not null, g bigint not null, h tinyint not null, i char(255), primary key(a,b,c,d,e,f,g,h)) engine=$engine
partition by key(a,b,c,d,e,f,g,h) (
-partition pa1 $data_directory $index_directory max_rows=20 min_rows=2,
-partition pa2 $data_directory $index_directory max_rows=30 min_rows=3,
-partition pa3 $data_directory $index_directory max_rows=30 min_rows=4,
-partition pa4 $data_directory $index_directory max_rows=40 min_rows=2);
+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;
insert into t1 values
('1975-01-01', 'abcde', 'abcde','m', 1234, 123.45, 32412341234, 113, 'tbhth nrzh ztfghgfh fzh ftzhj fztjh'),
diff --git a/mysql-test/include/partition_layout.inc b/mysql-test/suite/parts/inc/partition_layout.inc
index 95f6cac37d7..c4181ef1cfd 100644
--- a/mysql-test/include/partition_layout.inc
+++ b/mysql-test/suite/parts/inc/partition_layout.inc
@@ -1,4 +1,4 @@
-# include/partition_layout.inc
+# inc/partition_layout.inc
#
# Print partitioning related informations about the table t1
#
@@ -9,5 +9,6 @@ eval SHOW CREATE TABLE t1;
# listing of files belonging to the table t1
if ($ls)
{
+ --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--exec ls $MYSQLTEST_VARDIR/master-data/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 fe0d9d138a0..b953d858adb 100644
--- a/mysql-test/suite/parts/inc/partition_layout_check1.inc
+++ b/mysql-test/suite/parts/inc/partition_layout_check1.inc
@@ -1,17 +1,17 @@
################################################################################
-# include/partition_layout_check1.inc #
+# inc/partition_layout_check1.inc #
# #
# Purpose: #
# Store the SHOW CREATE TABLE output and the list of files belonging to #
# this table + print this into the protocol #
# This script is only usefule when sourced within the partitioning tests. #
# #
-# Attention: The routine include/partition_layout_check2.inc is very similar #
+# Attention: The routine inc/partition_layout_check2.inc is very similar #
# to this one. So if something has to be changed here it #
# might be necessary to do it also there #
# #
#------------------------------------------------------------------------------#
-# Original Author: ML #
+# Original Author: mleich #
# Original Date: 2006-03-05 #
# Change Author: #
# Change Date: #
@@ -38,8 +38,8 @@ if ($do_file_tests)
--exec ls $MYSQLTEST_VARDIR/master-data/test/t1* > $MYSQLTEST_VARDIR/master-data/test/tmp2 2>&1 || true
if ($with_directories)
{
---exec ls $MYSQLTEST_VARDIR/master-data/test/data/t1* >> $MYSQLTEST_VARDIR/master-data/test/tmp2 2>&1 || true
---exec ls $MYSQLTEST_VARDIR/master-data/test/index/t1* >> $MYSQLTEST_VARDIR/master-data/test/tmp2 2>&1 || true
+--exec ls $MYSQLTEST_VARDIR/mysql-test-data-dir/t1* >> $MYSQLTEST_VARDIR/master-data/test/tmp2 2>&1 || true
+--exec ls $MYSQLTEST_VARDIR/mysql-test-idx-dir/t1* >> $MYSQLTEST_VARDIR/master-data/test/tmp2 2>&1 || true
}
eval SET @aux = CONCAT('load_file(''$MYSQLTEST_VARDIR','/master-data/test/tmp2''
)');
@@ -56,6 +56,7 @@ eval INSERT INTO t0_definition SET state = 'old',
file_list = $file_list;
# Print the create table statement into the protocol
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
SELECT create_command FROM t0_definition WHERE state = 'old';
if ($do_file_tests)
{
diff --git a/mysql-test/suite/parts/inc/partition_layout_check2.inc b/mysql-test/suite/parts/inc/partition_layout_check2.inc
index c28387cccd0..716baa7d042 100644
--- a/mysql-test/suite/parts/inc/partition_layout_check2.inc
+++ b/mysql-test/suite/parts/inc/partition_layout_check2.inc
@@ -1,18 +1,18 @@
################################################################################
-# include/partition_layout_check2.inc #
+# inc/partition_layout_check2.inc #
# #
# Purpose: #
# Store the SHOW CREATE TABLE output and the list of files belonging to #
# this table + Check if the layout of the table was not modified #
-# since the call of include/partition_layout_check1.inc #
+# since the call of inc/partition_layout_check1.inc #
# This script is only usefule when sourced within the partitioning tests. #
# #
-# Attention: The routine include/partition_layout_check1.inc is very similar #
+# Attention: The routine inc/partition_layout_check1.inc is very similar #
# to this one. So if something has to be changed here it #
# might be necessary to do it also there #
# #
#------------------------------------------------------------------------------#
-# Original Author: ML #
+# Original Author: mleich #
# Original Date: 2006-03-05 #
# Change Author: #
# Change Date: #
@@ -32,6 +32,11 @@ if ($do_file_tests)
{
# List the files belonging to the table t1
--exec ls $MYSQLTEST_VARDIR/master-data/test/t1* > $MYSQLTEST_VARDIR/master-data/test/tmp2 2>&1 || true
+if ($with_directories)
+{
+--exec ls $MYSQLTEST_VARDIR/mysql-test-data-dir/t1* >> $MYSQLTEST_VARDIR/master-data/test/tmp2 2>&1 || true
+--exec ls $MYSQLTEST_VARDIR/mysql-test-idx-dir/t1* >> $MYSQLTEST_VARDIR/master-data/test/tmp2 2>&1 || true
+}
eval SET @aux = CONCAT('load_file(''$MYSQLTEST_VARDIR','/master-data/test/tmp2'')');
let $file_list= `SELECT @aux`;
}
@@ -55,6 +60,7 @@ let $run= `SELECT @aux`;
if ($run)
{
--vertical_results
+ --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
SELECT state,
REPLACE(create_command,'\n',' ') AS "Table definition",
REPLACE(file_list ,'\n',' ') AS "File list"
diff --git a/mysql-test/suite/parts/inc/partition_mediumint.inc b/mysql-test/suite/parts/inc/partition_mediumint.inc
index 18bfedf7ed9..10ed96e52b0 100644
--- a/mysql-test/suite/parts/inc/partition_mediumint.inc
+++ b/mysql-test/suite/parts/inc/partition_mediumint.inc
@@ -1,21 +1,9 @@
---disable_query_log
-# DATA DIRECTORY
-eval SET @data_dir = 'DATA DIRECTORY =
-''/tmp''';
-let $data_directory = `select @data_dir`;
-
-#INDEX DIRECTORY
-eval SET @indx_dir = 'INDEX DIRECTORY =
-''/tmp''';
-let $index_directory = `select @indx_dir`;
---enable_query_log
-
eval create table t1 (a mediumint unsigned not null, primary key(a)) engine=$engine
partition by key (a) (
-partition pa1 $data_directory $index_directory max_rows=20 min_rows=2,
-partition pa2 $data_directory $index_directory max_rows=30 min_rows=3,
-partition pa3 $data_directory $index_directory max_rows=30 min_rows=4,
-partition pa4 $data_directory $index_directory max_rows=40 min_rows=2);
+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;
insert into t1 values (16777215), (16777214), (16777213), (16777212), (1), (2), (65535);
select * from t1;
diff --git a/mysql-test/suite/parts/inc/partition_methods1.inc b/mysql-test/suite/parts/inc/partition_methods1.inc
index bec0c747f28..54cf050f1ff 100644
--- a/mysql-test/suite/parts/inc/partition_methods1.inc
+++ b/mysql-test/suite/parts/inc/partition_methods1.inc
@@ -1,5 +1,5 @@
################################################################################
-# include/partition_methods1.inc #
+# inc/partition_methods1.inc #
# #
# Purpose: #
# Create and check partitioned tables #
@@ -11,7 +11,7 @@
# do #
# 1. Create the partitioned table #
# 2 Insert the content of the table t0_template into t1 #
-# 3. Execute include/partition_check.inc #
+# 3. Execute inc/partition_check.inc #
# 4. Drop the table t1 #
# done #
# #
@@ -21,14 +21,14 @@
# has to be set before sourcing this routine. #
# Example: #
# let $unique= , UNIQUE INDEX uidx1 (f_int1); #
-# include/partition_method1s.inc #
+# inc/partition_method1s.inc #
# #
-# Attention: The routine include/partition_methods2.inc is very similar #
+# Attention: The routine inc/partition_methods2.inc is very similar #
# to this one. So if something has to be changed here it #
# might be necessary to do it also there #
# #
#------------------------------------------------------------------------------#
-# Original Author: ML #
+# Original Author: mleich #
# Original Date: 2006-03-05 #
# Change Author: HH #
# Change Date: 2006-05-12 #
@@ -46,19 +46,17 @@ if ($with_partitioning)
let $partitioning= PARTITION BY HASH(f_int1) PARTITIONS 2;
if ($with_directories)
{
---disable_query_log
-eval SET @aux =
-'PARTITION BY HASH(f_int1) PARTITIONS 2
+let $partitioning=
+PARTITION BY HASH(f_int1) PARTITIONS 2
(PARTITION p1
$data_directory
$index_directory,
PARTITION p2
$data_directory
-$index_directory)';
-let $partitioning= `SELECT @aux`;
---enable_query_log
+$index_directory);
}
}
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
eval CREATE TABLE t1 (
$column_list
$unique
@@ -66,22 +64,18 @@ $unique
$partitioning;
eval $insert_all;
--source suite/parts/inc/partition_check.inc
-# --source include/partition_check.inc
DROP TABLE t1;
--source suite/parts/inc/partition_check_drop.inc
#----------- PARTITION BY KEY
if ($with_partitioning)
{
---disable_query_log
-eval SET @aux =
-'PARTITION BY KEY(f_int1) PARTITIONS 5';
-let $partitioning= `SELECT @aux`;
+let $partitioning=
+PARTITION BY KEY(f_int1) PARTITIONS 5;
if ($with_directories)
{
---disable_query_log
-eval SET @aux =
-'PARTITION BY HASH(f_int1) PARTITIONS 5
+let $partitioning=
+PARTITION BY KEY(f_int1) PARTITIONS 5
(PARTITION p1
$data_directory
$index_directory,
@@ -96,11 +90,10 @@ $data_directory
$index_directory,
PARTITION p5
$data_directory
-$index_directory)';
-let $partitioning= `SELECT @aux`;
---enable_query_log
+$index_directory);
}
}
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
eval CREATE TABLE t1 (
$column_list
$unique
@@ -108,16 +101,26 @@ $unique
$partitioning;
eval $insert_all;
--source suite/parts/inc/partition_check.inc
-# --source include/partition_check.inc
DROP TABLE t1;
--source suite/parts/inc/partition_check_drop.inc
#----------- PARTITION BY LIST
if ($with_partitioning)
{
---disable_query_log
-eval SET @aux =
-'PARTITION BY LIST(MOD(f_int1,4))
+let $partitioning=
+PARTITION BY LIST(MOD(f_int1,4))
+(PARTITION part_3 VALUES IN (-3),
+ PARTITION part_2 VALUES IN (-2),
+ PARTITION part_1 VALUES IN (-1),
+ PARTITION part_N VALUES IN (NULL),
+ PARTITION part0 VALUES IN (0),
+ PARTITION part1 VALUES IN (1),
+ PARTITION part2 VALUES IN (2),
+ PARTITION part3 VALUES IN (3));
+if ($with_directories)
+{
+let $partitioning=
+PARTITION BY LIST(MOD(f_int1,4))
(PARTITION part_3 VALUES IN (-3)
$data_directory $index_directory,
PARTITION part_2 VALUES IN (-2)
@@ -133,9 +136,10 @@ $data_directory $index_directory,
PARTITION part2 VALUES IN (2)
$data_directory $index_directory,
PARTITION part3 VALUES IN (3)
-$data_directory $index_directory)';
-let $partitioning= `SELECT @aux`;
+$data_directory $index_directory);
+}
}
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
eval CREATE TABLE t1 (
$column_list
$unique
@@ -143,15 +147,22 @@ $unique
$partitioning;
eval $insert_all;
--source suite/parts/inc/partition_check.inc
-# --source include/partition_check.inc
DROP TABLE t1;
--source suite/parts/inc/partition_check_drop.inc
#----------- PARTITION BY RANGE
if ($with_partitioning)
{
-#--disable_query_log
-eval SET @aux = 'PARTITION BY RANGE(f_int1)
+let $partitioning= PARTITION BY RANGE(f_int1)
+(PARTITION parta VALUES LESS THAN (0),
+PARTITION partb VALUES LESS THAN ($max_row_div4),
+PARTITION partc VALUES LESS THAN ($max_row_div2),
+PARTITION partd VALUES LESS THAN ($max_row_div2 + $max_row_div4),
+PARTITION parte VALUES LESS THAN ($max_row),
+PARTITION partf VALUES LESS THAN $MAX_VALUE);
+if ($with_directories)
+{
+let $partitioning= PARTITION BY RANGE(f_int1)
(PARTITION parta VALUES LESS THAN (0)
$data_directory
$index_directory,
@@ -169,10 +180,10 @@ $data_directory
$index_directory,
PARTITION partf VALUES LESS THAN $MAX_VALUE
$data_directory
-$index_directory)';
-let $partitioning= `SELECT @aux`;
-#--enable_query_log
+$index_directory);
}
+}
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
eval CREATE TABLE t1 (
$column_list
$unique
@@ -180,16 +191,22 @@ $unique
$partitioning;
eval $insert_all;
--source suite/parts/inc/partition_check.inc
-# --source include/partition_check.inc
DROP TABLE t1;
--source suite/parts/inc/partition_check_drop.inc
#----------- PARTITION BY RANGE -- SUBPARTITION BY HASH
if ($with_partitioning)
{
---disable_query_log
-eval SET @aux =
-'PARTITION BY RANGE(f_int1 DIV 2) SUBPARTITION BY HASH(f_int1) SUBPARTITIONS 2
+let $partitioning=
+PARTITION BY RANGE(f_int1 DIV 2) SUBPARTITION BY HASH(f_int1) SUBPARTITIONS 2
+(PARTITION parta VALUES LESS THAN (0),
+PARTITION partb VALUES LESS THAN ($max_row_div4),
+PARTITION partc VALUES LESS THAN ($max_row_div2),
+PARTITION partd VALUES LESS THAN $MAX_VALUE);
+if ($with_directories)
+{
+let $partitioning=
+PARTITION BY RANGE(f_int1 DIV 2) SUBPARTITION BY HASH(f_int1) SUBPARTITIONS 2
(PARTITION parta VALUES LESS THAN (0)
$data_directory
$index_directory,
@@ -201,10 +218,10 @@ $data_directory
$index_directory,
PARTITION partd VALUES LESS THAN $MAX_VALUE
$data_directory
-$index_directory)';
-let $partitioning= `SELECT @aux`;
---enable_query_log
+$index_directory);
+}
}
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
eval CREATE TABLE t1 (
$column_list
$unique
@@ -212,34 +229,39 @@ $unique
$partitioning;
eval $insert_all;
--source suite/parts/inc/partition_check.inc
-# --source include/partition_check.inc
DROP TABLE t1;
--source suite/parts/inc/partition_check_drop.inc
#----------- PARTITION BY RANGE -- SUBPARTITION BY KEY
if ($with_partitioning)
{
---disable_query_log
-eval SET @aux = 'PARTITION BY RANGE(f_int1) SUBPARTITION BY KEY(f_int1)
+let $partitioning= PARTITION BY RANGE(f_int1) SUBPARTITION BY KEY(f_int1)
(PARTITION part1 VALUES LESS THAN (0)
-$data_directory
-$index_directory
(SUBPARTITION subpart11, SUBPARTITION subpart12),
PARTITION part2 VALUES LESS THAN ($max_row_div4)
-$data_directory
-$index_directory
(SUBPARTITION subpart21, SUBPARTITION subpart22),
PARTITION part3 VALUES LESS THAN ($max_row_div2)
-$data_directory
-$index_directory
(SUBPARTITION subpart31, SUBPARTITION subpart32),
PARTITION part4 VALUES LESS THAN $MAX_VALUE
-$data_directory
-$index_directory
-(SUBPARTITION subpart41, SUBPARTITION subpart42))';
-let $partitioning= `SELECT @aux`;
---enable_query_log
+(SUBPARTITION subpart41, SUBPARTITION subpart42));
+if ($with_directories)
+{
+let $partitioning= PARTITION BY RANGE(f_int1) SUBPARTITION BY KEY(f_int1)
+(PARTITION part1 VALUES LESS THAN (0)
+(SUBPARTITION subpart11 $data_directory $index_directory,
+ SUBPARTITION subpart12 $data_directory $index_directory),
+PARTITION part2 VALUES LESS THAN ($max_row_div4)
+(SUBPARTITION subpart21 $data_directory $index_directory,
+ SUBPARTITION subpart22 $data_directory $index_directory),
+PARTITION part3 VALUES LESS THAN ($max_row_div2)
+(SUBPARTITION subpart31 $data_directory $index_directory,
+ SUBPARTITION subpart32 $data_directory $index_directory),
+PARTITION part4 VALUES LESS THAN $MAX_VALUE
+(SUBPARTITION subpart41 $data_directory $index_directory,
+ SUBPARTITION subpart42 $data_directory $index_directory));
}
+}
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
eval CREATE TABLE t1 (
$column_list
$unique
@@ -247,16 +269,30 @@ $unique
$partitioning;
eval $insert_all;
--source suite/parts/inc/partition_check.inc
-# --source include/partition_check.inc
DROP TABLE t1;
--source suite/parts/inc/partition_check_drop.inc
#----------- PARTITION BY LIST -- SUBPARTITION BY HASH
if ($with_partitioning)
{
---disable_query_log
-eval SET @aux =
-'PARTITION BY LIST(ABS(MOD(f_int1,3))) SUBPARTITION BY HASH(f_int1 + 1)
+let $partitioning=
+PARTITION BY LIST(ABS(MOD(f_int1,3))) SUBPARTITION BY HASH(f_int1 + 1)
+(PARTITION part1 VALUES IN (0)
+ (SUBPARTITION sp11,
+ SUBPARTITION sp12),
+ PARTITION part2 VALUES IN (1)
+ (SUBPARTITION sp21,
+ SUBPARTITION sp22),
+ PARTITION part3 VALUES IN (2)
+ (SUBPARTITION sp31,
+ SUBPARTITION sp32),
+ PARTITION part4 VALUES IN (NULL)
+ (SUBPARTITION sp41,
+ SUBPARTITION sp42));
+if ($with_directories)
+{
+let $partitioning=
+PARTITION BY LIST(ABS(MOD(f_int1,3))) SUBPARTITION BY HASH(f_int1 + 1)
(PARTITION part1 VALUES IN (0)
$data_directory
$index_directory
@@ -288,10 +324,10 @@ eval SET @aux =
$index_directory,
SUBPARTITION sp42
$data_directory
- $index_directory))';
-let $partitioning= `SELECT @aux`;
---enable_query_log
+ $index_directory));
+}
}
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
eval CREATE TABLE t1 (
$column_list
$unique
@@ -299,16 +335,22 @@ $unique
$partitioning;
eval $insert_all;
--source suite/parts/inc/partition_check.inc
-# --source include/partition_check.inc
DROP TABLE t1;
--source suite/parts/inc/partition_check_drop.inc
#----------- PARTITION BY LIST -- SUBPARTITION BY KEY
if ($with_partitioning)
{
---disable_query_log
-eval SET @aux =
-'PARTITION BY LIST(ABS(MOD(f_int1,2)))
+let $partitioning=
+PARTITION BY LIST(ABS(MOD(f_int1,2)))
+SUBPARTITION BY KEY(f_int1) SUBPARTITIONS $sub_part_no
+(PARTITION part1 VALUES IN (0),
+ PARTITION part2 VALUES IN (1),
+ PARTITION part3 VALUES IN (NULL));
+if ($with_directories)
+{
+let $partitioning=
+PARTITION BY LIST(ABS(MOD(f_int1,2)))
SUBPARTITION BY KEY(f_int1) SUBPARTITIONS $sub_part_no
(PARTITION part1 VALUES IN (0)
$data_directory
@@ -318,10 +360,10 @@ SUBPARTITION BY KEY(f_int1) SUBPARTITIONS $sub_part_no
$index_directory,
PARTITION part3 VALUES IN (NULL)
$data_directory
- $index_directory)';
-let $partitioning= `SELECT @aux`;
---enable_query_log
+ $index_directory);
+}
}
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
eval CREATE TABLE t1 (
$column_list
$unique
@@ -329,7 +371,5 @@ $unique
$partitioning;
eval $insert_all;
--source suite/parts/inc/partition_check.inc
-# --source include/partition_check.inc
DROP TABLE t1;
--source suite/parts/inc/partition_check_drop.inc
-let $with_directories= FALSE;
diff --git a/mysql-test/suite/parts/inc/partition_methods2.inc b/mysql-test/suite/parts/inc/partition_methods2.inc
index 31b083bfa7a..8af6a2cbf42 100644
--- a/mysql-test/suite/parts/inc/partition_methods2.inc
+++ b/mysql-test/suite/parts/inc/partition_methods2.inc
@@ -1,5 +1,5 @@
################################################################################
-# include/partition_methods2.inc #
+# inc/partition_methods2.inc #
# #
# Purpose: #
# Create and check partitioned tables #
@@ -10,7 +10,7 @@
# do #
# 1. Create the partitioned table #
# 2 Insert the content of the table t0_template into t1 #
-# 3. Execute include/partition_check.inc #
+# 3. Execute inc/partition_check.inc #
# 4. Drop the table t1 #
# done #
# #
@@ -20,14 +20,14 @@
# has to be set before sourcing this routine. #
# Example: #
# let $unique= , UNIQUE INDEX uidx1 (f_int1); #
-# include/partition_methods2.inc #
+# inc/partition_methods2.inc #
# #
-# Attention: The routine include/partition_methods1.inc is very similar #
+# Attention: The routine inc/partition_methods1.inc is very similar #
# to this one. So if something has to be changed here it #
# might be necessary to do it also there #
# #
#------------------------------------------------------------------------------#
-# Original Author: ML #
+# Original Author: mleich #
# Original Date: 2006-03-05 #
# Change Author: #
# Change Date: #
@@ -43,7 +43,19 @@ let $partitioning= ;
if ($with_partitioning)
{
let $partitioning= PARTITION BY HASH(f_int1 + f_int2) PARTITIONS 2;
+if ($with_directories)
+{
+let $partitioning=
+PARTITION BY HASH(f_int1 + f_int2) PARTITIONS 2
+(PARTITION p1
+$data_directory
+$index_directory,
+PARTITION p2
+$data_directory
+$index_directory);
+}
}
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
eval CREATE TABLE t1 (
$column_list
$unique
@@ -51,14 +63,34 @@ $unique
$partitioning;
eval $insert_all;
--source suite/parts/inc/partition_check.inc
-# --source include/partition_check.inc
DROP TABLE t1;
#----------- PARTITION BY KEY
if ($with_partitioning)
{
let $partitioning= PARTITION BY KEY(f_int1,f_int2) PARTITIONS 5;
+if ($with_directories)
+{
+let $partitioning=
+PARTITION BY KEY(f_int1,f_int2) PARTITIONS 5
+(PARTITION p1
+$data_directory
+$index_directory,
+PARTITION p2
+$data_directory
+$index_directory,
+PARTITION p3
+$data_directory
+$index_directory,
+PARTITION p4
+$data_directory
+$index_directory,
+PARTITION p5
+$data_directory
+$index_directory);
+}
}
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
eval CREATE TABLE t1 (
$column_list
$unique
@@ -66,7 +98,6 @@ $unique
$partitioning;
eval $insert_all;
--source suite/parts/inc/partition_check.inc
-# --source include/partition_check.inc
DROP TABLE t1;
#----------- PARTITION BY LIST
@@ -81,7 +112,29 @@ let $partitioning= PARTITION BY LIST(MOD(f_int1 + f_int2,4))
PARTITION part1 VALUES IN (1),
PARTITION part2 VALUES IN (2),
PARTITION part3 VALUES IN (3));
+if ($with_directories)
+{
+let $partitioning=
+PARTITION BY LIST(MOD(f_int1 + f_int2,4))
+(PARTITION part_3 VALUES IN (-3)
+$data_directory $index_directory,
+ PARTITION part_2 VALUES IN (-2)
+$data_directory $index_directory,
+ PARTITION part_1 VALUES IN (-1)
+$data_directory $index_directory,
+ PARTITION part_N VALUES IN (NULL)
+$data_directory $index_directory,
+ PARTITION part0 VALUES IN (0)
+$data_directory $index_directory,
+ PARTITION part1 VALUES IN (1)
+$data_directory $index_directory,
+ PARTITION part2 VALUES IN (2)
+$data_directory $index_directory,
+ PARTITION part3 VALUES IN (3)
+$data_directory $index_directory);
+}
}
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
eval CREATE TABLE t1 (
$column_list
$unique
@@ -89,23 +142,42 @@ $unique
$partitioning;
eval $insert_all;
--source suite/parts/inc/partition_check.inc
-# --source include/partition_check.inc
DROP TABLE t1;
#----------- PARTITION BY RANGE
if ($with_partitioning)
{
---disable_query_log
-eval SET @aux = 'PARTITION BY RANGE((f_int1 + f_int2) DIV 2)
+let $partitioning= PARTITION BY RANGE((f_int1 + f_int2) DIV 2)
(PARTITION parta VALUES LESS THAN (0),
PARTITION partb VALUES LESS THAN ($max_row_div4),
PARTITION partc VALUES LESS THAN ($max_row_div2),
PARTITION partd VALUES LESS THAN ($max_row_div2 + $max_row_div4),
PARTITION parte VALUES LESS THAN ($max_row),
-PARTITION partf VALUES LESS THAN $MAX_VALUE)';
-let $partitioning= `SELECT @aux`;
---enable_query_log
+PARTITION partf VALUES LESS THAN $MAX_VALUE);
+if ($with_directories)
+{
+let $partitioning= PARTITION BY RANGE((f_int1 + f_int2) DIV 2)
+(PARTITION parta VALUES LESS THAN (0)
+$data_directory
+$index_directory,
+PARTITION partb VALUES LESS THAN ($max_row_div4)
+$data_directory
+$index_directory,
+PARTITION partc VALUES LESS THAN ($max_row_div2)
+$data_directory
+$index_directory,
+PARTITION partd VALUES LESS THAN ($max_row_div2 + $max_row_div4)
+$data_directory
+$index_directory,
+PARTITION parte VALUES LESS THAN ($max_row)
+$data_directory
+$index_directory,
+PARTITION partf VALUES LESS THAN $MAX_VALUE
+$data_directory
+$index_directory);
}
+}
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
eval CREATE TABLE t1 (
$column_list
$unique
@@ -113,22 +185,36 @@ $unique
$partitioning;
eval $insert_all;
--source suite/parts/inc/partition_check.inc
-# --source include/partition_check.inc
DROP TABLE t1;
#----------- PARTITION BY RANGE -- SUBPARTITION BY HASH
if ($with_partitioning)
{
---disable_query_log
-eval SET @aux =
-'PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int2) SUBPARTITIONS 2
+let $partitioning=
+PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int2) SUBPARTITIONS 2
(PARTITION parta VALUES LESS THAN (0),
PARTITION partb VALUES LESS THAN ($max_row_div4),
PARTITION partc VALUES LESS THAN ($max_row_div2),
-PARTITION partd VALUES LESS THAN $MAX_VALUE)';
-let $partitioning= `SELECT @aux`;
---enable_query_log
+PARTITION partd VALUES LESS THAN $MAX_VALUE);
+if ($with_directories)
+{
+let $partitioning=
+PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int2) SUBPARTITIONS 2
+(PARTITION parta VALUES LESS THAN (0)
+$data_directory
+$index_directory,
+PARTITION partb VALUES LESS THAN ($max_row_div4)
+$data_directory
+$index_directory,
+PARTITION partc VALUES LESS THAN ($max_row_div2)
+$data_directory
+$index_directory,
+PARTITION partd VALUES LESS THAN $MAX_VALUE
+$data_directory
+$index_directory);
+}
}
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
eval CREATE TABLE t1 (
$column_list
$unique
@@ -136,14 +222,12 @@ $unique
$partitioning;
eval $insert_all;
--source suite/parts/inc/partition_check.inc
-# --source include/partition_check.inc
DROP TABLE t1;
#----------- PARTITION BY RANGE -- SUBPARTITION BY KEY
if ($with_partitioning)
{
---disable_query_log
-eval SET @aux = 'PARTITION BY RANGE(f_int1) SUBPARTITION BY KEY(f_int2)
+let $partitioning= PARTITION BY RANGE(f_int1) SUBPARTITION BY KEY(f_int2)
(PARTITION part1 VALUES LESS THAN (0)
(SUBPARTITION subpart11, SUBPARTITION subpart12),
PARTITION part2 VALUES LESS THAN ($max_row_div4)
@@ -151,10 +235,25 @@ PARTITION part2 VALUES LESS THAN ($max_row_div4)
PARTITION part3 VALUES LESS THAN ($max_row_div2)
(SUBPARTITION subpart31, SUBPARTITION subpart32),
PARTITION part4 VALUES LESS THAN $MAX_VALUE
-(SUBPARTITION subpart41, SUBPARTITION subpart42))';
-let $partitioning= `SELECT @aux`;
---enable_query_log
+(SUBPARTITION subpart41, SUBPARTITION subpart42));
+if ($with_directories)
+{
+let $partitioning= PARTITION BY RANGE(f_int1) SUBPARTITION BY KEY(f_int2)
+(PARTITION part1 VALUES LESS THAN (0)
+(SUBPARTITION subpart11 $data_directory $index_directory,
+ SUBPARTITION subpart12 $data_directory $index_directory),
+PARTITION part2 VALUES LESS THAN ($max_row_div4)
+(SUBPARTITION subpart21 $data_directory $index_directory,
+ SUBPARTITION subpart22 $data_directory $index_directory),
+PARTITION part3 VALUES LESS THAN ($max_row_div2)
+(SUBPARTITION subpart31 $data_directory $index_directory,
+ SUBPARTITION subpart32 $data_directory $index_directory),
+PARTITION part4 VALUES LESS THAN $MAX_VALUE
+(SUBPARTITION subpart41 $data_directory $index_directory,
+ SUBPARTITION subpart42 $data_directory $index_directory));
}
+}
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
eval CREATE TABLE t1 (
$column_list
$unique
@@ -162,7 +261,6 @@ $unique
$partitioning;
eval $insert_all;
--source suite/parts/inc/partition_check.inc
-# --source include/partition_check.inc
DROP TABLE t1;
#----------- PARTITION BY LIST -- SUBPARTITION BY HASH
@@ -177,7 +275,45 @@ let $partitioning= PARTITION BY LIST(ABS(MOD(f_int1,3))) SUBPARTITION BY HASH(f_
(SUBPARTITION sp31, SUBPARTITION sp32),
PARTITION part4 VALUES IN (NULL)
(SUBPARTITION sp41, SUBPARTITION sp42));
+if ($with_directories)
+{
+let $partitioning=
+PARTITION BY LIST(ABS(MOD(f_int1,3))) SUBPARTITION BY HASH(f_int2 + 1)
+(PARTITION part1 VALUES IN (0)
+ $data_directory
+ $index_directory
+ (SUBPARTITION sp11
+ $data_directory
+ $index_directory,
+ SUBPARTITION sp12
+ $data_directory
+ $index_directory),
+ PARTITION part2 VALUES IN (1)
+ $data_directory
+ $index_directory
+ (SUBPARTITION sp21
+ $data_directory
+ $index_directory,
+ SUBPARTITION sp22
+ $data_directory
+ $index_directory),
+ PARTITION part3 VALUES IN (2)
+ $data_directory
+ $index_directory
+ (SUBPARTITION sp31,
+ SUBPARTITION sp32),
+ PARTITION part4 VALUES IN (NULL)
+ $data_directory
+ $index_directory
+ (SUBPARTITION sp41
+ $data_directory
+ $index_directory,
+ SUBPARTITION sp42
+ $data_directory
+ $index_directory));
+}
}
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
eval CREATE TABLE t1 (
$column_list
$unique
@@ -185,22 +321,34 @@ $unique
$partitioning;
eval $insert_all;
--source suite/parts/inc/partition_check.inc
-# --source include/partition_check.inc
DROP TABLE t1;
#----------- PARTITION BY LIST -- SUBPARTITION BY KEY
if ($with_partitioning)
{
---disable_query_log
-eval SET @aux =
-'PARTITION BY LIST(ABS(MOD(f_int1,2)))
+let $partitioning=
+PARTITION BY LIST(ABS(MOD(f_int1,2)))
SUBPARTITION BY KEY(f_int2) SUBPARTITIONS $sub_part_no
(PARTITION part1 VALUES IN (0),
PARTITION part2 VALUES IN (1),
- PARTITION part3 VALUES IN (NULL))';
-let $partitioning= `SELECT @aux`;
---enable_query_log
+ PARTITION part3 VALUES IN (NULL));
+if ($with_directories)
+{
+let $partitioning=
+PARTITION BY LIST(ABS(MOD(f_int1,2)))
+SUBPARTITION BY KEY(f_int2) SUBPARTITIONS $sub_part_no
+(PARTITION part1 VALUES IN (0)
+ $data_directory
+ $index_directory,
+ PARTITION part2 VALUES IN (1)
+ $data_directory
+ $index_directory,
+ PARTITION part3 VALUES IN (NULL)
+ $data_directory
+ $index_directory);
+}
}
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
eval CREATE TABLE t1 (
$column_list
$unique
@@ -208,5 +356,4 @@ $unique
$partitioning;
eval $insert_all;
--source suite/parts/inc/partition_check.inc
-# --source include/partition_check.inc
DROP TABLE t1;
diff --git a/mysql-test/suite/parts/inc/partition_set.inc b/mysql-test/suite/parts/inc/partition_set.inc
index 76fc1aea4ba..8b8c3c9ddf5 100644
--- a/mysql-test/suite/parts/inc/partition_set.inc
+++ b/mysql-test/suite/parts/inc/partition_set.inc
@@ -1,21 +1,11 @@
---disable_query_log
-# DATA DIRECTORY
-eval SET @data_dir = 'DATA DIRECTORY =
-''/tmp''';
-let $data_directory = `select @data_dir`;
-
-#INDEX DIRECTORY
-eval SET @indx_dir = 'INDEX DIRECTORY =
-''/tmp''';
-let $index_directory = `select @indx_dir`;
---enable_query_log
+--echo ---- Partitioning and set data type
eval create table t1 (a set('A','B','C','D','E','F','G','H','I','J','K','L') not null, primary key(a)) engine=$engine
partition by key (a) (
-partition pa1 $data_directory $index_directory max_rows=20 min_rows=2,
-partition pa2 $data_directory $index_directory max_rows=30 min_rows=3,
-partition pa3 $data_directory $index_directory max_rows=30 min_rows=4,
-partition pa4 $data_directory $index_directory max_rows=40 min_rows=2);
+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;
insert into t1 values ('A,B'),('C,D'),('E,L'),('G,H,K');
select * from t1 order by a;
@@ -43,41 +33,3 @@ insert into t2 values ('1,2,3'),('2,3,4'),('3,4,5'),('4,5,6'),('5,6,7'),('6,7,8'
select count(*) from t2;
select * from t2 order by a;
drop table t2;
-
-eval create table t3 (a set (
-'1','2','3','4','5','6','7','8','9','0'
-) not null, primary key(a)) engine=$engine
-partition by range (cast(a as unsigned)) subpartition by key (a) subpartitions 3 (
-partition pa9 values less than (10),
-partition pa18 values less than (19),
-partition pa27 values less than (28),
-partition pa36 values less than (37),
-partition pa64 values less than (65),
-partition pa128 values less than (129),
-partition pa256 values less than (257),
-partition pa512 values less than (513),
-partition pa768 values less than (769),
-partition pa1024 values less than (1025)
-);
-show create table t3;
-#insert into t3 values ('1'),('2'),('3'),('4'),('5'),('6'),('7'),('8'),('9'),('0');
-#insert into t3 values ('1,2'),('2,3'),('3,4'),('4,5'),('5,6'),('6,7'),('7,8'),('8,9'),('9,0'),('0,1');
-#insert into t3 values ('1,2,3'),('2,3,4'),('3,4,5'),('4,5,6'),('5,6,7'),('6,7,8'),('7,8,9'),('8,9,0'),('9,0,1'),('0,1,2');
-select count(*) from t3;
-select * from t3 order by a;
-drop table t3;
-
-eval create table t4 (a set (
-'1','2','3') not null, primary key(a)) engine=$engine
-partition by list (cast(a as unsigned)) subpartition by key (a) subpartitions 3 (
-partition pa9 values in (1,2,3,4,5,6,7,8,9),
-partition pa18 values in (10,11,12,13,14,15,16,17,18),
-partition pa27 values in (19,20,21,22,23,24,25,26,27)
-);
-show create table t4;
-#insert into t4 values ('1'),('2'),('3');
-#insert into t4 values ('1,2'),('2,3'),('3,1');
-#insert into t4 values ('1,2,3');
-select count(*) from t4;
-select * from t4 order by a;
-drop table t4;
diff --git a/mysql-test/suite/parts/inc/partition_smallint.inc b/mysql-test/suite/parts/inc/partition_smallint.inc
index c594cd4c26c..8e5e93f079b 100644
--- a/mysql-test/suite/parts/inc/partition_smallint.inc
+++ b/mysql-test/suite/parts/inc/partition_smallint.inc
@@ -1,21 +1,9 @@
---disable_query_log
-# DATA DIRECTORY
-eval SET @data_dir = 'DATA DIRECTORY =
-''/tmp''';
-let $data_directory = `select @data_dir`;
-
-#INDEX DIRECTORY
-eval SET @indx_dir = 'INDEX DIRECTORY =
-''/tmp''';
-let $index_directory = `select @indx_dir`;
---enable_query_log
-
eval create table t1 (a smallint unsigned not null, primary key(a)) engine=$engine
partition by key (a) (
-partition pa1 $data_directory $index_directory max_rows=20 min_rows=2,
-partition pa2 $data_directory $index_directory max_rows=30 min_rows=3,
-partition pa3 $data_directory $index_directory max_rows=30 min_rows=4,
-partition pa4 $data_directory $index_directory max_rows=40 min_rows=2);
+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;
insert into t1 values (65535), (65534), (65533), (65532), (1), (2), (256);
select * from t1;
diff --git a/mysql-test/suite/parts/inc/partition_supported_sql_funcs.inc b/mysql-test/suite/parts/inc/partition_supported_sql_funcs.inc
index a26e6650893..d9c1f5836f0 100644
--- a/mysql-test/suite/parts/inc/partition_supported_sql_funcs.inc
+++ b/mysql-test/suite/parts/inc/partition_supported_sql_funcs.inc
@@ -83,14 +83,9 @@ eval insert into t3 values ($val1);
eval insert into t3 values ($val2);
eval insert into t3 values ($val3);
---replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
-eval load data infile '$MYSQL_TEST_DIR/suite/parts/inc/$infile' into table t4;
-
---replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
-eval load data infile '$MYSQL_TEST_DIR/suite/parts/inc/$infile' into table t5;
-
---replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
-eval load data infile '$MYSQL_TEST_DIR/suite/parts/inc/$infile' into table t6;
+eval load data infile '../std_data_ln/parts/$infile' into table t4;
+eval load data infile '../std_data_ln/parts/$infile' into table t5;
+eval load data infile '../std_data_ln/parts/$infile' into table t6;
eval select $sqlfunc from t1 order by col1;
@@ -239,7 +234,6 @@ subpartition by hash($sqlfunc) subpartitions 5
let $t5=t5;
let $t6=t6;
--source suite/parts/inc/part_supported_sql_funcs_delete.inc
- # --source include/part_supported_sql_funcs_delete.inc
let $t1=t11;
let $t2=t22;
@@ -248,7 +242,6 @@ subpartition by hash($sqlfunc) subpartitions 5
let $t5=t55;
let $t6=t66;
--source suite/parts/inc/part_supported_sql_funcs_delete.inc
- # --source include/part_supported_sql_funcs_delete.inc
--echo -------------------------
--echo ---- some alter table end
--echo -------------------------
diff --git a/mysql-test/suite/parts/inc/partition_syntax.inc b/mysql-test/suite/parts/inc/partition_syntax.inc
index 3c53861b95b..e72aad80f0a 100644
--- a/mysql-test/suite/parts/inc/partition_syntax.inc
+++ b/mysql-test/suite/parts/inc/partition_syntax.inc
@@ -1,11 +1,11 @@
################################################################################
-# include/partition_syntax.inc #
+# inc/partition_syntax.inc #
# #
# Purpose: #
# Tests around Create partitioned tables syntax #
# #
#------------------------------------------------------------------------------#
-# Original Author: ML #
+# Original Author: mleich #
# Original Date: 2006-03-05 #
# Change Author: #
# Change Date: #
@@ -107,17 +107,13 @@ let $unique_index= UNIQUE INDEX (f_int2);
#----------- PARTITION BY HASH
let $partition_scheme= PARTITION BY HASH(f_int1) PARTITIONS 2;
--source suite/parts/inc/partition_syntax_2.inc
-# --source include/partition_syntax_2.inc
let $partition_scheme= PARTITION BY HASH(f_int1 + f_int2) PARTITIONS 2;
--source suite/parts/inc/partition_syntax_2.inc
-# --source include/partition_syntax_2.inc
#----------- PARTITION BY KEY
let $partition_scheme= PARTITION BY KEY(f_int1) PARTITIONS 2;
--source suite/parts/inc/partition_syntax_2.inc
-# --source include/partition_syntax_2.inc
let $partition_scheme= PARTITION BY KEY(f_int1,f_int2) PARTITIONS 2;
--source suite/parts/inc/partition_syntax_2.inc
-# --source include/partition_syntax_2.inc
#----------- PARTITION BY LIST
let $partition_scheme= PARTITION BY LIST(MOD(f_int1,3))
(PARTITION partN VALUES IN (NULL),
@@ -125,25 +121,21 @@ let $partition_scheme= PARTITION BY LIST(MOD(f_int1,3))
PARTITION part1 VALUES IN (1),
PARTITION part2 VALUES IN (2));
--source suite/parts/inc/partition_syntax_2.inc
-# --source include/partition_syntax_2.inc
let $partition_scheme= 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));
--source suite/parts/inc/partition_syntax_2.inc
-# --source include/partition_syntax_2.inc
#----------- PARTITION BY RANGE
let $partition_scheme= PARTITION BY RANGE(f_int1)
(PARTITION part1 VALUES LESS THAN (1),
PARTITION part2 VALUES LESS THAN (2147483646));
--source suite/parts/inc/partition_syntax_2.inc
-# --source include/partition_syntax_2.inc
let $partition_scheme= PARTITION BY RANGE(f_int1 + f_int2)
(PARTITION part1 VALUES LESS THAN (1),
PARTITION part2 VALUES LESS THAN (2147483646));
--source suite/parts/inc/partition_syntax_2.inc
-# --source include/partition_syntax_2.inc
#
--echo #------------------------------------------------------------------------
@@ -200,14 +192,12 @@ SUBPARTITION BY HASH(f_int1) SUBPARTITIONS 3
(PARTITION part1 VALUES LESS THAN (1),
PARTITION part2 VALUES LESS THAN (2147483646));
--source suite/parts/inc/partition_syntax_2.inc
-# --source include/partition_syntax_2.inc
#----------- PARTITION BY RANGE -- SUBPARTITION BY KEY
let $partition_scheme= PARTITION BY RANGE(f_int2)
SUBPARTITION BY KEY(f_int1) SUBPARTITIONS 3
(PARTITION part1 VALUES LESS THAN (1),
PARTITION part2 VALUES LESS THAN (2147483646));
--source suite/parts/inc/partition_syntax_2.inc
-# --source include/partition_syntax_2.inc
#----------- PARTITION BY LIST -- SUBPARTITION BY HASH
let $partition_scheme= PARTITION BY LIST(MOD(f_int2,3))
SUBPARTITION BY HASH(f_int1) SUBPARTITIONS 2
@@ -216,7 +206,6 @@ SUBPARTITION BY HASH(f_int1) SUBPARTITIONS 2
PARTITION part1 VALUES IN (1),
PARTITION part2 VALUES IN (2));
--source suite/parts/inc/partition_syntax_2.inc
-# --source include/partition_syntax_2.inc
#----------- PARTITION BY LIST -- SUBPARTITION BY KEY
let $partition_scheme= PARTITION BY LIST(MOD(f_int2,3))
SUBPARTITION BY KEY(f_int1) SUBPARTITIONS 2
@@ -225,7 +214,6 @@ SUBPARTITION BY KEY(f_int1) SUBPARTITIONS 2
PARTITION part1 VALUES IN (1),
PARTITION part2 VALUES IN (2));
--source suite/parts/inc/partition_syntax_2.inc
-# --source include/partition_syntax_2.inc
--echo
--echo #========================================================================
@@ -249,7 +237,7 @@ PARTITION BY RANGE(f_int1)
--echo # This is a limitation of MySQL 5.1, which could be removed in
--echo # later releases.
--echo #------------------------------------------------------------------------
---error 1064
+--error ER_PARSE_ERROR
eval CREATE TABLE t1 (
$column_list,
PRIMARY KEY (f_int1)
@@ -324,20 +312,20 @@ PARTITION BY RANGE(f_int1)
--echo #------------------------------------------------------------------------
--echo # 3.5.1 NULL in RANGE partitioning clause
--echo # 3.5.1.1 VALUE LESS THAN (NULL) is not allowed
---error 1064
+--error ER_PARSE_ERROR
eval CREATE TABLE t1 (
$column_list
)
PARTITION BY RANGE(f_int1)
( PARTITION part1 VALUES LESS THAN (NULL),
PARTITION part2 VALUES LESS THAN (1000));
---echo # 3.5.1.2 VALUE LESS THAN (CAST(NULL AS SIGNED INTEGER)) is not allowed
---error 1064
+--echo # 3.5.1.2 VALUE LESS THAN (NULL) is not allowed
+--error ER_PARSE_ERROR
eval CREATE TABLE t1 (
$column_list
)
PARTITION BY RANGE(f_int1)
-( PARTITION part1 VALUES LESS THAN (CAST(NULL AS SIGNED INTEGER)),
+( PARTITION part1 VALUES LESS THAN (NULL),
PARTITION part2 VALUES LESS THAN (1000));
--echo # 3.5.2 NULL in LIST partitioning clause
--echo # 3.5.2.1 VALUE IN (NULL)
@@ -349,17 +337,16 @@ PARTITION BY LIST(MOD(f_int1,2))
PARTITION part2 VALUES IN (0),
PARTITION part3 VALUES IN (1));
DROP TABLE t1;
---echo # 3.5.2.2 VALUE IN (CAST(NULL AS SIGNED INTEGER))
+--echo # 3.5.2.2 VALUE IN (NULL)
# Attention: It is intended that there is no partition with
# VALUES IN (0), because there was a time where NULL was treated as zero
eval CREATE TABLE t1 (
$column_list
)
PARTITION BY LIST(MOD(f_int1,2))
-( PARTITION part1 VALUES IN (CAST(NULL AS SIGNED INTEGER)),
+( PARTITION part1 VALUES IN (NULL),
PARTITION part3 VALUES IN (1));
--source suite/parts/inc/partition_layout_check1.inc
-# --source include/partition_layout_check1.inc
DROP TABLE t1;
--echo # 3.5.3 Reveal that IN (...NULL) is not mapped to IN(0)
# Bug#15447: Partitions: NULL is treated as zero
@@ -368,11 +355,10 @@ eval CREATE TABLE t1 (
$column_list
)
PARTITION BY LIST(MOD(f_int1,2))
-( PARTITION part1 VALUES IN (CAST(NULL AS SIGNED INTEGER)),
+( PARTITION part1 VALUES IN (NULL),
PARTITION part2 VALUES IN (0),
PARTITION part3 VALUES IN (1));
--source suite/parts/inc/partition_layout_check1.inc
-# --source include/partition_layout_check1.inc
DROP TABLE t1;
# FIXME Implement some non integer constant tests
@@ -395,7 +381,6 @@ $column_list
)
PARTITION BY HASH(f_int1);
--source suite/parts/inc/partition_layout_check1.inc
-# --source include/partition_layout_check1.inc
DROP TABLE t1;
--echo # 4.1.2 no partition number, named partitions
eval CREATE TABLE t1 (
@@ -403,7 +388,6 @@ $column_list
)
PARTITION BY HASH(f_int1) (PARTITION part1, PARTITION part2);
--source suite/parts/inc/partition_layout_check1.inc
-# --source include/partition_layout_check1.inc
DROP TABLE t1;
# Attention: Several combinations are impossible
# If subpartitioning exists
@@ -456,21 +440,20 @@ let $part3_Y= `SELECT @AUX`;
eval $part01 $column_list $part02 $part1_N $part2_N $part3_N ;
DROP TABLE t1;
# Bug#15407 Partitions: crash if subpartition
---error 1064
+--error ER_PARSE_ERROR
eval $part01 $column_list $part02 $part1_N $part2_N $part3_Y ;
---error 1064
+--error ER_PARSE_ERROR
eval $part01 $column_list $part02 $part1_N $part2_Y $part3_N ;
---error 1064
+--error ER_PARSE_ERROR
eval $part01 $column_list $part02 $part1_N $part2_Y $part3_Y ;
---error 1064
+--error ER_PARSE_ERROR
eval $part01 $column_list $part02 $part1_Y $part2_N $part3_N ;
---error 1064
+--error ER_PARSE_ERROR
eval $part01 $column_list $part02 $part1_Y $part2_N $part3_Y ;
---error 1064
+--error ER_PARSE_ERROR
eval $part01 $column_list $part02 $part1_Y $part2_Y $part3_N ;
eval $part01 $column_list $part02 $part1_Y $part2_Y $part3_Y ;
--source suite/parts/inc/partition_layout_check1.inc
-# --source include/partition_layout_check1.inc
DROP TABLE t1;
--echo #------------------------------------------------------------------------
@@ -480,172 +463,128 @@ DROP TABLE t1;
DROP TABLE IF EXISTS t1;
--enable_warnings
--echo # 4.2.1 partition/subpartition numbers INTEGER notation
-# ML: "positive/negative" is my private judgement. It need no to correspond
-# with the server response.
+# mleich: "positive/negative" is my private judgement. It need not to
+# correspond with the server response.
# (positive) number = 2
let $part_number= 2;
--source suite/parts/inc/partition_syntax_1.inc
-# --source include/partition_syntax_1.inc
# (positive) special case number = 1
let $part_number= 1;
--source suite/parts/inc/partition_syntax_1.inc
-# --source include/partition_syntax_1.inc
# (negative) 0 is non sense
let $part_number= 0;
--source suite/parts/inc/partition_syntax_1.inc
-# --source include/partition_syntax_1.inc
# (negative) -1 is non sense
let $part_number= -1;
--source suite/parts/inc/partition_syntax_1.inc
-# --source include/partition_syntax_1.inc
# (negative) 1000000 is too huge
let $part_number= 1000000;
--source suite/parts/inc/partition_syntax_1.inc
-# --source include/partition_syntax_1.inc
--echo # 4.2.2 partition/subpartition numbers DECIMAL notation
# (positive) number = 2.0
let $part_number= 2.0;
--source suite/parts/inc/partition_syntax_1.inc
-# --source include/partition_syntax_1.inc
# (negative) -2.0 is non sense
let $part_number= -2.0;
--source suite/parts/inc/partition_syntax_1.inc
-# --source include/partition_syntax_1.inc
# (negative) case number = 0.0 is non sense
let $part_number= 0.0;
--source suite/parts/inc/partition_syntax_1.inc
-# --source include/partition_syntax_1.inc
-if ($fixed_bug15890)
-{
# Bug#15890 Partitions: Strange interpretation of partition number
# (negative) number = 1.6 is non sense
let $part_number= 1.6;
--source suite/parts/inc/partition_syntax_1.inc
-# --source include/partition_syntax_1.inc
-}
# (negative) number is too huge
let $part_number= 999999999999999999999999999999.999999999999999999999999999999;
--source suite/parts/inc/partition_syntax_1.inc
-# --source include/partition_syntax_1.inc
# (negative) number is nearly zero
let $part_number= 0.000000000000000000000000000001;
--source suite/parts/inc/partition_syntax_1.inc
-# --source include/partition_syntax_1.inc
--echo # 4.2.3 partition/subpartition numbers FLOAT notation
##### FLOAT notation
# (positive) number = 2.0E+0
let $part_number= 2.0E+0;
--source suite/parts/inc/partition_syntax_1.inc
-# --source include/partition_syntax_1.inc
-if ($fixed_bug15890)
-{
# Bug#15890 Partitions: Strange interpretation of partition number
# (positive) number = 0.2E+1
let $part_number= 0.2E+1;
--source suite/parts/inc/partition_syntax_1.inc
-# --source include/partition_syntax_1.inc
-}
# (negative) -2.0E+0 is non sense
let $part_number= -2.0E+0;
--source suite/parts/inc/partition_syntax_1.inc
-# --source include/partition_syntax_1.inc
-if ($fixed_bug15890)
-{
# Bug#15890 Partitions: Strange interpretation of partition number
# (negative) 0.16E+1 is non sense
let $part_number= 0.16E+1;
--source suite/parts/inc/partition_syntax_1.inc
-# --source include/partition_syntax_1.inc
-}
# (negative) 0.0E+300 is zero
let $part_number= 0.0E+300;
--source suite/parts/inc/partition_syntax_1.inc
-# --source include/partition_syntax_1.inc
-if ($fixed_bug15890)
-{
# Bug#15890 Partitions: Strange interpretation of partition number
# (negative) 1E+300 is too huge
let $part_number= 1E+300;
--source suite/parts/inc/partition_syntax_1.inc
-# --source include/partition_syntax_1.inc
# (negative) 1E-300 is nearly zero
let $part_number= 1E-300;
--source suite/parts/inc/partition_syntax_1.inc
-# --source include/partition_syntax_1.inc
-}
--echo # 4.2.4 partition/subpartition numbers STRING notation
##### STRING notation
# (negative?) case number = '2'
let $part_number= '2';
--source suite/parts/inc/partition_syntax_1.inc
-# --source include/partition_syntax_1.inc
# (negative?) case number = '2.0'
let $part_number= '2.0';
--source suite/parts/inc/partition_syntax_1.inc
-# --source include/partition_syntax_1.inc
# (negative?) case number = '0.2E+1'
let $part_number= '0.2E+1';
--source suite/parts/inc/partition_syntax_1.inc
-# --source include/partition_syntax_1.inc
# (negative) Strings starts with digit, but 'A' follows
let $part_number= '2A';
--source suite/parts/inc/partition_syntax_1.inc
-# --source include/partition_syntax_1.inc
# (negative) Strings starts with 'A', but digit follows
let $part_number= 'A2';
--source suite/parts/inc/partition_syntax_1.inc
-# --source include/partition_syntax_1.inc
# (negative) empty string
let $part_number= '';
--source suite/parts/inc/partition_syntax_1.inc
-# --source include/partition_syntax_1.inc
# (negative) string without any digits
let $part_number= 'GARBAGE';
--source suite/parts/inc/partition_syntax_1.inc
-# --source include/partition_syntax_1.inc
--echo # 4.2.5 partition/subpartition numbers other notations
# (negative) Strings starts with digit, but 'A' follows
let $part_number= 2A;
--source suite/parts/inc/partition_syntax_1.inc
-# --source include/partition_syntax_1.inc
# (negative) Strings starts with 'A', but digit follows
let $part_number= A2;
--source suite/parts/inc/partition_syntax_1.inc
-# --source include/partition_syntax_1.inc
# (negative) string without any digits
let $part_number= GARBAGE;
--source suite/parts/inc/partition_syntax_1.inc
-# --source include/partition_syntax_1.inc
# (negative?) double quotes
let $part_number= "2";
--source suite/parts/inc/partition_syntax_1.inc
-# --source include/partition_syntax_1.inc
# (negative) Strings starts with digit, but 'A' follows
let $part_number= "2A";
--source suite/parts/inc/partition_syntax_1.inc
-# --source include/partition_syntax_1.inc
# (negative) Strings starts with 'A', but digit follows
let $part_number= "A2";
--source suite/parts/inc/partition_syntax_1.inc
-# --source include/partition_syntax_1.inc
# (negative) string without any digits
let $part_number= "GARBAGE";
--source suite/parts/inc/partition_syntax_1.inc
-# --source include/partition_syntax_1.inc
--echo # 4.2.6 (negative) partition/subpartition numbers per @variables
SET @aux = 5;
---error 1064
+--error ER_PARSE_ERROR
eval CREATE TABLE t1 (
$column_list
)
PARTITION BY HASH(f_int1) PARTITIONS @aux;
---error 1064
+--error ER_PARSE_ERROR
eval CREATE TABLE t1 (
$column_list
)
@@ -665,7 +604,6 @@ $column_list
)
PARTITION BY HASH(f_int1) PARTITIONS 2 ( PARTITION part1, PARTITION part2 ) ;
--source suite/parts/inc/partition_layout_check1.inc
-# --source include/partition_layout_check1.inc
DROP TABLE t1;
eval CREATE TABLE t1 (
$column_list
@@ -678,20 +616,19 @@ SUBPARTITION BY HASH(f_int1) SUBPARTITIONS 2
(SUBPARTITION subpart21, SUBPARTITION subpart22)
);
--source suite/parts/inc/partition_layout_check1.inc
-# --source include/partition_layout_check1.inc
DROP TABLE t1;
--echo # 4.3.2 (positive) number of partition/subpartition ,
--echo # 0 (= no) named partition/subpartition
--echo # already checked above
--echo # 4.3.3 (negative) number of partitions/subpartitions
--echo # > number of named partitions/subpartitions
---error 1064
+--error ER_PARSE_ERROR
eval CREATE TABLE t1 (
$column_list
)
PARTITION BY HASH(f_int1) PARTITIONS 2 ( PARTITION part1 ) ;
# Wrong number of named subpartitions in first partition
---error 1064
+--error ER_PARSE_ERROR
eval CREATE TABLE t1 (
$column_list
)
@@ -703,7 +640,7 @@ SUBPARTITION BY HASH(f_int1) SUBPARTITIONS 2
(SUBPARTITION subpart21, SUBPARTITION subpart22)
);
# Wrong number of named subpartitions in non first/non last partition
---error 1064
+--error ER_PARSE_ERROR
eval CREATE TABLE t1 (
$column_list
)
@@ -717,7 +654,7 @@ SUBPARTITION BY HASH(f_int1) SUBPARTITIONS 2
(SUBPARTITION subpart31, SUBPARTITION subpart32)
);
# Wrong number of named subpartitions in last partition
---error 1064
+--error ER_PARSE_ERROR
eval CREATE TABLE t1 (
$column_list
)
@@ -729,13 +666,13 @@ SUBPARTITION BY HASH(f_int1) SUBPARTITIONS 2
(SUBPARTITION subpart21 )
);
--echo # 4.3.4 (negative) number of partitions < number of named partitions
---error 1064
+--error ER_PARSE_ERROR
eval CREATE TABLE t1 (
$column_list
)
PARTITION BY HASH(f_int1) PARTITIONS 1 ( PARTITION part1, PARTITION part2 ) ;
# Wrong number of named subpartitions in first partition
---error 1064
+--error ER_PARSE_ERROR
eval CREATE TABLE t1 (
$column_list
)
@@ -747,7 +684,7 @@ SUBPARTITION BY HASH(f_int1) SUBPARTITIONS 1
(SUBPARTITION subpart21, SUBPARTITION subpart22)
);
# Wrong number of named subpartitions in non first/non last partition
---error 1064
+--error ER_PARSE_ERROR
eval CREATE TABLE t1 (
$column_list
)
@@ -761,7 +698,7 @@ SUBPARTITION BY HASH(f_int1) SUBPARTITIONS 1
(SUBPARTITION subpart31, SUBPARTITION subpart32)
);
# Wrong number of named subpartitions in last partition
---error 1064
+--error ER_PARSE_ERROR
eval CREATE TABLE t1 (
$column_list
)
diff --git a/mysql-test/suite/parts/inc/partition_syntax_1.inc b/mysql-test/suite/parts/inc/partition_syntax_1.inc
index ac88b5ee668..a7168b6af3b 100644
--- a/mysql-test/suite/parts/inc/partition_syntax_1.inc
+++ b/mysql-test/suite/parts/inc/partition_syntax_1.inc
@@ -1,8 +1,8 @@
################################################################################
-# include/partition_syntax_1.inc #
+# inc/partition_syntax_1.inc #
# #
# Purpose: #
-# Auxiliary script, only useful when sourced by include/partition_syntax.inc #
+# Auxiliary script, only useful when sourced by inc/partition_syntax.inc #
# #
# Try to create a table with number of partitions/subpartitions #
# = $part_number. Print the layout of the table and drop it. #
@@ -10,11 +10,13 @@
# The parameter $part_number must be set before sourcing this script. #
# #
#------------------------------------------------------------------------------#
-# Original Author: ML #
-# Original Date: 2006-03-05 #
-# Change Author: #
-# Change Date: #
-# Change: #
+# Original Author: mleich #
+# Original Date: 2006-03-05 #
+# Change Author: mleich #
+# Change Date: 2007-10-08 #
+# Change: Fix for #
+# Bug#31481 test suite parts: Many tests fail because of #
+# changed server error codes #
################################################################################
--disable_abort_on_error
@@ -27,16 +29,13 @@ PARTITION BY HASH(f_int1) PARTITIONS $part_number;
eval SET @my_errno= $mysql_errno ;
let $run= `SELECT @my_errno = 0`;
# Expected error codes are
-# 0
-# 1064 ERROR 42000: You have an error in your SQL syntax
-# Reason: assign -1 partitions
-# 1486 ERROR HY000: Too many partitions (including subpartitions) were defined
-# 1491 ERROR HY000: Number of partitions = 0 is not an allowed value
-let $unexpected_error= `SELECT @my_errno NOT IN (0,1064,1487,1492)`;
-if ($unexpected_error)
+# 0, ER_PARSE_ERROR (Reason: assign -1 partitions), ER_TOO_MANY_PARTITIONS_ERROR
+# and ER_NO_PARTS_ERROR
+if (`SELECT @my_errno NOT IN (0,$ER_PARSE_ERROR,$ER_TOO_MANY_PARTITIONS_ERROR,
+ $ER_NO_PARTS_ERROR)`)
{
--echo # The last command got an unexepected error response.
- --echo # Expected/handled SQL codes are 0,1064,1487,1492
+ --echo # Expected/handled SQL codes are 0,$ER_PARSE_ERROR,$ER_TOO_MANY_PARTITIONS_ERROR,$ER_NO_PARTS_ERROR
SELECT '# SQL code we got was: ' AS "", @my_errno AS "";
--echo # Sorry, have to abort.
exit;
@@ -48,7 +47,6 @@ if ($unexpected_error)
if ($run)
{
--source suite/parts/inc/partition_layout_check1.inc
- # --source include/partition_layout_check1.inc
eval DROP TABLE t1;
}
#### Try to create a table with the given subpartition number
@@ -65,16 +63,13 @@ SUBPARTITIONS $part_number
eval SET @my_errno= $mysql_errno ;
let $run= `SELECT @my_errno = 0`;
# Expected error codes are
-# 0
-# 1064 ERROR 42000: You have an error in your SQL syntax
-# Reason: assign -1 subpartitions
-# 1487 ERROR HY000: Too many partitions (including subpartitions) were defined
-# 1492 ERROR HY000: Number of partitions = 0 is not an allowed value
-let $unexpected_error= `SELECT @my_errno NOT IN (0,1064,1487,1492)`;
-if ($unexpected_error)
+# 0, ER_PARSE_ERROR (Reason: assign -1 partitions), ER_TOO_MANY_PARTITIONS_ERROR
+# and ER_NO_PARTS_ERROR
+if (`SELECT @my_errno NOT IN (0,$ER_PARSE_ERROR,$ER_TOO_MANY_PARTITIONS_ERROR,
+ $ER_NO_PARTS_ERROR)`)
{
--echo # The last command got an unexepected error response.
- --echo # Expected/handled SQL codes are 0,1064,1487,1492
+ --echo # Expected/handled SQL codes are 0,$ER_PARSE_ERROR,$ER_TOO_MANY_PARTITIONS_ERROR,$ER_NO_PARTS_ERROR
SELECT '# SQL code we got was: ' AS "", @my_errno AS "";
--echo # Sorry, have to abort.
exit;
@@ -86,6 +81,5 @@ if ($unexpected_error)
if ($run)
{
--source suite/parts/inc/partition_layout_check1.inc
- # --source include/partition_layout_check1.inc
eval DROP TABLE t1;
}
diff --git a/mysql-test/suite/parts/inc/partition_syntax_2.inc b/mysql-test/suite/parts/inc/partition_syntax_2.inc
index 9adf1c9b2a0..b8e728ee79b 100644
--- a/mysql-test/suite/parts/inc/partition_syntax_2.inc
+++ b/mysql-test/suite/parts/inc/partition_syntax_2.inc
@@ -1,11 +1,11 @@
################################################################################
-# include/partition_syntax_2.inc #
+# inc/partition_syntax_2.inc #
# #
# Purpose: #
-# Auxiliary script, only useful when sourced by include/partition_syntax.inc.#
+# Auxiliary script, only useful when sourced by inc/partition_syntax.inc. #
# #
#------------------------------------------------------------------------------#
-# Original Author: ML #
+# Original Author: mleich #
# Original Date: 2006-05-11 #
# Change Author: #
# Change Date: #
@@ -35,11 +35,7 @@ if (`SELECT @@session.storage_engine IN('ndbcluster')`)
)
$partition_scheme;
eval $insert_all;
- if ($fixed_bug18735)
- {
--source suite/parts/inc/partition_check.inc
- # --source include/partition_check.inc
- }
DROP TABLE t1;
eval CREATE TABLE t1 (
$column_list,
@@ -47,10 +43,6 @@ if (`SELECT @@session.storage_engine IN('ndbcluster')`)
)
$partition_scheme;
eval $insert_all;
- if ($fixed_bug18735)
- {
--source suite/parts/inc/partition_check.inc
- # --source include/partition_check.inc
- }
DROP TABLE t1;
}
diff --git a/mysql-test/suite/parts/inc/partition_text.inc b/mysql-test/suite/parts/inc/partition_text.inc
index a655552c457..f766027773d 100644
--- a/mysql-test/suite/parts/inc/partition_text.inc
+++ b/mysql-test/suite/parts/inc/partition_text.inc
@@ -1,22 +1,12 @@
---disable_query_log
-# DATA DIRECTORY
-eval SET @data_dir = 'DATA DIRECTORY =
-''/tmp''';
-let $data_directory = `select @data_dir`;
-
-#INDEX DIRECTORY
-eval SET @indx_dir = 'INDEX DIRECTORY =
-''/tmp''';
-let $index_directory = `select @indx_dir`;
---enable_query_log
+--echo ---- Partitioning and text data type
--error ER_BLOB_FIELD_IN_PART_FUNC_ERROR
eval create table t1 (a text not null, primary key(a(767))) engine=$engine
partition by key (a) (
-partition pa1 $data_directory $index_directory max_rows=20 min_rows=2,
-partition pa2 $data_directory $index_directory max_rows=30 min_rows=3,
-partition pa3 $data_directory $index_directory max_rows=30 min_rows=4,
-partition pa4 $data_directory $index_directory max_rows=40 min_rows=2);
+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;
#insert into t1 values (repeat('a',1000)), ('b'), (repeat('a',500)), (repeat('b',64));
@@ -53,4 +43,3 @@ partition by key (a) partitions 30;
#select count(*) from t2;
#select * from t2;
#drop table t2;
-
diff --git a/mysql-test/suite/parts/inc/partition_time.inc b/mysql-test/suite/parts/inc/partition_time.inc
index a3388bdc902..008963ed934 100644
--- a/mysql-test/suite/parts/inc/partition_time.inc
+++ b/mysql-test/suite/parts/inc/partition_time.inc
@@ -1,21 +1,9 @@
---disable_query_log
-# DATA DIRECTORY
-eval SET @data_dir = 'DATA DIRECTORY =
-''/tmp''';
-let $data_directory = `select @data_dir`;
-
-#INDEX DIRECTORY
-eval SET @indx_dir = 'INDEX DIRECTORY =
-''/tmp''';
-let $index_directory = `select @indx_dir`;
---enable_query_log
-
eval create table t1 (a time not null, primary key(a)) engine=$engine
partition by key (a) (
-partition pa1 $data_directory $index_directory max_rows=20 min_rows=2,
-partition pa2 $data_directory $index_directory max_rows=30 min_rows=3,
-partition pa3 $data_directory $index_directory max_rows=30 min_rows=4,
-partition pa4 $data_directory $index_directory max_rows=40 min_rows=2);
+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;
insert into t1 values ('21:21:21'), ('12:10:30'), ('03:03:03'), ('23:59');
select * from t1;
@@ -46,7 +34,7 @@ select * from t2;
drop table t2;
eval create table t3 (a time not null, primary key(a)) engine=$engine
-partition by range (cast(second(a) as unsigned)) subpartition by key (a)
+partition by range (second(a)) subpartition by key (a)
subpartitions 3 (
partition quarter1 values less than (16),
partition quarter2 values less than (31),
@@ -66,7 +54,7 @@ select * from t3;
drop table t3;
eval create table t4 (a time not null, primary key(a)) engine=$engine
-partition by list (cast(second(a) as unsigned)) subpartition by key (a)
+partition by list (second(a)) subpartition by key (a)
subpartitions 3 (
partition quarter1 values in (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15),
partition quarter2 values in (16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
diff --git a/mysql-test/suite/parts/inc/partition_timestamp.inc b/mysql-test/suite/parts/inc/partition_timestamp.inc
index 44eb3b5bd55..d152c82a76f 100644
--- a/mysql-test/suite/parts/inc/partition_timestamp.inc
+++ b/mysql-test/suite/parts/inc/partition_timestamp.inc
@@ -1,21 +1,9 @@
---disable_query_log
-# DATA DIRECTORY
-eval SET @data_dir = 'DATA DIRECTORY =
-''/tmp''';
-let $data_directory = `select @data_dir`;
-
-#INDEX DIRECTORY
-eval SET @indx_dir = 'INDEX DIRECTORY =
-''/tmp''';
-let $index_directory = `select @indx_dir`;
---enable_query_log
-
eval create table t1 (a timestamp not null, primary key(a)) engine=$engine
partition by key (a) (
-partition pa1 $data_directory $index_directory max_rows=20 min_rows=2,
-partition pa2 $data_directory $index_directory max_rows=30 min_rows=3,
-partition pa3 $data_directory $index_directory max_rows=30 min_rows=4,
-partition pa4 $data_directory $index_directory max_rows=40 min_rows=2);
+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;
insert into t1 values ('1975-01-01 21:21:21'), ('2020-12-31 12:10:30'), ('1980-10-14 03:03'), ('2000-06-15 23:59');
select * from t1;
@@ -46,7 +34,7 @@ select * from t2;
drop table t2;
eval create table t3 (a timestamp not null, primary key(a)) engine=$engine
-partition by range (cast(month(a) as unsigned)) subpartition by key (a)
+partition by range (month(a)) subpartition by key (a)
subpartitions 3 (
partition quarter1 values less than (4),
partition quarter2 values less than (7),
@@ -66,7 +54,7 @@ select * from t3;
drop table t3;
eval create table t4 (a timestamp not null, primary key(a)) engine=$engine
-partition by list (cast(month(a) as unsigned)) subpartition by key (a)
+partition by list (month(a)) subpartition by key (a)
subpartitions 3 (
partition quarter1 values in (0,1,2,3),
partition quarter2 values in (4,5,6),
diff --git a/mysql-test/suite/parts/inc/partition_tinyint.inc b/mysql-test/suite/parts/inc/partition_tinyint.inc
index a1f8874e794..00568eec244 100644
--- a/mysql-test/suite/parts/inc/partition_tinyint.inc
+++ b/mysql-test/suite/parts/inc/partition_tinyint.inc
@@ -1,21 +1,9 @@
---disable_query_log
-# DATA DIRECTORY
-eval SET @data_dir = 'DATA DIRECTORY =
-''/tmp''';
-let $data_directory = `select @data_dir`;
-
-#INDEX DIRECTORY
-eval SET @indx_dir = 'INDEX DIRECTORY =
-''/tmp''';
-let $index_directory = `select @indx_dir`;
---enable_query_log
-
eval create table t1 (a tinyint unsigned not null, primary key(a)) engine=$engine
partition by key (a) (
-partition pa1 $data_directory $index_directory max_rows=20 min_rows=2,
-partition pa2 $data_directory $index_directory max_rows=30 min_rows=3,
-partition pa3 $data_directory $index_directory max_rows=30 min_rows=4,
-partition pa4 $data_directory $index_directory max_rows=40 min_rows=2);
+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;
insert into t1 values (255), (254), (253), (252), (1), (2), (128);
select * from t1;
diff --git a/mysql-test/suite/parts/inc/partition_trigg1.inc b/mysql-test/suite/parts/inc/partition_trigg1.inc
index 7ebf2f411d3..7bb5aa162a9 100644
--- a/mysql-test/suite/parts/inc/partition_trigg1.inc
+++ b/mysql-test/suite/parts/inc/partition_trigg1.inc
@@ -1,8 +1,8 @@
################################################################################
-# include/partition_trigg1.inc #
+# inc/partition_trigg1.inc #
# #
# Purpose: #
-# Auxiliary script, only useful when sourced by include/partition_check.inc. #
+# Auxiliary script, only useful when sourced by inc/partition_check.inc. #
# One trigger uses new values (--> event UPDATE, INSERT only) #
# One trigger uses old values (--> event UPDATE, DELETE only) #
# #
@@ -12,7 +12,7 @@
# 4. Revert the modifications #
# #
#------------------------------------------------------------------------------#
-# Original Author: ML #
+# Original Author: mleich #
# Original Date: 2006-03-05 #
# Change Author: #
# Change Date: #
@@ -45,7 +45,7 @@ if ($run1)
eval $statement;
- # Check of preceeding statement via Select
+ # Check of preceding statement via Select
if ($no_debug)
{
--disable_query_log
@@ -94,7 +94,7 @@ if ($run1)
eval $statement;
- # Check of preceeding statement via Select
+ # Check of preceding statement via Select
if ($no_debug)
{
--disable_query_log
diff --git a/mysql-test/suite/parts/inc/partition_trigg2.inc b/mysql-test/suite/parts/inc/partition_trigg2.inc
index 767dbd52e47..2849ca21ff0 100644
--- a/mysql-test/suite/parts/inc/partition_trigg2.inc
+++ b/mysql-test/suite/parts/inc/partition_trigg2.inc
@@ -1,8 +1,8 @@
################################################################################
-# include/partition_trigg2.inc #
+# inc/partition_trigg2.inc #
# #
# Purpose: #
-# Auxiliary script, only useful when sourced by include/partition_check.inc. #
+# Auxiliary script, only useful when sourced by inc/partition_check.inc. #
# The trigger uses new values (--> event UPDATE, INSERT only) #
# #
# 1. Create a trigger #
@@ -11,7 +11,7 @@
# 4. Revert the modifications #
# #
#------------------------------------------------------------------------------#
-# Original Author: ML #
+# Original Author: mleich #
# Original Date: 2006-03-05 #
# Change Author: #
# Change Date: #
@@ -27,7 +27,7 @@ BEGIN
END|
delimiter ;|
eval $statement;
-# Check of preceeding statement via Select
+# Check of preceding statement via Select
if ($no_debug)
{
--disable_query_log
diff --git a/mysql-test/suite/parts/inc/partition_trigg3.inc b/mysql-test/suite/parts/inc/partition_trigg3.inc
index a129cf75a1d..b56847ada44 100644
--- a/mysql-test/suite/parts/inc/partition_trigg3.inc
+++ b/mysql-test/suite/parts/inc/partition_trigg3.inc
@@ -1,8 +1,8 @@
-###############################################################################
-# include/partition_trigg3.inc #
+################################################################################
+# inc/partition_trigg3.inc #
# #
# Purpose: #
-# Auxiliary script, only useful when sourced by include/partition_check.inc. #
+# Auxiliary script, only useful when sourced by inc/partition_check.inc. #
# The trigger uses new values (--> event UPDATE, INSERT only) #
# #
# 1. Create a trigger #
@@ -11,23 +11,13 @@
# 4. Revert the modifications #
# #
#------------------------------------------------------------------------------#
-# Original Author: ML #
+# Original Author: mleich #
# Original Date: 2006-03-05 #
# Change Author: #
# Change Date: #
# Change: #
################################################################################
-# include/partition_trigg3.inc
-#
-# Auxiliary script, only useful when sourced by include/partition_check.inc.
-#
-# 1. Create a trigger
-# 2. Execute a statement, which activates the trigger
-# 3. Check the results of the trigger activity
-# 4. Revert the modifications
-#
-
delimiter |;
# Original version of the trigger
# eval CREATE TRIGGER trg_3 $event ON t1 FOR EACH ROW
@@ -55,20 +45,12 @@ END|
delimiter ;|
# Additional statements because of Bug(limitation)#17704
SET @counter = 1;
-if ($fixed_bug18730)
-{
# Bug#18730 Partitions: NDB, crash on SELECT MIN(<unique column>)
SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-}
-if (!$fixed_bug18730)
-{
-# Bug#18730 Partitions: NDB, crash on SELECT MIN(<unique column>)
-SELECT @max_row, 1 INTO @my_max1,@my_min2;
-}
# Additional statements end
eval $statement;
DROP TRIGGER trg_3;
-# Check of preceeding statement via Select
+# Check of preceding statement via Select
if ($no_debug)
{
--disable_query_log
diff --git a/mysql-test/suite/parts/inc/partition_value.inc b/mysql-test/suite/parts/inc/partition_value.inc
index 75e9afd53d3..3e25e740de6 100644
--- a/mysql-test/suite/parts/inc/partition_value.inc
+++ b/mysql-test/suite/parts/inc/partition_value.inc
@@ -1,17 +1,27 @@
################################################################################
-# include/partition_value.inc #
+# inc/partition_value.inc #
# #
# Purpose: #
# Tests around "exotic" values calculated by the partitioning function #
# #
#------------------------------------------------------------------------------#
-# Original Author: ML #
+# Original Author: mleich #
# Original Date: 2006-04-11 #
# Change Author: #
# Change Date: #
# Change: #
################################################################################
+
+--echo
+--echo This test relies on the CAST() function for partitioning, which
+--echo is not allowed. Not deleting it yet, as it may have some useful
+--echo bits in it. See Bug #30581, "partition_value tests use disallowed
+--echo CAST() function"
+--echo
+
+--disable_parsing
+
--echo
--echo #========================================================================
--echo # Calculation of "exotic" results within the partition function
@@ -155,3 +165,5 @@ VALUES(NULL,NULL,NULL,NULL,NULL);
eval SELECT COUNT(*) = 1 FROM t1 WHERE f_char2 IS NULL;
DROP TABLE t1;
#
+
+--enable_parsing
diff --git a/mysql-test/suite/parts/inc/partition_varbinary.inc b/mysql-test/suite/parts/inc/partition_varbinary.inc
index b112cbe312e..02d9f68f1a2 100644
--- a/mysql-test/suite/parts/inc/partition_varbinary.inc
+++ b/mysql-test/suite/parts/inc/partition_varbinary.inc
@@ -1,21 +1,11 @@
---disable_query_log
-# DATA DIRECTORY
-eval SET @data_dir = 'DATA DIRECTORY =
-''/tmp''';
-let $data_directory = `select @data_dir`;
-
-#INDEX DIRECTORY
-eval SET @indx_dir = 'INDEX DIRECTORY =
-''/tmp''';
-let $index_directory = `select @indx_dir`;
---enable_query_log
+--echo ---- Partitioning and varbinary data type
eval create table t1 (a varbinary(767) not null, primary key(a)) engine=$engine
partition by key (a) (
-partition pa1 $data_directory $index_directory max_rows=20 min_rows=2,
-partition pa2 $data_directory $index_directory max_rows=30 min_rows=3,
-partition pa3 $data_directory $index_directory max_rows=30 min_rows=4,
-partition pa4 $data_directory $index_directory max_rows=40 min_rows=2);
+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;
insert into t1 values (repeat('a',767)), ('b'), (repeat('a',500)), (repeat('b',64));
select * from t1;
diff --git a/mysql-test/suite/parts/inc/partition_varchar.inc b/mysql-test/suite/parts/inc/partition_varchar.inc
index 1cd33fa49da..f1412d3aae5 100644
--- a/mysql-test/suite/parts/inc/partition_varchar.inc
+++ b/mysql-test/suite/parts/inc/partition_varchar.inc
@@ -1,21 +1,11 @@
---disable_query_log
-# DATA DIRECTORY
-eval SET @data_dir = 'DATA DIRECTORY =
-''/tmp''';
-let $data_directory = `select @data_dir`;
-
-#INDEX DIRECTORY
-eval SET @indx_dir = 'INDEX DIRECTORY =
-''/tmp''';
-let $index_directory = `select @indx_dir`;
---enable_query_log
+--echo ---- Partitioning and varchar data type
eval create table t1 (a varchar(767) not null, primary key(a)) engine=$engine
partition by key (a) (
-partition pa1 $data_directory $index_directory max_rows=20 min_rows=2,
-partition pa2 $data_directory $index_directory max_rows=30 min_rows=3,
-partition pa3 $data_directory $index_directory max_rows=30 min_rows=4,
-partition pa4 $data_directory $index_directory max_rows=40 min_rows=2);
+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;
insert into t1 values (repeat('a',767)), ('b'), (repeat('a',500)), (repeat('b',64));
select * from t1;
diff --git a/mysql-test/suite/parts/inc/partition_year.inc b/mysql-test/suite/parts/inc/partition_year.inc
index 2643380702e..5fb46c1756b 100644
--- a/mysql-test/suite/parts/inc/partition_year.inc
+++ b/mysql-test/suite/parts/inc/partition_year.inc
@@ -1,21 +1,9 @@
---disable_query_log
-# DATA DIRECTORY
-eval SET @data_dir = 'DATA DIRECTORY =
-''/tmp''';
-let $data_directory = `select @data_dir`;
-
-#INDEX DIRECTORY
-eval SET @indx_dir = 'INDEX DIRECTORY =
-''/tmp''';
-let $index_directory = `select @indx_dir`;
---enable_query_log
-
eval create table t1 (a year not null, primary key(a)) engine=$engine
partition by key (a) (
-partition pa1 $data_directory $index_directory max_rows=20 min_rows=2,
-partition pa2 $data_directory $index_directory max_rows=30 min_rows=3,
-partition pa3 $data_directory $index_directory max_rows=30 min_rows=4,
-partition pa4 $data_directory $index_directory max_rows=40 min_rows=2);
+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;
insert into t1 values ('1975'), (2020), ('1980'), ('2000');
select * from t1;
diff --git a/mysql-test/suite/parts/r/ndb_partition_key.result b/mysql-test/suite/parts/r/ndb_partition_key.result
index daac61fb530..00565a3979d 100644
--- a/mysql-test/suite/parts/r/ndb_partition_key.result
+++ b/mysql-test/suite/parts/r/ndb_partition_key.result
@@ -88,6 +88,12 @@ PARTITION BY KEY(a)
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;
@@ -143,7 +149,6 @@ t1 CREATE TABLE `t1` (
alter table t1
partition by key(a)
(partition p0 engine=ndb, partition p1);
-ERROR HY000: The mix of handlers in the partitions is not allowed in this version of MySQL
alter table t1
engine=ndb
partition by key(a)
diff --git a/mysql-test/suite/parts/r/part_blocked_sql_func_innodb.result b/mysql-test/suite/parts/r/part_blocked_sql_func_innodb.result
index 675cebaa7e3..57a7b2189ba 100644
--- a/mysql-test/suite/parts/r/part_blocked_sql_func_innodb.result
+++ b/mysql-test/suite/parts/r/part_blocked_sql_func_innodb.result
@@ -2,9 +2,205 @@
--- All SQL functions should be rejected, otherwise BUG (see 18198)
-------------------------------------------------------------------------
-------------------------------------------------------------------------
+--- ascii(col1) in partition with coltype char(30)
+-------------------------------------------------------------------------
+must all fail!
+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 table t1 (col1 char(30)) engine='INNODB'
+partition by range(ascii(col1))
+(partition p0 values less than (15),
+partition p1 values less than (31));
+Got one of the listed errors
+create table t2 (col1 char(30)) engine='INNODB'
+partition by list(ascii(col1))
+(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));
+Got one of the listed errors
+create table t3 (col1 char(30)) engine='INNODB'
+partition by hash(ascii(col1));
+Got one of the listed errors
+create table t4 (colint int, col1 char(30)) engine='INNODB'
+partition by range(colint)
+subpartition by hash(ascii(col1)) subpartitions 2
+(partition p0 values less than (15),
+partition p1 values less than (31));
+Got one of the listed errors
+create table t5 (colint int, col1 char(30)) engine='INNODB'
+partition by list(colint)
+subpartition by hash(ascii(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));
+Got one of the listed errors
+create table t6 (colint int, col1 char(30)) engine='INNODB'
+partition by range(colint)
+(partition p0 values less than (ascii('a')),
+partition p1 values less than maxvalue);
+Got one of the listed errors
+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 (col1 char(30)) engine='INNODB' ;
+create table t22 (col1 char(30)) engine='INNODB' ;
+create table t33 (col1 char(30)) engine='INNODB' ;
+create table t44 (colint int, col1 char(30)) engine='INNODB' ;
+create table t55 (colint int, col1 char(30)) engine='INNODB' ;
+create table t66 (colint int, col1 char(30)) engine='INNODB' ;
+alter table t11
+partition by range(ascii(col1))
+(partition p0 values less than (15),
+partition p1 values less than (31));
+Got one of the listed errors
+alter table t22
+partition by list(ascii(col1))
+(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));
+Got one of the listed errors
+alter table t33
+partition by hash(ascii(col1));
+Got one of the listed errors
+alter table t44
+partition by range(colint)
+subpartition by hash(ascii(col1)) subpartitions 2
+(partition p0 values less than (15),
+partition p1 values less than (31));
+Got one of the listed errors
+alter table t55
+partition by list(colint)
+subpartition by hash(ascii(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));
+Got one of the listed errors
+alter table t66
+partition by range(colint)
+(partition p0 values less than (ascii('a')),
+partition p1 values less than maxvalue);
+Got one of the listed errors
+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 ;
+-------------------------------------------------------------------------
+--- ord(col1) in partition with coltype char(30)
+-------------------------------------------------------------------------
+must all fail!
+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 table t1 (col1 char(30)) engine='INNODB'
+partition by range(ord(col1))
+(partition p0 values less than (15),
+partition p1 values less than (31));
+Got one of the listed errors
+create table t2 (col1 char(30)) engine='INNODB'
+partition by list(ord(col1))
+(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));
+Got one of the listed errors
+create table t3 (col1 char(30)) engine='INNODB'
+partition by hash(ord(col1));
+Got one of the listed errors
+create table t4 (colint int, col1 char(30)) engine='INNODB'
+partition by range(colint)
+subpartition by hash(ord(col1)) subpartitions 2
+(partition p0 values less than (15),
+partition p1 values less than (31));
+Got one of the listed errors
+create table t5 (colint int, col1 char(30)) engine='INNODB'
+partition by list(colint)
+subpartition by hash(ord(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));
+Got one of the listed errors
+create table t6 (colint int, col1 char(30)) engine='INNODB'
+partition by range(colint)
+(partition p0 values less than (ord('a')),
+partition p1 values less than maxvalue);
+Got one of the listed errors
+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 (col1 char(30)) engine='INNODB' ;
+create table t22 (col1 char(30)) engine='INNODB' ;
+create table t33 (col1 char(30)) engine='INNODB' ;
+create table t44 (colint int, col1 char(30)) engine='INNODB' ;
+create table t55 (colint int, col1 char(30)) engine='INNODB' ;
+create table t66 (colint int, col1 char(30)) engine='INNODB' ;
+alter table t11
+partition by range(ord(col1))
+(partition p0 values less than (15),
+partition p1 values less than (31));
+Got one of the listed errors
+alter table t22
+partition by list(ord(col1))
+(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));
+Got one of the listed errors
+alter table t33
+partition by hash(ord(col1));
+Got one of the listed errors
+alter table t44
+partition by range(colint)
+subpartition by hash(ord(col1)) subpartitions 2
+(partition p0 values less than (15),
+partition p1 values less than (31));
+Got one of the listed errors
+alter table t55
+partition by list(colint)
+subpartition by hash(ord(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));
+Got one of the listed errors
+alter table t66
+partition by range(colint)
+(partition p0 values less than (ord('a')),
+partition p1 values less than maxvalue);
+Got one of the listed errors
+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 ;
+-------------------------------------------------------------------------
--- greatest(col1,15) in partition with coltype int
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -15,28 +211,34 @@ create table t1 (col1 int) engine='INNODB'
partition by range(greatest(col1,15))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 int) engine='INNODB'
partition by list(greatest(col1,15))
(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));
+Got one of the listed errors
create table t3 (col1 int) engine='INNODB'
partition by hash(greatest(col1,15));
+Got one of the listed errors
create table t4 (colint int, col1 int) engine='INNODB'
partition by range(colint)
subpartition by hash(greatest(col1,15)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 int) engine='INNODB'
partition by list(colint)
subpartition by hash(greatest(col1,15)) 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));
+Got one of the listed errors
create table t6 (colint int, col1 int) engine='INNODB'
partition by range(colint)
(partition p0 values less than (greatest(1,15)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -53,28 +255,34 @@ alter table t11
partition by range(greatest(col1,15))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(greatest(col1,15))
(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));
+Got one of the listed errors
alter table t33
partition by hash(greatest(col1,15));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(greatest(col1,15)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(greatest(col1,15)) 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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (greatest(1,15)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -90,7 +298,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- isnull(col1) in partition with coltype int
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -101,28 +309,34 @@ create table t1 (col1 int) engine='INNODB'
partition by range(isnull(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 int) engine='INNODB'
partition by list(isnull(col1))
(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));
+Got one of the listed errors
create table t3 (col1 int) engine='INNODB'
partition by hash(isnull(col1));
+Got one of the listed errors
create table t4 (colint int, col1 int) engine='INNODB'
partition by range(colint)
subpartition by hash(isnull(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 int) engine='INNODB'
partition by list(colint)
subpartition by hash(isnull(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));
+Got one of the listed errors
create table t6 (colint int, col1 int) engine='INNODB'
partition by range(colint)
(partition p0 values less than (isnull(15)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -139,28 +353,34 @@ alter table t11
partition by range(isnull(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(isnull(col1))
(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));
+Got one of the listed errors
alter table t33
partition by hash(isnull(col1));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(isnull(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(isnull(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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (isnull(15)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -176,7 +396,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- least(col1,15) in partition with coltype int
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -187,28 +407,34 @@ create table t1 (col1 int) engine='INNODB'
partition by range(least(col1,15))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 int) engine='INNODB'
partition by list(least(col1,15))
(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));
+Got one of the listed errors
create table t3 (col1 int) engine='INNODB'
partition by hash(least(col1,15));
+Got one of the listed errors
create table t4 (colint int, col1 int) engine='INNODB'
partition by range(colint)
subpartition by hash(least(col1,15)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 int) engine='INNODB'
partition by list(colint)
subpartition by hash(least(col1,15)) 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));
+Got one of the listed errors
create table t6 (colint int, col1 int) engine='INNODB'
partition by range(colint)
(partition p0 values less than (least(15,30)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -225,28 +451,34 @@ alter table t11
partition by range(least(col1,15))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(least(col1,15))
(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));
+Got one of the listed errors
alter table t33
partition by hash(least(col1,15));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(least(col1,15)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(least(col1,15)) 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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (least(15,30)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -262,7 +494,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- case when col1>15 then 20 else 10 end in partition with coltype int
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -273,28 +505,34 @@ create table t1 (col1 int) engine='INNODB'
partition by range(case when col1>15 then 20 else 10 end)
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 int) engine='INNODB'
partition by list(case when col1>15 then 20 else 10 end)
(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));
+Got one of the listed errors
create table t3 (col1 int) engine='INNODB'
partition by hash(case when col1>15 then 20 else 10 end);
+Got one of the listed errors
create table t4 (colint int, col1 int) engine='INNODB'
partition by range(colint)
subpartition by hash(case when col1>15 then 20 else 10 end) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 int) engine='INNODB'
partition by list(colint)
subpartition by hash(case when col1>15 then 20 else 10 end) 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));
+Got one of the listed errors
create table t6 (colint int, col1 int) engine='INNODB'
partition by range(colint)
(partition p0 values less than (case when 1>30 then 20 else 15 end),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -311,28 +549,34 @@ alter table t11
partition by range(case when col1>15 then 20 else 10 end)
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(case when col1>15 then 20 else 10 end)
(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));
+Got one of the listed errors
alter table t33
partition by hash(case when col1>15 then 20 else 10 end);
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(case when col1>15 then 20 else 10 end) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(case when col1>15 then 20 else 10 end) 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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (case when 1>30 then 20 else 15 end),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -348,7 +592,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- ifnull(col1,30) in partition with coltype int
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -359,28 +603,34 @@ create table t1 (col1 int) engine='INNODB'
partition by range(ifnull(col1,30))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 int) engine='INNODB'
partition by list(ifnull(col1,30))
(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));
+Got one of the listed errors
create table t3 (col1 int) engine='INNODB'
partition by hash(ifnull(col1,30));
+Got one of the listed errors
create table t4 (colint int, col1 int) engine='INNODB'
partition by range(colint)
subpartition by hash(ifnull(col1,30)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 int) engine='INNODB'
partition by list(colint)
subpartition by hash(ifnull(col1,30)) 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));
+Got one of the listed errors
create table t6 (colint int, col1 int) engine='INNODB'
partition by range(colint)
(partition p0 values less than (ifnull(1,30)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -397,28 +647,34 @@ alter table t11
partition by range(ifnull(col1,30))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(ifnull(col1,30))
(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));
+Got one of the listed errors
alter table t33
partition by hash(ifnull(col1,30));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(ifnull(col1,30)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(ifnull(col1,30)) 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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (ifnull(1,30)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -434,7 +690,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- nullif(col1,30) in partition with coltype int
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -445,28 +701,34 @@ create table t1 (col1 int) engine='INNODB'
partition by range(nullif(col1,30))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 int) engine='INNODB'
partition by list(nullif(col1,30))
(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));
+Got one of the listed errors
create table t3 (col1 int) engine='INNODB'
partition by hash(nullif(col1,30));
+Got one of the listed errors
create table t4 (colint int, col1 int) engine='INNODB'
partition by range(colint)
subpartition by hash(nullif(col1,30)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 int) engine='INNODB'
partition by list(colint)
subpartition by hash(nullif(col1,30)) 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));
+Got one of the listed errors
create table t6 (colint int, col1 int) engine='INNODB'
partition by range(colint)
(partition p0 values less than (nullif(1,30)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -483,28 +745,34 @@ alter table t11
partition by range(nullif(col1,30))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(nullif(col1,30))
(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));
+Got one of the listed errors
alter table t33
partition by hash(nullif(col1,30));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(nullif(col1,30)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(nullif(col1,30)) 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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (nullif(1,30)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -520,7 +788,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- bit_length(col1) in partition with coltype int
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -531,28 +799,34 @@ create table t1 (col1 int) engine='INNODB'
partition by range(bit_length(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 int) engine='INNODB'
partition by list(bit_length(col1))
(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));
+Got one of the listed errors
create table t3 (col1 int) engine='INNODB'
partition by hash(bit_length(col1));
+Got one of the listed errors
create table t4 (colint int, col1 int) engine='INNODB'
partition by range(colint)
subpartition by hash(bit_length(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 int) engine='INNODB'
partition by list(colint)
subpartition by hash(bit_length(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));
+Got one of the listed errors
create table t6 (colint int, col1 int) engine='INNODB'
partition by range(colint)
(partition p0 values less than (bit_length(255)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -569,28 +843,34 @@ alter table t11
partition by range(bit_length(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(bit_length(col1))
(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));
+Got one of the listed errors
alter table t33
partition by hash(bit_length(col1));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(bit_length(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(bit_length(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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (bit_length(255)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -606,7 +886,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- bit_length(col1) in partition with coltype char(30)
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -617,28 +897,34 @@ create table t1 (col1 char(30)) engine='INNODB'
partition by range(bit_length(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 char(30)) engine='INNODB'
partition by list(bit_length(col1))
(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));
+Got one of the listed errors
create table t3 (col1 char(30)) engine='INNODB'
partition by hash(bit_length(col1));
+Got one of the listed errors
create table t4 (colint int, col1 char(30)) engine='INNODB'
partition by range(colint)
subpartition by hash(bit_length(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 char(30)) engine='INNODB'
partition by list(colint)
subpartition by hash(bit_length(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));
+Got one of the listed errors
create table t6 (colint int, col1 char(30)) engine='INNODB'
partition by range(colint)
(partition p0 values less than (bit_length(255)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -655,28 +941,34 @@ alter table t11
partition by range(bit_length(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(bit_length(col1))
(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));
+Got one of the listed errors
alter table t33
partition by hash(bit_length(col1));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(bit_length(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(bit_length(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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (bit_length(255)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -692,7 +984,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- char_length(col1) in partition with coltype char(30)
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -703,28 +995,34 @@ create table t1 (col1 char(30)) engine='INNODB'
partition by range(char_length(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 char(30)) engine='INNODB'
partition by list(char_length(col1))
(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));
+Got one of the listed errors
create table t3 (col1 char(30)) engine='INNODB'
partition by hash(char_length(col1));
+Got one of the listed errors
create table t4 (colint int, col1 char(30)) engine='INNODB'
partition by range(colint)
subpartition by hash(char_length(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 char(30)) engine='INNODB'
partition by list(colint)
subpartition by hash(char_length(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));
+Got one of the listed errors
create table t6 (colint int, col1 char(30)) engine='INNODB'
partition by range(colint)
(partition p0 values less than (char_length('a')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -741,28 +1039,34 @@ alter table t11
partition by range(char_length(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(char_length(col1))
(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));
+Got one of the listed errors
alter table t33
partition by hash(char_length(col1));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(char_length(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(char_length(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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (char_length('a')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -778,7 +1082,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- character_length(col1) in partition with coltype int
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -789,28 +1093,34 @@ create table t1 (col1 int) engine='INNODB'
partition by range(character_length(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 int) engine='INNODB'
partition by list(character_length(col1))
(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));
+Got one of the listed errors
create table t3 (col1 int) engine='INNODB'
partition by hash(character_length(col1));
+Got one of the listed errors
create table t4 (colint int, col1 int) engine='INNODB'
partition by range(colint)
subpartition by hash(character_length(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 int) engine='INNODB'
partition by list(colint)
subpartition by hash(character_length(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));
+Got one of the listed errors
create table t6 (colint int, col1 int) engine='INNODB'
partition by range(colint)
(partition p0 values less than (find_in_set('i','a,b,c,d,e,f,g,h,i')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -827,28 +1137,34 @@ alter table t11
partition by range(character_length(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(character_length(col1))
(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));
+Got one of the listed errors
alter table t33
partition by hash(character_length(col1));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(character_length(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(character_length(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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (find_in_set('i','a,b,c,d,e,f,g,h,i')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -864,7 +1180,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- character_length(col1) in partition with coltype char(30)
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -875,28 +1191,34 @@ create table t1 (col1 char(30)) engine='INNODB'
partition by range(character_length(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 char(30)) engine='INNODB'
partition by list(character_length(col1))
(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));
+Got one of the listed errors
create table t3 (col1 char(30)) engine='INNODB'
partition by hash(character_length(col1));
+Got one of the listed errors
create table t4 (colint int, col1 char(30)) engine='INNODB'
partition by range(colint)
subpartition by hash(character_length(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 char(30)) engine='INNODB'
partition by list(colint)
subpartition by hash(character_length(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));
+Got one of the listed errors
create table t6 (colint int, col1 char(30)) engine='INNODB'
partition by range(colint)
(partition p0 values less than (find_in_set('i','a,b,c,d,e,f,g,h,i')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -913,28 +1235,34 @@ alter table t11
partition by range(character_length(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(character_length(col1))
(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));
+Got one of the listed errors
alter table t33
partition by hash(character_length(col1));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(character_length(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(character_length(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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (find_in_set('i','a,b,c,d,e,f,g,h,i')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -950,7 +1278,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- instr(col1,'acb') in partition with coltype int
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -961,28 +1289,34 @@ create table t1 (col1 int) engine='INNODB'
partition by range(instr(col1,'acb'))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 int) engine='INNODB'
partition by list(instr(col1,'acb'))
(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));
+Got one of the listed errors
create table t3 (col1 int) engine='INNODB'
partition by hash(instr(col1,'acb'));
+Got one of the listed errors
create table t4 (colint int, col1 int) engine='INNODB'
partition by range(colint)
subpartition by hash(instr(col1,'acb')) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 int) engine='INNODB'
partition by list(colint)
subpartition by hash(instr(col1,'acb')) 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));
+Got one of the listed errors
create table t6 (colint int, col1 int) engine='INNODB'
partition by range(colint)
(partition p0 values less than (instr('i','a,b,c,d,e,f,g,h,i')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -999,28 +1333,34 @@ alter table t11
partition by range(instr(col1,'acb'))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(instr(col1,'acb'))
(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));
+Got one of the listed errors
alter table t33
partition by hash(instr(col1,'acb'));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(instr(col1,'acb')) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(instr(col1,'acb')) 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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (instr('i','a,b,c,d,e,f,g,h,i')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -1036,7 +1376,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- instr(col1,'acb') in partition with coltype char(30)
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -1047,28 +1387,34 @@ create table t1 (col1 char(30)) engine='INNODB'
partition by range(instr(col1,'acb'))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 char(30)) engine='INNODB'
partition by list(instr(col1,'acb'))
(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));
+Got one of the listed errors
create table t3 (col1 char(30)) engine='INNODB'
partition by hash(instr(col1,'acb'));
+Got one of the listed errors
create table t4 (colint int, col1 char(30)) engine='INNODB'
partition by range(colint)
subpartition by hash(instr(col1,'acb')) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 char(30)) engine='INNODB'
partition by list(colint)
subpartition by hash(instr(col1,'acb')) 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));
+Got one of the listed errors
create table t6 (colint int, col1 char(30)) engine='INNODB'
partition by range(colint)
(partition p0 values less than (instr('i','a,b,c,d,e,f,g,h,i')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -1085,28 +1431,34 @@ alter table t11
partition by range(instr(col1,'acb'))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(instr(col1,'acb'))
(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));
+Got one of the listed errors
alter table t33
partition by hash(instr(col1,'acb'));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(instr(col1,'acb')) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(instr(col1,'acb')) 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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (instr('i','a,b,c,d,e,f,g,h,i')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -1122,7 +1474,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- length(col1) in partition with coltype int
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -1133,28 +1485,34 @@ create table t1 (col1 int) engine='INNODB'
partition by range(length(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 int) engine='INNODB'
partition by list(length(col1))
(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));
+Got one of the listed errors
create table t3 (col1 int) engine='INNODB'
partition by hash(length(col1));
+Got one of the listed errors
create table t4 (colint int, col1 int) engine='INNODB'
partition by range(colint)
subpartition by hash(length(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 int) engine='INNODB'
partition by list(colint)
subpartition by hash(length(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));
+Got one of the listed errors
create table t6 (colint int, col1 int) engine='INNODB'
partition by range(colint)
(partition p0 values less than (length('a,b,c,d,e,f,g,h,i')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -1171,28 +1529,34 @@ alter table t11
partition by range(length(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(length(col1))
(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));
+Got one of the listed errors
alter table t33
partition by hash(length(col1));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(length(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(length(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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (length('a,b,c,d,e,f,g,h,i')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -1208,7 +1572,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- locate('a',col1) in partition with coltype int
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -1219,28 +1583,34 @@ create table t1 (col1 int) engine='INNODB'
partition by range(locate('a',col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 int) engine='INNODB'
partition by list(locate('a',col1))
(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));
+Got one of the listed errors
create table t3 (col1 int) engine='INNODB'
partition by hash(locate('a',col1));
+Got one of the listed errors
create table t4 (colint int, col1 int) engine='INNODB'
partition by range(colint)
subpartition by hash(locate('a',col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 int) engine='INNODB'
partition by list(colint)
subpartition by hash(locate('a',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));
+Got one of the listed errors
create table t6 (colint int, col1 int) engine='INNODB'
partition by range(colint)
(partition p0 values less than (locate('i','a,b,c,d,e,f,g,h,i')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -1257,28 +1627,34 @@ alter table t11
partition by range(locate('a',col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(locate('a',col1))
(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));
+Got one of the listed errors
alter table t33
partition by hash(locate('a',col1));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(locate('a',col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(locate('a',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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (locate('i','a,b,c,d,e,f,g,h,i')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -1294,7 +1670,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- locate('a',col1) in partition with coltype char(30)
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -1305,28 +1681,34 @@ create table t1 (col1 char(30)) engine='INNODB'
partition by range(locate('a',col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 char(30)) engine='INNODB'
partition by list(locate('a',col1))
(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));
+Got one of the listed errors
create table t3 (col1 char(30)) engine='INNODB'
partition by hash(locate('a',col1));
+Got one of the listed errors
create table t4 (colint int, col1 char(30)) engine='INNODB'
partition by range(colint)
subpartition by hash(locate('a',col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 char(30)) engine='INNODB'
partition by list(colint)
subpartition by hash(locate('a',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));
+Got one of the listed errors
create table t6 (colint int, col1 char(30)) engine='INNODB'
partition by range(colint)
(partition p0 values less than (locate('i','a,b,c,d,e,f,g,h,i')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -1343,28 +1725,34 @@ alter table t11
partition by range(locate('a',col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(locate('a',col1))
(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));
+Got one of the listed errors
alter table t33
partition by hash(locate('a',col1));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(locate('a',col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(locate('a',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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (locate('i','a,b,c,d,e,f,g,h,i')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -1380,7 +1768,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- octet_length(col1) in partition with coltype char(30)
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -1391,28 +1779,34 @@ create table t1 (col1 char(30)) engine='INNODB'
partition by range(octet_length(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 char(30)) engine='INNODB'
partition by list(octet_length(col1))
(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));
+Got one of the listed errors
create table t3 (col1 char(30)) engine='INNODB'
partition by hash(octet_length(col1));
+Got one of the listed errors
create table t4 (colint int, col1 char(30)) engine='INNODB'
partition by range(colint)
subpartition by hash(octet_length(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 char(30)) engine='INNODB'
partition by list(colint)
subpartition by hash(octet_length(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));
+Got one of the listed errors
create table t6 (colint int, col1 char(30)) engine='INNODB'
partition by range(colint)
(partition p0 values less than (octet_length('a,b,c,d,e,f,g,h,i')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -1429,28 +1823,34 @@ alter table t11
partition by range(octet_length(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(octet_length(col1))
(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));
+Got one of the listed errors
alter table t33
partition by hash(octet_length(col1));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(octet_length(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(octet_length(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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (octet_length('a,b,c,d,e,f,g,h,i')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -1466,7 +1866,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- position('a' in col1) in partition with coltype int
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -1477,28 +1877,34 @@ create table t1 (col1 int) engine='INNODB'
partition by range(position('a' in col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 int) engine='INNODB'
partition by list(position('a' in col1))
(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));
+Got one of the listed errors
create table t3 (col1 int) engine='INNODB'
partition by hash(position('a' in col1));
+Got one of the listed errors
create table t4 (colint int, col1 int) engine='INNODB'
partition by range(colint)
subpartition by hash(position('a' in col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 int) engine='INNODB'
partition by list(colint)
subpartition by hash(position('a' in 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));
+Got one of the listed errors
create table t6 (colint int, col1 int) engine='INNODB'
partition by range(colint)
(partition p0 values less than (position('i' in 'a,b,c,d,e,f,g,h,i')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -1515,28 +1921,34 @@ alter table t11
partition by range(position('a' in col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(position('a' in col1))
(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));
+Got one of the listed errors
alter table t33
partition by hash(position('a' in col1));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(position('a' in col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(position('a' in 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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (position('i' in 'a,b,c,d,e,f,g,h,i')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -1552,7 +1964,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- position('a' in col1) in partition with coltype char(30)
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -1563,28 +1975,34 @@ create table t1 (col1 char(30)) engine='INNODB'
partition by range(position('a' in col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 char(30)) engine='INNODB'
partition by list(position('a' in col1))
(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));
+Got one of the listed errors
create table t3 (col1 char(30)) engine='INNODB'
partition by hash(position('a' in col1));
+Got one of the listed errors
create table t4 (colint int, col1 char(30)) engine='INNODB'
partition by range(colint)
subpartition by hash(position('a' in col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 char(30)) engine='INNODB'
partition by list(colint)
subpartition by hash(position('a' in 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));
+Got one of the listed errors
create table t6 (colint int, col1 char(30)) engine='INNODB'
partition by range(colint)
(partition p0 values less than (position('i' in 'a,b,c,d,e,f,g,h,i')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -1601,28 +2019,34 @@ alter table t11
partition by range(position('a' in col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(position('a' in col1))
(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));
+Got one of the listed errors
alter table t33
partition by hash(position('a' in col1));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(position('a' in col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(position('a' in 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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (position('i' in 'a,b,c,d,e,f,g,h,i')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -1638,7 +2062,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- strcmp(col1,'acb') in partition with coltype int
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -1649,28 +2073,34 @@ create table t1 (col1 int) engine='INNODB'
partition by range(strcmp(col1,'acb'))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 int) engine='INNODB'
partition by list(strcmp(col1,'acb'))
(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));
+Got one of the listed errors
create table t3 (col1 int) engine='INNODB'
partition by hash(strcmp(col1,'acb'));
+Got one of the listed errors
create table t4 (colint int, col1 int) engine='INNODB'
partition by range(colint)
subpartition by hash(strcmp(col1,'acb')) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 int) engine='INNODB'
partition by list(colint)
subpartition by hash(strcmp(col1,'acb')) 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));
+Got one of the listed errors
create table t6 (colint int, col1 int) engine='INNODB'
partition by range(colint)
(partition p0 values less than (strcmp('i','a,b,c,d,e,f,g,h,i')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -1687,28 +2117,34 @@ alter table t11
partition by range(strcmp(col1,'acb'))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(strcmp(col1,'acb'))
(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));
+Got one of the listed errors
alter table t33
partition by hash(strcmp(col1,'acb'));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(strcmp(col1,'acb')) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(strcmp(col1,'acb')) 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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (strcmp('i','a,b,c,d,e,f,g,h,i')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -1724,7 +2160,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- strcmp(col1,'acb') in partition with coltype char(30)
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -1735,28 +2171,34 @@ create table t1 (col1 char(30)) engine='INNODB'
partition by range(strcmp(col1,'acb'))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 char(30)) engine='INNODB'
partition by list(strcmp(col1,'acb'))
(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));
+Got one of the listed errors
create table t3 (col1 char(30)) engine='INNODB'
partition by hash(strcmp(col1,'acb'));
+Got one of the listed errors
create table t4 (colint int, col1 char(30)) engine='INNODB'
partition by range(colint)
subpartition by hash(strcmp(col1,'acb')) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 char(30)) engine='INNODB'
partition by list(colint)
subpartition by hash(strcmp(col1,'acb')) 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));
+Got one of the listed errors
create table t6 (colint int, col1 char(30)) engine='INNODB'
partition by range(colint)
(partition p0 values less than (strcmp('i','a,b,c,d,e,f,g,h,i')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -1773,28 +2215,34 @@ alter table t11
partition by range(strcmp(col1,'acb'))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(strcmp(col1,'acb'))
(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));
+Got one of the listed errors
alter table t33
partition by hash(strcmp(col1,'acb'));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(strcmp(col1,'acb')) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(strcmp(col1,'acb')) 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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (strcmp('i','a,b,c,d,e,f,g,h,i')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -1810,7 +2258,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- crc32(col1) in partition with coltype char(30)
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -1821,28 +2269,34 @@ create table t1 (col1 char(30)) engine='INNODB'
partition by range(crc32(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 char(30)) engine='INNODB'
partition by list(crc32(col1))
(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));
+Got one of the listed errors
create table t3 (col1 char(30)) engine='INNODB'
partition by hash(crc32(col1));
+Got one of the listed errors
create table t4 (colint int, col1 char(30)) engine='INNODB'
partition by range(colint)
subpartition by hash(crc32(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 char(30)) engine='INNODB'
partition by list(colint)
subpartition by hash(crc32(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));
+Got one of the listed errors
create table t6 (colint int, col1 char(30)) engine='INNODB'
partition by range(colint)
(partition p0 values less than (crc32('a,b,c,d,e,f,g,h,i')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -1859,28 +2313,34 @@ alter table t11
partition by range(crc32(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(crc32(col1))
(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));
+Got one of the listed errors
alter table t33
partition by hash(crc32(col1));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(crc32(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(crc32(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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (crc32('a,b,c,d,e,f,g,h,i')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -1896,7 +2356,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- round(col1) in partition with coltype int
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -1907,28 +2367,34 @@ create table t1 (col1 int) engine='INNODB'
partition by range(round(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 int) engine='INNODB'
partition by list(round(col1))
(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));
+Got one of the listed errors
create table t3 (col1 int) engine='INNODB'
partition by hash(round(col1));
+Got one of the listed errors
create table t4 (colint int, col1 int) engine='INNODB'
partition by range(colint)
subpartition by hash(round(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 int) engine='INNODB'
partition by list(colint)
subpartition by hash(round(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));
+Got one of the listed errors
create table t6 (colint int, col1 int) engine='INNODB'
partition by range(colint)
(partition p0 values less than (round(15)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -1945,28 +2411,34 @@ alter table t11
partition by range(round(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(round(col1))
(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));
+Got one of the listed errors
alter table t33
partition by hash(round(col1));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(round(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(round(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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (round(15)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -1982,7 +2454,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- sign(col1) in partition with coltype int
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -1993,28 +2465,34 @@ create table t1 (col1 int) engine='INNODB'
partition by range(sign(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 int) engine='INNODB'
partition by list(sign(col1))
(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));
+Got one of the listed errors
create table t3 (col1 int) engine='INNODB'
partition by hash(sign(col1));
+Got one of the listed errors
create table t4 (colint int, col1 int) engine='INNODB'
partition by range(colint)
subpartition by hash(sign(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 int) engine='INNODB'
partition by list(colint)
subpartition by hash(sign(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));
+Got one of the listed errors
create table t6 (colint int, col1 int) engine='INNODB'
partition by range(colint)
(partition p0 values less than (sign(123)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -2031,114 +2509,34 @@ alter table t11
partition by range(sign(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(sign(col1))
(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));
+Got one of the listed errors
alter table t33
partition by hash(sign(col1));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(sign(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(sign(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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (sign(123)),
partition p1 values less than maxvalue);
-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,col1) in partition with coltype datetime
--------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
-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 table t1 (col1 datetime) engine='INNODB'
-partition by range(datediff(col1,col1))
-(partition p0 values less than (15),
-partition p1 values less than (31));
-create table t2 (col1 datetime) engine='INNODB'
-partition by list(datediff(col1,col1))
-(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));
-create table t3 (col1 datetime) engine='INNODB'
-partition by hash(datediff(col1,col1));
-create table t4 (colint int, col1 datetime) engine='INNODB'
-partition by range(colint)
-subpartition by hash(datediff(col1,col1)) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than (31));
-create table t5 (colint int, col1 datetime) engine='INNODB'
-partition by list(colint)
-subpartition by hash(datediff(col1,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));
-create table t6 (colint int, col1 datetime) engine='INNODB'
-partition by range(colint)
-(partition p0 values less than (datediff('1997-11-30 23:59:59','1997-12-31')),
-partition p1 values less than maxvalue);
-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 (col1 datetime) engine='INNODB' ;
-create table t22 (col1 datetime) engine='INNODB' ;
-create table t33 (col1 datetime) engine='INNODB' ;
-create table t44 (colint int, col1 datetime) engine='INNODB' ;
-create table t55 (colint int, col1 datetime) engine='INNODB' ;
-create table t66 (colint int, col1 datetime) engine='INNODB' ;
-alter table t11
-partition by range(datediff(col1,col1))
-(partition p0 values less than (15),
-partition p1 values less than (31));
-alter table t22
-partition by list(datediff(col1,col1))
-(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));
-alter table t33
-partition by hash(datediff(col1,col1));
-alter table t44
-partition by range(colint)
-subpartition by hash(datediff(col1,col1)) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than (31));
-alter table t55
-partition by list(colint)
-subpartition by hash(datediff(col1,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));
-alter table t66
-partition by range(colint)
-(partition p0 values less than (datediff('1997-11-30 23:59:59','1997-12-31')),
-partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -2154,7 +2552,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- period_add(col1,5) in partition with coltype datetime
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -2165,28 +2563,34 @@ create table t1 (col1 datetime) engine='INNODB'
partition by range(period_add(col1,5))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 datetime) engine='INNODB'
partition by list(period_add(col1,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));
+Got one of the listed errors
create table t3 (col1 datetime) engine='INNODB'
partition by hash(period_add(col1,5));
+Got one of the listed errors
create table t4 (colint int, col1 datetime) engine='INNODB'
partition by range(colint)
subpartition by hash(period_add(col1,5)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 datetime) engine='INNODB'
partition by list(colint)
subpartition by hash(period_add(col1,5)) 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));
+Got one of the listed errors
create table t6 (colint int, col1 datetime) engine='INNODB'
partition by range(colint)
(partition p0 values less than (period_add(9804,5)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -2203,28 +2607,34 @@ alter table t11
partition by range(period_add(col1,5))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(period_add(col1,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));
+Got one of the listed errors
alter table t33
partition by hash(period_add(col1,5));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(period_add(col1,5)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(period_add(col1,5)) 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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (period_add(9804,5)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -2240,7 +2650,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- period_diff(col1,col2) in partition with coltype datetime,col2 datetime
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -2251,28 +2661,34 @@ create table t1 (col1 datetime,col2 datetime) engine='INNODB'
partition by range(period_diff(col1,col2))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 datetime,col2 datetime) engine='INNODB'
partition by list(period_diff(col1,col2))
(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));
+Got one of the listed errors
create table t3 (col1 datetime,col2 datetime) engine='INNODB'
partition by hash(period_diff(col1,col2));
+Got one of the listed errors
create table t4 (colint int, col1 datetime,col2 datetime) engine='INNODB'
partition by range(colint)
subpartition by hash(period_diff(col1,col2)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 datetime,col2 datetime) engine='INNODB'
partition by list(colint)
subpartition by hash(period_diff(col1,col2)) 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));
+Got one of the listed errors
create table t6 (colint int, col1 datetime,col2 datetime) engine='INNODB'
partition by range(colint)
(partition p0 values less than (period_diff(9809,199907)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -2289,28 +2705,34 @@ alter table t11
partition by range(period_diff(col1,col2))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(period_diff(col1,col2))
(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));
+Got one of the listed errors
alter table t33
partition by hash(period_diff(col1,col2));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(period_diff(col1,col2)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(period_diff(col1,col2)) 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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (period_diff(9809,199907)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -2326,7 +2748,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- period_diff(col1,col2) in partition with coltype int,col2 int
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -2337,28 +2759,34 @@ create table t1 (col1 int,col2 int) engine='INNODB'
partition by range(period_diff(col1,col2))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 int,col2 int) engine='INNODB'
partition by list(period_diff(col1,col2))
(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));
+Got one of the listed errors
create table t3 (col1 int,col2 int) engine='INNODB'
partition by hash(period_diff(col1,col2));
+Got one of the listed errors
create table t4 (colint int, col1 int,col2 int) engine='INNODB'
partition by range(colint)
subpartition by hash(period_diff(col1,col2)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 int,col2 int) engine='INNODB'
partition by list(colint)
subpartition by hash(period_diff(col1,col2)) 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));
+Got one of the listed errors
create table t6 (colint int, col1 int,col2 int) engine='INNODB'
partition by range(colint)
(partition p0 values less than (period_diff(9809,199907)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -2375,28 +2803,34 @@ alter table t11
partition by range(period_diff(col1,col2))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(period_diff(col1,col2))
(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));
+Got one of the listed errors
alter table t33
partition by hash(period_diff(col1,col2));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(period_diff(col1,col2)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(period_diff(col1,col2)) 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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (period_diff(9809,199907)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -2412,7 +2846,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- timestampdiff(day,5,col1) in partition with coltype datetime
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -2423,28 +2857,34 @@ create table t1 (col1 datetime) engine='INNODB'
partition by range(timestampdiff(day,5,col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 datetime) engine='INNODB'
partition by list(timestampdiff(day,5,col1))
(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));
+Got one of the listed errors
create table t3 (col1 datetime) engine='INNODB'
partition by hash(timestampdiff(day,5,col1));
+Got one of the listed errors
create table t4 (colint int, col1 datetime) engine='INNODB'
partition by range(colint)
subpartition by hash(timestampdiff(day,5,col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 datetime) engine='INNODB'
partition by list(colint)
subpartition by hash(timestampdiff(day,5,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));
+Got one of the listed errors
create table t6 (colint int, col1 datetime) engine='INNODB'
partition by range(colint)
(partition p0 values less than (timestampdiff(YEAR,'2002-05-01','2001-01-01')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -2461,28 +2901,34 @@ alter table t11
partition by range(timestampdiff(day,5,col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(timestampdiff(day,5,col1))
(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));
+Got one of the listed errors
alter table t33
partition by hash(timestampdiff(day,5,col1));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(timestampdiff(day,5,col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(timestampdiff(day,5,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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (timestampdiff(YEAR,'2002-05-01','2001-01-01')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -2498,7 +2944,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- unix_timestamp(col1) in partition with coltype date
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -2509,28 +2955,34 @@ create table t1 (col1 date) engine='INNODB'
partition by range(unix_timestamp(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 date) engine='INNODB'
partition by list(unix_timestamp(col1))
(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));
+Got one of the listed errors
create table t3 (col1 date) engine='INNODB'
partition by hash(unix_timestamp(col1));
+Got one of the listed errors
create table t4 (colint int, col1 date) engine='INNODB'
partition by range(colint)
subpartition by hash(unix_timestamp(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 date) engine='INNODB'
partition by list(colint)
subpartition by hash(unix_timestamp(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));
+Got one of the listed errors
create table t6 (colint int, col1 date) engine='INNODB'
partition by range(colint)
(partition p0 values less than (unix_timestamp ('2002-05-01')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -2547,28 +2999,34 @@ alter table t11
partition by range(unix_timestamp(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(unix_timestamp(col1))
(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));
+Got one of the listed errors
alter table t33
partition by hash(unix_timestamp(col1));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(unix_timestamp(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(unix_timestamp(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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (unix_timestamp ('2002-05-01')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -2584,7 +3042,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- week(col1) in partition with coltype datetime
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -2595,28 +3053,34 @@ create table t1 (col1 datetime) engine='INNODB'
partition by range(week(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 datetime) engine='INNODB'
partition by list(week(col1))
(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));
+Got one of the listed errors
create table t3 (col1 datetime) engine='INNODB'
partition by hash(week(col1));
+Got one of the listed errors
create table t4 (colint int, col1 datetime) engine='INNODB'
partition by range(colint)
subpartition by hash(week(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 datetime) engine='INNODB'
partition by list(colint)
subpartition by hash(week(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));
+Got one of the listed errors
create table t6 (colint int, col1 datetime) engine='INNODB'
partition by range(colint)
(partition p0 values less than (week('2002-05-01')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -2633,28 +3097,132 @@ alter table t11
partition by range(week(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(week(col1))
(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));
+Got one of the listed errors
alter table t33
partition by hash(week(col1));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(week(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(week(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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (week('2002-05-01')),
partition p1 values less than maxvalue);
+Got one of the listed errors
+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 ;
+-------------------------------------------------------------------------
+--- weekofyear(col1) in partition with coltype datetime
+-------------------------------------------------------------------------
+must all fail!
+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 table t1 (col1 datetime) engine='INNODB'
+partition by range(weekofyear(col1))
+(partition p0 values less than (15),
+partition p1 values less than (31));
+Got one of the listed errors
+create table t2 (col1 datetime) engine='INNODB'
+partition by list(weekofyear(col1))
+(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));
+Got one of the listed errors
+create table t3 (col1 datetime) engine='INNODB'
+partition by hash(weekofyear(col1));
+Got one of the listed errors
+create table t4 (colint int, col1 datetime) engine='INNODB'
+partition by range(colint)
+subpartition by hash(weekofyear(col1)) subpartitions 2
+(partition p0 values less than (15),
+partition p1 values less than (31));
+Got one of the listed errors
+create table t5 (colint int, col1 datetime) engine='INNODB'
+partition by list(colint)
+subpartition by hash(weekofyear(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));
+Got one of the listed errors
+create table t6 (colint int, col1 datetime) engine='INNODB'
+partition by range(colint)
+(partition p0 values less than (weekofyear('2002-05-01')),
+partition p1 values less than maxvalue);
+Got one of the listed errors
+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 (col1 datetime) engine='INNODB' ;
+create table t22 (col1 datetime) engine='INNODB' ;
+create table t33 (col1 datetime) engine='INNODB' ;
+create table t44 (colint int, col1 datetime) engine='INNODB' ;
+create table t55 (colint int, col1 datetime) engine='INNODB' ;
+create table t66 (colint int, col1 datetime) engine='INNODB' ;
+alter table t11
+partition by range(weekofyear(col1))
+(partition p0 values less than (15),
+partition p1 values less than (31));
+Got one of the listed errors
+alter table t22
+partition by list(weekofyear(col1))
+(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));
+Got one of the listed errors
+alter table t33
+partition by hash(weekofyear(col1));
+Got one of the listed errors
+alter table t44
+partition by range(colint)
+subpartition by hash(weekofyear(col1)) subpartitions 2
+(partition p0 values less than (15),
+partition p1 values less than (31));
+Got one of the listed errors
+alter table t55
+partition by list(colint)
+subpartition by hash(weekofyear(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));
+Got one of the listed errors
+alter table t66
+partition by range(colint)
+(partition p0 values less than (weekofyear('2002-05-01')),
+partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -2670,7 +3238,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- cast(col1 as signed) in partition with coltype varchar(30)
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -2681,28 +3249,34 @@ create table t1 (col1 varchar(30)) engine='INNODB'
partition by range(cast(col1 as signed))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 varchar(30)) engine='INNODB'
partition by list(cast(col1 as signed))
(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));
+Got one of the listed errors
create table t3 (col1 varchar(30)) engine='INNODB'
partition by hash(cast(col1 as signed));
+Got one of the listed errors
create table t4 (colint int, col1 varchar(30)) engine='INNODB'
partition by range(colint)
subpartition by hash(cast(col1 as signed)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 varchar(30)) engine='INNODB'
partition by list(colint)
subpartition by hash(cast(col1 as signed)) 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));
+Got one of the listed errors
create table t6 (colint int, col1 varchar(30)) engine='INNODB'
partition by range(colint)
(partition p0 values less than (cast(123 as signed)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -2719,28 +3293,34 @@ alter table t11
partition by range(cast(col1 as signed))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(cast(col1 as signed))
(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));
+Got one of the listed errors
alter table t33
partition by hash(cast(col1 as signed));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(cast(col1 as signed)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(cast(col1 as signed)) 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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (cast(123 as signed)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -2756,7 +3336,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- convert(col1,unsigned) in partition with coltype varchar(30)
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -2767,28 +3347,34 @@ create table t1 (col1 varchar(30)) engine='INNODB'
partition by range(convert(col1,unsigned))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 varchar(30)) engine='INNODB'
partition by list(convert(col1,unsigned))
(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));
+Got one of the listed errors
create table t3 (col1 varchar(30)) engine='INNODB'
partition by hash(convert(col1,unsigned));
+Got one of the listed errors
create table t4 (colint int, col1 varchar(30)) engine='INNODB'
partition by range(colint)
subpartition by hash(convert(col1,unsigned)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 varchar(30)) engine='INNODB'
partition by list(colint)
subpartition by hash(convert(col1,unsigned)) 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));
+Got one of the listed errors
create table t6 (colint int, col1 varchar(30)) engine='INNODB'
partition by range(colint)
(partition p0 values less than (convert(123,unsigned)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -2805,28 +3391,34 @@ alter table t11
partition by range(convert(col1,unsigned))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(convert(col1,unsigned))
(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));
+Got one of the listed errors
alter table t33
partition by hash(convert(col1,unsigned));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(convert(col1,unsigned)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(convert(col1,unsigned)) 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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (convert(123,unsigned)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -2842,7 +3434,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- col1 | 20 in partition with coltype int
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -2853,28 +3445,34 @@ create table t1 (col1 int) engine='INNODB'
partition by range(col1 | 20)
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 int) engine='INNODB'
partition by list(col1 | 20)
(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));
+Got one of the listed errors
create table t3 (col1 int) engine='INNODB'
partition by hash(col1 | 20);
+Got one of the listed errors
create table t4 (colint int, col1 int) engine='INNODB'
partition by range(colint)
subpartition by hash(col1 | 20) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 int) engine='INNODB'
partition by list(colint)
subpartition by hash(col1 | 20) 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));
+Got one of the listed errors
create table t6 (colint int, col1 int) engine='INNODB'
partition by range(colint)
(partition p0 values less than (10 | 20),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -2891,28 +3489,34 @@ alter table t11
partition by range(col1 | 20)
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(col1 | 20)
(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));
+Got one of the listed errors
alter table t33
partition by hash(col1 | 20);
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(col1 | 20) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(col1 | 20) 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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (10 | 20),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -2928,7 +3532,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- col1 & 20 in partition with coltype int
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -2939,28 +3543,34 @@ create table t1 (col1 int) engine='INNODB'
partition by range(col1 & 20)
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 int) engine='INNODB'
partition by list(col1 & 20)
(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));
+Got one of the listed errors
create table t3 (col1 int) engine='INNODB'
partition by hash(col1 & 20);
+Got one of the listed errors
create table t4 (colint int, col1 int) engine='INNODB'
partition by range(colint)
subpartition by hash(col1 & 20) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 int) engine='INNODB'
partition by list(colint)
subpartition by hash(col1 & 20) 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));
+Got one of the listed errors
create table t6 (colint int, col1 int) engine='INNODB'
partition by range(colint)
(partition p0 values less than (10 & 20),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -2977,28 +3587,34 @@ alter table t11
partition by range(col1 & 20)
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(col1 & 20)
(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));
+Got one of the listed errors
alter table t33
partition by hash(col1 & 20);
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(col1 & 20) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(col1 & 20) 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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (10 & 20),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -3014,7 +3630,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- col1 ^ 20 in partition with coltype int
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -3025,28 +3641,34 @@ create table t1 (col1 int) engine='INNODB'
partition by range(col1 ^ 20)
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 int) engine='INNODB'
partition by list(col1 ^ 20)
(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));
+Got one of the listed errors
create table t3 (col1 int) engine='INNODB'
partition by hash(col1 ^ 20);
+Got one of the listed errors
create table t4 (colint int, col1 int) engine='INNODB'
partition by range(colint)
subpartition by hash(col1 ^ 20) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 int) engine='INNODB'
partition by list(colint)
subpartition by hash(col1 ^ 20) 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));
+Got one of the listed errors
create table t6 (colint int, col1 int) engine='INNODB'
partition by range(colint)
(partition p0 values less than (10 ^ 20),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -3063,28 +3685,34 @@ alter table t11
partition by range(col1 ^ 20)
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(col1 ^ 20)
(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));
+Got one of the listed errors
alter table t33
partition by hash(col1 ^ 20);
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(col1 ^ 20) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(col1 ^ 20) 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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (10 ^ 20),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -3100,7 +3728,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- col1 << 20 in partition with coltype int
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -3111,28 +3739,34 @@ create table t1 (col1 int) engine='INNODB'
partition by range(col1 << 20)
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 int) engine='INNODB'
partition by list(col1 << 20)
(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));
+Got one of the listed errors
create table t3 (col1 int) engine='INNODB'
partition by hash(col1 << 20);
+Got one of the listed errors
create table t4 (colint int, col1 int) engine='INNODB'
partition by range(colint)
subpartition by hash(col1 << 20) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 int) engine='INNODB'
partition by list(colint)
subpartition by hash(col1 << 20) 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));
+Got one of the listed errors
create table t6 (colint int, col1 int) engine='INNODB'
partition by range(colint)
(partition p0 values less than (10 << 20),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -3149,28 +3783,34 @@ alter table t11
partition by range(col1 << 20)
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(col1 << 20)
(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));
+Got one of the listed errors
alter table t33
partition by hash(col1 << 20);
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(col1 << 20) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(col1 << 20) 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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (10 << 20),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -3186,7 +3826,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- col1 >> 20 in partition with coltype int
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -3197,28 +3837,34 @@ create table t1 (col1 int) engine='INNODB'
partition by range(col1 >> 20)
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 int) engine='INNODB'
partition by list(col1 >> 20)
(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));
+Got one of the listed errors
create table t3 (col1 int) engine='INNODB'
partition by hash(col1 >> 20);
+Got one of the listed errors
create table t4 (colint int, col1 int) engine='INNODB'
partition by range(colint)
subpartition by hash(col1 >> 20) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 int) engine='INNODB'
partition by list(colint)
subpartition by hash(col1 >> 20) 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));
+Got one of the listed errors
create table t6 (colint int, col1 int) engine='INNODB'
partition by range(colint)
(partition p0 values less than (10 >> 20),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -3235,28 +3881,34 @@ alter table t11
partition by range(col1 >> 20)
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(col1 >> 20)
(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));
+Got one of the listed errors
alter table t33
partition by hash(col1 >> 20);
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(col1 >> 20) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(col1 >> 20) 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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (10 >> 20),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -3272,7 +3924,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- ~col1 in partition with coltype int
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -3283,28 +3935,34 @@ create table t1 (col1 int) engine='INNODB'
partition by range(~col1)
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 int) engine='INNODB'
partition by list(~col1)
(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));
+Got one of the listed errors
create table t3 (col1 int) engine='INNODB'
partition by hash(~col1);
+Got one of the listed errors
create table t4 (colint int, col1 int) engine='INNODB'
partition by range(colint)
subpartition by hash(~col1) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 int) engine='INNODB'
partition by list(colint)
subpartition by hash(~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));
+Got one of the listed errors
create table t6 (colint int, col1 int) engine='INNODB'
partition by range(colint)
(partition p0 values less than (~20),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -3321,28 +3979,34 @@ alter table t11
partition by range(~col1)
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(~col1)
(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));
+Got one of the listed errors
alter table t33
partition by hash(~col1);
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(~col1) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(~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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (~20),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -3358,7 +4022,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- bit_count(col1) in partition with coltype int
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -3369,28 +4033,34 @@ create table t1 (col1 int) engine='INNODB'
partition by range(bit_count(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 int) engine='INNODB'
partition by list(bit_count(col1))
(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));
+Got one of the listed errors
create table t3 (col1 int) engine='INNODB'
partition by hash(bit_count(col1));
+Got one of the listed errors
create table t4 (colint int, col1 int) engine='INNODB'
partition by range(colint)
subpartition by hash(bit_count(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 int) engine='INNODB'
partition by list(colint)
subpartition by hash(bit_count(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));
+Got one of the listed errors
create table t6 (colint int, col1 int) engine='INNODB'
partition by range(colint)
(partition p0 values less than (bit_count(20)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -3407,28 +4077,34 @@ alter table t11
partition by range(bit_count(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(bit_count(col1))
(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));
+Got one of the listed errors
alter table t33
partition by hash(bit_count(col1));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(bit_count(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(bit_count(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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (bit_count(20)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -3444,7 +4120,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- inet_aton(col1) in partition with coltype int
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -3455,28 +4131,34 @@ create table t1 (col1 int) engine='INNODB'
partition by range(inet_aton(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 int) engine='INNODB'
partition by list(inet_aton(col1))
(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));
+Got one of the listed errors
create table t3 (col1 int) engine='INNODB'
partition by hash(inet_aton(col1));
+Got one of the listed errors
create table t4 (colint int, col1 int) engine='INNODB'
partition by range(colint)
subpartition by hash(inet_aton(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 int) engine='INNODB'
partition by list(colint)
subpartition by hash(inet_aton(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));
+Got one of the listed errors
create table t6 (colint int, col1 int) engine='INNODB'
partition by range(colint)
(partition p0 values less than (inet_aton('192.168.1.1')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -3493,28 +4175,34 @@ alter table t11
partition by range(inet_aton(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(inet_aton(col1))
(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));
+Got one of the listed errors
alter table t33
partition by hash(inet_aton(col1));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(inet_aton(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(inet_aton(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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (inet_aton('192.168.1.1')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -3531,7 +4219,7 @@ set @var =20;
-------------------------------------------------------------------------
--- bit_length(col1)+@var-@var in partition with coltype int
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -3542,35 +4230,34 @@ create table t1 (col1 int) engine='INNODB'
partition by range(bit_length(col1)+@var-@var)
(partition p0 values less than (15),
partition p1 values less than (31));
-ERROR 42000: Constant/Random expression in (sub)partitioning function is not allowed near ')
-(partition p0 values less than (15),
-partition p1 values less than (31))' at line 2
+Got one of the listed errors
create table t2 (col1 int) engine='INNODB'
partition by list(bit_length(col1)+@var-@var)
(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));
-ERROR 42000: Constant/Random expression in (sub)partitioning function is not allowed near ')
-(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12' at line 2
+Got one of the listed errors
create table t3 (col1 int) engine='INNODB'
partition by hash(bit_length(col1)+@var-@var);
-ERROR 42000: Constant/Random expression in (sub)partitioning function is not allowed near ')' at line 2
+Got one of the listed errors
create table t4 (colint int, col1 int) engine='INNODB'
partition by range(colint)
subpartition by hash(bit_length(col1)+@var-@var) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 int) engine='INNODB'
partition by list(colint)
subpartition by hash(bit_length(col1)+@var-@var) 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));
+Got one of the listed errors
create table t6 (colint int, col1 int) engine='INNODB'
partition by range(colint)
(partition p0 values less than (bit_length(20)+@var-@var),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -3587,35 +4274,34 @@ alter table t11
partition by range(bit_length(col1)+@var-@var)
(partition p0 values less than (15),
partition p1 values less than (31));
-ERROR 42000: Constant/Random expression in (sub)partitioning function is not allowed near ')
-(partition p0 values less than (15),
-partition p1 values less than (31))' at line 2
+Got one of the listed errors
alter table t22
partition by list(bit_length(col1)+@var-@var)
(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));
-ERROR 42000: Constant/Random expression in (sub)partitioning function is not allowed near ')
-(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12' at line 2
+Got one of the listed errors
alter table t33
partition by hash(bit_length(col1)+@var-@var);
-ERROR 42000: Constant/Random expression in (sub)partitioning function is not allowed near ')' at line 2
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(bit_length(col1)+@var-@var) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(bit_length(col1)+@var-@var) 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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (bit_length(20)+@var-@var),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -3652,7 +4338,7 @@ end//
-------------------------------------------------------------------------
--- getmaxsigned_t1(col1) in partition with coltype int
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -3663,35 +4349,34 @@ create table t1 (col1 int) engine='INNODB'
partition by range(getmaxsigned_t1(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
-ERROR 42000: Constant/Random expression in (sub)partitioning function is not allowed near ')
-(partition p0 values less than (15),
-partition p1 values less than (31))' at line 2
+Got one of the listed errors
create table t2 (col1 int) engine='INNODB'
partition by list(getmaxsigned_t1(col1))
(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));
-ERROR 42000: Constant/Random expression in (sub)partitioning function is not allowed near ')
-(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12' at line 2
+Got one of the listed errors
create table t3 (col1 int) engine='INNODB'
partition by hash(getmaxsigned_t1(col1));
-ERROR 42000: Constant/Random expression in (sub)partitioning function is not allowed near ')' at line 2
+Got one of the listed errors
create table t4 (colint int, col1 int) engine='INNODB'
partition by range(colint)
subpartition by hash(getmaxsigned_t1(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 int) engine='INNODB'
partition by list(colint)
subpartition by hash(getmaxsigned_t1(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));
+Got one of the listed errors
create table t6 (colint int, col1 int) engine='INNODB'
partition by range(colint)
(partition p0 values less than (getmaxsigned(10)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -3708,35 +4393,34 @@ alter table t11
partition by range(getmaxsigned_t1(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
-ERROR 42000: Constant/Random expression in (sub)partitioning function is not allowed near ')
-(partition p0 values less than (15),
-partition p1 values less than (31))' at line 2
+Got one of the listed errors
alter table t22
partition by list(getmaxsigned_t1(col1))
(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));
-ERROR 42000: Constant/Random expression in (sub)partitioning function is not allowed near ')
-(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12' at line 2
+Got one of the listed errors
alter table t33
partition by hash(getmaxsigned_t1(col1));
-ERROR 42000: Constant/Random expression in (sub)partitioning function is not allowed near ')' at line 2
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(getmaxsigned_t1(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(getmaxsigned_t1(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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (getmaxsigned(10)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
diff --git a/mysql-test/suite/parts/r/part_blocked_sql_func_myisam.result b/mysql-test/suite/parts/r/part_blocked_sql_func_myisam.result
index 8b0ea1d3d49..4a67054e82a 100644
--- a/mysql-test/suite/parts/r/part_blocked_sql_func_myisam.result
+++ b/mysql-test/suite/parts/r/part_blocked_sql_func_myisam.result
@@ -2,9 +2,205 @@
--- All SQL functions should be rejected, otherwise BUG (see 18198)
-------------------------------------------------------------------------
-------------------------------------------------------------------------
+--- ascii(col1) in partition with coltype char(30)
+-------------------------------------------------------------------------
+must all fail!
+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 table t1 (col1 char(30)) engine='MYISAM'
+partition by range(ascii(col1))
+(partition p0 values less than (15),
+partition p1 values less than (31));
+Got one of the listed errors
+create table t2 (col1 char(30)) engine='MYISAM'
+partition by list(ascii(col1))
+(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));
+Got one of the listed errors
+create table t3 (col1 char(30)) engine='MYISAM'
+partition by hash(ascii(col1));
+Got one of the listed errors
+create table t4 (colint int, col1 char(30)) engine='MYISAM'
+partition by range(colint)
+subpartition by hash(ascii(col1)) subpartitions 2
+(partition p0 values less than (15),
+partition p1 values less than (31));
+Got one of the listed errors
+create table t5 (colint int, col1 char(30)) engine='MYISAM'
+partition by list(colint)
+subpartition by hash(ascii(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));
+Got one of the listed errors
+create table t6 (colint int, col1 char(30)) engine='MYISAM'
+partition by range(colint)
+(partition p0 values less than (ascii('a')),
+partition p1 values less than maxvalue);
+Got one of the listed errors
+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 (col1 char(30)) engine='MYISAM' ;
+create table t22 (col1 char(30)) engine='MYISAM' ;
+create table t33 (col1 char(30)) engine='MYISAM' ;
+create table t44 (colint int, col1 char(30)) engine='MYISAM' ;
+create table t55 (colint int, col1 char(30)) engine='MYISAM' ;
+create table t66 (colint int, col1 char(30)) engine='MYISAM' ;
+alter table t11
+partition by range(ascii(col1))
+(partition p0 values less than (15),
+partition p1 values less than (31));
+Got one of the listed errors
+alter table t22
+partition by list(ascii(col1))
+(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));
+Got one of the listed errors
+alter table t33
+partition by hash(ascii(col1));
+Got one of the listed errors
+alter table t44
+partition by range(colint)
+subpartition by hash(ascii(col1)) subpartitions 2
+(partition p0 values less than (15),
+partition p1 values less than (31));
+Got one of the listed errors
+alter table t55
+partition by list(colint)
+subpartition by hash(ascii(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));
+Got one of the listed errors
+alter table t66
+partition by range(colint)
+(partition p0 values less than (ascii('a')),
+partition p1 values less than maxvalue);
+Got one of the listed errors
+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 ;
+-------------------------------------------------------------------------
+--- ord(col1) in partition with coltype char(30)
+-------------------------------------------------------------------------
+must all fail!
+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 table t1 (col1 char(30)) engine='MYISAM'
+partition by range(ord(col1))
+(partition p0 values less than (15),
+partition p1 values less than (31));
+Got one of the listed errors
+create table t2 (col1 char(30)) engine='MYISAM'
+partition by list(ord(col1))
+(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));
+Got one of the listed errors
+create table t3 (col1 char(30)) engine='MYISAM'
+partition by hash(ord(col1));
+Got one of the listed errors
+create table t4 (colint int, col1 char(30)) engine='MYISAM'
+partition by range(colint)
+subpartition by hash(ord(col1)) subpartitions 2
+(partition p0 values less than (15),
+partition p1 values less than (31));
+Got one of the listed errors
+create table t5 (colint int, col1 char(30)) engine='MYISAM'
+partition by list(colint)
+subpartition by hash(ord(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));
+Got one of the listed errors
+create table t6 (colint int, col1 char(30)) engine='MYISAM'
+partition by range(colint)
+(partition p0 values less than (ord('a')),
+partition p1 values less than maxvalue);
+Got one of the listed errors
+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 (col1 char(30)) engine='MYISAM' ;
+create table t22 (col1 char(30)) engine='MYISAM' ;
+create table t33 (col1 char(30)) engine='MYISAM' ;
+create table t44 (colint int, col1 char(30)) engine='MYISAM' ;
+create table t55 (colint int, col1 char(30)) engine='MYISAM' ;
+create table t66 (colint int, col1 char(30)) engine='MYISAM' ;
+alter table t11
+partition by range(ord(col1))
+(partition p0 values less than (15),
+partition p1 values less than (31));
+Got one of the listed errors
+alter table t22
+partition by list(ord(col1))
+(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));
+Got one of the listed errors
+alter table t33
+partition by hash(ord(col1));
+Got one of the listed errors
+alter table t44
+partition by range(colint)
+subpartition by hash(ord(col1)) subpartitions 2
+(partition p0 values less than (15),
+partition p1 values less than (31));
+Got one of the listed errors
+alter table t55
+partition by list(colint)
+subpartition by hash(ord(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));
+Got one of the listed errors
+alter table t66
+partition by range(colint)
+(partition p0 values less than (ord('a')),
+partition p1 values less than maxvalue);
+Got one of the listed errors
+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 ;
+-------------------------------------------------------------------------
--- greatest(col1,15) in partition with coltype int
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -15,28 +211,34 @@ create table t1 (col1 int) engine='MYISAM'
partition by range(greatest(col1,15))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 int) engine='MYISAM'
partition by list(greatest(col1,15))
(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));
+Got one of the listed errors
create table t3 (col1 int) engine='MYISAM'
partition by hash(greatest(col1,15));
+Got one of the listed errors
create table t4 (colint int, col1 int) engine='MYISAM'
partition by range(colint)
subpartition by hash(greatest(col1,15)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 int) engine='MYISAM'
partition by list(colint)
subpartition by hash(greatest(col1,15)) 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));
+Got one of the listed errors
create table t6 (colint int, col1 int) engine='MYISAM'
partition by range(colint)
(partition p0 values less than (greatest(1,15)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -53,28 +255,34 @@ alter table t11
partition by range(greatest(col1,15))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(greatest(col1,15))
(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));
+Got one of the listed errors
alter table t33
partition by hash(greatest(col1,15));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(greatest(col1,15)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(greatest(col1,15)) 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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (greatest(1,15)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -90,7 +298,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- isnull(col1) in partition with coltype int
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -101,28 +309,34 @@ create table t1 (col1 int) engine='MYISAM'
partition by range(isnull(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 int) engine='MYISAM'
partition by list(isnull(col1))
(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));
+Got one of the listed errors
create table t3 (col1 int) engine='MYISAM'
partition by hash(isnull(col1));
+Got one of the listed errors
create table t4 (colint int, col1 int) engine='MYISAM'
partition by range(colint)
subpartition by hash(isnull(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 int) engine='MYISAM'
partition by list(colint)
subpartition by hash(isnull(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));
+Got one of the listed errors
create table t6 (colint int, col1 int) engine='MYISAM'
partition by range(colint)
(partition p0 values less than (isnull(15)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -139,28 +353,34 @@ alter table t11
partition by range(isnull(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(isnull(col1))
(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));
+Got one of the listed errors
alter table t33
partition by hash(isnull(col1));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(isnull(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(isnull(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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (isnull(15)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -176,7 +396,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- least(col1,15) in partition with coltype int
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -187,28 +407,34 @@ create table t1 (col1 int) engine='MYISAM'
partition by range(least(col1,15))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 int) engine='MYISAM'
partition by list(least(col1,15))
(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));
+Got one of the listed errors
create table t3 (col1 int) engine='MYISAM'
partition by hash(least(col1,15));
+Got one of the listed errors
create table t4 (colint int, col1 int) engine='MYISAM'
partition by range(colint)
subpartition by hash(least(col1,15)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 int) engine='MYISAM'
partition by list(colint)
subpartition by hash(least(col1,15)) 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));
+Got one of the listed errors
create table t6 (colint int, col1 int) engine='MYISAM'
partition by range(colint)
(partition p0 values less than (least(15,30)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -225,28 +451,34 @@ alter table t11
partition by range(least(col1,15))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(least(col1,15))
(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));
+Got one of the listed errors
alter table t33
partition by hash(least(col1,15));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(least(col1,15)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(least(col1,15)) 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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (least(15,30)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -262,7 +494,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- case when col1>15 then 20 else 10 end in partition with coltype int
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -273,28 +505,34 @@ create table t1 (col1 int) engine='MYISAM'
partition by range(case when col1>15 then 20 else 10 end)
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 int) engine='MYISAM'
partition by list(case when col1>15 then 20 else 10 end)
(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));
+Got one of the listed errors
create table t3 (col1 int) engine='MYISAM'
partition by hash(case when col1>15 then 20 else 10 end);
+Got one of the listed errors
create table t4 (colint int, col1 int) engine='MYISAM'
partition by range(colint)
subpartition by hash(case when col1>15 then 20 else 10 end) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 int) engine='MYISAM'
partition by list(colint)
subpartition by hash(case when col1>15 then 20 else 10 end) 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));
+Got one of the listed errors
create table t6 (colint int, col1 int) engine='MYISAM'
partition by range(colint)
(partition p0 values less than (case when 1>30 then 20 else 15 end),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -311,28 +549,34 @@ alter table t11
partition by range(case when col1>15 then 20 else 10 end)
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(case when col1>15 then 20 else 10 end)
(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));
+Got one of the listed errors
alter table t33
partition by hash(case when col1>15 then 20 else 10 end);
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(case when col1>15 then 20 else 10 end) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(case when col1>15 then 20 else 10 end) 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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (case when 1>30 then 20 else 15 end),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -348,7 +592,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- ifnull(col1,30) in partition with coltype int
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -359,28 +603,34 @@ create table t1 (col1 int) engine='MYISAM'
partition by range(ifnull(col1,30))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 int) engine='MYISAM'
partition by list(ifnull(col1,30))
(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));
+Got one of the listed errors
create table t3 (col1 int) engine='MYISAM'
partition by hash(ifnull(col1,30));
+Got one of the listed errors
create table t4 (colint int, col1 int) engine='MYISAM'
partition by range(colint)
subpartition by hash(ifnull(col1,30)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 int) engine='MYISAM'
partition by list(colint)
subpartition by hash(ifnull(col1,30)) 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));
+Got one of the listed errors
create table t6 (colint int, col1 int) engine='MYISAM'
partition by range(colint)
(partition p0 values less than (ifnull(1,30)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -397,28 +647,34 @@ alter table t11
partition by range(ifnull(col1,30))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(ifnull(col1,30))
(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));
+Got one of the listed errors
alter table t33
partition by hash(ifnull(col1,30));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(ifnull(col1,30)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(ifnull(col1,30)) 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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (ifnull(1,30)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -434,7 +690,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- nullif(col1,30) in partition with coltype int
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -445,28 +701,34 @@ create table t1 (col1 int) engine='MYISAM'
partition by range(nullif(col1,30))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 int) engine='MYISAM'
partition by list(nullif(col1,30))
(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));
+Got one of the listed errors
create table t3 (col1 int) engine='MYISAM'
partition by hash(nullif(col1,30));
+Got one of the listed errors
create table t4 (colint int, col1 int) engine='MYISAM'
partition by range(colint)
subpartition by hash(nullif(col1,30)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 int) engine='MYISAM'
partition by list(colint)
subpartition by hash(nullif(col1,30)) 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));
+Got one of the listed errors
create table t6 (colint int, col1 int) engine='MYISAM'
partition by range(colint)
(partition p0 values less than (nullif(1,30)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -483,28 +745,34 @@ alter table t11
partition by range(nullif(col1,30))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(nullif(col1,30))
(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));
+Got one of the listed errors
alter table t33
partition by hash(nullif(col1,30));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(nullif(col1,30)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(nullif(col1,30)) 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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (nullif(1,30)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -520,7 +788,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- bit_length(col1) in partition with coltype int
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -531,28 +799,34 @@ create table t1 (col1 int) engine='MYISAM'
partition by range(bit_length(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 int) engine='MYISAM'
partition by list(bit_length(col1))
(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));
+Got one of the listed errors
create table t3 (col1 int) engine='MYISAM'
partition by hash(bit_length(col1));
+Got one of the listed errors
create table t4 (colint int, col1 int) engine='MYISAM'
partition by range(colint)
subpartition by hash(bit_length(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 int) engine='MYISAM'
partition by list(colint)
subpartition by hash(bit_length(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));
+Got one of the listed errors
create table t6 (colint int, col1 int) engine='MYISAM'
partition by range(colint)
(partition p0 values less than (bit_length(255)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -569,28 +843,34 @@ alter table t11
partition by range(bit_length(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(bit_length(col1))
(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));
+Got one of the listed errors
alter table t33
partition by hash(bit_length(col1));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(bit_length(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(bit_length(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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (bit_length(255)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -606,7 +886,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- bit_length(col1) in partition with coltype char(30)
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -617,28 +897,34 @@ create table t1 (col1 char(30)) engine='MYISAM'
partition by range(bit_length(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 char(30)) engine='MYISAM'
partition by list(bit_length(col1))
(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));
+Got one of the listed errors
create table t3 (col1 char(30)) engine='MYISAM'
partition by hash(bit_length(col1));
+Got one of the listed errors
create table t4 (colint int, col1 char(30)) engine='MYISAM'
partition by range(colint)
subpartition by hash(bit_length(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 char(30)) engine='MYISAM'
partition by list(colint)
subpartition by hash(bit_length(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));
+Got one of the listed errors
create table t6 (colint int, col1 char(30)) engine='MYISAM'
partition by range(colint)
(partition p0 values less than (bit_length(255)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -655,28 +941,34 @@ alter table t11
partition by range(bit_length(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(bit_length(col1))
(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));
+Got one of the listed errors
alter table t33
partition by hash(bit_length(col1));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(bit_length(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(bit_length(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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (bit_length(255)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -692,7 +984,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- char_length(col1) in partition with coltype char(30)
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -703,28 +995,34 @@ create table t1 (col1 char(30)) engine='MYISAM'
partition by range(char_length(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 char(30)) engine='MYISAM'
partition by list(char_length(col1))
(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));
+Got one of the listed errors
create table t3 (col1 char(30)) engine='MYISAM'
partition by hash(char_length(col1));
+Got one of the listed errors
create table t4 (colint int, col1 char(30)) engine='MYISAM'
partition by range(colint)
subpartition by hash(char_length(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 char(30)) engine='MYISAM'
partition by list(colint)
subpartition by hash(char_length(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));
+Got one of the listed errors
create table t6 (colint int, col1 char(30)) engine='MYISAM'
partition by range(colint)
(partition p0 values less than (char_length('a')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -741,28 +1039,34 @@ alter table t11
partition by range(char_length(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(char_length(col1))
(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));
+Got one of the listed errors
alter table t33
partition by hash(char_length(col1));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(char_length(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(char_length(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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (char_length('a')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -778,7 +1082,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- character_length(col1) in partition with coltype int
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -789,28 +1093,34 @@ create table t1 (col1 int) engine='MYISAM'
partition by range(character_length(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 int) engine='MYISAM'
partition by list(character_length(col1))
(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));
+Got one of the listed errors
create table t3 (col1 int) engine='MYISAM'
partition by hash(character_length(col1));
+Got one of the listed errors
create table t4 (colint int, col1 int) engine='MYISAM'
partition by range(colint)
subpartition by hash(character_length(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 int) engine='MYISAM'
partition by list(colint)
subpartition by hash(character_length(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));
+Got one of the listed errors
create table t6 (colint int, col1 int) engine='MYISAM'
partition by range(colint)
(partition p0 values less than (find_in_set('i','a,b,c,d,e,f,g,h,i')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -827,28 +1137,34 @@ alter table t11
partition by range(character_length(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(character_length(col1))
(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));
+Got one of the listed errors
alter table t33
partition by hash(character_length(col1));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(character_length(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(character_length(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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (find_in_set('i','a,b,c,d,e,f,g,h,i')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -864,7 +1180,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- character_length(col1) in partition with coltype char(30)
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -875,28 +1191,34 @@ create table t1 (col1 char(30)) engine='MYISAM'
partition by range(character_length(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 char(30)) engine='MYISAM'
partition by list(character_length(col1))
(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));
+Got one of the listed errors
create table t3 (col1 char(30)) engine='MYISAM'
partition by hash(character_length(col1));
+Got one of the listed errors
create table t4 (colint int, col1 char(30)) engine='MYISAM'
partition by range(colint)
subpartition by hash(character_length(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 char(30)) engine='MYISAM'
partition by list(colint)
subpartition by hash(character_length(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));
+Got one of the listed errors
create table t6 (colint int, col1 char(30)) engine='MYISAM'
partition by range(colint)
(partition p0 values less than (find_in_set('i','a,b,c,d,e,f,g,h,i')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -913,28 +1235,34 @@ alter table t11
partition by range(character_length(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(character_length(col1))
(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));
+Got one of the listed errors
alter table t33
partition by hash(character_length(col1));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(character_length(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(character_length(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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (find_in_set('i','a,b,c,d,e,f,g,h,i')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -950,7 +1278,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- instr(col1,'acb') in partition with coltype int
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -961,28 +1289,34 @@ create table t1 (col1 int) engine='MYISAM'
partition by range(instr(col1,'acb'))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 int) engine='MYISAM'
partition by list(instr(col1,'acb'))
(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));
+Got one of the listed errors
create table t3 (col1 int) engine='MYISAM'
partition by hash(instr(col1,'acb'));
+Got one of the listed errors
create table t4 (colint int, col1 int) engine='MYISAM'
partition by range(colint)
subpartition by hash(instr(col1,'acb')) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 int) engine='MYISAM'
partition by list(colint)
subpartition by hash(instr(col1,'acb')) 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));
+Got one of the listed errors
create table t6 (colint int, col1 int) engine='MYISAM'
partition by range(colint)
(partition p0 values less than (instr('i','a,b,c,d,e,f,g,h,i')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -999,28 +1333,34 @@ alter table t11
partition by range(instr(col1,'acb'))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(instr(col1,'acb'))
(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));
+Got one of the listed errors
alter table t33
partition by hash(instr(col1,'acb'));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(instr(col1,'acb')) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(instr(col1,'acb')) 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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (instr('i','a,b,c,d,e,f,g,h,i')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -1036,7 +1376,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- instr(col1,'acb') in partition with coltype char(30)
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -1047,28 +1387,34 @@ create table t1 (col1 char(30)) engine='MYISAM'
partition by range(instr(col1,'acb'))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 char(30)) engine='MYISAM'
partition by list(instr(col1,'acb'))
(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));
+Got one of the listed errors
create table t3 (col1 char(30)) engine='MYISAM'
partition by hash(instr(col1,'acb'));
+Got one of the listed errors
create table t4 (colint int, col1 char(30)) engine='MYISAM'
partition by range(colint)
subpartition by hash(instr(col1,'acb')) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 char(30)) engine='MYISAM'
partition by list(colint)
subpartition by hash(instr(col1,'acb')) 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));
+Got one of the listed errors
create table t6 (colint int, col1 char(30)) engine='MYISAM'
partition by range(colint)
(partition p0 values less than (instr('i','a,b,c,d,e,f,g,h,i')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -1085,28 +1431,34 @@ alter table t11
partition by range(instr(col1,'acb'))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(instr(col1,'acb'))
(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));
+Got one of the listed errors
alter table t33
partition by hash(instr(col1,'acb'));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(instr(col1,'acb')) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(instr(col1,'acb')) 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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (instr('i','a,b,c,d,e,f,g,h,i')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -1122,7 +1474,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- length(col1) in partition with coltype int
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -1133,28 +1485,34 @@ create table t1 (col1 int) engine='MYISAM'
partition by range(length(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 int) engine='MYISAM'
partition by list(length(col1))
(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));
+Got one of the listed errors
create table t3 (col1 int) engine='MYISAM'
partition by hash(length(col1));
+Got one of the listed errors
create table t4 (colint int, col1 int) engine='MYISAM'
partition by range(colint)
subpartition by hash(length(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 int) engine='MYISAM'
partition by list(colint)
subpartition by hash(length(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));
+Got one of the listed errors
create table t6 (colint int, col1 int) engine='MYISAM'
partition by range(colint)
(partition p0 values less than (length('a,b,c,d,e,f,g,h,i')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -1171,28 +1529,34 @@ alter table t11
partition by range(length(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(length(col1))
(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));
+Got one of the listed errors
alter table t33
partition by hash(length(col1));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(length(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(length(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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (length('a,b,c,d,e,f,g,h,i')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -1208,7 +1572,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- locate('a',col1) in partition with coltype int
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -1219,28 +1583,34 @@ create table t1 (col1 int) engine='MYISAM'
partition by range(locate('a',col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 int) engine='MYISAM'
partition by list(locate('a',col1))
(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));
+Got one of the listed errors
create table t3 (col1 int) engine='MYISAM'
partition by hash(locate('a',col1));
+Got one of the listed errors
create table t4 (colint int, col1 int) engine='MYISAM'
partition by range(colint)
subpartition by hash(locate('a',col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 int) engine='MYISAM'
partition by list(colint)
subpartition by hash(locate('a',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));
+Got one of the listed errors
create table t6 (colint int, col1 int) engine='MYISAM'
partition by range(colint)
(partition p0 values less than (locate('i','a,b,c,d,e,f,g,h,i')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -1257,28 +1627,34 @@ alter table t11
partition by range(locate('a',col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(locate('a',col1))
(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));
+Got one of the listed errors
alter table t33
partition by hash(locate('a',col1));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(locate('a',col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(locate('a',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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (locate('i','a,b,c,d,e,f,g,h,i')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -1294,7 +1670,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- locate('a',col1) in partition with coltype char(30)
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -1305,28 +1681,34 @@ create table t1 (col1 char(30)) engine='MYISAM'
partition by range(locate('a',col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 char(30)) engine='MYISAM'
partition by list(locate('a',col1))
(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));
+Got one of the listed errors
create table t3 (col1 char(30)) engine='MYISAM'
partition by hash(locate('a',col1));
+Got one of the listed errors
create table t4 (colint int, col1 char(30)) engine='MYISAM'
partition by range(colint)
subpartition by hash(locate('a',col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 char(30)) engine='MYISAM'
partition by list(colint)
subpartition by hash(locate('a',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));
+Got one of the listed errors
create table t6 (colint int, col1 char(30)) engine='MYISAM'
partition by range(colint)
(partition p0 values less than (locate('i','a,b,c,d,e,f,g,h,i')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -1343,28 +1725,34 @@ alter table t11
partition by range(locate('a',col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(locate('a',col1))
(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));
+Got one of the listed errors
alter table t33
partition by hash(locate('a',col1));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(locate('a',col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(locate('a',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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (locate('i','a,b,c,d,e,f,g,h,i')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -1380,7 +1768,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- octet_length(col1) in partition with coltype char(30)
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -1391,28 +1779,34 @@ create table t1 (col1 char(30)) engine='MYISAM'
partition by range(octet_length(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 char(30)) engine='MYISAM'
partition by list(octet_length(col1))
(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));
+Got one of the listed errors
create table t3 (col1 char(30)) engine='MYISAM'
partition by hash(octet_length(col1));
+Got one of the listed errors
create table t4 (colint int, col1 char(30)) engine='MYISAM'
partition by range(colint)
subpartition by hash(octet_length(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 char(30)) engine='MYISAM'
partition by list(colint)
subpartition by hash(octet_length(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));
+Got one of the listed errors
create table t6 (colint int, col1 char(30)) engine='MYISAM'
partition by range(colint)
(partition p0 values less than (octet_length('a,b,c,d,e,f,g,h,i')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -1429,28 +1823,34 @@ alter table t11
partition by range(octet_length(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(octet_length(col1))
(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));
+Got one of the listed errors
alter table t33
partition by hash(octet_length(col1));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(octet_length(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(octet_length(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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (octet_length('a,b,c,d,e,f,g,h,i')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -1466,7 +1866,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- position('a' in col1) in partition with coltype int
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -1477,28 +1877,34 @@ create table t1 (col1 int) engine='MYISAM'
partition by range(position('a' in col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 int) engine='MYISAM'
partition by list(position('a' in col1))
(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));
+Got one of the listed errors
create table t3 (col1 int) engine='MYISAM'
partition by hash(position('a' in col1));
+Got one of the listed errors
create table t4 (colint int, col1 int) engine='MYISAM'
partition by range(colint)
subpartition by hash(position('a' in col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 int) engine='MYISAM'
partition by list(colint)
subpartition by hash(position('a' in 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));
+Got one of the listed errors
create table t6 (colint int, col1 int) engine='MYISAM'
partition by range(colint)
(partition p0 values less than (position('i' in 'a,b,c,d,e,f,g,h,i')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -1515,28 +1921,34 @@ alter table t11
partition by range(position('a' in col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(position('a' in col1))
(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));
+Got one of the listed errors
alter table t33
partition by hash(position('a' in col1));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(position('a' in col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(position('a' in 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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (position('i' in 'a,b,c,d,e,f,g,h,i')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -1552,7 +1964,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- position('a' in col1) in partition with coltype char(30)
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -1563,28 +1975,34 @@ create table t1 (col1 char(30)) engine='MYISAM'
partition by range(position('a' in col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 char(30)) engine='MYISAM'
partition by list(position('a' in col1))
(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));
+Got one of the listed errors
create table t3 (col1 char(30)) engine='MYISAM'
partition by hash(position('a' in col1));
+Got one of the listed errors
create table t4 (colint int, col1 char(30)) engine='MYISAM'
partition by range(colint)
subpartition by hash(position('a' in col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 char(30)) engine='MYISAM'
partition by list(colint)
subpartition by hash(position('a' in 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));
+Got one of the listed errors
create table t6 (colint int, col1 char(30)) engine='MYISAM'
partition by range(colint)
(partition p0 values less than (position('i' in 'a,b,c,d,e,f,g,h,i')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -1601,28 +2019,34 @@ alter table t11
partition by range(position('a' in col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(position('a' in col1))
(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));
+Got one of the listed errors
alter table t33
partition by hash(position('a' in col1));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(position('a' in col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(position('a' in 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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (position('i' in 'a,b,c,d,e,f,g,h,i')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -1638,7 +2062,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- strcmp(col1,'acb') in partition with coltype int
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -1649,28 +2073,34 @@ create table t1 (col1 int) engine='MYISAM'
partition by range(strcmp(col1,'acb'))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 int) engine='MYISAM'
partition by list(strcmp(col1,'acb'))
(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));
+Got one of the listed errors
create table t3 (col1 int) engine='MYISAM'
partition by hash(strcmp(col1,'acb'));
+Got one of the listed errors
create table t4 (colint int, col1 int) engine='MYISAM'
partition by range(colint)
subpartition by hash(strcmp(col1,'acb')) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 int) engine='MYISAM'
partition by list(colint)
subpartition by hash(strcmp(col1,'acb')) 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));
+Got one of the listed errors
create table t6 (colint int, col1 int) engine='MYISAM'
partition by range(colint)
(partition p0 values less than (strcmp('i','a,b,c,d,e,f,g,h,i')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -1687,28 +2117,34 @@ alter table t11
partition by range(strcmp(col1,'acb'))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(strcmp(col1,'acb'))
(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));
+Got one of the listed errors
alter table t33
partition by hash(strcmp(col1,'acb'));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(strcmp(col1,'acb')) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(strcmp(col1,'acb')) 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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (strcmp('i','a,b,c,d,e,f,g,h,i')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -1724,7 +2160,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- strcmp(col1,'acb') in partition with coltype char(30)
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -1735,28 +2171,34 @@ create table t1 (col1 char(30)) engine='MYISAM'
partition by range(strcmp(col1,'acb'))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 char(30)) engine='MYISAM'
partition by list(strcmp(col1,'acb'))
(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));
+Got one of the listed errors
create table t3 (col1 char(30)) engine='MYISAM'
partition by hash(strcmp(col1,'acb'));
+Got one of the listed errors
create table t4 (colint int, col1 char(30)) engine='MYISAM'
partition by range(colint)
subpartition by hash(strcmp(col1,'acb')) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 char(30)) engine='MYISAM'
partition by list(colint)
subpartition by hash(strcmp(col1,'acb')) 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));
+Got one of the listed errors
create table t6 (colint int, col1 char(30)) engine='MYISAM'
partition by range(colint)
(partition p0 values less than (strcmp('i','a,b,c,d,e,f,g,h,i')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -1773,28 +2215,34 @@ alter table t11
partition by range(strcmp(col1,'acb'))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(strcmp(col1,'acb'))
(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));
+Got one of the listed errors
alter table t33
partition by hash(strcmp(col1,'acb'));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(strcmp(col1,'acb')) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(strcmp(col1,'acb')) 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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (strcmp('i','a,b,c,d,e,f,g,h,i')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -1810,7 +2258,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- crc32(col1) in partition with coltype char(30)
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -1821,28 +2269,34 @@ create table t1 (col1 char(30)) engine='MYISAM'
partition by range(crc32(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 char(30)) engine='MYISAM'
partition by list(crc32(col1))
(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));
+Got one of the listed errors
create table t3 (col1 char(30)) engine='MYISAM'
partition by hash(crc32(col1));
+Got one of the listed errors
create table t4 (colint int, col1 char(30)) engine='MYISAM'
partition by range(colint)
subpartition by hash(crc32(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 char(30)) engine='MYISAM'
partition by list(colint)
subpartition by hash(crc32(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));
+Got one of the listed errors
create table t6 (colint int, col1 char(30)) engine='MYISAM'
partition by range(colint)
(partition p0 values less than (crc32('a,b,c,d,e,f,g,h,i')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -1859,28 +2313,34 @@ alter table t11
partition by range(crc32(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(crc32(col1))
(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));
+Got one of the listed errors
alter table t33
partition by hash(crc32(col1));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(crc32(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(crc32(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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (crc32('a,b,c,d,e,f,g,h,i')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -1896,7 +2356,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- round(col1) in partition with coltype int
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -1907,28 +2367,34 @@ create table t1 (col1 int) engine='MYISAM'
partition by range(round(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 int) engine='MYISAM'
partition by list(round(col1))
(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));
+Got one of the listed errors
create table t3 (col1 int) engine='MYISAM'
partition by hash(round(col1));
+Got one of the listed errors
create table t4 (colint int, col1 int) engine='MYISAM'
partition by range(colint)
subpartition by hash(round(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 int) engine='MYISAM'
partition by list(colint)
subpartition by hash(round(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));
+Got one of the listed errors
create table t6 (colint int, col1 int) engine='MYISAM'
partition by range(colint)
(partition p0 values less than (round(15)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -1945,28 +2411,34 @@ alter table t11
partition by range(round(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(round(col1))
(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));
+Got one of the listed errors
alter table t33
partition by hash(round(col1));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(round(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(round(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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (round(15)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -1982,7 +2454,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- sign(col1) in partition with coltype int
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -1993,28 +2465,34 @@ create table t1 (col1 int) engine='MYISAM'
partition by range(sign(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 int) engine='MYISAM'
partition by list(sign(col1))
(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));
+Got one of the listed errors
create table t3 (col1 int) engine='MYISAM'
partition by hash(sign(col1));
+Got one of the listed errors
create table t4 (colint int, col1 int) engine='MYISAM'
partition by range(colint)
subpartition by hash(sign(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 int) engine='MYISAM'
partition by list(colint)
subpartition by hash(sign(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));
+Got one of the listed errors
create table t6 (colint int, col1 int) engine='MYISAM'
partition by range(colint)
(partition p0 values less than (sign(123)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -2031,114 +2509,34 @@ alter table t11
partition by range(sign(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(sign(col1))
(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));
+Got one of the listed errors
alter table t33
partition by hash(sign(col1));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(sign(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(sign(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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (sign(123)),
partition p1 values less than maxvalue);
-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,col1) in partition with coltype datetime
--------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
-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 table t1 (col1 datetime) engine='MYISAM'
-partition by range(datediff(col1,col1))
-(partition p0 values less than (15),
-partition p1 values less than (31));
-create table t2 (col1 datetime) engine='MYISAM'
-partition by list(datediff(col1,col1))
-(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));
-create table t3 (col1 datetime) engine='MYISAM'
-partition by hash(datediff(col1,col1));
-create table t4 (colint int, col1 datetime) engine='MYISAM'
-partition by range(colint)
-subpartition by hash(datediff(col1,col1)) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than (31));
-create table t5 (colint int, col1 datetime) engine='MYISAM'
-partition by list(colint)
-subpartition by hash(datediff(col1,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));
-create table t6 (colint int, col1 datetime) engine='MYISAM'
-partition by range(colint)
-(partition p0 values less than (datediff('1997-11-30 23:59:59','1997-12-31')),
-partition p1 values less than maxvalue);
-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 (col1 datetime) engine='MYISAM' ;
-create table t22 (col1 datetime) engine='MYISAM' ;
-create table t33 (col1 datetime) engine='MYISAM' ;
-create table t44 (colint int, col1 datetime) engine='MYISAM' ;
-create table t55 (colint int, col1 datetime) engine='MYISAM' ;
-create table t66 (colint int, col1 datetime) engine='MYISAM' ;
-alter table t11
-partition by range(datediff(col1,col1))
-(partition p0 values less than (15),
-partition p1 values less than (31));
-alter table t22
-partition by list(datediff(col1,col1))
-(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));
-alter table t33
-partition by hash(datediff(col1,col1));
-alter table t44
-partition by range(colint)
-subpartition by hash(datediff(col1,col1)) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than (31));
-alter table t55
-partition by list(colint)
-subpartition by hash(datediff(col1,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));
-alter table t66
-partition by range(colint)
-(partition p0 values less than (datediff('1997-11-30 23:59:59','1997-12-31')),
-partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -2154,7 +2552,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- period_add(col1,5) in partition with coltype datetime
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -2165,28 +2563,34 @@ create table t1 (col1 datetime) engine='MYISAM'
partition by range(period_add(col1,5))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 datetime) engine='MYISAM'
partition by list(period_add(col1,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));
+Got one of the listed errors
create table t3 (col1 datetime) engine='MYISAM'
partition by hash(period_add(col1,5));
+Got one of the listed errors
create table t4 (colint int, col1 datetime) engine='MYISAM'
partition by range(colint)
subpartition by hash(period_add(col1,5)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 datetime) engine='MYISAM'
partition by list(colint)
subpartition by hash(period_add(col1,5)) 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));
+Got one of the listed errors
create table t6 (colint int, col1 datetime) engine='MYISAM'
partition by range(colint)
(partition p0 values less than (period_add(9804,5)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -2203,28 +2607,34 @@ alter table t11
partition by range(period_add(col1,5))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(period_add(col1,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));
+Got one of the listed errors
alter table t33
partition by hash(period_add(col1,5));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(period_add(col1,5)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(period_add(col1,5)) 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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (period_add(9804,5)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -2240,7 +2650,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- period_diff(col1,col2) in partition with coltype datetime,col2 datetime
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -2251,28 +2661,34 @@ create table t1 (col1 datetime,col2 datetime) engine='MYISAM'
partition by range(period_diff(col1,col2))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 datetime,col2 datetime) engine='MYISAM'
partition by list(period_diff(col1,col2))
(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));
+Got one of the listed errors
create table t3 (col1 datetime,col2 datetime) engine='MYISAM'
partition by hash(period_diff(col1,col2));
+Got one of the listed errors
create table t4 (colint int, col1 datetime,col2 datetime) engine='MYISAM'
partition by range(colint)
subpartition by hash(period_diff(col1,col2)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 datetime,col2 datetime) engine='MYISAM'
partition by list(colint)
subpartition by hash(period_diff(col1,col2)) 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));
+Got one of the listed errors
create table t6 (colint int, col1 datetime,col2 datetime) engine='MYISAM'
partition by range(colint)
(partition p0 values less than (period_diff(9809,199907)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -2289,28 +2705,34 @@ alter table t11
partition by range(period_diff(col1,col2))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(period_diff(col1,col2))
(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));
+Got one of the listed errors
alter table t33
partition by hash(period_diff(col1,col2));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(period_diff(col1,col2)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(period_diff(col1,col2)) 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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (period_diff(9809,199907)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -2326,7 +2748,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- period_diff(col1,col2) in partition with coltype int,col2 int
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -2337,28 +2759,34 @@ create table t1 (col1 int,col2 int) engine='MYISAM'
partition by range(period_diff(col1,col2))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 int,col2 int) engine='MYISAM'
partition by list(period_diff(col1,col2))
(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));
+Got one of the listed errors
create table t3 (col1 int,col2 int) engine='MYISAM'
partition by hash(period_diff(col1,col2));
+Got one of the listed errors
create table t4 (colint int, col1 int,col2 int) engine='MYISAM'
partition by range(colint)
subpartition by hash(period_diff(col1,col2)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 int,col2 int) engine='MYISAM'
partition by list(colint)
subpartition by hash(period_diff(col1,col2)) 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));
+Got one of the listed errors
create table t6 (colint int, col1 int,col2 int) engine='MYISAM'
partition by range(colint)
(partition p0 values less than (period_diff(9809,199907)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -2375,28 +2803,34 @@ alter table t11
partition by range(period_diff(col1,col2))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(period_diff(col1,col2))
(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));
+Got one of the listed errors
alter table t33
partition by hash(period_diff(col1,col2));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(period_diff(col1,col2)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(period_diff(col1,col2)) 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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (period_diff(9809,199907)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -2412,7 +2846,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- timestampdiff(day,5,col1) in partition with coltype datetime
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -2423,28 +2857,34 @@ create table t1 (col1 datetime) engine='MYISAM'
partition by range(timestampdiff(day,5,col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 datetime) engine='MYISAM'
partition by list(timestampdiff(day,5,col1))
(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));
+Got one of the listed errors
create table t3 (col1 datetime) engine='MYISAM'
partition by hash(timestampdiff(day,5,col1));
+Got one of the listed errors
create table t4 (colint int, col1 datetime) engine='MYISAM'
partition by range(colint)
subpartition by hash(timestampdiff(day,5,col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 datetime) engine='MYISAM'
partition by list(colint)
subpartition by hash(timestampdiff(day,5,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));
+Got one of the listed errors
create table t6 (colint int, col1 datetime) engine='MYISAM'
partition by range(colint)
(partition p0 values less than (timestampdiff(YEAR,'2002-05-01','2001-01-01')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -2461,28 +2901,34 @@ alter table t11
partition by range(timestampdiff(day,5,col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(timestampdiff(day,5,col1))
(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));
+Got one of the listed errors
alter table t33
partition by hash(timestampdiff(day,5,col1));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(timestampdiff(day,5,col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(timestampdiff(day,5,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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (timestampdiff(YEAR,'2002-05-01','2001-01-01')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -2498,7 +2944,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- unix_timestamp(col1) in partition with coltype date
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -2509,28 +2955,34 @@ create table t1 (col1 date) engine='MYISAM'
partition by range(unix_timestamp(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 date) engine='MYISAM'
partition by list(unix_timestamp(col1))
(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));
+Got one of the listed errors
create table t3 (col1 date) engine='MYISAM'
partition by hash(unix_timestamp(col1));
+Got one of the listed errors
create table t4 (colint int, col1 date) engine='MYISAM'
partition by range(colint)
subpartition by hash(unix_timestamp(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 date) engine='MYISAM'
partition by list(colint)
subpartition by hash(unix_timestamp(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));
+Got one of the listed errors
create table t6 (colint int, col1 date) engine='MYISAM'
partition by range(colint)
(partition p0 values less than (unix_timestamp ('2002-05-01')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -2547,28 +2999,34 @@ alter table t11
partition by range(unix_timestamp(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(unix_timestamp(col1))
(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));
+Got one of the listed errors
alter table t33
partition by hash(unix_timestamp(col1));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(unix_timestamp(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(unix_timestamp(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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (unix_timestamp ('2002-05-01')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -2584,7 +3042,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- week(col1) in partition with coltype datetime
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -2595,28 +3053,34 @@ create table t1 (col1 datetime) engine='MYISAM'
partition by range(week(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 datetime) engine='MYISAM'
partition by list(week(col1))
(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));
+Got one of the listed errors
create table t3 (col1 datetime) engine='MYISAM'
partition by hash(week(col1));
+Got one of the listed errors
create table t4 (colint int, col1 datetime) engine='MYISAM'
partition by range(colint)
subpartition by hash(week(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 datetime) engine='MYISAM'
partition by list(colint)
subpartition by hash(week(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));
+Got one of the listed errors
create table t6 (colint int, col1 datetime) engine='MYISAM'
partition by range(colint)
(partition p0 values less than (week('2002-05-01')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -2633,28 +3097,132 @@ alter table t11
partition by range(week(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(week(col1))
(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));
+Got one of the listed errors
alter table t33
partition by hash(week(col1));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(week(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(week(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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (week('2002-05-01')),
partition p1 values less than maxvalue);
+Got one of the listed errors
+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 ;
+-------------------------------------------------------------------------
+--- weekofyear(col1) in partition with coltype datetime
+-------------------------------------------------------------------------
+must all fail!
+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 table t1 (col1 datetime) engine='MYISAM'
+partition by range(weekofyear(col1))
+(partition p0 values less than (15),
+partition p1 values less than (31));
+Got one of the listed errors
+create table t2 (col1 datetime) engine='MYISAM'
+partition by list(weekofyear(col1))
+(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));
+Got one of the listed errors
+create table t3 (col1 datetime) engine='MYISAM'
+partition by hash(weekofyear(col1));
+Got one of the listed errors
+create table t4 (colint int, col1 datetime) engine='MYISAM'
+partition by range(colint)
+subpartition by hash(weekofyear(col1)) subpartitions 2
+(partition p0 values less than (15),
+partition p1 values less than (31));
+Got one of the listed errors
+create table t5 (colint int, col1 datetime) engine='MYISAM'
+partition by list(colint)
+subpartition by hash(weekofyear(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));
+Got one of the listed errors
+create table t6 (colint int, col1 datetime) engine='MYISAM'
+partition by range(colint)
+(partition p0 values less than (weekofyear('2002-05-01')),
+partition p1 values less than maxvalue);
+Got one of the listed errors
+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 (col1 datetime) engine='MYISAM' ;
+create table t22 (col1 datetime) engine='MYISAM' ;
+create table t33 (col1 datetime) engine='MYISAM' ;
+create table t44 (colint int, col1 datetime) engine='MYISAM' ;
+create table t55 (colint int, col1 datetime) engine='MYISAM' ;
+create table t66 (colint int, col1 datetime) engine='MYISAM' ;
+alter table t11
+partition by range(weekofyear(col1))
+(partition p0 values less than (15),
+partition p1 values less than (31));
+Got one of the listed errors
+alter table t22
+partition by list(weekofyear(col1))
+(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));
+Got one of the listed errors
+alter table t33
+partition by hash(weekofyear(col1));
+Got one of the listed errors
+alter table t44
+partition by range(colint)
+subpartition by hash(weekofyear(col1)) subpartitions 2
+(partition p0 values less than (15),
+partition p1 values less than (31));
+Got one of the listed errors
+alter table t55
+partition by list(colint)
+subpartition by hash(weekofyear(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));
+Got one of the listed errors
+alter table t66
+partition by range(colint)
+(partition p0 values less than (weekofyear('2002-05-01')),
+partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -2670,7 +3238,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- cast(col1 as signed) in partition with coltype varchar(30)
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -2681,28 +3249,34 @@ create table t1 (col1 varchar(30)) engine='MYISAM'
partition by range(cast(col1 as signed))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 varchar(30)) engine='MYISAM'
partition by list(cast(col1 as signed))
(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));
+Got one of the listed errors
create table t3 (col1 varchar(30)) engine='MYISAM'
partition by hash(cast(col1 as signed));
+Got one of the listed errors
create table t4 (colint int, col1 varchar(30)) engine='MYISAM'
partition by range(colint)
subpartition by hash(cast(col1 as signed)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 varchar(30)) engine='MYISAM'
partition by list(colint)
subpartition by hash(cast(col1 as signed)) 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));
+Got one of the listed errors
create table t6 (colint int, col1 varchar(30)) engine='MYISAM'
partition by range(colint)
(partition p0 values less than (cast(123 as signed)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -2719,28 +3293,34 @@ alter table t11
partition by range(cast(col1 as signed))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(cast(col1 as signed))
(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));
+Got one of the listed errors
alter table t33
partition by hash(cast(col1 as signed));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(cast(col1 as signed)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(cast(col1 as signed)) 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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (cast(123 as signed)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -2756,7 +3336,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- convert(col1,unsigned) in partition with coltype varchar(30)
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -2767,28 +3347,34 @@ create table t1 (col1 varchar(30)) engine='MYISAM'
partition by range(convert(col1,unsigned))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 varchar(30)) engine='MYISAM'
partition by list(convert(col1,unsigned))
(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));
+Got one of the listed errors
create table t3 (col1 varchar(30)) engine='MYISAM'
partition by hash(convert(col1,unsigned));
+Got one of the listed errors
create table t4 (colint int, col1 varchar(30)) engine='MYISAM'
partition by range(colint)
subpartition by hash(convert(col1,unsigned)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 varchar(30)) engine='MYISAM'
partition by list(colint)
subpartition by hash(convert(col1,unsigned)) 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));
+Got one of the listed errors
create table t6 (colint int, col1 varchar(30)) engine='MYISAM'
partition by range(colint)
(partition p0 values less than (convert(123,unsigned)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -2805,28 +3391,34 @@ alter table t11
partition by range(convert(col1,unsigned))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(convert(col1,unsigned))
(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));
+Got one of the listed errors
alter table t33
partition by hash(convert(col1,unsigned));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(convert(col1,unsigned)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(convert(col1,unsigned)) 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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (convert(123,unsigned)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -2842,7 +3434,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- col1 | 20 in partition with coltype int
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -2853,28 +3445,34 @@ create table t1 (col1 int) engine='MYISAM'
partition by range(col1 | 20)
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 int) engine='MYISAM'
partition by list(col1 | 20)
(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));
+Got one of the listed errors
create table t3 (col1 int) engine='MYISAM'
partition by hash(col1 | 20);
+Got one of the listed errors
create table t4 (colint int, col1 int) engine='MYISAM'
partition by range(colint)
subpartition by hash(col1 | 20) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 int) engine='MYISAM'
partition by list(colint)
subpartition by hash(col1 | 20) 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));
+Got one of the listed errors
create table t6 (colint int, col1 int) engine='MYISAM'
partition by range(colint)
(partition p0 values less than (10 | 20),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -2891,28 +3489,34 @@ alter table t11
partition by range(col1 | 20)
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(col1 | 20)
(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));
+Got one of the listed errors
alter table t33
partition by hash(col1 | 20);
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(col1 | 20) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(col1 | 20) 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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (10 | 20),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -2928,7 +3532,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- col1 & 20 in partition with coltype int
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -2939,28 +3543,34 @@ create table t1 (col1 int) engine='MYISAM'
partition by range(col1 & 20)
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 int) engine='MYISAM'
partition by list(col1 & 20)
(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));
+Got one of the listed errors
create table t3 (col1 int) engine='MYISAM'
partition by hash(col1 & 20);
+Got one of the listed errors
create table t4 (colint int, col1 int) engine='MYISAM'
partition by range(colint)
subpartition by hash(col1 & 20) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 int) engine='MYISAM'
partition by list(colint)
subpartition by hash(col1 & 20) 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));
+Got one of the listed errors
create table t6 (colint int, col1 int) engine='MYISAM'
partition by range(colint)
(partition p0 values less than (10 & 20),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -2977,28 +3587,34 @@ alter table t11
partition by range(col1 & 20)
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(col1 & 20)
(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));
+Got one of the listed errors
alter table t33
partition by hash(col1 & 20);
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(col1 & 20) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(col1 & 20) 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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (10 & 20),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -3014,7 +3630,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- col1 ^ 20 in partition with coltype int
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -3025,28 +3641,34 @@ create table t1 (col1 int) engine='MYISAM'
partition by range(col1 ^ 20)
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 int) engine='MYISAM'
partition by list(col1 ^ 20)
(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));
+Got one of the listed errors
create table t3 (col1 int) engine='MYISAM'
partition by hash(col1 ^ 20);
+Got one of the listed errors
create table t4 (colint int, col1 int) engine='MYISAM'
partition by range(colint)
subpartition by hash(col1 ^ 20) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 int) engine='MYISAM'
partition by list(colint)
subpartition by hash(col1 ^ 20) 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));
+Got one of the listed errors
create table t6 (colint int, col1 int) engine='MYISAM'
partition by range(colint)
(partition p0 values less than (10 ^ 20),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -3063,28 +3685,34 @@ alter table t11
partition by range(col1 ^ 20)
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(col1 ^ 20)
(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));
+Got one of the listed errors
alter table t33
partition by hash(col1 ^ 20);
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(col1 ^ 20) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(col1 ^ 20) 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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (10 ^ 20),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -3100,7 +3728,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- col1 << 20 in partition with coltype int
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -3111,28 +3739,34 @@ create table t1 (col1 int) engine='MYISAM'
partition by range(col1 << 20)
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 int) engine='MYISAM'
partition by list(col1 << 20)
(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));
+Got one of the listed errors
create table t3 (col1 int) engine='MYISAM'
partition by hash(col1 << 20);
+Got one of the listed errors
create table t4 (colint int, col1 int) engine='MYISAM'
partition by range(colint)
subpartition by hash(col1 << 20) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 int) engine='MYISAM'
partition by list(colint)
subpartition by hash(col1 << 20) 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));
+Got one of the listed errors
create table t6 (colint int, col1 int) engine='MYISAM'
partition by range(colint)
(partition p0 values less than (10 << 20),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -3149,28 +3783,34 @@ alter table t11
partition by range(col1 << 20)
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(col1 << 20)
(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));
+Got one of the listed errors
alter table t33
partition by hash(col1 << 20);
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(col1 << 20) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(col1 << 20) 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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (10 << 20),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -3186,7 +3826,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- col1 >> 20 in partition with coltype int
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -3197,28 +3837,34 @@ create table t1 (col1 int) engine='MYISAM'
partition by range(col1 >> 20)
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 int) engine='MYISAM'
partition by list(col1 >> 20)
(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));
+Got one of the listed errors
create table t3 (col1 int) engine='MYISAM'
partition by hash(col1 >> 20);
+Got one of the listed errors
create table t4 (colint int, col1 int) engine='MYISAM'
partition by range(colint)
subpartition by hash(col1 >> 20) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 int) engine='MYISAM'
partition by list(colint)
subpartition by hash(col1 >> 20) 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));
+Got one of the listed errors
create table t6 (colint int, col1 int) engine='MYISAM'
partition by range(colint)
(partition p0 values less than (10 >> 20),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -3235,28 +3881,34 @@ alter table t11
partition by range(col1 >> 20)
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(col1 >> 20)
(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));
+Got one of the listed errors
alter table t33
partition by hash(col1 >> 20);
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(col1 >> 20) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(col1 >> 20) 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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (10 >> 20),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -3272,7 +3924,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- ~col1 in partition with coltype int
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -3283,28 +3935,34 @@ create table t1 (col1 int) engine='MYISAM'
partition by range(~col1)
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 int) engine='MYISAM'
partition by list(~col1)
(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));
+Got one of the listed errors
create table t3 (col1 int) engine='MYISAM'
partition by hash(~col1);
+Got one of the listed errors
create table t4 (colint int, col1 int) engine='MYISAM'
partition by range(colint)
subpartition by hash(~col1) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 int) engine='MYISAM'
partition by list(colint)
subpartition by hash(~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));
+Got one of the listed errors
create table t6 (colint int, col1 int) engine='MYISAM'
partition by range(colint)
(partition p0 values less than (~20),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -3321,28 +3979,34 @@ alter table t11
partition by range(~col1)
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(~col1)
(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));
+Got one of the listed errors
alter table t33
partition by hash(~col1);
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(~col1) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(~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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (~20),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -3358,7 +4022,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- bit_count(col1) in partition with coltype int
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -3369,28 +4033,34 @@ create table t1 (col1 int) engine='MYISAM'
partition by range(bit_count(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 int) engine='MYISAM'
partition by list(bit_count(col1))
(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));
+Got one of the listed errors
create table t3 (col1 int) engine='MYISAM'
partition by hash(bit_count(col1));
+Got one of the listed errors
create table t4 (colint int, col1 int) engine='MYISAM'
partition by range(colint)
subpartition by hash(bit_count(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 int) engine='MYISAM'
partition by list(colint)
subpartition by hash(bit_count(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));
+Got one of the listed errors
create table t6 (colint int, col1 int) engine='MYISAM'
partition by range(colint)
(partition p0 values less than (bit_count(20)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -3407,28 +4077,34 @@ alter table t11
partition by range(bit_count(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(bit_count(col1))
(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));
+Got one of the listed errors
alter table t33
partition by hash(bit_count(col1));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(bit_count(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(bit_count(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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (bit_count(20)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -3444,7 +4120,7 @@ drop table if exists t66 ;
-------------------------------------------------------------------------
--- inet_aton(col1) in partition with coltype int
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -3455,28 +4131,34 @@ create table t1 (col1 int) engine='MYISAM'
partition by range(inet_aton(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t2 (col1 int) engine='MYISAM'
partition by list(inet_aton(col1))
(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));
+Got one of the listed errors
create table t3 (col1 int) engine='MYISAM'
partition by hash(inet_aton(col1));
+Got one of the listed errors
create table t4 (colint int, col1 int) engine='MYISAM'
partition by range(colint)
subpartition by hash(inet_aton(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 int) engine='MYISAM'
partition by list(colint)
subpartition by hash(inet_aton(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));
+Got one of the listed errors
create table t6 (colint int, col1 int) engine='MYISAM'
partition by range(colint)
(partition p0 values less than (inet_aton('192.168.1.1')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -3493,28 +4175,34 @@ alter table t11
partition by range(inet_aton(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t22
partition by list(inet_aton(col1))
(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));
+Got one of the listed errors
alter table t33
partition by hash(inet_aton(col1));
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(inet_aton(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(inet_aton(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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (inet_aton('192.168.1.1')),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -3531,7 +4219,7 @@ set @var =20;
-------------------------------------------------------------------------
--- bit_length(col1)+@var-@var in partition with coltype int
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -3542,35 +4230,34 @@ create table t1 (col1 int) engine='MYISAM'
partition by range(bit_length(col1)+@var-@var)
(partition p0 values less than (15),
partition p1 values less than (31));
-ERROR 42000: Constant/Random expression in (sub)partitioning function is not allowed near ')
-(partition p0 values less than (15),
-partition p1 values less than (31))' at line 2
+Got one of the listed errors
create table t2 (col1 int) engine='MYISAM'
partition by list(bit_length(col1)+@var-@var)
(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));
-ERROR 42000: Constant/Random expression in (sub)partitioning function is not allowed near ')
-(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12' at line 2
+Got one of the listed errors
create table t3 (col1 int) engine='MYISAM'
partition by hash(bit_length(col1)+@var-@var);
-ERROR 42000: Constant/Random expression in (sub)partitioning function is not allowed near ')' at line 2
+Got one of the listed errors
create table t4 (colint int, col1 int) engine='MYISAM'
partition by range(colint)
subpartition by hash(bit_length(col1)+@var-@var) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 int) engine='MYISAM'
partition by list(colint)
subpartition by hash(bit_length(col1)+@var-@var) 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));
+Got one of the listed errors
create table t6 (colint int, col1 int) engine='MYISAM'
partition by range(colint)
(partition p0 values less than (bit_length(20)+@var-@var),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -3587,35 +4274,34 @@ alter table t11
partition by range(bit_length(col1)+@var-@var)
(partition p0 values less than (15),
partition p1 values less than (31));
-ERROR 42000: Constant/Random expression in (sub)partitioning function is not allowed near ')
-(partition p0 values less than (15),
-partition p1 values less than (31))' at line 2
+Got one of the listed errors
alter table t22
partition by list(bit_length(col1)+@var-@var)
(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));
-ERROR 42000: Constant/Random expression in (sub)partitioning function is not allowed near ')
-(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12' at line 2
+Got one of the listed errors
alter table t33
partition by hash(bit_length(col1)+@var-@var);
-ERROR 42000: Constant/Random expression in (sub)partitioning function is not allowed near ')' at line 2
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(bit_length(col1)+@var-@var) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(bit_length(col1)+@var-@var) 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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (bit_length(20)+@var-@var),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -3652,7 +4338,7 @@ end//
-------------------------------------------------------------------------
--- getmaxsigned_t1(col1) in partition with coltype int
-------------------------------------------------------------------------
-must all fail! (delete 0 and comment char, if bug fixed)
+must all fail!
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
@@ -3663,35 +4349,34 @@ create table t1 (col1 int) engine='MYISAM'
partition by range(getmaxsigned_t1(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
-ERROR 42000: Constant/Random expression in (sub)partitioning function is not allowed near ')
-(partition p0 values less than (15),
-partition p1 values less than (31))' at line 2
+Got one of the listed errors
create table t2 (col1 int) engine='MYISAM'
partition by list(getmaxsigned_t1(col1))
(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));
-ERROR 42000: Constant/Random expression in (sub)partitioning function is not allowed near ')
-(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12' at line 2
+Got one of the listed errors
create table t3 (col1 int) engine='MYISAM'
partition by hash(getmaxsigned_t1(col1));
-ERROR 42000: Constant/Random expression in (sub)partitioning function is not allowed near ')' at line 2
+Got one of the listed errors
create table t4 (colint int, col1 int) engine='MYISAM'
partition by range(colint)
subpartition by hash(getmaxsigned_t1(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
create table t5 (colint int, col1 int) engine='MYISAM'
partition by list(colint)
subpartition by hash(getmaxsigned_t1(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));
+Got one of the listed errors
create table t6 (colint int, col1 int) engine='MYISAM'
partition by range(colint)
(partition p0 values less than (getmaxsigned(10)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t11 ;
drop table if exists t22 ;
drop table if exists t33 ;
@@ -3708,35 +4393,34 @@ alter table t11
partition by range(getmaxsigned_t1(col1))
(partition p0 values less than (15),
partition p1 values less than (31));
-ERROR 42000: Constant/Random expression in (sub)partitioning function is not allowed near ')
-(partition p0 values less than (15),
-partition p1 values less than (31))' at line 2
+Got one of the listed errors
alter table t22
partition by list(getmaxsigned_t1(col1))
(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));
-ERROR 42000: Constant/Random expression in (sub)partitioning function is not allowed near ')
-(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12' at line 2
+Got one of the listed errors
alter table t33
partition by hash(getmaxsigned_t1(col1));
-ERROR 42000: Constant/Random expression in (sub)partitioning function is not allowed near ')' at line 2
+Got one of the listed errors
alter table t44
partition by range(colint)
subpartition by hash(getmaxsigned_t1(col1)) subpartitions 2
(partition p0 values less than (15),
partition p1 values less than (31));
+Got one of the listed errors
alter table t55
partition by list(colint)
subpartition by hash(getmaxsigned_t1(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));
+Got one of the listed errors
alter table t66
partition by range(colint)
(partition p0 values less than (getmaxsigned(10)),
partition p1 values less than maxvalue);
+Got one of the listed errors
drop table if exists t1 ;
drop table if exists t2 ;
drop table if exists t3 ;
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 1e158e0a787..c47c22ed363 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
@@ -55,9 +55,9 @@ insert into t2 values (17 );
insert into t3 values (5 );
insert into t3 values (13 );
insert into t3 values (17 );
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_int.inc' into table t4;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_int.inc' into table t5;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_int.inc' into table t6;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_int.inc' into table t4;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_int.inc' into table t5;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_int.inc' into table t6;
select abs(col1) from t1 order by col1;
abs(col1)
5
@@ -1675,7 +1675,7 @@ drop table if exists t44 ;
drop table if exists t55 ;
drop table if exists t66 ;
-------------------------------------------------------------------------
---- ascii(col1) in partition with coltype char(1)
+--- mod(col1,10) in partition with coltype int
-------------------------------------------------------------------------
drop table if exists t1 ;
drop table if exists t2 ;
@@ -1684,1510 +1684,14 @@ drop table if exists t4 ;
drop table if exists t5 ;
drop table if exists t6 ;
-------------------------------------------------------------------------
---- Create tables with ascii(col1)
+--- Create tables with mod(col1,10)
-------------------------------------------------------------------------
-create table t1 (col1 char(1)) engine='INNODB'
-partition by range(ascii(col1))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t2 (col1 char(1)) engine='INNODB'
-partition by list(ascii(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(1)) engine='INNODB'
-partition by hash(ascii(col1));
-create table t4 (colint int, col1 char(1)) engine='INNODB'
-partition by range(colint)
-subpartition by hash(ascii(col1)) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t5 (colint int, col1 char(1)) engine='INNODB'
-partition by list(colint)
-subpartition by hash(ascii(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(1)) engine='INNODB'
-partition by range(colint)
-(partition p0 values less than (ascii('5')),
-partition p1 values less than maxvalue);
--------------------------------------------------------------------------
---- Access tables with ascii(col1)
--------------------------------------------------------------------------
-insert into t1 values ('1');
-insert into t1 values ('9');
-insert into t2 values ('1');
-insert into t2 values ('9');
-insert into t2 values ('3');
-insert into t3 values ('1');
-insert into t3 values ('9');
-insert into t3 values ('3');
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_ch1.inc' into table t4;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_ch1.inc' into table t5;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_ch1.inc' into table t6;
-select ascii(col1) from t1 order by col1;
-ascii(col1)
-49
-57
-select * from t1 order by col1;
-col1
-1
-9
-select * from t2 order by col1;
-col1
-1
-3
-9
-select * from t3 order by col1;
-col1
-1
-3
-9
-select * from t4 order by colint;
-colint col1
-1 1
-2 9
-3 3
-4 8
-select * from t5 order by colint;
-colint col1
-1 1
-2 9
-3 3
-4 8
-select * from t6 order by colint;
-colint col1
-1 1
-2 9
-3 3
-4 8
-update t1 set col1='8' where col1='1';
-update t2 set col1='8' where col1='1';
-update t3 set col1='8' where col1='1';
-update t4 set col1='8' where col1='1';
-update t5 set col1='8' where col1='1';
-update t6 set col1='8' where col1='1';
-select * from t1 order by col1;
-col1
-8
-9
-select * from t2 order by col1;
-col1
-3
-8
-9
-select * from t3 order by col1;
-col1
-3
-8
-9
-select * from t4 order by colint;
-colint col1
-1 8
-2 9
-3 3
-4 8
-select * from t5 order by colint;
-colint col1
-1 8
-2 9
-3 3
-4 8
-select * from t6 order by colint;
-colint col1
-1 8
-2 9
-3 3
-4 8
--------------------------------------------------------------------------
---- Alter tables with ascii(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(ascii(col1))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t22
-partition by list(ascii(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(ascii(col1));
-alter table t44
-partition by range(colint)
-subpartition by hash(ascii(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(ascii(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 (ascii('5')),
-partition p1 values less than maxvalue);
-select * from t11 order by col1;
-col1
-8
-9
-select * from t22 order by col1;
-col1
-3
-8
-9
-select * from t33 order by col1;
-col1
-3
-8
-9
-select * from t44 order by colint;
-colint col1
-1 8
-2 9
-3 3
-4 8
-select * from t55 order by colint;
-colint col1
-1 8
-2 9
-3 3
-4 8
-select * from t66 order by colint;
-colint col1
-1 8
-2 9
-3 3
-4 8
----------------------------
----- 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
-8
-9
-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
-8
-9
-alter table t55
-partition by list(colint)
-subpartition by hash(ascii(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(1) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (ascii(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 8
-2 9
-3 3
-4 8
-alter table t66
-reorganize partition p0,p1 into
-(partition s1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 8
-2 9
-3 3
-4 8
-alter table t66
-reorganize partition s1 into
-(partition p0 values less than (ascii('5')),
-partition p1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 8
-2 9
-3 3
-4 8
-alter table t66
-reorganize partition p0,p1 into
-(partition s1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 8
-2 9
-3 3
-4 8
-alter table t66
-reorganize partition s1 into
-(partition p0 values less than (ascii('5')),
-partition p1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 8
-2 9
-3 3
-4 8
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with ascii(col1)
--------------------------------------------------------------------------
-delete from t1 where col1='9';
-delete from t2 where col1='9';
-delete from t3 where col1='9';
-delete from t4 where col1='9';
-delete from t5 where col1='9';
-delete from t6 where col1='9';
-select * from t1 order by col1;
-col1
-8
-select * from t2 order by col1;
-col1
-3
-8
-select * from t3 order by col1;
-col1
-3
-8
-select * from t4 order by colint;
-colint col1
-1 8
-3 3
-4 8
-select * from t5 order by colint;
-colint col1
-1 8
-3 3
-4 8
-insert into t1 values ('9');
-insert into t2 values ('9');
-insert into t3 values ('9');
-insert into t4 values (60,'9');
-insert into t5 values (60,'9');
-insert into t6 values (60,'9');
-select * from t1 order by col1;
-col1
-8
-9
-select * from t2 order by col1;
-col1
-3
-8
-9
-select * from t3 order by col1;
-col1
-3
-8
-9
-select * from t4 order by colint;
-colint col1
-1 8
-3 3
-4 8
-60 9
-select * from t5 order by colint;
-colint col1
-1 8
-3 3
-4 8
-60 9
-select * from t6 order by colint;
-colint col1
-1 8
-3 3
-4 8
-60 9
-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
-8
-9
-select * from t2 order by col1;
-col1
-3
-8
-9
-select * from t3 order by col1;
-col1
-3
-8
-9
-select * from t4 order by colint;
-colint col1
-60 9
-select * from t5 order by colint;
-colint col1
-60 9
-select * from t6 order by colint;
-colint col1
-60 9
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with ascii(col1)
--------------------------------------------------------------------------
-delete from t11 where col1='9';
-delete from t22 where col1='9';
-delete from t33 where col1='9';
-delete from t44 where col1='9';
-delete from t55 where col1='9';
-delete from t66 where col1='9';
-select * from t11 order by col1;
-col1
-8
-select * from t22 order by col1;
-col1
-3
-8
-select * from t33 order by col1;
-col1
-3
-8
-select * from t44 order by colint;
-colint col1
-1 8
-3 3
-4 8
-select * from t55 order by colint;
-colint col1
-1 8
-3 3
-4 8
-insert into t11 values ('9');
-insert into t22 values ('9');
-insert into t33 values ('9');
-insert into t44 values (60,'9');
-insert into t55 values (60,'9');
-insert into t66 values (60,'9');
-select * from t11 order by col1;
-col1
-8
-9
-select * from t22 order by col1;
-col1
-3
-8
-9
-select * from t33 order by col1;
-col1
-3
-8
-9
-select * from t44 order by colint;
-colint col1
-1 8
-3 3
-4 8
-60 9
-select * from t55 order by colint;
-colint col1
-1 8
-3 3
-4 8
-60 9
-select * from t66 order by colint;
-colint col1
-1 8
-3 3
-4 8
-60 9
-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
-8
-9
-select * from t22 order by col1;
-col1
-3
-8
-9
-select * from t33 order by col1;
-col1
-3
-8
-9
-select * from t44 order by colint;
-colint col1
-60 9
-select * from t55 order by colint;
-colint col1
-60 9
-select * from t66 order by colint;
-colint col1
-60 9
--------------------------
----- 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 ;
--------------------------------------------------------------------------
---- cast(ceiling(col1) as signed integer) in partition with coltype float(7,4)
--------------------------------------------------------------------------
-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 cast(ceiling(col1) as signed integer)
--------------------------------------------------------------------------
-create table t1 (col1 float(7,4)) engine='INNODB'
-partition by range(cast(ceiling(col1) as signed integer))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t2 (col1 float(7,4)) engine='INNODB'
-partition by list(cast(ceiling(col1) as signed integer))
-(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 float(7,4)) engine='INNODB'
-partition by hash(cast(ceiling(col1) as signed integer));
-create table t4 (colint int, col1 float(7,4)) engine='INNODB'
-partition by range(colint)
-subpartition by hash(cast(ceiling(col1) as signed integer)) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t5 (colint int, col1 float(7,4)) engine='INNODB'
-partition by list(colint)
-subpartition by hash(cast(ceiling(col1) as signed integer)) 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 float(7,4)) engine='INNODB'
-partition by range(colint)
-(partition p0 values less than (cast(ceiling(15) as signed integer)),
-partition p1 values less than maxvalue);
--------------------------------------------------------------------------
---- Access tables with cast(ceiling(col1) as signed integer)
--------------------------------------------------------------------------
-insert into t1 values (5.1230);
-insert into t1 values (13.345);
-insert into t2 values (5.1230);
-insert into t2 values (13.345);
-insert into t2 values (17.987);
-insert into t3 values (5.1230);
-insert into t3 values (13.345);
-insert into t3 values (17.987);
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_float.inc' into table t4;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_float.inc' into table t5;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_float.inc' into table t6;
-select cast(ceiling(col1) as signed integer) from t1 order by col1;
-cast(ceiling(col1) as signed integer)
-6
-14
-select * from t1 order by col1;
-col1
-5.1230
-13.3450
-select * from t2 order by col1;
-col1
-5.1230
-13.3450
-17.9870
-select * from t3 order by col1;
-col1
-5.1230
-13.3450
-17.9870
-select * from t4 order by colint;
-colint col1
-1 5.1230
-2 13.3450
-3 17.9870
-4 15.6540
-select * from t5 order by colint;
-colint col1
-1 5.1230
-2 13.3450
-3 17.9870
-4 15.6540
-select * from t6 order by colint;
-colint col1
-1 5.1230
-2 13.3450
-3 17.9870
-4 15.6540
-update t1 set col1=15.654 where col1=5.1230;
-update t2 set col1=15.654 where col1=5.1230;
-update t3 set col1=15.654 where col1=5.1230;
-update t4 set col1=15.654 where col1=5.1230;
-update t5 set col1=15.654 where col1=5.1230;
-update t6 set col1=15.654 where col1=5.1230;
-select * from t1 order by col1;
-col1
-13.3450
-15.6540
-select * from t2 order by col1;
-col1
-13.3450
-15.6540
-17.9870
-select * from t3 order by col1;
-col1
-13.3450
-15.6540
-17.9870
-select * from t4 order by colint;
-colint col1
-1 15.6540
-2 13.3450
-3 17.9870
-4 15.6540
-select * from t5 order by colint;
-colint col1
-1 15.6540
-2 13.3450
-3 17.9870
-4 15.6540
-select * from t6 order by colint;
-colint col1
-1 15.6540
-2 13.3450
-3 17.9870
-4 15.6540
--------------------------------------------------------------------------
---- Alter tables with cast(ceiling(col1) as signed integer)
--------------------------------------------------------------------------
-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(cast(ceiling(col1) as signed integer))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t22
-partition by list(cast(ceiling(col1) as signed integer))
-(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(cast(ceiling(col1) as signed integer));
-alter table t44
-partition by range(colint)
-subpartition by hash(cast(ceiling(col1) as signed integer)) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t55
-partition by list(colint)
-subpartition by hash(cast(ceiling(col1) as signed integer)) 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 (cast(ceiling(15) as signed integer)),
-partition p1 values less than maxvalue);
-select * from t11 order by col1;
-col1
-13.3450
-15.6540
-select * from t22 order by col1;
-col1
-13.3450
-15.6540
-17.9870
-select * from t33 order by col1;
-col1
-13.3450
-15.6540
-17.9870
-select * from t44 order by colint;
-colint col1
-1 15.6540
-2 13.3450
-3 17.9870
-4 15.6540
-select * from t55 order by colint;
-colint col1
-1 15.6540
-2 13.3450
-3 17.9870
-4 15.6540
-select * from t66 order by colint;
-colint col1
-1 15.6540
-2 13.3450
-3 17.9870
-4 15.6540
----------------------------
----- 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
-13.3450
-15.6540
-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
-13.3450
-15.6540
-alter table t55
-partition by list(colint)
-subpartition by hash(cast(ceiling(col1) as signed integer)) 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` float(7,4) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (cast(ceiling(col1) as signed integer)) 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 15.6540
-2 13.3450
-3 17.9870
-4 15.6540
-alter table t66
-reorganize partition p0,p1 into
-(partition s1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 15.6540
-2 13.3450
-3 17.9870
-4 15.6540
-alter table t66
-reorganize partition s1 into
-(partition p0 values less than (cast(ceiling(15) as signed integer)),
-partition p1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 15.6540
-2 13.3450
-3 17.9870
-4 15.6540
-alter table t66
-reorganize partition p0,p1 into
-(partition s1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 15.6540
-2 13.3450
-3 17.9870
-4 15.6540
-alter table t66
-reorganize partition s1 into
-(partition p0 values less than (cast(ceiling(15) as signed integer)),
-partition p1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 15.6540
-2 13.3450
-3 17.9870
-4 15.6540
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with cast(ceiling(col1) as signed integer)
--------------------------------------------------------------------------
-delete from t1 where col1=13.345;
-delete from t2 where col1=13.345;
-delete from t3 where col1=13.345;
-delete from t4 where col1=13.345;
-delete from t5 where col1=13.345;
-delete from t6 where col1=13.345;
-select * from t1 order by col1;
-col1
-15.6540
-select * from t2 order by col1;
-col1
-15.6540
-17.9870
-select * from t3 order by col1;
-col1
-15.6540
-17.9870
-select * from t4 order by colint;
-colint col1
-1 15.6540
-3 17.9870
-4 15.6540
-select * from t5 order by colint;
-colint col1
-1 15.6540
-3 17.9870
-4 15.6540
-insert into t1 values (13.345);
-insert into t2 values (13.345);
-insert into t3 values (13.345);
-insert into t4 values (60,13.345);
-insert into t5 values (60,13.345);
-insert into t6 values (60,13.345);
-select * from t1 order by col1;
-col1
-13.3450
-15.6540
-select * from t2 order by col1;
-col1
-13.3450
-15.6540
-17.9870
-select * from t3 order by col1;
-col1
-13.3450
-15.6540
-17.9870
-select * from t4 order by colint;
-colint col1
-1 15.6540
-3 17.9870
-4 15.6540
-60 13.3450
-select * from t5 order by colint;
-colint col1
-1 15.6540
-3 17.9870
-4 15.6540
-60 13.3450
-select * from t6 order by colint;
-colint col1
-1 15.6540
-3 17.9870
-4 15.6540
-60 13.3450
-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
-15.6540
-select * from t2 order by col1;
-col1
-13.3450
-15.6540
-17.9870
-select * from t3 order by col1;
-col1
-13.3450
-15.6540
-17.9870
-select * from t4 order by colint;
-colint col1
-60 13.3450
-select * from t5 order by colint;
-colint col1
-60 13.3450
-select * from t6 order by colint;
-colint col1
-60 13.3450
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with cast(ceiling(col1) as signed integer)
--------------------------------------------------------------------------
-delete from t11 where col1=13.345;
-delete from t22 where col1=13.345;
-delete from t33 where col1=13.345;
-delete from t44 where col1=13.345;
-delete from t55 where col1=13.345;
-delete from t66 where col1=13.345;
-select * from t11 order by col1;
-col1
-15.6540
-select * from t22 order by col1;
-col1
-15.6540
-17.9870
-select * from t33 order by col1;
-col1
-15.6540
-17.9870
-select * from t44 order by colint;
-colint col1
-1 15.6540
-3 17.9870
-4 15.6540
-select * from t55 order by colint;
-colint col1
-1 15.6540
-3 17.9870
-4 15.6540
-insert into t11 values (13.345);
-insert into t22 values (13.345);
-insert into t33 values (13.345);
-insert into t44 values (60,13.345);
-insert into t55 values (60,13.345);
-insert into t66 values (60,13.345);
-select * from t11 order by col1;
-col1
-13.3450
-15.6540
-select * from t22 order by col1;
-col1
-13.3450
-15.6540
-17.9870
-select * from t33 order by col1;
-col1
-13.3450
-15.6540
-17.9870
-select * from t44 order by colint;
-colint col1
-1 15.6540
-3 17.9870
-4 15.6540
-60 13.3450
-select * from t55 order by colint;
-colint col1
-1 15.6540
-3 17.9870
-4 15.6540
-60 13.3450
-select * from t66 order by colint;
-colint col1
-1 15.6540
-3 17.9870
-4 15.6540
-60 13.3450
-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
-15.6540
-select * from t22 order by col1;
-col1
-13.3450
-15.6540
-17.9870
-select * from t33 order by col1;
-col1
-13.3450
-15.6540
-17.9870
-select * from t44 order by colint;
-colint col1
-60 13.3450
-select * from t55 order by colint;
-colint col1
-60 13.3450
-select * from t66 order by colint;
-colint col1
-60 13.3450
--------------------------
----- 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 ;
--------------------------------------------------------------------------
---- cast(floor(col1) as signed) in partition with coltype float(7,4)
--------------------------------------------------------------------------
-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 cast(floor(col1) as signed)
--------------------------------------------------------------------------
-create table t1 (col1 float(7,4)) engine='INNODB'
-partition by range(cast(floor(col1) as signed))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t2 (col1 float(7,4)) engine='INNODB'
-partition by list(cast(floor(col1) as signed))
-(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 float(7,4)) engine='INNODB'
-partition by hash(cast(floor(col1) as signed));
-create table t4 (colint int, col1 float(7,4)) engine='INNODB'
-partition by range(colint)
-subpartition by hash(cast(floor(col1) as signed)) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t5 (colint int, col1 float(7,4)) engine='INNODB'
-partition by list(colint)
-subpartition by hash(cast(floor(col1) as signed)) 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 float(7,4)) engine='INNODB'
-partition by range(colint)
-(partition p0 values less than (cast(floor(15.123) as signed)),
-partition p1 values less than maxvalue);
--------------------------------------------------------------------------
---- Access tables with cast(floor(col1) as signed)
--------------------------------------------------------------------------
-insert into t1 values (5.1230);
-insert into t1 values (13.345);
-insert into t2 values (5.1230);
-insert into t2 values (13.345);
-insert into t2 values (17.987);
-insert into t3 values (5.1230);
-insert into t3 values (13.345);
-insert into t3 values (17.987);
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_float.inc' into table t4;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_float.inc' into table t5;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_float.inc' into table t6;
-select cast(floor(col1) as signed) from t1 order by col1;
-cast(floor(col1) as signed)
-5
-13
-select * from t1 order by col1;
-col1
-5.1230
-13.3450
-select * from t2 order by col1;
-col1
-5.1230
-13.3450
-17.9870
-select * from t3 order by col1;
-col1
-5.1230
-13.3450
-17.9870
-select * from t4 order by colint;
-colint col1
-1 5.1230
-2 13.3450
-3 17.9870
-4 15.6540
-select * from t5 order by colint;
-colint col1
-1 5.1230
-2 13.3450
-3 17.9870
-4 15.6540
-select * from t6 order by colint;
-colint col1
-1 5.1230
-2 13.3450
-3 17.9870
-4 15.6540
-update t1 set col1=15.654 where col1=5.1230;
-update t2 set col1=15.654 where col1=5.1230;
-update t3 set col1=15.654 where col1=5.1230;
-update t4 set col1=15.654 where col1=5.1230;
-update t5 set col1=15.654 where col1=5.1230;
-update t6 set col1=15.654 where col1=5.1230;
-select * from t1 order by col1;
-col1
-13.3450
-15.6540
-select * from t2 order by col1;
-col1
-13.3450
-15.6540
-17.9870
-select * from t3 order by col1;
-col1
-13.3450
-15.6540
-17.9870
-select * from t4 order by colint;
-colint col1
-1 15.6540
-2 13.3450
-3 17.9870
-4 15.6540
-select * from t5 order by colint;
-colint col1
-1 15.6540
-2 13.3450
-3 17.9870
-4 15.6540
-select * from t6 order by colint;
-colint col1
-1 15.6540
-2 13.3450
-3 17.9870
-4 15.6540
--------------------------------------------------------------------------
---- Alter tables with cast(floor(col1) as signed)
--------------------------------------------------------------------------
-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(cast(floor(col1) as signed))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t22
-partition by list(cast(floor(col1) as signed))
-(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(cast(floor(col1) as signed));
-alter table t44
-partition by range(colint)
-subpartition by hash(cast(floor(col1) as signed)) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t55
-partition by list(colint)
-subpartition by hash(cast(floor(col1) as signed)) 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 (cast(floor(15.123) as signed)),
-partition p1 values less than maxvalue);
-select * from t11 order by col1;
-col1
-13.3450
-15.6540
-select * from t22 order by col1;
-col1
-13.3450
-15.6540
-17.9870
-select * from t33 order by col1;
-col1
-13.3450
-15.6540
-17.9870
-select * from t44 order by colint;
-colint col1
-1 15.6540
-2 13.3450
-3 17.9870
-4 15.6540
-select * from t55 order by colint;
-colint col1
-1 15.6540
-2 13.3450
-3 17.9870
-4 15.6540
-select * from t66 order by colint;
-colint col1
-1 15.6540
-2 13.3450
-3 17.9870
-4 15.6540
----------------------------
----- 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
-13.3450
-15.6540
-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
-13.3450
-15.6540
-alter table t55
-partition by list(colint)
-subpartition by hash(cast(floor(col1) as signed)) 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` float(7,4) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (cast(floor(col1) as signed)) 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 15.6540
-2 13.3450
-3 17.9870
-4 15.6540
-alter table t66
-reorganize partition p0,p1 into
-(partition s1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 15.6540
-2 13.3450
-3 17.9870
-4 15.6540
-alter table t66
-reorganize partition s1 into
-(partition p0 values less than (cast(floor(15.123) as signed)),
-partition p1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 15.6540
-2 13.3450
-3 17.9870
-4 15.6540
-alter table t66
-reorganize partition p0,p1 into
-(partition s1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 15.6540
-2 13.3450
-3 17.9870
-4 15.6540
-alter table t66
-reorganize partition s1 into
-(partition p0 values less than (cast(floor(15.123) as signed)),
-partition p1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 15.6540
-2 13.3450
-3 17.9870
-4 15.6540
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with cast(floor(col1) as signed)
--------------------------------------------------------------------------
-delete from t1 where col1=13.345;
-delete from t2 where col1=13.345;
-delete from t3 where col1=13.345;
-delete from t4 where col1=13.345;
-delete from t5 where col1=13.345;
-delete from t6 where col1=13.345;
-select * from t1 order by col1;
-col1
-15.6540
-select * from t2 order by col1;
-col1
-15.6540
-17.9870
-select * from t3 order by col1;
-col1
-15.6540
-17.9870
-select * from t4 order by colint;
-colint col1
-1 15.6540
-3 17.9870
-4 15.6540
-select * from t5 order by colint;
-colint col1
-1 15.6540
-3 17.9870
-4 15.6540
-insert into t1 values (13.345);
-insert into t2 values (13.345);
-insert into t3 values (13.345);
-insert into t4 values (60,13.345);
-insert into t5 values (60,13.345);
-insert into t6 values (60,13.345);
-select * from t1 order by col1;
-col1
-13.3450
-15.6540
-select * from t2 order by col1;
-col1
-13.3450
-15.6540
-17.9870
-select * from t3 order by col1;
-col1
-13.3450
-15.6540
-17.9870
-select * from t4 order by colint;
-colint col1
-1 15.6540
-3 17.9870
-4 15.6540
-60 13.3450
-select * from t5 order by colint;
-colint col1
-1 15.6540
-3 17.9870
-4 15.6540
-60 13.3450
-select * from t6 order by colint;
-colint col1
-1 15.6540
-3 17.9870
-4 15.6540
-60 13.3450
-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
-15.6540
-select * from t2 order by col1;
-col1
-13.3450
-15.6540
-17.9870
-select * from t3 order by col1;
-col1
-13.3450
-15.6540
-17.9870
-select * from t4 order by colint;
-colint col1
-60 13.3450
-select * from t5 order by colint;
-colint col1
-60 13.3450
-select * from t6 order by colint;
-colint col1
-60 13.3450
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with cast(floor(col1) as signed)
--------------------------------------------------------------------------
-delete from t11 where col1=13.345;
-delete from t22 where col1=13.345;
-delete from t33 where col1=13.345;
-delete from t44 where col1=13.345;
-delete from t55 where col1=13.345;
-delete from t66 where col1=13.345;
-select * from t11 order by col1;
-col1
-15.6540
-select * from t22 order by col1;
-col1
-15.6540
-17.9870
-select * from t33 order by col1;
-col1
-15.6540
-17.9870
-select * from t44 order by colint;
-colint col1
-1 15.6540
-3 17.9870
-4 15.6540
-select * from t55 order by colint;
-colint col1
-1 15.6540
-3 17.9870
-4 15.6540
-insert into t11 values (13.345);
-insert into t22 values (13.345);
-insert into t33 values (13.345);
-insert into t44 values (60,13.345);
-insert into t55 values (60,13.345);
-insert into t66 values (60,13.345);
-select * from t11 order by col1;
-col1
-13.3450
-15.6540
-select * from t22 order by col1;
-col1
-13.3450
-15.6540
-17.9870
-select * from t33 order by col1;
-col1
-13.3450
-15.6540
-17.9870
-select * from t44 order by colint;
-colint col1
-1 15.6540
-3 17.9870
-4 15.6540
-60 13.3450
-select * from t55 order by colint;
-colint col1
-1 15.6540
-3 17.9870
-4 15.6540
-60 13.3450
-select * from t66 order by colint;
-colint col1
-1 15.6540
-3 17.9870
-4 15.6540
-60 13.3450
-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
-15.6540
-select * from t22 order by col1;
-col1
-13.3450
-15.6540
-17.9870
-select * from t33 order by col1;
-col1
-13.3450
-15.6540
-17.9870
-select * from t44 order by colint;
-colint col1
-60 13.3450
-select * from t55 order by colint;
-colint col1
-60 13.3450
-select * from t66 order by colint;
-colint col1
-60 13.3450
--------------------------
----- 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 ;
--------------------------------------------------------------------------
---- cast(mod(col1,10) as signed) in partition with coltype float(7,4)
--------------------------------------------------------------------------
-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 cast(mod(col1,10) as signed)
--------------------------------------------------------------------------
-create table t1 (col1 float(7,4)) engine='INNODB'
-partition by range(cast(mod(col1,10) as signed))
+create table t1 (col1 int) engine='INNODB'
+partition by range(mod(col1,10))
(partition p0 values less than (15),
partition p1 values less than maxvalue);
-create table t2 (col1 float(7,4)) engine='INNODB'
-partition by list(cast(mod(col1,10) as signed))
+create table t2 (col1 int) engine='INNODB'
+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),
@@ -3195,16 +1699,16 @@ 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 float(7,4)) engine='INNODB'
-partition by hash(cast(mod(col1,10) as signed));
-create table t4 (colint int, col1 float(7,4)) engine='INNODB'
+create table t3 (col1 int) engine='INNODB'
+partition by hash(mod(col1,10));
+create table t4 (colint int, col1 int) engine='INNODB'
partition by range(colint)
-subpartition by hash(cast(mod(col1,10) as signed)) subpartitions 2
+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 float(7,4)) engine='INNODB'
+create table t5 (colint int, col1 int) engine='INNODB'
partition by list(colint)
-subpartition by hash(cast(mod(col1,10) as signed)) subpartitions 2
+subpartition by hash(mod(col1,10)) 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),
@@ -3212,100 +1716,346 @@ 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 float(7,4)) engine='INNODB'
+create table t6 (colint int, col1 int) engine='INNODB'
partition by range(colint)
-(partition p0 values less than (cast(mod(15,10) as signed)),
+(partition p0 values less than (mod(15,10)),
partition p1 values less than maxvalue);
-------------------------------------------------------------------------
---- Access tables with cast(mod(col1,10) as signed)
+--- Access tables with mod(col1,10)
-------------------------------------------------------------------------
-insert into t1 values (5.0000);
+insert into t1 values (5);
insert into t1 values (19);
-insert into t2 values (5.0000);
+insert into t2 values (5);
insert into t2 values (19);
insert into t2 values (17);
-insert into t3 values (5.0000);
+insert into t3 values (5);
insert into t3 values (19);
insert into t3 values (17);
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_float.inc' into table t4;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_float.inc' into table t5;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_float.inc' into table t6;
-select cast(mod(col1,10) as signed) from t1 order by col1;
-cast(mod(col1,10) as signed)
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_int.inc' into table t4;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_int.inc' into table t5;
+load data infile '../std_data_ln/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.0000
-19.0000
+5
+19
select * from t2 order by col1;
col1
-5.0000
-17.0000
-19.0000
+5
+17
+19
select * from t3 order by col1;
col1
-5.0000
-17.0000
-19.0000
+5
+17
+19
select * from t4 order by colint;
colint col1
-1 5.1230
-2 13.3450
-3 17.9870
-4 15.6540
+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.1230
-2 13.3450
-3 17.9870
-4 15.6540
+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.1230
-2 13.3450
-3 17.9870
-4 15.6540
-update t1 set col1=15 where col1=5.0000;
-update t2 set col1=15 where col1=5.0000;
-update t3 set col1=15 where col1=5.0000;
-update t4 set col1=15 where col1=5.0000;
-update t5 set col1=15 where col1=5.0000;
-update t6 set col1=15 where col1=5.0000;
+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.0000
-19.0000
+15
+19
select * from t2 order by col1;
col1
-15.0000
-17.0000
-19.0000
+15
+17
+19
select * from t3 order by col1;
col1
-15.0000
-17.0000
-19.0000
+15
+17
+19
select * from t4 order by colint;
colint col1
-1 5.1230
-2 13.3450
-3 17.9870
-4 15.6540
+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 5.1230
-2 13.3450
-3 17.9870
-4 15.6540
+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 5.1230
-2 13.3450
-3 17.9870
-4 15.6540
+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 cast(mod(col1,10) as signed)
+--- Alter tables with mod(col1,10)
-------------------------------------------------------------------------
drop table if exists t11 ;
drop table if exists t22 ;
@@ -3320,11 +2070,11 @@ 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(cast(mod(col1,10) as signed))
+partition by range(mod(col1,10))
(partition p0 values less than (15),
partition p1 values less than maxvalue);
alter table t22
-partition by list(cast(mod(col1,10) as signed))
+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),
@@ -3333,15 +2083,15 @@ 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(cast(mod(col1,10) as signed));
+partition by hash(mod(col1,10));
alter table t44
partition by range(colint)
-subpartition by hash(cast(mod(col1,10) as signed)) subpartitions 2
+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(cast(mod(col1,10) as signed)) subpartitions 2
+subpartition by hash(mod(col1,10)) 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),
@@ -3351,40 +2101,163 @@ 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 (cast(mod(15,10) as signed)),
+(partition p0 values less than (mod(15,10)),
partition p1 values less than maxvalue);
select * from t11 order by col1;
col1
-15.0000
-19.0000
+15
+19
select * from t22 order by col1;
col1
-15.0000
-17.0000
-19.0000
+15
+17
+19
select * from t33 order by col1;
col1
-15.0000
-17.0000
-19.0000
+15
+17
+19
select * from t44 order by colint;
colint col1
-1 5.1230
-2 13.3450
-3 17.9870
-4 15.6540
+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 5.1230
-2 13.3450
-3 17.9870
-4 15.6540
+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 5.1230
-2 13.3450
-3 17.9870
-4 15.6540
+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
---------------------------
@@ -3393,19 +2266,19 @@ reorganize partition p0,p1 into
(partition s1 values less than maxvalue);
select * from t11 order by col1;
col1
-15.0000
-19.0000
+15
+19
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
-15.0000
-19.0000
+15
+19
alter table t55
partition by list(colint)
-subpartition by hash(cast(mod(col1,10) as signed)) subpartitions 5
+subpartition by hash(mod(col1,10)) 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),
@@ -3417,54 +2290,259 @@ show create table t55;
Table Create Table
t55 CREATE TABLE `t55` (
`colint` int(11) DEFAULT NULL,
- `col1` float(7,4) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (cast(mod(col1,10) as signed)) 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) */
+ `col1` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (mod(col1,10)) 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 5.1230
-2 13.3450
-3 17.9870
-4 15.6540
+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 table t66
reorganize partition p0,p1 into
(partition s1 values less than maxvalue);
select * from t66 order by colint;
colint col1
-1 5.1230
-2 13.3450
-3 17.9870
-4 15.6540
+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 table t66
reorganize partition s1 into
-(partition p0 values less than (cast(mod(15,10) as signed)),
+(partition p0 values less than (mod(15,10)),
partition p1 values less than maxvalue);
select * from t66 order by colint;
colint col1
-1 5.1230
-2 13.3450
-3 17.9870
-4 15.6540
+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 table t66
reorganize partition p0,p1 into
(partition s1 values less than maxvalue);
select * from t66 order by colint;
colint col1
-1 5.1230
-2 13.3450
-3 17.9870
-4 15.6540
+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 table t66
reorganize partition s1 into
-(partition p0 values less than (cast(mod(15,10) as signed)),
+(partition p0 values less than (mod(15,10)),
partition p1 values less than maxvalue);
select * from t66 order by colint;
colint col1
-1 5.1230
-2 13.3450
-3 17.9870
-4 15.6540
+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 cast(mod(col1,10) as signed)
+--- Delete rows and partitions of tables with mod(col1,10)
-------------------------------------------------------------------------
delete from t1 where col1=19;
delete from t2 where col1=19;
@@ -3474,27 +2552,109 @@ delete from t5 where col1=19;
delete from t6 where col1=19;
select * from t1 order by col1;
col1
-15.0000
+15
select * from t2 order by col1;
col1
-15.0000
-17.0000
+15
+17
select * from t3 order by col1;
col1
-15.0000
-17.0000
+15
+17
select * from t4 order by colint;
colint col1
-1 5.1230
-2 13.3450
-3 17.9870
-4 15.6540
+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 5.1230
-2 13.3450
-3 17.9870
-4 15.6540
+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);
@@ -3503,39 +2663,162 @@ insert into t5 values (60,19);
insert into t6 values (60,19);
select * from t1 order by col1;
col1
-15.0000
-19.0000
+15
+19
select * from t2 order by col1;
col1
-15.0000
-17.0000
-19.0000
+15
+17
+19
select * from t3 order by col1;
col1
-15.0000
-17.0000
-19.0000
+15
+17
+19
select * from t4 order by colint;
colint col1
-1 5.1230
-2 13.3450
-3 17.9870
-4 15.6540
-60 19.0000
+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 5.1230
-2 13.3450
-3 17.9870
-4 15.6540
-60 19.0000
+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 5.1230
-2 13.3450
-3 17.9870
-4 15.6540
-60 19.0000
+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
alter table t1 drop partition p0;
alter table t2 drop partition p0;
alter table t4 drop partition p0;
@@ -3547,20 +2830,127 @@ select * from t2 order by col1;
col1
select * from t3 order by col1;
col1
-15.0000
-17.0000
-19.0000
+15
+17
+19
select * from t4 order by colint;
colint col1
-60 19.0000
+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
-60 19.0000
+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
-60 19.0000
+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 cast(mod(col1,10) as signed)
+--- Delete rows and partitions of tables with mod(col1,10)
-------------------------------------------------------------------------
delete from t11 where col1=19;
delete from t22 where col1=19;
@@ -3570,27 +2960,109 @@ delete from t55 where col1=19;
delete from t66 where col1=19;
select * from t11 order by col1;
col1
-15.0000
+15
select * from t22 order by col1;
col1
-15.0000
-17.0000
+15
+17
select * from t33 order by col1;
col1
-15.0000
-17.0000
+15
+17
select * from t44 order by colint;
colint col1
-1 5.1230
-2 13.3450
-3 17.9870
-4 15.6540
+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 5.1230
-2 13.3450
-3 17.9870
-4 15.6540
+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);
@@ -3599,533 +3071,162 @@ insert into t55 values (60,19);
insert into t66 values (60,19);
select * from t11 order by col1;
col1
-15.0000
-19.0000
-select * from t22 order by col1;
-col1
-15.0000
-17.0000
-19.0000
-select * from t33 order by col1;
-col1
-15.0000
-17.0000
-19.0000
-select * from t44 order by colint;
-colint col1
-1 5.1230
-2 13.3450
-3 17.9870
-4 15.6540
-60 19.0000
-select * from t55 order by colint;
-colint col1
-1 5.1230
-2 13.3450
-3 17.9870
-4 15.6540
-60 19.0000
-select * from t66 order by colint;
-colint col1
-1 5.1230
-2 13.3450
-3 17.9870
-4 15.6540
-60 19.0000
-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
-select * from t22 order by col1;
-col1
-select * from t33 order by col1;
-col1
-15.0000
-17.0000
-19.0000
-select * from t44 order by colint;
-colint col1
-60 19.0000
-select * from t55 order by colint;
-colint col1
-60 19.0000
-select * from t66 order by colint;
-colint col1
-60 19.0000
--------------------------
----- 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 ;
--------------------------------------------------------------------------
---- ord(col1) in partition with coltype char(3)
--------------------------------------------------------------------------
-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 ord(col1)
--------------------------------------------------------------------------
-create table t1 (col1 char(3)) engine='INNODB'
-partition by range(ord(col1))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t2 (col1 char(3)) engine='INNODB'
-partition by list(ord(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(3)) engine='INNODB'
-partition by hash(ord(col1));
-create table t4 (colint int, col1 char(3)) engine='INNODB'
-partition by range(colint)
-subpartition by hash(ord(col1)) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t5 (colint int, col1 char(3)) engine='INNODB'
-partition by list(colint)
-subpartition by hash(ord(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(3)) engine='INNODB'
-partition by range(colint)
-(partition p0 values less than (ord('a')),
-partition p1 values less than maxvalue);
--------------------------------------------------------------------------
---- Access tables with ord(col1)
--------------------------------------------------------------------------
-insert into t1 values ('1');
-insert into t1 values ('9');
-insert into t2 values ('1');
-insert into t2 values ('9');
-insert into t2 values ('3');
-insert into t3 values ('1');
-insert into t3 values ('9');
-insert into t3 values ('3');
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_ch1.inc' into table t4;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_ch1.inc' into table t5;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_ch1.inc' into table t6;
-select ord(col1) from t1 order by col1;
-ord(col1)
-49
-57
-select * from t1 order by col1;
-col1
-1
-9
-select * from t2 order by col1;
-col1
-1
-3
-9
-select * from t3 order by col1;
-col1
-1
-3
-9
-select * from t4 order by colint;
-colint col1
-1 1
-2 9
-3 3
-4 8
-select * from t5 order by colint;
-colint col1
-1 1
-2 9
-3 3
-4 8
-select * from t6 order by colint;
-colint col1
-1 1
-2 9
-3 3
-4 8
-update t1 set col1='8' where col1='1';
-update t2 set col1='8' where col1='1';
-update t3 set col1='8' where col1='1';
-update t4 set col1='8' where col1='1';
-update t5 set col1='8' where col1='1';
-update t6 set col1='8' where col1='1';
-select * from t1 order by col1;
-col1
-8
-9
-select * from t2 order by col1;
-col1
-3
-8
-9
-select * from t3 order by col1;
-col1
-3
-8
-9
-select * from t4 order by colint;
-colint col1
-1 8
-2 9
-3 3
-4 8
-select * from t5 order by colint;
-colint col1
-1 8
-2 9
-3 3
-4 8
-select * from t6 order by colint;
-colint col1
-1 8
-2 9
-3 3
-4 8
--------------------------------------------------------------------------
---- Alter tables with ord(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(ord(col1))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t22
-partition by list(ord(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(ord(col1));
-alter table t44
-partition by range(colint)
-subpartition by hash(ord(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(ord(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 (ord('a')),
-partition p1 values less than maxvalue);
-select * from t11 order by col1;
-col1
-8
-9
-select * from t22 order by col1;
-col1
-3
-8
-9
-select * from t33 order by col1;
-col1
-3
-8
-9
-select * from t44 order by colint;
-colint col1
-1 8
-2 9
-3 3
-4 8
-select * from t55 order by colint;
-colint col1
-1 8
-2 9
-3 3
-4 8
-select * from t66 order by colint;
-colint col1
-1 8
-2 9
-3 3
-4 8
----------------------------
----- 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
-8
-9
-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
-8
-9
-alter table t55
-partition by list(colint)
-subpartition by hash(ord(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(3) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (ord(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 8
-2 9
-3 3
-4 8
-alter table t66
-reorganize partition p0,p1 into
-(partition s1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 8
-2 9
-3 3
-4 8
-alter table t66
-reorganize partition s1 into
-(partition p0 values less than (ord('a')),
-partition p1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 8
-2 9
-3 3
-4 8
-alter table t66
-reorganize partition p0,p1 into
-(partition s1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 8
-2 9
-3 3
-4 8
-alter table t66
-reorganize partition s1 into
-(partition p0 values less than (ord('a')),
-partition p1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 8
-2 9
-3 3
-4 8
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with ord(col1)
--------------------------------------------------------------------------
-delete from t1 where col1='9';
-delete from t2 where col1='9';
-delete from t3 where col1='9';
-delete from t4 where col1='9';
-delete from t5 where col1='9';
-delete from t6 where col1='9';
-select * from t1 order by col1;
-col1
-8
-select * from t2 order by col1;
-col1
-3
-8
-select * from t3 order by col1;
-col1
-3
-8
-select * from t4 order by colint;
-colint col1
-1 8
-3 3
-4 8
-select * from t5 order by colint;
-colint col1
-1 8
-3 3
-4 8
-insert into t1 values ('9');
-insert into t2 values ('9');
-insert into t3 values ('9');
-insert into t4 values (60,'9');
-insert into t5 values (60,'9');
-insert into t6 values (60,'9');
-select * from t1 order by col1;
-col1
-8
-9
-select * from t2 order by col1;
-col1
-3
-8
-9
-select * from t3 order by col1;
-col1
-3
-8
-9
-select * from t4 order by colint;
-colint col1
-1 8
-3 3
-4 8
-60 9
-select * from t5 order by colint;
-colint col1
-1 8
-3 3
-4 8
-60 9
-select * from t6 order by colint;
-colint col1
-1 8
-3 3
-4 8
-60 9
-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
-8
-9
-select * from t2 order by col1;
-col1
-3
-8
-9
-select * from t3 order by col1;
-col1
-3
-8
-9
-select * from t4 order by colint;
-colint col1
-60 9
-select * from t5 order by colint;
-colint col1
-60 9
-select * from t6 order by colint;
-colint col1
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with ord(col1)
--------------------------------------------------------------------------
-delete from t11 where col1='9';
-delete from t22 where col1='9';
-delete from t33 where col1='9';
-delete from t44 where col1='9';
-delete from t55 where col1='9';
-delete from t66 where col1='9';
-select * from t11 order by col1;
-col1
-8
-select * from t22 order by col1;
-col1
-3
-8
-select * from t33 order by col1;
-col1
-3
-8
-select * from t44 order by colint;
-colint col1
-1 8
-3 3
-4 8
-select * from t55 order by colint;
-colint col1
-1 8
-3 3
-4 8
-insert into t11 values ('9');
-insert into t22 values ('9');
-insert into t33 values ('9');
-insert into t44 values (60,'9');
-insert into t55 values (60,'9');
-insert into t66 values (60,'9');
-select * from t11 order by col1;
-col1
-8
-9
+15
+19
select * from t22 order by col1;
col1
-3
-8
-9
+15
+17
+19
select * from t33 order by col1;
col1
-3
-8
-9
+15
+17
+19
select * from t44 order by colint;
colint col1
-1 8
-3 3
-4 8
-60 9
+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 8
-3 3
-4 8
-60 9
+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 8
-3 3
-4 8
-60 9
+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
alter table t11 drop partition p0;
alter table t22 drop partition p0;
alter table t44 drop partition p0;
@@ -4133,26 +3234,129 @@ alter table t55 drop partition p0;
alter table t66 drop partition p0;
select * from t11 order by col1;
col1
-8
-9
select * from t22 order by col1;
col1
-3
-8
-9
select * from t33 order by col1;
col1
-3
-8
-9
+15
+17
+19
select * from t44 order by colint;
colint col1
-60 9
+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
-60 9
+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
+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
-------------------------
@@ -4225,9 +3429,9 @@ 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 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t4;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t5;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t6;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t4;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t5;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t6;
select day(col1) from t1 order by col1;
day(col1)
17
@@ -4721,9 +3925,9 @@ 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 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t4;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t5;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t6;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t4;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t5;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t6;
select dayofmonth(col1) from t1 order by col1;
dayofmonth(col1)
17
@@ -5217,9 +4421,9 @@ 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 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t4;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t5;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t6;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t4;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t5;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t6;
select dayofweek(col1) from t1 order by col1;
dayofweek(col1)
3
@@ -5725,9 +4929,9 @@ 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 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t4;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t5;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t6;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t4;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t5;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t6;
select dayofyear(col1) from t1 order by col1;
dayofyear(col1)
3
@@ -6223,9 +5427,9 @@ 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 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t4;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t5;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t6;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t4;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t5;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t6;
select dayofyear(col1) from t1 order by col1;
dayofyear(col1)
3
@@ -6721,9 +5925,9 @@ 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 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t4;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t5;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t6;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t4;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t5;
+load data infile '../std_data_ln/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
@@ -7219,9 +6423,9 @@ 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 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t4;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t5;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t6;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_time.inc' into table t4;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_time.inc' into table t5;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_time.inc' into table t6;
select hour(col1) from t1 order by col1;
hour(col1)
9
@@ -7723,9 +6927,9 @@ 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 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t4;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t5;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t6;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_time.inc' into table t4;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_time.inc' into table t5;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_time.inc' into table t6;
select microsecond(col1) from t1 order by col1;
microsecond(col1)
0
@@ -8213,9 +7417,9 @@ 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 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t4;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t5;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t6;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_time.inc' into table t4;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_time.inc' into table t5;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_time.inc' into table t6;
select minute(col1) from t1 order by col1;
minute(col1)
9
@@ -8723,9 +7927,9 @@ 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 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t4;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t5;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t6;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_time.inc' into table t4;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_time.inc' into table t5;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_time.inc' into table t6;
select second(col1) from t1 order by col1;
second(col1)
9
@@ -9233,9 +8437,9 @@ 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 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t4;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t5;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t6;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_time.inc' into table t4;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_time.inc' into table t5;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_time.inc' into table t6;
select second(col1) from t1 order by col1;
second(col1)
9
@@ -9743,9 +8947,9 @@ 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 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t4;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t5;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t6;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t4;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t5;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t6;
select month(col1) from t1 order by col1;
month(col1)
1
@@ -10247,9 +9451,9 @@ 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 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t4;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t5;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t6;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t4;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t5;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t6;
select quarter(col1) from t1 order by col1;
quarter(col1)
1
@@ -10749,9 +9953,9 @@ 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 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t4;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t5;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t6;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_time.inc' into table t4;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_time.inc' into table t5;
+load data infile '../std_data_ln/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
@@ -11257,9 +10461,9 @@ 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 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t4;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t5;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t6;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t4;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t5;
+load data infile '../std_data_ln/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
@@ -11701,7 +10905,7 @@ drop table if exists t44 ;
drop table if exists t55 ;
drop table if exists t66 ;
-------------------------------------------------------------------------
---- weekday(col1) in partition with coltype date
+--- datediff(col1, '2006-01-01') in partition with coltype date
-------------------------------------------------------------------------
drop table if exists t1 ;
drop table if exists t2 ;
@@ -11710,14 +10914,14 @@ drop table if exists t4 ;
drop table if exists t5 ;
drop table if exists t6 ;
-------------------------------------------------------------------------
---- Create tables with weekday(col1)
+--- Create tables with datediff(col1, '2006-01-01')
-------------------------------------------------------------------------
create table t1 (col1 date) engine='INNODB'
-partition by range(weekday(col1))
+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(weekday(col1))
+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),
@@ -11726,15 +10930,15 @@ 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(weekday(col1));
+partition by hash(datediff(col1, '2006-01-01'));
create table t4 (colint int, col1 date) engine='INNODB'
partition by range(colint)
-subpartition by hash(weekday(col1)) subpartitions 2
+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(weekday(col1)) subpartitions 2
+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),
@@ -11744,40 +10948,40 @@ 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 (weekday('2006-10-14')),
+(partition p0 values less than (datediff('2006-02-02', '2006-01-01')),
partition p1 values less than maxvalue);
-------------------------------------------------------------------------
---- Access tables with weekday(col1)
+--- Access tables with datediff(col1, '2006-01-01')
-------------------------------------------------------------------------
-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 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t4;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t5;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t6;
-select weekday(col1) from t1 order by col1;
-weekday(col1)
-4
-6
+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 '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t4;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t5;
+load data infile '../std_data_ln/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-11-17
-2006-12-03
+2006-01-17
+2006-02-03
select * from t2 order by col1;
col1
-2006-05-25
-2006-11-17
-2006-12-03
+2006-01-17
+2006-01-25
+2006-02-03
select * from t3 order by col1;
col1
-2006-05-25
-2006-11-17
-2006-12-03
+2006-01-17
+2006-01-25
+2006-02-03
select * from t4 order by colint;
colint col1
1 2006-02-03
@@ -11796,46 +11000,46 @@ colint col1
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';
+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
-2006-11-17
select * from t2 order by col1;
col1
+2006-01-17
+2006-01-25
2006-02-06
-2006-05-25
-2006-11-17
select * from t3 order by col1;
col1
+2006-01-17
+2006-01-25
2006-02-06
-2006-05-25
-2006-11-17
select * from t4 order by colint;
colint col1
-1 2006-02-03
+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-03
+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-03
+1 2006-02-06
2 2006-01-17
3 2006-01-25
4 2006-02-05
-------------------------------------------------------------------------
---- Alter tables with weekday(col1)
+--- Alter tables with datediff(col1, '2006-01-01')
-------------------------------------------------------------------------
drop table if exists t11 ;
drop table if exists t22 ;
@@ -11850,11 +11054,11 @@ 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(weekday(col1))
+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(weekday(col1))
+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),
@@ -11863,15 +11067,15 @@ 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));
+partition by hash(datediff(col1, '2006-01-01'));
alter table t44
partition by range(colint)
-subpartition by hash(weekday(col1)) subpartitions 2
+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(weekday(col1)) subpartitions 2
+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),
@@ -11881,37 +11085,37 @@ 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 (weekday('2006-10-14')),
+(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
-2006-11-17
select * from t22 order by col1;
col1
+2006-01-17
+2006-01-25
2006-02-06
-2006-05-25
-2006-11-17
select * from t33 order by col1;
col1
+2006-01-17
+2006-01-25
2006-02-06
-2006-05-25
-2006-11-17
select * from t44 order by colint;
colint col1
-1 2006-02-03
+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-03
+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-03
+1 2006-02-06
2 2006-01-17
3 2006-01-25
4 2006-02-05
@@ -11923,19 +11127,19 @@ reorganize partition p0,p1 into
(partition s1 values less than maxvalue);
select * from t11 order by col1;
col1
+2006-01-17
2006-02-06
-2006-11-17
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
-2006-11-17
alter table t55
partition by list(colint)
-subpartition by hash(weekday(col1)) subpartitions 5
+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),
@@ -11948,10 +11152,10 @@ 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 (weekday(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) */
+) 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-03
+1 2006-02-06
2 2006-01-17
3 2006-01-25
4 2006-02-05
@@ -11960,17 +11164,17 @@ reorganize partition p0,p1 into
(partition s1 values less than maxvalue);
select * from t66 order by colint;
colint col1
-1 2006-02-03
+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 (weekday('2006-10-14')),
+(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-03
+1 2006-02-06
2 2006-01-17
3 2006-01-25
4 2006-02-05
@@ -11979,93 +11183,88 @@ reorganize partition p0,p1 into
(partition s1 values less than maxvalue);
select * from t66 order by colint;
colint col1
-1 2006-02-03
+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 (weekday('2006-10-14')),
+(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-03
+1 2006-02-06
2 2006-01-17
3 2006-01-25
4 2006-02-05
-------------------------------------------------------------------------
---- Delete rows and partitions of tables with weekday(col1)
+--- Delete rows and partitions of tables with datediff(col1, '2006-01-01')
-------------------------------------------------------------------------
-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';
+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
-2006-05-25
select * from t3 order by col1;
col1
+2006-01-25
2006-02-06
-2006-05-25
select * from t4 order by colint;
colint col1
-1 2006-02-03
-2 2006-01-17
+1 2006-02-06
3 2006-01-25
4 2006-02-05
select * from t5 order by colint;
colint col1
-1 2006-02-03
-2 2006-01-17
+1 2006-02-06
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');
+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
-2006-11-17
select * from t2 order by col1;
col1
+2006-01-17
+2006-01-25
2006-02-06
-2006-05-25
-2006-11-17
select * from t3 order by col1;
col1
+2006-01-17
+2006-01-25
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
+1 2006-02-06
3 2006-01-25
4 2006-02-05
-60 2006-11-17
+60 2006-01-17
select * from t5 order by colint;
colint col1
-1 2006-02-03
-2 2006-01-17
+1 2006-02-06
3 2006-01-25
4 2006-02-05
-60 2006-11-17
+60 2006-01-17
select * from t6 order by colint;
colint col1
-1 2006-02-03
-2 2006-01-17
+1 2006-02-06
3 2006-01-25
4 2006-02-05
-60 2006-11-17
+60 2006-01-17
alter table t1 drop partition p0;
alter table t2 drop partition p0;
alter table t4 drop partition p0;
@@ -12073,95 +11272,95 @@ 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
-2006-05-25
-2006-11-17
select * from t4 order by colint;
colint col1
-60 2006-11-17
+60 2006-01-17
select * from t5 order by colint;
colint col1
-60 2006-11-17
+60 2006-01-17
select * from t6 order by colint;
colint col1
-60 2006-11-17
+60 2006-01-17
-------------------------------------------------------------------------
---- Delete rows and partitions of tables with weekday(col1)
+--- Delete rows and partitions of tables with datediff(col1, '2006-01-01')
-------------------------------------------------------------------------
-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';
+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
-2006-05-25
select * from t33 order by col1;
col1
+2006-01-25
2006-02-06
-2006-05-25
select * from t44 order by colint;
colint col1
-1 2006-02-03
-2 2006-01-17
+1 2006-02-06
3 2006-01-25
4 2006-02-05
select * from t55 order by colint;
colint col1
-1 2006-02-03
-2 2006-01-17
+1 2006-02-06
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');
+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
-2006-11-17
select * from t22 order by col1;
col1
+2006-01-17
+2006-01-25
2006-02-06
-2006-05-25
-2006-11-17
select * from t33 order by col1;
col1
+2006-01-17
+2006-01-25
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
+1 2006-02-06
3 2006-01-25
4 2006-02-05
-60 2006-11-17
+60 2006-01-17
select * from t55 order by colint;
colint col1
-1 2006-02-03
-2 2006-01-17
+1 2006-02-06
3 2006-01-25
4 2006-02-05
-60 2006-11-17
+60 2006-01-17
select * from t66 order by colint;
colint col1
-1 2006-02-03
-2 2006-01-17
+1 2006-02-06
3 2006-01-25
4 2006-02-05
-60 2006-11-17
+60 2006-01-17
alter table t11 drop partition p0;
alter table t22 drop partition p0;
alter table t44 drop partition p0;
@@ -12169,22 +11368,27 @@ 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
-2006-05-25
-2006-11-17
select * from t44 order by colint;
colint col1
-60 2006-11-17
+60 2006-01-17
select * from t55 order by colint;
colint col1
-60 2006-11-17
+60 2006-01-17
select * from t66 order by colint;
colint col1
-60 2006-11-17
+60 2006-01-17
-------------------------
---- some alter table end
-------------------------
@@ -12201,7 +11405,7 @@ drop table if exists t44 ;
drop table if exists t55 ;
drop table if exists t66 ;
-------------------------------------------------------------------------
---- weekofyear(col1) in partition with coltype date
+--- weekday(col1) in partition with coltype date
-------------------------------------------------------------------------
drop table if exists t1 ;
drop table if exists t2 ;
@@ -12210,14 +11414,14 @@ drop table if exists t4 ;
drop table if exists t5 ;
drop table if exists t6 ;
-------------------------------------------------------------------------
---- Create tables with weekofyear(col1)
+--- Create tables with weekday(col1)
-------------------------------------------------------------------------
create table t1 (col1 date) engine='INNODB'
-partition by range(weekofyear(col1))
+partition by range(weekday(col1))
(partition p0 values less than (15),
partition p1 values less than maxvalue);
create table t2 (col1 date) engine='INNODB'
-partition by list(weekofyear(col1))
+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),
@@ -12226,15 +11430,15 @@ 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(weekofyear(col1));
+partition by hash(weekday(col1));
create table t4 (colint int, col1 date) engine='INNODB'
partition by range(colint)
-subpartition by hash(weekofyear(col1)) subpartitions 2
+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='INNODB'
partition by list(colint)
-subpartition by hash(weekofyear(col1)) subpartitions 2
+subpartition by hash(weekday(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),
@@ -12244,40 +11448,40 @@ 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 (weekofyear('2006-02-14')),
+(partition p0 values less than (weekday('2006-10-14')),
partition p1 values less than maxvalue);
-------------------------------------------------------------------------
---- Access tables with weekofyear(col1)
+--- Access tables with weekday(col1)
-------------------------------------------------------------------------
-insert into t1 values ('2006-01-03');
-insert into t1 values ('2006-03-17');
-insert into t2 values ('2006-01-03');
-insert into t2 values ('2006-03-17');
+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-01-03');
-insert into t3 values ('2006-03-17');
+insert into t3 values ('2006-12-03');
+insert into t3 values ('2006-11-17');
insert into t3 values ('2006-05-25');
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t4;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t5;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t6;
-select weekofyear(col1) from t1 order by col1;
-weekofyear(col1)
-1
-11
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t4;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t5;
+load data infile '../std_data_ln/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-01-03
-2006-03-17
+2006-11-17
+2006-12-03
select * from t2 order by col1;
col1
-2006-01-03
-2006-03-17
2006-05-25
+2006-11-17
+2006-12-03
select * from t3 order by col1;
col1
-2006-01-03
-2006-03-17
2006-05-25
+2006-11-17
+2006-12-03
select * from t4 order by colint;
colint col1
1 2006-02-03
@@ -12296,26 +11500,26 @@ colint col1
2 2006-01-17
3 2006-01-25
4 2006-02-05
-update t1 set col1='2006-09-06' where col1='2006-01-03';
-update t2 set col1='2006-09-06' where col1='2006-01-03';
-update t3 set col1='2006-09-06' where col1='2006-01-03';
-update t4 set col1='2006-09-06' where col1='2006-01-03';
-update t5 set col1='2006-09-06' where col1='2006-01-03';
-update t6 set col1='2006-09-06' where col1='2006-01-03';
+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-03-17
-2006-09-06
+2006-02-06
+2006-11-17
select * from t2 order by col1;
col1
-2006-03-17
+2006-02-06
2006-05-25
-2006-09-06
+2006-11-17
select * from t3 order by col1;
col1
-2006-03-17
+2006-02-06
2006-05-25
-2006-09-06
+2006-11-17
select * from t4 order by colint;
colint col1
1 2006-02-03
@@ -12335,7 +11539,7 @@ colint col1
3 2006-01-25
4 2006-02-05
-------------------------------------------------------------------------
---- Alter tables with weekofyear(col1)
+--- Alter tables with weekday(col1)
-------------------------------------------------------------------------
drop table if exists t11 ;
drop table if exists t22 ;
@@ -12350,11 +11554,11 @@ 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(weekofyear(col1))
+partition by range(weekday(col1))
(partition p0 values less than (15),
partition p1 values less than maxvalue);
alter table t22
-partition by list(weekofyear(col1))
+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),
@@ -12363,15 +11567,15 @@ 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(weekofyear(col1));
+partition by hash(weekday(col1));
alter table t44
partition by range(colint)
-subpartition by hash(weekofyear(col1)) subpartitions 2
+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(weekofyear(col1)) subpartitions 2
+subpartition by hash(weekday(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),
@@ -12381,22 +11585,22 @@ 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 (weekofyear('2006-02-14')),
+(partition p0 values less than (weekday('2006-10-14')),
partition p1 values less than maxvalue);
select * from t11 order by col1;
col1
-2006-03-17
-2006-09-06
+2006-02-06
+2006-11-17
select * from t22 order by col1;
col1
-2006-03-17
+2006-02-06
2006-05-25
-2006-09-06
+2006-11-17
select * from t33 order by col1;
col1
-2006-03-17
+2006-02-06
2006-05-25
-2006-09-06
+2006-11-17
select * from t44 order by colint;
colint col1
1 2006-02-03
@@ -12423,19 +11627,19 @@ reorganize partition p0,p1 into
(partition s1 values less than maxvalue);
select * from t11 order by col1;
col1
-2006-03-17
-2006-09-06
+2006-02-06
+2006-11-17
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-03-17
-2006-09-06
+2006-02-06
+2006-11-17
alter table t55
partition by list(colint)
-subpartition by hash(weekofyear(col1)) subpartitions 5
+subpartition by hash(weekday(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),
@@ -12448,7 +11652,7 @@ 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 (weekofyear(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) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (weekday(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
@@ -12466,7 +11670,7 @@ colint col1
4 2006-02-05
alter table t66
reorganize partition s1 into
-(partition p0 values less than (weekofyear('2006-02-14')),
+(partition p0 values less than (weekday('2006-10-14')),
partition p1 values less than maxvalue);
select * from t66 order by colint;
colint col1
@@ -12485,7 +11689,7 @@ colint col1
4 2006-02-05
alter table t66
reorganize partition s1 into
-(partition p0 values less than (weekofyear('2006-02-14')),
+(partition p0 values less than (weekday('2006-10-14')),
partition p1 values less than maxvalue);
select * from t66 order by colint;
colint col1
@@ -12494,25 +11698,25 @@ colint col1
3 2006-01-25
4 2006-02-05
-------------------------------------------------------------------------
---- Delete rows and partitions of tables with weekofyear(col1)
+--- Delete rows and partitions of tables with weekday(col1)
-------------------------------------------------------------------------
-delete from t1 where col1='2006-03-17';
-delete from t2 where col1='2006-03-17';
-delete from t3 where col1='2006-03-17';
-delete from t4 where col1='2006-03-17';
-delete from t5 where col1='2006-03-17';
-delete from t6 where col1='2006-03-17';
+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-09-06
+2006-02-06
select * from t2 order by col1;
col1
+2006-02-06
2006-05-25
-2006-09-06
select * from t3 order by col1;
col1
+2006-02-06
2006-05-25
-2006-09-06
select * from t4 order by colint;
colint col1
1 2006-02-03
@@ -12525,47 +11729,47 @@ colint col1
2 2006-01-17
3 2006-01-25
4 2006-02-05
-insert into t1 values ('2006-03-17');
-insert into t2 values ('2006-03-17');
-insert into t3 values ('2006-03-17');
-insert into t4 values (60,'2006-03-17');
-insert into t5 values (60,'2006-03-17');
-insert into t6 values (60,'2006-03-17');
+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-03-17
-2006-09-06
+2006-02-06
+2006-11-17
select * from t2 order by col1;
col1
-2006-03-17
+2006-02-06
2006-05-25
-2006-09-06
+2006-11-17
select * from t3 order by col1;
col1
-2006-03-17
+2006-02-06
2006-05-25
-2006-09-06
+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-03-17
+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-03-17
+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-03-17
+60 2006-11-17
alter table t1 drop partition p0;
alter table t2 drop partition p0;
alter table t4 drop partition p0;
@@ -12573,46 +11777,42 @@ alter table t5 drop partition p0;
alter table t6 drop partition p0;
select * from t1 order by col1;
col1
-2006-09-06
select * from t2 order by col1;
col1
-2006-03-17
-2006-05-25
-2006-09-06
select * from t3 order by col1;
col1
-2006-03-17
+2006-02-06
2006-05-25
-2006-09-06
+2006-11-17
select * from t4 order by colint;
colint col1
-60 2006-03-17
+60 2006-11-17
select * from t5 order by colint;
colint col1
-60 2006-03-17
+60 2006-11-17
select * from t6 order by colint;
colint col1
-60 2006-03-17
+60 2006-11-17
-------------------------------------------------------------------------
---- Delete rows and partitions of tables with weekofyear(col1)
+--- Delete rows and partitions of tables with weekday(col1)
-------------------------------------------------------------------------
-delete from t11 where col1='2006-03-17';
-delete from t22 where col1='2006-03-17';
-delete from t33 where col1='2006-03-17';
-delete from t44 where col1='2006-03-17';
-delete from t55 where col1='2006-03-17';
-delete from t66 where col1='2006-03-17';
+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-09-06
+2006-02-06
select * from t22 order by col1;
col1
+2006-02-06
2006-05-25
-2006-09-06
select * from t33 order by col1;
col1
+2006-02-06
2006-05-25
-2006-09-06
select * from t44 order by colint;
colint col1
1 2006-02-03
@@ -12625,47 +11825,47 @@ colint col1
2 2006-01-17
3 2006-01-25
4 2006-02-05
-insert into t11 values ('2006-03-17');
-insert into t22 values ('2006-03-17');
-insert into t33 values ('2006-03-17');
-insert into t44 values (60,'2006-03-17');
-insert into t55 values (60,'2006-03-17');
-insert into t66 values (60,'2006-03-17');
+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-03-17
-2006-09-06
+2006-02-06
+2006-11-17
select * from t22 order by col1;
col1
-2006-03-17
+2006-02-06
2006-05-25
-2006-09-06
+2006-11-17
select * from t33 order by col1;
col1
-2006-03-17
+2006-02-06
2006-05-25
-2006-09-06
+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-03-17
+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-03-17
+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-03-17
+60 2006-11-17
alter table t11 drop partition p0;
alter table t22 drop partition p0;
alter table t44 drop partition p0;
@@ -12673,26 +11873,22 @@ alter table t55 drop partition p0;
alter table t66 drop partition p0;
select * from t11 order by col1;
col1
-2006-09-06
select * from t22 order by col1;
col1
-2006-03-17
-2006-05-25
-2006-09-06
select * from t33 order by col1;
col1
-2006-03-17
+2006-02-06
2006-05-25
-2006-09-06
+2006-11-17
select * from t44 order by colint;
colint col1
-60 2006-03-17
+60 2006-11-17
select * from t55 order by colint;
colint col1
-60 2006-03-17
+60 2006-11-17
select * from t66 order by colint;
colint col1
-60 2006-03-17
+60 2006-11-17
-------------------------
---- some alter table end
-------------------------
@@ -12765,9 +11961,9 @@ 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 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t4;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t5;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t6;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t4;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t5;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t6;
select year(col1)-1990 from t1 order by col1;
year(col1)-1990
6
@@ -13269,9 +12465,9 @@ 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 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t4;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t5;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t6;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t4;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t5;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t6;
select yearweek(col1)-200600 from t1 order by col1;
yearweek(col1)-200600
1
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 3e668139c7d..f14f9517646 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
@@ -55,9 +55,9 @@ insert into t2 values (17 );
insert into t3 values (5 );
insert into t3 values (13 );
insert into t3 values (17 );
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_int.inc' into table t4;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_int.inc' into table t5;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_int.inc' into table t6;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_int.inc' into table t4;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_int.inc' into table t5;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_int.inc' into table t6;
select abs(col1) from t1 order by col1;
abs(col1)
5
@@ -1675,7 +1675,7 @@ drop table if exists t44 ;
drop table if exists t55 ;
drop table if exists t66 ;
-------------------------------------------------------------------------
---- ascii(col1) in partition with coltype char(1)
+--- mod(col1,10) in partition with coltype int
-------------------------------------------------------------------------
drop table if exists t1 ;
drop table if exists t2 ;
@@ -1684,1510 +1684,14 @@ drop table if exists t4 ;
drop table if exists t5 ;
drop table if exists t6 ;
-------------------------------------------------------------------------
---- Create tables with ascii(col1)
+--- Create tables with mod(col1,10)
-------------------------------------------------------------------------
-create table t1 (col1 char(1)) engine='MYISAM'
-partition by range(ascii(col1))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t2 (col1 char(1)) engine='MYISAM'
-partition by list(ascii(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(1)) engine='MYISAM'
-partition by hash(ascii(col1));
-create table t4 (colint int, col1 char(1)) engine='MYISAM'
-partition by range(colint)
-subpartition by hash(ascii(col1)) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t5 (colint int, col1 char(1)) engine='MYISAM'
-partition by list(colint)
-subpartition by hash(ascii(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(1)) engine='MYISAM'
-partition by range(colint)
-(partition p0 values less than (ascii('5')),
-partition p1 values less than maxvalue);
--------------------------------------------------------------------------
---- Access tables with ascii(col1)
--------------------------------------------------------------------------
-insert into t1 values ('1');
-insert into t1 values ('9');
-insert into t2 values ('1');
-insert into t2 values ('9');
-insert into t2 values ('3');
-insert into t3 values ('1');
-insert into t3 values ('9');
-insert into t3 values ('3');
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_ch1.inc' into table t4;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_ch1.inc' into table t5;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_ch1.inc' into table t6;
-select ascii(col1) from t1 order by col1;
-ascii(col1)
-49
-57
-select * from t1 order by col1;
-col1
-1
-9
-select * from t2 order by col1;
-col1
-1
-3
-9
-select * from t3 order by col1;
-col1
-1
-3
-9
-select * from t4 order by colint;
-colint col1
-1 1
-2 9
-3 3
-4 8
-select * from t5 order by colint;
-colint col1
-1 1
-2 9
-3 3
-4 8
-select * from t6 order by colint;
-colint col1
-1 1
-2 9
-3 3
-4 8
-update t1 set col1='8' where col1='1';
-update t2 set col1='8' where col1='1';
-update t3 set col1='8' where col1='1';
-update t4 set col1='8' where col1='1';
-update t5 set col1='8' where col1='1';
-update t6 set col1='8' where col1='1';
-select * from t1 order by col1;
-col1
-8
-9
-select * from t2 order by col1;
-col1
-3
-8
-9
-select * from t3 order by col1;
-col1
-3
-8
-9
-select * from t4 order by colint;
-colint col1
-1 8
-2 9
-3 3
-4 8
-select * from t5 order by colint;
-colint col1
-1 8
-2 9
-3 3
-4 8
-select * from t6 order by colint;
-colint col1
-1 8
-2 9
-3 3
-4 8
--------------------------------------------------------------------------
---- Alter tables with ascii(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(ascii(col1))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t22
-partition by list(ascii(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(ascii(col1));
-alter table t44
-partition by range(colint)
-subpartition by hash(ascii(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(ascii(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 (ascii('5')),
-partition p1 values less than maxvalue);
-select * from t11 order by col1;
-col1
-8
-9
-select * from t22 order by col1;
-col1
-3
-8
-9
-select * from t33 order by col1;
-col1
-3
-8
-9
-select * from t44 order by colint;
-colint col1
-1 8
-2 9
-3 3
-4 8
-select * from t55 order by colint;
-colint col1
-1 8
-2 9
-3 3
-4 8
-select * from t66 order by colint;
-colint col1
-1 8
-2 9
-3 3
-4 8
----------------------------
----- 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
-8
-9
-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
-8
-9
-alter table t55
-partition by list(colint)
-subpartition by hash(ascii(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(1) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (ascii(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 8
-2 9
-3 3
-4 8
-alter table t66
-reorganize partition p0,p1 into
-(partition s1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 8
-2 9
-3 3
-4 8
-alter table t66
-reorganize partition s1 into
-(partition p0 values less than (ascii('5')),
-partition p1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 8
-2 9
-3 3
-4 8
-alter table t66
-reorganize partition p0,p1 into
-(partition s1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 8
-2 9
-3 3
-4 8
-alter table t66
-reorganize partition s1 into
-(partition p0 values less than (ascii('5')),
-partition p1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 8
-2 9
-3 3
-4 8
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with ascii(col1)
--------------------------------------------------------------------------
-delete from t1 where col1='9';
-delete from t2 where col1='9';
-delete from t3 where col1='9';
-delete from t4 where col1='9';
-delete from t5 where col1='9';
-delete from t6 where col1='9';
-select * from t1 order by col1;
-col1
-8
-select * from t2 order by col1;
-col1
-3
-8
-select * from t3 order by col1;
-col1
-3
-8
-select * from t4 order by colint;
-colint col1
-1 8
-3 3
-4 8
-select * from t5 order by colint;
-colint col1
-1 8
-3 3
-4 8
-insert into t1 values ('9');
-insert into t2 values ('9');
-insert into t3 values ('9');
-insert into t4 values (60,'9');
-insert into t5 values (60,'9');
-insert into t6 values (60,'9');
-select * from t1 order by col1;
-col1
-8
-9
-select * from t2 order by col1;
-col1
-3
-8
-9
-select * from t3 order by col1;
-col1
-3
-8
-9
-select * from t4 order by colint;
-colint col1
-1 8
-3 3
-4 8
-60 9
-select * from t5 order by colint;
-colint col1
-1 8
-3 3
-4 8
-60 9
-select * from t6 order by colint;
-colint col1
-1 8
-3 3
-4 8
-60 9
-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
-8
-9
-select * from t2 order by col1;
-col1
-3
-8
-9
-select * from t3 order by col1;
-col1
-3
-8
-9
-select * from t4 order by colint;
-colint col1
-60 9
-select * from t5 order by colint;
-colint col1
-60 9
-select * from t6 order by colint;
-colint col1
-60 9
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with ascii(col1)
--------------------------------------------------------------------------
-delete from t11 where col1='9';
-delete from t22 where col1='9';
-delete from t33 where col1='9';
-delete from t44 where col1='9';
-delete from t55 where col1='9';
-delete from t66 where col1='9';
-select * from t11 order by col1;
-col1
-8
-select * from t22 order by col1;
-col1
-3
-8
-select * from t33 order by col1;
-col1
-3
-8
-select * from t44 order by colint;
-colint col1
-1 8
-3 3
-4 8
-select * from t55 order by colint;
-colint col1
-1 8
-3 3
-4 8
-insert into t11 values ('9');
-insert into t22 values ('9');
-insert into t33 values ('9');
-insert into t44 values (60,'9');
-insert into t55 values (60,'9');
-insert into t66 values (60,'9');
-select * from t11 order by col1;
-col1
-8
-9
-select * from t22 order by col1;
-col1
-3
-8
-9
-select * from t33 order by col1;
-col1
-3
-8
-9
-select * from t44 order by colint;
-colint col1
-1 8
-3 3
-4 8
-60 9
-select * from t55 order by colint;
-colint col1
-1 8
-3 3
-4 8
-60 9
-select * from t66 order by colint;
-colint col1
-1 8
-3 3
-4 8
-60 9
-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
-8
-9
-select * from t22 order by col1;
-col1
-3
-8
-9
-select * from t33 order by col1;
-col1
-3
-8
-9
-select * from t44 order by colint;
-colint col1
-60 9
-select * from t55 order by colint;
-colint col1
-60 9
-select * from t66 order by colint;
-colint col1
-60 9
--------------------------
----- 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 ;
--------------------------------------------------------------------------
---- cast(ceiling(col1) as signed integer) in partition with coltype float(7,4)
--------------------------------------------------------------------------
-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 cast(ceiling(col1) as signed integer)
--------------------------------------------------------------------------
-create table t1 (col1 float(7,4)) engine='MYISAM'
-partition by range(cast(ceiling(col1) as signed integer))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t2 (col1 float(7,4)) engine='MYISAM'
-partition by list(cast(ceiling(col1) as signed integer))
-(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 float(7,4)) engine='MYISAM'
-partition by hash(cast(ceiling(col1) as signed integer));
-create table t4 (colint int, col1 float(7,4)) engine='MYISAM'
-partition by range(colint)
-subpartition by hash(cast(ceiling(col1) as signed integer)) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t5 (colint int, col1 float(7,4)) engine='MYISAM'
-partition by list(colint)
-subpartition by hash(cast(ceiling(col1) as signed integer)) 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 float(7,4)) engine='MYISAM'
-partition by range(colint)
-(partition p0 values less than (cast(ceiling(15) as signed integer)),
-partition p1 values less than maxvalue);
--------------------------------------------------------------------------
---- Access tables with cast(ceiling(col1) as signed integer)
--------------------------------------------------------------------------
-insert into t1 values (5.1230);
-insert into t1 values (13.345);
-insert into t2 values (5.1230);
-insert into t2 values (13.345);
-insert into t2 values (17.987);
-insert into t3 values (5.1230);
-insert into t3 values (13.345);
-insert into t3 values (17.987);
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_float.inc' into table t4;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_float.inc' into table t5;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_float.inc' into table t6;
-select cast(ceiling(col1) as signed integer) from t1 order by col1;
-cast(ceiling(col1) as signed integer)
-6
-14
-select * from t1 order by col1;
-col1
-5.1230
-13.3450
-select * from t2 order by col1;
-col1
-5.1230
-13.3450
-17.9870
-select * from t3 order by col1;
-col1
-5.1230
-13.3450
-17.9870
-select * from t4 order by colint;
-colint col1
-1 5.1230
-2 13.3450
-3 17.9870
-4 15.6540
-select * from t5 order by colint;
-colint col1
-1 5.1230
-2 13.3450
-3 17.9870
-4 15.6540
-select * from t6 order by colint;
-colint col1
-1 5.1230
-2 13.3450
-3 17.9870
-4 15.6540
-update t1 set col1=15.654 where col1=5.1230;
-update t2 set col1=15.654 where col1=5.1230;
-update t3 set col1=15.654 where col1=5.1230;
-update t4 set col1=15.654 where col1=5.1230;
-update t5 set col1=15.654 where col1=5.1230;
-update t6 set col1=15.654 where col1=5.1230;
-select * from t1 order by col1;
-col1
-13.3450
-15.6540
-select * from t2 order by col1;
-col1
-13.3450
-15.6540
-17.9870
-select * from t3 order by col1;
-col1
-13.3450
-15.6540
-17.9870
-select * from t4 order by colint;
-colint col1
-1 15.6540
-2 13.3450
-3 17.9870
-4 15.6540
-select * from t5 order by colint;
-colint col1
-1 15.6540
-2 13.3450
-3 17.9870
-4 15.6540
-select * from t6 order by colint;
-colint col1
-1 15.6540
-2 13.3450
-3 17.9870
-4 15.6540
--------------------------------------------------------------------------
---- Alter tables with cast(ceiling(col1) as signed integer)
--------------------------------------------------------------------------
-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(cast(ceiling(col1) as signed integer))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t22
-partition by list(cast(ceiling(col1) as signed integer))
-(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(cast(ceiling(col1) as signed integer));
-alter table t44
-partition by range(colint)
-subpartition by hash(cast(ceiling(col1) as signed integer)) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t55
-partition by list(colint)
-subpartition by hash(cast(ceiling(col1) as signed integer)) 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 (cast(ceiling(15) as signed integer)),
-partition p1 values less than maxvalue);
-select * from t11 order by col1;
-col1
-13.3450
-15.6540
-select * from t22 order by col1;
-col1
-13.3450
-15.6540
-17.9870
-select * from t33 order by col1;
-col1
-13.3450
-15.6540
-17.9870
-select * from t44 order by colint;
-colint col1
-1 15.6540
-2 13.3450
-3 17.9870
-4 15.6540
-select * from t55 order by colint;
-colint col1
-1 15.6540
-2 13.3450
-3 17.9870
-4 15.6540
-select * from t66 order by colint;
-colint col1
-1 15.6540
-2 13.3450
-3 17.9870
-4 15.6540
----------------------------
----- 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
-13.3450
-15.6540
-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
-13.3450
-15.6540
-alter table t55
-partition by list(colint)
-subpartition by hash(cast(ceiling(col1) as signed integer)) 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` float(7,4) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (cast(ceiling(col1) as signed integer)) 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 15.6540
-2 13.3450
-3 17.9870
-4 15.6540
-alter table t66
-reorganize partition p0,p1 into
-(partition s1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 15.6540
-2 13.3450
-3 17.9870
-4 15.6540
-alter table t66
-reorganize partition s1 into
-(partition p0 values less than (cast(ceiling(15) as signed integer)),
-partition p1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 15.6540
-2 13.3450
-3 17.9870
-4 15.6540
-alter table t66
-reorganize partition p0,p1 into
-(partition s1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 15.6540
-2 13.3450
-3 17.9870
-4 15.6540
-alter table t66
-reorganize partition s1 into
-(partition p0 values less than (cast(ceiling(15) as signed integer)),
-partition p1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 15.6540
-2 13.3450
-3 17.9870
-4 15.6540
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with cast(ceiling(col1) as signed integer)
--------------------------------------------------------------------------
-delete from t1 where col1=13.345;
-delete from t2 where col1=13.345;
-delete from t3 where col1=13.345;
-delete from t4 where col1=13.345;
-delete from t5 where col1=13.345;
-delete from t6 where col1=13.345;
-select * from t1 order by col1;
-col1
-15.6540
-select * from t2 order by col1;
-col1
-15.6540
-17.9870
-select * from t3 order by col1;
-col1
-15.6540
-17.9870
-select * from t4 order by colint;
-colint col1
-1 15.6540
-3 17.9870
-4 15.6540
-select * from t5 order by colint;
-colint col1
-1 15.6540
-3 17.9870
-4 15.6540
-insert into t1 values (13.345);
-insert into t2 values (13.345);
-insert into t3 values (13.345);
-insert into t4 values (60,13.345);
-insert into t5 values (60,13.345);
-insert into t6 values (60,13.345);
-select * from t1 order by col1;
-col1
-13.3450
-15.6540
-select * from t2 order by col1;
-col1
-13.3450
-15.6540
-17.9870
-select * from t3 order by col1;
-col1
-13.3450
-15.6540
-17.9870
-select * from t4 order by colint;
-colint col1
-1 15.6540
-3 17.9870
-4 15.6540
-60 13.3450
-select * from t5 order by colint;
-colint col1
-1 15.6540
-3 17.9870
-4 15.6540
-60 13.3450
-select * from t6 order by colint;
-colint col1
-1 15.6540
-3 17.9870
-4 15.6540
-60 13.3450
-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
-15.6540
-select * from t2 order by col1;
-col1
-13.3450
-15.6540
-17.9870
-select * from t3 order by col1;
-col1
-13.3450
-15.6540
-17.9870
-select * from t4 order by colint;
-colint col1
-60 13.3450
-select * from t5 order by colint;
-colint col1
-60 13.3450
-select * from t6 order by colint;
-colint col1
-60 13.3450
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with cast(ceiling(col1) as signed integer)
--------------------------------------------------------------------------
-delete from t11 where col1=13.345;
-delete from t22 where col1=13.345;
-delete from t33 where col1=13.345;
-delete from t44 where col1=13.345;
-delete from t55 where col1=13.345;
-delete from t66 where col1=13.345;
-select * from t11 order by col1;
-col1
-15.6540
-select * from t22 order by col1;
-col1
-15.6540
-17.9870
-select * from t33 order by col1;
-col1
-15.6540
-17.9870
-select * from t44 order by colint;
-colint col1
-1 15.6540
-3 17.9870
-4 15.6540
-select * from t55 order by colint;
-colint col1
-1 15.6540
-3 17.9870
-4 15.6540
-insert into t11 values (13.345);
-insert into t22 values (13.345);
-insert into t33 values (13.345);
-insert into t44 values (60,13.345);
-insert into t55 values (60,13.345);
-insert into t66 values (60,13.345);
-select * from t11 order by col1;
-col1
-13.3450
-15.6540
-select * from t22 order by col1;
-col1
-13.3450
-15.6540
-17.9870
-select * from t33 order by col1;
-col1
-13.3450
-15.6540
-17.9870
-select * from t44 order by colint;
-colint col1
-1 15.6540
-3 17.9870
-4 15.6540
-60 13.3450
-select * from t55 order by colint;
-colint col1
-1 15.6540
-3 17.9870
-4 15.6540
-60 13.3450
-select * from t66 order by colint;
-colint col1
-1 15.6540
-3 17.9870
-4 15.6540
-60 13.3450
-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
-15.6540
-select * from t22 order by col1;
-col1
-13.3450
-15.6540
-17.9870
-select * from t33 order by col1;
-col1
-13.3450
-15.6540
-17.9870
-select * from t44 order by colint;
-colint col1
-60 13.3450
-select * from t55 order by colint;
-colint col1
-60 13.3450
-select * from t66 order by colint;
-colint col1
-60 13.3450
--------------------------
----- 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 ;
--------------------------------------------------------------------------
---- cast(floor(col1) as signed) in partition with coltype float(7,4)
--------------------------------------------------------------------------
-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 cast(floor(col1) as signed)
--------------------------------------------------------------------------
-create table t1 (col1 float(7,4)) engine='MYISAM'
-partition by range(cast(floor(col1) as signed))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t2 (col1 float(7,4)) engine='MYISAM'
-partition by list(cast(floor(col1) as signed))
-(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 float(7,4)) engine='MYISAM'
-partition by hash(cast(floor(col1) as signed));
-create table t4 (colint int, col1 float(7,4)) engine='MYISAM'
-partition by range(colint)
-subpartition by hash(cast(floor(col1) as signed)) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t5 (colint int, col1 float(7,4)) engine='MYISAM'
-partition by list(colint)
-subpartition by hash(cast(floor(col1) as signed)) 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 float(7,4)) engine='MYISAM'
-partition by range(colint)
-(partition p0 values less than (cast(floor(15.123) as signed)),
-partition p1 values less than maxvalue);
--------------------------------------------------------------------------
---- Access tables with cast(floor(col1) as signed)
--------------------------------------------------------------------------
-insert into t1 values (5.1230);
-insert into t1 values (13.345);
-insert into t2 values (5.1230);
-insert into t2 values (13.345);
-insert into t2 values (17.987);
-insert into t3 values (5.1230);
-insert into t3 values (13.345);
-insert into t3 values (17.987);
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_float.inc' into table t4;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_float.inc' into table t5;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_float.inc' into table t6;
-select cast(floor(col1) as signed) from t1 order by col1;
-cast(floor(col1) as signed)
-5
-13
-select * from t1 order by col1;
-col1
-5.1230
-13.3450
-select * from t2 order by col1;
-col1
-5.1230
-13.3450
-17.9870
-select * from t3 order by col1;
-col1
-5.1230
-13.3450
-17.9870
-select * from t4 order by colint;
-colint col1
-1 5.1230
-2 13.3450
-3 17.9870
-4 15.6540
-select * from t5 order by colint;
-colint col1
-1 5.1230
-2 13.3450
-3 17.9870
-4 15.6540
-select * from t6 order by colint;
-colint col1
-1 5.1230
-2 13.3450
-3 17.9870
-4 15.6540
-update t1 set col1=15.654 where col1=5.1230;
-update t2 set col1=15.654 where col1=5.1230;
-update t3 set col1=15.654 where col1=5.1230;
-update t4 set col1=15.654 where col1=5.1230;
-update t5 set col1=15.654 where col1=5.1230;
-update t6 set col1=15.654 where col1=5.1230;
-select * from t1 order by col1;
-col1
-13.3450
-15.6540
-select * from t2 order by col1;
-col1
-13.3450
-15.6540
-17.9870
-select * from t3 order by col1;
-col1
-13.3450
-15.6540
-17.9870
-select * from t4 order by colint;
-colint col1
-1 15.6540
-2 13.3450
-3 17.9870
-4 15.6540
-select * from t5 order by colint;
-colint col1
-1 15.6540
-2 13.3450
-3 17.9870
-4 15.6540
-select * from t6 order by colint;
-colint col1
-1 15.6540
-2 13.3450
-3 17.9870
-4 15.6540
--------------------------------------------------------------------------
---- Alter tables with cast(floor(col1) as signed)
--------------------------------------------------------------------------
-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(cast(floor(col1) as signed))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t22
-partition by list(cast(floor(col1) as signed))
-(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(cast(floor(col1) as signed));
-alter table t44
-partition by range(colint)
-subpartition by hash(cast(floor(col1) as signed)) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t55
-partition by list(colint)
-subpartition by hash(cast(floor(col1) as signed)) 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 (cast(floor(15.123) as signed)),
-partition p1 values less than maxvalue);
-select * from t11 order by col1;
-col1
-13.3450
-15.6540
-select * from t22 order by col1;
-col1
-13.3450
-15.6540
-17.9870
-select * from t33 order by col1;
-col1
-13.3450
-15.6540
-17.9870
-select * from t44 order by colint;
-colint col1
-1 15.6540
-2 13.3450
-3 17.9870
-4 15.6540
-select * from t55 order by colint;
-colint col1
-1 15.6540
-2 13.3450
-3 17.9870
-4 15.6540
-select * from t66 order by colint;
-colint col1
-1 15.6540
-2 13.3450
-3 17.9870
-4 15.6540
----------------------------
----- 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
-13.3450
-15.6540
-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
-13.3450
-15.6540
-alter table t55
-partition by list(colint)
-subpartition by hash(cast(floor(col1) as signed)) 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` float(7,4) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (cast(floor(col1) as signed)) 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 15.6540
-2 13.3450
-3 17.9870
-4 15.6540
-alter table t66
-reorganize partition p0,p1 into
-(partition s1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 15.6540
-2 13.3450
-3 17.9870
-4 15.6540
-alter table t66
-reorganize partition s1 into
-(partition p0 values less than (cast(floor(15.123) as signed)),
-partition p1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 15.6540
-2 13.3450
-3 17.9870
-4 15.6540
-alter table t66
-reorganize partition p0,p1 into
-(partition s1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 15.6540
-2 13.3450
-3 17.9870
-4 15.6540
-alter table t66
-reorganize partition s1 into
-(partition p0 values less than (cast(floor(15.123) as signed)),
-partition p1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 15.6540
-2 13.3450
-3 17.9870
-4 15.6540
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with cast(floor(col1) as signed)
--------------------------------------------------------------------------
-delete from t1 where col1=13.345;
-delete from t2 where col1=13.345;
-delete from t3 where col1=13.345;
-delete from t4 where col1=13.345;
-delete from t5 where col1=13.345;
-delete from t6 where col1=13.345;
-select * from t1 order by col1;
-col1
-15.6540
-select * from t2 order by col1;
-col1
-15.6540
-17.9870
-select * from t3 order by col1;
-col1
-15.6540
-17.9870
-select * from t4 order by colint;
-colint col1
-1 15.6540
-3 17.9870
-4 15.6540
-select * from t5 order by colint;
-colint col1
-1 15.6540
-3 17.9870
-4 15.6540
-insert into t1 values (13.345);
-insert into t2 values (13.345);
-insert into t3 values (13.345);
-insert into t4 values (60,13.345);
-insert into t5 values (60,13.345);
-insert into t6 values (60,13.345);
-select * from t1 order by col1;
-col1
-13.3450
-15.6540
-select * from t2 order by col1;
-col1
-13.3450
-15.6540
-17.9870
-select * from t3 order by col1;
-col1
-13.3450
-15.6540
-17.9870
-select * from t4 order by colint;
-colint col1
-1 15.6540
-3 17.9870
-4 15.6540
-60 13.3450
-select * from t5 order by colint;
-colint col1
-1 15.6540
-3 17.9870
-4 15.6540
-60 13.3450
-select * from t6 order by colint;
-colint col1
-1 15.6540
-3 17.9870
-4 15.6540
-60 13.3450
-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
-15.6540
-select * from t2 order by col1;
-col1
-13.3450
-15.6540
-17.9870
-select * from t3 order by col1;
-col1
-13.3450
-15.6540
-17.9870
-select * from t4 order by colint;
-colint col1
-60 13.3450
-select * from t5 order by colint;
-colint col1
-60 13.3450
-select * from t6 order by colint;
-colint col1
-60 13.3450
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with cast(floor(col1) as signed)
--------------------------------------------------------------------------
-delete from t11 where col1=13.345;
-delete from t22 where col1=13.345;
-delete from t33 where col1=13.345;
-delete from t44 where col1=13.345;
-delete from t55 where col1=13.345;
-delete from t66 where col1=13.345;
-select * from t11 order by col1;
-col1
-15.6540
-select * from t22 order by col1;
-col1
-15.6540
-17.9870
-select * from t33 order by col1;
-col1
-15.6540
-17.9870
-select * from t44 order by colint;
-colint col1
-1 15.6540
-3 17.9870
-4 15.6540
-select * from t55 order by colint;
-colint col1
-1 15.6540
-3 17.9870
-4 15.6540
-insert into t11 values (13.345);
-insert into t22 values (13.345);
-insert into t33 values (13.345);
-insert into t44 values (60,13.345);
-insert into t55 values (60,13.345);
-insert into t66 values (60,13.345);
-select * from t11 order by col1;
-col1
-13.3450
-15.6540
-select * from t22 order by col1;
-col1
-13.3450
-15.6540
-17.9870
-select * from t33 order by col1;
-col1
-13.3450
-15.6540
-17.9870
-select * from t44 order by colint;
-colint col1
-1 15.6540
-3 17.9870
-4 15.6540
-60 13.3450
-select * from t55 order by colint;
-colint col1
-1 15.6540
-3 17.9870
-4 15.6540
-60 13.3450
-select * from t66 order by colint;
-colint col1
-1 15.6540
-3 17.9870
-4 15.6540
-60 13.3450
-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
-15.6540
-select * from t22 order by col1;
-col1
-13.3450
-15.6540
-17.9870
-select * from t33 order by col1;
-col1
-13.3450
-15.6540
-17.9870
-select * from t44 order by colint;
-colint col1
-60 13.3450
-select * from t55 order by colint;
-colint col1
-60 13.3450
-select * from t66 order by colint;
-colint col1
-60 13.3450
--------------------------
----- 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 ;
--------------------------------------------------------------------------
---- cast(mod(col1,10) as signed) in partition with coltype float(7,4)
--------------------------------------------------------------------------
-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 cast(mod(col1,10) as signed)
--------------------------------------------------------------------------
-create table t1 (col1 float(7,4)) engine='MYISAM'
-partition by range(cast(mod(col1,10) as signed))
+create table t1 (col1 int) engine='MYISAM'
+partition by range(mod(col1,10))
(partition p0 values less than (15),
partition p1 values less than maxvalue);
-create table t2 (col1 float(7,4)) engine='MYISAM'
-partition by list(cast(mod(col1,10) as signed))
+create table t2 (col1 int) engine='MYISAM'
+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),
@@ -3195,16 +1699,16 @@ 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 float(7,4)) engine='MYISAM'
-partition by hash(cast(mod(col1,10) as signed));
-create table t4 (colint int, col1 float(7,4)) engine='MYISAM'
+create table t3 (col1 int) engine='MYISAM'
+partition by hash(mod(col1,10));
+create table t4 (colint int, col1 int) engine='MYISAM'
partition by range(colint)
-subpartition by hash(cast(mod(col1,10) as signed)) subpartitions 2
+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 float(7,4)) engine='MYISAM'
+create table t5 (colint int, col1 int) engine='MYISAM'
partition by list(colint)
-subpartition by hash(cast(mod(col1,10) as signed)) subpartitions 2
+subpartition by hash(mod(col1,10)) 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),
@@ -3212,100 +1716,346 @@ 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 float(7,4)) engine='MYISAM'
+create table t6 (colint int, col1 int) engine='MYISAM'
partition by range(colint)
-(partition p0 values less than (cast(mod(15,10) as signed)),
+(partition p0 values less than (mod(15,10)),
partition p1 values less than maxvalue);
-------------------------------------------------------------------------
---- Access tables with cast(mod(col1,10) as signed)
+--- Access tables with mod(col1,10)
-------------------------------------------------------------------------
-insert into t1 values (5.0000);
+insert into t1 values (5);
insert into t1 values (19);
-insert into t2 values (5.0000);
+insert into t2 values (5);
insert into t2 values (19);
insert into t2 values (17);
-insert into t3 values (5.0000);
+insert into t3 values (5);
insert into t3 values (19);
insert into t3 values (17);
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_float.inc' into table t4;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_float.inc' into table t5;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_float.inc' into table t6;
-select cast(mod(col1,10) as signed) from t1 order by col1;
-cast(mod(col1,10) as signed)
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_int.inc' into table t4;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_int.inc' into table t5;
+load data infile '../std_data_ln/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.0000
-19.0000
+5
+19
select * from t2 order by col1;
col1
-5.0000
-17.0000
-19.0000
+5
+17
+19
select * from t3 order by col1;
col1
-5.0000
-17.0000
-19.0000
+5
+17
+19
select * from t4 order by colint;
colint col1
-1 5.1230
-2 13.3450
-3 17.9870
-4 15.6540
+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.1230
-2 13.3450
-3 17.9870
-4 15.6540
+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.1230
-2 13.3450
-3 17.9870
-4 15.6540
-update t1 set col1=15 where col1=5.0000;
-update t2 set col1=15 where col1=5.0000;
-update t3 set col1=15 where col1=5.0000;
-update t4 set col1=15 where col1=5.0000;
-update t5 set col1=15 where col1=5.0000;
-update t6 set col1=15 where col1=5.0000;
+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.0000
-19.0000
+15
+19
select * from t2 order by col1;
col1
-15.0000
-17.0000
-19.0000
+15
+17
+19
select * from t3 order by col1;
col1
-15.0000
-17.0000
-19.0000
+15
+17
+19
select * from t4 order by colint;
colint col1
-1 5.1230
-2 13.3450
-3 17.9870
-4 15.6540
+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 5.1230
-2 13.3450
-3 17.9870
-4 15.6540
+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 5.1230
-2 13.3450
-3 17.9870
-4 15.6540
+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 cast(mod(col1,10) as signed)
+--- Alter tables with mod(col1,10)
-------------------------------------------------------------------------
drop table if exists t11 ;
drop table if exists t22 ;
@@ -3320,11 +2070,11 @@ 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(cast(mod(col1,10) as signed))
+partition by range(mod(col1,10))
(partition p0 values less than (15),
partition p1 values less than maxvalue);
alter table t22
-partition by list(cast(mod(col1,10) as signed))
+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),
@@ -3333,15 +2083,15 @@ 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(cast(mod(col1,10) as signed));
+partition by hash(mod(col1,10));
alter table t44
partition by range(colint)
-subpartition by hash(cast(mod(col1,10) as signed)) subpartitions 2
+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(cast(mod(col1,10) as signed)) subpartitions 2
+subpartition by hash(mod(col1,10)) 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),
@@ -3351,40 +2101,163 @@ 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 (cast(mod(15,10) as signed)),
+(partition p0 values less than (mod(15,10)),
partition p1 values less than maxvalue);
select * from t11 order by col1;
col1
-15.0000
-19.0000
+15
+19
select * from t22 order by col1;
col1
-15.0000
-17.0000
-19.0000
+15
+17
+19
select * from t33 order by col1;
col1
-15.0000
-17.0000
-19.0000
+15
+17
+19
select * from t44 order by colint;
colint col1
-1 5.1230
-2 13.3450
-3 17.9870
-4 15.6540
+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 5.1230
-2 13.3450
-3 17.9870
-4 15.6540
+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 5.1230
-2 13.3450
-3 17.9870
-4 15.6540
+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
---------------------------
@@ -3393,19 +2266,19 @@ reorganize partition p0,p1 into
(partition s1 values less than maxvalue);
select * from t11 order by col1;
col1
-15.0000
-19.0000
+15
+19
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
-15.0000
-19.0000
+15
+19
alter table t55
partition by list(colint)
-subpartition by hash(cast(mod(col1,10) as signed)) subpartitions 5
+subpartition by hash(mod(col1,10)) 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),
@@ -3417,54 +2290,259 @@ show create table t55;
Table Create Table
t55 CREATE TABLE `t55` (
`colint` int(11) DEFAULT NULL,
- `col1` float(7,4) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (cast(mod(col1,10) as signed)) 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) */
+ `col1` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (mod(col1,10)) 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 5.1230
-2 13.3450
-3 17.9870
-4 15.6540
+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 table t66
reorganize partition p0,p1 into
(partition s1 values less than maxvalue);
select * from t66 order by colint;
colint col1
-1 5.1230
-2 13.3450
-3 17.9870
-4 15.6540
+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 table t66
reorganize partition s1 into
-(partition p0 values less than (cast(mod(15,10) as signed)),
+(partition p0 values less than (mod(15,10)),
partition p1 values less than maxvalue);
select * from t66 order by colint;
colint col1
-1 5.1230
-2 13.3450
-3 17.9870
-4 15.6540
+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 table t66
reorganize partition p0,p1 into
(partition s1 values less than maxvalue);
select * from t66 order by colint;
colint col1
-1 5.1230
-2 13.3450
-3 17.9870
-4 15.6540
+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 table t66
reorganize partition s1 into
-(partition p0 values less than (cast(mod(15,10) as signed)),
+(partition p0 values less than (mod(15,10)),
partition p1 values less than maxvalue);
select * from t66 order by colint;
colint col1
-1 5.1230
-2 13.3450
-3 17.9870
-4 15.6540
+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 cast(mod(col1,10) as signed)
+--- Delete rows and partitions of tables with mod(col1,10)
-------------------------------------------------------------------------
delete from t1 where col1=19;
delete from t2 where col1=19;
@@ -3474,27 +2552,109 @@ delete from t5 where col1=19;
delete from t6 where col1=19;
select * from t1 order by col1;
col1
-15.0000
+15
select * from t2 order by col1;
col1
-15.0000
-17.0000
+15
+17
select * from t3 order by col1;
col1
-15.0000
-17.0000
+15
+17
select * from t4 order by colint;
colint col1
-1 5.1230
-2 13.3450
-3 17.9870
-4 15.6540
+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 5.1230
-2 13.3450
-3 17.9870
-4 15.6540
+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);
@@ -3503,39 +2663,162 @@ insert into t5 values (60,19);
insert into t6 values (60,19);
select * from t1 order by col1;
col1
-15.0000
-19.0000
+15
+19
select * from t2 order by col1;
col1
-15.0000
-17.0000
-19.0000
+15
+17
+19
select * from t3 order by col1;
col1
-15.0000
-17.0000
-19.0000
+15
+17
+19
select * from t4 order by colint;
colint col1
-1 5.1230
-2 13.3450
-3 17.9870
-4 15.6540
-60 19.0000
+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 5.1230
-2 13.3450
-3 17.9870
-4 15.6540
-60 19.0000
+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 5.1230
-2 13.3450
-3 17.9870
-4 15.6540
-60 19.0000
+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
alter table t1 drop partition p0;
alter table t2 drop partition p0;
alter table t4 drop partition p0;
@@ -3547,20 +2830,127 @@ select * from t2 order by col1;
col1
select * from t3 order by col1;
col1
-15.0000
-17.0000
-19.0000
+15
+17
+19
select * from t4 order by colint;
colint col1
-60 19.0000
+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
-60 19.0000
+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
-60 19.0000
+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 cast(mod(col1,10) as signed)
+--- Delete rows and partitions of tables with mod(col1,10)
-------------------------------------------------------------------------
delete from t11 where col1=19;
delete from t22 where col1=19;
@@ -3570,27 +2960,109 @@ delete from t55 where col1=19;
delete from t66 where col1=19;
select * from t11 order by col1;
col1
-15.0000
+15
select * from t22 order by col1;
col1
-15.0000
-17.0000
+15
+17
select * from t33 order by col1;
col1
-15.0000
-17.0000
+15
+17
select * from t44 order by colint;
colint col1
-1 5.1230
-2 13.3450
-3 17.9870
-4 15.6540
+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 5.1230
-2 13.3450
-3 17.9870
-4 15.6540
+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);
@@ -3599,533 +3071,162 @@ insert into t55 values (60,19);
insert into t66 values (60,19);
select * from t11 order by col1;
col1
-15.0000
-19.0000
-select * from t22 order by col1;
-col1
-15.0000
-17.0000
-19.0000
-select * from t33 order by col1;
-col1
-15.0000
-17.0000
-19.0000
-select * from t44 order by colint;
-colint col1
-1 5.1230
-2 13.3450
-3 17.9870
-4 15.6540
-60 19.0000
-select * from t55 order by colint;
-colint col1
-1 5.1230
-2 13.3450
-3 17.9870
-4 15.6540
-60 19.0000
-select * from t66 order by colint;
-colint col1
-1 5.1230
-2 13.3450
-3 17.9870
-4 15.6540
-60 19.0000
-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
-select * from t22 order by col1;
-col1
-select * from t33 order by col1;
-col1
-15.0000
-17.0000
-19.0000
-select * from t44 order by colint;
-colint col1
-60 19.0000
-select * from t55 order by colint;
-colint col1
-60 19.0000
-select * from t66 order by colint;
-colint col1
-60 19.0000
--------------------------
----- 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 ;
--------------------------------------------------------------------------
---- ord(col1) in partition with coltype char(3)
--------------------------------------------------------------------------
-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 ord(col1)
--------------------------------------------------------------------------
-create table t1 (col1 char(3)) engine='MYISAM'
-partition by range(ord(col1))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t2 (col1 char(3)) engine='MYISAM'
-partition by list(ord(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(3)) engine='MYISAM'
-partition by hash(ord(col1));
-create table t4 (colint int, col1 char(3)) engine='MYISAM'
-partition by range(colint)
-subpartition by hash(ord(col1)) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t5 (colint int, col1 char(3)) engine='MYISAM'
-partition by list(colint)
-subpartition by hash(ord(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(3)) engine='MYISAM'
-partition by range(colint)
-(partition p0 values less than (ord('a')),
-partition p1 values less than maxvalue);
--------------------------------------------------------------------------
---- Access tables with ord(col1)
--------------------------------------------------------------------------
-insert into t1 values ('1');
-insert into t1 values ('9');
-insert into t2 values ('1');
-insert into t2 values ('9');
-insert into t2 values ('3');
-insert into t3 values ('1');
-insert into t3 values ('9');
-insert into t3 values ('3');
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_ch1.inc' into table t4;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_ch1.inc' into table t5;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_ch1.inc' into table t6;
-select ord(col1) from t1 order by col1;
-ord(col1)
-49
-57
-select * from t1 order by col1;
-col1
-1
-9
-select * from t2 order by col1;
-col1
-1
-3
-9
-select * from t3 order by col1;
-col1
-1
-3
-9
-select * from t4 order by colint;
-colint col1
-1 1
-2 9
-3 3
-4 8
-select * from t5 order by colint;
-colint col1
-1 1
-2 9
-3 3
-4 8
-select * from t6 order by colint;
-colint col1
-1 1
-2 9
-3 3
-4 8
-update t1 set col1='8' where col1='1';
-update t2 set col1='8' where col1='1';
-update t3 set col1='8' where col1='1';
-update t4 set col1='8' where col1='1';
-update t5 set col1='8' where col1='1';
-update t6 set col1='8' where col1='1';
-select * from t1 order by col1;
-col1
-8
-9
-select * from t2 order by col1;
-col1
-3
-8
-9
-select * from t3 order by col1;
-col1
-3
-8
-9
-select * from t4 order by colint;
-colint col1
-1 8
-2 9
-3 3
-4 8
-select * from t5 order by colint;
-colint col1
-1 8
-2 9
-3 3
-4 8
-select * from t6 order by colint;
-colint col1
-1 8
-2 9
-3 3
-4 8
--------------------------------------------------------------------------
---- Alter tables with ord(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(ord(col1))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t22
-partition by list(ord(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(ord(col1));
-alter table t44
-partition by range(colint)
-subpartition by hash(ord(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(ord(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 (ord('a')),
-partition p1 values less than maxvalue);
-select * from t11 order by col1;
-col1
-8
-9
-select * from t22 order by col1;
-col1
-3
-8
-9
-select * from t33 order by col1;
-col1
-3
-8
-9
-select * from t44 order by colint;
-colint col1
-1 8
-2 9
-3 3
-4 8
-select * from t55 order by colint;
-colint col1
-1 8
-2 9
-3 3
-4 8
-select * from t66 order by colint;
-colint col1
-1 8
-2 9
-3 3
-4 8
----------------------------
----- 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
-8
-9
-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
-8
-9
-alter table t55
-partition by list(colint)
-subpartition by hash(ord(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(3) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (ord(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 8
-2 9
-3 3
-4 8
-alter table t66
-reorganize partition p0,p1 into
-(partition s1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 8
-2 9
-3 3
-4 8
-alter table t66
-reorganize partition s1 into
-(partition p0 values less than (ord('a')),
-partition p1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 8
-2 9
-3 3
-4 8
-alter table t66
-reorganize partition p0,p1 into
-(partition s1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 8
-2 9
-3 3
-4 8
-alter table t66
-reorganize partition s1 into
-(partition p0 values less than (ord('a')),
-partition p1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 8
-2 9
-3 3
-4 8
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with ord(col1)
--------------------------------------------------------------------------
-delete from t1 where col1='9';
-delete from t2 where col1='9';
-delete from t3 where col1='9';
-delete from t4 where col1='9';
-delete from t5 where col1='9';
-delete from t6 where col1='9';
-select * from t1 order by col1;
-col1
-8
-select * from t2 order by col1;
-col1
-3
-8
-select * from t3 order by col1;
-col1
-3
-8
-select * from t4 order by colint;
-colint col1
-1 8
-3 3
-4 8
-select * from t5 order by colint;
-colint col1
-1 8
-3 3
-4 8
-insert into t1 values ('9');
-insert into t2 values ('9');
-insert into t3 values ('9');
-insert into t4 values (60,'9');
-insert into t5 values (60,'9');
-insert into t6 values (60,'9');
-select * from t1 order by col1;
-col1
-8
-9
-select * from t2 order by col1;
-col1
-3
-8
-9
-select * from t3 order by col1;
-col1
-3
-8
-9
-select * from t4 order by colint;
-colint col1
-1 8
-3 3
-4 8
-60 9
-select * from t5 order by colint;
-colint col1
-1 8
-3 3
-4 8
-60 9
-select * from t6 order by colint;
-colint col1
-1 8
-3 3
-4 8
-60 9
-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
-8
-9
-select * from t2 order by col1;
-col1
-3
-8
-9
-select * from t3 order by col1;
-col1
-3
-8
-9
-select * from t4 order by colint;
-colint col1
-60 9
-select * from t5 order by colint;
-colint col1
-60 9
-select * from t6 order by colint;
-colint col1
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with ord(col1)
--------------------------------------------------------------------------
-delete from t11 where col1='9';
-delete from t22 where col1='9';
-delete from t33 where col1='9';
-delete from t44 where col1='9';
-delete from t55 where col1='9';
-delete from t66 where col1='9';
-select * from t11 order by col1;
-col1
-8
-select * from t22 order by col1;
-col1
-3
-8
-select * from t33 order by col1;
-col1
-3
-8
-select * from t44 order by colint;
-colint col1
-1 8
-3 3
-4 8
-select * from t55 order by colint;
-colint col1
-1 8
-3 3
-4 8
-insert into t11 values ('9');
-insert into t22 values ('9');
-insert into t33 values ('9');
-insert into t44 values (60,'9');
-insert into t55 values (60,'9');
-insert into t66 values (60,'9');
-select * from t11 order by col1;
-col1
-8
-9
+15
+19
select * from t22 order by col1;
col1
-3
-8
-9
+15
+17
+19
select * from t33 order by col1;
col1
-3
-8
-9
+15
+17
+19
select * from t44 order by colint;
colint col1
-1 8
-3 3
-4 8
-60 9
+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 8
-3 3
-4 8
-60 9
+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 8
-3 3
-4 8
-60 9
+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
alter table t11 drop partition p0;
alter table t22 drop partition p0;
alter table t44 drop partition p0;
@@ -4133,26 +3234,129 @@ alter table t55 drop partition p0;
alter table t66 drop partition p0;
select * from t11 order by col1;
col1
-8
-9
select * from t22 order by col1;
col1
-3
-8
-9
select * from t33 order by col1;
col1
-3
-8
-9
+15
+17
+19
select * from t44 order by colint;
colint col1
-60 9
+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
-60 9
+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
+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
-------------------------
@@ -4225,9 +3429,9 @@ 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 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t4;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t5;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t6;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t4;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t5;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t6;
select day(col1) from t1 order by col1;
day(col1)
17
@@ -4721,9 +3925,9 @@ 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 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t4;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t5;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t6;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t4;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t5;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t6;
select dayofmonth(col1) from t1 order by col1;
dayofmonth(col1)
17
@@ -5217,9 +4421,9 @@ 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 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t4;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t5;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t6;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t4;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t5;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t6;
select dayofweek(col1) from t1 order by col1;
dayofweek(col1)
3
@@ -5725,9 +4929,9 @@ 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 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t4;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t5;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t6;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t4;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t5;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t6;
select dayofyear(col1) from t1 order by col1;
dayofyear(col1)
3
@@ -6223,9 +5427,9 @@ 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 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t4;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t5;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t6;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t4;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t5;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t6;
select dayofyear(col1) from t1 order by col1;
dayofyear(col1)
3
@@ -6721,9 +5925,9 @@ 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 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t4;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t5;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t6;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t4;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t5;
+load data infile '../std_data_ln/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
@@ -7219,9 +6423,9 @@ 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 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t4;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t5;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t6;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_time.inc' into table t4;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_time.inc' into table t5;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_time.inc' into table t6;
select hour(col1) from t1 order by col1;
hour(col1)
9
@@ -7723,9 +6927,9 @@ 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 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t4;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t5;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t6;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_time.inc' into table t4;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_time.inc' into table t5;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_time.inc' into table t6;
select microsecond(col1) from t1 order by col1;
microsecond(col1)
0
@@ -8213,9 +7417,9 @@ 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 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t4;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t5;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t6;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_time.inc' into table t4;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_time.inc' into table t5;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_time.inc' into table t6;
select minute(col1) from t1 order by col1;
minute(col1)
9
@@ -8723,9 +7927,9 @@ 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 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t4;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t5;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t6;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_time.inc' into table t4;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_time.inc' into table t5;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_time.inc' into table t6;
select second(col1) from t1 order by col1;
second(col1)
9
@@ -9233,9 +8437,9 @@ 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 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t4;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t5;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t6;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_time.inc' into table t4;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_time.inc' into table t5;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_time.inc' into table t6;
select second(col1) from t1 order by col1;
second(col1)
9
@@ -9743,9 +8947,9 @@ 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 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t4;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t5;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t6;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t4;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t5;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t6;
select month(col1) from t1 order by col1;
month(col1)
1
@@ -10247,9 +9451,9 @@ 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 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t4;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t5;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t6;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t4;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t5;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t6;
select quarter(col1) from t1 order by col1;
quarter(col1)
1
@@ -10749,9 +9953,9 @@ 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 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t4;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t5;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t6;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_time.inc' into table t4;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_time.inc' into table t5;
+load data infile '../std_data_ln/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
@@ -11257,9 +10461,9 @@ 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 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t4;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t5;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t6;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t4;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t5;
+load data infile '../std_data_ln/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
@@ -11701,7 +10905,7 @@ drop table if exists t44 ;
drop table if exists t55 ;
drop table if exists t66 ;
-------------------------------------------------------------------------
---- weekday(col1) in partition with coltype date
+--- datediff(col1, '2006-01-01') in partition with coltype date
-------------------------------------------------------------------------
drop table if exists t1 ;
drop table if exists t2 ;
@@ -11710,14 +10914,14 @@ drop table if exists t4 ;
drop table if exists t5 ;
drop table if exists t6 ;
-------------------------------------------------------------------------
---- Create tables with weekday(col1)
+--- Create tables with datediff(col1, '2006-01-01')
-------------------------------------------------------------------------
create table t1 (col1 date) engine='MYISAM'
-partition by range(weekday(col1))
+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(weekday(col1))
+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),
@@ -11726,15 +10930,15 @@ 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(weekday(col1));
+partition by hash(datediff(col1, '2006-01-01'));
create table t4 (colint int, col1 date) engine='MYISAM'
partition by range(colint)
-subpartition by hash(weekday(col1)) subpartitions 2
+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(weekday(col1)) subpartitions 2
+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),
@@ -11744,40 +10948,40 @@ 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 (weekday('2006-10-14')),
+(partition p0 values less than (datediff('2006-02-02', '2006-01-01')),
partition p1 values less than maxvalue);
-------------------------------------------------------------------------
---- Access tables with weekday(col1)
+--- Access tables with datediff(col1, '2006-01-01')
-------------------------------------------------------------------------
-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 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t4;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t5;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t6;
-select weekday(col1) from t1 order by col1;
-weekday(col1)
-4
-6
+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 '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t4;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t5;
+load data infile '../std_data_ln/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-11-17
-2006-12-03
+2006-01-17
+2006-02-03
select * from t2 order by col1;
col1
-2006-05-25
-2006-11-17
-2006-12-03
+2006-01-17
+2006-01-25
+2006-02-03
select * from t3 order by col1;
col1
-2006-05-25
-2006-11-17
-2006-12-03
+2006-01-17
+2006-01-25
+2006-02-03
select * from t4 order by colint;
colint col1
1 2006-02-03
@@ -11796,46 +11000,46 @@ colint col1
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';
+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
-2006-11-17
select * from t2 order by col1;
col1
+2006-01-17
+2006-01-25
2006-02-06
-2006-05-25
-2006-11-17
select * from t3 order by col1;
col1
+2006-01-17
+2006-01-25
2006-02-06
-2006-05-25
-2006-11-17
select * from t4 order by colint;
colint col1
-1 2006-02-03
+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-03
+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-03
+1 2006-02-06
2 2006-01-17
3 2006-01-25
4 2006-02-05
-------------------------------------------------------------------------
---- Alter tables with weekday(col1)
+--- Alter tables with datediff(col1, '2006-01-01')
-------------------------------------------------------------------------
drop table if exists t11 ;
drop table if exists t22 ;
@@ -11850,11 +11054,11 @@ 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(weekday(col1))
+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(weekday(col1))
+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),
@@ -11863,15 +11067,15 @@ 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));
+partition by hash(datediff(col1, '2006-01-01'));
alter table t44
partition by range(colint)
-subpartition by hash(weekday(col1)) subpartitions 2
+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(weekday(col1)) subpartitions 2
+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),
@@ -11881,37 +11085,37 @@ 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 (weekday('2006-10-14')),
+(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
-2006-11-17
select * from t22 order by col1;
col1
+2006-01-17
+2006-01-25
2006-02-06
-2006-05-25
-2006-11-17
select * from t33 order by col1;
col1
+2006-01-17
+2006-01-25
2006-02-06
-2006-05-25
-2006-11-17
select * from t44 order by colint;
colint col1
-1 2006-02-03
+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-03
+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-03
+1 2006-02-06
2 2006-01-17
3 2006-01-25
4 2006-02-05
@@ -11923,19 +11127,19 @@ reorganize partition p0,p1 into
(partition s1 values less than maxvalue);
select * from t11 order by col1;
col1
+2006-01-17
2006-02-06
-2006-11-17
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
-2006-11-17
alter table t55
partition by list(colint)
-subpartition by hash(weekday(col1)) subpartitions 5
+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),
@@ -11948,10 +11152,10 @@ 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 (weekday(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) */
+) 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-03
+1 2006-02-06
2 2006-01-17
3 2006-01-25
4 2006-02-05
@@ -11960,17 +11164,17 @@ reorganize partition p0,p1 into
(partition s1 values less than maxvalue);
select * from t66 order by colint;
colint col1
-1 2006-02-03
+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 (weekday('2006-10-14')),
+(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-03
+1 2006-02-06
2 2006-01-17
3 2006-01-25
4 2006-02-05
@@ -11979,93 +11183,88 @@ reorganize partition p0,p1 into
(partition s1 values less than maxvalue);
select * from t66 order by colint;
colint col1
-1 2006-02-03
+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 (weekday('2006-10-14')),
+(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-03
+1 2006-02-06
2 2006-01-17
3 2006-01-25
4 2006-02-05
-------------------------------------------------------------------------
---- Delete rows and partitions of tables with weekday(col1)
+--- Delete rows and partitions of tables with datediff(col1, '2006-01-01')
-------------------------------------------------------------------------
-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';
+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
-2006-05-25
select * from t3 order by col1;
col1
+2006-01-25
2006-02-06
-2006-05-25
select * from t4 order by colint;
colint col1
-1 2006-02-03
-2 2006-01-17
+1 2006-02-06
3 2006-01-25
4 2006-02-05
select * from t5 order by colint;
colint col1
-1 2006-02-03
-2 2006-01-17
+1 2006-02-06
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');
+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
-2006-11-17
select * from t2 order by col1;
col1
+2006-01-17
+2006-01-25
2006-02-06
-2006-05-25
-2006-11-17
select * from t3 order by col1;
col1
+2006-01-17
+2006-01-25
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
+1 2006-02-06
3 2006-01-25
4 2006-02-05
-60 2006-11-17
+60 2006-01-17
select * from t5 order by colint;
colint col1
-1 2006-02-03
-2 2006-01-17
+1 2006-02-06
3 2006-01-25
4 2006-02-05
-60 2006-11-17
+60 2006-01-17
select * from t6 order by colint;
colint col1
-1 2006-02-03
-2 2006-01-17
+1 2006-02-06
3 2006-01-25
4 2006-02-05
-60 2006-11-17
+60 2006-01-17
alter table t1 drop partition p0;
alter table t2 drop partition p0;
alter table t4 drop partition p0;
@@ -12073,95 +11272,95 @@ 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
-2006-05-25
-2006-11-17
select * from t4 order by colint;
colint col1
-60 2006-11-17
+60 2006-01-17
select * from t5 order by colint;
colint col1
-60 2006-11-17
+60 2006-01-17
select * from t6 order by colint;
colint col1
-60 2006-11-17
+60 2006-01-17
-------------------------------------------------------------------------
---- Delete rows and partitions of tables with weekday(col1)
+--- Delete rows and partitions of tables with datediff(col1, '2006-01-01')
-------------------------------------------------------------------------
-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';
+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
-2006-05-25
select * from t33 order by col1;
col1
+2006-01-25
2006-02-06
-2006-05-25
select * from t44 order by colint;
colint col1
-1 2006-02-03
-2 2006-01-17
+1 2006-02-06
3 2006-01-25
4 2006-02-05
select * from t55 order by colint;
colint col1
-1 2006-02-03
-2 2006-01-17
+1 2006-02-06
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');
+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
-2006-11-17
select * from t22 order by col1;
col1
+2006-01-17
+2006-01-25
2006-02-06
-2006-05-25
-2006-11-17
select * from t33 order by col1;
col1
+2006-01-17
+2006-01-25
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
+1 2006-02-06
3 2006-01-25
4 2006-02-05
-60 2006-11-17
+60 2006-01-17
select * from t55 order by colint;
colint col1
-1 2006-02-03
-2 2006-01-17
+1 2006-02-06
3 2006-01-25
4 2006-02-05
-60 2006-11-17
+60 2006-01-17
select * from t66 order by colint;
colint col1
-1 2006-02-03
-2 2006-01-17
+1 2006-02-06
3 2006-01-25
4 2006-02-05
-60 2006-11-17
+60 2006-01-17
alter table t11 drop partition p0;
alter table t22 drop partition p0;
alter table t44 drop partition p0;
@@ -12169,22 +11368,27 @@ 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
-2006-05-25
-2006-11-17
select * from t44 order by colint;
colint col1
-60 2006-11-17
+60 2006-01-17
select * from t55 order by colint;
colint col1
-60 2006-11-17
+60 2006-01-17
select * from t66 order by colint;
colint col1
-60 2006-11-17
+60 2006-01-17
-------------------------
---- some alter table end
-------------------------
@@ -12201,7 +11405,7 @@ drop table if exists t44 ;
drop table if exists t55 ;
drop table if exists t66 ;
-------------------------------------------------------------------------
---- weekofyear(col1) in partition with coltype date
+--- weekday(col1) in partition with coltype date
-------------------------------------------------------------------------
drop table if exists t1 ;
drop table if exists t2 ;
@@ -12210,14 +11414,14 @@ drop table if exists t4 ;
drop table if exists t5 ;
drop table if exists t6 ;
-------------------------------------------------------------------------
---- Create tables with weekofyear(col1)
+--- Create tables with weekday(col1)
-------------------------------------------------------------------------
create table t1 (col1 date) engine='MYISAM'
-partition by range(weekofyear(col1))
+partition by range(weekday(col1))
(partition p0 values less than (15),
partition p1 values less than maxvalue);
create table t2 (col1 date) engine='MYISAM'
-partition by list(weekofyear(col1))
+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),
@@ -12226,15 +11430,15 @@ 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(weekofyear(col1));
+partition by hash(weekday(col1));
create table t4 (colint int, col1 date) engine='MYISAM'
partition by range(colint)
-subpartition by hash(weekofyear(col1)) subpartitions 2
+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='MYISAM'
partition by list(colint)
-subpartition by hash(weekofyear(col1)) subpartitions 2
+subpartition by hash(weekday(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),
@@ -12244,40 +11448,40 @@ 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 (weekofyear('2006-02-14')),
+(partition p0 values less than (weekday('2006-10-14')),
partition p1 values less than maxvalue);
-------------------------------------------------------------------------
---- Access tables with weekofyear(col1)
+--- Access tables with weekday(col1)
-------------------------------------------------------------------------
-insert into t1 values ('2006-01-03');
-insert into t1 values ('2006-03-17');
-insert into t2 values ('2006-01-03');
-insert into t2 values ('2006-03-17');
+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-01-03');
-insert into t3 values ('2006-03-17');
+insert into t3 values ('2006-12-03');
+insert into t3 values ('2006-11-17');
insert into t3 values ('2006-05-25');
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t4;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t5;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t6;
-select weekofyear(col1) from t1 order by col1;
-weekofyear(col1)
-1
-11
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t4;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t5;
+load data infile '../std_data_ln/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-01-03
-2006-03-17
+2006-11-17
+2006-12-03
select * from t2 order by col1;
col1
-2006-01-03
-2006-03-17
2006-05-25
+2006-11-17
+2006-12-03
select * from t3 order by col1;
col1
-2006-01-03
-2006-03-17
2006-05-25
+2006-11-17
+2006-12-03
select * from t4 order by colint;
colint col1
1 2006-02-03
@@ -12296,26 +11500,26 @@ colint col1
2 2006-01-17
3 2006-01-25
4 2006-02-05
-update t1 set col1='2006-09-06' where col1='2006-01-03';
-update t2 set col1='2006-09-06' where col1='2006-01-03';
-update t3 set col1='2006-09-06' where col1='2006-01-03';
-update t4 set col1='2006-09-06' where col1='2006-01-03';
-update t5 set col1='2006-09-06' where col1='2006-01-03';
-update t6 set col1='2006-09-06' where col1='2006-01-03';
+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-03-17
-2006-09-06
+2006-02-06
+2006-11-17
select * from t2 order by col1;
col1
-2006-03-17
+2006-02-06
2006-05-25
-2006-09-06
+2006-11-17
select * from t3 order by col1;
col1
-2006-03-17
+2006-02-06
2006-05-25
-2006-09-06
+2006-11-17
select * from t4 order by colint;
colint col1
1 2006-02-03
@@ -12335,7 +11539,7 @@ colint col1
3 2006-01-25
4 2006-02-05
-------------------------------------------------------------------------
---- Alter tables with weekofyear(col1)
+--- Alter tables with weekday(col1)
-------------------------------------------------------------------------
drop table if exists t11 ;
drop table if exists t22 ;
@@ -12350,11 +11554,11 @@ 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(weekofyear(col1))
+partition by range(weekday(col1))
(partition p0 values less than (15),
partition p1 values less than maxvalue);
alter table t22
-partition by list(weekofyear(col1))
+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),
@@ -12363,15 +11567,15 @@ 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(weekofyear(col1));
+partition by hash(weekday(col1));
alter table t44
partition by range(colint)
-subpartition by hash(weekofyear(col1)) subpartitions 2
+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(weekofyear(col1)) subpartitions 2
+subpartition by hash(weekday(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),
@@ -12381,22 +11585,22 @@ 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 (weekofyear('2006-02-14')),
+(partition p0 values less than (weekday('2006-10-14')),
partition p1 values less than maxvalue);
select * from t11 order by col1;
col1
-2006-03-17
-2006-09-06
+2006-02-06
+2006-11-17
select * from t22 order by col1;
col1
-2006-03-17
+2006-02-06
2006-05-25
-2006-09-06
+2006-11-17
select * from t33 order by col1;
col1
-2006-03-17
+2006-02-06
2006-05-25
-2006-09-06
+2006-11-17
select * from t44 order by colint;
colint col1
1 2006-02-03
@@ -12423,19 +11627,19 @@ reorganize partition p0,p1 into
(partition s1 values less than maxvalue);
select * from t11 order by col1;
col1
-2006-03-17
-2006-09-06
+2006-02-06
+2006-11-17
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-03-17
-2006-09-06
+2006-02-06
+2006-11-17
alter table t55
partition by list(colint)
-subpartition by hash(weekofyear(col1)) subpartitions 5
+subpartition by hash(weekday(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),
@@ -12448,7 +11652,7 @@ 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 (weekofyear(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) */
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (weekday(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
@@ -12466,7 +11670,7 @@ colint col1
4 2006-02-05
alter table t66
reorganize partition s1 into
-(partition p0 values less than (weekofyear('2006-02-14')),
+(partition p0 values less than (weekday('2006-10-14')),
partition p1 values less than maxvalue);
select * from t66 order by colint;
colint col1
@@ -12485,7 +11689,7 @@ colint col1
4 2006-02-05
alter table t66
reorganize partition s1 into
-(partition p0 values less than (weekofyear('2006-02-14')),
+(partition p0 values less than (weekday('2006-10-14')),
partition p1 values less than maxvalue);
select * from t66 order by colint;
colint col1
@@ -12494,25 +11698,25 @@ colint col1
3 2006-01-25
4 2006-02-05
-------------------------------------------------------------------------
---- Delete rows and partitions of tables with weekofyear(col1)
+--- Delete rows and partitions of tables with weekday(col1)
-------------------------------------------------------------------------
-delete from t1 where col1='2006-03-17';
-delete from t2 where col1='2006-03-17';
-delete from t3 where col1='2006-03-17';
-delete from t4 where col1='2006-03-17';
-delete from t5 where col1='2006-03-17';
-delete from t6 where col1='2006-03-17';
+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-09-06
+2006-02-06
select * from t2 order by col1;
col1
+2006-02-06
2006-05-25
-2006-09-06
select * from t3 order by col1;
col1
+2006-02-06
2006-05-25
-2006-09-06
select * from t4 order by colint;
colint col1
1 2006-02-03
@@ -12525,47 +11729,47 @@ colint col1
2 2006-01-17
3 2006-01-25
4 2006-02-05
-insert into t1 values ('2006-03-17');
-insert into t2 values ('2006-03-17');
-insert into t3 values ('2006-03-17');
-insert into t4 values (60,'2006-03-17');
-insert into t5 values (60,'2006-03-17');
-insert into t6 values (60,'2006-03-17');
+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-03-17
-2006-09-06
+2006-02-06
+2006-11-17
select * from t2 order by col1;
col1
-2006-03-17
+2006-02-06
2006-05-25
-2006-09-06
+2006-11-17
select * from t3 order by col1;
col1
-2006-03-17
+2006-02-06
2006-05-25
-2006-09-06
+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-03-17
+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-03-17
+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-03-17
+60 2006-11-17
alter table t1 drop partition p0;
alter table t2 drop partition p0;
alter table t4 drop partition p0;
@@ -12573,46 +11777,42 @@ alter table t5 drop partition p0;
alter table t6 drop partition p0;
select * from t1 order by col1;
col1
-2006-09-06
select * from t2 order by col1;
col1
-2006-03-17
-2006-05-25
-2006-09-06
select * from t3 order by col1;
col1
-2006-03-17
+2006-02-06
2006-05-25
-2006-09-06
+2006-11-17
select * from t4 order by colint;
colint col1
-60 2006-03-17
+60 2006-11-17
select * from t5 order by colint;
colint col1
-60 2006-03-17
+60 2006-11-17
select * from t6 order by colint;
colint col1
-60 2006-03-17
+60 2006-11-17
-------------------------------------------------------------------------
---- Delete rows and partitions of tables with weekofyear(col1)
+--- Delete rows and partitions of tables with weekday(col1)
-------------------------------------------------------------------------
-delete from t11 where col1='2006-03-17';
-delete from t22 where col1='2006-03-17';
-delete from t33 where col1='2006-03-17';
-delete from t44 where col1='2006-03-17';
-delete from t55 where col1='2006-03-17';
-delete from t66 where col1='2006-03-17';
+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-09-06
+2006-02-06
select * from t22 order by col1;
col1
+2006-02-06
2006-05-25
-2006-09-06
select * from t33 order by col1;
col1
+2006-02-06
2006-05-25
-2006-09-06
select * from t44 order by colint;
colint col1
1 2006-02-03
@@ -12625,47 +11825,47 @@ colint col1
2 2006-01-17
3 2006-01-25
4 2006-02-05
-insert into t11 values ('2006-03-17');
-insert into t22 values ('2006-03-17');
-insert into t33 values ('2006-03-17');
-insert into t44 values (60,'2006-03-17');
-insert into t55 values (60,'2006-03-17');
-insert into t66 values (60,'2006-03-17');
+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-03-17
-2006-09-06
+2006-02-06
+2006-11-17
select * from t22 order by col1;
col1
-2006-03-17
+2006-02-06
2006-05-25
-2006-09-06
+2006-11-17
select * from t33 order by col1;
col1
-2006-03-17
+2006-02-06
2006-05-25
-2006-09-06
+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-03-17
+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-03-17
+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-03-17
+60 2006-11-17
alter table t11 drop partition p0;
alter table t22 drop partition p0;
alter table t44 drop partition p0;
@@ -12673,26 +11873,22 @@ alter table t55 drop partition p0;
alter table t66 drop partition p0;
select * from t11 order by col1;
col1
-2006-09-06
select * from t22 order by col1;
col1
-2006-03-17
-2006-05-25
-2006-09-06
select * from t33 order by col1;
col1
-2006-03-17
+2006-02-06
2006-05-25
-2006-09-06
+2006-11-17
select * from t44 order by colint;
colint col1
-60 2006-03-17
+60 2006-11-17
select * from t55 order by colint;
colint col1
-60 2006-03-17
+60 2006-11-17
select * from t66 order by colint;
colint col1
-60 2006-03-17
+60 2006-11-17
-------------------------
---- some alter table end
-------------------------
@@ -12765,9 +11961,9 @@ 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 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t4;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t5;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t6;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t4;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t5;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t6;
select year(col1)-1990 from t1 order by col1;
year(col1)-1990
6
@@ -13269,9 +12465,9 @@ 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 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t4;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t5;
-load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t6;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t4;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t5;
+load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t6;
select yearweek(col1)-200600 from t1 order by col1;
yearweek(col1)-200600
1
diff --git a/mysql-test/suite/parts/r/partition_alter1_innodb.result b/mysql-test/suite/parts/r/partition_alter1_innodb.result
index 22f02356b77..2da6a92af31 100644
--- a/mysql-test/suite/parts/r/partition_alter1_innodb.result
+++ b/mysql-test/suite/parts/r/partition_alter1_innodb.result
@@ -2,14 +2,6 @@ SET @max_row = 20;
SET @@session.storage_engine = 'InnoDB';
#------------------------------------------------------------------------
-# There are several testcases disabled because of the open bugs
-# #15890
-# 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
#------------------------------------------------------------------------
@@ -31,7 +23,7 @@ DROP TABLE IF EXISTS t0_definition;
CREATE TABLE t0_definition (
state CHAR(3),
create_command VARBINARY(5000),
-file_list VARBINARY(5000),
+file_list VARBINARY(10000),
PRIMARY KEY (state)
) ENGINE = MEMORY;
DROP TABLE IF EXISTS t0_aux;
@@ -389,7 +381,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -841,16 +833,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -860,7 +852,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -878,7 +870,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -1330,16 +1322,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -1349,7 +1341,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -1375,7 +1367,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -1827,16 +1819,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -1846,7 +1838,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -1870,7 +1862,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -2320,16 +2312,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -2339,7 +2331,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -2361,7 +2353,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -2813,16 +2805,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -2832,7 +2824,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -2858,7 +2850,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -3308,16 +3300,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -3327,7 +3319,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -3353,7 +3345,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -3805,16 +3797,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -3824,7 +3816,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -3846,7 +3838,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -4298,16 +4290,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -4317,7 +4309,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
@@ -4336,7 +4328,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -4788,16 +4780,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -4807,7 +4799,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -4825,7 +4817,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -5277,16 +5269,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -5296,7 +5288,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -5322,7 +5314,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -5774,16 +5766,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -5793,7 +5785,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -5817,7 +5809,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -6267,16 +6259,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -6286,7 +6278,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -6308,7 +6300,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -6760,16 +6752,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -6779,7 +6771,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -6805,7 +6797,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -7255,16 +7247,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -7274,7 +7266,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -7300,7 +7292,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -7752,16 +7744,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -7771,7 +7763,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -7793,7 +7785,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -8245,16 +8237,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -8264,7 +8256,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
# 1.1.4 UNIQUE INDEX consisting of two columns
DROP TABLE IF EXISTS t1;
@@ -8284,7 +8276,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -8752,16 +8744,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -8771,7 +8763,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -8789,7 +8781,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -9257,16 +9249,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -9276,7 +9268,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -9302,7 +9294,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -9770,16 +9762,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -9789,7 +9781,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -9813,7 +9805,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -10279,16 +10271,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -10298,7 +10290,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -10320,7 +10312,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -10788,16 +10780,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -10807,7 +10799,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -10833,7 +10825,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -11299,16 +11291,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -11318,7 +11310,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -11344,7 +11336,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -11812,16 +11804,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -11831,7 +11823,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -11853,7 +11845,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -12321,16 +12313,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -12340,7 +12332,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
@@ -12359,7 +12351,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -12827,16 +12819,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -12846,7 +12838,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -12864,7 +12856,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -13332,16 +13324,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -13351,7 +13343,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -13377,7 +13369,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -13845,16 +13837,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -13864,7 +13856,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -13888,7 +13880,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -14354,16 +14346,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -14373,7 +14365,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -14395,7 +14387,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -14863,16 +14855,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -14882,7 +14874,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -14908,7 +14900,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -15374,16 +15366,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -15393,7 +15385,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -15419,7 +15411,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -15887,16 +15879,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -15906,7 +15898,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -15928,7 +15920,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -16396,16 +16388,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -16415,7 +16407,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
#------------------------------------------------------------------------
# 1.2 ADD PRIMARY KEY or UNIQUE INDEX to table with two columns
@@ -16439,7 +16431,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -16891,16 +16883,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -16910,7 +16902,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -16928,7 +16920,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -17380,16 +17372,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -17399,7 +17391,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -17425,7 +17417,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -17877,16 +17869,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -17896,7 +17888,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -17920,7 +17912,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -18370,16 +18362,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -18389,7 +18381,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -18411,7 +18403,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -18861,16 +18853,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -18880,7 +18872,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -18906,7 +18898,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -19356,16 +19348,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -19375,7 +19367,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -19401,7 +19393,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -19853,16 +19845,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -19872,7 +19864,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -19894,7 +19886,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -20346,16 +20338,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -20365,7 +20357,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
@@ -20384,7 +20376,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -20836,16 +20828,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -20855,7 +20847,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -20873,7 +20865,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -21325,16 +21317,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -21344,7 +21336,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -21370,7 +21362,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -21822,16 +21814,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -21841,7 +21833,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -21865,7 +21857,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -22315,16 +22307,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -22334,7 +22326,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -22356,7 +22348,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -22806,16 +22798,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -22825,7 +22817,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -22851,7 +22843,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -23301,16 +23293,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -23320,7 +23312,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -23346,7 +23338,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -23798,16 +23790,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -23817,7 +23809,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -23839,7 +23831,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -24291,16 +24283,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -24310,7 +24302,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
# 1.2.2 UNIQUE INDEX consisting of two columns
DROP TABLE IF EXISTS t1;
@@ -24330,7 +24322,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -24798,16 +24790,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -24817,7 +24809,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -24835,7 +24827,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -25303,16 +25295,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -25322,7 +25314,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -25348,7 +25340,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -25816,16 +25808,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -25835,7 +25827,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -25859,7 +25851,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -26325,16 +26317,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -26344,7 +26336,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -26366,7 +26358,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -26832,16 +26824,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -26851,7 +26843,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -26877,7 +26869,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -27343,16 +27335,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -27362,7 +27354,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -27388,7 +27380,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -27856,16 +27848,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -27875,7 +27867,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -27897,7 +27889,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -28365,16 +28357,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -28384,7 +28376,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
@@ -28403,7 +28395,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -28871,16 +28863,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -28890,7 +28882,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -28908,7 +28900,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -29376,16 +29368,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -29395,7 +29387,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -29421,7 +29413,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -29889,16 +29881,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -29908,7 +29900,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -29932,7 +29924,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -30398,16 +30390,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -30417,7 +30409,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -30439,7 +30431,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -30905,16 +30897,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -30924,7 +30916,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -30950,7 +30942,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -31416,16 +31408,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -31435,7 +31427,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -31461,7 +31453,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -31929,16 +31921,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -31948,7 +31940,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -31970,7 +31962,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -32438,16 +32430,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -32457,7 +32449,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# 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;
@@ -32477,7 +32469,7 @@ ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int1,f_int2), ADD PRIMARY KEY(f_int2,f_
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -32930,16 +32922,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -32949,7 +32941,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -32967,7 +32959,7 @@ ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int1,f_int2), ADD PRIMARY KEY(f_int2,f_
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -33420,16 +33412,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -33439,7 +33431,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -33465,7 +33457,7 @@ ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int1,f_int2), ADD PRIMARY KEY(f_int2,f_
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -33918,16 +33910,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -33937,7 +33929,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -33961,7 +33953,7 @@ ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int1,f_int2), ADD PRIMARY KEY(f_int2,f_
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -34412,16 +34404,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -34431,7 +34423,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -34453,7 +34445,7 @@ ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int1,f_int2), ADD PRIMARY KEY(f_int2,f_
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -34904,16 +34896,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -34923,7 +34915,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -34949,7 +34941,7 @@ ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int1,f_int2), ADD PRIMARY KEY(f_int2,f_
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -35400,16 +35392,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -35419,7 +35411,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -35445,7 +35437,7 @@ ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int1,f_int2), ADD PRIMARY KEY(f_int2,f_
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -35898,16 +35890,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -35917,7 +35909,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -35939,7 +35931,7 @@ ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int1,f_int2), ADD PRIMARY KEY(f_int2,f_
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -36392,16 +36384,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -36411,7 +36403,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
@@ -36430,7 +36422,7 @@ ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2,f_int1), ADD PRIMARY KEY(f_int1,f_
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -36883,16 +36875,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -36902,7 +36894,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -36920,7 +36912,7 @@ ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2,f_int1), ADD PRIMARY KEY(f_int1,f_
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -37373,16 +37365,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -37392,7 +37384,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -37418,7 +37410,7 @@ ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2,f_int1), ADD PRIMARY KEY(f_int1,f_
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -37871,16 +37863,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -37890,7 +37882,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -37914,7 +37906,7 @@ ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2,f_int1), ADD PRIMARY KEY(f_int1,f_
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -38365,16 +38357,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -38384,7 +38376,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -38406,7 +38398,7 @@ ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2,f_int1), ADD PRIMARY KEY(f_int1,f_
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -38857,16 +38849,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -38876,7 +38868,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -38902,7 +38894,7 @@ ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2,f_int1), ADD PRIMARY KEY(f_int1,f_
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -39353,16 +39345,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -39372,7 +39364,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -39398,7 +39390,7 @@ ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2,f_int1), ADD PRIMARY KEY(f_int1,f_
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -39851,16 +39843,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -39870,7 +39862,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -39892,7 +39884,7 @@ ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2,f_int1), ADD PRIMARY KEY(f_int1,f_
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -40345,16 +40337,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -40364,7 +40356,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
@@ -40383,7 +40375,7 @@ ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2,f_int1), ADD PRIMARY KEY(f_int1,f_
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -40836,16 +40828,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -40855,7 +40847,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -40873,7 +40865,7 @@ ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2,f_int1), ADD PRIMARY KEY(f_int1,f_
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -41326,16 +41318,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -41345,7 +41337,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -41371,7 +41363,7 @@ ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2,f_int1), ADD PRIMARY KEY(f_int1,f_
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -41824,16 +41816,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -41843,7 +41835,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -41867,7 +41859,7 @@ ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2,f_int1), ADD PRIMARY KEY(f_int1,f_
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -42318,16 +42310,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -42337,7 +42329,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -42359,7 +42351,7 @@ ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2,f_int1), ADD PRIMARY KEY(f_int1,f_
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -42810,16 +42802,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -42829,7 +42821,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -42855,7 +42847,7 @@ ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2,f_int1), ADD PRIMARY KEY(f_int1,f_
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -43306,16 +43298,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -43325,7 +43317,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -43351,7 +43343,7 @@ ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2,f_int1), ADD PRIMARY KEY(f_int1,f_
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -43804,16 +43796,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -43823,7 +43815,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -43845,7 +43837,7 @@ ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2,f_int1), ADD PRIMARY KEY(f_int1,f_
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -44298,16 +44290,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -44317,7 +44309,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
#========================================================================
@@ -44344,7 +44336,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -44744,16 +44736,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -44763,7 +44755,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -44781,7 +44773,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -45181,16 +45173,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -45200,7 +45192,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -45226,7 +45218,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -45626,16 +45618,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -45645,7 +45637,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -45669,7 +45661,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -46067,16 +46059,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -46086,7 +46078,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -46108,7 +46100,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -46508,16 +46500,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -46527,7 +46519,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -46553,7 +46545,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -46951,16 +46943,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -46970,7 +46962,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -46996,7 +46988,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -47396,16 +47388,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -47415,7 +47407,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -47437,7 +47429,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -47837,16 +47829,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -47856,7 +47848,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
@@ -47875,7 +47867,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -48275,16 +48267,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -48294,7 +48286,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -48312,7 +48304,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -48712,16 +48704,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -48731,7 +48723,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -48757,7 +48749,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -49157,16 +49149,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -49176,7 +49168,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -49200,7 +49192,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -49598,16 +49590,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -49617,7 +49609,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -49639,7 +49631,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -50039,16 +50031,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -50058,7 +50050,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -50084,7 +50076,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -50482,16 +50474,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -50501,7 +50493,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -50527,7 +50519,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -50927,16 +50919,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -50946,7 +50938,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -50968,7 +50960,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -51368,16 +51360,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -51387,7 +51379,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
@@ -51406,7 +51398,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -51822,16 +51814,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -51841,7 +51833,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -51859,7 +51851,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -52275,16 +52267,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -52294,7 +52286,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -52320,7 +52312,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -52736,16 +52728,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -52755,7 +52747,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -52779,7 +52771,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -53193,16 +53185,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -53212,7 +53204,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -53234,7 +53226,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -53650,16 +53642,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -53669,7 +53661,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -53695,7 +53687,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -54109,16 +54101,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -54128,7 +54120,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -54154,7 +54146,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -54570,16 +54562,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -54589,7 +54581,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -54611,7 +54603,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -55027,16 +55019,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -55046,7 +55038,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
#------------------------------------------------------------------------
# 2.2 Partitioning function contains two columns (f_int1,f_int2)
@@ -55069,7 +55061,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -55469,16 +55461,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -55488,7 +55480,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -55506,7 +55498,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -55906,16 +55898,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -55925,7 +55917,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -55951,7 +55943,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -56351,16 +56343,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -56370,7 +56362,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -56394,7 +56386,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -56792,16 +56784,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -56811,7 +56803,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -56833,7 +56825,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -57231,16 +57223,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -57250,7 +57242,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -57276,7 +57268,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -57674,16 +57666,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -57693,7 +57685,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -57719,7 +57711,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -58119,16 +58111,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -58138,7 +58130,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -58160,7 +58152,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -58560,16 +58552,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -58579,7 +58571,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
@@ -58598,7 +58590,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -58998,16 +58990,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -59017,7 +59009,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -59035,7 +59027,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -59435,16 +59427,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -59454,7 +59446,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -59480,7 +59472,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -59880,16 +59872,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -59899,7 +59891,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -59923,7 +59915,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -60321,16 +60313,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -60340,7 +60332,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -60362,7 +60354,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -60760,16 +60752,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -60779,7 +60771,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -60805,7 +60797,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -61203,16 +61195,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -61222,7 +61214,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -61248,7 +61240,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -61648,16 +61640,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -61667,7 +61659,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -61689,7 +61681,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -62089,16 +62081,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -62108,7 +62100,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# 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;
@@ -62128,7 +62120,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -62544,16 +62536,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -62563,7 +62555,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -62581,7 +62573,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -62997,16 +62989,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -63016,7 +63008,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -63042,7 +63034,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -63458,16 +63450,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -63477,7 +63469,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -63501,7 +63493,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -63915,16 +63907,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -63934,7 +63926,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -63956,7 +63948,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -64370,16 +64362,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -64389,7 +64381,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -64415,7 +64407,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -64829,16 +64821,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -64848,7 +64840,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -64874,7 +64866,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -65290,16 +65282,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -65309,7 +65301,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -65331,7 +65323,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -65747,16 +65739,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -65766,7 +65758,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
@@ -65785,7 +65777,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -66201,16 +66193,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -66220,7 +66212,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -66238,7 +66230,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -66654,16 +66646,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -66673,7 +66665,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -66699,7 +66691,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -67115,16 +67107,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -67134,7 +67126,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -67158,7 +67150,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -67572,16 +67564,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -67591,7 +67583,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -67613,7 +67605,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -68027,16 +68019,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -68046,7 +68038,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -68072,7 +68064,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -68486,16 +68478,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -68505,7 +68497,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -68531,7 +68523,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -68947,16 +68939,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -68966,7 +68958,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -68988,7 +68980,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -69404,16 +69396,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -69423,7 +69415,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# 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;
@@ -69443,7 +69435,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -69843,16 +69835,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -69862,7 +69854,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -69880,7 +69872,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -70280,16 +70272,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -70299,7 +70291,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -70325,7 +70317,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -70725,16 +70717,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -70744,7 +70736,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -70768,7 +70760,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -71166,16 +71158,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -71185,7 +71177,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -71207,7 +71199,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -71605,16 +71597,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -71624,7 +71616,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -71650,7 +71642,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -72048,16 +72040,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -72067,7 +72059,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -72093,7 +72085,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -72493,16 +72485,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -72512,7 +72504,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -72534,7 +72526,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -72934,16 +72926,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -72953,7 +72945,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
@@ -72972,7 +72964,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -73372,16 +73364,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -73391,7 +73383,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -73409,7 +73401,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -73809,16 +73801,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -73828,7 +73820,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -73854,7 +73846,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -74254,16 +74246,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -74273,7 +74265,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -74297,7 +74289,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -74695,16 +74687,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -74714,7 +74706,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -74736,7 +74728,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -75134,16 +75126,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -75153,7 +75145,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -75179,7 +75171,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -75577,16 +75569,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -75596,7 +75588,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -75622,7 +75614,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -76022,16 +76014,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -76041,7 +76033,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -76063,7 +76055,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -76463,16 +76455,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -76482,7 +76474,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
@@ -76501,7 +76493,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -76917,16 +76909,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -76936,7 +76928,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -76954,7 +76946,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -77370,16 +77362,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -77389,7 +77381,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -77415,7 +77407,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -77831,16 +77823,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -77850,7 +77842,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -77874,7 +77866,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -78288,16 +78280,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -78307,7 +78299,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -78329,7 +78321,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -78743,16 +78735,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -78762,7 +78754,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -78788,7 +78780,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -79202,16 +79194,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -79221,7 +79213,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -79247,7 +79239,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -79663,16 +79655,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -79682,7 +79674,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -79704,7 +79696,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -80120,16 +80112,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -80139,7 +80131,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
DROP VIEW IF EXISTS v1;
DROP TABLE IF EXISTS t1;
diff --git a/mysql-test/suite/parts/r/partition_alter1_myisam.result b/mysql-test/suite/parts/r/partition_alter1_myisam.result
index b2f1d657151..80c622a5d3c 100644
--- a/mysql-test/suite/parts/r/partition_alter1_myisam.result
+++ b/mysql-test/suite/parts/r/partition_alter1_myisam.result
@@ -2,14 +2,6 @@ SET @max_row = 20;
SET @@session.storage_engine = 'MyISAM';
#------------------------------------------------------------------------
-# There are several testcases disabled because of the open bugs
-# #15890
-# 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
#------------------------------------------------------------------------
@@ -31,7 +23,7 @@ DROP TABLE IF EXISTS t0_definition;
CREATE TABLE t0_definition (
state CHAR(3),
create_command VARBINARY(5000),
-file_list VARBINARY(5000),
+file_list VARBINARY(10000),
PRIMARY KEY (state)
) ENGINE = MEMORY;
DROP TABLE IF EXISTS t0_aux;
@@ -230,7 +222,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -708,26 +700,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -745,7 +737,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -1229,26 +1221,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -1274,7 +1266,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -1764,26 +1756,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -1807,7 +1799,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -2291,26 +2283,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -2332,7 +2324,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -2822,26 +2814,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -2867,7 +2859,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -3355,26 +3347,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -3400,7 +3392,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -3890,26 +3882,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -3931,7 +3923,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -4423,26 +4415,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
@@ -4461,7 +4453,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -4939,26 +4931,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -4976,7 +4968,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -5460,26 +5452,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -5505,7 +5497,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -5995,26 +5987,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -6038,7 +6030,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -6522,26 +6514,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -6563,7 +6555,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -7053,26 +7045,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -7098,7 +7090,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -7586,26 +7578,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -7631,7 +7623,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -8121,26 +8113,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -8162,7 +8154,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -8654,26 +8646,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
#------------------------------------------------------------------------
# 1.2 ADD PRIMARY KEY or UNIQUE INDEX to table with two columns
@@ -8697,7 +8689,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -9175,26 +9167,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -9212,7 +9204,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -9696,26 +9688,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -9741,7 +9733,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -10231,26 +10223,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -10274,7 +10266,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -10758,26 +10750,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -10799,7 +10791,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -11287,26 +11279,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -11332,7 +11324,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -11820,26 +11812,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -11865,7 +11857,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -12355,26 +12347,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -12396,7 +12388,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -12888,26 +12880,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
@@ -12926,7 +12918,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -13404,26 +13396,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -13441,7 +13433,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -13925,26 +13917,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -13970,7 +13962,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -14460,26 +14452,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -14503,7 +14495,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -14987,26 +14979,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -15028,7 +15020,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -15516,26 +15508,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -15561,7 +15553,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -16049,26 +16041,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -16094,7 +16086,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -16584,26 +16576,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -16625,7 +16617,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -17117,26 +17109,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
#========================================================================
@@ -17162,7 +17154,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -17588,26 +17580,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -17625,7 +17617,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -18057,26 +18049,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -18102,7 +18094,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -18540,26 +18532,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -18583,7 +18575,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -19015,26 +19007,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -19056,7 +19048,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -19494,26 +19486,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -19539,7 +19531,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -19975,26 +19967,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -20020,7 +20012,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -20458,26 +20450,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -20499,7 +20491,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -20939,26 +20931,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
#------------------------------------------------------------------------
# 2.2 Partitioning function contains two columns (f_int1,f_int2)
@@ -20981,7 +20973,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -21407,26 +21399,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -21444,7 +21436,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -21876,26 +21868,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -21921,7 +21913,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -22359,26 +22351,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -22402,7 +22394,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -22834,26 +22826,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -22875,7 +22867,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -23311,26 +23303,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -23356,7 +23348,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -23792,26 +23784,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -23837,7 +23829,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -24275,26 +24267,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -24316,7 +24308,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -24756,26 +24748,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
@@ -24794,7 +24786,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -25220,26 +25212,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -25257,7 +25249,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -25689,26 +25681,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -25734,7 +25726,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -26172,26 +26164,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -26215,7 +26207,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -26647,26 +26639,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -26688,7 +26680,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -27124,26 +27116,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -27169,7 +27161,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -27605,26 +27597,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -27650,7 +27642,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -28088,26 +28080,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -28129,7 +28121,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -28569,26 +28561,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
@@ -28607,7 +28599,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -29033,26 +29025,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -29070,7 +29062,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -29502,26 +29494,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -29547,7 +29539,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -29985,26 +29977,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -30028,7 +30020,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -30460,26 +30452,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -30501,7 +30493,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -30937,26 +30929,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -30982,7 +30974,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -31418,26 +31410,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -31463,7 +31455,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -31901,26 +31893,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -31942,7 +31934,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -32382,26 +32374,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
DROP VIEW IF EXISTS v1;
DROP TABLE IF EXISTS t1;
diff --git a/mysql-test/suite/parts/r/partition_alter2_innodb.result b/mysql-test/suite/parts/r/partition_alter2_innodb.result
index cdddae40467..15de39a3f9f 100644
--- a/mysql-test/suite/parts/r/partition_alter2_innodb.result
+++ b/mysql-test/suite/parts/r/partition_alter2_innodb.result
@@ -2,14 +2,6 @@ SET @max_row = 20;
SET @@session.storage_engine = 'InnoDB';
#------------------------------------------------------------------------
-# There are several testcases disabled because of the open bugs
-# #15890
-# 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
#------------------------------------------------------------------------
@@ -31,7 +23,7 @@ DROP TABLE IF EXISTS t0_definition;
CREATE TABLE t0_definition (
state CHAR(3),
create_command VARBINARY(5000),
-file_list VARBINARY(5000),
+file_list VARBINARY(10000),
PRIMARY KEY (state)
) ENGINE = MEMORY;
DROP TABLE IF EXISTS t0_aux;
@@ -71,7 +63,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -487,16 +479,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -506,7 +498,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -524,7 +516,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -940,16 +932,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -959,7 +951,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -985,7 +977,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -1401,16 +1393,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -1420,7 +1412,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -1444,7 +1436,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -1858,16 +1850,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -1877,7 +1869,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -1899,7 +1891,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -2315,16 +2307,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -2334,7 +2326,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -2360,7 +2352,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -2774,16 +2766,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -2793,7 +2785,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -2819,7 +2811,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -3235,16 +3227,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -3254,7 +3246,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -3276,7 +3268,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -3692,16 +3684,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -3711,7 +3703,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
# 1.1.2 PRIMARY KEY exists
DROP TABLE IF EXISTS t1;
@@ -3731,7 +3723,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -4183,16 +4175,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -4202,7 +4194,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -4220,7 +4212,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -4672,16 +4664,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -4691,7 +4683,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -4717,7 +4709,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -5169,16 +5161,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -5188,7 +5180,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -5212,7 +5204,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -5662,16 +5654,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -5681,7 +5673,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -5703,7 +5695,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -6155,16 +6147,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -6174,7 +6166,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -6200,7 +6192,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -6650,16 +6642,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -6669,7 +6661,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -6695,7 +6687,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -7147,16 +7139,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -7166,7 +7158,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -7188,7 +7180,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -7640,16 +7632,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -7659,7 +7651,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
@@ -7678,7 +7670,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -8130,16 +8122,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -8149,7 +8141,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -8167,7 +8159,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -8619,16 +8611,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -8638,7 +8630,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -8664,7 +8656,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -9116,16 +9108,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -9135,7 +9127,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -9159,7 +9151,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -9609,16 +9601,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -9628,7 +9620,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -9650,7 +9642,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -10102,16 +10094,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -10121,7 +10113,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -10147,7 +10139,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -10597,16 +10589,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -10616,7 +10608,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -10642,7 +10634,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -11094,16 +11086,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -11113,7 +11105,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -11135,7 +11127,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -11587,16 +11579,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -11606,7 +11598,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
# 1.1.3 UNIQUE INDEX exists
DROP TABLE IF EXISTS t1;
@@ -11626,7 +11618,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -12094,16 +12086,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -12113,7 +12105,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -12131,7 +12123,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -12599,16 +12591,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -12618,7 +12610,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -12644,7 +12636,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -13112,16 +13104,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -13131,7 +13123,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -13155,7 +13147,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -13621,16 +13613,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -13640,7 +13632,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -13662,7 +13654,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -14130,16 +14122,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -14149,7 +14141,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -14175,7 +14167,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -14641,16 +14633,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -14660,7 +14652,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -14686,7 +14678,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -15154,16 +15146,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -15173,7 +15165,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -15195,7 +15187,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -15663,16 +15655,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -15682,7 +15674,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
@@ -15701,7 +15693,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -16169,16 +16161,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -16188,7 +16180,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -16206,7 +16198,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -16674,16 +16666,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -16693,7 +16685,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -16719,7 +16711,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -17187,16 +17179,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -17206,7 +17198,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -17230,7 +17222,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -17696,16 +17688,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -17715,7 +17707,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -17737,7 +17729,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -18205,16 +18197,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -18224,7 +18216,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -18250,7 +18242,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -18716,16 +18708,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -18735,7 +18727,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -18761,7 +18753,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -19229,16 +19221,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -19248,7 +19240,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -19270,7 +19262,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -19738,16 +19730,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -19757,7 +19749,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
#------------------------------------------------------------------------
# 1.3 ALTER column f_int1 and f_int2
@@ -19781,7 +19773,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -20197,16 +20189,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -20216,7 +20208,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -20234,7 +20226,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -20650,16 +20642,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -20669,7 +20661,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -20695,7 +20687,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -21111,16 +21103,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -21130,7 +21122,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -21154,7 +21146,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -21568,16 +21560,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -21587,7 +21579,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -21609,7 +21601,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -22025,16 +22017,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -22044,7 +22036,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -22070,7 +22062,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -22484,16 +22476,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -22503,7 +22495,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -22529,7 +22521,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -22945,16 +22937,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -22964,7 +22956,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -22986,7 +22978,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -23402,16 +23394,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -23421,7 +23413,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
@@ -23440,7 +23432,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -23856,16 +23848,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -23875,7 +23867,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -23893,7 +23885,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -24309,16 +24301,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -24328,7 +24320,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -24354,7 +24346,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -24770,16 +24762,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -24789,7 +24781,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -24813,7 +24805,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -25227,16 +25219,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -25246,7 +25238,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -25268,7 +25260,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -25682,16 +25674,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -25701,7 +25693,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -25727,7 +25719,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -26141,16 +26133,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -26160,7 +26152,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -26186,7 +26178,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -26602,16 +26594,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -26621,7 +26613,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -26643,7 +26635,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -27059,16 +27051,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -27078,7 +27070,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
# 1.3.2 PRIMARY KEY exists
DROP TABLE IF EXISTS t1;
@@ -27098,7 +27090,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -27550,16 +27542,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -27569,7 +27561,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -27587,7 +27579,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -28039,16 +28031,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -28058,7 +28050,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -28084,7 +28076,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -28536,16 +28528,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -28555,7 +28547,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -28579,7 +28571,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -29029,16 +29021,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -29048,7 +29040,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -29070,7 +29062,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -29522,16 +29514,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -29541,7 +29533,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -29567,7 +29559,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -30017,16 +30009,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -30036,7 +30028,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -30062,7 +30054,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -30514,16 +30506,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -30533,7 +30525,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -30555,7 +30547,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -31007,16 +30999,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -31026,7 +31018,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
@@ -31045,7 +31037,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -31497,16 +31489,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -31516,7 +31508,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -31534,7 +31526,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -31986,16 +31978,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -32005,7 +31997,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -32031,7 +32023,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -32483,16 +32475,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -32502,7 +32494,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -32526,7 +32518,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -32976,16 +32968,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -32995,7 +32987,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -33017,7 +33009,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -33467,16 +33459,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -33486,7 +33478,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -33512,7 +33504,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -33962,16 +33954,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -33981,7 +33973,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -34007,7 +33999,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -34459,16 +34451,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -34478,7 +34470,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -34500,7 +34492,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -34952,16 +34944,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -34971,7 +34963,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
@@ -34990,7 +34982,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -35442,16 +35434,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -35461,7 +35453,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -35479,7 +35471,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -35931,16 +35923,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -35950,7 +35942,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -35976,7 +35968,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -36428,16 +36420,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -36447,7 +36439,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -36471,7 +36463,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -36921,16 +36913,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -36940,7 +36932,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -36962,7 +36954,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -37414,16 +37406,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -37433,7 +37425,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -37459,7 +37451,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -37909,16 +37901,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -37928,7 +37920,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -37954,7 +37946,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -38406,16 +38398,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -38425,7 +38417,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -38447,7 +38439,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -38899,16 +38891,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -38918,7 +38910,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
@@ -38937,7 +38929,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -39389,16 +39381,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -39408,7 +39400,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -39426,7 +39418,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -39878,16 +39870,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -39897,7 +39889,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -39923,7 +39915,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -40375,16 +40367,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -40394,7 +40386,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -40418,7 +40410,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -40868,16 +40860,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -40887,7 +40879,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -40909,7 +40901,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -41359,16 +41351,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -41378,7 +41370,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -41404,7 +41396,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -41854,16 +41846,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -41873,7 +41865,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -41899,7 +41891,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -42351,16 +42343,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -42370,7 +42362,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -42392,7 +42384,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -42844,16 +42836,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -42863,7 +42855,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
# 1.3.3 UNIQUE INDEX exists
DROP TABLE IF EXISTS t1;
@@ -42883,7 +42875,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -43351,16 +43343,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -43370,7 +43362,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -43388,7 +43380,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -43856,16 +43848,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -43875,7 +43867,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -43901,7 +43893,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -44369,16 +44361,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -44388,7 +44380,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -44412,7 +44404,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -44878,16 +44870,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -44897,7 +44889,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -44919,7 +44911,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -45387,16 +45379,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -45406,7 +45398,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -45432,7 +45424,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -45898,16 +45890,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -45917,7 +45909,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -45943,7 +45935,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -46411,16 +46403,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -46430,7 +46422,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -46452,7 +46444,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -46920,16 +46912,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -46939,7 +46931,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
@@ -46958,7 +46950,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -47426,16 +47418,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -47445,7 +47437,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -47463,7 +47455,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -47931,16 +47923,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -47950,7 +47942,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -47976,7 +47968,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -48444,16 +48436,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -48463,7 +48455,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -48487,7 +48479,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -48953,16 +48945,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -48972,7 +48964,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -48994,7 +48986,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -49460,16 +49452,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -49479,7 +49471,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -49505,7 +49497,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -49971,16 +49963,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -49990,7 +49982,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -50016,7 +50008,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -50484,16 +50476,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -50503,7 +50495,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -50525,7 +50517,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -50993,16 +50985,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -51012,7 +51004,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
@@ -51031,7 +51023,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -51499,16 +51491,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -51518,7 +51510,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -51536,7 +51528,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -52004,16 +51996,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -52023,7 +52015,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -52049,7 +52041,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -52517,16 +52509,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -52536,7 +52528,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -52560,7 +52552,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -53026,16 +53018,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -53045,7 +53037,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -53067,7 +53059,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -53535,16 +53527,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -53554,7 +53546,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -53580,7 +53572,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -54046,16 +54038,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -54065,7 +54057,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -54091,7 +54083,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -54559,16 +54551,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -54578,7 +54570,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -54600,7 +54592,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -55068,16 +55060,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -55087,7 +55079,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
@@ -55106,7 +55098,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -55574,16 +55566,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -55593,7 +55585,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -55611,7 +55603,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -56079,16 +56071,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -56098,7 +56090,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -56124,7 +56116,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -56592,16 +56584,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -56611,7 +56603,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -56635,7 +56627,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -57101,16 +57093,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -57120,7 +57112,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -57142,7 +57134,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -57608,16 +57600,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -57627,7 +57619,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -57653,7 +57645,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -58119,16 +58111,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -58138,7 +58130,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -58164,7 +58156,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -58632,16 +58624,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -58651,7 +58643,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -58673,7 +58665,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -59141,16 +59133,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -59160,7 +59152,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
#========================================================================
@@ -59188,7 +59180,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -59606,16 +59598,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -59625,7 +59617,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -59643,7 +59635,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -60061,16 +60053,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -60080,7 +60072,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -60106,7 +60098,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -60524,16 +60516,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -60543,7 +60535,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -60567,7 +60559,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -60981,16 +60973,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -61000,7 +60992,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -61022,7 +61014,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -61440,16 +61432,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -61459,7 +61451,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -61485,7 +61477,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -61899,16 +61891,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -61918,7 +61910,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -61944,7 +61936,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -62362,16 +62354,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -62381,7 +62373,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -62403,7 +62395,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -62821,16 +62813,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -62840,7 +62832,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
@@ -62859,7 +62851,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -63313,16 +63305,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -63332,7 +63324,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -63350,7 +63342,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -63804,16 +63796,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -63823,7 +63815,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -63849,7 +63841,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -64303,16 +64295,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -64322,7 +64314,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -64346,7 +64338,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -64796,16 +64788,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -64815,7 +64807,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -64837,7 +64829,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -65291,16 +65283,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -65310,7 +65302,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -65336,7 +65328,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -65786,16 +65778,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -65805,7 +65797,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -65831,7 +65823,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -66285,16 +66277,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -66304,7 +66296,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -66326,7 +66318,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -66780,16 +66772,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -66799,7 +66791,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
@@ -66818,7 +66810,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -67272,16 +67264,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -67291,7 +67283,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -67309,7 +67301,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -67763,16 +67755,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -67782,7 +67774,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -67808,7 +67800,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -68262,16 +68254,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -68281,7 +68273,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -68305,7 +68297,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -68755,16 +68747,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -68774,7 +68766,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -68796,7 +68788,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -69250,16 +69242,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -69269,7 +69261,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -69295,7 +69287,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -69745,16 +69737,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -69764,7 +69756,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -69790,7 +69782,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -70244,16 +70236,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -70263,7 +70255,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -70285,7 +70277,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -70739,16 +70731,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -70758,7 +70750,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
# 2.1.3 UNIQUE INDEX exists
DROP TABLE IF EXISTS t1;
@@ -70778,7 +70770,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -71248,16 +71240,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -71267,7 +71259,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -71285,7 +71277,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -71755,16 +71747,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -71774,7 +71766,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -71800,7 +71792,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -72270,16 +72262,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -72289,7 +72281,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -72313,7 +72305,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -72779,16 +72771,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -72798,7 +72790,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -72820,7 +72812,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -73290,16 +73282,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -73309,7 +73301,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -73335,7 +73327,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -73801,16 +73793,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -73820,7 +73812,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -73846,7 +73838,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -74316,16 +74308,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -74335,7 +74327,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -74357,7 +74349,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -74827,16 +74819,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -74846,7 +74838,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
@@ -74865,7 +74857,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -75335,16 +75327,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -75354,7 +75346,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -75372,7 +75364,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -75842,16 +75834,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -75861,7 +75853,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -75887,7 +75879,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -76357,16 +76349,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -76376,7 +76368,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -76400,7 +76392,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -76866,16 +76858,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -76885,7 +76877,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -76907,7 +76899,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -77377,16 +77369,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -77396,7 +77388,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -77422,7 +77414,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -77888,16 +77880,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -77907,7 +77899,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -77933,7 +77925,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -78403,16 +78395,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -78422,7 +78414,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -78444,7 +78436,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -78914,16 +78906,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -78933,7 +78925,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
#------------------------------------------------------------------------
# 2.3 ALTER column f_int1 and f_int2 used in partitioning function
@@ -78956,7 +78948,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -79375,16 +79367,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -79394,7 +79386,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -79412,7 +79404,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -79831,16 +79823,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -79850,7 +79842,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -79876,7 +79868,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -80295,16 +80287,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -80314,7 +80306,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -80338,7 +80330,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -80757,16 +80749,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -80776,7 +80768,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -80798,7 +80790,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -81217,16 +81209,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -81236,7 +81228,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -81262,7 +81254,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -81681,16 +81673,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -81700,7 +81692,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -81726,7 +81718,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -82145,16 +82137,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -82164,7 +82156,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -82186,7 +82178,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -82605,16 +82597,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -82624,7 +82616,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
@@ -82643,7 +82635,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -83062,16 +83054,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -83081,7 +83073,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -83099,7 +83091,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -83518,16 +83510,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -83537,7 +83529,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -83563,7 +83555,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -83982,16 +83974,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -84001,7 +83993,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -84025,7 +84017,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -84444,16 +84436,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -84463,7 +84455,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -84485,7 +84477,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -84904,16 +84896,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -84923,7 +84915,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -84949,7 +84941,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -85368,16 +85360,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -85387,7 +85379,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -85413,7 +85405,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -85832,16 +85824,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -85851,7 +85843,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -85873,7 +85865,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -86292,16 +86284,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -86311,7 +86303,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
# 2.3.2 PRIMARY KEY exists
DROP TABLE IF EXISTS t1;
@@ -86331,7 +86323,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -86786,16 +86778,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -86805,7 +86797,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -86823,7 +86815,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -87278,16 +87270,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -87297,7 +87289,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -87323,7 +87315,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -87778,16 +87770,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -87797,7 +87789,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -87821,7 +87813,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -88276,16 +88268,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -88295,7 +88287,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -88317,7 +88309,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -88772,16 +88764,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -88791,7 +88783,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -88817,7 +88809,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -89272,16 +89264,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -89291,7 +89283,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -89317,7 +89309,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -89772,16 +89764,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -89791,7 +89783,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -89813,7 +89805,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -90268,16 +90260,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -90287,7 +90279,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
@@ -90306,7 +90298,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -90761,16 +90753,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -90780,7 +90772,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -90798,7 +90790,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -91253,16 +91245,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -91272,7 +91264,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -91298,7 +91290,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -91753,16 +91745,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -91772,7 +91764,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -91796,7 +91788,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -92251,16 +92243,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -92270,7 +92262,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -92292,7 +92284,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -92747,16 +92739,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -92766,7 +92758,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -92792,7 +92784,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -93247,16 +93239,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -93266,7 +93258,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -93292,7 +93284,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -93747,16 +93739,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -93766,7 +93758,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -93788,7 +93780,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -94243,16 +94235,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -94262,7 +94254,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
@@ -94281,7 +94273,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -94736,16 +94728,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -94755,7 +94747,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -94773,7 +94765,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -95228,16 +95220,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -95247,7 +95239,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -95273,7 +95265,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -95728,16 +95720,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -95747,7 +95739,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -95771,7 +95763,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -96226,16 +96218,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -96245,7 +96237,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -96267,7 +96259,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -96722,16 +96714,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -96741,7 +96733,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -96767,7 +96759,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -97222,16 +97214,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -97241,7 +97233,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -97267,7 +97259,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -97722,16 +97714,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -97741,7 +97733,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -97763,7 +97755,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -98218,16 +98210,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -98237,7 +98229,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
@@ -98256,7 +98248,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -98711,16 +98703,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -98730,7 +98722,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -98748,7 +98740,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -99203,16 +99195,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -99222,7 +99214,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -99248,7 +99240,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -99703,16 +99695,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -99722,7 +99714,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -99746,7 +99738,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -100201,16 +100193,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -100220,7 +100212,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -100242,7 +100234,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -100697,16 +100689,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -100716,7 +100708,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -100742,7 +100734,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -101197,16 +101189,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -101216,7 +101208,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -101242,7 +101234,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -101697,16 +101689,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -101716,7 +101708,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -101738,7 +101730,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -102193,16 +102185,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -102212,7 +102204,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
# 2.3.3 UNIQUE INDEX exists
DROP TABLE IF EXISTS t1;
@@ -102232,7 +102224,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -102703,16 +102695,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -102722,7 +102714,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -102740,7 +102732,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -103211,16 +103203,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -103230,7 +103222,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -103256,7 +103248,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -103727,16 +103719,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -103746,7 +103738,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -103770,7 +103762,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -104241,16 +104233,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -104260,7 +104252,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -104282,7 +104274,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -104753,16 +104745,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -104772,7 +104764,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -104798,7 +104790,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -105269,16 +105261,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -105288,7 +105280,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -105314,7 +105306,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -105785,16 +105777,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -105804,7 +105796,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -105826,7 +105818,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -106297,16 +106289,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -106316,7 +106308,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
@@ -106335,7 +106327,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -106806,16 +106798,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -106825,7 +106817,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -106843,7 +106835,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -107314,16 +107306,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -107333,7 +107325,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -107359,7 +107351,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -107830,16 +107822,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -107849,7 +107841,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -107873,7 +107865,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -108344,16 +108336,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -108363,7 +108355,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -108385,7 +108377,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -108856,16 +108848,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -108875,7 +108867,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -108901,7 +108893,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -109372,16 +109364,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -109391,7 +109383,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -109417,7 +109409,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -109888,16 +109880,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -109907,7 +109899,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -109929,7 +109921,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -110400,16 +110392,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -110419,7 +110411,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
@@ -110438,7 +110430,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -110909,16 +110901,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -110928,7 +110920,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -110946,7 +110938,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -111417,16 +111409,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -111436,7 +111428,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -111462,7 +111454,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -111933,16 +111925,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -111952,7 +111944,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -111976,7 +111968,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -112447,16 +112439,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -112466,7 +112458,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -112488,7 +112480,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -112959,16 +112951,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -112978,7 +112970,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -113004,7 +112996,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -113475,16 +113467,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -113494,7 +113486,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -113520,7 +113512,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -113991,16 +113983,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -114010,7 +114002,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -114032,7 +114024,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -114503,16 +114495,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -114522,7 +114514,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
@@ -114541,7 +114533,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -115012,16 +115004,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -115031,7 +115023,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -115049,7 +115041,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -115520,16 +115512,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -115539,7 +115531,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -115565,7 +115557,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -116036,16 +116028,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -116055,7 +116047,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -116079,7 +116071,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -116550,16 +116542,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -116569,7 +116561,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -116591,7 +116583,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -117062,16 +117054,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -117081,7 +117073,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -117107,7 +117099,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -117578,16 +117570,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -117597,7 +117589,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -117623,7 +117615,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -118094,16 +118086,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -118113,7 +118105,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -118135,7 +118127,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -118606,16 +118598,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -118625,7 +118617,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
DROP VIEW IF EXISTS v1;
DROP TABLE IF EXISTS t1;
diff --git a/mysql-test/suite/parts/r/partition_alter2_myisam.result b/mysql-test/suite/parts/r/partition_alter2_myisam.result
index 741ce2d8963..99cb22b97c3 100644
--- a/mysql-test/suite/parts/r/partition_alter2_myisam.result
+++ b/mysql-test/suite/parts/r/partition_alter2_myisam.result
@@ -2,14 +2,6 @@ SET @max_row = 20;
SET @@session.storage_engine = 'MyISAM';
#------------------------------------------------------------------------
-# There are several testcases disabled because of the open bugs
-# #15890
-# 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
#------------------------------------------------------------------------
@@ -31,7 +23,7 @@ DROP TABLE IF EXISTS t0_definition;
CREATE TABLE t0_definition (
state CHAR(3),
create_command VARBINARY(5000),
-file_list VARBINARY(5000),
+file_list VARBINARY(10000),
PRIMARY KEY (state)
) ENGINE = MEMORY;
DROP TABLE IF EXISTS t0_aux;
@@ -71,7 +63,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -497,26 +489,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -534,7 +526,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -966,26 +958,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -1011,7 +1003,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -1449,26 +1441,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -1492,7 +1484,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -1924,26 +1916,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -1965,7 +1957,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -2403,26 +2395,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -2448,7 +2440,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -2884,26 +2876,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -2929,7 +2921,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -3367,26 +3359,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -3408,7 +3400,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -3848,26 +3840,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
# 1.1.3 UNIQUE INDEX exists
DROP TABLE IF EXISTS t1;
@@ -3887,7 +3879,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -4365,26 +4357,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -4402,7 +4394,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -4886,26 +4878,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -4931,7 +4923,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -5421,26 +5413,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -5464,7 +5456,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -5948,26 +5940,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -5989,7 +5981,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -6479,26 +6471,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -6524,7 +6516,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -7012,26 +7004,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -7057,7 +7049,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -7547,26 +7539,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -7588,7 +7580,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -8080,26 +8072,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
@@ -8118,7 +8110,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -8596,26 +8588,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -8633,7 +8625,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -9117,26 +9109,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -9162,7 +9154,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -9652,26 +9644,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -9695,7 +9687,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -10179,26 +10171,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -10220,7 +10212,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -10710,26 +10702,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -10755,7 +10747,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -11243,26 +11235,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -11288,7 +11280,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -11778,26 +11770,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -11819,7 +11811,7 @@ ALTER TABLE t1 MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -12311,26 +12303,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
#------------------------------------------------------------------------
# 1.3 ALTER column f_int1 and f_int2
@@ -12354,7 +12346,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -12780,26 +12772,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -12817,7 +12809,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -13249,26 +13241,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -13294,7 +13286,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -13732,26 +13724,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -13775,7 +13767,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -14207,26 +14199,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -14248,7 +14240,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -14686,26 +14678,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -14731,7 +14723,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -15167,26 +15159,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -15212,7 +15204,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -15650,26 +15642,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -15691,7 +15683,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -16131,26 +16123,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
@@ -16169,7 +16161,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -16595,26 +16587,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -16632,7 +16624,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -17064,26 +17056,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -17109,7 +17101,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -17547,26 +17539,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -17590,7 +17582,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -18022,26 +18014,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -18063,7 +18055,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -18499,26 +18491,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -18544,7 +18536,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -18980,26 +18972,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -19025,7 +19017,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -19463,26 +19455,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -19504,7 +19496,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -19944,26 +19936,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
# 1.3.3 UNIQUE INDEX exists
DROP TABLE IF EXISTS t1;
@@ -19983,7 +19975,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -20461,26 +20453,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -20498,7 +20490,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -20982,26 +20974,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -21027,7 +21019,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -21517,26 +21509,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -21560,7 +21552,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -22044,26 +22036,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -22085,7 +22077,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -22575,26 +22567,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -22620,7 +22612,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -23108,26 +23100,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -23153,7 +23145,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -23643,26 +23635,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -23684,7 +23676,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -24176,26 +24168,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
@@ -24214,7 +24206,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -24692,26 +24684,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -24729,7 +24721,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -25213,26 +25205,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -25258,7 +25250,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -25748,26 +25740,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -25791,7 +25783,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -26275,26 +26267,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -26316,7 +26308,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -26804,26 +26796,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -26849,7 +26841,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -27337,26 +27329,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -27382,7 +27374,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -27872,26 +27864,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -27913,7 +27905,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -28405,26 +28397,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
@@ -28443,7 +28435,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -28921,26 +28913,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -28958,7 +28950,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -29442,26 +29434,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -29487,7 +29479,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -29977,26 +29969,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -30020,7 +30012,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -30504,26 +30496,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -30545,7 +30537,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -31035,26 +31027,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -31080,7 +31072,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -31568,26 +31560,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -31613,7 +31605,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -32103,26 +32095,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -32144,7 +32136,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -32636,26 +32628,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
@@ -32674,7 +32666,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -33152,26 +33144,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -33189,7 +33181,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -33673,26 +33665,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -33718,7 +33710,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -34208,26 +34200,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -34251,7 +34243,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -34735,26 +34727,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -34776,7 +34768,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -35264,26 +35256,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -35309,7 +35301,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -35797,26 +35789,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -35842,7 +35834,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -36332,26 +36324,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -36373,7 +36365,7 @@ ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -36865,26 +36857,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
#========================================================================
@@ -36912,7 +36904,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -37340,26 +37332,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -37377,7 +37369,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -37811,26 +37803,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -37856,7 +37848,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -38296,26 +38288,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -38339,7 +38331,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -38771,26 +38763,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -38812,7 +38804,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -39252,26 +39244,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -39297,7 +39289,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -39733,26 +39725,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -39778,7 +39770,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -40218,26 +40210,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -40259,7 +40251,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -40701,26 +40693,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
# 2.1.3 UNIQUE INDEX exists
DROP TABLE IF EXISTS t1;
@@ -40740,7 +40732,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -41220,26 +41212,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -41257,7 +41249,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -41743,26 +41735,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -41788,7 +41780,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -42280,26 +42272,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -42323,7 +42315,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -42807,26 +42799,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -42848,7 +42840,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -43340,26 +43332,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -43385,7 +43377,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -43873,26 +43865,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -43918,7 +43910,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -44410,26 +44402,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -44451,7 +44443,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -44945,26 +44937,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
@@ -44983,7 +44975,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -45463,26 +45455,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -45500,7 +45492,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -45986,26 +45978,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -46031,7 +46023,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -46523,26 +46515,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -46566,7 +46558,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -47050,26 +47042,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -47091,7 +47083,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -47583,26 +47575,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -47628,7 +47620,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -48116,26 +48108,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -48161,7 +48153,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -48653,26 +48645,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -48694,7 +48686,7 @@ ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -49188,26 +49180,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
#------------------------------------------------------------------------
# 2.3 ALTER column f_int1 and f_int2 used in partitioning function
@@ -49230,7 +49222,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -49659,26 +49651,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -49696,7 +49688,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -50131,26 +50123,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -50176,7 +50168,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -50617,26 +50609,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -50660,7 +50652,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -51097,26 +51089,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -51138,7 +51130,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -51579,26 +51571,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -51624,7 +51616,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -52065,26 +52057,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -52110,7 +52102,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -52551,26 +52543,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -52592,7 +52584,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -53035,26 +53027,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
@@ -53073,7 +53065,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -53502,26 +53494,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -53539,7 +53531,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -53974,26 +53966,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -54019,7 +54011,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -54460,26 +54452,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -54503,7 +54495,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -54940,26 +54932,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -54981,7 +54973,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -55422,26 +55414,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -55467,7 +55459,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -55908,26 +55900,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -55953,7 +55945,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -56394,26 +56386,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -56435,7 +56427,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -56878,26 +56870,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
# 2.3.3 UNIQUE INDEX exists
DROP TABLE IF EXISTS t1;
@@ -56917,7 +56909,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -57398,26 +57390,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -57435,7 +57427,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -57922,26 +57914,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -57967,7 +57959,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -58460,26 +58452,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -58503,7 +58495,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -58992,26 +58984,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -59033,7 +59025,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -59526,26 +59518,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -59571,7 +59563,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -60064,26 +60056,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -60109,7 +60101,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -60602,26 +60594,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -60643,7 +60635,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -61138,26 +61130,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
@@ -61176,7 +61168,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -61657,26 +61649,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -61694,7 +61686,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -62181,26 +62173,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -62226,7 +62218,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -62719,26 +62711,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -62762,7 +62754,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -63251,26 +63243,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -63292,7 +63284,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -63785,26 +63777,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -63830,7 +63822,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -64323,26 +64315,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -64368,7 +64360,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -64861,26 +64853,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -64902,7 +64894,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -65397,26 +65389,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
@@ -65435,7 +65427,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -65916,26 +65908,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -65953,7 +65945,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -66440,26 +66432,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -66485,7 +66477,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -66978,26 +66970,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -67021,7 +67013,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -67510,26 +67502,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -67551,7 +67543,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -68044,26 +68036,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -68089,7 +68081,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -68582,26 +68574,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -68627,7 +68619,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -69120,26 +69112,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -69161,7 +69153,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -69656,26 +69648,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
@@ -69694,7 +69686,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -70175,26 +70167,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -70212,7 +70204,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -70699,26 +70691,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -70744,7 +70736,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -71237,26 +71229,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -71280,7 +71272,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -71769,26 +71761,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -71810,7 +71802,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -72303,26 +72295,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -72348,7 +72340,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -72841,26 +72833,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -72886,7 +72878,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -73379,26 +73371,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -73420,7 +73412,7 @@ ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -73915,26 +73907,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
DROP VIEW IF EXISTS v1;
DROP TABLE IF EXISTS t1;
diff --git a/mysql-test/suite/parts/r/partition_alter3_innodb.result b/mysql-test/suite/parts/r/partition_alter3_innodb.result
index 25387301cdb..2ca1e783839 100644
--- a/mysql-test/suite/parts/r/partition_alter3_innodb.result
+++ b/mysql-test/suite/parts/r/partition_alter3_innodb.result
@@ -2,14 +2,6 @@ SET @max_row = 20;
SET @@session.storage_engine = 'InnoDB';
#------------------------------------------------------------------------
-# There are several testcases disabled because of the open bugs
-# #15890
-# 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
#------------------------------------------------------------------------
@@ -31,7 +23,7 @@ DROP TABLE IF EXISTS t0_definition;
CREATE TABLE t0_definition (
state CHAR(3),
create_command VARBINARY(5000),
-file_list VARBINARY(5000),
+file_list VARBINARY(10000),
PRIMARY KEY (state)
) ENGINE = MEMORY;
DROP TABLE IF EXISTS t0_aux;
@@ -64,7 +56,7 @@ t1 CREATE TABLE `t1` (
`f_date` date DEFAULT NULL,
`f_varchar` varchar(30) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm
+MYSQLTEST_VARDIR/master-data/test/t1.frm
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
@@ -78,15 +70,15 @@ id select_type table partitions type possible_keys key key_len ref rows Extra
ALTER TABLE t1 ADD PARTITION (PARTITION part2);
ERROR HY000: Partition management on a not partitioned table is not possible
# 1.1.2 Assign HASH partitioning
-ALTER TABLE t1 PARTITION BY HASH(CAST(YEAR(f_date) AS SIGNED INTEGER));
+ALTER TABLE t1 PARTITION BY HASH(YEAR(f_date));
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`f_date` date DEFAULT NULL,
`f_varchar` varchar(30) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (CAST(YEAR(f_date) AS SIGNED INTEGER)) */
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (YEAR(f_date)) */
+MYSQLTEST_VARDIR/master-data/test/t1.frm
+MYSQLTEST_VARDIR/master-data/test/t1.par
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 p0 ALL NULL NULL NULL NULL 20 Using where
@@ -95,51 +87,30 @@ id select_type table partitions type possible_keys key key_len ref rows Extra
# check read row by row success: 1
# 1.1.3 Assign other HASH partitioning to already partitioned table
# + test and switch back + test
-ALTER TABLE t1 PARTITION BY HASH(CAST(f_varchar AS SIGNED INTEGER));
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: '20 '
-Warning 1292 Truncated incorrect INTEGER value: '19 '
-Warning 1292 Truncated incorrect INTEGER value: '18 '
-Warning 1292 Truncated incorrect INTEGER value: '17 '
-Warning 1292 Truncated incorrect INTEGER value: '16 '
-Warning 1292 Truncated incorrect INTEGER value: '15 '
-Warning 1292 Truncated incorrect INTEGER value: '14 '
-Warning 1292 Truncated incorrect INTEGER value: '13 '
-Warning 1292 Truncated incorrect INTEGER value: '12 '
-Warning 1292 Truncated incorrect INTEGER value: '11 '
-Warning 1292 Truncated incorrect INTEGER value: '10 '
-Warning 1292 Truncated incorrect INTEGER value: '9 '
-Warning 1292 Truncated incorrect INTEGER value: '8 '
-Warning 1292 Truncated incorrect INTEGER value: '7 '
-Warning 1292 Truncated incorrect INTEGER value: '6 '
-Warning 1292 Truncated incorrect INTEGER value: '5 '
-Warning 1292 Truncated incorrect INTEGER value: '4 '
-Warning 1292 Truncated incorrect INTEGER value: '3 '
-Warning 1292 Truncated incorrect INTEGER value: '2 '
-Warning 1292 Truncated incorrect INTEGER value: '1 '
+ALTER TABLE t1 PARTITION BY HASH(DAYOFYEAR(f_date));
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`f_date` date DEFAULT NULL,
`f_varchar` varchar(30) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (CAST(f_varchar AS SIGNED INTEGER)) */
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (DAYOFYEAR(f_date)) */
+MYSQLTEST_VARDIR/master-data/test/t1.frm
+MYSQLTEST_VARDIR/master-data/test/t1.par
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 p0 ALL NULL NULL NULL NULL 20 Using where
# check read single success: 1
# check read all success: 1
# check read row by row success: 1
-ALTER TABLE t1 PARTITION BY HASH(CAST(YEAR(f_date) AS SIGNED INTEGER));
+ALTER TABLE t1 PARTITION BY HASH(YEAR(f_date));
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`f_date` date DEFAULT NULL,
`f_varchar` varchar(30) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (CAST(YEAR(f_date) AS SIGNED INTEGER)) */
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (YEAR(f_date)) */
+MYSQLTEST_VARDIR/master-data/test/t1.frm
+MYSQLTEST_VARDIR/master-data/test/t1.par
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 p0 ALL NULL NULL NULL NULL 20 Using where
@@ -158,9 +129,9 @@ Table Create Table
t1 CREATE TABLE `t1` (
`f_date` date DEFAULT NULL,
`f_varchar` varchar(30) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (CAST(YEAR(f_date) AS SIGNED INTEGER)) (PARTITION p0 ENGINE = InnoDB, PARTITION part1 ENGINE = InnoDB, PARTITION part7 ENGINE = InnoDB) */
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (YEAR(f_date)) (PARTITION p0 ENGINE = InnoDB, PARTITION part1 ENGINE = InnoDB, PARTITION part7 ENGINE = InnoDB) */
+MYSQLTEST_VARDIR/master-data/test/t1.frm
+MYSQLTEST_VARDIR/master-data/test/t1.par
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 part1 ALL NULL NULL NULL NULL 7 Using where
@@ -177,9 +148,9 @@ Table Create Table
t1 CREATE TABLE `t1` (
`f_date` date DEFAULT NULL,
`f_varchar` varchar(30) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (CAST(YEAR(f_date) AS SIGNED INTEGER)) (PARTITION p0 ENGINE = InnoDB, PARTITION part1 ENGINE = InnoDB, PARTITION part7 ENGINE = InnoDB, PARTITION part2 ENGINE = InnoDB) */
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (YEAR(f_date)) (PARTITION p0 ENGINE = InnoDB, PARTITION part1 ENGINE = InnoDB, PARTITION part7 ENGINE = InnoDB, PARTITION part2 ENGINE = InnoDB) */
+MYSQLTEST_VARDIR/master-data/test/t1.frm
+MYSQLTEST_VARDIR/master-data/test/t1.par
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 p0 ALL NULL NULL NULL NULL 5 Using where
@@ -193,9 +164,9 @@ Table Create Table
t1 CREATE TABLE `t1` (
`f_date` date DEFAULT NULL,
`f_varchar` varchar(30) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (CAST(YEAR(f_date) AS SIGNED INTEGER)) (PARTITION p0 ENGINE = InnoDB, PARTITION part1 ENGINE = InnoDB, PARTITION part7 ENGINE = InnoDB, PARTITION part2 ENGINE = InnoDB, PARTITION p4 ENGINE = InnoDB, PARTITION p5 ENGINE = InnoDB, PARTITION p6 ENGINE = InnoDB, PARTITION p7 ENGINE = InnoDB) */
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (YEAR(f_date)) (PARTITION p0 ENGINE = InnoDB, PARTITION part1 ENGINE = InnoDB, PARTITION part7 ENGINE = InnoDB, PARTITION part2 ENGINE = InnoDB, PARTITION p4 ENGINE = InnoDB, PARTITION p5 ENGINE = InnoDB, PARTITION p6 ENGINE = InnoDB, PARTITION p7 ENGINE = InnoDB) */
+MYSQLTEST_VARDIR/master-data/test/t1.frm
+MYSQLTEST_VARDIR/master-data/test/t1.par
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 p0 ALL NULL NULL NULL NULL 3 Using where
@@ -221,9 +192,9 @@ Table Create Table
t1 CREATE TABLE `t1` (
`f_date` date DEFAULT NULL,
`f_varchar` varchar(30) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (CAST(YEAR(f_date) AS SIGNED INTEGER)) (PARTITION p0 ENGINE = InnoDB, PARTITION part1 ENGINE = InnoDB, PARTITION part7 ENGINE = InnoDB, PARTITION part2 ENGINE = InnoDB, PARTITION p4 ENGINE = InnoDB, PARTITION p5 ENGINE = InnoDB, PARTITION p6 ENGINE = InnoDB) */
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (YEAR(f_date)) (PARTITION p0 ENGINE = InnoDB, PARTITION part1 ENGINE = InnoDB, PARTITION part7 ENGINE = InnoDB, PARTITION part2 ENGINE = InnoDB, PARTITION p4 ENGINE = InnoDB, PARTITION p5 ENGINE = InnoDB, PARTITION p6 ENGINE = InnoDB) */
+MYSQLTEST_VARDIR/master-data/test/t1.frm
+MYSQLTEST_VARDIR/master-data/test/t1.par
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 p6 ALL NULL NULL NULL NULL 3 Using where
@@ -236,9 +207,9 @@ Table Create Table
t1 CREATE TABLE `t1` (
`f_date` date DEFAULT NULL,
`f_varchar` varchar(30) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (CAST(YEAR(f_date) AS SIGNED INTEGER)) (PARTITION p0 ENGINE = InnoDB, PARTITION part1 ENGINE = InnoDB, PARTITION part7 ENGINE = InnoDB, PARTITION part2 ENGINE = InnoDB, PARTITION p4 ENGINE = InnoDB, PARTITION p5 ENGINE = InnoDB) */
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (YEAR(f_date)) (PARTITION p0 ENGINE = InnoDB, PARTITION part1 ENGINE = InnoDB, PARTITION part7 ENGINE = InnoDB, PARTITION part2 ENGINE = InnoDB, PARTITION p4 ENGINE = InnoDB, PARTITION p5 ENGINE = InnoDB) */
+MYSQLTEST_VARDIR/master-data/test/t1.frm
+MYSQLTEST_VARDIR/master-data/test/t1.par
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 p4 ALL NULL NULL NULL NULL 4 Using where
@@ -251,9 +222,9 @@ Table Create Table
t1 CREATE TABLE `t1` (
`f_date` date DEFAULT NULL,
`f_varchar` varchar(30) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (CAST(YEAR(f_date) AS SIGNED INTEGER)) (PARTITION p0 ENGINE = InnoDB, PARTITION part1 ENGINE = InnoDB, PARTITION part7 ENGINE = InnoDB, PARTITION part2 ENGINE = InnoDB, PARTITION p4 ENGINE = InnoDB) */
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (YEAR(f_date)) (PARTITION p0 ENGINE = InnoDB, PARTITION part1 ENGINE = InnoDB, PARTITION part7 ENGINE = InnoDB, PARTITION part2 ENGINE = InnoDB, PARTITION p4 ENGINE = InnoDB) */
+MYSQLTEST_VARDIR/master-data/test/t1.frm
+MYSQLTEST_VARDIR/master-data/test/t1.par
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 p0 ALL NULL NULL NULL NULL 4 Using where
@@ -266,9 +237,9 @@ Table Create Table
t1 CREATE TABLE `t1` (
`f_date` date DEFAULT NULL,
`f_varchar` varchar(30) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (CAST(YEAR(f_date) AS SIGNED INTEGER)) (PARTITION p0 ENGINE = InnoDB, PARTITION part1 ENGINE = InnoDB, PARTITION part7 ENGINE = InnoDB, PARTITION part2 ENGINE = InnoDB) */
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (YEAR(f_date)) (PARTITION p0 ENGINE = InnoDB, PARTITION part1 ENGINE = InnoDB, PARTITION part7 ENGINE = InnoDB, PARTITION part2 ENGINE = InnoDB) */
+MYSQLTEST_VARDIR/master-data/test/t1.frm
+MYSQLTEST_VARDIR/master-data/test/t1.par
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 p0 ALL NULL NULL NULL NULL 5 Using where
@@ -281,9 +252,9 @@ Table Create Table
t1 CREATE TABLE `t1` (
`f_date` date DEFAULT NULL,
`f_varchar` varchar(30) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (CAST(YEAR(f_date) AS SIGNED INTEGER)) (PARTITION p0 ENGINE = InnoDB, PARTITION part1 ENGINE = InnoDB, PARTITION part7 ENGINE = InnoDB) */
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (YEAR(f_date)) (PARTITION p0 ENGINE = InnoDB, PARTITION part1 ENGINE = InnoDB, PARTITION part7 ENGINE = InnoDB) */
+MYSQLTEST_VARDIR/master-data/test/t1.frm
+MYSQLTEST_VARDIR/master-data/test/t1.par
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 part1 ALL NULL NULL NULL NULL 7 Using where
@@ -296,9 +267,9 @@ Table Create Table
t1 CREATE TABLE `t1` (
`f_date` date DEFAULT NULL,
`f_varchar` varchar(30) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (CAST(YEAR(f_date) AS SIGNED INTEGER)) (PARTITION p0 ENGINE = InnoDB, PARTITION part1 ENGINE = InnoDB) */
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (YEAR(f_date)) (PARTITION p0 ENGINE = InnoDB, PARTITION part1 ENGINE = InnoDB) */
+MYSQLTEST_VARDIR/master-data/test/t1.frm
+MYSQLTEST_VARDIR/master-data/test/t1.par
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 p0 ALL NULL NULL NULL NULL 10 Using where
@@ -311,9 +282,9 @@ Table Create Table
t1 CREATE TABLE `t1` (
`f_date` date DEFAULT NULL,
`f_varchar` varchar(30) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (CAST(YEAR(f_date) AS SIGNED INTEGER)) (PARTITION p0 ENGINE = InnoDB) */
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (YEAR(f_date)) (PARTITION p0 ENGINE = InnoDB) */
+MYSQLTEST_VARDIR/master-data/test/t1.frm
+MYSQLTEST_VARDIR/master-data/test/t1.par
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 p0 ALL NULL NULL NULL NULL 20 Using where
@@ -331,7 +302,7 @@ t1 CREATE TABLE `t1` (
`f_date` date DEFAULT NULL,
`f_varchar` varchar(30) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm
+MYSQLTEST_VARDIR/master-data/test/t1.frm
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
@@ -342,7 +313,7 @@ id select_type table partitions type possible_keys key key_len ref rows Extra
ALTER TABLE t1 REMOVE PARTITIONING;
DROP TABLE t1;
# Attention: There are unused files.
-# Either the DROP TABLE or a preceeding ALTER TABLE
+# Either the DROP TABLE or a preceding ALTER TABLE
# <alter partitioning> worked incomplete.
# We found:
unified filelist
@@ -370,7 +341,7 @@ t1 CREATE TABLE `t1` (
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm
+MYSQLTEST_VARDIR/master-data/test/t1.frm
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
@@ -392,8 +363,8 @@ t1 CREATE TABLE `t1` (
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) */
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
+MYSQLTEST_VARDIR/master-data/test/t1.frm
+MYSQLTEST_VARDIR/master-data/test/t1.par
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 p0 ALL NULL NULL NULL NULL 20 Using where
@@ -416,8 +387,8 @@ t1 CREATE TABLE `t1` (
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION p0 ENGINE = InnoDB, PARTITION part1 ENGINE = InnoDB, PARTITION part7 ENGINE = InnoDB) */
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
+MYSQLTEST_VARDIR/master-data/test/t1.frm
+MYSQLTEST_VARDIR/master-data/test/t1.par
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 part7 ALL NULL NULL NULL NULL 7 Using where
@@ -435,8 +406,8 @@ t1 CREATE TABLE `t1` (
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION p0 ENGINE = InnoDB, PARTITION part1 ENGINE = InnoDB, PARTITION part7 ENGINE = InnoDB, PARTITION part2 ENGINE = InnoDB) */
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
+MYSQLTEST_VARDIR/master-data/test/t1.frm
+MYSQLTEST_VARDIR/master-data/test/t1.par
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 part7 ALL NULL NULL NULL NULL 5 Using where
@@ -454,8 +425,8 @@ t1 CREATE TABLE `t1` (
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION p0 ENGINE = InnoDB, PARTITION part1 ENGINE = InnoDB, PARTITION part7 ENGINE = InnoDB, PARTITION part2 ENGINE = InnoDB, PARTITION p4 ENGINE = InnoDB, PARTITION p5 ENGINE = InnoDB, PARTITION p6 ENGINE = InnoDB, PARTITION p7 ENGINE = InnoDB) */
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
+MYSQLTEST_VARDIR/master-data/test/t1.frm
+MYSQLTEST_VARDIR/master-data/test/t1.par
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 p6 ALL NULL NULL NULL NULL 3 Using where
@@ -480,8 +451,8 @@ t1 CREATE TABLE `t1` (
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION p0 ENGINE = InnoDB, PARTITION part1 ENGINE = InnoDB, PARTITION part7 ENGINE = InnoDB, PARTITION part2 ENGINE = InnoDB, PARTITION p4 ENGINE = InnoDB, PARTITION p5 ENGINE = InnoDB, PARTITION p6 ENGINE = InnoDB) */
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
+MYSQLTEST_VARDIR/master-data/test/t1.frm
+MYSQLTEST_VARDIR/master-data/test/t1.par
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 p0 ALL NULL NULL NULL NULL 4 Using where
@@ -498,8 +469,8 @@ t1 CREATE TABLE `t1` (
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION p0 ENGINE = InnoDB, PARTITION part1 ENGINE = InnoDB, PARTITION part7 ENGINE = InnoDB, PARTITION part2 ENGINE = InnoDB, PARTITION p4 ENGINE = InnoDB, PARTITION p5 ENGINE = InnoDB) */
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
+MYSQLTEST_VARDIR/master-data/test/t1.frm
+MYSQLTEST_VARDIR/master-data/test/t1.par
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 part7 ALL NULL NULL NULL NULL 3 Using where
@@ -516,8 +487,8 @@ t1 CREATE TABLE `t1` (
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION p0 ENGINE = InnoDB, PARTITION part1 ENGINE = InnoDB, PARTITION part7 ENGINE = InnoDB, PARTITION part2 ENGINE = InnoDB, PARTITION p4 ENGINE = InnoDB) */
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
+MYSQLTEST_VARDIR/master-data/test/t1.frm
+MYSQLTEST_VARDIR/master-data/test/t1.par
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 p4 ALL NULL NULL NULL NULL 10 Using where
@@ -534,8 +505,8 @@ t1 CREATE TABLE `t1` (
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION p0 ENGINE = InnoDB, PARTITION part1 ENGINE = InnoDB, PARTITION part7 ENGINE = InnoDB, PARTITION part2 ENGINE = InnoDB) */
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
+MYSQLTEST_VARDIR/master-data/test/t1.frm
+MYSQLTEST_VARDIR/master-data/test/t1.par
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 part7 ALL NULL NULL NULL NULL 5 Using where
@@ -552,8 +523,8 @@ t1 CREATE TABLE `t1` (
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION p0 ENGINE = InnoDB, PARTITION part1 ENGINE = InnoDB, PARTITION part7 ENGINE = InnoDB) */
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
+MYSQLTEST_VARDIR/master-data/test/t1.frm
+MYSQLTEST_VARDIR/master-data/test/t1.par
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 part7 ALL NULL NULL NULL NULL 7 Using where
@@ -570,8 +541,8 @@ t1 CREATE TABLE `t1` (
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION p0 ENGINE = InnoDB, PARTITION part1 ENGINE = InnoDB) */
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
+MYSQLTEST_VARDIR/master-data/test/t1.frm
+MYSQLTEST_VARDIR/master-data/test/t1.par
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 p0 ALL NULL NULL NULL NULL 10 Using where
@@ -588,8 +559,8 @@ t1 CREATE TABLE `t1` (
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION p0 ENGINE = InnoDB) */
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
+MYSQLTEST_VARDIR/master-data/test/t1.frm
+MYSQLTEST_VARDIR/master-data/test/t1.par
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 p0 ALL NULL NULL NULL NULL 20 Using where
@@ -610,7 +581,7 @@ t1 CREATE TABLE `t1` (
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm
+MYSQLTEST_VARDIR/master-data/test/t1.frm
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
@@ -621,7 +592,7 @@ id select_type table partitions type possible_keys key key_len ref rows Extra
ALTER TABLE t1 REMOVE PARTITIONING;
DROP TABLE t1;
# Attention: There are unused files.
-# Either the DROP TABLE or a preceeding ALTER TABLE
+# Either the DROP TABLE or a preceding ALTER TABLE
# <alter partitioning> worked incomplete.
# We found:
unified filelist
diff --git a/mysql-test/suite/parts/r/partition_alter3_myisam.result b/mysql-test/suite/parts/r/partition_alter3_myisam.result
index f320dd69dd7..5684ca89b1c 100644
--- a/mysql-test/suite/parts/r/partition_alter3_myisam.result
+++ b/mysql-test/suite/parts/r/partition_alter3_myisam.result
@@ -2,14 +2,6 @@ SET @max_row = 20;
SET @@session.storage_engine = 'MyISAM';
#------------------------------------------------------------------------
-# There are several testcases disabled because of the open bugs
-# #15890
-# 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
#------------------------------------------------------------------------
@@ -31,7 +23,7 @@ DROP TABLE IF EXISTS t0_definition;
CREATE TABLE t0_definition (
state CHAR(3),
create_command VARBINARY(5000),
-file_list VARBINARY(5000),
+file_list VARBINARY(10000),
PRIMARY KEY (state)
) ENGINE = MEMORY;
DROP TABLE IF EXISTS t0_aux;
@@ -64,9 +56,9 @@ t1 CREATE TABLE `t1` (
`f_date` date DEFAULT NULL,
`f_varchar` varchar(30) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm
+MYSQLTEST_VARDIR/master-data/test/t1.MYD
+MYSQLTEST_VARDIR/master-data/test/t1.MYI
+MYSQLTEST_VARDIR/master-data/test/t1.frm
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
@@ -80,17 +72,17 @@ id select_type table partitions type possible_keys key key_len ref rows Extra
ALTER TABLE t1 ADD PARTITION (PARTITION part2);
ERROR HY000: Partition management on a not partitioned table is not possible
# 1.1.2 Assign HASH partitioning
-ALTER TABLE t1 PARTITION BY HASH(CAST(YEAR(f_date) AS SIGNED INTEGER));
+ALTER TABLE t1 PARTITION BY HASH(YEAR(f_date));
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`f_date` date DEFAULT NULL,
`f_varchar` varchar(30) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (CAST(YEAR(f_date) AS SIGNED INTEGER)) */
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p0.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p0.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (YEAR(f_date)) */
+MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYI
+MYSQLTEST_VARDIR/master-data/test/t1.frm
+MYSQLTEST_VARDIR/master-data/test/t1.par
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 p0 ALL NULL NULL NULL NULL 20 Using where
@@ -99,55 +91,34 @@ id select_type table partitions type possible_keys key key_len ref rows Extra
# check read row by row success: 1
# 1.1.3 Assign other HASH partitioning to already partitioned table
# + test and switch back + test
-ALTER TABLE t1 PARTITION BY HASH(CAST(f_varchar AS SIGNED INTEGER));
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: '20'
-Warning 1292 Truncated incorrect INTEGER value: '19'
-Warning 1292 Truncated incorrect INTEGER value: '18'
-Warning 1292 Truncated incorrect INTEGER value: '17'
-Warning 1292 Truncated incorrect INTEGER value: '16'
-Warning 1292 Truncated incorrect INTEGER value: '15'
-Warning 1292 Truncated incorrect INTEGER value: '14'
-Warning 1292 Truncated incorrect INTEGER value: '13'
-Warning 1292 Truncated incorrect INTEGER value: '12'
-Warning 1292 Truncated incorrect INTEGER value: '11'
-Warning 1292 Truncated incorrect INTEGER value: '10'
-Warning 1292 Truncated incorrect INTEGER value: '90'
-Warning 1292 Truncated incorrect INTEGER value: '80'
-Warning 1292 Truncated incorrect INTEGER value: '70'
-Warning 1292 Truncated incorrect INTEGER value: '60'
-Warning 1292 Truncated incorrect INTEGER value: '50'
-Warning 1292 Truncated incorrect INTEGER value: '40'
-Warning 1292 Truncated incorrect INTEGER value: '30'
-Warning 1292 Truncated incorrect INTEGER value: '20'
-Warning 1292 Truncated incorrect INTEGER value: '10'
+ALTER TABLE t1 PARTITION BY HASH(DAYOFYEAR(f_date));
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`f_date` date DEFAULT NULL,
`f_varchar` varchar(30) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (CAST(f_varchar AS SIGNED INTEGER)) */
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p0.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p0.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (DAYOFYEAR(f_date)) */
+MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYI
+MYSQLTEST_VARDIR/master-data/test/t1.frm
+MYSQLTEST_VARDIR/master-data/test/t1.par
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 p0 ALL NULL NULL NULL NULL 20 Using where
# check read single success: 1
# check read all success: 1
# check read row by row success: 1
-ALTER TABLE t1 PARTITION BY HASH(CAST(YEAR(f_date) AS SIGNED INTEGER));
+ALTER TABLE t1 PARTITION BY HASH(YEAR(f_date));
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`f_date` date DEFAULT NULL,
`f_varchar` varchar(30) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (CAST(YEAR(f_date) AS SIGNED INTEGER)) */
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p0.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p0.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (YEAR(f_date)) */
+MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYI
+MYSQLTEST_VARDIR/master-data/test/t1.frm
+MYSQLTEST_VARDIR/master-data/test/t1.par
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 p0 ALL NULL NULL NULL NULL 20 Using where
@@ -166,15 +137,15 @@ Table Create Table
t1 CREATE TABLE `t1` (
`f_date` date DEFAULT NULL,
`f_varchar` varchar(30) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (CAST(YEAR(f_date) AS SIGNED INTEGER)) (PARTITION p0 ENGINE = MyISAM, PARTITION part1 ENGINE = MyISAM, PARTITION part7 ENGINE = MyISAM) */
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p0.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p0.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part7.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part7.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (YEAR(f_date)) (PARTITION p0 ENGINE = MyISAM, PARTITION part1 ENGINE = MyISAM, PARTITION part7 ENGINE = MyISAM) */
+MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#part7.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#part7.MYI
+MYSQLTEST_VARDIR/master-data/test/t1.frm
+MYSQLTEST_VARDIR/master-data/test/t1.par
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 part1 ALL NULL NULL NULL NULL 7 Using where
@@ -191,17 +162,17 @@ Table Create Table
t1 CREATE TABLE `t1` (
`f_date` date DEFAULT NULL,
`f_varchar` varchar(30) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (CAST(YEAR(f_date) AS SIGNED INTEGER)) (PARTITION p0 ENGINE = MyISAM, PARTITION part1 ENGINE = MyISAM, PARTITION part7 ENGINE = MyISAM, PARTITION part2 ENGINE = MyISAM) */
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p0.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p0.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part7.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part7.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (YEAR(f_date)) (PARTITION p0 ENGINE = MyISAM, PARTITION part1 ENGINE = MyISAM, PARTITION part7 ENGINE = MyISAM, PARTITION part2 ENGINE = MyISAM) */
+MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#part2.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#part2.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#part7.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#part7.MYI
+MYSQLTEST_VARDIR/master-data/test/t1.frm
+MYSQLTEST_VARDIR/master-data/test/t1.par
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 p0 ALL NULL NULL NULL NULL 5 Using where
@@ -215,25 +186,25 @@ Table Create Table
t1 CREATE TABLE `t1` (
`f_date` date DEFAULT NULL,
`f_varchar` varchar(30) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (CAST(YEAR(f_date) AS SIGNED INTEGER)) (PARTITION p0 ENGINE = MyISAM, PARTITION part1 ENGINE = MyISAM, PARTITION part7 ENGINE = MyISAM, PARTITION part2 ENGINE = MyISAM, PARTITION p4 ENGINE = MyISAM, PARTITION p5 ENGINE = MyISAM, PARTITION p6 ENGINE = MyISAM, PARTITION p7 ENGINE = MyISAM) */
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p0.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p0.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p4.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p4.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p5.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p5.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p6.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p6.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p7.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p7.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part7.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part7.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (YEAR(f_date)) (PARTITION p0 ENGINE = MyISAM, PARTITION part1 ENGINE = MyISAM, PARTITION part7 ENGINE = MyISAM, PARTITION part2 ENGINE = MyISAM, PARTITION p4 ENGINE = MyISAM, PARTITION p5 ENGINE = MyISAM, PARTITION p6 ENGINE = MyISAM, PARTITION p7 ENGINE = MyISAM) */
+MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#p4.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#p4.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#p5.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#p5.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#p6.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#p6.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#p7.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#p7.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#part2.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#part2.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#part7.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#part7.MYI
+MYSQLTEST_VARDIR/master-data/test/t1.frm
+MYSQLTEST_VARDIR/master-data/test/t1.par
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 p0 ALL NULL NULL NULL NULL 3 Using where
@@ -259,23 +230,23 @@ Table Create Table
t1 CREATE TABLE `t1` (
`f_date` date DEFAULT NULL,
`f_varchar` varchar(30) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (CAST(YEAR(f_date) AS SIGNED INTEGER)) (PARTITION p0 ENGINE = MyISAM, PARTITION part1 ENGINE = MyISAM, PARTITION part7 ENGINE = MyISAM, PARTITION part2 ENGINE = MyISAM, PARTITION p4 ENGINE = MyISAM, PARTITION p5 ENGINE = MyISAM, PARTITION p6 ENGINE = MyISAM) */
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p0.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p0.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p4.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p4.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p5.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p5.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p6.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p6.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part7.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part7.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (YEAR(f_date)) (PARTITION p0 ENGINE = MyISAM, PARTITION part1 ENGINE = MyISAM, PARTITION part7 ENGINE = MyISAM, PARTITION part2 ENGINE = MyISAM, PARTITION p4 ENGINE = MyISAM, PARTITION p5 ENGINE = MyISAM, PARTITION p6 ENGINE = MyISAM) */
+MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#p4.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#p4.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#p5.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#p5.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#p6.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#p6.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#part2.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#part2.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#part7.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#part7.MYI
+MYSQLTEST_VARDIR/master-data/test/t1.frm
+MYSQLTEST_VARDIR/master-data/test/t1.par
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 p6 ALL NULL NULL NULL NULL 3 Using where
@@ -288,21 +259,21 @@ Table Create Table
t1 CREATE TABLE `t1` (
`f_date` date DEFAULT NULL,
`f_varchar` varchar(30) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (CAST(YEAR(f_date) AS SIGNED INTEGER)) (PARTITION p0 ENGINE = MyISAM, PARTITION part1 ENGINE = MyISAM, PARTITION part7 ENGINE = MyISAM, PARTITION part2 ENGINE = MyISAM, PARTITION p4 ENGINE = MyISAM, PARTITION p5 ENGINE = MyISAM) */
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p0.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p0.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p4.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p4.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p5.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p5.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part7.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part7.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (YEAR(f_date)) (PARTITION p0 ENGINE = MyISAM, PARTITION part1 ENGINE = MyISAM, PARTITION part7 ENGINE = MyISAM, PARTITION part2 ENGINE = MyISAM, PARTITION p4 ENGINE = MyISAM, PARTITION p5 ENGINE = MyISAM) */
+MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#p4.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#p4.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#p5.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#p5.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#part2.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#part2.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#part7.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#part7.MYI
+MYSQLTEST_VARDIR/master-data/test/t1.frm
+MYSQLTEST_VARDIR/master-data/test/t1.par
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 p4 ALL NULL NULL NULL NULL 4 Using where
@@ -315,19 +286,19 @@ Table Create Table
t1 CREATE TABLE `t1` (
`f_date` date DEFAULT NULL,
`f_varchar` varchar(30) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (CAST(YEAR(f_date) AS SIGNED INTEGER)) (PARTITION p0 ENGINE = MyISAM, PARTITION part1 ENGINE = MyISAM, PARTITION part7 ENGINE = MyISAM, PARTITION part2 ENGINE = MyISAM, PARTITION p4 ENGINE = MyISAM) */
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p0.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p0.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p4.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p4.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part7.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part7.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (YEAR(f_date)) (PARTITION p0 ENGINE = MyISAM, PARTITION part1 ENGINE = MyISAM, PARTITION part7 ENGINE = MyISAM, PARTITION part2 ENGINE = MyISAM, PARTITION p4 ENGINE = MyISAM) */
+MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#p4.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#p4.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#part2.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#part2.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#part7.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#part7.MYI
+MYSQLTEST_VARDIR/master-data/test/t1.frm
+MYSQLTEST_VARDIR/master-data/test/t1.par
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 p0 ALL NULL NULL NULL NULL 4 Using where
@@ -340,17 +311,17 @@ Table Create Table
t1 CREATE TABLE `t1` (
`f_date` date DEFAULT NULL,
`f_varchar` varchar(30) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (CAST(YEAR(f_date) AS SIGNED INTEGER)) (PARTITION p0 ENGINE = MyISAM, PARTITION part1 ENGINE = MyISAM, PARTITION part7 ENGINE = MyISAM, PARTITION part2 ENGINE = MyISAM) */
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p0.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p0.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part7.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part7.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (YEAR(f_date)) (PARTITION p0 ENGINE = MyISAM, PARTITION part1 ENGINE = MyISAM, PARTITION part7 ENGINE = MyISAM, PARTITION part2 ENGINE = MyISAM) */
+MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#part2.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#part2.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#part7.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#part7.MYI
+MYSQLTEST_VARDIR/master-data/test/t1.frm
+MYSQLTEST_VARDIR/master-data/test/t1.par
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 p0 ALL NULL NULL NULL NULL 5 Using where
@@ -363,15 +334,15 @@ Table Create Table
t1 CREATE TABLE `t1` (
`f_date` date DEFAULT NULL,
`f_varchar` varchar(30) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (CAST(YEAR(f_date) AS SIGNED INTEGER)) (PARTITION p0 ENGINE = MyISAM, PARTITION part1 ENGINE = MyISAM, PARTITION part7 ENGINE = MyISAM) */
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p0.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p0.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part7.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part7.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (YEAR(f_date)) (PARTITION p0 ENGINE = MyISAM, PARTITION part1 ENGINE = MyISAM, PARTITION part7 ENGINE = MyISAM) */
+MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#part7.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#part7.MYI
+MYSQLTEST_VARDIR/master-data/test/t1.frm
+MYSQLTEST_VARDIR/master-data/test/t1.par
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 part1 ALL NULL NULL NULL NULL 7 Using where
@@ -384,13 +355,13 @@ Table Create Table
t1 CREATE TABLE `t1` (
`f_date` date DEFAULT NULL,
`f_varchar` varchar(30) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (CAST(YEAR(f_date) AS SIGNED INTEGER)) (PARTITION p0 ENGINE = MyISAM, PARTITION part1 ENGINE = MyISAM) */
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p0.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p0.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (YEAR(f_date)) (PARTITION p0 ENGINE = MyISAM, PARTITION part1 ENGINE = MyISAM) */
+MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYI
+MYSQLTEST_VARDIR/master-data/test/t1.frm
+MYSQLTEST_VARDIR/master-data/test/t1.par
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 p0 ALL NULL NULL NULL NULL 10 Using where
@@ -403,11 +374,11 @@ Table Create Table
t1 CREATE TABLE `t1` (
`f_date` date DEFAULT NULL,
`f_varchar` varchar(30) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (CAST(YEAR(f_date) AS SIGNED INTEGER)) (PARTITION p0 ENGINE = MyISAM) */
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p0.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p0.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (YEAR(f_date)) (PARTITION p0 ENGINE = MyISAM) */
+MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYI
+MYSQLTEST_VARDIR/master-data/test/t1.frm
+MYSQLTEST_VARDIR/master-data/test/t1.par
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 p0 ALL NULL NULL NULL NULL 20 Using where
@@ -425,9 +396,9 @@ t1 CREATE TABLE `t1` (
`f_date` date DEFAULT NULL,
`f_varchar` varchar(30) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm
+MYSQLTEST_VARDIR/master-data/test/t1.MYD
+MYSQLTEST_VARDIR/master-data/test/t1.MYI
+MYSQLTEST_VARDIR/master-data/test/t1.frm
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
@@ -460,9 +431,9 @@ t1 CREATE TABLE `t1` (
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm
+MYSQLTEST_VARDIR/master-data/test/t1.MYD
+MYSQLTEST_VARDIR/master-data/test/t1.MYI
+MYSQLTEST_VARDIR/master-data/test/t1.frm
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
@@ -484,10 +455,10 @@ t1 CREATE TABLE `t1` (
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) */
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p0.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p0.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
+MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYI
+MYSQLTEST_VARDIR/master-data/test/t1.frm
+MYSQLTEST_VARDIR/master-data/test/t1.par
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 p0 ALL NULL NULL NULL NULL 20 Using where
@@ -510,14 +481,14 @@ t1 CREATE TABLE `t1` (
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION p0 ENGINE = MyISAM, PARTITION part1 ENGINE = MyISAM, PARTITION part7 ENGINE = MyISAM) */
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p0.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p0.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part7.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part7.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
+MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#part7.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#part7.MYI
+MYSQLTEST_VARDIR/master-data/test/t1.frm
+MYSQLTEST_VARDIR/master-data/test/t1.par
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 part7 ALL NULL NULL NULL NULL 7 Using where
@@ -535,16 +506,16 @@ t1 CREATE TABLE `t1` (
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION p0 ENGINE = MyISAM, PARTITION part1 ENGINE = MyISAM, PARTITION part7 ENGINE = MyISAM, PARTITION part2 ENGINE = MyISAM) */
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p0.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p0.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part7.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part7.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
+MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#part2.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#part2.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#part7.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#part7.MYI
+MYSQLTEST_VARDIR/master-data/test/t1.frm
+MYSQLTEST_VARDIR/master-data/test/t1.par
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 part7 ALL NULL NULL NULL NULL 5 Using where
@@ -562,24 +533,24 @@ t1 CREATE TABLE `t1` (
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION p0 ENGINE = MyISAM, PARTITION part1 ENGINE = MyISAM, PARTITION part7 ENGINE = MyISAM, PARTITION part2 ENGINE = MyISAM, PARTITION p4 ENGINE = MyISAM, PARTITION p5 ENGINE = MyISAM, PARTITION p6 ENGINE = MyISAM, PARTITION p7 ENGINE = MyISAM) */
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p0.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p0.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p4.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p4.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p5.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p5.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p6.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p6.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p7.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p7.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part7.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part7.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
+MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#p4.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#p4.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#p5.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#p5.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#p6.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#p6.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#p7.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#p7.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#part2.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#part2.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#part7.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#part7.MYI
+MYSQLTEST_VARDIR/master-data/test/t1.frm
+MYSQLTEST_VARDIR/master-data/test/t1.par
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 p6 ALL NULL NULL NULL NULL 3 Using where
@@ -604,22 +575,22 @@ t1 CREATE TABLE `t1` (
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION p0 ENGINE = MyISAM, PARTITION part1 ENGINE = MyISAM, PARTITION part7 ENGINE = MyISAM, PARTITION part2 ENGINE = MyISAM, PARTITION p4 ENGINE = MyISAM, PARTITION p5 ENGINE = MyISAM, PARTITION p6 ENGINE = MyISAM) */
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p0.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p0.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p4.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p4.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p5.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p5.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p6.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p6.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part7.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part7.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
+MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#p4.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#p4.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#p5.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#p5.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#p6.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#p6.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#part2.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#part2.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#part7.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#part7.MYI
+MYSQLTEST_VARDIR/master-data/test/t1.frm
+MYSQLTEST_VARDIR/master-data/test/t1.par
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 p0 ALL NULL NULL NULL NULL 4 Using where
@@ -636,20 +607,20 @@ t1 CREATE TABLE `t1` (
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION p0 ENGINE = MyISAM, PARTITION part1 ENGINE = MyISAM, PARTITION part7 ENGINE = MyISAM, PARTITION part2 ENGINE = MyISAM, PARTITION p4 ENGINE = MyISAM, PARTITION p5 ENGINE = MyISAM) */
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p0.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p0.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p4.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p4.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p5.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p5.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part7.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part7.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
+MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#p4.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#p4.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#p5.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#p5.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#part2.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#part2.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#part7.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#part7.MYI
+MYSQLTEST_VARDIR/master-data/test/t1.frm
+MYSQLTEST_VARDIR/master-data/test/t1.par
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 part7 ALL NULL NULL NULL NULL 3 Using where
@@ -666,18 +637,18 @@ t1 CREATE TABLE `t1` (
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION p0 ENGINE = MyISAM, PARTITION part1 ENGINE = MyISAM, PARTITION part7 ENGINE = MyISAM, PARTITION part2 ENGINE = MyISAM, PARTITION p4 ENGINE = MyISAM) */
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p0.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p0.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p4.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p4.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part7.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part7.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
+MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#p4.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#p4.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#part2.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#part2.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#part7.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#part7.MYI
+MYSQLTEST_VARDIR/master-data/test/t1.frm
+MYSQLTEST_VARDIR/master-data/test/t1.par
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 p4 ALL NULL NULL NULL NULL 10 Using where
@@ -694,16 +665,16 @@ t1 CREATE TABLE `t1` (
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION p0 ENGINE = MyISAM, PARTITION part1 ENGINE = MyISAM, PARTITION part7 ENGINE = MyISAM, PARTITION part2 ENGINE = MyISAM) */
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p0.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p0.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part7.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part7.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
+MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#part2.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#part2.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#part7.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#part7.MYI
+MYSQLTEST_VARDIR/master-data/test/t1.frm
+MYSQLTEST_VARDIR/master-data/test/t1.par
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 part7 ALL NULL NULL NULL NULL 5 Using where
@@ -720,14 +691,14 @@ t1 CREATE TABLE `t1` (
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION p0 ENGINE = MyISAM, PARTITION part1 ENGINE = MyISAM, PARTITION part7 ENGINE = MyISAM) */
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p0.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p0.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part7.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part7.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
+MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#part7.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#part7.MYI
+MYSQLTEST_VARDIR/master-data/test/t1.frm
+MYSQLTEST_VARDIR/master-data/test/t1.par
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 part7 ALL NULL NULL NULL NULL 7 Using where
@@ -744,12 +715,12 @@ t1 CREATE TABLE `t1` (
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION p0 ENGINE = MyISAM, PARTITION part1 ENGINE = MyISAM) */
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p0.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p0.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
+MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYI
+MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYI
+MYSQLTEST_VARDIR/master-data/test/t1.frm
+MYSQLTEST_VARDIR/master-data/test/t1.par
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 p0 ALL NULL NULL NULL NULL 10 Using where
@@ -766,10 +737,10 @@ t1 CREATE TABLE `t1` (
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION p0 ENGINE = MyISAM) */
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p0.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p0.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
+MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYD
+MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYI
+MYSQLTEST_VARDIR/master-data/test/t1.frm
+MYSQLTEST_VARDIR/master-data/test/t1.par
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 p0 ALL NULL NULL NULL NULL 20 Using where
@@ -790,9 +761,9 @@ t1 CREATE TABLE `t1` (
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.MYD
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.MYI
-/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm
+MYSQLTEST_VARDIR/master-data/test/t1.MYD
+MYSQLTEST_VARDIR/master-data/test/t1.MYI
+MYSQLTEST_VARDIR/master-data/test/t1.frm
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_alter4_innodb.result b/mysql-test/suite/parts/r/partition_alter4_innodb.result
index 2c5f57d8a46..0e6f0c22f93 100644
--- a/mysql-test/suite/parts/r/partition_alter4_innodb.result
+++ b/mysql-test/suite/parts/r/partition_alter4_innodb.result
@@ -2,14 +2,6 @@ SET @max_row = 20;
SET @@session.storage_engine = 'InnoDB';
#------------------------------------------------------------------------
-# There are several testcases disabled because of the open bugs
-# #15890
-# 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
#------------------------------------------------------------------------
@@ -31,7 +23,7 @@ DROP TABLE IF EXISTS t0_definition;
CREATE TABLE t0_definition (
state CHAR(3),
create_command VARBINARY(5000),
-file_list VARBINARY(5000),
+file_list VARBINARY(10000),
PRIMARY KEY (state)
) ENGINE = MEMORY;
DROP TABLE IF EXISTS t0_aux;
@@ -70,7 +62,7 @@ ALTER TABLE t1 ANALYZE PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -505,7 +497,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -523,7 +515,7 @@ ALTER TABLE t1 ANALYZE PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -958,7 +950,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -984,7 +976,7 @@ ALTER TABLE t1 ANALYZE PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -1419,7 +1411,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -1443,7 +1435,7 @@ ALTER TABLE t1 ANALYZE PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -1876,7 +1868,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -1898,7 +1890,7 @@ ALTER TABLE t1 ANALYZE PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -2333,7 +2325,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -2359,7 +2351,7 @@ ALTER TABLE t1 ANALYZE PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -2792,7 +2784,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -2818,7 +2810,7 @@ ALTER TABLE t1 ANALYZE PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -3253,7 +3245,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -3275,7 +3267,7 @@ ALTER TABLE t1 ANALYZE PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -3710,7 +3702,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
# 1.2 ALTER ... ANALYZE PARTITION part_1,part_2;
DROP TABLE IF EXISTS t1;
@@ -3730,7 +3722,7 @@ ALTER TABLE t1 ANALYZE PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -4165,7 +4157,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -4183,7 +4175,7 @@ ALTER TABLE t1 ANALYZE PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -4618,7 +4610,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -4644,7 +4636,7 @@ ALTER TABLE t1 ANALYZE PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -5079,7 +5071,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -5103,7 +5095,7 @@ ALTER TABLE t1 ANALYZE PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -5536,7 +5528,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -5558,7 +5550,7 @@ ALTER TABLE t1 ANALYZE PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -5993,7 +5985,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -6019,7 +6011,7 @@ ALTER TABLE t1 ANALYZE PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -6452,7 +6444,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -6478,7 +6470,7 @@ ALTER TABLE t1 ANALYZE PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -6913,7 +6905,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -6935,7 +6927,7 @@ ALTER TABLE t1 ANALYZE PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -7370,7 +7362,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
# 1.3 ALTER ... ANALYZE PARTITION part_1,part_2,part_5,part_6,part_10;
DROP TABLE IF EXISTS t1;
@@ -7713,7 +7705,7 @@ ALTER TABLE t1 CHECK PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -8148,7 +8140,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -8166,7 +8158,7 @@ ALTER TABLE t1 CHECK PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -8601,7 +8593,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -8627,7 +8619,7 @@ ALTER TABLE t1 CHECK PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -9062,7 +9054,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -9086,7 +9078,7 @@ ALTER TABLE t1 CHECK PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -9519,7 +9511,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -9541,7 +9533,7 @@ ALTER TABLE t1 CHECK PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -9976,7 +9968,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -10002,7 +9994,7 @@ ALTER TABLE t1 CHECK PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -10435,7 +10427,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -10461,7 +10453,7 @@ ALTER TABLE t1 CHECK PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -10896,7 +10888,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -10918,7 +10910,7 @@ ALTER TABLE t1 CHECK PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -11353,7 +11345,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
# 2.2 ALTER ... CHECK PARTITION part_1,part_2;
DROP TABLE IF EXISTS t1;
@@ -11373,7 +11365,7 @@ ALTER TABLE t1 CHECK PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -11808,7 +11800,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -11826,7 +11818,7 @@ ALTER TABLE t1 CHECK PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -12261,7 +12253,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -12287,7 +12279,7 @@ ALTER TABLE t1 CHECK PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -12722,7 +12714,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -12746,7 +12738,7 @@ ALTER TABLE t1 CHECK PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -13179,7 +13171,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -13201,7 +13193,7 @@ ALTER TABLE t1 CHECK PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -13636,7 +13628,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -13662,7 +13654,7 @@ ALTER TABLE t1 CHECK PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -14095,7 +14087,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -14121,7 +14113,7 @@ ALTER TABLE t1 CHECK PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -14556,7 +14548,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -14578,7 +14570,7 @@ ALTER TABLE t1 CHECK PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -15013,7 +15005,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
# 2.3 ALTER ... CHECK PARTITION part_1,part_2,part_5,part_6,part_10;
DROP TABLE IF EXISTS t1;
@@ -15999,7 +15991,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -16434,7 +16426,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -16452,7 +16444,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -16887,7 +16879,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -16913,7 +16905,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -17348,7 +17340,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -17372,7 +17364,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -17805,7 +17797,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -17827,7 +17819,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -18262,7 +18254,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -18288,7 +18280,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -18721,7 +18713,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -18747,7 +18739,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -19182,7 +19174,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -19204,7 +19196,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -19639,7 +19631,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
# 4.2 ALTER ... REBUILD PARTITION part_1,part_2;
DROP TABLE IF EXISTS t1;
@@ -19659,7 +19651,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -20094,7 +20086,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -20112,7 +20104,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -20547,7 +20539,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -20573,7 +20565,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -21008,7 +21000,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -21032,7 +21024,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -21465,7 +21457,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -21487,7 +21479,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -21922,7 +21914,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -21948,7 +21940,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -22381,7 +22373,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -22407,7 +22399,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -22842,7 +22834,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -22864,7 +22856,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -23299,7 +23291,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
# 4.3 ALTER ... REBUILD PARTITION part_1,part_2,part_5,part_6,part_10;
DROP TABLE IF EXISTS t1;
@@ -23642,7 +23634,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -24077,7 +24069,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -24095,7 +24087,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -24530,7 +24522,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -24556,7 +24548,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -24991,7 +24983,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -25015,7 +25007,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -25448,7 +25440,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -25470,7 +25462,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -25905,7 +25897,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -25931,7 +25923,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -26364,7 +26356,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -26390,7 +26382,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -26825,7 +26817,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -26847,7 +26839,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -27282,7 +27274,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
# 5.2 ALTER ... REBUILD PARTITION part_1,part_2;
DROP TABLE IF EXISTS t1;
@@ -27302,7 +27294,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -27737,7 +27729,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -27755,7 +27747,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -28190,7 +28182,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -28216,7 +28208,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -28651,7 +28643,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -28675,7 +28667,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -29108,7 +29100,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -29130,7 +29122,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -29565,7 +29557,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -29591,7 +29583,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -30024,7 +30016,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -30050,7 +30042,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -30485,7 +30477,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -30507,7 +30499,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -30942,7 +30934,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
# 5.3 ALTER ... REBUILD PARTITION part_1,part_2,part_5,part_6,part_10;
DROP TABLE IF EXISTS t1;
@@ -31285,7 +31277,7 @@ ALTER TABLE t1 REMOVE PARTITIONING;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -31720,7 +31712,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -31738,7 +31730,7 @@ ALTER TABLE t1 REMOVE PARTITIONING;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -32173,7 +32165,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -32199,7 +32191,7 @@ ALTER TABLE t1 REMOVE PARTITIONING;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -32634,7 +32626,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -32658,7 +32650,7 @@ ALTER TABLE t1 REMOVE PARTITIONING;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -33093,7 +33085,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -33115,7 +33107,7 @@ ALTER TABLE t1 REMOVE PARTITIONING;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -33550,7 +33542,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -33576,7 +33568,7 @@ ALTER TABLE t1 REMOVE PARTITIONING;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -34011,7 +34003,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -34037,7 +34029,7 @@ ALTER TABLE t1 REMOVE PARTITIONING;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -34472,7 +34464,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -34494,7 +34486,7 @@ ALTER TABLE t1 REMOVE PARTITIONING;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -34929,7 +34921,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
DROP VIEW IF EXISTS v1;
DROP TABLE IF EXISTS t1;
diff --git a/mysql-test/suite/parts/r/partition_alter4_myisam.result b/mysql-test/suite/parts/r/partition_alter4_myisam.result
index 32da415443d..8eac8d414de 100644
--- a/mysql-test/suite/parts/r/partition_alter4_myisam.result
+++ b/mysql-test/suite/parts/r/partition_alter4_myisam.result
@@ -2,14 +2,6 @@ SET @max_row = 20;
SET @@session.storage_engine = 'MyISAM';
#------------------------------------------------------------------------
-# There are several testcases disabled because of the open bugs
-# #15890
-# 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
#------------------------------------------------------------------------
@@ -31,7 +23,7 @@ DROP TABLE IF EXISTS t0_definition;
CREATE TABLE t0_definition (
state CHAR(3),
create_command VARBINARY(5000),
-file_list VARBINARY(5000),
+file_list VARBINARY(10000),
PRIMARY KEY (state)
) ENGINE = MEMORY;
DROP TABLE IF EXISTS t0_aux;
@@ -70,7 +62,7 @@ ALTER TABLE t1 ANALYZE PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -515,7 +507,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -533,7 +525,7 @@ ALTER TABLE t1 ANALYZE PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -984,7 +976,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -1010,7 +1002,7 @@ ALTER TABLE t1 ANALYZE PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -1467,7 +1459,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -1491,7 +1483,7 @@ ALTER TABLE t1 ANALYZE PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -1942,7 +1934,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -1964,7 +1956,7 @@ ALTER TABLE t1 ANALYZE PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -2421,7 +2413,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -2447,7 +2439,7 @@ ALTER TABLE t1 ANALYZE PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -2902,7 +2894,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -2928,7 +2920,7 @@ ALTER TABLE t1 ANALYZE PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -3385,7 +3377,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -3407,7 +3399,7 @@ ALTER TABLE t1 ANALYZE PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -3866,7 +3858,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
# 1.2 ALTER ... ANALYZE PARTITION part_1,part_2;
DROP TABLE IF EXISTS t1;
@@ -3886,7 +3878,7 @@ ALTER TABLE t1 ANALYZE PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -4331,7 +4323,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -4349,7 +4341,7 @@ ALTER TABLE t1 ANALYZE PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -4800,7 +4792,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -4826,7 +4818,7 @@ ALTER TABLE t1 ANALYZE PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -5283,7 +5275,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -5307,7 +5299,7 @@ ALTER TABLE t1 ANALYZE PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -5758,7 +5750,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -5780,7 +5772,7 @@ ALTER TABLE t1 ANALYZE PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -6237,7 +6229,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -6263,7 +6255,7 @@ ALTER TABLE t1 ANALYZE PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -6718,7 +6710,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -6744,7 +6736,7 @@ ALTER TABLE t1 ANALYZE PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -7201,7 +7193,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -7223,7 +7215,7 @@ ALTER TABLE t1 ANALYZE PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -7682,7 +7674,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
# 1.3 ALTER ... ANALYZE PARTITION part_1,part_2,part_5,part_6,part_10;
DROP TABLE IF EXISTS t1;
@@ -8025,7 +8017,7 @@ ALTER TABLE t1 CHECK PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -8470,7 +8462,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -8488,7 +8480,7 @@ ALTER TABLE t1 CHECK PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -8939,7 +8931,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -8965,7 +8957,7 @@ ALTER TABLE t1 CHECK PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -9422,7 +9414,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -9446,7 +9438,7 @@ ALTER TABLE t1 CHECK PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -9897,7 +9889,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -9919,7 +9911,7 @@ ALTER TABLE t1 CHECK PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -10376,7 +10368,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -10402,7 +10394,7 @@ ALTER TABLE t1 CHECK PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -10857,7 +10849,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -10883,7 +10875,7 @@ ALTER TABLE t1 CHECK PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -11340,7 +11332,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -11362,7 +11354,7 @@ ALTER TABLE t1 CHECK PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -11821,7 +11813,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
# 2.2 ALTER ... CHECK PARTITION part_1,part_2;
DROP TABLE IF EXISTS t1;
@@ -11841,7 +11833,7 @@ ALTER TABLE t1 CHECK PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -12286,7 +12278,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -12304,7 +12296,7 @@ ALTER TABLE t1 CHECK PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -12755,7 +12747,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -12781,7 +12773,7 @@ ALTER TABLE t1 CHECK PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -13238,7 +13230,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -13262,7 +13254,7 @@ ALTER TABLE t1 CHECK PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -13713,7 +13705,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -13735,7 +13727,7 @@ ALTER TABLE t1 CHECK PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -14192,7 +14184,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -14218,7 +14210,7 @@ ALTER TABLE t1 CHECK PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -14673,7 +14665,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -14699,7 +14691,7 @@ ALTER TABLE t1 CHECK PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -15156,7 +15148,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -15178,7 +15170,7 @@ ALTER TABLE t1 CHECK PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -15637,7 +15629,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
# 2.3 ALTER ... CHECK PARTITION part_1,part_2,part_5,part_6,part_10;
DROP TABLE IF EXISTS t1;
@@ -15980,7 +15972,7 @@ ALTER TABLE t1 OPTIMIZE PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -16425,7 +16417,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -16443,7 +16435,7 @@ ALTER TABLE t1 OPTIMIZE PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -16894,7 +16886,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -16920,7 +16912,7 @@ ALTER TABLE t1 OPTIMIZE PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -17377,7 +17369,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -17401,7 +17393,7 @@ ALTER TABLE t1 OPTIMIZE PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -17852,7 +17844,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -17874,7 +17866,7 @@ ALTER TABLE t1 OPTIMIZE PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -18331,7 +18323,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -18357,7 +18349,7 @@ ALTER TABLE t1 OPTIMIZE PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -18812,7 +18804,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -18838,7 +18830,7 @@ ALTER TABLE t1 OPTIMIZE PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -19295,7 +19287,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -19317,7 +19309,7 @@ ALTER TABLE t1 OPTIMIZE PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -19776,7 +19768,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
# 3.2 ALTER ... OPTIMIZE PARTITION part_1,part_2;
DROP TABLE IF EXISTS t1;
@@ -19796,7 +19788,7 @@ ALTER TABLE t1 OPTIMIZE PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -20241,7 +20233,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -20259,7 +20251,7 @@ ALTER TABLE t1 OPTIMIZE PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -20710,7 +20702,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -20736,7 +20728,7 @@ ALTER TABLE t1 OPTIMIZE PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -21193,7 +21185,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -21217,7 +21209,7 @@ ALTER TABLE t1 OPTIMIZE PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -21668,7 +21660,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -21690,7 +21682,7 @@ ALTER TABLE t1 OPTIMIZE PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -22147,7 +22139,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -22173,7 +22165,7 @@ ALTER TABLE t1 OPTIMIZE PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -22628,7 +22620,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -22654,7 +22646,7 @@ ALTER TABLE t1 OPTIMIZE PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -23111,7 +23103,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -23133,7 +23125,7 @@ ALTER TABLE t1 OPTIMIZE PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -23592,7 +23584,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
# 3.3 ALTER ... OPTIMIZE PARTITION part_1,part_2,part_5,part_6,part_10;
DROP TABLE IF EXISTS t1;
@@ -23935,7 +23927,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -24380,7 +24372,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -24398,7 +24390,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -24849,7 +24841,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -24875,7 +24867,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -25332,7 +25324,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -25356,7 +25348,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -25807,7 +25799,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -25829,7 +25821,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -26286,7 +26278,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -26312,7 +26304,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -26767,7 +26759,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -26793,7 +26785,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -27250,7 +27242,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -27272,7 +27264,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -27731,7 +27723,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
# 4.2 ALTER ... REBUILD PARTITION part_1,part_2;
DROP TABLE IF EXISTS t1;
@@ -27751,7 +27743,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -28196,7 +28188,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -28214,7 +28206,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -28665,7 +28657,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -28691,7 +28683,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -29148,7 +29140,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -29172,7 +29164,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -29623,7 +29615,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -29645,7 +29637,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -30102,7 +30094,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -30128,7 +30120,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -30583,7 +30575,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -30609,7 +30601,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -31066,7 +31058,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -31088,7 +31080,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -31547,7 +31539,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
# 4.3 ALTER ... REBUILD PARTITION part_1,part_2,part_5,part_6,part_10;
DROP TABLE IF EXISTS t1;
@@ -31890,7 +31882,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -32335,7 +32327,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -32353,7 +32345,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -32804,7 +32796,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -32830,7 +32822,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -33287,7 +33279,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -33311,7 +33303,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -33762,7 +33754,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -33784,7 +33776,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -34241,7 +34233,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -34267,7 +34259,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -34722,7 +34714,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -34748,7 +34740,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -35205,7 +35197,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -35227,7 +35219,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -35686,7 +35678,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
# 5.2 ALTER ... REBUILD PARTITION part_1,part_2;
DROP TABLE IF EXISTS t1;
@@ -35706,7 +35698,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -36151,7 +36143,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -36169,7 +36161,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -36620,7 +36612,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -36646,7 +36638,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -37103,7 +37095,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -37127,7 +37119,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -37578,7 +37570,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -37600,7 +37592,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -38057,7 +38049,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -38083,7 +38075,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -38538,7 +38530,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -38564,7 +38556,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -39021,7 +39013,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -39043,7 +39035,7 @@ ALTER TABLE t1 REBUILD PARTITION part_1,part_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
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -39502,7 +39494,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
# 5.3 ALTER ... REBUILD PARTITION part_1,part_2,part_5,part_6,part_10;
DROP TABLE IF EXISTS t1;
@@ -39845,7 +39837,7 @@ ALTER TABLE t1 REMOVE PARTITIONING;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -40287,7 +40279,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -40305,7 +40297,7 @@ ALTER TABLE t1 REMOVE PARTITIONING;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -40747,7 +40739,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -40773,7 +40765,7 @@ ALTER TABLE t1 REMOVE PARTITIONING;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -41215,7 +41207,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -41239,7 +41231,7 @@ ALTER TABLE t1 REMOVE PARTITIONING;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -41681,7 +41673,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -41703,7 +41695,7 @@ ALTER TABLE t1 REMOVE PARTITIONING;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -42145,7 +42137,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -42171,7 +42163,7 @@ ALTER TABLE t1 REMOVE PARTITIONING;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -42613,7 +42605,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -42639,7 +42631,7 @@ ALTER TABLE t1 REMOVE PARTITIONING;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -43081,7 +43073,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -43103,7 +43095,7 @@ ALTER TABLE t1 REMOVE PARTITIONING;
INSERT INTO t1(f_int1,f_int2,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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -43545,7 +43537,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
DROP VIEW IF EXISTS v1;
DROP TABLE IF EXISTS t1;
diff --git a/mysql-test/suite/parts/r/partition_basic_innodb.result b/mysql-test/suite/parts/r/partition_basic_innodb.result
index f9ae10caf18..7f5e7df6061 100644
--- a/mysql-test/suite/parts/r/partition_basic_innodb.result
+++ b/mysql-test/suite/parts/r/partition_basic_innodb.result
@@ -2,14 +2,6 @@ SET @max_row = 20;
SET @@session.storage_engine = 'InnoDB';
#------------------------------------------------------------------------
-# There are several testcases disabled because of the open bugs
-# #15890
-# 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
#------------------------------------------------------------------------
@@ -31,7 +23,7 @@ DROP TABLE IF EXISTS t0_definition;
CREATE TABLE t0_definition (
state CHAR(3),
create_command VARBINARY(5000),
-file_list VARBINARY(5000),
+file_list VARBINARY(10000),
PRIMARY KEY (state)
) ENGINE = MEMORY;
DROP TABLE IF EXISTS t0_aux;
@@ -70,7 +62,7 @@ f_charbig VARCHAR(1000)
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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -82,448 +74,9 @@ t1 CREATE TABLE `t1` (
`f_charbig` varchar(1000) DEFAULT NULL
) ENGINE=InnoDB 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 able 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 status OK
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check status OK
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize status OK
-# 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 (include/partition_check.inc)
-DROP TABLE t1;
-# Attention: There are unused files.
-# Either the DROP TABLE or a preceeding ALTER TABLE
-# <alter partitioning> worked incomplete.
-# We found:
unified filelist
---- not determined ---
-# Start usability test (include/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=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) PARTITIONS 5 */
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
@@ -929,16 +482,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -948,946 +501,8 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
-# Attention: There are unused files.
-# Either the DROP TABLE or a preceeding ALTER TABLE
-# <alter partitioning> worked incomplete.
-# We found:
-unified filelist
---- not determined ---
-# Start usability test (include/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=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */
-
-# 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 able 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 status OK
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check status OK
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize status OK
-# 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 (include/partition_check.inc)
-DROP TABLE t1;
-# Attention: There are unused files.
-# Either the DROP TABLE or a preceeding ALTER TABLE
-# <alter partitioning> worked incomplete.
-# We found:
-unified filelist
---- not determined ---
-SET @aux = 'PARTITION BY RANGE(f_int1)
-(PARTITION parta VALUES LESS THAN (0)
-
-,
-PARTITION partb VALUES LESS THAN (5)
-
-,
-PARTITION partc VALUES LESS THAN (10)
-
-,
-PARTITION partd VALUES LESS THAN (10 + 5)
-
-,
-PARTITION parte VALUES LESS THAN (20)
-
-,
-PARTITION partf VALUES LESS THAN (2147483646)
-
-)';
-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 parta VALUES LESS THAN (0)
-
-,
-PARTITION partb VALUES LESS THAN (5)
-
-,
-PARTITION partc VALUES LESS THAN (10)
-
-,
-PARTITION partd VALUES LESS THAN (10 + 5)
-
-,
-PARTITION parte VALUES LESS THAN (20)
-
-,
-PARTITION partf 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;
-# Start usability test (include/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=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */
-
-# 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 able 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 status OK
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check status OK
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize status OK
-# 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 (include/partition_check.inc)
-DROP TABLE t1;
-# Attention: There are unused files.
-# Either the DROP TABLE or a preceeding ALTER TABLE
-# <alter partitioning> worked incomplete.
-# We found:
-unified filelist
---- not determined ---
CREATE TABLE t1 (
f_int1 INTEGER,
f_int2 INTEGER,
@@ -1896,22 +511,10 @@ f_char2 CHAR(20),
f_charbig VARCHAR(1000)
)
-PARTITION BY RANGE(f_int1 DIV 2) SUBPARTITION BY HASH(f_int1) SUBPARTITIONS 2
-(PARTITION parta VALUES LESS THAN (0)
-
-,
-PARTITION partb VALUES LESS THAN (5)
-
-,
-PARTITION partc VALUES LESS THAN (10)
-
-,
-PARTITION partd VALUES LESS THAN (2147483646)
-
-);
+PARTITION BY KEY(f_int1) PARTITIONS 5;
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -1921,961 +524,11 @@ t1 CREATE TABLE `t1` (
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */
-
-# 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 able 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 status OK
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check status OK
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize status OK
-# 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 (include/partition_check.inc)
-DROP TABLE t1;
-# Attention: There are unused files.
-# Either the DROP TABLE or a preceeding ALTER TABLE
-# <alter partitioning> worked incomplete.
-# We found:
-unified filelist
---- not determined ---
-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 KEY(f_int1)
-(PARTITION part1 VALUES LESS THAN (0)
-
-
-(SUBPARTITION subpart11, SUBPARTITION subpart12),
-PARTITION part2 VALUES LESS THAN (5)
-
-
-(SUBPARTITION subpart21, SUBPARTITION subpart22),
-PARTITION part3 VALUES LESS THAN (10)
-
-
-(SUBPARTITION subpart31, SUBPARTITION subpart32),
-PARTITION part4 VALUES LESS THAN (2147483646)
-
-
-(SUBPARTITION subpart41, SUBPARTITION subpart42));
-INSERT INTO t1(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 (include/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=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) PARTITIONS 5 */
-# 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 able 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 status OK
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check status OK
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize status OK
-# 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 (include/partition_check.inc)
-DROP TABLE t1;
-# Attention: There are unused files.
-# Either the DROP TABLE or a preceeding ALTER TABLE
-# <alter partitioning> worked incomplete.
-# We found:
unified filelist
---- not determined ---
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-PARTITION BY LIST(ABS(MOD(f_int1,3))) SUBPARTITION BY HASH(f_int1 + 1)
-(PARTITION part1 VALUES IN (0)
-
-
- (SUBPARTITION sp11
-
- ,
- SUBPARTITION sp12
-
- ),
- PARTITION part2 VALUES IN (1)
-
-
- (SUBPARTITION sp21
-
- ,
- SUBPARTITION sp22
-
- ),
- PARTITION part3 VALUES IN (2)
-
-
- (SUBPARTITION sp31,
- SUBPARTITION sp32),
- PARTITION part4 VALUES IN (NULL)
-
-
- (SUBPARTITION sp41
-
- ,
- SUBPARTITION sp42
-
- ));
-INSERT INTO t1(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 (include/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=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
@@ -3281,16 +934,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -3300,14 +953,8 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
-# Attention: There are unused files.
-# Either the DROP TABLE or a preceeding ALTER TABLE
-# <alter partitioning> worked incomplete.
-# We found:
-unified filelist
---- not determined ---
CREATE TABLE t1 (
f_int1 INTEGER,
f_int2 INTEGER,
@@ -3316,20 +963,18 @@ f_char2 CHAR(20),
f_charbig VARCHAR(1000)
)
-PARTITION BY LIST(ABS(MOD(f_int1,2)))
-SUBPARTITION BY KEY(f_int1) SUBPARTITIONS 3
-(PARTITION part1 VALUES IN (0)
-
- ,
- PARTITION part2 VALUES IN (1)
-
- ,
- PARTITION part3 VALUES IN (NULL)
-
- );
+PARTITION BY LIST(MOD(f_int1,4))
+(PARTITION part_3 VALUES IN (-3),
+PARTITION part_2 VALUES IN (-2),
+PARTITION part_1 VALUES IN (-1),
+PARTITION part_N VALUES IN (NULL),
+PARTITION part0 VALUES IN (0),
+PARTITION part1 VALUES IN (1),
+PARTITION part2 VALUES IN (2),
+PARTITION part3 VALUES IN (3));
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -3339,472 +984,11 @@ t1 CREATE TABLE `t1` (
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */
-# 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 able 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 status OK
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check status OK
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize status OK
-# 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 (include/partition_check.inc)
-DROP TABLE t1;
-# Attention: There are unused files.
-# Either the DROP TABLE or a preceeding ALTER TABLE
-# <alter partitioning> worked incomplete.
-# We found:
unified filelist
---- not determined ---
-# 1.1.1 with DATA DIECTORY/INDEX DIRECTORY
-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 p1
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION p2
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index');
-INSERT INTO t1(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 (include/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=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION p1 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION p2 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB) */
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
@@ -4210,16 +1394,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -4229,14 +1413,8 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
-# Attention: There are unused files.
-# Either the DROP TABLE or a preceeding ALTER TABLE
-# <alter partitioning> worked incomplete.
-# We found:
-unified filelist
---- not determined ---
CREATE TABLE t1 (
f_int1 INTEGER,
f_int2 INTEGER,
@@ -4245,35 +1423,16 @@ f_char2 CHAR(20),
f_charbig VARCHAR(1000)
)
-PARTITION BY HASH(f_int1) PARTITIONS 5
-(PARTITION p1
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION p2
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION p3
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION p4
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION p5
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index');
+PARTITION BY RANGE(f_int1)
+(PARTITION parta VALUES LESS THAN (0),
+PARTITION partb VALUES LESS THAN (5),
+PARTITION partc VALUES LESS THAN (10),
+PARTITION partd VALUES LESS THAN (10 + 5),
+PARTITION parte VALUES LESS THAN (20),
+PARTITION partf 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;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -4283,965 +1442,11 @@ t1 CREATE TABLE `t1` (
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION p1 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION p2 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION p3 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION p4 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION p5 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */
-# 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 able 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 status OK
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check status OK
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize status OK
-# 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 (include/partition_check.inc)
-DROP TABLE t1;
-# Attention: There are unused files.
-# Either the DROP TABLE or a preceeding ALTER TABLE
-# <alter partitioning> worked incomplete.
-# We found:
unified filelist
---- not determined ---
-# Start usability test (include/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=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION part0 VALUES IN (0) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION part1 VALUES IN (1) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION part2 VALUES IN (2) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION part3 VALUES IN (3) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB) */
-
-# 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 able 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 status OK
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check status OK
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize status OK
-# 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 (include/partition_check.inc)
-DROP TABLE t1;
-# Attention: There are unused files.
-# Either the DROP TABLE or a preceeding ALTER TABLE
-# <alter partitioning> worked incomplete.
-# We found:
-unified filelist
---- not determined ---
-SET @aux = 'PARTITION BY RANGE(f_int1)
-(PARTITION parta VALUES LESS THAN (0)
-DATA DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data''
-INDEX DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'',
-PARTITION partb VALUES LESS THAN (5)
-DATA DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data''
-INDEX DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'',
-PARTITION partc VALUES LESS THAN (10)
-DATA DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data''
-INDEX DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'',
-PARTITION partd VALUES LESS THAN (10 + 5)
-DATA DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data''
-INDEX DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'',
-PARTITION parte VALUES LESS THAN (20)
-DATA DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data''
-INDEX DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'',
-PARTITION partf VALUES LESS THAN (2147483646)
-DATA DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data''
-INDEX DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'')';
-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 parta VALUES LESS THAN (0)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION partb VALUES LESS THAN (5)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION partc VALUES LESS THAN (10)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION partd VALUES LESS THAN (10 + 5)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION parte VALUES LESS THAN (20)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION partf VALUES LESS THAN (2147483646)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index');
-INSERT INTO t1(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 (include/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=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB) */
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
@@ -5645,16 +1850,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -5664,14 +1869,8 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
-# Attention: There are unused files.
-# Either the DROP TABLE or a preceeding ALTER TABLE
-# <alter partitioning> worked incomplete.
-# We found:
-unified filelist
---- not determined ---
CREATE TABLE t1 (
f_int1 INTEGER,
f_int2 INTEGER,
@@ -5681,29 +1880,13 @@ f_charbig VARCHAR(1000)
)
PARTITION BY RANGE(f_int1 DIV 2) SUBPARTITION BY HASH(f_int1) SUBPARTITIONS 2
-(PARTITION parta VALUES LESS THAN (0)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION partb VALUES LESS THAN (5)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION partc VALUES LESS THAN (10)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION partd VALUES LESS THAN (2147483646)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index');
+(PARTITION parta VALUES LESS THAN (0),
+PARTITION partb VALUES LESS THAN (5),
+PARTITION partc VALUES LESS THAN (10),
+PARTITION partd 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;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -5713,7 +1896,11 @@ t1 CREATE TABLE `t1` (
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */
+
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
@@ -6119,16 +2306,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -6138,14 +2325,8 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
-# Attention: There are unused files.
-# Either the DROP TABLE or a preceeding ALTER TABLE
-# <alter partitioning> worked incomplete.
-# We found:
-unified filelist
---- not determined ---
CREATE TABLE t1 (
f_int1 INTEGER,
f_int2 INTEGER,
@@ -6156,32 +2337,16 @@ f_charbig VARCHAR(1000)
)
PARTITION BY RANGE(f_int1) SUBPARTITION BY KEY(f_int1)
(PARTITION part1 VALUES LESS THAN (0)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'
(SUBPARTITION subpart11, SUBPARTITION subpart12),
PARTITION part2 VALUES LESS THAN (5)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'
(SUBPARTITION subpart21, SUBPARTITION subpart22),
PARTITION part3 VALUES LESS THAN (10)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'
(SUBPARTITION subpart31, SUBPARTITION subpart32),
PARTITION part4 VALUES LESS THAN (2147483646)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'
(SUBPARTITION subpart41, SUBPARTITION subpart42));
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -6191,511 +2356,11 @@ t1 CREATE TABLE `t1` (
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, SUBPARTITION subpart12 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, SUBPARTITION subpart22 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, SUBPARTITION subpart32 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, SUBPARTITION subpart42 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB)) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */
-# 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 able 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 status OK
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check status OK
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize status OK
-# 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 (include/partition_check.inc)
-DROP TABLE t1;
-# Attention: There are unused files.
-# Either the DROP TABLE or a preceeding ALTER TABLE
-# <alter partitioning> worked incomplete.
-# We found:
unified filelist
---- not determined ---
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-PARTITION BY LIST(ABS(MOD(f_int1,3))) SUBPARTITION BY HASH(f_int1 + 1)
-(PARTITION part1 VALUES IN (0)
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'
- (SUBPARTITION sp11
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
- SUBPARTITION sp12
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'),
- PARTITION part2 VALUES IN (1)
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'
- (SUBPARTITION sp21
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
- SUBPARTITION sp22
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'),
- PARTITION part3 VALUES IN (2)
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'
- (SUBPARTITION sp31,
- SUBPARTITION sp32),
- PARTITION part4 VALUES IN (NULL)
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'
- (SUBPARTITION sp41
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
- SUBPARTITION sp42
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'));
-INSERT INTO t1(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 (include/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=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, SUBPARTITION sp12 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, SUBPARTITION sp22 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, SUBPARTITION sp32 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, SUBPARTITION sp42 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB)) */
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
@@ -6763,9 +2428,7 @@ 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##';
+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),
@@ -7101,16 +2764,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -7120,14 +2783,8 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
-# Attention: There are unused files.
-# Either the DROP TABLE or a preceeding ALTER TABLE
-# <alter partitioning> worked incomplete.
-# We found:
-unified filelist
---- not determined ---
CREATE TABLE t1 (
f_int1 INTEGER,
f_int2 INTEGER,
@@ -7136,1858 +2793,22 @@ f_char2 CHAR(20),
f_charbig VARCHAR(1000)
)
-PARTITION BY LIST(ABS(MOD(f_int1,2)))
-SUBPARTITION BY KEY(f_int1) SUBPARTITIONS 3
+PARTITION BY LIST(ABS(MOD(f_int1,3))) SUBPARTITION BY HASH(f_int1 + 1)
(PARTITION part1 VALUES IN (0)
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
- PARTITION part2 VALUES IN (1)
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
- PARTITION part3 VALUES IN (NULL)
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index');
-INSERT INTO t1(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 (include/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=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION part2 VALUES IN (1) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB) */
-
-# 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 able 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 status OK
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check status OK
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize status OK
-# 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 (include/partition_check.inc)
-DROP TABLE t1;
-# Attention: There are unused files.
-# Either the DROP TABLE or a preceeding ALTER TABLE
-# <alter partitioning> worked incomplete.
-# We found:
-unified filelist
---- not determined ---
-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(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 (include/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=InnoDB 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 able 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 status OK
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check status OK
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize status OK
-# 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 (include/partition_check.inc)
-DROP TABLE t1;
-# Attention: There are unused files.
-# Either the DROP TABLE or a preceeding ALTER TABLE
-# <alter partitioning> worked incomplete.
-# We found:
-unified filelist
---- not determined ---
-# Start usability test (include/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=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) PARTITIONS 5 */
-
-# 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 able 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 status OK
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check status OK
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize status OK
-# 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 (include/partition_check.inc)
-DROP TABLE t1;
-# Attention: There are unused files.
-# Either the DROP TABLE or a preceeding ALTER TABLE
-# <alter partitioning> worked incomplete.
-# We found:
-unified filelist
---- not determined ---
-# Start usability test (include/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=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' ENGINE = InnoDB, PARTITION part0 VALUES IN (0) INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' ENGINE = InnoDB, PARTITION part3 VALUES IN (3) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB) */
-
-# 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 able 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 status OK
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check status OK
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize status OK
-# 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 (include/partition_check.inc)
-DROP TABLE t1;
-# Attention: There are unused files.
-# Either the DROP TABLE or a preceeding ALTER TABLE
-# <alter partitioning> worked incomplete.
-# We found:
-unified filelist
---- not determined ---
-SET @aux = 'PARTITION BY RANGE(f_int1)
-(PARTITION parta VALUES LESS THAN (0)
-INDEX DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'',
-PARTITION partb VALUES LESS THAN (5)
-DATA DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'',
-PARTITION partc VALUES LESS THAN (10)
-DATA DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data''
-INDEX DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'',
-PARTITION partd VALUES LESS THAN (10 + 5),
-PARTITION parte VALUES LESS THAN (20)
-DATA DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'',
-PARTITION partf VALUES LESS THAN (2147483646)
-INDEX DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'')';
-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 parta VALUES LESS THAN (0)
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION partb VALUES LESS THAN (5)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data',
-PARTITION partc VALUES LESS THAN (10)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION partd VALUES LESS THAN (10 + 5),
-PARTITION parte VALUES LESS THAN (20)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data',
-PARTITION partf VALUES LESS THAN (2147483646)
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index');
+(SUBPARTITION sp11,
+SUBPARTITION sp12),
+PARTITION part2 VALUES IN (1)
+(SUBPARTITION sp21,
+SUBPARTITION sp22),
+PARTITION part3 VALUES IN (2)
+(SUBPARTITION sp31,
+SUBPARTITION sp32),
+PARTITION part4 VALUES IN (NULL)
+(SUBPARTITION sp41,
+SUBPARTITION sp42));
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -8997,471 +2818,11 @@ t1 CREATE TABLE `t1` (
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */
-# 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 able 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 status OK
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check status OK
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize status OK
-# 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 (include/partition_check.inc)
-DROP TABLE t1;
-# Attention: There are unused files.
-# Either the DROP TABLE or a preceeding ALTER TABLE
-# <alter partitioning> worked incomplete.
-# We found:
unified filelist
---- not determined ---
-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 DIV 2) SUBPARTITION BY HASH(f_int1) SUBPARTITIONS 2
-(PARTITION parta VALUES LESS THAN (0)
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION partb VALUES LESS THAN (5)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data',
-PARTITION partc VALUES LESS THAN (10),
-PARTITION partd VALUES LESS THAN (2147483646)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index');
-INSERT INTO t1(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 (include/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=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB) */
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
@@ -9867,16 +3228,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -9886,14 +3247,8 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
-# Attention: There are unused files.
-# Either the DROP TABLE or a preceeding ALTER TABLE
-# <alter partitioning> worked incomplete.
-# We found:
-unified filelist
---- not determined ---
CREATE TABLE t1 (
f_int1 INTEGER,
f_int2 INTEGER,
@@ -9902,26 +3257,14 @@ f_char2 CHAR(20),
f_charbig VARCHAR(1000)
)
-PARTITION BY RANGE(f_int1) SUBPARTITION BY KEY(f_int1)
-(PARTITION part1 VALUES LESS THAN (0)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-(SUBPARTITION subpart11, SUBPARTITION subpart12),
-PARTITION part2 VALUES LESS THAN (5)
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'
-(SUBPARTITION subpart21, SUBPARTITION subpart22),
-PARTITION part3 VALUES LESS THAN (10)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'
-(SUBPARTITION subpart31, SUBPARTITION subpart32),
-PARTITION part4 VALUES LESS THAN (2147483646)
-(SUBPARTITION subpart41, SUBPARTITION subpart42));
+PARTITION BY LIST(ABS(MOD(f_int1,2)))
+SUBPARTITION BY KEY(f_int1) SUBPARTITIONS 3
+(PARTITION part1 VALUES IN (0),
+PARTITION part2 VALUES IN (1),
+PARTITION part3 VALUES IN (NULL));
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -9931,495 +3274,11 @@ t1 CREATE TABLE `t1` (
`f_char1` char(20) DEFAULT NULL,
`f_char2` char(20) DEFAULT NULL,
`f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' ENGINE = InnoDB, SUBPARTITION subpart12 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, SUBPARTITION subpart22 INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, SUBPARTITION subpart32 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */
-# 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 able 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 status OK
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check status OK
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize status OK
-# 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 (include/partition_check.inc)
-DROP TABLE t1;
-# Attention: There are unused files.
-# Either the DROP TABLE or a preceeding ALTER TABLE
-# <alter partitioning> worked incomplete.
-# We found:
unified filelist
---- not determined ---
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-PARTITION BY LIST(ABS(MOD(f_int1,3))) SUBPARTITION BY HASH(f_int1 + 1)
-(PARTITION part1 VALUES IN (0)
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'
- (SUBPARTITION sp11
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data',
- SUBPARTITION sp12
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'),
- PARTITION part2 VALUES IN (1)
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- (SUBPARTITION sp21
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data',
- SUBPARTITION sp22
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'),
- PARTITION part3 VALUES IN (2)
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'
- (SUBPARTITION sp31,
- SUBPARTITION sp32),
- PARTITION part4 VALUES IN (NULL)
- (SUBPARTITION sp41
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
- SUBPARTITION sp42
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'));
-INSERT INTO t1(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 (include/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=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, SUBPARTITION sp12 INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' ENGINE = InnoDB, SUBPARTITION sp22 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, SUBPARTITION sp32 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, SUBPARTITION sp42 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB)) */
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
@@ -10825,16 +3684,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -10844,14 +3703,8 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
-# Attention: There are unused files.
-# Either the DROP TABLE or a preceeding ALTER TABLE
-# <alter partitioning> worked incomplete.
-# We found:
-unified filelist
---- not determined ---
# 1.2 The partitioning function contains two columns.
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
@@ -10865,7 +3718,7 @@ f_charbig VARCHAR(1000)
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;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -10877,6 +3730,10 @@ t1 CREATE TABLE `t1` (
`f_charbig` varchar(1000) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1 + f_int2) PARTITIONS 2 */
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
# check MIN/MAX(f_int1) success: 1
@@ -11281,16 +4138,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -11300,7 +4157,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -11313,7 +4170,7 @@ f_charbig VARCHAR(1000)
PARTITION BY KEY(f_int1,f_int2) PARTITIONS 5;
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -11325,6 +4182,10 @@ t1 CREATE TABLE `t1` (
`f_charbig` varchar(1000) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1,f_int2) PARTITIONS 5 */
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
# check MIN/MAX(f_int1) success: 1
@@ -11729,16 +4590,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -11748,7 +4609,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -11769,7 +4630,7 @@ PARTITION part2 VALUES IN (2),
PARTITION part3 VALUES IN (3));
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -11781,6 +4642,10 @@ t1 CREATE TABLE `t1` (
`f_charbig` varchar(1000) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
# check MIN/MAX(f_int1) success: 1
@@ -12185,16 +5050,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -12204,7 +5069,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -12223,7 +5088,7 @@ PARTITION parte VALUES LESS THAN (20),
PARTITION partf 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;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -12235,6 +5100,10 @@ t1 CREATE TABLE `t1` (
`f_charbig` varchar(1000) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
# check MIN/MAX(f_int1) success: 1
@@ -12637,16 +5506,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -12656,7 +5525,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -12673,7 +5542,7 @@ PARTITION partc VALUES LESS THAN (10),
PARTITION partd 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;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -12685,6 +5554,10 @@ t1 CREATE TABLE `t1` (
`f_charbig` varchar(1000) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int2) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
# check MIN/MAX(f_int1) success: 1
@@ -13087,16 +5960,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -13106,7 +5979,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -13127,7 +6000,7 @@ PARTITION part4 VALUES LESS THAN (2147483646)
(SUBPARTITION subpart41, SUBPARTITION subpart42));
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -13139,6 +6012,10 @@ t1 CREATE TABLE `t1` (
`f_charbig` varchar(1000) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int2) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
# check MIN/MAX(f_int1) success: 1
@@ -13541,16 +6418,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -13560,7 +6437,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -13581,7 +6458,7 @@ PARTITION part4 VALUES IN (NULL)
(SUBPARTITION sp41, SUBPARTITION sp42));
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -13593,6 +6470,10 @@ t1 CREATE TABLE `t1` (
`f_charbig` varchar(1000) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int2 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
# check MIN/MAX(f_int1) success: 1
@@ -13997,16 +6878,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -14016,7 +6897,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -14029,11 +6910,11 @@ f_charbig VARCHAR(1000)
PARTITION BY LIST(ABS(MOD(f_int1,2)))
SUBPARTITION BY KEY(f_int2) SUBPARTITIONS 3
(PARTITION part1 VALUES IN (0),
- PARTITION part2 VALUES IN (1),
- PARTITION part3 VALUES IN (NULL));
+PARTITION part2 VALUES IN (1),
+PARTITION part3 VALUES IN (NULL));
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -14045,6 +6926,10 @@ t1 CREATE TABLE `t1` (
`f_charbig` varchar(1000) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int2) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
# check MIN/MAX(f_int1) success: 1
@@ -14449,16 +7334,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -14468,7 +7353,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
#------------------------------------------------------------------------
# 2 Tables with PRIMARY KEY and/or UNIQUE INDEXes
@@ -14487,7 +7372,7 @@ f_charbig VARCHAR(1000)
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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -14501,6 +7386,10 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `uidx1` (`f_int1`,`f_int2`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
# check MIN/MAX(f_int1) success: 1
@@ -14940,16 +7829,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -14959,15 +7848,20 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
-# Attention: There are unused files.
-# Either the DROP TABLE or a preceeding ALTER TABLE
-# <alter partitioning> worked incomplete.
-# We found:
-unified filelist
---- not determined ---
-# Start usability test (include/partition_check.inc)
+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)
+)
+PARTITION BY KEY(f_int1) PARTITIONS 5;
+INSERT INTO t1(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
@@ -14981,6 +7875,10 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `uidx1` (`f_int1`,`f_int2`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) PARTITIONS 5 */
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
# check MIN/MAX(f_int1) success: 1
@@ -15420,16 +8318,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -15439,15 +8337,28 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
-# Attention: There are unused files.
-# Either the DROP TABLE or a preceeding ALTER TABLE
-# <alter partitioning> worked incomplete.
-# We found:
-unified filelist
---- not determined ---
-# Start usability test (include/partition_check.inc)
+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)
+)
+PARTITION BY LIST(MOD(f_int1,4))
+(PARTITION part_3 VALUES IN (-3),
+PARTITION part_2 VALUES IN (-2),
+PARTITION part_1 VALUES IN (-1),
+PARTITION part_N VALUES IN (NULL),
+PARTITION part0 VALUES IN (0),
+PARTITION part1 VALUES IN (1),
+PARTITION part2 VALUES IN (2),
+PARTITION part3 VALUES IN (3));
+INSERT INTO t1(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
@@ -15459,7 +8370,11 @@ t1 CREATE TABLE `t1` (
`f_charbig` varchar(1000) DEFAULT NULL,
PRIMARY KEY (`f_int2`,`f_int1`),
UNIQUE KEY `uidx1` (`f_int1`,`f_int2`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION part0 VALUES IN (0) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION part1 VALUES IN (1) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION part2 VALUES IN (2) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION part3 VALUES IN (3) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */
+
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
@@ -15900,16 +8815,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -15919,45 +8834,8 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
-# Attention: There are unused files.
-# Either the DROP TABLE or a preceeding ALTER TABLE
-# <alter partitioning> worked incomplete.
-# We found:
-unified filelist
---- not determined ---
-SET @aux = 'PARTITION BY RANGE(f_int1)
-(PARTITION parta VALUES LESS THAN (0)
-DATA DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data''
-INDEX DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'',
-PARTITION partb VALUES LESS THAN (5)
-DATA DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data''
-INDEX DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'',
-PARTITION partc VALUES LESS THAN (10)
-DATA DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data''
-INDEX DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'',
-PARTITION partd VALUES LESS THAN (10 + 5)
-DATA DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data''
-INDEX DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'',
-PARTITION parte VALUES LESS THAN (20)
-DATA DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data''
-INDEX DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'',
-PARTITION partf VALUES LESS THAN (2147483646)
-DATA DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data''
-INDEX DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'')';
CREATE TABLE t1 (
f_int1 INTEGER,
f_int2 INTEGER,
@@ -15967,39 +8845,15 @@ f_charbig VARCHAR(1000)
, UNIQUE INDEX uidx1 (f_int1,f_int2), PRIMARY KEY(f_int2,f_int1)
)
PARTITION BY RANGE(f_int1)
-(PARTITION parta VALUES LESS THAN (0)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION partb VALUES LESS THAN (5)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION partc VALUES LESS THAN (10)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION partd VALUES LESS THAN (10 + 5)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION parte VALUES LESS THAN (20)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION partf VALUES LESS THAN (2147483646)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index');
+(PARTITION parta VALUES LESS THAN (0),
+PARTITION partb VALUES LESS THAN (5),
+PARTITION partc VALUES LESS THAN (10),
+PARTITION partd VALUES LESS THAN (10 + 5),
+PARTITION parte VALUES LESS THAN (20),
+PARTITION partf 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;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -16011,7 +8865,11 @@ t1 CREATE TABLE `t1` (
`f_charbig` varchar(1000) DEFAULT NULL,
PRIMARY KEY (`f_int2`,`f_int1`),
UNIQUE KEY `uidx1` (`f_int1`,`f_int2`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */
+
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
@@ -16450,16 +9308,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -16469,14 +9327,8 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
-# Attention: There are unused files.
-# Either the DROP TABLE or a preceeding ALTER TABLE
-# <alter partitioning> worked incomplete.
-# We found:
-unified filelist
---- not determined ---
CREATE TABLE t1 (
f_int1 INTEGER,
f_int2 INTEGER,
@@ -16486,29 +9338,13 @@ f_charbig VARCHAR(1000)
, UNIQUE INDEX uidx1 (f_int1,f_int2), PRIMARY KEY(f_int2,f_int1)
)
PARTITION BY RANGE(f_int1 DIV 2) SUBPARTITION BY HASH(f_int1) SUBPARTITIONS 2
-(PARTITION parta VALUES LESS THAN (0)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION partb VALUES LESS THAN (5)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION partc VALUES LESS THAN (10)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION partd VALUES LESS THAN (2147483646)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index');
+(PARTITION parta VALUES LESS THAN (0),
+PARTITION partb VALUES LESS THAN (5),
+PARTITION partc VALUES LESS THAN (10),
+PARTITION partd 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;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -16520,7 +9356,11 @@ t1 CREATE TABLE `t1` (
`f_charbig` varchar(1000) DEFAULT NULL,
PRIMARY KEY (`f_int2`,`f_int1`),
UNIQUE KEY `uidx1` (`f_int1`,`f_int2`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */
+
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
@@ -16961,16 +9801,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -16980,14 +9820,8 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
-# Attention: There are unused files.
-# Either the DROP TABLE or a preceeding ALTER TABLE
-# <alter partitioning> worked incomplete.
-# We found:
-unified filelist
---- not determined ---
CREATE TABLE t1 (
f_int1 INTEGER,
f_int2 INTEGER,
@@ -16998,32 +9832,16 @@ f_charbig VARCHAR(1000)
)
PARTITION BY RANGE(f_int1) SUBPARTITION BY KEY(f_int1)
(PARTITION part1 VALUES LESS THAN (0)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'
(SUBPARTITION subpart11, SUBPARTITION subpart12),
PARTITION part2 VALUES LESS THAN (5)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'
(SUBPARTITION subpart21, SUBPARTITION subpart22),
PARTITION part3 VALUES LESS THAN (10)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'
(SUBPARTITION subpart31, SUBPARTITION subpart32),
PARTITION part4 VALUES LESS THAN (2147483646)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'
(SUBPARTITION subpart41, SUBPARTITION subpart42));
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -17035,7 +9853,11 @@ t1 CREATE TABLE `t1` (
`f_charbig` varchar(1000) DEFAULT NULL,
PRIMARY KEY (`f_int2`,`f_int1`),
UNIQUE KEY `uidx1` (`f_int1`,`f_int2`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, SUBPARTITION subpart12 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, SUBPARTITION subpart22 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, SUBPARTITION subpart32 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, SUBPARTITION subpart42 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB)) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */
+
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
@@ -17474,16 +10296,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -17493,14 +10315,8 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
-# Attention: There are unused files.
-# Either the DROP TABLE or a preceeding ALTER TABLE
-# <alter partitioning> worked incomplete.
-# We found:
-unified filelist
---- not determined ---
CREATE TABLE t1 (
f_int1 INTEGER,
f_int2 INTEGER,
@@ -17511,60 +10327,20 @@ f_charbig VARCHAR(1000)
)
PARTITION BY LIST(ABS(MOD(f_int1,3))) SUBPARTITION BY HASH(f_int1 + 1)
(PARTITION part1 VALUES IN (0)
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'
- (SUBPARTITION sp11
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
- SUBPARTITION sp12
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'),
- PARTITION part2 VALUES IN (1)
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'
- (SUBPARTITION sp21
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
- SUBPARTITION sp22
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'),
- PARTITION part3 VALUES IN (2)
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'
- (SUBPARTITION sp31,
- SUBPARTITION sp32),
- PARTITION part4 VALUES IN (NULL)
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'
- (SUBPARTITION sp41
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
- SUBPARTITION sp42
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'));
+(SUBPARTITION sp11,
+SUBPARTITION sp12),
+PARTITION part2 VALUES IN (1)
+(SUBPARTITION sp21,
+SUBPARTITION sp22),
+PARTITION part3 VALUES IN (2)
+(SUBPARTITION sp31,
+SUBPARTITION sp32),
+PARTITION part4 VALUES IN (NULL)
+(SUBPARTITION sp41,
+SUBPARTITION sp42));
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -17576,7 +10352,11 @@ t1 CREATE TABLE `t1` (
`f_charbig` varchar(1000) DEFAULT NULL,
PRIMARY KEY (`f_int2`,`f_int1`),
UNIQUE KEY `uidx1` (`f_int1`,`f_int2`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, SUBPARTITION sp12 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, SUBPARTITION sp22 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, SUBPARTITION sp32 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, SUBPARTITION sp42 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB)) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */
+
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
@@ -18017,16 +10797,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -18036,14 +10816,8 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
-# Attention: There are unused files.
-# Either the DROP TABLE or a preceeding ALTER TABLE
-# <alter partitioning> worked incomplete.
-# We found:
-unified filelist
---- not determined ---
CREATE TABLE t1 (
f_int1 INTEGER,
f_int2 INTEGER,
@@ -18054,24 +10828,12 @@ f_charbig VARCHAR(1000)
)
PARTITION BY LIST(ABS(MOD(f_int1,2)))
SUBPARTITION BY KEY(f_int1) SUBPARTITIONS 3
-(PARTITION part1 VALUES IN (0)
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
- PARTITION part2 VALUES IN (1)
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
- PARTITION part3 VALUES IN (NULL)
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index');
+(PARTITION part1 VALUES IN (0),
+PARTITION part2 VALUES IN (1),
+PARTITION part3 VALUES IN (NULL));
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -18083,7 +10845,11 @@ t1 CREATE TABLE `t1` (
`f_charbig` varchar(1000) DEFAULT NULL,
PRIMARY KEY (`f_int2`,`f_int1`),
UNIQUE KEY `uidx1` (`f_int1`,`f_int2`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION part2 VALUES IN (1) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */
+
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
@@ -18524,16 +11290,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -18543,14 +11309,8 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
-# Attention: There are unused files.
-# Either the DROP TABLE or a preceeding ALTER TABLE
-# <alter partitioning> worked incomplete.
-# We found:
-unified filelist
---- not determined ---
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -18563,7 +11323,7 @@ f_charbig VARCHAR(1000)
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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -18577,6 +11337,10 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `uidx1` (`f_int2`,`f_int1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
# check MIN/MAX(f_int1) success: 1
@@ -19016,16 +11780,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -19035,15 +11799,20 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
-# Attention: There are unused files.
-# Either the DROP TABLE or a preceeding ALTER TABLE
-# <alter partitioning> worked incomplete.
-# We found:
-unified filelist
---- not determined ---
-# Start usability test (include/partition_check.inc)
+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)
+)
+PARTITION BY KEY(f_int1) PARTITIONS 5;
+INSERT INTO t1(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
@@ -19057,6 +11826,10 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `uidx1` (`f_int2`,`f_int1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) PARTITIONS 5 */
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
# check MIN/MAX(f_int1) success: 1
@@ -19496,16 +12269,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -19515,15 +12288,28 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
-# Attention: There are unused files.
-# Either the DROP TABLE or a preceeding ALTER TABLE
-# <alter partitioning> worked incomplete.
-# We found:
-unified filelist
---- not determined ---
-# Start usability test (include/partition_check.inc)
+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)
+)
+PARTITION BY LIST(MOD(f_int1,4))
+(PARTITION part_3 VALUES IN (-3),
+PARTITION part_2 VALUES IN (-2),
+PARTITION part_1 VALUES IN (-1),
+PARTITION part_N VALUES IN (NULL),
+PARTITION part0 VALUES IN (0),
+PARTITION part1 VALUES IN (1),
+PARTITION part2 VALUES IN (2),
+PARTITION part3 VALUES IN (3));
+INSERT INTO t1(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
@@ -19535,7 +12321,11 @@ t1 CREATE TABLE `t1` (
`f_charbig` varchar(1000) DEFAULT NULL,
PRIMARY KEY (`f_int1`,`f_int2`),
UNIQUE KEY `uidx1` (`f_int2`,`f_int1`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION part0 VALUES IN (0) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION part1 VALUES IN (1) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION part2 VALUES IN (2) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION part3 VALUES IN (3) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */
+
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
@@ -19976,16 +12766,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -19995,45 +12785,8 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
-# Attention: There are unused files.
-# Either the DROP TABLE or a preceeding ALTER TABLE
-# <alter partitioning> worked incomplete.
-# We found:
-unified filelist
---- not determined ---
-SET @aux = 'PARTITION BY RANGE(f_int1)
-(PARTITION parta VALUES LESS THAN (0)
-DATA DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data''
-INDEX DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'',
-PARTITION partb VALUES LESS THAN (5)
-DATA DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data''
-INDEX DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'',
-PARTITION partc VALUES LESS THAN (10)
-DATA DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data''
-INDEX DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'',
-PARTITION partd VALUES LESS THAN (10 + 5)
-DATA DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data''
-INDEX DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'',
-PARTITION parte VALUES LESS THAN (20)
-DATA DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data''
-INDEX DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'',
-PARTITION partf VALUES LESS THAN (2147483646)
-DATA DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data''
-INDEX DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'')';
CREATE TABLE t1 (
f_int1 INTEGER,
f_int2 INTEGER,
@@ -20043,39 +12796,15 @@ f_charbig VARCHAR(1000)
, UNIQUE INDEX uidx1 (f_int2,f_int1), PRIMARY KEY(f_int1,f_int2)
)
PARTITION BY RANGE(f_int1)
-(PARTITION parta VALUES LESS THAN (0)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION partb VALUES LESS THAN (5)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION partc VALUES LESS THAN (10)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION partd VALUES LESS THAN (10 + 5)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION parte VALUES LESS THAN (20)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION partf VALUES LESS THAN (2147483646)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index');
+(PARTITION parta VALUES LESS THAN (0),
+PARTITION partb VALUES LESS THAN (5),
+PARTITION partc VALUES LESS THAN (10),
+PARTITION partd VALUES LESS THAN (10 + 5),
+PARTITION parte VALUES LESS THAN (20),
+PARTITION partf 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;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -20087,7 +12816,11 @@ t1 CREATE TABLE `t1` (
`f_charbig` varchar(1000) DEFAULT NULL,
PRIMARY KEY (`f_int1`,`f_int2`),
UNIQUE KEY `uidx1` (`f_int2`,`f_int1`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */
+
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
@@ -20526,16 +13259,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -20545,14 +13278,8 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
-# Attention: There are unused files.
-# Either the DROP TABLE or a preceeding ALTER TABLE
-# <alter partitioning> worked incomplete.
-# We found:
-unified filelist
---- not determined ---
CREATE TABLE t1 (
f_int1 INTEGER,
f_int2 INTEGER,
@@ -20562,29 +13289,13 @@ f_charbig VARCHAR(1000)
, UNIQUE INDEX uidx1 (f_int2,f_int1), PRIMARY KEY(f_int1,f_int2)
)
PARTITION BY RANGE(f_int1 DIV 2) SUBPARTITION BY HASH(f_int1) SUBPARTITIONS 2
-(PARTITION parta VALUES LESS THAN (0)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION partb VALUES LESS THAN (5)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION partc VALUES LESS THAN (10)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION partd VALUES LESS THAN (2147483646)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index');
+(PARTITION parta VALUES LESS THAN (0),
+PARTITION partb VALUES LESS THAN (5),
+PARTITION partc VALUES LESS THAN (10),
+PARTITION partd 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;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -20596,7 +13307,11 @@ t1 CREATE TABLE `t1` (
`f_charbig` varchar(1000) DEFAULT NULL,
PRIMARY KEY (`f_int1`,`f_int2`),
UNIQUE KEY `uidx1` (`f_int2`,`f_int1`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */
+
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
@@ -21037,16 +13752,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -21056,14 +13771,8 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
-# Attention: There are unused files.
-# Either the DROP TABLE or a preceeding ALTER TABLE
-# <alter partitioning> worked incomplete.
-# We found:
-unified filelist
---- not determined ---
CREATE TABLE t1 (
f_int1 INTEGER,
f_int2 INTEGER,
@@ -21074,32 +13783,16 @@ f_charbig VARCHAR(1000)
)
PARTITION BY RANGE(f_int1) SUBPARTITION BY KEY(f_int1)
(PARTITION part1 VALUES LESS THAN (0)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'
(SUBPARTITION subpart11, SUBPARTITION subpart12),
PARTITION part2 VALUES LESS THAN (5)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'
(SUBPARTITION subpart21, SUBPARTITION subpart22),
PARTITION part3 VALUES LESS THAN (10)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'
(SUBPARTITION subpart31, SUBPARTITION subpart32),
PARTITION part4 VALUES LESS THAN (2147483646)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'
(SUBPARTITION subpart41, SUBPARTITION subpart42));
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -21111,7 +13804,11 @@ t1 CREATE TABLE `t1` (
`f_charbig` varchar(1000) DEFAULT NULL,
PRIMARY KEY (`f_int1`,`f_int2`),
UNIQUE KEY `uidx1` (`f_int2`,`f_int1`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, SUBPARTITION subpart12 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, SUBPARTITION subpart22 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, SUBPARTITION subpart32 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, SUBPARTITION subpart42 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB)) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */
+
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
@@ -21550,16 +14247,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -21569,14 +14266,8 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
-# Attention: There are unused files.
-# Either the DROP TABLE or a preceeding ALTER TABLE
-# <alter partitioning> worked incomplete.
-# We found:
-unified filelist
---- not determined ---
CREATE TABLE t1 (
f_int1 INTEGER,
f_int2 INTEGER,
@@ -21587,60 +14278,20 @@ f_charbig VARCHAR(1000)
)
PARTITION BY LIST(ABS(MOD(f_int1,3))) SUBPARTITION BY HASH(f_int1 + 1)
(PARTITION part1 VALUES IN (0)
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'
- (SUBPARTITION sp11
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
- SUBPARTITION sp12
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'),
- PARTITION part2 VALUES IN (1)
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'
- (SUBPARTITION sp21
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
- SUBPARTITION sp22
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'),
- PARTITION part3 VALUES IN (2)
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'
- (SUBPARTITION sp31,
- SUBPARTITION sp32),
- PARTITION part4 VALUES IN (NULL)
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'
- (SUBPARTITION sp41
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
- SUBPARTITION sp42
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'));
+(SUBPARTITION sp11,
+SUBPARTITION sp12),
+PARTITION part2 VALUES IN (1)
+(SUBPARTITION sp21,
+SUBPARTITION sp22),
+PARTITION part3 VALUES IN (2)
+(SUBPARTITION sp31,
+SUBPARTITION sp32),
+PARTITION part4 VALUES IN (NULL)
+(SUBPARTITION sp41,
+SUBPARTITION sp42));
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -21652,7 +14303,11 @@ t1 CREATE TABLE `t1` (
`f_charbig` varchar(1000) DEFAULT NULL,
PRIMARY KEY (`f_int1`,`f_int2`),
UNIQUE KEY `uidx1` (`f_int2`,`f_int1`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, SUBPARTITION sp12 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, SUBPARTITION sp22 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, SUBPARTITION sp32 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, SUBPARTITION sp42 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB)) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */
+
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
@@ -22093,16 +14748,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -22112,14 +14767,8 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
-# Attention: There are unused files.
-# Either the DROP TABLE or a preceeding ALTER TABLE
-# <alter partitioning> worked incomplete.
-# We found:
-unified filelist
---- not determined ---
CREATE TABLE t1 (
f_int1 INTEGER,
f_int2 INTEGER,
@@ -22130,24 +14779,12 @@ f_charbig VARCHAR(1000)
)
PARTITION BY LIST(ABS(MOD(f_int1,2)))
SUBPARTITION BY KEY(f_int1) SUBPARTITIONS 3
-(PARTITION part1 VALUES IN (0)
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
- PARTITION part2 VALUES IN (1)
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
- PARTITION part3 VALUES IN (NULL)
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index');
+(PARTITION part1 VALUES IN (0),
+PARTITION part2 VALUES IN (1),
+PARTITION part3 VALUES IN (NULL));
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -22159,7 +14796,11 @@ t1 CREATE TABLE `t1` (
`f_charbig` varchar(1000) DEFAULT NULL,
PRIMARY KEY (`f_int1`,`f_int2`),
UNIQUE KEY `uidx1` (`f_int2`,`f_int1`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION part2 VALUES IN (1) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */
+
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
@@ -22600,16 +15241,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -22619,14 +15260,8 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
-# Attention: There are unused files.
-# Either the DROP TABLE or a preceeding ALTER TABLE
-# <alter partitioning> worked incomplete.
-# We found:
-unified filelist
---- not determined ---
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -22639,7 +15274,7 @@ f_charbig VARCHAR(1000)
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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -22653,6 +15288,10 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `uidx2` (`f_int2`,`f_int1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
# check MIN/MAX(f_int1) success: 1
@@ -23108,16 +15747,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -23127,15 +15766,20 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
-# Attention: There are unused files.
-# Either the DROP TABLE or a preceeding ALTER TABLE
-# <alter partitioning> worked incomplete.
-# We found:
-unified filelist
---- not determined ---
-# Start usability test (include/partition_check.inc)
+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)
+)
+PARTITION BY KEY(f_int1) PARTITIONS 5;
+INSERT INTO t1(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
@@ -23149,6 +15793,10 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `uidx2` (`f_int2`,`f_int1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) PARTITIONS 5 */
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
# check MIN/MAX(f_int1) success: 1
@@ -23604,16 +16252,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -23623,15 +16271,28 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
-# Attention: There are unused files.
-# Either the DROP TABLE or a preceeding ALTER TABLE
-# <alter partitioning> worked incomplete.
-# We found:
-unified filelist
---- not determined ---
-# Start usability test (include/partition_check.inc)
+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)
+)
+PARTITION BY LIST(MOD(f_int1,4))
+(PARTITION part_3 VALUES IN (-3),
+PARTITION part_2 VALUES IN (-2),
+PARTITION part_1 VALUES IN (-1),
+PARTITION part_N VALUES IN (NULL),
+PARTITION part0 VALUES IN (0),
+PARTITION part1 VALUES IN (1),
+PARTITION part2 VALUES IN (2),
+PARTITION part3 VALUES IN (3));
+INSERT INTO t1(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
@@ -23643,7 +16304,11 @@ t1 CREATE TABLE `t1` (
`f_charbig` varchar(1000) DEFAULT NULL,
UNIQUE KEY `uidx1` (`f_int1`,`f_int2`),
UNIQUE KEY `uidx2` (`f_int2`,`f_int1`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION part0 VALUES IN (0) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION part1 VALUES IN (1) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION part2 VALUES IN (2) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION part3 VALUES IN (3) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */
+
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
@@ -24100,16 +16765,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -24119,45 +16784,8 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
-# Attention: There are unused files.
-# Either the DROP TABLE or a preceeding ALTER TABLE
-# <alter partitioning> worked incomplete.
-# We found:
-unified filelist
---- not determined ---
-SET @aux = 'PARTITION BY RANGE(f_int1)
-(PARTITION parta VALUES LESS THAN (0)
-DATA DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data''
-INDEX DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'',
-PARTITION partb VALUES LESS THAN (5)
-DATA DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data''
-INDEX DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'',
-PARTITION partc VALUES LESS THAN (10)
-DATA DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data''
-INDEX DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'',
-PARTITION partd VALUES LESS THAN (10 + 5)
-DATA DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data''
-INDEX DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'',
-PARTITION parte VALUES LESS THAN (20)
-DATA DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data''
-INDEX DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'',
-PARTITION partf VALUES LESS THAN (2147483646)
-DATA DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data''
-INDEX DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'')';
CREATE TABLE t1 (
f_int1 INTEGER,
f_int2 INTEGER,
@@ -24167,39 +16795,15 @@ f_charbig VARCHAR(1000)
, UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1)
)
PARTITION BY RANGE(f_int1)
-(PARTITION parta VALUES LESS THAN (0)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION partb VALUES LESS THAN (5)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION partc VALUES LESS THAN (10)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION partd VALUES LESS THAN (10 + 5)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION parte VALUES LESS THAN (20)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION partf VALUES LESS THAN (2147483646)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index');
+(PARTITION parta VALUES LESS THAN (0),
+PARTITION partb VALUES LESS THAN (5),
+PARTITION partc VALUES LESS THAN (10),
+PARTITION partd VALUES LESS THAN (10 + 5),
+PARTITION parte VALUES LESS THAN (20),
+PARTITION partf 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;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -24211,7 +16815,11 @@ t1 CREATE TABLE `t1` (
`f_charbig` varchar(1000) DEFAULT NULL,
UNIQUE KEY `uidx1` (`f_int1`,`f_int2`),
UNIQUE KEY `uidx2` (`f_int2`,`f_int1`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */
+
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
@@ -24666,16 +17274,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -24685,14 +17293,8 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
-# Attention: There are unused files.
-# Either the DROP TABLE or a preceeding ALTER TABLE
-# <alter partitioning> worked incomplete.
-# We found:
-unified filelist
---- not determined ---
CREATE TABLE t1 (
f_int1 INTEGER,
f_int2 INTEGER,
@@ -24702,29 +17304,13 @@ f_charbig VARCHAR(1000)
, UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1)
)
PARTITION BY RANGE(f_int1 DIV 2) SUBPARTITION BY HASH(f_int1) SUBPARTITIONS 2
-(PARTITION parta VALUES LESS THAN (0)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION partb VALUES LESS THAN (5)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION partc VALUES LESS THAN (10)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION partd VALUES LESS THAN (2147483646)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index');
+(PARTITION parta VALUES LESS THAN (0),
+PARTITION partb VALUES LESS THAN (5),
+PARTITION partc VALUES LESS THAN (10),
+PARTITION partd 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;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -24736,7 +17322,11 @@ t1 CREATE TABLE `t1` (
`f_charbig` varchar(1000) DEFAULT NULL,
UNIQUE KEY `uidx1` (`f_int1`,`f_int2`),
UNIQUE KEY `uidx2` (`f_int2`,`f_int1`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */
+
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
@@ -25193,16 +17783,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -25212,14 +17802,8 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
-# Attention: There are unused files.
-# Either the DROP TABLE or a preceeding ALTER TABLE
-# <alter partitioning> worked incomplete.
-# We found:
-unified filelist
---- not determined ---
CREATE TABLE t1 (
f_int1 INTEGER,
f_int2 INTEGER,
@@ -25230,32 +17814,16 @@ f_charbig VARCHAR(1000)
)
PARTITION BY RANGE(f_int1) SUBPARTITION BY KEY(f_int1)
(PARTITION part1 VALUES LESS THAN (0)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'
(SUBPARTITION subpart11, SUBPARTITION subpart12),
PARTITION part2 VALUES LESS THAN (5)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'
(SUBPARTITION subpart21, SUBPARTITION subpart22),
PARTITION part3 VALUES LESS THAN (10)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'
(SUBPARTITION subpart31, SUBPARTITION subpart32),
PARTITION part4 VALUES LESS THAN (2147483646)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'
(SUBPARTITION subpart41, SUBPARTITION subpart42));
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -25267,7 +17835,11 @@ t1 CREATE TABLE `t1` (
`f_charbig` varchar(1000) DEFAULT NULL,
UNIQUE KEY `uidx1` (`f_int1`,`f_int2`),
UNIQUE KEY `uidx2` (`f_int2`,`f_int1`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, SUBPARTITION subpart12 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, SUBPARTITION subpart22 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, SUBPARTITION subpart32 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, SUBPARTITION subpart42 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB)) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */
+
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
@@ -25722,16 +18294,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -25741,14 +18313,8 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
-# Attention: There are unused files.
-# Either the DROP TABLE or a preceeding ALTER TABLE
-# <alter partitioning> worked incomplete.
-# We found:
-unified filelist
---- not determined ---
CREATE TABLE t1 (
f_int1 INTEGER,
f_int2 INTEGER,
@@ -25759,60 +18325,20 @@ f_charbig VARCHAR(1000)
)
PARTITION BY LIST(ABS(MOD(f_int1,3))) SUBPARTITION BY HASH(f_int1 + 1)
(PARTITION part1 VALUES IN (0)
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'
- (SUBPARTITION sp11
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
- SUBPARTITION sp12
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'),
- PARTITION part2 VALUES IN (1)
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'
- (SUBPARTITION sp21
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
- SUBPARTITION sp22
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'),
- PARTITION part3 VALUES IN (2)
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'
- (SUBPARTITION sp31,
- SUBPARTITION sp32),
- PARTITION part4 VALUES IN (NULL)
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'
- (SUBPARTITION sp41
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
- SUBPARTITION sp42
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'));
+(SUBPARTITION sp11,
+SUBPARTITION sp12),
+PARTITION part2 VALUES IN (1)
+(SUBPARTITION sp21,
+SUBPARTITION sp22),
+PARTITION part3 VALUES IN (2)
+(SUBPARTITION sp31,
+SUBPARTITION sp32),
+PARTITION part4 VALUES IN (NULL)
+(SUBPARTITION sp41,
+SUBPARTITION sp42));
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -25824,7 +18350,11 @@ t1 CREATE TABLE `t1` (
`f_charbig` varchar(1000) DEFAULT NULL,
UNIQUE KEY `uidx1` (`f_int1`,`f_int2`),
UNIQUE KEY `uidx2` (`f_int2`,`f_int1`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, SUBPARTITION sp12 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, SUBPARTITION sp22 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, SUBPARTITION sp32 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, SUBPARTITION sp42 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB)) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */
+
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
@@ -26281,16 +18811,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -26300,14 +18830,8 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
-# Attention: There are unused files.
-# Either the DROP TABLE or a preceeding ALTER TABLE
-# <alter partitioning> worked incomplete.
-# We found:
-unified filelist
---- not determined ---
CREATE TABLE t1 (
f_int1 INTEGER,
f_int2 INTEGER,
@@ -26318,24 +18842,12 @@ f_charbig VARCHAR(1000)
)
PARTITION BY LIST(ABS(MOD(f_int1,2)))
SUBPARTITION BY KEY(f_int1) SUBPARTITIONS 3
-(PARTITION part1 VALUES IN (0)
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
- PARTITION part2 VALUES IN (1)
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
- PARTITION part3 VALUES IN (NULL)
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index');
+(PARTITION part1 VALUES IN (0),
+PARTITION part2 VALUES IN (1),
+PARTITION part3 VALUES IN (NULL));
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -26347,7 +18859,11 @@ t1 CREATE TABLE `t1` (
`f_charbig` varchar(1000) DEFAULT NULL,
UNIQUE KEY `uidx1` (`f_int1`,`f_int2`),
UNIQUE KEY `uidx2` (`f_int2`,`f_int1`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION part2 VALUES IN (1) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = InnoDB) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */
+
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
@@ -26804,16 +19320,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -26823,14 +19339,8 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
-# Attention: There are unused files.
-# Either the DROP TABLE or a preceeding ALTER TABLE
-# <alter partitioning> worked incomplete.
-# We found:
-unified filelist
---- not determined ---
#------------------------------------------------------------------------
# 3 Tables with PRIMARY KEY and/or UNIQUE INDEXes
# The partitioning function contains two columns.
@@ -26848,7 +19358,7 @@ f_charbig VARCHAR(1000)
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;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -26862,6 +19372,10 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `uidx1` (`f_int1`,`f_int2`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1 + f_int2) PARTITIONS 2 */
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
# check MIN/MAX(f_int1) success: 1
@@ -27301,16 +19815,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -27320,7 +19834,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -27333,7 +19847,7 @@ f_charbig VARCHAR(1000)
PARTITION BY KEY(f_int1,f_int2) PARTITIONS 5;
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -27347,6 +19861,10 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `uidx1` (`f_int1`,`f_int2`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1,f_int2) PARTITIONS 5 */
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
# check MIN/MAX(f_int1) success: 1
@@ -27786,16 +20304,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -27805,7 +20323,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -27826,7 +20344,7 @@ PARTITION part2 VALUES IN (2),
PARTITION part3 VALUES IN (3));
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -27840,6 +20358,10 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `uidx1` (`f_int1`,`f_int2`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
# check MIN/MAX(f_int1) success: 1
@@ -28279,16 +20801,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -28298,7 +20820,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -28317,7 +20839,7 @@ PARTITION parte VALUES LESS THAN (20),
PARTITION partf 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;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -28331,6 +20853,10 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `uidx1` (`f_int1`,`f_int2`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
# check MIN/MAX(f_int1) success: 1
@@ -28768,16 +21294,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -28787,7 +21313,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -28804,7 +21330,7 @@ PARTITION partc VALUES LESS THAN (10),
PARTITION partd 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;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -28818,6 +21344,10 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `uidx1` (`f_int1`,`f_int2`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int2) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
# check MIN/MAX(f_int1) success: 1
@@ -29255,16 +21785,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -29274,7 +21804,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -29295,7 +21825,7 @@ PARTITION part4 VALUES LESS THAN (2147483646)
(SUBPARTITION subpart41, SUBPARTITION subpart42));
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -29309,6 +21839,10 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `uidx1` (`f_int1`,`f_int2`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int2) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
# check MIN/MAX(f_int1) success: 1
@@ -29746,16 +22280,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -29765,7 +22299,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -29786,7 +22320,7 @@ PARTITION part4 VALUES IN (NULL)
(SUBPARTITION sp41, SUBPARTITION sp42));
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -29800,6 +22334,10 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `uidx1` (`f_int1`,`f_int2`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int2 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
# check MIN/MAX(f_int1) success: 1
@@ -30239,16 +22777,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -30258,7 +22796,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -30271,11 +22809,11 @@ f_charbig VARCHAR(1000)
PARTITION BY LIST(ABS(MOD(f_int1,2)))
SUBPARTITION BY KEY(f_int2) SUBPARTITIONS 3
(PARTITION part1 VALUES IN (0),
- PARTITION part2 VALUES IN (1),
- PARTITION part3 VALUES IN (NULL));
+PARTITION part2 VALUES IN (1),
+PARTITION part3 VALUES IN (NULL));
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -30289,6 +22827,10 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `uidx1` (`f_int1`,`f_int2`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int2) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
# check MIN/MAX(f_int1) success: 1
@@ -30728,16 +23270,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -30747,7 +23289,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
@@ -30761,7 +23303,7 @@ f_charbig VARCHAR(1000)
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;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -30775,6 +23317,10 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `uidx1` (`f_int2`,`f_int1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1 + f_int2) PARTITIONS 2 */
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
# check MIN/MAX(f_int1) success: 1
@@ -31214,16 +23760,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -31233,7 +23779,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -31246,7 +23792,7 @@ f_charbig VARCHAR(1000)
PARTITION BY KEY(f_int1,f_int2) PARTITIONS 5;
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -31260,6 +23806,10 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `uidx1` (`f_int2`,`f_int1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1,f_int2) PARTITIONS 5 */
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
# check MIN/MAX(f_int1) success: 1
@@ -31699,16 +24249,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -31718,7 +24268,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -31739,7 +24289,7 @@ PARTITION part2 VALUES IN (2),
PARTITION part3 VALUES IN (3));
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -31753,6 +24303,10 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `uidx1` (`f_int2`,`f_int1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
# check MIN/MAX(f_int1) success: 1
@@ -32192,16 +24746,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -32211,7 +24765,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -32230,7 +24784,7 @@ PARTITION parte VALUES LESS THAN (20),
PARTITION partf 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;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -32244,6 +24798,10 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `uidx1` (`f_int2`,`f_int1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
# check MIN/MAX(f_int1) success: 1
@@ -32681,16 +25239,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -32700,7 +25258,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -32717,7 +25275,7 @@ PARTITION partc VALUES LESS THAN (10),
PARTITION partd 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;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -32731,6 +25289,10 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `uidx1` (`f_int2`,`f_int1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int2) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
# check MIN/MAX(f_int1) success: 1
@@ -33168,16 +25730,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -33187,7 +25749,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -33208,7 +25770,7 @@ PARTITION part4 VALUES LESS THAN (2147483646)
(SUBPARTITION subpart41, SUBPARTITION subpart42));
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -33222,6 +25784,10 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `uidx1` (`f_int2`,`f_int1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int2) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
# check MIN/MAX(f_int1) success: 1
@@ -33659,16 +26225,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -33678,7 +26244,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -33699,7 +26265,7 @@ PARTITION part4 VALUES IN (NULL)
(SUBPARTITION sp41, SUBPARTITION sp42));
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -33713,6 +26279,10 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `uidx1` (`f_int2`,`f_int1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int2 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
# check MIN/MAX(f_int1) success: 1
@@ -34152,16 +26722,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -34171,7 +26741,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -34184,11 +26754,11 @@ f_charbig VARCHAR(1000)
PARTITION BY LIST(ABS(MOD(f_int1,2)))
SUBPARTITION BY KEY(f_int2) SUBPARTITIONS 3
(PARTITION part1 VALUES IN (0),
- PARTITION part2 VALUES IN (1),
- PARTITION part3 VALUES IN (NULL));
+PARTITION part2 VALUES IN (1),
+PARTITION part3 VALUES IN (NULL));
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -34202,6 +26772,10 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `uidx1` (`f_int2`,`f_int1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int2) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
# check MIN/MAX(f_int1) success: 1
@@ -34641,16 +27215,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -34660,7 +27234,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
@@ -34674,7 +27248,7 @@ f_charbig VARCHAR(1000)
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;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -34688,6 +27262,10 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `uidx2` (`f_int2`,`f_int1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1 + f_int2) PARTITIONS 2 */
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
# check MIN/MAX(f_int1) success: 1
@@ -35143,16 +27721,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -35162,7 +27740,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -35175,7 +27753,7 @@ f_charbig VARCHAR(1000)
PARTITION BY KEY(f_int1,f_int2) PARTITIONS 5;
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -35189,6 +27767,10 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `uidx2` (`f_int2`,`f_int1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1,f_int2) PARTITIONS 5 */
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
# check MIN/MAX(f_int1) success: 1
@@ -35644,16 +28226,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -35663,7 +28245,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -35684,7 +28266,7 @@ PARTITION part2 VALUES IN (2),
PARTITION part3 VALUES IN (3));
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -35698,6 +28280,10 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `uidx2` (`f_int2`,`f_int1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
# check MIN/MAX(f_int1) success: 1
@@ -36153,16 +28739,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -36172,7 +28758,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -36191,7 +28777,7 @@ PARTITION parte VALUES LESS THAN (20),
PARTITION partf 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;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -36205,6 +28791,10 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `uidx2` (`f_int2`,`f_int1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
# check MIN/MAX(f_int1) success: 1
@@ -36658,16 +29248,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -36677,7 +29267,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -36694,7 +29284,7 @@ PARTITION partc VALUES LESS THAN (10),
PARTITION partd 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;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -36708,6 +29298,10 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `uidx2` (`f_int2`,`f_int1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int2) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
# check MIN/MAX(f_int1) success: 1
@@ -37161,16 +29755,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -37180,7 +29774,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -37201,7 +29795,7 @@ PARTITION part4 VALUES LESS THAN (2147483646)
(SUBPARTITION subpart41, SUBPARTITION subpart42));
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -37215,6 +29809,10 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `uidx2` (`f_int2`,`f_int1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int2) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
# check MIN/MAX(f_int1) success: 1
@@ -37668,16 +30266,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -37687,7 +30285,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -37708,7 +30306,7 @@ PARTITION part4 VALUES IN (NULL)
(SUBPARTITION sp41, SUBPARTITION sp42));
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -37722,6 +30320,10 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `uidx2` (`f_int2`,`f_int1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int2 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
# check MIN/MAX(f_int1) success: 1
@@ -38177,16 +30779,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -38196,7 +30798,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -38209,11 +30811,11 @@ f_charbig VARCHAR(1000)
PARTITION BY LIST(ABS(MOD(f_int1,2)))
SUBPARTITION BY KEY(f_int2) SUBPARTITIONS 3
(PARTITION part1 VALUES IN (0),
- PARTITION part2 VALUES IN (1),
- PARTITION part3 VALUES IN (NULL));
+PARTITION part2 VALUES IN (1),
+PARTITION part3 VALUES IN (NULL));
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -38227,6 +30829,10 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `uidx2` (`f_int2`,`f_int1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int2) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+
# check prerequisites-1 success: 1
# check COUNT(*) success: 1
# check MIN/MAX(f_int1) success: 1
@@ -38682,16 +31288,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -38701,7 +31307,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
DROP VIEW IF EXISTS v1;
DROP TABLE IF EXISTS t1;
diff --git a/mysql-test/suite/parts/r/partition_basic_myisam.result b/mysql-test/suite/parts/r/partition_basic_myisam.result
index 3a4a1c0d571..4d1f160eace 100644
--- a/mysql-test/suite/parts/r/partition_basic_myisam.result
+++ b/mysql-test/suite/parts/r/partition_basic_myisam.result
@@ -2,14 +2,6 @@ SET @max_row = 20;
SET @@session.storage_engine = 'MyISAM';
#------------------------------------------------------------------------
-# There are several testcases disabled because of the open bugs
-# #15890
-# 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
#------------------------------------------------------------------------
@@ -31,7 +23,7 @@ DROP TABLE IF EXISTS t0_definition;
CREATE TABLE t0_definition (
state CHAR(3),
create_command VARBINARY(5000),
-file_list VARBINARY(5000),
+file_list VARBINARY(10000),
PRIMARY KEY (state)
) ENGINE = MEMORY;
DROP TABLE IF EXISTS t0_aux;
@@ -70,7 +62,7 @@ f_charbig VARCHAR(1000)
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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -496,28 +488,39 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
-# Start usability test (include/partition_check.inc)
+CREATE TABLE t1 (
+f_int1 INTEGER,
+f_int2 INTEGER,
+f_char1 CHAR(20),
+f_char2 CHAR(20),
+f_charbig VARCHAR(1000)
+
+)
+PARTITION BY KEY(f_int1) PARTITIONS 5;
+INSERT INTO t1(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
@@ -949,28 +952,47 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
-# Start usability test (include/partition_check.inc)
+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,4))
+(PARTITION part_3 VALUES IN (-3),
+PARTITION part_2 VALUES IN (-2),
+PARTITION part_1 VALUES IN (-1),
+PARTITION part_N VALUES IN (NULL),
+PARTITION part0 VALUES IN (0),
+PARTITION part1 VALUES IN (1),
+PARTITION part2 VALUES IN (2),
+PARTITION part3 VALUES IN (3));
+INSERT INTO t1(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
@@ -1408,46 +1430,27 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
-SET @aux = 'PARTITION BY RANGE(f_int1)
-(PARTITION parta VALUES LESS THAN (0)
-
-,
-PARTITION partb VALUES LESS THAN (5)
-
-,
-PARTITION partc VALUES LESS THAN (10)
-
-,
-PARTITION partd VALUES LESS THAN (10 + 5)
-
-,
-PARTITION parte VALUES LESS THAN (20)
-
-,
-PARTITION partf VALUES LESS THAN (2147483646)
-
-)';
CREATE TABLE t1 (
f_int1 INTEGER,
f_int2 INTEGER,
@@ -1457,27 +1460,15 @@ f_charbig VARCHAR(1000)
)
PARTITION BY RANGE(f_int1)
-(PARTITION parta VALUES LESS THAN (0)
-
-,
-PARTITION partb VALUES LESS THAN (5)
-
-,
-PARTITION partc VALUES LESS THAN (10)
-
-,
-PARTITION partd VALUES LESS THAN (10 + 5)
-
-,
-PARTITION parte VALUES LESS THAN (20)
-
-,
-PARTITION partf VALUES LESS THAN (2147483646)
-
-);
+(PARTITION parta VALUES LESS THAN (0),
+PARTITION partb VALUES LESS THAN (5),
+PARTITION partc VALUES LESS THAN (10),
+PARTITION partd VALUES LESS THAN (10 + 5),
+PARTITION parte VALUES LESS THAN (20),
+PARTITION partf 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;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -1909,26 +1900,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -1939,21 +1930,13 @@ f_charbig VARCHAR(1000)
)
PARTITION BY RANGE(f_int1 DIV 2) SUBPARTITION BY HASH(f_int1) SUBPARTITIONS 2
-(PARTITION parta VALUES LESS THAN (0)
-
-,
-PARTITION partb VALUES LESS THAN (5)
-
-,
-PARTITION partc VALUES LESS THAN (10)
-
-,
-PARTITION partd VALUES LESS THAN (2147483646)
-
-);
+(PARTITION parta VALUES LESS THAN (0),
+PARTITION partb VALUES LESS THAN (5),
+PARTITION partc VALUES LESS THAN (10),
+PARTITION partd 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;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -2391,26 +2374,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -2422,24 +2405,16 @@ f_charbig VARCHAR(1000)
)
PARTITION BY RANGE(f_int1) SUBPARTITION BY KEY(f_int1)
(PARTITION part1 VALUES LESS THAN (0)
-
-
(SUBPARTITION subpart11, SUBPARTITION subpart12),
PARTITION part2 VALUES LESS THAN (5)
-
-
(SUBPARTITION subpart21, SUBPARTITION subpart22),
PARTITION part3 VALUES LESS THAN (10)
-
-
(SUBPARTITION subpart31, SUBPARTITION subpart32),
PARTITION part4 VALUES LESS THAN (2147483646)
-
-
(SUBPARTITION subpart41, SUBPARTITION subpart42));
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -2875,26 +2850,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -2906,40 +2881,20 @@ f_charbig VARCHAR(1000)
)
PARTITION BY LIST(ABS(MOD(f_int1,3))) SUBPARTITION BY HASH(f_int1 + 1)
(PARTITION part1 VALUES IN (0)
-
-
- (SUBPARTITION sp11
-
- ,
- SUBPARTITION sp12
-
- ),
- PARTITION part2 VALUES IN (1)
-
-
- (SUBPARTITION sp21
-
- ,
- SUBPARTITION sp22
-
- ),
- PARTITION part3 VALUES IN (2)
-
-
- (SUBPARTITION sp31,
- SUBPARTITION sp32),
- PARTITION part4 VALUES IN (NULL)
-
-
- (SUBPARTITION sp41
-
- ,
- SUBPARTITION sp42
-
- ));
+(SUBPARTITION sp11,
+SUBPARTITION sp12),
+PARTITION part2 VALUES IN (1)
+(SUBPARTITION sp21,
+SUBPARTITION sp22),
+PARTITION part3 VALUES IN (2)
+(SUBPARTITION sp31,
+SUBPARTITION sp32),
+PARTITION part4 VALUES IN (NULL)
+(SUBPARTITION sp41,
+SUBPARTITION sp42));
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -3377,26 +3332,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -3408,18 +3363,12 @@ f_charbig VARCHAR(1000)
)
PARTITION BY LIST(ABS(MOD(f_int1,2)))
SUBPARTITION BY KEY(f_int1) SUBPARTITIONS 3
-(PARTITION part1 VALUES IN (0)
-
- ,
- PARTITION part2 VALUES IN (1)
-
- ,
- PARTITION part3 VALUES IN (NULL)
-
- );
+(PARTITION part1 VALUES IN (0),
+PARTITION part2 VALUES IN (1),
+PARTITION part3 VALUES IN (NULL));
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -3859,7556 +3808,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
-DROP TABLE t1;
-# 1.1.1 with DATA DIECTORY/INDEX DIRECTORY
-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 p1
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION p2
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index');
-INSERT INTO t1(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 (include/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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY HASH (f_int1) (PARTITION p1 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION p2 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM) */
-
-unified filelist
-$MYSQLTEST_VARDIR/master-data/test/t1#P#p1.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#p1.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#p2.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#p2.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1.frm
-$MYSQLTEST_VARDIR/master-data/test/t1.par
-$MYSQLTEST_VARDIR/master-data/test/data/t1#P#p1.MYD
-$MYSQLTEST_VARDIR/master-data/test/data/t1#P#p2.MYD
-$MYSQLTEST_VARDIR/master-data/test/index/t1#P#p1.MYI
-$MYSQLTEST_VARDIR/master-data/test/index/t1#P#p2.MYI
-
-# 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 status OK
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check status OK
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize status OK
-state new
-Table definition 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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY HASH (f_int1) (PARTITION p1 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION p2 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM) */
-File list /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p2.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
-state old
-Table definition 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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY HASH (f_int1) (PARTITION p1 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION p2 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM) */
-File list /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p2.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#p1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#p2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#p1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#p2.MYI
-# check layout success: 0
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair status OK
-state new
-Table definition 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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY HASH (f_int1) (PARTITION p1 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION p2 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM) */
-File list /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p2.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
-state old
-Table definition 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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY HASH (f_int1) (PARTITION p1 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION p2 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM) */
-File list /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p2.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#p1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#p2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#p1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#p2.MYI
-# check layout success: 0
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-state new
-Table definition 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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY HASH (f_int1) (PARTITION p1 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION p2 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM) */
-File list /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p2.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
-state old
-Table definition 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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY HASH (f_int1) (PARTITION p1 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION p2 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM) */
-File list /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p2.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#p1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#p2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#p1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#p2.MYI
-# check layout success: 0
-# End usability test (include/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 HASH(f_int1) PARTITIONS 5
-(PARTITION p1
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION p2
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION p3
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION p4
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION p5
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index');
-INSERT INTO t1(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 (include/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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY HASH (f_int1) (PARTITION p1 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION p2 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION p3 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION p4 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION p5 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM) */
-
-unified filelist
-$MYSQLTEST_VARDIR/master-data/test/t1#P#p1.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#p1.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#p2.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#p2.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#p3.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#p3.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#p4.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#p4.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#p5.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#p5.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1.frm
-$MYSQLTEST_VARDIR/master-data/test/t1.par
-$MYSQLTEST_VARDIR/master-data/test/data/t1#P#p1.MYD
-$MYSQLTEST_VARDIR/master-data/test/data/t1#P#p2.MYD
-$MYSQLTEST_VARDIR/master-data/test/data/t1#P#p3.MYD
-$MYSQLTEST_VARDIR/master-data/test/data/t1#P#p4.MYD
-$MYSQLTEST_VARDIR/master-data/test/data/t1#P#p5.MYD
-$MYSQLTEST_VARDIR/master-data/test/index/t1#P#p1.MYI
-$MYSQLTEST_VARDIR/master-data/test/index/t1#P#p2.MYI
-$MYSQLTEST_VARDIR/master-data/test/index/t1#P#p3.MYI
-$MYSQLTEST_VARDIR/master-data/test/index/t1#P#p4.MYI
-$MYSQLTEST_VARDIR/master-data/test/index/t1#P#p5.MYI
-
-# 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 status OK
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check status OK
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize status OK
-state new
-Table definition 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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY HASH (f_int1) (PARTITION p1 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION p2 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION p3 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION p4 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION p5 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM) */
-File list /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p2.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p3.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p3.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p4.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p4.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p5.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p5.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
-state old
-Table definition 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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY HASH (f_int1) (PARTITION p1 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION p2 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION p3 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION p4 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION p5 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM) */
-File list /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p2.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p3.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p3.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p4.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p4.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p5.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p5.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#p1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#p2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#p3.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#p4.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#p5.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#p1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#p2.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#p3.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#p4.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#p5.MYI
-# check layout success: 0
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair status OK
-state new
-Table definition 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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY HASH (f_int1) (PARTITION p1 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION p2 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION p3 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION p4 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION p5 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM) */
-File list /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p2.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p3.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p3.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p4.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p4.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p5.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p5.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
-state old
-Table definition 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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY HASH (f_int1) (PARTITION p1 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION p2 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION p3 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION p4 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION p5 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM) */
-File list /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p2.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p3.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p3.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p4.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p4.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p5.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p5.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#p1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#p2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#p3.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#p4.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#p5.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#p1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#p2.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#p3.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#p4.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#p5.MYI
-# check layout success: 0
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-state new
-Table definition 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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY HASH (f_int1) (PARTITION p1 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION p2 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION p3 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION p4 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION p5 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM) */
-File list /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p2.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p3.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p3.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p4.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p4.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p5.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p5.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
-state old
-Table definition 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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY HASH (f_int1) (PARTITION p1 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION p2 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION p3 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION p4 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION p5 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM) */
-File list /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p2.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p3.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p3.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p4.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p4.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p5.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#p5.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#p1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#p2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#p3.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#p4.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#p5.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#p1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#p2.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#p3.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#p4.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#p5.MYI
-# check layout success: 0
-# End usability test (include/partition_check.inc)
-DROP TABLE t1;
-# Start usability test (include/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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part0 VALUES IN (0) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part1 VALUES IN (1) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part2 VALUES IN (2) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part3 VALUES IN (3) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM) */
-
-unified filelist
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part0.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part0.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part2.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part2.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part3.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part3.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part_1.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part_1.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part_2.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part_2.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part_3.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part_3.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part_N.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part_N.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1.frm
-$MYSQLTEST_VARDIR/master-data/test/t1.par
-$MYSQLTEST_VARDIR/master-data/test/data/t1#P#part0.MYD
-$MYSQLTEST_VARDIR/master-data/test/data/t1#P#part1.MYD
-$MYSQLTEST_VARDIR/master-data/test/data/t1#P#part2.MYD
-$MYSQLTEST_VARDIR/master-data/test/data/t1#P#part3.MYD
-$MYSQLTEST_VARDIR/master-data/test/data/t1#P#part_1.MYD
-$MYSQLTEST_VARDIR/master-data/test/data/t1#P#part_2.MYD
-$MYSQLTEST_VARDIR/master-data/test/data/t1#P#part_3.MYD
-$MYSQLTEST_VARDIR/master-data/test/data/t1#P#part_N.MYD
-$MYSQLTEST_VARDIR/master-data/test/index/t1#P#part0.MYI
-$MYSQLTEST_VARDIR/master-data/test/index/t1#P#part1.MYI
-$MYSQLTEST_VARDIR/master-data/test/index/t1#P#part2.MYI
-$MYSQLTEST_VARDIR/master-data/test/index/t1#P#part3.MYI
-$MYSQLTEST_VARDIR/master-data/test/index/t1#P#part_1.MYI
-$MYSQLTEST_VARDIR/master-data/test/index/t1#P#part_2.MYI
-$MYSQLTEST_VARDIR/master-data/test/index/t1#P#part_3.MYI
-$MYSQLTEST_VARDIR/master-data/test/index/t1#P#part_N.MYI
-
-# 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 status OK
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check status OK
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize status OK
-state new
-Table definition 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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part0 VALUES IN (0) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part1 VALUES IN (1) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part2 VALUES IN (2) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part3 VALUES IN (3) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM) */
-File list /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part_1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part_1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part_2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part_2.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part_3.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part_3.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part_N.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part_N.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
-state old
-Table definition 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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part0 VALUES IN (0) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part1 VALUES IN (1) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part2 VALUES IN (2) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part3 VALUES IN (3) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM) */
-File list /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part_1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part_1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part_2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part_2.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part_3.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part_3.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part_N.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part_N.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part3.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part_1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part_2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part_3.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part_N.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part2.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part3.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part_1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part_2.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part_3.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part_N.MYI
-# check layout success: 0
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair status OK
-state new
-Table definition 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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part0 VALUES IN (0) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part1 VALUES IN (1) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part2 VALUES IN (2) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part3 VALUES IN (3) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM) */
-File list /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part_1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part_1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part_2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part_2.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part_3.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part_3.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part_N.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part_N.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
-state old
-Table definition 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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part0 VALUES IN (0) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part1 VALUES IN (1) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part2 VALUES IN (2) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part3 VALUES IN (3) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM) */
-File list /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part_1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part_1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part_2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part_2.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part_3.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part_3.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part_N.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part_N.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part3.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part_1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part_2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part_3.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part_N.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part2.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part3.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part_1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part_2.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part_3.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part_N.MYI
-# check layout success: 0
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-state new
-Table definition 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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part0 VALUES IN (0) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part1 VALUES IN (1) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part2 VALUES IN (2) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part3 VALUES IN (3) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM) */
-File list /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part_1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part_1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part_2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part_2.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part_3.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part_3.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part_N.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part_N.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
-state old
-Table definition 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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part0 VALUES IN (0) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part1 VALUES IN (1) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part2 VALUES IN (2) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part3 VALUES IN (3) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM) */
-File list /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part_1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part_1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part_2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part_2.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part_3.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part_3.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part_N.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part_N.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part3.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part_1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part_2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part_3.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part_N.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part2.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part3.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part_1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part_2.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part_3.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part_N.MYI
-# check layout success: 0
-# End usability test (include/partition_check.inc)
-DROP TABLE t1;
-SET @aux = 'PARTITION BY RANGE(f_int1)
-(PARTITION parta VALUES LESS THAN (0)
-DATA DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data''
-INDEX DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'',
-PARTITION partb VALUES LESS THAN (5)
-DATA DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data''
-INDEX DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'',
-PARTITION partc VALUES LESS THAN (10)
-DATA DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data''
-INDEX DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'',
-PARTITION partd VALUES LESS THAN (10 + 5)
-DATA DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data''
-INDEX DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'',
-PARTITION parte VALUES LESS THAN (20)
-DATA DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data''
-INDEX DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'',
-PARTITION partf VALUES LESS THAN (2147483646)
-DATA DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data''
-INDEX DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'')';
-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 parta VALUES LESS THAN (0)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION partb VALUES LESS THAN (5)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION partc VALUES LESS THAN (10)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION partd VALUES LESS THAN (10 + 5)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION parte VALUES LESS THAN (20)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION partf VALUES LESS THAN (2147483646)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index');
-INSERT INTO t1(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 (include/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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (15) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION parte VALUES LESS THAN (20) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partf VALUES LESS THAN (2147483646) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM) */
-
-unified filelist
-$MYSQLTEST_VARDIR/master-data/test/t1#P#parta.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#parta.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#partb.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#partb.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#partc.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#partc.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#partd.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#partd.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#parte.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#parte.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#partf.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#partf.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1.frm
-$MYSQLTEST_VARDIR/master-data/test/t1.par
-$MYSQLTEST_VARDIR/master-data/test/data/t1#P#parta.MYD
-$MYSQLTEST_VARDIR/master-data/test/data/t1#P#partb.MYD
-$MYSQLTEST_VARDIR/master-data/test/data/t1#P#partc.MYD
-$MYSQLTEST_VARDIR/master-data/test/data/t1#P#partd.MYD
-$MYSQLTEST_VARDIR/master-data/test/data/t1#P#parte.MYD
-$MYSQLTEST_VARDIR/master-data/test/data/t1#P#partf.MYD
-$MYSQLTEST_VARDIR/master-data/test/index/t1#P#parta.MYI
-$MYSQLTEST_VARDIR/master-data/test/index/t1#P#partb.MYI
-$MYSQLTEST_VARDIR/master-data/test/index/t1#P#partc.MYI
-$MYSQLTEST_VARDIR/master-data/test/index/t1#P#partd.MYI
-$MYSQLTEST_VARDIR/master-data/test/index/t1#P#parte.MYI
-$MYSQLTEST_VARDIR/master-data/test/index/t1#P#partf.MYI
-
-# 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;
-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 status OK
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check status OK
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize status OK
-state new
-Table definition 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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (15) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION parte VALUES LESS THAN (20) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partf VALUES LESS THAN (2147483646) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM) */
-File list /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#parta.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#parta.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partb.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partb.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partc.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partc.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partd.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partd.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#parte.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#parte.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partf.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partf.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
-state old
-Table definition 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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (15) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION parte VALUES LESS THAN (20) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partf VALUES LESS THAN (2147483646) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM) */
-File list /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#parta.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#parta.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partb.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partb.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partc.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partc.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partd.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partd.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#parte.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#parte.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partf.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partf.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#parta.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#partb.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#partc.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#partd.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#parte.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#partf.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#parta.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#partb.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#partc.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#partd.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#parte.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#partf.MYI
-# check layout success: 0
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair status OK
-state new
-Table definition 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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (15) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION parte VALUES LESS THAN (20) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partf VALUES LESS THAN (2147483646) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM) */
-File list /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#parta.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#parta.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partb.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partb.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partc.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partc.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partd.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partd.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#parte.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#parte.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partf.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partf.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
-state old
-Table definition 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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (15) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION parte VALUES LESS THAN (20) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partf VALUES LESS THAN (2147483646) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM) */
-File list /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#parta.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#parta.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partb.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partb.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partc.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partc.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partd.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partd.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#parte.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#parte.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partf.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partf.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#parta.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#partb.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#partc.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#partd.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#parte.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#partf.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#parta.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#partb.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#partc.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#partd.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#parte.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#partf.MYI
-# check layout success: 0
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-state new
-Table definition 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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (15) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION parte VALUES LESS THAN (20) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partf VALUES LESS THAN (2147483646) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM) */
-File list /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#parta.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#parta.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partb.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partb.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partc.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partc.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partd.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partd.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#parte.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#parte.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partf.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partf.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
-state old
-Table definition 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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (15) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION parte VALUES LESS THAN (20) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partf VALUES LESS THAN (2147483646) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM) */
-File list /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#parta.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#parta.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partb.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partb.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partc.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partc.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partd.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partd.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#parte.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#parte.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partf.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partf.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#parta.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#partb.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#partc.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#partd.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#parte.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#partf.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#parta.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#partb.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#partc.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#partd.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#parte.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#partf.MYI
-# check layout success: 0
-# End usability test (include/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 DIV 2) SUBPARTITION BY HASH(f_int1) SUBPARTITIONS 2
-(PARTITION parta VALUES LESS THAN (0)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION partb VALUES LESS THAN (5)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION partc VALUES LESS THAN (10)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION partd VALUES LESS THAN (2147483646)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index');
-INSERT INTO t1(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 (include/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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (2147483646) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM) */
-
-unified filelist
-$MYSQLTEST_VARDIR/master-data/test/t1#P#parta#SP#partasp0.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#parta#SP#partasp0.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#parta#SP#partasp1.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#parta#SP#partasp1.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#partb#SP#partbsp0.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#partb#SP#partbsp0.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#partb#SP#partbsp1.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#partb#SP#partbsp1.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#partc#SP#partcsp0.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#partc#SP#partcsp0.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#partc#SP#partcsp1.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#partc#SP#partcsp1.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#partd#SP#partdsp0.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#partd#SP#partdsp0.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#partd#SP#partdsp1.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#partd#SP#partdsp1.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1.frm
-$MYSQLTEST_VARDIR/master-data/test/t1.par
-$MYSQLTEST_VARDIR/master-data/test/data/t1#P#parta#SP#partasp0.MYD
-$MYSQLTEST_VARDIR/master-data/test/data/t1#P#parta#SP#partasp1.MYD
-$MYSQLTEST_VARDIR/master-data/test/data/t1#P#partb#SP#partbsp0.MYD
-$MYSQLTEST_VARDIR/master-data/test/data/t1#P#partb#SP#partbsp1.MYD
-$MYSQLTEST_VARDIR/master-data/test/data/t1#P#partc#SP#partcsp0.MYD
-$MYSQLTEST_VARDIR/master-data/test/data/t1#P#partc#SP#partcsp1.MYD
-$MYSQLTEST_VARDIR/master-data/test/data/t1#P#partd#SP#partdsp0.MYD
-$MYSQLTEST_VARDIR/master-data/test/data/t1#P#partd#SP#partdsp1.MYD
-$MYSQLTEST_VARDIR/master-data/test/index/t1#P#parta#SP#partasp0.MYI
-$MYSQLTEST_VARDIR/master-data/test/index/t1#P#parta#SP#partasp1.MYI
-$MYSQLTEST_VARDIR/master-data/test/index/t1#P#partb#SP#partbsp0.MYI
-$MYSQLTEST_VARDIR/master-data/test/index/t1#P#partb#SP#partbsp1.MYI
-$MYSQLTEST_VARDIR/master-data/test/index/t1#P#partc#SP#partcsp0.MYI
-$MYSQLTEST_VARDIR/master-data/test/index/t1#P#partc#SP#partcsp1.MYI
-$MYSQLTEST_VARDIR/master-data/test/index/t1#P#partd#SP#partdsp0.MYI
-$MYSQLTEST_VARDIR/master-data/test/index/t1#P#partd#SP#partdsp1.MYI
-
-# 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 status OK
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check status OK
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize status OK
-state new
-Table definition 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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (2147483646) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM) */
-File list /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#parta#SP#partasp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#parta#SP#partasp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#parta#SP#partasp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#parta#SP#partasp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partb#SP#partbsp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partb#SP#partbsp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partb#SP#partbsp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partb#SP#partbsp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partc#SP#partcsp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partc#SP#partcsp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partc#SP#partcsp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partc#SP#partcsp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partd#SP#partdsp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partd#SP#partdsp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partd#SP#partdsp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partd#SP#partdsp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
-state old
-Table definition 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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (2147483646) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM) */
-File list /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#parta#SP#partasp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#parta#SP#partasp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#parta#SP#partasp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#parta#SP#partasp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partb#SP#partbsp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partb#SP#partbsp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partb#SP#partbsp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partb#SP#partbsp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partc#SP#partcsp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partc#SP#partcsp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partc#SP#partcsp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partc#SP#partcsp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partd#SP#partdsp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partd#SP#partdsp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partd#SP#partdsp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partd#SP#partdsp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#parta#SP#partasp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#parta#SP#partasp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#partb#SP#partbsp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#partb#SP#partbsp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#partc#SP#partcsp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#partc#SP#partcsp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#partd#SP#partdsp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#partd#SP#partdsp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#parta#SP#partasp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#parta#SP#partasp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#partb#SP#partbsp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#partb#SP#partbsp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#partc#SP#partcsp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#partc#SP#partcsp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#partd#SP#partdsp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#partd#SP#partdsp1.MYI
-# check layout success: 0
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair status OK
-state new
-Table definition 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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (2147483646) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM) */
-File list /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#parta#SP#partasp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#parta#SP#partasp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#parta#SP#partasp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#parta#SP#partasp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partb#SP#partbsp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partb#SP#partbsp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partb#SP#partbsp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partb#SP#partbsp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partc#SP#partcsp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partc#SP#partcsp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partc#SP#partcsp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partc#SP#partcsp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partd#SP#partdsp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partd#SP#partdsp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partd#SP#partdsp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partd#SP#partdsp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
-state old
-Table definition 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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (2147483646) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM) */
-File list /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#parta#SP#partasp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#parta#SP#partasp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#parta#SP#partasp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#parta#SP#partasp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partb#SP#partbsp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partb#SP#partbsp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partb#SP#partbsp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partb#SP#partbsp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partc#SP#partcsp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partc#SP#partcsp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partc#SP#partcsp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partc#SP#partcsp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partd#SP#partdsp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partd#SP#partdsp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partd#SP#partdsp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partd#SP#partdsp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#parta#SP#partasp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#parta#SP#partasp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#partb#SP#partbsp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#partb#SP#partbsp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#partc#SP#partcsp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#partc#SP#partcsp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#partd#SP#partdsp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#partd#SP#partdsp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#parta#SP#partasp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#parta#SP#partasp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#partb#SP#partbsp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#partb#SP#partbsp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#partc#SP#partcsp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#partc#SP#partcsp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#partd#SP#partdsp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#partd#SP#partdsp1.MYI
-# check layout success: 0
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-state new
-Table definition 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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (2147483646) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM) */
-File list /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#parta#SP#partasp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#parta#SP#partasp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#parta#SP#partasp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#parta#SP#partasp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partb#SP#partbsp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partb#SP#partbsp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partb#SP#partbsp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partb#SP#partbsp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partc#SP#partcsp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partc#SP#partcsp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partc#SP#partcsp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partc#SP#partcsp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partd#SP#partdsp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partd#SP#partdsp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partd#SP#partdsp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partd#SP#partdsp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
-state old
-Table definition 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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (2147483646) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM) */
-File list /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#parta#SP#partasp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#parta#SP#partasp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#parta#SP#partasp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#parta#SP#partasp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partb#SP#partbsp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partb#SP#partbsp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partb#SP#partbsp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partb#SP#partbsp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partc#SP#partcsp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partc#SP#partcsp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partc#SP#partcsp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partc#SP#partcsp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partd#SP#partdsp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partd#SP#partdsp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partd#SP#partdsp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#partd#SP#partdsp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#parta#SP#partasp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#parta#SP#partasp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#partb#SP#partbsp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#partb#SP#partbsp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#partc#SP#partcsp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#partc#SP#partcsp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#partd#SP#partdsp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#partd#SP#partdsp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#parta#SP#partasp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#parta#SP#partasp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#partb#SP#partbsp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#partb#SP#partbsp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#partc#SP#partcsp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#partc#SP#partcsp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#partd#SP#partdsp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#partd#SP#partdsp1.MYI
-# check layout success: 0
-# End usability test (include/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 KEY(f_int1)
-(PARTITION part1 VALUES LESS THAN (0)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'
-(SUBPARTITION subpart11, SUBPARTITION subpart12),
-PARTITION part2 VALUES LESS THAN (5)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'
-(SUBPARTITION subpart21, SUBPARTITION subpart22),
-PARTITION part3 VALUES LESS THAN (10)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'
-(SUBPARTITION subpart31, SUBPARTITION subpart32),
-PARTITION part4 VALUES LESS THAN (2147483646)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'
-(SUBPARTITION subpart41, SUBPARTITION subpart42));
-INSERT INTO t1(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 (include/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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION subpart12 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION subpart22 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION subpart32 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION subpart42 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM)) */
-
-unified filelist
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#subpart11.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#subpart11.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#subpart12.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#subpart12.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#subpart21.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#subpart21.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#subpart22.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#subpart22.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#subpart31.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#subpart31.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#subpart32.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#subpart32.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part4#SP#subpart41.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part4#SP#subpart41.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part4#SP#subpart42.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part4#SP#subpart42.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1.frm
-$MYSQLTEST_VARDIR/master-data/test/t1.par
-$MYSQLTEST_VARDIR/master-data/test/data/t1#P#part1#SP#subpart11.MYD
-$MYSQLTEST_VARDIR/master-data/test/data/t1#P#part1#SP#subpart12.MYD
-$MYSQLTEST_VARDIR/master-data/test/data/t1#P#part2#SP#subpart21.MYD
-$MYSQLTEST_VARDIR/master-data/test/data/t1#P#part2#SP#subpart22.MYD
-$MYSQLTEST_VARDIR/master-data/test/data/t1#P#part3#SP#subpart31.MYD
-$MYSQLTEST_VARDIR/master-data/test/data/t1#P#part3#SP#subpart32.MYD
-$MYSQLTEST_VARDIR/master-data/test/data/t1#P#part4#SP#subpart41.MYD
-$MYSQLTEST_VARDIR/master-data/test/data/t1#P#part4#SP#subpart42.MYD
-$MYSQLTEST_VARDIR/master-data/test/index/t1#P#part1#SP#subpart11.MYI
-$MYSQLTEST_VARDIR/master-data/test/index/t1#P#part1#SP#subpart12.MYI
-$MYSQLTEST_VARDIR/master-data/test/index/t1#P#part2#SP#subpart21.MYI
-$MYSQLTEST_VARDIR/master-data/test/index/t1#P#part2#SP#subpart22.MYI
-$MYSQLTEST_VARDIR/master-data/test/index/t1#P#part3#SP#subpart31.MYI
-$MYSQLTEST_VARDIR/master-data/test/index/t1#P#part3#SP#subpart32.MYI
-$MYSQLTEST_VARDIR/master-data/test/index/t1#P#part4#SP#subpart41.MYI
-$MYSQLTEST_VARDIR/master-data/test/index/t1#P#part4#SP#subpart42.MYI
-
-# 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;
-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 status OK
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check status OK
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize status OK
-state new
-Table definition 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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION subpart12 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION subpart22 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION subpart32 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION subpart42 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM)) */
-File list /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#subpart11.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#subpart11.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#subpart12.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#subpart12.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#subpart21.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#subpart21.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#subpart22.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#subpart22.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#subpart31.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#subpart31.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#subpart32.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#subpart32.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part4#SP#subpart41.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part4#SP#subpart41.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part4#SP#subpart42.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part4#SP#subpart42.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
-state old
-Table definition 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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION subpart12 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION subpart22 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION subpart32 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION subpart42 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM)) */
-File list /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#subpart11.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#subpart11.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#subpart12.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#subpart12.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#subpart21.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#subpart21.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#subpart22.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#subpart22.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#subpart31.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#subpart31.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#subpart32.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#subpart32.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part4#SP#subpart41.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part4#SP#subpart41.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part4#SP#subpart42.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part4#SP#subpart42.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part1#SP#subpart11.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part1#SP#subpart12.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part2#SP#subpart21.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part2#SP#subpart22.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part3#SP#subpart31.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part3#SP#subpart32.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part4#SP#subpart41.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part4#SP#subpart42.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part1#SP#subpart11.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part1#SP#subpart12.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part2#SP#subpart21.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part2#SP#subpart22.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part3#SP#subpart31.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part3#SP#subpart32.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part4#SP#subpart41.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part4#SP#subpart42.MYI
-# check layout success: 0
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair status OK
-state new
-Table definition 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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION subpart12 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION subpart22 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION subpart32 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION subpart42 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM)) */
-File list /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#subpart11.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#subpart11.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#subpart12.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#subpart12.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#subpart21.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#subpart21.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#subpart22.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#subpart22.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#subpart31.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#subpart31.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#subpart32.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#subpart32.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part4#SP#subpart41.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part4#SP#subpart41.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part4#SP#subpart42.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part4#SP#subpart42.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
-state old
-Table definition 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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION subpart12 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION subpart22 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION subpart32 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION subpart42 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM)) */
-File list /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#subpart11.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#subpart11.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#subpart12.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#subpart12.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#subpart21.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#subpart21.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#subpart22.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#subpart22.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#subpart31.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#subpart31.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#subpart32.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#subpart32.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part4#SP#subpart41.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part4#SP#subpart41.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part4#SP#subpart42.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part4#SP#subpart42.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part1#SP#subpart11.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part1#SP#subpart12.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part2#SP#subpart21.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part2#SP#subpart22.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part3#SP#subpart31.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part3#SP#subpart32.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part4#SP#subpart41.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part4#SP#subpart42.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part1#SP#subpart11.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part1#SP#subpart12.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part2#SP#subpart21.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part2#SP#subpart22.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part3#SP#subpart31.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part3#SP#subpart32.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part4#SP#subpart41.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part4#SP#subpart42.MYI
-# check layout success: 0
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-state new
-Table definition 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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION subpart12 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION subpart22 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION subpart32 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION subpart42 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM)) */
-File list /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#subpart11.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#subpart11.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#subpart12.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#subpart12.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#subpart21.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#subpart21.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#subpart22.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#subpart22.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#subpart31.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#subpart31.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#subpart32.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#subpart32.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part4#SP#subpart41.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part4#SP#subpart41.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part4#SP#subpart42.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part4#SP#subpart42.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
-state old
-Table definition 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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION subpart12 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION subpart22 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION subpart32 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION subpart42 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM)) */
-File list /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#subpart11.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#subpart11.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#subpart12.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#subpart12.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#subpart21.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#subpart21.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#subpart22.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#subpart22.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#subpart31.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#subpart31.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#subpart32.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#subpart32.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part4#SP#subpart41.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part4#SP#subpart41.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part4#SP#subpart42.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part4#SP#subpart42.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part1#SP#subpart11.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part1#SP#subpart12.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part2#SP#subpart21.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part2#SP#subpart22.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part3#SP#subpart31.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part3#SP#subpart32.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part4#SP#subpart41.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part4#SP#subpart42.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part1#SP#subpart11.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part1#SP#subpart12.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part2#SP#subpart21.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part2#SP#subpart22.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part3#SP#subpart31.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part3#SP#subpart32.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part4#SP#subpart41.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part4#SP#subpart42.MYI
-# check layout success: 0
-# End usability test (include/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 LIST(ABS(MOD(f_int1,3))) SUBPARTITION BY HASH(f_int1 + 1)
-(PARTITION part1 VALUES IN (0)
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'
- (SUBPARTITION sp11
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
- SUBPARTITION sp12
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'),
- PARTITION part2 VALUES IN (1)
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'
- (SUBPARTITION sp21
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
- SUBPARTITION sp22
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'),
- PARTITION part3 VALUES IN (2)
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'
- (SUBPARTITION sp31,
- SUBPARTITION sp32),
- PARTITION part4 VALUES IN (NULL)
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'
- (SUBPARTITION sp41
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
- SUBPARTITION sp42
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'));
-INSERT INTO t1(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 (include/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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION sp12 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION sp22 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION sp32 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION sp42 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM)) */
-
-unified filelist
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#sp11.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#sp11.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#sp12.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#sp12.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#sp21.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#sp21.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#sp22.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#sp22.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#sp31.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#sp31.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#sp32.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#sp32.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part4#SP#sp41.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part4#SP#sp41.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part4#SP#sp42.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part4#SP#sp42.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1.frm
-$MYSQLTEST_VARDIR/master-data/test/t1.par
-$MYSQLTEST_VARDIR/master-data/test/data/t1#P#part1#SP#sp11.MYD
-$MYSQLTEST_VARDIR/master-data/test/data/t1#P#part1#SP#sp12.MYD
-$MYSQLTEST_VARDIR/master-data/test/data/t1#P#part2#SP#sp21.MYD
-$MYSQLTEST_VARDIR/master-data/test/data/t1#P#part2#SP#sp22.MYD
-$MYSQLTEST_VARDIR/master-data/test/data/t1#P#part3#SP#sp31.MYD
-$MYSQLTEST_VARDIR/master-data/test/data/t1#P#part3#SP#sp32.MYD
-$MYSQLTEST_VARDIR/master-data/test/data/t1#P#part4#SP#sp41.MYD
-$MYSQLTEST_VARDIR/master-data/test/data/t1#P#part4#SP#sp42.MYD
-$MYSQLTEST_VARDIR/master-data/test/index/t1#P#part1#SP#sp11.MYI
-$MYSQLTEST_VARDIR/master-data/test/index/t1#P#part1#SP#sp12.MYI
-$MYSQLTEST_VARDIR/master-data/test/index/t1#P#part2#SP#sp21.MYI
-$MYSQLTEST_VARDIR/master-data/test/index/t1#P#part2#SP#sp22.MYI
-$MYSQLTEST_VARDIR/master-data/test/index/t1#P#part3#SP#sp31.MYI
-$MYSQLTEST_VARDIR/master-data/test/index/t1#P#part3#SP#sp32.MYI
-$MYSQLTEST_VARDIR/master-data/test/index/t1#P#part4#SP#sp41.MYI
-$MYSQLTEST_VARDIR/master-data/test/index/t1#P#part4#SP#sp42.MYI
-
-# 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 status OK
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check status OK
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize status OK
-state new
-Table definition 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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION sp12 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION sp22 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION sp32 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION sp42 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM)) */
-File list /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#sp11.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#sp11.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#sp12.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#sp12.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#sp21.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#sp21.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#sp22.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#sp22.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#sp31.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#sp31.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#sp32.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#sp32.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part4#SP#sp41.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part4#SP#sp41.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part4#SP#sp42.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part4#SP#sp42.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
-state old
-Table definition 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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION sp12 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION sp22 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION sp32 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION sp42 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM)) */
-File list /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#sp11.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#sp11.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#sp12.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#sp12.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#sp21.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#sp21.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#sp22.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#sp22.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#sp31.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#sp31.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#sp32.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#sp32.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part4#SP#sp41.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part4#SP#sp41.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part4#SP#sp42.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part4#SP#sp42.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part1#SP#sp11.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part1#SP#sp12.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part2#SP#sp21.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part2#SP#sp22.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part3#SP#sp31.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part3#SP#sp32.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part4#SP#sp41.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part4#SP#sp42.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part1#SP#sp11.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part1#SP#sp12.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part2#SP#sp21.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part2#SP#sp22.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part3#SP#sp31.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part3#SP#sp32.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part4#SP#sp41.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part4#SP#sp42.MYI
-# check layout success: 0
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair status OK
-state new
-Table definition 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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION sp12 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION sp22 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION sp32 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION sp42 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM)) */
-File list /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#sp11.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#sp11.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#sp12.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#sp12.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#sp21.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#sp21.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#sp22.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#sp22.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#sp31.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#sp31.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#sp32.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#sp32.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part4#SP#sp41.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part4#SP#sp41.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part4#SP#sp42.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part4#SP#sp42.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
-state old
-Table definition 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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION sp12 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION sp22 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION sp32 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION sp42 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM)) */
-File list /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#sp11.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#sp11.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#sp12.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#sp12.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#sp21.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#sp21.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#sp22.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#sp22.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#sp31.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#sp31.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#sp32.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#sp32.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part4#SP#sp41.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part4#SP#sp41.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part4#SP#sp42.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part4#SP#sp42.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part1#SP#sp11.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part1#SP#sp12.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part2#SP#sp21.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part2#SP#sp22.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part3#SP#sp31.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part3#SP#sp32.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part4#SP#sp41.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part4#SP#sp42.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part1#SP#sp11.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part1#SP#sp12.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part2#SP#sp21.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part2#SP#sp22.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part3#SP#sp31.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part3#SP#sp32.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part4#SP#sp41.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part4#SP#sp42.MYI
-# check layout success: 0
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-state new
-Table definition 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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION sp12 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION sp22 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION sp32 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION sp42 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM)) */
-File list /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#sp11.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#sp11.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#sp12.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#sp12.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#sp21.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#sp21.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#sp22.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#sp22.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#sp31.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#sp31.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#sp32.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#sp32.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part4#SP#sp41.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part4#SP#sp41.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part4#SP#sp42.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part4#SP#sp42.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
-state old
-Table definition 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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION sp12 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION sp22 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION sp32 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION sp42 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM)) */
-File list /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#sp11.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#sp11.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#sp12.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#sp12.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#sp21.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#sp21.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#sp22.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#sp22.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#sp31.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#sp31.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#sp32.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#sp32.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part4#SP#sp41.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part4#SP#sp41.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part4#SP#sp42.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part4#SP#sp42.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part1#SP#sp11.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part1#SP#sp12.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part2#SP#sp21.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part2#SP#sp22.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part3#SP#sp31.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part3#SP#sp32.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part4#SP#sp41.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part4#SP#sp42.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part1#SP#sp11.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part1#SP#sp12.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part2#SP#sp21.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part2#SP#sp22.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part3#SP#sp31.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part3#SP#sp32.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part4#SP#sp41.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part4#SP#sp42.MYI
-# check layout success: 0
-# End usability test (include/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 LIST(ABS(MOD(f_int1,2)))
-SUBPARTITION BY KEY(f_int1) SUBPARTITIONS 3
-(PARTITION part1 VALUES IN (0)
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
- PARTITION part2 VALUES IN (1)
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
- PARTITION part3 VALUES IN (NULL)
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index');
-INSERT INTO t1(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 (include/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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part2 VALUES IN (1) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part3 VALUES IN (NULL) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM) */
-
-unified filelist
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#part1sp0.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#part1sp0.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#part1sp1.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#part1sp1.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#part1sp2.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#part1sp2.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#part2sp0.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#part2sp0.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#part2sp1.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#part2sp1.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#part2sp2.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#part2sp2.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#part3sp0.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#part3sp0.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#part3sp1.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#part3sp1.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#part3sp2.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#part3sp2.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1.frm
-$MYSQLTEST_VARDIR/master-data/test/t1.par
-$MYSQLTEST_VARDIR/master-data/test/data/t1#P#part1#SP#part1sp0.MYD
-$MYSQLTEST_VARDIR/master-data/test/data/t1#P#part1#SP#part1sp1.MYD
-$MYSQLTEST_VARDIR/master-data/test/data/t1#P#part1#SP#part1sp2.MYD
-$MYSQLTEST_VARDIR/master-data/test/data/t1#P#part2#SP#part2sp0.MYD
-$MYSQLTEST_VARDIR/master-data/test/data/t1#P#part2#SP#part2sp1.MYD
-$MYSQLTEST_VARDIR/master-data/test/data/t1#P#part2#SP#part2sp2.MYD
-$MYSQLTEST_VARDIR/master-data/test/data/t1#P#part3#SP#part3sp0.MYD
-$MYSQLTEST_VARDIR/master-data/test/data/t1#P#part3#SP#part3sp1.MYD
-$MYSQLTEST_VARDIR/master-data/test/data/t1#P#part3#SP#part3sp2.MYD
-$MYSQLTEST_VARDIR/master-data/test/index/t1#P#part1#SP#part1sp0.MYI
-$MYSQLTEST_VARDIR/master-data/test/index/t1#P#part1#SP#part1sp1.MYI
-$MYSQLTEST_VARDIR/master-data/test/index/t1#P#part1#SP#part1sp2.MYI
-$MYSQLTEST_VARDIR/master-data/test/index/t1#P#part2#SP#part2sp0.MYI
-$MYSQLTEST_VARDIR/master-data/test/index/t1#P#part2#SP#part2sp1.MYI
-$MYSQLTEST_VARDIR/master-data/test/index/t1#P#part2#SP#part2sp2.MYI
-$MYSQLTEST_VARDIR/master-data/test/index/t1#P#part3#SP#part3sp0.MYI
-$MYSQLTEST_VARDIR/master-data/test/index/t1#P#part3#SP#part3sp1.MYI
-$MYSQLTEST_VARDIR/master-data/test/index/t1#P#part3#SP#part3sp2.MYI
-
-# 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 status OK
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check status OK
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize status OK
-state new
-Table definition 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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part2 VALUES IN (1) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part3 VALUES IN (NULL) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM) */
-File list /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#part1sp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#part1sp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#part1sp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#part1sp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#part1sp2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#part1sp2.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#part2sp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#part2sp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#part2sp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#part2sp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#part2sp2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#part2sp2.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#part3sp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#part3sp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#part3sp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#part3sp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#part3sp2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#part3sp2.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
-state old
-Table definition 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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part2 VALUES IN (1) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part3 VALUES IN (NULL) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM) */
-File list /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#part1sp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#part1sp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#part1sp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#part1sp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#part1sp2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#part1sp2.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#part2sp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#part2sp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#part2sp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#part2sp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#part2sp2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#part2sp2.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#part3sp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#part3sp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#part3sp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#part3sp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#part3sp2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#part3sp2.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part1#SP#part1sp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part1#SP#part1sp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part1#SP#part1sp2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part2#SP#part2sp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part2#SP#part2sp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part2#SP#part2sp2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part3#SP#part3sp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part3#SP#part3sp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part3#SP#part3sp2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part1#SP#part1sp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part1#SP#part1sp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part1#SP#part1sp2.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part2#SP#part2sp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part2#SP#part2sp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part2#SP#part2sp2.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part3#SP#part3sp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part3#SP#part3sp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part3#SP#part3sp2.MYI
-# check layout success: 0
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair status OK
-state new
-Table definition 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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part2 VALUES IN (1) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part3 VALUES IN (NULL) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM) */
-File list /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#part1sp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#part1sp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#part1sp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#part1sp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#part1sp2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#part1sp2.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#part2sp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#part2sp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#part2sp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#part2sp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#part2sp2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#part2sp2.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#part3sp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#part3sp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#part3sp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#part3sp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#part3sp2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#part3sp2.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
-state old
-Table definition 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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part2 VALUES IN (1) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part3 VALUES IN (NULL) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM) */
-File list /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#part1sp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#part1sp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#part1sp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#part1sp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#part1sp2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#part1sp2.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#part2sp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#part2sp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#part2sp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#part2sp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#part2sp2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#part2sp2.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#part3sp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#part3sp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#part3sp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#part3sp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#part3sp2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#part3sp2.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part1#SP#part1sp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part1#SP#part1sp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part1#SP#part1sp2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part2#SP#part2sp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part2#SP#part2sp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part2#SP#part2sp2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part3#SP#part3sp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part3#SP#part3sp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part3#SP#part3sp2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part1#SP#part1sp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part1#SP#part1sp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part1#SP#part1sp2.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part2#SP#part2sp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part2#SP#part2sp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part2#SP#part2sp2.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part3#SP#part3sp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part3#SP#part3sp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part3#SP#part3sp2.MYI
-# check layout success: 0
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-state new
-Table definition 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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part2 VALUES IN (1) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part3 VALUES IN (NULL) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM) */
-File list /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#part1sp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#part1sp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#part1sp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#part1sp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#part1sp2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#part1sp2.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#part2sp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#part2sp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#part2sp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#part2sp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#part2sp2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#part2sp2.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#part3sp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#part3sp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#part3sp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#part3sp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#part3sp2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#part3sp2.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par
-state old
-Table definition 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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part2 VALUES IN (1) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part3 VALUES IN (NULL) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM) */
-File list /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#part1sp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#part1sp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#part1sp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#part1sp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#part1sp2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part1#SP#part1sp2.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#part2sp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#part2sp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#part2sp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#part2sp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#part2sp2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part2#SP#part2sp2.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#part3sp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#part3sp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#part3sp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#part3sp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#part3sp2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1#P#part3#SP#part3sp2.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.frm /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/t1.par /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part1#SP#part1sp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part1#SP#part1sp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part1#SP#part1sp2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part2#SP#part2sp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part2#SP#part2sp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part2#SP#part2sp2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part3#SP#part3sp0.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part3#SP#part3sp1.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/t1#P#part3#SP#part3sp2.MYD /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part1#SP#part1sp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part1#SP#part1sp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part1#SP#part1sp2.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part2#SP#part2sp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part2#SP#part2sp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part2#SP#part2sp2.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part3#SP#part3sp0.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part3#SP#part3sp1.MYI /data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/t1#P#part3#SP#part3sp2.MYI
-# check layout success: 0
-# End usability test (include/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)
-
-)
-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 (include/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=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */
-
-unified filelist
-$MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#p1.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#p1.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1.frm
-$MYSQLTEST_VARDIR/master-data/test/t1.par
-
-# 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 status OK
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check status OK
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize status OK
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair status OK
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (include/partition_check.inc)
-DROP TABLE t1;
-# Start usability test (include/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=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) PARTITIONS 5 */
-
-unified filelist
-$MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#p1.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#p1.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#p2.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#p2.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#p3.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#p3.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#p4.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#p4.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1.frm
-$MYSQLTEST_VARDIR/master-data/test/t1.par
-
-# 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 status OK
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check status OK
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize status OK
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair status OK
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (include/partition_check.inc)
-DROP TABLE t1;
-# Start usability test (include/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=MyISAM DEFAULT CHARSET=latin1 INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' ENGINE = MyISAM, PARTITION part0 VALUES IN (0) INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part1 VALUES IN (1) ENGINE = MyISAM, PARTITION part2 VALUES IN (2) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' ENGINE = MyISAM, PARTITION part3 VALUES IN (3) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM) */
-
-unified filelist
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part0.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part0.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part2.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part2.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part3.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part3.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part_1.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part_1.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part_2.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part_2.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part_3.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part_3.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part_N.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part_N.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1.frm
-$MYSQLTEST_VARDIR/master-data/test/t1.par
-
-# 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 status OK
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check status OK
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize status OK
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair status OK
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (include/partition_check.inc)
-DROP TABLE t1;
-SET @aux = 'PARTITION BY RANGE(f_int1)
-(PARTITION parta VALUES LESS THAN (0)
-INDEX DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'',
-PARTITION partb VALUES LESS THAN (5)
-DATA DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'',
-PARTITION partc VALUES LESS THAN (10)
-DATA DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data''
-INDEX DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'',
-PARTITION partd VALUES LESS THAN (10 + 5),
-PARTITION parte VALUES LESS THAN (20)
-DATA DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'',
-PARTITION partf VALUES LESS THAN (2147483646)
-INDEX DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'')';
-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 parta VALUES LESS THAN (0)
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION partb VALUES LESS THAN (5)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data',
-PARTITION partc VALUES LESS THAN (10)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION partd VALUES LESS THAN (10 + 5),
-PARTITION parte VALUES LESS THAN (20)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data',
-PARTITION partf VALUES LESS THAN (2147483646)
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index');
-INSERT INTO t1(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 (include/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=MyISAM DEFAULT CHARSET=latin1 INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, PARTITION parte VALUES LESS THAN (20) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' ENGINE = MyISAM, PARTITION partf VALUES LESS THAN (2147483646) INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM) */
-
-unified filelist
-$MYSQLTEST_VARDIR/master-data/test/t1#P#parta.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#parta.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#partb.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#partb.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#partc.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#partc.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#partd.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#partd.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#parte.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#parte.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#partf.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#partf.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1.frm
-$MYSQLTEST_VARDIR/master-data/test/t1.par
-
-# 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;
-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 status OK
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check status OK
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize status OK
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair status OK
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (include/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 DIV 2) SUBPARTITION BY HASH(f_int1) SUBPARTITIONS 2
-(PARTITION parta VALUES LESS THAN (0)
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION partb VALUES LESS THAN (5)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data',
-PARTITION partc VALUES LESS THAN (10),
-PARTITION partd VALUES LESS THAN (2147483646)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index');
-INSERT INTO t1(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 (include/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=MyISAM DEFAULT CHARSET=latin1 INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (2147483646) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM) */
-
-unified filelist
-$MYSQLTEST_VARDIR/master-data/test/t1#P#parta#SP#partasp0.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#parta#SP#partasp0.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#parta#SP#partasp1.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#parta#SP#partasp1.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#partb#SP#partbsp0.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#partb#SP#partbsp0.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#partb#SP#partbsp1.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#partb#SP#partbsp1.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#partc#SP#partcsp0.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#partc#SP#partcsp0.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#partc#SP#partcsp1.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#partc#SP#partcsp1.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#partd#SP#partdsp0.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#partd#SP#partdsp0.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#partd#SP#partdsp1.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#partd#SP#partdsp1.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1.frm
-$MYSQLTEST_VARDIR/master-data/test/t1.par
-
-# 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 status OK
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check status OK
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize status OK
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair status OK
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (include/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 KEY(f_int1)
-(PARTITION part1 VALUES LESS THAN (0)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-(SUBPARTITION subpart11, SUBPARTITION subpart12),
-PARTITION part2 VALUES LESS THAN (5)
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'
-(SUBPARTITION subpart21, SUBPARTITION subpart22),
-PARTITION part3 VALUES LESS THAN (10)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'
-(SUBPARTITION subpart31, SUBPARTITION subpart32),
-PARTITION part4 VALUES LESS THAN (2147483646)
-(SUBPARTITION subpart41, SUBPARTITION subpart42));
-INSERT INTO t1(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 (include/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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' ENGINE = MyISAM, SUBPARTITION subpart12 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION subpart22 INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION subpart32 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = MyISAM, SUBPARTITION subpart42 ENGINE = MyISAM)) */
-
-unified filelist
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#subpart11.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#subpart11.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#subpart12.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#subpart12.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#subpart21.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#subpart21.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#subpart22.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#subpart22.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#subpart31.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#subpart31.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#subpart32.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#subpart32.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part4#SP#subpart41.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part4#SP#subpart41.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part4#SP#subpart42.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part4#SP#subpart42.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1.frm
-$MYSQLTEST_VARDIR/master-data/test/t1.par
-
-# 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;
-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 status OK
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check status OK
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize status OK
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair status OK
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (include/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 LIST(ABS(MOD(f_int1,3))) SUBPARTITION BY HASH(f_int1 + 1)
-(PARTITION part1 VALUES IN (0)
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'
- (SUBPARTITION sp11
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data',
- SUBPARTITION sp12
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'),
- PARTITION part2 VALUES IN (1)
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- (SUBPARTITION sp21
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data',
- SUBPARTITION sp22
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'),
- PARTITION part3 VALUES IN (2)
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'
- (SUBPARTITION sp31,
- SUBPARTITION sp32),
- PARTITION part4 VALUES IN (NULL)
- (SUBPARTITION sp41
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
- SUBPARTITION sp42
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'));
-INSERT INTO t1(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 (include/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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION sp12 INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' ENGINE = MyISAM, SUBPARTITION sp22 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION sp32 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION sp42 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM)) */
-
-unified filelist
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#sp11.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#sp11.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#sp12.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#sp12.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#sp21.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#sp21.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#sp22.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#sp22.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#sp31.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#sp31.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#sp32.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#sp32.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part4#SP#sp41.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part4#SP#sp41.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part4#SP#sp42.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part4#SP#sp42.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1.frm
-$MYSQLTEST_VARDIR/master-data/test/t1.par
-
-# 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 status OK
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check status OK
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize status OK
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair status OK
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
# 1.2 The partitioning function contains two columns.
DROP TABLE IF EXISTS t1;
@@ -11423,7 +3842,7 @@ f_charbig VARCHAR(1000)
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;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -11849,26 +4268,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -11881,7 +4300,7 @@ f_charbig VARCHAR(1000)
PARTITION BY KEY(f_int1,f_int2) PARTITIONS 5;
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -12313,26 +4732,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -12353,7 +4772,7 @@ PARTITION part2 VALUES IN (2),
PARTITION part3 VALUES IN (3));
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -12791,26 +5210,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -12829,7 +5248,7 @@ PARTITION parte VALUES LESS THAN (20),
PARTITION partf 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;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -13261,26 +5680,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -13297,7 +5716,7 @@ PARTITION partc VALUES LESS THAN (10),
PARTITION partd 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;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -13733,26 +6152,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -13773,7 +6192,7 @@ PARTITION part4 VALUES LESS THAN (2147483646)
(SUBPARTITION subpart41, SUBPARTITION subpart42));
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -14209,26 +6628,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -14249,7 +6668,7 @@ PARTITION part4 VALUES IN (NULL)
(SUBPARTITION sp41, SUBPARTITION sp42));
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -14687,26 +7106,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -14719,11 +7138,11 @@ f_charbig VARCHAR(1000)
PARTITION BY LIST(ABS(MOD(f_int1,2)))
SUBPARTITION BY KEY(f_int2) SUBPARTITIONS 3
(PARTITION part1 VALUES IN (0),
- PARTITION part2 VALUES IN (1),
- PARTITION part3 VALUES IN (NULL));
+PARTITION part2 VALUES IN (1),
+PARTITION part3 VALUES IN (NULL));
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -15163,26 +7582,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
#------------------------------------------------------------------------
# 2 Tables with PRIMARY KEY and/or UNIQUE INDEXes
@@ -15201,7 +7620,7 @@ f_charbig VARCHAR(1000)
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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -15680,28 +8099,39 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
-# Start usability test (include/partition_check.inc)
+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)
+)
+PARTITION BY KEY(f_int1) PARTITIONS 5;
+INSERT INTO t1(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
@@ -16186,28 +8616,47 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
-# Start usability test (include/partition_check.inc)
+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)
+)
+PARTITION BY LIST(MOD(f_int1,4))
+(PARTITION part_3 VALUES IN (-3),
+PARTITION part_2 VALUES IN (-2),
+PARTITION part_1 VALUES IN (-1),
+PARTITION part_N VALUES IN (NULL),
+PARTITION part0 VALUES IN (0),
+PARTITION part1 VALUES IN (1),
+PARTITION part2 VALUES IN (2),
+PARTITION part3 VALUES IN (3));
+INSERT INTO t1(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
@@ -16219,7 +8668,7 @@ t1 CREATE TABLE `t1` (
`f_charbig` varchar(1000) DEFAULT NULL,
UNIQUE KEY `uidx1` (`f_int1`,`f_int2`),
UNIQUE KEY `uidx2` (`f_int2`,`f_int1`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part0 VALUES IN (0) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part1 VALUES IN (1) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part2 VALUES IN (2) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part3 VALUES IN (3) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM) */
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, PARTITION part0 VALUES IN (0) ENGINE = MyISAM, PARTITION part1 VALUES IN (1) ENGINE = MyISAM, PARTITION part2 VALUES IN (2) ENGINE = MyISAM, PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */
unified filelist
$MYSQLTEST_VARDIR/master-data/test/t1#P#part0.MYD
@@ -16698,58 +9147,27 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
-SET @aux = 'PARTITION BY RANGE(f_int1)
-(PARTITION parta VALUES LESS THAN (0)
-DATA DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data''
-INDEX DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'',
-PARTITION partb VALUES LESS THAN (5)
-DATA DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data''
-INDEX DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'',
-PARTITION partc VALUES LESS THAN (10)
-DATA DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data''
-INDEX DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'',
-PARTITION partd VALUES LESS THAN (10 + 5)
-DATA DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data''
-INDEX DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'',
-PARTITION parte VALUES LESS THAN (20)
-DATA DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data''
-INDEX DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'',
-PARTITION partf VALUES LESS THAN (2147483646)
-DATA DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data''
-INDEX DIRECTORY =
- ''/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'')';
CREATE TABLE t1 (
f_int1 INTEGER,
f_int2 INTEGER,
@@ -16759,39 +9177,15 @@ f_charbig VARCHAR(1000)
, UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1)
)
PARTITION BY RANGE(f_int1)
-(PARTITION parta VALUES LESS THAN (0)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION partb VALUES LESS THAN (5)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION partc VALUES LESS THAN (10)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION partd VALUES LESS THAN (10 + 5)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION parte VALUES LESS THAN (20)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION partf VALUES LESS THAN (2147483646)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index');
+(PARTITION parta VALUES LESS THAN (0),
+PARTITION partb VALUES LESS THAN (5),
+PARTITION partc VALUES LESS THAN (10),
+PARTITION partd VALUES LESS THAN (10 + 5),
+PARTITION parte VALUES LESS THAN (20),
+PARTITION partf 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;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -16803,7 +9197,7 @@ t1 CREATE TABLE `t1` (
`f_charbig` varchar(1000) DEFAULT NULL,
UNIQUE KEY `uidx1` (`f_int1`,`f_int2`),
UNIQUE KEY `uidx2` (`f_int2`,`f_int1`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (15) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION parte VALUES LESS THAN (20) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partf VALUES LESS THAN (2147483646) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM) */
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */
unified filelist
$MYSQLTEST_VARDIR/master-data/test/t1#P#parta.MYD
@@ -17276,26 +9670,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -17306,29 +9700,13 @@ f_charbig VARCHAR(1000)
, UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1)
)
PARTITION BY RANGE(f_int1 DIV 2) SUBPARTITION BY HASH(f_int1) SUBPARTITIONS 2
-(PARTITION parta VALUES LESS THAN (0)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION partb VALUES LESS THAN (5)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION partc VALUES LESS THAN (10)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
-PARTITION partd VALUES LESS THAN (2147483646)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index');
+(PARTITION parta VALUES LESS THAN (0),
+PARTITION partb VALUES LESS THAN (5),
+PARTITION partc VALUES LESS THAN (10),
+PARTITION partd 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;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -17340,7 +9718,7 @@ t1 CREATE TABLE `t1` (
`f_charbig` varchar(1000) DEFAULT NULL,
UNIQUE KEY `uidx1` (`f_int1`,`f_int2`),
UNIQUE KEY `uidx2` (`f_int2`,`f_int1`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (2147483646) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM) */
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */
unified filelist
$MYSQLTEST_VARDIR/master-data/test/t1#P#parta#SP#partasp0.MYD
@@ -17819,26 +10197,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -17850,32 +10228,16 @@ f_charbig VARCHAR(1000)
)
PARTITION BY RANGE(f_int1) SUBPARTITION BY KEY(f_int1)
(PARTITION part1 VALUES LESS THAN (0)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'
(SUBPARTITION subpart11, SUBPARTITION subpart12),
PARTITION part2 VALUES LESS THAN (5)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'
(SUBPARTITION subpart21, SUBPARTITION subpart22),
PARTITION part3 VALUES LESS THAN (10)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'
(SUBPARTITION subpart31, SUBPARTITION subpart32),
PARTITION part4 VALUES LESS THAN (2147483646)
-DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
-INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'
(SUBPARTITION subpart41, SUBPARTITION subpart42));
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -17887,7 +10249,7 @@ t1 CREATE TABLE `t1` (
`f_charbig` varchar(1000) DEFAULT NULL,
UNIQUE KEY `uidx1` (`f_int1`,`f_int2`),
UNIQUE KEY `uidx2` (`f_int2`,`f_int1`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION subpart12 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION subpart22 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION subpart32 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION subpart42 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM)) */
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = MyISAM, SUBPARTITION subpart32 ENGINE = MyISAM), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = MyISAM, SUBPARTITION subpart42 ENGINE = MyISAM)) */
unified filelist
$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#subpart11.MYD
@@ -18364,26 +10726,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -18395,60 +10757,20 @@ f_charbig VARCHAR(1000)
)
PARTITION BY LIST(ABS(MOD(f_int1,3))) SUBPARTITION BY HASH(f_int1 + 1)
(PARTITION part1 VALUES IN (0)
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'
- (SUBPARTITION sp11
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
- SUBPARTITION sp12
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'),
- PARTITION part2 VALUES IN (1)
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'
- (SUBPARTITION sp21
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
- SUBPARTITION sp22
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'),
- PARTITION part3 VALUES IN (2)
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'
- (SUBPARTITION sp31,
- SUBPARTITION sp32),
- PARTITION part4 VALUES IN (NULL)
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'
- (SUBPARTITION sp41
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
- SUBPARTITION sp42
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index'));
+(SUBPARTITION sp11,
+SUBPARTITION sp12),
+PARTITION part2 VALUES IN (1)
+(SUBPARTITION sp21,
+SUBPARTITION sp22),
+PARTITION part3 VALUES IN (2)
+(SUBPARTITION sp31,
+SUBPARTITION sp32),
+PARTITION part4 VALUES IN (NULL)
+(SUBPARTITION sp41,
+SUBPARTITION sp42));
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -18460,7 +10782,7 @@ t1 CREATE TABLE `t1` (
`f_charbig` varchar(1000) DEFAULT NULL,
UNIQUE KEY `uidx1` (`f_int1`,`f_int2`),
UNIQUE KEY `uidx2` (`f_int2`,`f_int1`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION sp12 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION sp22 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION sp32 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, SUBPARTITION sp42 DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM)) */
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = MyISAM, SUBPARTITION sp12 ENGINE = MyISAM), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = MyISAM, SUBPARTITION sp22 ENGINE = MyISAM), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = MyISAM, SUBPARTITION sp32 ENGINE = MyISAM), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = MyISAM, SUBPARTITION sp42 ENGINE = MyISAM)) */
unified filelist
$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#sp11.MYD
@@ -18939,26 +11261,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -18970,24 +11292,12 @@ f_charbig VARCHAR(1000)
)
PARTITION BY LIST(ABS(MOD(f_int1,2)))
SUBPARTITION BY KEY(f_int1) SUBPARTITIONS 3
-(PARTITION part1 VALUES IN (0)
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
- PARTITION part2 VALUES IN (1)
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index',
- PARTITION part3 VALUES IN (NULL)
- DATA DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data'
- INDEX DIRECTORY =
- '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index');
+(PARTITION part1 VALUES IN (0),
+PARTITION part2 VALUES IN (1),
+PARTITION part3 VALUES IN (NULL));
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -18999,7 +11309,7 @@ t1 CREATE TABLE `t1` (
`f_charbig` varchar(1000) DEFAULT NULL,
UNIQUE KEY `uidx1` (`f_int1`,`f_int2`),
UNIQUE KEY `uidx2` (`f_int2`,`f_int1`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data/' INDEX DIRECTORY='/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index/' /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part2 VALUES IN (1) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM, PARTITION part3 VALUES IN (NULL) DATA DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/data' INDEX DIRECTORY = '/data0/mysql/mysql-5.1-build/mysql-test/var/master-data/test/index' ENGINE = MyISAM) */
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = MyISAM, PARTITION part2 VALUES IN (1) ENGINE = MyISAM, PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */
unified filelist
$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#part1sp0.MYD
@@ -19480,26 +11790,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
#------------------------------------------------------------------------
# 3 Tables with PRIMARY KEY and/or UNIQUE INDEXes
@@ -19518,7 +11828,7 @@ f_charbig VARCHAR(1000)
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;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -19997,26 +12307,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -20029,7 +12339,7 @@ f_charbig VARCHAR(1000)
PARTITION BY KEY(f_int1,f_int2) PARTITIONS 5;
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -20514,26 +12824,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -20554,7 +12864,7 @@ PARTITION part2 VALUES IN (2),
PARTITION part3 VALUES IN (3));
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -21045,26 +13355,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -21083,7 +13393,7 @@ PARTITION parte VALUES LESS THAN (20),
PARTITION partf 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;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -21568,26 +13878,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -21604,7 +13914,7 @@ PARTITION partc VALUES LESS THAN (10),
PARTITION partd 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;
-# Start usability test (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -22093,26 +14403,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -22133,7 +14443,7 @@ PARTITION part4 VALUES LESS THAN (2147483646)
(SUBPARTITION subpart41, SUBPARTITION subpart42));
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -22622,26 +14932,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -22662,7 +14972,7 @@ PARTITION part4 VALUES IN (NULL)
(SUBPARTITION sp41, SUBPARTITION sp42));
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -23153,26 +15463,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -23185,11 +15495,11 @@ f_charbig VARCHAR(1000)
PARTITION BY LIST(ABS(MOD(f_int1,2)))
SUBPARTITION BY KEY(f_int2) SUBPARTITIONS 3
(PARTITION part1 VALUES IN (0),
- PARTITION part2 VALUES IN (1),
- PARTITION part3 VALUES IN (NULL));
+PARTITION part2 VALUES IN (1),
+PARTITION part3 VALUES IN (NULL));
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -23682,26 +15992,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
DROP VIEW IF EXISTS v1;
DROP TABLE IF EXISTS t1;
diff --git a/mysql-test/suite/parts/r/partition_basic_symlink_innodb.result b/mysql-test/suite/parts/r/partition_basic_symlink_innodb.result
new file mode 100644
index 00000000000..2fa1c25d0de
--- /dev/null
+++ b/mysql-test/suite/parts/r/partition_basic_symlink_innodb.result
@@ -0,0 +1,32 @@
+# Will not run partition_basic_symlink on InnoDB, since it is the same
+# as partition_basic, since InnoDB does not support DATA/INDEX DIR
+# Will only verify that the DATA/INDEX DIR is stored and used if
+# ALTER to MyISAM.
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 (c1 INT)
+ENGINE = InnoDB
+PARTITION BY HASH (c1)
+(PARTITION p0
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+ INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION p1
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+ INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'
+);
+# Verifying .frm and .par files
+# Verifying that there are no MyISAM files
+FLUSH TABLES;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) (PARTITION p0 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = InnoDB, PARTITION p1 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = InnoDB) */
+ALTER TABLE t1 ENGINE = MyISAM;
+# Verifying .frm, .par and MyISAM files (.MYD, MYI)
+FLUSH TABLES;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) (PARTITION p0 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION p1 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */
+DROP TABLE t1;
diff --git a/mysql-test/suite/parts/r/partition_basic_symlink_myisam.result b/mysql-test/suite/parts/r/partition_basic_symlink_myisam.result
new file mode 100644
index 00000000000..65ca09846b6
--- /dev/null
+++ b/mysql-test/suite/parts/r/partition_basic_symlink_myisam.result
@@ -0,0 +1,20558 @@
+SET @max_row = 20;
+SET @@session.storage_engine = 'MyISAM';
+
+#------------------------------------------------------------------------
+# 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
+#-----------------------------------------------
+
+#========================================================================
+# 0.5 use partition_basic with DATA/INDEX DIRECTORY
+#========================================================================
+
+#========================================================================
+# Check partitioning methods on just created tables
+# The tables should be defined without/with PRIMARY KEY and
+# UNIQUE INDEXes.
+# Every test round has to check
+# PARTITION BY HASH/KEY/LIST/RANGE
+# PARTITION BY RANGE/LIST ... SUBPARTITION BY HASH/KEY ...
+#========================================================================
+#------------------------------------------------------------------------
+# 1 Tables without PRIMARY KEY or UNIQUE INDEXes
+#------------------------------------------------------------------------
+# 1.1 The partitioning function contains one column.
+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(f_int1) PARTITIONS 2
+(PARTITION p1
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION p2
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir');
+INSERT INTO t1(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=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION p1 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION p2 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */
+
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p1.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p1.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p2.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p2.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#p1.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#p2.MYD
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#p1.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#p2.MYI
+
+# 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 KEY(f_int1) PARTITIONS 5
+(PARTITION p1
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION p2
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION p3
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION p4
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION p5
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir');
+INSERT INTO t1(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=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION p1 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION p2 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION p3 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION p4 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION p5 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */
+
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p1.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p1.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p2.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p2.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p3.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p3.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p4.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p4.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p5.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p5.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#p1.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#p2.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#p3.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#p4.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#p5.MYD
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#p1.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#p2.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#p3.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#p4.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#p5.MYI
+
+# 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 LIST(MOD(f_int1,4))
+(PARTITION part_3 VALUES IN (-3)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION part_2 VALUES IN (-2)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION part_1 VALUES IN (-1)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION part_N VALUES IN (NULL)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION part0 VALUES IN (0)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION part1 VALUES IN (1)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION part2 VALUES IN (2)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION part3 VALUES IN (3)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir');
+INSERT INTO t1(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=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part0 VALUES IN (0) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part1 VALUES IN (1) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part2 VALUES IN (2) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part3 VALUES IN (3) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */
+
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part0.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part0.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part_1.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part_1.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part_2.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part_2.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part_3.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part_3.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part_N.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part_N.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part0.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part1.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part2.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part3.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part_1.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part_2.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part_3.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part_N.MYD
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part0.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part1.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part2.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part3.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part_1.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part_2.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part_3.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part_N.MYI
+
+# 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)
+(PARTITION parta VALUES LESS THAN (0)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION partb VALUES LESS THAN (5)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION partc VALUES LESS THAN (10)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION partd VALUES LESS THAN (10 + 5)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION parte VALUES LESS THAN (20)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION partf VALUES LESS THAN (2147483646)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir');
+INSERT INTO t1(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=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (15) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION parte VALUES LESS THAN (20) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partf VALUES LESS THAN (2147483646) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */
+
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1#P#parta.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#parta.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partb.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partb.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partc.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partc.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partd.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partd.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#parte.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#parte.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partf.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partf.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#parta.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#partb.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#partc.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#partd.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#parte.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#partf.MYD
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#parta.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#partb.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#partc.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#partd.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#parte.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#partf.MYI
+
+# 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;
+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 DIV 2) SUBPARTITION BY HASH(f_int1) SUBPARTITIONS 2
+(PARTITION parta VALUES LESS THAN (0)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION partb VALUES LESS THAN (5)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION partc VALUES LESS THAN (10)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION partd VALUES LESS THAN (2147483646)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir');
+INSERT INTO t1(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=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (2147483646) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */
+
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1#P#parta#SP#partasp0.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#parta#SP#partasp0.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#parta#SP#partasp1.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#parta#SP#partasp1.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partb#SP#partbsp0.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partb#SP#partbsp0.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partb#SP#partbsp1.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partb#SP#partbsp1.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partc#SP#partcsp0.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partc#SP#partcsp0.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partc#SP#partcsp1.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partc#SP#partcsp1.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partd#SP#partdsp0.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partd#SP#partdsp0.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partd#SP#partdsp1.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partd#SP#partdsp1.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#parta#SP#partasp0.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#parta#SP#partasp1.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#partb#SP#partbsp0.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#partb#SP#partbsp1.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#partc#SP#partcsp0.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#partc#SP#partcsp1.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#partd#SP#partdsp0.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#partd#SP#partdsp1.MYD
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#parta#SP#partasp0.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#parta#SP#partasp1.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#partb#SP#partbsp0.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#partb#SP#partbsp1.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#partc#SP#partcsp0.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#partc#SP#partcsp1.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#partd#SP#partdsp0.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#partd#SP#partdsp1.MYI
+
+# 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 KEY(f_int1)
+(PARTITION part1 VALUES LESS THAN (0)
+(SUBPARTITION subpart11 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+SUBPARTITION subpart12 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'),
+PARTITION part2 VALUES LESS THAN (5)
+(SUBPARTITION subpart21 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+SUBPARTITION subpart22 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'),
+PARTITION part3 VALUES LESS THAN (10)
+(SUBPARTITION subpart31 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+SUBPARTITION subpart32 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'),
+PARTITION part4 VALUES LESS THAN (2147483646)
+(SUBPARTITION subpart41 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+SUBPARTITION subpart42 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'));
+INSERT INTO t1(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=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION subpart12 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION subpart22 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION subpart32 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION subpart42 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM)) */
+
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#subpart11.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#subpart11.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#subpart12.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#subpart12.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#subpart21.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#subpart21.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#subpart22.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#subpart22.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#subpart31.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#subpart31.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#subpart32.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#subpart32.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part4#SP#subpart41.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part4#SP#subpart41.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part4#SP#subpart42.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part4#SP#subpart42.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part1#SP#subpart11.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part1#SP#subpart12.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part2#SP#subpart21.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part2#SP#subpart22.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part3#SP#subpart31.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part3#SP#subpart32.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part4#SP#subpart41.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part4#SP#subpart42.MYD
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part1#SP#subpart11.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part1#SP#subpart12.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part2#SP#subpart21.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part2#SP#subpart22.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part3#SP#subpart31.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part3#SP#subpart32.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part4#SP#subpart41.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part4#SP#subpart42.MYI
+
+# 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;
+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 LIST(ABS(MOD(f_int1,3))) SUBPARTITION BY HASH(f_int1 + 1)
+(PARTITION part1 VALUES IN (0)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'
+(SUBPARTITION sp11
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+SUBPARTITION sp12
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'),
+PARTITION part2 VALUES IN (1)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'
+(SUBPARTITION sp21
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+SUBPARTITION sp22
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'),
+PARTITION part3 VALUES IN (2)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'
+(SUBPARTITION sp31,
+SUBPARTITION sp32),
+PARTITION part4 VALUES IN (NULL)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'
+(SUBPARTITION sp41
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+SUBPARTITION sp42
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'));
+INSERT INTO t1(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=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION sp12 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION sp22 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION sp32 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION sp42 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM)) */
+
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#sp11.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#sp11.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#sp12.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#sp12.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#sp21.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#sp21.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#sp22.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#sp22.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#sp31.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#sp31.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#sp32.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#sp32.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part4#SP#sp41.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part4#SP#sp41.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part4#SP#sp42.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part4#SP#sp42.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part1#SP#sp11.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part1#SP#sp12.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part2#SP#sp21.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part2#SP#sp22.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part3#SP#sp31.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part3#SP#sp32.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part4#SP#sp41.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part4#SP#sp42.MYD
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part1#SP#sp11.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part1#SP#sp12.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part2#SP#sp21.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part2#SP#sp22.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part3#SP#sp31.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part3#SP#sp32.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part4#SP#sp41.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part4#SP#sp42.MYI
+
+# 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 LIST(ABS(MOD(f_int1,2)))
+SUBPARTITION BY KEY(f_int1) SUBPARTITIONS 3
+(PARTITION part1 VALUES IN (0)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION part2 VALUES IN (1)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION part3 VALUES IN (NULL)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir');
+INSERT INTO t1(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=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part2 VALUES IN (1) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part3 VALUES IN (NULL) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */
+
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#part1sp0.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#part1sp0.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#part1sp1.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#part1sp1.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#part1sp2.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#part1sp2.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#part2sp0.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#part2sp0.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#part2sp1.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#part2sp1.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#part2sp2.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#part2sp2.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#part3sp0.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#part3sp0.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#part3sp1.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#part3sp1.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#part3sp2.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#part3sp2.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part1#SP#part1sp0.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part1#SP#part1sp1.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part1#SP#part1sp2.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part2#SP#part2sp0.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part2#SP#part2sp1.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part2#SP#part2sp2.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part3#SP#part3sp0.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part3#SP#part3sp1.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part3#SP#part3sp2.MYD
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part1#SP#part1sp0.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part1#SP#part1sp1.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part1#SP#part1sp2.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part2#SP#part2sp0.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part2#SP#part2sp1.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part2#SP#part2sp2.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part3#SP#part3sp0.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part3#SP#part3sp1.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part3#SP#part3sp2.MYI
+
+# 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;
+# 1.2 The partitioning function contains 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)
+
+)
+PARTITION BY HASH(f_int1 + f_int2) PARTITIONS 2
+(PARTITION p1
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION p2
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir');
+INSERT INTO t1(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=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1 + f_int2) (PARTITION p1 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION p2 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */
+
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p1.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p1.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p2.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p2.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#p1.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#p2.MYD
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#p1.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#p2.MYI
+
+# 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 KEY(f_int1,f_int2) PARTITIONS 5
+(PARTITION p1
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION p2
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION p3
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION p4
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION p5
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir');
+INSERT INTO t1(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=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1,f_int2) (PARTITION p1 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION p2 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION p3 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION p4 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION p5 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */
+
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p1.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p1.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p2.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p2.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p3.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p3.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p4.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p4.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p5.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p5.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#p1.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#p2.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#p3.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#p4.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#p5.MYD
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#p1.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#p2.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#p3.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#p4.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#p5.MYI
+
+# 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 LIST(MOD(f_int1 + f_int2,4))
+(PARTITION part_3 VALUES IN (-3)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION part_2 VALUES IN (-2)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION part_1 VALUES IN (-1)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION part_N VALUES IN (NULL)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION part0 VALUES IN (0)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION part1 VALUES IN (1)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION part2 VALUES IN (2)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION part3 VALUES IN (3)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir');
+INSERT INTO t1(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=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) (PARTITION part_3 VALUES IN (-3) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part0 VALUES IN (0) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part1 VALUES IN (1) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part2 VALUES IN (2) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part3 VALUES IN (3) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */
+
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part0.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part0.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part_1.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part_1.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part_2.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part_2.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part_3.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part_3.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part_N.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part_N.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part0.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part1.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part2.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part3.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part_1.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part_2.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part_3.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part_N.MYD
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part0.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part1.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part2.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part3.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part_1.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part_2.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part_3.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part_N.MYI
+
+# 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 + f_int2) DIV 2)
+(PARTITION parta VALUES LESS THAN (0)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION partb VALUES LESS THAN (5)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION partc VALUES LESS THAN (10)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION partd VALUES LESS THAN (10 + 5)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION parte VALUES LESS THAN (20)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION partf VALUES LESS THAN (2147483646)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir');
+INSERT INTO t1(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=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) (PARTITION parta VALUES LESS THAN (0) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (15) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION parte VALUES LESS THAN (20) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partf VALUES LESS THAN (2147483646) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */
+
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1#P#parta.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#parta.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partb.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partb.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partc.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partc.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partd.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partd.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#parte.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#parte.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partf.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partf.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#parta.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#partb.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#partc.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#partd.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#parte.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#partf.MYD
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#parta.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#partb.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#partc.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#partd.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#parte.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#partf.MYI
+
+# 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;
+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_int2) SUBPARTITIONS 2
+(PARTITION parta VALUES LESS THAN (0)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION partb VALUES LESS THAN (5)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION partc VALUES LESS THAN (10)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION partd VALUES LESS THAN (2147483646)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir');
+INSERT INTO t1(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=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int2) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (2147483646) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */
+
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1#P#parta#SP#partasp0.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#parta#SP#partasp0.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#parta#SP#partasp1.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#parta#SP#partasp1.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partb#SP#partbsp0.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partb#SP#partbsp0.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partb#SP#partbsp1.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partb#SP#partbsp1.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partc#SP#partcsp0.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partc#SP#partcsp0.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partc#SP#partcsp1.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partc#SP#partcsp1.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partd#SP#partdsp0.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partd#SP#partdsp0.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partd#SP#partdsp1.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partd#SP#partdsp1.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#parta#SP#partasp0.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#parta#SP#partasp1.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#partb#SP#partbsp0.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#partb#SP#partbsp1.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#partc#SP#partcsp0.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#partc#SP#partcsp1.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#partd#SP#partdsp0.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#partd#SP#partdsp1.MYD
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#parta#SP#partasp0.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#parta#SP#partasp1.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#partb#SP#partbsp0.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#partb#SP#partbsp1.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#partc#SP#partcsp0.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#partc#SP#partcsp1.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#partd#SP#partdsp0.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#partd#SP#partdsp1.MYI
+
+# 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;
+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 KEY(f_int2)
+(PARTITION part1 VALUES LESS THAN (0)
+(SUBPARTITION subpart11 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+SUBPARTITION subpart12 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'),
+PARTITION part2 VALUES LESS THAN (5)
+(SUBPARTITION subpart21 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+SUBPARTITION subpart22 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'),
+PARTITION part3 VALUES LESS THAN (10)
+(SUBPARTITION subpart31 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+SUBPARTITION subpart32 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'),
+PARTITION part4 VALUES LESS THAN (2147483646)
+(SUBPARTITION subpart41 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+SUBPARTITION subpart42 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'));
+INSERT INTO t1(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=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int2) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION subpart12 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION subpart22 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION subpart32 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION subpart42 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM)) */
+
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#subpart11.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#subpart11.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#subpart12.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#subpart12.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#subpart21.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#subpart21.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#subpart22.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#subpart22.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#subpart31.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#subpart31.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#subpart32.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#subpart32.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part4#SP#subpart41.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part4#SP#subpart41.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part4#SP#subpart42.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part4#SP#subpart42.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part1#SP#subpart11.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part1#SP#subpart12.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part2#SP#subpart21.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part2#SP#subpart22.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part3#SP#subpart31.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part3#SP#subpart32.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part4#SP#subpart41.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part4#SP#subpart42.MYD
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part1#SP#subpart11.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part1#SP#subpart12.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part2#SP#subpart21.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part2#SP#subpart22.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part3#SP#subpart31.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part3#SP#subpart32.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part4#SP#subpart41.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part4#SP#subpart42.MYI
+
+# 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;
+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 LIST(ABS(MOD(f_int1,3))) SUBPARTITION BY HASH(f_int2 + 1)
+(PARTITION part1 VALUES IN (0)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'
+(SUBPARTITION sp11
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+SUBPARTITION sp12
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'),
+PARTITION part2 VALUES IN (1)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'
+(SUBPARTITION sp21
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+SUBPARTITION sp22
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'),
+PARTITION part3 VALUES IN (2)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'
+(SUBPARTITION sp31,
+SUBPARTITION sp32),
+PARTITION part4 VALUES IN (NULL)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'
+(SUBPARTITION sp41
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+SUBPARTITION sp42
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'));
+INSERT INTO t1(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=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int2 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION sp12 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION sp22 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION sp32 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION sp42 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM)) */
+
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#sp11.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#sp11.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#sp12.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#sp12.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#sp21.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#sp21.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#sp22.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#sp22.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#sp31.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#sp31.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#sp32.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#sp32.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part4#SP#sp41.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part4#SP#sp41.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part4#SP#sp42.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part4#SP#sp42.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part1#SP#sp11.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part1#SP#sp12.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part2#SP#sp21.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part2#SP#sp22.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part3#SP#sp31.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part3#SP#sp32.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part4#SP#sp41.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part4#SP#sp42.MYD
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part1#SP#sp11.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part1#SP#sp12.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part2#SP#sp21.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part2#SP#sp22.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part3#SP#sp31.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part3#SP#sp32.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part4#SP#sp41.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part4#SP#sp42.MYI
+
+# 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 LIST(ABS(MOD(f_int1,2)))
+SUBPARTITION BY KEY(f_int2) SUBPARTITIONS 3
+(PARTITION part1 VALUES IN (0)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION part2 VALUES IN (1)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION part3 VALUES IN (NULL)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir');
+INSERT INTO t1(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=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int2) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part2 VALUES IN (1) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part3 VALUES IN (NULL) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */
+
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#part1sp0.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#part1sp0.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#part1sp1.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#part1sp1.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#part1sp2.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#part1sp2.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#part2sp0.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#part2sp0.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#part2sp1.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#part2sp1.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#part2sp2.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#part2sp2.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#part3sp0.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#part3sp0.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#part3sp1.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#part3sp1.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#part3sp2.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#part3sp2.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part1#SP#part1sp0.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part1#SP#part1sp1.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part1#SP#part1sp2.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part2#SP#part2sp0.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part2#SP#part2sp1.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part2#SP#part2sp2.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part3#SP#part3sp0.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part3#SP#part3sp1.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part3#SP#part3sp2.MYD
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part1#SP#part1sp0.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part1#SP#part1sp1.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part1#SP#part1sp2.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part2#SP#part2sp0.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part2#SP#part2sp1.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part2#SP#part2sp2.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part3#SP#part3sp0.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part3#SP#part3sp1.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part3#SP#part3sp2.MYI
+
+# 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;
+#------------------------------------------------------------------------
+# 2 Tables with PRIMARY KEY and/or UNIQUE INDEXes
+# The partitioning function contains one column.
+#------------------------------------------------------------------------
+# 2.5 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), UNIQUE INDEX uidx2 (f_int2,f_int1)
+)
+PARTITION BY HASH(f_int1) PARTITIONS 2
+(PARTITION p1
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION p2
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir');
+INSERT INTO t1(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,
+ UNIQUE KEY `uidx1` (`f_int1`,`f_int2`),
+ UNIQUE KEY `uidx2` (`f_int2`,`f_int1`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION p1 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION p2 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */
+
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p1.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p1.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p2.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p2.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#p1.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#p2.MYD
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#p1.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#p2.MYI
+
+# 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;
+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)
+, UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1)
+)
+PARTITION BY KEY(f_int1) PARTITIONS 5
+(PARTITION p1
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION p2
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION p3
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION p4
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION p5
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir');
+INSERT INTO t1(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,
+ UNIQUE KEY `uidx1` (`f_int1`,`f_int2`),
+ UNIQUE KEY `uidx2` (`f_int2`,`f_int1`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION p1 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION p2 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION p3 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION p4 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION p5 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */
+
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p1.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p1.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p2.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p2.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p3.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p3.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p4.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p4.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p5.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p5.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#p1.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#p2.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#p3.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#p4.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#p5.MYD
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#p1.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#p2.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#p3.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#p4.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#p5.MYI
+
+# 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;
+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)
+, UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1)
+)
+PARTITION BY LIST(MOD(f_int1,4))
+(PARTITION part_3 VALUES IN (-3)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION part_2 VALUES IN (-2)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION part_1 VALUES IN (-1)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION part_N VALUES IN (NULL)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION part0 VALUES IN (0)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION part1 VALUES IN (1)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION part2 VALUES IN (2)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION part3 VALUES IN (3)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir');
+INSERT INTO t1(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,
+ UNIQUE KEY `uidx1` (`f_int1`,`f_int2`),
+ UNIQUE KEY `uidx2` (`f_int2`,`f_int1`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part0 VALUES IN (0) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part1 VALUES IN (1) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part2 VALUES IN (2) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part3 VALUES IN (3) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */
+
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part0.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part0.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part_1.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part_1.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part_2.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part_2.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part_3.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part_3.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part_N.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part_N.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part0.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part1.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part2.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part3.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part_1.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part_2.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part_3.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part_N.MYD
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part0.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part1.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part2.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part3.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part_1.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part_2.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part_3.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part_N.MYI
+
+# 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;
+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)
+, UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1)
+)
+PARTITION BY RANGE(f_int1)
+(PARTITION parta VALUES LESS THAN (0)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION partb VALUES LESS THAN (5)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION partc VALUES LESS THAN (10)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION partd VALUES LESS THAN (10 + 5)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION parte VALUES LESS THAN (20)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION partf VALUES LESS THAN (2147483646)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir');
+INSERT INTO t1(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,
+ UNIQUE KEY `uidx1` (`f_int1`,`f_int2`),
+ UNIQUE KEY `uidx2` (`f_int2`,`f_int1`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (15) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION parte VALUES LESS THAN (20) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partf VALUES LESS THAN (2147483646) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */
+
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1#P#parta.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#parta.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partb.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partb.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partc.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partc.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partd.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partd.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#parte.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#parte.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partf.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partf.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#parta.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#partb.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#partc.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#partd.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#parte.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#partf.MYD
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#parta.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#partb.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#partc.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#partd.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#parte.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#partf.MYI
+
+# 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##';
+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#';
+INSERT INTO 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;
+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)
+, UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1)
+)
+PARTITION BY RANGE(f_int1 DIV 2) SUBPARTITION BY HASH(f_int1) SUBPARTITIONS 2
+(PARTITION parta VALUES LESS THAN (0)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION partb VALUES LESS THAN (5)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION partc VALUES LESS THAN (10)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION partd VALUES LESS THAN (2147483646)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir');
+INSERT INTO t1(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,
+ UNIQUE KEY `uidx1` (`f_int1`,`f_int2`),
+ UNIQUE KEY `uidx2` (`f_int2`,`f_int1`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (2147483646) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */
+
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1#P#parta#SP#partasp0.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#parta#SP#partasp0.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#parta#SP#partasp1.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#parta#SP#partasp1.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partb#SP#partbsp0.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partb#SP#partbsp0.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partb#SP#partbsp1.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partb#SP#partbsp1.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partc#SP#partcsp0.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partc#SP#partcsp0.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partc#SP#partcsp1.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partc#SP#partcsp1.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partd#SP#partdsp0.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partd#SP#partdsp0.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partd#SP#partdsp1.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partd#SP#partdsp1.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#parta#SP#partasp0.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#parta#SP#partasp1.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#partb#SP#partbsp0.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#partb#SP#partbsp1.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#partc#SP#partcsp0.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#partc#SP#partcsp1.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#partd#SP#partdsp0.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#partd#SP#partdsp1.MYD
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#parta#SP#partasp0.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#parta#SP#partasp1.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#partb#SP#partbsp0.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#partb#SP#partbsp1.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#partc#SP#partcsp0.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#partc#SP#partcsp1.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#partd#SP#partdsp0.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#partd#SP#partdsp1.MYI
+
+# 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;
+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)
+, UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1)
+)
+PARTITION BY RANGE(f_int1) SUBPARTITION BY KEY(f_int1)
+(PARTITION part1 VALUES LESS THAN (0)
+(SUBPARTITION subpart11 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+SUBPARTITION subpart12 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'),
+PARTITION part2 VALUES LESS THAN (5)
+(SUBPARTITION subpart21 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+SUBPARTITION subpart22 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'),
+PARTITION part3 VALUES LESS THAN (10)
+(SUBPARTITION subpart31 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+SUBPARTITION subpart32 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'),
+PARTITION part4 VALUES LESS THAN (2147483646)
+(SUBPARTITION subpart41 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+SUBPARTITION subpart42 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'));
+INSERT INTO t1(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,
+ UNIQUE KEY `uidx1` (`f_int1`,`f_int2`),
+ UNIQUE KEY `uidx2` (`f_int2`,`f_int1`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION subpart12 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION subpart22 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION subpart32 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION subpart42 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM)) */
+
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#subpart11.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#subpart11.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#subpart12.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#subpart12.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#subpart21.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#subpart21.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#subpart22.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#subpart22.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#subpart31.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#subpart31.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#subpart32.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#subpart32.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part4#SP#subpart41.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part4#SP#subpart41.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part4#SP#subpart42.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part4#SP#subpart42.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part1#SP#subpart11.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part1#SP#subpart12.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part2#SP#subpart21.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part2#SP#subpart22.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part3#SP#subpart31.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part3#SP#subpart32.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part4#SP#subpart41.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part4#SP#subpart42.MYD
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part1#SP#subpart11.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part1#SP#subpart12.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part2#SP#subpart21.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part2#SP#subpart22.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part3#SP#subpart31.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part3#SP#subpart32.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part4#SP#subpart41.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part4#SP#subpart42.MYI
+
+# 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##';
+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#';
+INSERT INTO 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;
+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)
+, UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1)
+)
+PARTITION BY LIST(ABS(MOD(f_int1,3))) SUBPARTITION BY HASH(f_int1 + 1)
+(PARTITION part1 VALUES IN (0)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'
+(SUBPARTITION sp11
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+SUBPARTITION sp12
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'),
+PARTITION part2 VALUES IN (1)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'
+(SUBPARTITION sp21
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+SUBPARTITION sp22
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'),
+PARTITION part3 VALUES IN (2)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'
+(SUBPARTITION sp31,
+SUBPARTITION sp32),
+PARTITION part4 VALUES IN (NULL)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'
+(SUBPARTITION sp41
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+SUBPARTITION sp42
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'));
+INSERT INTO t1(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,
+ UNIQUE KEY `uidx1` (`f_int1`,`f_int2`),
+ UNIQUE KEY `uidx2` (`f_int2`,`f_int1`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION sp12 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION sp22 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION sp32 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION sp42 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM)) */
+
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#sp11.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#sp11.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#sp12.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#sp12.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#sp21.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#sp21.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#sp22.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#sp22.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#sp31.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#sp31.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#sp32.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#sp32.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part4#SP#sp41.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part4#SP#sp41.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part4#SP#sp42.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part4#SP#sp42.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part1#SP#sp11.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part1#SP#sp12.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part2#SP#sp21.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part2#SP#sp22.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part3#SP#sp31.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part3#SP#sp32.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part4#SP#sp41.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part4#SP#sp42.MYD
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part1#SP#sp11.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part1#SP#sp12.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part2#SP#sp21.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part2#SP#sp22.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part3#SP#sp31.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part3#SP#sp32.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part4#SP#sp41.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part4#SP#sp42.MYI
+
+# 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;
+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)
+, UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1)
+)
+PARTITION BY LIST(ABS(MOD(f_int1,2)))
+SUBPARTITION BY KEY(f_int1) SUBPARTITIONS 3
+(PARTITION part1 VALUES IN (0)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION part2 VALUES IN (1)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION part3 VALUES IN (NULL)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir');
+INSERT INTO t1(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,
+ UNIQUE KEY `uidx1` (`f_int1`,`f_int2`),
+ UNIQUE KEY `uidx2` (`f_int2`,`f_int1`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part2 VALUES IN (1) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part3 VALUES IN (NULL) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */
+
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#part1sp0.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#part1sp0.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#part1sp1.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#part1sp1.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#part1sp2.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#part1sp2.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#part2sp0.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#part2sp0.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#part2sp1.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#part2sp1.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#part2sp2.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#part2sp2.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#part3sp0.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#part3sp0.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#part3sp1.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#part3sp1.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#part3sp2.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#part3sp2.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part1#SP#part1sp0.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part1#SP#part1sp1.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part1#SP#part1sp2.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part2#SP#part2sp0.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part2#SP#part2sp1.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part2#SP#part2sp2.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part3#SP#part3sp0.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part3#SP#part3sp1.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part3#SP#part3sp2.MYD
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part1#SP#part1sp0.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part1#SP#part1sp1.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part1#SP#part1sp2.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part2#SP#part2sp0.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part2#SP#part2sp1.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part2#SP#part2sp2.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part3#SP#part3sp0.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part3#SP#part3sp1.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part3#SP#part3sp2.MYI
+
+# 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;
+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;
+#------------------------------------------------------------------------
+# 3 Tables with PRIMARY KEY and/or UNIQUE INDEXes
+# The partitioning function contains two columns.
+#------------------------------------------------------------------------
+# 3.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)
+, UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1)
+)
+PARTITION BY HASH(f_int1 + f_int2) PARTITIONS 2
+(PARTITION p1
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION p2
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir');
+INSERT INTO t1(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,
+ UNIQUE KEY `uidx1` (`f_int1`,`f_int2`),
+ UNIQUE KEY `uidx2` (`f_int2`,`f_int1`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1 + f_int2) (PARTITION p1 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION p2 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */
+
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p1.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p1.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p2.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p2.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#p1.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#p2.MYD
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#p1.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#p2.MYI
+
+# 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;
+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)
+, UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1)
+)
+PARTITION BY KEY(f_int1,f_int2) PARTITIONS 5
+(PARTITION p1
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION p2
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION p3
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION p4
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION p5
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir');
+INSERT INTO t1(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,
+ UNIQUE KEY `uidx1` (`f_int1`,`f_int2`),
+ UNIQUE KEY `uidx2` (`f_int2`,`f_int1`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1,f_int2) (PARTITION p1 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION p2 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION p3 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION p4 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION p5 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */
+
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p1.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p1.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p2.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p2.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p3.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p3.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p4.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p4.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p5.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p5.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#p1.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#p2.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#p3.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#p4.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#p5.MYD
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#p1.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#p2.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#p3.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#p4.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#p5.MYI
+
+# 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;
+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)
+, UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1)
+)
+PARTITION BY LIST(MOD(f_int1 + f_int2,4))
+(PARTITION part_3 VALUES IN (-3)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION part_2 VALUES IN (-2)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION part_1 VALUES IN (-1)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION part_N VALUES IN (NULL)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION part0 VALUES IN (0)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION part1 VALUES IN (1)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION part2 VALUES IN (2)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION part3 VALUES IN (3)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir');
+INSERT INTO t1(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,
+ UNIQUE KEY `uidx1` (`f_int1`,`f_int2`),
+ UNIQUE KEY `uidx2` (`f_int2`,`f_int1`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) (PARTITION part_3 VALUES IN (-3) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part0 VALUES IN (0) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part1 VALUES IN (1) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part2 VALUES IN (2) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part3 VALUES IN (3) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */
+
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part0.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part0.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part_1.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part_1.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part_2.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part_2.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part_3.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part_3.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part_N.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part_N.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part0.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part1.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part2.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part3.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part_1.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part_2.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part_3.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part_N.MYD
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part0.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part1.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part2.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part3.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part_1.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part_2.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part_3.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part_N.MYI
+
+# 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;
+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)
+, UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1)
+)
+PARTITION BY RANGE((f_int1 + f_int2) DIV 2)
+(PARTITION parta VALUES LESS THAN (0)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION partb VALUES LESS THAN (5)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION partc VALUES LESS THAN (10)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION partd VALUES LESS THAN (10 + 5)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION parte VALUES LESS THAN (20)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION partf VALUES LESS THAN (2147483646)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir');
+INSERT INTO t1(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,
+ UNIQUE KEY `uidx1` (`f_int1`,`f_int2`),
+ UNIQUE KEY `uidx2` (`f_int2`,`f_int1`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) (PARTITION parta VALUES LESS THAN (0) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (15) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION parte VALUES LESS THAN (20) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partf VALUES LESS THAN (2147483646) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */
+
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1#P#parta.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#parta.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partb.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partb.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partc.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partc.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partd.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partd.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#parte.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#parte.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partf.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partf.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#parta.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#partb.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#partc.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#partd.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#parte.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#partf.MYD
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#parta.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#partb.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#partc.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#partd.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#parte.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#partf.MYI
+
+# 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##';
+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#';
+INSERT INTO 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;
+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)
+, UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1)
+)
+PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int2) SUBPARTITIONS 2
+(PARTITION parta VALUES LESS THAN (0)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION partb VALUES LESS THAN (5)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION partc VALUES LESS THAN (10)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION partd VALUES LESS THAN (2147483646)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir');
+INSERT INTO t1(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,
+ UNIQUE KEY `uidx1` (`f_int1`,`f_int2`),
+ UNIQUE KEY `uidx2` (`f_int2`,`f_int1`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int2) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (2147483646) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */
+
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1#P#parta#SP#partasp0.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#parta#SP#partasp0.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#parta#SP#partasp1.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#parta#SP#partasp1.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partb#SP#partbsp0.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partb#SP#partbsp0.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partb#SP#partbsp1.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partb#SP#partbsp1.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partc#SP#partcsp0.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partc#SP#partcsp0.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partc#SP#partcsp1.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partc#SP#partcsp1.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partd#SP#partdsp0.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partd#SP#partdsp0.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partd#SP#partdsp1.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partd#SP#partdsp1.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#parta#SP#partasp0.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#parta#SP#partasp1.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#partb#SP#partbsp0.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#partb#SP#partbsp1.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#partc#SP#partcsp0.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#partc#SP#partcsp1.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#partd#SP#partdsp0.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#partd#SP#partdsp1.MYD
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#parta#SP#partasp0.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#parta#SP#partasp1.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#partb#SP#partbsp0.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#partb#SP#partbsp1.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#partc#SP#partcsp0.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#partc#SP#partcsp1.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#partd#SP#partdsp0.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#partd#SP#partdsp1.MYI
+
+# 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##';
+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#';
+INSERT INTO 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;
+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)
+, UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1)
+)
+PARTITION BY RANGE(f_int1) SUBPARTITION BY KEY(f_int2)
+(PARTITION part1 VALUES LESS THAN (0)
+(SUBPARTITION subpart11 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+SUBPARTITION subpart12 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'),
+PARTITION part2 VALUES LESS THAN (5)
+(SUBPARTITION subpart21 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+SUBPARTITION subpart22 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'),
+PARTITION part3 VALUES LESS THAN (10)
+(SUBPARTITION subpart31 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+SUBPARTITION subpart32 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'),
+PARTITION part4 VALUES LESS THAN (2147483646)
+(SUBPARTITION subpart41 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+SUBPARTITION subpart42 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'));
+INSERT INTO t1(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,
+ UNIQUE KEY `uidx1` (`f_int1`,`f_int2`),
+ UNIQUE KEY `uidx2` (`f_int2`,`f_int1`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int2) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION subpart12 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION subpart22 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION subpart32 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION subpart42 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM)) */
+
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#subpart11.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#subpart11.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#subpart12.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#subpart12.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#subpart21.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#subpart21.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#subpart22.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#subpart22.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#subpart31.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#subpart31.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#subpart32.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#subpart32.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part4#SP#subpart41.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part4#SP#subpart41.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part4#SP#subpart42.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part4#SP#subpart42.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part1#SP#subpart11.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part1#SP#subpart12.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part2#SP#subpart21.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part2#SP#subpart22.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part3#SP#subpart31.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part3#SP#subpart32.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part4#SP#subpart41.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part4#SP#subpart42.MYD
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part1#SP#subpart11.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part1#SP#subpart12.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part2#SP#subpart21.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part2#SP#subpart22.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part3#SP#subpart31.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part3#SP#subpart32.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part4#SP#subpart41.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part4#SP#subpart42.MYI
+
+# 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##';
+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#';
+INSERT INTO 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;
+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)
+, UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1)
+)
+PARTITION BY LIST(ABS(MOD(f_int1,3))) SUBPARTITION BY HASH(f_int2 + 1)
+(PARTITION part1 VALUES IN (0)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'
+(SUBPARTITION sp11
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+SUBPARTITION sp12
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'),
+PARTITION part2 VALUES IN (1)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'
+(SUBPARTITION sp21
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+SUBPARTITION sp22
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'),
+PARTITION part3 VALUES IN (2)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'
+(SUBPARTITION sp31,
+SUBPARTITION sp32),
+PARTITION part4 VALUES IN (NULL)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'
+(SUBPARTITION sp41
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+SUBPARTITION sp42
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'));
+INSERT INTO t1(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,
+ UNIQUE KEY `uidx1` (`f_int1`,`f_int2`),
+ UNIQUE KEY `uidx2` (`f_int2`,`f_int1`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int2 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION sp12 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION sp22 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION sp32 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION sp42 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM)) */
+
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#sp11.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#sp11.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#sp12.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#sp12.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#sp21.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#sp21.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#sp22.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#sp22.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#sp31.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#sp31.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#sp32.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#sp32.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part4#SP#sp41.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part4#SP#sp41.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part4#SP#sp42.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part4#SP#sp42.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part1#SP#sp11.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part1#SP#sp12.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part2#SP#sp21.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part2#SP#sp22.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part3#SP#sp31.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part3#SP#sp32.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part4#SP#sp41.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part4#SP#sp42.MYD
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part1#SP#sp11.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part1#SP#sp12.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part2#SP#sp21.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part2#SP#sp22.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part3#SP#sp31.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part3#SP#sp32.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part4#SP#sp41.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part4#SP#sp42.MYI
+
+# 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;
+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)
+, UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1)
+)
+PARTITION BY LIST(ABS(MOD(f_int1,2)))
+SUBPARTITION BY KEY(f_int2) SUBPARTITIONS 3
+(PARTITION part1 VALUES IN (0)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION part2 VALUES IN (1)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION part3 VALUES IN (NULL)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir');
+INSERT INTO t1(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,
+ UNIQUE KEY `uidx1` (`f_int1`,`f_int2`),
+ UNIQUE KEY `uidx2` (`f_int2`,`f_int1`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int2) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part2 VALUES IN (1) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part3 VALUES IN (NULL) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */
+
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#part1sp0.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#part1sp0.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#part1sp1.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#part1sp1.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#part1sp2.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#part1sp2.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#part2sp0.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#part2sp0.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#part2sp1.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#part2sp1.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#part2sp2.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#part2sp2.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#part3sp0.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#part3sp0.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#part3sp1.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#part3sp1.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#part3sp2.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#part3sp2.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part1#SP#part1sp0.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part1#SP#part1sp1.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part1#SP#part1sp2.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part2#SP#part2sp0.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part2#SP#part2sp1.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part2#SP#part2sp2.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part3#SP#part3sp0.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part3#SP#part3sp1.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part3#SP#part3sp2.MYD
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part1#SP#part1sp0.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part1#SP#part1sp1.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part1#SP#part1sp2.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part2#SP#part2sp0.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part2#SP#part2sp1.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part2#SP#part2sp2.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part3#SP#part3sp0.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part3#SP#part3sp1.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part3#SP#part3sp2.MYI
+
+# 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;
+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;
+#========================================================================
+# 5 use partition_directory with DATA/INDEX DIRECTORY
+#========================================================================
+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)
+)
+PARTITION BY HASH(f_int1) PARTITIONS 2
+(PARTITION p1
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION p2
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir');
+INSERT INTO t1(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,
+ UNIQUE KEY `uidx1` (`f_int1`,`f_int2`),
+ UNIQUE KEY `uidx2` (`f_int2`,`f_int1`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION p1 INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION p2 INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */
+
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p1.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p1.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p2.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p2.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+ls: $MYSQLTEST_VARDIR/mysql-test-data-dir/t1*: No such file or directory
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#p1.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#p2.MYI
+
+# 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;
+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)
+, UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1)
+)
+PARTITION BY HASH(f_int1) PARTITIONS 5
+(PARTITION p1
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir',
+PARTITION p2
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION p3
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION p4,
+PARTITION p5
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir');
+INSERT INTO t1(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,
+ UNIQUE KEY `uidx1` (`f_int1`,`f_int2`),
+ UNIQUE KEY `uidx2` (`f_int2`,`f_int1`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION p1 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = MyISAM, PARTITION p2 INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION p3 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION p4 ENGINE = MyISAM, PARTITION p5 INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */
+
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p1.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p1.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p2.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p2.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p3.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p3.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p4.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p4.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p5.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#p5.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#p1.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#p3.MYD
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#p2.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#p3.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#p5.MYI
+
+# 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;
+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)
+, UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1)
+)
+PARTITION BY LIST(MOD(f_int1,4))
+(PARTITION part_3 VALUES IN (-3)
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION part_2 VALUES IN (-2)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir',
+PARTITION part_1 VALUES IN (-1)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION part_N VALUES IN (NULL)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir',
+PARTITION part0 VALUES IN (0)
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION part1 VALUES IN (1)
+,
+PARTITION part2 VALUES IN (2)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir',
+PARTITION part3 VALUES IN (3)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir');
+INSERT INTO t1(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,
+ UNIQUE KEY `uidx1` (`f_int1`,`f_int2`),
+ UNIQUE KEY `uidx2` (`f_int2`,`f_int1`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = MyISAM, PARTITION part0 VALUES IN (0) INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part1 VALUES IN (1) ENGINE = MyISAM, PARTITION part2 VALUES IN (2) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = MyISAM, PARTITION part3 VALUES IN (3) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */
+
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part0.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part0.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part_1.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part_1.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part_2.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part_2.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part_3.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part_3.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part_N.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part_N.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part2.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part3.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part_1.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part_2.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part_N.MYD
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part0.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part3.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part_1.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part_3.MYI
+
+# 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;
+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)
+, UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1)
+)
+PARTITION BY RANGE(f_int1)
+(PARTITION parta VALUES LESS THAN (0)
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION partb VALUES LESS THAN (5)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir',
+PARTITION partc VALUES LESS THAN (10)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION partd VALUES LESS THAN (10 + 5),
+PARTITION parte VALUES LESS THAN (20)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir',
+PARTITION partf VALUES LESS THAN (2147483646)
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir');
+INSERT INTO t1(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,
+ UNIQUE KEY `uidx1` (`f_int1`,`f_int2`),
+ UNIQUE KEY `uidx2` (`f_int2`,`f_int1`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, PARTITION parte VALUES LESS THAN (20) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = MyISAM, PARTITION partf VALUES LESS THAN (2147483646) INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */
+
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1#P#parta.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#parta.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partb.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partb.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partc.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partc.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partd.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partd.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#parte.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#parte.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partf.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partf.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#partb.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#partc.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#parte.MYD
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#parta.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#partc.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#partf.MYI
+
+# 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##';
+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#';
+INSERT INTO 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;
+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)
+, UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1)
+)
+PARTITION BY RANGE(f_int1 DIV 2) SUBPARTITION BY HASH(f_int1) SUBPARTITIONS 2
+(PARTITION parta VALUES LESS THAN (0)
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+PARTITION partb VALUES LESS THAN (5)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir',
+PARTITION partc VALUES LESS THAN (10),
+PARTITION partd VALUES LESS THAN (2147483646)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir');
+INSERT INTO t1(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,
+ UNIQUE KEY `uidx1` (`f_int1`,`f_int2`),
+ UNIQUE KEY `uidx2` (`f_int2`,`f_int1`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (2147483646) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */
+
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1#P#parta#SP#partasp0.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#parta#SP#partasp0.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#parta#SP#partasp1.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#parta#SP#partasp1.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partb#SP#partbsp0.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partb#SP#partbsp0.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partb#SP#partbsp1.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partb#SP#partbsp1.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partc#SP#partcsp0.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partc#SP#partcsp0.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partc#SP#partcsp1.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partc#SP#partcsp1.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partd#SP#partdsp0.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partd#SP#partdsp0.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partd#SP#partdsp1.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#partd#SP#partdsp1.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#partb#SP#partbsp0.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#partb#SP#partbsp1.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#partd#SP#partdsp0.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#partd#SP#partdsp1.MYD
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#parta#SP#partasp0.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#parta#SP#partasp1.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#partd#SP#partdsp0.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#partd#SP#partdsp1.MYI
+
+# 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;
+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)
+, UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1)
+)
+PARTITION BY RANGE(f_int1) SUBPARTITION BY KEY(f_int1)
+(PARTITION part1 VALUES LESS THAN (0)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+(SUBPARTITION subpart11, SUBPARTITION subpart12),
+PARTITION part2 VALUES LESS THAN (5)
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'
+(SUBPARTITION subpart21, SUBPARTITION subpart22),
+PARTITION part3 VALUES LESS THAN (10)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'
+(SUBPARTITION subpart31, SUBPARTITION subpart32),
+PARTITION part4 VALUES LESS THAN (2147483646)
+(SUBPARTITION subpart41, SUBPARTITION subpart42));
+INSERT INTO t1(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,
+ UNIQUE KEY `uidx1` (`f_int1`,`f_int2`),
+ UNIQUE KEY `uidx2` (`f_int2`,`f_int1`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = MyISAM, SUBPARTITION subpart12 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION subpart22 INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION subpart32 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = MyISAM, SUBPARTITION subpart42 ENGINE = MyISAM)) */
+
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#subpart11.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#subpart11.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#subpart12.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#subpart12.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#subpart21.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#subpart21.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#subpart22.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#subpart22.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#subpart31.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#subpart31.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#subpart32.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#subpart32.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part4#SP#subpart41.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part4#SP#subpart41.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part4#SP#subpart42.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part4#SP#subpart42.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part1#SP#subpart11.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part1#SP#subpart12.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part3#SP#subpart31.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part3#SP#subpart32.MYD
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part2#SP#subpart21.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part2#SP#subpart22.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part3#SP#subpart31.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part3#SP#subpart32.MYI
+
+# 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##';
+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#';
+INSERT INTO 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;
+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)
+, UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1)
+)
+PARTITION BY LIST(ABS(MOD(f_int1,3))) SUBPARTITION BY HASH(f_int1 + 1)
+(PARTITION part1 VALUES IN (0)
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'
+(SUBPARTITION sp11
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir',
+SUBPARTITION sp12
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'),
+PARTITION part2 VALUES IN (1)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+(SUBPARTITION sp21
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir',
+SUBPARTITION sp22
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'),
+PARTITION part3 VALUES IN (2)
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'
+(SUBPARTITION sp31,
+SUBPARTITION sp32),
+PARTITION part4 VALUES IN (NULL)
+(SUBPARTITION sp41
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir',
+SUBPARTITION sp42
+DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir'
+INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'));
+INSERT INTO t1(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,
+ UNIQUE KEY `uidx1` (`f_int1`,`f_int2`),
+ UNIQUE KEY `uidx2` (`f_int2`,`f_int1`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION sp12 INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = MyISAM, SUBPARTITION sp22 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION sp32 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION sp42 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM)) */
+
+unified filelist
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#sp11.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#sp11.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#sp12.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#sp12.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#sp21.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#sp21.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#sp22.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#sp22.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#sp31.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#sp31.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#sp32.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#sp32.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part4#SP#sp41.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part4#SP#sp41.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part4#SP#sp42.MYD
+$MYSQLTEST_VARDIR/master-data/test/t1#P#part4#SP#sp42.MYI
+$MYSQLTEST_VARDIR/master-data/test/t1.frm
+$MYSQLTEST_VARDIR/master-data/test/t1.par
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part1#SP#sp11.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part2#SP#sp21.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part2#SP#sp22.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part3#SP#sp31.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part3#SP#sp32.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part4#SP#sp41.MYD
+$MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#part4#SP#sp42.MYD
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part1#SP#sp11.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part1#SP#sp12.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part2#SP#sp22.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part3#SP#sp31.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part3#SP#sp32.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part4#SP#sp41.MYI
+$MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#part4#SP#sp42.MYI
+
+# 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;
+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;
+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_bit_innodb.result b/mysql-test/suite/parts/r/partition_bit_innodb.result
index 9f6403090ee..22d1d0e0a30 100644
--- a/mysql-test/suite/parts/r/partition_bit_innodb.result
+++ b/mysql-test/suite/parts/r/partition_bit_innodb.result
@@ -12,18 +12,14 @@ t1 CREATE TABLE `t1` (
drop table t1;
create table t1 (a bit(0), primary key (a)) engine='INNODB'
partition by key (a) (
-partition pa1 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp',
-partition pa2 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp');
+partition pa1,
+partition pa2);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` bit(1) NOT NULL DEFAULT '\0',
PRIMARY KEY (`a`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB, PARTITION pa2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 ENGINE = InnoDB, PARTITION pa2 ENGINE = InnoDB) */
drop table t1;
create table t1 (a bit(64), primary key (a)) engine='INNODB'
partition by key (a) partitions 2;
@@ -49,24 +45,16 @@ FFFFFFFFFFFFFFFF
drop table t1;
create table t1 (a bit(64), primary key (a)) engine='INNODB'
partition by key (a) (
-partition pa1 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=20 min_rows=2,
-partition pa2 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=3,
-partition pa3 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=4,
-partition pa4 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=40 min_rows=2);
+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` bit(64) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0',
PRIMARY KEY (`a`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */
insert into t1 values
(b'1111111111111111111111111111111111111111111111111111111111111111'),
(b'1000000000000000000000000000000000000000000000000000000000000000'),
@@ -105,8 +93,8 @@ t2 CREATE TABLE `t2` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 4 */
select hex(a) from t2;
hex(a)
-1
0
+1
alter table t2 add primary key (a);
show create table t2;
Table Create Table
@@ -142,20 +130,6 @@ count(*)
select hex(a) from t3;
hex(a)
1
-2
-3
-4
-5
-6
-7
-8
-9
-A
-B
-C
-D
-E
-F
10
11
12
@@ -172,6 +146,7 @@ F
1D
1E
1F
+2
20
21
22
@@ -188,6 +163,7 @@ F
2D
2E
2F
+3
30
31
32
@@ -204,6 +180,7 @@ F
3D
3E
3F
+4
40
41
42
@@ -220,6 +197,7 @@ F
4D
4E
4F
+5
50
51
52
@@ -235,6 +213,7 @@ F
5D
5E
5F
+6
60
61
62
@@ -251,6 +230,7 @@ F
6D
6E
6F
+7
70
71
72
@@ -267,6 +247,7 @@ F
7D
7E
7F
+8
80
81
82
@@ -283,6 +264,7 @@ F
8D
8E
8F
+9
90
91
92
@@ -299,6 +281,7 @@ F
9D
9E
9F
+A
A0
A1
A2
@@ -315,6 +298,7 @@ AC
AD
AE
AF
+B
B0
B1
B2
@@ -331,6 +315,7 @@ BC
BD
BE
BF
+C
C0
C1
C2
@@ -347,6 +332,7 @@ CC
CD
CE
CF
+D
D0
D1
D2
@@ -363,6 +349,7 @@ DC
DD
DE
DF
+E
E0
E1
E2
@@ -379,6 +366,7 @@ EC
ED
EE
EF
+F
F0
F1
F2
@@ -417,20 +405,6 @@ count(*)
31
select hex(a) from t4;
hex(a)
-2
-3
-4
-5
-6
-7
-8
-9
-A
-B
-C
-D
-E
-F
10
11
12
@@ -447,5 +421,19 @@ F
1D
1E
1F
+2
20
+3
+4
+5
+6
+7
+8
+9
+A
+B
+C
+D
+E
+F
drop table t4;
diff --git a/mysql-test/suite/parts/r/partition_bit_myisam.result b/mysql-test/suite/parts/r/partition_bit_myisam.result
index 2bd1b1afd2c..d4b81fc74b5 100644
--- a/mysql-test/suite/parts/r/partition_bit_myisam.result
+++ b/mysql-test/suite/parts/r/partition_bit_myisam.result
@@ -12,18 +12,14 @@ t1 CREATE TABLE `t1` (
drop table t1;
create table t1 (a bit(0), primary key (a)) engine='MyISAM'
partition by key (a) (
-partition pa1 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp',
-partition pa2 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp');
+partition pa1,
+partition pa2);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` bit(1) NOT NULL DEFAULT '\0',
PRIMARY KEY (`a`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/tmp/' INDEX DIRECTORY='/tmp/' /*!50100 PARTITION BY KEY (a) (PARTITION pa1 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM) */
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 ENGINE = MyISAM, PARTITION pa2 ENGINE = MyISAM) */
drop table t1;
create table t1 (a bit(64), primary key (a)) engine='MyISAM'
partition by key (a) partitions 2;
@@ -49,24 +45,16 @@ FFFFFFFFFFFFFFFF
drop table t1;
create table t1 (a bit(64), primary key (a)) engine='MyISAM'
partition by key (a) (
-partition pa1 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=20 min_rows=2,
-partition pa2 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=3,
-partition pa3 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=4,
-partition pa4 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=40 min_rows=2);
+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` bit(64) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0',
PRIMARY KEY (`a`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/tmp/' INDEX DIRECTORY='/tmp/' /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM) */
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */
insert into t1 values
(b'1111111111111111111111111111111111111111111111111111111111111111'),
(b'1000000000000000000000000000000000000000000000000000000000000000'),
@@ -142,20 +130,6 @@ count(*)
select hex(a) from t3;
hex(a)
1
-2
-3
-4
-5
-6
-7
-8
-9
-A
-B
-C
-D
-E
-F
10
11
12
@@ -172,6 +146,7 @@ F
1D
1E
1F
+2
20
21
22
@@ -188,6 +163,7 @@ F
2D
2E
2F
+3
30
31
32
@@ -204,6 +180,7 @@ F
3D
3E
3F
+4
40
41
42
@@ -220,6 +197,7 @@ F
4D
4E
4F
+5
50
51
52
@@ -235,6 +213,7 @@ F
5D
5E
5F
+6
60
61
62
@@ -251,6 +230,7 @@ F
6D
6E
6F
+7
70
71
72
@@ -267,6 +247,7 @@ F
7D
7E
7F
+8
80
81
82
@@ -283,6 +264,7 @@ F
8D
8E
8F
+9
90
91
92
@@ -299,6 +281,7 @@ F
9D
9E
9F
+A
A0
A1
A2
@@ -315,6 +298,7 @@ AC
AD
AE
AF
+B
B0
B1
B2
@@ -331,6 +315,7 @@ BC
BD
BE
BF
+C
C0
C1
C2
@@ -347,6 +332,7 @@ CC
CD
CE
CF
+D
D0
D1
D2
@@ -363,6 +349,7 @@ DC
DD
DE
DF
+E
E0
E1
E2
@@ -379,6 +366,7 @@ EC
ED
EE
EF
+F
F0
F1
F2
@@ -417,20 +405,6 @@ count(*)
31
select hex(a) from t4;
hex(a)
-2
-3
-4
-5
-6
-7
-8
-9
-A
-B
-C
-D
-E
-F
10
11
12
@@ -447,5 +421,19 @@ F
1D
1E
1F
+2
20
+3
+4
+5
+6
+7
+8
+9
+A
+B
+C
+D
+E
+F
drop table t4;
diff --git a/mysql-test/suite/parts/r/partition_char_innodb.result b/mysql-test/suite/parts/r/partition_char_innodb.result
index 27399a0ad41..455ff0353ed 100644
--- a/mysql-test/suite/parts/r/partition_char_innodb.result
+++ b/mysql-test/suite/parts/r/partition_char_innodb.result
@@ -1,25 +1,16 @@
+---- Partitioning and char data type
create table t1 (a char(255) not null, primary key(a)) engine='InnoDB'
partition by key (a) (
-partition pa1 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=20 min_rows=2,
-partition pa2 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=3,
-partition pa3 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=4,
-partition pa4 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=40 min_rows=2);
-Warnings:
-Warning 1266 Using storage engine MyISAM for table 't1'
+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` char(255) NOT NULL,
PRIMARY KEY (`a`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/tmp/' INDEX DIRECTORY='/tmp/' /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */
insert into t1 values (repeat('a',255)), ('b'), (repeat('a',128)), (repeat('b',64));
select * from t1;
a
@@ -40,14 +31,12 @@ bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
drop table t1;
create table t2 (a char(255) not null, primary key(a)) engine='InnoDB'
partition by key (a) partitions 27;
-Warnings:
-Warning 1266 Using storage engine MyISAM for table 't2'
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
`a` char(255) NOT NULL,
PRIMARY KEY (`a`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 27 */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 27 */
26 inserts;
insert into t2 values (repeat(char(ascii('a')+0),26+54));
insert into t2 values (repeat(char(ascii('a')+1),25+54));
@@ -107,28 +96,19 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
drop table t2;
+---- Partitioning and binary data type
create table t1 (a binary(255) not null, primary key(a)) engine='InnoDB'
partition by key (a) (
-partition pa1 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=20 min_rows=2,
-partition pa2 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=3,
-partition pa3 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=4,
-partition pa4 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=40 min_rows=2);
-Warnings:
-Warning 1266 Using storage engine MyISAM for table 't1'
+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` binary(255) NOT NULL,
PRIMARY KEY (`a`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/tmp/' INDEX DIRECTORY='/tmp/' /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */
insert into t1 values (repeat('a',255)), ('b'), (repeat('a',128)), (repeat('b',64));
select hex(a) from t1;
hex(a)
@@ -152,14 +132,12 @@ hex(a)
drop table t1;
create table t2 (a binary(255) not null, primary key(a)) engine='InnoDB'
partition by key (a) partitions 27;
-Warnings:
-Warning 1266 Using storage engine MyISAM for table 't2'
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
`a` binary(255) NOT NULL,
PRIMARY KEY (`a`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 27 */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 27 */
26 inserts;
insert into t2 values (repeat(char(ascii('a')+0),26+54));
insert into t2 values (repeat(char(ascii('a')+1),25+54));
@@ -219,179 +197,19 @@ hex(a)
797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
drop table t2;
-create table t3 (a binary(255) not null, primary key(a)) engine='InnoDB'
-partition by range (ascii(a)) subpartition by key (a) subpartitions 4 (
-partition pa16 values less than (16),
-partition pa32 values less than (32),
-partition pa64 values less than (64),
-partition pa128 values less than (128),
-partition pa256 values less than (256)
-);
-Warnings:
-Warning 1266 Using storage engine MyISAM for table 't3'
-show create table t3;
-Table Create Table
-t3 CREATE TABLE `t3` (
- `a` binary(255) NOT NULL,
- PRIMARY KEY (`a`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (ascii(a)) SUBPARTITION BY KEY (a) SUBPARTITIONS 4 (PARTITION pa16 VALUES LESS THAN (16) ENGINE = MyISAM, PARTITION pa32 VALUES LESS THAN (32) ENGINE = MyISAM, PARTITION pa64 VALUES LESS THAN (64) ENGINE = MyISAM, PARTITION pa128 VALUES LESS THAN (128) ENGINE = MyISAM, PARTITION pa256 VALUES LESS THAN (256) ENGINE = MyISAM) */
-26 inserts;
-insert into t3 values (repeat(char(ascii('a')+0),26+54));
-insert into t3 values (repeat(char(ascii('a')+1),25+54));
-insert into t3 values (repeat(char(ascii('a')+2),24+54));
-insert into t3 values (repeat(char(ascii('a')+3),23+54));
-insert into t3 values (repeat(char(ascii('a')+4),22+54));
-insert into t3 values (repeat(char(ascii('a')+5),21+54));
-insert into t3 values (repeat(char(ascii('a')+6),20+54));
-insert into t3 values (repeat(char(ascii('a')+7),19+54));
-insert into t3 values (repeat(char(ascii('a')+8),18+54));
-insert into t3 values (repeat(char(ascii('a')+9),17+54));
-insert into t3 values (repeat(char(ascii('a')+10),16+54));
-insert into t3 values (repeat(char(ascii('a')+11),15+54));
-insert into t3 values (repeat(char(ascii('a')+12),14+54));
-insert into t3 values (repeat(char(ascii('a')+13),13+54));
-insert into t3 values (repeat(char(ascii('a')+14),12+54));
-insert into t3 values (repeat(char(ascii('a')+15),11+54));
-insert into t3 values (repeat(char(ascii('a')+16),10+54));
-insert into t3 values (repeat(char(ascii('a')+17),9+54));
-insert into t3 values (repeat(char(ascii('a')+18),8+54));
-insert into t3 values (repeat(char(ascii('a')+19),7+54));
-insert into t3 values (repeat(char(ascii('a')+20),6+54));
-insert into t3 values (repeat(char(ascii('a')+21),5+54));
-insert into t3 values (repeat(char(ascii('a')+22),4+54));
-insert into t3 values (repeat(char(ascii('a')+23),3+54));
-insert into t3 values (repeat(char(ascii('a')+24),2+54));
-insert into t3 values (repeat(char(ascii('a')+25),1+54));
-select count(*) from t3;
-count(*)
-26
-select hex(a) from t3;
-hex(a)
-616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262620000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474740000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777770000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-drop table t3;
-create table t4 (a binary(255) not null, primary key(a)) engine='InnoDB'
-partition by list (ascii(a)) subpartition by key (a) subpartitions 4 (
-partition pa16 values in (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16),
-partition pa32 values in (17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32),
-partition pa64 values in (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,61,62,63,64),
-partition pa128 values in (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),
-partition pa256 values in (129,130,131,132,133,134,135,136,137,138,139,140
-,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256)
-);
-Warnings:
-Warning 1266 Using storage engine MyISAM for table 't4'
-show create table t4;
-Table Create Table
-t4 CREATE TABLE `t4` (
- `a` binary(255) NOT NULL,
- PRIMARY KEY (`a`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ascii(a)) SUBPARTITION BY KEY (a) SUBPARTITIONS 4 (PARTITION pa16 VALUES IN (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16) ENGINE = MyISAM, PARTITION pa32 VALUES IN (17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32) ENGINE = MyISAM, PARTITION pa64 VALUES IN (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,61,62,63,64) ENGINE = MyISAM, PARTITION pa128 VALUES IN (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) ENGINE = MyISAM, PARTITION pa256 VALUES IN (129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256) ENGINE = MyISAM) */
-26 inserts;
-insert into t4 values (repeat(char(ascii('a')+0),26+54));
-insert into t4 values (repeat(char(ascii('a')+1),25+54));
-insert into t4 values (repeat(char(ascii('a')+2),24+54));
-insert into t4 values (repeat(char(ascii('a')+3),23+54));
-insert into t4 values (repeat(char(ascii('a')+4),22+54));
-insert into t4 values (repeat(char(ascii('a')+5),21+54));
-insert into t4 values (repeat(char(ascii('a')+6),20+54));
-insert into t4 values (repeat(char(ascii('a')+7),19+54));
-insert into t4 values (repeat(char(ascii('a')+8),18+54));
-insert into t4 values (repeat(char(ascii('a')+9),17+54));
-insert into t4 values (repeat(char(ascii('a')+10),16+54));
-insert into t4 values (repeat(char(ascii('a')+11),15+54));
-insert into t4 values (repeat(char(ascii('a')+12),14+54));
-insert into t4 values (repeat(char(ascii('a')+13),13+54));
-insert into t4 values (repeat(char(ascii('a')+14),12+54));
-insert into t4 values (repeat(char(ascii('a')+15),11+54));
-insert into t4 values (repeat(char(ascii('a')+16),10+54));
-insert into t4 values (repeat(char(ascii('a')+17),9+54));
-insert into t4 values (repeat(char(ascii('a')+18),8+54));
-insert into t4 values (repeat(char(ascii('a')+19),7+54));
-insert into t4 values (repeat(char(ascii('a')+20),6+54));
-insert into t4 values (repeat(char(ascii('a')+21),5+54));
-insert into t4 values (repeat(char(ascii('a')+22),4+54));
-insert into t4 values (repeat(char(ascii('a')+23),3+54));
-insert into t4 values (repeat(char(ascii('a')+24),2+54));
-insert into t4 values (repeat(char(ascii('a')+25),1+54));
-select count(*) from t4;
-count(*)
-26
-select hex(a) from t4;
-hex(a)
-616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262620000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474740000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777770000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-drop table t4;
+---- Partitioning and varchar data type
create table t1 (a varchar(767) not null, primary key(a)) engine='InnoDB'
partition by key (a) (
-partition pa1 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=20 min_rows=2,
-partition pa2 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=3,
-partition pa3 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=4,
-partition pa4 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=40 min_rows=2);
-Warnings:
-Warning 1266 Using storage engine MyISAM for table 't1'
+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` varchar(767) NOT NULL,
PRIMARY KEY (`a`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/tmp/' INDEX DIRECTORY='/tmp/' /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */
insert into t1 values (repeat('a',767)), ('b'), (repeat('a',500)), (repeat('b',64));
select * from t1;
a
@@ -412,14 +230,12 @@ bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
drop table t1;
create table t2 (a varchar(767) not null, primary key(a)) engine='InnoDB'
partition by key (a) partitions 27;
-Warnings:
-Warning 1266 Using storage engine MyISAM for table 't2'
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
`a` varchar(767) NOT NULL,
PRIMARY KEY (`a`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 27 */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 27 */
26 inserts;
insert into t2 values (repeat(char(ascii('a')+0),26*26));
insert into t2 values (repeat(char(ascii('a')+1),25*25));
@@ -479,28 +295,19 @@ xxxxxxxxx
yyyy
z
drop table t2;
+---- Partitioning and varbinary data type
create table t1 (a varbinary(767) not null, primary key(a)) engine='InnoDB'
partition by key (a) (
-partition pa1 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=20 min_rows=2,
-partition pa2 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=3,
-partition pa3 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=4,
-partition pa4 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=40 min_rows=2);
-Warnings:
-Warning 1266 Using storage engine MyISAM for table 't1'
+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` varbinary(767) NOT NULL,
PRIMARY KEY (`a`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/tmp/' INDEX DIRECTORY='/tmp/' /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */
insert into t1 values (repeat('a',767)), ('b'), (repeat('a',500)), (repeat('b',64));
select * from t1;
a
@@ -521,14 +328,12 @@ bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
drop table t1;
create table t2 (a varbinary(767) not null, primary key(a)) engine='InnoDB'
partition by key (a) partitions 30;
-Warnings:
-Warning 1266 Using storage engine MyISAM for table 't2'
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
`a` varbinary(767) NOT NULL,
PRIMARY KEY (`a`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 30 */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 30 */
26 inserts;
insert into t2 values (repeat(char(ascii('a')+0),26*26));
insert into t2 values (repeat(char(ascii('a')+1),25*25));
@@ -588,28 +393,19 @@ xxxxxxxxx
yyyy
z
drop table t2;
+---- Partitioning and enum data type
create table t1 (a enum('A','B','C','D','E','F','G','H','I','J','K','L') not null, primary key(a)) engine='InnoDB'
partition by key (a) (
-partition pa1 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=20 min_rows=2,
-partition pa2 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=3,
-partition pa3 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=4,
-partition pa4 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=40 min_rows=2);
-Warnings:
-Warning 1266 Using storage engine MyISAM for table 't1'
+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` enum('A','B','C','D','E','F','G','H','I','J','K','L') NOT NULL,
PRIMARY KEY (`a`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/tmp/' INDEX DIRECTORY='/tmp/' /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */
insert into t1 values ('A'),('D'),('L'),('G');
select * from t1;
a
@@ -641,14 +437,12 @@ create table t2 (a enum (
'Y','Z'
) not null, primary key(a)) engine='InnoDB'
partition by key (a) partitions 27;
-Warnings:
-Warning 1266 Using storage engine MyISAM for table 't2'
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
`a` enum('1','2','3','4','5','6','7','8','9','0','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z') NOT NULL,
PRIMARY KEY (`a`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 27 */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 27 */
0 inserts;
insert into t2 values (char(ascii('A')+26));
Warnings:
@@ -721,82 +515,19 @@ X
Y
Z
drop table t2;
-create table t3 (a enum (
-'1','2','3','4','5','6','7','8','9','0',
-'A','B','C','D','E','F','G','H','I','J','K','L',
-'M','N','O','P','Q','R','S','T','U','V','W','X',
-'Y','Z'
-) not null, primary key(a)) engine='InnoDB'
-partition by range (cast(a as unsigned)) subpartition by key (a) subpartitions 3 (
-partition pa9 values less than (10),
-partition pa18 values less than (19),
-partition pa27 values less than (28),
-partition pa36 values less than (37)
-);
-Warnings:
-Warning 1266 Using storage engine MyISAM for table 't3'
-show create table t3;
-Table Create Table
-t3 CREATE TABLE `t3` (
- `a` enum('1','2','3','4','5','6','7','8','9','0','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z') NOT NULL,
- PRIMARY KEY (`a`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (cast(a as unsigned)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION pa9 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION pa18 VALUES LESS THAN (19) ENGINE = MyISAM, PARTITION pa27 VALUES LESS THAN (28) ENGINE = MyISAM, PARTITION pa36 VALUES LESS THAN (37) ENGINE = MyISAM) */
-0 inserts;
-select count(*) from t3;
-count(*)
-0
-select * from t3;
-a
-drop table t3;
-create table t4 (a enum (
-'1','2','3','4','5','6','7','8','9','0',
-'A','B','C','D','E','F','G','H','I','J','K','L',
-'M','N','O','P','Q','R','S','T','U','V','W','X',
-'Y','Z'
-) not null, primary key(a)) engine='InnoDB'
-partition by list (cast(a as unsigned)) subpartition by key (a) subpartitions 3 (
-partition pa9 values in (1,2,3,4,5,6,7,8,9),
-partition pa18 values in (10,11,12,13,14,15,16,17,18),
-partition pa27 values in (19,20,21,22,23,24,25,26,27),
-partition pa36 values in (28,29,30,31,32,33,34,35,36)
-);
-Warnings:
-Warning 1266 Using storage engine MyISAM for table 't4'
-show create table t4;
-Table Create Table
-t4 CREATE TABLE `t4` (
- `a` enum('1','2','3','4','5','6','7','8','9','0','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z') NOT NULL,
- PRIMARY KEY (`a`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (cast(a as unsigned)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION pa9 VALUES IN (1,2,3,4,5,6,7,8,9) ENGINE = MyISAM, PARTITION pa18 VALUES IN (10,11,12,13,14,15,16,17,18) ENGINE = MyISAM, PARTITION pa27 VALUES IN (19,20,21,22,23,24,25,26,27) ENGINE = MyISAM, PARTITION pa36 VALUES IN (28,29,30,31,32,33,34,35,36) ENGINE = MyISAM) */
-0 inserts;
-select count(*) from t4;
-count(*)
-0
-select * from t4;
-a
-drop table t4;
+---- Partitioning and set data type
create table t1 (a set('A','B','C','D','E','F','G','H','I','J','K','L') not null, primary key(a)) engine='InnoDB'
partition by key (a) (
-partition pa1 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=20 min_rows=2,
-partition pa2 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=3,
-partition pa3 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=4,
-partition pa4 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=40 min_rows=2);
-Warnings:
-Warning 1266 Using storage engine MyISAM for table 't1'
+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` set('A','B','C','D','E','F','G','H','I','J','K','L') NOT NULL,
PRIMARY KEY (`a`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/tmp/' INDEX DIRECTORY='/tmp/' /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */
insert into t1 values ('A,B'),('C,D'),('E,L'),('G,H,K');
select * from t1 order by a;
a
@@ -828,14 +559,12 @@ create table t2 (a set (
'Y','Z'
) not null, primary key(a)) engine='InnoDB'
partition by key (a) partitions 27;
-Warnings:
-Warning 1266 Using storage engine MyISAM for table 't2'
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
`a` set('1','2','3','4','5','6','7','8','9','0','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z') NOT NULL,
PRIMARY KEY (`a`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 27 */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 27 */
insert into t2 values ('A'),('B'),('C'),('D'),('E'),('F'),('G'),('H'),('I'),('K'),('L'),('M'),('N'),('O'),('P'),('Q'),('S'),('T'),('U'),('V'),('X'),('Y'),('Z');
insert into t2 values ('A,B'),('B,C'),('C,D'),('D,E'),('E,F'),('F,G'),('G,H'),('H,I'),('I,J'),('K,L'),('L,M'),('M,N'),('N,O'),('O,P'),('P,Q'),('Q,R'),('S,T'),('T,U'),('U,V'),('V,W'),('X,Y'),('Y,Z'),('Z,A');
insert into t2 values ('A,B,C'),('B,C,D'),('C,D,E'),('D,E,F'),('E,F,G'),('F,G,H'),('G,H,I'),('H,I,J'),('I,J,K'),('K,L,M'),('L,M,N'),('M,N,O'),('N,O,P'),('O,P,Q'),('P,Q,R'),('Q,R,S'),('S,T,U'),('T,U,V'),('U,V,W'),('V,W,X'),('X,Y,Z'),('Y,Z,A'),('Z,A,B');
@@ -947,70 +676,13 @@ Y,Z
A,Y,Z
X,Y,Z
drop table t2;
-create table t3 (a set (
-'1','2','3','4','5','6','7','8','9','0'
-) not null, primary key(a)) engine='InnoDB'
-partition by range (cast(a as unsigned)) subpartition by key (a) subpartitions 3 (
-partition pa9 values less than (10),
-partition pa18 values less than (19),
-partition pa27 values less than (28),
-partition pa36 values less than (37),
-partition pa64 values less than (65),
-partition pa128 values less than (129),
-partition pa256 values less than (257),
-partition pa512 values less than (513),
-partition pa768 values less than (769),
-partition pa1024 values less than (1025)
-);
-Warnings:
-Warning 1266 Using storage engine MyISAM for table 't3'
-show create table t3;
-Table Create Table
-t3 CREATE TABLE `t3` (
- `a` set('1','2','3','4','5','6','7','8','9','0') NOT NULL,
- PRIMARY KEY (`a`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (cast(a as unsigned)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION pa9 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION pa18 VALUES LESS THAN (19) ENGINE = MyISAM, PARTITION pa27 VALUES LESS THAN (28) ENGINE = MyISAM, PARTITION pa36 VALUES LESS THAN (37) ENGINE = MyISAM, PARTITION pa64 VALUES LESS THAN (65) ENGINE = MyISAM, PARTITION pa128 VALUES LESS THAN (129) ENGINE = MyISAM, PARTITION pa256 VALUES LESS THAN (257) ENGINE = MyISAM, PARTITION pa512 VALUES LESS THAN (513) ENGINE = MyISAM, PARTITION pa768 VALUES LESS THAN (769) ENGINE = MyISAM, PARTITION pa1024 VALUES LESS THAN (1025) ENGINE = MyISAM) */
-select count(*) from t3;
-count(*)
-0
-select * from t3 order by a;
-a
-drop table t3;
-create table t4 (a set (
-'1','2','3') not null, primary key(a)) engine='InnoDB'
-partition by list (cast(a as unsigned)) subpartition by key (a) subpartitions 3 (
-partition pa9 values in (1,2,3,4,5,6,7,8,9),
-partition pa18 values in (10,11,12,13,14,15,16,17,18),
-partition pa27 values in (19,20,21,22,23,24,25,26,27)
-);
-Warnings:
-Warning 1266 Using storage engine MyISAM for table 't4'
-show create table t4;
-Table Create Table
-t4 CREATE TABLE `t4` (
- `a` set('1','2','3') NOT NULL,
- PRIMARY KEY (`a`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (cast(a as unsigned)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION pa9 VALUES IN (1,2,3,4,5,6,7,8,9) ENGINE = MyISAM, PARTITION pa18 VALUES IN (10,11,12,13,14,15,16,17,18) ENGINE = MyISAM, PARTITION pa27 VALUES IN (19,20,21,22,23,24,25,26,27) ENGINE = MyISAM) */
-select count(*) from t4;
-count(*)
-0
-select * from t4 order by a;
-a
-drop table t4;
+---- Partitioning and blob data type
create table t1 (a blob not null, primary key(a(767))) engine='InnoDB'
partition by key (a) (
-partition pa1 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=20 min_rows=2,
-partition pa2 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=3,
-partition pa3 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=4,
-partition pa4 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=40 min_rows=2);
+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);
ERROR HY000: A BLOB field is not allowed in partition function
create table t2 (a blob not null, primary key(a(767))) engine='InnoDB'
partition by key (a) partitions 30;
@@ -1024,20 +696,13 @@ ERROR HY000: A BLOB field is not allowed in partition function
create table t2 (a longblob not null, primary key(a(767))) engine='InnoDB'
partition by key (a) partitions 30;
ERROR HY000: A BLOB field is not allowed in partition function
+---- Partitioning and text data type
create table t1 (a text not null, primary key(a(767))) engine='InnoDB'
partition by key (a) (
-partition pa1 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=20 min_rows=2,
-partition pa2 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=3,
-partition pa3 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=4,
-partition pa4 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=40 min_rows=2);
+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);
ERROR HY000: A BLOB field is not allowed in partition function
create table t2 (a tinytext not null, primary key(a(767))) engine='InnoDB'
partition by key (a) partitions 30;
diff --git a/mysql-test/suite/parts/r/partition_char_myisam.result b/mysql-test/suite/parts/r/partition_char_myisam.result
index 514b2dba1bf..af25f4b19a4 100644
--- a/mysql-test/suite/parts/r/partition_char_myisam.result
+++ b/mysql-test/suite/parts/r/partition_char_myisam.result
@@ -1,40 +1,715 @@
-create table t1 (a date not null, b varchar(50) not null, c varchar(50) not null, d enum('m', 'w'), primary key(a,b,c,d)) engine='MyISAM'
-partition by key (a,b,c,d) (
-partition pa1 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=20 min_rows=2,
-partition pa2 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=3,
-partition pa3 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=4,
-partition pa4 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=40 min_rows=2);
+---- Partitioning and char data type
+create table t1 (a char(255) not null, primary key(a)) engine='MyISAM'
+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` date NOT NULL,
- `b` varchar(50) NOT NULL,
- `c` varchar(50) NOT NULL,
- `d` enum('m','w') NOT NULL DEFAULT 'm',
- PRIMARY KEY (`a`,`b`,`c`,`d`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/tmp/' INDEX DIRECTORY='/tmp/' /*!50100 PARTITION BY KEY (a,b,c,d) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM) */
-insert into t1 values
-('1975-01-01', 'abcde', 'abcde','m'),
-('1983-12-31', 'cdef', 'srtbvsr', 'w'),
-('1980-10-14', 'fgbbd', 'dtzndtz', 'w'),
-('2000-06-15', 'jukg','zikhuk','m');
-select * from t1;
-a b c d
-1975-01-01 abcde abcde m
-1980-10-14 fgbbd dtzndtz w
-1983-12-31 cdef srtbvsr w
-2000-06-15 jukg zikhuk m
-select * from t1 where a<19851231;
-a b c d
-1975-01-01 abcde abcde m
-1980-10-14 fgbbd dtzndtz w
-1983-12-31 cdef srtbvsr w
+ `a` char(255) NOT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */
+insert into t1 values (repeat('a',255)), ('b'), (repeat('a',128)), (repeat('b',64));
+select * from t1;
+a
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+b
+bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
+select * from t1 where a='b';
+a
+b
+update t1 set a='bb' where a='b';
+delete from t1 where a='bb';
+select * from t1;
+a
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
+drop table t1;
+create table t2 (a char(255) not null, primary key(a)) engine='MyISAM'
+partition by key (a) partitions 27;
+show create table t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` char(255) NOT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 27 */
+26 inserts;
+insert into t2 values (repeat(char(ascii('a')+0),26+54));
+insert into t2 values (repeat(char(ascii('a')+1),25+54));
+insert into t2 values (repeat(char(ascii('a')+2),24+54));
+insert into t2 values (repeat(char(ascii('a')+3),23+54));
+insert into t2 values (repeat(char(ascii('a')+4),22+54));
+insert into t2 values (repeat(char(ascii('a')+5),21+54));
+insert into t2 values (repeat(char(ascii('a')+6),20+54));
+insert into t2 values (repeat(char(ascii('a')+7),19+54));
+insert into t2 values (repeat(char(ascii('a')+8),18+54));
+insert into t2 values (repeat(char(ascii('a')+9),17+54));
+insert into t2 values (repeat(char(ascii('a')+10),16+54));
+insert into t2 values (repeat(char(ascii('a')+11),15+54));
+insert into t2 values (repeat(char(ascii('a')+12),14+54));
+insert into t2 values (repeat(char(ascii('a')+13),13+54));
+insert into t2 values (repeat(char(ascii('a')+14),12+54));
+insert into t2 values (repeat(char(ascii('a')+15),11+54));
+insert into t2 values (repeat(char(ascii('a')+16),10+54));
+insert into t2 values (repeat(char(ascii('a')+17),9+54));
+insert into t2 values (repeat(char(ascii('a')+18),8+54));
+insert into t2 values (repeat(char(ascii('a')+19),7+54));
+insert into t2 values (repeat(char(ascii('a')+20),6+54));
+insert into t2 values (repeat(char(ascii('a')+21),5+54));
+insert into t2 values (repeat(char(ascii('a')+22),4+54));
+insert into t2 values (repeat(char(ascii('a')+23),3+54));
+insert into t2 values (repeat(char(ascii('a')+24),2+54));
+insert into t2 values (repeat(char(ascii('a')+25),1+54));
+select count(*) from t2;
+count(*)
+26
+select * from t2;
+a
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
+cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
+ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
+eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
+fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
+hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
+iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
+jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
+kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
+lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
+mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
+nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
+oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
+ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp
+qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
+ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
+ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt
+uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
+vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
+wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
+zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
+drop table t2;
+---- Partitioning and binary data type
+create table t1 (a binary(255) not null, primary key(a)) engine='MyISAM'
+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` binary(255) NOT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */
+insert into t1 values (repeat('a',255)), ('b'), (repeat('a',128)), (repeat('b',64));
+select hex(a) from t1;
+hex(a)
+616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161
+620000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262620000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+select a from t1 where substr(a,1,2)='b\0';
+a
+b
+update t1 set a='cc' where substr(a,1,2)= 'b\0';
+select a from t1 where substr(a,1,1)='c';
+a
+cc
+delete from t1 where substr(a,1,2)='cc';
+select hex(a) from t1;
+hex(a)
+616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161
+626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262620000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+drop table t1;
+create table t2 (a binary(255) not null, primary key(a)) engine='MyISAM'
+partition by key (a) partitions 27;
+show create table t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` binary(255) NOT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 27 */
+26 inserts;
+insert into t2 values (repeat(char(ascii('a')+0),26+54));
+insert into t2 values (repeat(char(ascii('a')+1),25+54));
+insert into t2 values (repeat(char(ascii('a')+2),24+54));
+insert into t2 values (repeat(char(ascii('a')+3),23+54));
+insert into t2 values (repeat(char(ascii('a')+4),22+54));
+insert into t2 values (repeat(char(ascii('a')+5),21+54));
+insert into t2 values (repeat(char(ascii('a')+6),20+54));
+insert into t2 values (repeat(char(ascii('a')+7),19+54));
+insert into t2 values (repeat(char(ascii('a')+8),18+54));
+insert into t2 values (repeat(char(ascii('a')+9),17+54));
+insert into t2 values (repeat(char(ascii('a')+10),16+54));
+insert into t2 values (repeat(char(ascii('a')+11),15+54));
+insert into t2 values (repeat(char(ascii('a')+12),14+54));
+insert into t2 values (repeat(char(ascii('a')+13),13+54));
+insert into t2 values (repeat(char(ascii('a')+14),12+54));
+insert into t2 values (repeat(char(ascii('a')+15),11+54));
+insert into t2 values (repeat(char(ascii('a')+16),10+54));
+insert into t2 values (repeat(char(ascii('a')+17),9+54));
+insert into t2 values (repeat(char(ascii('a')+18),8+54));
+insert into t2 values (repeat(char(ascii('a')+19),7+54));
+insert into t2 values (repeat(char(ascii('a')+20),6+54));
+insert into t2 values (repeat(char(ascii('a')+21),5+54));
+insert into t2 values (repeat(char(ascii('a')+22),4+54));
+insert into t2 values (repeat(char(ascii('a')+23),3+54));
+insert into t2 values (repeat(char(ascii('a')+24),2+54));
+insert into t2 values (repeat(char(ascii('a')+25),1+54));
+select count(*) from t2;
+count(*)
+26
+select hex(a) from t2;
+hex(a)
+616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262620000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474740000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777770000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+drop table t2;
+---- Partitioning and varchar data type
+create table t1 (a varchar(767) not null, primary key(a)) engine='MyISAM'
+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` varchar(767) NOT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */
+insert into t1 values (repeat('a',767)), ('b'), (repeat('a',500)), (repeat('b',64));
+select * from t1;
+a
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+b
+bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
+select * from t1 where a='b';
+a
+b
+update t1 set a='bb' where a='b';
+delete from t1 where a='bb';
+select * from t1;
+a
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
drop table t1;
+create table t2 (a varchar(767) not null, primary key(a)) engine='MyISAM'
+partition by key (a) partitions 27;
+show create table t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` varchar(767) NOT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 27 */
+26 inserts;
+insert into t2 values (repeat(char(ascii('a')+0),26*26));
+insert into t2 values (repeat(char(ascii('a')+1),25*25));
+insert into t2 values (repeat(char(ascii('a')+2),24*24));
+insert into t2 values (repeat(char(ascii('a')+3),23*23));
+insert into t2 values (repeat(char(ascii('a')+4),22*22));
+insert into t2 values (repeat(char(ascii('a')+5),21*21));
+insert into t2 values (repeat(char(ascii('a')+6),20*20));
+insert into t2 values (repeat(char(ascii('a')+7),19*19));
+insert into t2 values (repeat(char(ascii('a')+8),18*18));
+insert into t2 values (repeat(char(ascii('a')+9),17*17));
+insert into t2 values (repeat(char(ascii('a')+10),16*16));
+insert into t2 values (repeat(char(ascii('a')+11),15*15));
+insert into t2 values (repeat(char(ascii('a')+12),14*14));
+insert into t2 values (repeat(char(ascii('a')+13),13*13));
+insert into t2 values (repeat(char(ascii('a')+14),12*12));
+insert into t2 values (repeat(char(ascii('a')+15),11*11));
+insert into t2 values (repeat(char(ascii('a')+16),10*10));
+insert into t2 values (repeat(char(ascii('a')+17),9*9));
+insert into t2 values (repeat(char(ascii('a')+18),8*8));
+insert into t2 values (repeat(char(ascii('a')+19),7*7));
+insert into t2 values (repeat(char(ascii('a')+20),6*6));
+insert into t2 values (repeat(char(ascii('a')+21),5*5));
+insert into t2 values (repeat(char(ascii('a')+22),4*4));
+insert into t2 values (repeat(char(ascii('a')+23),3*3));
+insert into t2 values (repeat(char(ascii('a')+24),2*2));
+insert into t2 values (repeat(char(ascii('a')+25),1*1));
+select count(*) from t2;
+count(*)
+26
+select * from t2;
+a
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
+cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
+ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
+eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
+fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
+hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
+iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
+jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
+kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
+lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
+mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
+nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
+oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
+ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp
+qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
+ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
+ttttttttttttttttttttttttttttttttttttttttttttttttt
+uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
+vvvvvvvvvvvvvvvvvvvvvvvvv
+wwwwwwwwwwwwwwww
+xxxxxxxxx
+yyyy
+z
+drop table t2;
+---- Partitioning and varbinary data type
+create table t1 (a varbinary(767) not null, primary key(a)) engine='MyISAM'
+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` varbinary(767) NOT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */
+insert into t1 values (repeat('a',767)), ('b'), (repeat('a',500)), (repeat('b',64));
+select * from t1;
+a
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+b
+bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
+select * from t1 where a='b';
+a
+b
+update t1 set a='bb' where a='b';
+delete from t1 where a='bb';
+select * from t1;
+a
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
+drop table t1;
+create table t2 (a varbinary(767) not null, primary key(a)) engine='MyISAM'
+partition by key (a) partitions 30;
+show create table t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` varbinary(767) NOT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 30 */
+26 inserts;
+insert into t2 values (repeat(char(ascii('a')+0),26*26));
+insert into t2 values (repeat(char(ascii('a')+1),25*25));
+insert into t2 values (repeat(char(ascii('a')+2),24*24));
+insert into t2 values (repeat(char(ascii('a')+3),23*23));
+insert into t2 values (repeat(char(ascii('a')+4),22*22));
+insert into t2 values (repeat(char(ascii('a')+5),21*21));
+insert into t2 values (repeat(char(ascii('a')+6),20*20));
+insert into t2 values (repeat(char(ascii('a')+7),19*19));
+insert into t2 values (repeat(char(ascii('a')+8),18*18));
+insert into t2 values (repeat(char(ascii('a')+9),17*17));
+insert into t2 values (repeat(char(ascii('a')+10),16*16));
+insert into t2 values (repeat(char(ascii('a')+11),15*15));
+insert into t2 values (repeat(char(ascii('a')+12),14*14));
+insert into t2 values (repeat(char(ascii('a')+13),13*13));
+insert into t2 values (repeat(char(ascii('a')+14),12*12));
+insert into t2 values (repeat(char(ascii('a')+15),11*11));
+insert into t2 values (repeat(char(ascii('a')+16),10*10));
+insert into t2 values (repeat(char(ascii('a')+17),9*9));
+insert into t2 values (repeat(char(ascii('a')+18),8*8));
+insert into t2 values (repeat(char(ascii('a')+19),7*7));
+insert into t2 values (repeat(char(ascii('a')+20),6*6));
+insert into t2 values (repeat(char(ascii('a')+21),5*5));
+insert into t2 values (repeat(char(ascii('a')+22),4*4));
+insert into t2 values (repeat(char(ascii('a')+23),3*3));
+insert into t2 values (repeat(char(ascii('a')+24),2*2));
+insert into t2 values (repeat(char(ascii('a')+25),1*1));
+select count(*) from t2;
+count(*)
+26
+select * from t2;
+a
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
+cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
+ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
+eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
+fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
+hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
+iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
+jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
+kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
+lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
+mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
+nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
+oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
+ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp
+qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
+ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
+ttttttttttttttttttttttttttttttttttttttttttttttttt
+uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
+vvvvvvvvvvvvvvvvvvvvvvvvv
+wwwwwwwwwwwwwwww
+xxxxxxxxx
+yyyy
+z
+drop table t2;
+---- Partitioning and enum data type
+create table t1 (a enum('A','B','C','D','E','F','G','H','I','J','K','L') not null, primary key(a)) engine='MyISAM'
+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` enum('A','B','C','D','E','F','G','H','I','J','K','L') NOT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */
+insert into t1 values ('A'),('D'),('L'),('G');
+select * from t1;
+a
+A
+D
+G
+L
+select * from t1 where a='A';
+a
+A
+update t1 set a='E' where a='L';
+select * from t1;
+a
+A
+D
+E
+G
+delete from t1 where a='E';
+select * from t1;
+a
+A
+D
+G
+drop table t1;
+create table t2 (a enum (
+'1','2','3','4','5','6','7','8','9','0',
+'A','B','C','D','E','F','G','H','I','J','K','L',
+'M','N','O','P','Q','R','S','T','U','V','W','X',
+'Y','Z'
+) not null, primary key(a)) engine='MyISAM'
+partition by key (a) partitions 27;
+show create table t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` enum('1','2','3','4','5','6','7','8','9','0','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z') NOT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 27 */
+0 inserts;
+insert into t2 values (char(ascii('A')+26));
+Warnings:
+Warning 1265 Data truncated for column 'a' at row 1
+insert into t2 values (char(ascii('A')+25));
+insert into t2 values (char(ascii('A')+24));
+insert into t2 values (char(ascii('A')+23));
+insert into t2 values (char(ascii('A')+22));
+insert into t2 values (char(ascii('A')+21));
+insert into t2 values (char(ascii('A')+20));
+insert into t2 values (char(ascii('A')+19));
+insert into t2 values (char(ascii('A')+18));
+insert into t2 values (char(ascii('A')+17));
+insert into t2 values (char(ascii('A')+16));
+insert into t2 values (char(ascii('A')+15));
+insert into t2 values (char(ascii('A')+14));
+insert into t2 values (char(ascii('A')+13));
+insert into t2 values (char(ascii('A')+12));
+insert into t2 values (char(ascii('A')+11));
+insert into t2 values (char(ascii('A')+10));
+insert into t2 values (char(ascii('A')+9));
+insert into t2 values (char(ascii('A')+8));
+insert into t2 values (char(ascii('A')+7));
+insert into t2 values (char(ascii('A')+6));
+insert into t2 values (char(ascii('A')+5));
+insert into t2 values (char(ascii('A')+4));
+insert into t2 values (char(ascii('A')+3));
+insert into t2 values (char(ascii('A')+2));
+insert into t2 values (char(ascii('A')+1));
+insert into t2 values ('1'),('2'),('3'),('4'),('5'),('6'),('7'),('8'),('9'),('0');
+select count(*) from t2;
+count(*)
+36
+select * from t2;
+a
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+0
+B
+C
+D
+E
+F
+G
+H
+I
+J
+K
+L
+M
+N
+O
+P
+Q
+R
+S
+T
+U
+V
+W
+X
+Y
+Z
+drop table t2;
+---- Partitioning and set data type
+create table t1 (a set('A','B','C','D','E','F','G','H','I','J','K','L') not null, primary key(a)) engine='MyISAM'
+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` set('A','B','C','D','E','F','G','H','I','J','K','L') NOT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */
+insert into t1 values ('A,B'),('C,D'),('E,L'),('G,H,K');
+select * from t1 order by a;
+a
+A,B
+C,D
+G,H,K
+E,L
+select * from t1 where a='A,B';
+a
+A,B
+update t1 set a='A,B,C' where a='E,L';
+select * from t1 order by a;
+a
+A,B
+A,B,C
+C,D
+G,H,K
+delete from t1 where a='A,B';
+select * from t1 order by a;
+a
+A,B,C
+C,D
+G,H,K
+drop table t1;
+create table t2 (a set (
+'1','2','3','4','5','6','7','8','9','0',
+'A','B','C','D','E','F','G','H','I','J','K','L',
+'M','N','O','P','Q','R','S','T','U','V','W','X',
+'Y','Z'
+) not null, primary key(a)) engine='MyISAM'
+partition by key (a) partitions 27;
+show create table t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` set('1','2','3','4','5','6','7','8','9','0','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z') NOT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 27 */
+insert into t2 values ('A'),('B'),('C'),('D'),('E'),('F'),('G'),('H'),('I'),('K'),('L'),('M'),('N'),('O'),('P'),('Q'),('S'),('T'),('U'),('V'),('X'),('Y'),('Z');
+insert into t2 values ('A,B'),('B,C'),('C,D'),('D,E'),('E,F'),('F,G'),('G,H'),('H,I'),('I,J'),('K,L'),('L,M'),('M,N'),('N,O'),('O,P'),('P,Q'),('Q,R'),('S,T'),('T,U'),('U,V'),('V,W'),('X,Y'),('Y,Z'),('Z,A');
+insert into t2 values ('A,B,C'),('B,C,D'),('C,D,E'),('D,E,F'),('E,F,G'),('F,G,H'),('G,H,I'),('H,I,J'),('I,J,K'),('K,L,M'),('L,M,N'),('M,N,O'),('N,O,P'),('O,P,Q'),('P,Q,R'),('Q,R,S'),('S,T,U'),('T,U,V'),('U,V,W'),('V,W,X'),('X,Y,Z'),('Y,Z,A'),('Z,A,B');
+insert into t2 values ('1'),('2'),('3'),('4'),('5'),('6'),('7'),('8'),('9'),('0');
+insert into t2 values ('1,2'),('2,3'),('3,4'),('4,5'),('5,6'),('6,7'),('7,8'),('8,9'),('9,0'),('0,1');
+insert into t2 values ('1,2,3'),('2,3,4'),('3,4,5'),('4,5,6'),('5,6,7'),('6,7,8'),('7,8,9'),('8,9,0'),('9,0,1'),('0,1,2');
+select count(*) from t2;
+count(*)
+99
+select * from t2 order by a;
+a
+1
+2
+1,2
+3
+2,3
+1,2,3
+4
+3,4
+2,3,4
+5
+4,5
+3,4,5
+6
+5,6
+4,5,6
+7
+6,7
+5,6,7
+8
+7,8
+6,7,8
+9
+8,9
+7,8,9
+0
+1,0
+1,2,0
+9,0
+1,9,0
+8,9,0
+A
+B
+A,B
+C
+B,C
+A,B,C
+D
+C,D
+B,C,D
+E
+D,E
+C,D,E
+F
+E,F
+D,E,F
+G
+F,G
+E,F,G
+H
+G,H
+F,G,H
+I
+H,I
+G,H,I
+I,J
+H,I,J
+K
+I,J,K
+L
+K,L
+M
+L,M
+K,L,M
+N
+M,N
+L,M,N
+O
+N,O
+M,N,O
+P
+O,P
+N,O,P
+Q
+P,Q
+O,P,Q
+Q,R
+P,Q,R
+S
+Q,R,S
+T
+S,T
+U
+T,U
+S,T,U
+V
+U,V
+T,U,V
+V,W
+U,V,W
+X
+V,W,X
+Y
+X,Y
+Z
+A,Z
+A,B,Z
+Y,Z
+A,Y,Z
+X,Y,Z
+drop table t2;
+---- Partitioning and blob data type
+create table t1 (a blob not null, primary key(a(767))) engine='MyISAM'
+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);
+ERROR HY000: A BLOB field is not allowed in partition function
+create table t2 (a blob not null, primary key(a(767))) engine='MyISAM'
+partition by key (a) partitions 30;
+ERROR HY000: A BLOB field is not allowed in partition function
+create table t2 (a tinyblob not null, primary key(a(767))) engine='MyISAM'
+partition by key (a) partitions 30;
+ERROR HY000: A BLOB field is not allowed in partition function
+create table t2 (a mediumblob not null, primary key(a(767))) engine='MyISAM'
+partition by key (a) partitions 30;
+ERROR HY000: A BLOB field is not allowed in partition function
+create table t2 (a longblob not null, primary key(a(767))) engine='MyISAM'
+partition by key (a) partitions 30;
+ERROR HY000: A BLOB field is not allowed in partition function
+---- Partitioning and text data type
+create table t1 (a text not null, primary key(a(767))) engine='MyISAM'
+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);
+ERROR HY000: A BLOB field is not allowed in partition function
+create table t2 (a tinytext not null, primary key(a(767))) engine='MyISAM'
+partition by key (a) partitions 30;
+ERROR HY000: A BLOB field is not allowed in partition function
+create table t2 (a mediumtext not null, primary key(a(767))) engine='MyISAM'
+partition by key (a) partitions 30;
+ERROR HY000: A BLOB field is not allowed in partition function
+create table t2 (a longtext not null, primary key(a(767))) engine='MyISAM'
+partition by key (a) partitions 30;
+ERROR HY000: A BLOB field is not allowed in partition function
diff --git a/mysql-test/suite/parts/r/partition_datetime_innodb.result b/mysql-test/suite/parts/r/partition_datetime_innodb.result
index f8cf390ebbb..0d95df98bbf 100644
--- a/mysql-test/suite/parts/r/partition_datetime_innodb.result
+++ b/mysql-test/suite/parts/r/partition_datetime_innodb.result
@@ -1,23 +1,15 @@
create table t1 (a timestamp not null, primary key(a)) engine='InnoDB'
partition by key (a) (
-partition pa1 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=20 min_rows=2,
-partition pa2 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=3,
-partition pa3 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=4,
-partition pa4 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=40 min_rows=2);
+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` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`a`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */
insert into t1 values ('1975-01-01 21:21:21'), ('2020-12-31 12:10:30'), ('1980-10-14 03:03'), ('2000-06-15 23:59');
select * from t1;
a
@@ -186,7 +178,7 @@ a
1971-01-01 00:00:59
drop table t2;
create table t3 (a timestamp not null, primary key(a)) engine='InnoDB'
-partition by range (cast(month(a) as unsigned)) subpartition by key (a)
+partition by range (month(a)) subpartition by key (a)
subpartitions 3 (
partition quarter1 values less than (4),
partition quarter2 values less than (7),
@@ -198,7 +190,7 @@ Table Create Table
t3 CREATE TABLE `t3` (
`a` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`a`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (cast(month(a) as unsigned)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION quarter1 VALUES LESS THAN (4) ENGINE = InnoDB, PARTITION quarter2 VALUES LESS THAN (7) ENGINE = InnoDB, PARTITION quarter3 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION quarter4 VALUES LESS THAN (13) ENGINE = InnoDB) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (month(a)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION quarter1 VALUES LESS THAN (4) ENGINE = InnoDB, PARTITION quarter2 VALUES LESS THAN (7) ENGINE = InnoDB, PARTITION quarter3 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION quarter4 VALUES LESS THAN (13) ENGINE = InnoDB) */
12 inserts;
insert into t3 values (date_add('1970-01-01 00:00:00',interval 12-1 month));
insert into t3 values (date_add('1970-01-01 00:00:00',interval 11-1 month));
@@ -233,7 +225,7 @@ a
1970-12-01 00:00:00
drop table t3;
create table t4 (a timestamp not null, primary key(a)) engine='InnoDB'
-partition by list (cast(month(a) as unsigned)) subpartition by key (a)
+partition by list (month(a)) subpartition by key (a)
subpartitions 3 (
partition quarter1 values in (0,1,2,3),
partition quarter2 values in (4,5,6),
@@ -245,7 +237,7 @@ Table Create Table
t4 CREATE TABLE `t4` (
`a` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`a`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (cast(month(a) as unsigned)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION quarter1 VALUES IN (0,1,2,3) ENGINE = InnoDB, PARTITION quarter2 VALUES IN (4,5,6) ENGINE = InnoDB, PARTITION quarter3 VALUES IN (7,8,9) ENGINE = InnoDB, PARTITION quarter4 VALUES IN (10,11,12) ENGINE = InnoDB) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (month(a)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION quarter1 VALUES IN (0,1,2,3) ENGINE = InnoDB, PARTITION quarter2 VALUES IN (4,5,6) ENGINE = InnoDB, PARTITION quarter3 VALUES IN (7,8,9) ENGINE = InnoDB, PARTITION quarter4 VALUES IN (10,11,12) ENGINE = InnoDB) */
12 inserts;
insert into t4 values (date_add('1970-01-01 00:00:00',interval 12-1 month));
insert into t4 values (date_add('1970-01-01 00:00:00',interval 11-1 month));
@@ -281,24 +273,16 @@ a
drop table t4;
create table t1 (a date not null, primary key(a)) engine='InnoDB'
partition by key (a) (
-partition pa1 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=20 min_rows=2,
-partition pa2 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=3,
-partition pa3 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=4,
-partition pa4 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=40 min_rows=2);
+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` date NOT NULL,
PRIMARY KEY (`a`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */
insert into t1 values ('1975-01-01'), ('2020-12-31'), ('1980-10-14'), ('2000-06-15');
select * from t1;
a
@@ -517,7 +501,7 @@ a
1970-03-28
drop table t2;
create table t3 (a date not null, primary key(a)) engine='InnoDB'
-partition by range (cast(month(a) as unsigned)) subpartition by key (a)
+partition by range (month(a)) subpartition by key (a)
subpartitions 3 (
partition quarter1 values less than (4),
partition quarter2 values less than (7),
@@ -529,7 +513,7 @@ Table Create Table
t3 CREATE TABLE `t3` (
`a` date NOT NULL,
PRIMARY KEY (`a`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (cast(month(a) as unsigned)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION quarter1 VALUES LESS THAN (4) ENGINE = InnoDB, PARTITION quarter2 VALUES LESS THAN (7) ENGINE = InnoDB, PARTITION quarter3 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION quarter4 VALUES LESS THAN (13) ENGINE = InnoDB) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (month(a)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION quarter1 VALUES LESS THAN (4) ENGINE = InnoDB, PARTITION quarter2 VALUES LESS THAN (7) ENGINE = InnoDB, PARTITION quarter3 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION quarter4 VALUES LESS THAN (13) ENGINE = InnoDB) */
12 inserts;
insert into t3 values (adddate(19700101,interval 12-1 month));
insert into t3 values (adddate(19700101,interval 11-1 month));
@@ -562,7 +546,7 @@ a
1970-12-01
drop table t3;
create table t4 (a date not null, primary key(a)) engine='InnoDB'
-partition by list (cast(month(a) as unsigned)) subpartition by key (a)
+partition by list (month(a)) subpartition by key (a)
subpartitions 3 (
partition quarter1 values in (1,2,3),
partition quarter2 values in (4,5,6),
@@ -574,7 +558,7 @@ Table Create Table
t4 CREATE TABLE `t4` (
`a` date NOT NULL,
PRIMARY KEY (`a`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (cast(month(a) as unsigned)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION quarter1 VALUES IN (1,2,3) ENGINE = InnoDB, PARTITION quarter2 VALUES IN (4,5,6) ENGINE = InnoDB, PARTITION quarter3 VALUES IN (7,8,9) ENGINE = InnoDB, PARTITION quarter4 VALUES IN (10,11,12) ENGINE = InnoDB) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (month(a)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION quarter1 VALUES IN (1,2,3) ENGINE = InnoDB, PARTITION quarter2 VALUES IN (4,5,6) ENGINE = InnoDB, PARTITION quarter3 VALUES IN (7,8,9) ENGINE = InnoDB, PARTITION quarter4 VALUES IN (10,11,12) ENGINE = InnoDB) */
12 inserts;
insert into t4 values (adddate(19700101,interval 12-1 month));
insert into t4 values (adddate(19700101,interval 11-1 month));
@@ -608,24 +592,16 @@ a
drop table t4;
create table t1 (a time not null, primary key(a)) engine='InnoDB'
partition by key (a) (
-partition pa1 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=20 min_rows=2,
-partition pa2 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=3,
-partition pa3 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=4,
-partition pa4 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=40 min_rows=2);
+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` time NOT NULL,
PRIMARY KEY (`a`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */
insert into t1 values ('21:21:21'), ('12:10:30'), ('03:03:03'), ('23:59');
select * from t1;
a
@@ -794,7 +770,7 @@ a
00:01:59
drop table t2;
create table t3 (a time not null, primary key(a)) engine='InnoDB'
-partition by range (cast(second(a) as unsigned)) subpartition by key (a)
+partition by range (second(a)) subpartition by key (a)
subpartitions 3 (
partition quarter1 values less than (16),
partition quarter2 values less than (31),
@@ -806,7 +782,7 @@ Table Create Table
t3 CREATE TABLE `t3` (
`a` time NOT NULL,
PRIMARY KEY (`a`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (cast(second(a) as unsigned)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION quarter1 VALUES LESS THAN (16) ENGINE = InnoDB, PARTITION quarter2 VALUES LESS THAN (31) ENGINE = InnoDB, PARTITION quarter3 VALUES LESS THAN (46) ENGINE = InnoDB, PARTITION quarter4 VALUES LESS THAN (61) ENGINE = InnoDB) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (second(a)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION quarter1 VALUES LESS THAN (16) ENGINE = InnoDB, PARTITION quarter2 VALUES LESS THAN (31) ENGINE = InnoDB, PARTITION quarter3 VALUES LESS THAN (46) ENGINE = InnoDB, PARTITION quarter4 VALUES LESS THAN (61) ENGINE = InnoDB) */
59 inserts;
insert into t3 values (100000+59);
insert into t3 values (100000+58);
@@ -933,7 +909,7 @@ a
10:00:59
drop table t3;
create table t4 (a time not null, primary key(a)) engine='InnoDB'
-partition by list (cast(second(a) as unsigned)) subpartition by key (a)
+partition by list (second(a)) subpartition by key (a)
subpartitions 3 (
partition quarter1 values in (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15),
partition quarter2 values in (16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
@@ -945,7 +921,7 @@ Table Create Table
t4 CREATE TABLE `t4` (
`a` time NOT NULL,
PRIMARY KEY (`a`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (cast(second(a) as unsigned)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION quarter1 VALUES IN (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15) ENGINE = InnoDB, PARTITION quarter2 VALUES IN (16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = InnoDB, PARTITION quarter3 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45) ENGINE = InnoDB, PARTITION quarter4 VALUES IN (46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = InnoDB) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (second(a)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION quarter1 VALUES IN (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15) ENGINE = InnoDB, PARTITION quarter2 VALUES IN (16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = InnoDB, PARTITION quarter3 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45) ENGINE = InnoDB, PARTITION quarter4 VALUES IN (46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = InnoDB) */
59 inserts;
insert into t4 values (100000+59);
insert into t4 values (100000+58);
@@ -1073,24 +1049,16 @@ a
drop table t4;
create table t1 (a datetime not null, primary key(a)) engine='InnoDB'
partition by key (a) (
-partition pa1 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=20 min_rows=2,
-partition pa2 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=3,
-partition pa3 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=4,
-partition pa4 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=40 min_rows=2);
+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` datetime NOT NULL,
PRIMARY KEY (`a`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */
insert into t1 values ('1975-01-01 21:21:21'), ('2020-12-31 12:10:30'), ('1980-10-14 03:03'), ('2000-06-15 23:59');
select * from t1;
a
@@ -1259,7 +1227,7 @@ a
1970-01-01 00:00:59
drop table t2;
create table t3 (a datetime not null, primary key(a)) engine='InnoDB'
-partition by range (cast(month(a) as unsigned)) subpartition by key (a)
+partition by range (month(a)) subpartition by key (a)
subpartitions 3 (
partition quarter1 values less than (4),
partition quarter2 values less than (7),
@@ -1271,7 +1239,7 @@ Table Create Table
t3 CREATE TABLE `t3` (
`a` datetime NOT NULL,
PRIMARY KEY (`a`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (cast(month(a) as unsigned)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION quarter1 VALUES LESS THAN (4) ENGINE = InnoDB, PARTITION quarter2 VALUES LESS THAN (7) ENGINE = InnoDB, PARTITION quarter3 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION quarter4 VALUES LESS THAN (13) ENGINE = InnoDB) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (month(a)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION quarter1 VALUES LESS THAN (4) ENGINE = InnoDB, PARTITION quarter2 VALUES LESS THAN (7) ENGINE = InnoDB, PARTITION quarter3 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION quarter4 VALUES LESS THAN (13) ENGINE = InnoDB) */
12 inserts;
insert into t3 values (adddate(19700101000000,interval 12-1 month));
insert into t3 values (adddate(19700101000000,interval 11-1 month));
@@ -1304,7 +1272,7 @@ a
1970-12-01 00:00:00
drop table t3;
create table t4 (a datetime not null, primary key(a)) engine='InnoDB'
-partition by list (cast(month(a) as unsigned)) subpartition by key (a)
+partition by list (month(a)) subpartition by key (a)
subpartitions 3 (
partition quarter1 values in (1,2,3),
partition quarter2 values in (4,5,6),
@@ -1316,7 +1284,7 @@ Table Create Table
t4 CREATE TABLE `t4` (
`a` datetime NOT NULL,
PRIMARY KEY (`a`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (cast(month(a) as unsigned)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION quarter1 VALUES IN (1,2,3) ENGINE = InnoDB, PARTITION quarter2 VALUES IN (4,5,6) ENGINE = InnoDB, PARTITION quarter3 VALUES IN (7,8,9) ENGINE = InnoDB, PARTITION quarter4 VALUES IN (10,11,12) ENGINE = InnoDB) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (month(a)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION quarter1 VALUES IN (1,2,3) ENGINE = InnoDB, PARTITION quarter2 VALUES IN (4,5,6) ENGINE = InnoDB, PARTITION quarter3 VALUES IN (7,8,9) ENGINE = InnoDB, PARTITION quarter4 VALUES IN (10,11,12) ENGINE = InnoDB) */
12 inserts;
insert into t4 values (adddate(19700101000000,interval 12-1 month));
insert into t4 values (adddate(19700101000000,interval 11-1 month));
@@ -1350,24 +1318,16 @@ a
drop table t4;
create table t1 (a year not null, primary key(a)) engine='InnoDB'
partition by key (a) (
-partition pa1 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=20 min_rows=2,
-partition pa2 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=3,
-partition pa3 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=4,
-partition pa4 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=40 min_rows=2);
+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` year(4) NOT NULL,
PRIMARY KEY (`a`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */
insert into t1 values ('1975'), (2020), ('1980'), ('2000');
select * from t1;
a
diff --git a/mysql-test/suite/parts/r/partition_datetime_myisam.result b/mysql-test/suite/parts/r/partition_datetime_myisam.result
index 2c0091322e1..4bb182281c4 100644
--- a/mysql-test/suite/parts/r/partition_datetime_myisam.result
+++ b/mysql-test/suite/parts/r/partition_datetime_myisam.result
@@ -1,23 +1,15 @@
create table t1 (a timestamp not null, primary key(a)) engine='MyISAM'
partition by key (a) (
-partition pa1 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=20 min_rows=2,
-partition pa2 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=3,
-partition pa3 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=4,
-partition pa4 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=40 min_rows=2);
+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` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`a`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/tmp/' INDEX DIRECTORY='/tmp/' /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM) */
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */
insert into t1 values ('1975-01-01 21:21:21'), ('2020-12-31 12:10:30'), ('1980-10-14 03:03'), ('2000-06-15 23:59');
select * from t1;
a
@@ -186,7 +178,7 @@ a
1971-01-01 00:00:59
drop table t2;
create table t3 (a timestamp not null, primary key(a)) engine='MyISAM'
-partition by range (cast(month(a) as unsigned)) subpartition by key (a)
+partition by range (month(a)) subpartition by key (a)
subpartitions 3 (
partition quarter1 values less than (4),
partition quarter2 values less than (7),
@@ -198,7 +190,7 @@ Table Create Table
t3 CREATE TABLE `t3` (
`a` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`a`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (cast(month(a) as unsigned)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION quarter1 VALUES LESS THAN (4) ENGINE = MyISAM, PARTITION quarter2 VALUES LESS THAN (7) ENGINE = MyISAM, PARTITION quarter3 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION quarter4 VALUES LESS THAN (13) ENGINE = MyISAM) */
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (month(a)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION quarter1 VALUES LESS THAN (4) ENGINE = MyISAM, PARTITION quarter2 VALUES LESS THAN (7) ENGINE = MyISAM, PARTITION quarter3 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION quarter4 VALUES LESS THAN (13) ENGINE = MyISAM) */
12 inserts;
insert into t3 values (date_add('1970-01-01 00:00:00',interval 12-1 month));
insert into t3 values (date_add('1970-01-01 00:00:00',interval 11-1 month));
@@ -233,7 +225,7 @@ a
1970-12-01 00:00:00
drop table t3;
create table t4 (a timestamp not null, primary key(a)) engine='MyISAM'
-partition by list (cast(month(a) as unsigned)) subpartition by key (a)
+partition by list (month(a)) subpartition by key (a)
subpartitions 3 (
partition quarter1 values in (0,1,2,3),
partition quarter2 values in (4,5,6),
@@ -245,7 +237,7 @@ Table Create Table
t4 CREATE TABLE `t4` (
`a` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`a`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (cast(month(a) as unsigned)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION quarter1 VALUES IN (0,1,2,3) ENGINE = MyISAM, PARTITION quarter2 VALUES IN (4,5,6) ENGINE = MyISAM, PARTITION quarter3 VALUES IN (7,8,9) ENGINE = MyISAM, PARTITION quarter4 VALUES IN (10,11,12) ENGINE = MyISAM) */
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (month(a)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION quarter1 VALUES IN (0,1,2,3) ENGINE = MyISAM, PARTITION quarter2 VALUES IN (4,5,6) ENGINE = MyISAM, PARTITION quarter3 VALUES IN (7,8,9) ENGINE = MyISAM, PARTITION quarter4 VALUES IN (10,11,12) ENGINE = MyISAM) */
12 inserts;
insert into t4 values (date_add('1970-01-01 00:00:00',interval 12-1 month));
insert into t4 values (date_add('1970-01-01 00:00:00',interval 11-1 month));
@@ -281,24 +273,16 @@ a
drop table t4;
create table t1 (a date not null, primary key(a)) engine='MyISAM'
partition by key (a) (
-partition pa1 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=20 min_rows=2,
-partition pa2 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=3,
-partition pa3 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=4,
-partition pa4 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=40 min_rows=2);
+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` date NOT NULL,
PRIMARY KEY (`a`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/tmp/' INDEX DIRECTORY='/tmp/' /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM) */
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */
insert into t1 values ('1975-01-01'), ('2020-12-31'), ('1980-10-14'), ('2000-06-15');
select * from t1;
a
@@ -517,7 +501,7 @@ a
1970-03-28
drop table t2;
create table t3 (a date not null, primary key(a)) engine='MyISAM'
-partition by range (cast(month(a) as unsigned)) subpartition by key (a)
+partition by range (month(a)) subpartition by key (a)
subpartitions 3 (
partition quarter1 values less than (4),
partition quarter2 values less than (7),
@@ -529,7 +513,7 @@ Table Create Table
t3 CREATE TABLE `t3` (
`a` date NOT NULL,
PRIMARY KEY (`a`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (cast(month(a) as unsigned)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION quarter1 VALUES LESS THAN (4) ENGINE = MyISAM, PARTITION quarter2 VALUES LESS THAN (7) ENGINE = MyISAM, PARTITION quarter3 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION quarter4 VALUES LESS THAN (13) ENGINE = MyISAM) */
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (month(a)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION quarter1 VALUES LESS THAN (4) ENGINE = MyISAM, PARTITION quarter2 VALUES LESS THAN (7) ENGINE = MyISAM, PARTITION quarter3 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION quarter4 VALUES LESS THAN (13) ENGINE = MyISAM) */
12 inserts;
insert into t3 values (adddate(19700101,interval 12-1 month));
insert into t3 values (adddate(19700101,interval 11-1 month));
@@ -562,7 +546,7 @@ a
1970-12-01
drop table t3;
create table t4 (a date not null, primary key(a)) engine='MyISAM'
-partition by list (cast(month(a) as unsigned)) subpartition by key (a)
+partition by list (month(a)) subpartition by key (a)
subpartitions 3 (
partition quarter1 values in (1,2,3),
partition quarter2 values in (4,5,6),
@@ -574,7 +558,7 @@ Table Create Table
t4 CREATE TABLE `t4` (
`a` date NOT NULL,
PRIMARY KEY (`a`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (cast(month(a) as unsigned)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION quarter1 VALUES IN (1,2,3) ENGINE = MyISAM, PARTITION quarter2 VALUES IN (4,5,6) ENGINE = MyISAM, PARTITION quarter3 VALUES IN (7,8,9) ENGINE = MyISAM, PARTITION quarter4 VALUES IN (10,11,12) ENGINE = MyISAM) */
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (month(a)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION quarter1 VALUES IN (1,2,3) ENGINE = MyISAM, PARTITION quarter2 VALUES IN (4,5,6) ENGINE = MyISAM, PARTITION quarter3 VALUES IN (7,8,9) ENGINE = MyISAM, PARTITION quarter4 VALUES IN (10,11,12) ENGINE = MyISAM) */
12 inserts;
insert into t4 values (adddate(19700101,interval 12-1 month));
insert into t4 values (adddate(19700101,interval 11-1 month));
@@ -608,24 +592,16 @@ a
drop table t4;
create table t1 (a time not null, primary key(a)) engine='MyISAM'
partition by key (a) (
-partition pa1 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=20 min_rows=2,
-partition pa2 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=3,
-partition pa3 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=4,
-partition pa4 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=40 min_rows=2);
+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` time NOT NULL,
PRIMARY KEY (`a`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/tmp/' INDEX DIRECTORY='/tmp/' /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM) */
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */
insert into t1 values ('21:21:21'), ('12:10:30'), ('03:03:03'), ('23:59');
select * from t1;
a
@@ -794,7 +770,7 @@ a
00:01:59
drop table t2;
create table t3 (a time not null, primary key(a)) engine='MyISAM'
-partition by range (cast(second(a) as unsigned)) subpartition by key (a)
+partition by range (second(a)) subpartition by key (a)
subpartitions 3 (
partition quarter1 values less than (16),
partition quarter2 values less than (31),
@@ -806,7 +782,7 @@ Table Create Table
t3 CREATE TABLE `t3` (
`a` time NOT NULL,
PRIMARY KEY (`a`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (cast(second(a) as unsigned)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION quarter1 VALUES LESS THAN (16) ENGINE = MyISAM, PARTITION quarter2 VALUES LESS THAN (31) ENGINE = MyISAM, PARTITION quarter3 VALUES LESS THAN (46) ENGINE = MyISAM, PARTITION quarter4 VALUES LESS THAN (61) ENGINE = MyISAM) */
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (second(a)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION quarter1 VALUES LESS THAN (16) ENGINE = MyISAM, PARTITION quarter2 VALUES LESS THAN (31) ENGINE = MyISAM, PARTITION quarter3 VALUES LESS THAN (46) ENGINE = MyISAM, PARTITION quarter4 VALUES LESS THAN (61) ENGINE = MyISAM) */
59 inserts;
insert into t3 values (100000+59);
insert into t3 values (100000+58);
@@ -933,7 +909,7 @@ a
10:00:59
drop table t3;
create table t4 (a time not null, primary key(a)) engine='MyISAM'
-partition by list (cast(second(a) as unsigned)) subpartition by key (a)
+partition by list (second(a)) subpartition by key (a)
subpartitions 3 (
partition quarter1 values in (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15),
partition quarter2 values in (16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
@@ -945,7 +921,7 @@ Table Create Table
t4 CREATE TABLE `t4` (
`a` time NOT NULL,
PRIMARY KEY (`a`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (cast(second(a) as unsigned)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION quarter1 VALUES IN (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15) ENGINE = MyISAM, PARTITION quarter2 VALUES IN (16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = MyISAM, PARTITION quarter3 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45) ENGINE = MyISAM, PARTITION quarter4 VALUES IN (46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = MyISAM) */
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (second(a)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION quarter1 VALUES IN (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15) ENGINE = MyISAM, PARTITION quarter2 VALUES IN (16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = MyISAM, PARTITION quarter3 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45) ENGINE = MyISAM, PARTITION quarter4 VALUES IN (46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = MyISAM) */
59 inserts;
insert into t4 values (100000+59);
insert into t4 values (100000+58);
@@ -1073,24 +1049,16 @@ a
drop table t4;
create table t1 (a datetime not null, primary key(a)) engine='MyISAM'
partition by key (a) (
-partition pa1 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=20 min_rows=2,
-partition pa2 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=3,
-partition pa3 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=4,
-partition pa4 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=40 min_rows=2);
+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` datetime NOT NULL,
PRIMARY KEY (`a`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/tmp/' INDEX DIRECTORY='/tmp/' /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM) */
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */
insert into t1 values ('1975-01-01 21:21:21'), ('2020-12-31 12:10:30'), ('1980-10-14 03:03'), ('2000-06-15 23:59');
select * from t1;
a
@@ -1259,7 +1227,7 @@ a
1970-01-01 00:00:59
drop table t2;
create table t3 (a datetime not null, primary key(a)) engine='MyISAM'
-partition by range (cast(month(a) as unsigned)) subpartition by key (a)
+partition by range (month(a)) subpartition by key (a)
subpartitions 3 (
partition quarter1 values less than (4),
partition quarter2 values less than (7),
@@ -1271,7 +1239,7 @@ Table Create Table
t3 CREATE TABLE `t3` (
`a` datetime NOT NULL,
PRIMARY KEY (`a`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (cast(month(a) as unsigned)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION quarter1 VALUES LESS THAN (4) ENGINE = MyISAM, PARTITION quarter2 VALUES LESS THAN (7) ENGINE = MyISAM, PARTITION quarter3 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION quarter4 VALUES LESS THAN (13) ENGINE = MyISAM) */
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (month(a)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION quarter1 VALUES LESS THAN (4) ENGINE = MyISAM, PARTITION quarter2 VALUES LESS THAN (7) ENGINE = MyISAM, PARTITION quarter3 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION quarter4 VALUES LESS THAN (13) ENGINE = MyISAM) */
12 inserts;
insert into t3 values (adddate(19700101000000,interval 12-1 month));
insert into t3 values (adddate(19700101000000,interval 11-1 month));
@@ -1304,7 +1272,7 @@ a
1970-12-01 00:00:00
drop table t3;
create table t4 (a datetime not null, primary key(a)) engine='MyISAM'
-partition by list (cast(month(a) as unsigned)) subpartition by key (a)
+partition by list (month(a)) subpartition by key (a)
subpartitions 3 (
partition quarter1 values in (1,2,3),
partition quarter2 values in (4,5,6),
@@ -1316,7 +1284,7 @@ Table Create Table
t4 CREATE TABLE `t4` (
`a` datetime NOT NULL,
PRIMARY KEY (`a`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (cast(month(a) as unsigned)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION quarter1 VALUES IN (1,2,3) ENGINE = MyISAM, PARTITION quarter2 VALUES IN (4,5,6) ENGINE = MyISAM, PARTITION quarter3 VALUES IN (7,8,9) ENGINE = MyISAM, PARTITION quarter4 VALUES IN (10,11,12) ENGINE = MyISAM) */
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (month(a)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION quarter1 VALUES IN (1,2,3) ENGINE = MyISAM, PARTITION quarter2 VALUES IN (4,5,6) ENGINE = MyISAM, PARTITION quarter3 VALUES IN (7,8,9) ENGINE = MyISAM, PARTITION quarter4 VALUES IN (10,11,12) ENGINE = MyISAM) */
12 inserts;
insert into t4 values (adddate(19700101000000,interval 12-1 month));
insert into t4 values (adddate(19700101000000,interval 11-1 month));
@@ -1350,24 +1318,16 @@ a
drop table t4;
create table t1 (a year not null, primary key(a)) engine='MyISAM'
partition by key (a) (
-partition pa1 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=20 min_rows=2,
-partition pa2 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=3,
-partition pa3 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=4,
-partition pa4 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=40 min_rows=2);
+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` year(4) NOT NULL,
PRIMARY KEY (`a`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/tmp/' INDEX DIRECTORY='/tmp/' /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM) */
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */
insert into t1 values ('1975'), (2020), ('1980'), ('2000');
select * from t1;
a
diff --git a/mysql-test/suite/parts/r/partition_decimal_innodb.result b/mysql-test/suite/parts/r/partition_decimal_innodb.result
index 584ce91724e..3aede5bb09b 100644
--- a/mysql-test/suite/parts/r/partition_decimal_innodb.result
+++ b/mysql-test/suite/parts/r/partition_decimal_innodb.result
@@ -1,23 +1,15 @@
create table t1 (a decimal(10,4) not null, primary key(a)) engine='InnoDB'
partition by key (a) (
-partition pa1 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=20 min_rows=2,
-partition pa2 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=3,
-partition pa3 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=4,
-partition pa4 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=40 min_rows=2);
+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` decimal(10,4) NOT NULL,
PRIMARY KEY (`a`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */
insert into t1 values (999999.9999), (-999999.9999), (123456.7899), (-123456.7899), (-1.5), (1), (0), (-1), (1.5), (1234.567), (-1234.567);
select * from t1;
a
@@ -87,95 +79,3 @@ 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 (cast(floor(a) as signed)) 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 (cast(floor(a) as signed)) 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 (cast(floor(a) as signed)) 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 (cast(floor(a) as signed)) 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 008c249165d..4ed9b94d008 100644
--- a/mysql-test/suite/parts/r/partition_decimal_myisam.result
+++ b/mysql-test/suite/parts/r/partition_decimal_myisam.result
@@ -1,23 +1,15 @@
create table t1 (a decimal(10,4) not null, primary key(a)) engine='MYISAM'
partition by key (a) (
-partition pa1 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=20 min_rows=2,
-partition pa2 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=3,
-partition pa3 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=4,
-partition pa4 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=40 min_rows=2);
+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` decimal(10,4) NOT NULL,
PRIMARY KEY (`a`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/tmp/' INDEX DIRECTORY='/tmp/' /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM) */
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */
insert into t1 values (999999.9999), (-999999.9999), (123456.7899), (-123456.7899), (-1.5), (1), (0), (-1), (1.5), (1234.567), (-1234.567);
select * from t1;
a
@@ -87,95 +79,3 @@ 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 (cast(floor(a) as signed)) 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 (cast(floor(a) as signed)) 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 (cast(floor(a) as signed)) 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 (cast(floor(a) as signed)) 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_innodb.result b/mysql-test/suite/parts/r/partition_engine_innodb.result
index bea9a59da9b..4aad4c3c36a 100644
--- a/mysql-test/suite/parts/r/partition_engine_innodb.result
+++ b/mysql-test/suite/parts/r/partition_engine_innodb.result
@@ -2,14 +2,6 @@ SET @max_row = 20;
SET @@session.storage_engine = 'InnoDB';
#------------------------------------------------------------------------
-# There are several testcases disabled because of the open bugs
-# #15890
-# 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
#------------------------------------------------------------------------
@@ -31,7 +23,7 @@ DROP TABLE IF EXISTS t0_definition;
CREATE TABLE t0_definition (
state CHAR(3),
create_command VARBINARY(5000),
-file_list VARBINARY(5000),
+file_list VARBINARY(10000),
PRIMARY KEY (state)
) ENGINE = MEMORY;
DROP TABLE IF EXISTS t0_aux;
@@ -65,7 +57,7 @@ f_charbig VARCHAR(1000)
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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -481,16 +473,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -500,7 +492,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
#------------------------------------------------------------------------
# 2 Assignment of storage engine just after partition or subpartition
@@ -519,7 +511,7 @@ PARTITION part2 STORAGE ENGINE = 'InnoDB'
);
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -935,16 +927,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -954,7 +946,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -974,7 +966,7 @@ SUBPARTITION subpart22 STORAGE ENGINE = 'InnoDB')
);
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -1388,16 +1380,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -1407,7 +1399,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
#------------------------------------------------------------------------
# 3 Some but not all named partitions or subpartitions get a storage
@@ -1424,445 +1416,7 @@ PARTITION BY HASH(f_int1)
( PARTITION part1 STORAGE ENGINE = 'InnoDB',
PARTITION part2
);
-INSERT INTO t1(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 (include/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=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part1 ENGINE = InnoDB, PARTITION part2 ENGINE = InnoDB) */
-
-# 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 able 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 status OK
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check status OK
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize status OK
-# 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 (include/partition_check.inc)
-DROP TABLE t1;
+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,
@@ -1874,445 +1428,7 @@ PARTITION BY HASH(f_int1)
( PARTITION part1 ,
PARTITION part2 STORAGE ENGINE = 'InnoDB'
);
-INSERT INTO t1(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 (include/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=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part1 ENGINE = InnoDB, PARTITION part2 ENGINE = InnoDB) */
-
-# 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 able 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 status OK
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check status OK
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize status OK
-# 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 (include/partition_check.inc)
-DROP TABLE t1;
+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,
@@ -2329,443 +1445,24 @@ PARTITION part2 VALUES LESS THAN (2147483646)
(SUBPARTITION subpart21 STORAGE ENGINE = 'InnoDB',
SUBPARTITION subpart22 STORAGE ENGINE = 'InnoDB')
);
-INSERT INTO t1(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 (include/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=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int1) (PARTITION part1 VALUES LESS THAN (10) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (2147483646) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB)) */
-
-# 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 able 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 status OK
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check status OK
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize status OK
-# 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 (include/partition_check.inc)
-DROP TABLE t1;
+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 = 'InnoDB',
+SUBPARTITION subpart12 STORAGE ENGINE = 'InnoDB'),
+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,
@@ -2773,6 +1470,7 @@ f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
)
+ENGINE = 'InnoDB'
PARTITION BY RANGE(f_int1)
SUBPARTITION BY HASH(f_int1)
( PARTITION part1 VALUES LESS THAN (10)
@@ -2784,7 +1482,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -3198,16 +1896,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -3217,7 +1915,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
#------------------------------------------------------------------------
# 4 Storage engine assignment after partition name + after name of
@@ -3232,6 +1930,41 @@ 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 = 'InnoDB',
+SUBPARTITION subpart22 STORAGE ENGINE = 'InnoDB')
+);
+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 = 'InnoDB'
+PARTITION BY RANGE(f_int1)
+SUBPARTITION BY HASH(f_int1)
+( PARTITION part1 VALUES LESS THAN (10) ENGINE = 'InnoDB'
+(SUBPARTITION subpart11,
+SUBPARTITION subpart12),
+PARTITION part2 VALUES LESS THAN (2147483646)
+(SUBPARTITION subpart21,
+SUBPARTITION subpart22 STORAGE ENGINE = 'InnoDB')
+);
+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 = 'InnoDB'
(SUBPARTITION subpart11,
SUBPARTITION subpart12),
@@ -3241,7 +1974,7 @@ SUBPARTITION subpart22 STORAGE ENGINE = 'InnoDB')
);
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -3655,16 +2388,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -3674,7 +2407,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -3689,12 +2422,12 @@ SUBPARTITION BY HASH(f_int1)
(SUBPARTITION subpart11 STORAGE ENGINE = 'InnoDB',
SUBPARTITION subpart12 STORAGE ENGINE = 'InnoDB'),
PARTITION part2 VALUES LESS THAN (2147483646) ENGINE = 'InnoDB'
-(SUBPARTITION subpart21,
+(SUBPARTITION subpart21 ENGINE = 'InnoDB',
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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -4108,16 +2841,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -4127,7 +2860,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
#------------------------------------------------------------------------
# 5 Precedence of storage engine assignments (if there is any)
@@ -4147,7 +2880,7 @@ PARTITION part2 STORAGE ENGINE = 'InnoDB'
);
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -4563,16 +3296,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -4582,7 +3315,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -4602,7 +3335,7 @@ SUBPARTITION subpart22 STORAGE ENGINE = 'InnoDB')
);
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -5016,16 +3749,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -5035,10 +3768,11 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# 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,
@@ -5057,7 +3791,7 @@ SUBPARTITION subpart22 STORAGE ENGINE = 'InnoDB')
);
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -5471,16 +4205,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -5490,7 +4224,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
#------------------------------------------------------------------------
# 6 Session default engine differs from engine used within create table
@@ -5506,7 +4240,7 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) ( PARTITION part1 ENGINE = 'InnoDB');
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -5922,16 +4656,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -5941,7 +4675,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -5957,7 +4691,7 @@ SUBPARTITION BY HASH(f_int1)
SUBPARTITION subpart12 STORAGE ENGINE = 'InnoDB'));
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -6371,16 +5105,16 @@ 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 status OK
+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 status OK
+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 status OK
+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
@@ -6390,7 +5124,7 @@ TRUNCATE t1;
# check TRUNCATE success: 1
# check layout success: 1
-# End usability test (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
SET SESSION storage_engine='InnoDB';
DROP VIEW IF EXISTS v1;
diff --git a/mysql-test/suite/parts/r/partition_engine_myisam.result b/mysql-test/suite/parts/r/partition_engine_myisam.result
index 343077c5e4d..2dfea58995e 100644
--- a/mysql-test/suite/parts/r/partition_engine_myisam.result
+++ b/mysql-test/suite/parts/r/partition_engine_myisam.result
@@ -2,14 +2,6 @@ SET @max_row = 20;
SET @@session.storage_engine = 'MyISAM';
#------------------------------------------------------------------------
-# There are several testcases disabled because of the open bugs
-# #15890
-# 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
#------------------------------------------------------------------------
@@ -31,7 +23,7 @@ DROP TABLE IF EXISTS t0_definition;
CREATE TABLE t0_definition (
state CHAR(3),
create_command VARBINARY(5000),
-file_list VARBINARY(5000),
+file_list VARBINARY(10000),
PRIMARY KEY (state)
) ENGINE = MEMORY;
DROP TABLE IF EXISTS t0_aux;
@@ -65,7 +57,7 @@ f_charbig VARCHAR(1000)
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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -491,26 +483,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
#------------------------------------------------------------------------
# 2 Assignment of storage engine just after partition or subpartition
@@ -529,7 +521,7 @@ PARTITION part2 STORAGE ENGINE = 'MyISAM'
);
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -955,26 +947,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -994,7 +986,7 @@ SUBPARTITION subpart22 STORAGE ENGINE = 'MyISAM')
);
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -1422,26 +1414,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
#------------------------------------------------------------------------
# 3 Some but not all named partitions or subpartitions get a storage
@@ -1458,455 +1450,7 @@ PARTITION BY HASH(f_int1)
( PARTITION part1 STORAGE ENGINE = 'MyISAM',
PARTITION part2
);
-INSERT INTO t1(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 (include/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=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part1 ENGINE = MyISAM, PARTITION part2 ENGINE = MyISAM) */
-
-unified filelist
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part2.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part2.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1.frm
-$MYSQLTEST_VARDIR/master-data/test/t1.par
-
-# 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 status OK
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check status OK
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize status OK
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair status OK
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (include/partition_check.inc)
-DROP TABLE t1;
+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,
@@ -1918,455 +1462,7 @@ PARTITION BY HASH(f_int1)
( PARTITION part1 ,
PARTITION part2 STORAGE ENGINE = 'MyISAM'
);
-INSERT INTO t1(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 (include/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=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part1 ENGINE = MyISAM, PARTITION part2 ENGINE = MyISAM) */
-
-unified filelist
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part2.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part2.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1.frm
-$MYSQLTEST_VARDIR/master-data/test/t1.par
-
-# 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 status OK
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check status OK
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize status OK
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair status OK
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (include/partition_check.inc)
-DROP TABLE t1;
+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,
@@ -2383,457 +1479,24 @@ PARTITION part2 VALUES LESS THAN (2147483646)
(SUBPARTITION subpart21 STORAGE ENGINE = 'MyISAM',
SUBPARTITION subpart22 STORAGE ENGINE = 'MyISAM')
);
-INSERT INTO t1(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 (include/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=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int1) (PARTITION part1 VALUES LESS THAN (10) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (2147483646) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM)) */
-
-unified filelist
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#subpart11.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#subpart11.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#subpart12.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#subpart12.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#subpart21.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#subpart21.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#subpart22.MYD
-$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#subpart22.MYI
-$MYSQLTEST_VARDIR/master-data/test/t1.frm
-$MYSQLTEST_VARDIR/master-data/test/t1.par
-
-# 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;
-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 status OK
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check status OK
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize status OK
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair status OK
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (include/partition_check.inc)
-DROP TABLE t1;
+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 = 'MyISAM',
+SUBPARTITION subpart12 STORAGE ENGINE = 'MyISAM'),
+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,
@@ -2841,6 +1504,7 @@ f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
)
+ENGINE = 'MyISAM'
PARTITION BY RANGE(f_int1)
SUBPARTITION BY HASH(f_int1)
( PARTITION part1 VALUES LESS THAN (10)
@@ -2852,7 +1516,7 @@ 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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -3280,26 +1944,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
#------------------------------------------------------------------------
# 4 Storage engine assignment after partition name + after name of
@@ -3314,6 +1978,41 @@ 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 = 'MyISAM',
+SUBPARTITION subpart22 STORAGE ENGINE = 'MyISAM')
+);
+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 = 'MyISAM'
+PARTITION BY RANGE(f_int1)
+SUBPARTITION BY HASH(f_int1)
+( PARTITION part1 VALUES LESS THAN (10) ENGINE = 'MyISAM'
+(SUBPARTITION subpart11,
+SUBPARTITION subpart12),
+PARTITION part2 VALUES LESS THAN (2147483646)
+(SUBPARTITION subpart21,
+SUBPARTITION subpart22 STORAGE ENGINE = 'MyISAM')
+);
+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 = 'MyISAM'
(SUBPARTITION subpart11,
SUBPARTITION subpart12),
@@ -3323,7 +2022,7 @@ SUBPARTITION subpart22 STORAGE ENGINE = 'MyISAM')
);
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -3751,26 +2450,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -3785,12 +2484,12 @@ SUBPARTITION BY HASH(f_int1)
(SUBPARTITION subpart11 STORAGE ENGINE = 'MyISAM',
SUBPARTITION subpart12 STORAGE ENGINE = 'MyISAM'),
PARTITION part2 VALUES LESS THAN (2147483646) ENGINE = 'MyISAM'
-(SUBPARTITION subpart21,
+(SUBPARTITION subpart21 ENGINE = 'MyISAM',
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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -4218,26 +2917,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
#------------------------------------------------------------------------
# 5 Precedence of storage engine assignments (if there is any)
@@ -4257,7 +2956,7 @@ PARTITION part2 STORAGE ENGINE = 'MyISAM'
);
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -4683,26 +3382,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -4722,7 +3421,7 @@ SUBPARTITION subpart22 STORAGE ENGINE = 'MyISAM')
);
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -5150,29 +3849,30 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# 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,
@@ -5191,7 +3891,7 @@ SUBPARTITION subpart22 STORAGE ENGINE = 'MyISAM')
);
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -5619,26 +4319,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
#------------------------------------------------------------------------
# 6 Session default engine differs from engine used within create table
@@ -5654,7 +4354,7 @@ f_charbig VARCHAR(1000)
PARTITION BY HASH(f_int1) ( PARTITION part1 ENGINE = 'MyISAM');
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -6078,26 +4778,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
CREATE TABLE t1 (
f_int1 INTEGER,
@@ -6113,7 +4813,7 @@ SUBPARTITION BY HASH(f_int1)
SUBPARTITION subpart12 STORAGE ENGINE = 'MyISAM'));
INSERT INTO t1(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 (include/partition_check.inc)
+# Start usability test (inc/partition_check.inc)
create_command
SHOW CREATE TABLE t1;
Table Create Table
@@ -6537,26 +5237,26 @@ 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 status OK
+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 status OK
+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 status OK
+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 status OK
+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 (include/partition_check.inc)
+# End usability test (inc/partition_check.inc)
DROP TABLE t1;
SET SESSION storage_engine='MyISAM';
DROP VIEW IF EXISTS v1;
diff --git a/mysql-test/suite/parts/r/partition_float_innodb.result b/mysql-test/suite/parts/r/partition_float_innodb.result
index bc30987b33f..8e1e1b51efd 100644
--- a/mysql-test/suite/parts/r/partition_float_innodb.result
+++ b/mysql-test/suite/parts/r/partition_float_innodb.result
@@ -1,23 +1,15 @@
create table t1 (a float not null, primary key(a)) engine='InnoDB'
partition by key (a) (
-partition pa1 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=20 min_rows=2,
-partition pa2 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=3,
-partition pa3 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=4,
-partition pa4 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=40 min_rows=2);
+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` float NOT NULL,
PRIMARY KEY (`a`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */
insert into t1 values (-3.402823466E+38), (3.402823466E+38), (-1.5), (-1), (0), (1), (1.5);
select * from t1;
a
@@ -89,172 +81,18 @@ select count(*) from t2;
count(*)
3072
drop table t2;
-create table t3 (a float not null, primary key(a)) engine='InnoDB'
-partition by range (cast(floor(a) as signed)) 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;
-Table Create Table
-t3 CREATE TABLE `t3` (
- `a` float NOT NULL,
- PRIMARY KEY (`a`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (cast(floor(a) as signed)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION pa1 VALUES LESS THAN (3) ENGINE = InnoDB, PARTITION pa3 VALUES LESS THAN (6) ENGINE = InnoDB, PARTITION pa10 VALUES LESS THAN (10) ENGINE = InnoDB) */
-9*3 inserts;
-insert into t3 values (9);
-insert into t3 values (9+0.33);
-insert into t3 values (9+0.75);
-insert into t3 values (8);
-insert into t3 values (8+0.33);
-insert into t3 values (8+0.75);
-insert into t3 values (7);
-insert into t3 values (7+0.33);
-insert into t3 values (7+0.75);
-insert into t3 values (6);
-insert into t3 values (6+0.33);
-insert into t3 values (6+0.75);
-insert into t3 values (5);
-insert into t3 values (5+0.33);
-insert into t3 values (5+0.75);
-insert into t3 values (4);
-insert into t3 values (4+0.33);
-insert into t3 values (4+0.75);
-insert into t3 values (3);
-insert into t3 values (3+0.33);
-insert into t3 values (3+0.75);
-insert into t3 values (2);
-insert into t3 values (2+0.33);
-insert into t3 values (2+0.75);
-insert into t3 values (1);
-insert into t3 values (1+0.33);
-insert into t3 values (1+0.75);
-select count(*) from t3;
-count(*)
-27
-select * from t3;
-a
-1
-1.33
-1.75
-2
-2.33
-2.75
-3
-3.33
-3.75
-4
-4.33
-4.75
-5
-5.33
-5.75
-6
-6.33
-6.75
-7
-7.33
-7.75
-8
-8.33
-8.75
-9
-9.33
-9.75
-drop table t3;
-create table t4 (a float not null, primary key(a)) engine='InnoDB'
-partition by list (cast(floor(a) as signed)) 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;
-Table Create Table
-t4 CREATE TABLE `t4` (
- `a` float NOT NULL,
- PRIMARY KEY (`a`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (cast(floor(a) as signed)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION pa1 VALUES IN (1,2,3) ENGINE = InnoDB, PARTITION pa3 VALUES IN (4,5,6) ENGINE = InnoDB, PARTITION pa10 VALUES IN (7,8,9,10) ENGINE = InnoDB) */
-9*3 inserts;
-insert into t4 values (9);
-insert into t4 values (9+0.33);
-insert into t4 values (9+0.75);
-insert into t4 values (8);
-insert into t4 values (8+0.33);
-insert into t4 values (8+0.75);
-insert into t4 values (7);
-insert into t4 values (7+0.33);
-insert into t4 values (7+0.75);
-insert into t4 values (6);
-insert into t4 values (6+0.33);
-insert into t4 values (6+0.75);
-insert into t4 values (5);
-insert into t4 values (5+0.33);
-insert into t4 values (5+0.75);
-insert into t4 values (4);
-insert into t4 values (4+0.33);
-insert into t4 values (4+0.75);
-insert into t4 values (3);
-insert into t4 values (3+0.33);
-insert into t4 values (3+0.75);
-insert into t4 values (2);
-insert into t4 values (2+0.33);
-insert into t4 values (2+0.75);
-insert into t4 values (1);
-insert into t4 values (1+0.33);
-insert into t4 values (1+0.75);
-select count(*) from t4;
-count(*)
-27
-select * from t4;
-a
-1
-1.33
-1.75
-2
-2.33
-2.75
-3
-3.33
-3.75
-4
-4.33
-4.75
-5
-5.33
-5.75
-6
-6.33
-6.75
-7
-7.33
-7.75
-8
-8.33
-8.75
-9
-9.33
-9.75
-drop table t4;
create table t1 (a double not null, primary key(a)) engine='InnoDB'
partition by key (a) (
-partition pa1 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=20 min_rows=2,
-partition pa2 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=3,
-partition pa3 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=4,
-partition pa4 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=40 min_rows=2);
+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` double NOT NULL,
PRIMARY KEY (`a`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */
insert into t1 values (-2.2250738585072014E+208), (-2.2250738585072014E-208), (-1.5), (-1), (0), (1.5), (1234.567), (2.2250738585072014E+208);
select * from t1;
a
@@ -318,149 +156,3 @@ select count(*) from t2;
count(*)
3072
drop table t2;
-create table t3 (a double not null, primary key(a)) engine='InnoDB'
-partition by range (cast(floor(a) as signed)) 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;
-Table Create Table
-t3 CREATE TABLE `t3` (
- `a` double NOT NULL,
- PRIMARY KEY (`a`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (cast(floor(a) as signed)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION pa1 VALUES LESS THAN (3) ENGINE = InnoDB, PARTITION pa3 VALUES LESS THAN (6) ENGINE = InnoDB, PARTITION pa10 VALUES LESS THAN (10) ENGINE = InnoDB) */
-9*3 inserts;
-insert into t3 values (9);
-insert into t3 values (9+0.33);
-insert into t3 values (9+0.75);
-insert into t3 values (8);
-insert into t3 values (8+0.33);
-insert into t3 values (8+0.75);
-insert into t3 values (7);
-insert into t3 values (7+0.33);
-insert into t3 values (7+0.75);
-insert into t3 values (6);
-insert into t3 values (6+0.33);
-insert into t3 values (6+0.75);
-insert into t3 values (5);
-insert into t3 values (5+0.33);
-insert into t3 values (5+0.75);
-insert into t3 values (4);
-insert into t3 values (4+0.33);
-insert into t3 values (4+0.75);
-insert into t3 values (3);
-insert into t3 values (3+0.33);
-insert into t3 values (3+0.75);
-insert into t3 values (2);
-insert into t3 values (2+0.33);
-insert into t3 values (2+0.75);
-insert into t3 values (1);
-insert into t3 values (1+0.33);
-insert into t3 values (1+0.75);
-select count(*) from t3;
-count(*)
-27
-select * from t3;
-a
-1
-1.33
-1.75
-2
-2.33
-2.75
-3
-3.33
-3.75
-4
-4.33
-4.75
-5
-5.33
-5.75
-6
-6.33
-6.75
-7
-7.33
-7.75
-8
-8.33
-8.75
-9
-9.33
-9.75
-drop table t3;
-create table t4 (a double not null, primary key(a)) engine='InnoDB'
-partition by list (cast(floor(a) as signed)) 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;
-Table Create Table
-t4 CREATE TABLE `t4` (
- `a` double NOT NULL,
- PRIMARY KEY (`a`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (cast(floor(a) as signed)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION pa1 VALUES IN (1,2,3) ENGINE = InnoDB, PARTITION pa3 VALUES IN (4,5,6) ENGINE = InnoDB, PARTITION pa10 VALUES IN (7,8,9,10) ENGINE = InnoDB) */
-9*3 inserts;
-insert into t4 values (9);
-insert into t4 values (9+0.33);
-insert into t4 values (9+0.75);
-insert into t4 values (8);
-insert into t4 values (8+0.33);
-insert into t4 values (8+0.75);
-insert into t4 values (7);
-insert into t4 values (7+0.33);
-insert into t4 values (7+0.75);
-insert into t4 values (6);
-insert into t4 values (6+0.33);
-insert into t4 values (6+0.75);
-insert into t4 values (5);
-insert into t4 values (5+0.33);
-insert into t4 values (5+0.75);
-insert into t4 values (4);
-insert into t4 values (4+0.33);
-insert into t4 values (4+0.75);
-insert into t4 values (3);
-insert into t4 values (3+0.33);
-insert into t4 values (3+0.75);
-insert into t4 values (2);
-insert into t4 values (2+0.33);
-insert into t4 values (2+0.75);
-insert into t4 values (1);
-insert into t4 values (1+0.33);
-insert into t4 values (1+0.75);
-select count(*) from t4;
-count(*)
-27
-select * from t4;
-a
-1
-1.33
-1.75
-2
-2.33
-2.75
-3
-3.33
-3.75
-4
-4.33
-4.75
-5
-5.33
-5.75
-6
-6.33
-6.75
-7
-7.33
-7.75
-8
-8.33
-8.75
-9
-9.33
-9.75
-drop table t4;
diff --git a/mysql-test/suite/parts/r/partition_float_myisam.result b/mysql-test/suite/parts/r/partition_float_myisam.result
index 08a1c20d224..9abd0fb11cd 100644
--- a/mysql-test/suite/parts/r/partition_float_myisam.result
+++ b/mysql-test/suite/parts/r/partition_float_myisam.result
@@ -1,23 +1,15 @@
create table t1 (a float not null, primary key(a)) engine='MYISAM'
partition by key (a) (
-partition pa1 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=20 min_rows=2,
-partition pa2 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=3,
-partition pa3 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=4,
-partition pa4 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=40 min_rows=2);
+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` float NOT NULL,
PRIMARY KEY (`a`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/tmp/' INDEX DIRECTORY='/tmp/' /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM) */
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */
insert into t1 values (-3.402823466E+38), (3.402823466E+38), (-1.5), (-1), (0), (1), (1.5);
select * from t1;
a
@@ -89,172 +81,18 @@ select count(*) from t2;
count(*)
49152
drop table t2;
-create table t3 (a float not null, primary key(a)) engine='MYISAM'
-partition by range (cast(floor(a) as signed)) 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;
-Table Create Table
-t3 CREATE TABLE `t3` (
- `a` float NOT NULL,
- PRIMARY KEY (`a`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (cast(floor(a) as signed)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION pa1 VALUES LESS THAN (3) ENGINE = MyISAM, PARTITION pa3 VALUES LESS THAN (6) ENGINE = MyISAM, PARTITION pa10 VALUES LESS THAN (10) ENGINE = MyISAM) */
-9*3 inserts;
-insert into t3 values (9);
-insert into t3 values (9+0.33);
-insert into t3 values (9+0.75);
-insert into t3 values (8);
-insert into t3 values (8+0.33);
-insert into t3 values (8+0.75);
-insert into t3 values (7);
-insert into t3 values (7+0.33);
-insert into t3 values (7+0.75);
-insert into t3 values (6);
-insert into t3 values (6+0.33);
-insert into t3 values (6+0.75);
-insert into t3 values (5);
-insert into t3 values (5+0.33);
-insert into t3 values (5+0.75);
-insert into t3 values (4);
-insert into t3 values (4+0.33);
-insert into t3 values (4+0.75);
-insert into t3 values (3);
-insert into t3 values (3+0.33);
-insert into t3 values (3+0.75);
-insert into t3 values (2);
-insert into t3 values (2+0.33);
-insert into t3 values (2+0.75);
-insert into t3 values (1);
-insert into t3 values (1+0.33);
-insert into t3 values (1+0.75);
-select count(*) from t3;
-count(*)
-27
-select * from t3;
-a
-1
-1.33
-1.75
-2
-2.33
-2.75
-3
-3.33
-3.75
-4
-4.33
-4.75
-5
-5.33
-5.75
-6
-6.33
-6.75
-7
-7.33
-7.75
-8
-8.33
-8.75
-9
-9.33
-9.75
-drop table t3;
-create table t4 (a float not null, primary key(a)) engine='MYISAM'
-partition by list (cast(floor(a) as signed)) 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;
-Table Create Table
-t4 CREATE TABLE `t4` (
- `a` float NOT NULL,
- PRIMARY KEY (`a`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (cast(floor(a) as signed)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION pa1 VALUES IN (1,2,3) ENGINE = MyISAM, PARTITION pa3 VALUES IN (4,5,6) ENGINE = MyISAM, PARTITION pa10 VALUES IN (7,8,9,10) ENGINE = MyISAM) */
-9*3 inserts;
-insert into t4 values (9);
-insert into t4 values (9+0.33);
-insert into t4 values (9+0.75);
-insert into t4 values (8);
-insert into t4 values (8+0.33);
-insert into t4 values (8+0.75);
-insert into t4 values (7);
-insert into t4 values (7+0.33);
-insert into t4 values (7+0.75);
-insert into t4 values (6);
-insert into t4 values (6+0.33);
-insert into t4 values (6+0.75);
-insert into t4 values (5);
-insert into t4 values (5+0.33);
-insert into t4 values (5+0.75);
-insert into t4 values (4);
-insert into t4 values (4+0.33);
-insert into t4 values (4+0.75);
-insert into t4 values (3);
-insert into t4 values (3+0.33);
-insert into t4 values (3+0.75);
-insert into t4 values (2);
-insert into t4 values (2+0.33);
-insert into t4 values (2+0.75);
-insert into t4 values (1);
-insert into t4 values (1+0.33);
-insert into t4 values (1+0.75);
-select count(*) from t4;
-count(*)
-27
-select * from t4;
-a
-1
-1.33
-1.75
-2
-2.33
-2.75
-3
-3.33
-3.75
-4
-4.33
-4.75
-5
-5.33
-5.75
-6
-6.33
-6.75
-7
-7.33
-7.75
-8
-8.33
-8.75
-9
-9.33
-9.75
-drop table t4;
create table t1 (a double not null, primary key(a)) engine='MYISAM'
partition by key (a) (
-partition pa1 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=20 min_rows=2,
-partition pa2 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=3,
-partition pa3 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=4,
-partition pa4 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=40 min_rows=2);
+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` double NOT NULL,
PRIMARY KEY (`a`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/tmp/' INDEX DIRECTORY='/tmp/' /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM) */
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */
insert into t1 values (-2.2250738585072014E+208), (-2.2250738585072014E-208), (-1.5), (-1), (0), (1.5), (1234.567), (2.2250738585072014E+208);
select * from t1;
a
@@ -318,149 +156,3 @@ select count(*) from t2;
count(*)
49152
drop table t2;
-create table t3 (a double not null, primary key(a)) engine='MYISAM'
-partition by range (cast(floor(a) as signed)) 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;
-Table Create Table
-t3 CREATE TABLE `t3` (
- `a` double NOT NULL,
- PRIMARY KEY (`a`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (cast(floor(a) as signed)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION pa1 VALUES LESS THAN (3) ENGINE = MyISAM, PARTITION pa3 VALUES LESS THAN (6) ENGINE = MyISAM, PARTITION pa10 VALUES LESS THAN (10) ENGINE = MyISAM) */
-9*3 inserts;
-insert into t3 values (9);
-insert into t3 values (9+0.33);
-insert into t3 values (9+0.75);
-insert into t3 values (8);
-insert into t3 values (8+0.33);
-insert into t3 values (8+0.75);
-insert into t3 values (7);
-insert into t3 values (7+0.33);
-insert into t3 values (7+0.75);
-insert into t3 values (6);
-insert into t3 values (6+0.33);
-insert into t3 values (6+0.75);
-insert into t3 values (5);
-insert into t3 values (5+0.33);
-insert into t3 values (5+0.75);
-insert into t3 values (4);
-insert into t3 values (4+0.33);
-insert into t3 values (4+0.75);
-insert into t3 values (3);
-insert into t3 values (3+0.33);
-insert into t3 values (3+0.75);
-insert into t3 values (2);
-insert into t3 values (2+0.33);
-insert into t3 values (2+0.75);
-insert into t3 values (1);
-insert into t3 values (1+0.33);
-insert into t3 values (1+0.75);
-select count(*) from t3;
-count(*)
-27
-select * from t3;
-a
-1
-1.33
-1.75
-2
-2.33
-2.75
-3
-3.33
-3.75
-4
-4.33
-4.75
-5
-5.33
-5.75
-6
-6.33
-6.75
-7
-7.33
-7.75
-8
-8.33
-8.75
-9
-9.33
-9.75
-drop table t3;
-create table t4 (a double not null, primary key(a)) engine='MYISAM'
-partition by list (cast(floor(a) as signed)) 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;
-Table Create Table
-t4 CREATE TABLE `t4` (
- `a` double NOT NULL,
- PRIMARY KEY (`a`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (cast(floor(a) as signed)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION pa1 VALUES IN (1,2,3) ENGINE = MyISAM, PARTITION pa3 VALUES IN (4,5,6) ENGINE = MyISAM, PARTITION pa10 VALUES IN (7,8,9,10) ENGINE = MyISAM) */
-9*3 inserts;
-insert into t4 values (9);
-insert into t4 values (9+0.33);
-insert into t4 values (9+0.75);
-insert into t4 values (8);
-insert into t4 values (8+0.33);
-insert into t4 values (8+0.75);
-insert into t4 values (7);
-insert into t4 values (7+0.33);
-insert into t4 values (7+0.75);
-insert into t4 values (6);
-insert into t4 values (6+0.33);
-insert into t4 values (6+0.75);
-insert into t4 values (5);
-insert into t4 values (5+0.33);
-insert into t4 values (5+0.75);
-insert into t4 values (4);
-insert into t4 values (4+0.33);
-insert into t4 values (4+0.75);
-insert into t4 values (3);
-insert into t4 values (3+0.33);
-insert into t4 values (3+0.75);
-insert into t4 values (2);
-insert into t4 values (2+0.33);
-insert into t4 values (2+0.75);
-insert into t4 values (1);
-insert into t4 values (1+0.33);
-insert into t4 values (1+0.75);
-select count(*) from t4;
-count(*)
-27
-select * from t4;
-a
-1
-1.33
-1.75
-2
-2.33
-2.75
-3
-3.33
-3.75
-4
-4.33
-4.75
-5
-5.33
-5.75
-6
-6.33
-6.75
-7
-7.33
-7.75
-8
-8.33
-8.75
-9
-9.33
-9.75
-drop table t4;
diff --git a/mysql-test/suite/parts/r/partition_int_innodb.result b/mysql-test/suite/parts/r/partition_int_innodb.result
index 8bc095b2886..9f1712e141e 100644
--- a/mysql-test/suite/parts/r/partition_int_innodb.result
+++ b/mysql-test/suite/parts/r/partition_int_innodb.result
@@ -1,23 +1,15 @@
create table t1 (a tinyint unsigned not null, primary key(a)) engine='InnoDB'
partition by key (a) (
-partition pa1 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=20 min_rows=2,
-partition pa2 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=3,
-partition pa3 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=4,
-partition pa4 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=40 min_rows=2);
+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=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */
insert into t1 values (255), (254), (253), (252), (1), (2), (128);
select * from t1;
a
@@ -108,24 +100,16 @@ a
drop table t3;
create table t1 (a smallint unsigned not null, primary key(a)) engine='InnoDB'
partition by key (a) (
-partition pa1 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=20 min_rows=2,
-partition pa2 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=3,
-partition pa3 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=4,
-partition pa4 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=40 min_rows=2);
+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=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */
insert into t1 values (65535), (65534), (65533), (65532), (1), (2), (256);
select * from t1;
a
@@ -216,24 +200,16 @@ a
drop table t3;
create table t1 (a int unsigned not null, primary key(a)) engine='InnoDB'
partition by key (a) (
-partition pa1 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=20 min_rows=2,
-partition pa2 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=3,
-partition pa3 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=4,
-partition pa4 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=40 min_rows=2);
+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=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */
insert into t1 values (4294967295), (4294967294), (4294967293), (4294967292), (1), (2), (65535);
select * from t1;
a
@@ -324,24 +300,16 @@ a
drop table t3;
create table t1 (a mediumint unsigned not null, primary key(a)) engine='InnoDB'
partition by key (a) (
-partition pa1 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=20 min_rows=2,
-partition pa2 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=3,
-partition pa3 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=4,
-partition pa4 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=40 min_rows=2);
+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=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */
insert into t1 values (16777215), (16777214), (16777213), (16777212), (1), (2), (65535);
select * from t1;
a
@@ -432,24 +400,16 @@ a
drop table t3;
create table t1 (a bigint unsigned not null, primary key(a)) engine='InnoDB'
partition by key (a) (
-partition pa1 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=20 min_rows=2,
-partition pa2 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=3,
-partition pa3 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=4,
-partition pa4 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=40 min_rows=2);
+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=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */
insert into t1 values (18446744073709551615), (0xFFFFFFFFFFFFFFFE), (18446744073709551613), (18446744073709551612), (1), (2), (65535);
select * from t1;
a
diff --git a/mysql-test/suite/parts/r/partition_int_myisam.result b/mysql-test/suite/parts/r/partition_int_myisam.result
index d00f8e5f772..1e0ba724f4c 100644
--- a/mysql-test/suite/parts/r/partition_int_myisam.result
+++ b/mysql-test/suite/parts/r/partition_int_myisam.result
@@ -1,23 +1,15 @@
create table t1 (a tinyint unsigned not null, primary key(a)) engine='MYISAM'
partition by key (a) (
-partition pa1 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=20 min_rows=2,
-partition pa2 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=3,
-partition pa3 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=4,
-partition pa4 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=40 min_rows=2);
+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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/tmp/' INDEX DIRECTORY='/tmp/' /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM) */
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */
insert into t1 values (255), (254), (253), (252), (1), (2), (128);
select * from t1;
a
@@ -108,24 +100,16 @@ a
drop table t3;
create table t1 (a smallint unsigned not null, primary key(a)) engine='MYISAM'
partition by key (a) (
-partition pa1 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=20 min_rows=2,
-partition pa2 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=3,
-partition pa3 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=4,
-partition pa4 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=40 min_rows=2);
+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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/tmp/' INDEX DIRECTORY='/tmp/' /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM) */
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */
insert into t1 values (65535), (65534), (65533), (65532), (1), (2), (256);
select * from t1;
a
@@ -216,24 +200,16 @@ a
drop table t3;
create table t1 (a int unsigned not null, primary key(a)) engine='MYISAM'
partition by key (a) (
-partition pa1 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=20 min_rows=2,
-partition pa2 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=3,
-partition pa3 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=4,
-partition pa4 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=40 min_rows=2);
+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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/tmp/' INDEX DIRECTORY='/tmp/' /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM) */
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */
insert into t1 values (4294967295), (4294967294), (4294967293), (4294967292), (1), (2), (65535);
select * from t1;
a
@@ -324,24 +300,16 @@ a
drop table t3;
create table t1 (a mediumint unsigned not null, primary key(a)) engine='MYISAM'
partition by key (a) (
-partition pa1 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=20 min_rows=2,
-partition pa2 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=3,
-partition pa3 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=4,
-partition pa4 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=40 min_rows=2);
+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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/tmp/' INDEX DIRECTORY='/tmp/' /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM) */
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */
insert into t1 values (16777215), (16777214), (16777213), (16777212), (1), (2), (65535);
select * from t1;
a
@@ -432,24 +400,16 @@ a
drop table t3;
create table t1 (a bigint unsigned not null, primary key(a)) engine='MYISAM'
partition by key (a) (
-partition pa1 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=20 min_rows=2,
-partition pa2 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=3,
-partition pa3 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=4,
-partition pa4 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=40 min_rows=2);
+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=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/tmp/' INDEX DIRECTORY='/tmp/' /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM) */
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */
insert into t1 values (18446744073709551615), (0xFFFFFFFFFFFFFFFE), (18446744073709551613), (18446744073709551612), (1), (2), (65535);
select * from t1;
a
diff --git a/mysql-test/suite/parts/r/partition_special_innodb.result b/mysql-test/suite/parts/r/partition_special_innodb.result
index 4b139bb0f9e..fa1d2eb9994 100644
--- a/mysql-test/suite/parts/r/partition_special_innodb.result
+++ b/mysql-test/suite/parts/r/partition_special_innodb.result
@@ -1,17 +1,9 @@
create table t1 (a date not null, b varchar(50) not null, c varchar(50) not null, d enum('m', 'w'), primary key(a,b,c,d)) engine='InnoDB'
partition by key (a,b,c,d) (
-partition pa1 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=20 min_rows=2,
-partition pa2 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=3,
-partition pa3 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=4,
-partition pa4 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=40 min_rows=2);
+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` (
@@ -20,7 +12,7 @@ t1 CREATE TABLE `t1` (
`c` varchar(50) NOT NULL,
`d` enum('m','w') NOT NULL DEFAULT 'm',
PRIMARY KEY (`a`,`b`,`c`,`d`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a,b,c,d) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a,b,c,d) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */
insert into t1 values
('1975-01-01', 'abcde', 'abcde','m'),
('1983-12-31', 'cdef', 'srtbvsr', 'w'),
@@ -40,18 +32,10 @@ a b c d
drop table t1;
create table t1 (a date not null, b varchar(50) not null, c varchar(50) not null, d enum('m', 'w') not null, e int not null, f decimal (18,2) not null, g bigint not null, h tinyint not null, i char(255), primary key(a,b,c,d,e,f,g,h)) engine='InnoDB'
partition by key(a,b,c,d,e,f,g,h) (
-partition pa1 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=20 min_rows=2,
-partition pa2 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=3,
-partition pa3 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=4,
-partition pa4 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=40 min_rows=2);
+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` (
@@ -65,7 +49,7 @@ t1 CREATE TABLE `t1` (
`h` tinyint(4) NOT NULL,
`i` char(255) DEFAULT NULL,
PRIMARY KEY (`a`,`b`,`c`,`d`,`e`,`f`,`g`,`h`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a,b,c,d,e,f,g,h) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a,b,c,d,e,f,g,h) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */
insert into t1 values
('1975-01-01', 'abcde', 'abcde','m', 1234, 123.45, 32412341234, 113, 'tbhth nrzh ztfghgfh fzh ftzhj fztjh'),
('1983-12-31', 'cdef', 'srtbvsr', 'w', 45634, 13452.56, 3452346456, 127, 'liuugbzvdmrlti b itiortudirtfgtibm dfi'),
@@ -85,18 +69,10 @@ a b c d e f g h i
drop table t1;
create table t1 (a date not null, b varchar(50) not null, c varchar(50) not null, d enum('m', 'w') not null, e int not null, f decimal (18,2) not null, g bigint not null, h tinyint not null, a1 date not null, b1 varchar(50) not null, c1 varchar(50) not null, d1 enum('m', 'w') not null, e1 int not null, f1 decimal (18,2) not null, g1 bigint not null, h1 tinyint not null, i char(255), primary key(a,b,c,d,e,f,g,h,a1,b1,c1,d1,e1,f1,g1,h1)) engine='InnoDB'
partition by key(a,b,c,d,e,f,g,h,a1,b1,c1,d1,e1,f1,g1,h1) (
-partition pa1 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=20 min_rows=2,
-partition pa2 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=3,
-partition pa3 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=4,
-partition pa4 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=40 min_rows=2);
+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` (
@@ -118,7 +94,7 @@ t1 CREATE TABLE `t1` (
`h1` tinyint(4) NOT NULL,
`i` char(255) DEFAULT NULL,
PRIMARY KEY (`a`,`b`,`c`,`d`,`e`,`f`,`g`,`h`,`a1`,`b1`,`c1`,`d1`,`e1`,`f1`,`g1`,`h1`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a,b,c,d,e,f,g,h,a1,b1,c1,d1,e1,f1,g1,h1) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a,b,c,d,e,f,g,h,a1,b1,c1,d1,e1,f1,g1,h1) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */
insert into t1 values
('1975-01-01', 'abcde', 'abcde','m', 1234, 123.45, 32412341234, 113,'1975-01-01', 'abcde', 'abcde','m', 1234, 123.45, 32412341234, 113, 'tbhth nrzh ztfghgfh fzh ftzhj fztjh'),
('1983-12-31', 'cdef', 'srtbvsr', 'w', 45634, 13452.56, 3452346456, 127,'1983-12-31', 'cdef', 'srtbvsr', 'w', 45634, 13452.56, 3452346456, 127, 'liuugbzvdmrlti b itiortudirtfgtibm dfi'),
@@ -138,33 +114,17 @@ a b c d e f g h a1 b1 c1 d1 e1 f1 g1 h1 i
drop table t1;
create table t1 (a date not null, b varchar(50) not null, c varchar(50) not null, d enum('m', 'w') not null, e int not null, f decimal (18,2) not null, g bigint not null, h tinyint not null, a1 date not null, b1 varchar(50) not null, c1 varchar(50) not null, d1 enum('m', 'w') not null, e1 int not null, f1 decimal (18,2) not null, g1 bigint not null, h1 tinyint not null, a2 date not null, b2 varchar(50) not null, c2 varchar(50) not null, d2 enum('m', 'w') not null, e2 int not null, f2 decimal (18,2) not null, g2 bigint not null, h2 tinyint not null, a3 date not null, b3 varchar(50) not null, c3 varchar(50) not null, d3 enum('m', 'w') not null, e3 int not null, f3 decimal (18,2) not null, g3 bigint not null, h3 tinyint not null, i char(255), primary key(a,b,c,d,e,f,g,h,a1,b1,c1,d1,e1,f1,g1,h1,a2,b2,c2,d2,e2,f2,g2,h2,a3,b3,c3,d3,e3,f3,g3,h3)) engine='InnoDB'
partition by key(a,b,c,d,e,f,g,h,a1,b1,c1,d1,e1,f1,g1,h1,a2,b2,c2,d2,e2,f2,g2,h2,a3,b3,c3,d3,e3,f3,g3,h3) (
-partition pa1 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=20 min_rows=2,
-partition pa2 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=3,
-partition pa3 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=4,
-partition pa4 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=40 min_rows=2);
+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);
ERROR 42000: Too many key parts specified; max 16 parts allowed
create table t1 (a date not null, b varchar(50) not null, c varchar(50) not null, d enum('m', 'w') not null, e int not null, f decimal (18,2) not null, g bigint not null, h tinyint not null, a1 date not null, b1 varchar(50) not null, c1 varchar(50) not null, d1 enum('m', 'w') not null, e1 int not null, f1 decimal (18,2) not null, g1 bigint not null, h1 tinyint not null, a2 date not null, b2 varchar(50) not null, c2 varchar(50) not null, d2 enum('m', 'w') not null, e2 int not null, f2 decimal (18,2) not null, g2 bigint not null, h2 tinyint not null, a3 date not null, b3 varchar(50) not null, c3 varchar(50) not null, d3 enum('m', 'w') not null, e3 int not null, f3 decimal (18,2) not null, g3 bigint not null, h3 tinyint not null, i char(255), primary key(a,b,c,d,e,f,g,h,a1,b1,c1,d1,e1,f1,g1,h1)) engine='InnoDB'
partition by key(a,b,c,d,e,f,g,h) (
-partition pa1 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=20 min_rows=2,
-partition pa2 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=3,
-partition pa3 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=4,
-partition pa4 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=40 min_rows=2);
+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` (
@@ -202,7 +162,7 @@ t1 CREATE TABLE `t1` (
`h3` tinyint(4) NOT NULL,
`i` char(255) DEFAULT NULL,
PRIMARY KEY (`a`,`b`,`c`,`d`,`e`,`f`,`g`,`h`,`a1`,`b1`,`c1`,`d1`,`e1`,`f1`,`g1`,`h1`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a,b,c,d,e,f,g,h) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = InnoDB) */
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a,b,c,d,e,f,g,h) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */
insert into t1 values
('1975-01-01', 'abcde', 'abcde','m', 1234, 123.45, 32412341234, 113,'1975-01-01', 'abcde', 'abcde','m', 1234, 123.45, 32412341234, 113,'1975-01-01', 'abcde', 'abcde','m', 1234, 123.45, 32412341234, 113, '1975-01-01', 'abcde', 'abcde','m', 1234, 123.45, 32412341234, 113, 'tbhth nrzh ztfghgfh fzh ftzhj fztjh'),
('1983-12-31', 'cdef', 'srtbvsr', 'w', 45634, 13452.56, 3452346456, 127,'1983-12-31', 'cdef', 'srtbvsr', 'w', 45634, 13452.56, 3452346456, 127, '1983-12-31', 'cdef', 'srtbvsr', 'w', 45634, 13452.56, 3452346456, 127, '1983-12-31', 'cdef', 'srtbvsr', 'w', 45634, 13452.56, 3452346456, 127, 'liuugbzvdmrlti b itiortudirtfgtibm dfi'),
diff --git a/mysql-test/suite/parts/r/partition_special_myisam.result b/mysql-test/suite/parts/r/partition_special_myisam.result
index f3249f49778..f0a66ac847f 100644
--- a/mysql-test/suite/parts/r/partition_special_myisam.result
+++ b/mysql-test/suite/parts/r/partition_special_myisam.result
@@ -1,17 +1,9 @@
create table t1 (a date not null, b varchar(50) not null, c varchar(50) not null, d enum('m', 'w'), primary key(a,b,c,d)) engine='MyISAM'
partition by key (a,b,c,d) (
-partition pa1 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=20 min_rows=2,
-partition pa2 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=3,
-partition pa3 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=4,
-partition pa4 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=40 min_rows=2);
+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` (
@@ -20,7 +12,7 @@ t1 CREATE TABLE `t1` (
`c` varchar(50) NOT NULL,
`d` enum('m','w') NOT NULL DEFAULT 'm',
PRIMARY KEY (`a`,`b`,`c`,`d`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/tmp/' INDEX DIRECTORY='/tmp/' /*!50100 PARTITION BY KEY (a,b,c,d) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM) */
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a,b,c,d) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */
insert into t1 values
('1975-01-01', 'abcde', 'abcde','m'),
('1983-12-31', 'cdef', 'srtbvsr', 'w'),
@@ -40,18 +32,10 @@ a b c d
drop table t1;
create table t1 (a date not null, b varchar(50) not null, c varchar(50) not null, d enum('m', 'w') not null, e int not null, f decimal (18,2) not null, g bigint not null, h tinyint not null, i char(255), primary key(a,b,c,d,e,f,g,h)) engine='MyISAM'
partition by key(a,b,c,d,e,f,g,h) (
-partition pa1 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=20 min_rows=2,
-partition pa2 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=3,
-partition pa3 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=4,
-partition pa4 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=40 min_rows=2);
+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` (
@@ -65,7 +49,7 @@ t1 CREATE TABLE `t1` (
`h` tinyint(4) NOT NULL,
`i` char(255) DEFAULT NULL,
PRIMARY KEY (`a`,`b`,`c`,`d`,`e`,`f`,`g`,`h`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/tmp/' INDEX DIRECTORY='/tmp/' /*!50100 PARTITION BY KEY (a,b,c,d,e,f,g,h) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM) */
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a,b,c,d,e,f,g,h) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */
insert into t1 values
('1975-01-01', 'abcde', 'abcde','m', 1234, 123.45, 32412341234, 113, 'tbhth nrzh ztfghgfh fzh ftzhj fztjh'),
('1983-12-31', 'cdef', 'srtbvsr', 'w', 45634, 13452.56, 3452346456, 127, 'liuugbzvdmrlti b itiortudirtfgtibm dfi'),
@@ -85,18 +69,10 @@ a b c d e f g h i
drop table t1;
create table t1 (a date not null, b varchar(50) not null, c varchar(50) not null, d enum('m', 'w') not null, e int not null, f decimal (18,2) not null, g bigint not null, h tinyint not null, a1 date not null, b1 varchar(50) not null, c1 varchar(50) not null, d1 enum('m', 'w') not null, e1 int not null, f1 decimal (18,2) not null, g1 bigint not null, h1 tinyint not null, i char(255), primary key(a,b,c,d,e,f,g,h,a1,b1,c1,d1,e1,f1,g1,h1)) engine='MyISAM'
partition by key(a,b,c,d,e,f,g,h,a1,b1,c1,d1,e1,f1,g1,h1) (
-partition pa1 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=20 min_rows=2,
-partition pa2 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=3,
-partition pa3 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=4,
-partition pa4 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=40 min_rows=2);
+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` (
@@ -118,7 +94,7 @@ t1 CREATE TABLE `t1` (
`h1` tinyint(4) NOT NULL,
`i` char(255) DEFAULT NULL,
PRIMARY KEY (`a`,`b`,`c`,`d`,`e`,`f`,`g`,`h`,`a1`,`b1`,`c1`,`d1`,`e1`,`f1`,`g1`,`h1`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/tmp/' INDEX DIRECTORY='/tmp/' /*!50100 PARTITION BY KEY (a,b,c,d,e,f,g,h,a1,b1,c1,d1,e1,f1,g1,h1) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM) */
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a,b,c,d,e,f,g,h,a1,b1,c1,d1,e1,f1,g1,h1) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */
insert into t1 values
('1975-01-01', 'abcde', 'abcde','m', 1234, 123.45, 32412341234, 113,'1975-01-01', 'abcde', 'abcde','m', 1234, 123.45, 32412341234, 113, 'tbhth nrzh ztfghgfh fzh ftzhj fztjh'),
('1983-12-31', 'cdef', 'srtbvsr', 'w', 45634, 13452.56, 3452346456, 127,'1983-12-31', 'cdef', 'srtbvsr', 'w', 45634, 13452.56, 3452346456, 127, 'liuugbzvdmrlti b itiortudirtfgtibm dfi'),
@@ -138,33 +114,17 @@ a b c d e f g h a1 b1 c1 d1 e1 f1 g1 h1 i
drop table t1;
create table t1 (a date not null, b varchar(50) not null, c varchar(50) not null, d enum('m', 'w') not null, e int not null, f decimal (18,2) not null, g bigint not null, h tinyint not null, a1 date not null, b1 varchar(50) not null, c1 varchar(50) not null, d1 enum('m', 'w') not null, e1 int not null, f1 decimal (18,2) not null, g1 bigint not null, h1 tinyint not null, a2 date not null, b2 varchar(50) not null, c2 varchar(50) not null, d2 enum('m', 'w') not null, e2 int not null, f2 decimal (18,2) not null, g2 bigint not null, h2 tinyint not null, a3 date not null, b3 varchar(50) not null, c3 varchar(50) not null, d3 enum('m', 'w') not null, e3 int not null, f3 decimal (18,2) not null, g3 bigint not null, h3 tinyint not null, i char(255), primary key(a,b,c,d,e,f,g,h,a1,b1,c1,d1,e1,f1,g1,h1,a2,b2,c2,d2,e2,f2,g2,h2,a3,b3,c3,d3,e3,f3,g3,h3)) engine='MyISAM'
partition by key(a,b,c,d,e,f,g,h,a1,b1,c1,d1,e1,f1,g1,h1,a2,b2,c2,d2,e2,f2,g2,h2,a3,b3,c3,d3,e3,f3,g3,h3) (
-partition pa1 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=20 min_rows=2,
-partition pa2 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=3,
-partition pa3 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=4,
-partition pa4 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=40 min_rows=2);
+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);
ERROR 42000: Too many key parts specified; max 16 parts allowed
create table t1 (a date not null, b varchar(50) not null, c varchar(50) not null, d enum('m', 'w') not null, e int not null, f decimal (18,2) not null, g bigint not null, h tinyint not null, a1 date not null, b1 varchar(50) not null, c1 varchar(50) not null, d1 enum('m', 'w') not null, e1 int not null, f1 decimal (18,2) not null, g1 bigint not null, h1 tinyint not null, a2 date not null, b2 varchar(50) not null, c2 varchar(50) not null, d2 enum('m', 'w') not null, e2 int not null, f2 decimal (18,2) not null, g2 bigint not null, h2 tinyint not null, a3 date not null, b3 varchar(50) not null, c3 varchar(50) not null, d3 enum('m', 'w') not null, e3 int not null, f3 decimal (18,2) not null, g3 bigint not null, h3 tinyint not null, i char(255), primary key(a,b,c,d,e,f,g,h,a1,b1,c1,d1,e1,f1,g1,h1)) engine='MyISAM'
partition by key(a,b,c,d,e,f,g,h) (
-partition pa1 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=20 min_rows=2,
-partition pa2 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=3,
-partition pa3 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=30 min_rows=4,
-partition pa4 DATA DIRECTORY =
-'/tmp' INDEX DIRECTORY =
-'/tmp' max_rows=40 min_rows=2);
+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` (
@@ -202,7 +162,7 @@ t1 CREATE TABLE `t1` (
`h3` tinyint(4) NOT NULL,
`i` char(255) DEFAULT NULL,
PRIMARY KEY (`a`,`b`,`c`,`d`,`e`,`f`,`g`,`h`,`a1`,`b1`,`c1`,`d1`,`e1`,`f1`,`g1`,`h1`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/tmp/' INDEX DIRECTORY='/tmp/' /*!50100 PARTITION BY KEY (a,b,c,d,e,f,g,h) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM) */
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a,b,c,d,e,f,g,h) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */
insert into t1 values
('1975-01-01', 'abcde', 'abcde','m', 1234, 123.45, 32412341234, 113,'1975-01-01', 'abcde', 'abcde','m', 1234, 123.45, 32412341234, 113,'1975-01-01', 'abcde', 'abcde','m', 1234, 123.45, 32412341234, 113, '1975-01-01', 'abcde', 'abcde','m', 1234, 123.45, 32412341234, 113, 'tbhth nrzh ztfghgfh fzh ftzhj fztjh'),
('1983-12-31', 'cdef', 'srtbvsr', 'w', 45634, 13452.56, 3452346456, 127,'1983-12-31', 'cdef', 'srtbvsr', 'w', 45634, 13452.56, 3452346456, 127, '1983-12-31', 'cdef', 'srtbvsr', 'w', 45634, 13452.56, 3452346456, 127, '1983-12-31', 'cdef', 'srtbvsr', 'w', 45634, 13452.56, 3452346456, 127, 'liuugbzvdmrlti b itiortudirtfgtibm dfi'),
diff --git a/mysql-test/suite/parts/r/partition_syntax_innodb.result b/mysql-test/suite/parts/r/partition_syntax_innodb.result
index d64bfdde239..a26d2ec65b9 100644
--- a/mysql-test/suite/parts/r/partition_syntax_innodb.result
+++ b/mysql-test/suite/parts/r/partition_syntax_innodb.result
@@ -2,14 +2,6 @@ SET @max_row = 20;
SET @@session.storage_engine = 'InnoDB';
#------------------------------------------------------------------------
-# There are several testcases disabled because of the open bugs
-# #15890
-# 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
#------------------------------------------------------------------------
@@ -31,7 +23,7 @@ DROP TABLE IF EXISTS t0_definition;
CREATE TABLE t0_definition (
state CHAR(3),
create_command VARBINARY(5000),
-file_list VARBINARY(5000),
+file_list VARBINARY(10000),
PRIMARY KEY (state)
) ENGINE = MEMORY;
DROP TABLE IF EXISTS t0_aux;
@@ -620,7 +612,7 @@ PARTITION BY RANGE(f_int1)
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
+# 3.5.1.2 VALUE LESS THAN (NULL) is not allowed
CREATE TABLE t1 (
f_int1 INTEGER,
f_int2 INTEGER,
@@ -629,7 +621,7 @@ f_char2 CHAR(20),
f_charbig VARCHAR(1000)
)
PARTITION BY RANGE(f_int1)
-( PARTITION part1 VALUES LESS THAN (CAST(NULL AS SIGNED INTEGER)),
+( 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
@@ -647,7 +639,7 @@ PARTITION BY LIST(MOD(f_int1,2))
PARTITION part2 VALUES IN (0),
PARTITION part3 VALUES IN (1));
DROP TABLE t1;
-# 3.5.2.2 VALUE IN (CAST(NULL AS SIGNED INTEGER))
+# 3.5.2.2 VALUE IN (NULL)
CREATE TABLE t1 (
f_int1 INTEGER,
f_int2 INTEGER,
@@ -656,7 +648,7 @@ 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 part1 VALUES IN (NULL),
PARTITION part3 VALUES IN (1));
create_command
SHOW CREATE TABLE t1;
@@ -679,7 +671,7 @@ 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 part1 VALUES IN (NULL),
PARTITION part2 VALUES IN (0),
PARTITION part3 VALUES IN (1));
create_command
@@ -1061,6 +1053,29 @@ f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
)
+PARTITION BY HASH(f_int1) PARTITIONS 1.6;
+ERROR 42000: Only integers allowed as number here near '1.6' 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.6
+(PARTITION part1 VALUES LESS THAN (10),
+PARTITION part2 VALUES LESS THAN (2147483646));
+ERROR 42000: Only integers allowed as number here near '1.6
+(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 999999999999999999999999999999.999999999999999999999999999999;
ERROR 42000: Only integers allowed as number here near '999999999999999999999999999999.999999999999999999999999999999' at line 8
CREATE TABLE t1 (
@@ -1130,6 +1145,29 @@ f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
)
+PARTITION BY HASH(f_int1) PARTITIONS 0.2E+1;
+ERROR 42000: Only integers allowed as number here 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: Only integers allowed as number here near '0.2E+1
+(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.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 (
@@ -1153,6 +1191,29 @@ f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
)
+PARTITION BY HASH(f_int1) PARTITIONS 0.16E+1;
+ERROR 42000: Only integers allowed as number here near '0.16E+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.16E+1
+(PARTITION part1 VALUES LESS THAN (10),
+PARTITION part2 VALUES LESS THAN (2147483646));
+ERROR 42000: Only integers allowed as number here near '0.16E+1
+(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 42000: Only integers allowed as number here near '0.0E+300' at line 8
CREATE TABLE t1 (
@@ -1169,6 +1230,52 @@ PARTITION part2 VALUES LESS THAN (2147483646));
ERROR 42000: Only integers allowed as number here near '0.0E+300
(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 1E+300;
+ERROR 42000: Only integers allowed as number here near '1E+300' 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 1E+300
+(PARTITION part1 VALUES LESS THAN (10),
+PARTITION part2 VALUES LESS THAN (2147483646));
+ERROR 42000: Only integers allowed as number here near '1E+300
+(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 1E-300;
+ERROR 42000: Only integers allowed as number here near '1E-300' 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 1E-300
+(PARTITION part1 VALUES LESS THAN (10),
+PARTITION part2 VALUES LESS THAN (2147483646));
+ERROR 42000: Only integers allowed as number here near '1E-300
+(PARTITION part1 VALUES LESS THAN (10),
+PARTITION part2 VALUES LESS THAN ' at line 9
# 4.2.4 partition/subpartition numbers STRING notation
CREATE TABLE t1 (
f_int1 INTEGER,
diff --git a/mysql-test/suite/parts/r/partition_syntax_myisam.result b/mysql-test/suite/parts/r/partition_syntax_myisam.result
index 34f771ba51d..93cb075ce2f 100644
--- a/mysql-test/suite/parts/r/partition_syntax_myisam.result
+++ b/mysql-test/suite/parts/r/partition_syntax_myisam.result
@@ -2,14 +2,6 @@ SET @max_row = 20;
SET @@session.storage_engine = 'MyISAM';
#------------------------------------------------------------------------
-# There are several testcases disabled because of the open bugs
-# #15890
-# 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
#------------------------------------------------------------------------
@@ -31,7 +23,7 @@ DROP TABLE IF EXISTS t0_definition;
CREATE TABLE t0_definition (
state CHAR(3),
create_command VARBINARY(5000),
-file_list VARBINARY(5000),
+file_list VARBINARY(10000),
PRIMARY KEY (state)
) ENGINE = MEMORY;
DROP TABLE IF EXISTS t0_aux;
@@ -620,7 +612,7 @@ PARTITION BY RANGE(f_int1)
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
+# 3.5.1.2 VALUE LESS THAN (NULL) is not allowed
CREATE TABLE t1 (
f_int1 INTEGER,
f_int2 INTEGER,
@@ -629,7 +621,7 @@ f_char2 CHAR(20),
f_charbig VARCHAR(1000)
)
PARTITION BY RANGE(f_int1)
-( PARTITION part1 VALUES LESS THAN (CAST(NULL AS SIGNED INTEGER)),
+( 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
@@ -647,7 +639,7 @@ PARTITION BY LIST(MOD(f_int1,2))
PARTITION part2 VALUES IN (0),
PARTITION part3 VALUES IN (1));
DROP TABLE t1;
-# 3.5.2.2 VALUE IN (CAST(NULL AS SIGNED INTEGER))
+# 3.5.2.2 VALUE IN (NULL)
CREATE TABLE t1 (
f_int1 INTEGER,
f_int2 INTEGER,
@@ -656,7 +648,7 @@ 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 part1 VALUES IN (NULL),
PARTITION part3 VALUES IN (1));
create_command
SHOW CREATE TABLE t1;
@@ -687,7 +679,7 @@ 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 part1 VALUES IN (NULL),
PARTITION part2 VALUES IN (0),
PARTITION part3 VALUES IN (1));
create_command
@@ -1143,6 +1135,29 @@ f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
)
+PARTITION BY HASH(f_int1) PARTITIONS 1.6;
+ERROR 42000: Only integers allowed as number here near '1.6' 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.6
+(PARTITION part1 VALUES LESS THAN (10),
+PARTITION part2 VALUES LESS THAN (2147483646));
+ERROR 42000: Only integers allowed as number here near '1.6
+(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 999999999999999999999999999999.999999999999999999999999999999;
ERROR 42000: Only integers allowed as number here near '999999999999999999999999999999.999999999999999999999999999999' at line 8
CREATE TABLE t1 (
@@ -1212,6 +1227,29 @@ f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
)
+PARTITION BY HASH(f_int1) PARTITIONS 0.2E+1;
+ERROR 42000: Only integers allowed as number here 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: Only integers allowed as number here near '0.2E+1
+(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.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 (
@@ -1235,6 +1273,29 @@ f_char1 CHAR(20),
f_char2 CHAR(20),
f_charbig VARCHAR(1000)
)
+PARTITION BY HASH(f_int1) PARTITIONS 0.16E+1;
+ERROR 42000: Only integers allowed as number here near '0.16E+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.16E+1
+(PARTITION part1 VALUES LESS THAN (10),
+PARTITION part2 VALUES LESS THAN (2147483646));
+ERROR 42000: Only integers allowed as number here near '0.16E+1
+(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 42000: Only integers allowed as number here near '0.0E+300' at line 8
CREATE TABLE t1 (
@@ -1251,6 +1312,52 @@ PARTITION part2 VALUES LESS THAN (2147483646));
ERROR 42000: Only integers allowed as number here near '0.0E+300
(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 1E+300;
+ERROR 42000: Only integers allowed as number here near '1E+300' 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 1E+300
+(PARTITION part1 VALUES LESS THAN (10),
+PARTITION part2 VALUES LESS THAN (2147483646));
+ERROR 42000: Only integers allowed as number here near '1E+300
+(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 1E-300;
+ERROR 42000: Only integers allowed as number here near '1E-300' 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 1E-300
+(PARTITION part1 VALUES LESS THAN (10),
+PARTITION part2 VALUES LESS THAN (2147483646));
+ERROR 42000: Only integers allowed as number here near '1E-300
+(PARTITION part1 VALUES LESS THAN (10),
+PARTITION part2 VALUES LESS THAN ' at line 9
# 4.2.4 partition/subpartition numbers STRING notation
CREATE TABLE t1 (
f_int1 INTEGER,
diff --git a/mysql-test/suite/parts/r/rpl_partition.result b/mysql-test/suite/parts/r/rpl_partition.result
index 79a95fd613b..bd77d4317bd 100644
--- a/mysql-test/suite/parts/r/rpl_partition.result
+++ b/mysql-test/suite/parts/r/rpl_partition.result
@@ -121,7 +121,7 @@ Create Table CREATE TABLE `t3` (
`fkid` mediumint(9) DEFAULT NULL,
`filler` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
-) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (id) SUBPARTITION BY HASH (id) SUBPARTITIONS 2 (PARTITION pa1 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION pa2 VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION pa3 VALUES LESS THAN (30) ENGINE = MyISAM, PARTITION pa4 VALUES LESS THAN (40) ENGINE = MyISAM, PARTITION pa5 VALUES LESS THAN (50) ENGINE = MyISAM, PARTITION pa6 VALUES LESS THAN (60) ENGINE = MyISAM, PARTITION pa7 VALUES LESS THAN (70) ENGINE = MyISAM, PARTITION pa8 VALUES LESS THAN (80) ENGINE = MyISAM, PARTITION pa9 VALUES LESS THAN (90) ENGINE = MyISAM, PARTITION pa10 VALUES LESS THAN (100) ENGINE = MyISAM, PARTITION pa11 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
+) ENGINE=MyISAM AUTO_INCREMENT=1001 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (id) SUBPARTITION BY HASH (id) SUBPARTITIONS 2 (PARTITION pa1 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION pa2 VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION pa3 VALUES LESS THAN (30) ENGINE = MyISAM, PARTITION pa4 VALUES LESS THAN (40) ENGINE = MyISAM, PARTITION pa5 VALUES LESS THAN (50) ENGINE = MyISAM, PARTITION pa6 VALUES LESS THAN (60) ENGINE = MyISAM, PARTITION pa7 VALUES LESS THAN (70) ENGINE = MyISAM, PARTITION pa8 VALUES LESS THAN (80) ENGINE = MyISAM, PARTITION pa9 VALUES LESS THAN (90) ENGINE = MyISAM, PARTITION pa10 VALUES LESS THAN (100) ENGINE = MyISAM, PARTITION pa11 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
show slave status;
Slave_IO_State #
Master_Host 127.0.0.1
diff --git a/mysql-test/suite/parts/t/disabled.def b/mysql-test/suite/parts/t/disabled.def
index 36bf08e9851..408a624e707 100644
--- a/mysql-test/suite/parts/t/disabled.def
+++ b/mysql-test/suite/parts/t/disabled.def
@@ -3,13 +3,18 @@ ndb_dd_backuprestore : cannot create t1
ndb_partition_error : cannot create t1
ndb_partition_list : cannot create t1
ndb_partition_range : cannot create t1
+part_supported_sql_func_ndb : cannot create t1
+partition_alter1_ndb : timeout. Needs too much time.
+partition_alter2_ndb : cannot create t1
+partition_basic_ndb : cannot create t1
partition_bit_ndb : cannot create t1
+partition_engine_ndb : cannot create t1
partition_int_ndb : cannot create t1
+partition_sessions : needs system_3_init.inc
partition_syntax_ndb : cannot create t1
+partition_value_innodb : Bug#30581 partition_value tests use disallowed CAST() function
+partition_value_myisam : Bug#30581 partition_value tests use disallowed CAST() function
partition_value_ndb : cannot create t1
-partition_basic_ndb : cannot create t1
-partition_alter1_ndb : timeout. Needs too much time.
-partition_alter2_ndb : cannot create t1
-partition_char_innodb : crash. Bug? More investigations
-partition_sessions : needs system_3_init.inc
-partition_engine_ndb : cannot create t1
+rpl_ndb_dd_partitions : cannot create t1
+partition_alter4_myisam : Bug#20129 / WL#4176
+partition_alter4_innodb : Bug#20129 / WL#4176
diff --git a/mysql-test/suite/parts/t/ndb_partition_key.test b/mysql-test/suite/parts/t/ndb_partition_key.test
index fb0581eb6f6..36a8a1863aa 100644
--- a/mysql-test/suite/parts/t/ndb_partition_key.test
+++ b/mysql-test/suite/parts/t/ndb_partition_key.test
@@ -75,6 +75,14 @@ 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);
@@ -112,7 +120,9 @@ show create table t1;
alter table t1 remove partitioning;
show create table t1;
---error ER_MIX_HANDLER_ERROR
+#--error ER_MIX_HANDLER_ERROR
+# after fixing bug#31931 this works
+# since it already have ndb on table level
alter table t1
partition by key(a)
(partition p0 engine=ndb, partition p1);
diff --git a/mysql-test/suite/parts/t/part_blocked_sql_func_innodb.test b/mysql-test/suite/parts/t/part_blocked_sql_func_innodb.test
index c2bbf6ad26c..12f5aabf59f 100644
--- a/mysql-test/suite/parts/t/part_blocked_sql_func_innodb.test
+++ b/mysql-test/suite/parts/t/part_blocked_sql_func_innodb.test
@@ -14,11 +14,11 @@
################################################################################
#
-# NOTE: PLEASE DO NOT ADD NOT MYISAM SPECIFIC TESTCASES HERE !
+# 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 include/partition.pre before changing
+# Please read the README at the end of inc/partition.pre before changing
# any of the variables.
#
@@ -40,5 +40,3 @@ let $engine= 'INNODB';
#------------------------------------------------------------------------------#
--source suite/parts/inc/part_blocked_sql_funcs_main.inc
-# --source inc/part_blocked_sql_funcs_main.inc
-
diff --git a/mysql-test/suite/parts/t/part_blocked_sql_func_myisam.test b/mysql-test/suite/parts/t/part_blocked_sql_func_myisam.test
index bd7247e4ba5..6478f8c9f81 100644
--- a/mysql-test/suite/parts/t/part_blocked_sql_func_myisam.test
+++ b/mysql-test/suite/parts/t/part_blocked_sql_func_myisam.test
@@ -18,7 +18,7 @@
# 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 include/partition.pre before changing
+# Please read the README at the end of inc/partition.pre before changing
# any of the variables.
#
@@ -39,5 +39,3 @@ let $engine= 'MYISAM';
#------------------------------------------------------------------------------#
--source suite/parts/inc/part_blocked_sql_funcs_main.inc
-# --source inc/part_blocked_sql_funcs_main.inc
-
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 ee765bbe1d0..e8d263e369c 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
@@ -14,7 +14,7 @@
################################################################################
#
-# NOTE: PLEASE DO NOT ADD NOT MYISAM SPECIFIC TESTCASES HERE !
+# 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.
#
@@ -38,5 +38,3 @@ let $engine= 'INNODB';
#------------------------------------------------------------------------------#
--source suite/parts/inc/part_supported_sql_funcs_main.inc
-# --source inc/part_supported_sql_funcs_main.inc
-
diff --git a/mysql-test/suite/parts/t/part_supported_sql_func_myisam.test b/mysql-test/suite/parts/t/part_supported_sql_func_myisam.test
index 58c7d8ebfb1..4fb1e532c6b 100644
--- a/mysql-test/suite/parts/t/part_supported_sql_func_myisam.test
+++ b/mysql-test/suite/parts/t/part_supported_sql_func_myisam.test
@@ -18,7 +18,7 @@
# 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 include/partition.pre before changing
+# Please read the README at the end of inc/partition.pre before changing
# any of the variables.
#
@@ -40,5 +40,3 @@ let $engine= 'MYISAM';
#------------------------------------------------------------------------------#
--source suite/parts/inc/part_supported_sql_funcs_main.inc
-# --source inc/part_supported_sql_funcs_main.inc
-
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
index c21ffe16d19..c21649ba396 100644
--- a/mysql-test/suite/parts/t/part_supported_sql_func_ndb.test
+++ b/mysql-test/suite/parts/t/part_supported_sql_func_ndb.test
@@ -30,11 +30,9 @@ let $do_long_tests= 1;
#------------------------------------------------------------------------------#
# Engine specific settings and requirements
---source include/have_ndb.inc
##### Storage engine to be tested
+--source include/have_ndb.inc
let $engine= 'NDB';
#------------------------------------------------------------------------------#
--source suite/parts/inc/part_supported_sql_funcs_main.inc
-# --source inc/part_supported_sql_funcs_main.inc
-
diff --git a/mysql-test/suite/parts/t/partition_alter1_innodb.test b/mysql-test/suite/parts/t/partition_alter1_innodb.test
index 2667f1dbccd..bc07a832043 100644
--- a/mysql-test/suite/parts/t/partition_alter1_innodb.test
+++ b/mysql-test/suite/parts/t/partition_alter1_innodb.test
@@ -6,7 +6,7 @@
# InnoDB branch #
# #
#------------------------------------------------------------------------------#
-# Original Author: ML #
+# Original Author: mleich #
# Original Date: 2006-03-05 #
# Change Author: #
# Change Date: #
@@ -18,7 +18,7 @@
# 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 include/partition.pre before changing
+# Please read the README at the end of inc/partition.pre before changing
# any of the variables.
#
@@ -47,8 +47,8 @@ let $more_pk_ui_tests= 0;
# Engine specific settings and requirements
##### Storage engine to be tested
-let $engine= 'InnoDB';
--source include/have_innodb.inc
+let $engine= 'InnoDB';
##### Execute the test of "table" files
# InnoDB has no files per PK, UI, ...
@@ -64,7 +64,6 @@ let $MAX_VALUE= (2147483646);
# Generate the prerequisites ($variables, @variables, tables) needed
--source suite/parts/inc/partition.pre
-# --source inc/partition.pre
##### Workarounds for known open engine specific bugs
# none
@@ -72,7 +71,6 @@ let $MAX_VALUE= (2147483646);
#------------------------------------------------------------------------------#
# Execute the tests to be applied to all storage engines
--source suite/parts/inc/partition_alter1.inc
-# --source inc/partition_alter1.inc
#------------------------------------------------------------------------------#
# Execute storage engine specific tests
@@ -80,4 +78,3 @@ let $MAX_VALUE= (2147483646);
#------------------------------------------------------------------------------#
# Cleanup
--source suite/parts/inc/partition_cleanup.inc
-# --source inc/partition_cleanup.inc
diff --git a/mysql-test/suite/parts/t/partition_alter1_myisam.test b/mysql-test/suite/parts/t/partition_alter1_myisam.test
index 0959de92c15..a6a60f4a61d 100644
--- a/mysql-test/suite/parts/t/partition_alter1_myisam.test
+++ b/mysql-test/suite/parts/t/partition_alter1_myisam.test
@@ -6,7 +6,7 @@
# MyISAM branch #
# #
#------------------------------------------------------------------------------#
-# Original Author: ML #
+# Original Author: mleich #
# Original Date: 2006-03-05 #
# Change Author: #
# Change Date: #
@@ -18,7 +18,7 @@
# 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 include/partition.pre before changing
+# Please read the README at the end of inc/partition.pre before changing
# any of the variables.
#
@@ -63,7 +63,6 @@ let $MAX_VALUE= (2147483646);
# Generate the prerequisites ($variables, @variables, tables) needed
--source suite/parts/inc/partition.pre
-# --source inc/partition.pre
##### Workarounds for known open engine specific bugs
# none
@@ -71,7 +70,6 @@ let $MAX_VALUE= (2147483646);
#------------------------------------------------------------------------------#
# Execute the tests to be applied to all storage engines
--source suite/parts/inc/partition_alter1.inc
-# --source inc/partition_alter1.inc
#------------------------------------------------------------------------------#
# Execute storage engine specific tests
@@ -79,4 +77,3 @@ let $MAX_VALUE= (2147483646);
#------------------------------------------------------------------------------#
# Cleanup
--source suite/parts/inc/partition_cleanup.inc
-# --source inc/partition_cleanup.inc
diff --git a/mysql-test/suite/parts/t/partition_alter1_ndb.test b/mysql-test/suite/parts/t/partition_alter1_ndb.test
index 96ea9376eb9..cb18b203d39 100644
--- a/mysql-test/suite/parts/t/partition_alter1_ndb.test
+++ b/mysql-test/suite/parts/t/partition_alter1_ndb.test
@@ -6,7 +6,7 @@
# NDB branch #
# #
#------------------------------------------------------------------------------#
-# Original Author: ML #
+# Original Author: mleich #
# Original Date: 2006-03-05 #
# Change Author: #
# Change Date: #
@@ -18,7 +18,7 @@
# 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 include/partition.pre before changing
+# Please read the README at the end of inc/partition.pre before changing
# any of the variables.
#
@@ -47,8 +47,8 @@ let $more_pk_ui_tests= 0;
# Engine specific settings and requirements
##### Storage engine to be tested
-let $engine= 'ndbcluster';
--source include/have_ndb.inc
+let $engine= 'ndbcluster';
##### Execute the test of "table" files
# NDB has no files per PK, UI, ...
@@ -67,7 +67,6 @@ let $MAX_VALUE= (2147483646);
# Generate the prerequisites ($variables, @variables, tables) needed
--source suite/parts/inc/partition.pre
-# --source inc/partition.pre
##### Workarounds for known open engine specific bugs
# Bug#18735: Partitions: NDB, UNIQUE INDEX, UPDATE, strange server response
@@ -76,7 +75,6 @@ let $fixed_bug18735= 0;
#------------------------------------------------------------------------------#
# Execute the tests to be applied to all storage engines
--source suite/parts/inc/partition_alter1.inc
-# --source inc/partition_alter1.inc
#------------------------------------------------------------------------------#
# Execute storage engine specific tests
@@ -84,4 +82,3 @@ let $fixed_bug18735= 0;
#------------------------------------------------------------------------------#
# Cleanup
--source suite/parts/inc/partition_cleanup.inc
-# --source inc/partition_cleanup.inc
diff --git a/mysql-test/suite/parts/t/partition_alter2_innodb.test b/mysql-test/suite/parts/t/partition_alter2_innodb.test
index df2b4a0e048..a5efdc71437 100644
--- a/mysql-test/suite/parts/t/partition_alter2_innodb.test
+++ b/mysql-test/suite/parts/t/partition_alter2_innodb.test
@@ -6,7 +6,7 @@
# InnoDB branch #
# #
#------------------------------------------------------------------------------#
-# Original Author: ML #
+# Original Author: mleich #
# Original Date: 2006-03-05 #
# Change Author: #
# Change Date: #
@@ -18,7 +18,7 @@
# 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 include/partition.pre before changing
+# Please read the README at the end of inc/partition.pre before changing
# any of the variables.
#
@@ -47,8 +47,8 @@ let $more_pk_ui_tests= 0;
# Engine specific settings and requirements
##### Storage engine to be tested
-let $engine= 'InnoDB';
--source include/have_innodb.inc
+let $engine= 'InnoDB';
##### Execute the test of "table" files
# InnoDB has no files per PK, UI, ...
@@ -64,7 +64,6 @@ let $MAX_VALUE= (2147483646);
# Generate the prerequisites ($variables, @variables, tables) needed
--source suite/parts/inc/partition.pre
-# --source inc/partition.pre
##### Workarounds for known open engine specific bugs
# none
@@ -72,7 +71,6 @@ let $MAX_VALUE= (2147483646);
#------------------------------------------------------------------------------#
# Execute the tests to be applied to all storage engines
--source suite/parts/inc/partition_alter2.inc
-# --source inc/partition_alter2.inc
#------------------------------------------------------------------------------#
# Execute storage engine specific tests
@@ -80,4 +78,3 @@ let $MAX_VALUE= (2147483646);
#------------------------------------------------------------------------------#
# Cleanup
--source suite/parts/inc/partition_cleanup.inc
-# --source inc/partition_cleanup.inc
diff --git a/mysql-test/suite/parts/t/partition_alter2_myisam.test b/mysql-test/suite/parts/t/partition_alter2_myisam.test
index b8b92d1b218..a5b6380ef15 100644
--- a/mysql-test/suite/parts/t/partition_alter2_myisam.test
+++ b/mysql-test/suite/parts/t/partition_alter2_myisam.test
@@ -6,7 +6,7 @@
# MyISAM branch #
# #
#------------------------------------------------------------------------------#
-# Original Author: ML #
+# Original Author: mleich #
# Original Date: 2006-03-05 #
# Change Author: #
# Change Date: #
@@ -18,7 +18,7 @@
# 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 include/partition.pre before changing
+# Please read the README at the end of inc/partition.pre before changing
# any of the variables.
#
@@ -63,7 +63,6 @@ let $MAX_VALUE= (2147483646);
# Generate the prerequisites ($variables, @variables, tables) needed
--source suite/parts/inc/partition.pre
-# --source inc/partition.pre
##### Workarounds for known open engine specific bugs
# none
@@ -71,7 +70,6 @@ let $MAX_VALUE= (2147483646);
#------------------------------------------------------------------------------#
# Execute the tests to be applied to all storage engines
--source suite/parts/inc/partition_alter2.inc
-# --source inc/partition_alter2.inc
#------------------------------------------------------------------------------#
# Execute storage engine specific tests
@@ -79,4 +77,3 @@ let $MAX_VALUE= (2147483646);
#------------------------------------------------------------------------------#
# Cleanup
--source suite/parts/inc/partition_cleanup.inc
-# --source inc/partition_cleanup.inc
diff --git a/mysql-test/suite/parts/t/partition_alter2_ndb.test b/mysql-test/suite/parts/t/partition_alter2_ndb.test
index 8506ec3fea8..e9b4da93b7a 100644
--- a/mysql-test/suite/parts/t/partition_alter2_ndb.test
+++ b/mysql-test/suite/parts/t/partition_alter2_ndb.test
@@ -6,7 +6,7 @@
# NDB branch #
# #
#------------------------------------------------------------------------------#
-# Original Author: ML #
+# Original Author: mleich #
# Original Date: 2006-03-05 #
# Change Author: #
# Change Date: #
@@ -18,7 +18,7 @@
# 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 include/partition.pre before changing
+# Please read the README at the end of inc/partition.pre before changing
# any of the variables.
#
@@ -48,8 +48,8 @@ let $more_pk_ui_tests= 0;
# Engine specific settings and requirements
##### Storage engine to be tested
-let $engine= 'ndbcluster';
--source include/have_ndb.inc
+let $engine= 'ndbcluster';
##### Execute the test of "table" files
# NDB has no files per PK, UI, ...
@@ -68,7 +68,6 @@ let $MAX_VALUE= (2147483646);
# Generate the prerequisites ($variables, @variables, tables) needed
--source suite/parts/inc/partition.pre
-# --source inc/partition.pre
##### Workarounds for known open engine specific bugs
# none
@@ -76,7 +75,6 @@ let $MAX_VALUE= (2147483646);
#------------------------------------------------------------------------------#
# Execute the tests to be applied to all storage engines
--source suite/parts/inc/partition_alter2.inc
-# --source inc/partition_alter2.inc
#------------------------------------------------------------------------------#
# Execute storage engine specific tests
@@ -84,4 +82,3 @@ let $MAX_VALUE= (2147483646);
#------------------------------------------------------------------------------#
# Cleanup
--source suite/parts/inc/partition_cleanup.inc
-# --source inc/partition_cleanup.inc
diff --git a/mysql-test/suite/parts/t/partition_alter3_innodb.test b/mysql-test/suite/parts/t/partition_alter3_innodb.test
index 253cd7242bd..23c1a987aae 100644
--- a/mysql-test/suite/parts/t/partition_alter3_innodb.test
+++ b/mysql-test/suite/parts/t/partition_alter3_innodb.test
@@ -6,7 +6,7 @@
# InnoDB branch #
# #
#------------------------------------------------------------------------------#
-# Original Author: ML #
+# Original Author: mleich #
# Original Date: 2006-04-24 #
# Change Author: #
# Change Date: #
@@ -18,7 +18,7 @@
# 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 include/partition.pre before changing
+# Please read the README at the end of inc/partition.pre before changing
# any of the variables.
#
@@ -46,8 +46,8 @@ let $more_pk_ui_tests= 0;
# Engine specific settings and requirements
##### Storage engine to be tested
-let $engine= 'InnoDB';
--source include/have_innodb.inc
+let $engine= 'InnoDB';
##### Execute the test of "table" files
# InnoDB has no files per PK, UI, ...
@@ -63,7 +63,6 @@ let $MAX_VALUE= (2147483646);
# Generate the prerequisites ($variables, @variables, tables) needed
--source suite/parts/inc/partition.pre
-# --source inc/partition.pre
##### Workarounds for known open engine specific bugs
# none
@@ -71,7 +70,6 @@ let $MAX_VALUE= (2147483646);
#------------------------------------------------------------------------------#
# Execute the tests to be applied to all storage engines
--source suite/parts/inc/partition_alter3.inc
-# --source inc/partition_alter3.inc
#------------------------------------------------------------------------------#
# Execute storage engine specific tests
@@ -79,4 +77,3 @@ let $MAX_VALUE= (2147483646);
#------------------------------------------------------------------------------#
# Cleanup
--source suite/parts/inc/partition_cleanup.inc
-# --source inc/partition_cleanup.inc
diff --git a/mysql-test/suite/parts/t/partition_alter3_myisam.test b/mysql-test/suite/parts/t/partition_alter3_myisam.test
index 894340de4db..2212065fcc1 100644
--- a/mysql-test/suite/parts/t/partition_alter3_myisam.test
+++ b/mysql-test/suite/parts/t/partition_alter3_myisam.test
@@ -6,7 +6,7 @@
# MyISAM branch #
# #
#------------------------------------------------------------------------------#
-# Original Author: ML #
+# Original Author: mleich #
# Original Date: 2006-04-11 #
# Change Author: #
# Change Date: #
@@ -18,7 +18,7 @@
# 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 include/partition.pre before changing
+# Please read the README at the end of inc/partition.pre before changing
# any of the variables.
#
@@ -62,7 +62,6 @@ let $MAX_VALUE= (2147483646);
# Generate the prerequisites ($variables, @variables, tables) needed
--source suite/parts/inc/partition.pre
-# --source inc/partition.pre
##### Workarounds for known open engine specific bugs
# none
@@ -70,7 +69,6 @@ let $MAX_VALUE= (2147483646);
#------------------------------------------------------------------------------#
# Execute the tests to be applied to all storage engines
--source suite/parts/inc/partition_alter3.inc
-# --source inc/partition_alter3.inc
#------------------------------------------------------------------------------#
# Execute storage engine specific tests
@@ -78,4 +76,3 @@ let $MAX_VALUE= (2147483646);
#------------------------------------------------------------------------------#
# Cleanup
--source suite/parts/inc/partition_cleanup.inc
-# --source inc/partition_cleanup.inc
diff --git a/mysql-test/suite/parts/t/partition_alter4_innodb.test b/mysql-test/suite/parts/t/partition_alter4_innodb.test
index eea8b9997ef..3061e5c9e7f 100644
--- a/mysql-test/suite/parts/t/partition_alter4_innodb.test
+++ b/mysql-test/suite/parts/t/partition_alter4_innodb.test
@@ -18,7 +18,7 @@
# 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 include/partition.pre before changing
+# Please read the README at the end of inc/partition.pre before changing
# any of the variables.
#
@@ -47,8 +47,8 @@ let $more_pk_ui_tests= 0;
# Engine specific settings and requirements
##### Storage engine to be tested
-let $engine= 'InnoDB';
--source include/have_innodb.inc
+let $engine= 'InnoDB';
##### Execute the test of "table" files
# InnoDB has no files per PK, UI, ...
@@ -64,7 +64,6 @@ let $MAX_VALUE= (2147483646);
# Generate the prerequisites ($variables, @variables, tables) needed
--source suite/parts/inc/partition.pre
-# --source inc/partition.pre
##### Workarounds for known open engine specific bugs
# none
@@ -72,7 +71,6 @@ let $MAX_VALUE= (2147483646);
#------------------------------------------------------------------------------#
# Execute the tests to be applied to all storage engines
--source suite/parts/inc/partition_alter4.inc
-# --source inc/partition_alter4.inc
#------------------------------------------------------------------------------#
# Execute storage engine specific tests
@@ -80,4 +78,3 @@ let $MAX_VALUE= (2147483646);
#------------------------------------------------------------------------------#
# Cleanup
--source suite/parts/inc/partition_cleanup.inc
-# --source inc/partition_cleanup.inc
diff --git a/mysql-test/suite/parts/t/partition_alter4_myisam.test b/mysql-test/suite/parts/t/partition_alter4_myisam.test
index 064dc111ef3..3b2117a3745 100644
--- a/mysql-test/suite/parts/t/partition_alter4_myisam.test
+++ b/mysql-test/suite/parts/t/partition_alter4_myisam.test
@@ -18,7 +18,7 @@
# 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 include/partition.pre before changing
+# Please read the README at the end of inc/partition.pre before changing
# any of the variables.
#
@@ -63,7 +63,6 @@ let $MAX_VALUE= (2147483646);
# Generate the prerequisites ($variables, @variables, tables) needed
--source suite/parts/inc/partition.pre
-# --source inc/partition.pre
##### Workarounds for known open engine specific bugs
# none
@@ -71,7 +70,6 @@ let $MAX_VALUE= (2147483646);
#------------------------------------------------------------------------------#
# Execute the tests to be applied to all storage engines
--source suite/parts/inc/partition_alter4.inc
-# --source inc/partition_alter4.inc
#------------------------------------------------------------------------------#
# Execute storage engine specific tests
@@ -79,4 +77,3 @@ let $MAX_VALUE= (2147483646);
#------------------------------------------------------------------------------#
# Cleanup
--source suite/parts/inc/partition_cleanup.inc
-# --source inc/partition_cleanup.inc
diff --git a/mysql-test/suite/parts/t/partition_basic_innodb.test b/mysql-test/suite/parts/t/partition_basic_innodb.test
index 8e6f6e6d166..d3d5916886b 100644
--- a/mysql-test/suite/parts/t/partition_basic_innodb.test
+++ b/mysql-test/suite/parts/t/partition_basic_innodb.test
@@ -6,7 +6,7 @@
# InnoDB branch #
# #
#------------------------------------------------------------------------------#
-# Original Author: ML #
+# Original Author: mleich #
# Original Date: 2006-03-05 #
# Change Author: #
# Change Date: #
@@ -18,7 +18,7 @@
# 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 include/partition.pre before changing
+# Please read the README at the end of inc/partition.pre before changing
# any of the variables.
#
@@ -47,12 +47,12 @@ let $more_pk_ui_tests= 0;
# Engine specific settings and requirements
##### Storage engine to be tested
-let $engine= 'InnoDB';
--source include/have_innodb.inc
+let $engine= 'InnoDB';
##### Execute the test of "table" files
-# InnoDB has no files per PK, UI, ...
-let $do_file_tests= 0;
+# InnoDB has no files per PK, UI, ... But only .frm file
+let $do_file_tests= 1;
##### Execute PRIMARY KEY tests #####
# AFAIK InnoDB clusters the table around PRIMARY KEYs.
@@ -64,7 +64,6 @@ let $MAX_VALUE= (2147483646);
# Generate the prerequisites ($variables, @variables, tables) needed
--source suite/parts/inc/partition.pre
-# --source inc/partition.pre
##### Workarounds for known open engine specific bugs
# none
@@ -72,7 +71,6 @@ let $MAX_VALUE= (2147483646);
#------------------------------------------------------------------------------#
# Execute the tests to be applied to all storage engines
--source suite/parts/inc/partition_basic.inc
-# --source inc/partition_basic.inc
#------------------------------------------------------------------------------#
# Execute storage engine specific tests
@@ -80,4 +78,3 @@ let $MAX_VALUE= (2147483646);
#------------------------------------------------------------------------------#
# Cleanup
--source suite/parts/inc/partition_cleanup.inc
-# --source inc/partition_cleanup.inc
diff --git a/mysql-test/suite/parts/t/partition_basic_myisam.test b/mysql-test/suite/parts/t/partition_basic_myisam.test
index 4f653db88e3..8d84982335c 100644
--- a/mysql-test/suite/parts/t/partition_basic_myisam.test
+++ b/mysql-test/suite/parts/t/partition_basic_myisam.test
@@ -6,7 +6,7 @@
# MyISAM branch #
# #
#------------------------------------------------------------------------------#
-# Original Author: ML #
+# Original Author: mleich #
# Original Date: 2006-03-05 #
# Change Author: #
# Change Date: #
@@ -18,7 +18,7 @@
# 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 include/partition.pre before changing
+# Please read the README at the end of inc/partition.pre before changing
# any of the variables.
#
@@ -63,7 +63,6 @@ let $MAX_VALUE= (2147483646);
# Generate the prerequisites ($variables, @variables, tables) needed
--source suite/parts/inc/partition.pre
-# --source inc/partition.pre
##### Workarounds for known open engine specific bugs
# none
@@ -71,7 +70,6 @@ let $MAX_VALUE= (2147483646);
#------------------------------------------------------------------------------#
# Execute the tests to be applied to all storage engines
--source suite/parts/inc/partition_basic.inc
-# --source inc/partition_basic.inc
#------------------------------------------------------------------------------#
# Execute storage engine specific tests
@@ -79,4 +77,3 @@ let $MAX_VALUE= (2147483646);
#------------------------------------------------------------------------------#
# Cleanup
--source suite/parts/inc/partition_cleanup.inc
-# --source inc/partition_cleanup.inc
diff --git a/mysql-test/suite/parts/t/partition_basic_ndb.test b/mysql-test/suite/parts/t/partition_basic_ndb.test
index 2e6f830eefc..273d92ac80d 100644
--- a/mysql-test/suite/parts/t/partition_basic_ndb.test
+++ b/mysql-test/suite/parts/t/partition_basic_ndb.test
@@ -6,7 +6,7 @@
# NDB branch #
# #
#------------------------------------------------------------------------------#
-# Original Author: ML #
+# Original Author: mleich #
# Original Date: 2006-03-05 #
# Change Author: #
# Change Date: #
@@ -18,7 +18,7 @@
# 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 include/partition.pre before changing
+# Please read the README at the end of inc/partition.pre before changing
# any of the variables.
#
@@ -48,8 +48,8 @@ let $more_pk_ui_tests= 0;
# Engine specific settings and requirements
##### Storage engine to be tested
-let $engine= 'ndbcluster';
--source include/have_ndb.inc
+let $engine= 'ndbcluster';
##### Execute the test of "table" files
# NDB has no files per PK, UI, ...
@@ -68,18 +68,16 @@ let $MAX_VALUE= (2147483646);
# Generate the prerequisites ($variables, @variables, tables) needed
--source suite/parts/inc/partition.pre
-# --source inc/partition.pre
##### Workarounds for known open engine specific bugs
# Bug#18730 Partitions: NDB, crash on SELECT MIN(<unique column>)
-let $fixed_bug18730= 0;
+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
-# --source inc/partition_basic.inc
#------------------------------------------------------------------------------#
# Execute storage engine specific tests
@@ -87,4 +85,3 @@ let $fixed_bug18735= 0;
#------------------------------------------------------------------------------#
# Cleanup
--source suite/parts/inc/partition_cleanup.inc
-# --source inc/partition_cleanup.inc
diff --git a/mysql-test/suite/parts/t/partition_basic_symlink_innodb.test b/mysql-test/suite/parts/t/partition_basic_symlink_innodb.test
new file mode 100644
index 00000000000..51e6397c018
--- /dev/null
+++ b/mysql-test/suite/parts/t/partition_basic_symlink_innodb.test
@@ -0,0 +1,163 @@
+################################################################################
+# t/partition_basic_innodb.test #
+# #
+# Purpose: #
+# Tests around Create Partitioned table using DATA/INDEX DIR #
+# InnoDB branch #
+# #
+#------------------------------------------------------------------------------#
+# Original Author: mleich #
+# Original Date: 2006-03-05 #
+# Change Author: mattiasj #
+# Change Date: 2008-02-05 #
+# Change: copied it from partition_basic_innodb.test and kept DATA DIR #
+# Change Author: mattiasj #
+# Change Date: 2008-03-16 #
+# Change: Replaced all test with alter -> myisam, since innodb does not support#
+# DATA/INDEX DIRECTORY #
+################################################################################
+
+# NOTE: Until InnoDB supports DATA/INDEX DIR, test that a partitioned table
+# remembers the DATA/INDEX DIR and it is used if altered to MyISAM
+#
+--echo # Will not run partition_basic_symlink on InnoDB, since it is the same
+--echo # as partition_basic, since InnoDB does not support DATA/INDEX DIR
+--echo # Will only verify that the DATA/INDEX DIR is stored and used if
+--echo # ALTER to MyISAM.
+--source include/have_innodb.inc
+# The server must support partitioning.
+--source include/have_partition.inc
+# The server must support symlink for DATA/INDEX DIRECTORY.
+--source include/have_symlink.inc
+# windows does not support symlink for DATA/INDEX DIRECTORY.
+--source include/not_windows.inc
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+--mkdir $MYSQLTEST_VARDIR/mysql-test-data-dir
+--mkdir $MYSQLTEST_VARDIR/mysql-test-idx-dir
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+eval CREATE TABLE t1 (c1 INT)
+ENGINE = InnoDB
+PARTITION BY HASH (c1)
+(PARTITION p0
+ DATA DIRECTORY = '$MYSQLTEST_VARDIR/mysql-test-data-dir'
+ INDEX DIRECTORY = '$MYSQLTEST_VARDIR/mysql-test-idx-dir',
+ PARTITION p1
+ DATA DIRECTORY = '$MYSQLTEST_VARDIR/mysql-test-data-dir'
+ INDEX DIRECTORY = '$MYSQLTEST_VARDIR/mysql-test-idx-dir'
+);
+--echo # Verifying .frm and .par files
+--file_exists $MYSQLTEST_VARDIR/master-data/test/t1.frm
+--file_exists $MYSQLTEST_VARDIR/master-data/test/t1.par
+--echo # Verifying that there are no MyISAM files
+--error 1
+--file_exists $MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYD
+--error 1
+--file_exists $MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYI
+--error 1
+--file_exists $MYSQLTEST_VARDIR/master-data/test/t1#P#p1.MYD
+--error 1
+--file_exists $MYSQLTEST_VARDIR/master-data/test/t1#P#p1.MYI
+--error 1
+--file_exists $MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#p0.MYD
+--error 1
+--file_exists $MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#p0.MYI
+--error 1
+--file_exists $MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#p1.MYD
+--error 1
+--file_exists $MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#p1.MYI
+FLUSH TABLES;
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+SHOW CREATE TABLE t1;
+ALTER TABLE t1 ENGINE = MyISAM;
+--echo # Verifying .frm, .par and MyISAM files (.MYD, MYI)
+--file_exists $MYSQLTEST_VARDIR/master-data/test/t1.frm
+--file_exists $MYSQLTEST_VARDIR/master-data/test/t1.par
+--file_exists $MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYD
+--file_exists $MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYI
+--file_exists $MYSQLTEST_VARDIR/master-data/test/t1#P#p1.MYD
+--file_exists $MYSQLTEST_VARDIR/master-data/test/t1#P#p1.MYI
+--file_exists $MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#p0.MYD
+--file_exists $MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#p0.MYI
+--file_exists $MYSQLTEST_VARDIR/mysql-test-data-dir/t1#P#p1.MYD
+--file_exists $MYSQLTEST_VARDIR/mysql-test-idx-dir/t1#P#p1.MYI
+FLUSH TABLES;
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
+--rmdir $MYSQLTEST_VARDIR/mysql-test-data-dir
+--rmdir $MYSQLTEST_VARDIR/mysql-test-idx-dir
+--exit
+# here is the old test, which is tested by partition_basic_innodb
+
+#
+# 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
+
+##### 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.
+--source include/have_partition.inc
+# The server must support symlink for DATA/INDEX DIRECTORY.
+--source include/have_symlink.inc
+# windows does not support symlink for DATA/INDEX DIRECTORY.
+--source include/not_windows.inc
+
+#------------------------------------------------------------------------------#
+# Engine specific settings and requirements
+
+##### Storage engine to be tested
+--source include/have_innodb.inc
+let $engine= 'InnoDB';
+
+##### Execute the test of "table" files
+# InnoDB has no files per PK, UI, ...
+let $do_file_tests= 0;
+
+##### Execute PRIMARY KEY tests #####
+# AFAIK InnoDB clusters the table around PRIMARY KEYs.
+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
+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_basic_symlink.inc
+
+#------------------------------------------------------------------------------#
+# Execute storage engine specific tests
+
+#------------------------------------------------------------------------------#
+# Cleanup
+--source suite/parts/inc/partition_cleanup.inc
diff --git a/mysql-test/suite/parts/t/partition_basic_symlink_myisam.test b/mysql-test/suite/parts/t/partition_basic_symlink_myisam.test
new file mode 100644
index 00000000000..8a12f8e8b39
--- /dev/null
+++ b/mysql-test/suite/parts/t/partition_basic_symlink_myisam.test
@@ -0,0 +1,86 @@
+################################################################################
+# t/partition_basic_myisam.test #
+# #
+# Purpose: #
+# Tests around Create Partitioned table using DATA/INDEX DIR #
+# MyISAM branch #
+# #
+#------------------------------------------------------------------------------#
+# Original Author: mleich #
+# Original Date: 2006-03-05 #
+# Change Author: mattiasj #
+# Change Date: 2008-02-05 #
+# Change: copied it from partition_basic_myisam.test and kept DATA DIR #
+################################################################################
+
+#
+# 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.
+#
+# 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.
+--source include/have_partition.inc
+# The server must support symlink for DATA/INDEX DIRECTORY.
+--source include/have_symlink.inc
+# windows does not support symlink for DATA/INDEX DIRECTORY.
+--source include/not_windows.inc
+
+#------------------------------------------------------------------------------#
+# Engine specific settings and requirements
+
+##### Storage engine to be tested
+let $engine= 'MyISAM';
+# The server uses in case of MyISAM symlinking (if available) and the expected
+# results fit to symlinking support.
+--source include/have_symlink.inc
+
+##### Execute the test of "table" files
+# MyISAM has files per PK, UI, ...
+let $do_file_tests= 1;
+
+##### Execute PRIMARY KEY tests #####
+# AFAIK MyISAM treats PRIMARY KEYs like UNIQUE INDEXes
+let $do_pk_tests= 0;
+
+##### Assign a big number smaller than the maximum value for partitions #####
+# and smaller than the maximum value of SIGNED INTEGER
+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_basic_symlink.inc
+
+#------------------------------------------------------------------------------#
+# Execute storage engine specific tests
+
+#------------------------------------------------------------------------------#
+# Cleanup
+--source suite/parts/inc/partition_cleanup.inc
diff --git a/mysql-test/suite/parts/t/partition_bit_innodb.test b/mysql-test/suite/parts/t/partition_bit_innodb.test
index 7bc74036b2e..9b8eb90bb18 100644
--- a/mysql-test/suite/parts/t/partition_bit_innodb.test
+++ b/mysql-test/suite/parts/t/partition_bit_innodb.test
@@ -18,7 +18,7 @@
# 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 include/partition.pre before changing
+# Please read the README at the end of inc/partition.pre before changing
# any of the variables.
#
@@ -53,5 +53,3 @@ let $MAX_VALUE= (2147483646);
#------------------------------------------------------------------------------#
# Execute the tests to be applied to all storage engines
--source suite/parts/inc/partition_bit.inc
-# --source inc/partition_basic.inc
-
diff --git a/mysql-test/suite/parts/t/partition_bit_myisam.test b/mysql-test/suite/parts/t/partition_bit_myisam.test
index c21ca104ca5..d2503c4923a 100644
--- a/mysql-test/suite/parts/t/partition_bit_myisam.test
+++ b/mysql-test/suite/parts/t/partition_bit_myisam.test
@@ -18,7 +18,7 @@
# 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 include/partition.pre before changing
+# Please read the README at the end of inc/partition.pre before changing
# any of the variables.
#
@@ -52,5 +52,4 @@ let $MAX_VALUE= (2147483646);
#------------------------------------------------------------------------------#
# Execute the tests to be applied to all storage engines
--source suite/parts/inc/partition_bit.inc
-# --source inc/partition_basic.inc
diff --git a/mysql-test/suite/parts/t/partition_bit_ndb.test b/mysql-test/suite/parts/t/partition_bit_ndb.test
index 9e21c7de158..94e4119031c 100644
--- a/mysql-test/suite/parts/t/partition_bit_ndb.test
+++ b/mysql-test/suite/parts/t/partition_bit_ndb.test
@@ -18,7 +18,7 @@
# 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 include/partition.pre before changing
+# Please read the README at the end of inc/partition.pre before changing
# any of the variables.
#
@@ -53,5 +53,3 @@ let $MAX_VALUE= (2147483646);
#------------------------------------------------------------------------------#
# Execute the tests to be applied to all storage engines
--source suite/parts/inc/partition_bit.inc
-# --source inc/partition_basic.inc
-
diff --git a/mysql-test/suite/parts/t/partition_char_innodb.test b/mysql-test/suite/parts/t/partition_char_innodb.test
index d0389517927..0fd74dc46bd 100644
--- a/mysql-test/suite/parts/t/partition_char_innodb.test
+++ b/mysql-test/suite/parts/t/partition_char_innodb.test
@@ -18,7 +18,7 @@
# 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 include/partition.pre before changing
+# Please read the README at the end of inc/partition.pre before changing
# any of the variables.
#
@@ -35,6 +35,7 @@ let $debug= 0;
# Engine specific settings and requirements
##### Storage engine to be tested
+--source include/have_innodb.inc
let $engine= 'InnoDB';
##### max rows to be inserted
@@ -50,11 +51,3 @@ let $maxrows=65535;
--source suite/parts/inc/partition_set.inc
--source suite/parts/inc/partition_blob.inc
--source suite/parts/inc/partition_text.inc
-# --source inc/partition_char.inc
-# --source inc/partition_binary.inc
-# --source inc/partition_varchar.inc
-# --source inc/partition_varbinary.inc
-# --source inc/partition_enum.inc
-# --source inc/partition_set.inc
-# --source inc/partition_blob.inc
-# --source inc/partition_text.inc
diff --git a/mysql-test/suite/parts/t/partition_char_myisam.test b/mysql-test/suite/parts/t/partition_char_myisam.test
index bdcb2cd9c24..63f478ec4ba 100644
--- a/mysql-test/suite/parts/t/partition_char_myisam.test
+++ b/mysql-test/suite/parts/t/partition_char_myisam.test
@@ -1,9 +1,9 @@
################################################################################
-# t/partition_special_myisam.test #
+# t/partition_char_myisam.test #
# #
# Purpose: #
-# different Tests #
-# MYISAM branch #
+# Tests around character types #
+# MyISAM branch #
# #
#------------------------------------------------------------------------------#
# Original Author: HH #
@@ -18,7 +18,7 @@
# 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 include/partition.pre before changing
+# Please read the README at the end of inc/partition.pre before changing
# any of the variables.
#
@@ -37,7 +37,16 @@ let $debug= 0;
##### Storage engine to be tested
let $engine= 'MyISAM';
+##### max rows to be inserted
+let $maxrows=65535;
+
#------------------------------------------------------------------------------#
# Execute the tests to be applied to all storage engines
---source suite/parts/inc/partition_key_4col.inc
-# --source inc/partition_key_4col.inc
+--source suite/parts/inc/partition_char.inc
+--source suite/parts/inc/partition_binary.inc
+--source suite/parts/inc/partition_varchar.inc
+--source suite/parts/inc/partition_varbinary.inc
+--source suite/parts/inc/partition_enum.inc
+--source suite/parts/inc/partition_set.inc
+--source suite/parts/inc/partition_blob.inc
+--source suite/parts/inc/partition_text.inc
diff --git a/mysql-test/suite/parts/t/partition_datetime_innodb.test b/mysql-test/suite/parts/t/partition_datetime_innodb.test
index fe19e2803c5..ec292fa04cf 100644
--- a/mysql-test/suite/parts/t/partition_datetime_innodb.test
+++ b/mysql-test/suite/parts/t/partition_datetime_innodb.test
@@ -18,7 +18,7 @@
# 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 include/partition.pre before changing
+# Please read the README at the end of inc/partition.pre before changing
# any of the variables.
#
@@ -35,6 +35,7 @@ let $debug= 0;
# Engine specific settings and requirements
##### Storage engine to be tested
+--source include/have_innodb.inc
let $engine= 'InnoDB';
##### max rows to be inserted
@@ -47,8 +48,3 @@ let $maxrows=1024;
--source suite/parts/inc/partition_time.inc
--source suite/parts/inc/partition_datetime.inc
--source suite/parts/inc/partition_year.inc
-# --source inc/partition_timestamp.inc
-# --source inc/partition_date.inc
-# --source inc/partition_time.inc
-# --source inc/partition_datetime.inc
-# --source inc/partition_year.inc
diff --git a/mysql-test/suite/parts/t/partition_datetime_myisam.test b/mysql-test/suite/parts/t/partition_datetime_myisam.test
index 1fd6527d38e..25e304d5dcc 100644
--- a/mysql-test/suite/parts/t/partition_datetime_myisam.test
+++ b/mysql-test/suite/parts/t/partition_datetime_myisam.test
@@ -18,7 +18,7 @@
# 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 include/partition.pre before changing
+# Please read the README at the end of inc/partition.pre before changing
# any of the variables.
#
@@ -47,8 +47,3 @@ let $maxrows=65535;
--source suite/parts/inc/partition_time.inc
--source suite/parts/inc/partition_datetime.inc
--source suite/parts/inc/partition_year.inc
-# --source inc/partition_timestamp.inc
-# --source inc/partition_date.inc
-# --source inc/partition_time.inc
-# --source inc/partition_datetime.inc
-# --source inc/partition_year.inc
diff --git a/mysql-test/suite/parts/t/partition_decimal_innodb.test b/mysql-test/suite/parts/t/partition_decimal_innodb.test
index ec5948097c8..6d0aa156abe 100644
--- a/mysql-test/suite/parts/t/partition_decimal_innodb.test
+++ b/mysql-test/suite/parts/t/partition_decimal_innodb.test
@@ -18,7 +18,7 @@
# 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 include/partition.pre before changing
+# Please read the README at the end of inc/partition.pre before changing
# any of the variables.
#
@@ -35,11 +35,12 @@ let $debug= 0;
# Engine specific settings and requirements
##### Storage engine to be tested
+--source include/have_innodb.inc
let $engine= 'InnoDB';
+
##### number of rows to be inserted
let $maxrows=1024;
#------------------------------------------------------------------------------#
# Execute the tests to be applied to all storage engines
--source suite/parts/inc/partition_decimal.inc
-# --source inc/partition_decimal.inc
diff --git a/mysql-test/suite/parts/t/partition_decimal_myisam.test b/mysql-test/suite/parts/t/partition_decimal_myisam.test
index 9be50028647..49fc64cbd37 100644
--- a/mysql-test/suite/parts/t/partition_decimal_myisam.test
+++ b/mysql-test/suite/parts/t/partition_decimal_myisam.test
@@ -18,7 +18,7 @@
# 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 include/partition.pre before changing
+# Please read the README at the end of inc/partition.pre before changing
# any of the variables.
#
@@ -42,4 +42,3 @@ let $maxrows=65535;
#------------------------------------------------------------------------------#
# Execute the tests to be applied to all storage engines
--source suite/parts/inc/partition_decimal.inc
-# --source inc/partition_decimal.inc
diff --git a/mysql-test/suite/parts/t/partition_engine_innodb.test b/mysql-test/suite/parts/t/partition_engine_innodb.test
index 6205c970b21..13a7b133fa1 100644
--- a/mysql-test/suite/parts/t/partition_engine_innodb.test
+++ b/mysql-test/suite/parts/t/partition_engine_innodb.test
@@ -6,7 +6,7 @@
# InnoDB branch #
# #
#------------------------------------------------------------------------------#
-# Original Author: ML #
+# Original Author: mleich #
# Original Date: 2006-03-05 #
# Change Author: #
# Change Date: #
@@ -18,7 +18,7 @@
# 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 include/partition.pre before changing
+# Please read the README at the end of inc/partition.pre before changing
# any of the variables.
#
@@ -46,8 +46,8 @@ let $more_pk_ui_tests= 0;
# Engine specific settings and requirements
##### Storage engine to be tested
-let $engine= 'InnoDB';
--source include/have_innodb.inc
+let $engine= 'InnoDB';
##### Execute the test of "table" files
# InnoDB has no files per PK, UI, ...
@@ -63,7 +63,6 @@ let $MAX_VALUE= (2147483646);
# Generate the prerequisites ($variables, @variables, tables) needed
--source suite/parts/inc/partition.pre
-# --source inc/partition.pre
##### Workarounds for known open engine specific bugs
# none
@@ -71,7 +70,6 @@ let $MAX_VALUE= (2147483646);
#------------------------------------------------------------------------------#
# Execute the tests to be applied to all storage engines
--source suite/parts/inc/partition_engine.inc
-# --source inc/partition_engine.inc
#------------------------------------------------------------------------------#
# Execute storage engine specific tests
@@ -79,4 +77,3 @@ let $MAX_VALUE= (2147483646);
#------------------------------------------------------------------------------#
# Cleanup
--source suite/parts/inc/partition_cleanup.inc
-# --source inc/partition_cleanup.inc
diff --git a/mysql-test/suite/parts/t/partition_engine_myisam.test b/mysql-test/suite/parts/t/partition_engine_myisam.test
index 437e20ab3ee..a7696d690db 100644
--- a/mysql-test/suite/parts/t/partition_engine_myisam.test
+++ b/mysql-test/suite/parts/t/partition_engine_myisam.test
@@ -6,7 +6,7 @@
# MyISAM branch #
# #
#------------------------------------------------------------------------------#
-# Original Author: ML #
+# Original Author: mleich #
# Original Date: 2006-03-05 #
# Change Author: #
# Change Date: #
@@ -18,7 +18,7 @@
# 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 include/partition.pre before changing
+# Please read the README at the end of inc/partition.pre before changing
# any of the variables.
#
@@ -62,7 +62,6 @@ let $MAX_VALUE= (2147483646);
# Generate the prerequisites ($variables, @variables, tables) needed
--source suite/parts/inc/partition.pre
-# --source inc/partition.pre
##### Workarounds for known open engine specific bugs
# none
@@ -70,7 +69,6 @@ let $MAX_VALUE= (2147483646);
#------------------------------------------------------------------------------#
# Execute the tests to be applied to all storage engines
--source suite/parts/inc/partition_engine.inc
-# --source inc/partition_engine.inc
#------------------------------------------------------------------------------#
# Execute storage engine specific tests
@@ -78,4 +76,3 @@ let $MAX_VALUE= (2147483646);
#------------------------------------------------------------------------------#
# Cleanup
--source suite/parts/inc/partition_cleanup.inc
-# --source inc/partition_cleanup.inc
diff --git a/mysql-test/suite/parts/t/partition_engine_ndb.test b/mysql-test/suite/parts/t/partition_engine_ndb.test
index 223e9b035c6..1e185c8ebaa 100644
--- a/mysql-test/suite/parts/t/partition_engine_ndb.test
+++ b/mysql-test/suite/parts/t/partition_engine_ndb.test
@@ -6,7 +6,7 @@
# NDB branch #
# #
#------------------------------------------------------------------------------#
-# Original Author: ML #
+# Original Author: mleich #
# Original Date: 2006-03-05 #
# Change Author: #
# Change Date: #
@@ -18,7 +18,7 @@
# 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 include/partition.pre before changing
+# Please read the README at the end of inc/partition.pre before changing
# any of the variables.
#
@@ -67,7 +67,6 @@ let $MAX_VALUE= (2147483646);
# Generate the prerequisites ($variables, @variables, tables) needed
--source suite/parts/inc/partition.pre
-# --source inc/partition.pre
##### Workarounds for known open engine specific bugs
# none
@@ -75,7 +74,6 @@ let $MAX_VALUE= (2147483646);
#------------------------------------------------------------------------------#
# Execute the tests to be applied to all storage engines
--source suite/parts/inc/partition_engine.inc
-# --source inc/partition_engine.inc
#------------------------------------------------------------------------------#
# Execute storage engine specific tests
@@ -83,4 +81,3 @@ let $MAX_VALUE= (2147483646);
#------------------------------------------------------------------------------#
# Cleanup
--source suite/parts/inc/partition_cleanup.inc
-# --source inc/partition_cleanup.inc
diff --git a/mysql-test/suite/parts/t/partition_float_innodb.test b/mysql-test/suite/parts/t/partition_float_innodb.test
index b36dc0668a6..2f1fe723dad 100644
--- a/mysql-test/suite/parts/t/partition_float_innodb.test
+++ b/mysql-test/suite/parts/t/partition_float_innodb.test
@@ -1,9 +1,9 @@
################################################################################
-# t/partition_float_myisam.test #
+# t/partition_float_innodb.test #
# #
# Purpose: #
# Tests around float type #
-# MyISAM branch #
+# INNODB branch #
# #
#------------------------------------------------------------------------------#
# Original Author: HH #
@@ -14,11 +14,11 @@
################################################################################
#
-# NOTE: PLEASE DO NOT ADD NOT MYISAM SPECIFIC TESTCASES HERE !
+# 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 include/partition.pre before changing
+# Please read the README at the end of inc/partition.pre before changing
# any of the variables.
#
@@ -35,7 +35,9 @@ let $debug= 0;
# Engine specific settings and requirements
##### Storage engine to be tested
+--source include/have_innodb.inc
let $engine= 'InnoDB';
+
##### Number of row to be inserted.
let $maxrows=1024;
@@ -43,5 +45,3 @@ let $maxrows=1024;
# Execute the tests to be applied to all storage engines
--source suite/parts/inc/partition_float.inc
--source suite/parts/inc/partition_double.inc
-# --source inc/partition_float.inc
-# --source inc/partition_double.inc
diff --git a/mysql-test/suite/parts/t/partition_float_myisam.test b/mysql-test/suite/parts/t/partition_float_myisam.test
index 57ef91a3169..51e0f1f5a21 100644
--- a/mysql-test/suite/parts/t/partition_float_myisam.test
+++ b/mysql-test/suite/parts/t/partition_float_myisam.test
@@ -18,7 +18,7 @@
# 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 include/partition.pre before changing
+# Please read the README at the end of inc/partition.pre before changing
# any of the variables.
#
@@ -43,5 +43,3 @@ let $maxrows=16384;
# Execute the tests to be applied to all storage engines
--source suite/parts/inc/partition_float.inc
--source suite/parts/inc/partition_double.inc
-# --source inc/partition_float.inc
-# --source inc/partition_double.inc
diff --git a/mysql-test/suite/parts/t/partition_int_innodb.test b/mysql-test/suite/parts/t/partition_int_innodb.test
index fda7398565c..698a2c93c22 100644
--- a/mysql-test/suite/parts/t/partition_int_innodb.test
+++ b/mysql-test/suite/parts/t/partition_int_innodb.test
@@ -18,7 +18,7 @@
# 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 include/partition.pre before changing
+# Please read the README at the end of inc/partition.pre before changing
# any of the variables.
#
@@ -35,6 +35,7 @@ let $debug= 0;
# Engine specific settings and requirements
##### Storage engine to be tested
+--source include/have_innodb.inc
let $engine= 'InnoDB';
##### max rows to be inserted
@@ -47,8 +48,3 @@ let $maxrows=1024;
--source suite/parts/inc/partition_int.inc
--source suite/parts/inc/partition_mediumint.inc
--source suite/parts/inc/partition_bigint.inc
-# --source inc/partition_tinyint.inc
-# --source inc/partition_samllint.inc
-# --source inc/partition_int.inc
-# --source inc/partition_mediumint.inc
-# --source inc/partition_bigint.inc
diff --git a/mysql-test/suite/parts/t/partition_int_myisam.test b/mysql-test/suite/parts/t/partition_int_myisam.test
index c85a1471a35..b0ede4995e8 100644
--- a/mysql-test/suite/parts/t/partition_int_myisam.test
+++ b/mysql-test/suite/parts/t/partition_int_myisam.test
@@ -18,7 +18,7 @@
# 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 include/partition.pre before changing
+# Please read the README at the end of inc/partition.pre before changing
# any of the variables.
#
@@ -46,8 +46,3 @@ let $maxrows=65535;
--source suite/parts/inc/partition_int.inc
--source suite/parts/inc/partition_mediumint.inc
--source suite/parts/inc/partition_bigint.inc
-# --source inc/partition_tinyint.inc
-# --source inc/partition_samllint.inc
-# --source inc/partition_int.inc
-# --source inc/partition_mediumint.inc
-# --source inc/partition_bigint.inc
diff --git a/mysql-test/suite/parts/t/partition_int_ndb.test b/mysql-test/suite/parts/t/partition_int_ndb.test
index dfa853bed16..0a60408292a 100644
--- a/mysql-test/suite/parts/t/partition_int_ndb.test
+++ b/mysql-test/suite/parts/t/partition_int_ndb.test
@@ -18,7 +18,7 @@
# 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 include/partition.pre before changing
+# Please read the README at the end of inc/partition.pre before changing
# any of the variables.
#
@@ -45,8 +45,3 @@ let $engine= 'NDB';
--source suite/parts/inc/partition_int.inc
--source suite/parts/inc/partition_mediumint.inc
--source suite/parts/inc/partition_bigint.inc
-# --source inc/partition_tinyint.inc
-# --source inc/partition_samllint.inc
-# --source inc/partition_int.inc
-# --source inc/partition_mediumint.inc
-# --source inc/partition_bigint.inc
diff --git a/mysql-test/suite/parts/t/partition_sessions.test b/mysql-test/suite/parts/t/partition_sessions.test
index ef3c5ef6a97..3d59292bee5 100644
--- a/mysql-test/suite/parts/t/partition_sessions.test
+++ b/mysql-test/suite/parts/t/partition_sessions.test
@@ -27,27 +27,6 @@ f4 datetime;
let $col_access_list = f1,f2,f3,f4 ;
let $col_new_list = new.f1,new.f2,new.f3 new.f4 ;
-#--------------------------------------------------
-# initialize directories for partitions
-#--------------------------------------------------
-
---disable_query_log
-# DATA DIRECTORY
-# Make directory for partition data
---exec mkdir $MYSQLTEST_VARDIR/master-data/tmpdata || true
-eval SET @data_dir = 'DATA DIRECTORY =
-''$MYSQLTEST_VARDIR/master-data/tmpdata''';
-let $data_directory = `select @data_dir`;
-
-#INDEX DIRECTORY
-# Make directory for partition index
---exec mkdir $MYSQLTEST_VARDIR/master-data/tmpindex || true
-eval SET @indx_dir = 'INDEX DIRECTORY =
-''$MYSQLTEST_VARDIR/master-data/tmpindex''';
-let $index_directory = `select @indx_dir`;
---enable_query_log
-
-
#---------------------------------------------------
# Setting the parameters to use during testing
#---------------------------------------------------
@@ -134,16 +113,16 @@ create table test_stat (
# tb3_eng1: key partitioning
#----------------------------------------------------------------------
-#--replace_result $data_directory <data_directory> $index_directory <index_directory> $ENG1 ENG1
+#--replace_result $ENG1 ENG1
eval create table tb3_eng1 (
i1 int NOT NULL auto_increment, primary key (i1),
$column_list
) engine=$ENG1
PARTITION BY KEY (i1) PARTITIONS 4
-(PARTITION part1 $data_directory $index_directory,
-PARTITION part2 $data_directory $index_directory,
-PARTITION part3 $data_directory $index_directory,
-PARTITION part4 $data_directory $index_directory);
+(PARTITION part1,
+PARTITION part2,
+PARTITION part3,
+PARTITION part4);
#--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
eval load data local infile '$MYSQL_TEST_DIR/suite/system_3/data/tb1.txt'
diff --git a/mysql-test/suite/parts/t/partition_special_innodb.test b/mysql-test/suite/parts/t/partition_special_innodb.test
index 5df518a3952..598dfea1e27 100644
--- a/mysql-test/suite/parts/t/partition_special_innodb.test
+++ b/mysql-test/suite/parts/t/partition_special_innodb.test
@@ -18,7 +18,7 @@
# 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 include/partition.pre before changing
+# Please read the README at the end of inc/partition.pre before changing
# any of the variables.
#
@@ -35,6 +35,7 @@ let $debug= 0;
# Engine specific settings and requirements
##### Storage engine to be tested
+--source include/have_innodb.inc
let $engine= 'InnoDB';
#------------------------------------------------------------------------------#
@@ -43,7 +44,3 @@ let $engine= 'InnoDB';
--source suite/parts/inc/partition_key_8col.inc
--source suite/parts/inc/partition_key_16col.inc
--source suite/parts/inc/partition_key_32col.inc
-# --source inc/partition_key_4col.inc
-# --source inc/partition_key_8col.inc
-# --source inc/partition_key_16col.inc
-# --source inc/partition_key_32col.inc
diff --git a/mysql-test/suite/parts/t/partition_special_myisam.test b/mysql-test/suite/parts/t/partition_special_myisam.test
index c87d39ab577..e1737ebc3c2 100644
--- a/mysql-test/suite/parts/t/partition_special_myisam.test
+++ b/mysql-test/suite/parts/t/partition_special_myisam.test
@@ -18,7 +18,7 @@
# 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 include/partition.pre before changing
+# Please read the README at the end of inc/partition.pre before changing
# any of the variables.
#
@@ -43,7 +43,3 @@ let $engine= 'MyISAM';
--source suite/parts/inc/partition_key_8col.inc
--source suite/parts/inc/partition_key_16col.inc
--source suite/parts/inc/partition_key_32col.inc
-# --source inc/partition_key_4col.inc
-# --source inc/partition_key_8col.inc
-# --source inc/partition_key_16col.inc
-# --source inc/partition_key_32col.inc
diff --git a/mysql-test/suite/parts/t/partition_syntax_innodb.test b/mysql-test/suite/parts/t/partition_syntax_innodb.test
index ce62b06bd6f..6e65337d267 100644
--- a/mysql-test/suite/parts/t/partition_syntax_innodb.test
+++ b/mysql-test/suite/parts/t/partition_syntax_innodb.test
@@ -6,7 +6,7 @@
# InnoDB branch #
# #
#------------------------------------------------------------------------------#
-# Original Author: ML #
+# Original Author: mleich #
# Original Date: 2006-03-05 #
# Change Author: #
# Change Date: #
@@ -18,7 +18,7 @@
# 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 include/partition.pre before changing
+# Please read the README at the end of inc/partition.pre before changing
# any of the variables.
#
@@ -46,8 +46,8 @@ let $more_pk_ui_tests= 0;
# Engine specific settings and requirements
##### Storage engine to be tested
-let $engine= 'InnoDB';
--source include/have_innodb.inc
+let $engine= 'InnoDB';
##### Execute the test of "table" files
# InnoDB has no files per PK, UI, ...
@@ -63,7 +63,6 @@ let $MAX_VALUE= (2147483646);
# Generate the prerequisites ($variables, @variables, tables) needed
--source suite/parts/inc/partition.pre
-# --source inc/partition.pre
##### Workarounds for known open engine specific bugs
# none
@@ -71,7 +70,6 @@ let $MAX_VALUE= (2147483646);
#------------------------------------------------------------------------------#
# Execute the tests to be applied to all storage engines
--source suite/parts/inc/partition_syntax.inc
-# --source inc/partition_syntax.inc
#------------------------------------------------------------------------------#
# Execute storage engine specific tests
@@ -79,4 +77,3 @@ let $MAX_VALUE= (2147483646);
#------------------------------------------------------------------------------#
# Cleanup
--source suite/parts/inc/partition_cleanup.inc
-# --source inc/partition_cleanup.inc
diff --git a/mysql-test/suite/parts/t/partition_syntax_myisam.test b/mysql-test/suite/parts/t/partition_syntax_myisam.test
index 62396580b50..7777833f6d4 100644
--- a/mysql-test/suite/parts/t/partition_syntax_myisam.test
+++ b/mysql-test/suite/parts/t/partition_syntax_myisam.test
@@ -6,7 +6,7 @@
# MyISAM branch #
# #
#------------------------------------------------------------------------------#
-# Original Author: ML #
+# Original Author: mleich #
# Original Date: 2006-03-05 #
# Change Author: #
# Change Date: #
@@ -18,7 +18,7 @@
# 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 include/partition.pre before changing
+# Please read the README at the end of inc/partition.pre before changing
# any of the variables.
#
@@ -62,7 +62,6 @@ let $MAX_VALUE= (2147483646);
# Generate the prerequisites ($variables, @variables, tables) needed
--source suite/parts/inc/partition.pre
-# --source inc/partition.pre
##### Workarounds for known open engine specific bugs
# none
@@ -70,7 +69,6 @@ let $MAX_VALUE= (2147483646);
#------------------------------------------------------------------------------#
# Execute the tests to be applied to all storage engines
--source suite/parts/inc/partition_syntax.inc
-# --source inc/partition_syntax.inc
#------------------------------------------------------------------------------#
# Execute storage engine specific tests
@@ -78,4 +76,3 @@ let $MAX_VALUE= (2147483646);
#------------------------------------------------------------------------------#
# Cleanup
--source suite/parts/inc/partition_cleanup.inc
-# --source inc/partition_cleanup.inc
diff --git a/mysql-test/suite/parts/t/partition_syntax_ndb.test b/mysql-test/suite/parts/t/partition_syntax_ndb.test
index 3eb453ce7ea..90b74452ab1 100644
--- a/mysql-test/suite/parts/t/partition_syntax_ndb.test
+++ b/mysql-test/suite/parts/t/partition_syntax_ndb.test
@@ -6,7 +6,7 @@
# NDB branch #
# #
#------------------------------------------------------------------------------#
-# Original Author: ML #
+# Original Author: mleich #
# Original Date: 2006-03-05 #
# Change Author: #
# Change Date: #
@@ -18,7 +18,7 @@
# 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 include/partition.pre before changing
+# Please read the README at the end of inc/partition.pre before changing
# any of the variables.
#
@@ -47,8 +47,8 @@ let $more_pk_ui_tests= 0;
# Engine specific settings and requirements
##### Storage engine to be tested
-let $engine= 'ndbcluster';
--source include/have_ndb.inc
+let $engine= 'ndbcluster';
##### Execute the test of "table" files
# NDB has no files per PK, UI, ...
@@ -67,7 +67,6 @@ let $MAX_VALUE= (2147483646);
# Generate the prerequisites ($variables, @variables, tables) needed
--source suite/parts/inc/partition.pre
-# --source inc/partition.pre
##### Workarounds for known open engine specific bugs
# Bug#18735: Partitions: NDB, UNIQUE INDEX, UPDATE, strange server response
@@ -76,7 +75,6 @@ let $fixed_bug18735= 0;
#------------------------------------------------------------------------------#
# Execute the tests to be applied to all storage engines
--source suite/parts/inc/partition_syntax.inc
-# --source inc/partition_syntax.inc
#------------------------------------------------------------------------------#
# Execute storage engine specific tests
@@ -84,4 +82,3 @@ let $fixed_bug18735= 0;
#------------------------------------------------------------------------------#
# Cleanup
--source suite/parts/inc/partition_cleanup.inc
-# --source inc/partition_cleanup.inc
diff --git a/mysql-test/suite/parts/t/partition_value_innodb.test b/mysql-test/suite/parts/t/partition_value_innodb.test
index 2e3c6ff98ad..9d59533a54e 100644
--- a/mysql-test/suite/parts/t/partition_value_innodb.test
+++ b/mysql-test/suite/parts/t/partition_value_innodb.test
@@ -6,7 +6,7 @@
# InnoDB branch #
# #
#------------------------------------------------------------------------------#
-# Original Author: ML #
+# Original Author: mleich #
# Original Date: 2006-04-11 #
# Change Author: #
# Change Date: #
@@ -18,7 +18,7 @@
# 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 include/partition.pre before changing
+# Please read the README at the end of inc/partition.pre before changing
# any of the variables.
#
@@ -46,8 +46,8 @@ let $more_pk_ui_tests= 0;
# Engine specific settings and requirements
##### Storage engine to be tested
-let $engine= 'InnoDB';
--source include/have_innodb.inc
+let $engine= 'InnoDB';
##### Execute the test of "table" files
# InnoDB has no files per PK, UI, ...
@@ -63,7 +63,6 @@ let $MAX_VALUE= (2147483646);
# Generate the prerequisites ($variables, @variables, tables) needed
--source suite/parts/inc/partition.pre
-# --source inc/partition.pre
##### Workarounds for known open engine specific bugs
# none
@@ -71,7 +70,6 @@ let $MAX_VALUE= (2147483646);
#------------------------------------------------------------------------------#
# Execute the tests to be applied to all storage engines
--source suite/parts/inc/partition_value.inc
-# --source inc/partition_value.inc
#------------------------------------------------------------------------------#
# Execute storage engine specific tests
@@ -79,4 +77,3 @@ let $MAX_VALUE= (2147483646);
#------------------------------------------------------------------------------#
# Cleanup
--source suite/parts/inc/partition_cleanup.inc
-# --source inc/partition_cleanup.inc
diff --git a/mysql-test/suite/parts/t/partition_value_myisam.test b/mysql-test/suite/parts/t/partition_value_myisam.test
index 78e781111f7..d6020669509 100644
--- a/mysql-test/suite/parts/t/partition_value_myisam.test
+++ b/mysql-test/suite/parts/t/partition_value_myisam.test
@@ -6,7 +6,7 @@
# MyISAM branch #
# #
#------------------------------------------------------------------------------#
-# Original Author: ML #
+# Original Author: mleich #
# Original Date: 2006-04-11 #
# Change Author: #
# Change Date: #
@@ -18,7 +18,7 @@
# 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 include/partition.pre before changing
+# Please read the README at the end of inc/partition.pre before changing
# any of the variables.
#
@@ -62,7 +62,6 @@ let $MAX_VALUE= (2147483646);
# Generate the prerequisites ($variables, @variables, tables) needed
--source suite/parts/inc/partition.pre
-# --source inc/partition.pre
##### Workarounds for known open engine specific bugs
# none
@@ -70,7 +69,6 @@ let $MAX_VALUE= (2147483646);
#------------------------------------------------------------------------------#
# Execute the tests to be applied to all storage engines
--source suite/parts/inc/partition_value.inc
-# --source inc/partition_value.inc
#------------------------------------------------------------------------------#
# Execute storage engine specific tests
@@ -78,4 +76,3 @@ let $MAX_VALUE= (2147483646);
#------------------------------------------------------------------------------#
# Cleanup
--source suite/parts/inc/partition_cleanup.inc
-# --source 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
index 94230af131e..91497c3ec42 100644
--- a/mysql-test/suite/parts/t/partition_value_ndb.test
+++ b/mysql-test/suite/parts/t/partition_value_ndb.test
@@ -6,7 +6,7 @@
# NDB branch #
# #
#------------------------------------------------------------------------------#
-# Original Author: ML #
+# Original Author: mleich #
# Original Date: 2006-04-11 #
# Change Author: #
# Change Date: #
@@ -18,7 +18,7 @@
# 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 include/partition.pre before changing
+# Please read the README at the end of inc/partition.pre before changing
# any of the variables.
#
@@ -47,8 +47,8 @@ let $more_pk_ui_tests= 0;
# Engine specific settings and requirements
##### Storage engine to be tested
-let $engine= 'ndbcluster';
--source include/have_ndb.inc
+let $engine= 'ndbcluster';
##### Execute the test of "table" files
# NDB has no files per PK, UI, ...
@@ -67,7 +67,6 @@ let $MAX_VALUE= (2147483646);
# Generate the prerequisites ($variables, @variables, tables) needed
--source suite/parts/inc/partition.pre
-# --source inc/partition.pre
##### Workarounds for known open engine specific bugs
# none
@@ -75,7 +74,6 @@ let $MAX_VALUE= (2147483646);
#------------------------------------------------------------------------------#
# Execute the tests to be applied to all storage engines
--source suite/parts/inc/partition_value.inc
-# --source inc/partition_value.inc
#------------------------------------------------------------------------------#
# Execute storage engine specific tests
@@ -83,4 +81,3 @@ let $MAX_VALUE= (2147483646);
#------------------------------------------------------------------------------#
# Cleanup
--source suite/parts/inc/partition_cleanup.inc
-# --source 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 ffd6d17ec6f..f1002ded81f 100644
--- a/mysql-test/suite/parts/t/rpl_partition.test
+++ b/mysql-test/suite/parts/t/rpl_partition.test
@@ -1,3 +1,4 @@
+--source include/have_partition.inc
--source include/have_innodb.inc
--source include/master-slave.inc
diff --git a/mysql-test/suite/rpl/combinations b/mysql-test/suite/rpl/combinations
new file mode 100644
index 00000000000..ea25611a5d4
--- /dev/null
+++ b/mysql-test/suite/rpl/combinations
@@ -0,0 +1,8 @@
+[row]
+--binlog-format=row
+
+[stmt]
+--binlog-format=statement
+
+[mix]
+--binlog-format=mixed
diff --git a/mysql-test/suite/rpl/data/rpl_bug28618.dat b/mysql-test/suite/rpl/data/rpl_bug28618.dat
new file mode 100644
index 00000000000..b800c4dd39d
--- /dev/null
+++ b/mysql-test/suite/rpl/data/rpl_bug28618.dat
@@ -0,0 +1,3 @@
+1|master only
+2|master only
+3|master only
diff --git a/mysql-test/suite/rpl/include/rpl_mixed_check_select.inc b/mysql-test/suite/rpl/include/rpl_mixed_check_select.inc
index 5d3b80e077b..b3e0cefbbd7 100644
--- a/mysql-test/suite/rpl/include/rpl_mixed_check_select.inc
+++ b/mysql-test/suite/rpl/include/rpl_mixed_check_select.inc
@@ -7,15 +7,15 @@
--echo ==========MASTER==========
SELECT COUNT(*) FROM t1;
-SELECT * FROM t1;
+SELECT * FROM t1 ORDER BY a;
SELECT COUNT(*) FROM t2;
-SELECT * FROM t2;
+SELECT * FROM t2 ORDER BY a;
sync_slave_with_master;
--echo ==========SLAVE===========
USE test_rpl;
SELECT COUNT(*) FROM t1;
-SELECT * FROM t1;
+SELECT * FROM t1 ORDER BY a;
SELECT COUNT(*) FROM t2;
-SELECT * FROM t2;
+SELECT * FROM t2 ORDER BY a;
connection master;
diff --git a/mysql-test/suite/rpl/include/rpl_mixed_check_view.inc b/mysql-test/suite/rpl/include/rpl_mixed_check_view.inc
index 43feedfe64a..a9f7ad8cd68 100644
--- a/mysql-test/suite/rpl/include/rpl_mixed_check_view.inc
+++ b/mysql-test/suite/rpl/include/rpl_mixed_check_view.inc
@@ -7,11 +7,11 @@
--echo ==========MASTER==========
SHOW CREATE VIEW v1;
-SELECT * FROM v1;
+SELECT * FROM v1 ORDER BY a;
sync_slave_with_master;
--echo ==========SLAVE===========
USE test_rpl;
SHOW CREATE VIEW v1;
-SELECT * FROM v1;
+SELECT * FROM v1 ORDER BY a;
connection master;
diff --git a/mysql-test/suite/rpl/include/rpl_mixed_ddl.inc b/mysql-test/suite/rpl/include/rpl_mixed_ddl.inc
index 0b13116300e..6a00dcc6e50 100644
--- a/mysql-test/suite/rpl/include/rpl_mixed_ddl.inc
+++ b/mysql-test/suite/rpl/include/rpl_mixed_ddl.inc
@@ -83,4 +83,4 @@ sync_slave_with_master;
# will be created. You will need to go to the mysql-test dir and diff
# the files your self to see what is not matching
---exec diff $MYSQLTEST_VARDIR/tmp/rpl_switch_stm_row_mixed_master.sql $MYSQLTEST_VARDIR/tmp/rpl_switch_stm_row_mixed_slave.sql;
+--exec diff $MYSQLTEST_VARDIR/tmp/rpl_switch_stm_row_mixed_master.sql $MYSQLTEST_VARDIR/tmp/rpl_switch_stm_row_mixed_slave.sql
diff --git a/mysql-test/suite/rpl/include/rpl_mixed_dml.inc b/mysql-test/suite/rpl/include/rpl_mixed_dml.inc
index cc225d1bb28..d7041d82a2a 100644
--- a/mysql-test/suite/rpl/include/rpl_mixed_dml.inc
+++ b/mysql-test/suite/rpl/include/rpl_mixed_dml.inc
@@ -51,8 +51,10 @@ DELETE FROM t2 WHERE a = 2;
--echo
--echo ******************** LOAD DATA INFILE ********************
-LOAD DATA INFILE '../../suite/rpl/data/rpl_mixed.dat' INTO TABLE t1 FIELDS TERMINATED BY '|' ;
-SELECT * FROM t1;
+--copy_file ./suite/rpl/data/rpl_mixed.dat $MYSQLTEST_VARDIR/tmp/rpl_mixed.dat
+LOAD DATA INFILE '../tmp/rpl_mixed.dat' INTO TABLE t1 FIELDS TERMINATED BY '|' ;
+--remove_file $MYSQLTEST_VARDIR/tmp/rpl_mixed.dat
+SELECT * FROM t1 ORDER BY a;
--source suite/rpl/include/rpl_mixed_check_select.inc
--source suite/rpl/include/rpl_mixed_clear_tables.inc
@@ -73,7 +75,7 @@ DELETE FROM t1 WHERE a = 2;
--echo
--echo ******************** SELECT ********************
INSERT INTO t1 VALUES(1, 't1, text 1');
-SELECT * FROM t1 WHERE b <> UUID();
+SELECT * FROM t1 WHERE b <> UUID() ORDER BY a;
--source suite/rpl/include/rpl_mixed_clear_tables.inc
# JOIN
@@ -83,8 +85,8 @@ INSERT INTO t1 VALUES(1, 'CCC');
INSERT INTO t1 VALUES(2, 'DDD');
INSERT INTO t2 VALUES(1, 'DDD');
INSERT INTO t2 VALUES(2, 'CCC');
-SELECT * FROM t1 LEFT JOIN t2 ON t1.a = t2.a;
-SELECT * FROM t1 INNER JOIN t2 ON t1.b = t2.b;
+SELECT * FROM t1 LEFT JOIN t2 ON t1.a = t2.a ORDER BY t1.a,t2.a;
+SELECT * FROM t1 INNER JOIN t2 ON t1.b = t2.b ORDER BY t1.a,t2.a;
--source suite/rpl/include/rpl_mixed_clear_tables.inc
# UNION
@@ -326,7 +328,7 @@ DROP VIEW v2;
--echo
--echo ******************** SHOW BINLOG EVENTS ********************
--replace_column 2 # 5 #
---replace_regex /Server ver: .+/Server ver: #/ /table_id: [0-9]+/table_id: #/ /COMMIT.+xid=[0-9]+.+/#/
+--replace_regex /Server ver: .+/Server ver: #/ /table_id: [0-9]+/table_id: #/ /COMMIT.+xid=[0-9]+.+/#/ /file_id=[0-9]+/file_id=#/ /block_len=[0-9]+/block_len=#/
show binlog events from 1;
sync_slave_with_master;
# as we're using UUID we don't SELECT but use "diff" like in rpl_row_UUID
@@ -342,4 +344,4 @@ sync_slave_with_master;
# will be created. You will need to go to the mysql-test dir and diff
# the files your self to see what is not matching
---exec diff $MYSQLTEST_VARDIR/tmp/rpl_switch_stm_row_mixed_master.sql $MYSQLTEST_VARDIR/tmp/rpl_switch_stm_row_mixed_slave.sql;
+--exec diff $MYSQLTEST_VARDIR/tmp/rpl_switch_stm_row_mixed_master.sql $MYSQLTEST_VARDIR/tmp/rpl_switch_stm_row_mixed_slave.sql
diff --git a/mysql-test/suite/rpl/r/rpl_000015.result b/mysql-test/suite/rpl/r/rpl_000015.result
index 79d87354cb2..03b96d5870b 100644
--- a/mysql-test/suite/rpl/r/rpl_000015.result
+++ b/mysql-test/suite/rpl/r/rpl_000015.result
@@ -1,7 +1,7 @@
reset master;
show master status;
File Position Binlog_Do_DB Binlog_Ignore_DB
-master-bin.000001 106
+master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
reset slave;
SHOW SLAVE STATUS;
change master to master_host='127.0.0.1';
@@ -12,7 +12,7 @@ Master_User test
Master_Port 3306
Connect_Retry 7
Master_Log_File
-Read_Master_Log_Pos 4
+Read_Master_Log_Pos #
Relay_Log_File #
Relay_Log_Pos #
Relay_Master_Log_File
@@ -27,7 +27,7 @@ Replicate_Wild_Ignore_Table
Last_Errno 0
Last_Error
Skip_Counter 0
-Exec_Master_Log_Pos 0
+Exec_Master_Log_Pos #
Relay_Log_Space #
Until_Condition None
Until_Log_File
@@ -53,7 +53,7 @@ Master_User root
Master_Port MASTER_PORT
Connect_Retry 7
Master_Log_File
-Read_Master_Log_Pos 4
+Read_Master_Log_Pos #
Relay_Log_File #
Relay_Log_Pos #
Relay_Master_Log_File
@@ -68,7 +68,7 @@ Replicate_Wild_Ignore_Table
Last_Errno 0
Last_Error
Skip_Counter 0
-Exec_Master_Log_Pos 0
+Exec_Master_Log_Pos #
Relay_Log_Space #
Until_Condition None
Until_Log_File
@@ -93,7 +93,7 @@ Master_User root
Master_Port MASTER_PORT
Connect_Retry 7
Master_Log_File master-bin.000001
-Read_Master_Log_Pos 106
+Read_Master_Log_Pos #
Relay_Log_File #
Relay_Log_Pos #
Relay_Master_Log_File master-bin.000001
@@ -108,7 +108,7 @@ Replicate_Wild_Ignore_Table
Last_Errno 0
Last_Error
Skip_Counter 0
-Exec_Master_Log_Pos 106
+Exec_Master_Log_Pos #
Relay_Log_Space #
Until_Condition None
Until_Log_File
diff --git a/mysql-test/suite/rpl/r/rpl_binlog_grant.result b/mysql-test/suite/rpl/r/rpl_binlog_grant.result
new file mode 100644
index 00000000000..72dc58effa1
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_binlog_grant.result
@@ -0,0 +1,56 @@
+stop slave;
+drop table if exists t1,t2,t3,t4,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;
+create database d1;
+use d1;
+create table t (s1 int) engine=innodb;
+set @@autocommit=0;
+start transaction;
+insert into t values (1);
+grant select on t to x@y;
+rollback;
+show grants for x@y;
+Grants for x@y
+GRANT USAGE ON *.* TO 'x'@'y'
+GRANT SELECT ON `d1`.`t` TO 'x'@'y'
+show binlog events;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 4 Format_desc 1 106 Server ver: VERSION, Binlog ver: 4
+master-bin.000001 106 Query 1 193 drop database if exists d1
+master-bin.000001 193 Query 1 272 create database d1
+master-bin.000001 272 Query 1 370 use `d1`; create table t (s1 int) engine=innodb
+master-bin.000001 370 Query 1 436 use `d1`; BEGIN
+master-bin.000001 436 Query 1 521 use `d1`; insert into t values (1)
+master-bin.000001 521 Xid 1 548 COMMIT /* XID */
+master-bin.000001 548 Query 1 633 use `d1`; grant select on t to x@y
+start transaction;
+insert into t values (2);
+revoke select on t from x@y;
+commit;
+select * from t;
+s1
+1
+2
+show grants for x@y;
+Grants for x@y
+GRANT USAGE ON *.* TO 'x'@'y'
+show binlog events;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 4 Format_desc 1 106 Server ver: VERSION, Binlog ver: 4
+master-bin.000001 106 Query 1 193 drop database if exists d1
+master-bin.000001 193 Query 1 272 create database d1
+master-bin.000001 272 Query 1 370 use `d1`; create table t (s1 int) engine=innodb
+master-bin.000001 370 Query 1 436 use `d1`; BEGIN
+master-bin.000001 436 Query 1 521 use `d1`; insert into t values (1)
+master-bin.000001 521 Xid 1 548 COMMIT /* XID */
+master-bin.000001 548 Query 1 633 use `d1`; grant select on t to x@y
+master-bin.000001 633 Query 1 699 use `d1`; BEGIN
+master-bin.000001 699 Query 1 784 use `d1`; insert into t values (2)
+master-bin.000001 784 Xid 1 811 COMMIT /* XID */
+master-bin.000001 811 Query 1 899 use `d1`; revoke select on t from x@y
+drop user x@y;
+drop database d1;
diff --git a/mysql-test/suite/rpl/r/rpl_bug31076.result b/mysql-test/suite/rpl/r/rpl_bug31076.result
new file mode 100644
index 00000000000..fd66ca85d57
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_bug31076.result
@@ -0,0 +1,69 @@
+stop slave;
+drop table if exists t1,t2,t3,t4,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 track;
+USE track;
+CREATE TABLE `visits` (
+`visits_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+`myid` varchar(32) NOT NULL DEFAULT '',
+`src` varchar(64) NOT NULL DEFAULT '',
+`ip` int(10) unsigned NOT NULL DEFAULT '0',
+`cc` char(2) NOT NULL DEFAULT '',
+`org` varchar(80) DEFAULT NULL,
+`ref` varchar(255) NOT NULL DEFAULT '',
+`time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+`host` varchar(30) NOT NULL DEFAULT '',
+`entry` varchar(255) NOT NULL DEFAULT '',
+`visit_exit` varchar(255) NOT NULL DEFAULT '',
+`user_id` int(11) unsigned NOT NULL DEFAULT '0',
+`visit_start` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+PRIMARY KEY (`visits_id`),
+KEY `ip` (`ip`),
+KEY `time` (`time`),
+KEY `user_id` (`user_id`)
+) ENGINE=MyISAM AUTO_INCREMENT=21293381 DEFAULT CHARSET=latin1;
+CREATE TABLE `visits_events` (
+`event_id` mediumint(8) unsigned NOT NULL DEFAULT '0',
+`visit_id` int(11) unsigned NOT NULL DEFAULT '0',
+`timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+`src` varchar(64) NOT NULL DEFAULT '',
+`data` varchar(255) NOT NULL DEFAULT '',
+`visits_events_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+PRIMARY KEY (`visits_events_id`),
+KEY `event_id` (`event_id`),
+KEY `visit_id` (`visit_id`),
+KEY `data` (`data`)
+) ENGINE=MyISAM AUTO_INCREMENT=33900731 DEFAULT CHARSET=latin1;
+/*!40019 SET @@session.max_insert_delayed_threads=0*/;
+/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
+BINLOG '
+O1ZVRw8BAAAAZgAAAGoAAAAAAAQANS4xLjIzLXJjLWRlYnVnLWxvZwAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAA7VlVHEzgNAAgAEgAEBAQEEgAAUwAEGggAAAAICAgC
+'/*!*/;
+BINLOG '
+Bk3vRhO0AQAAOAAAALcLyQkAAJlXFwIAAAAABXRyYWNrAA12aXNpdHNfZXZlbnRzAAYJAwcPDwM=
+Bk3vRhe0AQAAWgAAABEMyQkQAJlXFwIAAAEABv/AIE4AvvVDAQZN70YAK0Rvd25sb2Fkcy9NeVNR
+TC00LjEvbXlzcWwtNC4xLjEyYS13aW4zMi56aXBPaAIC
+'/*!*/;
+SET INSERT_ID=21231039/*!*/;
+use track/*!*/;
+SET TIMESTAMP=1190087942/*!*/;
+SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
+SET @@session.sql_mode=0/*!*/;
+SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
+SET @@session.time_zone='UTC'/*!*/;
+INSERT INTO visits (myid, user_id, src, ip, cc, org, ref, time, host, entry, visit_exit, visit_start)
+VALUES ('3m3l4rhs6do0sf5p1i9lr94g928a272v', '', '', INET_ATON('71.118.124.98'), '', '', 'http://dev.mysql.com/downloads/connector/j/3.0.html', NULL, 'dev.mysql.com', '/get/Downloads/Connector-J/mysql-connector-java-3.0.17-ga.zip/from/pick', '/get/Downloads/Connector-J/mysql-connector-java-3.0.17-ga.zip/from/pick', NOW())/*!*/;
+Warnings:
+Warning 1366 Incorrect integer value: '' for column 'user_id' at row 1
+SELECT * FROM visits;
+visits_id myid src ip cc org ref time host entry visit_exit user_id visit_start
+21231039 3m3l4rhs6do0sf5p1i9lr94g928a272v 1198947426 http://dev.mysql.com/downloads/connector/j/3.0.html 2007-09-18 03:59:02 dev.mysql.com /get/Downloads/Connector-J/mysql-connector-java-3.0.17-ga.zip/from/pick /get/Downloads/Connector-J/mysql-connector-java-3.0.17-ga.zip/from/pick 0 2007-09-18 03:59:02
+SELECT * FROM visits_events;
+event_id visit_id timestamp src data visits_events_id
+20000 21231038 2007-09-18 03:59:02 Downloads/MySQL-4.1/mysql-4.1.12a-win32.zip 33712207
+DROP DATABASE track;
+End of 5.1 tests
diff --git a/mysql-test/suite/rpl/r/rpl_bug33931.result b/mysql-test/suite/rpl/r/rpl_bug33931.result
new file mode 100644
index 00000000000..4043f04215b
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_bug33931.result
@@ -0,0 +1,43 @@
+reset master;
+stop slave;
+reset slave;
+start slave;
+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
+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
diff --git a/mysql-test/suite/rpl/r/rpl_change_master.result b/mysql-test/suite/rpl/r/rpl_change_master.result
index 7707ca2cf9b..c06c1201e3d 100644
--- a/mysql-test/suite/rpl/r/rpl_change_master.result
+++ b/mysql-test/suite/rpl/r/rpl_change_master.result
@@ -33,7 +33,7 @@ Replicate_Wild_Ignore_Table
Last_Errno 0
Last_Error
Skip_Counter 0
-Exec_Master_Log_Pos 191
+Exec_Master_Log_Pos #
Relay_Log_Space #
Until_Condition None
Until_Log_File
@@ -73,7 +73,7 @@ Replicate_Wild_Ignore_Table
Last_Errno 0
Last_Error
Skip_Counter 0
-Exec_Master_Log_Pos 191
+Exec_Master_Log_Pos #
Relay_Log_Space #
Until_Condition None
Until_Log_File
diff --git a/mysql-test/suite/rpl/r/rpl_row_charset.result b/mysql-test/suite/rpl/r/rpl_charset.result
index e51f3e57d1f..ae5cf3b0fd1 100644
--- a/mysql-test/suite/rpl/r/rpl_row_charset.result
+++ b/mysql-test/suite/rpl/r/rpl_charset.result
@@ -47,7 +47,6 @@ insert into t1 (b) values(@@collation_server);
insert into t1 (b) values(@@character_set_client);
insert into t1 (b) values(@@character_set_connection);
insert into t1 (b) values(@@collation_connection);
-
--- --master--
select * from t1 order by a;
a b
@@ -56,7 +55,6 @@ a b
3 cp850
4 latin2
5 latin2_croatian_ci
-
--- --slave--
select * from mysqltest2.t1 order by a;
a b
@@ -65,9 +63,6 @@ a b
3 cp850
4 latin2
5 latin2_croatian_ci
-select "--- --muller--" as "";
-
---- --muller--
set character_set_client=latin1, collation_connection=latin1_german1_ci;
truncate table t1;
insert into t1 (b) values(@@collation_connection);
@@ -75,7 +70,6 @@ insert into t1 (b) values(LEAST("Müller","Muffler"));
set collation_connection=latin1_german2_ci;
insert into t1 (b) values(@@collation_connection);
insert into t1 (b) values(LEAST("Müller","Muffler"));
-
--- --master--
select * from t1 order by a;
a b
@@ -83,7 +77,6 @@ a b
2 Muffler
3 latin1_german2_ci
4 Müller
-
--- --slave--
select * from mysqltest2.t1 order by a;
a b
@@ -91,67 +84,23 @@ a b
2 Muffler
3 latin1_german2_ci
4 Müller
-select "--- --INSERT--" as "";
-
---- --INSERT--
set @a= _cp850 'Müller' collate cp850_general_ci;
truncate table t1;
insert into t1 (b) values(collation(@a));
-
--- --master--
select * from t1 order by a;
a b
1 cp850_general_ci
-
--- --slave--
select * from mysqltest2.t1 order by a;
a b
1 cp850_general_ci
drop database mysqltest2;
drop database mysqltest3;
-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 mysqltest2
-master-bin.000001 # Query # # drop database if exists mysqltest3
-master-bin.000001 # Query # # create database mysqltest2 character set latin2
-master-bin.000001 # Query # # create database mysqltest3
-master-bin.000001 # Query # # drop database mysqltest3
-master-bin.000001 # Query # # create database mysqltest3
-master-bin.000001 # Query # # use `mysqltest2`; create table t1 (a int auto_increment primary key, b varchar(100))
-master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # use `mysqltest2`; truncate table t1
-master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # use `mysqltest2`; truncate table t1
-master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # drop database mysqltest2
-master-bin.000001 # Query # # drop database mysqltest3
-select "--- --global--" as "";
-
---- --global--
set global character_set_server=latin2;
set global character_set_server=latin1;
set global character_set_server=latin2;
set global character_set_server=latin1;
-select "--- --oneshot--" as "";
-
---- --oneshot--
set one_shot @@character_set_server=latin5;
set @@max_join_size=1000;
select @@character_set_server;
@@ -173,9 +122,6 @@ set character_set_client=9999999;
ERROR 42000: Unknown character set: '9999999'
set collation_server=9999998;
ERROR HY000: Unknown collation: '9999998'
-select "--- --3943--" as "";
-
---- --3943--
use test;
CREATE TABLE t1 (c1 VARBINARY(255), c2 VARBINARY(255));
SET CHARACTER_SET_CLIENT=koi8r,
@@ -189,9 +135,6 @@ select hex(c1), hex(c2) from t1;
hex(c1) hex(c2)
CDF32C20E7E020F0FBE1E0EBEAF3 CDF32C20E7E020F0FBE1E0EBEAF3
drop table t1;
-select "--- --6676--" as "";
-
---- --6676--
create table `t1` (
`pk` varchar(10) not null default '',
primary key (`pk`)
diff --git a/mysql-test/suite/rpl/r/rpl_colSize.result b/mysql-test/suite/rpl/r/rpl_colSize.result
new file mode 100644
index 00000000000..91456742833
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_colSize.result
@@ -0,0 +1,179 @@
+stop slave;
+drop table if exists t1,t2,t3,t4,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;
+**** Testing WL#3228 changes. ****
+*** Create "wider" table on slave ***
+STOP SLAVE;
+RESET SLAVE;
+CREATE TABLE t1 (
+a float (47),
+b double (143,9),
+c decimal (65,30),
+d numeric (4,0),
+e bit (32),
+f char (21),
+g varchar (1300),
+h binary (33),
+j varbinary (200),
+k enum ('5','6','7', '8','9','0'),
+l set ('1','2','3','4','5','6','7','8','9','0','11','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29'),
+m TINYBLOB,
+n BLOB,
+o MEDIUMBLOB,
+p LONGBLOB,
+q TINYTEXT,
+r TEXT,
+s MEDIUMTEXT,
+t LONGTEXT
+);
+*** Create same table on master but with narrow columns ***
+CREATE TABLE t1 (
+a float (44),
+b double (10,3),
+c decimal (10,2),
+d numeric (3,0),
+e bit (16),
+f char (10),
+g varchar (100),
+h binary (20),
+j varbinary (20),
+k enum ('5','6','7'),
+l set ('1','2','3','4','5','6','7','8','9','0'),
+m TINYBLOB,
+n BLOB,
+o MEDIUMBLOB,
+p LONGBLOB,
+q TINYTEXT,
+r TEXT,
+s MEDIUMTEXT,
+t LONGTEXT
+);
+RESET MASTER;
+*** Start replication ***
+START SLAVE;
+*** Insert data on master and display it. ***
+INSERT INTO t1 () VALUES (
+17.567,
+2.123,
+10.20,
+125,
+hex(64),
+'TEST',
+'This is a test',
+'binary data',
+'more binary data',
+'6',
+'7',
+"blob 1",
+"blob 2",
+"blob 3",
+"blob 4",
+"text 1",
+"text 2",
+"text 3",
+"text 4");
+SELECT * FROM t1 ORDER BY a;
+a b c d e f g h j k l m n o p q r s t
+17.567 2.123 10.20 125 # TEST This is a test # more binary data 6 7 blob 1 blob 2 blob 3 blob 4 text 1 text 2 text 3 text 4
+*** Select data from slave to compare ***
+SELECT * FROM t1 ORDER BY a;
+a b c d e f g h j k l m n o p q r s t
+17.567 2.123000000 10.200000000000000000000000000000 125 # TEST This is a test # more binary data 6 7 blob 1 blob 2 blob 3 blob 4 text 1 text 2 text 3 text 4
+DROP TABLE t1;
+Create varchar table on master
+CREATE TABLE t1 (
+a VARCHAR(50),
+b VARCHAR(100),
+c VARCHAR(300),
+d CHAR(5)
+);
+Alter varchar table on slave
+ALTER TABLE t1 CHANGE COLUMN a a VARCHAR(100);
+ALTER TABLE t1 CHANGE COLUMN b b VARCHAR(400);
+ALTER TABLE t1 CHANGE COLUMN c c VARCHAR(500);
+ALTER TABLE t1 CHANGE COLUMN d d CHAR(100);
+Insert some values and select them on master
+INSERT INTO t1 VALUES ("This is a test of col a.",
+"This is another test of col b.",
+"This is a test of the large col c.",
+"Col d");
+SELECT * FROM t1;
+a b c d
+This is a test of col a. This is another test of col b. This is a test of the large col c. Col d
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` varchar(50) DEFAULT NULL,
+ `b` varchar(100) DEFAULT NULL,
+ `c` varchar(300) DEFAULT NULL,
+ `d` char(5) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+Insert some values and select them on slave
+SELECT * FROM t1;
+a b c d
+This is a test of col a. This is another test of col b. This is a test of the large col c. Col d
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` varchar(100) DEFAULT NULL,
+ `b` varchar(400) DEFAULT NULL,
+ `c` varchar(500) DEFAULT NULL,
+ `d` char(100) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+Create bit table on master
+CREATE TABLE t1 (
+a BIT(7),
+b BIT(8),
+c BIT(21),
+d BIT(11),
+e BIT(11)
+);
+Create bit table on slave
+DROP TABLE t1;
+CREATE TABLE t1 (
+a BIT(16),
+b BIT(22),
+c BIT(54),
+d BIT(25),
+e BIT(13)
+);
+Insert some values and select them on master
+INSERT INTO t1 VALUES (
+b'1010101',
+b'10101011',
+b'101010110101010101111',
+b'10101010101',
+b'10101011111'
+ );
+SELECT BIN(a), BIN(b), BIN(c), BIN(d), BIN(e) FROM t1;
+BIN(a) BIN(b) BIN(c) BIN(d) BIN(e)
+1010101 10101011 101010110101010101111 10101010101 10101011111
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` bit(7) DEFAULT NULL,
+ `b` bit(8) DEFAULT NULL,
+ `c` bit(21) DEFAULT NULL,
+ `d` bit(11) DEFAULT NULL,
+ `e` bit(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+Insert some values and select them on master
+SELECT BIN(a), BIN(b), BIN(c), BIN(d), BIN(e) FROM t1;
+BIN(a) BIN(b) BIN(c) BIN(d) BIN(e)
+1010101 10101011 101010110101010101111 10101010101 10101011111
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` bit(16) DEFAULT NULL,
+ `b` bit(22) DEFAULT NULL,
+ `c` bit(54) DEFAULT NULL,
+ `d` bit(25) DEFAULT NULL,
+ `e` bit(13) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+*** Cleanup ***
+DROP TABLE t1;
diff --git a/mysql-test/suite/rpl/r/rpl_create_database.result b/mysql-test/suite/rpl/r/rpl_create_database.result
index 0cfd44bc58c..9780b65f334 100644
--- a/mysql-test/suite/rpl/r/rpl_create_database.result
+++ b/mysql-test/suite/rpl/r/rpl_create_database.result
@@ -20,21 +20,17 @@ INSERT INTO t2 VALUES(2);
ALTER DATABASE mysqltest_sisyfos CHARACTER SET latin1;
USE mysqltest_sisyfos;
ALTER DATABASE mysqltest_bob CHARACTER SET latin1;
-SHOW DATABASES;
-Database
-information_schema
+SHOW DATABASES LIKE 'mysql%';
+Database (mysql%)
mysql
mysqltest_bob
mysqltest_prometheus
mysqltest_sisyfos
-test
-SHOW DATABASES;
-Database
-information_schema
+SHOW DATABASES LIKE 'mysql%';
+Database (mysql%)
mysql
mysqltest_prometheus
mysqltest_sisyfos
-test
DROP DATABASE IF EXISTS mysqltest_sisyfos;
USE mysqltest_prometheus;
CREATE TABLE t1 (a INT);
@@ -42,21 +38,17 @@ INSERT INTO t1 VALUES (1);
CREATE DATABASE mysqltest_sisyfos;
USE mysqltest_sisyfos;
CREATE TABLE t2 (a INT);
-SHOW DATABASES;
-Database
-information_schema
+SHOW DATABASES LIKE 'mysql%';
+Database (mysql%)
mysql
mysqltest_bob
mysqltest_prometheus
mysqltest_sisyfos
-test
-SHOW DATABASES;
-Database
-information_schema
+SHOW DATABASES LIKE 'mysql%';
+Database (mysql%)
mysql
mysqltest_prometheus
mysqltest_sisyfos
-test
USE mysqltest_prometheus;
SHOW TABLES;
Tables_in_mysqltest_prometheus
diff --git a/mysql-test/suite/rpl/r/rpl_drop_view.result b/mysql-test/suite/rpl/r/rpl_drop_view.result
new file mode 100644
index 00000000000..ef625464881
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_drop_view.result
@@ -0,0 +1,27 @@
+stop slave;
+drop table if exists t1,t2,t3,t4,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;
+drop view if exists v1, v2, v3, not_exist_view;
+create table t1 (a int);
+create table t2 (b int);
+create table t3 (c int);
+create view v1 as select * from t1;
+create view v2 as select * from t2;
+create view v3 as select * from t3;
+drop view not_exist_view;
+ERROR 42S02: Unknown table 'not_exist_view'
+drop view v1, not_exist_view;
+ERROR 42S02: Unknown table 'not_exist_view'
+select * from v1;
+ERROR 42S02: Table 'test.v1' doesn't exist
+drop view v2, v3;
+select * from v1;
+ERROR 42S02: Table 'test.v1' doesn't exist
+select * from v2;
+ERROR 42S02: Table 'test.v2' doesn't exist
+select * from v3;
+ERROR 42S02: Table 'test.v3' doesn't exist
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 257baa81b74..4c6323a61db 100644
--- a/mysql-test/suite/rpl/r/rpl_dual_pos_advance.result
+++ b/mysql-test/suite/rpl/r/rpl_dual_pos_advance.result
@@ -8,15 +8,53 @@ reset master;
change master to master_host="127.0.0.1",master_port=SLAVE_PORT,master_user="root";
start slave;
create table t1 (n int);
+stop slave;
+create table t2 (n int);
+show tables;
+Tables_in_test
+t1
+t2
+create table t3 (n int) engine=innodb;
+set @a=1;
+insert into t3 values(@a);
+begin;
+insert into t3 values(2);
+insert into t3 values(3);
+commit;
+insert into t3 values(4);
+start slave until master_log_file="slave-bin.000001",master_log_pos=195;
+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
+show tables;
+Tables_in_test
+t1
+t2
+start slave until master_log_file="slave-bin.000001",master_log_pos=438;
+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
+select * from t3;
+n
+1
+start slave until master_log_file="slave-bin.000001",master_log_pos=663;
+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
+select * from t3;
+n
+1
+2
+3
+start slave;
create table t4 (n int);
create table t5 (n int);
create table t6 (n int);
show tables;
Tables_in_test
t1
+t2
+t3
t4
t5
t6
stop slave;
reset slave;
-drop table t1,t4,t5,t6;
+drop table t1,t2,t3,t4,t5,t6;
diff --git a/mysql-test/suite/rpl/r/rpl_events.result b/mysql-test/suite/rpl/r/rpl_events.result
index 18fe72a9879..273004b0a43 100644
--- a/mysql-test/suite/rpl/r/rpl_events.result
+++ b/mysql-test/suite/rpl/r/rpl_events.result
@@ -195,9 +195,11 @@ test slave_terminate SLAVESIDE_DISABLED 2
DROP EVENT test.slave_terminate;
"Cleanup"
DROP TABLE t1;
+CREATE TABLE t28953 (a INT);
CREATE EVENT event1 ON SCHEDULE EVERY 1 YEAR
DO BEGIN
-select * from t1;
+select * from t28953;
END;|
ALTER EVENT event1 RENAME TO event2;
DROP EVENT event2;
+DROP TABLE t28953;
diff --git a/mysql-test/suite/rpl/r/rpl_extraCol_innodb.result b/mysql-test/suite/rpl/r/rpl_extraCol_innodb.result
index c3159987b30..f0f41c02a84 100644
--- a/mysql-test/suite/rpl/r/rpl_extraCol_innodb.result
+++ b/mysql-test/suite/rpl/r/rpl_extraCol_innodb.result
@@ -33,6 +33,73 @@ a b c d e
3 4 QA 2 TEST
*** 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='InnoDB';
+*** Create t2 on Master ***
+CREATE TABLE t2 (a INT PRIMARY KEY, b INT, c CHAR(10)
+) ENGINE='InnoDB';
+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;
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 1535
+Last_Error Table definition on master and slave does not match: Column 2 size mismatch - master has size 10, test.t2 on slave has size 6. Master's column size should be <= the slave's column size.
+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 #
+Last_IO_Error #
+Last_SQL_Errno 1535
+Last_SQL_Error Table definition on master and slave does not match: Column 2 size mismatch - master has size 10, test.t2 on slave has size 6. Master's column size should be <= the slave's column size.
+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;
@@ -57,7 +124,7 @@ SHOW SLAVE STATUS;
Slave_IO_State #
Master_Host 127.0.0.1
Master_User root
-Master_Port MASTER_PORT
+Master_Port #
Connect_Retry 1
Master_Log_File master-bin.000001
Read_Master_Log_Pos #
@@ -69,10 +136,10 @@ Slave_SQL_Running No
Replicate_Do_DB
Replicate_Ignore_DB
Replicate_Do_Table
-Replicate_Ignore_Table
+Replicate_Ignore_Table #
Replicate_Wild_Do_Table
Replicate_Wild_Ignore_Table
-Last_Errno 1532
+Last_Errno 1535
Last_Error Table definition on master and slave does not match: Column 0 type mismatch - received type 252, test.t3 has type 3
Skip_Counter 0
Exec_Master_Log_Pos #
@@ -88,9 +155,9 @@ 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 1532
+Last_IO_Errno #
+Last_IO_Error #
+Last_SQL_Errno 1535
Last_SQL_Error Table definition on master and slave does not match: Column 0 type mismatch - received type 252, test.t3 has type 3
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
START SLAVE;
@@ -119,7 +186,7 @@ SHOW SLAVE STATUS;
Slave_IO_State #
Master_Host 127.0.0.1
Master_User root
-Master_Port MASTER_PORT
+Master_Port #
Connect_Retry 1
Master_Log_File master-bin.000001
Read_Master_Log_Pos #
@@ -131,10 +198,10 @@ Slave_SQL_Running No
Replicate_Do_DB
Replicate_Ignore_DB
Replicate_Do_Table
-Replicate_Ignore_Table
+Replicate_Ignore_Table #
Replicate_Wild_Do_Table
Replicate_Wild_Ignore_Table
-Last_Errno 1532
+Last_Errno 1535
Last_Error Table definition on master and slave does not match: Column 0 type mismatch - received type 246, test.t4 has type 3
Skip_Counter 0
Exec_Master_Log_Pos #
@@ -150,9 +217,9 @@ 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 1532
+Last_IO_Errno #
+Last_IO_Error #
+Last_SQL_Errno 1535
Last_SQL_Error Table definition on master and slave does not match: Column 0 type mismatch - received type 246, test.t4 has type 3
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
START SLAVE;
@@ -181,7 +248,7 @@ SHOW SLAVE STATUS;
Slave_IO_State #
Master_Host 127.0.0.1
Master_User root
-Master_Port MASTER_PORT
+Master_Port #
Connect_Retry 1
Master_Log_File master-bin.000001
Read_Master_Log_Pos #
@@ -193,10 +260,10 @@ Slave_SQL_Running No
Replicate_Do_DB
Replicate_Ignore_DB
Replicate_Do_Table
-Replicate_Ignore_Table
+Replicate_Ignore_Table #
Replicate_Wild_Do_Table
Replicate_Wild_Ignore_Table
-Last_Errno 1532
+Last_Errno 1535
Last_Error Table definition on master and slave does not match: Column 5 type mismatch - received type 4, test.t5 has type 246
Skip_Counter 0
Exec_Master_Log_Pos #
@@ -212,9 +279,9 @@ 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 1532
+Last_IO_Errno #
+Last_IO_Error #
+Last_SQL_Errno 1535
Last_SQL_Error Table definition on master and slave does not match: Column 5 type mismatch - received type 4, test.t5 has type 246
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
START SLAVE;
@@ -242,7 +309,7 @@ SHOW SLAVE STATUS;
Slave_IO_State #
Master_Host 127.0.0.1
Master_User root
-Master_Port MASTER_PORT
+Master_Port #
Connect_Retry 1
Master_Log_File master-bin.000001
Read_Master_Log_Pos #
@@ -254,10 +321,10 @@ Slave_SQL_Running No
Replicate_Do_DB
Replicate_Ignore_DB
Replicate_Do_Table
-Replicate_Ignore_Table
+Replicate_Ignore_Table #
Replicate_Wild_Do_Table
Replicate_Wild_Ignore_Table
-Last_Errno 1532
+Last_Errno 1535
Last_Error Table definition on master and slave does not match: Column 3 type mismatch - received type 16, test.t6 has type 3
Skip_Counter 0
Exec_Master_Log_Pos #
@@ -273,9 +340,9 @@ 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 1532
+Last_IO_Errno #
+Last_IO_Error #
+Last_SQL_Errno 1535
Last_SQL_Error Table definition on master and slave does not match: Column 3 type mismatch - received type 16, test.t6 has type 3
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=3;
*** Drop t6 ***
@@ -332,6 +399,62 @@ set @b1 = concat(@b1,@b1);
INSERT INTO t8 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
*** Drop t8 ***
DROP TABLE t8;
+STOP SLAVE;
+RESET SLAVE;
+CREATE TABLE t9 (a INT KEY, b BLOB, c CHAR(5),
+d TIMESTAMP,
+e INT NOT NULL) ENGINE='InnoDB';
+*** Create t9 on Master ***
+CREATE TABLE t9 (a INT PRIMARY KEY, b BLOB, c CHAR(5)
+) ENGINE='InnoDB';
+RESET MASTER;
+*** Start Slave ***
+START SLAVE;
+*** Master Data Insert ***
+set @b1 = 'b1b1b1b1';
+set @b1 = concat(@b1,@b1);
+INSERT INTO t9 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 Could not execute Write_rows event on table test.t9; Field 'e' doesn't have a default value, Error_code: 1364; handler error HA_ERR_ROWS_EVENT_APPLY; the event's master log master-bin.000001, end_log_pos 330
+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 #
+Last_IO_Error #
+Last_SQL_Errno 1364
+Last_SQL_Error Could not execute Write_rows event on table test.t9; Field 'e' doesn't have a default value, Error_code: 1364; handler error HA_ERR_ROWS_EVENT_APPLY; the event's master log master-bin.000001, end_log_pos 330
+SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
+START SLAVE;
*** Create t10 on slave ***
STOP SLAVE;
RESET SLAVE;
@@ -354,7 +477,7 @@ SHOW SLAVE STATUS;
Slave_IO_State #
Master_Host 127.0.0.1
Master_User root
-Master_Port MASTER_PORT
+Master_Port #
Connect_Retry 1
Master_Log_File master-bin.000001
Read_Master_Log_Pos #
@@ -366,10 +489,10 @@ Slave_SQL_Running No
Replicate_Do_DB
Replicate_Ignore_DB
Replicate_Do_Table
-Replicate_Ignore_Table
+Replicate_Ignore_Table #
Replicate_Wild_Do_Table
Replicate_Wild_Ignore_Table
-Last_Errno 1532
+Last_Errno 1535
Last_Error Table definition on master and slave does not match: Column 2 type mismatch - received type 254, test.t10 has type 5
Skip_Counter 0
Exec_Master_Log_Pos #
@@ -385,9 +508,9 @@ 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 1532
+Last_IO_Errno #
+Last_IO_Error #
+Last_SQL_Errno 1535
Last_SQL_Error Table definition on master and slave does not match: Column 2 type mismatch - received type 254, test.t10 has type 5
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
START SLAVE;
@@ -415,7 +538,7 @@ SHOW SLAVE STATUS;
Slave_IO_State #
Master_Host 127.0.0.1
Master_User root
-Master_Port MASTER_PORT
+Master_Port #
Connect_Retry 1
Master_Log_File master-bin.000001
Read_Master_Log_Pos #
@@ -427,10 +550,10 @@ Slave_SQL_Running No
Replicate_Do_DB
Replicate_Ignore_DB
Replicate_Do_Table
-Replicate_Ignore_Table
+Replicate_Ignore_Table #
Replicate_Wild_Do_Table
Replicate_Wild_Ignore_Table
-Last_Errno 1532
+Last_Errno 1535
Last_Error Table definition on master and slave does not match: Column 2 type mismatch - received type 15, test.t11 has type 252
Skip_Counter 0
Exec_Master_Log_Pos #
@@ -446,9 +569,9 @@ 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 1532
+Last_IO_Errno #
+Last_IO_Error #
+Last_SQL_Errno 1535
Last_SQL_Error Table definition on master and slave does not match: Column 2 type mismatch - received type 15, test.t11 has type 252
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
START SLAVE;
@@ -548,6 +671,66 @@ c1 c2 c3 c4 c5 c6 c7
1 1.00 Replication Testing Extra Col b1b1b1b1b1b1b1b1 Kyle 1 CURRENT_TIMESTAMP
2 2.00 This Test Should work b1b1b1b1b1b1b1b1 JOE 1 CURRENT_TIMESTAMP
3 3.00 If is does not, I will open a bug b1b1b1b1b1b1b1b1 QA 1 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='InnoDB';
+*** Create t14a on Master ***
+CREATE TABLE t14a (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
+) ENGINE='InnoDB';
+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 1 CURRENT_TIMESTAMP
+2 b1b1b1b1b1b1b1b1 JOE 1 CURRENT_TIMESTAMP
+3 b1b1b1b1b1b1b1b1 QA 1 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 1 CURRENT_TIMESTAMP
+2 b1b1b1b1b1b1b1b1 JOE 1 CURRENT_TIMESTAMP
+3 b1b1b1b1b1b1b1b1 QA 1 CURRENT_TIMESTAMP
+4 b1b1b1b1b1b1b1b1 NULL 1 CURRENT_TIMESTAMP
+5 b1b1b1b1b1b1b1b1 NULL 1 CURRENT_TIMESTAMP
+6 b1b1b1b1b1b1b1b1 NULL 1 CURRENT_TIMESTAMP
*** connect to master and drop columns ***
ALTER TABLE t14 DROP COLUMN c2;
ALTER TABLE t14 DROP COLUMN c4;
@@ -605,7 +788,7 @@ SHOW SLAVE STATUS;
Slave_IO_State #
Master_Host 127.0.0.1
Master_User root
-Master_Port MASTER_PORT
+Master_Port #
Connect_Retry 1
Master_Log_File master-bin.000001
Read_Master_Log_Pos #
@@ -617,7 +800,7 @@ Slave_SQL_Running No
Replicate_Do_DB
Replicate_Ignore_DB
Replicate_Do_Table
-Replicate_Ignore_Table
+Replicate_Ignore_Table #
Replicate_Wild_Do_Table
Replicate_Wild_Ignore_Table
Last_Errno 1060
@@ -636,11 +819,11 @@ Master_SSL_Cipher
Master_SSL_Key
Seconds_Behind_Master #
Master_SSL_Verify_Server_Cert No
-Last_IO_Errno 0
-Last_IO_Error
+Last_IO_Errno #
+Last_IO_Error #
Last_SQL_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'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
+SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
START SLAVE;
*** Try to insert in master ****
INSERT INTO t15 () VALUES(5,2.00,'Replication Testing',@b1,'Buda',2);
@@ -656,6 +839,7 @@ c1 c2 c3 c4 c5 c6 c7
1 1.00 Replication Testing Extra Col b1b1b1b1b1b1b1b1 Kyle 1 CURRENT_TIMESTAMP
2 2.00 This Test Should work b1b1b1b1b1b1b1b1 JOE 1 CURRENT_TIMESTAMP
3 3.00 If is does not, I will open a bug b1b1b1b1b1b1b1b1 QA 1 CURRENT_TIMESTAMP
+5 2.00 Replication Testing b1b1b1b1b1b1b1b1 Buda 2 CURRENT_TIMESTAMP
*** DROP TABLE t15 ***
DROP TABLE t15;
*** Create t16 on slave ***
@@ -740,7 +924,7 @@ SHOW SLAVE STATUS;
Slave_IO_State #
Master_Host 127.0.0.1
Master_User root
-Master_Port MASTER_PORT
+Master_Port #
Connect_Retry 1
Master_Log_File master-bin.000001
Read_Master_Log_Pos #
@@ -752,10 +936,10 @@ Slave_SQL_Running No
Replicate_Do_DB
Replicate_Ignore_DB
Replicate_Do_Table
-Replicate_Ignore_Table
+Replicate_Ignore_Table #
Replicate_Wild_Do_Table
Replicate_Wild_Ignore_Table
-Last_Errno 1532
+Last_Errno 1535
Last_Error Table definition on master and slave does not match: Column 0 type mismatch - received type 8, test.t17 has type 2
Skip_Counter 0
Exec_Master_Log_Pos #
@@ -771,9 +955,9 @@ 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 1532
+Last_IO_Errno #
+Last_IO_Error #
+Last_SQL_Errno 1535
Last_SQL_Error Table definition on master and slave does not match: Column 0 type mismatch - received type 8, test.t17 has type 2
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
START SLAVE;
diff --git a/mysql-test/suite/rpl/r/rpl_extraCol_myisam.result b/mysql-test/suite/rpl/r/rpl_extraCol_myisam.result
index 9d6c3ed5d33..ad67e3ecf80 100644
--- a/mysql-test/suite/rpl/r/rpl_extraCol_myisam.result
+++ b/mysql-test/suite/rpl/r/rpl_extraCol_myisam.result
@@ -33,6 +33,73 @@ a b c d e
3 4 QA 2 TEST
*** 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='MyISAM';
+*** Create t2 on Master ***
+CREATE TABLE t2 (a INT PRIMARY KEY, b INT, c CHAR(10)
+) ENGINE='MyISAM';
+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;
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 1535
+Last_Error Table definition on master and slave does not match: Column 2 size mismatch - master has size 10, test.t2 on slave has size 6. Master's column size should be <= the slave's column size.
+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 #
+Last_IO_Error #
+Last_SQL_Errno 1535
+Last_SQL_Error Table definition on master and slave does not match: Column 2 size mismatch - master has size 10, test.t2 on slave has size 6. Master's column size should be <= the slave's column size.
+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;
@@ -57,7 +124,7 @@ SHOW SLAVE STATUS;
Slave_IO_State #
Master_Host 127.0.0.1
Master_User root
-Master_Port MASTER_PORT
+Master_Port #
Connect_Retry 1
Master_Log_File master-bin.000001
Read_Master_Log_Pos #
@@ -69,10 +136,10 @@ Slave_SQL_Running No
Replicate_Do_DB
Replicate_Ignore_DB
Replicate_Do_Table
-Replicate_Ignore_Table
+Replicate_Ignore_Table #
Replicate_Wild_Do_Table
Replicate_Wild_Ignore_Table
-Last_Errno 1532
+Last_Errno 1535
Last_Error Table definition on master and slave does not match: Column 0 type mismatch - received type 252, test.t3 has type 3
Skip_Counter 0
Exec_Master_Log_Pos #
@@ -88,9 +155,9 @@ 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 1532
+Last_IO_Errno #
+Last_IO_Error #
+Last_SQL_Errno 1535
Last_SQL_Error Table definition on master and slave does not match: Column 0 type mismatch - received type 252, test.t3 has type 3
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
START SLAVE;
@@ -119,7 +186,7 @@ SHOW SLAVE STATUS;
Slave_IO_State #
Master_Host 127.0.0.1
Master_User root
-Master_Port MASTER_PORT
+Master_Port #
Connect_Retry 1
Master_Log_File master-bin.000001
Read_Master_Log_Pos #
@@ -131,10 +198,10 @@ Slave_SQL_Running No
Replicate_Do_DB
Replicate_Ignore_DB
Replicate_Do_Table
-Replicate_Ignore_Table
+Replicate_Ignore_Table #
Replicate_Wild_Do_Table
Replicate_Wild_Ignore_Table
-Last_Errno 1532
+Last_Errno 1535
Last_Error Table definition on master and slave does not match: Column 0 type mismatch - received type 246, test.t4 has type 3
Skip_Counter 0
Exec_Master_Log_Pos #
@@ -150,9 +217,9 @@ 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 1532
+Last_IO_Errno #
+Last_IO_Error #
+Last_SQL_Errno 1535
Last_SQL_Error Table definition on master and slave does not match: Column 0 type mismatch - received type 246, test.t4 has type 3
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
START SLAVE;
@@ -181,7 +248,7 @@ SHOW SLAVE STATUS;
Slave_IO_State #
Master_Host 127.0.0.1
Master_User root
-Master_Port MASTER_PORT
+Master_Port #
Connect_Retry 1
Master_Log_File master-bin.000001
Read_Master_Log_Pos #
@@ -193,10 +260,10 @@ Slave_SQL_Running No
Replicate_Do_DB
Replicate_Ignore_DB
Replicate_Do_Table
-Replicate_Ignore_Table
+Replicate_Ignore_Table #
Replicate_Wild_Do_Table
Replicate_Wild_Ignore_Table
-Last_Errno 1532
+Last_Errno 1535
Last_Error Table definition on master and slave does not match: Column 5 type mismatch - received type 4, test.t5 has type 246
Skip_Counter 0
Exec_Master_Log_Pos #
@@ -212,9 +279,9 @@ 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 1532
+Last_IO_Errno #
+Last_IO_Error #
+Last_SQL_Errno 1535
Last_SQL_Error Table definition on master and slave does not match: Column 5 type mismatch - received type 4, test.t5 has type 246
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
START SLAVE;
@@ -242,7 +309,7 @@ SHOW SLAVE STATUS;
Slave_IO_State #
Master_Host 127.0.0.1
Master_User root
-Master_Port MASTER_PORT
+Master_Port #
Connect_Retry 1
Master_Log_File master-bin.000001
Read_Master_Log_Pos #
@@ -254,10 +321,10 @@ Slave_SQL_Running No
Replicate_Do_DB
Replicate_Ignore_DB
Replicate_Do_Table
-Replicate_Ignore_Table
+Replicate_Ignore_Table #
Replicate_Wild_Do_Table
Replicate_Wild_Ignore_Table
-Last_Errno 1532
+Last_Errno 1535
Last_Error Table definition on master and slave does not match: Column 3 type mismatch - received type 16, test.t6 has type 3
Skip_Counter 0
Exec_Master_Log_Pos #
@@ -273,9 +340,9 @@ 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 1532
+Last_IO_Errno #
+Last_IO_Error #
+Last_SQL_Errno 1535
Last_SQL_Error Table definition on master and slave does not match: Column 3 type mismatch - received type 16, test.t6 has type 3
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=3;
*** Drop t6 ***
@@ -332,6 +399,62 @@ set @b1 = concat(@b1,@b1);
INSERT INTO t8 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
*** Drop t8 ***
DROP TABLE t8;
+STOP SLAVE;
+RESET SLAVE;
+CREATE TABLE t9 (a INT KEY, b BLOB, c CHAR(5),
+d TIMESTAMP,
+e INT NOT NULL) ENGINE='MyISAM';
+*** Create t9 on Master ***
+CREATE TABLE t9 (a INT PRIMARY KEY, b BLOB, c CHAR(5)
+) ENGINE='MyISAM';
+RESET MASTER;
+*** Start Slave ***
+START SLAVE;
+*** Master Data Insert ***
+set @b1 = 'b1b1b1b1';
+set @b1 = concat(@b1,@b1);
+INSERT INTO t9 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 Could not execute Write_rows event on table test.t9; Field 'e' doesn't have a default value, Error_code: 1364; handler error HA_ERR_ROWS_EVENT_APPLY; the event's master log master-bin.000001, end_log_pos 262
+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 #
+Last_IO_Error #
+Last_SQL_Errno 1364
+Last_SQL_Error Could not execute Write_rows event on table test.t9; Field 'e' doesn't have a default value, Error_code: 1364; handler error HA_ERR_ROWS_EVENT_APPLY; the event's master log master-bin.000001, end_log_pos 262
+SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
+START SLAVE;
*** Create t10 on slave ***
STOP SLAVE;
RESET SLAVE;
@@ -354,7 +477,7 @@ SHOW SLAVE STATUS;
Slave_IO_State #
Master_Host 127.0.0.1
Master_User root
-Master_Port MASTER_PORT
+Master_Port #
Connect_Retry 1
Master_Log_File master-bin.000001
Read_Master_Log_Pos #
@@ -366,10 +489,10 @@ Slave_SQL_Running No
Replicate_Do_DB
Replicate_Ignore_DB
Replicate_Do_Table
-Replicate_Ignore_Table
+Replicate_Ignore_Table #
Replicate_Wild_Do_Table
Replicate_Wild_Ignore_Table
-Last_Errno 1532
+Last_Errno 1535
Last_Error Table definition on master and slave does not match: Column 2 type mismatch - received type 254, test.t10 has type 5
Skip_Counter 0
Exec_Master_Log_Pos #
@@ -385,9 +508,9 @@ 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 1532
+Last_IO_Errno #
+Last_IO_Error #
+Last_SQL_Errno 1535
Last_SQL_Error Table definition on master and slave does not match: Column 2 type mismatch - received type 254, test.t10 has type 5
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
START SLAVE;
@@ -415,7 +538,7 @@ SHOW SLAVE STATUS;
Slave_IO_State #
Master_Host 127.0.0.1
Master_User root
-Master_Port MASTER_PORT
+Master_Port #
Connect_Retry 1
Master_Log_File master-bin.000001
Read_Master_Log_Pos #
@@ -427,10 +550,10 @@ Slave_SQL_Running No
Replicate_Do_DB
Replicate_Ignore_DB
Replicate_Do_Table
-Replicate_Ignore_Table
+Replicate_Ignore_Table #
Replicate_Wild_Do_Table
Replicate_Wild_Ignore_Table
-Last_Errno 1532
+Last_Errno 1535
Last_Error Table definition on master and slave does not match: Column 2 type mismatch - received type 15, test.t11 has type 252
Skip_Counter 0
Exec_Master_Log_Pos #
@@ -446,9 +569,9 @@ 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 1532
+Last_IO_Errno #
+Last_IO_Error #
+Last_SQL_Errno 1535
Last_SQL_Error Table definition on master and slave does not match: Column 2 type mismatch - received type 15, test.t11 has type 252
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
START SLAVE;
@@ -548,6 +671,66 @@ c1 c2 c3 c4 c5 c6 c7
1 1.00 Replication Testing Extra Col b1b1b1b1b1b1b1b1 Kyle 1 CURRENT_TIMESTAMP
2 2.00 This Test Should work b1b1b1b1b1b1b1b1 JOE 1 CURRENT_TIMESTAMP
3 3.00 If is does not, I will open a bug b1b1b1b1b1b1b1b1 QA 1 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='MyISAM';
+*** Create t14a on Master ***
+CREATE TABLE t14a (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
+) ENGINE='MyISAM';
+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 1 CURRENT_TIMESTAMP
+2 b1b1b1b1b1b1b1b1 JOE 1 CURRENT_TIMESTAMP
+3 b1b1b1b1b1b1b1b1 QA 1 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 1 CURRENT_TIMESTAMP
+2 b1b1b1b1b1b1b1b1 JOE 1 CURRENT_TIMESTAMP
+3 b1b1b1b1b1b1b1b1 QA 1 CURRENT_TIMESTAMP
+4 b1b1b1b1b1b1b1b1 NULL 1 CURRENT_TIMESTAMP
+5 b1b1b1b1b1b1b1b1 NULL 1 CURRENT_TIMESTAMP
+6 b1b1b1b1b1b1b1b1 NULL 1 CURRENT_TIMESTAMP
*** connect to master and drop columns ***
ALTER TABLE t14 DROP COLUMN c2;
ALTER TABLE t14 DROP COLUMN c4;
@@ -605,7 +788,7 @@ SHOW SLAVE STATUS;
Slave_IO_State #
Master_Host 127.0.0.1
Master_User root
-Master_Port MASTER_PORT
+Master_Port #
Connect_Retry 1
Master_Log_File master-bin.000001
Read_Master_Log_Pos #
@@ -617,7 +800,7 @@ Slave_SQL_Running No
Replicate_Do_DB
Replicate_Ignore_DB
Replicate_Do_Table
-Replicate_Ignore_Table
+Replicate_Ignore_Table #
Replicate_Wild_Do_Table
Replicate_Wild_Ignore_Table
Last_Errno 1060
@@ -636,11 +819,11 @@ Master_SSL_Cipher
Master_SSL_Key
Seconds_Behind_Master #
Master_SSL_Verify_Server_Cert No
-Last_IO_Errno 0
-Last_IO_Error
+Last_IO_Errno #
+Last_IO_Error #
Last_SQL_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'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
+SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
START SLAVE;
*** Try to insert in master ****
INSERT INTO t15 () VALUES(5,2.00,'Replication Testing',@b1,'Buda',2);
@@ -656,6 +839,7 @@ c1 c2 c3 c4 c5 c6 c7
1 1.00 Replication Testing Extra Col b1b1b1b1b1b1b1b1 Kyle 1 CURRENT_TIMESTAMP
2 2.00 This Test Should work b1b1b1b1b1b1b1b1 JOE 1 CURRENT_TIMESTAMP
3 3.00 If is does not, I will open a bug b1b1b1b1b1b1b1b1 QA 1 CURRENT_TIMESTAMP
+5 2.00 Replication Testing b1b1b1b1b1b1b1b1 Buda 2 CURRENT_TIMESTAMP
*** DROP TABLE t15 ***
DROP TABLE t15;
*** Create t16 on slave ***
@@ -740,7 +924,7 @@ SHOW SLAVE STATUS;
Slave_IO_State #
Master_Host 127.0.0.1
Master_User root
-Master_Port MASTER_PORT
+Master_Port #
Connect_Retry 1
Master_Log_File master-bin.000001
Read_Master_Log_Pos #
@@ -752,10 +936,10 @@ Slave_SQL_Running No
Replicate_Do_DB
Replicate_Ignore_DB
Replicate_Do_Table
-Replicate_Ignore_Table
+Replicate_Ignore_Table #
Replicate_Wild_Do_Table
Replicate_Wild_Ignore_Table
-Last_Errno 1532
+Last_Errno 1535
Last_Error Table definition on master and slave does not match: Column 0 type mismatch - received type 8, test.t17 has type 2
Skip_Counter 0
Exec_Master_Log_Pos #
@@ -771,9 +955,9 @@ 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 1532
+Last_IO_Errno #
+Last_IO_Error #
+Last_SQL_Errno 1535
Last_SQL_Error Table definition on master and slave does not match: Column 0 type mismatch - received type 8, test.t17 has type 2
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
START SLAVE;
diff --git a/mysql-test/suite/rpl/r/rpl_extraColmaster_innodb.result b/mysql-test/suite/rpl/r/rpl_extraColmaster_innodb.result
new file mode 100644
index 00000000000..86648ba12c3
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_extraColmaster_innodb.result
@@ -0,0 +1,3423 @@
+stop slave;
+drop table if exists t1,t2,t3,t4,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 == 'InnoDB'
+***********************************************************
+***********************************************************
+
+***** 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='InnoDB';
+
+* 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
+
+* Show Slave Status *
+
+show slave status;;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 #
+Last_IO_Error #
+Last_SQL_Errno 0
+Last_SQL_Error
+
+
+***** 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='InnoDB';
+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='InnoDB';
+
+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='InnoDB';
+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='InnoDB';
+
+** 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=0, f27=NULL, f35='f35 new value' where f3=3;
+
+** Delete from Master **
+
+delete from t1;
+delete from t2;
+delete from t3;
+delete from t4;
+delete from t31;
+
+** Check slave status **
+
+select * from t31;
+f1 f2 f3 f4
+show slave status;;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 #
+Last_IO_Error #
+Last_SQL_Errno 0
+Last_SQL_Error
+
+****************************************
+* 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='InnoDB';
+
+** 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='InnoDB';
+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 1523 ***
+********************************************
+
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 1535
+Last_Error Table definition on master and slave does not match: Column 2 type mismatch - received type 5, test.t10 has type 254
+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 #
+Last_IO_Error #
+Last_SQL_Errno 1535
+Last_SQL_Error Table definition on master and slave does not match: Column 2 type mismatch - received type 5, test.t10 has type 254
+SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
+START SLAVE;
+
+*** 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='InnoDB';
+
+*** Create t11 on Master ***
+CREATE TABLE t11 (a INT KEY, b BLOB, f TEXT,
+c CHAR(5) DEFAULT 'test', e INT DEFAULT '1')ENGINE='InnoDB';
+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 1523 ***
+********************************************
+
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 1535
+Last_Error Table definition on master and slave does not match: Column 2 type mismatch - received type 252, test.t11 has type 15
+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 #
+Last_IO_Error #
+Last_SQL_Errno 1535
+Last_SQL_Error Table definition on master and slave does not match: Column 2 type mismatch - received type 252, test.t11 has type 15
+SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
+START SLAVE;
+
+*** 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='InnoDB';
+
+*** Create t12 on Master ***
+CREATE TABLE t12 (a INT KEY, b BLOB, f TEXT,
+c CHAR(5) DEFAULT 'test', e INT DEFAULT '1')ENGINE='InnoDB';
+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='InnoDB';
+
+*** 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='InnoDB';
+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 *
+************
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 1091
+Last_Error Error 'Can't DROP 'c7'; check that column/key exists' on query. Default database: 'test'. Query: 'ALTER TABLE t14 DROP COLUMN c7'
+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 #
+Last_IO_Error #
+Last_SQL_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;
+
+*** 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='InnoDB';
+
+*** 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='InnoDB';
+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 ***
+********************************************
+
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 1054
+Last_Error Error 'Unknown column 'c7' in 't15'' on query. Default database: 'test'. Query: 'ALTER TABLE t15 ADD COLUMN c2 DECIMAL(8,2) AFTER c7'
+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 #
+Last_IO_Error #
+Last_SQL_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;
+
+*** 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='InnoDB';
+
+*** 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='InnoDB';
+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 ***
+*****************
+
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 1072
+Last_Error Error 'Key column 'c6' doesn't exist in table' on query. Default database: 'test'. Query: 'CREATE INDEX part_of_c6 ON t16 (c6)'
+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 #
+Last_IO_Error #
+Last_SQL_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;
+
+*** 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='InnoDB';
+
+*** 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='InnoDB';
+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='InnoDB';
+
+*** 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='InnoDB';
+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='InnoDB';
+
+*** Create t5 on Master ***
+CREATE TABLE t5 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
+c6 LONG,
+c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
+)ENGINE='InnoDB';
+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=statement;
+
+***********************************************************
+***********************************************************
+***************** Start of Testing ************************
+***********************************************************
+***********************************************************
+* This test format == binlog_format STATEMENT and engine == 'InnoDB'
+***********************************************************
+***********************************************************
+
+***** 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='InnoDB';
+
+* 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
+
+* Show Slave Status *
+
+show slave status;;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 #
+Last_IO_Error #
+Last_SQL_Errno 0
+Last_SQL_Error
+
+
+***** 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='InnoDB';
+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='InnoDB';
+
+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='InnoDB';
+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='InnoDB';
+
+** 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=0, f27=NULL, f35='f35 new value' where f3=3;
+
+** Delete from Master **
+
+delete from t1;
+delete from t2;
+delete from t3;
+delete from t4;
+delete from t31;
+
+** Check slave status **
+
+select * from t31;
+f1 f2 f3 f4
+show slave status;;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 #
+Last_IO_Error #
+Last_SQL_Errno 0
+Last_SQL_Error
+
+****************************************
+* 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='InnoDB';
+
+** 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='InnoDB';
+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 1523 ***
+********************************************
+
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 1535
+Last_Error Table definition on master and slave does not match: Column 2 type mismatch - received type 5, test.t10 has type 254
+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 #
+Last_IO_Error #
+Last_SQL_Errno 1535
+Last_SQL_Error Table definition on master and slave does not match: Column 2 type mismatch - received type 5, test.t10 has type 254
+SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
+START SLAVE;
+
+*** 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='InnoDB';
+
+*** Create t11 on Master ***
+CREATE TABLE t11 (a INT KEY, b BLOB, f TEXT,
+c CHAR(5) DEFAULT 'test', e INT DEFAULT '1')ENGINE='InnoDB';
+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 1523 ***
+********************************************
+
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 1535
+Last_Error Table definition on master and slave does not match: Column 2 type mismatch - received type 252, test.t11 has type 15
+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 #
+Last_IO_Error #
+Last_SQL_Errno 1535
+Last_SQL_Error Table definition on master and slave does not match: Column 2 type mismatch - received type 252, test.t11 has type 15
+SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
+START SLAVE;
+
+*** 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='InnoDB';
+
+*** Create t12 on Master ***
+CREATE TABLE t12 (a INT KEY, b BLOB, f TEXT,
+c CHAR(5) DEFAULT 'test', e INT DEFAULT '1')ENGINE='InnoDB';
+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='InnoDB';
+
+*** 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='InnoDB';
+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 *
+************
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 1091
+Last_Error Error 'Can't DROP 'c7'; check that column/key exists' on query. Default database: 'test'. Query: 'ALTER TABLE t14 DROP COLUMN c7'
+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 #
+Last_IO_Error #
+Last_SQL_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;
+
+*** 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='InnoDB';
+
+*** 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='InnoDB';
+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 ***
+********************************************
+
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 1054
+Last_Error Error 'Unknown column 'c7' in 't15'' on query. Default database: 'test'. Query: 'ALTER TABLE t15 ADD COLUMN c2 DECIMAL(8,2) AFTER c7'
+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 #
+Last_IO_Error #
+Last_SQL_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;
+
+*** 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='InnoDB';
+
+*** 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='InnoDB';
+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 ***
+*****************
+
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 1072
+Last_Error Error 'Key column 'c6' doesn't exist in table' on query. Default database: 'test'. Query: 'CREATE INDEX part_of_c6 ON t16 (c6)'
+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 #
+Last_IO_Error #
+Last_SQL_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;
+
+*** 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='InnoDB';
+
+*** 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='InnoDB';
+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='InnoDB';
+
+*** 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='InnoDB';
+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='InnoDB';
+
+*** Create t5 on Master ***
+CREATE TABLE t5 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
+c6 LONG,
+c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
+)ENGINE='InnoDB';
+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 == 'InnoDB'
+***********************************************************
+***********************************************************
+
+***** 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='InnoDB';
+
+* 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
+
+* Show Slave Status *
+
+show slave status;;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 #
+Last_IO_Error #
+Last_SQL_Errno 0
+Last_SQL_Error
+
+
+***** 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='InnoDB';
+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='InnoDB';
+
+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='InnoDB';
+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='InnoDB';
+
+** 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=0, f27=NULL, f35='f35 new value' where f3=3;
+
+** Delete from Master **
+
+delete from t1;
+delete from t2;
+delete from t3;
+delete from t4;
+delete from t31;
+
+** Check slave status **
+
+select * from t31;
+f1 f2 f3 f4
+show slave status;;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 #
+Last_IO_Error #
+Last_SQL_Errno 0
+Last_SQL_Error
+
+****************************************
+* 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='InnoDB';
+
+** 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='InnoDB';
+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 1523 ***
+********************************************
+
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 1535
+Last_Error Table definition on master and slave does not match: Column 2 type mismatch - received type 5, test.t10 has type 254
+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 #
+Last_IO_Error #
+Last_SQL_Errno 1535
+Last_SQL_Error Table definition on master and slave does not match: Column 2 type mismatch - received type 5, test.t10 has type 254
+SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
+START SLAVE;
+
+*** 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='InnoDB';
+
+*** Create t11 on Master ***
+CREATE TABLE t11 (a INT KEY, b BLOB, f TEXT,
+c CHAR(5) DEFAULT 'test', e INT DEFAULT '1')ENGINE='InnoDB';
+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 1523 ***
+********************************************
+
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 1535
+Last_Error Table definition on master and slave does not match: Column 2 type mismatch - received type 252, test.t11 has type 15
+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 #
+Last_IO_Error #
+Last_SQL_Errno 1535
+Last_SQL_Error Table definition on master and slave does not match: Column 2 type mismatch - received type 252, test.t11 has type 15
+SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
+START SLAVE;
+
+*** 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='InnoDB';
+
+*** Create t12 on Master ***
+CREATE TABLE t12 (a INT KEY, b BLOB, f TEXT,
+c CHAR(5) DEFAULT 'test', e INT DEFAULT '1')ENGINE='InnoDB';
+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='InnoDB';
+
+*** 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='InnoDB';
+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 *
+************
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 1091
+Last_Error Error 'Can't DROP 'c7'; check that column/key exists' on query. Default database: 'test'. Query: 'ALTER TABLE t14 DROP COLUMN c7'
+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 #
+Last_IO_Error #
+Last_SQL_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;
+
+*** 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='InnoDB';
+
+*** 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='InnoDB';
+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 ***
+********************************************
+
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 1054
+Last_Error Error 'Unknown column 'c7' in 't15'' on query. Default database: 'test'. Query: 'ALTER TABLE t15 ADD COLUMN c2 DECIMAL(8,2) AFTER c7'
+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 #
+Last_IO_Error #
+Last_SQL_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;
+
+*** 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='InnoDB';
+
+*** 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='InnoDB';
+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 ***
+*****************
+
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 1072
+Last_Error Error 'Key column 'c6' doesn't exist in table' on query. Default database: 'test'. Query: 'CREATE INDEX part_of_c6 ON t16 (c6)'
+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 #
+Last_IO_Error #
+Last_SQL_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;
+
+*** 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='InnoDB';
+
+*** 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='InnoDB';
+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='InnoDB';
+
+*** 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='InnoDB';
+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='InnoDB';
+
+*** Create t5 on Master ***
+CREATE TABLE t5 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
+c6 LONG,
+c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
+)ENGINE='InnoDB';
+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/rpl/r/rpl_extraColmaster_myisam.result b/mysql-test/suite/rpl/r/rpl_extraColmaster_myisam.result
new file mode 100644
index 00000000000..96d4ca237d1
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_extraColmaster_myisam.result
@@ -0,0 +1,3423 @@
+stop slave;
+drop table if exists t1,t2,t3,t4,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 == 'MyISAM'
+***********************************************************
+***********************************************************
+
+***** 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='MyISAM';
+
+* 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
+
+* Show Slave Status *
+
+show slave status;;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 #
+Last_IO_Error #
+Last_SQL_Errno 0
+Last_SQL_Error
+
+
+***** 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='MyISAM';
+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='MyISAM';
+
+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='MyISAM';
+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='MyISAM';
+
+** 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=0, f27=NULL, f35='f35 new value' where f3=3;
+
+** Delete from Master **
+
+delete from t1;
+delete from t2;
+delete from t3;
+delete from t4;
+delete from t31;
+
+** Check slave status **
+
+select * from t31;
+f1 f2 f3 f4
+show slave status;;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 #
+Last_IO_Error #
+Last_SQL_Errno 0
+Last_SQL_Error
+
+****************************************
+* 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='MyISAM';
+
+** 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='MyISAM';
+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 1523 ***
+********************************************
+
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 1535
+Last_Error Table definition on master and slave does not match: Column 2 type mismatch - received type 5, test.t10 has type 254
+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 #
+Last_IO_Error #
+Last_SQL_Errno 1535
+Last_SQL_Error Table definition on master and slave does not match: Column 2 type mismatch - received type 5, test.t10 has type 254
+SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
+START SLAVE;
+
+*** 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='MyISAM';
+
+*** Create t11 on Master ***
+CREATE TABLE t11 (a INT KEY, b BLOB, f TEXT,
+c CHAR(5) DEFAULT 'test', e INT DEFAULT '1')ENGINE='MyISAM';
+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 1523 ***
+********************************************
+
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 1535
+Last_Error Table definition on master and slave does not match: Column 2 type mismatch - received type 252, test.t11 has type 15
+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 #
+Last_IO_Error #
+Last_SQL_Errno 1535
+Last_SQL_Error Table definition on master and slave does not match: Column 2 type mismatch - received type 252, test.t11 has type 15
+SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
+START SLAVE;
+
+*** 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='MyISAM';
+
+*** Create t12 on Master ***
+CREATE TABLE t12 (a INT KEY, b BLOB, f TEXT,
+c CHAR(5) DEFAULT 'test', e INT DEFAULT '1')ENGINE='MyISAM';
+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='MyISAM';
+
+*** 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='MyISAM';
+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 *
+************
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 1091
+Last_Error Error 'Can't DROP 'c7'; check that column/key exists' on query. Default database: 'test'. Query: 'ALTER TABLE t14 DROP COLUMN c7'
+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 #
+Last_IO_Error #
+Last_SQL_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;
+
+*** 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='MyISAM';
+
+*** 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='MyISAM';
+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 ***
+********************************************
+
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 1054
+Last_Error Error 'Unknown column 'c7' in 't15'' on query. Default database: 'test'. Query: 'ALTER TABLE t15 ADD COLUMN c2 DECIMAL(8,2) AFTER c7'
+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 #
+Last_IO_Error #
+Last_SQL_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;
+
+*** 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='MyISAM';
+
+*** 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='MyISAM';
+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 ***
+*****************
+
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 1072
+Last_Error Error 'Key column 'c6' doesn't exist in table' on query. Default database: 'test'. Query: 'CREATE INDEX part_of_c6 ON t16 (c6)'
+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 #
+Last_IO_Error #
+Last_SQL_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;
+
+*** 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='MyISAM';
+
+*** 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='MyISAM';
+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='MyISAM';
+
+*** 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='MyISAM';
+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='MyISAM';
+
+*** Create t5 on Master ***
+CREATE TABLE t5 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
+c6 LONG,
+c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
+)ENGINE='MyISAM';
+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=statement;
+
+***********************************************************
+***********************************************************
+***************** Start of Testing ************************
+***********************************************************
+***********************************************************
+* This test format == binlog_format STATEMENT and engine == 'MyISAM'
+***********************************************************
+***********************************************************
+
+***** 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='MyISAM';
+
+* 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
+
+* Show Slave Status *
+
+show slave status;;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 #
+Last_IO_Error #
+Last_SQL_Errno 0
+Last_SQL_Error
+
+
+***** 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='MyISAM';
+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='MyISAM';
+
+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='MyISAM';
+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='MyISAM';
+
+** 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=0, f27=NULL, f35='f35 new value' where f3=3;
+
+** Delete from Master **
+
+delete from t1;
+delete from t2;
+delete from t3;
+delete from t4;
+delete from t31;
+
+** Check slave status **
+
+select * from t31;
+f1 f2 f3 f4
+show slave status;;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 #
+Last_IO_Error #
+Last_SQL_Errno 0
+Last_SQL_Error
+
+****************************************
+* 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='MyISAM';
+
+** 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='MyISAM';
+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 1523 ***
+********************************************
+
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 1535
+Last_Error Table definition on master and slave does not match: Column 2 type mismatch - received type 5, test.t10 has type 254
+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 #
+Last_IO_Error #
+Last_SQL_Errno 1535
+Last_SQL_Error Table definition on master and slave does not match: Column 2 type mismatch - received type 5, test.t10 has type 254
+SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
+START SLAVE;
+
+*** 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='MyISAM';
+
+*** Create t11 on Master ***
+CREATE TABLE t11 (a INT KEY, b BLOB, f TEXT,
+c CHAR(5) DEFAULT 'test', e INT DEFAULT '1')ENGINE='MyISAM';
+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 1523 ***
+********************************************
+
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 1535
+Last_Error Table definition on master and slave does not match: Column 2 type mismatch - received type 252, test.t11 has type 15
+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 #
+Last_IO_Error #
+Last_SQL_Errno 1535
+Last_SQL_Error Table definition on master and slave does not match: Column 2 type mismatch - received type 252, test.t11 has type 15
+SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
+START SLAVE;
+
+*** 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='MyISAM';
+
+*** Create t12 on Master ***
+CREATE TABLE t12 (a INT KEY, b BLOB, f TEXT,
+c CHAR(5) DEFAULT 'test', e INT DEFAULT '1')ENGINE='MyISAM';
+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='MyISAM';
+
+*** 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='MyISAM';
+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 *
+************
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 1091
+Last_Error Error 'Can't DROP 'c7'; check that column/key exists' on query. Default database: 'test'. Query: 'ALTER TABLE t14 DROP COLUMN c7'
+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 #
+Last_IO_Error #
+Last_SQL_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;
+
+*** 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='MyISAM';
+
+*** 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='MyISAM';
+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 ***
+********************************************
+
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 1054
+Last_Error Error 'Unknown column 'c7' in 't15'' on query. Default database: 'test'. Query: 'ALTER TABLE t15 ADD COLUMN c2 DECIMAL(8,2) AFTER c7'
+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 #
+Last_IO_Error #
+Last_SQL_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;
+
+*** 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='MyISAM';
+
+*** 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='MyISAM';
+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 ***
+*****************
+
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 1072
+Last_Error Error 'Key column 'c6' doesn't exist in table' on query. Default database: 'test'. Query: 'CREATE INDEX part_of_c6 ON t16 (c6)'
+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 #
+Last_IO_Error #
+Last_SQL_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;
+
+*** 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='MyISAM';
+
+*** 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='MyISAM';
+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='MyISAM';
+
+*** 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='MyISAM';
+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='MyISAM';
+
+*** Create t5 on Master ***
+CREATE TABLE t5 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
+c6 LONG,
+c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
+)ENGINE='MyISAM';
+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 == 'MyISAM'
+***********************************************************
+***********************************************************
+
+***** 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='MyISAM';
+
+* 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
+
+* Show Slave Status *
+
+show slave status;;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 #
+Last_IO_Error #
+Last_SQL_Errno 0
+Last_SQL_Error
+
+
+***** 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='MyISAM';
+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='MyISAM';
+
+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='MyISAM';
+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='MyISAM';
+
+** 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=0, f27=NULL, f35='f35 new value' where f3=3;
+
+** Delete from Master **
+
+delete from t1;
+delete from t2;
+delete from t3;
+delete from t4;
+delete from t31;
+
+** Check slave status **
+
+select * from t31;
+f1 f2 f3 f4
+show slave status;;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 #
+Last_IO_Error #
+Last_SQL_Errno 0
+Last_SQL_Error
+
+****************************************
+* 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='MyISAM';
+
+** 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='MyISAM';
+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 1523 ***
+********************************************
+
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 1535
+Last_Error Table definition on master and slave does not match: Column 2 type mismatch - received type 5, test.t10 has type 254
+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 #
+Last_IO_Error #
+Last_SQL_Errno 1535
+Last_SQL_Error Table definition on master and slave does not match: Column 2 type mismatch - received type 5, test.t10 has type 254
+SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
+START SLAVE;
+
+*** 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='MyISAM';
+
+*** Create t11 on Master ***
+CREATE TABLE t11 (a INT KEY, b BLOB, f TEXT,
+c CHAR(5) DEFAULT 'test', e INT DEFAULT '1')ENGINE='MyISAM';
+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 1523 ***
+********************************************
+
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 1535
+Last_Error Table definition on master and slave does not match: Column 2 type mismatch - received type 252, test.t11 has type 15
+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 #
+Last_IO_Error #
+Last_SQL_Errno 1535
+Last_SQL_Error Table definition on master and slave does not match: Column 2 type mismatch - received type 252, test.t11 has type 15
+SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
+START SLAVE;
+
+*** 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='MyISAM';
+
+*** Create t12 on Master ***
+CREATE TABLE t12 (a INT KEY, b BLOB, f TEXT,
+c CHAR(5) DEFAULT 'test', e INT DEFAULT '1')ENGINE='MyISAM';
+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='MyISAM';
+
+*** 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='MyISAM';
+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 *
+************
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 1091
+Last_Error Error 'Can't DROP 'c7'; check that column/key exists' on query. Default database: 'test'. Query: 'ALTER TABLE t14 DROP COLUMN c7'
+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 #
+Last_IO_Error #
+Last_SQL_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;
+
+*** 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='MyISAM';
+
+*** 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='MyISAM';
+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 ***
+********************************************
+
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 1054
+Last_Error Error 'Unknown column 'c7' in 't15'' on query. Default database: 'test'. Query: 'ALTER TABLE t15 ADD COLUMN c2 DECIMAL(8,2) AFTER c7'
+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 #
+Last_IO_Error #
+Last_SQL_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;
+
+*** 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='MyISAM';
+
+*** 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='MyISAM';
+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 ***
+*****************
+
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 1072
+Last_Error Error 'Key column 'c6' doesn't exist in table' on query. Default database: 'test'. Query: 'CREATE INDEX part_of_c6 ON t16 (c6)'
+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 #
+Last_IO_Error #
+Last_SQL_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;
+
+*** 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='MyISAM';
+
+*** 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='MyISAM';
+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='MyISAM';
+
+*** 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='MyISAM';
+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='MyISAM';
+
+*** Create t5 on Master ***
+CREATE TABLE t5 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
+c6 LONG,
+c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
+)ENGINE='MyISAM';
+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/rpl/r/rpl_flushlog_loop.result b/mysql-test/suite/rpl/r/rpl_flushlog_loop.result
index b47c262eb66..baa740bf250 100644
--- a/mysql-test/suite/rpl/r/rpl_flushlog_loop.result
+++ b/mysql-test/suite/rpl/r/rpl_flushlog_loop.result
@@ -4,6 +4,13 @@ reset master;
reset slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
start slave;
+show variables like 'relay_log%';
+Variable_name Value
+relay_log MYSQLTEST_VARDIR/master-data/relay-log
+relay_log_index
+relay_log_info_file relay-log.info
+relay_log_purge ON
+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;
@@ -16,7 +23,7 @@ start slave;
let $result_pattern= '%127.0.0.1%root%slave-bin.000001%slave-bin.000001%Yes%Yes%0%0%None%' ;
--source include/wait_slave_status.inc
-flush logs;
+FLUSH LOGS;
SHOW SLAVE STATUS;
Slave_IO_State #
Master_Host 127.0.0.1
@@ -24,7 +31,7 @@ Master_User root
Master_Port SLAVE_PORT
Connect_Retry 60
Master_Log_File slave-bin.000001
-Read_Master_Log_Pos 216
+Read_Master_Log_Pos POSITION
Relay_Log_File #
Relay_Log_Pos #
Relay_Master_Log_File slave-bin.000001
@@ -39,7 +46,7 @@ Replicate_Wild_Ignore_Table
Last_Errno 0
Last_Error
Skip_Counter 0
-Exec_Master_Log_Pos 216
+Exec_Master_Log_Pos POSITION
Relay_Log_Space #
Until_Condition None
Until_Log_File
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 2239c32eea3..e7a912b75fa 100644
--- a/mysql-test/suite/rpl/r/rpl_foreign_key_innodb.result
+++ b/mysql-test/suite/rpl/r/rpl_foreign_key_innodb.result
@@ -40,3 +40,16 @@ Got one of the listed errors
SET FOREIGN_KEY_CHECKS=0;
DROP TABLE IF EXISTS t1,t2,t3;
SET FOREIGN_KEY_CHECKS=1;
+create table t1 (b int primary key) engine = INNODB;
+create table t2 (a int primary key, b int, foreign key (b) references t1(b))
+engine = INNODB;
+insert into t1 set b=1;
+insert into t2 set a=1, b=1;
+set foreign_key_checks=0;
+set @@session.binlog_format=row;
+delete from t1;
+must sync w/o a problem (could not with the buggy code)
+select count(*) from t1 /* must be zero */;
+count(*)
+0
+drop table t2,t1;
diff --git a/mysql-test/suite/rpl/r/rpl_found_rows.result b/mysql-test/suite/rpl/r/rpl_found_rows.result
new file mode 100644
index 00000000000..7e757a1d141
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_found_rows.result
@@ -0,0 +1,233 @@
+stop slave;
+drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
+reset master;
+reset slave;
+drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
+start slave;
+==== 0. Setting it all up ====
+SET BINLOG_FORMAT=STATEMENT;
+**** On Master ****
+CREATE TABLE t1 (a INT);
+CREATE TABLE logtbl (sect INT, test INT, count INT);
+INSERT INTO t1 VALUES (1),(2),(3);
+INSERT INTO t1 SELECT 2*a+3 FROM t1;
+INSERT INTO t1 SELECT 2*a+3 FROM t1;
+INSERT INTO t1 SELECT 2*a+3 FROM t1;
+INSERT INTO t1 SELECT 2*a+3 FROM t1;
+INSERT INTO t1 SELECT 2*a+3 FROM t1;
+INSERT INTO t1 SELECT 2*a+3 FROM t1;
+#### 1. Using statement mode ####
+==== 1.1. Simple test ====
+SELECT SQL_CALC_FOUND_ROWS * FROM t1 WHERE a > 5 ORDER BY a LIMIT 1;
+a
+7
+SELECT FOUND_ROWS() INTO @a;
+INSERT INTO logtbl VALUES(1,1,@a);
+SELECT SQL_CALC_FOUND_ROWS * FROM t1 WHERE a < 5 ORDER BY a LIMIT 1;
+a
+1
+SELECT FOUND_ROWS() INTO @a;
+INSERT INTO logtbl VALUES(1,2,@a);
+SELECT * FROM logtbl WHERE sect = 1 ORDER BY sect,test;
+sect test count
+1 1 183
+1 2 3
+**** On Slave ****
+SELECT * FROM logtbl WHERE sect = 1 ORDER BY sect,test;
+sect test count
+1 1 183
+1 2 3
+==== 1.2. Stored procedure ====
+**** On Master ****
+CREATE PROCEDURE calc_and_log(sect INT, test INT) BEGIN
+DECLARE cnt INT;
+SELECT SQL_CALC_FOUND_ROWS * FROM t1 WHERE a < 5 ORDER BY a LIMIT 1;
+SELECT FOUND_ROWS() INTO cnt;
+INSERT INTO logtbl VALUES(sect,test,cnt);
+SELECT SQL_CALC_FOUND_ROWS * FROM t1 WHERE a > 5 ORDER BY a LIMIT 1;
+SELECT FOUND_ROWS() INTO cnt;
+INSERT INTO logtbl VALUES(sect,test+1,cnt);
+END $$
+CALL calc_and_log(2,1);
+a
+1
+a
+7
+CREATE PROCEDURE just_log(sect INT, test INT, found_rows INT) BEGIN
+INSERT INTO logtbl VALUES (sect,test,found_rows);
+END $$
+SELECT SQL_CALC_FOUND_ROWS * FROM t1 WHERE a > 5 ORDER BY a LIMIT 1;
+a
+7
+SELECT FOUND_ROWS() INTO @found_rows;
+CALL just_log(2,3,@found_rows);
+SELECT * FROM logtbl WHERE sect = 2 ORDER BY sect,test;
+sect test count
+2 1 3
+2 2 183
+2 3 183
+**** On Slave ****
+SELECT * FROM logtbl WHERE sect = 2 ORDER BY sect,test;
+sect test count
+2 1 3
+2 2 183
+2 3 183
+==== 1.3. Stored functions ====
+**** On Master ****
+CREATE FUNCTION log_rows(sect INT, test INT, found_rows INT)
+RETURNS INT
+BEGIN
+INSERT INTO logtbl VALUES(sect,test,found_rows);
+RETURN found_rows;
+END $$
+SELECT SQL_CALC_FOUND_ROWS * FROM t1 WHERE a > 5 ORDER BY a LIMIT 1;
+a
+7
+SELECT FOUND_ROWS() INTO @found_rows;
+SELECT log_rows(3,1,@found_rows), log_rows(3,2,@found_rows);
+log_rows(3,1,@found_rows) log_rows(3,2,@found_rows)
+183 183
+SELECT * FROM logtbl WHERE sect = 3 ORDER BY sect,test;
+sect test count
+3 1 183
+3 2 183
+**** On Slave ****
+SELECT * FROM logtbl WHERE sect = 3 ORDER BY sect,test;
+sect test count
+3 1 183
+3 2 183
+==== 1.9. Cleanup ====
+**** On Master ****
+DELETE FROM logtbl;
+DROP PROCEDURE just_log;
+DROP PROCEDURE calc_and_log;
+DROP FUNCTION log_rows;
+**** Resetting master and slave ****
+STOP SLAVE;
+RESET SLAVE;
+RESET MASTER;
+START SLAVE;
+#### 2. Using mixed mode ####
+==== 2.1. Checking a procedure ====
+**** On Master ****
+SET BINLOG_FORMAT=MIXED;
+CREATE PROCEDURE just_log(sect INT, test INT) BEGIN
+INSERT INTO logtbl VALUES (sect,test,FOUND_ROWS());
+END $$
+**** On Master 1 ****
+SET BINLOG_FORMAT=MIXED;
+SELECT SQL_CALC_FOUND_ROWS * FROM t1 WHERE a > 5 ORDER BY a LIMIT 1;
+a
+7
+CALL just_log(1,1);
+**** On Master ****
+SELECT SQL_CALC_FOUND_ROWS * FROM t1 WHERE a > 5 ORDER BY a LIMIT 1;
+a
+7
+CALL just_log(1,2);
+**** On Master 1 ****
+SELECT SQL_CALC_FOUND_ROWS * FROM t1 WHERE a < 5 ORDER BY a LIMIT 1;
+a
+1
+CALL just_log(1,3);
+**** On Master ****
+SELECT SQL_CALC_FOUND_ROWS * FROM t1 WHERE a > 5 ORDER BY a LIMIT 1;
+a
+7
+CALL just_log(1,4);
+SELECT * FROM logtbl WHERE sect = 1 ORDER BY sect,test;
+sect test count
+1 1 183
+1 2 183
+1 3 3
+1 4 183
+**** On Slave ****
+SELECT * FROM logtbl WHERE sect = 1 ORDER BY sect,test;
+sect test count
+1 1 183
+1 2 183
+1 3 3
+1 4 183
+==== 2.1. Checking a stored function ====
+**** On Master ****
+CREATE FUNCTION log_rows(sect INT, test INT)
+RETURNS INT
+BEGIN
+DECLARE found_rows INT;
+SELECT FOUND_ROWS() INTO found_rows;
+INSERT INTO logtbl VALUES(sect,test,found_rows);
+RETURN found_rows;
+END $$
+SELECT SQL_CALC_FOUND_ROWS * FROM t1 WHERE a < 5 ORDER BY a LIMIT 1;
+a
+1
+SELECT log_rows(2,1), log_rows(2,2);
+log_rows(2,1) log_rows(2,2)
+3 3
+CREATE TABLE t2 (a INT, b INT);
+CREATE TRIGGER t2_tr BEFORE INSERT ON t2 FOR EACH ROW
+BEGIN
+INSERT INTO logtbl VALUES (NEW.a, NEW.b, FOUND_ROWS());
+END $$
+SELECT SQL_CALC_FOUND_ROWS * FROM t1 WHERE a < 5 ORDER BY a LIMIT 1;
+a
+1
+INSERT INTO t2 VALUES (2,3), (2,4);
+DROP TRIGGER t2_tr;
+CREATE TRIGGER t2_tr BEFORE INSERT ON t2 FOR EACH ROW
+BEGIN
+DECLARE dummy INT;
+SELECT log_rows(NEW.a, NEW.b) INTO dummy;
+END $$
+SELECT SQL_CALC_FOUND_ROWS * FROM t1 WHERE a > 5 ORDER BY a LIMIT 1;
+a
+7
+INSERT INTO t2 VALUES (2,5), (2,6);
+DROP TRIGGER t2_tr;
+CREATE PROCEDURE log_me_inner(sect INT, test INT)
+BEGIN
+DECLARE dummy INT;
+SELECT log_rows(sect, test) INTO dummy;
+SELECT log_rows(sect, test+1) INTO dummy;
+END $$
+CREATE PROCEDURE log_me(sect INT, test INT)
+BEGIN
+CALL log_me_inner(sect,test);
+END $$
+CREATE TRIGGER t2_tr BEFORE INSERT ON t2 FOR EACH ROW
+BEGIN
+CALL log_me(NEW.a, NEW.b);
+END $$
+SELECT SQL_CALC_FOUND_ROWS * FROM t1 WHERE a > 5 ORDER BY a LIMIT 1;
+a
+7
+INSERT INTO t2 VALUES (2,5), (2,6);
+SELECT * FROM logtbl WHERE sect = 2 ORDER BY sect,test;
+sect test count
+2 1 3
+2 2 3
+2 3 3
+2 4 3
+2 5 183
+2 5 183
+2 6 183
+2 6 0
+2 6 183
+2 7 0
+SELECT * FROM logtbl WHERE sect = 2 ORDER BY sect,test;
+sect test count
+2 1 3
+2 2 3
+2 3 3
+2 4 3
+2 5 183
+2 5 183
+2 6 183
+2 6 0
+2 6 183
+2 7 0
+DROP TABLE t1, logtbl;
+DROP PROCEDURE just_log;
+DROP PROCEDURE log_me;
+DROP PROCEDURE log_me_inner;
+DROP FUNCTION log_rows;
diff --git a/mysql-test/suite/rpl/r/rpl_get_lock.result b/mysql-test/suite/rpl/r/rpl_get_lock.result
index 235640acad0..f7c9541bd9f 100644
--- a/mysql-test/suite/rpl/r/rpl_get_lock.result
+++ b/mysql-test/suite/rpl/r/rpl_get_lock.result
@@ -25,7 +25,7 @@ explain extended select is_free_lock("lock"), is_used_lock("lock");
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 is_free_lock(_latin1'lock') AS `is_free_lock("lock")`,is_used_lock(_latin1'lock') AS `is_used_lock("lock")`
+Note 1003 select is_free_lock('lock') AS `is_free_lock("lock")`,is_used_lock('lock') AS `is_used_lock("lock")`
select is_free_lock("lock2");
is_free_lock("lock2")
1
diff --git a/mysql-test/suite/rpl/r/rpl_grant.result b/mysql-test/suite/rpl/r/rpl_grant.result
index 935d1ca67c7..1bed6101e3c 100644
--- a/mysql-test/suite/rpl/r/rpl_grant.result
+++ b/mysql-test/suite/rpl/r/rpl_grant.result
@@ -7,40 +7,40 @@ start slave;
**** On Master ****
CREATE USER dummy@localhost;
CREATE USER dummy1@localhost, dummy2@localhost;
-SELECT user, host FROM mysql.user WHERE user != 'root';
+SELECT user, host FROM mysql.user WHERE user like 'dummy%';
user host
dummy localhost
dummy1 localhost
dummy2 localhost
-SELECT COUNT(*) FROM mysql.user;
+SELECT COUNT(*) FROM mysql.user WHERE user like 'dummy%';
COUNT(*)
-6
+3
**** On Slave ****
-SELECT user,host FROM mysql.user WHERE user != 'root';
+SELECT user,host FROM mysql.user WHERE user like 'dummy%';
user host
dummy localhost
dummy1 localhost
dummy2 localhost
-SELECT COUNT(*) FROM mysql.user;
+SELECT COUNT(*) FROM mysql.user WHERE user like 'dummy%';
COUNT(*)
-6
+3
**** On Master ****
DROP USER nonexisting@localhost;
ERROR HY000: Operation DROP USER failed for 'nonexisting'@'localhost'
DROP USER nonexisting@localhost, dummy@localhost;
ERROR HY000: Operation DROP USER failed for 'nonexisting'@'localhost'
DROP USER dummy1@localhost, dummy2@localhost;
-SELECT user, host FROM mysql.user WHERE user != 'root';
+SELECT user, host FROM mysql.user WHERE user like 'dummy%';
user host
-SELECT COUNT(*) FROM mysql.user;
+SELECT COUNT(*) FROM mysql.user WHERE user like 'dummy%';
COUNT(*)
-3
+0
**** On Slave ****
-SELECT user,host FROM mysql.user WHERE user != 'root';
+SELECT user,host FROM mysql.user WHERE user like 'dummy%';
user host
-SELECT COUNT(*) FROM mysql.user;
+SELECT COUNT(*) FROM mysql.user WHERE user like 'dummy%';
COUNT(*)
-3
+0
SHOW SLAVE STATUS;
Slave_IO_State #
Master_Host 127.0.0.1
@@ -48,7 +48,7 @@ Master_User root
Master_Port MASTER_PORT
Connect_Retry 1
Master_Log_File master-bin.000001
-Read_Master_Log_Pos 617
+Read_Master_Log_Pos #
Relay_Log_File #
Relay_Log_Pos #
Relay_Master_Log_File master-bin.000001
@@ -57,13 +57,13 @@ Slave_SQL_Running Yes
Replicate_Do_DB
Replicate_Ignore_DB
Replicate_Do_Table
-Replicate_Ignore_Table
+Replicate_Ignore_Table #
Replicate_Wild_Do_Table
Replicate_Wild_Ignore_Table
Last_Errno 0
Last_Error
Skip_Counter 0
-Exec_Master_Log_Pos 617
+Exec_Master_Log_Pos #
Relay_Log_Space #
Until_Condition None
Until_Log_File
@@ -76,7 +76,7 @@ Master_SSL_Cipher
Master_SSL_Key
Seconds_Behind_Master #
Master_SSL_Verify_Server_Cert No
-Last_IO_Errno 0
-Last_IO_Error
+Last_IO_Errno #
+Last_IO_Error #
Last_SQL_Errno 0
Last_SQL_Error
diff --git a/mysql-test/suite/rpl/r/rpl_idempotency.result b/mysql-test/suite/rpl/r/rpl_idempotency.result
new file mode 100644
index 00000000000..5a4052864ad
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_idempotency.result
@@ -0,0 +1,226 @@
+stop slave;
+drop table if exists t1,t2,t3,t4,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 PRIMARY KEY);
+CREATE TABLE t2 (a INT);
+INSERT INTO t1 VALUES (-1),(-2),(-3);
+INSERT INTO t2 VALUES (-1),(-2),(-3);
+DELETE FROM t1 WHERE a = -2;
+DELETE FROM t2 WHERE a = -2;
+DELETE FROM t1 WHERE a = -2;
+DELETE FROM t2 WHERE a = -2;
+SELECT * FROM t1 ORDER BY a;
+a
+-3
+-1
+SELECT * FROM t2 ORDER BY a;
+a
+-3
+-1
+SELECT * FROM t1 ORDER BY a;
+a
+-3
+-1
+SELECT * FROM t2 ORDER BY a;
+a
+-3
+-1
+Last_SQL_Error
+0
+INSERT IGNORE INTO t1 VALUES (-2);
+INSERT IGNORE INTO t1 VALUES (-2);
+SELECT * FROM t1 ORDER BY a;
+a
+-3
+-2
+-1
+SELECT * FROM t1 ORDER BY a;
+a
+-3
+-2
+-1
+Last_SQL_Error
+0
+UPDATE t1 SET a = 1 WHERE a = -1;
+UPDATE t2 SET a = 1 WHERE a = -1;
+UPDATE t1 SET a = 1 WHERE a = -1;
+UPDATE t2 SET a = 1 WHERE a = -1;
+SELECT * FROM t1 ORDER BY a;
+a
+-3
+-2
+1
+SELECT * FROM t2 ORDER BY a;
+a
+-3
+1
+SELECT * FROM t1 ORDER BY a;
+a
+-3
+-2
+1
+SELECT * FROM t2 ORDER BY a;
+a
+-3
+1
+Last_SQL_Error
+0
+DROP TABLE t1, t2;
+select @@global.slave_exec_mode /* must be IDEMPOTENT */;
+@@global.slave_exec_mode
+IDEMPOTENT
+create table ti1 (b int primary key) engine = innodb;
+create table ti2 (a int primary key, b int, foreign key (b) references ti1(b))
+engine = innodb;
+set foreign_key_checks=1 /* ensure the check */;
+insert into ti1 values (1),(2),(3);
+insert into ti2 set a=2, b=2;
+select * from ti1 order by b /* must be (1),(2),(3) */;
+b
+1
+2
+3
+insert into ti2 set a=1, b=1;
+select * from ti2 order by b /* must be (1,1) (2,2) */;
+a b
+1 1
+2 2
+set @save_binlog_format= @@session.binlog_format;
+set @@session.binlog_format= row;
+delete from ti1 where b=1;
+select * from ti1 order by b /* must be (2),(3) */;
+b
+2
+3
+select * from ti1 order by b /* must stays as were on master (1),(2),(3) */;
+b
+1
+2
+3
+delete from ti1 where b=3;
+insert into ti2 set a=3, b=3;
+select * from ti2 order by b /* must be (1,1),(2,2) - not inserted */;
+a b
+1 1
+2 2
+set global slave_exec_mode='IDEMPOTENT';
+set global slave_exec_mode='STRICT';
+set global slave_exec_mode='IDEMPOTENT,STRICT';
+ERROR HY000: Ambiguous slave modes combination.
+select @@global.slave_exec_mode /* must be STRICT */;
+@@global.slave_exec_mode
+STRICT
+*** foreign keys errors as above now forces to stop
+set foreign_key_checks=0;
+drop table ti2, ti1;
+create table ti1 (b int primary key) engine = innodb;
+create table ti2 (a int primary key, b int, foreign key (b) references ti1(b))
+engine = innodb;
+set foreign_key_checks=1 /* ensure the check */;
+insert into ti1 values (1),(2),(3);
+insert into ti2 set a=2, b=2;
+select * from ti1 order by b /* must be (1),(2),(3) */;
+b
+1
+2
+3
+*** conspire future problem
+insert into ti2 set a=1, b=1;
+select * from ti2 order by b /* must be (1,1) (2,2) */;
+a b
+1 1
+2 2
+delete from ti1 where b=1 /* offending delete event */;
+select * from ti1 order by b /* must be (2),(3) */;
+b
+2
+3
+*** slave must stop
+Last_SQL_Error
+0
+select * from ti1 order by b /* must be (1),(2),(3) - not deleted */;
+b
+1
+2
+3
+set foreign_key_checks= 0;
+delete from ti2 where b=1;
+set foreign_key_checks= 1;
+set global slave_exec_mode='IDEMPOTENT';
+start slave sql_thread;
+set global slave_exec_mode='STRICT';
+*** conspire the following insert failure
+*** conspire future problem
+delete from ti1 where b=3;
+insert into ti2 set a=3, b=3 /* offending write event */;
+*** slave must stop
+Last_SQL_Error
+1452
+select * from ti2 order by b /* must be (2,2) */;
+a b
+2 2
+set foreign_key_checks= 0;
+insert into ti1 set b=3;
+set foreign_key_checks= 1;
+set global slave_exec_mode='IDEMPOTENT';
+start slave sql_thread;
+set global slave_exec_mode='STRICT';
+select * from ti2 order by b /* must be (2,2),(3,3) */;
+a b
+2 2
+3 3
+*** other errors
+*** conspiring query
+insert into ti1 set b=1;
+insert into ti1 set b=1 /* offending write event */;
+*** slave must stop
+Last_SQL_Error
+1062
+set foreign_key_checks= 0;
+delete from ti1 where b=1;
+set foreign_key_checks= 1;
+set global slave_exec_mode='IDEMPOTENT';
+start slave sql_thread;
+set global slave_exec_mode='STRICT';
+CREATE TABLE t1 (a INT PRIMARY KEY);
+CREATE TABLE t2 (a INT);
+INSERT INTO t1 VALUES (-1),(-2),(-3);
+INSERT INTO t2 VALUES (-1),(-2),(-3);
+DELETE FROM t1 WHERE a = -2;
+DELETE FROM t2 WHERE a = -2;
+DELETE FROM t1 WHERE a = -2;
+*** slave must stop
+Last_SQL_Error
+1032
+set global slave_exec_mode='IDEMPOTENT';
+start slave sql_thread;
+set global slave_exec_mode='STRICT';
+DELETE FROM t2 WHERE a = -2;
+*** slave must stop
+Last_SQL_Error
+0
+set global slave_exec_mode='IDEMPOTENT';
+start slave sql_thread;
+set global slave_exec_mode='STRICT';
+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
+Last_SQL_Error
+1032
+set global slave_exec_mode='IDEMPOTENT';
+start slave sql_thread;
+set global slave_exec_mode='STRICT';
+UPDATE t2 SET a = 1 WHERE a = -1;
+*** slave must stop
+Last_SQL_Error
+0
+set global slave_exec_mode='IDEMPOTENT';
+start slave sql_thread;
+set global slave_exec_mode='STRICT';
+set @@session.binlog_format= @save_binlog_format;
+drop table t1,t2,ti2,ti1;
+*** end of tests
diff --git a/mysql-test/suite/rpl/r/rpl_ignore_table.result b/mysql-test/suite/rpl/r/rpl_ignore_table.result
index e7200b31212..cdc3f5e9579 100644
--- a/mysql-test/suite/rpl/r/rpl_ignore_table.result
+++ b/mysql-test/suite/rpl/r/rpl_ignore_table.result
@@ -115,6 +115,7 @@ GRANT INSERT, INSERT (a), UPDATE (a), REFERENCES (a) ON `test`.`t4` TO 'mysqltes
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';
drop table t1, t4, mysqltest2.t2;
drop database mysqltest2;
delete from mysql.user where user like "mysqltest%";
@@ -132,6 +133,7 @@ INSERT INTO t5 (word) VALUES ('TEST’');
SELECT HEX(word) FROM t5;
HEX(word)
54455354E28099
+set @@global.slave_exec_mode= default;
SELECT HEX(word) FROM t5;
HEX(word)
54455354E28099
diff --git a/mysql-test/suite/rpl/r/rpl_incident.result b/mysql-test/suite/rpl/r/rpl_incident.result
index 84fd9c0ee4f..c3baabbdbc3 100644
--- a/mysql-test/suite/rpl/r/rpl_incident.result
+++ b/mysql-test/suite/rpl/r/rpl_incident.result
@@ -44,7 +44,7 @@ Replicate_Do_Table
Replicate_Ignore_Table
Replicate_Wild_Do_Table
Replicate_Wild_Ignore_Table
-Last_Errno 1587
+Last_Errno 1590
Last_Error The incident LOST_EVENTS occured on the master. Message: <none>
Skip_Counter 0
Exec_Master_Log_Pos #
@@ -62,7 +62,7 @@ Seconds_Behind_Master #
Master_SSL_Verify_Server_Cert No
Last_IO_Errno 0
Last_IO_Error
-Last_SQL_Errno 1587
+Last_SQL_Errno 1590
Last_SQL_Error The incident LOST_EVENTS occured on the master. Message: <none>
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
START SLAVE;
diff --git a/mysql-test/suite/rpl/r/rpl_init_slave.result b/mysql-test/suite/rpl/r/rpl_init_slave.result
index 740c918976c..5ff72e57f0e 100644
--- a/mysql-test/suite/rpl/r/rpl_init_slave.result
+++ b/mysql-test/suite/rpl/r/rpl_init_slave.result
@@ -4,6 +4,9 @@ reset master;
reset slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
start slave;
+set global max_connections=151;
+stop slave;
+start slave;
show variables like 'init_slave';
Variable_name Value
init_slave set global max_connections=500
diff --git a/mysql-test/suite/rpl/r/rpl_innodb_bug28430.result b/mysql-test/suite/rpl/r/rpl_innodb_bug28430.result
new file mode 100644
index 00000000000..e92f74e27eb
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_innodb_bug28430.result
@@ -0,0 +1,167 @@
+stop slave;
+drop table if exists t1,t2,t3,t4,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;
+CREATE TABLE test.regular_tbl(id MEDIUMINT NOT NULL AUTO_INCREMENT,
+dt TIMESTAMP, user CHAR(255), uuidf LONGBLOB,
+fkid MEDIUMINT, filler VARCHAR(255),
+PRIMARY KEY(id)) ENGINE='innodb';
+CREATE TABLE test.bykey_tbl(id MEDIUMINT NOT NULL AUTO_INCREMENT,
+dt TIMESTAMP, user CHAR(255), uuidf LONGBLOB,
+fkid MEDIUMINT, filler VARCHAR(255),
+PRIMARY KEY(id)) ENGINE='innodb'
+PARTITION BY KEY(id) partitions 5;
+CREATE TABLE test.byrange_tbl(id MEDIUMINT NOT NULL AUTO_INCREMENT,
+dt TIMESTAMP, user CHAR(255), uuidf LONGBLOB,
+fkid MEDIUMINT, filler VARCHAR(255),
+PRIMARY KEY(id)) ENGINE='innodb'
+PARTITION BY RANGE(id)
+SUBPARTITION BY hash(id) subpartitions 2
+(PARTITION pa1 values less than (10),
+PARTITION pa2 values less than (20),
+PARTITION pa3 values less than (30),
+PARTITION pa4 values less than (40),
+PARTITION pa5 values less than (50),
+PARTITION pa6 values less than (60),
+PARTITION pa7 values less than (70),
+PARTITION pa8 values less than (80),
+PARTITION pa9 values less than (90),
+PARTITION pa10 values less than (100),
+PARTITION pa11 values less than MAXVALUE);
+CREATE PROCEDURE test.proc_norm()
+BEGIN
+DECLARE ins_count INT DEFAULT 1000;
+DECLARE del_count INT;
+DECLARE cur_user VARCHAR(255);
+DECLARE local_uuid VARCHAR(255);
+DECLARE local_time TIMESTAMP;
+SET local_time= NOW();
+SET cur_user= CURRENT_USER();
+SET local_uuid= UUID();
+WHILE ins_count > 0 DO
+INSERT INTO test.regular_tbl VALUES (NULL, NOW(), USER() , UUID(),
+ins_count,'Going to test MBR for MySQL');
+SET ins_count = ins_count - 1;
+END WHILE;
+SELECT MAX(id) FROM test.regular_tbl INTO del_count;
+WHILE del_count > 0 DO
+DELETE FROM test.regular_tbl WHERE id = del_count;
+SET del_count = del_count - 2;
+END WHILE;
+END|
+CREATE PROCEDURE test.proc_bykey()
+BEGIN
+DECLARE ins_count INT DEFAULT 1000;
+DECLARE del_count INT;
+DECLARE cur_user VARCHAR(255);
+DECLARE local_uuid VARCHAR(255);
+DECLARE local_time TIMESTAMP;
+SET local_time= NOW();
+SET cur_user= CURRENT_USER();
+SET local_uuid= UUID();
+WHILE ins_count > 0 DO
+INSERT INTO test.bykey_tbl VALUES (NULL, NOW(), USER() , UUID(),
+ins_count,'Going to test MBR for MySQL');
+SET ins_count = ins_count - 1;
+END WHILE;
+SELECT MAX(id) FROM test.bykey_tbl INTO del_count;
+WHILE del_count > 0 DO
+DELETE FROM test.bykey_tbl WHERE id = del_count;
+SET del_count = del_count - 2;
+END WHILE;
+END|
+CREATE PROCEDURE test.proc_byrange()
+BEGIN
+DECLARE ins_count INT DEFAULT 1000;
+DECLARE del_count INT;
+DECLARE cur_user VARCHAR(255);
+DECLARE local_uuid VARCHAR(255);
+DECLARE local_time TIMESTAMP;
+SET local_time= NOW();
+SET cur_user = CURRENT_USER();
+SET local_uuid=UUID();
+WHILE ins_count > 0 DO
+INSERT INTO test.byrange_tbl VALUES (NULL, NOW(), USER(), UUID(),
+ins_count,'Going to test MBR for MySQL');
+SET ins_count = ins_count - 1;
+END WHILE;
+SELECT MAX(id) FROM test.byrange_tbl INTO del_count;
+WHILE del_count > 0 DO
+DELETE FROM test.byrange_tbl WHERE id = del_count;
+SET del_count = del_count - 2;
+END WHILE;
+END|
+CALL test.proc_norm();
+SELECT count(*) as "Master regular" FROM test.regular_tbl;
+Master regular 500
+CALL test.proc_bykey();
+SELECT count(*) as "Master bykey" FROM test.bykey_tbl;
+Master bykey 500
+CALL test.proc_byrange();
+SELECT count(*) as "Master byrange" FROM test.byrange_tbl;
+Master byrange 500
+show create table test.byrange_tbl;
+Table byrange_tbl
+Create Table CREATE TABLE `byrange_tbl` (
+ `id` mediumint(9) NOT NULL AUTO_INCREMENT,
+ `dt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ `user` char(255) DEFAULT NULL,
+ `uuidf` longblob,
+ `fkid` mediumint(9) DEFAULT NULL,
+ `filler` varchar(255) DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=1001 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (id) SUBPARTITION BY HASH (id) SUBPARTITIONS 2 (PARTITION pa1 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION pa2 VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION pa3 VALUES LESS THAN (30) ENGINE = InnoDB, PARTITION pa4 VALUES LESS THAN (40) ENGINE = InnoDB, PARTITION pa5 VALUES LESS THAN (50) ENGINE = InnoDB, PARTITION pa6 VALUES LESS THAN (60) ENGINE = InnoDB, PARTITION pa7 VALUES LESS THAN (70) ENGINE = InnoDB, PARTITION pa8 VALUES LESS THAN (80) ENGINE = InnoDB, PARTITION pa9 VALUES LESS THAN (90) ENGINE = InnoDB, PARTITION pa10 VALUES LESS THAN (100) ENGINE = InnoDB, PARTITION pa11 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */
+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 945470
+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 945470
+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 #
+Last_IO_Error #
+Last_SQL_Errno 0
+Last_SQL_Error
+SELECT count(*) "Slave norm" FROM test.regular_tbl;
+Slave norm 500
+SELECT count(*) "Slave bykey" FROM test.bykey_tbl;
+Slave bykey 500
+SELECT count(*) "Slave byrange" FROM test.byrange_tbl;
+Slave byrange 500
+DROP PROCEDURE test.proc_norm;
+DROP PROCEDURE test.proc_bykey;
+DROP PROCEDURE test.proc_byrange;
+DROP TABLE test.regular_tbl;
+DROP TABLE test.bykey_tbl;
+DROP TABLE test.byrange_tbl;
diff --git a/mysql-test/suite/rpl/r/rpl_innodb_bug30888.result b/mysql-test/suite/rpl/r/rpl_innodb_bug30888.result
new file mode 100644
index 00000000000..abff02b4b07
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_innodb_bug30888.result
@@ -0,0 +1,35 @@
+stop slave;
+drop table if exists t1,t2,t3,t4,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;
+CREATE TABLE test.regular_tbl(id MEDIUMINT NOT NULL AUTO_INCREMENT,
+dt TIMESTAMP, user CHAR(255), uuidf LONGBLOB,
+fkid MEDIUMINT, filler VARCHAR(255),
+PRIMARY KEY(id)) ENGINE='innodb';
+CREATE PROCEDURE test.proc_norm()
+BEGIN
+DECLARE ins_count INT DEFAULT 1000;
+DECLARE del_count INT;
+DECLARE cur_user VARCHAR(255);
+DECLARE local_uuid VARCHAR(255);
+DECLARE local_time TIMESTAMP;
+SET local_time= NOW();
+SET cur_user= CURRENT_USER();
+SET local_uuid= UUID();
+WHILE ins_count > 0 DO
+INSERT INTO test.regular_tbl VALUES (NULL, NOW(), USER() , UUID(),
+ins_count,'Going to test MBR for MySQL');
+SET ins_count = ins_count - 1;
+END WHILE;
+SELECT MAX(id) FROM test.regular_tbl INTO del_count;
+WHILE del_count > 0 DO
+DELETE FROM test.regular_tbl WHERE id = del_count;
+SET del_count = del_count - 2;
+END WHILE;
+END|
+CALL test.proc_norm();
+DROP PROCEDURE test.proc_norm;
+DROP TABLE test.regular_tbl;
diff --git a/mysql-test/suite/rpl/r/rpl_innodb_bug30919.result b/mysql-test/suite/rpl/r/rpl_innodb_bug30919.result
new file mode 100644
index 00000000000..42aa4ff302b
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_innodb_bug30919.result
@@ -0,0 +1,1043 @@
+use test;
+CREATE TABLE test.part_tbl(id MEDIUMINT NOT NULL AUTO_INCREMENT,
+dt TIMESTAMP, user CHAR(255), uuidf LONGBLOB,
+fkid MEDIUMINT, filler VARCHAR(255),
+PRIMARY KEY(id)) ENGINE='innodb'
+PARTITION BY RANGE(id)
+SUBPARTITION BY hash(id) subpartitions 2
+(PARTITION pa3 values less than (42),
+PARTITION pa6 values less than (60),
+PARTITION pa7 values less than (70),
+PARTITION pa8 values less than (80),
+PARTITION pa9 values less than (90),
+PARTITION pa10 values less than (100),
+PARTITION pa11 values less than MAXVALUE);
+CREATE PROCEDURE test.proc_part()
+BEGIN
+DECLARE ins_count INT DEFAULT 1000;
+DECLARE del_count INT;
+DECLARE cur_user VARCHAR(255);
+DECLARE local_uuid VARCHAR(255);
+DECLARE local_time TIMESTAMP;
+SET local_time= NOW();
+SET cur_user= CURRENT_USER();
+SET local_uuid= UUID();
+WHILE ins_count > 0 DO
+INSERT INTO test.part_tbl VALUES (NULL, NOW(), USER() , UUID(),
+ins_count,'Going to test MBR for MySQL');
+SET ins_count = ins_count - 1;
+END WHILE;
+SELECT MAX(id) FROM test.part_tbl INTO del_count;
+WHILE del_count > 0 DO
+DELETE FROM test.part_tbl WHERE id = del_count;
+select count(*) as internal_count, del_count -- these two lines are for
+FROM test.part_tbl; -- debug to show the problem
+SET del_count = del_count - 2;
+END WHILE;
+END|
+CALL test.proc_part();
+internal_count del_count
+999 1000
+internal_count del_count
+998 998
+internal_count del_count
+997 996
+internal_count del_count
+996 994
+internal_count del_count
+995 992
+internal_count del_count
+994 990
+internal_count del_count
+993 988
+internal_count del_count
+992 986
+internal_count del_count
+991 984
+internal_count del_count
+990 982
+internal_count del_count
+989 980
+internal_count del_count
+988 978
+internal_count del_count
+987 976
+internal_count del_count
+986 974
+internal_count del_count
+985 972
+internal_count del_count
+984 970
+internal_count del_count
+983 968
+internal_count del_count
+982 966
+internal_count del_count
+981 964
+internal_count del_count
+980 962
+internal_count del_count
+979 960
+internal_count del_count
+978 958
+internal_count del_count
+977 956
+internal_count del_count
+976 954
+internal_count del_count
+975 952
+internal_count del_count
+974 950
+internal_count del_count
+973 948
+internal_count del_count
+972 946
+internal_count del_count
+971 944
+internal_count del_count
+970 942
+internal_count del_count
+969 940
+internal_count del_count
+968 938
+internal_count del_count
+967 936
+internal_count del_count
+966 934
+internal_count del_count
+965 932
+internal_count del_count
+964 930
+internal_count del_count
+963 928
+internal_count del_count
+962 926
+internal_count del_count
+961 924
+internal_count del_count
+960 922
+internal_count del_count
+959 920
+internal_count del_count
+958 918
+internal_count del_count
+957 916
+internal_count del_count
+956 914
+internal_count del_count
+955 912
+internal_count del_count
+954 910
+internal_count del_count
+953 908
+internal_count del_count
+952 906
+internal_count del_count
+951 904
+internal_count del_count
+950 902
+internal_count del_count
+949 900
+internal_count del_count
+948 898
+internal_count del_count
+947 896
+internal_count del_count
+946 894
+internal_count del_count
+945 892
+internal_count del_count
+944 890
+internal_count del_count
+943 888
+internal_count del_count
+942 886
+internal_count del_count
+941 884
+internal_count del_count
+940 882
+internal_count del_count
+939 880
+internal_count del_count
+938 878
+internal_count del_count
+937 876
+internal_count del_count
+936 874
+internal_count del_count
+935 872
+internal_count del_count
+934 870
+internal_count del_count
+933 868
+internal_count del_count
+932 866
+internal_count del_count
+931 864
+internal_count del_count
+930 862
+internal_count del_count
+929 860
+internal_count del_count
+928 858
+internal_count del_count
+927 856
+internal_count del_count
+926 854
+internal_count del_count
+925 852
+internal_count del_count
+924 850
+internal_count del_count
+923 848
+internal_count del_count
+922 846
+internal_count del_count
+921 844
+internal_count del_count
+920 842
+internal_count del_count
+919 840
+internal_count del_count
+918 838
+internal_count del_count
+917 836
+internal_count del_count
+916 834
+internal_count del_count
+915 832
+internal_count del_count
+914 830
+internal_count del_count
+913 828
+internal_count del_count
+912 826
+internal_count del_count
+911 824
+internal_count del_count
+910 822
+internal_count del_count
+909 820
+internal_count del_count
+908 818
+internal_count del_count
+907 816
+internal_count del_count
+906 814
+internal_count del_count
+905 812
+internal_count del_count
+904 810
+internal_count del_count
+903 808
+internal_count del_count
+902 806
+internal_count del_count
+901 804
+internal_count del_count
+900 802
+internal_count del_count
+899 800
+internal_count del_count
+898 798
+internal_count del_count
+897 796
+internal_count del_count
+896 794
+internal_count del_count
+895 792
+internal_count del_count
+894 790
+internal_count del_count
+893 788
+internal_count del_count
+892 786
+internal_count del_count
+891 784
+internal_count del_count
+890 782
+internal_count del_count
+889 780
+internal_count del_count
+888 778
+internal_count del_count
+887 776
+internal_count del_count
+886 774
+internal_count del_count
+885 772
+internal_count del_count
+884 770
+internal_count del_count
+883 768
+internal_count del_count
+882 766
+internal_count del_count
+881 764
+internal_count del_count
+880 762
+internal_count del_count
+879 760
+internal_count del_count
+878 758
+internal_count del_count
+877 756
+internal_count del_count
+876 754
+internal_count del_count
+875 752
+internal_count del_count
+874 750
+internal_count del_count
+873 748
+internal_count del_count
+872 746
+internal_count del_count
+871 744
+internal_count del_count
+870 742
+internal_count del_count
+869 740
+internal_count del_count
+868 738
+internal_count del_count
+867 736
+internal_count del_count
+866 734
+internal_count del_count
+865 732
+internal_count del_count
+864 730
+internal_count del_count
+863 728
+internal_count del_count
+862 726
+internal_count del_count
+861 724
+internal_count del_count
+860 722
+internal_count del_count
+859 720
+internal_count del_count
+858 718
+internal_count del_count
+857 716
+internal_count del_count
+856 714
+internal_count del_count
+855 712
+internal_count del_count
+854 710
+internal_count del_count
+853 708
+internal_count del_count
+852 706
+internal_count del_count
+851 704
+internal_count del_count
+850 702
+internal_count del_count
+849 700
+internal_count del_count
+848 698
+internal_count del_count
+847 696
+internal_count del_count
+846 694
+internal_count del_count
+845 692
+internal_count del_count
+844 690
+internal_count del_count
+843 688
+internal_count del_count
+842 686
+internal_count del_count
+841 684
+internal_count del_count
+840 682
+internal_count del_count
+839 680
+internal_count del_count
+838 678
+internal_count del_count
+837 676
+internal_count del_count
+836 674
+internal_count del_count
+835 672
+internal_count del_count
+834 670
+internal_count del_count
+833 668
+internal_count del_count
+832 666
+internal_count del_count
+831 664
+internal_count del_count
+830 662
+internal_count del_count
+829 660
+internal_count del_count
+828 658
+internal_count del_count
+827 656
+internal_count del_count
+826 654
+internal_count del_count
+825 652
+internal_count del_count
+824 650
+internal_count del_count
+823 648
+internal_count del_count
+822 646
+internal_count del_count
+821 644
+internal_count del_count
+820 642
+internal_count del_count
+819 640
+internal_count del_count
+818 638
+internal_count del_count
+817 636
+internal_count del_count
+816 634
+internal_count del_count
+815 632
+internal_count del_count
+814 630
+internal_count del_count
+813 628
+internal_count del_count
+812 626
+internal_count del_count
+811 624
+internal_count del_count
+810 622
+internal_count del_count
+809 620
+internal_count del_count
+808 618
+internal_count del_count
+807 616
+internal_count del_count
+806 614
+internal_count del_count
+805 612
+internal_count del_count
+804 610
+internal_count del_count
+803 608
+internal_count del_count
+802 606
+internal_count del_count
+801 604
+internal_count del_count
+800 602
+internal_count del_count
+799 600
+internal_count del_count
+798 598
+internal_count del_count
+797 596
+internal_count del_count
+796 594
+internal_count del_count
+795 592
+internal_count del_count
+794 590
+internal_count del_count
+793 588
+internal_count del_count
+792 586
+internal_count del_count
+791 584
+internal_count del_count
+790 582
+internal_count del_count
+789 580
+internal_count del_count
+788 578
+internal_count del_count
+787 576
+internal_count del_count
+786 574
+internal_count del_count
+785 572
+internal_count del_count
+784 570
+internal_count del_count
+783 568
+internal_count del_count
+782 566
+internal_count del_count
+781 564
+internal_count del_count
+780 562
+internal_count del_count
+779 560
+internal_count del_count
+778 558
+internal_count del_count
+777 556
+internal_count del_count
+776 554
+internal_count del_count
+775 552
+internal_count del_count
+774 550
+internal_count del_count
+773 548
+internal_count del_count
+772 546
+internal_count del_count
+771 544
+internal_count del_count
+770 542
+internal_count del_count
+769 540
+internal_count del_count
+768 538
+internal_count del_count
+767 536
+internal_count del_count
+766 534
+internal_count del_count
+765 532
+internal_count del_count
+764 530
+internal_count del_count
+763 528
+internal_count del_count
+762 526
+internal_count del_count
+761 524
+internal_count del_count
+760 522
+internal_count del_count
+759 520
+internal_count del_count
+758 518
+internal_count del_count
+757 516
+internal_count del_count
+756 514
+internal_count del_count
+755 512
+internal_count del_count
+754 510
+internal_count del_count
+753 508
+internal_count del_count
+752 506
+internal_count del_count
+751 504
+internal_count del_count
+750 502
+internal_count del_count
+749 500
+internal_count del_count
+748 498
+internal_count del_count
+747 496
+internal_count del_count
+746 494
+internal_count del_count
+745 492
+internal_count del_count
+744 490
+internal_count del_count
+743 488
+internal_count del_count
+742 486
+internal_count del_count
+741 484
+internal_count del_count
+740 482
+internal_count del_count
+739 480
+internal_count del_count
+738 478
+internal_count del_count
+737 476
+internal_count del_count
+736 474
+internal_count del_count
+735 472
+internal_count del_count
+734 470
+internal_count del_count
+733 468
+internal_count del_count
+732 466
+internal_count del_count
+731 464
+internal_count del_count
+730 462
+internal_count del_count
+729 460
+internal_count del_count
+728 458
+internal_count del_count
+727 456
+internal_count del_count
+726 454
+internal_count del_count
+725 452
+internal_count del_count
+724 450
+internal_count del_count
+723 448
+internal_count del_count
+722 446
+internal_count del_count
+721 444
+internal_count del_count
+720 442
+internal_count del_count
+719 440
+internal_count del_count
+718 438
+internal_count del_count
+717 436
+internal_count del_count
+716 434
+internal_count del_count
+715 432
+internal_count del_count
+714 430
+internal_count del_count
+713 428
+internal_count del_count
+712 426
+internal_count del_count
+711 424
+internal_count del_count
+710 422
+internal_count del_count
+709 420
+internal_count del_count
+708 418
+internal_count del_count
+707 416
+internal_count del_count
+706 414
+internal_count del_count
+705 412
+internal_count del_count
+704 410
+internal_count del_count
+703 408
+internal_count del_count
+702 406
+internal_count del_count
+701 404
+internal_count del_count
+700 402
+internal_count del_count
+699 400
+internal_count del_count
+698 398
+internal_count del_count
+697 396
+internal_count del_count
+696 394
+internal_count del_count
+695 392
+internal_count del_count
+694 390
+internal_count del_count
+693 388
+internal_count del_count
+692 386
+internal_count del_count
+691 384
+internal_count del_count
+690 382
+internal_count del_count
+689 380
+internal_count del_count
+688 378
+internal_count del_count
+687 376
+internal_count del_count
+686 374
+internal_count del_count
+685 372
+internal_count del_count
+684 370
+internal_count del_count
+683 368
+internal_count del_count
+682 366
+internal_count del_count
+681 364
+internal_count del_count
+680 362
+internal_count del_count
+679 360
+internal_count del_count
+678 358
+internal_count del_count
+677 356
+internal_count del_count
+676 354
+internal_count del_count
+675 352
+internal_count del_count
+674 350
+internal_count del_count
+673 348
+internal_count del_count
+672 346
+internal_count del_count
+671 344
+internal_count del_count
+670 342
+internal_count del_count
+669 340
+internal_count del_count
+668 338
+internal_count del_count
+667 336
+internal_count del_count
+666 334
+internal_count del_count
+665 332
+internal_count del_count
+664 330
+internal_count del_count
+663 328
+internal_count del_count
+662 326
+internal_count del_count
+661 324
+internal_count del_count
+660 322
+internal_count del_count
+659 320
+internal_count del_count
+658 318
+internal_count del_count
+657 316
+internal_count del_count
+656 314
+internal_count del_count
+655 312
+internal_count del_count
+654 310
+internal_count del_count
+653 308
+internal_count del_count
+652 306
+internal_count del_count
+651 304
+internal_count del_count
+650 302
+internal_count del_count
+649 300
+internal_count del_count
+648 298
+internal_count del_count
+647 296
+internal_count del_count
+646 294
+internal_count del_count
+645 292
+internal_count del_count
+644 290
+internal_count del_count
+643 288
+internal_count del_count
+642 286
+internal_count del_count
+641 284
+internal_count del_count
+640 282
+internal_count del_count
+639 280
+internal_count del_count
+638 278
+internal_count del_count
+637 276
+internal_count del_count
+636 274
+internal_count del_count
+635 272
+internal_count del_count
+634 270
+internal_count del_count
+633 268
+internal_count del_count
+632 266
+internal_count del_count
+631 264
+internal_count del_count
+630 262
+internal_count del_count
+629 260
+internal_count del_count
+628 258
+internal_count del_count
+627 256
+internal_count del_count
+626 254
+internal_count del_count
+625 252
+internal_count del_count
+624 250
+internal_count del_count
+623 248
+internal_count del_count
+622 246
+internal_count del_count
+621 244
+internal_count del_count
+620 242
+internal_count del_count
+619 240
+internal_count del_count
+618 238
+internal_count del_count
+617 236
+internal_count del_count
+616 234
+internal_count del_count
+615 232
+internal_count del_count
+614 230
+internal_count del_count
+613 228
+internal_count del_count
+612 226
+internal_count del_count
+611 224
+internal_count del_count
+610 222
+internal_count del_count
+609 220
+internal_count del_count
+608 218
+internal_count del_count
+607 216
+internal_count del_count
+606 214
+internal_count del_count
+605 212
+internal_count del_count
+604 210
+internal_count del_count
+603 208
+internal_count del_count
+602 206
+internal_count del_count
+601 204
+internal_count del_count
+600 202
+internal_count del_count
+599 200
+internal_count del_count
+598 198
+internal_count del_count
+597 196
+internal_count del_count
+596 194
+internal_count del_count
+595 192
+internal_count del_count
+594 190
+internal_count del_count
+593 188
+internal_count del_count
+592 186
+internal_count del_count
+591 184
+internal_count del_count
+590 182
+internal_count del_count
+589 180
+internal_count del_count
+588 178
+internal_count del_count
+587 176
+internal_count del_count
+586 174
+internal_count del_count
+585 172
+internal_count del_count
+584 170
+internal_count del_count
+583 168
+internal_count del_count
+582 166
+internal_count del_count
+581 164
+internal_count del_count
+580 162
+internal_count del_count
+579 160
+internal_count del_count
+578 158
+internal_count del_count
+577 156
+internal_count del_count
+576 154
+internal_count del_count
+575 152
+internal_count del_count
+574 150
+internal_count del_count
+573 148
+internal_count del_count
+572 146
+internal_count del_count
+571 144
+internal_count del_count
+570 142
+internal_count del_count
+569 140
+internal_count del_count
+568 138
+internal_count del_count
+567 136
+internal_count del_count
+566 134
+internal_count del_count
+565 132
+internal_count del_count
+564 130
+internal_count del_count
+563 128
+internal_count del_count
+562 126
+internal_count del_count
+561 124
+internal_count del_count
+560 122
+internal_count del_count
+559 120
+internal_count del_count
+558 118
+internal_count del_count
+557 116
+internal_count del_count
+556 114
+internal_count del_count
+555 112
+internal_count del_count
+554 110
+internal_count del_count
+553 108
+internal_count del_count
+552 106
+internal_count del_count
+551 104
+internal_count del_count
+550 102
+internal_count del_count
+549 100
+internal_count del_count
+548 98
+internal_count del_count
+547 96
+internal_count del_count
+546 94
+internal_count del_count
+545 92
+internal_count del_count
+544 90
+internal_count del_count
+543 88
+internal_count del_count
+542 86
+internal_count del_count
+541 84
+internal_count del_count
+540 82
+internal_count del_count
+539 80
+internal_count del_count
+538 78
+internal_count del_count
+537 76
+internal_count del_count
+536 74
+internal_count del_count
+535 72
+internal_count del_count
+534 70
+internal_count del_count
+533 68
+internal_count del_count
+532 66
+internal_count del_count
+531 64
+internal_count del_count
+530 62
+internal_count del_count
+529 60
+internal_count del_count
+528 58
+internal_count del_count
+527 56
+internal_count del_count
+526 54
+internal_count del_count
+525 52
+internal_count del_count
+524 50
+internal_count del_count
+523 48
+internal_count del_count
+522 46
+internal_count del_count
+521 44
+internal_count del_count
+520 42
+internal_count del_count
+519 40
+internal_count del_count
+518 38
+internal_count del_count
+517 36
+internal_count del_count
+516 34
+internal_count del_count
+515 32
+internal_count del_count
+514 30
+internal_count del_count
+513 28
+internal_count del_count
+512 26
+internal_count del_count
+511 24
+internal_count del_count
+510 22
+internal_count del_count
+509 20
+internal_count del_count
+508 18
+internal_count del_count
+507 16
+internal_count del_count
+506 14
+internal_count del_count
+505 12
+internal_count del_count
+504 10
+internal_count del_count
+503 8
+internal_count del_count
+502 6
+internal_count del_count
+501 4
+internal_count del_count
+500 2
+select count(*) as Part from test.part_tbl;
+Part
+500
+DROP PROCEDURE test.proc_part;
+DROP TABLE test.part_tbl;
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 7100e5cbe9c..f8220ca25d3 100644
--- a/mysql-test/suite/rpl/r/rpl_innodb_mixed_dml.result
+++ b/mysql-test/suite/rpl/r/rpl_innodb_mixed_dml.result
@@ -41,26 +41,26 @@ DELETE FROM t2 WHERE b <> UUID();
SELECT COUNT(*) FROM t1;
COUNT(*)
1
-SELECT * FROM t1;
+SELECT * FROM t1 ORDER BY a;
a b
2 t1, text 2
SELECT COUNT(*) FROM t2;
COUNT(*)
0
-SELECT * FROM t2;
+SELECT * FROM t2 ORDER BY a;
a b
==========SLAVE===========
USE test_rpl;
SELECT COUNT(*) FROM t1;
COUNT(*)
1
-SELECT * FROM t1;
+SELECT * FROM t1 ORDER BY a;
a b
2 t1, text 2
SELECT COUNT(*) FROM t2;
COUNT(*)
0
-SELECT * FROM t2;
+SELECT * FROM t2 ORDER BY a;
a b
DELETE FROM t1;
DELETE FROM t2;
@@ -76,13 +76,13 @@ DELETE FROM t2 WHERE a = 2;
SELECT COUNT(*) FROM t1;
COUNT(*)
1
-SELECT * FROM t1;
+SELECT * FROM t1 ORDER BY a;
a b
1 t1, text 1
SELECT COUNT(*) FROM t2;
COUNT(*)
1
-SELECT * FROM t2;
+SELECT * FROM t2 ORDER BY a;
a b
1 t2, text 1
==========SLAVE===========
@@ -90,21 +90,21 @@ USE test_rpl;
SELECT COUNT(*) FROM t1;
COUNT(*)
1
-SELECT * FROM t1;
+SELECT * FROM t1 ORDER BY a;
a b
1 t1, text 1
SELECT COUNT(*) FROM t2;
COUNT(*)
1
-SELECT * FROM t2;
+SELECT * FROM t2 ORDER BY a;
a b
1 t2, text 1
DELETE FROM t1;
DELETE FROM t2;
******************** LOAD DATA INFILE ********************
-LOAD DATA INFILE '../../suite/rpl/data/rpl_mixed.dat' INTO TABLE t1 FIELDS TERMINATED BY '|' ;
-SELECT * FROM t1;
+LOAD DATA INFILE '../tmp/rpl_mixed.dat' INTO TABLE t1 FIELDS TERMINATED BY '|' ;
+SELECT * FROM t1 ORDER BY a;
a b
10 line A
20 line B
@@ -113,7 +113,7 @@ a b
SELECT COUNT(*) FROM t1;
COUNT(*)
3
-SELECT * FROM t1;
+SELECT * FROM t1 ORDER BY a;
a b
10 line A
20 line B
@@ -121,14 +121,14 @@ a b
SELECT COUNT(*) FROM t2;
COUNT(*)
0
-SELECT * FROM t2;
+SELECT * FROM t2 ORDER BY a;
a b
==========SLAVE===========
USE test_rpl;
SELECT COUNT(*) FROM t1;
COUNT(*)
3
-SELECT * FROM t1;
+SELECT * FROM t1 ORDER BY a;
a b
10 line A
20 line B
@@ -136,7 +136,7 @@ a b
SELECT COUNT(*) FROM t2;
COUNT(*)
0
-SELECT * FROM t2;
+SELECT * FROM t2 ORDER BY a;
a b
DELETE FROM t1;
DELETE FROM t2;
@@ -153,35 +153,35 @@ DELETE FROM t1 WHERE a = 2;
SELECT COUNT(*) FROM t1;
COUNT(*)
2
-SELECT * FROM t1;
+SELECT * FROM t1 ORDER BY a;
a b
1 t1, text 11
3 t1, text 33
SELECT COUNT(*) FROM t2;
COUNT(*)
0
-SELECT * FROM t2;
+SELECT * FROM t2 ORDER BY a;
a b
==========SLAVE===========
USE test_rpl;
SELECT COUNT(*) FROM t1;
COUNT(*)
2
-SELECT * FROM t1;
+SELECT * FROM t1 ORDER BY a;
a b
1 t1, text 11
3 t1, text 33
SELECT COUNT(*) FROM t2;
COUNT(*)
0
-SELECT * FROM t2;
+SELECT * FROM t2 ORDER BY a;
a b
DELETE FROM t1;
DELETE FROM t2;
******************** SELECT ********************
INSERT INTO t1 VALUES(1, 't1, text 1');
-SELECT * FROM t1 WHERE b <> UUID();
+SELECT * FROM t1 WHERE b <> UUID() ORDER BY a;
a b
1 t1, text 1
DELETE FROM t1;
@@ -192,11 +192,11 @@ INSERT INTO t1 VALUES(1, 'CCC');
INSERT INTO t1 VALUES(2, 'DDD');
INSERT INTO t2 VALUES(1, 'DDD');
INSERT INTO t2 VALUES(2, 'CCC');
-SELECT * FROM t1 LEFT JOIN t2 ON t1.a = t2.a;
+SELECT * FROM t1 LEFT JOIN t2 ON t1.a = t2.a ORDER BY t1.a,t2.a;
a b a b
1 CCC 1 DDD
2 DDD 2 CCC
-SELECT * FROM t1 INNER JOIN t2 ON t1.b = t2.b;
+SELECT * FROM t1 INNER JOIN t2 ON t1.b = t2.b ORDER BY t1.a,t2.a;
a b a b
1 CCC 2 CCC
2 DDD 1 DDD
@@ -219,50 +219,50 @@ INSERT INTO t1 VALUES(1, 't1, text 1');
SELECT COUNT(*) FROM t1;
COUNT(*)
1
-SELECT * FROM t1;
+SELECT * FROM t1 ORDER BY a;
a b
1 t1, text 1
SELECT COUNT(*) FROM t2;
COUNT(*)
0
-SELECT * FROM t2;
+SELECT * FROM t2 ORDER BY a;
a b
==========SLAVE===========
USE test_rpl;
SELECT COUNT(*) FROM t1;
COUNT(*)
1
-SELECT * FROM t1;
+SELECT * FROM t1 ORDER BY a;
a b
1 t1, text 1
SELECT COUNT(*) FROM t2;
COUNT(*)
0
-SELECT * FROM t2;
+SELECT * FROM t2 ORDER BY a;
a b
TRUNCATE t1;
==========MASTER==========
SELECT COUNT(*) FROM t1;
COUNT(*)
0
-SELECT * FROM t1;
+SELECT * FROM t1 ORDER BY a;
a b
SELECT COUNT(*) FROM t2;
COUNT(*)
0
-SELECT * FROM t2;
+SELECT * FROM t2 ORDER BY a;
a b
==========SLAVE===========
USE test_rpl;
SELECT COUNT(*) FROM t1;
COUNT(*)
0
-SELECT * FROM t1;
+SELECT * FROM t1 ORDER BY a;
a b
SELECT COUNT(*) FROM t2;
COUNT(*)
0
-SELECT * FROM t2;
+SELECT * FROM t2 ORDER BY a;
a b
DELETE FROM t1;
DELETE FROM t2;
@@ -275,13 +275,13 @@ UPDATE t1 SET b = 't1, text 1 updated' WHERE a = 1;
SELECT COUNT(*) FROM t1;
COUNT(*)
1
-SELECT * FROM t1;
+SELECT * FROM t1 ORDER BY a;
a b
1 t1, text 1 updated
SELECT COUNT(*) FROM t2;
COUNT(*)
1
-SELECT * FROM t2;
+SELECT * FROM t2 ORDER BY a;
a b
1 t2, text 1
==========SLAVE===========
@@ -289,13 +289,13 @@ USE test_rpl;
SELECT COUNT(*) FROM t1;
COUNT(*)
1
-SELECT * FROM t1;
+SELECT * FROM t1 ORDER BY a;
a b
1 t1, text 1 updated
SELECT COUNT(*) FROM t2;
COUNT(*)
1
-SELECT * FROM t2;
+SELECT * FROM t2 ORDER BY a;
a b
1 t2, text 1
UPDATE t1, t2 SET t1.b = 'test', t2.b = 'test';
@@ -303,13 +303,13 @@ UPDATE t1, t2 SET t1.b = 'test', t2.b = 'test';
SELECT COUNT(*) FROM t1;
COUNT(*)
1
-SELECT * FROM t1;
+SELECT * FROM t1 ORDER BY a;
a b
1 test
SELECT COUNT(*) FROM t2;
COUNT(*)
1
-SELECT * FROM t2;
+SELECT * FROM t2 ORDER BY a;
a b
1 test
==========SLAVE===========
@@ -317,13 +317,13 @@ USE test_rpl;
SELECT COUNT(*) FROM t1;
COUNT(*)
1
-SELECT * FROM t1;
+SELECT * FROM t1 ORDER BY a;
a b
1 test
SELECT COUNT(*) FROM t2;
COUNT(*)
1
-SELECT * FROM t2;
+SELECT * FROM t2 ORDER BY a;
a b
1 test
DELETE FROM t1;
@@ -349,26 +349,26 @@ COMMIT;
SELECT COUNT(*) FROM t1;
COUNT(*)
1
-SELECT * FROM t1;
+SELECT * FROM t1 ORDER BY a;
a b
1 start
SELECT COUNT(*) FROM t2;
COUNT(*)
0
-SELECT * FROM t2;
+SELECT * FROM t2 ORDER BY a;
a b
==========SLAVE===========
USE test_rpl;
SELECT COUNT(*) FROM t1;
COUNT(*)
1
-SELECT * FROM t1;
+SELECT * FROM t1 ORDER BY a;
a b
1 start
SELECT COUNT(*) FROM t2;
COUNT(*)
0
-SELECT * FROM t2;
+SELECT * FROM t2 ORDER BY a;
a b
START TRANSACTION;
INSERT INTO t1 VALUES (2, 'rollback');
@@ -377,26 +377,26 @@ ROLLBACK;
SELECT COUNT(*) FROM t1;
COUNT(*)
1
-SELECT * FROM t1;
+SELECT * FROM t1 ORDER BY a;
a b
1 start
SELECT COUNT(*) FROM t2;
COUNT(*)
0
-SELECT * FROM t2;
+SELECT * FROM t2 ORDER BY a;
a b
==========SLAVE===========
USE test_rpl;
SELECT COUNT(*) FROM t1;
COUNT(*)
1
-SELECT * FROM t1;
+SELECT * FROM t1 ORDER BY a;
a b
1 start
SELECT COUNT(*) FROM t2;
COUNT(*)
0
-SELECT * FROM t2;
+SELECT * FROM t2 ORDER BY a;
a b
START TRANSACTION;
INSERT INTO t1 VALUES (3, 'before savepoint s1');
@@ -407,27 +407,27 @@ ROLLBACK TO SAVEPOINT s1;
SELECT COUNT(*) FROM t1;
COUNT(*)
2
-SELECT * FROM t1;
+SELECT * FROM t1 ORDER BY a;
a b
1 start
3 before savepoint s1
SELECT COUNT(*) FROM t2;
COUNT(*)
0
-SELECT * FROM t2;
+SELECT * FROM t2 ORDER BY a;
a b
==========SLAVE===========
USE test_rpl;
SELECT COUNT(*) FROM t1;
COUNT(*)
1
-SELECT * FROM t1;
+SELECT * FROM t1 ORDER BY a;
a b
1 start
SELECT COUNT(*) FROM t2;
COUNT(*)
0
-SELECT * FROM t2;
+SELECT * FROM t2 ORDER BY a;
a b
START TRANSACTION;
INSERT INTO t1 VALUES (5, 'before savepoint s2');
@@ -441,7 +441,7 @@ DELETE FROM t1 WHERE a = 7;
SELECT COUNT(*) FROM t1;
COUNT(*)
4
-SELECT * FROM t1;
+SELECT * FROM t1 ORDER BY a;
a b
1 start
3 before savepoint s1
@@ -450,14 +450,14 @@ a b
SELECT COUNT(*) FROM t2;
COUNT(*)
0
-SELECT * FROM t2;
+SELECT * FROM t2 ORDER BY a;
a b
==========SLAVE===========
USE test_rpl;
SELECT COUNT(*) FROM t1;
COUNT(*)
4
-SELECT * FROM t1;
+SELECT * FROM t1 ORDER BY a;
a b
1 start
3 before savepoint s1
@@ -466,7 +466,7 @@ a b
SELECT COUNT(*) FROM t2;
COUNT(*)
0
-SELECT * FROM t2;
+SELECT * FROM t2 ORDER BY a;
a b
DELETE FROM t1;
DELETE FROM t2;
@@ -610,28 +610,28 @@ DELETE FROM t1 WHERE a = 202;
SELECT COUNT(*) FROM t1;
COUNT(*)
2
-SELECT * FROM t1;
+SELECT * FROM t1 ORDER BY a;
a b
100 test
201 test
SELECT COUNT(*) FROM t2;
COUNT(*)
0
-SELECT * FROM t2;
+SELECT * FROM t2 ORDER BY a;
a b
==========SLAVE===========
USE test_rpl;
SELECT COUNT(*) FROM t1;
COUNT(*)
2
-SELECT * FROM t1;
+SELECT * FROM t1 ORDER BY a;
a b
100 test
201 test
SELECT COUNT(*) FROM t2;
COUNT(*)
0
-SELECT * FROM t2;
+SELECT * FROM t2 ORDER BY a;
a b
ALTER PROCEDURE p1 COMMENT 'p1';
DROP PROCEDURE p1;
@@ -649,13 +649,13 @@ INSERT INTO t1 VALUES (1, 'test');
SELECT COUNT(*) FROM t1;
COUNT(*)
1
-SELECT * FROM t1;
+SELECT * FROM t1 ORDER BY a;
a b
1 test
SELECT COUNT(*) FROM t2;
COUNT(*)
1
-SELECT * FROM t2;
+SELECT * FROM t2 ORDER BY a;
a b
1 test
==========SLAVE===========
@@ -663,13 +663,13 @@ USE test_rpl;
SELECT COUNT(*) FROM t1;
COUNT(*)
1
-SELECT * FROM t1;
+SELECT * FROM t1 ORDER BY a;
a b
1 test
SELECT COUNT(*) FROM t2;
COUNT(*)
1
-SELECT * FROM t2;
+SELECT * FROM t2 ORDER BY a;
a b
1 test
DELETE FROM t1;
@@ -683,106 +683,106 @@ INSERT INTO t1 VALUES(1, 'test1');
CREATE EVENT e1 ON SCHEDULE EVERY '1' SECOND COMMENT 'e_second_comment' DO DELETE FROM t1;
==========MASTER==========
SHOW EVENTS;
-Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator
-test_rpl e1 root@localhost SYSTEM RECURRING NULL 1 # # NULL ENABLED 1
+Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
+test_rpl e1 root@localhost SYSTEM RECURRING NULL 1 # # NULL ENABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
==========SLAVE===========
USE test_rpl;
SHOW EVENTS;
-Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator
-test_rpl e1 @ SYSTEM RECURRING NULL 1 # # NULL SLAVESIDE_DISABLED 1
+Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
+test_rpl e1 @ SYSTEM RECURRING NULL 1 # # NULL SLAVESIDE_DISABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
==========MASTER==========
SELECT COUNT(*) FROM t1;
COUNT(*)
1
-SELECT * FROM t1;
+SELECT * FROM t1 ORDER BY a;
a b
1 test1
SELECT COUNT(*) FROM t2;
COUNT(*)
0
-SELECT * FROM t2;
+SELECT * FROM t2 ORDER BY a;
a b
==========SLAVE===========
USE test_rpl;
SELECT COUNT(*) FROM t1;
COUNT(*)
1
-SELECT * FROM t1;
+SELECT * FROM t1 ORDER BY a;
a b
1 test1
SELECT COUNT(*) FROM t2;
COUNT(*)
0
-SELECT * FROM t2;
+SELECT * FROM t2 ORDER BY a;
a b
==========MASTER==========
SELECT COUNT(*) FROM t1;
COUNT(*)
1
-SELECT * FROM t1;
+SELECT * FROM t1 ORDER BY a;
a b
1 test1
SELECT COUNT(*) FROM t2;
COUNT(*)
0
-SELECT * FROM t2;
+SELECT * FROM t2 ORDER BY a;
a b
==========SLAVE===========
USE test_rpl;
SELECT COUNT(*) FROM t1;
COUNT(*)
1
-SELECT * FROM t1;
+SELECT * FROM t1 ORDER BY a;
a b
1 test1
SELECT COUNT(*) FROM t2;
COUNT(*)
0
-SELECT * FROM t2;
+SELECT * FROM t2 ORDER BY a;
a b
ALTER EVENT e1 RENAME TO e2;
==========MASTER==========
SHOW EVENTS;
-Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator
-test_rpl e2 root@localhost SYSTEM RECURRING NULL 1 # # NULL ENABLED 1
+Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
+test_rpl e2 root@localhost SYSTEM RECURRING NULL 1 # # NULL ENABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
==========SLAVE===========
USE test_rpl;
SHOW EVENTS;
-Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator
-test_rpl e2 @ SYSTEM RECURRING NULL 1 # # NULL SLAVESIDE_DISABLED 1
+Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
+test_rpl e2 @ SYSTEM RECURRING NULL 1 # # NULL SLAVESIDE_DISABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
==========MASTER==========
SELECT COUNT(*) FROM t1;
COUNT(*)
1
-SELECT * FROM t1;
+SELECT * FROM t1 ORDER BY a;
a b
1 test1
SELECT COUNT(*) FROM t2;
COUNT(*)
0
-SELECT * FROM t2;
+SELECT * FROM t2 ORDER BY a;
a b
==========SLAVE===========
USE test_rpl;
SELECT COUNT(*) FROM t1;
COUNT(*)
1
-SELECT * FROM t1;
+SELECT * FROM t1 ORDER BY a;
a b
1 test1
SELECT COUNT(*) FROM t2;
COUNT(*)
0
-SELECT * FROM t2;
+SELECT * FROM t2 ORDER BY a;
a b
DROP EVENT e2;
==========MASTER==========
SHOW EVENTS;
-Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator
+Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
==========SLAVE===========
USE test_rpl;
SHOW EVENTS;
-Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator
+Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
DELETE FROM t1;
DELETE FROM t2;
@@ -793,33 +793,33 @@ CREATE VIEW v1 AS SELECT * FROM t1 WHERE a = 1;
CREATE VIEW v2 AS SELECT * FROM t1 WHERE b <> UUID();
==========MASTER==========
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`a` AS `a`,`t1`.`b` AS `b` from `t1` where (`t1`.`a` = 1)
-SELECT * FROM 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`,`t1`.`b` AS `b` from `t1` where (`t1`.`a` = 1) latin1 latin1_swedish_ci
+SELECT * FROM v1 ORDER BY a;
a b
1 test1
==========SLAVE===========
USE test_rpl;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`a` AS `a`,`t1`.`b` AS `b` from `t1` where (`t1`.`a` = 1)
-SELECT * FROM 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`,`t1`.`b` AS `b` from `t1` where (`t1`.`a` = 1) latin1 latin1_swedish_ci
+SELECT * FROM v1 ORDER BY a;
a b
1 test1
ALTER VIEW v1 AS SELECT * FROM t1 WHERE a = 2;
==========MASTER==========
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`a` AS `a`,`t1`.`b` AS `b` from `t1` where (`t1`.`a` = 2)
-SELECT * FROM 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`,`t1`.`b` AS `b` from `t1` where (`t1`.`a` = 2) latin1 latin1_swedish_ci
+SELECT * FROM v1 ORDER BY a;
a b
2 test2
==========SLAVE===========
USE test_rpl;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`a` AS `a`,`t1`.`b` AS `b` from `t1` where (`t1`.`a` = 2)
-SELECT * FROM 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`,`t1`.`b` AS `b` from `t1` where (`t1`.`a` = 2) latin1 latin1_swedish_ci
+SELECT * FROM v1 ORDER BY a;
a b
2 test2
DROP VIEW v1;
@@ -835,108 +835,158 @@ master-bin.000001 # Format_desc 1 # Server ver: #
master-bin.000001 # Query 1 # CREATE DATABASE test_rpl
master-bin.000001 # Query 1 # use `test_rpl`; CREATE TABLE t1 (a int auto_increment not null, b char(254), PRIMARY KEY(a)) ENGINE=innodb
master-bin.000001 # Query 1 # use `test_rpl`; CREATE TABLE t2 (a int auto_increment not null, b char(254), PRIMARY KEY(a)) ENGINE=innodb
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; INSERT INTO t1 VALUES(1, 't1, text 1')
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; INSERT INTO t1 VALUES(2, 't1, text 2')
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; INSERT INTO t2 VALUES(1, 't2, text 1')
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; DELETE FROM t1 WHERE a = 1
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Table_map 1 # table_id: # (test_rpl.t2)
master-bin.000001 # Delete_rows 1 # table_id: # flags: STMT_END_F
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; DELETE FROM t1
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; DELETE FROM t2
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; INSERT INTO t1 VALUES(1, 't1, text 1')
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Table_map 1 # table_id: # (test_rpl.t1)
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; INSERT INTO t2 SELECT * FROM t1
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; INSERT INTO t2 VALUES (1, 't1, text 1') ON DUPLICATE KEY UPDATE b = 't2, text 1'
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; DELETE FROM t1 WHERE a = 2
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; DELETE FROM t2 WHERE a = 2
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; DELETE FROM t1
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; DELETE FROM t2
master-bin.000001 # Xid 1 # #
-master-bin.000001 # Begin_load_query 1 # ;file_id=1;block_len=30
-master-bin.000001 # Execute_load_query 1 # use `test_rpl`; LOAD DATA INFILE '../../suite/rpl/data/rpl_mixed.dat' INTO TABLE t1 FIELDS TERMINATED BY '|' ;file_id=1
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
+master-bin.000001 # Begin_load_query 1 # ;file_id=#;block_len=#
+master-bin.000001 # Execute_load_query 1 # use `test_rpl`; LOAD DATA INFILE '../tmp/rpl_mixed.dat' INTO TABLE t1 FIELDS TERMINATED BY '|' ;file_id=#
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; DELETE FROM t1
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; DELETE FROM t2
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; INSERT INTO t1 VALUES(1, 't1, text 1')
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; INSERT INTO t1 VALUES(2, 't1, text 2')
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; INSERT INTO t1 VALUES(3, 't1, text 3')
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; REPLACE INTO t1 VALUES(1, 't1, text 11')
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Table_map 1 # table_id: # (test_rpl.t1)
master-bin.000001 # Update_rows 1 # table_id: # flags: STMT_END_F
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; REPLACE INTO t1 SET a=3, b='t1, text 33'
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; DELETE FROM t1 WHERE a = 2
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; DELETE FROM t1
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; DELETE FROM t2
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; INSERT INTO t1 VALUES(1, 't1, text 1')
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; DELETE FROM t1
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; DELETE FROM t2
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; INSERT INTO t1 VALUES(1, 'CCC')
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; INSERT INTO t1 VALUES(2, 'DDD')
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; INSERT INTO t2 VALUES(1, 'DDD')
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; INSERT INTO t2 VALUES(2, 'CCC')
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; DELETE FROM t1
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; DELETE FROM t2
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; INSERT INTO t1 VALUES(1, 't1, text 1')
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; INSERT INTO t2 VALUES(1, 't2, text 1')
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; DELETE FROM t1
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; DELETE FROM t2
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; INSERT INTO t1 VALUES(1, 't1, text 1')
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; TRUNCATE t1
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; DELETE FROM t1
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; DELETE FROM t2
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; INSERT INTO t1 VALUES(1, 't1, text 1')
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; INSERT INTO t2 VALUES(1, 't2, text 1')
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; UPDATE t1 SET b = 't1, text 1 updated' WHERE a = 1
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; UPDATE t1, t2 SET t1.b = 'test', t2.b = 'test'
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; DELETE FROM t1
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; DELETE FROM t2
master-bin.000001 # Xid 1 # #
master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
@@ -952,10 +1002,13 @@ master-bin.000001 # Query 1 # use `test_rpl`; INSERT INTO t1 VALUES (6, 'after s
master-bin.000001 # Table_map 1 # table_id: # (test_rpl.t1)
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; DELETE FROM t1 WHERE a = 7
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; DELETE FROM t1
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; DELETE FROM t2
master-bin.000001 # Xid 1 # #
master-bin.000001 # Query 1 # use `test_rpl`; CREATE USER 'user_test_rpl'@'localhost' IDENTIFIED BY PASSWORD '*1111111111111111111111111111111111111111'
@@ -964,6 +1017,7 @@ master-bin.000001 # Query 1 # use `test_rpl`; REVOKE SELECT ON *.* FROM 'user_te
master-bin.000001 # Query 1 # use `test_rpl`; SET PASSWORD FOR 'user_test_rpl'@'localhost'='*0000000000000000000000000000000000000000'
master-bin.000001 # Query 1 # use `test_rpl`; RENAME USER 'user_test_rpl'@'localhost' TO 'user_test_rpl_2'@'localhost'
master-bin.000001 # Query 1 # use `test_rpl`; DROP USER 'user_test_rpl_2'@'localhost'
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; INSERT INTO t1 VALUES(100, 'test')
master-bin.000001 # Xid 1 # #
master-bin.000001 # Query 1 # use `test_rpl`; ANALYZE TABLE t1
@@ -977,52 +1031,65 @@ master-bin.000001 # Query 1 # use `test_rpl`; CREATE DEFINER=`root`@`localhost`
BEGIN
UPDATE t1 SET b = UUID() WHERE a = 202;
END
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; INSERT INTO t1 VALUES(201, 'test 201')
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; UPDATE t1 SET b = 'test' WHERE a = 201
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; INSERT INTO t1 VALUES(202, 'test 202')
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Table_map 1 # table_id: # (test_rpl.t1)
master-bin.000001 # Update_rows 1 # table_id: # flags: STMT_END_F
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; DELETE FROM t1 WHERE a = 202
master-bin.000001 # Xid 1 # #
master-bin.000001 # Query 1 # use `test_rpl`; ALTER PROCEDURE p1 COMMENT 'p1'
master-bin.000001 # Query 1 # use `test_rpl`; DROP PROCEDURE p1
master-bin.000001 # Query 1 # use `test_rpl`; DROP PROCEDURE p2
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; DELETE FROM t1
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; DELETE FROM t2
master-bin.000001 # Xid 1 # #
master-bin.000001 # Query 1 # use `test_rpl`; CREATE DEFINER=`root`@`localhost` TRIGGER tr1 BEFORE INSERT ON t1
FOR EACH ROW BEGIN
INSERT INTO t2 SET a = NEW.a, b = NEW.b;
END
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Table_map 1 # table_id: # (test_rpl.t1)
master-bin.000001 # Table_map 1 # table_id: # (test_rpl.t2)
master-bin.000001 # Write_rows 1 # table_id: #
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
master-bin.000001 # Xid 1 # #
-master-bin.000001 # Table_map 1 # table_id: # (test_rpl.t1)
-master-bin.000001 # Table_map 1 # table_id: # (test_rpl.t2)
-master-bin.000001 # Delete_rows 1 # table_id: # flags: STMT_END_F
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
+master-bin.000001 # Query 1 # use `test_rpl`; DELETE FROM t1
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; DELETE FROM t2
master-bin.000001 # Xid 1 # #
master-bin.000001 # Query 1 # use `test_rpl`; DROP TRIGGER tr1
master-bin.000001 # Query 1 # use `test_rpl`; GRANT EVENT ON *.* TO 'root'@'localhost'
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; INSERT INTO t1 VALUES(1, 'test1')
master-bin.000001 # Xid 1 # #
master-bin.000001 # Query 1 # use `test_rpl`; CREATE EVENT e1 ON SCHEDULE EVERY '1' SECOND COMMENT 'e_second_comment' DO DELETE FROM t1
master-bin.000001 # Query 1 # use `test_rpl`; ALTER EVENT e1 RENAME TO e2
master-bin.000001 # Query 1 # use `test_rpl`; DROP EVENT e2
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; DELETE FROM t1
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; DELETE FROM t2
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; INSERT INTO t1 VALUES(1, 'test1')
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; INSERT INTO t1 VALUES(2, 'test2')
master-bin.000001 # Xid 1 # #
master-bin.000001 # Query 1 # use `test_rpl`; CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS SELECT * FROM t1 WHERE a = 1
@@ -1030,8 +1097,10 @@ master-bin.000001 # Query 1 # use `test_rpl`; CREATE ALGORITHM=UNDEFINED DEFINER
master-bin.000001 # Query 1 # use `test_rpl`; ALTER ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS SELECT * FROM t1 WHERE a = 2
master-bin.000001 # Query 1 # use `test_rpl`; DROP VIEW v1
master-bin.000001 # Query 1 # use `test_rpl`; DROP VIEW v2
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; DELETE FROM t1
master-bin.000001 # Xid 1 # #
+master-bin.000001 # Query 1 # use `test_rpl`; BEGIN
master-bin.000001 # Query 1 # use `test_rpl`; DELETE FROM t2
master-bin.000001 # Xid 1 # #
drop database test_rpl;
diff --git a/mysql-test/suite/rpl/r/rpl_invoked_features.result b/mysql-test/suite/rpl/r/rpl_invoked_features.result
index 3bcef762497..be9169c785b 100644
--- a/mysql-test/suite/rpl/r/rpl_invoked_features.result
+++ b/mysql-test/suite/rpl/r/rpl_invoked_features.result
@@ -17,13 +17,13 @@ DROP EVENT IF EXISTS e11;
CREATE TABLE t1 (a INT NOT NULL PRIMARY KEY, b INT, c VARCHAR(64)) ENGINE=myisam;
INSERT INTO t1 VALUES (1,1,'1');
INSERT INTO t1 VALUES (2,2,UUID());
-CREATE TABLE t2 (a INT, b INT, c VARCHAR(64)) ENGINE=myisam;
+CREATE TABLE t2 (a INT UNIQUE, b INT, c VARCHAR(64)) ENGINE=myisam;
INSERT INTO t2 VALUES (1,1,'1');
INSERT INTO t2 VALUES (2,2,UUID());
CREATE TABLE t11 (a INT NOT NULL PRIMARY KEY, b INT, c VARCHAR(64)) ENGINE=innodb;
INSERT INTO t11 VALUES (1,1,'1');
INSERT INTO t11 VALUES (2,2,UUID());
-CREATE TABLE t12 (a INT, b INT, c VARCHAR(64)) ENGINE=innodb;
+CREATE TABLE t12 (a INT UNIQUE, b INT, c VARCHAR(64)) ENGINE=innodb;
INSERT INTO t12 VALUES (1,1,'1');
INSERT INTO t12 VALUES (2,2,UUID());
@@ -49,21 +49,15 @@ BEGIN
UPDATE t12 SET c = '';
UPDATE t13 SET c = '';
END|
-CREATE EVENT e1 ON SCHEDULE EVERY 1 SECOND ENABLE DO
+CREATE EVENT e1 ON SCHEDULE EVERY 1 SECOND DISABLE DO
BEGIN
-DECLARE c INT;
-SELECT a INTO c FROM t1 WHERE a < 11 ORDER BY a DESC LIMIT 1;
-IF c = 7 THEN
+ALTER EVENT e1 DISABLE;
CALL p1(10, '');
-END IF;
END|
-CREATE EVENT e11 ON SCHEDULE EVERY 1 SECOND ENABLE DO
+CREATE EVENT e11 ON SCHEDULE EVERY 1 SECOND DISABLE DO
BEGIN
-DECLARE c INT;
-SELECT a INTO c FROM t11 WHERE a < 11 ORDER BY a DESC LIMIT 1;
-IF c = 7 THEN
+ALTER EVENT e11 DISABLE;
CALL p11(10, '');
-END IF;
END|
CREATE FUNCTION f1 (x INT) RETURNS VARCHAR(64)
BEGIN
@@ -78,11 +72,11 @@ RETURN f1(x);
END|
CREATE PROCEDURE p1 (IN x INT, IN y VARCHAR(64))
BEGIN
-INSERT INTO t1 VALUES (x,x,y);
+INSERT IGNORE INTO t1 VALUES (x,x,y);
END|
CREATE PROCEDURE p11 (IN x INT, IN y VARCHAR(64))
BEGIN
-INSERT INTO t11 VALUES (x,x,y);
+INSERT IGNORE INTO t11 VALUES (x,x,y);
END|
CREATE TABLE t3 SELECT * FROM v1;
@@ -110,6 +104,8 @@ INSERT INTO t11 VALUES(7,7,f2(7));
INSERT INTO t11 VALUES (103,103,'');
SET GLOBAL EVENT_SCHEDULER = on;
+ALTER EVENT e1 ENABLE;
+ALTER EVENT e11 ENABLE;
SET GLOBAL EVENT_SCHEDULER = off;
SHOW TABLES LIKE 't%';
@@ -126,10 +122,10 @@ v1
v11
SELECT trigger_name, event_manipulation, event_object_table FROM information_schema.triggers WHERE trigger_schema='test';
trigger_name event_manipulation event_object_table
-t1_tr1 INSERT t1
-t1_tr2 UPDATE t1
t11_tr1 INSERT t11
t11_tr2 UPDATE t11
+t1_tr1 INSERT t1
+t1_tr2 UPDATE t1
SELECT routine_type, routine_name FROM information_schema.routines WHERE routine_schema='test';
routine_type routine_name
FUNCTION f1
@@ -138,8 +134,8 @@ PROCEDURE p1
PROCEDURE p11
SELECT event_name, status FROM information_schema.events WHERE event_schema='test';
event_name status
-e1 ENABLED
-e11 ENABLED
+e1 DISABLED
+e11 DISABLED
SELECT COUNT(*) FROM t1;
COUNT(*)
@@ -286,10 +282,10 @@ v1
v11
SELECT trigger_name, event_manipulation, event_object_table FROM information_schema.triggers WHERE trigger_schema='test';
trigger_name event_manipulation event_object_table
-t1_tr1 INSERT t1
-t1_tr2 UPDATE t1
t11_tr1 INSERT t11
t11_tr2 UPDATE t11
+t1_tr1 INSERT t1
+t1_tr2 UPDATE t1
SELECT routine_type, routine_name FROM information_schema.routines WHERE routine_schema='test';
routine_type routine_name
FUNCTION f1
@@ -438,6 +434,8 @@ UPDATE t3 SET c='';
UPDATE t11 SET c='';
UPDATE t12 SET c='';
UPDATE t13 SET c='';
+ALTER TABLE t3 ORDER BY a;
+ALTER TABLE t13 ORDER BY a;
diff --git a/mysql-test/suite/rpl/r/rpl_load_from_master.result b/mysql-test/suite/rpl/r/rpl_load_from_master.result
index 08b45ec1db0..e1c2ecb35be 100644
--- a/mysql-test/suite/rpl/r/rpl_load_from_master.result
+++ b/mysql-test/suite/rpl/r/rpl_load_from_master.result
@@ -30,13 +30,11 @@ drop database mysqltest2;
set sql_log_bin = 0;
create database mysqltest2;
create database mysqltest;
-show databases;
-Database
-information_schema
+show databases like 'mysql%';
+Database (mysql%)
mysql
mysqltest
mysqltest2
-test
create table mysqltest2.t1(n int, s char(20))ENGINE=MyISAM;
create table mysqltest2.t2(n int, s text)ENGINE=MyISAM;
insert into mysqltest2.t1 values (1, 'one'), (2, 'two'), (3, 'three');
@@ -47,11 +45,9 @@ insert into mysqltest.t1 values (1, 'one test'), (2, 'two test'), (3, 'three tes
insert into mysqltest.t2 values (11, 'eleven test'), (12, 'twelve test'),
(13, 'thirteen test');
set sql_log_bin = 1;
-show databases;
-Database
-information_schema
+show databases like 'mysql%';
+Database (mysql%)
mysql
-test
create database mysqltest2;
create table mysqltest2.t1(n int, s char(20))ENGINE=MyISAM;
insert into mysqltest2.t1 values (1, 'original foo.t1');
@@ -66,14 +62,12 @@ insert into mysqltest.t1 values (1, 'original bar.t1');
create table mysqltest.t3(n int, s char(20))ENGINE=MyISAM;
insert into mysqltest.t3 values (1, 'original bar.t3');
load data from master;
-show databases;
-Database
-information_schema
+show databases like 'mysql%';
+Database (mysql%)
mysql
mysqltest
mysqltest2
mysqltest3
-test
use mysqltest2;
show tables;
Tables_in_mysqltest2
diff --git a/mysql-test/suite/rpl/r/rpl_loaddata.result b/mysql-test/suite/rpl/r/rpl_loaddata.result
index b9bd2a22fd0..070c50db3d5 100644
--- a/mysql-test/suite/rpl/r/rpl_loaddata.result
+++ b/mysql-test/suite/rpl/r/rpl_loaddata.result
@@ -26,9 +26,6 @@ day id category name
2003-02-22 2461 b a a a @ %  ' " a
2003-03-22 2161 c asdf
2003-03-22 2416 a bbbbb
-show master status;
-File Position Binlog_Do_DB Binlog_Ignore_DB
-slave-bin.000001 1280
drop table t1;
drop table t2;
drop table t3;
diff --git a/mysql-test/suite/rpl/r/rpl_loaddata_fatal.result b/mysql-test/suite/rpl/r/rpl_loaddata_fatal.result
index 6c73c275ff0..a4d67754bd6 100644
--- a/mysql-test/suite/rpl/r/rpl_loaddata_fatal.result
+++ b/mysql-test/suite/rpl/r/rpl_loaddata_fatal.result
@@ -65,7 +65,7 @@ Replicate_Do_Table
Replicate_Ignore_Table #
Replicate_Wild_Do_Table
Replicate_Wild_Ignore_Table
-Last_Errno 1590
+Last_Errno 1593
Last_Error Fatal error: Not enough memory
Skip_Counter 0
Exec_Master_Log_Pos 325
@@ -83,7 +83,7 @@ Seconds_Behind_Master #
Master_SSL_Verify_Server_Cert No
Last_IO_Errno #
Last_IO_Error #
-Last_SQL_Errno 1590
+Last_SQL_Errno 1593
Last_SQL_Error Fatal error: Not enough memory
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
START SLAVE;
diff --git a/mysql-test/suite/rpl/r/rpl_loaddata_map.result b/mysql-test/suite/rpl/r/rpl_loaddata_map.result
new file mode 100644
index 00000000000..7078389c987
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_loaddata_map.result
@@ -0,0 +1,26 @@
+stop slave;
+drop table if exists t1,t2,t3,t4,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 t2 (id int not null primary key auto_increment);
+select @@session.read_buffer_size - @@session.max_allowed_packet > 0 ;
+@@session.read_buffer_size - @@session.max_allowed_packet > 0
+1
+load data infile 'MYSQLTEST_VARDIR/tmp/bug30435_5k.txt' into table t2;
+select count(*) from t2 /* 5 000 */;
+count(*)
+5000
+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 t2 (id int not null primary key auto_increment)
+master-bin.000002 # Begin_load_query # # ;file_id=#;block_len=#
+master-bin.000002 # Append_block # # ;file_id=#;block_len=#
+master-bin.000002 # Append_block # # ;file_id=#;block_len=#
+master-bin.000002 # Execute_load_query # # use `test`; load data infile 'MYSQLTEST_VARDIR/tmp/bug30435_5k.txt' into table t2 ;file_id=#
+select count(*) from t2 /* 5 000 */;
+count(*)
+5000
+drop table t1, t2;
+end of the tests
diff --git a/mysql-test/suite/rpl/r/rpl_log_pos.result b/mysql-test/suite/rpl/r/rpl_log_pos.result
index 0f3552af5bc..e0c4dedde10 100644
--- a/mysql-test/suite/rpl/r/rpl_log_pos.result
+++ b/mysql-test/suite/rpl/r/rpl_log_pos.result
@@ -6,7 +6,7 @@ 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 106 <Binlog_Ignore_DB>
+master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
stop slave;
change master to master_log_pos=75;
SHOW SLAVE STATUS;
@@ -16,7 +16,7 @@ Master_User root
Master_Port MASTER_PORT
Connect_Retry 1
Master_Log_File master-bin.000001
-Read_Master_Log_Pos 75
+Read_Master_Log_Pos #
Relay_Log_File #
Relay_Log_Pos #
Relay_Master_Log_File master-bin.000001
@@ -31,7 +31,7 @@ Replicate_Wild_Ignore_Table
Last_Errno 0
Last_Error
Skip_Counter 0
-Exec_Master_Log_Pos 75
+Exec_Master_Log_Pos #
Relay_Log_Space #
Until_Condition None
Until_Log_File
@@ -91,12 +91,12 @@ Last_SQL_Errno 0
Last_SQL_Error
show master status;
File Position Binlog_Do_DB Binlog_Ignore_DB
-master-bin.000001 106 <Binlog_Ignore_DB>
+master-bin.000001 # <Binlog_Do_DB> <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);
-change master to master_log_pos=106;
+change master to master_log_pos=4;
start slave;
select * from t1 ORDER BY n;
n
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 951e944fddc..edcae6e7506 100644
--- a/mysql-test/suite/rpl/r/rpl_master_pos_wait.result
+++ b/mysql-test/suite/rpl/r/rpl_master_pos_wait.result
@@ -11,8 +11,14 @@ explain extended select master_pos_wait('master-bin.999999',0,2);
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 master_pos_wait(_latin1'master-bin.999999',0,2) AS `master_pos_wait('master-bin.999999',0,2)`
+Note 1003 select master_pos_wait('master-bin.999999',0,2) AS `master_pos_wait('master-bin.999999',0,2)`
select master_pos_wait('master-bin.999999',0);
stop slave sql_thread;
master_pos_wait('master-bin.999999',0)
NULL
+"*** must be empty ***"
+show slave status;
+"*** must be NULL ***"
+select master_pos_wait('foo', 98);
+master_pos_wait('foo', 98)
+NULL
diff --git a/mysql-test/suite/rpl/r/rpl_packet.result b/mysql-test/suite/rpl/r/rpl_packet.result
index 981c234d380..dd56eb0471c 100644
--- a/mysql-test/suite/rpl/r/rpl_packet.result
+++ b/mysql-test/suite/rpl/r/rpl_packet.result
@@ -27,6 +27,42 @@ STOP SLAVE;
START SLAVE;
CREATE TABLe `t1` (`f1` LONGTEXT) ENGINE=MyISAM;
INSERT INTO `t1`(`f1`) VALUES ('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa2048');
-SHOW STATUS LIKE 'Slave_running';
-Variable_name Value
-Slave_running OFF
+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 No
+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 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
diff --git a/mysql-test/suite/rpl/r/rpl_ps.result b/mysql-test/suite/rpl/r/rpl_ps.result
index 73c36af4862..faba43ae934 100644
--- a/mysql-test/suite/rpl/r/rpl_ps.result
+++ b/mysql-test/suite/rpl/r/rpl_ps.result
@@ -26,5 +26,55 @@ from-master-2-'',
from-var-from-master-3
drop table t1;
stop slave;
+
+########################################################################
+#
+# BUG#25843: Changing default database between PREPARE and EXECUTE of
+# 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;
+
+
+# Connection: slave
+
+
+STOP SLAVE;
+
+########################################################################
reset master;
reset slave;
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 07426d80541..1c9d8701232 100644
--- a/mysql-test/suite/rpl/r/rpl_rbr_to_sbr.result
+++ b/mysql-test/suite/rpl/r/rpl_rbr_to_sbr.result
@@ -28,7 +28,7 @@ Master_User root
Master_Port MASTER_PORT
Connect_Retry 1
Master_Log_File master-bin.000001
-Read_Master_Log_Pos 454
+Read_Master_Log_Pos 457
Relay_Log_File #
Relay_Log_Pos #
Relay_Master_Log_File master-bin.000001
@@ -43,7 +43,7 @@ Replicate_Wild_Ignore_Table
Last_Errno 0
Last_Error
Skip_Counter 0
-Exec_Master_Log_Pos 454
+Exec_Master_Log_Pos 457
Relay_Log_Space #
Until_Condition None
Until_Log_File
diff --git a/mysql-test/suite/rpl/r/rpl_report.result b/mysql-test/suite/rpl/r/rpl_report.result
new file mode 100644
index 00000000000..e129d7c8f22
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_report.result
@@ -0,0 +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;
+select * from Information_schema.GLOBAL_VARIABLES where variable_name like 'report_host';
+VARIABLE_NAME VARIABLE_VALUE
+REPORT_HOST 127.0.0.1
+select * from Information_schema.GLOBAL_VARIABLES where variable_name like 'report_port';
+VARIABLE_NAME VARIABLE_VALUE
+REPORT_PORT 9308
+select * from Information_schema.GLOBAL_VARIABLES where variable_name like 'report_user';
+VARIABLE_NAME VARIABLE_VALUE
+REPORT_USER my_user
+select * from Information_schema.GLOBAL_VARIABLES where variable_name like 'report_password';
+VARIABLE_NAME VARIABLE_VALUE
+REPORT_PASSWORD my_password
+show global variables like 'report_host';
+Variable_name report_host
+Value 127.0.0.1
+show global variables like 'report_port';
+Variable_name report_port
+Value 9308
+show global variables like 'report_user';
+Variable_name report_user
+Value my_user
+show global variables like 'report_password';
+Variable_name report_password
+Value my_password
+set @@global.report_host='my.new.address.net';
+ERROR HY000: Variable 'report_host' is a read only variable
+end of tests
diff --git a/mysql-test/suite/rpl/r/rpl_rotate_logs.result b/mysql-test/suite/rpl/r/rpl_rotate_logs.result
index 2282067ddfd..6314a9a61fb 100644
--- a/mysql-test/suite/rpl/r/rpl_rotate_logs.result
+++ b/mysql-test/suite/rpl/r/rpl_rotate_logs.result
@@ -21,7 +21,7 @@ Master_User root
Master_Port MASTER_PORT
Connect_Retry 60
Master_Log_File master-bin.000001
-Read_Master_Log_Pos 556
+Read_Master_Log_Pos #
Relay_Log_File #
Relay_Log_Pos #
Relay_Master_Log_File master-bin.000001
@@ -36,7 +36,7 @@ Replicate_Wild_Ignore_Table
Last_Errno 0
Last_Error
Skip_Counter 0
-Exec_Master_Log_Pos 556
+Exec_Master_Log_Pos #
Relay_Log_Space #
Until_Condition None
Until_Log_File
@@ -63,9 +63,9 @@ insert into t2 values (34),(67),(123);
flush logs;
show binary logs;
Log_name File_size
-master-bin.000001 600
-master-bin.000002 371
-master-bin.000003 106
+master-bin.000001 #
+master-bin.000002 #
+master-bin.000003 #
create table t3 select * from temp_table;
select * from t3;
a
@@ -78,21 +78,22 @@ set global sql_slave_skip_counter=1;
start slave;
purge master logs to 'master-bin.000002';
show master logs;
-Log_name File_size
-master-bin.000002 371
-master-bin.000003 415
+Log_name master-bin.000002
+File_size #
+Log_name master-bin.000003
+File_size #
purge binary logs to 'master-bin.000002';
show binary logs;
Log_name File_size
-master-bin.000002 371
-master-bin.000003 415
+master-bin.000002 #
+master-bin.000003 #
select @time_for_purge:=DATE_ADD(UPDATE_TIME, INTERVAL 1 SECOND)
from information_schema.tables
where TABLE_SCHEMA="test" and TABLE_NAME="t2";
purge master logs before (@time_for_purge);
show binary logs;
Log_name File_size
-master-bin.000003 415
+master-bin.000003 #
insert into t2 values (65);
SHOW SLAVE STATUS;
Slave_IO_State #
@@ -101,7 +102,7 @@ Master_User root
Master_Port MASTER_PORT
Connect_Retry 60
Master_Log_File master-bin.000003
-Read_Master_Log_Pos 504
+Read_Master_Log_Pos #
Relay_Log_File #
Relay_Log_Pos #
Relay_Master_Log_File master-bin.000003
@@ -116,7 +117,7 @@ Replicate_Wild_Ignore_Table
Last_Errno 0
Last_Error
Skip_Counter 0
-Exec_Master_Log_Pos 504
+Exec_Master_Log_Pos #
Relay_Log_Space #
Until_Condition None
Until_Log_File
@@ -149,12 +150,12 @@ count(*)
create table t4 select * from temp_table;
show binary logs;
Log_name File_size
-master-bin.000003 4193
-master-bin.000004 4198
-master-bin.000005 2040
+master-bin.000003 #
+master-bin.000004 #
+master-bin.000005 #
show master status;
File Position Binlog_Do_DB Binlog_Ignore_DB
-master-bin.000005 2040
+master-bin.000005 # <Binlog_Do_DB> <Binlog_Ignore_DB>
select * from t4;
a
testing temporary tables part 2
@@ -165,7 +166,7 @@ Master_User root
Master_Port MASTER_PORT
Connect_Retry 60
Master_Log_File master-bin.000005
-Read_Master_Log_Pos 2040
+Read_Master_Log_Pos #
Relay_Log_File #
Relay_Log_Pos #
Relay_Master_Log_File master-bin.000005
@@ -180,7 +181,7 @@ Replicate_Wild_Ignore_Table
Last_Errno 0
Last_Error
Skip_Counter 0
-Exec_Master_Log_Pos 2040
+Exec_Master_Log_Pos #
Relay_Log_Space #
Until_Condition None
Until_Log_File
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 ca9ba023b1d..f49c23248e5 100644
--- a/mysql-test/suite/rpl/r/rpl_row_basic_11bugs.result
+++ b/mysql-test/suite/rpl/r/rpl_row_basic_11bugs.result
@@ -56,8 +56,8 @@ 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 192 use `test`; CREATE TABLE t1 (a INT)
-master-bin.000001 192 Table_map 1 231 table_id: # (test.t1)
-master-bin.000001 231 Write_rows 1 270 table_id: # flags: STMT_END_F
+master-bin.000001 192 Table_map 1 233 table_id: # (test.t1)
+master-bin.000001 233 Write_rows 1 272 table_id: # flags: STMT_END_F
DROP TABLE t1;
================ Test for BUG#17620 ================
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
@@ -242,3 +242,36 @@ 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;
+**** 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 ****
+UPDATE t1 SET a = 5, b = 'slave' WHERE a = 1;
+SELECT * FROM t1 ORDER BY a;
+a b
+2 master,slave
+5 slave
+set @@global.slave_exec_mode= 'IDEMPOTENT';
+**** On Master ****
+UPDATE t1 SET a = 5, b = 'master' WHERE a = 1;
+SELECT * FROM t1 ORDER BY a;
+a b
+2 master,slave
+5 master
+**** On Slave ****
+set @@global.slave_exec_mode= default;
+Last_SQL_Error
+
+SELECT * FROM t1 ORDER BY a;
+a b
+2 master,slave
+5 slave
+DROP TABLE t1;
+**** On Master ****
+DROP TABLE t1;
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 a6877b27b95..22284a26412 100644
--- a/mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result
+++ b/mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result
@@ -370,6 +370,7 @@ 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;
@@ -377,6 +378,7 @@ 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
@@ -406,8 +408,10 @@ a b c
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
@@ -415,4 +419,25 @@ a b c
2 4 8
3 6 9
99 99 99
+**** Test for BUG#31552 ****
+**** On Master ****
+DELETE FROM t1;
+**** Resetting master and slave ****
+STOP SLAVE;
+RESET SLAVE;
+RESET MASTER;
+START SLAVE;
+**** 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;
+Last_SQL_Error
+0
+SELECT COUNT(*) FROM t1 ORDER BY c1,c2;
+COUNT(*) 0
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7,t8;
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 4c6ec627db5..f7b9e5d627a 100644
--- a/mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result
+++ b/mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result
@@ -370,6 +370,7 @@ 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;
@@ -377,6 +378,7 @@ 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
@@ -406,8 +408,10 @@ a b c
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
@@ -415,4 +419,25 @@ a b c
2 4 8
3 6 9
99 99 99
+**** Test for BUG#31552 ****
+**** On Master ****
+DELETE FROM t1;
+**** Resetting master and slave ****
+STOP SLAVE;
+RESET SLAVE;
+RESET MASTER;
+START SLAVE;
+**** 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;
+Last_SQL_Error
+0
+SELECT COUNT(*) FROM t1 ORDER BY c1,c2;
+COUNT(*) 0
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7,t8;
diff --git a/mysql-test/suite/rpl/r/rpl_row_colSize.result b/mysql-test/suite/rpl/r/rpl_row_colSize.result
new file mode 100644
index 00000000000..6d002a722f1
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_row_colSize.result
@@ -0,0 +1,754 @@
+stop slave;
+drop table if exists t1,t2,t3,t4,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;
+**** Testing WL#3228 changes. ****
+*** Create "wider" table on slave ***
+Checking MYSQL_TYPE_NEWDECIMAL fields
+DROP TABLE IF EXISTS t1;
+Warnings:
+Note 1051 Unknown table 't1'
+STOP SLAVE;
+RESET SLAVE;
+CREATE TABLE t1 (a DECIMAL(5,2));
+CREATE TABLE t1 (a DECIMAL(20, 10));
+RESET MASTER;
+INSERT INTO t1 VALUES (901251.90125);
+START SLAVE;
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 1535
+Last_Error Table definition on master and slave does not match: Column 0 size mismatch - master has size 10, test.t1 on slave has size 3. Master's column size should be <= the slave's column size.
+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 #
+Last_IO_Error #
+Last_SQL_Errno 1535
+Last_SQL_Error Table definition on master and slave does not match: Column 0 size mismatch - master has size 10, test.t1 on slave has size 3. Master's column size should be <= the slave's column size.
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+0
+STOP SLAVE;
+RESET SLAVE;
+RESET MASTER;
+START SLAVE;
+DROP TABLE IF EXISTS t1;
+STOP SLAVE;
+RESET SLAVE;
+CREATE TABLE t1 (a DECIMAL(27, 9));
+CREATE TABLE t1 (a DECIMAL(27, 18));
+RESET MASTER;
+INSERT INTO t1 VALUES (901251.90125);
+START SLAVE;
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 1535
+Last_Error Table definition on master and slave does not match: Column 0 size mismatch - master has size 12, test.t1 on slave has size 12. Master's column size should be <= the slave's column size.
+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 #
+Last_IO_Error #
+Last_SQL_Errno 1535
+Last_SQL_Error Table definition on master and slave does not match: Column 0 size mismatch - master has size 12, test.t1 on slave has size 12. Master's column size should be <= the slave's column size.
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+0
+STOP SLAVE;
+RESET SLAVE;
+RESET MASTER;
+START SLAVE;
+DROP TABLE IF EXISTS t1;
+STOP SLAVE;
+RESET SLAVE;
+CREATE TABLE t1 (a NUMERIC(5,2));
+CREATE TABLE t1 (a NUMERIC(20, 10));
+RESET MASTER;
+INSERT INTO t1 VALUES (901251.90125);
+START SLAVE;
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 1535
+Last_Error Table definition on master and slave does not match: Column 0 size mismatch - master has size 10, test.t1 on slave has size 3. Master's column size should be <= the slave's column size.
+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 #
+Last_IO_Error #
+Last_SQL_Errno 1535
+Last_SQL_Error Table definition on master and slave does not match: Column 0 size mismatch - master has size 10, test.t1 on slave has size 3. Master's column size should be <= the slave's column size.
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+0
+STOP SLAVE;
+RESET SLAVE;
+RESET MASTER;
+START SLAVE;
+Checking MYSQL_TYPE_FLOAT fields
+DROP TABLE IF EXISTS t1;
+STOP SLAVE;
+RESET SLAVE;
+CREATE TABLE t1 (a FLOAT(20));
+CREATE TABLE t1 (a FLOAT(47));
+RESET MASTER;
+INSERT INTO t1 VALUES (901251.90125);
+START SLAVE;
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 1535
+Last_Error Table definition on master and slave does not match: Column 0 type mismatch - received type 5, test.t1 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 #
+Master_SSL_Verify_Server_Cert No
+Last_IO_Errno #
+Last_IO_Error #
+Last_SQL_Errno 1535
+Last_SQL_Error Table definition on master and slave does not match: Column 0 type mismatch - received type 5, test.t1 has type 4
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+0
+STOP SLAVE;
+RESET SLAVE;
+RESET MASTER;
+START SLAVE;
+Checking MYSQL_TYPE_BIT fields
+DROP TABLE IF EXISTS t1;
+STOP SLAVE;
+RESET SLAVE;
+CREATE TABLE t1 (a BIT(5));
+CREATE TABLE t1 (a BIT(64));
+RESET MASTER;
+INSERT INTO t1 VALUES (B'10101');
+START SLAVE;
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 1535
+Last_Error Table definition on master and slave does not match: Column 0 size mismatch - master has size 8, test.t1 on slave has size 1. Master's column size should be <= the slave's column size.
+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 #
+Last_IO_Error #
+Last_SQL_Errno 1535
+Last_SQL_Error Table definition on master and slave does not match: Column 0 size mismatch - master has size 8, test.t1 on slave has size 1. Master's column size should be <= the slave's column size.
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+0
+STOP SLAVE;
+RESET SLAVE;
+RESET MASTER;
+START SLAVE;
+DROP TABLE IF EXISTS t1;
+STOP SLAVE;
+RESET SLAVE;
+CREATE TABLE t1 (a BIT(11));
+CREATE TABLE t1 (a BIT(12));
+RESET MASTER;
+INSERT INTO t1 VALUES (B'10101');
+START SLAVE;
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 1535
+Last_Error Table definition on master and slave does not match: Column 0 size mismatch - master has size 2, test.t1 on slave has size 2. Master's column size should be <= the slave's column size.
+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 #
+Last_IO_Error #
+Last_SQL_Errno 1535
+Last_SQL_Error Table definition on master and slave does not match: Column 0 size mismatch - master has size 2, test.t1 on slave has size 2. Master's column size should be <= the slave's column size.
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+0
+STOP SLAVE;
+RESET SLAVE;
+RESET MASTER;
+START SLAVE;
+Checking MYSQL_TYPE_SET fields
+DROP TABLE IF EXISTS t1;
+STOP SLAVE;
+RESET SLAVE;
+CREATE TABLE t1 (a SET('4'));
+CREATE TABLE t1 (a SET('1','2','3','4','5','6','7','8','9'));
+RESET MASTER;
+INSERT INTO t1 VALUES ('4');
+START SLAVE;
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 1535
+Last_Error Table definition on master and slave does not match: Column 0 size mismatch - master has size 2, test.t1 on slave has size 1. Master's column size should be <= the slave's column size.
+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 #
+Last_IO_Error #
+Last_SQL_Errno 1535
+Last_SQL_Error Table definition on master and slave does not match: Column 0 size mismatch - master has size 2, test.t1 on slave has size 1. Master's column size should be <= the slave's column size.
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+0
+STOP SLAVE;
+RESET SLAVE;
+RESET MASTER;
+START SLAVE;
+Checking MYSQL_TYPE_STRING fields
+DROP TABLE IF EXISTS t1;
+STOP SLAVE;
+RESET SLAVE;
+CREATE TABLE t1 (a CHAR(10));
+CREATE TABLE t1 (a CHAR(20));
+RESET MASTER;
+INSERT INTO t1 VALUES ('This is a test.');
+START SLAVE;
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 1535
+Last_Error Table definition on master and slave does not match: Column 0 size mismatch - master has size 20, test.t1 on slave has size 11. Master's column size should be <= the slave's column size.
+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 #
+Last_IO_Error #
+Last_SQL_Errno 1535
+Last_SQL_Error Table definition on master and slave does not match: Column 0 size mismatch - master has size 20, test.t1 on slave has size 11. Master's column size should be <= the slave's column size.
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+0
+STOP SLAVE;
+RESET SLAVE;
+RESET MASTER;
+START SLAVE;
+Checking MYSQL_TYPE_ENUM fields
+DROP TABLE IF EXISTS t1;
+STOP SLAVE;
+RESET SLAVE;
+CREATE TABLE t1 (a ENUM('44','54'));
+CREATE TABLE t1 (a ENUM(
+'01','02','03','04','05','06','07','08','09',
+'11','12','13','14','15','16','17','18','19',
+'21','22','23','24','25','26','27','28','29',
+'31','32','33','34','35','36','37','38','39',
+'41','42','43','44','45','46','47','48','49',
+'51','52','53','54','55','56','57','58','59',
+'61','62','63','64','65','66','67','68','69',
+'71','72','73','74','75','76','77','78','79',
+'81','82','83','84','85','86','87','88','89',
+'91','92','93','94','95','96','97','98','99',
+'101','102','103','104','105','106','107','108','109',
+'111','112','113','114','115','116','117','118','119',
+'121','122','123','124','125','126','127','128','129',
+'131','132','133','134','135','136','137','138','139',
+'141','142','143','144','145','146','147','148','149',
+'151','152','153','154','155','156','157','158','159',
+'161','162','163','164','165','166','167','168','169',
+'171','172','173','174','175','176','177','178','179',
+'181','182','183','184','185','186','187','188','189',
+'191','192','193','194','195','196','197','198','199',
+'201','202','203','204','205','206','207','208','209',
+'211','212','213','214','215','216','217','218','219',
+'221','222','223','224','225','226','227','228','229',
+'231','232','233','234','235','236','237','238','239',
+'241','242','243','244','245','246','247','248','249',
+'251','252','253','254','255','256','257','258','259',
+'261','262','263','264','265','266','267','268','269',
+'271','272','273','274','275','276','277','278','279',
+'281','282','283','284','285','286','287','288','289',
+'291','292','293','294','295','296','297','298','299'
+ ));
+RESET MASTER;
+INSERT INTO t1 VALUES ('44');
+START SLAVE;
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 1535
+Last_Error Table definition on master and slave does not match: Column 0 size mismatch - master has size 2, test.t1 on slave has size 1. Master's column size should be <= the slave's column size.
+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 #
+Last_IO_Error #
+Last_SQL_Errno 1535
+Last_SQL_Error Table definition on master and slave does not match: Column 0 size mismatch - master has size 2, test.t1 on slave has size 1. Master's column size should be <= the slave's column size.
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+0
+STOP SLAVE;
+RESET SLAVE;
+RESET MASTER;
+START SLAVE;
+Checking MYSQL_TYPE_VARCHAR fields
+DROP TABLE IF EXISTS t1;
+STOP SLAVE;
+RESET SLAVE;
+CREATE TABLE t1 (a VARCHAR(100));
+CREATE TABLE t1 (a VARCHAR(2000));
+RESET MASTER;
+INSERT INTO t1 VALUES ('This is a test.');
+START SLAVE;
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 1535
+Last_Error Table definition on master and slave does not match: Column 0 size mismatch - master has size 2000, test.t1 on slave has size 100. Master's column size should be <= the slave's column size.
+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 #
+Last_IO_Error #
+Last_SQL_Errno 1535
+Last_SQL_Error Table definition on master and slave does not match: Column 0 size mismatch - master has size 2000, test.t1 on slave has size 100. Master's column size should be <= the slave's column size.
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+0
+STOP SLAVE;
+RESET SLAVE;
+RESET MASTER;
+START SLAVE;
+DROP TABLE IF EXISTS t1;
+STOP SLAVE;
+RESET SLAVE;
+CREATE TABLE t1 (a VARCHAR(10));
+CREATE TABLE t1 (a VARCHAR(200));
+RESET MASTER;
+INSERT INTO t1 VALUES ('This is a test.');
+START SLAVE;
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 1535
+Last_Error Table definition on master and slave does not match: Column 0 size mismatch - master has size 200, test.t1 on slave has size 10. Master's column size should be <= the slave's column size.
+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 #
+Last_IO_Error #
+Last_SQL_Errno 1535
+Last_SQL_Error Table definition on master and slave does not match: Column 0 size mismatch - master has size 200, test.t1 on slave has size 10. Master's column size should be <= the slave's column size.
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+0
+STOP SLAVE;
+RESET SLAVE;
+RESET MASTER;
+START SLAVE;
+DROP TABLE IF EXISTS t1;
+STOP SLAVE;
+RESET SLAVE;
+CREATE TABLE t1 (a VARCHAR(1000));
+CREATE TABLE t1 (a VARCHAR(2000));
+RESET MASTER;
+INSERT INTO t1 VALUES ('This is a test.');
+START SLAVE;
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 1535
+Last_Error Table definition on master and slave does not match: Column 0 size mismatch - master has size 2000, test.t1 on slave has size 1000. Master's column size should be <= the slave's column size.
+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 #
+Last_IO_Error #
+Last_SQL_Errno 1535
+Last_SQL_Error Table definition on master and slave does not match: Column 0 size mismatch - master has size 2000, test.t1 on slave has size 1000. Master's column size should be <= the slave's column size.
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+0
+STOP SLAVE;
+RESET SLAVE;
+RESET MASTER;
+START SLAVE;
+Checking MYSQL_TYPE_BLOB fields
+DROP TABLE IF EXISTS t1;
+STOP SLAVE;
+RESET SLAVE;
+CREATE TABLE t1 (a TINYBLOB);
+CREATE TABLE t1 (a LONGBLOB);
+RESET MASTER;
+INSERT INTO t1 VALUES ('This is a test.');
+START SLAVE;
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 1535
+Last_Error Table definition on master and slave does not match: Column 0 size mismatch - master has size 4, test.t1 on slave has size 1. Master's column size should be <= the slave's column size.
+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 #
+Last_IO_Error #
+Last_SQL_Errno 1535
+Last_SQL_Error Table definition on master and slave does not match: Column 0 size mismatch - master has size 4, test.t1 on slave has size 1. Master's column size should be <= the slave's column size.
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+0
+STOP SLAVE;
+RESET SLAVE;
+RESET MASTER;
+START SLAVE;
+*** Cleanup ***
+DROP TABLE IF EXISTS t1;
diff --git a/mysql-test/suite/rpl/r/rpl_row_create_table.result b/mysql-test/suite/rpl/r/rpl_row_create_table.result
index d6e4845b13f..a8011756bbb 100644
--- a/mysql-test/suite/rpl/r/rpl_row_create_table.result
+++ b/mysql-test/suite/rpl/r/rpl_row_create_table.result
@@ -45,7 +45,7 @@ Table t2
Create Table CREATE TABLE `t2` (
`a` int(11) DEFAULT NULL,
`b` int(11) DEFAULT NULL
-) ENGINE=MRG_MyISAM DEFAULT CHARSET=latin1 UNION=()
+) ENGINE=MRG_MyISAM DEFAULT CHARSET=latin1
SHOW CREATE TABLE t3;
Table t3
Create Table CREATE TABLE `t3` (
@@ -64,7 +64,7 @@ Table t2
Create Table CREATE TABLE `t2` (
`a` int(11) DEFAULT NULL,
`b` int(11) DEFAULT NULL
-) ENGINE=MRG_MyISAM DEFAULT CHARSET=latin1 UNION=()
+) ENGINE=MRG_MyISAM DEFAULT CHARSET=latin1
SHOW CREATE TABLE t3;
Table t3
Create Table CREATE TABLE `t3` (
@@ -127,7 +127,7 @@ NULL 5 10
NULL 6 12
CREATE TABLE t7 (UNIQUE(b)) SELECT a,b FROM tt3;
ERROR 23000: Duplicate entry '2' for key 'b'
-SHOW BINLOG EVENTS FROM 1098;
+SHOW BINLOG EVENTS FROM 1374;
Log_name Pos Event_type Server_id End_log_pos Info
CREATE TABLE t7 (a INT, b INT UNIQUE);
INSERT INTO t7 SELECT a,b FROM tt3;
@@ -137,11 +137,11 @@ a b
1 2
2 4
3 6
-SHOW BINLOG EVENTS FROM 1098;
+SHOW BINLOG EVENTS FROM 1374;
Log_name Pos Event_type Server_id End_log_pos Info
-# 1098 Query # 1198 use `test`; CREATE TABLE t7 (a INT, b INT UNIQUE)
-# 1198 Table_map # 1238 table_id: # (test.t7)
-# 1238 Write_rows # 1294 table_id: # flags: STMT_END_F
+# 1374 Query # 1474 use `test`; CREATE TABLE t7 (a INT, b INT UNIQUE)
+# 1474 Table_map # 1516 table_id: # (test.t7)
+# 1516 Write_rows # 1572 table_id: # flags: STMT_END_F
SELECT * FROM t7 ORDER BY a,b;
a b
1 2
@@ -154,10 +154,10 @@ INSERT INTO t7 SELECT a,b FROM tt4;
ROLLBACK;
Warnings:
Warning 1196 Some non-transactional changed tables couldn't be rolled back
-SHOW BINLOG EVENTS FROM 1294;
+SHOW BINLOG EVENTS FROM 1572;
Log_name Pos Event_type Server_id End_log_pos Info
-# 1294 Table_map # 1334 table_id: # (test.t7)
-# 1334 Write_rows # 1390 table_id: # flags: STMT_END_F
+# 1572 Table_map # 1614 table_id: # (test.t7)
+# 1614 Write_rows # 1670 table_id: # flags: STMT_END_F
SELECT * FROM t7 ORDER BY a,b;
a b
1 2
@@ -185,17 +185,17 @@ Table t8
Create Table CREATE TABLE `t8` (
`a` int(11) DEFAULT NULL,
`b` int(11) DEFAULT NULL
-) ENGINE=MRG_MyISAM DEFAULT CHARSET=utf8 UNION=()
+) ENGINE=MRG_MyISAM DEFAULT CHARSET=utf8
SHOW CREATE TABLE t9;
Table t9
Create Table CREATE TABLE `t9` (
`a` int(11) DEFAULT NULL,
`b` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SHOW BINLOG EVENTS FROM 1390;
+SHOW BINLOG EVENTS FROM 1670;
Log_name Pos Event_type Server_id End_log_pos Info
-# 1390 Query # 1476 use `test`; CREATE TABLE t8 LIKE t4
-# 1476 Query # 1615 use `test`; CREATE TABLE `t9` (
+# 1670 Query # 1756 use `test`; CREATE TABLE t8 LIKE t4
+# 1756 Query # 1895 use `test`; CREATE TABLE `t9` (
`a` int(11) DEFAULT NULL,
`b` int(11) DEFAULT NULL
)
@@ -205,7 +205,7 @@ Table t8
Create Table CREATE TABLE `t8` (
`a` int(11) DEFAULT NULL,
`b` int(11) DEFAULT NULL
-) ENGINE=MRG_MyISAM DEFAULT CHARSET=utf8 UNION=()
+) ENGINE=MRG_MyISAM DEFAULT CHARSET=utf8
SHOW CREATE TABLE t9;
Table t9
Create Table CREATE TABLE `t9` (
@@ -276,31 +276,31 @@ SHOW BINLOG EVENTS;
Log_name Pos Event_type Server_id End_log_pos Info
# 4 Format_desc # 106 Server ver: #, Binlog ver: #
# 106 Query # 192 use `test`; CREATE TABLE t1 (a INT)
-# 192 Table_map # 231 table_id: # (test.t1)
-# 231 Write_rows # 275 table_id: # flags: STMT_END_F
-# 275 Query # 343 use `test`; BEGIN
-# 343 Query # 468 use `test`; CREATE TABLE `t2` (
+# 192 Table_map # 233 table_id: # (test.t1)
+# 233 Write_rows # 277 table_id: # flags: STMT_END_F
+# 277 Query # 345 use `test`; BEGIN
+# 345 Query # 470 use `test`; CREATE TABLE `t2` (
`a` int(11) DEFAULT NULL
) ENGINE=InnoDB
-# 468 Table_map # 507 table_id: # (test.t2)
-# 507 Write_rows # 551 table_id: # flags: STMT_END_F
-# 551 Xid # 578 COMMIT /* XID */
-# 578 Query # 646 use `test`; BEGIN
-# 646 Query # 771 use `test`; CREATE TABLE `t3` (
+# 470 Table_map # 511 table_id: # (test.t2)
+# 511 Write_rows # 555 table_id: # flags: STMT_END_F
+# 555 Xid # 582 COMMIT /* XID */
+# 582 Query # 650 use `test`; BEGIN
+# 650 Query # 775 use `test`; CREATE TABLE `t3` (
`a` int(11) DEFAULT NULL
) ENGINE=InnoDB
-# 771 Table_map # 810 table_id: # (test.t3)
-# 810 Write_rows # 854 table_id: # flags: STMT_END_F
-# 854 Xid # 881 COMMIT /* XID */
-# 881 Query # 949 use `test`; BEGIN
-# 949 Query # 1074 use `test`; CREATE TABLE `t4` (
+# 775 Table_map # 816 table_id: # (test.t3)
+# 816 Write_rows # 860 table_id: # flags: STMT_END_F
+# 860 Xid # 887 COMMIT /* XID */
+# 887 Query # 955 use `test`; BEGIN
+# 955 Query # 1080 use `test`; CREATE TABLE `t4` (
`a` int(11) DEFAULT NULL
) ENGINE=InnoDB
-# 1074 Table_map # 1113 table_id: # (test.t4)
-# 1113 Write_rows # 1157 table_id: # flags: STMT_END_F
-# 1157 Xid # 1184 COMMIT /* XID */
-# 1184 Table_map # 1223 table_id: # (test.t1)
-# 1223 Write_rows # 1267 table_id: # flags: STMT_END_F
+# 1080 Table_map # 1121 table_id: # (test.t4)
+# 1121 Write_rows # 1165 table_id: # flags: STMT_END_F
+# 1165 Xid # 1192 COMMIT /* XID */
+# 1192 Table_map # 1233 table_id: # (test.t1)
+# 1233 Write_rows # 1277 table_id: # flags: STMT_END_F
SHOW TABLES;
Tables_in_test
t1
@@ -367,15 +367,15 @@ SHOW BINLOG EVENTS;
Log_name Pos Event_type Server_id End_log_pos Info
# 4 Format_desc # 106 Server ver: #, Binlog ver: #
# 106 Query # 192 use `test`; CREATE TABLE t1 (a INT)
-# 192 Table_map # 231 table_id: # (test.t1)
-# 231 Write_rows # 275 table_id: # flags: STMT_END_F
-# 275 Query # 375 use `test`; CREATE TABLE t2 (a INT) ENGINE=INNODB
-# 375 Query # 443 use `test`; BEGIN
-# 443 Table_map # 482 table_id: # (test.t2)
-# 482 Write_rows # 526 table_id: # flags: STMT_END_F
-# 526 Table_map # 565 table_id: # (test.t2)
-# 565 Write_rows # 604 table_id: # flags: STMT_END_F
-# 604 Xid # 631 COMMIT /* XID */
+# 192 Table_map # 233 table_id: # (test.t1)
+# 233 Write_rows # 277 table_id: # flags: STMT_END_F
+# 277 Query # 377 use `test`; CREATE TABLE t2 (a INT) ENGINE=INNODB
+# 377 Query # 445 use `test`; BEGIN
+# 445 Table_map # 486 table_id: # (test.t2)
+# 486 Write_rows # 530 table_id: # flags: STMT_END_F
+# 530 Table_map # 571 table_id: # (test.t2)
+# 571 Write_rows # 610 table_id: # flags: STMT_END_F
+# 610 Xid # 637 COMMIT /* XID */
SELECT * FROM t2 ORDER BY a;
a
1
@@ -396,16 +396,17 @@ Warnings:
Warning 1196 Some non-transactional changed tables couldn't be rolled back
SELECT * FROM t2 ORDER BY a;
a
-SHOW BINLOG EVENTS FROM 631;
+SHOW BINLOG EVENTS FROM 637;
Log_name Pos Event_type Server_id End_log_pos Info
-# 631 Query # 711 use `test`; TRUNCATE TABLE t2
-# 711 Xid # 738 COMMIT /* XID */
-# 738 Query # 806 use `test`; BEGIN
-# 806 Table_map # 845 table_id: # (test.t2)
-# 845 Write_rows # 889 table_id: # flags: STMT_END_F
-# 889 Table_map # 928 table_id: # (test.t2)
-# 928 Write_rows # 967 table_id: # flags: STMT_END_F
-# 967 Query # 1038 use `test`; ROLLBACK
+# 637 Query # 705 use `test`; BEGIN
+# 705 Query # 785 use `test`; TRUNCATE TABLE t2
+# 785 Xid # 812 COMMIT /* XID */
+# 812 Query # 880 use `test`; BEGIN
+# 880 Table_map # 921 table_id: # (test.t2)
+# 921 Write_rows # 965 table_id: # flags: STMT_END_F
+# 965 Table_map # 1006 table_id: # (test.t2)
+# 1006 Write_rows # 1045 table_id: # flags: STMT_END_F
+# 1045 Query # 1116 use `test`; ROLLBACK
SELECT * FROM t2 ORDER BY a;
a
DROP TABLE t1,t2;
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 942a6b83bf6..072f15cbbd3 100644
--- a/mysql-test/suite/rpl/r/rpl_row_flsh_tbls.result
+++ b/mysql-test/suite/rpl/r/rpl_row_flsh_tbls.result
@@ -12,13 +12,13 @@ create table t4 (a int);
insert into t4 select * from t3;
rename table t1 to t5, t2 to t1;
flush no_write_to_binlog tables;
-SHOW BINLOG EVENTS FROM 619 ;
+SHOW BINLOG EVENTS FROM 623 ;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query 1 # use `test`; rename table t1 to t5, t2 to t1
select * from t3;
a
flush tables;
-SHOW BINLOG EVENTS FROM 619 ;
+SHOW BINLOG EVENTS FROM 623 ;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query 1 # use `test`; rename table t1 to t5, t2 to t1
master-bin.000001 # Query 1 # use `test`; flush tables
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 14fb01bb0d8..70e923bc4f4 100644
--- a/mysql-test/suite/rpl/r/rpl_row_inexist_tbl.result
+++ b/mysql-test/suite/rpl/r/rpl_row_inexist_tbl.result
@@ -24,7 +24,7 @@ Master_User root
Master_Port MASTER_PORT
Connect_Retry 1
Master_Log_File master-bin.000001
-Read_Master_Log_Pos 597
+Read_Master_Log_Pos 605
Relay_Log_File #
Relay_Log_Pos #
Relay_Master_Log_File master-bin.000001
@@ -39,7 +39,7 @@ Replicate_Wild_Ignore_Table
Last_Errno 1146
Last_Error Error 'Table 'test.t1' doesn't exist' on opening table `test`.`t1`
Skip_Counter 0
-Exec_Master_Log_Pos 524
+Exec_Master_Log_Pos 530
Relay_Log_Space #
Until_Condition None
Until_Log_File
diff --git a/mysql-test/suite/rpl/r/rpl_row_log.result b/mysql-test/suite/rpl/r/rpl_row_log.result
index 4137c85bc06..33a6c3b9781 100644
--- a/mysql-test/suite/rpl/r/rpl_row_log.result
+++ b/mysql-test/suite/rpl/r/rpl_row_log.result
@@ -38,11 +38,153 @@ Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
flush logs;
create table t3 (a int)ENGINE=MyISAM;
+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
start slave;
let $result_pattern= '%127.0.0.1%root%master-bin.000002%slave-relay-bin.000005%Yes%Yes%0%0%None%' ;
--source include/wait_slave_status.inc
+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;
stop slave;
create table t2 (n int)ENGINE=MyISAM;
@@ -66,13 +208,13 @@ master-bin.000002 # Table_map 1 # table_id: # (test.t2)
master-bin.000002 # Write_rows 1 # table_id: # flags: STMT_END_F
show binary logs;
Log_name File_size
-master-bin.000001 1260
-master-bin.000002 377
+master-bin.000001 1266
+master-bin.000002 379
start slave;
show binary logs;
Log_name File_size
-slave-bin.000001 1358
-slave-bin.000002 278
+slave-bin.000001 1364
+slave-bin.000002 280
show binlog events in 'slave-bin.000001' from 4;
Log_name Pos Event_type Server_id End_log_pos Info
slave-bin.000001 # Format_desc 2 # Server ver: VERSION, Binlog ver: 4
@@ -98,7 +240,7 @@ Master_User root
Master_Port MASTER_PORT
Connect_Retry 1
Master_Log_File master-bin.000002
-Read_Master_Log_Pos 377
+Read_Master_Log_Pos 379
Relay_Log_File #
Relay_Log_Pos #
Relay_Master_Log_File master-bin.000002
@@ -113,7 +255,7 @@ Replicate_Wild_Ignore_Table
Last_Errno 0
Last_Error
Skip_Counter 0
-Exec_Master_Log_Pos 377
+Exec_Master_Log_Pos 379
Relay_Log_Space #
Until_Condition None
Until_Log_File
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 c6b4c5999e1..e08c47558a0 100644
--- a/mysql-test/suite/rpl/r/rpl_row_log_innodb.result
+++ b/mysql-test/suite/rpl/r/rpl_row_log_innodb.result
@@ -20,11 +20,13 @@ show binlog events;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Format_desc 1 # Server ver: VERSION, Binlog ver: 4
master-bin.000001 # Query 1 # use `test`; create table t1(n int not null auto_increment primary key)ENGINE=InnoDB
+master-bin.000001 # Query 1 # use `test`; BEGIN
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
master-bin.000001 # Xid 1 # COMMIT /* XID */
master-bin.000001 # Query 1 # use `test`; drop table t1
master-bin.000001 # Query 1 # use `test`; create table t1 (word char(20) not null)ENGINE=InnoDB
+master-bin.000001 # Query 1 # use `test`; BEGIN
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
master-bin.000001 # Xid 1 # COMMIT /* XID */
@@ -34,17 +36,159 @@ master-bin.000001 # Query 1 # use `test`; create table t1(n int not null auto_in
show binlog events from 106 limit 2;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query 1 # use `test`; create table t1(n int not null auto_increment primary key)ENGINE=InnoDB
-master-bin.000001 # Table_map 1 # table_id: # (test.t1)
+master-bin.000001 # Query 1 # use `test`; BEGIN
show binlog events from 106 limit 2,1;
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
+master-bin.000001 # Table_map 1 # table_id: # (test.t1)
flush logs;
create table t3 (a int)ENGINE=InnoDB;
+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
start slave;
let $result_pattern= '%127.0.0.1%root%master-bin.000002%slave-relay-bin.000005%Yes%Yes%0%0%None%' ;
--source include/wait_slave_status.inc
+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;
stop slave;
create table t2 (n int)ENGINE=InnoDB;
@@ -52,11 +196,13 @@ 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=InnoDB
+master-bin.000001 # Query # # use `test`; BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
master-bin.000001 # Query # # use `test`; drop table t1
master-bin.000001 # Query # # use `test`; create table t1 (word char(20) not null)ENGINE=InnoDB
+master-bin.000001 # Query # # use `test`; BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
@@ -66,27 +212,30 @@ Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000002 # Format_desc 1 # Server ver: VERSION, Binlog ver: 4
master-bin.000002 # Query 1 # use `test`; create table t3 (a int)ENGINE=InnoDB
master-bin.000002 # Query 1 # use `test`; create table t2 (n int)ENGINE=InnoDB
+master-bin.000002 # Query 1 # use `test`; BEGIN
master-bin.000002 # Table_map 1 # table_id: # (test.t2)
master-bin.000002 # Write_rows 1 # table_id: # flags: STMT_END_F
master-bin.000002 # Xid 1 # COMMIT /* XID */
show binary logs;
Log_name File_size
-master-bin.000001 1314
-master-bin.000002 404
+master-bin.000001 1456
+master-bin.000002 474
start slave;
show binary logs;
Log_name File_size
-slave-bin.000001 1412
-slave-bin.000002 305
+slave-bin.000001 1536
+slave-bin.000002 366
show binlog events in 'slave-bin.000001' from 4;
Log_name Pos Event_type Server_id End_log_pos Info
slave-bin.000001 # Format_desc 2 # Server ver: VERSION, Binlog ver: 4
slave-bin.000001 # Query 1 # use `test`; create table t1(n int not null auto_increment primary key)ENGINE=InnoDB
+slave-bin.000001 # Query 1 # BEGIN
slave-bin.000001 # Table_map 1 # table_id: # (test.t1)
slave-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
slave-bin.000001 # Xid 1 # COMMIT /* XID */
slave-bin.000001 # Query 1 # use `test`; drop table t1
slave-bin.000001 # Query 1 # use `test`; create table t1 (word char(20) not null)ENGINE=InnoDB
+slave-bin.000001 # Query 1 # BEGIN
slave-bin.000001 # Table_map 1 # table_id: # (test.t1)
slave-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
slave-bin.000001 # Xid 1 # COMMIT /* XID */
@@ -96,6 +245,7 @@ show binlog events in 'slave-bin.000002' from 4;
Log_name Pos Event_type Server_id End_log_pos Info
slave-bin.000002 # Format_desc 2 # Server ver: VERSION, Binlog ver: 4
slave-bin.000002 # Query 1 # use `test`; create table t2 (n int)ENGINE=InnoDB
+slave-bin.000002 # Query 1 # BEGIN
slave-bin.000002 # Table_map 1 # table_id: # (test.t2)
slave-bin.000002 # Write_rows 1 # table_id: # flags: STMT_END_F
slave-bin.000002 # Xid 1 # COMMIT /* XID */
@@ -106,7 +256,7 @@ Master_User root
Master_Port MASTER_PORT
Connect_Retry 1
Master_Log_File master-bin.000002
-Read_Master_Log_Pos 404
+Read_Master_Log_Pos 474
Relay_Log_File #
Relay_Log_Pos #
Relay_Master_Log_File master-bin.000002
@@ -121,7 +271,7 @@ Replicate_Wild_Ignore_Table
Last_Errno 0
Last_Error
Skip_Counter 0
-Exec_Master_Log_Pos 404
+Exec_Master_Log_Pos 474
Relay_Log_Space #
Until_Condition None
Until_Log_File
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 3a8b3a78438..392f5904233 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
@@ -30,7 +30,7 @@ Master_User root
Master_Port MASTER_PORT
Connect_Retry 1
Master_Log_File master-bin.000001
-Read_Master_Log_Pos 58668
+Read_Master_Log_Pos #
Relay_Log_File #
Relay_Log_Pos #
Relay_Master_Log_File master-bin.000001
@@ -45,7 +45,7 @@ Replicate_Wild_Ignore_Table
Last_Errno 0
Last_Error
Skip_Counter 0
-Exec_Master_Log_Pos 58668
+Exec_Master_Log_Pos #
Relay_Log_Space #
Until_Condition None
Until_Log_File
@@ -78,7 +78,7 @@ Master_User root
Master_Port MASTER_PORT
Connect_Retry 1
Master_Log_File master-bin.000001
-Read_Master_Log_Pos 58668
+Read_Master_Log_Pos #
Relay_Log_File #
Relay_Log_Pos #
Relay_Master_Log_File master-bin.000001
@@ -93,7 +93,7 @@ Replicate_Wild_Ignore_Table
Last_Errno 0
Last_Error
Skip_Counter 0
-Exec_Master_Log_Pos 58668
+Exec_Master_Log_Pos #
Relay_Log_Space #
Until_Condition None
Until_Log_File
@@ -126,7 +126,7 @@ Master_User root
Master_Port MASTER_PORT
Connect_Retry 1
Master_Log_File master-bin.000001
-Read_Master_Log_Pos 58668
+Read_Master_Log_Pos #
Relay_Log_File #
Relay_Log_Pos #
Relay_Master_Log_File master-bin.000001
@@ -141,7 +141,7 @@ Replicate_Wild_Ignore_Table
Last_Errno 0
Last_Error
Skip_Counter 0
-Exec_Master_Log_Pos 58668
+Exec_Master_Log_Pos #
Relay_Log_Space #
Until_Condition None
Until_Log_File
@@ -171,7 +171,7 @@ Master_User root
Master_Port MASTER_PORT
Connect_Retry 1
Master_Log_File
-Read_Master_Log_Pos 4
+Read_Master_Log_Pos #
Relay_Log_File #
Relay_Log_Pos #
Relay_Master_Log_File
@@ -186,7 +186,7 @@ Replicate_Wild_Ignore_Table
Last_Errno 0
Last_Error
Skip_Counter 0
-Exec_Master_Log_Pos 0
+Exec_Master_Log_Pos #
Relay_Log_Space #
Until_Condition None
Until_Log_File
@@ -217,7 +217,7 @@ Master_User root
Master_Port MASTER_PORT
Connect_Retry 1
Master_Log_File master-bin.000001
-Read_Master_Log_Pos 58754
+Read_Master_Log_Pos #
Relay_Log_File #
Relay_Log_Pos #
Relay_Master_Log_File master-bin.000001
@@ -232,7 +232,7 @@ Replicate_Wild_Ignore_Table
Last_Errno 0
Last_Error
Skip_Counter 0
-Exec_Master_Log_Pos 58754
+Exec_Master_Log_Pos #
Relay_Log_Space #
Until_Condition None
Until_Log_File
@@ -261,7 +261,7 @@ Master_User root
Master_Port MASTER_PORT
Connect_Retry 1
Master_Log_File master-bin.000001
-Read_Master_Log_Pos 58830
+Read_Master_Log_Pos #
Relay_Log_File #
Relay_Log_Pos #
Relay_Master_Log_File master-bin.000001
@@ -276,7 +276,7 @@ Replicate_Wild_Ignore_Table
Last_Errno 0
Last_Error
Skip_Counter 0
-Exec_Master_Log_Pos 58830
+Exec_Master_Log_Pos #
Relay_Log_Space #
Until_Condition None
Until_Log_File
@@ -295,10 +295,8 @@ Last_SQL_Errno 0
Last_SQL_Error
flush logs;
show master status;
-File master-bin.000002
-Position 106
-Binlog_Do_DB <Binlog_Ignore_DB>
-Binlog_Ignore_DB
+File Position Binlog_Do_DB Binlog_Ignore_DB
+master-bin.000002 # <Binlog_Do_DB> <Binlog_Ignore_DB>
set global max_binlog_size= @my_max_binlog_size;
#
# End of 4.1 tests
diff --git a/mysql-test/suite/rpl/r/rpl_row_mysqlbinlog.result b/mysql-test/suite/rpl/r/rpl_row_mysqlbinlog.result
index e2df1459ac0..2d9d801047b 100644
--- a/mysql-test/suite/rpl/r/rpl_row_mysqlbinlog.result
+++ b/mysql-test/suite/rpl/r/rpl_row_mysqlbinlog.result
@@ -155,13 +155,19 @@ c1 c3 c4 c5
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
+ROLLBACK/*!*/;
use test/*!*/;
SET TIMESTAMP=1000000000/*!*/;
+SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
SET @@session.sql_mode=0/*!*/;
+SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
-CREATE TABLE t3(c1 INT NOT NULL PRIMARY KEY, c2 LONGBLOB, c3 TIMESTAMP, c4 TEXT, c5 FLOAT)/*!*/;
+SET @@session.lc_time_names=0/*!*/;
+SET @@session.collation_database=DEFAULT/*!*/;
+CREATE TABLE t3(c1 INT NOT NULL PRIMARY KEY, c2 LONGBLOB, c3 TIMESTAMP, c4 TEXT, c5 FLOAT)
+/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
@@ -174,17 +180,25 @@ DELIMITER /*!*/;
ROLLBACK/*!*/;
use test/*!*/;
SET TIMESTAMP=1000000000/*!*/;
+SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
SET @@session.sql_mode=0/*!*/;
+SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
-DROP TABLE IF EXISTS t1,t2,t3/*!*/;
+SET @@session.lc_time_names=0/*!*/;
+SET @@session.collation_database=DEFAULT/*!*/;
+DROP TABLE IF EXISTS t1,t2,t3
+/*!*/;
SET TIMESTAMP=1000000000/*!*/;
-CREATE TABLE t1(word VARCHAR(20))/*!*/;
+CREATE TABLE t1(word VARCHAR(20))
+/*!*/;
SET TIMESTAMP=1000000000/*!*/;
-CREATE TABLE t2(id INT AUTO_INCREMENT NOT NULL PRIMARY KEY)/*!*/;
+CREATE TABLE t2(id INT AUTO_INCREMENT NOT NULL PRIMARY KEY)
+/*!*/;
SET TIMESTAMP=1000000000/*!*/;
-CREATE TABLE t3(c1 INT NOT NULL PRIMARY KEY, c2 LONGBLOB, c3 TIMESTAMP, c4 TEXT, c5 FLOAT)/*!*/;
+CREATE TABLE t3(c1 INT NOT NULL PRIMARY KEY, c2 LONGBLOB, c3 TIMESTAMP, c4 TEXT, c5 FLOAT)
+/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
@@ -275,17 +289,25 @@ DELIMITER /*!*/;
ROLLBACK/*!*/;
use test/*!*/;
SET TIMESTAMP=1000000000/*!*/;
+SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
SET @@session.sql_mode=0/*!*/;
+SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
-DROP TABLE IF EXISTS t1,t2,t3/*!*/;
+SET @@session.lc_time_names=0/*!*/;
+SET @@session.collation_database=DEFAULT/*!*/;
+DROP TABLE IF EXISTS t1,t2,t3
+/*!*/;
SET TIMESTAMP=1000000000/*!*/;
-CREATE TABLE t1(word VARCHAR(20))/*!*/;
+CREATE TABLE t1(word VARCHAR(20))
+/*!*/;
SET TIMESTAMP=1000000000/*!*/;
-CREATE TABLE t2(id INT AUTO_INCREMENT NOT NULL PRIMARY KEY)/*!*/;
+CREATE TABLE t2(id INT AUTO_INCREMENT NOT NULL PRIMARY KEY)
+/*!*/;
SET TIMESTAMP=1000000000/*!*/;
-CREATE TABLE t3(c1 INT NOT NULL PRIMARY KEY, c2 LONGBLOB, c3 TIMESTAMP, c4 TEXT, c5 FLOAT)/*!*/;
+CREATE TABLE t3(c1 INT NOT NULL PRIMARY KEY, c2 LONGBLOB, c3 TIMESTAMP, c4 TEXT, c5 FLOAT)
+/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
@@ -295,13 +317,19 @@ ROLLBACK /* added by mysqlbinlog */;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
+ROLLBACK/*!*/;
use test/*!*/;
SET TIMESTAMP=1000000000/*!*/;
+SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
SET @@session.sql_mode=0/*!*/;
+SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
-CREATE TABLE t3(c1 INT NOT NULL PRIMARY KEY, c2 LONGBLOB, c3 TIMESTAMP, c4 TEXT, c5 FLOAT)/*!*/;
+SET @@session.lc_time_names=0/*!*/;
+SET @@session.collation_database=DEFAULT/*!*/;
+CREATE TABLE t3(c1 INT NOT NULL PRIMARY KEY, c2 LONGBLOB, c3 TIMESTAMP, c4 TEXT, c5 FLOAT)
+/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
diff --git a/mysql-test/suite/rpl/r/rpl_row_mystery22.result b/mysql-test/suite/rpl/r/rpl_row_mystery22.result
index bcf65e4ede3..5e42a89d741 100644
--- a/mysql-test/suite/rpl/r/rpl_row_mystery22.result
+++ b/mysql-test/suite/rpl/r/rpl_row_mystery22.result
@@ -5,6 +5,7 @@ reset slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
start slave;
create table t1(n int auto_increment primary key, s char(10));
+set @@global.slave_exec_mode= 'IDEMPOTENT';
insert into t1 values (2,'old');
insert into t1 values(NULL,'new');
insert into t1 values(NULL,'new');
@@ -28,3 +29,4 @@ n s
1 new
3 new
drop table t1;
+set @@global.slave_exec_mode= default;
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 fd23e254072..6126ec4bacc 100644
--- a/mysql-test/suite/rpl/r/rpl_row_reset_slave.result
+++ b/mysql-test/suite/rpl/r/rpl_row_reset_slave.result
@@ -11,7 +11,7 @@ Master_User root
Master_Port MASTER_PORT
Connect_Retry 1
Master_Log_File master-bin.000001
-Read_Master_Log_Pos 106
+Read_Master_Log_Pos #
Relay_Log_File #
Relay_Log_Pos #
Relay_Master_Log_File master-bin.000001
@@ -26,7 +26,7 @@ Replicate_Wild_Ignore_Table
Last_Errno 0
Last_Error
Skip_Counter 0
-Exec_Master_Log_Pos 106
+Exec_Master_Log_Pos #
Relay_Log_Space #
Until_Condition None
Until_Log_File
@@ -52,7 +52,7 @@ Master_User test
Master_Port MASTER_PORT
Connect_Retry 1
Master_Log_File master-bin.000001
-Read_Master_Log_Pos 106
+Read_Master_Log_Pos #
Relay_Log_File #
Relay_Log_Pos #
Relay_Master_Log_File master-bin.000001
@@ -67,7 +67,7 @@ Replicate_Wild_Ignore_Table
Last_Errno 0
Last_Error
Skip_Counter 0
-Exec_Master_Log_Pos 106
+Exec_Master_Log_Pos #
Relay_Log_Space #
Until_Condition None
Until_Log_File
@@ -92,7 +92,7 @@ Master_User root
Master_Port MASTER_PORT
Connect_Retry 1
Master_Log_File
-Read_Master_Log_Pos 4
+Read_Master_Log_Pos #
Relay_Log_File #
Relay_Log_Pos #
Relay_Master_Log_File
@@ -107,7 +107,7 @@ Replicate_Wild_Ignore_Table
Last_Errno 0
Last_Error
Skip_Counter 0
-Exec_Master_Log_Pos 0
+Exec_Master_Log_Pos #
Relay_Log_Space #
Until_Condition None
Until_Log_File
@@ -132,7 +132,7 @@ Master_User root
Master_Port MASTER_PORT
Connect_Retry 1
Master_Log_File master-bin.000001
-Read_Master_Log_Pos 106
+Read_Master_Log_Pos #
Relay_Log_File #
Relay_Log_Pos #
Relay_Master_Log_File master-bin.000001
@@ -147,7 +147,7 @@ Replicate_Wild_Ignore_Table
Last_Errno 0
Last_Error
Skip_Counter 0
-Exec_Master_Log_Pos 106
+Exec_Master_Log_Pos #
Relay_Log_Space #
Until_Condition None
Until_Log_File
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 18243dce40b..e81d4f7454e 100644
--- a/mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result
+++ b/mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result
@@ -26,7 +26,7 @@ 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 t1_nodef ADD x INT NOT NULL, ADD y INT NOT NULL, ADD z INT NOT NULL;
ALTER TABLE t2 DROP b;
ALTER TABLE t4 MODIFY a FLOAT;
ALTER TABLE t5 MODIFY b FLOAT;
@@ -37,6 +37,7 @@ ALTER TABLE t8 ADD e1 INT NOT NULL DEFAULT 0, ADD e2 INT NOT NULL DEFAULT 0,
ADD e3 INT NOT NULL DEFAULT 0, ADD e4 INT NOT NULL DEFAULT 0,
ADD e5 INT NOT NULL DEFAULT 0, ADD e6 INT NOT NULL DEFAULT 0,
ADD e7 INT NOT NULL DEFAULT 0, ADD e8 INT NOT NULL DEFAULT 0;
+set @@global.slave_exec_mode= 'IDEMPOTENT';
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');
@@ -60,6 +61,7 @@ a b
1 2
2 5
**** On Slave ****
+set @@global.slave_exec_mode= default;
SELECT a,b,x FROM t1_int ORDER BY a;
a b x
1 2 42
@@ -107,7 +109,7 @@ SHOW SLAVE STATUS;
Slave_IO_State #
Master_Host 127.0.0.1
Master_User root
-Master_Port MASTER_PORT
+Master_Port #
Connect_Retry 1
Master_Log_File master-bin.000001
Read_Master_Log_Pos #
@@ -123,7 +125,7 @@ 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.
+Last_Error <Last_Error>
Skip_Counter 0
Exec_Master_Log_Pos #
Relay_Log_Space #
@@ -139,18 +141,26 @@ Master_SSL_Key
Seconds_Behind_Master #
Master_SSL_Verify_Server_Cert No
Last_IO_Errno 0
-Last_IO_Error
+Last_IO_Error <Last_IO_Error>
Last_SQL_Errno 1364
-Last_SQL_Error Error in Write_rows event: error during transaction execution on table test.t1_nodef.
+Last_SQL_Error <Last_SQL_Error>
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
START SLAVE;
INSERT INTO t9 VALUES (2);
+**** On Master ****
INSERT INTO t2 VALUES (2,4);
+SELECT * FROM t2;
+a b
+2 4
+**** On Slave ****
+SELECT * FROM t2;
+a
+2
SHOW SLAVE STATUS;
Slave_IO_State #
Master_Host 127.0.0.1
Master_User root
-Master_Port MASTER_PORT
+Master_Port #
Connect_Retry 1
Master_Log_File master-bin.000001
Read_Master_Log_Pos #
@@ -158,15 +168,15 @@ Relay_Log_File #
Relay_Log_Pos #
Relay_Master_Log_File master-bin.000001
Slave_IO_Running Yes
-Slave_SQL_Running No
+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 1532
-Last_Error Table definition on master and slave does not match: Table width mismatch - received 2 columns, test.t2 has 1 columns
+Last_Errno 0
+Last_Error <Last_Error>
Skip_Counter 0
Exec_Master_Log_Pos #
Relay_Log_Space #
@@ -182,18 +192,16 @@ Master_SSL_Key
Seconds_Behind_Master #
Master_SSL_Verify_Server_Cert No
Last_IO_Errno 0
-Last_IO_Error
-Last_SQL_Errno 1532
-Last_SQL_Error Table definition on master and slave does not match: Table width mismatch - received 2 columns, test.t2 has 1 columns
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
-START SLAVE;
+Last_IO_Error <Last_IO_Error>
+Last_SQL_Errno 0
+Last_SQL_Error <Last_SQL_Error>
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
+Master_Port #
Connect_Retry 1
Master_Log_File master-bin.000001
Read_Master_Log_Pos #
@@ -208,8 +216,8 @@ Replicate_Do_Table
Replicate_Ignore_Table
Replicate_Wild_Do_Table
Replicate_Wild_Ignore_Table
-Last_Errno 1532
-Last_Error Table definition on master and slave does not match: Column 0 type mismatch - received type 3, test.t4 has type 4
+Last_Errno 1535
+Last_Error <Last_Error>
Skip_Counter 0
Exec_Master_Log_Pos #
Relay_Log_Space #
@@ -225,9 +233,9 @@ Master_SSL_Key
Seconds_Behind_Master #
Master_SSL_Verify_Server_Cert No
Last_IO_Errno 0
-Last_IO_Error
-Last_SQL_Errno 1532
-Last_SQL_Error Table definition on master and slave does not match: Column 0 type mismatch - received type 3, test.t4 has type 4
+Last_IO_Error <Last_IO_Error>
+Last_SQL_Errno 1535
+Last_SQL_Error <Last_SQL_Error>
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
START SLAVE;
INSERT INTO t9 VALUES (5);
@@ -236,7 +244,7 @@ SHOW SLAVE STATUS;
Slave_IO_State #
Master_Host 127.0.0.1
Master_User root
-Master_Port MASTER_PORT
+Master_Port #
Connect_Retry 1
Master_Log_File master-bin.000001
Read_Master_Log_Pos #
@@ -251,8 +259,8 @@ Replicate_Do_Table
Replicate_Ignore_Table
Replicate_Wild_Do_Table
Replicate_Wild_Ignore_Table
-Last_Errno 1532
-Last_Error Table definition on master and slave does not match: Column 1 type mismatch - received type 3, test.t5 has type 4
+Last_Errno 1535
+Last_Error <Last_Error>
Skip_Counter 0
Exec_Master_Log_Pos #
Relay_Log_Space #
@@ -268,9 +276,9 @@ Master_SSL_Key
Seconds_Behind_Master #
Master_SSL_Verify_Server_Cert No
Last_IO_Errno 0
-Last_IO_Error
-Last_SQL_Errno 1532
-Last_SQL_Error Table definition on master and slave does not match: Column 1 type mismatch - received type 3, test.t5 has type 4
+Last_IO_Error <Last_IO_Error>
+Last_SQL_Errno 1535
+Last_SQL_Error <Last_SQL_Error>
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
START SLAVE;
INSERT INTO t9 VALUES (6);
@@ -279,7 +287,7 @@ SHOW SLAVE STATUS;
Slave_IO_State #
Master_Host 127.0.0.1
Master_User root
-Master_Port MASTER_PORT
+Master_Port #
Connect_Retry 1
Master_Log_File master-bin.000001
Read_Master_Log_Pos #
@@ -294,8 +302,8 @@ Replicate_Do_Table
Replicate_Ignore_Table
Replicate_Wild_Do_Table
Replicate_Wild_Ignore_Table
-Last_Errno 1532
-Last_Error Table definition on master and slave does not match: Column 2 type mismatch - received type 3, test.t6 has type 4
+Last_Errno 1535
+Last_Error <Last_Error>
Skip_Counter 0
Exec_Master_Log_Pos #
Relay_Log_Space #
@@ -311,9 +319,9 @@ Master_SSL_Key
Seconds_Behind_Master #
Master_SSL_Verify_Server_Cert No
Last_IO_Errno 0
-Last_IO_Error
-Last_SQL_Errno 1532
-Last_SQL_Error Table definition on master and slave does not match: Column 2 type mismatch - received type 3, test.t6 has type 4
+Last_IO_Error <Last_IO_Error>
+Last_SQL_Errno 1535
+Last_SQL_Error <Last_SQL_Error>
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
START SLAVE;
INSERT INTO t9 VALUES (6);
@@ -321,7 +329,7 @@ SHOW SLAVE STATUS;
Slave_IO_State #
Master_Host 127.0.0.1
Master_User root
-Master_Port MASTER_PORT
+Master_Port #
Connect_Retry 1
Master_Log_File master-bin.000001
Read_Master_Log_Pos #
@@ -337,7 +345,7 @@ Replicate_Ignore_Table
Replicate_Wild_Do_Table
Replicate_Wild_Ignore_Table
Last_Errno 0
-Last_Error
+Last_Error <Last_Error>
Skip_Counter 0
Exec_Master_Log_Pos #
Relay_Log_Space #
@@ -353,9 +361,9 @@ Master_SSL_Key
Seconds_Behind_Master #
Master_SSL_Verify_Server_Cert No
Last_IO_Errno 0
-Last_IO_Error
+Last_IO_Error <Last_IO_Error>
Last_SQL_Errno 0
-Last_SQL_Error
+Last_SQL_Error <Last_SQL_Error>
INSERT INTO t7 VALUES (1),(2),(3);
INSERT INTO t8 VALUES (1),(2),(3);
SELECT * FROM t7 ORDER BY a;
@@ -385,8 +393,8 @@ INSERT INTO t1_nodef VALUES (1,2);
INSERT INTO t1_nodef VALUES (2,4);
SET SQL_LOG_BIN=1;
**** On Slave ****
-INSERT INTO t1_nodef VALUES (1,2,3);
-INSERT INTO t1_nodef VALUES (2,4,6);
+INSERT INTO t1_nodef VALUES (1,2,3,4,5);
+INSERT INTO t1_nodef VALUES (2,4,6,8,10);
**** On Master ****
UPDATE t1_nodef SET b=2*b WHERE a=1;
SELECT * FROM t1_nodef ORDER BY a;
@@ -395,9 +403,9 @@ a b
2 4
**** On Slave ****
SELECT * FROM t1_nodef ORDER BY a;
-a b x
-1 4 3
-2 4 6
+a b x y z
+1 4 3 4 5
+2 4 6 8 10
**** On Master ****
DELETE FROM t1_nodef WHERE a=2;
SELECT * FROM t1_nodef ORDER BY a;
@@ -405,8 +413,8 @@ a b
1 4
**** On Slave ****
SELECT * FROM t1_nodef ORDER BY a;
-a b x
-1 4 3
+a b x y z
+1 4 3 4 5
**** Cleanup ****
DROP TABLE IF EXISTS t1_int,t1_bit,t1_char,t1_nodef;
DROP TABLE IF EXISTS t2,t3,t4,t5,t6,t7,t8,t9;
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 ef07db1c47d..a6834be5a86 100644
--- a/mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result
+++ b/mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result
@@ -26,7 +26,7 @@ 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 t1_nodef ADD x INT NOT NULL, ADD y INT NOT NULL, ADD z INT NOT NULL;
ALTER TABLE t2 DROP b;
ALTER TABLE t4 MODIFY a FLOAT;
ALTER TABLE t5 MODIFY b FLOAT;
@@ -37,6 +37,7 @@ ALTER TABLE t8 ADD e1 INT NOT NULL DEFAULT 0, ADD e2 INT NOT NULL DEFAULT 0,
ADD e3 INT NOT NULL DEFAULT 0, ADD e4 INT NOT NULL DEFAULT 0,
ADD e5 INT NOT NULL DEFAULT 0, ADD e6 INT NOT NULL DEFAULT 0,
ADD e7 INT NOT NULL DEFAULT 0, ADD e8 INT NOT NULL DEFAULT 0;
+set @@global.slave_exec_mode= 'IDEMPOTENT';
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');
@@ -60,6 +61,7 @@ a b
1 2
2 5
**** On Slave ****
+set @@global.slave_exec_mode= default;
SELECT a,b,x FROM t1_int ORDER BY a;
a b x
1 2 42
@@ -107,7 +109,7 @@ SHOW SLAVE STATUS;
Slave_IO_State #
Master_Host 127.0.0.1
Master_User root
-Master_Port MASTER_PORT
+Master_Port #
Connect_Retry 1
Master_Log_File master-bin.000001
Read_Master_Log_Pos #
@@ -123,7 +125,7 @@ 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.
+Last_Error <Last_Error>
Skip_Counter 0
Exec_Master_Log_Pos #
Relay_Log_Space #
@@ -139,18 +141,26 @@ Master_SSL_Key
Seconds_Behind_Master #
Master_SSL_Verify_Server_Cert No
Last_IO_Errno 0
-Last_IO_Error
+Last_IO_Error <Last_IO_Error>
Last_SQL_Errno 1364
-Last_SQL_Error Error in Write_rows event: error during transaction execution on table test.t1_nodef.
+Last_SQL_Error <Last_SQL_Error>
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
START SLAVE;
INSERT INTO t9 VALUES (2);
+**** On Master ****
INSERT INTO t2 VALUES (2,4);
+SELECT * FROM t2;
+a b
+2 4
+**** On Slave ****
+SELECT * FROM t2;
+a
+2
SHOW SLAVE STATUS;
Slave_IO_State #
Master_Host 127.0.0.1
Master_User root
-Master_Port MASTER_PORT
+Master_Port #
Connect_Retry 1
Master_Log_File master-bin.000001
Read_Master_Log_Pos #
@@ -158,15 +168,15 @@ Relay_Log_File #
Relay_Log_Pos #
Relay_Master_Log_File master-bin.000001
Slave_IO_Running Yes
-Slave_SQL_Running No
+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 1532
-Last_Error Table definition on master and slave does not match: Table width mismatch - received 2 columns, test.t2 has 1 columns
+Last_Errno 0
+Last_Error <Last_Error>
Skip_Counter 0
Exec_Master_Log_Pos #
Relay_Log_Space #
@@ -182,18 +192,16 @@ Master_SSL_Key
Seconds_Behind_Master #
Master_SSL_Verify_Server_Cert No
Last_IO_Errno 0
-Last_IO_Error
-Last_SQL_Errno 1532
-Last_SQL_Error Table definition on master and slave does not match: Table width mismatch - received 2 columns, test.t2 has 1 columns
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
-START SLAVE;
+Last_IO_Error <Last_IO_Error>
+Last_SQL_Errno 0
+Last_SQL_Error <Last_SQL_Error>
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
+Master_Port #
Connect_Retry 1
Master_Log_File master-bin.000001
Read_Master_Log_Pos #
@@ -208,8 +216,8 @@ Replicate_Do_Table
Replicate_Ignore_Table
Replicate_Wild_Do_Table
Replicate_Wild_Ignore_Table
-Last_Errno 1532
-Last_Error Table definition on master and slave does not match: Column 0 type mismatch - received type 3, test.t4 has type 4
+Last_Errno 1535
+Last_Error <Last_Error>
Skip_Counter 0
Exec_Master_Log_Pos #
Relay_Log_Space #
@@ -225,9 +233,9 @@ Master_SSL_Key
Seconds_Behind_Master #
Master_SSL_Verify_Server_Cert No
Last_IO_Errno 0
-Last_IO_Error
-Last_SQL_Errno 1532
-Last_SQL_Error Table definition on master and slave does not match: Column 0 type mismatch - received type 3, test.t4 has type 4
+Last_IO_Error <Last_IO_Error>
+Last_SQL_Errno 1535
+Last_SQL_Error <Last_SQL_Error>
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
START SLAVE;
INSERT INTO t9 VALUES (5);
@@ -236,7 +244,7 @@ SHOW SLAVE STATUS;
Slave_IO_State #
Master_Host 127.0.0.1
Master_User root
-Master_Port MASTER_PORT
+Master_Port #
Connect_Retry 1
Master_Log_File master-bin.000001
Read_Master_Log_Pos #
@@ -251,8 +259,8 @@ Replicate_Do_Table
Replicate_Ignore_Table
Replicate_Wild_Do_Table
Replicate_Wild_Ignore_Table
-Last_Errno 1532
-Last_Error Table definition on master and slave does not match: Column 1 type mismatch - received type 3, test.t5 has type 4
+Last_Errno 1535
+Last_Error <Last_Error>
Skip_Counter 0
Exec_Master_Log_Pos #
Relay_Log_Space #
@@ -268,9 +276,9 @@ Master_SSL_Key
Seconds_Behind_Master #
Master_SSL_Verify_Server_Cert No
Last_IO_Errno 0
-Last_IO_Error
-Last_SQL_Errno 1532
-Last_SQL_Error Table definition on master and slave does not match: Column 1 type mismatch - received type 3, test.t5 has type 4
+Last_IO_Error <Last_IO_Error>
+Last_SQL_Errno 1535
+Last_SQL_Error <Last_SQL_Error>
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
START SLAVE;
INSERT INTO t9 VALUES (6);
@@ -279,7 +287,7 @@ SHOW SLAVE STATUS;
Slave_IO_State #
Master_Host 127.0.0.1
Master_User root
-Master_Port MASTER_PORT
+Master_Port #
Connect_Retry 1
Master_Log_File master-bin.000001
Read_Master_Log_Pos #
@@ -294,8 +302,8 @@ Replicate_Do_Table
Replicate_Ignore_Table
Replicate_Wild_Do_Table
Replicate_Wild_Ignore_Table
-Last_Errno 1532
-Last_Error Table definition on master and slave does not match: Column 2 type mismatch - received type 3, test.t6 has type 4
+Last_Errno 1535
+Last_Error <Last_Error>
Skip_Counter 0
Exec_Master_Log_Pos #
Relay_Log_Space #
@@ -311,9 +319,9 @@ Master_SSL_Key
Seconds_Behind_Master #
Master_SSL_Verify_Server_Cert No
Last_IO_Errno 0
-Last_IO_Error
-Last_SQL_Errno 1532
-Last_SQL_Error Table definition on master and slave does not match: Column 2 type mismatch - received type 3, test.t6 has type 4
+Last_IO_Error <Last_IO_Error>
+Last_SQL_Errno 1535
+Last_SQL_Error <Last_SQL_Error>
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
START SLAVE;
INSERT INTO t9 VALUES (6);
@@ -321,7 +329,7 @@ SHOW SLAVE STATUS;
Slave_IO_State #
Master_Host 127.0.0.1
Master_User root
-Master_Port MASTER_PORT
+Master_Port #
Connect_Retry 1
Master_Log_File master-bin.000001
Read_Master_Log_Pos #
@@ -337,7 +345,7 @@ Replicate_Ignore_Table
Replicate_Wild_Do_Table
Replicate_Wild_Ignore_Table
Last_Errno 0
-Last_Error
+Last_Error <Last_Error>
Skip_Counter 0
Exec_Master_Log_Pos #
Relay_Log_Space #
@@ -353,9 +361,9 @@ Master_SSL_Key
Seconds_Behind_Master #
Master_SSL_Verify_Server_Cert No
Last_IO_Errno 0
-Last_IO_Error
+Last_IO_Error <Last_IO_Error>
Last_SQL_Errno 0
-Last_SQL_Error
+Last_SQL_Error <Last_SQL_Error>
INSERT INTO t7 VALUES (1),(2),(3);
INSERT INTO t8 VALUES (1),(2),(3);
SELECT * FROM t7 ORDER BY a;
@@ -385,8 +393,8 @@ INSERT INTO t1_nodef VALUES (1,2);
INSERT INTO t1_nodef VALUES (2,4);
SET SQL_LOG_BIN=1;
**** On Slave ****
-INSERT INTO t1_nodef VALUES (1,2,3);
-INSERT INTO t1_nodef VALUES (2,4,6);
+INSERT INTO t1_nodef VALUES (1,2,3,4,5);
+INSERT INTO t1_nodef VALUES (2,4,6,8,10);
**** On Master ****
UPDATE t1_nodef SET b=2*b WHERE a=1;
SELECT * FROM t1_nodef ORDER BY a;
@@ -395,9 +403,9 @@ a b
2 4
**** On Slave ****
SELECT * FROM t1_nodef ORDER BY a;
-a b x
-1 4 3
-2 4 6
+a b x y z
+1 4 3 4 5
+2 4 6 8 10
**** On Master ****
DELETE FROM t1_nodef WHERE a=2;
SELECT * FROM t1_nodef ORDER BY a;
@@ -405,8 +413,8 @@ a b
1 4
**** On Slave ****
SELECT * FROM t1_nodef ORDER BY a;
-a b x
-1 4 3
+a b x y z
+1 4 3 4 5
**** Cleanup ****
DROP TABLE IF EXISTS t1_int,t1_bit,t1_char,t1_nodef;
DROP TABLE IF EXISTS t2,t3,t4,t5,t6,t7,t8,t9;
diff --git a/mysql-test/suite/rpl/r/rpl_row_trig001.result b/mysql-test/suite/rpl/r/rpl_row_trig001.result
index 6665dc6d555..ea0ef27fccd 100644
--- a/mysql-test/suite/rpl/r/rpl_row_trig001.result
+++ b/mysql-test/suite/rpl/r/rpl_row_trig001.result
@@ -8,7 +8,7 @@ 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));
INSERT INTO test.t1 VALUES (1,NOW());
-CREATE TRIGGER test.t2_ai AFTER INSERT ON test.t2 FOR EACH ROW UPDATE test.t1 SET d=NOW() where n = 1;//
+CREATE TRIGGER test.t2_ai AFTER INSERT ON test.t2 FOR EACH ROW UPDATE test.t1 SET d=NOW() where n = 1//
CREATE PROCEDURE test.p3()
BEGIN
INSERT INTO test.t3 (d) VALUES (NOW());
@@ -18,6 +18,7 @@ CREATE PROCEDURE test.p2()
BEGIN
INSERT INTO test.t2 (f,d) VALUES (RAND(),NOW());
END//
+INSERT INTO test.t1 VALUES (1+1, NOW());
<End test section 2 (Tiggers & SP)>
-----------------------------------
diff --git a/mysql-test/suite/rpl/r/rpl_row_unsafe_funcs.result b/mysql-test/suite/rpl/r/rpl_row_unsafe_funcs.result
new file mode 100644
index 00000000000..800670b78ae
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_row_unsafe_funcs.result
@@ -0,0 +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;
+CREATE TABLE t1 (a INT);
+CREATE TABLE t2 (a INT, b INT);
+INSERT INTO t1 SELECT 1;
+INSERT INTO t1 VALUES (2),(3),(4),(5),(6);
+INSERT INTO t2 SELECT 1, ROW_COUNT();
+INSERT INTO t1 VALUES (2),(3),(4);
+INSERT INTO t2 SELECT 2, ROW_COUNT();
+SELECT b FROM t2 ORDER BY a;
+b
+1
+3
+SELECT b FROM t2 ORDER BY a;
+b
+1
+3
+DROP TABLE t1, t2;
diff --git a/mysql-test/suite/rpl/r/rpl_row_until.result b/mysql-test/suite/rpl/r/rpl_row_until.result
index d802fce8193..383d1a03a22 100644
--- a/mysql-test/suite/rpl/r/rpl_row_until.result
+++ b/mysql-test/suite/rpl/r/rpl_row_until.result
@@ -26,7 +26,7 @@ Master_User root
Master_Port MASTER_PORT
Connect_Retry 1
Master_Log_File master-bin.000001
-Read_Master_Log_Pos 744
+Read_Master_Log_Pos 750
Relay_Log_File #
Relay_Log_Pos #
Relay_Master_Log_File master-bin.000001
@@ -41,7 +41,7 @@ Replicate_Wild_Ignore_Table
Last_Errno 0
Last_Error
Skip_Counter 0
-Exec_Master_Log_Pos 315
+Exec_Master_Log_Pos 317
Relay_Log_Space #
Until_Condition Master
Until_Log_File master-bin.000001
@@ -72,7 +72,7 @@ Master_User root
Master_Port MASTER_PORT
Connect_Retry 1
Master_Log_File master-bin.000001
-Read_Master_Log_Pos 744
+Read_Master_Log_Pos 750
Relay_Log_File #
Relay_Log_Pos #
Relay_Master_Log_File master-bin.000001
@@ -87,7 +87,7 @@ Replicate_Wild_Ignore_Table
Last_Errno 0
Last_Error
Skip_Counter 0
-Exec_Master_Log_Pos 315
+Exec_Master_Log_Pos 317
Relay_Log_Space #
Until_Condition Master
Until_Log_File master-no-such-bin.000001
@@ -116,7 +116,7 @@ Master_User root
Master_Port MASTER_PORT
Connect_Retry 1
Master_Log_File master-bin.000001
-Read_Master_Log_Pos 744
+Read_Master_Log_Pos 750
Relay_Log_File #
Relay_Log_Pos #
Relay_Master_Log_File master-bin.000001
@@ -131,7 +131,7 @@ Replicate_Wild_Ignore_Table
Last_Errno 0
Last_Error
Skip_Counter 0
-Exec_Master_Log_Pos 590
+Exec_Master_Log_Pos 594
Relay_Log_Space #
Until_Condition Relay
Until_Log_File slave-relay-bin.000004
@@ -158,7 +158,7 @@ Master_User root
Master_Port MASTER_PORT
Connect_Retry 1
Master_Log_File master-bin.000001
-Read_Master_Log_Pos 744
+Read_Master_Log_Pos 750
Relay_Log_File #
Relay_Log_Pos #
Relay_Master_Log_File master-bin.000001
@@ -173,7 +173,7 @@ Replicate_Wild_Ignore_Table
Last_Errno 0
Last_Error
Skip_Counter 0
-Exec_Master_Log_Pos 744
+Exec_Master_Log_Pos 750
Relay_Log_Space #
Until_Condition Master
Until_Log_File master-bin.000001
diff --git a/mysql-test/suite/rpl/r/rpl_row_view01.result b/mysql-test/suite/rpl/r/rpl_row_view01.result
index a4b8d0a05e3..4dfe5826f32 100644
--- a/mysql-test/suite/rpl/r/rpl_row_view01.result
+++ b/mysql-test/suite/rpl/r/rpl_row_view01.result
@@ -13,6 +13,7 @@ DROP TABLE IF EXISTS mysqltest1.t3;
DROP TABLE IF EXISTS mysqltest1.t1;
DROP TABLE IF EXISTS mysqltest1.t2;
DROP TABLE IF EXISTS mysqltest1.t4;
+DROP TABLE IF EXISTS mysqltest1.t10;
CREATE TABLE mysqltest1.t1 (a INT, c CHAR(6),PRIMARY KEY(a));
CREATE TABLE mysqltest1.t2 (a INT, c CHAR(6),PRIMARY KEY(a));
CREATE TABLE mysqltest1.t3 (a INT, c CHAR(6), c2 CHAR(6), PRIMARY KEY(a));
@@ -35,6 +36,7 @@ a c c2
1 Thank GOD
2 it is
3 Friday TGIF
+CREATE TABLE mysqltest1.t10 (a INT, PRIMARY KEY(a));
SELECT * FROM mysqltest1.v2;
qty price value
3 50 150
@@ -98,4 +100,5 @@ DROP TABLE IF EXISTS mysqltest1.t3;
DROP TABLE IF EXISTS mysqltest1.t1;
DROP TABLE IF EXISTS mysqltest1.t2;
DROP TABLE IF EXISTS mysqltest1.t4;
+DROP TABLE IF EXISTS mysqltest1.t10;
DROP DATABASE mysqltest1;
diff --git a/mysql-test/suite/rpl/r/rpl_server_id.result b/mysql-test/suite/rpl/r/rpl_server_id.result
new file mode 100644
index 00000000000..1e74394c122
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_server_id.result
@@ -0,0 +1,34 @@
+set global server_id=1;
+reset master;
+drop table if exists t1,t2,t3;
+create table t1 (a int);
+select @@server_id;
+@@server_id
+1
+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,t2,t3
+master-bin.000001 # Query 1 # use `test`; create table t1 (a int)
+set global server_id=2;
+create table t2 (b int);
+select @@server_id;
+@@server_id
+2
+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,t2,t3
+master-bin.000001 # Query 1 # use `test`; create table t1 (a int)
+master-bin.000001 # Query 2 # use `test`; create table t2 (b int)
+set global server_id=3;
+create table t3 (c int);
+select @@server_id;
+@@server_id
+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,t2,t3
+master-bin.000001 # Query 1 # use `test`; create table t1 (a int)
+master-bin.000001 # Query 2 # use `test`; create table t2 (b int)
+master-bin.000001 # Query 3 # use `test`; create table t3 (c int)
+set global server_id=1;
+drop table t1,t2,t3;
diff --git a/mysql-test/suite/rpl/r/rpl_server_id1.result b/mysql-test/suite/rpl/r/rpl_server_id1.result
index 9894910aaf6..6a5c86d84bd 100644
--- a/mysql-test/suite/rpl/r/rpl_server_id1.result
+++ b/mysql-test/suite/rpl/r/rpl_server_id1.result
@@ -4,10 +4,11 @@ reset master;
reset slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
start slave;
-create table t1 (n int);
reset master;
stop slave;
change master to master_port=SLAVE_PORT;
+start slave;
+*** must be having the replicate-same-server-id IO thread error ***
show slave status;
Slave_IO_State
Master_Host 127.0.0.1
@@ -20,15 +21,15 @@ Relay_Log_File slave-relay-bin.000001
Relay_Log_Pos 4
Relay_Master_Log_File
Slave_IO_Running No
-Slave_SQL_Running No
+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 0
-Last_Error
+Last_Errno #
+Last_Error #
Skip_Counter 0
Exec_Master_Log_Pos 0
Relay_Log_Space 106
@@ -43,13 +44,7 @@ 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
-start slave;
-insert into t1 values (1);
-show status like "slave_running";
-Variable_name Value
-Slave_running OFF
-drop table t1;
+Last_IO_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).
+Last_SQL_Errno #
+Last_SQL_Error #
diff --git a/mysql-test/suite/rpl/r/rpl_skip_error.result b/mysql-test/suite/rpl/r/rpl_skip_error.result
index 92402153c76..b90d8113e8e 100644
--- a/mysql-test/suite/rpl/r/rpl_skip_error.result
+++ b/mysql-test/suite/rpl/r/rpl_skip_error.result
@@ -4,33 +4,127 @@ reset master;
reset slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
start slave;
+==== Test Without sql_mode=strict_trans_tables ====
+[on master]
create table t1 (n int not null primary key);
+[on slave]
insert into t1 values (1);
+[on master]
insert into t1 values (1);
insert into t1 values (2),(3);
-select * from t1 ORDER BY n;
+[on slave]
+select * from t1 order by n;
n
1
2
3
+==== Test With sql_mode=strict_trans_tables ====
+insert into t1 values (7),(8);
+[on master]
+set sql_mode=strict_trans_tables;
+insert into t1 values (7), (8), (9);
+[on slave]
+select * from t1 order by n;
+n
+1
+2
+3
+7
+8
+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 #
+Last_IO_Error #
+Last_SQL_Errno 0
+Last_SQL_Error
+==== Clean Up ====
drop table t1;
create table t1(a int primary key);
insert into t1 values (1),(2);
delete from t1 where @@server_id=1;
+Warnings:
+Warning 1592 Statement is not safe to log in statement format.
set sql_mode=strict_trans_tables;
-select @@server_id;
-@@server_id
-1
-insert into t1 values (1),(2),(3);
-select @@server_id;
-@@server_id
-2
+insert into t1 values (7), (8), (9);
+[on slave]
select * from t1;
a
1
2
-3
-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
-# 127.0.0.1 root MASTER_PORT 1 master-bin.000001 776 # # master-bin.000001 Yes Yes 0 0 776 # None 0 No # No 0 0
+7
+8
+9
+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 #
+Last_IO_Error #
+Last_SQL_Errno 0
+Last_SQL_Error
+==== Clean Up ====
drop table t1;
diff --git a/mysql-test/suite/rpl/r/rpl_slave_skip.result b/mysql-test/suite/rpl/r/rpl_slave_skip.result
index b99ae3ad94a..f89fa34e319 100644
--- a/mysql-test/suite/rpl/r/rpl_slave_skip.result
+++ b/mysql-test/suite/rpl/r/rpl_slave_skip.result
@@ -44,7 +44,7 @@ Master_User root
Master_Port MASTER_PORT
Connect_Retry 1
Master_Log_File master-bin.000001
-Read_Master_Log_Pos 714
+Read_Master_Log_Pos 722
Relay_Log_File #
Relay_Log_Pos #
Relay_Master_Log_File master-bin.000001
@@ -59,7 +59,7 @@ Replicate_Wild_Ignore_Table
Last_Errno 0
Last_Error
Skip_Counter 0
-Exec_Master_Log_Pos 484
+Exec_Master_Log_Pos 488
Relay_Log_Space #
Until_Condition Master
Until_Log_File master-bin.000001
@@ -142,3 +142,211 @@ Last_SQL_Errno 0
Last_SQL_Error
**** On Master ****
DROP TABLE t1, t2;
+SET SESSION BINLOG_FORMAT=ROW;
+SET AUTOCOMMIT=0;
+CREATE TABLE t1 (a INT, b VARCHAR(20)) ENGINE=myisam;
+CREATE TABLE t2 (a INT, b VARCHAR(20)) ENGINE=myisam;
+CREATE TABLE t3 (a INT, b VARCHAR(20)) ENGINE=myisam;
+INSERT INTO t1 VALUES (1,'master/slave');
+INSERT INTO t2 VALUES (1,'master/slave');
+INSERT INTO t3 VALUES (1,'master/slave');
+CREATE TRIGGER tr1 AFTER UPDATE on t1 FOR EACH ROW
+BEGIN
+INSERT INTO t2 VALUES (NEW.a,NEW.b);
+DELETE FROM t2 WHERE a < NEW.a;
+END|
+CREATE TRIGGER tr2 AFTER INSERT on t2 FOR EACH ROW
+BEGIN
+UPDATE t3 SET a =2, b = 'master only';
+END|
+**** On Slave ****
+STOP SLAVE;
+**** On Master ****
+UPDATE t1 SET a = 2, b = 'master only' WHERE a = 1;
+DROP TRIGGER tr1;
+DROP TRIGGER tr2;
+INSERT INTO t1 VALUES (3,'master/slave');
+INSERT INTO t2 VALUES (3,'master/slave');
+INSERT INTO t3 VALUES (3,'master/slave');
+SELECT * FROM t1 ORDER BY a;
+a b
+2 master only
+3 master/slave
+SELECT * FROM t2 ORDER BY a;
+a b
+2 master only
+3 master/slave
+SELECT * FROM t3 ORDER BY a;
+a b
+2 master only
+3 master/slave
+*** On Slave ***
+SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
+START SLAVE;
+SELECT * FROM t1 ORDER BY a;
+a b
+1 master/slave
+3 master/slave
+SELECT * FROM t2 ORDER BY a;
+a b
+1 master/slave
+3 master/slave
+SELECT * FROM t3 ORDER BY a;
+a b
+1 master/slave
+3 master/slave
+DROP TABLE t1, t2, t3;
+**** Case 2: Row binlog format and transactional tables ****
+*** On Master ***
+CREATE TABLE t4 (a INT, b VARCHAR(20)) ENGINE=innodb;
+CREATE TABLE t5 (a INT, b VARCHAR(20)) ENGINE=innodb;
+CREATE TABLE t6 (a INT, b VARCHAR(20)) ENGINE=innodb;
+**** On Slave ****
+STOP SLAVE;
+*** On Master ***
+BEGIN;
+INSERT INTO t4 VALUES (2, 'master only');
+INSERT INTO t5 VALUES (2, 'master only');
+INSERT INTO t6 VALUES (2, 'master only');
+COMMIT;
+BEGIN;
+INSERT INTO t4 VALUES (3, 'master/slave');
+INSERT INTO t5 VALUES (3, 'master/slave');
+INSERT INTO t6 VALUES (3, 'master/slave');
+COMMIT;
+SELECT * FROM t4 ORDER BY a;
+a b
+2 master only
+3 master/slave
+SELECT * FROM t5 ORDER BY a;
+a b
+2 master only
+3 master/slave
+SELECT * FROM t6 ORDER BY a;
+a b
+2 master only
+3 master/slave
+*** On Slave ***
+SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
+START SLAVE;
+SELECT * FROM t4 ORDER BY a;
+a b
+3 master/slave
+SELECT * FROM t5 ORDER BY a;
+a b
+3 master/slave
+SELECT * FROM t6 ORDER BY a;
+a b
+3 master/slave
+**** On Slave ****
+STOP SLAVE;
+*** On Master ***
+BEGIN;
+INSERT INTO t4 VALUES (6, 'master only');
+INSERT INTO t5 VALUES (6, 'master only');
+INSERT INTO t6 VALUES (6, 'master only');
+COMMIT;
+BEGIN;
+INSERT INTO t4 VALUES (7, 'master only');
+INSERT INTO t5 VALUES (7, 'master only');
+INSERT INTO t6 VALUES (7, 'master only');
+COMMIT;
+SELECT * FROM t4 ORDER BY a;
+a b
+2 master only
+3 master/slave
+6 master only
+7 master only
+SELECT * FROM t5 ORDER BY a;
+a b
+2 master only
+3 master/slave
+6 master only
+7 master only
+SELECT * FROM t6 ORDER BY a;
+a b
+2 master only
+3 master/slave
+6 master only
+7 master only
+*** On Slave ***
+SET GLOBAL SQL_SLAVE_SKIP_COUNTER=10;
+START SLAVE;
+SELECT * FROM t4 ORDER BY a;
+a b
+3 master/slave
+SELECT * FROM t5 ORDER BY a;
+a b
+3 master/slave
+SELECT * FROM t6 ORDER BY a;
+a b
+3 master/slave
+STOP SLAVE;
+SET AUTOCOMMIT=0;
+INSERT INTO t4 VALUES (4, 'master only');
+INSERT INTO t5 VALUES (4, 'master only');
+INSERT INTO t6 VALUES (4, 'master only');
+COMMIT;
+INSERT INTO t4 VALUES (5, 'master/slave');
+INSERT INTO t5 VALUES (5, 'master/slave');
+INSERT INTO t6 VALUES (5, 'master/slave');
+COMMIT;
+SELECT * FROM t4 ORDER BY a;
+a b
+2 master only
+3 master/slave
+4 master only
+5 master/slave
+6 master only
+7 master only
+SELECT * FROM t5 ORDER BY a;
+a b
+2 master only
+3 master/slave
+4 master only
+5 master/slave
+6 master only
+7 master only
+SELECT * FROM t6 ORDER BY a;
+a b
+2 master only
+3 master/slave
+4 master only
+5 master/slave
+6 master only
+7 master only
+*** On Slave ***
+SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
+START SLAVE;
+SELECT * FROM t4 ORDER BY a;
+a b
+3 master/slave
+5 master/slave
+SELECT * FROM t5 ORDER BY a;
+a b
+3 master/slave
+5 master/slave
+SELECT * FROM t6 ORDER BY a;
+a b
+3 master/slave
+5 master/slave
+DROP TABLE t4, t5, t6;
+**** Case 3: Statement logging format and LOAD DATA with non-transactional table ****
+*** On Master ***
+CREATE TABLE t10 (a INT, b VARCHAR(20)) ENGINE=myisam;
+*** On Slave ***
+STOP SLAVE;
+*** On Master ***
+SET SESSION BINLOG_FORMAT=STATEMENT;
+LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/rpl_bug28618.dat' INTO TABLE t10 FIELDS TERMINATED BY '|';
+SELECT * FROM t10 ORDER BY a;
+a b
+1 master only
+2 master only
+3 master only
+*** On Slave ***
+SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
+START SLAVE;
+SELECT * FROM t10 ORDER BY a;
+a b
+DROP TABLE t10;
diff --git a/mysql-test/suite/rpl/r/rpl_sp_effects.result b/mysql-test/suite/rpl/r/rpl_sp_effects.result
index c2c44b06972..a39d189aa3a 100644
--- a/mysql-test/suite/rpl/r/rpl_sp_effects.result
+++ b/mysql-test/suite/rpl/r/rpl_sp_effects.result
@@ -235,4 +235,45 @@ drop table t1;
drop function f1;
drop function f2;
drop procedure p1;
+create table t2 (b BIT(7));
+create procedure sp_bug26199(bitvalue BIT(7))
+begin
+insert into t2 set b = bitvalue;
+end //
+create function sf_bug26199(b BIT(7)) returns int
+begin
+insert into t2 values(b);
+return 0;
+end//
+call sp_bug26199(b'1110');
+call sp_bug26199('\0');
+select sf_bug26199(b'1111111');
+sf_bug26199(b'1111111')
+0
+select sf_bug26199(b'101111111');
+sf_bug26199(b'101111111')
+0
+Warnings:
+Warning 1264 Out of range value for column 'b' at row 1
+select sf_bug26199('\'');
+sf_bug26199('\'')
+0
+select hex(b) from t2;
+hex(b)
+E
+0
+7F
+7F
+27
+select hex(b) from t2;
+hex(b)
+E
+0
+7F
+7F
+27
+drop table t2;
+drop procedure sp_bug26199;
+drop function sf_bug26199;
SET GLOBAL log_bin_trust_function_creators = 0;
+end of the tests
diff --git a/mysql-test/suite/rpl/r/rpl_start_stop_slave.result b/mysql-test/suite/rpl/r/rpl_start_stop_slave.result
index 1fcb586d1fb..04ece812f35 100644
--- a/mysql-test/suite/rpl/r/rpl_start_stop_slave.result
+++ b/mysql-test/suite/rpl/r/rpl_start_stop_slave.result
@@ -4,8 +4,8 @@ reset master;
reset slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
start slave;
-stop slave;
create table t1(n int);
+stop slave;
start slave;
stop slave io_thread;
start slave io_thread;
diff --git a/mysql-test/suite/rpl/r/rpl_stm_charset.result b/mysql-test/suite/rpl/r/rpl_stm_charset.result
deleted file mode 100644
index fd9c40843d5..00000000000
--- a/mysql-test/suite/rpl/r/rpl_stm_charset.result
+++ /dev/null
@@ -1,270 +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 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;
-
---- --master--
-show create database mysqltest2;
-Database Create Database
-mysqltest2 CREATE DATABASE `mysqltest2` /*!40100 DEFAULT CHARACTER SET latin2 */
-show create database mysqltest3;
-Database Create Database
-mysqltest3 CREATE DATABASE `mysqltest3` /*!40100 DEFAULT CHARACTER SET latin5 */
-
---- --slave--
-show create database mysqltest2;
-Database Create Database
-mysqltest2 CREATE DATABASE `mysqltest2` /*!40100 DEFAULT CHARACTER SET latin2 */
-show create database mysqltest3;
-Database Create Database
-mysqltest3 CREATE DATABASE `mysqltest3` /*!40100 DEFAULT CHARACTER SET latin5 */
-set @@collation_server=armscii8_bin;
-drop database mysqltest3;
-create database mysqltest3;
-
---- --master--
-show create database mysqltest3;
-Database Create Database
-mysqltest3 CREATE DATABASE `mysqltest3` /*!40100 DEFAULT CHARACTER SET armscii8 COLLATE armscii8_bin */
-
---- --slave--
-show create database mysqltest3;
-Database Create Database
-mysqltest3 CREATE DATABASE `mysqltest3` /*!40100 DEFAULT CHARACTER SET armscii8 COLLATE armscii8_bin */
-use mysqltest2;
-create table t1 (a int auto_increment primary key, b varchar(100));
-set character_set_client=cp850, collation_connection=latin2_croatian_ci;
-insert into t1 (b) values(@@character_set_server);
-insert into t1 (b) values(@@collation_server);
-insert into t1 (b) values(@@character_set_client);
-insert into t1 (b) values(@@character_set_connection);
-insert into t1 (b) values(@@collation_connection);
-
---- --master--
-select * from t1 order by a;
-a b
-1 armscii8
-2 armscii8_bin
-3 cp850
-4 latin2
-5 latin2_croatian_ci
-
---- --slave--
-select * from mysqltest2.t1 order by a;
-a b
-1 armscii8
-2 armscii8_bin
-3 cp850
-4 latin2
-5 latin2_croatian_ci
-set character_set_client=latin1, collation_connection=latin1_german1_ci;
-truncate table t1;
-insert into t1 (b) values(@@collation_connection);
-insert into t1 (b) values(LEAST("Müller","Muffler"));
-set collation_connection=latin1_german2_ci;
-insert into t1 (b) values(@@collation_connection);
-insert into t1 (b) values(LEAST("Müller","Muffler"));
-
---- --master--
-select * from t1 order by a;
-a b
-1 latin1_german1_ci
-2 Muffler
-3 latin1_german2_ci
-4 Müller
-
---- --slave--
-select * from mysqltest2.t1 order by a;
-a b
-1 latin1_german1_ci
-2 Muffler
-3 latin1_german2_ci
-4 Müller
-set @a= _cp850 'Müller' collate cp850_general_ci;
-truncate table t1;
-insert into t1 (b) values(collation(@a));
-
---- --master--
-select * from t1 order by a;
-a b
-1 cp850_general_ci
-
---- --slave--
-select * from mysqltest2.t1 order by a;
-a b
-1 cp850_general_ci
-drop database mysqltest2;
-drop database mysqltest3;
-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 mysqltest2
-master-bin.000001 # Query # # drop database if exists mysqltest3
-master-bin.000001 # Query # # create database mysqltest2 character set latin2
-master-bin.000001 # Query # # create database mysqltest3
-master-bin.000001 # Query # # drop database mysqltest3
-master-bin.000001 # Query # # create database mysqltest3
-master-bin.000001 # Query # # use `mysqltest2`; create table t1 (a int auto_increment primary key, b varchar(100))
-master-bin.000001 # Intvar # # INSERT_ID=1
-master-bin.000001 # Query # # use `mysqltest2`; insert into t1 (b) values(@@character_set_server)
-master-bin.000001 # Intvar # # INSERT_ID=2
-master-bin.000001 # Query # # use `mysqltest2`; insert into t1 (b) values(@@collation_server)
-master-bin.000001 # Intvar # # INSERT_ID=3
-master-bin.000001 # Query # # use `mysqltest2`; insert into t1 (b) values(@@character_set_client)
-master-bin.000001 # Intvar # # INSERT_ID=4
-master-bin.000001 # Query # # use `mysqltest2`; insert into t1 (b) values(@@character_set_connection)
-master-bin.000001 # Intvar # # INSERT_ID=5
-master-bin.000001 # Query # # use `mysqltest2`; insert into t1 (b) values(@@collation_connection)
-master-bin.000001 # Query # # use `mysqltest2`; truncate table t1
-master-bin.000001 # Intvar # # INSERT_ID=1
-master-bin.000001 # Query # # use `mysqltest2`; insert into t1 (b) values(@@collation_connection)
-master-bin.000001 # Intvar # # INSERT_ID=2
-master-bin.000001 # Query # # use `mysqltest2`; insert into t1 (b) values(LEAST("Müller","Muffler"))
-master-bin.000001 # Intvar # # INSERT_ID=3
-master-bin.000001 # Query # # use `mysqltest2`; insert into t1 (b) values(@@collation_connection)
-master-bin.000001 # Intvar # # INSERT_ID=4
-master-bin.000001 # Query # # use `mysqltest2`; insert into t1 (b) values(LEAST("Müller","Muffler"))
-master-bin.000001 # Query # # use `mysqltest2`; truncate table t1
-master-bin.000001 # Intvar # # INSERT_ID=1
-master-bin.000001 # User var # # @`a`=_cp850 0x4DFC6C6C6572 COLLATE cp850_general_ci
-master-bin.000001 # Query # # use `mysqltest2`; insert into t1 (b) values(collation(@a))
-master-bin.000001 # Query # # drop database mysqltest2
-master-bin.000001 # Query # # drop database mysqltest3
-set global character_set_server=latin2;
-set global character_set_server=latin1;
-set global character_set_server=latin2;
-set global character_set_server=latin1;
-set one_shot @@character_set_server=latin5;
-set @@max_join_size=1000;
-select @@character_set_server;
-@@character_set_server
-latin5
-select @@character_set_server;
-@@character_set_server
-latin1
-set @@character_set_server=latin5;
-select @@character_set_server;
-@@character_set_server
-latin5
-select @@character_set_server;
-@@character_set_server
-latin5
-set one_shot max_join_size=10;
-ERROR HY000: The 'SET ONE_SHOT' syntax is reserved for purposes internal to the MySQL server
-set character_set_client=9999999;
-ERROR 42000: Unknown character set: '9999999'
-set collation_server=9999998;
-ERROR HY000: Unknown collation: '9999998'
-use test;
-CREATE TABLE t1 (c1 VARBINARY(255), c2 VARBINARY(255));
-SET CHARACTER_SET_CLIENT=koi8r,
-CHARACTER_SET_CONNECTION=cp1251,
-CHARACTER_SET_RESULTS=koi8r;
-INSERT INTO t1 (c1, c2) VALUES ('îÕ, ÚÁ ÒÙÂÁÌËÕ','îÕ, ÚÁ ÒÙÂÁÌËÕ');
-select hex(c1), hex(c2) from t1;
-hex(c1) hex(c2)
-CDF32C20E7E020F0FBE1E0EBEAF3 CDF32C20E7E020F0FBE1E0EBEAF3
-select hex(c1), hex(c2) from t1;
-hex(c1) hex(c2)
-CDF32C20E7E020F0FBE1E0EBEAF3 CDF32C20E7E020F0FBE1E0EBEAF3
-flush logs;
-/*!40019 SET @@session.max_insert_delayed_threads=0*/;
-/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
-DELIMITER /*!*/;
-ROLLBACK/*!*/;
-SET TIMESTAMP=1000000000/*!*/;
-SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
-SET @@session.sql_mode=0/*!*/;
-/*!\C latin1 *//*!*/;
-SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
-drop database if exists mysqltest2/*!*/;
-SET TIMESTAMP=1000000000/*!*/;
-drop database if exists mysqltest3/*!*/;
-SET TIMESTAMP=1000000000/*!*/;
-create database mysqltest2 character set latin2/*!*/;
-SET TIMESTAMP=1000000000/*!*/;
-/*!\C latin1 *//*!*/;
-SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=30/*!*/;
-create database mysqltest3/*!*/;
-SET TIMESTAMP=1000000000/*!*/;
-/*!\C latin1 *//*!*/;
-SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=64/*!*/;
-drop database mysqltest3/*!*/;
-SET TIMESTAMP=1000000000/*!*/;
-create database mysqltest3/*!*/;
-use mysqltest2/*!*/;
-SET TIMESTAMP=1000000000/*!*/;
-create table t1 (a int auto_increment primary key, b varchar(100))/*!*/;
-SET INSERT_ID=1/*!*/;
-SET TIMESTAMP=1000000000/*!*/;
-/*!\C cp850 *//*!*/;
-SET @@session.character_set_client=4,@@session.collation_connection=27,@@session.collation_server=64/*!*/;
-insert into t1 (b) values(@@character_set_server)/*!*/;
-SET INSERT_ID=2/*!*/;
-SET TIMESTAMP=1000000000/*!*/;
-insert into t1 (b) values(@@collation_server)/*!*/;
-SET INSERT_ID=3/*!*/;
-SET TIMESTAMP=1000000000/*!*/;
-insert into t1 (b) values(@@character_set_client)/*!*/;
-SET INSERT_ID=4/*!*/;
-SET TIMESTAMP=1000000000/*!*/;
-insert into t1 (b) values(@@character_set_connection)/*!*/;
-SET INSERT_ID=5/*!*/;
-SET TIMESTAMP=1000000000/*!*/;
-insert into t1 (b) values(@@collation_connection)/*!*/;
-SET TIMESTAMP=1000000000/*!*/;
-/*!\C latin1 *//*!*/;
-SET @@session.character_set_client=8,@@session.collation_connection=5,@@session.collation_server=64/*!*/;
-truncate table t1/*!*/;
-SET INSERT_ID=1/*!*/;
-SET TIMESTAMP=1000000000/*!*/;
-insert into t1 (b) values(@@collation_connection)/*!*/;
-SET INSERT_ID=2/*!*/;
-SET TIMESTAMP=1000000000/*!*/;
-insert into t1 (b) values(LEAST("Müller","Muffler"))/*!*/;
-SET INSERT_ID=3/*!*/;
-SET TIMESTAMP=1000000000/*!*/;
-/*!\C latin1 *//*!*/;
-SET @@session.character_set_client=8,@@session.collation_connection=31,@@session.collation_server=64/*!*/;
-insert into t1 (b) values(@@collation_connection)/*!*/;
-SET INSERT_ID=4/*!*/;
-SET TIMESTAMP=1000000000/*!*/;
-insert into t1 (b) values(LEAST("Müller","Muffler"))/*!*/;
-SET TIMESTAMP=1000000000/*!*/;
-truncate table t1/*!*/;
-SET INSERT_ID=1/*!*/;
-SET @`a`:=_cp850 0x4DFC6C6C6572 COLLATE `cp850_general_ci`/*!*/;
-SET TIMESTAMP=1000000000/*!*/;
-insert into t1 (b) values(collation(@a))/*!*/;
-SET TIMESTAMP=1000000000/*!*/;
-drop database mysqltest2/*!*/;
-SET TIMESTAMP=1000000000/*!*/;
-drop database mysqltest3/*!*/;
-use test/*!*/;
-SET TIMESTAMP=1000000000/*!*/;
-/*!\C latin1 *//*!*/;
-SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=30/*!*/;
-CREATE TABLE t1 (c1 VARBINARY(255), c2 VARBINARY(255))/*!*/;
-SET TIMESTAMP=1000000000/*!*/;
-/*!\C koi8r *//*!*/;
-SET @@session.character_set_client=7,@@session.collation_connection=51,@@session.collation_server=30/*!*/;
-INSERT INTO t1 (c1, c2) VALUES ('îÕ, ÚÁ ÒÙÂÁÌËÕ','îÕ, ÚÁ ÒÙÂÁÌËÕ')/*!*/;
-DELIMITER ;
-# End of log file
-ROLLBACK /* added by mysqlbinlog */;
-/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
-drop table t1;
-create table `t1` (
-`pk` varchar(10) not null default '',
-primary key (`pk`)
-) engine=myisam default charset=latin1;
-set @p=_latin1 'test';
-update t1 set pk='test' where pk=@p;
-drop table t1;
diff --git a/mysql-test/suite/rpl/r/rpl_stm_log.result b/mysql-test/suite/rpl/r/rpl_stm_log.result
index f6b86b19f8d..18333f5e5e9 100644
--- a/mysql-test/suite/rpl/r/rpl_stm_log.result
+++ b/mysql-test/suite/rpl/r/rpl_stm_log.result
@@ -38,11 +38,153 @@ Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query 1 # use `test`; insert into t1 values (NULL)
flush logs;
create table t3 (a int)ENGINE=MyISAM;
+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
start slave;
let $result_pattern= '%127.0.0.1%root%master-bin.000002%slave-relay-bin.000005%Yes%Yes%0%0%None%' ;
--source include/wait_slave_status.inc
+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;
stop slave;
create table t2 (n int)ENGINE=MyISAM;
@@ -54,8 +196,8 @@ master-bin.000001 # Intvar # # INSERT_ID=1
master-bin.000001 # Query # # use `test`; insert into t1 values (NULL)
master-bin.000001 # Query # # use `test`; drop table t1
master-bin.000001 # Query # # use `test`; create table t1 (word char(20) not null)ENGINE=MyISAM
-master-bin.000001 # Begin_load_query # # ;file_id=1;block_len=581
-master-bin.000001 # Execute_load_query # # use `test`; load data infile '../std_data_ln/words.dat' into table t1 ignore 1 lines ;file_id=1
+master-bin.000001 # Begin_load_query # # ;file_id=#;block_len=581
+master-bin.000001 # Execute_load_query # # use `test`; load data infile '../std_data_ln/words.dat' into table t1 ignore 1 lines ;file_id=#
master-bin.000001 # Rotate # # master-bin.000002;pos=4
show binlog events in 'master-bin.000002';
Log_name Pos Event_type Server_id End_log_pos Info
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 947b5686a18..2215b34814e 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
@@ -28,7 +28,7 @@ Master_User root
Master_Port MASTER_PORT
Connect_Retry 1
Master_Log_File master-bin.000001
-Read_Master_Log_Pos 72960
+Read_Master_Log_Pos #
Relay_Log_File #
Relay_Log_Pos #
Relay_Master_Log_File master-bin.000001
@@ -43,7 +43,7 @@ Replicate_Wild_Ignore_Table
Last_Errno 0
Last_Error
Skip_Counter 0
-Exec_Master_Log_Pos 72960
+Exec_Master_Log_Pos #
Relay_Log_Space #
Until_Condition None
Until_Log_File
@@ -76,7 +76,7 @@ Master_User root
Master_Port MASTER_PORT
Connect_Retry 1
Master_Log_File master-bin.000001
-Read_Master_Log_Pos 72960
+Read_Master_Log_Pos #
Relay_Log_File #
Relay_Log_Pos #
Relay_Master_Log_File master-bin.000001
@@ -91,7 +91,7 @@ Replicate_Wild_Ignore_Table
Last_Errno 0
Last_Error
Skip_Counter 0
-Exec_Master_Log_Pos 72960
+Exec_Master_Log_Pos #
Relay_Log_Space #
Until_Condition None
Until_Log_File
@@ -124,7 +124,7 @@ Master_User root
Master_Port MASTER_PORT
Connect_Retry 1
Master_Log_File master-bin.000001
-Read_Master_Log_Pos 72960
+Read_Master_Log_Pos #
Relay_Log_File #
Relay_Log_Pos #
Relay_Master_Log_File master-bin.000001
@@ -139,7 +139,7 @@ Replicate_Wild_Ignore_Table
Last_Errno 0
Last_Error
Skip_Counter 0
-Exec_Master_Log_Pos 72960
+Exec_Master_Log_Pos #
Relay_Log_Space #
Until_Condition None
Until_Log_File
@@ -169,7 +169,7 @@ Master_User root
Master_Port MASTER_PORT
Connect_Retry 1
Master_Log_File
-Read_Master_Log_Pos 4
+Read_Master_Log_Pos #
Relay_Log_File #
Relay_Log_Pos #
Relay_Master_Log_File
@@ -184,7 +184,7 @@ Replicate_Wild_Ignore_Table
Last_Errno 0
Last_Error
Skip_Counter 0
-Exec_Master_Log_Pos 0
+Exec_Master_Log_Pos #
Relay_Log_Space #
Until_Condition None
Until_Log_File
@@ -215,7 +215,7 @@ Master_User root
Master_Port MASTER_PORT
Connect_Retry 1
Master_Log_File master-bin.000001
-Read_Master_Log_Pos 73046
+Read_Master_Log_Pos #
Relay_Log_File #
Relay_Log_Pos #
Relay_Master_Log_File master-bin.000001
@@ -230,7 +230,7 @@ Replicate_Wild_Ignore_Table
Last_Errno 0
Last_Error
Skip_Counter 0
-Exec_Master_Log_Pos 73046
+Exec_Master_Log_Pos #
Relay_Log_Space #
Until_Condition None
Until_Log_File
@@ -259,7 +259,7 @@ Master_User root
Master_Port MASTER_PORT
Connect_Retry 1
Master_Log_File master-bin.000001
-Read_Master_Log_Pos 73122
+Read_Master_Log_Pos #
Relay_Log_File #
Relay_Log_Pos #
Relay_Master_Log_File master-bin.000001
@@ -274,7 +274,7 @@ Replicate_Wild_Ignore_Table
Last_Errno 0
Last_Error
Skip_Counter 0
-Exec_Master_Log_Pos 73122
+Exec_Master_Log_Pos #
Relay_Log_Space #
Until_Condition None
Until_Log_File
@@ -293,10 +293,8 @@ Last_SQL_Errno 0
Last_SQL_Error
flush logs;
show master status;
-File master-bin.000002
-Position 106
-Binlog_Do_DB <Binlog_Ignore_DB>
-Binlog_Ignore_DB
+File Position Binlog_Do_DB Binlog_Ignore_DB
+master-bin.000002 # <Binlog_Do_DB> <Binlog_Ignore_DB>
set global max_binlog_size= @my_max_binlog_size;
#
# End of 4.1 tests
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 d08e8646c73..bb89d150af7 100644
--- a/mysql-test/suite/rpl/r/rpl_stm_reset_slave.result
+++ b/mysql-test/suite/rpl/r/rpl_stm_reset_slave.result
@@ -11,7 +11,7 @@ Master_User root
Master_Port MASTER_PORT
Connect_Retry 1
Master_Log_File master-bin.000001
-Read_Master_Log_Pos 106
+Read_Master_Log_Pos #
Relay_Log_File #
Relay_Log_Pos #
Relay_Master_Log_File master-bin.000001
@@ -26,7 +26,7 @@ Replicate_Wild_Ignore_Table
Last_Errno 0
Last_Error
Skip_Counter 0
-Exec_Master_Log_Pos 106
+Exec_Master_Log_Pos #
Relay_Log_Space #
Until_Condition None
Until_Log_File
@@ -52,7 +52,7 @@ Master_User test
Master_Port MASTER_PORT
Connect_Retry 1
Master_Log_File master-bin.000001
-Read_Master_Log_Pos 106
+Read_Master_Log_Pos #
Relay_Log_File #
Relay_Log_Pos #
Relay_Master_Log_File master-bin.000001
@@ -67,7 +67,7 @@ Replicate_Wild_Ignore_Table
Last_Errno 0
Last_Error
Skip_Counter 0
-Exec_Master_Log_Pos 106
+Exec_Master_Log_Pos #
Relay_Log_Space #
Until_Condition None
Until_Log_File
@@ -92,7 +92,7 @@ Master_User root
Master_Port MASTER_PORT
Connect_Retry 1
Master_Log_File
-Read_Master_Log_Pos 4
+Read_Master_Log_Pos #
Relay_Log_File #
Relay_Log_Pos #
Relay_Master_Log_File
@@ -107,7 +107,7 @@ Replicate_Wild_Ignore_Table
Last_Errno 0
Last_Error
Skip_Counter 0
-Exec_Master_Log_Pos 0
+Exec_Master_Log_Pos #
Relay_Log_Space #
Until_Condition None
Until_Log_File
@@ -132,7 +132,7 @@ Master_User root
Master_Port MASTER_PORT
Connect_Retry 1
Master_Log_File master-bin.000001
-Read_Master_Log_Pos 106
+Read_Master_Log_Pos #
Relay_Log_File #
Relay_Log_Pos #
Relay_Master_Log_File master-bin.000001
@@ -147,7 +147,7 @@ Replicate_Wild_Ignore_Table
Last_Errno 0
Last_Error
Skip_Counter 0
-Exec_Master_Log_Pos 106
+Exec_Master_Log_Pos #
Relay_Log_Space #
Until_Condition None
Until_Log_File
diff --git a/mysql-test/suite/rpl/r/rpl_stm_until.result b/mysql-test/suite/rpl/r/rpl_stm_until.result
index 947ce0153b1..619115aa534 100644
--- a/mysql-test/suite/rpl/r/rpl_stm_until.result
+++ b/mysql-test/suite/rpl/r/rpl_stm_until.result
@@ -26,7 +26,7 @@ Master_User root
Master_Port MASTER_PORT
Connect_Retry 1
Master_Log_File master-bin.000001
-Read_Master_Log_Pos 784
+Read_Master_Log_Pos #
Relay_Log_File #
Relay_Log_Pos #
Relay_Master_Log_File master-bin.000001
@@ -41,7 +41,7 @@ Replicate_Wild_Ignore_Table
Last_Errno 0
Last_Error
Skip_Counter 0
-Exec_Master_Log_Pos 327
+Exec_Master_Log_Pos #
Relay_Log_Space #
Until_Condition Master
Until_Log_File master-bin.000001
@@ -72,7 +72,7 @@ Master_User root
Master_Port MASTER_PORT
Connect_Retry 1
Master_Log_File master-bin.000001
-Read_Master_Log_Pos 784
+Read_Master_Log_Pos #
Relay_Log_File #
Relay_Log_Pos #
Relay_Master_Log_File master-bin.000001
@@ -87,7 +87,7 @@ Replicate_Wild_Ignore_Table
Last_Errno 0
Last_Error
Skip_Counter 0
-Exec_Master_Log_Pos 327
+Exec_Master_Log_Pos #
Relay_Log_Space #
Until_Condition Master
Until_Log_File master-no-such-bin.000001
@@ -116,7 +116,7 @@ Master_User root
Master_Port MASTER_PORT
Connect_Retry 1
Master_Log_File master-bin.000001
-Read_Master_Log_Pos 784
+Read_Master_Log_Pos #
Relay_Log_File #
Relay_Log_Pos #
Relay_Master_Log_File master-bin.000001
@@ -131,7 +131,7 @@ Replicate_Wild_Ignore_Table
Last_Errno 0
Last_Error
Skip_Counter 0
-Exec_Master_Log_Pos 616
+Exec_Master_Log_Pos #
Relay_Log_Space #
Until_Condition Relay
Until_Log_File slave-relay-bin.000004
@@ -158,7 +158,7 @@ Master_User root
Master_Port MASTER_PORT
Connect_Retry 1
Master_Log_File master-bin.000001
-Read_Master_Log_Pos 784
+Read_Master_Log_Pos #
Relay_Log_File #
Relay_Log_Pos #
Relay_Master_Log_File master-bin.000001
@@ -173,7 +173,7 @@ Replicate_Wild_Ignore_Table
Last_Errno 0
Last_Error
Skip_Counter 0
-Exec_Master_Log_Pos 784
+Exec_Master_Log_Pos #
Relay_Log_Space #
Until_Condition Master
Until_Log_File master-bin.000001
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 c3f0c07b92c..cae8492abbd 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
@@ -405,6 +405,26 @@ CREATE TABLE t12 (data LONG);
LOCK TABLES t12 WRITE;
INSERT INTO t12 VALUES(UUID());
UNLOCK TABLES;
+CREATE FUNCTION my_user()
+RETURNS CHAR(64)
+BEGIN
+DECLARE user CHAR(64);
+SELECT USER() INTO user;
+RETURN user;
+END $$
+CREATE FUNCTION my_current_user()
+RETURNS CHAR(64)
+BEGIN
+DECLARE user CHAR(64);
+SELECT CURRENT_USER() INTO user;
+RETURN user;
+END $$
+DROP TABLE IF EXISTS t13;
+CREATE TABLE t13 (data CHAR(64));
+INSERT INTO t13 VALUES (USER());
+INSERT INTO t13 VALUES (my_user());
+INSERT INTO t13 VALUES (CURRENT_USER());
+INSERT INTO t13 VALUES (my_current_user());
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 mysqltest1
@@ -451,21 +471,27 @@ master-bin.000001 # Query # # use `mysqltest1`; insert into t1 select 'emergency
master-bin.000001 # Table_map # # table_id: # (mysqltest1.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 select "yesterday_24_"
+master-bin.000001 # Query # # use `mysqltest1`; BEGIN
master-bin.000001 # Query # # use `mysqltest1`; CREATE TABLE `t2` (
`rpad(UUID(),100,' ')` varchar(100) CHARACTER SET utf8 NOT NULL DEFAULT ''
)
master-bin.000001 # Table_map # # table_id: # (mysqltest1.t2)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # use `mysqltest1`; COMMIT
+master-bin.000001 # Query # # use `mysqltest1`; BEGIN
master-bin.000001 # Query # # use `mysqltest1`; CREATE TABLE `t3` (
`1` varbinary(108) NOT NULL DEFAULT ''
)
master-bin.000001 # Table_map # # table_id: # (mysqltest1.t3)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # use `mysqltest1`; COMMIT
+master-bin.000001 # Query # # use `mysqltest1`; BEGIN
master-bin.000001 # Query # # use `mysqltest1`; CREATE TABLE `t4` (
`a` varchar(100) DEFAULT NULL
)
master-bin.000001 # Table_map # # table_id: # (mysqltest1.t4)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # use `mysqltest1`; COMMIT
master-bin.000001 # Query # # use `mysqltest1`; create table t5 select * from t1 where 3 in (select 1 union select 2 union select curdate() union select 3)
master-bin.000001 # Table_map # # table_id: # (mysqltest1.t5)
master-bin.000001 # Write_rows # # table_id: #
@@ -709,6 +735,30 @@ master-bin.000001 # Query # # use `mysqltest1`; DROP TABLE IF EXISTS t12
master-bin.000001 # Query # # use `mysqltest1`; CREATE TABLE t12 (data LONG)
master-bin.000001 # Table_map # # table_id: # (mysqltest1.t12)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # use `mysqltest1`; CREATE DEFINER=`root`@`localhost` FUNCTION my_user()
+RETURNS CHAR(64)
+BEGIN
+DECLARE user CHAR(64);
+SELECT USER() INTO user;
+RETURN user;
+END
+master-bin.000001 # Query # # use `mysqltest1`; CREATE DEFINER=`root`@`localhost` FUNCTION my_current_user()
+RETURNS CHAR(64)
+BEGIN
+DECLARE user CHAR(64);
+SELECT CURRENT_USER() INTO user;
+RETURN user;
+END
+master-bin.000001 # Query # # use `mysqltest1`; DROP TABLE IF EXISTS t13
+master-bin.000001 # Query # # use `mysqltest1`; CREATE TABLE t13 (data CHAR(64))
+master-bin.000001 # Table_map # # table_id: # (mysqltest1.t13)
+master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Table_map # # table_id: # (mysqltest1.t13)
+master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Table_map # # table_id: # (mysqltest1.t13)
+master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Table_map # # table_id: # (mysqltest1.t13)
+master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
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 mysqltest1
@@ -755,21 +805,27 @@ master-bin.000001 # Query # # use `mysqltest1`; insert into t1 select 'emergency
master-bin.000001 # Table_map # # table_id: # (mysqltest1.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 select "yesterday_24_"
+master-bin.000001 # Query # # use `mysqltest1`; BEGIN
master-bin.000001 # Query # # use `mysqltest1`; CREATE TABLE `t2` (
`rpad(UUID(),100,' ')` varchar(100) CHARACTER SET utf8 NOT NULL DEFAULT ''
)
master-bin.000001 # Table_map # # table_id: # (mysqltest1.t2)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # use `mysqltest1`; COMMIT
+master-bin.000001 # Query # # use `mysqltest1`; BEGIN
master-bin.000001 # Query # # use `mysqltest1`; CREATE TABLE `t3` (
`1` varbinary(108) NOT NULL DEFAULT ''
)
master-bin.000001 # Table_map # # table_id: # (mysqltest1.t3)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # use `mysqltest1`; COMMIT
+master-bin.000001 # Query # # use `mysqltest1`; BEGIN
master-bin.000001 # Query # # use `mysqltest1`; CREATE TABLE `t4` (
`a` varchar(100) DEFAULT NULL
)
master-bin.000001 # Table_map # # table_id: # (mysqltest1.t4)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # use `mysqltest1`; COMMIT
master-bin.000001 # Query # # use `mysqltest1`; create table t5 select * from t1 where 3 in (select 1 union select 2 union select curdate() union select 3)
master-bin.000001 # Table_map # # table_id: # (mysqltest1.t5)
master-bin.000001 # Write_rows # # table_id: #
@@ -1013,5 +1069,29 @@ master-bin.000001 # Query # # use `mysqltest1`; DROP TABLE IF EXISTS t12
master-bin.000001 # Query # # use `mysqltest1`; CREATE TABLE t12 (data LONG)
master-bin.000001 # Table_map # # table_id: # (mysqltest1.t12)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # use `mysqltest1`; CREATE DEFINER=`root`@`localhost` FUNCTION my_user()
+RETURNS CHAR(64)
+BEGIN
+DECLARE user CHAR(64);
+SELECT USER() INTO user;
+RETURN user;
+END
+master-bin.000001 # Query # # use `mysqltest1`; CREATE DEFINER=`root`@`localhost` FUNCTION my_current_user()
+RETURNS CHAR(64)
+BEGIN
+DECLARE user CHAR(64);
+SELECT CURRENT_USER() INTO user;
+RETURN user;
+END
+master-bin.000001 # Query # # use `mysqltest1`; DROP TABLE IF EXISTS t13
+master-bin.000001 # Query # # use `mysqltest1`; CREATE TABLE t13 (data CHAR(64))
+master-bin.000001 # Table_map # # table_id: # (mysqltest1.t13)
+master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Table_map # # table_id: # (mysqltest1.t13)
+master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Table_map # # table_id: # (mysqltest1.t13)
+master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Table_map # # table_id: # (mysqltest1.t13)
+master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
drop database mysqltest1;
set global binlog_format =@my_binlog_format;
diff --git a/mysql-test/suite/rpl/r/rpl_temporary_errors.result b/mysql-test/suite/rpl/r/rpl_temporary_errors.result
new file mode 100644
index 00000000000..430e63c5859
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_temporary_errors.result
@@ -0,0 +1,83 @@
+stop slave;
+drop table if exists t1,t2,t3,t4,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 ****
+SET SESSION BINLOG_FORMAT=ROW;
+CREATE TABLE t1 (a INT PRIMARY KEY, b INT);
+INSERT INTO t1 VALUES (1,1), (2,2), (3,3), (4,4);
+**** On Slave ****
+SHOW STATUS LIKE 'Slave_retried_transactions';
+Variable_name Value
+Slave_retried_transactions 0
+set @@global.slave_exec_mode= 'IDEMPOTENT';
+UPDATE t1 SET a = 5, b = 47 WHERE a = 1;
+SELECT * FROM t1;
+a b
+5 47
+2 2
+3 3
+4 4
+**** On Master ****
+UPDATE t1 SET a = 5, b = 5 WHERE a = 1;
+SELECT * FROM t1;
+a b
+5 5
+2 2
+3 3
+4 4
+**** On Slave ****
+set @@global.slave_exec_mode= default;
+SHOW STATUS LIKE 'Slave_retried_transactions';
+Variable_name Value
+Slave_retried_transactions 0
+SELECT * FROM t1;
+a b
+5 47
+2 2
+3 3
+4 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 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 #
+Last_IO_Error #
+Last_SQL_Errno 0
+Last_SQL_Error
+DROP TABLE t1;
+**** On Master ****
+DROP TABLE t1;
diff --git a/mysql-test/suite/rpl/r/rpl_timezone.result b/mysql-test/suite/rpl/r/rpl_timezone.result
index 47ef16b9d49..cd71dbe628e 100644
--- a/mysql-test/suite/rpl/r/rpl_timezone.result
+++ b/mysql-test/suite/rpl/r/rpl_timezone.result
@@ -105,3 +105,21 @@ t n
2005-01-01 08:00:00 17
drop table t1, t2;
set global time_zone= @my_time_zone;
+End of 4.1 tests
+CREATE TABLE t1 (a INT, b TIMESTAMP);
+INSERT INTO t1 VALUES (1, NOW());
+SET @@session.time_zone='Japan';
+UPDATE t1 SET b= '1970-01-01 08:59:59' WHERE a= 1;
+Warnings:
+Warning 1264 Out of range value for column 'b' at row 1
+SELECT * FROM t1 ORDER BY a;
+a b
+1 0000-00-00 00:00:00
+SET @@session.time_zone='Japan';
+SELECT * FROM t1 ORDER BY a;
+a b
+1 0000-00-00 00:00:00
+SET @@session.time_zone = default;
+DROP TABLE t1;
+SET @@session.time_zone = default;
+End of 5.0 tests
diff --git a/mysql-test/suite/rpl/r/rpl_trigger.result b/mysql-test/suite/rpl/r/rpl_trigger.result
index b4ce3ee1d36..68c82ed037f 100644
--- a/mysql-test/suite/rpl/r/rpl_trigger.result
+++ b/mysql-test/suite/rpl/r/rpl_trigger.result
@@ -91,21 +91,25 @@ select a=b && a=c from t1;
a=b && a=c
1
SELECT routine_name, definer
-FROM information_schema.routines;
+FROM information_schema.routines
+WHERE routine_name = 'bug12480';
routine_name definer
bug12480 root@localhost
SELECT trigger_name, definer
-FROM information_schema.triggers;
+FROM information_schema.triggers
+WHERE trigger_name = 't1_first';
trigger_name definer
t1_first root@localhost
--- On slave --
SELECT routine_name, definer
-FROM information_schema.routines;
+FROM information_schema.routines
+WHERE routine_name = 'bug12480';
routine_name definer
bug12480 root@localhost
SELECT trigger_name, definer
-FROM information_schema.triggers;
+FROM information_schema.triggers
+WHERE trigger_name = 't1_first';
trigger_name definer
t1_first root@localhost
select a=b && a=c from t1;
diff --git a/mysql-test/suite/rpl/r/rpl_truncate_2myisam.result b/mysql-test/suite/rpl/r/rpl_truncate_2myisam.result
index c7ef28ba56b..7eee31dab7a 100644
--- a/mysql-test/suite/rpl/r/rpl_truncate_2myisam.result
+++ b/mysql-test/suite/rpl/r/rpl_truncate_2myisam.result
@@ -4,6 +4,11 @@ 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;
+DROP TABLE IF EXISTS t1;
+RESET SLAVE;
+START SLAVE;
**** On Master ****
SET SESSION BINLOG_FORMAT=STATEMENT;
SET GLOBAL BINLOG_FORMAT=STATEMENT;
@@ -31,10 +36,17 @@ a b
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`; DROP TABLE IF EXISTS t1
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT, b LONG) ENGINE=MyISAM
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1,1), (2,2)
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE t1
master-bin.000001 # Query # # use `test`; DROP TABLE t1
+RESET MASTER;
+STOP SLAVE;
+DROP TABLE IF EXISTS t1;
+DROP TABLE IF EXISTS t1;
+RESET SLAVE;
+START SLAVE;
**** On Master ****
SET SESSION BINLOG_FORMAT=MIXED;
SET GLOBAL BINLOG_FORMAT=MIXED;
@@ -62,10 +74,17 @@ a b
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`; DROP TABLE IF EXISTS t1
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT, b LONG) ENGINE=MyISAM
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1,1), (2,2)
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE t1
master-bin.000001 # Query # # use `test`; DROP TABLE t1
+RESET MASTER;
+STOP SLAVE;
+DROP TABLE IF EXISTS t1;
+DROP TABLE IF EXISTS t1;
+RESET SLAVE;
+START SLAVE;
**** On Master ****
SET SESSION BINLOG_FORMAT=ROW;
SET GLOBAL BINLOG_FORMAT=ROW;
@@ -93,11 +112,18 @@ a b
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`; DROP TABLE IF EXISTS t1
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT, b LONG) 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 # # use `test`; TRUNCATE TABLE t1
master-bin.000001 # Query # # use `test`; DROP TABLE t1
+RESET MASTER;
+STOP SLAVE;
+DROP TABLE IF EXISTS t1;
+DROP TABLE IF EXISTS t1;
+RESET SLAVE;
+START SLAVE;
**** On Master ****
SET SESSION BINLOG_FORMAT=STATEMENT;
SET GLOBAL BINLOG_FORMAT=STATEMENT;
@@ -125,10 +151,17 @@ a b
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`; DROP TABLE IF EXISTS t1
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT, b LONG) ENGINE=MyISAM
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1,1), (2,2)
master-bin.000001 # Query # # use `test`; DELETE FROM t1
master-bin.000001 # Query # # use `test`; DROP TABLE t1
+RESET MASTER;
+STOP SLAVE;
+DROP TABLE IF EXISTS t1;
+DROP TABLE IF EXISTS t1;
+RESET SLAVE;
+START SLAVE;
**** On Master ****
SET SESSION BINLOG_FORMAT=MIXED;
SET GLOBAL BINLOG_FORMAT=MIXED;
@@ -156,10 +189,17 @@ a b
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`; DROP TABLE IF EXISTS t1
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT, b LONG) ENGINE=MyISAM
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1,1), (2,2)
master-bin.000001 # Query # # use `test`; DELETE FROM t1
master-bin.000001 # Query # # use `test`; DROP TABLE t1
+RESET MASTER;
+STOP SLAVE;
+DROP TABLE IF EXISTS t1;
+DROP TABLE IF EXISTS t1;
+RESET SLAVE;
+START SLAVE;
**** On Master ****
SET SESSION BINLOG_FORMAT=ROW;
SET GLOBAL BINLOG_FORMAT=ROW;
@@ -188,9 +228,11 @@ a b
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`; DROP TABLE IF EXISTS t1
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT, b LONG) 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 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Delete_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `test`; DROP TABLE t1
+RESET MASTER;
diff --git a/mysql-test/suite/rpl/r/rpl_truncate_3innodb.result b/mysql-test/suite/rpl/r/rpl_truncate_3innodb.result
index 7ce48c2e983..728b8450314 100644
--- a/mysql-test/suite/rpl/r/rpl_truncate_3innodb.result
+++ b/mysql-test/suite/rpl/r/rpl_truncate_3innodb.result
@@ -4,6 +4,11 @@ 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;
+DROP TABLE IF EXISTS t1;
+RESET SLAVE;
+START SLAVE;
**** On Master ****
SET SESSION BINLOG_FORMAT=STATEMENT;
SET GLOBAL BINLOG_FORMAT=STATEMENT;
@@ -31,12 +36,21 @@ a b
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`; DROP TABLE IF EXISTS t1
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT, b LONG) ENGINE=InnoDB
+master-bin.000001 # Query # # use `test`; BEGIN
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1,1), (2,2)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Query # # use `test`; BEGIN
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE t1
master-bin.000001 # Xid # # COMMIT /* XID */
master-bin.000001 # Query # # use `test`; DROP TABLE t1
+RESET MASTER;
+STOP SLAVE;
+DROP TABLE IF EXISTS t1;
+DROP TABLE IF EXISTS t1;
+RESET SLAVE;
+START SLAVE;
**** On Master ****
SET SESSION BINLOG_FORMAT=MIXED;
SET GLOBAL BINLOG_FORMAT=MIXED;
@@ -64,12 +78,21 @@ a b
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`; DROP TABLE IF EXISTS t1
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT, b LONG) ENGINE=InnoDB
+master-bin.000001 # Query # # use `test`; BEGIN
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1,1), (2,2)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Query # # use `test`; BEGIN
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE t1
master-bin.000001 # Xid # # COMMIT /* XID */
master-bin.000001 # Query # # use `test`; DROP TABLE t1
+RESET MASTER;
+STOP SLAVE;
+DROP TABLE IF EXISTS t1;
+DROP TABLE IF EXISTS t1;
+RESET SLAVE;
+START SLAVE;
**** On Master ****
SET SESSION BINLOG_FORMAT=ROW;
SET GLOBAL BINLOG_FORMAT=ROW;
@@ -97,13 +120,22 @@ a b
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`; DROP TABLE IF EXISTS t1
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT, b LONG) ENGINE=InnoDB
+master-bin.000001 # Query # # use `test`; BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Query # # use `test`; BEGIN
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE t1
master-bin.000001 # Xid # # COMMIT /* XID */
master-bin.000001 # Query # # use `test`; DROP TABLE t1
+RESET MASTER;
+STOP SLAVE;
+DROP TABLE IF EXISTS t1;
+DROP TABLE IF EXISTS t1;
+RESET SLAVE;
+START SLAVE;
**** On Master ****
SET SESSION BINLOG_FORMAT=STATEMENT;
SET GLOBAL BINLOG_FORMAT=STATEMENT;
@@ -131,12 +163,21 @@ a b
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`; DROP TABLE IF EXISTS t1
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT, b LONG) ENGINE=InnoDB
+master-bin.000001 # Query # # use `test`; BEGIN
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1,1), (2,2)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Query # # use `test`; BEGIN
master-bin.000001 # Query # # use `test`; DELETE FROM t1
master-bin.000001 # Xid # # COMMIT /* XID */
master-bin.000001 # Query # # use `test`; DROP TABLE t1
+RESET MASTER;
+STOP SLAVE;
+DROP TABLE IF EXISTS t1;
+DROP TABLE IF EXISTS t1;
+RESET SLAVE;
+START SLAVE;
**** On Master ****
SET SESSION BINLOG_FORMAT=MIXED;
SET GLOBAL BINLOG_FORMAT=MIXED;
@@ -164,12 +205,21 @@ a b
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`; DROP TABLE IF EXISTS t1
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT, b LONG) ENGINE=InnoDB
+master-bin.000001 # Query # # use `test`; BEGIN
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1,1), (2,2)
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Query # # use `test`; BEGIN
master-bin.000001 # Query # # use `test`; DELETE FROM t1
master-bin.000001 # Xid # # COMMIT /* XID */
master-bin.000001 # Query # # use `test`; DROP TABLE t1
+RESET MASTER;
+STOP SLAVE;
+DROP TABLE IF EXISTS t1;
+DROP TABLE IF EXISTS t1;
+RESET SLAVE;
+START SLAVE;
**** On Master ****
SET SESSION BINLOG_FORMAT=ROW;
SET GLOBAL BINLOG_FORMAT=ROW;
@@ -198,11 +248,15 @@ a b
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`; DROP TABLE IF EXISTS t1
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT, b LONG) ENGINE=InnoDB
+master-bin.000001 # Query # # use `test`; BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Query # # use `test`; BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Delete_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
master-bin.000001 # Query # # use `test`; DROP TABLE t1
+RESET MASTER;
diff --git a/mysql-test/suite/rpl/r/rpl_truncate_7ndb_2.result b/mysql-test/suite/rpl/r/rpl_truncate_7ndb_2.result
index ca323e193fa..d43704c2ba7 100644
--- a/mysql-test/suite/rpl/r/rpl_truncate_7ndb_2.result
+++ b/mysql-test/suite/rpl/r/rpl_truncate_7ndb_2.result
@@ -29,16 +29,16 @@ a b
DROP TABLE t1;
SHOW BINLOG EVENTS;
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 4 Format_desc 1 102 Server ver: SERVER_VERSION, Binlog ver: 4
-master-bin.000001 102 Query 1 219 use `test`; CREATE TABLE t1 (a INT PRIMARY KEY, b LONG) ENGINE=NDB
-master-bin.000001 219 Query 1 283 BEGIN
-master-bin.000001 283 Table_map 1 40 table_id: # (test.t1)
-master-bin.000001 323 Table_map 1 93 table_id: # (mysql.apply_status)
-master-bin.000001 376 Write_rows 1 135 table_id: #
-master-bin.000001 418 Write_rows 1 182 table_id: # flags: STMT_END_F
-master-bin.000001 465 Query 1 530 COMMIT
-master-bin.000001 530 Query 1 610 use `test`; TRUNCATE TABLE t1
-master-bin.000001 610 Query 1 686 use `test`; DROP TABLE t1
+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 40 table_id: # (test.t1)
+master-bin.000001 327 Table_map 1 98 table_id: # (mysql.ndb_apply_status)
+master-bin.000001 385 Write_rows 1 157 table_id: #
+master-bin.000001 444 Write_rows 1 204 table_id: # flags: STMT_END_F
+master-bin.000001 491 Query 1 556 COMMIT
+master-bin.000001 556 Query 1 636 use `test`; TRUNCATE TABLE t1
+master-bin.000001 636 Query 1 712 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);
@@ -65,27 +65,27 @@ a b
DROP TABLE t1;
SHOW BINLOG EVENTS;
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 4 Format_desc 1 102 Server ver: SERVER_VERSION, Binlog ver: 4
-master-bin.000001 102 Query 1 219 use `test`; CREATE TABLE t1 (a INT PRIMARY KEY, b LONG) ENGINE=NDB
-master-bin.000001 219 Query 1 283 BEGIN
-master-bin.000001 283 Table_map 1 40 table_id: # (test.t1)
-master-bin.000001 323 Table_map 1 93 table_id: # (mysql.apply_status)
-master-bin.000001 376 Write_rows 1 135 table_id: #
-master-bin.000001 418 Write_rows 1 182 table_id: # flags: STMT_END_F
-master-bin.000001 465 Query 1 530 COMMIT
-master-bin.000001 530 Query 1 610 use `test`; TRUNCATE TABLE t1
-master-bin.000001 610 Query 1 686 use `test`; DROP TABLE t1
-master-bin.000001 686 Query 1 803 use `test`; CREATE TABLE t1 (a INT PRIMARY KEY, b LONG) ENGINE=NDB
-master-bin.000001 803 Query 1 867 BEGIN
-master-bin.000001 867 Table_map 1 40 table_id: # (test.t1)
-master-bin.000001 907 Table_map 1 93 table_id: # (mysql.apply_status)
-master-bin.000001 960 Write_rows 1 135 table_id: #
-master-bin.000001 1002 Write_rows 1 182 table_id: # flags: STMT_END_F
-master-bin.000001 1049 Query 1 1114 COMMIT
-master-bin.000001 1114 Query 1 1178 BEGIN
-master-bin.000001 1178 Table_map 1 40 table_id: # (test.t1)
-master-bin.000001 1218 Table_map 1 93 table_id: # (mysql.apply_status)
-master-bin.000001 1271 Write_rows 1 135 table_id: #
-master-bin.000001 1313 Delete_rows 1 174 table_id: # flags: STMT_END_F
-master-bin.000001 1352 Query 1 1417 COMMIT
-master-bin.000001 1417 Query 1 1493 use `test`; DROP TABLE t1
+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 40 table_id: # (test.t1)
+master-bin.000001 327 Table_map 1 98 table_id: # (mysql.ndb_apply_status)
+master-bin.000001 385 Write_rows 1 157 table_id: #
+master-bin.000001 444 Write_rows 1 204 table_id: # flags: STMT_END_F
+master-bin.000001 491 Query 1 556 COMMIT
+master-bin.000001 556 Query 1 636 use `test`; TRUNCATE TABLE t1
+master-bin.000001 636 Query 1 712 use `test`; DROP TABLE t1
+master-bin.000001 712 Query 1 829 use `test`; CREATE TABLE t1 (a INT PRIMARY KEY, b LONG) ENGINE=NDB
+master-bin.000001 829 Query 1 893 BEGIN
+master-bin.000001 893 Table_map 1 40 table_id: # (test.t1)
+master-bin.000001 933 Table_map 1 98 table_id: # (mysql.ndb_apply_status)
+master-bin.000001 991 Write_rows 1 157 table_id: #
+master-bin.000001 1050 Write_rows 1 204 table_id: # flags: STMT_END_F
+master-bin.000001 1097 Query 1 1162 COMMIT
+master-bin.000001 1162 Query 1 1226 BEGIN
+master-bin.000001 1226 Table_map 1 40 table_id: # (test.t1)
+master-bin.000001 1266 Table_map 1 98 table_id: # (mysql.ndb_apply_status)
+master-bin.000001 1324 Write_rows 1 157 table_id: #
+master-bin.000001 1383 Delete_rows 1 196 table_id: # flags: STMT_END_F
+master-bin.000001 1422 Query 1 1487 COMMIT
+master-bin.000001 1487 Query 1 1563 use `test`; DROP TABLE t1
diff --git a/mysql-test/suite/rpl/r/rpl_udf.result b/mysql-test/suite/rpl/r/rpl_udf.result
index d21cfd2539b..79a82b5fbc7 100644
--- a/mysql-test/suite/rpl/r/rpl_udf.result
+++ b/mysql-test/suite/rpl/r/rpl_udf.result
@@ -14,13 +14,13 @@ CREATE FUNCTION myfunc_int RETURNS INTEGER SONAME "UDF_EXAMPLE_LIB";
affected rows: 0
CREATE FUNCTION myfunc_nonexist RETURNS INTEGER SONAME "UDF_EXAMPLE_LIB";
ERROR HY000: Can't find symbol 'myfunc_nonexist' in library
-SELECT * FROM mysql.func;
+SELECT * FROM mysql.func ORDER BY name;
name ret dl type
myfunc_double 1 UDF_LIB function
myfunc_int 2 UDF_LIB function
affected rows: 2
"Running on the slave"
-SELECT * FROM mysql.func;
+SELECT * FROM mysql.func ORDER BY name;
name ret dl type
myfunc_double 1 UDF_LIB function
myfunc_int 2 UDF_LIB function
@@ -64,11 +64,11 @@ DROP FUNCTION myfunc_double;
affected rows: 0
DROP FUNCTION myfunc_int;
affected rows: 0
-SELECT * FROM mysql.func;
+SELECT * FROM mysql.func ORDER BY name;
name ret dl type
affected rows: 0
"Running on the slave"
-SELECT * FROM mysql.func;
+SELECT * FROM mysql.func ORDER BY name;
name ret dl type
affected rows: 0
"Running on the master"
@@ -80,13 +80,13 @@ CREATE FUNCTION myfuncsql_int(i INT) RETURNS INTEGER DETERMINISTIC RETURN i;
affected rows: 0
CREATE FUNCTION myfuncsql_double(d DOUBLE) RETURNS INTEGER DETERMINISTIC RETURN d * 2.00;
affected rows: 0
-SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%';
+SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%' ORDER BY name;
db name type param_list body comment
test myfuncsql_double FUNCTION d DOUBLE RETURN d * 2.00
test myfuncsql_int FUNCTION i INT RETURN i
affected rows: 2
"Running on the slave"
-SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%';
+SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%' ORDER BY name;
db name type param_list body comment
test myfuncsql_double FUNCTION d DOUBLE RETURN d * 2.00
test myfuncsql_int FUNCTION i INT RETURN i
@@ -122,13 +122,13 @@ ALTER FUNCTION myfuncsql_int COMMENT "This was altered.";
affected rows: 0
ALTER FUNCTION myfuncsql_double COMMENT "This was altered.";
affected rows: 0
-SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%';
+SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%' ORDER BY name;
db name type param_list body comment
test myfuncsql_double FUNCTION d DOUBLE RETURN d * 2.00 This was altered.
test myfuncsql_int FUNCTION i INT RETURN i This was altered.
affected rows: 2
"Running on the slave"
-SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%';
+SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%' ORDER BY name;
db name type param_list body comment
test myfuncsql_double FUNCTION d DOUBLE RETURN d * 2.00 This was altered.
test myfuncsql_int FUNCTION i INT RETURN i This was altered.
@@ -146,11 +146,11 @@ DROP FUNCTION myfuncsql_double;
affected rows: 0
DROP FUNCTION myfuncsql_int;
affected rows: 0
-SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%';
+SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%' ORDER BY name;
db name type param_list body comment
affected rows: 0
"Running on the slave"
-SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%';
+SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%' ORDER BY name;
db name type param_list body comment
affected rows: 0
"Running on the master"
@@ -166,35 +166,35 @@ CREATE FUNCTION myfunc_int RETURNS INTEGER SONAME "UDF_EXAMPLE_LIB";
affected rows: 0
CREATE FUNCTION myfunc_nonexist RETURNS INTEGER SONAME "UDF_EXAMPLE_LIB";
ERROR HY000: Can't find symbol 'myfunc_nonexist' in library
-SELECT * FROM mysql.func;
+SELECT * FROM mysql.func ORDER BY name;
name ret dl type
-myfunc_int 2 UDF_LIB function
myfunc_double 1 UDF_LIB function
+myfunc_int 2 UDF_LIB function
affected rows: 2
"Running on the slave"
-SELECT * FROM mysql.func;
+SELECT * FROM mysql.func ORDER BY name;
name ret dl type
-myfunc_int 2 UDF_LIB function
myfunc_double 1 UDF_LIB function
+myfunc_int 2 UDF_LIB function
affected rows: 2
"Running on the master"
CREATE TABLE t1(sum INT, price FLOAT(24)) ENGINE=MyISAM;
affected rows: 0
INSERT INTO t1 VALUES(myfunc_int(100), myfunc_double(50.00));
Warnings:
-Warning 1589 Statement is not safe to log in statement format.
+Warning 1592 Statement is not safe to log in statement format.
affected rows: 1
INSERT INTO t1 VALUES(myfunc_int(10), myfunc_double(5.00));
Warnings:
-Warning 1589 Statement is not safe to log in statement format.
+Warning 1592 Statement is not safe to log in statement format.
affected rows: 1
INSERT INTO t1 VALUES(myfunc_int(200), myfunc_double(25.00));
Warnings:
-Warning 1589 Statement is not safe to log in statement format.
+Warning 1592 Statement is not safe to log in statement format.
affected rows: 1
INSERT INTO t1 VALUES(myfunc_int(1), myfunc_double(500.00));
Warnings:
-Warning 1589 Statement is not safe to log in statement format.
+Warning 1592 Statement is not safe to log in statement format.
affected rows: 1
SELECT * FROM t1 ORDER BY sum;
sum price
@@ -224,11 +224,11 @@ DROP FUNCTION myfunc_double;
affected rows: 0
DROP FUNCTION myfunc_int;
affected rows: 0
-SELECT * FROM mysql.func;
+SELECT * FROM mysql.func ORDER BY name;
name ret dl type
affected rows: 0
"Running on the slave"
-SELECT * FROM mysql.func;
+SELECT * FROM mysql.func ORDER BY name;
name ret dl type
affected rows: 0
"Running on the master"
@@ -240,13 +240,13 @@ CREATE FUNCTION myfuncsql_int(i INT) RETURNS INTEGER DETERMINISTIC RETURN i;
affected rows: 0
CREATE FUNCTION myfuncsql_double(d DOUBLE) RETURNS INTEGER DETERMINISTIC RETURN d * 2.00;
affected rows: 0
-SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%';
+SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%' ORDER BY name;
db name type param_list body comment
test myfuncsql_double FUNCTION d DOUBLE RETURN d * 2.00
test myfuncsql_int FUNCTION i INT RETURN i
affected rows: 2
"Running on the slave"
-SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%';
+SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%' ORDER BY name;
db name type param_list body comment
test myfuncsql_double FUNCTION d DOUBLE RETURN d * 2.00
test myfuncsql_int FUNCTION i INT RETURN i
@@ -282,13 +282,13 @@ ALTER FUNCTION myfuncsql_int COMMENT "This was altered.";
affected rows: 0
ALTER FUNCTION myfuncsql_double COMMENT "This was altered.";
affected rows: 0
-SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%';
+SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%' ORDER BY name;
db name type param_list body comment
test myfuncsql_double FUNCTION d DOUBLE RETURN d * 2.00 This was altered.
test myfuncsql_int FUNCTION i INT RETURN i This was altered.
affected rows: 2
"Running on the slave"
-SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%';
+SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%' ORDER BY name;
db name type param_list body comment
test myfuncsql_double FUNCTION d DOUBLE RETURN d * 2.00 This was altered.
test myfuncsql_int FUNCTION i INT RETURN i This was altered.
@@ -306,11 +306,11 @@ DROP FUNCTION myfuncsql_double;
affected rows: 0
DROP FUNCTION myfuncsql_int;
affected rows: 0
-SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%';
+SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%' ORDER BY name;
db name type param_list body comment
affected rows: 0
"Running on the slave"
-SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%';
+SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%' ORDER BY name;
db name type param_list body comment
affected rows: 0
"Running on the master"
diff --git a/mysql-test/suite/rpl/r/rpl_user.result b/mysql-test/suite/rpl/r/rpl_user.result
new file mode 100644
index 00000000000..a98e7e9ca55
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_user.result
@@ -0,0 +1,45 @@
+stop slave;
+drop table if exists t1,t2,t3,t4,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 sql_log_bin=0;
+delete from mysql.user where Host='fakehost';
+set session sql_log_bin=1;
+set session sql_log_bin=0;
+delete from mysql.user where Host='fakehost';
+set session sql_log_bin=1;
+create user 'foo'@'fakehost';
+create user 'foo'@'fakehost', 'bar'@'fakehost';
+ERROR HY000: Operation CREATE USER failed for 'foo'@'fakehost'
+create user 'foo'@'fakehost', 'bar'@'fakehost';
+ERROR HY000: Operation CREATE USER failed for 'foo'@'fakehost','bar'@'fakehost'
+select Host,User from mysql.user where Host='fakehost';
+Host User
+fakehost bar
+fakehost foo
+rename user 'foo'@'fakehost' to 'foofoo'@'fakehost';
+rename user 'not_exist_user1'@'fakehost' to 'foobar'@'fakehost', 'bar'@'fakehost' to 'barbar'@'fakehost';
+ERROR HY000: Operation RENAME USER failed for 'not_exist_user1'@'fakehost'
+rename user 'not_exist_user1'@'fakehost' to 'foobar'@'fakehost', 'not_exist_user2'@'fakehost' to 'barfoo'@'fakehost';
+ERROR HY000: Operation RENAME USER failed for 'not_exist_user1'@'fakehost','not_exist_user2'@'fakehost'
+select Host,User from mysql.user where Host='fakehost';
+Host User
+fakehost barbar
+fakehost foofoo
+drop user 'foofoo'@'fakehost';
+drop user 'not_exist_user1'@'fakehost', 'barbar'@'fakehost';
+ERROR HY000: Operation DROP USER failed for 'not_exist_user1'@'fakehost'
+drop user 'not_exist_user1'@'fakehost', 'not_exist_user2'@'fakehost';
+ERROR HY000: Operation DROP USER failed for 'not_exist_user1'@'fakehost','not_exist_user2'@'fakehost'
+select Host,User from mysql.user where Host='fakehost';
+Host User
+show binlog events from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Query # # use `test`; create user 'foo'@'fakehost'
+master-bin.000001 # Query # # use `test`; create user 'foo'@'fakehost', 'bar'@'fakehost'
+master-bin.000001 # Query # # use `test`; rename user 'foo'@'fakehost' to 'foofoo'@'fakehost'
+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'
diff --git a/mysql-test/suite/rpl/r/rpl_user_variables.result b/mysql-test/suite/rpl/r/rpl_user_variables.result
index d3363df3b58..1f76eae3fce 100644
--- a/mysql-test/suite/rpl/r/rpl_user_variables.result
+++ b/mysql-test/suite/rpl/r/rpl_user_variables.result
@@ -235,6 +235,22 @@ select * from t1;
a b
2 1
drop table t1;
+create table t1(a int);
+insert into t1 values (1),(2);
+prepare s1 from 'insert into t1 select a from t1 limit ?';
+set @x='1.1';
+execute s1 using @x;
+select * from t1;
+a
+1
+2
+1
+select * from t1;
+a
+1
+2
+1
+drop table t1;
End of 5.0 tests.
DROP FUNCTION IF EXISTS f1;
DROP FUNCTION IF EXISTS f2;
diff --git a/mysql-test/suite/rpl/r/rpl_variables.result b/mysql-test/suite/rpl/r/rpl_variables.result
index 605a48859a0..73354666b7a 100644
--- a/mysql-test/suite/rpl/r/rpl_variables.result
+++ b/mysql-test/suite/rpl/r/rpl_variables.result
@@ -4,16 +4,581 @@ reset master;
reset slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
start slave;
-set @my_slave_net_timeout =@@global.slave_net_timeout;
-set global slave_net_timeout=100;
-set global sql_slave_skip_counter=100;
-show variables like 'slave_compressed_protocol';
-Variable_name Value
-slave_compressed_protocol OFF
-show variables like 'slave_load_tmpdir';
-Variable_name Value
-slave_load_tmpdir SLAVE_LOAD_TMPDIR
-show variables like 'slave_skip_errors';
-Variable_name Value
-slave_skip_errors 3,100,137,643,1752
-set global slave_net_timeout=default;
+==== Initialization ====
+[on master]
+SET @m_default_week_format= @@global.default_week_format;
+SET @m_init_slave= @@global.init_slave;
+SET @m_lc_time_names= @@global.lc_time_names;
+SET @m_low_priority_updates= @@global.low_priority_updates;
+SET @m_relay_log_purge= @@global.relay_log_purge;
+SET @m_slave_exec_mode= @@global.slave_exec_mode;
+SET @m_sql_mode= @@global.sql_mode;
+SET @m_sync_binlog= @@global.sync_binlog;
+[on slave]
+SET @s_default_week_format= @@global.default_week_format;
+SET @s_init_slave= @@global.init_slave;
+SET @s_lc_time_names= @@global.lc_time_names;
+SET @s_low_priority_updates= @@global.low_priority_updates;
+SET @s_relay_log_purge= @@global.relay_log_purge;
+SET @s_slave_exec_mode= @@global.slave_exec_mode;
+SET @s_sql_mode= @@global.sql_mode;
+SET @s_sync_binlog= @@global.sync_binlog;
+SET @@global.relay_log_purge = OFF;
+SET @@global.sync_binlog = 1000000;
+SET @@global.slave_exec_mode = 'STRICT';
+SET @@sql_big_selects = OFF;
+SET @@last_insert_id = 10;
+SET @@global.low_priority_updates = OFF;
+SET @@local.low_priority_updates = OFF;
+SET @@global.default_week_format = 1;
+SET @@local.default_week_format = 2;
+SET @@global.lc_time_names = 'zh_HK';
+SET @@local.lc_time_names = 'zh_TW';
+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 ****
+STOP SLAVE;
+RESET SLAVE;
+RESET MASTER;
+START SLAVE;
+[on slave]
+SET @@global.init_slave = 'ant';
+[on master]
+CREATE TABLE tstmt (id INT AUTO_INCREMENT PRIMARY KEY,
+truth BOOLEAN,
+num INT,
+text VARCHAR(100));
+CREATE TABLE tproc LIKE tstmt;
+CREATE TABLE tfunc LIKE tstmt;
+CREATE TABLE ttrig LIKE tstmt;
+CREATE TABLE tprep LIKE tstmt;
+CREATE TABLE trigger_table (text CHAR(4));
+==== Insert variables directly ====
+---- global variables ----
+SET @@global.relay_log_purge = ON;
+INSERT INTO tstmt(truth) VALUES (@@global.relay_log_purge);
+SET @@global.relay_log_purge = OFF;
+INSERT INTO tstmt(truth) VALUES (@@global.relay_log_purge);
+SET @@global.sync_binlog = 2000000;
+INSERT INTO tstmt(num) VALUES (@@global.sync_binlog);
+SET @@global.sync_binlog = 3000000;
+INSERT INTO tstmt(num) VALUES (@@global.sync_binlog);
+SET @@global.init_slave = 'bison';
+INSERT INTO tstmt(text) VALUES (@@global.init_slave);
+SET @@global.init_slave = 'cat';
+INSERT INTO tstmt(text) VALUES (@@global.init_slave);
+SET @@global.slave_exec_mode = 'IDEMPOTENT';
+INSERT INTO tstmt(text) VALUES (@@global.slave_exec_mode);
+SET @@global.slave_exec_mode = 'STRICT';
+INSERT INTO tstmt(text) VALUES (@@global.slave_exec_mode);
+---- session variables ----
+SET @@sql_big_selects = ON;
+INSERT INTO tstmt(truth) VALUES (@@sql_big_selects);
+SET @@sql_big_selects = OFF;
+INSERT INTO tstmt(truth) VALUES (@@sql_big_selects);
+SET @@last_insert_id = 20;
+INSERT INTO tstmt(num) VALUES (@@last_insert_id);
+SET @@last_insert_id = 30;
+INSERT INTO tstmt(num) VALUES (@@last_insert_id);
+---- global and session variables ----
+SET @@global.low_priority_updates = ON;
+SET @@local.low_priority_updates = OFF;
+INSERT INTO tstmt(truth) VALUES (@@global.low_priority_updates);
+INSERT INTO tstmt(truth) VALUES (@@local.low_priority_updates);
+SET @@global.low_priority_updates = OFF;
+SET @@local.low_priority_updates = ON;
+INSERT INTO tstmt(truth) VALUES (@@global.low_priority_updates);
+INSERT INTO tstmt(truth) VALUES (@@local.low_priority_updates);
+SET @@global.default_week_format = 3;
+SET @@local.default_week_format = 4;
+INSERT INTO tstmt(num) VALUES (@@global.default_week_format);
+INSERT INTO tstmt(num) VALUES (@@local.default_week_format);
+SET @@global.default_week_format = 5;
+SET @@local.default_week_format = 6;
+INSERT INTO tstmt(num) VALUES (@@global.default_week_format);
+INSERT INTO tstmt(num) VALUES (@@local.default_week_format);
+SET @@global.lc_time_names = 'sv_SE';
+SET @@local.lc_time_names = 'sv_FI';
+INSERT INTO tstmt(text) VALUES (@@global.lc_time_names);
+INSERT INTO tstmt(text) VALUES (@@local.lc_time_names);
+SET @@global.lc_time_names = 'ar_TN';
+SET @@local.lc_time_names = 'ar_IQ';
+INSERT INTO tstmt(text) VALUES (@@global.lc_time_names);
+INSERT INTO tstmt(text) VALUES (@@local.lc_time_names);
+SET @@global.sql_mode = '';
+SET @@local.sql_mode = 'IGNORE_SPACE,NO_AUTO_CREATE_USER';
+INSERT INTO tstmt(text) VALUES (@@global.sql_mode);
+INSERT INTO tstmt(text) VALUES (@@local.sql_mode);
+SET @@global.sql_mode = 'NO_AUTO_VALUE_ON_ZERO,NO_BACKSLASH_ESCAPES,NO_DIR_IN_CREATE,NO_ENGINE_SUBSTITUTION';
+SET @@local.sql_mode = 'NO_FIELD_OPTIONS,NO_KEY_OPTIONS,NO_TABLE_OPTIONS';
+INSERT INTO tstmt(text) VALUES (@@global.sql_mode);
+INSERT INTO tstmt(text) VALUES (@@local.sql_mode);
+---- user variables ----
+SET @user_num = 20;
+INSERT INTO tstmt(num) VALUES (@user_num);
+SET @user_num = 30;
+INSERT INTO tstmt(num) VALUES (@user_num);
+SET @user_text = 'Bergsbrunna';
+INSERT INTO tstmt(text) VALUES (@user_text);
+SET @user_text = 'Centrum';
+INSERT INTO tstmt(text) VALUES (@user_text);
+==== Insert variables from a stored procedure ====
+CREATE PROCEDURE proc()
+BEGIN
+# GLOBAL
+# boolean
+SET @@global.relay_log_purge = ON;
+INSERT INTO tproc(truth) VALUES (@@global.relay_log_purge);
+SET @@global.relay_log_purge = OFF;
+INSERT INTO tproc(truth) VALUES (@@global.relay_log_purge);
+# numeric
+SET @@global.sync_binlog = 2000000;
+INSERT INTO tproc(num) VALUES (@@global.sync_binlog);
+SET @@global.sync_binlog = 3000000;
+INSERT INTO tproc(num) VALUES (@@global.sync_binlog);
+# string
+SET @@global.init_slave = 'bison';
+INSERT INTO tproc(text) VALUES (@@global.init_slave);
+SET @@global.init_slave = 'cat';
+INSERT INTO tproc(text) VALUES (@@global.init_slave);
+# enumeration
+SET @@global.slave_exec_mode = 'IDEMPOTENT';
+INSERT INTO tproc(text) VALUES (@@global.slave_exec_mode);
+SET @@global.slave_exec_mode = 'STRICT';
+INSERT INTO tproc(text) VALUES (@@global.slave_exec_mode);
+# SESSION
+# boolean
+SET @@sql_big_selects = ON;
+INSERT INTO tproc(truth) VALUES (@@sql_big_selects);
+SET @@sql_big_selects = OFF;
+INSERT INTO tproc(truth) VALUES (@@sql_big_selects);
+# numeric
+SET @@last_insert_id = 20;
+INSERT INTO tproc(num) VALUES (@@last_insert_id);
+SET @@last_insert_id = 30;
+INSERT INTO tproc(num) VALUES (@@last_insert_id);
+# BOTH
+# boolean
+SET @@global.low_priority_updates = ON;
+SET @@local.low_priority_updates = OFF;
+INSERT INTO tproc(truth) VALUES (@@global.low_priority_updates);
+INSERT INTO tproc(truth) VALUES (@@local.low_priority_updates);
+SET @@global.low_priority_updates = OFF;
+SET @@local.low_priority_updates = ON;
+INSERT INTO tproc(truth) VALUES (@@global.low_priority_updates);
+INSERT INTO tproc(truth) VALUES (@@local.low_priority_updates);
+# numeric
+SET @@global.default_week_format = 3;
+SET @@local.default_week_format = 4;
+INSERT INTO tproc(num) VALUES (@@global.default_week_format);
+INSERT INTO tproc(num) VALUES (@@local.default_week_format);
+SET @@global.default_week_format = 5;
+SET @@local.default_week_format = 6;
+INSERT INTO tproc(num) VALUES (@@global.default_week_format);
+INSERT INTO tproc(num) VALUES (@@local.default_week_format);
+# text
+SET @@global.lc_time_names = 'sv_SE';
+SET @@local.lc_time_names = 'sv_FI';
+INSERT INTO tproc(text) VALUES (@@global.lc_time_names);
+INSERT INTO tproc(text) VALUES (@@local.lc_time_names);
+SET @@global.lc_time_names = 'ar_TN';
+SET @@local.lc_time_names = 'ar_IQ';
+INSERT INTO tproc(text) VALUES (@@global.lc_time_names);
+INSERT INTO tproc(text) VALUES (@@local.lc_time_names);
+# enum
+SET @@global.sql_mode = '';
+SET @@local.sql_mode = 'IGNORE_SPACE,NO_AUTO_CREATE_USER';
+INSERT INTO tproc(text) VALUES (@@global.sql_mode);
+INSERT INTO tproc(text) VALUES (@@local.sql_mode);
+SET @@global.sql_mode = 'NO_AUTO_VALUE_ON_ZERO,NO_BACKSLASH_ESCAPES,NO_DIR_IN_CREATE,NO_ENGINE_SUBSTITUTION';
+SET @@local.sql_mode = 'NO_FIELD_OPTIONS,NO_KEY_OPTIONS,NO_TABLE_OPTIONS';
+INSERT INTO tproc(text) VALUES (@@global.sql_mode);
+INSERT INTO tproc(text) VALUES (@@local.sql_mode);
+# USER
+# numeric
+SET @user_num = 20;
+INSERT INTO tproc(num) VALUES (@user_num);
+SET @user_num = 30;
+INSERT INTO tproc(num) VALUES (@user_num);
+# string
+SET @user_text = 'Bergsbrunna';
+INSERT INTO tproc(text) VALUES (@user_text);
+SET @user_text = 'Centrum';
+INSERT INTO tproc(text) VALUES (@user_text);
+END|
+CALL proc();
+==== Insert variables from a stored function ====
+CREATE FUNCTION func()
+RETURNS INT
+BEGIN
+# GLOBAL
+# boolean
+SET @@global.relay_log_purge = ON;
+INSERT INTO tfunc(truth) VALUES (@@global.relay_log_purge);
+SET @@global.relay_log_purge = OFF;
+INSERT INTO tfunc(truth) VALUES (@@global.relay_log_purge);
+# numeric
+SET @@global.sync_binlog = 2000000;
+INSERT INTO tfunc(num) VALUES (@@global.sync_binlog);
+SET @@global.sync_binlog = 3000000;
+INSERT INTO tfunc(num) VALUES (@@global.sync_binlog);
+# string
+SET @@global.init_slave = 'bison';
+INSERT INTO tfunc(text) VALUES (@@global.init_slave);
+SET @@global.init_slave = 'cat';
+INSERT INTO tfunc(text) VALUES (@@global.init_slave);
+# enumeration
+SET @@global.slave_exec_mode = 'IDEMPOTENT';
+INSERT INTO tfunc(text) VALUES (@@global.slave_exec_mode);
+SET @@global.slave_exec_mode = 'STRICT';
+INSERT INTO tfunc(text) VALUES (@@global.slave_exec_mode);
+# SESSION
+# boolean
+SET @@sql_big_selects = ON;
+INSERT INTO tfunc(truth) VALUES (@@sql_big_selects);
+SET @@sql_big_selects = OFF;
+INSERT INTO tfunc(truth) VALUES (@@sql_big_selects);
+# numeric
+SET @@last_insert_id = 20;
+INSERT INTO tfunc(num) VALUES (@@last_insert_id);
+SET @@last_insert_id = 30;
+INSERT INTO tfunc(num) VALUES (@@last_insert_id);
+# BOTH
+# boolean
+SET @@global.low_priority_updates = ON;
+SET @@local.low_priority_updates = OFF;
+INSERT INTO tfunc(truth) VALUES (@@global.low_priority_updates);
+INSERT INTO tfunc(truth) VALUES (@@local.low_priority_updates);
+SET @@global.low_priority_updates = OFF;
+SET @@local.low_priority_updates = ON;
+INSERT INTO tfunc(truth) VALUES (@@global.low_priority_updates);
+INSERT INTO tfunc(truth) VALUES (@@local.low_priority_updates);
+# numeric
+SET @@global.default_week_format = 3;
+SET @@local.default_week_format = 4;
+INSERT INTO tfunc(num) VALUES (@@global.default_week_format);
+INSERT INTO tfunc(num) VALUES (@@local.default_week_format);
+SET @@global.default_week_format = 5;
+SET @@local.default_week_format = 6;
+INSERT INTO tfunc(num) VALUES (@@global.default_week_format);
+INSERT INTO tfunc(num) VALUES (@@local.default_week_format);
+# text
+SET @@global.lc_time_names = 'sv_SE';
+SET @@local.lc_time_names = 'sv_FI';
+INSERT INTO tfunc(text) VALUES (@@global.lc_time_names);
+INSERT INTO tfunc(text) VALUES (@@local.lc_time_names);
+SET @@global.lc_time_names = 'ar_TN';
+SET @@local.lc_time_names = 'ar_IQ';
+INSERT INTO tfunc(text) VALUES (@@global.lc_time_names);
+INSERT INTO tfunc(text) VALUES (@@local.lc_time_names);
+# enum
+SET @@global.sql_mode = '';
+SET @@local.sql_mode = 'IGNORE_SPACE,NO_AUTO_CREATE_USER';
+INSERT INTO tfunc(text) VALUES (@@global.sql_mode);
+INSERT INTO tfunc(text) VALUES (@@local.sql_mode);
+SET @@global.sql_mode = 'NO_AUTO_VALUE_ON_ZERO,NO_BACKSLASH_ESCAPES,NO_DIR_IN_CREATE,NO_ENGINE_SUBSTITUTION';
+SET @@local.sql_mode = 'NO_FIELD_OPTIONS,NO_KEY_OPTIONS,NO_TABLE_OPTIONS';
+INSERT INTO tfunc(text) VALUES (@@global.sql_mode);
+INSERT INTO tfunc(text) VALUES (@@local.sql_mode);
+# USER
+# numeric
+SET @user_num = 20;
+INSERT INTO tfunc(num) VALUES (@user_num);
+SET @user_num = 30;
+INSERT INTO tfunc(num) VALUES (@user_num);
+# string
+SET @user_text = 'Bergsbrunna';
+INSERT INTO tfunc(text) VALUES (@user_text);
+SET @user_text = 'Centrum';
+INSERT INTO tfunc(text) VALUES (@user_text);
+RETURN 0;
+END|
+SELECT func();
+func()
+0
+==== Insert variables from a trigger ====
+CREATE TRIGGER trig
+BEFORE INSERT ON trigger_table
+FOR EACH ROW
+BEGIN
+# GLOBAL
+# boolean
+SET @@global.relay_log_purge = ON;
+INSERT INTO ttrig(truth) VALUES (@@global.relay_log_purge);
+SET @@global.relay_log_purge = OFF;
+INSERT INTO ttrig(truth) VALUES (@@global.relay_log_purge);
+# numeric
+SET @@global.sync_binlog = 2000000;
+INSERT INTO ttrig(num) VALUES (@@global.sync_binlog);
+SET @@global.sync_binlog = 3000000;
+INSERT INTO ttrig(num) VALUES (@@global.sync_binlog);
+# string
+SET @@global.init_slave = 'bison';
+INSERT INTO ttrig(text) VALUES (@@global.init_slave);
+SET @@global.init_slave = 'cat';
+INSERT INTO ttrig(text) VALUES (@@global.init_slave);
+# enumeration
+SET @@global.slave_exec_mode = 'IDEMPOTENT';
+INSERT INTO ttrig(text) VALUES (@@global.slave_exec_mode);
+SET @@global.slave_exec_mode = 'STRICT';
+INSERT INTO ttrig(text) VALUES (@@global.slave_exec_mode);
+# SESSION
+# boolean
+SET @@sql_big_selects = ON;
+INSERT INTO ttrig(truth) VALUES (@@sql_big_selects);
+SET @@sql_big_selects = OFF;
+INSERT INTO ttrig(truth) VALUES (@@sql_big_selects);
+# numeric
+SET @@last_insert_id = 20;
+INSERT INTO ttrig(num) VALUES (@@last_insert_id);
+SET @@last_insert_id = 30;
+INSERT INTO ttrig(num) VALUES (@@last_insert_id);
+# BOTH
+# boolean
+SET @@global.low_priority_updates = ON;
+SET @@local.low_priority_updates = OFF;
+INSERT INTO ttrig(truth) VALUES (@@global.low_priority_updates);
+INSERT INTO ttrig(truth) VALUES (@@local.low_priority_updates);
+SET @@global.low_priority_updates = OFF;
+SET @@local.low_priority_updates = ON;
+INSERT INTO ttrig(truth) VALUES (@@global.low_priority_updates);
+INSERT INTO ttrig(truth) VALUES (@@local.low_priority_updates);
+# numeric
+SET @@global.default_week_format = 3;
+SET @@local.default_week_format = 4;
+INSERT INTO ttrig(num) VALUES (@@global.default_week_format);
+INSERT INTO ttrig(num) VALUES (@@local.default_week_format);
+SET @@global.default_week_format = 5;
+SET @@local.default_week_format = 6;
+INSERT INTO ttrig(num) VALUES (@@global.default_week_format);
+INSERT INTO ttrig(num) VALUES (@@local.default_week_format);
+# text
+SET @@global.lc_time_names = 'sv_SE';
+SET @@local.lc_time_names = 'sv_FI';
+INSERT INTO ttrig(text) VALUES (@@global.lc_time_names);
+INSERT INTO ttrig(text) VALUES (@@local.lc_time_names);
+SET @@global.lc_time_names = 'ar_TN';
+SET @@local.lc_time_names = 'ar_IQ';
+INSERT INTO ttrig(text) VALUES (@@global.lc_time_names);
+INSERT INTO ttrig(text) VALUES (@@local.lc_time_names);
+# enum
+SET @@global.sql_mode = '';
+SET @@local.sql_mode = 'IGNORE_SPACE,NO_AUTO_CREATE_USER';
+INSERT INTO ttrig(text) VALUES (@@global.sql_mode);
+INSERT INTO ttrig(text) VALUES (@@local.sql_mode);
+SET @@global.sql_mode = 'NO_AUTO_VALUE_ON_ZERO,NO_BACKSLASH_ESCAPES,NO_DIR_IN_CREATE,NO_ENGINE_SUBSTITUTION';
+SET @@local.sql_mode = 'NO_FIELD_OPTIONS,NO_KEY_OPTIONS,NO_TABLE_OPTIONS';
+INSERT INTO ttrig(text) VALUES (@@global.sql_mode);
+INSERT INTO ttrig(text) VALUES (@@local.sql_mode);
+# USER
+# numeric
+SET @user_num = 20;
+INSERT INTO ttrig(num) VALUES (@user_num);
+SET @user_num = 30;
+INSERT INTO ttrig(num) VALUES (@user_num);
+# string
+SET @user_text = 'Bergsbrunna';
+INSERT INTO ttrig(text) VALUES (@user_text);
+SET @user_text = 'Centrum';
+INSERT INTO ttrig(text) VALUES (@user_text);
+END|
+INSERT INTO trigger_table VALUES ('bye.');
+==== Insert variables from a prepared statement ====
+PREPARE p1 FROM 'SET @@global.relay_log_purge = ON';
+PREPARE p2 FROM 'INSERT INTO tprep(truth) VALUES (@@global.relay_log_purge)';
+PREPARE p3 FROM 'SET @@global.relay_log_purge = OFF';
+PREPARE p4 FROM 'INSERT INTO tprep(truth) VALUES (@@global.relay_log_purge)';
+PREPARE p5 FROM 'SET @@global.sync_binlog = 2000000';
+PREPARE p6 FROM 'INSERT INTO tprep(num) VALUES (@@global.sync_binlog)';
+PREPARE p7 FROM 'SET @@global.sync_binlog = 3000000';
+PREPARE p8 FROM 'INSERT INTO tprep(num) VALUES (@@global.sync_binlog)';
+PREPARE p9 FROM 'SET @@global.init_slave = \'bison\'';
+PREPARE p10 FROM 'INSERT INTO tprep(text) VALUES (@@global.init_slave)';
+PREPARE p11 FROM 'SET @@global.init_slave = \'cat\'';
+PREPARE p12 FROM 'INSERT INTO tprep(text) VALUES (@@global.init_slave)';
+PREPARE p13 FROM 'SET @@global.slave_exec_mode = \'IDEMPOTENT\'';
+PREPARE p14 FROM 'INSERT INTO tprep(text) VALUES (@@global.slave_exec_mode)';
+PREPARE p15 FROM 'SET @@global.slave_exec_mode = \'STRICT\'';
+PREPARE p16 FROM 'INSERT INTO tprep(text) VALUES (@@global.slave_exec_mode)';
+PREPARE p17 FROM 'SET @@sql_big_selects = ON';
+PREPARE p18 FROM 'INSERT INTO tprep(truth) VALUES (@@sql_big_selects)';
+PREPARE p19 FROM 'SET @@sql_big_selects = OFF';
+PREPARE p20 FROM 'INSERT INTO tprep(truth) VALUES (@@sql_big_selects)';
+PREPARE p21 FROM 'SET @@last_insert_id = 20';
+PREPARE p22 FROM 'INSERT INTO tprep(num) VALUES (@@last_insert_id)';
+PREPARE p23 FROM 'SET @@last_insert_id = 30';
+PREPARE p24 FROM 'INSERT INTO tprep(num) VALUES (@@last_insert_id)';
+PREPARE p25 FROM 'SET @@global.low_priority_updates = ON';
+PREPARE p26 FROM 'SET @@local.low_priority_updates = OFF';
+PREPARE p27 FROM 'INSERT INTO tprep(truth) VALUES (@@global.low_priority_updates)';
+PREPARE p28 FROM 'INSERT INTO tprep(truth) VALUES (@@local.low_priority_updates)';
+PREPARE p29 FROM 'SET @@global.low_priority_updates = OFF';
+PREPARE p30 FROM 'SET @@local.low_priority_updates = ON';
+PREPARE p31 FROM 'INSERT INTO tprep(truth) VALUES (@@global.low_priority_updates)';
+PREPARE p32 FROM 'INSERT INTO tprep(truth) VALUES (@@local.low_priority_updates)';
+PREPARE p33 FROM 'SET @@global.default_week_format = 3';
+PREPARE p34 FROM 'SET @@local.default_week_format = 4';
+PREPARE p35 FROM 'INSERT INTO tprep(num) VALUES (@@global.default_week_format)';
+PREPARE p36 FROM 'INSERT INTO tprep(num) VALUES (@@local.default_week_format)';
+PREPARE p37 FROM 'SET @@global.default_week_format = 5';
+PREPARE p38 FROM 'SET @@local.default_week_format = 6';
+PREPARE p39 FROM 'INSERT INTO tprep(num) VALUES (@@global.default_week_format)';
+PREPARE p40 FROM 'INSERT INTO tprep(num) VALUES (@@local.default_week_format)';
+PREPARE p41 FROM 'SET @@global.lc_time_names = \'sv_SE\'';
+PREPARE p42 FROM 'SET @@local.lc_time_names = \'sv_FI\'';
+PREPARE p43 FROM 'INSERT INTO tprep(text) VALUES (@@global.lc_time_names)';
+PREPARE p44 FROM 'INSERT INTO tprep(text) VALUES (@@local.lc_time_names)';
+PREPARE p45 FROM 'SET @@global.lc_time_names = \'ar_TN\'';
+PREPARE p46 FROM 'SET @@local.lc_time_names = \'ar_IQ\'';
+PREPARE p47 FROM 'INSERT INTO tprep(text) VALUES (@@global.lc_time_names)';
+PREPARE p48 FROM 'INSERT INTO tprep(text) VALUES (@@local.lc_time_names)';
+PREPARE p49 FROM 'SET @@global.sql_mode = \'\'';
+PREPARE p50 FROM 'SET @@local.sql_mode = \'IGNORE_SPACE,NO_AUTO_CREATE_USER\'';
+PREPARE p51 FROM 'INSERT INTO tprep(text) VALUES (@@global.sql_mode)';
+PREPARE p52 FROM 'INSERT INTO tprep(text) VALUES (@@local.sql_mode)';
+PREPARE p53 FROM 'SET @@global.sql_mode = \'NO_AUTO_VALUE_ON_ZERO,NO_BACKSLASH_ESCAPES,NO_DIR_IN_CREATE,NO_ENGINE_SUBSTITUTION\'';
+PREPARE p54 FROM 'SET @@local.sql_mode = \'NO_FIELD_OPTIONS,NO_KEY_OPTIONS,NO_TABLE_OPTIONS\'';
+PREPARE p55 FROM 'INSERT INTO tprep(text) VALUES (@@global.sql_mode)';
+PREPARE p56 FROM 'INSERT INTO tprep(text) VALUES (@@local.sql_mode)';
+PREPARE p57 FROM 'SET @user_num = 20';
+PREPARE p58 FROM 'INSERT INTO tprep(num) VALUES (@user_num)';
+PREPARE p59 FROM 'SET @user_num = 30';
+PREPARE p60 FROM 'INSERT INTO tprep(num) VALUES (@user_num)';
+PREPARE p61 FROM 'SET @user_text = \'Bergsbrunna\'';
+PREPARE p62 FROM 'INSERT INTO tprep(text) VALUES (@user_text)';
+PREPARE p63 FROM 'SET @user_text = \'Centrum\'';
+PREPARE p64 FROM 'INSERT INTO tprep(text) VALUES (@user_text)';
+EXECUTE p1;
+EXECUTE p2;
+EXECUTE p3;
+EXECUTE p4;
+EXECUTE p5;
+EXECUTE p6;
+EXECUTE p7;
+EXECUTE p8;
+EXECUTE p9;
+EXECUTE p10;
+EXECUTE p11;
+EXECUTE p12;
+EXECUTE p13;
+EXECUTE p14;
+EXECUTE p15;
+EXECUTE p16;
+EXECUTE p17;
+EXECUTE p18;
+EXECUTE p19;
+EXECUTE p20;
+EXECUTE p21;
+EXECUTE p22;
+EXECUTE p23;
+EXECUTE p24;
+EXECUTE p25;
+EXECUTE p26;
+EXECUTE p27;
+EXECUTE p28;
+EXECUTE p29;
+EXECUTE p30;
+EXECUTE p31;
+EXECUTE p32;
+EXECUTE p33;
+EXECUTE p34;
+EXECUTE p35;
+EXECUTE p36;
+EXECUTE p37;
+EXECUTE p38;
+EXECUTE p39;
+EXECUTE p40;
+EXECUTE p41;
+EXECUTE p42;
+EXECUTE p43;
+EXECUTE p44;
+EXECUTE p45;
+EXECUTE p46;
+EXECUTE p47;
+EXECUTE p48;
+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;
+==== Results ====
+SELECT * FROM tstmt ORDER BY id;
+id truth num text
+1 1 NULL NULL
+2 0 NULL NULL
+3 NULL 2000000 NULL
+4 NULL 3000000 NULL
+5 NULL NULL bison
+6 NULL NULL cat
+7 NULL NULL IDEMPOTENT
+8 NULL NULL STRICT
+9 1 NULL NULL
+10 0 NULL NULL
+11 NULL 20 NULL
+12 NULL 30 NULL
+13 1 NULL NULL
+14 0 NULL NULL
+15 0 NULL NULL
+16 1 NULL NULL
+17 NULL 3 NULL
+18 NULL 4 NULL
+19 NULL 5 NULL
+20 NULL 6 NULL
+21 NULL NULL sv_SE
+22 NULL NULL sv_FI
+23 NULL NULL ar_TN
+24 NULL NULL ar_IQ
+25 NULL NULL
+26 NULL NULL IGNORE_SPACE,NO_AUTO_CREATE_USER
+27 NULL NULL NO_DIR_IN_CREATE,NO_AUTO_VALUE_ON_ZERO,NO_BACKSLASH_ESCAPES,NO_ENGINE_SUBSTITUTION
+28 NULL NULL NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS
+29 NULL 20 NULL
+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
+==== Clean up ====
+[on master]
+DROP PROCEDURE proc;
+DROP FUNCTION func;
+DROP TRIGGER trig;
+DROP TABLE tstmt, tproc, tfunc, ttrig, tprep, trigger_table;
+SET @@global.default_week_format= @m_default_week_format;
+SET @@global.init_slave= @m_init_slave;
+SET @@global.lc_time_names= @m_lc_time_names;
+SET @@global.low_priority_updates= @m_low_priority_updates;
+SET @@global.relay_log_purge= @m_relay_log_purge;
+SET @@global.slave_exec_mode= @m_slave_exec_mode;
+SET @@global.sql_mode= @m_sql_mode;
+SET @@global.sync_binlog= @m_sync_binlog;
+[on slave]
+SET @@global.default_week_format= @s_default_week_format;
+SET @@global.init_slave= @s_init_slave;
+SET @@global.lc_time_names= @s_lc_time_names;
+SET @@global.low_priority_updates= @s_low_priority_updates;
+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;
diff --git a/mysql-test/suite/rpl/r/rpl_variables_stm.result b/mysql-test/suite/rpl/r/rpl_variables_stm.result
new file mode 100644
index 00000000000..51484187215
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_variables_stm.result
@@ -0,0 +1,526 @@
+stop slave;
+drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
+reset master;
+reset slave;
+drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
+start slave;
+==== Initialization ====
+[on master]
+SET @m_pseudo_thread_id= @@global.pseudo_thread_id;
+SET @m_auto_increment_increment= @@global.auto_increment_increment;
+SET @m_auto_increment_offset= @@global.auto_increment_offset;
+SET @m_character_set_client= @@global.character_set_client;
+SET @m_collation_connection= @@global.collation_connection;
+SET @m_collation_server= @@global.collation_server;
+SET @m_time_zone= @@global.time_zone;
+SET @m_lc_time_names= @@global.lc_time_names;
+SET @m_collation_database= @@global.collation_database;
+[on slave]
+SET @s_pseudo_thread_id= @@global.pseudo_thread_id;
+SET @s_auto_increment_increment= @@global.auto_increment_increment;
+SET @s_auto_increment_offset= @@global.auto_increment_offset;
+SET @s_character_set_client= @@global.character_set_client;
+SET @s_collation_connection= @@global.collation_connection;
+SET @s_collation_server= @@global.collation_server;
+SET @s_time_zone= @@global.time_zone;
+SET @s_lc_time_names= @@global.lc_time_names;
+SET @s_collation_database= @@global.collation_database;
+SET @@global.pseudo_thread_id= 4711;
+SET @@global.auto_increment_increment=19;
+SET @@global.auto_increment_offset=4;
+SET @@global.character_set_client='latin2';
+SET @@global.collation_connection='latin2_bin';
+SET @@global.collation_server='geostd8_general_ci';
+SET @@global.time_zone='Japan';
+SET @@global.lc_time_names='sv_SE';
+SET @@global.collation_database='geostd8_bin';
+[on master]
+CREATE TABLE tstmt (id INT AUTO_INCREMENT PRIMARY KEY,
+num INT,
+text VARCHAR(100));
+CREATE TABLE tproc LIKE tstmt;
+CREATE TABLE tfunc LIKE tstmt;
+CREATE TABLE ttrig LIKE tstmt;
+CREATE TABLE tprep LIKE tstmt;
+CREATE TABLE trigger_table (text CHAR(4));
+==== Insert variables directly ====
+SET @@pseudo_thread_id= 4712;
+INSERT INTO tstmt(num) VALUES (@@session.pseudo_thread_id);
+SET @@pseudo_thread_id= 4713;
+INSERT INTO tstmt(num) VALUES (@@session.pseudo_thread_id);
+SET @@foreign_key_checks= 0;
+INSERT INTO tstmt(num) VALUES (@@session.foreign_key_checks);
+SET @@foreign_key_checks= 1;
+INSERT INTO tstmt(num) VALUES (@@session.foreign_key_checks);
+SET @@sql_auto_is_null= 0;
+INSERT INTO tstmt(num) VALUES (@@session.sql_auto_is_null);
+SET @@sql_auto_is_null= 1;
+INSERT INTO tstmt(num) VALUES (@@session.sql_auto_is_null);
+SET @@unique_checks= 0;
+INSERT INTO tstmt(num) VALUES (@@session.unique_checks);
+SET @@unique_checks= 1;
+INSERT INTO tstmt(num) VALUES (@@session.unique_checks);
+SET @@auto_increment_increment= 11;
+INSERT INTO tstmt(num) VALUES (@@session.auto_increment_increment);
+SET @@auto_increment_increment= 19;
+INSERT INTO tstmt(num) VALUES (@@session.auto_increment_increment);
+SET @@auto_increment_offset= 13;
+INSERT INTO tstmt(num) VALUES (@@session.auto_increment_offset);
+SET @@auto_increment_offset= 17;
+INSERT INTO tstmt(num) VALUES (@@session.auto_increment_offset);
+SET @@auto_increment_increment= 1;
+SET @@auto_increment_offset= 1;
+SET @@character_set_client= 'cp1257';
+INSERT INTO tstmt(text) VALUES (@@session.character_set_client);
+SET @@character_set_client= 'cp1256';
+INSERT INTO tstmt(text) VALUES (@@session.character_set_client);
+SET @@collation_connection= 'cp1251_ukrainian_ci';
+INSERT INTO tstmt(text) VALUES (@@session.collation_connection);
+INSERT INTO tstmt(text) VALUES (@@session.character_set_connection);
+SET @@collation_connection= 'cp1251_bulgarian_ci';
+INSERT INTO tstmt(text) VALUES (@@session.collation_connection);
+INSERT INTO tstmt(text) VALUES (@@session.character_set_connection);
+SET @@collation_server= 'latin7_bin';
+INSERT INTO tstmt(text) VALUES (@@session.collation_server);
+INSERT INTO tstmt(text) VALUES (@@session.character_set_server);
+SET @@collation_server= 'latin7_general_cs';
+INSERT INTO tstmt(text) VALUES (@@session.collation_server);
+INSERT INTO tstmt(text) VALUES (@@session.character_set_server);
+SET @@time_zone= 'Europe/Moscow';
+INSERT INTO tstmt(text) VALUES (@@session.time_zone);
+SET @@time_zone= 'Universal';
+INSERT INTO tstmt(text) VALUES (@@session.time_zone);
+SET @@lc_time_names= 'sv_FI';
+INSERT INTO tstmt(text) VALUES (@@session.lc_time_names);
+SET @@lc_time_names= 'no_NO';
+INSERT INTO tstmt(text) VALUES (@@session.lc_time_names);
+SET @@collation_database= 'latin7_general_ci';
+INSERT INTO tstmt(text) VALUES (@@session.collation_database);
+INSERT INTO tstmt(text) VALUES (@@session.character_set_database);
+SET @@collation_database= 'latin7_estonian_cs';
+INSERT INTO tstmt(text) VALUES (@@session.collation_database);
+INSERT INTO tstmt(text) VALUES (@@session.character_set_database);
+SET @@timestamp= 47114711;
+INSERT INTO tstmt(text) VALUES (@@session.timestamp);
+SET @@timestamp= 47124712;
+INSERT INTO tstmt(text) VALUES (@@session.timestamp);
+SET @@last_insert_id= 1616;
+INSERT INTO tstmt(text) VALUES (@@session.last_insert_id);
+SET @@last_insert_id= 1717;
+INSERT INTO tstmt(text) VALUES (@@session.last_insert_id);
+==== Insert variables from a stored procedure ====
+CREATE PROCEDURE proc()
+BEGIN
+SET @@pseudo_thread_id= 4712;
+INSERT INTO tproc(num) VALUES (@@session.pseudo_thread_id);
+SET @@pseudo_thread_id= 4713;
+INSERT INTO tproc(num) VALUES (@@session.pseudo_thread_id);
+SET @@foreign_key_checks= 0;
+INSERT INTO tproc(num) VALUES (@@session.foreign_key_checks);
+SET @@foreign_key_checks= 1;
+INSERT INTO tproc(num) VALUES (@@session.foreign_key_checks);
+SET @@sql_auto_is_null= 0;
+INSERT INTO tproc(num) VALUES (@@session.sql_auto_is_null);
+SET @@sql_auto_is_null= 1;
+INSERT INTO tproc(num) VALUES (@@session.sql_auto_is_null);
+SET @@unique_checks= 0;
+INSERT INTO tproc(num) VALUES (@@session.unique_checks);
+SET @@unique_checks= 1;
+INSERT INTO tproc(num) VALUES (@@session.unique_checks);
+SET @@auto_increment_increment= 11;
+INSERT INTO tproc(num) VALUES (@@session.auto_increment_increment);
+SET @@auto_increment_increment= 19;
+INSERT INTO tproc(num) VALUES (@@session.auto_increment_increment);
+SET @@auto_increment_offset= 13;
+INSERT INTO tproc(num) VALUES (@@session.auto_increment_offset);
+SET @@auto_increment_offset= 17;
+INSERT INTO tproc(num) VALUES (@@session.auto_increment_offset);
+# reset these as they affect the index column
+SET @@auto_increment_increment= 1;
+SET @@auto_increment_offset= 1;
+SET @@character_set_client= 'cp1257';
+INSERT INTO tproc(text) VALUES (@@session.character_set_client);
+SET @@character_set_client= 'cp1256';
+INSERT INTO tproc(text) VALUES (@@session.character_set_client);
+SET @@collation_connection= 'cp1251_ukrainian_ci';
+INSERT INTO tproc(text) VALUES (@@session.collation_connection);
+INSERT INTO tproc(text) VALUES (@@session.character_set_connection);
+SET @@collation_connection= 'cp1251_bulgarian_ci';
+INSERT INTO tproc(text) VALUES (@@session.collation_connection);
+INSERT INTO tproc(text) VALUES (@@session.character_set_connection);
+SET @@collation_server= 'latin7_bin';
+INSERT INTO tproc(text) VALUES (@@session.collation_server);
+INSERT INTO tproc(text) VALUES (@@session.character_set_server);
+SET @@collation_server= 'latin7_general_cs';
+INSERT INTO tproc(text) VALUES (@@session.collation_server);
+INSERT INTO tproc(text) VALUES (@@session.character_set_server);
+SET @@time_zone= 'Europe/Moscow';
+INSERT INTO tproc(text) VALUES (@@session.time_zone);
+SET @@time_zone= 'Universal';
+INSERT INTO tproc(text) VALUES (@@session.time_zone);
+SET @@lc_time_names= 'sv_FI';
+INSERT INTO tproc(text) VALUES (@@session.lc_time_names);
+SET @@lc_time_names= 'no_NO';
+INSERT INTO tproc(text) VALUES (@@session.lc_time_names);
+SET @@collation_database= 'latin7_general_ci';
+INSERT INTO tproc(text) VALUES (@@session.collation_database);
+INSERT INTO tproc(text) VALUES (@@session.character_set_database);
+SET @@collation_database= 'latin7_estonian_cs';
+INSERT INTO tproc(text) VALUES (@@session.collation_database);
+INSERT INTO tproc(text) VALUES (@@session.character_set_database);
+SET @@timestamp= 47114711;
+INSERT INTO tproc(text) VALUES (@@session.timestamp);
+SET @@timestamp= 47124712;
+INSERT INTO tproc(text) VALUES (@@session.timestamp);
+SET @@last_insert_id= 1616;
+INSERT INTO tproc(text) VALUES (@@session.last_insert_id);
+SET @@last_insert_id= 1717;
+INSERT INTO tproc(text) VALUES (@@session.last_insert_id);
+END|
+CALL proc();
+==== Insert variables from a stored function ====
+CREATE FUNCTION func()
+RETURNS INT
+BEGIN
+SET @@pseudo_thread_id= 4712;
+INSERT INTO tfunc(num) VALUES (@@session.pseudo_thread_id);
+SET @@pseudo_thread_id= 4713;
+INSERT INTO tfunc(num) VALUES (@@session.pseudo_thread_id);
+SET @@foreign_key_checks= 0;
+INSERT INTO tfunc(num) VALUES (@@session.foreign_key_checks);
+SET @@foreign_key_checks= 1;
+INSERT INTO tfunc(num) VALUES (@@session.foreign_key_checks);
+SET @@sql_auto_is_null= 0;
+INSERT INTO tfunc(num) VALUES (@@session.sql_auto_is_null);
+SET @@sql_auto_is_null= 1;
+INSERT INTO tfunc(num) VALUES (@@session.sql_auto_is_null);
+SET @@unique_checks= 0;
+INSERT INTO tfunc(num) VALUES (@@session.unique_checks);
+SET @@unique_checks= 1;
+INSERT INTO tfunc(num) VALUES (@@session.unique_checks);
+SET @@auto_increment_increment= 11;
+INSERT INTO tfunc(num) VALUES (@@session.auto_increment_increment);
+SET @@auto_increment_increment= 19;
+INSERT INTO tfunc(num) VALUES (@@session.auto_increment_increment);
+SET @@auto_increment_offset= 13;
+INSERT INTO tfunc(num) VALUES (@@session.auto_increment_offset);
+SET @@auto_increment_offset= 17;
+INSERT INTO tfunc(num) VALUES (@@session.auto_increment_offset);
+# reset these as they affect the index column
+SET @@auto_increment_increment= 1;
+SET @@auto_increment_offset= 1;
+SET @@character_set_client= 'cp1257';
+INSERT INTO tfunc(text) VALUES (@@session.character_set_client);
+SET @@character_set_client= 'cp1256';
+INSERT INTO tfunc(text) VALUES (@@session.character_set_client);
+SET @@collation_connection= 'cp1251_ukrainian_ci';
+INSERT INTO tfunc(text) VALUES (@@session.collation_connection);
+INSERT INTO tfunc(text) VALUES (@@session.character_set_connection);
+SET @@collation_connection= 'cp1251_bulgarian_ci';
+INSERT INTO tfunc(text) VALUES (@@session.collation_connection);
+INSERT INTO tfunc(text) VALUES (@@session.character_set_connection);
+SET @@collation_server= 'latin7_bin';
+INSERT INTO tfunc(text) VALUES (@@session.collation_server);
+INSERT INTO tfunc(text) VALUES (@@session.character_set_server);
+SET @@collation_server= 'latin7_general_cs';
+INSERT INTO tfunc(text) VALUES (@@session.collation_server);
+INSERT INTO tfunc(text) VALUES (@@session.character_set_server);
+SET @@time_zone= 'Europe/Moscow';
+INSERT INTO tfunc(text) VALUES (@@session.time_zone);
+SET @@time_zone= 'Universal';
+INSERT INTO tfunc(text) VALUES (@@session.time_zone);
+SET @@lc_time_names= 'sv_FI';
+INSERT INTO tfunc(text) VALUES (@@session.lc_time_names);
+SET @@lc_time_names= 'no_NO';
+INSERT INTO tfunc(text) VALUES (@@session.lc_time_names);
+SET @@collation_database= 'latin7_general_ci';
+INSERT INTO tfunc(text) VALUES (@@session.collation_database);
+INSERT INTO tfunc(text) VALUES (@@session.character_set_database);
+SET @@collation_database= 'latin7_estonian_cs';
+INSERT INTO tfunc(text) VALUES (@@session.collation_database);
+INSERT INTO tfunc(text) VALUES (@@session.character_set_database);
+SET @@timestamp= 47114711;
+INSERT INTO tfunc(text) VALUES (@@session.timestamp);
+SET @@timestamp= 47124712;
+INSERT INTO tfunc(text) VALUES (@@session.timestamp);
+SET @@last_insert_id= 1616;
+INSERT INTO tfunc(text) VALUES (@@session.last_insert_id);
+SET @@last_insert_id= 1717;
+INSERT INTO tfunc(text) VALUES (@@session.last_insert_id);
+RETURN 0;
+END|
+SELECT func();
+func()
+0
+==== Insert variables from a trigger ====
+CREATE TRIGGER trig
+BEFORE INSERT ON trigger_table
+FOR EACH ROW
+BEGIN
+SET @@pseudo_thread_id= 4712;
+INSERT INTO ttrig(num) VALUES (@@session.pseudo_thread_id);
+SET @@pseudo_thread_id= 4713;
+INSERT INTO ttrig(num) VALUES (@@session.pseudo_thread_id);
+SET @@foreign_key_checks= 0;
+INSERT INTO ttrig(num) VALUES (@@session.foreign_key_checks);
+SET @@foreign_key_checks= 1;
+INSERT INTO ttrig(num) VALUES (@@session.foreign_key_checks);
+SET @@sql_auto_is_null= 0;
+INSERT INTO ttrig(num) VALUES (@@session.sql_auto_is_null);
+SET @@sql_auto_is_null= 1;
+INSERT INTO ttrig(num) VALUES (@@session.sql_auto_is_null);
+SET @@unique_checks= 0;
+INSERT INTO ttrig(num) VALUES (@@session.unique_checks);
+SET @@unique_checks= 1;
+INSERT INTO ttrig(num) VALUES (@@session.unique_checks);
+SET @@auto_increment_increment= 11;
+INSERT INTO ttrig(num) VALUES (@@session.auto_increment_increment);
+SET @@auto_increment_increment= 19;
+INSERT INTO ttrig(num) VALUES (@@session.auto_increment_increment);
+SET @@auto_increment_offset= 13;
+INSERT INTO ttrig(num) VALUES (@@session.auto_increment_offset);
+SET @@auto_increment_offset= 17;
+INSERT INTO ttrig(num) VALUES (@@session.auto_increment_offset);
+# reset these as they affect the index column
+SET @@auto_increment_increment= 1;
+SET @@auto_increment_offset= 1;
+SET @@character_set_client= 'cp1257';
+INSERT INTO ttrig(text) VALUES (@@session.character_set_client);
+SET @@character_set_client= 'cp1256';
+INSERT INTO ttrig(text) VALUES (@@session.character_set_client);
+SET @@collation_connection= 'cp1251_ukrainian_ci';
+INSERT INTO ttrig(text) VALUES (@@session.collation_connection);
+INSERT INTO ttrig(text) VALUES (@@session.character_set_connection);
+SET @@collation_connection= 'cp1251_bulgarian_ci';
+INSERT INTO ttrig(text) VALUES (@@session.collation_connection);
+INSERT INTO ttrig(text) VALUES (@@session.character_set_connection);
+SET @@collation_server= 'latin7_bin';
+INSERT INTO ttrig(text) VALUES (@@session.collation_server);
+INSERT INTO ttrig(text) VALUES (@@session.character_set_server);
+SET @@collation_server= 'latin7_general_cs';
+INSERT INTO ttrig(text) VALUES (@@session.collation_server);
+INSERT INTO ttrig(text) VALUES (@@session.character_set_server);
+SET @@time_zone= 'Europe/Moscow';
+INSERT INTO ttrig(text) VALUES (@@session.time_zone);
+SET @@time_zone= 'Universal';
+INSERT INTO ttrig(text) VALUES (@@session.time_zone);
+SET @@lc_time_names= 'sv_FI';
+INSERT INTO ttrig(text) VALUES (@@session.lc_time_names);
+SET @@lc_time_names= 'no_NO';
+INSERT INTO ttrig(text) VALUES (@@session.lc_time_names);
+SET @@collation_database= 'latin7_general_ci';
+INSERT INTO ttrig(text) VALUES (@@session.collation_database);
+INSERT INTO ttrig(text) VALUES (@@session.character_set_database);
+SET @@collation_database= 'latin7_estonian_cs';
+INSERT INTO ttrig(text) VALUES (@@session.collation_database);
+INSERT INTO ttrig(text) VALUES (@@session.character_set_database);
+SET @@timestamp= 47114711;
+INSERT INTO ttrig(text) VALUES (@@session.timestamp);
+SET @@timestamp= 47124712;
+INSERT INTO ttrig(text) VALUES (@@session.timestamp);
+SET @@last_insert_id= 1616;
+INSERT INTO ttrig(text) VALUES (@@session.last_insert_id);
+SET @@last_insert_id= 1717;
+INSERT INTO ttrig(text) VALUES (@@session.last_insert_id);
+END|
+INSERT INTO trigger_table VALUES ('bye.');
+==== Insert variables from a prepared statement ====
+PREPARE p1 FROM 'SET @@pseudo_thread_id= 4712';
+PREPARE p2 FROM 'INSERT INTO tprep(num) VALUES (@@session.pseudo_thread_id)';
+PREPARE p3 FROM 'SET @@pseudo_thread_id= 4713';
+PREPARE p4 FROM 'INSERT INTO tprep(num) VALUES (@@session.pseudo_thread_id)';
+PREPARE p5 FROM 'SET @@foreign_key_checks= 0';
+PREPARE p6 FROM 'INSERT INTO tprep(num) VALUES (@@session.foreign_key_checks)';
+PREPARE p7 FROM 'SET @@foreign_key_checks= 1';
+PREPARE p8 FROM 'INSERT INTO tprep(num) VALUES (@@session.foreign_key_checks)';
+PREPARE p9 FROM 'SET @@sql_auto_is_null= 0';
+PREPARE p10 FROM 'INSERT INTO tprep(num) VALUES (@@session.sql_auto_is_null)';
+PREPARE p11 FROM 'SET @@sql_auto_is_null= 1';
+PREPARE p12 FROM 'INSERT INTO tprep(num) VALUES (@@session.sql_auto_is_null)';
+PREPARE p13 FROM 'SET @@unique_checks= 0';
+PREPARE p14 FROM 'INSERT INTO tprep(num) VALUES (@@session.unique_checks)';
+PREPARE p15 FROM 'SET @@unique_checks= 1';
+PREPARE p16 FROM 'INSERT INTO tprep(num) VALUES (@@session.unique_checks)';
+PREPARE p17 FROM 'SET @@auto_increment_increment= 11';
+PREPARE p18 FROM 'INSERT INTO tprep(num) VALUES (@@session.auto_increment_increment)';
+PREPARE p19 FROM 'SET @@auto_increment_increment= 19';
+PREPARE p20 FROM 'INSERT INTO tprep(num) VALUES (@@session.auto_increment_increment)';
+PREPARE p21 FROM 'SET @@auto_increment_offset= 13';
+PREPARE p22 FROM 'INSERT INTO tprep(num) VALUES (@@session.auto_increment_offset)';
+PREPARE p23 FROM 'SET @@auto_increment_offset= 17';
+PREPARE p24 FROM 'INSERT INTO tprep(num) VALUES (@@session.auto_increment_offset)';
+PREPARE p25 FROM 'SET @@auto_increment_increment= 1';
+PREPARE p26 FROM 'SET @@auto_increment_offset= 1';
+PREPARE p27 FROM 'SET @@character_set_client= \'cp1257\'';
+PREPARE p28 FROM 'INSERT INTO tprep(text) VALUES (@@session.character_set_client)';
+PREPARE p29 FROM 'SET @@character_set_client= \'cp1256\'';
+PREPARE p30 FROM 'INSERT INTO tprep(text) VALUES (@@session.character_set_client)';
+PREPARE p31 FROM 'SET @@collation_connection= \'cp1251_ukrainian_ci\'';
+PREPARE p32 FROM 'INSERT INTO tprep(text) VALUES (@@session.collation_connection)';
+PREPARE p33 FROM 'INSERT INTO tprep(text) VALUES (@@session.character_set_connection)';
+PREPARE p34 FROM 'SET @@collation_connection= \'cp1251_bulgarian_ci\'';
+PREPARE p35 FROM 'INSERT INTO tprep(text) VALUES (@@session.collation_connection)';
+PREPARE p36 FROM 'INSERT INTO tprep(text) VALUES (@@session.character_set_connection)';
+PREPARE p37 FROM 'SET @@collation_server= \'latin7_bin\'';
+PREPARE p38 FROM 'INSERT INTO tprep(text) VALUES (@@session.collation_server)';
+PREPARE p39 FROM 'INSERT INTO tprep(text) VALUES (@@session.character_set_server)';
+PREPARE p40 FROM 'SET @@collation_server= \'latin7_general_cs\'';
+PREPARE p41 FROM 'INSERT INTO tprep(text) VALUES (@@session.collation_server)';
+PREPARE p42 FROM 'INSERT INTO tprep(text) VALUES (@@session.character_set_server)';
+PREPARE p43 FROM 'SET @@time_zone= \'Europe/Moscow\'';
+PREPARE p44 FROM 'INSERT INTO tprep(text) VALUES (@@session.time_zone)';
+PREPARE p45 FROM 'SET @@time_zone= \'Universal\'';
+PREPARE p46 FROM 'INSERT INTO tprep(text) VALUES (@@session.time_zone)';
+PREPARE p47 FROM 'SET @@lc_time_names= \'sv_FI\'';
+PREPARE p48 FROM 'INSERT INTO tprep(text) VALUES (@@session.lc_time_names)';
+PREPARE p49 FROM 'SET @@lc_time_names= \'no_NO\'';
+PREPARE p50 FROM 'INSERT INTO tprep(text) VALUES (@@session.lc_time_names)';
+PREPARE p51 FROM 'SET @@collation_database= \'latin7_general_ci\'';
+PREPARE p52 FROM 'INSERT INTO tprep(text) VALUES (@@session.collation_database)';
+PREPARE p53 FROM 'INSERT INTO tprep(text) VALUES (@@session.character_set_database)';
+PREPARE p54 FROM 'SET @@collation_database= \'latin7_estonian_cs\'';
+PREPARE p55 FROM 'INSERT INTO tprep(text) VALUES (@@session.collation_database)';
+PREPARE p56 FROM 'INSERT INTO tprep(text) VALUES (@@session.character_set_database)';
+PREPARE p57 FROM 'SET @@timestamp= 47114711';
+PREPARE p58 FROM 'INSERT INTO tprep(text) VALUES (@@session.timestamp)';
+PREPARE p59 FROM 'SET @@timestamp= 47124712';
+PREPARE p60 FROM 'INSERT INTO tprep(text) VALUES (@@session.timestamp)';
+PREPARE p61 FROM 'SET @@last_insert_id= 1616';
+PREPARE p62 FROM 'INSERT INTO tprep(text) VALUES (@@session.last_insert_id)';
+PREPARE p63 FROM 'SET @@last_insert_id= 1717';
+PREPARE p64 FROM 'INSERT INTO tprep(text) VALUES (@@session.last_insert_id)';
+EXECUTE p1;
+EXECUTE p2;
+EXECUTE p3;
+EXECUTE p4;
+EXECUTE p5;
+EXECUTE p6;
+EXECUTE p7;
+EXECUTE p8;
+EXECUTE p9;
+EXECUTE p10;
+EXECUTE p11;
+EXECUTE p12;
+EXECUTE p13;
+EXECUTE p14;
+EXECUTE p15;
+EXECUTE p16;
+EXECUTE p17;
+EXECUTE p18;
+EXECUTE p19;
+EXECUTE p20;
+EXECUTE p21;
+EXECUTE p22;
+EXECUTE p23;
+EXECUTE p24;
+EXECUTE p25;
+EXECUTE p26;
+EXECUTE p27;
+EXECUTE p28;
+EXECUTE p29;
+EXECUTE p30;
+EXECUTE p31;
+EXECUTE p32;
+EXECUTE p33;
+EXECUTE p34;
+EXECUTE p35;
+EXECUTE p36;
+EXECUTE p37;
+EXECUTE p38;
+EXECUTE p39;
+EXECUTE p40;
+EXECUTE p41;
+EXECUTE p42;
+EXECUTE p43;
+EXECUTE p44;
+EXECUTE p45;
+EXECUTE p46;
+EXECUTE p47;
+EXECUTE p48;
+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;
+==== Results ====
+SELECT * FROM tstmt ORDER BY id;
+id num text
+1 4712 NULL
+2 4713 NULL
+3 0 NULL
+4 1 NULL
+5 0 NULL
+6 1 NULL
+7 0 NULL
+8 1 NULL
+12 11 NULL
+20 19 NULL
+32 13 NULL
+36 17 NULL
+37 NULL cp1257
+38 NULL cp1256
+39 NULL cp1251_ukrainian_ci
+40 NULL cp1251
+41 NULL cp1251_bulgarian_ci
+42 NULL cp1251
+43 NULL latin7_bin
+44 NULL latin7
+45 NULL latin7_general_cs
+46 NULL latin7
+47 NULL Europe/Moscow
+48 NULL Universal
+49 NULL sv_FI
+50 NULL no_NO
+51 NULL latin7_general_ci
+52 NULL latin7
+53 NULL latin7_estonian_cs
+54 NULL latin7
+55 NULL 47114711
+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
+==== Clean up ====
+[on master]
+DROP PROCEDURE proc;
+DROP FUNCTION func;
+DROP TRIGGER trig;
+DROP TABLE tstmt, tproc, tfunc, ttrig, tprep, trigger_table;
+SET @@global.pseudo_thread_id= @m_pseudo_thread_id;
+SET @@global.auto_increment_increment= @m_auto_increment_increment;
+SET @@global.auto_increment_offset= @m_auto_increment_offset;
+SET @@global.character_set_client= @m_character_set_client;
+SET @@global.collation_connection= @m_collation_connection;
+SET @@global.collation_server= @m_collation_server;
+SET @@global.time_zone= @m_time_zone;
+SET @@global.lc_time_names= @m_lc_time_names;
+SET @@global.collation_database= @m_collation_database;
+[on slave]
+SET @@global.pseudo_thread_id= @s_pseudo_thread_id;
+SET @@global.auto_increment_increment= @s_auto_increment_increment;
+SET @@global.auto_increment_offset= @s_auto_increment_offset;
+SET @@global.character_set_client= @s_character_set_client;
+SET @@global.collation_connection= @s_collation_connection;
+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;
diff --git a/mysql-test/suite/rpl/t/disabled.def b/mysql-test/suite/rpl/t/disabled.def
index 14102c27c17..20c3ccf0486 100644
--- a/mysql-test/suite/rpl/t/disabled.def
+++ b/mysql-test/suite/rpl/t/disabled.def
@@ -11,22 +11,8 @@
##############################################################################
rpl_ddl : BUG#26418 2007-03-01 mleich Slave out of sync after CREATE/DROP TEMPORARY TABLE + ROLLBACK on master
-rpl_innodb_mixed_ddl : Bug #29363 rpl.rpl_innodb_mixed_* test failures
-rpl_innodb_mixed_dml : Bug #29363 rpl.rpl_innodb_mixed_* test failures
-rpl_invoked_features : BUG#29020 2007-06-21 Lars Non-deterministic test case
-rpl_auto_increment_11932 : Bug#29809 2007-07-16 ingo Slave SQL errors in warnings file
-rpl_deadlock_innodb : Bug#29809 2007-07-15 ingo Slave SQL errors in warnings file
-rpl_extraCol_innodb : Bug#29809 2007-07-15 ingo Slave SQL errors in warnings file
-rpl_extraCol_myisam : Bug#29809 2007-07-15 ingo Slave SQL errors in warnings file
-rpl_incident : Bug#29809 2007-07-15 ingo Slave SQL errors in warnings file
-rpl_known_bugs_detection : Bug#29809 2007-07-15 ingo Slave SQL errors in warnings file
-rpl_loaddata : Bug#29809 2007-07-15 ingo Slave SQL errors in warnings file
-rpl_loaddata_fatal : Bug#29809 2007-07-15 ingo Slave SQL errors in warnings file
-rpl_rewrt_db : Bug#29809 2007-07-15 ingo Slave SQL errors in warnings file
-rpl_rotate_logs : Bug#29809 2007-07-15 ingo Slave SQL errors in warnings file
-rpl_row_inexist_tbl : Bug#29809 2007-07-15 ingo Slave SQL errors in warnings file
-rpl_row_tabledefs_2myisam : Bug#29809 2007-07-15 ingo Slave SQL errors in warnings file
-rpl_row_tabledefs_3innodb : Bug#29809 2007-07-15 ingo Slave SQL errors in warnings file
-rpl_ssl : Bug#29809 2007-07-15 ingo Slave SQL errors in warnings file
-rpl_stm_EE_err2 : Bug#29809 2007-07-15 ingo Slave SQL errors in warnings file
-rpl_stm_mystery22 : Bug#29809 2007-07-15 ingo Slave SQL errors in warnings file
+rpl_stm_extraColmaster_ndb : WL#3915 : Statement-based replication not supported in ndb. Enable test when supported.
+rpl_innodb_bug28430 : Bug #32247 2007-11-27 mats Test reports wrong value of "AUTO_INCREMENT" (on a partitioned InnoDB table)
+rpl_view : Bug#32654: rpl_view.test fails randomly
+rpl_ndb_multi : Bug#30751: rpl_ndb_multi missing row in output
+rpl_log_pos : Bug#8693 Test 'rpl_log_pos' fails sometimes
diff --git a/mysql-test/suite/rpl/t/rpl_000015.test b/mysql-test/suite/rpl/t/rpl_000015.test
index 80db596244b..45a43cd38d0 100644
--- a/mysql-test/suite/rpl/t/rpl_000015.test
+++ b/mysql-test/suite/rpl/t/rpl_000015.test
@@ -9,22 +9,22 @@ connect (master,localhost,root,,test,$MASTER_MYPORT,$MASTER_MYSOCK);
connect (slave,localhost,root,,test,$SLAVE_MYPORT,$SLAVE_MYSOCK);
connection master;
reset master;
-show master status;
+source include/show_master_status.inc;
save_master_pos;
connection slave;
reset slave;
-source include/show_slave_status.inc;
+source include/show_slave_status2.inc;
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;
+source include/show_slave_status2.inc;
--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;
+source include/show_slave_status2.inc;
start slave;
sync_with_master;
-source include/show_slave_status.inc;
+source include/show_slave_status2.inc;
connection master;
--disable_warnings
drop table if exists t1;
diff --git a/mysql-test/suite/rpl/t/rpl_binlog_grant.test b/mysql-test/suite/rpl/t/rpl_binlog_grant.test
new file mode 100644
index 00000000000..e95f69a3f99
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_binlog_grant.test
@@ -0,0 +1,44 @@
+source include/master-slave.inc;
+-- source include/have_innodb.inc
+-- source include/not_embedded.inc
+-- source include/have_binlog_format_mixed_or_statement.inc
+
+let $VERSION=`select version()`;
+
+# Bug #21975: grant/revoke statements in transaction
+# used to disappear from binlog upon rallback.
+# 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;
+set @@autocommit=0;
+start transaction;
+insert into t values (1);
+grant select on t to x@y;
+#
+# There is no active transaction here
+#
+rollback;
+show grants for x@y;
+--replace_result $VERSION VERSION
+--replace_regex /\/\* xid=.* \*\//\/* XID *\//
+show binlog events;
+start transaction;
+insert into t values (2);
+revoke select on t from x@y;
+#
+# There is no active transaction here
+#
+commit;
+select * from t;
+show grants for x@y;
+--replace_result $VERSION VERSION
+--replace_regex /\/\* xid=.* \*\//\/* XID *\//
+show binlog events;
+drop user x@y;
+drop database d1;
diff --git a/mysql-test/suite/rpl/t/rpl_bug31076.test b/mysql-test/suite/rpl/t/rpl_bug31076.test
new file mode 100644
index 00000000000..9176bafe022
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_bug31076.test
@@ -0,0 +1,136 @@
+source include/master-slave.inc;
+
+CREATE DATABASE track;
+USE track;
+
+CREATE TABLE `visits` (
+ `visits_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+ `myid` varchar(32) NOT NULL DEFAULT '',
+ `src` varchar(64) NOT NULL DEFAULT '',
+ `ip` int(10) unsigned NOT NULL DEFAULT '0',
+ `cc` char(2) NOT NULL DEFAULT '',
+ `org` varchar(80) DEFAULT NULL,
+ `ref` varchar(255) NOT NULL DEFAULT '',
+ `time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ `host` varchar(30) NOT NULL DEFAULT '',
+ `entry` varchar(255) NOT NULL DEFAULT '',
+ `visit_exit` varchar(255) NOT NULL DEFAULT '',
+ `user_id` int(11) unsigned NOT NULL DEFAULT '0',
+ `visit_start` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ PRIMARY KEY (`visits_id`),
+ KEY `ip` (`ip`),
+ KEY `time` (`time`),
+ KEY `user_id` (`user_id`)
+) ENGINE=MyISAM AUTO_INCREMENT=21293381 DEFAULT CHARSET=latin1;
+
+CREATE TABLE `visits_events` (
+ `event_id` mediumint(8) unsigned NOT NULL DEFAULT '0',
+ `visit_id` int(11) unsigned NOT NULL DEFAULT '0',
+ `timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ `src` varchar(64) NOT NULL DEFAULT '',
+ `data` varchar(255) NOT NULL DEFAULT '',
+ `visits_events_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+ PRIMARY KEY (`visits_events_id`),
+ KEY `event_id` (`event_id`),
+ KEY `visit_id` (`visit_id`),
+ KEY `data` (`data`)
+) ENGINE=MyISAM AUTO_INCREMENT=33900731 DEFAULT CHARSET=latin1;
+
+/*!40019 SET @@session.max_insert_delayed_threads=0*/;
+/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
+--delimiter /*!*/;
+
+# at 4 (0x4)
+#071204 14:29:31 server id 1 end_log_pos 106
+# Position Timestamp Type Master ID Size Master Pos Flags
+# 4 3b 56 55 47 0f 01 00 00 00 66 00 00 00 6a 00 00 00 00 00
+# 17 04 00 35 2e 31 2e 32 33 2d 72 63 2d 64 65 62 75 |..5.1.23.rc.debu|
+# 27 67 2d 6c 6f 67 00 00 00 00 00 00 00 00 00 00 00 |g.log...........|
+# 37 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
+# 47 00 00 00 00 3b 56 55 47 13 38 0d 00 08 00 12 00 |.....VUG.8......|
+# 57 04 04 04 04 12 00 00 53 00 04 1a 08 00 00 00 08 |.......S........|
+# 67 08 08 02 |...|
+# Start: binlog v 4, server v 5.1.23-rc-debug-log created 071204 14:29:31 at startup
+
+BINLOG '
+O1ZVRw8BAAAAZgAAAGoAAAAAAAQANS4xLjIzLXJjLWRlYnVnLWxvZwAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAA7VlVHEzgNAAgAEgAEBAQEEgAAUwAEGggAAAAICAgC
+'/*!*/;
+
+# at 164170623
+# at 164170679
+#7918 3:59:2 server id 436 end_log_pos 164170679
+# 9c90b7f 06 4d ef 46 13 b4 01 00 00 38 00 00 00 b7 0b c9 |.M.F.....8......|
+# 9c90b8f 09 00 00 99 57 17 02 00 00 00 00 05 74 72 61 63 |....W.......trac|
+# 9c90b9f 6b 00 0d 76 69 |k..vi|
+# Table_map: `track`.`visits_events` mapped to number 35084185
+#7918 3:59:2 server id 436 end_log_pos 164170769
+# 9c90bb7 06 4d ef 46 17 b4 01 00 00 5a 00 00 00 11 0c c9 |.M.F.....Z......|
+# 9c90bc7 09 10 00 99 57 17 02 00 00 01 00 06 ff c0 20 4e |....W..........N|
+# 9c90bd7 00 be f5 43 01 06 4d ef 46 00 2b 44 6f 77 6e 6c |...C..M.F..Downl|
+# 9c90be7 6f 61 64 73 2f 4d 79 53 51 4c 2d 34 2e 31 2f 6d |oads.MySQL.4.1.m|
+# 9c90bf7 79 73 71 6c 2d 34 2e |ysql.4.|
+# Write_rows: table id 35084185 flags: STMT_END_F
+
+BINLOG '
+Bk3vRhO0AQAAOAAAALcLyQkAAJlXFwIAAAAABXRyYWNrAA12aXNpdHNfZXZlbnRzAAYJAwcPDwM=
+Bk3vRhe0AQAAWgAAABEMyQkQAJlXFwIAAAEABv/AIE4AvvVDAQZN70YAK0Rvd25sb2Fkcy9NeVNR
+TC00LjEvbXlzcWwtNC4xLjEyYS13aW4zMi56aXBPaAIC
+'/*!*/;
+# at 164170769
+#7918 3:59:2 server id 436 end_log_pos 164170797
+# 9c90c11 06 4d ef 46 05 b4 01 00 00 |.M.F.....|
+# Intvar
+SET INSERT_ID=21231039/*!*/;
+# at 164170797
+#7918 3:59:2 server id 436 end_log_pos 164171293
+# 9c90c2d 06 4d ef 46 02 b4 01 00 00 f0 01 00 00 1d 0e c9 |.M.F............|
+# 9c90c3d 09 10 00 28 80 af 01 00 00 00 00 05 00 00 1f 00 |................|
+# 9c90c4d 00 00 40 00 00 01 00 00 00 00 00 00 00 00 06 03 |................|
+# 9c90c5d 73 74 64 04 08 00 08 00 08 00 05 03 55 54 43 74 |std.........UTCt|
+# 9c90c6d 72 61 63 6b 00 49 4e 53 45 52 54 20 49 4e 54 4f |rack.INSERT.INTO|
+# 9c90c7d 20 76 69 73 69 74 73 20 28 6d 79 69 64 2c 20 75 |.visits..myid..u|
+# 9c90c8d 73 65 72 5f 69 64 2c 20 73 72 63 2c 20 69 70 2c |ser.id..src..ip.|
+# 9c90c9d 20 63 63 2c 20 6f 72 67 2c 20 72 65 66 2c 20 74 |.cc..org..ref..t|
+# 9c90cad 69 6d 65 2c 20 68 6f 73 74 2c 20 65 6e 74 72 79 |ime..host..entry|
+# 9c90cbd 2c 20 76 69 73 69 74 5f 65 78 69 74 2c 20 76 69 |..visit.exit..vi|
+# 9c90ccd 73 69 74 5f 73 74 61 72 74 29 0a 09 09 09 56 41 |sit.start.....VA|
+# 9c90cdd 4c 55 45 53 20 28 27 33 6d 33 6c 34 72 68 73 36 |LUES...3m3l4rhs6|
+# 9c90ced 64 6f 30 73 66 35 70 31 69 39 6c 72 39 34 67 39 |do0sf5p1i9lr94g9|
+# 9c90cfd 32 38 61 32 37 32 76 27 2c 20 27 27 2c 20 27 27 |28a272v.........|
+# 9c90d0d 2c 20 49 4e 45 54 5f 41 54 4f 4e 28 27 37 31 2e |..INET.ATON..71.|
+# 9c90d1d 31 31 38 2e 31 32 34 2e 39 38 27 29 2c 20 27 27 |118.124.98......|
+# 9c90d2d 2c 20 27 27 2c 20 27 68 74 74 70 3a 2f 2f 64 65 |.......http...de|
+# 9c90d3d 76 2e 6d 79 73 71 6c 2e 63 6f 6d 2f 64 6f 77 6e |v.mysql.com.down|
+# 9c90d4d 6c 6f 61 64 73 2f 63 6f 6e 6e 65 63 74 6f 72 2f |loads.connector.|
+# 9c90d5d 6a 2f 33 2e 30 2e 68 74 6d 6c 27 2c 20 4e 55 4c |j.3.0.html...NUL|
+# 9c90d6d 4c 2c 20 27 64 65 76 2e 6d 79 73 71 6c 2e 63 6f |L...dev.mysql.co|
+# 9c90d7d 6d 27 2c 20 27 2f 67 65 74 2f 44 6f 77 6e 6c 6f |m.....get.Downlo|
+# 9c90d8d 61 64 73 2f 43 6f 6e 6e 65 63 74 6f 72 2d 4a 2f |ads.Connector.J.|
+# 9c90d9d 6d 79 73 71 6c 2d 63 6f 6e 6e 65 63 74 6f 72 2d |mysql.connector.|
+# 9c90dad 6a 61 76 61 2d 33 2e 30 2e 31 37 2d 67 61 2e 7a |java.3.0.17.ga.z|
+# 9c90dbd 69 70 2f 66 72 6f 6d 2f 70 69 63 6b 27 2c 20 27 |ip.from.pick....|
+# 9c90dcd 2f 67 65 74 2f 44 6f 77 6e 6c 6f 61 64 73 2f 43 |.get.Downloads.C|
+# 9c90ddd 6f 6e 6e 65 63 74 6f 72 2d 4a 2f 6d 79 73 71 6c |onnector.J.mysql|
+# 9c90ded 2d 63 6f 6e 6e 65 63 74 6f 72 2d 6a 61 76 61 2d |.connector.java.|
+# 9c90dfd 33 2e 30 2e 31 37 2d 67 61 2e 7a 69 70 |3.0.17.ga.zip|
+# Query thread_id=28278824 exec_time=0 error_code=0
+use track/*!*/;
+SET TIMESTAMP=1190087942/*!*/;
+SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
+SET @@session.sql_mode=0/*!*/;
+SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
+SET @@session.time_zone='UTC'/*!*/;
+INSERT INTO visits (myid, user_id, src, ip, cc, org, ref, time, host, entry, visit_exit, visit_start)
+VALUES ('3m3l4rhs6do0sf5p1i9lr94g928a272v', '', '', INET_ATON('71.118.124.98'), '', '', 'http://dev.mysql.com/downloads/connector/j/3.0.html', NULL, 'dev.mysql.com', '/get/Downloads/Connector-J/mysql-connector-java-3.0.17-ga.zip/from/pick', '/get/Downloads/Connector-J/mysql-connector-java-3.0.17-ga.zip/from/pick', NOW())/*!*/;
+# at 164171293
+
+--delimiter ;
+
+SELECT * FROM visits;
+SELECT * FROM visits_events;
+
+# Cleanup
+DROP DATABASE track;
+sync_slave_with_master;
+--echo End of 5.1 tests
diff --git a/mysql-test/suite/rpl/t/rpl_bug33931-slave.opt b/mysql-test/suite/rpl/t/rpl_bug33931-slave.opt
new file mode 100644
index 00000000000..55fe328a41d
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_bug33931-slave.opt
@@ -0,0 +1 @@
+--loose-debug=d,simulate_io_slave_error_on_init,simulate_sql_slave_error_on_init
diff --git a/mysql-test/suite/rpl/t/rpl_bug33931.test b/mysql-test/suite/rpl/t/rpl_bug33931.test
new file mode 100644
index 00000000000..788f79d4c1c
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_bug33931.test
@@ -0,0 +1,37 @@
+# Test for
+# Bug #33931 assertion at write_ignored_events_info_to_relay_log if init_slave_thread() fails
+# 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;
+
+connection slave;
+--disable_warnings
+stop slave;
+--enable_warnings
+reset slave;
+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;
+
+--replace_result $MASTER_MYPORT MASTER_PORT
+--replace_column 1 # 8 # 9 # 23 # 33 #
+query_vertical show slave status;
+
+# no clean-up is needed
+
diff --git a/mysql-test/suite/rpl/t/rpl_change_master.test b/mysql-test/suite/rpl/t/rpl_change_master.test
index 7256fed656f..d0cd40e2e11 100644
--- a/mysql-test/suite/rpl/t/rpl_change_master.test
+++ b/mysql-test/suite/rpl/t/rpl_change_master.test
@@ -15,16 +15,14 @@ connection master;
insert into t1 values(1);
insert into t1 values(2);
save_master_pos;
+let $slave_param= Read_Master_Log_Pos;
+let $slave_param_value= query_get_value(SHOW MASTER STATUS, Position, 1);
connection slave;
---real_sleep 3 # wait for I/O thread to have read updates
+source include/wait_for_slave_param.inc;
stop slave;
---replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 # 7 # 8 # 9 # 16 # 23 # 33 # 35 # 36 #
-query_vertical SHOW SLAVE STATUS;
+source include/show_slave_status2.inc;
change master to master_user='root';
---replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 # 7 # 8 # 9 # 16 # 23 # 33 # 35 # 36 #
-query_vertical SHOW SLAVE STATUS;
+source include/show_slave_status2.inc;
start slave;
sync_with_master;
select * from t1;
diff --git a/mysql-test/suite/rpl/t/rpl_charset.test b/mysql-test/suite/rpl/t/rpl_charset.test
new file mode 100644
index 00000000000..ed0d835f22d
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_charset.test
@@ -0,0 +1,3 @@
+let $engine_type=myisam;
+source extra/rpl_tests/rpl_charset.test;
+
diff --git a/mysql-test/suite/rpl/t/rpl_colSize.test b/mysql-test/suite/rpl/t/rpl_colSize.test
new file mode 100644
index 00000000000..c20f2c3fd35
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_colSize.test
@@ -0,0 +1,220 @@
+##################################################################
+# rpl_colSize #
+# #
+# This test is designed to test the changes included in WL#3228. #
+# The changes include the ability to replicate with the master #
+# having columns that are smaller (shorter) than the slave. #
+##################################################################
+
+-- source include/master-slave.inc
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+
+--echo **** Testing WL#3228 changes. ****
+--echo *** Create "wider" table on slave ***
+sync_slave_with_master;
+STOP SLAVE;
+RESET SLAVE;
+
+eval CREATE TABLE t1 (
+ a float (47),
+ b double (143,9),
+ c decimal (65,30),
+ d numeric (4,0),
+ e bit (32),
+ f char (21),
+ g varchar (1300),
+ h binary (33),
+ j varbinary (200),
+ k enum ('5','6','7', '8','9','0'),
+ l set ('1','2','3','4','5','6','7','8','9','0','11','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29'),
+ m TINYBLOB,
+ n BLOB,
+ o MEDIUMBLOB,
+ p LONGBLOB,
+ q TINYTEXT,
+ r TEXT,
+ s MEDIUMTEXT,
+ t LONGTEXT
+);
+
+--echo *** Create same table on master but with narrow columns ***
+connection master;
+eval CREATE TABLE t1 (
+ a float (44),
+ b double (10,3),
+ c decimal (10,2),
+ d numeric (3,0),
+ e bit (16),
+ f char (10),
+ g varchar (100),
+ h binary (20),
+ j varbinary (20),
+ k enum ('5','6','7'),
+ l set ('1','2','3','4','5','6','7','8','9','0'),
+ m TINYBLOB,
+ n BLOB,
+ o MEDIUMBLOB,
+ p LONGBLOB,
+ q TINYTEXT,
+ r TEXT,
+ s MEDIUMTEXT,
+ t LONGTEXT
+);
+
+RESET MASTER;
+
+--echo *** Start replication ***
+connection slave;
+START SLAVE;
+
+--echo *** Insert data on master and display it. ***
+connection master;
+
+INSERT INTO t1 () VALUES (
+ 17.567,
+ 2.123,
+ 10.20,
+ 125,
+ hex(64),
+ 'TEST',
+ 'This is a test',
+ 'binary data',
+ 'more binary data',
+ '6',
+ '7',
+ "blob 1",
+ "blob 2",
+ "blob 3",
+ "blob 4",
+ "text 1",
+ "text 2",
+ "text 3",
+ "text 4");
+
+# Replace values in columns that display differently between SBR & RBR
+--replace_column 5 # 8 #
+SELECT * FROM t1 ORDER BY a;
+
+--echo *** Select data from slave to compare ***
+sync_slave_with_master;
+connection slave;
+
+# Replace values in columns that display differently between SBR & RBR
+--replace_column 5 # 8 #
+SELECT * FROM t1 ORDER BY a;
+
+# Test boundary limits of varchar and char fields
+# Master/Slave
+# <256/<256 with m < s, m > s, and m == s <-- col a
+# >255/<256 with m < s, m > s, and m == s <-- error will be caught in BUG#22086
+# <256/>255 with m < s, m > s, and m == s <-- col b
+# >255/>255 with m < s, m > s, and m == s <-- col c
+#
+# Test boundary limits of CHAR fields
+# Master/Slave
+# <256/<256 with m < s, m > s, and m == s <-- col d
+# >255/<256 with m < s, m > s, and m == s <-- error char limited to 255 chars
+# <256/>255 with m < s, m > s, and m == s <-- error char limited to 255 chars
+# >255/>255 with m < s, m > s, and m == s <-- error char limited to 255 chars
+
+connection master;
+DROP TABLE t1;
+
+--echo Create varchar table on master
+CREATE TABLE t1 (
+ a VARCHAR(50),
+ b VARCHAR(100),
+ c VARCHAR(300),
+ d CHAR(5)
+);
+
+sync_slave_with_master slave;
+
+--echo Alter varchar table on slave
+ALTER TABLE t1 CHANGE COLUMN a a VARCHAR(100);
+ALTER TABLE t1 CHANGE COLUMN b b VARCHAR(400);
+ALTER TABLE t1 CHANGE COLUMN c c VARCHAR(500);
+ALTER TABLE t1 CHANGE COLUMN d d CHAR(100);
+
+connection master;
+
+--echo Insert some values and select them on master
+INSERT INTO t1 VALUES ("This is a test of col a.",
+ "This is another test of col b.",
+ "This is a test of the large col c.",
+ "Col d");
+SELECT * FROM t1;
+--replace_result default DEFAULT
+SHOW CREATE TABLE t1;
+
+sync_slave_with_master slave;
+
+--echo Insert some values and select them on slave
+SELECT * FROM t1;
+--replace_result default DEFAULT
+SHOW CREATE TABLE t1;
+
+
+# Test boundary limits of bit fields
+# m < s, m % 8 != 0, and s % 8 == 0 col a
+# m < s, m % 8 == 0, and s % 8 != 0 col b
+# m < s, m % 8 != 0, and s % 8 != 0 col c
+# m > s, m % 8 != 0, and s % 8 == 0 <-- error will be caught in BUG#22086
+# m > s, m % 8 == 0, and s % 8 != 0 <-- error will be caught in BUG#22086
+# m > s, m % 8 != 0, and s % 8 != 0 <-- error will be caught in BUG#22086
+
+connection master;
+DROP TABLE t1;
+
+--echo Create bit table on master
+CREATE TABLE t1 (
+ a BIT(7),
+ b BIT(8),
+ c BIT(21),
+ d BIT(11),
+ e BIT(11)
+);
+
+sync_slave_with_master slave;
+
+--echo Create bit table on slave
+DROP TABLE t1;
+CREATE TABLE t1 (
+ a BIT(16),
+ b BIT(22),
+ c BIT(54),
+ d BIT(25),
+ e BIT(13)
+);
+
+connection master;
+
+--echo Insert some values and select them on master
+INSERT INTO t1 VALUES (
+ b'1010101',
+ b'10101011',
+ b'101010110101010101111',
+ b'10101010101',
+ b'10101011111'
+ );
+
+SELECT BIN(a), BIN(b), BIN(c), BIN(d), BIN(e) FROM t1;
+--replace_result default DEFAULT
+SHOW CREATE TABLE t1;
+
+sync_slave_with_master slave;
+
+--echo Insert some values and select them on master
+SELECT BIN(a), BIN(b), BIN(c), BIN(d), BIN(e) FROM t1;
+--replace_result default DEFAULT
+SHOW CREATE TABLE t1;
+
+--echo *** Cleanup ***
+connection master;
+DROP TABLE t1;
+sync_slave_with_master;
+
+# END 5.1 Test Case
diff --git a/mysql-test/suite/rpl/t/rpl_create_database.test b/mysql-test/suite/rpl/t/rpl_create_database.test
index 70cff8daca2..e3e2e637594 100644
--- a/mysql-test/suite/rpl/t/rpl_create_database.test
+++ b/mysql-test/suite/rpl/t/rpl_create_database.test
@@ -42,9 +42,9 @@ USE mysqltest_sisyfos;
# The following should *not* be replicated
ALTER DATABASE mysqltest_bob CHARACTER SET latin1;
-SHOW DATABASES;
+SHOW DATABASES LIKE 'mysql%';
sync_slave_with_master;
-SHOW DATABASES;
+SHOW DATABASES LIKE 'mysql%';
connection master;
DROP DATABASE IF EXISTS mysqltest_sisyfos;
@@ -55,9 +55,9 @@ CREATE DATABASE mysqltest_sisyfos;
USE mysqltest_sisyfos;
CREATE TABLE t2 (a INT);
let $VERSION=`select version()`;
-SHOW DATABASES;
+SHOW DATABASES LIKE 'mysql%';
sync_slave_with_master;
-SHOW DATABASES;
+SHOW DATABASES LIKE 'mysql%';
USE mysqltest_prometheus;
SHOW TABLES;
USE mysqltest_sisyfos;
diff --git a/mysql-test/suite/rpl/t/rpl_critical_errors.test b/mysql-test/suite/rpl/t/rpl_critical_errors.test
index abf827c8d1f..b35cd305f92 100644
--- a/mysql-test/suite/rpl/t/rpl_critical_errors.test
+++ b/mysql-test/suite/rpl/t/rpl_critical_errors.test
@@ -34,7 +34,8 @@ 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.
-sleep 4;
+let $wait_condition= SELECT COUNT(*) > 1000 FROM t1;
+source include/wait_condition.inc
# SHOW PROCESSLIST;
diff --git a/mysql-test/suite/rpl/t/rpl_drop_temp.test b/mysql-test/suite/rpl/t/rpl_drop_temp.test
index 305c78d3f06..f06b0951469 100644
--- a/mysql-test/suite/rpl/t/rpl_drop_temp.test
+++ b/mysql-test/suite/rpl/t/rpl_drop_temp.test
@@ -6,19 +6,25 @@
# to work around NDB's issue with temp tables
##############################################
source include/master-slave.inc;
+source include/have_binlog_format_mixed_or_statement.inc;
+
--disable_warnings
create database if not exists mysqltest;
--enable_warnings
create temporary table mysqltest.t1 (n int)ENGINE=MyISAM;
create temporary table mysqltest.t2 (n int)ENGINE=MyISAM;
-sync_slave_with_master;
+
connection master;
disconnect master;
-connection slave;
---real_sleep 3 # time for DROP to be written
-show status like 'Slave_open_temp_tables';
+connection master1;
+# Wait until drop of temp tables appears in binlog
+let $wait_binlog_event= DROP;
+source include/wait_for_binlog_event.inc;
+
+sync_slave_with_master;
+show status like 'Slave_open_temp_tables';
# Cleanup
connection default;
drop database mysqltest;
diff --git a/mysql-test/suite/rpl/t/rpl_drop_view.test b/mysql-test/suite/rpl/t/rpl_drop_view.test
new file mode 100644
index 00000000000..8d826b8214d
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_drop_view.test
@@ -0,0 +1,31 @@
+# test case for bug#30998
+# Drop View breaks replication if view does not exist
+#
+
+source include/master-slave.inc;
+--disable_warnings
+drop table if exists t1, t2;
+drop view if exists v1, v2, v3, not_exist_view;
+--enable_warnings
+create table t1 (a int);
+create table t2 (b int);
+create table t3 (c int);
+create view v1 as select * from t1;
+create view v2 as select * from t2;
+create view v3 as select * from t3;
+--error 1051
+drop view not_exist_view;
+--error 1051
+drop view v1, not_exist_view;
+--error 1146
+select * from v1;
+drop view v2, v3;
+save_master_pos;
+connection slave;
+sync_with_master;
+--error 1146
+select * from v1;
+--error 1146
+select * from v2;
+--error 1146
+select * from v3;
diff --git a/mysql-test/suite/rpl/t/rpl_dual_pos_advance-slave.opt b/mysql-test/suite/rpl/t/rpl_dual_pos_advance-slave.opt
new file mode 100644
index 00000000000..627becdbfb5
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_dual_pos_advance-slave.opt
@@ -0,0 +1 @@
+--innodb
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 27c920a3186..7ab9064b7f6 100644
--- a/mysql-test/suite/rpl/t/rpl_dual_pos_advance.test
+++ b/mysql-test/suite/rpl/t/rpl_dual_pos_advance.test
@@ -7,10 +7,12 @@
# It also will test BUG#13861.
source include/master-slave.inc;
+source include/have_innodb.inc;
# set up "dual head"
+let $keep_connection= 1;
connection slave;
reset master;
@@ -30,45 +32,58 @@ save_master_pos;
connection master;
sync_with_master;
-# Now test BUG#13861. This will be enabled when Guilhem fixes this
-# bug.
+#
+# BUG#13861 - START SLAVE UNTIL may stop 1 evnt too late if
+# log-slave-updates and circul repl
+#
+stop slave;
-# stop slave
+create table t2 (n int); # create one ignored event
-# create table t2 (n int); # create one ignored event
+save_master_pos;
+connection slave;
+sync_with_master;
-# save_master_pos;
-# connection slave;
-# sync_with_master;
+connection slave;
-# connection slave;
+show tables;
-# show tables;
+save_master_pos;
-# save_master_pos;
+create table t3 (n int) engine=innodb;
+set @a=1;
+insert into t3 values(@a);
+begin;
+insert into t3 values(2);
+insert into t3 values(3);
+commit;
+insert into t3 values(4);
-# create table t3 (n int);
-# connection master;
+connection master;
# bug is that START SLAVE UNTIL may stop too late, we test that by
# asking it to stop before creation of t3.
-# start slave until master_log_file="slave-bin.000001",master_log_pos=195;
-
-# wait until it's started (the position below is the start of "CREATE
-# TABLE t2") (otherwise wait_for_slave_to_stop may return at once)
-
-# select master_pos_wait("slave-bin.000001",137);
-
-# --source include/wait_for_slave_to_stop.inc
+start slave until master_log_file="slave-bin.000001",master_log_pos=195;
+--source include/wait_for_slave_sql_to_stop.inc
# then BUG#13861 causes t3 to show up below (because stopped too
# late).
-# show tables;
+show tables;
+
+# ensure that we do not break set @a=1; insert into t3 values(@a);
+start slave until master_log_file="slave-bin.000001",master_log_pos=438;
+--source include/wait_for_slave_sql_to_stop.inc
+select * from t3;
+
+# ensure that we do not break transaction
+start slave until master_log_file="slave-bin.000001",master_log_pos=663;
+--source include/wait_for_slave_sql_to_stop.inc
+select * from t3;
-# start slave;
+start slave;
# BUG#13023 is that Exec_master_log_pos may stay too low "forever":
@@ -99,16 +114,10 @@ show tables;
stop slave;
reset slave;
-drop table t1,t4,t5,t6; # add t2 and t3 later
+drop table t1,t2,t3,t4,t5,t6;
save_master_pos;
connection slave;
sync_with_master;
# End of 4.1 tests
-
-# Cleanup
-# The A->B->A replication causes the master to start writing relay logs
-# in var/run, remove them
-remove_file $MYSQLTEST_VARDIR/run/master-relay-bin.000001;
-remove_file $MYSQLTEST_VARDIR/run/master-relay-bin.index;
diff --git a/mysql-test/suite/rpl/t/rpl_err_ignoredtable.test b/mysql-test/suite/rpl/t/rpl_err_ignoredtable.test
index 4e06a6a7096..e26e240b5ab 100644
--- a/mysql-test/suite/rpl/t/rpl_err_ignoredtable.test
+++ b/mysql-test/suite/rpl/t/rpl_err_ignoredtable.test
@@ -43,13 +43,14 @@ insert into t3 values(connection_id());
send update t2 set a = a + 1 + get_lock('crash_lock%20C', 10);
connection master1;
-real_sleep 2;
+let $wait_condition= SELECT a > 1 FROM t2;
+source include/wait_condition.inc;
select (@id := id) - id from t3;
kill @id;
drop table t2,t3;
insert into t4 values (3),(4);
connection master;
---error 0,1053,2013
+--error 0,1053,2013,1048
reap;
connection master1;
save_master_pos;
diff --git a/mysql-test/suite/rpl/t/rpl_events.test b/mysql-test/suite/rpl/t/rpl_events.test
index 62ffead7dcb..2a9cf86fe55 100644
--- a/mysql-test/suite/rpl/t/rpl_events.test
+++ b/mysql-test/suite/rpl/t/rpl_events.test
@@ -28,10 +28,12 @@ set binlog_format=statement;
connection master;
+CREATE TABLE t28953 (a INT);
+
DELIMITER |;
CREATE EVENT event1 ON SCHEDULE EVERY 1 YEAR
DO BEGIN
- select * from t1;
+ select * from t28953;
END;|
DELIMITER ;|
@@ -45,3 +47,9 @@ DROP EVENT event2;
sync_slave_with_master;
+# Doing cleanup of the table referred to in the event to guarantee
+# that there is no bad timing cauing it to try to access the table.
+
+connection master;
+DROP TABLE t28953;
+sync_slave_with_master;
diff --git a/mysql-test/suite/rpl/t/rpl_extraColmaster_innodb-master.opt b/mysql-test/suite/rpl/t/rpl_extraColmaster_innodb-master.opt
new file mode 100644
index 00000000000..627becdbfb5
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_extraColmaster_innodb-master.opt
@@ -0,0 +1 @@
+--innodb
diff --git a/mysql-test/suite/rpl/t/rpl_extraColmaster_innodb-slave.opt b/mysql-test/suite/rpl/t/rpl_extraColmaster_innodb-slave.opt
new file mode 100644
index 00000000000..1338b6eba04
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_extraColmaster_innodb-slave.opt
@@ -0,0 +1 @@
+ --innodb
diff --git a/mysql-test/suite/rpl/t/rpl_extraColmaster_innodb.test b/mysql-test/suite/rpl/t/rpl_extraColmaster_innodb.test
new file mode 100644
index 00000000000..5255a9cfbad
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_extraColmaster_innodb.test
@@ -0,0 +1,16 @@
+#############################################################
+# Purpose: To test having extra columns on the master WL#3915
+#############################################################
+-- source include/master-slave.inc
+-- source include/have_innodb.inc
+
+let $engine_type = 'InnoDB';
+
+set binlog_format=row;
+-- source extra/rpl_tests/rpl_extraMaster_Col.test
+
+set binlog_format=statement;
+-- 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/rpl/t/rpl_extraColmaster_myisam.test b/mysql-test/suite/rpl/t/rpl_extraColmaster_myisam.test
new file mode 100644
index 00000000000..e6b41eabd0d
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_extraColmaster_myisam.test
@@ -0,0 +1,15 @@
+#############################################################
+# Purpose: To test having extra columns on the master WL#3915
+#############################################################
+-- source include/master-slave.inc
+
+let $engine_type = 'MyISAM';
+
+set binlog_format=row;
+-- source extra/rpl_tests/rpl_extraMaster_Col.test
+
+set binlog_format=statement;
+-- 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/rpl/t/rpl_flushlog_loop.test b/mysql-test/suite/rpl/t/rpl_flushlog_loop.test
index 7d92ba9c2f4..f9f01855aa9 100644
--- a/mysql-test/suite/rpl/t/rpl_flushlog_loop.test
+++ b/mysql-test/suite/rpl/t/rpl_flushlog_loop.test
@@ -2,12 +2,9 @@
# in case of bi-directional replication
-- source include/master-slave.inc
-#
-# Start replication master -> slave
-#
-# 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;
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+show variables like 'relay_log%';
+
connection slave;
--disable_warnings
stop slave;
@@ -38,12 +35,35 @@ let $result_pattern= '%127.0.0.1%root%slave-bin.000001%slave-bin.000001%Yes%Yes%
#
# Flush logs of slave
#
-flush logs;
-sleep 5;
+# Create full loop by following way:
+# 1. Insert into t1 on master (1st).
+# 2. Insert into t1 on slave (2nd) when the event (1st) for t1 replicated.
+# 3. Master waits until the event (2nd) for t1 will be replicated.
+
+--disable_query_log
+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;
+connection master;
+INSERT INTO t1 VALUE(1);
+--enable_query_log
+FLUSH LOGS;
+connection slave;
+let $wait_condition= SELECT COUNT(*) = 1 FROM t1;
+-- source include/wait_condition.inc
+--disable_query_log
+INSERT INTO t1 VALUE(2);
+--enable_query_log
+connection master;
+let $wait_condition= SELECT COUNT(*) = 2 FROM t1;
+-- source include/wait_condition.inc
+--enable_query_log
#
# Show status of slave
#
---replace_result $SLAVE_MYPORT SLAVE_PORT
+let $pos= query_get_value(SHOW SLAVE STATUS, Read_Master_Log_Pos, 1);
+--replace_result $SLAVE_MYPORT SLAVE_PORT $pos POSITION
--replace_column 1 # 8 # 9 # 16 # 23 # 33 # 34 # 35 #
--query_vertical SHOW SLAVE STATUS
diff --git a/mysql-test/suite/rpl/t/rpl_found_rows.test b/mysql-test/suite/rpl/t/rpl_found_rows.test
new file mode 100644
index 00000000000..f868061c951
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_found_rows.test
@@ -0,0 +1,256 @@
+source include/master-slave.inc;
+
+# It is not possible to replicate FOUND_ROWS() using statement-based
+# replication, but there is a workaround that stores the result of
+# FOUND_ROWS() into a user variable and then replicates this instead.
+
+# The purpose of this test case is to test that the workaround
+# function properly even when inside stored programs (i.e., stored
+# routines and triggers).
+
+--echo ==== 0. Setting it all up ====
+
+SET BINLOG_FORMAT=STATEMENT;
+
+--echo **** On Master ****
+connection master;
+CREATE TABLE t1 (a INT);
+CREATE TABLE logtbl (sect INT, test INT, count INT);
+
+INSERT INTO t1 VALUES (1),(2),(3);
+INSERT INTO t1 SELECT 2*a+3 FROM t1;
+INSERT INTO t1 SELECT 2*a+3 FROM t1;
+INSERT INTO t1 SELECT 2*a+3 FROM t1;
+INSERT INTO t1 SELECT 2*a+3 FROM t1;
+INSERT INTO t1 SELECT 2*a+3 FROM t1;
+INSERT INTO t1 SELECT 2*a+3 FROM t1;
+
+--echo #### 1. Using statement mode ####
+
+--echo ==== 1.1. Simple test ====
+
+SELECT SQL_CALC_FOUND_ROWS * FROM t1 WHERE a > 5 ORDER BY a LIMIT 1;
+
+# Instead of
+# INSERT INTO logtbl VALUES(1, 1, FOUND_ROWS());
+# we write
+SELECT FOUND_ROWS() INTO @a;
+INSERT INTO logtbl VALUES(1,1,@a);
+
+SELECT SQL_CALC_FOUND_ROWS * FROM t1 WHERE a < 5 ORDER BY a LIMIT 1;
+# Instead of
+# INSERT INTO logtbl VALUES(1, 2, FOUND_ROWS());
+# we write
+SELECT FOUND_ROWS() INTO @a;
+INSERT INTO logtbl VALUES(1,2,@a);
+
+SELECT * FROM logtbl WHERE sect = 1 ORDER BY sect,test;
+--echo **** On Slave ****
+sync_slave_with_master;
+SELECT * FROM logtbl WHERE sect = 1 ORDER BY sect,test;
+
+--echo ==== 1.2. Stored procedure ====
+
+# Here we do both the calculation and the logging. We also do it twice
+# to make sure that there are no limitations on how many times it can
+# be used.
+
+--echo **** On Master ****
+connection master;
+--delimiter $$
+CREATE PROCEDURE calc_and_log(sect INT, test INT) BEGIN
+ DECLARE cnt INT;
+ SELECT SQL_CALC_FOUND_ROWS * FROM t1 WHERE a < 5 ORDER BY a LIMIT 1;
+ SELECT FOUND_ROWS() INTO cnt;
+ INSERT INTO logtbl VALUES(sect,test,cnt);
+ SELECT SQL_CALC_FOUND_ROWS * FROM t1 WHERE a > 5 ORDER BY a LIMIT 1;
+ SELECT FOUND_ROWS() INTO cnt;
+ INSERT INTO logtbl VALUES(sect,test+1,cnt);
+END $$
+--delimiter ;
+
+CALL calc_and_log(2,1);
+
+--delimiter $$
+CREATE PROCEDURE just_log(sect INT, test INT, found_rows INT) BEGIN
+ INSERT INTO logtbl VALUES (sect,test,found_rows);
+END $$
+--delimiter ;
+
+SELECT SQL_CALC_FOUND_ROWS * FROM t1 WHERE a > 5 ORDER BY a LIMIT 1;
+SELECT FOUND_ROWS() INTO @found_rows;
+CALL just_log(2,3,@found_rows);
+
+SELECT * FROM logtbl WHERE sect = 2 ORDER BY sect,test;
+--echo **** On Slave ****
+sync_slave_with_master;
+SELECT * FROM logtbl WHERE sect = 2 ORDER BY sect,test;
+
+--echo ==== 1.3. Stored functions ====
+--echo **** On Master ****
+connection master;
+--delimiter $$
+CREATE FUNCTION log_rows(sect INT, test INT, found_rows INT)
+ RETURNS INT
+BEGIN
+ INSERT INTO logtbl VALUES(sect,test,found_rows);
+ RETURN found_rows;
+END $$
+--delimiter ;
+
+SELECT SQL_CALC_FOUND_ROWS * FROM t1 WHERE a > 5 ORDER BY a LIMIT 1;
+SELECT FOUND_ROWS() INTO @found_rows;
+SELECT log_rows(3,1,@found_rows), log_rows(3,2,@found_rows);
+
+SELECT * FROM logtbl WHERE sect = 3 ORDER BY sect,test;
+--echo **** On Slave ****
+sync_slave_with_master;
+SELECT * FROM logtbl WHERE sect = 3 ORDER BY sect,test;
+
+--echo ==== 1.9. Cleanup ====
+--echo **** On Master ****
+connection master;
+DELETE FROM 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;
+
+--echo #### 2. Using mixed mode ####
+
+--echo ==== 2.1. Checking a procedure ====
+
+--echo **** On Master ****
+connection master;
+SET BINLOG_FORMAT=MIXED;
+
+# We will now check some stuff that will not work in statement-based
+# replication, but which should cause the binary log to switch to
+# row-based logging.
+
+--delimiter $$
+CREATE PROCEDURE just_log(sect INT, test INT) BEGIN
+ INSERT INTO logtbl VALUES (sect,test,FOUND_ROWS());
+END $$
+--delimiter ;
+sync_slave_with_master;
+
+--echo **** On Master 1 ****
+connection master1;
+SET BINLOG_FORMAT=MIXED;
+SELECT SQL_CALC_FOUND_ROWS * FROM t1 WHERE a > 5 ORDER BY a LIMIT 1;
+CALL just_log(1,1);
+
+--echo **** On Master ****
+connection master;
+SELECT SQL_CALC_FOUND_ROWS * FROM t1 WHERE a > 5 ORDER BY a LIMIT 1;
+CALL just_log(1,2);
+
+--echo **** On Master 1 ****
+
+connection master1;
+SELECT SQL_CALC_FOUND_ROWS * FROM t1 WHERE a < 5 ORDER BY a LIMIT 1;
+CALL just_log(1,3);
+sync_slave_with_master;
+
+--echo **** On Master ****
+connection master;
+SELECT SQL_CALC_FOUND_ROWS * FROM t1 WHERE a > 5 ORDER BY a LIMIT 1;
+CALL just_log(1,4);
+sync_slave_with_master;
+
+connection master;
+SELECT * FROM logtbl WHERE sect = 1 ORDER BY sect,test;
+--echo **** On Slave ****
+sync_slave_with_master;
+SELECT * FROM logtbl WHERE sect = 1 ORDER BY sect,test;
+
+--echo ==== 2.1. Checking a stored function ====
+--echo **** On Master ****
+connection master;
+--delimiter $$
+CREATE FUNCTION log_rows(sect INT, test INT)
+ RETURNS INT
+BEGIN
+ DECLARE found_rows INT;
+ SELECT FOUND_ROWS() INTO found_rows;
+ INSERT INTO logtbl VALUES(sect,test,found_rows);
+ RETURN found_rows;
+END $$
+--delimiter ;
+
+SELECT SQL_CALC_FOUND_ROWS * FROM t1 WHERE a < 5 ORDER BY a LIMIT 1;
+SELECT log_rows(2,1), log_rows(2,2);
+
+CREATE TABLE t2 (a INT, b INT);
+
+# Trying with referencing FOUND_ROWS() directly in the trigger.
+
+--delimiter $$
+CREATE TRIGGER t2_tr BEFORE INSERT ON t2 FOR EACH ROW
+BEGIN
+ INSERT INTO logtbl VALUES (NEW.a, NEW.b, FOUND_ROWS());
+END $$
+--delimiter ;
+
+SELECT SQL_CALC_FOUND_ROWS * FROM t1 WHERE a < 5 ORDER BY a LIMIT 1;
+INSERT INTO t2 VALUES (2,3), (2,4);
+
+# Referencing FOUND_ROWS() indirectly.
+
+DROP TRIGGER t2_tr;
+
+--delimiter $$
+CREATE TRIGGER t2_tr BEFORE INSERT ON t2 FOR EACH ROW
+BEGIN
+ DECLARE dummy INT;
+ SELECT log_rows(NEW.a, NEW.b) INTO dummy;
+END $$
+--delimiter ;
+
+SELECT SQL_CALC_FOUND_ROWS * FROM t1 WHERE a > 5 ORDER BY a LIMIT 1;
+INSERT INTO t2 VALUES (2,5), (2,6);
+
+# Putting FOUND_ROWS() even lower in the call chain.
+
+connection master;
+DROP TRIGGER t2_tr;
+
+--delimiter $$
+CREATE PROCEDURE log_me_inner(sect INT, test INT)
+BEGIN
+ DECLARE dummy INT;
+ SELECT log_rows(sect, test) INTO dummy;
+ SELECT log_rows(sect, test+1) INTO dummy;
+END $$
+
+CREATE PROCEDURE log_me(sect INT, test INT)
+BEGIN
+ CALL log_me_inner(sect,test);
+END $$
+--delimiter ;
+
+--delimiter $$
+CREATE TRIGGER t2_tr BEFORE INSERT ON t2 FOR EACH ROW
+BEGIN
+ CALL log_me(NEW.a, NEW.b);
+END $$
+--delimiter ;
+
+SELECT SQL_CALC_FOUND_ROWS * FROM t1 WHERE a > 5 ORDER BY a LIMIT 1;
+INSERT INTO t2 VALUES (2,5), (2,6);
+
+SELECT * FROM logtbl WHERE sect = 2 ORDER BY sect,test;
+sync_slave_with_master;
+SELECT * FROM logtbl WHERE sect = 2 ORDER BY sect,test;
+
+connection master;
+DROP TABLE t1, logtbl;
+DROP PROCEDURE just_log;
+DROP PROCEDURE log_me;
+DROP PROCEDURE log_me_inner;
+DROP FUNCTION log_rows;
+sync_slave_with_master;
+
diff --git a/mysql-test/suite/rpl/t/rpl_grant.test b/mysql-test/suite/rpl/t/rpl_grant.test
index 71e36342584..50b243eab92 100644
--- a/mysql-test/suite/rpl/t/rpl_grant.test
+++ b/mysql-test/suite/rpl/t/rpl_grant.test
@@ -9,12 +9,12 @@ connection master;
CREATE USER dummy@localhost;
CREATE USER dummy1@localhost, dummy2@localhost;
-SELECT user, host FROM mysql.user WHERE user != 'root'; # root host non-determ
-SELECT COUNT(*) FROM mysql.user;
+SELECT user, host FROM mysql.user WHERE user like 'dummy%';
+SELECT COUNT(*) FROM mysql.user WHERE user like 'dummy%';
sync_slave_with_master;
--echo **** On Slave ****
-SELECT user,host FROM mysql.user WHERE user != 'root'; # root host non-determ
-SELECT COUNT(*) FROM mysql.user;
+SELECT user,host FROM mysql.user WHERE user like 'dummy%';
+SELECT COUNT(*) FROM mysql.user WHERE user like 'dummy%';
--echo **** On Master ****
connection master;
@@ -30,13 +30,11 @@ DROP USER nonexisting@localhost, dummy@localhost;
# All users exist
DROP USER dummy1@localhost, dummy2@localhost;
-SELECT user, host FROM mysql.user WHERE user != 'root'; # root host non-determ
-SELECT COUNT(*) FROM mysql.user;
+SELECT user, host FROM mysql.user WHERE user like 'dummy%';
+SELECT COUNT(*) FROM mysql.user WHERE user like 'dummy%';
sync_slave_with_master;
--echo **** On Slave ****
-SELECT user,host FROM mysql.user WHERE user != 'root'; # root host non-determ
-SELECT COUNT(*) FROM mysql.user;
+SELECT user,host FROM mysql.user WHERE user like 'dummy%';
+SELECT COUNT(*) FROM mysql.user WHERE user like 'dummy%';
---replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 # 8 # 9 # 23 # 33 #
-query_vertical SHOW SLAVE STATUS;
+source include/show_slave_status2.inc;
diff --git a/mysql-test/suite/rpl/t/rpl_idempotency-master.opt b/mysql-test/suite/rpl/t/rpl_idempotency-master.opt
new file mode 100644
index 00000000000..66f581b56d0
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_idempotency-master.opt
@@ -0,0 +1,2 @@
+--innodb
+
diff --git a/mysql-test/suite/rpl/t/rpl_idempotency-slave.opt b/mysql-test/suite/rpl/t/rpl_idempotency-slave.opt
new file mode 100644
index 00000000000..71ccf047474
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_idempotency-slave.opt
@@ -0,0 +1,2 @@
+--slave-exec-mode=IDEMPOTENT --innodb
+
diff --git a/mysql-test/suite/rpl/t/rpl_idempotency.test b/mysql-test/suite/rpl/t/rpl_idempotency.test
new file mode 100644
index 00000000000..cec91a6f4b7
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_idempotency.test
@@ -0,0 +1,415 @@
+# Testing various forms of idempotency for replication that should
+# work the same way under statement based as under row based.
+
+source include/master-slave.inc;
+connection master;
+source include/have_innodb.inc;
+connection slave;
+source include/have_innodb.inc;
+
+connection master;
+CREATE TABLE t1 (a INT PRIMARY KEY);
+CREATE TABLE t2 (a INT);
+INSERT INTO t1 VALUES (-1),(-2),(-3);
+INSERT INTO t2 VALUES (-1),(-2),(-3);
+sync_slave_with_master;
+
+# A delete for a row that does not exist, the statement is
+# deliberately written to be idempotent for statement-based
+# replication as well. We test this towards both a table with a
+# primary key and without a primary key.
+
+connection slave;
+DELETE FROM t1 WHERE a = -2;
+DELETE FROM t2 WHERE a = -2;
+connection master;
+DELETE FROM t1 WHERE a = -2;
+DELETE FROM t2 WHERE a = -2;
+SELECT * FROM t1 ORDER BY a;
+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;
+
+# An insert of a row that already exists. Since we are replacing the
+# row if it already exists, the most apropriate representation is
+# INSERT IGNORE. We only test this towards a table with a primary key,
+# since the other case does not make sense.
+
+INSERT IGNORE INTO t1 VALUES (-2);
+connection master;
+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;
+
+# BUG#19958: RBR idempotency issue for UPDATE and DELETE
+
+# Statement-based and row-based replication have different behaviour
+# when updating a row with an explicit WHERE-clause that matches
+# exactly one row (or no row at all). For statement-based replication,
+# the statement is idempotent since the first time it is executed, it
+# will update exactly one row, and the second time it will not update
+# any row at all. This was not the case for row-based replication, so
+# we test under both row-based and statement-based replication both
+# for tables with and without primary keys.
+
+connection slave;
+UPDATE t1 SET a = 1 WHERE a = -1;
+UPDATE t2 SET a = 1 WHERE a = -1;
+connection master;
+UPDATE t1 SET a = 1 WHERE a = -1;
+UPDATE t2 SET a = 1 WHERE a = -1;
+SELECT * FROM t1 ORDER BY a;
+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;
+
+connection master;
+DROP TABLE t1, t2;
+sync_slave_with_master;
+
+# bug#31609 Not all RBR slave errors reported as errors
+# bug#31552 Replication breaks when deleting rows from out-of-sync table
+# without PK
+
+#
+# Idempotent applying is not default any longer.
+# The default for slave-exec-mode option and server
+# variable slave_exec_mode is 'STRICT'.
+# When 'STRICT' mode is set, the slave SQL thread will stop whenever
+# the row to change is not found. In 'IDEMPOTENT' mode, the SQL thread
+# will continue running and apply the row - replace if it's Write_rows event -
+# or skip to the next event.
+
+# the previous part of the tests was with IDEMPOTENT slave's mode.
+
+
+#
+# Other than above idempotent errors dealing with foreign keys constraint
+#
+
+select @@global.slave_exec_mode /* must be IDEMPOTENT */;
+
+connection master;
+
+create table ti1 (b int primary key) engine = innodb;
+create table ti2 (a int primary key, b int, foreign key (b) references ti1(b))
+ engine = innodb;
+set foreign_key_checks=1 /* ensure the check */;
+
+insert into ti1 values (1),(2),(3);
+insert into ti2 set a=2, b=2;
+
+sync_slave_with_master;
+
+#connection slave;
+select * from ti1 order by b /* must be (1),(2),(3) */;
+insert into ti2 set a=1, b=1;
+select * from ti2 order by b /* must be (1,1) (2,2) */;
+
+connection master;
+
+# from now on checking rbr specific idempotent errors
+set @save_binlog_format= @@session.binlog_format;
+set @@session.binlog_format= row;
+delete from ti1 where b=1;
+
+select * from ti1 order by b /* must be (2),(3) */;
+
+# slave must catch up (expect some warnings in error.log)
+sync_slave_with_master;
+
+#connection slave;
+select * from ti1 order by b /* must stays as were on master (1),(2),(3) */;
+
+delete from ti1 where b=3;
+
+connection master;
+insert into ti2 set a=3, b=3;
+
+# slave must catch up (expect some warnings in error.log)
+sync_slave_with_master;
+
+#connection slave;
+select * from ti2 order by b /* must be (1,1),(2,2) - not inserted */;
+
+
+#
+# Checking the new global sys variable
+#
+
+connection slave;
+
+set global slave_exec_mode='IDEMPOTENT';
+set global slave_exec_mode='STRICT';
+
+# checking mutual exclusion for the options
+--error ER_SLAVE_AMBIGOUS_EXEC_MODE
+set global slave_exec_mode='IDEMPOTENT,STRICT';
+
+select @@global.slave_exec_mode /* must be STRICT */;
+
+#
+# Checking stops.
+# In the following sections strict slave sql thread is going to
+# stop when faces an idempotent error. In order to proceed
+# the mode is temporarily switched to indempotent.
+#
+
+#
+--echo *** foreign keys errors as above now forces to stop
+#
+
+connection master;
+
+set foreign_key_checks=0;
+drop table ti2, ti1;
+
+create table ti1 (b int primary key) engine = innodb;
+create table ti2 (a int primary key, b int, foreign key (b) references ti1(b))
+ engine = innodb;
+set foreign_key_checks=1 /* ensure the check */;
+
+insert into ti1 values (1),(2),(3);
+insert into ti2 set a=2, b=2;
+
+sync_slave_with_master;
+
+#connection slave;
+select * from ti1 order by b /* must be (1),(2),(3) */;
+--echo *** conspire future problem
+insert into ti2 set a=1, b=1;
+select * from ti2 order by b /* must be (1,1) (2,2) */;
+
+connection master;
+
+delete from ti1 where b=1 /* offending delete event */;
+select * from ti1 order by b /* must be (2),(3) */;
+
+# foreign key: row is referenced
+
+--echo *** slave must stop
+source include/wait_for_slave_sql_to_stop.inc;
+
+connection slave;
+
+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;
+
+select * from ti1 order by b /* must be (1),(2),(3) - not deleted */;
+set foreign_key_checks= 0;
+delete from ti2 where b=1;
+set foreign_key_checks= 1;
+set global slave_exec_mode='IDEMPOTENT';
+start slave sql_thread;
+connection master;
+sync_slave_with_master;
+#connection slave;
+set global slave_exec_mode='STRICT';
+
+connection master;
+
+sync_slave_with_master;
+
+#connection slave;
+--echo *** conspire the following insert failure
+# foreign key: no referenced row
+
+--echo *** conspire future problem
+delete from ti1 where b=3;
+
+connection master;
+insert into ti2 set a=3, b=3 /* offending write event */;
+--echo *** slave must stop
+
+source include/wait_for_slave_sql_to_stop.inc;
+
+connection slave;
+
+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;
+
+select * from ti2 order by b /* must be (2,2) */;
+set foreign_key_checks= 0;
+insert into ti1 set b=3;
+set foreign_key_checks= 1;
+set global slave_exec_mode='IDEMPOTENT';
+start slave sql_thread;
+connection master;
+sync_slave_with_master;
+#connection slave;
+set global slave_exec_mode='STRICT';
+
+connection master;
+
+sync_slave_with_master;
+
+select * from ti2 order by b /* must be (2,2),(3,3) */;
+
+#
+--echo *** other errors
+#
+
+# dup key insert
+
+#connection slave;
+--echo *** conspiring query
+insert into ti1 set b=1;
+
+connection master;
+insert into ti1 set b=1 /* offending write event */;
+
+--echo *** slave must stop
+source include/wait_for_slave_sql_to_stop.inc;
+
+connection slave;
+
+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;
+
+set foreign_key_checks= 0;
+delete from ti1 where b=1;
+set foreign_key_checks= 1;
+set global slave_exec_mode='IDEMPOTENT';
+start slave sql_thread;
+connection master;
+sync_slave_with_master;
+#connection slave;
+set global slave_exec_mode='STRICT';
+
+# key not found
+
+connection master;
+
+CREATE TABLE t1 (a INT PRIMARY KEY);
+CREATE TABLE t2 (a INT);
+INSERT INTO t1 VALUES (-1),(-2),(-3);
+INSERT INTO t2 VALUES (-1),(-2),(-3);
+sync_slave_with_master;
+
+#connection slave;
+DELETE FROM t1 WHERE a = -2;
+DELETE FROM t2 WHERE a = -2;
+connection master;
+DELETE FROM t1 WHERE a = -2;
+
+--echo *** slave must stop
+source include/wait_for_slave_sql_to_stop.inc;
+
+connection slave;
+
+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;
+
+set global slave_exec_mode='IDEMPOTENT';
+start slave sql_thread;
+connection master;
+sync_slave_with_master;
+#connection slave;
+set global slave_exec_mode='STRICT';
+
+connection master;
+DELETE FROM t2 WHERE a = -2;
+--echo *** slave must stop
+source include/wait_for_slave_sql_to_stop.inc;
+
+connection slave;
+
+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;
+
+set global slave_exec_mode='IDEMPOTENT';
+start slave sql_thread;
+connection master;
+sync_slave_with_master;
+#connection slave;
+set global slave_exec_mode='STRICT';
+
+UPDATE t1 SET a = 1 WHERE a = -1;
+UPDATE t2 SET a = 1 WHERE a = -1;
+
+connection master;
+UPDATE t1 SET a = 1 WHERE a = -1;
+
+--echo *** slave must stop
+source include/wait_for_slave_sql_to_stop.inc;
+
+connection slave;
+
+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;
+
+set global slave_exec_mode='IDEMPOTENT';
+start slave sql_thread;
+connection master;
+sync_slave_with_master;
+#connection slave;
+set global slave_exec_mode='STRICT';
+
+
+connection master;
+UPDATE t2 SET a = 1 WHERE a = -1;
+
+--echo *** slave must stop
+source include/wait_for_slave_sql_to_stop.inc;
+
+connection slave;
+
+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;
+
+set global slave_exec_mode='IDEMPOTENT';
+start slave sql_thread;
+connection master;
+sync_slave_with_master;
+#connection slave;
+set global slave_exec_mode='STRICT';
+
+
+# cleanup for bug#31609 tests
+
+connection master;
+set @@session.binlog_format= @save_binlog_format;
+drop table t1,t2,ti2,ti1;
+
+sync_slave_with_master;
+
+
+--echo *** end of tests
+
+
+
+
+
+
+
+
+
diff --git a/mysql-test/suite/rpl/t/rpl_ignore_table.test b/mysql-test/suite/rpl/t/rpl_ignore_table.test
index fd4ae64165a..7f13b16b0de 100644
--- a/mysql-test/suite/rpl/t/rpl_ignore_table.test
+++ b/mysql-test/suite/rpl/t/rpl_ignore_table.test
@@ -119,6 +119,13 @@ show grants for mysqltest3@localhost;
show grants for mysqltest4@localhost;
# Cleanup
+# connection slave;
+# BUG31552 changes idempotency is not default any longer
+# In order the following `delete from mysql.user',
+# where mysqltest1 does not exist on slave,
+# to succeed on slave the mode is temporarily changed
+set global slave_exec_mode='IDEMPOTENT';
+
connection master;
drop table t1, t4, mysqltest2.t2;
drop database mysqltest2;
@@ -129,7 +136,10 @@ delete from mysql.db where user like "mysqltest%";
# move it to slave instead
#delete from mysql.tables_priv where user like "mysqltest%";
delete from mysql.columns_priv where user like "mysqltest%";
+
sync_slave_with_master;
+# bug#31552: do not restore the mode here but later in order
+# to succeed with yet the following delete from mysql.tables_priv
#BUG27606
delete from mysql.tables_priv where user like "mysqltest%";
@@ -155,6 +165,7 @@ CREATE TEMPORARY TABLE tmptbl504451f4258$1 (id INT NOT NULL) ENGINE=MEMORY;
INSERT INTO t5 (word) VALUES ('TEST’');
SELECT HEX(word) FROM t5;
sync_slave_with_master;
+set @@global.slave_exec_mode= default; # bug#31552 comments above
connection slave;
SELECT HEX(word) FROM t5;
--error 1146
diff --git a/mysql-test/suite/rpl/t/rpl_init_slave.test b/mysql-test/suite/rpl/t/rpl_init_slave.test
index 139b4902e12..1511bd541ed 100644
--- a/mysql-test/suite/rpl/t/rpl_init_slave.test
+++ b/mysql-test/suite/rpl/t/rpl_init_slave.test
@@ -4,9 +4,17 @@ source include/master-slave.inc;
# Test of init_slave variable
#
+set global max_connections=151;
+
+connection slave;
+stop slave;
+source include/wait_for_slave_to_stop.inc;
+start slave;
+source include/wait_for_slave_to_start.inc;
+
+connection master;
save_master_pos;
connection slave;
-sleep 1;
show variables like 'init_slave';
show variables like 'max_connections';
sync_with_master;
diff --git a/mysql-test/suite/rpl/t/rpl_innodb-master.opt b/mysql-test/suite/rpl/t/rpl_innodb-master.opt
new file mode 100644
index 00000000000..8636d2d8734
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_innodb-master.opt
@@ -0,0 +1 @@
+--innodb --innodb_autoinc_lock_mode=0
diff --git a/mysql-test/suite/rpl/t/rpl_innodb_bug28430-master.opt b/mysql-test/suite/rpl/t/rpl_innodb_bug28430-master.opt
new file mode 100644
index 00000000000..8636d2d8734
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_innodb_bug28430-master.opt
@@ -0,0 +1 @@
+--innodb --innodb_autoinc_lock_mode=0
diff --git a/mysql-test/suite/rpl/t/rpl_innodb_bug28430-slave.opt b/mysql-test/suite/rpl/t/rpl_innodb_bug28430-slave.opt
new file mode 100644
index 00000000000..8636d2d8734
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_innodb_bug28430-slave.opt
@@ -0,0 +1 @@
+--innodb --innodb_autoinc_lock_mode=0
diff --git a/mysql-test/suite/rpl/t/rpl_innodb_bug28430.test b/mysql-test/suite/rpl/t/rpl_innodb_bug28430.test
new file mode 100644
index 00000000000..eb828f07415
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_innodb_bug28430.test
@@ -0,0 +1,154 @@
+--source include/have_innodb.inc
+--source include/have_partition.inc
+--source include/have_binlog_format_mixed_or_row.inc
+--source include/master-slave.inc
+
+# Set the default connection to 'master'
+
+--vertical_results
+
+let $engine_type= 'innodb';
+
+######## Creat Table Section #########
+use test;
+
+eval CREATE TABLE test.regular_tbl(id MEDIUMINT NOT NULL AUTO_INCREMENT,
+ dt TIMESTAMP, user CHAR(255), uuidf LONGBLOB,
+ fkid MEDIUMINT, filler VARCHAR(255),
+ PRIMARY KEY(id)) ENGINE=$engine_type;
+
+eval CREATE TABLE test.bykey_tbl(id MEDIUMINT NOT NULL AUTO_INCREMENT,
+ dt TIMESTAMP, user CHAR(255), uuidf LONGBLOB,
+ fkid MEDIUMINT, filler VARCHAR(255),
+ PRIMARY KEY(id)) ENGINE=$engine_type
+ PARTITION BY KEY(id) partitions 5;
+
+eval CREATE TABLE test.byrange_tbl(id MEDIUMINT NOT NULL AUTO_INCREMENT,
+ dt TIMESTAMP, user CHAR(255), uuidf LONGBLOB,
+ fkid MEDIUMINT, filler VARCHAR(255),
+ PRIMARY KEY(id)) ENGINE=$engine_type
+ PARTITION BY RANGE(id)
+ SUBPARTITION BY hash(id) subpartitions 2
+ (PARTITION pa1 values less than (10),
+ PARTITION pa2 values less than (20),
+ PARTITION pa3 values less than (30),
+ PARTITION pa4 values less than (40),
+ PARTITION pa5 values less than (50),
+ PARTITION pa6 values less than (60),
+ PARTITION pa7 values less than (70),
+ PARTITION pa8 values less than (80),
+ PARTITION pa9 values less than (90),
+ PARTITION pa10 values less than (100),
+ PARTITION pa11 values less than MAXVALUE);
+
+######## Create SPs, Functions, Views and Triggers Section ##############
+
+delimiter |;
+CREATE PROCEDURE test.proc_norm()
+BEGIN
+ DECLARE ins_count INT DEFAULT 1000;
+ DECLARE del_count INT;
+ DECLARE cur_user VARCHAR(255);
+ DECLARE local_uuid VARCHAR(255);
+ DECLARE local_time TIMESTAMP;
+
+ SET local_time= NOW();
+ SET cur_user= CURRENT_USER();
+ SET local_uuid= UUID();
+
+ WHILE ins_count > 0 DO
+ INSERT INTO test.regular_tbl VALUES (NULL, NOW(), USER() , UUID(),
+ ins_count,'Going to test MBR for MySQL');
+ SET ins_count = ins_count - 1;
+ END WHILE;
+
+ SELECT MAX(id) FROM test.regular_tbl INTO del_count;
+ WHILE del_count > 0 DO
+ DELETE FROM test.regular_tbl WHERE id = del_count;
+ SET del_count = del_count - 2;
+ END WHILE;
+END|
+
+CREATE PROCEDURE test.proc_bykey()
+BEGIN
+ DECLARE ins_count INT DEFAULT 1000;
+ DECLARE del_count INT;
+ DECLARE cur_user VARCHAR(255);
+ DECLARE local_uuid VARCHAR(255);
+ DECLARE local_time TIMESTAMP;
+
+ SET local_time= NOW();
+ SET cur_user= CURRENT_USER();
+ SET local_uuid= UUID();
+
+ WHILE ins_count > 0 DO
+ INSERT INTO test.bykey_tbl VALUES (NULL, NOW(), USER() , UUID(),
+ ins_count,'Going to test MBR for MySQL');
+ SET ins_count = ins_count - 1;
+ END WHILE;
+
+ SELECT MAX(id) FROM test.bykey_tbl INTO del_count;
+ WHILE del_count > 0 DO
+ DELETE FROM test.bykey_tbl WHERE id = del_count;
+ SET del_count = del_count - 2;
+ END WHILE;
+END|
+
+CREATE PROCEDURE test.proc_byrange()
+BEGIN
+ DECLARE ins_count INT DEFAULT 1000;
+ DECLARE del_count INT;
+ DECLARE cur_user VARCHAR(255);
+ DECLARE local_uuid VARCHAR(255);
+ DECLARE local_time TIMESTAMP;
+
+ SET local_time= NOW();
+ SET cur_user = CURRENT_USER();
+ SET local_uuid=UUID();
+
+ WHILE ins_count > 0 DO
+ INSERT INTO test.byrange_tbl VALUES (NULL, NOW(), USER(), UUID(),
+ ins_count,'Going to test MBR for MySQL');
+ SET ins_count = ins_count - 1;
+ END WHILE;
+
+ SELECT MAX(id) FROM test.byrange_tbl INTO del_count;
+ WHILE del_count > 0 DO
+ DELETE FROM test.byrange_tbl WHERE id = del_count;
+ SET del_count = del_count - 2;
+ END WHILE;
+END|
+
+delimiter ;|
+
+############ Finish Setup Section ###################
+
+
+############ Test Section ###################
+
+CALL test.proc_norm();
+SELECT count(*) as "Master regular" FROM test.regular_tbl;
+CALL test.proc_bykey();
+SELECT count(*) as "Master bykey" FROM test.bykey_tbl;
+CALL test.proc_byrange();
+SELECT count(*) as "Master byrange" FROM test.byrange_tbl;
+
+--sync_slave_with_master
+connection slave;
+show create table test.byrange_tbl;
+source include/show_slave_status.inc;
+SELECT count(*) "Slave norm" FROM test.regular_tbl;
+SELECT count(*) "Slave bykey" FROM test.bykey_tbl;
+SELECT count(*) "Slave byrange" FROM test.byrange_tbl;
+
+###### CLEAN UP SECTION ##############
+
+connection master;
+DROP PROCEDURE test.proc_norm;
+DROP PROCEDURE test.proc_bykey;
+DROP PROCEDURE test.proc_byrange;
+DROP TABLE test.regular_tbl;
+DROP TABLE test.bykey_tbl;
+DROP TABLE test.byrange_tbl;
+
+--source include/master-slave-end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_innodb_bug30888.test b/mysql-test/suite/rpl/t/rpl_innodb_bug30888.test
new file mode 100644
index 00000000000..4311328b064
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_innodb_bug30888.test
@@ -0,0 +1,66 @@
+--source include/have_innodb.inc
+--source include/have_binlog_format_mixed_or_row.inc
+--source include/master-slave.inc
+
+# Set the default connection to 'master'
+
+--vertical_results
+
+#let $engine_type= 'myisam';
+let $engine_type= 'innodb';
+
+######## Creat Table Section #########
+use test;
+
+eval CREATE TABLE test.regular_tbl(id MEDIUMINT NOT NULL AUTO_INCREMENT,
+ dt TIMESTAMP, user CHAR(255), uuidf LONGBLOB,
+ fkid MEDIUMINT, filler VARCHAR(255),
+ PRIMARY KEY(id)) ENGINE=$engine_type;
+
+######## Create SPs, Functions, Views and Triggers Section ##############
+
+delimiter |;
+CREATE PROCEDURE test.proc_norm()
+BEGIN
+ DECLARE ins_count INT DEFAULT 1000;
+ DECLARE del_count INT;
+ DECLARE cur_user VARCHAR(255);
+ DECLARE local_uuid VARCHAR(255);
+ DECLARE local_time TIMESTAMP;
+
+ SET local_time= NOW();
+ SET cur_user= CURRENT_USER();
+ SET local_uuid= UUID();
+
+ WHILE ins_count > 0 DO
+ INSERT INTO test.regular_tbl VALUES (NULL, NOW(), USER() , UUID(),
+ ins_count,'Going to test MBR for MySQL');
+ SET ins_count = ins_count - 1;
+ END WHILE;
+
+ SELECT MAX(id) FROM test.regular_tbl INTO del_count;
+ WHILE del_count > 0 DO
+ DELETE FROM test.regular_tbl WHERE id = del_count;
+ SET del_count = del_count - 2;
+ END WHILE;
+END|
+
+delimiter ;|
+
+############ Finish Setup Section ###################
+
+
+############ Test Section ###################
+
+CALL test.proc_norm();
+
+--sync_slave_with_master
+
+###### CLEAN UP SECTION ##############
+
+connection master;
+DROP PROCEDURE test.proc_norm;
+DROP TABLE test.regular_tbl;
+
+--source include/master-slave-end.inc
+
diff --git a/mysql-test/suite/rpl/t/rpl_innodb_bug30919-master.opt b/mysql-test/suite/rpl/t/rpl_innodb_bug30919-master.opt
new file mode 100644
index 00000000000..8636d2d8734
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_innodb_bug30919-master.opt
@@ -0,0 +1 @@
+--innodb --innodb_autoinc_lock_mode=0
diff --git a/mysql-test/suite/rpl/t/rpl_innodb_bug30919.test b/mysql-test/suite/rpl/t/rpl_innodb_bug30919.test
new file mode 100644
index 00000000000..56b2c7bc03d
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_innodb_bug30919.test
@@ -0,0 +1,68 @@
+--source include/have_innodb.inc
+--source include/have_partition.inc
+--vertical_results
+let $engine_type= 'innodb';
+
+######## Creat Table Section #########
+use test;
+
+eval CREATE TABLE test.part_tbl(id MEDIUMINT NOT NULL AUTO_INCREMENT,
+ dt TIMESTAMP, user CHAR(255), uuidf LONGBLOB,
+ fkid MEDIUMINT, filler VARCHAR(255),
+ PRIMARY KEY(id)) ENGINE=$engine_type
+ PARTITION BY RANGE(id)
+ SUBPARTITION BY hash(id) subpartitions 2
+ (PARTITION pa3 values less than (42),
+ PARTITION pa6 values less than (60),
+ PARTITION pa7 values less than (70),
+ PARTITION pa8 values less than (80),
+ PARTITION pa9 values less than (90),
+ PARTITION pa10 values less than (100),
+ PARTITION pa11 values less than MAXVALUE);
+
+######## Create SPs, Functions, Views and Triggers Section ##############
+
+delimiter |;
+
+CREATE PROCEDURE test.proc_part()
+BEGIN
+ DECLARE ins_count INT DEFAULT 1000;
+ DECLARE del_count INT;
+ DECLARE cur_user VARCHAR(255);
+ DECLARE local_uuid VARCHAR(255);
+ DECLARE local_time TIMESTAMP;
+
+ SET local_time= NOW();
+ SET cur_user= CURRENT_USER();
+ SET local_uuid= UUID();
+
+ WHILE ins_count > 0 DO
+ INSERT INTO test.part_tbl VALUES (NULL, NOW(), USER() , UUID(),
+ ins_count,'Going to test MBR for MySQL');
+ SET ins_count = ins_count - 1;
+ END WHILE;
+ SELECT MAX(id) FROM test.part_tbl INTO del_count;
+ WHILE del_count > 0 DO
+ DELETE FROM test.part_tbl WHERE id = del_count;
+ select count(*) as internal_count, del_count -- these two lines are for
+ FROM test.part_tbl; -- debug to show the problem
+ SET del_count = del_count - 2;
+ END WHILE;
+END|
+
+delimiter ;|
+
+############ Finish Setup Section ###################
+
+############ Test Section ###################
+--horizontal_results
+
+CALL test.proc_part();
+
+select count(*) as Part from test.part_tbl;
+
+###### CLEAN UP SECTION ##############
+
+DROP PROCEDURE test.proc_part;
+DROP TABLE test.part_tbl;
+
diff --git a/mysql-test/suite/rpl/t/rpl_insert.test b/mysql-test/suite/rpl/t/rpl_insert.test
index 0d471a0e0a9..504ca1809ad 100644
--- a/mysql-test/suite/rpl/t/rpl_insert.test
+++ b/mysql-test/suite/rpl/t/rpl_insert.test
@@ -17,18 +17,8 @@ let $query = "INSERT DELAYED INTO t1 VALUES (1, 'Dr. No'), (2, 'From Russia With
--exec $MYSQL_SLAP --silent --concurrency=5 --iterations=200 --query=$query --delimiter=";"
# Wait until all the 5000 inserts has been inserted into the table
---disable_query_log
-let $counter= 300; # Max 30 seconds wait
-while (`select count(*)!=5000 from mysqlslap.t1`)
-{
- sleep 0.1;
- dec $counter;
- if (!$counter)
- {
- Number of records in t1 didnt reach 5000;
- }
-}
---enable_query_log
+let $wait_condition= SELECT COUNT(*) = 5000 FROM mysqlslap.t1;
+--source include/wait_condition.inc
SELECT COUNT(*) FROM mysqlslap.t1;
sync_slave_with_master;
diff --git a/mysql-test/suite/rpl/t/rpl_invoked_features.test b/mysql-test/suite/rpl/t/rpl_invoked_features.test
index e797e0552ef..e73964a6e14 100644
--- a/mysql-test/suite/rpl/t/rpl_invoked_features.test
+++ b/mysql-test/suite/rpl/t/rpl_invoked_features.test
@@ -8,10 +8,9 @@
--source include/master-slave.inc
--source include/have_innodb.inc
-
-#
-# Define variables used by test case
-#
+# --disable_warnings/--enable_warnings added before/after query
+# if one uses UUID() function because we need to avoid warnings
+# for STATEMENT binlog format
# Non-transactional engine
--let $engine_type= myisam
@@ -45,20 +44,24 @@ DROP EVENT IF EXISTS e11;
--echo
eval CREATE TABLE t1 (a INT NOT NULL PRIMARY KEY, b INT, c VARCHAR(64)) ENGINE=$engine_type;
---disable_warnings
INSERT INTO t1 VALUES (1,1,'1');
+--disable_warnings
INSERT INTO t1 VALUES (2,2,UUID());
-eval CREATE TABLE t2 (a INT, b INT, c VARCHAR(64)) ENGINE=$engine_type;
+--enable_warnings
+eval CREATE TABLE t2 (a INT UNIQUE, b INT, c VARCHAR(64)) ENGINE=$engine_type;
INSERT INTO t2 VALUES (1,1,'1');
+--disable_warnings
INSERT INTO t2 VALUES (2,2,UUID());
--enable_warnings
eval CREATE TABLE t11 (a INT NOT NULL PRIMARY KEY, b INT, c VARCHAR(64)) ENGINE=$engine_type2;
---disable_warnings
INSERT INTO t11 VALUES (1,1,'1');
+--disable_warnings
INSERT INTO t11 VALUES (2,2,UUID());
-eval CREATE TABLE t12 (a INT, b INT, c VARCHAR(64)) ENGINE=$engine_type2;
+--enable_warnings
+eval CREATE TABLE t12 (a INT UNIQUE, b INT, c VARCHAR(64)) ENGINE=$engine_type2;
INSERT INTO t12 VALUES (1,1,'1');
+--disable_warnings
INSERT INTO t12 VALUES (2,2,UUID());
--enable_warnings
@@ -96,22 +99,16 @@ BEGIN
END|
# Create events which will run every 1 sec
-CREATE EVENT e1 ON SCHEDULE EVERY 1 SECOND ENABLE DO
+CREATE EVENT e1 ON SCHEDULE EVERY 1 SECOND DISABLE DO
BEGIN
- DECLARE c INT;
- SELECT a INTO c FROM t1 WHERE a < 11 ORDER BY a DESC LIMIT 1;
- IF c = 7 THEN
- CALL p1(10, '');
- END IF;
+ ALTER EVENT e1 DISABLE;
+ CALL p1(10, '');
END|
-CREATE EVENT e11 ON SCHEDULE EVERY 1 SECOND ENABLE DO
+CREATE EVENT e11 ON SCHEDULE EVERY 1 SECOND DISABLE DO
BEGIN
- DECLARE c INT;
- SELECT a INTO c FROM t11 WHERE a < 11 ORDER BY a DESC LIMIT 1;
- IF c = 7 THEN
- CALL p11(10, '');
- END IF;
+ ALTER EVENT e11 DISABLE;
+ CALL p11(10, '');
END|
# Create functions and procedures used for events
@@ -130,12 +127,12 @@ END|
CREATE PROCEDURE p1 (IN x INT, IN y VARCHAR(64))
BEGIN
- INSERT INTO t1 VALUES (x,x,y);
+ INSERT IGNORE INTO t1 VALUES (x,x,y);
END|
CREATE PROCEDURE p11 (IN x INT, IN y VARCHAR(64))
BEGIN
- INSERT INTO t11 VALUES (x,x,y);
+ INSERT IGNORE INTO t11 VALUES (x,x,y);
END|
DELIMITER ;|
@@ -147,17 +144,24 @@ DELIMITER ;|
# Do some actions for non-transactional tables
--echo
---disable_warnings
CREATE TABLE t3 SELECT * FROM v1;
INSERT INTO t1 VALUES (3,3,'');
UPDATE t1 SET c='2' WHERE a = 1;
+--disable_warnings
INSERT INTO t1 VALUES(4,4,f1(4));
+--enable_warnings
INSERT INTO t1 VALUES (100,100,'');
+--disable_warnings
CALL p1(5, UUID());
+--enable_warnings
INSERT INTO t1 VALUES (101,101,'');
+--disable_warnings
INSERT INTO t1 VALUES(6,6,f1(6));
+--enable_warnings
INSERT INTO t1 VALUES (102,102,'');
+--disable_warnings
INSERT INTO t1 VALUES(7,7,f2(7));
+--enable_warnings
INSERT INTO t1 VALUES (103,103,'');
# Do some actions for transactional tables
@@ -165,29 +169,47 @@ INSERT INTO t1 VALUES (103,103,'');
CREATE TABLE t13 SELECT * FROM v11;
INSERT INTO t11 VALUES (3,3,'');
UPDATE t11 SET c='2' WHERE a = 1;
+--disable_warnings
INSERT INTO t11 VALUES(4,4,f1(4));
+--enable_warnings
INSERT INTO t11 VALUES (100,100,'');
+--disable_warnings
CALL p11(5, UUID());
+--enable_warnings
INSERT INTO t11 VALUES (101,101,'');
+--disable_warnings
INSERT INTO t11 VALUES(6,6,f1(6));
+--enable_warnings
INSERT INTO t11 VALUES (102,102,'');
+--disable_warnings
INSERT INTO t11 VALUES(7,7,f2(7));
-INSERT INTO t11 VALUES (103,103,'');
--enable_warnings
+INSERT INTO t11 VALUES (103,103,'');
# Scheduler is on
--echo
+# Temporally events fire sequentally due Bug#29020.
SET GLOBAL EVENT_SCHEDULER = on;
-# Wait 2 sec while events will executed
---sleep 2
+# Wait while events will executed
+ALTER EVENT e1 ENABLE;
+let $wait_condition= SELECT COUNT(*) = 1 FROM t1 WHERE t1.a = 10;
+--source include/wait_condition.inc
+ALTER EVENT e11 ENABLE;
+let $wait_condition= SELECT COUNT(*) = 1 FROM t11 WHERE t11.a = 10;
+--source include/wait_condition.inc
SET GLOBAL EVENT_SCHEDULER = off;
# Check original objects
--echo
+--sorted_result
SHOW TABLES LIKE 't%';
+--sorted_result
SELECT table_name FROM information_schema.views WHERE table_schema='test';
+--sorted_result
SELECT trigger_name, event_manipulation, event_object_table FROM information_schema.triggers WHERE trigger_schema='test';
+--sorted_result
SELECT routine_type, routine_name FROM information_schema.routines WHERE routine_schema='test';
+--sorted_result
SELECT event_name, status FROM information_schema.events WHERE event_schema='test';
# Check original data
@@ -211,10 +233,15 @@ SELECT a,b FROM v11 ORDER BY a;
# Check replicated objects
--echo
+--sorted_result
SHOW TABLES LIKE 't%';
+--sorted_result
SELECT table_name FROM information_schema.views WHERE table_schema='test';
+--sorted_result
SELECT trigger_name, event_manipulation, event_object_table FROM information_schema.triggers WHERE trigger_schema='test';
+--sorted_result
SELECT routine_type, routine_name FROM information_schema.routines WHERE routine_schema='test';
+--sorted_result
SELECT event_name, status FROM information_schema.events WHERE event_schema='test';
# Check replicated data
@@ -234,7 +261,7 @@ SELECT COUNT(*) FROM t13;
SELECT a,b FROM t13 ORDER BY a;
SELECT a,b FROM v11 ORDER BY a;
-# Remove UUID() before comparing
+# Remove UUID() before comparing and sort tables
--connection master
--echo
@@ -245,6 +272,9 @@ UPDATE t11 SET c='';
UPDATE t12 SET c='';
UPDATE t13 SET c='';
+ALTER TABLE t3 ORDER BY a;
+ALTER TABLE t13 ORDER BY a;
+
--sync_slave_with_master slave
# Compare a data from master and slave
@@ -260,13 +290,12 @@ UPDATE t13 SET c='';
# Remove dumps
--echo
---exec rm $MYSQLTEST_VARDIR/tmp/rpl_invoked_features_master.sql
---exec rm $MYSQLTEST_VARDIR/tmp/rpl_invoked_features_slave.sql
+--remove_file $MYSQLTEST_VARDIR/tmp/rpl_invoked_features_master.sql
+--remove_file $MYSQLTEST_VARDIR/tmp/rpl_invoked_features_slave.sql
# Remove tables,views,procedures,functions
--connection master
--echo
---disable_warnings
DROP VIEW IF EXISTS v1,v11;
DROP TABLE IF EXISTS t1,t2,t3,t11,t12,t13;
DROP PROCEDURE IF EXISTS p1;
@@ -275,7 +304,6 @@ DROP FUNCTION IF EXISTS f1;
DROP FUNCTION IF EXISTS f2;
DROP EVENT IF EXISTS e1;
DROP EVENT IF EXISTS e11;
---enable_warnings
--sync_slave_with_master slave
diff --git a/mysql-test/suite/rpl/t/rpl_load_from_master.test b/mysql-test/suite/rpl/t/rpl_load_from_master.test
index 9bab7d5696e..b04d8a44226 100644
--- a/mysql-test/suite/rpl/t/rpl_load_from_master.test
+++ b/mysql-test/suite/rpl/t/rpl_load_from_master.test
@@ -54,7 +54,7 @@ connection master;
set sql_log_bin = 0;
create database mysqltest2;
create database mysqltest;
-show databases;
+show databases like 'mysql%';
create table mysqltest2.t1(n int, s char(20))ENGINE=MyISAM;
create table mysqltest2.t2(n int, s text)ENGINE=MyISAM;
insert into mysqltest2.t1 values (1, 'one'), (2, 'two'), (3, 'three');
@@ -71,7 +71,7 @@ connection slave;
sync_with_master;
# This should show that the slave is empty at this point
-show databases;
+show databases like 'mysql%';
# Create mysqltest2 and mysqltest3 on slave; we expect that LOAD DATA FROM
# MASTER will neither touch database mysqltest nor mysqltest3
create database mysqltest2;
@@ -95,7 +95,7 @@ insert into mysqltest.t3 values (1, 'original bar.t3');
load data from master;
# Now let's check if we have the right tables and the right data in them
-show databases;
+show databases like 'mysql%';
use mysqltest2;
# LOAD DATA FROM MASTER uses only replicate_*_db rules to decide which
diff --git a/mysql-test/suite/rpl/t/rpl_loaddata_map-master.opt b/mysql-test/suite/rpl/t/rpl_loaddata_map-master.opt
new file mode 100644
index 00000000000..831680eb5ef
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_loaddata_map-master.opt
@@ -0,0 +1 @@
+--read_buffer_size=12K --max_allowed_packet=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
new file mode 100644
index 00000000000..95f55bcf7d8
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_loaddata_map-slave.opt
@@ -0,0 +1 @@
+--max_allowed_packet=8K
diff --git a/mysql-test/suite/rpl/t/rpl_loaddata_map.test b/mysql-test/suite/rpl/t/rpl_loaddata_map.test
new file mode 100644
index 00000000000..6a8378c8fdc
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_loaddata_map.test
@@ -0,0 +1,54 @@
+#
+# check replication of load data with the server parameters subjected to
+# read_buffer_size > max_allowed_packet
+#
+# BUG#30435 loading large LOAD DATA INFILE breaks slave with
+# read_buffer_size set on master
+# BUG#33413 show binlog events fails if binlog has event size of close
+# to max_allowed_packet
+
+source include/have_binlog_format_mixed_or_statement.inc;
+source include/master-slave.inc;
+source include/have_innodb.inc;
+source include/have_binlog_format_mixed_or_statement.inc;
+
+--disable_query_log
+let $rows= 5000;
+create table t1 (id int not null primary key auto_increment);
+
+while($rows)
+{
+ eval insert into t1 values (null);
+ dec $rows;
+}
+eval select * into outfile '$MYSQLTEST_VARDIR/tmp/bug30435_5k.txt' from t1;
+flush logs;
+--enable_query_log
+
+connection master;
+create table t2 (id int not null primary key auto_increment);
+
+select @@session.read_buffer_size - @@session.max_allowed_packet > 0 ;
+
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+eval load data infile '$MYSQLTEST_VARDIR/tmp/bug30435_5k.txt' into table t2;
+select count(*) from t2 /* 5 000 */;
+
+# the binglog will show fragmented Append_block events
+--let $binlog_start=106
+--replace_column 2 # 4 # 5 #
+--replace_regex /\/\* xid=.* \*\//\/* XID *\// /file_id=[0-9]+/file_id=#/ /block_len=[0-9]+/block_len=#/
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR $binlog_start <binlog_start>
+--eval show binlog events in 'master-bin.000002' from $binlog_start
+
+
+sync_slave_with_master;
+#connection slave;
+select count(*) from t2 /* 5 000 */;
+
+connection master;
+drop table t1, t2;
+sync_slave_with_master;
+remove_file $MYSQLTEST_VARDIR/tmp/bug30435_5k.txt;
+
+--echo end of the tests
diff --git a/mysql-test/suite/rpl/t/rpl_loadfile.test b/mysql-test/suite/rpl/t/rpl_loadfile.test
index a671bab15bb..532db77c248 100644
--- a/mysql-test/suite/rpl/t/rpl_loadfile.test
+++ b/mysql-test/suite/rpl/t/rpl_loadfile.test
@@ -36,11 +36,12 @@ delimiter ;|
CALL test.p1();
SELECT * FROM test.t1 ORDER BY blob_column;
save_master_pos;
-# Need to allow some time when NDB engine is used for
-# the injector thread to have time to populate binlog
-sleep 10;
sync_slave_with_master;
connection slave;
+# Need to allow some time when NDB engine is used for
+# the injector thread to have time to populate binlog
+let $wait_condition= SELECT INSTR(blob_column,'aberration') > 0 FROM test.t1 WHERE a = 2;
+--source include/wait_condition.inc
SELECT * FROM test.t1 ORDER BY blob_column;
# Cleanup
diff --git a/mysql-test/suite/rpl/t/rpl_log_pos.test b/mysql-test/suite/rpl/t/rpl_log_pos.test
index e5ad6f39ed2..45a097b6f14 100644
--- a/mysql-test/suite/rpl/t/rpl_log_pos.test
+++ b/mysql-test/suite/rpl/t/rpl_log_pos.test
@@ -11,14 +11,13 @@
# Passes with rbr no problem, removed statement include [jbm]
source include/master-slave.inc;
---replace_column 3 <Binlog_Ignore_DB>
-show master status;
+source include/show_master_status.inc;
sync_slave_with_master;
stop slave;
--source include/wait_for_slave_to_stop.inc
change master to master_log_pos=75;
-source include/show_slave_status.inc;
+source include/show_slave_status2.inc;
start slave;
let $slave_param= Slave_SQL_Running;
let $slave_param_value= Yes;
@@ -31,15 +30,14 @@ stop slave;
source include/show_slave_status.inc;
connection master;
---replace_column 3 <Binlog_Ignore_DB>
-show master status;
+source include/show_master_status.inc;
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);
save_master_pos;
connection slave;
-change master to master_log_pos=106;
+change master to master_log_pos=4;
start slave;
sync_with_master;
select * from t1 ORDER BY n;
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 893c8746efc..2f7b18ae04b 100644
--- a/mysql-test/suite/rpl/t/rpl_master_pos_wait.test
+++ b/mysql-test/suite/rpl/t/rpl_master_pos_wait.test
@@ -15,4 +15,15 @@ stop slave sql_thread;
connection slave;
reap;
+#
+# bug#26622 MASTER_POS_WAIT does not work as documented
+#
+
+connection master;
+echo "*** must be empty ***";
+query_vertical show slave status;
+
+echo "*** must be NULL ***";
+select master_pos_wait('foo', 98);
+
# End of 4.1 tests
diff --git a/mysql-test/suite/rpl/t/rpl_misc_functions.test b/mysql-test/suite/rpl/t/rpl_misc_functions.test
index 1c94471c975..4a47e9645f9 100644
--- a/mysql-test/suite/rpl/t/rpl_misc_functions.test
+++ b/mysql-test/suite/rpl/t/rpl_misc_functions.test
@@ -109,6 +109,7 @@ DROP TABLE t1, t1_slave;
DROP PROCEDURE test_replication_sp1;
DROP PROCEDURE test_replication_sp2;
DROP FUNCTION test_replication_sf;
+--remove_file $MYSQLTEST_VARDIR/master-data/test/rpl_misc_functions.outfile
--sync_slave_with_master
diff --git a/mysql-test/suite/rpl/t/rpl_optimize.test b/mysql-test/suite/rpl/t/rpl_optimize.test
index 80f0c052fc8..f4582ba1167 100644
--- a/mysql-test/suite/rpl/t/rpl_optimize.test
+++ b/mysql-test/suite/rpl/t/rpl_optimize.test
@@ -31,7 +31,9 @@ INSERT INTO t1 (a) SELECT null FROM t1;
save_master_pos;
# a few updates to force OPTIMIZE to do something
update t1 set b=(a/2*rand());
+--disable_warnings
delete from t1 order by b limit 10000;
+--enable_warnings
connection slave;
sync_with_master;
diff --git a/mysql-test/suite/rpl/t/rpl_packet.test b/mysql-test/suite/rpl/t/rpl_packet.test
index 26fe36d8c40..0e17ae3144c 100644
--- a/mysql-test/suite/rpl/t/rpl_packet.test
+++ b/mysql-test/suite/rpl/t/rpl_packet.test
@@ -66,15 +66,11 @@ CREATE TABLe `t1` (`f1` LONGTEXT) ENGINE=MyISAM;
INSERT INTO `t1`(`f1`) VALUES ('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa2048');
# The slave I/O thread must stop after trying to read the above event
-connection slave;
-sleep 2;
-SHOW STATUS LIKE 'Slave_running';
-
-# cleanup
-#connection master;
-#drop table t1;
-#connection slave;
-#drop table t1;
-
+connection slave;
+--source include/wait_for_slave_io_to_stop.inc
+--replace_result $MASTER_MYPORT MASTER_MYPORT
+# import is only the 11th column Slave_IO_Running
+--replace_column 1 # 7 # 8 # 9 # 12 # 22 # 23 # 33 #
+query_vertical show slave status;
# End of tests
diff --git a/mysql-test/suite/rpl/t/rpl_ps.test b/mysql-test/suite/rpl/t/rpl_ps.test
index b8792722192..27f1ac3348d 100644
--- a/mysql-test/suite/rpl/t/rpl_ps.test
+++ b/mysql-test/suite/rpl/t/rpl_ps.test
@@ -46,6 +46,101 @@ stop slave;
# End of 4.1 tests
+#
+# Bug #25843 Changing default database between PREPARE and EXECUTE of statement
+# breaks binlog.
+#
+# There were actually two problems discovered by this bug:
+#
+# 1. Default (current) database is not fixed at the creation time.
+# That leads to wrong output of DATABASE() function.
+#
+# 2. Database attributes (@@collation_database) are not fixed at the creation
+# time. That leads to wrong resultset.
+#
+# Binlog breakage and Query Cache wrong output happened because of the first
+# problem.
+#
+
+--echo
+--echo ########################################################################
+--echo #
+--echo # BUG#25843: Changing default database between PREPARE and EXECUTE of
+--echo # statement breaks binlog.
+--echo #
+--echo ########################################################################
+
+###############################################################################
+
+--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
+--save_master_pos
+
+--echo
+--echo # Connection: slave
+--echo
+--connection slave
+--sync_with_master
+
+--echo
+SELECT * FROM t1;
+
+--echo
+--echo # Connection: master
+--echo
+--connection master
+
+--echo
+DROP DATABASE mysqltest1;
+
+--echo
+use test;
+
+--echo
+--save_master_pos
+
+--echo
+--echo # Connection: slave
+--echo
+--connection slave
+--sync_with_master
+
+--echo
+STOP SLAVE;
+
+--echo
+--echo ########################################################################
+
+###############################################################################
+
reset master;
reset slave;
disconnect master;
diff --git a/mysql-test/suite/rpl/t/rpl_relayspace.test b/mysql-test/suite/rpl/t/rpl_relayspace.test
index 70315c14f34..0fc564cdb46 100644
--- a/mysql-test/suite/rpl/t/rpl_relayspace.test
+++ b/mysql-test/suite/rpl/t/rpl_relayspace.test
@@ -14,7 +14,10 @@ connection slave;
reset slave;
start slave io_thread;
# Give the I/O thread time to block.
-sleep 2;
+let $slave_param= Slave_IO_State;
+let $slave_param_value= Waiting for the slave SQL thread to free enough relay log space;
+source include/wait_for_slave_param.inc;
+
# A bug caused the I/O thread to refuse stopping.
stop slave io_thread;
reset slave;
diff --git a/mysql-test/suite/rpl/t/rpl_report-slave.opt b/mysql-test/suite/rpl/t/rpl_report-slave.opt
new file mode 100644
index 00000000000..123e5c272b9
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_report-slave.opt
@@ -0,0 +1,2 @@
+--report-host=127.0.0.1 --report-user='my_user' --report-password='my_password' --report-port=9308
+
diff --git a/mysql-test/suite/rpl/t/rpl_report.test b/mysql-test/suite/rpl/t/rpl_report.test
new file mode 100644
index 00000000000..8798905d372
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_report.test
@@ -0,0 +1,21 @@
+# Verify that mysqld init time --report-{host,port,user,password} parameters
+# are SHOW-able and SELECT-able FROM INFORMATION_SCHEMA.global_variables
+
+source include/master-slave.inc;
+
+connection slave;
+select * from Information_schema.GLOBAL_VARIABLES where variable_name like 'report_host';
+select * from Information_schema.GLOBAL_VARIABLES where variable_name like 'report_port';
+select * from Information_schema.GLOBAL_VARIABLES where variable_name like 'report_user';
+select * from Information_schema.GLOBAL_VARIABLES where variable_name like 'report_password';
+query_vertical show global variables like 'report_host';
+query_vertical show global variables like 'report_port';
+query_vertical show global variables like 'report_user';
+query_vertical show global variables like 'report_password';
+
+# to demonstrate that report global variables are read-only
+error ER_INCORRECT_GLOBAL_LOCAL_VAR;
+set @@global.report_host='my.new.address.net';
+
+
+--echo end of tests
diff --git a/mysql-test/suite/rpl/t/rpl_rotate_logs.test b/mysql-test/suite/rpl/t/rpl_rotate_logs.test
index 998bce33e8f..9133c429934 100644
--- a/mysql-test/suite/rpl/t/rpl_rotate_logs.test
+++ b/mysql-test/suite/rpl/t/rpl_rotate_logs.test
@@ -65,14 +65,14 @@ insert into temp_table values ("testing temporary tables");
create table t1 (s text);
insert into t1 values('Could not break slave'),('Tried hard');
sync_slave_with_master;
-source include/show_slave_status.inc;
+source include/show_slave_status2.inc;
select * from t1;
connection master;
flush logs;
create table t2(m int not null auto_increment primary key);
insert into t2 values (34),(67),(123);
flush logs;
-show binary logs;
+source include/show_binary_logs.inc;
create table t3 select * from temp_table;
sync_slave_with_master;
@@ -106,10 +106,10 @@ connection master;
sync_slave_with_master;
connection master;
purge master logs to 'master-bin.000002';
-show master logs;
+source include/show_master_logs.inc;
# we just tests if synonyms are accepted
purge binary logs to 'master-bin.000002';
-show binary logs;
+source include/show_binary_logs.inc;
# Calculate time to use in "purge master logs before" by taking
# last modification time of t2 and adding 1 second
@@ -122,10 +122,10 @@ select @time_for_purge:=DATE_ADD(UPDATE_TIME, INTERVAL 1 SECOND)
--enable_result_log
purge master logs before (@time_for_purge);
-show binary logs;
+source include/show_binary_logs.inc;
insert into t2 values (65);
sync_slave_with_master;
-source include/show_slave_status.inc;
+source include/show_slave_status2.inc;
select * from t2;
#
@@ -148,14 +148,14 @@ while ($1)
enable_query_log;
select count(*) from t3 where n >= 4;
create table t4 select * from temp_table;
-show binary logs;
-show master status;
+source include/show_binary_logs.inc;
+source include/show_master_status.inc;
save_master_pos;
connection slave;
sync_with_master;
select * from t4;
-source include/show_slave_status.inc;
+source include/show_slave_status2.inc;
# because of concurrent insert, the table may not be up to date
# if we do not lock
lock tables t3 read;
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 fb43664f121..5904585a050 100644
--- a/mysql-test/suite/rpl/t/rpl_row_basic_11bugs.test
+++ b/mysql-test/suite/rpl/t/rpl_row_basic_11bugs.test
@@ -223,3 +223,43 @@ connection master;
drop table t1,t2;
sync_slave_with_master;
+
+#
+# BUG#31702: Missing row on slave causes assertion failure under
+# row-based replication
+#
+
+disable_query_log;
+source include/master-slave-reset.inc;
+enable_query_log;
+
+--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 ****
+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
+# temprorarily
+set @@global.slave_exec_mode= 'IDEMPOTENT';
+--echo **** On Master ****
+connection master;
+UPDATE t1 SET a = 5, b = 'master' WHERE a = 1;
+SELECT * FROM t1 ORDER BY a;
+--echo **** On Slave ****
+sync_slave_with_master;
+set @@global.slave_exec_mode= default;
+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;
diff --git a/mysql-test/suite/rpl/t/rpl_row_charset.test b/mysql-test/suite/rpl/t/rpl_row_charset.test
deleted file mode 100644
index c83ccc586ba..00000000000
--- a/mysql-test/suite/rpl/t/rpl_row_charset.test
+++ /dev/null
@@ -1,9 +0,0 @@
-########################################################
-# 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_row.inc
--- source include/master-slave.inc
-let $engine_type=myisam;
--- source extra/rpl_tests/rpl_row_charset.test
diff --git a/mysql-test/suite/rpl/t/rpl_row_colSize.test b/mysql-test/suite/rpl/t/rpl_row_colSize.test
new file mode 100644
index 00000000000..078e6886ec7
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_row_colSize.test
@@ -0,0 +1,168 @@
+##################################################################
+# rpl_colSize #
+# #
+# This test is designed to test the changes included in WL#3228. #
+# The changes include the ability to replicate with the master #
+# having columns that are smaller (shorter) than the slave. #
+##################################################################
+
+-- source include/master-slave.inc
+-- source include/have_binlog_format_row.inc
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+
+
+--echo **** Testing WL#3228 changes. ****
+--echo *** Create "wider" table on slave ***
+sync_slave_with_master;
+
+#
+# Check each column type to verify error 1532 fires (BUG#22086)
+# This check covers only those fields that require additional
+# metadata from the master to be replicated to the slave. These
+# field types are:
+# MYSQL_TYPE_NEWDECIMAL:
+# MYSQL_TYPE_FLOAT:
+# MYSQL_TYPE_BIT:
+# MYSQL_TYPE_SET:
+# MYSQL_TYPE_STRING:
+# MYSQL_TYPE_ENUM:
+# MYSQL_TYPE_VARCHAR:
+# MYSQL_TYPE_BLOB:
+
+#
+# Test: Checking MYSQL_TYPE_NEWDECIMAL fields
+#
+--echo Checking MYSQL_TYPE_NEWDECIMAL fields
+let $test_table_master = CREATE TABLE t1 (a DECIMAL(20, 10));
+let $test_table_slave = CREATE TABLE t1 (a DECIMAL(5,2));
+let $test_insert = INSERT INTO t1 VALUES (901251.90125);
+source include/test_fieldsize.inc;
+
+let $test_table_master = CREATE TABLE t1 (a DECIMAL(27, 18));
+let $test_table_slave = CREATE TABLE t1 (a DECIMAL(27, 9));
+let $test_insert = INSERT INTO t1 VALUES (901251.90125);
+source include/test_fieldsize.inc;
+
+let $test_table_master = CREATE TABLE t1 (a NUMERIC(20, 10));
+let $test_table_slave = CREATE TABLE t1 (a NUMERIC(5,2));
+let $test_insert = INSERT INTO t1 VALUES (901251.90125);
+source include/test_fieldsize.inc;
+
+#
+# Test: Checking MYSQL_TYPE_FLOAT fields
+#
+--echo Checking MYSQL_TYPE_FLOAT fields
+let $test_table_master = CREATE TABLE t1 (a FLOAT(47));
+let $test_table_slave = CREATE TABLE t1 (a FLOAT(20));
+let $test_insert = INSERT INTO t1 VALUES (901251.90125);
+source include/test_fieldsize.inc;
+
+#
+# Test: Checking MYSQL_TYPE_BIT fields
+#
+--echo Checking MYSQL_TYPE_BIT fields
+let $test_table_master = CREATE TABLE t1 (a BIT(64));
+let $test_table_slave = CREATE TABLE t1 (a BIT(5));
+let $test_insert = INSERT INTO t1 VALUES (B'10101');
+source include/test_fieldsize.inc;
+
+let $test_table_master = CREATE TABLE t1 (a BIT(12));
+let $test_table_slave = CREATE TABLE t1 (a BIT(11));
+let $test_insert = INSERT INTO t1 VALUES (B'10101');
+source include/test_fieldsize.inc;
+
+#
+# Test: Checking MYSQL_TYPE_SET fields
+#
+--echo Checking MYSQL_TYPE_SET fields
+let $test_table_master = CREATE TABLE t1 (a SET('1','2','3','4','5','6','7','8','9'));
+let $test_table_slave = CREATE TABLE t1 (a SET('4'));
+let $test_insert = INSERT INTO t1 VALUES ('4');
+source include/test_fieldsize.inc;
+
+#
+# Test: Checking MYSQL_TYPE_STRING fields
+#
+--echo Checking MYSQL_TYPE_STRING fields
+let $test_table_master = CREATE TABLE t1 (a CHAR(20));
+let $test_table_slave = CREATE TABLE t1 (a CHAR(10));
+let $test_insert = INSERT INTO t1 VALUES ('This is a test.');
+source include/test_fieldsize.inc;
+
+#
+# Test: Checking MYSQL_TYPE_ENUM fields
+#
+--echo Checking MYSQL_TYPE_ENUM fields
+let $test_table_master = CREATE TABLE t1 (a ENUM(
+ '01','02','03','04','05','06','07','08','09',
+ '11','12','13','14','15','16','17','18','19',
+ '21','22','23','24','25','26','27','28','29',
+ '31','32','33','34','35','36','37','38','39',
+ '41','42','43','44','45','46','47','48','49',
+ '51','52','53','54','55','56','57','58','59',
+ '61','62','63','64','65','66','67','68','69',
+ '71','72','73','74','75','76','77','78','79',
+ '81','82','83','84','85','86','87','88','89',
+ '91','92','93','94','95','96','97','98','99',
+ '101','102','103','104','105','106','107','108','109',
+ '111','112','113','114','115','116','117','118','119',
+ '121','122','123','124','125','126','127','128','129',
+ '131','132','133','134','135','136','137','138','139',
+ '141','142','143','144','145','146','147','148','149',
+ '151','152','153','154','155','156','157','158','159',
+ '161','162','163','164','165','166','167','168','169',
+ '171','172','173','174','175','176','177','178','179',
+ '181','182','183','184','185','186','187','188','189',
+ '191','192','193','194','195','196','197','198','199',
+ '201','202','203','204','205','206','207','208','209',
+ '211','212','213','214','215','216','217','218','219',
+ '221','222','223','224','225','226','227','228','229',
+ '231','232','233','234','235','236','237','238','239',
+ '241','242','243','244','245','246','247','248','249',
+ '251','252','253','254','255','256','257','258','259',
+ '261','262','263','264','265','266','267','268','269',
+ '271','272','273','274','275','276','277','278','279',
+ '281','282','283','284','285','286','287','288','289',
+ '291','292','293','294','295','296','297','298','299'
+ ));
+let $test_table_slave = CREATE TABLE t1 (a ENUM('44','54'));
+let $test_insert = INSERT INTO t1 VALUES ('44');
+source include/test_fieldsize.inc;
+
+#
+# Test: Checking MYSQL_TYPE_VARCHAR fields
+#
+--echo Checking MYSQL_TYPE_VARCHAR fields
+let $test_table_master = CREATE TABLE t1 (a VARCHAR(2000));
+let $test_table_slave = CREATE TABLE t1 (a VARCHAR(100));
+let $test_insert = INSERT INTO t1 VALUES ('This is a test.');
+source include/test_fieldsize.inc;
+
+let $test_table_master = CREATE TABLE t1 (a VARCHAR(200));
+let $test_table_slave = CREATE TABLE t1 (a VARCHAR(10));
+let $test_insert = INSERT INTO t1 VALUES ('This is a test.');
+source include/test_fieldsize.inc;
+
+let $test_table_master = CREATE TABLE t1 (a VARCHAR(2000));
+let $test_table_slave = CREATE TABLE t1 (a VARCHAR(1000));
+let $test_insert = INSERT INTO t1 VALUES ('This is a test.');
+source include/test_fieldsize.inc;
+
+#
+# Test: Checking MYSQL_TYPE_BLOB fields
+#
+--echo Checking MYSQL_TYPE_BLOB fields
+let $test_table_master = CREATE TABLE t1 (a LONGBLOB);
+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;
+
+--echo *** Cleanup ***
+connection master;
+DROP TABLE IF EXISTS t1;
+sync_slave_with_master;
+# END 5.1 Test Case
+
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 be10d48b757..ffddfd2ce4a 100644
--- a/mysql-test/suite/rpl/t/rpl_row_create_table.test
+++ b/mysql-test/suite/rpl/t/rpl_row_create_table.test
@@ -72,7 +72,7 @@ CREATE TABLE t7 (UNIQUE(b)) SELECT a,b FROM tt3;
# Shouldn't be written to the binary log
--replace_column 1 # 4 #
--replace_regex /\/\* xid=.* \*\//\/* XID *\// /table_id: [0-9]+/table_id: #/
-SHOW BINLOG EVENTS FROM 1098;
+SHOW BINLOG EVENTS FROM 1374;
# Test that INSERT-SELECT works the same way as for SBR.
CREATE TABLE t7 (a INT, b INT UNIQUE);
@@ -82,7 +82,7 @@ SELECT * FROM t7 ORDER BY a,b;
# Should be written to the binary log
--replace_column 1 # 4 #
--replace_regex /\/\* xid=.* \*\//\/* XID *\// /table_id: [0-9]+/table_id: #/
-SHOW BINLOG EVENTS FROM 1098;
+SHOW BINLOG EVENTS FROM 1374;
sync_slave_with_master;
SELECT * FROM t7 ORDER BY a,b;
@@ -94,7 +94,7 @@ INSERT INTO t7 SELECT a,b FROM tt4;
ROLLBACK;
--replace_column 1 # 4 #
--replace_regex /\/\* xid=.* \*\//\/* XID *\// /table_id: [0-9]+/table_id: #/
-SHOW BINLOG EVENTS FROM 1294;
+SHOW BINLOG EVENTS FROM 1572;
SELECT * FROM t7 ORDER BY a,b;
sync_slave_with_master;
SELECT * FROM t7 ORDER BY a,b;
@@ -110,7 +110,7 @@ CREATE TEMPORARY TABLE tt7 SELECT 1;
--query_vertical SHOW CREATE TABLE t9
--replace_column 1 # 4 #
--replace_regex /\/\* xid=.* \*\//\/* XID *\// /table_id: [0-9]+/table_id: #/
-SHOW BINLOG EVENTS FROM 1390;
+SHOW BINLOG EVENTS FROM 1670;
sync_slave_with_master;
--echo **** On Slave ****
--query_vertical SHOW CREATE TABLE t8
@@ -227,7 +227,7 @@ ROLLBACK;
SELECT * FROM t2 ORDER BY a;
--replace_column 1 # 4 #
--replace_regex /\/\* xid=.* \*\//\/* XID *\// /Server ver: .*, Binlog ver: .*/Server ver: #, Binlog ver: #/ /table_id: [0-9]+/table_id: #/
-SHOW BINLOG EVENTS FROM 631;
+SHOW BINLOG EVENTS FROM 637;
sync_slave_with_master;
SELECT * FROM t2 ORDER BY a;
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 a2f9e31fc5d..bfa356fbfb4 100644
--- a/mysql-test/suite/rpl/t/rpl_row_flsh_tbls.test
+++ b/mysql-test/suite/rpl/t/rpl_row_flsh_tbls.test
@@ -1,7 +1,7 @@
# depends on the binlog output
-- source include/have_binlog_format_row.inc
-let $rename_event_pos= 619;
+let $rename_event_pos= 623;
# Bug#18326: Do not lock table for writing during prepare of statement
# The use of the ps protocol causes extra table maps in the binlog, so
diff --git a/mysql-test/suite/rpl/t/rpl_row_mysqlbinlog.test b/mysql-test/suite/rpl/t/rpl_row_mysqlbinlog.test
index dd46d64f684..be76ac9f3f6 100644
--- a/mysql-test/suite/rpl/t/rpl_row_mysqlbinlog.test
+++ b/mysql-test/suite/rpl/t/rpl_row_mysqlbinlog.test
@@ -344,5 +344,6 @@ FLUSH LOGS;
--exec rm $MYSQLTEST_VARDIR/tmp/local.sql
DROP TABLE IF EXISTS t1, t2, t3, t04, t05, t4, t5;
+sync_slave_with_master;
# End of 4.1 tests
diff --git a/mysql-test/suite/rpl/t/rpl_row_mystery22.test b/mysql-test/suite/rpl/t/rpl_row_mystery22.test
index 9933fec22fc..a3ba8648b22 100644
--- a/mysql-test/suite/rpl/t/rpl_row_mystery22.test
+++ b/mysql-test/suite/rpl/t/rpl_row_mystery22.test
@@ -9,6 +9,12 @@
# first, cause a duplicate key problem on the slave
create table t1(n int auto_increment primary key, s char(10));
sync_slave_with_master;
+
+# bug#31552/31609 idempotency is not default any longer
+# so that the declared in heading comments aim of the test
+# should be backed up with explicit setting of the slave mode
+set @@global.slave_exec_mode= 'IDEMPOTENT';
+
insert into t1 values (2,'old');
connection master;
insert into t1 values(NULL,'new');
@@ -43,3 +49,4 @@ select * from t1 order by n;
connection master;
drop table t1;
sync_slave_with_master;
+set @@global.slave_exec_mode= default;
diff --git a/mysql-test/suite/rpl/t/rpl_row_sp001.test b/mysql-test/suite/rpl/t/rpl_row_sp001.test
index c12e73b6861..1595c4a21d5 100644
--- a/mysql-test/suite/rpl/t/rpl_row_sp001.test
+++ b/mysql-test/suite/rpl/t/rpl_row_sp001.test
@@ -46,11 +46,15 @@ delimiter ;//
-- disable_query_log
-- disable_result_log
+SET @wait_count=1;
let $1=10;
while ($1)
{
call test.p1();
- sleep 1;
+ let $wait_condition= SELECT COUNT(*) = @wait_count FROM test.t1;
+ -- source include/wait_condition.inc
+ -- disable_query_log
+ SET @wait_count = @wait_count + 1;
dec $1;
}
-- enable_result_log
diff --git a/mysql-test/suite/rpl/t/rpl_row_sp005.test b/mysql-test/suite/rpl/t/rpl_row_sp005.test
index 054fa02f514..b118242dc3b 100644
--- a/mysql-test/suite/rpl/t/rpl_row_sp005.test
+++ b/mysql-test/suite/rpl/t/rpl_row_sp005.test
@@ -84,12 +84,15 @@ let $message=< ---- Master selects-- >;
--source include/show_msg.inc
connection master;
CALL test.p1();
-sleep 6;
+let $wait_condition= SELECT COUNT(*) = 4 FROM t3;
+--source include/wait_condition.inc
+save_master_pos;
SELECT * FROM test.t3 ORDER BY id3;
let $message=< ---- Slave selects-- >;
--source include/show_msg.inc
connection slave;
+sync_with_master;
SELECT * FROM test.t3 ORDER BY id3;
connection master;
diff --git a/mysql-test/suite/rpl/t/rpl_row_stop_middle.test b/mysql-test/suite/rpl/t/rpl_row_stop_middle.test
index da363736100..bc169bebfcd 100644
--- a/mysql-test/suite/rpl/t/rpl_row_stop_middle.test
+++ b/mysql-test/suite/rpl/t/rpl_row_stop_middle.test
@@ -33,7 +33,8 @@ start slave;
# hope one second is not enough for slave to reach the last
# Rows_log_event, so that test actually tests something.
-real_sleep 1;
+let $wait_condition= SELECT COUNT(*) >= 10 FROM t1;
+--source include/wait_condition.inc
stop slave;
# see if slave hangs on DROP TABLE
diff --git a/mysql-test/suite/rpl/t/rpl_row_trig001.test b/mysql-test/suite/rpl/t/rpl_row_trig001.test
index 7b1fca2d6a1..8669034713a 100644
--- a/mysql-test/suite/rpl/t/rpl_row_trig001.test
+++ b/mysql-test/suite/rpl/t/rpl_row_trig001.test
@@ -39,7 +39,7 @@ CREATE TABLE test.t3 (n MEDIUMINT NOT NULL AUTO_INCREMENT, d DATETIME, PRIMARY K
INSERT INTO test.t1 VALUES (1,NOW());
delimiter //;
-CREATE TRIGGER test.t2_ai AFTER INSERT ON test.t2 FOR EACH ROW UPDATE test.t1 SET d=NOW() where n = 1;//
+CREATE TRIGGER test.t2_ai AFTER INSERT ON test.t2 FOR EACH ROW UPDATE test.t1 SET d=NOW() where n = 1//
CREATE PROCEDURE test.p3()
BEGIN
INSERT INTO test.t3 (d) VALUES (NOW());
@@ -51,18 +51,33 @@ BEGIN
END//
delimiter ;//
+# Make sure that all definition have propagated to the slave
+sync_slave_with_master;
+
+connection master;
-- disable_query_log
-- disable_result_log
+SET @wait_count = 1;
let $1=10;
while ($1)
{
CALL test.p2();
- sleep 1;
+ let $wait_condition= SELECT COUNT(*) = @wait_count FROM test.t3;
+ --source include/wait_condition.inc
+ --disable_query_log
+ SET @wait_count = @wait_count + 1;
dec $1;
}
-- enable_result_log
-- enable_query_log
+# Just a precaution to make sure all changes have made it over to the
+# slave
+connection master;
+let $count = `select count(*) from t1`;
+eval INSERT INTO test.t1 VALUES ($count+1, NOW());
+sync_slave_with_master;
+
#show binlog events;
#select * from test.t2;
#select * from test.t3;
diff --git a/mysql-test/suite/rpl/t/rpl_row_trig003.test b/mysql-test/suite/rpl/t/rpl_row_trig003.test
index 4a1bbc5ca89..5d667e29d69 100644
--- a/mysql-test/suite/rpl/t/rpl_row_trig003.test
+++ b/mysql-test/suite/rpl/t/rpl_row_trig003.test
@@ -108,11 +108,13 @@ UPDATE test.t2 SET b1 = 0 WHERE b1 = 1;
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());
-# To make sure BUG#14698 is gone, we sleep 2 seconds before calling trigger
+# To make sure BUG#14698 is gone, we sleep before calling trigger
# (with the bug in, that caused differences in TIMESTAMP columns).
# We just need to let the machine's clock advance, it's not
-# to do synchronization, so real_sleep is good.
-real_sleep 2;
+# to do synchronization.
+
+let $wait_condition= SELECT SUM(f)= ROUND(SUM(f)) FROM t3;
+--source include/wait_condition.inc
DELETE FROM test.t1 WHERE id = 1;
diff --git a/mysql-test/suite/rpl/t/rpl_row_unsafe_funcs.test b/mysql-test/suite/rpl/t/rpl_row_unsafe_funcs.test
new file mode 100644
index 00000000000..069700546ce
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_row_unsafe_funcs.test
@@ -0,0 +1,35 @@
+source include/master-slave.inc;
+source include/have_binlog_format_mixed.inc;
+
+#
+# Bug #30244: row_count/found_rows does not replicate well
+#
+
+connection master;
+
+CREATE TABLE t1 (a INT);
+CREATE TABLE t2 (a INT, b INT);
+
+INSERT INTO t1 SELECT 1;
+
+connection master1;
+INSERT INTO t1 VALUES (2),(3),(4),(5),(6);
+
+connection master;
+INSERT INTO t2 SELECT 1, ROW_COUNT();
+
+INSERT INTO t1 VALUES (2),(3),(4);
+INSERT INTO t2 SELECT 2, ROW_COUNT();
+
+#must return 1 and 3
+SELECT b FROM t2 ORDER BY a;
+
+sync_slave_with_master;
+
+#must return 1 and 3
+SELECT b FROM t2 ORDER BY a;
+
+connection master;
+DROP TABLE t1, t2;
+sync_slave_with_master;
+connection master;
diff --git a/mysql-test/suite/rpl/t/rpl_row_until.test b/mysql-test/suite/rpl/t/rpl_row_until.test
index 9464e5cfadd..610eec305df 100644
--- a/mysql-test/suite/rpl/t/rpl_row_until.test
+++ b/mysql-test/suite/rpl/t/rpl_row_until.test
@@ -13,6 +13,8 @@ save_master_pos;
connection slave;
sync_with_master;
stop slave;
+# Make sure the slave sql and io thread has stopped
+--source include/wait_for_slave_to_stop.inc
connection master;
# create some events on master
@@ -52,6 +54,8 @@ save_master_pos;
connection slave;
sync_with_master;
stop slave;
+# Make sure the slave sql and io thread has stopped
+--source include/wait_for_slave_to_stop.inc
# this should stop immediately as we are already there
start slave until master_log_file='master-bin.000001', master_log_pos=740;
diff --git a/mysql-test/suite/rpl/t/rpl_row_view01.test b/mysql-test/suite/rpl/t/rpl_row_view01.test
index 634e3c30cc6..77e4b98f780 100644
--- a/mysql-test/suite/rpl/t/rpl_row_view01.test
+++ b/mysql-test/suite/rpl/t/rpl_row_view01.test
@@ -23,6 +23,7 @@ DROP TABLE IF EXISTS mysqltest1.t3;
DROP TABLE IF EXISTS mysqltest1.t1;
DROP TABLE IF EXISTS mysqltest1.t2;
DROP TABLE IF EXISTS mysqltest1.t4;
+DROP TABLE IF EXISTS mysqltest1.t10;
# Begin test section 1
CREATE TABLE mysqltest1.t1 (a INT, c CHAR(6),PRIMARY KEY(a));
@@ -43,12 +44,18 @@ CREATE VIEW mysqltest1.v4 AS SELECT * FROM mysqltest1.v3 WHERE a > 1 WITH LOCAL
SELECT * FROM mysqltest1.v2;
SELECT * FROM mysqltest1.v1;
-# Had to add a sleep for use with NDB
+
+
+# Had to add a waiting for use with NDB
# engine. Injector thread would have not
-# populated biblog and data would not be on
+# populated binlog and data would not be on
# the slave.
-sleep 10;
-sync_slave_with_master;
+
+CREATE TABLE mysqltest1.t10 (a INT, PRIMARY KEY(a));
+let $wait_binlog_event= CREATE TABLE mysqltest1.t10;
+-- source include/wait_for_binlog_event.inc
+--sync_slave_with_master
+
SELECT * FROM mysqltest1.v2;
SELECT * FROM mysqltest1.v1;
connection master;
@@ -82,6 +89,7 @@ DROP TABLE IF EXISTS mysqltest1.t3;
DROP TABLE IF EXISTS mysqltest1.t1;
DROP TABLE IF EXISTS mysqltest1.t2;
DROP TABLE IF EXISTS mysqltest1.t4;
+DROP TABLE IF EXISTS mysqltest1.t10;
DROP DATABASE mysqltest1;
sync_slave_with_master;
diff --git a/mysql-test/suite/rpl/t/rpl_server_id.test b/mysql-test/suite/rpl/t/rpl_server_id.test
new file mode 100644
index 00000000000..6e98ec6ee6d
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_server_id.test
@@ -0,0 +1,29 @@
+# Test for BUG#28908 Replication: set global server_id is not setting the session server_id
+
+-- source include/have_log_bin.inc
+
+let $saved_server_id=`select @@server_id`;
+set global server_id=1;
+reset master;
+
+-- disable_warnings
+drop table if exists t1,t2,t3;
+-- enable_warnings
+
+create table t1 (a int);
+select @@server_id;
+source include/show_binlog_events2.inc;
+
+set global server_id=2;
+create table t2 (b int);
+select @@server_id;
+source include/show_binlog_events2.inc;
+
+set global server_id=3;
+create table t3 (c int);
+select @@server_id;
+source include/show_binlog_events2.inc;
+
+# cleanup
+eval set global server_id=$saved_server_id;
+drop table t1,t2,t3;
diff --git a/mysql-test/suite/rpl/t/rpl_server_id1.test b/mysql-test/suite/rpl/t/rpl_server_id1.test
index 2db1f6e364d..b412f303b7e 100644
--- a/mysql-test/suite/rpl/t/rpl_server_id1.test
+++ b/mysql-test/suite/rpl/t/rpl_server_id1.test
@@ -6,21 +6,20 @@
source include/master-slave.inc;
connection slave;
-create table t1 (n int);
reset master;
+
# replicate ourselves
stop slave;
--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 ***
+
+source include/wait_for_slave_io_to_stop.inc;
+
--replace_result $SLAVE_MYPORT SLAVE_PORT
---replace_column 16 # 18 # 35 # 36 #
+--replace_column 12 # 16 # 19 # 20 # 18 # 37 # 38 #
query_vertical show slave status;
-start slave;
-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)
-sleep 2; # enough time for the event to be replicated (it should not)
-show status like "slave_running";
-drop table t1;
# End of 4.1 tests
diff --git a/mysql-test/suite/rpl/t/rpl_session_var.test b/mysql-test/suite/rpl/t/rpl_session_var.test
index 2491611e23d..50efc8930a1 100644
--- a/mysql-test/suite/rpl/t/rpl_session_var.test
+++ b/mysql-test/suite/rpl/t/rpl_session_var.test
@@ -51,8 +51,9 @@ CREATE TABLE t1 (
`data` varchar(100),
PRIMARY KEY (`id`)
) ENGINE=MyISAM;
-
+--disable_warnings
INSERT INTO t1(data) VALUES(SESSION_USER());
+--enable_warnings
save_master_pos;
connection slave;
sync_with_master;
diff --git a/mysql-test/suite/rpl/t/rpl_skip_error-slave.opt b/mysql-test/suite/rpl/t/rpl_skip_error-slave.opt
index 982362d93a5..a8f5deaa30b 100644
--- a/mysql-test/suite/rpl/t/rpl_skip_error-slave.opt
+++ b/mysql-test/suite/rpl/t/rpl_skip_error-slave.opt
@@ -1 +1 @@
---slave-skip-error=1053,1582
+--slave-skip-error=1062
diff --git a/mysql-test/suite/rpl/t/rpl_skip_error.test b/mysql-test/suite/rpl/t/rpl_skip_error.test
index b68b637b3b0..cac797d3797 100644
--- a/mysql-test/suite/rpl/t/rpl_skip_error.test
+++ b/mysql-test/suite/rpl/t/rpl_skip_error.test
@@ -1,31 +1,61 @@
-##########################################
-# 2006-02-07 By JBM: Added order by
-#########################################
-# Note that errors are ignored by opt file.
+# ==== Purpose ====
+#
+# Verify that --slave-skip-errors works correctly. The error messages
+# specified by --slave-skip-errors on slave should be ignored. If
+# such errors occur, they should not be reported and not cause the
+# slave to stop.
+#
+# ==== Method ====
+#
+# We run the slave with --slave-skip-errors=1062 (the code for
+# duplicate key). On slave, we insert value 1 in a table, and then,
+# on master, we insert value 1 in the table. The error should be
+# ignored on slave.
+#
+# ==== Related bugs ====
+#
+# BUG#28839: Errors in strict mode silently stop SQL thread if --slave-skip-errors exists
+# bug in this test: BUG#30594: rpl.rpl_skip_error is nondeterministic
+
source include/master-slave.inc;
+source include/have_binlog_format_statement.inc;
+
+--echo ==== Test Without sql_mode=strict_trans_tables ====
+
+--echo [on master]
create table t1 (n int not null primary key);
-save_master_pos;
-connection slave;
-sync_with_master;
+
+--echo [on slave]
+sync_slave_with_master;
insert into t1 values (1);
+
+--echo [on master]
connection master;
# Here we expect (ignored) error, since 1 is already in slave table
insert into t1 values (1);
-
# These should work fine
insert into t1 values (2),(3);
-save_master_pos;
-connection slave;
-sync_with_master;
-select * from t1 ORDER BY n;
+sync_slave_with_master;
+--echo [on slave]
+select * from t1 order by n;
-# Cleanup
+--echo ==== Test With sql_mode=strict_trans_tables ====
+insert into t1 values (7),(8);
+--echo [on master]
connection master;
-drop table t1;
+set sql_mode=strict_trans_tables;
+insert into t1 values (7), (8), (9);
+--echo [on slave]
sync_slave_with_master;
+select * from t1 order by n;
+source include/show_slave_status2.inc;
+--echo ==== Clean Up ====
+connection master;
+drop table t1;
+sync_slave_with_master;
# End of 4.1 tests
#
@@ -36,16 +66,17 @@ create table t1(a int primary key);
insert into t1 values (1),(2);
delete from t1 where @@server_id=1;
set sql_mode=strict_trans_tables;
-select @@server_id;
-insert into t1 values (1),(2),(3);
+insert into t1 values (7), (8), (9);
+
+--echo [on slave]
sync_slave_with_master;
-connection slave;
-select @@server_id;
select * from t1;
---replace_column 1 # 8 # 9 # 23 # 33 #
---replace_result $MASTER_MYPORT MASTER_PORT
-show slave status;
+source include/show_slave_status2.inc;
+
+
+--echo ==== Clean Up ====
+
connection master;
drop table t1;
-sync_with_master;
+sync_slave_with_master;
# End of 5.0 tests
diff --git a/mysql-test/suite/rpl/t/rpl_slave_skip-slave.opt b/mysql-test/suite/rpl/t/rpl_slave_skip-slave.opt
new file mode 100644
index 00000000000..627becdbfb5
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_slave_skip-slave.opt
@@ -0,0 +1 @@
+--innodb
diff --git a/mysql-test/suite/rpl/t/rpl_slave_skip.test b/mysql-test/suite/rpl/t/rpl_slave_skip.test
index b19d6a2730b..6783098fd7c 100644
--- a/mysql-test/suite/rpl/t/rpl_slave_skip.test
+++ b/mysql-test/suite/rpl/t/rpl_slave_skip.test
@@ -1,7 +1,9 @@
source include/master-slave.inc;
+source include/have_innodb.inc;
--echo **** On Slave ****
connection slave;
+source include/have_innodb.inc;
STOP SLAVE;
--echo **** On Master ****
@@ -69,3 +71,240 @@ query_vertical SHOW SLAVE STATUS;
connection master;
DROP TABLE t1, t2;
sync_slave_with_master;
+
+#
+# More tests for BUG#28618
+#
+# Case 1.
+# ROW binlog format and non-transactional tables.
+# Create the group of events via triggers and try to skip
+# some items of that group.
+#
+
+connection master;
+SET SESSION BINLOG_FORMAT=ROW;
+SET AUTOCOMMIT=0;
+
+CREATE TABLE t1 (a INT, b VARCHAR(20)) ENGINE=myisam;
+CREATE TABLE t2 (a INT, b VARCHAR(20)) ENGINE=myisam;
+CREATE TABLE t3 (a INT, b VARCHAR(20)) ENGINE=myisam;
+
+INSERT INTO t1 VALUES (1,'master/slave');
+INSERT INTO t2 VALUES (1,'master/slave');
+INSERT INTO t3 VALUES (1,'master/slave');
+
+DELIMITER |;
+
+CREATE TRIGGER tr1 AFTER UPDATE on t1 FOR EACH ROW
+BEGIN
+ INSERT INTO t2 VALUES (NEW.a,NEW.b);
+ DELETE FROM t2 WHERE a < NEW.a;
+END|
+
+CREATE TRIGGER tr2 AFTER INSERT on t2 FOR EACH ROW
+BEGIN
+ UPDATE t3 SET a =2, b = 'master only';
+END|
+
+DELIMITER ;|
+
+--echo **** On Slave ****
+sync_slave_with_master;
+STOP SLAVE;
+source include/wait_for_slave_to_stop.inc;
+
+--echo **** On Master ****
+connection master;
+UPDATE t1 SET a = 2, b = 'master only' WHERE a = 1;
+DROP TRIGGER tr1;
+DROP TRIGGER tr2;
+INSERT INTO t1 VALUES (3,'master/slave');
+INSERT INTO t2 VALUES (3,'master/slave');
+INSERT INTO t3 VALUES (3,'master/slave');
+
+SELECT * FROM t1 ORDER BY a;
+SELECT * FROM t2 ORDER BY a;
+SELECT * FROM t3 ORDER BY a;
+
+save_master_pos;
+
+--echo *** On Slave ***
+connection slave;
+SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
+START SLAVE;
+source include/wait_for_slave_to_start.inc;
+sync_with_master;
+
+SELECT * FROM t1 ORDER BY a;
+SELECT * FROM t2 ORDER BY a;
+SELECT * FROM t3 ORDER BY a;
+
+connection master;
+DROP TABLE t1, t2, t3;
+sync_slave_with_master;
+
+--echo **** Case 2: Row binlog format and transactional tables ****
+
+# Create the transaction and try to skip some
+# queries from one.
+
+--echo *** On Master ***
+connection master;
+CREATE TABLE t4 (a INT, b VARCHAR(20)) ENGINE=innodb;
+CREATE TABLE t5 (a INT, b VARCHAR(20)) ENGINE=innodb;
+CREATE TABLE t6 (a INT, b VARCHAR(20)) ENGINE=innodb;
+
+--echo **** On Slave ****
+sync_slave_with_master;
+STOP SLAVE;
+source include/wait_for_slave_to_stop.inc;
+
+--echo *** On Master ***
+connection master;
+BEGIN;
+INSERT INTO t4 VALUES (2, 'master only');
+INSERT INTO t5 VALUES (2, 'master only');
+INSERT INTO t6 VALUES (2, 'master only');
+COMMIT;
+
+BEGIN;
+INSERT INTO t4 VALUES (3, 'master/slave');
+INSERT INTO t5 VALUES (3, 'master/slave');
+INSERT INTO t6 VALUES (3, 'master/slave');
+COMMIT;
+
+SELECT * FROM t4 ORDER BY a;
+SELECT * FROM t5 ORDER BY a;
+SELECT * FROM t6 ORDER BY a;
+
+save_master_pos;
+
+--echo *** On Slave ***
+connection slave;
+SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
+START SLAVE;
+source include/wait_for_slave_to_start.inc;
+sync_with_master;
+
+SELECT * FROM t4 ORDER BY a;
+SELECT * FROM t5 ORDER BY a;
+SELECT * FROM t6 ORDER BY a;
+
+# Test skipping two groups
+
+--echo **** On Slave ****
+connection slave;
+STOP SLAVE;
+source include/wait_for_slave_to_stop.inc;
+
+--echo *** On Master ***
+connection master;
+BEGIN;
+INSERT INTO t4 VALUES (6, 'master only');
+INSERT INTO t5 VALUES (6, 'master only');
+INSERT INTO t6 VALUES (6, 'master only');
+COMMIT;
+
+BEGIN;
+INSERT INTO t4 VALUES (7, 'master only');
+INSERT INTO t5 VALUES (7, 'master only');
+INSERT INTO t6 VALUES (7, 'master only');
+COMMIT;
+
+SELECT * FROM t4 ORDER BY a;
+SELECT * FROM t5 ORDER BY a;
+SELECT * FROM t6 ORDER BY a;
+
+save_master_pos;
+
+--echo *** On Slave ***
+connection slave;
+SET GLOBAL SQL_SLAVE_SKIP_COUNTER=10;
+START SLAVE;
+source include/wait_for_slave_to_start.inc;
+sync_with_master;
+
+SELECT * FROM t4 ORDER BY a;
+SELECT * FROM t5 ORDER BY a;
+SELECT * FROM t6 ORDER BY a;
+
+#
+# And the same, but with autocommit = 0
+#
+connection slave;
+STOP SLAVE;
+source include/wait_for_slave_to_stop.inc;
+
+connection master;
+SET AUTOCOMMIT=0;
+
+INSERT INTO t4 VALUES (4, 'master only');
+INSERT INTO t5 VALUES (4, 'master only');
+INSERT INTO t6 VALUES (4, 'master only');
+COMMIT;
+
+INSERT INTO t4 VALUES (5, 'master/slave');
+INSERT INTO t5 VALUES (5, 'master/slave');
+INSERT INTO t6 VALUES (5, 'master/slave');
+COMMIT;
+
+SELECT * FROM t4 ORDER BY a;
+SELECT * FROM t5 ORDER BY a;
+SELECT * FROM t6 ORDER BY a;
+
+save_master_pos;
+
+--echo *** On Slave ***
+connection slave;
+SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
+START SLAVE;
+source include/wait_for_slave_to_start.inc;
+sync_with_master;
+
+SELECT * FROM t4 ORDER BY a;
+SELECT * FROM t5 ORDER BY a;
+SELECT * FROM t6 ORDER BY a;
+
+connection master;
+DROP TABLE t4, t5, t6;
+sync_slave_with_master;
+
+--echo **** Case 3: Statement logging format and LOAD DATA with non-transactional table ****
+
+# LOAD DATA creates two events in binary log for statement binlog format.
+# Try to skip the first.
+
+--echo *** On Master ***
+connection master;
+CREATE TABLE t10 (a INT, b VARCHAR(20)) ENGINE=myisam;
+
+--echo *** On Slave ***
+sync_slave_with_master;
+STOP SLAVE;
+source include/wait_for_slave_to_stop.inc;
+
+--echo *** On Master ***
+connection master;
+SET SESSION BINLOG_FORMAT=STATEMENT;
+exec cp ./suite/rpl/data/rpl_bug28618.dat $MYSQLTEST_VARDIR/tmp/;
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+eval LOAD DATA INFILE '$MYSQLTEST_VARDIR/tmp/rpl_bug28618.dat' INTO TABLE t10 FIELDS TERMINATED BY '|';
+remove_file $MYSQLTEST_VARDIR/tmp/rpl_bug28618.dat;
+
+SELECT * FROM t10 ORDER BY a;
+
+save_master_pos;
+
+--echo *** On Slave ***
+connection slave;
+SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
+START SLAVE;
+source include/wait_for_slave_to_start.inc;
+sync_with_master;
+
+SELECT * FROM t10 ORDER BY a;
+
+connection master;
+DROP TABLE t10;
+sync_slave_with_master;
+
diff --git a/mysql-test/suite/rpl/t/rpl_slave_status.test b/mysql-test/suite/rpl/t/rpl_slave_status.test
index d07cf13dcf4..0b1644ab8a0 100644
--- a/mysql-test/suite/rpl/t/rpl_slave_status.test
+++ b/mysql-test/suite/rpl/t/rpl_slave_status.test
@@ -50,9 +50,10 @@ show slave status;
connection slave;
drop table t1;
delete from mysql.user where user='rpl';
+# cleanup: slave io thread has been stopped "irrecoverably"
+# so we clean up mess manually
+
connection master;
drop table t1;
-# end of test case for BUG#10780
-
# end of 4.1 tests
diff --git a/mysql-test/suite/rpl/t/rpl_sp.test b/mysql-test/suite/rpl/t/rpl_sp.test
index f363b64558a..87503dbf9a3 100644
--- a/mysql-test/suite/rpl/t/rpl_sp.test
+++ b/mysql-test/suite/rpl/t/rpl_sp.test
@@ -561,7 +561,6 @@ set @a:= mysqltest2.f1();
sync_slave_with_master;
connection master;
-
# Final inspection which verifies how all statements of this test file
# were written to the binary log.
--replace_column 2 # 5 #
@@ -579,7 +578,7 @@ set global log_bin_trust_function_creators=0;
# Clean up
drop database mysqltest;
drop database mysqltest2;
+sync_slave_with_master;
--echo End of 5.0 tests
--echo End of 5.1 tests
-
diff --git a/mysql-test/suite/rpl/t/rpl_sp_effects.test b/mysql-test/suite/rpl/t/rpl_sp_effects.test
index 027bfd69f36..c1092e3260f 100644
--- a/mysql-test/suite/rpl/t/rpl_sp_effects.test
+++ b/mysql-test/suite/rpl/t/rpl_sp_effects.test
@@ -201,6 +201,10 @@ sync_slave_with_master;
connection slave;
SELECT 'slave', a FROM t1 ORDER BY a;
+#
+# cleanup
+#
+
connection master;
drop table t1;
drop function f1;
@@ -208,4 +212,50 @@ drop function f2;
drop procedure p1;
sync_slave_with_master;
+#
+# bug#26199 Replication Failure on Slave when using stored procs
+# with bit-type parameters
+
+connection master;
+
+create table t2 (b BIT(7));
+delimiter //;
+create procedure sp_bug26199(bitvalue BIT(7))
+begin
+ insert into t2 set b = bitvalue;
+end //
+
+create function sf_bug26199(b BIT(7)) returns int
+begin
+ insert into t2 values(b);
+ return 0;
+end//
+
+DELIMITER ;//
+
+
+
+call sp_bug26199(b'1110');
+call sp_bug26199('\0');
+select sf_bug26199(b'1111111');
+select sf_bug26199(b'101111111');
+select sf_bug26199('\'');
+select hex(b) from t2;
+
+sync_slave_with_master;
+#connection slave;
+select hex(b) from t2;
+
+#
+# cleanup bug#26199
+#
+connection master;
+drop table t2;
+drop procedure sp_bug26199;
+drop function sf_bug26199;
+
+sync_slave_with_master;
+
SET GLOBAL log_bin_trust_function_creators = 0;
+
+--echo end of the tests
diff --git a/mysql-test/suite/rpl/t/rpl_ssl.test b/mysql-test/suite/rpl/t/rpl_ssl.test
index 4bc07ee0622..7e256390e25 100644
--- a/mysql-test/suite/rpl/t/rpl_ssl.test
+++ b/mysql-test/suite/rpl/t/rpl_ssl.test
@@ -41,28 +41,58 @@ select * from t1;
# Do the same thing a number of times
disable_query_log;
+disable_result_log;
+# 2007-11-27 mats Bug #32756 Starting and stopping the slave in a loop can lose rows
+# After discussions with Engineering, I'm disabling this part of the test to avoid it causing
+# red trees.
+disable_parsing;
let $i= 100;
while ($i)
{
start slave;
connection master;
insert into t1 values (NULL);
+ select * from t1; # Some variance
connection slave;
+ select * from t1; # Some variance
stop slave;
dec $i;
}
-start slave;
+enable_parsing;
+START SLAVE;
enable_query_log;
+enable_result_log;
connection master;
# INSERT one more record to make sure
# the sync has something to do
insert into t1 values (NULL);
+let $master_count= `select count(*) from t1`;
+
sync_slave_with_master;
--source include/wait_for_slave_to_start.inc
--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR $MASTER_MYPORT MASTER_MYPORT
--replace_column 1 # 7 # 8 # 9 # 22 # 23 # 33 # 35 # 36 #
query_vertical show slave status;
+let $slave_count= `select count(*) from t1`;
+
+if (`select $slave_count != $master_count`)
+{
+ echo master and slave differed in number of rows;
+ echo master: $master_count;
+ echo slave: $slave_count;
+
+ connection master;
+ echo === master ===;
+ select count(*) t1;
+ select * from t1;
+ connection slave;
+ echo === slave ===;
+ select count(*) t1;
+ select * from t1;
+ query_vertical show slave status;
+}
+
connection master;
drop user replssl@localhost;
drop table t1;
diff --git a/mysql-test/suite/rpl/t/rpl_ssl1.test b/mysql-test/suite/rpl/t/rpl_ssl1.test
index b660c3991dd..b5355d737d5 100644
--- a/mysql-test/suite/rpl/t/rpl_ssl1.test
+++ b/mysql-test/suite/rpl/t/rpl_ssl1.test
@@ -24,7 +24,8 @@ start slave;
connection master;
insert into t1 values (1);
#reasonable timeout for changes to propagate to slave
-sleep 3;
+let $wait_condition= SELECT COUNT(*) = 1 FROM t1;
+source include/wait_condition.inc;
connection slave;
select * from t1;
diff --git a/mysql-test/suite/rpl/t/rpl_start_stop_slave.test b/mysql-test/suite/rpl/t/rpl_start_stop_slave.test
index 19988cf902a..93c613f4cf4 100644
--- a/mysql-test/suite/rpl/t/rpl_start_stop_slave.test
+++ b/mysql-test/suite/rpl/t/rpl_start_stop_slave.test
@@ -3,12 +3,12 @@ source include/master-slave.inc;
#
# Bug#6148 ()
#
-connection slave;
-stop slave;
-
# Let the master do lots of insertions
connection master;
create table t1(n int);
+sync_slave_with_master;
+stop slave;
+connection master;
let $1=5000;
disable_query_log;
while ($1)
@@ -21,7 +21,8 @@ save_master_pos;
connection slave;
start slave;
-sleep 1;
+let $wait_condition= SELECT COUNT(*) > 0 FROM t1;
+source include/wait_condition.inc;
stop slave io_thread;
start slave io_thread;
sync_with_master;
diff --git a/mysql-test/suite/rpl/t/rpl_stm_charset.test b/mysql-test/suite/rpl/t/rpl_stm_charset.test
deleted file mode 100644
index b103a47d78c..00000000000
--- a/mysql-test/suite/rpl/t/rpl_stm_charset.test
+++ /dev/null
@@ -1,2 +0,0 @@
-let $engine_type=myisam;
--- source extra/rpl_tests/rpl_stm_charset.test
diff --git a/mysql-test/suite/rpl/t/rpl_stm_mystery22.test b/mysql-test/suite/rpl/t/rpl_stm_mystery22.test
index 017593fdfba..b43a734fffc 100644
--- a/mysql-test/suite/rpl/t/rpl_stm_mystery22.test
+++ b/mysql-test/suite/rpl/t/rpl_stm_mystery22.test
@@ -28,7 +28,7 @@ insert into t1 values(NULL,'new');
save_master_pos;
connection slave;
# wait until the slave tries to run the query, fails and aborts slave thread
-wait_for_slave_to_stop;
+source include/wait_for_slave_sql_error.inc;
select * from t1 order by n;
delete from t1 where n = 2;
--disable_warnings
diff --git a/mysql-test/suite/rpl/t/rpl_stm_until.test b/mysql-test/suite/rpl/t/rpl_stm_until.test
index 98e7e0e5eac..2793e8833fd 100644
--- a/mysql-test/suite/rpl/t/rpl_stm_until.test
+++ b/mysql-test/suite/rpl/t/rpl_stm_until.test
@@ -12,6 +12,8 @@ save_master_pos;
connection slave;
sync_with_master;
stop slave;
+# Make sure the slave sql and io thread has stopped
+--source include/wait_for_slave_to_stop.inc
connection master;
# create some events on master
@@ -29,20 +31,20 @@ start slave until master_log_file='master-bin.000001', master_log_pos=323;
--source include/wait_for_slave_sql_to_stop.inc
# here table should be still not deleted
select * from t1;
-source include/show_slave_status.inc;
+source include/show_slave_status2.inc;
# this should fail right after start
start slave until master_log_file='master-no-such-bin.000001', master_log_pos=291;
--source include/wait_for_slave_sql_to_stop.inc
# again this table should be still not deleted
select * from t1;
-source include/show_slave_status.inc;
+source include/show_slave_status2.inc;
# try replicate all up to and not including the second insert to t2;
start slave until relay_log_file='slave-relay-bin.000004', relay_log_pos=746;
--source include/wait_for_slave_sql_to_stop.inc
select * from t2;
-source include/show_slave_status.inc;
+source include/show_slave_status2.inc;
# clean up
start slave;
@@ -51,13 +53,15 @@ save_master_pos;
connection slave;
sync_with_master;
stop slave;
+# Make sure the slave sql and io thread has stopped
+--source include/wait_for_slave_to_stop.inc
# this should stop immediately as we are already there
start slave until master_log_file='master-bin.000001', master_log_pos=776;
--source include/wait_for_slave_sql_to_stop.inc
# here the sql slave thread should be stopped
--replace_result bin.000005 bin.000004 bin.000006 bin.000004 bin.000007 bin.000004
-source include/show_slave_status.inc;
+source include/show_slave_status2.inc;
#testing various error conditions
--error 1277
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 b0012827db8..adda4f67694 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
@@ -293,7 +293,8 @@ insert delayed into t2 values(rand());
set @a=2.345;
insert delayed into t2 values(@a);
-sleep 4; # time for the delayed inserts to reach disk
+let $wait_condition= SELECT COUNT(*) = 19 FROM t2;
+--source include/wait_condition.inc
# If you want to do manual testing of the mixed mode regarding UDFs (not
# testable automatically as quite platform- and compiler-dependent),
@@ -518,6 +519,42 @@ CREATE TABLE t12 (data LONG);
LOCK TABLES t12 WRITE;
INSERT INTO t12 VALUES(UUID());
UNLOCK TABLES;
+sync_slave_with_master;
+
+#
+# BUG#28086: SBR of USER() becomes corrupted on slave
+#
+
+connection master;
+
+# Just to get something that is non-trivial, albeit still simple, we
+# stuff the result of USER() and CURRENT_USER() into a variable.
+--delimiter $$
+CREATE FUNCTION my_user()
+ RETURNS CHAR(64)
+BEGIN
+ DECLARE user CHAR(64);
+ SELECT USER() INTO user;
+ RETURN user;
+END $$
+--delimiter ;
+
+--delimiter $$
+CREATE FUNCTION my_current_user()
+ RETURNS CHAR(64)
+BEGIN
+ DECLARE user CHAR(64);
+ SELECT CURRENT_USER() INTO user;
+ RETURN user;
+END $$
+--delimiter ;
+
+DROP TABLE IF EXISTS t13;
+CREATE TABLE t13 (data CHAR(64));
+INSERT INTO t13 VALUES (USER());
+INSERT INTO t13 VALUES (my_user());
+INSERT INTO t13 VALUES (CURRENT_USER());
+INSERT INTO t13 VALUES (my_current_user());
source include/show_binlog_events.inc;
sync_slave_with_master;
diff --git a/mysql-test/suite/rpl/t/rpl_temporary.test b/mysql-test/suite/rpl/t/rpl_temporary.test
index 09b8b83f25f..44f901bdae7 100644
--- a/mysql-test/suite/rpl/t/rpl_temporary.test
+++ b/mysql-test/suite/rpl/t/rpl_temporary.test
@@ -60,23 +60,24 @@ insert into t1 values (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
connection con1;
create temporary table t3(f int);
insert into t3 select * from t1 where f<6;
-sleep 1;
+let $wait_condition= SELECT COUNT(*) = 5 FROM t3;
+--source include/wait_condition.inc
connection con2;
create temporary table t3(f int);
-sleep 1;
connection con1;
insert into t2 select count(*) from t3;
-sleep 1;
+let $wait_condition= SELECT COUNT(*) = 1 FROM t2;
+--source include/wait_condition.inc
connection con2;
insert into t3 select * from t1 where f>=4;
-sleep 1;
+let $wait_condition= SELECT COUNT(*) = 7 FROM t3;
+--source include/wait_condition.inc
connection con1;
drop temporary table t3;
-sleep 1;
connection con2;
insert into t2 select count(*) from t3;
@@ -131,7 +132,7 @@ drop table t1,t2;
# don't get any memory leaks for this
create temporary table t3 (f int);
-sync_with_master;
+sync_slave_with_master;
# The server will now close done
@@ -142,7 +143,8 @@ sync_with_master;
connection master;
create temporary table t4 (f int);
create table t5 (f int);
-sync_with_master;
+sync_slave_with_master;
+connection master;
# 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
@@ -208,8 +210,9 @@ select * from t1;
connection master;
drop table t1;
+--remove_file $MYSQLTEST_VARDIR/tmp/bug14157.sql
# Delete the anonymous users
source include/delete_anonymous_users.inc;
-# End of 5.1 tests
+# End of tests
diff --git a/mysql-test/suite/rpl/t/rpl_temporary_errors-slave.opt b/mysql-test/suite/rpl/t/rpl_temporary_errors-slave.opt
new file mode 100644
index 00000000000..80c171170f6
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_temporary_errors-slave.opt
@@ -0,0 +1,3 @@
+--loose-debug="+d,all_errors_are_temporary_errors" --slave-transaction-retries=2
+
+
diff --git a/mysql-test/suite/rpl/t/rpl_temporary_errors.test b/mysql-test/suite/rpl/t/rpl_temporary_errors.test
new file mode 100644
index 00000000000..f38ed29f7d4
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_temporary_errors.test
@@ -0,0 +1,31 @@
+source include/master-slave.inc;
+
+--echo **** On Master ****
+connection master;
+SET SESSION BINLOG_FORMAT=ROW;
+CREATE TABLE t1 (a INT PRIMARY KEY, b INT);
+INSERT INTO t1 VALUES (1,1), (2,2), (3,3), (4,4);
+--echo **** On Slave ****
+sync_slave_with_master;
+SHOW STATUS LIKE 'Slave_retried_transactions';
+# since bug#31552/31609 idempotency is not default any longer. In order
+# the following UPDATE t1 to pass the mode is switched temprorarily
+set @@global.slave_exec_mode= 'IDEMPOTENT';
+UPDATE t1 SET a = 5, b = 47 WHERE a = 1;
+SELECT * FROM t1;
+--echo **** On Master ****
+connection master;
+UPDATE t1 SET a = 5, b = 5 WHERE a = 1;
+SELECT * FROM t1;
+#SHOW BINLOG EVENTS;
+--echo **** On Slave ****
+sync_slave_with_master;
+set @@global.slave_exec_mode= default;
+SHOW STATUS LIKE 'Slave_retried_transactions';
+SELECT * FROM t1;
+source include/show_slave_status2.inc;
+DROP TABLE t1;
+
+--echo **** On Master ****
+connection master;
+DROP TABLE t1;
diff --git a/mysql-test/suite/rpl/t/rpl_timezone.test b/mysql-test/suite/rpl/t/rpl_timezone.test
index 4b8c8152c82..dac21000a62 100644
--- a/mysql-test/suite/rpl/t/rpl_timezone.test
+++ b/mysql-test/suite/rpl/t/rpl_timezone.test
@@ -140,3 +140,30 @@ sync_slave_with_master;
# Restore original timezone
connection master;
set global time_zone= @my_time_zone;
+
+--echo End of 4.1 tests
+
+#
+# Bug #29536: timestamp inconsistent in replication around 1970
+#
+connection master;
+
+CREATE TABLE t1 (a INT, b TIMESTAMP);
+INSERT INTO t1 VALUES (1, NOW());
+
+SET @@session.time_zone='Japan';
+UPDATE t1 SET b= '1970-01-01 08:59:59' WHERE a= 1;
+SELECT * FROM t1 ORDER BY a;
+
+sync_slave_with_master;
+SET @@session.time_zone='Japan';
+# must procdure the same result as the SELECT on the master
+SELECT * FROM t1 ORDER BY a;
+
+SET @@session.time_zone = default;
+connection master;
+DROP TABLE t1;
+SET @@session.time_zone = default;
+
+
+--echo End of 5.0 tests
diff --git a/mysql-test/suite/rpl/t/rpl_trigger.test b/mysql-test/suite/rpl/t/rpl_trigger.test
index 9f5f6fc9b4c..911110d17dc 100644
--- a/mysql-test/suite/rpl/t/rpl_trigger.test
+++ b/mysql-test/suite/rpl/t/rpl_trigger.test
@@ -101,10 +101,12 @@ let $time=`select a from t1`;
# - dump definers on the slave;
SELECT routine_name, definer
-FROM information_schema.routines;
+FROM information_schema.routines
+WHERE routine_name = 'bug12480';
SELECT trigger_name, definer
-FROM information_schema.triggers;
+FROM information_schema.triggers
+WHERE trigger_name = 't1_first';
save_master_pos;
connection slave;
@@ -119,10 +121,12 @@ select "--- On slave --" as "";
# item.
SELECT routine_name, definer
-FROM information_schema.routines;
+FROM information_schema.routines
+WHERE routine_name = 'bug12480';
SELECT trigger_name, definer
-FROM information_schema.triggers;
+FROM information_schema.triggers
+WHERE trigger_name = 't1_first';
select a=b && a=c from t1;
--disable_query_log
@@ -316,8 +320,13 @@ SELECT * FROM t2;
# 2. Check that the trigger is non-SUID on the slave;
# 3. Check that the trigger can be activated on the slave.
+#
+# We disable warnings here since it affects the result file in
+# different ways depending on the mode being used.
+disable_warnings;
INSERT INTO t1 VALUES(2);
+enable_warnings;
SELECT * FROM t1;
SELECT * FROM t2;
diff --git a/mysql-test/suite/rpl/t/rpl_trunc_temp.test b/mysql-test/suite/rpl/t/rpl_trunc_temp.test
index 28bcb0c06c3..93308e3eb3f 100644
--- a/mysql-test/suite/rpl/t/rpl_trunc_temp.test
+++ b/mysql-test/suite/rpl/t/rpl_trunc_temp.test
@@ -27,7 +27,12 @@ show status like 'Slave_open_temp_tables';
# Disconnect the master, temp table on slave should dissapear
disconnect master;
---real_sleep 3 # time for DROP to be read by slave
+
+connection master1;
+# Wait until drop of temp tables appers in binlog
+let $wait_binlog_event= DROP;
+source include/wait_for_binlog_event.inc;
+
connection slave;
show status like 'Slave_open_temp_tables';
diff --git a/mysql-test/suite/rpl/t/rpl_user.test b/mysql-test/suite/rpl/t/rpl_user.test
new file mode 100644
index 00000000000..b8fe41d03c4
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_user.test
@@ -0,0 +1,61 @@
+# BUG#33862 completely failed DROP USER statement gets replicated
+
+--source include/master-slave.inc
+
+#
+# remove all users will be used in the test
+#
+connection master;
+set session sql_log_bin=0;
+delete from mysql.user where Host='fakehost';
+set session sql_log_bin=1;
+
+connection slave;
+set session sql_log_bin=0;
+delete from mysql.user where Host='fakehost';
+set session sql_log_bin=1;
+
+#
+# Test create user
+#
+connection master;
+create user 'foo'@'fakehost';
+--error ER_CANNOT_USER
+create user 'foo'@'fakehost', 'bar'@'fakehost';
+--error ER_CANNOT_USER
+create user 'foo'@'fakehost', 'bar'@'fakehost';
+
+sync_slave_with_master;
+select Host,User from mysql.user where Host='fakehost';
+
+#
+# Test rename user
+#
+connection master;
+rename user 'foo'@'fakehost' to 'foofoo'@'fakehost';
+--error ER_CANNOT_USER
+rename user 'not_exist_user1'@'fakehost' to 'foobar'@'fakehost', 'bar'@'fakehost' to 'barbar'@'fakehost';
+--error ER_CANNOT_USER
+rename user 'not_exist_user1'@'fakehost' to 'foobar'@'fakehost', 'not_exist_user2'@'fakehost' to 'barfoo'@'fakehost';
+
+sync_slave_with_master;
+select Host,User from mysql.user where Host='fakehost';
+
+#
+# Test drop user
+#
+connection master;
+drop user 'foofoo'@'fakehost';
+--error ER_CANNOT_USER
+drop user 'not_exist_user1'@'fakehost', 'barbar'@'fakehost';
+--error ER_CANNOT_USER
+drop user 'not_exist_user1'@'fakehost', 'not_exist_user2'@'fakehost';
+
+sync_slave_with_master;
+select Host,User from mysql.user where Host='fakehost';
+
+#
+# show the binlog events on the master
+#
+connection master;
+source include/show_binlog_events.inc;
diff --git a/mysql-test/suite/rpl/t/rpl_user_variables.test b/mysql-test/suite/rpl/t/rpl_user_variables.test
index 539f9c88e0d..8d570f28f64 100644
--- a/mysql-test/suite/rpl/t/rpl_user_variables.test
+++ b/mysql-test/suite/rpl/t/rpl_user_variables.test
@@ -306,6 +306,25 @@ select * from t1;
connection master;
drop table t1;
+#
+# Bug#33851: Passing UNSIGNED param to EXECUTE returns ERROR 1210
+#
+
+connection master;
+create table t1(a int);
+insert into t1 values (1),(2);
+prepare s1 from 'insert into t1 select a from t1 limit ?';
+set @x='1.1';
+--disable_warnings
+execute s1 using @x;
+--enable_warnings
+select * from t1;
+sync_slave_with_master;
+connection slave;
+select * from t1;
+connection master;
+drop table t1;
+
--echo End of 5.0 tests.
# This test uses a stored function that uses user-defined variables to return data
diff --git a/mysql-test/suite/rpl/t/rpl_variables-master.opt b/mysql-test/suite/rpl/t/rpl_variables-master.opt
deleted file mode 100644
index a668c6bfbe8..00000000000
--- a/mysql-test/suite/rpl/t/rpl_variables-master.opt
+++ /dev/null
@@ -1 +0,0 @@
---slave-skip-errors=3,100,137,643,1752
diff --git a/mysql-test/suite/rpl/t/rpl_variables.test b/mysql-test/suite/rpl/t/rpl_variables.test
index 84dc3acfe6e..3669e14c5df 100644
--- a/mysql-test/suite/rpl/t/rpl_variables.test
+++ b/mysql-test/suite/rpl/t/rpl_variables.test
@@ -1,20 +1,739 @@
+# ==== Purpose ====
+#
+# Test that queries referencing variables are replicated correctly in
+# mixed and row-based logging mode.
+#
+#
+# ==== Method ====
+#
+# The test simply does a lot of "INSERT INTO t1 VALUES (@@variable)"
+# and checks the result on the slave.
+#
+# Statements referencing a variable only replicate correctly in mixed
+# and row mode: in row mode, the values inserted are replicated. In
+# mixed mode, statements referencing a variable are marked as unsafe,
+# meaning they will be replicated by row. In statement mode, the
+# slave's value will be used and replication will break. (Except in a
+# small number of special cases: random seeds, insert_id, and
+# auto_increment are replicated).
+#
+# We test the following variable scopes:
+# - server system variables
+# - server session variables
+# - server "both" variables
+# - user variables
+#
+# For each scope, we use variables of the following types if they
+# exist:
+# - boolean
+# - numeric
+# - string
+# - enumeration variables
+#
+# We use these types of variables in the following contexts:
+# - directly
+# - from a stored procedure
+# - from a stored function
+# - from a trigger
+# - from a prepared statement
+#
+# For all variables where it is possible, we set the variable to one
+# value on slave, and insert it on the master with two distinct
+# values.
+#
+# The same insertions are made in four different tables using direct
+# insert, stored procedure, stored function, or trigger. Then all
+# eight resulting tables on master and slave are compared.
+#
+#
+# ==== Related bugs ====
+#
+# BUG#31168: @@hostname does not replicate
+#
+#
+# ==== Related test cases ====
+#
+# binlog.binlog_unsafe tests that a warning is issued if system
+# variables are replicated in statement mode.
+#
+# rpl.rpl_variables_stm tests the small subset of variables that
+# actually can be replicated safely in statement mode.
+
+
source include/master-slave.inc;
+source include/have_binlog_format_mixed_or_row.inc;
+
+
+--echo ==== Initialization ====
+
+# Backup the values of global variables so that they can be restored
+# later.
+--echo [on master]
+connection master;
+SET @m_default_week_format= @@global.default_week_format;
+SET @m_init_slave= @@global.init_slave;
+SET @m_lc_time_names= @@global.lc_time_names;
+SET @m_low_priority_updates= @@global.low_priority_updates;
+SET @m_relay_log_purge= @@global.relay_log_purge;
+SET @m_slave_exec_mode= @@global.slave_exec_mode;
+SET @m_sql_mode= @@global.sql_mode;
+SET @m_sync_binlog= @@global.sync_binlog;
+
+--echo [on slave]
+connection slave;
+SET @s_default_week_format= @@global.default_week_format;
+SET @s_init_slave= @@global.init_slave;
+SET @s_lc_time_names= @@global.lc_time_names;
+SET @s_low_priority_updates= @@global.low_priority_updates;
+SET @s_relay_log_purge= @@global.relay_log_purge;
+SET @s_slave_exec_mode= @@global.slave_exec_mode;
+SET @s_sql_mode= @@global.sql_mode;
+SET @s_sync_binlog= @@global.sync_binlog;
+
+# Set global variables on slave to something different than on master.
+SET @@global.relay_log_purge = OFF;
+SET @@global.sync_binlog = 1000000;
+SET @@global.slave_exec_mode = 'STRICT';
+SET @@sql_big_selects = OFF;
+SET @@last_insert_id = 10;
+SET @@global.low_priority_updates = OFF;
+SET @@local.low_priority_updates = OFF;
+SET @@global.default_week_format = 1;
+SET @@local.default_week_format = 2;
+SET @@global.lc_time_names = 'zh_HK';
+SET @@local.lc_time_names = 'zh_TW';
+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';
+
+# 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;
+
+# 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 = 'ant';
+
+
+--echo [on master]
+connection master;
+
+# Tables where everything happens.
+CREATE TABLE tstmt (id INT AUTO_INCREMENT PRIMARY KEY,
+ truth BOOLEAN,
+ num INT,
+ text VARCHAR(100));
+CREATE TABLE tproc LIKE tstmt;
+CREATE TABLE tfunc LIKE tstmt;
+CREATE TABLE ttrig LIKE tstmt;
+CREATE TABLE tprep LIKE tstmt;
+
+# Table on which we put a trigger.
+CREATE TABLE trigger_table (text CHAR(4));
+
+
+--echo ==== Insert variables directly ====
+
+--echo ---- global variables ----
+
+# boolean
+SET @@global.relay_log_purge = ON;
+INSERT INTO tstmt(truth) VALUES (@@global.relay_log_purge);
+SET @@global.relay_log_purge = OFF;
+INSERT INTO tstmt(truth) VALUES (@@global.relay_log_purge);
+
+# numeric
+SET @@global.sync_binlog = 2000000;
+INSERT INTO tstmt(num) VALUES (@@global.sync_binlog);
+SET @@global.sync_binlog = 3000000;
+INSERT INTO tstmt(num) VALUES (@@global.sync_binlog);
+
+# string
+SET @@global.init_slave = 'bison';
+INSERT INTO tstmt(text) VALUES (@@global.init_slave);
+SET @@global.init_slave = 'cat';
+INSERT INTO tstmt(text) VALUES (@@global.init_slave);
+
+# enumeration
+SET @@global.slave_exec_mode = 'IDEMPOTENT';
+INSERT INTO tstmt(text) VALUES (@@global.slave_exec_mode);
+SET @@global.slave_exec_mode = 'STRICT';
+INSERT INTO tstmt(text) VALUES (@@global.slave_exec_mode);
+
+
+--echo ---- session variables ----
+
+# boolean
+SET @@sql_big_selects = ON;
+INSERT INTO tstmt(truth) VALUES (@@sql_big_selects);
+SET @@sql_big_selects = OFF;
+INSERT INTO tstmt(truth) VALUES (@@sql_big_selects);
+
+# numeric
+SET @@last_insert_id = 20;
+INSERT INTO tstmt(num) VALUES (@@last_insert_id);
+SET @@last_insert_id = 30;
+INSERT INTO tstmt(num) VALUES (@@last_insert_id);
+
+--echo ---- global and session variables ----
+
+# boolean
+SET @@global.low_priority_updates = ON;
+SET @@local.low_priority_updates = OFF;
+INSERT INTO tstmt(truth) VALUES (@@global.low_priority_updates);
+INSERT INTO tstmt(truth) VALUES (@@local.low_priority_updates);
+SET @@global.low_priority_updates = OFF;
+SET @@local.low_priority_updates = ON;
+INSERT INTO tstmt(truth) VALUES (@@global.low_priority_updates);
+INSERT INTO tstmt(truth) VALUES (@@local.low_priority_updates);
+
+# numeric
+SET @@global.default_week_format = 3;
+SET @@local.default_week_format = 4;
+INSERT INTO tstmt(num) VALUES (@@global.default_week_format);
+INSERT INTO tstmt(num) VALUES (@@local.default_week_format);
+SET @@global.default_week_format = 5;
+SET @@local.default_week_format = 6;
+INSERT INTO tstmt(num) VALUES (@@global.default_week_format);
+INSERT INTO tstmt(num) VALUES (@@local.default_week_format);
+
+# string
+SET @@global.lc_time_names = 'sv_SE';
+SET @@local.lc_time_names = 'sv_FI';
+INSERT INTO tstmt(text) VALUES (@@global.lc_time_names);
+INSERT INTO tstmt(text) VALUES (@@local.lc_time_names);
+SET @@global.lc_time_names = 'ar_TN';
+SET @@local.lc_time_names = 'ar_IQ';
+INSERT INTO tstmt(text) VALUES (@@global.lc_time_names);
+INSERT INTO tstmt(text) VALUES (@@local.lc_time_names);
+
+# enum
+SET @@global.sql_mode = '';
+SET @@local.sql_mode = 'IGNORE_SPACE,NO_AUTO_CREATE_USER';
+INSERT INTO tstmt(text) VALUES (@@global.sql_mode);
+INSERT INTO tstmt(text) VALUES (@@local.sql_mode);
+SET @@global.sql_mode = 'NO_AUTO_VALUE_ON_ZERO,NO_BACKSLASH_ESCAPES,NO_DIR_IN_CREATE,NO_ENGINE_SUBSTITUTION';
+SET @@local.sql_mode = 'NO_FIELD_OPTIONS,NO_KEY_OPTIONS,NO_TABLE_OPTIONS';
+INSERT INTO tstmt(text) VALUES (@@global.sql_mode);
+INSERT INTO tstmt(text) VALUES (@@local.sql_mode);
+
+--echo ---- user variables ----
+
+# numeric
+SET @user_num = 20;
+INSERT INTO tstmt(num) VALUES (@user_num);
+SET @user_num = 30;
+INSERT INTO tstmt(num) VALUES (@user_num);
+
+# string
+SET @user_text = 'Bergsbrunna';
+INSERT INTO tstmt(text) VALUES (@user_text);
+SET @user_text = 'Centrum';
+INSERT INTO tstmt(text) VALUES (@user_text);
+
+
+--echo ==== Insert variables from a stored procedure ====
+
+DELIMITER |;
+CREATE PROCEDURE proc()
+BEGIN
+
+ # GLOBAL
+
+ # boolean
+ SET @@global.relay_log_purge = ON;
+ INSERT INTO tproc(truth) VALUES (@@global.relay_log_purge);
+ SET @@global.relay_log_purge = OFF;
+ INSERT INTO tproc(truth) VALUES (@@global.relay_log_purge);
+
+ # numeric
+ SET @@global.sync_binlog = 2000000;
+ INSERT INTO tproc(num) VALUES (@@global.sync_binlog);
+ SET @@global.sync_binlog = 3000000;
+ INSERT INTO tproc(num) VALUES (@@global.sync_binlog);
+
+ # string
+ SET @@global.init_slave = 'bison';
+ INSERT INTO tproc(text) VALUES (@@global.init_slave);
+ SET @@global.init_slave = 'cat';
+ INSERT INTO tproc(text) VALUES (@@global.init_slave);
+
+ # enumeration
+ SET @@global.slave_exec_mode = 'IDEMPOTENT';
+ INSERT INTO tproc(text) VALUES (@@global.slave_exec_mode);
+ SET @@global.slave_exec_mode = 'STRICT';
+ INSERT INTO tproc(text) VALUES (@@global.slave_exec_mode);
+
+ # SESSION
+
+ # boolean
+ SET @@sql_big_selects = ON;
+ INSERT INTO tproc(truth) VALUES (@@sql_big_selects);
+ SET @@sql_big_selects = OFF;
+ INSERT INTO tproc(truth) VALUES (@@sql_big_selects);
+
+ # numeric
+ SET @@last_insert_id = 20;
+ INSERT INTO tproc(num) VALUES (@@last_insert_id);
+ SET @@last_insert_id = 30;
+ INSERT INTO tproc(num) VALUES (@@last_insert_id);
+
+ # BOTH
+
+ # boolean
+ SET @@global.low_priority_updates = ON;
+ SET @@local.low_priority_updates = OFF;
+ INSERT INTO tproc(truth) VALUES (@@global.low_priority_updates);
+ INSERT INTO tproc(truth) VALUES (@@local.low_priority_updates);
+ SET @@global.low_priority_updates = OFF;
+ SET @@local.low_priority_updates = ON;
+ INSERT INTO tproc(truth) VALUES (@@global.low_priority_updates);
+ INSERT INTO tproc(truth) VALUES (@@local.low_priority_updates);
+
+ # numeric
+ SET @@global.default_week_format = 3;
+ SET @@local.default_week_format = 4;
+ INSERT INTO tproc(num) VALUES (@@global.default_week_format);
+ INSERT INTO tproc(num) VALUES (@@local.default_week_format);
+ SET @@global.default_week_format = 5;
+ SET @@local.default_week_format = 6;
+ INSERT INTO tproc(num) VALUES (@@global.default_week_format);
+ INSERT INTO tproc(num) VALUES (@@local.default_week_format);
+
+ # text
+ SET @@global.lc_time_names = 'sv_SE';
+ SET @@local.lc_time_names = 'sv_FI';
+ INSERT INTO tproc(text) VALUES (@@global.lc_time_names);
+ INSERT INTO tproc(text) VALUES (@@local.lc_time_names);
+ SET @@global.lc_time_names = 'ar_TN';
+ SET @@local.lc_time_names = 'ar_IQ';
+ INSERT INTO tproc(text) VALUES (@@global.lc_time_names);
+ INSERT INTO tproc(text) VALUES (@@local.lc_time_names);
+
+ # enum
+ SET @@global.sql_mode = '';
+ SET @@local.sql_mode = 'IGNORE_SPACE,NO_AUTO_CREATE_USER';
+ INSERT INTO tproc(text) VALUES (@@global.sql_mode);
+ INSERT INTO tproc(text) VALUES (@@local.sql_mode);
+ SET @@global.sql_mode = 'NO_AUTO_VALUE_ON_ZERO,NO_BACKSLASH_ESCAPES,NO_DIR_IN_CREATE,NO_ENGINE_SUBSTITUTION';
+ SET @@local.sql_mode = 'NO_FIELD_OPTIONS,NO_KEY_OPTIONS,NO_TABLE_OPTIONS';
+ INSERT INTO tproc(text) VALUES (@@global.sql_mode);
+ INSERT INTO tproc(text) VALUES (@@local.sql_mode);
+
+ # USER
+
+ # numeric
+ SET @user_num = 20;
+ INSERT INTO tproc(num) VALUES (@user_num);
+ SET @user_num = 30;
+ INSERT INTO tproc(num) VALUES (@user_num);
+
+ # string
+ SET @user_text = 'Bergsbrunna';
+ INSERT INTO tproc(text) VALUES (@user_text);
+ SET @user_text = 'Centrum';
+ INSERT INTO tproc(text) VALUES (@user_text);
+
+END|
+DELIMITER ;|
+
+CALL proc();
+
+
+--echo ==== Insert variables from a stored function ====
+
+DELIMITER |;
+CREATE FUNCTION func()
+RETURNS INT
+BEGIN
+
+ # GLOBAL
+
+ # boolean
+ SET @@global.relay_log_purge = ON;
+ INSERT INTO tfunc(truth) VALUES (@@global.relay_log_purge);
+ SET @@global.relay_log_purge = OFF;
+ INSERT INTO tfunc(truth) VALUES (@@global.relay_log_purge);
+
+ # numeric
+ SET @@global.sync_binlog = 2000000;
+ INSERT INTO tfunc(num) VALUES (@@global.sync_binlog);
+ SET @@global.sync_binlog = 3000000;
+ INSERT INTO tfunc(num) VALUES (@@global.sync_binlog);
+
+ # string
+ SET @@global.init_slave = 'bison';
+ INSERT INTO tfunc(text) VALUES (@@global.init_slave);
+ SET @@global.init_slave = 'cat';
+ INSERT INTO tfunc(text) VALUES (@@global.init_slave);
+
+ # enumeration
+ SET @@global.slave_exec_mode = 'IDEMPOTENT';
+ INSERT INTO tfunc(text) VALUES (@@global.slave_exec_mode);
+ SET @@global.slave_exec_mode = 'STRICT';
+ INSERT INTO tfunc(text) VALUES (@@global.slave_exec_mode);
+
+ # SESSION
+
+ # boolean
+ SET @@sql_big_selects = ON;
+ INSERT INTO tfunc(truth) VALUES (@@sql_big_selects);
+ SET @@sql_big_selects = OFF;
+ INSERT INTO tfunc(truth) VALUES (@@sql_big_selects);
+
+ # numeric
+ SET @@last_insert_id = 20;
+ INSERT INTO tfunc(num) VALUES (@@last_insert_id);
+ SET @@last_insert_id = 30;
+ INSERT INTO tfunc(num) VALUES (@@last_insert_id);
+
+ # BOTH
+
+ # boolean
+ SET @@global.low_priority_updates = ON;
+ SET @@local.low_priority_updates = OFF;
+ INSERT INTO tfunc(truth) VALUES (@@global.low_priority_updates);
+ INSERT INTO tfunc(truth) VALUES (@@local.low_priority_updates);
+ SET @@global.low_priority_updates = OFF;
+ SET @@local.low_priority_updates = ON;
+ INSERT INTO tfunc(truth) VALUES (@@global.low_priority_updates);
+ INSERT INTO tfunc(truth) VALUES (@@local.low_priority_updates);
+
+ # numeric
+ SET @@global.default_week_format = 3;
+ SET @@local.default_week_format = 4;
+ INSERT INTO tfunc(num) VALUES (@@global.default_week_format);
+ INSERT INTO tfunc(num) VALUES (@@local.default_week_format);
+ SET @@global.default_week_format = 5;
+ SET @@local.default_week_format = 6;
+ INSERT INTO tfunc(num) VALUES (@@global.default_week_format);
+ INSERT INTO tfunc(num) VALUES (@@local.default_week_format);
+
+ # text
+ SET @@global.lc_time_names = 'sv_SE';
+ SET @@local.lc_time_names = 'sv_FI';
+ INSERT INTO tfunc(text) VALUES (@@global.lc_time_names);
+ INSERT INTO tfunc(text) VALUES (@@local.lc_time_names);
+ SET @@global.lc_time_names = 'ar_TN';
+ SET @@local.lc_time_names = 'ar_IQ';
+ INSERT INTO tfunc(text) VALUES (@@global.lc_time_names);
+ INSERT INTO tfunc(text) VALUES (@@local.lc_time_names);
+
+ # enum
+ SET @@global.sql_mode = '';
+ SET @@local.sql_mode = 'IGNORE_SPACE,NO_AUTO_CREATE_USER';
+ INSERT INTO tfunc(text) VALUES (@@global.sql_mode);
+ INSERT INTO tfunc(text) VALUES (@@local.sql_mode);
+ SET @@global.sql_mode = 'NO_AUTO_VALUE_ON_ZERO,NO_BACKSLASH_ESCAPES,NO_DIR_IN_CREATE,NO_ENGINE_SUBSTITUTION';
+ SET @@local.sql_mode = 'NO_FIELD_OPTIONS,NO_KEY_OPTIONS,NO_TABLE_OPTIONS';
+ INSERT INTO tfunc(text) VALUES (@@global.sql_mode);
+ INSERT INTO tfunc(text) VALUES (@@local.sql_mode);
+
+ # USER
+
+ # numeric
+ SET @user_num = 20;
+ INSERT INTO tfunc(num) VALUES (@user_num);
+ SET @user_num = 30;
+ INSERT INTO tfunc(num) VALUES (@user_num);
+
+ # string
+ SET @user_text = 'Bergsbrunna';
+ INSERT INTO tfunc(text) VALUES (@user_text);
+ SET @user_text = 'Centrum';
+ INSERT INTO tfunc(text) VALUES (@user_text);
+
+ RETURN 0;
+END|
+DELIMITER ;|
+
+SELECT func();
+
+
+--echo ==== Insert variables from a trigger ====
+
+DELIMITER |;
+CREATE TRIGGER trig
+BEFORE INSERT ON trigger_table
+FOR EACH ROW
+BEGIN
+
+ # GLOBAL
+
+ # boolean
+ SET @@global.relay_log_purge = ON;
+ INSERT INTO ttrig(truth) VALUES (@@global.relay_log_purge);
+ SET @@global.relay_log_purge = OFF;
+ INSERT INTO ttrig(truth) VALUES (@@global.relay_log_purge);
+
+ # numeric
+ SET @@global.sync_binlog = 2000000;
+ INSERT INTO ttrig(num) VALUES (@@global.sync_binlog);
+ SET @@global.sync_binlog = 3000000;
+ INSERT INTO ttrig(num) VALUES (@@global.sync_binlog);
+
+ # string
+ SET @@global.init_slave = 'bison';
+ INSERT INTO ttrig(text) VALUES (@@global.init_slave);
+ SET @@global.init_slave = 'cat';
+ INSERT INTO ttrig(text) VALUES (@@global.init_slave);
+
+ # enumeration
+ SET @@global.slave_exec_mode = 'IDEMPOTENT';
+ INSERT INTO ttrig(text) VALUES (@@global.slave_exec_mode);
+ SET @@global.slave_exec_mode = 'STRICT';
+ INSERT INTO ttrig(text) VALUES (@@global.slave_exec_mode);
+
+ # SESSION
+
+ # boolean
+ SET @@sql_big_selects = ON;
+ INSERT INTO ttrig(truth) VALUES (@@sql_big_selects);
+ SET @@sql_big_selects = OFF;
+ INSERT INTO ttrig(truth) VALUES (@@sql_big_selects);
+
+ # numeric
+ SET @@last_insert_id = 20;
+ INSERT INTO ttrig(num) VALUES (@@last_insert_id);
+ SET @@last_insert_id = 30;
+ INSERT INTO ttrig(num) VALUES (@@last_insert_id);
+
+ # BOTH
+
+ # boolean
+ SET @@global.low_priority_updates = ON;
+ SET @@local.low_priority_updates = OFF;
+ INSERT INTO ttrig(truth) VALUES (@@global.low_priority_updates);
+ INSERT INTO ttrig(truth) VALUES (@@local.low_priority_updates);
+ SET @@global.low_priority_updates = OFF;
+ SET @@local.low_priority_updates = ON;
+ INSERT INTO ttrig(truth) VALUES (@@global.low_priority_updates);
+ INSERT INTO ttrig(truth) VALUES (@@local.low_priority_updates);
+
+ # numeric
+ SET @@global.default_week_format = 3;
+ SET @@local.default_week_format = 4;
+ INSERT INTO ttrig(num) VALUES (@@global.default_week_format);
+ INSERT INTO ttrig(num) VALUES (@@local.default_week_format);
+ SET @@global.default_week_format = 5;
+ SET @@local.default_week_format = 6;
+ INSERT INTO ttrig(num) VALUES (@@global.default_week_format);
+ INSERT INTO ttrig(num) VALUES (@@local.default_week_format);
+
+ # text
+ SET @@global.lc_time_names = 'sv_SE';
+ SET @@local.lc_time_names = 'sv_FI';
+ INSERT INTO ttrig(text) VALUES (@@global.lc_time_names);
+ INSERT INTO ttrig(text) VALUES (@@local.lc_time_names);
+ SET @@global.lc_time_names = 'ar_TN';
+ SET @@local.lc_time_names = 'ar_IQ';
+ INSERT INTO ttrig(text) VALUES (@@global.lc_time_names);
+ INSERT INTO ttrig(text) VALUES (@@local.lc_time_names);
+
+ # enum
+ SET @@global.sql_mode = '';
+ SET @@local.sql_mode = 'IGNORE_SPACE,NO_AUTO_CREATE_USER';
+ INSERT INTO ttrig(text) VALUES (@@global.sql_mode);
+ INSERT INTO ttrig(text) VALUES (@@local.sql_mode);
+ SET @@global.sql_mode = 'NO_AUTO_VALUE_ON_ZERO,NO_BACKSLASH_ESCAPES,NO_DIR_IN_CREATE,NO_ENGINE_SUBSTITUTION';
+ SET @@local.sql_mode = 'NO_FIELD_OPTIONS,NO_KEY_OPTIONS,NO_TABLE_OPTIONS';
+ INSERT INTO ttrig(text) VALUES (@@global.sql_mode);
+ INSERT INTO ttrig(text) VALUES (@@local.sql_mode);
+
+ # USER
+
+ # numeric
+ SET @user_num = 20;
+ INSERT INTO ttrig(num) VALUES (@user_num);
+ SET @user_num = 30;
+ INSERT INTO ttrig(num) VALUES (@user_num);
+
+ # string
+ SET @user_text = 'Bergsbrunna';
+ INSERT INTO ttrig(text) VALUES (@user_text);
+ SET @user_text = 'Centrum';
+ INSERT INTO ttrig(text) VALUES (@user_text);
+END|
+DELIMITER ;|
+
+INSERT INTO trigger_table VALUES ('bye.');
+
+
+--echo ==== Insert variables from a prepared statement ====
+
+# GLOBAL
+
+# boolean
+PREPARE p1 FROM 'SET @@global.relay_log_purge = ON';
+PREPARE p2 FROM 'INSERT INTO tprep(truth) VALUES (@@global.relay_log_purge)';
+PREPARE p3 FROM 'SET @@global.relay_log_purge = OFF';
+PREPARE p4 FROM 'INSERT INTO tprep(truth) VALUES (@@global.relay_log_purge)';
+
+# numeric
+PREPARE p5 FROM 'SET @@global.sync_binlog = 2000000';
+PREPARE p6 FROM 'INSERT INTO tprep(num) VALUES (@@global.sync_binlog)';
+PREPARE p7 FROM 'SET @@global.sync_binlog = 3000000';
+PREPARE p8 FROM 'INSERT INTO tprep(num) VALUES (@@global.sync_binlog)';
+
+# string
+PREPARE p9 FROM 'SET @@global.init_slave = \'bison\'';
+PREPARE p10 FROM 'INSERT INTO tprep(text) VALUES (@@global.init_slave)';
+PREPARE p11 FROM 'SET @@global.init_slave = \'cat\'';
+PREPARE p12 FROM 'INSERT INTO tprep(text) VALUES (@@global.init_slave)';
+
+# enumeration
+PREPARE p13 FROM 'SET @@global.slave_exec_mode = \'IDEMPOTENT\'';
+PREPARE p14 FROM 'INSERT INTO tprep(text) VALUES (@@global.slave_exec_mode)';
+PREPARE p15 FROM 'SET @@global.slave_exec_mode = \'STRICT\'';
+PREPARE p16 FROM 'INSERT INTO tprep(text) VALUES (@@global.slave_exec_mode)';
+
+# SESSION
+
+# boolean
+PREPARE p17 FROM 'SET @@sql_big_selects = ON';
+PREPARE p18 FROM 'INSERT INTO tprep(truth) VALUES (@@sql_big_selects)';
+PREPARE p19 FROM 'SET @@sql_big_selects = OFF';
+PREPARE p20 FROM 'INSERT INTO tprep(truth) VALUES (@@sql_big_selects)';
+
+# numeric
+PREPARE p21 FROM 'SET @@last_insert_id = 20';
+PREPARE p22 FROM 'INSERT INTO tprep(num) VALUES (@@last_insert_id)';
+PREPARE p23 FROM 'SET @@last_insert_id = 30';
+PREPARE p24 FROM 'INSERT INTO tprep(num) VALUES (@@last_insert_id)';
+
+# BOTH
+
+# boolean
+PREPARE p25 FROM 'SET @@global.low_priority_updates = ON';
+PREPARE p26 FROM 'SET @@local.low_priority_updates = OFF';
+PREPARE p27 FROM 'INSERT INTO tprep(truth) VALUES (@@global.low_priority_updates)';
+PREPARE p28 FROM 'INSERT INTO tprep(truth) VALUES (@@local.low_priority_updates)';
+PREPARE p29 FROM 'SET @@global.low_priority_updates = OFF';
+PREPARE p30 FROM 'SET @@local.low_priority_updates = ON';
+PREPARE p31 FROM 'INSERT INTO tprep(truth) VALUES (@@global.low_priority_updates)';
+PREPARE p32 FROM 'INSERT INTO tprep(truth) VALUES (@@local.low_priority_updates)';
+
+# numeric
+PREPARE p33 FROM 'SET @@global.default_week_format = 3';
+PREPARE p34 FROM 'SET @@local.default_week_format = 4';
+PREPARE p35 FROM 'INSERT INTO tprep(num) VALUES (@@global.default_week_format)';
+PREPARE p36 FROM 'INSERT INTO tprep(num) VALUES (@@local.default_week_format)';
+PREPARE p37 FROM 'SET @@global.default_week_format = 5';
+PREPARE p38 FROM 'SET @@local.default_week_format = 6';
+PREPARE p39 FROM 'INSERT INTO tprep(num) VALUES (@@global.default_week_format)';
+PREPARE p40 FROM 'INSERT INTO tprep(num) VALUES (@@local.default_week_format)';
+
+# text
+PREPARE p41 FROM 'SET @@global.lc_time_names = \'sv_SE\'';
+PREPARE p42 FROM 'SET @@local.lc_time_names = \'sv_FI\'';
+PREPARE p43 FROM 'INSERT INTO tprep(text) VALUES (@@global.lc_time_names)';
+PREPARE p44 FROM 'INSERT INTO tprep(text) VALUES (@@local.lc_time_names)';
+PREPARE p45 FROM 'SET @@global.lc_time_names = \'ar_TN\'';
+PREPARE p46 FROM 'SET @@local.lc_time_names = \'ar_IQ\'';
+PREPARE p47 FROM 'INSERT INTO tprep(text) VALUES (@@global.lc_time_names)';
+PREPARE p48 FROM 'INSERT INTO tprep(text) VALUES (@@local.lc_time_names)';
+
+# enum
+PREPARE p49 FROM 'SET @@global.sql_mode = \'\'';
+PREPARE p50 FROM 'SET @@local.sql_mode = \'IGNORE_SPACE,NO_AUTO_CREATE_USER\'';
+PREPARE p51 FROM 'INSERT INTO tprep(text) VALUES (@@global.sql_mode)';
+PREPARE p52 FROM 'INSERT INTO tprep(text) VALUES (@@local.sql_mode)';
+PREPARE p53 FROM 'SET @@global.sql_mode = \'NO_AUTO_VALUE_ON_ZERO,NO_BACKSLASH_ESCAPES,NO_DIR_IN_CREATE,NO_ENGINE_SUBSTITUTION\'';
+PREPARE p54 FROM 'SET @@local.sql_mode = \'NO_FIELD_OPTIONS,NO_KEY_OPTIONS,NO_TABLE_OPTIONS\'';
+PREPARE p55 FROM 'INSERT INTO tprep(text) VALUES (@@global.sql_mode)';
+PREPARE p56 FROM 'INSERT INTO tprep(text) VALUES (@@local.sql_mode)';
+
+# USER
+
+# numeric
+PREPARE p57 FROM 'SET @user_num = 20';
+PREPARE p58 FROM 'INSERT INTO tprep(num) VALUES (@user_num)';
+PREPARE p59 FROM 'SET @user_num = 30';
+PREPARE p60 FROM 'INSERT INTO tprep(num) VALUES (@user_num)';
+
+# string
+PREPARE p61 FROM 'SET @user_text = \'Bergsbrunna\'';
+PREPARE p62 FROM 'INSERT INTO tprep(text) VALUES (@user_text)';
+PREPARE p63 FROM 'SET @user_text = \'Centrum\'';
+PREPARE p64 FROM 'INSERT INTO tprep(text) VALUES (@user_text)';
+
+EXECUTE p1; EXECUTE p2; EXECUTE p3; EXECUTE p4; EXECUTE p5; EXECUTE p6;
+EXECUTE p7; EXECUTE p8; EXECUTE p9; EXECUTE p10; EXECUTE p11; EXECUTE p12;
+EXECUTE p13; EXECUTE p14; EXECUTE p15; EXECUTE p16; EXECUTE p17; EXECUTE p18;
+EXECUTE p19; EXECUTE p20; EXECUTE p21; EXECUTE p22; EXECUTE p23; EXECUTE p24;
+EXECUTE p25; EXECUTE p26; EXECUTE p27; EXECUTE p28; EXECUTE p29; EXECUTE p30;
+EXECUTE p31; EXECUTE p32; EXECUTE p33; EXECUTE p34; EXECUTE p35; EXECUTE p36;
+EXECUTE p37; EXECUTE p38; EXECUTE p39; EXECUTE p40; EXECUTE p41; EXECUTE p42;
+EXECUTE p43; EXECUTE p44; EXECUTE p45; EXECUTE p46; EXECUTE p47; EXECUTE p48;
+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;
+
+
+--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;
+
+# ... 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;
+source include/diff_tables.inc;
+
-# Init for rstore of variable values
-set @my_slave_net_timeout =@@global.slave_net_timeout;
+--echo ==== Clean up ====
-set global slave_net_timeout=100;
-set global sql_slave_skip_counter=100;
+--echo [on master]
+connection master;
+DROP PROCEDURE proc;
+DROP FUNCTION func;
+DROP TRIGGER trig;
+DROP TABLE tstmt, tproc, tfunc, ttrig, tprep, trigger_table;
-# End of 4.1 tests
+SET @@global.default_week_format= @m_default_week_format;
+SET @@global.init_slave= @m_init_slave;
+SET @@global.lc_time_names= @m_lc_time_names;
+SET @@global.low_priority_updates= @m_low_priority_updates;
+SET @@global.relay_log_purge= @m_relay_log_purge;
+SET @@global.slave_exec_mode= @m_slave_exec_mode;
+SET @@global.sql_mode= @m_sql_mode;
+SET @@global.sync_binlog= @m_sync_binlog;
-# BUG #7800: Add various-slave related variables to SHOW VARIABLES
-show variables like 'slave_compressed_protocol';
---replace_column 2 SLAVE_LOAD_TMPDIR
-show variables like 'slave_load_tmpdir';
-# We just set some arbitrary values in variables-master.opt so we can test
-# that a list of values works correctly
-show variables like 'slave_skip_errors';
+--echo [on slave]
+connection slave;
+SET @@global.default_week_format= @s_default_week_format;
+SET @@global.init_slave= @s_init_slave;
+SET @@global.lc_time_names= @s_lc_time_names;
+SET @@global.low_priority_updates= @s_low_priority_updates;
+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;
-# Cleanup
-set global slave_net_timeout=default;
+connection master;
+sync_slave_with_master;
diff --git a/mysql-test/suite/rpl/t/rpl_variables_stm.test b/mysql-test/suite/rpl/t/rpl_variables_stm.test
new file mode 100644
index 00000000000..85152ae878a
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_variables_stm.test
@@ -0,0 +1,636 @@
+# ==== Purpose ====
+#
+# In general, queries referencing @@system_variables are not
+# considered safe to write to the binlog in statement-based logging
+# mode. However, a few special cases are supported.
+#
+# This test verifies that queries referencing these specially
+# supported variables are replicated correctly in statement mode.
+#
+#
+# ==== Method ====
+#
+# The test simply does a lot of "INSERT INTO t1 VALUES (@@variable)"
+# and checks the result on the slave.
+#
+# Statements referencing a variable only replicate correctly in mixed
+# and row mode: in row mode, the values inserted are replicated. In
+# mixed mode, statements referencing a variable are marked as unsafe,
+# meaning they will be replicated by row. In statement mode, the
+# slave's value will be used and replication will break. (Except in a
+# small number of special cases: random seeds, insert_id, and
+# auto_increment are replicated).
+#
+# We test all replicated variables, from each of the following
+# contexts:
+# - directly
+# - from a stored procedure
+# - from a stored function
+# - from a trigger
+# - from a prepared statement
+#
+# For all variables where it is possible, we set the variable to one
+# value on slave, and insert it on the master with two distinct
+# values.
+#
+# The same insertions are made in four different tables using direct
+# insert, stored procedure, stored function, or trigger. Then all
+# eight resulting tables on master and slave are compared.
+#
+#
+# ==== Related bugs ====
+#
+# BUG#31168: @@hostname does not replicate
+#
+#
+# ==== Related test cases ====
+#
+# binlog.binlog_unsafe tests that a warning is issued if system
+# variables are replicated in statement mode.
+#
+# rpl.rpl_variables verifies that variables which cannot be replicated
+# safely in statement mode are replicated correctly in mixed or row
+# mode.
+
+source include/master-slave.inc;
+source include/have_binlog_format_mixed_or_statement.inc;
+
+
+--echo ==== Initialization ====
+
+# Backup the values of global variables so that they can be restored
+# later.
+
+--echo [on master]
+connection master;
+SET @m_pseudo_thread_id= @@global.pseudo_thread_id;
+SET @m_auto_increment_increment= @@global.auto_increment_increment;
+SET @m_auto_increment_offset= @@global.auto_increment_offset;
+SET @m_character_set_client= @@global.character_set_client;
+SET @m_collation_connection= @@global.collation_connection;
+SET @m_collation_server= @@global.collation_server;
+SET @m_time_zone= @@global.time_zone;
+SET @m_lc_time_names= @@global.lc_time_names;
+SET @m_collation_database= @@global.collation_database;
+
+--echo [on slave]
+connection slave;
+SET @s_pseudo_thread_id= @@global.pseudo_thread_id;
+SET @s_auto_increment_increment= @@global.auto_increment_increment;
+SET @s_auto_increment_offset= @@global.auto_increment_offset;
+SET @s_character_set_client= @@global.character_set_client;
+SET @s_collation_connection= @@global.collation_connection;
+SET @s_collation_server= @@global.collation_server;
+SET @s_time_zone= @@global.time_zone;
+SET @s_lc_time_names= @@global.lc_time_names;
+SET @s_collation_database= @@global.collation_database;
+
+SET @@global.pseudo_thread_id= 4711;
+SET @@global.auto_increment_increment=19;
+SET @@global.auto_increment_offset=4;
+SET @@global.character_set_client='latin2';
+SET @@global.collation_connection='latin2_bin';
+SET @@global.collation_server='geostd8_general_ci';
+SET @@global.time_zone='Japan';
+SET @@global.lc_time_names='sv_SE';
+SET @@global.collation_database='geostd8_bin';
+
+--echo [on master]
+connection master;
+
+# Tables where everything happens.
+CREATE TABLE tstmt (id INT AUTO_INCREMENT PRIMARY KEY,
+ num INT,
+ text VARCHAR(100));
+CREATE TABLE tproc LIKE tstmt;
+CREATE TABLE tfunc LIKE tstmt;
+CREATE TABLE ttrig LIKE tstmt;
+CREATE TABLE tprep LIKE tstmt;
+
+# Table on which we put a trigger.
+CREATE TABLE trigger_table (text CHAR(4));
+
+
+--echo ==== Insert variables directly ====
+
+SET @@pseudo_thread_id= 4712;
+INSERT INTO tstmt(num) VALUES (@@session.pseudo_thread_id);
+SET @@pseudo_thread_id= 4713;
+INSERT INTO tstmt(num) VALUES (@@session.pseudo_thread_id);
+
+SET @@foreign_key_checks= 0;
+INSERT INTO tstmt(num) VALUES (@@session.foreign_key_checks);
+SET @@foreign_key_checks= 1;
+INSERT INTO tstmt(num) VALUES (@@session.foreign_key_checks);
+
+SET @@sql_auto_is_null= 0;
+INSERT INTO tstmt(num) VALUES (@@session.sql_auto_is_null);
+SET @@sql_auto_is_null= 1;
+INSERT INTO tstmt(num) VALUES (@@session.sql_auto_is_null);
+
+SET @@unique_checks= 0;
+INSERT INTO tstmt(num) VALUES (@@session.unique_checks);
+SET @@unique_checks= 1;
+INSERT INTO tstmt(num) VALUES (@@session.unique_checks);
+
+SET @@auto_increment_increment= 11;
+INSERT INTO tstmt(num) VALUES (@@session.auto_increment_increment);
+SET @@auto_increment_increment= 19;
+INSERT INTO tstmt(num) VALUES (@@session.auto_increment_increment);
+
+SET @@auto_increment_offset= 13;
+INSERT INTO tstmt(num) VALUES (@@session.auto_increment_offset);
+SET @@auto_increment_offset= 17;
+INSERT INTO tstmt(num) VALUES (@@session.auto_increment_offset);
+
+# reset these as they affect the index column
+SET @@auto_increment_increment= 1;
+SET @@auto_increment_offset= 1;
+
+SET @@character_set_client= 'cp1257';
+INSERT INTO tstmt(text) VALUES (@@session.character_set_client);
+SET @@character_set_client= 'cp1256';
+INSERT INTO tstmt(text) VALUES (@@session.character_set_client);
+
+SET @@collation_connection= 'cp1251_ukrainian_ci';
+INSERT INTO tstmt(text) VALUES (@@session.collation_connection);
+INSERT INTO tstmt(text) VALUES (@@session.character_set_connection);
+SET @@collation_connection= 'cp1251_bulgarian_ci';
+INSERT INTO tstmt(text) VALUES (@@session.collation_connection);
+INSERT INTO tstmt(text) VALUES (@@session.character_set_connection);
+
+SET @@collation_server= 'latin7_bin';
+INSERT INTO tstmt(text) VALUES (@@session.collation_server);
+INSERT INTO tstmt(text) VALUES (@@session.character_set_server);
+SET @@collation_server= 'latin7_general_cs';
+INSERT INTO tstmt(text) VALUES (@@session.collation_server);
+INSERT INTO tstmt(text) VALUES (@@session.character_set_server);
+
+SET @@time_zone= 'Europe/Moscow';
+INSERT INTO tstmt(text) VALUES (@@session.time_zone);
+SET @@time_zone= 'Universal';
+INSERT INTO tstmt(text) VALUES (@@session.time_zone);
+
+SET @@lc_time_names= 'sv_FI';
+INSERT INTO tstmt(text) VALUES (@@session.lc_time_names);
+SET @@lc_time_names= 'no_NO';
+INSERT INTO tstmt(text) VALUES (@@session.lc_time_names);
+
+SET @@collation_database= 'latin7_general_ci';
+INSERT INTO tstmt(text) VALUES (@@session.collation_database);
+INSERT INTO tstmt(text) VALUES (@@session.character_set_database);
+SET @@collation_database= 'latin7_estonian_cs';
+INSERT INTO tstmt(text) VALUES (@@session.collation_database);
+INSERT INTO tstmt(text) VALUES (@@session.character_set_database);
+
+SET @@timestamp= 47114711;
+INSERT INTO tstmt(text) VALUES (@@session.timestamp);
+SET @@timestamp= 47124712;
+INSERT INTO tstmt(text) VALUES (@@session.timestamp);
+
+SET @@last_insert_id= 1616;
+INSERT INTO tstmt(text) VALUES (@@session.last_insert_id);
+SET @@last_insert_id= 1717;
+INSERT INTO tstmt(text) VALUES (@@session.last_insert_id);
+
+
+--echo ==== Insert variables from a stored procedure ====
+
+DELIMITER |;
+CREATE PROCEDURE proc()
+BEGIN
+
+ SET @@pseudo_thread_id= 4712;
+ INSERT INTO tproc(num) VALUES (@@session.pseudo_thread_id);
+ SET @@pseudo_thread_id= 4713;
+ INSERT INTO tproc(num) VALUES (@@session.pseudo_thread_id);
+
+ SET @@foreign_key_checks= 0;
+ INSERT INTO tproc(num) VALUES (@@session.foreign_key_checks);
+ SET @@foreign_key_checks= 1;
+ INSERT INTO tproc(num) VALUES (@@session.foreign_key_checks);
+
+ SET @@sql_auto_is_null= 0;
+ INSERT INTO tproc(num) VALUES (@@session.sql_auto_is_null);
+ SET @@sql_auto_is_null= 1;
+ INSERT INTO tproc(num) VALUES (@@session.sql_auto_is_null);
+
+ SET @@unique_checks= 0;
+ INSERT INTO tproc(num) VALUES (@@session.unique_checks);
+ SET @@unique_checks= 1;
+ INSERT INTO tproc(num) VALUES (@@session.unique_checks);
+
+ SET @@auto_increment_increment= 11;
+ INSERT INTO tproc(num) VALUES (@@session.auto_increment_increment);
+ SET @@auto_increment_increment= 19;
+ INSERT INTO tproc(num) VALUES (@@session.auto_increment_increment);
+
+ SET @@auto_increment_offset= 13;
+ INSERT INTO tproc(num) VALUES (@@session.auto_increment_offset);
+ SET @@auto_increment_offset= 17;
+ INSERT INTO tproc(num) VALUES (@@session.auto_increment_offset);
+
+ # reset these as they affect the index column
+ SET @@auto_increment_increment= 1;
+ SET @@auto_increment_offset= 1;
+
+ SET @@character_set_client= 'cp1257';
+ INSERT INTO tproc(text) VALUES (@@session.character_set_client);
+ SET @@character_set_client= 'cp1256';
+ INSERT INTO tproc(text) VALUES (@@session.character_set_client);
+
+ SET @@collation_connection= 'cp1251_ukrainian_ci';
+ INSERT INTO tproc(text) VALUES (@@session.collation_connection);
+ INSERT INTO tproc(text) VALUES (@@session.character_set_connection);
+ SET @@collation_connection= 'cp1251_bulgarian_ci';
+ INSERT INTO tproc(text) VALUES (@@session.collation_connection);
+ INSERT INTO tproc(text) VALUES (@@session.character_set_connection);
+
+ SET @@collation_server= 'latin7_bin';
+ INSERT INTO tproc(text) VALUES (@@session.collation_server);
+ INSERT INTO tproc(text) VALUES (@@session.character_set_server);
+ SET @@collation_server= 'latin7_general_cs';
+ INSERT INTO tproc(text) VALUES (@@session.collation_server);
+ INSERT INTO tproc(text) VALUES (@@session.character_set_server);
+
+ SET @@time_zone= 'Europe/Moscow';
+ INSERT INTO tproc(text) VALUES (@@session.time_zone);
+ SET @@time_zone= 'Universal';
+ INSERT INTO tproc(text) VALUES (@@session.time_zone);
+
+ SET @@lc_time_names= 'sv_FI';
+ INSERT INTO tproc(text) VALUES (@@session.lc_time_names);
+ SET @@lc_time_names= 'no_NO';
+ INSERT INTO tproc(text) VALUES (@@session.lc_time_names);
+
+ SET @@collation_database= 'latin7_general_ci';
+ INSERT INTO tproc(text) VALUES (@@session.collation_database);
+ INSERT INTO tproc(text) VALUES (@@session.character_set_database);
+ SET @@collation_database= 'latin7_estonian_cs';
+ INSERT INTO tproc(text) VALUES (@@session.collation_database);
+ INSERT INTO tproc(text) VALUES (@@session.character_set_database);
+
+ SET @@timestamp= 47114711;
+ INSERT INTO tproc(text) VALUES (@@session.timestamp);
+ SET @@timestamp= 47124712;
+ INSERT INTO tproc(text) VALUES (@@session.timestamp);
+
+ SET @@last_insert_id= 1616;
+ INSERT INTO tproc(text) VALUES (@@session.last_insert_id);
+ SET @@last_insert_id= 1717;
+ INSERT INTO tproc(text) VALUES (@@session.last_insert_id);
+
+END|
+DELIMITER ;|
+
+CALL proc();
+
+
+--echo ==== Insert variables from a stored function ====
+
+DELIMITER |;
+CREATE FUNCTION func()
+RETURNS INT
+BEGIN
+
+ SET @@pseudo_thread_id= 4712;
+ INSERT INTO tfunc(num) VALUES (@@session.pseudo_thread_id);
+ SET @@pseudo_thread_id= 4713;
+ INSERT INTO tfunc(num) VALUES (@@session.pseudo_thread_id);
+
+ SET @@foreign_key_checks= 0;
+ INSERT INTO tfunc(num) VALUES (@@session.foreign_key_checks);
+ SET @@foreign_key_checks= 1;
+ INSERT INTO tfunc(num) VALUES (@@session.foreign_key_checks);
+
+ SET @@sql_auto_is_null= 0;
+ INSERT INTO tfunc(num) VALUES (@@session.sql_auto_is_null);
+ SET @@sql_auto_is_null= 1;
+ INSERT INTO tfunc(num) VALUES (@@session.sql_auto_is_null);
+
+ SET @@unique_checks= 0;
+ INSERT INTO tfunc(num) VALUES (@@session.unique_checks);
+ SET @@unique_checks= 1;
+ INSERT INTO tfunc(num) VALUES (@@session.unique_checks);
+
+ SET @@auto_increment_increment= 11;
+ INSERT INTO tfunc(num) VALUES (@@session.auto_increment_increment);
+ SET @@auto_increment_increment= 19;
+ INSERT INTO tfunc(num) VALUES (@@session.auto_increment_increment);
+
+ SET @@auto_increment_offset= 13;
+ INSERT INTO tfunc(num) VALUES (@@session.auto_increment_offset);
+ SET @@auto_increment_offset= 17;
+ INSERT INTO tfunc(num) VALUES (@@session.auto_increment_offset);
+
+ # reset these as they affect the index column
+ SET @@auto_increment_increment= 1;
+ SET @@auto_increment_offset= 1;
+
+ SET @@character_set_client= 'cp1257';
+ INSERT INTO tfunc(text) VALUES (@@session.character_set_client);
+ SET @@character_set_client= 'cp1256';
+ INSERT INTO tfunc(text) VALUES (@@session.character_set_client);
+
+ SET @@collation_connection= 'cp1251_ukrainian_ci';
+ INSERT INTO tfunc(text) VALUES (@@session.collation_connection);
+ INSERT INTO tfunc(text) VALUES (@@session.character_set_connection);
+ SET @@collation_connection= 'cp1251_bulgarian_ci';
+ INSERT INTO tfunc(text) VALUES (@@session.collation_connection);
+ INSERT INTO tfunc(text) VALUES (@@session.character_set_connection);
+
+ SET @@collation_server= 'latin7_bin';
+ INSERT INTO tfunc(text) VALUES (@@session.collation_server);
+ INSERT INTO tfunc(text) VALUES (@@session.character_set_server);
+ SET @@collation_server= 'latin7_general_cs';
+ INSERT INTO tfunc(text) VALUES (@@session.collation_server);
+ INSERT INTO tfunc(text) VALUES (@@session.character_set_server);
+
+ SET @@time_zone= 'Europe/Moscow';
+ INSERT INTO tfunc(text) VALUES (@@session.time_zone);
+ SET @@time_zone= 'Universal';
+ INSERT INTO tfunc(text) VALUES (@@session.time_zone);
+
+ SET @@lc_time_names= 'sv_FI';
+ INSERT INTO tfunc(text) VALUES (@@session.lc_time_names);
+ SET @@lc_time_names= 'no_NO';
+ INSERT INTO tfunc(text) VALUES (@@session.lc_time_names);
+
+ SET @@collation_database= 'latin7_general_ci';
+ INSERT INTO tfunc(text) VALUES (@@session.collation_database);
+ INSERT INTO tfunc(text) VALUES (@@session.character_set_database);
+ SET @@collation_database= 'latin7_estonian_cs';
+ INSERT INTO tfunc(text) VALUES (@@session.collation_database);
+ INSERT INTO tfunc(text) VALUES (@@session.character_set_database);
+
+ SET @@timestamp= 47114711;
+ INSERT INTO tfunc(text) VALUES (@@session.timestamp);
+ SET @@timestamp= 47124712;
+ INSERT INTO tfunc(text) VALUES (@@session.timestamp);
+
+ SET @@last_insert_id= 1616;
+ INSERT INTO tfunc(text) VALUES (@@session.last_insert_id);
+ SET @@last_insert_id= 1717;
+ INSERT INTO tfunc(text) VALUES (@@session.last_insert_id);
+
+ RETURN 0;
+END|
+DELIMITER ;|
+
+SELECT func();
+
+
+--echo ==== Insert variables from a trigger ====
+
+DELIMITER |;
+CREATE TRIGGER trig
+BEFORE INSERT ON trigger_table
+FOR EACH ROW
+BEGIN
+
+ SET @@pseudo_thread_id= 4712;
+ INSERT INTO ttrig(num) VALUES (@@session.pseudo_thread_id);
+ SET @@pseudo_thread_id= 4713;
+ INSERT INTO ttrig(num) VALUES (@@session.pseudo_thread_id);
+
+ SET @@foreign_key_checks= 0;
+ INSERT INTO ttrig(num) VALUES (@@session.foreign_key_checks);
+ SET @@foreign_key_checks= 1;
+ INSERT INTO ttrig(num) VALUES (@@session.foreign_key_checks);
+
+ SET @@sql_auto_is_null= 0;
+ INSERT INTO ttrig(num) VALUES (@@session.sql_auto_is_null);
+ SET @@sql_auto_is_null= 1;
+ INSERT INTO ttrig(num) VALUES (@@session.sql_auto_is_null);
+
+ SET @@unique_checks= 0;
+ INSERT INTO ttrig(num) VALUES (@@session.unique_checks);
+ SET @@unique_checks= 1;
+ INSERT INTO ttrig(num) VALUES (@@session.unique_checks);
+
+ SET @@auto_increment_increment= 11;
+ INSERT INTO ttrig(num) VALUES (@@session.auto_increment_increment);
+ SET @@auto_increment_increment= 19;
+ INSERT INTO ttrig(num) VALUES (@@session.auto_increment_increment);
+
+ SET @@auto_increment_offset= 13;
+ INSERT INTO ttrig(num) VALUES (@@session.auto_increment_offset);
+ SET @@auto_increment_offset= 17;
+ INSERT INTO ttrig(num) VALUES (@@session.auto_increment_offset);
+
+ # reset these as they affect the index column
+ SET @@auto_increment_increment= 1;
+ SET @@auto_increment_offset= 1;
+
+ SET @@character_set_client= 'cp1257';
+ INSERT INTO ttrig(text) VALUES (@@session.character_set_client);
+ SET @@character_set_client= 'cp1256';
+ INSERT INTO ttrig(text) VALUES (@@session.character_set_client);
+
+ SET @@collation_connection= 'cp1251_ukrainian_ci';
+ INSERT INTO ttrig(text) VALUES (@@session.collation_connection);
+ INSERT INTO ttrig(text) VALUES (@@session.character_set_connection);
+ SET @@collation_connection= 'cp1251_bulgarian_ci';
+ INSERT INTO ttrig(text) VALUES (@@session.collation_connection);
+ INSERT INTO ttrig(text) VALUES (@@session.character_set_connection);
+
+ SET @@collation_server= 'latin7_bin';
+ INSERT INTO ttrig(text) VALUES (@@session.collation_server);
+ INSERT INTO ttrig(text) VALUES (@@session.character_set_server);
+ SET @@collation_server= 'latin7_general_cs';
+ INSERT INTO ttrig(text) VALUES (@@session.collation_server);
+ INSERT INTO ttrig(text) VALUES (@@session.character_set_server);
+
+ SET @@time_zone= 'Europe/Moscow';
+ INSERT INTO ttrig(text) VALUES (@@session.time_zone);
+ SET @@time_zone= 'Universal';
+ INSERT INTO ttrig(text) VALUES (@@session.time_zone);
+
+ SET @@lc_time_names= 'sv_FI';
+ INSERT INTO ttrig(text) VALUES (@@session.lc_time_names);
+ SET @@lc_time_names= 'no_NO';
+ INSERT INTO ttrig(text) VALUES (@@session.lc_time_names);
+
+ SET @@collation_database= 'latin7_general_ci';
+ INSERT INTO ttrig(text) VALUES (@@session.collation_database);
+ INSERT INTO ttrig(text) VALUES (@@session.character_set_database);
+ SET @@collation_database= 'latin7_estonian_cs';
+ INSERT INTO ttrig(text) VALUES (@@session.collation_database);
+ INSERT INTO ttrig(text) VALUES (@@session.character_set_database);
+
+ SET @@timestamp= 47114711;
+ INSERT INTO ttrig(text) VALUES (@@session.timestamp);
+ SET @@timestamp= 47124712;
+ INSERT INTO ttrig(text) VALUES (@@session.timestamp);
+
+ SET @@last_insert_id= 1616;
+ INSERT INTO ttrig(text) VALUES (@@session.last_insert_id);
+ SET @@last_insert_id= 1717;
+ INSERT INTO ttrig(text) VALUES (@@session.last_insert_id);
+
+END|
+DELIMITER ;|
+
+INSERT INTO trigger_table VALUES ('bye.');
+
+
+--echo ==== Insert variables from a prepared statement ====
+
+# GLOBAL
+
+PREPARE p1 FROM 'SET @@pseudo_thread_id= 4712';
+PREPARE p2 FROM 'INSERT INTO tprep(num) VALUES (@@session.pseudo_thread_id)';
+PREPARE p3 FROM 'SET @@pseudo_thread_id= 4713';
+PREPARE p4 FROM 'INSERT INTO tprep(num) VALUES (@@session.pseudo_thread_id)';
+
+PREPARE p5 FROM 'SET @@foreign_key_checks= 0';
+PREPARE p6 FROM 'INSERT INTO tprep(num) VALUES (@@session.foreign_key_checks)';
+PREPARE p7 FROM 'SET @@foreign_key_checks= 1';
+PREPARE p8 FROM 'INSERT INTO tprep(num) VALUES (@@session.foreign_key_checks)';
+
+PREPARE p9 FROM 'SET @@sql_auto_is_null= 0';
+PREPARE p10 FROM 'INSERT INTO tprep(num) VALUES (@@session.sql_auto_is_null)';
+PREPARE p11 FROM 'SET @@sql_auto_is_null= 1';
+PREPARE p12 FROM 'INSERT INTO tprep(num) VALUES (@@session.sql_auto_is_null)';
+
+PREPARE p13 FROM 'SET @@unique_checks= 0';
+PREPARE p14 FROM 'INSERT INTO tprep(num) VALUES (@@session.unique_checks)';
+PREPARE p15 FROM 'SET @@unique_checks= 1';
+PREPARE p16 FROM 'INSERT INTO tprep(num) VALUES (@@session.unique_checks)';
+
+PREPARE p17 FROM 'SET @@auto_increment_increment= 11';
+PREPARE p18 FROM 'INSERT INTO tprep(num) VALUES (@@session.auto_increment_increment)';
+PREPARE p19 FROM 'SET @@auto_increment_increment= 19';
+PREPARE p20 FROM 'INSERT INTO tprep(num) VALUES (@@session.auto_increment_increment)';
+
+PREPARE p21 FROM 'SET @@auto_increment_offset= 13';
+PREPARE p22 FROM 'INSERT INTO tprep(num) VALUES (@@session.auto_increment_offset)';
+PREPARE p23 FROM 'SET @@auto_increment_offset= 17';
+PREPARE p24 FROM 'INSERT INTO tprep(num) VALUES (@@session.auto_increment_offset)';
+
+# reset these as they affect the index column
+PREPARE p25 FROM 'SET @@auto_increment_increment= 1';
+PREPARE p26 FROM 'SET @@auto_increment_offset= 1';
+
+PREPARE p27 FROM 'SET @@character_set_client= \'cp1257\'';
+PREPARE p28 FROM 'INSERT INTO tprep(text) VALUES (@@session.character_set_client)';
+PREPARE p29 FROM 'SET @@character_set_client= \'cp1256\'';
+PREPARE p30 FROM 'INSERT INTO tprep(text) VALUES (@@session.character_set_client)';
+
+PREPARE p31 FROM 'SET @@collation_connection= \'cp1251_ukrainian_ci\'';
+PREPARE p32 FROM 'INSERT INTO tprep(text) VALUES (@@session.collation_connection)';
+PREPARE p33 FROM 'INSERT INTO tprep(text) VALUES (@@session.character_set_connection)';
+PREPARE p34 FROM 'SET @@collation_connection= \'cp1251_bulgarian_ci\'';
+PREPARE p35 FROM 'INSERT INTO tprep(text) VALUES (@@session.collation_connection)';
+PREPARE p36 FROM 'INSERT INTO tprep(text) VALUES (@@session.character_set_connection)';
+
+PREPARE p37 FROM 'SET @@collation_server= \'latin7_bin\'';
+PREPARE p38 FROM 'INSERT INTO tprep(text) VALUES (@@session.collation_server)';
+PREPARE p39 FROM 'INSERT INTO tprep(text) VALUES (@@session.character_set_server)';
+PREPARE p40 FROM 'SET @@collation_server= \'latin7_general_cs\'';
+PREPARE p41 FROM 'INSERT INTO tprep(text) VALUES (@@session.collation_server)';
+PREPARE p42 FROM 'INSERT INTO tprep(text) VALUES (@@session.character_set_server)';
+
+PREPARE p43 FROM 'SET @@time_zone= \'Europe/Moscow\'';
+PREPARE p44 FROM 'INSERT INTO tprep(text) VALUES (@@session.time_zone)';
+PREPARE p45 FROM 'SET @@time_zone= \'Universal\'';
+PREPARE p46 FROM 'INSERT INTO tprep(text) VALUES (@@session.time_zone)';
+
+PREPARE p47 FROM 'SET @@lc_time_names= \'sv_FI\'';
+PREPARE p48 FROM 'INSERT INTO tprep(text) VALUES (@@session.lc_time_names)';
+PREPARE p49 FROM 'SET @@lc_time_names= \'no_NO\'';
+PREPARE p50 FROM 'INSERT INTO tprep(text) VALUES (@@session.lc_time_names)';
+
+PREPARE p51 FROM 'SET @@collation_database= \'latin7_general_ci\'';
+PREPARE p52 FROM 'INSERT INTO tprep(text) VALUES (@@session.collation_database)';
+PREPARE p53 FROM 'INSERT INTO tprep(text) VALUES (@@session.character_set_database)';
+PREPARE p54 FROM 'SET @@collation_database= \'latin7_estonian_cs\'';
+PREPARE p55 FROM 'INSERT INTO tprep(text) VALUES (@@session.collation_database)';
+PREPARE p56 FROM 'INSERT INTO tprep(text) VALUES (@@session.character_set_database)';
+
+PREPARE p57 FROM 'SET @@timestamp= 47114711';
+PREPARE p58 FROM 'INSERT INTO tprep(text) VALUES (@@session.timestamp)';
+PREPARE p59 FROM 'SET @@timestamp= 47124712';
+PREPARE p60 FROM 'INSERT INTO tprep(text) VALUES (@@session.timestamp)';
+
+PREPARE p61 FROM 'SET @@last_insert_id= 1616';
+PREPARE p62 FROM 'INSERT INTO tprep(text) VALUES (@@session.last_insert_id)';
+PREPARE p63 FROM 'SET @@last_insert_id= 1717';
+PREPARE p64 FROM 'INSERT INTO tprep(text) VALUES (@@session.last_insert_id)';
+
+EXECUTE p1; EXECUTE p2; EXECUTE p3; EXECUTE p4; EXECUTE p5; EXECUTE p6;
+EXECUTE p7; EXECUTE p8; EXECUTE p9; EXECUTE p10; EXECUTE p11; EXECUTE p12;
+EXECUTE p13; EXECUTE p14; EXECUTE p15; EXECUTE p16; EXECUTE p17; EXECUTE p18;
+EXECUTE p19; EXECUTE p20; EXECUTE p21; EXECUTE p22; EXECUTE p23; EXECUTE p24;
+EXECUTE p25; EXECUTE p26; EXECUTE p27; EXECUTE p28; EXECUTE p29; EXECUTE p30;
+EXECUTE p31; EXECUTE p32; EXECUTE p33; EXECUTE p34; EXECUTE p35; EXECUTE p36;
+EXECUTE p37; EXECUTE p38; EXECUTE p39; EXECUTE p40; EXECUTE p41; EXECUTE p42;
+EXECUTE p43; EXECUTE p44; EXECUTE p45; EXECUTE p46; EXECUTE p47; EXECUTE p48;
+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;
+
+
+--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;
+
+# ... 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;
+source include/diff_tables.inc;
+
+
+--echo ==== Clean up ====
+
+--echo [on master]
+connection master;
+DROP PROCEDURE proc;
+DROP FUNCTION func;
+DROP TRIGGER trig;
+DROP TABLE tstmt, tproc, tfunc, ttrig, tprep, trigger_table;
+
+SET @@global.pseudo_thread_id= @m_pseudo_thread_id;
+SET @@global.auto_increment_increment= @m_auto_increment_increment;
+SET @@global.auto_increment_offset= @m_auto_increment_offset;
+SET @@global.character_set_client= @m_character_set_client;
+SET @@global.collation_connection= @m_collation_connection;
+SET @@global.collation_server= @m_collation_server;
+SET @@global.time_zone= @m_time_zone;
+SET @@global.lc_time_names= @m_lc_time_names;
+SET @@global.collation_database= @m_collation_database;
+
+--echo [on slave]
+connection slave;
+SET @@global.pseudo_thread_id= @s_pseudo_thread_id;
+SET @@global.auto_increment_increment= @s_auto_increment_increment;
+SET @@global.auto_increment_offset= @s_auto_increment_offset;
+SET @@global.character_set_client= @s_character_set_client;
+SET @@global.collation_connection= @s_collation_connection;
+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;
+
+connection master;
+sync_slave_with_master;
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_2innodb.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_2innodb.result
index f8ec4624062..c5e9ff2721b 100644
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_2innodb.result
+++ b/mysql-test/suite/rpl_ndb/r/rpl_ndb_2innodb.result
@@ -4,7 +4,14 @@ reset master;
reset slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
start slave;
-SET storage_engine=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;
--- Doing pre test cleanup ---
DROP TABLE IF EXISTS t1;
--- Start test 1 Basic testing ---
@@ -27,7 +34,7 @@ t1 CREATE TABLE `t1` (
`y` year(4) DEFAULT NULL,
`t` date DEFAULT NULL,
PRIMARY KEY (`id`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY KEY ()
+) ENGINE=ndbcluster DEFAULT CHARSET=latin1
--- Show table on slave ---
SHOW CREATE TABLE t1;
Table Create Table
@@ -100,7 +107,7 @@ t1 CREATE TABLE `t1` (
`y` year(4) DEFAULT NULL,
`t` date DEFAULT NULL,
PRIMARY KEY (`id`,`total`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY KEY ()
+) 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;
@@ -186,7 +193,7 @@ t1 CREATE TABLE `t1` (
`total` bigint(20) unsigned DEFAULT NULL,
`y` year(4) DEFAULT NULL,
`t` date DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 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)
+) 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
@@ -200,7 +207,7 @@ t1 CREATE TABLE `t1` (
`total` bigint(20) unsigned DEFAULT NULL,
`y` year(4) DEFAULT NULL,
`t` date DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 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)
+) 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 "";
@@ -258,7 +265,7 @@ t1 CREATE TABLE `t1` (
`y` year(4) DEFAULT NULL,
`t` date NOT NULL DEFAULT '0000-00-00',
PRIMARY KEY (`t`,`id`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 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)
+) 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;
@@ -274,7 +281,7 @@ t1 CREATE TABLE `t1` (
`y` year(4) DEFAULT NULL,
`t` date NOT NULL DEFAULT '0000-00-00',
PRIMARY KEY (`t`,`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 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)
+) 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 "";
@@ -299,11 +306,11 @@ 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 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
+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 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
+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 ---
@@ -342,7 +349,7 @@ t1 CREATE TABLE `t1` (
`total` bigint(20) unsigned DEFAULT NULL,
`y` year(4) DEFAULT NULL,
`t` date DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 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)
+) 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
@@ -356,7 +363,7 @@ t1 CREATE TABLE `t1` (
`total` bigint(20) unsigned DEFAULT NULL,
`y` year(4) DEFAULT NULL,
`t` date DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 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)
+) 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 "";
@@ -414,7 +421,7 @@ t1 CREATE TABLE `t1` (
`y` year(4) DEFAULT NULL,
`t` date DEFAULT NULL,
PRIMARY KEY (`id`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 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)
+) 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;
@@ -430,7 +437,7 @@ t1 CREATE TABLE `t1` (
`y` year(4) DEFAULT NULL,
`t` date DEFAULT NULL,
PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 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)
+) 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 "";
@@ -495,7 +502,7 @@ t1 CREATE TABLE `t1` (
`total` bigint(20) unsigned DEFAULT NULL,
`y` year(4) DEFAULT NULL,
`t` date DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY HASH ( YEAR(t)) PARTITIONS 4
+) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH ( YEAR(t)) PARTITIONS 4 */
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
@@ -508,7 +515,7 @@ t1 CREATE TABLE `t1` (
`total` bigint(20) unsigned DEFAULT NULL,
`y` year(4) DEFAULT NULL,
`t` date DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY HASH ( YEAR(t)) PARTITIONS 4
+) 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 "";
@@ -533,11 +540,11 @@ 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 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
+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 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
+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 ---
@@ -566,7 +573,7 @@ t1 CREATE TABLE `t1` (
`y` year(4) DEFAULT NULL,
`t` date NOT NULL DEFAULT '0000-00-00',
PRIMARY KEY (`t`,`id`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY HASH ( YEAR(t)) PARTITIONS 4
+) 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;
@@ -582,7 +589,7 @@ t1 CREATE TABLE `t1` (
`y` year(4) DEFAULT NULL,
`t` date NOT NULL DEFAULT '0000-00-00',
PRIMARY KEY (`t`,`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY HASH ( YEAR(t)) PARTITIONS 4
+) 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 "";
@@ -607,11 +614,11 @@ 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 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
+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 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
+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 ---
@@ -648,7 +655,7 @@ t1 CREATE TABLE `t1` (
`y` year(4) DEFAULT NULL,
`t` date DEFAULT NULL,
PRIMARY KEY (`id`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY KEY () PARTITIONS 4
+) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY () PARTITIONS 4 */
--- Show that tables on slave ---
SHOW CREATE TABLE t1;
Table Create Table
@@ -663,7 +670,7 @@ t1 CREATE TABLE `t1` (
`y` year(4) DEFAULT NULL,
`t` date DEFAULT NULL,
PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY KEY () PARTITIONS 4
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY () PARTITIONS 4 */
--- Perform basic operation on master ---
--- and ensure replicated correctly ---
"--- Insert into t1 --" as "";
@@ -720,7 +727,7 @@ t1 CREATE TABLE `t1` (
`y` year(4) DEFAULT NULL,
`t` date DEFAULT NULL,
PRIMARY KEY (`id`,`total`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY KEY () PARTITIONS 4
+) 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;
@@ -736,7 +743,7 @@ t1 CREATE TABLE `t1` (
`y` year(4) DEFAULT NULL,
`t` date DEFAULT NULL,
PRIMARY KEY (`id`,`total`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY KEY () PARTITIONS 4
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY () PARTITIONS 4 */
--- Perform basic operation on master ---
--- and ensure replicated correctly ---
"--- Insert into t1 --" as "";
@@ -793,7 +800,7 @@ t1 CREATE TABLE `t1` (
`y` year(4) DEFAULT NULL,
`t` date DEFAULT NULL,
PRIMARY KEY (`id`,`total`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY KEY () PARTITIONS 4
+) 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;
@@ -809,7 +816,7 @@ t1 CREATE TABLE `t1` (
`y` year(4) DEFAULT NULL,
`t` date DEFAULT NULL,
PRIMARY KEY (`id`,`total`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY KEY () PARTITIONS 4
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY () PARTITIONS 4 */
--- Perform basic operation on master ---
--- and ensure replicated correctly ---
"--- Insert into t1 --" as "";
@@ -853,3 +860,4 @@ DELETE FROM t1;
--- End test 5 key partition testing ---
--- Do Cleanup ---
DROP TABLE IF EXISTS t1;
+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
index 8611d83f3f3..824df733fa9 100644
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_2myisam.result
+++ b/mysql-test/suite/rpl_ndb/r/rpl_ndb_2myisam.result
@@ -4,7 +4,14 @@ reset master;
reset slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
start slave;
-SET storage_engine=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;
--- Doing pre test cleanup ---
DROP TABLE IF EXISTS t1;
--- Start test 1 Basic testing ---
@@ -186,7 +193,7 @@ t1 CREATE TABLE `t1` (
`total` bigint(20) unsigned DEFAULT NULL,
`y` year(4) DEFAULT NULL,
`t` date DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 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)
+) 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
@@ -200,7 +207,7 @@ t1 CREATE TABLE `t1` (
`total` bigint(20) unsigned DEFAULT NULL,
`y` year(4) DEFAULT NULL,
`t` date DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 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)
+) 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 "";
@@ -258,7 +265,7 @@ t1 CREATE TABLE `t1` (
`y` year(4) DEFAULT NULL,
`t` date NOT NULL DEFAULT '0000-00-00',
PRIMARY KEY (`t`,`id`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 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)
+) 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;
@@ -274,7 +281,7 @@ t1 CREATE TABLE `t1` (
`y` year(4) DEFAULT NULL,
`t` date NOT NULL DEFAULT '0000-00-00',
PRIMARY KEY (`t`,`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 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)
+) 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 "";
@@ -299,11 +306,11 @@ 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 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
+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 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
+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 ---
@@ -342,7 +349,7 @@ t1 CREATE TABLE `t1` (
`total` bigint(20) unsigned DEFAULT NULL,
`y` year(4) DEFAULT NULL,
`t` date DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 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)
+) 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
@@ -356,7 +363,7 @@ t1 CREATE TABLE `t1` (
`total` bigint(20) unsigned DEFAULT NULL,
`y` year(4) DEFAULT NULL,
`t` date DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 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)
+) 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 "";
@@ -414,7 +421,7 @@ t1 CREATE TABLE `t1` (
`y` year(4) DEFAULT NULL,
`t` date DEFAULT NULL,
PRIMARY KEY (`id`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 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)
+) 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;
@@ -430,7 +437,7 @@ t1 CREATE TABLE `t1` (
`y` year(4) DEFAULT NULL,
`t` date DEFAULT NULL,
PRIMARY KEY (`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 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)
+) 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 "";
@@ -495,7 +502,7 @@ t1 CREATE TABLE `t1` (
`total` bigint(20) unsigned DEFAULT NULL,
`y` year(4) DEFAULT NULL,
`t` date DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY HASH ( YEAR(t)) PARTITIONS 4
+) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH ( YEAR(t)) PARTITIONS 4 */
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
@@ -508,7 +515,7 @@ t1 CREATE TABLE `t1` (
`total` bigint(20) unsigned DEFAULT NULL,
`y` year(4) DEFAULT NULL,
`t` date DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 PARTITION BY HASH ( YEAR(t)) PARTITIONS 4
+) 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 "";
@@ -533,11 +540,11 @@ 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 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
+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 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
+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 ---
@@ -566,7 +573,7 @@ t1 CREATE TABLE `t1` (
`y` year(4) DEFAULT NULL,
`t` date NOT NULL DEFAULT '0000-00-00',
PRIMARY KEY (`t`,`id`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY HASH ( YEAR(t)) PARTITIONS 4
+) 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;
@@ -582,7 +589,7 @@ t1 CREATE TABLE `t1` (
`y` year(4) DEFAULT NULL,
`t` date NOT NULL DEFAULT '0000-00-00',
PRIMARY KEY (`t`,`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 PARTITION BY HASH ( YEAR(t)) PARTITIONS 4
+) 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 "";
@@ -607,11 +614,11 @@ 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 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
+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 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
+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 ---
@@ -648,7 +655,7 @@ t1 CREATE TABLE `t1` (
`y` year(4) DEFAULT NULL,
`t` date DEFAULT NULL,
PRIMARY KEY (`id`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY KEY () PARTITIONS 4
+) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY () PARTITIONS 4 */
--- Show that tables on slave ---
SHOW CREATE TABLE t1;
Table Create Table
@@ -663,7 +670,7 @@ t1 CREATE TABLE `t1` (
`y` year(4) DEFAULT NULL,
`t` date DEFAULT NULL,
PRIMARY KEY (`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 PARTITION BY KEY () PARTITIONS 4
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY () PARTITIONS 4 */
--- Perform basic operation on master ---
--- and ensure replicated correctly ---
"--- Insert into t1 --" as "";
@@ -720,7 +727,7 @@ t1 CREATE TABLE `t1` (
`y` year(4) DEFAULT NULL,
`t` date DEFAULT NULL,
PRIMARY KEY (`id`,`total`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY KEY () PARTITIONS 4
+) 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;
@@ -736,7 +743,7 @@ t1 CREATE TABLE `t1` (
`y` year(4) DEFAULT NULL,
`t` date DEFAULT NULL,
PRIMARY KEY (`id`,`total`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 PARTITION BY KEY () PARTITIONS 4
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY () PARTITIONS 4 */
--- Perform basic operation on master ---
--- and ensure replicated correctly ---
"--- Insert into t1 --" as "";
@@ -793,7 +800,7 @@ t1 CREATE TABLE `t1` (
`y` year(4) DEFAULT NULL,
`t` date DEFAULT NULL,
PRIMARY KEY (`id`,`total`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY KEY () PARTITIONS 4
+) 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;
@@ -809,7 +816,7 @@ t1 CREATE TABLE `t1` (
`y` year(4) DEFAULT NULL,
`t` date DEFAULT NULL,
PRIMARY KEY (`id`,`total`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 PARTITION BY KEY () PARTITIONS 4
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY () PARTITIONS 4 */
--- Perform basic operation on master ---
--- and ensure replicated correctly ---
"--- Insert into t1 --" as "";
@@ -853,3 +860,4 @@ DELETE FROM t1;
--- End test 5 key partition testing ---
--- Do Cleanup ---
DROP TABLE IF EXISTS t1;
+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
new file mode 100644
index 00000000000..12882b28254
--- /dev/null
+++ b/mysql-test/suite/rpl_ndb/r/rpl_ndb_2ndb.result
@@ -0,0 +1,400 @@
+stop slave;
+drop table if exists t1,t2,t3,t4,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
new file mode 100644
index 00000000000..84b60b599d8
--- /dev/null
+++ b/mysql-test/suite/rpl_ndb/r/rpl_ndb_2other.result
@@ -0,0 +1,805 @@
+stop slave;
+drop table if exists t1,t2,t3,t4,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 @@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;
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
new file mode 100644
index 00000000000..0fcd361da21
--- /dev/null
+++ b/mysql-test/suite/rpl_ndb/r/rpl_ndb_apply_status.result
@@ -0,0 +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;
+*** 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_charset.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_charset.result
deleted file mode 100644
index ed9b3cfbfa8..00000000000
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_charset.result
+++ /dev/null
@@ -1,201 +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 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;
-
---- --master--
-show create database mysqltest2;
-Database Create Database
-mysqltest2 CREATE DATABASE `mysqltest2` /*!40100 DEFAULT CHARACTER SET latin2 */
-show create database mysqltest3;
-Database Create Database
-mysqltest3 CREATE DATABASE `mysqltest3` /*!40100 DEFAULT CHARACTER SET latin5 */
-
---- --slave--
-show create database mysqltest2;
-Database Create Database
-mysqltest2 CREATE DATABASE `mysqltest2` /*!40100 DEFAULT CHARACTER SET latin2 */
-show create database mysqltest3;
-Database Create Database
-mysqltest3 CREATE DATABASE `mysqltest3` /*!40100 DEFAULT CHARACTER SET latin5 */
-set @@collation_server=armscii8_bin;
-drop database mysqltest3;
-create database mysqltest3;
-
---- --master--
-show create database mysqltest3;
-Database Create Database
-mysqltest3 CREATE DATABASE `mysqltest3` /*!40100 DEFAULT CHARACTER SET armscii8 COLLATE armscii8_bin */
-
---- --slave--
-show create database mysqltest3;
-Database Create Database
-mysqltest3 CREATE DATABASE `mysqltest3` /*!40100 DEFAULT CHARACTER SET armscii8 COLLATE armscii8_bin */
-use mysqltest2;
-create table t1 (a int auto_increment primary key, b varchar(100));
-set character_set_client=cp850, collation_connection=latin2_croatian_ci;
-insert into t1 (b) values(@@character_set_server);
-insert into t1 (b) values(@@collation_server);
-insert into t1 (b) values(@@character_set_client);
-insert into t1 (b) values(@@character_set_connection);
-insert into t1 (b) values(@@collation_connection);
-
---- --master--
-select * from t1 order by a;
-a b
-1 armscii8
-2 armscii8_bin
-3 cp850
-4 latin2
-5 latin2_croatian_ci
-
---- --slave--
-select * from mysqltest2.t1 order by a;
-a b
-1 armscii8
-2 armscii8_bin
-3 cp850
-4 latin2
-5 latin2_croatian_ci
-select "--- --muller--" as "";
-
---- --muller--
-set character_set_client=latin1, collation_connection=latin1_german1_ci;
-truncate table t1;
-insert into t1 (b) values(@@collation_connection);
-insert into t1 (b) values(LEAST("Müller","Muffler"));
-set collation_connection=latin1_german2_ci;
-insert into t1 (b) values(@@collation_connection);
-insert into t1 (b) values(LEAST("Müller","Muffler"));
-
---- --master--
-select * from t1 order by a;
-a b
-1 latin1_german1_ci
-2 Muffler
-3 latin1_german2_ci
-4 Müller
-
---- --slave--
-select * from mysqltest2.t1 order by a;
-a b
-1 latin1_german1_ci
-2 Muffler
-3 latin1_german2_ci
-4 Müller
-select "--- --INSERT--" as "";
-
---- --INSERT--
-set @a= _cp850 'Müller' collate cp850_general_ci;
-truncate table t1;
-insert into t1 (b) values(collation(@a));
-
---- --master--
-select * from t1 order by a;
-a b
-1 cp850_general_ci
-
---- --slave--
-select * from mysqltest2.t1 order by a;
-a b
-1 cp850_general_ci
-drop database mysqltest2;
-drop database mysqltest3;
-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 mysqltest2
-master-bin.000001 # Query # # drop database if exists mysqltest3
-master-bin.000001 # Query # # create database mysqltest2 character set latin2
-master-bin.000001 # Query # # create database mysqltest3
-master-bin.000001 # Query # # drop database mysqltest3
-master-bin.000001 # Query # # create database mysqltest3
-master-bin.000001 # Query # # use `mysqltest2`; create table t1 (a int auto_increment primary key, b varchar(100))
-master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # use `mysqltest2`; truncate table t1
-master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # use `mysqltest2`; truncate table t1
-master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # drop database mysqltest2
-master-bin.000001 # Query # # drop database mysqltest3
-select "--- --global--" as "";
-
---- --global--
-set global character_set_server=latin2;
-set global character_set_server=latin1;
-set global character_set_server=latin2;
-set global character_set_server=latin1;
-select "--- --oneshot--" as "";
-
---- --oneshot--
-set one_shot @@character_set_server=latin5;
-set @@max_join_size=1000;
-select @@character_set_server;
-@@character_set_server
-latin5
-select @@character_set_server;
-@@character_set_server
-latin1
-set @@character_set_server=latin5;
-select @@character_set_server;
-@@character_set_server
-latin5
-select @@character_set_server;
-@@character_set_server
-latin5
-set one_shot max_join_size=10;
-ERROR HY000: The 'SET ONE_SHOT' syntax is reserved for purposes internal to the MySQL server
-set character_set_client=9999999;
-ERROR 42000: Unknown character set: '9999999'
-set collation_server=9999998;
-ERROR HY000: Unknown collation: '9999998'
-select "--- --3943--" as "";
-
---- --3943--
-use test;
-CREATE TABLE t1 (c1 VARBINARY(255), c2 VARBINARY(255));
-SET CHARACTER_SET_CLIENT=koi8r,
-CHARACTER_SET_CONNECTION=cp1251,
-CHARACTER_SET_RESULTS=koi8r;
-INSERT INTO t1 (c1, c2) VALUES ('îÕ, ÚÁ ÒÙÂÁÌËÕ','îÕ, ÚÁ ÒÙÂÁÌËÕ');
-select hex(c1), hex(c2) from t1;
-hex(c1) hex(c2)
-CDF32C20E7E020F0FBE1E0EBEAF3 CDF32C20E7E020F0FBE1E0EBEAF3
-select hex(c1), hex(c2) from t1;
-hex(c1) hex(c2)
-CDF32C20E7E020F0FBE1E0EBEAF3 CDF32C20E7E020F0FBE1E0EBEAF3
-drop table t1;
-select "--- --6676--" as "";
-
---- --6676--
-create table `t1` (
-`pk` varchar(10) not null default '',
-primary key (`pk`)
-) engine=NDB default charset=latin1;
-set @p=_latin1 'test';
-update t1 set pk='test' where pk=@p;
-drop table 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
index ee452f345f9..18c00583df1 100644
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_simplex.result
+++ b/mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_simplex.result
@@ -13,7 +13,6 @@ 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";
-RESET MASTER;
START SLAVE;
SHOW SLAVE STATUS;
Slave_IO_State #
@@ -50,6 +49,10 @@ 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
SELECT * FROM t1 ORDER BY a;
a b
1 2
@@ -95,3 +98,7 @@ 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
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
index 2f9dc4ae616..75151f45419 100644
--- 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
@@ -1,3 +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;
show variables like 'collation_server';
Variable_name Value
collation_server ucs2_unicode_ci
@@ -5,5 +11,17 @@ show variables like "%character_set_ser%";
Variable_name Value
character_set_server ucs2
DROP TABLE IF EXISTS t1;
-create table t1 (a int);
+create table t1 (a int) ENGINE=NDB;
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 (`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
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
index ece6b84c227..298f45b5cee 100644
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_dd_partitions.result
+++ b/mysql-test/suite/rpl_ndb/r/rpl_ndb_dd_partitions.result
@@ -52,7 +52,7 @@ t1 CREATE TABLE `t1` (
`total` bigint(20) unsigned DEFAULT NULL,
`y` year(4) DEFAULT NULL,
`t` date DEFAULT NULL
-) TABLESPACE ts1 STORAGE DISK ENGINE=ndbcluster DEFAULT CHARSET=latin1 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)
+) /*!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
@@ -66,7 +66,7 @@ t1 CREATE TABLE `t1` (
`total` bigint(20) unsigned DEFAULT NULL,
`y` year(4) DEFAULT NULL,
`t` date DEFAULT NULL
-) TABLESPACE ts1 STORAGE DISK ENGINE=ndbcluster DEFAULT CHARSET=latin1 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)
+) /*!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 "";
@@ -122,7 +122,7 @@ t1 CREATE TABLE `t1` (
`total` bigint(20) unsigned DEFAULT NULL,
`y` year(4) DEFAULT NULL,
`t` date DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 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)
+) /*!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;
@@ -137,7 +137,7 @@ t1 CREATE TABLE `t1` (
`total` bigint(20) unsigned DEFAULT NULL,
`y` year(4) DEFAULT NULL,
`t` date DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 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)
+) /*!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 "";
@@ -207,7 +207,7 @@ t1 CREATE TABLE `t1` (
`total` bigint(20) unsigned DEFAULT NULL,
`y` year(4) DEFAULT NULL,
`t` date DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 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)
+) /*!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
@@ -221,7 +221,7 @@ t1 CREATE TABLE `t1` (
`total` bigint(20) unsigned DEFAULT NULL,
`y` year(4) DEFAULT NULL,
`t` date DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 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)
+) /*!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 "";
@@ -277,7 +277,7 @@ t1 CREATE TABLE `t1` (
`total` bigint(20) unsigned DEFAULT NULL,
`y` year(4) DEFAULT NULL,
`t` date DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 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)
+) /*!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;
@@ -292,7 +292,7 @@ t1 CREATE TABLE `t1` (
`total` bigint(20) unsigned DEFAULT NULL,
`y` year(4) DEFAULT NULL,
`t` date DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 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)
+) /*!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 "";
@@ -359,7 +359,7 @@ t1 CREATE TABLE `t1` (
`total` bigint(20) unsigned DEFAULT NULL,
`y` year(4) DEFAULT NULL,
`t` date DEFAULT NULL
-) TABLESPACE ts1 STORAGE DISK ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY HASH ( YEAR(t)) PARTITIONS 4
+) /*!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` (
@@ -372,7 +372,7 @@ t1 CREATE TABLE `t1` (
`total` bigint(20) unsigned DEFAULT NULL,
`y` year(4) DEFAULT NULL,
`t` date DEFAULT NULL
-) TABLESPACE ts1 STORAGE DISK ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY HASH ( YEAR(t)) PARTITIONS 4
+) /*!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 "";
@@ -397,11 +397,11 @@ 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 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
+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 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
+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 ---
@@ -428,7 +428,7 @@ t1 CREATE TABLE `t1` (
`total` bigint(20) unsigned DEFAULT NULL,
`y` year(4) DEFAULT NULL,
`t` date DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY HASH ( YEAR(t)) PARTITIONS 4
+) /*!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;
@@ -443,7 +443,7 @@ t1 CREATE TABLE `t1` (
`total` bigint(20) unsigned DEFAULT NULL,
`y` year(4) DEFAULT NULL,
`t` date DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY HASH ( YEAR(t)) PARTITIONS 4
+) /*!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 "";
@@ -468,11 +468,11 @@ 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 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
+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 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
+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 ---
@@ -511,7 +511,7 @@ t1 CREATE TABLE `t1` (
`y` year(4) DEFAULT NULL,
`t` date DEFAULT NULL,
PRIMARY KEY (`id`)
-) TABLESPACE ts1 STORAGE DISK ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY KEY () PARTITIONS 4
+) /*!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
@@ -526,7 +526,7 @@ t1 CREATE TABLE `t1` (
`y` year(4) DEFAULT NULL,
`t` date DEFAULT NULL,
PRIMARY KEY (`id`)
-) TABLESPACE ts1 STORAGE DISK ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY KEY () PARTITIONS 4
+) /*!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 "";
@@ -583,7 +583,7 @@ t1 CREATE TABLE `t1` (
`y` year(4) DEFAULT NULL,
`t` date DEFAULT NULL,
PRIMARY KEY (`id`,`total`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY KEY () PARTITIONS 4
+) /*!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;
@@ -599,7 +599,7 @@ t1 CREATE TABLE `t1` (
`y` year(4) DEFAULT NULL,
`t` date DEFAULT NULL,
PRIMARY KEY (`id`,`total`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY KEY () PARTITIONS 4
+) /*!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 "";
@@ -656,7 +656,7 @@ t1 CREATE TABLE `t1` (
`y` year(4) DEFAULT NULL,
`t` date DEFAULT NULL,
PRIMARY KEY (`id`,`total`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY KEY () PARTITIONS 4
+) /*!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;
@@ -672,7 +672,7 @@ t1 CREATE TABLE `t1` (
`y` year(4) DEFAULT NULL,
`t` date DEFAULT NULL,
PRIMARY KEY (`id`,`total`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY KEY () PARTITIONS 4
+) /*!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 "";
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_ddl.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_ddl.result
index aeaca1e7de0..e668b57293e 100644
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_ddl.result
+++ b/mysql-test/suite/rpl_ndb/r/rpl_ndb_ddl.result
@@ -1086,6 +1086,9 @@ 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';
@@ -1097,6 +1100,9 @@ Modified #
Created #
Security_type DEFINER
Comment
+character_set_client latin1
+collation_connection latin1_swedish_ci
+Database Collation latin1_swedish_ci
-------- switch to master -------
@@ -1149,6 +1155,9 @@ 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';
@@ -1160,6 +1169,9 @@ 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 -------
@@ -1251,13 +1263,13 @@ TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
-------- switch to master -------
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `f1` from `t1`
+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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `f1` from `t1`
+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 -------
@@ -1302,13 +1314,13 @@ TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
-------- switch to master -------
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `f1` from `t1`
+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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `f1` from `t1`
+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 -------
@@ -1402,13 +1414,13 @@ TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
-------- switch to master -------
SHOW TRIGGERS;
-Trigger Event Table Statement Timing Created sql_mode Definer
-trg1 INSERT t1 SET @a:=1 BEFORE NULL root@localhost
+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
-trg1 INSERT t1 SET @a:=1 BEFORE NULL root@localhost
+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 -------
@@ -1453,11 +1465,11 @@ TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
-------- switch to master -------
SHOW TRIGGERS;
-Trigger Event Table Statement Timing Created sql_mode Definer
+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
+Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
-------- switch to master -------
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_extraCol.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_extraCol.result
index edb4dfbf392..3ab515806e7 100644
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_extraCol.result
+++ b/mysql-test/suite/rpl_ndb/r/rpl_ndb_extraCol.result
@@ -33,6 +33,73 @@ a b c d e
3 4 QA NULL NULL
*** 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;
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 1535
+Last_Error Table definition on master and slave does not match: Column 2 size mismatch - master has size 10, test.t2 on slave has size 6. Master's column size should be <= the slave's column size.
+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 #
+Last_IO_Error #
+Last_SQL_Errno 1535
+Last_SQL_Error Table definition on master and slave does not match: Column 2 size mismatch - master has size 10, test.t2 on slave has size 6. Master's column size should be <= the slave's column size.
+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;
@@ -57,7 +124,7 @@ SHOW SLAVE STATUS;
Slave_IO_State #
Master_Host 127.0.0.1
Master_User root
-Master_Port MASTER_PORT
+Master_Port #
Connect_Retry 1
Master_Log_File master-bin.000001
Read_Master_Log_Pos #
@@ -69,10 +136,10 @@ Slave_SQL_Running No
Replicate_Do_DB
Replicate_Ignore_DB
Replicate_Do_Table
-Replicate_Ignore_Table
+Replicate_Ignore_Table #
Replicate_Wild_Do_Table
Replicate_Wild_Ignore_Table
-Last_Errno 1532
+Last_Errno 1535
Last_Error Table definition on master and slave does not match: Column 0 type mismatch - received type 252, test.t3 has type 3
Skip_Counter 0
Exec_Master_Log_Pos #
@@ -88,9 +155,9 @@ 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 1532
+Last_IO_Errno #
+Last_IO_Error #
+Last_SQL_Errno 1535
Last_SQL_Error Table definition on master and slave does not match: Column 0 type mismatch - received type 252, test.t3 has type 3
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
START SLAVE;
@@ -119,7 +186,7 @@ SHOW SLAVE STATUS;
Slave_IO_State #
Master_Host 127.0.0.1
Master_User root
-Master_Port MASTER_PORT
+Master_Port #
Connect_Retry 1
Master_Log_File master-bin.000001
Read_Master_Log_Pos #
@@ -131,10 +198,10 @@ Slave_SQL_Running No
Replicate_Do_DB
Replicate_Ignore_DB
Replicate_Do_Table
-Replicate_Ignore_Table
+Replicate_Ignore_Table #
Replicate_Wild_Do_Table
Replicate_Wild_Ignore_Table
-Last_Errno 1532
+Last_Errno 1535
Last_Error Table definition on master and slave does not match: Column 0 type mismatch - received type 246, test.t4 has type 3
Skip_Counter 0
Exec_Master_Log_Pos #
@@ -150,9 +217,9 @@ 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 1532
+Last_IO_Errno #
+Last_IO_Error #
+Last_SQL_Errno 1535
Last_SQL_Error Table definition on master and slave does not match: Column 0 type mismatch - received type 246, test.t4 has type 3
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
START SLAVE;
@@ -181,7 +248,7 @@ SHOW SLAVE STATUS;
Slave_IO_State #
Master_Host 127.0.0.1
Master_User root
-Master_Port MASTER_PORT
+Master_Port #
Connect_Retry 1
Master_Log_File master-bin.000001
Read_Master_Log_Pos #
@@ -193,10 +260,10 @@ Slave_SQL_Running No
Replicate_Do_DB
Replicate_Ignore_DB
Replicate_Do_Table
-Replicate_Ignore_Table
+Replicate_Ignore_Table #
Replicate_Wild_Do_Table
Replicate_Wild_Ignore_Table
-Last_Errno 1532
+Last_Errno 1535
Last_Error Table definition on master and slave does not match: Column 5 type mismatch - received type 4, test.t5 has type 246
Skip_Counter 0
Exec_Master_Log_Pos #
@@ -212,9 +279,9 @@ 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 1532
+Last_IO_Errno #
+Last_IO_Error #
+Last_SQL_Errno 1535
Last_SQL_Error Table definition on master and slave does not match: Column 5 type mismatch - received type 4, test.t5 has type 246
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
START SLAVE;
@@ -242,7 +309,7 @@ SHOW SLAVE STATUS;
Slave_IO_State #
Master_Host 127.0.0.1
Master_User root
-Master_Port MASTER_PORT
+Master_Port #
Connect_Retry 1
Master_Log_File master-bin.000001
Read_Master_Log_Pos #
@@ -254,10 +321,10 @@ Slave_SQL_Running No
Replicate_Do_DB
Replicate_Ignore_DB
Replicate_Do_Table
-Replicate_Ignore_Table
+Replicate_Ignore_Table #
Replicate_Wild_Do_Table
Replicate_Wild_Ignore_Table
-Last_Errno 1532
+Last_Errno 1535
Last_Error Table definition on master and slave does not match: Column 3 type mismatch - received type 16, test.t6 has type 3
Skip_Counter 0
Exec_Master_Log_Pos #
@@ -273,9 +340,9 @@ 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 1532
+Last_IO_Errno #
+Last_IO_Error #
+Last_SQL_Errno 1535
Last_SQL_Error Table definition on master and slave does not match: Column 3 type mismatch - received type 16, test.t6 has type 3
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=3;
*** Drop t6 ***
@@ -332,6 +399,62 @@ set @b1 = concat(@b1,@b1);
INSERT INTO t8 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
*** Drop t8 ***
DROP TABLE t8;
+STOP SLAVE;
+RESET SLAVE;
+CREATE TABLE t9 (a INT KEY, b BLOB, c CHAR(5),
+d TIMESTAMP,
+e INT NOT NULL) ENGINE='NDB';
+*** Create t9 on Master ***
+CREATE TABLE t9 (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 t9 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+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 Could not execute Write_rows event on table test.t9; Field 'e' doesn't have a default value, Error_code: 1364; handler error HA_ERR_ROWS_EVENT_APPLY; the event's master log master-bin.000001, end_log_pos 447
+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 #
+Last_IO_Error #
+Last_SQL_Errno 1364
+Last_SQL_Error Could not execute Write_rows event on table test.t9; Field 'e' doesn't have a default value, Error_code: 1364; handler error HA_ERR_ROWS_EVENT_APPLY; the event's master log master-bin.000001, end_log_pos 447
+SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
+START SLAVE;
*** Create t10 on slave ***
STOP SLAVE;
RESET SLAVE;
@@ -354,7 +477,7 @@ SHOW SLAVE STATUS;
Slave_IO_State #
Master_Host 127.0.0.1
Master_User root
-Master_Port MASTER_PORT
+Master_Port #
Connect_Retry 1
Master_Log_File master-bin.000001
Read_Master_Log_Pos #
@@ -366,10 +489,10 @@ Slave_SQL_Running No
Replicate_Do_DB
Replicate_Ignore_DB
Replicate_Do_Table
-Replicate_Ignore_Table
+Replicate_Ignore_Table #
Replicate_Wild_Do_Table
Replicate_Wild_Ignore_Table
-Last_Errno 1532
+Last_Errno 1535
Last_Error Table definition on master and slave does not match: Column 2 type mismatch - received type 254, test.t10 has type 5
Skip_Counter 0
Exec_Master_Log_Pos #
@@ -385,9 +508,9 @@ 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 1532
+Last_IO_Errno #
+Last_IO_Error #
+Last_SQL_Errno 1535
Last_SQL_Error Table definition on master and slave does not match: Column 2 type mismatch - received type 254, test.t10 has type 5
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
START SLAVE;
@@ -415,7 +538,7 @@ SHOW SLAVE STATUS;
Slave_IO_State #
Master_Host 127.0.0.1
Master_User root
-Master_Port MASTER_PORT
+Master_Port #
Connect_Retry 1
Master_Log_File master-bin.000001
Read_Master_Log_Pos #
@@ -427,10 +550,10 @@ Slave_SQL_Running No
Replicate_Do_DB
Replicate_Ignore_DB
Replicate_Do_Table
-Replicate_Ignore_Table
+Replicate_Ignore_Table #
Replicate_Wild_Do_Table
Replicate_Wild_Ignore_Table
-Last_Errno 1532
+Last_Errno 1535
Last_Error Table definition on master and slave does not match: Column 2 type mismatch - received type 15, test.t11 has type 252
Skip_Counter 0
Exec_Master_Log_Pos #
@@ -446,9 +569,9 @@ 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 1532
+Last_IO_Errno #
+Last_IO_Error #
+Last_SQL_Errno 1535
Last_SQL_Error Table definition on master and slave does not match: Column 2 type mismatch - received type 15, test.t11 has type 252
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
START SLAVE;
@@ -548,6 +671,66 @@ 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;
@@ -605,7 +788,7 @@ SHOW SLAVE STATUS;
Slave_IO_State #
Master_Host 127.0.0.1
Master_User root
-Master_Port MASTER_PORT
+Master_Port #
Connect_Retry 1
Master_Log_File master-bin.000001
Read_Master_Log_Pos #
@@ -617,7 +800,7 @@ Slave_SQL_Running No
Replicate_Do_DB
Replicate_Ignore_DB
Replicate_Do_Table
-Replicate_Ignore_Table
+Replicate_Ignore_Table #
Replicate_Wild_Do_Table
Replicate_Wild_Ignore_Table
Last_Errno 1060
@@ -636,11 +819,11 @@ Master_SSL_Cipher
Master_SSL_Key
Seconds_Behind_Master #
Master_SSL_Verify_Server_Cert No
-Last_IO_Errno 0
-Last_IO_Error
+Last_IO_Errno #
+Last_IO_Error #
Last_SQL_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'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
+SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
START SLAVE;
*** Try to insert in master ****
INSERT INTO t15 () VALUES(5,2.00,'Replication Testing',@b1,'Buda',2);
@@ -741,7 +924,7 @@ SHOW SLAVE STATUS;
Slave_IO_State #
Master_Host 127.0.0.1
Master_User root
-Master_Port MASTER_PORT
+Master_Port #
Connect_Retry 1
Master_Log_File master-bin.000001
Read_Master_Log_Pos #
@@ -753,10 +936,10 @@ Slave_SQL_Running No
Replicate_Do_DB
Replicate_Ignore_DB
Replicate_Do_Table
-Replicate_Ignore_Table
+Replicate_Ignore_Table #
Replicate_Wild_Do_Table
Replicate_Wild_Ignore_Table
-Last_Errno 1532
+Last_Errno 1535
Last_Error Table definition on master and slave does not match: Column 0 type mismatch - received type 8, test.t17 has type 2
Skip_Counter 0
Exec_Master_Log_Pos #
@@ -772,9 +955,9 @@ 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 1532
+Last_IO_Errno #
+Last_IO_Error #
+Last_SQL_Errno 1535
Last_SQL_Error Table definition on master and slave does not match: Column 0 type mismatch - received type 8, test.t17 has type 2
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
START SLAVE;
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb2ndb.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb2ndb.result
new file mode 100644
index 00000000000..cf4c67f063b
--- /dev/null
+++ b/mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb2ndb.result
@@ -0,0 +1,855 @@
+stop slave;
+drop table if exists t1,t2,t3,t4,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_log.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_log.result
index 979f27a599d..326506b0396 100644
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_log.result
+++ b/mysql-test/suite/rpl_ndb/r/rpl_ndb_log.result
@@ -32,7 +32,6 @@ 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: #
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
master-bin.000001 # Query 1 # COMMIT
show binlog events from 106 limit 1;
@@ -47,11 +46,153 @@ Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
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
start slave;
let $result_pattern= '%127.0.0.1%root%master-bin.000002%slave-relay-bin.000005%Yes%Yes%0%0%None%' ;
--source include/wait_slave_status.inc
+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;
stop slave;
create table t2 (n int)ENGINE=NDB;
@@ -71,7 +212,6 @@ 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: #
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
@@ -88,12 +228,12 @@ master-bin.000002 # Write_rows 1 # table_id: # flags: STMT_END_F
master-bin.000002 # Query 1 # COMMIT
show binary logs;
Log_name File_size
-master-bin.000001 1775
-master-bin.000002 617
+master-bin.000001 1760
+master-bin.000002 623
start slave;
show binary logs;
Log_name File_size
-slave-bin.000001 1870
+slave-bin.000001 1855
slave-bin.000002 202
show binlog events in 'slave-bin.000001' from 4;
Log_name Pos Event_type Server_id End_log_pos Info
@@ -111,7 +251,6 @@ slave-bin.000001 # Query 2 # BEGIN
slave-bin.000001 # Table_map 2 # table_id: # (test.t1)
slave-bin.000001 # Table_map 2 # table_id: # (mysql.ndb_apply_status)
slave-bin.000001 # Write_rows 2 # table_id: #
-slave-bin.000001 # Write_rows 1 # table_id: #
slave-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
slave-bin.000001 # Query 2 # COMMIT
slave-bin.000001 # Query 1 # use `test`; create table t3 (a int)ENGINE=NDB
@@ -133,7 +272,7 @@ Master_User root
Master_Port MASTER_PORT
Connect_Retry 1
Master_Log_File master-bin.000002
-Read_Master_Log_Pos 617
+Read_Master_Log_Pos 623
Relay_Log_File #
Relay_Log_Pos #
Relay_Master_Log_File master-bin.000002
@@ -148,7 +287,7 @@ Replicate_Wild_Ignore_Table
Last_Errno 0
Last_Error
Skip_Counter 0
-Exec_Master_Log_Pos 617
+Exec_Master_Log_Pos 623
Relay_Log_Space #
Until_Condition None
Until_Log_File
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_myisam2ndb.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_myisam2ndb.result
new file mode 100644
index 00000000000..35fc778a693
--- /dev/null
+++ b/mysql-test/suite/rpl_ndb/r/rpl_ndb_myisam2ndb.result
@@ -0,0 +1,855 @@
+stop slave;
+drop table if exists t1,t2,t3,t4,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_stm_innodb.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_stm_innodb.result
index 426a09f945c..db9920dd79f 100644
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_stm_innodb.result
+++ b/mysql-test/suite/rpl_ndb/r/rpl_ndb_stm_innodb.result
@@ -20,13 +20,27 @@ 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 <start_pos> limit 1;
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 <start_pos> Query 1 # use `test`; insert into t1 values (1,2)
+master-bin.000001 <start_pos> Query 1 # use `test`; BEGIN
+
+# Now the insert, one step after
show binlog events from <start_pos> limit 1,1;
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Xid 1 445 COMMIT /* XID */
+master-bin.000001 # Query 1 # use `test`; insert into t1 values (1,2)
+
+# and the COMMIT should be at <end_pos>
+
+show binlog events from <start_pos> limit 2,1;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Xid 1 <end_pos> COMMIT /* XID */
begin;
insert into t1 values (2,3);
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_transaction.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_transaction.result
new file mode 100644
index 00000000000..bbd0a873dc8
--- /dev/null
+++ b/mysql-test/suite/rpl_ndb/r/rpl_ndb_transaction.result
@@ -0,0 +1,110 @@
+stop slave;
+drop table if exists t1,t2,t3,t4,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
+==== Test 1: Non-XA Engines ====
+--- on master ---
+SET AUTOCOMMIT = 1;
+INSERT INTO tndb VALUES (1);
+INSERT INTO tmyisam VALUES (1);
+BEGIN;
+INSERT INTO tndb VALUES (2);
+INSERT INTO tndb VALUES (3);
+COMMIT;
+BEGIN;
+INSERT INTO tmyisam VALUES (2);
+INSERT INTO tmyisam VALUES (3);
+COMMIT;
+BEGIN;
+INSERT INTO tndb VALUES (4);
+INSERT INTO tmyisam VALUES (4);
+COMMIT;
+BEGIN;
+INSERT INTO tndb VALUES (5);
+INSERT INTO tndb VALUES (6);
+ROLLBACK;
+BEGIN;
+INSERT INTO tmyisam VALUES (5);
+INSERT INTO tmyisam VALUES (6);
+ROLLBACK;
+Warnings:
+Warning 1196 Some non-transactional changed tables couldn't be rolled back
+BEGIN;
+INSERT INTO tndb VALUES (7);
+INSERT INTO tmyisam VALUES (7);
+ROLLBACK;
+Warnings:
+Warning 1196 Some non-transactional changed tables couldn't be rolled back
+SELECT * FROM tndb ORDER BY a;
+a
+1
+2
+3
+4
+SELECT * FROM tmyisam ORDER BY a;
+a
+1
+2
+3
+4
+5
+6
+7
+--- on slave ---
+SELECT * FROM tndb ORDER BY a;
+a
+1
+2
+3
+4
+SELECT * FROM tmyisam ORDER BY a;
+a
+1
+2
+3
+4
+5
+6
+7
+==== Test 2: Master crash before writing XID event on XA engine ====
+--- on master ---
+INSERT INTO tinnodb VALUES (1);
+SELECT * FROM tinnodb ORDER BY a;
+a
+1
+--- on slave ---
+STOP SLAVE;
+SELECT "" AS Slave_IO_State;
+Slave_IO_State
+
+SELECT "" AS Last_SQL_Error;
+Last_SQL_Error
+
+SELECT "" AS Last_IO_Error;
+Last_IO_Error
+
+SELECT * FROM tinnodb ORDER BY a;
+a
+--- on master ---
+DROP TABLE tmyisam, tinnodb, tndb;
+DROP TABLE tmyisam, tinnodb, tndb;
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
index 5519e0dcd0c..08232817e92 100644
--- a/mysql-test/suite/rpl_ndb/r/rpl_row_basic_7ndb.result
+++ b/mysql-test/suite/rpl_ndb/r/rpl_row_basic_7ndb.result
@@ -370,6 +370,7 @@ 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;
@@ -377,6 +378,7 @@ 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
@@ -389,9 +391,9 @@ 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 '' for key '*UNKNOWN*'
+ERROR 23000: Duplicate entry '99' for key 'b'
INSERT INTO t8 VALUES (11,22,99);
-ERROR 23000: Duplicate entry '' for key '*UNKNOWN*'
+ERROR 23000: Duplicate entry '99' for key 'c'
SELECT * FROM t8 ORDER BY a;
a b c
99 99 99
@@ -406,8 +408,10 @@ a b c
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
@@ -415,4 +419,25 @@ a b c
2 4 8
3 6 9
99 99 99
+**** Test for BUG#31552 ****
+**** On Master ****
+DELETE FROM t1;
+**** Resetting master and slave ****
+STOP SLAVE;
+RESET SLAVE;
+RESET MASTER;
+START SLAVE;
+**** 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;
+Last_SQL_Error
+0
+SELECT COUNT(*) FROM t1 ORDER BY c1,c2;
+COUNT(*) 0
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7,t8;
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_truncate_7ndb.result b/mysql-test/suite/rpl_ndb/r/rpl_truncate_7ndb.result
index 602c4d55ac5..d6c57aed41b 100644
--- a/mysql-test/suite/rpl_ndb/r/rpl_truncate_7ndb.result
+++ b/mysql-test/suite/rpl_ndb/r/rpl_truncate_7ndb.result
@@ -32,14 +32,13 @@ 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 327 table_id: # (test.t1)
-master-bin.000001 327 Table_map 1 385 table_id: # (mysql.ndb_apply_status)
-master-bin.000001 385 Write_rows 1 444 table_id: #
-master-bin.000001 444 Write_rows 1 482 table_id: #
-master-bin.000001 482 Write_rows 1 520 table_id: # flags: STMT_END_F
-master-bin.000001 520 Query 1 585 COMMIT
-master-bin.000001 585 Query 1 665 use `test`; TRUNCATE TABLE t1
-master-bin.000001 665 Query 1 741 use `test`; DROP TABLE t1
+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);
@@ -69,27 +68,24 @@ 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 327 table_id: # (test.t1)
-master-bin.000001 327 Table_map 1 385 table_id: # (mysql.ndb_apply_status)
-master-bin.000001 385 Write_rows 1 444 table_id: #
-master-bin.000001 444 Write_rows 1 482 table_id: #
-master-bin.000001 482 Write_rows 1 520 table_id: # flags: STMT_END_F
-master-bin.000001 520 Query 1 585 COMMIT
-master-bin.000001 585 Query 1 665 use `test`; TRUNCATE TABLE t1
-master-bin.000001 665 Query 1 741 use `test`; DROP TABLE t1
-master-bin.000001 741 Query 1 858 use `test`; CREATE TABLE t1 (a INT PRIMARY KEY, b LONG) ENGINE=NDB
-master-bin.000001 858 Query 1 922 BEGIN
-master-bin.000001 922 Table_map 1 962 table_id: # (test.t1)
-master-bin.000001 962 Table_map 1 1020 table_id: # (mysql.ndb_apply_status)
-master-bin.000001 1020 Write_rows 1 1079 table_id: #
-master-bin.000001 1079 Write_rows 1 1117 table_id: #
-master-bin.000001 1117 Write_rows 1 1155 table_id: # flags: STMT_END_F
-master-bin.000001 1155 Query 1 1220 COMMIT
-master-bin.000001 1220 Query 1 1284 BEGIN
-master-bin.000001 1284 Table_map 1 1324 table_id: # (test.t1)
-master-bin.000001 1324 Table_map 1 1382 table_id: # (mysql.ndb_apply_status)
-master-bin.000001 1382 Write_rows 1 1441 table_id: #
-master-bin.000001 1441 Delete_rows 1 1475 table_id: #
-master-bin.000001 1475 Delete_rows 1 1509 table_id: # flags: STMT_END_F
-master-bin.000001 1509 Query 1 1574 COMMIT
-master-bin.000001 1574 Query 1 1650 use `test`; DROP TABLE t1
+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
index a1e6cef6fca..ebc99feeac6 100644
--- a/mysql-test/suite/rpl_ndb/t/disabled.def
+++ b/mysql-test/suite/rpl_ndb/t/disabled.def
@@ -10,20 +10,7 @@
#
##############################################################################
-
-rpl_ndb_circular_simplex : BUG#27972 2007-04-20 mats Slave cannot start where it stopped
-rpl_ndb_2innodb : BUG#19227 2006-04-20 pekka pk delete apparently not replicated
-rpl_ndb_2myisam : BUG#19227 Seems to pass currently
-rpl_ndb_dd_partitions : BUG#19259 2006-04-21 rpl_ndb_dd_partitions fails on s/AMD
-rpl_ndb_innodb2ndb : Bug#29549 rpl_ndb_myisam2ndb,rpl_ndb_innodb2ndb failed on Solaris for pack_length issue
-rpl_ndb_myisam2ndb : Bug#29549 rpl_ndb_myisam2ndb,rpl_ndb_innodb2ndb failed on Solaris for pack_length issue
-rpl_ndb_ddl : BUG#28798 2007-05-31 lars Valgrind failure in NDB
-rpl_ndb_mix_innodb : BUG#28123 rpl_ndb_mix_innodb.test casue slave to core on sol10-sparc-a
-rpl_ndb_ctype_ucs2_def : BUG#27404 util thd mysql_parse sig11 when mysqld default multibyte charset
-
+rpl_ndb_circular : Bug#33849 COMMIT event missing in cluster circular replication.
+rpl_ndb_circular_simplex : Bug#33849 COMMIT event missing in cluster circular replication.
# the below testcase have been reworked to avoid the bug, test contains comment, keep bug open
-
-#rpl_ndb_dd_advance : Bug#25913 rpl_ndb_dd_advance fails randomly
-rpl_ndb_extraCol : Bug#29809 2007-07-15 ingo Slave SQL errors in warnings file
-rpl_truncate_7ndb : Bug#29809 2007-07-15 ingo Slave SQL errors in warnings file
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
index 701dddb075b..9a3f30e4bd0 100644
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_2innodb-master.opt
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_2innodb-master.opt
@@ -1 +1 @@
---default-storage-engine=ndbcluster
+--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
index d8857e54be2..0d3f1619f1e 100644
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_2innodb-slave.opt
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_2innodb-slave.opt
@@ -1 +1 @@
---innodb --default-storage-engine=innodb
+--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
index 30e4e49eb7a..43ad901d746 100644
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_2innodb.test
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_2innodb.test
@@ -8,9 +8,20 @@
# test and to have control over the tests.
##############################################################
-- source include/have_ndb.inc
--- source include/ndb_master-slave.inc
-connection slave;
+-- source include/master-slave.inc
+
+-- connection slave
-- source include/have_innodb.inc
-connection master;
-SET storage_engine=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
+
+--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
index 701dddb075b..b63ef44e8fc 100644
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_2myisam-master.opt
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_2myisam-master.opt
@@ -1 +1 @@
---default-storage-engine=ndbcluster
+--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
index 6035ce27c46..9b5f524e131 100644
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_2myisam-slave.opt
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_2myisam-slave.opt
@@ -1 +1 @@
---default-storage-engine=myisam
+--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
index 182d4c72d87..b19116ffd78 100644
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_2myisam.test
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_2myisam.test
@@ -8,6 +8,19 @@
# test and to have control over the tests.
##############################################################
-- source include/have_ndb.inc
--- source include/ndb_master-slave.inc
-SET storage_engine=ndb;
+-- source include/master-slave.inc
+
+-- connection 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;
+
--source extra/rpl_tests/rpl_ndb_2multi_eng.test
+
+--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
new file mode 100644
index 00000000000..5304fd49b6b
--- /dev/null
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_2ndb-slave.opt
@@ -0,0 +1 @@
+--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
new file mode 100644
index 00000000000..1657a6902ba
--- /dev/null
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_2ndb.test
@@ -0,0 +1,18 @@
+#############################################################
+# 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/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
new file mode 100644
index 00000000000..188b31efa8a
--- /dev/null
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_2other-slave.opt
@@ -0,0 +1 @@
+--innodb --ndbcluster=0 --log-slave-updates=0
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_2other.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_2other.test
new file mode 100644
index 00000000000..67e8f7cea42
--- /dev/null
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_2other.test
@@ -0,0 +1,40 @@
+#############################################################
+# 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;
+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;
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_UUID.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_UUID.test
index 7bae9a341a4..ea623a06fd1 100644
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_UUID.test
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_UUID.test
@@ -2,7 +2,7 @@
# By JBM 2005-02-15 Wrapped to allow reuse of test code#
########################################################
--source include/have_ndb.inc
---source include/have_binlog_format_row.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
new file mode 100644
index 00000000000..3f4aff8a321
--- /dev/null
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_apply_status-master.opt
@@ -0,0 +1 @@
+--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
new file mode 100644
index 00000000000..cc74acc6490
--- /dev/null
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_apply_status.test
@@ -0,0 +1,26 @@
+-- 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_bank.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_bank.test
index c9b0d8bad9c..ce951f01212 100644
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_bank.test
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_bank.test
@@ -12,7 +12,7 @@
--source include/have_ndb.inc
--source include/have_ndb_extra.inc
---source include/have_binlog_format_row.inc
+--source include/have_binlog_format_mixed_or_row.inc
--source include/ndb_master-slave.inc
# kill any trailing processes
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_basic.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_basic.test
index 5bec4aee8c6..c7d8db8ef8b 100644
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_basic.test
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_basic.test
@@ -1,5 +1,4 @@
--source include/have_ndb.inc
---source include/have_binlog_format_row.inc
--source include/ndb_master-slave.inc
@@ -185,14 +184,11 @@ set GLOBAL slave_transaction_retries=1;
--echo **** On Master ****
UPDATE t1 SET `nom`="DEAD" WHERE `nid`=1;
-# wait for deadlock to be detected
-# sleep longer than dead lock detection timeout in config
-# we do this 2 times, once with few retries to verify that we
-# get a failure with the set sleep, and once with the _same_
-# sleep, but with more retries to get it to succeed
---sleep 5
+# Wait for deadlock to be detected.
+# When detected, the slave will stop, so we just wait for it to stop.
+source include/wait_for_slave_sql_to_stop.inc;
-# replication should have stopped, since max retries where not enough
+# Replication should have stopped, since max retries were not enough.
# verify with show slave status
--connection slave
--echo **** On Slave ****
@@ -203,9 +199,14 @@ UPDATE t1 SET `nom`="DEAD" WHERE `nid`=1;
# now set max retries high enough to succeed, and start slave again
set GLOBAL slave_transaction_retries=10;
START SLAVE;
-# wait for deadlock to be detected and retried
-# should be the same sleep as above for test to be valid
---sleep 5
+source include/wait_for_slave_to_start.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;
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_blob.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_blob.test
index aa80ab8ede5..822f1f224cd 100644
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_blob.test
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_blob.test
@@ -1,5 +1,4 @@
--source include/have_ndb.inc
---source include/have_binlog_format_row.inc
--source include/ndb_master-slave.inc
#
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_blob2.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_blob2.test
index d94294eedcb..e29f24998fe 100644
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_blob2.test
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_blob2.test
@@ -4,7 +4,6 @@
# code between engine tests #
#################################
-- source include/have_ndb.inc
--- source include/have_binlog_format_row.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_charset.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_charset.test
deleted file mode 100644
index 4bac267443e..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_charset.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_row.inc
--- source include/ndb_master-slave.inc
-let $engine_type=NDB;
--- source extra/rpl_tests/rpl_row_charset.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
index 34fcf968199..c1a48d08c53 100644
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_circular.test
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_circular.test
@@ -1,5 +1,4 @@
--source include/have_ndb.inc
---source include/have_binlog_format_row.inc
--source include/ndb_master-slave.inc
# set up circular replication
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
index 633bbd75006..fcbff1392f4 100644
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_simplex.test
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_simplex.test
@@ -1,5 +1,4 @@
--source include/have_ndb.inc
---source include/have_binlog_format_row.inc
--source include/ndb_master-slave.inc
connection master;
@@ -36,7 +35,6 @@ 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";
-RESET MASTER;
START SLAVE;
connection slave;
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
index 7adb62d5668..8c45ac5dbdd 100644
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_commit_afterflush.test
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_commit_afterflush.test
@@ -6,6 +6,5 @@
#####################################
-- source include/have_ndb.inc
-- source include/ndb_master-slave.inc
--- source include/have_log_bin.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_dd_basic.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_basic.test
index ca583860b91..ac0ab01f8dd 100644
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_basic.test
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_basic.test
@@ -1,5 +1,5 @@
--source include/have_ndb.inc
---source include/have_binlog_format_row.inc
+--source include/have_binlog_format_mixed_or_row.inc
--source include/ndb_master-slave.inc
--disable_warnings
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
new file mode 100644
index 00000000000..dc4f5360927
--- /dev/null
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_partitions-master.opt
@@ -0,0 +1 @@
+--new=true
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
new file mode 100644
index 00000000000..dc4f5360927
--- /dev/null
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_partitions-slave.opt
@@ -0,0 +1 @@
+--new=true
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
index fe6db98dd13..c84854e89e8 100644
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_partitions.test
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_partitions.test
@@ -6,7 +6,7 @@
#######################################
--source include/have_ndb.inc
---source include/have_binlog_format_row.inc
+--source include/have_binlog_format_mixed_or_row.inc
--source include/ndb_master-slave.inc
--echo --- Doing pre test cleanup ---
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_ddl.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_ddl.test
index f2c32ac2cd5..654d1c08944 100644
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_ddl.test
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_ddl.test
@@ -24,7 +24,7 @@
#
--source include/have_ndb.inc
---source include/have_binlog_format_row.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;
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
index 49ba07b2fde..6b1d932f9a6 100644
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_delete_nowhere.test
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_delete_nowhere.test
@@ -3,7 +3,6 @@
# Share test code between engine tests #
#########################################
--source include/have_ndb.inc
--- source include/have_binlog_format_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.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_do_db.test
index 3e450a1fe4b..ffe8551d00f 100644
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_do_db.test
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_do_db.test
@@ -6,7 +6,6 @@
##########################################################
--source include/have_ndb.inc
---source include/have_binlog_format_row.inc
--source include/ndb_master-slave.inc
--disable_warnings
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
index 6e36ab407a1..ee6abd580f5 100644
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_do_table.test
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_do_table.test
@@ -6,7 +6,6 @@
##########################################################
--source include/have_ndb.inc
---source include/have_binlog_format_row.inc
--source include/ndb_master-slave.inc
--disable_warnings
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_extraCol.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_extraCol.test
index 292b8bbfa45..9cf4f8dba0b 100644
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_extraCol.test
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_extraCol.test
@@ -4,7 +4,7 @@
# Purpose: Wapper for rpl_extraSlave_Col.test
# Using NDB
###########################################
--- source include/have_binlog_format_row.inc
+-- source include/have_binlog_format_mixed_or_row.inc
-- source include/have_ndb.inc
-- source include/ndb_master-slave.inc
let $engine_type = 'NDB';
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_func003.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_func003.test
index f91c891f943..c02d82e2dc9 100644
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_func003.test
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_func003.test
@@ -7,7 +7,6 @@
# reduce test case code #
###################################
-- source include/have_ndb.inc
--- source include/have_binlog_format_row.inc
-- source include/ndb_master-slave.inc
let $engine_type=NDB;
-- source extra/rpl_tests/rpl_row_func003.test
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_idempotent.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_idempotent.test
index 0bae33c5d40..3133ad34f0c 100644
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_idempotent.test
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_idempotent.test
@@ -1,5 +1,5 @@
--source include/have_ndb.inc
---source include/have_binlog_format_row.inc
+--source include/have_binlog_format_mixed_or_row.inc
--source include/ndb_master-slave.inc
#
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
index 7f9eb96dff1..b63ef44e8fc 100644
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb2ndb-slave.opt
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb2ndb-slave.opt
@@ -1 +1 @@
---default-storage-engine=ndbcluster
+--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
index 8f67802c055..92374c26742 100644
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb2ndb.test
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb2ndb.test
@@ -7,8 +7,9 @@
# 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_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.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb_trans.test
index 63c5c5e93e3..2f2414ba578 100644
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb_trans.test
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb_trans.test
@@ -3,7 +3,6 @@
-- source include/have_ndb.inc
-- source include/have_innodb.inc
-- source include/ndb_master-slave.inc
--- source include/have_log_bin.inc
create table t1 (a int, unique(a)) engine=ndbcluster;
create table t2 (a int, unique(a)) engine=innodb;
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
index 5137c81c0cd..e6c66011fb7 100644
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_insert_ignore.test
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_insert_ignore.test
@@ -2,7 +2,6 @@
# Wrapper for rpl_insert_ignore.test#
#####################################
-- source include/have_ndb.inc
--- source include/have_binlog_format_row.inc
-- source include/ndb_master-slave.inc
let $engine_type=NDB;
let $engine_type2=myisam;
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_multi.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_multi.test
index ab92b65ba19..1ee9aaf5372 100644
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_multi.test
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_multi.test
@@ -1,5 +1,5 @@
--source include/have_multi_ndb.inc
---source include/have_binlog_format_row.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
@@ -56,15 +56,12 @@ DELETE FROM t1 WHERE c3 = 2;
SELECT * FROM t1 ORDER BY c3;
-save_master_pos;
-
# 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;
+sync_slave_with_master;
connection slave;
---sleep 2
SELECT * FROM t1 ORDER BY c3;
STOP SLAVE;
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
index 75f4b63aae2..6b86f8146f8 100644
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_update2.test
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_update2.test
@@ -6,7 +6,7 @@
# 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_row.inc
+-- source include/have_binlog_format_mixed_or_row.inc
-- source include/ndb_master-slave.inc
let $engine_type=NDB;
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
index fbf44d66408..f144965e9b0 100644
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_update3.test
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_update3.test
@@ -3,7 +3,6 @@
# to reuse test code between engine runs #
############################################################
-- source include/have_ndb.inc
--- source include/have_binlog_format_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-master.opt b/mysql-test/suite/rpl_ndb/t/rpl_ndb_myisam2ndb-master.opt
deleted file mode 100644
index 83ed8522e72..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_myisam2ndb-master.opt
+++ /dev/null
@@ -1 +0,0 @@
---binlog-format=row
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
index 7f9eb96dff1..b63ef44e8fc 100644
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_myisam2ndb-slave.opt
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_myisam2ndb-slave.opt
@@ -1 +1 @@
---default-storage-engine=ndbcluster
+--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
index 2ed151b7a87..a9e56d17139 100644
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_myisam2ndb.test
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_myisam2ndb.test
@@ -7,6 +7,8 @@
# 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_rep_ignore.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_rep_ignore.test
index f010d96b5ee..1f305d20c92 100644
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_rep_ignore.test
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_rep_ignore.test
@@ -7,7 +7,6 @@
##########################################################
--source include/have_ndb.inc
---source include/have_binlog_format_row.inc
--source include/ndb_master-slave.inc
--disable_warnings
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
index 4429ea177d3..f5b05080131 100644
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_row_001.test
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_row_001.test
@@ -2,7 +2,6 @@
# By JBM 2005-02-15 Wrapped to allow reuse of test code#
########################################################
--source include/have_ndb.inc
--- source include/have_binlog_format_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_sp003.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_sp003.test
index 1774a313851..6453f45aa75 100644
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_sp003.test
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_sp003.test
@@ -5,7 +5,6 @@
# For different engines #
#################################
-- source include/have_ndb.inc
--- source include/have_binlog_format_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
index 0003781f54e..c2c7be6112c 100644
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_sp006.test
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_sp006.test
@@ -5,7 +5,6 @@
# For different engines #
#################################
-- source include/have_ndb.inc
--- source include/have_binlog_format_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_sync.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_sync.test
index 6db75cf1e36..116f0879ca0 100644
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_sync.test
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_sync.test
@@ -1,7 +1,7 @@
--source include/have_ndb.inc
--source include/ndb_default_cluster.inc
--source include/not_embedded.inc
---source include/have_binlog_format_row.inc
+--source include/have_binlog_format_mixed_or_row.inc
--source include/ndb_master-slave.inc
#
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_transaction-master.opt b/mysql-test/suite/rpl_ndb/t/rpl_ndb_transaction-master.opt
new file mode 100644
index 00000000000..5411960b4aa
--- /dev/null
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_transaction-master.opt
@@ -0,0 +1 @@
+--innodb --debug=d,do_not_write_xid
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_transaction-slave.opt b/mysql-test/suite/rpl_ndb/t/rpl_ndb_transaction-slave.opt
new file mode 100644
index 00000000000..627becdbfb5
--- /dev/null
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_transaction-slave.opt
@@ -0,0 +1 @@
+--innodb
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_transaction.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_transaction.test
new file mode 100644
index 00000000000..5700e0fa422
--- /dev/null
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_transaction.test
@@ -0,0 +1,131 @@
+# Tests that transactions are replicated correctly, with various
+# combinations of non-transactional and transactional non-XA tables.
+# Also tests that an XA transaction where the master crashes just
+# before writing the XID log event is executed correctly. See below
+# for implementation details.
+
+source include/ndb_master-slave.inc;
+source include/have_ndb.inc;
+source include/have_debug.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 ==== Test 1: Non-XA Engines ====
+# Test that everything works fine with non-XA engines. We just try
+# all ways to do transactions involving ndb and/or myisam, with
+# rollback or commit.
+
+--echo --- on master ---
+
+SET AUTOCOMMIT = 1;
+
+INSERT INTO tndb VALUES (1);
+INSERT INTO tmyisam VALUES (1);
+
+BEGIN;
+INSERT INTO tndb VALUES (2);
+INSERT INTO tndb VALUES (3);
+COMMIT;
+
+BEGIN;
+INSERT INTO tmyisam VALUES (2);
+INSERT INTO tmyisam VALUES (3);
+COMMIT;
+
+BEGIN;
+INSERT INTO tndb VALUES (4);
+INSERT INTO tmyisam VALUES (4);
+COMMIT;
+
+BEGIN;
+INSERT INTO tndb VALUES (5);
+INSERT INTO tndb VALUES (6);
+ROLLBACK;
+
+BEGIN;
+INSERT INTO tmyisam VALUES (5);
+INSERT INTO tmyisam VALUES (6);
+#--warning 1196
+ROLLBACK;
+
+BEGIN;
+INSERT INTO tndb VALUES (7);
+INSERT INTO tmyisam VALUES (7);
+#--warning 1196
+ROLLBACK;
+
+SELECT * FROM tndb ORDER BY a;
+SELECT * FROM tmyisam ORDER BY a;
+
+--echo --- on slave ---
+--sync_slave_with_master
+SELECT * FROM tndb ORDER BY a;
+SELECT * FROM tmyisam ORDER BY a;
+
+
+--echo ==== Test 2: Master crash before writing XID event on XA engine ====
+# We now want to test the following scenario, to verify that BUG#26395
+# has been fixed:
+
+# "master and slave have a transactional table that uses XA. Master
+# has AUTOCOMMIT on and executes a statement (in this case an
+# INSERT). Master crashes just before writing the XID event."
+
+# In this scenario, master will roll back, so slave should not execute
+# the statement, and slave should roll back later when master is
+# restarted.
+
+# However, we want the master to be alive so that we are sure it
+# replicates the statement to the slave. So in the test case, we must
+# therefore not crash the master. Instead, we fake the crash by just
+# not writing the XID event to the binlog. This is done by the
+# --debug=d,do_not_write_xid flag in the .opt file.
+
+# So, unlike if the master had crashed, the master *will* execute the
+# statement. But the slave should not execute it. Hence, after the
+# first test is executed, the expected result on master is a table
+# with one row, and on slave a table with no rows.
+
+# To simulate the slave correctly, we wait until everything up to the
+# XID is replicated. We cannot sync_slave_with_master, because that
+# would wait for the transaction to end. Instead, we wait for
+# "sufficiently long time". Then we stop the slave.
+
+# Note: since this puts the master binlog in an inconsistent state,
+# this should be the last test of the file.
+
+--echo --- on master ---
+--connection master
+
+INSERT INTO tinnodb VALUES (1);
+SELECT * FROM tinnodb ORDER BY a;
+
+--echo --- on slave ---
+--connection slave
+--sleep 3
+STOP SLAVE;
+source include/wait_for_slave_to_stop.inc;
+let $tmp= query_get_value("SHOW SLAVE STATUS", Slave_IO_State, 1);
+eval SELECT "$tmp" AS Slave_IO_State;
+let $tmp= query_get_value("SHOW SLAVE STATUS", Last_SQL_Error, 1);
+eval SELECT "$tmp" AS Last_SQL_Error;
+let $tmp= query_get_value("SHOW SLAVE STATUS", Last_IO_Error, 1);
+eval SELECT "$tmp" AS Last_IO_Error;
+SELECT * FROM tinnodb ORDER BY a;
+
+# Clean up. We cannot do it on master and replicate over, because
+# master binlog is in a bad state after last test. So we do it both on
+# master and on slave.
+--echo --- on master ---
+connection master;
+DROP TABLE tmyisam, tinnodb, tndb;
+
+connection slave;
+DROP TABLE tmyisam, tinnodb, tndb;
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_trig004.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_trig004.test
index f9674e43c50..7f7e08685bf 100644
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_trig004.test
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_trig004.test
@@ -7,7 +7,6 @@
#############################################################################
# Includes
--- source include/have_binlog_format_row.inc
-- source include/have_ndb.inc
-- source include/ndb_master-slave.inc
let $engine_type=NDB;
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndbapi_multi.test b/mysql-test/suite/rpl_ndb/t/rpl_ndbapi_multi.test
index c33d0d296ad..5067722bb79 100644
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndbapi_multi.test
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndbapi_multi.test
@@ -1,5 +1,5 @@
-- source include/have_ndb.inc
--- source include/have_binlog_format_row.inc
+-- source include/have_binlog_format_mixed_or_row.inc
-- source include/have_ndbapi_examples.inc
-- source include/ndb_master-slave.inc
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
index 7cf039a1c21..3a17de1bc9e 100644
--- a/mysql-test/suite/rpl_ndb/t/rpl_row_basic_7ndb.test
+++ b/mysql-test/suite/rpl_ndb/t/rpl_row_basic_7ndb.test
@@ -1,5 +1,5 @@
-- source include/have_ndb.inc
--- source include/have_binlog_format_row.inc
+-- source include/have_binlog_format_mixed_or_row.inc
-- source include/ndb_master-slave.inc
let $type= 'NDB' ;
diff --git a/mysql-test/suite/stress/include/ddl3.inc b/mysql-test/suite/stress/include/ddl3.inc
index aacf09f9428..d41c8506be4 100644
--- a/mysql-test/suite/stress/include/ddl3.inc
+++ b/mysql-test/suite/stress/include/ddl3.inc
@@ -24,7 +24,7 @@
#----------------------------------------------------------------------
# Settings for Subtest 3 variants
# Scenario: CREATE TABLE/CREATE TABLE(F)/DROP TABLE/DROP TABLE(F)
-let $create_table= CREATE TABLE t1 (f1 BIGINT) ENGINE=$engine_type;
+let $create_table= CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=$engine_type;
let $drop_table= DROP TABLE t1;
#----------------------------------------------------------------------
diff --git a/mysql-test/suite/stress/r/ddl_archive.result b/mysql-test/suite/stress/r/ddl_archive.result
index 47c64a6af94..457fc30b9f9 100644
--- a/mysql-test/suite/stress/r/ddl_archive.result
+++ b/mysql-test/suite/stress/r/ddl_archive.result
@@ -29,26 +29,26 @@ DROP TABLE IF EXISTS 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) ENGINE=ARCHIVE
-# default: CREATE TABLE t1 (f1 BIGINT) ENGINE=ARCHIVE (expect to get ER_TABLE_EXISTS_ERROR)
+# default: CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=ARCHIVE
+# default: CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=ARCHIVE (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) ENGINE=ARCHIVE
-# default: CREATE TABLE t1 (f1 BIGINT) ENGINE=ARCHIVE (expect to get ER_TABLE_EXISTS_ERROR)
+# default: CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=ARCHIVE
+# default: CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=ARCHIVE (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) ENGINE=ARCHIVE
-# con2: CREATE TABLE t1 (f1 BIGINT) ENGINE=ARCHIVE (expect to get ER_TABLE_EXISTS_ERROR)
+# default: CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=ARCHIVE
+# con2: CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=ARCHIVE (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) ENGINE=ARCHIVE
-# con2: CREATE TABLE t1 (f1 BIGINT) ENGINE=ARCHIVE (expect to get ER_TABLE_EXISTS_ERROR)
+# default: CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=ARCHIVE
+# con2: CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=ARCHIVE (expect to get ER_TABLE_EXISTS_ERROR)
# default: DROP TABLE t1
# con2: DROP TABLE t1 (expect to get ER_BAD_TABLE_ERROR)
# Subtest 5A (one connection, no PREPARE/EXECUTE)
diff --git a/mysql-test/suite/stress/r/ddl_csv.result b/mysql-test/suite/stress/r/ddl_csv.result
index 3dfa0c8fd15..2346638360b 100644
--- a/mysql-test/suite/stress/r/ddl_csv.result
+++ b/mysql-test/suite/stress/r/ddl_csv.result
@@ -29,26 +29,26 @@ DROP TABLE IF EXISTS 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) ENGINE=CSV
-# default: CREATE TABLE t1 (f1 BIGINT) ENGINE=CSV (expect to get ER_TABLE_EXISTS_ERROR)
+# default: CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=CSV
+# default: CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=CSV (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) ENGINE=CSV
-# default: CREATE TABLE t1 (f1 BIGINT) ENGINE=CSV (expect to get ER_TABLE_EXISTS_ERROR)
+# default: CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=CSV
+# default: CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=CSV (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) ENGINE=CSV
-# con2: CREATE TABLE t1 (f1 BIGINT) ENGINE=CSV (expect to get ER_TABLE_EXISTS_ERROR)
+# default: CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=CSV
+# con2: CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=CSV (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) ENGINE=CSV
-# con2: CREATE TABLE t1 (f1 BIGINT) ENGINE=CSV (expect to get ER_TABLE_EXISTS_ERROR)
+# default: CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=CSV
+# con2: CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=CSV (expect to get ER_TABLE_EXISTS_ERROR)
# default: DROP TABLE t1
# con2: DROP TABLE t1 (expect to get ER_BAD_TABLE_ERROR)
DEALLOCATE PREPARE stmt_start;
diff --git a/mysql-test/suite/stress/r/ddl_innodb.result b/mysql-test/suite/stress/r/ddl_innodb.result
index 6417d3e1c5c..911aed2622a 100644
--- a/mysql-test/suite/stress/r/ddl_innodb.result
+++ b/mysql-test/suite/stress/r/ddl_innodb.result
@@ -53,26 +53,26 @@ ENGINE = InnoDB
# 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) ENGINE=InnoDB
-# default: CREATE TABLE t1 (f1 BIGINT) ENGINE=InnoDB (expect to get ER_TABLE_EXISTS_ERROR)
+# default: CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=InnoDB
+# default: CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=InnoDB (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) ENGINE=InnoDB
-# default: CREATE TABLE t1 (f1 BIGINT) ENGINE=InnoDB (expect to get ER_TABLE_EXISTS_ERROR)
+# default: CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=InnoDB
+# default: CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=InnoDB (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) ENGINE=InnoDB
-# con2: CREATE TABLE t1 (f1 BIGINT) ENGINE=InnoDB (expect to get ER_TABLE_EXISTS_ERROR)
+# default: CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=InnoDB
+# con2: CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=InnoDB (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) ENGINE=InnoDB
-# con2: CREATE TABLE t1 (f1 BIGINT) ENGINE=InnoDB (expect to get ER_TABLE_EXISTS_ERROR)
+# default: CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=InnoDB
+# con2: CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=InnoDB (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=InnoDB;
diff --git a/mysql-test/suite/stress/r/ddl_memory.result b/mysql-test/suite/stress/r/ddl_memory.result
index 1700fbc2745..7ad9f9a61c5 100644
--- a/mysql-test/suite/stress/r/ddl_memory.result
+++ b/mysql-test/suite/stress/r/ddl_memory.result
@@ -53,26 +53,26 @@ ENGINE = MEMORY
# 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) ENGINE=MEMORY
-# default: CREATE TABLE t1 (f1 BIGINT) ENGINE=MEMORY (expect to get ER_TABLE_EXISTS_ERROR)
+# default: CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=MEMORY
+# default: CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=MEMORY (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) ENGINE=MEMORY
-# default: CREATE TABLE t1 (f1 BIGINT) ENGINE=MEMORY (expect to get ER_TABLE_EXISTS_ERROR)
+# default: CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=MEMORY
+# default: CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=MEMORY (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) ENGINE=MEMORY
-# con2: CREATE TABLE t1 (f1 BIGINT) ENGINE=MEMORY (expect to get ER_TABLE_EXISTS_ERROR)
+# default: CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=MEMORY
+# con2: CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=MEMORY (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) ENGINE=MEMORY
-# con2: CREATE TABLE t1 (f1 BIGINT) ENGINE=MEMORY (expect to get ER_TABLE_EXISTS_ERROR)
+# default: CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=MEMORY
+# con2: CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=MEMORY (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=MEMORY;
diff --git a/mysql-test/suite/stress/r/ddl_myisam.result b/mysql-test/suite/stress/r/ddl_myisam.result
index 82be55b8371..808b22dc859 100644
--- a/mysql-test/suite/stress/r/ddl_myisam.result
+++ b/mysql-test/suite/stress/r/ddl_myisam.result
@@ -53,26 +53,26 @@ ENGINE = MyISAM
# 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) ENGINE=MyISAM
-# default: CREATE TABLE t1 (f1 BIGINT) ENGINE=MyISAM (expect to get ER_TABLE_EXISTS_ERROR)
+# default: CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=MyISAM
+# default: CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=MyISAM (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) ENGINE=MyISAM
-# default: CREATE TABLE t1 (f1 BIGINT) ENGINE=MyISAM (expect to get ER_TABLE_EXISTS_ERROR)
+# default: CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=MyISAM
+# default: CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=MyISAM (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) ENGINE=MyISAM
-# con2: CREATE TABLE t1 (f1 BIGINT) ENGINE=MyISAM (expect to get ER_TABLE_EXISTS_ERROR)
+# default: CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=MyISAM
+# con2: CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=MyISAM (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) ENGINE=MyISAM
-# con2: CREATE TABLE t1 (f1 BIGINT) ENGINE=MyISAM (expect to get ER_TABLE_EXISTS_ERROR)
+# default: CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=MyISAM
+# con2: CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=MyISAM (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=MyISAM;
diff --git a/mysql-test/suite/stress/r/ddl_ndb.result b/mysql-test/suite/stress/r/ddl_ndb.result
index 39146e65fb0..05c29456f7c 100644
--- a/mysql-test/suite/stress/r/ddl_ndb.result
+++ b/mysql-test/suite/stress/r/ddl_ndb.result
@@ -53,26 +53,26 @@ ENGINE = NDB
# 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) ENGINE=NDB
-# default: CREATE TABLE t1 (f1 BIGINT) ENGINE=NDB (expect to get ER_TABLE_EXISTS_ERROR)
+# 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) ENGINE=NDB
-# default: CREATE TABLE t1 (f1 BIGINT) ENGINE=NDB (expect to get ER_TABLE_EXISTS_ERROR)
+# 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) ENGINE=NDB
-# con2: CREATE TABLE t1 (f1 BIGINT) ENGINE=NDB (expect to get ER_TABLE_EXISTS_ERROR)
+# 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) ENGINE=NDB
-# con2: CREATE TABLE t1 (f1 BIGINT) ENGINE=NDB (expect to get ER_TABLE_EXISTS_ERROR)
+# 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;
diff --git a/mysql-test/suite/stress/t/ddl_ndb.test b/mysql-test/suite/stress/t/ddl_ndb.test
index 7eb45da8739..1e0a3680f8a 100644
--- a/mysql-test/suite/stress/t/ddl_ndb.test
+++ b/mysql-test/suite/stress/t/ddl_ndb.test
@@ -10,6 +10,8 @@
# Storage engine to be used in CREATE TABLE
--source include/have_ndb.inc
+connection default;
+
let $engine_type= NDB;
diff --git a/mysql-test/t/almost_full.test b/mysql-test/t/almost_full.test
new file mode 100644
index 00000000000..5c67ab3c088
--- /dev/null
+++ b/mysql-test/t/almost_full.test
@@ -0,0 +1,41 @@
+#
+# Some special cases with empty tables
+#
+
+--disable_warnings
+drop table if exists t1;
+--enable_warnings
+
+set global myisam_data_pointer_size=2;
+CREATE TABLE t1 (a int auto_increment primary key not null, b longtext) ENGINE=MyISAM;
+
+--disable_query_log
+let $1= 303;
+while ($1)
+{
+ INSERT INTO t1 SET b=repeat('a',200);
+ dec $1;
+}
+--enable_query_log
+
+DELETE FROM t1 WHERE a=1 or a=5;
+
+--error 1114
+INSERT INTO t1 SET b=repeat('a',600);
+CHECK TABLE t1 EXTENDED;
+
+--error 1114
+UPDATE t1 SET b=repeat('a', 800) where a=10;
+CHECK TABLE t1 EXTENDED;
+
+INSERT INTO t1 SET b=repeat('a',400);
+CHECK TABLE t1 EXTENDED;
+
+DELETE FROM t1 WHERE a=2 or a=6;
+UPDATE t1 SET b=repeat('a', 600) where a=11;
+CHECK TABLE t1 EXTENDED;
+drop table t1;
+
+set global myisam_data_pointer_size=default;
+
+# End of 4.1 tests
diff --git a/mysql-test/t/analyze.test b/mysql-test/t/analyze.test
index 7c9830bb468..0903db1eca4 100644
--- a/mysql-test/t/analyze.test
+++ b/mysql-test/t/analyze.test
@@ -72,4 +72,16 @@ analyze table t1;
show index from t1;
drop table t1;
-# End of 4.1 tests
+--echo End of 4.1 tests
+
+#
+# Bug #30495: optimize table t1,t2,t3 extended errors
+#
+create table t1(a int);
+--error 1064
+analyze table t1 extended;
+--error 1064
+optimize table t1 extended;
+drop table t1;
+
+--echo End of 5.0 tests
diff --git a/mysql-test/t/archive.test b/mysql-test/t/archive.test
index 23c591856a7..b42c8446a32 100644
--- a/mysql-test/t/archive.test
+++ b/mysql-test/t/archive.test
@@ -1320,7 +1320,7 @@ SELECT * FROM t2;
INSERT INTO t2 VALUES (2,011401,37,'breaking','dreaded','Steinberg','W');
INSERT INTO t2 VALUES (3,011402,37,'Romans','scholastics','jarring','');
INSERT INTO t2 VALUES (4,011403,37,'intercepted','audiology','tinily','');
-OPTIMIZE TABLE t2 EXTENDED;
+OPTIMIZE TABLE t2;
SELECT * FROM t2;
REPAIR TABLE t2;
SELECT * FROM t2;
@@ -1351,8 +1351,16 @@ SELECT * FROM t2;
# Test INSERT DELAYED and wait until the table has one more record
SELECT COUNT(auto) FROM t2;
-INSERT DELAYED INTO t2 VALUES (4,011403,37,'intercepted','audiology','tinily','');
-while (`SELECT COUNT(auto)!=1214 FROM t2`)
+INSERT DELAYED INTO t2 VALUES (99999,011403,37,'the','delayed','insert','');
+
+# Insert another record since in Archive delayed values are only
+# guaranteed to materialize based on either:
+# 1) A new row showing up from a normal insert
+# 2) A flush table has occurred.
+INSERT INTO t2 VALUES (100000,000001,00,'after','delayed','insert','');
+
+# Wait for the delayed insert to appear
+while (`SELECT COUNT(auto)!=1215 FROM t2`)
{
sleep 0.1;
}
@@ -1361,7 +1369,7 @@ SELECT COUNT(auto) FROM t2;
# Adding test for ALTER TABLE
ALTER TABLE t2 DROP COLUMN fld6;
SHOW CREATE TABLE t2;
-SELECT * FROM t2;
+SELECT * FROM t2 WHERE auto != 100000;
# Adding tests for autoincrement
@@ -1559,3 +1567,34 @@ insert into t1 set a='';
insert into t1 set a='a';
check table t1 extended;
drop table t1;
+
+#
+# BUG#31036 - Using order by with archive table crashes server
+#
+
+CREATE TABLE t1(a VARCHAR(510)) ENGINE = ARCHIVE;
+
+let $bug31036=41;
+--disable_query_log
+while($bug31036)
+{
+ INSERT INTO t1(a) VALUES (REPEAT('a', 510));
+ dec $bug31036;
+}
+--enable_query_log
+INSERT INTO t1(a) VALUES ('');
+
+--disable_result_log
+SELECT * FROM t1 ORDER BY a;
+--enable_result_log
+
+DROP TABLE t1;
+
+#
+# BUG#31833 - ORDER BY leads to wrong result when ARCHIVE, BLOB and table
+# cache is full
+#
+CREATE TABLE t1(a INT NOT NULL AUTO_INCREMENT, b BLOB, KEY(a)) ENGINE=archive;
+INSERT INTO t1 VALUES (NULL, NULL),(NULL, NULL);
+FLUSH TABLE t1;
+SELECT * FROM t1 ORDER BY a;
diff --git a/mysql-test/t/auto_increment.test b/mysql-test/t/auto_increment.test
index 99e9b783d55..ff92c743960 100644
--- a/mysql-test/t/auto_increment.test
+++ b/mysql-test/t/auto_increment.test
@@ -149,6 +149,7 @@ delete from t1 where a=0;
update t1 set a=0 where b=5;
select * from t1 order by b;
delete from t1 where a=0;
+--error 1048
update t1 set a=NULL where b=6;
update t1 set a=300 where b=7;
SET SQL_MODE='';
@@ -164,6 +165,7 @@ delete from t1 where a=0;
update t1 set a=0 where b=12;
select * from t1 order by b;
delete from t1 where a=0;
+--error 1048
update t1 set a=NULL where b=13;
update t1 set a=500 where b=14;
select * from t1 order by b;
diff --git a/mysql-test/t/backup.test b/mysql-test/t/backup.test
index 0b4b9b84094..cdbf7b69615 100644
--- a/mysql-test/t/backup.test
+++ b/mysql-test/t/backup.test
@@ -57,7 +57,16 @@ unlock tables;
connection con1;
reap;
drop table t5;
---system rm $MYSQLTEST_VARDIR/tmp/t?.*
+remove_file $MYSQLTEST_VARDIR/tmp/t1.MYD;
+remove_file $MYSQLTEST_VARDIR/tmp/t2.MYD;
+remove_file $MYSQLTEST_VARDIR/tmp/t3.MYD;
+remove_file $MYSQLTEST_VARDIR/tmp/t4.MYD;
+remove_file $MYSQLTEST_VARDIR/tmp/t5.MYD;
+remove_file $MYSQLTEST_VARDIR/tmp/t1.frm;
+remove_file $MYSQLTEST_VARDIR/tmp/t2.frm;
+remove_file $MYSQLTEST_VARDIR/tmp/t3.frm;
+remove_file $MYSQLTEST_VARDIR/tmp/t4.frm;
+remove_file $MYSQLTEST_VARDIR/tmp/t5.frm;
# End of 4.1 tests
# End of 5.0 tests
diff --git a/mysql-test/t/bdb_notembedded.test b/mysql-test/t/bdb_notembedded.test
deleted file mode 100644
index 24e64ebbfb2..00000000000
--- a/mysql-test/t/bdb_notembedded.test
+++ /dev/null
@@ -1,38 +0,0 @@
--- source include/not_embedded.inc
--- source include/have_bdb.inc
-
-#
-# Bug #16206: Superfluous COMMIT event in binlog when updating BDB in autocommit mode
-#
-set autocommit=1;
-
-let $VERSION=`select version()`;
-
-reset master;
-create table bug16206 (a int);
-insert into bug16206 values(1);
-start transaction;
-insert into bug16206 values(2);
-commit;
---replace_result $VERSION VERSION
---replace_column 1 f 2 n 5 n
-show binlog events;
-drop table bug16206;
-
-reset master;
-create table bug16206 (a int) engine= bdb;
-insert into bug16206 values(0);
-insert into bug16206 values(1);
-start transaction;
-insert into bug16206 values(2);
-commit;
-insert into bug16206 values(3);
---replace_result $VERSION VERSION
---replace_column 1 f 2 n 5 n
-show binlog events;
-drop table bug16206;
-
-set autocommit=0;
-
-
---echo End of 5.0 tests
diff --git a/mysql-test/t/bigint.test b/mysql-test/t/bigint.test
index da10f4efa61..5a589816dcd 100644
--- a/mysql-test/t/bigint.test
+++ b/mysql-test/t/bigint.test
@@ -113,6 +113,15 @@ t2.value64=t1.value64;
drop table t1, t2;
+# Test for BUG#30069, can't handle bigint -9223372036854775808 on
+# x86_64, with some GCC versions and optimizations.
+
+create table t1 (sint64 bigint not null);
+insert into t1 values (-9223372036854775808);
+select * from t1;
+
+drop table t1;
+
# End of 4.1 tests
#
diff --git a/mysql-test/t/binlog_unsafe.test b/mysql-test/t/binlog_unsafe.test
deleted file mode 100644
index f34c22dc5f7..00000000000
--- a/mysql-test/t/binlog_unsafe.test
+++ /dev/null
@@ -1,18 +0,0 @@
-# Test to check that a warning is generated for unsafe statements
-# executed under statement mode logging.
-
-source include/have_log_bin.inc;
-
-SET BINLOG_FORMAT=STATEMENT;
-
-CREATE TABLE t1 (a CHAR(40));
-CREATE TABLE t2 (a INT AUTO_INCREMENT PRIMARY KEY);
-CREATE TABLE t3 (b INT AUTO_INCREMENT PRIMARY KEY);
-CREATE VIEW v1(a,b) AS SELECT a,b FROM t2,t3;
-
-INSERT INTO t1 SELECT UUID();
-query_vertical SHOW WARNINGS;
-
-DROP TABLE t1,t2,t3;
-
-
diff --git a/mysql-test/t/bootstrap.test b/mysql-test/t/bootstrap.test
index 1c2952e93d0..203ba9b2914 100644
--- a/mysql-test/t/bootstrap.test
+++ b/mysql-test/t/bootstrap.test
@@ -9,12 +9,13 @@ drop table if exists t1;
#
# Check that --bootstrap reads from stdin
#
---write_file $MYSQLTEST_VARDIR/tmp/bootstrap.sql
+--write_file $MYSQLTEST_VARDIR/tmp/bootstrap_test.sql
use test;
CREATE TABLE t1(a int);
EOF
---exec $MYSQLD_BOOTSTRAP_CMD < $MYSQLTEST_VARDIR/tmp/bootstrap.sql >> $MYSQLTEST_VARDIR/tmp/bootstrap.log 2>&1
+--exec $MYSQLD_BOOTSTRAP_CMD < $MYSQLTEST_VARDIR/tmp/bootstrap_test.sql >> $MYSQLTEST_VARDIR/tmp/bootstrap.log 2>&1
drop table t1;
+remove_file $MYSQLTEST_VARDIR/tmp/bootstrap_test.sql;
#
# Check that --bootstrap of file with SQL error returns error
@@ -28,6 +29,7 @@ EOF
# Table t1 should not exists
--error 1051
drop table t1;
+remove_file $MYSQLTEST_VARDIR/tmp/bootstrap_error.sql;
#
# Bootstrap with a query larger than 2*thd->net.max_packet
@@ -40,6 +42,7 @@ eval select * into outfile '$MYSQLTEST_VARDIR/tmp/long_query.sql' from t1;
--enable_query_log
--error 1
--exec $MYSQLD_BOOTSTRAP_CMD < $MYSQLTEST_VARDIR/tmp/long_query.sql >> $MYSQLTEST_VARDIR/tmp/bootstrap.log 2>&1
+remove_file $MYSQLTEST_VARDIR/tmp/long_query.sql;
set global max_allowed_packet=@my_max_allowed_packet;
drop table t1;
diff --git a/mysql-test/t/case.test b/mysql-test/t/case.test
index 63baeebcf12..028c64d6de7 100644
--- a/mysql-test/t/case.test
+++ b/mysql-test/t/case.test
@@ -1,9 +1,9 @@
-#
+
# Testing of CASE
#
--disable_warnings
-drop table if exists t1,t2;
+drop table if exists t1, t2;
--enable_warnings
select CASE "b" when "a" then 1 when "b" then 2 END;
@@ -152,4 +152,21 @@ SELECT IFNULL(t2.EMPNUM,t1.EMPNUM) AS CEMPNUM,
FROM t1 LEFT JOIN t2 ON t1.EMPNUM=t2.EMPNUM;
DROP TABLE t1,t2;
-# End of 4.1 tests
+
+--echo End of 4.1 tests
+
+#
+# #30782: Truncated UNSIGNED BIGINT columns
+#
+create table t1 (a int, b bigint unsigned);
+create table t2 (c int);
+insert into t1 (a, b) values (1,4572794622775114594), (2,18196094287899841997),
+ (3,11120436154190595086);
+insert into t2 (c) values (1), (2), (3);
+select t1.a, (case t1.a when 0 then 0 else t1.b end) d from t1
+ join t2 on t1.a=t2.c order by d;
+select t1.a, (case t1.a when 0 then 0 else t1.b end) d from t1
+ join t2 on t1.a=t2.c where b=11120436154190595086 order by d;
+drop table t1, t2;
+
+--echo End of 5.0 tests
diff --git a/mysql-test/t/cast.test b/mysql-test/t/cast.test
index 5563e260a06..50865215944 100644
--- a/mysql-test/t/cast.test
+++ b/mysql-test/t/cast.test
@@ -246,4 +246,26 @@ INSERT INTO t1(d1) VALUES ('2007-07-19 08:30:00'), (NULL),
SELECT cast(date(d1) as signed) FROM t1;
drop table t1;
+#
+# Bug #31990: MINUTE() and SECOND() return bogus results when used on a DATE
+#
+
+# Show that HH:MM:SS of a DATE are 0, and that it's the same for columns
+# and typecasts (NULL in, NULL out).
+CREATE TABLE t1 (f1 DATE);
+INSERT INTO t1 VALUES ('2007-07-19'), (NULL);
+SELECT HOUR(f1),
+ MINUTE(f1),
+ SECOND(f1) FROM t1;
+SELECT HOUR(CAST('2007-07-19' AS DATE)),
+ MINUTE(CAST('2007-07-19' AS DATE)),
+ SECOND(CAST('2007-07-19' AS DATE));
+SELECT HOUR(CAST(NULL AS DATE)),
+ MINUTE(CAST(NULL AS DATE)),
+ SECOND(CAST(NULL AS DATE));
+SELECT HOUR(NULL),
+ MINUTE(NULL),
+ SECOND(NULL);
+DROP TABLE t1;
+
--echo End of 5.0 tests
diff --git a/mysql-test/t/change_user.test b/mysql-test/t/change_user.test
new file mode 100644
index 00000000000..82aeb4da4af
--- /dev/null
+++ b/mysql-test/t/change_user.test
@@ -0,0 +1,46 @@
+#
+# Bug#20023 mysql_change_user() resets the value of SQL_BIG_SELECTS
+#
+
+--echo Bug#20023
+SELECT @@session.sql_big_selects;
+SELECT @@global.max_join_size;
+--echo change_user
+--change_user
+SELECT @@session.sql_big_selects;
+SELECT @@global.max_join_size;
+SET @@global.max_join_size = 10000;
+SET @@session.max_join_size = default;
+--echo change_user
+--change_user
+SELECT @@session.sql_big_selects;
+SET @@global.max_join_size = -1;
+SET @@session.max_join_size = default;
+--echo change_user
+--change_user
+SELECT @@session.sql_big_selects;
+
+#
+# Bug#31418 User locks misfunctioning after mysql_change_user()
+#
+
+--echo Bug#31418
+SELECT IS_FREE_LOCK('bug31418');
+SELECT IS_USED_LOCK('bug31418');
+SELECT GET_LOCK('bug31418', 1);
+SELECT IS_USED_LOCK('bug31418') = CONNECTION_ID();
+--echo change_user
+--change_user
+SELECT IS_FREE_LOCK('bug31418');
+SELECT IS_USED_LOCK('bug31418');
+
+#
+# Bug#31222: com_% global status counters behave randomly with
+# mysql_change_user.
+#
+# Moved to not_embedded_server.test due to Bug#34517: SHOW GLOBAL STATUS does
+# not work properly in embedded server.
+#
+# TODO: move it back when Bug#34517 is fixed (don't forget to add
+# --force-restart into change_user-master.opt).
+#
diff --git a/mysql-test/t/comments.test b/mysql-test/t/comments.test
index 8ae6ba5779e..3a18a8bd483 100644
--- a/mysql-test/t/comments.test
+++ b/mysql-test/t/comments.test
@@ -34,3 +34,34 @@ select 1/*!999992*/;
select 1 + /*!00000 2 */ + 3 /*!99999 noise*/ + 4;
+#
+# Bug#28779 (mysql_query() allows execution of statements with unbalanced
+# comments)
+#
+
+--disable_warnings
+drop table if exists table_28779;
+--enable_warnings
+
+create table table_28779 (a int);
+
+--error 1064
+prepare bar from "DELETE FROM table_28779 WHERE a = 7 OR 1=1/*' AND b = 'bar';";
+
+--error 1064
+prepare bar from "DELETE FROM table_28779 WHERE a = 7 OR 1=1/*' AND b = 'bar';*";
+
+--error 1064
+prepare bar from "DELETE FROM table_28779 WHERE a = 7 OR 1=1/*! AND 2=2;";
+
+--error 1064
+prepare bar from "DELETE FROM table_28779 WHERE a = 7 OR 1=1/*! AND 2=2;*";
+
+--error 1064
+prepare bar from "DELETE FROM table_28779 WHERE a = 7 OR 1=1/*!98765' AND b = 'bar';";
+
+--error 1064
+prepare bar from "DELETE FROM table_28779 WHERE a = 7 OR 1=1/*!98765' AND b = 'bar';*";
+
+drop table table_28779;
+
diff --git a/mysql-test/t/commit_1innodb.test b/mysql-test/t/commit_1innodb.test
new file mode 100644
index 00000000000..c4a29acdddd
--- /dev/null
+++ b/mysql-test/t/commit_1innodb.test
@@ -0,0 +1,6 @@
+-- source include/have_log_bin.inc
+-- source include/have_innodb.inc
+
+let $engine_type = InnoDB;
+
+-- source include/commit.inc
diff --git a/mysql-test/t/compare.test b/mysql-test/t/compare.test
index 337035a8095..8863ed825c2 100644
--- a/mysql-test/t/compare.test
+++ b/mysql-test/t/compare.test
@@ -46,3 +46,34 @@ insert into t1 values (0x01,0x01);
select * from t1 where a=b;
select * from t1 where a=b and b=0x01;
drop table if exists t1;
+
+#
+# Bug #31887: DML Select statement not returning same results when executed
+# in version 5
+#
+
+CREATE TABLE t1 (b int(2) zerofill, c int(2) zerofill);
+INSERT INTO t1 (b,c) VALUES (1,2), (1,1), (2,2);
+
+SELECT CONCAT(b,c), CONCAT(b,c) = '0101' FROM t1;
+
+EXPLAIN EXTENDED SELECT b,c FROM t1 WHERE b = 1 AND CONCAT(b,c) = '0101';
+SELECT b,c FROM t1 WHERE b = 1 AND CONCAT(b,c) = '0101';
+
+CREATE TABLE t2 (a int);
+INSERT INTO t2 VALUES (1),(2);
+
+SELECT a,
+ (SELECT COUNT(*) FROM t1
+ WHERE b = t2.a AND CONCAT(b,c) = CONCAT('0',t2.a,'01')) x
+FROM t2 ORDER BY a;
+
+EXPLAIN EXTENDED
+SELECT a,
+ (SELECT COUNT(*) FROM t1
+ WHERE b = t2.a AND CONCAT(b,c) = CONCAT('0',t2.a,'01')) x
+FROM t2 ORDER BY a;
+
+DROP TABLE t1,t2;
+
+--echo End of 5.0 tests
diff --git a/mysql-test/t/connect.test b/mysql-test/t/connect.test
index 2e66c24d877..0893bf9ad18 100644
--- a/mysql-test/t/connect.test
+++ b/mysql-test/t/connect.test
@@ -102,4 +102,192 @@ disconnect con7;
connection default;
drop table t1;
-# End of 4.1 tests
+--disconnect con1
+--disconnect con2
+--disconnect con3
+--disconnect con4
+--disconnect con5
+--disconnect con6
+--disconnect con10
+
+--echo # ------------------------------------------------------------------
+--echo # -- End of 4.1 tests
+--echo # ------------------------------------------------------------------
+
+###########################################################################
+
+--echo
+--echo # -- Bug#33507: Event scheduler creates more threads than max_connections
+--echo # -- which results in user lockout.
+
+--echo
+GRANT USAGE ON *.* TO mysqltest_u1@localhost;
+
+# NOTE: if the test case fails sporadically due to spurious connections,
+# consider disabling all users.
+
+--echo
+let $saved_max_connections = `SELECT @@global.max_connections`;
+SET GLOBAL max_connections = 3;
+SET GLOBAL event_scheduler = ON;
+
+--echo
+--echo # -- Waiting for Event Scheduler to start...
+let $wait_condition =
+ SELECT COUNT(*) = 1
+ FROM information_schema.processlist
+ WHERE user = 'event_scheduler';
+--source include/wait_condition.inc
+
+--echo
+--echo # -- Disconnecting default connection...
+--disconnect default
+
+--echo
+--echo # -- Check that we allow exactly three user connections, no matter how
+--echo # -- many threads are running.
+
+--echo
+--echo # -- Connecting (1)...
+let $con_name = con_1;
+let $con_user_name = mysqltest_u1;
+--source include/connect2.inc
+
+--echo
+--echo # -- Connecting (2)...
+let $con_name = con_2;
+let $con_user_name = mysqltest_u1;
+--source include/connect2.inc
+
+--echo
+--echo # -- Connecting (3)...
+let $con_name = con_3;
+let $con_user_name = mysqltest_u1;
+--source include/connect2.inc
+
+--echo
+--echo # -- Connecting (4) [should fail]...
+let $con_name = con_4;
+let $con_user_name = mysqltest_u1;
+let $wait_timeout = 5;
+--source include/connect2.inc
+
+--echo
+--echo # -- Check that we allow one extra SUPER-user connection.
+
+--echo
+--echo # -- Connecting super (1)...
+let $con_name = con_super_1;
+let $con_user_name = root;
+--source include/connect2.inc
+
+--echo
+--echo # -- Connecting super (2) [should fail]...
+let $con_name = con_super_2;
+let $con_user_name = root;
+let $wait_timeout = 5;
+--source include/connect2.inc
+
+--echo
+--echo # -- Ensure that we have Event Scheduler thread, 3 ordinary user
+--echo # -- connections and one extra super-user connection.
+SELECT user FROM information_schema.processlist ORDER BY id;
+
+--echo
+--echo # -- Resetting variables...
+--eval SET GLOBAL max_connections = $saved_max_connections
+
+--echo
+--echo # -- Stopping Event Scheduler...
+SET GLOBAL event_scheduler = OFF;
+
+--echo
+--echo # -- Waiting for Event Scheduler to stop...
+let $wait_condition =
+ SELECT COUNT(*) = 0
+ FROM information_schema.processlist
+ WHERE user = 'event_scheduler';
+--source include/wait_condition.inc
+
+--echo
+--echo # -- That's it. Closing connections...
+--disconnect con_1
+--disconnect con_2
+--disconnect con_3
+--disconnect con_super_1
+
+--echo
+--echo # -- Restoring default connection...
+--connect (default,localhost,root,,test)
+
+--echo
+--echo # -- Waiting for connections to close...
+let $wait_condition =
+ SELECT COUNT(*) = 1
+ FROM information_schema.processlist
+ WHERE db = 'test';
+--source include/wait_condition.inc
+
+--echo
+DROP USER mysqltest_u1@localhost;
+
+--echo
+--echo # -- End of Bug#33507.
+--echo
+
+###########################################################################
+
+--echo # -- Bug#35074: max_used_connections is not correct.
+--echo
+
+FLUSH STATUS;
+
+--echo
+SHOW STATUS LIKE 'max_used_connections';
+
+--echo
+--echo # -- Starting Event Scheduler...
+SET GLOBAL event_scheduler = ON;
+
+--echo # -- Waiting for Event Scheduler to start...
+let $wait_condition =
+ SELECT COUNT(*) = 1
+ FROM information_schema.processlist
+ WHERE user = 'event_scheduler';
+--source include/wait_condition.inc
+
+# NOTE: We should use a new connection here instead of reconnect in order to
+# avoid races (we can not for sure when the connection being disconnected is
+# actually disconnected on the server).
+
+--echo
+--echo # -- Opening a new connection to check max_used_connections...
+--connect (con_1,localhost,root)
+
+--echo
+--echo # -- Check that max_used_connections hasn't changed.
+SHOW STATUS LIKE 'max_used_connections';
+
+--echo
+--echo # -- Closing new connection...
+--disconnect con_1
+--connection default
+
+--echo
+--echo # -- Stopping Event Scheduler...
+SET GLOBAL event_scheduler = OFF;
+
+--echo # -- Waiting for Event Scheduler to stop...
+let $wait_condition =
+ SELECT COUNT(*) = 0
+ FROM information_schema.processlist
+ WHERE user = 'event_scheduler';
+--source include/wait_condition.inc
+
+--echo
+--echo # -- End of Bug#35074.
+--echo
+
+--echo # ------------------------------------------------------------------
+--echo # -- End of 5.1 tests
+--echo # ------------------------------------------------------------------
diff --git a/mysql-test/t/create.test b/mysql-test/t/create.test
index 341c019af6e..9cf38742289 100644
--- a/mysql-test/t/create.test
+++ b/mysql-test/t/create.test
@@ -483,7 +483,7 @@ drop table t1,t2;
create table t1 (a int);
--error 1093
create table t1 select * from t1;
---error 1093
+--error ER_WRONG_OBJECT
create table t2 union = (t1) select * from t1;
flush tables with read lock;
unlock tables;
@@ -1152,6 +1152,30 @@ create table t2 select sql_big_result f1,count(f2) from t1 group by f1;
show status like 'handler_read%';
drop table t1,t2;
+#
+# Bug #25162: Backing up DB from 5.1 adds 'USING BTREE' to KEYs on table creates
+#
+
+# Show that the old syntax for index type is supported
+CREATE TABLE t1(c1 VARCHAR(33), KEY USING BTREE (c1));
+DROP TABLE t1;
+
+# Show that the new syntax for index type is supported
+CREATE TABLE t1(c1 VARCHAR(33), KEY (c1) USING BTREE);
+DROP TABLE t1;
+
+# Show that in case of multiple index type definitions, the last one takes
+# precedence
+
+CREATE TABLE t1(c1 VARCHAR(33), KEY USING BTREE (c1) USING HASH) ENGINE=MEMORY;
+SHOW INDEX FROM t1;
+DROP TABLE t1;
+
+CREATE TABLE t1(c1 VARCHAR(33), KEY USING HASH (c1) USING BTREE) ENGINE=MEMORY;
+SHOW INDEX FROM t1;
+DROP TABLE t1;
+
+
--echo End of 5.0 tests
#
@@ -1197,14 +1221,17 @@ drop table t1,t2;
CREATE DATABASE aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa;
--error 1102
DROP DATABASE aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa;
---error 1049
-RENAME DATABASE aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa TO a;
---error 1102
-RENAME DATABASE mysqltest TO aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa;
-create database mysqltest;
---error 1102
-RENAME DATABASE mysqltest TO aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa;
-drop database mysqltest;
+
+# TODO: enable these tests when RENAME DATABASE is implemented.
+# --error 1049
+# RENAME DATABASE aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa TO a;
+# --error 1102
+# RENAME DATABASE mysqltest TO aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa;
+# create database mysqltest;
+# --error 1102
+# RENAME DATABASE mysqltest TO aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa;
+# drop database mysqltest;
+
--error 1102
USE aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa;
--error 1102
@@ -1300,4 +1327,198 @@ return 0;
drop view имÑ_вью_кодировке_утф8_длиной_больше_чем_42;
drop table имÑ_таблицы_в_кодировке_утф8_длиной_больше_чем_48;
set names default;
+
+#
+# Bug#21136 CREATE TABLE SELECT within CREATE TABLE SELECT causes server crash
+#
+
+--disable_warnings
+drop table if exists t1,t2,t3;
+drop function if exists f1;
+--enable_warnings
+
+--delimiter |
+create function f1() returns int
+begin
+ declare res int;
+ create temporary table t3 select 1 i;
+ set res:= (select count(*) from t1);
+ drop temporary table t3;
+ return res;
+end|
+--delimiter ;
+create table t1 as select 1;
+create table t2 as select f1() from t1;
+drop table t1,t2;
+drop function f1;
+
+#
+# Bug#25629 CREATE TABLE LIKE does not work with INFORMATION_SCHEMA
+#
+create table t1 like information_schema.processlist;
+show create table t1;
+drop table t1;
+create temporary table t1 like information_schema.processlist;
+show create table t1;
+drop table t1;
+create table t1 like information_schema.character_sets;
+show create table t1;
+drop table t1;
+
+###########################################################################
+
+--echo
+--echo # --
+--echo # -- Bug#21380: DEFAULT definition not always transfered by CREATE
+--echo # -- TABLE/SELECT to the new table.
+--echo # --
+--echo
+
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+DROP TABLE IF EXISTS t2;
+--enable_warnings
+
+--echo
+
+CREATE TABLE t1(
+ c1 INT DEFAULT 12 COMMENT 'column1',
+ c2 INT NULL COMMENT 'column2',
+ c3 INT NOT NULL COMMENT 'column3',
+ c4 VARCHAR(255) CHARACTER SET utf8 NOT NULL DEFAULT 'a',
+ c5 VARCHAR(255) COLLATE utf8_unicode_ci NULL DEFAULT 'b',
+ c6 VARCHAR(255))
+ COLLATE latin1_bin;
+
+--echo
+
+SHOW CREATE TABLE t1;
+
+--echo
+
+CREATE TABLE t2 AS SELECT * FROM t1;
+
+--echo
+
+SHOW CREATE TABLE t2;
+
+--echo
+
+DROP TABLE t2;
+
+--echo
+--echo # -- End of test case for Bug#21380.
+
+###########################################################################
+
+--echo
+--echo # --
+--echo # -- Bug#18834: ALTER TABLE ADD INDEX on table with two timestamp fields
+--echo # --
+--echo
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+DROP TABLE IF EXISTS t2;
+DROP TABLE IF EXISTS t3;
+--enable_warnings
+
+--echo
+
+CREATE TABLE t1(c1 TIMESTAMP, c2 TIMESTAMP);
+
+--echo
+
+SET sql_mode = NO_ZERO_DATE;
+
+--echo
+--error ER_INVALID_DEFAULT
+CREATE TABLE t2(c1 TIMESTAMP, c2 TIMESTAMP DEFAULT 0);
+
+--echo
+--error ER_INVALID_DEFAULT
+CREATE TABLE t2(c1 TIMESTAMP, c2 TIMESTAMP);
+
+--echo
+--echo # -- Check that NULL column still can be created.
+CREATE TABLE t2(c1 TIMESTAMP NULL);
+
+--echo
+--echo # -- Check ALTER TABLE.
+--error ER_INVALID_DEFAULT
+ALTER TABLE t1 ADD INDEX(c1);
+
+--echo
+--echo # -- Check DATETIME.
+SET sql_mode = '';
+
+--echo
+
+CREATE TABLE t3(c1 DATETIME NOT NULL);
+INSERT INTO t3 VALUES (0);
+
+--echo
+SET sql_mode = TRADITIONAL;
+
+--echo
+--error ER_TRUNCATED_WRONG_VALUE
+ALTER TABLE t3 ADD INDEX(c1);
+
+--echo
+--echo # -- Cleanup.
+
+SET sql_mode = '';
+DROP TABLE t1;
+DROP TABLE t2;
+DROP TABLE t3;
+
+--echo
+--echo # -- End of Bug#18834.
+
+###########################################################################
+
+--echo
+--echo # --
+--echo # -- Bug#34274: Invalid handling of 'DEFAULT 0' for YEAR data type.
+--echo # --
+--echo
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+
+--echo
+CREATE TABLE t1(c1 YEAR DEFAULT 2008, c2 YEAR DEFAULT 0);
+
+--echo
+SHOW CREATE TABLE t1;
+
+--echo
+INSERT INTO t1 VALUES();
+
+--echo
+SELECT * FROM t1;
+
+--echo
+ALTER TABLE t1 MODIFY c1 YEAR DEFAULT 0;
+
+--echo
+SHOW CREATE TABLE t1;
+
+--echo
+INSERT INTO t1 VALUES();
+
+--echo
+SELECT * FROM t1;
+
+--echo
+DROP TABLE t1;
+
+--echo
+--echo # -- End of Bug#34274
+
+###########################################################################
+
+--echo
--echo End of 5.1 tests
diff --git a/mysql-test/t/csv.test b/mysql-test/t/csv.test
index 4aff4b27976..dd8c940ac44 100644
--- a/mysql-test/t/csv.test
+++ b/mysql-test/t/csv.test
@@ -1322,7 +1322,7 @@ drop table if exists t1,t2,t3,t4;
DROP TABLE IF EXISTS bug13894;
--enable_warnings
-CREATE TABLE bug13894 ( val integer ) ENGINE = CSV;
+CREATE TABLE bug13894 ( val integer not null ) ENGINE = CSV;
INSERT INTO bug13894 VALUES (5);
INSERT INTO bug13894 VALUES (10);
INSERT INTO bug13894 VALUES (11);
@@ -1340,7 +1340,7 @@ DROP TABLE bug13894;
DROP TABLE IF EXISTS bug14672;
--enable_warnings
-CREATE TABLE bug14672 (c1 integer) engine = CSV;
+CREATE TABLE bug14672 (c1 integer not null) engine = CSV;
INSERT INTO bug14672 VALUES (1), (2), (3);
SELECT * FROM bug14672;
DELETE FROM bug14672 WHERE c1 = 2;
@@ -1357,7 +1357,7 @@ DROP TABLE bug14672;
# Test CONCURRENT INSERT (5.1)
#
-CREATE TABLE test_concurrent_insert ( val integer ) ENGINE = CSV;
+CREATE TABLE test_concurrent_insert ( val integer not null ) ENGINE = CSV;
connect (con1,localhost,root,,);
connect (con2,localhost,root,,);
@@ -1393,7 +1393,7 @@ DROP TABLE test_concurrent_insert;
# Check that repair on the newly created table works fine
-CREATE TABLE test_repair_table ( val integer ) ENGINE = CSV;
+CREATE TABLE test_repair_table ( val integer not null ) ENGINE = CSV;
CHECK TABLE test_repair_table;
REPAIR TABLE test_repair_table;
@@ -1405,7 +1405,7 @@ DROP TABLE test_repair_table;
# restore the meta-file
#
-CREATE TABLE test_repair_table2 ( val integer ) ENGINE = CSV;
+CREATE TABLE test_repair_table2 ( val integer not null ) ENGINE = CSV;
--remove_file $MYSQLTEST_VARDIR/master-data/test/test_repair_table2.CSM
# Should give a warning and perform autorepair. We also disable ps-protocol
@@ -1423,7 +1423,8 @@ DROP TABLE test_repair_table2;
# Corrupt csv file and see if we can repair it
-CREATE TABLE test_repair_table3 ( val integer ) ENGINE = CSV;
+CREATE TABLE test_repair_table3 ( val integer not null ) ENGINE = CSV;
+--remove_file $MYSQLTEST_VARDIR/master-data/test/test_repair_table3.CSV
--write_file $MYSQLTEST_VARDIR/master-data/test/test_repair_table3.CSV
"1"
"4"
@@ -1476,6 +1477,7 @@ CREATE TABLE test_repair_table5 (
) ENGINE = CSV;
# Corrupt a table -- put a file with wrong # of columns
+--remove_file $MYSQLTEST_VARDIR/master-data/test/test_repair_table5.CSV
--write_file $MYSQLTEST_VARDIR/master-data/test/test_repair_table5.CSV
"1","101","IBM"
EOF
@@ -1515,7 +1517,7 @@ DROP TABLE test_repair_table5;
# BUG#13406 - incorrect amount of "records deleted"
#
-create table t1 (a int) engine=csv;
+create table t1 (a int not null) engine=csv;
insert t1 values (1);
--enable_info
delete from t1; # delete_row
@@ -1547,7 +1549,7 @@ drop table t1;
# whole alter table code is being tested all around the test suite already.
#
-create table t1 (v varchar(32));
+create table t1 (v varchar(32) not null);
insert into t1 values ('def'),('abc'),('hij'),('3r4f');
select * from t1;
# Fast alter, no copy performed
@@ -1581,8 +1583,8 @@ drop table t1;
# resulted in scanning through deleted memory and we were geting a crash.
# that's why we need two tables in the bugtest
-create table bug15205 (val int(11) default null) engine=csv;
-create table bug15205_2 (val int(11) default null) engine=csv;
+create table bug15205 (val int(11) not null) engine=csv;
+create table bug15205_2 (val int(11) not null) engine=csv;
--remove_file $MYSQLTEST_VARDIR/master-data/test/bug15205.CSV
# system error (can't open the datafile)
--replace_result $MYSQLTEST_VARDIR . master-data/ ''
@@ -1602,8 +1604,8 @@ drop table bug15205_2;
#
set names latin1;
create table t1 (
- c varchar(1),
- name varchar(64)
+ c varchar(1) not null,
+ name varchar(64) not null
) character set latin1 engine=csv;
insert into t1 values (0xC0,'LATIN CAPITAL LETTER A WITH GRAVE');
insert into t1 values (0xE0,'LATIN SMALL LETTER A WITH GRAVE');
@@ -1621,14 +1623,15 @@ drop table t1;
# Bug#22080 "CHECK fails to identify some corruption"
#
-create table bug22080_1 (id int,string varchar(64)) Engine=CSV;
-create table bug22080_2 (id int,string varchar(64)) Engine=CSV;
-create table bug22080_3 (id int,string varchar(64)) Engine=CSV;
+create table bug22080_1 (id int not null,string varchar(64) not null) Engine=CSV;
+create table bug22080_2 (id int not null,string varchar(64) not null) Engine=CSV;
+create table bug22080_3 (id int not null,string varchar(64) not null) Engine=CSV;
insert into bug22080_1 values(1,'string');
insert into bug22080_1 values(2,'string');
insert into bug22080_1 values(3,'string');
# Create first corrupt file as described in bug report
+--remove_file $MYSQLTEST_VARDIR/master-data/test/bug22080_2.CSV
--write_file $MYSQLTEST_VARDIR/master-data/test/bug22080_2.CSV
1,"string"
2","string"
@@ -1636,6 +1639,7 @@ insert into bug22080_1 values(3,'string');
EOF
# Create second corrupt file as described in bug report
+--remove_file $MYSQLTEST_VARDIR/master-data/test/bug22080_3.CSV
--write_file $MYSQLTEST_VARDIR/master-data/test/bug22080_3.CSV
1,"string"
"2",string"
@@ -1651,7 +1655,7 @@ drop tables bug22080_1,bug22080_2,bug22080_3;
#
# Testing float type
#
-create table float_test (id float,string varchar(64)) Engine=CSV;
+create table float_test (id float not null,string varchar(64) not null) Engine=CSV;
insert into float_test values(1.0,'string');
insert into float_test values(2.23,'serg.g');
insert into float_test values(0.03,'string');
@@ -1666,12 +1670,12 @@ drop table float_test;
#
CREATE TABLE `bug21328` (
- `col1` int(11) DEFAULT NULL,
- `col2` int(11) DEFAULT NULL,
- `col3` int(11) DEFAULT NULL
+ `col1` int(11) NOT NULL,
+ `col2` int(11) NOT NULL,
+ `col3` int(11) NOT NULL
) ENGINE=CSV;
-insert into bug21328 values (1,NULL,NULL);
+insert into bug21328 values (1,0,0);
alter table bug21328 engine=myisam;
drop table bug21328;
@@ -1679,7 +1683,7 @@ drop table bug21328;
# BUG#28971 - ALTER TABLE followed by UPDATE for a CSV table make server
# crash
#
-create table t1(a blob, b int) engine=csv;
+create table t1(a blob not null, b int not null) engine=csv;
insert into t1 values('a', 1);
flush tables;
update t1 set b=2;
@@ -1689,13 +1693,14 @@ drop table t1;
#
# Bug #29353: negative values
#
-create table t1(a int) engine=csv;
+create table t1(a int not null) engine=csv;
insert into t1 values(-1), (-123.34), (2), (-23);
select * from t1;
check table t1;
drop table t1;
-create table t1(a int, b int) engine=csv;
+create table t1(a int not null, b int not null) engine=csv;
+--remove_file $MYSQLTEST_VARDIR/master-data/test/t1.CSV
--write_file $MYSQLTEST_VARDIR/master-data/test/t1.CSV
1, 1E-2
-2E2, .9
@@ -1712,7 +1717,7 @@ drop table t1;
#
# Bug #29411: deleting from a csv table leads to the table corruption
#
-create table t1(a int) engine=csv;
+create table t1(a int not null) engine=csv;
insert into t1 values (0), (1), (2);
delete from t1 limit 2;
check table t1;
@@ -1722,4 +1727,61 @@ check table t1;
select * from t1;
drop table t1;
+#
+# Bug #31473: does not work with NULL value in datetime field
+#
+create table t1(a datetime not null) engine=csv;
+insert into t1 values();
+select * from t1;
+drop table t1;
+create table t1(a set('foo','bar') not null) engine=csv;
+insert into t1 values();
+select * from t1;
+drop table t1;
+create table t1(a varchar(32) not null) engine=csv;
+insert into t1 values();
+select * from t1;
+drop table t1;
+create table t1(a int not null) engine=csv;
+insert into t1 values();
+select * from t1;
+drop table t1;
+create table t1(a blob not null) engine=csv;
+insert into t1 values();
+select * from t1;
+drop table t1;
+create table t1(a bit(1) not null) engine=csv;
+insert into t1 values();
+select BIN(a) from t1;
+drop table t1;
+# We prevent creation of table with nullable ENUM
+--error ER_CHECK_NOT_IMPLEMENTED
+create table t1(a enum('foo','bar') default null) engine=csv;
+--error ER_CHECK_NOT_IMPLEMENTED
+create table t1(a enum('foo','bar') default 'foo') engine=csv;
+# Enum columns must be specified as NOT NULL
+create table t1(a enum('foo','bar') default 'foo' not null) engine=csv;
+insert into t1 values();
+select * from t1;
+drop table t1;
+
+#
+# BUG#32817 - though CSV is marked as supported create table is rejected
+# with error 1005.
+#
+--error ER_CHECK_NOT_IMPLEMENTED
+CREATE TABLE t1(a INT) ENGINE=CSV;
+SHOW WARNINGS;
+
+#
+# BUG#33067 - .
+#
+create table t1 (c1 tinyblob not null) engine=csv;
+insert into t1 values("This");
+--enable_info
+update t1 set c1="That" where c1="This";
+--disable_info
+select * from t1;
+drop table t1;
+
--echo End of 5.1 tests
diff --git a/mysql-test/t/csv_alter_table.test b/mysql-test/t/csv_alter_table.test
new file mode 100644
index 00000000000..0093a1d10a7
--- /dev/null
+++ b/mysql-test/t/csv_alter_table.test
@@ -0,0 +1,56 @@
+#-----------------------------------------------------------------------------
+# csv_alter_table.test - .test file for MySQL regression suite
+# Purpose: To test the behavior of the CSV engine
+# Bug#31473 resulted in strict enforcement of non-nullable
+# columns in CSV engine.
+# Tests code for Bug#33696 - CSV engine allows NULLable
+# Columns via ALTER TABLE statements
+#
+# Author pcrews
+# Last modified: 2008-01-06
+#-----------------------------------------------------------------------------
+
+--source include/have_csv.inc
+
+#############################################################################
+# Testcase csv_alter_table.1: Positive test for ALTER table
+#
+#############################################################################
+-- echo # ===== csv_alter_table.1 =====
+-- disable_warnings
+DROP TABLE IF EXISTS t1;
+-- enable_warnings
+
+CREATE TABLE t1 (a int NOT NULL) ENGINE = CSV;
+ALTER TABLE t1 ADD COLUMN b CHAR(5) NOT NULL;
+DESC t1;
+ALTER TABLE t1 DROP COLUMN b;
+DESC t1;
+ALTER TABLE t1 MODIFY a BIGINT NOT NULL;
+DESC t1;
+ALTER TABLE t1 CHANGE a a INT NOT NULL;
+DESC t1;
+
+DROP TABLE t1;
+
+#############################################################################
+# Testcase csv_alter_table.2: Negative test for ALTER table
+# These queries should not succeed / should throw errors
+#############################################################################
+-- echo # ===== csv_alter_table.2 =====
+-- disable_warnings
+DROP TABLE IF EXISTS t1;
+-- enable_warnings
+
+CREATE TABLE t1 (a int NOT NULL) ENGINE = CSV;
+--error ER_CHECK_NOT_IMPLEMENTED
+ALTER TABLE t1 ADD COLUMN b CHAR(5);
+DESC t1;
+--error ER_CHECK_NOT_IMPLEMENTED
+ALTER TABLE t1 MODIFY a BIGINT;
+DESC t1;
+--error ER_CHECK_NOT_IMPLEMENTED
+ALTER TABLE t1 CHANGE a a INT;
+DESC t1;
+
+DROP TABLE t1;
diff --git a/mysql-test/t/csv_not_null.test b/mysql-test/t/csv_not_null.test
new file mode 100644
index 00000000000..bb7b412aa49
--- /dev/null
+++ b/mysql-test/t/csv_not_null.test
@@ -0,0 +1,100 @@
+#-----------------------------------------------------------------------------
+# csv_not_null.test - .test file for MySQL regression suite
+# Purpose: To test the behavior of the CSV engine
+# Bug#31473 resulted in strict enforcement of non-nullable
+# columns in CSV engine.
+# NOTE: Main functionality tested - NOT NULL restrictions on CSV tables
+# CREATE, INSERT, and UPDATE statements
+# ALTER statements in separate file due to BUG#33696
+# Author pcrews
+# Last modified: 2008-01-04
+#-----------------------------------------------------------------------------
+
+--source include/have_csv.inc
+
+#############################################################################
+# Testcase csv_not_null.1: CREATE TABLE for CSV Engine requires explicit
+# NOT NULL for each column
+#############################################################################
+-- echo # ===== csv_not_null.1 =====
+-- disable_warnings
+DROP TABLE IF EXISTS t1, t2;
+-- enable_warnings
+
+
+--echo # === Will fail -- no NOT NULL ===
+--error ER_CHECK_NOT_IMPLEMENTED
+CREATE TABLE t1 (a int) ENGINE = CSV;
+
+--echo # === Good CREATE ===
+CREATE TABLE t1 (a int NOT NULL) ENGINE = CSV;
+
+--echo # === Will fail -- ALL columns need NOT NULL ==
+--error ER_CHECK_NOT_IMPLEMENTED
+CREATE TABLE t2 (a int NOT NULL, b char(20)) ENGINE = CSV;
+
+
+DROP TABLE t1;
+##############################################################################
+# Testcase csv_not_null.2: INSERT tests -- validating behavior of INSERT
+# statements for CSV
+##############################################################################
+-- echo # ===== csv_not_null.2 =====
+-- disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+
+
+CREATE TABLE t1 (a int NOT NULL, b blob NOT NULL, c CHAR(20) NOT NULL,
+d VARCHAR(20) NOT NULL, e enum('foo','bar') NOT NULL,f DATE NOT NULL)
+ENGINE = CSV;
+-- echo # === should result in default for each datatype ===
+-- disable_warnings
+INSERT INTO t1 VALUES();
+-- enable_warnings
+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);
+-- enable_warnings
+
+SELECT * FROM t1;
+INSERT INTO t1 VALUES(0,'abc','def','ghi','bar','1999-12-31');
+SELECT * FROM t1;
+-- echo # === insert failures ===
+--error ER_BAD_NULL_ERROR
+INSERT INTO t1 VALUES(NULL,'ab','a','b','foo','2007-01-01');
+--error ER_NO_DEFAULT_FOR_FIELD
+INSERT INTO t1 VALUES(default(a),default(b), default(c), default(d),
+ default(e), default(f));
+
+
+DROP TABLE t1;
+
+##############################################################################
+# Testcase csv_not_null.3: UPDATE tests -- examining behavior of UPDATE
+# statements for CSV
+##############################################################################
+-- echo # ===== csv_not_null.3 =====
+-- disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+
+
+CREATE TABLE t1 (a int NOT NULL, b char(10) NOT NULL) ENGINE = CSV;
+--disable_warnings
+INSERT INTO t1 VALUES();
+--enable_warnings
+SELECT * FROM t1;
+--disable_warnings
+UPDATE t1 set b = 'new_value' where a = 0;
+--enable_warnings
+SELECT * FROM t1;
+--error ER_BAD_NULL_ERROR
+UPDATE t1 set b = NULL where b = 'new_value';
+SELECT * FROM t1;
+
+DROP TABLE t1;
diff --git a/mysql-test/t/ctype_ascii.test b/mysql-test/t/ctype_ascii.test
new file mode 100644
index 00000000000..2a5118c7d34
--- /dev/null
+++ b/mysql-test/t/ctype_ascii.test
@@ -0,0 +1,13 @@
+#
+# Bug #27562: ascii.xml invalid?
+#
+set names ascii;
+select 'e'='`';
+select 'y'='~';
+create table t1 (a char(1) character set ascii);
+insert into t1 (a) values (' '), ('a'), ('b'), ('c'), ('d'), ('e'), ('f'), ('g'), ('h'), ('i'), ('j'), ('k'), ('l'), ('m'), ('n'), ('o'), ('p'), ('q'), ('r'), ('s'), ('t'), ('u'), ('v'), ('w'), ('x'), ('y'), ('z'), ('A'), ('B'), ('C'), ('D'), ('E'), ('F'), ('G'), ('H'), ('I'), ('J'), ('K'), ('L'), ('M'), ('N'), ('O'), ('P'), ('Q'), ('R'), ('S'), ('T'), ('U'), ('V'), ('W'), ('X'), ('Y'), ('Z'), ('!'), ('@'), ('#'), ('$'), ('%'), ('^'), ('&'), ('*'), ('('), (')'), ('_'), ('+'), ('`'), ('~'), ('1'), ('2'), ('3'), ('4'), ('5'), ('6'), ('7'), ('8'), ('9'), ('0'), ('['), (']'), ('\\'), ('|'), ('}'), ('{'), ('"'), (':'), (''''), (';'), ('/'), ('.'), (','), ('?'), ('>'), ('<'), ('\n'), ('\t'), ('\a'), ('\f'), ('\v');
+select t1a.a, t1b.a from t1 as t1a, t1 as t1b where t1a.a=t1b.a order by binary t1a.a, binary t1b.a;
+drop table t1;
+
+#
+--echo End of 5.0 tests.
diff --git a/mysql-test/t/ctype_big5.test b/mysql-test/t/ctype_big5.test
index 5f3357e0406..0ed21091110 100644
--- a/mysql-test/t/ctype_big5.test
+++ b/mysql-test/t/ctype_big5.test
@@ -16,10 +16,12 @@ SET collation_connection='big5_chinese_ci';
-- source include/ctype_filesort.inc
-- source include/ctype_innodb_like.inc
-- source include/ctype_like_escape.inc
+-- source include/ctype_like_range_f1f2.inc
SET collation_connection='big5_bin';
-- source include/ctype_filesort.inc
-- source include/ctype_innodb_like.inc
-- source include/ctype_like_escape.inc
+-- source include/ctype_like_range_f1f2.inc
#
# Bugs#9357: TEXT columns break string with special word in BIG5 charset.
diff --git a/mysql-test/t/ctype_cp1250_ch.test b/mysql-test/t/ctype_cp1250_ch.test
index 7b7018d5901..1fb656f2a01 100644
--- a/mysql-test/t/ctype_cp1250_ch.test
+++ b/mysql-test/t/ctype_cp1250_ch.test
@@ -9,6 +9,16 @@ DROP TABLE IF EXISTS t1;
SHOW COLLATION LIKE 'cp1250_czech_cs';
+SET @test_character_set= 'cp1250';
+SET @test_collation= 'cp1250_general_ci';
+-- source include/ctype_common.inc
+
+SET @test_character_set= 'cp1250';
+SET @test_collation= 'cp1250_czech_cs';
+-- source include/ctype_common.inc
+
+
+
#
# Bugs: #8840: Empty string comparison and character set 'cp1250'
#
diff --git a/mysql-test/t/ctype_eucjpms.test b/mysql-test/t/ctype_eucjpms.test
index 8f813fbd82b..ec358d94900 100644
--- a/mysql-test/t/ctype_eucjpms.test
+++ b/mysql-test/t/ctype_eucjpms.test
@@ -361,9 +361,10 @@ DROP TABLE t1;
SET collation_connection='eucjpms_japanese_ci';
-- source include/ctype_filesort.inc
+-- source include/ctype_like_range_f1f2.inc
SET collation_connection='eucjpms_bin';
-- source include/ctype_filesort.inc
-
+-- source include/ctype_like_range_f1f2.inc
#
# Bugs#15375: Unassigned multibyte codes are broken
diff --git a/mysql-test/t/ctype_euckr.test b/mysql-test/t/ctype_euckr.test
index 56939817b2f..0aba830e725 100644
--- a/mysql-test/t/ctype_euckr.test
+++ b/mysql-test/t/ctype_euckr.test
@@ -16,10 +16,12 @@ SET collation_connection='euckr_korean_ci';
-- source include/ctype_filesort.inc
-- source include/ctype_innodb_like.inc
-- source include/ctype_like_escape.inc
+-- source include/ctype_like_range_f1f2.inc
SET collation_connection='euckr_bin';
-- source include/ctype_filesort.inc
-- source include/ctype_innodb_like.inc
-- source include/ctype_like_escape.inc
+-- source include/ctype_like_range_f1f2.inc
#
# Bug#15377 Valid multibyte sequences are truncated on INSERT
@@ -31,3 +33,26 @@ SELECT hex(a) FROM t1 ORDER BY a;
DROP TABLE t1;
# End of 4.1 tests
+
+#
+#Bug #30315 Character sets: insertion of euckr code value 0xa141 fails
+#
+create table t1 (s1 varchar(5) character set euckr);
+# Insert some valid characters
+insert into t1 values (0xA141);
+insert into t1 values (0xA15A);
+insert into t1 values (0xA161);
+insert into t1 values (0xA17A);
+insert into t1 values (0xA181);
+insert into t1 values (0xA1FE);
+# Insert some invalid characters
+insert into t1 values (0xA140);
+insert into t1 values (0xA15B);
+insert into t1 values (0xA160);
+insert into t1 values (0xA17B);
+insert into t1 values (0xA180);
+insert into t1 values (0xA1FF);
+select hex(s1), hex(convert(s1 using utf8)) from t1 order by binary s1;
+drop table t1;
+
+--echo End of 5.0 tests
diff --git a/mysql-test/t/ctype_gb2312.test b/mysql-test/t/ctype_gb2312.test
index 835818d441c..86d1c7f72c9 100644
--- a/mysql-test/t/ctype_gb2312.test
+++ b/mysql-test/t/ctype_gb2312.test
@@ -16,10 +16,12 @@ SET collation_connection='gb2312_chinese_ci';
-- source include/ctype_filesort.inc
-- source include/ctype_innodb_like.inc
-- source include/ctype_like_escape.inc
+-- source include/ctype_like_range_f1f2.inc
SET collation_connection='gb2312_bin';
-- source include/ctype_filesort.inc
-- source include/ctype_innodb_like.inc
-- source include/ctype_like_escape.inc
+-- source include/ctype_like_range_f1f2.inc
#
# Bug#15377 Valid multibyte sequences are truncated on INSERT
diff --git a/mysql-test/t/ctype_gbk.test b/mysql-test/t/ctype_gbk.test
index 5ff138fa97b..3ea696338dc 100644
--- a/mysql-test/t/ctype_gbk.test
+++ b/mysql-test/t/ctype_gbk.test
@@ -16,10 +16,12 @@ SET collation_connection='gbk_chinese_ci';
-- source include/ctype_filesort.inc
-- source include/ctype_innodb_like.inc
-- source include/ctype_like_escape.inc
+-- source include/ctype_like_range_f1f2.inc
SET collation_connection='gbk_bin';
-- source include/ctype_filesort.inc
-- source include/ctype_innodb_like.inc
-- source include/ctype_like_escape.inc
+-- source include/ctype_like_range_f1f2.inc
#
# Bug#11987 mysql will truncate the text when
diff --git a/mysql-test/t/ctype_latin1_de.test b/mysql-test/t/ctype_latin1_de.test
index d6a11a22857..1efbfa4a3ae 100644
--- a/mysql-test/t/ctype_latin1_de.test
+++ b/mysql-test/t/ctype_latin1_de.test
@@ -116,6 +116,7 @@ SELECT FIELD('ue',s1), FIELD('Ü',s1), s1='ue', s1='Ü' FROM t1;
DROP TABLE t1;
-- source include/ctype_filesort.inc
+-- source include/ctype_german.inc
#
# Bug#7878 with utf8_general_ci, equals (=) has problem with
diff --git a/mysql-test/t/ctype_recoding.test b/mysql-test/t/ctype_recoding.test
index c18c46b6b08..1f55aea414a 100644
--- a/mysql-test/t/ctype_recoding.test
+++ b/mysql-test/t/ctype_recoding.test
@@ -153,6 +153,16 @@ drop table t1;
set names latin1;
#
+# Test the same with ascii
+#
+set names ascii;
+create table t1 (a char(1) character set latin1);
+insert into t1 values ('a');
+select * from t1 where a='a';
+drop table t1;
+set names latin1;
+
+#
# Bug#10446 Illegal mix of collations
#
create table t1 (a char(10) character set utf8 collate utf8_bin);
diff --git a/mysql-test/t/ctype_sjis.test b/mysql-test/t/ctype_sjis.test
index 01e0b334554..27cbdff451b 100644
--- a/mysql-test/t/ctype_sjis.test
+++ b/mysql-test/t/ctype_sjis.test
@@ -68,10 +68,12 @@ SET collation_connection='sjis_japanese_ci';
-- source include/ctype_filesort.inc
-- source include/ctype_innodb_like.inc
-- source include/ctype_like_escape.inc
+-- source include/ctype_like_range_f1f2.inc
SET collation_connection='sjis_bin';
-- source include/ctype_filesort.inc
-- source include/ctype_innodb_like.inc
-- source include/ctype_like_escape.inc
+-- source include/ctype_like_range_f1f2.inc
# Check parsing of string literals in SJIS with multibyte characters that
# have an embedded \ in them. (Bug #8303)
diff --git a/mysql-test/t/ctype_uca.test b/mysql-test/t/ctype_uca.test
index 695a21adbf5..11a489ba24d 100644
--- a/mysql-test/t/ctype_uca.test
+++ b/mysql-test/t/ctype_uca.test
@@ -458,6 +458,7 @@ drop table t1;
SET collation_connection='utf8_unicode_ci';
-- source include/ctype_filesort.inc
-- source include/ctype_like_escape.inc
+-- source include/ctype_german.inc
# End of 4.1 tests
@@ -538,4 +539,9 @@ alter table t1 convert to character set ucs2 collate ucs2_czech_ci;
select * from t1 where a like 'c%';
drop table t1;
+set collation_connection=ucs2_unicode_ci;
+-- source include/ctype_regex.inc
+-- source include/ctype_like_range_f1f2.inc
+set names utf8;
+
-- echo End for 5.0 tests
diff --git a/mysql-test/t/ctype_ucs.test b/mysql-test/t/ctype_ucs.test
index 18a18d6c632..db609777c8d 100644
--- a/mysql-test/t/ctype_ucs.test
+++ b/mysql-test/t/ctype_ucs.test
@@ -4,6 +4,10 @@
DROP TABLE IF EXISTS t1;
--enable_warnings
+SET @test_character_set= 'ucs2';
+SET @test_collation= 'ucs2_general_ci';
+-- source include/ctype_common.inc
+
SET NAMES latin1;
SET character_set_connection=ucs2;
-- source include/endspace.inc
@@ -373,10 +377,13 @@ drop table t1;
SET collation_connection='ucs2_general_ci';
-- source include/ctype_filesort.inc
-- source include/ctype_like_escape.inc
+-- source include/ctype_german.inc
+-- source include/ctype_like_range_f1f2.inc
SET NAMES latin1;
SET collation_connection='ucs2_bin';
-- source include/ctype_filesort.inc
-- source include/ctype_like_escape.inc
+-- source include/ctype_like_range_f1f2.inc
#
# Bug#10344 Some string functions fail for UCS2
@@ -547,6 +554,26 @@ select quote(name) from bug20536;
drop table bug20536;
+#
+# Bug #31615: crash after set names ucs2 collate xxx
+#
+--error 1231
+set names ucs2;
+--error 1231
+set names ucs2 collate ucs2_bin;
+--error 1231
+set character_set_client= ucs2;
+--error 1231
+set character_set_client= concat('ucs', substr('2', 1));
+
+#
+# BUG#31159 - fulltext search on ucs2 column crashes server
+#
+CREATE TABLE t1(a TEXT CHARSET ucs2 COLLATE ucs2_unicode_ci);
+INSERT INTO t1 VALUES('abcd');
+SELECT * FROM t1 WHERE MATCH(a) AGAINST ('+abcd' IN BOOLEAN MODE);
+DROP TABLE t1;
+
--echo End of 4.1 tests
#
@@ -622,4 +649,41 @@ select hex(s2) from t1;
select hex(convert(s1 using latin1)) from t1;
drop table t1;
+#
+# Conversion from UCS2 to ASCII is possible
+# if the UCS2 string consists of only ASCII characters
+#
+create table t1 (a varchar(15) character set ascii not null, b int);
+insert into t1 values ('a',1);
+select concat(a,if(b<10,_ucs2 0x0061,_ucs2 0x0062)) from t1;
+select concat(a,if(b>10,_ucs2 0x0061,_ucs2 0x0062)) from t1;
+select * from t1 where a=if(b<10,_ucs2 0x0061,_ucs2 0x0062);
+select * from t1 where a=if(b>10,_ucs2 0x0061,_ucs2 0x0062);
+
+#
+# Conversion from UCS2 to ASCII is not possible if
+# the UCS2 string has non-ASCII characters
+#
+--error 1267
+select concat(a,if(b<10,_ucs2 0x00C0,_ucs2 0x0062)) from t1;
+--error 1267
+select concat(a,if(b>10,_ucs2 0x00C0,_ucs2 0x0062)) from t1;
+--error 1267
+select concat(a,if(b<10,_ucs2 0x0062,_ucs2 0x00C0)) from t1;
+--error 1267
+select concat(a,if(b>10,_ucs2 0x0062,_ucs2 0x00C0)) from t1;
+--error 1267
+select * from t1 where a=if(b<10,_ucs2 0x00C0,_ucs2 0x0062);
+--error 1267
+select * from t1 where a=if(b<10,_ucs2 0x0062,_ucs2 0x00C0);
+drop table t1;
+
+set collation_connection=ucs2_general_ci;
+--source include/ctype_regex.inc
+set names latin1;
+#
+# Bug#30981 CHAR(0x41 USING ucs2) doesn't add leading zero
+#
+select hex(char(0x41 using ucs2));
+
--echo End of 5.0 tests
diff --git a/mysql-test/t/ctype_ucs2_def.test b/mysql-test/t/ctype_ucs2_def.test
index c80444daddd..b146dc63626 100644
--- a/mysql-test/t/ctype_ucs2_def.test
+++ b/mysql-test/t/ctype_ucs2_def.test
@@ -39,4 +39,17 @@ INSERT INTO t1 VALUES('A', 'A'), ('B', 'B'), ('C', 'C');
INSERT INTO t1 VALUES('A ', 'A ');
DROP TABLE t1;
+#
+# Bug#32705 - myisam corruption: Key in wrong position
+# at page 1024 with ucs2_bin
+#
+CREATE TABLE t1 (
+ c1 CHAR(255) CHARACTER SET UCS2 COLLATE UCS2_BIN NOT NULL,
+ KEY(c1)
+ ) ENGINE=MyISAM;
+INSERT INTO t1 VALUES ('marshall\'s');
+INSERT INTO t1 VALUES ('marsh');
+CHECK TABLE t1 EXTENDED;
+DROP TABLE t1;
+
--echo End of 5.0 tests
diff --git a/mysql-test/t/ctype_ujis.test b/mysql-test/t/ctype_ujis.test
index 347587faee6..400f1301dd3 100644
--- a/mysql-test/t/ctype_ujis.test
+++ b/mysql-test/t/ctype_ujis.test
@@ -1147,10 +1147,12 @@ SET collation_connection='ujis_japanese_ci';
-- source include/ctype_filesort.inc
-- source include/ctype_innodb_like.inc
-- source include/ctype_like_escape.inc
+-- source include/ctype_like_range_f1f2.inc
SET collation_connection='ujis_bin';
-- source include/ctype_filesort.inc
-- source include/ctype_innodb_like.inc
-- source include/ctype_like_escape.inc
+-- source include/ctype_like_range_f1f2.inc
#
# Bugs#15375: Unassigned multibyte codes are broken
diff --git a/mysql-test/t/ctype_utf8.test b/mysql-test/t/ctype_utf8.test
index 204d59589e4..2e23ac3661c 100644
--- a/mysql-test/t/ctype_utf8.test
+++ b/mysql-test/t/ctype_utf8.test
@@ -186,6 +186,13 @@ select * from t1 where a = 'b' and a != 'b';
drop table t1;
#
+# Testing regexp
+#
+set collation_connection=utf8_general_ci;
+--source include/ctype_regex.inc
+set names utf8;
+
+#
# Bug #3928 regexp [[:>:]] and UTF-8
#
set names utf8;
@@ -714,6 +721,7 @@ select hex(soundex(_utf8 0xD091D092D093));
SET collation_connection='utf8_general_ci';
-- source include/ctype_filesort.inc
-- source include/ctype_like_escape.inc
+-- source include/ctype_german.inc
SET collation_connection='utf8_bin';
-- source include/ctype_filesort.inc
-- source include/ctype_like_escape.inc
@@ -1315,6 +1323,46 @@ select coercibility(col1), collation(col1) from v2;
drop view v1, v2;
drop table t1;
+#
+# Check conversion of NCHAR strings to subset (e.g. latin1).
+# Conversion is possible if string repertoire is ASCII.
+# Conversion is not possible if the string have extended characters
+#
+set names utf8;
+create table t1 (a varchar(10) character set latin1, b int);
+insert into t1 values ('a',1);
+select concat(a, if(b>10, N'x', N'y')) from t1;
+--error 1267
+select concat(a, if(b>10, N'æ', N'ß')) from t1;
+drop table t1;
+
+# Conversion tests for character set introducers
+set names utf8;
+create table t1 (a varchar(10) character set latin1, b int);
+insert into t1 values ('a',1);
+select concat(a, if(b>10, _utf8'x', _utf8'y')) from t1;
+--error 1267
+select concat(a, if(b>10, _utf8'æ', _utf8'ß')) from t1;
+drop table t1;
+
+# Conversion tests for introducer + HEX string
+set names utf8;
+create table t1 (a varchar(10) character set latin1, b int);
+insert into t1 values ('a',1);
+select concat(a, if(b>10, _utf8 0x78, _utf8 0x79)) from t1;
+--error 1267
+select concat(a, if(b>10, _utf8 0xC3A6, _utf8 0xC3AF)) from t1;
+drop table t1;
+
+# Conversion tests for "text_literal TEXT_STRING_literal" syntax structure
+set names utf8;
+create table t1 (a varchar(10) character set latin1, b int);
+insert into t1 values ('a',1);
+select concat(a, if(b>10, 'x' 'x', 'y' 'y')) from t1;
+--error 1267
+select concat(a, if(b>10, 'x' 'æ', 'y' 'ß')) from t1;
+drop table t1;
+
#
# Bug#19960: Inconsistent results when joining
@@ -1364,3 +1412,30 @@ SELECT b FROM t2 UNION SELECT c FROM t1;
SELECT i FROM t2 UNION SELECT c FROM t1;
DROP TABLE t1, t2;
+
+#
+# Bug#30982: CHAR(..USING..) can return a not-well-formed string
+# Bug #30986: Character set introducer followed by a HEX string can return bad result
+#
+set sql_mode=traditional;
+select hex(char(0xFF using utf8));
+select hex(convert(0xFF using utf8));
+--error ER_INVALID_CHARACTER_STRING
+select hex(_utf8 0x616263FF);
+--error ER_INVALID_CHARACTER_STRING
+select hex(_utf8 X'616263FF');
+--error ER_INVALID_CHARACTER_STRING
+select hex(_utf8 B'001111111111');
+--error ER_INVALID_CHARACTER_STRING
+select (_utf8 X'616263FF');
+set sql_mode=default;
+select hex(char(0xFF using utf8));
+select hex(convert(0xFF using utf8));
+--error ER_INVALID_CHARACTER_STRING
+select hex(_utf8 0x616263FF);
+--error ER_INVALID_CHARACTER_STRING
+select hex(_utf8 X'616263FF');
+--error ER_INVALID_CHARACTER_STRING
+select hex(_utf8 B'001111111111');
+--error ER_INVALID_CHARACTER_STRING
+select (_utf8 X'616263FF');
diff --git a/mysql-test/t/ddl_i18n_koi8r.test b/mysql-test/t/ddl_i18n_koi8r.test
index 1d16adbad55..e3bed098126 100644
--- a/mysql-test/t/ddl_i18n_koi8r.test
+++ b/mysql-test/t/ddl_i18n_koi8r.test
@@ -85,6 +85,10 @@ CREATE VIEW v2 AS SELECT _utf8'теÑÑ‚' as c1|
--echo
+CREATE VIEW v3 AS SELECT _utf8'теÑÑ‚'|
+
+--echo
+
#
# First-round checks.
#
@@ -120,6 +124,7 @@ SET @@collation_connection= cp1251_general_ci|
--disable_result_log
SELECT * FROM mysqltest1.v1|
SELECT * FROM mysqltest1.v2|
+SELECT * FROM mysqltest1.v3|
--enable_result_log
use mysqltest1|
@@ -168,7 +173,7 @@ DROP DATABASE mysqltest1|
--echo
--echo ---> connection: con3
-# - Switch environment variables and trigger loading stored procedures;
+# - Switch environment variables and trigger loading views;
SET @@character_set_client= cp1251|
SET @@character_set_results= cp1251|
@@ -177,6 +182,7 @@ SET @@collation_connection= cp1251_general_ci|
--disable_result_log
SELECT * FROM mysqltest1.v1|
SELECT * FROM mysqltest1.v2|
+SELECT * FROM mysqltest1.v3|
--enable_result_log
use mysqltest1|
diff --git a/mysql-test/t/ddl_i18n_utf8.test b/mysql-test/t/ddl_i18n_utf8.test
index c80137a58b5..d76debcba5b 100644
--- a/mysql-test/t/ddl_i18n_utf8.test
+++ b/mysql-test/t/ddl_i18n_utf8.test
@@ -85,6 +85,10 @@ CREATE VIEW v2 AS SELECT _koi8r'ÔÅÓÔ' as c1|
--echo
+CREATE VIEW v3 AS SELECT _koi8r'ÔÅÓÔ'|
+
+--echo
+
#
# First-round checks.
#
@@ -120,6 +124,7 @@ SET @@collation_connection= cp1251_general_ci|
--disable_result_log
SELECT * FROM mysqltest1.v1|
SELECT * FROM mysqltest1.v2|
+SELECT * FROM mysqltest1.v3|
--enable_result_log
use mysqltest1|
@@ -168,7 +173,7 @@ DROP DATABASE mysqltest1|
--echo
--echo ---> connection: con3
-# - Switch environment variables and trigger loading stored procedures;
+# - Switch environment variables and trigger loading views;
SET @@character_set_client= cp1251|
SET @@character_set_results= cp1251|
@@ -177,6 +182,7 @@ SET @@collation_connection= cp1251_general_ci|
--disable_result_log
SELECT * FROM mysqltest1.v1|
SELECT * FROM mysqltest1.v2|
+SELECT * FROM mysqltest1.v3|
--enable_result_log
use mysqltest1|
diff --git a/mysql-test/t/delayed.test b/mysql-test/t/delayed.test
index 396c06f43e7..ce57645bd4b 100644
--- a/mysql-test/t/delayed.test
+++ b/mysql-test/t/delayed.test
@@ -103,13 +103,13 @@ DROP TABLE t1;
# Bug#20627 - INSERT DELAYED does not honour auto_increment_* variables
#
SET @bug20627_old_auto_increment_offset=
- @@auto_increment_offset= 2;
+ @@auto_increment_offset;
SET @bug20627_old_auto_increment_increment=
- @@auto_increment_increment= 3;
+ @@auto_increment_increment;
SET @bug20627_old_session_auto_increment_offset=
- @@session.auto_increment_offset= 4;
+ @@session.auto_increment_offset;
SET @bug20627_old_session_auto_increment_increment=
- @@session.auto_increment_increment= 5;
+ @@session.auto_increment_increment;
SET @@auto_increment_offset= 2;
SET @@auto_increment_increment= 3;
SET @@session.auto_increment_offset= 4;
@@ -151,13 +151,13 @@ SET @@session.auto_increment_increment=
# Bug#20830 - INSERT DELAYED does not honour SET INSERT_ID
#
SET @bug20830_old_auto_increment_offset=
- @@auto_increment_offset= 2;
+ @@auto_increment_offset;
SET @bug20830_old_auto_increment_increment=
- @@auto_increment_increment= 3;
+ @@auto_increment_increment;
SET @bug20830_old_session_auto_increment_offset=
- @@session.auto_increment_offset= 4;
+ @@session.auto_increment_offset;
SET @bug20830_old_session_auto_increment_increment=
- @@session.auto_increment_increment= 5;
+ @@session.auto_increment_increment;
SET @@auto_increment_offset= 2;
SET @@auto_increment_increment= 3;
SET @@session.auto_increment_offset= 4;
@@ -244,11 +244,45 @@ SELECT HEX(a) FROM t1;
DROP TABLE t1;
#
-# Bug#26464 - insert delayed + update + merge = corruption
+# Bug #32676: insert delayed crash with wrong column and function specified
#
-CREATE TABLE t1(c1 INT) ENGINE=MyISAM;
-CREATE TABLE t2(c1 INT) ENGINE=MERGE UNION=(t1);
---error 1031
-INSERT DELAYED INTO t2 VALUES(1);
-DROP TABLE t1, t2;
+CREATE TABLE t1 (a INT);
+--error ER_BAD_FIELD_ERROR
+INSERT DELAYED INTO t1 SET b= b();
+DROP TABLE t1;
+
+--echo End of 5.0 tests
+
+#
+# Bug#27358 INSERT DELAYED does not honour SQL_MODE of the client
+#
+--disable_warnings
+DROP TABLE IF EXISTS t1,t2;
+--enable_warnings
+SET SQL_MODE='NO_AUTO_VALUE_ON_ZERO';
+CREATE TABLE `t1` (
+ `id` int(11) PRIMARY KEY auto_increment,
+ `f1` varchar(10) NOT NULL UNIQUE
+);
+INSERT DELAYED INTO t1 VALUES(0,"test1");
+sleep 1;
+SELECT * FROM t1;
+SET SQL_MODE='PIPES_AS_CONCAT';
+INSERT DELAYED INTO t1 VALUES(0,'a' || 'b');
+sleep 1;
+SELECT * FROM t1;
+SET SQL_MODE='ERROR_FOR_DIVISION_BY_ZERO,STRICT_ALL_TABLES';
+--error 1365
+INSERT DELAYED INTO t1 VALUES(mod(1,0),"test3");
+CREATE TABLE t2 (
+ `id` int(11) PRIMARY KEY auto_increment,
+ `f1` date
+);
+SET SQL_MODE='NO_ZERO_DATE,STRICT_ALL_TABLES,NO_ZERO_IN_DATE';
+--error ER_TRUNCATED_WRONG_VALUE
+INSERT DELAYED INTO t2 VALUES (0,'0000-00-00');
+--error ER_TRUNCATED_WRONG_VALUE
+INSERT DELAYED INTO t2 VALUES (0,'2007-00-00');
+DROP TABLE t1,t2;
+--echo End of 5.1 tests
diff --git a/mysql-test/t/delete.test b/mysql-test/t/delete.test
index 36d627209db..602e30687c8 100644
--- a/mysql-test/t/delete.test
+++ b/mysql-test/t/delete.test
@@ -173,8 +173,20 @@ delete from t1 where (@a:= f1) order by f1 limit 1;
select @a;
drop table t1;
+# BUG#30385 "Server crash when deleting with order by and limit"
+CREATE TABLE t1 (
+ `date` date ,
+ `time` time ,
+ `seq` int(10) unsigned NOT NULL auto_increment,
+ PRIMARY KEY (`seq`),
+ KEY `seq` (`seq`),
+ KEY `time` (`time`),
+ KEY `date` (`date`)
+);
+DELETE FROM t1 ORDER BY date ASC, time ASC LIMIT 1;
+drop table t1;
+
--echo End of 4.1 tests
-# End of 4.1 tests
#
# Test of multi-delete where we are not scanning the first table
@@ -221,3 +233,62 @@ DELETE FROM t1 ORDER BY t2.x;
DELETE FROM t1 ORDER BY (SELECT x);
DROP TABLE t1;
+
+#
+# Bug #30234: Unexpected behavior using DELETE with AS and USING
+# '
+CREATE TABLE t1 (
+ a INT
+);
+
+CREATE TABLE t2 (
+ a INT
+);
+
+CREATE DATABASE db1;
+CREATE TABLE db1.t1 (
+ a INT
+);
+INSERT INTO db1.t1 (a) SELECT * FROM t1;
+
+CREATE DATABASE db2;
+CREATE TABLE db2.t1 (
+ a INT
+);
+INSERT INTO db2.t1 (a) SELECT * FROM t2;
+
+--error ER_PARSE_ERROR
+DELETE FROM t1 alias USING t1, t2 alias WHERE t1.a = alias.a;
+DELETE FROM alias USING t1, t2 alias WHERE t1.a = alias.a;
+DELETE FROM t1, alias USING t1, t2 alias WHERE t1.a = alias.a;
+--error ER_UNKNOWN_TABLE
+DELETE FROM t1, t2 USING t1, t2 alias WHERE t1.a = alias.a;
+--error ER_PARSE_ERROR
+DELETE FROM db1.t1 alias USING db1.t1, db2.t1 alias WHERE db1.t1.a = alias.a;
+--error ER_UNKNOWN_TABLE
+DELETE FROM alias USING db1.t1, db2.t1 alias WHERE db1.t1.a = alias.a;
+DELETE FROM db2.alias USING db1.t1, db2.t1 alias WHERE db1.t1.a = alias.a;
+DELETE FROM t1 USING t1 WHERE a = 1;
+SELECT * FROM t1;
+--error ER_PARSE_ERROR
+DELETE FROM t1 alias USING t1 alias WHERE a = 2;
+SELECT * FROM t1;
+
+DROP TABLE t1, t2;
+DROP DATABASE db1;
+DROP DATABASE db2;
+
+#
+# Bug 31742: delete from ... order by function call that causes an error,
+# asserts server
+#
+
+CREATE FUNCTION f1() RETURNS INT RETURN 1;
+CREATE TABLE t1 (a INT);
+INSERT INTO t1 VALUES (0);
+--error 1318
+DELETE FROM t1 ORDER BY (f1(10)) LIMIT 1;
+DROP TABLE t1;
+DROP FUNCTION f1;
+
+--echo End of 5.0 tests
diff --git a/mysql-test/t/derived.test b/mysql-test/t/derived.test
index 4d8a8e3c3af..4e79fac584f 100644
--- a/mysql-test/t/derived.test
+++ b/mysql-test/t/derived.test
@@ -211,7 +211,8 @@ drop table t2;
# select list counter
#
CREATE TABLE `t1` ( `itemid` int(11) NOT NULL default '0', `grpid` varchar(15) NOT NULL default '', `vendor` int(11) NOT NULL default '0', `date_` date NOT NULL default '0000-00-00', `price` decimal(12,2) NOT NULL default '0.00', PRIMARY KEY (`itemid`,`grpid`,`vendor`,`date_`), KEY `itemid` (`itemid`,`vendor`), KEY `itemid_2` (`itemid`,`date_`));
-insert into t1 values (128, 'rozn', 2, now(), 10),(128, 'rozn', 1, now(), 10);
+insert into t1 values (128, 'rozn', 2, curdate(), 10),
+ (128, 'rozn', 1, curdate(), 10);
SELECT MIN(price) min, MAX(price) max, AVG(price) avg FROM (SELECT SUBSTRING( MAX(concat(date_,";",price)), 12) price FROM t1 WHERE itemid=128 AND grpid='rozn' GROUP BY itemid, grpid, vendor) lastprices;
DROP TABLE t1;
diff --git a/mysql-test/t/disabled.def b/mysql-test/t/disabled.def
index 96b5c8049b8..9e0b681528b 100644
--- a/mysql-test/t/disabled.def
+++ b/mysql-test/t/disabled.def
@@ -11,18 +11,13 @@
##############################################################################
user_limits : Bug#23921 random failure of user_limits.test
-im_options : Bug#20294 2006-07-24 stewart Instance manager test im_options fails randomly
-im_daemon_life_cycle : Bug#20294 2007-05-14 alik Instance manager tests fail randomly
-im_cmd_line : Bug#20294 2007-05-14 alik Instance manager tests fail randomly
-im_utils : Bug#20294 2007-05-30 alik Instance manager tests fail randomly
-im_instance_conf : Bug#20294 2007-05-30 alik Instance manager tests fail randomly
-im_life_cycle : BUG#27851 Instance manager dies on ASSERT in ~Thread_registry() or from not being able to close a mysqld instance.
-im_instance_conf : BUG#28743 Instance manager generates warnings in test suite
-im_utils : BUG#28743 Instance manager generates warnings in test suite
-
concurrent_innodb : BUG#21579 2006-08-11 mleich innodb_concurrent random failures with varying differences
ctype_big5 : BUG#26711 2007-06-21 Lars Test has never worked on Double Whopper
-
-mysql_upgrade : Bug#28560 test links to /usr/local/mysql/lib libraries, causes non-determinism and failures on ABI breakage
federated_transactions : Bug#29523 Transactions do not work
+lowercase_table3 : Bug#32667 lowercase_table3.test reports to error log
+innodb_mysql : Bug#32724: innodb_mysql.test fails randomly
+ctype_create : Bug#32965 main.ctype_create fails
+status : Bug#32966 main.status fails
+ps_ddl : Bug#12093 2007-12-14 pending WL#4165 / WL#4166
+csv_alter_table : Bug#33696 2008-01-21 pcrews no .result file - bug allows NULL columns in CSV tables
diff --git a/mysql-test/t/distinct.test b/mysql-test/t/distinct.test
index 7310f98cd16..bfdb5f8b9f8 100644
--- a/mysql-test/t/distinct.test
+++ b/mysql-test/t/distinct.test
@@ -97,7 +97,7 @@ explain SELECT t1.a from t1 group by a order by a desc;
explain SELECT distinct t1.a from t1 order by a desc limit 1;
explain SELECT distinct a from t3 order by a desc limit 2;
explain SELECT distinct a,b from t3 order by a+1;
-explain SELECT distinct a,b from t3 order by a limit 10;
+explain SELECT distinct a,b from t3 order by a limit 2;
explain SELECT a,b from t3 group by a,b order by a+1;
drop table t1,t2,t3,t4;
diff --git a/mysql-test/t/drop.test b/mysql-test/t/drop.test
index a1451773e90..2c490b51afc 100644
--- a/mysql-test/t/drop.test
+++ b/mysql-test/t/drop.test
@@ -122,3 +122,65 @@ disconnect addconroot2;
connection default;
--echo End of 5.0 tests
+
+#
+# Bug#30152 MySQLD crash duing alter table causes DROP DATABASE to FAIL due to temp file
+#
+create database mysql_test;
+create table mysql_test.t1(f1 int);
+create table mysql_test.`#sql-347f_7` (f1 int);
+create table mysql_test.`#sql-347f_8` (f1 int);
+drop table mysql_test.`#sql-347f_8`;
+copy_file $MYSQLTEST_VARDIR/master-data/mysql_test/t1.frm $MYSQLTEST_VARDIR/master-data/mysql_test/#sql-347f_6.frm;
+drop database mysql_test;
+
+###########################################################################
+
+--echo
+--echo # --
+--echo # -- Bug#29958: Weird message on DROP DATABASE if mysql.proc does not
+--echo # -- exist.
+--echo # --
+
+--disable_warnings
+DROP DATABASE IF EXISTS mysql_test;
+--enable_warnings
+
+CREATE DATABASE mysql_test;
+
+--copy_file $MYSQLTEST_VARDIR/master-data/mysql/proc.frm $MYSQLTEST_VARDIR/tmp/bug29958.proc.frm
+--copy_file $MYSQLTEST_VARDIR/master-data/mysql/proc.MYD $MYSQLTEST_VARDIR/tmp/bug29958.proc.MYD
+--copy_file $MYSQLTEST_VARDIR/master-data/mysql/proc.MYI $MYSQLTEST_VARDIR/tmp/bug29958.proc.MYI
+
+DROP TABLE mysql.proc;
+
+DROP DATABASE mysql_test;
+
+--copy_file $MYSQLTEST_VARDIR/tmp/bug29958.proc.frm $MYSQLTEST_VARDIR/master-data/mysql/proc.frm
+--copy_file $MYSQLTEST_VARDIR/tmp/bug29958.proc.MYD $MYSQLTEST_VARDIR/master-data/mysql/proc.MYD
+--copy_file $MYSQLTEST_VARDIR/tmp/bug29958.proc.MYI $MYSQLTEST_VARDIR/master-data/mysql/proc.MYI
+
+--echo
+--echo # --
+--echo # -- End of Bug#29958.
+--echo # --
+
+###########################################################################
+
+--echo
+#
+# Bug#26703: DROP DATABASE fails if database contains a #mysql50# table with backticks
+#
+create database mysqltestbug26703;
+use mysqltestbug26703;
+create table `#mysql50#abc``def` ( id int );
+--error ER_WRONG_TABLE_NAME
+create table `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa` (a int);
+create table `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa` (a int);
+create table `#mysql50#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa` (a int);
+--error ER_WRONG_TABLE_NAME
+create table `#mysql50#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa` (a int);
+use test;
+drop database mysqltestbug26703;
+
+--echo End of 5.1 tests
diff --git a/mysql-test/t/events.test b/mysql-test/t/events_1.test
index d7232705b81..ccdeb70d291 100644
--- a/mysql-test/t/events.test
+++ b/mysql-test/t/events_1.test
@@ -1,3 +1,6 @@
+# changes 2008-02-20 hhunger splitted events.test into events_1 and events_2
+# changes 2008-02-22 hhunger replaced all sleep by wait_condition
+#
# Can't test with embedded server that doesn't support grants
-- source include/not_embedded.inc
@@ -24,7 +27,8 @@ CREATE EVENT e_x2 ON SCHEDULE EVERY 1 SECOND DO DROP TABLE x_table;
connection default;
SHOW DATABASES LIKE 'db_x';
SET GLOBAL event_scheduler=1;
---sleep 1.2
+let $wait_condition= SELECT count(*)= 1 FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME LIKE 'db_x';
+--source include/wait_condition.inc
SHOW DATABASES LIKE 'db_x';
SHOW TABLES FROM db_x;
SET GLOBAL event_scheduler=off;
@@ -90,7 +94,8 @@ begin
end|
delimiter ;|
set global event_scheduler = on;
---sleep 3
+let $wait_condition= SELECT count(*)>0 from mysql.event where name='e_43' and interval_value= 5;
+--source include/wait_condition.inc
select db, name, body, status, interval_field, interval_value from mysql.event;
drop event e_43;
drop table test_nested;
@@ -98,7 +103,8 @@ drop table test_nested;
--echo "Let's check whether we can use non-qualified names"
create table non_qualif(a int);
create event non_qualif_ev on schedule every 10 minute do insert into non_qualif values (800219);
---sleep 1.1
+let $wait_condition=SELECT count(*)= 1 from non_qualif where a=800219;
+--source include/wait_condition.inc
select * from non_qualif;
drop event non_qualif_ev;
drop table non_qualif;
@@ -118,6 +124,8 @@ drop event existant;
create table t_event3 (a int, b float);
drop event if exists event3;
create event event3 on schedule every 50 + 10 minute starts date_add("20100101", interval 5 minute) ends date_add("20151010", interval 5 day) comment "portokala_comment" DO insert into t_event3 values (unix_timestamp(), rand());
+let $wait_condition=SELECT count(*)=0 from t_event3;
+--source include/wait_condition.inc
select count(*) from t_event3;
drop event event3;
drop table t_event3;
@@ -302,7 +310,7 @@ SELECT event_name FROM INFORMATION_SCHEMA.events;
SHOW CREATE EVENT intact_check;
--error ER_EVENT_DOES_NOT_EXIST
DROP EVENT no_such_event;
---error ER_CANNOT_LOAD_FROM_TABLE
+--error ER_EVENT_STORE_FAILED
CREATE EVENT intact_check_1 ON SCHEDULE EVERY 5 HOUR DO SELECT 5;
--error ER_EVENT_DOES_NOT_EXIST
ALTER EVENT intact_check_1 ON SCHEDULE EVERY 8 HOUR DO SELECT 8;
@@ -399,360 +407,6 @@ CREATE TABLE mysql.event like event_like;
DROP TABLE event_like;
--replace_column 8 # 9 #
SHOW EVENTS;
-#
-# mysql.event intact checking end
-#
-
-create event e_26 on schedule at '2017-01-01 00:00:00' disable do set @a = 5;
-select db, name, body, definer, convert_tz(execute_at, 'UTC', 'SYSTEM'), on_completion from mysql.event;
-drop event e_26;
---error ER_WRONG_VALUE
-create event e_26 on schedule at NULL disable do set @a = 5;
---error ER_WRONG_VALUE
-create event e_26 on schedule at 'definitely not a datetime' disable do set @a = 5;
-
-set names utf8;
-create event задачка on schedule every 123 minute starts now() ends now() + interval 1 month do select 1;
-drop event задачка;
-
-# event_scheduler is a global var
---error ER_GLOBAL_VARIABLE
-set event_scheduler=off;
-# event_scheduler could be only either 1 or 2
---error ER_WRONG_VALUE_FOR_VAR
-set global event_scheduler=3;
---error ER_WRONG_VALUE_FOR_VAR
-set global event_scheduler=disabled;
-
---echo "DISABLE the scheduler. Testing that it does not work when the variable is 0"
-set global event_scheduler=off;
-select definer, name, db from mysql.event;
-select get_lock("test_lock1", 20);
-create event закачка on schedule every 10 hour do select get_lock("test_lock1", 20);
---echo "Should return 1 row"
-select definer, name, db from mysql.event;
-
---echo "Should be only 1 process"
-select /*1*/ user, host, db, command, state, info from information_schema.processlist where (command!='Daemon' || user='event_scheduler') and (info is null or info not like '%processlist%') order by info;
-select release_lock("test_lock1");
-drop event закачка;
---echo "Should have 0 events"
-select count(*) from mysql.event;
-
-#
-#
-#
---echo "ENABLE the scheduler and get a lock"
-set global event_scheduler=on;
-select get_lock("test_lock2", 20);
---echo "Create an event which tries to acquire a mutex. The event locks on the mutex"
-create event закачка on schedule every 10 hour do select get_lock("test_lock2", 20);
---echo "Let some time pass to the event starts"
---sleep 1
---echo "Should have only 2 processes: the scheduler and the locked event"
-select /*2*/ user, host, db, command, state, info from information_schema.processlist where (command!='Daemon' || user='event_scheduler') and (info is null or info not like '%processlist%') order by info;--echo "Release the mutex, the event worker should finish."
---echo "Release the mutex, the event worker should finish."
-select release_lock("test_lock2");
-drop event закачка;
-
-##
-## 1. get a lock
-## 2. create an event
-## 3. sleep so it has time to start
-## 4. should appear in processlist
-## 5. kill the scheduler, it will wait for the child to stop
-## 6. both processes should be there on show processlist
-## 7. release the lock and sleep, both scheduler and child should end
-set global event_scheduler=1;
-select get_lock("test_lock2_1", 20);
-create event закачка21 on schedule every 10 hour do select get_lock("test_lock2_1", 20);
---sleep 1
---echo "Should have only 3 processes: the scheduler, our conn and the locked event"
-select /*3*/ user, host, db, command, state, info from information_schema.processlist where (command!='Daemon' || user='event_scheduler') and (info is null or info not like '%processlist%') order by info;
-set global event_scheduler=off;
---sleep 0.8
---echo "Should have only our process now:"
-select /*4*/ user, host, db, command, state, info from information_schema.processlist where (command!='Daemon' || user='event_scheduler') and (info is null or info not like '%processlist%') order by info;
-drop event закачка21;
-let $wait_condition=
- select count(*) = 0 from information_schema.processlist
- where db='events_test' and command = 'Connect' and user=current_user();
---source include/wait_condition.inc
-
-####
-# Bug #16410 Events: CREATE EVENT is legal in a CREATE TRIGGER statement
-#
-create table t_16 (s1 int);
---error ER_EVENT_RECURSION_FORBIDDEN
-create trigger t_16_bi before insert on t_16 for each row create event e_16 on schedule every 1 second do set @a=5;
-drop table t_16;
-#
-# end of test case
-####
-
-#
-# START: BUG #17453: Creating Event crash the server
-#
-create event white_space
-on schedule every 10 hour
-disable
-do
-select 1;
-select event_schema, event_name, definer, event_definition from information_schema.events where event_name='white_space';
-drop event white_space;
-create event white_space on schedule every 10 hour disable do
-
-select 2;
-select event_schema, event_name, definer, event_definition from information_schema.events where event_name='white_space';
-drop event white_space;
-create event white_space on schedule every 10 hour disable do select 3;
-select event_schema, event_name, definer, event_definition from information_schema.events where event_name='white_space';
-drop event white_space;
-#
-# END: BUG #17453: Creating Event crash the server
-#
-
-#
-# Bug#17403 "Events: packets out of order with show create event"
-#
-create event e1 on schedule every 1 year do set @a = 5;
-create table t1 (s1 int);
---error ER_SP_NO_RETSET
-create trigger t1_ai after insert on t1 for each row show create event e1;
-drop table t1;
-drop event e1;
-
-##set global event_scheduler=1;
-##select get_lock("test_lock3", 20);
-##create event закачка on schedule every 10 hour do select get_lock("test_lock3", 20);
-##select sleep(2);
-##select /*5*/ user, host, db, command, state, info from information_schema.processlist where info is null or info not like '%processlist%' order by info;
-##drop event закачка;
-##select release_lock("test_lock3");
-
-#
-# test with very often occuring event
-# (disabled for now, locks)
-##select get_lock("test_lock4", 20);
-##create event закачка4 on schedule every 1 second do select get_lock("test_lock4", 20);
-##select sleep(3);
-##select /*6*/ user, host, db, command, state, info from information_schema.processlist where info is null or info not like '%processlist%' order by info;
-##drop event закачка4;
-##select release_lock("test_lock4");
-
-##set global event_scheduler=off;
-##select sleep(2);
-##--replace_column 1 # 6 #
-##show processlist;
-##select count(*) from mysql.event;
-
-#
-# Test wrong syntax
-#
-
---error 1102
-SHOW EVENTS FROM aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa;
---error 1102
-SHOW EVENTS FROM ``;
-
-SHOW EVENTS FROM `events\\test`;
-#
-# A check for events SQL under LOCK TABLES and in pre-locked mode.
-#
---echo
---echo LOCK TABLES mode.
---echo
-#
-# SHOW CREATE EVENT and INFORMATION_SCHEMA.events are available and
-# cause an implicit lock/unlock of mysql.event table, regardless of the
-# currently locked tables.
-#
-create table t1 (a int);
-create event e1 on schedule every 10 hour do select 1;
-#
-lock table t1 read;
-#
---replace_regex /STARTS '[^']+'/STARTS '#'/
-show create event e1;
-select event_name from information_schema.events;
---error ER_TABLE_NOT_LOCKED
-create event e2 on schedule every 10 hour do select 1;
---error ER_TABLE_NOT_LOCKED
-alter event e2 disable;
---error ER_TABLE_NOT_LOCKED
-alter event e2 rename to e3;
---error ER_TABLE_NOT_LOCKED
-drop event e2;
---error ER_TABLE_NOT_LOCKED
-drop event e1;
-unlock tables;
-#
-lock table t1 write;
-#
---replace_regex /STARTS '[^']+'/STARTS '#'/
-show create event e1;
-select event_name from information_schema.events;
---error ER_TABLE_NOT_LOCKED
-create event e2 on schedule every 10 hour do select 1;
---error ER_TABLE_NOT_LOCKED
-alter event e2 disable;
---error ER_TABLE_NOT_LOCKED
-alter event e2 rename to e3;
---error ER_TABLE_NOT_LOCKED
-drop event e2;
---error ER_TABLE_NOT_LOCKED
-drop event e1;
-unlock tables;
-#
-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
-create event e2 on schedule every 10 hour do select 1;
---error ER_TABLE_NOT_LOCKED_FOR_WRITE
-alter event e2 disable;
---error ER_TABLE_NOT_LOCKED_FOR_WRITE
-alter event e2 rename to e3;
---error ER_TABLE_NOT_LOCKED_FOR_WRITE
-drop event e2;
---error ER_TABLE_NOT_LOCKED_FOR_WRITE
-drop event e1;
-unlock tables;
-#
-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
-create event e2 on schedule every 10 hour do select 1;
---error ER_TABLE_NOT_LOCKED_FOR_WRITE
-alter event e2 disable;
---error ER_TABLE_NOT_LOCKED_FOR_WRITE
-alter event e2 rename to e3;
---error ER_TABLE_NOT_LOCKED_FOR_WRITE
-drop event e2;
---error ER_TABLE_NOT_LOCKED_FOR_WRITE
-drop event e1;
-unlock tables;
-#
---error ER_WRONG_LOCK_OF_SYSTEM_TABLE
-lock table t1 read, mysql.event write;
-#
---error ER_WRONG_LOCK_OF_SYSTEM_TABLE
-lock table t1 write, mysql.event write;
-#
-lock table mysql.event write;
---replace_regex /STARTS '[^']+'/STARTS '#'/
-show create event e1;
-select event_name from information_schema.events;
-create event e2 on schedule every 10 hour do select 1;
-alter event e2 disable;
-alter event e2 rename to e3;
-drop event e3;
-drop event e1;
-unlock tables;
---echo Make sure we have left no events
-select event_name from information_schema.events;
---echo
---echo Events in sub-statements, events and prelocking
---echo
---echo
-create event e1 on schedule every 10 hour do select 1;
-delimiter |;
---error ER_SP_NO_RETSET
-create function f1() returns int
-begin
- show create event e1;
- return 1;
-end|
---error ER_SP_NO_RETSET
-create trigger trg before insert on t1 for each row
-begin
- show create event e1;
-end|
---error ER_SP_NO_RETSET
-create function f1() returns int
-begin
- select event_name from information_schema.events;
- return 1;
-end|
---error ER_SP_NO_RETSET
-create trigger trg before insert on t1 for each row
-begin
- select event_name from information_schema.events;
-end|
---error ER_EVENT_RECURSION_FORBIDDEN
-create function f1() returns int
-begin
- create event e2 on schedule every 10 hour do select 1;
- return 1;
-end|
---error ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG
-create function f1() returns int
-begin
- alter event e1 rename to e2;
- return 1;
-end|
---error ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG
-create function f1() returns int
-begin
- drop event e2;
- return 1;
-end|
---echo ----------------------------------------------------------------------
-create trigger trg before insert on t1 for each row
-begin
- set new.a= f1();
-end|
-create function f1() returns int
-begin
- call p1();
- return 0;
-end|
-create procedure p1()
-begin
- select event_name from information_schema.events;
-end|
---error ER_SP_NO_RETSET
-insert into t1 (a) values (1)|
-drop procedure p1|
-create procedure p1()
-begin
- show create event e1;
-end|
---error ER_SP_NO_RETSET
-insert into t1 (a) values (1)|
-drop procedure p1|
-create procedure p1()
-begin
- create temporary table tmp select event_name from information_schema.events;
-end|
---echo expected to work, since we redirect the output into a tmp table
-insert into t1 (a) values (1)|
-select * from tmp|
-drop temporary table tmp|
-drop procedure p1|
-create procedure p1()
-begin
- alter event e1 rename to e2;
-end|
---error ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG
-insert into t1 (a) values (1)|
-drop procedure p1|
-create procedure p1()
-begin
- drop event e1;
-end|
---error ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG
-insert into t1 (a) values (1)|
-drop table t1|
-drop event e1|
-delimiter ;|
-
-
#
# End of tests
#
diff --git a/mysql-test/t/events_2.test b/mysql-test/t/events_2.test
new file mode 100644
index 00000000000..c52d9cf06c6
--- /dev/null
+++ b/mysql-test/t/events_2.test
@@ -0,0 +1,411 @@
+# changes 2008-02-20 hhunger splitted events.test into events_1 and events_2
+#
+# Can't test with embedded server that doesn't support grants
+-- source include/not_embedded.inc
+
+--disable_warnings
+drop database if exists events_test;
+--enable_warnings
+create database events_test;
+use events_test;
+
+#
+# mysql.event intact checking end
+#
+
+create event e_26 on schedule at '2017-01-01 00:00:00' disable do set @a = 5;
+select db, name, body, definer, convert_tz(execute_at, 'UTC', 'SYSTEM'), on_completion from mysql.event;
+drop event e_26;
+--error ER_WRONG_VALUE
+create event e_26 on schedule at NULL disable do set @a = 5;
+--error ER_WRONG_VALUE
+create event e_26 on schedule at 'definitely not a datetime' disable do set @a = 5;
+
+set names utf8;
+create event задачка on schedule every 123 minute starts now() ends now() + interval 1 month do select 1;
+drop event задачка;
+
+# event_scheduler is a global var
+--error ER_GLOBAL_VARIABLE
+set event_scheduler=off;
+# event_scheduler could be only either 1 or 2
+--error ER_WRONG_VALUE_FOR_VAR
+set global event_scheduler=3;
+--error ER_WRONG_VALUE_FOR_VAR
+set global event_scheduler=disabled;
+
+--echo "DISABLE the scheduler. Testing that it does not work when the variable is 0"
+set global event_scheduler=off;
+select definer, name, db from mysql.event;
+select get_lock("test_lock1", 20);
+create event закачка on schedule every 10 hour do select get_lock("test_lock1", 20);
+--echo "Should return 1 row"
+select definer, name, db from mysql.event;
+
+--echo "Should be only 0 process"
+select /*1*/ user, host, db, command, state, info
+ from information_schema.processlist
+ where (user='event_scheduler')
+ order by info;
+select release_lock("test_lock1");
+drop event закачка;
+--echo "Should have 0 events"
+select count(*) from mysql.event;
+
+#
+#
+#
+--echo "ENABLE the scheduler and get a lock"
+set global event_scheduler=on;
+select get_lock("test_lock2", 20);
+--echo "Create an event which tries to acquire a mutex. The event locks on the mutex"
+create event закачка on schedule every 10 hour do select get_lock("test_lock2", 20);
+
+--echo "Should have only 2 processes: the scheduler and the locked event"
+let $wait_condition= select count(*) = 2 from information_schema.processlist
+ where ( (state like 'User lock%' AND info like 'select get_lock%')
+ OR (command='Daemon' AND user='event_scheduler' AND
+ state = 'Waiting for next activation'));
+--source include/wait_condition.inc
+
+select /*2*/ user, host, db, command, state, info
+ from information_schema.processlist
+ where (info like "select get_lock%" OR user='event_scheduler')
+ order by info;
+--echo "Release the mutex, the event worker should finish."
+select release_lock("test_lock2");
+drop event закачка;
+
+# Wait for release_lock("test_lock2") to complete,
+# to avoid polluting the next test information_schema.processlist
+let $wait_condition= select count(*) = 0 from information_schema.processlist
+ where (state like 'User lock%' AND info like 'select get_lock%');
+--source include/wait_condition.inc
+
+
+##
+## 1. get a lock
+## 2. create an event
+## 3. sleep so it has time to start
+## 4. should appear in processlist
+## 5. kill the scheduler, it will wait for the child to stop
+## 6. both processes should be there on show processlist
+## 7. release the lock and sleep, both scheduler and child should end
+set global event_scheduler=1;
+select get_lock("test_lock2_1", 20);
+create event закачка21 on schedule every 10 hour do select get_lock("test_lock2_1", 20);
+
+--echo "Should have only 2 processes: the scheduler and the locked event"
+let $wait_condition= select count(*) = 2 from information_schema.processlist
+ where ( (state like 'User lock%' AND info like 'select get_lock%')
+ OR (command='Daemon' AND user='event_scheduler' AND
+ state = 'Waiting for next activation'));
+--source include/wait_condition.inc
+
+select /*3*/ user, host, db, command, state, info
+ from information_schema.processlist
+ where (info like "select get_lock%" OR user='event_scheduler')
+ order by info;
+
+set global event_scheduler=off;
+
+let $wait_condition= select count(*) =1 from information_schema.processlist
+ where (info like "select get_lock%" OR user='event_scheduler');
+--source include/wait_condition.inc
+
+--echo "Should have only our process now:"
+select /*4*/ user, host, db, command, state, info
+ from information_schema.processlist
+ where (info like "select get_lock%" OR user='event_scheduler')
+ order by info;
+select release_lock("test_lock2_1");
+drop event закачка21;
+let $wait_condition=
+ select count(*) = 0 from information_schema.processlist
+ where db='events_test' and command = 'Connect' and user=current_user();
+--source include/wait_condition.inc
+
+####
+# Bug #16410 Events: CREATE EVENT is legal in a CREATE TRIGGER statement
+#
+create table t_16 (s1 int);
+--error ER_EVENT_RECURSION_FORBIDDEN
+create trigger t_16_bi before insert on t_16 for each row create event e_16 on schedule every 1 second do set @a=5;
+drop table t_16;
+#
+# end of test case
+####
+
+#
+# START: BUG #17453: Creating Event crash the server
+#
+create event white_space
+on schedule every 10 hour
+disable
+do
+select 1;
+select event_schema, event_name, definer, event_definition from information_schema.events where event_name='white_space';
+drop event white_space;
+create event white_space on schedule every 10 hour disable do
+
+select 2;
+select event_schema, event_name, definer, event_definition from information_schema.events where event_name='white_space';
+drop event white_space;
+create event white_space on schedule every 10 hour disable do select 3;
+select event_schema, event_name, definer, event_definition from information_schema.events where event_name='white_space';
+drop event white_space;
+#
+# END: BUG #17453: Creating Event crash the server
+#
+
+#
+# Bug#17403 "Events: packets out of order with show create event"
+#
+create event e1 on schedule every 1 year do set @a = 5;
+create table t1 (s1 int);
+--error ER_SP_NO_RETSET
+create trigger t1_ai after insert on t1 for each row show create event e1;
+drop table t1;
+drop event e1;
+
+##set global event_scheduler=1;
+##select get_lock("test_lock3", 20);
+##create event закачка on schedule every 10 hour do select get_lock("test_lock3", 20);
+##select sleep(2);
+##select /*5*/ user, host, db, command, state, info from information_schema.processlist where info is null or info not like '%processlist%' order by info;
+##drop event закачка;
+##select release_lock("test_lock3");
+
+#
+# test with very often occuring event
+# (disabled for now, locks)
+##select get_lock("test_lock4", 20);
+##create event закачка4 on schedule every 1 second do select get_lock("test_lock4", 20);
+##select sleep(3);
+##select /*6*/ user, host, db, command, state, info from information_schema.processlist where info is null or info not like '%processlist%' order by info;
+##drop event закачка4;
+##select release_lock("test_lock4");
+
+##set global event_scheduler=off;
+##select sleep(2);
+##--replace_column 1 # 6 #
+##show processlist;
+##select count(*) from mysql.event;
+
+#
+# Test wrong syntax
+#
+
+--error ER_WRONG_DB_NAME
+SHOW EVENTS FROM aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa;
+--error ER_WRONG_DB_NAME
+SHOW EVENTS FROM ``;
+
+SHOW EVENTS FROM `events\\test`;
+#
+# A check for events SQL under LOCK TABLES and in pre-locked mode.
+#
+--echo
+--echo LOCK TABLES mode.
+--echo
+#
+# SHOW CREATE EVENT and INFORMATION_SCHEMA.events are available and
+# cause an implicit lock/unlock of mysql.event table, regardless of the
+# currently locked tables.
+#
+create table t1 (a int);
+create event e1 on schedule every 10 hour do select 1;
+#
+lock table t1 read;
+#
+--replace_regex /STARTS '[^']+'/STARTS '#'/
+show create event e1;
+select event_name from information_schema.events;
+--error ER_TABLE_NOT_LOCKED
+create event e2 on schedule every 10 hour do select 1;
+--error ER_TABLE_NOT_LOCKED
+alter event e2 disable;
+--error ER_TABLE_NOT_LOCKED
+alter event e2 rename to e3;
+--error ER_TABLE_NOT_LOCKED
+drop event e2;
+--error ER_TABLE_NOT_LOCKED
+drop event e1;
+unlock tables;
+#
+lock table t1 write;
+#
+--replace_regex /STARTS '[^']+'/STARTS '#'/
+show create event e1;
+select event_name from information_schema.events;
+--error ER_TABLE_NOT_LOCKED
+create event e2 on schedule every 10 hour do select 1;
+--error ER_TABLE_NOT_LOCKED
+alter event e2 disable;
+--error ER_TABLE_NOT_LOCKED
+alter event e2 rename to e3;
+--error ER_TABLE_NOT_LOCKED
+drop event e2;
+--error ER_TABLE_NOT_LOCKED
+drop event e1;
+unlock tables;
+#
+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
+create event e2 on schedule every 10 hour do select 1;
+--error ER_TABLE_NOT_LOCKED_FOR_WRITE
+alter event e2 disable;
+--error ER_TABLE_NOT_LOCKED_FOR_WRITE
+alter event e2 rename to e3;
+--error ER_TABLE_NOT_LOCKED_FOR_WRITE
+drop event e2;
+--error ER_TABLE_NOT_LOCKED_FOR_WRITE
+drop event e1;
+unlock tables;
+#
+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
+create event e2 on schedule every 10 hour do select 1;
+--error ER_TABLE_NOT_LOCKED_FOR_WRITE
+alter event e2 disable;
+--error ER_TABLE_NOT_LOCKED_FOR_WRITE
+alter event e2 rename to e3;
+--error ER_TABLE_NOT_LOCKED_FOR_WRITE
+drop event e2;
+--error ER_TABLE_NOT_LOCKED_FOR_WRITE
+drop event e1;
+unlock tables;
+#
+--error ER_WRONG_LOCK_OF_SYSTEM_TABLE
+lock table t1 read, mysql.event write;
+#
+--error ER_WRONG_LOCK_OF_SYSTEM_TABLE
+lock table t1 write, mysql.event write;
+#
+lock table mysql.event write;
+--replace_regex /STARTS '[^']+'/STARTS '#'/
+show create event e1;
+select event_name from information_schema.events;
+create event e2 on schedule every 10 hour do select 1;
+alter event e2 disable;
+alter event e2 rename to e3;
+drop event e3;
+drop event e1;
+unlock tables;
+--echo Make sure we have left no events
+select event_name from information_schema.events;
+--echo
+--echo Events in sub-statements, events and prelocking
+--echo
+--echo
+create event e1 on schedule every 10 hour do select 1;
+delimiter |;
+--error ER_SP_NO_RETSET
+create function f1() returns int
+begin
+ show create event e1;
+ return 1;
+end|
+--error ER_SP_NO_RETSET
+create trigger trg before insert on t1 for each row
+begin
+ show create event e1;
+end|
+--error ER_SP_NO_RETSET
+create function f1() returns int
+begin
+ select event_name from information_schema.events;
+ return 1;
+end|
+--error ER_SP_NO_RETSET
+create trigger trg before insert on t1 for each row
+begin
+ select event_name from information_schema.events;
+end|
+--error ER_EVENT_RECURSION_FORBIDDEN
+create function f1() returns int
+begin
+ create event e2 on schedule every 10 hour do select 1;
+ return 1;
+end|
+--error ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG
+create function f1() returns int
+begin
+ alter event e1 rename to e2;
+ return 1;
+end|
+--error ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG
+create function f1() returns int
+begin
+ drop event e2;
+ return 1;
+end|
+--echo ----------------------------------------------------------------------
+create trigger trg before insert on t1 for each row
+begin
+ set new.a= f1();
+end|
+create function f1() returns int
+begin
+ call p1();
+ return 0;
+end|
+create procedure p1()
+begin
+ select event_name from information_schema.events;
+end|
+--error ER_SP_NO_RETSET
+insert into t1 (a) values (1)|
+drop procedure p1|
+create procedure p1()
+begin
+ show create event e1;
+end|
+--error ER_SP_NO_RETSET
+insert into t1 (a) values (1)|
+drop procedure p1|
+create procedure p1()
+begin
+ create temporary table tmp select event_name from information_schema.events;
+end|
+--echo expected to work, since we redirect the output into a tmp table
+insert into t1 (a) values (1)|
+select * from tmp|
+drop temporary table tmp|
+drop procedure p1|
+create procedure p1()
+begin
+ alter event e1 rename to e2;
+end|
+--error ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG
+insert into t1 (a) values (1)|
+drop procedure p1|
+create procedure p1()
+begin
+ drop event e1;
+end|
+--error ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG
+insert into t1 (a) values (1)|
+drop table t1|
+drop event e1|
+delimiter ;|
+
+
+#
+# End of tests
+#
+
+let $wait_condition=
+ select count(*) = 0 from information_schema.processlist
+ where db='events_test' and command = 'Connect' and user=current_user();
+--source include/wait_condition.inc
+
+drop database events_test;
diff --git a/mysql-test/t/events_bugs-master.opt b/mysql-test/t/events_bugs-master.opt
new file mode 100644
index 00000000000..f93413a61e5
--- /dev/null
+++ b/mysql-test/t/events_bugs-master.opt
@@ -0,0 +1 @@
+--event-scheduler
diff --git a/mysql-test/t/events_bugs.test b/mysql-test/t/events_bugs.test
index 36052fdb9af..b3b2f37e36f 100644
--- a/mysql-test/t/events_bugs.test
+++ b/mysql-test/t/events_bugs.test
@@ -10,6 +10,21 @@ create database events_test;
use events_test;
#
+# START: Bug #31332 --event-scheduler option misbehaving
+#
+
+# NOTE!! this test must come first! It's testing that the --event-scheduler
+# option with no argument in events_bugs-master.opt turns the scheduler on.
+
+select * from information_schema.global_variables where variable_name like 'event_scheduler';
+
+SET GLOBAL event_scheduler = 'OFF';
+
+#
+# END: Bug #31332
+#
+
+#
# START - 16415: Events: event names are case sensitive
#
CREATE EVENT lower_case ON SCHEDULE EVERY 1 MINUTE DO SELECT 1;
@@ -712,18 +727,6 @@ DROP TABLE event_log;
#DROP DATABASE ev_db_1;
SET GLOBAL event_scheduler = OFF;
-#
-# End of tests
-#
-
-let $wait_condition=
- select count(*) = 0 from information_schema.processlist
- where db='events_test' and command = 'Connect' and user=current_user();
---source include/wait_condition.inc
-
-DROP DATABASE events_test;
-
-
#
# Bug#28641 CREATE EVENT with '2038.01.18 03:00:00' let server crash.
#
@@ -737,3 +740,235 @@ CREATE EVENT bug28641 ON SCHEDULE AT '2038.01.18 03:00:00'
DELIMITER ;|
SET GLOBAL event_scheduler= OFF;
DROP EVENT bug28641;
+
+###########################################################################
+
+--echo
+--echo #####################################################################
+--echo #
+--echo # BUG#31111: --read-only crashes MySQL (events fail to load).
+--echo #
+--echo #####################################################################
+--echo
+
+--error 0,ER_CANNOT_USER
+DROP USER mysqltest_u1@localhost;
+
+--disable_warnings
+DROP EVENT IF EXISTS e1;
+DROP EVENT IF EXISTS e2;
+--enable_warnings
+
+--echo
+
+# Check that an ordinary user can not create/update/drop events in the
+# read-only mode.
+
+GRANT EVENT ON *.* TO mysqltest_u1@localhost;
+
+--echo
+
+SET GLOBAL READ_ONLY = 1;
+
+--echo
+
+--echo #
+--echo # Connection: u1_con (mysqltest_u1@localhost/events_test).
+--echo #
+
+--connect(u1_con,localhost,mysqltest_u1,,events_test)
+
+--echo
+
+--error ER_OPTION_PREVENTS_STATEMENT
+CREATE EVENT e1 ON SCHEDULE AT '2020-01-01 00:00:00' DO SET @a = 1;
+
+--echo
+
+--error ER_OPTION_PREVENTS_STATEMENT
+ALTER EVENT e1 COMMENT 'comment';
+
+--echo
+
+--error ER_OPTION_PREVENTS_STATEMENT
+DROP EVENT e1;
+
+--echo
+
+# Check that the super user still can create/update/drop events.
+
+--echo #
+--echo # Connection: root_con (root@localhost/events_test).
+--echo #
+
+--connect(root_con,localhost,root,,events_test)
+
+--echo
+
+CREATE EVENT e1 ON SCHEDULE AT '2020-01-01 00:00:00' DO SET @a = 1;
+
+--echo
+
+ALTER EVENT e1 COMMENT 'comment';
+
+--echo
+
+DROP EVENT e1;
+
+--echo
+
+#
+# Switch to read-write mode; create test events under the user mysqltest_u1;
+# switch back to read-only mode.
+#
+
+SET GLOBAL READ_ONLY = 0;
+
+--echo
+
+--echo #
+--echo # Connection: u1_con (mysqltest_u1@localhost/test).
+--echo #
+
+--connection u1_con
+
+--echo
+
+CREATE EVENT e1 ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 SECOND DO SET @a = 1;
+CREATE EVENT e2 ON SCHEDULE EVERY 1 SECOND DO SET @a = 1;
+
+--echo
+
+SELECT
+ event_name,
+ last_executed IS NULL,
+ definer
+FROM INFORMATION_SCHEMA.EVENTS
+WHERE event_schema = 'events_test';
+
+--echo
+
+--echo #
+--echo # Connection: root_con (root@localhost/events_test).
+--echo #
+
+--connection root_con
+
+--echo
+
+SET GLOBAL READ_ONLY = 1;
+
+# Check that the event scheduler is able to update event.
+
+--echo
+
+SET GLOBAL EVENT_SCHEDULER = ON;
+
+--echo
+
+--echo # Waiting for the event scheduler to execute and drop event e1...
+
+let $wait_timeout = 2;
+let $wait_condition =
+ SELECT COUNT(*) = 0
+ FROM INFORMATION_SCHEMA.EVENTS
+ WHERE event_schema = 'events_test' AND event_name = 'e1';
+--source include/wait_condition.inc
+
+--echo
+
+--echo # Waiting for the event scheduler to execute and update event e2...
+
+let $wait_condition =
+ SELECT last_executed IS NOT NULL
+ FROM INFORMATION_SCHEMA.EVENTS
+ WHERE event_schema = 'events_test' AND event_name = 'e2';
+--source include/wait_condition.inc
+
+--echo
+
+SET GLOBAL EVENT_SCHEDULER = OFF;
+
+--echo
+
+SELECT
+ event_name,
+ last_executed IS NULL,
+ definer
+FROM INFORMATION_SCHEMA.EVENTS
+WHERE event_schema = 'events_test';
+
+--echo
+
+--error ER_EVENT_DOES_NOT_EXIST
+DROP EVENT e1;
+
+--echo
+--echo # Cleanup.
+--echo
+
+DROP EVENT e2;
+
+--echo
+
+SET GLOBAL READ_ONLY = 0;
+
+--echo
+
+--echo #
+--echo # Connection: default
+--echo #
+
+--disconnect u1_con
+--disconnect root_con
+--connection default
+
+--echo
+
+DROP USER mysqltest_u1@localhost;
+
+--echo
+--echo #####################################################################
+--echo #
+--echo # End of BUG#31111.
+--echo #
+--echo #####################################################################
+--echo
+
+#
+# Bug#32633 Can not create any routine if SQL_MODE=no_engine_substitution
+#
+# Ensure that when new SQL modes are introduced, they are also added to
+# the mysql.event table.
+#
+
+--disable_warnings
+drop procedure if exists p;
+--enable_warnings
+set @old_mode= @@sql_mode;
+set @@sql_mode= pow(2,32)-1;
+create event e1 on schedule every 1 day do select 1;
+select @@sql_mode;
+set @@sql_mode= @old_mode;
+# Rename SQL modes that differ in name between the server and the table definition.
+select replace(@full_mode, '?', 'NOT_USED') into @full_mode;
+select replace(@full_mode, 'ALLOW_INVALID_DATES', 'INVALID_DATES') into @full_mode;
+select name from mysql.event where name = 'p' and sql_mode = @full_mode;
+drop event e1;
+
+###########################################################################
+#
+# End of tests
+#
+# !!! KEEP this section AT THE END of this file !!!
+#
+###########################################################################
+
+let $wait_condition=
+ select count(*) = 0 from information_schema.processlist
+ where db='events_test' and command = 'Connect' and user=current_user();
+--source include/wait_condition.inc
+
+DROP DATABASE events_test;
+
+# THIS MUST BE THE LAST LINE in this file.
diff --git a/mysql-test/t/events_logs_tests.test b/mysql-test/t/events_logs_tests.test
index 0c56f32beff..3240dccbc76 100644
--- a/mysql-test/t/events_logs_tests.test
+++ b/mysql-test/t/events_logs_tests.test
@@ -1,115 +1,89 @@
# Can't test with embedded server that doesn't support grants
-- source include/not_embedded.inc
-CREATE DATABASE IF NOT EXISTS events_test;
-USE events_test;
---echo "We use procedure here because its statements won't be logged into the general log"
---echo "If we had used normal select that are logged in different ways depending on whether"
---echo "the test suite is run in normal mode or with --ps-protocol"
+--disable_warnings
+drop database if exists events_test;
+--enable_warnings
+create database if not exists events_test;
+use events_test;
+--echo
+--echo We use procedure here because its statements won't be
+--echo logged into the general log. If we had used normal select
+--echo that are logged in different ways depending on whether the
+--echo test suite is run in normal mode or with --ps-protocol
+--echo
delimiter |;
-CREATE procedure select_general_log()
-BEGIN
- SELECT user_host, argument FROM mysql.general_log WHERE argument LIKE '%alabala%';
-END|
+create procedure select_general_log()
+begin
+ select user_host, argument from mysql.general_log
+ where argument like '%events_logs_test%';
+end|
delimiter ;|
---echo "Check General Query Log"
+--echo
+--echo Check that general query log works, but sub-statements
+--echo of the stored procedure do not leave traces in it.
+--echo
+truncate mysql.general_log;
+# Logging format in ps protocol is slightly different
+--disable_ps_protocol
+select 'events_logs_tests' as outside_event;
+--enable_ps_protocol
--replace_column 1 USER_HOST
-CALL select_general_log();
-SET GLOBAL event_scheduler=on;
-TRUNCATE mysql.general_log;
-CREATE EVENT log_general ON SCHEDULE EVERY 1 MINUTE DO SELECT 'alabala', SLEEP(1) FROM DUAL;
---echo "Wait the scheduler to start"
---sleep 1.5
---echo "Should see 2 rows - the 'SELECT' is in the middle. The other two are selects from general_log"
+call select_general_log();
+--echo
+--echo Check that unlike sub-statements of stored procedures,
+--echo sub-statements of events are present in the general log.
+--echo
+set global event_scheduler=on;
+truncate mysql.general_log;
+create event ev_log_general on schedule at now() on completion not preserve do select 'events_logs_test' as inside_event;
+--let $wait_condition=select count(*)=0 from information_schema.events where event_name='ev_log_general'
+--source include/wait_condition.inc
--replace_column 1 USER_HOST
-CALL select_general_log();
-DROP PROCEDURE select_general_log;
-DROP EVENT log_general;
-SET GLOBAL event_scheduler=off;
+call select_general_log();
---echo "Check slow query log"
---disable_query_log
-DELIMITER |;
-CREATE FUNCTION get_value()
- returns INT
- deterministic
-BEGIN
- DECLARE var_name CHAR(255);
- DECLARE var_val INT;
- DECLARE done INT DEFAULT 0;
- DECLARE cur1 CURSOR FOR SHOW GLOBAL VARIABLES LIKE 'long_query_time';
- DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
- OPEN cur1;
- FETCH cur1 INTO var_name, var_val;
- CLOSE cur1;
- RETURN var_val;
-end|
-DELIMITER ;|
---enable_query_log
---echo "Save the values"
-SET @old_global_long_query_time:=(select get_value());
-SET @old_session_long_query_time:=@@long_query_time;
-SHOW VARIABLES LIKE 'log_slow_queries';
-DROP FUNCTION get_value;
---echo "Make it quite long"
-SET SESSION long_query_time=300;
-TRUNCATE mysql.slow_log;
+--echo
+--echo Check slow query log
+--echo
+--echo Ensure that slow logging is on
+show variables like 'log_slow_queries';
+--echo
+--echo Demonstrate that session value has no effect
+--echo
+set @@session.long_query_time=1;
+set @@global.long_query_time=300;
+truncate mysql.slow_log;
+create event ev_log_general on schedule at now() on completion not preserve
+ do select 'events_logs_test' as inside_event, sleep(1.5);
+--let $wait_condition=select count(*)=0 from information_schema.events where event_name='ev_log_general'
+--source include/wait_condition.inc
+--echo
+--echo Nothing should be logged
+--echo
--replace_column 1 USER_HOST
-SELECT user_host, query_time, db, sql_text FROM mysql.slow_log;
---echo "Set new values"
-SET GLOBAL long_query_time=4;
-SET SESSION long_query_time=1;
---echo "Check that logging is working"
-SELECT SLEEP(2);
---replace_column 1 USER_HOST 2 SLEEPVAL
-SELECT user_host, query_time, db, sql_text FROM mysql.slow_log;
-SET SESSION long_query_time=300;
---echo "Make it quite long"
-TRUNCATE mysql.slow_log;
-CREATE TABLE slow_event_test (slo_val tinyint, val tinyint);
-SET SESSION long_query_time=1;
---echo "This won't go to the slow log"
-SELECT * FROM slow_event_test;
-SET SESSION long_query_time=1;
-SET GLOBAL event_scheduler=on;
-SET GLOBAL long_query_time=20;
-CREATE EVENT long_event ON SCHEDULE EVERY 1 MINUTE DO INSERT INTO slow_event_test SELECT @@long_query_time, SLEEP(1.5);
---echo "Sleep some more time than the actual event run will take"
---sleep 2
-SHOW VARIABLES LIKE 'event_scheduler';
---echo "Check our table. Should see 1 row"
-SELECT * FROM slow_event_test;
---echo "Check slow log. Should not see anything because 1.5 is under the threshold of 20 for GLOBAL, though over SESSION which is 1"
---echo "This should show that the GLOBAL value is regarded and not the SESSION one of the current connection"
-SELECT user_host, query_time, db, sql_text FROM mysql.slow_log;
---echo "Another test to show that GLOBAL is regarded and not SESSION."
---echo "This should go to the slow log"
-SET SESSION long_query_time=10;
-DROP EVENT long_event;
-SET GLOBAL long_query_time=1;
-CREATE EVENT long_event2 ON SCHEDULE EVERY 1 MINUTE DO INSERT INTO slow_event_test SELECT @@long_query_time, SLEEP(2);
---echo "Sleep some more time than the actual event run will take"
-let $wait_timeout= 30;
-let $wait_condition= SELECT COUNT(*) = 1 FROM mysql.slow_log;
+select user_host, db, sql_text from mysql.slow_log
+ where sql_text like 'select \'events_logs_test\'%';
+set @@global.long_query_time=1;
+truncate mysql.slow_log;
+create event ev_log_general on schedule at now() on completion not preserve
+ do select 'events_logs_test' as inside_event, sleep(1.5);
+--let $wait_condition=select count(*)=0 from information_schema.events where event_name='ev_log_general'
--source include/wait_condition.inc
---echo "Check our table. Should see 2 rows"
-SELECT * FROM slow_event_test;
---echo "Check slow log. Should see 1 row because 2 is over the threshold of 1 for GLOBAL, though under SESSION which is 10"
---replace_column 1 USER_HOST 2 SLEEPVAL
-SELECT user_host, query_time, db, sql_text FROM mysql.slow_log;
-DROP EVENT long_event2;
---echo "Make it quite long"
-SET SESSION long_query_time=300;
-TRUNCATE mysql.slow_log;
-DROP TABLE slow_event_test;
-SET GLOBAL long_query_time =@old_global_long_query_time;
-SET SESSION long_query_time =@old_session_long_query_time;
-
-DROP DATABASE events_test;
-
+--echo
+--echo Event sub-statement should be logged.
+--echo
+--replace_column 1 USER_HOST
+select user_host, db, sql_text from mysql.slow_log
+ where sql_text like 'select \'events_logs_test\'%';
-SET GLOBAL event_scheduler=off;
+drop database events_test;
+set global event_scheduler=off;
+set @@global.long_query_time=default;
+set @@session.long_query_time=default;
+#
+# Safety
+#
let $wait_condition=
select count(*) = 0 from information_schema.processlist
where db='events_test' and command = 'Connect' and user=current_user();
diff --git a/mysql-test/t/events_scheduling.test b/mysql-test/t/events_scheduling.test
index b1eeae1e020..a5133166495 100644
--- a/mysql-test/t/events_scheduling.test
+++ b/mysql-test/t/events_scheduling.test
@@ -76,21 +76,28 @@ let $wait_condition=select count(*) = 0 from information_schema.events
where event_name='event_4' and status='enabled';
--source include/wait_condition.inc
-# check the data
+# Wait for the events to fire and check the data afterwards
+let $wait_condition=SELECT SUM(a) >= 4 FROM table_1;
+source include/wait_condition.inc;
SELECT IF(SUM(a) >= 4, 'OK', 'ERROR') FROM table_1;
+
+let $wait_condition=SELECT SUM(a) >= 5 FROM table_2;
+source include/wait_condition.inc;
SELECT IF(SUM(a) >= 5, 'OK', 'ERROR') FROM table_2;
+
+let $wait_condition=SELECT SUM(a) >= 1 FROM table_3;
+source include/wait_condition.inc;
SELECT IF(SUM(a) >= 1, 'OK', 'ERROR') FROM table_3;
+
+let $wait_condition=SELECT SUM(a) >= 1 FROM table_4;
+source include/wait_condition.inc;
SELECT IF(SUM(a) >= 1, 'OK', 'ERROR') FROM table_4;
SELECT IF(TIME_TO_SEC(TIMEDIFF(ENDS,STARTS))=6, 'OK', 'ERROR')
FROM INFORMATION_SCHEMA.EVENTS
WHERE EVENT_SCHEMA=DATABASE() AND EVENT_NAME='event_2';
-SELECT IF(LAST_EXECUTED-ENDS < 3, 'OK', 'ERROR')
-FROM INFORMATION_SCHEMA.EVENTS
-WHERE EVENT_SCHEMA=DATABASE() AND EVENT_NAME='event_2';
-
--echo "Already dropped because ended. Therefore an error."
--error ER_EVENT_DOES_NOT_EXIST
DROP EVENT event_3;
diff --git a/mysql-test/t/explain.test b/mysql-test/t/explain.test
index 04cf37f457a..c9ae8aceaf6 100644
--- a/mysql-test/t/explain.test
+++ b/mysql-test/t/explain.test
@@ -66,4 +66,32 @@ explain extended select * from t1 having 1;
drop view v1;
drop table t1;
+#
+# Bug #32241: memory corruption due to large index map in 'Range checked for
+# each record'
+#
+
+CREATE TABLE t1(c INT);
+INSERT INTO t1 VALUES (),();
+
+CREATE TABLE t2 (b INT,
+KEY(b),KEY(b),KEY(b),KEY(b),KEY(b),
+KEY(b),KEY(b),KEY(b),KEY(b),KEY(b),
+KEY(b),KEY(b),KEY(b),KEY(b),KEY(b),
+KEY(b),KEY(b),KEY(b),KEY(b),KEY(b),
+KEY(b),KEY(b),KEY(b),KEY(b),KEY(b),
+KEY(b),KEY(b),KEY(b),KEY(b),KEY(b),
+KEY(b),KEY(b),KEY(b),KEY(b),KEY(b),
+KEY(b),KEY(b),KEY(b),KEY(b),KEY(b));
+
+INSERT INTO t2 VALUES (),(),();
+
+# We only need to make sure that there is no buffer overrun and the index map
+# is displayed correctly
+--replace_column 1 X 2 X 3 X 4 X 5 X 6 X 7 X 8 X 9 X
+EXPLAIN SELECT 1 FROM
+ (SELECT 1 FROM t2,t1 WHERE b < c GROUP BY 1 LIMIT 1) AS d2;
+DROP TABLE t2;
+DROP TABLE t1;
+
# End of 5.0 tests.
diff --git a/mysql-test/t/federated.test b/mysql-test/t/federated.test
index 6597c77e798..907c7e722ac 100644
--- a/mysql-test/t/federated.test
+++ b/mysql-test/t/federated.test
@@ -6,6 +6,9 @@ connection slave;
DROP TABLE IF EXISTS federated.t1;
CREATE TABLE federated.t1 (
`id` int(20) NOT NULL,
+ `group` int NOT NULL default 0,
+ `a\\b` int NOT NULL default 0,
+ `a\\` int NOT NULL default 0,
`name` varchar(32) NOT NULL default ''
)
DEFAULT CHARSET=latin1;
@@ -16,6 +19,9 @@ DROP TABLE IF EXISTS federated.t1;
--error 1432
CREATE TABLE federated.t1 (
`id` int(20) NOT NULL,
+ `group` int NOT NULL default 0,
+ `a\\b` inT NOT NULL default 0,
+ `a\\` int NOT NULL default 0,
`name` varchar(32) NOT NULL default ''
)
ENGINE="FEDERATED" DEFAULT CHARSET=latin1
@@ -25,6 +31,9 @@ CREATE TABLE federated.t1 (
--error 1432
CREATE TABLE federated.t1 (
`id` int(20) NOT NULL,
+ `group` int NOT NULL default 0,
+ `a\\b` iNt NOT NULL default 0,
+ `a\\` int NOT NULL default 0,
`name` varchar(32) NOT NULL default ''
)
ENGINE="FEDERATED" DEFAULT CHARSET=latin1
@@ -34,6 +43,9 @@ CREATE TABLE federated.t1 (
--replace_result $SLAVE_MYPORT SLAVE_PORT
eval CREATE TABLE federated.t1 (
`id` int(20) NOT NULL,
+ `group` int NOT NULL default 0,
+ `a\\\\b` iNT NOT NULL default 0,
+ `a\\\\` int NOT NULL default 0,
`name` varchar(32) NOT NULL default ''
)
ENGINE="FEDERATED" DEFAULT CHARSET=latin1
@@ -46,6 +58,9 @@ DROP TABLE federated.t1;
--replace_result $SLAVE_MYPORT SLAVE_PORT
eval CREATE TABLE federated.t1 (
`id` int(20) NOT NULL,
+ `group` int NOT NULL default 0,
+ `a\\\\b` Int NOT NULL default 0,
+ `a\\\\` int NOT NULL default 0,
`name` varchar(32) NOT NULL default ''
)
ENGINE="FEDERATED" DEFAULT CHARSET=latin1
@@ -58,6 +73,9 @@ DROP TABLE federated.t1;
--replace_result $SLAVE_MYPORT SLAVE_PORT
eval CREATE TABLE federated.t1 (
`id` int(20) NOT NULL,
+ `group` int NOT NULL default 0,
+ `a\\\\b` InT NOT NULL default 0,
+ `a\\\\` int NOT NULL default 0,
`name` varchar(32) NOT NULL default ''
)
ENGINE="FEDERATED" DEFAULT CHARSET=latin1
@@ -65,6 +83,9 @@ eval CREATE TABLE federated.t1 (
INSERT INTO federated.t1 (id, name) VALUES (1, 'foo');
INSERT INTO federated.t1 (id, name) VALUES (2, 'fee');
+INSERT INTO federated.t1 (id, `group`) VALUES (3, 42);
+INSERT INTO federated.t1 (id, `a\\b`) VALUES (4, 23);
+INSERT INTO federated.t1 (id, `a\\`) VALUES (5, 1);
SELECT * FROM federated.t1;
DELETE FROM federated.t1;
@@ -1725,6 +1746,20 @@ drop table federated.t1;
connection slave;
drop table federated.t1;
+--echo
+--echo Bug#18287 create federated table always times out, error 1159 ' '
+--echo
+--echo Test that self-references work
+--echo
+connection slave;
+create table federated.t1 (a int primary key);
+--replace_result $SLAVE_MYPORT SLAVE_PORT
+eval create table federated.t2 (a int primary key)
+ ENGINE=FEDERATED
+ connection='mysql://root@127.0.0.1:$SLAVE_MYPORT/federated/t1';
+insert into federated.t1 (a) values (1);
+select * from federated.t2;
+drop table federated.t1, federated.t2;
#
# BUG#29875 Disable support for transactions
@@ -1750,6 +1785,75 @@ DROP TABLE federated.t1;
connection slave;
DROP TABLE federated.t1;
---echo End of 5.1 tests
+#
+# Bug #32374 crash with filesort when selecting from federated table and view
+#
+connection slave;
+create table t1 (a varchar(256));
+--disable_warnings
+drop view if exists v1;
+--enable_warnings
+create view v1 as select a from t1;
+--disable_query_log
+let $n= 100;
+while ($n)
+{
+ insert into t1 values (repeat('a',200));
+ dec $n;
+}
+--enable_query_log
+
+connection master;
+--replace_result $SLAVE_MYPORT SLAVE_PORT
+eval create table t1
+ (a varchar(256)) engine=federated
+ connection='mysql://root@127.0.0.1:$SLAVE_MYPORT/test/v1';
+
+select 1 from t1 order by a;
+drop table t1;
+connection slave;
+drop table t1;
+drop view v1;
+#
+# BUG#33946 - Join on Federated tables with Unique index gives error 1430
+# from storage engine
+#
+connection slave;
+CREATE TABLE t1 (a INT, b INT, KEY(a,b));
+INSERT INTO t1 VALUES(NULL,1),(1,NULL),(NULL,NULL),(1,1),(2,2);
+
+connection master;
+--replace_result $SLAVE_MYPORT SLAVE_PORT
+eval CREATE TABLE t1 (a INT, b INT, KEY(a,b)) ENGINE=federated
+CONNECTION='mysql://root@127.0.0.1:$SLAVE_MYPORT/test/t1';
+SELECT * FROM t1 WHERE a IS NULL;
+SELECT * FROM t1 WHERE a IS NOT NULL;
+SELECT * FROM t1 WHERE a=1 AND b=1;
+SELECT * FROM t1 WHERE a IS NULL AND b=1;
+SELECT * FROM t1 WHERE a IS NOT NULL AND b=1;
+DROP TABLE t1;
+
+connection slave;
+DROP TABLE t1;
+
+#
+# BUG#34788 - malformed federated connection url is not handled correctly -
+# crashes server !
+#
+# also tests
+#
+# BUG#35509 - Federated leaks memory when connecting to localhost/default
+# port
+#
+CREATE TABLE t1 (a INT) ENGINE=federated CONNECTION='mysql://@:://';
+DROP TABLE t1;
+
+#
+# Coverage testing of CREATE SERVER.
+#
+create server 's1' foreign data wrapper 'mysql' options (port 3306);
+drop server 's1';
+
+--echo End of 5.1 tests
source include/federated_cleanup.inc;
diff --git a/mysql-test/t/federated_server.test b/mysql-test/t/federated_server.test
index 87b67720104..444285ac045 100644
--- a/mysql-test/t/federated_server.test
+++ b/mysql-test/t/federated_server.test
@@ -2,7 +2,7 @@
# if federated can utilise the servers table
# should work with embedded server after mysqltest is fixed
-- source include/not_embedded.inc
--- source include/federated.inc;
+-- source include/federated.inc
-- source include/big_test.inc
connection slave;
@@ -282,6 +282,18 @@ drop user guest_select@localhost;
drop table federated.t1;
drop server 's1';
+#
+# Bug#30671 - ALTER SERVER causes the server to crash
+#
+create server 's1' foreign data wrapper 'mysql' options (port 3306);
+alter server 's1' options
+ (host 'localhost', database '', user '',
+ password '', socket '', owner '', port 3306);
+# The next statement would crash unpatched server
+alter server 's1' options
+ (host 'localhost', database 'database1', user '',
+ password '', socket '', owner '', port 3306);
+drop server 's1';
--echo # End of 5.1 tests
diff --git a/mysql-test/t/flush.test b/mysql-test/t/flush.test
index d58d038c3ea..794423ca211 100644
--- a/mysql-test/t/flush.test
+++ b/mysql-test/t/flush.test
@@ -133,6 +133,37 @@ disconnect con3;
connection default;
drop table t1, t2;
+#
+# Bug#32528 Global read lock with a low priority write lock causes a server crash
+#
+
+--disable_warnings
+drop table if exists t1, t2;
+--enable_warnings
+
+set session low_priority_updates=1;
+
+create table t1 (a int);
+create table t2 (b int);
+
+lock tables t1 write;
+--error ER_LOCK_OR_ACTIVE_TRANSACTION
+flush tables with read lock;
+unlock tables;
+
+lock tables t1 read, t2 write;
+--error ER_LOCK_OR_ACTIVE_TRANSACTION
+flush tables with read lock;
+unlock tables;
+
+lock tables t1 read;
+flush tables with read lock;
+unlock tables;
+
+drop table t1, t2;
+
+set session low_priority_updates=default;
+
--echo End of 5.0 tests
#
diff --git a/mysql-test/t/flush_read_lock_kill.test b/mysql-test/t/flush_read_lock_kill.test
index 19a47b2893a..c03f3be2534 100644
--- a/mysql-test/t/flush_read_lock_kill.test
+++ b/mysql-test/t/flush_read_lock_kill.test
@@ -12,6 +12,11 @@
-- source include/have_debug.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;
@@ -34,7 +39,14 @@ send flush tables with read lock;
connection con2;
select ((@id := kill_id) - kill_id) from t1;
---sleep 2 # leave time for FLUSH to block
+# Wait for the debug sync point, test won't run on non-debug
+# builds anyway.
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = "Waiting for all running commits to finish"
+ and info = "flush tables with read lock";
+--source include/wait_condition.inc
+
kill connection @id;
connection con1;
@@ -47,3 +59,7 @@ reap;
connection con2;
drop table t1;
+connection default;
+
+# Restore global concurrent_insert value
+set @@global.concurrent_insert= @old_concurrent_insert;
diff --git a/mysql-test/t/fulltext.test b/mysql-test/t/fulltext.test
index 1f8a3b82cfd..64f77b4f0b7 100644
--- a/mysql-test/t/fulltext.test
+++ b/mysql-test/t/fulltext.test
@@ -400,6 +400,14 @@ SELECT * FROM t1 WHERE MATCH(a) AGAINST('test');
DROP TABLE t1;
#
+# BUG#11392 - fulltext search bug
+#
+CREATE TABLE t1(a TEXT);
+INSERT INTO t1 VALUES(' aaaaa aaaa');
+SELECT * FROM t1 WHERE MATCH(a) AGAINST ('"aaaa"' IN BOOLEAN MODE);
+DROP TABLE t1;
+
+#
# BUG#29445 - match ... against () never returns
#
CREATE TABLE t1(a VARCHAR(20), FULLTEXT(a));
diff --git a/mysql-test/t/func_gconcat.test b/mysql-test/t/func_gconcat.test
index 6f9b5399b7b..1026ca67a43 100644
--- a/mysql-test/t/func_gconcat.test
+++ b/mysql-test/t/func_gconcat.test
@@ -562,4 +562,99 @@ insert into t1 (id, name) values (2, "óra");
select b.id, group_concat(b.name) from t1 a, t1 b group by b.id;
drop table t1;
+#
+# Bug #31154: group_concat() and bit fields;
+#
+create table t1(a bit not null);
+insert into t1 values (), (), ();
+select group_concat(distinct a) from t1;
+select group_concat(distinct a order by a) from t1;
+drop table t1;
+
+create table t1(a bit(2) not null);
+insert into t1 values (1), (0), (0), (3), (1);
+select group_concat(distinct a) from t1;
+select group_concat(distinct a order by a) from t1;
+select group_concat(distinct a order by a desc) from t1;
+drop table t1;
+
+create table t1(a bit(2), b varchar(10), c bit);
+insert into t1 values (1, 'a', 0), (0, 'b', 1), (0, 'c', 0), (3, 'd', 1),
+(1, 'e', 1), (3, 'f', 1), (0, 'g', 1);
+select group_concat(distinct a, c) from t1;
+select group_concat(distinct a, c order by a) from t1;
+select group_concat(distinct a, c) from t1;
+select group_concat(distinct a, c order by a, c) from t1;
+select group_concat(distinct a, c order by a desc, c desc) from t1;
+
+drop table t1;
+
+
+#
+# Bug#30897 GROUP_CONCAT returns extra comma on empty fields
+#
+create table t1 (f1 char(20));
+insert into t1 values (''),('');
+select group_concat(distinct f1) from t1;
+select group_concat(f1) from t1;
+drop table t1;
+# Bug#32798: DISTINCT in GROUP_CONCAT clause fails when ordering by a column
+# with null values
+#'
+CREATE TABLE t1 (a INT, b INT);
+
+INSERT INTO t1 VALUES (1, 1), (2, 2), (2, 3);
+
+SELECT GROUP_CONCAT(DISTINCT a ORDER BY b) FROM t1;
+SELECT GROUP_CONCAT(DISTINCT a ORDER BY b DESC) FROM t1;
+SELECT GROUP_CONCAT(DISTINCT a) FROM t1;
+
+SELECT GROUP_CONCAT(DISTINCT a + 1 ORDER BY 3 - b) FROM t1;
+SELECT GROUP_CONCAT(DISTINCT a + 1 ORDER BY b) FROM t1;
+SELECT GROUP_CONCAT(a ORDER BY 3 - b) FROM t1;
+
+CREATE TABLE t2 (a INT, b INT, c INT, d INT);
+
+# There is one duplicate in the expression list: 1,10
+# There is one duplicate in ORDER BY list, but that shouldnt matter: 1,10
+INSERT INTO t2 VALUES (1,1, 1,1), (1,1, 2,2), (1,2, 2,1), (2,1, 1,2);
+
+SELECT GROUP_CONCAT(DISTINCT a, b ORDER BY c, d) FROM t2;
+SELECT GROUP_CONCAT(DISTINCT a, b ORDER BY d, c) FROM t2;
+
+CREATE TABLE t3 (a INT, b INT, c INT);
+
+INSERT INTO t3 VALUES (1, 1, 1), (2, 1, 2), (3, 2, 1);
+
+SELECT GROUP_CONCAT(DISTINCT a, b ORDER BY b, c) FROM t3;
+SELECT GROUP_CONCAT(DISTINCT a, b ORDER BY c, b) FROM t3;
+
+SELECT GROUP_CONCAT(DISTINCT a, b ORDER BY a, b) FROM t1;
+SELECT GROUP_CONCAT(DISTINCT b, a ORDER BY a, b) FROM t1;
+SELECT GROUP_CONCAT(DISTINCT a, b ORDER BY b, a) FROM t1;
+SELECT GROUP_CONCAT(DISTINCT b, a ORDER BY a, b) FROM t1;
+SELECT GROUP_CONCAT(DISTINCT a ORDER BY a, b) FROM t1;
+SELECT GROUP_CONCAT(DISTINCT b ORDER BY b, a) FROM t1;
+SELECT GROUP_CONCAT(DISTINCT a, b ORDER BY a) FROM t1;
+SELECT GROUP_CONCAT(DISTINCT b, a ORDER BY b) FROM t1;
+
+DROP TABLE t1, t2, t3;
+
+#
+# Bug #34747: crash in debug assertion check after derived table
+#
+CREATE TABLE t1(a INT);
+INSERT INTO t1 VALUES (),();
+SELECT s1.d1 FROM
+(
+ SELECT
+ t1.a as d1,
+ GROUP_CONCAT(DISTINCT t1.a) AS d2
+ FROM
+ t1 AS t1,
+ t1 AS t2
+ GROUP BY 1
+) AS s1;
+DROP TABLE t1;
+
--echo End of 5.0 tests
diff --git a/mysql-test/t/func_group.test b/mysql-test/t/func_group.test
index d1b4919c83e..36d360780cf 100644
--- a/mysql-test/t/func_group.test
+++ b/mysql-test/t/func_group.test
@@ -867,5 +867,61 @@ SELECT MIN(a), MIN(b) FROM t5 WHERE a = 1 and b > 1;
DROP TABLE t1, t2, t3, t4, t5;
+#
+# Bug #31156: mysqld: item_sum.cc:918:
+# virtual bool Item_sum_distinct::setup(THD*): Assertion
+#
+
+CREATE TABLE t1 (a INT);
+INSERT INTO t1 values (),(),();
+SELECT (SELECT SLEEP(0) FROM t1 ORDER BY AVG(DISTINCT a) ) as x FROM t1
+ GROUP BY x;
+SELECT 1 FROM t1 GROUP BY (SELECT SLEEP(0) FROM t1 ORDER BY AVG(DISTINCT a) );
+
+DROP TABLE t1;
+
+#
+# Bug #30715: Assertion failed: item_field->field->real_maybe_null(), file
+# .\opt_sum.cc, line
+#
+
+CREATE TABLE t1 (a int, b date NOT NULL, KEY k1 (a,b));
+SELECT MIN(b) FROM t1 WHERE a=1 AND b>'2007-08-01';
+DROP TABLE t1;
+
+#
+# Bug #31794: no syntax error on SELECT id FROM t HAVING count(*)>2;
+#
+
+CREATE TABLE t1 (a INT);
+INSERT INTO t1 VALUES (1),(2),(3),(4);
+
+SET SQL_MODE=ONLY_FULL_GROUP_BY;
+--error ER_MIX_OF_GROUP_FUNC_AND_FIELDS
+SELECT a FROM t1 HAVING COUNT(*)>2;
+--error ER_MIX_OF_GROUP_FUNC_AND_FIELDS
+SELECT COUNT(*), a FROM t1;
+
+SET SQL_MODE=DEFAULT;
+SELECT a FROM t1 HAVING COUNT(*)>2;
+SELECT COUNT(*), a FROM t1;
+
+DROP TABLE t1;
+
+#
+# Bug #33133: Views are not transparent
+#
+
+set SQL_MODE=ONLY_FULL_GROUP_BY;
+
+CREATE TABLE t1 (a INT);
+INSERT INTO t1 VALUES (1),(2),(3),(4);
+CREATE VIEW v1 AS SELECT a,(a + 1) AS y FROM t1;
+EXPLAIN EXTENDED SELECT y FROM v1 GROUP BY v1.y;
+
+DROP VIEW v1;
+DROP TABLE t1;
+SET SQL_MODE=DEFAULT;
+
###
--echo End of 5.0 tests
diff --git a/mysql-test/t/func_in.test b/mysql-test/t/func_in.test
index 2c5ed6a22d3..d8b0c89532e 100644
--- a/mysql-test/t/func_in.test
+++ b/mysql-test/t/func_in.test
@@ -408,5 +408,13 @@ select f2 from t2 where f2 in (1,'b');
explain select f2 from t2 where f2 in (1,'b');
drop table t1, t2;
+#
+# Bug #31075: crash in get_func_mm_tree
+#
+
+create table t1 (a time, key(a));
+insert into t1 values (),(),(),(),(),(),(),(),(),();
+select a from t1 where a not in (a,a,a) group by a;
+drop table t1;
--echo End of 5.1 tests
diff --git a/mysql-test/t/func_math.test b/mysql-test/t/func_math.test
index 668528b2e9b..87b172a6436 100644
--- a/mysql-test/t/func_math.test
+++ b/mysql-test/t/func_math.test
@@ -224,4 +224,41 @@ select mod(cast(-2 as unsigned), 3), mod(18446744073709551614, 3), mod(-2, 3);
select mod(5, cast(-2 as unsigned)), mod(5, 18446744073709551614), mod(5, -2);
select pow(cast(-2 as unsigned), 5), pow(18446744073709551614, 5), pow(-2, 5);
+#
+# Bug #30587: mysql crashes when trying to group by TIME div NUMBER
+#
+
+CREATE TABLE t1 (a timestamp, b varchar(20), c bit(1));
+INSERT INTO t1 VALUES('1998-09-23', 'str1', 1), ('2003-03-25', 'str2', 0);
+SELECT a DIV 900 y FROM t1 GROUP BY y;
+SELECT DISTINCT a DIV 900 y FROM t1;
+SELECT b DIV 900 y FROM t1 GROUP BY y;
+SELECT c DIV 900 y FROM t1 GROUP BY y;
+DROP TABLE t1;
+
+CREATE TABLE t1(a LONGBLOB);
+INSERT INTO t1 VALUES('1'),('2'),('3');
+SELECT DISTINCT (a DIV 254576881) FROM t1;
+SELECT (a DIV 254576881) FROM t1 UNION ALL
+ SELECT (a DIV 254576881) FROM t1;
+DROP TABLE t1;
+
+CREATE TABLE t1(a SET('a','b','c'));
+INSERT INTO t1 VALUES ('a');
+SELECT a DIV 2 FROM t1 UNION SELECT a DIV 2 FROM t1;
+DROP TABLE t1;
+
--echo End of 5.0 tests
+
+#
+# Bug #31236: Inconsistent division by zero behavior for floating point numbers
+#
+
+SELECT 1e308 + 1e308;
+SELECT -1e308 - 1e308;
+SELECT 1e300 * 1e300;
+SELECT 1e300 / 1e-300;
+SELECT EXP(750);
+SELECT POW(10, 309);
+
+--echo End of 5.1 tests
diff --git a/mysql-test/t/func_misc.test b/mysql-test/t/func_misc.test
index 9e0e6b9caf9..d33dd9b0d14 100644
--- a/mysql-test/t/func_misc.test
+++ b/mysql-test/t/func_misc.test
@@ -2,6 +2,10 @@
# Testing of misc functions
#
+--disable_warnings
+DROP TABLE IF EXISTS t1, t2;
+--enable_warnings
+
select format(1.5555,0),format(123.5555,1),format(1234.5555,2),format(12345.55555,3),format(123456.5555,4),format(1234567.5555,5),format("12345.2399",2);
select inet_ntoa(inet_aton("255.255.255.255.255.255.255.255"));
@@ -48,9 +52,6 @@ drop table t1;
#
# Bug#16501: IS_USED_LOCK does not appear to work
#
---disable_warnings
-DROP TABLE IF EXISTS t1;
---enable_warnings
CREATE TABLE t1 (conn CHAR(7), connection_id INT);
INSERT INTO t1 VALUES ('default', CONNECTION_ID());
@@ -197,4 +198,84 @@ drop table table_26093;
drop function func_26093_a;
drop function func_26093_b;
+#
+# Bug #30832: Assertion + crash with select name_const('test',now());
+#
+--error ER_WRONG_ARGUMENTS
+SELECT NAME_CONST('test', NOW());
+--error ER_WRONG_ARGUMENTS
+SELECT NAME_CONST('test', UPPER('test'));
+
+SELECT NAME_CONST('test', NULL);
+SELECT NAME_CONST('test', 1);
+SELECT NAME_CONST('test', -1);
+SELECT NAME_CONST('test', 1.0);
+SELECT NAME_CONST('test', -1.0);
+SELECT NAME_CONST('test', 'test');
+
+#
+# Bug #34749: Server crash when using NAME_CONST() with an aggregate function
+#
+
+CREATE TABLE t1 (a INT);
+INSERT INTO t1 VALUES (1),(2),(3);
+# NAME_CONST() + aggregate.
+SELECT NAME_CONST('flag',1) * MAX(a) FROM t1;
+SELECT NAME_CONST('flag',1.5) * MAX(a) FROM t1;
+# Now, wrap the INT_ITEM in Item_func_neg and watch the pretty explosions
+SELECT NAME_CONST('flag',-1) * MAX(a) FROM t1;
+SELECT NAME_CONST('flag',-1.5) * MAX(a) FROM t1;
+--error ER_WRONG_ARGUMENTS
+SELECT NAME_CONST('flag', SQRT(4)) * MAX(a) FROM t1;
+--error ER_WRONG_ARGUMENTS
+SELECT NAME_CONST('flag',-SQRT(4)) * MAX(a) FROM t1;
+DROP TABLE t1;
+
+#
+# Bug #27545: erroneous usage of NAME_CONST with a name as the first parameter
+# resolved against a column name of a derived table hangs the client
+#
+
+CREATE TABLE t1 (a int);
+INSERT INTO t1 VALUES (5), (2);
+
+--error ER_WRONG_ARGUMENTS
+SELECT NAME_CONST(x,2) FROM (SELECT a x FROM t1) t;
+
+DROP TABLE t1;
+
+
+#
+# Bug #32559: connection hangs on query with name_const
+#
+CREATE TABLE t1(a INT);
+INSERT INTO t1 VALUES (), (), ();
+--error ER_WRONG_ARGUMENTS
+SELECT NAME_CONST(a, '1') FROM t1;
+--error ER_WRONG_ARGUMENTS
+SET INSERT_ID= NAME_CONST(a, a);
+DROP TABLE t1;
+
+#
+# Bug #31349: ERROR 1062 (23000): Duplicate entry '' for key 'group_key'
+#
+create table t1 (a int not null);
+insert into t1 values (-1), (-2);
+select min(a) from t1 group by inet_ntoa(a);
+drop table t1;
+
+#
+# BUG#34289 - Incorrect NAME_CONST substitution in stored procedures breaks
+# replication
+#
+SELECT NAME_CONST('var', 'value') COLLATE latin1_general_cs;
+
--echo End of 5.0 tests
+
+#
+# Bug #30389: connection_id() always return 0 in embedded server
+#
+
+select connection_id() > 0;
+
+--echo End of tests
diff --git a/mysql-test/t/func_regexp.test b/mysql-test/t/func_regexp.test
index 23070c71fe9..1b35fab9d54 100644
--- a/mysql-test/t/func_regexp.test
+++ b/mysql-test/t/func_regexp.test
@@ -6,28 +6,9 @@
drop table if exists t1;
--enable_warnings
-create table t1 (s1 char(64),s2 char(64));
+set names latin1;
+--source include/ctype_regex.inc
-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;
-
-drop table t1;
#
# This test a bug in regexp on Alpha
@@ -74,4 +55,13 @@ execute stmt1 using @a;
deallocate prepare stmt1;
drop table t1;
-# End of 4.1 tests
+--echo End of 4.1 tests
+
+
+#
+# Bug #31440: 'select 1 regex null' asserts debug server
+#
+
+SELECT 1 REGEXP NULL;
+
+--echo End of 5.0 tests
diff --git a/mysql-test/t/func_sapdb.test b/mysql-test/t/func_sapdb.test
index bb65cbaa774..5db6db70e8f 100644
--- a/mysql-test/t/func_sapdb.test
+++ b/mysql-test/t/func_sapdb.test
@@ -47,6 +47,7 @@ select makedate(1997,1);
select makedate(1997,0);
select makedate(9999,365);
select makedate(9999,366);
+select makedate(100,1);
#Time functions
diff --git a/mysql-test/t/func_set.test b/mysql-test/t/func_set.test
index 710b9b90a05..e4fde6e0e0e 100644
--- a/mysql-test/t/func_set.test
+++ b/mysql-test/t/func_set.test
@@ -54,4 +54,21 @@ select find_in_set(binary 'a', 'A,B,C');
#
select find_in_set('1','3,1,');
-# End of 4.1 tests
+--echo End of 4.1 tests
+
+#
+# Bug #32560: crash with interval function and count(*)
+#
+SELECT INTERVAL(0.0, NULL);
+SELECT INTERVAL(0.0, CAST(NULL AS DECIMAL));
+SELECT INTERVAL(0.0, CAST(DATE(NULL) AS DECIMAL));
+SELECT INTERVAL(0.0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
+SELECT INTERVAL(0.0, CAST(NULL AS DECIMAL), CAST(NULL AS DECIMAL),
+ CAST(NULL AS DECIMAL), CAST(NULL AS DECIMAL), CAST(NULL AS DECIMAL),
+ CAST(NULL AS DECIMAL), CAST(NULL AS DECIMAL), CAST(NULL AS DECIMAL));
+SELECT INTERVAL(0.0, CAST(DATE(NULL) AS DECIMAL), CAST(DATE(NULL) AS DECIMAL),
+ CAST(DATE(NULL) AS DECIMAL), CAST(DATE(NULL) AS DECIMAL),
+ CAST(DATE(NULL) AS DECIMAL), CAST(DATE(NULL) AS DECIMAL),
+ CAST(DATE(NULL) AS DECIMAL), CAST(DATE(NULL) AS DECIMAL));
+
+--echo End of 5.0 tests
diff --git a/mysql-test/t/func_str.test b/mysql-test/t/func_str.test
index 945f5a050f4..5a5f4024bc4 100644
--- a/mysql-test/t/func_str.test
+++ b/mysql-test/t/func_str.test
@@ -782,6 +782,19 @@ explain extended select encode(f1,'zxcv') as 'enc' from t1;
explain extended select decode(f1,'zxcv') as 'enc' from t1;
drop table t1;
+#
+# Bug #31758 inet_ntoa, oct, crashes server with null + filesort
+#
+create table t1 (a bigint not null)engine=myisam;
+insert into t1 set a = 1024*1024*1024*4;
+delete from t1 order by (inet_ntoa(a)) desc limit 10;
+drop table t1;
+create table t1 (a char(36) not null)engine=myisam;
+insert ignore into t1 set a = ' ';
+insert ignore into t1 set a = ' ';
+select * from t1 order by (oct(a));
+drop table t1;
+
--echo End of 4.1 tests
#
@@ -862,6 +875,13 @@ select benchmark(100, NULL);
select benchmark(NULL, 1+1);
#
+# Bug #20752: BENCHMARK with many iterations returns too quickly
+#
+
+# not a string, but belongs with the above Bug#22684
+select benchmark(-1, 1);
+
+#
# Please note:
# 1) The collation of the password is irrelevant, the encryption uses
# the binary representation of the string without charset/collation.
@@ -1231,4 +1251,16 @@ SELECT SUBSTR(a,1,len) FROM t1;
DROP TABLE t1;
+#
+# Bug #28850: Potential bugs related to the return type of the CHAR function
+#
+
+CREATE TABLE t1 AS SELECT CHAR(0x414243) as c1;
+SELECT HEX(c1) from t1;
+DROP TABLE t1;
+
+CREATE VIEW v1 AS SELECT CHAR(0x414243) as c1;
+SELECT HEX(c1) from v1;
+DROP VIEW v1;
+
--echo End of 5.0 tests
diff --git a/mysql-test/t/func_time.test b/mysql-test/t/func_time.test
index 95ffa110346..c417e9a02bf 100644
--- a/mysql-test/t/func_time.test
+++ b/mysql-test/t/func_time.test
@@ -336,7 +336,7 @@ select date_add(date,INTERVAL "1" QUARTER) from t1;
select timestampadd(MINUTE, 1, date) from t1;
select timestampadd(WEEK, 1, date) from t1;
select timestampadd(SQL_TSI_SECOND, 1, date) from t1;
-# Prepared statements doesn't support FRAC_SECOND yet
+# mysqltest.c discards an expected 'deprecated' warning on prepare stage
--disable_ps_protocol
select timestampadd(SQL_TSI_FRAC_SECOND, 1, date) from t1;
--enable_ps_protocol
@@ -351,7 +351,10 @@ select timestampdiff(SQL_TSI_HOUR, '2001-02-01', '2001-05-01') as a;
select timestampdiff(SQL_TSI_DAY, '2001-02-01', '2001-05-01') as a;
select timestampdiff(SQL_TSI_MINUTE, '2001-02-01 12:59:59', '2001-05-01 12:58:59') as a;
select timestampdiff(SQL_TSI_SECOND, '2001-02-01 12:59:59', '2001-05-01 12:58:58') as a;
+# mysqltest.c discards an expected 'deprecated' warning on prepare stage
+--disable_ps_protocol
select timestampdiff(SQL_TSI_FRAC_SECOND, '2001-02-01 12:59:59.120000', '2001-05-01 12:58:58.119999') as a;
+--enable_ps_protocol
select timestampdiff(SQL_TSI_DAY, '1986-02-01', '1986-03-01') as a1,
timestampdiff(SQL_TSI_DAY, '1900-02-01', '1900-03-01') as a2,
@@ -548,6 +551,16 @@ DROP TABLE testBug8868;
SET NAMES DEFAULT;
#
+# Bug #31160: MAKETIME() crashes server when returning NULL in ORDER BY using
+# filesort
+#
+CREATE TABLE t1 (
+ a TIMESTAMP
+);
+INSERT INTO t1 VALUES (now()), (now());
+SELECT 1 FROM t1 ORDER BY MAKETIME(1, 1, a);
+DROP TABLE t1;
+#
# Bug #19844 time_format in Union truncates values
#
@@ -731,6 +744,70 @@ DROP TABLE t1;
# Check if using GROUP BY with TIME_FORMAT() produces correct results
SELECT TIME_FORMAT(SEC_TO_TIME(a),"%H:%i:%s") FROM (SELECT 3020399 AS a UNION SELECT 3020398 ) x GROUP BY 1;
+
+#
+# Bug#28875 Conversion between ASCII and LATIN1 charsets does not function
+#
+set names latin1;
+create table t1 (a varchar(15) character set ascii not null);
+insert into t1 values ('070514-000000');
+# Conversion of date_format() result to ASCII
+# is safe with the default locale en_US
+--replace_column 1 #
+select concat(a,ifnull(min(date_format(now(), '%Y-%m-%d')),' ull')) from t1;
+# Error for swe7: it is not ASCII compatible
+set names swe7;
+--error 1267
+select concat(a,ifnull(min(date_format(now(), '%Y-%m-%d')),' ull')) from t1;
+set names latin1;
+# Conversion of date_format() result to ASCII
+# is not safe with the non-default locale fr_FR
+# because month and day names can have accented characters
+set lc_time_names=fr_FR;
+--error 1267
+select concat(a,ifnull(min(date_format(now(), '%Y-%m-%d')),' ull')) from t1;
+set lc_time_names=en_US;
+drop table t1;
+
+#
+# Bug#32180: DATE_ADD treats datetime numeric argument as DATE
+# instead of DATETIME
+#
+
+select DATE_ADD('20071108181000', INTERVAL 1 DAY);
+select DATE_ADD(20071108181000, INTERVAL 1 DAY);
+select DATE_ADD('20071108', INTERVAL 1 DAY);
+select DATE_ADD(20071108, INTERVAL 1 DAY);
+
+#
+# Bug#32770: LAST_DAY() returns a DATE, but somehow internally keeps
+# track of the TIME.
+#
+
+select LAST_DAY('2007-12-06 08:59:19.05') - INTERVAL 1 SECOND;
+
+#
+# Bug#33834: FRAC_SECOND: Applicability not clear in documentation
+#
+# Show that he use of FRAC_SECOND, for anything other than
+# TIMESTAMPADD / TIMESTAMPDIFF, is a server error.
+
+# mysqltest.c discards an expected 'deprecated' warning on prepare stage
+--disable_ps_protocol
+SELECT TIMESTAMPADD(FRAC_SECOND, 1, '2008-02-18');
+SELECT TIMESTAMPDIFF(FRAC_SECOND, '2008-02-17', '2008-02-18');
+--enable_ps_protocol
+
+--error ER_PARSE_ERROR
+SELECT DATE_ADD('2008-02-18', INTERVAL 1 FRAC_SECOND);
+--error ER_PARSE_ERROR
+SELECT DATE_SUB('2008-02-18', INTERVAL 1 FRAC_SECOND);
+
+--error ER_PARSE_ERROR
+SELECT '2008-02-18' + INTERVAL 1 FRAC_SECOND;
+--error ER_PARSE_ERROR
+SELECT '2008-02-18' - INTERVAL 1 FRAC_SECOND;
+
--echo End of 5.0 tests
#
diff --git a/mysql-test/t/gis-rtree.test b/mysql-test/t/gis-rtree.test
index 88f31143d93..dad22f42571 100644
--- a/mysql-test/t/gis-rtree.test
+++ b/mysql-test/t/gis-rtree.test
@@ -797,6 +797,42 @@ UPDATE t1 set spatial_point=GeomFromText('POINT(41 46)') where c1 like 'f%';
CHECK TABLE t1 EXTENDED;
DROP TABLE t1;
+#
+# Bug #30286 spatial index cause corruption and server crash!
+#
+
+create table t1 (a geometry not null, spatial index(a));
+insert into t1 values (PointFromWKB(POINT(1.1517219314031e+164, 131072)));
+insert into t1 values (PointFromWKB(POINT(9.1248812352444e+192, 2.9740338169556e+284)));
+insert into t1 values (PointFromWKB(POINT(4.7783097267365e-299, -0)));
+insert into t1 values (PointFromWKB(POINT(1.49166814624e-154, 2.0880974297595e-53)));
+insert into t1 values (PointFromWKB(POINT(4.0917382598702e+149, 1.2024538023802e+111)));
+insert into t1 values (PointFromWKB(POINT(2.0349165139404e+236, 2.9993936277913e-241)));
+insert into t1 values (PointFromWKB(POINT(2.5243548967072e-29, 1.2024538023802e+111)));
+insert into t1 values (PointFromWKB(POINT(0, 6.9835074892995e-251)));
+insert into t1 values (PointFromWKB(POINT(2.0880974297595e-53, 3.1050361846014e+231)));
+insert into t1 values (PointFromWKB(POINT(2.8728483499323e-188, 2.4600631144627e+260)));
+insert into t1 values (PointFromWKB(POINT(3.0517578125e-05, 2.0349165139404e+236)));
+insert into t1 values (PointFromWKB(POINT(1.1517219314031e+164, 1.1818212630766e-125)));
+insert into t1 values (PointFromWKB(POINT(2.481040258324e-265, 5.7766220027675e-275)));
+insert into t1 values (PointFromWKB(POINT(2.0880974297595e-53, 2.5243548967072e-29)));
+insert into t1 values (PointFromWKB(POINT(5.7766220027675e-275, 9.9464647281957e+86)));
+insert into t1 values (PointFromWKB(POINT(2.2181357552967e+130, 3.7857669957337e-270)));
+insert into t1 values (PointFromWKB(POINT(4.5767114681874e-246, 3.6893488147419e+19)));
+insert into t1 values (PointFromWKB(POINT(4.5767114681874e-246, 3.7537584144024e+255)));
+insert into t1 values (PointFromWKB(POINT(3.7857669957337e-270, 1.8033161362863e-130)));
+insert into t1 values (PointFromWKB(POINT(0, 5.8774717541114e-39)));
+insert into t1 values (PointFromWKB(POINT(1.1517219314031e+164, 2.2761049594727e-159)));
+insert into t1 values (PointFromWKB(POINT(6.243497100632e+144, 3.7857669957337e-270)));
+insert into t1 values (PointFromWKB(POINT(3.7857669957337e-270, 2.6355494858076e-82)));
+insert into t1 values (PointFromWKB(POINT(2.0349165139404e+236, 3.8518598887745e-34)));
+insert into t1 values (PointFromWKB(POINT(4.6566128730774e-10, 2.0880974297595e-53)));
+insert into t1 values (PointFromWKB(POINT(2.0880974297595e-53, 1.8827498946116e-183)));
+insert into t1 values (PointFromWKB(POINT(1.8033161362863e-130, 9.1248812352444e+192)));
+insert into t1 values (PointFromWKB(POINT(4.7783097267365e-299, 2.2761049594727e-159)));
+insert into t1 values (PointFromWKB(POINT(1.94906280228e+289, 1.2338789709327e-178)));
+drop table t1;
+
# End of 4.1 tests
#
diff --git a/mysql-test/t/gis.test b/mysql-test/t/gis.test
index d7182e36e3a..e6b8b91783c 100644
--- a/mysql-test/t/gis.test
+++ b/mysql-test/t/gis.test
@@ -432,6 +432,56 @@ INSERT INTO t1 VALUES (NULL);
SELECT * FROM t1;
DROP TABLE t1;
+#
+# Bug #30955 geomfromtext() crasher
+#
+CREATE TABLE `t1` ( `col9` set('a'), `col89` date);
+INSERT INTO `t1` VALUES ('','0000-00-00');
+select geomfromtext(col9,col89) as a from t1;
+DROP TABLE t1;
+
+#
+# Bug #31158 Spatial, Union, LONGBLOB vs BLOB bug (crops data)
+#
+
+CREATE TABLE t1 (
+ geomdata polygon NOT NULL,
+ SPATIAL KEY index_geom (geomdata)
+) ENGINE=MyISAM DEFAULT CHARSET=latin2 DELAY_KEY_WRITE=1 ROW_FORMAT=FIXED;
+
+CREATE TABLE t2 (
+ geomdata polygon NOT NULL,
+ SPATIAL KEY index_geom (geomdata)
+) ENGINE=MyISAM DEFAULT CHARSET=latin2 DELAY_KEY_WRITE=1 ROW_FORMAT=FIXED;
+
+CREATE TABLE t3
+select
+ aswkb(ws.geomdata) AS geomdatawkb
+ from
+ t1 ws
+union
+ select
+ aswkb(ws.geomdata) AS geomdatawkb
+ from
+ t2 ws;
+
+describe t3;
+
+drop table t1;
+drop table t2;
+drop table t3;
+
+#
+# Bug #30284 spatial key corruption
+#
+
+create table t1(col1 geometry default null,col15 geometrycollection not
+null,spatial index(col15),index(col1(15)))engine=myisam;
+insert into t1 set col15 = GeomFromText('POINT(6 5)');
+insert into t1 set col15 = GeomFromText('POINT(6 5)');
+check table t1 extended;
+drop table t1;
+
--echo End of 4.1 tests
#
@@ -591,6 +641,17 @@ SELECT AsText(GeometryFromText(CONCAT(
--enable_query_log
SELECT 1;
+-- source include/gis_keys.inc
+
+#
+# Bug #31155 gis types in union'd select cause crash
+#
+
+create table `t1` (`col002` point)engine=myisam;
+insert into t1 values (),(),();
+select min(`col002`) from t1 union select `col002` from t1;
+drop table t1;
+
--echo End of 5.0 tests
diff --git a/mysql-test/t/grant.test b/mysql-test/t/grant.test
index e33712e1ebf..d00881bad99 100644
--- a/mysql-test/t/grant.test
+++ b/mysql-test/t/grant.test
@@ -1235,6 +1235,7 @@ DROP DATABASE mysqltest1;
DROP DATABASE mysqltest2;
DROP USER mysqltest_1@localhost;
+DROP USER mysqltest_2@localhost;
#
# Bug#27878: Unchecked privileges on a view referring to a table from another
@@ -1257,10 +1258,36 @@ UPDATE v1 SET f2 = 4;
SELECT * FROM test.t1;
disconnect user1;
connection default;
+REVOKE UPDATE (f1) ON `test`.`t1` FROM 'mysqltest_1'@'localhost';
+REVOKE SELECT ON `test`.* FROM 'mysqltest_1'@'localhost';
+REVOKE ALL ON db27878.* FROM 'mysqltest_1'@'localhost';
+DROP USER mysqltest_1@localhost;
DROP DATABASE db27878;
use test;
DROP TABLE t1;
+#
+# Bug #33201 Crash occurs when granting update privilege on one column of a view
+#
+drop table if exists test;
+drop function if exists test_function;
+drop view if exists v1;
+create table test (col1 varchar(30));
+delimiter |;
+create function test_function() returns varchar(30)
+begin
+ declare tmp varchar(30);
+ select col1 from test limit 1 into tmp;
+ return '1';
+end|
+delimiter ;|
+create view v1 as select test.* from test where test.col1=test_function();
+grant update (col1) on v1 to 'greg'@'localhost';
+drop user 'greg'@'localhost';
+drop view v1;
+drop table test;
+drop function test_function;
+
--echo End of 5.0 tests
#
@@ -1274,3 +1301,165 @@ drop user юзер_юзер@localhost;
--error ER_WRONG_STRING_LENGTH
grant select on test.* to очень_длинный_юзер@localhost;
set names default;
+
+#
+# Bug #20901 - CREATE privilege is enough to insert into a table
+#
+
+create database mysqltest;
+use mysqltest;
+
+grant create on mysqltest.* to mysqltest@localhost;
+create table t1 (i INT);
+
+connect (user1,localhost,mysqltest,,mysqltest);
+connection user1;
+# show we don't have INSERT
+--error 1142
+insert into t1 values (1);
+# show we have CREATE
+create table t2 (i INT);
+create table t4 (i INT);
+
+connection default;
+grant select, insert on mysqltest.t2 to mysqltest@localhost;
+grant insert on mysqltest.t4 to mysqltest@localhost;
+# to specify ACLs for non-existent objects, must explictly |CREATE
+grant create, insert on mysqltest.t5 to mysqltest@localhost;
+grant create, insert on mysqltest.t6 to mysqltest@localhost;
+flush privileges;
+
+connection user1;
+insert into t2 values (1);
+
+
+# CREATE IF NOT EXISTS...SELECT, t1 exists, no INSERT, must fail
+--error 1142
+create table if not exists t1 select * from t2;
+
+# CREATE IF NOT EXISTS...SELECT, no t3 yet, no INSERT, must fail
+--error 1142
+create table if not exists t3 select * from t2;
+
+# CREATE IF NOT EXISTS...SELECT, t4 exists, have INSERT, must succeed
+create table if not exists t4 select * from t2;
+
+# CREATE IF NOT EXISTS...SELECT, no t5 yet, have INSERT, must succeed
+create table if not exists t5 select * from t2;
+
+
+# CREATE...SELECT, no t6 yet, have INSERT, must succeed
+create table t6 select * from t2;
+
+# CREATE...SELECT, no t7 yet, no INSERT, must fail
+--error 1142
+create table t7 select * from t2;
+
+# CREATE...SELECT, t4 exists, have INSERT, must still fail (exists)
+--error 1050
+create table t4 select * from t2;
+
+# CREATE...SELECT, t1 exists, no INSERT, must fail
+--error 1142
+create table t1 select * from t2;
+
+
+connection default;
+drop table t1,t2,t4,t5,t6;
+
+revoke create on mysqltest.* from mysqltest@localhost;
+revoke select, insert on mysqltest.t2 from mysqltest@localhost;
+revoke insert on mysqltest.t4 from mysqltest@localhost;
+revoke create, insert on mysqltest.t5 from mysqltest@localhost;
+revoke create, insert on mysqltest.t6 from mysqltest@localhost;
+drop user mysqltest@localhost;
+
+disconnect user1;
+drop database mysqltest;
+use test;
+
+
+#
+# Bug #16470 crash on grant if old grant tables
+#
+--echo FLUSH PRIVILEGES without procs_priv table.
+RENAME TABLE mysql.procs_priv TO mysql.procs_gone;
+--error ER_NO_SUCH_TABLE
+FLUSH PRIVILEGES;
+--echo Assigning privileges without procs_priv table.
+CREATE DATABASE mysqltest1;
+CREATE PROCEDURE mysqltest1.test() SQL SECURITY DEFINER
+ SELECT 1;
+--error ER_NO_SUCH_TABLE
+GRANT EXECUTE ON FUNCTION mysqltest1.test TO mysqltest_1@localhost;
+GRANT ALL PRIVILEGES ON test.* TO mysqltest_1@localhost;
+CALL mysqltest1.test();
+DROP DATABASE mysqltest1;
+RENAME TABLE mysql.procs_gone TO mysql.procs_priv;
+DROP USER mysqltest_1@localhost;
+FLUSH PRIVILEGES;
+
+
+#
+# Bug#33464: DROP FUNCTION caused a crash.
+#
+CREATE DATABASE dbbug33464;
+CREATE USER 'userbug33464'@'localhost';
+
+GRANT CREATE ROUTINE ON dbbug33464.* TO 'userbug33464'@'localhost';
+
+--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
+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
+ SELECT * from dbbug33464.t6 where t6.f2= 'xyz';
+END//
+delimiter ;//
+
+delimiter //;
+CREATE FUNCTION fn1() returns char(50) SQL SECURITY INVOKER
+BEGIN
+ return 1;
+END//
+delimiter ;//
+
+delimiter //;
+CREATE FUNCTION fn2() returns char(50) SQL SECURITY DEFINER
+BEGIN
+ return 2;
+END//
+delimiter ;//
+
+disconnect connbug33464;
+
+# cleanup
+connection default;
+USE dbbug33464;
+--source suite/funcs_1/include/show_connection.inc
+
+SELECT fn1();
+SELECT fn2();
+
+--error 0, ER_CANNOT_USER
+DROP USER 'userbug33464'@'localhost';
+
+DROP FUNCTION fn1;
+DROP FUNCTION fn2;
+DROP PROCEDURE sp3;
+
+--error 0, ER_CANNOT_USER
+DROP USER 'userbug33464'@'localhost';
+
+use test;
+DROP DATABASE dbbug33464;
+
+
+--echo End of 5.1 tests
diff --git a/mysql-test/t/grant2.test b/mysql-test/t/grant2.test
index f6075ba2ee4..0f0c92e82eb 100644
--- a/mysql-test/t/grant2.test
+++ b/mysql-test/t/grant2.test
@@ -585,5 +585,37 @@ drop user mysqltest_1@localhost;
drop user mysqltest_2@localhost;
+#
+# Bug #30468: column level privileges not respected when joining tables
+#
+CREATE DATABASE db1;
+
+USE db1;
+CREATE TABLE t1 (a INT, b INT);
+INSERT INTO t1 VALUES (1,1),(2,2);
+
+CREATE TABLE t2 (b INT, c INT);
+INSERT INTO t2 VALUES (1,100),(2,200);
+
+GRANT SELECT ON t1 TO mysqltest1@localhost;
+GRANT SELECT (b) ON t2 TO mysqltest1@localhost;
+
+connect (conn1,localhost,mysqltest1,,);
+connection conn1;
+USE db1;
+--error ER_COLUMNACCESS_DENIED_ERROR
+SELECT c FROM t2;
+--error ER_COLUMNACCESS_DENIED_ERROR
+SELECT * FROM t2;
+--error ER_COLUMNACCESS_DENIED_ERROR
+SELECT * FROM t1 JOIN t2 USING (b);
+
+connection default;
+disconnect conn1;
+DROP TABLE db1.t1, db1.t2;
+DROP USER mysqltest1@localhost;
+DROP DATABASE db1;
+
+
--echo End of 5.0 tests
diff --git a/mysql-test/t/grant3.test b/mysql-test/t/grant3.test
index 115586e807d..8eceb851c29 100644
--- a/mysql-test/t/grant3.test
+++ b/mysql-test/t/grant3.test
@@ -34,3 +34,129 @@ delete from mysql.db where user like 'mysqltest\_%';
delete from mysql.tables_priv where user like 'mysqltest\_%';
delete from mysql.columns_priv where user like 'mysqltest\_%';
flush privileges;
+
+#
+# Bug: #19828 Case sensitivity in Grant/Revoke
+#
+
+grant select on test.* to CUser@localhost;
+grant select on test.* to CUser@LOCALHOST;
+flush privileges;
+
+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;
+
+REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'CUser'@'LOCALHOST';
+flush privileges;
+
+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;
+
+REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'CUser'@'localhost';
+flush privileges;
+
+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;
+DROP USER CUser@LOCALHOST;
+
+#### table grants
+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;
+SELECT user, host, db, Table_name, Table_priv, Column_priv FROM mysql.tables_priv where user = 'CUser' order by 1,2;
+
+REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'CUser'@'LOCALHOST';
+flush privileges;
+
+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;
+
+REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'CUser'@'localhost';
+flush privileges;
+
+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;
+DROP USER CUser@LOCALHOST;
+
+### column grants
+
+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;
+SELECT user, host, db, Table_name, Table_priv, Column_priv FROM mysql.tables_priv where user = 'CUser' order by 1,2;
+
+REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'CUser'@'LOCALHOST';
+flush privileges;
+
+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;
+
+REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'CUser'@'localhost';
+flush privileges;
+
+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;
+DROP USER CUser@LOCALHOST;
+
+drop table t1;
+
+# revoke on a specific DB only
+
+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;
+SELECT user, host, db, select_priv FROM mysql.db where user = 'CUser2' order by 1,2;
+
+REVOKE SELECT ON test.* FROM 'CUser2'@'LOCALHOST';
+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;
+
+REVOKE SELECT ON test.* FROM 'CUser2'@'localhost';
+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;
+
+DROP USER CUser2@localhost;
+DROP USER CUser2@LOCALHOST;
+
+
+#
+# Bug#31194: Privilege ordering does not order properly for wildcard values
+#
+
+CREATE DATABASE mysqltest_1;
+CREATE TABLE mysqltest_1.t1 (a INT);
+CREATE USER 'mysqltest1'@'%';
+GRANT SELECT, UPDATE ON `mysqltest_1`.* TO 'mysqltest1'@'%';
+REVOKE SELECT ON `mysqltest_1`.* FROM 'mysqltest1'@'%';
+GRANT SELECT, UPDATE ON `mysqltest\_1`.* TO 'mysqltest1'@'%';
+FLUSH PRIVILEGES;
+
+connect (conn1,localhost,mysqltest1,,);
+connection conn1;
+SHOW GRANTS;
+SELECT * FROM mysqltest_1.t1;
+disconnect conn1;
+
+connection default;
+DROP USER 'mysqltest1'@'%';
+DROP DATABASE mysqltest_1;
+
+
+--echo End of 5.0 tests
diff --git a/mysql-test/t/group_by.test b/mysql-test/t/group_by.test
index 5db110e8d36..3211db5d6ed 100644
--- a/mysql-test/t/group_by.test
+++ b/mysql-test/t/group_by.test
@@ -790,6 +790,40 @@ drop table t1;
SET SQL_MODE = '';
#
+# Bug #32202: ORDER BY not working with GROUP BY
+#
+
+CREATE TABLE t1(
+ id INT AUTO_INCREMENT PRIMARY KEY,
+ c1 INT NOT NULL,
+ c2 INT NOT NULL,
+ UNIQUE KEY (c2,c1));
+
+INSERT INTO t1(c1,c2) VALUES (5,1), (4,1), (3,5), (2,3), (1,3);
+
+# Show that the test cases from the bug report pass
+SELECT * FROM t1 ORDER BY c1;
+SELECT * FROM t1 GROUP BY id ORDER BY c1;
+
+# Show that DESC is handled correctly
+SELECT * FROM t1 GROUP BY id ORDER BY id DESC;
+
+# Show that results are correctly ordered when ORDER BY fields
+# are a subset of GROUP BY ones
+SELECT * FROM t1 GROUP BY c2 ,c1, id ORDER BY c2, c1;
+SELECT * FROM t1 GROUP BY c2, c1, id ORDER BY c2 DESC, c1;
+SELECT * FROM t1 GROUP BY c2, c1, id ORDER BY c2 DESC, c1 DESC;
+
+# Show that results are correctly ordered when GROUP BY fields
+# are a subset of ORDER BY ones
+SELECT * FROM t1 GROUP BY c2 ORDER BY c2, c1;
+SELECT * FROM t1 GROUP BY c2 ORDER BY c2 DESC, c1;
+SELECT * FROM t1 GROUP BY c2 ORDER BY c2 DESC, c1 DESC;
+
+DROP TABLE t1;
+
+
+--echo End of 5.0 tests
# Bug #21174: Index degrades sort performance and
# optimizer does not honor IGNORE INDEX.
# a.k.a WL3527.
@@ -811,6 +845,7 @@ EXPLAIN SELECT a FROM t1 IGNORE INDEX (PRIMARY,i2);
EXPLAIN SELECT a FROM t1 IGNORE INDEX FOR JOIN (PRIMARY,i2);
EXPLAIN SELECT a FROM t1 IGNORE INDEX FOR GROUP BY (PRIMARY,i2) GROUP BY a;
EXPLAIN SELECT a FROM t1 IGNORE INDEX FOR ORDER BY (PRIMARY,i2) ORDER BY a;
+SELECT a FROM t1 IGNORE INDEX FOR ORDER BY (PRIMARY,i2) ORDER BY a;
EXPLAIN SELECT a FROM t1 IGNORE INDEX FOR ORDER BY (PRIMARY)
IGNORE INDEX FOR GROUP BY (i2) GROUP BY a;
EXPLAIN SELECT a FROM t1 IGNORE INDEX (PRIMARY) IGNORE INDEX FOR ORDER BY (i2);
@@ -828,6 +863,11 @@ EXPLAIN SELECT a FROM t1 USE INDEX (i2) USE INDEX ();
EXPLAIN SELECT a FROM t1 FORCE INDEX ();
--error ER_PARSE_ERROR
EXPLAIN SELECT a FROM t1 IGNORE INDEX ();
+# disable the columns irrelevant to this test here. On some systems
+# without support for large files the rowid is shorter and its size affects
+# the cost calculations. This causes the optimizer to choose loose index
+# scan over normal index access.
+--replace_column 4 # 7 # 9 # 10 #
EXPLAIN SELECT a FROM t1 USE INDEX FOR JOIN (i2)
USE INDEX FOR GROUP BY (i2) GROUP BY a;
EXPLAIN SELECT a FROM t1 FORCE INDEX FOR JOIN (i2)
@@ -861,3 +901,95 @@ SHOW VARIABLES LIKE 'old';
SET @@old = off;
DROP TABLE t1, t2;
+
+#
+# Bug#30596: GROUP BY optimization gives wrong result order
+#
+CREATE TABLE t1(
+ a INT,
+ b INT NOT NULL,
+ c INT NOT NULL,
+ d INT,
+ UNIQUE KEY (c,b)
+);
+
+INSERT INTO t1 VALUES (1,1,1,50), (1,2,3,40), (2,1,3,4);
+
+CREATE TABLE t2(
+ a INT,
+ b INT,
+ UNIQUE KEY(a,b)
+);
+
+INSERT INTO t2 VALUES (NULL, NULL), (NULL, NULL), (NULL, 1), (1, NULL), (1, 1), (1,2);
+
+EXPLAIN SELECT c,b,d FROM t1 GROUP BY c,b,d;
+SELECT c,b,d FROM t1 GROUP BY c,b,d;
+EXPLAIN SELECT c,b,d FROM t1 GROUP BY c,b,d ORDER BY NULL;
+SELECT c,b,d FROM t1 GROUP BY c,b,d ORDER BY NULL;
+EXPLAIN SELECT c,b,d FROM t1 ORDER BY c,b,d;
+SELECT c,b,d FROM t1 ORDER BY c,b,d;
+
+EXPLAIN SELECT c,b,d FROM t1 GROUP BY c,b;
+SELECT c,b,d FROM t1 GROUP BY c,b;
+EXPLAIN SELECT c,b FROM t1 GROUP BY c,b;
+SELECT c,b FROM t1 GROUP BY c,b;
+
+EXPLAIN SELECT a,b from t2 ORDER BY a,b;
+SELECT a,b from t2 ORDER BY a,b;
+EXPLAIN SELECT a,b from t2 GROUP BY a,b;
+SELECT a,b from t2 GROUP BY a,b;
+EXPLAIN SELECT a from t2 GROUP BY a;
+SELECT a from t2 GROUP BY a;
+EXPLAIN SELECT b from t2 GROUP BY b;
+SELECT b from t2 GROUP BY b;
+
+DROP TABLE t1;
+
+#
+# Bug #31797: error while parsing subqueries -- WHERE is parsed as HAVING
+#
+CREATE TABLE t1 ( a INT, b INT );
+
+SELECT b c, (SELECT a FROM t1 WHERE b = c)
+FROM t1;
+
+SELECT b c, (SELECT a FROM t1 WHERE b = c)
+FROM t1
+HAVING b = 10;
+
+--error ER_ILLEGAL_REFERENCE
+SELECT MAX(b) c, (SELECT a FROM t1 WHERE b = c)
+FROM t1
+HAVING b = 10;
+
+SET @old_sql_mode = @@sql_mode;
+SET @@sql_mode='ONLY_FULL_GROUP_BY';
+
+SELECT b c, (SELECT a FROM t1 WHERE b = c)
+FROM t1;
+
+--error ER_NON_GROUPING_FIELD_USED
+SELECT b c, (SELECT a FROM t1 WHERE b = c)
+FROM t1
+HAVING b = 10;
+
+--error ER_ILLEGAL_REFERENCE
+SELECT MAX(b) c, (SELECT a FROM t1 WHERE b = c)
+FROM t1
+HAVING b = 10;
+
+INSERT INTO t1 VALUES (1, 1);
+SELECT b c, (SELECT a FROM t1 WHERE b = c)
+FROM t1;
+
+INSERT INTO t1 VALUES (2, 1);
+--error ER_SUBQUERY_NO_1_ROW
+SELECT b c, (SELECT a FROM t1 WHERE b = c)
+FROM t1;
+
+DROP TABLE t1;
+SET @@sql_mode = @old_sql_mode;
+
+
+
diff --git a/mysql-test/t/group_min_max.test b/mysql-test/t/group_min_max.test
index cf25b4c61be..7ec7e58ee19 100644
--- a/mysql-test/t/group_min_max.test
+++ b/mysql-test/t/group_min_max.test
@@ -890,6 +890,7 @@ FLUSH STATUS;
DELETE FROM t3 WHERE (SELECT MAX(b) FROM t1 GROUP BY a HAVING a < 2) > 10000;
SHOW STATUS LIKE 'handler_read__e%';
FLUSH STATUS;
+--error ER_SUBQUERY_NO_1_ROW
DELETE FROM t3 WHERE (SELECT (SELECT MAX(b) FROM t1 GROUP BY a HAVING a < 2) x
FROM t1) > 10000;
SHOW STATUS LIKE 'handler_read__e%';
@@ -913,7 +914,31 @@ SELECT SQL_BIG_RESULT DISTINCT(a) FROM t1;
DROP TABLE t1;
+#
+# Bug #32268: Indexed queries give bogus MIN and MAX results
+#
+
+CREATE TABLE t1 (a INT, b INT);
+INSERT INTO t1 (a, b) VALUES (1,1), (1,2), (1,3);
+INSERT INTO t1 SELECT a + 1, b FROM t1;
+INSERT INTO t1 SELECT a + 2, b FROM t1;
+EXPLAIN
+SELECT a, MIN(b), MAX(b) FROM t1 GROUP BY a ORDER BY a DESC;
+SELECT a, MIN(b), MAX(b) FROM t1 GROUP BY a ORDER BY a DESC;
+CREATE INDEX break_it ON t1 (a, b);
+EXPLAIN
+SELECT a, MIN(b), MAX(b) FROM t1 GROUP BY a ORDER BY a;
+SELECT a, MIN(b), MAX(b) FROM t1 GROUP BY a ORDER BY a;
+EXPLAIN
+SELECT a, MIN(b), MAX(b) FROM t1 GROUP BY a ORDER BY a DESC;
+SELECT a, MIN(b), MAX(b) FROM t1 GROUP BY a ORDER BY a DESC;
+
+EXPLAIN
+SELECT a, MIN(b), MAX(b), AVG(b) FROM t1 GROUP BY a ORDER BY a DESC;
+SELECT a, MIN(b), MAX(b), AVG(b) FROM t1 GROUP BY a ORDER BY a DESC;
+
+DROP TABLE t1;
diff --git a/mysql-test/t/heap_btree.test b/mysql-test/t/heap_btree.test
index 0e8cc71dab5..b51eeb27331 100644
--- a/mysql-test/t/heap_btree.test
+++ b/mysql-test/t/heap_btree.test
@@ -213,6 +213,15 @@ CREATE TABLE t1 (
INSERT INTO t1 VALUES('1'), ('2');
DROP TABLE t1;
+#
+# BUG#30590 - delete from memory table with composite btree primary key
+#
+CREATE TABLE t1 (a INT, KEY USING BTREE(a)) ENGINE=MEMORY;
+INSERT INTO t1 VALUES(1),(2),(2);
+DELETE FROM t1 WHERE a=2;
+SELECT * FROM t1;
+DROP TABLE t1;
+
--echo End of 4.1 tests
#
@@ -235,5 +244,14 @@ CREATE TABLE t1 (a INT, UNIQUE USING BTREE(a)) ENGINE=MEMORY;
INSERT INTO t1 VALUES(NULL),(NULL);
DROP TABLE t1;
+#
+# Bug #30885: MEMORY returns incorrect data if BTREE index is used for NULL lookup
+#
+create table t1(a varchar(255), b varchar(255),
+ key using btree (a,b)) engine=memory;
+insert into t1 values (1, 1), (3, 3), (2, 2), (NULL, 1), (NULL, NULL), (0, 0);
+select * from t1 where a is null;
+drop table t1;
+
--echo End of 5.0 tests
diff --git a/mysql-test/t/information_schema.test b/mysql-test/t/information_schema.test
index 6fa2a9ebc51..fe1c1f769cf 100644
--- a/mysql-test/t/information_schema.test
+++ b/mysql-test/t/information_schema.test
@@ -807,7 +807,8 @@ DROP FUNCTION func2;
select column_type, group_concat(table_schema, '.', table_name), count(*) as num
from information_schema.columns where
table_schema='information_schema' and
-(column_type = 'varchar(7)' or column_type = 'varchar(20)')
+(column_type = 'varchar(7)' or column_type = 'varchar(20)'
+ or column_type = 'varchar(27)')
group by column_type order by num;
#
@@ -953,7 +954,7 @@ BEGIN
DECLARE col1, col2, col3, col4, col6 CHAR(255);
DECLARE default_val VARCHAR(65532);
DECLARE done INT DEFAULT 0;
- DECLARE cur1 CURSOR FOR SHOW COLUMNS FROM bug23037;
+ DECLARE cur1 CURSOR FOR SELECT COLUMN_NAME, COLUMN_TYPE, IS_NULLABLE, COLUMN_KEY, COLUMN_DEFAULT, EXTRA FROM INFORMATION_SCHEMA.COLUMNS where TABLE_NAME='bug23037';
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
OPEN cur1;
FETCH cur1 INTO col1, col2, col3, col4, default_val, col6;
@@ -1047,7 +1048,57 @@ alter database;
--error ER_PARSE_ERROR
alter database test;
+#
+# Bug#27629 Possible security flaw in INFORMATION_SCHEMA and SHOW statements
+#
+
+create database mysqltest;
+create table mysqltest.t1(a int, b int, c int);
+create trigger mysqltest.t1_ai after insert on mysqltest.t1
+ for each row set @a = new.a + new.b + new.c;
+grant select(b) on mysqltest.t1 to mysqltest_1@localhost;
+
+select trigger_name from information_schema.triggers
+where event_object_table='t1';
+show triggers from mysqltest;
+
+connect (con27629,localhost,mysqltest_1,,mysqltest);
+show columns from t1;
+select column_name from information_schema.columns where table_name='t1';
+
+show triggers;
+select trigger_name from information_schema.triggers
+where event_object_table='t1';
+connection default;
+drop user mysqltest_1@localhost;
+drop database mysqltest;
+
+#
+# Bug#27747 database metadata doesn't return sufficient column default info
+#
+create table t1 (
+ f1 varchar(50),
+ f2 varchar(50) not null,
+ f3 varchar(50) default '',
+ f4 varchar(50) default NULL,
+ f5 bigint not null,
+ f6 bigint not null default 10,
+ f7 datetime not null,
+ f8 datetime default '2006-01-01'
+);
+select column_default from information_schema.columns where table_name= 't1';
+show columns from t1;
+drop table t1;
+
--echo End of 5.0 tests.
+
+#
+# Bug#30079 A check for "hidden" I_S tables is flawed
+#
+--error 1109
+show fields from information_schema.table_names;
+--error 1109
+show keys from information_schema.table_names;
#
# Show engines
#
@@ -1092,6 +1143,7 @@ END$$
DELIMITER ;$$
+let $wait_timeout= 300;
let $wait_condition=select count(*) = 0 from information_schema.events where event_name='event_status';
--source include/wait_condition.inc
@@ -1100,4 +1152,166 @@ SELECT variable_name FROM server_status;
DROP TABLE server_status;
SET GLOBAL event_scheduler=0;
+
+#
+# WL#3732 Information schema optimization
+#
+
+explain select table_name from information_schema.views where
+table_schema='test' and table_name='v1';
+
+explain select * from information_schema.tables;
+explain select * from information_schema.collations;
+
+explain select * from information_schema.tables where
+table_schema='test' and table_name= 't1';
+explain select table_name, table_type from information_schema.tables
+where table_schema='test';
+
+explain select b.table_name
+from information_schema.tables a, information_schema.columns b
+where a.table_name='t1' and a.table_schema='test' and b.table_name=a.table_name;
+
+#
+# Bug#30310 wrong result on SELECT * FROM INFORMATION_SCHEMA.SCHEMATA WHERE ..
+#
+SELECT * FROM INFORMATION_SCHEMA.SCHEMATA
+WHERE SCHEMA_NAME = 'mysqltest';
+
+SELECT * FROM INFORMATION_SCHEMA.SCHEMATA
+WHERE SCHEMA_NAME = '';
+
+SELECT * FROM INFORMATION_SCHEMA.SCHEMATA
+WHERE SCHEMA_NAME = 'test';
+
+select count(*) from INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA='mysql' AND TABLE_NAME='nonexisting';
+select count(*) from INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA='mysql' AND TABLE_NAME='';
+select count(*) from INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA='' AND TABLE_NAME='';
+select count(*) from INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA='' AND TABLE_NAME='nonexisting';
+
+#
+# Bug#30689 Wrong content in I_S.VIEWS.VIEW_DEFINITION if VIEW is based on I_S
+#
+CREATE VIEW v1
+AS SELECT *
+FROM information_schema.tables;
+SELECT VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS where TABLE_NAME = 'v1';
+DROP VIEW v1;
+
+#
+# Bug#30795 Query on INFORMATION_SCHEMA.SCHEMATA, wrong result
+#
+SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA
+WHERE SCHEMA_NAME ='information_schema';
+
+#
+# Bug#31381 Error in retrieving Data from INFORMATION_SCHEMA
+#
+SELECT TABLE_COLLATION FROM INFORMATION_SCHEMA.TABLES
+WHERE TABLE_SCHEMA='mysql' and TABLE_NAME= 'db';
+
+#
+# Bug#31633 Information schema = NULL queries crash the server
+#
+select * from information_schema.columns where table_schema = NULL;
+select * from `information_schema`.`COLUMNS` where `TABLE_NAME` = NULL;
+select * from `information_schema`.`KEY_COLUMN_USAGE` where `TABLE_SCHEMA` = NULL;
+select * from `information_schema`.`KEY_COLUMN_USAGE` where `TABLE_NAME` = NULL;
+select * from `information_schema`.`PARTITIONS` where `TABLE_SCHEMA` = NULL;
+select * from `information_schema`.`PARTITIONS` where `TABLE_NAME` = NULL;
+select * from `information_schema`.`REFERENTIAL_CONSTRAINTS` where `CONSTRAINT_SCHEMA` = NULL;
+select * from `information_schema`.`REFERENTIAL_CONSTRAINTS` where `TABLE_NAME` = NULL;
+select * from information_schema.schemata where schema_name = NULL;
+select * from `information_schema`.`STATISTICS` where `TABLE_SCHEMA` = NULL;
+select * from `information_schema`.`STATISTICS` where `TABLE_NAME` = NULL;
+select * from information_schema.tables where table_schema = NULL;
+select * from information_schema.tables where table_catalog = NULL;
+select * from information_schema.tables where table_name = NULL;
+select * from `information_schema`.`TABLE_CONSTRAINTS` where `TABLE_SCHEMA` = NULL;
+select * from `information_schema`.`TABLE_CONSTRAINTS` where `TABLE_NAME` = NULL;
+select * from `information_schema`.`TRIGGERS` where `EVENT_OBJECT_SCHEMA` = NULL;
+select * from `information_schema`.`TRIGGERS` where `EVENT_OBJECT_TABLE` = NULL;
+select * from `information_schema`.`VIEWS` where `TABLE_SCHEMA` = NULL;
+select * from `information_schema`.`VIEWS` where `TABLE_NAME` = NULL;
+
+#
+# Bug#31630 debug assert with explain extended select ... from i_s
+#
+explain extended select 1 from information_schema.tables;
+
+#
+# Bug#32775 problems with SHOW EVENTS and Information_Schema
+#
+use information_schema;
+show events;
+show events from information_schema;
+show events where Db= 'information_schema';
+use test;
+
+--echo #
+--echo # Bug#34166: Server crash in SHOW OPEN TABLES and prelocking
+--echo #
+--disable_warnings
+drop table if exists t1;
+drop function if exists f1;
+--enable_warnings
+create table t1 (a int);
+delimiter |;
+create function f1() returns int
+begin
+ insert into t1 (a) values (1);
+ return 0;
+end|
+delimiter ;|
+--disable_result_log
+show open tables where f1()=0;
+show open tables where f1()=0;
+--enable_result_log
+drop table t1;
+drop function f1;
+
+#
+# BUG#34656 - KILL a query = Assertion failed: m_status == DA_ERROR ||
+# m_status == DA_OK
+#
+connect (conn1, localhost, root,,);
+connection conn1;
+let $ID= `select connection_id()`;
+send select * from information_schema.tables where 1=sleep(100000);
+connection default;
+let $wait_timeout= 10;
+let $wait_condition=select count(*)=1 from information_schema.processlist
+where state='User sleep' and
+info='select * from information_schema.tables where 1=sleep(100000)';
+--source include/wait_condition.inc
+disable_query_log;
+eval kill $ID;
+enable_query_log;
+disconnect conn1;
+let $wait_timeout= 10;
+let $wait_condition=select count(*)=0 from information_schema.processlist
+where state='User sleep' and
+info='select * from information_schema.tables where 1=sleep(100000)';
+--source include/wait_condition.inc
+
+connect (conn1, localhost, root,,);
+connection conn1;
+let $ID= `select connection_id()`;
+send select * from information_schema.columns where 1=sleep(100000);
+connection default;
+let $wait_timeout= 10;
+let $wait_condition=select count(*)=1 from information_schema.processlist
+where state='User sleep' and
+info='select * from information_schema.columns where 1=sleep(100000)';
+--source include/wait_condition.inc
+disable_query_log;
+eval kill $ID;
+enable_query_log;
+disconnect conn1;
+let $wait_timeout= 10;
+let $wait_condition=select count(*)=0 from information_schema.processlist
+where state='User sleep' and
+info='select * from information_schema.columns where 1=sleep(100000)';
+--source include/wait_condition.inc
+
--echo End of 5.1 tests.
diff --git a/mysql-test/t/information_schema_chmod.test b/mysql-test/t/information_schema_chmod.test
index 38586ab8b67..51e67a0c956 100644
--- a/mysql-test/t/information_schema_chmod.test
+++ b/mysql-test/t/information_schema_chmod.test
@@ -19,5 +19,5 @@ create database mysqltest;
create table mysqltest.t1(a int);
chmod 0000 $MYSQLTEST_VARDIR/master-data/mysqltest;
select table_schema from information_schema.tables where table_schema='mysqltest';
-exec chmod 0777 $MYSQLTEST_VARDIR/master-data/mysqltest;
+chmod 0777 $MYSQLTEST_VARDIR/master-data/mysqltest;
drop database mysqltest;
diff --git a/mysql-test/t/innodb-semi-consistent-master.opt b/mysql-test/t/innodb-semi-consistent-master.opt
new file mode 100644
index 00000000000..2746e4e184e
--- /dev/null
+++ b/mysql-test/t/innodb-semi-consistent-master.opt
@@ -0,0 +1 @@
+--innodb_locks_unsafe_for_binlog=true --innodb_lock_wait_timeout=2
diff --git a/mysql-test/t/innodb-semi-consistent.test b/mysql-test/t/innodb-semi-consistent.test
new file mode 100644
index 00000000000..c33126b93ff
--- /dev/null
+++ b/mysql-test/t/innodb-semi-consistent.test
@@ -0,0 +1,50 @@
+-- source include/not_embedded.inc
+-- source include/have_innodb.inc
+
+--disable_warnings
+drop table if exists t1;
+--enable_warnings
+
+# basic tests of semi-consistent reads
+
+connect (a,localhost,root,,);
+connect (b,localhost,root,,);
+connection a;
+set session transaction isolation level read committed;
+create table t1(a int not null) engine=innodb DEFAULT CHARSET=latin1;
+insert into t1 values (1),(2),(3),(4),(5),(6),(7);
+set autocommit=0;
+# this should lock the entire table
+select * from t1 where a=3 lock in share mode;
+connection b;
+set session transaction isolation level read committed;
+set autocommit=0;
+-- error ER_LOCK_WAIT_TIMEOUT
+update t1 set a=10 where a=5;
+connection a;
+commit;
+connection b;
+update t1 set a=10 where a=5;
+connection a;
+-- error ER_LOCK_WAIT_TIMEOUT
+select * from t1 where a=2 for update;
+# this should lock the records (1),(2)
+select * from t1 where a=2 limit 1 for update;
+connection b;
+update t1 set a=11 where a=6;
+-- error ER_LOCK_WAIT_TIMEOUT
+update t1 set a=12 where a=2;
+-- error ER_LOCK_WAIT_TIMEOUT
+update t1 set a=13 where a=1;
+connection a;
+commit;
+connection b;
+update t1 set a=14 where a=1;
+commit;
+connection a;
+select * from t1;
+drop table t1;
+
+connection default;
+disconnect a;
+disconnect b;
diff --git a/mysql-test/t/innodb-ucs2.test b/mysql-test/t/innodb-ucs2.test
index 6647a9d0845..7b91ef37d3f 100644
--- a/mysql-test/t/innodb-ucs2.test
+++ b/mysql-test/t/innodb-ucs2.test
@@ -1,6 +1,10 @@
-- source include/have_innodb.inc
-- source include/have_ucs2.inc
+--disable_warnings
+drop table if exists t1, t2;
+--enable_warnings
+
#
# BUG 14056 Column prefix index on UTF-8 primary key column causes: Can't find record..
#
diff --git a/mysql-test/t/innodb.test b/mysql-test/t/innodb.test
index 140aac3b9c3..d7c5f00564d 100644
--- a/mysql-test/t/innodb.test
+++ b/mysql-test/t/innodb.test
@@ -11,13 +11,7 @@
# #
#######################################################################
--- source include/not_embedded.inc
-- source include/have_innodb.inc
--- source include/have_log_bin.inc
-
-# Disabling it temporarily for statement-based logging since some
-# tests are not safe while binlog is on.
--- source include/have_binlog_format_mixed_or_row.inc
#
# Small basic test with ignore
@@ -333,39 +327,6 @@ select * from t2;
drop table t1,t2;
#
-# Search on unique key
-#
-
-CREATE TABLE t1 (
- id int(11) NOT NULL auto_increment,
- ggid varchar(32) binary DEFAULT '' NOT NULL,
- email varchar(64) DEFAULT '' NOT NULL,
- passwd varchar(32) binary DEFAULT '' NOT NULL,
- PRIMARY KEY (id),
- UNIQUE ggid (ggid)
-) ENGINE=innodb;
-
-insert into t1 (ggid,passwd) values ('test1','xxx');
-insert into t1 (ggid,passwd) values ('test2','yyy');
--- error ER_DUP_ENTRY
-insert into t1 (ggid,passwd) values ('test2','this will fail');
--- error ER_DUP_ENTRY
-insert into t1 (ggid,id) values ('this will fail',1);
-
-select * from t1 where ggid='test1';
-select * from t1 where passwd='xxx';
-select * from t1 where id=2;
-
-replace into t1 (ggid,id) values ('this will work',1);
-replace into t1 (ggid,passwd) values ('test2','this will work');
--- error ER_DUP_ENTRY
-update t1 set id=100,ggid='test2' where id=1;
-select * from t1;
-select * from t1 where id=1;
-select * from t1 where id=999;
-drop table t1;
-
-#
# ORDER BY on not primary key
#
@@ -760,44 +721,69 @@ select * from t2;
drop table t1,t2;
#
-# Bug#27716 multi-update did partially and has not binlogged
+# Bug #29136 erred multi-delete on trans table does not rollback
#
-CREATE TABLE `t1` (
- `a` int(11) NOT NULL auto_increment,
- `b` int(11) default NULL,
- PRIMARY KEY (`a`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 ;
+# prepare
+--disable_warnings
+drop table if exists t1, t2;
+--enable_warnings
+CREATE TABLE t1 (a int, PRIMARY KEY (a));
+CREATE TABLE t2 (a int, PRIMARY KEY (a)) ENGINE=InnoDB;
+create trigger trg_del_t2 after delete on t2 for each row
+ insert into t1 values (1);
+insert into t1 values (1);
+insert into t2 values (1),(2);
+
+
+# exec cases A, B - see multi_update.test
-CREATE TABLE `t2` (
- `a` int(11) NOT NULL auto_increment,
- `b` int(11) default NULL,
- PRIMARY KEY (`a`)
-) ENGINE=INNODB DEFAULT CHARSET=latin1 ;
+# A. send_error() w/o send_eof() branch
-# A. testing multi_update::send_eof() execution branch
-insert into t1 values (1,1),(2,2);
-insert into t2 values (1,1),(4,4);
-reset master;
--error ER_DUP_ENTRY
-UPDATE t2,t1 SET t2.a=t1.a+2;
+delete t2 from t2;
+
# check
-select * from t2 /* must be (3,1), (4,4) */;
-show master status /* there must no UPDATE in binlog */;
-# B. testing multi_update::send_error() execution branch
-delete from t1;
-delete from t2;
-insert into t1 values (1,2),(3,4),(4,4);
-insert into t2 values (1,2),(3,4),(4,4);
-reset master;
+select count(*) from t2 /* must be 2 as restored after rollback caused by the error */;
+
+# cleanup bug#29136
+
+drop table t1, t2;
+
+
+#
+# Bug #29136 erred multi-delete on trans table does not rollback
+#
+
+# prepare
+--disable_warnings
+drop table if exists t1, t2;
+--enable_warnings
+CREATE TABLE t1 (a int, PRIMARY KEY (a));
+CREATE TABLE t2 (a int, PRIMARY KEY (a)) ENGINE=InnoDB;
+create trigger trg_del_t2 after delete on t2 for each row
+ insert into t1 values (1);
+insert into t1 values (1);
+insert into t2 values (1),(2);
+
+
+# exec cases A, B - see multi_update.test
+
+# A. send_error() w/o send_eof() branch
+
--error ER_DUP_ENTRY
-UPDATE t2,t1 SET t2.a=t2.b where t2.a=t1.a;
-show master status /* there must be no UPDATE query event */;
+delete t2 from t2;
+
+# check
+
+select count(*) from t2 /* must be 2 as restored after rollback caused by the error */;
+
+# cleanup bug#29136
-# cleanup bug#27716
drop table t1, t2;
+
#
# Testing of IFNULL
#
@@ -1175,9 +1161,8 @@ drop table t2;
# Test error handling
-# Clean up filename -- embedded server reports whole path without .frm,
-# regular server reports relative path with .frm (argh!)
---replace_result \\ / $MYSQL_TEST_DIR . /var/master-data/ / t2.frm t2
+# Embedded server doesn't chdir to data directory
+--replace_result $MYSQLTEST_VARDIR . master-data/ ''
--error ER_WRONG_FK_DEF
create table t2 (id int(11) not null, id2 int(11) not null, constraint t1_id_fk foreign key (id2,id) references t1 (id)) engine = innodb;
@@ -1369,9 +1354,8 @@ source include/varchar.inc;
# Some errors/warnings on create
#
-# Clean up filename -- embedded server reports whole path without .frm,
-# regular server reports relative path with .frm (argh!)
---replace_result \\ / $MYSQL_TEST_DIR . /var/master-data/ / t1.frm t1
+# Embedded server doesn't chdir to data directory
+--replace_result $MYSQLTEST_VARDIR . master-data/ ''
create table t1 (v varchar(65530), key(v));
drop table t1;
create table t1 (v varchar(65536));
@@ -1645,6 +1629,7 @@ disconnect b;
set foreign_key_checks=0;
create table t2 (a int primary key, b int, foreign key (b) references t1(a)) engine = innodb;
+# Embedded server doesn't chdir to data directory
--replace_result $MYSQLTEST_VARDIR . master-data/ ''
-- error 1005
create table t1(a char(10) primary key, b varchar(20)) engine = innodb;
@@ -1656,6 +1641,7 @@ drop table t2;
set foreign_key_checks=0;
create table t1(a varchar(10) primary key) engine = innodb DEFAULT CHARSET=latin1;
+# Embedded server doesn't chdir to data directory
--replace_result $MYSQLTEST_VARDIR . master-data/ ''
-- error 1005
create table t2 (a varchar(10), foreign key (a) references t1(a)) engine = innodb DEFAULT CHARSET=utf8;
@@ -1686,6 +1672,7 @@ drop table t2,t1;
set foreign_key_checks=0;
create table t2 (a varchar(10), foreign key (a) references t1(a)) engine = innodb DEFAULT CHARSET=latin1;
create table t3(a varchar(10) primary key) engine = innodb DEFAULT CHARSET=utf8;
+# Embedded server doesn't chdir to data directory
--replace_result $MYSQLTEST_VARDIR . master-data/ ''
-- error 1025
rename table t3 to t1;
@@ -2311,7 +2298,10 @@ CREATE TABLE t2 (a INT, INDEX(a)) ENGINE=InnoDB;
INSERT INTO t1 VALUES (1);
INSERT INTO t2 VALUES (1);
ALTER TABLE t2 ADD FOREIGN KEY (a) REFERENCES t1 (a) ON DELETE SET NULL;
---replace_regex /'\.\/test\/#sql-[0-9a-f_]*'/'#sql-temporary'/
+# mysqltest first does replace_regex, then replace_result
+--replace_regex /'[^']*test\/#sql-[0-9a-f_]*'/'#sql-temporary'/
+# Embedded server doesn't chdir to data directory
+--replace_result $MYSQLTEST_VARDIR . master-data/ ''
--error 1025
ALTER TABLE t2 MODIFY a INT NOT NULL;
DELETE FROM t1;
@@ -2364,6 +2354,111 @@ CREATE TABLE t1 (
c29 CHAR(255), c30 CHAR(255), c31 CHAR(255), c32 CHAR(255)
) ENGINE = InnoDB;
+#
+# Bug #31860 InnoDB assumes AUTOINC values can only be positive.
+#
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1(
+ id BIGINT(20) NOT NULL AUTO_INCREMENT PRIMARY KEY
+ ) ENGINE=InnoDB;
+INSERT INTO t1 VALUES(-10);
+SELECT * FROM t1;
+#
+# NOTE: The server really needs to be restarted at this point
+# for the test to be useful.
+#
+# Without the fix InnoDB would trip over an assertion here.
+INSERT INTO t1 VALUES(NULL);
+# The next value should be 1 and not -9 or a -ve number
+SELECT * FROM t1;
+DROP TABLE t1;
+
+#
+# Bug #21409 Incorrect result returned when in READ-COMMITTED with
+# query_cache ON
+#
+CONNECT (c1,localhost,root,,);
+CONNECT (c2,localhost,root,,);
+CONNECTION c1;
+SET TX_ISOLATION='read-committed';
+SET AUTOCOMMIT=0;
+DROP TABLE IF EXISTS t1, t2;
+CREATE TABLE t1 ( a int ) ENGINE=InnoDB;
+CREATE TABLE t2 LIKE t1;
+SELECT * FROM t2;
+CONNECTION c2;
+SET TX_ISOLATION='read-committed';
+SET AUTOCOMMIT=0;
+INSERT INTO t1 VALUES (1);
+COMMIT;
+CONNECTION c1;
+SELECT * FROM t1 WHERE a=1;
+DISCONNECT c1;
+DISCONNECT c2;
+CONNECT (c1,localhost,root,,);
+CONNECT (c2,localhost,root,,);
+CONNECTION c1;
+SET TX_ISOLATION='read-committed';
+SET AUTOCOMMIT=0;
+SELECT * FROM t2;
+CONNECTION c2;
+SET TX_ISOLATION='read-committed';
+SET AUTOCOMMIT=0;
+INSERT INTO t1 VALUES (2);
+COMMIT;
+CONNECTION c1;
+# The result set below should be the same for both selects
+SELECT * FROM t1 WHERE a=2;
+SELECT * FROM t1 WHERE a=2;
+DROP TABLE t1;
+DROP TABLE t2;
+DISCONNECT c1;
+DISCONNECT c2;
+CONNECTION default;
+
+#
+# Bug #29157 UPDATE, changed rows incorrect
+#
+create table t1 (i int, j int) engine=innodb;
+insert into t1 (i, j) values (1, 1), (2, 2);
+--enable_info
+update t1 set j = 2;
+--disable_info
+drop table t1;
+
+#
+# Bug #32440 InnoDB free space info does not appear in SHOW TABLE STATUS or
+# I_S
+#
+create table t1 (id int) comment='this is a comment' engine=innodb;
+select table_comment, data_free > 0 as data_free_is_set
+ from information_schema.tables
+ where table_schema='test' and table_name = 't1';
+drop table t1;
+
+#
+# Bug 34920 test
+#
+CONNECTION default;
+CREATE TABLE t1 (
+ c1 INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+ c2 VARCHAR(128) NOT NULL,
+ PRIMARY KEY(c1)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=100;
+
+CREATE TABLE t2 (
+ c1 INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+ c2 INT(10) UNSIGNED DEFAULT NULL,
+ PRIMARY KEY(c1)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=200;
+
+SELECT AUTO_INCREMENT FROM INFORMATION_SCHEMA.TABLES WHERE table_name = 't2';
+ALTER TABLE t2 ADD CONSTRAINT t1_t2_1 FOREIGN KEY(c1) REFERENCES t1(c1);
+SELECT AUTO_INCREMENT FROM INFORMATION_SCHEMA.TABLES WHERE table_name = 't2';
+DROP TABLE t2;
+DROP TABLE t1;
+# End 34920 test
+
#######################################################################
# #
# Please, DO NOT TOUCH this file as well as the innodb.result file. #
diff --git a/mysql-test/t/innodb_autoinc_lock_mode_zero-master.opt b/mysql-test/t/innodb_autoinc_lock_mode_zero-master.opt
new file mode 100644
index 00000000000..fad0da2ac2e
--- /dev/null
+++ b/mysql-test/t/innodb_autoinc_lock_mode_zero-master.opt
@@ -0,0 +1 @@
+--innodb-autoinc-lock-mode=0
diff --git a/mysql-test/t/innodb_autoinc_lock_mode_zero.test b/mysql-test/t/innodb_autoinc_lock_mode_zero.test
new file mode 100644
index 00000000000..96f748673c0
--- /dev/null
+++ b/mysql-test/t/innodb_autoinc_lock_mode_zero.test
@@ -0,0 +1,44 @@
+# This test runs with old-style locking, as:
+# --innodb-autoinc-lock-mode=0
+
+-- source include/have_innodb.inc
+
+--disable_warnings
+drop table if exists t1;
+--enable_warnings
+
+
+#
+# Search on unique key
+#
+
+CREATE TABLE t1 (
+ id int(11) NOT NULL auto_increment,
+ ggid varchar(32) binary DEFAULT '' NOT NULL,
+ email varchar(64) DEFAULT '' NOT NULL,
+ passwd varchar(32) binary DEFAULT '' NOT NULL,
+ PRIMARY KEY (id),
+ UNIQUE ggid (ggid)
+) ENGINE=innodb;
+
+insert into t1 (ggid,passwd) values ('test1','xxx');
+insert into t1 (ggid,passwd) values ('test2','yyy');
+-- error ER_DUP_ENTRY
+insert into t1 (ggid,passwd) values ('test2','this will fail');
+-- error ER_DUP_ENTRY
+insert into t1 (ggid,id) values ('this will fail',1);
+
+select * from t1 where ggid='test1';
+select * from t1 where passwd='xxx';
+select * from t1 where id=2;
+
+replace into t1 (ggid,id) values ('this will work',1);
+replace into t1 (ggid,passwd) values ('test2','this will work');
+-- error ER_DUP_ENTRY
+update t1 set id=100,ggid='test2' where id=1;
+select * from t1;
+select * from t1 where id=1;
+select * from t1 where id=999;
+drop table t1;
+
+--echo End of tests
diff --git a/mysql-test/t/innodb_bug34053.test b/mysql-test/t/innodb_bug34053.test
new file mode 100644
index 00000000000..b935e45c06d
--- /dev/null
+++ b/mysql-test/t/innodb_bug34053.test
@@ -0,0 +1,50 @@
+#
+# Make sure http://bugs.mysql.com/34053 remains fixed.
+#
+
+-- source include/not_embedded.inc
+-- source include/have_innodb.inc
+
+SET storage_engine=InnoDB;
+
+# we do not really care about what gets printed, we are only
+# interested in getting success or failure according to our
+# expectations
+-- disable_query_log
+-- disable_result_log
+
+GRANT USAGE ON *.* TO 'shane'@'localhost' IDENTIFIED BY '12345';
+FLUSH PRIVILEGES;
+
+-- connect (con1,localhost,shane,12345,)
+
+-- connection con1
+-- error ER_SPECIFIC_ACCESS_DENIED_ERROR
+CREATE TABLE innodb_monitor (a INT) ENGINE=INNODB;
+-- error ER_SPECIFIC_ACCESS_DENIED_ERROR
+CREATE TABLE innodb_mem_validate (a INT) ENGINE=INNODB;
+CREATE TABLE innodb_monitorx (a INT) ENGINE=INNODB;
+DROP TABLE innodb_monitorx;
+CREATE TABLE innodb_monito (a INT) ENGINE=INNODB;
+DROP TABLE innodb_monito;
+CREATE TABLE xinnodb_monitor (a INT) ENGINE=INNODB;
+DROP TABLE xinnodb_monitor;
+CREATE TABLE nnodb_monitor (a INT) ENGINE=INNODB;
+DROP TABLE nnodb_monitor;
+
+-- connection default
+CREATE TABLE innodb_monitor (a INT) ENGINE=INNODB;
+CREATE TABLE innodb_mem_validate (a INT) ENGINE=INNODB;
+
+-- connection con1
+-- error ER_SPECIFIC_ACCESS_DENIED_ERROR
+DROP TABLE innodb_monitor;
+-- error ER_SPECIFIC_ACCESS_DENIED_ERROR
+DROP TABLE innodb_mem_validate;
+
+-- connection default
+DROP TABLE innodb_monitor;
+DROP TABLE innodb_mem_validate;
+DROP USER 'shane'@'localhost';
+
+-- disconnect con1
diff --git a/mysql-test/t/innodb_gis.test b/mysql-test/t/innodb_gis.test
index 9675b6b69dc..1adb14ea482 100644
--- a/mysql-test/t/innodb_gis.test
+++ b/mysql-test/t/innodb_gis.test
@@ -1,6 +1,7 @@
--source include/have_innodb.inc
SET storage_engine=innodb;
--source include/gis_generic.inc
+--source include/gis_keys.inc
#
# Bug #15680 (SPATIAL key in innodb)
diff --git a/mysql-test/t/innodb_mysql.test b/mysql-test/t/innodb_mysql.test
index 93495538141..a907866f726 100644
--- a/mysql-test/t/innodb_mysql.test
+++ b/mysql-test/t/innodb_mysql.test
@@ -10,5 +10,6 @@ let $engine_type= InnoDB;
let $other_engine_type= MEMORY;
# InnoDB does support FOREIGN KEYFOREIGN KEYs
let $test_foreign_keys= 1;
-
+set global innodb_support_xa=default;
+set session innodb_support_xa=default;
--source include/mix1.inc
diff --git a/mysql-test/t/insert.test b/mysql-test/t/insert.test
index 3d32da9c3b7..c58fb61ad30 100644
--- a/mysql-test/t/insert.test
+++ b/mysql-test/t/insert.test
@@ -387,5 +387,106 @@ SELECT * FROM t2;
DROP TABLE t1, t2;
+#
+# Bug #26788: mysqld (debug) aborts when inserting specific numbers into char
+# fields
+#
+
+CREATE TABLE t1 (
+ a char(20) NOT NULL,
+ b char(7) DEFAULT NULL,
+ c char(4) DEFAULT NULL
+);
+
+INSERT INTO t1(a,b,c) VALUES (9.999999e+0, 9.999999e+0, 9.999e+0);
+INSERT INTO t1(a,b,c) VALUES (1.225e-05, 1.225e-05, 1.225e-05);
+INSERT INTO t1(a,b) VALUES (1.225e-04, 1.225e-04);
+INSERT INTO t1(a,b) VALUES (1.225e-01, 1.225e-01);
+INSERT INTO t1(a,b) VALUES (1.225877e-01, 1.225877e-01);
+INSERT INTO t1(a,b) VALUES (1.225e+01, 1.225e+01);
+INSERT INTO t1(a,b,c) VALUES (1.225e+01, 1.225e+01, 1.225e+01);
+INSERT INTO t1(a,b) VALUES (1.225e+05, 1.225e+05);
+INSERT INTO t1(a,b) VALUES (1.225e+10, 1.225e+10);
+INSERT INTO t1(a,b) VALUES (1.225e+15, 1.225e+15);
+INSERT INTO t1(a,b) VALUES (5000000e+0, 5000000e+0);
+INSERT INTO t1(a,b) VALUES (1.25e+78, 1.25e+78);
+INSERT INTO t1(a,b) VALUES (1.25e-94, 1.25e-94);
+INSERT INTO t1(a,b) VALUES (1.25e+203, 1.25e+203);
+INSERT INTO t1(a,b) VALUES (1.25e-175, 1.25e-175);
+INSERT INTO t1(a,c) VALUES (1.225e+0, 1.225e+0);
+INSERT INTO t1(a,c) VALUES (1.37e+0, 1.37e+0);
+INSERT INTO t1(a,c) VALUES (-1.37e+0, -1.37e+0);
+INSERT INTO t1(a,c) VALUES (1.87e-3, 1.87e-3);
+INSERT INTO t1(a,c) VALUES (-1.87e-2, -1.87e-2);
+INSERT INTO t1(a,c) VALUES (5000e+0, 5000e+0);
+INSERT INTO t1(a,c) VALUES (-5000e+0, -5000e+0);
+# Expected results are "12.2" and "1.2e+78", but Windows returns "12.3" and
+# "1.3e+78" due to different rounding rules
+--replace_result 12.3 12.2 1.3e+78 1.2e+78
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+CREATE TABLE t1 (
+ a char(20) NOT NULL,
+ b char(7) DEFAULT NULL,
+ c char(5)
+);
+
+
+INSERT INTO t1(a,b,c) VALUES (9.999999e+0, 9.999999e+0, 9.999e+0);
+INSERT INTO t1(a,b,c) VALUES (1.225e-05, 1.225e-05, 1.225e-05);
+INSERT INTO t1(a,b) VALUES (1.225e-04, 1.225e-04);
+INSERT INTO t1(a,b) VALUES (1.225e-01, 1.225e-01);
+INSERT INTO t1(a,b) VALUES (1.225877e-01, 1.225877e-01);
+INSERT INTO t1(a,b) VALUES (1.225e+01, 1.225e+01);
+INSERT INTO t1(a,b,c) VALUES (1.225e+01, 1.225e+01, 1.225e+01);
+INSERT INTO t1(a,b) VALUES (1.225e+05, 1.225e+05);
+INSERT INTO t1(a,b) VALUES (1.225e+10, 1.225e+10);
+INSERT INTO t1(a,b) VALUES (1.225e+15, 1.225e+15);
+INSERT INTO t1(a,b) VALUES (5000000e+0, 5000000e+0);
+INSERT INTO t1(a,b) VALUES (1.25e+78, 1.25e+78);
+INSERT INTO t1(a,b) VALUES (1.25e-94, 1.25e-94);
+INSERT INTO t1(a,b) VALUES (1.25e+203, 1.25e+203);
+INSERT INTO t1(a,b) VALUES (1.25e-175, 1.25e-175);
+INSERT INTO t1(a,c) VALUES (1.225e+0, 1.225e+0);
+INSERT INTO t1(a,c) VALUES (1.37e+0, 1.37e+0);
+INSERT INTO t1(a,c) VALUES (-1.37e+0, -1.37e+0);
+INSERT INTO t1(a,c) VALUES (1.87e-3, 1.87e-3);
+INSERT INTO t1(a,c) VALUES (-1.87e-2, -1.87e-2);
+INSERT INTO t1(a,c) VALUES (5000e+0, 5000e+0);
+INSERT INTO t1(a,c) VALUES (-5000e+0, -5000e+0);
+
+# Expected results are "12.2" and "1.2e+78", but Windows returns "12.3" and
+# "1.3e+78" due to different rounding rules
+--replace_result 12.3 12.2 1.3e+78 1.2e+78
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+#
+# Bug #31152: assertion in Field_str::store(double)
+#
+
+CREATE TABLE t (a CHAR(10),b INT);
+INSERT INTO t VALUES (),(),();
+INSERT INTO t(a) SELECT rand() FROM t;
+DROP TABLE t;
+
+#
+# Bug #30453: String not cast to int correctly
+#
+
+CREATE TABLE t1 (c1 INT NOT NULL);
+INSERT INTO t1 VALUES(4188.32999999999992724042385816574096679687500),
+('4188.32999999999992724042385816574096679687500'), (4188);
+SELECT * FROM t1;
+
+CREATE TABLE t2 (c1 BIGINT);
+INSERT INTO t2 VALUES('15449237462.0000000000');
+SELECT * FROM t2;
+
+DROP TABLE t1, t2;
+
--echo End of 5.0 tests.
diff --git a/mysql-test/t/insert_notembedded.test b/mysql-test/t/insert_notembedded.test
index bdea72e9eca..24040f9c310 100644
--- a/mysql-test/t/insert_notembedded.test
+++ b/mysql-test/t/insert_notembedded.test
@@ -152,3 +152,38 @@ disconnect root;
connection default;
DROP DATABASE meow;
+
+#
+# Bug#28587 SELECT is blocked by INSERT waiting on read lock, even with low_priority_updates
+#
+--echo connection: default
+set low_priority_updates=1;
+--disable_warnings
+drop table if exists t1;
+--enable_warnings
+create table t1 (a int, b int, unique key t1$a (a));
+lock table t1 read;
+connect (update,localhost,root,,);
+connection update;
+--echo connection: update
+set low_priority_updates=1;
+show variables like 'low_priority_updates';
+let $ID= `select connection_id()`;
+--send insert into t1 values (1, 2) ON DUPLICATE KEY UPDATE b = 2;
+connection default;
+# we must wait till the insert opens and locks the table
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = "Locked" and id = $ID;
+--source include/wait_condition.inc
+connect (select,localhost,root,,);
+--echo connection: select
+select * from t1;
+connection default;
+--echo connection: default
+select * from t1;
+connection default;
+disconnect update;
+disconnect select;
+drop table t1;
+set low_priority_updates=default;
diff --git a/mysql-test/t/insert_select.test b/mysql-test/t/insert_select.test
index ace51ef61c7..499db086877 100644
--- a/mysql-test/t/insert_select.test
+++ b/mysql-test/t/insert_select.test
@@ -372,3 +372,15 @@ INSERT INTO t1 (prev_id) SELECT id
SELECT * FROM t1;
DROP TABLE t1,t2;
+
+--echo #
+--echo # Bug#30384: Having SQL_BUFFER_RESULT option in the
+--echo # CREATE .. KEY(..) .. SELECT led to creating corrupted index.
+--echo #
+create table t1(f1 int);
+insert into t1 values(1),(2),(3);
+create table t2 (key(f1)) engine=myisam select sql_buffer_result f1 from t1;
+check table t2 extended;
+drop table t1,t2;
+--echo ##################################################################
+
diff --git a/mysql-test/t/join.test b/mysql-test/t/join.test
index 14c98431970..ed1b84bb5ec 100644
--- a/mysql-test/t/join.test
+++ b/mysql-test/t/join.test
@@ -698,4 +698,33 @@ select '^^: The above should be ~= 20 + cost(select * from t1). Value less than
drop table t1, t2;
+#
+# Bug #31094: Forcing index-based sort doesn't work anymore if joins are
+# done
+#
+
+CREATE TABLE t1 (a INT PRIMARY KEY, b INT);
+CREATE TABLE t2 (c INT PRIMARY KEY, d INT);
+
+INSERT INTO t1 VALUES(1,NULL),(2,NULL),(3,NULL),(4,NULL);
+INSERT INTO t1 SELECT a + 4, b FROM t1;
+INSERT INTO t1 SELECT a + 8, b FROM t1;
+INSERT INTO t1 SELECT a + 16, b FROM t1;
+INSERT INTO t1 SELECT a + 32, b FROM t1;
+INSERT INTO t1 SELECT a + 64, b FROM t1;
+INSERT INTO t2 SELECT a, b FROM t1;
+
+#expect indexed ORDER BY
+EXPLAIN SELECT * FROM t1 JOIN t2 ON b=c ORDER BY a LIMIT 2;
+EXPLAIN SELECT * FROM t1 JOIN t2 ON a=c ORDER BY a LIMIT 2;
+SELECT * FROM t1 JOIN t2 ON b=c ORDER BY a LIMIT 2;
+SELECT * FROM t1 JOIN t2 ON a=c ORDER BY a LIMIT 2;
+
+#expect filesort
+EXPLAIN SELECT * FROM t1 JOIN t2 ON b=c ORDER BY a;
+EXPLAIN SELECT * FROM t1 JOIN t2 ON a=c ORDER BY a;
+SELECT * FROM t1 JOIN t2 ON b=c ORDER BY a;
+SELECT * FROM t1 JOIN t2 ON a=c ORDER BY a;
+
+DROP TABLE IF EXISTS t1,t2;
--echo End of 5.0 tests.
diff --git a/mysql-test/t/key.test b/mysql-test/t/key.test
index f1eb8e68b49..9a4158d8e13 100644
--- a/mysql-test/t/key.test
+++ b/mysql-test/t/key.test
@@ -501,3 +501,63 @@ ORDER BY c.b, c.d
;
DROP TABLE t1, t2;
+
+#
+# Bug #31137: Assertion failed: primary_key_no == -1 || primary_key_no == 0
+#
+create table t1(a int not null, key aa(a),
+ b char(10) not null, unique key bb(b(1)),
+ c char(4) not null, unique key cc(c));
+desc t1;
+show create table t1;
+drop table t1;
+create table t1(a int not null, key aa(a),
+ b char(10) not null, unique key bb(b(1)),
+ c char(4) not null);
+desc t1;
+alter table t1 add unique key cc(c);
+desc t1;
+show create table t1;
+drop table t1;
+
+--echo End of 5.0 tests
+
+#
+# Bug #31148: bool close_thread_table(THD*, TABLE**): Assertion
+# `table->key_read == 0' failed.
+#
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+
+CREATE TABLE t1 (a INT PRIMARY KEY AUTO_INCREMENT);
+
+INSERT INTO t1 VALUES (), (), ();
+
+SELECT 1 AS c1
+FROM t1
+ORDER BY (
+ SELECT 1 AS c2
+ FROM t1
+ GROUP BY GREATEST(LAST_INSERT_ID(), t1.a) ASC
+ LIMIT 1);
+
+DROP TABLE t1;
+
+
+#
+# Bug #31974: Wrong EXPLAIN output
+#
+
+CREATE TABLE t1 (a INT, b INT, INDEX (a,b));
+INSERT INTO t1 (a, b)
+ VALUES
+ (1,1), (1,2), (1,3), (1,4), (1,5),
+ (2,2), (2,3), (2,1), (3,1), (4,1), (4,2), (4,3), (4,4), (4,5), (4,6);
+EXPLAIN SELECT 1 FROM t1 AS t1_outer WHERE
+ (SELECT max(b) FROM t1 GROUP BY a HAVING a < 2) > 12;
+SELECT 1 as RES FROM t1 AS t1_outer WHERE
+ (SELECT max(b) FROM t1 GROUP BY a HAVING a < 2) > 12;
+
+DROP TABLE t1;
diff --git a/mysql-test/t/kill.test b/mysql-test/t/kill.test
index 5d5095f7d61..8ef668f542b 100644
--- a/mysql-test/t/kill.test
+++ b/mysql-test/t/kill.test
@@ -6,6 +6,11 @@
#
-- source include/not_embedded.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,,);
@@ -304,3 +309,27 @@ while ($i)
dec $i ;
}
--enable_query_log
+
+###########################################################################
+
+--echo #
+--echo # Bug#19723: kill of active connection yields different error code
+--echo # depending on platform.
+--echo #
+
+--echo
+--echo # Connection: con2.
+--connection con2
+
+KILL CONNECTION_ID();
+
+--echo # CR_SERVER_LOST, CR_SERVER_GONE_ERROR, depending on the timing
+--echo # of close of the connection socket
+--error 2013, 2006
+SELECT 1;
+--connection default
+
+###########################################################################
+
+# Restore global concurrent_insert value. Keep in the end of the test file.
+set @@global.concurrent_insert= @old_concurrent_insert;
diff --git a/mysql-test/t/limit.test b/mysql-test/t/limit.test
index 286c04785ff..9cccca1adc3 100644
--- a/mysql-test/t/limit.test
+++ b/mysql-test/t/limit.test
@@ -76,15 +76,22 @@ drop table t1;
# Bug #28464: a string argument to 'limit ?' PS
#
-prepare s from "select 1 limit ?";
-set @a='qwe';
---error 1210
+prepare s from "select 1 limit ?";
+set @a='qwe';
+execute s using @a;
+set @a=-1;
+--error ER_WRONG_ARGUMENTS
execute s using @a;
prepare s from "select 1 limit 1, ?";
---error 1210
+--error ER_WRONG_ARGUMENTS
execute s using @a;
prepare s from "select 1 limit ?, ?";
---error 1210
+--error ER_WRONG_ARGUMENTS
+execute s using @a, @a;
+set @a=14632475938453979136;
+execute s using @a, @a;
+set @a=-14632475938453979136;
+--error ER_WRONG_ARGUMENTS
execute s using @a, @a;
--echo End of 5.0 tests
diff --git a/mysql-test/t/loaddata.test b/mysql-test/t/loaddata.test
index 4a4f667d3ea..5433d787c14 100644
--- a/mysql-test/t/loaddata.test
+++ b/mysql-test/t/loaddata.test
@@ -43,7 +43,7 @@ delete from t1;
eval load data infile '$MYSQLTEST_VARDIR/tmp/t1' into table t1;
enable_query_log;
select * from t1;
---exec rm $MYSQLTEST_VARDIR/tmp/t1
+remove_file $MYSQLTEST_VARDIR/tmp/t1;
disable_query_log;
eval SELECT * INTO OUTFILE '$MYSQLTEST_VARDIR/tmp/t1'
@@ -54,7 +54,7 @@ eval load data infile '$MYSQLTEST_VARDIR/tmp/t1' into table t1
FIELDS TERMINATED BY '' OPTIONALLY ENCLOSED BY '' LINES TERMINATED BY '\r\n';
enable_query_log;
select * from t1;
---exec rm $MYSQLTEST_VARDIR/tmp/t1
+remove_file $MYSQLTEST_VARDIR/tmp/t1;
SET @@SQL_MODE=@OLD_SQL_MODE;
drop table t1;
@@ -89,17 +89,16 @@ INSERT INTO t1 (c1) VALUES
('.r.'), ('.rr.'), ('.rrr.'), ('.rrrr.');
SELECT * FROM t1;
---exec rm -f $MYSQLTEST_VARDIR/tmp/t1
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
eval SELECT * INTO OUTFILE '$MYSQLTEST_VARDIR/tmp/t1' FIELDS ENCLOSED BY 'r' FROM t1;
---exec cat $MYSQLTEST_VARDIR/tmp/t1
+cat_file $MYSQLTEST_VARDIR/tmp/t1;
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
eval LOAD DATA INFILE '$MYSQLTEST_VARDIR/tmp/t1' INTO TABLE t2 FIELDS ENCLOSED BY 'r';
SELECT t1.id, c1, c2 FROM t1 LEFT JOIN t2 ON t1.id=t2.id WHERE c1 != c2;
SELECT t1.id, c1, c2 FROM t1 RIGHT JOIN t2 ON t1.id=t2.id WHERE c1 != c2;
---exec rm $MYSQLTEST_VARDIR/tmp/t1
+remove_file $MYSQLTEST_VARDIR/tmp/t1;
DROP TABLE t1,t2;
# End of 4.1 tests
@@ -188,7 +187,7 @@ SET @OLD_SQL_MODE=@@SQL_MODE, @@SQL_MODE=NO_AUTO_VALUE_ON_ZERO;
eval load data infile '$MYSQLTEST_VARDIR/tmp/t1' into table t2;
enable_query_log;
select * from t2;
---exec rm $MYSQLTEST_VARDIR/tmp/t1
+remove_file $MYSQLTEST_VARDIR/tmp/t1;
SET @@SQL_MODE=@OLD_SQL_MODE;
drop table t1,t2;
@@ -204,7 +203,7 @@ eval select * into outfile '$MYSQLTEST_VARDIR/tmp/t2' from t2;
eval load data infile '$MYSQLTEST_VARDIR/tmp/t2' into table t1;
enable_query_log;
select f1 from t1 where f2 <> '0000-00-00 00:00:00' order by f1;
---exec rm $MYSQLTEST_VARDIR/tmp/t2
+remove_file $MYSQLTEST_VARDIR/tmp/t2;
delete from t1;
disable_query_log;
eval SELECT * INTO OUTFILE '$MYSQLTEST_VARDIR/tmp/t2'
@@ -214,7 +213,7 @@ eval load data infile '$MYSQLTEST_VARDIR/tmp/t2' into table t1
FIELDS TERMINATED BY '' OPTIONALLY ENCLOSED BY '' LINES TERMINATED BY '\r\n';
enable_query_log;
select f1 from t1 where f2 <> '0000-00-00 00:00:00' order by f1;
---exec rm $MYSQLTEST_VARDIR/tmp/t2
+remove_file $MYSQLTEST_VARDIR/tmp/t2;
drop table t1,t2;
#
@@ -227,11 +226,10 @@ CREATE TABLE t1 (c1 INT, c2 TIMESTAMP, c3 REAL, c4 DOUBLE);
INSERT INTO t1 (c1, c2, c3, c4) VALUES (10, '1970-02-01 01:02:03', 1.1E-100, 1.1E+100);
SELECT * FROM t1;
---exec rm -f $MYSQLTEST_VARDIR/tmp/t1
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
eval SELECT * INTO OUTFILE '$MYSQLTEST_VARDIR/tmp/t1' FIELDS ENCLOSED BY '-' FROM t1;
---exec cat $MYSQLTEST_VARDIR/tmp/t1
---exec echo EOF
+cat_file $MYSQLTEST_VARDIR/tmp/t1;
+echo EOF;
TRUNCATE t1;
@@ -239,7 +237,7 @@ TRUNCATE t1;
eval LOAD DATA INFILE '$MYSQLTEST_VARDIR/tmp/t1' INTO TABLE t1 FIELDS ENCLOSED BY '-';
SELECT * FROM t1;
---exec rm $MYSQLTEST_VARDIR/tmp/t1
+remove_file $MYSQLTEST_VARDIR/tmp/t1;
DROP TABLE t1;
# End of 5.0 tests
@@ -264,6 +262,6 @@ select @@character_set_filesystem;
LOAD DATA INFILE 't@002d1' INTO TABLE t1;
SELECT * FROM t1;
DROP TABLE t1;
---exec rm $MYSQLTEST_VARDIR/master-data/test/t@002d1
+remove_file $MYSQLTEST_VARDIR/master-data/test/t@002d1;
SET character_set_filesystem=default;
select @@character_set_filesystem;
diff --git a/mysql-test/t/lock.test b/mysql-test/t/lock.test
index 2b8b430f096..6069bbf7018 100644
--- a/mysql-test/t/lock.test
+++ b/mysql-test/t/lock.test
@@ -148,5 +148,70 @@ LOCK TABLES mysql.time_zone READ, mysql.proc WRITE;
DROP TABLE t1;
+--echo
+--echo Bug#5719 impossible to lock VIEW
+--echo
+--echo Just covering existing behaviour with tests.
+--echo Consistency has not been found here.
+--echo
+--disable_warnings
+drop view if exists v_bug5719;
+drop table if exists t1, t2, t3;
+--enable_warnings
+create table t1 (a int);
+create temporary table t2 (a int);
+create table t3 (a int);
+create view v_bug5719 as select 1;
+lock table v_bug5719 write;
+--error ER_TABLE_NOT_LOCKED
+select * from t1;
+--echo
+--echo Allowed to select from a temporary talbe under LOCK TABLES
+--echo
+select * from t2;
+--error ER_TABLE_NOT_LOCKED
+select * from t3;
+select * from v_bug5719;
+drop view v_bug5719;
+--echo
+--echo sic: did not left LOCK TABLES mode automatically
+--echo
+--error ER_TABLE_NOT_LOCKED
+select * from t1;
+unlock tables;
+create view v_bug5719 as select * from t1;
+lock tables v_bug5719 write;
+select * from v_bug5719;
+--echo
+--echo Allowed to use an underlying table under LOCK TABLES <view>
+--echo
+select * from t1;
+--echo
+--echo Allowed to select from a temporary table under LOCK TABLES
+--echo
+select * from t2;
+--error ER_TABLE_NOT_LOCKED
+select * from t3;
+drop table t1;
+--echo
+--echo sic: left LOCK TABLES mode
+--echo
+select * from t3;
+--error ER_VIEW_INVALID
+select * from v_bug5719;
+unlock tables;
+drop view v_bug5719;
+--echo
+--echo When limitation to use temporary tables in views is removed, please
+--echo add a test that shows what happens under LOCK TABLES when a view
+--echo references a temporary table, is locked, and the underlying table
+--echo is dropped.
+--echo
+--error ER_VIEW_SELECT_TMPTABLE
+create view v_bug5719 as select * from t2;
+--echo
+--echo Cleanup.
+--echo
+drop table t2, t3;
--echo End of 5.1 tests.
diff --git a/mysql-test/t/lock_multi.test b/mysql-test/t/lock_multi.test
index 4a6b4ff5e56..54c2e4e76ee 100644
--- a/mysql-test/t/lock_multi.test
+++ b/mysql-test/t/lock_multi.test
@@ -16,10 +16,16 @@ lock tables t1 write;
connection writer;
send update low_priority t1 set n = 4;
connection reader;
---sleep 2
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = "Locked" and info = "update low_priority t1 set n = 4";
+--source include/wait_condition.inc
send select n from t1;
connection locker;
---sleep 2
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = "Locked" and info = "select n from t1";
+--source include/wait_condition.inc
unlock tables;
connection writer;
reap;
@@ -34,15 +40,15 @@ lock tables t1 read;
connection writer;
send update low_priority t1 set n = 4;
connection reader;
---sleep 2
-send select n from t1;
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = "Locked" and info = "update low_priority t1 set n = 4";
+--source include/wait_condition.inc
+select n from t1;
connection locker;
---sleep 2
unlock tables;
connection writer;
reap;
-connection reader;
-reap;
drop table t1;
#
@@ -58,13 +64,9 @@ insert into t1 values(2,2);
insert into t2 values(1,2);
lock table t1 read;
connection writer;
---sleep 2
-send update t1,t2 set c=a where b=d;
+update t1,t2 set c=a where b=d;
connection reader;
---sleep 2
select c from t2;
-connection writer;
-reap;
connection locker;
drop table t1;
drop table t2;
@@ -73,7 +75,7 @@ drop table t2;
# Test problem when using locks on many tables and droping a table that
# is to-be-locked by another thread
#
-
+#
connection locker;
create table t1 (a int);
create table t2 (a int);
@@ -81,6 +83,10 @@ lock table t1 write, t2 write;
connection reader;
send insert t1 select * from t2;
connection locker;
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = "Locked" and info = "insert t1 select * from t2";
+--source include/wait_condition.inc
drop table t2;
connection reader;
--error 1146
@@ -99,6 +105,10 @@ lock table t1 write, t2 write, t1 as t1_2 write, t2 as t2_2 write;
connection reader;
send insert t1 select * from t2;
connection locker;
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = "Locked" and info = "insert t1 select * from t2";
+--source include/wait_condition.inc
drop table t2;
connection reader;
--error 1146
@@ -107,7 +117,7 @@ connection locker;
drop table t1;
-# End of 4.1 tests
+--echo End of 4.1 tests
#
# BUG#9998 - MySQL client hangs on USE "database"
@@ -131,15 +141,18 @@ connection locker;
use mysql;
LOCK TABLES columns_priv WRITE, db WRITE, host WRITE, user WRITE;
FLUSH TABLES;
---sleep 1
#
connection reader;
use mysql;
#NOTE: This must be a multi-table select, otherwise the deadlock will not occur
send SELECT user.Select_priv FROM user, db WHERE user.user = db.user LIMIT 1;
---sleep 1
#
connection locker;
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = "Waiting for table" and info =
+ "SELECT user.Select_priv FROM user, db WHERE user.user = db.user LIMIT 1";
+--source include/wait_condition.inc
# Make test case independent from earlier grants.
--replace_result "Table is already up to date" "OK"
OPTIMIZE TABLES columns_priv, db, host, user;
@@ -163,10 +176,13 @@ LOCK TABLE t1 WRITE;
# This waits until t1 is unlocked.
connection locker;
send FLUSH TABLES WITH READ LOCK;
---sleep 1
#
-# This must not block.
connection writer;
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = "Flushing tables" and info = "FLUSH TABLES WITH READ LOCK";
+--source include/wait_condition.inc
+# This must not block.
CREATE TABLE t2 (c1 int);
UNLOCK TABLES;
#
@@ -187,10 +203,13 @@ LOCK TABLE t1 WRITE;
# This waits until t1 is unlocked.
connection locker;
send FLUSH TABLES WITH READ LOCK;
---sleep 1
#
# This must not block.
connection writer;
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = "Flushing tables" and info = "FLUSH TABLES WITH READ LOCK";
+--source include/wait_condition.inc
--error 1100
CREATE TABLE t2 AS SELECT * FROM t1;
UNLOCK TABLES;
@@ -219,11 +238,15 @@ FLUSH TABLES WITH READ LOCK;
# wait in wait_if_global_read_lock().
connection con2;
send DROP DATABASE mysqltest_1;
---sleep 1
#
# With bug in place: try to acquire LOCK_mysql_create_table...
# When fixed: Reject dropping db because of the read lock.
connection con1;
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = "Waiting for release of readlock"
+ and info = "DROP DATABASE mysqltest_1";
+--source include/wait_condition.inc
--error ER_CANT_UPDATE_WITH_READLOCK
DROP DATABASE mysqltest_1;
UNLOCK TABLES;
@@ -249,17 +272,18 @@ create table t1 (f1 int(12) unsigned not null auto_increment, primary key(f1)) e
--enable_warnings
lock tables t1 write;
connection writer;
---sleep 2
-delimiter //;
-send alter table t1 auto_increment=0; alter table t1 auto_increment=0; alter table t1 auto_increment=0; alter table t1 auto_increment=0; alter table t1 auto_increment=0; //
-delimiter ;//
+send alter table t1 auto_increment=0;
connection reader;
---sleep 2
-delimiter //;
-send alter table t1 auto_increment=0; alter table t1 auto_increment=0; alter table t1 auto_increment=0; alter table t1 auto_increment=0; alter table t1 auto_increment=0; //
-delimiter ;//
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = "Locked" and info = "alter table t1 auto_increment=0";
+--source include/wait_condition.inc
+send alter table t1 auto_increment=0;
connection locker;
---sleep 2
+let $wait_condition=
+ select count(*) = 2 from information_schema.processlist
+ where state = "Locked" and info = "alter table t1 auto_increment=0";
+--source include/wait_condition.inc
unlock tables;
connection writer;
reap;
@@ -267,6 +291,185 @@ connection reader;
reap;
connection locker;
drop table t1;
+#
+--echo End of 5.0 tests
+
+
+#
+# Bug #21281 "Pending write lock is incorrectly removed when its
+# statement being KILLed"
+#
+create table t1 (i int);
+connection locker;
+lock table t1 read;
+connection writer;
+--send update t1 set i= 10;
+connection reader;
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = "Locked" and info = "update t1 set i= 10";
+--source include/wait_condition.inc
+--send select * from t1;
+connection default;
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = "Locked" and info = "select * from t1";
+--source include/wait_condition.inc
+let $ID= `select id from information_schema.processlist where state = "Locked" and info = "update t1 set i= 10"`;
+--replace_result $ID ID
+eval kill query $ID;
+connection reader;
+--reap
+connection writer;
+--error ER_QUERY_INTERRUPTED
+--reap
+connection locker;
+unlock tables;
+connection default;
+drop table t1;
+
+#
+# Bug#25856 - HANDLER table OPEN in one connection lock DROP TABLE in another one
+#
+--disable_warnings
+drop table if exists t1;
+--enable_warnings
+create table t1 (a int) ENGINE=MEMORY;
+--echo --> client 2
+connection locker;
+--error 1031
+handler t1 open;
+--echo --> client 1
+connection default;
+drop table t1;
+
+#
+# Bug#32395 Alter table under a impending global read lock causes a server crash
+#
+
+#
+# Test ALTER TABLE under LOCK TABLES and FLUSH TABLES WITH READ LOCK
+#
+
+--disable_warnings
+drop table if exists t1;
+--enable_warnings
+create table t1 (i int);
+connect (flush,localhost,root,,test,,);
+connection default;
+--echo connection: default
+lock tables t1 write;
+connection flush;
+--echo connection: flush
+--send flush tables with read lock;
+connection default;
+--echo connection: default
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = "Flushing tables";
+--source include/wait_condition.inc
+alter table t1 add column j int;
+connect (insert,localhost,root,,test,,);
+connection insert;
+--echo connection: insert
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = "Flushing tables";
+--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";
+--source include/wait_condition.inc
+unlock tables;
+connection flush;
+--echo connection: flush
+--reap
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = "Waiting for release of readlock";
+--source include/wait_condition.inc
+select * from t1;
+unlock tables;
+connection insert;
+--reap
+connection default;
+let $wait_condition=
+ select count(*) = 1 from t1;
+--source include/wait_condition.inc
+select * from t1;
+drop table t1;
+disconnect flush;
+disconnect insert;
-# End of 5.0 tests
+#
+# Test that FLUSH TABLES under LOCK TABLES protects write locked tables
+# from a impending FLUSH TABLES WITH READ LOCK
+#
+
+--disable_warnings
+drop table if exists t1;
+--enable_warnings
+create table t1 (i int);
+connect (flush,localhost,root,,test,,);
+connection default;
+--echo connection: default
+lock tables t1 write;
+connection flush;
+--echo connection: flush
+--send flush tables with read lock;
+connection default;
+--echo connection: default
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = "Flushing tables";
+--source include/wait_condition.inc
+flush tables;
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = "Flushing tables";
+--source include/wait_condition.inc
+unlock tables;
+let $wait_condition=
+ select count(*) = 0 from information_schema.processlist
+ where state = "Flushing tables";
+--source include/wait_condition.inc
+connection flush;
+--reap
+connection default;
+disconnect flush;
+drop table t1;
+
+#
+# Bug#30331: Table_locks_waited shows inaccurate values
+#
+
+--disable_warnings
+drop table if exists t1,t2;
+--enable_warnings
+create table t1 (a int);
+flush status;
+lock tables t1 read;
+let $tlwa= `show status like 'Table_locks_waited'`;
+connect (waiter,localhost,root,,);
+connection waiter;
+--send insert into t1 values(1);
+connection default;
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = "Locked" and info = "insert into t1 values(1)";
+--source include/wait_condition.inc
+let $tlwb= `show status like 'Table_locks_waited'`;
+unlock tables;
+drop table t1;
+disconnect waiter;
+connection default;
+--disable_query_log
+eval SET @tlwa= SUBSTRING_INDEX('$tlwa', ' ', -1);
+eval SET @tlwb= SUBSTRING_INDEX('$tlwb', ' ', -1);
+--enable_query_log
+select @tlwa < @tlwb;
+--echo End of 5.1 tests
diff --git a/mysql-test/t/log_state.test b/mysql-test/t/log_state.test
index b0bb818b783..a340238b724 100644
--- a/mysql-test/t/log_state.test
+++ b/mysql-test/t/log_state.test
@@ -28,7 +28,7 @@ connection con1;
set session long_query_time=1;
select sleep(2);
--replace_column 1 TIMESTAMP 2 USER_HOST 3 QUERY_TIME
-select * from mysql.slow_log;
+select * from mysql.slow_log where sql_text NOT LIKE '%slow_log%';
connection default;
set global slow_query_log= ON;
@@ -36,7 +36,7 @@ connection con1;
set session long_query_time=1;
select sleep(2);
--replace_column 1 TIMESTAMP 2 USER_HOST 3 QUERY_TIME
-select * from mysql.slow_log;
+select * from mysql.slow_log where sql_text NOT LIKE '%slow_log%';
connection default;
show global variables
where Variable_name = 'log' or Variable_name = 'log_slow_queries' or
@@ -179,6 +179,60 @@ SET GLOBAL READ_ONLY = OFF;
SET GLOBAL general_log = @old_general_log_state;
SET GLOBAL slow_query_log = @old_slow_log_state;
+#
+# Bug #29131: SHOW VARIABLES reports variable 'log' but SET doesn't recognize it
+#
+
+SET @old_general_log_state = @@global.general_log;
+SET @old_slow_log_state = @@global.slow_query_log;
+
+SHOW VARIABLES LIKE 'general_log';
+SHOW VARIABLES LIKE 'log';
+SELECT @@general_log, @@log;
+SET GLOBAL log = 0;
+SHOW VARIABLES LIKE 'general_log';
+SHOW VARIABLES LIKE 'log';
+SELECT @@general_log, @@log;
+SET GLOBAL general_log = 1;
+SHOW VARIABLES LIKE 'general_log';
+SHOW VARIABLES LIKE 'log';
+SELECT @@general_log, @@log;
+
+SHOW VARIABLES LIKE 'slow_query_log';
+SHOW VARIABLES LIKE 'log_slow_queries';
+SELECT @@slow_query_log, @@log_slow_queries;
+SET GLOBAL log_slow_queries = 0;
+SHOW VARIABLES LIKE 'slow_query_log';
+SHOW VARIABLES LIKE 'log_slow_queries';
+SELECT @@slow_query_log, @@log_slow_queries;
+SET GLOBAL slow_query_log = 1;
+SHOW VARIABLES LIKE 'slow_query_log';
+SHOW VARIABLES LIKE 'log_slow_queries';
+SELECT @@slow_query_log, @@log_slow_queries;
+
+SET GLOBAL general_log = @old_general_log_state;
+SET GLOBAL slow_query_log = @old_slow_log_state;
+
+#
+# Bug #31604: server crash when setting slow_query_log_file/general_log_file
+#
+set @old_general_log_file= @@global.general_log_file;
+set @old_slow_query_log_file= @@global.slow_query_log_file;
+
+--error 1231
+set global general_log_file= concat('/not exiting path/log.maste', 'r');
+--error 1231
+set global general_log_file= NULL;
+--error 1231
+set global slow_query_log_file= concat('/not exiting path/log.maste', 'r');
+--error 1231
+set global slow_query_log_file= NULL;
+
+set global general_log_file= @old_general_log_file;
+set global slow_query_log_file= @old_slow_query_log_file;
+
+--echo End of 5.1 tests
+
--enable_ps_protocol
#
diff --git a/mysql-test/t/log_tables.test b/mysql-test/t/log_tables.test
index 89c7c255554..3047d16d3b6 100644
--- a/mysql-test/t/log_tables.test
+++ b/mysql-test/t/log_tables.test
@@ -131,6 +131,16 @@ SET GLOBAL GENERAL_LOG=ON;
SET GLOBAL SLOW_QUERY_LOG=ON;
#
+# Bug#23924 general_log truncates queries with character set introducers.
+#
+truncate table mysql.general_log;
+set names binary;
+select _koi8r'ÔÅÓÔ' as test;
+--replace_column 1 TIMESTAMP 2 USER_HOST 3 THREAD_ID
+select * from mysql.general_log;
+set names utf8;
+
+#
# Bug #16905 Log tables: unicode statements are logged incorrectly
#
@@ -253,11 +263,11 @@ use mysql;
CREATE TABLE `general_log` (
`event_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP,
- `user_host` mediumtext,
- `thread_id` int(11) DEFAULT NULL,
- `server_id` int(11) DEFAULT NULL,
- `command_type` varchar(64) DEFAULT NULL,
- `argument` mediumtext
+ `user_host` mediumtext NOT NULL,
+ `thread_id` int(11) NOT NULL,
+ `server_id` int(11) NOT NULL,
+ `command_type` varchar(64) NOT NULL,
+ `argument` mediumtext NOT NULL
) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='General log';
CREATE TABLE `slow_log` (
@@ -268,10 +278,10 @@ CREATE TABLE `slow_log` (
`lock_time` time NOT NULL,
`rows_sent` int(11) NOT NULL,
`rows_examined` int(11) NOT NULL,
- `db` varchar(512) DEFAULT NULL,
- `last_insert_id` int(11) DEFAULT NULL,
- `insert_id` int(11) DEFAULT NULL,
- `server_id` int(11) DEFAULT NULL,
+ `db` varchar(512) NOT NULL,
+ `last_insert_id` int(11) NOT NULL,
+ `insert_id` int(11) NOT NULL,
+ `server_id` int(11) NOT NULL,
`sql_text` mediumtext NOT NULL
) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='Slow log';
@@ -295,6 +305,13 @@ unlock tables;
# Bug #21785 Server crashes after rename of the log table
#
+--disable_warnings
+drop table if exists mysql.renamed_general_log;
+drop table if exists mysql.renamed_slow_log;
+drop table if exists mysql.general_log_new;
+drop table if exists mysql.slow_log_new;
+--enable_warnings
+
use mysql;
# Should result in error
--error ER_CANT_RENAME_LOG_TABLE
@@ -359,6 +376,55 @@ drop table renamed_general_log, renamed_slow_log;
use test;
#
+# Bug#27858 (Failing to log to a log table doesn't log anything to error log)
+#
+# This test works as expected, it's a negative test.
+# The message "[ERROR] Failed to write to mysql.general_log"
+# is printed to master.err when writing to the table mysql.general_log
+# failed.
+# However, this message is picked up by mysql-test-run.pl,
+# and reported as a test failure, which is a false negative.
+# There is no current way to *selectively* filter out these expected error conditions
+# (see mysql-test/lib/mtr_report.pl, mtr_report_stats()).
+# Instead of filtering all occurences of "Failed to write to
+# mysql.general_log", which could hide bugs when the error is not expected,
+# this test case is commented instead.
+# TODO: improve filtering of expected errors in master.err in
+# mysql-test-run.pl (based on the test name ?), and uncomment this test.
+
+# --disable_warnings
+# drop table if exists mysql.bad_general_log;
+# drop table if exists mysql.bad_slow_log;
+# drop table if exists mysql.general_log_hide;
+# drop table if exists mysql.slow_log_hide;
+# --enable_warnings
+#
+# create table mysql.bad_general_log (a int) engine= CSV;
+# create table mysql.bad_slow_log (a int) engine= CSV;
+#
+# # Rename does not perform checks on the table structure,
+# # exploiting this to force a failure to log
+# rename table mysql.general_log to mysql.general_log_hide, mysql.bad_general_log TO mysql.general_log;
+# rename table mysql.slow_log to mysql.slow_log_hide, mysql.bad_slow_log TO mysql.slow_log;
+#
+# # The following message should be printed in master.log:
+# # [ERROR] Failed to write to mysql.general_log
+# # TODO: See how verifying this could be automated
+#
+# flush tables;
+# select "logging this should fail";
+#
+# # Restore the log tables
+#
+# rename table mysql.general_log to mysql.bad_general_log, mysql.general_log_hide TO mysql.general_log;
+# rename table mysql.slow_log to mysql.bad_slow_log, mysql.slow_log_hide TO mysql.slow_log;
+#
+# flush tables;
+#
+# drop table mysql.bad_general_log;
+# drop table mysql.bad_slow_log;
+
+#
# Bug #21966 Strange warnings on repair of the log tables
#
@@ -751,3 +817,152 @@ DROP DATABASE IF EXISTS `db_17876`;
SET GLOBAL general_log = @old_general_log_state;
SET GLOBAL slow_query_log = @old_slow_log_state;
+#
+# Bug#21557 entries in the general query log truncated at 1000 characters.
+#
+
+select CONNECTION_ID() into @thread_id;
+truncate table mysql.general_log;
+set @old_general_log_state = @@global.general_log;
+set global general_log = on;
+--disable_result_log
+set @lparam = "000 001 002 003 004 005 006 007 008 009"
+ "010 011 012 013 014 015 016 017 018 019"
+ "020 021 022 023 024 025 026 027 028 029"
+ "030 031 032 033 034 035 036 037 038 039"
+ "040 041 042 043 044 045 046 047 048 049"
+ "050 051 052 053 054 055 056 057 058 059"
+ "060 061 062 063 064 065 066 067 068 069"
+ "070 071 072 073 074 075 076 077 078 079"
+ "080 081 082 083 084 085 086 087 088 089"
+ "090 091 092 093 094 095 096 097 098 099"
+ "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 146 147 148 149"
+ "150 151 152 153 154 155 156 157 158 159"
+ "160 161 162 163 164 165 166 167 168 169"
+ "170 171 172 173 174 175 176 177 178 179"
+ "180 181 182 183 184 185 186 187 188 189"
+ "190 191 192 193 194 195 196 197 198 199"
+ "200 201 202 203 204 205 206 207 208 209"
+ "210 211 212 213 214 215 216 217 218 219"
+ "220 221 222 223 224 225 226 227 228 229"
+ "230 231 232 233 234 235 236 237 238 239"
+ "240 241 242 243 244 245 246 247 248 249"
+ "250 251 252 253 254 255 256 257 258 259"
+ "260 261 262 263 264 265 266 267 268 269"
+ "270 271 272 273 274 275 276 277 278 279"
+ "280 281 282 283 284 285 286 287 288 289"
+ "290 291 292 293 294 295 296 297 298 299"
+ "300 301 302 303 304 305 306 307 308 309"
+ "310 311 312 313 314 315 316 317 318 319"
+ "320 321 322 323 324 325 326 327 328 329"
+ "330 331 332 333 334 335 336 337 338 339"
+ "340 341 342 343 344 345 346 347 348 349"
+ "350 351 352 353 354 355 356 357 358 359"
+ "360 361 362 363 364 365 366 367 368 369"
+ "370 371 372 373 374 375 376 377 378 379"
+ "380 381 382 383 384 385 386 387 388 389"
+ "390 391 392 393 394 395 396 397 398 399"
+ "400 401 402 403 404 405 406 407 408 409"
+ "410 411 412 413 414 415 416 417 418 419"
+ "420 421 422 423 424 425 426 427 428 429"
+ "430 431 432 433 434 435 436 437 438 439"
+ "440 441 442 443 444 445 446 447 448 449"
+ "450 451 452 453 454 455 456 457 458 459"
+ "460 461 462 463 464 465 466 467 468 469"
+ "470 471 472 473 474 475 476 477 478 479"
+ "480 481 482 483 484 485 486 487 488 489"
+ "490 491 492 493 494 495 496 497 498 499"
+ "500 501 502 503 504 505 506 507 508 509"
+ "510 511 512 513 514 515 516 517 518 519"
+ "520 521 522 523 524 525 526 527 528 529"
+ "530 531 532 533 534 535 536 537 538 539"
+ "540 541 542 543 544 545 546 547 548 549"
+ "550 551 552 553 554 555 556 557 558 559"
+ "560 561 562 563 564 565 566 567 568 569"
+ "570 571 572 573 574 575 576 577 578 579"
+ "580 581 582 583 584 585 586 587 588 589"
+ "590 591 592 593 594 595 596 597 598 599"
+ "600 601 602 603 604 605 606 607 608 609"
+ "610 611 612 613 614 615 616 617 618 619"
+ "620 621 622 623 624 625 626 627 628 629"
+ "630 631 632 633 634 635 636 637 638 639"
+ "640 641 642 643 644 645 646 647 648 649"
+ "650 651 652 653 654 655 656 657 658 659"
+ "660 661 662 663 664 665 666 667 668 669"
+ "670 671 672 673 674 675 676 677 678 679"
+ "680 681 682 683 684 685 686 687 688 689"
+ "690 691 692 693 694 695 696 697 698 699"
+ "700 701 702 703 704 705 706 707 708 709"
+ "710 711 712 713 714 715 716 717 718 719"
+ "720 721 722 723 724 725 726 727 728 729"
+ "730 731 732 733 734 735 736 737 738 739"
+ "740 741 742 743 744 745 746 747 748 749"
+ "750 751 752 753 754 755 756 757 758 759"
+ "760 761 762 763 764 765 766 767 768 769"
+ "770 771 772 773 774 775 776 777 778 779"
+ "780 781 782 783 784 785 786 787 788 789"
+ "790 791 792 793 794 795 796 797 798 799"
+ "800 801 802 803 804 805 806 807 808 809"
+ "810 811 812 813 814 815 816 817 818 819"
+ "820 821 822 823 824 825 826 827 828 829"
+ "830 831 832 833 834 835 836 837 838 839"
+ "840 841 842 843 844 845 846 847 848 849"
+ "850 851 852 853 854 855 856 857 858 859"
+ "860 861 862 863 864 865 866 867 868 869"
+ "870 871 872 873 874 875 876 877 878 879"
+ "880 881 882 883 884 885 886 887 888 889"
+ "890 891 892 893 894 895 896 897 898 899"
+ "900 901 902 903 904 905 906 907 908 909"
+ "910 911 912 913 914 915 916 917 918 919"
+ "920 921 922 923 924 925 926 927 928 929"
+ "930 931 932 933 934 935 936 937 938 939"
+ "940 941 942 943 944 945 946 947 948 949"
+ "950 951 952 953 954 955 956 957 958 959"
+ "960 961 962 963 964 965 966 967 968 969"
+ "970 971 972 973 974 975 976 977 978 979"
+ "980 981 982 983 984 985 986 987 988 989"
+ "990 991 992 993 994 995 996 997 998 999";
+--enable_result_log
+prepare long_query from "select ? as long_query";
+--disable_result_log
+execute long_query using @lparam;
+--enable_result_log
+set global general_log = off;
+select command_type, argument from mysql.general_log where thread_id = @thread_id;
+deallocate prepare long_query;
+set global general_log = @old_general_log_state;
+
+#
+# Bug #31700: thd->examined_row_count not incremented for 'const' type queries
+#
+SET @old_slow_log_state = @@global.slow_query_log;
+
+SET SESSION long_query_time = 0;
+SET GLOBAL slow_query_log = ON;
+FLUSH LOGS;
+TRUNCATE TABLE mysql.slow_log;
+
+# Let there be three columns, unique, non-unique, and non-indexed:
+CREATE TABLE t1 (f1 SERIAL,f2 INT, f3 INT, PRIMARY KEY(f1), KEY(f2));
+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);
+
+SELECT SQL_NO_CACHE 'Bug#31700 - SCAN',f1,f2,f3,SLEEP(1.1) FROM t1 WHERE f3=4;
+SELECT SQL_NO_CACHE 'Bug#31700 - KEY', f1,f2,f3,SLEEP(1.1) FROM t1 WHERE f2=3;
+SELECT SQL_NO_CACHE 'Bug#31700 - PK', f1,f2,f3,SLEEP(1.1) FROM t1 WHERE f1=2;
+
+--replace_column 1 TIMESTAMP
+SELECT start_time, rows_examined, rows_sent, sql_text FROM mysql.slow_log WHERE sql_text LIKE '%Bug#31700%' ORDER BY start_time;
+
+DROP TABLE t1;
+
+TRUNCATE TABLE mysql.slow_log;
+
+SET GLOBAL slow_query_log = @old_slow_log_state;
+SET SESSION long_query_time =@old_long_query_time;
diff --git a/mysql-test/t/lowercase_view.test b/mysql-test/t/lowercase_view.test
index e9cc26bec18..d6612b3e6b9 100644
--- a/mysql-test/t/lowercase_view.test
+++ b/mysql-test/t/lowercase_view.test
@@ -138,3 +138,26 @@ create view v1Aa as select AaA.col1 from t1Aa as AaA;
show create view v1AA;
drop view v1AA;
drop table t1Aa;
+
+
+#
+# Bug #31562: HAVING and lower case
+#
+
+CREATE TABLE t1 (a int, b int);
+
+select X.a from t1 AS X group by X.b having (X.a = 1);
+select X.a from t1 AS X group by X.b having (x.a = 1);
+select X.a from t1 AS X group by X.b having (x.b = 1);
+
+CREATE OR REPLACE VIEW v1 AS
+select X.a from t1 AS X group by X.b having (X.a = 1);
+
+SHOW CREATE VIEW v1;
+
+SELECT * FROM v1;
+
+DROP VIEW v1;
+DROP TABLE t1;
+
+--echo End of 5.0 tests.
diff --git a/mysql-test/t/merge-big.test b/mysql-test/t/merge-big.test
new file mode 100644
index 00000000000..b687973c9d1
--- /dev/null
+++ b/mysql-test/t/merge-big.test
@@ -0,0 +1,82 @@
+#
+# Test of MERGE tables with multisession and many waits.
+#
+# This test takes rather long time so let us run it only in --big-test mode
+--source include/big_test.inc
+# We use some debug-only features in this test
+--source include/have_debug.inc
+# We use INFORMATION_SCHEMA.PROCESSLIST in this test
+--source include/not_embedded.inc
+
+--disable_warnings
+drop table if exists t1,t2,t3,t4,t5,t6;
+--enable_warnings
+
+--echo #
+--echo # Bug#26379 - Combination of FLUSH TABLE and REPAIR TABLE
+--echo # corrupts a MERGE table
+--echo # Problem #3
+--echo #
+# Two FLUSH TABLES within a LOCK TABLES segment could invalidate the lock.
+# This did *not* require a MERGE table.
+#
+# To increase reproducibility it was necessary to enter a sleep of 2
+# seconds at the end of wait_for_tables() after unlock of LOCK_open. In
+# 5.0 and 5.1 the sleep must be inserted in open_and_lock_tables() after
+# open_tables() instead. wait_for_tables() is not used in this case. The
+# problem was that FLUSH TABLES releases LOCK_open while having unlocked
+# and closed all tables. When this happened while a thread was in the
+# loop in mysql_lock_tables() right after wait_for_tables()
+# (open_tables()) and before retrying to lock, the thread got the lock.
+# And it did not notice that the table needed a refresh after the
+# [re-]open. So it executed its statement on the table.
+#
+# The first FLUSH TABLES kicked the INSERT out of thr_multi_lock() and
+# let it wait in wait_for_tables() (open_table()). The second FLUSH
+# TABLES must happen while the INSERT was on its way from
+# wait_for_tables() (open_table()) to the next call of thr_multi_lock().
+# This needed to be supported by a sleep to make it repeatable.
+#
+CREATE TABLE t1 (c1 INT) ENGINE= MyISAM;
+LOCK TABLE t1 WRITE;
+#SELECT NOW();
+ --echo # connection con1
+ connect (con1,localhost,root,,);
+ let $con1_id= `SELECT CONNECTION_ID()`;
+ SET SESSION debug="+d,sleep_open_and_lock_after_open";
+ send INSERT INTO t1 VALUES (1);
+--echo # connection default
+connection default;
+--echo # Let INSERT go into thr_multi_lock().
+#--sleep 8
+#SELECT ID,STATE,INFO FROM INFORMATION_SCHEMA.PROCESSLIST;
+let $wait_condition= SELECT 1 FROM INFORMATION_SCHEMA.PROCESSLIST
+ WHERE ID = $con1_id AND STATE = 'Locked';
+--source include/wait_condition.inc
+#SELECT NOW();
+--echo # Kick INSERT out of thr_multi_lock().
+FLUSH TABLES;
+#SELECT NOW();
+--echo # Let INSERT go through open_tables() where it sleeps.
+#--sleep 8
+#SELECT ID,STATE,INFO FROM INFORMATION_SCHEMA.PROCESSLIST;
+let $wait_condition= SELECT 1 FROM INFORMATION_SCHEMA.PROCESSLIST
+ WHERE ID = $con1_id AND STATE = 'Waiting for table';
+--source include/wait_condition.inc
+#SELECT NOW();
+--echo # Unlock and close table and wait for con1 to close too.
+FLUSH TABLES;
+#SELECT NOW();
+--echo # This should give no result.
+SELECT * FROM t1;
+#SELECT NOW();
+UNLOCK TABLES;
+ --echo # connection con1
+ connection con1;
+ reap;
+ SET SESSION debug="-d,sleep_open_and_lock_after_open";
+ disconnect con1;
+--echo # connection default
+connection default;
+DROP TABLE t1;
+
diff --git a/mysql-test/t/merge.test b/mysql-test/t/merge.test
index fd479276b3b..a4602a3b82a 100644
--- a/mysql-test/t/merge.test
+++ b/mysql-test/t/merge.test
@@ -1,5 +1,5 @@
#
-# test of MERGE TABLES
+# Test of MERGE TABLES
#
--disable_warnings
@@ -221,6 +221,7 @@ create table t2 (a int not null);
insert into t1 values (1);
insert into t2 values (2);
create temporary table t3 (a int not null) ENGINE=MERGE UNION=(t1,t2);
+--error ER_WRONG_MRG_TABLE
select * from t3;
create temporary table t4 (a int not null);
create temporary table t5 (a int not null);
@@ -229,6 +230,58 @@ insert into t5 values (2);
create temporary table t6 (a int not null) ENGINE=MERGE UNION=(t4,t5);
select * from t6;
drop table t6, t3, t1, t2, t4, t5;
+#
+# Bug#19627 - temporary merge table locking
+# MERGE table and its children must match in temporary type.
+# Forbid temporary merge on non-temporary children: shown above.
+# Forbid non-temporary merge on temporary children:
+create temporary table t1 (a int not null);
+create temporary table t2 (a int not null);
+insert into t1 values (1);
+insert into t2 values (2);
+create table t3 (a int not null) ENGINE=MERGE UNION=(t1,t2);
+--error ER_WRONG_MRG_TABLE
+select * from t3;
+drop table t3, t2, t1;
+# Forbid children mismatch in temporary:
+create table t1 (a int not null);
+create temporary table t2 (a int not null);
+insert into t1 values (1);
+insert into t2 values (2);
+create table t3 (a int not null) ENGINE=MERGE UNION=(t1,t2);
+--error ER_WRONG_MRG_TABLE
+select * from t3;
+drop table t3;
+create temporary table t3 (a int not null) ENGINE=MERGE UNION=(t1,t2);
+--error ER_WRONG_MRG_TABLE
+select * from t3;
+drop table t3, t2, t1;
+--echo # CREATE...SELECT is not implemented for MERGE tables.
+CREATE TEMPORARY TABLE t1 (c1 INT NOT NULL);
+CREATE TEMPORARY TABLE t2 (c1 INT NOT NULL);
+CREATE TABLE t3 (c1 INT NOT NULL);
+INSERT INTO t3 VALUES (3), (33);
+LOCK TABLES t3 READ;
+--error ER_WRONG_OBJECT
+CREATE TEMPORARY TABLE t4 (c1 INT NOT NULL) ENGINE=MERGE UNION=(t1,t2)
+ INSERT_METHOD=LAST SELECT * FROM t3;
+--error ER_TABLE_NOT_LOCKED
+SELECT * FROM t4;
+UNLOCK TABLES;
+CREATE TEMPORARY TABLE t4 (c1 INT NOT NULL) ENGINE=MERGE UNION=(t1,t2)
+ INSERT_METHOD=LAST;
+INSERT INTO t4 SELECT * FROM t3;
+--echo # Alter temporary MERGE table.
+ALTER TABLE t4 UNION=(t1);
+LOCK TABLES t4 WRITE;
+--echo # Alter temporary MERGE table under LOCk tables.
+ALTER TABLE t4 UNION=(t1,t2);
+UNLOCK TABLES;
+--echo # MERGE table and function.
+CREATE FUNCTION f1 () RETURNS INT RETURN (SELECT max(c1) FROM t3);
+SELECT * FROM t4 WHERE c1 < f1();
+DROP FUNCTION f1;
+DROP TABLE t4, t3, t2, t1;
#
# testing merge::records_in_range and optimizer
@@ -284,11 +337,11 @@ create table t1 (a int);
create table t2 (a int);
insert into t1 values (0);
insert into t2 values (1);
---error 1093
+--error ER_WRONG_OBJECT
create table t3 engine=merge union=(t1, t2) select * from t1;
---error 1093
+--error ER_WRONG_OBJECT
create table t3 engine=merge union=(t1, t2) select * from t2;
---error 1093
+--error ER_WRONG_OBJECT
create table t3 engine=merge union=(t1, t2) select (select max(a) from t2);
drop table t1, t2;
@@ -403,7 +456,7 @@ CREATE TABLE t2(a INT) ENGINE=MERGE UNION=(t1);
SELECT * FROM t2;
DROP TABLE t1, t2;
CREATE TABLE t2(a INT) ENGINE=MERGE UNION=(t3);
---error 1168
+--error ER_NO_SUCH_TABLE
SELECT * FROM t2;
DROP TABLE t2;
@@ -495,11 +548,11 @@ drop table t1;
# CREATE TABLE fails
#
CREATE TABLE tm1(a INT) ENGINE=MERGE UNION=(t1, t2);
---error 1168
+--error ER_NO_SUCH_TABLE
SELECT * FROM tm1;
CHECK TABLE tm1;
CREATE TABLE t1(a INT);
---error 1168
+--error ER_NO_SUCH_TABLE
SELECT * FROM tm1;
CHECK TABLE tm1;
CREATE TABLE t2(a BLOB);
@@ -511,4 +564,833 @@ SELECT * FROM tm1;
CHECK TABLE tm1;
DROP TABLE tm1, t1, t2;
+#
+# Bug#15522 - create ... select and with merge tables
+#
+# This was fixed together with Bug#20662 (Infinite loop in CREATE TABLE
+# IF NOT EXISTS ... SELECT with locked tables).
+# The new behavior for MERGE tables is consistent with the
+# CREATE TABLE SELECT behavior for ordinary tables.
+#
+CREATE TABLE t1(c1 INT);
+CREATE TABLE t2 (c1 INT) ENGINE=MERGE UNION=(t1) INSERT_METHOD=FIRST;
+--error ER_UPDATE_TABLE_USED
+CREATE TABLE IF NOT EXISTS t1 SELECT * FROM t2;
+DROP TABLE t1, t2;
+
+#
+# Bug #28837: MyISAM storage engine error (134) doing delete with self-join
+#
+
+CREATE TABLE t1 (id INT NOT NULL, ref INT NOT NULL, INDEX (id)) ENGINE=MyISAM;
+CREATE TABLE t2 LIKE t1;
+
+INSERT INTO t2 (id, ref) VALUES (1,3), (2,1), (3,2), (4,5), (4,4);
+INSERT INTO t1 SELECT * FROM t2;
+INSERT INTO t1 SELECT * FROM t2;
+
+CREATE TABLE t3 (id INT NOT NULL, ref INT NOT NULL, INDEX (id)) ENGINE=MERGE
+ UNION(t1);
+
+SELECT * FROM t3 AS a INNER JOIN t3 AS b USING (id) WHERE a.ref < b.ref;
+SELECT * FROM t3;
+DELETE FROM a USING t3 AS a INNER JOIN t3 AS b USING (id) WHERE a.ref < b.ref;
+SELECT * FROM t3;
+
+DROP TABLE t1, t2, t3;
+
+#
+# BUG#28248 - mysqldump results with MERGE ... UNION=() cannot be executed
+#
+CREATE TABLE t1(a INT);
+CREATE TABLE m1(a INT) ENGINE=MERGE;
+SHOW CREATE TABLE m1;
+DROP TABLE m1;
+CREATE TABLE m1(a INT) ENGINE=MERGE UNION=();
+SHOW CREATE TABLE m1;
+ALTER TABLE m1 UNION=(t1);
+ALTER TABLE m1 UNION=();
+SHOW CREATE TABLE m1;
+DROP TABLE t1, m1;
+
--echo End of 5.0 tests
+
+#
+# Bug #8306: TRUNCATE leads to index corruption
+#
+create table t1 (c1 int, index(c1));
+create table t2 (c1 int, index(c1)) engine=merge union=(t1);
+insert into t1 values (1);
+# Close all tables.
+flush tables;
+# Open t2 and (implicitly) t1.
+select * from t2;
+# Truncate after flush works (unless another threads reopens t2 in between).
+flush tables;
+truncate table t1;
+insert into t1 values (1);
+# Close all tables.
+flush tables;
+# Open t2 and (implicitly) t1.
+select * from t2;
+# Truncate t1, wich was not recognized as open without the bugfix.
+# After fix for Bug#8306 and before fix for Bug#26379,
+# it should fail with a table-in-use error message, otherwise succeed.
+truncate table t1;
+# The insert used to fail on the crashed table.
+insert into t1 values (1);
+drop table t1,t2;
+--echo #
+--echo # Extra tests for TRUNCATE.
+--echo #
+--echo # Truncate MERGE table.
+CREATE TABLE t1 (c1 INT, INDEX(c1));
+CREATE TABLE t2 (c1 INT, INDEX(c1));
+CREATE TABLE t3 (c1 INT, INDEX(c1)) ENGINE=MRG_MYISAM UNION=(t1,t2);
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (2);
+SELECT * FROM t3;
+TRUNCATE TABLE t3;
+SELECT * FROM t3;
+--echo #
+--echo # Truncate child table.
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (2);
+TRUNCATE TABLE t1;
+SELECT * FROM t3;
+--echo #
+--echo # Truncate MERGE table under locked tables.
+LOCK TABLE t1 WRITE, t2 WRITE, t3 WRITE;
+INSERT INTO t1 VALUES (1);
+--error ER_LOCK_OR_ACTIVE_TRANSACTION
+TRUNCATE TABLE t3;
+SELECT * FROM t3;
+--echo #
+--echo # Truncate child table under locked tables.
+--error ER_LOCK_OR_ACTIVE_TRANSACTION
+TRUNCATE TABLE t1;
+SELECT * FROM t3;
+UNLOCK TABLES;
+DROP TABLE t1, t2, t3;
+--echo #
+--echo # Truncate temporary MERGE table.
+CREATE TEMPORARY TABLE t1 (c1 INT, INDEX(c1));
+CREATE TEMPORARY TABLE t2 (c1 INT, INDEX(c1));
+CREATE TEMPORARY TABLE t3 (c1 INT, INDEX(c1)) ENGINE=MRG_MYISAM UNION=(t1,t2);
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (2);
+SELECT * FROM t3;
+TRUNCATE TABLE t3;
+SELECT * FROM t3;
+--echo #
+--echo # Truncate temporary child table.
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (2);
+TRUNCATE TABLE t1;
+SELECT * FROM t3;
+--echo #
+--echo # Truncate temporary MERGE table under locked tables.
+INSERT INTO t1 VALUES (1);
+CREATE TABLE t4 (c1 INT, INDEX(c1));
+LOCK TABLE t4 WRITE;
+--error ER_LOCK_OR_ACTIVE_TRANSACTION
+TRUNCATE TABLE t3;
+SELECT * FROM t3;
+--echo #
+--echo # Truncate temporary child table under locked tables.
+--error ER_LOCK_OR_ACTIVE_TRANSACTION
+TRUNCATE TABLE t1;
+SELECT * FROM t3;
+UNLOCK TABLES;
+DROP TABLE t1, t2, t3, t4;
+
+#
+# Bug#26379 - Combination of FLUSH TABLE and REPAIR TABLE corrupts a MERGE table
+# Preparation
+connect (con1,localhost,root,,);
+connect (con2,localhost,root,,);
+connection default;
+#
+# Bug#26379 - Combination of FLUSH TABLE and REPAIR TABLE corrupts a MERGE table
+# Problem #1
+# A thread trying to lock a MERGE table performed busy waiting while
+# REPAIR TABLE or a similar table administration task was ongoing on one or
+# more of its MyISAM tables.
+# To allow for observability it was necessary to enter a multi-second sleep
+# in mysql_admin_table() after remove_table_from_cache(), which comes after
+# mysql_abort_lock(). The sleep faked a long running operation. One could
+# watch a high CPU load during the sleep time.
+# The problem was that mysql_abort_lock() upgrades the write lock to
+# TL_WRITE_ONLY. This lock type persisted until the final unlock at the end
+# of the administration task. The effect of TL_WRITE_ONLY is to reject any
+# attempt to lock the table. The trying thread must close the table and wait
+# until it is no longer used. Unfortunately there is no way to detect that
+# one of the MyISAM tables of a MERGE table is in use. When trying to lock
+# the MERGE table, all MyISAM tables are locked. If one fails on
+# TL_WRITE_ONLY, all locks are aborted and wait_for_tables() is entered.
+# But this doesn't see the MERGE table as used, so it seems appropriate to
+# retry a lock...
+#
+CREATE TABLE t1 (c1 INT) ENGINE= MyISAM;
+CREATE TABLE t2 (c1 INT) ENGINE= MRG_MYISAM UNION= (t1) INSERT_METHOD= LAST;
+send REPAIR TABLE t1;
+ connection con1;
+ sleep 1; # let repair run into its sleep
+ INSERT INTO t2 VALUES (1);
+connection default;
+reap;
+DROP TABLE t1, t2;
+#
+# Bug#26379 - Combination of FLUSH TABLE and REPAIR TABLE corrupts a MERGE table
+# Problem #2
+# A thread trying to lock a MERGE table performed busy waiting until all
+# threads that did REPAIR TABLE or similar table administration tasks on
+# one or more of its MyISAM tables in LOCK TABLES segments did
+# UNLOCK TABLES.
+# The difference against problem #1 is that the busy waiting took place
+# *after* the administration task. It was terminated by UNLOCK TABLES only.
+#
+# This is the same test case as for
+# Bug#26867 - LOCK TABLES + REPAIR + merge table result in memory/cpu hogging
+#
+#
+CREATE TABLE t1 (c1 INT) ENGINE= MyISAM;
+CREATE TABLE t2 (c1 INT) ENGINE= MRG_MYISAM UNION= (t1) INSERT_METHOD= LAST;
+LOCK TABLE t1 WRITE;
+ connection con1;
+ send INSERT INTO t2 VALUES (1);
+connection default;
+sleep 1; # Let INSERT go into thr_multi_lock().
+REPAIR TABLE t1;
+sleep 2; # con1 performs busy waiting during this sleep.
+UNLOCK TABLES;
+ connection con1;
+ reap;
+connection default;
+DROP TABLE t1, t2;
+#
+# Bug#26379 - Combination of FLUSH TABLE and REPAIR TABLE corrupts a MERGE table
+# Problem #3
+# Two FLUSH TABLES within a LOCK TABLES segment could invalidate the lock.
+# This did *not* require a MERGE table.
+# To increase reproducibility it was necessary to enter a sleep of 2 seconds
+# at the end of wait_for_tables() after unlock of LOCK_open. In 5.0 and 5.1
+# the sleep must be inserted in open_and_lock_tables() after open_tables()
+# instead. wait_for_tables() is not used in this case.
+# The problem was that FLUSH TABLES releases LOCK_open while having unlocked
+# and closed all tables. When this happened while a thread was in the loop in
+# mysql_lock_tables() right after wait_for_tables() and before retrying to
+# lock, the thread got the lock. (Translate to similar code places in 5.0
+# and 5.1). And it did not notice that the table needed a refresh. So it
+# executed its statement on the table.
+# The first FLUSH TABLES kicked the INSERT out of thr_multi_lock() and let
+# it wait in wait_for_tables(). (open_table() in 5.0 and 5.1). The second
+# FLUSH TABLES must happen while the INSERT was on its way from
+# wait_for_tables() to the next call of thr_multi_lock(). This needed to be
+# supported by a sleep to make it repeatable.
+#
+CREATE TABLE t1 (c1 INT) ENGINE= MyISAM;
+LOCK TABLE t1 WRITE;
+ connection con1;
+ send INSERT INTO t1 VALUES (1);
+connection default;
+sleep 1; # Let INSERT go into thr_multi_lock().
+FLUSH TABLES;
+sleep 1; # Let INSERT go through wait_for_tables() where it sleeps.
+FLUSH TABLES;
+# This should give no result. But it will with sleep(2) at the right place.
+SELECT * FROM t1;
+UNLOCK TABLES;
+ connection con1;
+ reap;
+connection default;
+DROP TABLE t1;
+#
+# Bug#26379 - Combination of FLUSH TABLE and REPAIR TABLE corrupts a MERGE table
+# Cleanup
+disconnect con1;
+disconnect con2;
+#
+--echo #
+--echo # Extra tests for Bug#26379 - Combination of FLUSH TABLE and
+--echo # REPAIR TABLE corrupts a MERGE table
+#
+--echo #
+--echo # CREATE ... SELECT is disabled for MERGE tables.
+--echo #
+CREATE TABLE t1(c1 INT);
+INSERT INTO t1 VALUES (1);
+CREATE TABLE t2 (c1 INT) ENGINE=MRG_MYISAM UNION=(t1) INSERT_METHOD=LAST;
+--error ER_OPEN_AS_READONLY
+CREATE TABLE t3 ENGINE=MRG_MYISAM INSERT_METHOD=LAST SELECT * FROM t2;
+--error ER_NO_SUCH_TABLE
+SHOW CREATE TABLE t3;
+--error ER_WRONG_OBJECT
+CREATE TABLE t3 ENGINE=MRG_MYISAM UNION=(t1) INSERT_METHOD=LAST
+ SELECT * FROM t2;
+--error ER_NO_SUCH_TABLE
+SHOW CREATE TABLE t3;
+DROP TABLE t1, t2;
+#
+--echo #
+--echo # CREATE ... LIKE
+--echo #
+--echo # 1. Create like.
+CREATE TABLE t1 (c1 INT);
+CREATE TABLE t2 (c1 INT);
+CREATE TABLE t3 (c1 INT) ENGINE=MRG_MYISAM UNION=(t1,t2)
+ INSERT_METHOD=LAST;
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (2);
+INSERT INTO t3 VALUES (3);
+CREATE TABLE t4 LIKE t3;
+SHOW CREATE TABLE t4;
+--error ER_OPEN_AS_READONLY
+INSERT INTO t4 VALUES (4);
+DROP TABLE t4;
+--echo #
+--echo # 1. Create like with locked tables.
+LOCK TABLES t3 WRITE, t2 WRITE, t1 WRITE;
+CREATE TABLE t4 LIKE t3;
+--error ER_TABLE_NOT_LOCKED
+SHOW CREATE TABLE t4;
+--error ER_TABLE_NOT_LOCKED
+INSERT INTO t4 VALUES (4);
+UNLOCK TABLES;
+SHOW CREATE TABLE t4;
+--error ER_OPEN_AS_READONLY
+INSERT INTO t4 VALUES (4);
+DROP TABLE t4;
+#
+--echo #
+--echo # Rename child.
+--echo #
+--echo # 1. Normal rename of non-MERGE table.
+CREATE TABLE t4 (c1 INT);
+INSERT INTO t4 VALUES (4);
+SELECT * FROM t4 ORDER BY c1;
+RENAME TABLE t4 TO t5;
+SELECT * FROM t5 ORDER BY c1;
+RENAME TABLE t5 TO t4;
+SELECT * FROM t4 ORDER BY c1;
+DROP TABLE t4;
+--echo #
+--echo # 2. Normal rename.
+SELECT * FROM t3 ORDER BY c1;
+RENAME TABLE t2 TO t5;
+--error ER_NO_SUCH_TABLE
+SELECT * FROM t3 ORDER BY c1;
+RENAME TABLE t5 TO t2;
+SELECT * FROM t3 ORDER BY c1;
+--echo #
+--echo # 3. Normal rename with locked tables.
+LOCK TABLES t1 WRITE, t2 WRITE, t3 WRITE;
+SELECT * FROM t3 ORDER BY c1;
+--error ER_LOCK_OR_ACTIVE_TRANSACTION
+RENAME TABLE t2 TO t5;
+SELECT * FROM t3 ORDER BY c1;
+--error ER_LOCK_OR_ACTIVE_TRANSACTION
+RENAME TABLE t5 TO t2;
+SELECT * FROM t3 ORDER BY c1;
+UNLOCK TABLES;
+--echo #
+--echo # 4. Alter table rename.
+ALTER TABLE t2 RENAME TO t5;
+--error ER_NO_SUCH_TABLE
+SELECT * FROM t3 ORDER BY c1;
+ALTER TABLE t5 RENAME TO t2;
+SELECT * FROM t3 ORDER BY c1;
+--echo #
+--echo # 5. Alter table rename with locked tables.
+LOCK TABLES t1 WRITE, t2 WRITE, t3 WRITE;
+ALTER TABLE t2 RENAME TO t5;
+--error ER_TABLE_NOT_LOCKED
+SELECT * FROM t3 ORDER BY c1;
+--error ER_TABLE_NOT_LOCKED
+ALTER TABLE t5 RENAME TO t2;
+UNLOCK TABLES;
+ALTER TABLE t5 RENAME TO t2;
+SELECT * FROM t3 ORDER BY c1;
+#
+--echo #
+--echo # Rename parent.
+--echo #
+--echo # 1. Normal rename with locked tables.
+LOCK TABLES t1 WRITE, t2 WRITE, t3 WRITE;
+SELECT * FROM t3 ORDER BY c1;
+--error ER_LOCK_OR_ACTIVE_TRANSACTION
+RENAME TABLE t3 TO t5;
+SELECT * FROM t3 ORDER BY c1;
+--error ER_LOCK_OR_ACTIVE_TRANSACTION
+RENAME TABLE t5 TO t3;
+SELECT * FROM t3 ORDER BY c1;
+--echo #
+--echo # 5. Alter table rename with locked tables.
+ALTER TABLE t3 RENAME TO t5;
+--error ER_TABLE_NOT_LOCKED
+SELECT * FROM t5 ORDER BY c1;
+--error ER_TABLE_NOT_LOCKED
+ALTER TABLE t5 RENAME TO t3;
+UNLOCK TABLES;
+ALTER TABLE t5 RENAME TO t3;
+SELECT * FROM t3 ORDER BY c1;
+DROP TABLE t1, t2, t3;
+#
+--echo #
+--echo # Drop locked tables.
+--echo #
+--echo # 1. Drop parent.
+CREATE TABLE t1 (c1 INT, INDEX(c1));
+CREATE TABLE t2 (c1 INT, INDEX(c1)) ENGINE=MRG_MYISAM UNION=(t1)
+ INSERT_METHOD=LAST;
+LOCK TABLES t1 WRITE, t2 WRITE;
+INSERT INTO t1 VALUES (1);
+DROP TABLE t2;
+--error ER_TABLE_NOT_LOCKED
+SELECT * FROM t2;
+SELECT * FROM t1;
+UNLOCK TABLES;
+--echo # 2. Drop child.
+CREATE TABLE t2 (c1 INT, INDEX(c1)) ENGINE=MRG_MYISAM UNION=(t1)
+ INSERT_METHOD=LAST;
+LOCK TABLES t1 WRITE, t2 WRITE;
+INSERT INTO t1 VALUES (1);
+DROP TABLE t1;
+--error ER_NO_SUCH_TABLE
+SELECT * FROM t2;
+--error ER_NO_SUCH_TABLE
+SELECT * FROM t1;
+UNLOCK TABLES;
+DROP TABLE t2;
+#
+--echo #
+--echo # ALTER TABLE. Change child list.
+--echo #
+CREATE TABLE t1 (c1 INT, INDEX(c1));
+CREATE TABLE t2 (c1 INT, INDEX(c1));
+CREATE TABLE t3 (c1 INT, INDEX(c1));
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (2);
+INSERT INTO t3 VALUES (3);
+CREATE TABLE t4 (c1 INT, INDEX(c1)) ENGINE=MRG_MYISAM UNION=(t3,t2)
+ INSERT_METHOD=LAST;
+--echo # Shrink child list.
+ALTER TABLE t4 UNION=(t3);
+SHOW CREATE TABLE t4;
+SELECT * FROM t4 ORDER BY c1;
+--echo # Extend child list.
+ALTER TABLE t4 UNION=(t3,t2);
+SHOW CREATE TABLE t4;
+SELECT * FROM t4 ORDER BY c1;
+#
+--echo #
+--echo # ALTER TABLE under LOCK TABLES. Change child list.
+--echo #
+LOCK TABLES t4 WRITE, t3 WRITE, t2 WRITE;
+--echo # Shrink child list.
+--error ER_LOCK_OR_ACTIVE_TRANSACTION
+ALTER TABLE t4 UNION=(t3);
+--echo # Extend child list within locked tables.
+--error ER_LOCK_OR_ACTIVE_TRANSACTION
+ALTER TABLE t4 UNION=(t3,t2);
+--echo # Extend child list beyond locked tables.
+--error ER_LOCK_OR_ACTIVE_TRANSACTION
+ALTER TABLE t4 UNION=(t3,t2,t1);
+SHOW CREATE TABLE t4;
+SELECT * FROM t4 ORDER BY c1;
+UNLOCK TABLES;
+DROP TABLE t4;
+#
+--echo #
+--echo # ALTER TABLE under LOCK TABLES. Grave change, table re-creation.
+--echo #
+CREATE TABLE t4 (c1 INT, INDEX(c1)) ENGINE=MRG_MYISAM UNION=(t1,t2,t3)
+ INSERT_METHOD=LAST;
+--echo # Lock parent first and then children.
+LOCK TABLES t4 WRITE, t3 WRITE, t2 WRITE, t1 WRITE;
+ALTER TABLE t4 DROP INDEX c1, ADD UNIQUE INDEX (c1);
+SELECT * FROM t4 ORDER BY c1;
+ALTER TABLE t2 DROP INDEX c1, ADD UNIQUE INDEX (c1);
+SELECT * FROM t4 ORDER BY c1;
+UNLOCK TABLES;
+--echo # Lock children first and then parent.
+LOCK TABLES t1 WRITE, t2 WRITE, t3 WRITE, t4 WRITE;
+ALTER TABLE t4 DROP INDEX c1, ADD UNIQUE INDEX (c1);
+SELECT * FROM t4 ORDER BY c1;
+ALTER TABLE t2 DROP INDEX c1, ADD UNIQUE INDEX (c1);
+SELECT * FROM t4 ORDER BY c1;
+UNLOCK TABLES;
+--echo # Lock parent between children.
+LOCK TABLES t3 WRITE, t2 WRITE, t4 WRITE, t1 WRITE;
+ALTER TABLE t4 DROP INDEX c1, ADD UNIQUE INDEX (c1);
+SELECT * FROM t4 ORDER BY c1;
+ALTER TABLE t2 DROP INDEX c1, ADD UNIQUE INDEX (c1);
+SELECT * FROM t4 ORDER BY c1;
+UNLOCK TABLES;
+DROP TABLE t1, t2, t3, t4;
+#
+--echo #
+--echo # ALTER TABLE under LOCK TABLES. Simple change, no re-creation.
+--echo #
+CREATE TABLE t1 (c1 INT);
+CREATE TABLE t2 (c1 INT);
+CREATE TABLE t3 (c1 INT);
+CREATE TABLE t4 (c1 INT) ENGINE=MRG_MYISAM UNION=(t1,t2,t3)
+ INSERT_METHOD=LAST;
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (2);
+INSERT INTO t3 VALUES (3);
+--echo # Lock parent first and then children.
+LOCK TABLES t4 WRITE, t3 WRITE, t2 WRITE, t1 WRITE;
+ALTER TABLE t4 ALTER COLUMN c1 SET DEFAULT 44;
+SELECT * FROM t4 ORDER BY c1;
+ALTER TABLE t2 ALTER COLUMN c1 SET DEFAULT 22;
+SELECT * FROM t4 ORDER BY c1;
+UNLOCK TABLES;
+--echo # Lock children first and then parent.
+LOCK TABLES t1 WRITE, t2 WRITE, t3 WRITE, t4 WRITE;
+ALTER TABLE t4 ALTER COLUMN c1 SET DEFAULT 44;
+SELECT * FROM t4 ORDER BY c1;
+ALTER TABLE t2 ALTER COLUMN c1 SET DEFAULT 22;
+SELECT * FROM t4 ORDER BY c1;
+UNLOCK TABLES;
+--echo # Lock parent between children.
+LOCK TABLES t3 WRITE, t2 WRITE, t4 WRITE, t1 WRITE;
+ALTER TABLE t4 ALTER COLUMN c1 SET DEFAULT 44;
+SELECT * FROM t4 ORDER BY c1;
+ALTER TABLE t2 ALTER COLUMN c1 SET DEFAULT 22;
+SELECT * FROM t4 ORDER BY c1;
+UNLOCK TABLES;
+#
+--echo #
+--echo # FLUSH TABLE under LOCK TABLES.
+--echo #
+--echo # Lock parent first and then children.
+LOCK TABLES t4 WRITE, t3 WRITE, t2 WRITE, t1 WRITE;
+FLUSH TABLE t4;
+SELECT * FROM t4 ORDER BY c1;
+FLUSH TABLE t2;
+SELECT * FROM t4 ORDER BY c1;
+FLUSH TABLES;
+SELECT * FROM t4 ORDER BY c1;
+UNLOCK TABLES;
+--echo # Lock children first and then parent.
+LOCK TABLES t1 WRITE, t2 WRITE, t3 WRITE, t4 WRITE;
+FLUSH TABLE t4;
+SELECT * FROM t4 ORDER BY c1;
+FLUSH TABLE t2;
+SELECT * FROM t4 ORDER BY c1;
+FLUSH TABLES;
+SELECT * FROM t4 ORDER BY c1;
+UNLOCK TABLES;
+--echo # Lock parent between children.
+LOCK TABLES t3 WRITE, t2 WRITE, t4 WRITE, t1 WRITE;
+FLUSH TABLE t4;
+SELECT * FROM t4 ORDER BY c1;
+FLUSH TABLE t2;
+SELECT * FROM t4 ORDER BY c1;
+FLUSH TABLES;
+SELECT * FROM t4 ORDER BY c1;
+UNLOCK TABLES;
+#
+--echo #
+--echo # Triggers
+--echo #
+--echo # Trigger on parent
+DELETE FROM t4 WHERE c1 = 4;
+CREATE TRIGGER t4_ai AFTER INSERT ON t4 FOR EACH ROW SET @a=1;
+SET @a=0;
+INSERT INTO t4 VALUES (4);
+SELECT @a;
+SELECT * FROM t4 ORDER BY c1;
+DROP TRIGGER t4_ai;
+--echo # Trigger on parent under LOCK TABLES
+LOCK TABLES t3 WRITE, t2 WRITE, t4 WRITE, t1 WRITE;
+CREATE TRIGGER t4_ai AFTER INSERT ON t4 FOR EACH ROW SET @a=1;
+SET @a=0;
+INSERT INTO t4 VALUES (4);
+SELECT @a;
+SELECT * FROM t4 ORDER BY c1;
+DROP TRIGGER t4_ai;
+UNLOCK TABLES;
+--echo #
+--echo # Trigger on child
+DELETE FROM t4 WHERE c1 = 4;
+CREATE TRIGGER t3_ai AFTER INSERT ON t3 FOR EACH ROW SET @a=1;
+SET @a=0;
+INSERT INTO t4 VALUES (4);
+SELECT @a;
+INSERT INTO t3 VALUES (33);
+SELECT @a;
+SELECT * FROM t4 ORDER BY c1;
+DROP TRIGGER t3_ai;
+--echo # Trigger on child under LOCK TABLES
+LOCK TABLES t3 WRITE, t2 WRITE, t4 WRITE, t1 WRITE;
+CREATE TRIGGER t3_ai AFTER INSERT ON t3 FOR EACH ROW SET @a=1;
+SET @a=0;
+INSERT INTO t4 VALUES (4);
+SELECT @a;
+INSERT INTO t3 VALUES (33);
+SELECT @a;
+SELECT * FROM t4 ORDER BY c1;
+DELETE FROM t4 WHERE c1 = 33;
+DROP TRIGGER t3_ai;
+--echo #
+--echo # Trigger with table use on child
+DELETE FROM t4 WHERE c1 = 4;
+CREATE TRIGGER t3_ai AFTER INSERT ON t3 FOR EACH ROW INSERT INTO t2 VALUES(22);
+INSERT INTO t4 VALUES (4);
+SELECT * FROM t4 ORDER BY c1;
+INSERT INTO t3 VALUES (33);
+SELECT * FROM t4 ORDER BY c1;
+DELETE FROM t4 WHERE c1 = 22;
+DELETE FROM t4 WHERE c1 = 33;
+DROP TRIGGER t3_ai;
+--echo # Trigger with table use on child under LOCK TABLES
+LOCK TABLES t3 WRITE, t2 WRITE, t4 WRITE, t1 WRITE;
+CREATE TRIGGER t3_ai AFTER INSERT ON t3 FOR EACH ROW INSERT INTO t2 VALUES(22);
+INSERT INTO t4 VALUES (4);
+SELECT * FROM t4 ORDER BY c1;
+INSERT INTO t3 VALUES (33);
+SELECT * FROM t4 ORDER BY c1;
+DROP TRIGGER t3_ai;
+DELETE FROM t4 WHERE c1 = 22;
+DELETE FROM t4 WHERE c1 = 33;
+UNLOCK TABLES;
+#
+--echo #
+--echo # Repair
+--echo #
+REPAIR TABLE t4;
+REPAIR TABLE t2;
+SELECT * FROM t4 ORDER BY c1;
+LOCK TABLES t3 WRITE, t2 WRITE, t4 WRITE, t1 WRITE;
+REPAIR TABLE t4;
+REPAIR TABLE t2;
+SELECT * FROM t4 ORDER BY c1;
+UNLOCK TABLES;
+#
+--echo #
+--echo # Optimize
+--echo #
+OPTIMIZE TABLE t4;
+OPTIMIZE TABLE t2;
+SELECT * FROM t4 ORDER BY c1;
+LOCK TABLES t3 WRITE, t2 WRITE, t4 WRITE, t1 WRITE;
+OPTIMIZE TABLE t4;
+OPTIMIZE TABLE t2;
+SELECT * FROM t4 ORDER BY c1;
+UNLOCK TABLES;
+#
+--echo #
+--echo # Checksum
+--echo #
+CHECKSUM TABLE t4;
+CHECKSUM TABLE t2;
+SELECT * FROM t4 ORDER BY c1;
+LOCK TABLES t3 WRITE, t2 WRITE, t4 WRITE, t1 WRITE;
+CHECKSUM TABLE t4;
+CHECKSUM TABLE t2;
+SELECT * FROM t4 ORDER BY c1;
+UNLOCK TABLES;
+#
+--echo #
+--echo # Insert delayed
+--echo #
+# See also Bug#26464 - insert delayed + update + merge = corruption
+# Succeeds in embedded server - is converted to normal insert
+# Fails in normal server, ps-protocol - not supported by engine
+# Fails in normal server, normal protocol - not a base table
+--error 0, ER_ILLEGAL_HA, ER_WRONG_OBJECT
+INSERT DELAYED INTO t4 VALUES(44);
+# Get rid of row in embedded server
+DELETE FROM t4 WHERE c1 = 44;
+INSERT DELAYED INTO t3 VALUES(33);
+ let $wait_cmd= SHOW STATUS LIKE 'Not_flushed_delayed_rows';
+ let $run= query_get_value($wait_cmd, Value, 1);
+ while ($run)
+ {
+ let $run= query_get_value($wait_cmd, Value, 1);
+ }
+SELECT * FROM t4 ORDER BY c1;
+LOCK TABLES t3 WRITE, t2 WRITE, t4 WRITE, t1 WRITE;
+--error ER_DELAYED_INSERT_TABLE_LOCKED, ER_ILLEGAL_HA
+INSERT DELAYED INTO t4 VALUES(444);
+--error ER_DELAYED_INSERT_TABLE_LOCKED, ER_ILLEGAL_HA
+INSERT DELAYED INTO t3 VALUES(333);
+SELECT * FROM t4 ORDER BY c1;
+UNLOCK TABLES;
+DROP TABLE t1, t2, t3, t4;
+#
+--echo #
+--echo # Recursive inclusion of merge tables in their union clauses.
+--echo #
+CREATE TABLE t1 (c1 INT, INDEX(c1));
+CREATE TABLE t2 (c1 INT, INDEX(c1)) ENGINE=MRG_MYISAM UNION=(t1)
+ INSERT_METHOD=LAST;
+CREATE TABLE t3 (c1 INT, INDEX(c1)) ENGINE=MRG_MYISAM UNION=(t2,t1)
+ INSERT_METHOD=LAST;
+ALTER TABLE t2 UNION=(t3,t1);
+--error ER_ADMIN_WRONG_MRG_TABLE
+SELECT * FROM t2;
+DROP TABLE t1, t2, t3;
+
+
+#
+# Bug#25038 - Waiting TRUNCATE
+#
+# Show that truncate of child table after use of parent table works.
+CREATE TABLE t1 (c1 INT) ENGINE= MyISAM;
+CREATE TABLE t2 (c1 INT) ENGINE= MyISAM;
+CREATE TABLE t3 (c1 INT) ENGINE= MRG_MYISAM UNION= (t1, t2);
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (2);
+SELECT * FROM t3;
+TRUNCATE TABLE t1;
+SELECT * FROM t3;
+DROP TABLE t1, t2, t3;
+#
+# Show that truncate of child table waits while parent table is used.
+# (test partly borrowed from count_distinct3.)
+CREATE TABLE t1 (id INTEGER, grp TINYINT, id_rev INTEGER);
+SET @rnd_max= 2147483647;
+let $1 = 10;
+while ($1)
+{
+ SET @rnd= RAND();
+ SET @id = CAST(@rnd * @rnd_max AS UNSIGNED);
+ SET @id_rev= @rnd_max - @id;
+ SET @grp= CAST(127.0 * @rnd AS UNSIGNED);
+ INSERT INTO t1 (id, grp, id_rev) VALUES (@id, @grp, @id_rev);
+ dec $1;
+}
+set @@read_buffer_size=2*1024*1024;
+CREATE TABLE t2 SELECT * FROM t1;
+INSERT INTO t1 (id, grp, id_rev) SELECT id, grp, id_rev FROM t2;
+INSERT INTO t2 (id, grp, id_rev) SELECT id, grp, id_rev FROM t1;
+INSERT INTO t1 (id, grp, id_rev) SELECT id, grp, id_rev FROM t2;
+INSERT INTO t2 (id, grp, id_rev) SELECT id, grp, id_rev FROM t1;
+INSERT INTO t1 (id, grp, id_rev) SELECT id, grp, id_rev FROM t2;
+CREATE TABLE t3 (id INTEGER, grp TINYINT, id_rev INTEGER)
+ ENGINE= MRG_MYISAM UNION= (t1, t2);
+SELECT COUNT(*) FROM t1;
+SELECT COUNT(*) FROM t2;
+SELECT COUNT(*) FROM t3;
+connect (con1,localhost,root,,);
+ # As t3 contains random numbers, results are different from test to test.
+ # That's okay, because we test only that select doesn't yield an
+ # error. Note, that --disable_result_log doesn't suppress error output.
+ --disable_result_log
+ send SELECT COUNT(DISTINCT a1.id) FROM t3 AS a1, t3 AS a2
+ WHERE a1.id = a2.id GROUP BY a2.grp;
+connection default;
+sleep 1;
+TRUNCATE TABLE t1;
+ connection con1;
+ reap;
+ --enable_result_log
+ disconnect con1;
+connection default;
+SELECT COUNT(*) FROM t1;
+SELECT COUNT(*) FROM t2;
+SELECT COUNT(*) FROM t3;
+DROP TABLE t1, t2, t3;
+
+#
+# Bug#25700 - merge base tables get corrupted by optimize/analyze/repair table
+#
+# Using FLUSH TABLES before REPAIR.
+CREATE TABLE t1 (c1 INT) ENGINE=MyISAM;
+CREATE TABLE t2 (c1 INT) ENGINE=MRG_MYISAM UNION=(t1) INSERT_METHOD=LAST;
+INSERT INTO t2 VALUES (1);
+SELECT * FROM t2;
+LOCK TABLES t2 WRITE, t1 WRITE;
+FLUSH TABLES;
+REPAIR TABLE t1;
+CHECK TABLE t1;
+REPAIR TABLE t1;
+UNLOCK TABLES;
+CHECK TABLE t1 EXTENDED;
+#
+# Not using FLUSH TABLES before REPAIR.
+LOCK TABLES t2 WRITE, t1 WRITE;
+REPAIR TABLE t1;
+CHECK TABLE t1;
+REPAIR TABLE t1;
+UNLOCK TABLES;
+CHECK TABLE t1 EXTENDED;
+DROP TABLE t1, t2;
+
+#
+# Bug#26377 - Deadlock with MERGE and FLUSH TABLE
+#
+CREATE TABLE t1 ( a INT ) ENGINE=MyISAM;
+CREATE TABLE m1 ( a INT ) ENGINE=MRG_MYISAM UNION=(t1);
+# Lock t1 first. This did always work.
+LOCK TABLES t1 WRITE, m1 WRITE;
+FLUSH TABLE t1;
+UNLOCK TABLES;
+DROP TABLE m1, t1;
+#
+CREATE TABLE t1 ( a INT ) ENGINE=MyISAM;
+CREATE TABLE m1 ( a INT ) ENGINE=MRG_MYISAM UNION=(t1);
+# Lock m1 first. This did deadlock.
+LOCK TABLES m1 WRITE, t1 WRITE;
+FLUSH TABLE t1;
+UNLOCK TABLES;
+DROP TABLE m1, t1;
+
+#
+# Bug#27660 - Falcon: merge table possible
+#
+# Normal MyISAM MERGE operation.
+CREATE TABLE t1 (c1 INT, c2 INT) ENGINE= MyISAM;
+CREATE TABLE t2 (c1 INT, c2 INT) ENGINE= MyISAM;
+CREATE TABLE t3 (c1 INT, c2 INT) ENGINE= MRG_MYISAM UNION(t1, t2);
+INSERT INTO t1 VALUES (1, 1);
+INSERT INTO t2 VALUES (2, 2);
+SELECT * FROM t3;
+# Try an unsupported engine.
+ALTER TABLE t1 ENGINE= MEMORY;
+INSERT INTO t1 VALUES (0, 0);
+# Before fixing, this succeeded, but (0, 0) was missing.
+--error 1168
+SELECT * FROM t3;
+DROP TABLE t1, t2, t3;
+
+#
+# Bug#30275 - Merge tables: flush tables or unlock tables causes server to crash
+#
+CREATE TABLE t1 (c1 INT, KEY(c1));
+CREATE TABLE t2 (c1 INT, KEY(c1)) ENGINE=MRG_MYISAM UNION=(t1)
+ INSERT_METHOD=FIRST;
+LOCK TABLE t1 WRITE, t2 WRITE;
+FLUSH TABLES t2, t1;
+OPTIMIZE TABLE t1;
+FLUSH TABLES t1;
+UNLOCK TABLES;
+#
+FLUSH TABLES;
+INSERT INTO t1 VALUES (1);
+LOCK TABLE t1 WRITE, t2 WRITE;
+FLUSH TABLES t2, t1;
+OPTIMIZE TABLE t1;
+FLUSH TABLES t1;
+UNLOCK TABLES;
+DROP TABLE t1, t2;
+
+#
+# Test derived from test program for
+# Bug#30273 - merge tables: Can't lock file (errno: 155)
+#
+CREATE TABLE t1 (ID INT) ENGINE=MYISAM;
+CREATE TABLE m1 (ID INT) ENGINE=MRG_MYISAM UNION=(t1) INSERT_METHOD=FIRST;
+INSERT INTO t1 VALUES ();
+INSERT INTO m1 VALUES ();
+LOCK TABLE t1 WRITE, m1 WRITE;
+FLUSH TABLES m1, t1;
+OPTIMIZE TABLE t1;
+FLUSH TABLES m1, t1;
+UNLOCK TABLES;
+DROP TABLE t1, m1;
+
diff --git a/mysql-test/t/merge_innodb.test b/mysql-test/t/merge_innodb.test
new file mode 100644
index 00000000000..7f0b1a0c36e
--- /dev/null
+++ b/mysql-test/t/merge_innodb.test
@@ -0,0 +1,41 @@
+# t/merge_innodb.test
+#
+# Tests with MERGE tables over InnoDB tables
+#
+
+--source include/have_innodb.inc
+
+--disable_warnings
+DROP TABLE IF EXISTS t1, t2, t3, t4, t5;
+--enable_warnings
+
+#
+# Bug#30491 - MERGE doesn't report error when one table is Innodb
+#
+CREATE TABLE t1 (c1 varchar(100)) ENGINE=MyISAM;
+CREATE TABLE t2 (c1 varchar(100)) ENGINE=MyISAM;
+CREATE TABLE t3 (c1 varchar(100)) ENGINE=InnoDB;
+INSERT INTO t1 VALUES ('Ann'), ('Alice');
+INSERT INTO t2 VALUES ('Bob'), ('Brian');
+INSERT INTO t3 VALUES ('Chris'), ('Charlie');
+CREATE TABLE t4 (c1 varchar(100)) ENGINE=MRG_MYISAM UNION=(t1,t2)
+ INSERT_METHOD=LAST;
+CREATE TABLE t5 (c1 varchar(100)) ENGINE=MRG_MYISAM UNION=(t1,t3)
+ INSERT_METHOD=LAST;
+--error ER_WRONG_MRG_TABLE
+SELECT * FROM t5;
+SELECT * FROM t4;
+ALTER TABLE t2 ENGINE=InnoDB;
+--error ER_WRONG_MRG_TABLE
+SELECT * FROM t4;
+DELETE FROM t2 LIMIT 1;
+--error ER_WRONG_MRG_TABLE
+SELECT * FROM t4;
+--error ER_WRONG_MRG_TABLE
+INSERT INTO t4 VALUES ('Beware');
+--error ER_WRONG_MRG_TABLE
+SELECT * FROM t4;
+SELECT * FROM t2;
+SELECT * FROM t1;
+DROP TABLE t1, t2, t3, t4, t5;
+
diff --git a/mysql-test/t/multi_update.test b/mysql-test/t/multi_update.test
index 6f5ac70a34b..331663dceb5 100644
--- a/mysql-test/t/multi_update.test
+++ b/mysql-test/t/multi_update.test
@@ -588,6 +588,7 @@ CREATE TABLE `t2` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 ;
# as the test is about to see erroed queries in binlog
+set @sav_binlog_format= @@session.binlog_format;
set @@session.binlog_format= mixed;
@@ -614,5 +615,42 @@ show master status /* there must be the UPDATE query event */;
# cleanup bug#27716
drop table t1, t2;
+set @@session.binlog_format= @sav_binlog_format;
+
+#
+# Bug #29136 erred multi-delete on trans table does not rollback
+#
+
+# prepare
+--disable_warnings
+drop table if exists t1, t2, t3;
+--enable_warnings
+CREATE TABLE t1 (a int, PRIMARY KEY (a));
+CREATE TABLE t2 (a int, PRIMARY KEY (a));
+CREATE TABLE t3 (a int, PRIMARY KEY (a)) ENGINE=MyISAM;
+create trigger trg_del_t3 before delete on t3 for each row insert into t1 values (1);
+
+insert into t2 values (1),(2);
+insert into t3 values (1),(2);
+reset master;
+
+# exec cases B, A - see innodb.test
+
+# B. send_eof() and send_error() afterward
+
+--error ER_DUP_ENTRY
+delete t3.* from t2,t3 where t2.a=t3.a;
+
+# check
+select count(*) from t1 /* must be 1 */;
+select count(*) from t3 /* must be 1 */;
+
+# cleanup bug#29136
+drop table t1, t2, t3;
+
+#
+# Add further tests from here
+#
+
--echo end of tests
diff --git a/mysql-test/t/myisam.test b/mysql-test/t/myisam.test
index b06fd536f45..21ffa0683b6 100644
--- a/mysql-test/t/myisam.test
+++ b/mysql-test/t/myisam.test
@@ -576,32 +576,6 @@ select count(*) from t1 where a is null;
drop table t1;
#
-# Bug #8306: TRUNCATE leads to index corruption
-#
-create table t1 (c1 int, index(c1));
-create table t2 (c1 int, index(c1)) engine=merge union=(t1);
-insert into t1 values (1);
-# Close all tables.
-flush tables;
-# Open t2 and (implicitly) t1.
-select * from t2;
-# Truncate after flush works (unless another threads reopens t2 in between).
-flush tables;
-truncate table t1;
-insert into t1 values (1);
-# Close all tables.
-flush tables;
-# Open t2 and (implicitly) t1.
-select * from t2;
-# Truncate t1, wich was not recognized as open without the bugfix.
-# Now, it should fail with a table-in-use error message.
---error 1105
-truncate table t1;
-# The insert used to fail on the crashed table.
-insert into t1 values (1);
-drop table t1,t2;
-
-#
# bug9188 - Corruption Can't open file: 'table.MYI' (errno: 145)
#
create table t1 (c1 int, c2 varchar(4) not null default '',
@@ -1146,6 +1120,55 @@ ALTER TABLE t1 ENABLE KEYS;
SELECT a FROM t1 FORCE INDEX (inx) WHERE a=1;
DROP TABLE t1;
+#
+# Bug#4692 - DISABLE/ENABLE KEYS waste a space
+#
+CREATE TABLE t1 (c1 INT, c2 INT, UNIQUE INDEX (c1), INDEX (c2)) ENGINE=MYISAM;
+--replace_column 6 # 7 # 8 # 10 # 11 # 12 # 13 # 14 # 15 # 16 #
+SHOW TABLE STATUS LIKE 't1';
+INSERT INTO t1 VALUES (1,1);
+--replace_column 6 # 7 # 8 # 10 # 11 # 12 # 13 # 14 # 15 # 16 #
+SHOW TABLE STATUS LIKE 't1';
+ALTER TABLE t1 DISABLE KEYS;
+--replace_column 6 # 7 # 8 # 10 # 11 # 12 # 13 # 14 # 15 # 16 #
+SHOW TABLE STATUS LIKE 't1';
+ALTER TABLE t1 ENABLE KEYS;
+--replace_column 6 # 7 # 8 # 10 # 11 # 12 # 13 # 14 # 15 # 16 #
+SHOW TABLE STATUS LIKE 't1';
+ALTER TABLE t1 DISABLE KEYS;
+--replace_column 6 # 7 # 8 # 10 # 11 # 12 # 13 # 14 # 15 # 16 #
+SHOW TABLE STATUS LIKE 't1';
+ALTER TABLE t1 ENABLE KEYS;
+--replace_column 6 # 7 # 8 # 10 # 11 # 12 # 13 # 14 # 15 # 16 #
+SHOW TABLE STATUS LIKE 't1';
+#--exec ls -log var/master-data/test/t1.MYI
+#--exec myisamchk -dvv var/master-data/test/t1.MYI
+#--exec myisamchk -iev var/master-data/test/t1.MYI
+--echo # Enable keys with parallel repair
+SET @@myisam_repair_threads=2;
+ALTER TABLE t1 DISABLE KEYS;
+ALTER TABLE t1 ENABLE KEYS;
+SET @@myisam_repair_threads=1;
+CHECK TABLE t1 EXTENDED;
+DROP TABLE t1;
+
+#
+# Bug#28837: MyISAM storage engine error (134) doing delete with self-join
+#
+
+CREATE TABLE t1 (id int NOT NULL, ref int NOT NULL, INDEX (id)) ENGINE=MyISAM;
+CREATE TABLE t2 LIKE t1;
+
+INSERT INTO t2 (id, ref) VALUES (1,3), (2,1), (3,2), (4,5), (4,4);
+INSERT INTO t1 SELECT * FROM t2;
+
+SELECT * FROM t1 AS a INNER JOIN t1 AS b USING (id) WHERE a.ref < b.ref;
+SELECT * FROM t1;
+DELETE FROM a USING t1 AS a INNER JOIN t1 AS b USING (id) WHERE a.ref < b.ref;
+SELECT * FROM t1;
+
+DROP TABLE t1, t2;
+
--echo End of 5.0 tests
@@ -1255,4 +1278,189 @@ DELETE FROM t1 WHERE c1 >= 10;
CHECK TABLE t1;
DROP TABLE t1;
+#
+# Bug#33222 - myisam-table drops rows when column is added
+# and a char-field > 128 exists
+#
+# Test #1 - CHECK TABLE sees wrong record, REPAR TABLE deletes it.
+# Using a CHAR column that can have > 127 characters.
+# Using a VARCHAR to create a table with dynamic row format.
+CREATE TABLE t1 (
+ c1 CHAR(130),
+ c2 VARCHAR(1)
+) ENGINE=MyISAM;
+INSERT INTO t1 VALUES(REPEAT("a",128), 'b');
+SELECT COUNT(*) FROM t1;
+CHECK TABLE t1;
+REPAIR TABLE t1;
+SELECT COUNT(*) FROM t1;
+CHECK TABLE t1;
+DROP TABLE t1;
+#
+# Test #2 - same as test #1, but using EXTENDED.
+# Using a CHAR column that can have > 127 characters.
+# Using a VARCHAR to create a table with dynamic row format.
+CREATE TABLE t1 (
+ c1 CHAR(130),
+ c2 VARCHAR(1)
+) ENGINE=MyISAM;
+INSERT INTO t1 VALUES(REPEAT("a",128), 'b');
+SELECT COUNT(*) FROM t1;
+CHECK TABLE t1 EXTENDED;
+REPAIR TABLE t1 EXTENDED;
+SELECT COUNT(*) FROM t1;
+CHECK TABLE t1 EXTENDED;
+DROP TABLE t1;
+#
+# Test #3 - same as test #1, but using OPTIMIZE TABLE.
+# Using a CHAR column that can have > 127 characters.
+# Using a VARCHAR to create a table with dynamic row format.
+CREATE TABLE t1 (
+ c1 CHAR(130),
+ c2 VARCHAR(1)
+) ENGINE=MyISAM;
+INSERT INTO t1 VALUES(REPEAT("a",128), 'b');
+# Insert more rows and delete one in the middle to force optimize.
+INSERT INTO t1 VALUES('b', 'b');
+INSERT INTO t1 VALUES('c', 'b');
+DELETE FROM t1 WHERE c1='b';
+SELECT COUNT(*) FROM t1;
+OPTIMIZE TABLE t1;
+SELECT COUNT(*) FROM t1;
+DROP TABLE t1;
+#
+# Test #4 - ALTER TABLE deletes rows.
+# Using a CHAR column that can have > 127 characters.
+# Using a VARCHAR to create a table with dynamic row format.
+# Using an index which can be disabled during bulk insert.
+CREATE TABLE t1 (
+ c1 CHAR(130),
+ c2 VARCHAR(1),
+ KEY (c1)
+) ENGINE=MyISAM;
+#
+# Insert 100 rows. This turns bulk insert on during the copy phase of
+# ALTER TABLE. Bulk insert disables keys before the insert and re-enables
+# them by repair after the insert.
+--disable_query_log
+let $count= 100;
+--echo # Insert $count rows. Query log disabled.
+while ($count)
+{
+ INSERT INTO t1 VALUES ('a', 'b');
+ dec $count;
+}
+--enable_query_log
+#
+# Change most of the rows into long character values with > 127 characters.
+UPDATE t1 SET c1=REPEAT("a",128) LIMIT 90;
+SELECT COUNT(*) FROM t1;
+ALTER TABLE t1 ENGINE=MyISAM;
+#
+# With bug present, this shows that all long rows are gone.
+SELECT COUNT(*) FROM t1;
+CHECK TABLE t1;
+CHECK TABLE t1 EXTENDED;
+DROP TABLE t1;
+#
+# Test #5 - same as test #1 but UTF-8.
+# Using a CHAR column that can have > 127 characters.
+# Using a VARCHAR to create a table with dynamic row format.
+CREATE TABLE t1 (
+ c1 CHAR(50),
+ c2 VARCHAR(1)
+) ENGINE=MyISAM DEFAULT CHARSET UTF8;
+# Using Tamil Letter A, Unicode U+0B85
+INSERT INTO t1 VALUES(REPEAT(_utf8 x'e0ae85',43), 'b');
+SELECT COUNT(*) FROM t1;
+CHECK TABLE t1;
+REPAIR TABLE t1;
+SELECT COUNT(*) FROM t1;
+CHECK TABLE t1;
+DROP TABLE t1;
+#
+# Test #6 - same as test #2, but UTF-8.
+# Using a CHAR column that can have > 127 characters.
+# Using a VARCHAR to create a table with dynamic row format.
+CREATE TABLE t1 (
+ c1 CHAR(50),
+ c2 VARCHAR(1)
+) ENGINE=MyISAM DEFAULT CHARSET UTF8;
+# Using Tamil Letter A, Unicode U+0B85
+INSERT INTO t1 VALUES(REPEAT(_utf8 x'e0ae85',43), 'b');
+SELECT COUNT(*) FROM t1;
+CHECK TABLE t1 EXTENDED;
+REPAIR TABLE t1 EXTENDED;
+SELECT COUNT(*) FROM t1;
+CHECK TABLE t1 EXTENDED;
+DROP TABLE t1;
+#
+# Test #7 - same as test #3, but UTF-8.
+# Using a CHAR column that can have > 127 characters.
+# Using a VARCHAR to create a table with dynamic row format.
+CREATE TABLE t1 (
+ c1 CHAR(50),
+ c2 VARCHAR(1)
+) ENGINE=MyISAM DEFAULT CHARSET UTF8;
+# Using Tamil Letter A, Unicode U+0B85
+INSERT INTO t1 VALUES(REPEAT(_utf8 x'e0ae85',43), 'b');
+# Insert more rows and delete one in the middle to force optimize.
+INSERT INTO t1 VALUES('b', 'b');
+INSERT INTO t1 VALUES('c', 'b');
+DELETE FROM t1 WHERE c1='b';
+SELECT COUNT(*) FROM t1;
+OPTIMIZE TABLE t1;
+SELECT COUNT(*) FROM t1;
+DROP TABLE t1;
+#
+# Test #8 - same as test #4, but UTF-8.
+# Using a CHAR column that can have > 42 UTF-8 characters.
+# Using a VARCHAR to create a table with dynamic row format.
+# Using an index which can be disabled during bulk insert.
+CREATE TABLE t1 (
+ c1 CHAR(50),
+ c2 VARCHAR(1),
+ KEY (c1)
+) ENGINE=MyISAM DEFAULT CHARSET UTF8;
+#
+# Insert 100 rows. This turns bulk insert on during the copy phase of
+# ALTER TABLE. Bulk insert disables keys before the insert and re-enables
+# them by repair after the insert.
+--disable_query_log
+let $count= 100;
+--echo # Insert $count rows. Query log disabled.
+while ($count)
+{
+ INSERT INTO t1 VALUES ('a', 'b');
+ dec $count;
+}
+--enable_query_log
+#
+# Change most of the rows into long character values with > 42 characters.
+# Using Tamil Letter A, Unicode U+0B85
+UPDATE t1 SET c1=REPEAT(_utf8 x'e0ae85',43) LIMIT 90;
+SELECT COUNT(*) FROM t1;
+ALTER TABLE t1 ENGINE=MyISAM;
+#
+# With bug present, this shows that all long rows are gone.
+SELECT COUNT(*) FROM t1;
+CHECK TABLE t1;
+CHECK TABLE t1 EXTENDED;
+DROP TABLE t1;
+
+#
+# Bug#29182 - MyISAMCHK reports wrong character set
+#
+CREATE TABLE t1 (
+ c1 VARCHAR(10) NOT NULL,
+ c2 CHAR(10) DEFAULT NULL,
+ c3 VARCHAR(10) NOT NULL,
+ KEY (c1),
+ KEY (c2)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 PACK_KEYS=0;
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+--exec $MYISAMCHK -d $MYSQLTEST_VARDIR/master-data/test/t1
+DROP TABLE t1;
+
--echo End of 5.1 tests
+
diff --git a/mysql-test/t/myisampack.test b/mysql-test/t/myisampack.test
new file mode 100644
index 00000000000..6598af6318a
--- /dev/null
+++ b/mysql-test/t/myisampack.test
@@ -0,0 +1,33 @@
+#
+# BUG#31277 - myisamchk --unpack corrupts a table
+#
+CREATE TABLE t1(c1 DOUBLE, c2 DOUBLE, c3 DOUBLE, c4 DOUBLE, c5 DOUBLE,
+ c6 DOUBLE, c7 DOUBLE, c8 DOUBLE, c9 DOUBLE, a INT PRIMARY KEY);
+INSERT INTO t1 VALUES
+(-3.31168791059336e-06,-3.19054655887874e-06,-1.06528081684847e-05,-1.227278240089e-06,-1.66718069164799e-06,-2.59038972510885e-06,-2.83145227805303e-06,-4.09678491270648e-07,-2.22610091291797e-06,6),
+(0.0030743000272545,2.53222044316438e-05,2.78674650061845e-05,1.95914465544536e-05,1.7347572525984e-05,1.87513810069614e-05,1.69882826885005e-05,2.44449336987598e-05,1.89914629921774e-05,9),
+(2.85229319423495e-05,3.05970988282259e-05,3.77161100113133e-05,2.3055238978766e-05,2.08241267364615e-05,2.28009504270553e-05,2.12070165658947e-05,2.84350091565409e-05,2.3366822910704e-05,3),
+(0,0,0,0,0,0,0,0,0,12),
+(3.24544577570754e-05,3.44619021870993e-05,4.37561613201124e-05,2.57556808726748e-05,2.3195354640561e-05,2.58532400758869e-05,2.34934241667179e-05,3.1621640063232e-05,2.58229982746189e-05,19),
+(2.53222044316438e-05,0.00445071933455582,2.97447268116016e-05,2.12379514059868e-05,1.86777776502663e-05,2.0170058676712e-05,1.8946030385445e-05,2.66040037173511e-05,2.09161899668946e-05,20),
+(3.03462382611645e-05,3.26517930083994e-05,3.5242025468662e-05,2.53219745106391e-05,2.24384532945004e-05,2.4052346047657e-05,2.23865572957053e-05,3.1634313969082e-05,2.48285463481801e-05,21),
+(1.95914465544536e-05,2.12379514059868e-05,2.27808649037128e-05,0.000341724375366877,1.4512761275113e-05,1.56475828693953e-05,1.44372366441415e-05,2.07952121981765e-05,1.61488256935919e-05,28),
+(1.7347572525984e-05,1.86777776502663e-05,2.04116907052727e-05,1.4512761275113e-05,0.000432162526082388,1.38116514014465e-05,1.2712914948904e-05,1.82503165178506e-05,1.43043075345922e-05,30),
+(1.68339762136661e-05,1.77836497166611e-05,2.36328309295222e-05,1.30183423732016e-05,1.18674654241553e-05,1.32467273128652e-05,1.24581739117775e-05,1.55624190959406e-05,1.33010638508213e-05,31),
+(1.89643062824415e-05,2.06997140070717e-05,2.29045490159364e-05,1.57918175731019e-05,1.39864987449492e-05,1.50580274578455e-05,1.45908734129609e-05,1.95329296993327e-05,1.5814709481221e-05,32),
+(1.69882826885005e-05,1.8946030385445e-05,2.00820439721439e-05,1.44372366441415e-05,1.2712914948904e-05,1.35209686474184e-05,0.00261563314789896,1.78285095864627e-05,1.46699314500019e-05,34),
+(2.0278186540684e-05,2.18923409729654e-05,2.39981539939738e-05,1.71774589459438e-05,1.54654355357383e-05,1.62731485707636e-05,1.49253140625051e-05,2.18229800160297e-05,1.71923561673718e-05,35),
+(2.44449336987598e-05,2.66040037173511e-05,2.84860148925308e-05,2.07952121981765e-05,1.82503165178506e-05,1.97667730441441e-05,1.78285095864627e-05,0.00166478601822712,2.0299952103232e-05,36),
+(1.89914629921774e-05,2.09161899668946e-05,2.26026841007872e-05,1.61488256935919e-05,1.43043075345922e-05,1.52609063290127e-05,1.46699314500019e-05,2.0299952103232e-05,0.00306670170971682,39),
+(0,0,0,0,0,0,0,0,0,41),
+(0,0,0,0,0,0,0,0,0,17),
+(0,0,0,0,0,0,0,0,0,18),
+(2.51880677333017e-05,2.63051795435778e-05,2.79874748974906e-05,2.02888886670845e-05,1.8178636318197e-05,1.91308527003585e-05,1.83260023644133e-05,2.4422300558171e-05,1.96411467520551e-05,44),
+(2.22402118719591e-05,2.37546284320705e-05,2.58463051055541e-05,1.83391609130854e-05,1.6300720519646e-05,1.74559091886791e-05,1.63733785575587e-05,2.26616253279828e-05,1.79541237435621e-05,45),
+(3.01092775359837e-05,3.23865212934412e-05,4.09444584045994e-05,0,2.15470966302776e-05,2.39082636344032e-05,2.28296706429177e-05,2.9007671511595e-05,2.44201138973326e-05,46);
+FLUSH TABLES;
+--exec $MYISAMPACK -s $MYSQLTEST_VARDIR/master-data/test/t1
+--exec $MYISAMCHK -srq $MYSQLTEST_VARDIR/master-data/test/t1
+--exec $MYISAMCHK -s --unpack $MYSQLTEST_VARDIR/master-data/test/t1
+CHECK TABLE t1 EXTENDED;
+DROP TABLE t1;
diff --git a/mysql-test/t/mysql.test b/mysql-test/t/mysql.test
index 16f5fecf051..528337da77b 100644
--- a/mysql-test/t/mysql.test
+++ b/mysql-test/t/mysql.test
@@ -242,18 +242,21 @@ DELIMITER /
SELECT 1/
EOF
--exec $MYSQL < $MYSQLTEST_VARDIR/tmp/bug21412.sql 2>&1
+remove_file $MYSQLTEST_VARDIR/tmp/bug21412.sql;
# This should give an error...
--write_file $MYSQLTEST_VARDIR/tmp/bug21412.sql
DELIMITER \
EOF
--exec $MYSQL < $MYSQLTEST_VARDIR/tmp/bug21412.sql 2>&1
+remove_file $MYSQLTEST_VARDIR/tmp/bug21412.sql;
# As should this...
--write_file $MYSQLTEST_VARDIR/tmp/bug21412.sql
DELIMITER \\
EOF
--exec $MYSQL < $MYSQLTEST_VARDIR/tmp/bug21412.sql 2>&1
+remove_file $MYSQLTEST_VARDIR/tmp/bug21412.sql;
#
# Some coverage of not normally used parts
@@ -274,6 +277,20 @@ EOF
--exec $MYSQL --pager="540bytelengthstringxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" -e "select 1" > /dev/null 2>&1
--exec $MYSQL --character-sets-dir="540bytelengthstringxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" -e "select 1" 2>&1
+#
+# bug #30164: Using client side macro inside server side comments generates broken queries
+#
+--exec $MYSQL test -e "/*! \C latin1 */ select 1;"
+
+#
+# Bug#29323 mysql client only accetps ANSI encoded files
+#
+--write_file $MYSQLTEST_VARDIR/tmp/bug29323.sql
+select "This is a file starting with UTF8 BOM 0xEFBBBF";
+EOF
+--exec $MYSQL < $MYSQLTEST_VARDIR/tmp/bug29323.sql 2>&1
+remove_file $MYSQLTEST_VARDIR/tmp/bug29323.sql;
+
--echo End of 5.0 tests
#
@@ -282,3 +299,21 @@ EOF
--disable_query_log
--exec $MYSQL --server-arg=no-defaults test -e "quit"
--enable_query_log
+
+#
+# Bug #25146: Some warnings/errors not shown when using --show-warnings
+#
+
+# This one should succeed with no warnings
+--exec $MYSQL --show-warnings test -e "create table t1 (id int)"
+
+# This should succeed, with warnings about conversion from nonexistent engine
+--exec $MYSQL --show-warnings test -e "create table t2 (id int) engine=nonexistent"
+
+# This should fail, with warnings as well
+--error 1
+--exec $MYSQL --show-warnings test -e "create table t2 (id int) engine=nonexistent2"
+
+drop tables t1, t2;
+
+--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 2dfcc4a2fb9..4c683f7f0a2 100644
--- a/mysql-test/t/mysql_client_test-master.opt
+++ b/mysql-test/t/mysql_client_test-master.opt
@@ -1 +1 @@
---log=$MYSQLTEST_VARDIR/log/master.log --log-output=FILE
+--log=$MYSQLTEST_VARDIR/log/master.log --log-output=FILE,TABLE
diff --git a/mysql-test/t/mysql_client_test.test b/mysql-test/t/mysql_client_test.test
index 66a27abd61a..7667522feaf 100644
--- a/mysql-test/t/mysql_client_test.test
+++ b/mysql-test/t/mysql_client_test.test
@@ -8,8 +8,8 @@
# server or run mysql-test-run --debug mysql_client_test and check
# var/log/mysql_client_test.trace
---exec echo "$MYSQL_CLIENT_TEST" > $MYSQLTEST_VARDIR/log/mysql_client_test.log 2>&1
---exec $MYSQL_CLIENT_TEST --getopt-ll-test=25600M >> $MYSQLTEST_VARDIR/log/mysql_client_test.log 2>&1
+--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
# End of 4.1 tests
echo ok;
diff --git a/mysql-test/t/mysql_comments.sql b/mysql-test/t/mysql_comments.sql
new file mode 100644
index 00000000000..2497c35e465
--- /dev/null
+++ b/mysql-test/t/mysql_comments.sql
@@ -0,0 +1,218 @@
+##============================================================================
+## Notes
+##============================================================================
+
+# Test case for Bug#11230
+
+# The point of this test is to make sure that '#', '-- ' and '/* ... */'
+# comments, as well as empty lines, are sent from the client to the server.
+# This is to ensure better error reporting, and to keep comments in the code
+# for stored procedures / functions / triggers (Bug#11230).
+# As a result, be careful when editing comments in this script, they do
+# matter.
+#
+# Also, note that this is a script for **mysql**, not mysqltest.
+# This is critical, as the mysqltest client interprets comments differently.
+
+##============================================================================
+## Setup
+##============================================================================
+
+## See mysql_comments.test for initial cleanup
+
+# Test tables
+#
+# t1 is reused throughout the file, and dropped at the end.
+#
+drop table if exists t1;
+create table t1 (
+ id char(16) not null default '',
+ data int not null
+);
+
+##============================================================================
+## Comments outside statements
+##============================================================================
+
+# Ignored 1a
+-- Ignored 1b
+/*
+ Ignored 1c
+*/
+
+select 1;
+
+##============================================================================
+## Comments inside statements
+##============================================================================
+
+select # comment 1a
+# comment 2a
+-- comment 2b
+/*
+ comment 2c
+*/
+2
+; # not strictly inside, but on same line
+# ignored
+
+##============================================================================
+## Comments inside functions
+##============================================================================
+
+drop function if exists foofct ;
+
+create function foofct (x char(20))
+returns char(20)
+/* not inside the body yet */
+return
+-- comment 1a
+# comment 1b
+/* comment 1c */
+x; # after body, on same line
+
+select foofct("call 1");
+
+show create function foofct;
+drop function foofct;
+
+delimiter |
+
+create function foofct(x char(20))
+returns char(20)
+begin
+ -- comment 1a
+ # comment 1b
+ /*
+ comment 1c
+ */
+
+ -- empty line below
+
+ -- empty line above
+ return x;
+end|
+
+delimiter ;
+
+select foofct("call 2");
+
+show create function foofct;
+drop function foofct;
+
+##============================================================================
+## Comments inside stored procedures
+##============================================================================
+
+# Empty statement
+drop procedure if exists empty;
+create procedure empty()
+begin
+end;
+
+call empty();
+show create procedure empty;
+drop procedure empty;
+
+drop procedure if exists foosp;
+
+## These comments are before the create, and will be lost
+# Comment 1a
+-- Comment 1b
+/*
+ Comment 1c
+ */
+create procedure foosp()
+/* Comment not quiet in the body yet */
+ insert into test.t1
+## These comments are part of the procedure body, and should be kept.
+# Comment 2a
+-- Comment 2b
+/* Comment 2c */
+ -- empty line below
+
+ -- empty line above
+ values ("foo", 42); # comment 3, still part of the body
+## After the ';', therefore not part of the body
+# comment 4a
+-- Comment 4b
+/*
+ Comment 4c
+ */
+
+call foosp();
+select * from t1;
+delete from t1;
+show create procedure foosp;
+drop procedure foosp;
+
+drop procedure if exists nicesp;
+
+delimiter |
+
+create procedure nicesp(a int)
+begin
+ -- declare some variables here
+ declare b int;
+ declare c float;
+
+ -- do more stuff here
+ -- commented nicely and so on
+
+ -- famous last words ...
+end|
+
+delimiter ;
+
+show create procedure nicesp;
+drop procedure nicesp;
+
+##============================================================================
+## Comments inside triggers
+##============================================================================
+
+drop trigger if exists t1_empty;
+
+create trigger t1_empty after delete on t1
+for each row
+begin
+end;
+
+show create trigger t1_empty;
+
+drop trigger if exists t1_bi;
+
+delimiter |
+
+create trigger t1_bi before insert on t1
+for each row
+begin
+# comment 1a
+-- comment 1b
+/*
+ comment 1c
+*/
+ -- declare some variables here
+ declare b int;
+ declare c float;
+
+ -- do more stuff here
+ -- commented nicely and so on
+
+ -- famous last words ...
+ set NEW.data := 12;
+end|
+
+delimiter ;
+
+show create trigger t1_bi;
+
+# also make sure the trigger still works
+insert into t1(id) value ("trig");
+select * from t1;
+
+##============================================================================
+## Cleanup
+##============================================================================
+
+drop table t1;
diff --git a/mysql-test/t/mysql_comments.test b/mysql-test/t/mysql_comments.test
new file mode 100644
index 00000000000..1f997aeb1ab
--- /dev/null
+++ b/mysql-test/t/mysql_comments.test
@@ -0,0 +1,37 @@
+# This test should work in embedded server after we fix mysqltest
+-- source include/not_embedded.inc
+###################### mysql_comments.test #############################
+# #
+# Testing of comments handling by the command line client (mysql) #
+# #
+# Creation: #
+# 2007-10-29 akopytov Implemented this test as a part of fixes for #
+# bug #26215 and bug #11230 #
+# #
+########################################################################
+
+#
+# Bug #11230: Keeping comments when storing stored procedures
+#
+
+# See the content of mysql_comments.sql
+# Set the test database to a known state before running the tests.
+--disable_warnings
+drop table if exists t1;
+drop function if exists foofct;
+drop procedure if exists empty;
+drop procedure if exists foosp;
+drop procedure if exists nicesp;
+drop trigger if exists t1_empty;
+drop trigger if exists t1_bi;
+--enable_warnings
+
+# Test without comments
+--echo "Pass 1 : --disable-comments"
+--exec $MYSQL --disable-comments test 2>&1 < "./t/mysql_comments.sql"
+
+# Test with comments
+--echo "Pass 2 : --enable-comments"
+--exec $MYSQL --enable-comments test 2>&1 < "./t/mysql_comments.sql"
+
+--echo End of 5.0 tests
diff --git a/mysql-test/t/mysqladmin.test b/mysql-test/t/mysqladmin.test
index 3fa03fa910e..839ecf00b60 100644
--- a/mysql-test/t/mysqladmin.test
+++ b/mysql-test/t/mysqladmin.test
@@ -20,7 +20,7 @@ EOF
--replace_regex /.*mysqladmin.*: unknown/mysqladmin: unknown/
--error 7
--exec $MYSQLADMIN --defaults-file=$MYSQLTEST_VARDIR/tmp/bug10608.cnf -S $MASTER_MYSOCK -P $MASTER_MYPORT -u root --password= ping 2>&1
-
+remove_file $MYSQLTEST_VARDIR/tmp/bug10608.cnf;
# When mysqladmin finds "loose-database" in .cnf file it shall print
# a warning and continue
@@ -32,3 +32,4 @@ EOF
--replace_regex /Warning: .*mysqladmin.*: unknown/Warning: mysqladmin: unknown/
--exec $MYSQLADMIN --defaults-file=$MYSQLTEST_VARDIR/tmp/bug10608.cnf -S $MASTER_MYSOCK -P $MASTER_MYPORT -u root --password= ping 2>&1
+remove_file $MYSQLTEST_VARDIR/tmp/bug10608.cnf;
diff --git a/mysql-test/t/mysqlbinlog.test b/mysql-test/t/mysqlbinlog.test
index 25bd9a402ae..eb364c60e71 100644
--- a/mysql-test/t/mysqlbinlog.test
+++ b/mysql-test/t/mysqlbinlog.test
@@ -43,6 +43,7 @@ select "--- Local --" as "";
#
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+--replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/
--exec $MYSQL_BINLOG --short-form --local-load=$MYSQLTEST_VARDIR/tmp/ $MYSQLTEST_VARDIR/log/master-bin.000001
# this should not fail but shouldn't produce any working statements
@@ -50,6 +51,7 @@ select "--- Local --" as "";
select "--- Broken LOAD DATA --" as "";
--enable_query_log
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+--replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/
--exec $MYSQL_BINLOG --short-form --local-load=$MYSQLTEST_VARDIR/tmp/ $MYSQLTEST_VARDIR/log/master-bin.000002 2> /dev/null
# this should show almost nothing
@@ -57,6 +59,7 @@ select "--- Broken LOAD DATA --" as "";
select "--- --database --" as "";
--enable_query_log
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+--replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/
--exec $MYSQL_BINLOG --short-form --local-load=$MYSQLTEST_VARDIR/tmp/ --database=nottest $MYSQLTEST_VARDIR/log/master-bin.000001 2> /dev/null
# this test for position option
@@ -64,6 +67,7 @@ select "--- --database --" as "";
select "--- --position --" as "";
--enable_query_log
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+--replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/
--exec $MYSQL_BINLOG --short-form --local-load=$MYSQLTEST_VARDIR/tmp/ --position=239 $MYSQLTEST_VARDIR/log/master-bin.000002
# These are tests for remote binlog.
@@ -75,6 +79,7 @@ select "--- Remote --" as "";
# This is broken now
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+--replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/
--exec $MYSQL_BINLOG --short-form --local-load=$MYSQLTEST_VARDIR/tmp/ --read-from-remote-server --user=root --host=127.0.0.1 --port=$MASTER_MYPORT master-bin.000001
# This is broken too
@@ -82,6 +87,7 @@ select "--- Remote --" as "";
select "--- Broken LOAD DATA --" as "";
--enable_query_log
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+--replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/
--exec $MYSQL_BINLOG --short-form --local-load=$MYSQLTEST_VARDIR/tmp/ --read-from-remote-server --user=root --host=127.0.0.1 --port=$MASTER_MYPORT master-bin.000002 2> /dev/null
# And this too ! (altough it is documented)
@@ -89,6 +95,7 @@ select "--- Broken LOAD DATA --" as "";
select "--- --database --" as "";
--enable_query_log
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+--replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/
--exec $MYSQL_BINLOG --short-form --local-load=$MYSQLTEST_VARDIR/tmp/ --read-from-remote-server --user=root --host=127.0.0.1 --port=$MASTER_MYPORT --database=nottest master-bin.000001 2> /dev/null
# Strangely but this works
@@ -96,6 +103,7 @@ select "--- --database --" as "";
select "--- --position --" as "";
--enable_query_log
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+--replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/
--exec $MYSQL_BINLOG --short-form --local-load=$MYSQLTEST_VARDIR/tmp/ --read-from-remote-server --position=239 --user=root --host=127.0.0.1 --port=$MASTER_MYPORT master-bin.000002
# Bug#7853 (mysqlbinlog does not accept input from stdin)
@@ -103,9 +111,11 @@ select "--- --position --" as "";
select "--- reading stdin --" as "";
--enable_query_log
--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
+--replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/
--exec $MYSQL_BINLOG --short-form - < $MYSQL_TEST_DIR/std_data/trunc_binlog.000001
--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
+--replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/
--exec $MYSQL_BINLOG --short-form --position=79 - < $MYSQL_TEST_DIR/std_data/trunc_binlog.000001
drop table t1,t2;
@@ -169,6 +179,7 @@ call p1();
drop procedure p1;
--error 1305
call p1();
+--replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/
--exec $MYSQL_BINLOG --short-form $MYSQLTEST_VARDIR/log/master-bin.000008
--exec $MYSQL_BINLOG --short-form $MYSQLTEST_VARDIR/log/master-bin.000008 | $MYSQL
call p1();
@@ -204,6 +215,7 @@ select hex(a) from t1;
drop table t1;
flush logs;
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+--replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/
--exec $MYSQL_BINLOG --short-form --local-load=$MYSQLTEST_VARDIR/tmp/ $MYSQLTEST_VARDIR/log/master-bin.000010
#
@@ -240,6 +252,10 @@ let $c= `select $a=$b`;
--echo $c
drop table t1;
+echo shell> mysqlbinlog std_data/corrupt-relay-bin.000624 > var/tmp/bug31793.sql;
+error 1;
+exec $MYSQL_BINLOG $MYSQL_TEST_DIR/std_data/corrupt-relay-bin.000624 > $MYSQLTEST_VARDIR/tmp/bug31793.sql;
+
--echo End of 5.0 tests
#
@@ -250,4 +266,59 @@ flush logs;
--exec $MYSQL_BINLOG $MYSQLTEST_VARDIR/log/master-bin.000016 >/dev/null 2>/dev/null
--exec $MYSQL_BINLOG --force-if-open $MYSQLTEST_VARDIR/log/master-bin.000016 >/dev/null 2>/dev/null
+--echo BUG#31611: Security risk with BINLOG statement
+
+SET BINLOG_FORMAT=ROW;
+CREATE DATABASE mysqltest1;
+CREATE USER untrusted@localhost;
+GRANT SELECT ON mysqltest1.* TO untrusted@localhost;
+
+SHOW GRANTS FOR untrusted@localhost;
+USE mysqltest1;
+CREATE TABLE t1 (a INT, b CHAR(64));
+flush logs;
+INSERT INTO t1 VALUES (1,USER());
+flush logs;
+echo mysqlbinlog var/log/master-bin.000017 > var/tmp/bug31611.sql;
+exec $MYSQL_BINLOG $MYSQLTEST_VARDIR/log/master-bin.000017 > $MYSQLTEST_VARDIR/tmp/bug31611.sql;
+connect (unsecure,localhost,untrusted,,mysqltest1);
+echo mysql mysqltest1 -uuntrusted < var/tmp/bug31611.sql;
+error 1;
+exec $MYSQL mysqltest1 -uuntrusted < $MYSQLTEST_VARDIR/tmp/bug31611.sql;
+connection unsecure;
+error ER_TABLEACCESS_DENIED_ERROR;
+INSERT INTO t1 VALUES (1,USER());
+
+SELECT * FROM t1;
+connection default;
+DROP DATABASE mysqltest1;
+DROP USER untrusted@localhost;
+
+--echo BUG#32580: mysqlbinlog cannot read binlog event with user variables
+
+# Testing that various kinds of events can be read and restored properly.
+
+connection default;
+USE test;
+SET BINLOG_FORMAT = STATEMENT;
+FLUSH LOGS;
+CREATE TABLE t1 (a_real FLOAT, an_int INT, a_decimal DECIMAL(5,2), a_string CHAR(32));
+SET @a_real = rand(20) * 1000;
+SET @an_int = 1000;
+SET @a_decimal = CAST(rand(19) * 999 AS DECIMAL(5,2));
+SET @a_string = 'Just a test';
+INSERT INTO t1 VALUES (@a_real, @an_int, @a_decimal, @a_string);
+FLUSH LOGS;
+query_vertical SELECT * FROM t1;
+DROP TABLE t1;
+
+echo >> mysqlbinlog var/log/master-bin.000019 > var/tmp/bug32580.sql;
+exec $MYSQL_BINLOG $MYSQLTEST_VARDIR/log/master-bin.000019 > $MYSQLTEST_VARDIR/tmp/bug32580.sql;
+echo >> mysql test < var/tmp/bug32580.sql;
+exec $MYSQL test < $MYSQLTEST_VARDIR/tmp/bug32580.sql;
+remove_file $MYSQLTEST_VARDIR/tmp/bug32580.sql;
+
+query_vertical SELECT * FROM t1;
+DROP TABLE t1;
+
--echo End of 5.1 tests
diff --git a/mysql-test/t/mysqlbinlog2.test b/mysql-test/t/mysqlbinlog2.test
index fa487662c10..59017b09c54 100644
--- a/mysql-test/t/mysqlbinlog2.test
+++ b/mysql-test/t/mysqlbinlog2.test
@@ -41,8 +41,7 @@ select "--- Local --" as "";
# be time dependent (the Start events). Better than nothing.
#
---replace_regex /[[:<:]][0-9]{6} [0-9 ][0-9]:[0-9]{2}:[0-9]{2}[[:>:]]/{yymmdd} {HH:MM:SS}/ /=[0-9]+ /={integer} / /# at [0-9]+/# at {pos}/ /(pos:?) [0-9]+/\1 {pos}/
---exec $MYSQL_BINLOG $MYSQLTEST_VARDIR/log/master-bin.000001
+--exec $MYSQL_BINLOG --short-form --base64-output=never $MYSQLTEST_VARDIR/log/master-bin.000001
--disable_query_log
select "--- offset --" as "";
diff --git a/mysql-test/t/mysqlcheck.test b/mysql-test/t/mysqlcheck.test
index d233546f9e3..ba13a315cb8 100644
--- a/mysql-test/t/mysqlcheck.test
+++ b/mysql-test/t/mysqlcheck.test
@@ -11,7 +11,7 @@
#
--disable_warnings
-DROP TABLE IF EXISTS t1;
+DROP TABLE IF EXISTS t1, `t``1`, `t 1`;
drop view if exists v1;
drop database if exists client_test_db;
--enable_warnings
@@ -37,4 +37,51 @@ create view v1 as select * from t1;
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);
+--replace_result 'Table is already up to date' OK
+--exec $MYSQL_CHECK --databases test
+drop table `t``1`, `t 1`;
+
+#
+# Bug#25347: mysqlcheck -A -r doesn't repair table marked as crashed
+#
+create database d_bug25347;
+use d_bug25347;
+create table t_bug25347 (a int);
+create view v_bug25347 as select * from t_bug25347;
+insert into t_bug25347 values (1),(2),(3);
+flush tables;
+--echo removing and creating
+--remove_file $MYSQLTEST_VARDIR/master-data/d_bug25347/t_bug25347.MYI
+--write_file $MYSQLTEST_VARDIR/master-data/d_bug25347/t_bug25347.MYI
+EOF
+--exec $MYSQL_CHECK --repair --databases d_bug25347
+--error 130
+insert into t_bug25347 values (4),(5),(6);
+--exec $MYSQL_CHECK --repair --use-frm --databases d_bug25347
+insert into t_bug25347 values (7),(8),(9);
+select * from t_bug25347;
+select * from v_bug25347;
+drop view v_bug25347;
+drop table t_bug25347;
+drop database d_bug25347;
+use test;
+
--echo End of 5.0 tests
+
+#
+# Bug #30679: 5.1 name encoding not performed for views during upgrade
+#
+create table t1(a int);
+create view v1 as select * from t1;
+show tables;
+--copy_file $MYSQLTEST_VARDIR/master-data/test/v1.frm $MYSQLTEST_VARDIR/master-data/test/v-1.frm
+show tables;
+--exec $MYSQL_CHECK --check-upgrade --fix-table-names --databases test
+show tables;
+drop view v1, `v-1`;
+drop table t1;
diff --git a/mysql-test/t/mysqldump-compat.opt b/mysql-test/t/mysqldump-compat.opt
new file mode 100644
index 00000000000..40d4ac738a6
--- /dev/null
+++ b/mysql-test/t/mysqldump-compat.opt
@@ -0,0 +1 @@
+--loose-debug=d,4x_server_emul
diff --git a/mysql-test/t/mysqldump-compat.test b/mysql-test/t/mysqldump-compat.test
new file mode 100644
index 00000000000..848d66cc728
--- /dev/null
+++ b/mysql-test/t/mysqldump-compat.test
@@ -0,0 +1,13 @@
+# Embedded server doesn't support external clients
+--source include/not_embedded.inc
+
+#
+# Bug #30126: semicolon before closing */ in /*!... CREATE DATABASE ;*/
+#
+
+CREATE DATABASE mysqldump_30126;
+USE mysqldump_30126;
+CREATE TABLE t1 (c1 int);
+--exec $MYSQL_DUMP --add-drop-database mysqldump_30126 > $MYSQLTEST_VARDIR/tmp/bug30126.sql
+--exec $MYSQL mysqldump_30126 < $MYSQLTEST_VARDIR/tmp/bug30126.sql
+DROP DATABASE mysqldump_30126;
diff --git a/mysql-test/t/mysqldump-no-binlog-master.opt b/mysql-test/t/mysqldump-no-binlog-master.opt
new file mode 100644
index 00000000000..789275fa25e
--- /dev/null
+++ b/mysql-test/t/mysqldump-no-binlog-master.opt
@@ -0,0 +1 @@
+--skip-log-bin
diff --git a/mysql-test/t/mysqldump-no-binlog.test b/mysql-test/t/mysqldump-no-binlog.test
new file mode 100644
index 00000000000..434b2931792
--- /dev/null
+++ b/mysql-test/t/mysqldump-no-binlog.test
@@ -0,0 +1,6 @@
+# Embedded server doesn't support external clients
+--source include/not_embedded.inc
+
+--replace_regex /MASTER_LOG_POS=[0-9]+/XX/
+--error 2
+--exec $MYSQL_DUMP --compact --master-data=2 test 2>&1
diff --git a/mysql-test/t/mysqldump.test b/mysql-test/t/mysqldump.test
index 171434f9dfd..1792b11435c 100644
--- a/mysql-test/t/mysqldump.test
+++ b/mysql-test/t/mysqldump.test
@@ -1577,6 +1577,23 @@ SELECT * FROM t2;
DROP TABLE t1,t2;
--echo #
+--echo # Bug#29815: new option for suppressing last line of mysqldump:
+--echo # "Dump completed on"
+--echo #
+
+--echo # --skip-dump-date:
+--replace_regex /-- [^D][^u][^m][^p].*// /\/\*!.*//
+--exec $MYSQL_DUMP --skip-dump-date test
+
+--echo # --dump-date:
+--replace_regex /-- [^D][^u][^m][^p].*// /\/\*!.*// / on [0-9 :-]+/ on DATE/
+--exec $MYSQL_DUMP --dump-date test
+
+--echo # --dump-date (default):
+--replace_regex /-- [^D][^u][^m][^p].*// /\/\*!.*// / on [0-9 :-]+/ on DATE/
+--exec $MYSQL_DUMP test
+
+--echo #
--echo # End of 5.0 tests
--echo #
@@ -1596,6 +1613,10 @@ DROP TABLE t1;
#
# Added for use-thread option
#
+
+# THIS PART OF THE TEST IS DISABLED UNTIL BUG#32991 IS FIXED
+if ($bug32991_fixed) {
+
create table t1 (a text , b text);
create table t2 (a text , b text);
insert t1 values ("Duck, Duck", "goose");
@@ -1633,6 +1654,8 @@ drop table t2;
drop table words2;
+}
+
--echo #
--echo # BUG# 16853: mysqldump doesn't show events
--echo #
@@ -1756,5 +1779,88 @@ DROP DATABASE mysqldump_test_db;
###########################################################################
--echo #
+--echo # BUG#29938: wrong behavior of mysqldump --skip-events
+--echo # with --all-databases
+--echo #
+
+TRUNCATE mysql.event;
+
+USE test;
+CREATE event e29938 ON SCHEDULE AT '2035-12-31 20:01:23' DO SET @bug29938=29938;
+SHOW EVENTS;
+--exec $MYSQL_DUMP --skip-events --all-databases > $MYSQLTEST_VARDIR/tmp/bug29938.sql
+
+TRUNCATE mysql.event;
+--exec $MYSQL < $MYSQLTEST_VARDIR/tmp/bug29938.sql
+SHOW EVENTS;
+
+
+--echo #
+--echo # Bug#31113 mysqldump 5.1 can't handle a dash ("-") in database names
+--echo #
+create database `test-database`;
+use `test-database`;
+create table test (a int);
+--exec $MYSQL_DUMP --compact --opt --quote-names test-database
+drop database `test-database`;
+use test;
+
+###########################################################################
+
+--echo
+--echo # -----------------------------------------------------------------
+--echo # -- Bug#30217: Views: changes in metadata behaviour between 5.0 and 5.1.
+--echo # -----------------------------------------------------------------
+--echo
+
+--disable_warnings
+DROP DATABASE IF EXISTS mysqldump_test_db;
+--enable_warnings
+
+CREATE DATABASE mysqldump_test_db;
+use mysqldump_test_db;
+
+--echo
+
+CREATE VIEW v1(x, y) AS SELECT 'a', 'a';
+
+--echo
+
+SELECT view_definition
+FROM INFORMATION_SCHEMA.VIEWS
+WHERE table_schema = 'mysqldump_test_db' AND table_name = 'v1';
+
+--echo
+
+--echo ---> Dumping mysqldump_test_db to bug30217.sql
+--exec $MYSQL_DUMP --character-sets-dir=$CHARSETSDIR --databases mysqldump_test_db > $MYSQLTEST_VARDIR/tmp/bug30217.sql
+
+--echo
+
+DROP DATABASE mysqldump_test_db;
+use test;
+
+--echo
+
+--echo ---> Restoring mysqldump_test_db...
+--exec $MYSQL test < $MYSQLTEST_VARDIR/tmp/bug30217.sql
+
+--echo
+
+SELECT view_definition
+FROM INFORMATION_SCHEMA.VIEWS
+WHERE table_schema = 'mysqldump_test_db' AND table_name = 'v1';
+
+--echo
+
+DROP DATABASE mysqldump_test_db;
+
+--echo
+--echo # -- End of test case for Bug#32538.
+--echo
+
+###########################################################################
+
+--echo #
--echo # End of 5.1 tests
--echo #
diff --git a/mysql-test/t/mysqlslap.test b/mysql-test/t/mysqlslap.test
index 192aefb0e03..28042f62fe6 100644
--- a/mysql-test/t/mysqlslap.test
+++ b/mysql-test/t/mysqlslap.test
@@ -38,3 +38,18 @@
--exec $MYSQL_SLAP --only-print --delimiter=";" --query="select * from t1;select * from t2" --create="CREATE TABLE t1 (id int, name varchar(64)); create table t2(foo1 varchar(32), foo2 varchar(32)); INSERT INTO t1 VALUES (1, 'This is a test'); insert into t2 values ('test', 'test2')" --engine="heap,myisam" --post-query="SHOW TABLES" --pre-query="SHOW TABLES";
--exec $MYSQL_SLAP --only-print --delimiter=";" --query="select * from t1;select * from t2" --create="CREATE TABLE t1 (id int, name varchar(64)); create table t2(foo1 varchar(32), foo2 varchar(32)); INSERT INTO t1 VALUES (1, 'This is a test'); insert into t2 values ('test', 'test2')" --engine="heap,myisam" --post-query="SHOW TABLES" --pre-query="SHOW TABLES" --number-of-queries=6 --commit=1;
+
+--exec $MYSQL_SLAP --silent --concurrency=5 --iterations=1 --number-int-cols=2 --number-char-cols=3 --auto-generate-sql --auto-generate-sql-add-autoincrement --auto-generate-sql-load-type=write --detach=2
+
+--echo #
+--echo # Bug #29985: mysqlslap -- improper handling of resultsets in SPROCs
+--echo #
+
+--disable_warnings
+DROP PROCEDURE IF EXISTS p1;
+--enable_warnings
+CREATE PROCEDURE p1() SELECT 1;
+
+--exec $MYSQL_SLAP --create-schema=test --delimiter=";" --query="CALL p1; SELECT 1;" --silent 2>&1
+
+DROP PROCEDURE p1;
diff --git a/mysql-test/t/mysqltest.test b/mysql-test/t/mysqltest.test
index b01579dce53..5856bfff036 100644
--- a/mysql-test/t/mysqltest.test
+++ b/mysql-test/t/mysqltest.test
@@ -366,6 +366,7 @@ show status;
EOF
--error 1
--exec $MYSQL_TEST < $MYSQLTEST_VARDIR/tmp/mysqltest.sql 2>&1
+remove_file $MYSQLTEST_VARDIR/tmp/mysqltest.sql;
#
# Missing delimiter until eof
@@ -377,6 +378,7 @@ sleep 7
EOF
--error 1
--exec $MYSQL_TEST < $MYSQLTEST_VARDIR/tmp/mysqltest.sql 2>&1
+remove_file $MYSQLTEST_VARDIR/tmp/mysqltest.sql;
#
# Missing delimiter until "disable_query_log"
@@ -391,6 +393,7 @@ disable_query_log;
EOF
--error 1
--exec $MYSQL_TEST < $MYSQLTEST_VARDIR/tmp/mysqltest.sql 2>&1
+remove_file $MYSQLTEST_VARDIR/tmp/mysqltest.sql;
#
# Missing delimiter until "disable_query_log"
@@ -406,6 +409,7 @@ disable_query_log;
EOF
--error 1
--exec $MYSQL_TEST < $MYSQLTEST_VARDIR/tmp/mysqltest.sql 2>&1
+remove_file $MYSQLTEST_VARDIR/tmp/mysqltest.sql;
#
# Missing delimiter until eof
@@ -422,6 +426,7 @@ disconnect default
EOF
--error 1
--exec $MYSQL_TEST < $MYSQLTEST_VARDIR/tmp/mysqltest.sql 2>&1
+remove_file $MYSQLTEST_VARDIR/tmp/mysqltest.sql;
#
# Missing delimiter until eof
@@ -436,6 +441,8 @@ EOF
--error 1
--exec $MYSQL_TEST < $MYSQLTEST_VARDIR/tmp/mysqltest.sql 2>&1
+remove_file $MYSQLTEST_VARDIR/tmp/mysqltest.sql;
+
#
# Extra delimiter
#
@@ -734,38 +741,40 @@ if (`select length("$var3") > 0`)
# Test to assign let from query
# let $<var_name>=`<query>`;
# ----------------------------------------------------------------------------
---disable_parsing
echo var1;
let $var1= `select "hi" as "Col", 1 as "Column1", "hi there" as Col3`;
echo $var1;
-echo $var1_Col;
-echo $var1_Column1;
-echo $var1_Col3;
echo var2;
let $var2= `select 2 as "Column num 2"`;
echo $var2;
-echo $var2_Column num 2;
-echo $var2_Column;
echo var2 again;
let $var2= `select 2 as "Column num 2"`;
echo $var2;
-echo $var2_Column num 2;
-echo $var2_Column_num_2;
-echo $var2_Column;
echo var3 two columns with same name;
let $var3= `select 1 as "Col", 2 as "Col", 3 as "var3"`;
echo $var3;
-echo $var3_Col;
-echo $var3_Col;
-echo $var3_var3;
-#echo failing query in let;
-#--error 1
-#--exec echo "let $var2= `failing query;`" | $MYSQL_TEST 2>&1
---enable_parsing
+echo var4 from query that returns NULL;
+let $var4= `select NULL`;
+
+echo var5 from query that returns no row;
+let $var5= `SHOW VARIABLES LIKE "nonexisting_variable"`;
+
+echo failing query in let;
+--write_file $MYSQLTEST_VARDIR/tmp/let.sql
+let $var2= `failing query`;
+echo $var2;
+EOF
+
+--error 1
+--exec $MYSQL_TEST < $MYSQLTEST_VARDIR/tmp/let.sql 2>&1
+
+remove_file $MYSQLTEST_VARDIR/tmp/let.sql;
+
+
# ----------------------------------------------------------------------------
# Test source command
# ----------------------------------------------------------------------------
@@ -786,6 +795,7 @@ echo $var3_var3;
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--error 1
--exec echo "source $MYSQLTEST_VARDIR/tmp/recursive.sql;" | $MYSQL_TEST 2>&1
+remove_file $MYSQLTEST_VARDIR/tmp/recursive.sql;
# Source a file with error
--exec echo "garbage ;" > $MYSQLTEST_VARDIR/tmp/error.sql
@@ -793,6 +803,7 @@ echo $var3_var3;
--error 1
--exec echo "source $MYSQLTEST_VARDIR/tmp/error.sql;" | $MYSQL_TEST 2>&1
+remove_file $MYSQLTEST_VARDIR/tmp/error.sql;
# Test execution of source in a while loop
--write_file $MYSQLTEST_VARDIR/tmp/sourced.inc
@@ -843,6 +854,19 @@ while ($num)
--remove_file $MYSQLTEST_VARDIR/tmp/sourced.inc
+--write_file $MYSQLTEST_VARDIR/tmp/sourced.inc
+echo "hello";
+EOF
+
+let $x= sourced;
+source $MYSQLTEST_VARDIR/tmp/$x.inc;
+
+let $x= $MYSQLTEST_VARDIR;
+source $x/tmp/sourced.inc;
+
+--remove_file $MYSQLTEST_VARDIR/tmp/sourced.inc
+
+
# ----------------------------------------------------------------------------
# Test sleep command
# ----------------------------------------------------------------------------
@@ -963,7 +987,7 @@ if (!$counter)
echo Counter is not 0, (counter=10);
}
let $counter=0;
-if ($counter)
+if($counter)
{
echo Counter is greater than 0, (counter=0);
}
@@ -1156,6 +1180,7 @@ echo hej;
EOF
--error 1
--exec $MYSQL_TEST < $MYSQLTEST_VARDIR/tmp/mysqltest.sql 2>&1
+remove_file $MYSQLTEST_VARDIR/tmp/mysqltest.sql;
--write_file $MYSQLTEST_VARDIR/tmp/mysqltest.sql
while (0)
@@ -1163,6 +1188,7 @@ while (0)
EOF
--error 1
--exec $MYSQL_TEST < $MYSQLTEST_VARDIR/tmp/mysqltest.sql 2>&1
+remove_file $MYSQLTEST_VARDIR/tmp/mysqltest.sql;
--write_file $MYSQLTEST_VARDIR/tmp/mysqltest.sql
while (0){
@@ -1171,6 +1197,8 @@ EOF
--error 1
--exec $MYSQL_TEST < $MYSQLTEST_VARDIR/tmp/mysqltest.sql 2>&1
+remove_file $MYSQLTEST_VARDIR/tmp/mysqltest.sql;
+
# ----------------------------------------------------------------------------
# Test error messages returned from comments starting with a command
# ----------------------------------------------------------------------------
@@ -1262,6 +1290,7 @@ while ($i)
}
EOF
--exec echo "source $MYSQLTEST_VARDIR/tmp/mysqltest.sql; echo OK;" | $MYSQL_TEST 2>&1
+remove_file $MYSQLTEST_VARDIR/tmp/mysqltest.sql;
# Repeat connect/disconnect
--write_file $MYSQLTEST_VARDIR/tmp/mysqltest.sql
@@ -1276,6 +1305,7 @@ EOF
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--error 1
--exec echo "source $MYSQLTEST_VARDIR/tmp/mysqltest.sql;" | $MYSQL_TEST 2>&1
+remove_file $MYSQLTEST_VARDIR/tmp/mysqltest.sql;
# Select disconnected connection
--write_file $MYSQLTEST_VARDIR/tmp/mysqltest.sql
@@ -1286,6 +1316,7 @@ EOF
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--error 1
--exec echo "source $MYSQLTEST_VARDIR/tmp/mysqltest.sql;" | $MYSQL_TEST 2>&1
+remove_file $MYSQLTEST_VARDIR/tmp/mysqltest.sql;
# Connection name already used
--write_file $MYSQLTEST_VARDIR/tmp/mysqltest.sql
@@ -1296,6 +1327,8 @@ EOF
--error 1
--exec echo "source $MYSQLTEST_VARDIR/tmp/mysqltest.sql;" | $MYSQL_TEST 2>&1
+remove_file $MYSQLTEST_VARDIR/tmp/mysqltest.sql;
+
# connect when "disable_abort_on_error" caused "connection not found"
--replace_result $MASTER_MYSOCK MASTER_SOCKET $MASTER_MYPORT MASTER_PORT
--disable_abort_on_error
@@ -1399,7 +1432,14 @@ select "this will be executed";
--exec touch $MYSQLTEST_VARDIR/tmp/zero_length_file.result
--exec echo "echo ok;" > $MYSQLTEST_VARDIR/tmp/query.sql
--error 1
---exec $MYSQL_TEST -x $MYSQLTEST_VARDIR/tmp/query.sql -R $MYSQLTEST_VARDIR/tmp/zero_length_file.result 2>&1
+--exec $MYSQL_TEST -x $MYSQLTEST_VARDIR/tmp/query.sql -R $MYSQLTEST_VARDIR/tmp/zero_length_file.result > /dev/null 2>&1
+
+remove_file $MYSQLTEST_VARDIR/tmp/zero_length_file.result;
+--error 0,1
+remove_file $MYSQLTEST_VARDIR/log/zero_length_file.reject;
+--error 0,1
+remove_file $MYSQL_TEST_DIR/r/zero_length_file.reject;
+
#
# Test that a test file that does not generate any output fails.
#
@@ -1407,6 +1447,8 @@ select "this will be executed";
--error 1
--exec $MYSQL_TEST -x $MYSQLTEST_VARDIR/tmp/query.sql 2>&1
+remove_file $MYSQLTEST_VARDIR/tmp/query.sql;
+
#
# Test that mysqltest fails when there are no queries executed
# but a result file exists
@@ -1436,6 +1478,7 @@ echo Failing multi statement query;
--exec $MYSQL_TEST -x $MYSQLTEST_VARDIR/tmp/bug11731.sql 2>&1
drop table t1;
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--error 1
--exec $MYSQL_TEST --record -x $MYSQLTEST_VARDIR/tmp/bug11731.sql -R $MYSQLTEST_VARDIR/tmp/bug11731.out 2>&1
# The .out file should be non existent
@@ -1462,6 +1505,9 @@ drop table t1;
# The .out file should exist
--exec test -s $MYSQLTEST_VARDIR/tmp/bug11731.out
drop table t1;
+remove_file $MYSQLTEST_VARDIR/tmp/bug11731.out;
+remove_file $MYSQLTEST_VARDIR/log/bug11731.log;
+remove_file $MYSQLTEST_VARDIR/tmp/bug11731.sql;
#
# Bug#19890 mysqltest: "query" command is broken
@@ -1544,12 +1590,19 @@ write_file $MYSQLTEST_VARDIR/tmp/test_file1.tmp;
Content for test_file1
EOF
file_exists $MYSQLTEST_VARDIR/tmp/test_file1.tmp;
+cat_file $MYSQLTEST_VARDIR/tmp/test_file1.tmp;
remove_file $MYSQLTEST_VARDIR/tmp/test_file1.tmp;
write_file $MYSQLTEST_VARDIR/tmp/test_file1.tmp END_DELIMITER;
Content for test_file1 contains EOF
END_DELIMITER
file_exists $MYSQLTEST_VARDIR/tmp/test_file1.tmp;
+
+# write to already exisiting file
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+--error 1
+--exec echo "write_file $MYSQLTEST_VARDIR/tmp/test_file1.tmp;" | $MYSQL_TEST 2>&1
+
remove_file $MYSQLTEST_VARDIR/tmp/test_file1.tmp;
# ----------------------------------------------------------------------------
@@ -1571,6 +1624,8 @@ append_file $MYSQLTEST_VARDIR/tmp/test_file1.tmp;
Appended text on nonexisting file
EOF
+remove_file $MYSQLTEST_VARDIR/tmp/test_file1.tmp;
+
# ----------------------------------------------------------------------------
# test for cat_file
# ----------------------------------------------------------------------------
@@ -1581,6 +1636,7 @@ for cat_file command
of mysqltest
EOF
cat_file $MYSQLTEST_VARDIR/tmp/test_file1.tmp;
+remove_file $MYSQLTEST_VARDIR/tmp/test_file1.tmp;
--error 1
--exec echo "cat_file non_existing_file;" | $MYSQL_TEST 2>&1
@@ -1607,19 +1663,48 @@ for diff_file command
of mysqltest
EOF
+--write_file $MYSQLTEST_VARDIR/tmp/diff4.tmp
+Some data
+for diff_file command
+of musqltest
+EOF
+
# Compare equal files
--diff_files $MYSQLTEST_VARDIR/tmp/diff1.tmp $MYSQLTEST_VARDIR/tmp/diff2.tmp
--diff_files $MYSQLTEST_VARDIR/tmp/diff2.tmp $MYSQLTEST_VARDIR/tmp/diff1.tmp
-# Compare files that differ
+# Write the below commands to a intermediary file and execute them with
+# mysqltest in --exec, since the output will vary depending on what "diff"
+# is available it is sent to /dev/null
+--write_file $MYSQLTEST_VARDIR/tmp/diff.test
+# Compare files that differ in size
+--error 2
+--diff_files $MYSQLTEST_VARDIR/tmp/diff1.tmp $MYSQLTEST_VARDIR/tmp/diff3.tmp
+--error 2
+--diff_files $MYSQLTEST_VARDIR/tmp/diff3.tmp $MYSQLTEST_VARDIR/tmp/diff1.tmp
+
+# Compare files that differ only in content
--error 1
---diff_files $MYSQLTEST_VARDIR/tmp/diff3.tmp $MYSQLTEST_VARDIR/tmp/diff2.tmp
+--diff_files $MYSQLTEST_VARDIR/tmp/diff1.tmp $MYSQLTEST_VARDIR/tmp/diff4.tmp
--error 1
---diff_files $MYSQLTEST_VARDIR/tmp/diff1.tmp $MYSQLTEST_VARDIR/tmp/diff3.tmp
+--diff_files $MYSQLTEST_VARDIR/tmp/diff4.tmp $MYSQLTEST_VARDIR/tmp/diff1.tmp
+EOF
+
+# Execute the above diffs, and send their output to /dev/null - only
+# interesting to see that it returns correct error codes
+--exec $MYSQL_TEST < $MYSQLTEST_VARDIR/tmp/diff.test > /dev/null 2>&1
+
# Compare equal files, again...
--diff_files $MYSQLTEST_VARDIR/tmp/diff1.tmp $MYSQLTEST_VARDIR/tmp/diff2.tmp
+--remove_file $MYSQLTEST_VARDIR/tmp/diff1.tmp
+--remove_file $MYSQLTEST_VARDIR/tmp/diff2.tmp
+--remove_file $MYSQLTEST_VARDIR/tmp/diff3.tmp
+--remove_file $MYSQLTEST_VARDIR/tmp/diff4.tmp
+--remove_file $MYSQLTEST_VARDIR/tmp/diff.test
+
+
# ----------------------------------------------------------------------------
# test for file_exist
# ----------------------------------------------------------------------------
@@ -1672,6 +1757,7 @@ chmod 0000 $MYSQLTEST_VARDIR/tmp/file1.tmp;
#EOF
chmod 0777 $MYSQLTEST_VARDIR/tmp/file1.tmp;
+remove_file $MYSQLTEST_VARDIR/tmp/file1.tmp;
--write_file $MYSQLTEST_VARDIR/tmp/file1.tmp
test2
EOF
@@ -1997,5 +2083,46 @@ eval $show_statement;
drop table t1;
+# ----------------------------------------------------------------------------
+# Test change_user command
+# ----------------------------------------------------------------------------
+
+--error 1
+--exec echo "--change_user root,,inexistent" | $MYSQL_TEST 2>&1
+
+--error 1
+--exec echo "--change_user inexistent,,test" | $MYSQL_TEST 2>&1
+
+--error 1
+--exec echo "--change_user root,inexistent,test" | $MYSQL_TEST 2>&1
+
+--change_user
+--change_user root
+--change_user root,,
+--change_user root,,test
+
+# ----------------------------------------------------------------------------
+# Test mkdir and rmdir command
+# ----------------------------------------------------------------------------
+
+mkdir $MYSQLTEST_VARDIR/tmp/testdir;
+rmdir $MYSQLTEST_VARDIR/tmp/testdir;
+
+# Directory already exist
+mkdir $MYSQLTEST_VARDIR/tmp/testdir;
+--error 1
+mkdir $MYSQLTEST_VARDIR/tmp/testdir;
+
+# Remove dir with file inside
+write_file $MYSQLTEST_VARDIR/tmp/testdir/file1.txt;
+hello
+EOF
+--error 1
+rmdir $MYSQLTEST_VARDIR/tmp/testdir;
+
+remove_file $MYSQLTEST_VARDIR/tmp/testdir/file1.txt;
+rmdir $MYSQLTEST_VARDIR/tmp/testdir;
+
+
--echo End of tests
diff --git a/mysql-test/t/named_pipe-master.opt b/mysql-test/t/named_pipe-master.opt
new file mode 100644
index 00000000000..e534ae1eae5
--- /dev/null
+++ b/mysql-test/t/named_pipe-master.opt
@@ -0,0 +1 @@
+--loose-enable-named-pipe
diff --git a/mysql-test/t/named_pipe.test b/mysql-test/t/named_pipe.test
new file mode 100644
index 00000000000..e3dfd24bb52
--- /dev/null
+++ b/mysql-test/t/named_pipe.test
@@ -0,0 +1,14 @@
+# We currently only have named pipe support on windows, so
+# in order to optimize things we skip this test on all
+# other platforms
+--source include/windows.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'`){
+ skip No named pipe support;
+}
+
+# Source select test case
+-- source include/common-tests.inc
+
diff --git a/mysql-test/t/no-threads.test b/mysql-test/t/no-threads.test
index 806cf24e961..fd8365e5678 100644
--- a/mysql-test/t/no-threads.test
+++ b/mysql-test/t/no-threads.test
@@ -3,3 +3,14 @@
#
select 1+1;
select 1+2;
+SHOW GLOBAL VARIABLES LIKE 'thread_handling';
+
+#
+# Bug #30651 Problems with thread_handling system variable
+#
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.thread_handling;
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set GLOBAL thread_handling='one-thread';
diff --git a/mysql-test/t/not_embedded_server.test b/mysql-test/t/not_embedded_server.test
index 5beee5967a3..ffc13cf80f7 100644
--- a/mysql-test/t/not_embedded_server.test
+++ b/mysql-test/t/not_embedded_server.test
@@ -20,4 +20,38 @@ prepare stmt1 from ' SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST WHERE COMMAND!
execute stmt1;
deallocate prepare stmt1;
+
+#
+# Bug#31222: com_% global status counters behave randomly with
+# mysql_change_user.
+#
+# Moved from change_user.test due to Bug#34517: SHOW GLOBAL STATUS does not
+# work properly in embedded server.
+#
+# TODO: move it back when Bug#34517 is fixed.
+#
+
+FLUSH STATUS;
+
+--disable_result_log
+--disable_query_log
+
+let $i = 100;
+
+while ($i)
+{
+ dec $i;
+
+ SELECT 1;
+}
+
+--enable_query_log
+--enable_result_log
+
+SHOW GLOBAL STATUS LIKE 'com_select';
+
+--change_user
+
+SHOW GLOBAL STATUS LIKE 'com_select';
+
# End of 5.1 tests
diff --git a/mysql-test/t/null.test b/mysql-test/t/null.test
index 65e09b006ec..ddf6b8870fa 100644
--- a/mysql-test/t/null.test
+++ b/mysql-test/t/null.test
@@ -1,6 +1,6 @@
# Initialise
--disable_warnings
-drop table if exists t1;
+drop table if exists t1, t2;
--enable_warnings
#
@@ -61,7 +61,9 @@ drop table t1;
#
CREATE TABLE t1 (a varchar(16) NOT NULL default '', b smallint(6) NOT NULL default 0, c datetime NOT NULL default '0000-00-00 00:00:00', d smallint(6) NOT NULL default 0);
INSERT INTO t1 SET a = "", d= "2003-01-14 03:54:55";
+--error 1048
UPDATE t1 SET d=1/NULL;
+--error 1048
UPDATE t1 SET d=NULL;
--error 1048
INSERT INTO t1 (a) values (null);
@@ -231,4 +233,27 @@ drop table bug19145a;
drop table bug19145b;
drop table bug19145c;
-# End of 4.1 tests
+--echo # End of 4.1 tests
+
+--echo #
+--echo # Bug #31471: decimal_bin_size: Assertion `scale >= 0 &&
+--echo # precision > 0 && scale <= precision'
+--echo #
+
+CREATE TABLE t1 (a DECIMAL (1, 0) ZEROFILL, b DECIMAL (1, 0) ZEROFILL);
+INSERT INTO t1 (a, b) VALUES (0, 0);
+
+CREATE TABLE t2 SELECT IFNULL(a, b) FROM t1;
+DESCRIBE t2;
+DROP TABLE t2;
+
+CREATE TABLE t2 SELECT IFNULL(a, NULL) FROM t1;
+DESCRIBE t2;
+DROP TABLE t2;
+
+CREATE TABLE t2 SELECT IFNULL(NULL, b) FROM t1;
+DESCRIBE t2;
+
+DROP TABLE t1, t2;
+
+--echo # End of 5.0 tests
diff --git a/mysql-test/t/null_key.test b/mysql-test/t/null_key.test
index e15aec01d2a..1400c643203 100644
--- a/mysql-test/t/null_key.test
+++ b/mysql-test/t/null_key.test
@@ -240,3 +240,26 @@ SHOW STATUS LIKE "handler_read%";
DROP TABLE t1,t2,t3,t4;
# End of 4.1 tests
+
+#
+# BUG#34945 "ref_or_null queries that are null_rejecting and have a null value crash mysql"
+#
+CREATE TABLE t1 (
+ a int(11) default NULL,
+ b int(11) default NULL,
+ KEY a (a,b)
+);
+INSERT INTO t1 VALUES (0,10),(0,11),(0,12);
+
+CREATE TABLE t2 (
+ a int(11) default NULL,
+ b int(11) default NULL,
+ KEY a (a)
+);
+INSERT INTO t2 VALUES (3,NULL),(3,11),(3,12);
+
+SELECT * FROM t2 inner join t1 WHERE ( t1.a = 0 OR t1.a IS NULL) AND t2.a = 3 AND t2.b = t1.b;
+
+drop table t1, t2;
+-- echo End of 5.0 tests
+
diff --git a/mysql-test/t/olap.test b/mysql-test/t/olap.test
index 05934bff492..d1e40024733 100644
--- a/mysql-test/t/olap.test
+++ b/mysql-test/t/olap.test
@@ -358,3 +358,21 @@ SELECT * FROM (SELECT a, SUM(a) FROM t1 GROUP BY a WITH ROLLUP) as t;
DROP TABLE t1;
+--echo #
+--echo # Bug#31095: Unexpected NULL constant caused server crash.
+--echo #
+create table t1(a int);
+insert into t1 values (1),(2),(3);
+select count(a) from t1 group by null with rollup;
+drop table t1;
+--echo ##############################################################
+
+#
+# Bug #32558: group by null-returning expression with rollup causes crash
+#
+CREATE TABLE t1(a INT);
+INSERT INTO t1 VALUES(0);
+SELECT 1 FROM t1 GROUP BY (DATE(NULL)) WITH ROLLUP;
+DROP TABLE t1;
+
+--echo End of 5.0 tests
diff --git a/mysql-test/t/order_by.test b/mysql-test/t/order_by.test
index 1e520da9f00..898742c2682 100644
--- a/mysql-test/t/order_by.test
+++ b/mysql-test/t/order_by.test
@@ -739,3 +739,111 @@ INSERT INTO t2 VALUES (1,1),(1,2),(2,1),(2,2);
EXPLAIN SELECT 1 FROM t1,t2 WHERE t1.b=2 AND t1.a=t2.a ORDER BY t2.b;
DROP TABLE t1,t2;
+
+# End of 5.0
+
+#
+# Bug #28404: query with ORDER BY and ref access
+#
+
+CREATE TABLE t1(
+ id int auto_increment PRIMARY KEY, c2 int, c3 int, INDEX k2(c2), INDEX k3(c3));
+
+INSERT INTO t1 (c2,c3) VALUES
+ (31,34),(35,38),(34,31),(32,35),(31,39),
+ (11,14),(15,18),(14,11),(12,15),(11,19);
+
+INSERT INTO t1 (c2,c3) SELECT c2,c3 FROM t1;
+INSERT INTO t1 (c2,c3) SELECT c2,c3 FROM t1;
+INSERT INTO t1 (c2,c3) SELECT c2,c3 FROM t1;
+INSERT INTO t1 (c2,c3) SELECT c2,c3 FROM t1;
+INSERT INTO t1 (c2,c3) SELECT c2,c3 FROM t1;
+INSERT INTO t1 (c2,c3) SELECT c2,c3 FROM t1;
+INSERT INTO t1 (c2,c3) SELECT c2,c3 FROM t1;
+INSERT INTO t1 (c2,c3) SELECT c2,c3 FROM t1;
+INSERT INTO t1 (c2,c3) SELECT c2,c3 FROM t1;
+INSERT INTO t1 (c2,c3) SELECT c2,c3 FROM t1;
+INSERT INTO t1 (c2,c3) SELECT c2,c3 FROM t1;
+INSERT INTO t1 (c2,c3) SELECT c2,c3 FROM t1;
+UPDATE t1 SET c2=20 WHERE id%100 = 0;
+SELECT COUNT(*) FROM t1;
+
+CREATE TABLE t2 LIKE t1;
+INSERT INTO t2 SELECT * FROM t1 ORDER BY id;
+
+EXPLAIN SELECT id,c3 FROM t2 WHERE c2=11 ORDER BY c3 LIMIT 20;
+EXPLAIN SELECT id,c3 FROM t2 WHERE c2=11 ORDER BY c3 LIMIT 4000;
+EXPLAIN SELECT id,c3 FROM t2 WHERE c2 BETWEEN 10 AND 12 ORDER BY c3 LIMIT 20;
+EXPLAIN SELECT id,c3 FROM t2 WHERE c2 BETWEEN 20 AND 30 ORDER BY c3 LIMIT 4000;
+
+SELECT id,c3 FROM t2 WHERE c2=11 ORDER BY c3 LIMIT 20;
+
+DROP TABLE t1,t2;
+
+#
+# Bug #30665: Inconsistent optimization of IGNORE INDEX FOR {ORDER BY|GROUP BY}
+#
+CREATE TABLE t1 (
+ a INT,
+ b INT,
+ PRIMARY KEY (a),
+ KEY ab(a, b)
+);
+INSERT INTO t1 VALUES (1,1),(2,2),(3,3),(4,4);
+INSERT INTO t1 SELECT a + 4, b + 4 FROM t1;
+INSERT INTO t1 SELECT a + 8, b + 8 FROM t1;
+INSERT INTO t1 SELECT a +16, b +16 FROM t1;
+INSERT INTO t1 SELECT a +32, b +32 FROM t1;
+INSERT INTO t1 SELECT a +64, b +64 FROM t1;
+
+EXPLAIN SELECT a FROM t1 IGNORE INDEX FOR GROUP BY (a, ab) GROUP BY a;
+
+--disable_query_log
+--let $q = `show status like 'Created_tmp_tables';`
+eval set @tmp_tables_before =
+ CAST(REPLACE('$q', 'Created_tmp_tables', '') AS UNSIGNED);
+--enable_query_log
+
+SELECT a FROM t1 IGNORE INDEX FOR GROUP BY (a, ab) GROUP BY a;
+
+# this query creates one temporary table in itself, which we are not
+# interested in.
+
+--disable_query_log
+--let $q = `show status like 'Created_tmp_tables';`
+eval set @tmp_tables_after =
+ CAST(REPLACE('$q', 'Created_tmp_tables', '') AS UNSIGNED);
+--enable_query_log
+
+SELECT @tmp_tables_after = @tmp_tables_before ;
+
+EXPLAIN SELECT a FROM t1 IGNORE INDEX FOR ORDER BY (a, ab) ORDER BY a;
+
+--disable_query_log
+--let $q = `show status like 'Created_tmp_tables';`
+eval set @tmp_tables_before =
+ CAST(REPLACE('$q', 'Created_tmp_tables', '') AS UNSIGNED);
+--enable_query_log
+
+SELECT a FROM t1 IGNORE INDEX FOR ORDER BY (a, ab) ORDER BY a;
+
+--disable_query_log
+--let $q = `show status like 'Created_tmp_tables';`
+eval set @tmp_tables_after =
+ CAST(REPLACE('$q', 'Created_tmp_tables', '') AS UNSIGNED);
+--enable_query_log
+
+SELECT @tmp_tables_after = @tmp_tables_before;
+
+DROP TABLE t1;
+--echo #
+--echo # Bug#31590: Wrong error message on sort buffer being too small.
+--echo #
+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
+select * from t1 order by b;
+drop table t1;
+
diff --git a/mysql-test/t/order_fill_sortbuf-master.opt b/mysql-test/t/order_fill_sortbuf-master.opt
index 116494d4588..9aa3cc76221 100644
--- a/mysql-test/t/order_fill_sortbuf-master.opt
+++ b/mysql-test/t/order_fill_sortbuf-master.opt
@@ -1 +1 @@
---set-variable=sort_buffer=0
+--set-variable=sort_buffer=32804
diff --git a/mysql-test/t/outfile_loaddata.test b/mysql-test/t/outfile_loaddata.test
new file mode 100644
index 00000000000..2a120871e7d
--- /dev/null
+++ b/mysql-test/t/outfile_loaddata.test
@@ -0,0 +1,113 @@
+--disable_warnings
+DROP TABLE IF EXISTS t1, t2;
+--enable_warnings
+
+--echo #
+--echo # Bug#31663 FIELDS TERMINATED BY special character
+--echo #
+
+CREATE TABLE t1 (i1 int, i2 int, c1 VARCHAR(256), c2 VARCHAR(256));
+INSERT INTO t1 VALUES (101, 202, '-r-', '=raker=');
+
+--let $fields=*
+--let $clauses=FIELDS TERMINATED BY 'raker'
+--echo # $clauses, warning:
+
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+--eval SELECT $fields INTO OUTFILE '$MYSQLTEST_VARDIR/tmp/bug31663.txt' $clauses FROM t1
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+--eval SELECT LOAD_FILE('$MYSQLTEST_VARDIR/tmp/bug31663.txt')
+--eval CREATE TABLE t2 SELECT $fields FROM t1
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+--eval LOAD DATA INFILE '$MYSQLTEST_VARDIR/tmp/bug31663.txt' INTO TABLE t2 $clauses
+--eval SELECT $fields FROM t2
+--remove_file $MYSQLTEST_VARDIR/tmp/bug31663.txt
+DROP TABLE t2;
+
+--let $fields=i1, i2
+--let $clauses=FIELDS TERMINATED BY 'r'
+--echo # Only numeric fields, $clauses, no warnings:
+
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+--eval SELECT $fields INTO OUTFILE '$MYSQLTEST_VARDIR/tmp/bug31663.txt' $clauses FROM t1
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+--eval SELECT LOAD_FILE('$MYSQLTEST_VARDIR/tmp/bug31663.txt')
+--eval CREATE TABLE t2 SELECT $fields FROM t1
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+--eval LOAD DATA INFILE '$MYSQLTEST_VARDIR/tmp/bug31663.txt' INTO TABLE t2 $clauses
+--eval SELECT $fields FROM t2
+--remove_file $MYSQLTEST_VARDIR/tmp/bug31663.txt
+DROP TABLE t2;
+
+--let $fields=*
+--let $clauses=FIELDS TERMINATED BY '0'
+--echo # $clauses, warning:
+
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+--eval SELECT $fields INTO OUTFILE '$MYSQLTEST_VARDIR/tmp/bug31663.txt' $clauses FROM t1
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+--eval SELECT LOAD_FILE('$MYSQLTEST_VARDIR/tmp/bug31663.txt')
+--eval CREATE TABLE t2 SELECT $fields FROM t1
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+--eval LOAD DATA INFILE '$MYSQLTEST_VARDIR/tmp/bug31663.txt' INTO TABLE t2 $clauses
+--eval SELECT $fields FROM t2
+--remove_file $MYSQLTEST_VARDIR/tmp/bug31663.txt
+DROP TABLE t2;
+
+--let $fields=*
+--let $clauses=FIELDS OPTIONALLY ENCLOSED BY '"' TERMINATED BY '0'
+--echo # $clauses, warning:
+
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+--eval SELECT $fields INTO OUTFILE '$MYSQLTEST_VARDIR/tmp/bug31663.txt' $clauses FROM t1
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+--eval SELECT LOAD_FILE('$MYSQLTEST_VARDIR/tmp/bug31663.txt')
+--eval CREATE TABLE t2 SELECT $fields FROM t1
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+--eval LOAD DATA INFILE '$MYSQLTEST_VARDIR/tmp/bug31663.txt' INTO TABLE t2 $clauses
+--eval SELECT $fields FROM t2
+--remove_file $MYSQLTEST_VARDIR/tmp/bug31663.txt
+DROP TABLE t2;
+
+--let $fields=c1, c2
+--let $clauses=FIELDS OPTIONALLY ENCLOSED BY '"' TERMINATED BY '0'
+--echo # Only string fields, $clauses, no warnings:
+
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+--eval SELECT $fields INTO OUTFILE '$MYSQLTEST_VARDIR/tmp/bug31663.txt' $clauses FROM t1
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+--eval SELECT LOAD_FILE('$MYSQLTEST_VARDIR/tmp/bug31663.txt')
+--eval CREATE TABLE t2 SELECT $fields FROM t1
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+--eval LOAD DATA INFILE '$MYSQLTEST_VARDIR/tmp/bug31663.txt' INTO TABLE t2 $clauses
+--eval SELECT $fields FROM t2
+--remove_file $MYSQLTEST_VARDIR/tmp/bug31663.txt
+DROP TABLE t2;
+
+DROP TABLE t1;
+
+--echo #
+--echo # Bug#32533: SELECT INTO OUTFILE never escapes multibyte character
+--echo #
+
+CREATE TABLE t1 (c1 VARCHAR(256));
+INSERT INTO t1 VALUES (0xC3);
+SELECT HEX(c1) FROM t1;
+
+--let $file=$MYSQLTEST_VARDIR/tmp/bug32533.txt
+
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+--eval SELECT * INTO OUTFILE '$file' FIELDS ENCLOSED BY 0xC3 FROM t1
+TRUNCATE t1;
+
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+--eval SELECT HEX(LOAD_FILE('$file'))
+
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+--eval LOAD DATA INFILE '$file' INTO TABLE t1 FIELDS ENCLOSED BY 0xC3
+SELECT HEX(c1) FROM t1;
+
+--remove_file $file
+DROP TABLE t1;
+
+--echo # End of 5.0 tests.
diff --git a/mysql-test/t/parser.test b/mysql-test/t/parser.test
index 65aa9dbb89b..800d717cf6b 100644
--- a/mysql-test/t/parser.test
+++ b/mysql-test/t/parser.test
@@ -363,6 +363,28 @@ create table VAR_SAMP(a int);
--error ER_PARSE_ERROR
create table VAR_SAMP (a int);
+#
+# Bug#25930 (CREATE TABLE x SELECT ... parses columns wrong when ran with
+# ANSI_QUOTES mode)
+#
+
+--disable_warnings
+DROP TABLE IF EXISTS table_25930_a;
+DROP TABLE IF EXISTS table_25930_b;
+--enable_warnings
+
+SET SQL_MODE = 'ANSI_QUOTES';
+CREATE TABLE table_25930_a ( "blah" INT );
+CREATE TABLE table_25930_b SELECT "blah" - 1 FROM table_25930_a;
+
+# The lexer used to chop the first <">,
+# not marking the start of the token "blah" correctly.
+desc table_25930_b;
+
+DROP TABLE table_25930_a;
+DROP TABLE table_25930_b;
+
+
SET @@sql_mode=@save_sql_mode;
#=============================================================================
@@ -607,3 +629,51 @@ select atan(10, 20 "p2");
-- error ER_WRONG_PARAMETERS_TO_NATIVE_FCT
select atan(10 AS p1, 20 AS p2);
+#
+# Bug#22312 Syntax error in expression with INTERVAL()
+#
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+
+SELECT STR_TO_DATE('10:00 PM', '%h:%i %p') + INTERVAL 10 MINUTE;
+SELECT STR_TO_DATE('10:00 PM', '%h:%i %p') + INTERVAL (INTERVAL(1,2,3) + 1) MINUTE;
+SELECT "1997-12-31 23:59:59" + INTERVAL 1 SECOND;
+SELECT 1 + INTERVAL(1,0,1,2) + 1;
+SELECT INTERVAL(1^1,0,1,2) + 1;
+SELECT INTERVAL(1,0+1,2,3) * 5.5;
+SELECT INTERVAL(3,3,1+3,4+4) / 0.5;
+SELECT (INTERVAL(1,0,1,2) + 5) * 7 + INTERVAL(1,0,1,2) / 2;
+SELECT INTERVAL(1,0,1,2) + 1, 5 * INTERVAL(1,0,1,2);
+SELECT INTERVAL(0,(1*5)/2) + INTERVAL(5,4,3);
+
+--disable_warnings
+SELECT 1^1 + INTERVAL 1+1 SECOND & 1 + INTERVAL 1+1 SECOND;
+SELECT 1%2 - INTERVAL 1^1 SECOND | 1%2 - INTERVAL 1^1 SECOND;
+--enable_warnings
+
+CREATE TABLE t1 (a INT, b DATETIME);
+INSERT INTO t1 VALUES (INTERVAL(3,2,1) + 1, "1997-12-31 23:59:59" + INTERVAL 1 SECOND);
+SELECT * FROM t1 WHERE a = INTERVAL(3,2,1) + 1;
+DROP TABLE t1;
+
+#
+# Bug#28317 Left Outer Join with {oj outer-join}
+#
+
+--disable_warnings
+DROP TABLE IF EXISTS t1,t2,t3;
+--enable_warnings
+CREATE TABLE t1 (a1 INT, a2 INT, a3 INT, a4 DATETIME);
+CREATE TABLE t2 LIKE t1;
+CREATE TABLE t3 LIKE t1;
+SELECT t1.* FROM t1 AS t0, { OJ t2 INNER JOIN t1 ON (t1.a1=t2.a1) } WHERE t0.a3=2;
+SELECT t1.*,t2.* FROM { OJ ((t1 INNER JOIN t2 ON (t1.a1=t2.a2)) LEFT OUTER JOIN t3 ON t3.a3=t2.a1)};
+SELECT t1.*,t2.* FROM { OJ ((t1 LEFT OUTER JOIN t2 ON t1.a3=t2.a2) INNER JOIN t3 ON (t3.a1=t2.a2))};
+SELECT t1.*,t2.* FROM { OJ (t1 LEFT OUTER JOIN t2 ON t1.a1=t2.a2) CROSS JOIN t3 ON (t3.a2=t2.a3)};
+SELECT * FROM {oj t1 LEFT OUTER JOIN t2 ON t1.a1=t2.a3} WHERE t1.a2 > 10;
+SELECT {fn CONCAT(a1,a2)} FROM t1;
+UPDATE t3 SET a4={d '1789-07-14'} WHERE a1=0;
+SELECT a1, a4 FROM t2 WHERE a4 LIKE {fn UCASE('1789-07-14')};
+DROP TABLE t1, t2, t3;
diff --git a/mysql-test/t/parser_precedence.test b/mysql-test/t/parser_precedence.test
new file mode 100644
index 00000000000..484c8759779
--- /dev/null
+++ b/mysql-test/t/parser_precedence.test
@@ -0,0 +1,333 @@
+
+--disable_warnings
+drop table if exists t1_30237_bool;
+--enable_warnings
+
+create table t1_30237_bool(A boolean, B boolean, C boolean);
+
+insert into t1_30237_bool values
+(FALSE, FALSE, FALSE),
+(FALSE, FALSE, NULL),
+(FALSE, FALSE, TRUE),
+(FALSE, NULL, FALSE),
+(FALSE, NULL, NULL),
+(FALSE, NULL, TRUE),
+(FALSE, TRUE, FALSE),
+(FALSE, TRUE, NULL),
+(FALSE, TRUE, TRUE),
+(NULL, FALSE, FALSE),
+(NULL, FALSE, NULL),
+(NULL, FALSE, TRUE),
+(NULL, NULL, FALSE),
+(NULL, NULL, NULL),
+(NULL, NULL, TRUE),
+(NULL, TRUE, FALSE),
+(NULL, TRUE, NULL),
+(NULL, TRUE, TRUE),
+(TRUE, FALSE, FALSE),
+(TRUE, FALSE, NULL),
+(TRUE, FALSE, TRUE),
+(TRUE, NULL, FALSE),
+(TRUE, NULL, NULL),
+(TRUE, NULL, TRUE),
+(TRUE, TRUE, FALSE),
+(TRUE, TRUE, NULL),
+(TRUE, TRUE, TRUE) ;
+
+--echo Testing OR, XOR, AND
+select A, B, A OR B, A XOR B, A AND B
+ from t1_30237_bool where C is null order by A, B;
+
+--echo Testing that OR is associative
+select A, B, C, (A OR B) OR C, A OR (B OR C), A OR B OR C
+ from t1_30237_bool order by A, B, C;
+
+select count(*) from t1_30237_bool
+ where ((A OR B) OR C) != (A OR (B OR C));
+
+--echo Testing that XOR is associative
+select A, B, C, (A XOR B) XOR C, A XOR (B XOR C), A XOR B XOR C
+ from t1_30237_bool order by A, B, C;
+
+select count(*) from t1_30237_bool
+ where ((A XOR B) XOR C) != (A XOR (B XOR C));
+
+--echo Testing that AND is associative
+select A, B, C, (A AND B) AND C, A AND (B AND C), A AND B AND C
+ from t1_30237_bool order by A, B, C;
+
+select count(*) from t1_30237_bool
+ where ((A AND B) AND C) != (A AND (B AND C));
+
+--echo Testing that AND has precedence over OR
+select A, B, C, (A OR B) AND C, A OR (B AND C), A OR B AND C
+ from t1_30237_bool order by A, B, C;
+select count(*) from t1_30237_bool
+ where (A OR (B AND C)) != (A OR B AND C);
+select A, B, C, (A AND B) OR C, A AND (B OR C), A AND B OR C
+ from t1_30237_bool order by A, B, C;
+select count(*) from t1_30237_bool
+ where ((A AND B) OR C) != (A AND B OR C);
+
+--echo Testing that AND has precedence over XOR
+select A, B, C, (A XOR B) AND C, A XOR (B AND C), A XOR B AND C
+ from t1_30237_bool order by A, B, C;
+select count(*) from t1_30237_bool
+ where (A XOR (B AND C)) != (A XOR B AND C);
+select A, B, C, (A AND B) XOR C, A AND (B XOR C), A AND B XOR C
+ from t1_30237_bool order by A, B, C;
+select count(*) from t1_30237_bool
+ where ((A AND B) XOR C) != (A AND B XOR C);
+
+--echo Testing that XOR has precedence over OR
+select A, B, C, (A XOR B) OR C, A XOR (B OR C), A XOR B OR C
+ from t1_30237_bool order by A, B, C;
+select count(*) from t1_30237_bool
+ where ((A XOR B) OR C) != (A XOR B OR C);
+select A, B, C, (A OR B) XOR C, A OR (B XOR C), A OR B XOR C
+ from t1_30237_bool order by A, B, C;
+select count(*) from t1_30237_bool
+ where (A OR (B XOR C)) != (A OR B XOR C);
+
+drop table t1_30237_bool;
+
+--echo Testing that NOT has precedence over OR
+select (NOT FALSE) OR TRUE, NOT (FALSE OR TRUE), NOT FALSE OR TRUE;
+
+--echo Testing that NOT has precedence over XOR
+select (NOT FALSE) XOR FALSE, NOT (FALSE XOR FALSE), NOT FALSE XOR FALSE;
+
+--echo Testing that NOT has precedence over AND
+select (NOT FALSE) AND FALSE, NOT (FALSE AND FALSE), NOT FALSE AND FALSE;
+
+--echo Testing that NOT is associative
+select NOT NOT TRUE, NOT NOT NOT FALSE;
+
+--echo Testing that IS has precedence over NOT
+select (NOT NULL) IS TRUE, NOT (NULL IS TRUE), NOT NULL IS TRUE;
+select (NOT NULL) IS NOT TRUE, NOT (NULL IS NOT TRUE), NOT NULL IS NOT TRUE;
+select (NOT NULL) IS FALSE, NOT (NULL IS FALSE), NOT NULL IS FALSE;
+select (NOT NULL) IS NOT FALSE, NOT (NULL IS NOT FALSE), NOT NULL IS NOT FALSE;
+select (NOT TRUE) IS UNKNOWN, NOT (TRUE IS UNKNOWN), NOT TRUE IS UNKNOWN;
+select (NOT TRUE) IS NOT UNKNOWN, NOT (TRUE IS NOT UNKNOWN), NOT TRUE IS NOT UNKNOWN;
+select (NOT TRUE) IS NULL, NOT (TRUE IS NULL), NOT TRUE IS NULL;
+select (NOT TRUE) IS NOT NULL, NOT (TRUE IS NOT NULL), NOT TRUE IS NOT NULL;
+
+--echo Testing that IS [NOT] TRUE/FALSE/UNKNOWN predicates are not associative
+# Documenting existing behavior in 5.0.48
+-- error ER_PARSE_ERROR
+select TRUE IS TRUE IS TRUE IS TRUE;
+-- error ER_PARSE_ERROR
+select FALSE IS NOT TRUE IS NOT TRUE IS NOT TRUE;
+-- error ER_PARSE_ERROR
+select NULL IS FALSE IS FALSE IS FALSE;
+-- error ER_PARSE_ERROR
+select TRUE IS NOT FALSE IS NOT FALSE IS NOT FALSE;
+-- error ER_PARSE_ERROR
+select FALSE IS UNKNOWN IS UNKNOWN IS UNKNOWN;
+-- error ER_PARSE_ERROR
+select TRUE IS NOT UNKNOWN IS NOT UNKNOWN IS NOT UNKNOWN;
+
+--echo Testing that IS [NOT] NULL predicates are associative
+# Documenting existing behavior in 5.0.48
+select FALSE IS NULL IS NULL IS NULL;
+select TRUE IS NOT NULL IS NOT NULL IS NOT NULL;
+
+--echo Testing that comparison operators are left associative
+select 1 <=> 2 <=> 2, (1 <=> 2) <=> 2, 1 <=> (2 <=> 2);
+select 1 = 2 = 2, (1 = 2) = 2, 1 = (2 = 2);
+select 1 != 2 != 3, (1 != 2) != 3, 1 != (2 != 3);
+select 1 <> 2 <> 3, (1 <> 2) <> 3, 1 <> (2 <> 3);
+select 1 < 2 < 3, (1 < 2) < 3, 1 < (2 < 3);
+select 3 <= 2 <= 1, (3 <= 2) <= 1, 3 <= (2 <= 1);
+select 1 > 2 > 3, (1 > 2) > 3, 1 > (2 > 3);
+select 1 >= 2 >= 3, (1 >= 2) >= 3, 1 >= (2 >= 3);
+
+-- echo Testing that | is associative
+select 0xF0 | 0x0F | 0x55, (0xF0 | 0x0F) | 0x55, 0xF0 | (0x0F | 0x55);
+
+-- echo Testing that & is associative
+select 0xF5 & 0x5F & 0x55, (0xF5 & 0x5F) & 0x55, 0xF5 & (0x5F & 0x55);
+
+-- echo Testing that << is left associative
+select 4 << 3 << 2, (4 << 3) << 2, 4 << (3 << 2);
+
+-- echo Testing that >> is left associative
+select 256 >> 3 >> 2, (256 >> 3) >> 2, 256 >> (3 >> 2);
+
+--echo Testing that & has precedence over |
+select 0xF0 & 0x0F | 0x55, (0xF0 & 0x0F) | 0x55, 0xF0 & (0x0F | 0x55);
+select 0x55 | 0xF0 & 0x0F, (0x55 | 0xF0) & 0x0F, 0x55 | (0xF0 & 0x0F);
+
+--echo Testing that << has precedence over |
+select 0x0F << 4 | 0x0F, (0x0F << 4) | 0x0F, 0x0F << (4 | 0x0F);
+select 0x0F | 0x0F << 4, (0x0F | 0x0F) << 4, 0x0F | (0x0F << 4);
+
+--echo Testing that >> has precedence over |
+select 0xF0 >> 4 | 0xFF, (0xF0 >> 4) | 0xFF, 0xF0 >> (4 | 0xFF);
+select 0xFF | 0xF0 >> 4, (0xFF | 0xF0) >> 4, 0xFF | (0xF0 >> 4);
+
+--echo Testing that << has precedence over &
+select 0x0F << 4 & 0xF0, (0x0F << 4) & 0xF0, 0x0F << (4 & 0xF0);
+select 0xF0 & 0x0F << 4, (0xF0 & 0x0F) << 4, 0xF0 & (0x0F << 4);
+
+--echo Testing that >> has precedence over &
+select 0xF0 >> 4 & 0x55, (0xF0 >> 4) & 0x55, 0xF0 >> (4 & 0x55);
+select 0x0F & 0xF0 >> 4, (0x0F & 0xF0) >> 4, 0x0F & (0xF0 >> 4);
+
+--echo Testing that >> and << have the same precedence
+select 0xFF >> 4 << 2, (0xFF >> 4) << 2, 0xFF >> (4 << 2);
+select 0x0F << 4 >> 2, (0x0F << 4) >> 2, 0x0F << (4 >> 2);
+
+--echo Testing that binary + is associative
+select 1 + 2 + 3, (1 + 2) + 3, 1 + (2 + 3);
+
+--echo Testing that binary - is left associative
+select 1 - 2 - 3, (1 - 2) - 3, 1 - (2 - 3);
+
+--echo Testing that binary + and binary - have the same precedence
+# evaluated left to right
+select 1 + 2 - 3, (1 + 2) - 3, 1 + (2 - 3);
+select 1 - 2 + 3, (1 - 2) + 3, 1 - (2 + 3);
+
+--echo Testing that binary + has precedence over |
+select 0xF0 + 0x0F | 0x55, (0xF0 + 0x0F) | 0x55, 0xF0 + (0x0F | 0x55);
+select 0x55 | 0xF0 + 0x0F, (0x55 | 0xF0) + 0x0F, 0x55 | (0xF0 + 0x0F);
+
+--echo Testing that binary + has precedence over &
+select 0xF0 + 0x0F & 0x55, (0xF0 + 0x0F) & 0x55, 0xF0 + (0x0F & 0x55);
+select 0x55 & 0xF0 + 0x0F, (0x55 & 0xF0) + 0x0F, 0x55 & (0xF0 + 0x0F);
+
+--echo Testing that binary + has precedence over <<
+select 2 + 3 << 4, (2 + 3) << 4, 2 + (3 << 4);
+select 3 << 4 + 2, (3 << 4) + 2, 3 << (4 + 2);
+
+--echo Testing that binary + has precedence over >>
+select 4 + 3 >> 2, (4 + 3) >> 2, 4 + (3 >> 2);
+select 3 >> 2 + 1, (3 >> 2) + 1, 3 >> (2 + 1);
+
+--echo Testing that binary - has precedence over |
+select 0xFF - 0x0F | 0x55, (0xFF - 0x0F) | 0x55, 0xFF - (0x0F | 0x55);
+select 0x55 | 0xFF - 0xF0, (0x55 | 0xFF) - 0xF0, 0x55 | (0xFF - 0xF0);
+
+--echo Testing that binary - has precedence over &
+select 0xFF - 0xF0 & 0x55, (0xFF - 0xF0) & 0x55, 0xFF - (0xF0 & 0x55);
+select 0x55 & 0xFF - 0xF0, (0x55 & 0xFF) - 0xF0, 0x55 & (0xFF - 0xF0);
+
+--echo Testing that binary - has precedence over <<
+select 16 - 3 << 2, (16 - 3) << 2, 16 - (3 << 2);
+select 4 << 3 - 2, (4 << 3) - 2, 4 << (3 - 2);
+
+--echo Testing that binary - has precedence over >>
+select 16 - 3 >> 2, (16 - 3) >> 2, 16 - (3 >> 2);
+select 16 >> 3 - 2, (16 >> 3) - 2, 16 >> (3 - 2);
+
+--echo Testing that * is associative
+select 2 * 3 * 4, (2 * 3) * 4, 2 * (3 * 4);
+
+--echo Testing that * has precedence over |
+select 2 * 0x40 | 0x0F, (2 * 0x40) | 0x0F, 2 * (0x40 | 0x0F);
+select 0x0F | 2 * 0x40, (0x0F | 2) * 0x40, 0x0F | (2 * 0x40);
+
+--echo Testing that * has precedence over &
+select 2 * 0x40 & 0x55, (2 * 0x40) & 0x55, 2 * (0x40 & 0x55);
+select 0xF0 & 2 * 0x40, (0xF0 & 2) * 0x40, 0xF0 & (2 * 0x40);
+
+--echo Testing that * has precedence over <<
+# Actually, can't prove it for the first case,
+# since << is a multiplication by a power of 2,
+# and * is associative
+select 5 * 3 << 4, (5 * 3) << 4, 5 * (3 << 4);
+select 2 << 3 * 4, (2 << 3) * 4, 2 << (3 * 4);
+
+--echo Testing that * has precedence over >>
+# >> is a multiplication by a (negative) power of 2,
+# see above.
+select 3 * 4 >> 2, (3 * 4) >> 2, 3 * (4 >> 2);
+select 4 >> 2 * 3, (4 >> 2) * 3, 4 >> (2 * 3);
+
+--echo Testing that * has precedence over binary +
+select 2 * 3 + 4, (2 * 3) + 4, 2 * (3 + 4);
+select 2 + 3 * 4, (2 + 3) * 4, 2 + (3 * 4);
+
+--echo Testing that * has precedence over binary -
+select 4 * 3 - 2, (4 * 3) - 2, 4 * (3 - 2);
+select 4 - 3 * 2, (4 - 3) * 2, 4 - (3 * 2);
+
+--echo Testing that / is left associative
+select 15 / 5 / 3, (15 / 5) / 3, 15 / (5 / 3);
+
+--echo Testing that / has precedence over |
+select 105 / 5 | 2, (105 / 5) | 2, 105 / (5 | 2);
+select 105 | 2 / 5, (105 | 2) / 5, 105 | (2 / 5);
+
+--echo Testing that / has precedence over &
+select 105 / 5 & 0x0F, (105 / 5) & 0x0F, 105 / (5 & 0x0F);
+select 0x0F & 105 / 5, (0x0F & 105) / 5, 0x0F & (105 / 5);
+
+--echo Testing that / has precedence over <<
+select 0x80 / 4 << 2, (0x80 / 4) << 2, 0x80 / (4 << 2);
+select 0x80 << 4 / 2, (0x80 << 4) / 2, 0x80 << (4 / 2);
+
+--echo Testing that / has precedence over >>
+select 0x80 / 4 >> 2, (0x80 / 4) >> 2, 0x80 / (4 >> 2);
+select 0x80 >> 4 / 2, (0x80 >> 4) / 2, 0x80 >> (4 / 2);
+
+--echo Testing that / has precedence over binary +
+select 0x80 / 2 + 2, (0x80 / 2) + 2, 0x80 / (2 + 2);
+select 0x80 + 2 / 2, (0x80 + 2) / 2, 0x80 + (2 / 2);
+
+--echo Testing that / has precedence over binary -
+select 0x80 / 4 - 2, (0x80 / 4) - 2, 0x80 / (4 - 2);
+select 0x80 - 4 / 2, (0x80 - 4) / 2, 0x80 - (4 / 2);
+
+# TODO: %, DIV, MOD
+
+--echo Testing that ^ is associative
+select 0xFF ^ 0xF0 ^ 0x0F, (0xFF ^ 0xF0) ^ 0x0F, 0xFF ^ (0xF0 ^ 0x0F);
+select 0xFF ^ 0xF0 ^ 0x55, (0xFF ^ 0xF0) ^ 0x55, 0xFF ^ (0xF0 ^ 0x55);
+
+--echo Testing that ^ has precedence over |
+select 0xFF ^ 0xF0 | 0x0F, (0xFF ^ 0xF0) | 0x0F, 0xFF ^ (0xF0 | 0x0F);
+select 0xF0 | 0xFF ^ 0xF0, (0xF0 | 0xFF) ^ 0xF0, 0xF0 | (0xFF ^ 0xF0);
+
+--echo Testing that ^ has precedence over &
+select 0xFF ^ 0xF0 & 0x0F, (0xFF ^ 0xF0) & 0x0F, 0xFF ^ (0xF0 & 0x0F);
+select 0x0F & 0xFF ^ 0xF0, (0x0F & 0xFF) ^ 0xF0, 0x0F & (0xFF ^ 0xF0);
+
+--echo Testing that ^ has precedence over <<
+select 0xFF ^ 0xF0 << 2, (0xFF ^ 0xF0) << 2, 0xFF ^ (0xF0 << 2);
+select 0x0F << 2 ^ 0xFF, (0x0F << 2) ^ 0xFF, 0x0F << (2 ^ 0xFF);
+
+--echo Testing that ^ has precedence over >>
+select 0xFF ^ 0xF0 >> 2, (0xFF ^ 0xF0) >> 2, 0xFF ^ (0xF0 >> 2);
+select 0xFF >> 2 ^ 0xF0, (0xFF >> 2) ^ 0xF0, 0xFF >> (2 ^ 0xF0);
+
+--echo Testing that ^ has precedence over binary +
+select 0xFF ^ 0xF0 + 0x0F, (0xFF ^ 0xF0) + 0x0F, 0xFF ^ (0xF0 + 0x0F);
+select 0x0F + 0xFF ^ 0xF0, (0x0F + 0xFF) ^ 0xF0, 0x0F + (0xFF ^ 0xF0);
+
+--echo Testing that ^ has precedence over binary -
+select 0xFF ^ 0xF0 - 1, (0xFF ^ 0xF0) - 1, 0xFF ^ (0xF0 - 1);
+select 0x55 - 0x0F ^ 0x55, (0x55 - 0x0F) ^ 0x55, 0x55 - (0x0F ^ 0x55);
+
+--echo Testing that ^ has precedence over *
+select 0xFF ^ 0xF0 * 2, (0xFF ^ 0xF0) * 2, 0xFF ^ (0xF0 * 2);
+select 2 * 0xFF ^ 0xF0, (2 * 0xFF) ^ 0xF0, 2 * (0xFF ^ 0xF0);
+
+--echo Testing that ^ has precedence over /
+select 0xFF ^ 0xF0 / 2, (0xFF ^ 0xF0) / 2, 0xFF ^ (0xF0 / 2);
+select 0xF2 / 2 ^ 0xF0, (0xF2 / 2) ^ 0xF0, 0xF2 / (2 ^ 0xF0);
+
+--echo Testing that ^ has precedence over %
+select 0xFF ^ 0xF0 % 0x20, (0xFF ^ 0xF0) % 0x20, 0xFF ^ (0xF0 % 0x20);
+select 0xFF % 0x20 ^ 0xF0, (0xFF % 0x20) ^ 0xF0, 0xFF % (0x20 ^ 0xF0);
+
+--echo Testing that ^ has precedence over DIV
+select 0xFF ^ 0xF0 DIV 2, (0xFF ^ 0xF0) DIV 2, 0xFF ^ (0xF0 DIV 2);
+select 0xF2 DIV 2 ^ 0xF0, (0xF2 DIV 2) ^ 0xF0, 0xF2 DIV (2 ^ 0xF0);
+
+--echo Testing that ^ has precedence over MOD
+select 0xFF ^ 0xF0 MOD 0x20, (0xFF ^ 0xF0) MOD 0x20, 0xFF ^ (0xF0 MOD 0x20);
+select 0xFF MOD 0x20 ^ 0xF0, (0xFF MOD 0x20) ^ 0xF0, 0xFF MOD (0x20 ^ 0xF0);
+
diff --git a/mysql-test/t/partition.test b/mysql-test/t/partition.test
index 42db23dadef..c4e447988db 100644
--- a/mysql-test/t/partition.test
+++ b/mysql-test/t/partition.test
@@ -1,53 +1,89 @@
#--disable_abort_on_error
#
# Simple test for the partition storage engine
-# Taken fromm the select test
+# taken from the select test.
#
--- source include/have_partition.inc
+# Last update:
+# 2007-10-22 mleich - Move ARCHIVE, BLACKHOLE and CSV related sub tests to
+# new tests. Reason: All these might be not available.
+# - Minor cleanup
+#
+--source include/have_partition.inc
--disable_warnings
drop table if exists t1;
--enable_warnings
+--error ER_PARTITION_FUNCTION_IS_NOT_ALLOWED
+create table t1 (a int) partition by list ((a/3)*10 div 1)
+(partition p0 values in (0), partition p1 values in (1));
+
+#
+# Bug #30695: An apostrophe ' in the comment of the ADD PARTITION causes the Server to crash.
+#
+# To verify the fix for crashing (on unix-type OS)
+# uncomment the exec and error rows!
+
+CREATE TABLE t1 (
+ d DATE NOT NULL
+)
+PARTITION BY RANGE( YEAR(d) ) (
+ PARTITION p0 VALUES LESS THAN (1960),
+ PARTITION p1 VALUES LESS THAN (1970),
+ PARTITION p2 VALUES LESS THAN (1980),
+ PARTITION p3 VALUES LESS THAN (1990)
+);
+
+ALTER TABLE t1 ADD PARTITION (
+PARTITION `p5` VALUES LESS THAN (2010)
+COMMENT 'APSTART \' APEND'
+);
+#--exec sed 's/APSTART \\/APSTART /' var/master-data/test/t1.frm > tmpt1.frm && mv tmpt1.frm var/master-data/test/t1.frm
+#--error ER_PARSE_ERROR
+SELECT * FROM t1 LIMIT 1;
+
+DROP TABLE t1;
+
+#
+# Bug 30878: crashing when alter an auto_increment non partitioned
+# table to partitioned
+
+create table t1 (id int auto_increment, s1 int, primary key (id));
+
+insert into t1 values (null,1);
+insert into t1 values (null,6);
+
+-- sorted_result
+select * from t1;
+
+alter table t1 partition by range (id) (
+ partition p0 values less than (3),
+ partition p1 values less than maxvalue
+);
+
+drop table t1;
+
#
# Bug 15890: Strange number of partitions accepted
#
--- error 1064
+-- error ER_PARSE_ERROR
create table t1 (a int)
partition by key(a)
partitions 0.2+e1;
--- error 1064
+-- error ER_PARSE_ERROR
create table t1 (a int)
partition by key(a)
partitions -1;
--- error 1064
+-- error ER_PARSE_ERROR
create table t1 (a int)
partition by key(a)
partitions 1.5;
--- error 1064
+-- error ER_PARSE_ERROR
create table t1 (a int)
partition by key(a)
partitions 1e+300;
#
-# Bug 21350: Data Directory problems
-#
--- error 1103
-create table t1 (a int)
-partition by key (a)
-(partition p0 DATA DIRECTORY 'part-data' INDEX DIRECTORY 'part-data');
-
-#
-# Insert a test that manages to create the first partition and fails with
-# the second, ensure that we clean up afterwards in a proper manner.
-#
---error 1103
-create table t1 (a int)
-partition by key (a)
-(partition p0,
- partition p1 DATA DIRECTORY 'part-data' INDEX DIRECTORY 'part-data');
-
-#
# Bug 19309 Partitions: Crash if double procedural alter
#
create table t1 (a int)
@@ -63,23 +99,14 @@ drop procedure pz;
drop table t1;
#
-# Bug 19307: CSV engine crashes
-#
---error ER_PARTITION_MERGE_ERROR
-create table t1 (a int)
-engine = csv
-partition by list (a)
-(partition p0 values in (null));
-
-#
# BUG 16002: Handle unsigned integer functions properly
#
---error 1064
+--error ER_PARSE_ERROR
create table t1 (a bigint)
partition by range (a)
(partition p0 values less than (0xFFFFFFFFFFFFFFFF),
partition p1 values less than (10));
---error 1064
+--error ER_PARSE_ERROR
create table t1 (a bigint)
partition by list (a)
(partition p0 values in (0xFFFFFFFFFFFFFFFF),
@@ -101,15 +128,6 @@ select * from t1 where (a + 1) > 10;
drop table t1;
#
-# Bug 19307: CSV engine crashes
-#
---error ER_PARTITION_MERGE_ERROR
-create table t1 (a int)
-engine = csv
-partition by list (a)
-(partition p0 values in (null));
-
-#
# Added test case
#
create table t1 (a int)
@@ -342,6 +360,16 @@ select * from t1 where a = 4;
drop table t1;
#
+# Bug#22351 - handler::index_next_same() call to key_cmp_if_same()
+# uses the wrong buffer
+#
+CREATE TABLE t1 (c1 INT, c2 INT, PRIMARY KEY USING BTREE (c1,c2)) ENGINE=MEMORY
+ PARTITION BY KEY(c2,c1) PARTITIONS 4;
+INSERT INTO t1 VALUES (0,0),(1,1),(2,2),(3,3),(4,4),(5,5),(6,6);
+SELECT * FROM t1 WHERE c1 = 4;
+DROP TABLE t1;
+
+#
# Bug #13438: Engine clause in PARTITION clause causes crash
#
CREATE TABLE t1 (a int)
@@ -413,34 +441,6 @@ analyze table t1;
drop table t1;
#
-# BUG 14524
-#
-# Disable warnings to allow this test case to work without
-# the Blackhole engine.
---disable_warnings
-CREATE TABLE `t1` (
- `id` int(11) default NULL
-) ENGINE=BLACKHOLE DEFAULT CHARSET=latin1 PARTITION BY HASH (id) ;
---enable_warnings
-SELECT * FROM t1;
-
-drop table t1;
-
-#
-# BUG 14524
-#
-# Disable warnings to allow this test case to work without
-# the Blackhole engine.
---disable_warnings
-CREATE TABLE `t1` (
- `id` int(11) default NULL
-) ENGINE=BLACKHOLE DEFAULT CHARSET=latin1 PARTITION BY HASH (id) ;
---enable_warnings
-SELECT * FROM t1;
-
-drop table t1;
-
-#
# BUG 15221 (Cannot reorganize with the same name)
#
create table t1
@@ -605,12 +605,14 @@ partition by key (a)
(partition p0, partition p1);
show create table t1;
---error ER_MIX_HANDLER_ERROR
+# Since alter, it already have ENGINE=HEAP from before on table level
+# -> OK
alter table t1
partition by key(a)
(partition p0, partition p1 engine=heap);
---error ER_MIX_HANDLER_ERROR
+# Since alter, it already have ENGINE=HEAP from before on table level
+# -> OK
alter table t1
partition by key(a)
(partition p0 engine=heap, partition p1);
@@ -766,7 +768,7 @@ create table t1 (a int)
partition by list (a)
(partition p0 values in (1));
---error 1064
+--error ER_PARSE_ERROR
alter table t1 rebuild partition;
drop table t1;
@@ -810,14 +812,14 @@ drop table t1;
#
# BUG 15407 Crash with subpartition
#
---error 1064
+--error ER_PARSE_ERROR
create table t1 (a int, b int)
partition by range (a)
subpartition by hash(a)
(partition p0 values less than (0) (subpartition sp0),
partition p1 values less than (1));
---error 1064
+--error ER_PARSE_ERROR
create table t1 (a int, b int)
partition by range (a)
subpartition by hash(a)
@@ -875,7 +877,7 @@ create table t1 (a int)
partition by list (a)
(partition p0 values in (1));
---error 1064
+--error ER_PARSE_ERROR
alter table t1 rebuild partition;
drop table t1;
@@ -937,7 +939,7 @@ drop table t1;
#
prepare stmt1 from 'create table t1 (s1 int) partition by hash (s1)';
execute stmt1;
---error 1050
+--error ER_TABLE_EXISTS_ERROR
execute stmt1;
drop table t1;
@@ -1126,7 +1128,7 @@ PARTITION BY LIST (a)
SHOW CREATE TABLE t1;
DROP TABLE t1;
---error 1064
+--error ER_PARSE_ERROR
CREATE TABLE t1 (a int)
PARTITION BY RANGE(a)
(PARTITION p0 VALUES LESS THAN (NULL));
@@ -1195,9 +1197,11 @@ SHOW TABLE STATUS;
DELETE from t1 where a = 1;
--replace_column 9 0 12 NULL 13 NULL 14 NULL
SHOW TABLE STATUS;
+# restore this after WL#4176 is completed
+-- error ER_CHECK_NOT_IMPLEMENTED
ALTER TABLE t1 OPTIMIZE PARTITION p0;
---replace_column 12 NULL 13 NULL 14 NULL
-SHOW TABLE STATUS;
+#--replace_column 12 NULL 13 NULL 14 NULL
+#SHOW TABLE STATUS;
DROP TABLE t1;
#
@@ -1211,34 +1215,19 @@ DROP TABLE t1;
#
# Bug 17455 Partitions: Wrong message and error when using Repair/Optimize
# table on partitioned table
-#
+# (added check/analyze for gcov of Bug#20129)
create table t1 (a int)
engine=MEMORY
partition by key (a);
REPAIR TABLE t1;
OPTIMIZE TABLE t1;
+CHECK TABLE t1;
+ANALYZE TABLE t1;
drop table t1;
#
-# Bug 17310 Partitions: Bugs with archived partitioned tables
-#
-create database db99;
-use db99;
-create table t1 (a int not null)
-engine=archive
-partition by list (a)
-(partition p0 values in (1), partition p1 values in (2));
-insert into t1 values (1), (2);
---error 0, 1005
-create index inx on t1 (a);
-alter table t1 add partition (partition p2 values in (3));
-alter table t1 drop partition p2;
-use test;
-drop database db99;
-
-#
#BUG 17138 Problem with stored procedure and analyze partition
#
--disable_warnings
@@ -1403,35 +1392,6 @@ SELECT t2.id FROM t2 WHERE t2.id IN (SELECT id FROM t1 WHERE status = 'Verified'
drop table t1, t2;
#
-# Bug #24633 SQL MODE "NO_DIR_IN_CREATE" does not work with partitioned tables
-#
-
-disable_query_log;
-eval create table t2 (i int )
-partition by range (i)
-(
- partition p01 values less than (1000)
- data directory="$MYSQLTEST_VARDIR/master-data/test/"
- index directory="$MYSQLTEST_VARDIR/master-data/test/"
-);
-enable_query_log;
-
-set @org_mode=@@sql_mode;
-set @@sql_mode='NO_DIR_IN_CREATE';
-select @@sql_mode;
-create table t1 (i int )
-partition by range (i)
-(
- partition p01 values less than (1000)
- data directory='/not/existing'
- index directory='/not/existing'
-);
-
-show create table t2;
-DROP TABLE t1, t2;
-set @@sql_mode=@org_mode;
-
-#
# Bug #27123 partition + on duplicate key update + varchar = Can't find record in <table>
#
create table t1 (c1 varchar(255),c2 tinyint,primary key(c1))
@@ -1481,6 +1441,15 @@ ALTER TABLE t1 DROP PARTITION p1;
DROP TABLE t1;
#
+# Bug #30484: Partitions: crash with self-referencing trigger
+#
+
+create table t (s1 int) engine=myisam partition by key (s1);
+create trigger t_ad after delete on t for each row insert into t values (old.s1);
+insert into t values (1);
+drop table t;
+
+#
# Bug #27816: Log tables ran with partitions crashes the server when logging
# is enabled.
#
@@ -1493,10 +1462,173 @@ ALTER TABLE general_log PARTITION BY RANGE (TO_DAYS(event_time))
(PARTITION p0 VALUES LESS THAN (733144), PARTITION p1 VALUES LESS THAN (3000000));
ALTER TABLE general_log ENGINE = CSV;
SET GLOBAL general_log = default;
+use test;
#
# Bug #27084 partitioning by list seems failing when using case
# BUG #18198: Case no longer supported, test case removed
#
+create table t2 (b int);
+--error ER_BAD_FIELD_ERROR
+create table t1 (b int)
+PARTITION BY RANGE (t2.b) (
+ PARTITION p1 VALUES LESS THAN (10),
+ PARTITION p2 VALUES LESS THAN (20)
+) select * from t2;
+create table t1 (a int)
+PARTITION BY RANGE (b) (
+ PARTITION p1 VALUES LESS THAN (10),
+ PARTITION p2 VALUES LESS THAN (20)
+) select * from t2;
+show create table t1;
+drop table t1, t2;
+
+#
+# Bug #32067 Partitions: crash with timestamp column
+# this bug occurs randomly on some UPDATE statement
+# with the '1032: Can't find record in 't1'' error
+
+create table t1
+ (s1 timestamp on update current_timestamp, s2 int)
+ partition by key(s1) partitions 3;
+
+insert into t1 values (null,null);
+--disable_query_log
+let $cnt= 1000;
+while ($cnt)
+{
+ update t1 set s2 = 1;
+ update t1 set s2 = 2;
+ dec $cnt;
+}
+--enable_query_log
+
+drop table t1;
+
+#
+# BUG#32272: partition crash 1: enum column
+#
+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;
+
+--disable_warnings
+insert ignore into t1 set c0 = -6502262, c1 = 3992917, c2 = 35019;
+insert ignore into t1 set c0 = 241221, c1 = -6862346, c2 = 56644;
+--enable_warnings
+# This must not fail assert:
+select c1 from t1 group by (select c0 from t1 limit 1);
+drop table t1;
+
+# Bug #30495: optimize table t1,t2,t3 extended errors
+# (added more maintenace commands for Bug#20129
+CREATE TABLE t1(a int)
+PARTITION BY RANGE (a) (
+ PARTITION p1 VALUES LESS THAN (10),
+ PARTITION p2 VALUES LESS THAN (20)
+);
+--error ER_PARSE_ERROR
+ALTER TABLE t1 OPTIMIZE PARTITION p1 EXTENDED;
+--error ER_PARSE_ERROR
+ALTER TABLE t1 ANALYZE PARTITION p1 EXTENDED;
+--error ER_CHECK_NOT_IMPLEMENTED
+ALTER TABLE t1 ANALYZE PARTITION p1;
+--error ER_CHECK_NOT_IMPLEMENTED
+ALTER TABLE t1 CHECK PARTITION p1;
+--error ER_CHECK_NOT_IMPLEMENTED
+ALTER TABLE t1 REPAIR PARTITION p1;
+--error ER_CHECK_NOT_IMPLEMENTED
+ALTER TABLE t1 OPTIMIZE PARTITION p1;
+DROP TABLE t1;
+
+#
+# Bug #29258: Partitions: search fails for maximum unsigned bigint
+#
+CREATE TABLE t1 (s1 BIGINT UNSIGNED)
+ PARTITION BY RANGE (s1) (
+ PARTITION p0 VALUES LESS THAN (0),
+ PARTITION p1 VALUES LESS THAN (1),
+ PARTITION p2 VALUES LESS THAN (18446744073709551615)
+);
+INSERT INTO t1 VALUES (0), (18446744073709551614);
+--error ER_NO_PARTITION_FOR_GIVEN_VALUE
+INSERT INTO t1 VALUES (18446744073709551615);
+DROP TABLE t1;
+
+CREATE TABLE t1 (s1 BIGINT UNSIGNED)
+ PARTITION BY RANGE (s1) (
+ PARTITION p0 VALUES LESS THAN (0),
+ PARTITION p1 VALUES LESS THAN (1),
+ PARTITION p2 VALUES LESS THAN (18446744073709551614),
+ PARTITION p3 VALUES LESS THAN MAXVALUE
+);
+INSERT INTO t1 VALUES (-1), (0), (18446744073709551613),
+ (18446744073709551614), (18446744073709551615);
+SELECT * FROM t1;
+SELECT * FROM t1 WHERE s1 = 0;
+SELECT * FROM t1 WHERE s1 = 18446744073709551614;
+SELECT * FROM t1 WHERE s1 = 18446744073709551615;
+DROP TABLE t1;
+
+CREATE TABLE t1 (s1 BIGINT UNSIGNED)
+ PARTITION BY RANGE (s1) (
+ PARTITION p0 VALUES LESS THAN (0),
+ PARTITION p1 VALUES LESS THAN (1),
+ PARTITION p2 VALUES LESS THAN (18446744073709551615),
+ PARTITION p3 VALUES LESS THAN MAXVALUE
+);
+DROP TABLE t1;
+
+#
+# Bug #31890 Partitions: ORDER BY DESC in InnoDB not working
+#
+
+CREATE TABLE t1
+(int_column INT, char_column CHAR(5),
+PRIMARY KEY(char_column,int_column))
+PARTITION BY KEY(char_column,int_column)
+PARTITIONS 101;
+INSERT INTO t1 (int_column, char_column) VALUES
+( 39868 ,'zZZRW'),
+( 545592 ,'zZzSD'),
+( 4936 ,'zzzsT'),
+( 9274 ,'ZzZSX'),
+( 970185 ,'ZZzTN'),
+( 786036 ,'zZzTO'),
+( 37240 ,'zZzTv'),
+( 313801 ,'zzzUM'),
+( 782427 ,'ZZZva'),
+( 907955 ,'zZZvP'),
+( 453491 ,'zzZWV'),
+( 756594 ,'ZZZXU'),
+( 718061 ,'ZZzZH');
+SELECT * FROM t1 ORDER BY char_column DESC;
+DROP TABLE t1;
+
+#
+# Bug #32247 Test reports wrong value of "AUTO_INCREMENT" (on a partitioned InnoDB table)
+#
+
+CREATE TABLE t1(id MEDIUMINT NOT NULL AUTO_INCREMENT,
+ user CHAR(25), PRIMARY KEY(id))
+ PARTITION BY RANGE(id)
+ SUBPARTITION BY hash(id) subpartitions 2
+ (PARTITION pa1 values less than (10),
+ PARTITION pa2 values less than (20),
+ PARTITION pa11 values less than MAXVALUE);
+--disable_query_log
+let $n= 15;
+while ($n)
+{
+ insert into t1 (user) values ('mysql');
+ dec $n;
+}
+--enable_query_log
+show create table t1;
+drop table t1;
--echo End of 5.1 tests
diff --git a/mysql-test/t/partition_02myisam.test b/mysql-test/t/partition_02myisam.test
deleted file mode 100644
index 107d0b89cea..00000000000
--- a/mysql-test/t/partition_02myisam.test
+++ /dev/null
@@ -1,25 +0,0 @@
-###############################################
-# #
-# Partition tests MyISAM tables #
-# #
-###############################################
-
-#
-# NOTE: PLEASE DO NOT ADD NOT MYISAM SPECIFIC TESTCASES HERE !
-# NON STORAGE SPECIFIC TESTCASES SHOULD BE ADDED IN
-# THE SOURCED FIELS ONLY.
-#
-
-# Storage engine to be tested
-let $engine= 'MYISAM';
-eval SET SESSION storage_engine=$engine;
-
-
-# Other storage engine <> storage engine to be tested
-let $engine_other= 'MEMORY';
-# number of rows for the INSERT/UPDATE/DELETE/SELECT experiments
-# on partioned tables
-# Attention: In the moment the result files fit to @max_row = 200 only
-SET @max_row = 200;
-
--- source include/partition_1.inc
diff --git a/mysql-test/t/partition_archive.test b/mysql-test/t/partition_archive.test
new file mode 100644
index 00000000000..fad57107b7d
--- /dev/null
+++ b/mysql-test/t/partition_archive.test
@@ -0,0 +1,107 @@
+# Tests for the partition storage engine in connection with the
+# storage engine ARCHIVE.
+#
+# Creation:
+# 2007-10-18 mleich - Move ARCHIVE related sub tests of partition.test to
+# this test. Reason: ARCHIVE is not everytime available.
+# - Minor cleanup
+#
+
+--source include/have_partition.inc
+--source include/have_archive.inc
+
+
+#
+# Bug 17310 Partitions: Bugs with archived partitioned tables
+#
+--disable_warnings
+drop database if exists db99;
+drop table if exists t1;
+--enable_warnings
+
+create database db99;
+use db99;
+create table t1 (a int not null)
+engine=archive
+partition by list (a)
+(partition p0 values in (1), partition p1 values in (2));
+insert into t1 values (1), (2);
+--error 0, ER_CANT_CREATE_TABLE
+create index inx on t1 (a);
+alter table t1 add partition (partition p2 values in (3));
+alter table t1 drop partition p2;
+use test;
+drop database db99;
+
+create table t1 (f1 integer) engine= ARCHIVE partition by list(f1)
+(
+ partition p1 values in (1),
+ partition p2 values in (NULL),
+ partition p3 values in (2),
+ partition p4 values in (3),
+ partition p5 values in (4)
+);
+
+insert into t1 values (1),(2),(3),(4),(null);
+select * from t1;
+select * from t1 where f1 < 3;
+drop table t1;
+
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null) engine=ARCHIVE
+partition by hash (a + 2)
+partitions 3
+(partition x1 tablespace ts1,
+ partition x2 tablespace ts2,
+ partition x3 tablespace ts3);
+
+insert into t1 values (1,1,1);
+insert into t1 values (2,1,1);
+insert into t1 values (3,1,1);
+insert into t1 values (4,1,1);
+insert into t1 values (5,1,1);
+
+select * from t1;
+
+drop table t1;
+
+#
+# Bug #32247 Test reports wrong value of "AUTO_INCREMENT" (on a partitioned InnoDB table)
+# (though reported as InnoDB bug, requires some ARCHIVE tests
+
+create table t1 (a int) engine=archive partition by hash(a);
+show create table t1;
+drop table t1;
+
+CREATE TABLE t1(id MEDIUMINT NOT NULL AUTO_INCREMENT,
+ f1 VARCHAR(25),
+ PRIMARY KEY(id)) ENGINE=ARCHIVE
+ PARTITION BY RANGE(id)
+ SUBPARTITION BY hash(id) subpartitions 2
+ (PARTITION pa1 values less than (10),
+ PARTITION pa2 values less than (20),
+ PARTITION pa3 values less than (30),
+ PARTITION pa4 values less than (40),
+ PARTITION pa5 values less than (50),
+ PARTITION pa6 values less than (60),
+ PARTITION pa7 values less than (70),
+ PARTITION pa8 values less than (80),
+ PARTITION pa9 values less than (90),
+ PARTITION pa10 values less than (100),
+ PARTITION pa11 values less than MAXVALUE);
+
+--disable_query_log
+let $n= 100;
+while ($n)
+{
+ insert into t1 (f1) values (repeat('a',25));
+ dec $n;
+}
+--enable_query_log
+
+show create table t1;
+select count(*) from t1;
+drop table t1;
+
diff --git a/mysql-test/t/partition_blackhole.test b/mysql-test/t/partition_blackhole.test
new file mode 100644
index 00000000000..9344ecb3b62
--- /dev/null
+++ b/mysql-test/t/partition_blackhole.test
@@ -0,0 +1,24 @@
+# Tests for the partition storage engine in connection with the
+# storage engine BLACKHOLE.
+#
+# Creation:
+# 2007-10-18 mleich - Move BLACKHOLE related sub tests of partition.test to
+# this test. Reason: BLACKHOLE is not everytime available.
+# - Minor cleanup
+#
+
+--source include/have_partition.inc
+--source include/have_blackhole.inc
+
+#
+# Bug#14524 Partitions: crash if blackhole
+#
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+CREATE TABLE `t1` (
+ `id` int(11) default NULL
+) ENGINE=BLACKHOLE DEFAULT CHARSET=latin1 PARTITION BY HASH (id) ;
+SELECT * FROM t1;
+
+DROP TABLE t1;
diff --git a/mysql-test/t/partition_csv.test b/mysql-test/t/partition_csv.test
new file mode 100644
index 00000000000..aa3d9d67c26
--- /dev/null
+++ b/mysql-test/t/partition_csv.test
@@ -0,0 +1,38 @@
+# Tests for the partition storage engine in connection with the
+# storage engine CSV.
+#
+# Creation:
+# 2007-10-18 mleich - Move CSV related sub tests of partition.test to
+# this test. Reason: CSV is not everytime available.
+# - Minor cleanup
+#
+
+--source include/have_partition.inc
+--source include/have_csv.inc
+
+#
+# Bug#19307: Partitions: csv delete failure
+# = CSV engine crashes
+#
+--disable_warnings
+drop table if exists t1;
+--enable_warnings
+--error ER_PARTITION_MERGE_ERROR
+create table t1 (a int)
+engine = csv
+partition by list (a)
+(partition p0 values in (null));
+
+#
+# Bug#27816: Log tables ran with partitions crashes the server when logging
+# is enabled.
+#
+USE mysql;
+SET GLOBAL general_log = 0;
+ALTER TABLE general_log ENGINE = MyISAM;
+--error ER_WRONG_USAGE
+ALTER TABLE general_log PARTITION BY RANGE (TO_DAYS(event_time))
+ (PARTITION p0 VALUES LESS THAN (733144),
+ PARTITION p1 VALUES LESS THAN (3000000));
+ALTER TABLE general_log ENGINE = CSV;
+SET GLOBAL general_log = 1;
diff --git a/mysql-test/t/partition_datatype.test b/mysql-test/t/partition_datatype.test
new file mode 100644
index 00000000000..7440a9bf3a3
--- /dev/null
+++ b/mysql-test/t/partition_datatype.test
@@ -0,0 +1,232 @@
+#
+# Simple test for the partition storage engine
+# with most datatypes and null / not null
+# as partition by key
+# Created to verify the fix for Bug#31705
+# Partitions: crash if varchar length > 65530
+#
+-- source include/have_partition.inc
+
+--disable_warnings
+drop table if exists t1;
+--enable_warnings
+
+-- echo # test with not null
+create table t1 (a bit not null) partition by key (a);
+insert into t1 values (b'1');
+select hex(a) from t1 where a = b'1';
+drop table t1;
+create table t1 (a tinyint not null) partition by key (a);
+insert into t1 values (2);
+select * from t1 where a = 2;
+drop table t1;
+create table t1 (a smallint not null) partition by key (a);
+insert into t1 values (2);
+select * from t1 where a = 2;
+drop table t1;
+create table t1 (a mediumint not null) partition by key (a);
+insert into t1 values (2);
+select * from t1 where a = 2;
+drop table t1;
+create table t1 (a int not null) partition by key (a);
+insert into t1 values (2);
+select * from t1 where a = 2;
+drop table t1;
+create table t1 (a bigint not null) partition by key (a);
+insert into t1 values (2);
+select * from t1 where a = 2;
+drop table t1;
+create table t1 (a float not null) partition by key (a);
+insert into t1 values (0.5);
+select * from t1 where a = 0.5;
+drop table t1;
+create table t1 (a double not null) partition by key (a);
+insert into t1 values (0.5);
+select * from t1 where a = 0.5;
+drop table t1;
+create table t1 (a decimal(4,2) not null) partition by key (a);
+insert into t1 values (2.1);
+select * from t1 where a = 2.1;
+drop table t1;
+create table t1 (a date not null) partition by key (a);
+insert into t1 values ('2001-01-01');
+select * from t1 where a = '2001-01-01';
+drop table t1;
+create table t1 (a datetime not null) partition by key (a);
+insert into t1 values ('2001-01-01 01:02:03');
+select * from t1 where a = '2001-01-01 01:02:03';
+drop table t1;
+create table t1 (a timestamp not null) partition by key (a);
+insert into t1 values ('2001-01-01 01:02:03');
+select * from t1 where a = '2001-01-01 01:02:03';
+drop table t1;
+create table t1 (a time not null) partition by key (a);
+insert into t1 values ('01:02:03');
+select * from t1 where a = '01:02:03';
+drop table t1;
+create table t1 (a year not null) partition by key (a);
+insert into t1 values ('2001');
+select * from t1 where a = '2001';
+drop table t1;
+create table t1 (a varchar(10) character set utf8 not null) partition by key (a);
+insert into t1 values ('abc');
+select * from t1 where a = 'abc';
+drop table t1;
+create table t1 (a varchar(300) character set utf8 not null) partition by key (a);
+insert into t1 values ('abc');
+select * from t1 where a = 'abc';
+drop table t1;
+create table t1 (a varchar(10) character set latin1 not null) partition by key (a);
+insert into t1 values ('abc');
+select * from t1 where a = 'abc';
+drop table t1;
+create table t1 (a varchar(300) character set latin1 not null) partition by key (a);
+insert into t1 values ('abc');
+select * from t1 where a = 'abc';
+drop table t1;
+create table t1 (a char(10) character set utf8 not null) partition by key (a);
+insert into t1 values ('abc');
+select * from t1 where a = 'abc';
+drop table t1;
+create table t1 (a char(10) character set latin1 not null) partition by key (a);
+insert into t1 values ('abc');
+select * from t1 where a = 'abc';
+drop table t1;
+create table t1 (a enum('y','n') not null) partition by key (a);
+insert into t1 values ('y');
+select * from t1 where a = 'y';
+drop table t1;
+create table t1 (a set('y','n') not null) partition by key (a);
+insert into t1 values ('y');
+select * from t1 where a = 'y';
+drop table t1;
+-- echo # test with null allowed
+create table t1 (a bit) partition by key (a);
+insert into t1 values (b'1');
+insert into t1 values (NULL);
+select hex(a) from t1 where a = b'1';
+select hex(a) from t1 where a is NULL;
+select hex(a) from t1 order by a;
+drop table t1;
+create table t1 (a tinyint) partition by key (a);
+insert into t1 values (2);
+select * from t1 where a = 2;
+drop table t1;
+create table t1 (a smallint) partition by key (a);
+insert into t1 values (2);
+select * from t1 where a = 2;
+drop table t1;
+create table t1 (a mediumint) partition by key (a);
+insert into t1 values (2);
+select * from t1 where a = 2;
+drop table t1;
+create table t1 (a int) partition by key (a);
+insert into t1 values (2);
+select * from t1 where a = 2;
+drop table t1;
+create table t1 (a bigint) partition by key (a);
+insert into t1 values (2);
+select * from t1 where a = 2;
+drop table t1;
+create table t1 (a float) partition by key (a);
+insert into t1 values (0.5);
+select * from t1 where a = 0.5;
+drop table t1;
+create table t1 (a double) partition by key (a);
+insert into t1 values (0.5);
+select * from t1 where a = 0.5;
+drop table t1;
+create table t1 (a decimal(4,2)) partition by key (a);
+insert into t1 values (2.1);
+select * from t1 where a = 2.1;
+drop table t1;
+create table t1 (a date) partition by key (a);
+insert into t1 values ('2001-01-01');
+select * from t1 where a = '2001-01-01';
+drop table t1;
+create table t1 (a datetime) partition by key (a);
+insert into t1 values ('2001-01-01 01:02:03');
+select * from t1 where a = '2001-01-01 01:02:03';
+drop table t1;
+create table t1 (a timestamp null) partition by key (a);
+insert into t1 values ('2001-01-01 01:02:03');
+select * from t1 where a = '2001-01-01 01:02:03';
+drop table t1;
+create table t1 (a time) partition by key (a);
+insert into t1 values ('01:02:03');
+select * from t1 where a = '01:02:03';
+drop table t1;
+create table t1 (a year) partition by key (a);
+insert into t1 values ('2001');
+select * from t1 where a = '2001';
+drop table t1;
+create table t1 (a varchar(10) character set utf8) partition by key (a);
+insert into t1 values ('abc');
+select * from t1 where a = 'abc';
+drop table t1;
+create table t1 (a varchar(300) character set utf8) partition by key (a);
+insert into t1 values ('abc');
+select * from t1 where a = 'abc';
+drop table t1;
+create table t1 (a varchar(10) character set latin1) partition by key (a);
+insert into t1 values ('abc');
+select * from t1 where a = 'abc';
+drop table t1;
+create table t1 (a varchar(300) character set latin1) partition by key (a);
+insert into t1 values ('abc');
+select * from t1 where a = 'abc';
+drop table t1;
+create table t1 (a char(10) character set utf8) partition by key (a);
+insert into t1 values ('abc');
+select * from t1 where a = 'abc';
+drop table t1;
+create table t1 (a char(10) character set latin1) partition by key (a);
+insert into t1 values ('abc');
+select * from t1 where a = 'abc';
+drop table t1;
+create table t1 (a enum('y','n')) partition by key (a);
+insert into t1 values ('y');
+select * from t1 where a = 'y';
+drop table t1;
+create table t1 (a set('y','n')) partition by key (a);
+insert into t1 values ('y');
+select * from t1 where a = 'y';
+drop table t1;
+create table t1 (a varchar(65531)) partition by key (a);
+insert into t1 values ('bbbb');
+insert into t1 values ('aaaa');
+select * from t1 where a = 'aaaa';
+select * from t1 where a like 'aaa%';
+select * from t1 where a = 'bbbb';
+drop table t1;
+create table t1 (a varchar(65532)) partition by key (a);
+insert into t1 values ('bbbb');
+insert into t1 values ('aaaa');
+select * from t1 where a = 'aaaa';
+select * from t1 where a like 'aaa%';
+select * from t1 where a = 'bbbb';
+drop table t1;
+create table t1 (a varchar(65533) not null) partition by key (a);
+insert into t1 values ('bbbb');
+insert into t1 values ('aaaa');
+select * from t1 where a = 'aaaa';
+select * from t1 where a like 'aaa%';
+select * from t1 where a = 'bbbb';
+drop table t1;
+-- error ER_TOO_BIG_ROWSIZE
+create table t1 (a varchar(65533)) partition by key (a);
+-- error ER_TOO_BIG_ROWSIZE
+create table t1 (a varchar(65534) not null) partition by key (a);
+-- error ER_TOO_BIG_ROWSIZE
+create table t1 (a varchar(65535)) partition by key (a);
+
+#
+# Bug#34358: error in key_restore for bitfields with uneven bits
+#
+create table t1 (a bit(27), primary key (a)) engine=myisam
+partition by hash (a)
+(partition p0, partition p1, partition p2);
+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;
diff --git a/mysql-test/t/partition_error.test b/mysql-test/t/partition_error.test
index 5fc2097cc52..d470fb67b49 100644
--- a/mysql-test/t/partition_error.test
+++ b/mysql-test/t/partition_error.test
@@ -9,6 +9,37 @@ drop table if exists t1;
--enable_warnings
#
+# 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
+CREATE TABLE t1 (
+ a int
+)
+PARTITION BY RANGE (a)
+(
+ PARTITION p0 VALUES LESS THAN (1),
+ PARTITION p1 VALU ES LESS THAN (2)
+);
+
+#
# Partition by key stand-alone error
#
--error 1064
diff --git a/mysql-test/t/partition_hash.test b/mysql-test/t/partition_hash.test
index 98add060a76..362d5f747e9 100644
--- a/mysql-test/t/partition_hash.test
+++ b/mysql-test/t/partition_hash.test
@@ -10,6 +10,22 @@ drop table if exists t1;
--enable_warnings
#
+# Bug#30822: crash when COALESCE
+#
+CREATE TABLE t1 (c1 INT)
+ PARTITION BY HASH (c1)
+ PARTITIONS 15;
+INSERT INTO t1 VALUES (1), (2), (3), (4), (5);
+ALTER TABLE t1 COALESCE PARTITION 13;
+DROP TABLE t1;
+CREATE TABLE t1 (c1 INT)
+ PARTITION BY LINEAR HASH (c1)
+ PARTITIONS 5;
+INSERT INTO t1 VALUES (1), (2), (3), (4), (5);
+ALTER TABLE t1 COALESCE PARTITION 3;
+DROP TABLE t1;
+
+#
# More partition pruning tests, especially on interval walking
#
create table t1 (a int unsigned)
@@ -144,3 +160,13 @@ select * from t1 where c3 between '2002-01-01' and '2002-12-31';
drop table t1;
+#
+# Bug#31210 - INSERT DELAYED crashes server when used on partitioned table
+#
+CREATE TABLE t1 (c1 INT) ENGINE=MyISAM PARTITION BY HASH(c1) PARTITIONS 1;
+# The test succeeds in an embedded server because normal insert is done.
+# The test fails in a normal server with "engine doesn't have this option".
+--error 0, ER_ILLEGAL_HA
+INSERT DELAYED INTO t1 VALUES (1);
+DROP TABLE t1;
+
diff --git a/mysql-test/t/partition_innodb.test b/mysql-test/t/partition_innodb.test
index f4320c5c56a..932855cc877 100644
--- a/mysql-test/t/partition_innodb.test
+++ b/mysql-test/t/partition_innodb.test
@@ -1,10 +1,28 @@
--source include/have_partition.inc
--source include/have_innodb.inc
+# Bug#32948 - FKs allowed to reference partitioned table
+#
+-- echo # Bug#32948
+CREATE TABLE t1 (c1 INT, PRIMARY KEY (c1)) ENGINE=INNODB;
+CREATE TABLE t2 (c1 INT, PRIMARY KEY (c1),
+ FOREIGN KEY (c1) REFERENCES t1 (c1)
+ ON DELETE CASCADE)
+ENGINE=INNODB;
+--error ER_ROW_IS_REFERENCED
+ALTER TABLE t1 PARTITION BY HASH(c1) PARTITIONS 5;
+--error ER_ROW_IS_REFERENCED
+ALTER TABLE t1 ENGINE=MyISAM;
+DROP TABLE t2;
+DROP TABLE t1;
+
#
# Bug #14673: Wrong InnoDB default row format
#
create table t1 (a int) engine=innodb partition by hash(a) ;
+# Data_free for InnoDB tablespace varies depending on which
+# tests have been run before this one
+--replace_column 10 #
show table status like 't1';
drop table t1;
@@ -14,18 +32,33 @@ drop table t1;
create table t1 (a int)
engine = innodb
partition by key (a);
+# Data_free for InnoDB tablespace varies depending on which
+# tests have been run before this one
+--replace_column 10 #
show table status;
insert into t1 values (0), (1), (2), (3);
+# Data_free for InnoDB tablespace varies depending on which
+# tests have been run before this one
+--replace_column 10 #
show table status;
drop table t1;
create table t1 (a int auto_increment primary key)
engine = innodb
partition by key (a);
+# Data_free for InnoDB tablespace varies depending on which
+# tests have been run before this one
+--replace_column 10 #
show table status;
insert into t1 values (NULL), (NULL), (NULL), (NULL);
+# Data_free for InnoDB tablespace varies depending on which
+# tests have been run before this one
+--replace_column 10 #
show table status;
insert into t1 values (NULL), (NULL), (NULL), (NULL);
+# Data_free for InnoDB tablespace varies depending on which
+# tests have been run before this one
+--replace_column 10 #
show table status;
drop table t1;
@@ -71,6 +104,7 @@ engine = innodb
partition by list (a)
(partition p0 values in (0));
+-- error ER_MIX_HANDLER_ERROR
alter table t1 engine = x;
show create table t1;
drop table t1;
@@ -134,3 +168,25 @@ SELECT * FROM t1 WHERE first_name='Andy' OR last_name='Jake';
drop table t1;
+#
+# BUG#30583 - Partition on DOUBLE key + INNODB + count(*) == crash
+#
+CREATE TABLE t1 (a DOUBLE NOT NULL, KEY(a)) ENGINE=InnoDB
+PARTITION BY KEY(a) PARTITIONS 10;
+INSERT INTO t1 VALUES(1),(2);
+SELECT COUNT(*) FROM t1;
+DROP TABLE t1;
+
+#
+# Bug #31893 Partitions: crash if subpartitions and engine change
+#
+create table t1 (int_column int, char_column char(5))
+ PARTITION BY RANGE (int_column) subpartition by key (char_column) subpartitions 2
+ (PARTITION p1 VALUES LESS THAN (5) ENGINE = InnoDB);
+alter table t1
+ENGINE = MyISAM
+PARTITION BY RANGE (int_column)
+ subpartition by key (char_column) subpartitions 2
+ (PARTITION p1 VALUES LESS THAN (5));
+show create table t1;
+drop table t1;
diff --git a/mysql-test/t/partition_mgm.test b/mysql-test/t/partition_mgm.test
index a06f8d1aee5..68da4a5b390 100644
--- a/mysql-test/t/partition_mgm.test
+++ b/mysql-test/t/partition_mgm.test
@@ -22,17 +22,18 @@ drop table t1;
CREATE TABLE t1 (f_date DATE, f_varchar VARCHAR(30))
PARTITION BY HASH(YEAR(f_date)) PARTITIONS 2;
SHOW CREATE TABLE t1;
-
---replace_result $MYSQLTEST_VARDIR "hello"
---exec ls $MYSQLTEST_VARDIR/master-data/test/t1#*
---replace_result $MYSQLTEST_VARDIR "hello"
---exec ls $MYSQLTEST_VARDIR/master-data/test/t1.*
+-- file_exists $MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYD
+-- file_exists $MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYI
+-- file_exists $MYSQLTEST_VARDIR/master-data/test/t1#P#p1.MYD
+-- file_exists $MYSQLTEST_VARDIR/master-data/test/t1#P#p1.MYI
+-- file_exists $MYSQLTEST_VARDIR/master-data/test/t1.frm
+-- file_exists $MYSQLTEST_VARDIR/master-data/test/t1.par
ALTER TABLE t1 COALESCE PARTITION 1;
SHOW CREATE TABLE t1;
---replace_result $MYSQLTEST_VARDIR "hello"
---exec ls $MYSQLTEST_VARDIR/master-data/test/t1#*
---replace_result $MYSQLTEST_VARDIR "hello"
---exec ls $MYSQLTEST_VARDIR/master-data/test/t1.*
+-- file_exists $MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYD
+-- file_exists $MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYI
+-- file_exists $MYSQLTEST_VARDIR/master-data/test/t1.frm
+-- file_exists $MYSQLTEST_VARDIR/master-data/test/t1.par
drop table t1;
#
# Bug 20767: REORGANIZE partition crashes
diff --git a/mysql-test/t/partition_not_windows.test b/mysql-test/t/partition_not_windows.test
index 012b8b50dee..d7108d5af98 100644
--- a/mysql-test/t/partition_not_windows.test
+++ b/mysql-test/t/partition_not_windows.test
@@ -11,15 +11,9 @@
# Bug 20770 Partitions: DATA DIRECTORY clause change in reorganize
# doesn't remove old directory
---disable_query_log
---exec mkdir $MYSQLTEST_VARDIR/master-data/tmpdata || true
-eval SET @data_dir = 'DATA DIRECTORY = ''$MYSQLTEST_VARDIR/master-data/tmpdata''';
-let $data_directory = `select @data_dir`;
+let $data_directory = DATA DIRECTORY = '$MYSQLTEST_VARDIR/tmp';
---exec mkdir $MYSQLTEST_VARDIR/master-data/tmpinx || true
-eval SET @inx_dir = 'INDEX DIRECTORY = ''$MYSQLTEST_VARDIR/master-data/tmpinx''';
-let $inx_directory = `select @inx_dir`;
---enable_query_log
+let $inx_directory = INDEX DIRECTORY = '$MYSQLTEST_VARDIR/tmp';
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
eval create table t1 (a int) engine myisam
@@ -28,17 +22,17 @@ subpartition by hash (a)
(partition p0 VALUES LESS THAN (1) $data_directory $inx_directory
(SUBPARTITION subpart00, SUBPARTITION subpart01));
---echo Checking if file exists before alter
+--echo # Checking if file exists before alter
--file_exists $MYSQLTEST_VARDIR/master-data/test/t1.frm
--file_exists $MYSQLTEST_VARDIR/master-data/test/t1.par
--file_exists $MYSQLTEST_VARDIR/master-data/test/t1#P#p0#SP#subpart00.MYD
--file_exists $MYSQLTEST_VARDIR/master-data/test/t1#P#p0#SP#subpart00.MYI
--file_exists $MYSQLTEST_VARDIR/master-data/test/t1#P#p0#SP#subpart01.MYD
--file_exists $MYSQLTEST_VARDIR/master-data/test/t1#P#p0#SP#subpart01.MYI
---file_exists $MYSQLTEST_VARDIR/master-data/tmpdata/t1#P#p0#SP#subpart00.MYD
---file_exists $MYSQLTEST_VARDIR/master-data/tmpdata/t1#P#p0#SP#subpart01.MYD
---file_exists $MYSQLTEST_VARDIR/master-data/tmpinx/t1#P#p0#SP#subpart00.MYI
---file_exists $MYSQLTEST_VARDIR/master-data/tmpinx/t1#P#p0#SP#subpart01.MYI
+--file_exists $MYSQLTEST_VARDIR/tmp/t1#P#p0#SP#subpart00.MYD
+--file_exists $MYSQLTEST_VARDIR/tmp/t1#P#p0#SP#subpart01.MYD
+--file_exists $MYSQLTEST_VARDIR/tmp/t1#P#p0#SP#subpart00.MYI
+--file_exists $MYSQLTEST_VARDIR/tmp/t1#P#p0#SP#subpart01.MYI
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
eval ALTER TABLE t1 REORGANIZE PARTITION p0 INTO
@@ -47,7 +41,7 @@ eval ALTER TABLE t1 REORGANIZE PARTITION p0 INTO
partition p2 VALUES LESS THAN (2) $data_directory $inx_directory
(SUBPARTITION subpart20, SUBPARTITION subpart21));
---echo Checking if file exists after alter
+--echo # Checking if file exists after alter
--file_exists $MYSQLTEST_VARDIR/master-data/test/t1.frm
--file_exists $MYSQLTEST_VARDIR/master-data/test/t1.par
--file_exists $MYSQLTEST_VARDIR/master-data/test/t1#P#p1#SP#subpart10.MYD
@@ -58,18 +52,81 @@ eval ALTER TABLE t1 REORGANIZE PARTITION p0 INTO
--file_exists $MYSQLTEST_VARDIR/master-data/test/t1#P#p2#SP#subpart20.MYI
--file_exists $MYSQLTEST_VARDIR/master-data/test/t1#P#p2#SP#subpart21.MYD
--file_exists $MYSQLTEST_VARDIR/master-data/test/t1#P#p2#SP#subpart21.MYI
---file_exists $MYSQLTEST_VARDIR/master-data/tmpdata/t1#P#p1#SP#subpart10.MYD
---file_exists $MYSQLTEST_VARDIR/master-data/tmpdata/t1#P#p1#SP#subpart11.MYD
---file_exists $MYSQLTEST_VARDIR/master-data/tmpdata/t1#P#p2#SP#subpart20.MYD
---file_exists $MYSQLTEST_VARDIR/master-data/tmpdata/t1#P#p2#SP#subpart21.MYD
---file_exists $MYSQLTEST_VARDIR/master-data/tmpinx/t1#P#p1#SP#subpart10.MYI
---file_exists $MYSQLTEST_VARDIR/master-data/tmpinx/t1#P#p1#SP#subpart11.MYI
---file_exists $MYSQLTEST_VARDIR/master-data/tmpinx/t1#P#p2#SP#subpart20.MYI
---file_exists $MYSQLTEST_VARDIR/master-data/tmpinx/t1#P#p2#SP#subpart21.MYI
+--file_exists $MYSQLTEST_VARDIR/tmp/t1#P#p1#SP#subpart10.MYD
+--file_exists $MYSQLTEST_VARDIR/tmp/t1#P#p1#SP#subpart11.MYD
+--file_exists $MYSQLTEST_VARDIR/tmp/t1#P#p2#SP#subpart20.MYD
+--file_exists $MYSQLTEST_VARDIR/tmp/t1#P#p2#SP#subpart21.MYD
+--file_exists $MYSQLTEST_VARDIR/tmp/t1#P#p1#SP#subpart10.MYI
+--file_exists $MYSQLTEST_VARDIR/tmp/t1#P#p1#SP#subpart11.MYI
+--file_exists $MYSQLTEST_VARDIR/tmp/t1#P#p2#SP#subpart20.MYI
+--file_exists $MYSQLTEST_VARDIR/tmp/t1#P#p2#SP#subpart21.MYI
drop table t1;
---exec rmdir $MYSQLTEST_VARDIR/master-data/tmpdata || true
---exec rmdir $MYSQLTEST_VARDIR/master-data/tmpinx || true
+
+#
+# Bug #24633 SQL MODE "NO_DIR_IN_CREATE" does not work with partitioned tables
+#
+disable_query_log;
+eval create table t2 (i int )
+partition by range (i)
+(
+ partition p01 values less than (1000)
+ data directory="$MYSQLTEST_VARDIR/tmp/"
+ index directory="$MYSQLTEST_VARDIR/tmp/"
+);
+enable_query_log;
+
+set @org_mode=@@sql_mode;
+set @@sql_mode='NO_DIR_IN_CREATE';
+select @@sql_mode;
+create table t1 (i int )
+partition by range (i)
+(
+ partition p01 values less than (1000)
+ data directory='/not/existing'
+ index directory='/not/existing'
+);
+show create table t2;
+DROP TABLE t1, t2;
+set @@sql_mode=@org_mode;
+
+#
+# Bug#32167: another privilege bypass with DATA/INDEX DIRECTORY
+#
+--replace_result $MYSQLTEST_VARDIR TEST_DIR
+--error ER_WRONG_ARGUMENTS
+eval CREATE TABLE t1(a INT)
+PARTITION BY KEY (a)
+(PARTITION p0 DATA DIRECTORY '$MYSQLTEST_VARDIR/master-data/test');
+--replace_result $MYSQLTEST_VARDIR TEST_DIR
+--error ER_WRONG_ARGUMENTS
+eval CREATE TABLE t1(a INT)
+PARTITION BY KEY (a)
+(PARTITION p0 INDEX DIRECTORY '$MYSQLTEST_VARDIR/master-data/test');
+
+--replace_result $MYSQLTEST_VARDIR TEST_DIR
+--error ER_WRONG_ARGUMENTS
+eval CREATE TABLE ts (id INT, purchased DATE)
+PARTITION BY RANGE(YEAR(purchased))
+SUBPARTITION BY HASH(TO_DAYS(purchased)) (
+PARTITION p0 VALUES LESS THAN (1990) (
+SUBPARTITION s0a
+ DATA DIRECTORY = '$MYSQLTEST_VARDIR/master-data/test',
+SUBPARTITION s0b
+ DATA DIRECTORY = '$MYSQLTEST_VARDIR/master-data/test'
+));
+
+--replace_result $MYSQLTEST_VARDIR TEST_DIR
+--error ER_WRONG_ARGUMENTS
+eval CREATE TABLE ts (id INT, purchased DATE)
+PARTITION BY RANGE(YEAR(purchased))
+SUBPARTITION BY HASH(TO_DAYS(purchased)) (
+PARTITION p0 VALUES LESS THAN (1990) (
+SUBPARTITION s0a
+ INDEX DIRECTORY = '$MYSQLTEST_VARDIR/master-data/test',
+SUBPARTITION s0b
+ INDEX DIRECTORY = '$MYSQLTEST_VARDIR/master-data/test'
+));
# End Windows specific test failures.
@@ -83,18 +140,68 @@ drop table t1;
DROP TABLE IF EXISTS `example`;
--enable_warnings
---disable_abort_on_error
-CREATE TABLE `example` (
+--mkdir $MYSQLTEST_VARDIR/p0Data
+--mkdir $MYSQLTEST_VARDIR/p1Data
+--mkdir $MYSQLTEST_VARDIR/p2Data
+--mkdir $MYSQLTEST_VARDIR/p3Data
+--mkdir $MYSQLTEST_VARDIR/p0Index
+--mkdir $MYSQLTEST_VARDIR/p1Index
+--mkdir $MYSQLTEST_VARDIR/p2Index
+--mkdir $MYSQLTEST_VARDIR/p3Index
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+eval CREATE TABLE `example` (
`ID_EXAMPLE` int(10) unsigned NOT NULL AUTO_INCREMENT,
`DESCRIPTION` varchar(30) NOT NULL,
`LEVEL` smallint(5) unsigned DEFAULT NULL,
PRIMARY KEY (`ID_EXAMPLE`)
) ENGINE = MYISAM
PARTITION BY HASH(ID_EXAMPLE)(
-PARTITION p0 DATA DIRECTORY = '/build/5.1/data/partitiontest/p0Data',
-PARTITION p1 DATA DIRECTORY = '/build/5.1/data/partitiontest/p1Data',
-PARTITION p2 DATA DIRECTORY = '/build/5.1/data/partitiontest/p2Data',
-PARTITION p3 DATA DIRECTORY = '/build/5.1/data/partitiontest/p3Data'
+PARTITION p0 DATA DIRECTORY = '$MYSQLTEST_VARDIR/p0Data'
+INDEX DIRECTORY = '$MYSQLTEST_VARDIR/p0Index',
+PARTITION p1 DATA DIRECTORY = '$MYSQLTEST_VARDIR/p1Data'
+INDEX DIRECTORY = '$MYSQLTEST_VARDIR/p1Index',
+PARTITION p2 DATA DIRECTORY = '$MYSQLTEST_VARDIR/p2Data'
+INDEX DIRECTORY = '$MYSQLTEST_VARDIR/p2Index',
+PARTITION p3 DATA DIRECTORY = '$MYSQLTEST_VARDIR/p3Data'
+INDEX DIRECTORY = '$MYSQLTEST_VARDIR/p3Index'
);
---enable_abort_on_error
+--echo # Checking that MyISAM .MYD and .MYI are in test db and data/idx dir
+--file_exists $MYSQLTEST_VARDIR/master-data/test/example#P#p0.MYI
+--file_exists $MYSQLTEST_VARDIR/master-data/test/example#P#p0.MYD
+--file_exists $MYSQLTEST_VARDIR/p0Data/example#P#p0.MYD
+--file_exists $MYSQLTEST_VARDIR/p0Index/example#P#p0.MYI
+--file_exists $MYSQLTEST_VARDIR/master-data/test/example#P#p1.MYI
+--file_exists $MYSQLTEST_VARDIR/master-data/test/example#P#p1.MYD
+--file_exists $MYSQLTEST_VARDIR/p1Data/example#P#p1.MYD
+--file_exists $MYSQLTEST_VARDIR/p1Index/example#P#p1.MYI
+--file_exists $MYSQLTEST_VARDIR/master-data/test/example#P#p2.MYI
+--file_exists $MYSQLTEST_VARDIR/master-data/test/example#P#p2.MYD
+--file_exists $MYSQLTEST_VARDIR/p2Data/example#P#p2.MYD
+--file_exists $MYSQLTEST_VARDIR/p2Index/example#P#p2.MYI
+--file_exists $MYSQLTEST_VARDIR/master-data/test/example#P#p3.MYI
+--file_exists $MYSQLTEST_VARDIR/master-data/test/example#P#p3.MYD
+--file_exists $MYSQLTEST_VARDIR/p3Data/example#P#p3.MYD
+--file_exists $MYSQLTEST_VARDIR/p3Index/example#P#p3.MYI
+DROP TABLE example;
+--rmdir $MYSQLTEST_VARDIR/p0Data
+--rmdir $MYSQLTEST_VARDIR/p1Data
+--rmdir $MYSQLTEST_VARDIR/p2Data
+--rmdir $MYSQLTEST_VARDIR/p3Data
+--rmdir $MYSQLTEST_VARDIR/p0Index
+--rmdir $MYSQLTEST_VARDIR/p1Index
+--rmdir $MYSQLTEST_VARDIR/p2Index
+--rmdir $MYSQLTEST_VARDIR/p3Index
+--error ER_CANT_CREATE_TABLE,1
+CREATE TABLE `example` (
+ `ID_EXAMPLE` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `DESCRIPTION` varchar(30) NOT NULL,
+ `LEVEL` smallint(5) unsigned DEFAULT NULL,
+ PRIMARY KEY (`ID_EXAMPLE`)
+) ENGINE = MYISAM
+PARTITION BY HASH(ID_EXAMPLE)(
+PARTITION p0 DATA DIRECTORY = '/not/existent/p0Data',
+PARTITION p1 DATA DIRECTORY = '/not/existent/p1Data',
+PARTITION p2 DATA DIRECTORY = '/not/existent/p2Data',
+PARTITION p3 DATA DIRECTORY = '/not/existent/p3Data'
+);
diff --git a/mysql-test/t/partition_pruning.test b/mysql-test/t/partition_pruning.test
index 12951c9232a..31008d2b011 100644
--- a/mysql-test/t/partition_pruning.test
+++ b/mysql-test/t/partition_pruning.test
@@ -761,3 +761,34 @@ insert into t1 values (-15),(-5),(5),(15),(-15),(-5),(5),(15);
explain partitions select * from t1 where a>-2 and a <=0;
drop table t1;
+
+#
+# BUG#27927 Partition pruning not optimal with TO_DAYS function
+#
+
+CREATE TABLE t1 ( recdate DATETIME NOT NULL )
+PARTITION BY RANGE( TO_DAYS(recdate) ) (
+ PARTITION p0 VALUES LESS THAN ( TO_DAYS('2007-03-08') ),
+ PARTITION p1 VALUES LESS THAN ( TO_DAYS('2007-04-01') )
+);
+INSERT INTO t1 VALUES ('2007-03-01 12:00:00');
+INSERT INTO t1 VALUES ('2007-03-07 12:00:00');
+INSERT INTO t1 VALUES ('2007-03-08 12:00:00');
+INSERT INTO t1 VALUES ('2007-03-15 12:00:00');
+-- echo must use p0 only:
+explain partitions select * from t1 where recdate < '2007-03-08 00:00:00';
+
+drop table t1;
+CREATE TABLE t1 ( recdate DATETIME NOT NULL )
+PARTITION BY RANGE( YEAR(recdate) ) (
+ PARTITION p0 VALUES LESS THAN (2006),
+ PARTITION p1 VALUES LESS THAN (2007)
+);
+INSERT INTO t1 VALUES ('2005-03-01 12:00:00');
+INSERT INTO t1 VALUES ('2005-03-01 12:00:00');
+INSERT INTO t1 VALUES ('2006-03-01 12:00:00');
+INSERT INTO t1 VALUES ('2006-03-01 12:00:00');
+
+-- echo must use p0 only:
+explain partitions select * from t1 where recdate < '2006-01-01 00:00:00';
+drop table t1;
diff --git a/mysql-test/t/partition_range.test b/mysql-test/t/partition_range.test
index 50d850913bc..bc4231d1d71 100644
--- a/mysql-test/t/partition_range.test
+++ b/mysql-test/t/partition_range.test
@@ -6,10 +6,55 @@
-- source include/have_partition.inc
--disable_warnings
-drop table if exists t1;
+drop table if exists t1, t2;
--enable_warnings
#
+# BUG 33429: Succeeds in adding partition when maxvalue on last partition
+#
+create table t1 (a int)
+partition by range (a)
+( partition p0 values less than (maxvalue));
+--error ER_PARTITION_MAXVALUE_ERROR
+alter table t1 add partition (partition p1 values less than (100000));
+show create table t1;
+drop table t1;
+
+# BUG 32943:
+# Locking problems in relation to partitioning and triggers
+# Also fixes and test cases of generic lock issues with
+# partition change code.
+#
+create table t1 (a integer)
+partition by range (a)
+( partition p0 values less than (4),
+ partition p1 values less than (100));
+
+delimiter |;
+create trigger tr1 before insert on t1
+for each row begin
+ set @a = 1;
+end|
+
+delimiter ;|
+alter table t1 drop partition p0;
+
+drop table t1;
+
+create table t1 (a integer)
+partition by range (a)
+( partition p0 values less than (4),
+ partition p1 values less than (100));
+LOCK TABLES t1 WRITE;
+alter table t1 drop partition p0;
+alter table t1 reorganize partition p1 into
+( partition p0 values less than (4),
+ partition p1 values less than (100));
+alter table t1 add partition ( partition p2 values less than (200));
+UNLOCK TABLES;
+drop table t1;
+
+#
# BUG 18198: Various tests for partition functions
#
#create table t1 (a varchar(10) charset latin1 collate latin1_bin, b int)
@@ -757,3 +802,29 @@ DROP TABLE t1;
# a = "C2345678901234567890";
#select * from t1 where a = "12345678901234567890";
#drop table t1;
+
+
+#
+# BUG#30573: get wrong result with "group by" on PARTITIONed table
+#
+#create table t1 (a int);
+#insert into t1 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
+#CREATE TABLE t2 (
+# defid int(10) unsigned NOT NULL,
+# day int(10) unsigned NOT NULL,
+# count int(10) unsigned NOT NULL,
+# filler char(200),
+# KEY (defid,day)
+#)
+#PARTITION BY RANGE (day) (
+# PARTITION p7 VALUES LESS THAN (20070401) ,
+# PARTITION p8 VALUES LESS THAN (20070501));
+
+#insert into t2 select 20, 20070311, 1, 'filler' from t1 A, t1 B;
+#insert into t2 select 20, 20070411, 1, 'filler' from t1 A, t1 B;
+#insert into t2 values(52, 20070321, 123, 'filler') ;
+#insert into t2 values(52, 20070322, 456, 'filler') ;
+
+#select sum(count) from t2 ch where ch.defid in (50,52) and ch.day between 20070320 and 20070401 group by defid;
+#drop table t1, t2;
+
diff --git a/mysql-test/t/partition_symlink.test b/mysql-test/t/partition_symlink.test
new file mode 100644
index 00000000000..e36e335c0dd
--- /dev/null
+++ b/mysql-test/t/partition_symlink.test
@@ -0,0 +1,170 @@
+# Test that must have symlink. eg. using DATA/INDEX DIR
+# (DATA/INDEX DIR requires symlinks)
+-- source include/have_partition.inc
+-- source include/have_symlink.inc
+# remove the not_windows line after fixing bug#33687
+# symlinks must also work for files, not only directories
+# as in --skip-symbolic-links
+-- source include/not_windows.inc
+-- disable_warnings
+DROP TABLE IF EXISTS t1;
+DROP DATABASE IF EXISTS mysqltest2;
+-- enable_warnings
+
+#
+# Bug 32091: Security breach via directory changes
+#
+# The below test shows that a pre-existing table mysqltest2.t1 cannot be
+# replaced by a user with no rights in 'mysqltest2'. The altered table
+# test.t1 will be altered (remove partitioning) into the test directory
+# and having its partitions removed from the mysqltest2 directory.
+# (the partitions data files are named <tablename>#P#<partname>.MYD
+# and will not collide with a non partitioned table's data files.)
+# NOTE: the privileges on files and directories are the same for all
+# database users in mysqld, though mysqld enforces privileges on
+# the database and table levels which in turn maps to directories and
+# files, but not the other way around (any db-user can use any
+# directory or file that the mysqld-process can use, via DATA/INDEX DIR)
+# this is the security flaw that was used in bug#32091 and bug#32111
+
+-- echo # Creating two non colliding tables mysqltest2.t1 and test.t1
+-- echo # test.t1 have partitions in mysqltest2-directory!
+-- echo # user root:
+ CREATE USER mysqltest_1@localhost;
+ CREATE DATABASE mysqltest2;
+ USE mysqltest2;
+ CREATE TABLE t1 (a INT);
+ 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)
+ PARTITION BY LIST (a) (
+ PARTITION p0 VALUES IN (0)
+ DATA DIRECTORY '$MYSQLTEST_VARDIR/tmp'
+ INDEX DIRECTORY '$MYSQLTEST_VARDIR/tmp',
+ PARTITION p1 VALUES IN (1)
+ DATA DIRECTORY '$MYSQLTEST_VARDIR/tmp'
+ INDEX DIRECTORY '$MYSQLTEST_VARDIR/tmp',
+ PARTITION p2 VALUES IN (2)
+ );
+ -- echo # without the patch for bug#32091 this would create
+ -- echo # files mysqltest2/t1.MYD + .MYI and possible overwrite
+ -- echo # the mysqltest2.t1 table (depending on bug#32111)
+ -- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+ ALTER TABLE t1 REMOVE PARTITIONING;
+ INSERT INTO t1 VALUES (1);
+ SELECT * FROM t1;
+connection default;
+-- echo # user root:
+ USE mysqltest2;
+ FLUSH TABLES;
+ -- echo # if the patch works, this should be different
+ -- echo # and before the patch they were the same!
+ SELECT * FROM t1;
+ USE test;
+ SELECT * FROM t1;
+ DROP TABLE t1;
+ DROP DATABASE mysqltest2;
+# The below test shows that a pre-existing partition can not be
+# destroyed by a new partition from another table.
+# (Remember that a table or partition that uses the DATA/INDEX DIR
+# is symlinked and thus has
+# 1. the real file in the DATA/INDEX DIR and
+# 2. a symlink in its default database directory pointing to
+# the real file.
+# So it is using/blocking 2 files in (in 2 different directories
+-- echo # test that symlinks can not overwrite files when CREATE TABLE
+-- echo # user root:
+
+ CREATE DATABASE mysqltest2;
+ USE mysqltest2;
+ -- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+ eval CREATE TABLE t1 (a INT)
+ PARTITION BY LIST (a) (
+ PARTITION p0 VALUES IN (0)
+ DATA DIRECTORY '$MYSQLTEST_VARDIR/tmp'
+ INDEX DIRECTORY '$MYSQLTEST_VARDIR/tmp',
+ PARTITION p1 VALUES IN (1)
+ DATA DIRECTORY '$MYSQLTEST_VARDIR/tmp'
+ INDEX DIRECTORY '$MYSQLTEST_VARDIR/tmp'
+ );
+connection con1;
+-- echo # user mysqltest_1:
+ USE test;
+ -- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+ -- error 1,1
+ eval CREATE TABLE t1 (a INT)
+ PARTITION BY LIST (a) (
+ PARTITION p0 VALUES IN (0)
+ DATA DIRECTORY '$MYSQLTEST_VARDIR/tmp'
+ INDEX DIRECTORY '$MYSQLTEST_VARDIR/tmp',
+ PARTITION p1 VALUES IN (1)
+ DATA DIRECTORY '$MYSQLTEST_VARDIR/tmp'
+ INDEX DIRECTORY '$MYSQLTEST_VARDIR/tmp'
+ );
+ -- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+ -- error 1,1
+ eval CREATE TABLE t1 (a INT)
+ PARTITION BY LIST (a) (
+ PARTITION p0 VALUES IN (0)
+ DATA DIRECTORY '$MYSQLTEST_VARDIR/tmp'
+ INDEX DIRECTORY '$MYSQLTEST_VARDIR/tmp',
+ PARTITION p1 VALUES IN (1)
+ DATA DIRECTORY '$MYSQLTEST_VARDIR/tmp'
+ INDEX DIRECTORY '$MYSQLTEST_VARDIR/tmp'
+ );
+connection default;
+-- echo # user root (cleanup):
+ DROP DATABASE mysqltest2;
+ USE test;
+ DROP USER mysqltest_1@localhost;
+ disconnect con1;
+
+#
+# Bug #24633 SQL MODE "NO_DIR_IN_CREATE" does not work with partitioned tables
+#
+
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+eval create table t2 (i int )
+partition by range (i)
+(
+ partition p01 values less than (1000)
+ data directory="$MYSQLTEST_VARDIR/tmp"
+ index directory="$MYSQLTEST_VARDIR/tmp"
+);
+
+set @org_mode=@@sql_mode;
+set @@sql_mode='NO_DIR_IN_CREATE';
+select @@sql_mode;
+create table t1 (i int )
+partition by range (i)
+(
+ partition p01 values less than (1000)
+ data directory='/not/existing'
+ index directory='/not/existing'
+);
+
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+show create table t2;
+DROP TABLE t1, t2;
+set @@sql_mode=@org_mode;
+
+#
+# Bug 21350: Data Directory problems
+#
+-- error ER_WRONG_TABLE_NAME
+create table t1 (a int)
+partition by key (a)
+(partition p0 DATA DIRECTORY 'part-data' INDEX DIRECTORY 'part-data');
+
+#
+# Insert a test that manages to create the first partition and fails with
+# the second, ensure that we clean up afterwards in a proper manner.
+#
+--error ER_WRONG_TABLE_NAME
+create table t1 (a int)
+partition by key (a)
+(partition p0,
+ partition p1 DATA DIRECTORY 'part-data' INDEX DIRECTORY 'part-data');
diff --git a/mysql-test/t/partition_windows.test b/mysql-test/t/partition_windows.test
index a0723feac44..d42a7383c99 100644
--- a/mysql-test/t/partition_windows.test
+++ b/mysql-test/t/partition_windows.test
@@ -7,23 +7,34 @@
#
# Bug 25141: Crash Server on Partitioning command
#
+# Bug#30459: Partitioning across disks failing on Windows
+# updated this test, since symlinked files are not supported on Windows
+# (not the same as symlinked directories that have a special hack
+# on windows). This test is not dependent on have_symlink.
--disable_warnings
-DROP TABLE IF EXISTS `example`;
+DROP TABLE IF EXISTS t1;
--enable_warnings
---disable_abort_on_error
-CREATE TABLE `example` (
- `ID_EXAMPLE` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `DESCRIPTION` varchar(30) NOT NULL,
- `LEVEL` smallint(5) unsigned DEFAULT NULL,
- PRIMARY KEY (`ID_EXAMPLE`)
+CREATE TABLE t1 (
+ c1 int(10) unsigned NOT NULL AUTO_INCREMENT,
+ c2 varchar(30) NOT NULL,
+ c3 smallint(5) unsigned DEFAULT NULL,
+ PRIMARY KEY (c1)
) ENGINE = MYISAM
-PARTITION BY HASH(ID_EXAMPLE)(
-PARTITION p0 DATA DIRECTORY = 'C:/build/5.1/data/partitiontest/p0Data',
-PARTITION p1 DATA DIRECTORY = 'C:/build/5.1/data/partitiontest/p1Data',
-PARTITION p2 DATA DIRECTORY = 'C:/build/5.1/data/partitiontest/p2Data',
-PARTITION p3 DATA DIRECTORY = 'C:/build/5.1/data/partitiontest/p3Data'
+PARTITION BY HASH(c1)(
+ PARTITION p0
+ DATA DIRECTORY = 'C:/mysqltest/p0Data'
+ INDEX DIRECTORY = 'D:/mysqltest/p0Index',
+ PARTITION p1,
+ PARTITION p2
+ DATA DIRECTORY = 'E:/mysqltest/p2Data'
+ INDEX DIRECTORY = 'F:/mysqltest/p2Index'
);
---enable_abort_on_error
+INSERT INTO t1 VALUES (NULL, "first", 1);
+INSERT INTO t1 VALUES (NULL, "second", 2);
+INSERT INTO t1 VALUES (NULL, "third", 3);
+ALTER TABLE t1 ADD PARTITION (PARTITION p3 DATA DIRECTORY = 'G:/mysqltest/p3Data' INDEX DIRECTORY = 'H:/mysqltest/p3Index');
+INSERT INTO t1 VALUES (NULL, "last", 4);
+DROP TABLE t1;
diff --git a/mysql-test/t/plugin.test b/mysql-test/t/plugin.test
index fb6d5febe45..0635a58a4a6 100644
--- a/mysql-test/t/plugin.test
+++ b/mysql-test/t/plugin.test
@@ -24,3 +24,53 @@ UNINSTALL PLUGIN EXAMPLE;
--error 1305
UNINSTALL PLUGIN non_exist;
+
+
+--echo #
+--echo # Bug#32034: check_func_enum() does not check correct values but set it
+--echo # to impossible int val
+--echo #
+
+INSTALL PLUGIN example SONAME 'ha_example.so';
+
+SET GLOBAL example_enum_var= e1;
+SET GLOBAL example_enum_var= e2;
+--error 1231
+SET GLOBAL example_enum_var= impossible;
+
+UNINSTALL PLUGIN example;
+
+
+
+#
+# Bug #32757 hang with sql_mode set when setting some global variables
+#
+INSTALL PLUGIN example SONAME 'ha_example.so';
+
+select @@session.sql_mode into @old_sql_mode;
+
+# first, try normal sql_mode (no error, send OK)
+set session sql_mode='';
+set global example_ulong_var=500;
+select @@global.example_ulong_var;
+# overflow -- correct value, but throw warning
+set global example_ulong_var=1111;
+select @@global.example_ulong_var;
+
+# now, try STRICT (error occurrs, no message is sent, so send default)
+set session sql_mode='STRICT_ALL_TABLES';
+set global example_ulong_var=500;
+select @@global.example_ulong_var;
+# overflow -- throw warning, do NOT change value
+--error ER_WRONG_VALUE_FOR_VAR
+set global example_ulong_var=1111;
+select @@global.example_ulong_var;
+
+set session sql_mode=@old_sql_mode;
+
+# finally, show that conditions that already raised an error are not
+# adversely affected (error was already sent, do nothing)
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set session old=bla;
+
+UNINSTALL PLUGIN example;
diff --git a/mysql-test/t/plugin_load-master.opt b/mysql-test/t/plugin_load-master.opt
new file mode 100644
index 00000000000..66637841f16
--- /dev/null
+++ b/mysql-test/t/plugin_load-master.opt
@@ -0,0 +1,3 @@
+$EXAMPLE_PLUGIN_OPT
+"--plugin-load=;EXAMPLE=ha_example.so;"
+--loose-plugin-example-enum-var=e2
diff --git a/mysql-test/t/plugin_load.test b/mysql-test/t/plugin_load.test
new file mode 100644
index 00000000000..8555247dd71
--- /dev/null
+++ b/mysql-test/t/plugin_load.test
@@ -0,0 +1,3 @@
+--source include/have_example_plugin.inc
+
+SELECT @@global.example_enum_var = 'e2';
diff --git a/mysql-test/t/profiling.test b/mysql-test/t/profiling.test
new file mode 100644
index 00000000000..5cb3f66aa2b
--- /dev/null
+++ b/mysql-test/t/profiling.test
@@ -0,0 +1,266 @@
+--source include/have_community_features.inc
+
+# Verify that the protocol isn't violated if we ask for profiling info
+# before profiling has recorded anything.
+show profiles;
+show profile all;
+
+# default is OFF
+show session variables like 'profil%';
+select @@profiling;
+
+# setting global variable is an error
+--error ER_LOCAL_VARIABLE
+set global profiling = ON;
+
+# But size is okay
+set global profiling_history_size=100;
+show global variables like 'profil%';
+
+# turn on for testing
+set session profiling = ON;
+set session profiling_history_size=30; # small enough to overflow
+
+# verify it is active
+show session variables like 'profil%';
+select @@profiling;
+
+# Profiling is a descriptive look into the way the server operated
+# in retrospect. Chad doesn't think it's wise to include the result
+# log, as this creates a proscriptive specification about how the
+# server should work in the future -- or it forces everyone who
+# changes the server significantly to record the test results again,
+# and that violates the spirit of our tests. Please don't include
+# execution-specific data here, as in all of the "show profile" and
+# information_schema.profiling results.
+
+create table t1 (
+ a int,
+ b int
+);
+insert into t1 values (1,1), (2,null), (3, 4);
+insert into t1 values (5,1), (6,null), (7, 4);
+insert into t1 values (1,1), (2,null), (3, 4);
+insert into t1 values (5,1), (6,null), (7, 4);
+select max(x) from (select sum(a) as x from t1 group by b) as teeone;
+insert into t1 select * from t1;
+select count(*) from t1;
+insert into t1 select * from t1;
+insert into t1 select * from t1;
+insert into t1 select * from t1;
+select count(*) from t1;
+insert into t1 select * from t1;
+insert into t1 select * from t1;
+insert into t1 select * from t1;
+select count(*) from t1;
+select sum(a) from t1;
+select sum(a) from t1 group by b;
+select sum(a) + sum(b) from t1 group by b;
+select max(x) from (select sum(a) as x from t1 group by b) as teeone;
+select '012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890012345678900123456789001234567890' as big_string;
+
+--enable_result_log
+--replace_column 2 #
+show profiles;
+
+--disable_result_log
+###--replace_column 2 # 3 # 4 #
+show profile for query 15;
+###--replace_column 2 # 3 # 4 #
+show profile cpu for query 15;
+###--replace_column 2 # 3 # 4 # 5 # 6 #
+show profile cpu, block io for query 15;
+###--replace_column 2 # 3 # 4 #
+show profile cpu for query 9 limit 2 offset 2;
+show profile cpu for query 10 limit 0;
+--error 0,ER_WRONG_ARGUMENTS
+show profile cpu for query 65534;
+###--replace_column 2 #
+show profile memory;
+###--replace_column 2 # 3 # 4 #
+show profile block io;
+###--replace_column 2 # 3 # 4 #
+show profile context switches;
+###--replace_column 2 # 3 # 4 #
+show profile page faults;
+###--replace_column 2 # 3 # 4 #
+show profile ipc;
+###--replace_column 2 #
+show profile swaps limit 1 offset 2;
+###--replace_column 2 # 5 #
+show profile source;
+show profile all for query 0 limit 0;
+###--replace_column 2 # 3 # 4 # 5 # 6 # 7 # 8 # 9 # 10 # 11 # 12 # 13 # 16 #
+show profile all for query 15;
+###--replace_column 2 # 3 # 4 # 5 # 6 # 7 # 8 # 9 # 10 # 11 # 12 # 13 # 16 #
+
+select * from information_schema.profiling;
+select query_id, state, duration from information_schema.profiling;
+select query_id, sum(duration) from information_schema.profiling group by query_id;
+select query_id, count(*) from information_schema.profiling group by query_id;
+select sum(duration) from information_schema.profiling;
+
+# Broken down into number of stages and duration of each query.
+select query_id, count(*), sum(duration) from information_schema.profiling group by query_id;
+select CPU_user, CPU_system, Context_voluntary, Context_involuntary, Block_ops_in, Block_ops_out, Messages_sent, Messages_received, Page_faults_major, Page_faults_minor, Swaps, Source_function, Source_file, Source_line from information_schema.profiling;
+
+
+--enable_result_log
+drop table if exists t1, t2, t3;
+create table t1 (id int );
+create table t2 (id int not null);
+create table t3 (id int not null primary key);
+insert into t1 values (1), (2), (3);
+insert into t2 values (1), (2), (3);
+insert into t3 values (1), (2), (3);
+
+--replace_column 2 #
+show profiles;
+
+select * from t1;
+--replace_column 2 #
+show profiles;
+--echo This ^^ should end in "select * from t1;"
+
+delete from t1;
+insert into t1 values (1), (2), (3);
+insert into t1 values (1), (2), (3);
+
+select * from t1;
+--replace_column 2 #
+show profiles;
+
+# Turning profiling off does freeze it
+set session profiling = OFF;
+select sum(id) from t1;
+--replace_column 2 #
+show profiles;
+
+## Verify that the various juggling of THD contexts doesn't affect profiling.
+
+## Functions and procedures
+set session profiling = ON;
+select @@profiling;
+create function f1() returns varchar(50) return 'hello';
+select @@profiling;
+select * from t1 where id <> f1();
+select @@profiling;
+
+set session profiling = OFF;
+drop table if exists profile_log;
+create table profile_log (how_many int);
+
+--disable_warnings
+drop procedure if exists p1;
+drop procedure if exists p2;
+drop procedure if exists p3;
+--enable_warnings
+
+delimiter //;
+create procedure p1 ()
+ modifies sql data
+begin
+ set profiling = ON;
+ select 'This p1 should show up in profiling';
+ insert into profile_log select count(*) from information_schema.profiling;
+end//
+create procedure p2()
+ deterministic
+begin
+ set profiling = ON;
+ call p1();
+ select 'This p2 should show up in profiling';
+end//
+create procedure p3 ()
+ reads sql data
+begin
+ set profiling = ON;
+ select 'This p3 should show up in profiling';
+ show profile;
+end//
+delimiter ;//
+
+--disable_result_log
+--echo first call to p1
+call p1;
+select * from profile_log;
+--echo second call to p1
+call p1;
+select * from profile_log;
+--echo third call to p1
+call p1;
+select * from profile_log;
+set session profiling = OFF;
+call p2;
+set session profiling = OFF;
+call p3;
+
+--replace_column 1 # 2 #
+show profiles;
+--enable_result_log
+
+drop procedure if exists p1;
+drop procedure if exists p2;
+drop procedure if exists p3;
+drop table if exists profile_log;
+
+## Triggers
+set session profiling = ON;
+drop table if exists t2;
+create table t2 (id int not null);
+create trigger t2_bi before insert on t2 for each row set @x=0;
+select @@profiling;
+insert into t2 values (1), (2), (3);
+select @@profiling;
+
+## ALTER TABLE
+set session profiling = ON;
+drop table if exists t1, t2;
+create table t1 (id int not null primary key);
+create table t2 (id int not null primary key, id1 int not null);
+select @@profiling;
+alter table t2 add foreign key (id1) references t1 (id) on delete cascade;
+select @@profiling;
+
+## Table LOCKing
+lock table t1 write;
+select @@profiling;
+unlock table;
+select @@profiling;
+
+## Transactions
+set autocommit=0;
+select @@profiling, @@autocommit;
+begin;
+select @@profiling;
+insert into t1 values (1);
+insert into t2 values (1,1);
+--echo testing referential integrity cascade
+delete from t1 where id = 1;
+select @@profiling;
+--echo testing rollback
+--disable_warnings
+rollback;
+--enable_warnings
+select @@profiling;
+--echo testing commit
+begin;
+select @@profiling;
+commit;
+select @@profiling;
+
+drop table if exists t1, t2, t3;
+drop view if exists v1;
+drop function if exists f1;
+
+## Multiple queries in one packet. Combo statements don't work with ps-proto.
+#--eval select 1; select 2; select 3;
+## two continuations, one starting
+#select state from information_schema.profiling where seq=1 order by query_id desc limit 3;
+
+
+## last thing in the file
+set session profiling = OFF;
+
+##
+--echo End of 5.0 tests
diff --git a/mysql-test/t/ps.test b/mysql-test/t/ps.test
index 5a4d30fdd50..d137461ce9c 100644
--- a/mysql-test/t/ps.test
+++ b/mysql-test/t/ps.test
@@ -1181,9 +1181,6 @@ deallocate prepare stmt2;
#
# CREATE TABLE with DATA DIRECTORY option
#
-# Protect ourselves from data left in tmp/ by a previos possibly failed
-# test
---system rm -f $MYSQLTEST_VARDIR/tmp/t1.*
--disable_warnings
--disable_query_log
eval prepare stmt from "create table t1 (c char(10)) data directory='$MYSQLTEST_VARDIR/tmp'";
@@ -1226,6 +1223,16 @@ EXECUTE st1;
DEALLOCATE PREPARE st1;
DROP TABLE t1;
+
+#
+# Bug #32137: prepared statement crash with str_to_date in update clause
+#
+create table t1 (a int, b tinyint);
+prepare st1 from 'update t1 set b= (str_to_date(a, a))';
+execute st1;
+deallocate prepare st1;
+drop table t1;
+
--echo End of 4.1 tests.
############################# 5.0 tests start ################################
@@ -1814,6 +1821,165 @@ execute stmt using @a;
show create table t1;
drop table t1;
+#
+# Bug#33798: prepared statements improperly handle large unsigned ints
+#
+--disable_warnings
+drop table if exists t1;
+--enable_warnings
+create table t1 (a bigint unsigned, b bigint(20) unsigned);
+prepare stmt from "insert into t1 values (?,?)";
+set @a= 9999999999999999;
+set @b= 14632475938453979136;
+insert into t1 values (@a, @b);
+select * from t1 where a = @a and b = @b;
+execute stmt using @a, @b;
+select * from t1 where a = @a and b = @b;
+deallocate prepare stmt;
+drop table t1;
+
+#
+# Bug#32890 Crash after repeated create and drop of tables and views
+#
+
+--disable_warnings
+drop view if exists v1;
+drop table if exists t1;
+--enable_warnings
+
+create table t1 (a int, b int);
+insert into t1 values (1,1), (2,2), (3,3);
+insert into t1 values (3,1), (1,2), (2,3);
+
+prepare stmt from "create view v1 as select * from t1";
+execute stmt;
+drop table t1;
+create table t1 (a int, b int);
+drop view v1;
+execute stmt;
+show create view v1;
+drop view v1;
+
+prepare stmt from "create view v1 (c,d) as select a,b from t1";
+execute stmt;
+show create view v1;
+select * from v1;
+drop view v1;
+execute stmt;
+deallocate prepare stmt;
+show create view v1;
+select * from v1;
+drop view v1;
+
+prepare stmt from "create view v1 (c) as select b+1 from t1";
+execute stmt;
+show create view v1;
+select * from v1;
+drop view v1;
+execute stmt;
+deallocate prepare stmt;
+show create view v1;
+select * from v1;
+drop view v1;
+
+prepare stmt from "create view v1 (c,d,e,f) as select a,b,a in (select a+2 from t1), a = all (select a from t1) from t1";
+execute stmt;
+show create view v1;
+select * from v1;
+drop view v1;
+execute stmt;
+deallocate prepare stmt;
+show create view v1;
+select * from v1;
+drop view v1;
+
+prepare stmt from "create or replace view v1 as select 1";
+execute stmt;
+show create view v1;
+select * from v1;
+execute stmt;
+show create view v1;
+deallocate prepare stmt;
+show create view v1;
+select * from v1;
+drop view v1;
+
+prepare stmt from "create view v1 as select 1, 1";
+execute stmt;
+show create view v1;
+select * from v1;
+drop view v1;
+execute stmt;
+deallocate prepare stmt;
+show create view v1;
+select * from v1;
+drop view v1;
+
+prepare stmt from "create view v1 (x) as select a from t1 where a > 1";
+execute stmt;
+show create view v1;
+select * from v1;
+drop view v1;
+execute stmt;
+deallocate prepare stmt;
+show create view v1;
+select * from v1;
+drop view v1;
+
+prepare stmt from "create view v1 as select * from `t1` `b`";
+execute stmt;
+show create view v1;
+select * from v1;
+drop view v1;
+execute stmt;
+deallocate prepare stmt;
+show create view v1;
+select * from v1;
+drop view v1;
+
+prepare stmt from "create view v1 (a,b,c) as select * from t1";
+--error ER_VIEW_WRONG_LIST
+execute stmt;
+--error ER_VIEW_WRONG_LIST
+execute stmt;
+deallocate prepare stmt;
+
+drop table t1;
+create temporary table t1 (a int, b int);
+
+prepare stmt from "create view v1 as select * from t1";
+--error ER_VIEW_SELECT_TMPTABLE
+execute stmt;
+--error ER_VIEW_SELECT_TMPTABLE
+execute stmt;
+deallocate prepare stmt;
+
+drop table t1;
+
+--error ER_NO_SUCH_TABLE
+prepare stmt from "create view v1 as select * from t1";
+--error ER_NO_SUCH_TABLE
+prepare stmt from "create view v1 as select * from `t1` `b`";
+
+#
+# Bug#33851: Passing UNSIGNED param to EXECUTE returns ERROR 1210
+#
+
+prepare stmt from "select ?";
+set @arg= 123456789.987654321;
+select @arg;
+execute stmt using @arg;
+set @arg= "string";
+select @arg;
+execute stmt using @arg;
+set @arg= 123456;
+select @arg;
+execute stmt using @arg;
+set @arg= cast(-12345.54321 as decimal(20, 10));
+select @arg;
+execute stmt using @arg;
+deallocate prepare stmt;
+
--echo End of 5.0 tests.
#
@@ -2781,4 +2947,38 @@ execute stmt;
show create table t1;
drop table t1;
+#
+# Bug #32030 DELETE does not return an error and deletes rows if error
+# evaluating WHERE
+#
+# Test that there is an error for prepared delete just like for the normal
+# one.
+#
+--disable_warnings
+drop table if exists t1, t2;
+--enable_warnings
+create table t1 (a int, b int);
+create table t2 like t1;
+
+insert into t1 (a, b) values (1,1), (1,2), (1,3), (1,4), (1,5),
+ (2,2), (2,3), (2,1), (3,1), (4,1), (4,2), (4,3), (4,4), (4,5), (4,6);
+
+insert into t2 select a, max(b) from t1 group by a;
+
+prepare stmt from "delete from t2 where (select (select max(b) from t1 group
+by a having a < 2) x from t1) > 10000";
+
+--error ER_SUBQUERY_NO_1_ROW
+delete from t2 where (select (select max(b) from t1 group
+by a having a < 2) x from t1) > 10000;
+--error ER_SUBQUERY_NO_1_ROW
+execute stmt;
+--error ER_SUBQUERY_NO_1_ROW
+execute stmt;
+
+deallocate prepare stmt;
+drop table t1, t2;
+
+
+
--echo End of 5.1 tests.
diff --git a/mysql-test/t/ps_1general.test b/mysql-test/t/ps_1general.test
index 13773504fb0..42bf39890de 100644
--- a/mysql-test/t/ps_1general.test
+++ b/mysql-test/t/ps_1general.test
@@ -577,7 +577,7 @@ prepare stmt1 from ' rename table t5 to t6, t7 to t8 ' ;
create table t5 (a int) ;
# rename must fail, t7 does not exist
# Clean up the filename here because embedded server reports whole path
---replace_result \\ / $MYSQLTEST_VARDIR . /master-data/ "" t7.frm t7
+--replace_result $MYSQLTEST_VARDIR . master-data/ '' t7.frm t7
--error 1017
execute stmt1 ;
create table t7 (a int) ;
diff --git a/mysql-test/t/ps_ddl.test b/mysql-test/t/ps_ddl.test
new file mode 100644
index 00000000000..c824d17063b
--- /dev/null
+++ b/mysql-test/t/ps_ddl.test
@@ -0,0 +1,1839 @@
+#
+# Testing the behavior of 'PREPARE', 'DDL', 'EXECUTE' scenarios
+#
+# Background:
+# In a statement like "select * from t1", t1 can be:
+# - nothing (the table does not exist)
+# - a real table
+# - a temporary table
+# - a view
+#
+# Changing the nature of "t1" between a PREPARE and an EXECUTE
+# can invalidate the internal state of a prepared statement, so that,
+# during the execute, the server should:
+# - detect state changes and fail to execute a statement,
+# instead of crashing the server or returning wrong results
+# - "RE-PREPARE" the statement to restore a valid internal state.
+#
+# Also, changing the physical structure of "t1", by:
+# - changing the definition of t1 itself (DDL on tables, views)
+# - changing TRIGGERs associated with a table
+# - changing PROCEDURE, FUNCTION referenced by a TRIGGER body,
+# - changing PROCEDURE, FUNCTION referenced by a VIEW body,
+# impacts the internal structure of a prepared statement, and should
+# cause the same verifications at execute time to be performed.
+#
+# This test provided in this file cover the different state transitions
+# between a PREPARE and an EXECUTE, and are organized as follows:
+# - Part 1: NOTHING -> TABLE
+# - Part 2: NOTHING -> TEMPORARY TABLE
+# - Part 3: NOTHING -> VIEW
+# - Part 4: TABLE -> NOTHING
+# - Part 5: TABLE -> TABLE (DDL)
+# - Part 6: TABLE -> TABLE (TRIGGER)
+# - Part 7: TABLE -> TABLE (TRIGGER dependencies)
+# - Part 8: TABLE -> TEMPORARY TABLE
+# - Part 9: TABLE -> VIEW
+# - Part 10: TEMPORARY TABLE -> NOTHING
+# - Part 11: TEMPORARY TABLE -> TABLE
+# - Part 12: TEMPORARY TABLE -> TEMPORARY TABLE (DDL)
+# - Part 13: TEMPORARY TABLE -> VIEW
+# - Part 14: VIEW -> NOTHING
+# - Part 15: VIEW -> TABLE
+# - Part 16: VIEW -> TEMPORARY TABLE
+# - Part 17: VIEW -> VIEW (DDL)
+# - Part 18: VIEW -> VIEW (VIEW dependencies)
+# - Part 19: Special tables (INFORMATION_SCHEMA)
+# - Part 20: Special tables (log tables)
+# - Part 21: Special tables (system tables)
+# - Part 22: Special tables (views temp tables)
+# - Part 23: Special tables (internal join tables)
+# - Part 24: Special statements
+# - Part 25: Testing the strength of TABLE_SHARE version
+
+let $base_count = SELECT VARIABLE_VALUE from
+INFORMATION_SCHEMA.SESSION_STATUS where variable_name='COM_STMT_REPREPARE'
+into @base_count ;
+
+let $check = SELECT CASE (VARIABLE_VALUE - @base_count - @expected)
+ WHEN 0 THEN "PASSED"
+ ELSE "FAILED"
+ END
+ AS `CHECK`,
+ (VARIABLE_VALUE - @base_count - @expected) AS `OFFSET`
+ from INFORMATION_SCHEMA.SESSION_STATUS
+ where variable_name='COM_STMT_REPREPARE' ;
+
+eval $base_count;
+set @expected = 0;
+
+# Maintainer:
+# When not expecting a re-prepare, write the test like this:
+# execute stmt;
+# eval $check;
+#
+# When expecting a re-prepare, write the test like this:
+# set @expected = @expected + 1;
+# execute stmt;
+# eval $check;
+#
+
+--echo =====================================================================
+--echo Testing 1: NOTHING -> TABLE transitions
+--echo =====================================================================
+
+--disable_warnings
+drop table if exists t1;
+--enable_warnings
+
+# can not be tested since prepare failed
+--error ER_NO_SUCH_TABLE
+prepare stmt from 'select * from t1';
+
+--echo =====================================================================
+--echo Testing 2: NOTHING -> TEMPORARY TABLE transitions
+--echo =====================================================================
+
+# can not be tested
+
+--echo =====================================================================
+--echo Testing 3: NOTHING -> VIEW transitions
+--echo =====================================================================
+
+# can not be tested
+
+--echo =====================================================================
+--echo Testing 4: TABLE -> NOTHING transitions
+--echo =====================================================================
+
+--disable_warnings
+drop table if exists t4;
+--enable_warnings
+
+create table t4(a int);
+
+prepare stmt from 'select * from t4';
+execute stmt;
+eval $check;
+execute stmt;
+eval $check;
+
+drop table t4;
+--error ER_NO_SUCH_TABLE
+execute stmt;
+eval $check;
+--error ER_NO_SUCH_TABLE
+execute stmt;
+eval $check;
+
+--echo =====================================================================
+--echo Testing 5: TABLE -> TABLE (DDL) transitions
+--echo =====================================================================
+
+--disable_warnings
+drop table if exists t5;
+--enable_warnings
+
+create table t5(a int);
+
+prepare stmt from 'select a from t5';
+execute stmt;
+eval $check;
+execute stmt;
+eval $check;
+
+alter table t5 add column (b int);
+
+set @expected = @expected + 1;
+execute stmt;
+eval $check;
+execute stmt;
+eval $check;
+
+drop table t5;
+
+--echo =====================================================================
+--echo Testing 6: TABLE -> TABLE (TRIGGER) transitions
+--echo =====================================================================
+
+#
+# Test 6-a: adding a relevant trigger
+# Test 6-b: adding an irrelevant trigger
+# Test 6-c: changing a relevant trigger
+# Test 6-d: changing an irrelevant trigger
+# Test 6-e: removing a relevant trigger
+# Test 6-f: removing an irrelevant trigger
+#
+
+--disable_warnings
+drop table if exists t6;
+--enable_warnings
+
+create table t6(a int);
+
+prepare stmt from 'insert into t6(a) value (?)';
+set @val=1;
+execute stmt using @val;
+eval $check;
+set @val=2;
+execute stmt using @val;
+eval $check;
+
+# Relevant trigger: execute should reprepare
+delimiter $$;
+create trigger t6_bi before insert on t6 for each row
+ begin
+ set @message= "t6_bi";
+ end
+$$
+delimiter ;$$
+
+set @message="none";
+set @val=3;
+set @expected = @expected + 1;
+execute stmt using @val;
+eval $check;
+select @message;
+set @val=4;
+execute stmt using @val;
+eval $check;
+select @message;
+
+prepare stmt from 'insert into t6(a) value (?)';
+set @message="none";
+set @val=5;
+execute stmt using @val;
+eval $check;
+select @message;
+set @message="none";
+set @val=6;
+execute stmt using @val;
+eval $check;
+select @message;
+
+# Unrelated trigger: execute can pass of fail, implementation dependent
+delimiter $$;
+create trigger t6_bd before delete on t6 for each row
+ begin
+ set @message= "t6_bd";
+ end
+$$
+delimiter ;$$
+
+set @message="none";
+set @val=7;
+set @expected = @expected + 1;
+execute stmt using @val;
+eval $check;
+select @message;
+set @message="none";
+set @val=8;
+execute stmt using @val;
+eval $check;
+select @message;
+
+prepare stmt from 'insert into t6(a) value (?)';
+set @message="none";
+set @val=9;
+execute stmt using @val;
+eval $check;
+select @message;
+set @message="none";
+set @val=10;
+execute stmt using @val;
+eval $check;
+select @message;
+
+# Relevant trigger: execute should reprepare
+drop trigger t6_bi;
+delimiter $$;
+create trigger t6_bi before insert on t6 for each row
+ begin
+ set @message= "t6_bi (2)";
+ end
+$$
+delimiter ;$$
+
+set @message="none";
+set @val=11;
+set @expected = @expected + 1;
+execute stmt using @val;
+eval $check;
+select @message;
+set @val=12;
+execute stmt using @val;
+eval $check;
+select @message;
+
+prepare stmt from 'insert into t6(a) value (?)';
+set @message="none";
+set @val=13;
+execute stmt using @val;
+eval $check;
+select @message;
+set @message="none";
+set @val=14;
+execute stmt using @val;
+eval $check;
+select @message;
+
+# Unrelated trigger: execute can pass of fail, implementation dependent
+drop trigger t6_bd;
+delimiter $$;
+create trigger t6_bd before delete on t6 for each row
+ begin
+ set @message= "t6_bd (2)";
+ end
+$$
+delimiter ;$$
+
+set @message="none";
+set @val=15;
+set @expected = @expected + 1;
+execute stmt using @val;
+eval $check;
+select @message;
+set @message="none";
+set @val=16;
+execute stmt using @val;
+eval $check;
+select @message;
+
+prepare stmt from 'insert into t6(a) value (?)';
+set @message="none";
+set @val=17;
+execute stmt using @val;
+eval $check;
+select @message;
+set @message="none";
+set @val=18;
+execute stmt using @val;
+eval $check;
+select @message;
+
+drop trigger t6_bi;
+
+set @message="none";
+set @val=19;
+set @expected = @expected + 1;
+execute stmt using @val;
+eval $check;
+select @message;
+set @val=20;
+execute stmt using @val;
+eval $check;
+select @message;
+
+prepare stmt from 'insert into t6(a) value (?)';
+set @message="none";
+set @val=21;
+execute stmt using @val;
+eval $check;
+select @message;
+set @val=22;
+execute stmt using @val;
+eval $check;
+select @message;
+
+drop trigger t6_bd;
+
+set @val=23;
+set @expected = @expected + 1;
+execute stmt using @val;
+eval $check;
+select @message;
+set @val=24;
+execute stmt using @val;
+eval $check;
+select @message;
+
+select * from t6 order by a;
+drop table t6;
+
+--echo =====================================================================
+--echo Testing 7: TABLE -> TABLE (TRIGGER dependencies) transitions
+--echo =====================================================================
+
+#
+# Test 7-a: dependent PROCEDURE has changed
+# Test 7-b: dependent FUNCTION has changed
+# Test 7-c: dependent VIEW has changed
+# Test 7-d: dependent TABLE has changed
+# Test 7-e: dependent TABLE TRIGGER has changed
+#
+
+--disable_warnings
+drop table if exists t7_proc;
+drop table if exists t7_func;
+drop table if exists t7_view;
+drop table if exists t7_table;
+drop table if exists t7_dependent_table;
+drop table if exists t7_table_trigger;
+drop table if exists t7_audit;
+drop procedure if exists audit_proc;
+drop function if exists audit_func;
+drop view if exists audit_view;
+--enable_warnings
+
+create table t7_proc(a int);
+create table t7_func(a int);
+create table t7_view(a int);
+create table t7_table(a int);
+create table t7_table_trigger(a int);
+
+create table t7_audit(old_a int, new_a int, reason varchar(50));
+create table t7_dependent_table(old_a int, new_a int, reason varchar(50));
+
+create procedure audit_proc(a int)
+ insert into t7_audit values (NULL, a, "proc v1");
+
+create function audit_func() returns varchar(50)
+ return "func v1";
+
+create view audit_view as select "view v1" as reason from dual;
+
+create trigger t7_proc_bi before insert on t7_proc for each row
+ call audit_proc(NEW.a);
+
+create trigger t7_func_bi before insert on t7_func for each row
+ insert into t7_audit values (NULL, NEW.a, audit_func());
+
+create trigger t7_view_bi before insert on t7_view for each row
+ insert into t7_audit values (NULL, NEW.a, (select reason from audit_view));
+
+create trigger t7_table_bi before insert on t7_table for each row
+ insert into t7_dependent_table values (NULL, NEW.a, "dependent table");
+
+create trigger t7_table_trigger_bi before insert on t7_dependent_table
+ for each row set NEW.reason="trigger v1";
+
+prepare stmt_proc from 'insert into t7_proc(a) value (?)';
+set @val=101;
+execute stmt_proc using @val;
+eval $check;
+set @val=102;
+execute stmt_proc using @val;
+eval $check;
+
+drop procedure audit_proc;
+
+create procedure audit_proc(a int)
+ insert into t7_audit values (NULL, a, "proc v2");
+
+set @val=103;
+set @expected = @expected + 1;
+execute stmt_proc using @val;
+eval $check;
+set @val=104;
+execute stmt_proc using @val;
+eval $check;
+
+
+prepare stmt_func from 'insert into t7_func(a) value (?)';
+set @val=201;
+execute stmt_func using @val;
+eval $check;
+set @val=202;
+execute stmt_func using @val;
+eval $check;
+
+drop function audit_func;
+
+create function audit_func() returns varchar(50)
+ return "func v2";
+
+set @val=203;
+set @expected = @expected + 1;
+execute stmt_func using @val;
+eval $check;
+set @val=204;
+execute stmt_func using @val;
+eval $check;
+
+prepare stmt_view from 'insert into t7_view(a) value (?)';
+set @val=301;
+execute stmt_view using @val;
+eval $check;
+set @val=302;
+execute stmt_view using @val;
+eval $check;
+
+drop view audit_view;
+
+create view audit_view as select "view v2" as reason from dual;
+
+# Because of Bug#33255, the wrong result is still produced for cases
+# 303 and 304, even after re-preparing the statement.
+# This is because the table trigger is cached and is not invalidated.
+
+set @val=303;
+set @expected = @expected + 1;
+execute stmt_view using @val;
+eval $check;
+set @val=304;
+execute stmt_view using @val;
+eval $check;
+
+
+prepare stmt_table from 'insert into t7_table(a) value (?)';
+set @val=401;
+execute stmt_table using @val;
+eval $check;
+set @val=402;
+execute stmt_table using @val;
+eval $check;
+
+alter table t7_dependent_table add column comments varchar(100) default NULL;
+
+set @val=403;
+set @expected = @expected + 1;
+--error ER_WRONG_VALUE_COUNT_ON_ROW
+execute stmt_table using @val;
+eval $check;
+set @val=404;
+set @expected = @expected + 1;
+--error ER_WRONG_VALUE_COUNT_ON_ROW
+execute stmt_table using @val;
+eval $check;
+
+alter table t7_dependent_table drop column comments;
+
+set @val=405;
+set @expected = @expected + 1;
+execute stmt_table using @val;
+eval $check;
+set @val=406;
+execute stmt_table using @val;
+eval $check;
+
+
+prepare stmt_table_trigger from 'insert into t7_table(a) value (?)';
+set @val=501;
+execute stmt_table_trigger using @val;
+eval $check;
+set @val=502;
+execute stmt_table_trigger using @val;
+eval $check;
+
+drop trigger t7_table_trigger_bi;
+
+create trigger t7_table_trigger_bi before insert on t7_dependent_table
+ for each row set NEW.reason="trigger v2";
+
+set @val=503;
+set @expected = @expected + 1;
+execute stmt_table_trigger using @val;
+eval $check;
+set @val=504;
+execute stmt_table_trigger using @val;
+eval $check;
+
+select * from t7_audit order by new_a;
+
+select * from t7_dependent_table order by new_a;
+
+drop table t7_proc;
+drop table t7_func;
+drop table t7_view;
+drop table t7_table;
+drop table t7_dependent_table;
+drop table t7_table_trigger;
+drop table t7_audit;
+drop procedure audit_proc;
+drop function audit_func;
+drop view audit_view;
+
+--echo =====================================================================
+--echo Testing 8: TABLE -> TEMPORARY TABLE transitions
+--echo =====================================================================
+
+--disable_warnings
+drop table if exists t8;
+--enable_warnings
+
+create table t8(a int);
+
+prepare stmt from 'select * from t8';
+execute stmt;
+eval $check;
+execute stmt;
+eval $check;
+
+drop table t8;
+create temporary table t8(a int);
+
+set @expected = @expected + 1;
+execute stmt;
+eval $check;
+execute stmt;
+eval $check;
+
+drop table t8;
+
+--echo =====================================================================
+--echo Testing 9: TABLE -> VIEW transitions
+--echo =====================================================================
+
+--disable_warnings
+drop table if exists t9;
+drop table if exists t9_b;
+--enable_warnings
+
+create table t9(a int);
+create table t9_b(a int);
+
+prepare stmt from 'select * from t9';
+execute stmt;
+eval $check;
+execute stmt;
+eval $check;
+
+drop table t9;
+create view t9 as select * from t9_b;
+
+set @expected = @expected + 1;
+execute stmt;
+eval $check;
+execute stmt;
+eval $check;
+
+drop view t9;
+drop table t9_b;
+
+--echo =====================================================================
+--echo Testing 10: TEMPORARY TABLE -> NOTHING transitions
+--echo =====================================================================
+
+--disable_warnings
+drop temporary table if exists t10;
+--enable_warnings
+
+create temporary table t10(a int);
+
+prepare stmt from 'select * from t10';
+execute stmt;
+eval $check;
+execute stmt;
+eval $check;
+
+drop temporary table t10;
+--error ER_NO_SUCH_TABLE
+execute stmt;
+eval $check;
+--error ER_NO_SUCH_TABLE
+execute stmt;
+eval $check;
+
+--echo =====================================================================
+--echo Testing 11: TEMPORARY TABLE -> TABLE transitions
+--echo =====================================================================
+
+--disable_warnings
+drop table if exists t11;
+drop temporary table if exists t11;
+--enable_warnings
+
+create table t11(a int);
+insert into t11(a) value (1);
+create temporary table t11(a int);
+
+prepare stmt from 'select * from t11';
+execute stmt;
+eval $check;
+execute stmt;
+eval $check;
+
+drop temporary table t11;
+
+set @expected = @expected + 1;
+execute stmt;
+eval $check;
+execute stmt;
+eval $check;
+
+select * from t11;
+drop table t11;
+
+--echo =====================================================================
+--echo Testing 12: TEMPORARY TABLE -> TEMPORARY TABLE (DDL) transitions
+--echo =====================================================================
+
+--disable_warnings
+drop temporary table if exists t12;
+--enable_warnings
+
+create temporary table t12(a int);
+
+prepare stmt from 'select a from t12';
+execute stmt;
+eval $check;
+execute stmt;
+eval $check;
+
+drop temporary table t12;
+create temporary table t12(a int, b int);
+
+set @expected = @expected + 1;
+execute stmt;
+eval $check;
+execute stmt;
+eval $check;
+
+select * from t12;
+drop table t12;
+
+--echo =====================================================================
+--echo Testing 13: TEMPORARY TABLE -> VIEW transitions
+--echo =====================================================================
+
+--disable_warnings
+drop temporary table if exists t13;
+drop table if exists t13_b;
+--enable_warnings
+
+create temporary table t13(a int);
+create table t13_b(a int);
+
+prepare stmt from 'select * from t13';
+execute stmt;
+eval $check;
+execute stmt;
+eval $check;
+
+drop temporary table t13;
+create view t13 as select * from t13_b;
+
+set @expected = @expected + 1;
+execute stmt;
+eval $check;
+execute stmt;
+eval $check;
+
+drop view t13;
+drop table t13_b;
+
+--echo =====================================================================
+--echo Testing 14: VIEW -> NOTHING transitions
+--echo =====================================================================
+
+--disable_warnings
+drop view if exists t14;
+drop table if exists t14_b;
+--enable_warnings
+
+create table t14_b(a int);
+create view t14 as select * from t14_b;
+
+prepare stmt from 'select * from t14';
+execute stmt;
+eval $check;
+execute stmt;
+eval $check;
+
+drop view t14;
+
+set @expected = @expected + 1;
+--error ER_NO_SUCH_TABLE
+execute stmt;
+eval $check;
+set @expected = @expected + 1;
+--error ER_NO_SUCH_TABLE
+execute stmt;
+eval $check;
+
+drop table t14_b;
+
+--echo =====================================================================
+--echo Testing 15: VIEW -> TABLE transitions
+--echo =====================================================================
+
+--disable_warnings
+drop view if exists t15;
+drop table if exists t15_b;
+--enable_warnings
+
+create table t15_b(a int);
+create view t15 as select * from t15_b;
+
+prepare stmt from 'select * from t15';
+execute stmt;
+eval $check;
+execute stmt;
+eval $check;
+
+drop view t15;
+create table t15(a int);
+
+set @expected = @expected + 1;
+execute stmt;
+eval $check;
+execute stmt;
+eval $check;
+
+drop table t15_b;
+drop table t15;
+
+--echo =====================================================================
+--echo Testing 16: VIEW -> TEMPORARY TABLE transitions
+--echo =====================================================================
+
+--disable_warnings
+drop view if exists t16;
+drop table if exists t16_b;
+--enable_warnings
+
+create table t16_b(a int);
+create view t16 as select * from t16_b;
+
+prepare stmt from 'select * from t16';
+execute stmt;
+eval $check;
+execute stmt;
+eval $check;
+
+drop view t16;
+create temporary table t16(a int);
+
+set @expected = @expected + 1;
+execute stmt;
+eval $check;
+execute stmt;
+eval $check;
+
+drop table t16_b;
+drop temporary table t16;
+
+--echo =====================================================================
+--echo Testing 17: VIEW -> VIEW (DDL) transitions
+--echo =====================================================================
+
+--disable_warnings
+drop view if exists t17;
+drop table if exists t17_b;
+--enable_warnings
+
+create table t17_b(a int);
+insert into t17_b values (10), (20), (30);
+
+create view t17 as select a, 2*a as b, 3*a as c from t17_b;
+select * from t17;
+
+prepare stmt from 'select * from t17';
+execute stmt;
+eval $check;
+execute stmt;
+eval $check;
+
+drop view t17;
+create view t17 as select a, 2*a as b, 5*a as c from t17_b;
+select * from t17;
+
+set @expected = @expected + 1;
+execute stmt;
+eval $check;
+execute stmt;
+eval $check;
+
+drop table t17_b;
+drop view t17;
+
+--echo =====================================================================
+--echo Testing 18: VIEW -> VIEW (VIEW dependencies) transitions
+--echo =====================================================================
+
+#
+# Test 18-a: dependent PROCEDURE has changed (via a trigger)
+# Test 18-b: dependent FUNCTION has changed
+# Test 18-c: dependent VIEW has changed
+# Test 18-d: dependent TABLE has changed
+# Test 18-e: dependent TABLE TRIGGER has changed
+#
+
+--disable_warnings
+drop table if exists t18;
+drop table if exists t18_dependent_table;
+drop view if exists t18_func;
+drop view if exists t18_view;
+drop view if exists t18_table;
+drop function if exists view_func;
+drop view if exists view_view;
+--enable_warnings
+
+# TODO: insertable view -> trigger
+# TODO: insertable view -> trigger -> proc ?
+
+create table t18(a int);
+insert into t18 values (1), (2), (3);
+
+create function view_func(x int) returns int
+ return x+1;
+
+create view view_view as select "view v1" as reason from dual;
+
+create table t18_dependent_table(a int);
+
+create view t18_func as select a, view_func(a) as b from t18;
+create view t18_view as select a, reason as b from t18, view_view;
+create view t18_table as select * from t18;
+
+prepare stmt_func from 'select * from t18_func';
+execute stmt_func;
+eval $check;
+execute stmt_func;
+eval $check;
+
+drop function view_func;
+create function view_func(x int) returns int
+ return x*x;
+
+set @expected = @expected + 1;
+execute stmt_func;
+eval $check;
+execute stmt_func;
+eval $check;
+
+prepare stmt_view from 'select * from t18_view';
+execute stmt_view;
+eval $check;
+execute stmt_view;
+eval $check;
+
+drop view view_view;
+create view view_view as select "view v2" as reason from dual;
+
+set @expected = @expected + 1;
+execute stmt_view;
+eval $check;
+execute stmt_view;
+eval $check;
+
+prepare stmt_table from 'select * from t18_table';
+execute stmt_table;
+eval $check;
+execute stmt_table;
+eval $check;
+
+alter table t18 add column comments varchar(50) default NULL;
+
+set @expected = @expected + 1;
+execute stmt_table;
+eval $check;
+execute stmt_table;
+eval $check;
+
+drop table t18;
+drop table t18_dependent_table;
+drop view t18_func;
+drop view t18_view;
+drop view t18_table;
+drop function view_func;
+drop view view_view;
+
+--echo =====================================================================
+--echo Testing 19: Special tables (INFORMATION_SCHEMA)
+--echo =====================================================================
+
+--disable_warnings
+drop procedure if exists proc_19;
+--enable_warnings
+
+# Using a temporary table internally should not confuse the prepared
+# statement code, and should not raise ER_PS_INVALIDATED errors
+prepare stmt from
+ 'select ROUTINE_SCHEMA, ROUTINE_NAME, ROUTINE_TYPE
+ from INFORMATION_SCHEMA.ROUTINES where
+ routine_name=\'proc_19\'';
+
+create procedure proc_19() select "hi there";
+
+execute stmt;
+eval $check;
+execute stmt;
+eval $check;
+
+drop procedure proc_19;
+create procedure proc_19() select "hi there, again";
+
+execute stmt;
+eval $check;
+execute stmt;
+eval $check;
+
+drop procedure proc_19;
+
+--echo =====================================================================
+--echo Testing 20: Special tables (log tables)
+--echo =====================================================================
+
+prepare stmt from
+ 'select * from mysql.general_log where argument=\'IMPOSSIBLE QUERY STRING\'';
+
+execute stmt;
+eval $check;
+execute stmt;
+eval $check;
+execute stmt;
+eval $check;
+execute stmt;
+eval $check;
+
+--echo =====================================================================
+--echo Testing 21: Special tables (system tables)
+--echo =====================================================================
+
+--disable_warnings
+drop procedure if exists proc_21;
+--enable_warnings
+
+prepare stmt from
+ 'select type, db, name from mysql.proc where name=\'proc_21\'';
+
+create procedure proc_21() select "hi there";
+
+execute stmt;
+eval $check;
+execute stmt;
+eval $check;
+
+drop procedure proc_21;
+create procedure proc_21() select "hi there, again";
+
+execute stmt;
+eval $check;
+execute stmt;
+eval $check;
+
+drop procedure proc_21;
+
+--echo =====================================================================
+--echo Testing 22: Special tables (views temp tables)
+--echo =====================================================================
+
+--disable_warnings
+drop table if exists t22_b;
+drop view if exists t22;
+--enable_warnings
+
+create table t22_b(a int);
+
+create algorithm=temptable view t22 as select a*a as a2 from t22_b;
+
+# Using a temporary table internally should not confuse the prepared
+# statement code, and should not raise ER_PS_INVALIDATED errors
+show create view t22;
+
+prepare stmt from 'select * from t22';
+
+insert into t22_b values (1), (2), (3);
+execute stmt;
+eval $check;
+execute stmt;
+eval $check;
+
+insert into t22_b values (4), (5), (6);
+execute stmt;
+eval $check;
+execute stmt;
+eval $check;
+
+drop table t22_b;
+drop view t22;
+
+--echo =====================================================================
+--echo Testing 23: Special tables (internal join tables)
+--echo =====================================================================
+
+--disable_warnings
+drop table if exists t23_a;
+drop table if exists t23_b;
+--enable_warnings
+
+create table t23_a(a int);
+create table t23_b(b int);
+
+# Using a temporary table internally should not confuse the prepared
+# statement code, and should not raise ER_PS_INVALIDATED errors
+prepare stmt from 'select * from t23_a join t23_b';
+
+insert into t23_a values (1), (2), (3);
+insert into t23_b values (10), (20), (30);
+execute stmt;
+eval $check;
+execute stmt;
+eval $check;
+
+insert into t23_a values (4);
+insert into t23_b values (40);
+execute stmt;
+eval $check;
+execute stmt;
+eval $check;
+
+drop table t23_a;
+drop table t23_b;
+
+--echo =====================================================================
+--echo Testing 24: Special statements
+--echo =====================================================================
+
+# SQLCOM_ALTER_TABLE:
+
+--disable_warnings
+drop table if exists t24_alter;
+--enable_warnings
+
+create table t24_alter(a int);
+
+prepare stmt from 'alter table t24_alter add column b int';
+execute stmt;
+eval $check;
+
+drop table t24_alter;
+create table t24_alter(a1 int, a2 int);
+
+# t24_alter has changed, and it's not a problem
+execute stmt;
+eval $check;
+
+alter table t24_alter drop column b;
+execute stmt;
+eval $check;
+
+alter table t24_alter drop column b;
+execute stmt;
+eval $check;
+
+drop table t24_alter;
+
+# SQLCOM_REPAIR:
+
+--disable_warnings
+drop table if exists t24_repair;
+--enable_warnings
+
+create table t24_repair(a int);
+insert into t24_repair values (1), (2), (3);
+
+prepare stmt from 'repair table t24_repair';
+execute stmt;
+eval $check;
+
+drop table t24_repair;
+create table t24_repair(a1 int, a2 int);
+insert into t24_repair values (1, 10), (2, 20), (3, 30);
+
+# t24_repair has changed, and it's not a problem
+execute stmt;
+eval $check;
+
+alter table t24_repair add column b varchar(50) default NULL;
+execute stmt;
+eval $check;
+
+alter table t24_repair drop column b;
+execute stmt;
+eval $check;
+
+drop table t24_repair;
+
+# SQLCOM_ANALYZE:
+
+--disable_warnings
+drop table if exists t24_analyze;
+--enable_warnings
+
+create table t24_analyze(a int);
+insert into t24_analyze values (1), (2), (3);
+
+prepare stmt from 'analyze table t24_analyze';
+execute stmt;
+eval $check;
+
+drop table t24_analyze;
+create table t24_analyze(a1 int, a2 int);
+insert into t24_analyze values (1, 10), (2, 20), (3, 30);
+
+# t24_analyze has changed, and it's not a problem
+execute stmt;
+eval $check;
+
+alter table t24_analyze add column b varchar(50) default NULL;
+execute stmt;
+eval $check;
+
+alter table t24_analyze drop column b;
+execute stmt;
+eval $check;
+
+drop table t24_analyze;
+
+# SQLCOM_OPTIMIZE:
+
+--disable_warnings
+drop table if exists t24_optimize;
+--enable_warnings
+
+create table t24_optimize(a int);
+insert into t24_optimize values (1), (2), (3);
+
+prepare stmt from 'optimize table t24_optimize';
+execute stmt;
+eval $check;
+
+drop table t24_optimize;
+create table t24_optimize(a1 int, a2 int);
+insert into t24_optimize values (1, 10), (2, 20), (3, 30);
+
+# t24_optimize has changed, and it's not a problem
+execute stmt;
+eval $check;
+
+alter table t24_optimize add column b varchar(50) default NULL;
+execute stmt;
+eval $check;
+
+alter table t24_optimize drop column b;
+execute stmt;
+eval $check;
+
+drop table t24_optimize;
+
+# SQLCOM_SHOW_CREATE_PROC:
+
+--disable_warnings
+drop procedure if exists changing_proc;
+--enable_warnings
+
+prepare stmt from 'show create procedure changing_proc';
+--error ER_SP_DOES_NOT_EXIST
+execute stmt;
+eval $check;
+--error ER_SP_DOES_NOT_EXIST
+execute stmt;
+eval $check;
+
+create procedure changing_proc() begin end;
+
+# changing_proc has changed, and it's not a problem
+execute stmt;
+eval $check;
+execute stmt;
+eval $check;
+
+drop procedure changing_proc;
+create procedure changing_proc(x int, y int) begin end;
+
+execute stmt;
+eval $check;
+execute stmt;
+eval $check;
+
+drop procedure changing_proc;
+
+--error ER_SP_DOES_NOT_EXIST
+execute stmt;
+eval $check;
+--error ER_SP_DOES_NOT_EXIST
+execute stmt;
+eval $check;
+
+# SQLCOM_SHOW_CREATE_FUNC:
+
+--disable_warnings
+drop function if exists changing_func;
+--enable_warnings
+
+prepare stmt from 'show create function changing_func';
+--error ER_SP_DOES_NOT_EXIST
+execute stmt;
+eval $check;
+--error ER_SP_DOES_NOT_EXIST
+execute stmt;
+eval $check;
+
+create function changing_func() returns int return 0;
+
+# changing_proc has changed, and it's not a problem
+execute stmt;
+eval $check;
+execute stmt;
+eval $check;
+
+drop function changing_func;
+create function changing_func(x int, y int) returns int return x+y;
+
+execute stmt;
+eval $check;
+execute stmt;
+eval $check;
+
+drop function changing_func;
+
+--error ER_SP_DOES_NOT_EXIST
+execute stmt;
+eval $check;
+--error ER_SP_DOES_NOT_EXIST
+execute stmt;
+eval $check;
+
+# SQLCOM_SHOW_CREATE_TRIGGER:
+
+--disable_warnings
+drop table if exists t24_trigger;
+--enable_warnings
+
+create table t24_trigger(a int);
+
+prepare stmt from 'show create trigger t24_bi;';
+--error ER_TRG_DOES_NOT_EXIST
+execute stmt;
+eval $check;
+--error ER_TRG_DOES_NOT_EXIST
+execute stmt;
+eval $check;
+
+delimiter $$;
+create trigger t24_bi before insert on t24_trigger for each row
+ begin
+ set @message= "t24_bi";
+ end
+$$
+delimiter ;$$
+
+# t24_bi has changed, and it's not a problem
+execute stmt;
+eval $check;
+execute stmt;
+eval $check;
+
+drop trigger t24_bi;
+delimiter $$;
+create trigger t24_bi before insert on t24_trigger for each row
+ begin
+ set @message= "t24_bi (2)";
+ end
+$$
+delimiter ;$$
+
+# t24_bi has changed, and it's not a problem
+set @expected = @expected + 1;
+execute stmt;
+eval $check;
+execute stmt;
+eval $check;
+
+drop trigger t24_bi;
+
+--error ER_TRG_DOES_NOT_EXIST
+execute stmt;
+eval $check;
+--error ER_TRG_DOES_NOT_EXIST
+execute stmt;
+eval $check;
+
+drop table t24_trigger;
+
+--echo =====================================================================
+--echo Testing 25: Testing the strength of TABLE_SHARE version
+--echo =====================================================================
+
+# Test 25-a: number of columns
+
+--disable_warnings
+drop table if exists t25_num_col;
+--enable_warnings
+
+create table t25_num_col(a int);
+
+prepare stmt from 'select a from t25_num_col';
+execute stmt;
+eval $check;
+execute stmt;
+eval $check;
+
+alter table t25_num_col add column b varchar(50) default NULL;
+
+set @expected = @expected + 1;
+execute stmt;
+eval $check;
+execute stmt;
+eval $check;
+
+drop table t25_num_col;
+
+# Test 25-b: column name
+
+--disable_warnings
+drop table if exists t25_col_name;
+--enable_warnings
+
+create table t25_col_name(a int);
+
+prepare stmt from 'select * from t25_col_name';
+execute stmt;
+eval $check;
+execute stmt;
+eval $check;
+
+alter table t25_col_name change a b int;
+
+set @expected = @expected + 1;
+--error ER_PS_REBIND
+execute stmt;
+eval $check;
+set @expected = @expected + 1;
+--error ER_PS_REBIND
+execute stmt;
+eval $check;
+
+drop table t25_col_name;
+
+# Test 25-c: column type
+
+--disable_warnings
+drop table if exists t25_col_type;
+--enable_warnings
+
+create table t25_col_type(a int);
+
+prepare stmt from 'select * from t25_col_type';
+execute stmt;
+eval $check;
+execute stmt;
+eval $check;
+
+alter table t25_col_type change a a varchar(10);
+
+set @expected = @expected + 1;
+--error ER_PS_REBIND
+execute stmt;
+eval $check;
+set @expected = @expected + 1;
+--error ER_PS_REBIND
+execute stmt;
+eval $check;
+
+drop table t25_col_type;
+
+# Test 25-d: column type length
+
+--disable_warnings
+drop table if exists t25_col_type_length;
+--enable_warnings
+
+create table t25_col_type_length(a varchar(10));
+
+prepare stmt from 'select * from t25_col_type_length';
+execute stmt;
+eval $check;
+execute stmt;
+eval $check;
+
+alter table t25_col_type_length change a a varchar(20);
+
+set @expected = @expected + 1;
+--error ER_PS_REBIND
+execute stmt;
+eval $check;
+set @expected = @expected + 1;
+--error ER_PS_REBIND
+execute stmt;
+eval $check;
+
+drop table t25_col_type_length;
+
+# Test 25-e: column NULL property
+
+--disable_warnings
+drop table if exists t25_col_null;
+--enable_warnings
+
+create table t25_col_null(a varchar(10));
+
+prepare stmt from 'select * from t25_col_null';
+execute stmt;
+eval $check;
+execute stmt;
+eval $check;
+
+alter table t25_col_null change a a varchar(10) NOT NULL;
+
+set @expected = @expected + 1;
+--error ER_PS_REBIND
+execute stmt;
+eval $check;
+set @expected = @expected + 1;
+--error ER_PS_REBIND
+execute stmt;
+eval $check;
+
+drop table t25_col_null;
+
+# Test 25-f: column DEFAULT
+
+--disable_warnings
+drop table if exists t25_col_default;
+--enable_warnings
+
+create table t25_col_default(a int, b int DEFAULT 10);
+
+prepare stmt from 'insert into t25_col_default(a) values (?)';
+set @val=1;
+execute stmt using @val;
+eval $check;
+set @val=2;
+execute stmt using @val;
+eval $check;
+
+alter table t25_col_default change b b int DEFAULT 20;
+
+set @val=3;
+# Must insert the correct default value for b
+set @expected = @expected + 1;
+execute stmt using @val;
+eval $check;
+
+set @val=4;
+# Must insert the correct default value for b
+execute stmt using @val;
+eval $check;
+
+select * from t25_col_default;
+
+drop table t25_col_default;
+
+# Test 25-g: number of keys
+
+--disable_warnings
+drop table if exists t25_index;
+--enable_warnings
+
+create table t25_index(a varchar(10));
+
+prepare stmt from 'select * from t25_index';
+execute stmt;
+eval $check;
+execute stmt;
+eval $check;
+
+create index i1 on t25_index(a);
+
+set @expected = @expected + 1;
+execute stmt;
+eval $check;
+execute stmt;
+eval $check;
+
+drop table t25_index;
+
+# Test 25-h: changing index uniqueness
+
+--disable_warnings
+drop table if exists t25_index_unique;
+--enable_warnings
+
+create table t25_index_unique(a varchar(10), b varchar(10));
+create index i1 on t25_index_unique(a, b);
+
+show create table t25_index_unique;
+
+prepare stmt from 'select * from t25_index_unique';
+execute stmt;
+eval $check;
+execute stmt;
+eval $check;
+
+alter table t25_index_unique drop index i1;
+create unique index i1 on t25_index_unique(a, b);
+
+show create table t25_index_unique;
+
+set @expected = @expected + 1;
+execute stmt;
+eval $check;
+execute stmt;
+eval $check;
+
+drop table t25_index_unique;
+
+--echo =====================================================================
+--echo Testing reported bugs
+--echo =====================================================================
+
+#
+# Bug#12093 (SP not found on second PS execution if another thread drops
+# other SP in between)
+#
+
+--disable_warnings
+drop table if exists table_12093;
+drop function if exists func_12093;
+drop function if exists func_12093_unrelated;
+drop procedure if exists proc_12093;
+--enable_warnings
+
+connect (con1,localhost,root,,);
+
+connection default;
+
+create table table_12093(a int);
+
+delimiter //;
+
+create function func_12093()
+returns int
+begin
+ return (select count(*) from table_12093);
+end//
+
+create procedure proc_12093(a int)
+begin
+ select * from table_12093;
+end//
+
+delimiter ;//
+
+create function func_12093_unrelated() returns int return 2;
+create procedure proc_12093_unrelated() begin end;
+
+prepare stmt_sf from 'select func_12093();';
+prepare stmt_sp from 'call proc_12093(func_12093())';
+
+execute stmt_sf;
+eval $check;
+execute stmt_sp;
+eval $check;
+
+connection con1;
+
+drop function func_12093_unrelated;
+drop procedure proc_12093_unrelated;
+
+connection default;
+
+# previously, failed with --error 1305
+execute stmt_sf;
+eval $check;
+# previously, failed with --error 1305
+execute stmt_sp;
+eval $check;
+
+# previously, failed with --error 1305
+execute stmt_sf;
+eval $check;
+# previously, failed with --error 1305
+execute stmt_sp;
+eval $check;
+
+deallocate prepare stmt_sf;
+deallocate prepare stmt_sp;
+
+disconnect con1;
+
+drop table table_12093;
+drop function func_12093;
+drop procedure proc_12093;
+
+#
+# Bug#21294 (executing a prepared statement that executes a stored function
+# which was recreat)
+#
+
+--disable_warnings
+drop function if exists func_21294;
+--enable_warnings
+
+create function func_21294() returns int return 10;
+
+prepare stmt from "select func_21294()";
+execute stmt;
+eval $check;
+
+drop function func_21294;
+create function func_21294() returns int return 10;
+
+# might pass or fail, implementation dependent
+execute stmt;
+eval $check;
+
+drop function func_21294;
+create function func_21294() returns int return 20;
+
+set @expected = @expected + 1;
+execute stmt;
+eval $check;
+
+deallocate prepare stmt;
+drop function func_21294;
+
+#
+# Bug#27420 (A combination of PS and view operations cause error + assertion
+# on shutdown)
+#
+
+--disable_warnings
+drop table if exists t_27420_100;
+drop table if exists t_27420_101;
+drop view if exists v_27420;
+--enable_warnings
+
+connect (con1,localhost,root,,);
+
+connection default;
+
+create table t_27420_100(a int);
+insert into t_27420_100 values (1), (2);
+
+create table t_27420_101(a int);
+insert into t_27420_101 values (1), (2);
+
+create view v_27420 as select t_27420_100.a X, t_27420_101.a Y
+ from t_27420_100, t_27420_101
+ where t_27420_100.a=t_27420_101.a;
+
+prepare stmt from 'select * from v_27420';
+
+execute stmt;
+eval $check;
+
+connection con1;
+
+drop view v_27420;
+create table v_27420(X int, Y int);
+
+connection default;
+
+set @expected = @expected + 1;
+execute stmt;
+eval $check;
+
+connection con1;
+
+drop table v_27420;
+# passes in 5.0, fails in 5.1, should pass
+create table v_27420 (a int, b int, filler char(200));
+
+connection default;
+
+set @expected = @expected + 1;
+--error ER_PS_REBIND
+execute stmt;
+eval $check;
+
+disconnect con1;
+
+deallocate prepare stmt;
+drop table t_27420_100;
+drop table t_27420_101;
+drop table v_27420;
+
+#
+# Bug#27430 (Crash in subquery code when in PS and table DDL changed after
+# PREPARE)
+#
+
+--disable_warnings
+drop table if exists t_27430_1;
+drop table if exists t_27430_2;
+--enable_warnings
+
+create table t_27430_1 (a int not null, oref int not null, key(a));
+insert into t_27430_1 values
+ (1, 1),
+ (1, 1234),
+ (2, 3),
+ (2, 1234),
+ (3, 1234);
+
+create table t_27430_2 (a int not null, oref int not null);
+insert into t_27430_2 values
+ (1, 1),
+ (2, 2),
+ (1234, 3),
+ (1234, 4);
+
+prepare stmt from
+ 'select oref, a, a in (select a from t_27430_1 where oref=t_27430_2.oref) Z from t_27430_2';
+
+execute stmt;
+eval $check;
+execute stmt;
+eval $check;
+
+drop table t_27430_1, t_27430_2;
+
+create table t_27430_1 (a int, oref int, key(a));
+insert into t_27430_1 values
+ (1, 1),
+ (1, NULL),
+ (2, 3),
+ (2, NULL),
+ (3, NULL);
+
+create table t_27430_2 (a int, oref int);
+insert into t_27430_2 values
+ (1, 1),
+ (2,2),
+ (NULL, 3),
+ (NULL, 4);
+
+set @expected = @expected + 1;
+--error ER_PS_REBIND
+execute stmt;
+eval $check;
+set @expected = @expected + 1;
+--error ER_PS_REBIND
+execute stmt;
+eval $check;
+
+deallocate prepare stmt;
+drop table t_27430_1;
+drop table t_27430_2;
+
+#
+# Bug#27690 (Re-execution of prepared statement after table was replaced
+# with a view crashes)
+#
+
+--disable_warnings
+drop table if exists t_27690_1;
+drop view if exists v_27690_1;
+drop table if exists v_27690_2;
+--enable_warnings
+
+create table t_27690_1 (a int, b int);
+insert into t_27690_1 values (1,1),(2,2);
+
+create table v_27690_1 as select * from t_27690_1;
+create table v_27690_2 as select * from t_27690_1;
+
+prepare stmt from 'select * from v_27690_1, v_27690_2';
+
+execute stmt;
+eval $check;
+execute stmt;
+eval $check;
+
+drop table v_27690_1;
+
+--error ER_NO_SUCH_TABLE
+execute stmt;
+eval $check;
+
+--error ER_NO_SUCH_TABLE
+execute stmt;
+eval $check;
+
+create view v_27690_1 as select A.a, A.b from t_27690_1 A, t_27690_1 B;
+
+set @expected = @expected + 1;
+execute stmt;
+eval $check;
+execute stmt;
+eval $check;
+
+deallocate prepare stmt;
+drop table t_27690_1;
+drop view v_27690_1;
+drop table v_27690_2;
+
diff --git a/mysql-test/t/query_cache.test b/mysql-test/t/query_cache.test
index f769d6ad776..88287e53b34 100644
--- a/mysql-test/t/query_cache.test
+++ b/mysql-test/t/query_cache.test
@@ -1249,53 +1249,100 @@ connection default;
disconnect user1;
disconnect user2;
disconnect user3;
+
+#
+--echo #
+--echo # Bug#25132 disabled query cache: Qcache_free_blocks = 1
+--echo #
+set global query_cache_size=100000;
+set global query_cache_size=0;
+set global query_cache_type=0;
+show status like 'Qcache_free_blocks';
+
+--echo Restore default values.
+# Bug #28211 RENAME DATABASE and query cache don't play nicely together
+#
+# TODO: enable these tests when RENAME DATABASE is implemented.
+# --disable_warnings
+# drop database if exists db1;
+# drop database if exists db2;
+# --enable_warnings
+# set GLOBAL query_cache_size=15*1024*1024;
+# create database db1;
+# use db1;
+# create table t1(c1 int)engine=myisam;
+# insert into t1(c1) values (1);
+# select * from db1.t1 f;
+# show status like 'Qcache_queries_in_cache';
+# rename schema db1 to db2;
+# show status like 'Qcache_queries_in_cache';
+# drop database db2;
+# set global query_cache_size=default;
+#
+# --disable_warnings
+# drop database if exists db1;
+# drop database if exists db3;
+# --enable_warnings
+# set GLOBAL query_cache_size=15*1024*1024;
+# create database db1;
+# create database db3;
+# use db1;
+# create table t1(c1 int) engine=myisam;
+# use db3;
+# create table t1(c1 int) engine=myisam;
+# use db1;
+# insert into t1(c1) values (1);
+# use mysql;
+# select * from db1.t1;
+# select c1+1 from db1.t1;
+# select * from db3.t1;
+# show status like 'Qcache_queries_in_cache';
+# rename schema db1 to db2;
+# show status like 'Qcache_queries_in_cache';
+# drop database db2;
+# drop database db3;
+
set GLOBAL query_cache_type=default;
set GLOBAL query_cache_limit=default;
set GLOBAL query_cache_min_res_unit=default;
set GLOBAL query_cache_size=default;
---echo End of 5.0 tests
+#
+# Bug#33756 - query cache with concurrent_insert=0 appears broken
+#
+FLUSH STATUS;
+SET GLOBAL query_cache_size=10*1024*1024;
+SET @save_concurrent_insert= @@concurrent_insert;
+SET GLOBAL concurrent_insert= 0;
+CREATE TABLE t1 (c1 INT NOT NULL) ENGINE=MyISAM;
+INSERT INTO t1 (c1) VALUES (1), (2);
+#
+SHOW GLOBAL VARIABLES LIKE 'concurrent_insert';
+SHOW STATUS LIKE 'Qcache_hits';
+SELECT * FROM t1;
+SELECT * FROM t1;
+SHOW STATUS LIKE 'Qcache_hits';
+DROP TABLE t1;
+SET GLOBAL concurrent_insert= @save_concurrent_insert;
+SET GLOBAL query_cache_size= default;
+
+--echo End of 5.0 tests
#
-# Bug #28211 RENAME DATABASE and query cache don't play nicely together
+# Bug #31157: Crash when select+order by the avg of some field within the
+# group by
#
---disable_warnings
-drop database if exists db1;
-drop database if exists db2;
---enable_warnings
-set GLOBAL query_cache_size=15*1024*1024;
-create database db1;
-use db1;
-create table t1(c1 int)engine=myisam;
-insert into t1(c1) values (1);
-select * from db1.t1 f;
-show status like 'Qcache_queries_in_cache';
-rename schema db1 to db2;
-show status like 'Qcache_queries_in_cache';
-drop database db2;
-set global query_cache_size=default;
---disable_warnings
-drop database if exists db1;
-drop database if exists db3;
---enable_warnings
-set GLOBAL query_cache_size=15*1024*1024;
-create database db1;
-create database db3;
-use db1;
-create table t1(c1 int) engine=myisam;
-use db3;
-create table t1(c1 int) engine=myisam;
-use db1;
-insert into t1(c1) values (1);
-use mysql;
-select * from db1.t1;
-select c1+1 from db1.t1;
-select * from db3.t1;
-show status like 'Qcache_queries_in_cache';
-rename schema db1 to db2;
-show status like 'Qcache_queries_in_cache';
-drop database db2;
-drop database db3;
+CREATE TABLE t1 (a ENUM('rainbow'));
+INSERT INTO t1 VALUES (),(),(),(),();
+SELECT 1 FROM t1 GROUP BY (SELECT 1 FROM t1 ORDER BY AVG(LAST_INSERT_ID()));
+DROP TABLE t1;
+CREATE TABLE t1 (a LONGBLOB);
+INSERT INTO t1 SET a = 'aaaa';
+INSERT INTO t1 SET a = 'aaaa';
+SELECT 1 FROM t1 GROUP BY
+ (SELECT LAST_INSERT_ID() FROM t1 ORDER BY MIN(a) ASC LIMIT 1);
+DROP TABLE t1;
--echo End of 5.1 tests
+
diff --git a/mysql-test/t/query_cache_debug.test b/mysql-test/t/query_cache_debug.test
new file mode 100644
index 00000000000..b741eea0b29
--- /dev/null
+++ b/mysql-test/t/query_cache_debug.test
@@ -0,0 +1,46 @@
+--source include/not_embedded.inc
+--source include/have_query_cache.inc
+--source include/have_debug.inc
+
+#
+# Bug #30887 Server crashes on SET GLOBAL query_cache_size=0
+#
+flush status;
+set query_cache_type=DEMAND;
+set global query_cache_size= 1024*1024*512;
+--disable_warnings
+drop table if exists t1;
+--enable_warnings
+create table t1 (a varchar(100));
+insert into t1 values ('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'),('bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb');
+connect (bug30887con1, localhost, root, ,test);
+connect (bug30887con2, localhost, root, ,test);
+
+connection bug30887con1;
+--echo Activate debug hook and attempt to retrieve the statement from the cache.
+set session debug='+d,wait_in_query_cache_insert';
+--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
+
+connection bug30887con2;
+--echo On a second connection; clear the query cache.
+show status like 'Qcache_queries_in_cache';
+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;
+
+--echo Show query cache status.
+show status like 'Qcache_queries_in_cache';
+
+disconnect bug30887con1;
+disconnect bug30887con2;
+set global query_cache_size= 0;
+use test;
+drop table t1;
+
diff --git a/mysql-test/t/query_cache_notembedded.test b/mysql-test/t/query_cache_notembedded.test
index a0085c0ba31..929b93e10d5 100644
--- a/mysql-test/t/query_cache_notembedded.test
+++ b/mysql-test/t/query_cache_notembedded.test
@@ -225,3 +225,39 @@ connection default;
set GLOBAL query_cache_size=0;
SET GLOBAL log_bin_trust_function_creators = 0;
+
+#
+# Bug #30269 Query cache eats memory
+#
+--disable_warnings
+DROP DATABASE IF EXISTS bug30269;
+--enable_warnings
+FLUSH STATUS;
+CREATE DATABASE bug30269;
+USE bug30269;
+CREATE TABLE test1 (id int, name varchar(23));
+CREATE VIEW view1 AS SELECT * FROM test1;
+INSERT INTO test1 VALUES (5, 'testit');
+GRANT SELECT (id) ON TABLE bug30269.test1 TO 'bug30269'@'localhost';
+GRANT SELECT ON TABLE bug30269.view1 TO 'bug30269'@'localhost';
+set global query_cache_size= 81920;
+connect (bug30269, localhost, bug30269,,);
+connection bug30269;
+USE bug30269;
+show status like 'Qcache_queries_in_cache';
+--echo # Select statement not stored in query cache because of column privileges.
+SELECT id FROM test1 WHERE id>2;
+show status like 'Qcache_queries_in_cache';
+SELECT id FROM view1 WHERE id>2;
+show status like 'Qcache_queries_in_cache';
+
+connection default;
+DROP DATABASE bug30269;
+disconnect bug30269;
+DROP USER 'bug30269'@'localhost';
+
+set GLOBAL query_cache_type=default;
+set GLOBAL query_cache_limit=default;
+set GLOBAL query_cache_min_res_unit=default;
+set GLOBAL query_cache_size=default;
+
diff --git a/mysql-test/t/view_query_cache.test b/mysql-test/t/query_cache_with_views.test
index d4ebe45b7ac..d4ebe45b7ac 100644
--- a/mysql-test/t/view_query_cache.test
+++ b/mysql-test/t/query_cache_with_views.test
diff --git a/mysql-test/t/range.test b/mysql-test/t/range.test
index 06c2ef248c4..514e3074292 100644
--- a/mysql-test/t/range.test
+++ b/mysql-test/t/range.test
@@ -935,6 +935,43 @@ SELECT * FROM t1 WHERE item='A1' AND started<='2005-12-02 00:00:00';
DROP TABLE t1;
+--echo
+--echo BUG#32198 "Comparison of DATE with DATETIME still not using indexes correctly"
+--echo
+CREATE TABLE t1 (
+ id int(11) NOT NULL auto_increment,
+ dateval date default NULL,
+ PRIMARY KEY (id),
+ KEY dateval (dateval)
+) AUTO_INCREMENT=173;
+
+INSERT INTO t1 VALUES
+(1,'2007-01-01'),(2,'2007-01-02'),(3,'2007-01-03'),(4,'2007-01-04'),
+(5,'2007-01-05'),(6,'2007-01-06'),(7,'2007-01-07'),(8,'2007-01-08'),
+(9,'2007-01-09'),(10,'2007-01-10'),(11,'2007-01-11');
+
+--echo This must use range access:
+explain select * from t1 where dateval >= '2007-01-01 00:00:00' and dateval <= '2007-01-02 23:59:59';
+
+drop table t1;
+
+#
+# Bug #33833: different or-ed predicates were erroneously merged into one that
+# resulted in ref access instead of range access and a wrong result set
+#
+
+CREATE TABLE t1 (
+ a varchar(32), index (a)
+) DEFAULT CHARSET=latin1 COLLATE=latin1_bin;
+
+INSERT INTO t1 VALUES
+ ('B'), ('A'), ('A'), ('C'), ('B'), ('A'), ('A');
+
+SELECT a FROM t1 WHERE a='b' OR a='B';
+EXPLAIN SELECT a FROM t1 WHERE a='b' OR a='B';
+
+DROP TABLE t1;
+
# End of 5.0 tests
# BUG#22393 fix: Adjust 'ref' estimate if we have 'range' estimate for
diff --git a/mysql-test/t/read_only.test b/mysql-test/t/read_only.test
index 709238c3d76..fd41a3225a6 100644
--- a/mysql-test/t/read_only.test
+++ b/mysql-test/t/read_only.test
@@ -225,3 +225,38 @@ connection default;
set global read_only=0;
drop table t1,t2;
drop user test@localhost;
+--echo #
+--echo # Bug #27440 read_only allows create and drop database
+--echo #
+set global read_only= 1;
+--disable_warnings
+drop database if exists mysqltest_db1;
+drop database if exists mysqltest_db2;
+--enable_warnings
+
+delete from mysql.user where User like 'mysqltest_%';
+delete from mysql.db where User like 'mysqltest_%';
+delete from mysql.tables_priv where User like 'mysqltest_%';
+delete from mysql.columns_priv where User like 'mysqltest_%';
+flush privileges;
+
+grant all on mysqltest_db2.* to `mysqltest_u1`@`%`;
+create database mysqltest_db1;
+grant all on mysqltest_db1.* to `mysqltest_u1`@`%`;
+flush privileges;
+connect (con_bug27440,127.0.0.1,mysqltest_u1,,test,$MASTER_MYPORT,);
+connection con_bug27440;
+--error ER_OPTION_PREVENTS_STATEMENT
+create database mysqltest_db2;
+show databases like '%mysqltest_db2%';
+--error ER_OPTION_PREVENTS_STATEMENT
+drop database mysqltest_db1;
+disconnect con_bug27440;
+connection default;
+delete from mysql.user where User like 'mysqltest_%';
+delete from mysql.db where User like 'mysqltest_%';
+delete from mysql.tables_priv where User like 'mysqltest_%';
+delete from mysql.columns_priv where User like 'mysqltest_%';
+flush privileges;
+drop database mysqltest_db1;
+set global read_only=0;
diff --git a/mysql-test/t/renamedb.test b/mysql-test/t/renamedb.test
index 1e71adb3bf3..84315090b7a 100644
--- a/mysql-test/t/renamedb.test
+++ b/mysql-test/t/renamedb.test
@@ -1,26 +1,53 @@
---disable_warnings
-drop database if exists testdb1;
---enable_warnings
-
-create database testdb1 default character set latin2;
-use testdb1;
-create table t1 (a int);
-insert into t1 values (1),(2),(3);
-show create database testdb1;
-show tables;
-rename database testdb1 to testdb2;
---error 1049
-show create database testdb1;
-show create database testdb2;
-select database();
-show tables;
-select a from t1 order by a;
-drop database testdb2;
+# TODO: enable these tests when RENAME DATABASE is implemented.
+#
+# --disable_warnings
+# drop database if exists testdb1;
+# --enable_warnings
+#
+# create database testdb1 default character set latin2;
+# use testdb1;
+# create table t1 (a int);
+# insert into t1 values (1),(2),(3);
+# show create database testdb1;
+# show tables;
+# rename database testdb1 to testdb2;
+# --error 1049
+# show create database testdb1;
+# show create database testdb2;
+# select database();
+# show tables;
+# select a from t1 order by a;
+# drop database testdb2;
+#
#
# Bug#19392 Rename Database: Crash if case change
#
-create database testdb1;
---error 1007
-rename database testdb1 to testdb1;
-drop database testdb1;
+# create database testdb1;
+# --error 1007
+# rename database testdb1 to testdb1;
+# drop database testdb1;
+
+#
+# WL#4030 (Deprecate RENAME DATABASE: replace with ALTER DATABASE <name> UPGRADE)
+#
+
+--error ER_PARSE_ERROR
+rename database testdb1 to testdb2;
+
+--error ER_WRONG_USAGE
+ALTER DATABASE wrong UPGRADE DATA DIRECTORY NAME;
+
+--error ER_WRONG_USAGE
+ALTER DATABASE `#mysql41#not-supported` UPGRADE DATA DIRECTORY NAME;
+
+--error ER_WRONG_USAGE
+ALTER DATABASE `#mysql51#not-yet` UPGRADE DATA DIRECTORY NAME;
+
+--error ER_WRONG_USAGE
+ALTER DATABASE `#mysql50#` UPGRADE DATA DIRECTORY NAME;
+
+--error ER_BAD_DB_ERROR
+ALTER DATABASE `#mysql50#upgrade-me` UPGRADE DATA DIRECTORY NAME;
+
+
diff --git a/mysql-test/t/repair.test b/mysql-test/t/repair.test
index 6ef21cde465..b433b8720b9 100644
--- a/mysql-test/t/repair.test
+++ b/mysql-test/t/repair.test
@@ -83,7 +83,36 @@ SET myisam_repair_threads=@@global.myisam_repair_threads;
SET myisam_sort_buffer_size=@@global.myisam_sort_buffer_size;
DROP TABLE t1;
-# End of 4.1 tests
+#
+# BUG#31174 - "Repair" command on MyISAM crashes with small
+# myisam_sort_buffer_size
+#
+CREATE TABLE t1(a CHAR(255), KEY(a));
+SET myisam_sort_buffer_size=4496;
+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'),('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'),('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');
+SET myisam_repair_threads=2;
+REPAIR TABLE t1;
+SET myisam_repair_threads=@@global.myisam_repair_threads;
+SET myisam_sort_buffer_size=@@global.myisam_sort_buffer_size;
+DROP TABLE t1;
+
+--echo End of 4.1 tests
# End of 5.0 tests
#
diff --git a/mysql-test/t/row.test b/mysql-test/t/row.test
index 20d044306a6..1601f7afd0e 100644
--- a/mysql-test/t/row.test
+++ b/mysql-test/t/row.test
@@ -224,3 +224,16 @@ SET @x:= (SELECT h FROM t1 WHERE (a,b,c,d,e,f,g)=(1,2,3,4,5,6,7));
SELECT @x;
DROP TABLE t1;
+
+#
+# Bug #34620: item_row.cc:50: Item_row::illegal_method_call(const char*):
+# Assertion `0' failed
+#
+
+CREATE TABLE t1 (a INT, b INT);
+INSERT INTO t1 VALUES (1,1);
+
+SELECT ROW(a, 1) IN (SELECT SUM(b), 1) FROM t1 GROUP BY a;
+SELECT ROW(a, 1) IN (SELECT SUM(b), 3) FROM t1 GROUP BY a;
+
+DROP TABLE t1;
diff --git a/mysql-test/t/select.test b/mysql-test/t/select.test
index 1f8a00409e6..30abb797e83 100644
--- a/mysql-test/t/select.test
+++ b/mysql-test/t/select.test
@@ -2361,6 +2361,27 @@ insert into t1 values (0xfffffffffffffffff, 0xfffffffffffffffff),
select hex(a), hex(b) from t1;
drop table t1;
+#
+# Bug #32103: optimizer crash when join on int and mediumint with variable in
+# where clause
+#
+
+CREATE TABLE t1 (c0 int);
+CREATE TABLE t2 (c0 int);
+
+# We need any variable that:
+# 1. has integer type,
+# 2. can be used with the "@@name" syntax
+# 3. available in every server build
+INSERT INTO t1 VALUES(@@connect_timeout);
+INSERT INTO t2 VALUES(@@connect_timeout);
+
+# We only need to ensure 1 row is returned to validate the results
+--replace_column 1 X 2 X
+SELECT * FROM t1 JOIN t2 ON t1.c0 = t2.c0 WHERE (t1.c0 <=> @@connect_timeout);
+
+DROP TABLE t1, t2;
+
--echo End of 4.1 tests
#
@@ -2743,14 +2764,14 @@ create table t1(f1 int, f2 date);
insert into t1 values(1,'2005-01-01'),(2,'2005-09-01'),(3,'2005-09-30'),
(4,'2005-10-01'),(5,'2005-12-30');
# should return all records
-select * from t1 where f2 >= 0;
-select * from t1 where f2 >= '0000-00-00';
+select * from t1 where f2 >= 0 order by f2;
+select * from t1 where f2 >= '0000-00-00' order by f2;
# should return 4,5
-select * from t1 where f2 >= '2005-09-31';
-select * from t1 where f2 >= '2005-09-3a';
+select * from t1 where f2 >= '2005-09-31' order by f2;
+select * from t1 where f2 >= '2005-09-3a' order by f2;
# should return 1,2,3
-select * from t1 where f2 <= '2005-09-31';
-select * from t1 where f2 <= '2005-09-3a';
+select * from t1 where f2 <= '2005-09-31' order by f2;
+select * from t1 where f2 <= '2005-09-3a' order by f2;
drop table t1;
#
@@ -3359,4 +3380,324 @@ EXPLAIN SELECT COUNT(*) FROM t1 f1 INNER JOIN t1 f2
WHERE 1 AND f1.b NOT IN (100,2232,3343,51111);
DROP TABLE t1;
+#
+# Bug #27352: Incorrect result of nested selects instead of error reporting
+#
+
+CREATE TABLE t1 (c1 INT, c2 INT);
+INSERT INTO t1 VALUES (1,11), (2,22), (2,22);
+
+let $n= 31;
+let $q= COUNT(c2);
+while ($n)
+{
+ let $q= (SELECT $q);
+ dec $n;
+}
+--disable_warnings
+eval EXPLAIN SELECT c1 FROM t1 WHERE $q > 0;
+--enable_warnings
+
+let $n= 64;
+let $q= COUNT(c2);
+while ($n)
+{
+ let $q= (SELECT $q);
+ dec $n;
+}
+--error ER_TOO_HIGH_LEVEL_OF_NESTING_FOR_SELECT
+eval EXPLAIN SELECT c1 FROM t1 WHERE $q > 0;
+
+DROP TABLE t1;
+
+#
+# Bug #30396: crash for a join with equalities and sargable predicates
+# in disjunctive parts of the WHERE condition
+#
+
+CREATE TABLE t1 (
+ c1 int(11) NOT NULL AUTO_INCREMENT,
+ c2 varchar(1000) DEFAULT NULL,
+ c3 bigint(20) DEFAULT NULL,
+ c4 bigint(20) DEFAULT NULL,
+ PRIMARY KEY (c1)
+);
+
+EXPLAIN EXTENDED
+SELECT join_2.c1
+FROM
+ t1 AS join_0,
+ t1 AS join_1,
+ t1 AS join_2,
+ t1 AS join_3,
+ t1 AS join_4,
+ t1 AS join_5,
+ t1 AS join_6,
+ t1 AS join_7
+WHERE
+ join_0.c1=join_1.c1 AND
+ join_1.c1=join_2.c1 AND
+ join_2.c1=join_3.c1 AND
+ join_3.c1=join_4.c1 AND
+ join_4.c1=join_5.c1 AND
+ join_5.c1=join_6.c1 AND
+ join_6.c1=join_7.c1
+ OR
+ join_0.c2 < '?' AND
+ join_1.c2 < '?' AND
+ join_2.c2 > '?' AND
+ join_2.c2 < '!' AND
+ join_3.c2 > '?' AND
+ join_4.c2 = '?' AND
+ join_5.c2 <> '?' AND
+ join_6.c2 <> '?' AND
+ join_7.c2 >= '?' AND
+ join_0.c1=join_1.c1 AND
+ join_1.c1=join_2.c1 AND
+ join_2.c1=join_3.c1 AND
+ join_3.c1=join_4.c1 AND
+ join_4.c1=join_5.c1 AND
+ join_5.c1=join_6.c1 AND
+ join_6.c1=join_7.c1
+GROUP BY
+ join_3.c1,
+ join_2.c1,
+ join_7.c1,
+ join_1.c1,
+ join_0.c1;
+
+SHOW WARNINGS;
+
+DROP TABLE t1;
+
+#
+# Bug #27695: Misleading warning when declaring all space column names and
+# truncation of one-space column names to zero length names.
+#
+
+--disable_ps_protocol
+SELECT 1 AS ` `;
+SELECT 1 AS ` `;
+SELECT 1 AS ` x`;
+--enable_ps_protocol
+
+--error 1166
+CREATE VIEW v1 AS SELECT 1 AS ``;
+
+--error 1166
+CREATE VIEW v1 AS SELECT 1 AS ` `;
+
+--error 1166
+CREATE VIEW v1 AS SELECT 1 AS ` `;
+
+--error 1166
+CREATE VIEW v1 AS SELECT (SELECT 1 AS ` `);
+
+CREATE VIEW v1 AS SELECT 1 AS ` x`;
+SELECT `x` FROM v1;
+
+--error 1166
+ALTER VIEW v1 AS SELECT 1 AS ` `;
+
+DROP VIEW v1;
+
+#
+# Bug#31800: Date comparison fails with timezone and slashes for greater
+# than comparison
+#
+
+# On DATETIME-like literals with trailing garbage, BETWEEN fudged in a
+# DATETIME comparator, while greater/less-than used bin-string comparisons.
+# Should correctly be compared as DATE or DATETIME, but throw a warning:
+
+select str_to_date('2007-10-09','%Y-%m-%d') between '2007/10/01 00:00:00 GMT'
+ and '2007/10/20 00:00:00 GMT';
+select str_to_date('2007-10-09','%Y-%m-%d') > '2007/10/01 00:00:00 GMT-6';
+select str_to_date('2007-10-09','%Y-%m-%d') <= '2007/10/2000:00:00 GMT-6';
+
+# We have all we need -- and trailing garbage:
+# (leaving out a leading zero in first example to prove it's a
+# value-comparison, not a string-comparison!)
+select str_to_date('2007-10-01','%Y-%m-%d') = '2007-10-1 00:00:00 GMT-6';
+select str_to_date('2007-10-01','%Y-%m-%d') = '2007-10-01 x00:00:00 GMT-6';
+select str_to_date('2007-10-01','%Y-%m-%d %H:%i:%s') = '2007-10-01 00:00:00 GMT-6';
+select str_to_date('2007-10-01','%Y-%m-%d %H:%i:%s') = '2007-10-01 00:x00:00 GMT-6';
+# no time at all:
+select str_to_date('2007-10-01','%Y-%m-%d %H:%i:%s') = '2007-10-01 x12:34:56 GMT-6';
+# partial time:
+select str_to_date('2007-10-01 12:34:00','%Y-%m-%d %H:%i:%s') = '2007-10-01 12:34x:56 GMT-6';
+# fail, different second part:
+select str_to_date('2007-10-01 12:34:56','%Y-%m-%d %H:%i:%s') = '2007-10-01 12:34x:56 GMT-6';
+# correct syntax, no trailing nonsense -- this one must throw no warning:
+select str_to_date('2007-10-01 12:34:56','%Y-%m-%d %H:%i:%s') = '2007-10-01 12:34:56';
+# no warning, but failure (different hour parts):
+select str_to_date('2007-10-01','%Y-%m-%d') = '2007-10-01 12:00:00';
+# succeed:
+select str_to_date('2007-10-01 12','%Y-%m-%d %H') = '2007-10-01 12:00:00';
+# succeed, but warn for "trailing garbage" (":34"):
+select str_to_date('2007-10-01 12:34','%Y-%m-%d %H') = '2007-10-01 12:00:00';
+# invalid date (Feb 30) succeeds
+select str_to_date('2007-02-30 12:34','%Y-%m-%d %H:%i') = '2007-02-30 12:34';
+# 0-day for both, just works in default SQL mode.
+select str_to_date('2007-10-00 12:34','%Y-%m-%d %H:%i') = '2007-10-00 12:34';
+# 0-day, succeed
+select str_to_date('2007-10-00','%Y-%m-%d') between '2007/09/01 00:00:00'
+ and '2007/10/20 00:00:00';
+set SQL_MODE=TRADITIONAL;
+# 0-day throws warning in traditional mode, and fails
+select str_to_date('2007-10-00 12:34','%Y-%m-%d %H:%i') = '2007-10-00 12:34';
+select str_to_date('2007-10-01 12:34','%Y-%m-%d %H:%i') = '2007-10-00 12:34';
+# different code-path: get_datetime_value() with 0-day
+select str_to_date('2007-10-00 12:34','%Y-%m-%d %H:%i') = '2007-10-01 12:34';
+select str_to_date('2007-10-00','%Y-%m-%d') between '2007/09/01'
+ and '2007/10/20';
+set SQL_MODE=DEFAULT;
+select str_to_date('2007-10-00','%Y-%m-%d') between '' and '2007/10/20';
+select str_to_date('','%Y-%m-%d') between '2007/10/01' and '2007/10/20';
+select str_to_date('','%Y-%m-%d %H:%i') = '2007-10-01 12:34';
+select str_to_date(NULL,'%Y-%m-%d %H:%i') = '2007-10-01 12:34';
+select str_to_date('2007-10-00 12:34','%Y-%m-%d %H:%i') = '';
+
+select str_to_date('1','%Y-%m-%d') = '1';
+select str_to_date('1','%Y-%m-%d') = '1';
+select str_to_date('','%Y-%m-%d') = '';
+
+# these three should work!
+select str_to_date('1000-01-01','%Y-%m-%d') between '0000-00-00' and NULL;
+select str_to_date('1000-01-01','%Y-%m-%d') between NULL and '2000-00-00';
+select str_to_date('1000-01-01','%Y-%m-%d') between NULL and NULL;
+
+#
+# Bug #30666: Incorrect order when using range conditions on 2 tables or more
+#
+
+CREATE TABLE t1 (c11 INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY);
+CREATE TABLE t2 (c21 INT UNSIGNED NOT NULL,
+ c22 INT DEFAULT NULL,
+ KEY(c21, c22));
+CREATE TABLE t3 (c31 INT UNSIGNED NOT NULL DEFAULT 0,
+ c32 INT DEFAULT NULL,
+ c33 INT NOT NULL,
+ c34 INT UNSIGNED DEFAULT 0,
+ KEY (c33, c34, c32));
+
+INSERT INTO t1 values (),(),(),(),();
+INSERT INTO t2 SELECT a.c11, b.c11 FROM t1 a, t1 b;
+INSERT INTO t3 VALUES (1, 1, 1, 0),
+ (2, 2, 0, 0),
+ (3, 3, 1, 0),
+ (4, 4, 0, 0),
+ (5, 5, 1, 0);
+
+# Show that ORDER BY produces the correct results order
+SELECT c32 FROM t1, t2, t3 WHERE t1.c11 IN (1, 3, 5) AND
+ t3.c31 = t1.c11 AND t2.c21 = t1.c11 AND
+ t3.c33 = 1 AND t2.c22 in (1, 3)
+ ORDER BY c32;
+
+# Show that ORDER BY DESC produces the correct results order
+SELECT c32 FROM t1, t2, t3 WHERE t1.c11 IN (1, 3, 5) AND
+ t3.c31 = t1.c11 AND t2.c21 = t1.c11 AND
+ t3.c33 = 1 AND t2.c22 in (1, 3)
+ ORDER BY c32 DESC;
+
+DROP TABLE t1, t2, t3;
+###########################################################################
+
+--echo
+--echo #
+--echo # Bug#30736: Row Size Too Large Error Creating a Table and
+--echo # Inserting Data.
+--echo #
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+DROP TABLE IF EXISTS t2;
+--enable_warnings
+
+--echo
+
+CREATE TABLE t1(
+ c1 DECIMAL(10, 2),
+ c2 FLOAT);
+
+--echo
+
+INSERT INTO t1 VALUES (0, 1), (2, 3), (4, 5);
+
+--echo
+
+CREATE TABLE t2(
+ c3 DECIMAL(10, 2))
+ SELECT
+ c1 * c2 AS c3
+ FROM t1;
+
+--echo
+
+SELECT * FROM t1;
+
+--echo
+
+SELECT * FROM t2;
+
+--echo
+
+DROP TABLE t1;
+DROP TABLE t2;
+
+--echo
+
+###########################################################################
+
+#
+# Bug #32335: Error on BIGINT > NULL + 1
+#
+
+CREATE TABLE t1 (c1 BIGINT NOT NULL);
+INSERT INTO t1 (c1) VALUES (1);
+SELECT * FROM t1 WHERE c1 > NULL + 1;
+DROP TABLE t1;
+
+--echo
+
+###########################################################################
+
+#
+# Bug #33764: Wrong result with IN(), CONCAT() and implicit type conversion
+#
+
+CREATE TABLE t1 (a VARCHAR(10) NOT NULL PRIMARY KEY);
+INSERT INTO t1 (a) VALUES ('foo0'), ('bar0'), ('baz0');
+SELECT * FROM t1 WHERE a IN (CONCAT('foo', 0), 'bar');
+DROP TABLE t1;
+
+#
+# Bug #32942 now() - interval '7200' second is NOT pre-calculated, causing "full table scan"
+#
+
+CREATE TABLE t1 (a INT, b INT);
+CREATE TABLE t2 (a INT, c INT, KEY(a));
+
+INSERT INTO t1 VALUES (1, 1), (2, 2);
+INSERT INTO t2 VALUES (1, 1), (1, 2), (1, 3), (1, 4), (1, 5),
+ (2, 1), (2, 2), (2, 3), (2, 4), (2, 5),
+ (3, 1), (3, 2), (3, 3), (3, 4), (3, 5),
+ (4, 1), (4, 2), (4, 3), (4, 4), (4, 5);
+
+FLUSH STATUS;
+SELECT DISTINCT b FROM t1 LEFT JOIN t2 USING(a) WHERE c <= 3;
+SHOW STATUS LIKE 'Handler_read%';
+DROP TABLE t1, t2;
+
--echo End of 5.0 tests
+
+#
+# Bug #30639: limit offset,rowcount wraps when rowcount >= 2^32 in windows
+#
+create table t1(a INT, KEY (a));
+INSERT INTO t1 VALUES (1),(2),(3),(4),(5);
+SELECT a FROM t1 ORDER BY a LIMIT 2;
+SELECT a FROM t1 ORDER BY a LIMIT 2,4294967296;
+SELECT a FROM t1 ORDER BY a LIMIT 2,4294967297;
+DROP TABLE t1;
diff --git a/mysql-test/t/windows_shm-master.opt b/mysql-test/t/shm-master.opt
index 4476ea16360..d71395213b1 100644
--- a/mysql-test/t/windows_shm-master.opt
+++ b/mysql-test/t/shm-master.opt
@@ -1 +1 @@
---skip-grant-tables --loose-shared-memory-base-name=HeyMrBaseNameXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX --loose-shared-memory=1
+--skip-grant-tables --loose-shared-memory-base-name=HeyMrBaseNameXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX$MTR_BUILD_THREAD --loose-shared-memory=1
diff --git a/mysql-test/t/shm.test b/mysql-test/t/shm.test
new file mode 100644
index 00000000000..380607d8ebf
--- /dev/null
+++ b/mysql-test/t/shm.test
@@ -0,0 +1,19 @@
+# We currently only have shm support on windows, so in order
+# to optimize things we skip this test on all other platforms
+--source include/windows.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'`){
+ skip No shm support;
+}
+
+# Source select test case
+-- source include/common-tests.inc
+
+#
+# Bug #24924: shared-memory-base-name that is too long causes buffer overflow
+#
+--exec $MYSQLADMIN --no-defaults --user=root --host=127.0.0.1 --port=$MASTER_MYPORT --shared-memory-base-name=HeyMrBaseNameXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ping
+
+--echo End of 5.0 tests.
diff --git a/mysql-test/t/show_check.test b/mysql-test/t/show_check.test
index 34e1941c9d7..9d32b50fd74 100644
--- a/mysql-test/t/show_check.test
+++ b/mysql-test/t/show_check.test
@@ -435,28 +435,66 @@ drop table if exists t1;
# BUG 12183 - SHOW OPEN TABLES behavior doesn't match grammar
# First we close all open tables with FLUSH tables and then we open some.
#
-CREATE TABLE txt1(a int);
-CREATE TABLE tyt2(a int);
-CREATE TABLE urkunde(a int);
-# make the output deterministic:
-# the order used in SHOW OPEN TABLES
-# is too much implementation dependent
+--echo
+--echo # Bug#12183: SHOW OPEN TABLES behavior doesn't match grammar.
+--echo
+
+# NOTE: SHOW OPEN TABLES does not sort result list by database or table names.
+# Tables are listed in the order they were opened. We can not use the system
+# database (mysql) for the test here, because we have no control over the order
+# of opening tables in it. Consequently, we can not use 'SHOW OPEN TABLES'.
+
+--disable_warnings
+DROP DATABASE IF EXISTS mysqltest1;
+--enable_warnings
+
+CREATE DATABASE mysqltest1;
+use mysqltest1;
+
+--echo
+
+CREATE TABLE t1(a INT);
+CREATE TABLE t2(a INT);
+
+--echo
+
--disable_ps_protocol
FLUSH TABLES;
-SELECT 1 FROM mysql.db, mysql.proc, mysql.user, mysql.time_zone, mysql.time_zone_name, txt1, tyt2, urkunde LIMIT 0;
-SHOW OPEN TABLES;
-SHOW OPEN TABLES FROM mysql;
-SHOW OPEN TABLES FROM mysql LIKE 'u%';
-SHOW OPEN TABLES LIKE 't%';
-SHOW OPEN TABLES LIKE '%o%';
+
+--echo
+
+SELECT 1 FROM t1;
+SELECT 1 FROM t2;
+
+--echo
+
+SHOW OPEN TABLES FROM mysqltest1;
+
+--echo
+
+SHOW OPEN TABLES FROM mysqltest1 LIKE 'z%';
+
+--echo
+
+SHOW OPEN TABLES FROM mysqltest1 LIKE 't1%';
+
+--echo
+
+SHOW OPEN TABLES FROM mysqltest1 LIKE '%1%';
+
+--echo
+
FLUSH TABLES;
-SHOW OPEN TABLES;
--enable_ps_protocol
-DROP TABLE txt1;
-DROP TABLE tyt2;
-DROP TABLE urkunde;
+--echo
+
+DROP DATABASE mysqltest1;
+use test;
+
+--echo
+
#
# BUG #12591 (SHOW TABLES FROM dbname produces wrong error message)
#
@@ -1115,5 +1153,24 @@ DROP EVENT ev1;
SHOW TABLE TYPES;
--enable_result_log
+#
+# Bug #32710: SHOW INNODB STATUS requires SUPER
+#
+
+
+CREATE USER test_u@localhost;
+GRANT PROCESS ON *.* TO test_u@localhost;
+
+connect (conn1, localhost, test_u,,);
+
+--disable_result_log
+SHOW ENGINE MYISAM MUTEX;
+SHOW ENGINE MYISAM STATUS;
+--enable_result_log
+
+disconnect conn1;
+connection default;
+DROP USER test_u@localhost;
+
--echo End of 5.1 tests
diff --git a/mysql-test/t/skip_grants.test b/mysql-test/t/skip_grants.test
index 5e0fc65bc34..6f4d23e1e14 100644
--- a/mysql-test/t/skip_grants.test
+++ b/mysql-test/t/skip_grants.test
@@ -122,3 +122,13 @@ select count(*) from information_schema.COLUMN_PRIVILEGES;
select count(*) from information_schema.SCHEMA_PRIVILEGES;
select count(*) from information_schema.TABLE_PRIVILEGES;
select count(*) from information_schema.USER_PRIVILEGES;
+--echo End of 5.0 tests
+
+--echo #
+--echo # Bug#29817 Queries with UDF fail with non-descriptive error
+--echo # if mysql.proc is missing
+--echo #
+--error ER_SP_DOES_NOT_EXIST
+select no_such_function(1);
+
+--echo End of 5.1 tests
diff --git a/mysql-test/t/sp-code.test b/mysql-test/t/sp-code.test
index 66d5323d2e2..84f0201c808 100644
--- a/mysql-test/t/sp-code.test
+++ b/mysql-test/t/sp-code.test
@@ -520,6 +520,83 @@ drop table t1;
drop procedure proc_26977_broken;
drop procedure proc_26977_works;
+#
+# Bug#33618 Crash in sp_rcontext
+#
+
+--disable_warnings
+drop procedure if exists proc_33618_h;
+drop procedure if exists proc_33618_c;
+--enable_warnings
+
+delimiter //;
+
+create procedure proc_33618_h(num int)
+begin
+ declare count1 int default '0';
+ declare vb varchar(30);
+ declare last_row int;
+
+ while(num>=1) do
+ set num=num-1;
+ begin
+ declare cur1 cursor for select `a` from t_33618;
+ declare continue handler for not found set last_row = 1;
+ set last_row:=0;
+ open cur1;
+ rep1:
+ repeat
+ begin
+ declare exit handler for 1062 begin end;
+ fetch cur1 into vb;
+ if (last_row = 1) then
+ ## should generate a hpop instruction here
+ leave rep1;
+ end if;
+ end;
+ until last_row=1
+ end repeat;
+ close cur1;
+ end;
+ end while;
+end//
+
+create procedure proc_33618_c(num int)
+begin
+ declare count1 int default '0';
+ declare vb varchar(30);
+ declare last_row int;
+
+ while(num>=1) do
+ set num=num-1;
+ begin
+ declare cur1 cursor for select `a` from t_33618;
+ declare continue handler for not found set last_row = 1;
+ set last_row:=0;
+ open cur1;
+ rep1:
+ repeat
+ begin
+ declare cur2 cursor for select `b` from t_33618;
+ fetch cur1 into vb;
+ if (last_row = 1) then
+ ## should generate a cpop instruction here
+ leave rep1;
+ end if;
+ end;
+ until last_row=1
+ end repeat;
+ close cur1;
+ end;
+ end while;
+end//
+delimiter ;//
+
+show procedure code proc_33618_h;
+show procedure code proc_33618_c;
+
+drop procedure proc_33618_h;
+drop procedure proc_33618_c;
--echo End of 5.0 tests.
diff --git a/mysql-test/t/sp-destruct.test b/mysql-test/t/sp-destruct.test
index 04a581ab45f..56d99c4435c 100644
--- a/mysql-test/t/sp-destruct.test
+++ b/mysql-test/t/sp-destruct.test
@@ -50,6 +50,7 @@ insert into t1 values (0);
flush table mysql.proc;
# Thrashing the .frm file
+--remove_file $MYSQLTEST_VARDIR/master-data/mysql/proc.frm
--write_file $MYSQLTEST_VARDIR/master-data/mysql/proc.frm
saljdfa
EOF
diff --git a/mysql-test/t/sp-error.test b/mysql-test/t/sp-error.test
index ef9bed8b789..23bce3805af 100644
--- a/mysql-test/t/sp-error.test
+++ b/mysql-test/t/sp-error.test
@@ -196,7 +196,7 @@ select f(10)|
drop function f|
---error 1322
+--error ER_PARSE_ERROR
create procedure p()
begin
declare c cursor for insert into test.t1 values ("foo", 42);
@@ -1387,6 +1387,21 @@ CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW BEGIN create user 'mysqltest
CREATE FUNCTION bug_13627_f() returns int BEGIN create user 'mysqltest_1'; return 1; END |
-- error ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG
+CREATE TRIGGER bug21975 BEFORE INSERT ON t1 FOR EACH ROW BEGIN grant select on t1 to 'mysqltest_1'; END |
+-- error ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG
+CREATE FUNCTION bug21975() returns int BEGIN grant select on t1 to 'mysqltest_1'; return 1; END |
+
+-- error ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG
+CREATE TRIGGER bug21975 BEFORE INSERT ON t1 FOR EACH ROW BEGIN revoke select on t1 from 'mysqltest_1'; END |
+-- error ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG
+CREATE FUNCTION bug21975() returns int BEGIN revoke select on t1 from 'mysqltest_1'; return 1; END |
+
+-- error ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG
+CREATE TRIGGER bug21975 BEFORE INSERT ON t1 FOR EACH ROW BEGIN revoke all privileges on *.* from 'mysqltest_1'; END |
+-- error ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG
+CREATE FUNCTION bug21975() returns int BEGIN revoke all privileges on *.* from 'mysqltest_1'; return 1; END |
+
+-- error ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG
CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW BEGIN drop user 'mysqltest_1'; END |
-- error ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG
CREATE FUNCTION bug_13627_f() returns int BEGIN drop user 'mysqltest_1'; return 1; END |
@@ -1748,7 +1763,7 @@ drop procedure bug15091;
drop function if exists bug16896;
--enable_warnings
---error ER_SP_NO_AGGREGATE
+--error ER_PARSE_ERROR
create aggregate function bug16896() returns int return 1;
#
@@ -2063,10 +2078,6 @@ create function bug20701() returns varchar(25) binary return "test";
create function bug20701() returns varchar(25) return "test";
drop function bug20701;
-
---echo End of 5.1 tests
-
-
#
# Bug#26503 (Illegal SQL exception handler code causes the server to crash)
#
@@ -2135,6 +2146,246 @@ end//
delimiter ;//
+
+#
+# Bug#28360 (RENAME DATABASE destroys routines)
+#
+
+--disable_warnings
+drop procedure if exists proc_28360;
+drop function if exists func_28360;
+--enable_warnings
+
+delimiter //;
+
+--error ER_SP_NO_DROP_SP
+CREATE PROCEDURE proc_28360()
+BEGIN
+ ALTER DATABASE `#mysql50#upgrade-me` UPGRADE DATA DIRECTORY NAME;
+END//
+
+--error ER_SP_NO_DROP_SP
+CREATE FUNCTION func_28360() RETURNS int
+BEGIN
+ ALTER DATABASE `#mysql50#upgrade-me` UPGRADE DATA DIRECTORY NAME;
+ RETURN 0;
+END//
+
+delimiter ;//
+
+
+#
+# Bug#29223 declare cursor c for SHOW .....
+#
+
+--disable_warnings
+DROP PROCEDURE IF EXISTS p1;
+--enable_warnings
+--delimiter |
+--error ER_PARSE_ERROR
+CREATE PROCEDURE p1()
+BEGIN
+ DECLARE c char(100);
+ DECLARE cur1 CURSOR FOR SHOW TABLES;
+
+ OPEN cur1;
+ FETCH cur1 INTO c;
+ select c;
+ CLOSE cur1;
+END|
+--delimiter ;
+
+#
+# Bug#29816 Syntactically wrong query fails with misleading error message
+#
+
+--disable_warnings
+DROP DATABASE IF EXISTS mysqltest;
+--enable_warnings
+CREATE DATABASE mysqltest;
+USE mysqltest;
+DROP DATABASE mysqltest;
+# Both ER_SP_DOES_NOT_EXIST and ER_PARSE_ERROR are valid here,
+# the result is implementation dependent:
+# See Bug#29816 for details
+--error ER_SP_DOES_NOT_EXIST
+SELECT inexistent(), 1 + ,;
+--error ER_SP_DOES_NOT_EXIST
+SELECT inexistent();
+--error ER_PARSE_ERROR
+SELECT .inexistent();
+--error ER_PARSE_ERROR
+SELECT ..inexistent();
+USE test;
+
+#
+# Bug#30904 SET PASSWORD statement is non-transactional
+#
+
+delimiter |;
+
+--error ER_SP_CANT_SET_AUTOCOMMIT
+create function f1() returns int
+begin
+ set @test = 1, password = password('foo');
+ return 1;
+end|
+
+--error ER_SP_CANT_SET_AUTOCOMMIT
+create trigger t1
+ before insert on t2 for each row set password = password('foo');|
+
+delimiter ;|
+
+#
+# Bug#30882 Dropping a temporary table inside a stored function may cause a server crash
+#
+
+--disable_warnings
+drop function if exists f1;
+drop function if exists f2;
+drop table if exists t1, t2;
+--enable_warnings
+
+delimiter |;
+create function f1() returns int
+begin
+ drop temporary table t1;
+ return 1;
+end|
+delimiter ;|
+--error ER_CANT_REOPEN_TABLE
+create temporary table t1 as select f1();
+
+delimiter |;
+create function f2() returns int
+begin
+ create temporary table t2 as select f1();
+ return 1;
+end|
+delimiter ;|
+--error ER_CANT_REOPEN_TABLE
+create temporary table t1 as select f2();
+
+drop function f1;
+drop function f2;
+
+delimiter |;
+create function f1() returns int
+begin
+ drop temporary table t2,t1;
+ return 1;
+end|
+create function f2() returns int
+begin
+ create temporary table t2 as select f1();
+ return 1;
+end|
+delimiter ;|
+--error ER_CANT_REOPEN_TABLE
+create temporary table t1 as select f2();
+
+drop function f1;
+drop function f2;
+
+create temporary table t2(a int);
+select * from t2;
+delimiter |;
+create function f2() returns int
+begin
+ drop temporary table t2;
+ return 1;
+end|
+delimiter ;|
+select f2();
+
+drop function f2;
+--error ER_BAD_TABLE_ERROR
+drop table t2;
+
+--echo End of 5.1 tests
+
+#
+# Bug#33983 (Stored Procedures: wrong end <label> syntax is accepted)
+#
+
+--disable_warnings
+drop procedure if exists proc_33983_a;
+drop procedure if exists proc_33983_b;
+drop procedure if exists proc_33983_c;
+drop procedure if exists proc_33983_d;
+--enable_warnings
+
+delimiter |;
+
+--error ER_SP_LABEL_MISMATCH
+create procedure proc_33983_a()
+begin
+ label1:
+ begin
+ label2:
+ begin
+ select 1;
+ end label1;
+ end;
+end|
+
+--error ER_SP_LABEL_MISMATCH
+create procedure proc_33983_b()
+begin
+ label1:
+ repeat
+ label2:
+ repeat
+ select 1;
+ until FALSE end repeat label1;
+ until FALSE end repeat;
+end|
+
+--error ER_SP_LABEL_MISMATCH
+create procedure proc_33983_c()
+begin
+ label1:
+ while TRUE do
+ label2:
+ while TRUE do
+ select 1;
+ end while label1;
+ end while;
+end|
+
+--error ER_SP_LABEL_MISMATCH
+create procedure proc_33983_d()
+begin
+ label1:
+ loop
+ label2:
+ loop
+ select 1;
+ end loop label1;
+ end loop;
+end|
+
+delimiter ;|
+
+#
+# Bug#21801: SQL exception handlers and warnings
+#
+
+--disable_warnings
+drop procedure if exists p1;
+--enable_warnings
+delimiter |;
+create procedure p1()
+begin
+ create table t1 (a int) type=MyISAM;
+ drop table t1;
+end|
+delimiter ;|
+call p1();
+call p1();
+drop procedure p1;
+
#
# BUG#NNNN: New bug synopsis
#
diff --git a/mysql-test/t/sp.test b/mysql-test/t/sp.test
index 46ef6bc6ddd..b9056d86d7e 100644
--- a/mysql-test/t/sp.test
+++ b/mysql-test/t/sp.test
@@ -7494,4 +7494,689 @@ DROP FUNCTION f1;
DROP FUNCTION f2;
DROP TABLE t1;
---echo End of 5.0 tests
+#
+# Bug#29408 Cannot find view in columns table if the selection contains a function
+#
+delimiter |;
+
+create function f1()
+ returns int(11)
+not deterministic
+contains sql
+sql security definer
+comment ''
+begin
+ declare x int(11);
+ set x=-1;
+ return x;
+end|
+
+delimiter ;|
+
+create view v1 as select 1 as one, f1() as days;
+
+connect (bug29408, localhost, root,,*NO-ONE*);
+connection bug29408;
+
+show create view test.v1;
+select column_name from information_schema.columns
+where table_name='v1' and table_schema='test';
+
+connection default;
+disconnect bug29408;
+drop view v1;
+drop function f1;
+
+#
+# Bug#13675: DATETIME/DATE type in store proc param seems to be converted as
+# varbinary
+#
+
+--echo
+--echo # Bug#13675.
+--echo
+
+--disable_warnings
+DROP PROCEDURE IF EXISTS p1;
+DROP PROCEDURE IF EXISTS p2;
+
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+
+--echo
+
+CREATE PROCEDURE p1(v DATETIME) CREATE TABLE t1 SELECT v;
+
+CREATE PROCEDURE p2(v INT) CREATE TABLE t1 SELECT v;
+
+--echo
+CALL p1(NOW());
+SHOW CREATE TABLE t1;
+
+--echo
+DROP TABLE t1;
+
+--echo
+CALL p1('text');
+SHOW CREATE TABLE t1;
+
+--echo
+DROP TABLE t1;
+
+--echo
+CALL p2(10);
+SHOW CREATE TABLE t1;
+
+--echo
+DROP TABLE t1;
+
+--echo
+CALL p2('text');
+SHOW CREATE TABLE t1;
+
+--echo
+DROP TABLE t1;
+
+--echo
+DROP PROCEDURE p1;
+DROP PROCEDURE p2;
+
+###########################################################################
+
+#
+# Bug#31035: select from function, group by result crasher.
+#
+
+###########################################################################
+
+--echo
+
+--echo #
+--echo # Bug#31035.
+--echo #
+
+--echo
+
+--echo #
+--echo # - Prepare.
+--echo #
+
+--echo
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+DROP FUNCTION IF EXISTS f1;
+DROP FUNCTION IF EXISTS f2;
+DROP FUNCTION IF EXISTS f3;
+DROP FUNCTION IF EXISTS f4;
+--enable_warnings
+
+--echo
+
+--echo #
+--echo # - Create required objects.
+--echo #
+
+--echo
+
+CREATE TABLE t1(c1 INT);
+
+--echo
+
+INSERT INTO t1 VALUES (1), (2), (3);
+
+--echo
+
+CREATE FUNCTION f1()
+ RETURNS INT
+ NOT DETERMINISTIC
+ RETURN 1;
+
+--echo
+
+CREATE FUNCTION f2(p INT)
+ RETURNS INT
+ NOT DETERMINISTIC
+ RETURN 1;
+
+--echo
+
+CREATE FUNCTION f3()
+ RETURNS INT
+ DETERMINISTIC
+ RETURN 1;
+
+--echo
+
+CREATE FUNCTION f4(p INT)
+ RETURNS INT
+ DETERMINISTIC
+ RETURN 1;
+
+--echo
+
+--echo #
+--echo # - Check.
+--echo #
+
+--echo
+
+# Not deterministic function, no arguments.
+
+SELECT f1() AS a FROM t1 GROUP BY a;
+
+--echo
+
+# Not deterministic function, non-constant argument.
+
+SELECT f2(@a) AS a FROM t1 GROUP BY a;
+
+--echo
+
+# Deterministic function, no arguments.
+
+SELECT f3() AS a FROM t1 GROUP BY a;
+
+--echo
+
+# Deterministic function, constant argument.
+
+SELECT f4(0) AS a FROM t1 GROUP BY a;
+
+--echo
+
+# Deterministic function, non-constant argument.
+
+SELECT f4(@a) AS a FROM t1 GROUP BY a;
+
+--echo
+
+--echo #
+--echo # - Cleanup.
+--echo #
+
+--echo
+
+DROP TABLE t1;
+DROP FUNCTION f1;
+DROP FUNCTION f2;
+DROP FUNCTION f3;
+DROP FUNCTION f4;
+
+--echo
+
+###########################################################################
+
+#
+# Bug#31191: JOIN in combination with stored function crashes the server.
+#
+
+###########################################################################
+
+--echo #
+--echo # Bug#31191.
+--echo #
+
+--echo
+
+--echo #
+--echo # - Prepare.
+--echo #
+
+--echo
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+DROP TABLE IF EXISTS t2;
+DROP FUNCTION IF EXISTS f1;
+--enable_warnings
+
+--echo
+
+--echo #
+--echo # - Create required objects.
+--echo #
+
+--echo
+
+CREATE TABLE t1 (
+ id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+ barcode INT(8) UNSIGNED ZEROFILL nOT NULL,
+ PRIMARY KEY (id),
+ UNIQUE KEY barcode (barcode)
+);
+
+--echo
+
+INSERT INTO t1 (id, barcode) VALUES (1, 12345678);
+INSERT INTO t1 (id, barcode) VALUES (2, 12345679);
+
+--echo
+
+CREATE TABLE test.t2 (
+ id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+ barcode BIGINT(11) UNSIGNED ZEROFILL NOT NULL,
+ PRIMARY KEY (id)
+);
+
+--echo
+
+INSERT INTO test.t2 (id, barcode) VALUES (1, 12345106708);
+INSERT INTO test.t2 (id, barcode) VALUES (2, 12345106709);
+
+--echo
+
+CREATE FUNCTION f1(p INT(8))
+ RETURNS BIGINT(11) UNSIGNED
+ READS SQL DATA
+ RETURN FLOOR(p/1000)*1000000 + 100000 + FLOOR((p MOD 1000)/10)*100 + (p MOD 10);
+
+--echo
+
+--echo #
+--echo # - Check.
+--echo #
+
+--echo
+
+SELECT DISTINCT t1.barcode, f1(t1.barcode)
+FROM t1
+INNER JOIN t2
+ON f1(t1.barcode) = t2.barcode
+WHERE t1.barcode=12345678;
+
+--echo
+
+--echo #
+--echo # - Cleanup.
+--echo #
+
+--echo
+
+DROP TABLE t1;
+DROP TABLE t2;
+DROP FUNCTION f1;
+
+--echo
+
+###########################################################################
+
+#
+# Bug#31226: Group by function crashes mysql.
+#
+
+###########################################################################
+
+--echo #
+--echo # Bug#31226.
+--echo #
+
+--echo
+
+--echo #
+--echo # - Prepare.
+--echo #
+
+--echo
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+DROP FUNCTION IF EXISTS f1;
+--enable_warnings
+
+--echo
+
+--echo #
+--echo # - Create required objects.
+--echo #
+
+--echo
+
+CREATE TABLE t1(id INT);
+
+--echo
+
+INSERT INTO t1 VALUES (1), (2), (3);
+
+--echo
+
+CREATE FUNCTION f1()
+ RETURNS DATETIME
+ NOT DETERMINISTIC NO SQL
+ RETURN NOW();
+
+--echo
+
+--echo #
+--echo # - Check.
+--echo #
+
+--echo
+
+--replace_column 1 <timestamp>
+SELECT f1() FROM t1 GROUP BY 1;
+
+--echo
+
+--echo #
+--echo # - Cleanup.
+--echo #
+
+--echo
+
+DROP TABLE t1;
+DROP FUNCTION f1;
+
+--echo
+
+###########################################################################
+
+#
+# Bug#28318 (CREATE FUNCTION (UDF) requires a schema)
+#
+
+--disable_warnings
+DROP PROCEDURE IF EXISTS db28318_a.t1;
+DROP PROCEDURE IF EXISTS db28318_b.t2;
+DROP DATABASE IF EXISTS db28318_a;
+DROP DATABASE IF EXISTS db28318_b;
+--enable_warnings
+
+CREATE DATABASE db28318_a;
+CREATE DATABASE db28318_b;
+
+CREATE PROCEDURE db28318_a.t1() SELECT "db28318_a.t1";
+CREATE PROCEDURE db28318_b.t2() CALL t1();
+
+use db28318_a;
+
+# In db28318_b.t2, t1 refers to db28318_b.t1
+--error ER_SP_DOES_NOT_EXIST
+CALL db28318_b.t2();
+
+DROP PROCEDURE db28318_a.t1;
+DROP PROCEDURE db28318_b.t2;
+DROP DATABASE db28318_a;
+DROP DATABASE db28318_b;
+use test;
+
+###########################################################################
+
+#
+# Bug#29770 Two handlers are allowed to catch an error in an stored procedure.
+#
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+DROP PROCEDURE IF EXISTS bug29770;
+--enable_warnings
+
+CREATE TABLE t1(a int);
+delimiter |;
+CREATE PROCEDURE bug29770()
+BEGIN
+ DECLARE CONTINUE HANDLER FOR SQLSTATE '42S22' SET @state:= 'run';
+ DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET @exception:= 'run';
+ SELECT x FROM t1;
+END|
+delimiter ;|
+CALL bug29770();
+SELECT @state, @exception;
+DROP TABLE t1;
+DROP PROCEDURE bug29770;
+
+#
+# Bug#33618 Crash in sp_rcontext
+#
+
+use test;
+
+--disable_warnings
+drop table if exists t_33618;
+drop procedure if exists proc_33618;
+--enable_warnings
+
+create table t_33618 (`a` int, unique(`a`), `b` varchar(30)) engine=myisam;
+insert into t_33618 (`a`,`b`) values (1,'1'),(2,'2');
+
+delimiter //;
+
+create procedure proc_33618(num int)
+begin
+ declare count1 int default '0';
+ declare vb varchar(30);
+ declare last_row int;
+
+ while(num>=1) do
+ set num=num-1;
+ begin
+ declare cur1 cursor for select `a` from t_33618;
+ declare continue handler for not found set last_row = 1;
+ set last_row:=0;
+ open cur1;
+ rep1:
+ repeat
+ begin
+ declare exit handler for 1062 begin end;
+ fetch cur1 into vb;
+ if (last_row = 1) then
+ leave rep1;
+ end if;
+ end;
+ until last_row=1
+ end repeat;
+ close cur1;
+ end;
+ end while;
+end//
+
+delimiter ;//
+
+call proc_33618(20);
+
+drop table t_33618;
+drop procedure proc_33618;
+
+--echo #
+--echo # Bug#30787: Stored function ignores user defined alias.
+--echo #
+use test;
+--disable_warnings
+drop function if exists func30787;
+--enable_warnings
+create table t1(f1 int);
+insert into t1 values(1),(2);
+delimiter |;
+create function func30787(p1 int) returns int
+begin
+ return p1;
+end |
+delimiter ;|
+select (select func30787(f1)) as ttt from t1;
+drop function func30787;
+drop table t1;
+
+###########################################################################
+
+--echo # ------------------------------------------------------------------
+--echo # -- End of 5.0 tests
+--echo # ------------------------------------------------------------------
+
+###########################################################################
+
+#
+# Bug#20550: Stored function: wrong RETURN type metadata when used in a VIEW.
+#
+
+###########################################################################
+
+--echo
+
+--echo #
+--echo # Bug#20550.
+--echo #
+
+--echo
+
+--echo #
+--echo # - Prepare.
+--echo #
+
+--echo
+
+--disable_warnings
+DROP VIEW IF EXISTS v1;
+DROP VIEW IF EXISTS v2;
+DROP FUNCTION IF EXISTS f1;
+DROP FUNCTION IF EXISTS f2;
+--enable_warnings
+
+--echo
+
+--echo #
+--echo # - Create required objects.
+--echo #
+
+--echo
+
+CREATE FUNCTION f1() RETURNS VARCHAR(65525) RETURN 'Hello';
+
+--echo
+
+CREATE FUNCTION f2() RETURNS TINYINT RETURN 1;
+
+--echo
+
+CREATE VIEW v1 AS SELECT f1();
+
+--echo
+
+CREATE VIEW v2 AS SELECT f2();
+
+--echo
+
+--echo #
+--echo # - Check.
+--echo #
+
+--echo
+
+SELECT DATA_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'v1';
+
+--echo
+
+SELECT DATA_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'v2';
+
+--echo
+
+--echo #
+--echo # - Cleanup.
+--echo #
+
+--echo
+
+DROP FUNCTION f1;
+DROP FUNCTION f2;
+DROP VIEW v1;
+DROP VIEW v2;
+
+--echo
+
+###########################################################################
+
+#
+# Bug#24923: Functions with ENUM issues.
+#
+
+###########################################################################
+
+--echo #
+--echo # - Bug#24923: prepare.
+--echo #
+
+--echo
+
+--disable_warnings
+DROP FUNCTION IF EXISTS f1;
+--enable_warnings
+
+--echo
+
+--echo #
+--echo # - Bug#24923: create required objects.
+--echo #
+
+--echo
+
+delimiter |;
+
+CREATE FUNCTION f1(p INT)
+ RETURNS ENUM ('Very_long_enum_element_identifier',
+ 'Another_very_long_enum_element_identifier')
+ BEGIN
+ CASE p
+ WHEN 1 THEN
+ RETURN 'Very_long_enum_element_identifier';
+ ELSE
+ RETURN 'Another_very_long_enum_element_identifier';
+ END CASE;
+ END|
+
+delimiter ;|
+
+--echo
+
+--echo #
+--echo # - Bug#24923: check.
+--echo #
+
+--echo
+
+SELECT f1(1);
+
+--echo
+
+SELECT f1(2);
+
+--echo
+
+SHOW CREATE FUNCTION f1;
+
+--echo #
+--echo # - Bug#24923: cleanup.
+--echo #
+
+--echo
+
+DROP FUNCTION f1;
+
+--echo
+
+###########################################################################
+
+#
+# Bug#32633 Can not create any routine if SQL_MODE=no_engine_substitution
+#
+# Ensure that when new SQL modes are introduced, they are also added to
+# the mysql.proc table.
+#
+
+--disable_warnings
+drop procedure if exists p;
+--enable_warnings
+set @old_mode= @@sql_mode;
+set @@sql_mode= pow(2,32)-1;
+select @@sql_mode into @full_mode;
+create procedure p() begin end;
+call p();
+select @@sql_mode;
+set @@sql_mode= @old_mode;
+# Rename SQL modes that differ in name between the server and the table definition.
+select replace(@full_mode, '?', 'NOT_USED') into @full_mode;
+select replace(@full_mode, 'ALLOW_INVALID_DATES', 'INVALID_DATES') into @full_mode;
+select name from mysql.proc where name = 'p' and sql_mode = @full_mode;
+drop procedure p;
+
+--echo # ------------------------------------------------------------------
+--echo # -- End of 5.1 tests
+--echo # ------------------------------------------------------------------
diff --git a/mysql-test/t/sp_notembedded.test b/mysql-test/t/sp_notembedded.test
index 6335ad55606..16ebb710f25 100644
--- a/mysql-test/t/sp_notembedded.test
+++ b/mysql-test/t/sp_notembedded.test
@@ -1,7 +1,9 @@
# Can't test with embedded server
-- source include/not_embedded.inc
+# Disable concurrent inserts to avoid test failures
+set @old_concurrent_insert= @@global.concurrent_insert;
+set @@global.concurrent_insert= 0;
---sleep 2
--disable_warnings
drop table if exists t1,t3;
--enable_warnings
@@ -39,33 +41,19 @@ create procedure bug4902_2()
begin
show processlist;
end|
---replace_column 1 # 6 # 3 localhost
+--disable_result_log
call bug4902_2()|
---replace_column 1 # 6 # 3 localhost
+--enable_result_log
+show warnings|
+--disable_result_log
call bug4902_2()|
+--enable_result_log
+show warnings|
drop procedure bug4902_2|
-
-# Disable until bug#17244 is fixed
---disable_parsing
#
-# BUG#5278: Stored procedure packets out of order if SET PASSWORD.
+# BUG#3583: query cache doesn't work for stored procedures
#
---disable_warnings
-drop function if exists bug5278|
---enable_warnings
-create function bug5278 () returns char
-begin
- SET PASSWORD FOR 'bob'@'%.loc.gov' = PASSWORD('newpass');
- return 'okay';
-end|
-
---error 1133
-select bug5278()|
---error 1133
-select bug5278()|
-drop function bug5278|
---enable_parsing
--disable_warnings
drop table if exists t1|
@@ -74,9 +62,6 @@ create table t1 (
id char(16) not null default '',
data int not null
)|
-#
-# BUG#3583: query cache doesn't work for stored procedures
-#
--disable_warnings
drop procedure if exists bug3583|
--enable_warnings
@@ -287,3 +272,74 @@ connection default;
drop user mysqltest_1@localhost;
drop procedure 15298_1;
drop procedure 15298_2;
+
+#
+# Bug#29936 Stored Procedure DML ignores low_priority_updates setting
+#
+
+--disable_warnings
+drop table if exists t1;
+drop procedure if exists p1;
+--enable_warnings
+
+create table t1 (value varchar(15));
+create procedure p1() update t1 set value='updated' where value='old';
+
+# load the procedure into sp cache and execute once
+call p1();
+
+insert into t1 (value) values ("old");
+
+connect (rl_holder, localhost, root,,);
+connect (rl_acquirer, localhost, root,,);
+connect (rl_contender, localhost, root,,);
+connect (rl_wait, localhost, root,,);
+
+connection rl_holder;
+select get_lock('b26162',120);
+
+connection rl_acquirer;
+--send select 'rl_acquirer', value from t1 where get_lock('b26162',120);
+
+# we must wait till this select opens and locks the tables
+connection rl_wait;
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = "User lock" and
+ info = "select 'rl_acquirer', value from t1 where get_lock('b26162',120)";
+--source include/wait_condition.inc
+
+connection default;
+set session low_priority_updates=on;
+--send call p1();
+
+connection rl_wait;
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = "Locked" and
+ info = "update t1 set value='updated' where value='old'";
+--source include/wait_condition.inc
+
+connection rl_contender;
+select 'rl_contender', value from t1;
+
+connection rl_holder;
+select release_lock('b26162');
+
+connection rl_acquirer;
+--reap
+connection default;
+--reap
+
+disconnect rl_holder;
+disconnect rl_acquirer;
+disconnect rl_wait;
+drop procedure p1;
+drop table t1;
+set session low_priority_updates=default;
+
+#
+# Restore global concurrent_insert value. Keep in the end of the test file.
+#
+
+set @@global.concurrent_insert= @old_concurrent_insert;
diff --git a/mysql-test/t/sql_mode.test b/mysql-test/t/sql_mode.test
index 7a9036c8621..acc9cc7979e 100644
--- a/mysql-test/t/sql_mode.test
+++ b/mysql-test/t/sql_mode.test
@@ -279,3 +279,32 @@ select concat('x',b,'x') from t1;
drop table t1;
SET @@SQL_MODE=@OLD_SQL_MODE;
+
+
+#
+# Bug #32753: PAD_CHAR_TO_FULL_LENGTH is not documented and interferes
+# with grant tables
+#
+
+create user mysqltest_32753@localhost;
+
+# try to make the user-table space-padded
+--connection default
+set @OLD_SQL_MODE=@@SESSION.SQL_MODE;
+set session sql_mode='PAD_CHAR_TO_FULL_LENGTH';
+flush privileges;
+
+# if user-table is affected by PAD_CHAR_TO_FULL_LENGTH, our connect will fail
+# --error 1045
+connect (user_32753,localhost,mysqltest_32753,,test,$MASTER_MYPORT,$MASTER_MYSOCK);
+select current_user();
+
+# clean up
+--connection default
+set session sql_mode=@OLD_SQL_MODE;
+flush privileges;
+
+--disconnect user_32753
+
+--connection default
+drop user mysqltest_32753@localhost;
diff --git a/mysql-test/t/status.test b/mysql-test/t/status.test
index 9fd54d4766d..25bf2a6ee61 100644
--- a/mysql-test/t/status.test
+++ b/mysql-test/t/status.test
@@ -1,3 +1,6 @@
+# This test requires that --log-output includes 'table', and the general
+# log is on
+
# embedded server causes different stat
-- source include/not_embedded.inc
@@ -8,34 +11,58 @@ connect (con1,localhost,root,,);
connect (con2,localhost,root,,);
flush status;
+
+# Logging to the general query log table (--log-output=table --log) increments
+# Table_locks_immediate with each query, so here Immediate becomes 1
show status like 'Table_lock%';
+# ++Immediate = 2
select * from information_schema.session_status where variable_name like 'Table_lock%';
+
connection con1;
+# ++Immediate = 3
SET SQL_LOG_BIN=0;
+set @old_general_log = @@global.general_log;
+set global general_log = 'OFF';
--disable_warnings
+# ++Immediate = 4
drop table if exists t1;
--enable_warnings
+# ++Immediate = 5
create table t1(n int) engine=myisam;
+# Immediate + 2 = 7
insert into t1 values(1);
+
connection con2;
+# Immediate + 2 = 9
lock tables t1 read;
+# ++Immediate = 10
unlock tables;
+# Immediate + 2 = 12
lock tables t1 read;
+
connection con1;
+# ++Immediate = 13
let $ID= `select connection_id()`;
+# ++Immediate = 14 (Not +2, because this increments Table_locks_waited)
--send
update t1 set n = 3;
+
connection con2;
# wait for the other query to start executing
let $wait_condition= select 1 from INFORMATION_SCHEMA.PROCESSLIST where ID = $ID and STATE = "Locked";
+# Immediate = 14 + $wait_condition_reps ($wait_timeout is 0, so no extra select
+# is done inside wait_condition.inc)
--source include/wait_condition.inc
+# ++Immediate = 15 + $wait_condition_reps
unlock tables;
+
connection con1;
reap;
-show status like 'Table_lock%';
-select * from information_schema.session_status where variable_name like 'Table_lock%';
+# ++Immediate = 16 + $wait_condition_reps
+show status like 'Table_locks_waited';
drop table t1;
+set global general_log = @old_general_log;
disconnect con2;
disconnect con1;
@@ -162,6 +189,38 @@ disconnect con3;
disconnect con2;
disconnect con1;
+
+#
+# Bug #30377: EXPLAIN loses last_query_cost when used with UNION
+#
+
+CREATE TABLE t1 ( a INT );
+INSERT INTO t1 VALUES (1), (2);
+
+SELECT a FROM t1 LIMIT 1;
+SHOW SESSION STATUS LIKE 'Last_query_cost';
+
+EXPLAIN SELECT a FROM t1;
+SHOW SESSION STATUS LIKE 'Last_query_cost';
+
+SELECT a FROM t1 UNION SELECT a FROM t1 ORDER BY a;
+SHOW SESSION STATUS LIKE 'Last_query_cost';
+
+EXPLAIN SELECT a FROM t1 UNION SELECT a FROM t1 ORDER BY a;
+SHOW SESSION STATUS LIKE 'Last_query_cost';
+
+SELECT a IN (SELECT a FROM t1) FROM t1 LIMIT 1;
+SHOW SESSION STATUS LIKE 'Last_query_cost';
+
+SELECT (SELECT a FROM t1 LIMIT 1) x FROM t1 LIMIT 1;
+SHOW SESSION STATUS LIKE 'Last_query_cost';
+
+SELECT * FROM t1 a, t1 b LIMIT 1;
+SHOW SESSION STATUS LIKE 'Last_query_cost';
+
+DROP TABLE t1;
+
+
# End of 5.0 tests
#
@@ -183,4 +242,23 @@ let $tmp_table2 = `show global status like 'Created_tmp_tables'`;
eval select substring_index('$rnd_next2',0x9,-1)-substring_index('$rnd_next',0x9,-1) as rnd_diff, substring_index('$tmp_table2',0x9,-1)-substring_index('$tmp_table',0x9,-1) as tmp_table_diff;
--enable_query_log
+#
+# Bug#30252 Com_create_function is not incremented.
+#
+show global status like 'Com%function%';
+
+DELIMITER //;
+create function f1 (x INTEGER) returns integer
+ begin
+ declare ret integer;
+ set ret = x * 10;
+ return ret;
+ end //
+DELIMITER ;//
+
+drop function f1;
+
+show global status like 'Com%function%';
+
+
# End of 5.1 tests
diff --git a/mysql-test/t/strict.test b/mysql-test/t/strict.test
index 2b71bf1093c..486f7ce7897 100644
--- a/mysql-test/t/strict.test
+++ b/mysql-test/t/strict.test
@@ -822,7 +822,6 @@ INSERT INTO t1 (col2) VALUES (-1.1E-3);
INSERT INTO t1 (col1) VALUES ('+1.8E+309');
--error 1264
INSERT INTO t1 (col2) VALUES ('-1.2E-3');
---error 1264
UPDATE t1 SET col1 =col1 * 5000 WHERE col1 > 0;
--error 1365
UPDATE t1 SET col2 =col2 / 0 WHERE col2 > 0;
diff --git a/mysql-test/t/subselect.test b/mysql-test/t/subselect.test
index 95514fd773e..fb3e59cc9d6 100644
--- a/mysql-test/t/subselect.test
+++ b/mysql-test/t/subselect.test
@@ -32,7 +32,9 @@ SELECT 1 FROM (SELECT 1 as a) b WHERE 1 IN (SELECT (SELECT a));
select (SELECT 1 FROM (SELECT 1) a PROCEDURE ANALYSE(1));
-- error 1108
SELECT 1 FROM (SELECT 1) a PROCEDURE ANALYSE((SELECT 1));
+-- error ER_BAD_FIELD_ERROR
SELECT (SELECT 1) as a FROM (SELECT 1) b WHERE (SELECT a) IS NULL;
+-- error ER_BAD_FIELD_ERROR
SELECT (SELECT 1) as a FROM (SELECT 1) b WHERE (SELECT a) IS NOT NULL;
SELECT (SELECT 1,2,3) = ROW(1,2,3);
SELECT (SELECT 1,2,3) = ROW(1,2,1);
@@ -1346,17 +1348,20 @@ drop table t1,t2;
CREATE TABLE t1 ( a int, b int );
CREATE TABLE t2 ( c int, d int );
INSERT INTO t1 VALUES (1,2), (2,3), (3,4);
-SELECT a AS abc, b FROM t1 WHERE b = (SELECT MIN(b) FROM t1 WHERE a=abc);
-INSERT INTO t2 SELECT a AS abc, b FROM t1 WHERE b = (SELECT MIN(b) FROM t1 WHERE a=abc);
+SELECT a AS abc, b FROM t1 outr WHERE b =
+ (SELECT MIN(b) FROM t1 WHERE a=outr.a);
+INSERT INTO t2 SELECT a AS abc, b FROM t1 outr WHERE b =
+ (SELECT MIN(b) FROM t1 WHERE a=outr.a);
select * from t2;
-CREATE TABLE t3 SELECT a AS abc, b FROM t1 WHERE b = (SELECT MIN(b) FROM t1 WHERE a=abc);
+CREATE TABLE t3 SELECT a AS abc, b FROM t1 outr WHERE b =
+ (SELECT MIN(b) FROM t1 WHERE a=outr.a);
select * from t3;
-prepare stmt1 from "INSERT INTO t2 SELECT a AS abc, b FROM t1 WHERE b = (SELECT MIN(b) FROM t1 WHERE a=abc);";
+prepare stmt1 from "INSERT INTO t2 SELECT a AS abc, b FROM t1 outr WHERE b = (SELECT MIN(b) FROM t1 WHERE a=outr.a);";
execute stmt1;
deallocate prepare stmt1;
select * from t2;
drop table t3;
-prepare stmt1 from "CREATE TABLE t3 SELECT a AS abc, b FROM t1 WHERE b = (SELECT MIN(b) FROM t1 WHERE a=abc);";
+prepare stmt1 from "CREATE TABLE t3 SELECT a AS abc, b FROM t1 outr WHERE b = (SELECT MIN(b) FROM t1 WHERE a=outr.a);";
execute stmt1;
select * from t3;
deallocate prepare stmt1;
@@ -1529,7 +1534,9 @@ INSERT INTO t1 VALUES ('ASM','American Samoa','Oceania','Polynesia',199.00,0,680
INSERT INTO t1 VALUES ('ATF','French Southern territories','Antarctica','Antarctica',7780.00,0,0,NULL,0.00,NULL,'Terres australes françaises','Nonmetropolitan Territory of France','Jacques Chirac',NULL,'TF');
INSERT INTO t1 VALUES ('UMI','United States Minor Outlying Islands','Oceania','Micronesia/Caribbean',16.00,0,0,NULL,0.00,NULL,'United States Minor Outlying Islands','Dependent Territory of the US','George W. Bush',NULL,'UM');
/*!40000 ALTER TABLE t1 ENABLE KEYS */;
-SELECT DISTINCT Continent AS c FROM t1 WHERE Code <> SOME ( SELECT Code FROM t1 WHERE Continent = c AND Population < 200);
+SELECT DISTINCT Continent AS c FROM t1 outr WHERE
+ Code <> SOME ( SELECT Code FROM t1 WHERE Continent = outr.Continent AND
+ Population < 200);
drop table t1;
#
@@ -2448,12 +2455,16 @@ DROP TABLE t1, t2;
CREATE TABLE t1 (i INT);
(SELECT i FROM t1) UNION (SELECT i FROM t1);
+#TODO:not supported
+--error ER_PARSE_ERROR
SELECT sql_no_cache * FROM t1 WHERE NOT EXISTS
(
(SELECT i FROM t1) UNION
(SELECT i FROM t1)
);
+#TODO:not supported
+--error ER_PARSE_ERROR
SELECT * FROM t1
WHERE NOT EXISTS (((SELECT i FROM t1) UNION (SELECT i FROM t1)));
@@ -2461,7 +2472,9 @@ WHERE NOT EXISTS (((SELECT i FROM t1) UNION (SELECT i FROM t1)));
--error 1064
explain select ((select t11.i from t1 t11) union (select t12.i from t1 t12))
from t1;
-#supported
+
+#TODO:not supported
+--error ER_PARSE_ERROR
explain select * from t1 where not exists
((select t11.i from t1 t11) union (select t12.i from t1 t12));
@@ -2987,6 +3000,265 @@ SELECT (SELECT SUM(t1.a) FROM t2 WHERE a!=0) FROM t1;
SELECT (SELECT SUM(t1.a) FROM t2 WHERE a=1) FROM t1;
DROP TABLE t1,t2;
+#
+# Bug #31884: Assertion + crash in subquery in the SELECT clause.
+#
+
+CREATE TABLE t1 (a1 INT, a2 INT);
+CREATE TABLE t2 (b1 INT, b2 INT);
+
+INSERT INTO t1 VALUES (100, 200);
+INSERT INTO t1 VALUES (101, 201);
+INSERT INTO t2 VALUES (101, 201);
+INSERT INTO t2 VALUES (103, 203);
+
+SELECT ((a1,a2) IN (SELECT * FROM t2 WHERE b2 > 0)) IS NULL FROM t1;
+DROP TABLE t1, t2;
+
+#
+# Bug31048: Many nested subqueries may cause server crash.
+#
+create table t1(a int,b int,key(a),key(b));
+insert into t1(a,b) values (1,2),(2,1),(2,3),(3,4),(5,4),(5,5),
+ (6,7),(7,4),(5,3);
+
+let $nesting= 26;
+let $should_work_nesting= 5;
+let $start= select sum(a),a from t1 where a> ( select sum(a) from t1 ;
+let $end= )group by a ;
+let $start_app= where a> ( select sum(a) from t1 ;
+let $end_pre= )group by b limit 1 ;
+
+--disable_result_log
+--disable_query_log
+# At least 4 level nesting should work without errors
+while ($should_work_nesting)
+{
+--echo $should_work_nesting
+ eval $start $end;
+ eval explain $start $end;
+ let $start= $start
+ $start_app;
+ let $end= $end_pre
+ $end;
+ dec $should_work_nesting;
+}
+# Other may fail with the 'stack overrun error'
+while ($nesting)
+{
+--echo $nesting
+--error 0,1436
+ eval $start $end;
+--error 0,1436
+ eval explain $start $end;
+ let $start= $start
+ $start_app;
+ let $end= $end_pre
+ $end;
+ dec $nesting;
+}
+--enable_result_log
+--enable_query_log
+drop table t1;
+
+#
+# Bug #28076: inconsistent binary/varbinary comparison
+#
+
+CREATE TABLE t1 (s1 BINARY(5), s2 VARBINARY(5));
+INSERT INTO t1 VALUES (0x41,0x41), (0x42,0x42), (0x43,0x43);
+
+SELECT s1, s2 FROM t1 WHERE s2 IN (SELECT s1 FROM t1);
+SELECT s1, s2 FROM t1 WHERE (s2, 10) IN (SELECT s1, 10 FROM t1);
+
+CREATE INDEX I1 ON t1 (s1);
+CREATE INDEX I2 ON t1 (s2);
+
+SELECT s1, s2 FROM t1 WHERE s2 IN (SELECT s1 FROM t1);
+SELECT s1, s2 FROM t1 WHERE (s2, 10) IN (SELECT s1, 10 FROM t1);
+
+TRUNCATE t1;
+INSERT INTO t1 VALUES (0x41,0x41);
+SELECT * FROM t1 WHERE s1 = (SELECT s2 FROM t1);
+
+DROP TABLE t1;
+
+CREATE TABLE t1 (a1 VARBINARY(2) NOT NULL DEFAULT '0', PRIMARY KEY (a1));
+CREATE TABLE t2 (a2 BINARY(2) default '0', INDEX (a2));
+CREATE TABLE t3 (a3 BINARY(2) default '0');
+INSERT INTO t1 VALUES (1),(2),(3),(4);
+INSERT INTO t2 VALUES (1),(2),(3);
+INSERT INTO t3 VALUES (1),(2),(3);
+SELECT LEFT(t2.a2, 1) FROM t2,t3 WHERE t3.a3=t2.a2;
+SELECT t1.a1, t1.a1 in (SELECT t2.a2 FROM t2,t3 WHERE t3.a3=t2.a2) FROM t1;
+DROP TABLE t1,t2,t3;
+
+CREATE TABLE t1 (a1 BINARY(3) PRIMARY KEY, b1 VARBINARY(3));
+CREATE TABLE t2 (a2 VARBINARY(3) PRIMARY KEY);
+CREATE TABLE t3 (a3 VARBINARY(3) PRIMARY KEY);
+INSERT INTO t1 VALUES (1,10), (2,20), (3,30), (4,40);
+INSERT INTO t2 VALUES (2), (3), (4), (5);
+INSERT INTO t3 VALUES (10), (20), (30);
+SELECT LEFT(t1.a1,1) FROM t1,t3 WHERE t1.b1=t3.a3;
+SELECT a2 FROM t2 WHERE t2.a2 IN (SELECT t1.a1 FROM t1,t3 WHERE t1.b1=t3.a3);
+DROP TABLE t1, t2, t3;
+
+#
+# Bug #30788: Inconsistent retrieval of char/varchar
+#
+
+CREATE TABLE t1 (a CHAR(1), b VARCHAR(10));
+INSERT INTO t1 VALUES ('a', 'aa');
+INSERT INTO t1 VALUES ('a', 'aaa');
+SELECT a,b FROM t1 WHERE b IN (SELECT a FROM t1);
+CREATE INDEX I1 ON t1 (a);
+CREATE INDEX I2 ON t1 (b);
+EXPLAIN SELECT a,b FROM t1 WHERE b IN (SELECT a FROM t1);
+SELECT a,b FROM t1 WHERE b IN (SELECT a FROM t1);
+
+CREATE TABLE t2 (a VARCHAR(1), b VARCHAR(10));
+INSERT INTO t2 SELECT * FROM t1;
+CREATE INDEX I1 ON t2 (a);
+CREATE INDEX I2 ON t2 (b);
+EXPLAIN SELECT a,b FROM t2 WHERE b IN (SELECT a FROM t2);
+SELECT a,b FROM t2 WHERE b IN (SELECT a FROM t2);
+EXPLAIN
+SELECT a,b FROM t1 WHERE b IN (SELECT a FROM t1 WHERE LENGTH(a)<500);
+SELECT a,b FROM t1 WHERE b IN (SELECT a FROM t1 WHERE LENGTH(a)<500);
+
+DROP TABLE t1,t2;
+
+#
+# Bug #32400: Complex SELECT query returns correct result only on some
+# occasions
+#
+
+CREATE TABLE t1(a INT, b INT);
+INSERT INTO t1 VALUES (1,1), (1,2), (2,3), (2,4);
+
+--error ER_BAD_FIELD_ERROR
+EXPLAIN
+SELECT a AS out_a, MIN(b) FROM t1
+WHERE b > (SELECT MIN(b) FROM t1 WHERE a = out_a)
+GROUP BY a;
+
+--error ER_BAD_FIELD_ERROR
+SELECT a AS out_a, MIN(b) FROM t1
+WHERE b > (SELECT MIN(b) FROM t1 WHERE a = out_a)
+GROUP BY a;
+
+EXPLAIN
+SELECT a AS out_a, MIN(b) FROM t1 t1_outer
+WHERE b > (SELECT MIN(b) FROM t1 WHERE a = t1_outer.a)
+GROUP BY a;
+
+SELECT a AS out_a, MIN(b) FROM t1 t1_outer
+WHERE b > (SELECT MIN(b) FROM t1 WHERE a = t1_outer.a)
+GROUP BY a;
+
+DROP TABLE t1;
+
+
+#
+# Bug #32036: EXISTS within a WHERE clause with a UNION crashes MySQL 5.122
+#
+
+CREATE TABLE t1 (a INT);
+CREATE TABLE t2 (a INT);
+
+INSERT INTO t1 VALUES (1),(2);
+INSERT INTO t2 VALUES (1),(2);
+
+SELECT 2 FROM t1 WHERE EXISTS ((SELECT 1 FROM t2 WHERE t1.a=t2.a));
+EXPLAIN EXTENDED
+SELECT 2 FROM t1 WHERE EXISTS ((SELECT 1 FROM t2 WHERE t1.a=t2.a));
+
+
+#TODO:not supported
+--error ER_PARSE_ERROR
+EXPLAIN EXTENDED
+SELECT 2 FROM t1 WHERE EXISTS ((SELECT 1 FROM t2 WHERE t1.a=t2.a) UNION
+ (SELECT 1 FROM t2 WHERE t1.a = t2.a));
+
+DROP TABLE t1,t2;
+
+#
+# Bug#33675: Usage of an uninitialized memory by filesort in a subquery
+# caused server crash.
+#
+create table t1(f11 int, f12 int);
+create table t2(f21 int unsigned not null, f22 int, f23 varchar(10));
+insert into t1 values(1,1),(2,2), (3, 3);
+let $i=10000;
+--disable_query_log
+--disable_warnings
+while ($i)
+{
+ eval insert into t2 values (-1 , $i/5000 + 1, '$i');
+ dec $i;
+}
+--enable_warnings
+--enable_query_log
+set session sort_buffer_size= 33*1024;
+select count(*) from t1 where f12 =
+(select f22 from t2 where f22 = f12 order by f21 desc, f22, f23 limit 1);
+
+drop table t1,t2;
+
+#
+# BUG#33794 "MySQL crashes executing specific query on specific dump"
+#
+CREATE TABLE t4 (
+ f7 varchar(32) collate utf8_bin NOT NULL default '',
+ f10 varchar(32) collate utf8_bin default NULL,
+ PRIMARY KEY (f7)
+);
+INSERT INTO t4 VALUES(1,1), (2,null);
+
+CREATE TABLE t2 (
+ f4 varchar(32) collate utf8_bin NOT NULL default '',
+ f2 varchar(50) collate utf8_bin default NULL,
+ f3 varchar(10) collate utf8_bin default NULL,
+ PRIMARY KEY (f4),
+ UNIQUE KEY uk1 (f2)
+);
+INSERT INTO t2 VALUES(1,1,null), (2,2,null);
+
+CREATE TABLE t1 (
+ f8 varchar(32) collate utf8_bin NOT NULL default '',
+ f1 varchar(10) collate utf8_bin default NULL,
+ f9 varchar(32) collate utf8_bin default NULL,
+ PRIMARY KEY (f8)
+);
+INSERT INTO t1 VALUES (1,'P',1), (2,'P',1), (3,'R',2);
+
+CREATE TABLE t3 (
+ f6 varchar(32) collate utf8_bin NOT NULL default '',
+ f5 varchar(50) collate utf8_bin default NULL,
+ PRIMARY KEY (f6)
+);
+INSERT INTO t3 VALUES (1,null), (2,null);
+
+SELECT
+ IF(t1.f1 = 'R', a1.f2, t2.f2) AS a4,
+ IF(t1.f1 = 'R', a1.f3, t2.f3) AS f3,
+ SUM(
+ IF(
+ (SELECT VPC.f2
+ FROM t2 VPC, t4 a2, t2 a3
+ WHERE
+ VPC.f4 = a2.f10 AND a3.f2 = a4
+ LIMIT 1) IS NULL,
+ 0,
+ t3.f5
+ )
+ ) AS a6
+FROM
+ t2, t3, t1 JOIN t2 a1 ON t1.f9 = a1.f4
+GROUP BY a4;
+
+DROP TABLE t1, t2, t3, t4;
+
--echo End of 5.0 tests.
#
@@ -3015,9 +3287,11 @@ SELECT a FROM t1 t0
SET @@sql_mode=default;
DROP TABLE t1;
+#
# Bug#20835 (literal string with =any values)
#
CREATE TABLE t1 (s1 char(1));
INSERT INTO t1 VALUES ('a');
SELECT * FROM t1 WHERE _utf8'a' = ANY (SELECT s1 FROM t1);
DROP TABLE t1;
+
diff --git a/mysql-test/t/subselect_notembedded.test b/mysql-test/t/subselect_notembedded.test
index c112272e8ad..040c90452b9 100644
--- a/mysql-test/t/subselect_notembedded.test
+++ b/mysql-test/t/subselect_notembedded.test
@@ -7,3 +7,99 @@
--error 1064
purge master logs before (select adddate(current_timestamp(), interval -4 day));
purge master logs before adddate(current_timestamp(), interval -4 day);
+
+#
+# Bug31048: Many nested subqueries may cause server crash.
+#
+create table t1(a int,b int,key(a),key(b));
+insert into t1(a,b) values (1,2),(2,1),(2,3),(3,4),(5,4),(5,5),
+ (6,7),(7,4),(5,3);
+# test for the stack overflow bug
+select sum(a),a from t1 where a> (
+ select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+ select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+ select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+ select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+ select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+ select sum(a) from t1 where a> ( select sum(a) from t1
+ )group by b limit 1)group by b limit 1
+ )group by b limit 1)group by b limit 1)group by b limit 1
+ )group by b limit 1)group by b limit 1)group by b limit 1
+ )group by b limit 1)group by b limit 1)group by b limit 1)
+group by a;
+--replace_regex /overrun.*$/overrun detected/
+--error 1436
+select sum(a),a from t1 where a> (
+ select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+ select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+ select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+ select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+ select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+ select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+ select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+ select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+ select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+ select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+ select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+ select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+ select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+ select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+ select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+ select sum(a) from t1
+ )group by b limit 1)group by b limit 1)group by b limit 1
+ )group by b limit 1)group by b limit 1)group by b limit 1
+ )group by b limit 1)group by b limit 1)group by b limit 1
+ )group by b limit 1)group by b limit 1)group by b limit 1
+ )group by b limit 1)group by b limit 1)group by b limit 1
+ )group by b limit 1)group by b limit 1)group by b limit 1
+ )group by b limit 1)group by b limit 1)group by b limit 1
+ )group by b limit 1)group by b limit 1)group by b limit 1
+ )group by b limit 1)group by b limit 1)group by b limit 1
+ )group by b limit 1)group by b limit 1)group by b limit 1)
+group by a;
+# test for the memory consumption & subquery slowness bug
+explain select sum(a),a from t1 where a> (
+ select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+ select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+ select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+ select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+ select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+ select sum(a) from t1 where a> ( select sum(a) from t1
+ )group by b limit 1)group by b limit 1
+ )group by b limit 1)group by b limit 1)group by b limit 1
+ )group by b limit 1)group by b limit 1)group by b limit 1
+ )group by b limit 1)group by b limit 1)group by b limit 1)
+group by a;
+--replace_regex /overrun.*$/overrun detected/
+--error 1436
+explain select sum(a),a from t1 where a> (
+ select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+ select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+ select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+ select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+ select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+ select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+ select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+ select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+ select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+ select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+ select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+ select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+ select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+ select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+ select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
+ select sum(a) from t1
+ )group by b limit 1)group by b limit 1)group by b limit 1
+ )group by b limit 1)group by b limit 1)group by b limit 1
+ )group by b limit 1)group by b limit 1)group by b limit 1
+ )group by b limit 1)group by b limit 1)group by b limit 1
+ )group by b limit 1)group by b limit 1)group by b limit 1
+ )group by b limit 1)group by b limit 1)group by b limit 1
+ )group by b limit 1)group by b limit 1)group by b limit 1
+ )group by b limit 1)group by b limit 1)group by b limit 1
+ )group by b limit 1)group by b limit 1)group by b limit 1
+ )group by b limit 1)group by b limit 1)group by b limit 1)
+group by a;
+drop table t1;
+
+
diff --git a/mysql-test/t/symlink.test b/mysql-test/t/symlink.test
index 15f50b11e73..7de9f6c6de0 100644
--- a/mysql-test/t/symlink.test
+++ b/mysql-test/t/symlink.test
@@ -38,9 +38,8 @@ drop table t2;
# We use t9 here to not crash with tables generated by the backup test
#
-disable_query_log;
+--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";
-enable_query_log;
insert into t9 select * from t1;
check table t9;
@@ -66,7 +65,6 @@ drop table t1;
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
SHOW CREATE TABLE t9;
-disable_query_log;
--error 1103,1103
create table t1 (a int not null auto_increment, b char(16) not null, primary key (a)) engine=myisam data directory="tmp";
@@ -81,13 +79,14 @@ create table mysqltest.t9 (a int not null auto_increment, b char(16) not null, p
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,1,1105
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";
-enable_query_log;
# Check moving table t9 from default database to mysqltest;
# In this case the symlinks should be removed.
@@ -103,37 +102,40 @@ drop database mysqltest;
#
create table t1 (a int not null) engine=myisam;
-disable_query_log;
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
eval alter table t1 data directory="$MYSQLTEST_VARDIR/tmp";
-enable_query_log;
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
show create table t1;
alter table t1 add b int;
-disable_query_log;
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
eval alter table t1 data directory="$MYSQLTEST_VARDIR/log";
-enable_query_log;
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
show create table t1;
-disable_query_log;
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
eval alter table t1 index directory="$MYSQLTEST_VARDIR/log";
-enable_query_log;
show create table t1;
drop table t1;
#
-# Test specifying DATA DIRECTORY that is the same as what would normally
-# have been chosen. (Bug #8707)
+# BUG#32111 - Security Breach via DATA/INDEX DIRECORY and RENAME TABLE
#
-disable_query_log;
-eval create table t1 (i int) data directory = "$MYSQLTEST_VARDIR/master-data/test/";
-enable_query_log;
-show create table t1;
-drop table t1;
-disable_query_log;
-eval create table t1 (i int) index directory = "$MYSQLTEST_VARDIR/master-data/test/";
-enable_query_log;
-show create table t1;
-drop table t1;
+--write_file $MYSQLTEST_VARDIR/tmp/t1.MYI
+EOF
+
+--replace_result $MYSQLTEST_VARDIR TEST_DIR $MYSQLTEST_VARDIR TEST_DIR
+--error 1,1
+eval CREATE TABLE t1(a INT)
+DATA DIRECTORY='$MYSQLTEST_VARDIR/tmp'
+INDEX DIRECTORY='$MYSQLTEST_VARDIR/tmp';
+--replace_result $MYSQLTEST_VARDIR TEST_DIR
+eval CREATE TABLE t2(a INT)
+DATA DIRECTORY='$MYSQLTEST_VARDIR/tmp'
+INDEX DIRECTORY='$MYSQLTEST_VARDIR/tmp';
+--replace_result $MYSQLTEST_VARDIR TEST_DIR
+--error 1
+RENAME TABLE t2 TO t1;
+DROP TABLE t2;
+--remove_file $MYSQLTEST_VARDIR/tmp/t1.MYI
#
# Bug#8706 - temporary table with data directory option fails
@@ -142,18 +144,16 @@ connect (session1,localhost,root,,);
connect (session2,localhost,root,,);
connection session1;
-disable_query_log;
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
eval create temporary table t1 (a int) engine=myisam data directory="$MYSQLTEST_VARDIR/log" select 9 a;
-enable_query_log;
# If running test suite with a non standard tmp dir, the "show create table"
# will print "DATA_DIRECTORY=". Use replace_result to mask it out
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
show create table t1;
connection session2;
-disable_query_log;
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
eval create temporary table t1 (a int) engine=myisam data directory="$MYSQLTEST_VARDIR/log" select 99 a;
-enable_query_log;
# If running test suite with a non standard tmp dir, the "show create table"
# will print "DATA_DIRECTORY=". Use replace_result to mask it out
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
@@ -177,40 +177,51 @@ drop table t1;
#
# Bug #29325: create table overwrites .MYD file of other table (datadir)
#
-
-CREATE DATABASE db1;
-CREATE DATABASE db2;
-
-USE db2;
---disable_query_log
-eval CREATE TABLE t1 (b INT) ENGINE MYISAM
-DATA DIRECTORY = '$MYSQLTEST_VARDIR/master-data/db1/';
---enable_query_log
-
-INSERT INTO db2.t1 VALUES (1);
-SELECT * FROM db2.t1;
-RESET QUERY CACHE;
-
-USE db1;
-
-#no warning from create table
SET SESSION keep_files_on_create = TRUE;
+--write_file $MYSQLTEST_VARDIR/master-data/test/t1.MYD
+EOF
--disable_abort_on_error
---error 1,1
+--error 1,1,ER_TABLE_EXISTS_ERROR
CREATE TABLE t1 (a INT) ENGINE MYISAM;
+--error 0,1
+--remove_file $MYSQLTEST_VARDIR/master-data/test/t1.MYD;
--enable_abort_on_error
+SET SESSION keep_files_on_create = FALSE;
+CREATE TABLE t1 (a INT) ENGINE MYISAM;
+DROP TABLE t1;
-CREATE TABLE t3 (a INT) Engine=MyISAM;
-INSERT INTO t3 VALUES (1),(2),(3);
-TRUNCATE TABLE t3;
-SELECT * from t3;
-
-SET SESSION keep_files_on_create = DEFAULT;
-
-DROP TABLE db2.t1, db1.t3;
-DROP DATABASE db1;
-DROP DATABASE db2;
-USE test;
+--echo End of 5.0 tests
+#
+# Bug#32167: another privilege bypass with DATA/INDEX DIRECTORY
+#
+--replace_result $MYSQLTEST_VARDIR TEST_DIR
+--error 1210
+eval CREATE TABLE t1(a INT)
+INDEX DIRECTORY='$MYSQLTEST_VARDIR/master-data/mysql';
+--replace_result $MYSQLTEST_VARDIR TEST_DIR
+--error 1210
+eval CREATE TABLE t1(a INT)
+DATA DIRECTORY='$MYSQLTEST_VARDIR/master-data/test';
+--replace_result $MYSQLTEST_VARDIR TEST_DIR
+--error 1210
+eval CREATE TABLE t1(a INT)
+DATA DIRECTORY='$MYSQLTEST_VARDIR/master-data/';
+--replace_result $MYSQLTEST_VARDIR TEST_DIR
+--error 1210
+eval CREATE TABLE t1(a INT)
+INDEX DIRECTORY='$MYSQLTEST_VARDIR/master-data';
+--replace_result $MYSQLTEST_VARDIR TEST_DIR
+--error 1
+eval CREATE TABLE t1(a INT)
+INDEX DIRECTORY='$MYSQLTEST_VARDIR/master-data_var';
+# BUG#25677 - With --skip-symbolic-links option on, DATA DIRECTORY clause is
+# silently ignored
+#
+SET @OLD_SQL_MODE=@@SQL_MODE, @@SQL_MODE='NO_DIR_IN_CREATE';
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+eval CREATE TABLE t1(a INT) DATA DIRECTORY='$MYSQLTEST_VARDIR/tmp' INDEX DIRECTORY='$MYSQLTEST_VARDIR/tmp';
+DROP TABLE t1;
+SET @@SQL_MODE=@OLD_SQL_MODE;
---echo End of 5.0 tests
+--echo End of 5.1 tests
diff --git a/mysql-test/t/system_mysql_db_fix50117.test b/mysql-test/t/system_mysql_db_fix50117.test
index 5f259ac6133..ea379757f26 100644
--- a/mysql-test/t/system_mysql_db_fix50117.test
+++ b/mysql-test/t/system_mysql_db_fix50117.test
@@ -78,7 +78,7 @@ CREATE TABLE IF NOT EXISTS proc ( db char(64) collate utf8_bin DEFAULT '' NOT NU
CREATE TABLE IF NOT EXISTS procs_priv ( Host char(60) binary DEFAULT '' NOT NULL, Db char(64) binary DEFAULT '' NOT NULL, User char(16) binary DEFAULT '' NOT NULL, Routine_name char(64) binary DEFAULT '' NOT NULL, Routine_type enum('FUNCTION','PROCEDURE') NOT NULL, Grantor char(77) DEFAULT '' NOT NULL, Proc_priv set('Execute','Alter Routine','Grant') COLLATE utf8_general_ci DEFAULT '' NOT NULL, Timestamp timestamp(14), PRIMARY KEY (Host,Db,User,Routine_name,Routine_type), KEY Grantor (Grantor) ) engine=MyISAM CHARACTER SET utf8 COLLATE utf8_bin comment='Procedure privileges';
-CREATE TABLE IF NOT EXISTS event ( db char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL default '', name char(64) CHARACTER SET utf8 NOT NULL default '', body longblob NOT NULL, definer char(77) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL default '', execute_at DATETIME default NULL, interval_value int(11) default NULL, interval_field ENUM('YEAR','QUARTER','MONTH','DAY','HOUR','MINUTE','WEEK','SECOND','MICROSECOND','YEAR_MONTH','DAY_HOUR','DAY_MINUTE','DAY_SECOND','HOUR_MINUTE','HOUR_SECOND','MINUTE_SECOND','DAY_MICROSECOND','HOUR_MICROSECOND','MINUTE_MICROSECOND','SECOND_MICROSECOND') default NULL, created TIMESTAMP NOT NULL, modified TIMESTAMP NOT NULL, last_executed DATETIME default NULL, starts DATETIME default NULL, ends DATETIME default NULL, status ENUM('ENABLED','DISABLED') NOT NULL default 'ENABLED', on_completion ENUM('DROP','PRESERVE') NOT NULL default 'DROP', sql_mode set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE') DEFAULT '' NOT NULL, comment char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL default '', time_zone char(64) CHARACTER SET latin1 NOT NULL DEFAULT 'SYSTEM', PRIMARY KEY (db, name) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT 'Events';
+CREATE TABLE IF NOT EXISTS event ( db char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL default '', name char(64) CHARACTER SET utf8 NOT NULL default '', body longblob NOT NULL, definer char(77) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL default '', execute_at DATETIME default NULL, interval_value int(11) default NULL, interval_field ENUM('YEAR','QUARTER','MONTH','DAY','HOUR','MINUTE','WEEK','SECOND','MICROSECOND','YEAR_MONTH','DAY_HOUR','DAY_MINUTE','DAY_SECOND','HOUR_MINUTE','HOUR_SECOND','MINUTE_SECOND','DAY_MICROSECOND','HOUR_MICROSECOND','MINUTE_MICROSECOND','SECOND_MICROSECOND') default NULL, created TIMESTAMP NOT NULL, modified TIMESTAMP NOT NULL, last_executed DATETIME default NULL, starts DATETIME default NULL, ends DATETIME default NULL, status ENUM('ENABLED','DISABLED') NOT NULL default 'ENABLED', on_completion ENUM('DROP','PRESERVE') NOT NULL default 'DROP', sql_mode set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE','NO_ENGINE_SUBSTITUTION','PAD_CHAR_TO_FULL_LENGTH') DEFAULT '' NOT NULL, comment char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL default '', time_zone char(64) CHARACTER SET latin1 NOT NULL DEFAULT 'SYSTEM', PRIMARY KEY (db, name) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT 'Events';
CREATE TABLE IF NOT EXISTS ndb_binlog_index (Position BIGINT UNSIGNED NOT NULL, File VARCHAR(255) NOT NULL, epoch BIGINT UNSIGNED NOT NULL, inserts BIGINT UNSIGNED NOT NULL, updates BIGINT UNSIGNED NOT NULL, deletes BIGINT UNSIGNED NOT NULL, schemaops BIGINT UNSIGNED NOT NULL, PRIMARY KEY(epoch)) ENGINE=MYISAM;
diff --git a/mysql-test/t/tablelock.test b/mysql-test/t/tablelock.test
index 95533903b45..5ac93f09ac1 100644
--- a/mysql-test/t/tablelock.test
+++ b/mysql-test/t/tablelock.test
@@ -49,3 +49,16 @@ drop table t2,t1;
unlock tables;
# End of 4.1 tests
+
+#
+# Bug#23588 SHOW COLUMNS on a temporary table causes locking issues
+#
+create temporary table t1(f1 int);
+lock tables t1 write;
+insert into t1 values (1);
+show columns from t1;
+insert into t1 values(2);
+drop table t1;
+unlock tables;
+
+# End of 5.0 tests
diff --git a/mysql-test/t/trigger-trans.test b/mysql-test/t/trigger-trans.test
index 8103a1ba0b1..5db5b982773 100644
--- a/mysql-test/t/trigger-trans.test
+++ b/mysql-test/t/trigger-trans.test
@@ -128,5 +128,37 @@ drop table t1, t2, t3;
disconnect connection_update;
disconnect connection_aux;
+#
+# Bug#34643: TRUNCATE crash if trigger and foreign key.
+#
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+DROP TABLE IF EXISTS t2;
+--enable_warnings
+
+CREATE TABLE t1(a INT PRIMARY KEY) ENGINE=innodb;
+CREATE TABLE t2(b INT, FOREIGN KEY(b) REFERENCES t1(a)) ENGINE=innodb;
+
+INSERT INTO t1 VALUES (1);
+
+CREATE TRIGGER t1_bd BEFORE DELETE ON t1 FOR EACH ROW SET @a = 1;
+CREATE TRIGGER t1_ad AFTER DELETE ON t1 FOR EACH ROW SET @b = 1;
+
+SET @a = 0;
+SET @b = 0;
+
+TRUNCATE t1;
+
+SELECT @a, @b;
+
+INSERT INTO t1 VALUES (1);
+
+DELETE FROM t1;
+
+SELECT @a, @b;
+
+DROP TABLE t2, t1;
+
--echo End of 5.0 tests
diff --git a/mysql-test/t/trigger.test b/mysql-test/t/trigger.test
index c7251040544..921c9579bfb 100644
--- a/mysql-test/t/trigger.test
+++ b/mysql-test/t/trigger.test
@@ -1146,7 +1146,8 @@ write_file $MYSQLTEST_VARDIR/master-data/test/t1_ai.TRN~;
dummy
EOF
chmod 0000 $MYSQLTEST_VARDIR/master-data/test/t1_ai.TRN~;
---replace_result $MYSQLTEST_VARDIR . master-data// ''
+# Normalize the datadir path; the embedded server doesn't chdir to datadir
+--replace_result $MYSQLTEST_VARDIR . master-data/ ''
--error 1
rename table t1 to t2;
# 't1' should be still there and triggers should work correctly
@@ -2245,3 +2246,95 @@ select * from table_25411_a;
drop table table_25411_a;
drop table table_25411_b;
+#
+# Bug #31866: MySQL Server crashes on SHOW CREATE TRIGGER statement
+#
+
+--disable_warnings
+DROP TRIGGER IF EXISTS trg;
+--enable_warnings
+
+--error ER_TRG_DOES_NOT_EXIST
+SHOW CREATE TRIGGER trg;
+
+#
+# Bug#23713 LOCK TABLES + CREATE TRIGGER + FLUSH TABLES WITH READ LOCK = deadlock
+#
+# Test of trigger creation and removal under LOCK TABLES
+#
+
+--disable_warnings
+drop table if exists t1;
+--enable_warnings
+
+create table t1 (i int, j int);
+
+create trigger t1_bi before insert on t1 for each row begin end;
+--error ER_NOT_SUPPORTED_YET
+create trigger t1_bi before insert on t1 for each row begin end;
+drop trigger t1_bi;
+--error ER_TRG_DOES_NOT_EXIST
+drop trigger t1_bi;
+
+lock tables t1 read;
+--error ER_TABLE_NOT_LOCKED_FOR_WRITE
+create trigger t1_bi before insert on t1 for each row begin end;
+--error ER_TABLE_NOT_LOCKED_FOR_WRITE
+create trigger t1_bi before insert on t1 for each row begin end;
+--error ER_TRG_DOES_NOT_EXIST
+drop trigger t1_bi;
+unlock tables;
+
+create trigger t1_bi before insert on t1 for each row begin end;
+lock tables t1 read;
+--error ER_TABLE_NOT_LOCKED_FOR_WRITE
+create trigger t1_bi before insert on t1 for each row begin end;
+--error ER_TABLE_NOT_LOCKED_FOR_WRITE
+drop trigger t1_bi;
+unlock tables;
+drop trigger t1_bi;
+
+lock tables t1 write;
+create trigger b1_bi before insert on t1 for each row set new.i = new.i + 10;
+insert into t1 values (10, 10);
+drop trigger b1_bi;
+insert into t1 values (10, 10);
+select * from t1;
+unlock tables;
+
+drop table t1;
+
+#
+# Bug#23771 AFTER UPDATE trigger not invoked when there are no changes of the data
+#
+
+--disable_warnings
+drop table if exists t1, t2;
+drop trigger if exists trg1;
+drop trigger if exists trg2;
+--enable_warnings
+create table t1 (a int);
+create table t2 (b int);
+create trigger trg1 after update on t1 for each row set @a= @a+1;
+create trigger trg2 after update on t2 for each row set @b= @b+1;
+insert into t1 values (1), (2), (3);
+insert into t2 values (1), (2), (3);
+set @a= 0;
+set @b= 0;
+update t1, t2 set t1.a= t1.a, t2.b= t2.b;
+select @a, @b;
+update t1, t2 set t1.a= t2.b, t2.b= t1.a;
+select @a, @b;
+update t1 set a= a;
+select @a, @b;
+update t2 set b= b;
+select @a, @b;
+update t1 set a= 1;
+select @a, @b;
+update t2 set b= 1;
+select @a, @b;
+drop trigger trg1;
+drop trigger trg2;
+drop table t1, t2;
+
+--echo End of 5.1 tests.
diff --git a/mysql-test/t/trigger-grant.test b/mysql-test/t/trigger_notembedded.test
index 8145212ed5b..5d2ab84adaf 100644
--- a/mysql-test/t/trigger-grant.test
+++ b/mysql-test/t/trigger_notembedded.test
@@ -875,3 +875,37 @@ DROP DATABASE mysqltest_db1;
USE test;
--echo End of 5.0 tests.
+
+#
+# Bug#23713 LOCK TABLES + CREATE TRIGGER + FLUSH TABLES WITH READ LOCK = deadlock
+#
+
+--disable_warnings
+drop table if exists t1;
+--enable_warnings
+create table t1 (i int);
+connect (flush,localhost,root,,test,,);
+connection default;
+--echo connection: default
+lock tables t1 write;
+connection flush;
+--echo connection: flush
+--send flush tables with read lock;
+connection default;
+--echo connection: default
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = "Flushing tables";
+--source include/wait_condition.inc
+create trigger t1_bi before insert on t1 for each row begin end;
+unlock tables;
+connection flush;
+--echo connection: flush
+--reap
+unlock tables;
+connection default;
+select * from t1;
+drop table t1;
+disconnect flush;
+
+--echo End of 5.1 tests.
diff --git a/mysql-test/t/type_bit.test b/mysql-test/t/type_bit.test
index ae725b3b235..44780fb9d01 100644
--- a/mysql-test/t/type_bit.test
+++ b/mysql-test/t/type_bit.test
@@ -272,6 +272,67 @@ handler t1 read a=(1);
handler t1 close;
drop table t1;
+#
+# Bug #30219: GROUP BY a column of the BIT type
+#
+
+CREATE TABLE t1 (b BIT(2), a VARCHAR(5));
+INSERT INTO t1 (b, a) VALUES (1, "x"), (3, "zz"), (0, "y"), (3, "z");
+SELECT b+0, COUNT(DISTINCT a) FROM t1 GROUP BY b;
+DROP TABLE t1;
+
+CREATE TABLE t1 (a CHAR(5), b BIT(2));
+INSERT INTO t1 (b, a) VALUES (1, "x"), (3, "zz"), (0, "y"), (3, "z");
+SELECT b+0, COUNT(DISTINCT a) FROM t1 GROUP BY b;
+DROP TABLE t1;
+
+CREATE TABLE t1 (a INT, b BIT(2));
+INSERT INTO t1 (b, a) VALUES (1, 1), (3, 2), (0, 3), (3, 4);
+SELECT b+0, COUNT(DISTINCT a) FROM t1 GROUP BY b;
+DROP TABLE t1;
+
+#
+# Bug#30245: A wrong type of a BIT field is reported when grouped by it.
+#
+CREATE TABLE t1 (b BIT);
+INSERT INTO t1 (b) VALUES (1), (0);
+--enable_metadata
+--replace_column 1 #
+SELECT DISTINCT b FROM t1;
+--replace_column 1 #
+SELECT b FROM t1 GROUP BY b;
+--disable_metadata
+DROP TABLE t1;
+
+#
+# BUG#30324 Wrong query result for COUNT(DISTINCT(bit_column))
+#
+CREATE TABLE t1 (a int, b bit(2));
+INSERT INTO t1 VALUES (3, 2), (2, 3), (2, 0), (3, 2), (3, 1);
+SELECT COUNT(DISTINCT b) FROM t1 GROUP BY a;
+DROP TABLE t1;
+
+create table t2 (a int, b bit(2), c char(10));
+INSERT INTO t2 VALUES (3, 2, 'two'), (2, 3, 'three'), (2, 0, 'zero'),
+ (3, 2, 'two'), (3, 1, 'one');
+SELECT COUNT(DISTINCT b,c) FROM t2 GROUP BY a;
+DROP TABLE t2;
+
+#
+# BUG#32556 assert in "using index for group-by" : is_last_prefix <= 0,
+# file .\opt_range.cc
+
+CREATE TABLE t1(a BIT(13), KEY(a));
+--disable_warnings
+INSERT INTO t1(a) VALUES
+(65535),(65525),(65535),(65535),(65535),(65535),(65535),(65535),(65535),(65535);
+--enable_warnings
+
+EXPLAIN SELECT 1 FROM t1 GROUP BY a;
+SELECT 1 FROM t1 GROUP BY a;
+
+DROP TABLE t1;
+
--echo End of 5.0 tests
#
diff --git a/mysql-test/t/type_blob.test b/mysql-test/t/type_blob.test
index 63f2cb951c1..35e5b30ecb8 100644
--- a/mysql-test/t/type_blob.test
+++ b/mysql-test/t/type_blob.test
@@ -437,6 +437,15 @@ create table t1 (a text default '');
set @@sql_mode='';
#
+# Bug #32282: TEXT silently truncates when value is exactly 65536 bytes
+#
+
+CREATE TABLE t (c TEXT CHARSET ASCII);
+INSERT INTO t (c) VALUES (REPEAT('1',65537));
+INSERT INTO t (c) VALUES (REPEAT('2',65536));
+INSERT INTO t (c) VALUES (REPEAT('3',65535));
+SELECT LENGTH(c), CHAR_LENGTH(c) FROM t;
+DROP TABLE t;
# Bug#15776: 32-bit signed int used for length of blob
# """LONGBLOB: A BLOB column with a maximum length of 4,294,967,295 or 4GB."""
#
diff --git a/mysql-test/t/type_date.test b/mysql-test/t/type_date.test
index dcee4fd2ffc..9bc428c3715 100644
--- a/mysql-test/t/type_date.test
+++ b/mysql-test/t/type_date.test
@@ -139,3 +139,96 @@ insert into t1 values (9912101,9912101,9912101);
insert into t1 values (11111,11111,11111);
select * from t1;
drop table t1;
+
+#
+# Bug #30942: select str_to_date from derived table returns varying results
+#
+CREATE TABLE t1 (
+ a INT
+);
+
+INSERT INTO t1 VALUES (1);
+INSERT INTO t1 VALUES (NULL);
+
+SELECT str_to_date( '', a ) FROM t1;
+DROP TABLE t1;
+
+
+#
+# Bug #31221: Optimizer incorrectly identifies impossible WHERE clause
+#
+
+CREATE TABLE t1 (a DATE, b int, PRIMARY KEY (a,b));
+INSERT INTO t1 VALUES (DATE(NOW()), 1);
+SELECT COUNT(*) FROM t1 WHERE a = NOW();
+EXPLAIN SELECT COUNT(*) FROM t1 WHERE a = NOW();
+INSERT INTO t1 VALUES (DATE(NOW()), 2);
+SELECT COUNT(*) FROM t1 WHERE a = NOW();
+EXPLAIN SELECT COUNT(*) FROM t1 WHERE a = NOW();
+SELECT COUNT(*) FROM t1 WHERE a = NOW() AND b = 1;
+EXPLAIN SELECT COUNT(*) FROM t1 WHERE a = NOW() AND b = 1;
+ALTER TABLE t1 DROP PRIMARY KEY;
+SELECT COUNT(*) FROM t1 WHERE a = NOW();
+EXPLAIN SELECT COUNT(*) FROM t1 WHERE a = NOW();
+
+DROP TABLE t1;
+
+#
+# Bug #28687: Search fails on '0000-00-00' date after sql_mode change
+#
+
+CREATE TABLE t1 (a DATE);
+CREATE TABLE t2 (a DATE);
+CREATE INDEX i ON t1 (a);
+INSERT INTO t1 VALUES ('0000-00-00'),('0000-00-00');
+INSERT INTO t2 VALUES ('0000-00-00'),('0000-00-00');
+SELECT * FROM t1 WHERE a = '0000-00-00';
+SELECT * FROM t2 WHERE a = '0000-00-00';
+SET SQL_MODE=TRADITIONAL;
+EXPLAIN SELECT * FROM t1 WHERE a = '0000-00-00';
+SELECT * FROM t1 WHERE a = '0000-00-00';
+SELECT * FROM t2 WHERE a = '0000-00-00';
+--error ER_TRUNCATED_WRONG_VALUE
+INSERT INTO t1 VALUES ('0000-00-00');
+SET SQL_MODE=DEFAULT;
+DROP TABLE t1,t2;
+
+#
+# Bug #31928: Search fails on '1000-00-00' date after sql_mode change
+#
+
+CREATE TABLE t1 (a DATE);
+CREATE TABLE t2 (a DATE);
+CREATE INDEX i ON t1 (a);
+INSERT INTO t1 VALUES ('1000-00-00'),('1000-00-00');
+INSERT INTO t2 VALUES ('1000-00-00'),('1000-00-00');
+SELECT * FROM t1 WHERE a = '1000-00-00';
+SELECT * FROM t2 WHERE a = '1000-00-00';
+SET SQL_MODE=TRADITIONAL;
+EXPLAIN SELECT * FROM t1 WHERE a = '1000-00-00';
+SELECT * FROM t1 WHERE a = '1000-00-00';
+SELECT * FROM t2 WHERE a = '1000-00-00';
+--error ER_TRUNCATED_WRONG_VALUE
+INSERT INTO t1 VALUES ('1000-00-00');
+SET SQL_MODE=DEFAULT;
+DROP TABLE t1,t2;
+
+#
+# Bug #31990: MINUTE() and SECOND() return bogus results when used on a DATE
+#
+
+CREATE TABLE t1 SELECT curdate() AS f1;
+SELECT hour(f1), minute(f1), second(f1) FROM t1;
+DROP TABLE t1;
+
+--echo End of 5.0 tests
+
+#
+# Bug#32021: Using Date 000-00-01 in WHERE causes wrong result
+#
+create table t1 (a date, primary key (a))engine=memory;
+insert into t1 values ('0000-01-01'), ('0000-00-01'), ('0001-01-01');
+select * from t1 where a between '0000-00-01' and '0000-00-02';
+drop table t1;
+
+--echo End of 5.1 tests
diff --git a/mysql-test/t/type_datetime.test b/mysql-test/t/type_datetime.test
index d8d137d81e6..4fdd96b8729 100644
--- a/mysql-test/t/type_datetime.test
+++ b/mysql-test/t/type_datetime.test
@@ -155,13 +155,13 @@ set @@sql_mode='ansi,traditional';
insert into t1 values ('2007-03-23 13:49:38','2007-03-23 13:49:38');
insert into t1 set dt='2007-03-23 13:49:38',da=dt;
# Test error handling
---error 1292
+--error ER_TRUNCATED_WRONG_VALUE
insert into t1 values ('2007-03-32','2007-03-23 13:49:38');
select * from t1;
drop table t1;
---error 1067
+--error ER_INVALID_DEFAULT
create table t1 (da date default '1962-03-32 23:33:34', dt datetime default '1962-03-03');
---error 1067
+--error ER_INVALID_DEFAULT
create table t1 (t time default '916:00:00 a');
set @@sql_mode= @org_mode;
@@ -169,6 +169,19 @@ set @@sql_mode= @org_mode;
#
# Bug#27590: Wrong DATE/DATETIME comparison.
#
+## The following sub test will fail (difference to expected result) if the
+## select curdate() < now(), f1 < now(), cast(f1 as date) < now() from t1;
+## runs exact at midnight ('00:00:00').
+## ( Bug#29290 type_datetime.test failure in 5.1 )
+## Therefore we sleep a bit if we are too close to midnight.
+## The complete test itself needs around 1 second.
+## Therefore a time_distance to midnight of 5 seconds should be sufficient.
+if (`SELECT CURTIME() > SEC_TO_TIME(24 * 3600 - 5)`)
+{
+ # We are here when CURTIME() is between '23:59:56' and '23:59:59'.
+ # So a sleep time of 5 seconds brings us between '00:00:01' and '00:00:04'.
+ --real_sleep 5
+}
create table t1 (f1 date, f2 datetime, f3 timestamp);
insert into t1(f1) values(curdate());
select curdate() < now(), f1 < now(), cast(f1 as date) < now() from t1;
@@ -283,6 +296,99 @@ select * from t1 where f1 between 2002010 and 20070101000000;
select * from t1 where f1 between 20020101 and 2007010100000;
drop table t1;
+--echo #
+--echo # Bug#27216: functions with parameters of different date types may
+--echo # return wrong type of the result.
+--echo #
+create table t1 (f1 date, f2 datetime, f3 varchar(20));
+create table t2 as select coalesce(f1,f1) as f4 from t1;
+desc t2;
+create table t3 as select coalesce(f1,f2) as f4 from t1;
+desc t3;
+create table t4 as select coalesce(f2,f2) as f4 from t1;
+desc t4;
+create table t5 as select coalesce(f1,f3) as f4 from t1;
+desc t5;
+create table t6 as select coalesce(f2,f3) as f4 from t1;
+desc t6;
+create table t7 as select coalesce(makedate(1997,1),f2) as f4 from t1;
+desc t7;
+create table t8 as select coalesce(cast('01-01-01' as datetime),f2) as f4
+ from t1;
+desc t8;
+create table t9 as select case when 1 then cast('01-01-01' as date)
+ when 0 then cast('01-01-01' as date) end as f4 from t1;
+desc t9;
+create table t10 as select case when 1 then cast('01-01-01' as datetime)
+ when 0 then cast('01-01-01' as datetime) end as f4 from t1;
+desc t10;
+create table t11 as select if(1, cast('01-01-01' as datetime),
+ cast('01-01-01' as date)) as f4 from t1;
+desc t11;
+create table t12 as select least(cast('01-01-01' as datetime),
+ cast('01-01-01' as date)) as f4 from t1;
+desc t12;
+create table t13 as select ifnull(cast('01-01-01' as datetime),
+ cast('01-01-01' as date)) as f4 from t1;
+desc t13;
+drop tables t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12,t13;
+--echo ###################################################################
+#
+# Bug #31253: crash comparing datetime to double
+# Should return 1st row only. Crashes if NULL propagation fails.
+#
+create table t1 (f1 time);
+insert into t1 set f1 = '45:44:44';
+insert into t1 set f1 = '15:44:44';
+select * from t1 where (convert(f1,datetime)) != 1;
+drop table t1;
+
+#
+# Bug #31249: problem with convert(..., datetime)
+#
+create table t1 (a tinyint);
+insert into t1 values (), (), ();
+select sum(a) from t1 group by convert(a, datetime);
+drop table t1;
+
+#
+# Bug #32694: NOT NULL table field in a subquery produces invalid results
+#
+create table t1 (id int(10) not null, cur_date datetime not null);
+create table t2 (id int(10) not null, cur_date date not null);
+insert into t1 (id, cur_date) values (1, '2007-04-25 18:30:22');
+insert into t2 (id, cur_date) values (1, '2007-04-25');
+
+explain extended
+select * from t1
+where id in (select id from t1 as x1 where (t1.cur_date is null));
+select * from t1
+where id in (select id from t1 as x1 where (t1.cur_date is null));
+
+explain extended
+select * from t2
+where id in (select id from t2 as x1 where (t2.cur_date is null));
+select * from t2
+where id in (select id from t2 as x1 where (t2.cur_date is null));
+
+insert into t1 (id, cur_date) values (2, '2007-04-26 18:30:22');
+insert into t2 (id, cur_date) values (2, '2007-04-26');
+
+explain extended
+select * from t1
+where id in (select id from t1 as x1 where (t1.cur_date is null));
+select * from t1
+where id in (select id from t1 as x1 where (t1.cur_date is null));
+
+explain extended
+select * from t2
+where id in (select id from t2 as x1 where (t2.cur_date is null));
+select * from t2
+where id in (select id from t2 as x1 where (t2.cur_date is null));
+
+drop table t1,t2;
+
+--echo End of 5.0 tests
#
# Test of storing datetime into date fields
#
diff --git a/mysql-test/t/type_decimal.test b/mysql-test/t/type_decimal.test
index 5538f19f5f9..6841b3cdd68 100644
--- a/mysql-test/t/type_decimal.test
+++ b/mysql-test/t/type_decimal.test
@@ -278,7 +278,7 @@ update t1 set b=a;
select * from t1;
drop table t1;
-# End of 4.1 tests
+--echo End of 4.1 tests
#
# Test for BUG#8397: decimal type in subselects (Item_cache_decimal)
@@ -408,3 +408,117 @@ INSERT INTO t1 VALUES (1.1325,3);
SELECT ROUND(qty,3), dps, ROUND(qty,dps) FROM t1;
DROP TABLE t1;
+
+#
+# Bug#31019: MOD() function and operator crashes MySQL when
+# divisor is very long and < 1
+#
+
+SELECT 1 % .123456789123456789123456789123456789123456789123456789123456789123456789123456789 AS '%';
+SELECT MOD(1, .123456789123456789123456789123456789123456789123456789123456789123456789123456789) AS 'MOD()';
+
+# Bug #31227: memory overrun with decimal (6,6) and zerofill and group_concat
+# valgrind will complain about this (the group_concat(f2)) on unpatched mysqld.
+#
+create table t1 (f1 decimal(6,6),f2 decimal(6,6) zerofill);
+insert into t1 values (-0.123456,0.123456);
+select group_concat(f1),group_concat(f2) from t1;
+drop table t1;
+
+#
+# BUG#31450 "Query causes error 1048"
+#
+create table t1 (
+ ua_id decimal(22,0) not null,
+ ua_invited_by_id decimal(22,0) default NULL,
+ primary key(ua_id)
+);
+insert into t1 values (123, NULL), (456, NULL);
+
+--echo this must not produce error 1048:
+select * from t1 where ua_invited_by_id not in (select ua_id from t1);
+
+drop table t1;
+
+#
+# Bug #30889: filesort and order by with float/numeric crashes server
+#
+--disable_warnings
+DROP TABLE IF EXISTS t3;
+DROP TABLE IF EXISTS t4;
+--enable_warnings
+CREATE TABLE t1( a NUMERIC, b INT );
+INSERT INTO t1 VALUES (123456, 40), (123456, 40);
+SELECT TRUNCATE( a, b ) AS c FROM t1 ORDER BY c;
+SELECT ROUND( a, b ) AS c FROM t1 ORDER BY c;
+SELECT ROUND( a, 100 ) AS c FROM t1 ORDER BY c;
+
+CREATE TABLE t2( a NUMERIC, b INT );
+INSERT INTO t2 VALUES (123456, 100);
+SELECT TRUNCATE( a, b ) AS c FROM t2 ORDER BY c;
+SELECT ROUND( a, b ) AS c FROM t2 ORDER BY c;
+
+CREATE TABLE t3( a DECIMAL, b INT );
+INSERT INTO t3 VALUES (123456, 40), (123456, 40);
+SELECT TRUNCATE( a, b ) AS c FROM t3 ORDER BY c;
+SELECT ROUND( a, b ) AS c FROM t3 ORDER BY c;
+SELECT ROUND( a, 100 ) AS c FROM t3 ORDER BY c;
+
+CREATE TABLE t4( a DECIMAL, b INT );
+INSERT INTO t4 VALUES (123456, 40), (123456, 40);
+SELECT TRUNCATE( a, b ) AS c FROM t4 ORDER BY c;
+SELECT ROUND( a, b ) AS c FROM t4 ORDER BY c;
+SELECT ROUND( a, 100 ) AS c FROM t4 ORDER BY c;
+
+delete from t1;
+INSERT INTO t1 VALUES (1234567890, 20), (999.99, 5);
+show create table t1;
+
+select round(a,b) as c from t1 order by c;
+
+DROP TABLE t1, t2, t3, t4;
+
+#
+# Bug #33143: Incorrect ORDER BY for ROUND()/TRUNCATE() result
+#
+
+CREATE TABLE t1( a DECIMAL(4, 3), b INT );
+INSERT INTO t1 VALUES ( 1, 5 ), ( 2, 4 ), ( 3, 3 ), ( 4, 2 ), ( 5, 1 );
+SELECT a, b, ROUND( a, b ) AS c FROM t1 ORDER BY c;
+SELECT a, b, ROUND( a, b ) AS c FROM t1 ORDER BY c DESC;
+
+CREATE TABLE t2 ( a INT, b INT, c DECIMAL(5, 4) );
+
+INSERT INTO t2 VALUES ( 0, 1, 1.2345 ), ( 1, 2, 1.2345 ),
+ ( 3, 3, 1.2345 ), ( 2, 4, 1.2345 );
+
+SELECT a, b, MAX(ROUND(c, a))
+FROM t2
+GROUP BY a, b
+ORDER BY b;
+
+SELECT a, b, ROUND(c, a)
+FROM t2;
+
+CREATE TABLE t3( a INT, b DECIMAL(6, 3) );
+INSERT INTO t3 VALUES( 0, 1.5 );
+SELECT ROUND( b, a ) FROM t3;
+
+CREATE TABLE t4( a INT, b DECIMAL( 12, 0) );
+INSERT INTO t4 VALUES( -9, 1.5e9 );
+SELECT ROUND( b, a ) FROM t4;
+
+CREATE TABLE t5( a INT, b DECIMAL( 13, 12 ) );
+INSERT INTO t5 VALUES( 0, 1.5 );
+INSERT INTO t5 VALUES( 9, 1.5e-9 );
+SELECT ROUND( b, a ) FROM t5;
+
+CREATE TABLE t6( a INT );
+INSERT INTO t6 VALUES( 6 / 8 );
+SELECT * FROM t6;
+
+SELECT ROUND(20061108085411.000002);
+
+DROP TABLE t1, t2, t3, t4, t5, t6;
+
+--echo End of 5.0 tests
diff --git a/mysql-test/t/type_float.test b/mysql-test/t/type_float.test
index a55200c8853..9aa8c00d24a 100644
--- a/mysql-test/t/type_float.test
+++ b/mysql-test/t/type_float.test
@@ -116,15 +116,10 @@ drop table if exists t1;
# Check conversion of floats to character field (Bug #7774)
create table t1 (c char(20));
insert into t1 values (5e-28);
-# Expected result is "5e-28", but windows returns "5e-028"
---replace_result 5e-028 5e-28
select * from t1;
drop table t1;
create table t1 (c char(6));
insert into t1 values (2e5),(2e6),(2e-4),(2e-5);
-# Expected result is "2e+06", but windows returns "2e+006"
-# Expected result is "2e-05", but windows returns "2e-005"
---replace_result 2e+006 2e+06 2e-005 2e-05
select * from t1;
drop table t1;
@@ -224,6 +219,22 @@ create table t1 (s1 float(0,2));
create table t1 (s1 float(1,2));
#
+# MySQL Bugs: #11589: mysqltest --ps-protocol, strange output, float/double/real with zerofill
+#
+
+CREATE TABLE t1 (
+ f1 real zerofill,
+ f2 double zerofill,
+ f3 float zerofill);
+INSERT INTO t1 VALUES ( 0.314152e+1, 0.314152e+1, 0.314152e+1);
+
+let $my_stmt= select f1, f2, f3 FROM t1;
+eval PREPARE stmt1 FROM '$my_stmt';
+select f1, f2, f3 FROM t1;
+eval $my_stmt;
+EXECUTE stmt1;
+
+DROP TABLE t1;
# Bug #28121 "INSERT or UPDATE into DOUBLE(200,0) field being truncated to 31 digits"
#
diff --git a/mysql-test/t/type_newdecimal.test b/mysql-test/t/type_newdecimal.test
index b1776d09744..4b052a3d1fb 100644
--- a/mysql-test/t/type_newdecimal.test
+++ b/mysql-test/t/type_newdecimal.test
@@ -1205,6 +1205,27 @@ SELECT 1 FROM t1 GROUP BY @b := @a, @b;
DROP TABLE t1;
+#
+# Bug #24907: unpredictable (display) precission, if input precission
+# increases
+#
+
+# As per 10.1.1. Overview of Numeric Types, type (new) DECIMAL has a
+# maxmimum precision of 30 places after the decimal point. Show that
+# temp field creation beyond that works and throws a truncation warning.
+# DECIMAL(37,36) should be adjusted to DECIMAL(31,30).
+CREATE TABLE t1 SELECT 0.123456789012345678901234567890123456 AS f1;
+DESC t1;
+SELECT f1 FROM t1;
+DROP TABLE t1;
+
+# too many decimal places, AND too many digits altogether (90 = 45+45).
+# should preserve integers (65 = 45+20)
+CREATE TABLE t1 SELECT 123451234512345123451234512345123451234512345.678906789067890678906789067890678906789067890 AS f1;
+DESC t1;
+SELECT f1 FROM t1;
+DROP TABLE t1;
+
--echo End of 5.0 tests
#
diff --git a/mysql-test/t/type_set.test b/mysql-test/t/type_set.test
index b1c816f3371..e98555e137b 100644
--- a/mysql-test/t/type_set.test
+++ b/mysql-test/t/type_set.test
@@ -56,3 +56,23 @@ set('1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17',
'50','51','52','53','54','55','56','57','58','59','60','61','62','63','64','1'));
show create table t1;
drop table t1;
+
+#
+# Bug#15409: Columns with SET datatype with 64-element sets
+# may not be updated with integers
+#
+
+let $i=64;
+let $s='$i';
+dec $i;
+while ($i) {
+ let $s='$i',$s;
+ dec $i;
+}
+--eval CREATE TABLE t1(c set($s))
+INSERT INTO t1 VALUES(7);
+INSERT INTO t1 VALUES(9223372036854775808);
+SELECT * FROM t1;
+DROP TABLE t1;
+
+--echo End of 5.0 tests
diff --git a/mysql-test/t/udf.test b/mysql-test/t/udf.test
index 2f1d197cb9e..e9ae1a31079 100644
--- a/mysql-test/t/udf.test
+++ b/mysql-test/t/udf.test
@@ -35,20 +35,20 @@ eval CREATE FUNCTION reverse_lookup
eval CREATE AGGREGATE FUNCTION avgcost
RETURNS REAL SONAME "$UDF_EXAMPLE_LIB";
---error 0
+--error ER_CANT_INITIALIZE_UDF
select myfunc_double();
select myfunc_double(1);
select myfunc_double(78654);
--error 1305
select myfunc_nonexist();
select myfunc_int();
---error 0
+--error ER_CANT_INITIALIZE_UDF
select lookup();
select lookup("127.0.0.1");
---error 0
+--error ER_CANT_INITIALIZE_UDF
select lookup(127,0,0,1);
select lookup("localhost");
---error 0
+--error ER_CANT_INITIALIZE_UDF
select reverse_lookup();
# These two functions should return "localhost", but it's
@@ -59,9 +59,9 @@ select reverse_lookup(127,0,0,1);
--enable_result_log
select reverse_lookup("localhost");
---error 0
+--error ER_CANT_INITIALIZE_UDF
select avgcost();
---error 0
+--error ER_CANT_INITIALIZE_UDF
select avgcost(100,23.76);
create table t1(sum int, price float(24));
insert into t1 values(100, 50.00), (100, 100.00);
@@ -113,11 +113,11 @@ DROP TABLE bug19904;
# Bug#21269: DEFINER-clause is allowed for UDF-functions
#
---error ER_WRONG_USAGE
+--error ER_PARSE_ERROR
CREATE DEFINER=CURRENT_USER() FUNCTION should_not_parse
RETURNS STRING SONAME "should_not_parse.so";
---error ER_WRONG_USAGE
+--error ER_PARSE_ERROR
CREATE DEFINER=someone@somewhere FUNCTION should_not_parse
RETURNS STRING SONAME "should_not_parse.so";
#
@@ -206,11 +206,12 @@ DROP FUNCTION IF EXISTS metaphon;
CREATE FUNCTION metaphon(a int) RETURNS int
return 0;
+# this currently passes, and eclipse the stored function
--replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB
---error ER_UDF_EXISTS
eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_LIB";
DROP FUNCTION metaphon;
+DROP FUNCTION metaphon;
--replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB
eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_LIB";
@@ -363,6 +364,20 @@ drop table t1;
drop function metaphon;
set GLOBAL query_cache_size=default;
+#
+# Bug#28318 CREATE FUNCTION (UDF) requires a schema
+#
+
+--disable_warnings
+DROP DATABASE IF EXISTS mysqltest;
+--enable_warnings
+CREATE DATABASE mysqltest;
+USE mysqltest;
+DROP DATABASE mysqltest;
+--replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB
+eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_LIB";
+DROP FUNCTION metaphon;
+USE test;
#
# Bug #29804 UDF parameters don't contain correct string length
@@ -400,4 +415,25 @@ DROP PROCEDURE check_const_len_sp;
DROP TRIGGER check_const_len_trigger;
DROP TABLE const_len_bug;
+
+#
+# Bug #30355: Incorrect ordering of UDF results
+#
+
+--replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB
+eval CREATE FUNCTION sequence RETURNS INTEGER SONAME "$UDF_EXAMPLE_LIB";
+CREATE TABLE t1 (a INT);
+CREATE TABLE t2 (a INT PRIMARY KEY);
+INSERT INTO t1 VALUES (4),(3),(2),(1);
+INSERT INTO t2 SELECT * FROM t1;
+
+SELECT sequence() AS seq, a FROM t1 ORDER BY seq ASC;
+SELECT sequence() AS seq, a FROM t1 ORDER BY seq DESC;
+
+SELECT * FROM t1 WHERE a = sequence();
+SELECT * FROM t2 WHERE a = sequence();
+
+DROP FUNCTION sequence;
+DROP TABLE t1,t2;
+
--echo End of 5.0 tests.
diff --git a/mysql-test/t/udf_skip_grants-master.opt b/mysql-test/t/udf_skip_grants-master.opt
new file mode 100644
index 00000000000..5699a3387b8
--- /dev/null
+++ b/mysql-test/t/udf_skip_grants-master.opt
@@ -0,0 +1 @@
+--skip-grant-tables
diff --git a/mysql-test/t/udf_skip_grants.test b/mysql-test/t/udf_skip_grants.test
new file mode 100644
index 00000000000..bd9402e0d8a
--- /dev/null
+++ b/mysql-test/t/udf_skip_grants.test
@@ -0,0 +1,28 @@
+####################### udf_skip_grants.test ###########################
+# #
+# Test for bug #32020 "loading udfs while --skip-grant-tables is #
+# enabled causes out of memory errors" #
+# #
+# Creation: #
+# 2007-12-24 akopytov Moved the test case for bug #32020 from #
+# skip_grants.test to a separate test to ensure #
+# that it is only run when the server is built #
+# with support for dynamically loaded libraries #
+# (see bug #33305). #
+# #
+########################################################################
+
+-- source include/not_embedded.inc
+-- source include/have_udf.inc
+
+#
+# Bug #32020: loading udfs while --skip-grant-tables is enabled causes out of
+# memory errors
+#
+
+--error ER_CANT_INITIALIZE_UDF
+CREATE FUNCTION a RETURNS STRING SONAME '';
+--error ER_SP_DOES_NOT_EXIST
+DROP FUNCTION a;
+
+--echo End of 5.0 tests
diff --git a/mysql-test/t/union.test b/mysql-test/t/union.test
index a57ab469ac2..70789404d6e 100644
--- a/mysql-test/t/union.test
+++ b/mysql-test/t/union.test
@@ -922,4 +922,70 @@ DROP TABLE t1;
select @var;
--error 1172
(select 2) union (select 1 into @var);
+
+#
+# Bug#27848: order-by of union clashes with rollup of select part
+#
+
+CREATE TABLE t1 (a int);
+INSERT INTO t1 VALUES (10), (20);
+CREATE TABLE t2 (b int);
+INSERT INTO t2 VALUES (10), (50), (50);
+
+SELECT a,1 FROM t1
+UNION
+SELECT b, COUNT(*) FROM t2 GROUP BY b WITH ROLLUP
+ORDER BY a;
+
+SELECT a,1 FROM t1
+UNION
+SELECT b, COUNT(*) FROM t2 GROUP BY b WITH ROLLUP
+ORDER BY a DESC;
+
+SELECT a,1 FROM t1
+UNION
+SELECT b, COUNT(*) FROM t2 GROUP BY b WITH ROLLUP
+ORDER BY a ASC LIMIT 3;
+
+SELECT a,1 FROM t1
+UNION ALL
+SELECT b, COUNT(*) FROM t2 GROUP BY b WITH ROLLUP
+ORDER BY a DESC;
+
+--error ER_WRONG_USAGE
+SELECT a,1 FROM t1
+UNION
+(SELECT b, COUNT(*) FROM t2 GROUP BY b WITH ROLLUP ORDER BY a);
+
+--error ER_WRONG_USAGE
+SELECT a,1 FROM t1
+UNION ALL
+SELECT b, COUNT(*) FROM t2 GROUP BY b WITH ROLLUP ORDER BY a
+UNION
+SELECT 1,1;
+
+DROP TABLE t1,t2;
+
+# Bug#32848: Data type conversion bug in union subselects in MySQL 5.0.38
+#
+CREATE TABLE t1 (a INT);
+INSERT INTO t1 VALUES (1), (2), (3);
+
+CREATE TABLE t2 SELECT * FROM (SELECT NULL) a UNION SELECT a FROM t1;
+DESC t2;
+
+CREATE TABLE t3 SELECT a FROM t1 UNION SELECT * FROM (SELECT NULL) a;
+DESC t3;
+
+CREATE TABLE t4 SELECT NULL;
+DESC t4;
+
+CREATE TABLE t5 SELECT NULL UNION SELECT NULL;
+DESC t5;
+
+CREATE TABLE t6
+SELECT * FROM (SELECT * FROM (SELECT NULL)a) b UNION SELECT a FROM t1;
+DESC t6;
+
+DROP TABLE t1, t2, t3, t4, t5, t6;
--echo End of 5.0 tests
diff --git a/mysql-test/t/upgrade.test b/mysql-test/t/upgrade.test
index f517c7787f8..ce40ec8ed77 100644
--- a/mysql-test/t/upgrade.test
+++ b/mysql-test/t/upgrade.test
@@ -56,3 +56,33 @@ system cp $MYSQL_TEST_DIR/std_data/old_table-323.frm $MYSQLTEST_VARDIR/master-da
truncate t1;
drop table t1;
+#
+# Bug#28360 (RENAME DATABASE destroys routines)
+#
+
+--disable_warnings
+drop database if exists `tabc`;
+drop database if exists `a-b-c`;
+--enable_warnings
+
+create database `tabc` default character set latin2;
+create table tabc.t1 (a int);
+FLUSH TABLES;
+
+# Manually make a 5.0 database from the template
+--mkdir $MYSQLTEST_VARDIR/master-data/a-b-c
+--copy_file $MYSQLTEST_VARDIR/master-data/tabc/db.opt $MYSQLTEST_VARDIR/master-data/a-b-c/db.opt
+--copy_file $MYSQLTEST_VARDIR/master-data/tabc/t1.frm $MYSQLTEST_VARDIR/master-data/a-b-c/t1.frm
+--copy_file $MYSQLTEST_VARDIR/master-data/tabc/t1.MYD $MYSQLTEST_VARDIR/master-data/a-b-c/t1.MYD
+--copy_file $MYSQLTEST_VARDIR/master-data/tabc/t1.MYI $MYSQLTEST_VARDIR/master-data/a-b-c/t1.MYI
+
+show databases like '%a-b-c%';
+ALTER DATABASE `#mysql50#a-b-c` UPGRADE DATA DIRECTORY NAME;
+# The physical directory name is now a@002db@002dc, the logical name still a-b-c
+show databases like '%a-b-c%';
+show create database `a-b-c`;
+show tables in `a-b-c`;
+show create table `a-b-c`.`t1`;
+drop database `a-b-c`;
+drop database `tabc`;
+
diff --git a/mysql-test/t/user_var.test b/mysql-test/t/user_var.test
index 3a3e8f88f83..f2699ab03d3 100644
--- a/mysql-test/t/user_var.test
+++ b/mysql-test/t/user_var.test
@@ -237,3 +237,30 @@ select @a:=f2, count(f2) from t1 group by 1 desc;
select @a:=f3, count(f3) from t1 group by 1 desc;
select @a:=f4, count(f4) from t1 group by 1 desc;
drop table t1;
+
+#
+# Bug#32482: Crash for a query with ORDER BY a user variable.
+#
+create table t1 (f1 int);
+insert into t1 values (2), (1);
+select @i := f1 as j from t1 order by 1;
+drop table t1;
+# Bug #32260: User variables in query cause server crash
+#
+create table t1(a int);
+insert into t1 values(5),(4),(4),(3),(2),(2),(2),(1);
+set @rownum := 0;
+set @rank := 0;
+set @prev_score := NULL;
+# Disable the result log as we assign a value to a user variable in one part
+# of a statement and use the same variable in other part of the same statement,
+# so we can get unexpected results.
+--disable_result_log
+select @rownum := @rownum + 1 as row,
+ @rank := IF(@prev_score!=a, @rownum, @rank) as rank,
+ @prev_score := a as score
+from t1 order by score desc;
+--enable_result_log
+drop table t1;
+
+--echo End of 5.1 tests
diff --git a/mysql-test/t/variables+c.test b/mysql-test/t/variables+c.test
new file mode 100644
index 00000000000..0092d34133d
--- /dev/null
+++ b/mysql-test/t/variables+c.test
@@ -0,0 +1,11 @@
+--source include/have_community_features.inc
+
+#
+# Bug#24822: Patch: uptime_since_flush_status
+#
+--replace_column 2 #
+show global status like "Uptime_%";
+flush status;
+--replace_column 2 #
+show global status like "Uptime_%"; # Almost certainly zero
+
diff --git a/mysql-test/t/variables-notembedded-master.opt b/mysql-test/t/variables-notembedded-master.opt
new file mode 100644
index 00000000000..a684e591d10
--- /dev/null
+++ b/mysql-test/t/variables-notembedded-master.opt
@@ -0,0 +1 @@
+--loose-slave-skip-errors=3,100,137,643,1752
diff --git a/mysql-test/t/variables-notembedded.test b/mysql-test/t/variables-notembedded.test
new file mode 100644
index 00000000000..79011a89b36
--- /dev/null
+++ b/mysql-test/t/variables-notembedded.test
@@ -0,0 +1,30 @@
+# Tests that variables work correctly (setting and showing). This
+# test is like the main.variables test, but for variables not
+# available in embedded mode.
+
+source include/not_embedded.inc;
+
+--echo ---- Init ----
+# Backup global variables so they can be restored at end of test.
+set @my_slave_net_timeout =@@global.slave_net_timeout;
+
+--echo ---- Test ----
+set global slave_net_timeout=100;
+set global sql_slave_skip_counter=100;
+
+# End of 4.1 tests
+
+# BUG #7800: Add various-slave related variables to SHOW VARIABLES
+show variables like 'slave_compressed_protocol';
+--replace_column 2 SLAVE_LOAD_TMPDIR
+show variables like 'slave_load_tmpdir';
+# We just set some arbitrary values in variables-master.opt so we can test
+# that a list of values works correctly
+show variables like 'slave_skip_errors';
+
+--echo ---- Clean Up ----
+
+set global slave_net_timeout=default;
+# sql_slave_skip_counter is write-only, so we can't save previous
+# value and restore it here. That's ok, because it's normally 0.
+set global sql_slave_skip_counter= 0;
diff --git a/mysql-test/t/variables.test b/mysql-test/t/variables.test
index efa2ce4a27c..51f8d6db1db 100644
--- a/mysql-test/t/variables.test
+++ b/mysql-test/t/variables.test
@@ -141,10 +141,10 @@ set GLOBAL myisam_max_sort_file_size=2000000;
show global variables like 'myisam_max_sort_file_size';
select * from information_schema.global_variables where variable_name like 'myisam_max_sort_file_size';
set GLOBAL myisam_max_sort_file_size=default;
---replace_result 2147483647 FILE_SIZE 9223372036854775807 FILE_SIZE
-show variables like 'myisam_max_sort_file_size';
---replace_result 2147483647 FILE_SIZE 9223372036854775807 FILE_SIZE
-select * from information_schema.session_variables where variable_name like 'myisam_max_sort_file_size';
+--replace_result 9223372036853727232 FILE_SIZE 2146435072 FILE_SIZE
+show global variables like 'myisam_max_sort_file_size';
+--replace_result 9223372036853727232 FILE_SIZE 2146435072 FILE_SIZE
+select * from information_schema.global_variables where variable_name like 'myisam_max_sort_file_size';
set global net_retry_count=10, session net_retry_count=10;
set global net_buffer_length=1024, net_write_timeout=200, net_read_timeout=300;
@@ -161,6 +161,7 @@ select * from information_schema.session_variables where variable_name like 'net
set net_buffer_length=1;
show variables like 'net_buffer_length';
select * from information_schema.session_variables where variable_name like 'net_buffer_length';
+#warning 1292
set net_buffer_length=2000000000;
show variables like 'net_buffer_length';
select * from information_schema.session_variables where variable_name like 'net_buffer_length';
@@ -268,7 +269,10 @@ set interactive_timeout=100;
set join_buffer_size=100;
set last_insert_id=1;
set global local_infile=1;
-set long_query_time=100;
+set long_query_time=0.000001;
+select @@long_query_time;
+set long_query_time=100.000001;
+select @@long_query_time;
set low_priority_updates=1;
set max_allowed_packet=100;
set global max_binlog_cache_size=100;
@@ -327,6 +331,7 @@ set tmp_table_size=100;
set tx_isolation="READ-COMMITTED";
set wait_timeout=100;
set log_warnings=1;
+set global log_warnings=1;
#
# Bugs: #20392: INSERT_ID session variable has weird value
@@ -570,7 +575,14 @@ set @test = @@query_prealloc_size;
set @@query_prealloc_size = @test;
select @@query_prealloc_size = @test;
-# End of 4.1 tests
+#
+# Bug#31588 buffer overrun when setting variables
+#
+# Buffer-size Off By One. Should throw valgrind-warning without fix #31588.
+--error 1231
+set global sql_mode=repeat('a',80);
+
+--echo End of 4.1 tests
#
# Bug#6282 Packet error with SELECT INTO
diff --git a/mysql-test/t/variables_debug.test b/mysql-test/t/variables_debug.test
new file mode 100644
index 00000000000..7dcaf246803
--- /dev/null
+++ b/mysql-test/t/variables_debug.test
@@ -0,0 +1,12 @@
+--source include/have_debug.inc
+
+#
+# Bug#34678 @@debug variable's incremental mode
+#
+
+set debug= 'T';
+select @@debug;
+set debug= '+P';
+select @@debug;
+set debug= '-P';
+select @@debug;
diff --git a/mysql-test/t/view.test b/mysql-test/t/view.test
index 67354c14cff..43f7d4a6f68 100644
--- a/mysql-test/t/view.test
+++ b/mysql-test/t/view.test
@@ -510,7 +510,7 @@ drop table t1;
#
create table t1 (a int, b int);
create view v1 as select a, sum(b) from t1 group by a;
--- error 1176
+--error ER_WRONG_USAGE
select b from v1 use index (some_index) where b=1;
drop view v1;
drop table t1;
@@ -2549,21 +2549,20 @@ CREATE TABLE t1(
fName varchar(25) NOT NULL,
lName varchar(25) NOT NULL,
DOB date NOT NULL,
+ test_date date NOT NULL,
uID int unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY);
-INSERT INTO t1(fName, lName, DOB) VALUES
- ('Hank', 'Hill', '1964-09-29'),
- ('Tom', 'Adams', '1908-02-14'),
- ('Homer', 'Simpson', '1968-03-05');
+INSERT INTO t1(fName, lName, DOB, test_date) VALUES
+ ('Hank', 'Hill', '1964-09-29', '2007-01-01'),
+ ('Tom', 'Adams', '1908-02-14', '2007-01-01'),
+ ('Homer', 'Simpson', '1968-03-05', '2007-01-01');
CREATE VIEW v1 AS
- SELECT (year(now())-year(DOB)) AS Age
+ SELECT (year(test_date)-year(DOB)) AS Age
FROM t1 HAVING Age < 75;
SHOW CREATE VIEW v1;
-set timestamp=1136066400;
-SELECT (year(now())-year(DOB)) AS Age FROM t1 HAVING Age < 75;
-set timestamp=1136066400;
+SELECT (year(test_date)-year(DOB)) AS Age FROM t1 HAVING Age < 75;
SELECT * FROM v1;
DROP VIEW v1;
@@ -3385,7 +3384,6 @@ SELECT profile.person_id AS person_id
INSERT INTO t1 VALUES
(6,'Sw','A'), (-1136332546,'ols','e'), (0,' *\n','0'),
(-717462680,'ENTS Ta','0'), (-904346964,'ndard SQL\n','0');
-
INSERT INTO t2 VALUES
(1,3,6),(2,4,7),(3,5,8),(4,6,9),(5,1,6),(6,1,7),(7,1,8),(8,1,9),(9,1,10);
@@ -3415,7 +3413,129 @@ select table_name, is_updatable from information_schema.views
drop view v1;
drop table t1;
---echo End of 5.0 tests.
+#
+# Bug #28701: SELECTs from VIEWs completely ignore USE/FORCE KEY, allowing
+# invalid statements
+#
+
+CREATE TABLE t1 (a INT);
+INSERT INTO t1 VALUES (1),(2);
+CREATE VIEW v1 AS SELECT * FROM t1;
+--error ER_WRONG_USAGE
+SELECT * FROM v1 USE KEY(non_existant);
+--error ER_WRONG_USAGE
+SELECT * FROM v1 FORCE KEY(non_existant);
+--error ER_WRONG_USAGE
+SELECT * FROM v1 IGNORE KEY(non_existant);
+
+DROP VIEW v1;
+DROP TABLE t1;
+
+#
+# Bug #28702: VIEWs defined with USE/FORCE KEY ignore that request
+#
+CREATE TABLE t1 (a INT NOT NULL AUTO_INCREMENT, b INT NOT NULL DEFAULT 0,
+ PRIMARY KEY(a), KEY (b));
+INSERT INTO t1 VALUES (),(),(),(),(),(),(),(),(),(),(),(),(),(),();
+CREATE VIEW v1 AS SELECT * FROM t1 FORCE KEY (PRIMARY,b) ORDER BY a;
+SHOW CREATE VIEW v1;
+EXPLAIN SELECT * FROM v1;
+CREATE VIEW v2 AS SELECT * FROM t1 USE KEY () ORDER BY a;
+SHOW CREATE VIEW v2;
+EXPLAIN SELECT * FROM v2;
+CREATE VIEW v3 AS SELECT * FROM t1 IGNORE KEY (b) ORDER BY a;
+SHOW CREATE VIEW v3;
+EXPLAIN SELECT * FROM v3;
+
+DROP VIEW v1;
+DROP VIEW v2;
+DROP VIEW v3;
+DROP TABLE t1;
+
+--echo #
+--echo # Bug#29477: Not all fields of the target table were checked to have
+--echo # a default value when inserting into a view.
+--echo #
+create table t1(f1 int, f2 int not null);
+create view v1 as select f1 from t1;
+insert into v1 values(1);
+set @old_mode=@@sql_mode;
+set @@sql_mode=traditional;
+--error ER_NO_DEFAULT_FOR_VIEW_FIELD
+insert into v1 values(1);
+set @@sql_mode=@old_mode;
+drop view v1;
+drop table t1;
+
+#
+# Bug #33389: Selecting from a view into a table from within SP or trigger
+# crashes server
+#
+
+create table t1 (a int, key(a));
+create table t2 (c int);
+
+create view v1 as select a b from t1;
+create view v2 as select 1 a from t2, v1 where c in
+ (select 1 from t1 where b = a);
+
+insert into t1 values (1), (1);
+insert into t2 values (1), (1);
+
+prepare stmt from "select * from v2 where a = 1";
+execute stmt;
+
+drop view v1, v2;
+drop table t1, t2;
+
+#
+# Bug #33049: Assert while running test-as3ap test(mysql-bench suite)
+#
+
+CREATE TABLE t1 (a INT);
+CREATE VIEW v1 AS SELECT p.a AS a FROM t1 p, t1 q;
+
+INSERT INTO t1 VALUES (1), (1);
+SELECT MAX(a), COUNT(DISTINCT a) FROM v1 GROUP BY a;
+
+DROP VIEW v1;
+DROP TABLE t1;
+
+###########################################################################
+
+--echo # -----------------------------------------------------------------
+--echo # -- Bug#34337: Server crash when Altering a view using a table name.
+--echo # -----------------------------------------------------------------
+--echo
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+
+--echo
+
+CREATE TABLE t1(c1 INT);
+
+--echo
+
+SELECT * FROM t1;
+
+--error ER_WRONG_OBJECT
+ALTER ALGORITHM=TEMPTABLE SQL SECURITY INVOKER VIEW t1 (c2) AS SELECT (1);
+
+--echo
+
+DROP TABLE t1;
+
+--echo
+--echo # -- End of test case for Bug#34337.
+--echo
+
+###########################################################################
+
+--echo # -----------------------------------------------------------------
+--echo # -- End of 5.0 tests.
+--echo # -----------------------------------------------------------------
#
# Bug#21370 View renaming lacks tablename_to_filename encoding
@@ -3436,4 +3556,139 @@ DROP VIEW `v-2`;
DROP DATABASE `d-1`;
USE test;
---echo End of 5.1 tests.
+--echo
+--echo #
+--echo # Bug#26676: VIEW using old table schema in a session.
+--echo #
+--echo
+
+--disable_warnings
+DROP VIEW IF EXISTS v1;
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+
+CREATE TABLE t1(c1 INT, c2 INT);
+INSERT INTO t1 VALUES (1, 2), (3, 4);
+
+--echo
+
+SELECT * FROM t1;
+
+--echo
+
+CREATE VIEW v1 AS SELECT * FROM t1;
+
+--echo
+
+SELECT * FROM v1;
+
+--echo
+
+ALTER TABLE t1 ADD COLUMN c3 INT AFTER c2;
+
+--echo
+
+SELECT * FROM t1;
+
+--echo
+
+SELECT * FROM v1;
+
+--echo
+
+SHOW CREATE VIEW v1;
+
+--echo
+
+DROP VIEW v1;
+DROP TABLE t1;
+
+--echo
+--echo # End of test case for Bug#26676.
+--echo
+
+###########################################################################
+
+--echo # -----------------------------------------------------------------
+--echo # -- Bug#32538: View definition picks up character set, but not collation
+--echo # -----------------------------------------------------------------
+--echo
+
+--disable_warnings
+DROP VIEW IF EXISTS v1;
+--enable_warnings
+
+--echo
+
+SET collation_connection = latin1_general_ci;
+CREATE VIEW v1 AS SELECT _latin1 'text1' AS c1, 'text2' AS c2;
+
+--echo
+
+SELECT COLLATION(c1), COLLATION(c2) FROM v1;
+
+--echo
+
+SHOW CREATE VIEW v1;
+
+--echo
+
+--error ER_CANT_AGGREGATE_2COLLATIONS
+SELECT * FROM v1 WHERE c1 = 'text1';
+
+--echo
+
+SELECT * FROM v1 WHERE c2 = 'text2';
+
+--echo
+
+use test;
+SET names latin1;
+
+--echo
+
+SELECT COLLATION(c1), COLLATION(c2) FROM v1;
+
+--echo
+
+SELECT * FROM v1 WHERE c1 = 'text1';
+
+--echo
+
+--error ER_CANT_AGGREGATE_2COLLATIONS
+SELECT * FROM v1 WHERE c2 = 'text2';
+
+--echo
+
+DROP VIEW v1;
+
+--echo
+--echo # -- End of test case for Bug#32538.
+--echo
+
+#
+# Bug#34587 Creating a view inside a stored procedure leads to a server crash
+#
+
+--disable_warnings
+drop view if exists a;
+drop procedure if exists p;
+--enable_warnings
+
+delimiter |;
+create procedure p()
+begin
+ declare continue handler for sqlexception begin end;
+ create view a as select 1;
+end|
+delimiter ;|
+call p();
+call p();
+drop view a;
+drop procedure p;
+
+###########################################################################
+
+--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 b3bfd1cf544..cbc66300173 100644
--- a/mysql-test/t/view_grant.test
+++ b/mysql-test/t/view_grant.test
@@ -614,6 +614,7 @@ drop database mysqltest;
#
--disable_warnings
drop view if exists v1;
+drop table if exists t1;
--enable_warnings
# Backup anonymous users and remove them. (They get in the way of
@@ -1040,10 +1041,11 @@ GRANT SELECT ON db26813.t1 TO u26813@localhost;
connect (u1,localhost,u26813,,db26813);
connection u1;
---error 1142
+--error ER_SPECIFIC_ACCESS_DENIED_ERROR
ALTER VIEW v1 AS SELECT f2 FROM t1;
---error 1142
+--error ER_SPECIFIC_ACCESS_DENIED_ERROR
ALTER VIEW v2 AS SELECT f2 FROM t1;
+--error ER_SPECIFIC_ACCESS_DENIED_ERROR
ALTER VIEW v3 AS SELECT f2 FROM t1;
connection root;
@@ -1053,6 +1055,51 @@ DROP USER u26813@localhost;
DROP DATABASE db26813;
disconnect u1;
+--echo #
+--echo # Bug#29908: A user can gain additional access through the ALTER VIEW.
+--echo #
+connection root;
+CREATE DATABASE mysqltest_29908;
+USE mysqltest_29908;
+CREATE TABLE t1(f1 INT, f2 INT);
+CREATE USER u29908_1@localhost;
+CREATE DEFINER = u29908_1@localhost VIEW v1 AS SELECT f1 FROM t1;
+CREATE DEFINER = u29908_1@localhost SQL SECURITY INVOKER VIEW v2 AS
+ SELECT f1 FROM t1;
+GRANT DROP, CREATE VIEW, SHOW VIEW ON mysqltest_29908.v1 TO u29908_1@localhost;
+GRANT DROP, CREATE VIEW, SHOW VIEW ON mysqltest_29908.v2 TO u29908_1@localhost;
+GRANT SELECT ON mysqltest_29908.t1 TO u29908_1@localhost;
+CREATE USER u29908_2@localhost;
+GRANT DROP, CREATE VIEW ON mysqltest_29908.v1 TO u29908_2@localhost;
+GRANT DROP, CREATE VIEW, SHOW VIEW ON mysqltest_29908.v2 TO u29908_2@localhost;
+GRANT SELECT ON mysqltest_29908.t1 TO u29908_2@localhost;
+
+connect (u2,localhost,u29908_2,,mysqltest_29908);
+--error ER_SPECIFIC_ACCESS_DENIED_ERROR
+ALTER VIEW v1 AS SELECT f2 FROM t1;
+--error ER_SPECIFIC_ACCESS_DENIED_ERROR
+ALTER VIEW v2 AS SELECT f2 FROM t1;
+SHOW CREATE VIEW v2;
+
+connect (u1,localhost,u29908_1,,mysqltest_29908);
+ALTER VIEW v1 AS SELECT f2 FROM t1;
+SHOW CREATE VIEW v1;
+ALTER VIEW v2 AS SELECT f2 FROM t1;
+SHOW CREATE VIEW v2;
+
+connection root;
+ALTER VIEW v1 AS SELECT f1 FROM t1;
+SHOW CREATE VIEW v1;
+ALTER VIEW v2 AS SELECT f1 FROM t1;
+SHOW CREATE VIEW v2;
+
+DROP USER u29908_1@localhost;
+DROP USER u29908_2@localhost;
+DROP DATABASE mysqltest_29908;
+disconnect u1;
+disconnect u2;
+--echo #######################################################################
+
#
# BUG#24040: Create View don't succed with "all privileges" on a database.
#
diff --git a/mysql-test/t/warnings.test b/mysql-test/t/warnings.test
index b5bae109f5f..9e7e3e4f945 100644
--- a/mysql-test/t/warnings.test
+++ b/mysql-test/t/warnings.test
@@ -65,6 +65,7 @@ create table t1(a tinyint NOT NULL, b tinyint unsigned, c char(5));
insert into t1 values(NULL,100,'mysql'),(10,-1,'mysql ab'),(500,256,'open source'),(20,NULL,'test');
alter table t1 modify c char(4);
alter table t1 add d char(2);
+--error 1048
update t1 set a=NULL where a=10;
update t1 set c='mysql ab' where c='test';
update t1 set d=c;
@@ -192,4 +193,37 @@ DROP PROCEDURE sp1;
DROP PROCEDURE sp2;
DROP PROCEDURE sp3;
+
+#
+# Bug#30059: End-space truncation warnings are inconsistent or incorrect
+#
+
+create table t1 (c_char char(255), c_varchar varchar(255), c_tinytext tinytext);
+create table t2 (c_tinyblob tinyblob); # not affected by bug, for regression testing
+set @c = repeat(' ', 256);
+set @q = repeat('q', 256);
+
+set sql_mode = '';
+
+insert into t1 values(@c, @c, @c);
+insert into t2 values(@c);
+insert into t1 values(@q, @q, @q);
+insert into t2 values(@q);
+
+set sql_mode = 'traditional';
+
+insert into t1 values(@c, @c, @c);
+--error 1406
+insert into t2 values(@c);
+--error 1406
+insert into t1 values(@q, NULL, NULL);
+--error 1406
+insert into t1 values(NULL, @q, NULL);
+--error 1406
+insert into t1 values(NULL, NULL, @q);
+--error 1406
+insert into t2 values(@q);
+
+drop table t1, t2;
+
--echo End of 5.0 tests
diff --git a/mysql-test/t/windows.test b/mysql-test/t/windows.test
index 0be81a95b9a..92ca0c3a3ec 100644
--- a/mysql-test/t/windows.test
+++ b/mysql-test/t/windows.test
@@ -36,6 +36,9 @@ EXPLAIN SELECT * FROM t1 WHERE b = (SELECT max(2));
--echo End of 5.0 tests.
+--disable_warnings
+drop procedure if exists proc_1;
+--enable_warnings
#
# Bug #20665: All commands supported in Stored Procedures should work in
# Prepared Statements
diff --git a/mysql-test/t/windows_shm.test b/mysql-test/t/windows_shm.test
deleted file mode 100644
index 1c6f05f2da0..00000000000
--- a/mysql-test/t/windows_shm.test
+++ /dev/null
@@ -1,9 +0,0 @@
-# Windows-specific tests
---source include/windows.inc
-
-#
-# Bug #24924: shared-memory-base-name that is too long causes buffer overflow
-#
---exec $MYSQLADMIN --no-defaults --user=root --host=127.0.0.1 --port=$MASTER_MYPORT --shared-memory-base-name=HeyMrBaseNameXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ping
-
---echo End of 5.0 tests.
diff --git a/mysql-test/t/xml.test b/mysql-test/t/xml.test
index 1d16652ab1e..5ca9c7afd76 100644
--- a/mysql-test/t/xml.test
+++ b/mysql-test/t/xml.test
@@ -533,3 +533,22 @@ select UpdateXML('<a>a</a>',repeat('a b ',1000),'');
select ExtractValue('<a>a</a>', '/a[@x=@y0123456789_0123456789_0123456789_0123456789]');
--error 1105
select ExtractValue('<a>a</a>', '/a[@x=$y0123456789_0123456789_0123456789_0123456789]');
+
+#
+# Bug #31438: updatexml still crashes
+#
+
+select updatexml(NULL, 1, 1), updatexml(1, NULL, 1), updatexml(1, 1, NULL);
+select updatexml(NULL, NULL, 1), updatexml(1, NULL, NULL),
+ updatexml(NULL, 1, NULL);
+select updatexml(NULL, NULL, NULL);
+
+#
+# Bug #32557: order by updatexml causes assertion in filesort
+#
+CREATE TABLE t1(a INT NOT NULL);
+INSERT INTO t1 VALUES (0), (0);
+SELECT 1 FROM t1 ORDER BY(UPDATEXML(a, '1', '1'));
+DROP TABLE t1;
+
+--echo End of 5.1 tests
diff --git a/mysql-test/valgrind.supp b/mysql-test/valgrind.supp
index a4fb488a3d6..cb1b07c83b0 100644
--- a/mysql-test/valgrind.supp
+++ b/mysql-test/valgrind.supp
@@ -495,3 +495,16 @@
fun:_db_enter_
fun:kill_server
}
+
+#
+# Warning caused by small memory leak in threaded dlopen
+#
+
+{
+ dlopen threaded memory leak
+ Memcheck:Leak
+ fun:calloc
+ obj:*/libdl-*.so
+ fun:dlopen*
+}
+